説明

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

【課題】 水中のように複雑な操作が困難な環境下においても、少ない部材操作で簡単にユーザの意図したホワイトバランス補正を行うこと。
【解決手段】 画像の画像データから、白を表すと予測される画像データの色評価値を算出すると共に(S201、S206)、該画像の色分布情報から、被写体が位置する水深を推定し(S203)、その水深において白点軌跡を表す軸を、色評価値を表す座標平面において設定し(S204)、前記色評価値を前記軸に写像し(S207)、ユーザが一次元空間で指定した、前記写像された色評価値を調整するための指定値を取得する(S208)。取得した指定値に応じて、写像された前記色評価値を、前記色評価値を表す座標平面を定義している2つの軸のそれぞれの方向に調整し、調整された色評価値からホワイトバランス補正値を算出し、被写体を撮影して得られた画像の画像データをホワイトバランス補正する(S211)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理方法に関し、更に詳しくは、デジタルカメラやデジタルビデオカメラの画像処理装置で水中モードが設定された場合に行われるホワイトバランス補正技術に関する。
【背景技術】
【0002】
従来、撮像素子から出力された信号に基づいて、ホワイトバランスを調節する方法が知られている。一例として、次のようにしてオートホワイトバランス処理を行う方法がある。撮像素子がR(赤)、G(緑)、B(青)のカラーフィルタに覆われている場合、撮像素子から出力されてA/D変換された画像信号を複数のブロックに分割する。そして、ブロック毎に各色毎に加算平均して色平均値R[i]、G[i]、B[i]を求め、以下の式(1)により、各ブロックiの色評価値Cx[i]、Cy[i]を算出する。
Cx[i] =(R[i]−B[i])/ Y[i] × 1024
Cy[i] =(R[i] + B[i]−2G[i])/ Y[i] × 1024 …(1)
ただし、Y[i] = R[i] + 2G[i] + B[i]
【0003】
そして、上記式(1)により算出した各ブロックiの色評価値Cx[i]、Cy[i]を、予め設定した白検出範囲と比較する。色評価値(Cx[i]、Cy[i])が白検出範囲に含まれる場合は、そのブロックが白であると判定し、白と判定されたブロックのそれぞれの色評価値の積分値SumR、SumG、SumBを算出する。そして、算出した積分値から、以下式(2)によりホワイトバランス係数WBCo_R、WBCo_G、WBCo_Bを算出する。
WBCo_R = SumY × 1024 / sumR
WBCo_G = SumY × 1024 / sumG …(2)
WBCo_B = SumY × 1024 / sumB
ただし、SumY = (sumR + 2 × sumG + SumB) / 4)
【0004】
上述したようにして算出したホワイトバランス係数WBCo_R、WBCo_G、WBCo_Bを画像信号にかけることで、ホワイトバランス補正を行うことができる。
【0005】
しかしながら、上記のオートホワイトバランス処理は万能ではなく、特に水中のような特殊環境下では光源に対応できず、本来、白で表現されるべきであるところ、色残りが生じてしまう場合があった。これは水の分光透過率の影響で光の長波長域が減衰しやすくなり、R色光の比率がG色光やB色光に比べて大きく減少するため、元々の画像が青みを帯びた画像になることが原因の1つに挙げられる。さらに水中では、水面からカメラ(被写体)までの距離(水面からの深さ)が長くなるほど、水の外から到達する自然光のR色成分が減少するため、ホワイトバランスの追従性を保持するのが困難である。一方、たとえ光源に対応できたとしても、水中の独特な撮影環境の雰囲気を残したい場合等、ユーザが意図したホワイトバランス処理を行うことができないこともあった。
【0006】
特許文献1には以下の技術が開示されている。すなわち、手動設定可能な2種類のホワイトバランスゲインの可変範囲を示すレベルゲージを各々直交させた座標を表示させると共に、座標上における2種類のホワイトバランスゲイン現設定値を指示する現設定値マークを表示させる。この表示により、ユーザは手動でホワイトバランスを微調整することが開示されている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特許第4028358号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、特許文献1に開示された従来技術では、上下左右の操作部材を使用することでホワイトバランスを微調整できるが、水中のような部材操作が困難な環境下では操作が煩わしく感じられ、自由度が高いのが逆にデメリットとなり得る。
【0009】
また、水中において光源に追従するためには水深に応じたホワイトバランス制御が望ましいが、水深計等をカメラに搭載するとカメラのコストが高くなるという問題がある。
【0010】
本発明は上記問題点を鑑みてなされたものであり、水中のように複雑な操作が困難な環境下においても、少ない部材操作で簡単にユーザの意図したホワイトバランス補正を行得るようにすることを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するために、水中での撮影を目的とした水中モードを、複数の撮影モードの1つとして有する本発明の画像処理装置は、前記水中モードが設定されている場合に、被写体を撮像して得られた画像の画像データから、白を表すと予測される画像データの色評価値を算出する算出手段と、被写体を撮像して得られた前記画像の色分布情報から、前記撮像した被写体が位置する水深を推定する推定手段と、前記推定された前記水深に応じて、前記水深において白点軌跡を表す軸を、前記色評価値を表す座標平面において設定する設定手段と、前記算出手段で求めた前記色評価値を、前記設定手段により設定された前記軸に写像する写像手段と、前記写像された色評価値を調整するための指定値を一次元空間で指定するための指定手段と、前記指定手段により指定された指定値に応じて、前記写像手段により写像された前記色評価値を、前記色評価値を表す座標平面を定義している2つの軸のそれぞれの方向に調整する色評価値調整手段と、前記色評価値調整手段により調整された色評価値からホワイトバランス補正値を算出し、該算出した前記ホワイトバランス補正値により、被写体を撮影して得られた画像の画像データをホワイトバランス補正するホワイトバランス補正手段とを有する。
【発明の効果】
【0012】
本発明によれば、水中のように複雑な操作が困難な環境下においても、少ない部材操作で簡単にユーザの意図したホワイトバランス補正を行うことができる。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態における画像処理装置の構成を示すブロック図。
【図2】第1の実施形態における第1の色評価値の算出処理を示すフローチャート。
【図3】白検出範囲の例を示す図。
【図4】第1の実施形態におけるWB補正値の算出処理を示すフローチャート。
【図5】水中時の色評価値の分布を示す図。
【図6】水中軸及び色評価値の水中軸への写像の概念を示す図。
【図7】推定深度に応じた水中軸を示すテーブルを表す図。
【図8】推定深度に応じて第1の色評価値と第2の色評価値とを混合する比率を示す図。
【図9】画像表示部の表示されるユーザ指定値を設定するためのGUIを示す図。
【図10】第1の実施形態におけるユーザ指定による色評価値の変更を説明するための図。
【図11】第2の実施形態に係わるユーザ指定値と色評価値の補正値との関係を示すテーブルを示す図。
【発明を実施するための形態】
【0014】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。なお、以下に説明する実施の形態は、本発明の実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【0015】
図1は、本発明の一実施形態における画像処理装置の構成を示すブロック図である。
【0016】
図1において、100は画像処理装置である。10は撮影レンズ、12は絞り機能を備えるシャッター、14は光学像を電気信号に変換する撮像素子、16は撮像素子14のアナログ信号出力をディジタル信号に変換するA/D変換器である。
【0017】
18は撮像素子14、A/D変換器16、D/A変換器26にそれぞれクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御回路22及びシステム制御回路50により制御される。
【0018】
20は画像処理回路であり、A/D変換器16からのデータ或いはメモリ制御回路22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行う。そして、得られた演算結果に基づいてシステム制御回路50が露光制御部40、焦点調節部42に対して、TTL(スルー・ザ・レンズ)方式のオートフォーカス(AF)処理、自動露出(AE)処理、フラッシュプリ発光(EF)処理を行っている。さらに、画像処理回路20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のオートホワイトバランス(AWB)処理も行っている。
【0019】
22はメモリ制御回路であり、A/D変換器16、タイミング発生回路18、画像処理回路20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長回路32を制御する。A/D変換器16から出力される画像データは、画像処理回路20、メモリ制御回路22を介して、或いはメモリ制御回路22のみを介して、画像表示メモリ24或いはメモリ30に書き込まれる。
【0020】
24は画像表示メモリ、26はD/A変換器、28はTFT LCD等から成る画像表示部であり、画像表示メモリ24に書き込まれた表示用の画像データはD/A変換器26を介して画像表示部28により表示される。画像表示部28を用いて、撮像した画像データを逐次表示することで、電子ビューファインダー(EVF)機能を実現することができる。また、画像表示部28は、システム制御回路50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合には画像処理装置100の電力消費を大幅に低減することができる。
【0021】
30は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶容量を備えている。これにより、複数枚の静止画像を連続して撮影する連写撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ30に対して行うことが可能となる。また、メモリ30はシステム制御回路50の作業領域としても使用することが可能である。
【0022】
32は適応離散コサイン変換(ADCT)等、公知の圧縮方法を用いて画像データを圧縮・伸長する圧縮・伸長回路である。圧縮・伸長回路32は、メモリ30に格納された画像を読み込んで圧縮処理或いは伸長処理を行い、処理を終えたデータを再びメモリ30に書き込む。
【0023】
40は露光制御部であり、絞り機能を備えるシャッター12を制御する。露光制御部40は、フラッシュ48と連携することによりフラッシュ調光機能も有する。42は撮影レンズ10のフォーカシングを制御する焦点調節部、44は撮影レンズ10のズーミングを制御するズーム制御部、46はバリア102の動作を制御するバリア制御部である。48はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。フラッシュ48は1つでもよいし、閃光発光用にXe管、微小長秒発光用にLEDなどのように複数個用意してもよい。露光制御部40及び焦点調節部42はTTL方式を用いて制御されている。上述の通り、A/D変換器16からの画像データを画像処理回路20によって演算した演算結果に基づき、システム制御回路50が露光制御部40及び焦点調節部42を制御する。
【0024】
50は画像処理装置100全体を制御するシステム制御回路、52はシステム制御回路50の動作用の定数、変数、プログラム等を記憶するメモリである。
【0025】
54はシステム制御回路50でのプログラムの実行に応じて、文字、画像、音声などを用いて動作状態やメッセージなどを外部に通知するための通知部である。通知部54としては、例えばLCDやLEDなどによる視覚的な表示を行う表示部や音声による通知を行う発音素子などが用いられるが、これらのうち1つ以上の組み合わせにより構成される。特に、表示部の場合には、画像処理装置100の操作部70近辺の、視認しやすい、単数あるいは複数箇所に設置されている。また、通知部54は、その一部の機能が光学ファインダー104内に設置されている。
【0026】
通知部54の表示内容の内、LCDなどに表示するものとしては以下のものがある。まず、シングルショット/連写撮影表示、セルフタイマー表示等、撮影モードに関する表示がある。また、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示等の記録に関する表示がある。また、シャッタースピード表示、絞り値表示、露出補正表示、フラッシュ表示、赤目緩和表示等の撮影条件に関する表示がある。その他に、マクロ撮影表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示、記録媒体200及び210の着脱状態表示、通信I/F動作表示、日付・時刻表示なども行われる。
【0027】
また、通知部54の表示内容の内、光学ファインダー104内に表示するものとしては、合焦表示、手ぶれ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示などがある。
【0028】
56は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。
【0029】
60、62、64及び66は、システム制御回路50の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
【0030】
ここで、これらの操作手段の具体的な説明を行う。
【0031】
60はモードダイアルスイッチで、電源オフ、自動撮影モード、プログラム撮影モード、パノラマ撮影モード、再生モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを切り替え設定することができる。
【0032】
62はシャッタースイッチSW1で、不図示のシャッターボタンの操作途中(例えば半押し)でONとなり、AF処理、AE処理、AWB処理、EF処理等の動作開始を指示する。
【0033】
64はシャッタースイッチSW2で、不図示のシャッターボタンの操作完了(例えば全押し)でONとなり、露光処理、現像処理、及び記録処理からなる一連の処理の動作開始を指示する。まず、露光処理では、撮像素子14から読み出した信号をA/D変換器16、メモリ制御回路22を介して画像データをメモリ30に書き込み、更に、画像処理回路20やメモリ制御回路22での演算を用いた現像処理が行われる。更に、メモリ30から画像データを読み出し、圧縮・伸長回路32で圧縮を行い、記録媒体200あるいは210に画像データを書き込む記録処理が行われる。
【0034】
66は各種ボタンやタッチパネルなどから成る操作部である。一例として、メニューボタン、セットボタン、画像表示ON/OFFボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り換えボタン、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタンを含む。更に、再生画像移動+(プラス)ボタン、再生画像移動−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタンなども含む。
【0035】
80は電源制御部で、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
【0036】
82、84はコネクタ、86はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li−ion電池、Liポリマー電池等の二次電池、ACアダプター等からなる電源部である。
【0037】
90及び94はメモリカードやハードディスク等の記録媒体とのインタフェース、92及び96はメモリカードやハードディスク等の記録媒体と接続を行うコネクタである。98はコネクタ92及び/或いは96に記録媒体200或いは210が装着されているか否かを検知する記録媒体着脱検知回路である。
【0038】
なお、本実施の形態では記録媒体を取り付けるインタフェース及びコネクタを2系統持つものとして説明しているが、記録媒体を取り付けるインタフェース及びコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインタフェース及びコネクタを組み合わせて備える構成としても構わない。
【0039】
インタフェース及びコネクタとしては、PCMCIA(Personal Computer Memory Card International Association)カードやCF(コンパクトフラッシュ(登録商標))カード、SDカード等の種々の記憶媒体の規格に準拠したものを用いて構成することが可能である。インタフェース90及び94、そしてコネクタ92及び96をPCMCIAカードやCF(登録商標)カード等の規格に準拠したものを用いて構成した場合、各種通信カードを接続することができる。通信カードとしては、LANカードやモデムカード、USB(Universal Serial Bus)カード、IEEE(Institute of Electrical and Electronic Engineers)1394カードがある。他にも、P1284カード、SCSI(Small Computer System Interface)カード、PHS等がある。これら各種通信カードを接続することにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。
【0040】
102は、画像処理装置100のレンズ10を含む撮像部を覆う事により、撮像部の汚れや破損を防止する保護装置であるバリアである。
【0041】
104は光学ファインダであり、画像表示部28による電子ファインダー機能を使用すること無しに、光学ファインダーのみを用いて撮影を行うことが可能である。また、光学ファインダー104内には、通知部54の一部の機能、例えば、合焦状態、手振れ警告、フラッシュ充電、シャッタースピード、絞り値、露出補正などが表示される。
【0042】
110は通信回路で、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信、等の各種通信機能を有する。
【0043】
112は通信回路110により画像処理装置100を他の機器と接続するコネクタ或いは無線通信の場合はアンテナである。
【0044】
200及び210はメモリカードやハードディスク等の記録媒体である。この記録媒体200及び210は、それぞれ、半導体メモリや磁気ディスク等から構成される記録部202及び212、画像処理装置100とのインタフェース204及び214、画像処理装置100と接続を行うコネクタ206及び216を備えている。
【0045】
次に、本実施の形態におけるホワイトバランス補正値(WB補正値)の算出方法について説明する。なお、このWB補正値の算出処理は、画像処理回路20により行われる。まず、本第1の実施形態において、撮影モードが水中での撮影を目的とした水中モードの時にWB補正値を求めるために用いる、白を表すと予測される画像データの第1の色評価値の算出方法について、図2を参照しながら詳しく説明する。
【0046】
S101において、画像処理装置100に現在設定されている撮影モードを判別し、S102において、判別した撮影モードに応じた白検出範囲を設定する。ここでは、撮影モードとして水中モードとその他の撮影モードとを有するものとする。図3は、Cx軸、Cy軸により定義されるCx-Cy座標平面において、異なる白検出範囲の例を示す図であり、x座標(Cx)の負方向が高色温度被写体の白を撮影したときの色評価値、正方向が低色温度被写体の白を撮影したときの色評価値である。またy座標(Cy)は光源のマゼンタ(Mg)成分と緑(G)成分の度合いを意味しており、正方向になるにつれてMg成分が大きくなることを示している(マゼンタ方向)。逆に負方向になるにつれG成分が大きくなることを示しており、つまり、光源が蛍光灯である可能性が高いことを示している(緑方向)。図3(a)の白検出範囲301は、通常撮影時に予め異なる光源下で白を撮影し、算出した色評価値をプロットしたものである。一方、水中における白色分布は青(B)方向と緑(G)方向に偏って分布するので、水中モードの場合には、図3(b)に示すように、B方向とG方向を検出するような白検出範囲302に設定する。なお、図3では、水中モードとその他の撮影モードに対応する2つの白検出範囲301及び302のみを示した。しかしながら、その他の撮影モードが複数の異なる撮影モードである場合には、それぞれの撮影モードに適した白検出範囲を撮影モードに対応付けて予め設定しておいても良く、その他の撮影モードにおける白検出範囲により本発明が制限されるものではない。
【0047】
次に、メモリ30に記憶された画像信号を読み出し、その画面を任意のm個のブロックに分割する(S103)。そして、ブロック(i=1〜m)毎に、画素値を各色毎に加算平均して色平均値(R[i]、G[i]、B[i]、)を算出し、上述した式(1)を用いて色評価値(Cx[i]、Cy[i])を算出する(S104)。
【0048】
次に、S104で算出したi番目のブロックの色評価値(Cx[i]、Cy[i])が、S102で設定した白検出範囲301または302に含まれるかどうかを判断する(S105)。白検出範囲301または302に含まれる場合には(S105でYES)、そのブロックが白色であると判断して、そのブロックの色平均値(R[i]、G[i]、B[i])を積算し(S106)、含まれない場合には加算せずにS107に進む。このS105及びS106の処理は、次の式(3)により表すことができる。
【0049】

【0050】
式(3)において、色評価値(Cx[i]、Cy[i])が白検出範囲301または302に含まれる場合はSw[i]を1に、含まれない場合にはSw[i]を0とする。これにより、S105の判断により、i番目のブロックの色平均値(R[i]、G[i]、B[i])の加算を行うか、行わないかの処理を実質的に行っている。
S107では、すべてのブロックについて上記処理を行ったかどうかを判断し、未処理のブロックがあればS104に戻って上記処理を繰り返し、すべてのブロックの処理が終了していれば、S108に進む。S108では、得られた色平均値の積分値(sumR、SumG、SumB)から式(2)を用いて、第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)を算出する。更に、同じく得られた色平均値の積分値(sumR、SumG、SumB)から式(1)を用いて、第1の色評価値WBCo1(Cx1, Cy1)を算出する。
【0051】
続いて第1の色評価値及び第1のWB補正値の算出後の処理について、図4のフローチャートを参照しながら説明する。
【0052】
S201において、図2のフローチャートを参照して上述したようにして第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)及び第1の色評価値WBCo1(Cx1, Cy1)を算出すると、S202に進む。S202では撮影モードが水中モードかどうかを判断し、水中モードでなければS213に進み、第1のWB補正値(WBCol_R、WBCol_G、WBCol_B)を最終的なWB補正値として決定する。
【0053】
一方、撮影モードが水中モードの場合は、S203で撮影画像をnブロックに分割し、ブロック(i=1〜n)毎に、画素値を各色毎に加算平均して色平均値(R[i]、G[i]、B[i]、)を算出する。そして、式(1)により、色評価値(Cx[i]、Cy[i])を算出する。
【0054】
色評価値は、図5に示すように深度(水深)が浅いときは501のように分布し、深度が深いときは502のように分布する。水中では、水面から被写体の位置(被写体までの距離が近ければカメラの位置ともみなせる)までの距離(水面からの深さ)が長くなるほど、水の外から到達する自然光のR色成分が減少するので、図5に示すような分布になる。そこで深度を推定する手段として撮影画像の色分布情報から直線近似式の相関を演算し、その相関から深度を推定する。その相関計算式(4)は以下のようになる。
【0055】

【0056】
ここでmはCx[i]の平均値であり、nはCy[i]の平均値である。上記の式により算出したr2を相関係数とし、その情報を基に以下に説明するようにWB制御を行う。この相関係数は0〜1の値をとり、1に近い値だと相関がある、つまり深度が深いと推定し、0に近い値だと相関が無い、つまり深度が浅いと推定する。これは深度が深くなるにつれ、赤(R)成分が極端に減衰していくため、図5の502で示すような色分布形状になるためである。つまり色分布を直線近似した場合の相関係数によって深度を推定することとする。
【0057】
一方、水中における白色評価値の軌跡(白点軌跡であり、以下、「水中軸」と呼ぶ。)は図6に示すように、黒体放射軸とは離れたところに存在する。さらに水中の白点は深度によって変化するため、S204で式(4)により得られた相関係数(推定深度情報)をもとに、W1とW2に基づいて水中軸を設定する。設定方法としては、相関係数r2(=Co1〜Co5)に応じたW1(Cx1, Cy1)、W2(Cx2, Cy2)を、図7に示すようなテーブルを参照して取得する。本テーブルに示す推定深度と軸との関係は、例えば、実際の水中での撮影画像を用いて実験的に求めておくことができ、例えば、工場出荷時に予め不揮発性メモリ56などに格納しておく。なお、相関係数が上記テーブルにおいてCo1〜Co5の値の間の中間値をとる場合は、W1(Cx1, Cy1)、W2(Cx2, Cy2)を線形補間して算出する。
【0058】
深度が深い場合、本来白ブロックであるブロックの色評価値が図3(b)の白検出範囲302に含まれない場合がある。そこで、画面の色分布を参照するために撮影画像のブロック(i=1〜n)毎に、画素値を各色毎に加算平均して色平均値(R[i]、G[i]、B[i])を算出し、色評価値(Cx[i], Cy[i])を算出する。そして算出した値を以下の式(5)のように積分していく。
【0059】

【0060】
しかしながら、式(5)では、明らかに白ではないブロックの色平均値をも加算してしまう場合があるので、図6に示す黒体放射軸の軌跡からかけ離れた色評価値を有するブロックの色平均値は加算しないように重みをかけて加重加算してもよい。その場合の積分は以下の式(6)を用いて行う。

【0061】
ここでGain1及びGain2は、黒体放射軸上の所定の光源を示す点(例えば、日向の点)からの距離により求められるものであり、距離が離れるほど値が小さくなるようにする。本実施形態では、Gain1及びGain2のそれぞれを個別に求める。不揮発性メモリ56はCx軸方向について5つの代表的なCx座標に対するGain1の値と、同じくCy軸方向について5つの代表的なCy座標に対するGain2の値を記憶する。システム制御回路50は、それらの値を用いて線形補間することにより、i=1〜nまでのCx[i]及びCy[i]の座標に対応するGain1とGain2の値を求める。
上記式(5)または(6)により算出したCx、Cyを第2の色評価値WBCo2(Cx2, Cy2)とする(S205)。なお、本実施形態ではCxとCyの両方でGainによる重み付けを行ったが、一方のみについて重み付けを行っても良い。
【0062】
S206では、算出した第1の色評価値WBCo1と第2の色評価値WBCo2とを、推定深度、つまり相関係数に応じて混合することにより、画像において白を表すと予測される画像データの色評価値を予測する。その際の混合比率αを図8に示す。そして、
WBCo1:WBCo2=(1−α):α
【0063】
という比率で混合処理をする。混合処理して得られた色評価値をWBCo(Cx, Cy)とする。
S207ではS206でで混合処理した色評価値WBCo(Cx, Cy)を、S204で設定した図6で示すようなW1、W2により定義される水中軸に写像し、この写像した点をWBCoW(CxW, CyW)とする。ここでは、色評価値WBCo(Cx, Cy)から水中軸に垂線を下ろすことで、写像する。
【0064】
そして、S208において、後述するようにしてユーザ指定値を取得し、S209で取得したユーザ指定値が0かどうかを判断する。0のときはS212に進み、色評価値WBCoW(CxW, CyW)に基づいて、最終的なWB補正値を算出する。一方、ユーザ指定値がゼロ以外のときは、ユーザ指定値に基づいて、ユーザ指定補正値を算出する(S210)。
【0065】
図9は、ユーザがユーザ指定値を指定するためのGUI(Graphical User Interface)を示す図である。ユーザ指定値とは、水中軸に写像されたWBCoW(CxW, CyW)を、ユーザが所望する方向へシフトさせるための値である。
【0066】
図9において、指定値表示部902において、白丸903はS207で算出した色評価値WBCoWを表し、黒丸904は現在の補正状況を表している。ユーザは、現在のWB補正状況を、例えば、十字キー905の左右のキーを操作することで、容易に変更することができる。このとき、ユーザは図9で示すようなEVF(Electronic View Finder)901内に表示された、ホワイトバランス用に算出された現在の色評価値Cx、Cyに基づいてWB補正された画像を見ながら設定することができる。
【0067】
また、図9の例では、ユーザは青(B)−アンバー(A)(Blue-Amber)の一次元空間で、水中軸に写像された色評価値WBCoW(CxW, CyW)のシフト量を指定することができる。このようにすることで水中においてユーザは二次元空間における複数の指定値の組み合わせを考える必要なく、B−A間の値を容易に指定することができる。そして、図9ではB−Aの一次元空間でシフト量を指定するが、本願発明では、指定されたシフト量に対応した、二次元空間のCx、Cy座標系におけるCx方向とCy方向それぞれの方向に色評価値をシフトする。なお、シフトされるCx方向とCy方向により表される実際の補正方向は、例えば、色評価値WBCoW(CxW, CyW)から水中軸上及びその延長線上の方向と、水中軸に直交する方向としてもよい。また、図10に示すように、水中軸上及びその延長線上の方向1001及び、色評価値WBCoWを通り、Cy軸に平行な軸(対称軸)に対して、水中軸と線対称な方向1002としてもよい。つまり、B−Aの一次元空間でのシフトを指定するだけで、B方向にシフトした場合には、高色温度方向の調整とG方向の調整とを同時に行う方向に調整される。また、A方向にシフトした場合には、低色温度方向の調整とG方向の調整を同時に行う方向に調整される。指定値の刻み幅は色温度方向、またはCy軸方向の少なくともどちらか一方が一定となるようにしてもよいし、推定深度に応じて適応的に変化させてもよい。
【0068】
また、図9ではB−Aとしたが、水深が浅いとR色成分が補正されずに残り、深いとB色成分が補正され過ぎてしまう傾向から、ユーザにより理解しやすくするために浅い−深いなどとしてもよい。
【0069】
上述したS210では、このようにしてユーザが一次元空間で指定したユーザ指定値から、二次元空間における色評価値WBCoWの実際のシフト量(ユーザ指定補正値)を算出する。そして、S211で色評価値WBCoW(CxW, CyW)にユーザ指定補正値を加算することで、ユーザの好みを反映させた色評価値WBCo’(Cx’,Cy’)を算出して、色評価値調整を行う。そして、この算出した色評価値WBCo’(Cx’,Cy’)から、最終的なWB補正値を求める。
【0070】
次に、S214において、S211、S212、S213のいずれかにより決定されたWB補正値により画像をWB補正し、S215において、WB補正した画像をEVF901に表示する。これにより、ユーザは、WB補正の結果を確認することができる。
【0071】
上記の通り本第1の実施形態によれば、水中のように複雑な操作が困難な環境下においても、少ない部材操作で簡単にユーザの意図したホワイトバランス補正を行うことができる。
【0072】
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。第2の実施形態ではユーザにより補正値を指定された場合の色評価値の補正値の求め方が第1の実施形態と異なる。それ以外の部分は第1の実施形態と同様なので詳細な説明は省略する。
【0073】
第1の実施形態と同様に、図9のような表示を見ながらユーザが補正値を指定したときのユーザ指定値と色評価値の補正値との関係の例を図11に示す。
【0074】
図11の例では、ユーザが何も指定しなかった時のユーザ指定値を0として、プラス方向とマイナス方向に5段階で指定できる場合を示している。プラス方向は図9の指定値表示部902でアンバー方向の調整、マイナス方向は青方向の調整を表しており、ユーザ指定値に対応したCx、Cy補正値が予め設定され、指定値と関連付けて保持されている。このようにすることで、水中軸方向及びそれに直交する方向、または水中軸方向及び図10の対称軸に対して線対称な軸の方向に添って補正する方法と違い、詳細なチューニングが可能となる。
【0075】
もちろん保持しておく点を増やしたり、減らしたりすることが可能である。減らし方として、少なくとも最大のユーザ指定補正値を保持しておき、間の補正値は直線補間等で補う方法がある。
【0076】
なお、本発明は、上述した第1及び第2の実施形態の機能を実現するように各種のデバイスを動作させるように、上記各種デバイスと接続された装置であってもよい。あるいはシステム内のコンピュータに対し、上記実施形態の手順を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータに格納されたプログラムに従って上記各種デバイスを動作させることによって実施してもよい。これらも、本発明の範疇に含まれる。
【0077】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

【特許請求の範囲】
【請求項1】
水中での撮影を目的とした水中モードを、複数の撮影モードの1つとして有する画像処理装置であって、前記水中モードが設定されている場合に、
被写体を撮像して得られた画像の画像データから、白を表すと予測される画像データの色評価値を算出する算出手段と、
被写体を撮像して得られた前記画像の色分布情報から、前記撮像した被写体が位置する水深を推定する推定手段と、
前記推定された前記水深に応じて、前記水深において白点軌跡を表す軸を、前記色評価値を表す座標平面において設定する設定手段と、
前記算出手段で求めた前記色評価値を、前記設定手段により設定された前記軸に写像する写像手段と、
前記写像された色評価値を調整するための指定値を一次元空間で指定するための指定手段と、
前記指定手段により指定された指定値に応じて、前記写像手段により写像された前記色評価値を、前記色評価値を表す座標平面を定義している2つの軸のそれぞれの方向に調整する色評価値調整手段と、
前記色評価値調整手段により調整された色評価値からホワイトバランス補正値を算出し、該算出した前記ホワイトバランス補正値により、被写体を撮影して得られた画像の画像データをホワイトバランス補正するホワイトバランス補正手段と
を有することを特徴とする画像処理装置。
【請求項2】
前記色評価値を表す座標平面を定義している2つの軸は、色温度方向を表す軸と、緑−マゼンタ方向を表す軸であって、前記色評価値調整手段は、前記指定値に応じて、高色温度方向の調整と緑方向の調整、または、低色温度方向の調整と緑方向の調整を同時に行うことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記指定手段は、青とアンバーとの間の一次元空間の値を指定することができ
前記色評価値調整手段は、前記指定手段により、より青に近い値が指定された場合、前記軸上、またはその延長線上の値に前記色評価値を補正することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記色評価値調整手段は、前記写像手段により写像された前記色評価値に、前記指定手段により指定された指定値が示す補正値を加算することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記指定手段により指定することができる指定値の刻み幅は、色温度方向、または、緑−マゼンタ方向の少なくともどちらか一方が一定であることを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記推定手段は、撮像された画像の色分布情報について直線近似を行って相関係数を求め、該相関係数から前記水深を推定することを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記算出手段は、前記画像データの内、予め設定された白を表すデータの領域に含まれる画像データの色評価値と、前記画像データの全ての色評価値とを、前記推定された水深に応じて加重加算して、前記白を表すと予測される画像データの色評価値を算出することを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
前記画像データの全ての色評価値は、前記色評価値を表す座標平面における黒体放射軸上の所定の光源を示す値からの距離が離れるほど、前記画像データの重み付けを小さくした加重加算を行って求めることを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記ホワイトバランス補正手段によりホワイトバランスされた画像を表示する表示手段を更に有することを特徴とする請求項1乃至8のいずれか1項に記載の画像処理装置。
【請求項10】
前記指定手段により指定される指定値と、前記写像手段により写像された前記色評価値を補正する補正値とを関連付けて記憶する記憶手段を更に有し、
前記色評価値調整手段は、前記指定手段により指定された指定値に対応する補正値を、前記記憶手段から取得することを特徴とする請求項1に記載の画像処理装置。
【請求項11】
水中での撮影を目的とした水中モードを、複数の撮影モードの1つとして有する画像処理装置において、前記水中モードが設定されている場合の画像処理方法であって、
算出手段が、被写体を撮像して得られた画像の画像データから、白を表すと予測される画像データの色評価値を算出する算出工程と、
推定手段が、被写体を撮像して得られた前記画像の色分布情報から、前記撮像した被写体が位置する水深を推定する推定工程と、
設定手段が、前記推定工程で推定された前記水深に応じて、前記水深において白点軌跡を表す軸を、前記色評価値を表す座標平面において設定する設定工程と、
写像手段が、前記算出工程で求めた前記色評価値を、前記設定工程で設定された前記軸に写像する写像工程と、
取得手段が、指定手段によりユーザが一次元空間で指定した、前記写像された色評価値を調整するための指定値を取得する取得工程と、
色評価値調整手段が、前記取得工程で取得した指定値に応じて、前記写像工程で写像された前記色評価値を、前記色評価値を表す座標平面を定義している2つの軸のそれぞれの方向に調整する色評価値調整工程と、
前記色評価値調整工程で調整された色評価値からホワイトバランス補正値を算出し、該算出した前記ホワイトバランス補正値により、被写体を撮影して得られた画像の画像データをホワイトバランス補正するホワイトバランス補正工程と
を備えることを特徴とする画像処理方法。
【請求項12】
コンピュータに、請求項11に記載の画像処理方法の各工程を実行させるためのプログラム。
【請求項13】
請求項12に記載のプログラムを格納したコンピュータが読み取り可能な記憶媒体。

【図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


【公開番号】特開2012−165145(P2012−165145A)
【公開日】平成24年8月30日(2012.8.30)
【国際特許分類】
【出願番号】特願2011−23247(P2011−23247)
【出願日】平成23年2月4日(2011.2.4)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】