以下、本発明にかかる撮像装置および画像処理装置について、図面を参照しつつ、実施例に基づいて説明する。
A.画像処理システムの構成:
図1は、本発明の実施例に係る撮像装置および画像処理装置を含む画像処理システムの一例を示す説明図である。本発明の実施例に係る撮像装置および画像処理装置を適用可能な画像処理システムの構成について図1を参照して説明する。
画像処理システムは、画像データを生成する撮像装置としてのディジタルスチルカメラ10、ディジタルスチルカメラ10にて生成された画像データに対して、欠陥画素補正処理を含む画像処理を実行し、印刷用画像データを出力する画像処理装置としてのパーソナルコンピュータ20、印刷用画像データを用いて画像を出力する出力装置としてのプリンタ30を備えている。また、出力装置としては、プリンタ30の他に、例えば、LCDディスプレイのモニタ25、表示装置40が用いられ得る。
図2は、ディジタルスチルカメラ10の概略構成を示す説明図である。ディジタルスチルカメラ10は、光の情報を撮像素子(例えば、CCDやCMOS)に結像させることにより画像を取得するカメラである。図2に示すように、ディジタルスチルカメラ10は、光情報を収集し、電気信号として出力する光学回路140、光学回路140から出力された電気信号をA/D変換して数値化し、画像データを生成する画像データ生成回路130、生成された画像データを加工処理するための画像処理回路120、各回路を制御する制御回路100、制御回路100に撮像条件を始めとする利用者の意図を伝えるコントローラ110、画像データを画像ファイルとしてメモリカードMCに保存するメモリカードドライブ150を備えている。
光学回路140は、複数の画素を有し、撮像画像の光情報を受光して画素単位の電気信号として出力する撮像素子144と、撮像素子144の受光部に光情報を集めるレンズ142と、撮像素子144の受光量を調節する絞り146とを備えている。
制御回路100は、周知のコンピュータであり、制御プログラムを実行するCPU102、CPU102の扱うデータ、演算結果等を一時的に格納するRAM104、制御プログラム、後述する欠陥画素情報等を格納するROM106を備えている。
ディジタルスチルカメラ10は、画像データの保存形式を選択可能であり、選択可能な保存形式として、一般的なJPEG形式に加えて、RAWデータ形式が設定されている。ディジタルスチルカメラ10は、画像データをRAWデータ形式で出力する場合には、撮像素子144から出力された画素単位の電気信号を数値化して、圧縮や、色変換処理を施さずにそのまま出力する。ディジタルスチルカメラ10は、RAWデータ形式で出力する際に、欠陥画素補正を実行しても良く、実行しなくても良い。
パーソナルコンピュータ20は、一般的に用いられるタイプのコンピュータであり、欠陥画素補正処理を含む画像処理プログラムを実行するCPU200、CPU200における演算結果、画像データ等を一時的に格納するRAM201、画像処理プログラムを格納するハードディスクドライブ(HDD)202を備えている。パーソナルコンピュータ20は、メモリカードMCを装着するためのカードスロット203、ディジタルスチルカメラ10からの接続ケーブルを接続するための入出力端子204を備えている。
プリンタ30は、カラー画像の出力が可能なプリンタであり、例えば、シアン、マゼンタ、イエロー、ブラックの4色の色インクを印刷媒体上に噴射してドットパターンを形成することによって画像を形成するインクジェット方式のプリンタである。あるいは、カラートナーを印刷媒体上に転写・定着させて画像を形成する電子写真方式のプリンタである。色インクには、上記4色に加えて、ライトシアン(薄いシアン)、ライトマゼンタ(薄いマゼンタ)、レッド、ブルーを用いても良い。
表示装置40は、画像を表示するための表示ディスプレイ45を有し、例えば、電子式の写真フレームとして機能する表示装置である。表示ディスプレイ45は、例えば、液晶表示ディスプレイ、有機EL表示ディスプレイが用いられ得る。
プリンタ30および表示装置40は、スタンドアローンにて画像処理、画像出力を実行するため、パーソナルコンピュータ20が備える画像処理機能を備えても良い。かかる場合には、プリンタ30、表示装置40は、パーソナルコンピュータ20を介さずに、例えば、メモリーカードMC等の記憶媒体、あるいは、ケーブルを介してディジタルスチルカメラ10から画像データを取得し、プリンタ30、表示装置40がそれぞれ本実施例における画像処理装置として機能することができる。
以下の説明では、ディジタルスチルカメラ10で生成されたRAWデータ形式の画像データGDが、パーソナルコンピュータ20に送出され、画像データGDに対する画像処理がパーソナルコンピュータ20にて実行され、処理済みの画像データがカラープリンタ30に対して出力される場合について説明する。
B.画像処理システムが用いる画像ファイルの構成:
図3および図4を参照して、画像処理システムが用いる画像ファイル、すなわち、本発明の実施例に係る撮像装置としてのディジタルスチルカメラ10が出力し、本発明の実施例に係る画像処理装置としてのパーソナルコンピュータ20が取得する画像ファイルの概略構成について説明する。図3は、画像ファイルの内部構成を概念的に示す説明図である。図4は、撮像素子144の一部の構成を示す概略説明図である。図3(a)に示す画像ファイルGF1は、RAWデータ形式の画像データGDを格納する画像データ格納領域R100と、画像データGDと関連付けられた付属情報を格納する付属情報格納領域R110を備えている。画像ファイルGF1の付属情報格納領域R110には、欠陥画素情報および補正情報が格納されている。
RAWデータ形式の画像データGDは、図4に示す撮像素子144を構成する画素CPが出力した電気信号を数値化したデータ(画素データ)で構成されている。図4に示すように、撮像素子144には、モザイク上にRGBの各カラーフィルターが配置された原色フィルターが取り付けられている。すなわち、各画素CPには、RGB色成分のいずれかに対応する波長を持つ光のみを透過するカラーフィルターが取り付けられている。したがって、RAWデータを構成する各画素データは、対応する画素のフィルタ色に対応した色成分の画素値のみを有している。
欠陥画素情報は、撮像素子144における欠陥画素の位置情報である。欠陥画素は、撮像素子144を構成する画素CPのうち、受光した光量に対応した電気信号を正しく出力できない画素である。例えば、受光した光量に関わらず一定の電気信号を出力する画素である。図4において、CP_def1およびCP_def2は、欠陥画素を示している。欠陥画素情報として、図3(a)に示すように、欠陥画素の数NおよびN個の欠陥画素の撮像素子144における位置情報(座標(xpn、ypn:n=1〜N))が設定されている。
補正情報は、欠陥画素に対応する画素データ(欠陥画素データ)の補正(欠陥画素補正)に関する情報である。画像ファイルGF1では、格納された画像データGDが、ディジタルスチルカメラ10において欠陥画素補正を実行された補正済みデータであることを示す情報(以下、補正済み情報という。)と、欠陥画素補正が実行されていない未補正データであることを示す情報(以下、未補正情報という。)のいずれかが、補正情報として格納されている。例えば、0が未補正情報を示し、2が補正済み情報を示すこととしても良い。
図3(b)に示す画像ファイルGF2は、ディジタルスチルカメラ10が出力する画像ファイルの他の一例である。画像ファイルGF2の付属情報格納領域R110には、画像ファイルGF1と異なり、欠陥画素情報が格納されていない。一方で、画像ファイルGF2の付属情報格納領域R110には、ディジタルスチルカメラ10から出力された欠陥画素情報を用いないで画像データGDを補正する(例えば、画像データを解析して欠陥画素情報を生成することによって補正する)ことを指示(以下、解析補正指示という。)する情報が格納されている。図3(b)に示す例では、数値1が解析補正指示情報の役割を果たす。
C.撮像装置の実施例
・ディジタルスチルカメラ10の制御回路100の機能的構成:
図5は、本実施例に係る撮像装置としてのディジタルスチルカメラ10の制御回路100の機能ブロック図である。図5を参照して制御回路100の機能的構成の概要について説明する。
欠陥画素情報取得部M10は、欠陥画素情報を取得して、画像データ出力部M20に送出する。欠陥画素情報取得部M10は、欠陥画素情報が予め記憶された欠陥画素情報記憶部M100と、欠陥画素記憶部M100から欠陥画素情報を読み出す欠陥画素情報読出し部M110とを備え、これらによって欠陥画素情報を取得する。欠陥画素記憶部M100には、例えば、ROM106が相当する。
また、欠陥画素情報取得部M10は、欠陥画素情報生成部M15を備え、これによって欠陥画素情報を生成することによっても欠陥画素情報を取得することができる。欠陥画素情報生成部M15は、高輝度画像撮像部M120、低輝度画像撮像部M130、欠陥画素決定部M140を備える。
高輝度画像撮像部M120は、画像データ生成回路130に、高輝度の画像データを生成させて、これを取得する。低輝度画像撮像部M130は、画像データ生成回路130に、低輝度の画像データを生成させて、これを取得する。
欠陥画素決定部M140は、高輝度画像撮像部M120が取得した高輝度の画像データと、低輝度画像撮像部M130が取得した低輝度の画像データを比較して、欠陥画素を決定することによって、欠陥画素情報を生成する。
画像データ出力部M20は、画像データ生成回路130からRAWデータ形式の画像データを取得し、欠陥画素情報取得部M10から欠陥画素情報を取得する。画像データ出力部M20は、取得した画像データに取得した欠陥画素情報を関連付けて出力する。また、画像データ出力部M20は、画像処理回路120等から補正情報を取得して、取得した補正情報を、欠陥画素情報と同様に、画像データに関連付けて出力することもできる。出力された画像データ、欠陥画素情報、補正情報は、一つの画像ファイルGFとしてメモリーカードMCに記録される。
・ディジタルスチルカメラ10における画像処理:
図6は、本実施例に係る撮像装置としてのディジタルスチルカメラ10における画像処理ルーチンを示すフローチャートである。制御回路100は、撮影に先立ってユーザーによって設定された撮像条件を取得する(ステップS102)。撮像条件には、「風景」「人物」等の撮影モードの設定や、生成した画像データの出力形式の設定が含まれる。
制御回路100は、撮影要求、例えば、シャッターボタンの押し下げに応じて、RAWデータ形式の画像データGDを生成する(ステップS104)。画像データGDは、制御回路100は、先に取得した撮像条件において、画像データの出力形式の設定が、RAWデータ形式であるか、JPEG形式であるかを判定する(ステップS106)。制御回路100は、出力形式の設定が、RAWデータ形式である場合(ステップS106:YES)には、ROM106に予め記憶された欠陥画素情報を読み出して取得する(ステップS108)。ROM106への欠陥画素情報の記憶は、例えば、撮像素子144の品質検査によって発見された欠陥画素についての情報を、ディジタルスチルカメラ10の製造時に、ROM106に記憶させることによって行われる。
制御回路100は、生成したRAWデータ形式の画像データGDと、取得した欠陥画素情報とを画像ファイルGF1(図3(a)参照)としてメモリカードMCに出力する(ステップS110)。
制御回路100は、この際、画像データGDに対して欠陥画素補正処理を実行していないことを示す未補正情報も、同時に画像ファイルGF1に付加する。制御回路100は、メモリカードMCに画像データGDを出力する前に、画像処理回路120を制御して、画像データGDに対して欠陥画素補正処理を実行しても良い。かかる場合には、未補正情報に代えて、画像データGDに対して欠陥画素補正処理を実行したことを示す補正済み情報を、画像ファイルGF1に付加する。
一方、画像データの出力形式の設定が、JPEG形式である場合(ステップS106:NO)には、制御回路100は、画像処理回路120を制御して、RAWデータ形式の画像データGDに対して、色補完処理および画質調整処理を実行(ステップS112)する。色補完処理は、画像データGDを構成する各画素データのフィルタ色以外の色成分を算出し、各画素データごとにRGB各色成分の画素値を有するように、欠けているデータを補完する処理である。画質調整処理には、ホワイトバランス調整処理、欠陥画素補正処理が含まれる。
制御回路100は、画質調整後の画像データGDをYCbCr色空間に変換した後、JPEG圧縮してJPEG形式の画像データを生成する(ステップS114)。制御回路100は生成したJPEG形式の画像データを画像ファイルとしてメモリーカードMCに出力する(ステップS110)。
以上説明したように本実施例に係る撮像装置としてのディジタルスチルカメラ10によれば、RAWデータ形式の画像データGDを出力する場合に、欠陥画素情報を生成された画像データGDと関連付けて、一つの画像ファイルGF1として出力するので、画像ファイルGF1を取得した外部の画像処理装置において、欠陥画素情報を、画像データGD1の画像処理に用いることができる。この結果、外部の画像処理装置は、取得した画像データGDにおいて、欠陥画素に対応する欠陥画素データを正確かつ容易に特定でき、欠陥画素補正を正確に実行することができる。
また、ディジタルスチルカメラ10において、画像データGDに対して欠陥画素補正を実行したか否かを示す情報を、画像データGDと関連付けて、一つの画像ファイルGF1として出力するので、画像ファイルGF1を取得した外部の画像処理装置において、画像データGDの欠陥画素データが補正済みであるか否かを容易に認識することが出来る。この結果、外部の画像処理装置は、効率良く、かつ、適切に、画像データGDに対して、欠陥画素補正を含む画像処理を実行することができる。
また、ディジタルスチルカメラ10は、欠陥画素情報を予め、ROM106に記憶しているので、これを読み出すことで、容易に欠陥画素情報を取得し、出力することができる。
・ディジタルスチルカメラ10における画像処理の変形例:
制御回路100は、予め記憶された欠陥画素情報を、画像データGDと関連付けて出力しない場合には、欠陥画素情報に代えて、解析補正指示情報を付加した画像データGF2(図3(b)参照)を出力しても良い。欠陥画素情報を、画像データGDと関連付けて出力しない場合として、ディジタルスチルカメラ10に欠陥画素情報を始めから記憶されていない場合や、不具合により欠陥画素情報が失われた場合がある。
かかる場合には、画像ファイルGF1を取得した外部の画像処理装置は、画像データGDに関連付けられた欠陥画素情報は無いことを容易に認識できる。この結果、外部の画像処理装置は、適切な画像処理を選択、実行することができる。例えば、画像データGDを解析して欠陥画素情報を生成して、生成した欠陥画素情報を用いて画像データGDに対して欠陥画素補正を実行すると判断できる。
上記実施例では、欠陥画素情報は、製造時にROM106に記憶されているが、ディジタルスチルカメラ10によって生成された画像データを解析して、欠陥画素情報を生成しても良い。例えば、制御回路100は、ユーザーから欠陥画素情報の生成指示に応じて、低輝度の画像データと、高輝度の画像データを取得し、取得した両画像データに基づいて、欠陥画素を決定して欠陥画素情報を生成しても良い。低輝度の画像データの取得は、例えば、絞り146を最小に絞って、撮像することによって、画像データ生成回路130に、低輝度の画像データを生成させることによって実行される。高輝度の画像データの取得は、例えば、絞り146を最大に開いて撮像することによって、画像データ生成回路130に、低輝度の画像データを生成させることによって実行される。両画像データに基づく欠陥画素を決定は、例えば、両画像データにおいて、着目画素に対応する画素データを比較して、画素値の変化量が所定の基準値以下である場合に、着目画素が欠陥画素であると決定することによって実行される。
かかる場合には、両画像データの生成時における欠陥画素情報が、画像ファイルGF1に含まれるので、外部の画像処理装置は、製造後に生じた欠陥画素に対応する欠陥画素データも、正確かつ容易に特定でき、欠陥画素補正を正確に実行することができる。
上記実施例では、補正情報として、補正済み情報または未補正情報を画像ファイルGF1に付加しているが、画像データGDに対して実行された欠陥画素補正についてさらに詳しい情報を補正情報として付加しても良い。例えば、未補正、簡易欠陥画素補正済み、高精度欠陥画素補正済みの3段階の補正情報を付加しても良い。
かかる場合には、画像ファイルGF1を取得した外部の画像処理装置は、画像データGDに対して実行された欠陥画素補正について、より詳しく認識することができる。この結果、外部の画像処理装置は、効率良く、かつ、適切に、画像データGDに対して、欠陥画素補正を含む画像処理を実行することができる。
D.画像処理装置の第1の実施例:
・パーソナルコンピュータ20の機能的構成:
図7は、本実施例に係る画像処理装置としてのパーソナルコンピュータ20(CPU200)の機能ブロック図である。図7を参照してパーソナルコンピュータ20(CPU200)の機能的構成の概要について説明する。
画像データ取得部M210は、画像ファイルGFに含まれている処理対象画像の画像データGDを取得する。欠陥画素情報取得部M220は、画像ファイルGFに含まれ、画像データGDと関連付けられた欠陥画素情報を取得する。補正情報検出部M250は、画像ファイルGFに含まれている補正情報を検出する。
欠陥画素情報生成部M260は、補正情報検出部M250が、補正情報として、解析補正指示情報を検出した場合に、画像データGDを解析して、欠陥画素情報を生成する。
欠陥画素データ特定部M230は、欠陥画素情報取得部M210によって取得された欠陥画素情報、または、欠陥画素情報生成部M260によって生成された欠陥画素情報を用いて、画像データGDにおいて、欠陥画素に対応する画素データを特定する。
補正処理部M240は、欠陥画素データ特定部M230によって特定された欠陥画素データを補正し、補正後画像データGD’を生成する。
・パーソナルコンピュータ20における画像処理:
図8〜図10を参照して本実施例に係るパーソナルコンピュータ20において実行される画像処理について説明する。
図8は、本実施例に係るパーソナルコンピュータ20における画像処理の処理ルーチンを示すフローチャートである。パーソナルコンピュータ20(CPU200)は、スロット203にメモリカードMCが差し込まれると、本画像処理のプログラムを起動する。CPU200は、ユーザの指示に従ってメモリカードMCから処理対象画像の画像データGDを格納した画像ファイルGFを読み出し、画像データGDを取得してRAM201に一時的に格納する(ステップS210)。
CPU200は、続いて、RAWデータ形式である画像データGDに対して、欠陥画素補正処理を実行する(ステップS220)。
図9は、本実施例に係る欠陥画素補正処理の処理ルーチンを示すフローチャートである。CPU200は、画像ファイルGFから画像データGDと関連付けられた補正情報を検出する(ステップS302)。解析補正指示情報が補正情報として検出された場合(ステップS304:YES)、すなわち画像ファイルGFが図3(b)に示す画像ファイルGF2のように、欠陥画素情報に代えて、解析補正指示情報を含む場合には、CPU200は、取得した画像データGDを解析して欠陥画素情報を生成する(ステップS318)。
画像データを解析して欠陥画素情報を生成する方法は、例えば、以下に説明する公知の方法を用いることができる。CPU200は、着目画素と、着目画素の周囲に存在する複数の画素(着目画素と同じフィルタ色の画素に対応する画素データを選ぶ)との画素値(画素データ)の差分を欠陥画素検出値として算出する。CPU200は、算出した欠陥画素検出差分値が、予め設定された欠陥画素検出基準値より大きい場合に、着目画素を欠陥画素であると決定する。CPU200は、画像データを構成する全ての画素データに対応する画素もついて、欠陥画素か否かを決定し、欠陥画素情報を生成する。
一方、CPU200は、解析補正指示情報を検出できない場合(ステップS304:NO)、すなわち、画像ファイルGFが図3(a)に示す画像ファイルGF1のように、欠陥画素情報を含む場合には、画像ファイルGFから画像データGDと関連付けられた欠陥画素情報を取得する(ステップS306)。以下、図4に示すCP_def1およびCP_def2を含むN個の欠陥画素を有する撮像素子144の欠陥画素情報(図3(a)参照)を取得した場合を具体例として説明する。
続いて、CPU200は、ステップS306で取得した欠陥画素情報またはステップS308で生成した欠陥画素情報に基づいて、着目する欠陥画素の位置情報(以下、着目位置情報という。)を取得する(ステップS310)。例えば、CPU200は、欠陥画素CP_def1を着目する欠陥画素として設定し、CP_def1の位置情報(xp1、yp1)を着目位置情報として取得する。
CPU200は、着目する欠陥画素が、撮像素子144の端部に位置するか否かを判定する(ステップS312)。撮像素子144が、図4のX軸方向に、M個並んでいる場合(欠陥画素の位置情報におけるX座標が、0〜M−1で表される場合)において、着目位置情報のX座標の値をxpとすると、以下の式(1a)または(1b)を満たす場合、着目する欠陥画素が、端部に位置すると判定され、満たさない場合には、端部に位置しないと判定される。
xp<2 …(1a)
xp>M−3 …(1b)
すなわち、撮像素子144を構成する画素のうち、左右両端に位置する画素および左右から2列目に位置する画素が、端部に位置する画素であると判定される。具体例では、図4に示すように、欠陥画素CP_def1は、端部に位置しないと判定され、欠陥画素CP_def2は端部に位置すると判定される。CPU200は、着目する欠陥画素が、端部に位置しない場合(ステップS312:NO)には、着目する欠陥画素に対応する欠陥画素データを画像データGDを構成する画素データから特定し、特定した欠陥画素データに対して、標準欠陥画素補正を実行する(ステップS314)。
図10は、欠陥画素補正の具体例を概念的に示す説明図である。欠陥画素の画素値は、欠陥画素と同じフィルタ色を有する画素のうち、欠陥画素の左右方向で最も近い位置にある画素に対応する画素データを用いて補正される。図10(a)は、位置(xp1、yp1)の画素CP_def1の画素値G(x)に対する標準欠陥画素補正の具体例を示している。CPU200は、位置(xp1−2、yp1)の画素CP_leftに対応する画素データの画素値G(x−2)と、位置(xp1+2、yp1)の画素CP_rightに対応する画素データの画素値G(x+2)との平均値を用いて、G(x)の画素値を補正する。
CPU200は、着目する欠陥画素が、端部に位置する場合(ステップS312:YES)には、着目する欠陥画素に対応する欠陥画素データに対して、端部欠陥画素補正を実行する(ステップS316)。図10(b)は、端部欠陥画素補正の具体例を示している。欠陥画素CP_def2の画素値B(x)は、図10(a)に示すように、位置(xp2+2、yp2)の画素CP_rightに対応する画素データの画素値B(x+2)を、B(x)の値として補正される。
CPU200は、欠陥画素情報に基づく全欠陥画素について、欠陥画素補正が終了したか否かを判定する(ステップS318)。取得された欠陥画素情報がN個の欠陥画素の位置情報であるとき、CPU200は、N個の欠陥画素に対応する欠陥画素データが全て補正されていない場合には、全欠陥画素補正が終了していないと判定し、全て補正された場合には、全欠陥画素補正が終了したと判定する(ステップS318:YES)。
CPU200は、全欠陥画素補正が終了していない場合(ステップS318:NO)には、未補正の欠陥画素の画素位置を新たに取得(ステップS310)し、上述した処理(ステップS312〜S316)を繰り返す。CPU200は、全欠陥画素補正が終了した場合(ステップS318:YES)には、本処理を終了して、図8の処理ルーチンにリターンする。欠陥画素補正処理が実行された画像データを補正後画像データGD’とする。
図8に戻って説明を続けると、CPU200は、補正後画像データGD’に対して、色補完処理を実行する(ステップS230)。色補完処理は、画像データGDを構成する各画素データのフィルタ色以外の色成分を算出し、各画素データごとにRGB各色成分の画素値を有するように、欠けているデータを補完する処理である。補完処理によって、デジタルカメラ10の機器特性に依存した色空間(以下、CCDRGB色空間という。)におけるRGBデータ(以下、画像データGD’’という。)が生成される。
CPU200は、続いて、画像データGD’’に対して、色変換処理を実行する(ステップS240)。色変換処理は、画像データの色空間を目的に応じて適切な適切な色空間へ変換する処理である。本実施例では、画像データGD’’の色空間を、ディジタルスチルカメラ10に依存したCCDRGB色空間から、プリンタ30に出力する画像データの画質調整処理に適したwRGB色空間へと変換する。例えば、CPU200は、画像データGD2の色空間を、機器独立色空間(例えば、XYZまたはLab色空間)を介して、CCDRGB色空間からwRGB色空間へと変換する。
CPU200は、続いて、画像データGD’’の入出力特性を、出力機器を考慮した入出力特性に変換する逆ガンマ補正処理を実行する。(ステップS250)。本実施例では、プリンタ30を出力機器とするので、プリンタ30の入出力特性を示すガンマ値を用いて、逆ガンマ補正が実行される。
CPU200は、画像データGD’’に対して、必要な画質調整処理を実行する(ステップS260)。例えば、カラーバランス(ホワイトバランス)、コントラスト、色彩、シャープネスの補正を始めとする一般的な画質調整処理が実行され得る。CPU200は、これらの画質調整処理の全部または一部を、wRGB空間に変換する前にCCDRGB色空間において実行しても良いし、逆ガンマ補正前に実行しても良い。
CPU200は、画質調整処理後の画像データGD’’をプリンタドライバに出力して(ステップS270)、本処理ルーチンを終了する。プリンタドライバでは、画像データGD’’をCMYKデータに変換する。すなわち、画像データGD’’の表色系をプリンタ30が印刷処理を実行する際に用いる表色系であるCMYK表色系に変換する。具体的には、HDD202(または、ROM)に格納されているRGB表色系とCMYK表色系とを対応付けたルックアップデーブルを用いて実行される。また、ハーフトーン処理、解像度変換処理が実行され、印刷用のラスタデータとしてプリンタ30に出力される。
以上説明したように、本実施例に係る画像処理によれば、画像データGDと関連付けられた欠陥画素情報を取得し、取得した欠陥画素情報を用いて、画像データGDを構成する画素データから欠陥画素データを特定して、欠陥画素データを補正する。この結果、撮像装置とは別体の外部画像処理装置において、取得した画像データGDにおける欠陥画素データを正確に、補正することができる。
また、欠陥画素情報に代えて、解析補正指示情報を、画像データGDと関連付けられた補正情報として取得した場合には、画像データGDを解析して生成された欠陥画素情報を用いて、欠陥画素情報を補正するので、画像データGDと関連付けられた欠陥画素情報が取得できない場合であっても、適切に欠陥画素補正を実行することができる。
E.画像処理装置の第2の実施例:
・パーソナルコンピュータ20の機能的構成:
図11は、本実施例に係る画像処理装置としてのパーソナルコンピュータ20(CPU200)の機能ブロック図である。図11を参照してパーソナルコンピュータ20(CPU200)の機能的構成の概要について説明する。なお、図7を参照して説明した第1の実施例と同一の構成については、図7と同一の符号を付し、その説明を省略する。
補正指示検出部M270は、ユーザー等による欠陥画素補正に関する補正指示を検出する。高精度補正処理部M280は、補正指示検出部M270が、精度の高い欠陥画素補正を指示する補正指示を検出した場合に、補正処理部M240による欠陥画素補正よりも高い精度で欠陥画素データ特定部M230によって特定された欠陥画素データを補正し、補正後画像データGD’を生成する。
補正処理部M240は、第1の実施例と同様に、欠陥画素データ特定部M230によって特定された欠陥画素データを補正し、補正後画像データGD’を生成する。第1の実施例と異なり、補正指示検出部M270が、精度の高い欠陥画素補正を指示する補正指示を検出した場合や、補正済み情報を検出した場合には、欠陥画素補正を実行しない。
・パーソナルコンピュータ20における画像処理:
図12を参照して本実施例に係るパーソナルコンピュータ20において実行される画像処理について説明する。本実施例に係る画像処理において、欠陥画素補正処理(図8:ステップ220)以外の処理は、図8を参照して説明した第1の実施例に係る画像処理と同一であるので、その説明を省略し、本実施例に係る欠陥画素補正処理についてのみ説明する。
図12は、本実施例に係る欠陥画素補正処理の処理ルーチンを示すフローチャートである。CPU200は、欠陥画素補正処理を開始すると、第1の実施例におけるステップS306と同様に、画像ファイルGFから画像データGDと関連付けられた欠陥画素情報を取得する(ステップS402)。
CPU200は、続いて、画像ファイルGFから画像データGDと関連付けられた補正情報を検出する(ステップS404)。さらに、CPU200は、ユーザー等から画像データGDに対して精度の高い欠陥画素補正を実行する高精度補正指示と通常の欠陥画素補正を実行する通常補正指示とのいずれかを検出する(ステップS406)。例えば、ユーザーが、画像データを画像処理(現像)するモードとして、高画質モードと、高速モードの2種類を選択できるようする。そして、高画質モードが選択された場合には、高精度補正指示であるとして検出し、高速モードが選択された場合には、通常補正指示であるとして検出する。
CPU200は、検出された補正指示が、高精度補正指示か通常補正指示かを判断する(ステップS408)。補正指示が高精度補正指示である場合(ステップS408:YES)には、取得した欠陥画素情報を用いて画像データGDにおける欠陥画素データを特定し、精度の高い欠陥画素補正を実行する(ステップS410)。
精度の高い欠陥画素補正としては、例えば、以下に説明する公知の方法を用いることができる。図13は、精度の高い欠陥画素補正の内容の一例を説明する説明図である。図13において、中央に位置するB(ブルー)をフィルタ色とする画素CP_defは、補正対象の欠陥画素である。画素CP_defの画素値をB_defとする。そして、同一のフィルタ色を有する画素であって、図13において画素CP_defから上下左右斜めの8方向に存在する画素を参照画素CP1〜CP8とし、それぞれの画素値をB1〜B8とする。
CPU200は、画素CP_defを上下方向、左右方向、斜め2方向に挟む参照画素の画素値の差分値をそれぞれ、以下の式(2a)〜(2d)によって算出する。
D_26 = | B2 - B6 | …(2a)
D_48 = | B4 - B8 | …(2b)
D_15 = | B1 - B5 | …(2c)
D_37 = | B3 - B7 | …(2d)
そして、CPU200は、算出した4つの差分値(D_26、D_48、D_15、D_37)のうち最小値を示す差分値を認識する。そして、CPU200は、認識した最小の差分値の算出に用いた画素値の平均値を、欠陥画素値B_defとして用いることにより、欠陥画素データを補正する。例えば、図13に示す例において、
MIN(D_26、D_48、D_15、D_37) = D_15 …(3a)
ならば、
B_def = ( B1 + B5 ) / 2 …(3b)
となる。このような欠陥画素補正は、補正の際に考慮する周囲の画素数が通常の補正よりも多いため、精度の高い補正が望める反面、補正に要する演算時間が長くなる。そのため、このような欠陥画素補正は、一般的に演算能力が低いディジタルスチルカメラにおいて、実行するには適していない。
CPU200は、検出された補正指示が、通常補正指示である場合(ステップS408:NO)には、CPU200は、ステップS404で補正情報として補正済み情報(図3(a)参照)を検出したか否かを判断する(ステップS412)。CPU200は、補正済み情報を検出した場合(ステップS412:YES)には、画像データに対して、欠陥画素補正を実行することなく、本処理を終了する。
CPU200は、補正済み情報を検出しなかった場合(ステップS212:NO)には、取得した欠陥画素情報を用いて、画像データGDにおける欠陥画素データを特定し、通常の欠陥画素補正を実行する(ステップS414)。通常の欠陥画素補正は、例えば、第1の実施例において説明した欠陥画素補正(図9:ステップS310〜ステップS318)を用いる。
以上説明したように、本実施例に係る画像処理によれば、第1の実施例と同様に、画像データGDと関連付けられた欠陥画素情報を用いて、撮像装置とは別体の外部の画像処理装置において、取得した画像データGDにおける欠陥画素データを、正確に補正することができる。
さらに、画像ファイルGFから画像データGDと関連付けられた補正情報として、補正済み情報を検出した場合には、通常の欠陥画素補正を実行しない。一方で、画像ファイルGFから補正情報が検出されない場合であって、高精度補正指示が検出されない場合には、通常の欠陥画素補正を実行する。この結果、欠陥画素補正が既に実行された画像データに対して、重複して欠陥画素補正を実行することを回避し、補正が必要な画像データに対してのみ、欠陥画素補正を実行できるので、画像処理装置のメモリリソースの節約、画像処理時間の短縮を図ることができる。
また、高精度補正指示が検出された場合には、画像ファイルGFから補正済み情報が検出されたか否かに関わらず、精度の高い欠陥画素補正を画像データGDに対して実行するので、ユーザー等の要求に応じて、適切に精度の高い欠陥画素補正を実行することができる。
E.画像処理装置の第3の実施例:
・パーソナルコンピュータ20の機能的構成:
図14は、本実施例に係る画像処理装置としてのパーソナルコンピュータ20(CPU200)の機能ブロック図である。図14を参照してパーソナルコンピュータ20(CPU200)の機能的構成の概要について説明する。なお、図7を参照して説明した第1の実施例と同一の構成については、図7と同一の符号を付し、その説明を省略する。
欠陥画素情報生成部M260は、画像データGDを解析して、欠陥画素情報を生成する。増加判定部M290は、欠陥画素情報取得部M220によって取得された欠陥画素情報と、欠陥画素情報生成部M260によって生成された欠陥画素情報とを比較して、欠陥画素の数が増加しているか否かを判定する。増加判定部M290は、欠陥画素の数が増加していると判定した場合には、欠陥画素情報生成部M260によって生成された欠陥画素情報を、記憶装置(例えば、HDD202)に記録する。
報知部M295は、増加判定部M290が欠陥画素の数が増加していると判定した場合に、ユーザー等にその旨を報知する。
・パーソナルコンピュータ20における画像処理:
図15を参照して本実施例に係るパーソナルコンピュータ20において実行される画像処理について説明する。
図15は、本実施例に係る画像処理装置としてのパーソナルコンピュータ20における画像処理の処理ルーチンを示すフローチャートである。パーソナルコンピュータ20(CPU200)は、ユーザー等の指示に従って、あるいは、一定期間ごとに自動的に、本画像処理のプログラムを起動して、欠陥画素の増加判定を実行する。CPU200は、ユーザの指示に従って、または、増加判定の対象であるディジタルスチルカメラ10によって撮像された最新のファイルを自動的に選択して、HDD202やメモリーカードMCから処理対象画像の画像データGDが格納された画像ファイルGFを読み出し、画像データGDを取得する(ステップS502)。
CPU200は、画像ファイルGFから画像データGDと関連付けられた欠陥画素情報を取得する(ステップS504)。CPU200は、取得した画像データGDを解析して、ステップS504で取得した欠陥画素情報とは別に欠陥画素情報を生成する(ステップS506)。欠陥画素情報の生成には、第1の実施例に係る画像処理における欠陥画素情報の生成(図9:ステップS318)と同様の方法を用いる。
CPU200は、続いて、画像データGDを解析して生成された欠陥画素情報と、画像データと関連付けられた欠陥画素情報を比較して、欠陥画素の数が増加しているか否かを判定する(ステップS508)。例えば、生成された欠陥画素情報に基づく欠陥画素の数と、関連付けられた欠陥画素情報に基づく欠陥画素の数の差が基準値以上である場合に、CPU200は、欠陥画素の数が増加していると判定する。
CPU200は、欠陥画素の数が増加していると判定した場合(ステップS508:YES)には、欠陥画素の数が増加していることをユーザー等に報知する(ステップS510)。ユーザー等への報知は、例えば、パーソナルコンピュータ20の表示装置25に、欠陥画素の増加数を表示することによって行われる。さらに、CPU200は、生成された欠陥画素情報を記憶しておく(ステップS512)。CPU200は、同じディジタルスチルカメラ10について、以前に記憶された欠陥画素情報がHDD202ある場合には、記憶された欠陥画素情報を、生成された欠陥情報と更新して記憶しても良く、別々に保存して欠陥画素情報の履歴を残しても良い。
以上説明したように、本実施例に係る画像処理によれば、画像データGDと関連付けられた欠陥画素情報と、画像データを解析して生成された欠陥画素情報とを比較して、欠陥画素の数が増加していると判定された場合に、増加を報知する。この結果、ユーザー等は、画像データを生成したディジタルスチルカメラ10の撮像素子の欠陥画素が、経時劣化等によって、増加していることを認識することができる。
また、欠陥画素の数が増加していると判定された場合に、新たに生成した欠陥画素情報をHDD202等に記憶させておくので、同じディジタルスチルカメラ10で生成された画像データに対して、欠陥画素補正を実行する場合に、記憶させた欠陥画素情報を用いることができる。この結果、ディジタルスチルカメラ10の製造後に、発生した欠陥画素に対応する画素データについても正確に補正することができる。
以上、実施例、変形例に基づき本発明に係る撮像装置および画像処理について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。