以下、本発明の実施の形態による画像処理装置の一例について、図面を参照して説明する。なお、ここでは、当該画像処理装置は、例えば、デジタルビデオカメラ等の撮像装置に備えられているものとして説明するが、画像処理装置単体であっても、同様にして、画像処理を行う際に適用できるものである。また、撮像装置に限らず、他の電子機器等に当該画像処理装置を組み込むようにしてもよい。
図1は、本発明の実施の形態による画像処理装置の一例が用いられる撮像装置100の第1の例を示すブロック図である。
図1を参照して、図示の撮像装置100は、画像処理装置を有している。図示の例においては、例えば、色差信号補正部108、エンコーダ109、信号分割部110、色相・彩度算出部111、ブロック分類部112、ブロック相対位置判定部113、シーン判別部115、及びカメラ制御部116が画像処理装置を構成するものとする。
そして、図示の撮像装置100は、上記の画像処理装置に他に、レンズ101、アイリス102、撮像素子103、AGC(Automatic Gain Control)アンプ104、輝度・色信号生成部105、ホワイトバランス(WB)増幅部106、色差信号生成部107を備えている。
図示の例では、撮像素子103として、例えば、CCD(Charge Coupled Device)イメージセンサーが用いられている。
レンズ101は、被写体からの光束を、アイリス102を介して撮像素子103上に結像させる。撮像素子103では、結像された像を光電変換して、撮像信号として出力する。
この撮像信号は、AGC(Automatic Gain Control)アンプ104において、適正なレベルにゲイン調整された後、輝度・色信号生成部105に与えられる。
輝度・色信号生成部105は、撮像信号を、輝度信号(Y)と色信号(R,G,B)とに変換する。そして、輝度信号(Y)は、エンコーダ109に与えられ、色信号(R,G,B)はWB増幅部106に与えられる。
WB増幅部106は、色信号(R,G,B)をホワイトバランスゲインに応じて増幅し、増幅色信号(R’,G’,B’)とする。そして、この増幅色信号(R’,G’,B’)は色差信号生成部107に与えられる。色差信号生成部107は、増幅色信号(R’,G’,B’)から色差信号(R’−Y,B’−Y)を生成する。図示の例においては、色差信号(R’−Y,B’−Y)が画像信号である。
そして、色差信号補正部108は、カメラ制御部116の制御下で、色差信号(R’−Y,B’−Y)に対してそのゲイン調整等の画像処理を行って、色差信号(R’−Y,B’−Y)の補正を行う。そして、補正後の色差信号(R’−Y,B’−Y)は、エンコーダ109に与えられる。
エンコーダ109は、輝度信号(Y)及び色差信号(R’−Y,B’−Y)に応じて、例えば、NTSC等の標準テレビジョン信号を生成し、この標準テレビジョン信号を記録部(図示せず)に出力する。
一方、前述の色差信号(R’−Y,B’−Y)は信号分割部(画像分割手段)110に与えられる。信号分割部110は、色差信号(R’−Y,B’−Y)が示す画像を、後述するようにして、その行方向及び列方向に予め定められた数のブロック(ブロック領域)に分割する。そして、信号分割部110は、画像分割の結果である画像分割結果を色相・彩度算出部111に与える。
色相・彩度算出部(色相・彩度算出手段)111は、画像分割結果が示す上記のブロックの各々について、色差信号(R’−Y,B’−Y)から色相及び彩度信号(つまり、色相・彩度情報(Hue及びChroma))を算出する。この色相及び彩度信号は、色分布情報とも呼ばれる。
そして、この色相及び彩度信号は、画像分割結果とともに、色相・彩度計算部111からブロック分類部(ブロック領域分類手段)112に与えられる。
ブロック分類部112は、画像分割結果及び色相・彩度信号を受け、前述のブロックの各々について、その色相・彩度信号が示す色相・彩度情報に基づいて、ブロック毎の色分布を、後述するように判別して、ブロックの分類を行う。そして、ブロック分類部112はブロック分類結果(ブロック領域分類結果)をブロック相対位置判定部113及びシーン判別部115に与える。
ブロック相対位置判定部113には、ブロックの密集度を算出するためのブロック密集度算出部(ブロック領域密集度算出手段)114が備えられている。このブロック密集度算出部114は、ブロック分類結果に応じて、例えば、夕日色(予め規定された第1の色)に対応付けられたブロックの画像における密集度をブロック密集度として求める。そして、このブロック密集度(以下、単に密集度と呼ぶ)は、シーン判別部115に与えられる。
前述のブロック分類結果及び密集度は、ブロック相対位置関係(ブロック領域相対位置関係)として、シーン判別部(シーン判別手段)115に与えられることになる。
シーン判別部115は、例えば、シーン判別部115は、ブロック分類結果に応じて、夕日色に対応するブロックの割合を夕日色ブロック割合(色領域割合)として求める。
そして、シーン判別部115は、後述するようにして、夕日色ブロック割合と密集度とに基づいてシーン判別処理を行って、シーン判別結果を求める。そして、シーン判別部115は、シーン判別結果をカメラ制御部116に与える。カメラ制御部(制御手段)116は、後述するようにして、シーン判別結果に応じて色差信号補正部108を制御する。
なお、信号線は示されていないが、カメラ制御部116によって撮像装置100全体が制御される。例えば、カメラ制御部116は、WBゲインを算出し、WB増幅部106は、このWBゲインに基づいて色信号(R,G,B)を増幅して、増幅色信号(R’,G’,B’)とする。
また、カメラ制御部116は、色差信号補正部108に与えるゲインを、後述するようにして算出し、色差信号補正部108はこのゲインに応じて色差信号(R’−Y,B’−Y)を補正することになる。
図2は、図1に示す信号分割部110において、色差信号(R’−Y,B’−Y)が示す画像のブロック分割の一例を説明するための図である。
図1及び図2を参照すると、信号分割部110では、画像信号である色差信号(R’−Y,B’−Y)が示す画像を、例えば、64(8×8)個のブロックBL(11)〜BL(88)に分割する。ここでは、各ブロックは、図中左上から順にBL(11)、BL(12)、・・・、及びBL(88)と符号が付けられている。
信号分割部110は、ブロックBL(11)〜BL(88)毎に色差信号(R’−Y,B’−Y)の色差平均値(R’−Y,B’−Y)を算出する。そして、信号分割部110は、ブロックBL(11)〜BL(88)毎の色差平均値(R’−Y,B’−Y)を、画像分割結果として色相・彩度算出部111に与える。
色相・彩度算出部111は、ブロックBL(11)〜BL(88)毎の色差平均値(R’−Y、B’−Y)に基づいて、ブロックBL(11)〜BL(88)毎にその色相(Hue)及び彩度(Chroma)を算出する。
図3は、図1に示す色相・彩度算出部111で求められた色相・彩度と色差信号との関係を説明するための図である。
図3において、横軸は、B−Yを表し、縦軸は、R−Yを表している。図3に示す色空間において、色差信号(R’−Y,B’−Y)の色差平均値を図中符号3Aで示すと、色相(Hue)は角度Hueで示され、彩度(Chroma)は、破線Chromaで表される。
なお、色相・彩度算出部111は、例えば、数1及び数2を用いて、色差信号(R’−Y,B’−Y)の色差平均値からそれぞれ色相及び彩度を算出する。
[数1]
色相(Hue)=arctan((R’−Y)/(B’−Y))
このようにして、色相・彩度算出部111で算出されたブロックBL(11)〜BL(88)毎の色相(Hue)及び彩度(Chroma)は、色相及び彩度信号としてブロック分類部112に与えられる。
ブロック分類部112は、各ブロックBL(11)〜BL(88)を、その色相・彩度(つまり、色相及び彩度信号)に基づいて、例えば、夕日色ブロック、空色ブロック、雲色ブロック、及び他の色ブロックの4種類のブロックに分類する。
図4は、図1に示すブロック分類部112におけるブロックの分類方法の一例を説明するための図である。
図4を参照すると、ここでは、横軸B−Y及び縦軸R−Yで規定された色空間上において、夕日色ブロックの定義域(Sunset Area)、空色ブロックの定義域(Sky Area)、及び雲色ブロックの定義域(Cloud Area)が定義されている。
ブロック分類部112では、各ブロックBL(11)〜BL(88)について、その色相・彩度が、色空間上において上記のいずれの定義域に含まれるかを判別して、その判別結果に応じて、各ブロックBL(11)〜BL(88)を分類する。
なお、色相・彩度が、上記のいずれの定義域にも含まれないと判別すると、ここでは、当該ブロックは、他の色ブロックに分類されることになる。
図5は、図1に示すブロック分類部112におけるブロック分類結果の例を示す図である。そして、図5(a)は、夕景シーンにおけるブロック分類結果を示す図であり、図5(b)は、夕景以外のあるシーンにおけるブロック分類結果を示す図である。
図5(a)及び(b)において、符号「S」、「C」、及び「B」は、当該ブロックがそれぞれ夕日色ブロック、雲色ブロック、及び空色ブロックであることを表している。なお、符号が記載されていない空白のブロックは、当該ブロックが他の色ブロックであることを表している。
図5(a)に示すように、夕景シーンにおいては、夕日色ブロックSが画像の右上に密集して存在していることが分かる。一方、図5(b)に示すように、夕景以外のあるシーンにおいては、夕日色ブロックSが画像の全体に亘って点在していることが分かる。
ブロック分類部112における分類処理は、図2に示す全ブロックBL(11)〜BL(88)に対して、順次実行される。その後、ブロック分類部112は、各ブロックBL(11)〜BL(88)の分類結果を、ブロック分類結果として、ブロック相対位置判定部113及びシーン判別部115に出力する。
ここでは、上述のようにして、分類処理されたブロックBL(11)〜BL(88)について、夕日色ブロックS相互間の位置関係を評価して、その結果得られた夕日色ブロックSの密集度に基づいて画像信号が表す画像のシーンを判別する例について説明する。
図6は、図1に示すブロック密集度算出部114で行われる夕日色ブロックSの密集度の算出処理を説明するための図である。そして、図6(a)は、図5(a)に示す分類結果に対応する夕日色ブロックSのカウント結果を示す図であり、図6(b)は、図5(b)に示す分類結果に対応する夕日色ブロックSのカウント結果を示す図である。
図1と図6(a)及び(b)とを参照して、前述のように、ブロック分類部112は、各ブロックBL(11)〜BL(88)に係るブロック分類結果を、ブロック相対位置判定部113に与える。ブロック相対位置判定部113では、ブロック密集度算出部114が全ブロックBL(11)〜BL(88)のうち夕日色ブロックSに分類されたブロックに、例えば、ラベルを付加する。
続いて、ブロック密集度算出部114は、ラベルの付加されたブロック(ラベル付ブロック)に関して、当該ラベル付ブロックの上下左右に位置するブロック(上下左右ブロック)が夕日色ブロックSであるか否か確認する。そして、上下左右ブロックが夕日色ブロックSであると、ブロック密集度算出部114は、ラベル付ブロック毎に夕日色ブロックSの数をカウントする。
図6(a)及び(b)において、斜線で示すブロックが夕日色ブロックSである。まず、図5(a)及び図6(a)に注目して、図6(a)において、符号601で示すブロックは、夕日色ブロックSであるので、前述のように、ラベル付ブロックとされる。
このラベル付ブロック601の上下左右に位置するブロックは、いずれも夕日色ブロックSではないので、図6(a)に示すように、ラベル付ブロック601は、そのカウント数が「0」となる。
一方、ラベル付ブロック602については、その右側に位置するブロックが夕日色ブロックSであるから、図6(a)に示すように、ラベル付ブロック602は、そのカウント数が「1」となる。
また、ラベル付ブロック603については、上下左右に位置するブロックが、いずれも夕日色ブロックSであるので、図6(a)に示すように、ラベル付ブロック603は、そのカウント数が「4」となる。
以下、同様にして、ブロック密集度算出部114は、全てのラベル付ブロックについて、上下左右に位置するブロックが夕日色ブロックSであるか否かを判定して、そのカウント数を得ることになる。その結果、図5(a)に示すブロック分類結果から図6(a)に示すカウント結果が得られることになる。
続いて、図5(b)及び図6(b)を参照して、ブロック密集度算出部114は、例えば、ラベル付ブロック701について、ラベル付ブロック701の上下左右に位置するブロックが夕日色ブロックSであるか否かを確認する。
ここでは、ラベル付ブロック701の左側に位置するブロックが夕日色ブロックSであるから、図6(b)に示すように、ラベル付ブロック701は、そのカウント数が「1」となる。
また、ラベル付ブロック702については、上下左右に位置するブロックは、いずれも夕日色ブロックSでないので、図6(b)に示すように、ラベル付ブロック702は、そのカウント数が「0」となる。
以下、同様にして、ブロック密集度算出部114は、全てのラベル付ブロックについて、上下左右に位置するブロックが夕日色ブロックSであるか否かを判定して、そのカウント数を得ることになる。その結果、図5(b)に示すブロック分類結果から図6(b)に示すカウント結果が得られることになる。
そして、ブロック密集度算出部114は、図6(a)及び(b)に示すカウント結果におけるカウント数をそれぞれ合算して、その合算値を密集度とする。図6(a)及び(b)で示す例では、密集度はそれぞれ「28」及び「12」となる。この密集度は、ブロック密集度算出部114からシーン判別部115に与えられることになる。
このように、夕日色ブロックSがかたまって存在するほど、その密集度は高くなる。つまり、夕景シーンの場合には、その密集度が高くなる。
図7は、図1に示すシーン判別部115で行われるシーン判別処理で用いられる判別基準の一例を説明するための図である。
図1及び図7を参照して、前述したように、シーン判別部115には、ブロック分類結果及び密集度が与えられる。そして、シーン判別部115は、ブロック分類結果と密集度とに応じて、画像信号が示す画像におけるシーンがどのようなシーンであるかを判別する。ここでは、ブロック分類結果から得られる夕日色ブロックの割合と夕日色ブロックの密集度とに基づいて夕景シーンであるか否かを判別する例について説明する。
図7において、横軸は全ブロックBL(11)〜BL(88)に対する夕日色ブロックSの割合(夕日色ブロック割合)を表し、縦軸は、夕日色ブロックの密集度(夕日色ブロック密集度)を表している。
図示のように、横軸には、夕日色ブロック割合閾値(Th_Sunset:色割合閾値)が規定され、縦軸には、夕日色ブロック密集度閾値(Th_Sunset Position:ブロック密集閾値)が規定されている。
まず、シーン判別部115は、前述のブロック分類結果に応じて、全ブロックBL(11)〜BL(88)に対する夕日色ブロックSの割合を夕日色ブロック割合として算出する。
そして、シーン判別部115は、夕日色ブロック割合が夕日色ブロック割合閾値(Th_Sunset)よりも大きく、かつ夕日色ブロック密集度が夕日色ブロック密集度閾値(Th_Sunset Position)よりも大きいと、現在のシーン(画像におけるシーン)を夕景シーンと判別する。
つまり、シーン判別部115は、図7に斜線で示す領域に夕日色ブロック割合及び夕日色ブロック密集度が位置すると、当該画像信号に係る画像は夕景シーンで撮影されたと判別する。
一方、夕日色ブロック割合が夕日色ブロック割合閾値以下(Th_Sunset)であるか、又は夕日色ブロック密集度が夕日色ブロック密集度閾値(Th_Sunset Position)以下であると、シーン判別部115は、現在のシーンが夕景シーンではないと判別する。そして、シーン判別部115で得られたシーン判別結果はカメラ制御部116に与えられる。
上述の説明から明らかなように、夕景シーンの特徴的な条件を満たさない場合には、夕日色ブロック密集度が低い値となるようにすれば、夕景シーンと異なるシーンが夕景シーンと判別されることが極めて少なくなることになる。この結果、シーンの誤判別を防止することが可能となる。
シーン判別結果を受けると、カメラ制御部116は、このシーン判別結果に基づいて色差信号補正部108、例えば、色差信号補正部108に関するパラメータを制御する。図示の例では、カメラ制御部116は、色差信号補正部108におけるパラメータである色差ゲインGを制御する。
色差ゲインGには、第1及び第2のパラメータG1及びG2があり、ここでは、G1>G2(G1及びG2の各々は1以上の数である)という関係にある。ここで、シーン判別結果が夕景シーンを表していると、カメラ制御部116は、第1のパラメータG1を色差ゲインGとして、色差信号補正部108に設定する。
一方、シーン判別結果が夕景シーンでないことを表していると、カメラ制御部116は、第2のパラメータG2を色差ゲインGとして、色差信号補正部108に設定する。
つまり、シーン判別結果が夕景シーンを表している場合には、カメラ制御部116は、色差信号に対する色差ゲインを、夕景シーンでない場合よりも高くする設定することになる。この結果、夕景シーンにおいて、より色鮮やかに夕景を撮影することができることになる。
以上のように、図1に示す撮像装置100においては、撮影シーンが夕景シーンであるか否かを判別して、そのシーン判別結果に応じて画像信号の処理を行う際、画像信号が表す画像を複数のブロックに分割して、これらブロック間の相対的位置関係に応じてシーンの判別を行うようにしている。
例えば、図1に示す撮像装置100においては、夕日色ブロックSの密集度を算出し、その密集度を所定の夕日色ブロック密度閾値(Th_Sunset Position)と比較して、その比較結果に応じてシーンの判別を行っている。つまり、夕日色ブロック割合だけではなく、夕日色ブロック密集度も用いて、シーンの判別を行っているから、精度よくシーンの判別を行うことができる。
このようにして、夕日色ブロックが画像中のどの位置に多く分布するかに拘わらず、夕景シーンの特徴的な条件を満たすか否かの判別を精度良く行うことが可能となる。
言い換えると、夕景シーンの特徴的な条件を満たさない場合には、つまり、夕日色ブロックが画像中に点在する場合には、夕景シーンと判別することが極めて少なくなり、シーン判別の誤りを確実に防止することができる。この結果、シーンに応じた画像処理を的確に行うことができることなる。
なお、図1に示す撮像装置100においては、色相・彩度を色差信号から直接的に求めるようにしたが、色相・彩度を算出する際の手法は、これに限定するものではない。例えば、L*a*b*空間などの他の空間に一度変換してから、L*a*b*空間(L、a、及びbはそれぞれ定数である)において色相・彩度を算出するようにしてもよい。
また、図1に示す撮像装置100においては、信号分割部110が、画像を8×8個のブロックに分割する例について説明したが、画像の分割数はこの数に限定されない。いずれしても、画像を複数のブロックに分割して、ブロック毎の色分布に応じて夕景シーンであるか否かを判別するようにすればよい。そして、画像を複数のブロックに分割する際には、ブロックの数及び分割手法はどのように設定してもよい。
さらに、図1に示す撮像装置100においては、ブロック分類部112でブロックを4種類のいずれかに分類したが、ブロックを分類する際の種類は4つに限られない。
例えば、各ブロックにおける平均輝度を参照して、当該平均輝度の値が極端に高い場合には、そのブロックを高輝度ブロックとして分類して、シーン判別から除外するようにしてもよい。
加えて、図1に示す撮像装置100においては、夕景シーンであるか否かを判別する際、夕日色ブロック割合と夕日色ブロック密集度とを用いて判別するようにしたが、別の判別手法を用いるようにしてもよい。つまり、画像を複数のブロックに分割して、各ブロックの色信号と密集度に基づいてシーンを判別する手法であれば、どのような手法を用いてもよい。
例えば、夕日色ブロック割合を主な判別条件としてシーンを判別するようにしてもよい。この場合には、夕日色ブロック密集度が低い程、夕日色ブロック割合閾値を高く設定する。つまり、シーン判別部115は、密集度に応じて夕日色ブロック割合閾値(Th_Sunset)を変更し、夕日色ブロック割合が夕日色ブロック割合閾値(Th_Sunset)よりも大きいと、夕景シーンであることを示すシーン判別結果を出力ようにしてもよい。
また、夕日色ブロック割合に加えて、雲色ブロック又は空色ブロックの割合に応じて、シーンの判別を実行するようにしてもよい。
そして、図1に示す撮像装置100においては、夕日色ブロック密集度に応じて、シーン判別を行う場合について説明したが、密集度を評価する際には他の手法を用いるようにしてもよい。つまり、同一の分類に属するブロック同士の密集度を算出して、密集度を評価する手法であれば、どのような評価手法を用いるようにしてもよい。
例えば、雲色ブロックや空色ブロックの密集度を算出して、その密集度が所定の閾値よりも低い場合には、夕景シーンと判別しないようにしてもよい。
さらに、図1に示す撮像装置100においては、夕景シーンであるか否かを示すシーン判別結果に基づいて、カメラ制御部116が色差信号のゲインを制御する例について説明したが、他の制御手法であってもよい。つまり、夕景シーンであるか否かを示すシーン判別結果に応じて、色信号又は輝度信号を補正する制御を行うのであれば、どのような制御手法を用いてもよい。
また、図1に示す撮像装置100においては、夕景シーンであるか否かを2値で判別しているが、夕景シーンの信頼度を表すように多値を用いて判別するようにしてもよい。
この場合には、夕日色ブロック割合が所定の夕日ブロック割合閾値(Th_Sunset)以上であって、かつ夕日色ブロック密集度が高い場合に信頼度を高くするようにする。
一方、夕日色ブロック割合が所定の夕日色ブロック割合閾値(Th_Sunset)以上であっても、夕日色ブロック密集度が低い場合には、信頼度を低くする。そして、夕景シーンの信頼度に基づいて、カメラ制御部116が色差信号補正部108を制御するようにしてもよい(例えば、夕景シーンの信頼度が高い程、カメラ制御部116は、色差信号に関するゲインを高くする)。
上述の撮像装置100では、夕日色ブロック間の相対位置関係に応じて、シーン判別を行う例について説明したが、続いて、夕日色ブロックの位置を基準として、空色ブロック相互のブロック相対位置関係を評価して、シーン判別を行う例について説明する。
図8は、本発明の実施の形態による画像処理装置の他の例が用いられる撮像装置100Aの第2の例示すブロック図である。
図8を参照して、図示の撮像装置100Aにおいて、図1に示す撮像装置100と同一の構成要素については、同一の参照番号を付し、説明を省略する。図示の撮像装置100Aは、同様に、画像処理装置を有している。そして、この画像処理装置は、例えば、色差信号補正部108、エンコーダ109、信号分割部110、色相・彩度算出部111、ブロック分類部112、ブロック相対位置判定部113、シーン判別部115、及びカメラ制御部116を備えている。
図示の撮像装置100Aにおいては、図1に示す撮像装置100と比べて、ブロック相対位置判定部113の構成が異なっている。つまり、撮像装置100Aにはおいては、ブロック相対位置判定部113は、水平ライン分類部801及び水平ライン位置判定部802を有している。
水平ライン分類部(ライン領域分類手段)801は、後述するように、画像信号が示す画像を水平方向(行方向)に沿って複数のライン領域(以下、水平ラインと呼ぶ)に分割する。そして、水平ライン分類部801は、ブロック分類結果に応じて、各水平ラインの分類を行って、ライン分類結果(ライン領域分類結果)を得るものである。
また、水平ライン位置判定部(評価値算出手段)802は、後述するようにして、水平ライン間の相対的な位置関係を評価して、各水平ラインの相対的な位置を判定するものである。
例えば、水平ライン位置判定部802は、ライン分類結果に応じて、夕日色である水平ラインを基準ライン(基準ライン領域)とし、この基準ラインからの距離に応じて水平ライン毎の係数(ライン係数)を得る。そして、水平ライン位置判定部802は、例えば、空色(予め規定された第2の色)に対応する水平ラインの係数の合算値を求めて、この合算値を空位置評価値(色評価値)とする。
図1に関連して説明したように、撮像装置100Aにおいても、ブロック分類部111がブロック分類結果をブロック相対位置判定部113及びシーン判別部115に与える。ブロック相対位置判定部113において、ブロック分類結果は水平ライン分類部801に与えられる。
図9は、図8に示す水平ライン分類部801における水平ラインの分類の一例を説明するための図である。そして、図9(a)は、夕景シーンの特徴的な色分布を有する画像をブロック単位で分類した状態を模式的に示す図であり、図9(b)は、図9(a)に示すブロックを水平ライン毎に分類した状態を模式的に示す図である。
また、図9(c)は、夕景ではないシーンの色分布を有する画像をブロック単位で分類した状態を模式的に示す図であり、図9(d)は、図9(c)に示すブロックを水平ライン毎に分類した状態を模式的に示す図である。
図9(a)に示すように、夕景シーンにおいては、画像の上部に空色ブロックBが、画像の下部に夕日色ブロックSが多く存在していることが分かる。
一方、図9(c)に示すように、夕景ではないシーンにおいては、夕日色ブロックSが多く分布する領域よりも下側に空色ブロックBが多く存在していることが分かる。
図1及び図9(a)〜(d)を参照して、水平ライン分類部801は、ブロック分類結果を示す画像を水平ライン毎に分割して、各水平ラインの分類を行う。図9(a)及び(c)に示す例では、画像は、垂直方向(列方向)に8個のブロックに分割されているので、水平ライン分類部801は、画像を8個の水平ラインに分割することになる。
水平ライン分類部801は、水平方向に沿って、画像を分割して、水平ラインL1〜L8とする。そして、水平ライン分類部801は、各水平ラインL1〜L8を、夕日色ライン(Sunset)、雲色ライン(Cloud)、空色ライン(Sky)、及び他の色ラインのいずれかに分類する。
水平ラインL1〜L8の分類を行う際には、各水平ラインL1〜L8上に位置する8個のブロックの分類に基づいて行う。例えば、水平ライン分類部801は、8個のブロックの各々について、当該ブロックが夕日色、空色、雲色、及び他の色の4色のいずれに分類されているかを調べる。
そして、水平ライン分類部801は、各色に分類されたブロックの個数を数える。続いて、水平ライン分類部801は、その個数が最も多いブロックの分類を、当該水平ラインの分類と決定する。
図9(a)及び(b)に示す例では、例えば、水平ラインL7については、図9(a)に示すブロックBL(71)〜BL(78)が対応している。これら8個のブロックBL(71)〜BL(78)についてその色をみると、夕日色ブロックが5個、雲色ブロックが2個、空色ブロックが1個である。
従って、水平ラインL7においては、夕日色に分類されているブロックの個数が最も多いこととなり、水平ラインL7は夕日色ライン(Sunset)に分類される。
同様にして、図9(a)及び(b)に関して、水平ラインL1〜L6及びL8の分類が求められる。ここでは、水平ラインL1〜L5の各々は、空色ライン(Sky)に分類され、水平ラインL6は、雲色ライン(Cloud)に分類される。そして、水平ラインL8は、夕日色ライン(Sunset)に分類される。
図9(c)及び(d)に示す例についても同様に分類が行われる。例えば、水平ラインL7については、図9(c)に示すブロックBL(71)〜BL(78)が対応している。これら8個のブロックBL(71)〜BL(78)についてその色をみると、夕日色ブロックが0個、雲色ブロックが3個、空色ブロックが5個である。
従って、水平ラインL7においては、空色に分類されているブロックの個数が最も多いこととなり、水平ラインL7は空色ライン(Sky)に分類される。
同様に、図9(c)及び(d)に関して、水平ラインL1〜L6及びL8の分類が求められる。ここでは、水平ラインL1及びL2の各々は、夕日色ライン(Sunset)に分類され、水平ラインL3は、雲色ライン(Cloud)に分類される。そして、水平ラインL4〜L6及びL8の各々は、空色ライン(Sky)に分類される。
なお、水平ラインL8については、空色ブロックが4個、雲色ブロックが4個である。このように、個数が同数となった場合には、当該水平ラインL8に隣接する水平ライン(この場合には、水平ラインL7)の色を考慮して、水平ラインL8の色が決定される。
図示の例では、水平ラインL7は、空色ライン(Sky)であるので、水平ラインL8は空色ライン(Sky)と分類される。
このようにして、水平ライン分類部801は、ブロック分類部112から与えられるブロック分類結果に基づいて、水平ラインL1〜L8の色を分類して、ライン分類結果として、水平ライン位置判定部802に出力する。
水平ライン位置判定部802は、上記のライン分類結果に応じて空位置評価値(色評価値)を算出する。つまり、水平ライン位置判定部802は、水平ラインを単位として、ブロック間の相対位置を評価して、空位置評価値(色評価値)を算出することになる。
図10は、図8に示す水平ライン位置判定部802における空位置評価値の算出の一例を説明するための図である。そして、図10(a)は、図9(b)に対応する水平ラインの分類及びライン係数を示す図であり、図10(b)は、図9(d)に対応する水平ラインの分類及びライン係数を示す図である。
図8と図10(a)及び(b)とを参照して、水平ライン位置判定部802は、各水平ラインL1〜L8について、夕日色ライン(Sunset)を基準ラインとして、夕日色ライン(Sunset)の位置を基準とする係数(ライン係数)を設定する。例えば、水平ライン位置判定部802は、夕日色ライン(Sunset)よりも上側に位置する水平ラインについては、ライン係数を正の値とする。ここでは、最も上側にある夕日色ライン(図10(a)においては、水平ラインL7)のライン係数を基準(ゼロ)として、当該夕日色ラインから上昇するに従って(つまり、水平ラインL7からの距離に応じて)、ライン係数を1加算する(つまり、+1とする)。
この結果、図10(a)に示す例では、水平ラインL1〜L6は、それぞれライン係数が+6〜+1の値となる。
一方、夕日色ラインよりも下側に位置する水平ラインについては、ライン係数を負の値とする。ここでは、最も下側にある夕日色ライン(図10(b)においては、水平ラインL2)のライン係数を基準(ゼロ)として、当該夕日色ラインから下降するに従って(つまり、水平ラインL2からの距離に応じて)、ライン係数を1減算する(つまり、−1とする)。
この結果、図10(b)に示す例では、水平ラインL3〜L8は、それぞれライン係数が−1〜−6の値となる。
続いて、水平ライン位置判定部802は、空色ラインに対応するライン係数を全て加算して空色合算値とする。そして、水平ライン判定部802は、この空色合算値を、ブロックL(11)〜L(88)の位置を評価する空位置評価値とする。
例えば、図10(a)においては、空位置評価値=6+5+4+3+2=20となる。
また、図10(b)においては、空位置評価値=−2−3−4−5−6=−20となる。
そして、水平ライン位置判定部802は、空位置評価値をシーン判別部115に出力する。
図11は、図8に示すシーン判別部115で行われるシーン判別処理で用いられる判別基準の一例を説明するための図である。
図8及び図11を参照すると、図8に示す撮像装置100Aにおいては、シーン判別部115には、ブロック分類結果及び空位置評価値がブロック相対位置関係として与えられる。
シーン判別部115は、ブロック分類結果に応じて前述したように夕日色ブロック割合を求めて、この夕日色ブロック割合と空位置評価値とに基づいてシーン判別を行う。
図11に示すシーン判別基準は、その横軸が夕日色ブロック割合を表しており、縦軸が空位置評価値を表している。そして、横軸には、夕日色ブロック割合閾値(Th_Sunset)が設定され、縦軸には、空位置評価値閾値(Th_Sky Position)が設定されている。
シーン判別部115は、ブロック分類部112から与えられたブロック分類結果に基づいて、全ブロックに対する夕日色ブロックの割合を、夕日色ブロック割合として算出する。
続いて、シーン判別部115は、この夕日色ブロック割合と水平ライン分類部801から与えられた空位置評価値を、図11に示すシーン判別基準に当てはめる。
そして、夕日色ブロック割合が夕日色ブロック割合閾値(Th_Sunset:色割合閾値)より大きく、かつ空位置評価値が空位置評価値閾値(Th_Sky Position:色評価値閾値)よりも大きい場合に、シーン判別部115は、当該画像に係るシーンが夕景シーンであると判別する。つまり、図11において、斜線部分に該当すると、シーン判別部115は、当該画像に係るシーンを夕景シーンであると判定することになる。
一方、夕日色ブロック割合が夕日色ブロック割合閾値(Th_Sunset)以下であるか、又は空位置評価値が空位置評価値閾値(Th_Sky Position)以下であると、シーン判別部115は、当該画像に係るシーンが夕景シーンではないと判別する。
なお、空位置評価値閾値(Th_Sky Position)は、例えば、ゼロである。
上述のようにして、シーン判別部115は、当該画像に係るシーンを判定して、シーン判別結果を生成する。そして、シーン判別部115は、シーン判別結果をカメラ制御部116に送る。
カメラ制御部116は、例えば、シーン判別結果に基づいて色差信号補正部108におけるパラメータを制御する。カメラ制御部116の動作については、図1に関連して説明したので、ここでは、説明を省略することにする。
このように、夕景シーンの特徴的な条件を満たさない場合に、空位置評価値が低い値となるようにすれば、誤って夕景シーンと判別されることが極めて少なくなり、シーンの誤判別を確実に防止することが可能となる。
以上のように、図8に示す撮像装置100Aにおいては、画像を分割したブロック間の相対的位置関係に応じてシーンの判別をするようにしている。例えば、夕日色ブロックが多く存在する領域を基準として、当該領域の位置よりも下側に、空色ブロックが多く存在する領域が存在する場合には、空位置評価値を低く算出する。
これによって、夕日色ブロックが画像中のいずれの位置に多く分布するかに拘わらず、夕景シーンの特徴的な条件を満たすか否かの判別を確実に行うことができる。
例えば、夕景シーンの特徴的な条件を満たさない場合、つまり、夕日色ブロックが多く存在する領域よりも下側に空色ブロックが多く存在する場合には、夕景シーンと判別され難くなって、シーン判別の誤りを確実に防止することが可能となる。
なお、図8に示す撮像装置100Aにおいては、水平ラインの分類を、対応する8個のブロックの分類結果に基づいて行ったが、水平ラインの分類手法は、これに限定されるものではない。
例えば、対応する8個のブロックの色相、彩度を平均して、この平均値に基づいて水平ラインを分類するようにしてもよい。
また、図8に示す撮像装置100Aにおいては、夕日色ラインに対する空色ラインの位置の評価に応じて、シーン判別を行うようにしたが、水平ラインの評価手法は、これに限定されるものではない。
例えば、雲色ラインについて、同様にして雲位置評価値を算出して、この雲位置評価値を、雲位置評価値について定められた所定の閾値と比較した結果に基づいて、シーン判別を行うようにしてもよい。
さらに、図8に示す撮像装置100Aにおいては、各水平ラインと夕日色ラインとの位置関係に応じてライン係数を加算又は減算して、夕日色ブロックと空色ブロックとの相対的位置関係を評価するようにしたが、評価手法はこれに限定されるものではない。
例えば、画像中において、最も下側に位置する夕日色ラインを判定して、当該夕日色ラインよりも下側にある空色ブロック又は雲色ブロックの数をカウントして、そのカウント数を評価値として用いるようにしてもよい。
加えて、図8に示す撮像装置100Aにおいては、夕景シーンであるか否かの判別を、夕日色ブロック割合と空位置評価値に基づいて判別するようにしたが、夕景シーンの判別手法は、これに限定されるものではない。
例えば、夕日色ブロック割合を主な判別条件としてシーンを判別するようにしてもよい。この場合には、空位置評価値が低い程、夕日色ブロック割合に対応する閾値を高く設定することになる。
つまり、シーン判別部115は、空位置評価値に応じて夕日ブロック割合閾値(Th_Sunset)を変更して、夕日色ブロック割合が夕日色ブロック割合閾値(Th_Sunset)よりも大きいと、シーン判別結果として夕景シーンであることを示すシーン判別結果を出力するようにしてもよい。
図8に示す撮像装置100Aでは、夕日色ブロックと空色ブロックとの間の相対的位置関係に基づいて、シーン判別を行う例について説明したが、ここでは、夕日色ブロックと他の色ブロックとの間の距離を評価して、シーン判別を行う場合について説明する。
なお、撮像装置の構成は、図8に示す撮像装置100Aと同様であるので、説明は省略することにする。
図12は、図8に示す水平ライン分類部801における水平ラインの分類の他の例を説明するための図である。そして、図12(a)は、夕景シーンの特徴的な色分布を有する画像をブロック単位で分類した状態を模式的に示す図であり、図12(b)は、図12(a)に示すブロックを水平ライン毎に分類した状態を模式的に示す図である。
また、図12(c)は、夕景ではないシーンの色分布を有する画像をブロック単位で分類した状態を模式的に示す図であり、図12(d)は、図12(c)に示すブロックを水平ライン毎に分類した状態を模式的に示す図である。
図12(a)に示すように、夕景シーンにおいては、画像の上部に位置する夕日色ブロックSと画像の下部に位置する他の色ブロックとが、雲色ブロックCを挟んで位置しており、互いの間の距離は離れていることが分かる。
一方、図12(c)に示すように、夕景ではないシーンにおいては、夕日色ブロックSが多く分布する領域とその他の色ブロックが多く分布する領域とが混在していることが分かる。
図1及び図12(a)〜(d)を参照して、図9に関連して説明したように、水平ライン分類部801は、ブロック分類結果を示す画像を水平ライン毎に分割して、各水平ラインの分類を行う。この際には、水平ライン分類部801は、各色に分類されたブロックの個数を数えて、その個数が最も多いブロックの分類を、当該水平ラインの分類と決定する。
図12(a)及び(b)に示す例では、例えば、水平ラインL7については、他の色のブロックが最も多いので、他の色ライン(Other)と分類される。
同様にして、図12(a)及び(b)に関して、水平ラインL1及びL2の各々は、夕日色ライン(Sunset)に分類され、水平ラインL3〜L6の各々は、雲色ライン(Cloud)に分類される。そして、水平ラインL8は、他の色ライン(Other)に分類される。
図12(c)及び(d)に示す例では、水平ラインL7は、夕日色ライン(Sunset)に分類される。
同様に、図12(c)及び(d)に関して、水平ラインL1は、夕日色ライン(Sunset)に分類され、水平ラインL2は、他の色ライン(Other)に分類される。水平ラインL3及びL4の各々は、雲色ライン(Cloud)に分類される。水平ラインL5は、夕日色ライン(Sunset)に分類され、水平ラインL8は、他の色ライン(Other)に分類される。
このようにして、水平ライン分類部801は、ブロック分類部112から与えられるブロック分類結果に基づいて、水平ラインL1〜L8の色を分類して、ライン分類結果として、水平ライン位置判定部802に出力する。
この例においては、水平ライン位置判定部802は、夕日色ライン(Sunset)に他の色ライン(other)が接しているか否かを判定する。そして、夕日色ライン(Sunset)に他の色ライン(other)が接していると、水平ライン位置判定部802は、後述するようにして、夕日色ブロック割合に係る閾値(夕日色ブロック割合閾値)を変更する。
図13は、図8に示す水平ライン位置判定部802におけるシーン判別基準の算出の一例を説明するためのフローチャートである。なお、ここでは、シーン判別基準とは、夕日色ブロック割合閾値のことをいう。
図8及び図13を参照して、水平ライン位置判定部802は、まず、夕日色ブロック割合閾値(Th_Sunset)を、予め規定された初期値Th1に設定する(ステップS1401)。
続いて、水平ライン位置判定部802は、後述の相対位置判定が未だ行われていない夕日色ライン(未判定の夕日色ライン)が存在するか否かを判定する(ステップS1402)。画像中の全ての夕日色ラインに対して相対位置判定が行われていると(ステップS1402において、NO)、つまり、未判定の夕日色ラインが存在しないと、水平ライン位置判定部802は、後述のステップS1405に移行する。
一方、未判定の夕日色ライン(Sunset)が存在すると(ステップS1402において、YES)、水平ライン位置判定部802は、夕日色ライン(Sunset)に他の色ライン(Other)が接しているか否かを判定する(ステップS1403)。
ここでは、ステップS1403が、夕日色の水平ラインに夕日色と異なる他の色の水平ラインが接しているか否かを判定するライン領域判定手段として機能することになる。
このステップS1403においては、水平ライン位置判定部802は、例えば、夕日色ライン(Sunset)の上下に他の色ライン(Other)が接しているか否かを判定することになる。
夕日色ライン(Sunset)に他の色ライン(Other)が接していると(ステップS1403において、YES)、水平ライン位置判定部802は、夕日色ブロック割合閾値を高くする(ステップS1404)。つまり、水平ライン位置判定部802は、夕日色ブロック割合閾値を前述の初期値Th1から変更後の閾値Th2(Th2>Th1)とする。
ここでは、ステップS1404が夕日色の水平ラインが他の色の水平ラインと接していると、夕日色ブロック割合閾値を高く変更する閾値変更手段として機能することになる。
この際、水平ライン位置判定部802は、夕日色ブロック割合閾値(Th_Sunset)の初期値Th1に予め定められた値を加算して、この加算結果を変更後の閾値Th2とする。そして、水平ライン位置判定部802は、ステップS1402に戻る。
一方、夕日色ライン(Sunset)に他の色ライン(Other)が接していないと(ステップS1403において、NO)、水平ライン位置判定部802は、ステップS1402に戻る。
ステップS1405においては、水平ライン位置判定部802は、夕日色ブロック割合閾値(Th_Sunset)をシーン判別部115に出力する。
図14は、図8に示すシーン判別部115で用いられるシーン判別基準の他の例を説明するための図である。図14において、横軸は、夕日色ブロック割合を表し、この横軸に夕日色ブロック割合閾値が規定される。
図8及び図14を参照して、シーン判別部115は、水平ライン位置判定部802から夕日色ブロック割合閾値(Th_Sunset)を受けると、当該夕日色ブロック割合閾値に基づいて、前述のように、画像におけるシーンを判別する。
前述のように、シーン判別部115には、ブロック分類部112からブロック分類結果が与えられており、このブロック分類結果から全ブロックに対する夕日色ブロックの割合を、夕日色ブロック割合として算出する。
そして、シーン判別部115は、夕日色ブロック割合と夕日色ブロック割合閾値とを比較する。夕日色ブロック割合が夕日色ブロック割合閾値よりも大きいと、シーン判別部115は、当該画像に係るシーン(現在のシーン)を夕景シーンであると判別して、シーン判別結果を生成する。
一方、夕日色ブロック割合が夕日色ブロック割合閾値以下であると、シーン判別部115は、現在のシーンが夕景シーンでないと判別して、シーン判別結果を生成する。そして、シーン判別部115は、シーン判別結果をカメラ制御部116に与える。
カメラ制御部116は、シーン判別結果に基づいて色差信号補正部108におけるパラメータを制御する。なお、色差信号補正部108の制御については、図1に関連して説明したので、ここでは説明を省略する。
前述のように、夕日色ライン(Sunset)が他の色ライン(Other)に接していれば、夕日色ブロック割合閾値は、高く設定されることになる。つまり、水平ライン位置判定部802は、図14において、夕日色ブロック割合閾値(Th_Sunset)の初期値Th1を、破線矢印で示すように、変更後の閾値Th2に高くすることになる。この結果、夕日色ライン(Sunset)が他の色ライン(Other)に接していれば、夕景シーンであると誤判定される可能性を少なくすることができる。
つまり、夕景シーンの特徴的な条件を満たさない場合に、夕日色ブロック割合閾値(Th_Sunset)を高くしているから、夕景シーンと誤判別される恐れが少なくなる。従って、シーンの誤判別を確実に防止することができる。
以上のように、図13で説明した例では、夕日色ブロックが多く存在する領域と他の色のブロックが多く存在する領域とが接している場合には、夕日色ブロック割合閾値を高くして、シーン判別を行っている。これによって、夕景ではないシーンを夕景シーンと誤判別することが極めて少なくなって、シーン判別の誤りを確実に防止することができる。
なお、図13で説明した例では、夕日色ラインと他の色ラインとが接しているか否かに応じて、夕日色ブロックと他の色ブロックとの相対的位置関係を評価するようにしたが、位置関係の評価手法は、これに限定されるものではない。
例えば、各夕日色ブロックについて、当該夕日色ブロックから最も近い位置にある他の色ブロックまでの距離に基づいて、相対的位置関係を評価するようにしてもよい。この場合、全ての夕日色ブロックについて上述の距離を合算した値が、所定の閾値以下である場合に、当該シーンを夕景シーンと判別しないようにする。
また、図13で説明した例では、夕日色ブロックと他の色ブロックとの相対的位置関係に注目したが、ブロック間の位置関係の評価手法はこれに限定されるものではない。
例えば、雲色ラインに注目して、画像中の雲色ラインが夕日色ライン又は空色ラインと隣接している場合に、雲色ブロック割合に対する閾値を低く設定するようにしてもよい。つまり、ある分類に属するブロックと、当該ブロックとは別の分類に属するブロックとの間の距離に関する情報に基づいてシーン判別を行う手法であれば、どのような手法を用いてもよい。
以上のように、本発明の実施の形態による画像処理装置によれば、入力された画像信号が示す画像におけるシーンを精度よく判別して、当該画像信号に対する画像処理を適切に行うことができるという効果がある。
上述の説明から明らかなように、図示の例では、色差信号補正部108が色差信号を画像信号として受けて、この画像信号に対して画像処理を実行する画像処理手段として機能する。
また、信号分離部110及び色相・彩度算出部111が、画像信号が示す画像をその行方向及び列方向に複数のブロック領域に分割して、これらブロック領域毎にその色分布の特徴を示す色分布情報を得る色分布情報算出手段として機能する。
さらに、ブロック相対位置判定部113が色分布情報に応じてブロック領域間の相対的な位置関係を判定してブロック領域相対位置関係を得る相対的位置算出手段として機能する。
加えて、シーン判別部115がブロック領域相対位置関係に応じて画像信号が示す画像におけるシーンを判別してシーン判別結果を得るシーン判別手段として機能し、カメラ制御部116がシーン判別結果に応じて画像処理手段、つまり、色差信号補正部108を制御する制御手段として機能することになる。
以上、本発明について実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、撮像装置100又は100Aに備えられる画像処理装置は、マイクロコンピュータ等のコンピュータで構成するようにしてもよい。この際には、上述の実施の形態の機能を画像処理方法として、当該マイクロコンピュータに実行させるようにすればよい。
また、上述の実施の形態の機能を有するプログラムを画像処理プログラムとして、撮像装置100又は100Aの画像形成装置が備えるマイクロプロセッサー等のコンピュータに実行させるようにしてもよい。
さらには、この画像処理プログラムが格納された記録媒体から、画像処理プログラムを撮像装置100又は100Aの画像処理装置が備えるマイクロプロセッサー等のコンピュータに読み込ませて当該プログラムを実行させても、同様の効果を実現することができる。
そして、この画像処理プログラムを供給するための記録媒体としては、例えば、ハードディスク、磁気テープ等の磁気記録媒体、光/光磁気記憶媒体、不揮発性の半導体メモリが用いられる。また、画像処理プログラムを供給する際には、コンピュータネットワーク上のサーバに当該プログラムを記憶し、クライアントコンピュータがこのプログラムをダウンロードするようにしてもよい。