以下、本発明に係る画像処理プログラムおよび画像処理装置について以下の順序にて図面を参照しつつ、実施例に基づいて説明する。
A.第1の実施例に従う画像処理モジュール(画像処理装置):
B.第2の実施例に従う画像処理モジュール(画像処理装置):
C.第3の実施例に従う画像処理モジュール(画像処理装置):
D.第4の実施例に係る画像処理プログラム(画像処理装置):
E.画像処理プログラム、および解釈モジュールおよび画像処理モジュールを適用可能な画像処理システムの構成:
A.第1の実施例に従う画像処理モジュール:
第1の実施例に従う画像処理モジュールの構成について図1を参照して説明する。図1は第1の実施例に係る画像処理モジュールの構成を概念的に示す説明図である。なお、以下の各実施例において用いられる各画像データGDは、ディジタルスチルカメラ(DSC)等の撮像装置によって生成され、各画像データGD毎に画像処理を実行する際の画像処理条件を指定する画像処理制御情報GIと共に同一の画像ファイルGFに格納されている。
画像処理制御情報GIは、カラープリンタ等の出力装置が有する色再現特性、画像出力特性を考慮して、最適な画像出力結果を得ることができるように画像処理条件を指定する情報である。画像処理制御情報GIとして格納される情報には、例えば、画像データGDを表す色空間をDSCの色空間であるdRGB色空間からXYZ色空間へ変換するためのマトリクスMのマトリクス値、DSCのガンマ補正値であるマトリクスM用ガンマ補正値、画像データGDの色空間をXYZ色空間からwRGB色空間へ変換するためのマトリクスNのマトリクス値、wRGB色空間のガンマ補正値であるマトリクスN用ガンマ補正値、を始め、コントラスト、明度、シャドーポイントといった画質に関するパラメータが含まれている。なお、本実施例中におけるファイルの構造、データの構造、格納領域といった用語は、ファイルまたはデータ等が記憶装置内に格納された状態におけるファイルまたはデータのイメージを意味するものである。
第1の実施例に係る画像処理モジュール(画像処理プログラム)20は、例えば、パーソナルコンピュータ10上にて、画像処理アプリケーションと連動するプラグインモジュールとして、または、画像処理アプリケーションとして、その機能を実行する。以下の説明では、画像処理アプリケーションとして実現される場合を例にとって説明する。画像処理モジュール20は、各画像データGDに関連付けられている画像処理制御情報GIを用いて、各画像データGDの入力値に対する出力値を変更する画像処理を実行し、出力値が更に変更された場合には、変更された出力値に基づいて画像処理制御情報GIを更新し、更新された画像処理制御情報GIを用いて画像ファイルGFを保存するためのモジュールである。
画像処理モジュール20は、上述のように画像処理制御情報GIを用いて画像データGDの入力値に対する出力値を変更するモジュールであり、画像データGDには変更された出力値は反映されない。したがって、画像データGDは、画像処理後に保存される場合にも、オリジナルのままである。画像データGDが表示装置、印刷装置等の出力装置に出力される場合には、オリジナルの画像データGDに対して、画像処理制御情報GIが適用され、処理済みの画像データとして出力される。
画像処理モジュール20は、入力された画像データGDに関連付けられている画像処理制御情報GIを検索・取得する画像処理制御情報取得部21、画像処理制御情報GIを解析して、画質を調整する各パラメータ値を生成する画像処理制御情報解釈機能部22、画像データGDをYCbCrデータからwRGBデータに変換する画像データ変換機能部23、画像データGDに対する画像処理を実行する画像処理機能部24、画像処理結果を反映した画像ファイルの保存処理を実行する画像データ保存機能部25を備えている。
なお、処理済みの画像データGDがプリンタ等の出力装置によって出力される場合には、処理済みの画像データGDは、wR'G'B'データから出力装置のドライバが取り扱い可能なpRGBデータに変換され、ドライバに送出される。
図1および図2を参照して、第1の実施例に従う画像処理モジュール20の作用について説明する。図2は画像処理モジュール20によって実行される処理ルーチンを示すフローチャートである。
画像処理モジュール20が起動すると、画像処理制御情報取得機能部21は、指定された画像データGDを読み込み(ステップS100)、読み込んだ画像データGDに関連付けられた画像処理制御情報GIを検索する(ステップS110)。本実施例では、画像データGDと画像処理制御情報GIとは同一の画像ファイルGF内に格納されているので、画像処理制御情報取得機能部21は、画像ファイルGF内を検索する。また、複数の画像データGDが同時に読み込まれた場合であっても、各画像データGD毎に関連付けられた画像処理制御情報GIが検索されることはいうまでもない。
画像処理制御情報取得機能部21は、画像処理制御情報GIを発見した場合には(ステップS120:Yes)、画像処理制御情報GIを画像処理制御情報解釈機能部22に送出し、画像データGDを画像データ変換機能部23に送出する。一方、画像処理制御情報取得機能部21は、画像処理制御情報GIを発見しなかった場合には、本処理ルーチンを終了させる(ステップS120:No)。かかる場合には、画像処理制御情報GIを用いない他の画像処理を選択できるようにしても良い。
画像データGDを受け取った画像データ変換機能部23は、JPEGデータ(YCbCrデータ)をwRGBデータに変換して、画像処理機能部24に送出する。wRGBデータは、sRGB色空間よりも少なくともその一部において広い表色域を有するwRGB色空間にて表されるRGBデータである。この変換に際して、画像データ変換機能部23は、JPEG FIle Interchange Format(JFIF)の規格によって定義されている、マトリクスSを用いてマトリクス演算を実行する。なお、画像データ変換機能部23は、画像処理制御情報GIに含まれている色空間の情報を画像処理制御情報解釈機能部22から取得し、YCbCrデータをwRGBデータに変換しても良い。
画像処理制御情報解釈機能部22は、受け取った画像処理制御情報GIを解釈し、画質を調整する各パラメータの指示値(既定値)として画像処理機能部24に送出する。画像処理機能部24は、受け取った各パラメータの指示値に従って、入力値に対する出力値を規定するRGBトーンカーブの特性を変更して画像データGDに対する画像処理を実行する(ステップS130)。画像処理が施された画像データGDの出力値は、通常、ビデオメモリに格納され、表示装置上に画像として表示される。本実施例では、読み込まれた画像データGDに対しては直接変更は加えられず、表示装置、印刷装置等に画像データGDを出力する際に、画像処理制御情報GIが適用された画像データGDの出力値が出力される。
画像処理機能部24は、画質を調整するパラメータが変更された場合には(ステップS140:Yes)、その変更に基づいて画像処理制御情報GIを更新すると共に、変更を反映した画像データGDの出力値をビデオメモリに出力する(ステップS150)。
画像処理操作後に、表示されている画像、あるいは、印刷した画像に対応する画像データGDの保存要求がなされると、画像データ保存機能部25は保存要求が、別名での保存であるか否かを判定する(ステップS160)。画像データ保存機能部25は、同名での保存要求(上書き保存要求)であると判定した場合には(ステップS160:No)、同名保存処理を実行し(ステップS170)、本処理ルーチンを終了する。
同名保存処理では、画像データ保存機能部25は、画像ファイルGFに格納されている画像処理制御情報GIを更新した画像処理制御情報GIで書き換える。本実施例における画像処理では画像データGD自身には何らの変更も加えていないので、画像データGDは更新されることはなく、当初、画像ファイルGFに含まれていた画像データGDのままである。
画像データ保存機能部25は、別名での保存要求であると判定した場合には(ステップS160:Yes)、別名保存処理を実行し(ステップS180)、本処理ルーチンを終了する。別名保存処理では、画像データ保存機能部25は、元の画像ファイルGFから画像データGDを複製し、複製した画像データGDに更新された画像処理制御情報GIを関連付けて新たな画像ファイルGF’を生成する。あるいは、画像データGDを読み込んだ際に、メモリ上に一時的に格納する構成を備える場合には、メモリ上の画像データGDを更新された画像処理制御情報GIを関連付けて新たな画像ファイルGF’を生成する。なお、上記した各機能部は、パーソナルコンピュータ(CPU)10が画像処理プログラムを実行することにより実現される機能であり、各機能部によって実行される処理は、パーソナルコンピュータ10によって実行される処理である。
第1の実施例にかかる画像処理モジュール(画像処理装置)によれば、画像処理制御情報GIと関連付けられている画像データGDに対して、画像処理制御情報GIに基づいた画像処理を実行し、必要に応じて画像処理制御情報GIを変更することができる。さらに、変更された画像処理制御情報GIを再度、画像データGDと関連付けて保存することができる。
画像処理制御情報GIを用いた画像処理は、既述の通り、メインメモリ上に格納されている画像データGDに対しては変更を加えず、画像処理の結果を画像処理制御情報GIに反映していくので、常に、オリジナルの画像データGDを維持しつつ、画像データGDに対して直接画像処理を施した場合と同様の結果を得ることができる。したがって、画像処理に伴う画質の劣化を防止することができると共に、いつでも既に施した画像処理を取り消すことができる。
B.第2の実施例に従う画像処理モジュール:
第2の実施例に従う画像処理モジュールの構成について図3を参照して説明する。図3は第2の実施例に係る画像処理モジュールの構成を概念的に示す説明図である。なお、以下の各実施例において用いられる各画像データGDは、ディジタルスチルカメラ(DSC)等の撮像装置によって生成され、各画像データGD毎に画像処理を実行する際の画像処理条件を指定する既定画像処理条件DCと共に同一の画像ファイルGFに格納されている。
既定画像処理条件DCは、カラープリンタ等の出力装置が有する色再現特性、画像出力特性を考慮して、最適な画像出力結果を得ることができるように画像処理時のデフォルト処理を指定する条件である。既定画像処理条件DCとして格納される情報には、例えば、画像データGDを表す色空間をDSCの色空間であるdRGB色空間からXYZ色空間へ変換するためのマトリクスMのマトリクス値、DSCのガンマ補正値であるマトリクスM用ガンマ補正値、画像データGDの色空間をXYZ色空間からwRGB色空間へ変換するためのマトリクスNのマトリクス値、wRGB色空間のガンマ補正値であるマトリクスN用ガンマ補正値、を始め、コントラスト、明度、シャドーポイントといった画質に関するパラメータが含まれている。
第2の実施例に係る画像処理モジュール(画像処理プログラム)30は、例えば、パーソナルコンピュータ10上にて、画像処理アプリケーションと連動するプラグインモジュールとして、または、画像処理アプリケーションとしてその機能を実行する。以下の説明では、画像処理アプリケーションとして実現される場合を例にとって説明する。画像処理モジュール30は、各画像データGDに関連付けられている既定画像処理条件DCを用いて、各画像データGDの入力値に対する出力値を変更する画像処理を実行すると共に、画像データGDのデータ値を直接変更する選択画像処理条件を実行するモジュールである。また、画像処理モジュール30は、出力値が変更された場合には、変更された出力値に基づいて既定画像処理条件DCを更新し、更新された既定画像処理条件DCを用いて画像ファイルGFを保存するためのモジュールである。
画像処理モジュール30は、既定画像処理条件DCを適用して画像データGDの入力値に対する出力値を変更し、既定画像処理条件DCによっては変更できない画像処理(選択画像処理条件OC、任意画像処理条件)については画像データGDのデータ値そのものを変更するモジュールである。より詳しく説明すれば、画像データGDを取得してメモリ上に一旦格納した場合、既定画像処理条件DCについては、メモリ上に格納されている画像データのデータ値にも反映されず、選択画像処理条件OCについては、メモリ上に格納されている画像データのデータ値に反映される。したがって、画像データGDは、画像処理後に保存される場合には、オリジナルとは異なることがある。画像データGDが表示装置、印刷装置等の出力装置に出力される場合には、選択画像処理条件OCが反映された画像データGDに対して、画像処理制御情報GIが適用され、処理済みの画像データとして出力される。
画像処理モジュール30は、入力された画像データGDに関連付けられている既定画像処理条件DCを検索・取得する既定画像処理条件取得部31、既定画像処理条件DCを解釈して画像処理条件を設定する既定画像処理条件解釈機能部32、画像データGDをYCbCrデータからwRGBデータに変換する画像データ変換機能部33、画像データGDに対する画像処理を実行する画像処理機能部34、画像処理結果を反映した画像ファイルの保存処理を実行する画像データ保存機能部35、wRGB色空間の特性を記述したICCプロファイルを生成、付与するICCプロファイル付与機能部36とを備えている。
なお、ICCプロファイルは、International Color Consortium(ICC)にて規定された色変換のための情報が記述されたデータであり、各データはタグ形式にて格納され、そのヘッダ部にタグデータへのポインタが記述されている。このICCプロファイルのデータ構造(フォーマット)は当業者にとって周知であるからこれ以上の説明は省略する
本実施例では、処理済みの画像データGDが保存される場合について説明するが、処理済みの画像データGDがプリンタ等の出力装置によって出力される場合には、処理済みの画像データGDは、wR'G'B'データから出力装置のドライバが取り扱い可能なpRGBデータに変換され、ドライバに送出される。
図3〜図5を参照して、第2の実施例に従う画像処理モジュール30の作用について説明する。図4は第2の実施例に従う画像処理モジュール30によって実行される画像処理ルーチンを示すフローチャートである。図5は第2の実施例に従う画像処理モジュール30によって実行され保存処理ルーチンを示すフローチャートである。
画像処理モジュール30が起動すると、既定画像処理条件取得機能部31は、指定された画像データGDを読み込み(ステップS200)、読み込んだ画像データGDに関連付けられた既定画像処理条件DCを検索する(ステップS210)。本実施例では、画像データGDと既定画像処理条件DCとは同一の画像ファイルGF内に格納されているので、既定画像処理条件取得機能部31は、画像ファイルGF内を検索する。また、複数の画像データGDが同時に読み込まれた場合であっても、各画像データGD毎に関連付けられた既定画像処理条件DCが検索されることはいうまでもない。
既定画像処理条件取得機能部31は、既定画像処理条件DCを発見した場合には(ステップS220:Yes)、既定画像処理条件DCを既定画像処理条件解釈機能部32に送出し、画像データGDを画像データ変換機能部33に送出する。一方、既定画像処理条件取得機能部31は、既定画像処理条件DCを発見しなかった場合には(ステップS220:No)、既定画像処理条件DCに基づく画像処理をスキップする(ステップS260へ)。
画像データGDを受け取った画像データ変換機能部33は、JPEGデータ(YCbCrデータ)をwRGBデータに変換して、画像処理機能部34に送出する。wRGBデータは、sRGB色空間よりも少なくともその一部において広い表色域を有するwRGB色空間にて表されるRGBデータである。この変換に際しては、既述の通りマトリクスSを用いたマトリクス演算が実行される。なお、画像データ変換機能部33は、既定画像処理条件DCに含まれている色空間の情報に基づいて変換後のRGBデータの特性を変更することもできる。
既定画像処理条件解釈機能部32は、受け取った既定画像処理条件DCを解釈し、画像処理機能部34において用いられる画質調整に関わる各パラメータの値を設定すると共に、その設定値を画像処理機能部34に送出する(ステップS230)。
画像処理機能部34は、受け取った各パラメータの設定値(解析結果)を画像データGDに適用し、適用結果を表示画面上に表示させる(ステップS240)。画像処理機能部34では、例えば、各パラメータの設定値に応じて、画像データGDの入力値に対する出力値の関係を定めるトーンカーブを調整し、画像データGDの一画素毎に調整したトーンカーブ適用して、所望の出力値を得ることにより画像処理が実行される。
このとき、メモリ上に格納されている画像データGDは、このパラメータの設定値を用いた処理によって変更されていない。
画像処理機能部34は、設定されたパラメータ値が変更されたか否かを判定し(ステップS250)、変更されたと判定した場合には、再度、画像データGDに対して変更を反映したトーンカーブを適用して、表示画像を再描画する(ステップS250:No、ステップS240)。ユーザの嗜好によって、設定されたパラメータ値(既定画像処理条件DC)が変更される場合があるからである。
画像処理機能部34は、既定画像処理条件DCには含まれない画像処理条件である選択画像処理条件OCが設定されたか否かを判定する(ステップS260)。選択画像処理条件OCには、例えば、赤目処理、拡大(拡大に伴う補間を含む)および縮小といった画像サイズの変更、トリミング、回転といった処理条件が含まれる。
画像処理機能部34は、選択画像処理条件OCが設定されたと判断した場合には(ステップS260:Yes)、設定された選択画像処理条件OCを用いて画像データGDを変更すると共に、変更結果を、表示画像として表示する(ステップS270)。かかる選択画像処理条件OCは、画像データGDに対して直接適用され、適用後の画像データGDはオリジナルの画像データGDとは異なるデータ値を有するように変更されている。画像処理機能部34は、選択画像処理条件OCが設定されなかったと判断した場合には(ステップS260:No)、ステップS280に移行する。
画像処理機能部34は、選択画像処理条件OCに基づいて変更された画像データGD、あるいは、変更されなかった画像データGDに対して設定されたパラメータ値を適用し、印刷装置を始めとする出力装置に出力して(ステップS280)、本処理ルーチンを終了する。
画像処理後に、画像処理を施した画像データGDを保存する保存要求が発生した場合の処理について図5を参照して説明する。保存要求が発生すると、画像データ保存機能部35は、既定画像処理条件DCを保持する保存要求であるか否かを判定する(ステップS300)。すなわち、再度、既定画像処理条件DCと関連付けられた状態で画像データGDを保存することが要求されているか否かを判定する。
画像データ保存機能部35は、既定画像処理条件DCの保持が要求されていると判定した場合には(ステップS300:Yes)、既定画像処理条件解釈機能部32に対して変更された設定パラメータ値を送信する。既定画像処理条件解釈機能部32は、変更された設定パラメータ値に基づいてオリジナルの既定画像処理条件DCを更新し(ステップS310)、画像データ保存機能部35に対して更新した既定画像処理条件DC’を送信する。
画像データ保存機能部35は、保存要求が別名保存(上書き保存)であるか否かを判定し(ステップS320)、別名保存ではないと判定した場合には(ステップS320:No)、同名保存処理を実行し(ステップS330)、本処理ルーチンを終了する。同名保存処理では、画像データ保存機能部35は、画像ファイルGFに格納されている既定画像処理条件DCを更新した既定画像処理条件DC’で書き換える。本実施例における画像処理では、選択画像処理条件OCが設定された場合には、画像データGDに対しても変更が加えられているので、画像ファイルGFに格納されている画像データGDもまた、変更された画像データGD’によって書き換えられ得る。
画像データ保存機能部35は、保存要求が別名保存であると判定した場合には(ステップS320:Yes)、別名保存処理を実行し(ステップS340)、本処理ルーチンを終了する。別名保存処理では、画像データ保存機能部35は、変更された画像データGD’に更新された既定画像処理条件DC’を関連付けて新たな画像ファイルGF’を生成する。
画像データ保存機能部35は、既定画像処理条件DCの保持が要求されていないと判定した場合には(ステップS300:No)、設定パラメータ値を用いた画像データGDの変更を画像処理機能部34に要求する。画像処理機能部34は、設定パラメータ値を用いて画像データGDに対する画像処理を実行する(ステップS350)。すなわち、設定パラメータ値を用いて入出力値を変更する間接的な画像処理ではなく、画像データGDに対して直接、画像処理を実行する。なお、設定パラメータ値が変更されている場合には、変更された設定パラメータ値が用いられ、選択画像処理条件OCが設定された場合には、画像処理の対象となる画像データGDは、変更済みの画像データGDであることは言うまでもない。
ICCプロファイル付与機能部36は、既定画像処理条件解釈機能部32から取得した設定パラメータ値を用いて画像データGDを表す色空間、本実施例ではwRGB色空間、のICCプロファイルICwを生成し(ステップS360)、画像データ保存機能部35に送信する。画像データ保存機能部35は、画像処理機能部34から受け取った変更済みの画像データGDと、ICCプロファイル付与機能部36から受け取ったICCプロファイルとを関連付けて保存して、本処理ルーチンを終了する。なお、ICCプロファイルICwは、画像データGDと共に画像ファイルGFに埋め込まれても良く、あるいは、画像データGDを格納するファイルとは別のファイルに格納されても良い。
なお、上記した各機能部は、パーソナルコンピュータ(CPU)10が画像処理プログラムを実行することにより実現される機能であり、各機能部によって実行される処理は、パーソナルコンピュータ10によって実行される処理である。
第2の実施例にかかる画像処理モジュール(画像処理装置)によれば、既定画像処理条件DCに加えて、選択画像処理条件OCに基づいた画像処理を実行することができると共に、既定画像処理条件DCを維持した状態で画像処理後の画像データを保存することができる。また、既定画像処理条件DCについては、画像処理が施された画像データの出力が要求された際に、トーンカーブ等を用いて画像データの入出力を変更することによって、画像データに反映しているので、画像処理中に画像データGDが直接変更されることはない。したがって、既定画像処理条件DCに基づく画像処理はどの時点でも容易かつ画像データの劣化を伴うことなく取り消すことができる。
一方、画像処理が施された画像データを保存する際には、選択画像処理条件OCに加えて、既定画像処理条件DCを直接適用した画像データをプロファイルと関連付けて保存することができる。したがって、既定画像処理条件DCを含めて全ての画像処理条件が画像データに反映されているので、既定画像処理条件DCを取り扱うことのできない画像処理アプリケーションにおいても、画像処理の結果を得ることができる。また、既定画像処理条件DCを維持する場合にも、元の画像ファイルGFを維持した別名保存、並びに、元の画像ファイルGFに上書きする同名保存の双方を選択することができる。したがって、必要に応じて種々の保存態様を選択することができる。
C.第3の実施例に従う画像処理モジュール:
第3の実施例に従う画像処理モジュールについて図3、図6および図7を参照して説明する。なお、第3の実施例に従う画像処理モジュールの構成は、第2の実施例に従う画像処理モジュールの構成と同様であるから、同一の符号を付してその説明を省略する。
図3、図6および図7を参照して、第7の実施例に従う画像処理モジュール30の作用について説明する。図6は第3の実施例に従う画像処理モジュール30によって実行される画像処理ルーチンを示すフローチャートである。図7は第3の実施例に従う画像処理モジュール30によって実行され保存処理ルーチンを示すフローチャートである。
画像処理モジュール30が起動すると、既定画像処理条件取得機能部31は、指定された画像データGDを読み込み(ステップS400)、読み込んだ画像データGDに関連付けられた既定画像処理条件DCを検索する(ステップS410)。本実施例でも、画像データGDと既定画像処理条件DCとは同一の画像ファイルGF内に格納されているので、既定画像処理条件取得機能部31は、画像ファイルGF内を検索する。また、複数の画像データGDが同時に読み込まれた場合であっても、各画像データGD毎に関連付けられた既定画像処理条件DCが検索されることはいうまでもない。
既定画像処理条件取得機能部31は、既定画像処理条件DCを発見した場合には(ステップS420:Yes)、既定画像処理条件DCを既定画像処理条件解釈機能部32に送出し、画像データGDを画像データ変換機能部33に送出する。一方、既定画像処理条件取得機能部31は、既定画像処理条件DCを発見しなかった場合には(ステップS420:No)、既定画像処理条件DCに基づく画像処理をスキップする(ステップS450へ)。
画像データGDを受け取った画像データ変換機能部33は、JPEGデータ(YCbCrデータ)をwRGBデータに変換して、画像処理機能部34に送出する。既定画像処理条件解釈機能部32は、受け取った既定画像処理条件DCを解釈し、画像処理機能部34において用いられる画質調整に関わる各パラメータの値を設定すると共に、その設定値を画像処理機能部34に送出する。
画像処理機能部34は、受け取った各パラメータの設定値(解析結果)を用いて画像データGDを変更し、変更結果を表示画面上に表示させる(ステップS430)。画像処理機能部34では、各パラメータの設定値に応じて、画像データGDのデータ値を変更することによって画像データGDが変更される。したがって、第2の実施例とは異なり、既定画像処理条件DCが直接、画像データGDに反映され、メモリ上に格納されている画像データGDは既定画像処理条件を用いた処理によって変更される。
画像処理機能部34は、各パラメータの設定値(既定画像処理条件DC)が変更された場合には(ステップS440:Yes)、逐次、その変更内容を表示画像に反映する。ただし、変更されたパラメータの設定値については、直接画像データGDに反映されることなく、変更されたパラメータの設定値を反映したトーンカーブを用い、画像データGDの入力値を変更して出力値を得る処理が実行される。
画像処理機能部34は、既定画像処理条件DCが変更されなかった場合には(ステップS440:No)、既定画像処理条件DCには含まれない画像処理条件である選択画像処理条件OCが設定されたか否かを判定する(ステップS450)。画像処理機能部34は、選択画像処理条件OCが設定されたと判断した場合には(ステップS450:Yes)、設定された選択画像処理条件OCを用いて画像データGDを変更すると共に、変更結果を、表示画像として表示する(ステップS460)。かかる選択画像処理条件OCもまた、画像データGDに対して直接適用され、適用後の画像データGDはオリジナルの画像データGDとは異なるデータ値を有するように変更されている。画像処理機能部34は、選択画像処理条件OCが設定されなかったと判断した場合には(ステップS450:No)、ステップS470に移行する。
画像処理機能部34は、オリジナルの既定画像処理条件DCおよび選択画像処理条件OCに基づいて変更された画像データGD、あるいは、変更されなかった画像データGDに対して変更された既定画像処理条件DC(設定パラメータ値)を適用し、印刷装置を始めとする出力装置に出力して(ステップS470)、本処理ルーチンを終了する。
画像処理後に、画像処理を施した画像データGDを保存する保存要求が発生した場合の処理について図7を参照して説明する。保存要求が発生すると、既定画像処理条件解釈機能部32は、変更された設定パラメータ値に基づいて現在の既定画像処理条件DC’を求め、現在の既定画像処理条件DC’とオリジナルの既定画像処理条件DCとの差分を算出し(ステップS500)、画像データ保存機能部35に対して既定画像処理条件の差分を送信する。
画像データ保存機能部35は、既定画像処理条件DCを保持する保存要求であるか否かを判定する(ステップS510)。すなわち、再度、既定画像処理条件DCと関連付けられた状態で画像データGDを保存することが要求されているか否かを判定する。 画像データ保存機能部35は、既定画像処理条件DCの保持が要求されていると判定した場合には(ステップS510:Yes)、既定画像処理条件解釈機能部32に対して変更された設定パラメータ値を送信する。
画像データ保存機能部35は、保存要求が別名保存(上書き保存)であるか否かを判定し(ステップS520)、別名保存ではないと判定した場合には(ステップS520:No)、同名保存処理を実行し(ステップS330)、本処理ルーチンを終了する。同名保存処理では、画像データ保存機能部35は、画像ファイルGFに格納されている既定画像処理条件DCを算出した既定画像処理条件の差分情報で書き換える。本実施例における画像処理では、元の既定画像処理条件DC、および設定された選択画像処理条件OCが、画像データGDに対しても直接反映されているので、画像ファイルGFに格納されている画像データGDもまた、変更された画像データGD’によって書き換えられ得る。すなわち、第2の実施例との違いは、変更された画像データGD’には、元の既定画像処理条件DCが直接反映されているところにある。
画像データ保存機能部35は、保存要求が別名保存であると判定した場合には(ステップS520:Yes)、別名保存処理を実行し(ステップS540)、本処理ルーチンを終了する。別名保存処理では、画像データ保存機能部35は、変更された画像データGD’に更新された既定画像処理条件DC’を関連付けて新たな画像ファイルGF’を生成する。
画像データ保存機能部35が既定画像処理条件DCの保持が要求されていないと判定した場合には(ステップS510:No)、ICCプロファイル付与機能部36は、既定画像処理条件解釈機能部32から取得した設定パラメータ値を用いて画像データGDを表す色空間、本実施例ではwRGB色空間のICCプロファイルICwを生成し(ステップS550)、画像データ保存機能部35に送信する。なお、ICCプロファイルは、一般的には、画像データを表す色空間の特性を示すデータであり、色空間毎に予め用意することができる。したがって、ICCプロファイル付与機能部36は、設定パラメータ値を用いてICCプロファイルICwを生成せず、予め用意されたwRGB色空間のICCプロファイルICwを用いても良い。
画像処理機能部34は、既定画像処理条件の差分情報を用いた画像データGDの変更を画像処理機能部34に要求する。すなわち、変更された設定パラメータ値を用いて、画像データGDに対して直接、画像処理を実行する。なお、選択画像処理条件OCが設定された場合には、画像処理の対象となる画像データGDは、変更済みの画像データGDであることは言うまでもない。
画像データ保存機能部35は、画像処理機能部34から受け取った変更済みの画像データGDと、ICCプロファイル付与機能部36から受け取った設定パラメータ値を反映して生成されたICCプロファイルとを関連付けて保存して(ステップS560)、本処理ルーチンを終了する。なお、ICCプロファイルICwは、画像データGDと共に画像ファイルGFに埋め込まれても良く、あるいは、画像データGDを格納するファイルとは別のファイルに格納されても良い。
なお、上記した各機能部は、パーソナルコンピュータ(CPU)10が画像処理プログラムを実行することにより実現される機能であり、各機能部によって実行される処理は、パーソナルコンピュータ10によって実行される処理である。
第3の実施例にかかる画像処理モジュール(画像処理装置)によれば、元の既定画像処理条件DCおよび選択画像処理条件OCの双方を画像処理中の画像データに反映し、既定画像処理条件DCが変更された場合には、変更された既定画像処理条件DCと元の既定画像処理条件DCとの差分情報を画像データに関連付けて保存することができる。したがって、既定画像処理条件DCに対応した画像処理アプリケーション(画像処理モジュール)では、差分情報に基づいて変更された既定画像処理条件DCをより適切に反映した画像処理の結果を得ることができる。一方、既定画像処理条件DCに対応していない画像処理アプリケーションにおいても、少なくとも、元の既定画像処理条件DCについては、画像データに直接反映されているので、既定画像処理条件DCを反映した画像処理結果を得ることができる。
また、既定画像処理条件DCの差分情報については、画像処理中にメインメモリに格納されている画像データに直接反映されることはないので、差分情報に基づく画像処理を容易に取り消すことができる。
D.第4の実施例に従う画像処理プログラム:
第4の実施例に従う画像処理プログラムの構成について図8を参照して説明する。図8は第4の実施例に係る画像処理プログラムの構成を概念的に示す説明図である。なお、以下の各実施例において用いられる各画像データGDは、ディジタルスチルカメラ(DSC)等の撮像装置によって生成され、各画像データGD毎に画像処理を実行する際の画像処理条件を指定する既定画像処理条件DCと共に同一の画像ファイルGFに格納されている。
既定画像処理条件DCは、第2実施例において説明したように、カラープリンタ等の出力装置が有する色再現特性、画像出力特性を考慮して、最適な画像出力結果を得ることができるように画像処理時のデフォルト処理を指定する条件である。
第4の実施例に係る画像処理プログラムは、既定画像処理条件DCを解釈する機能を提供する解釈モジュール40と、解釈結果に従って画像処理を実行する画像処理モジュール50とを備えている。解釈モジュール40は、例えば、パーソナルコンピュータ10上にて、画像処理アプリケーションと連動するプラグインモジュールとして、あるいは、画像処理アプリケーションと連動する解釈アプリケーションとして、その機能を実行する。画像処理モジュール50は、例えば、パーソナルコンピュータ10上にて、画像処理アプリケーションとしてその機能を実行する。以下の説明では、画像処理アプリケーションとして機能する画像処理モジュール50に対して解釈モジュール40が組み込まれて用いられる場合について説明する。
解釈モジュール40は、入力された画像データGDに関連付けられている既定画像処理条件DCを検索・取得する既定画像処理条件取得部41、既定画像処理条件DCを画像処理モジュール50のフィルタ機能に対応付ける既定画像処理条件−フィルタ変換機能部42、画像データGDをYCbCrデータからwRGBデータに変換する画像データ変換機能部43、wRGB色空間の特性を記述したICCプロファイルを付与するICCプロファイル付与機能部44、既定画像処理条件DCと変更された画像データとを関連づけた画像ファイルの保存処理を実行する画像データ保存機能部45とを備えている。
画像処理モジュール50は、フィルタ機能を用いて画像データGDに対する画像処理を実行することができる画像処理機能部51、画像処理機能部51のワークスペースと、画像データ(入力装置)の色空間とワークスペースの色空間とのカラーマッチングを実行する入力用プロファイル結合機能部52と、画像処理機能部51のワークスペースの色空間と出力装置の色空間とのカラーマッチングを実行する出力用プロファイル結合機能部53とを備えている。なお、ICCプロファイルについては、既述したのでその説明を省略する。
本実施例では、処理済みの画像データGDが保存される場合について説明するが、処理済みの画像データGDがプリンタ等の出力装置によって出力される場合には、処理済みの画像データGDは、wR'G'B'データから出力装置のドライバが取り扱い可能なpRGBデータに変換され、ドライバに送出される。
図8〜図13を参照して、第4の実施例に従う画像処理プログラムの作用について説明する。図9は第4の実施例に従う解釈モジュール40によって実行される解釈処理ルーチンを示すフローチャートである。図10は画像処理前における既定画像処理条件DCとフィルタ調整値との関係を示す説明図である。図11は画像処理後におけるフィルタ調整値と既定画像処理条件DCとの関係を示す説明図である。図12は第4の実施例に従う画像処理モジュール50によって実行される画像処理ルーチンを示すフローチャートである。図13は第4の実施例に従う解釈モジュール40によって実行される保存処理ルーチンを示すフローチャートである。
解釈処理モジュール40が起動すると、既定画像処理条件取得機能部41は、指定された画像データGDを読み込み(ステップS600)、読み込んだ画像データGDに関連付けられた既定画像処理条件DCを検索する(ステップS610)。本実施例では、画像データGDと既定画像処理条件DCとは同一の画像ファイルGF内に格納されているので、既定画像処理条件取得機能部41は、画像ファイルGF内を検索する。また、複数の画像データGDが同時に読み込まれた場合であっても、各画像データGD毎に関連付けられた既定画像処理条件DCが検索されることはいうまでもない。
既定画像処理条件取得機能部41は、既定画像処理条件DCを発見した場合には(ステップS620:Yes)、既定画像処理条件DCを既定画像処理条件−フィルタ変換機能部42に送出し、画像データGDを画像データ変換機能部43に送出する。一方、既定画像処理条件取得機能部41は、既定画像処理条件DCを発見しなかった場合には(ステップS620:No)、既定画像処理条件DCに基づくフィルタを用いた画像処理をスキップして、本処理ルーチンを終了する。
画像データGDを受け取った画像データ変換機能部43は、JPEGデータ(YCbCrデータ)をwRGBデータに変換して、画像処理モジュール50に送出する。wRGBデータは、sRGB色空間よりも少なくともその一部において広い表色域を有するwRGB色空間にて表されるRGBデータである。この変換に際しては、既述の通りマトリクスSを用いたマトリクス演算が実行される。なお、画像データ変換機能部43は、既定画像処理条件DCに含まれている色空間の情報に基づいて変換後のRGBデータの特性を変更することもできる。
既定画像処理条件−フィルタ変換機能部42は、受け取った既定画像処理条件DCを解釈し、各パラメータについて画像処理機能部51で用いられるフィルタの調整値を設定する(ステップS630)。既定画像処理条件−フィルタ変換機能部42は、設定されたフィルタ調整値を画像処理モジュール50(画像処理機能部51)に送出し(ステップS640)、本処理ルーチンを終了する。
画像処理機能部51で用いられるフィルタは、画像データGDに対して所望の画像処理を施すためのデータ値変更機能(実行プログラム)であり、例えば、色調補正についてはデータの入出力特性を規定するトーンカーブ、シャープネスについてはマスクの調整値を変更することによって実現される。
既定画像処理条件DCのパラメータ値とフィルタとの対応関係の一例は図10に示すとおりである。既定画像処理条件DCによって指定されるパラメータの中で、シャドゥポイント、ハイライトポイント、コントラスト、明るさについては、RGBチャンネルのトーンカーブを用いるフィルタが対応付けられる。既定画像処理条件DCの中でカラーバランスについては、R、GまたはBのチャンネルのトーンカーブを用いるフィルタが対応付けられる。記憶色については、色域を変更するフィルタが対応付けられ、シャープネスについてはマスクを用いるフィルタが対応付けられる。彩度については、色相・彩度を補正するフィルタが対応付けられ、解像度については解像度を変更するフィルタが対応付けられる。
次に、各パラメータの既定値に基づいた各フィルタの調整値に設定の一例について説明する。なお、RGB各データの値は0〜255の値を取るものとする。シャドゥポイントの値が−25に既定されている場合には、入力値25に対する出力値が0となるようトーンカーブの調整値が変更され、ハイライトポイントの値が30に既定されている場合には、入力値225に対する出力値が255となるようにトーンカーブの調整値が変更される。コントラストの既定値が14に設定されている場合には、入力値64に対する出力値が50に、入力値192に対する出力値が206になるようにトーンカーブの調整値が変更される。明るさの既定値が30に設定されている場合には、入力値64に対する出力値が94になるようトーンカーブの調整値が変更される。
カラーバランスの既定値がGについて−12に設定されている場合には、G成分について入力値192に対する出力値が180になるようG成分のトーンカーブの調整値が変更される。記憶色についてSkinのB成分が5に設定されている場合には、肌色域を指定してB方向に5だけ拡張するよう表色域が調整される。彩度についてRGB各成分につき15が設定されている場合には、色相・彩度マスタが15に調整される。シャープネスの適用量が20、しきい値が3に設定されている場合には、アンシャープマスクの適用量が200%、しきい値が3に調整される。
上記のフィルタ調整値を受け取った画像処理モジュール50によって実行される画像処理について図12を参照して説明する。入力用プロファイル結合部52は、画像データ変換機能部43からwRGBデータを受け取ると、画像処理機能部51のワークスペースの色空間とのカラーマッチングを図るため、ICCプロファイルICwとワークスペースにて用いられる色空間のICCプロファイルとを用いて色変換プロファイルを生成する。ただし、本実施例では、ワークスペースの色空間もwRGBであるから、プロファイルの結合処理は不要である。
画像処理機能部51は、入力用プロファイル結合機能部52から色変換された画像データGDを受け取ると共に、解釈モジュール40から受信したフィルタ調整値を適用したフィルタを用いて画像データGDを表示画面上に表示する。また、適用したフィルタ調整値の一覧を表示画面上に表示する(ステップS700)。画像データGDに対するフィルタの適用は、例えば、全ての調整値を反映したトーンカーブを用いて、画像データGDの一画素毎に入力データ値を所望の出力データ値に変更することにより実行される。このとき、パーソナルコンピュータ10のメインメモリ上に格納されている画像データGDはオリジナルのままであり、フィルタ処理が施された画像データGDは、例えば、ビデオメモリ等に送られる。
画像処理機能部51は、適用したフィルタの編集処理が実行されたか否かを判定する(ステップS710)。画像処理機能部51は、フィルタの編集処理が実行されたと判定した場合には(ステップS710:Yes)、編集処理を反映して画像データGDを再表示する(ステップS720)。本実施例では、表示画像に対して適用されているフィルタ調整値の一覧が表示画面上に表示されており、ユーザによる調整値の編集が許容されている。したがって、ユーザによって調整値が編集(変更)された場合には、その変更を表示画像に反映する必要があるからである。変更後の画像データGDの再表示は、例えば、ディスプレイドライバに対して編集を反映した画像データGDを送信することにより実行される。
画像処理機能部51は、フィルタの編集処理が実行されなかったと判定した場合には(ステップS710:No)、再表示処理をスキップする。画像処理機能部51は、既定画像処理条件DCによって指定可能な画像処理以外の画像処理、例えば、赤目処理、画像データのサイズ変更といった選択画像処理条件OCが設定されたか否かを判定する(ステップS730)。
画像処理機能部51は、選択画像処理条件OCが設定されたと判定した場合には、設定された選択画像処理条件OCに基づいて画像データGDを変更すると共に、変更結果を表示画面上に表示する(ステップS740)。なお、選択画像処理条件OCは、メインメモリ上に格納されている画像データGDのデータ値を直接変更することで画像データGDに反映される。
画像処理機能部51は、選択画像処理条件OCが設定されなかったと判定した場合には(ステップS730:No)、ステップS740をスキップする。
画像処理機能部51は、保存要求が発生したか否かを判定する(ステップS750)。画像処理機能部51は、保存要求が発生しなかった場合には(ステップS750:No)、本処理ルーチンを終了する。かかる場合には、例えば、印刷要求等が発生し、画像処理機能部51は、選択画像処理条件OCおよびフィルタ調整値を適用した画像データGDを出力用プロファイル結合機能部53に送信する。出力用プロファイル結合機能部53は、ワークスペースの色空間プロファイルと印刷用の色空間プロファイルとを結合した変換プロファイルを用いてpRGBデータを生成し、プリンタドライバに送信する。
画像処理機能部51は、保存要求が発生した場合には(ステップS750:Yes)、既定画像処理条件DCを保持する保存要求であるか否かを判定する(ステップS760)。画像処理機能部51は、既定画像処理条件DCを保持する保存要求でないと判定した場合には(ステップS760:No)、画像データGDに対する画像処理を実行したワークスペースのICCプロファイルを取得し(ステップS770)、画像データGDとプロファイルとを関連付けて新たな画像ファイルとして保存して(ステップS780)、本処理ルーチンを終了する。かかる場合、保存される画像データGDには選択画像処理条件OCおよびフィルタ調整値が適用されており、また、新たに生成された画像ファイルGFは、画像処理アプリケーション固有のデータ形式に従ったファイル構造を備えている。
画像処理機能部51は、既定画像処理条件DCを保持する保存要求であると判定した場合には(ステップS760:Yes)、編集されたフィルタ調整値を解釈モジュール40に対して送信し、選択画像処理条件OCを反映した画像データGDについては出力用プロファイル結合機能部53を介して解釈モジュール40に対して送信し(ステップS790)、本処理ルーチンを終了する。なお、かかる場合に出力用プロファイル結合機能部53から出力される画像データは、例えば、wRGBデータである。
既定画像処理条件DCを保持する保存要求が発生した場合に解釈モジュール40にて実行される保存処理について図13を参照して説明する。既定画像処理条件−フィルタ変換機能部42は、画像処理モジュール50から送信されたフィルタ調整値および処理済みの画像データGDを受信し(ステップS800)、受信したフィルタ調整値に基づいて更新された既定画像処理条件DC’を生成する(ステップS810)。
フィルタ調整値は、図11に示すように更新された既定画像処理条件DC’のパラメータ値に反映される。本実施例では、シャドゥポイントのフィルタ調整値が25から30に編集され、コントラストのフィルタ調整値が14から8に編集され、シャープネスのマスク適用量が200%から100%に編集されている。この編集内容を受けて、対応する既定画像処理条件DC’のパラメータの値は、−25から−30(シャドゥポイント)、14から8(コントラスト)、20から10(シャープネスの適用量)に、それぞれ変更されている。
画像データ保存機能部45は、既定画像処理条件−フィルタ変換機能部42から更新された既定画像処理条件DC’を受け取ると共に、保存要求が別名保存であるか否かを判定する(ステップS820)。画像データ保存機能部45は、別名保存が要求されていないと判定した場合には(ステップS820:No)、同名保存処理を実行して(ステップS830)、本処理ルーチンを終了する。一方、画像データ保存機能部45は、別名保存要求であると判定した場合には(ステップS820:Yes)、別名保存処理を実行して(ステップS840)、本処理ルーチンを終了する。
同名保存処理では、画像データ保存機能部45は、画像ファイルGFに格納されている既定画像処理条件DCを更新した既定画像処理条件DC’で書き換える。画像データGDについては、オリジナルの画像データを、選択画像処理条件OCが適用された画像データGD’で書き換える。
別名保存処理では、画像データ保存機能部45は、更新した既定画像処理条件DC’および選択画像処理条件OCが適用された画像データGD’を格納する新たな画像ファイルGFを生成する。なお、上記した各機能部は、パーソナルコンピュータ(CPU)10が画像処理プログラムを実行することにより実現される機能であり、各機能部によって実行される処理は、パーソナルコンピュータ10によって実行される処理である。
第4の実施例に係る解釈モジュール40を用いれば、既存の画像処理アプリケーションに対して、既定画像処理条件DCと関連付けられた画像データGDを扱う機能を付加することができる。既定画像処理条件DCを取り扱う機能は、全て解釈モジュール40によって提供されるので、様々な画像処理モジュール50に対して適用することができる。
特に、第4実施例に従う解釈モジュール40は、既定画像処理条件DCを編集した場合であっても、再度、更新された既定画像処理条件DC’と変更された画像データGD’とを関連付けて保存することができる。したがって、画像データGD’に対する画像処理結果を既定画像処理条件DC’として格納し、画像データGD’に対するデータ値の直接変更を伴う画像処理を最小限にとどめることができる。また、画像処理を繰り返しても、常に、オリジナルの画像データGDに近い状態にて画像データGDを保存することができる。さらに、画像処理を施した画像データGDに対して、再度、既定画像処理条件DCを用いた画像処理を実行することができる。
一方、第4実施例に係る解釈モジュール40および画像処理モジュール50は、画像処理アプリケーションのデータフォーマットでの保存も許容しているので、画像処理アプリケーション固有の画像処理結果を保存することができる。また、ユーザの嗜好によって、様々な態様で画像処理制御情報GIまたは既定画像処理条件DCを用いて画像処理を施した画像データGDを保存することができる。
E.本発明に係る画像処理モジュール、解釈モジュール、画像処理プログラムを適用可能な画像処理システムの構成:
本発明に係る色空間特性情報生成プログラムを適用可能な画像処理システムの構成について図14を参照して説明する。図14は本発明に係る画像処理プログラムを適用可能な画像処理システムの一例を示す説明図である。
画像処理システムは、画像処理制御情報(既定画像処理条件DC)を付加すべき画像データを生成する入力装置としてのディジタルスチルカメラ120、ディジタルスチルカメラ120にて生成された画像データを用いて後述する画像処理を実行する画像処理装置としてのパーソナルコンピュータ10、パーソナルコンピュータ10において設定された画像出力装置としてのカラープリンタ300を備えている。本実施例に係る画像処理装置において画像処理が施される画像データ(画像ファイル)は、ディジタルスチルカメラ120から接続ケーブルCVまたはメモリカードMCを介して、パーソナルコンピュータ10に入力された画像データである。
画像処理装置としては、パーソナルコンピュータ10の他に、例えば、画像処理機能を備えるスタンドアローン型のプリンタも用いられ得る。また、出力装置としては、プリンタ300の他に、CRTディスプレイ、LCDディスプレイ等の表示装置、プロジェクタ等が用いられ得る。以下の説明では、パーソナルコンピュータ10と接続されて用いられるカラープリンタ300を出力装置として用いるものとする。
パーソナルコンピュータ10は、一般的に用いられているタイプのコンピュータであり、本発明に係る画像処理プログラムを実行するCPU100、CPU100における演算結果、取得した画像データ等を一時的に格納するメインメモリとしてのRAM101、画像処理プログラムを格納するハードディスクドライブ(HDD)102、CPU100における演算結果、画像データ等を表示するための表示装置103、コマンド、数値等を入力するためのキーボード、マウスといた入力装置104を備えている。パーソナルコンピュータ10は、メモリカードMCを装着するためのカードスロット105、ディジタルスチルカメラ120等からの接続ケーブルCVを接続するための入出力端子106を備えている。パーソナルコンピュータ10には、この他に、表示用画像データを格納するビデオメモリ、表示装置を駆動制御する表示制御装置(ビデオドライバ)等が含まれている。
ディジタルスチルカメラ120において生成された画像データGDは、通常、ディジタルスチルカメラ用の画像ファイルフォーマット規格(Exif)に従ったデータ構造を有している。Exifファイルの仕様は、電子情報技術産業協会(JEITA)によって定められている。
このExifファイル形式に従うファイル形式を有する場合の画像ファイル内部の概略構造について図15を参照して説明する。図15はExifファイル形式にて格納されている画像ファイルGFの概略的な内部構造を示す説明図である。なお、本実施例中におけるファイルの構造、データの構造、格納領域といった用語は、ファイルまたはデータ等が記憶装置内に格納された状態におけるファイルまたはデータのイメージを意味するものである。
Exifファイルとしての画像ファイルGFは、JPEG形式の画像データを格納するJPEG画像データ格納領域111と、格納されているJPEG画像データに関する各種付属情報を格納する付属情報格納領域112とを備えている。付属情報格納領域112には、撮影時色空間、撮影日時、露出、シャッター速度等といったJPEG画像の撮影条件に関する撮影時情報、JPEG画像データ格納領域111に格納されているJPEG画像のサムネイル画像データがTIFF形式にて格納されている。付属情報は画像データがメモリカードMCに書き込まれる際に自動的に付属情報格納領域112に格納される。本実施例では、付属情報格納領域112には、パーソナルコンピュータ10における画像処理を制御するための画像処理制御情報GI(既定画像処理条件DC)あるいはICCプロファイルICwを格納するための画像処理制御情報格納領域113が備えられている。
Exif形式のファイルでは、各データを特定するためにタグが用いられており、画像処理制御情報GIおよび既定画像処理条件DCの各パラメータ値もタグによって識別される構成を備えている。画像処理制御情報格納領域113の各タグは、画像処理制御情報格納領域113のトップアドレスからのオフセット値でポインタにより指定される。したがって、画像処理制御情報GIおよび既定画像処理条件DCを書き換える場合には、書き換えの対象となるタグに対応するオフセット値を指定して、ポインタにより指定したタグの情報を書き換えることによって実行される。
以上、いくつかの実施例に基づき本発明に係る画像処理プログラムおよび画像処理装置を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
上記実施例では、既定画像処理条件DCとしてシャドゥポイント、コントラストといったパラメータを用いているが、これら設定パラメータにどのようなパラメータを用いるかは任意の決定事項である。
上記第1、第2、および第4実施例では、画像処理制御情報GI、既定画像処理条件DCが変更された場合に、オリジナルの画像処理制御情報GI、既定画像処理条件DCを消去し、変更された画像処理制御情報GI、既定画像処理条件DCを新たな画像処理制御情報GI、既定画像処理条件DCとして書き込んでいる。しかしながら、変更された画像処理制御情報GI、既定画像処理条件DCとオリジナルの画像処理制御情報GI、既定画像処理条件DCとの差分情報を生成し、オリジナルの画像処理制御情報GI、既定画像処理条件DCに対して差分情報を付加するようにして画像処理制御情報GI、既定画像処理条件DCの変更を反映してもよい。かかる場合には、画像処理制御情報GI、既定画像処理条件DCの変更の頻度にかかわらず、オリジナルの画像処理制御情報GI、既定画像処理条件DCをいつまでも維持することができる。
上記第2〜第4実施例では、選択画像処理条件OCと既定画像処理条件DCとが当初より、区別されるものとして説明したが、選択画像処理条件OCを画像処理機能部によって変更可能な画像処理条件と位置づけ、選択画像処理条件OCに既定画像処理条件DCが含まれても良い。かかる場合には、選択画像処理条件OCのうち、既定画像処理条件DCに含まれるものについては、既定画像処理条件DCを更新することによって、その変更内容を変更するようにしても良い。
上記第2および第3実施例では、設定パラメータを用いてICCプロファイルICwを生成しているが、予め画像データの色空間に合わせて用意しておいたICCプロファイルを用いても良い。かかる場合には、画像処理後の個々の画像データGDの特性をICCプロファイルに反映することはできないものの、画像データを表す色空間の基本的(一般的)特性を適切に表すプロファイルを画像データGDに関連付けることができる。また、画像データGDとICCプロファイルICwを保存(記録)する際には、それぞれが関連付けられて別個のファイルに格納されても良く、あるいは、画像データGDを格納するファイルにICCプロファイルICwを埋め込むようにして保存(記録)されても良い。
上記各実施例では、画像処理制御情報(既定画像処理条件DC)は、画像データGDと共に画像ファイルGFに格納されているが、画像データGDとは別ファイルとしてメモリカードMCに格納されても良い。
上記実施例では、撮像装置としてディジタルスチルカメラ120を用いて説明したが、この他にもスキャナ、ディジタルビデオカメラ等が用いられ得る。また、出力装置としては、プリンタの他、液晶ディスプレイ、CRTディスプレイ、プロジェクタ等が用いられ得る。
上記実施例では、画像ファイルGFの具体例としてExif形式のファイルを例にとって説明したが、本発明に係る画像ファイル生成装置において用いられ得る画像ファイルの形式はこれに限られない。すなわち、出力装置によって出力されるべき画像データと、画像処理装置における画像データの画像処理条件を指定する画像処理制御情報GI(既定画像処理条件DC)またはICCプロファイルICwとを含むことができるファイルであれば良い。
なお、画像データと画像処理制御情報(既定画像処理条件DC)とが含まれる画像ファイルGFには、画像データGDと画像処理制御情報(既定画像処理条件DC)とを関連付ける関連付けデータを生成し、画像データと画像処理制御情報(既定画像処理条件DC)とをそれぞれ独立したファイルに格納し、画像処理の際に関連付けデータを参照して画像データと画像処理制御情報(既定画像処理条件DC)とを関連付け可能なファイルも含まれる。かかる場合には、画像データと画像処理制御情報(既定画像処理条件DC)とが別ファイルに格納されているものの、画像処理制御情報(既定画像処理条件DC)を利用する画像処理の時点では、画像データおよび画像処理制御情報(既定画像処理条件DC)とが一体不可分の関係にあり、実質的に同一のファイルに格納されている場合と同様に機能するからである。すなわち、少なくとも画像処理の時点において、画像データと画像処理制御情報(既定画像処理条件DC)とが関連付けられて用いられる態様は、本実施例における画像ファイルGFに含まれる。さらに、CD−ROM、CD−R、DVD−ROM、DVD−RAM等の光ディスクメディアに格納されている動画像ファイルも含まれる。
上記実施例では、撮像装置としてディジタルスチルカメラ120を用いて説明したが、この他にもスキャナ、ディジタルビデオカメラ等が用いられ得る。すなわち、本実施例に係る上記画像ファイルGFは、ディジタルスチルカメラ(DSC)の他に、ディジタルビデオカメラ(DVC)、スキャナ等の入力装置(画像ファイル生成装置)によって生成され得る。ディジタルビデオカメラにて生成される場合には、例えば、静止画像データと出力制御情報とを格納する画像ファイル、あるいは、MPEG形式等の動画像データと画像処理制御情報(既定画像処理条件DC)とを含む動画像ファイルが生成される。この動画像ファイルが用いられる場合には、動画の全部または一部のフレームに対して出力制御情報に応じた出力制御が実行される。