JP2023002345A - 画像処理装置および画像処理方法 - Google Patents
画像処理装置および画像処理方法 Download PDFInfo
- Publication number
- JP2023002345A JP2023002345A JP2021103535A JP2021103535A JP2023002345A JP 2023002345 A JP2023002345 A JP 2023002345A JP 2021103535 A JP2021103535 A JP 2021103535A JP 2021103535 A JP2021103535 A JP 2021103535A JP 2023002345 A JP2023002345 A JP 2023002345A
- Authority
- JP
- Japan
- Prior art keywords
- block
- value
- luminance
- maximum
- white balance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 93
- 238000003672 processing method Methods 0.000 title description 6
- 239000000284 extract Substances 0.000 claims description 4
- 238000000034 method Methods 0.000 description 41
- 238000010586 diagram Methods 0.000 description 30
- 238000009826 distribution Methods 0.000 description 17
- 230000005457 Black-body radiation Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 101100459518 Bacillus subtilis (strain 168) nadE gene Proteins 0.000 description 2
- 101100029917 Bacillus subtilis (strain 168) pksL gene Proteins 0.000 description 2
- 101100393826 Dickeya dadantii (strain 3937) outB gene Proteins 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 101150044983 outG gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Color Television Image Signal Generators (AREA)
- Processing Of Color Television Signals (AREA)
- Studio Devices (AREA)
Abstract
【課題】ハードウェア構成を簡略化することが可能な画像処理装置を提供する。【解決手段】画像処理装置(1)は、ストリーム形式の画像データを入力順に複数のブロックに分割し、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値に基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するホワイトバランスゲイン算出部(133)と、ホワイトバランスゲイン算出部(133)によって算出されたゲイン調整値を用いて、画像データを演算する画像データ演算部(14)と、を備える。【選択図】図1
Description
本発明は、ホワイトバランスを調整する画像処理装置および画像処理方法に関する。
従来、ホワイトバランス処理を自動的に行う撮像装置として、例えば、デジタルスチルカメラ、デジタルビデオカメラ等が提供されている。ホワイトバランス処理とは、ある光源の照明下において白色の被写体を撮像したときに、カメラシステムから得られる原色信号R,G,Bがすべて等しくなるように各信号のゲインを変える処理である。
撮像装置は、ホワイトバランス処理を行うことによって、自然光(太陽光)、白熱電灯の光、蛍光灯の光等の様々な光源の違いから色づいて見える白色(例えば、低い色温度の場合は赤っぽくなり、高い色温度の場合は青っぽくなる)を、白に合わせられる。そして、色温度の変化を表す黒体放射カーブを用いて、自動的にホワイトバランスをとる処理を、オートホワイトバランス処理という。このオートホワイトバランス処理に関連する技術として、下記の特許文献1に記載された発明がある。
特許文献1は、光源色を検出する画像処理装置に関する。この画像処理装置は、画像の中で平均よりも明るい第1の画素位置での画素値を検出する第1画素値検出手段と、第1の領域に近接し第1の画素位置よりも暗い第2の画素位置での画素値を検出する第2画素値検出手段と、第1画素値検出手段にて検出された画素値と第2画素値検出手段にて検出された画素値との差分に基づいて、画像に照射される光源の光源色を検出する光源色検出手段と、を備える。
画像処理装置において、高速処理を実現するために、ホワイトバランス処理を行う部分をハードウェア実装することが好ましい。ハードウェア実装では、一度に大量のデータを処理することが難しい。そのため、ハードウェア実装に適した手法が必要となるが、上述の特許文献1はそのような手法を提供するものではない。
本発明の一態様は、ハードウェア構成を簡略化することが可能な画像処理装置および画像処理方法を実現することを目的とする。
上記の課題を解決するために、本発明の一態様に係る画像処理装置は、ストリーム形式の画像データを入力順に複数のブロックに分割し、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値を演算するホワイトバランスパラメータ演算部と、ホワイトバランスパラメータ演算部によって演算された輝度最大値および輝度平均値から求められたパラメータに基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するホワイトバランスゲイン算出部と、ホワイトバランスゲイン算出部によって算出されたゲイン調整値を用いて、画像データを演算する画像データ演算部と、を備える。
上記の課題を解決するために、本発明の一態様に係る画像処理装置は、分割された複数の画面に対応して設けられ、ストリーム形式の画像データを入力順に複数のブロックに分割し、分割された画面内のブロックを代表するブロック代表輝度最大値およびブロック代表輝度平均値を演算する複数のホワイトバランスパラメータ演算部と、複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値およびブロック代表輝度平均値に基づいて、さらなるブロック代表輝度最大値およびさらなるブロック代表輝度平均値を抽出して記憶するブロック代表値記憶部と、ブロック代表値記憶部に記憶されるさらなるブロック代表輝度最大値およびさらなるブロック代表輝度平均値を用いて、ゲイン調整値を算出するホワイトバランスゲイン算出部と、ホワイトバランスゲイン算出部によって算出されたゲイン調整値を用いて、画像データを演算する画像データ演算部と、を備える。
上記の課題を解決するために、本発明の一態様に係る画像処理方法は、ストリーム形式の画像データを入力順に複数のブロックに分割するステップと、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値に基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するステップと、算出されたゲイン調整値を用いて、画像データを演算するステップと、を含む。
本発明の一態様によれば、ハードウェア構成を簡略化することが可能な画像処理装置および画像処理方法を提供することができる。
〔実施形態1〕
以下、本発明の一実施形態について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
以下、本発明の一実施形態について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
<画像処理装置1の構成例>
図1は、本発明の実施形態1に係る画像処理装置1の機能的構成を示すブロック図である。画像処理装置1は、画像データ生成部11と、ホワイトバランスパラメータ演算部12と、画像データ演算部14と、ホワイトバランスゲイン算出部133とを含む。
図1は、本発明の実施形態1に係る画像処理装置1の機能的構成を示すブロック図である。画像処理装置1は、画像データ生成部11と、ホワイトバランスパラメータ演算部12と、画像データ演算部14と、ホワイトバランスゲイン算出部133とを含む。
画像データ生成部11は、撮像素子等によって構成され、各画素をストリーム形式で出力する。各画素は、R,G,Bによって構成される。画像データ生成部11は、1フレーム分の画像データを順次ホワイトバランスパラメータ演算部12および画像データ演算部14に出力する。
図2は、画像データ生成部11から出力されるストリーム形式の画像データの一例を示す図である。図2に示すように、1フレーム分の画像データは、1ラインがx画素を含み、y行のラインによって構成される。したがって、1フレーム分の画像データは、L1-1~L1-x,L2-1~L2-x,…,Ly-1~Ly-xによって構成される。例えば、L1-1は、最初のラインの左端の画素に対応し、L1-xは、最初のラインの右端の画素に対応している。同様に、Ly-1は、最後のラインの左端の画素に対応し、Ly-xは、最後のラインの右端の画素(最後のラインの最後の画素)に対応している。
本実施形態においては、画像データをストリーム形式でブロック分割する。例えば、1ブロックが1024画素とすると、図2に示すように、最初のラインL1の最初の1024画素がブロックB1となる。そして、ラインL1の残りの画素と、次のラインL2の画素の一部とがブロックB2となる。このように、画像データ生成部11から出力される画像データの順に(ストリーム形式で)ブロック分割が行われる。したがって、画像データの入力時にブロック順が前後しないため、ブロック毎に画像データを保持しておく必要がなくなる。
図3は、1フレーム分の画像データを説明するための図である。上述のように、最初のラインL1は、画素L1-1~L1-xを含む。次のラインL2は、画素L2-1~L2-xを含む。同様に、最後のラインLyは、画素Ly-1~Ly-xを含む。
図4は、画像データのブロック分割を説明するための図である。上述のように、1ブロックが1024画素とすると、最初のラインL1の最初の1024画素がブロックB1となる。そして、ラインL1の残りの画素と、次のラインL2の画素の一部とがブロックB2となる。同様に、最後のラインLyの最後の1024画素(1024画素よりも少ない場合もあり得る。)がブロックBzとなる。
再び、図1の説明に戻る。ホワイトバランスパラメータ演算部12は、ストリーム現在値記憶部121と、画素数カウンタ122と、ブロック数カウンタ123と、データ比較部124,127および132と、ブロック内最大値記憶部125と、ブロック代表最大値記憶部126-1~126-4と、データ加算部128と、平均値演算部129と、ブロック内平均値記憶部130と、ブロック代表平均値記憶部131-1~131-4とを含む。
ストリーム現在値記憶部121は、画像データ生成部11から出力されるストリーム形式の画像データの現在の画素値(R,G,B)および輝度値を記憶する。ストリーム現在値記憶部121は、現在の画素のR,G,Bの値から、輝度値を算出する輝度値算出回路を有している。ストリーム現在値記憶部121はさらに、現在の画素のR,G,Bのそれぞれの値および算出した輝度値を記憶するメモリ、レジスタ等の記憶領域を有しており、現在の画素値および輝度値を記憶し、データ比較部124に出力する。また、ストリーム現在値記憶部121は、現在の画素値をデータ加算部128に出力する。
なお、輝度値算出回路は、次式(式1)を用いて輝度値Yを算出する。a,bおよびcは、輝度値を算出するための係数であり、例えば、a=0.299、b=0.587、c=0.114が用いられる。
Y=aR+bG+cB ・・・(式1)
画素数カウンタ122は、例えば、1ブロックが1024画素であれば10ビットのカウンタによって構成され、ストリーム現在値記憶部121に記憶される画素値がブロック内の何番目の画素であるかをカウントする。
画素数カウンタ122は、例えば、1ブロックが1024画素であれば10ビットのカウンタによって構成され、ストリーム現在値記憶部121に記憶される画素値がブロック内の何番目の画素であるかをカウントする。
ブロック数カウンタ123は、1フレームの画像データのブロック数に対応するビット数のカウンタによって構成され、ストリーム現在値記憶部121に記憶される画素値が何ブロック目の画素であるかをカウントする。
ブロック内最大値記憶部125は、1ブロック内で最大となる輝度値(以下、輝度最大値と呼ぶ。)を記憶する。ブロック内最大値記憶部125は、輝度最大値と、輝度最大値に対応する画素のR,G,Bのそれぞれの値を記憶するメモリ、レジスタ等の記憶領域を有しており、現在の輝度最大値をデータ比較部124に出力する。
データ比較部124は、ストリーム現在値記憶部121から出力される輝度値とブロック内最大値記憶部125から出力される現在の輝度最大値とを比較する。データ比較部124は、輝度値がブロック内最大値記憶部125から出力される現在の輝度最大値よりも大きければ、ブロック内最大値記憶部125に記憶される現在の輝度最大値を、ストリーム現在値記憶部121から出力される輝度値で更新し、対応するR,G,Bの値をブロック内最大値記憶部125に記憶させる。
ブロック内最大値記憶部125は、画素数カウンタ122のカウント値が1ブロックの画素数に達したときに、記憶する輝度最大値および対応するR,G,Bの値をデータ比較部127に出力する。
<ブロック内最大値記憶部125の内容の更新>
図5は、ブロック内最大値記憶部125の内容の更新を説明するための図である。図5に示すように、ブロックB1がN個の画素値を含み、その中のn番目の画素の画素値が処理される場合を想定する。
図5は、ブロック内最大値記憶部125の内容の更新を説明するための図である。図5に示すように、ブロックB1がN個の画素値を含み、その中のn番目の画素の画素値が処理される場合を想定する。
最初、ブロック内最大値記憶部125が初期化され、全て「0」となる(S1)。そして、1番目の画素~n-1番目の画素を処理した結果、n-1番目の画素の画素値(R=180,G=201,B=195)および輝度値(Y=190)がブロック内最大値記憶部125に記憶されているものとする。
ストリーム現在値記憶部121にn番目の画素値(R=182,G=202,B=189)が記憶されると(S2)、輝度値(Y=192)が算出される(S3)。そして、データ比較部124が、算出された輝度値と、ブロック内最大値記憶部125に記憶される輝度最大値とを比較する(S4)。その結果、n番目の画素の輝度値の方が大きいため、ブロック内最大値記憶部125が、n番目の画素の画素値および輝度最大値に更新される(S5)。
再び、図1の説明に戻る。データ加算部128は、ストリーム現在値記憶部121から出力される現在の画素のR,G,Bの値をそれぞれ累積加算して記憶する。そして、画素数カウンタ122のカウント値が1ブロックの画素数に達したときに、データ加算部128は、記憶するR,G,Bのそれぞれの合計値を平均値演算部129に出力する。
平均値演算部129は、画素数カウンタ122のカウント値が1ブロックの画素数に達したときに、データ加算部128から出力されるR,G,Bそれぞれの合計値から、R,G,Bそれぞれの平均値を算出し、ブロック内平均値記憶部130に出力する。例えば、1ブロックの画素数が1024(210)画素であれば、R,G,Bそれぞれの合計値を10回右シフトすることによって平均値を算出することができる。このように、1ブロックの画素数を2のべき乗とすることによって、平均値演算部129の回路構成を簡略化することができる。
なお、平均値演算部129は、輝度値を算出する輝度値算出回路を有しており、Rの平均値、Gの平均値およびBの平均値から輝度平均値を算出し、R,G,Bそれぞれの平均値と共にブロック内平均値記憶部130に出力する。
ブロック内平均値記憶部130は、ブロック内の輝度平均値と、R,G,Bのそれぞれの平均値とを記憶するメモリ、レジスタ等の記憶領域を有しており、ブロック内の輝度平均値とR,G,Bのそれぞれの平均値とをデータ比較部132に出力する。
<ブロック内平均値記憶部130の内容の更新>
図6は、ブロック内平均値記憶部130の内容の更新を説明するための図である。図6に示すように、ブロックB1がN個の画素値を含み、その中のn番目の画素の画素値が処理される場合を想定する。
図6は、ブロック内平均値記憶部130の内容の更新を説明するための図である。図6に示すように、ブロックB1がN個の画素値を含み、その中のn番目の画素の画素値が処理される場合を想定する。
最初、ブロック内平均値記憶部130が初期化され、全て「0」となる(S11)。そして、1番目の画素~n-1番目の画素を処理した結果、画素値の合計値(R=357,G=398,B=385)がデータ加算部128に記憶されているものとする。なお、説明を簡単にするため、ブロックB1の画素数を「4」とする。
ストリーム現在値記憶部121にn(=3)番目の画素値(R=182,G=202,B=189)が記憶されると(S12)、データ加算部128は、その画素値のそれぞれを、記憶するn-1番目までの画素値のそれぞれの合計値に加算する(S13)。その結果、データ加算部128が記憶する値は、R=539,G=600,B=574となる。
次に、ストリーム現在値記憶部121にn(=4)番目の画素値が記憶されると、データ加算部128は、その画素値のそれぞれを、記憶するn-1番目までの画素値のそれぞれの合計値に加算する(S14)。その結果、データ加算部128が記憶する値は、R=716,G=800,B=764となる。
最後に、平均値演算部129は、画素値のそれぞれの合計値から平均値を算出し(S15)、画素値の平均値から輝度平均値を算出する(S16)。その結果、ブロック内平均値記憶部130には、R=179,G=200,B=191,Y=189が記憶される。
ブロック代表最大値記憶部126-1~126-4のそれぞれは、ブロック内輝度最大値の中で最も大きい4つの値を記憶する。本実施形態においては、最大のブロック内輝度最大値を4つ記憶するため、ブロック代表最大値記憶部を4つ設けているが、記憶するブロック内輝度最大値の数に応じて、ブロック代表最大値記憶部の数を変更することも可能である。ブロック代表最大値記憶部126-1~126-4のそれぞれは、ブロック内輝度最大値の中で最も大きい4つの値およびそのブロック内輝度最大値に対応するR,G,Bの値を記憶する。
データ比較部127は、ブロック内最大値記憶部125から出力されるブロック内輝度最大値と、ブロック代表最大値記憶部126-1~126-4に記憶されるブロック内輝度最大値の中の最も小さい値とを比較する。データ比較部127は、ブロック内最大値記憶部125から出力されるブロック内輝度最大値の方が大きければ、ブロック代表最大値記憶部126-1~126-4の中の対応する記憶部の値を、ブロック内最大値記憶部125から出力されるブロック内輝度最大値で更新する。このとき、対応するR,G,Bの値も記憶させる。
ブロック代表平均値記憶部131-1~131-4のそれぞれは、ブロック内輝度平均値の中で最も大きい4つの値を記憶する。本実施形態においては、最大のブロック内輝度平均値を4つ記憶するため、ブロック代表平均値記憶部を4つ設けているが、記憶するブロック内輝度平均値の数に応じて、ブロック代表平均値記憶部の数を変更することも可能である。ブロック代表平均値記憶部131-1~131-4のそれぞれは、ブロック内輝度平均値の中で最も大きい4つの値およびそのブロック内輝度平均値に対応するR,G,Bの値を記憶する。
データ比較部132は、ブロック内平均値記憶部130から出力されるブロック内輝度平均値と、ブロック代表平均値記憶部131-1~131-4に記憶されるブロック内輝度平均値の中の最も小さい値とを比較する。データ比較部132は、ブロック内平均値記憶部130から出力されるブロック内輝度平均値の方が大きければ、ブロック代表平均値記憶部131-1~131-4の中の対応する記憶部の値を、ブロック内平均値記憶部130から出力されるブロック内輝度平均値で更新する。このとき、対応するR,G,Bの値も記憶させる。
<ブロック代表最大値記憶部126-1~126-4の内容の更新、ブロック代表平均値記憶部131-1~131-4の内容の更新>
図7は、ブロック代表最大値記憶部126-1~126-4およびブロック代表平均値記憶部131-1~131-4の更新を説明するための図である。ブロックB1~Bnを処理したときに(S21)、ブロック内最大値記憶部125にR=180,G=201,B=195,Y=192が記憶され、ブロック内平均値記憶部130にR=179,G=200,B=191,Y=189が記憶されているものとする。
図7は、ブロック代表最大値記憶部126-1~126-4およびブロック代表平均値記憶部131-1~131-4の更新を説明するための図である。ブロックB1~Bnを処理したときに(S21)、ブロック内最大値記憶部125にR=180,G=201,B=195,Y=192が記憶され、ブロック内平均値記憶部130にR=179,G=200,B=191,Y=189が記憶されているものとする。
データ比較部127およびデータ比較部132は内部に、比較するのに適切でないデータを省略するデータ省略回路を有しており、例えば、極めて濃い色の画素、白飛びの画素、黒飛びの画素等を省略する(S22)。
データ省略回路は、(R-G)の絶対値または(B-G)の絶対値が所定値以上の場合に、極めて濃い色の画素であると判断し、そのブロック内輝度最大値および対応する画素値、またはブロック内輝度平均値および対応する画素値の平均値を省略する。
また、データ省略回路は、ブロック内輝度最大値またはブロック内輝度平均値が所定値(例えば、255)の場合に、白飛びであると判断し、そのブロック内輝度最大値および対応する画素値、またはブロック内輝度平均値および対応する画素値の平均値を省略する。
また、データ省略回路は、ブロック内輝度最大値またはブロック内輝度平均値が所定値(例えば、0)の場合に、黒飛びであると判断し、そのブロック内輝度最大値および対応する画素値、またはブロック内輝度平均値および対応する画素値の平均値を省略する。
図7に示すように、ブロックBn-1まで処理した結果、ブロック代表最大値記憶部126-1(f1,f1’)にR=205,G=200,B=195,Y=200が記憶され、ブロック代表最大値記憶部126-2(f2,f2’)にR=200,G=210,B=220,Y=210が記憶され、ブロック代表最大値記憶部126-3(f3,f3’)にR=160,G=170,B=180,Y=170が記憶され、ブロック代表最大値記憶部126-4(f4,f4’)にR=200,G=190,B=180,Y=190が記憶されているものとする。
データ比較部127は、f1’~f4’の中で最も値が小さいf3’のブロック代表輝度最大値(Y=170)と、ブロック内最大値記憶部125に記憶されるブロックBnのブロック内輝度最大値(Y=192)とを比較する(S23)。ブロック内最大値記憶部125に記憶されるブロックBnのブロック内輝度最大値の方が大きいため、データ比較部127は、ブロック代表最大値記憶部126-3(f3,f3’)の内容をブロック内最大値記憶部125に記憶される内容に更新する。
また、図7に示すように、ブロックBn-1まで処理した結果、ブロック代表平均値記憶部131-1(g1,g1’)にR=200,G=200,B=200,Y=200が記憶され、ブロック代表平均値記憶部131-2(g2,g2’)にR=180,G=180,B=170,Y=178が記憶され、ブロック代表平均値記憶部131-3(g3,g3’)にR=190,G=180,B=170,Y=180が記憶され、ブロック代表平均値記憶部131-4(g4,g4’)にR=169,G=172,B=168,Y=170が記憶されているものとする。
データ比較部132は、g1’~g4’の中で最も値が小さいg4’のブロック内輝度平均値(Y=170)と、ブロック内平均値記憶部130に記憶されるブロックBnのブロック内輝度平均値(Y=189)とを比較する(S24)。ブロック内平均値記憶部130に記憶されるブロックBnのブロック内輝度平均値の方が大きいため、データ比較部132は、ブロック代表平均値記憶部131-4(g4,g4’)の内容をブロック内平均値記憶部130に記憶される内容に更新する。
<ホワイトバランスゲイン算出部133の動作説明>
ホワイトバランスゲイン算出部133は、ブロック代表最大値記憶部126-1~126-4(f1~f4,f1’~f4’)に記憶されるブロック代表最大輝度値およびそれに対応する画素値と、ブロック代表平均値記憶部131-1~131-4(g1~g4,g1’~g4’)に記憶されるブロック代表平均輝度値およびそれに対応する平均画素値とから、ホワイトバランスを調整するためのパラメータ(ゲイン補正値)を演算し、画像データ演算部14に出力する。
ホワイトバランスゲイン算出部133は、ブロック代表最大値記憶部126-1~126-4(f1~f4,f1’~f4’)に記憶されるブロック代表最大輝度値およびそれに対応する画素値と、ブロック代表平均値記憶部131-1~131-4(g1~g4,g1’~g4’)に記憶されるブロック代表平均輝度値およびそれに対応する平均画素値とから、ホワイトバランスを調整するためのパラメータ(ゲイン補正値)を演算し、画像データ演算部14に出力する。
まず、ホワイトバランスゲイン算出部133は、ブロック代表最大値記憶部126-1~126-4(f1~f4)に記憶されるブロック代表最大値(R,G,B)を、第1の色空間から第2の色空間に変換する。本実施形態においては、第1の色空間をR,G,Bで表される色空間とし、第2の色空間を輝度信号YとU,V等の色差信号で表される色空間(以下、UV平面とも呼ぶ。)とするが、これらに限定されるものではない。
U=-0.169×R-0.331×G+0.500×B ・・・(式2)
V=0.500×R-0.419×G-0.081×B ・・・(式3)
ここで、上記(式2)および(式3)で求められた色差信号U,Vをそのまま使用してもよいが、輝度値の影響を除去するために、U,Vのそれぞれを上記(式1)で求められた輝度信号Yで除したものを使用することにする。
V=0.500×R-0.419×G-0.081×B ・・・(式3)
ここで、上記(式2)および(式3)で求められた色差信号U,Vをそのまま使用してもよいが、輝度値の影響を除去するために、U,Vのそれぞれを上記(式1)で求められた輝度信号Yで除したものを使用することにする。
図8は、ホワイトバランスゲイン算出部133によるYUV変換を説明するための図である。ホワイトバランスゲイン算出部133は、ブロック代表最大値記憶部126-1(f1)に記憶されるブロック代表最大値に上記(式2)~(式3)を適用し、f1(u)およびf1(v)を算出する。そして、ホワイトバランスゲイン算出部133は、ブロック代表最大値記憶部126-1(f1’)に記憶されるブロック代表輝度最大値を用いてf1(u/y)およびf1(v/y)を算出する。
ここで、f1(u/y)は、f1に記憶される画素値から算出された色差信号Uを、f1’に記憶されるブロック代表輝度最大値Yで除した値を表すものとする。同様に、f1(v/y)は、f1に記憶される画素値から算出された色差信号Vを、f1’に記憶されるブロック代表輝度最大値Yで除した値を表すものとする。
ホワイトバランスゲイン算出部133は、同様に、f2(u/y)~f4(u/y)およびf2(v/y)~f4(v/y)を算出する。
また、ホワイトバランスゲイン算出部133は、ブロック代表平均値記憶部131-1(g1)に記憶されるブロック代表平均値に上記(式2)~(式3)を適用し、g1(u)およびg1(v)を算出する。そして、ホワイトバランスゲイン算出部133は、ブロック代表平均値記憶部131-1(g1’)に記憶されるブロック代表輝度平均値を用いてg1(u/y)およびg1(v/y)を算出する。
ここで、g1(u/y)は、g1に記憶される画素値から算出された色差信号Uを、g1’に記憶されるブロック代表輝度平均値Yで除した値を表すものとする。同様に、g1(v/y)は、g1に記憶される画素値から算出された色差信号Vを、g1’に記憶されるブロック代表輝度平均値Yで除した値を表すものとする。
ホワイトバランスゲイン算出部133は、同様に、g2(u/y)~g4(u/y)およびg2(v/y)~g4(v/y)を算出する。
図9は、f1(u/y,v/y)~f4(u/y,v/y)およびg1(u/y,v/y)~g4(u/y,v/y)をグラフにした図である。横軸をU/Yとし、縦軸をV/Yとしている。図9に示すように、f1(u/y,v/y)~f4(u/y,v/y)は、ブロック代表最大値から算出された色差信号U,Vをブロック代表最大輝度値で除した値であるため、黒体輻射軌跡を表す曲線の近辺に位置し、かつ原点近くに位置する。
一方、g1(u/y,v/y)~g4(u/y,v/y)は、ブロック代表平均値から算出された色差信号U,Vをブロック代表平均輝度値で除した値であるため、黒体輻射軌跡を表す曲線の近辺に位置し、かつ原点から少し離れて位置する。
f1(u/y,v/y)~f4(u/y,v/y)は輝度最大値に基づく分布であるため、光源の色の特徴を強く有している。また、g1(u/y,v/y)~g4(u/y,v/y)は輝度平均値に基づく分布であるため、光源の色の特徴が弱く、被写体の色の特徴を強く有している。
以上より、f1(u/y,v/y)~f4(u/y,v/y)の平均値f(u/y,v/y)を光源の色と推定する。また、g1(u/y,v/y)~g4(u/y,v/y)の平均値g(u/y,v/y)を被写体の色と推定する。なお、平均値の算出は、単純平均を用いてもよいし、加重平均を用いてもよい。
図10は、YUV平面上における色温度を説明するための図である。f(u/y,v/y)またはg(u/y,v/y)が黒体輻射軌跡に沿って原点の右側に位置する場合、青味がかった画像であり、原点から離れるほどその傾向が強くなる。また、f(u/y,v/y)またはg(u/y,v/y)が黒体輻射軌跡に沿って原点の左側に位置する場合、赤味がかった画像であり、原点から離れるほどその傾向が強くなる。
図10に示すように、f(u/y,v/y)(輝度最大値の分布)およびg(u/y,v/y)(輝度平均値の分布)が黒体輻射軌跡に沿って原点の左側に位置する場合、「光源色が赤く」、「被写体が白い」と推定することができる。また、輝度最大値の分布が原点付近で、輝度平均値の分布が原点の左側に位置する場合、「光源色が白く」、「被写体が赤い」と推定することができる。
一方、輝度最大値の分布および輝度平均値の分布が黒体輻射軌跡に沿って原点の右側に位置する場合、「光源色が青く」、「被写体が白い」と推定することができる。また、輝度最大値の分布が原点付近で、輝度平均値の分布が原点の右側に位置する場合、「光源色が白く」、「被写体が青い」と推定することができる。
このように、輝度最大値データのYUV平面における分布と、輝度平均値データのYUV平面における分布との位置関係から、光源色の推定と被写体色の推定とを行うことができる。
例えば、g(u/y,v/y)をホワイトバランスの調整を行うべきポイントとすると、ホワイトバランスゲイン算出部133は、g(u/y,v/y)をYUVからRGBに変換する。RGBへの変換は、次式(式4)~(式8)を用いる。なお、Yは、g1’~g4’の単純平均値または分布に重みを付けた加重平均値とする。
U=u/y×Y ・・・(式4)
V=v/y×Y ・・・(式5)
R=1.0×Y+1.402×V ・・・(式6)
G=1.0×Y-0.344×U-0.714×V ・・・(式7)
B=1.0×Y+1.772×U ・・・(式8)
なお、上記(式6)~(式8)に示すRGBへの変換式は一例であって、他の変換係数を用いるようにしてもよい。
V=v/y×Y ・・・(式5)
R=1.0×Y+1.402×V ・・・(式6)
G=1.0×Y-0.344×U-0.714×V ・・・(式7)
B=1.0×Y+1.772×U ・・・(式8)
なお、上記(式6)~(式8)に示すRGBへの変換式は一例であって、他の変換係数を用いるようにしてもよい。
次に、ホワイトバランスゲイン算出部133は、RB比を算出する。そして、ホワイトバランスゲイン算出部133は、算出したRB比から色温度を求める。図11は、色温度とRB比との関係を示すグラフである。このグラフは、横軸を色温度(K)、縦軸をRB比としている。
例えば、実験等によって予め色温度とRB比との関係を求めておき、RB比から色温度を抽出できるようにルックアップテーブルを作成しておく。代表的な色温度のみをテーブル化しておき、テーブルに存在しないRB比の場合には線形補間等を用いて色温度を算出するようにしてもよい。例えば、2500(K)から9500(K)までを500(K)間隔でテーブル作成し、それに対応するRB比を付加しておく。例えば、RB比が1.7であった場合、それに対応する色温度が3000(K)と3500(K)との間であれば、線形補間によってRB比1.7に対応する色温度を算出する。
以上の説明においては、g(u/y,v/y)を、ホワイトバランスを調整するポイントとした。しかしながら、図10に示すように、f(u/y,v/y)(輝度最大値の分布)およびg(u/y,v/y)(輝度平均値の分布)が黒体輻射軌跡に沿って原点の左側に位置するような映像は、例えば、夕焼けのようなシーンを撮像した場合に得られる。
このとき、g(u/y,v/y)のポイントでホワイトバランスを調整すると、画像が白色光下のような画像になってしまい、人間が知覚する夕焼けとは異なる色合いとなってしまう。そこで、このような場合には、g(u/y,v/y)から推定した色温度よりも高い色温度でホワイトバランスを調整し、赤味のある夕焼けの画像を得るようにしてもよい。このように、g(u/y,v/y)だけでなく、f(u/y,v/y)の情報も考慮することにより、適切なホワイトバランスの調整が行える色温度を推定することが可能となる。
図12は、色温度とゲイン調整値との関係を示すグラフである。このグラフは、横軸を色温度(K)、縦軸をゲイン調整値としている。図12において、RBは、Rのゲイン調整値(Red-Balance)を示している。また、BBは、Bのゲイン調整値(Blue-Balance)を示している。
例えば、2500(K)から9500(K)までを500(K)間隔でテーブル作成し、それに対応するゲイン調整値を付加しておく。例えば、推定した色温度が4120(K)であった場合、4000(K)と4500(K)とのゲイン調整値を線形補間し、色温度4120(K)に対応するゲイン調整値を求めることができる。
ホワイトバランスゲイン算出部133は、以上のようにして求められたゲイン調整値を画像データ演算部14に出力する。
画像データ演算部14は、ホワイトバランス画像ゲイン補正部141を含む。ホワイトバランス画像ゲイン補正部141は、ホワイトバランスゲイン算出部133から出力されるゲイン調整値を用いてホワイトバランスを調整する。入力される画素のRGBをそれぞれinR、inG、inBとし、出力される画素のRGBをそれぞれoutR、outG、outBとすると、次式(式9)~(式11)によってホワイトバランスの調整が行われる。
outR=inR×RB ・・・(式9)
outG=inG×1.0 ・・・(式10)
outB=inB×BB ・・・(式11)
<画像処理装置1の処理フロー>
図13は、本発明の実施形態1に係る画像処理装置1の処理手順を説明するためのフローチャートである。まず、ブロック内最大値記憶部125、ブロック内平均値記憶部130等の各部の初期化が行われる(S31)。
outG=inG×1.0 ・・・(式10)
outB=inB×BB ・・・(式11)
<画像処理装置1の処理フロー>
図13は、本発明の実施形態1に係る画像処理装置1の処理手順を説明するためのフローチャートである。まず、ブロック内最大値記憶部125、ブロック内平均値記憶部130等の各部の初期化が行われる(S31)。
次に、ストリーム現在値記憶部121は、画像データ生成部11から出力される画像データの現在の1画素分のデータ(画素値)を格納する(S32)。このとき、ストリーム現在値記憶部121は、画素値から輝度を算出し、画素値と共に格納する。
次に、データ比較部124およびデータ加算部128は、1画素分のデータ(画素値、輝度値)の処理を行う(S33)。そして、画素数カウンタ122のカウント値が1ブロックの画素数に達しているか否かが判定される(S34)。なお、この1画素分のデータ処理(S33)の詳細は、後述する。
画素数カウンタ122のカウント値が1ブロックの画素数に達していなければ(S34,No)、ステップS32に戻って以降の処理が繰り返される。また、画素数カウンタ122のカウント値が1ブロックの画素数に達していれば(S34,Yes)、1ブロック分のデータ処理が行われる(S35)。なお、この1ブロック分のデータ処理(S35)の詳細は、後述する。
次に、ブロック数カウンタ123のカウント値が画像1枚分(1フレーム分)のブロック数と比較され、画像1枚分のデータ読み出しが完了したか否かが判定される(S36)。画像1枚分のデータ読み出しが完了していなければ(S36,No)、ステップS32に戻って以降の処理が繰り返される。
また、画像1枚分のデータ読み出しが完了していれば(S36,Yes)、ホワイトバランスゲイン算出部133は、光源色を推定し、ゲイン調整値を算出する(S37)。そして、ホワイトバランス画像ゲイン補正部141は、ゲイン調整値を使ってホワイトバランス処理を実施し、画像を出力する(S38)。
図14は、図13のステップS33の処理手順の詳細を説明するためのフローチャートである。まず、データ加算部128は、ストリーム現在値記憶部121から出力される現在の画素のR,G,Bの値のそれぞれの合計値を算出する(S41)。
次に、データ比較部124は、ストリーム現在値記憶部121から出力される現在の輝度値とブロック内最大値記憶部125から出力される現在の輝度最大値とを比較し、ストリーム現在値記憶部121から出力される現在の輝度値の方が大きいか否かを判定する(S42)。
現在の輝度値の方が小さければ(S42,No)、処理を終了する。また、現在の輝度値の方が大きければ(S42,Yes)、データ比較部124は、ブロック内最大値記憶部125の内容を更新し(S43)、処理を終了する。
図15は、図13のステップS35の処理手順の詳細を説明するためのフローチャートである。まず、平均値演算部129は、データ加算部128によって算出された画素のR,G,Bの値のそれぞれの合計値から平均値を算出する(S51)。
次に、ブロック内最大値記憶部125は、ブロック内輝度最大値およびそれに対応する画素値を保管し(S52)、ブロック内平均値記憶部130は、ブロック内輝度平均値およびそれに対応する画素値の平均値を保管する(S53)。そして、画素数カウンタ122の初期化を行い(S54)、処理を終了する。
図16は、図15のステップS52(ブロック内輝度値最大値の保管)の処理手順の詳細を説明するためのフローチャートである。まず、データ比較部127は、ブロック内最大値記憶部125から出力されるブロック内輝度最大値およびそれに対応する画素値がホワイトバランス推定に使えるか否かを判定する(S61)。上述のように、データ比較部127は、極めて濃い色の画素、白飛び、黒飛びの場合には、ホワイトバランス推定に使えないと判断し(S61,No)、ブロック内輝度最大値を保管せずに、処理を終了する。
また、ホワイトバランス推定に使えると判断した場合(S61,Yes)、データ比較部127は、内部変数iを初期化して「1」とし(S62)、ブロック内最大値記憶部125から出力されるブロック内輝度最大値が、ブロック代表最大値記憶部126-iに記憶されるブロック代表輝度最大値よりも大きいか否かを判定する(S63)。なお、ブロック代表最大値記憶部126-iは、図1に示すブロック代表最大値記憶部126-1~126-4のいずれかである。
ブロック内最大値記憶部125から出力されるブロック内輝度最大値の方が大きければ(S63,Yes)、データ比較部127は、ブロック代表最大値記憶部126-iに保管されている内容を更新し(S64)、処理を終了する。
また、ブロック内最大値記憶部125から出力されるブロック内輝度最大値の方が小さければ(S63,No)、データ比較部127は、内部変数iをインクリメントし(S65)、内部変数iに対応するブロック代表最大値記憶部126-1~126-4を全て確認したか否かを判定する(S66)。なお、本実施形態においては、内部変数i=1~4である。
内部変数iを全て確認していなければ(S66,No)、ステップS63に戻って以降の処理を繰り返す。また、内部変数iを全て確認していれば(S66,Yes)、処理を終了する。なお、ステップS63~S66の処理を行うことにより、ブロック代表最大値記憶部126-1~126-4の中でブロック代表輝度最大値が最も小さい値が更新されるものとする。
図17は、図15のステップS53(ブロック内輝度平均値の保管)の処理手順の詳細を説明するためのフローチャートである。まず、データ比較部132は、ブロック内平均値記憶部130から出力されるブロック内輝度平均値およびそれに対応する画素値の平均値がホワイトバランス推定に使えるか否かを判定する(S71)。上述のように、データ比較部132は、極めて濃い色の画素、白飛び、黒飛びの場合には、ホワイトバランス推定に使えないと判断し(S71,No)、ブロック内輝度平均値を保管せずに、処理を終了する。
また、ホワイトバランス推定に使えると判断した場合(S71,Yes)、データ比較部132は、内部変数iを初期化して「1」とし(S72)、ブロック内平均値記憶部130から出力されるブロック内輝度平均値が、ブロック代表平均値記憶部131-iに記憶されるブロック代表輝度平均値よりも大きいか否かを判定する(S73)。
ブロック内平均値記憶部130から出力されるブロック内輝度平均値の方が大きければ(S73,Yes)、データ比較部132は、ブロック代表平均値記憶部131-iに保管されている内容を更新し(S74)、処理を終了する。
また、ブロック内平均値記憶部130から出力されるブロック内輝度平均値の方が小さければ(S73,No)、データ比較部132は、内部変数iをインクリメントし(S75)、内部変数iに対応するブロック代表平均値記憶部131-1~131-4を全て確認したか否かを判定する(S76)。なお、本実施形態においては、内部変数i=1~4である。
内部変数iを全て確認していなければ(S76,No)、ステップS73に戻って以降の処理を繰り返す。また、内部変数iを全て確認していれば(S76,Yes)、処理を終了する。なお、ステップS73~S76の処理を行うことにより、ブロック代表平均値記憶部131-1~131-4の中でブロック代表輝度平均値が最も小さい値が更新されるものとする。
<実施形態1の効果>
以上説明したように、本実施形態に係る画像処理装置1によれば、画像データ生成部11から出力される画像データの順に(ストリーム形式で)ブロック分割が行われる。したがって、画像データの入力時にブロック順が前後しないため、ストリーム現在値記憶部121が現在の画素値を記憶するだけで処理が行える。したがって、ブロック毎に画像データを保持するラインバッファのような構成が不要となる。
以上説明したように、本実施形態に係る画像処理装置1によれば、画像データ生成部11から出力される画像データの順に(ストリーム形式で)ブロック分割が行われる。したがって、画像データの入力時にブロック順が前後しないため、ストリーム現在値記憶部121が現在の画素値を記憶するだけで処理が行える。したがって、ブロック毎に画像データを保持するラインバッファのような構成が不要となる。
また、データ比較部124が、現在の画素の輝度値がブロック内最大値記憶部125から出力される現在の輝度最大値よりも大きければ、ブロック内最大値記憶部125の内容を更新するようにした。したがって、ブロック内輝度最大値および対応する画素値を記憶する記憶部を1つにすることができる。
また、データ比較部127が、ブロック内最大値記憶部125から出力されるブロック内輝度最大値がブロック代表輝度最大値よりも大きければ、ブロック代表最大値記憶部126-1~126-4の中の対応する記憶部の内容を更新するようにした。したがって、ブロック代表最大値記憶部の数を変更することにより、任意の数のブロック代表輝度最大値を記憶することができる。
また、データ比較部132が、ブロック内平均値記憶部130から出力されるブロック内輝度平均値がブロック代表輝度平均値よりも大きければ、ブロック代表平均値記憶部131-1~131-4の中の対応する記憶部の内容を更新するようにした。したがって、ブロック代表平均値記憶部の数を変更することにより、任意の数のブロック代表輝度平均値を記憶することができる。
また、ホワイトバランスゲイン算出部133が、輝度最大値の分布および輝度平均値の分布から、光源色の推定と被写体色の推定とを行うようにした。したがって、適切なホワイトバランスの調整が行えるようになる。
また、ホワイトバランスゲイン算出部133が、算出したRB比から色温度を推定し、色温度からゲイン調整値を求めるようにした。したがって、適切なホワイトバランスの調整が行えるゲイン調整値を容易に求めることができる。
[実施形態2]
以下、本発明の実施形態2について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
以下、本発明の実施形態2について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
上述のように、(式1)を用いて輝度値Yを求めることができる。三板カメラや単板カメラのイメージセンサの出力をデモザイクと呼ばれる色補間処理を行った後では、1画素の3色(R,G,B)の情報を持っているため、1画素毎に輝度値Yを求めることができる。しかし、単板カメラのイメージセンサ出力は、1画素に1色のデータしか持っていないため、輝度値Yをそのままでは求めることができない。
本実施形態においては、(m-1)行目とm行目の2行を用いて、4つの画素を1つの画素として取り扱うことで、輝度値Yを求めるものである。
図18は、単板カメラのイメージセンサ出力の一例を示す図である。図18に示すように、R画素の横に隣接するG画素をGr、B画素の横に隣接するG画素をGbとすると、4つの画素を1つの画素として取り扱うことで、次式(式12)を用いて輝度値Yを求めることができる。なお、G信号成分については、Gr、Gbの大小を比較してどちらかを用いるようにしてもよい。
Y=a×R+b×((Gr+Gb)/2)+c×B ・・・(式12)
実施形態1において説明したように、輝度値Yが最大となる画素値を求める必要がある。イメージセンサからの出力がラスター形式の場合、(式12)を用いて輝度値Yを求めるためには、1行ないし2行分の画素データを記憶する記憶領域(以下、ラインバッファと呼ぶ。)が必要となる。
実施形態1において説明したように、輝度値Yが最大となる画素値を求める必要がある。イメージセンサからの出力がラスター形式の場合、(式12)を用いて輝度値Yを求めるためには、1行ないし2行分の画素データを記憶する記憶領域(以下、ラインバッファと呼ぶ。)が必要となる。
輝度値Yを求めるのによく利用される一般的な式として、次式(式13)がある。
Y=0.299×R+0.587×G+0.114×B ・・・(式13)
この式から明らかなように、輝度値Yは、G信号の比率がR,B信号よりも高い。これは人間の目がG信号に敏感であることに由来する。また、単板カメラのイメージセンサの画素配置において、G画素がR,B画素の2倍配置されているのは、輝度情報を多く含むG画素を多く取得したいためである。なお、このような配置は、ベイヤー配置と呼ばれている。
この式から明らかなように、輝度値Yは、G信号の比率がR,B信号よりも高い。これは人間の目がG信号に敏感であることに由来する。また、単板カメラのイメージセンサの画素配置において、G画素がR,B画素の2倍配置されているのは、輝度情報を多く含むG画素を多く取得したいためである。なお、このような配置は、ベイヤー配置と呼ばれている。
以上のように、G信号が輝度情報Yを多く有しているという前提に基づいて、輝度値Yの最大値をG信号の最大値とする。これにより、G画素の最大値を検出するだけで輝度値Yの最大値を求めることができる。上述のように、G画素の横に隣接する画素は、R画素またはB画素の何れかである。
一般的な画素配置においては、1行ごとに、GRGR……GR、BGBG……BGを繰り返す。本実施形態においては、GRGRが繰り返される行のn番目のG画素が最大値であった場合、そのG画素と隣接するR画素のデータと、そのG画素の位置情報とを記憶する。次の行では、BGBGが繰り返されるが、この行ではG画素の最大値を検出せずに、前の行のn番目のG画素およびR画素に対応する現在の行のG画素およびB画素を抽出して輝度値Yを求め、輝度値Yの最大値とする。
図19は、輝度情報Yの最大値の算出方法を模式的に示す図である。図19に示すように、GRGRが繰り返される行において、G画素の最大値を検出する。このとき、n番目のG画素が最大値であったとすると、n-1番目のR画素も併せて抽出される。そして、次の行において、n-1番目のG画素とn番目のB画素とが抽出される。これら4つの画素から輝度情報Yを算出し、輝度情報Yの最大値とする。
このように、本実施形態においては、1行に存在するブロック数分のGr画素およびR画素と、位置情報とを記憶するだけで、ブロック内における輝度最大値を求めることができる。
次に、ブロック内の画素値の平均値の算出方法について説明する。まず、GRGRが繰り返される行において、ブロック内のGr画素およびR画素のそれぞれの値を加算して合計値を算出し、記憶しておく。この合計値の算出は、次式(式14)および(式15)によって行われる。i=1~N(Nはブロック内の1行におけるそれぞれの画素数)。なお、Sumは、それまでの合計値を示す。
SumRi=SumRi-1+Ri ・・・(式14)
SumGri=SumGri-1+Gri ・・・(式15)
次に、BGBGが繰り返される次の行において、ブロック内のB画素およびGb画素のそれぞれの値を加算して合計値を算出する。この合計値の算出は、次式(式16)および(式17)によって行われる。i=1~n(nはブロック内の1行におけるそれぞれの画素数)。
SumGri=SumGri-1+Gri ・・・(式15)
次に、BGBGが繰り返される次の行において、ブロック内のB画素およびGb画素のそれぞれの値を加算して合計値を算出する。この合計値の算出は、次式(式16)および(式17)によって行われる。i=1~n(nはブロック内の1行におけるそれぞれの画素数)。
SumBi=SumBi-1+Bi ・・・(式16)
SumGbi=SumGbi-1+Gbi ・・・(式17)
最後に、記憶される前の行のR画素の合計値およびGr画素の合計値と、算出されたB画素の合計値およびGb画素の合計値とから、次式(式18)~(式20)を用いて、それぞれの画素値の平均値を算出する。なお、Avrは、平均値を示す。
SumGbi=SumGbi-1+Gbi ・・・(式17)
最後に、記憶される前の行のR画素の合計値およびGr画素の合計値と、算出されたB画素の合計値およびGb画素の合計値とから、次式(式18)~(式20)を用いて、それぞれの画素値の平均値を算出する。なお、Avrは、平均値を示す。
AvrR=SumR/n ・・・(式18)
AvrG=(SumGr+SumGb)/2n ・・・(式19)
AvrB=SumB/n ・・・(式20)
このように、本実施形態においては、1行に存在するブロック数分のGr画素の合計値およびR画素の合計値を記憶するだけで、ブロック内における画素値の平均値および輝度平均値を求めることができる。
AvrG=(SumGr+SumGb)/2n ・・・(式19)
AvrB=SumB/n ・・・(式20)
このように、本実施形態においては、1行に存在するブロック数分のGr画素の合計値およびR画素の合計値を記憶するだけで、ブロック内における画素値の平均値および輝度平均値を求めることができる。
<実施形態2の効果>
以上説明したように、本実施形態に係る画像処理装置においては、ブロック内におけるGr画素の最大値を求め、それに対応するR画素、B画素およびGb画素から輝度最大値を算出するようにした。したがって、1行に存在するブロック数分のGr画素およびR画素と、位置情報とを記憶するだけで、ブロック内における輝度最大値を求めることができる。
以上説明したように、本実施形態に係る画像処理装置においては、ブロック内におけるGr画素の最大値を求め、それに対応するR画素、B画素およびGb画素から輝度最大値を算出するようにした。したがって、1行に存在するブロック数分のGr画素およびR画素と、位置情報とを記憶するだけで、ブロック内における輝度最大値を求めることができる。
また、ブロック内におけるGr画素およびR画素のそれぞれの値を加算して合計値を算出し、ブロック内のB画素およびGb画素のそれぞれの値を加算して合計値を算出する。そして、これらの値を用いて画素値の平均値を算出する。したがって、1行に存在するブロック数分のGr画素の合計値およびR画素の合計値を記憶するだけで、ブロック内における画素値の平均値および輝度平均値を求めることができる。
[実施形態3]
以下、本発明の実施形態3について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
以下、本発明の実施形態3について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
近年、イメージセンサの画素数が多くなり、画素値を高速で読み出す手法が必要となっている。その一例として、1フレームを複数に分割し、並列して画素値を読み出す手法を挙げることができる。
図20は、1フレーム分の画素値を並列に読み出す方法を説明するための図である。図20に示すように、例えば、1画面を4つの画面に分割し、それぞれの分割画面の左上の画素から順に並列で画素値を読み出す。
<画像処理装置1Aの構成例>
図21は、本発明の実施形態3に係る画像処理装置1Aの機能的構成を示すブロック図である。画像処理装置1Aは、画像データ生成部11と、ホワイトバランスパラメータ演算部12-1~12-4と、ホワイトバランスゲイン算出部133と、ホワイトバランス画像ゲイン補正部141とを含む。ホワイトバランスパラメータ演算部12-1~12-4は、それぞれ図1に示す構成を有しており、4つの分割画面に対応している。
図21は、本発明の実施形態3に係る画像処理装置1Aの機能的構成を示すブロック図である。画像処理装置1Aは、画像データ生成部11と、ホワイトバランスパラメータ演算部12-1~12-4と、ホワイトバランスゲイン算出部133と、ホワイトバランス画像ゲイン補正部141とを含む。ホワイトバランスパラメータ演算部12-1~12-4は、それぞれ図1に示す構成を有しており、4つの分割画面に対応している。
図22は、1フレーム分の画像データの分割を説明するための図である。図22に示すように、1フレーム分の画像データが、画面1~画面4の4つに分割されており、ホワイトバランスパラメータ演算部12-1~12-4は、画面1~画面4のそれぞれの画像データを処理する。
画像データ生成部11は、画面1~画面4のそれぞれの画像データを並列でホワイトバランスパラメータ演算部12-1~12-4およびホワイトバランス画像ゲイン補正部141に出力する。
ホワイトバランスパラメータ演算部12-1~12-4は、画面1~画面4に対応する画像データを処理し、画面1~4に対応するブロック代表最大値およびブロック代表平均値をホワイトバランスゲイン算出部133に出力する。なお、ホワイトバランスパラメータ演算部12-1~12-4はそれぞれ、ブロック代表最大値記憶部126-1~126-4に記憶される4つのブロック代表最大値を順次出力し、それと並行して、ブロック代表平均値記憶部131-1~131-4に記憶される4つのブロック代表平均値を順次出力する。
ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値を演算し、新たなブロック代表最大値を算出する。例えば、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の平均値を算出し、新たなブロック代表最大値としてもよい。
また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の重み付き平均値を算出し、新たなブロック代表最大値としてもよい。
また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の最大値を抽出し、新たなブロック代表最大値としてもよい。
同様に、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値を演算し、新たなブロック代表平均値を算出する。例えば、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の平均値を算出し、新たなブロック代表平均値としてもよい。
また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の重み付き平均値を算出し、新たなブロック代表平均値としてもよい。
また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の最大値を抽出し、新たなブロック代表平均値としてもよい。
ホワイトバランスゲイン算出部133における以降の処理は、実施形態1において説明したものと同様である。ホワイトバランス画像ゲイン補正部141は、ホワイトバランスゲイン算出部133から出力されるゲイン調整値を用いてホワイトバランスを調整する。なお、画像データ生成部11から出力される4つの画像データのそれぞれに同じゲイン調整値が使用される。
<実施形態3の効果>
以上説明したように、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値を演算し、新たなブロック代表最大値を算出する。また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値を演算し、新たなブロック代表平均値を算出する。したがって、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
以上説明したように、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値を演算し、新たなブロック代表最大値を算出する。また、ホワイトバランスゲイン算出部133は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値を演算し、新たなブロック代表平均値を算出する。したがって、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
[実施形態4]
以下、本発明の実施形態4について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
以下、本発明の実施形態4について、詳細に説明する。なお、説明の便宜上、同一の部材には同一の符号を付し、それらの名称および機能も同一である。したがって、それらの詳細な説明は繰り返さない。
本実施形態においては、図21に示す実施形態3に係る画像処理装置1Aにブロック代表値記憶部15が付加され、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値およびブロック代表平均値の最大値を算出するものである。
<画像処理装置1Bの構成例>
図23は、本発明の実施形態4に係る画像処理装置1Bの機能的構成を示すブロック図である。図21に示す実施形態3に係る画像処理装置1Aと比較して、ブロック代表値記憶部15が追加されている点のみが異なる。
図23は、本発明の実施形態4に係る画像処理装置1Bの機能的構成を示すブロック図である。図21に示す実施形態3に係る画像処理装置1Aと比較して、ブロック代表値記憶部15が追加されている点のみが異なる。
図24は、ブロック代表値記憶部15の内部構成を示すブロック図である。ブロック代表値記憶部15は、データ比較部151、152、154および155と、ブロック代表平均値記憶部153-1~153-4と、ブロック代表最大値記憶部156-1~156-4とを含む。
データ比較部151は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の輝度平均値を比較し、輝度平均値が最も大きいブロック代表平均値をデータ比較部152に出力する。
データ比較部152は、データ比較部151から出力されるブロック代表平均値の輝度平均値と、ブロック代表平均値記憶部153-1~153-4に記憶されるブロック代表輝度平均値の中の最も小さい値とを比較する。データ比較部152は、データ比較部152から出力されるブロック代表輝度平均値の方が大きければ、ブロック代表平均値記憶部153-1~153-4の中の対応する記憶部の値を、データ比較部152から出力されるブロック代表輝度平均値で更新する。このとき、対応するR,G,Bの平均値も記憶させる。
データ比較部154は、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の輝度最大値を比較し、輝度最大値が最も大きいブロック代表最大値をデータ比較部155に出力する。
データ比較部155は、データ比較部154から出力されるブロック代表最大値の輝度最大値と、ブロック代表最大値記憶部156-1~156-4に記憶されるブロック代表輝度最大値の中の最も小さい値とを比較する。データ比較部155は、データ比較部154から出力されるブロック代表輝度最大値の方が大きければ、ブロック代表最大値記憶部156-1~156-4の中の対応する記憶部の値を、データ比較部155から出力されるブロック代表輝度最大値で更新する。このとき、対応するR,G,Bの値も記憶させる。
<実施形態4の効果>
以上説明したように、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の輝度平均値を比較し、輝度平均値が最も大きいブロック代表平均値に基づいて、ブロック代表平均値記憶部153-1~153-4の内容を更新するようにした。また、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の輝度最大値を比較し、輝度最大値が最も大きいブロック代表最大値に基づいて、ブロック代表最大値記憶部156-1~156-4の内容を更新するようにした。したがって、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
以上説明したように、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表平均値の輝度平均値を比較し、輝度平均値が最も大きいブロック代表平均値に基づいて、ブロック代表平均値記憶部153-1~153-4の内容を更新するようにした。また、ホワイトバランスパラメータ演算部12-1~12-4から出力されるブロック代表最大値の輝度最大値を比較し、輝度最大値が最も大きいブロック代表最大値に基づいて、ブロック代表最大値記憶部156-1~156-4の内容を更新するようにした。したがって、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
<ソフトウェアによる実現例>
画像処理装置1の制御ブロック(特に、ホワイトバランスゲイン算出部133)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
画像処理装置1の制御ブロック(特に、ホワイトバランスゲイン算出部133)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
後者の場合、ホワイトバランスゲイン算出部ブロックは、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば少なくとも1つのプロセッサ(制御装置)を備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な少なくとも1つの記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
[まとめ]
本発明の態様1に係る画像処理装置は、ストリーム形式の画像データを入力順に複数のブロックに分割し、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値を演算するホワイトバランスパラメータ演算部と、
前記ホワイトバランスパラメータ演算部によって演算された前記輝度最大値および前記輝度平均値から求められたパラメータに基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える。
本発明の態様1に係る画像処理装置は、ストリーム形式の画像データを入力順に複数のブロックに分割し、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値を演算するホワイトバランスパラメータ演算部と、
前記ホワイトバランスパラメータ演算部によって演算された前記輝度最大値および前記輝度平均値から求められたパラメータに基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える。
上記の構成によれば、画像データの順に(ストリーム形式で)ブロック分割が行われるため、ブロック毎に画像データを保持するラインバッファのような構成が不要となる。
本発明の態様2に係る画像処理装置は、上記態様1において、前記ホワイトバランスパラメータ演算部は、前記画像データの現在の画素の画素値および輝度値を記憶するストリーム現在値記憶部と、
前記ブロック内の画素の輝度最大値および対応する画素値を記憶するブロック内最大値記憶部と、
前記ストリーム現在値記憶部に記憶される前記画像データの現在の画素の輝度値と、前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値とを比較し、比較結果に応じて前記ブロック内最大値記憶部の内容を更新する第1のデータ比較部とを備える。
前記ブロック内の画素の輝度最大値および対応する画素値を記憶するブロック内最大値記憶部と、
前記ストリーム現在値記憶部に記憶される前記画像データの現在の画素の輝度値と、前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値とを比較し、比較結果に応じて前記ブロック内最大値記憶部の内容を更新する第1のデータ比較部とを備える。
上記の構成によれば、画像データの入力時にブロック順が前後しないため、ストリーム現在値記憶部が現在の画素値を記憶するだけで処理が行える。したがって、ブロック毎に画像データを保持するラインバッファのような構成が不要となる。
また、ブロック内の画素の輝度最大値および対応する画素値を記憶する記憶部を1つにすることができる。
本発明の態様3に係る画像処理装置は、上記態様2において、前記ホワイトバランスパラメータ演算部はさらに、1フレーム内のブロックを代表するブロック代表輝度最大値および対応する画素値を記憶するブロック代表最大値記憶部と、
前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値と、前記ブロック代表最大値記憶部に記憶されるブロック代表輝度最大値とを比較し、比較結果に応じて前記ブロック代表最大値記憶部の内容を更新する第2のデータ比較部とを備える。
前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値と、前記ブロック代表最大値記憶部に記憶されるブロック代表輝度最大値とを比較し、比較結果に応じて前記ブロック代表最大値記憶部の内容を更新する第2のデータ比較部とを備える。
上記の構成によれば、ブロック代表最大値記憶部の数を変更することにより、任意の数のブロック代表輝度最大値を記憶することができる。
本発明の態様4に係る画像処理装置は、上記態様3において、前記ホワイトバランスパラメータ演算部はさらに、前記ストリーム現在値記憶部に記憶される前記画像データの現在の画素の画素値を1ブロック分だけ加算するデータ加算部と、
前記データ加算部によって算出された画素値の合計値から、1ブロック内の画素値の平均値を演算する平均値演算部と、
前記平均値演算部によって演算された1ブロック内の画素値の平均値および輝度平均値を記憶するブロック内平均値記憶部と、を備える。
前記データ加算部によって算出された画素値の合計値から、1ブロック内の画素値の平均値を演算する平均値演算部と、
前記平均値演算部によって演算された1ブロック内の画素値の平均値および輝度平均値を記憶するブロック内平均値記憶部と、を備える。
上記の構成によれば、1ブロック内の画素値の平均値および輝度平均値を容易に算出することができる。
本発明の態様5に係る画像処理装置は、上記態様4において、前記ホワイトバランスパラメータ演算部はさらに、1フレーム内のブロックを代表するブロック代表輝度平均値および対応する画素値の平均値を記憶するブロック代表平均値記憶部と、
前記ブロック内平均値記憶部に記憶される前記ブロック内の画素の輝度平均値と、前記ブロック代表平均値記憶部に記憶されるブロック代表輝度平均値とを比較し、比較結果に応じて前記ブロック代表平均値記憶部の内容を更新する第3のデータ比較部とを備える。
前記ブロック内平均値記憶部に記憶される前記ブロック内の画素の輝度平均値と、前記ブロック代表平均値記憶部に記憶されるブロック代表輝度平均値とを比較し、比較結果に応じて前記ブロック代表平均値記憶部の内容を更新する第3のデータ比較部とを備える。
上記の構成によれば、ブロック代表平均値記憶部の数を変更することにより、任意の数のブロック代表輝度平均値を記憶することができる。
本発明の態様6に係る画像処理装置は、上記態様5において、前記ホワイトバランスゲイン算出部は、前記ブロック代表最大値記憶部に記憶されるブロック代表輝度最大値および対応する画素値と、前記ブロック代表平均値記憶部に記憶されるブロック代表輝度平均値および対応する画素値の平均値とを用いて、前記ゲイン調整値を演算する。
上記の構成によれば、ゲイン調整値を容易に演算することができる。
本発明の態様7に係る画像処理装置は、上記態様6において、前記ホワイトバランスゲイン算出部は、前記ブロック代表最大値記憶部に記憶される前記ブロック代表輝度最大値に対応する画素値と、前記ブロック代表平均値記憶部に記憶される前記ブロック代表輝度平均値に対応する画素値の平均値とを、第1の色空間から第2の色空間に変換して光源色および被写体色を推定する。
上記の構成によれば、ホワイトバランスゲイン算出部が、光源色の推定と被写体色の推定とを行うので、適切なホワイトバランスの調整が行えるようになる。
本発明の態様8に係る画像処理装置は、上記態様6または7において、前記ホワイトバランスゲイン算出部は、前記ブロック代表平均値記憶部に記憶される前記ブロック代表輝度平均値に対応する画素値の平均値から色温度を抽出し、
抽出された前記色温度から前記ゲイン調整値を算出する。
抽出された前記色温度から前記ゲイン調整値を算出する。
上記の構成によれば、ホワイトバランスゲイン算出部が、色温度からゲイン調整値を求めるようにした。したがって、適切なホワイトバランスの調整が行えるゲイン調整値を容易に求めることができる。
本発明の態様9に係る画像処理装置は、上記態様6~8のいずれかにおいて、前記画像データ演算部は、ストリーム形式の前記画像データの画素値に、前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を乗算して出力する。
上記の構成によれば、ホワイトバランスの調整を容易に行えるようになる。
本発明の態様10に係る画像処理装置は、上記態様1において、前記画像データは、所定の行においてR画素およびGr画素が繰り返し出力され、次の行においてB画素およびGb画素が繰り返し出力され、
前記ホワイトバランスパラメータ演算部は、前記所定の行における前記ブロック内のGr画素の最大値を前記輝度最大値とし、
前記所定の行における前記ブロック内のR画素の合計値およびGr画素の合計値と、前記次の行における前記ブロック内のB画素の合計値およびGb画素の合計値とから前記輝度平均値を算出する。
前記ホワイトバランスパラメータ演算部は、前記所定の行における前記ブロック内のGr画素の最大値を前記輝度最大値とし、
前記所定の行における前記ブロック内のR画素の合計値およびGr画素の合計値と、前記次の行における前記ブロック内のB画素の合計値およびGb画素の合計値とから前記輝度平均値を算出する。
上記の構成によれば、1行に存在するブロック数分のGr画素およびR画素と、位置情報とを記憶するだけで、ブロック内における輝度最大値を求めることができる。また、1行に存在するブロック数分のGr画素の合計値およびR画素の合計値を記憶するだけで、ブロック内における画素値の平均値および輝度平均値を求めることができる。
本発明の態様11に係る画像処理装置は、分割された複数の画面に対応して設けられ、ストリーム形式の画像データを入力順に複数のブロックに分割し、分割された画面内のブロックを代表するブロック代表輝度最大値およびブロック代表輝度平均値を演算する複数のホワイトバランスパラメータ演算部と、
前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値およびブロック代表輝度平均値に基づいて、さらなるブロック代表輝度最大値およびさらなるブロック代表輝度平均値を抽出して記憶するブロック代表値記憶部と、
前記ブロック代表値記憶部に記憶される前記さらなるブロック代表輝度最大値および前記さらなるブロック代表輝度平均値を用いて、ゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える。
前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値およびブロック代表輝度平均値に基づいて、さらなるブロック代表輝度最大値およびさらなるブロック代表輝度平均値を抽出して記憶するブロック代表値記憶部と、
前記ブロック代表値記憶部に記憶される前記さらなるブロック代表輝度最大値および前記さらなるブロック代表輝度平均値を用いて、ゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える。
上記の構成によれば、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
本発明の態様12に係る画像処理装置は、上記態様11において、前記ブロック代表値記憶部は、前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値の中の最大値を前記さらなるブロック代表輝度最大値とし、前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度平均値の中の最大値を前記さらなるブロック代表輝度平均値とする。
上記の構成によれば、1フレームを複数に分割し、並列して画素値を読み出すような画像処理装置にも適用することが可能となる。
本発明の態様13に係る画像処理方法は、ストリーム形式の画像データを入力順に複数のブロックに分割するステップと、
ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値に基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するステップと、
算出された前記ゲイン調整値を用いて、前記画像データを演算するステップと、を含む。
ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値に基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するステップと、
算出された前記ゲイン調整値を用いて、前記画像データを演算するステップと、を含む。
上記の構成によれば、画像データの順に(ストリーム形式で)ブロック分割が行われるため、ブロック毎に画像データを保持するラインバッファのような構成が不要となる。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
1 画像処理装置
11 画像データ生成部
12 ホワイトバランスパラメータ演算部
14 画像データ演算部
15 ブロック代表値記憶部
121 ストリーム現在値記憶部
122 画素数カウンタ
123 ブロック数カウンタ
124,127,132,151,152,154,155 データ比較部
125 ブロック内最大値記憶部
126-1~126-4,156-1~156-4 ブロック代表最大値記憶部
128 データ加算部
129 平均値演算部
130 ブロック内平均値記憶部
131-1~131-4,153-1~153-4 ブロック代表平均値記憶部
133 ホワイトバランスゲイン算出部
141 ホワイトバランス画像ゲイン補正部
11 画像データ生成部
12 ホワイトバランスパラメータ演算部
14 画像データ演算部
15 ブロック代表値記憶部
121 ストリーム現在値記憶部
122 画素数カウンタ
123 ブロック数カウンタ
124,127,132,151,152,154,155 データ比較部
125 ブロック内最大値記憶部
126-1~126-4,156-1~156-4 ブロック代表最大値記憶部
128 データ加算部
129 平均値演算部
130 ブロック内平均値記憶部
131-1~131-4,153-1~153-4 ブロック代表平均値記憶部
133 ホワイトバランスゲイン算出部
141 ホワイトバランス画像ゲイン補正部
Claims (13)
- ストリーム形式の画像データを入力順に複数のブロックに分割し、ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値を演算するホワイトバランスパラメータ演算部と、
前記ホワイトバランスパラメータ演算部によって演算された前記輝度最大値および前記輝度平均値から求められたパラメータに基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える画像処理装置。 - 前記ホワイトバランスパラメータ演算部は、前記画像データの現在の画素の画素値および輝度値を記憶するストリーム現在値記憶部と、
前記ブロック内の画素の輝度最大値および対応する画素値を記憶するブロック内最大値記憶部と、
前記ストリーム現在値記憶部に記憶される前記画像データの現在の画素の輝度値と、前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値とを比較し、比較結果に応じて前記ブロック内最大値記憶部の内容を更新する第1のデータ比較部とを備える、請求項1に記載の画像処理装置。 - 前記ホワイトバランスパラメータ演算部はさらに、1フレーム内のブロックを代表するブロック代表輝度最大値および対応する画素値を記憶するブロック代表最大値記憶部と、
前記ブロック内最大値記憶部に記憶される前記ブロック内の画素の輝度最大値と、前記ブロック代表最大値記憶部に記憶されるブロック代表輝度最大値とを比較し、比較結果に応じて前記ブロック代表最大値記憶部の内容を更新する第2のデータ比較部とを備える、請求項2に記載の画像処理装置。 - 前記ホワイトバランスパラメータ演算部はさらに、前記ストリーム現在値記憶部に記憶される前記画像データの現在の画素の画素値を1ブロック分だけ加算するデータ加算部と、
前記データ加算部によって算出された画素値の合計値から、1ブロック内の画素値の平均値を演算する平均値演算部と、
前記平均値演算部によって演算された1ブロック内の画素値の平均値および輝度平均値を記憶するブロック内平均値記憶部と、を備える、請求項3に記載の画像処理装置。 - 前記ホワイトバランスパラメータ演算部はさらに、1フレーム内のブロックを代表するブロック代表輝度平均値および対応する画素値の平均値を記憶するブロック代表平均値記憶部と、
前記ブロック内平均値記憶部に記憶される前記ブロック内の画素の輝度平均値と、前記ブロック代表平均値記憶部に記憶されるブロック代表輝度平均値とを比較し、比較結果に応じて前記ブロック代表平均値記憶部の内容を更新する第3のデータ比較部とを備える、請求項4に記載の画像処理装置。 - 前記ホワイトバランスゲイン算出部は、前記ブロック代表最大値記憶部に記憶されるブロック代表輝度最大値および対応する画素値と、前記ブロック代表平均値記憶部に記憶されるブロック代表輝度平均値および対応する画素値の平均値とを用いて、前記ゲイン調整値を演算する、請求項5に記載の画像処理装置。
- 前記ホワイトバランスゲイン算出部は、前記ブロック代表最大値記憶部に記憶される前記ブロック代表輝度最大値に対応する画素値と、前記ブロック代表平均値記憶部に記憶される前記ブロック代表輝度平均値に対応する画素値の平均値とを、第1の色空間から第2の色空間に変換して光源色および被写体色を推定する、請求項6に記載の画像処理装置。
- 前記ホワイトバランスゲイン算出部は、前記ブロック代表平均値記憶部に記憶される前記ブロック代表輝度平均値に対応する画素値の平均値から色温度を抽出し、
抽出された前記色温度から前記ゲイン調整値を算出する、請求項6または7に記載の画像処理装置。 - 前記画像データ演算部は、ストリーム形式の前記画像データの画素値に、前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を乗算して出力する、請求項6~8のいずれか1項に記載の画像処理装置。
- 前記画像データは、所定の行においてR画素およびGr画素が繰り返し出力され、次の行においてB画素およびGb画素が繰り返し出力され、
前記ホワイトバランスパラメータ演算部は、前記所定の行における前記ブロック内のGr画素の最大値を前記輝度最大値とし、
前記所定の行における前記ブロック内のR画素の合計値およびGr画素の合計値と、前記次の行における前記ブロック内のB画素の合計値およびGb画素の合計値とから前記輝度平均値を算出する、請求項1に記載の画像処理装置。 - 分割された複数の画面に対応して設けられ、ストリーム形式の画像データを入力順に複数のブロックに分割し、分割された画面内のブロックを代表するブロック代表輝度最大値およびブロック代表輝度平均値を演算する複数のホワイトバランスパラメータ演算部と、
前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値およびブロック代表輝度平均値に基づいて、さらなるブロック代表輝度最大値およびさらなるブロック代表輝度平均値を抽出して記憶するブロック代表値記憶部と、
前記ブロック代表値記憶部に記憶される前記さらなるブロック代表輝度最大値および前記さらなるブロック代表輝度平均値を用いて、ゲイン調整値を算出するホワイトバランスゲイン算出部と、
前記ホワイトバランスゲイン算出部によって算出された前記ゲイン調整値を用いて、前記画像データを演算する画像データ演算部と、を備える、画像処理装置。 - 前記ブロック代表値記憶部は、前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度最大値の中の最大値を前記さらなるブロック代表輝度最大値とし、前記複数のホワイトバランスパラメータ演算部によって演算された複数のブロック代表輝度平均値の中の最大値を前記さらなるブロック代表輝度平均値とする、請求項11に記載の画像処理装置。
- ストリーム形式の画像データを入力順に複数のブロックに分割するステップと、
ブロック内の画素の輝度最大値および当該ブロック内の画素の輝度平均値に基づいて、ホワイトバランスを調整するためのゲイン調整値を算出するステップと、
算出された前記ゲイン調整値を用いて、前記画像データを演算するステップと、を含む画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021103535A JP2023002345A (ja) | 2021-06-22 | 2021-06-22 | 画像処理装置および画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021103535A JP2023002345A (ja) | 2021-06-22 | 2021-06-22 | 画像処理装置および画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023002345A true JP2023002345A (ja) | 2023-01-10 |
Family
ID=84797726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021103535A Pending JP2023002345A (ja) | 2021-06-22 | 2021-06-22 | 画像処理装置および画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023002345A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100906954B1 (ko) * | 2008-12-18 | 2009-07-08 | 진명환경산업 주식회사 | 저압용 소화가스저장시설 |
-
2021
- 2021-06-22 JP JP2021103535A patent/JP2023002345A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100906954B1 (ko) * | 2008-12-18 | 2009-07-08 | 진명환경산업 주식회사 | 저압용 소화가스저장시설 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10916036B2 (en) | Method and system of generating multi-exposure camera statistics for image processing | |
US10530995B2 (en) | Global tone mapping | |
US7102669B2 (en) | Digital color image pre-processing | |
CN100525397C (zh) | 摄像装置和方法 | |
US8169500B2 (en) | Dynamic range compression apparatus, dynamic range compression method, computer-readable recording medium, integrated circuit, and imaging apparatus | |
CN102387373B (zh) | 图像处理设备和图像处理方法 | |
US9578211B2 (en) | Image de-noising methods and apparatuses using the same | |
CN106131460A (zh) | 成像装置、成像系统和信号处理方法 | |
JP2006270622A (ja) | 撮像装置及び画像処理方法 | |
US9443284B1 (en) | Methods for AWB (automatic white balance) compensation and apparatuses using the same | |
JP2007174117A (ja) | 画像処理回路および画像処理方法 | |
US20220198625A1 (en) | High-dynamic-range image generation with pre-combination denoising | |
WO2019104047A1 (en) | Global tone mapping | |
WO2021256107A1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム | |
JP6887853B2 (ja) | 撮像装置、その制御方法、プログラム | |
CN114240782A (zh) | 图像校正方法、系统及电子设备 | |
US20060017597A1 (en) | Method of signal reconstruction, imaging device and computer program product | |
JP2023002345A (ja) | 画像処理装置および画像処理方法 | |
US9131200B2 (en) | White balance adjusting method with scene detection and device thereof | |
US20060177148A1 (en) | Image processing device, image processing program, and program-recording medium | |
CN114223209A (zh) | Hdr图像传感器的自适应图像数据线性化 | |
JP2009004966A (ja) | 撮像装置 | |
JPH11205812A (ja) | 白バランス制御方法及び装置 | |
JP2000165896A (ja) | ホワイトバランス制御方法及びその装置 | |
JP2008219230A (ja) | 撮像装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20240321 |