(57)【要約】【課題】処理対象となる原画像の内容に依存することなく、良好なＭｕｌｔｉＳｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供する。【解決手段】Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理において、処理対象となる原画像Ｄ２の画素値レベルに応じて、スケールの異なる複数の周辺関数Ｄ３−１〜Ｄ３−３から生成されるぼけ具合の異なる複数のぼけ画像Ｄ４−１〜Ｄ４−３からいずれかを画素毎に選択することで、合成ぼけ画像Ｄ６を作成する。合成ぼけ画像Ｄ６に対してローパスフィルタ４１０を施すことによって、不自然な境界の不連続の発生を防止し、Ｒｅｔｉｎｅｘ処理を行なう。【選択図】        図２
2005004506.tif 000002
【特許請求の範囲】
【請求項１】
Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第１ステップと、
前記原画像を区画毎に複数のレベルに分類する第２ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行する第３ステップとをコンピュータに実行させる、画像処理プログラム。
【請求項２】
前記第３ステップは、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、
前記原画像と前記合成ぼけ画像とに基づいてＲｅｔｉｎｅｘ処理を実行するステップとを含む、請求項１に記載の画像処理プログラム。
【請求項３】
前記区画は画素であり、
前記第２ステップは、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３ステップは、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、請求項１または２に記載の画像処理プログラム。
【請求項４】
前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてＲｅｔｉｎｅｘ処理を行なう、請求項２に記載の画像処理プログラム。
【請求項５】
前記第２ステップは、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３ステップは、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、請求項１に記載の画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像処理プログラムに関し、特にデジタルカメラやフィルムスキャナなどの出力画像の処理においてＲｅｔｉｎｅｘ処理を行う画像処理プログラムに関する。
【０００２】
【従来の技術】
従来の画像処理の分野では、生体における網膜や皮質と同等の役割をモデル化した画像処理技術として、Ｃｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄ  Ｒｅｔｉｎｅｘ処理が提案されている（例えば、下記特許文献１参照）。
【０００３】
Ｒｅｔｉｎｅｘ処理とは、デジタルデータである画像情報を補正する方法である。Ｒｅｔｉｎｅｘ処理には各種の変形例が考えられるが、ここでは、視覚をモデル化して注目画素に対して周辺情報を加味する画像の補正方法を総括してＲｅｔｉｎｅｘ処理と呼んでいる。Ｒｅｔｉｎｅｘ処理では画像中の明暗部に応じて、局所局所でゲイン調整が変わるため、ダイナミックレンジを圧縮する効果がある。
【０００４】
Ｃｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄ  Ｒｅｔｉｎｅｘアルゴリズムに関して、Ｓｉｎｇｌｅ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＳＳＲ）、およびＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＭＳＲ）が知られている。以下にそれぞれのアルゴリズムについて説明する。
【０００５】
Ｓｉｎｇｌｅ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＳＳＲ）は、次の式（１）によって表される。式（１）の処理をＲ，Ｇ，Ｂの各チャンネルに対して実行し、統合することでカラー出力画像が得られる。
【０００６】
2005004506.tif 000003
ここで、「＊」はコンボリューション積分を表す。また、Ｔｉ（ｘ，ｙ）はＳＳＲ処理後の画素値を表し、Ｉｉ（ｘ，ｙ）は原画像の画素値を表す。Ｆ（ｘ，ｙ）は、注目画素の周囲の画素を考慮してぼけ画像を作成するためのフィルタに用いられる関数である。Ｆ（ｘ，ｙ）として例えばガウス関数を用いると、Ｆ（ｘ，ｙ）は、次の式（２）および（３）を満たすこととなる。
【０００７】
Ｆ（ｘ，ｙ）＝Ｋ・ｅｘｐ｛−（ｘ２＋ｙ２）／ｃ２｝              …（２）
ΣΣＦ（ｘ，ｙ）＝１                                        …（３）
ここで、ｃはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。式（３）を満たすように定数Ｋは定められる。一般的には、ｃの値が小さい程、画像処理においてエッジを強調する効果が高くなり、ｃの値が大きい程、ダイナミックレンジ圧縮の効果が高くなることが知られている。
【０００８】
また、ＳＳＲ処理後の出力画像のコントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下３％前後の画素値はクリッピングしてから、線形変換によって出力ビット数（例えば８ビット）に応じたデジタル値に割り振られる。
【０００９】
図１０は、ぼけ画像作成のためにガウス関数を用いたＳＳＲの具体的な処理を説明するための図である。
【００１０】
図を参照して、ｉ＝Ｒ，Ｇ，Ｂからなるオリジナル画像（処理対象画像）Ｄ２に対して処理が行われる。なお、オリジナル画像においてＲＧＢを合成した画像を図中Ｐ２で示している。
【００１１】
Ｄ２の各画素値は、Ｉｉ（ｘ，ｙ）として示される。ぼけ画像Ｄ４を作成するためにＩｉ（ｘ，ｙ）＊Ｇ（ｘ，ｙ）の演算が行われる。ここにＧ（ｘ，ｙ）はガウス関数である。
【００１２】
オリジナル画像の各画素値を、ぼけ画像の各画素値で除算する処理が行われ、そのｌｏｇを求めることで、Ｒｅｔｉｎｅｘ処理後の画像Ｄ５が得られる。Ｄ５の各画素値をここではＲｉ（ｘ，ｙ）とする。Ｒ，Ｇ，ＢからなるＤ５を合成することで、Ｒｅｔｉｎｅｘ処理後の画像Ｐ１が得られる。
【００１３】
一方、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＭＳＲ）では、式（２）における定数ｃとして、異なる幾つかの値が用いられる。これにより、周辺の広がりが異なるガウス関数によるＳＳＲ処理が行われる。それぞれの結果を足し合わせて平均化することにより、エッジ強調、およびダイナミックレンジ圧縮を同時に達成している。
【００１４】
図１１は、ガウス関数を用いたＭＳＲ処理を説明するための図である。
図を参照して、周辺の広がりが狭いガウス関数（サイズの小さいフィルタ）により作成されたぼけ画像Ｄ４−１、周辺の広がりが中位のガウス関数（サイズの中位のフィルタ）により作成されたぼけ画像Ｄ４−２、および周辺の広がりが広いガウス関数（サイズの大きいフィルタ）により作成されたぼけ画像Ｄ４−３がオリジナル画像Ｄ２に基づいて作成される。
【００１５】
そして、オリジナル画像Ｄ２を各ぼけ画像で除算し、それぞれの対数をとることで、画像Ｄ５−１〜Ｄ５−３が得られる。フィルタサイズが小さい関数で処理を行った画像の方がエッジ強調効果が高く、逆にフィルタサイズが大きい関数で処理を行った画像の方がダイナミックレンジ圧縮の効果が高い。画像Ｄ５−１〜Ｄ５−３を足し合わせて平均化することにより、エッジ強調、およびダイナミックレンジ圧縮を同時に達成することができる。
【００１６】
ＭＳＲは、次の式（４）によって表される。式（４）の処理をｉ＝Ｒ，Ｇ，Ｂの各チャンネルに対して実行し、各スケールから得られる出力に各々重みを掛けて合成することでカラー出力画像を得ることができる。
【００１７】
2005004506.tif 000004
ここで、「＊」はコンボリューション積分を表す。また、Ｔｉ（ｘ，ｙ）はＭＳＲ処理後の画素値を表し、Ｉｉ（ｘ，ｙ）は原画像の画素値を表す。
【００１８】
Ｆｓ（ｘ，ｙ）は、注目画素の周囲の画素を考慮してぼけ画像を作成するためのフィルタに用いられる関数である。Ｆｓ（ｘ，ｙ）としてガウス関数を用いると、Ｆｓ（ｘ、ｙ）は式（５）で表され、式（６）を満たすように定数Ｋは定められる。
【００１９】
ここで、ｃｓはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。このｃｓの値に応じてダイナミックレンジ圧縮の効果が異なることが知られている。スケール数Ｓ＝１の場合がＳＳＲに相当し、通常のＭＳＲでは、Ｓ＝３程度が普通である。ｗｓは各スケールに対する重み係数であり、式（７）を満足するものである。例えば、Ｓ＝３の場合にｗｓ＝１／３として各スケールの出力が平均化される。
【００２０】
また、Ｒｅｔｉｎｅｘ処理後の出力画像Ｔｉ（ｘ，ｙ）に対して、コントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下３％前後の画素値をクリッピングし、線形変換によって出力ビット数（例えば８ビット）に応じたデジタル値に割り振る。
【００２１】
ネガフィルムなどからフィルムスキャナによってデジタル化された画像データや、デジタルスチルカメラなどで撮影されたデジタル画像データに対して以上のようなＳＳＲ、およびＭＳＲ処理を適用する研究が盛んに行われている。
【００２２】
また、以下の特許文献２は、画像の異なる領域間の小さなコントラスト差を維持しながら、画像の異なる領域間の大きなコントラスト差を縮小する技術を開示している。
【００２３】
また、以下の非特許文献１は、Ｒｅｔｉｎｅｘ処理を線形演算で構成することを開示している。
【００２４】
【特許文献１】
米国特許第５，９９１，４５６号明細書
【００２５】
【特許文献２】
特開２００１−２４５１５４号公報
【００２６】
【非特許文献１】
小林正明、小寺宏嘩、「Ｒｅｔｉｎｅｘモデルによる画像の見えの改善」、カラーフォーラムＪＡＰＡＮ２００１（第４７回光学四学会連合講演会、２００１年１１月１３日〜１５日開催）予稿集
【００２７】
【発明が解決しようとする課題】
ところが、上述した従来のＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘアルゴリズムなどの画像処理技術では、各スケールの出力に対する重み係数ｗｓの与え方が不明確であり、処理対象となる原画像の内容等に応じて、各重み係数の値をその都度調整しなければならないという問題があった。
【００２８】
上述したように、各スケールの出力を単純に平均化することも考えられるが、各スケールのカーネル値ｃｓの値に応じてダイナミックレンジ圧縮の効果は異なっており、場合によっては、一つのスケールによる効果を他のスケールによって低減させてしまう場合もあった。
【００２９】
本発明の目的は、処理対象となる原画像の内容に依存することなく、良好なＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することを目的としている。
【００３０】
【課題を解決するための手段】
上記目的を達成するため、この発明のある局面に従うと、Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムは、処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第１ステップと、原画像を区画毎に複数のレベルに分類する第２ステップと、区画毎に、当該区画が分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行する第３ステップとをコンピュータに実行させる。
【００３１】
この発明によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【００３２】
好ましくは第３ステップは、区画毎に、当該区画が分類されたレベルに対応させて、ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、原画像と合成ぼけ画像とに基づいてＲｅｔｉｎｅｘ処理を実行するステップとを含む。
【００３３】
このように選択された区画の合成に基づく合成ぼけ画像を生成することで、Ｒｅｔｉｎｅｘ処理の効率をよくすることができる。
【００３４】
好ましくは区画は画素であり、第２ステップは、原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、第３ステップは、選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱いぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強いぼけ画像を選択する。
【００３５】
このように画素を区画とし、その明るさに応じてぼけ画像を選択することで、さらに良好なＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【００３６】
好ましくは画像処理プログラムは、合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてＲｅｔｉｎｅｘ処理を行なう。
【００３７】
このようにローパスフィルタを用いることで、出力される画像の画質を向上させることができる。
【００３８】
好ましくは第２ステップは、原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、第３ステップは、所定のチャンネルの画素値レベルによる分類に基づいて、ぼけ画像のいずれかの画素値を選択、合成する。
【００３９】
好ましくは所定のチャンネルは、Ｇｒｅｅｎのチャンネルとする。また、Ｒｅｄ、Ｇｒｅｅｎ、Ｂｌｕｅの各チャンネルの画像データからＹａｂ色空間に変換処理を行なってからＲｅｔｉｎｅｘ処理を行なう場合は、前記所定のチャンネルは、Ｙのチャンネルとすることが望ましい。
【００４０】
【発明の実施の形態】
本発明の実施の形態に開示される画像処理方法、画像処理プログラムおよび画像処理装置などでは、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ方式において、各スケールから生成したぼけ画像を、原画像の画素値レベルに応じて選択して合成し、その合成ぼけ画像に基づきＲｅｔｉｎｅｘ処理を行なうことを特徴としている。さらに好ましくは、合成ぼけ画像に対して、ローパスタイプのフィルタが適用される。
【００４１】
すなわち、処理対象となる原画像の画素値レベルに応じて、生成した複数のぼけ画像のいずれかを自動的に選択する（複数のぼけ画像の重み係数を自動的に割り振る）ようにプログラムや装置などを構成することで、合成される合成ぼけ画像の画素値を明確に決定することができる。さらに、合成ぼけ画像にローパスフィルタを施すことによって、不自然な境界の不連続も起こさずに、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムや装置などを提供することができる。
【００４２】
以下に本発明の実施の形態について、図面を参照しながら順に説明する。
［第１の実施の形態］
図１は、第１の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。図中、画像データの流れを矢印で示している。
【００４３】
図を参照して撮影装置は、撮像デバイスとしてのＣＣＤイメージセンサ１０１と、Ａ／Ｄコンバータ１０２と、Ｒｅｔｉｎｅｘ処理部１０３と、γ補正部１０４と、表示・保存部１０５とを備えている。
【００４４】
ＣＣＤイメージセンサ１０１は、光電変換によって入射光から電気信号であるアナログ信号Ｒ，Ｇ，Ｂを生成する。Ａ／Ｄコンバータ１０２はアナログ信号Ｒ，Ｇ，Ｂを、例えば８ｂｉｔの離散的なデジタル信号Ｒ，Ｇ，Ｂに変換する。Ｒｅｔｉｎｅｘ処理部１０３は、Ａ／Ｄコンバータ１０２でＡ／Ｄ変換のみ施されたデジタル画像信号に対して、ＭＳＲのＲｅｔｉｎｅｘ処理を各ＲＧＢのチャンネルに対して独立に行う。
【００４５】
γ補正部１０４は、Ｒｅｔｉｎｅｘ処理部１０３で得られたＲｅｔｉｎｅｘ出力に対して、後工程である表示・保存工程で求められる所定のγ補正を行う。
【００４６】
最後に、表示・保存部１０５では、γ補正部１０４で所定のγ処理が施された画像データをモニタなどに表示、またはハードディスクなどに保存する。
【００４７】
図１に示した構成をデジタルスチルカメラ内部などでハード的に実行することも可能であるが、一旦保存された画像データに対して、パソコンなどにインストールされたアプリケーションを用いて、ソフト的に上述したＲｅｔｉｎｅｘ処理、およびγ補正処理などの画像処理を実行することも可能である。
【００４８】
なお、上記（１）、（４）式で示されるＲｅｔｉｎｅｘ処理にはコンボリューション積分が含まれているため、その処理速度はＦ（ｘ，ｙ）で示されるガウス関数などのフィルタのサイズや画像サイズそのものに大きく依存する。一般に、Ｒｅｔｉｎｅｘ処理に用いられるフィルタのサイズは非常に大きく、比較的解像度の低い画像（例えば６４０×４８０画素のＶＧＡ）でも、カーネル値ｃ＝１００程度のサイズのフィルタが用いられることが多い。このような場合、最近の高速な処理を行うパーソナルコンピュータでもその処理を完了するまでに数時間かかってしまうことがあり、実用的ではない。
【００４９】
コンボリューション積分を高速に実行する方法として、周波数領域で計算を実行する手法であるフーリエ変換が知られている。デジタル画像のような離散的な信号に対しては、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍｓ）やＤＦＴ（Ｄｉｓｃｒｅｔｅ  Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍｓ）といった高速処理手法が適用できる。上記（１）式のコンボリューション積分は、画像サイズが２のべき乗の場合、式（８）で表現することができる。
【００５０】
2005004506.tif 000005
ここで、ＦＦＴ−１は逆ＦＦＴを、「・」は周波数領域での掛け算を表す。この場合、その処理速度はＦ（ｘ，ｙ）で表されるガウス関数のフィルタサイズには関係なく、画像サイズそのものに依存することになる。なお、画像サイズが２のべき乗でない場合、ＤＦＴを代用に用いることができる。
【００５１】
図２は、Ｒｅｔｉｎｅｘ処理部１０３で行なわれる、Ｍｕｌｔｉ  ＳｃａｌｅＲｅｔｉｎｅｘ処理を実施するブロックを示す図である。図中においては、矢印で画像データの流れを示している。ここでは、スケール数Ｓ＝３としている。
【００５２】
処理対象となる原画像Ｄ２は、異なるカーネル値から生成されるスケールの複数のフィルタ（周辺関数）Ｄ３−１〜Ｄ３−３と、演算器４０１〜４０３でコンボリューション積分されることにより、ぼけ画像Ｄ４−１〜Ｄ４−３が生成される。ここで上述のとおり、コンボリューション積分の代わりに、ＦＦＴやＤＦＴなどのフーリエ変換の手法をもとに、各々を一旦周波数領域に変換した後に掛け合わせて、実空間へ逆変換することでも、ぼけ画像Ｄ４−１〜Ｄ４−３を生成することができる。
【００５３】
セレクタ４０８では、原画像Ｄ２を構成する画素の画素レベルに応じて、画素毎にぼけ画像Ｄ４−１〜Ｄ４−３のいずれかが選択される。選択されたぼけ画像の画素値は各々、セレクタ４０８内で合成され、合成ぼけ画像Ｄ６が作成される。
【００５４】
ここで、セレクタ４０８で参照される原画像Ｄ２の画素値データは、ＲＧＢの各チャンネル信号のうち、Ｇチャンネルの画素値であることが望ましい。あるいは、ＲＧＢの各チャンネル信号を合成して得られる輝度信号を参照する構成としてもよい。
【００５５】
得られた合成ぼけ画像Ｄ６の各画素は、ぼけ画像Ｄ４−１〜Ｄ４−３のいずれかの画素値で構成されるが、原画像Ｄ２の内容によっては、各々異なるぼけ画像から選択された画素が隣接する領域において、不連続な境界を形成する場合が生ずる。この場合、得られるＲｅｔｉｎｅｘ出力画像Ｄ５においても不自然な境界が形成されることになり好ましくない。
【００５６】
合成ぼけ画像Ｄ６において不連続な境界部分は、比較的急峻に画素値が変化する部分であり、高い空間周波数を有する領域でもある。従って、本実施の形態では合成ぼけ画像Ｄ６に対してローパスフィルタ４１０を適用することで、合成ぼけ画像Ｄ６における不連続な境界（急峻な画素値変化）部分を無くすこととしている。具体的には、合成ぼけ画像Ｄ６をＦＦＴやＤＦＴなどのフーリエ変換の手法をもとに、一旦周波数領域に変換した後、低周波域のみを通過させるようなフィルタリングを行い、実空間へ逆変換する。
【００５７】
こうして合成ぼけ画像Ｄ６に対してローパスフィルタ４１０で平滑化を行い、さらに演算器４１１で原画像Ｄ２を除算することで、Ｒｅｔｉｎｅｘ出力Ｄ５が得られる。
【００５８】
図２におけるＲｅｔｉｎｅｘ処理は、図１に示されるように、Ｒ，Ｇ，Ｂの各チャンネルに対して独立に行われる。但し、ＲやＢのチャンネル処理時であってもセレクタ４０８で参照される原画像Ｄ２のチャンネルは、Ｇ（Ｇｒｅｅｎ）あるいは輝度のチャンネルであることが望ましい。
【００５９】
すなわち、図２の処理部がＲの画像を処理する場合においては、演算器４０１〜４０３および４１１で処理の対象となる原画像Ｄ２は、Ｒのチャンネルの画像である。これに対して、セレクタ４０８に入力される原画像Ｄ２は、Ｇのチャンネルの画像（または輝度のチャンネルの画像）である。
【００６０】
セレクタ４０８での処理について説明する。セレクタ４０８では、Ｇあるいは輝度のチャンネルの画像の画素は、画素レベルに応じて、明るい画素から暗い画素まで幾つかのレベルに分類される。例えば、スケール数Ｓ＝３の場合には３つに分類される。画素のレベルに応じて、適当なぼけ画像からそのぼけ画像の画素データが選択される。
【００６１】
Ｒｅｔｉｎｅｘ処理の主な目的の一つとして、シャドー部の再現性の向上が挙げられるが、シャドー部の再現性を向上させるためには、カーネル値の小さなスケールによるＲｅｔｉｎｅｘ出力が適している。しかし、このＲｅｔｉｎｅｘ出力をハイライト部にも適用すると不自然なカラーシフトやハローと呼ばれる擬似的な輪郭を発生させてしまう可能性がある。
【００６２】
逆に、ハイライト部では、カーネル値の大きなスケールによるＲｅｔｉｎｅｘ出力が適しており、上述した不自然なカラーシフトやハローと呼ばれる擬似的な輪郭の発生を抑え、良好な色再現が可能である。従って、基本的には、セレクタ４０８では、Ｇあるいは輝度のチャンネルの画素レベルに応じて、Ｇあるいは輝度のチャンネルの画素を、明るい、中間、暗いの３つに分類し、各々カーネル値の大きい、中間、小さいスケールを順に割り振ることとしている。
【００６３】
例えば、Ｓ＝３の場合について、図２のセレクタ４０８での具体的な処理を図３に示す。
【００６４】
マスク作成部５０４では、Ｇあるいは輝度チャンネルの原画像データＤ２−Ｇ、および、しきい値Ｔｈ１としきい値Ｔｈ２を元に、マスク画像Ｄ７−１〜Ｄ７−３が生成される。ここで、例えば、しきい値Ｔｈ１＞しきい値Ｔｈ２とし、マスク画像Ｄ７−１をハイライト部用、マスク画像Ｄ７−２を中間調用、マスク画像Ｄ７−３をシャドー部用とする。
【００６５】
原画像データＤ２−Ｇについて、しきい値Ｔｈ１以上の画素には１、その他には０をセットすることでマスク画像Ｄ７−１が生成される。同様に、原画像データＤ２−Ｇについて、しきい値Ｔｈ２以上かつしきい値Ｔｈ１未満の画素には１、その他には０をセットすることでマスク画像Ｄ７−２が生成される。さらに同様に、原画像データＤ２−Ｇについて、しきい値Ｔｈ２未満の画素には１、その他には０をセットすることでマスク画像Ｄ７−３が生成される。
【００６６】
こうして生成されたマスク画像Ｄ７−１からマスク画像Ｄ７−３に対して、演算器５０５〜５０７で、大きなスケールから生成したぼけ画像Ｄ４−１、中間スケールから生成したぼけ画像Ｄ４−２、および小さなスケールから生成したぼけ画像Ｄ４−３を各々掛け合わせる。そして、これらを加算器５０８で足し合わせることで、合成ぼけ画像Ｄ６が生成される。
【００６７】
図４は、図２のローパスフィルタ４１０を詳細に説明するためのブロック図である。合成ぼけ画像Ｄ６に対して、ローパスタイプのフィルタをかけることで、不自然な境界の発生を抑制することができる。
【００６８】
合成ぼけ画像Ｄ６は、フーリエ変換器６０２で周波数空間へ変換され、演算器６０５により高周波マスク６０３と掛け合わせることで低周波領域のみ通過させるフィルタリングが行われる。逆フーリエ変換器６０４で実空間へ戻すことで、平滑化合成ぼけ画像Ｄ７が生成される。
【００６９】
図５は、標準表示における高周波マスク６０３の具体例を示す図である。図中、黒く塗りつぶした箇所が１、その他の白い部分が０であるものとし、低周波数成分のみ通過させる構造である。
【００７０】
以上説明したように、本発明は、スケールの異なる複数の周辺関数を用いてぼけ具合の異なるぼけ画像を複数生成し、原画像の画素値レベルに応じていずれかのぼけ画像を選択することで、不自然なカラーシフトや擬似的な輪郭の発生を防止してシャドー部の再現性を向上させることができる。さらに、合成したぼけ画像に対してローパスフィルタを施すことで、不自然な境界領域での不連続を防止してＲｅｔｉｎｅｘ処理ができる画像処理プログラムおよび装置を提供することができる。
【００７１】
［第２の実施の形態］
図６は、本発明の第２の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【００７２】
図を参照して、デジタルカメラは、レンズＬと、レンズを駆動するレンズ制御部２０９と、ＣＣＤイメージセンサ２０１と、ＣＣＤイメージセンサの出力をＡ／Ｄ変換するＡ／Ｄコンバータ２０３と、画像処理のためのＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）２０５と、バッファメモリ２０７と、ＣＰＵ２１１と、ＲＡＭ２１３と、ＲＯＭ（ファームウェアメモリ）２１５と、画像表示部２２１と、カードインタフェース２１７と、メモリカード２１９とを備えている。
【００７３】
ＡＳＩＣ２０５内のモジュールとして、Ｒｅｔｉｎｅｘ処理回路２５１、色補間回路２５３、γ補正回路２５５、色空間変換回路２５７、および画像圧縮回路２５９が設けられている。
【００７４】
ＡＳＩＣ２０５内では、Ａ／Ｄコンバータ２０３からの入力に対して、図の左のモジュールから順に処理が行なわれる。ＡＳＩＣ２０５内のモジュールはバッファメモリ２０７を共有しており、ＣＰＵ２１１は、どのモジュールがメモリにアクセスするかのタイミングコントロールを行なう。
【００７５】
本実施の形態においても、デジタルカメラにおいて、第１の実施の形態と同様のＲｅｔｉｎｅｘ処理を適用する。
【００７６】
なお、図６の回路構成は、デジタルビデオカメラ、スキャナ、フィルムスキャナなどに対しても応用することができる。
【００７７】
［第３の実施の形態］
図７は、本発明の第３の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【００７８】
図を参照して、コンピュータは、装置全体の制御を行なうＣＰＵ３０１と、表示部３０３と、ネットワークに接続したり外部と通信を行なうためのＬＡＮ（ローカルエリアネットワーク）カード３０５（またはモデムカード）と、キーボードやマウスなどにより構成される入力部３０７と、フレキシブルディスクドライブ３０９と、ＣＤ−ＲＯＭドライブ３１１と、ハードディスクドライブ３１３と、ＲＯＭ３１５と、ＲＡＭ３１７とを備えている。
【００７９】
以後のフローチャートに示される、ＣＰＵ（コンピュータ）３０１を駆動させるためのプログラムは、フレキシブルディスク（Ｆ１）やＣＤ−ＲＯＭ（Ｃ１）やハードディスクドライブ３１３などの記録媒体に記録することができる。このプログラムは、ＣＰＵ３０１により読出され、記録媒体からＲＡＭその他の記録媒体に送られ、記録される。プログラムはＲＡＭなどをワークエリアとして実行される。なお、プログラムはＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザに提供するようにしてもよい。また、インターネットを介して外部のサイトなどよりそのようなプログラムをワークステーションやコンピュータにダウンロードして実行させるようにしてもよい。
【００８０】
図８は、図７のコンピュータが実行するＲｅｔｉｎｅｘ処理を示すフローチャートである。
【００８１】
図を参照して、ＣＣＤイメージセンサなどにより得られたアナログデータＤ１は、ステップＳ１０１でＡ／Ｄ変換器により変換され、原画像データＤ２とされる。これがステップＳ１０３で、コンピュータ内においてフーリエ変換される。
【００８２】
一方ステップＳ１０５では、複数のぼけ画像を形成するための複数のガウス周辺関数Ｄ３−１〜Ｄ３−３がそれぞれフーリエ変換される。ステップＳ１０７で、ステップＳ１０３およびＳ１０５で得られたデータの周波数領域での掛け算が行なわれる。その後、ステップＳ１０９で逆フーリエ変換が行なわれることで複数のぼけ画像Ｄ４−１〜Ｄ４−３が得られる。また、これを原画像データＤ２（好ましくはＧチャンネル、または輝度チャンネルのデータ）に基づき、第１の実施の形態と同様に合成することで、合成ぼけ画像Ｄ６およびそれを平滑化した平滑化合成ぼけ画像Ｄ７が得られる。
【００８３】
ステップＳ１１１で、Ｄ２をＤ７で割り、ステップＳ１１３でそれをｌｏｇ処理することで、Ｒｅｔｉｎｅｘ出力Ｄ５が得られる。
【００８４】
その後、Ｒｅｔｉｎｅｘ出力に対し、γ補正（ステップＳ１１５）、その他画像処理（ステップＳ１１７）、クリッピング処理（ステップＳ１１９）、および８ｂｉｔ割り付け処理（ステップＳ１２１）が行なわれる。その後、画像が表示される（ステップＳ１２３）。
【００８５】
図９は、図８のステップＳ１０３〜Ｓ１０９で行なわれる処理の詳細を示すフローチャートである。
【００８６】
図を参照して、ステップＳ２０１で原画像Ｄ２の入力が行なわれる。ステップＳ２０３で、ぼけ程度の異なるＳ種類のぼけ画像の作成が行なわれる。ステップＳ２０５で、原画像Ｄ２（Ｇチャンネルまたは輝度チャンネル）に基づいて、マスク画像が作成される。ステップＳ２０７で、マスク画像に基づき、合成ぼけ画像が作成され、ステップＳ２０９で、合成ぼけ画像がローパスフィルタにより平滑化される。
【００８７】
なお、インターネットなどの通信回線を通じて送信されてきた画像データに対して上述の画像処理を行ってもよいし、その結果を通信回線を通じて他の装置へ送信するようにしてもよい。
【００８８】
また、上記実施の形態においては画素毎にぼけ画像を選択することとしたが、複数の画素からなる原画像の区画毎に、その区画のレベルに応じてぼけ画像を選択するようにしてもよい。
【００８９】
また、合成ぼけ画像を作成せずに、複数のぼけ画像を用意し、原画像の区画（または画素）ごとのレベルに応じて、複数のぼけ画像の中からいずれかを選択するようにしてもよい。
【００９０】
（発明の他の構成例）
なお、上述した具体的実施形態には以下の構成を有する発明が含まれている。
【００９１】
（１）  Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムを記録したコンピュータ読取可能な記録媒体において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第１ステップと、
前記原画像を区画毎に複数のレベルに分類する第２ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行する第３ステップとをコンピュータに実行させる、画像処理プログラムを記録したコンピュータ読取可能な記録媒体。
【００９２】
（２）  Ｒｅｔｉｎｅｘ処理を実行する方法において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第１ステップと、
前記原画像を区画毎に複数のレベルに分類する第２ステップと、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行する第３ステップとを備えた、Ｒｅｔｉｎｅｘ処理を実行する方法。
【００９３】
（３）  前記第３ステップは、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成するステップと、
前記原画像と前記合成ぼけ画像とに基づいてＲｅｔｉｎｅｘ処理を実行するステップとを含む、（１）または（２）に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【００９４】
（４）  前記区画は画素であり、
前記第２ステップは、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３ステップは、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、（１）〜（３）のいずれかに記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【００９５】
（５）  前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてＲｅｔｉｎｅｘ処理を行なう、（３）に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【００９６】
（６）  前記第２ステップは、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３ステップは、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、（１）または（２）に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【００９７】
（７）  前記所定のチャンネルは、Ｇｒｅｅｎのチャンネル、或いはＹのチャンネルとする、（６）に記載の画像処理プログラムを記録したコンピュータ読取可能な記録媒体または方法。
【００９８】
（８）  Ｒｅｔｉｎｅｘ処理を実行する画像処理装置において、
処理対象となる原画像からぼけ具合の異なる複数のぼけ画像を生成する第１手段と、
前記原画像を区画毎に複数のレベルに分類する第２手段と、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行する第３手段とを備える、画像処理装置。
【００９９】
（９）  前記第３手段は、
前記区画毎に、当該区画が分類された前記レベルに対応させて、前記ぼけ画像のいずれかの、対応する区画を選択し、これら選択された区画を合成することで合成ぼけ画像を生成する手段と、
前記原画像と前記合成ぼけ画像とに基づいてＲｅｔｉｎｅｘ処理を実行する手段とを含む、（８）に記載の画像処理装置。
【０１００】
（１０）  前記区画は画素であり、
前記第２手段は、前記原画像の画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３手段は、前記選択されるぼけ画像として、暗いレベルに分類された箇所ほどぼけ具合の弱い前記ぼけ画像を選択し、明るいレベルに分類された箇所ほどぼけ具合の強い前記ぼけ画像を選択する、（８）または（９）のいずれかに記載の画像処理装置。
【０１０１】
（１１）  前記合成ぼけ画像に対して、さらにローパスタイプのフィルタを用いて平滑化し、この平滑化されたぼけ画像を用いてＲｅｔｉｎｅｘ処理を行なう、（９）に記載の画像処理装置。
【０１０２】
（１２）  前記第２手段は、前記原画像のうち所定のチャンネルの画素値を暗いレベルから明るいレベルまで複数のレベルに分類し、
前記第３手段は、前記所定のチャンネルの画素値レベルによる分類に基づいて、前記ぼけ画像のいずれかの画素値を選択、合成する、（８）に記載の画像処理装置。
【０１０３】
（１３）  前記所定のチャンネルは、Ｇｒｅｅｎのチャンネル、或いはＹのチャンネルとする、（１２）に記載の画像処理装置。
【０１０４】
（これらの構成によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを記録したコンピュータ読取可能な記録媒体、方法、または装置を提供することができる。）
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１０５】
【発明の効果】
本発明によると、分類されたレベルに対応させて、ぼけ画像のいずれかを使用して当該区画に対するＲｅｔｉｎｅｘ処理を実行することができるため、処理対象となる原画像の内容に依存することなく、良好なＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【図面の簡単な説明】
【図１】第１の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【図２】Ｒｅｔｉｎｅｘ処理部１０３で行なわれる、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実施するブロックを示す図である。
【図３】図２のセレクタ４０８での具体的な処理を示す図である。
【図４】図２のローパスフィルタ４１０を詳細に説明するためのブロック図である。
【図５】標準表示における高周波マスク６０３の具体例を示す図である。
【図６】本発明の第２の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図７】本発明の第３の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【図８】図７のコンピュータが実行するＲｅｔｉｎｅｘ処理を示すフローチャートである。
【図９】図８のステップＳ１０３〜Ｓ１０９で行なわれる処理の詳細を示すフローチャートである。
【図１０】ぼけ画像作成のためにガウス関数を用いたＳＳＲの具体的な処理を説明するための図である。
【図１１】ガウス関数を用いたＭＳＲ処理を説明するための図である。
【符号の説明】
１０１  ＣＣＤイメージセンサ、１０２  Ａ／Ｄコンバータ、１０３  Ｒｅｔｉｎｅｘ処理部、１０４  γ補正部、１０５  表示・保存部、Ｌ  レンズ、２０１  ＣＣＤイメージセンサ、２０３  Ａ／Ｄコンバータ、２０５  ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、２０７  バッファメモリ、２０９レンズ制御部、２１１  ＣＰＵ、２１３  ＲＡＭ、２１５  ＲＯＭ（ファームウェアメモリ）、２１７  カードインタフェース、２１９  メモリカード、２２１  画像表示部、２５１  Ｒｅｔｉｎｅｘ処理回路、２５３  色補間回路、２５５  γ補正回路、２５７  色空間変換回路、２５９  画像圧縮回路、３０１  ＣＰＵ、３０３  表示部、３０５  ＬＡＮカード、３０７  入力部、３０９  フレキシブルディスクドライブ、３１１  ＣＤ−ＲＯＭドライブ、３１３  ハードディスクドライブ、３１５  ＲＯＭ、３１７  ＲＡＭ、４０１〜４０３  演算器、４０８  セレクタ、４１０  ローパスフィルタ、４１１  演算器、５０４  マスク作成部、５０５〜５０８  演算器、６０２  フーリエ変換部、６０３  高周波マスク画像、６０４  逆フーリエ変換部、Ｆ１  フレキシブルディスク、Ｃ１  ＣＤ−ＲＯＭ、Ｄ１  アナログ画像、Ｄ２  オリジナルデジタル画像、Ｄ３−１〜Ｄ３−３  フィルタ、Ｄ４−１〜Ｄ４−３  ぼけ画像、Ｄ５  Ｒｅｔｉｎｅｘ出力画像、Ｄ６  合成ぼけ画像、Ｄ７  平滑化合成ぼけ画像。
【図１】
2005004506.tif 000006
【図２】
2005004506.tif 000007
【図３】
2005004506.tif 000008
【図４】
2005004506.tif 000009
【図５】
2005004506.tif 000010
【図６】
2005004506.tif 000011
【図７】
2005004506.tif 000012
【図８】
2005004506.tif 000013
【図９】
2005004506.tif 000014
【図１０】
2005004506.tif 000015
【図１１】
2005004506.tif 000016