以下、図を参照しながら、この発明の実施の一形態について説明する。図1は本願発明の画像処理装置を例えば撮像装置に適用した場合の構成を示している。被写体光は、レンズ部11と絞り機構12を介して撮像部21の撮像素子211例えばCCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサに入射される。
撮像素子211は、受光面に結像された被写体像の撮像光を、画素毎に電気信号に変換して三原色の画像信号を生成する。また、生成した画像信号をCDS(Correlated Double Sampling circuit)部212に供給する。
CDS部212は、撮像素子から供給された画像信号のノイズ除去を行い、ノイズ除去後の画像信号を増幅部213に供給する。増幅部213は、CDS部212から供給された画像信号のゲイン調整を行い、ゲイン調整後の画像信号SaをA/D(Analog / Digital)変換部23に供給する。
タイミング信号発生部22は、撮像素子211で画像信号を生成するための駆動信号TDを生成して撮像素子211に供給する。また、タイミング信号発生部22は、駆動信号TDによって、撮像素子211における露光時間(光電変換によって得られた有効電荷の蓄積時間)を制御する。
A/D変換部23は、アナログの画像信号Saをディジタルの画像信号DVaに変換して、提示画像検出部31と検波部32および画像処理部35に供給する。
提示画像検出部31は、画像信号DVaに基づく撮像画像から提示画像を検出する処理を行い、検出結果を示す検出信号JAを生成して制御部51に供給する。
図2は提示画像検出部31の構成を示している。提示画像検出部31の変換処理部311は、三原色の画像信号DVaを輝度信号DYと色差信号DCに変換して、輝度信号DYを2値化処理部312、色差信号DCを2値化処理部313に供給する。
2値化処理部312は、輝度信号DYを2値化する処理を行い、得られた輝度2値化信号BYを信号選択部314に供給する。また、2値化処理部313は、色差信号DCを2値化する処理を行い、得られた色差2値化信号BCを信号選択部314に供給する。2値化処理部312は、輝度信号DYと閾値を比較することで輝度信号DYの2値化を行い、輝度2値化信号BYを生成する。2値化処理部313は、色差信号DCと閾値を比較することで色差信号DCの2値化を行い、色差2値化信号BCを生成する。また、2値化処理部312,313は、予め固定したレベルに閾値を設定しておくものとしてもよく、撮像画像から提示画像を精度よく検出できるように、撮像画像に応じて閾値を設定するものとしてもよい。
信号選択部314は、輝度2値化信号BYまたは色差2値化信号BCを選択して、選択した2値化信号を水平分布取得部315と垂直分布取得部316に供給する。
水平分布取得部315は、2値化信号が輝度2値化信号BYであるとき、ライン毎に輝度2値化信号BYの信号レベルが閾値よりも高い画素をカウントすることで水平方向の分布を求めて、この分布を示す水平分布信号DShを検出処理部317に供給する。また、水平分布取得部315は、2値化信号が色差2値化信号BCであるとき、ライン毎に色差2値化信号BCの信号レベルが閾値よりも高い画素をカウントすることで水平方向の分布を求めて、この分布を示す水平分布信号DShを検出処理部317に供給する。
垂直分布取得部316は、2値化信号が輝度2値化信号BYであるとき、垂直方向に輝度2値化信号BYの信号レベルが閾値よりも高い画素をカウントして、上述の水平方向と直交する垂直方向の分布を求めて、この分布を示す垂直分布信号DSvを検出処理部317に供給する。また、垂直分布取得部316は、2値化信号が色差2値化信号BCであるとき、色差2値化信号BCの信号レベルが閾値よりも高い画素をカウントして垂直方向の分布を求めて、この分布を示す垂直分布信号DSvを検出処理部317に供給する。
検出処理部317は、水平分布取得部315から供給された水平分布信号DShに基づき上辺と下辺を検出する処理と、垂直分布取得部316から供給された垂直分布信号DSvに基づき左辺と右辺を検出する処理を行う。さらに、検出処理部317は、検出された上辺,下辺,左辺および右辺が提示画像の各辺に相当するものであることを判別したとき、検出された上辺,下辺,左辺および右辺で囲まれる画像を提示画像と判定して、この提示画像の位置または提示画像が検出されたことを示す検出信号JAを生成して制御部51に供給する。
また、検出処理部317は、制御信号CNによって信号選択部314の信号選択動作の制御を行い、最初に輝度2値化信号BYを選択させて、輝度2値化信号BYから提示画像を検出できないときは、信号選択部314で色差2値化信号BCを選択させることで、輝度2値化信号BYだけでなく色差2値化信号BCから提示画像を検出する処理を行う。
検波部32は、供給された画像信号DVaから撮像画像の明るさを示す検波信号JBを生成して制御部51に供給する。検波部32は、例えば撮像画像をm×n個のブロックに分割し、それぞれのブロックにおける各画素の明るさを示す信号の総和を算出する。さらに、検波部32は、算出した総和に対してブロック毎に重み付けを行い、重み付け後の総和の加算値を検波値として、この検波値を示す検波信号JBを制御部51に供給する。また、検波部32は、制御部51からの制御信号CTeに基づき検波領域を変更する。すなわち、重み付けが「0」されたブロックは検波値の算出に用いられず、重み付けを高くされたブロックは、検波値に寄与する割合が高くなる。したがって、重み付けを切り換えることによって検波領域を変更する。
図3は検波部32の構成を示している。検波部32のブロック化処理部321は、撮像画像をm×n個のブロックに分割する処理を行い、画像信号DVaをブロック毎の画像信号DBVとしてブロック別輝度算出部322に供給する。
ブロック別輝度算出部322は、画像信号DBVに基づきブロック内の各画素の輝度を総和したブロック別輝度値信号BTをブロック毎に生成して乗算器324に供給する。
重み係数設定部323は、制御部51から供給された制御信号CTeに基づき、ブロックのそれぞれに対して重み係数Wを設定して、設定した重み係数Wを乗算器324に供給する。
乗算器324は、ブロック別輝度算出部322から供給されたブロック別輝度値信号BTに対して重み係数設定部323で設定された重み係数Wを乗算して、検波値算出部325に供給する。
検波値算出部325は、ブロック別輝度値信号BTと重み係数Wの乗算結果を撮像画像内で加算して、加算結果を検波信号JBとして制御部51に供給する。また、検波値算出部325は、撮像画像毎に検波信号JBの生成を行う。
画像処理部35は、A/D変換部23から供給された画像信号DVaに対して種々の画像処理を行う。例えばホワイトバランス(WB)調整部351では、撮像画像における白色の被写体が正しく白色として表示されるように、ホワイトバランス調整を行う。またホワイトバランス調整部351は、検出信号JAによって撮像画像を提示画像の領域とその他の画像(以下「背景画像」という)の領域に区分できるとき、検出信号JAに基づき、撮像画像における提示画像に対応したホワイトバランス調整と、背景画像の領域に対応したホワイトバランス調整を領域毎に行う。また、画像処理部35は、ホワイトバランス調整後の画像信号に対してガンマ補正を行う。例えばガンマ補正部352は、提示画像検出部31からの検出信号JAによって撮像画像を提示画像の領域と背景画像の領域に区分できるとき、提示画像の領域に対しては白とびが生じないようにガンマ補正を行い、背景画像の領域に対しては黒つぶれが生じないようにガンマ補正を行う。
図4は、ホワイトバランス調整部351の構成を示している。ホワイトバランス検波部351aは、画像信号DVaから無彩色領域内の画像信号を抽出して、検波信号JCとしてホワイトバランス補正係数設定部351bに供給する。また、ホワイトバランス検波部351aは、検出信号JAに基づき、提示画像の領域と背景画像の領域とで無彩色領域を切り換える。
ホワイトバランス補正係数設定部351bは、ホワイトバランス検波部351aから供給された検波信号JCからホワイトバランス補正係数Kを決定して補正処理部351cに供給する。
補正処理部351cは、画像信号DVaに対してホワイトバランス補正係数Kを乗算することでホワイトバランス調整を行い、ホワイトバランス調整後の画像信号DVbを図1に示すガンマ補正部352に供給する。
さらに、画像処理部35は、例えばホワイトバランス調整やガンマ補正等が行われた三原色の画像信号を、静止画像または動画像の画像符号化技術に応じた画像信号例えば輝度信号や色差信号等に変換して圧縮伸長処理を行い、得られた静止画像または動画像の圧縮符号化信号GDaを記録再生部37出力する。さらに、圧縮伸長処理が行われていない静止画像や動画像の画像信号および/または圧縮符号化信号を外部機器(図示せず)に出力する処理を行う。画像処理部35は、圧縮符号化信号GDbが記録再生部37から供給されたとき、圧縮符号化信号GDbを圧縮符号化処理前の画像信号に戻す処理を行う。さらに、画像処理部35は、画像信号DVaから表示画像信号HGを生成して表示部38に供給する。また、画像処理部35は、制御部51から供給された表示信号HEに基づき、提示画像撮像モードに設定されたことを示す情報等がオンスクリーン表示されている表示画像信号HGの生成等も行う。
記録再生部37は、画像処理部35から供給された圧縮符号化信号GDaを、記録媒体例えば半導体メモリや光ディスクあるいは磁気テープ等の記録媒体に記録する。また、記録媒体に記録されている圧縮符号化信号GDbを読み出して画像処理部35に供給する。
表示部38は、例えば液晶表示素子等を用いて構成されており、画像処理部35から供給された表示画像信号HGに基づいて画像表示を行う。
レンズ駆動部41は、撮像素子211の受光面に被写体像が焦点の合った状態で結像されるようにレンズ部11のフォーカスレンズ(図示せず)を駆動する。また、撮像素子211の受光面に結像される被写体像の大きさが所望の大きさとなるようにレンズ部11のズームレンズ(図示せず)を駆動する。
絞り駆動部42は、絞り機構12を駆動して、撮像素子211の受光面に結像される被写体像の光量を調整する。
ストロボ45は、所望の明るさの撮像画像が得られるように、ストロボ光の照射を行う。
制御部51には、ユーザインタフェース部52や動き検出部53が接続されている。ユーザインタフェース部52は、操作キーや外部からの遠隔操作信号を入力するためのインタフェース等で構成されており、ユーザ操作に応じた操作信号PSを生成して制御部51に供給する。動き検出部53は、撮像装置10の動きによって生じる撮像画像の移動を検出するためのものであり、例えば加速度センサやジャイロセンサ等を用いて構成されている。動き検出部53は、撮像装置10の動きを検出して、動き検出結果を示すセンサ信号SSを制御部51に供給する。
制御部51は、CPU(Central Processing Unit)511や、ROM(Read Only Memory)512、RAM(Random Access Memory)513等で構成されている。CPU511は、ROM512に格納されているプログラムを実行して、操作信号PSに応じた制御信号を生成して各部に供給することで、撮像装置の動作がユーザ操作に応じて動作となるように制御する。なお、RAMは、種々の制御を行う際に情報を一時記憶しておくためのワーキングエリア等として用いられる。
また、制御部51は、検波部32から供給された検波信号JBによって示された検波値が予め設定されている基準値となるように制御信号を生成して制御信号を生成して露出調整部に供給することで、撮像画像における所望の被写体を最適な明るさとする。露出調整部は、少なくとも撮像部21に入射する光量と撮像部21から出力する画像信号Saのゲインと撮像部21で画像信号Saを得る際の露光時間のいずれかを調整するものであり、絞り機構12と絞り駆動部42、タイミング信号発生部22、増幅部213が露出調整部に相当する。例えば、制御部51は、検波信号JBに基づき制御信号CTbを生成して絞り駆動部42に供給することで、撮像画像における所望の被写体が最適な明るさとなるように撮像部21に入射する光量を調整する。また、制御部51は、検波信号JBに基づき制御信号CTcを生成してタイミング信号発生部22に供給することで、撮像画像における所望の被写体が最適な明るさとなるように露光時間を調整する。また、制御部51は、検波信号JBに基づき制御信号CTdを生成して増幅部213に供給することで、撮像画像における所望の被写体が最適な明るさとなるように画像信号Saのゲインを調整する。
さらに、制御部51は、動き検出部53からのセンサ信号SSに応じて提示画像の検出動作の制御や、提示画像検出部31から供給された検出信号JAに基づき、提示画像が検出されたことを判別したとき、撮像画像における提示画像等を最適な画像とする提示画像撮像モードに切り換える処理も行う。また、制御部51は、どのような撮像モードに設定されているかを制御信号CTeによって検波部32と画像処理部35に通知する。また、制御部51は、ユーザによって提示画像の領域の指示が行われたとき、この指示された領域を示す情報を制御信号CTfとして提示画像検出部31に供給する。
ここで、制御部51によって提示画像撮像モードに設定されたとき、検波部32は、撮像画像における提示画像が最適な明るさとなるように検波領域の切り換えを行う。画像処理部35は、提示画像と背景画像の色再現をそれぞれ正しくするホワイトバランス調整や、提示画像に対しては白とびが生じないようにガンマ補正を行い、背景画像と判別された画像に対しては黒つぶれが生じないようにガンマ補正を行う。
なお、制御部51は、制御信号CTaを生成してレンズ駆動部41に供給して、撮像素子211の受光面に被写体像が焦点の合った状態で結像されるようにフォーカスレンズを駆動させる制御や、所望の画角の撮像画像を得ることができるようにズームレンズを駆動させる制御等を行う。また、制御部51は、制御信号CThを生成してストロボ45に供給して、ストロボ発光の制御を行う。
次に、提示画像領域の検出動作について説明し、その後、撮像装置の動作について説明する。図5は、提示画像の検出動作を示すフローチャートである。ステップST1で提示画像検出部31は、変換処理を行う。提示画像検出部31は、三原色の画像信号DVaから輝度信号DYと色差信号DCを生成してステップST2に進む。
ステップST2で提示画像検出部31は2値化処理を行う。提示画像検出部31は、輝度信号DYと色差信号DCを2値化して、輝度2値化信号と色差2値化信号を生成してステップST3に進む。
2値化処理では、上述のように、輝度信号DYや色差信号DCと閾値を比較することで輝度信号DYや色差信号DCの2値化を行い、輝度2値化信号BYや色差2値化信号BCを生成する。2値化処理に用いる閾値は、予め固定したレベルに設定しておくものとしてもよく、撮像画像から提示画像を精度よく検出できるように、撮像画像に応じて閾値を設定するものとしてもよい。
ここで、撮像画像に応じて閾値を設定する場合、例えば統計的手法を用いて閾値の設定を行う。統計的手法としてはモード法や判別分析法等を用いるものとする。モード法は、撮像画像の輝度レベルのヒストグラムが双峰性を有しており、提示画像の部分と他の画像(以下「背景画像」という)の部分が区分されるとき、谷の位置を閾値として設定する方法である。また、判別分析法は、ヒストグラムを輝度レベルに応じて2つに区分してグループ分けを行い、このグループ間の分散が最大となる区分レベルを閾値として設定する方法である。
また、2値化処理において用いる閾値は、上述のように自動的に設定する場合に限られるものではなく、ユーザからの指示に応じて決定するようにしてもよい。ここで、ユーザからの指示に応じて閾値を決定する場合について説明する。
ユーザからの指示に応じて閾値を決定する場合、撮像画像を表示部38に表示して、ユーザインタフェース部52からの操作信号PSに基づき、ユーザが提示画像であると指定した領域の画像信号から閾値を設定する。例えばユーザインタフェース部52としてタッチパネルを用いるものとして、このタッチパネルを表示部38の画面上に設ける。
図6は、ユーザからの指示に応じて閾値を決定する場合の動作を説明するための図である。図6の(A)に示すようにユーザによる押圧部分PPを検出して、この押圧部分PPの輝度信号や色差信号の平均レベルVavを求める。さらに、平均レベルVavに対して図6の(B)のように幅をもたせて、幅の上限Vthと下限Vtlを閾値として、上限Vthから下限Vtlの範囲内であるか否かを示す2値化信号を生成する。
図7は、2値化処理で用いる閾値の設定処理を示すフローチャートである。ステップST11において制御部51は、閾値を自動的に設定するか否か判別する。制御部51は、ユーザインタフェース部52からの操作信号PSによって閾値を自動的に設定するモードが選択されていると判別したときステップST12に進み、閾値を手動で設定するモードが選択されていると判別したときステップST13に進む。
ステップST12で制御部51は、提示画像検出部31を制御して、撮像画像に応じた閾値の自動設定を行い、閾値の設定処理を終了する。提示画像検出部31は、例えば上述のように統計的手法等を用いて閾値を自動的に設定する。また、提示画像検出部31は予め設けられている閾値を自動的に用いるものとしてもよい。
ステップST13で制御部51は、ユーザ指示領域判別処理を行う。制御部51は、ユーザインタフェース部52からの操作信号PSに基づき、例えば撮像画像上のユーザが押圧した領域を判別してステップST14に進む。
ステップST14で制御部51は、提示画像検出部31を制御して、ユーザ指示領域に応じた閾値の設定を行い、閾値の設定処理を終了する。ここで、制御部51は、ステップST13で判別した領域を、制御信号CTfによって提示画像検出部31に通知する。提示画像検出部31は、通知された領域の輝度信号や色差信号の平均レベルを算出して、算出した平均レベルを基準とした所定レベル範囲の上限と下限を閾値に設定して処理を終了する。
このように、ユーザからの指示に応じて閾値を設定できるようにすれば、提示画像部分と他の画像部分の輝度差が小さい等の理由から、統計的手法等を用いて閾値を自動的に設定することが困難な場合でも、提示画像に応じた閾値を設定することができる。
図5のステップST3で提示画像検出部31は、輝度2値化信号BYを選択してステップST4に進む。
ステップST4で提示画像検出部31は、水平分布を取得してステップST5に進む。また、ステップST5で提示画像検出部31は、垂直分布を取得してステップST6に進む。
図8は、水平分布と垂直分布の取得処理を示している。図8の(A)は撮像画像を示しており、図8の(B)は2値化処理後の撮像画像を示している。提示画像検出部31は、ライン毎に輝度信号DYの信号レベルが閾値よりも高い画素をカウントすることで、図8の(C)に示す水平分布を得る。また、垂直方向に輝度信号DYの信号レベルが閾値よりも高い画素をカウントすることで、図8の(D)に示すように、上述の水平方向と直交する垂直方向の分布を得る。
ステップST6で提示画像検出部31は、提示画像の上辺と下辺の検出処理を行ってステップST7に進む。
図9,図10は、提示画像の上辺と下辺の検出処理を示している。図9の(A)は2値化処理後の撮像画像を示しており、図9の(B)はステップST4で取得した水平分布を示している。ここで、提示画像検出部31は、水平分布を複数領域に区分して、領域毎に対象画素の総和を求める。例えば領域REh1,REh2,REh3,REh4,REh5に区分して、領域毎に対象画素の総和を求める。次に、提示画像検出部31は、撮像画像の上端から下端方向に順次領域を選択して、選択した領域における対象画素の総和と閾値を比較して、総和が閾値を超える領域を検出する。このような処理を行うことで、提示画像の上辺を含む領域を検出することが可能となる。同様に、提示画像検出部31は、撮像画像の下端から上端方向に順次領域を選択して、選択した領域における対象画素の総和と閾値を比較して、総和が閾値を超える領域を検出する。このような処理を行うことで、提示画像の下辺を含む領域を検出することが可能となる。
ところで、提示画像の辺が領域の境界に近接していると、領域内の対象画素の総和が大きく異なり、提示画像の辺を含む領域の検出が困難となる場合がある。例えば、提示画像の上辺が領域REh(n)内であって領域REh(n+1)に近接していると、領域内の対象画素の総和が大きな値とならない。ここで、総和が閾値を超える領域の検出が行われると、提示画像の上辺は領域REh(n+1)に含まれると誤って判断されてしまうおそれがある。したがって、水平分布を複数領域に区分する際に、他の領域と重なる部分を有するように領域を設ける。例えば領域REh1〜REh5,REh1s〜REh4sに示すように領域を設ける。この場合、提示画像の上辺が領域REh1と領域REh2の境界付近であって、領域REh1または領域REh2のいずれの位置であっても、領域REh1sにおける対象画素の総和は大きく変動することがない。したがって、このときの領域REh1sにおける対象画素の総和と閾値を比較したとき、提示画像の上辺が領域REh1sに含まれていると判別されるように閾値を設定すれば、提示画像の辺を含む領域を正しく検出することができる。なお、閾値は、予め固定して設けておくものとしてもよく、上述のように統計的手法を用いて各領域における対象画素の総和から閾値を設定するものとしてもよい。
次に、提示画像検出部31は、検出した提示画像の辺を含む領域例えば上辺を含む領域REh1sにおいて、水平分布におけるライン毎の対象画素の総和を撮像画像の上端から下端方向にライン毎に順次用いて閾値と比較して、総和が閾値を超えるラインを提示画像の上辺Laとする。同様に、提示画像検出部31は、下辺を含む領域REh4sにおいて、水平分布におけるライン毎の対象画素の総和を撮像画像の下端から上端方向にライン毎に順次用いて閾値と比較して、総和が閾値を超えるラインを提示画像の下辺Lbとする。図10の(A)は2値化処理後の撮像画像を示しており、図10の(B)は水平分布を示している。ここで、領域REh1sが上辺を含む領域として判別されたとき、領域REh1sにおけるライン毎の対象画素の総和を撮像画像の上端から下端方向にライン毎に順次用いて閾値と比較して、総和が閾値を超えるラインを提示画像の上辺Laとする。同様に、領域REh4sが下辺を含む領域として判別されたとき、領域REh4sにおけるライン毎の対象画素の総和を撮像画像の下端から上端方向にライン毎に順次用いて閾値と比較して、総和が閾値を超えるラインを提示画像の下辺Lbとする。
このように、上辺や下辺を含む領域を検出して、検出した領域から提示画像の上辺や下辺を検出することで、例えばノイズ等によって一つのラインの総和が大きくなってしまっても、このラインが提示画像の上辺と誤って判断されてしまうことを防止できる。
ステップST7で提示画像検出部31は、提示画像の左辺と右辺の検出処理を行ってステップST8に進む。
図11,図12は、提示画像の左辺と右辺の検出処理を示している。図11の(A)は2値化処理後の撮像画像を示しており、図11の(B)はステップST5で取得した垂直分布を示している。ここで、提示画像検出部31は、垂直分布を複数領域例えば領域REv1〜REv6,REv1s〜REv5sに区分して、領域毎に対象画素の総和を求める。次に、提示画像検出部31は、撮像画像の左端から右端方向に順次領域を選択して、選択した領域における対象画素の総和と閾値を比較して、総和が閾値を超える領域を検出する。このような処理を行うことで、提示画像の左辺を含む領域REv2を検出することが可能となる。同様に、提示画像検出部31は、撮像画像の右端から左端方向に順次領域を選択して、選択した領域における対象画素の総和と閾値を比較して、総和が閾値を超える領域を検出する。このような処理を行うことで、提示画像の右辺を含む領域REv5を検出することが可能となる。なお、このときの閾値は、予め固定して設けておくものとしてもよく、上述のように統計的手法を用いて各領域における対象画素の総和から閾値を設定するものとしてもよい。
次に、提示画像検出部31は、検出した領域例えば左辺を含む領域REv2において、垂直分布における画素位置毎の対象画素の総和を撮像画像の左端から右端方向に画素位置毎に順次用いて閾値と比較して、総和が閾値を超える画素位置を提示画像の左辺Lcとする。同様に、提示画像検出部31は、右辺を含む領域REv5において、垂直分布における画素位置毎の対象画素の総和を撮像画像の右端から左端方向に画素位置毎に順次用いて閾値と比較して、総和が閾値を超える画素位置を提示画像の右辺Ldとする。
図12の(A)は2値化処理後の撮像画像を示しており、図12の(B)は垂直分布を示している。ここで、領域REv2が左辺を含む領域として判別されたとき、領域REv2における画素位置毎の対象画素の総和を撮像画像の左端から右端方向に順次用いて閾値と比較して、総和が閾値を超える画素位置を提示画像の左辺Lcとする。同様に、領域REv5が右辺を含む領域として判別されたとき、領域REv5における画素位置毎の対象画素の総和を撮像画像の右端から左端方向にライン毎に順次用いて閾値と比較して、総和が閾値を超えるラインを提示画像の右辺Ldとする。
ステップST8で提示画像検出部31は、提示画像であるか否か判別する。提示画像検出部31は、ステップST6,ST7で検出した上辺と下辺および左辺と右辺からアスペクト比を判別して、このアスペクト比が提示画像のアスペクト比例えばテレビジョン放送で用いられているアスペクト比「4:3」,「16:9」等に近似しているとき、すなわち、判別したアスペクト比が「4:3±α」,「16:9±β」であるとき、ステップST6とステップST7で検出した辺によって囲まれる領域を提示画像と判別して提示画像検出処理を終了する。なお「α」「β」は、提示画像であると判別するための許容範囲を示す定数であり、予め設定しておくものとする。このように、アスペクト比が所望のアスペクト比に近似しているか否かを判別することで、予め規定されているアスペクト比の提示画像を撮像したとき、撮像画像から提示画像の領域を容易に判別することが可能となる。
また、提示画像検出部31は、提示画像の上辺と下辺および左辺と右辺を検出できないときや、検出した上辺と下辺および左辺と右辺に基づいて判別したアスペクト比が所望のアスペクト比に近似していないとき、提示画像を検出していないものとしてステップST9に進む。
図13は、提示画像であるか否かの判別動作を説明するための図である。例えば、図13の(A)や(B)に示すように上辺Laと下辺Lbおよび左辺Lcと右辺Ldが検出されて、この検出された上辺,下辺,左辺および右辺で囲まれる画像が、提示画像のアスペクト比に近似していないとき、ステップST9に進む。
ステップST9で提示画像検出部31は、提示画像の検出が1度目であるか否かを判別する。提示画像検出部31は、輝度2値化信号を用いて提示画像の検出を行うとき、提示画像の検出が1度目であるからステップST10に進む。
ステップST10で提示画像検出部31は、色差2値化信号を選択してステップST4に戻り、ステップST4からの処理を繰り返す。
提示画像検出部31は、ステップST4からの処理を繰り返すことで、色差2値化信号に基づいた提示画像の検出を行う。なお、提示画像検出部31は、提示画像の上辺と下辺および左辺と右辺を検出できないときや、検出した上辺と下辺および左辺と右辺に基づいて判別したアスペクト比が所望のアスペクト比に近似していないとき、ステップST8からステップST9に進む。
このように、輝度2値化信号だけでなく色差2値信号を用いて提示画像の検出を行うものとすれば、例えば提示画像と背景画像との輝度差が少ないため、輝度2値化信号に基づいて提示画像と背景画像を区分することが困難な場合でも、提示画像が背景画像とは異なる色を基調とした画像であるとき、色の違いから提示画像を検出できるようになる。この提示画像は、自然風景に比べ大きな輝度値を持つという特徴と色が濃いという特徴を持っている。ここで、色の濃さはYCC空間やLab空間の色空間における色差成分の大きさやHSV空間における彩度の大きさを用いて表すことができる。したがって、色差成分の強度や彩度の大きさを用いて提示画像の検出を行うものとすれば、輝度差に基づいて提示画像と背景画像の区分が困難な場合でも、提示画像と背景画像を区分することが可能となり、精度よく提示画像を検出できるようになる。
ステップST9で提示画像検出部31は、提示画像の検出が1度目であるか否かを判別する。提示画像検出部31は、輝度2値化信号と色差2値化信号を用いて提示画像の検出を行っており、提示画像の検出が1度目でないことから処理を終了する。
このような処理を行うものとすれば、エッジ画像からの直線検出を行うための数学的座標変換や頂点探索などの重い処理が不要となり、提示画像検出部31は提示画像領域の検出処理を高速に行うことが可能となる。さらに、高速化のために縮小画像を用いた場合でも輪郭抽出を必要としないので検出精度劣化は少ないという利点が得られる。また、提示画像検出部31は、輝度情報を使って検出に失敗した場合でも、色差情報を用いて提示画像の検出を行うので提示画像と背景画像との輝度が低くとも提示画像を検出することが可能となる。さらに、頂点探索によって提示画像を検出する場合、図14の(A)のように提示画像の一部が隠れていると、頂点を探索することが困難となり提示画像を検出することができない。しかし、本願発明によれば、2値化したとき図14の(B)のようにある程度の外形が2値化画像で現れていれば提示画像を検出することが可能となる。さらに、提示画像と背景画像との境界部分で信号レベル差が少なく、エッジ検出では提示画像の検出が難しいような場合あっても提示画像を検出することが可能となる。
ところで、上述の実施の形態では、水平分布と垂直分布を複数領域に区分して、領域毎に対象画素の総和から上辺や下辺および左辺や右辺を含む領域を検出して、この検出した領域から上辺や下辺および左辺や右辺を検出している。ここで、提示画像検出部31は、撮像画像における提示画像の領域の変動を生じさせる動作が行われたことを示す情報に応じて、提示画像の水平方向および垂直方向の辺の検出を行う検出範囲を設定して、提示画像の領域をさらに効率よく検出する。撮像画像における提示画像の領域の変動を生じさせる動作が行われたことを示す情報は、例えばフレーム間で生じた提示画像の変化を容易に識別可能とする情報(以下「フレーム間情報」という)である。例えば、撮像方向が変化すると撮像画像における提示画像の位置が変化する。このため、提示画像の位置の変化を容易に把握できるように、撮像装置10に動き検出部53を設けて、動き検出部53からのセンサ信号SSをフレーム間情報として用いて検出範囲の設定を行う。
次に、フレーム間情報を用いて提示画像を検出する場合の動作を図15のフローチャートを用いて説明する。制御部51は、動き検出部53からのセンサ信号SSに基づき、撮像装置10の動きが予め設定した所定量を超えているか否か判別して、判別結果を制御信号CTfによって提示画像検出部31に通知する。
ステップST21で提示画像検出部31は、撮像装置10の動きが所定量未満であるときステップST22に進み、撮像装置10の動きが所定量以上であるときステップST24に進む。
ステップST22で提示画像検出部31は、前フレームで提示画像を検出したか否か判別して、前フレームの撮像画像から提示画像を検出したときはステップST23に進み、提示画像を検出していないときはステップST24に進む。
ステップST23で提示画像検出部31は、検出範囲の切り換えを行う。図16は、検出範囲の切り換えを示している。提示画像検出部31は、図16の(A)に示すように前フレームで検出された提示画像の領域RFaを基準として、検出範囲を撮像画像の範囲から図16の(B)に示すように撮像画像よりも狭く提示画像よりも広い領域RFbに切り換えてステップST24に進む。また、提示画像検出部31は、前フレームで検出された位置を基準として検出範囲を設定するだけでなく、動き検出の結果も用いて行うものとしてもよい。例えば、撮像装置10の動きがないときは、前フレームで検出された提示画像の例えば中心位置と検出範囲の中心位置が等しくなるように設定する。また、動き検出結果から撮像装置の動きが検出されたとき、撮像画像における提示画像の位置が撮像装置の動き方向とは逆方向に移動するので、提示画像検出部31は、前フレームで検出された提示画像の位置に対して動き方向とは逆方向に検出範囲を広げるものとする。このようにすれば、撮像装置10の動きに合わせて検出範囲を設定できる。また、動きが大きくなるに伴い検出範囲を広く設定してもよい。
ステップST24で提示画像検出部31は、検出範囲から提示画像の検出を行う。すなわち、提示画像検出部31は、上述のステップST1からステップST10の処理を行い、検出範囲から提示画像を検出して処理を終了する。
このように、撮像装置10の動きが所定量未満であるとき、提示画像検出部31は、前フレームで検出された提示画像の位置を参照して検出範囲を狭めるので、撮像画像から提示画像を検出する場合に比べて、提示画像の検出を速やかに行うことが可能となる。また、精度を重視して細かく提示画像の位置を検出する場合でも、撮像画像から提示画像を検出する場合に比べて検出に要する時間を短くすることが可能となる。さらに、提示画像検出部31は、前フレームで検出された提示画像の位置を参照して検出範囲を設定するため、提示画像が存在する可能性の低い背景部分が除かれるので提示画像以外のものを間違えて検出してしまう可能性が低くなる。また、撮像装置の動きが大きいときでも、動きに応じて検出範囲を移動させることで、撮像画像から提示画像を検出する場合に比べて、提示画像の検出を速やかに行うことが可能となる。
ところで、撮像装置10において、提示画像の変化は、撮像装置の動きだけでなく、ズーム動作を行って画角を変化させた場合も生じる。したがって、動き検出部53からのセンサ信号SSをフレーム間情報として用いるだけでなく、提示画像検出部31はズーム情報に応じて検出範囲の切り換えを行うものとしてもよい。
次に、フレーム間情報としてズーム情報を用いて提示画像を検出する場合の動作について、図17のフローチャートを用いて説明する。制御部51は、ズーム操作が行われたとき、レンズ駆動部41を制御するためでなく、ズーム情報例えばズーム倍率比を制御信号CTfによって提示画像検出部31に通知する。
ステップST31で提示画像検出部31は、撮像装置10の動きが所定量未満であるときステップST32に進み、撮像装置10の動きが所定量以上であるときステップST35に進む。
ステップST32で提示画像検出部31は、前フレームで提示画像を検出したか否か判別して、前フレームの撮像画像から提示画像を検出したときはステップST33に進み、提示画像を検出していないときはステップST35に進む。
ステップST33で提示画像検出部31は、制御部51からズーム情報を取得してステップST34に進む。例えば、ズーム情報として、前フレームの撮像画像を生成したときのズーム倍率と現フレームの撮像画像を生成したときのズーム倍率との比(以下「ズーム倍率比」という)を取得する。
ステップST34で提示画像検出部31は、検出範囲の切り換えを行う。提示画像検出部31は、前フレームで検出された提示画像の領域を基準として、ズーム倍率比に応じて、検出範囲を切り換えてステップST35に進む。提示画像検出部31は、ズーム倍率比が「1」よりも小さい場合、現フレームの提示画像は前フレームの提示画像よりも縮小したものとなることから検出範囲を小さくする。また、提示画像検出部31は、ズーム倍率比が「1」よりも大きい場合、現フレームの提示画像は前フレームの提示画像よりも拡大したものとなることから検出範囲を大きくする。
図18は、ズーム情報に基づいて検出範囲の切り換えを行う場合を示している。例えば、提示画像検出部31は、上述のステップST23に示すように検出範囲を切り換えたのち、ズーム倍率比が「1」よりも小さい場合には、図18の(A)に示すように検出範囲をズーム倍率比に応じて小さくする。また、ズーム倍率比が「1」よりも大きい場合には、図18の(B)に示すように検出範囲をズーム倍率比に応じて大きくする。なお、図18において、領域RFbはズーム倍率比に応じた変更前の検出範囲、領域RFcはズーム倍率比に応じた変更後の検出範囲をそれぞれ示している。
ステップST35で提示画像検出部31は、検出範囲から提示画像の検出を行う。すなわち、提示画像検出部31は、上述のステップST1からステップST10の処理を行い、検出範囲から提示画像を検出して処理を終了する。
このように、ズーム情報に応じて検出範囲を縮小または拡大すれば、例えばズーム倍率比が「1」よりも小さく提示画像が縮小される場合には、検出範囲が縮小されて提示画像が存在する可能性の低い背景部分が除かれるので提示画像以外のものを間違えて検出してしまう可能性を低くできる。また、速やかに提示画像を検出できる。また、ズーム倍率比が「1」よりも大きく提示画像が拡大される場合に、検出範囲が拡大されるので、検出範囲よりも提示画像が大きくなって、提示画像を検出できなくなってしまうことを防止できる。このように処理することで、撮像画像からの提示画像の検出をさらに効率よく行うことができる。
次に、提示画像の検出結果を用いて行われる撮像装置の動作について図19,図20のフローチャートを用いて説明する。ステップST101で制御部51は、自動で撮像モードのモード切換を行うか否か判別する。制御部51は、ユーザインタフェース部52からの操作信号に基づき、撮像モードの自動切換を行うように設定が行われていると判断したときはステップST102に進み、自動切換を行うように設定が行われていないと判断したときは図20のステップST111に進む。
ステップST102で制御部51は、領域別にホワイトバランス(WB)調整および/またはガンマ(γ)補正を行うか否か判別する。制御部51は、ユーザインタフェース部52からの操作信号に基づき、領域別にホワイトバランス調整および/またはガンマ補正を行うように設定されていると判断したときはステップST103に進み、領域別にホワイトバランス調整および/またはガンマ補正を行うように設定が行われていないと判断したときはステップST105に進む。
ステップST103で制御部51は、領域別に行うのはガンマ補正のみであるか否かを判別する。制御部51は、領域別に行う処理がガンマ補正のみと設定されていないときステップST104に進み、領域別に行う処理がガンマ補正のみと設定されているときステップST107に進む。
ステップST104で制御部51は、中間のホワイトバランス調整を行うか否か判別する。制御部51は、提示画像における無彩色と背景画像の無彩色の中間色を無彩色とするホワイトバランス補正係数を求めて、このホワイトバランス補正係数を用いて撮像画像のホワイトバランス調整を行うか否か判別する。制御部51は、中間のホワイトバランス調整を行うように設定されていると判別したときステップST105に進み、中間のホワイトバランス調整を行うように設定されていないと判別したときステップST107に進む。
ステップST105で制御部51は、提示画像検出部31で提示画像検出を行わせてステップST106に進む。提示画像検出部31は、上述のように輝度信号や色差信号の2値化を行い、輝度2値化信号や色差2値化信号から水平分布信号DShと垂直分布信号DSvを求め、この水平分布信号DShと垂直分布信号DSvから提示画像の各辺を判別して提示画像を検出する。
ステップST106で制御部51は、提示画像撮像モードへの切換条件を満たしているか否かの判別を行う。制御部51は、提示画像撮像モードへの切換条件を満たしていると判別したとき、撮像モードを提示画像撮像モードに設定してステップST121に進み、満たしていないと判別したとき撮像モードを他の撮像モード(例えば通常撮像モード)に設定してステップST123に進む。
制御部51は、提示画像が検出されたフレームの発生状況に応じて、提示画像撮像モードへの切換条件を満たしているか否か判別する。例えば、制御部51は、提示画像が検出されたフレームを生ずる毎にカウントアップを行い、提示画像が検出されていないフレームが生ずる毎にカウントダウンを行う。なお、カウント値の範囲は「0」〜「数十程度」に設定する。ここで、カウント値が撮像モード判定のために予め設定されている閾値(以下「モード判定閾値」という)以上となったときには提示画像撮像モードに設定して、カウント値がモード判定閾値未満であるときは通常撮像モードに設定する。
また、制御部51は、提示画像が検出されたフレームの連続数や、提示画像が検出されていないフレームの連続数に基づいて撮像モードの設定を行うものとしてもよい。例えば、提示画像が検出されたフレームの連続数が所定数となったとき、撮像モードを通常撮像モードから提示画像撮像モードに切り換える。また、提示画像が検出されていないフレームの連続数が所定数となったとき、撮像モードを提示画像撮像モードから通常撮像モードに切り換える。このようにすれば、提示画像の検出状況に応じた撮像モードの切り換えを安定して行うことができる。
ステップST107で制御部51は、提示画像検出部31で高精度提示画像検出を行わせてステップST108に進む。提示画像検出部31は、上述のステップST105よりも高精度で提示画像の検出を行い、撮像画像における提示画像の領域を検出する。例えば、提示画像検出部31では、検出した上辺,下辺,左辺および右辺が提示画像の各辺に相当するものであることを判別したとき、検出した上辺,下辺,左辺および右辺で囲まれる画像を提示画像と判定するだけでなく、さらに精度よく提示画像の領域を検出する。提示画像検出部31は、精度よく提示画像の領域を検出する方法として、例えばエッジ検出結果から数学的座標変換等により直線を検出して、検出された直線で囲まれる矩形状は台形状の領域から提示画像の領域を判別する。また、提示画像検出部31は他の方法を用いるものとしてもよい。
ステップST108で制御部51は、ステップST106と同様に、提示画像撮像モードへの切換条件を満たしているか否かの判別を行う。制御部51は、提示画像撮像モードへの切換条件を満たしていると判別したとき、撮像モードを提示画像撮像モードに設定してステップST124に進み、満たしていないと判別したとき撮像モードを通常撮像モードに設定してステップST123に進む。
ステップST101で撮像モードの自動切換を行うように設定が行われていないと判断して図20のステップST111に進むと、制御部51は、撮像モードがユーザによって提示画像撮像モードに設定されていか否かを判別する。制御部51は、撮像モードが提示画像撮像モードに設定されているときステップST112に進み、通常撮像モードに設定されているとき、図19のステップST123に進む。
ステップST112で制御部51は、領域別にホワイトバランス(WB)調整および/またはガンマ(γ)補正を行うか否か判別する。制御部51は、ユーザインタフェース部52からの操作信号に基づき、領域別にホワイトバランス調整および/またはガンマ補正を行うように設定されていると判断したときはステップST113に進み、領域別にホワイトバランス調整および/またはガンマ補正を行うように設定が行われていないと判断したときはステップST115に進む。
ステップST113で制御部51は、領域別に行うのはガンマ補正のみであるか否かを判別する。制御部51は、領域別に行う処理がガンマ補正のみと設定されていないときステップST114に進み、領域別に行う処理がガンマ補正のみと設定されているときステップST116に進む。
ステップST114で制御部51は、ステップST104と同様に中間のホワイトバランス調整を行うか否か判別する。制御部51は、中間のホワイトバランス調整を行うように設定されていると判別したときステップST115に進み、中間のホワイトバランス調整を行うように設定されていないと判別したときステップST116に進む。
ステップST115で制御部51は、ステップST105と同様に提示画像検出部31で提示画像検出を行わせて図19のステップST121進む。ステップST116で制御部51は、ステップST107と同様に提示画像検出部31で高精度の提示画像検出を行わせて図19のステップST124進む。
図19において、ステップST106あるいはステップST115からステップST121に進むと、制御部51は、露出制御の変更を行うか否か判別する。制御部51は、提示画像撮像モードの場合において、提示画像が適切な明るさとされた撮像画像を得られるように露出制御を切り換える設定がなされているときステップST122に進み、露出制御を切り換えるように設定がなされていないときはステップST123に進む。
ステップST122で制御部51は、提示画像検出結果を用いた露出制御を行いステップST123に進む。例えば制御部51は、検出信号JAに基づき提示画像の位置を判別して、この判別結果に基づいた重み係数設定処理を検波部32に対して行い、検波部32で生成された検波信号JBに基づき、少なくとも駆動部42とタイミング信号発生部22と増幅部213のいずれかを制御することで露出制御を行う。
図21は、検波部32で行われる重み付けを示している。検波部32は、撮像画像を図21の(A)に示すように複数のブロック例えば(m×n)に分割する。また、撮像画像が図21の(B)に示す構図とされて提示画像が検出されているときは、提示画像の影響を受けることがないように、提示画像を含んでいないブロックの重み付けを図21の(C)に示すように高くする。例えば提示画像を含むブロックの重み係数は「0」として、背景画像のブロックの重み係数を高くする。なお、制御部51は、通常撮像モードであるとき、中央部の重み付けを高くした重み係数設定処理、すなわち図21の(D)に示すように撮像画像における中央部のブロックの重み付けが高くなるように重み係数の設定を行う。
撮像モードに応じて重み係数の設定が行われると、検波部32は、撮像画像に検波領域を設けて、検波領域の画像信号から検波信号JBを生成する。すなわち、検波部32は、撮像画像をブロックに分割して、ブロックにおける各画素の明るさを示す信号の総和に対して重み係数Wの重み付けを行い、重み付け後の総和を加算して検波値Vjbを算出して、この検波値Vjbを示す検波信号JBを生成する。
ここで、座標(a,b)のブロック内に含まれる画素の輝度信号の総和をBT(a,b)、座標(a,b)のブロックに対する重み係数をW(a,b)としたとき、検波部32は、式(1)に基づき検波値Vjbを生成する。
なお、重み係数の総和を1に正規化することで、正規化された検波値Vjbを得ることができる。
制御部51は、検波部32で生成された検波信号JBに基づき、少なくとも制御信号CTb,CTc,CTdのいずれかを生成して露出制御を行う。
ステップST123で制御部51は、領域を区分することなくホワイトバランス調整および/またはガンマ補正を行いステップST101に戻る。制御部51は、画像処理部35のホワイトバランス調整部351を制御して、例えば撮像画像からホワイトバランス補正係数を算出して、このホワイトバランス補正係数を用いてホワイトバランス調整を行う。
また、制御部51は、ステップST104やステップST114で、中間のホワイトバランス調整を行うと判別されているとき、提示画像における無彩色と背景画像の無彩色の中間色を無彩色とするホワイトバランス補正係数を求めて、このホワイトバランス補正係数を用いて撮像画像のホワイトバランス調整を行う。
図22は、ホワイトバランス検波を行って得られた無彩色の位置を示している。ここで、ホワイトバランス検波を行うことにより得られた検波信号から検出した(R/G)−(B/G)平面上における提示画像の無彩色が位置ACpaとなり、背景画像の無彩色が位置ACpbとなったとき、提示画像における無彩色の位置ACpaと背景画像における無彩色の位置ACpbの中間位置ACpcを無彩色とするホワイトバランス補正係数を求める。さらに、求めたホワイトバランス補正係数を用いて撮像画像のホワイトバランス調整を行う。なお、図22において、領域ACSは一般的な光源(例えば太陽光や白熱灯)下で撮像した画像における無彩色領域、領域ACRは実験的に得たスクリーンに投影された画像における無彩色領域を示している。
また、制御部51は、画像処理部35のガンマ補正部352を制御して、予め設定されているガンマカーブを用いて撮像画像のガンマ補正を行う。
ステップST108あるいはステップST116からステップST124に進むと、制御部51は、ステップST121と同様に露出制御の変更を行うか否か判別する。制御部51は、提示画像撮像モードの場合において、提示画像が適切な明るさとされた撮像画像を得られるように露出制御を切り換える設定がなされているときステップST125に進み、露出制御を切り換えるように設定がなされていないときはステップST126に進む。
ステップST125で制御部51は、ステップST122と同様に、提示画像検出結果を用いた露出制御を行いステップST126に進む。
ステップST126で制御部51は、領域別のホワイトバランス調整および/またはガンマ補正を行いステップST101に戻る。制御部51は、画像処理部35のホワイトバランス調整部351を制御して、提示画像と背景画像からそれぞれホワイトバランス補正係数を算出する。さらに、制御部51は、提示画像から算出したホワイトバランス補正係数を用いて提示画像のホワイトバランス調整を行い、背景画像から算出したホワイトバランス補正係数を用いて背景画像のホワイトバランス調整を行う。例えば、図22に示すように、提示画像の無彩色が位置ACpaとなり、背景画像の無彩色が位置ACpbとなったとき、提示画像の無彩色の位置ACpaからホワイトバランス補正係数を求めて、このホワイトバランス補正係数を用いて提示画像の領域に対してホワイトバランス調整を行う。また、背景画像の無彩色の位置ACpbからホワイトバランス補正係数を求めて、このホワイトバランス補正係数を用いて背景画像の領域に対してホワイトバランス調整を行う。
また、制御部51は、画像処理部35のガンマ補正部352を制御して、領域別にガンマ補正を行う。図23は、ガンマ補正を行うときの補正特性を示している。制御部51は、例えば提示画像の領域ついて、図23の(A)に示すように、通常撮像モードで用いるガンマカーブCBaに比べて高輝度部分の輝度レベルを圧縮する特性のガンマカーブCBbを用いてガンマ補正部352でガンマ補正を行わせる。また、制御部51は、例えば背景画像の領域ついて、図23の(B)に示すように、通常のガンマカーブCBaに比べて低輝度部分の輝度レベルを伸長する特性のガンマカーブCBcを用いてガンマ補正部352でガンマ補正を行わせる。
このように、撮像画像から提示画像を検出して、提示画像の検出結果に基づき露出制御やホワイトバランス調整、ガンマ補正等を行うものとすれば、提示画像が適度な明るさで正しい色とされた撮像画像を得ることができるようになる。また、提示画像とは異なる他の画像例えば背景画像の黒つぶれ等が生じてしまうことも防止できる。
10・・・撮像装置、11・・・レンズ部、12・・・絞り機構、21・・・撮像部、22・・・タイミング信号発生部、23・・・A/D変換部、31・・・提示画像検出部、32・・・検波部、35・・・画像処理部、37・・・記録再生部、38・・・表示部、41・・・レンズ駆動部、42・・・絞り駆動部、45・・・ストロボ、51・・・制御部、52・・・ユーザインタフェース部、211・・・撮像素子、212・・・CDS部、213・・・増幅部、351・・・ホワイトバランス(WB)調整部、351a・・・ホワイトバランス検波部、351b・・・ホワイトバランス補正係数設定部、351c・・・補正処理部、352・・・ガンマ補正部、311・・・変換処理部、312,313・・・2値化処理部、315・・・水平分布取得部、316・・・垂直分布取得部、317・・・検出処理部、321・・・ブロック化処理部、322・・・ブロック別輝度算出部、323・・・係数設定部、324・・・乗算器、325・・・検波値算出部