画像処理装置およびその方法
【課題】 視覚の順応状態を正確に計算し、画像データを補正する。
【解決手段】 環境の白色情報を取得し(S202)、画像データを用いて注目画素に対する局所白色の情報を算出する(S203)。環境の白色情報と局所白色の情報から注目画素に対する順応白色を算出し(S204)、順応白色を用いて、注目画素を補正する(S205)。
【解決手段】 環境の白色情報を取得し(S202)、画像データを用いて注目画素に対する局所白色の情報を算出する(S203)。環境の白色情報と局所白色の情報から注目画素に対する順応白色を算出し(S204)、順応白色を用いて、注目画素を補正する(S205)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、視覚モデルに基づく画像処理に関する。
【背景技術】
【0002】
現在、国内におけるディジタルカメラの世帯普及率は50%を超え(2004年内閣府消費動向調査)、「ディジタルカメラで撮影する」はごく一般的な行為になった。
【0003】
屋外などにおいて、ディジタルカメラで、あるシーンを撮影するとき、撮影可能な輝度レンジよりも撮影対象(シーン)の輝度レンジが広い場合がある。その場合、撮影可能な輝度レンジ外の被写体は、その階調情報を記録することができず、所謂白飛び、黒潰れが発生する。例えば、晴天の屋外で、人物に露出を合わせて人物を撮影すると、背景の空や雲が白飛びし、木陰が黒潰れする。一方、人間の視覚には、観察領域の明るさに応じて順応状態を切り替え、明るさ、色を知覚する「局所順応」と呼ばれる特性があり、明るい場所、暗い場所ともに階調を知覚することができる。このため、撮影シーンを直接見た際の印象と、撮影画像を見た際の印象が異なる場合がある。
【0004】
このような問題を解決する技術の一つに、高ダイナミックレンジ画像(High Dynamic Range Imaging: HDR)技術がある。HDR技術は、大きく分けて、HDRキャプチャ技術とHDR再現技術から構成される。
【0005】
HDRキャプチャ技術は、白飛び、黒潰れが発生しないように、撮影のダイナミックレンジを拡張する技術であり、複数の露出で撮影した画像を合成するなどの方法が知られている。以下、このHDRキャプチャ技術により取得した画像をHDR画像と呼ぶ。
【0006】
HDR再現技術は、ダイナミックレンジが広いHDR画像を、ダイナミックレンジが狭い表示機器や出力機器(以下、出力機器)で好ましく再現する技術であり、例えば、HDR画像の低周波成分を圧縮するなどの方法がある。このようにHDR技術では、ダイナミックレンジ拡大のためのキャプチャ技術と、それに対応する再現技術により、白飛び、黒潰れを軽減することができる。
【0007】
近年、HDR再現技術に視覚モデルを用いた画像補正が適用されるようになった。視覚モデルは、視覚の色順応特性、輝度順応特性など、視覚特性をモデル化したもので、視覚の順応状態に基づき、実際のシーンを人がどのように見ていたのかを数値で表すことができる。
【0008】
図1はHDR再現技術における視覚モデルを利用した画像補正の概要を説明する図である。
【0009】
補正前のHDR画像10を入力し、視覚モデルにより、実際のシーンを人がどのような明るさ、色で知覚していたかを示すデータ(順応状態11)を算出する。そして、順応状態11をできるだけ出力機器13で再現するように、画像補正(順応補正)12を行う。このようにして、実際のシーンの色や階調を忠実に再現する。
【0010】
HDR再現技術に用いる視覚モデルとして、iCAM(非特許文献1)に代表されるような、見る対象の明るさ、色に応じて順応状態を切り替える局所順応特性を考慮した視覚モデルが提案されている。局所順応モデルは、補正前の画像をローパスフィルタ処理することで、見る領域に応じた順応状態を算出する。つまり、画像をローパスフィルタ処理することによって局所順応状態を算出する。
【0011】
しかし、ローパスフィルタ処理は順応の局所性を過度に反映することが指摘されている(非特許文献2)。つまり、ローパスフィルタ処理は、実際のシーンを人がどのように見ていたかを精度よくシミュレートできるとは限らず、好ましい再現が得られない可能性がある。言い換えれば、画像の撮影時の視覚の局所順応状態を、より正確に算出する新たな手法が必要である。
【0012】
【非特許文献1】Kuang, J., Johnson, G. M., Fairchild M. D.「iCAM06: A refined image appearance model for HDR image rendering」Journal of Visual Communication, 2007
【非特許文献2】Yamaguchi, H., Fairchild M.D.「A Study of Simultaneous Lightness Perception for Stimuli with Multiple Illumination Levels」12th CIC, 22-29
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、視覚の順応状態を正確に計算し、画像データを補正することを目的とする。
【課題を解決するための手段】
【0014】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0015】
本発明にかかる画像処理は、環境の白色情報を取得し、画像データを用いて注目画素に対する局所白色の情報を算出し、前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出し、前記順応白色を用いて、前記注目画素を補正することを特徴とする。
【発明の効果】
【0016】
本発明によれば、視覚の順応状態を正確に計算し、画像データを補正することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0018】
[装置の構成]
図2は実施例の画像処理装置の構成例を示すブロック図である。
【0019】
CPU104は、RAM106をワークメモリとして、ROM105やデータ保存部102に格納された各種プログラムを実行し、システムバス109を介して後述する構成を制御する。また、後述する画像処理を実行する。また、ROM105やデータ保存部102は、制御や画像処理に必要な各種データを記憶する。
【0020】
CPU104は、入力部101を介して、ユーザの指示やデータを入力する。つまり、入力部101は、キーボードやポインティングデバイス、データを入力するUSBインタフェイスなどである。なお、ポインティングデバイスとしては、マウス、トラックボール、トラックパッド、タブレットなどが挙げられる。あるいは、本実施例をディジタルカメラやプリンタなどの機器に適用する場合、入力部101は、タッチパネル、テンキー、ボタン、モードダイヤルなどもよい。また、入力部101は、キーボードをソフトウェアで構成する所謂ソフトウェアキーボードを備えてもよい。
【0021】
CPU104は、画像データなどのデータを、データ保存部102に書き込んだり、データ保存部102から読み出したりする。つまり、データ保存部102は、ハードディスクドライブ、メモリカード、光ディスクドライブなどである。データ保存部102には、画像データのほかに、上述したログラムやデータなどを格納することができる。勿論、RAM106の一部をデータ保存部102として用いることもできる。
【0022】
CPU104は、ユーザインタフェイス(UI)、画像処理の状況、画像処理前後の画像などを表示部103に表示する。つまり、表示部103は、液晶ディスプレイ(LCD)などの表示デバイスである。表示部103は、画像処理装置に組み込まれているとは限らず、ケーブルを介して画像処理装置に接続された外部ディスプレイでもよい。
【0023】
CPU104は、通信部107を介して外部の機器と通信を行う。つまり、通信部107は、ネットワークインタフェイスカード(NIC)やUSBやIEEE1394などのシリアルバスインタフェイスである。勿論、通信部107として、IrDA、IEEE802.11a/b/g/h、Bluetooth、UWB(Ultra Wide Band)などの無線インタフェイスを利用してもよい。また、CPU104は、通信部107を介して、ネットワーク上のサーバ装置からプログラムや画像データなどのデータを取得することができる。
【0024】
[画像処理]
図3は画像処理を説明するフローチャート、図4は画像処理とデータの関係を示す図、図5はユーザインタフェイス(UI)の一例を示す図である。以下、ディジタルカメラによって撮影された画像データを補正する例を説明する。
【0025】
CPU104は、データ保存部102などから読み込む画像データファイルのユーザ指示を取得するために、表示部103に図5に示すUIを表示する(S200)。そして、入力部101を介してユーザ指示が入力されると、指示された画像データファイルをデータ保存部102などから取得する(S201)。画像データファイルには、補正前画像データ301と撮影情報302が含まれる。
【0026】
図6は画像データファイルのフォーマット例を示す図である。
【0027】
画像データファイルの先頭には、撮影情報302として、画像幅、画像高さ、光学センサ幅、光学センサ高さ、レンズ焦点距離、拡大率(ズーム倍率)、露光時間、絞り値、ISO感度、撮影時の光源の白色情報などのタグがあり、それぞれ値が記録されている。なお、光源の白色情報には、照度計などを用いて計測されたXYZ三刺激値が記録される。なお、光源の白色情報としてホワイトバランスの推定値または指定値(ホワイトバランス情報)として色温度が記録されていてもよい。
【0028】
撮影情報302に続いて、画像データファイルには、補正前画像データ301として、例えば8ビットRGB値などの画素データがラスタスキャン順に記録されている。なお、画像データ部分はJPEGフォーマットやロスレス圧縮フォーマットでデータ圧縮されていてもよい。
【0029】
次に、CPU104は、取得した画像データファイルに含まれる撮影情報302から光源の白色情報303(環境の白色情報)を取得する(S202)。この光源の白色情報は画像全体に対して同一である。続いて、詳細は後述するが、撮影情報302に基づき補正前画像データ301をXYZ値に変換し、そのXYZ値に撮影情報302から算出した局所順応視野サイズに基づくローパスフィルタ処理を施して、局所白色304を示すXYZ値を算出する(S203)。この局所白色は画素ごとに算出され、画素ごとに異なる可能性がある。なお、白色情報303および局所白色304は、RAM106の所定領域に格納する。
【0030】
ここで、局所順応視野サイズは局所順応が生じる領域を示し、局所白色は局所順応視野サイズにおいて白色と人間が認識する色のことである。
【0031】
次に、CPU104は、詳細は後述するが、光源の白色情報303と局所白色304を用いて、順応状態を示す白色および輝度(順応白色および順応輝度305)を算出し、RAM106の所定領域に格納する(S204)。そして、順応白色および順応輝度305を用いて、視覚モデルに基づく画像補正(順応補正)を行って、補正後画像データ306を生成する(S205)。なお、順応白色および順応輝度は、補正前画像データ301の撮影時の視覚の局所順応状態を示すデータである。
【0032】
●局所白色の算出(S203)
図7は局所白色の算出(S203)を説明するフローチャートである。
【0033】
CPU104は、撮影情報302から露出時間T、絞り値F、ISO感度を取得し(S301)、下式により、APEX規格のAV値、TV値、SV値、BV値を計算する(S302)。
AV (aperture value) = 2・log2(F)
TV (shutter speed value) = -log2(T)
SV (film speed value) = log2(ISO/3.0) …(1)
BV (brightness value) = AV + TV - SV
【0034】
次に、CPU104は、BV値を用いて、下式により、撮影で記録可能な絶対輝度の最大値Lm[cd/m2]を計算する(S303)。
Lm = 3.3×2BV/18.0×201.0 …(2)
【0035】
次に、CPU104は、補正前画像データ301の画素番号i(注目画素)の画素値(RGB値)を取得し(S304)、下式により、取得した画素値を相対XYZ値XYZrltに変換する(S305)。なお、画素番号iの初期値は「1」である。
┌ ┐ ┌ ┐┌ ┐
│Xrlt│ │0.41 0.36 0.18││R│
│Yrlt│=│0.21 0.71 0.07││G│ …(3)
│Zrlt│ │0.02 0.12 0.95││B│
└ ┘ └ ┘└ ┘
【0036】
次に、CPU104は、撮影で記録可能な絶対輝度の最大値Lmを用いて、下式により、相対XYZ値XYZrltを絶対XYZ値XYZabsに変換し、RAM106の所定領域に格納する(S306)。
┌ ┐ ┌ ┐
│Xabs│ │Xrlt│
│Yabs│= [Lm/255]│Yrlt│ …(4)
│Zabs│ │Zrlt│
└ ┘ └ ┘
ただし、定数255は、RGB値の各チャネルが8ビット符号なし整数の場合に輝度値を正規化するための値である。従って、RGBデータの定義域に応じて適宜変更する。
【0037】
次に、CPU104は、補正前画像データ301の全画素について絶対XYZ値を計算したか否かを判定し(S307)、未了の場合は画素番号iをインクリメントし(S308)、処理をステップS304に戻す。また、補正前画像データ301の全画素について絶対XYZ値の計算が終了すると、処理をステップS309に進める。
【0038】
CPU104は、撮影情報302から画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率mを取得し(S309)、所定の順応視野角θを用いて、下式により、順応視野サイズSを計算する(S310)。なお、図8は画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率m、順応視野角θ、順応視野サイズSの関係を説明する図である。
S = tan(θ/2)/{dw/2f(1 + m)}×W …(9)
なお、画像幅Wと光学センサ幅dwの代わりに、画像高さHと光学センサ高さdhを用いてもよい。
【0039】
次に、CPU104は、順応視野サイズSを用いて、下式により、ガウシアンフィルタを設定する(S311)。なお、本実施例では、ガウシアンフィルタの分散に順応視野サイズSの1/2を与え、順応視野サイズに応じたフィルタにする。また、フィルタ処理を行う範囲は、ガウス関数の積分値の約95%が含まれる-S〜+Sにする。
Filter(a, b) = 1/k・exp{-(a2 + b2)/2(S/2)2} …(10)
ここで、k = ΣaΣbexp{-(a2 + b2)/2(S/2)2}
(a, b)はフィルタ中心の画素からの相対座標を表す、
Σa演算の範囲はa=-S〜+S、
Σb演算の範囲はb=-S〜+S。
【0040】
次に、CPU104は、下式により、ステップS306で算出し絶対XYZ値と、ステップS311で設定したガウシアンフィルタの離散畳み込み演算を行った結果の絶対XYZ値(局所白色304)をRAM106の所定領域に格納する(S312)。
Img'(x, y) = ΣaΣbImg(x-a, y-b)Filter(a, b) …(11)
ここで、(x, y)はフィルタ処理する画素位置、
x = 0, …, W-1、y = 0, …, H-1、
Img(x, y)は補正前画像データ301の画素位置(x, y)の絶対XYZ値、
Img'(x, y)は畳み込み演算後の画素位置(x, y)の絶対XYZ値。
【0041】
局所白色304は、上記の処理によって得られる、全画素の絶対XYZ値にガウシアンフィルタ処理を行って得られたXYZ値である。図9は局所白色304を示す図で、図9(a)は補正前画像データ301に相当する撮影画像、図9(b)は撮影画像をぼかした局所白色304を示す画像である。
【0042】
●順応白色および順応輝度305の算出(S204)
図10は順応白色および順応輝度305の算出(S204)を説明するフローチャートである。
【0043】
CPU104は、RAM106から、白色情報303を取得し(S401)、画素番号i(注目画素)の絶対XYZ値を取得し(S402)、画素番号iに対応する局所白色304を取得する(S403)。なお、画素番号iの初期値は「1」である。
【0044】
次に、CPU104は、白色情報303の輝度値Ywと、画素番号iに対応する局所白色304の輝度値YwLを用いて、下式により、光源の白色と局所白色の混合率Mを計算する(S404)。
M = Yw/(Yw + YwL) …(12)
【0045】
次に、CPU104は、白色情報303のXYZ値XYZw、局所白色304のXYZ値XYZwL、混合率Mを用いて、下式により、順応白色XYZAW、順応輝度YAを計算し、画素番号iに対応付けてRAM106の所定領域に格納する(S405)。
┌ ┐ ┌ ┐ ┌ ┐
│XAW│ │Xw│ │XwL│
│YAW│= M│Yw│+ (1-M)│YwL│ …(13)
│ZAW│ │Zw│ │ZwL│
└ ┘ └ ┘ └ ┘
YA = 0.2×YAW …(14)
【0046】
次に、CPU104は、補正前画像データ301の全画素について順応白色および順応輝度305を算出したか否かを判定し(S406)、未了の場合は画素番号iをインクリメントして(S407)、処理をステップS402に戻す。また、補正前画像データ301の全画素について順応白色および順応輝度305の計算が終了すると、処理を終了する。
【0047】
●画像補正(S205)
図11は画像補正(S205)を説明するフローチャートである。
【0048】
CPU104は、RAM106から、画素番号iの絶対XYZ値を取得し(S501)、画素番号iに対応する順応白色および順応輝度305を取得する(S502)。
【0049】
次に、CPU104は、画素番号iの順応白色および順応輝度305を用いて、画素番号iの絶対XYZ値をカラーアピアランス値に変換する(S503)。本実施例では、iCAM06を用いて、絶対XYZ値をカラーアピアランス値に変換し、補正後画像データ306の画素値としてデータ保存部102などに格納する。
【0050】
iCAM06は、カラーアピアランス値をI、P、Tという三種類のパラメータで表現する。Iは人が知覚する明るさを表すパラメータ、PおよびTはそれぞれ人が知覚する色を表すパラメータである。iCAM06は、まず、画像データから変換された絶対XYZ値にフィルタ処理を施して低周波成分を抽出し、絶対XYZ値の低周波成分と、元の絶対XYZ値の差分から高周波成分を抽出する。そして、前述した、実際のシーンを人がどのような明るさ、色で知覚していたかを示すデータ(順応状態を示すデータ)を用いて、局所順応処理として抽出した低周波成分を圧縮する。その後、圧縮した低周波成分と抽出した高周波成分を合成し、カラーアピアランス値に変換する。
【0051】
次に、CPU104は、補正前画像データ301の全画素についてカラーアピアランス値の算出が終了したか否かを判定し(S504)、未了の場合は画素番号iをインクリメントして(S505)、処理をステップS501に戻す。また、補正前画像データ301の全画素についてカラーアピアランス値の算出が終了すると、処理を終了する。
【0052】
本実施例では、撮影時の光源の白色情報303、局所白色304の両方を考慮した式(13)(14)により、実際のシーンを観察していた際の順応白色および順応輝度をより正確に算出することができ、シーンの見えを高精度にシミュレートすることができる。言い換えれば、高精度にカラーアピアランス値を算出することができる。
【0053】
このように、撮影時の光源の白色情報(またはホワイトバランス情報)と、画像データから算出した局所白色を用いて、画像データの撮影時の視覚の順応状態を算出する。従って、画像データにローパスフィルタ処理を適用した場合に生じる順応の局所性の過度の反映を防いで、画像データの撮影時の視覚の順応状態をより正確に計算することができる。言い換えれば、局所順応を考慮した視覚モデルにおいて、実際のシーンを人がどのように観察していたかを精度よくシミュレートすることができる。その結果、iCAMやiCAM06などの局所順応を考慮した視覚モデルを用いたHDR再現技術と、モニタやプリンタなどの出力機器により、HDR画像を好ましく再現することができる。
【0054】
[変形例]
●画像データファイル
上記では、画像データファイルのフォーマットとして図6に示す形態を説明した。しかし、画像に関するデータおよび撮影に関するデータの少なくとも一方が記録されているものであれば、データの種類、フォーマットは、図6の形態に限られない。例えば、画像データはRGB各16ビットでもよいし、各画素の絶対XYZ値が予め計算され記録されていてもよい。あるいは、光学センサ幅、レンズ焦点距離、拡大率の代わりに、撮影時の画角が予め計算され記録されていてもよい。同様に、露出時間、絞り値、ISO感度の代わりに、輝度計などで計測して得たシーン中の絶対輝度の最大値が記録されていてもよい。さらに、画像データファイルのフォーマットは、例えば、Exif形式でもよいし、画像に関するデータと撮影に関するデータが異なるファイルに関連付けされて記録されていてもよい。
【0055】
●順応視野角の設定方法
上記では、例えばデータ保存部102に記録された所定の順応視野角θを用いる例を説明したが、順応視野角θを任意に設定してもよい。図12は順応視野角θを設定するためのUIを示す図で、CPU104によって表示部103に表示される。ユーザは、このUIと入力部101により任意の順応視野角θを設定することができる。
【0056】
●順応視野サイズの算出方法
上記では、順応視野角θ、画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率mを用いる式(9)によって順応視野サイズSを算出する例を説明した。撮影情報302を用いて順応視野サイズSを算出する方法であれば、その種類は問わない。例えば、下式に示すように、撮影情報302として画角αを用いて順応視野サイズSを算出してもよい。
S = tan(θ/2)/tan(α/2)×W …(15)
【0057】
●相対XYZ値の算出方法
上記では、各画素のRGB値を式(3)により相対XYZ値に変換する例を説明した。画像データをXYZ値に変換する方法であれば、これに限るものではない。例えば、RGB値をXYZ値に変換する場合、計算精度の観点などからマトリクス係数の値が変わってもよい。
【0058】
●絶対XYZ値の算出方法
上記では、撮影情報302からAPEX規格の値を算出し、撮影で記録可能な絶対輝度の最大値Lmを算出して、式(4)により相対XYZ値を絶対XYZ値に変換する例を説明した。画像データを絶対XYZ値に変換する方法であれば、その方法は問わない。例えば、上記の方法により、撮影で記録可能な絶対輝度の最大値を予め算出して、撮影情報302に記録しておいてもよい。
【0059】
●局所白色の算出方法
上記では、局所白色304を算出する方法として、絶対XYZ値にガウシアンフィルタ処理を施す例を説明した。画像データ(注目画素とその周辺画素)にローパスフィルタ処理を施し、画像データの低周波成分を抽出するものであれば、その種類は問わない(例えばバイラテラルフィルタ)。例えば、下式に示すように、画像データに単純な平均フィルタ処理を施して局所白色304を算出してもよい。
Img'(x, y) = 1/(4S2)・ΣaΣbImg(x+a, y+b) …(16)
ここで、(x, y)はフィルタ処理する画素位置、
x = 0, …, W-1、y = 0, …, H-1、
Img(x, y)は補正前画像データ301の画素位置(x, y)の絶対XYZ値、
Img'(x, y)はフィルタ処理後の画素位置(x, y)の絶対XYZ値。
【0060】
また、局所白色304を算出する際に用いるフィルタサイズとして、撮影情報302から算出した順応視野サイズSを使用したが、フィルタサイズを任意に設定してもよい。例えば、図12に示すUIと同様なフィルタサイズを設定するためのUIを用意して、CPU104によって表示部103に表示し、ユーザにフィルタサイズを設定させてもよい。
【0061】
●順応状態の算出方法
上記では、順応状態を示すデータを算出する方法として、式(12)により、光源の白色と局所白色の混合率Mを算出して、式(13)(14)により、順応白色および順応輝度305を算出する例を説明した。光源の白色と局所白色を用いて順応状態を示すデータを算出する方法であれば、この方法に限るものではない。例えば、上記の式(12)においては、混合率MをY値の比に基づき決定したが、下式により、画素番号iの絶対輝度値Yabsとの輝度差に基づき混合率Mを決定してもよい。この場合の混合率Mは、画素番号に応じて変化するパラメータになる。
M = |(Yw - Yabs)/(YwL + Yw - 2Yabs)| …(17)
【0062】
あるいは、混合比Mを任意に設定してもよい。図13は混合比Mを設定するためのUIを示す図で、CPU104によって表示部103に表示される。ユーザは、このUIと入力部101により任意の混合比Mを設定することができる。
【0063】
●画像処理
上記では、iCAM06を用いて、シーンの見えを示すカラーアピアランス値を算出するまでを説明した。算出したカラーアピアランス値にどのような画像処理を実施しても構わない。例えば、カアーアピアランス値(iCAM06におけるシーンの見えを示すデータ)を出力機器の信号値に変換する処理部により、出力機器のRGB値やCMYK値に変換し、変換結果の画像データを出力機器に出力してもよい。
【0064】
上記では、ディジタルカメラによって撮影された画像データを補正する場合を説明した。しかし、表示装置に表示された画像データに対して補正を行う場合など、デバイスに応じた画像を補正する場合にも本発明は適用することができる。なお、表示装置に表示された画像データに対して補正を行う場合は、環境の白色情報として表示デバイスの白色情報を用いることが好ましい。
【0065】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0066】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記録媒体または記憶媒体をシステムまたは装置に供給する。そして、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記録媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【0067】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0068】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0069】
本発明を前記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0070】
【図1】HDR再現技術における視覚モデルを利用した画像補正の概要を説明する図、
【図2】実施例の画像処理装置の構成例を示すブロック図、
【図3】画像処理を説明するフローチャート、
【図4】画像処理とデータの関係を示す図、
【図5】ユーザインタフェイス(UI)の一例を示す図、
【図6】画像データファイルのフォーマット例を示す図、
【図7】局所白色の算出を説明するフローチャート、
【図8】画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率m、順応視野角θ、順応視野サイズSの関係を説明する図、
【図9】局所白色を示す図、
【図10】順応白色および順応輝度の算出を説明するフローチャート、
【図11】画像補正を説明するフローチャート、
【図12】順応視野角を設定するためのUIを示す図、
【図13】混合比を設定するためのUIを示す図である。
【技術分野】
【0001】
本発明は、視覚モデルに基づく画像処理に関する。
【背景技術】
【0002】
現在、国内におけるディジタルカメラの世帯普及率は50%を超え(2004年内閣府消費動向調査)、「ディジタルカメラで撮影する」はごく一般的な行為になった。
【0003】
屋外などにおいて、ディジタルカメラで、あるシーンを撮影するとき、撮影可能な輝度レンジよりも撮影対象(シーン)の輝度レンジが広い場合がある。その場合、撮影可能な輝度レンジ外の被写体は、その階調情報を記録することができず、所謂白飛び、黒潰れが発生する。例えば、晴天の屋外で、人物に露出を合わせて人物を撮影すると、背景の空や雲が白飛びし、木陰が黒潰れする。一方、人間の視覚には、観察領域の明るさに応じて順応状態を切り替え、明るさ、色を知覚する「局所順応」と呼ばれる特性があり、明るい場所、暗い場所ともに階調を知覚することができる。このため、撮影シーンを直接見た際の印象と、撮影画像を見た際の印象が異なる場合がある。
【0004】
このような問題を解決する技術の一つに、高ダイナミックレンジ画像(High Dynamic Range Imaging: HDR)技術がある。HDR技術は、大きく分けて、HDRキャプチャ技術とHDR再現技術から構成される。
【0005】
HDRキャプチャ技術は、白飛び、黒潰れが発生しないように、撮影のダイナミックレンジを拡張する技術であり、複数の露出で撮影した画像を合成するなどの方法が知られている。以下、このHDRキャプチャ技術により取得した画像をHDR画像と呼ぶ。
【0006】
HDR再現技術は、ダイナミックレンジが広いHDR画像を、ダイナミックレンジが狭い表示機器や出力機器(以下、出力機器)で好ましく再現する技術であり、例えば、HDR画像の低周波成分を圧縮するなどの方法がある。このようにHDR技術では、ダイナミックレンジ拡大のためのキャプチャ技術と、それに対応する再現技術により、白飛び、黒潰れを軽減することができる。
【0007】
近年、HDR再現技術に視覚モデルを用いた画像補正が適用されるようになった。視覚モデルは、視覚の色順応特性、輝度順応特性など、視覚特性をモデル化したもので、視覚の順応状態に基づき、実際のシーンを人がどのように見ていたのかを数値で表すことができる。
【0008】
図1はHDR再現技術における視覚モデルを利用した画像補正の概要を説明する図である。
【0009】
補正前のHDR画像10を入力し、視覚モデルにより、実際のシーンを人がどのような明るさ、色で知覚していたかを示すデータ(順応状態11)を算出する。そして、順応状態11をできるだけ出力機器13で再現するように、画像補正(順応補正)12を行う。このようにして、実際のシーンの色や階調を忠実に再現する。
【0010】
HDR再現技術に用いる視覚モデルとして、iCAM(非特許文献1)に代表されるような、見る対象の明るさ、色に応じて順応状態を切り替える局所順応特性を考慮した視覚モデルが提案されている。局所順応モデルは、補正前の画像をローパスフィルタ処理することで、見る領域に応じた順応状態を算出する。つまり、画像をローパスフィルタ処理することによって局所順応状態を算出する。
【0011】
しかし、ローパスフィルタ処理は順応の局所性を過度に反映することが指摘されている(非特許文献2)。つまり、ローパスフィルタ処理は、実際のシーンを人がどのように見ていたかを精度よくシミュレートできるとは限らず、好ましい再現が得られない可能性がある。言い換えれば、画像の撮影時の視覚の局所順応状態を、より正確に算出する新たな手法が必要である。
【0012】
【非特許文献1】Kuang, J., Johnson, G. M., Fairchild M. D.「iCAM06: A refined image appearance model for HDR image rendering」Journal of Visual Communication, 2007
【非特許文献2】Yamaguchi, H., Fairchild M.D.「A Study of Simultaneous Lightness Perception for Stimuli with Multiple Illumination Levels」12th CIC, 22-29
【発明の開示】
【発明が解決しようとする課題】
【0013】
本発明は、視覚の順応状態を正確に計算し、画像データを補正することを目的とする。
【課題を解決するための手段】
【0014】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【0015】
本発明にかかる画像処理は、環境の白色情報を取得し、画像データを用いて注目画素に対する局所白色の情報を算出し、前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出し、前記順応白色を用いて、前記注目画素を補正することを特徴とする。
【発明の効果】
【0016】
本発明によれば、視覚の順応状態を正確に計算し、画像データを補正することができる。
【発明を実施するための最良の形態】
【0017】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例1】
【0018】
[装置の構成]
図2は実施例の画像処理装置の構成例を示すブロック図である。
【0019】
CPU104は、RAM106をワークメモリとして、ROM105やデータ保存部102に格納された各種プログラムを実行し、システムバス109を介して後述する構成を制御する。また、後述する画像処理を実行する。また、ROM105やデータ保存部102は、制御や画像処理に必要な各種データを記憶する。
【0020】
CPU104は、入力部101を介して、ユーザの指示やデータを入力する。つまり、入力部101は、キーボードやポインティングデバイス、データを入力するUSBインタフェイスなどである。なお、ポインティングデバイスとしては、マウス、トラックボール、トラックパッド、タブレットなどが挙げられる。あるいは、本実施例をディジタルカメラやプリンタなどの機器に適用する場合、入力部101は、タッチパネル、テンキー、ボタン、モードダイヤルなどもよい。また、入力部101は、キーボードをソフトウェアで構成する所謂ソフトウェアキーボードを備えてもよい。
【0021】
CPU104は、画像データなどのデータを、データ保存部102に書き込んだり、データ保存部102から読み出したりする。つまり、データ保存部102は、ハードディスクドライブ、メモリカード、光ディスクドライブなどである。データ保存部102には、画像データのほかに、上述したログラムやデータなどを格納することができる。勿論、RAM106の一部をデータ保存部102として用いることもできる。
【0022】
CPU104は、ユーザインタフェイス(UI)、画像処理の状況、画像処理前後の画像などを表示部103に表示する。つまり、表示部103は、液晶ディスプレイ(LCD)などの表示デバイスである。表示部103は、画像処理装置に組み込まれているとは限らず、ケーブルを介して画像処理装置に接続された外部ディスプレイでもよい。
【0023】
CPU104は、通信部107を介して外部の機器と通信を行う。つまり、通信部107は、ネットワークインタフェイスカード(NIC)やUSBやIEEE1394などのシリアルバスインタフェイスである。勿論、通信部107として、IrDA、IEEE802.11a/b/g/h、Bluetooth、UWB(Ultra Wide Band)などの無線インタフェイスを利用してもよい。また、CPU104は、通信部107を介して、ネットワーク上のサーバ装置からプログラムや画像データなどのデータを取得することができる。
【0024】
[画像処理]
図3は画像処理を説明するフローチャート、図4は画像処理とデータの関係を示す図、図5はユーザインタフェイス(UI)の一例を示す図である。以下、ディジタルカメラによって撮影された画像データを補正する例を説明する。
【0025】
CPU104は、データ保存部102などから読み込む画像データファイルのユーザ指示を取得するために、表示部103に図5に示すUIを表示する(S200)。そして、入力部101を介してユーザ指示が入力されると、指示された画像データファイルをデータ保存部102などから取得する(S201)。画像データファイルには、補正前画像データ301と撮影情報302が含まれる。
【0026】
図6は画像データファイルのフォーマット例を示す図である。
【0027】
画像データファイルの先頭には、撮影情報302として、画像幅、画像高さ、光学センサ幅、光学センサ高さ、レンズ焦点距離、拡大率(ズーム倍率)、露光時間、絞り値、ISO感度、撮影時の光源の白色情報などのタグがあり、それぞれ値が記録されている。なお、光源の白色情報には、照度計などを用いて計測されたXYZ三刺激値が記録される。なお、光源の白色情報としてホワイトバランスの推定値または指定値(ホワイトバランス情報)として色温度が記録されていてもよい。
【0028】
撮影情報302に続いて、画像データファイルには、補正前画像データ301として、例えば8ビットRGB値などの画素データがラスタスキャン順に記録されている。なお、画像データ部分はJPEGフォーマットやロスレス圧縮フォーマットでデータ圧縮されていてもよい。
【0029】
次に、CPU104は、取得した画像データファイルに含まれる撮影情報302から光源の白色情報303(環境の白色情報)を取得する(S202)。この光源の白色情報は画像全体に対して同一である。続いて、詳細は後述するが、撮影情報302に基づき補正前画像データ301をXYZ値に変換し、そのXYZ値に撮影情報302から算出した局所順応視野サイズに基づくローパスフィルタ処理を施して、局所白色304を示すXYZ値を算出する(S203)。この局所白色は画素ごとに算出され、画素ごとに異なる可能性がある。なお、白色情報303および局所白色304は、RAM106の所定領域に格納する。
【0030】
ここで、局所順応視野サイズは局所順応が生じる領域を示し、局所白色は局所順応視野サイズにおいて白色と人間が認識する色のことである。
【0031】
次に、CPU104は、詳細は後述するが、光源の白色情報303と局所白色304を用いて、順応状態を示す白色および輝度(順応白色および順応輝度305)を算出し、RAM106の所定領域に格納する(S204)。そして、順応白色および順応輝度305を用いて、視覚モデルに基づく画像補正(順応補正)を行って、補正後画像データ306を生成する(S205)。なお、順応白色および順応輝度は、補正前画像データ301の撮影時の視覚の局所順応状態を示すデータである。
【0032】
●局所白色の算出(S203)
図7は局所白色の算出(S203)を説明するフローチャートである。
【0033】
CPU104は、撮影情報302から露出時間T、絞り値F、ISO感度を取得し(S301)、下式により、APEX規格のAV値、TV値、SV値、BV値を計算する(S302)。
AV (aperture value) = 2・log2(F)
TV (shutter speed value) = -log2(T)
SV (film speed value) = log2(ISO/3.0) …(1)
BV (brightness value) = AV + TV - SV
【0034】
次に、CPU104は、BV値を用いて、下式により、撮影で記録可能な絶対輝度の最大値Lm[cd/m2]を計算する(S303)。
Lm = 3.3×2BV/18.0×201.0 …(2)
【0035】
次に、CPU104は、補正前画像データ301の画素番号i(注目画素)の画素値(RGB値)を取得し(S304)、下式により、取得した画素値を相対XYZ値XYZrltに変換する(S305)。なお、画素番号iの初期値は「1」である。
┌ ┐ ┌ ┐┌ ┐
│Xrlt│ │0.41 0.36 0.18││R│
│Yrlt│=│0.21 0.71 0.07││G│ …(3)
│Zrlt│ │0.02 0.12 0.95││B│
└ ┘ └ ┘└ ┘
【0036】
次に、CPU104は、撮影で記録可能な絶対輝度の最大値Lmを用いて、下式により、相対XYZ値XYZrltを絶対XYZ値XYZabsに変換し、RAM106の所定領域に格納する(S306)。
┌ ┐ ┌ ┐
│Xabs│ │Xrlt│
│Yabs│= [Lm/255]│Yrlt│ …(4)
│Zabs│ │Zrlt│
└ ┘ └ ┘
ただし、定数255は、RGB値の各チャネルが8ビット符号なし整数の場合に輝度値を正規化するための値である。従って、RGBデータの定義域に応じて適宜変更する。
【0037】
次に、CPU104は、補正前画像データ301の全画素について絶対XYZ値を計算したか否かを判定し(S307)、未了の場合は画素番号iをインクリメントし(S308)、処理をステップS304に戻す。また、補正前画像データ301の全画素について絶対XYZ値の計算が終了すると、処理をステップS309に進める。
【0038】
CPU104は、撮影情報302から画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率mを取得し(S309)、所定の順応視野角θを用いて、下式により、順応視野サイズSを計算する(S310)。なお、図8は画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率m、順応視野角θ、順応視野サイズSの関係を説明する図である。
S = tan(θ/2)/{dw/2f(1 + m)}×W …(9)
なお、画像幅Wと光学センサ幅dwの代わりに、画像高さHと光学センサ高さdhを用いてもよい。
【0039】
次に、CPU104は、順応視野サイズSを用いて、下式により、ガウシアンフィルタを設定する(S311)。なお、本実施例では、ガウシアンフィルタの分散に順応視野サイズSの1/2を与え、順応視野サイズに応じたフィルタにする。また、フィルタ処理を行う範囲は、ガウス関数の積分値の約95%が含まれる-S〜+Sにする。
Filter(a, b) = 1/k・exp{-(a2 + b2)/2(S/2)2} …(10)
ここで、k = ΣaΣbexp{-(a2 + b2)/2(S/2)2}
(a, b)はフィルタ中心の画素からの相対座標を表す、
Σa演算の範囲はa=-S〜+S、
Σb演算の範囲はb=-S〜+S。
【0040】
次に、CPU104は、下式により、ステップS306で算出し絶対XYZ値と、ステップS311で設定したガウシアンフィルタの離散畳み込み演算を行った結果の絶対XYZ値(局所白色304)をRAM106の所定領域に格納する(S312)。
Img'(x, y) = ΣaΣbImg(x-a, y-b)Filter(a, b) …(11)
ここで、(x, y)はフィルタ処理する画素位置、
x = 0, …, W-1、y = 0, …, H-1、
Img(x, y)は補正前画像データ301の画素位置(x, y)の絶対XYZ値、
Img'(x, y)は畳み込み演算後の画素位置(x, y)の絶対XYZ値。
【0041】
局所白色304は、上記の処理によって得られる、全画素の絶対XYZ値にガウシアンフィルタ処理を行って得られたXYZ値である。図9は局所白色304を示す図で、図9(a)は補正前画像データ301に相当する撮影画像、図9(b)は撮影画像をぼかした局所白色304を示す画像である。
【0042】
●順応白色および順応輝度305の算出(S204)
図10は順応白色および順応輝度305の算出(S204)を説明するフローチャートである。
【0043】
CPU104は、RAM106から、白色情報303を取得し(S401)、画素番号i(注目画素)の絶対XYZ値を取得し(S402)、画素番号iに対応する局所白色304を取得する(S403)。なお、画素番号iの初期値は「1」である。
【0044】
次に、CPU104は、白色情報303の輝度値Ywと、画素番号iに対応する局所白色304の輝度値YwLを用いて、下式により、光源の白色と局所白色の混合率Mを計算する(S404)。
M = Yw/(Yw + YwL) …(12)
【0045】
次に、CPU104は、白色情報303のXYZ値XYZw、局所白色304のXYZ値XYZwL、混合率Mを用いて、下式により、順応白色XYZAW、順応輝度YAを計算し、画素番号iに対応付けてRAM106の所定領域に格納する(S405)。
┌ ┐ ┌ ┐ ┌ ┐
│XAW│ │Xw│ │XwL│
│YAW│= M│Yw│+ (1-M)│YwL│ …(13)
│ZAW│ │Zw│ │ZwL│
└ ┘ └ ┘ └ ┘
YA = 0.2×YAW …(14)
【0046】
次に、CPU104は、補正前画像データ301の全画素について順応白色および順応輝度305を算出したか否かを判定し(S406)、未了の場合は画素番号iをインクリメントして(S407)、処理をステップS402に戻す。また、補正前画像データ301の全画素について順応白色および順応輝度305の計算が終了すると、処理を終了する。
【0047】
●画像補正(S205)
図11は画像補正(S205)を説明するフローチャートである。
【0048】
CPU104は、RAM106から、画素番号iの絶対XYZ値を取得し(S501)、画素番号iに対応する順応白色および順応輝度305を取得する(S502)。
【0049】
次に、CPU104は、画素番号iの順応白色および順応輝度305を用いて、画素番号iの絶対XYZ値をカラーアピアランス値に変換する(S503)。本実施例では、iCAM06を用いて、絶対XYZ値をカラーアピアランス値に変換し、補正後画像データ306の画素値としてデータ保存部102などに格納する。
【0050】
iCAM06は、カラーアピアランス値をI、P、Tという三種類のパラメータで表現する。Iは人が知覚する明るさを表すパラメータ、PおよびTはそれぞれ人が知覚する色を表すパラメータである。iCAM06は、まず、画像データから変換された絶対XYZ値にフィルタ処理を施して低周波成分を抽出し、絶対XYZ値の低周波成分と、元の絶対XYZ値の差分から高周波成分を抽出する。そして、前述した、実際のシーンを人がどのような明るさ、色で知覚していたかを示すデータ(順応状態を示すデータ)を用いて、局所順応処理として抽出した低周波成分を圧縮する。その後、圧縮した低周波成分と抽出した高周波成分を合成し、カラーアピアランス値に変換する。
【0051】
次に、CPU104は、補正前画像データ301の全画素についてカラーアピアランス値の算出が終了したか否かを判定し(S504)、未了の場合は画素番号iをインクリメントして(S505)、処理をステップS501に戻す。また、補正前画像データ301の全画素についてカラーアピアランス値の算出が終了すると、処理を終了する。
【0052】
本実施例では、撮影時の光源の白色情報303、局所白色304の両方を考慮した式(13)(14)により、実際のシーンを観察していた際の順応白色および順応輝度をより正確に算出することができ、シーンの見えを高精度にシミュレートすることができる。言い換えれば、高精度にカラーアピアランス値を算出することができる。
【0053】
このように、撮影時の光源の白色情報(またはホワイトバランス情報)と、画像データから算出した局所白色を用いて、画像データの撮影時の視覚の順応状態を算出する。従って、画像データにローパスフィルタ処理を適用した場合に生じる順応の局所性の過度の反映を防いで、画像データの撮影時の視覚の順応状態をより正確に計算することができる。言い換えれば、局所順応を考慮した視覚モデルにおいて、実際のシーンを人がどのように観察していたかを精度よくシミュレートすることができる。その結果、iCAMやiCAM06などの局所順応を考慮した視覚モデルを用いたHDR再現技術と、モニタやプリンタなどの出力機器により、HDR画像を好ましく再現することができる。
【0054】
[変形例]
●画像データファイル
上記では、画像データファイルのフォーマットとして図6に示す形態を説明した。しかし、画像に関するデータおよび撮影に関するデータの少なくとも一方が記録されているものであれば、データの種類、フォーマットは、図6の形態に限られない。例えば、画像データはRGB各16ビットでもよいし、各画素の絶対XYZ値が予め計算され記録されていてもよい。あるいは、光学センサ幅、レンズ焦点距離、拡大率の代わりに、撮影時の画角が予め計算され記録されていてもよい。同様に、露出時間、絞り値、ISO感度の代わりに、輝度計などで計測して得たシーン中の絶対輝度の最大値が記録されていてもよい。さらに、画像データファイルのフォーマットは、例えば、Exif形式でもよいし、画像に関するデータと撮影に関するデータが異なるファイルに関連付けされて記録されていてもよい。
【0055】
●順応視野角の設定方法
上記では、例えばデータ保存部102に記録された所定の順応視野角θを用いる例を説明したが、順応視野角θを任意に設定してもよい。図12は順応視野角θを設定するためのUIを示す図で、CPU104によって表示部103に表示される。ユーザは、このUIと入力部101により任意の順応視野角θを設定することができる。
【0056】
●順応視野サイズの算出方法
上記では、順応視野角θ、画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率mを用いる式(9)によって順応視野サイズSを算出する例を説明した。撮影情報302を用いて順応視野サイズSを算出する方法であれば、その種類は問わない。例えば、下式に示すように、撮影情報302として画角αを用いて順応視野サイズSを算出してもよい。
S = tan(θ/2)/tan(α/2)×W …(15)
【0057】
●相対XYZ値の算出方法
上記では、各画素のRGB値を式(3)により相対XYZ値に変換する例を説明した。画像データをXYZ値に変換する方法であれば、これに限るものではない。例えば、RGB値をXYZ値に変換する場合、計算精度の観点などからマトリクス係数の値が変わってもよい。
【0058】
●絶対XYZ値の算出方法
上記では、撮影情報302からAPEX規格の値を算出し、撮影で記録可能な絶対輝度の最大値Lmを算出して、式(4)により相対XYZ値を絶対XYZ値に変換する例を説明した。画像データを絶対XYZ値に変換する方法であれば、その方法は問わない。例えば、上記の方法により、撮影で記録可能な絶対輝度の最大値を予め算出して、撮影情報302に記録しておいてもよい。
【0059】
●局所白色の算出方法
上記では、局所白色304を算出する方法として、絶対XYZ値にガウシアンフィルタ処理を施す例を説明した。画像データ(注目画素とその周辺画素)にローパスフィルタ処理を施し、画像データの低周波成分を抽出するものであれば、その種類は問わない(例えばバイラテラルフィルタ)。例えば、下式に示すように、画像データに単純な平均フィルタ処理を施して局所白色304を算出してもよい。
Img'(x, y) = 1/(4S2)・ΣaΣbImg(x+a, y+b) …(16)
ここで、(x, y)はフィルタ処理する画素位置、
x = 0, …, W-1、y = 0, …, H-1、
Img(x, y)は補正前画像データ301の画素位置(x, y)の絶対XYZ値、
Img'(x, y)はフィルタ処理後の画素位置(x, y)の絶対XYZ値。
【0060】
また、局所白色304を算出する際に用いるフィルタサイズとして、撮影情報302から算出した順応視野サイズSを使用したが、フィルタサイズを任意に設定してもよい。例えば、図12に示すUIと同様なフィルタサイズを設定するためのUIを用意して、CPU104によって表示部103に表示し、ユーザにフィルタサイズを設定させてもよい。
【0061】
●順応状態の算出方法
上記では、順応状態を示すデータを算出する方法として、式(12)により、光源の白色と局所白色の混合率Mを算出して、式(13)(14)により、順応白色および順応輝度305を算出する例を説明した。光源の白色と局所白色を用いて順応状態を示すデータを算出する方法であれば、この方法に限るものではない。例えば、上記の式(12)においては、混合率MをY値の比に基づき決定したが、下式により、画素番号iの絶対輝度値Yabsとの輝度差に基づき混合率Mを決定してもよい。この場合の混合率Mは、画素番号に応じて変化するパラメータになる。
M = |(Yw - Yabs)/(YwL + Yw - 2Yabs)| …(17)
【0062】
あるいは、混合比Mを任意に設定してもよい。図13は混合比Mを設定するためのUIを示す図で、CPU104によって表示部103に表示される。ユーザは、このUIと入力部101により任意の混合比Mを設定することができる。
【0063】
●画像処理
上記では、iCAM06を用いて、シーンの見えを示すカラーアピアランス値を算出するまでを説明した。算出したカラーアピアランス値にどのような画像処理を実施しても構わない。例えば、カアーアピアランス値(iCAM06におけるシーンの見えを示すデータ)を出力機器の信号値に変換する処理部により、出力機器のRGB値やCMYK値に変換し、変換結果の画像データを出力機器に出力してもよい。
【0064】
上記では、ディジタルカメラによって撮影された画像データを補正する場合を説明した。しかし、表示装置に表示された画像データに対して補正を行う場合など、デバイスに応じた画像を補正する場合にも本発明は適用することができる。なお、表示装置に表示された画像データに対して補正を行う場合は、環境の白色情報として表示デバイスの白色情報を用いることが好ましい。
【0065】
[他の実施例]
なお、本発明は、複数の機器(例えばコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置、制御装置など)に適用してもよい。
【0066】
また、本発明の目的は、上記実施例の機能を実現するコンピュータプログラムを記録した記録媒体または記憶媒体をシステムまたは装置に供給する。そして、そのシステムまたは装置のコンピュータ(CPUやMPU)が前記コンピュータプログラムを実行することでも達成される。この場合、記録媒体から読み出されたソフトウェア自体が上記実施例の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【0067】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム(OS)および/または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0068】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのCPUなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【0069】
本発明を前記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【0070】
【図1】HDR再現技術における視覚モデルを利用した画像補正の概要を説明する図、
【図2】実施例の画像処理装置の構成例を示すブロック図、
【図3】画像処理を説明するフローチャート、
【図4】画像処理とデータの関係を示す図、
【図5】ユーザインタフェイス(UI)の一例を示す図、
【図6】画像データファイルのフォーマット例を示す図、
【図7】局所白色の算出を説明するフローチャート、
【図8】画像幅W、光学センサ幅dw、レンズ焦点距離f、拡大率m、順応視野角θ、順応視野サイズSの関係を説明する図、
【図9】局所白色を示す図、
【図10】順応白色および順応輝度の算出を説明するフローチャート、
【図11】画像補正を説明するフローチャート、
【図12】順応視野角を設定するためのUIを示す図、
【図13】混合比を設定するためのUIを示す図である。
【特許請求の範囲】
【請求項1】
環境の白色情報を取得する取得手段と、
画像データを用いて注目画素に対する局所白色の情報を算出する局所白色の算出手段と、
前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出する順応白色の算出手段と、
前記順応白色を用いて、前記注目画素を補正する補正手段とを有することを特徴とする画像処理装置。
【請求項2】
前記順応白色の算出手段は、さらに、前記環境の白色情報と前記局所白色の情報から前記注目画素に対する順応輝度を算出することを特徴とする請求項1に記載された画像処理装置。
【請求項3】
前記環境の白色情報は、前記画像データの撮影時の光源に関する白色情報であることを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記局所白色の算出手段は、撮影情報および順応視野角に基づき順応視野サイズを算出し、前記順応視野サイズに基づき前記注目画素および前記注目画素の周辺画素をローパスフィルタ処理することで前記局所白色の情報を算出することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項5】
前記順応白色の算出手段は、前記環境の白色情報の輝度値と前記局所白色の情報の輝度値に基づき混合率を算出し、前記混合率を用いて前記環境の白色情報と前記局所白色の情報から前記注目画素に対する順応白色を算出することを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項6】
前記順応白色の算出手段は、前記環境の白色情報の輝度値と、前記局所白色の情報の輝度値の比または差分から前記混合率を算出することを特徴とする請求項5に記載された画像処理装置。
【請求項7】
環境の白色情報を取得し、
画像データを用いて注目画素に対する局所白色の情報を算出し、
前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出し、
前記順応白色を用いて、前記注目画素を補正することを特徴とする画像処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【請求項1】
環境の白色情報を取得する取得手段と、
画像データを用いて注目画素に対する局所白色の情報を算出する局所白色の算出手段と、
前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出する順応白色の算出手段と、
前記順応白色を用いて、前記注目画素を補正する補正手段とを有することを特徴とする画像処理装置。
【請求項2】
前記順応白色の算出手段は、さらに、前記環境の白色情報と前記局所白色の情報から前記注目画素に対する順応輝度を算出することを特徴とする請求項1に記載された画像処理装置。
【請求項3】
前記環境の白色情報は、前記画像データの撮影時の光源に関する白色情報であることを特徴とする請求項1または請求項2に記載された画像処理装置。
【請求項4】
前記局所白色の算出手段は、撮影情報および順応視野角に基づき順応視野サイズを算出し、前記順応視野サイズに基づき前記注目画素および前記注目画素の周辺画素をローパスフィルタ処理することで前記局所白色の情報を算出することを特徴とする請求項1から請求項3の何れか一項に記載された画像処理装置。
【請求項5】
前記順応白色の算出手段は、前記環境の白色情報の輝度値と前記局所白色の情報の輝度値に基づき混合率を算出し、前記混合率を用いて前記環境の白色情報と前記局所白色の情報から前記注目画素に対する順応白色を算出することを特徴とする請求項1から請求項4の何れか一項に記載された画像処理装置。
【請求項6】
前記順応白色の算出手段は、前記環境の白色情報の輝度値と、前記局所白色の情報の輝度値の比または差分から前記混合率を算出することを特徴とする請求項5に記載された画像処理装置。
【請求項7】
環境の白色情報を取得し、
画像データを用いて注目画素に対する局所白色の情報を算出し、
前記環境の白色情報と前記局所白色の情報から注目画素に対する順応白色を算出し、
前記順応白色を用いて、前記注目画素を補正することを特徴とする画像処理方法。
【請求項8】
コンピュータ装置を制御して、請求項1から請求項6の何れか一項に記載された画像処理装置の各手段として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図10】
【図11】
【図12】
【図13】
【図9】
【公開番号】特開2010−62673(P2010−62673A)
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願番号】特願2008−223920(P2008−223920)
【出願日】平成20年9月1日(2008.9.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成22年3月18日(2010.3.18)
【国際特許分類】
【出願日】平成20年9月1日(2008.9.1)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]