以下、本発明に係る画像処理装置について以下の順序にて図面を参照しつつ、いくつかの実施例に基づいて説明する。
A.画像処理装置を含む画像処理システムの構成:
B.第1の実施例に係る画像処理装置における画像処理:
C.第2の実施例に係る画像処理装置における画像処理:
D.第3の実施例に係る画像処理装置における画像処理:
E.第4の実施例に係る画像処理装置における画像処理:
F.その他の実施例:
A.画像処理装置を適用可能な画像処理システムの構成:
本実施例に係る画像処理装置を適用可能な画像処理システムの構成について図1を参照して説明する。図1は本実施例に係る画像処理装置を適用可能な画像処理システムの一例を示す説明図である。
画像処理システム10は、撮影条件を付加した画像データを生成する入力装置としてのディジタルスチルカメラ12、ディジタルスチルカメラ12にて生成された画像データを用いて後述する画像処理を実行する画像処理装置としてのパーソナルコンピュータ20、パーソナルコンピュータ20において設定された画像出力装置としてのカラープリンタ30を備えている。本実施例に係る画像処理装置において画像処理が施される画像データ(画像ファイル)は、ディジタルスチルカメラ12から接続ケーブルCVまたはメモリカードMCを介して、パーソナルコンピュータ20に入力された画像データである。
画像処理装置としては、パーソナルコンピュータ20の他に、例えば、画像処理機能を備えるスタンドアローン型のプリンタも用いられ得る。また、出力装置としては、プリンタ30の他に、CRTディスプレイ、LCDディスプレイ等の表示装置、プロジェクタ等が用いられ得る。以下の説明では、パーソナルコンピュータ20と接続されて用いられるカラープリンタ30を出力装置として用いるものとする。
パーソナルコンピュータ20は、一般的に用いられているタイプのコンピュータであり、本発明に係る画像処理プログラムを実行するCPU200、CPU200における演算結果、画像データ等を一時的に格納するRAM210、画像処理プログラムを格納するハードディスクドライブ(HDD)220、CPU200における演算結果、画像データ等を表示するための表示装置230、コマンド、数値等を入力するためのキーボード、マウスといた入力装置240を備えている。パーソナルコンピュータ20は、メモリカードMCを装着するためのカードスロット250、ディジタルスチルカメラ12等からの接続ケーブルCVを接続するための入出力端子255を備えている。
ディジタルスチルカメラ12は、CCDや光電子倍増管を用いて光の情報をアナログ電気信号に変換し、得られたアナログ電気信号をA/Dコンバータを用いてディジタル信号化することによりディジタルな画像データを生成するカメラである。生成されたディジタル画像データは、通常、記憶装置としてのメモリカードMCに保存される。ディジタルスチルカメラ12における画像データの保存形式としては、JPEG形式が一般的であるが、この他にもTIFF形式、GIF形式、BMP形式、RAWデータ形式等の保存形式が用いられ得る。
本実施例に従うディジタルスチルカメラ12は、画像データGDに対して複数の撮影条件を含む撮影情報EIを埋め込み、Exif形式の画像ファイルとして各画像データGDをメモリカードMCに記録する。Exifファイルの仕様は、電子情報技術産業協会(JEITA)によって定められているのでその詳細についての説明は省略する。
このExifファイル形式に従うファイル形式を有する場合の画像ファイル内部の概略構造について図2および図3を参照して説明する。図2はExifファイル形式にて格納されている画像ファイルGFの概略的な内部構造を示す説明図である。図3は撮影情報EIとして格納されるパラメータ例を示す説明図である。なお、本実施例中におけるファイルの構造、データの構造、格納領域といった用語は、ファイルまたはデータ等が記憶装置内に格納された状態におけるファイルまたはデータのイメージを意味するものである。
Exifファイル形式に従う画像ファイルGFは、JPEG形式の画像データを格納するJPEG画像データ格納領域101と、格納されているJPEG画像データに関する各種付属情報を格納する付属情報格納領域102とを備えている。付属情報格納領域102には、ISO感度(ISO速度)、画像圧縮率、フラッシュ(ストロボ)使用の有無、レンズ焦点距離、シャッター速度、光源、露出、ゲイン制御(増感・減感量)、画像幅、画像高さ、35mm換算レンズ焦点距離、焦点面の高さの解像度、焦点面の幅の解像度、焦点面解像度単位等といったJPEG画像の撮影条件に関する撮影情報EI、JPEG画像データ格納領域101に格納されているJPEG画像のサムネイル画像データがTIFF形式にて格納されている。撮影情報EIを含む付属情報は画像データがメモリカードMCに書き込まれる際に自動的に付属情報格納領域102に格納される。なお、当業者にとって周知であるように、Exif形式のファイルでは、各データを特定するためにタグが用いられている。したがって、パーソナルコンピュータ20等の画像処理装置は、タグを指定することによって、所望の撮影情報EIを取得することができる。
付属情報格納領域102には、この他に、カラープリンタ30等の出力装置が有する色再現特性、画像出力特性を考慮して、最適な画像出力結果を得ることができるように画像処理条件を指定する画像処理制御情報GIが格納されている。画像処理制御情報GIとして格納される情報には、例えば、パーソナルコンピュータ20において画像処理に用いられる色空間を指定する色空間マトリクス値、指定する空間のガンマ補正値、コントラスト、カラーバランス調整、シャープネス、色補正といった画質に関するパラメータが含まれている。
カラープリンタ30は、カラー画像の出力が可能なプリンタであり、例えば、シアン(C)、マゼンタ(M)、イエロー(Y)、ブラック(K)の4色の色インクを印刷媒体上に噴射してドットパターンを形成することによって画像を形成するインクジェット方式のプリンタであり、あるいは、カラートナーを印刷媒体上に転写・定着させて画像を形成する電子写真方式のプリンタである。色インクには、上記4色に加えて、ライトシアン(薄いシアン、LC)、ライトマゼンタ(薄いマゼンタ、LM)、ダークイエロ(暗いイエロ、DY)を用いても良い。
B.パーソナルコンピュータ20における画像処理(第1の実施例):
図4〜図6を参照して第1の実施例に係るパーソナルコンピュータ20における画像処理について説明する。図4は第1の実施例に係るパーソナルコンピュータ20における画像処理のメイン処理ルーチンを示すフローチャートである。図5パーソナルコンピュータ20におけるノイズ低減処理の流れを示すフローチャートである。図6はパーソナルコンピュータ20におけるプリントデータ生成処理の流れを示すフローチャートである。
パーソナルコンピュータ20のCPU200は、例えば、スロット250にメモリカードMCが差し込まれると、あるいは、他端がDSC12と接続されている接続ケーブルCVが入出力端子255に接続されると本処理ルーチン開始する。CPU200は、スロット250または接続ケーブルCVを介して、メモリカードMCから画像ファイルGFを読み出し、読み出した画像ファイルGFをRAM210に一時的に格納する(ステップS100)。なお、格納された画像データGDは、YCbCrデータである。CPU200は読み出した画像ファイルGFのExifを解析して撮影情報EIを取得し、ISO速度ISOおよびシャッター速度SSの各パラメータ値を取得する(ステップS110)。各パラメータ値は、Exifの使用に基づいて、既定の位置に格納されているので、CPU200は、例えば、必要なパラメータが格納されているアドレスをポインタによって示し、必要なパラメータ値を取得する。
CPU200は、取得したISO速度に基づいてノイズ低減レベルLVを決定する(ステップS120)。例えば、ISO100の場合にはLV=0とし、ISO800の場合にはLV=255とすれば、ノイズ低減レベルLVは、
LV=(255/700)*ISO−(255/7)
として求められる。すなわち、ノイズ低減レベルLVがISO速度に応じて変更される。
ここで、ISO速度(感度)およびシャッター速度SSをノイズ低減レベルLVの変更の判定値として用いるのは、ISO速度が大きくなるにつれてCCDの感度が上げられ、ノイズが発生しやすくなり、シャッター速度SSが遅くなるにつれてノイズが発生しやすくなり、ノイズ発生レベルの指標として適当なパラメータだからである。
CPU200は、ISO速度に応じて変更(決定)されたノイズ低減レベルLV=0であるか否かを判定し(ステップS125)、LV≠0であると判定した場合には(ステップS125:No)、ノイズ低減処理を実行する(ステップS140)。CPU200は、LV=0であると判定した場合には(ステップS125:Yes)、シャッター速度SSが1sec未満であるか否かを判定する(ステップS130)。
CPU200は、シャッター速度SSが1sec未満であると判定した場合には(ステップS130:Yes)、ノイズ低減処理を実行せず、色空間変換処理(ステップS150)を実行する。CPU200は、シャッター速度SSが1sec以上であると判定した場合には(ステップS130:Yes)、ノイズ低減レベルLVを変更する(ステップS140)。
CPU200は、ノイズ低減レベルLVを次のようにして変更する。ノイズ低減レベルLVを1〜95、96〜126、127〜254と3区分しておき、現在のノイズ低減レベルLVが1〜95にある場合には、ノイズ低減レベルLV=96とし、現在のノイズ低減レベルLVが96〜126にある場合には、ノイズ低減レベルLV=127とし、現在のノイズ低減レベルLVが127〜254にある場合には、ノイズ低減レベルLV=255とする。
CPU200は、この他にも、所定の値、例えば、20等を加えることによってノイズ低減レベルLVを変更しても良い。かかる場合には、ノイズ低減レベルLVをステップ状ではなくリニアに変化させることができる。
CPU200は、ノイズ低減処理において用いるフィルタサイズRを、ISO速度に基づいて決定したノイズ低減レベルLVを用いて決定する。
R’=LV3−5LV2+10LV−3
CPU200は、得られたR’の整数部分をフィルタサイズRとして用いる。例えば、LV=1の時にはR=3、LV=96の時にはR=5、LV=127の時にはR=9、LV=255の時にはR=21となる。
ノイズ低減処理について図5を参照して説明する。色ノイズは、一般的に、色差信号をぼかすことによって低減可能であることが知られている。そこで、本実施例では、YCbCrデータで表されている画像データGDの色差成分Cb、Crを用いて、画像データGDの各画素に対してノイズ低減処理を実行する。CPU200は、注目画素が画像の輪郭または輪郭近傍に位置する輪郭画素であるか否かを判定する(ステップS200)。ノイズ低減処理には、平滑化フィルタが一般的に用いられるが、輪郭画素に対しては平滑化フィルタを用いることによる画質の低下を避けるために、メジアンフィルタを用いた方が好ましいので、先ず上記判定(ステップS200)を実行する。
具体的には、先に変更したフィルタサイズRを有するR×Rフィルタの領域内に含まれる、注目画素の色差値Cra(Cba)と注目画素以外の参照画素の色差値Crb(Cbb)との絶対差分がしきい値ThEよりも大きいか否かによって判断される。通常、ノイズと認識される画素は、周りの画素の色差値と比較して極めて大きな、あるいは、極めて小さな色差値を有するために、ノイズとして認識されるからである。CPU200は、R×Rフィルタ内の各画素に対して、
ΔCrij=|Cra−Crb| (式1)
を用いて絶対差分を算出し、算出したΔCrijの内、しきい値ThEよりも大きな絶対差分が1つでも存在する場合には、今回処理を行ったR×Rフィルタの領域内に輪郭画素が含まれていると判定する。なお、この処理は、Cb成分に対しても同様に実行され、色差成分Cr、Cbのそれぞれに対して個別の判定に対応したフィルタを用いたノイズ低減処理が実行される。
また、注目画素が輪郭画素であるか否かの判定は、輝度成分Yの輝度値の絶対差を用いても同様に実行することができる。この場合には、輪郭画素を含むと判定されたR×Rフィルタの領域の各画素の色差成分Cr、Cbの双方に対してメジアンフィルタを用いたノイズ低減処理が実行される。
CPU200は、注目画素が輪郭画素でないと判定した場合には(ステップS200:Yes)、平滑化フィルタを用いたフィルタ処理を実行する(ステップS210)。具体的には、式(2)を用いて、色差成分Crについて、R×Rフィルタの領域内に含まれる参照画素の平均色差値を求め、求めた平均色差値を注目画素の新たな色差値Cr'とする。
CPU200は、式(3)を用いて、同様にして、色差成分Cbについても新たな色差値Cb'を求める。
CPU200は、注目画素が輪郭画素であると判定した場合には(ステップS200:No)、メジアンフィルタを用いたフィルタ処理を実行する(ステップS220)。具体的には、R×Rフィルタの領域内に含まれる注目画素、参照画素の色差値をソートして、その中央値を注目画素の新たな色差値Cr'、Cb'とする。
CPU200は、フィルタ処理を終えて得た色差値Cr'(Cb')に対して、彩度補正処理を実行して(ステップS230)、画像処理ルーチンにリターンする。彩度補正処理は、一般的に、暗部においてノイズ量が多く、また、DSC12の中には、固有の輝度値Y'において色ノイズの発生量が多い特性を有する機種があるので、これらの事情に応じて色差値を補正して、ノイズの低減を図る。例えば、固有の輝度値Y'=64の場合には、フィルタ処理により新たに得られた色差値Cr'、Cb'を用いて、式(4)、式(5)から補正後の色彩値Cr''、Cb''を取得する。
上記式によれば、色ノイズ量の発生が多い輝度値64を中心とし、輝度値が32<Y<96の範囲では、輝度値Yに応じて色差値を最低3/4まで減少させて、色ノイズを低減することができる。
図4に戻り画像処理ルーチンの説明を続けると、CPU200は、ノイズ低減処理が実行されたYCbCrデータをRGBデータに変換する色変換処理を実行する(ステップS150)。色変換にあたっては、JPEG FIle Interchange Format(JFIF)の規格によって定義されている、マトリクスSを用いたマトリクス演算が実行される。また、現在の画像データを表すRGB色空間よりも広い色再現領域を有する拡張RGB色空間へ、画像データの色空間を変換しても良い。かかる色変換に当たっては、例えば、絶対色空間として知られているXYZ色空間を介したカラーマッチングの手法により実行される。
CPU200は、RGBデータに変換された画像データGDをサンプリングし、画像データGDの画質に関連する各パラメータについて特性値(画像統計値)を取得する(ステップS160)。CPU200は、画像処理制御情報GIを解析して、画質補正パラメータを取得する(ステップS170)。
CPU200は、画像データGDに対して画質補正処理を実行する(ステップS180)。例えば、CPU200は、パラメータについて、取得した画像データGDの画像統計値から入力−出力曲線を生成し、各パラメータに対して設定されている補正の目標値となる基準値と、各パラメータの画像統計値との差分を低減または解消するように入力−出力曲線を補正する。具体的には、画質補正パラメータの値は、基準値と各パラメータの画像統計値との差分の低減の程度(レベル)を変更するため、あるいは、基準値の値を変更するために用いられる。さらには、各画像統計値を直接変更するために用いられる。
CPU200は、補正した入力−出力曲線を用いて各画素毎に画像データGDの値を補正して、画像データGDの画質を補正する。CPU200は、画像処理を終えた画像データGDに対してプリントデータ生成処理を実行して(ステップS190)、本処理ルーチンを終了する。
図6を参照して、プリントデータ生成処理について説明する。本処理は、一般的に、いわゆる、プリンタドライバの機能として実現される処理であり、画像処理とは別のモジュールとして実現されても良く、あるいは、画像処理と一体化された処理として実現されても良い。CPU200は、画像処理済みの画像データGDを取得し(ステップS300)、HDD220に格納されているRGB−CMYK変換用ルックアップテーブル(LUT)を参照し、RGB画像データをCMYK画像データへ変換する(ステップS310)。すなわち、R・G・Bの階調値からなる画像データをプリンタ30で使用する、例えば、C・M・Y・K・LC・LMの各6色の階調値のデータに変換する。
CPU200は、CMYK画像データに対して、ハーフトーン処理(階調数変換処理)を実行し(ステップS320)、画像データをラスタデータとしてプリンタ30のプリント制御部(図示しない)に送出して(ステップS330)、プリントアウトを実行し、本処理ルーチンを終了する。ハーフトーン処理の手法としては、誤差拡散法または組織的ディザ法が一般的に用いられる。
以上、説明したように本実施例に従う画像処理装置としてのパーソナルコンピュータ20によれば、画像ファイルGFに含まれる撮影情報EIに基づいて、画像データGDに対する画質調整処理を実行することができる。特に、撮影情報EIの中で、ISO感度、シャッター速度の記録値(設定値)を利用することによって、撮影条件に基づいて、画像データGDに対するノイズ低減処理を適切に実行することができる。また、DSC12の画像データGDの記録フォーマットとして規格化されているExif画像ファイルに対応して画像処理を実行することができるので、画像処理装置側が本実施例において説明した画像処理機能を備えることにより、ノイズ低減処理を適切に実行することができいるという利点を汎用的に活用することができる。
C.パーソナルコンピュータ20における画像処理(第2の実施例):
上記第1の実施例では、ISO速度に基づいてノイズ低減レベルを決定していたが、Exifファイルに格納されている画像処理制御情報GIにノイズ低減レベルが記述されている場合には、記述されているノイズ低減レベルをオリジナルのノイズ低減レベルLVしても良い。
この場合には、図7に示すようにしてノイズ低減レベルを変更しても良い。図7は、他の実施例に従うパーソナルコンピュータ20における画像処理のメイン処理ルーチンを示すフローチャートである。図8はノイズ低減レベルLVとフィルタサイズRとを関連付けるマップを示す説明図である。なお、第2の実施例において用いられ得る画像処理システムの構成は第1の実施例における画像処理システム10の構成と同様であるから同一の符号を付してその説明を省略する。また、図7中、ステップS400、ステップS450以降は、それぞれ、第1の実施例において図4を用いて説明したステップと同様であるからその説明を省略する。
CPU200は、Exifを解析して撮影情報EIを取得すると共に、画像処理制御情報GIを解析して、指定されたノイズ低減レベルLVを取得する(ステップS410)。CPU200は、ISO速度が100以下であるか否かを判定し(ステップS420)、ISO≦100であると判定した場合には(ステップS420:Yes)、シャッター速度SSが1sec未満であるか否かを判定する(ステップS425)。CPU200は、ISO≦100でないと判定した場合には(ステップS420:No)、ノイズ低減レベルLVを変更し(ステップS30)、ノイズ低減処理を実行する(ステップS140)。また、CPU200は、シャッター速度SSが1sec未満でないと判定した場合にも(ステップS425:No)、ノイズ低減レベルLVを変更し(ステップS430)、ノイズ低減処理を実行する(ステップS440)。
すなわち、本実施例では、ISO速度ISO>100またはシャッター速度SS≧1secのいずれかの条件が満たされると、CPU200は、ノイズ低減レベルLVを変更する。ノイズ低減レベルは、ノイズ低減レベルLVを1〜95、96〜126、127〜254と3区分しておき、オリジナルのノイズ低減レベルLVが1〜95にある場合には、ノイズ低減レベルLV=96とし、オリジナルのノイズ低減レベルLVが96〜126にある場合には、ノイズ低減レベルLV=127とし、オリジナルのノイズ低減レベルLVが127〜254にある場合には、ノイズ低減レベルLV=255とする。
CPU200は、シャッター速度SSが1sec未満であると判定した場合には(ステップS125:Yes)、画像処理制御情報GIによって指定されたノイズ低減レベルLVを用いてノイズ低減処理を実行する(ステップS440)。
ノイズ低減処理(ステップS440)においては、図8に示す、ノイズ低減レベルLVとフィルタサイズRとの関係に基づいて、フィルタ処理に用いるフィルタサイズRを決定する。
以上説明した第2の実施例に従う画像処理によれば、画像ファイルGFに含まれる画像処理制御情報GIおよび撮影情報EIに基づいて、画像データGDに対するノイズ低減処理を実行することができる。画像処理制御情報GIには、各画像データ毎により適切なノイズ低減レベルを詳細に記述することができるので、より適切なノイズ低減処理を実行することができる。また、DSC12の画像データGDの記録フォーマットとして規格化されているExif画像ファイルに対応して画像処理を実行することができるので、画像処理装置側が本実施例において説明した画像処理機能を備えることにより、ノイズ低減処理を適切に実行することができいるという利点を汎用的に活用することができる。
D.パーソナルコンピュータ20における画像処理(第3の実施例):
図9を参照してパーソナルコンピュータ20における第3の実施例に従う画像処理について説明する。図9はパーソナルコンピュータ20における第3の実施例に従う画像処理のメイン処理ルーチンを示すフローチャートである。なお、第3の実施例において用いられ得る画像処理システムの構成は第1の実施例における画像処理システム10の構成と同様であるから同一の符号を付してその説明を省略する。
第3の実施例に従う画像処理では、ISO速度に代えてゲイン制御のレベル(ゲイン制御量)に基づいてノイズ低減レベルを決定する。ゲイン制御量は、撮影感度に関するゲイン制御のパラメータの適用量(レベル)であり、撮影時に生成された画像信号の増幅量または減衰量(増感量または減感量)を示す。撮影感度が増感された場合(画像信号が増幅された場合)には、画像信号と共に画像信号に含まれているノイズ成分も増幅されるため、画像中におけるノイズの発生が目立つようにある。そこで、第3の実施例では、ゲイン制御量に基づいてノイズ低減処理を実行して、撮影感度の増感に伴い出力画像に現れるノイズの低減を図る。
ゲイン制御量は、既述のExifファイルの撮影情報EIに記述されるゲイン制御のパラメータによって指定される。ゲイン制御パラメータGLは、例えば、増感無しの場合には0、弱い増感が実行された場合には1、強い増感が実行された場合には2、弱い減感が実行された場合には3、強い減感が実行された場合には4の値をそれぞれ取る。なお、ゲイン制御パラメータGLの値は、さらに細かいレベルにて規定されても良い。
パーソナルコンピュータ20のCPU200は、例えば、スロット250にメモリカードMCが差し込まれると、あるいは、他端がDSC12と接続されている接続ケーブルCVが入出力端子255に接続されると本処理ルーチン開始する。CPU200は、スロット250または接続ケーブルCVを介して、メモリカードMCから画像ファイルGFを読み出し、読み出した画像ファイルGFをRAM210に一時的に格納する(ステップS500)。なお、格納された画像データGDは、YCbCrデータである。CPU200は読み出した画像ファイルGFのExifを解析して撮影情報EIを取得し、ゲイン制御パラメータGLの値を取得する(ステップS510)。ゲイン制御パラメータGLの値は、Exifの仕様に基づいて、既定の位置に格納されているので、CPU200は、例えば、必要なパラメータが格納されているアドレスをポインタによって示し、必要なパラメータ値を取得する。
CPU200は、取得したゲイン制御パラメータGLの値に基づいて撮影感度が増感されたか否かを判定する(ステップS520)。具体的には、ゲイン制御パラメータGLの値が1または2の場合には増感がなされたと判定し(ステップS520:Yes)、ゲイン制御パラメータGLの値が0、3、または4の場合には増感がなされていないと判定する(ステップS520:No)。
CPU200は、撮影感度が増感されていないと判定した場合には(ステップS520:No)、出力画像にノイズが発生するおそれが少ないと判断し、ノイズ低減処理をスキップして画像データに対して画像処理(ステップS560)、プリントデータ生成処理(ステップS570)を実行し、本処理ルーチンを終了する。
CPU200は、撮影感度が増感されていると判定した場合には(ステップS520:Yes)、ゲイン制御パラメータGLの値に応じてノイズ低減レベルLVを決定する(ステップS530)。例えば、ゲイン制御パラメータGL=1の場合にはLV=127とし、ゲイン制御パラメータGL=2の場合にはLV=255とする。CPU200は、決定したノイズ低減レベルLVを用いて、ノイズ低減処理において用いるフィルタサイズRを決定する(ステップS540)。
R’=LV3−5LV2+10LV−3
CPU200は、得られたR’の整数部分をフィルタサイズRとして用いる。例えば、LV=1の時にはR=3、LV=96の時にはR=5、LV=127の時にはR=9、LV=255の時にはR=21となる。
CPU200は決定されたフィルタサイズRを用いて第1の実施例において説明したように画像データに対してノイズ低減処理を実行し(ステップS550)、ノイズ低減処理を施した画像データに対して画像処理(ステップS560)、プリントデータ生成処理(ステップS570)を実行して本処理ルーチンを終了する。なお、ステップS560における画像処理では、例えば、第1の実施例において説明した、色空間変換処理、画質特性のサンプリング、画質補正パラメータを用いた画質補正処理が実行され、ステップS570におけるプリントデータ生成処理は、例えば、第1の実施例において説明したプリントデータ生成処理が実行される。
第3の実施例に従う画像処理によれば、撮影感度に応じて適切なノイズ低減処理を実行することができる。すなわち、撮影感度が増感されて出力画像にノイズが現れやすい場合には、ノイズ低減処理を実行して出力画像に現れるノイズの発生を低減し、撮影感度が変更されていない場合、減感された場合にはノイズ低減処理を実行しないことで出力画像の画質低下を防止することができる。
また、画像データに関連付けられている撮影情報EIに記述されているゲイン制御パラメータGLの値を参照して、ノイズ低減処理を実行するか否かを判定するので、ユーザにノイズ低減処理の要・不要を判断させることなく、ノイズ低減処理を実行することができる。
さらに、DSC12の画像データGDの記録フォーマットとして規格化されているExif画像ファイルに対応して画像処理を実行することができるので、画像処理装置側が本実施例において説明した画像処理機能を備えることにより、ノイズ低減処理を適切に実行することができいるという利点を汎用的に活用することができる。
第3の実施例では、ゲイン制御パラメータGLの値が0〜4を取り、増感に関するゲイン制御パラメータGLの値がステップ状に反映されるノイズ低減処理について説明したが、ゲイン制御パラメータGLがより細かい(多くの)値を取り、例えば、図10に示すように増感に関するゲイン制御パラメータGLの値がリニアに反映されるようにしても良い。図10はゲイン制御パラメータGLがノイズ低減レベルLVにリニアに反映されるマップの一例を示す説明図である。かかる場合には、撮影感度が増感されるほど、ノイズ低減レベルが増加する。
E.パーソナルコンピュータ20における画像処理(第4の実施例):
図11を参照してパーソナルコンピュータ20における第4の実施例に従う画像処理について説明する。図11はパーソナルコンピュータ20における第4の実施例に従う画像処理のメイン処理ルーチンを示すフローチャートである。なお、第4の実施例において用いられ得る画像処理システムの構成は第1の実施例における画像処理システム10の構成と同様であるから同一の符号を付してその説明を省略する。
第4の実施例に従う画像処理では、ISO速度に代えCCD画素サイズ(CCDの単位画素の大きさ)に基づいてノイズ低減レベルを決定する。CCD画素サイズが大きくなればダイナミックレンジも大きくなるためノイズの影響を受けにくくなるのに対して、CCD画素サイズが小さくなればダイナミックレンジが小さくなりノイズの影響を受けやすくなる。現在の一般消費者向けのDSCでは、CCDの大きさ(光学系サイズ)を変更することなく、CCD画素サイズを小さくすることで高画素化が図られており、画像中におけるノイズの発生を如何に低減させるかが課題となっている。そこで、第4の実施例では、CCD画素サイズに基づいてノイズ低減処理を実行して、CCD画素サイズに起因して出力画像に現れるノイズの低減を図る。
CCD画素サイズCsは、既述のExifファイルの撮影情報EIには直接記述されていないため、撮影情報EIを利用して求める。本実施例では、2通りの算出方法の内、いずれかを用いてCCD画素サイズCsを算出する。
パーソナルコンピュータ20のCPU200は、例えば、スロット250にメモリカードMCが差し込まれると、あるいは、他端がDSC12と接続されている接続ケーブルCVが入出力端子255に接続されると本処理ルーチン開始する。CPU200は、スロット250または接続ケーブルCVを介して、メモリカードMCから画像ファイルGFを読み出し、読み出した画像ファイルGFをRAM210に一時的に格納する(ステップS600)。なお、格納された画像データGDは、YCbCrデータである。CPU200は読み出した画像ファイルGFのExifを解析して撮影情報EIを取得し(ステップS610)、CCD画素サイズCsを算出する(ステップS620)。
(1)第1の算出方法:
第1の算出方法では、撮影情報EIとして記述されている情報のうち焦点面解像度単位、焦点面の高さの解像度、および焦点面の幅の解像度を利用して単位画素サイズを算出する。すなわち、ファイルとして記録する主画像の焦点面における解像度=主画像を生成した撮像素子における受光面の有効解像度とみなすことができるので、焦点面におけるCCDの有効解像度を用いることによって、単位画素当たりのサイズを算出する。
撮影情報EIには、焦点面の高さの解像度および焦点面の幅の解像度が解像度単位の値にて記載されているので、焦点面解像度単位を各焦点面の解像度で除する以下の式から、単位画素当たりのサイズ(幅、高さ)を求めることができる。なお、撮影情報EIにおいて焦点面解像度単位の値は、インチの場合は2、センチメートルの場合は3で表される。
Cs(高さ)=焦点面解像度単位/焦点面の高さの解像度
Cs(幅)=焦点面解像度単位/焦点面の幅の解像度
(2)第2の算出方法:
第2の算出方法では、撮影情報EIとして記述されている情報のうち35mm換算焦点距離、焦点距離、画像幅、画像高さを利用して単位画素サイズを算出する。すなわち、35mmフィルムのフィルムサイズとCCDの受光面サイズとの対比関係をモデルとし、以下に示す式を用いて、35mm換算焦点距離と焦点距離との比率を利用して対角方向におけるCCD画素サイズCsを算出する。
Cs(対角)=CCD対角長さ/CCD対角画素数
上記各撮影情報EIの値は、Exifの仕様に基づいて、既定の位置に格納されているので、CPU200は、例えば、必要なパラメータが格納されているアドレスをポインタによって示し、必要なパラメータ値を取得する。
CPU200は、上記いずれかの算出方法により算出したCCD画素サイズCsを用いてノイズ低減処理が必要なCCD画素サイズCsであるか否かを判定する(ステップS630)。具体的には、CCD画素サイズCsが判定画素サイズCsrefよりも小さい場合にはノイズ低減処理が必要であると判定し(ステップS630:Yes)、CCD画素サイズCsが判定画素サイズCsref以上の場合にはノイズ低減処理は不要であると判定する(ステップS630:No)。判定画素サイズCsrefの具体的数値としては、例えば、4〜6μの値が用いられる。一般消費者向けのDSCにおけるCCD画素サイズは3μ程度であり、一眼レフタイプのプロユース用DSCにおけるCCD画素サイズは7μ程度であり、経験値的にプロユース用DSCにおいては、ノイズレベルが低いことが知られている。
CPU200は、出力画像にノイズが発生するおそれが少ないと判断した場合には(ステップS630:No)、ノイズ低減処理をスキップして画像データに対して画像処理(ステップS670)、プリントデータ生成処理(ステップS680)を実行し、本処理ルーチンを終了する。
CPU200は、CCD画素サイズCsが判定画素サイズCsrefよりも小さくノイズ低減処理が必要であると判定した場合には(ステップS630:Yes)、ノイズ低減レベルLVを決定する(ステップS640)。本実施例のように判定画素サイズCsrefといsて1つの判定値を用いる場合には、例えば、LV=127とし、CPU200は、決定したノイズ低減レベルLVを用いて、ノイズ低減処理において用いるフィルタサイズRを決定する(ステップS650)。
R’=LV3−5LV2+10LV−3
CPU200は、得られたR’の整数部分をフィルタサイズRとして用いる。例えば、LV=1の時にはR=3、LV=96の時にはR=5、LV=127の時にはR=9、LV=255の時にはR=21となる。
CPU200は決定されたフィルタサイズRを用いて第1の実施例において説明したように画像データに対してノイズ低減処理を実行し(ステップS660)、ノイズ低減処理を施した画像データに対して画像処理(ステップS670)、プリントデータ生成処理(ステップS680)を実行して本処理ルーチンを終了する。なお、ステップS670における画像処理では、例えば、第1の実施例において説明した、色空間変換処理、画質特性のサンプリング、画質補正パラメータを用いた画質補正処理が実行され、ステップS680におけるプリントデータ生成処理は、例えば、第1の実施例において説明したプリントデータ生成処理が実行される。
第4の実施例に従う画像処理によれば、DSCにおいて用いられているCCD画素サイズに応じて適切なノイズ低減処理を実行することができる。すなわち、CCD画素サイズ(単位画素当たりの大きさ)が小さく出力画像にノイズが現れやすい場合には、ノイズ低減処理を実行して出力画像に現れるノイズの発生を低減し、CCD画素サイズが大きい場合にはノイズ低減処理を実行しないことで出力画像の画質低下を防止することができる。
また、画像データに関連付けられている撮影情報EIに記述されているCCD画素サイズを算出するために有用な値を参照して、ノイズ低減処理を実行するか否かを判定するので、ユーザにノイズ低減処理の要・不要を判断させることなく、ノイズ低減処理を実行することができる。
さらに、DSC12の画像データGDの記録フォーマットとして規格化されているExif画像ファイルに対応して画像処理を実行することができるので、画像処理装置側が本実施例において説明した画像処理機能を備えることにより、ノイズ低減処理を適切に実行することができいるという利点を汎用的に活用することができる。
第4の実施例では、1つの判定画素サイズCsrefを用いてノイズ低減処理の有無を判断し、ノイズ低減処理を実行する・実行しないの2通りの処理を実行しているが、複数の判定画素サイズCsrefを用いて、複数のノイズ低減レベルLVを用いてノイズ低減処理を実行してもよい。かかる場合には、CCD画素サイズに即してより適切なノイズ低減処理を実行することができる。
なお、上記各実施例では、パーソナルコンピュータ20において全ての画像処理を実行しているが、画像処理の全て、または、部分をプリンタ30上で実行するようにしても良い。この場合には、プリンタ30の記憶装置(ハードディスク、ROM等)に図4等を参照して説明した画像処理機能を実行するアプリケーションを格納することによって実現される。ディジタルスチルカメラ12にて生成された画像ファイルGFは、ケーブルCVを介して、あるいは、メモリカードMCを介してプリンタ30に提供される。プリンタ30では、メモリカードMCの差込を検知することによって、またあるいは、ケーブルCVの差込を検知することによって、アプリケーションが自動的に起動し、画像ファイルGFの読み込み、撮影情報EIの解析、画像データGDの変換、調整が自動的になされても良い。
また、上記各実施例では、DSC12によって生成された画像データGDには撮影情報EIが含まれていることを前提に説明したが、画像データGDに撮影情報EIが含まれているか否かを判定した後に、撮影情報EIを取得して撮影情報EIを用いた画像処理を実行するようにしてもよい。また、撮影情報EIが含まれていない場合には、既述のノイズ低減処理を除いた画像処理が実行されてもよい。
F.その他の実施例:
(1)上記各実施例では、平滑化フィルタを用いたフィルタ処理において、単純な画素平均値を用いて画像の平滑化を実行したが、以下に示す2次元ガウス関数を用いて、画像の平滑化を実行してもよい。
すなわち、対象画像f(x,y)の色差成分Cb、Crに対して平均0、分散σ2の2次元ガウス関数G(x,y)をたたみ込むことによって、色差成分Cb、Crのみが平滑化された平滑化済み画像F(x,y)を得ることができる。なお、2次元全方位方向に対象に適用する2次元ガウス分布の場合には、x=y=Rとなり、これがフィルタサイズとなる。この手法では、ノイズ低減レベルLVと標準偏差σとを所定の比例関係によって関連付けることによって、変更されたノイズ低減レベルを反映したノイズ低減処理を実行することができる。
(2)上記実施例では、撮影情報EIの中で、シャッター速度、ISO感度、ゲイン制御を用いたノイズ低減処理を例にとって説明したが、本発明に係る画像処理装置は、この他の撮影情報EIを用いて、撮影条件を反映した画像処理を実行することができる。
(2−1)撮影情報EIの中で、ストロボの使用・不使用、および焦点距離のパラメータを利用して、画像処理を実行する時に撮影対象物の背景処理を実行してもよい。ストロボの発光量が小さい場合には、人物(被写体)だけが明るく写り、背景は真っ暗になってしまうことがある。そこで、ストロボが使用されたときには、焦点距離から被写体距離を求めて、背景領域に在る画像データ値の明度を高くする補正を行うことにより、自然な暗さの背景を有する画像を得ることができる。
(2−2)撮影情報EIの中で、画像圧縮率のパラメータを利用して、画像処理を実行する時に、ノイズ低減処理を実行してもよい。DSC12により生成された画像データは、通常、JPEGフォーマットにて圧縮されてメモリカードMC等に格納される。画像圧縮率は、DSC12において設定可能であり、画像の用途に応じて圧縮率が変更される。画像圧縮率は、画質と密接に関連しており、一般的に、画像圧縮率が高くなるにつれて、ブロックノイズが顕著になる等、画質が低下することが知られている。このノイズを低減するために、ノイズ低減処理が実行されるが、ノイズ低減処理は、ノイズを低減する一方で画質を低下させてしまうことがある。そこで、撮影情報EIの中から画像圧縮率のパラメータを参照し、画像圧縮率が高い場合には、ノイズ低減レベルを高くし、画像圧縮率が低い場合には、ノイズ低減レベルを低くすることで、ノイズの低減と、高い画質という2つの要求を両立させることができる。
(3)上記実施例では、共に出力装置としてカラープリンタ30を用いているが、出力装置にはCRT、LCD、プロジェクタ等の表示装置を用いることもできる。かかる場合には、出力装置としての表示装置によって、例えば、図4等を用いて説明した画像処理を実行する画像処理プログラム(ディスプレイドライバ)が実行される。あるいは、CRT等がコンピュータの表示装置として機能する場合には、コンピュータ側にて画像処理プログラムが実行される。ただし、最終的に出力される画像データは、CMYK系色空間ではなくRGB色空間を有している。
かかる場合には、撮影情報EIを用いて画質調整が実行された画像データをカラープリンタ30から出力できるのと同様にして、撮影情報EIを用いて画質調整が実行された画像データをCRT等の表示装置によって表示することができる。したがって、表示装置に撮影条件を反映した画像を表示させることができる。
(4)上記実施例では、画像ファイルGFをディジタルスチルカメラ20にて生成する例について説明したが、画像ファイルGFは、この他にも、ディジタルビデオカメラ(DVC)、スキャナ等の入力装置(画像ファイル生成装置)によって生成される。ディジタルビデオカメラにて生成される場合には、例えば、静止画像データと撮影情報EIとを格納する画像ファイル、あるいは、MPEG形式等の動画像データと撮影情報EIとを含む動画像ファイルが生成される。この動画像ファイルが用いられる場合には、動画の全部または一部のフレームに対して撮影情報EIに応じた画像処理が実行される。
以上、いくつかの実施例に基づき本発明に係る画像処理装置を説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれることはもちろんである。
上記実施例では、輪郭判定を実行し、輪郭画素と他の画素に対するフィルタ処理を使い分けているが、輪郭判定を実行することなく、平滑化処理を全画素に対して実行してもよい。かかる場合には、フィルタ処理を高速化することができる。
上記実施例では、JPEGデータに対して直接、ノイズ低減処理を実行しているが、JPEGデータ(YCbCrデータ)からRGBデータに変換して画質調整を実行し、その後に再度、RGBデータからYCbCrデータへの変換をOKなってノイズ低減処理を実行してもよい。
また、例示した各パラメータは、あくまでも例示に過ぎず、これらのパラメータによって本願に係る発明が制限されることはない。
上記実施例では、画像ファイルGFとしてExif形式のファイルを例にとって説明したが、本発明に係る画像ファイルの形式はこれに限られない。すなわち、撮像装置における撮影情報EIが少なくとも含まれている画像ファイルであれば良い。このようなファイルであれば、本来画像データが有している彩度を出力装置において再現することができるからである。
なお、画像データと撮影情報EIとが含まれる画像ファイルGFには、撮影情報EIとを関連付ける関連付けデータを生成し、画像データと撮影情報EIとをそれぞれ独立したファイルに格納し、画像処理の際に関連付けデータを参照して画像データと撮影情報EIとを関連付け可能なファイルも含まれる。かかる場合には、画像データと撮影情報EIとが別ファイルに格納されているものの、撮影情報EIを利用する画像処理の時点では、画像データおよび撮影情報EIとが一体不可分の関係にあり、実質的に同一のファイルに格納されている場合と同様に機能するからである。すなわち、少なくとも画像処理の時点において、画像データと撮影情報EIとが関連付けられて用いられる態様は、本実施例における画像ファイルGFに含まれる。さらに、CD−ROM、CD−R、DVD−ROM、DVD−RAM等の光ディスクメディアに格納されている動画像ファイルも含まれる。