(57)【要約】【課題】メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理プログラムを提供する。【解決手段】Ｒｅｔｉｎｅｘ処理部は、原画像Ｄ２の解像度を下げる補間演算を行う補間部４０１と、補間部４０１の出力である解像度が下げられた画像に対してフィルタを用いた処理を行うことでボケ画像を生成するボケ画像生成部４０３と、ボケ画像の解像度を変更し、原画像Ｄ２と同じ解像度にする補間部４０５とを備え、Ｒｅｔｉｎｅｘ処理部４０７で、原画像Ｄ２と補間部４０５の出力画像とに基づきＲｅｔｉｎｅｘ処理を行う。【選択図】        図８
2004165840.tif 000002
【特許請求の範囲】
【請求項１】
Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像の解像度を下げた画像を生成する第１ステップと、
前記原画像の解像度を下げた画像からボケ画像を生成する第２ステップと、
前記ボケ画像を前記原画像の解像度に戻す第３ステップと、
前記原画像と前記原画像の解像度に戻されたボケ画像とに基づいてＲｅｔｉｎｅｘ処理を実行する第４ステップとをコンピュータに実行させる、画像処理プログラム。
【請求項２】
前記第１ステップは、前記原画像の解像度を所定の解像度に変換した画像を生成し、
前記第２ステップは、所定のサイズのフィルタを用いることでボケ画像を生成する、請求項１に記載の画像処理プログラム。
【請求項３】
前記第１ステップは、前記原画像の解像度を任意の解像度に変換した画像を生成し、
前記第２ステップは、前記任意の解像度にあわせたサイズのフィルタを用いることでボケ画像を生成する、請求項１に記載の画像処理プログラム。
【請求項４】
原画像の解像度に応じたボケ度合いでボケ画像を生成し、Ｒｅｔｉｎｅｘ処理に用いる画像処理プログラムにおいて、
前記原画像の解像度を所定の解像度に変換した画像を生成する第１ステップと、
前記生成された画像からボケ画像を生成する第２ステップとをコンピュータに実行させる、画像処理プログラム。
【請求項５】
前記所定の解像度は、前記原画像の解像度よりも低い、請求項４に記載の画像処理プログラム。
【請求項６】
Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第１ステップと、
所定のフィルタを用いることで、前記複数の画像の各々のボケ画像を生成する第２ステップと、
前記生成された複数のボケ画像のそれぞれを前記原画像の解像度に戻す第３ステップと、
前記原画像と前記原画像の解像度に戻された複数のボケ画像とに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実行する第４ステップとをコンピュータに実行させる、画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、画像処理プログラムに関し、特にデジタルカメラやフィルムスキャナなどの出力画像の処理においてＲｅｔｉｎｅｘ処理を行う画像処理プログラムに関する。
【０００２】
【従来の技術】
従来の画像処理の分野では、生体における網膜や皮質と同等の役割をモデル化した画像処理技術として、Ｃｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄ  Ｒｅｔｉｎｅｘ処理が提案されている（例えば、特許文献１参照）。
【０００３】
Ｒｅｔｉｎｅｘ処理とは、デジタルデータである画像情報を補正する方法である。Ｒｅｔｉｎｅｘ処理には各種の変形例が考えられるが、ここでは、視覚をモデル化して注目画素に対して周辺情報を加味する画像の補正方法を総括してＲｅｔｉｎｅｘ処理と呼んでいる。後述する拡張Ｒｅｔｉｎｅｘも、Ｒｅｔｉｎｅｘ処理の一形態に含まれるものとする。Ｒｅｔｉｎｅｘ処理では画像中の明暗部に応じて、局所局所でゲイン調整が変わるため、ダイナミックレンジを圧縮する効果がある。
【０００４】
Ｃｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄ  Ｒｅｔｉｎｅｘアルゴリズムに関して、Ｓｉｎｇｌｅ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＳＳＲ）、及びＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＭＳＲ）が知られている。以下にそれぞれのアルゴリズムについて説明する。
【０００５】
Ｓｉｎｇｌｅ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＳＳＲ）は、次の式（１）によって表される。式（１）の処理をＲ，Ｇ，Ｂの各チャンネルに対して実行し、統合することでカラー出力画像が得られる。
【０００６】
Ｔｉ（ｘ，ｙ）＝  ｌｏｇ  Ｉｉ（ｘ，ｙ）−ｌｏｇ｛Ｆ（ｘ，ｙ）＊Ｉｉ（ｘ，ｙ）｝      …（１）
（ｉ＝Ｒ，Ｇ，Ｂ）
ここで、「＊」はコンボリューション積分を表す。また、Ｔｉ（ｘ，ｙ）はＳＳＲ処理後の画素値を表し、Ｉｉ（ｘ，ｙ）は原画像の画素値を表す。Ｆ（ｘ，ｙ）は、注目画素の周囲の画素を考慮してボケ画像を作成するためのフィルタに用いられる関数である。Ｆ（ｘ，ｙ）として例えばガウス関数を用いると、Ｆ（ｘ，ｙ）は、次の式（２）および（３）を満たすこととなる。
【０００７】
Ｆ（ｘ，ｙ）＝Ｋ・ｅｘｐ｛−（ｘ２＋ｙ２）／ｃ２｝              …（２）
ΣΣＦ（ｘ，ｙ）＝１                                        …（３）
ここで、ｃはガウス関数における周辺の広がりを決める定数であり、カーネル値と呼ばれる。式（３）を満たすように定数Ｋは定められる。一般的には、ｃの値が小さい程、画像処理においてエッジを強調する効果が高くなり、ｃの値が大きい程、ダイナミックレンジ圧縮の効果が高くなることが知られている。
【０００８】
また、ＳＳＲ処理後の出力画像のコントラストを向上させることを目的に、クリッピング処理が行われる。通常、ヒストグラム分布にして、上下３％前後の画素値はクリッピングしてから、線形変換によって出力ビット数（例えば８ビット）に応じたデジタル値に割り振られる。
【０００９】
図１８は、ボケ画像作成のためにガウス関数を用いたＳＳＲの具体的な処理を説明するための図である。
【００１０】
図を参照して、ｉ＝Ｒ，Ｇ，Ｂからなるオリジナル画像（処理対象画像）Ｄ２に対して処理が行われる。なお、オリジナル画像においてＲＧＢを合成した画像を図中Ｐ２で示している。
【００１１】
Ｄ２の各画素値は、Ｉｉ（ｘ，ｙ）として示される。ボケ画像Ｄ４を作成するためにＩｉ（ｘ，ｙ）＊Ｇ（ｘ，ｙ）の演算が行われる。ここにＧ（ｘ，ｙ）はガウス関数である。
【００１２】
オリジナル画像の各画素値を、ボケ画像の各画素値で除算する処理が行われ、そのｌｏｇを求めることで、Ｒｅｔｉｎｅｘ処理後の画像Ｄ５が得られる。Ｄ５の各画素値をここではＲｉ（ｘ，ｙ）とする。Ｒ，Ｇ，ＢからなるＤ５を合成することで、Ｒｅｔｉｎｅｘ処理後の画像Ｐ１が得られる。
【００１３】
一方、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ（ＭＳＲ）では、式（２）における定数ｃとして、異なる幾つかの値が用いられる。これにより、周辺の広がりが異なるガウス関数によるＳＳＲ処理が行われる。それぞれの結果を足し合わせて平均化することにより、エッジ強調、及びダイナミックレンジ圧縮を同時に達成している。
【００１４】
図１９は、ガウス関数を用いたＭＳＲ処理を説明するための図である。
図を参照して、周辺の広がりが狭いガウス関数（サイズの小さいフィルタ）により作成されたボケ画像Ｄ４−１、周辺の広がりが中位のガウス関数（サイズの中位のフィルタ）により作成されたボケ画像Ｄ４−２、および周辺の広がりが広いガウス関数（サイズの大きいフィルタ）により作成されたボケ画像Ｄ４−３がオリジナル画像Ｄ２に基づいて作成される。
【００１５】
そして、オリジナル画像Ｄ２を各ボケ画像で除算し、それぞれの対数をとることで、画像Ｄ５−１〜Ｄ５−３が得られる。フィルタサイズが小さい関数で処理を行った画像の方がエッジ強調効果が高く、逆にフィルタサイズが大きい関数で処理を行った画像の方がダイナミックレンジ圧縮の効果が高い。画像Ｄ５−１〜Ｄ５−３を足し合わせて平均化することにより、エッジ強調、及びダイナミックレンジ圧縮を同時に達成することができる。
【００１６】
ネガフィルムなどからフィルムスキャナによってデジタル化された画像データや、デジタルスチルカメラなどで撮影されたデジタル画像データに対して以上のようなＳＳＲ、およびＭＳＲ処理を適用する研究が盛んに行われている。
【００１７】
また、特許文献２は、画像の異なる領域間の小さなコントラスト差を維持しながら、画像の異なる領域間の大きなコントラスト差を縮小する技術を開示している。
【００１８】
また、非特許文献１は、Ｒｅｔｉｎｅｘ処理を線形演算で構成することを開示している。
【００１９】
【特許文献１】
米国特許第５，９９１，４５６号明細書
【００２０】
【特許文献２】
特開２００１−２４５１５４号公報
【００２１】
【非特許文献１】
小林正明、小寺宏嘩、「Ｒｅｔｉｎｅｘモデルによる画像の見えの改善」、カラーフォーラムＪＡＰＡＮ２００１（第４７回光学四学会連合講演会、２００１年１１月１３日〜１５日開催）予稿集
【００２２】
【発明が解決しようとする課題】
ところが、上述した従来のＣｅｎｔｅｒ／Ｓｕｒｒｏｕｎｄ  Ｒｅｔｉｎｅｘアルゴリズムなどの画像処理技術では、特に原画像の解像度が高い場合、ボケ画像の生成のための計算処理が重くなり、メモリ消費量の増大や処理速度が低下するという問題があった。
【００２３】
本発明の目的は、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することを目的としている。
【００２４】
【課題を解決するための手段】
上記目的を達成するため、この発明のある局面に従うと、Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムは、処理対象となる原画像の解像度を下げた画像を生成する第１ステップと、原画像の解像度を下げた画像からボケ画像を生成する第２ステップと、ボケ画像を原画像の解像度に戻す第３ステップと、原画像と原画像の解像度に戻されたボケ画像とに基づいてＲｅｔｉｎｅｘ処理を実行する第４ステップとをコンピュータに実行させる。
【００２５】
この発明に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【００２６】
好ましくは第１ステップは、原画像の解像度を所定の解像度に変換した画像を生成し、第２ステップは、所定のサイズのフィルタを用いることでボケ画像を生成する。
【００２７】
この発明によると、原画像の解像度に拘わりなく、所定のサイズのフィルタを用いることで、ボケ画像を作成することができる。
【００２８】
好ましくは第１ステップは、原画像の解像度を任意の解像度に変換した画像を生成し、第２ステップは、任意の解像度にあわせたサイズのフィルタを用いることでボケ画像を生成する。
【００２９】
この発明によると、ボケ画像生成のための画像の解像度を任意に選ぶことが可能となる。
【００３０】
この発明の他の局面に従うと、原画像の解像度に応じたボケ度合いでボケ画像を生成し、Ｒｅｔｉｎｅｘ処理に用いる画像処理プログラムは、原画像の解像度を所定の解像度に変換した画像を生成する第１ステップと、生成された画像からボケ画像を生成する第２ステップとをコンピュータに実行させる。
【００３１】
この発明に従うと、原画像の解像度を所定の解像度に変換した後にボケ画像を作成することができる。
【００３２】
好ましくは、所定の解像度は、原画像の解像度よりも低い。
この発明に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。また、原画像の解像度に拘わりなく、同様のＲｅｔｉｎｅｘ処理を行なうことができる。
【００３３】
この発明のさらに他の局面に従うと、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムには、処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第１ステップと、所定のフィルタを用いることで、複数の画像の各々のボケ画像を生成する第２ステップと、生成された複数のボケ画像のそれぞれを原画像の解像度に戻す第３ステップと、原画像と原画像の解像度に戻された複数のボケ画像とに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実行する第４ステップとをコンピュータに実行させる。
【００３４】
この発明に従うと、処理対象となる原画像の解像度を複数の段階に下げることで複数の画像が生成され、所定のフィルタを用いることで、複数の画像の各々のボケ画像が生成され、それに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理が実行される。これにより、メモリ消費量の増大や処理速度の極端な低下を起こさずにＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【００３５】
【発明の実施の形態】
本発明の実施の形態に開示される画像処理方法、画像処理プログラムおよび画像処理装置などは、ＣＣＤイメージセンサやＣＭＯＳイメージセンサなどの撮像デバイスからのアナログ信号をＡ／Ｄ変換した直後のＲＡＷ画像をＲｅｔｉｎｅｘ処理を行う対象画像としている。そして、Ｒｅｔｉｎｅｘ処理後に所定のγ補正を行っている。しかし、本発明における対象画像はγ補正後の画像であってもよい。なお、「Ａ／Ｄ変換を行なった直後」とは、少なくともγ補正が施される前の段階を示し、好ましくは色補正や、ＭＴＦ補正が施されていない段階である。撮像デバイスの画素間における感度ばらつきなどのハードウェア調整のための補正や、ｇａｍｕｔなどの色相変換を行っていても本発明におけるＲＡＷ画像とみなしてよい。更には、例えば撮像デバイスとしてカラーフィルタを有したエリア型センサである場合、Ａ／Ｄ変換後に各色の画像データについて画素補間の処理が施されるが、このような補間処理後の画像データもＲＡＷ画像とみなしてよい。
【００３６】
これにより、生体における網膜や皮質と同等の役割をモデル化したＲｅｔｉｎｅｘ処理本来の特性が発揮される。
【００３７】
すなわち、通常のフィルムスキャナやデジタルスチルカメラから出力されるデジタル画像データは、いわゆるホワイトバランスなどの色補正、γ補正、さらにはＭＴＦ補正などがすでに施された画像データである。従来技術におけるＲｅｔｉｎｅｘ処理や拡張Ｒｅｔｉｎｅｘ処理で対象とされているデジタル画像データも、こうした幾つかの画像処理がすでに行われた画像データであった。これら幾つかの画像処理がすでに行われた画像データに対して、さらに、そのコントラストや見えなどの画質を改善することを目的にＲｅｔｉｎｅｘ処理は適用されてきた。
【００３８】
しかしながら、本来のＲｅｔｉｎｅｘモデルは、生体の網膜や皮質と同等の役割を果たす仕組みである。その特性を十分に発揮するためには、Ｒｅｔｉｎｅｘモデルは、生のセンサ応答に対して適用されるべきである。逆に言えば、すでに色補正、γ補正、ＭＴＦ補正などの従来の画像処理が施された画像データに対してさらにＲｅｔｉｎｅｘ処理を実行することで、従来技術のような不具合（色の偏りが多い画像での全体的な色味のシフトや、顔などの明るい領域が全般に飛び傾向になってしまうこと）が発生している可能性もあり、その結果、より複雑な拡張Ｒｅｔｉｎｅｘ処理によってその不具合を抑制しなければならない事態に陥っていると考えることもできる。
【００３９】
このような観点の下、本実施の形態においては、ＳＳＲやＭＳＲなどのＲｅｔｉｎｅｘ処理を、ＣＣＤイメージセンサなどの撮像デバイスの電気信号をＡ／Ｄ変換しただけの生のデジタル画像データ（γ補正などが行われていないＲＡＷデータ）に対して適用することで、Ｒｅｔｉｎｅｘモデル本来の効果を発揮できるようにしている。
【００４０】
以下に本発明の実施の形態について、図面を参照しながら順に説明する。
［第１の実施の形態］
図１は、第１の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。図中、画像データの流れを矢印で示している。
【００４１】
図を参照して撮影装置は、撮像デバイスとしてのＣＣＤイメージセンサ１０１と、Ａ／Ｄコンバータ１０２と、Ｒｅｔｉｎｅｘ処理部１０３と、γ補正部１０４と、表示・保存部１０５とを備えている。
【００４２】
ＣＣＤイメージセンサ１０１は、光電変換によって入射光から電気信号であるアナログ信号Ｒ，Ｇ，Ｂを生成する。Ａ／Ｄコンバータ１０２はアナログ信号Ｒ，Ｇ，Ｂを、例えば８ｂｉｔの離散的なデジタル信号Ｒ，Ｇ，Ｂに変換する。Ｒｅｔｉｎｅｘ処理部１０３は、Ａ／Ｄコンバータ１０２でＡ／Ｄ変換のみ施されたデジタル画像信号に対して、ＳＳＲやＭＳＲなどのＲｅｔｉｎｅｘ処理を各ＲＧＢのチャンネルに対して独立に行う。
【００４３】
γ補正部１０４は、Ｒｅｔｉｎｅｘ処理部１０３で得られたＲｅｔｉｎｅｘ出力に対して、後工程である表示・保存工程で求められる所定のγ補正を行う。
【００４４】
最後に、表示・保存部１０５では、γ補正部１０４で所定のγ処理が施された画像データをモニタなどに表示、またはハードディスクなどに保存する。
【００４５】
図１に示した構成をデジタルスチルカメラ内部でハード的に実行することも可能であるが、例えば、ＲＡＷ画像としてＡ／Ｄ変換のみ行った画像データを入手可能であるデジタルカメラであれば、一旦ＲＡＷ形式で保存された画像データに対して、パソコンなどにインストールされたアプリケーションを用いて、ソフト的に上述したＲｅｔｉｎｅｘ処理、及びγ補正処理などの画像処理を実行することも可能である。
【００４６】
なお、上記（１）式で示されるＲｅｔｉｎｅｘ処理にはコンボリューション積分が含まれているため、その処理速度はＦ（ｘ，ｙ）で示されるガウス関数などのフィルタのサイズや画像サイズそのものに大きく依存する。一般に、Ｒｅｔｉｎｅｘ処理に用いられるフィルタのサイズは非常に大きく、比較的解像度の低い画像（例えば６４０×４８０画素のＶＧＡ）でも、カーネル値ｃ＝１００程度のサイズのフィルタが用いられることが多い。このような場合、最近の高速な処理を行うパーソナルコンピュータでもその処理を完了するまでに数時間かかってしまうことがあり、実用的ではない。
【００４７】
コンボリューション積分を高速に実行する方法として、周波数領域で計算を実行する手法であるフーリエ変換が知られている。デジタル画像のような離散的な信号に対しては、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍｓ）やＤＦＴ（Ｄｉｓｃｒｅｔｅ  Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍｓ）といった高速処理手法が適用できる。上記（１）式のコンボリューション積分は、画像サイズが２のべき乗の場合、式（４）で表現することができる。
【００４８】
Ｆ（ｘ，ｙ）＊Ｉｉ（ｘ，ｙ）＝ＦＦＴ−１［ＦＦＴ［Ｆ（ｘ，ｙ）］・ＦＦＴ［Ｉｉ（ｘ，ｙ）］］…（４）
ここで、ＦＦＴ−１は逆ＦＦＴを、「・」は周波数領域での掛け算を表す。この場合、その処理速度はＦ（ｘ，ｙ）で表されるガウス関数のフィルタサイズには関係なく、画像サイズそのものに依存することになる。なお、画像サイズが２のべき乗でない場合、ＤＦＴを代用に用いることができる。
【００４９】
以上説明したように、本発明は、Ｒｅｔｉｎｅｘ処理をＡ／Ｄ変換のみが行われたＲＡＷ画像に対して適用し、Ｒｅｔｉｎｅｘ処理後に所定のγ補正を行うという構成で、生体における網膜や皮質と同等の役割をモデル化したＲｅｔｉｎｅｘ処理本来の機能を可能にしている。
【００５０】
なお、ＲＡＷ画像とは、基本的にはＣＣＤの出力をＡ／Ｄ変換しただけのデータを示す。ただし、ＣＣＤ素子の感度ばらつきなどのハードウェアの調整のための補正や、ｇａｍｕｔなどの色相変換を行なったものをＲＡＷ画像としていてもよい。また、更には、例えば撮像素子としてカラーフィルタを有したエリア型センサであるような場合、Ａ／Ｄ変換後に各色の画像データについて画素補間の処理が施されるが、このような補間処理後の画像データもＲＡＷ画像とみなしてよい。
【００５１】
本願においては、少なくともγ補正前の画像データをＲＡＷ画像と呼んでおり、好ましくはＲＡＷ画像は、さらにシャープバランス、ホワイトバランス補正前の画像であることが望ましい。
【００５２】
［第２の実施の形態］
図２は、第２の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【００５３】
本実施の形態においては、Ｒｅｔｉｎｅｘ処理部１０３において、線形Ｒｅｔｉｎｅｘが実行される。線形Ｒｅｔｉｎｅｘ処理は、ｌｏｇを用いないＲｅｔｉｎｅｘ処理であり、例えば、次の式（５）の原画像とボケ画像の比率によって実行される。
【００５４】
Ｔｉ（ｘ，ｙ）＝Ｉｉ（ｘ，ｙ）／｛Ｆ（ｘ，ｙ）＊Ｉｉ（ｘ，ｙ）｝…（５）
（ｉ＝Ｒ，Ｇ，Ｂ）
式（５）では、式（１）同様に、「＊」はコンボリューション積分を表し、Ｔｉ（ｘ，ｙ）は線形Ｒｅｔｉｎｅｘ処理後の画素値、Ｉｉ（ｘ，ｙ）は原画像の画素値、Ｆ（ｘ，ｙ）は前述した式（２）、（３）を満たすボケ画像作成のための例えばガウス関数である。
【００５５】
なお、ここでの線形Ｒｅｔｉｎｅｘ処理もＭＳＲにより実行されてもよい。
さらに、Ｒｅｔｉｎｅｘ処理部１０３においては、Ｔｉ（ｘ，ｙ）を１／γで累乗する処理（γ補正）が行なわれてもよい。これは、式（６）で示される。
【００５６】
γ｛Ｔｉ（ｘ，ｙ）｝＝Ｔｉ（ｘ，ｙ）＾（１／γ）                …（６）
例えば、ｓＲＧＢを想定したモニタに画像を表示する場合、そのγは２．２が想定されており、その逆数１／２．２をＴｉ（ｘ，ｙ）に乗じることでγ補正は実現される。もちろん、表示や印字が行われるデバイスに応じて、このγの値を可変調整する構成でもよい。
【００５７】
さらには、Ｒｅｔｉｎｅｘ出力されるデータのγ特性を特定のモニタ等のγに合わせ込む必要性はなく、例えば、明度に対してリニアな特性としたい場合には、線形Ｒｅｔｉｎｅｘ出力に対して１／３を累乗する（γ＝３とする）とよい。
【００５８】
なお、式（６）で得られるＲｅｔｉｎｅｘ出力のγ補正画像に対しても、そのコントラストを向上させることを目的に、上述したような、ヒストグラム分布にして上下３％前後の画素値をクリッピングする処理を行ってもよい。もちろん、線形Ｒｅｔｉｎｅｘ処理部１０３で得られたＲｅｔｉｎｅｘ出力に対して、このクリッピング処理を行った後、γ補正を行うような構成も可能である。
【００５９】
［第３の実施の形態］
図３は、第３の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【００６０】
本実施の形態においては、図２に示されるＲｅｔｉｎｅｘ処理部１０３で線形Ｒｅｔｉｎｅｘ処理を行なった後で、さらにデバイスのためのγ補正をγ補正部１０４で行うものである。これによると、デバイスにあわせたγ補正を行なうことが可能である。すなわち、γ補正をγ補正部１０４のみで行ってもよいし、上述のようにＲｅｔｉｎｅｘ処理部１０３で、出力を明度に対してリニアな特性とするために、γ＝３でのγ補正を行い、さらにγ補正部１０４でデバイスにあわせた補正を行うようにしてもよい。
【００６１】
［第４の実施の形態］
図４は、本発明の第４の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【００６２】
図を参照して、デジタルカメラは、レンズＬと、レンズを駆動するレンズ制御部２０９と、ＣＣＤイメージセンサ２０１と、ＣＣＤイメージセンサの出力をＡ／Ｄ変換するＡ／Ｄコンバータ２０３と、画像処理のためのＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）２０５と、バッファメモリ２０７と、ＣＰＵ２１１と、ＲＡＭ２１３と、ＲＯＭ（ファームウェアメモリ）２１５と、画像表示部２２１と、カードインタフェース２１７と、メモリカード２１９とを備えている。
【００６３】
ＡＳＩＣ２０５内のモジュールとして、Ｒｅｔｉｎｅｘ処理回路２５１、色補間回路２５３、γ補正回路２５５、色空間変換回路２５７、および画像圧縮回路２５９が設けられている。
【００６４】
ＡＳＩＣ２０５内では、Ａ／Ｄコンバータ２０３からの入力に対して、図の左のモジュールから順に処理が行なわれる。ＡＳＩＣ２０５内のモジュールはバッファメモリ２０７を共有しており、ＣＰＵ２１１は、どのモジュールがメモリにアクセスするかのタイミングコントロールを行なう。
【００６５】
本実施の形態においても、デジタルカメラにおいてＲｅｔｉｎｅｘ処理をＡ／Ｄ変換のみが行われたＲＡＷ画像に対して適用し、Ｒｅｔｉｎｅｘ処理後に所定の画像処理を行う。これにより、生体における網膜や皮質と同等の役割をモデル化したＲｅｔｉｎｅｘ処理本来の機能を可能にしている。
【００６６】
なお、図４の回路構成は、デジタルビデオカメラ、スキャナ、フィルムスキャナなどに対しても応用することができる。
【００６７】
［第５の実施の形態］
図５は、本発明の第５の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【００６８】
図を参照して、コンピュータは、装置全体の制御を行なうＣＰＵ３０１と、表示部３０３と、ネットワークに接続したり外部と通信を行なうためのＬＡＮ（ローカルエリアネットワーク）カード３０５（またはモデムカード）と、キーボードやマウスなどにより構成される入力部３０７と、フレキシブルディスクドライブ３０９と、ＣＤ−ＲＯＭドライブ３１１と、ハードディスクドライブ３１３と、ＲＯＭ３１５と、ＲＡＭ３１７とを備えている。
【００６９】
以後のフローチャートに示される、ＣＰＵ（コンピュータ）３０１を駆動させるためのプログラムは、フレキシブルディスク（Ｆ１）やＣＤ−ＲＯＭ（Ｃ１）などの記録媒体に記録することができる。このプログラムは、前記記録媒体からＲＡＭその他の記録媒体に送られ、記録される。なお、プログラムはハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザに提供するようにしてもよい。また、インターネットを介して外部のサイトなどよりそのようなプログラムをワークステーションやコンピュータにダウンロードして実行させるようにしてもよい。
【００７０】
図６は、図５のコンピュータが実行するＲｅｔｉｎｅｘ処理を示すフローチャートである。
【００７１】
図を参照して、ＣＣＤなどにより得られたアナログデータＤ１は、ステップＳ１０１でＡ／Ｄ変換器により変換され、ＲＡＷ画像のデータＤ２とされる。これがステップＳ１０３で、コンピュータ内においてフーリエ変換される。
【００７２】
一方ステップＳ１０５では、ガウス周辺関数Ｄ３がフーリエ変換される。ステップＳ１０７で、ステップＳ１０３およびＳ１０５で得られたデータの周波数領域での掛け算が行なわれる。その後、ステップＳ１０９で逆フーリエ変換が行なわれることでボケ画像Ｄ４が得られる。
【００７３】
ステップＳ１１１で、Ｄ２をＤ４で割り、ステップＳ１１３でそれをｌｏｇ処理することで、Ｒｅｔｉｎｅｘ出力Ｄ５が得られる。
【００７４】
その後、Ｒｅｔｉｎｅｘ出力に対し、γ補正（ステップＳ１１５）、その他画像処理（ステップＳ１１７）、クリッピング処理（ステップＳ１１９）、および８ｂｉｔ割り付け処理（ステップＳ１２１）が行なわれる。その後、画像が表示される（ステップＳ１２３）。
【００７５】
図７は、図５のコンピュータが実行する線形Ｒｅｔｉｎｅｘ処理を示すフローチャートである。
【００７６】
図を参照して、ステップＳ１０１〜Ｓ１１１での処理は図６におけるそれと同じであるため、ここでの説明を繰り返さない。ステップＳ１１１における割り算の出力がＲｅｔｉｎｅｘ出力Ｄ６とされる。ここでは、出力Ｄ６に対してγ補正（ここでは１／３乗にする処理とする）が行われる（ステップＳ１１８）。その後、クリッピング処理（ステップＳ１１９）、８ｂｉｔ割付処理（ステップＳ１２１）、表示処理（ステップＳ１２３）が行われる。
【００７７】
なお、インターネットなどの通信回線を通じて送信されてきた画像データに対して上述の画像処理を行ってもよいし、その結果を通信回線を通じて他の装置へ送信するようにしてもよい。
【００７８】
［第６の実施の形態］
上述のように、たとえばコンボリューション積分にフーリエ変換を用いることで、演算を高速に行なうことができる。
【００７９】
しかしながら、通常、画像は２次元であり、また、ＦＦＴやＤＦＴといった処理は、実数タイプのデータに対して実行する必要があるため、式（４）内のＦＦＴ｛Ｆ（ｘ，ｙ）｝やＦＦＴ｛Ｉｉ（ｘ，ｙ）｝を実行するためには、非常に多くのメモリが必要とされる。最近の１ＧＢ程度のメモリを搭載したＰＣを使用した場合、比較的解像度の低い画像（例えばＶＧＡ：６４０×４８０）では、高速に問題なく処理完了できるものの、比較的解像度の高い画像（例えばＦＵＬＬ：２５６０×１９２０）では、メモリ不足となり処理完了できない場合もある。このため、あまり実用的とは言えないのが現状である。
【００８０】
本実施の形態では、従来技術、および第１〜第５の実施の形態で説明したＲｅｔｉｎｅｘ処理において、以下の処理を行うことで、上記問題の解決を図っている。
【００８１】
まず、原画像Ｉｉ（ｘ，ｙ）の解像度を一旦低くした低解像度の原画像Ｌｏｗ＿Ｉｉ（ｘ，ｙ）を作成する。そのＬｏｗ＿Ｉｉ（ｘ，ｙ）からボケ画像を生成する。
【００８２】
解像度の変換手法としては、Ｚｅｒｏ  Ｏｒｄｅｒ，Ｂｉ−Ｌｉｎｅａｒ，Ｑｕａｄｒａｔｉｃ，Ｃｕｂｉｃ  Ｓｐｌｉｎｅなどの手法が知られており、これらのいずれかを用いればよい。
【００８３】
例えば、低解像度の原画像Ｌｏｗ＿Ｉｉ（ｘ，ｙ）と同一の画像サイズとなる低解像度のフィルタ画像Ｌｏｗ＿Ｆ（ｘ，ｙ）により（例えば、Ｌｏｗ＿Ｉｉ（ｘ，ｙ）が６４０×４８０であれば、Ｌｏｗ＿Ｆ（ｘ，ｙ）も６４０×４８０）、ボケ画像生成のために、式（７）のコンボリューション積分、または、周波数領域における掛け算および逆ＦＦＴ処理が実行される。
【００８４】
Ｌｏｗ＿Ｆ（ｘ，ｙ）＊Ｌｏｗ＿Ｉｉ（ｘ，ｙ）＝ＦＦＴ−１｛ＦＦＴ｛Ｌｏｗ＿Ｆ（ｘ，ｙ）｝・ＦＦＴ｛Ｌｏｗ＿Ｉｉ（ｘ，ｙ）｝｝                                                    …（７）
当然、式（７）で生成されるボケ画像は、原画像Ｉｉ（ｘ，ｙ）の解像度と異なるため、そのままでは式（１）の計算は実行できない。
【００８５】
式（１）の計算を実行するためには、原画像とボケ画像とのお互いの解像度を合わせる必要があり、式（７）で生成されるボケ画像の解像度を、補間によって（同様にＺｅｒｏ  Ｏｒｄｅｒ，Ｂｉ−Ｌｉｎｅａｒ，Ｑｕａｄｒａｔｉｃ，Ｃｕｂｉｃ  Ｓｐｌｉｎｅなどの手法を用いて）、原画像Ｉｉ（ｘ，ｙ）の解像度と同一とする。
【００８６】
このとき、原画像Ｉｉ（ｘ，ｙ）の解像度を低くした際に用いた変換手法と同一のものを選択してもよいし、異なる変換手法を選択してもよい。このようなボケ画像の作成を行うことで、少ないメモリ消費で、高解像度画像のＲｅｔｉｎｅｘ処理を高速に実行することが可能となる。
【００８７】
図８は、本実施の形態の画像処理装置のＲｅｔｉｎｅｘ処理部の構成を示す図である。
【００８８】
図を参照して、Ｒｅｔｉｎｅｘ処理部は、原画像Ｄ２の解像度を下げる補間演算を行う補間部４０１と、補間部４０１の出力である解像度が下げられた画像に対してフィルタを用いた処理を行うことでボケ画像を生成するボケ画像生成部４０３と、ボケ画像の解像度を変更し、原画像Ｄ２と同じ解像度にする補間部４０５とを備えている。Ｒｅｔｉｎｅｘ処理部４０７で、原画像Ｄ２と補間部４０５の出力画像とに基づきＲｅｔｉｎｅｘ処理が行われる。
【００８９】
［第７の実施の形態］
また、第６の実施の形態において、補間部４０１で解像度を低くする度合いを変更することで、出力画像の画質（精度）を調整することも可能である。例えば、現在、デジタルスチルカメラの場合、保存されるデジタル画像データは、その解像度順に、ＦＵＬＬ（２，５６０ｘ１，９２０）、ＵＸＧＡ（１，６００ｘ１，２００）、ＳＸＧＡ（１，２８０ｘ９６０）、ＸＧＡ（１，０２４ｘ７６８）、ＶＧＡ（６４０ｘ４８０）などのように分類されている。
【００９０】
そこで例えば、ＦＵＬＬ（２，５６０ｘ１，９２０）の原画像に対して、画質重視の場合、解像度を低くした原画像をＵＸＧＡ（１，６００ｘ１，２００）とし、速度重視の場合、解像度を低くした原画像をＶＧＡ（６４０ｘ４８０）とするような処理を補間部４０１で行う構成とする。これにより、重視する対象に基づいて異なる解像度のボケ画像を生成し、補間部４０５での補間処理によって元のＦＵＬＬ（２，５６０ｘ１，９２０）の解像度に戻して、Ｒｅｔｉｎｅｘ処理部４０７で処理を実行させるのである。
【００９１】
さらには、ＭＳＲ方式のＲｅｔｉｎｅｘ処理に本実施の形態の技術を適用することも可能である。
【００９２】
例えば、原画像がＦＵＬＬ（２，５６０ｘ１，９２０）の解像度の場合に、ＭＳＲにおける、ぼかし方の大、中、小に対して、ぼかし方大では原画像をＶＧＡ（６４０ｘ４８０）にした画像から、ぼかし方中では原画像をＳＸＧＡ（１，２８０ｘ９６０）にした画像から、ぼかし方小では原画像をＵＸＧＡ（１，６００ｘ１，２００）にした画像から、各々ボケ画像を生成する。その後、各々のボケ画像を補間処理によって元のＦＵＬＬ（２，５６０ｘ１，９２０）の解像度に戻してＲｅｔｉｎｅｘ処理を実行させ、合成するのである。
【００９３】
つまり、あまりぼかさない場合には、あまり解像度も低くしないことで、画質（精度）を維持する効果が期待できる。
【００９４】
さらに、上記ＭＳＲへの応用に関して、ぼかす対象の画像のサイズとぼかすためのフィルタの相対的なサイズを変えるのであれば、複数の段階のボケ度合いの画像を作成することができる。そこで、たとえばぼかし方大では原画像をＶＧＡ（６４０ｘ４８０）にした画像から、ぼかし方中では原画像をＳＸＧＡ（１，２８０ｘ９６０）にした画像から、ぼかし方小では原画像をＵＸＧＡ（１，６００ｘ１，２００）にした画像から、同じサイズのフィルタを用いてボケ画像を各々生成し、原画像の解像度に戻すことで、ぼかし方大、中、小の画像を作成することができる。そして、原画像をぼかし方大、中、小の画像のそれぞれで除算し、処理することで（図１９参照）、ＭＳＲを実現することも可能である。
【００９５】
逆に、解像度がお互いに異なるデジタル画像データ（たとえば、ＵＸＧＡ（１，６００ｘ１，２００）とＶＧＡ（６４０ｘ４８０））に対して、同サイズの周辺広がりを有するガウス関数によるボケ画像作成処理が施された場合、各々の処理結果が異なってしまうことは明らかである。
【００９６】
解像度が異なっていても、これらの画像の内容は同一であり、その色補正結果やコントラスト、エッジの強調具合が解像度に応じて変わってしまうことは好ましくない。そこで、ボケ画像を作成する元となる画像（図８の補間部４０１の出力画像）の解像度に応じてボケ画像を作るためのフィルタのサイズを変更することによって、解像度が異なっても、同様の処理効果を得ることができる。
【００９７】
たとえば、図９および１０は、模式的に同様の周辺広がりを有するガウス関数を１次元で図示したグラフである。グラフ中、Ｘ軸が画素の位置を示している。
【００９８】
図９は、解像度が低い、ＶＧＡ（６４０ｘ４８０）画像に適用する場合のガウス関数の広がりをＸ軸方向について１次元的に表示したグラフである。図１０は、解像度が高い、ＵＸＧＡ（１，６００ｘ１，２００）に適用する場合のガウス関数の広がりをＸ軸方向について１次元的に表示したグラフである。
【００９９】
各々のガウス関数は異なり、その広がりが異なる。しかし、画像全体として見たとき、その曲線形状は相似している。
【０１００】
このように解像度に応じてガウス関数を変化させることで、両者の画像の内容が同一の場合、同様のＲｅｔｉｎｅｘ処理の効果を得ることができる。
【０１０１】
このようにガウス関数の広がりを変化させ、解像度が異なった場合にも相似形状を得る為には、式（２）のガウス関数において、周辺の広がりを決める定数ｃ（カーネル値）を解像度と連動して調整すればよい。
【０１０２】
例えば、ＶＧＡ（６４０ｘ４８０）において適用するカーネル値をｃＶＧＡ、ＵＸＧＡ（１，６００ｘ１，２００）において適用するカーネル値をｃＵＸＧＡとすると、
ｃＶＧＡ＝ｃＵＸＧＡ×（６４０／１６００）                        …（８）
の関係式で容易にカーネル値は計算される。
【０１０３】
図１１は、本実施の形態において、ボケ画像作成の対象となる画像の解像度をＦＵＬＬ（２５６０ｘ１９２０）、その解像度でのカーネル値をｃＦＵＬＬとした場合に、ＵＸＧＡ（１，６００ｘ１，２００），ＳＸＧＡ（１，２８０ｘ９６０），ＸＧＡ（１，０２４ｘ７６８），ＶＧＡ（６４０ｘ４８０）の各解像度に対応するカーネル値のｃＦＵＬＬからの計算式を示した図である。
【０１０４】
カーネル値の変更により、異なる解像度の画像からボケ画像を生成してＲｅｔｉｎｅｘ処理を行う処理は、例えば、デジタルカメラ内部で実行することも可能であるし、ある解像度の画像として保存されたデジタル画像データに対して、パソコンなどにインストールしたアプリケーションソフトで実行することも可能である。
【０１０５】
また、図９、１０に示すようなガウス関数以外の関数を用いる場合においても同様に、画像の解像度に連動させて各関数のフィルタサイズを変更すればよい。
【０１０６】
例えば、図１２では、中央画素（注目画素であり、原点の位置で示す）における重みを各々１として異なる４つの関数の周辺拡がりを１次元的に図示している。
【０１０７】
図中、系列１はガウス関数でｅｘｐ（−（ｘ／ｃ１）２）を、系列２は指数関数ｅｘｐ（−｜ｘ｜／ｃ２）を、系列３は逆平方関数１／（１＋（ｘ／ｃ３）２）を、系列４は線形関数（ｃ４−ｘ）・ｃ４を示している。ここで、ｃ１からｃ４が各周辺広がり関数におけるカーネル値に相当する。従って、ｃ１からｃ４を変更することで、解像度にあわせたボケ画像の作成が可能となる。
【０１０８】
［第８の実施の形態］
また、第６の実施の形態において、補間部４０１で解像度を低くする度合いを原画像Ｄ２の解像度に応じて変更することで、同一のフィルタを用いて画像処理を行うことも可能である。
【０１０９】
図１３は、第８の実施の形態において図８の補間部４０１、ボケ画像生成部４０３および補間部４０５が行う処理を示す図である。
【０１１０】
図を参照して、原画像Ｄ２の解像度に応じて解像度変換部４５１で解像度の変換を行い、同一解像度の画像とする。ここでは、原画像Ｄ２の解像度がＦＵＬＬ、ＵＸＧＡ、ＳＸＧＡ、ＸＧＡ、ＶＧＡのいずれであっても、解像度変換によりＶＧＡ画像を作成するものとする。
【０１１１】
その後、ボケ画像生成部４５３によりフィルタを用いてボケ画像を生成し、解像度変換部４５５にて元の解像度に戻す。このとき、解像度変換部４５１から出力される画像の解像度は原画像Ｄ２の解像度に拘わりなく一定であるため、同一サイズのフィルタを用いると、原画像の解像度が異なっても、同じ程度のボケ画像を得ることができる。
【０１１２】
たとえば、同一の内容を有し、その解像度が異なる画像が複数あるものとする。これら解像度が異なる画像のどれに対して図１３の処理を実行しても、画像全体として見て同程度のボケ程度を有するボケ画像が得られ、同程度のＲｅｔｉｎｅｘ処理を行なうことができるのである。
【０１１３】
すなわち、本実施の形態においては、ぼかす際の対象画像とフィルタとの相対的な大きさを調整することで、処理対象の画像の解像度に拘わりなく、同程度のＲｅｔｉｎｅｘ処理を行なうものである。
【０１１４】
［第９の実施の形態］
図１４は、本発明の第９の実施の形態におけるＲｅｔｉｎｅｘ処理を示すフローチャートである。
【０１１５】
図を参照して、このフローチャートは図６に示されるフローチャートと比較して、ステップＳ１０２で原画像Ｄ２の補間（解像度変換）を行い、それを用いてボケ画像作成を行なう。また、ボケ画像が生成された後、ステップＳ１１０で補間を行い、解像度を原画像Ｄ２に合わせることとしている。
【０１１６】
また、補間のレベルに応じて、ステップＳ１５１でガウス関数の広がりを定めるカーネル値ｃを定めることとしている。
【０１１７】
他の処理は、図６に示されるフローチャートと同じである。
たとえば、ＭＳＲを行う場合には、ステップＳ１５１でｃ値を固定としたまま、ステップＳ１０２で解像度変更のレベルを変化させ、複数の画像を作成する。これにより、同一のフィルタにより複数のボケ度合いの画像を作成することができる。または、解像度の変更レベルは一定とし、ｃ値を変えることで複数のボケ度合いの画像を作成するようにしてもよい。
【０１１８】
また、図１５は、同様に図７に示す線形Ｒｅｔｉｎｅｘ処理において、ボケ画像作成の前に原画像の解像度変更を行い、ｃ値を設定する場合の処理を示すフローチャートである。
【０１１９】
［第１０の実施の形態］
なお、ガウス関数などを用いて原画像のボケ画像を生成する代わりに、光学的にピント（フォーカス）をずらしたり、解像度の低い撮像素子を用いたりすることで、ボケ画像を生成することも可能である。光学的にピントをずらす場合、原画像を記録するためのＣＣＤなどの撮像素子とボケ画像を記録するための撮像素子とは、同一のものでも構わないし、異なるものでも構わない。
【０１２０】
そして、同じ解像度にした原画像とボケ画像に対してＲｅｔｉｎｅｘ処理が行われる。
【０１２１】
図１６は、第１０の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【０１２２】
このデジタルカメラは、第４の実施の形態におけるデジタルカメラ（図４）と比較して、レンズＬからの入射光を分割するハーフミラー２５３と、ボケ画像を生成するためのＣＣＤ２５１とを備えている。なお、ハーフミラーの代わりにＣＣＤ２５１に光を入射させるための別個のレンズを設けるようにしてもよい。しかし、近距離の対象物を撮影するときにパララックスが生じることを考慮して、同一光学系から２系統に光を導くためのハーフミラーを用いることが望ましい。
【０１２３】
図１６においては、ＣＣＤ２５１は、ＣＣＤ２０１が合焦した場合に、ピントのボケた画像が撮影される位置に取付けられている。
【０１２４】
なお、ボケ画像用には原画像用よりも安価な、低い解像度の撮像素子を用いることができる。この場合、ボケ画像用の低解像度の画像を原画像用の撮像素子の解像度へ補間して合わせることで、前述したような解像度を低くした画像からボケ画像を生成してＲｅｔｉｎｅｘ処理を行う処理と同等の処理を行なうことができる。
【０１２５】
［第１１の実施の形態］
図１７は、第１１の実施の形態におけるデジタルカメラの撮像処理を示すフローチャートである。
【０１２６】
この処理は、第４の実施の形態におけるデジタルカメラ（図４）のＣＰＵ２１１で実行されるものとする。
【０１２７】
図を参照して、ピント合わせの為にレンズ制御部２０９を用いてレンズの駆動処理が行われる。シャッターが切られたのであれば（ステップＳ３０３でＹＥＳ）、ステップＳ３０５でＣＣＤ撮像素子２０１を用いて原画像Ｄ２の撮影処理が行われる。その後、ステップＳ３０７で、レンズ制御部２０９を用いてレンズの駆動を行い、ピントをずらす。その状態でステップＳ３０９でボケ画像Ｄ４の撮影が行われる。
【０１２８】
その後、Ｄ２とＤ４とに基づいてＲｅｔｉｎｅｘ処理が行われ（ステップＳ３１１）、画像補正処理が行われた後（ステップＳ３１３）、画像の出力（表示、メモリ）処理が行われる（ステップＳ３１５）。
【０１２９】
なお、ＭＳＲを行う場合には、ステップＳ３０７およびＳ３０９でピントのずらし加減を変えることで、複数のレベルのボケ画像を得ることとなる。
【０１３０】
第１０および第１１の実施の形態によると、ボケ画像を作成するために、コンボリューション積分などの複雑な演算を行う必要がなくなるため、高速なＲｅｔｉｎｅｘ処理を行なうことができる撮像装置を提供することが可能となる。
【０１３１】
（発明の他の構成例）
なお、上述した具体的実施形態には以下の構成を有する発明が含まれている。
【０１３２】
（１）  Ｒｅｔｉｎｅｘ処理を実行する画像処理装置において、
処理対象となる原画像の解像度を下げた画像を生成する第１手段と、
前記原画像の解像度を下げた画像からボケ画像を生成する第２手段と、
前記ボケ画像を前記原画像の解像度に戻す第３手段と、
前記原画像と前記原画像の解像度に戻されたボケ画像とに基づいてＲｅｔｉｎｅｘ処理を実行する第４手段とを備えた、画像処理装置。
【０１３３】
（この構成に従うと、処理対象となる原画像の解像度を下げた画像が生成され、原画像の解像度を下げた画像からボケ画像が生成されるため、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理装置を提供することができる。）
（２）  原画像の解像度に応じたボケ度合いでボケ画像を生成し、Ｒｅｔｉｎｅｘ処理を行なう画像処理装置において、
前記原画像の解像度を所定の解像度に変換した画像を生成する第１手段と、
前記生成された画像からボケ画像を生成する第２手段とを備えた、画像処理装置。
【０１３４】
（この構成に従うと、原画像の解像度を所定の解像度に変換した後にボケ画像を作成することができる。）
（３）  Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実行する画像処理装置において、
処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成する第１手段と、
所定のフィルタを用いることで、前記複数の画像の各々のボケ画像を生成する第２手段と、
前記生成された複数のボケ画像のそれぞれを前記原画像の解像度に戻す第３手段と、
前記原画像と前記原画像の解像度に戻された複数のボケ画像とに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実行する第４手段とを備えた、画像処理装置。
【０１３５】
（この構成に従うと、処理対象となる原画像の解像度を複数の段階に下げることで、複数の画像を生成し、所定のフィルタを用いることで、複数の画像の各々のボケ画像を生成し、それに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理が実行される。これにより、メモリ消費量の増大や処理速度の極端な低下を起こさずにＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理装置を提供することができる。）
（４）  （１）〜（３）のいずれかに記載の画像処理装置を備えた、デジタルカメラ、デジタルビデオ、スキャナ、フィルムスキャナその他のデジタル機器。
【０１３６】
（この構成によると、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができるデジタル機器を提供することができる。）
（５）  生体における網膜や皮質と同等の役割をモデル化したＲｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
原画像に対してボケ画像を生成する場合のフィルタサイズに対して、原画像の解像度を一旦下げた画像のボケ画像を生成する場合のフィルタサイズは、原画像の解像度を一旦下げた画像の解像度と連動して変更されることを特徴とする、画像処理プログラム。
【０１３７】
（この構成に従うと、フィルタサイズが原画像の解像度を一旦下げた画像の解像度に基づいて変更されるため、原画像の解像度を一旦下げた画像の解像度によらず同様な処理結果を得ることができる。）
（６）  フィルタサイズを変更する処理において、ガウスフィルタにおけるカーネル値を変更し、
そのカーネル値を各画像の解像度に対応させて変更することで、原画像の解像度を一旦下げた画像の解像度に対応した周辺拡がりを有するガウスフィルタを生成することを特徴とする、（５）に記載の画像処理プログラム。
【０１３８】
（この構成によると、カーネル値の変更により画像の解像度に対応した周辺拡がりを有するガウスフィルタを生成することができる。）
（７）  ボケ画像に基づいて、Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
前記ボケ画像は光学的に生成されることを特徴とする、画像処理プログラム。
【０１３９】
（この構成によると、ボケ画像が光学的に生成されるため、複雑な計算を必要としない画像処理プログラムを提供することができる。）
（８）  Ｒｅｔｉｎｅｘ処理を実行する撮像装置において、
処理対象となる原画像を撮影する撮像デバイスと、
前記原画像のボケ画像を光学的に生成する生成手段と、
前記原画像と前記ボケ画像とに基づいてＲｅｔｉｎｅｘ処理を実行する実行手段とを備えた、撮像装置。
【０１４０】
（９）  前記生成手段は、前記撮像デバイスとは異なる撮像デバイスにより、光学的にボケ画像を得る、（８）に記載の撮像装置。
【０１４１】
（１０）  前記生成手段は、前記撮像デバイスに光を入射させる光学系のピントをずらすことでボケ画像を得る、（８）に記載の撮像装置。
【０１４２】
（これらの構成によると、ボケ画像が光学的に生成されるため、複雑な計算を必要としない撮像装置を提供することができる。）
（１１）  Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理をコンピュータに実行させる画像処理プログラムにおいて、
処理対象となる原画像から、解像度の低い少なくとも１つの画像を生成することにより、前記原画像を含めて複数の画像を用意する第１ステップと、
所定のフィルタを用いることで、前記複数の画像のうち少なくとも２つの各々に関し、ボケ画像を生成する第２ステップと、
前記生成された少なくとも２つのボケ画像のそれぞれに関し、前記原画像の解像度と異なる場合に前記原画像の解像度に戻す第３ステップと、
前記原画像と前記原画像の解像度を有する前記少なくとも２つのボケ画像とに基づいてＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を実行する第４ステップとをコンピュータに実行させる、画像処理プログラム。
【０１４３】
（この構成に従うと、Ｍｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理を行うのに複数サイズのフィルタを用意する必要がなく、プログラム自体の小容量化、簡素化が図れる。また、原画像からはボケ画像を生成せず、互いに異なる解像度の低解像度化した画像を複数用意してこれら低解像度化された画像の各々についてボケ画像を生成する場合、メモリ消費量の増大や処理速度の極端な低下を起こさずにＭｕｌｔｉ  Ｓｃａｌｅ  Ｒｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。）
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１４４】
【発明の効果】
本発明に従い、処理対象となる原画像の解像度を下げた画像を生成し、原画像の解像度を下げた画像からボケ画像を生成すると、メモリ消費量の増大や処理速度の極端な低下を起こさずにＲｅｔｉｎｅｘ処理ができる画像処理プログラムを提供することができる。
【図面の簡単な説明】
【図１】第１の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【図２】第２の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【図３】第３の実施の形態におけるＲｅｔｉｎｅｘ処理を行なう撮像装置の構成を示すブロック図である。
【図４】第４の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図５】第５の実施の形態における、プログラムを実行するコンピュータの構成を示すブロック図である。
【図６】図５のコンピュータが実行するＲｅｔｉｎｅｘ処理を示すフローチャートである。
【図７】図５のコンピュータが実行する線形Ｒｅｔｉｎｅｘ処理を示すフローチャートである。
【図８】第６の実施の形態の画像処理装置のＲｅｔｉｎｅｘ処理部の構成を示す図である。
【図９】解像度が低い画像に適用する場合のガウス関数の広がりをＸ軸方向について１次元的に表示したグラフである。
【図１０】解像度が高い画像に適用する場合のガウス関数の広がりをＸ軸方向について１次元的に表示したグラフである。
【図１１】各解像度に対応するカーネル値の計算式を示した図である。
【図１２】異なる４つの関数の周辺拡がりを１次元的に示した図である。
【図１３】第８の実施の形態において図８の補間部４０１、ボケ画像生成部４０３および補間部４０５が行う処理を示す図である。
【図１４】第９の実施の形態におけるＲｅｔｉｎｅｘ処理を示すフローチャートである。
【図１５】図７に示す線形Ｒｅｔｉｎｅｘ処理において、ボケ画像作成の前に原画像の解像度変更を行い、ｃ値を設定する場合の処理を示すフローチャートである。
【図１６】第１０の実施の形態におけるデジタルカメラの構成を示すブロック図である。
【図１７】第１１の実施の形態におけるデジタルカメラの撮像処理を示すフローチャートである。
【図１８】ボケ画像作成のためにガウス関数を用いたＳＳＲの具体的な処理を説明するための図である。
【図１９】ガウス関数を用いたＭＳＲ処理を説明するための図である。
【符号の説明】
１０１  ＣＣＤイメージセンサ、１０２  Ａ／Ｄコンバータ、１０３  Ｒｅｔｉｎｅｘ処理部、１０４  γ補正部、１０５  表示・保存部、Ｌ  レンズ、２０１  ＣＣＤイメージセンサ、２０３  Ａ／Ｄコンバータ、２０５  ＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、２０７  バッファメモリ、２０９レンズ制御部、２１１  ＣＰＵ、２１３  ＲＡＭ、２１５  ＲＯＭ（ファームウェアメモリ）、２１７  カードインタフェース、２１９  メモリカード、２２１  画像表示部、２５１  Ｒｅｔｉｎｅｘ処理回路、２５３  色補間回路、２５５  γ補正回路、２５７  色空間変換回路、２５９  画像圧縮回路、３０１  ＣＰＵ、３０３  表示部、３０５  ＬＡＮカード、３０７  入力部、３０９  フレキシブルディスクドライブ、３１１  ＣＤ−ＲＯＭドライブ、３１３  ハードディスクドライブ、３１５  ＲＯＭ、３１７  ＲＡＭ、Ｆ１  フレキシブルディスク、Ｃ１  ＣＤ−ＲＯＭ、Ｄ１  アナログ画像、Ｄ２  オリジナルデジタル画像、Ｄ４  ボケ画像、Ｄ５  Ｒｅｔｉｎｅｘ出力画像、Ｄ６  線形Ｒｅｔｉｎｅｘ出力画像。
【図１】
2004165840.tif 000003
【図２】
2004165840.tif 000004
【図３】
2004165840.tif 000005
【図４】
2004165840.tif 000006
【図５】
2004165840.tif 000007
【図６】
2004165840.tif 000008
【図７】
2004165840.tif 000009
【図８】
2004165840.tif 000010
【図９】
2004165840.tif 000011
【図１０】
2004165840.tif 000012
【図１１】
2004165840.tif 000013
【図１２】
2004165840.tif 000014
【図１３】
2004165840.tif 000015
【図１４】
2004165840.tif 000016
【図１５】
2004165840.tif 000017
【図１６】
2004165840.tif 000018
【図１７】
2004165840.tif 000019
【図１８】
2004165840.tif 000020
【図１９】
2004165840.tif 000021