説明

画像処理装置及び画像処理方法

【課題】予測処理を伴う画像圧縮処理を高速化することができる画像処理装置を提供する。
【解決手段】画像処理装置は、原画像データを補正してメモリに取り込むプリプロセス部1と色変換を行うカラー処理部2と圧縮処理を行うJPEG処理部3とを備える。所定の圧縮画像データを得るために、前記各処理部1、2、3は、原画像データに対しプリプロセス処理、カラー処理、第1の圧縮処理、第2の圧縮処理という一連の処理を順次行う。本実施の形態は、プリプロセス処理部が、オートホワイトバランス(AWB)評価値10の算出を行うために副次的に生成する簡易的なY,Cb,Cr画像データ15を用いて、第1の圧縮処理を行うことにより、第1の圧縮処理とカラー処理とを並列化させ、カラー処理後に第2の圧縮処理を行い、全体の画像処理を高速化するものである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関し、特に画像圧縮を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【0002】
デジタルスチルカメラなどの撮像機器は、搭載されたメモリ容量の範囲内に撮影した画像を所定枚数保存するため、画像圧縮処理により画像のデータ量を縮小する。一方で、この画像圧縮処理により圧縮された画像のデータ量(以下、符号量という。)にばらつきが生じると、上記撮像機器は、撮像した画像データを仕様で定められた規定枚数メモリに保存することができない。そのため、圧縮後の符号量は一定値に収まる必要がある。
【0003】
デジタルスチルカメラは、この画像圧縮処理を行うために、通常は画像圧縮率の高いJPEG変換方式を採用している。しかし、このJPEG変換方式は、可変長の符号化方式であるため、符号量が一定値に収まらない。そこで、この符号量が一定値に収まるように、デジタルスチルカメラにおいて、同じ画像データに対してJPEG変換を2回行う2パス処理が一般的に行われる。
【0004】
特許文献1に、JPEG変換方式と2パス処理の内容が開示されている。
【0005】
図13は、JPEG処理部3のブロック図である。図13に示すように、JPEG処理部3は、DCT部101と、量子化部102と、符号化部103と、量子化テーブル記憶部104とにより構成されている。画像データ108は、2次元空間領域の色データからなるJPEG変換前の画像データである。一方、符号データ109は、JPEG処理部3により画像データ108がJPEG変換された後の画像データである。DCT部101は、2次元空間領域の色データ108を周波数領域の色データであるDCTデータへ変換する。量子化テーブル記憶部104は、量子化テーブルとよばれるパラメータを記憶している。そして、量子化部102は、量子化テーブルを利用してDCTデータを量子化する。この量子化によりDCTデータ量は削減され、量子化データとなる。さらに、符号化部103は、ハフマン符号化方式により量子化データを符号化して、符号データ109を生成する。また、符号量予測部105は、量子化テーブルの値を書き換えるためのマクロ回路である。量子化部102で使用される量子化テーブルの値によってJPEG変換された後の符号データ109の符号量は異なる。また、以降、所望とする符号量を目標符号量と称する。
【0006】
以下、2パス処理について簡単に説明する。はじめに、JPEG処理部3は、規定の量子化テーブルを用いて、画像データ108に対して第1のJPEG変換を行う。これより画像データ108は符号データ109に変換される。符号量予測部105は、得られた符号データ109の符号量と目標符号量を比較し、JPEG変換後の符号量が目標符号量に収まるように量子化テーブルの値を修正する。次に、JPEG処理部3は、前述の修正された量子化テーブルを用いて、画像データ108に対し第2のJPEG変換を行う。これより、画像データ108は再び符号データ109に変換される。ここで得られた符号データ109は、前述の修正された量子化テーブルを用いて画像データ108をJPEG変換したデータであるため、その符号量を目標符号量に収めることができる。以上のように、第1のJPEG変換は、符号量を予測するために行われ、第2のJPEG変換は、修正後の量子化テーブルを用いた実際の符号化のために行われる。
【0007】
図14は、従来技術における画像処理装置100のブロック図である。図14の各構成要素の機能等を、簡単に説明する。撮像装置20は、レンズやCCD等の撮像素子で構成され、被写体像を画像データとして取り込む。前処理部19は、入力画像データに対しA/D変換処理等の基本的な処理を行う。画像処理装置100内のプリプロセス部1は、入力画像データ21に対し所定の補正等を行い、メモリ5へ補正された画像データを取り込む。カラー処理部2は、プリプロセス部1がメモリ5に取り込んだ画像データに対して色補正、色変換等を行う。JPEG処理部3は、カラー処理部2により処理された画像データに対して前述の2パス処理を行う。それら各処理部1、2、3は、CPUバス8を介して接続され、CPU4によりそれぞれの処理のタイミングなどを制御される。また、各処理部1、2、3は、メモリコントローラ6とDMAバス7を介して接続され、CPU4の制御によらず直接、メモリ5に対して画像データの読み書きを行う。そして、メモリコントローラ6は、メモリ5に対し読み書き等の制御を行う。
【0008】
次に、画像処理の動作を図14及び、図15に示すフローチャートを用いて説明する。
【0009】
まず、撮像装置20より取り込まれた原画像データは、前処理部19においてゲイン処理、A/D変換処理等が行われ、RGrGbB画像データ21としてプリプロセス部1に取り込まれる。
【0010】
(ステップS11)
プリプロセス部1は、取り込まれたRGrGbB画像データ21に対しキズ補正、ノイズ補正等の処理を行う。この処理されたRGrGbB画像データ9は、DMAバス7を介してメモリ5に書き込まれる。
【0011】
(ステップS12)
カラー処理部2は、メモリ5から前述のプリプロセス部1の処理により書き込まれたRGrGbB画像データ9をRGrGbB画像データ11として読み込む。そして、カラー処理部2は、読み込まれたRGrGbB画像データ11に対し色補正等の処理を行った後、色変換を行いYCbCr画像データ12を生成する。この生成したYCbCr画像データ12は、DMAバス7を介してメモリ5に書き込まれる。
【0012】
(ステップS13)
JPEG処理部3は、前述のカラー変換部2の処理により書き込まれたYCbCr画像データ12をメモリ5からYCbCr画像データ13として読み込む。そして、JPEG処理部3は、読み込まれたYCbCr画像データ13に対して規定の量子化テーブルを用いて第1のJPEG変換を行い、得られた符号データから符号量を算出する。
【0013】
(ステップS16)
CPU4は、前述のステップS13で得られた符号量をもとに、必要に応じてJPEG変換後の符号量が目標符号量に収まるように予測を行い、量子化テーブルを修正する。
(ステップS13)
JPEG処理部3は、前述のカラー処理部2の処理により書き込まれたYCbCr画像データ12をメモリ5からYCbCr画像データ13として読み込む。JPEG処理部3は、読み込まれたYCbCr画像データ13に対して前述のステップS16で修正された量子化テーブルを用いて第2のJPEG変換を行い、目標符号量に収まる符号データ14を生成する。生成した符号データ14は、DMAバス7を介してメモリ5に書き込まれる。
【0014】
(ステップS15)
メモリ5に書き込まれた符号データ14は、適宜、外部メモリに保存される。
【0015】
図16は、従来技術における画像処理装置の連続撮像時の動作タイミング図である。図中でF1、F2、F3・・・は、取り込まれた画像フレームのシリアル番号を表す。また、図中「予測」は、第1のJPEG変換による符号量の予測を表し、「符号記録」は、第2のJPEG変換による符号化を表す。
【0016】
1サイクル目C1で、プリプロセス処理部1は、画像フレームF1に対し、所定のプリプロセス処理を行い、RGrGbB画像データとしてメモリに取り込む。
【0017】
2サイクル目C2で、カラー処理部2は、1サイクル目C1で得られたRGrGbB画像データに対してカラー処理を行いYCbCr画像データを生成する。
【0018】
3サイクル目C3で、JPEG処理部3は、2サイクル目C2で得られたYCbCr画像データを用いて第1のJPEG変換による符号量予測を行う。そして、予測された符号量に基づいて、CPUは量子化テーブルを修正する。
【0019】
4サイクル目C4で、JPEG処理部3は、2サイクル目C2で得られたYCbCr画像データに対して、修正された量子化テーブルを用いて第2のJPEG変換による符合記録を行う。
【0020】
上記のとおり、画像フレームF1に対してJPEG処理部3が行う符号量予測と符号記録は、2サイクル目C2でカラー処理部2が生成した画像フレームF1のYCbCr画像データについて行う。また、メモリ5では、この画像フレームF1のYCbCr画像データが、後続する画像フレームF2のカラー処理後に書き換えられる。そのため、3サイクル目C3で、画像フレームF1の予測と後続する画像フレームF2のプリプロセス処理とを並行処理させることは可能だが、4サイクル目C4の画像フレームF1の符号記録と画像フレームF2のカラー処理とを並列処理させることはできない。そのため、画像フレームF1の符号記録が終わるまで、画像フレームF2のカラー処理は待ち状態となり、4サイクル目C4で画像フレームF1の符号記録が終わった後、5サイクル目C5で画像フレームF2のカラー処理が行われる。
【0021】
以降、各画像フレームF3、F4・・・は、同様にパイプライン処理され、順次符号記録される。
【0022】
図16に示されるとおり、1枚の画像フレームの符号記録にかかる時間は、4サイクルであり、後続する画像フレームの符号記録にかかる時間は、3サイクルである。
【0023】
特許文献2において、JPEG処理部を2つ配設し、2つのJPEG処理部で並行して処理を行うことで、画像処理を高速化させる発明が開示されている。
【特許文献1】特開平10-341435号公報
【特許文献2】特開2006-340045号公報
【発明の開示】
【発明が解決しようとする課題】
【0024】
しかしながら、従来技術における画像処理装置は、1枚の画像フレームを符号記録するために、プリプロセス処理とカラー処理と第1のJPEG変換と第2のJPEG変換とからなる一連の処理をシリアルに行う必要があり、1つの画像フレームを処理するために長い時間を要する。
【0025】
そこで本発明の目的は、予測処理を伴う画像圧縮処理を高速化することができる画像処理装置を提供することにある。
【課題を解決するための手段】
【0026】
1つの態様によれば、画像センサから出力される第1の画像データを圧縮する画像処理装置において、前記第1の画像データに所定のプリプロセス処理を行い第1の色空間の第2の画像データを生成するプリプロセス処理ユニットと、前記第2の画像データの色空間を変換して第2の色空間の第3の画像データを生成するカラー処理ユニットと、所定の画像データを圧縮用パラメータに基づいて圧縮する画像圧縮ユニットとを有し、前記プリプロセス処理ユニットは、前記第1の画像データの色空間を前記第2の色空間に変換して第4の画像データを生成する色変換部を有し、前記プリプロセス処理ユニットが、前記第1の画像データに前記プリプロセス処理を行って前記第2の画像データを生成するとともに、前記色変換部により前記第4の画像データを生成した後に、前記カラー処理ユニットが前記第2の画像データから前記第3の画像データを生成するときに、並行して、前記画像圧縮ユニットが前記第4の画像データを第1の圧縮用パラメータに基づいて圧縮して当該圧縮画像データの符号量を求める第1の圧縮処理を行い、さらにその後、前記画像圧縮ユニットが前記第3の画像データを前記符号量に応じて修正された第2の圧縮用パラメータに基づいて圧縮して第5の画像データを生成する第2の圧縮処理を行う。
【発明の効果】
【0027】
上記の発明によれば、予測を伴う画像処理の高速化を実現することができる。
【発明を実施するための最良の形態】
【0028】
以下,図面にしたがって本発明の実施の形態について説明する。但し,本発明の技術的範囲はこれらの実施の形態に限定されず,特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【0029】
本実施の形態に係る画像処理装置は、原画像データを補正してメモリに取り込むプリプロセス部と色変換を行うカラー処理部と圧縮処理を行うJPEG処理部とを備える。原画像データに対し所定の圧縮を行うために、プリプロセス処理、カラー処理、第1のJPEG変換、第2のJPEG変換という一連の処理を順次行う。本実施の形態は、プリプロセス処理部が、オートホワイトバランス(AWB)評価値の算出を行うためにプリプロセス処理により副次的に得られるYCbCr画像データを用いて、第1のJPEG変換を行うことで、第1のJPEG変換処理とカラー処理とを並列化させ、全体の画像処理を高速化するものである。
【0030】
[第1の実施の形態]
図1は、本第1の実施の形態における画像処理装置のブロック図である。図14に示した従来の画像処理装置のブロック図との違いは、プリプロセス部1におけるYCbCrデータ15の出力であり、それ以外の同一又は対応する構成要素には同一符号を付している。図2は、プリプロセス部1の画像データに対する内部処理を表したブロック図である。また、図3は、本実施の形態におけるメモリ5のフレームバッファ構成図である。図3に示す矢印は、各処理部1、2、3からの画像データの入出力を表す。
【0031】
まず、システムの主要な構成要素の機能について図1、図2、図3を用いて説明する。撮像装置20は、レンズやCCD等の撮像素子で構成されており、被写体像を画像データとして取り込む。また、前処理部19は、画像圧縮処理を行う前の準備として、入力画像データに対しゲイン処理、A/D変換処理等の基本的な処理を行う。
【0032】
図2に示すように,プリプロセス部1は、プリプロセス処理ユニット25とAWB評価値算出ユニット26により構成されている。プリプロセス処理ユニット25は、入力画像データ21に対し、キズ補正、ノイズ補正等の補正を行い、補正後の画像データ9をメモリ5に格納する。また、AWB評価値算出ユニット26は、入力画像データ21をマトリクス演算回路22により色変換し、レベルゲート23と積算回路24を用いてAWB評価値10を算出する。AWBは、Auto White Balanceの略であり、撮像画像の白色を所望の白色に自動補正する機能である。なお、AWB評価値10は、その補正を行うためのパラメータ値である。
【0033】
カラー処理部2は、プリプロセス部1が取り込んだ画像データに対して色補正、色変換等を行う。また、JPEG処理部3は、カラー処理部2により処理された画像データに対して前述の2パス処理を行う。
【0034】
CPU4は、プリプロセス部1、カラー処理部2、JPEG処理部3、メモリコントローラ6とCPUバス8を介して接続され、各構成要素の動作タイミングなどの制御を行う。また、プリプロセス部1、カラー処理部2、JPEG処理部3はそれぞれマクロ回路により構成されており、CPU4からの指令に応答して、それぞれの処理を行う。
【0035】
メモリ5は、各処理で得られた画像データを一時的に保存するためにバッファ構成されている。メモリコントローラ6は、メモリ5に対し、読み書き等の制御を行う。図3に示すバッファ構成は、本第1の実施の形態の一連の処理で生成される画像データを適宜保存するための必要最小限の構成である。
【0036】
各処理部1、2、3はメモリコントローラ6とDMAバス7を介して接続され、CPU4の制御とは独立してメモリ5に対して画像データの読み書きを行う。
【0037】
次に、画像処理の動作を図1、図2、図3、及び図4に示すフローチャートを用いて説明する。
【0038】
まず、撮像装置20より取り込まれた原画像データは、前処理部19においてゲイン処理、A/D変換処理等が行われ、RGrGbB画像データ21としてプリプロセス部1に取り込まれる。
【0039】
(ステップS1)
プリプロセス部1では、プリプロセス処理ユニット25が、取り込まれたRGrGbB画像データ21に対しキズ補正、ノイズ補正等の処理を行う。処理されたRGrGbB画像データ9はDMAバス7を介してメモリ5のフレームバッファ31に書き込まれる。一方で、AWB評価値算出ユニット26は、AWB評価値10を算出するために、RGrGbB画像データ21を色変換し、簡易的なYCbCr画像データ15を生成する。この簡易的なYCbCr画像データ15は、DMAバス7を介してメモリ5のフレームバッファ32に書き込まれる。ここで、簡易的なYCbCr画像データは、ステップS2で、生成するYCbCr画像データ12よりビット数が少ないまたは画素数が少ないなどの点で異なる。ステップS2では、RGrGbB画像データ9に対して、色補正等の処理を行った後に色変換を行い、YCbCr画像データ12を生成する。
【0040】
(ステップS2)
カラー処理部2は、カラー処理をステップS7の第1のJPEG変換と並行して行う。まず、カラー処理部2は、メモリ5から前述のプリプロセス部1の処理によりフレームバッファ31に書き込まれたRGrGbB画像データ9をRGrGbB画像データ11として読み込む。そして、カラー処理部2は、読み込まれたRGrGbB画像データ11に対し色補正等の処理を行った後、色変換を行いYCbCr画像データ12を生成する。生成したYCbCr画像データ12はDMAバス7を介してメモリ5のフレームバッファ33に書き込まれる。
(ステップS7)
JPEG処理部3は、符号量予測のための第1のJPEG変換をステップS2のカラー処理と並行して行う。まず、JPEG処理部3は、前述のプリプロセス処理部1の処理によりフレームバッファ32に書き込まれたYCbCr画像データ15をYCbCr画像データ13として読み込む。そして、JPEG処理部3は、読み込まれたYCbCr画像データ13に対して規定の量子化テーブルを用いて第1のJPEG変換を行い、得られた符号データから符号量を算出する。
【0041】
(ステップS6)
CPU4は、前述のステップS7で得られた符号量をもとに、必要に応じてJPEG変換後の符号量が目標符号量に収まるように量子化テーブルを修正する。たとえば、量子化テーブルによる量子化階調数を減らすことにより量子化データの繰り返し性が高まり、ランレングス符号化後の符号量をより減らすことができる。
【0042】
(ステップS3)
JPEG処理部3は、前述のカラー処理部2の処理によりフレームバッファ33に書き込まれたYCbCr画像データ12をYCbCr画像データ13として読み込む。そして、JPEG処理部3は、読み込まれたYCbCr画像データ13に対して前述のステップS6で修正された量子化テーブルを用いて第2のJPEG変換を行い、目標符号量に収まる符号データ14を生成する。生成した符号データ14はDMAバス7を介してメモリ5のフレームバッファ34に書き込まれる。
【0043】
(ステップS5)
フレームバッファ34に書き込まれた符号データ14は適宜、外部メモリに保存される。
【0044】
2パス処理において、第1のJPEG変換は、符号化データの符号量が目標符号量に収まるように量子化テーブルを修正するために、符号量を予測する処理である。従来技術では、カラー処理部2が生成したYCbCr画像データ12に対して第1のJPEG変換を行い、変換後の符号化データから符号量予測を行っているため、図16で示されるように、カラー処理部2での処理が終わるまで、第1のJPEG変換処理による符号量予測を行うことができない。
【0045】
それに対して、第1の実施の形態では、YCbCr画像データ13の代わりに、プリプロセス部1におけるAWB評価値算出のために副次的に生成される簡易YCbCr画像データ15を用いて第1のJPEG変換を行う。第1のJPEG変換は、量子化テーブルの修正を目的とした符号量予測の処理であるので,簡易YCbCr画像データ15について第1のJPEG変換を行っても問題ない。すなわち、簡易YCbCr画像データ15を用いた第1のJEPG変換により符号量予測が可能である。このように、本実施の形態では、プリプロセス部1のAWB評価値算出ユニット26が生成した簡易YCbCr画像データ15を用いて第1のJPEG変換を行うことで、ステップS7の第1のJPEG変換とステップS2のカラー処理とを並行して行い、画像処理の高速化を行う。
【0046】
図5は、第1の実施の形態における画像処理装置の連続撮像時の動作タイミング図である。図中でF1、F2、F3・・・は、取り込まれた画像フレームのシリアル番号を表す。また、予測は、第1のJPEG変換による符号量予測を、符号記録は、第2のJPEG変換による符号データの記録を表す。
【0047】
以下、画像フレームへの処理を説明する。
【0048】
1サイクル目C1で、プリプロセス処理部1は、画像フレームF1に対し、所定のプリプロセス処理を行い、簡易YCbCr画像データとRGrGbB画像データをメモリ5に取り込む。
【0049】
2サイクル目C2で、カラー処理部2は、1サイクル目C1で取り込まれたRGrGbB画像データをカラー処理して、YCbCr画像データを生成する。これと並行して、JPEG処理部3は、1サイクル目C1で得られた簡易YCbCr画像データを用いて第1のJPEG変換による予測を行う。
【0050】
そして、符号量の予測後に、CPUはJPEG変換部内の量子化テーブルを符号化データのデータ量が規定のデータ量内に収まるように修正する。
【0051】
3サイクル目C3で、JPEG処理部3は、2サイクル目C2のカラー処理で得られたYCbCr画像データに対して、第2のJPEG変換を行い符号化データを作成し、メモリ5に記録する。すなわち、3サイクル目C3で、JPEG処理部3は画像フレームF1の符号記録を行う。
【0052】
また、3サイクル目C3で画像フレームF1の符号記録と並行して、プリプロセス部1は、後続する画像フレームF2に対しプリプロセス処理を行う。
【0053】
なお、図3のメモリ構成図において、3サイクル目C3では、JPEG処理部3は、フレームバッファ33に記録された画像フレームF1の画像データを読み込み、第2のJPEG変換により符号化する。符号化された画像フレームF1の画像データは、フレームバッファ34に記録される。それと並行して、プリプロセス部1は、後続する画像フレームF2をプリプロセス処理し、フレームバッファ31、32にプリプロセスされたRGrGbBデータと簡易YcrCbデータとを画像フレームF2の画像データとして記録する。以上のとおり、プリプロセス部1での処理と第2のJPEG変換を含む符号記録処理との間にバッファメモリの共有は無いため、並列処理を行ってもメモリのアクセス障害は起こらない。
【0054】
以降、各画像フレームF3、F4・・・は、同様にパイプライン処理され、順次符号記録される。
【0055】
図5に示されるとおり、1枚の画像フレームの符号記録までにかかる時間は、3サイクルであり、後続する画像フレームの符号記録にかかる時間は、2サイクルである。図16の従来例と比較すると1枚の画像フレームの画像処理が4サイクル、その後の繰り返し画像サイクルが3サイクルであったことと比較すると、第1の実施の形態ではそれぞれ1サイクルずつ短くなっている。すなわち、シャッターを押した後の応答時間(以下、レスポンスという。)は、短縮される。また、連続撮像画像の符号記録時間も短縮されている。その結果、単位時間当たりに符号記録できる画像フレーム数(以下、スループットという。)は向上する。以上のとおり、第1の実施の形態はレスポンスとスループットの改善効果がある。
【0056】
[第2の実施の形態]
本実施の形態は上記第1の実施の形態を基礎とし、画像処理をさらに高速に行うための実施の形態である。
【0057】
上記第1の実施の形態では、符号量予測のためにプリプロセス部1が算出した簡易的なYCbCr画像データ13を用いて、JPEG処理部が第1のJPEG変換を行う。それに対して、本第2の実施の形態では、簡単な画像処理によりYCbCr画像データ13のデータ量を小さくすることにより、第1のJPEG変換にかかる符号量予測時間を短縮させる。簡単な画像処理の一例として、画素の間引き処理があげられる。画素の間引き処理とは、画像情報の一部画素のみをサンプリングしてデータ量を小さくすることである。例えば画像データの縦横偶数ラインのみを抜き出す間引きにより、画像データ量は1/4になる。これより、符号量予測のための第1のJPEG変換にかかる時間も1/4になる。
【0058】
ただし、画像データに対し過度に間引き処理が行われると、もとの画像の特徴が失われてしまう。それより、第1のJPEG変換による符号量予測が適正に行われず、所望の符号データが得られない。すなわち、過渡の間引き処理により、符号量予測ができなくなる。以上、間引き処理による符号量予測時間の短縮と符号量予測の適正性はトレードオフの関係にあるため、注意を要する。
【0059】
第2の実施の形態における画像処理装置は、図1と同じ構成である。また、図6は、第2の実施の形態におけるメモリ5のバッファ構成である。画像フレーム2枚分のメモリ領域が各処理に対して確保されており、各処理部1、2、3は、これらメモリ領域のアクセス先を適宜切り替えて使用する。この構成により、連続撮像時に、メモリのアクセス障害を起こすことなく、複数画像フレームのパイプライン処理が行われる。
【0060】
図7は、第2の実施の形態における画像処理装置の連続撮像時の動作タイミング図である。ここでは、プリプロセス部1が算出した簡易的なYCbCr画像データ13のデータ量が、簡単な画像処理により1/2のデータ量に減らされている。図7中の(A)〜(D)は、各処理部が、図6中のバッファ内のどの画像データ(A)〜(D)にアクセスするかを示したものである。第2の実施の形態でも、カラー処理と第1のJPEG処理による符号量予測は並列に行われる。
【0061】
以下、画像フレームへの処理を説明する。
【0062】
1サイクル目C1で、プリプロセス処理部1は、画像フレームF1に対し、所定のプリプロセス処理を行い、簡易YCbCr画像データとRGrGbB画像データをメモリ5に取り込む。
【0063】
2サイクル目C2で、カラー処理部2は、1サイクル目C1で取り込まれたRGrGbB画像データをカラー処理して、YCbCr画像データを生成する。これと並行して、JPEG処理部3は、1サイクル目C1で得られた簡易YCbCr画像データを用いて第1のJPEG変換による予測を行う。前述したように、予測を行うデータ量を1/2と想定したため、処理時間も1/2として図中に記載している。
【0064】
予測後、CPUは量子化テーブルを修正する。
【0065】
3サイクル目C3で、JPEG処理部3は、2サイクル目C2のカラー処理で得られたYCbCr画像データに対して、第2のJPEG変換を行い符号データを作成し、メモリ5に記録する。すなわち、3サイクル目C3で、JPEG処理部3は画像フレームF1の符号記録を行う。
【0066】
また、前述した図6に示すように、第2の実施の形態におけるメモリ5は、各処理1、2、3それぞれに対して別に2フレーム分のフレームバッファを備える。これらを切り替えて使用することにより、複数画像フレームに対する異なる処理が1サイクル内で同時に行われても、メモリでのアクセス障害は起きない。
【0067】
そこで、2サイクル目C2で、画像フレームF1に対して、カラー処理部2とJPEG処理部3が行う処理と並行して、プリプロセス部1は、後続する画像フレームF2の処理を始める。
【0068】
3サイクル目C3で、画像フレームF2のプリプロセス処理終了後、画像フレームF1の第2のJPEG変換による符号記録と並行して、カラー処理部2は、画像フレームF2の処理を始める。また、JPEG処理部3は、3サイクル目でF1の符号記録を終える。
【0069】
4サイクル目C4で、前述のカラー処理部2での処理と並行して、JPEG処理部3は、画像フレームF2の予測を始める。前記カラー処理と予測の処理が終わると、JPEG処理部3は画像フレームF2の符号記録を始める。
【0070】
以降、各画像フレームF3、F4・・・は、同様にパイプライン処理され、順次符号記録される。
【0071】
図7に示されるとおり、1枚の画像フレームの符号記録にかかる時間は、3サイクルであるが、後続する画像フレームの符号記録にかかる時間は、1.5サイクルである。つまり、第2の実施の形態によれば、YCbCr画像データ13のデータ量縮小による予測時間の短縮は、そのままスループット改善に反映される。
【0072】
第2の実施の形態における連続撮像時の動作タイミング図(図7)と第1の実施の形態の動作タイミング図(図5)とを比較すると、最初の画像フレームF1のレスポンスは両方共に3サイクルで同じである。しかし、連続撮像時の符号記録時間は、本第2の実施の形態において、第1の実施の形態における2サイクルから、1.5サイクルに改善されている。以上、本第2の実施の形態は、第1の実施の形態と比較してスループット改善の効果がある。
【0073】
[第3の実施の形態]
本実施の形態は、上記第1の実施の形態を基礎とし、画像処理をさらに高速に行うための実施の形態である。
【0074】
第3の実施の形態は、JPEG処理部を2つ配設することにより、第1のJPEG変換による符号量予測と第2のJPEG変換による符号記録を並行して行う。第3の実施の形態における画像処理装置の構成は、図1の構成にJPEG処理部をさらに1つ加えたものであり、図の記載は省略する。ここで、第1のJPEG変換と第2のJPEG変換は、同一の画像フレームに対して並行して行われるのではなく、異なる画像フレームに対して行われることに注意を要する。すなわち、連続撮像時において、先行して取り込まれた画像フレームに対する第2のJPEG変換処理と、後続して取り込まれた画像フレームに対する第1のJPEG変換とが並列して行われる。
【0075】
また、第3の実施の形態におけるメモリ5のバッファ構成は第2の実施の形態と同じであり、その構成を図6に示す。画像フレーム2枚分のメモリ領域が各処理に対して確保されており、各処理部1、2、3は、これらメモリ領域のアクセス先を適宜切り替えて使用する。この構成により、連続撮像時に、メモリのアクセス障害を起こすことなく、複数画像フレームのパイプライン処理が行われる。
【0076】
図8は、本第3の実施の形態における画像処理装置の連続撮像時の動作タイミング図である。図8中の(A)〜(D)は、各処理部が、図6中のバッファに記載されたどの画像データ(A)〜(D)にアクセスするかを示したものである。本第3の実施の形態では、カラー処理と第1のJPEG処理による符号量予測は並列に行われる。また、第1のJPEG処理と第2のJPEG処理は並列に行われる。
【0077】
以下、画像フレームへの処理を説明する。また、2つのJPEG処理部をJPEG処理部3a、JPEG処理部3bと称する。
【0078】
1サイクル目C1で、プリプロセス処理部1は、画像フレームF1に対し、所定のプリプロセス処理を行い、簡易YCbCr画像データとRGrGbB画像データをメモリ5に取り込む。
【0079】
2サイクル目C2で、カラー処理部2は、1サイクル目C1で取り込まれたRGrGbB画像データをカラー処理して、YCbCr画像データを生成する。これと並行して、JPEG処理部3aは、1サイクル目C1で得られた簡易YCbCr画像データを用いて第1のJPEG変換による符号量予測を行う。
【0080】
予測後、CPUはJPEG処理部3bの量子化テーブルを修正する。
【0081】
3サイクル目C3で、JPEG処理部3bは、2サイクル目C2のカラー処理で得られたYCbCr画像データに対し、第2のJPEG変換を行い、符号データを作成し、メモリ5に記録する。すなわち、3サイクル目C3で、JPEG処理部3は画像フレームF1の符号記録を行う。
【0082】
また、前述した図6に示すように、第3の実施の形態におけるメモリ5は、各処理1、2、3それぞれに対して別に2フレーム分のフレームバッファを備える。これらを切り替えて使用することにより、複数画像フレームに対する相異なる処理が1サイクル内で同時に行われても、メモリでのアクセス障害は起きない。
【0083】
そこで、2サイクル目C2で、画像フレームF1に対して、カラー処理部2とJPEG処理部3aが行う並列処理と並行して、プリプロセス部1は、後続する画像フレームF2を処理する。
【0084】
3サイクル目C3で、画像フレームF1に対して、JPEG処理部3bが行う処理と並行して、カラー処理部2とJPEG処理部3aが、画像フレームF2を並列処理する。さらに、プリプロセス部1は、後続する画像フレームF3を処理する。
【0085】
4サイクル目C4で、JPEG処理部3bが、画像フレームF2を処理する。それと並行し、カラー処理部2とJPEG処理部3aが、画像フレームF3を並列処理する。さらに、プリプロセス部1は、後続する画像フレームF4を処理する。
【0086】
以降、各画像フレームF3、F4・・・は、同様にパイプライン処理され、順次符号記録される。
【0087】
図8に示されるとおり、1枚の画像フレームの符号記録にかかる時間は、3サイクルであり、後続する画像フレームの符号記録にかかる時間は、1サイクルである。
【0088】
第3の実施の形態における連続撮像時の動作タイミング図(図8)と第1の実施の形態の動作タイミング図(図5)とを比較すると、最初の画像フレームF1のレスポンスは両方共に3サイクルで同じである。しかし、連続撮像時の符号記録時間は、第3の実施の形態において、第1の実施の形態における2サイクルから、1サイクルに改善されている。以上、第3の実施の形態は、第1の実施の形態と比較してスループット改善の効果がある。
【0089】
[第4の実施の形態]
本実施の形態は、上記第2の実施の形態の特徴と第3の実施の形態の特徴の両方を有する構成である。
【0090】
すなわち、第4の実施の形態では、プリプロセス部1が生成した、YCbCr画像データ13の画像データ量を縮小し、符号量予測時間を短縮させ、さらにJPEG処理部を2つ配設することにより、第1のJPEG変換による符号量予測と第2のJPEG変換による符号記録を並行して行う。
【0091】
第4の実施の形態における画像処理装置の構成は、第3の実施の形態と同一で、図1に対して同じ機能を有するJPEG処理部をさらに1つ加えたものであり、図の記載は省略する。
【0092】
図9は、第4の実施の形態における画像処理装置の連続撮像時の動作タイミング図である。図9中の(A)〜(D)は、各処理部が、図6中のバッファ内のどの画像データ(A)〜(D)にアクセスするかを示したものである。第4の実施の形態では、カラー処理と第1のJPEG処理による符号量予測は並列に行われる。また、第1のJPEG処理と第2のJPEG処理は並列に行われる。前述したように、各画像フレームは、同様にパイプライン処理され、順次符号記録される。ここで、詳細な動作説明は省略する。
【0093】
図9に示されるとおり、1枚の画像フレームの符号記録にかかる時間は、3サイクルであり、後続する画像フレームの符号記録にかかる時間は、1サイクルである。
【0094】
第4の実施の形態における連続撮像時の動作タイミング図(図9)と第3の実施の形態の動作タイミング図(図8)とを比較する。レスポンス、スループットともに同じであるが、電力消費量を抑えることができるという点で効果がある。
【0095】
[第5の実施の形態]
本実施の形態は、JPEG変換に限らず、予測を伴う画像圧縮処理全般において拡張・一般化可能であることを示す。
【0096】
図10は、図13のJPEG処理部と同様に符号量予測後に再度符号化を行う画像圧縮部140のブロック図である。画像圧縮部140は、パラメータ値を使用して画像圧縮を行うが、圧縮方式はJPEG方式とは別の方式である。パラメータ記憶部144は、画像圧縮に使用されるパラメータを記憶する。画像圧縮ユニット143は、前述のパラメータを使用して、画像圧縮を行う。パラメータ修正部145は、パラメータ記憶部144に記憶されたパラメータ値を修正するマクロ回路である。
【0097】
画像圧縮ユニット143は、画像データ141に対し、第1の画像圧縮処理を行い、符号データ142を生成する。パラメータ修正部145は、画像圧縮処理により所望とする符号データを得るために、前述の符号データ142を用いて、パラメータ記憶部144に記憶されたパラメータ値を修正する。すなわち、画像圧縮部140は、第1の画像圧縮処理によりパラメータ値の予測処理を行う。そして、画像圧縮部140は、画像データ141に対し、修正されたパラメータ値を用いて第2の画像圧縮処理を行い、所望とする符号データを得る。
【0098】
図11は、第5の実施の形態における画像処理装置のブロック図である。図1に示した第1の実施の形態のブロック図との違いは、画像圧縮部140、プリプロセス部151、カラー処理部152及び、各処理部の入出力データである。各処理部の入出力画像データの色空間は、ここでは特に規定しないため、プリプロセス部151、カラー処理部152も別符号とした。それ以外の同一又は対応する構成要素には同一符号を付している。各構成要素の機能は第1の実施の形態とほぼ同じである。
【0099】
ここで、画像処理の動作を図11、及び図12に示すフローチャートを用いて説明する。
【0100】
撮像装置20より取り込まれた原画像データは、前処理部19においてゲイン処理、A/D変換処理等が行われ、data0(159)としてプリプロセス部151に取り込まれる。
【0101】
(ステップS161)
プリプロセス部151は、取り込まれたdata0(159)に対し、キズ補正、ノイズ補正等の処理を行いdata1(153)を生成する。そして、data1(153)はDMAバス7を介してメモリ5に書き込まれる。一方で、プリプロセス部151は、data0(159)に第1の色変換を行い、data2(154)を生成する。そして、data2(154)は、DMAバス7を介してメモリ5に書き込まれる。
【0102】
(ステップS162)
カラー処理部152は、カラー処理をステップS167の第1の画像圧縮と並行して行う。まず、カラー処理部152は、メモリ5から前述のプリプロセス部151の処理によりメモリ5に書き込まれたdata1(153)をdata3(155)として読み込む。そして、カラー処理部152は、読み込まれたdata3(155)に対し色補正等の処理を行った後、色変換を行いdata4(156)を生成する。生成したdata4(156)はDMAバス7を介してメモリ5に書き込まれる。
【0103】
(ステップS167)
画像圧縮部140は、予測のための第1の画像圧縮をステップS2のカラー処理と並行して行う。まず、画像圧縮部140は、前述のプリプロセス処理部151の処理によりメモリ5に書き込まれたdata4(156)をdata5(157)として読み込む。そして、画像圧縮部140は、読み込まれたdata5(157)に対して規定のパラメータを用いて第1の画像圧縮を行い、data6(158)を生成する。
【0104】
(ステップS166)
CPU4は、所望とする変換データを得るために、ステップS167の第1の画像圧縮で得られたdata6(158)をもとに、画像圧縮処理部が画像圧縮で使用するパラメータ値を修正する。
【0105】
(ステップS163)
画像圧縮部140は、前述のカラー処理部152の処理によりメモリ5に書き込まれたdata4(156)をdata5(157)として読み込む。そして、画像圧縮部140は、読み込まれたdata5(157)に対して前述のステップS166で修正されたパラメータを用いて第2の画像圧縮を行い、所望とする符号データであるdata6(158)を生成する。生成したdata6(158)はDMAバス7を介してメモリ5に書き込まれる。
【0106】
(ステップS165)
メモリ5に書き込まれたdata6(158)は適宜、外部メモリに保存される。
【0107】
以上のように、本実施の形態は、JPEG変換に限らず、プリプロセス部が生成するデータを私用して画像圧縮部が符号量予測を行う事ができれば、符号量予測とカラー処理を並列化させ、圧縮処理を高速化できることを表している。
【0108】
また、本実施の形態において、プリプロセス処理部とカラー処理部での変換を色変換として記載したが、色変換以外の画像変換としてもよい。
【0109】
以上の実施の形態をまとめると,次の付記のとおりである。
【0110】
(付記1)
画像センサから出力される第1の画像データを圧縮する画像処理装置において、
前記第1の画像データに所定のプリプロセス処理を行い第1の色空間の第2の画像データを生成するプリプロセス処理ユニットと、
前記第2の画像データの色空間を変換して第2の色空間の第3の画像データを生成するカラー処理ユニットと、
所定の画像データを圧縮用パラメータに基づいて圧縮する画像圧縮ユニットとを有し、
前記プリプロセス処理ユニットは、前記第1の画像データの色空間を前記第2の色空間に変換して第4の画像データを生成する色変換部を有し、
前記プリプロセス処理ユニットが、前記第1の画像データに前記プリプロセス処理を行って前記第2の画像データを生成するとともに、前記色変換部により前記第4の画像データを生成した後に、
前記カラー処理ユニットが前記第2の画像データから前記第3の画像データを生成するときに、並行して、前記画像圧縮ユニットが前記第4の画像データを第1の圧縮用パラメータに基づいて圧縮して当該圧縮画像データの符号量を求める第1の圧縮処理を行い、
さらにその後、前記画像圧縮ユニットが前記第3の画像データを前記符号量に応じて修正された第2の圧縮用パラメータに基づいて圧縮して第5の画像データを生成する第2の圧縮処理を行う画像処理装置。
【0111】
(付記2)
さらに、前記第2、第3、第4の画像データをそれぞれ1対以上格納するバッファメモリを有する付記1記載の画像処理装置。
【0112】
(付記3)
前記プリプロセス処理ユニットの処理と、前記カラー処理ユニットの処理と、前記画像圧縮ユニットの前記第1、第2の圧縮処理とが、複数フレームの前記第1の画像データについてパイプライン処理を行う付記1または2記載の画像処理装置。
【0113】
(付記4)
前記第4の画像データの画素を間引いて前記4の画像データのデータ量を縮小する付記1記載の画像処理装置。
【0114】
(付記5)
前記画像圧縮ユニットは、少なくとも第1、第2の画像圧縮ユニットを有し、
前記第1の画像圧縮ユニットが第1のフレームの前記第3の画像データに第2の圧縮処理を行うときに、並行して、前記第2の画像圧縮ユニットが第1のフレームの次に画像センサから出力される第2のフレームの前記第4の画像データに第1の圧縮処理を行う付記1又は2記載の画像処理装置。
【0115】
(付記6)
前記プリプロセス処理ユニットの処理と、前記カラー処理ユニットの処理と、前記第1、第2の画像圧縮ユニットの第1、第2の圧縮処理とが、複数フレームの前記第1の画像データについてパイプライン処理を行う付記5記載の画像処理装置。(6)
(付記7)
前記圧縮用パラメータは量子化で用いられる量子化係数であり、
前記画像圧縮ユニットは、
前記所定の画像データを離散コサイン変換して第1の変換データを生成する離散コサイン変換部と、
前記第1の変換データを前記量子化係数を用いて量子化して第2の変換データを生成する量子化部と、
前記第2の変換データをハフマン符号化方式により符号化して圧縮画像データを生成する符号化部とを有する付記1記載の画像処理装置。
【0116】
(付記8)
前記プリプロセス部は、前記色変換部を有するオートホワイトバランス評価値算出ユニットを有する付記1記載の画像処理装置。
【0117】
(付記9)
さらに、前記第1の圧縮処理により求められた前記符号量に応じて、前記第2の圧縮用パラメータを修正するプロセッサユニットを有する付記1記載の画像処理装置。
【図面の簡単な説明】
【0118】
【図1】第1の実施の形態における画像処理装置のブロック図である。
【図2】第1の実施の形態におけるプリプロセス部のブロック図である。
【図3】第1の実施の形態におけるメモリ構成である。
【図4】第1の実施の形態における画像処理装置の動作フローチャートである。
【図5】第1の実施の形態における画像処理装置の動作タイミング図である。
【図6】第2、3、4の実施の形態における2フレーム分のバッファメモリ構成図である。
【図7】第2の実施の形態における符号量予測に用いる画像データに間引き処理を行った場合の動作タイミング図である。
【図8】第3の実施の形態におけるJPEG処理部を2つ用いた場合の動作タイミング図である。
【図9】第4の実施の形態における符号量予測に用いる画像データに間引き処理を行い、さらにJPEG処理部を2つ用いた場合の動作タイミング図である。
【図10】予測を伴う画像圧縮処理を行う画像圧縮部のブロック図である。
【図11】第5の実施の形態における、画像処理装置のブロック図である。
【図12】第5の実施の形態における、画像処理装置の動作フローチャートである。
【図13】JPEG処理部のブロック図である。
【図14】従来技術における画像処理装置のブロック図である。
【図15】従来技術における画像処理装置の動作フローチャートである。
【図16】従来技術における画像処理装置の動作タイミング図である。
【符号の説明】
【0119】
1 プリプロセス部
2 カラー処理部
3 JPEG処理部
4 CPU
5 メモリ
6 メモリコントローラ
7 DMAバス
8 CPUバス
9 プリプロセス部が生成するRGrGbB画像データ
10 AWB評価値
11 カラー処理部が読み込むRGrGbB画像データ
12 カラー処理部が生成するYCbCr画像データ
13 JPEG処理部が読み込むYCbCr画像データ
14 JPEG処理部が生成する符号データ
15 プリプロセス部が生成するYCbCr画像データ
19 前処理部
20 撮像装置
21 プリプロセス部が読み込むRGrGbB画像データ
22 マトリクス演算回路
23 レベルゲート
24 積算回路
25 プリプロセス処理ユニット
26 AWB評価値算出ユニット
31〜34、61〜68 バッファ
101 DTC部
102 量子化部
103 符号化部
104 量子化テーブル記憶部
105 符号量予測部
108、141 画像データ
109、142 符号データ
140 画像圧縮部
143 画像圧縮ユニット
144 パラメータ記憶部
145 パラメータ修正部
151 プリプロセス部
152 カラー処理部
153 data1
154 data2
155 data3
156 data4
157 data5
158 data6
S1、S11、S161 プリプロセス処理
S2、S12、S162 カラー処理
S3 第2のJPEG変換
S13 JPEG変換
S163 第2の画像圧縮処理
S14 分岐
S5、S15、S165 符号データ記録
S6、S16 量子化テーブル修正
S166 パラメータ修正
S7 第1のJPEG変換
S167 第1の画像圧縮処理

【特許請求の範囲】
【請求項1】
画像センサから出力される第1の画像データを圧縮する画像処理装置において、
前記第1の画像データに所定のプリプロセス処理を行い第1の色空間の第2の画像データを生成するプリプロセス処理ユニットと、
前記第2の画像データの色空間を変換して第2の色空間の第3の画像データを生成するカラー処理ユニットと、
所定の画像データを圧縮用パラメータに基づいて圧縮する画像圧縮ユニットとを有し、
前記プリプロセス処理ユニットは、前記第1の画像データの色空間を前記第2の色空間に変換して第4の画像データを生成する色変換部を有し、
前記プリプロセス処理ユニットが、前記第1の画像データに前記プリプロセス処理を行って前記第2の画像データを生成するとともに、前記色変換部により前記第4の画像データを生成した後に、
前記カラー処理ユニットが前記第2の画像データから前記第3の画像データを生成するときに、並行して、前記画像圧縮ユニットが前記第4の画像データを第1の圧縮用パラメータに基づいて圧縮して当該圧縮画像データの符号量を求める第1の圧縮処理を行い、
さらにその後、前記画像圧縮ユニットが前記第3の画像データを前記符号量に応じて修正された第2の圧縮用パラメータに基づいて圧縮して第5の画像データを生成する第2の圧縮処理を行う画像処理装置。
【請求項2】
さらに、前記第2、第3、第4の画像データをそれぞれ1対以上格納するバッファメモリを有する請求項1記載の画像処理装置。
【請求項3】
前記プリプロセス処理ユニットの処理と、前記カラー処理ユニットの処理と、前記画像圧縮ユニットの前記第1、第2の圧縮処理とが、複数フレームの前記第1の画像データについてパイプライン処理を行う請求項1または2記載の画像処理装置。
【請求項4】
前記第4の画像データの画素を間引いて前記4の画像データのデータ量を縮小する請求項1記載の画像処理装置。
【請求項5】
前記画像圧縮ユニットは、少なくとも第1、第2の画像圧縮ユニットを有し、
前記第1の画像圧縮ユニットが第1のフレームの前記第3の画像データに第2の圧縮処理を行うときに、並行して、前記第2の画像圧縮ユニットが第1のフレームの次に画像センサから出力される第2のフレームの前記第4の画像データに第1の圧縮処理を行う請求項1又は2記載の画像処理装置。
【請求項6】
前記プリプロセス処理ユニットの処理と、前記カラー処理ユニットの処理と、前記第1、第2の画像圧縮ユニットの第1、第2の圧縮処理とが、複数フレームの前記第1の画像データについてパイプライン処理を行う請求項5記載の画像処理装置。
【請求項7】
前記圧縮用パラメータは量子化で用いられる量子化係数であり、
前記画像圧縮ユニットは、
前記所定の画像データを離散コサイン変換して第1の変換データを生成する離散コサイン変換部と、
前記第1の変換データを前記量子化係数を用いて量子化して第2の変換データを生成する量子化部と、
前記第2の変換データをハフマン符号化方式により符号化して圧縮画像データを生成する符号化部とを有する請求項1記載の画像処理装置。
【請求項8】
前記プリプロセス部は、前記色変換部を有するオートホワイトバランス評価値算出ユニットを有する請求項1記載の画像処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2010−41308(P2010−41308A)
【公開日】平成22年2月18日(2010.2.18)
【国際特許分類】
【出願番号】特願2008−200877(P2008−200877)
【出願日】平成20年8月4日(2008.8.4)
【出願人】(308014341)富士通マイクロエレクトロニクス株式会社 (2,507)
【Fターム(参考)】