以下、添付図面を参照して、本発明の好適な実施の形態について説明する。なお、各図において、同一の部材については同一の参照番号を付し、重複する説明は省略する。
図1は、本発明の一側面としての撮像装置1の構成を示す概略ブロック図である。撮像装置1は、本実施形態では、被写体を撮像するデジタルカメラとして具現化される。但し、本発明は、デジタルカメラに限定するものではなく、撮像素子や記録媒体から入力される画像データに対して画像処理を施して、かかる処理結果を表示する(画像データに対応する画像の画質を確認する)ことができる画像処理装置に適用することができる。例えば、本発明は、画像処理アプリケーションソフト(現像アプリケーションソフト)を備えるパーソナルコンピュータ(PC)にも適用することができる。
撮像装置1は、図1に示すように、光学ユニット10と、撮像素子20と、A/D変換部30と、画像処理部40と、記録媒体50と、表示部60と、操作部70と、制御部80とを備える。
光学ユニット10は、撮像レンズや撮像光学系などを含み、被写体からの光を撮像素子20に結像する。換言すれば、光学ユニット10は、撮像素子20の上に被写体の光学像を形成する。
撮像素子20は、カラーフィルターを備え、光学ユニット10によって形成された被写体の光学像を光電変換して、画像データ(画像信号)を生成する。撮像素子20は、例えば、CCD(Charge Coupled Device)又はCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどを用いることができる。
A/D変換部30は、制御部80に制御され、撮像素子20から出力される画像データをアナログ信号からデジタル信号に変換する。
画像処理部40は、撮像素子20及びA/D変換部30を介して入力される画像データ(本実施形態では、RAW画像データ)に対して、ホワイトバランス処理やマトリックス変換処理などの画像処理を施して処理結果を生成する。後述するように、画像処理部40は、本実施形態では、画像データに対して、同一種類、且つ、互いに異なる複数のパラメータ値を用いて画像処理を施して複数の処理結果を生成する。
記録媒体50は、撮像装置1に着脱可能に構成され、画像処理部40から出力される画像ファイルを記録する。記録媒体50は、例えば、CD−R、DVD−R、不揮発性のメモリカードなどを使用することができる。
表示部60は、画像処理部40から出力される画像ファイルの画像、即ち、画像処理部40によって生成された処理結果(複数の処理結果)を表示する。表示部60は、例えば、LCD(Liquid Crystal Display)などを使用することができる。
操作部70は、電源ボタン、十字ボタン(上ボタン、下ボタン、右ボタン、左ボタン)、ホイールなどの各種ボタンや表示部60に設けられたタッチパネルを含み、ユーザーからの操作(入力)を受け付ける。後述するように、操作部70は、本実施形態では、表示部60に表示された複数の処理結果から、ユーザーの入力に応じて、1つの処理結果を選択する機能を実現する。
制御部80は、撮像装置1の全体(動作)を制御し、本実施形態では、特に、画像処理部40が画像データに対して自動的に画像処理を施す際に用いるパラメータ値を決定する処理を制御する。後述するように、制御部80は、本実施形態では、撮像シーンごとに(即ち、所定の条件に基づいて)画像データを分類する。また、制御部80は、本実施形態では、予め定められた複数の画像データ(同一分類の複数の画像データ)について、画像処理部40による画像処理、表示部60による複数の処理結果の表示及び操作部70による処理結果の選択を繰り返し実行させる。また、制御部80は、本実施形態では、画像処理部40による画像処理、表示部60による複数の処理結果の表示及び操作部70による処理結果の選択を繰り返し実行した結果、操作部70によって選択された処理結果に対応するパラメータ値の頻度を検出する。更に、制御部80は、操作部70によって選択された処理結果に対応するパラメータ値の頻度が最も高いパラメータ値を、画像処理部40が画像データ(同一分類の画像データ)に対して自動的に画像処理を施す際に用いるパラメータ値として決定する。
以下、画像処理部40が画像データに対して自動的に画像処理を施す際に用いるパラメータ値を決定する処理について具体的に説明する。
まず、画像処理部40の詳細を説明する。図2は、画像処理部40の詳細な構成を示す概略ブロック図である。
画像処理部40は、図2に示すように、入力部402と、ホワイトバランス処理部404と、マトリックス変換処理部406と、ガンマ処理部408と、輝度/色差分離処理部410とを有する。更に、画像処理部40は、シャープネス処理部412と、彩度処理部414と、色相処理部416と、符号化処理部418と、ファイル化処理部420と、出力部422と、パラメータ入力部430乃至480とを有する。
入力部402には、撮像素子20で光電変換され、A/D変換部30でデジタル信号に変換されたRAW画像データが入力される。上述したように、撮像素子20のカラーフィルターが各色成分によるベイヤー配列で構成されている場合(図14参照)には、入力部402には、画素ごとに、R、G1、G2、Bのうちいずれか1つの色成分で構成されるRAW画像データが入力される。
ホワイトバランス処理部404は、入力部402に入力されたRAW画像データに対して、パラメータ入力部470から入力されるパラメータ値を用いて、画素ごとに各色成分に対応したゲインを施す。
マトリックス変換処理部406は、R、G1、G2、Bのうちいずれか1つの色成分で構成される画像データに対して、周辺の画素のデータを用いて、以下の式1に示す補間処理を施す。換言すれば、マトリックス変換処理部406は、R、G1、G2、Bのうちいずれか1つの色成分で構成される画像データを、パラメータ入力部480から入力されるパラメータ値を用いて、R、G、Bの3つの色成分で構成される画像データに変換する。
ガンマ処理部408は、マトリックス変換処理部406からの画像データに対して、パラメータ入力部430から入力されるパラメータ値を用いて、コントラストを調整する。
輝度/色差分離処理部410は、ガンマ処理部408からの画像データに対して、輝度データYと色差データCr及びCbにマトリックス変換(分離)する。例えば、画像データの色空間がsRGBで規定される場合、輝度/色差分離処理部410は、以下の式2に示す変換式に従って、画像データをマトリックス変換する。
シャープネス処理部412は、輝度/色差分離処理部410からの輝度データに対して、パラメータ入力部440から入力されるパラメータ値を用いて、シャープネス処理を施してエッジ強調する。
彩度処理部414は、輝度/色差分離処理部410からの色差データに対して、パラメータ入力部450から入力されるパラメータ値を用いて、彩度の調整処理を施す。
色相処理部416は、彩度処理部414からの色差データに対して、パラメータ入力部460から入力されるパラメータ値を用いて、色相の調整処理を施す。
符号化処理部418は、画像処理が施された輝度データ及び色差データに対して、データ圧縮処理を施す。
ファイル化処理部420は、例えば、符号化処理部418からの画像データを用いてJPEG形式の画像ファイルを生成して、出力部422から出力する。出力部422から出力された画像ファイルは、記録媒体50に記録されたり、画像として表示部60に表示されたりする。
パラメータ入力部430乃至480のそれぞれは、制御部80に制御され、画像処理部40のそれぞれに対して、同一種類、且つ、値を段階的に変化させ、互いに異なる複数のパラメータ値を入力する。パラメータ入力部430は、後述するように、ガンマ処理部408に対して、コントラスト調整用の複数のパラメータ値を入力する。パラメータ入力部440は、後述するように、シャープネス処理部412に対して、シャープネス調整用の複数のパラメータ値を入力する。パラメータ入力部450は、後述するように、彩度処理部414に対して、彩度調整用の複数のパラメータ値を入力する。パラメータ入力部460は、後述するように、色相処理部416に対して、色相調整用の複数のパラメータ値を入力する。パラメータ入力部470は、ホワイトバランス処理部404に対して、ホワイトバランス調整用の複数のパラメータ値を入力する。パラメータ入力部480は、マトリックス変換処理部406に対して、マトリックス変換用の複数のパラメータ値を入力する。
図3は、画像処理部40が画像データに対して自動的に画像処理を施す際に用いるパラメータ値を決定する処理を説明するためのフローチャートである。かかる処理は、上述したように、制御部80が撮像装置1の各部(特に、画像処理部40)を統括的に制御することによって実行される。本実施形態では、記録媒体50に記録されている複数の画像ファイル(画像データ)から、画像処理部40が画像データに対して自動的に画像処理を施す際に用いるパラメータ値を決定する場合を例に説明する。但し、複数の画像ファイルは、撮像装置1に内蔵されている記録媒体50に記録されていなくても、PCやインターネットなどを介して撮像装置1と接続するサーバーなどの記憶装置に記録されていてもよい。
ステップS302では、記録媒体50に記録された画像ファイル(画像データ)から撮像装置1で撮像された画像ファイルを抽出する。例えば、記録媒体50に記録された画像ファイルに格納されている撮像機種コードに基づいて、撮像装置1で撮像された画像ファイルを認識して抽出する。
本実施形態では、ステップS302において、記録媒体50から撮像装置1で撮像された画像ファイル(画像データ)として、図4に示すような画像ファイルIM1乃至IM9が抽出されたものとする。
ステップS304では、ステップS302で抽出した画像ファイルについて、撮像シーンの分類を行う。例えば、画像ファイルのヘッダ部などに格納されている撮像時の撮像装置1の設定情報(撮像情報)を読み出し、かかる設定条件に基づいて撮像シーンの分類を行う。
本実施形態では、ステップS304において、図4に示す画像ファイルIM1乃至IM9を、図5に示すように、「風景(SN1)」、「人物(SN2)」、「マクロ(SN3)」及び」「その他(SN4)」の撮像シーンに分類する。
ここで、ステップS304の撮像シーンの分類について具体的に説明する。図6は、画像ファイルIM1乃至IM9のそれぞれのヘッダ部に格納されている撮像情報のうち、測光センサーから得られた被写体のEV値(明るさ)と撮像レンズの合焦点位置から得られた被写体の撮像距離を用いて撮像シーンを分類した結果を示す図である。
撮像距離において、閾値A及びBを設定することで、例えば、閾値Aより大きい撮像距離では遠景の撮像シーン、閾値A乃至Bの間の撮像距離では近景の撮像シーン、閾値Aより小さい撮像距離では接写(マクロ)の撮像シーンであると分類することができる。本実施形態では、画像ファイルIM1乃至IM9のうち、画像ファイルIM1、IM2、IM3、IM4及びIM9は遠影の撮像シーンであると分類される。また、画像ファイルIM1乃至IM9のうち、画像ファイルIM6、IM7及びIM8は近景の撮像シーン、画像ファイルIM5は接写(マクロ)の撮像シーンであると分類される。
また、被写体のEV値において、閾値Cを設定することで、例えば、閾値Cより大きいEV値では屋外の撮像シーン、閾値Cより小さいEV値では室内(暗い屋外)の撮像シーン又はストロボ光を用いた撮像シーンであると分類することができる。本実施形態では、画像ファイルIM1乃至IM9のうち、画像ファイルIM1、IM2、IM3、IM4、IM5及びIM6は室外での撮像シーン、画像ファイルIM7、IM8及びIM9は室内での撮像シーン又はストロボ光を用いた撮像シーンであると分類される。
このように、閾値A乃至Cを設定することで、画像ファイルIM1乃至IM9は、以下の撮像シーンに分類される。
「風景」の撮像シーン:画像ファイルIM1、IM2、IM3、IM4及びIM9
「人物」、「その他」の撮像シーン:画像ファイルIM6、IM7及びIM8
「接写(マクロ)」の撮像シーン:画像IM5
なお、「風景」の撮像シーンにおいては、図7に示すように、撮像時のホワイトバランスの情報から得られる被写体に対する光源の色温度に基づいて、撮像シーンを更に分類することが可能である。具体的には、ホワイトバランス処理部404でのホワイトバランス処理を施す際に用いる被写体に対する光源の色座標(Cx−Cy軸)に基づいて、「風景」の撮像シーンを更に分類する。
撮像素子20から出力され、A/D変換部30でデジタル信号に変換されたRAW画像データは、上述したように、R、G1、G2、Bのうちいずれか1つの色成分で構成されている。そこで、撮像素子20の隣接する画素間(図14に示す画素PX1乃至PX4の組み合わせ)で色座標の演算処理を行い、かかる演算処理を全画面内で行った結果を色座標Cx−Cyにプロットする。なお、Cx及びCyの演算処理(演算式)は、例えば、以下の式3及び4で表される。
Cx=B/R ・・・(式3)
Cy=(G1+G2)/(R+B) ・・・(式4)
これにより、光源色に近い画像ファイル(画像データ)が、図7に示す色座標Cx−Cyにプロットされる。図7において、Cx−Rは光源色のうち赤味の強くなる方向、Cx−Bは光源色のうち青味の強くなる方向、Cy−Grは光源色のうち緑味の強くなる方向、Cy−Mgは光源色のうち赤紫味の強くなる方向を示している。また、光源色以外の濃度の高い色の色座標は、図7に示す色座標の座標軸近傍に存在しないため、容易に除外することができる。
「風景」の撮像シーンに分類された画像ファイルIM1、IM2、IM3、IM4及びIM9を図7に示す色座標Cx−Cyで分類すると、画像ファイルIM1乃至IM3は屋外光に代表される色温度約5000K近傍に位置する。従って、画像ファイルM1乃至M3は、図5に示すように、「風景」の撮像シーンであって、「高色温度(昼光)(SN1a)」のサブグループに属する撮像シーンに分類することができる。また、画像ファイルIM4は、色温度約2500K近傍に位置する。従って、画像ファイルIM4は、図5に示すように、「風景」の撮像シーンであって、「低色温度(夕景)(SN1b)」のサブグループに属する撮像シーンに分類することができる。また、画像ファイルIM9は、色温度約3500K近傍に位置すると共に、Cy−Cr方向に大きく緑味が強い光源であり、更に、図6に示したように、EV値が小さい。従って、画像ファイルIM9は、「風景」の撮像シーンであって、「夜景(SN1c)」のサブグループに属する撮像シーンに分類することができる。
図7には、「人物」、「その他」の撮像シーンに分類された画像ファイルIM6、IM7及びIM8もプロットされている。画像ファイルIM7及びIM8は、図7に示す色座標において、主に、2箇所に位置し、背景のストロボ光源の色座標と肌色の色座標を表している。従って、画像ファイルIM7及びIM8は、図6に示した撮像距離も加味して、「人物」の撮像シーンに分類され、更に、「ストロボ光下の人物」のサブグループに属する撮像シーンに分類することも可能である。また、画像ファイルIM6は、「その他」の撮像シーンに分類される。なお、「人物」の撮像シーンに分類する(即ち、被写体が人物であると判断する)際には、顔のパターンを判別する方法を用いてもよい。
このように、画像ファイルは、かかる画像ファイルのヘッダ部に格納されている撮像条件に基づいて、各撮像シーンに分類することができる。
ステップS306では、ステップS304で分類した複数の撮像シーンから、1つの撮像シーンを選択する。
ステップS308では、ステップS306で選択された撮像シーンの画像データに対して画像処理を施す際に用いるパラメータ値を決定する画像処理部40(図2に示すホワイトバランス処理部404、マトリックス変換処理部406など)を選択する。換言すれば、ステップS308では、画像データに対して画像処理を施す際に用いるパラメータ値を決定するパラメータの種類を選択する。
ステップS310では、ステップS306で選択した撮像シーンに分類された複数の画像ファイルから、1つの画像ファイルを選択する。
ステップS312では、ステップS308で選択した画像処理部40に対して、互いに異なる複数のパラメータ値を入力(設定)する。
ステップS314では、ステップS310で選択した画像ファイルに対応する画像データに対して、ステップS312で入力(設定)された複数のパラメータ値を用いて画像処理を施す(画像処理の実行)。
ステップS316では、ステップS314で画像処理を実行して生成された複数の処理結果を表示部60に表示する。
ステップS318では、ステップS316で表示された複数の処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果を選択する。
ステップS320では、ステップS306で選択した撮像シーンに分類された複数の画像ファイルの全てに対して、画像処理を実行して生成される処理結果の選択が実行されたか(即ち、ステップS312乃至S318が実行されたか)を判定する。
ステップS306で選択した撮像シーンに分類された複数の画像ファイルの全てに対して、画像処理を実行して生成される画像処理済み画像(以降、処理結果とする)の選択が実行されていない場合には、ステップS310に戻る。そして、次の画像ファイルを選択し、ステップS312以降を実行する。一方、ステップS306で選択した撮像シーンに分類された複数の画像ファイルの全てに対して、画像処理を実行して生成される処理結果の選択が実行されている場合には、ステップS322に進む。
ステップS322では、ステップS318で選択された処理結果に対応するパラメータ値が選択された回数(以降、パラメータ値の頻度とする)を検出する。
ステップS324では、ステップS322で検出されたパラメータ値の頻度に基づいて、ステップS308で選択した画像処理部40がステップS306で選択した撮像シーンの画像データに対して自動的に画像処理を施す際のパラメータ値として決定する。具体的には、パラメータ値の頻度が最も高いパラメータ値を、ステップS308で選択した画像処理部40がステップS306で選択した撮像シーンの画像データに対して自動的に画像処理を施す際のパラメータ値として決定する。
ステップS326では、ステップS306で選択した撮像シーンに対して、全ての画像処理部40が選択されたか(即ち、全てのパラメータの種類が選択されたか)を判定する。
ステップS306で選択した撮像シーンに対して、全ての画像処理部40が選択されていない場合には、ステップS308に戻って、次の画像処理部40を選択し、ステップS310以降を実行する。一方、ステップS306で選択した撮像シーンに対して、全ての画像処理部40が選択されている場合には、ステップS328に進む。
ステップS328では、ステップS304で分類した複数の撮像シーンについて、全ての撮像シーンが選択されたかを判定する。
全ての撮像シーンが選択されていない場合には、ステップS306に戻って、次の撮像シーンを選択し、ステップS308以降を実行する。一方、全ての撮像シーンが選択されている場合には、ステップS330に進む。
ステップS330では、複数の撮像シーンのそれぞれについて、画像処理部40のそれぞれに対して、ステップS324で決定したパラメータ値を設定し、処理を終了する。
ここで、ステップS306乃至S330の処理を具体的に説明する。本実施形態では、「風景」の撮像シーンであって、「高色温度(昼光)」のサブグループに属する撮像シーンを選択したものとする(ステップS306)。この場合、画像処理部40が「高色温度(昼光)」の撮像シーンで撮像された画像データに対して自動的に画像処理を施す際に用いるパラメータ値を決定することになる。従って、ステップS308では、「高色温度(昼光)」の撮像シーンで撮像された画像データの画像処理に関連するホワイトバランス処理部404、ガンマ処理部408、シャープネス処理部412、彩度処理部414及び色相処理部416のうちから1つを選択する。本実施形態では、まず、ガンマ処理部408が選択されたものとする(ステップS308)。また、「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3から、画像ファイルIM1が選択されたものとする(ステップS310)。
ガンマ処理部408には、パラメータ入力部430を介して、図8に示すようなパラメータ値PMa1乃至PMa6が入力(設定)される(ステップS312)。例えば、パラメータ入力部430は、第1のパラメータ値432としてパラメータ値PMa1を、第2のパラメータ値434としてパラメータ値PMa3を、第3のパラメータ値436としてパラメータ値PMa5をガンマ処理部408に入力する。ここで、パラメータ値PMa1乃至PMa6は、コントラスト調整用のパラメータ値であって、互いに異なる入出力特性を有する。図8において、縦軸はガンマ処理部408への画像データの入力をEV値(log値)で表したものであり、横軸はガンマ処理部408からの出力をレベル値で表したものである。
ガンマ処理部408は、画像ファイルIM1に対応する画像データに対して、パラメータ入力部430から入力されたパラメータ値PMa1、PMa3及びPMa6のそれぞれを用いて画像処理を施す(ステップS314)。この際、シャープネス処理部412、彩度処理部414及び色相処理部416には、デフォルトのパラメータ値が入力(設定)されており、ガンマ処理部408によって生成される処理結果には、これらの画像処理も反映されている。
ガンマ処理部408によって生成された3つの処理結果は、図9(a)に示すように、表示部60に表示される(ステップS316)。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され(ステップS318)、ここでは、パラメータ値PMa3に対応する処理結果が選択されたものとする。
なお、本実施形態では、ガンマ処理部408には、全てのパラメータ値(パラメータ値PMa1乃至PMa6)が入力されていない。そこで、ガンマ処理部408に入力するパラメータ値PMa1乃至PMa6を変更しながら、ステップS312乃至S318を繰り返し実行する。具体的には、パラメータ入力部430は、第1のパラメータ値432として、パラメータ値PMa1に代えてパラメータ値PMa2を、第3のパラメータ値436として、パラメータ値PMa5に代えてパラメータ値PMa4を入力する。なお、パラメータ入力部430は、第2のパラメータ値434として、ステップS318で選択された処理結果に対応するパラメータ値PMa3をガンマ処理部408に入力したままにする。
ガンマ処理部408は、画像ファイルIM1に対応する画像データに対して、パラメータ入力部430から入力されたパラメータ値PMa2、PMa3及びPMa4のそれぞれを用いて画像処理を施す。そして、ガンマ処理部408によって生成された3つの処理結果は、図9(b)に示すように、表示部60に表示される。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され、ここでは、パラメータ値PMa2に対応する処理結果が選択されたものとする。この場合、図9(c)に示すように、パラメータ値PMa2をガンマ処理部408に入力したまま、パラメータ値PMa2及びPMa4を変更して、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
このようにして、画像ファイルIM1に対するパラメータ値が最終的に選択されたら、画像ファイルIM2及びIM3に対して、処理結果の選択が実行されていないため(ステップS320のNO)、次の画像ファイルIM2を選択する(ステップS308)。そして、画像ファイルIM2に対応する画像データに対して、同様に、画像処理、処理結果の表示及び処理結果の選択を繰り返す(図9(d)及び(e)参照)。
「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3の全てに対して、処理結果の選択が実行されたら(ステップS320のYES)、ステップS318で選択されたパラメータ値の頻度を検出する(ステップS322)。そして、パラメータ値の頻度が最も高いパラメータ値を、ガンマ処理部408が「高色温度(昼光)」の撮像シーンで撮像された画像データに対して自動的に画像処理を施す際に用いるパラメータ値として決定する(ステップS324)。
そして、シャープネス処理部412、彩度処理部414及び色相処理部416が選択されていないため(ステップS326のNO)、次の画像処理部40としてシャープネス処理部412を選択する(ステップS308)。また、「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3から、画像ファイルIM1が選択されたものとする(ステップS310)。
シャープネス処理部412についても、ガンマ処理部408と同様に、ステップS310乃至S318を実行する。シャープネス処理部412に入力するパラメータ値としては、図10に示されるように、参照画素数M×N画素、閾値Th、ゲインGsが存在する。参照画素の範囲内(M×N画素)の平均値S(x)と処理の対象となる画素の画素値xとの差分値E(x)を求める。また、差分値E(x)から閾値Thを引くことで、シャープネス処理の大きさを制御する(周辺画素から大きく突出していない画素値にはシャープネス処理を強くかけない)。従って、差分値E(x)−閾値Thに対してゲインGsを掛けたものがシャープネス処理におけるエッジ成分Edgeとなる。シャープネス処理では、エッジ成分Edgeを画素値xに加算して画像データを出力する。
本実施形態では、シャープネス処理の強さに直接影響するゲインGsの数値をシャープネス調整用のパラメータ値とする。シャープネス処理部412には、パラメータ入力部440を介して、6つのパラメータ値PMb1、PMb2、PMb3、PMb4、PMb5及びPMb6が入力(設定)される(ステップS312)。なお、パラメータ値PMb1乃至PMb6は、互いに異なる数値であって、パラメータ値PMb1は最小の数値、パラメータ値PMb6は最大の数値、パラメータ値PMb2乃至PMb5のそれぞれは段階的に大きくなる数値である。
パラメータ入力部440は、第1のパラメータ値442としてパラメータ値PMb1を、第2のパラメータ値444としてパラメータ値PMb3を、第3のパラメータ値446としてパラメータ値PMb6をシャープネス処理部412に入力する。
シャープネス処理部412は、画像ファイルIM1に対応する画像データに対して、パラメータ入力部440から入力されたパラメータ値PMb1、PMb3及びPMb6のそれぞれを用いて画像処理を施す(ステップS314)。この際、ガンマ処理部408には、上述した処理で決定されたパラメータ値が入力(設定)されており、彩度処理部414及び色相処理部416には、デフォルトのパラメータ値が入力(設定)されている。従って、シャープネス処理部412によって生成される処理結果には、これらの画像処理も反映されている。
シャープネス処理部412によって生成された3つの処理結果は、表示部60に表示される(ステップS316)。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され(ステップS318)、ここでは、パラメータ値PMb3に対応する処理結果が選択されたものとする。
パラメータ入力部440は、第1のパラメータ値442として、パラメータ値PMb1に代えてパラメータ値PMb2を、第3のパラメータ値446として、パラメータ値PMb6に代えてパラメータ値PMb4を入力する。なお、パラメータ入力部440は、第2のパラメータ値444として、ステップS318で選択された処理結果に対応するパラメータ値PMb3をシャープネス処理部412に入力したままにする。
シャープネス処理部412は、画像ファイルIM1に対応する画像データに対して、パラメータ入力部440から入力されたパラメータ値PMb2、PMb3及びPMb4のそれぞれを用いて画像処理を施す。そして、シャープネス処理部412によって生成された3つの処理結果は、表示部60に表示される。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され、ここでは、パラメータ値PMb3に対応する処理結果が選択されたものとする。この場合、パラメータ値PMb3をシャープネス処理部412に入力したまま、パラメータ値PMb2及びPMb4を変更して、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
このようにして、画像ファイルIM1に対するパラメータ値が最終的に選択されたら、画像ファイルIM2及びIM3に対して、処理結果の選択が実行されていないため(ステップS320のNO)、次の画像ファイルIM2を選択する(ステップS308)。そして、画像ファイルIM2に対応する画像データに対して、同様に、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3の全てに対して、処理結果の選択が実行されたら(ステップS320のYES)、ステップS318で選択されたパラメータ値の頻度を検出する(ステップS322)。そして、パラメータ値の頻度が最も高いパラメータ値を、シャープネス処理部412が「高色温度(昼光)」の撮像シーンで撮像された画像データに対して自動的に画像処理を施す際に用いるパラメータ値として決定する(ステップS324)。
そして、彩度処理部414及び色相処理部416が選択されていないため(ステップS326のNO)、次の画像処理部40として彩度処理部414を選択する(ステップS308)。また、「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3から、画像ファイルIM1が選択されたものとする(ステップS310)。
彩度処理部414についても、ガンマ処理部408及びシャープネス処理部412と同様に、ステップS310乃至S318を実行する。彩度処理部414に入力するパラメータ値としては、例えば、色差データCr及びCbに掛けるゲインが存在する。
本実施形態では、色差データCr及びCbに掛けるゲインの数値を彩度調整用のパラメータ値とする。彩度処理部414には、パラメータ入力部450を介して、6つのパラメータ値PMc1、PMc2、PMc3、PMc4、PMc5及びPMc6が入力(設定)される(ステップS312)。なお、パラメータ値PMc1乃至PMc6は、互いに異なる数値であって、パラメータ値PMc1は最小の数値、パラメータ値PMc6は最大の数値、パラメータ値PMb2乃至PMb5のそれぞれは段階的に大きくなる数値である。
パラメータ入力部450は、第1のパラメータ値452としてパラメータ値PMc1を、第2のパラメータ値454としてパラメータ値PMc3を、第3のパラメータ値456としてパラメータ値PMc6を彩度処理部414に入力する。
彩度処理部414は、画像ファイルIM1に対応する画像データ(色差データ)に対して、パラメータ入力部450から入力されたパラメータ値PMc1、PMc3及びPMc6のそれぞれを用いて画像処理を施す(ステップS314)。この際、ガンマ処理部408及びシャープネス処理部412には、上述した処理で決定されたパラメータ値が入力(設定)されており、色相処理部416には、デフォルトのパラメータ値が入力(設定)されている。従って、彩度処理部414によって生成される処理結果には、これらの画像処理も反映されている。
彩度処理部414によって生成された3つの処理結果は、表示部60に表示される(ステップS316)。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され(ステップS318)、ここでは、パラメータ値PMc6に対応する処理結果が選択されたものとする。
パラメータ入力部450は、第1のパラメータ値452として、パラメータ値PMc1に代えてパラメータ値PMc2を、第2のパラメータ値454として、パラメータ値PMc3に代えてパラメータ値PMc4を入力する。なお、パラメータ入力部450は、第3のパラメータ値456として、ステップS318で選択された処理結果に対応するパラメータ値PMc6を彩度処理部414に入力したままにする。
彩度処理部414は、画像ファイルIM1に対応する画像データに対して、パラメータ入力部450から入力されたパラメータ値PMc2、PMc4及びPMc6のそれぞれを用いて画像処理を施す。そして、彩度処理部414によって生成された3つの処理結果は、表示部60に表示される。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され、ここでは、パラメータ値PMc4に対応する処理結果が選択されたものとする。この場合、パラメータ値PMc4は彩度処理部414に入力したまま、パラメータ値PMc2及びPMc6を変更して、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
このようにして、画像ファイルIM1に対するパラメータ値が最終的に選択されたら、画像ファイルIM2及びIM3に対して、処理結果の選択が実行されていないため(ステップS320のNO)、次の画像ファイルIM2を選択する(ステップS308)。そして、画像ファイルIM2に対応する画像データに対して、同様に、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3の全てに対して、処理結果の選択が実行されたら(ステップS320のYES)、ステップS318で選択されたパラメータ値の頻度を検出する(ステップS322)。そして、パラメータ値の頻度が最も高いパラメータ値を、彩度処理部414が「高色温度(昼光)」の撮像シーンで撮像された画像データに対して自動的に画像処理を施す際に用いるパラメータ値として決定する(ステップS324)。
そして、色相処理部416が選択されていないため(ステップS326のNO)、次の画像処理部40として色相処理部416を選択する(ステップS308)。また、「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3から、画像ファイルIM1が選択されたものとする(ステップS310)。
色相処理部416についても、ガンマ処理部408、シャープネス処理部412及び彩度処理部414と同様に、ステップS310乃至S318を実行する。色相処理部416には、パラメータ入力部460を介して、例えば、図11に示されるようなパラメータ値PMd1乃至PMd6が入力(設定)される(ステップS312)。パラメータ値PMd1乃至PMd6は、色相調整用のパラメータ値であって、互いに異なる特性を有する。色相処理部416は、色差データCr及びCbに対して、パラメータ値PMd1乃至PMd6のそれぞれを示す数式(図11参照)に従って、ゲインαx及びβxとオフセットAx及びBxを掛ける(但し、1≦x≦6)。
例えば、パラメータ入力部460は、第1のパラメータ値462としてパラメータ値PMd1を、第2のパラメータ値464としてパラメータ値PMd3を、第3のパラメータ値466としてパラメータ値PMd6を色相処理部416に入力する。
色相処理部416は、画像ファイルIM1に対応する画像データ(色差データ)に対して、パラメータ入力部460から入力されたパラメータ値PMd1、PMd3及びPMd6のそれぞれを用いて画像処理を施す(ステップS314)。この際、ガンマ処理部408、シャープネス処理部412及び彩度処理部414には、上述した処理で決定されたパラメータ値が入力(設定)されており、色相処理部416によって生成される処理結果には、これらの画像処理も反映されている。
色相処理部416によって生成された3つの処理結果は、表示部60に表示される(ステップS316)。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され(ステップS318)、ここでは、パラメータ値PMd1に対応する処理結果が選択されたものとする。
パラメータ入力部460は、第2のパラメータ値462として、パラメータ値PMd3に代えてパラメータ値PMd2を、第3のパラメータ値466として、パラメータ値PMd6に代えてパラメータ値PMd4を入力する。なお、パラメータ入力部460は、第1のパラメータ値462として、ステップS318で選択された処理結果に対応するパラメータ値PMd1を色相処理部416に入力したままにする。
色相処理部416は、画像ファイルIM1に対応する画像データ(色差データ)に対して、パラメータ入力部460から入力されたパラメータ値PMd1、PMd2及びPMd4のそれぞれを用いて画像処理を施す。そして、色相処理部416によって生成された3つの処理結果は、表示部60に表示される。表示部60に表示された3つの処理結果から、操作部70におけるユーザーの入力に応じて、1つの処理結果が選択され、ここでは、パラメータ値PMd2に対応する処理結果が選択されたものとする。この場合、パラメータ値PMd2を色相処理部416に入力したまま、パラメータ値PMd1及びPMd4を変更して、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
このようにして、画像ファイルIM1に対するパラメータ値が最終的に選択されたら、画像ファイルIM2及びIM3に対して、処理結果の選択が実行されていないため(ステップS320のNO)、次の画像ファイルIM2を選択する(ステップS308)。そして、画像ファイルIM2に対応する画像データに対して、同様に、画像処理、処理結果の表示及び処理結果の選択を繰り返す。
「高色温度(屋外昼光)」の撮像シーンに分類された画像ファイルIM1乃至IM3の全てに対して、処理結果の選択が実行されたら(ステップS320のYES)、ステップS318で選択されたパラメータ値の頻度を検出する(ステップS322)。そして、パラメータ値の頻度が最も高いパラメータ値を、色相処理部416が「高色温度(昼光)」の撮像シーンで撮像された画像データに対して自動的に画像処理を施す際に用いるパラメータ値として決定する(ステップS324)。
この時点で、ガンマ処理部407、シャープネス処理部412、彩度処理部414及び色相処理部416の全てが選択されている(ステップS326のYES)。但し、ステップS304で分類された撮像シーンの全てが選択されていないため(ステップS328のNO)、次の撮像シーンとして、例えば、「人物」の撮像シーンを選択し(ステップS306)、同様に、ステップS308以降を実行する。
そして、ステップS304で分類された撮像シーンの全てが選択されたら(ステップS328のYES)、撮像装置1が撮像する撮像シーンに応じて、画像処理部40のそれぞれに対して、ステップS324で決定したパラメータ値を設定する。かかるパラメータ値は、例えば、撮像シーン及び画像処理部40のそれぞれに対応したテーブルとして撮像装置1の制御部80のメモリなどに格納することが好ましい。これにより、決定されたパラメータ値によって画像処理が行われた画像データを次の撮影時に得ることが可能になる。
また、決定されたパラメータ値は、画像ファイル内の別領域に付与していおいてもよいし、各画像処理のパラメータ値を格納した別ファイルで作成し、画像ファイルと関連付けるようにしておいてもよい。これにより、よく使われる、即ち、頻度の高いパラメータ値のファイルを保存しておくことができるので、パラメータ値を管理するために確認したり、別の同シーンの画像などで再利用したりするといったことも可能になる。
また、画像処理装置40で行われる処理は、画像処理アプリケーションソフト(現像アプリケーションソフト)をインストールしたPCで行ってもよい。アプリケーションソフトで決定したパラメータ値をファイル化し、USB等の通信手段やメモリカード等を介して撮像装置1に設定するようにしてもよい。
なお、撮像シーンに応じて、パラメータ値を決定する画像処理部40やパラメータ値の種類が変わることは言うまでもない。例えば、「低色温度(夕景)」の撮像シーンなどの色温度で特徴づけられている撮像シーンなどでは、ホワイトバランス処理部404において、例えば、夕日の赤味の残り具合の色味を決定するパラメータ値を決定すればよい。また、パラメータ値を決定する画像処理部40の数や組み合わせも、撮像シーンに応じて適宜決めればよい。
ここで、上述の実施形態では選択されていないが、ホワイトバランス処理部404が選択された場合について説明する。
パラメータ入力部470からR、G、Bに対するWBゲインそのものをパラメータ値として入力してもよい。但し、ここでは、図15に示す入力部402から入力された画像データをオートホワイトバランス演算部1500で解析することによってパラメータ値を設定する方法について説明する。オートホワイトバランス演算部1500の詳細な処理は図16にて説明する。
入力された画像データは、白検出部1601において、隣接するR、G1、G2、Bより求めた2次元の色値(Cx、Cy)より、撮像された画像が白であるかどうかを判別する。
例えば、色値(Cx、Cy)は次式のようにして求める。
Cx=R/B
Cy=(R+B)/(G1+G2)
ここで、図17で表された黒体輻射軌跡1700に相当する(Cx、Cy)の曲線の周辺の楕円の範囲(白検出範囲1701)を白色であると判別する。そして、白と判定された画素の組み合わせを全画面に渡って、R、G1、G2、B毎に積分し、全積分値であるSumR、SumG1、SumG2、SumBを用いて、WB演算部1602において、ホワイトバランス制御値を求める。
WB_R = (SumG1+SumG2)/2 /R
WB_G1 = (SumG1+SumG2)/2 /G1
WB_G2 = (SumG1+SumG2)/2 /G2
WB_B = (SumG1+SumG2)/2 /B
最後に、求めたWB制御値に対して、色温度リミッター部1603において、ホワイトバランスの追従する色温度の範囲を制限する。これは、例えば、低色温度側のホワイトバランス制御において、「風景」の「低色温度(夕景)」シーンなどの夕日の赤みを残すために低色温度を完全にグレーにしないようにリミッター1703を設けたりすることである。また、高色温度側のホワイトバランス制御において、日陰や雪景色などの青味を少し残すようにリミッター1702を設けたりすることである。
そして、例えば、このリミッターの制御量をパラメータとして数種類設定し、それぞれのリミッター値によって出力されたホワイトバランス制御値によって画像処理が施される。その処理結果のうちの1つをユーザーによって選択すると、選択されたパラメータ値をホワイトバランス処理部に入力したまま、また他のパラメータ値を変更して画像処理と処理結果の表示を繰り返す。そして、選択された頻度が最も高いパラメータ値を自動的に画像処理を施す際に用いるパラメータ値として決定する。
また、例えば、ヘッダ部の撮像条件に格納されているISO感度を見て、ISO感度が高い画像、或いは、「夜景」モードで撮影された暗い画像の場合には、ノイズ除去処理を追加するようにしてもよい。
また、「風景」シーンで、ヘッダ部の撮像条件に格納されている撮影レンズの焦点位置が広角側で撮影された画像の場合には、歪曲補正処理を追加するようにしてもよい。
このように、ヘッダ部の撮像条件に応じて、自動的に選択することにより、ユーザーは撮像条件によって必要になる特殊な処理を意識せずに行うことが可能になる。
また、本実施形態では、図9に示したように、1つの画像ファイルに対して、パラメータ値を変更しながら複数の処理結果の一部を複数表示して、パラメータ値を追い込みながら決定している。但し、図12に示すように、1つの画像ファイルに対して、複数の処理結果の全てを一括して表示して、1回の処理結果の選択でパラメータ値を決定してもよい。
また、本実施形態では、ステップS308において、ガンマ処理部407、シャープネス処理部412、彩度処理部414及び色相処理部416のそれぞれを選択しているが、任意の画像処理部40内の処理を自動で選択するようにしてもよい。即ち、撮像シーンに応じて行う画像処理部40の処理内容が自動的に選択されるようにしてもよい。例えば、撮像シーンが「人物」の場合は、彩度処理と色相処理が自動的に選択される。「風景」で「低色温度(夕景)」の場合は、必ずホワイトバランス処理404が選択される。
また、本実施形態では、ガンマ処理部407、シャープネス処理部412、彩度処理部414及び色相処理部416についての処理を分けて実行したが、それぞれの処理を一括して(即ち、どのパラメータ値が変化しているのか分からないように)実行してもよい。
なお、分類された撮像シーンに1つの画像ファイルしか含まれていない場合には、かかる1つの画像ファイルに対して選択された処理結果に対応するパラメータ値を画像処理部40が自動的に画像処理を施す際のパラメータ値とすればよい。
このように、本実施形態の撮像装置1によれば、画像処理に用いられ、所望の画質を得るためのパラメータ値を容易に決定することができる。また、本実施形態の撮像装置1では、撮像シーンに含まれる画像ファイルが増加するにつれて、所望の画質を得る確度が高くなる。
本発明の目的は、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム又は装置に供給しても達成することができる。従って、かかるシステム又は装置のコンピュータ(CPUやMPU)が記録媒体に記録されたプログラムコードを読み出して実行することによっても達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、かかるプログラムコードを記録した記録媒体は本発明を構成することになる。プログラムコードを記録(供給)するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性の半導体メモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することによって、上述した実施形態の機能が実現される場合もある。但し、プログラムコードの指示に基づいて、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、かかる処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる場合もある。従って、プログラムコードの指示に基づいて、機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、かかる処理によって上述した実施形態の機能が実現される場合も含まれることは言うまでもない。
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されないことはいうまでもなく、その要旨の範囲内で種々の変形及び変更が可能である。