以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るパラメータ値生成装置の構成を示すブロック図である。なお、本発明の実施の形態に係るパラメータ値生成装置には、画像特徴量読取装置の一実施の形態が含まれる。また、実施の形態に係るパラメータ値生成装置および画像特徴量読取装置は、例えばパーソナルコンピュータにプログラムやデータをインストールすることで実現可能である。
図1において、CPU1は、プログラムを実行し、プログラムに記述された処理を実行する演算処理装置である。また、ROM2は、プログラムおよびデータを予め記憶した不揮発性のメモリである。また、RAM3は、プログラムを実行する際にそのプログラムおよびデータを一時的に記憶するメモリである。
また、インタフェース4は、データ格納装置11を接続可能なインタフェース回路である。インタフェース5は、キーボード、マウスなどといった入力装置12を接続可能なインタフェース回路である。なお、インタフェース4としては、SCSI(Small Computer System Interface )、IDE(Integrated Device Electronics )互換のもの、IEEE1394、USB(Universal Serial Bus)などといったインタフェースが使用される。インタフェース5としては、PS/2インタフェース、USBなどといったインタフェースが使用される。
また、画像処理回路6は、画像データを書き込まれると、そのデータに対応する画像信号を出力する回路である。この画像処理回路6には、その画像信号に基づいて画像を表示する表示装置13が接続可能である。
バス7は、CPU1、ROM2、RAM3、インタフェース4,5および画像処理回路6を相互に接続する信号路である。バス7としては、PCI(Peripheral Component Interconnect )などといった規格のバスが使用される。なお、バス7の本数、およびCPU1などのバス7への接続形態は、図1のものに限定されるものではない。
また、データ格納装置11は、プログラムおよびデータを格納可能な装置である。このように装置としては、半導体メモリ、ハードディスク駆動装置、ディスクアレイ装置などが使用される。この実施の形態では、データ格納装置11には、色情報取得プログラム21、パラメータ値生成プログラム22およびパラメータ値適用プログラム23が格納される。
なお、これらのプログラム21〜23は、それぞれ、独立した1つの実行形式のプログラムファイルとしてもよいし、アドビ社のPhotoShop(商標)などといった既存の画像編集プログラムと連携するプラグインファイルとしてもよい。また、プログラム21〜23は、それぞれ、1つのファイルではなく、複数のファイルとしてもよい。その場合、ライブラリファイルなどを別途用意するようにしてもよい。また、プログラム21〜23を、同様の機能を有する1つまたは2つのプログラムとしてもよい。
このうち、色情報取得プログラム21がCPU1により実行されることで、画像特徴量読取装置の一実施の形態が実現され、パラメータ値生成プログラム22がCPU1により実行されることで、パラメータ値生成装置の各種機能が実現される。
また、CPU1により色情報取得プログラム21が実行されることで、パラメータ値に応じた画像補正処理を実行する画像補正処理手段、理想パッチデータと画像補正処理後の撮影パッチデータとの差分を計算する差分計算手段、ユーザ操作に基づいてパラメータの値を変更する変更手段、対象機器用のパラメータ値をデータ格納装置11に格納する保存手段、および理想パッチデータと画像補正処理後の撮影パッチデータとの差分が最小となる場合のパラメータの値を探索する探索手段が実現される。
また、CPU1により色情報取得プログラム21が実行されることで、所定の表示装置の表示領域において、パッチの色配列における各色に対応する位置に、その色についての差分の値を表示させる第1の表示制御手段、およびその表示領域においてパラメータの値を表示させる第2の表示制御手段が実現される。
また、CPU1によりパラメータ値生成プログラム22が実行されることで、対象画像を所定の表示装置の表示領域に表示させる第3の表示制御手段、複数の領域を指定する読取領域指定枠画像を、サイズおよび形状を自在変化させてかつ対象画像に重畳させて表示領域に表示させる第4の表示制御手段、並びに読取領域指定枠における各領域内の画像の画像データに基づいて、各領域についての所定の種類の画像特徴量をそれぞれ計算する画像特徴量計算手段が実現される。
次に、上記装置の動作について説明する。図2は、本発明の実施の形態に係るパラメータ値生成装置を使用したパラメータ値生成について説明するフローチャートである。
まず、ユーザは、所定の色配列を有するパッチを撮影して得られた画像データに対して所望の色が得られるように補正した理想パッチ画像データ24を作成する(ステップS1)。理想パッチ画像データ24は、所望の色表現が得られる撮影装置でパッチを撮影して得られた画像データ、あるいはその画像データを画像編集プログラムなどで編集して色表現を最適とした画像データとされる。
次に、ユーザは、同一のパッチを撮影して撮影パッチ画像データ25を作成する(ステップS2)。撮影パッチ画像データ25は、パラメータ値を実装する対象となる撮影装置(すなわち対象機器)でパッチを撮影して得られた画像データとされる。
これらの理想パッチ画像データ24および撮影パッチ画像データ25は、JPEGファイルなどとしてデータ格納装置11に格納される。
図3は、パラメータ値生成に使用されるパッチの一例を示す図である。図3に示すパッチ31は、フィルム状または板状の形状を有し、表面に、10行10列の色配列を有する。図3においては、色配列の1つの要素32、つまり1つの色を、正方形で表しているが、実際にはその領域が1色でベタ塗りされる。この色配列は、無彩色と有彩色を含む。パッチ31の縁となる要素32の色は、無彩色とされ、(A,1)および(J,10)から(A,10)および(J,1)へ向かって白色から黒色に段々と変化していく。また、その内側の9行9列の要素32は、それぞれ異なる有彩色とされる。
次に、理想パッチ画像データ24および撮影パッチ画像データ25における色配列の各要素の色情報が抽出される(ステップS3,S4)。その際、色情報取得プログラム21がCPU1により実行される。これにより、CPU1は、画像処理回路6を制御して表示装置13に色情報取得ウィンドウを表示させる。図4〜図8は、色情報取得プログラム21の色情報取得ウィンドウ41の例を示す図である。
そして、色情報取得プログラム21の実行開始後に、理想パッチ画像データ24または撮影パッチ画像データ25のファイルが指定されると、図4に示すように、そのファイルに含まれる画像データに基づくパッチ画像31aが、ウィンドウ41の表示領域41aに表示される。このとき、CPU1は、データ格納装置11のデータ24,25に基づく表示用データを画像処理回路6に供給する。以下同様にして、CPU1は、表示装置13における表示内容を制御する際には、表示用データを画像処理回路6に供給して、文字、画像などを表示装置13に表示させる。
次に、ユーザがマウスの右ボタンを押下するといった所定の第1の操作が検出されると、CPU1は、プログラム21に従って、その時点のカーソル位置が左上角となるように読取領域指定枠画像42をパッチ画像31aに重畳して表示させ、その後のドラッグ操作を検出すると、図5および図6に示すようにドラッグ方向およびドラッグ量に応じてサイズおよび形状を変更して読取領域指定枠画像42を表示させる。なお、図5および図6においては、読取領域指定枠画像42を明確に示すため、パッチ画像31aは省略している。
この実施の形態においては、読取領域指定枠画像42は、上述のパッチに対応して、10行10列の合計100の領域を指定するための格子状の画像とされる。これにより、画像42の各領域は透明なため、その各領域には背後のパッチ画像31aが表示される。
そして、読取領域指定枠画像42の各領域にパッチ画像31aの各色が入るようにドラッグをすると、図7に示す表示状態となる。読取領域指定枠画像42の各領域にパッチ画像31aにおける各色の画像が入った状態で、GUIボタンのうちの「色測定」ボタン41bが、入力装置12に対するユーザの操作で押下されたことを検出すると、CPU1は、プログラム21に従って、図8に示すように、各領域の番号42a、および各領域内の測定領域を指定する領域指定画像42bを重畳して表示させ、各測定領域内の画像データに基づいてその測定領域におけるRGB各値の平均値を計算する。なお、図8においては、1から100までの領域番号42aが割り当てられ、測定指定画像42bとして、その各領域の中心を中心とする、領域の短辺の2分の1程度の直径の円が表示される。ただし、測定指定画像42bの形状は、円に限らず、四角形でもよい。
このとき、CPU1は、各領域について、測定領域内の画像データを、理想パッチ画像データ24または撮影パッチ画像データ25から取得し、画像特徴量としてR値の平均値、G値の平均値およびB値の平均値を計算する。
その後、GUIボタンのうちの「測定結果表示」ボタン41cが、入力装置12に対するユーザの操作で押下されたことを検出すると、CPU1は、プログラム21に従って、測定結果ウィンドウを表示装置13に表示させる。図9は、本実施の形態における測定結果ウィンドウの一例を示す図である。CPU1は、そのウィンドウ51内に測定結果などを表示させる。
また、GUIボタンのうちの「測定結果保存」ボタン41dが、入力装置12に対するユーザの操作で押下されたことを検出すると、CPU1は、プログラム21に従って、その測定結果である撮影色情報をデータファイルとしてデータ格納装置11に格納する。
以下、この実施の形態では、理想パッチ画像データの撮影色情報を理想パッチデータと呼び、撮影パッチ画像データの撮影色情報を撮影パッチデータと呼ぶ。つまり、上述の測定結果は、理想パッチデータ26および撮影パッチデータ27としてデータ格納装置11に格納される。
なお、図8における「パッチ削除」ボタン41eは、読取領域指定枠画像42を削除するためのGUIボタンであり、「パッチ保存」ボタン41fは、その時点の読取領域指定枠画像42の位置とサイズの情報をデータファイルとして記録するためのGUIボタンであり、「パッチ読込」ボタン41fは、過去の記録された読取領域指定枠画像42の位置とサイズの情報をデータファイルから読み込むためのGUIボタンである。
上述の処理を理想パッチ画像データ24および撮影パッチ画像データ25に対して合計2回行うことで、理想パッチ画像データの撮影色情報と撮影パッチ画像データの撮影色情報とが取得される。
このようにして、理想パッチ画像データ24および撮影パッチ画像データ25における色配列の各要素の色情報が抽出され、理想パッチデータ26および撮影パッチデータ27としてデータ格納装置11に格納される(ステップS3,S4)。
次に、上述のようにして得られた理想パッチデータ26および撮影パッチデータ27、並びにサンプル画像データ28に基づいて、画像補正パラメータの値が決定される(ステップS5)。その際、パラメータ値生成プログラム22がCPU1により実行される。これにより、CPU1は、画像処理回路6を制御して表示装置13にパラメータ値生成ウィンドウを表示させる。図10は、パラメータ値生成ウィンドウの例を示す図である。図10に示すパラメータ値生成ウィンドウ61では、本出願が提供しているPIM(PRINT Image Matching)用のパラメータが生成される。PIMには、印刷、表示などの画像出力時に実行される各種の画像補正処理に対応する複数のパラメータがあり、そのパラメータの値に応じて、対象画像データに対する補正処理を変更する。さらに、PIMでは、対象画像データ内の全画素の色に基づくその対象画像データの色傾向および前述のパラメータ値によって、対象画像データに対する補正量が決定される。
ユーザの入力装置12に対する操作に応じて、図10に示すように、参照ボタン61c,61dを押下することにより、ファイル選択用のウィンドウを開き、ファイルリストから所望のファイルがそれぞれ選択され、理想パッチデータ用のフィールド61aに理想パッチデータ26のファイル名が表示され、撮影パッチデータ用のフィールド61bに撮影パッチデータ27のファイル名が表示される。これらのファイルには、ステップS1,S2で生成されたデータファイルが使用される。図10では、「理想パッチデータ」なる名称のファイルと「撮影パッチデータ」なる名称のファイルが選択されている。
さらに、サンプル画像データ用のフィールド61eにサンプル画像データ28のファイル名が入力される。このとき、ボタン61fを押下して、ファイル選択用のウィンドウを開き、ファイルリストから所望のファイルを選ぶことも可能である。図10では、「C:¥Sample.jpg」なるサンプル画像データ28が選択されている。なお、サンプル画像データ28は、JPEG形式、TIFF形式などのデータとされる。サンプル画像データ28からは、所定の色空間における各座標についての全画素での値の分布やヒストグラムが取得され、画像補正時の補正量を決定する際に使用される。
そして、ユーザの入力装置12に対する操作に応じて、APFモードがプルダウンメニュー61gから選択される。プルダウンメニュー61gには、「補正なし」、「標準」、「人物」、「風景」、「夕景」、「夜景」、「花」、「マクロ」、「スポーツ」、「逆光」、「紅葉」、「記念撮影」、「銀塩調」、「カスタム」などの項目がある。「補正なし」および「カスタム」以外の項目が選択されると、その被写体または撮影状況に適した既定のパラメータ値が選択される。なお、APFモードとは、自動画像補正処理のモードを意味する。
一方、「補正なし」が選択されると、画像出力時に画像補正処理を行わないことを指定するパラメータ値が選択される。また、「カスタム」が選択されると、CPU1は、プログラム22に従って、ウィンドウ61の領域63(「APFカスタム」の部分)を、グレーアウトから復帰させ入力可能な状態に変化させる。この状態になると、ユーザが、入力装置12を操作して、ユーザの好みに応じて、領域63に表示されているパラメータの値を調整することができる。
図10における「パラメータ生成」ボタン61hが押下された場合には、CPU1は、自動的に、APFモードを「カスタム」に変更し、各パラメータの最適な値を計算し、表示させる。このとき、フィールド61a,61bで指定された名称の理想パッチデータ26および撮影パッチデータ27、並びにフィールド61eで指定されたサンプル画像データ28に基づいて、所定のパラメータのそれぞれの最適な値が計算され、領域63に表示される。
この実施の形態では、「カスタム」が選択されると、ウィンドウ61の領域63に表示された特定パラメータの値のみが決定される。図10では、コントラスト調整のパラメータ(図中の「APFコントラスト」)、明るさ調整のパラメータ(図中の「APF明るさ」)、RGBカラーバランス調整のパラメータ(図中の「APFRGBカラーバランス」)、彩度調整のパラメータ(図中の「APF彩度」)、および既定の特定色(ここでは、緑色と空色と肌色)の調整のパラメータ(図中の「APF記憶色補正」)が特定パラメータとされる。そして、これらの特定パラメータの値は、6つの値のいずれかの値とされる。なお、既定の特定色は、撮影画像内に存在することが多い色であって、それらの色については特別な画像処理が行われる。例えば肌色の場合には、赤みを増すなどといった画像処理が行われる。
そして、領域63において、特定パラメータごとに表示されるスライドバー63aおよびフィールド63bに、特定パラメータの値が表示される。例えば図10においては、APFコントラストのパラメータ値は0である。また、ユーザの操作に基づいて、スライドバー63aの指示が変更されると、そのスライドバー63aの指示に応じた値にパラメータ値が変更される。同様に、フィールド63bに0から5までのいずれかの整数を入力すると、その入力された数値にパラメータ値が変更される。なお、領域63内の特定パラメータのうち不要なものついては、チェックボックス63cのチェックをはずせばよい。チェックボックス63cのチェックがないものについては、パラメータ値は生成されない。
スライドバー63aまたはフィールド63bに対するユーザの操作によりパラメータ値が調整された後に、「パラメータ生成」ボタン61hが押下されると、再度、各パラメータの最適な値が計算され表示される。
さらに、このとき、CPU1は、プログラム22に従って、その時点でのパラメータ値およびサンプル画像データ28に基づいて、各パラメータに対応する画像補正処理の補正量を計算し、各パラメータについてその補正量の画像補正処理を撮影パッチデータ27に施す。そして、CPU1は、プログラム22に従って、理想パッチデータ26における各色と、補正後の撮影パッチデータにおける各色との差分の値を、パッチの色配列と同一態様の配列62(ここでは10行10列の行列)として表示させる。ここで表示される差分値は、R値の差分値、G値の差分値およびB値の差分値の平均値とされる。
さらに、CPU1は、その配列の各要素のマスを、差分の値に応じた色で表示させる。この実施の形態では、差分値Δが−5.0以上5.0以下である場合には、マスの色(つまり差分値の表示の背景色)は白色とされ、差分値Δが5.0より大きく10.0以下である場合には、マスの色は薄いピンクとされ、差分値Δが10.0より大きい場合には、マスの色は濃いピンクとされ、差分値Δが−10.0以上で−5.0より小さい場合には、マスの色は薄い水色とされ、差分値Δが−10.0より小さい場合には、マスの色は濃い水色とされる。そして、これらの配色の凡例62aが配列62の周辺に表示される。
また、スライドバー63aまたはフィールド63bへのユーザ操作が発生したり、「パラメータ生成」ボタン61hが押下されたりしてプログラム22に従ってパラメータ値を変更した場合、CPU1は、直ちに、変更後のパラメータ値に対応する差分値を計算し、配列62およびその背景色の表示を更新させる。
したがって、ユーザは、配列62の表示で差分値の程度を確認しながら、パラメータ値を調整することができる。
そして、ウィンドウ61におけるGUIボタンのうちの「パラメータ保存」ボタン61iが押下されると、CPU1は、プログラム22に従って、その時点での各パラメータの値を、パラメータデータ29としてデータ格納装置11に格納する。パラメータデータ29は、所定の書式のデータファイルとされる。
ここで、APFモードが「カスタム」とされた場合の最適なパラメータ値の計算について説明する。図11は、この実施の形態における最適なパラメータ値の計算について説明するフローチャートである。
APFモードが「カスタム」とされると、CPU1は、プログラム22に従って、以下の処理を実行する。
まず、CPU1は、RGBカラーバランスパラメータ設定範囲(0,1,2,3,4,5)の各値で、撮影パッチデータ27に対してエンハンス処理を行う(ステップS11)。このとき10行10列分の撮影パッチデータ27は、予め100ピクセル1ラインの画像データとされ、この1ラインの画像データに対してエンハンス処理が行われる(他のパラメータについても同様)。つまり、このとき、RGBカラーバランスパラメータ設定範囲の各値で指定される複数通りの補正方式およびサンプル画像データ28の内容に基づいてRGBカラーバランスの調整量がそれぞれ決定され、それぞれの調整量に基づいて撮影パッチデータ27に対する画像補正処理が行われる。そして、CPU1は、理想パッチデータ26と補正後の撮影パッチデータとの差分値が最も小さい場合のパラメータ値を、RGBカラーバランスパラメータの最適値とする(ステップS12)。このときの差分値は、色配列の全要素についての差分値の平均とされる。各要素の差分値は、Rの差分値とGの差分値とBの差分値の平均とされる(他のパラメータについても同様)。なお、各要素の差分値は、Rの差分値とGの差分値とBの差分値の合計としてもよい。また、配列全体の差分値は、各要素の差分値の合計としてもよい(他のパラメータについても同様)。
次に、CPU1は、明度パラメータ設定範囲(0,1,2,3,4,5)の各値で、撮影パッチデータ27に対してエンハンス処理を行う(ステップS13)。つまり、このとき、明度パラメータ設定範囲の各値で指定される複数通りの補正方式およびサンプル画像データ28の内容に基づいて明度の調整量がそれぞれ決定され、それぞれの調整量に基づいて撮影パッチデータ27に対する画像補正処理が行われる。そして、CPU1は、理想パッチデータ26と補正後の撮影パッチデータとの差分値が最も小さい場合のパラメータ値を、明度パラメータの最適値とする(ステップS14)。
次に、CPU1は、コントラストパラメータ設定範囲(0,1,2,3,4,5)の各値で、撮影パッチデータ27に対してエンハンス処理を行う(ステップS15)。つまり、このとき、コントラストパラメータ設定範囲の各値で指定される複数通りの補正方式およびサンプル画像データの内容に基づいてコントラストの調整量がそれぞれ決定され、それぞれの調整量に基づいて撮影パッチデータ27に対する画像補正処理が行われる。そして、CPU1は、理想パッチデータ26と補正後の撮影パッチデータとの差分値が最も小さい場合のパラメータ値を、コントラストパラメータの最適値とする(ステップS16)。
次に、CPU1は、彩度パラメータ設定範囲(0,1,2,3,4,5)の各値で、撮影パッチデータ27に対してエンハンス処理を行う(ステップS17)。つまり、このとき、彩度パラメータ設定範囲の各値で指定される複数通りの補正方式およびサンプル画像データ28の内容に基づいて彩度の調整量がそれぞれ決定され、それぞれの調整量に基づいて撮影パッチデータ27に対する画像補正処理が行われる。そして、CPU1は、理想パッチデータ26と補正後の撮影パッチデータとの差分値が最も小さい場合のパラメータ値を、彩度パラメータの最適値とする(ステップS18)。
次に、CPU1は、複数の記憶色パラメータのそれぞれの設定範囲(0,1,2,3,4,5)の各組合せで、撮影パッチデータ27に対してエンハンス処理を行う(ステップS18)。本実施の形態では、記憶色は緑色、空色および肌色の3色とされているので、組合せ数は、216(=6×6×6)になる。これらの各色のパラメータ設定範囲の各値で指定される216通りの補正方式およびサンプル画像データ27の内容に基づいて3つの記憶色についての調整量の組合せがそれぞれ決定され、それぞれの調整量の組合せに基づいて撮影パッチデータ27に対する画像補正処理が行われる。そして、CPU1は、理想パッチデータ26と補正後の撮影パッチデータとの差分値が最も小さい場合のパラメータ値の組合せを、記憶色パラメータ値の最適な組合せとする(ステップS20)。
このようにして、ウィンドウ61における領域63に表示されているパラメータの最適値が計算される。なお、ここでは、各エンハンス処理は、それぞれ独立に行っているが、前段のエンハンス処理による補正後の撮影パッチデータに対してエンハンス処理を行うようにしてもよい。
ウィンドウ61における領域63に表示されているパラメータの値は、以上のように、APFモードに応じて適宜決定される。
他方、設定に比較的知識を要するその他の詳細なパラメータの値についてもプログラム22に従って決定可能である。入力装置12に対するユーザの操作により、図10におけるGUIボタンのうちの「詳細設定」61jが押下されると、CPU1は、プログラム22に従って、詳細設定ウィンドウを表示装置13に表示させる。図12および図13は、本実施の形態における詳細設定ウィンドウの例を示す図である。
図12および図13に示すように、詳細設定ウィンドウ71には、理想画像、撮影画像、トーンカーブ、およびHSBのタブが表示される。理想画像タブには、理想画像データ、理想画像データと撮影画像データとの差分などが表示される。撮影画像タブには、撮影画像データなどが表示される。
そして、図12に示すように、トーンカーブタブ72には、トーンカーブのグラフ72a、明るさに沿った差分値を示す差分グラフ72bが表示される。さらに、理想パッチデータ26とこのトーンカーブ適用後の撮影パッチデータとの差分値のテーブル72cに表示される。差分グラフ72bには、テーブル72cにおけるRGB各色の差分値に基づく曲線が表示される。
また、トーンカーブタブ72には、トーンカーブの制御点の位置を示すフィールド72d、および各制御点での補正量を示すフィールド72eが表示される。デフォルトでは、制御点は、256階調の場合、図12に示す値に位置する。X軸が補正前の値を示し、Y軸が補正後の値を示す。
いずれかの制御点に対して、フィールド72d,72eにおけるX軸の位置または補正量が編集されると、それに応じて、CPU1は、プログラム22に従って、トーンカーブを変化させ、変化後のトーンカーブを撮影パッチデータに適用し、適用後の撮影パッチデータに基づいて、テーブル72cにおける差分値および差分グラフ72bを変化させる。
このようにしてトーンカーブタブ72に表示されたトーンカーブに基づくパラメータ値は、「パラメータデータ作成」ボタン81が押下されると、パラメータデータ29としてデータ格納装置11に格納される。この実施の形態では、このパラメータ値として、制御点の位置情報が格納される。
なお、トーンカーブタブ72におけるGUIボタンのうち、「補正値の保存」ボタン72fが押下されると、すべて制御点の位置および補正量のデータがデータファイルとしてデータ格納装置11に格納される。また、「補正値の読込」ボタン72gが押下されると、所望のデータファイルから、制御点の位置および補正量のデータが読み込まれ、フィールド72d,72eに設定される。また、「Δ値の保存」ボタン72hが押下されると、テーブル72cにおける差分値がデータファイルとしてデータ格納装置11に格納される。「指定チャンネルをリセット」ボタン72iが押下されると、R、G、B、およびRGB全色(4種類の条件)のうちの指定した色についてのトーンカーブがリセットされる。「全てのチャンネルをリセット」ボタン72jが押下されると、R、G、B、およびRGB全色の各条件でのトーンカーブがリセットされる。
また、ウィンドウ71において、「ローパスフィルタ適用」ボタン72kが押下されると、トーンカーブの補正値に対してローパスフィルタが適用される。つまり、「ローパスフィルタ適用」ボタン72kが押下されると、トーンカーブがリニアに近づけられる。
このとき、例えば、ローパスフィルタ適用前の各制御点での入力値および出力値をXおよびYとし、ローパスフィルタ適用後の各制御点での入力値および出力値をX1およびY1とすると、次式に基づいて制御点の位置が変更されてトーンカーブが変更される。
Y1=X+{(Y−X)/2},X1=X
ただし、小数点以下は切り捨てる。
一方、図13に示すように、HSBタブ73には、このパラメータセットの名称を示すフィールド73a、および予め設定されている各色域についてのHSBの各座標上での差分値のテーブル73bが表示される。また、HSBタブ73における領域73cには、対象色域を選択するためのプルダウンメニュー73c1、その色域についての色相、彩度および明度の各補正量が入力されるフィールド73c2が表示される。対象色域は、プルダウンメニュー73c1において、予め設定されている色域の中から選択される。
そして、色相、彩度および明度のいずれかのフィールド73c2における補正量の値が編集されると、CPU1は、プログラム22に従って、その編集後の補正量に応じて撮影パッチデータを補正し、補正後の撮影パッチデータに基づいて、テーブル73bにおける対象色域の差分値を更新する。
このようにしてHSBタブ73に表示されたHSB補正処理についてのパラメータ値は、「パラメータデータ作成」ボタン81が押下されると、パラメータデータ29としてデータ格納装置11に格納される。この実施の形態では、このパラメータ値として、対象色域の形状を定める制御点の値とその対象色域でのHSBの各補正量が格納される。
なお、HSBタブ73におけるGUIボタンのうち、「対象色域の設定」ボタン73dが押下されると、対象色域設定ウィンドウが表示され、色域を編集することができる。図14は、本実施の形態における対象色域設定ウィンドウの一例を示す図である。図14に示す対象色域設定ウィンドウ91では、色相、彩度および明度の各座標についての4つの制御点(開始点,ピーク開始点,ピーク終了点,終了点)により、色域の形状が特定される。ピーク開始点からピーク終了点までの範囲は、補正量がそのまま適用される範囲である。開始点からピーク開始点までの範囲は、補正量が徐々に増加していく緩衝範囲であり、ピーク終了点から終了点までの範囲は、補正量が徐々に減少していく緩衝範囲である。なお、開始点から終了点までの補正量は連続となり、緩衝範囲ではリニアに補正量が増加または減少する。
対象色域設定ウィンドウ91には、設定される対象色域を選択するためのプルダウンメニュー91a、選択された対象色域の形状を定める制御点情報91b、色相に関する制御点の位置を設定するための4つのフィールド91c、彩度に関する制御点の位置を設定するための4つのフィールド91d、および明度に関する制御点の位置を設定するための4つのフィールド91eが表示される。さらに、ウィンドウ91には、色相−彩度平面のカラー画像91f、および明度の尺度となる白から黒までのグラデーションバー91gが表示される。また、カラー画像91fに重畳させて、色相および彩度のフィールド91c,91dにおける値に対応する位置に配置されたライン91f1,91f2が表示される。また、明度のフィールド91eにおける値に対応する位置に4つのドットを表示したグラフ91hが表示される。
したがって、フィールド91cにおけるいずれかの値が編集されると、ライン91f1の位置、および制御点情報91bの対応箇所の値が変化する。同様に、フィールド91dにおけるいずれかの値が編集されると、ライン91f2の位置、および制御点情報91bの対応箇所の値が変化する。また、フィールド91eにおけるいずれかの値が編集されると、グラフ91hのドットの位置、および制御点情報91bの対応箇所の値が変化する。
このようにして、対象色域の形状が設定される。なお、この対象色域の形状のデータは、データファイルとしてデータ格納装置11に格納され、必要に応じて適宜読み出される。ウィンドウ91における「保存」ボタン101が押下されると、その時点でのすべての対象色域の形状データがデータファイルとしてデータ格納装置11に格納される。
図13に戻り、「補正値の保存」ボタン73eが押下されると、その時点の色相、彩度および明度の補正量のデータがデータファイルとしてデータ格納装置11に格納される。また、「Δ値の保存」ボタン73fが押下されると、テーブル73bにおける差分値がデータファイルとしてデータ格納装置11に格納される。また、「リセット」ボタン73gが押下されると、色相、彩度および明度の補正量がゼロにリセットされる。
このようにして、画像補正パラメータの値が決定される(ステップS5)。なお、ここまでの処理で、画像補正パラメータの値を含むパラメータデータ29がデータファイルとして既に格納されているため、ここで処理を終了してもよい。
次に、ステップS5で生成された画像補正パラメータの値に基づく画像補正の効果を確認するために、画像補正パラメータの値を所望の画像データに適用する場合の処理(ステップS6)について説明する。
この場合、パラメータ値適用プログラム23がCPU1により実行される。これにより、CPU1は、画像処理回路6を制御して表示装置13にパラメータ値適用ウィンドウを表示させる。そして、CPU1は、プログラム23に従って、ステップS5で生成されたPIM用のパラメータ値を含むパラメータデータ29のファイルからパラメータ値を読み込み、ユーザの操作により選択された画像データファイル内の画像データに対して、そのパラメータ値およびその画像データに応じた画像処理を施す。
図15は、パラメータ値適用ウィンドウ111の例を示す図である。図15に示すパラメータ値適用ウィンドウ111には、ユーザ所望の画像データファイルを選択するためのファイル選択部101a、および画像データファイルによる画像をプレビューするためのプレビューウィンドウ101bが表示される。
さらに、ウィンドウ111には、画像補正パラメータの種類を選択するための画像補正選択部101c、使用するPIMパラメータのデータファイルを読み込むための「読み込み」ボタン111d、読み込んだPIMパラメータをリセットし消去するための「リセット」ボタン111e、およびPIMパラメータによる画像補正時に色域をクリッピングするか否かを指定するチェックボックス111fが表示される。
そして、入力装置12に対するユーザ操作に基づき「読み込み」ボタン111dが押下されると、CPU1は、ファイル選択ウィンドウを表示装置13に表示させ、さらにユーザの操作により選択されたデータファイルからPIM用のパラメータ値を読み込む。なお、「読み込み」ボタン111dが押下されたときに、ユーザによる選択なしで、既定のファイル名のデータファイルからPIM用のパラメータ値を読み込むようにしてもよい。
CPU1は、パラメータ値を読み込むと、パラメータ表示ウィンドウを表示装置13に表示させる。パラメータ表示ウィンドウには、パラメータ、およびそのパラメータについて読み込まれた値が表示される。
図16および図17は、パラメータ表示ウィンドウ121の一例を示す図である。このパラメータ表示ウィンドウ121は、PIMパラメータのためのPIMタブ131およびPIM3タブ132、並びにExifPrintパラメータのためのExifタグを有する。PIM用パラメータの値が読み込まれた場合、それらの値は、PIMタブ131およびPIM3タブ132に表示される。なお、画像補正に使用されないパラメータは、PIMタブ131およびPIM3タブ132には表示されないか、背景と同系色で目立たないように表示される。
図10における領域63で設定されたパラメータ値は、タブ131の領域131aに表示され、図10における「詳細設定」ボタン61j押下後に設定されたパラメータ値は、別のタブ132の領域132a,132bに表示される。領域132aには、トーンカーブの制御点の位置が表示され、領域132bには、HSB座標系における各色域の形状データとその色域に対する補正量が表示される。
また、タブ131には「編集」ボタン131bが表示され、「編集」ボタン131cが押下されると、タブ131内に表示されているパラメータの値が編集可能となる。同様に、タブ132には「編集」ボタン132cが表示され、「編集」ボタン132cが押下されると、タブ132内に表示されているパラメータの値が編集可能となる。
このようにしてパラメータ値が読み込まれた後に、図15に示すファイル選択部101aでユーザ操作に基づきTIFF形式、JPEG形式などの所望の画像データファイルが選択されると、CPU1は、プログラム23に従って、その画像データファイル内の画像データからの所定の色空間における各座標についての全画素での値の分布やヒストグラムを取得し、その情報と読み込んだパラメータ値に基づいて各画像補正処理の補正量を決定する。そして、CPU1は、プログラム23に従って、決定した補正量で各画像補正処理を、選択された画像データに施し、画像補正後の画像データに基づく画像を別のウィンドウで表示させる。
このようにして、ステップS5で生成された画像補正パラメータの値に基づく画像補正の効果が確認される(ステップS6)。
以上のように、上記実施の形態によれば、CPU1は、プログラム22に従って、撮影パッチデータ27に対して画像補正パラメータ値に応じた画像補正処理を実行し、理想パッチデータ26と補正後の撮影パッチデータとに基づき、パッチ31内の同一の色についての理想パッチデータ26と画像補正処理後の撮影パッチデータとの差分を計算する。これにより、ユーザ好みの画像出力結果に近づくように対象機器用のパラメータ値を決定することができ、熟練者ではなくても、画像出力の際の画像補正処理に使用される良好なパラメータ値を対象機器向けに簡単な作業で決定することができる。
また、上記実施の形態によれば、CPU1は、プログラム22に従って、すべての色についての理想パッチデータと画像補正処理後の撮影パッチデータとの差分が最小となる場合のパラメータの値を探索する。これにより、適切なパラメータ値が自動的に生成され、熟練者ではなくても、画像出力の際の画像補正処理に使用される良好なパラメータ値を対象機器向けに簡単な作業で決定することができる。
また、上記実施の形態によれば、CPU1は、プログラム22に従って、表示装置13の表示領域において、パッチの色配列における各色に対応する位置にその色についての差分の値を表示させるとともに、パラメータの値を表示させる。これにより、ユーザ好みの画像出力結果と対象機器による撮影画像の出力結果との違いを簡単に確認することができるとともに、その時点でのパラメータ値による、対象機器による撮影画像の出力結果への影響を確認することができる。ひいては、熟練者ではなくても、画像出力の際の画像補正処理に使用される良好なパラメータ値を対象機器向けに簡単な作業で決定することができる。
また、上記実施の形態によれば、CPU1は、パッチの色配列における各色に対応する位置に、その色についての差分値を表示させるとともに、その差分値の背景色をその値に応じた色とする。これにより、ユーザ好みの画像出力結果と対象機器による撮影画像の出力結果との違いを直感的に確認することができる。ひいては、熟練者ではなくても、画像出力の際の画像補正処理に使用される良好なパラメータ値を対象機器向けに簡単な作業で決定することができる。
また、上記実施の形態によれば、CPU1は、パラメータの値を変更するごとに、変更後のパラメータの値に応じた画像補正処理を実行し、画像補正処理が終了すると、理想パッチデータと画像補正処理後の撮影パッチデータとの差分を計算し、新たに計算された差分の値に基づいて差分値の表示を更新させる。これにより、パラメータ値を変化させると、それに応じて差分値の表示も変化するため、パラメータ値の変化が差分値へ与える変化を直感的に確認することができる。ひいては、熟練者ではなくても、画像出力の際の画像補正処理に使用される良好なパラメータ値を対象機器向けに簡単な作業で決定することができる。
また、上記実施の形態によれば、CPU1は、プログラム21に従って、対象画像(ここではパッチ画像31a)を表示装置13の表示領域41aに表示させ、複数の領域を指定する読取領域指定枠画像42を、サイズおよび形状を自在変化させてかつ対象画像に重畳させて表示領域41aに表示させる。そして、CPU1は、プログラム21に従って、読取領域指定枠における各領域内の対象画像の画像データに基づいて、各領域についての所定の種類の画像特徴量をそれぞれ計算する。これにより、簡単に1枚の画像における複数部分からその各部分の画像特徴量をまとめて取得することができる。
また、上記実施の形態によれば、CPU1は、プログラム21に従って、読取領域指定枠画像42における複数の領域を1つの画像として拡大、縮小または変形させ、各領域を同一の比率で拡大、縮小または変形させる。これにより、1枚の画像において縦、横それぞれに等間隔の複数部分から画像特徴量を取得する場合に、画像特徴量を取得する複数の場所を読取領域指定枠画像42で簡単に位置決めすることができる。
また、上記実施の形態によれば、CPU1は、プログラム21に従って、所定の色配列を有するパッチ31の行数および列数に対応した複数行、複数列の行列状の領域を有する読取領域指定枠画像42を表示させる。これにより、1枚のパッチ画像31aにおいて配列された複数の色部分から画像特徴量を取得する場合に、画像特徴量を取得する複数の場所をまとめて読取領域指定枠画像42で簡単に位置決めすることができる。
また、上記実施の形態によれば、CPU1は、プログラム21に従って、読取領域指定枠画像42におけるすべての領域のそれぞれにおいて、画像特徴量の計算に使用される部分領域を示す部分領域指定画像42bを表示させ、部分領域指定画像42bで指定された部分領域内の画像データに基づいて画像特徴量を計算する。これにより、各読取領域の境界近傍などを含めずに、部分領域のみを読取領域とすることができるとともに、その部分領域の範囲を部分領域指定画像42bで確認することができるため、簡単かつ良好に1枚の画像における複数部分からその各部分の画像特徴量をまとめて取得することができる。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態では、画像補正パラメータとしてPIM用パラメータを取り扱っているが、その代わりに、ExifPrint用など、その他の画像補正パラメータを取り扱うようにしてもよい。
また、上記実施の形態におけるパッチ31における色配列は一例であり、色の数、配置方法などは上述のものに限定されるものではない。例えば、パッチ31の配列を1行または1列の配列としてもよいし、カラーとモノクロを別々のパッチとしてもよい。
また、上記実施の形態においては、プログラム21に従って画像特徴量として各領域におけるRGB各値の平均値が計算されるが、その代わりに、別の色空間における各座標値の平均値を計算するようにしてもよい。また、その代わりに、特定の色の有無を判定するようにしてもよい。
また、上記実施の形態においては、理想パッチ画像データおよび撮影パッチ画像データの各色の代表値を理想パッチデータおよび撮影パッチデータとしているが、理想パッチ画像データ自体を理想パッチデータとし、撮影パッチ画像データ自体を撮影パッチデータとして、それらに対して各種処理を施し、処理後に代表値を抽出するようにしてもよい。
1 CPU(画像補正処理手段の一部,差分計算手段の一部,変更手段の一部,保存手段の一部,探索手段の一部,第1の表示制御手段の一部,第2の表示制御手段の一部,第3の表示制御手段の一部,第4の表示制御手段の一部,画像特徴量計算手段の一部)、13 表示装置、21 色情報取得プログラム(第3の表示制御手段の一部,第4の表示制御手段の一部,画像特徴量計算手段の一部)、22 パラメータ値生成プログラム(画像補正処理手段の一部,差分計算手段の一部,変更手段の一部,保存手段の一部,探索手段の一部,第1の表示制御手段の一部,第2の表示制御手段の一部)、31 パッチ、42 読取領域指定枠画像、42b 領域指定画像(部分領域指定画像)