(57)【要約】  ぼけた画像データが、３つのチャネルのＲＧＢデータを単一のチャネルの強度データに変換し、その強度データを処理して積分画像データを生成し、可変サイズフィルタを積分画像データに適用してボックスフィルタリング済データを生成し、その画素位置についてのボックスフィルタリング済データ、強度データ、及び使用されるフィルタサイズに応じて、各画素位置についてのゲイン係数を計算し、各画素の元のＲＧＢデータにその画素のゲイン係数を乗算して鮮鋭化ＲＧＢデータを生成することによって鮮鋭化される。フィルタサイズは、局所ぼけ量の推定値に応じて各画素位置において選択される。こうして、ぼけ量が変化するにつれてフィルタサイズが適宜変化する。積分画像データを処理してボックスフィルタリング済データを生成することにより、使用されるフィルタサイズに関係なく、画像鮮鋭化に必要な処理演算が一定回数となる。
2011523125.tif 000002
【特許請求の範囲】
【請求項１】
物理的な計算装置を用いて画像データを処理して鮮鋭化画像データを生成する方法であって、該物理的な計算装置が、
画像データにフィルタを適用してフィルタリング済画像データを生成するプロセスであって、画像データ中の複数の画素位置のそれぞれについて、適用するフィルタのサイズがその画素位置の画像ぼけ測度に応じて選択され、画像中のぼけ量が画素位置毎に変化するにつれて該フィルタのサイズが変化するように前記選択されたサイズのフィルタが適用されて、フィルタリング済画像データが生成されるようにする、プロセスと、
前記フィルタリング済画像データに応じて前記画像データを変調して鮮鋭化画像データを生成するプロセスと
を行うことを含む、画像データを処理して鮮鋭化画像データを生成する方法。
【請求項２】
前記画像データを変調して鮮鋭化画像データを生成するプロセスは、
前記物理的な計算装置が、前記フィルタリング済画像データに応じてゲイン係数を計算すること、及び、該計算されたゲイン係数に応じて前記画像データを変調することを含む、請求項１に記載の方法。
【請求項３】
前記鮮鋭化画像データは、前記物理的な計算装置によって次式に従って生成され、
【数１】
2011523125.tif 000025
ここで、ｘ，ｙは画素の座標であり、ｆｓは前記鮮鋭化画像データの強度値であり、ｇは前記ゲイン係数であり、ｆは前記画像データの強度値である、請求項２に記載の方法。
【請求項４】
前記ゲイン係数は、前記画像データ中の複数の画素位置のそれぞれについて、前記物理的な計算装置が、
その画素位置の前記画像データに適用する前記フィルタのサイズと、その画素位置の前記画像データの強度との両方に応じて、ルックアップテーブルから記憶された値を読み出すプロセスと、
前記ルックアップテーブルから読み出した前記値及びその画素位置の前記フィルタリング済画像データの関数として、前記ゲイン係数を計算するプロセスと
を行うことによって計算される、請求項２又は３に記載の方法。
【請求項５】
前記画像データは、前記物理的な計算装置によって、前記画像の或る行数の画素についてメモリに蓄積され、該行数は適用する前記フィルタのサイズに依存し、
前記フィルタを適用するプロセス及び前記画像データを変調するプロセスは、記憶された或る行の画素について、前記物理的な計算装置によって前記画像のさらなる行の画素の画像データが前記メモリに記憶される前に実行され、各プロセスは、次に記憶された行の画素について繰り返される、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
鮮鋭化される前記画像データは、前記物理的な計算装置によってメモリに記憶され、前記鮮鋭化画像データが生成されるにつれて、該鮮鋭化画像データによって前記メモリ内で上書きされる、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
鮮鋭化される前記画像データは、複数のチャネルのカラーデータを含み、
前記カラーデータは、前記物理的な計算装置によって処理されて強度データが生成され、
前記生成された強度データは、前記物理的な計算装置によって処理されて前記フィルタリング済画像データが生成され、
前記複数のチャネルの前記カラーデータは、前記物理的な計算装置によって前記フィルタリング済画像データに応じて変調される、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
画像データを処理して鮮鋭化画像データを生成する装置であって、
画像データ中の複数の画素位置のそれぞれについて、その画素位置の画像ぼけ測度に応じてその画素位置に適用するフィルタのサイズを選択するように動作可能であり、画像中のぼけ量が画素位置毎に変化するにつれて該フィルタのサイズが変化するようにする、フィルタ選択部と、
前記画像データに前記選択されたサイズのフィルタを適用することによって該画像データをフィルタリングして、フィルタリング済画像データを生成するように動作可能な画像データフィルタと、
前記フィルタリング済画像データに応じて前記画像データを変調して鮮鋭化画像データを生成するように動作可能な画像データ変調部と
を備える、画像データを処理して鮮鋭化画像データを生成する装置。
【請求項９】
前記画像データ変調部は、前記フィルタリング済画像データに応じてゲイン係数を計算するように動作可能なゲイン計算部と、該計算されたゲイン係数に応じて前記画像データを変調するように動作可能な変調部とを備える、請求項８に記載の装置。
【請求項１０】
前記変調部は、次式に従って前記画像データを変調するように構成され、
【数２】
2011523125.tif 000026
ここで、ｘ，ｙは画素の座標であり、ｆｓは前記鮮鋭化画像データの強度値であり、ｇは前記ゲイン係数であり、ｆは前記画像データの強度値である、請求項９に記載の装置。
【請求項１１】
前記ゲイン係数計算部は、
その画素位置の前記画像データに適用する前記フィルタのサイズと、その画素位置の前記画像データの強度との両方に応じて、ルックアップテーブルから記憶された値を読み出すことと、
前記ルックアップテーブルから読み出した前記値及びその画素位置について生成された前記フィルタリング済画像データの関数として前記ゲイン係数を計算することと
によって、前記画像データ中の複数の画素位置のそれぞれについて各ゲイン係数を計算するように構成される、請求項９又は１０に記載の装置。
【請求項１２】
前記装置は、メモリをさらに備え、前記画像データを前記画像の或る行数の画素について該メモリに蓄積するように構成され、該行数は適用する前記フィルタのサイズに依存し、
前記画像データフィルタ及び前記画像データ変調部は、記憶された或る行の画素について、前記画像のさらなる行の画素の画像データが前記メモリに記憶される前に前記画像データを処理し、次に記憶された行の画素について該処理を繰り返すように構成される、請求項８〜１１のいずれか一項に記載の装置。
【請求項１３】
前記装置は、鮮鋭化される前記画像データを記憶するように構成されるメモリをさらに備え、前記鮮鋭化画像データが生成されるにつれて、該鮮鋭化画像データによって前記メモリ内のデータを上書きするように構成される、請求項８〜１２のいずれか一項に記載の装置。
【請求項１４】
鮮鋭化される前記画像データは、複数のチャネルのカラーデータを含み、
前記装置は、前記カラーデータを処理して強度データを生成するように動作可能な強度計算部をさらに備え、
前記画像データフィルタは、前記生成された強度データに前記選択されたサイズのフィルタを適用して前記フィルタリング済画像データを生成するように構成され、
前記画像データ変調部は、前記フィルタリング済画像データに応じて前記複数のチャネルのカラーデータを変調するように構成される、請求項８〜１３のいずれか一項に記載の装置。
【請求項１５】
コンピュータによって実行された場合に該コンピュータに請求項１〜７の少なくとも一項に記載の方法を行わせるコンピュータ読み取り可能な命令を保持する、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ぼけた画像の鮮鋭度を向上させる処理に関する。
【背景技術】
【０００２】
鮮鋭化は、画像を視覚的に向上させるために通常適用される標準的な画像処理技法の一つである。鮮鋭化の効果は通常、それまで存在しなかった画像の細部を浮き上がらせるように見えるため、ユーザーには非常に劇的に見える。鮮鋭化が実際に行うのは、画像中のエッジを強調して目に付きやすくすることである。画像に新たな細部が創出される訳ではない。
【０００３】
画像鮮鋭化の最初のステップは、多くの利用可能な従来技術の方法のうちの１つ、例えば画素平均化、ガウシアンマスクの畳み込み、或いは任意の他のローパスフィルタリングを用いて画像をぼかすことである。次に、ぼかした画像よりも明るい画素はより明るく、ぼかした画像よりも暗い画素はより暗くなるように、原画像及びぼかした画像を処理する。その結果、各画素とその近傍との間のコントラストが高まる。この処理は通常、アンシャープマスク処理（ＵＭ）と呼ばれ、次式により表すことができる。
【０００４】
【数１】
2011523125.tif 000003
【０００５】
式（１）において、ｆ（ｘ，ｙ）は原画像であり、ｆLP（ｘ，ｙ）はローパスフィルタをかけた画像であり、ｆs（ｘ，ｙ）は鮮鋭化した結果である。ブースト係数ｂは、画像の差分を増幅する程度を決める。
【０００６】
式（１）は、差分ｆ（ｘ，ｙ）−ｆLP（ｘ，ｙ）を一般的なハイパスフィルタｆHP（ｘ，ｙ）に置き換えることによって一般化することもできる。
【０００７】
【数２】
2011523125.tif 000004
【０００８】
従来技術における画像鮮鋭化方法のほとんどは、いずれかの形（１）又は（２）を用いる。これらの方法は、ブースト係数ｂの選択方法並びにローパスフィルタリング又はハイパスフィルタリングの適用方法が異なる。
【０００９】
米国特許第５，３６３，２０９号は、以下のステップから成るＵＭ法の変形を記載している。
１）画像を明度−彩度形式に変換する。ここで、少なくとも１つの信号が全体の画像強度を示す。
２）画像内の最大局所コントラストを求める。尚、局所コントラストは３×３画素近傍において求める。
３）最大局所コントラストを所定の目標値に上げると共に他の全てのコントラストをそれに比例した量に上げる３×３画像フィルタを求める。
４）求めたフィルタ関数を画像に適用して鮮鋭度を上げる。
したがって、この方法において、ｆLP（ｘ，ｙ）は３×３の画像平均であり、ｂは画素の位置及び画像の勾配に依存する関数であり、ｂ＝ｂ（ｘ，ｙ，ｆx（ｘ，ｙ）ｆy（ｘ，ｙ））である。
【００１０】
ChiandussiとRamponiが「Nonlinear Unsharp masking for the enhancement of Document Images」（Proceedings of the Eighth European Signal Processing Conference, EUSIPCO-96）と題された論文に記載した方法では、ＵＭ法の構造は維持しながら、ラプラシアン・ガウシアン（ＬｏＧ）バンドパスフィルタがハイパスフィルタの代わりに用いられる。ＬｏＧフィルタに供給される信号は、均一な背景領域に大きなノイズ平滑化をもたらす二次演算子によって処理される。このアルゴリズムの全体構造は、同次二次フィルタの全体構造に対応する。この論文は、二次フィルタがノイズ増幅を抑えて画像のエッジを強調できることを示している。
【００１１】
過去２０年間に多くの画像鮮鋭化方法及びぼけ除去方法が開発されてきた。最も有効な方法は、畳み込みカーネルの形状及び大きさが不明である場合に画像のブラインド・デコンボルーションを行う。このようなアルゴリズムは通常、向上が必要な画像をすでに取得しメモリ又はハードディスクに記憶している場合に、オフライン処理で用いられる。オフラインモードでは、処理速度及びメモリ容量の要件は重要ではない。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
既知の画像鮮鋭化方法及びぼけ除去方法には、多くの問題が存在する。
【００１３】
例えば、第１の問題は、最近のイメージセンサが画像向上アルゴリズムにリアルタイム性能を必要とすることである。センサの小型化及び低価格は画像プロセッサを大きく制約する一方で、結果の品質に対する要求は高いままである。
【００１４】
第２の問題は、平坦でない被写体を撮影すると、被写体の画像のぼけが変化することである。このぼけ量は、センサの現在位置から被写体までの距離に依存する。ぼけ量は、画像を鮮鋭化するために必要な鮮鋭化フィルタのサイズ（すなわちアパーチャ）に影響する。
【００１５】
従来技術における方法は、毎回異なる大きさのフィルタアパーチャを用いて鮮鋭化アルゴリズムを複数回実行し、結果として得られる画像を合成することによって、この問題に対処する。しかしながら、これはメモリ消費及び計算速度の観点から効率的でない。
【００１６】
さらに、従来技術の技法は最適化に注力しておらず、直接組み込み実装及び／又は非常に低コストの実装には適しない。
【課題を解決するための手段】
【００１７】
本発明によれば、入力画像データを処理してその画像データを鮮鋭化する装置及び方法が提供される。画像データは、画像の種々の部分に対して、その部分のぼけ量に従って変化するサイズのフィルタを用いて処理される。このようにして、フィルタのサイズを、種々の部分のぼけ量に合わせることができる。
【００１８】
これらの特徴によれば、画像データを１回のみフィルタリングすればよく、それによって処理時間が削減されると共に処理資源要件が低減される。さらに、画像データのぼけの変化に従って適応的に変化する大きさのフィルタを用いて画像データを鮮鋭化することによって、鮮鋭化を画像の各部に合わせる。
【００１９】
本発明はまた、プログラマブル処理装置を、上記の方法を行うように動作可能となるように、又は上記の装置として構成されるようにプログラムするためのコンピュータプログラム命令を保持する記憶媒体又は信号等のコンピュータプログラム製品を提供する。
【発明の効果】
【００２０】
本発明の実施の形態は、多数のさらなる利点を提供する。特に、
・  一実施の形態では、基本演算の複雑度を低減する。より具体的には、一実施の形態では、固定小数点形式の整数演算のみを用いると共に、全ての除算をビットシフトに置き換える。
・  一実施の形態では、提案するアルゴリズムには、数行の画像を記憶するための単一のバッファで十分である。また、出力画像を処理済の入力画像のメモリに記録すれば、計算コストを付加することなく、インプレース処理が可能である。
【００２１】
本発明の実施の形態は、高速な画像鮮鋭化を行うことができ、リニアイメージセンサに組み込まれる低コストＣＰＵでのリアルタイム実装に適している。
【００２２】
次に、本発明の実施形態を例示のためだけに添付図面を参照して説明する。
【図面の簡単な説明】
【００２３】
【図１】本発明の一実施形態の構成要素を、処理装置の構成要素がコンピュータプログラム命令によってプログラミングされる場合に内部に構成されると考えられる概念的な機能処理ユニットと共に概略的に示す図である。
【図２】図１に示される処理装置によって入力画像データを鮮鋭化するために行われる演算を示す図である。
【図３】様々な処理段階において図１の装置にデータが記憶される方法の説明図である。
【発明を実施するための形態】
【００２４】
以下では、イメージスキャナ内のラインセンサによって作成された画像データを鮮鋭化するためにイメージスキャナにおいて処理を行う一実施形態を説明する。しかしながら、この処理は他のタイプの装置において行ってもよく、またこの処理は他のタイプのセンサ、例えばフルイメージセンサからの画像データに対して行ってもよいことが理解されるであろう。
【００２５】
後述するように、本実施形態は、局所的に推定されるぼけ量に応じて鮮鋭化フィルタの可変アパーチャを用いる。可変アパーチャは、任意の画素（ｘ，ｙ）において利用可能な関数ｒ（ｘ，ｙ）∈［１．．ｒmax］である。
【００２６】
結果として、各画素位置において、その画素位置の局所的な画像中のぼけ量に応じてフィルタアパーチャが選択される。こうして、画像中のぼけ量が画素位置毎に変化するにつれて、フィルタアパーチャのサイズが適宜変化する。これにより、毎回異なるサイズのアパーチャを有するフィルタを用いて画像全体を複数回処理した後に結果を合成する上記の従来技術の欠点を回避する。
【００２７】
さらに、本実施形態は、センサによって画像の新たな行が取り込まれるとすぐに、結果を順次作成する。したがって、本実施形態は、フィルタが可変アパーチャであっても、比較的小さい画像処理バッファのみを要する。これは、通常は画像処理に大きな中間メモリを要する画像全体に作用する従来技術の方法との、もう一つの差異である。
【００２８】
さらに、本実施形態は、強度データに鮮鋭化フィルタを直接適用する代わりに、積分画像データにフィルタを適用してボックスフィルタリング済データを生成する。結果として、ボックスフィルタリング済データを生成するために用いられるフィルタアパーチャのサイズに関係なく、フィルタリング演算を行うために必要な処理演算の回数は一定のままである。
【００２９】
本実施形態の装置及びそれによって行われる実際の処理演算を説明する前に、まず、本実施形態において使用される処理アルゴリズムを説明する。
【００３０】
本実施形態のイメージスキャナでは、入力画像はＲ、Ｇ、Ｂの３つのチャネルから成るカラー画像である。３つのチャネルに必要な計算負荷を減らすために、本実施形態では、カラーチャネルからカラー空間変換を用いて導出される強度チャネルを処理する。次に、強度チャネルに対して画像鮮鋭化を行った後、３つの元のカラーチャネル、導出した鮮鋭化前の強度チャネル、及び処理した鮮鋭化後の強度チャネルを用いて、３つのカラーチャネルを再構成する。
【００３１】
ＲＧＢチャネルから処理対象の強度チャネルを導出するために用いることができる、多くの従来のカラー−強度変換がある。本実施形態では、式（３）によって与えられる簡略化した式を用いる。これは、この式が２回の加算しか必要としないためである。
【００３２】
【数３】
2011523125.tif 000005
【００３３】
基本的な方法（１）に含まれるローパスフィルタに代えて、矩形領域（２ｒ＋１）×（２ｒ＋１）内の画素の和であるボックスフィルタｆBFを用いる。このボックスフィルタは、よく知られた積分画像表現を用いて、領域のサイズｒとは別個に計算される。積分画像Ｉ（ｘ，ｙ）は再帰的２×２フィルタリングによって（すなわち、４回の画素参照を用いて）次のように計算される。
【００３４】
【数４】
2011523125.tif 000006
【００３５】
本実施形態において、可変アパーチャのサイズｒ＝ｒ（ｘ，ｙ）は、処理中の画素の近傍のぼけ量に応じて求められ、ぼけ量はイメージスキャナによって与えられる。可変アパーチャを有するボックスフィルタｆBFは、任意のｒについて積分画像及び４回のメモリ参照のみを用いて、次のように計算される。
【００３６】
【数５】
2011523125.tif 000007
【００３７】
ここで、明確にするためにｒ（ｘ，ｙ）をｒに置き換えている。
【００３８】
ボックスフィルタ（５）の結果を用いて、色成分の乗算変化（multiplicative change）を決める「ゲイン係数」ｇ（ｘ，ｙ）を得る。
【００３９】
【数６】
2011523125.tif 000008
【００４０】
ここで、ｋは、式（１）のブースト係数に依存する予め計算された数値定数であり、Ｌr［．．．］は、各可能な値ｒ（ｘ，ｙ）∈［１．．ｒmax］及び各強度値について予め計算されたルックアップテーブルである。入力カラーチャネルのバイト範囲を仮定した場合に式（３）の強度値の範囲は［０．．７６５］であるため、このルックアップテーブルが必要とするメモリ容量は通常小さい。
【００４１】
式（６）によって与えられるゲイン係数を用いて、下記の式（７）に従って出力カラーを得るために入力カラーを修正する。この出力カラーがアルゴリズムの最終結果となる。
【００４２】
【数７】
2011523125.tif 000009
【００４３】
処理済の強度に基づくカラー再構成の最も単純な方法の１つは、カラー成分値が強度に比例すると仮定する乗算法である。本実施形態では、式（８）及び式（９）により与えられるカラー再構成の乗算法を用いる。
【００４４】
【数８】
2011523125.tif 000010
【数９】
2011523125.tif 000011
【００４５】
ここで、Ｒ（ｘ，ｙ）、Ｇ（ｘ，ｙ）、Ｂ（ｘ，ｙ）及びｆ（ｘ，ｙ）は元のカラー及び強度であり、Ｒs（ｘ，ｙ）、Ｇs（ｘ，ｙ）、Ｂs（ｘ，ｙ）及びｆs（ｘ，ｙ）は修正したカラー及び強度である。
【００４６】
本実施形態では、下付き文字「ｓ」によって示される画像鮮鋭化を行う。上述したＵＭ鮮鋭化手順（１）は、鮮鋭化結果が原画像とそれをローパスフィルタリングした画像との一次結合であることを示す式（１０）によって与えられる等価形式で表すことができる。
【００４７】
【数１０】
2011523125.tif 000012
【００４８】
式（８）及び式（１０）から、ゲイン係数ｇ（ｘ，ｙ）の新たな表現（１１）が得られる。
【００４９】
【数１１】
2011523125.tif 000013
【００５０】
上述したように、本実施形態では、一般的なローパスフィルタｆLPを、ローパスフィルタリングの最も単純な変形であるボックスフィルタｆBFとして実施する。可変サイズｒ（ｘ，ｙ）のボックスフィルタは、（２ｒ＋１）×（２ｒ＋１）の矩形領域内の画素の和であり、次式によって与えられる。
【００５１】
【数１２】
2011523125.tif 000014
【００５２】
ここで、明確にするためにｒ（ｘ，ｙ）をｒに置き換えている。各画素において、式（１２）は（２ｒ＋１）2回の画素参照を必要とし、この回数は、ｒのサイズの増加に伴い二乗で増大する。
【００５３】
本実施形態において、ボックスフィルタは、領域のサイズに関係なく一定回数の演算を用いる。この方法は、積分形式の画像Ｉ（ｘ，ｙ）の表現に基づく。
【００５４】
【数１３】
2011523125.tif 000015
【００５５】
この式から、式（１２）の和を積分画像に対する４回の参照に置き換えることができる。
【００５６】
【数１４】
2011523125.tif 000016
【００５７】
ここで、明確にするためにｒ（ｘ，ｙ）をｒに置き換えている。したがって、本実施形態では、可変アパーチャを用いた鮮鋭化の複雑度を、単純な２×２フィルタの複雑度まで低減する。
【００５８】
式（１３）によって与えられる定義もまた、やはり画像バッファに対する４回の参照しか必要としない下記の式（１５）によって与えられる等価の再帰的定義に置き換えることができる。
【００５９】
【数１５】
2011523125.tif 000017
【００６０】
ボックスフィルタを用いて、ゲイン係数（１１）の計算が下記の式（１６）に従って行われる。式（１６）では、ローパスフィルタを局所画像平均に置き換えている。
【００６１】
【数１６】
2011523125.tif 000018
【００６２】
式（１６）によって与えられる浮動小数点ゲイン係数は、低コストの組み込み実装には不便である。したがって、本実施形態では、精度ｐ桁の２値数の固定小数点形式を用いる。
【００６３】
【数１７】
2011523125.tif 000019
【００６４】
３２ビットの整数表現の場合、大きな精度、例えばｐ＝２２を用いることができる。固定小数点表現では、式（１６）の除算演算を整数形式で行うことができる。本実施形態では、除算を計算から除外することによってアルゴリズムの複雑度をさらに低減する。より詳細には、本実施形態では、入力カラーチャネルのバイト範囲を仮定して、可変アパーチャｒ∈［１．．ｒmax］及び強度ｆ∈［０．．７６５］の全ての可能な値に対して、予め計算されたルックアップテーブルＬr［ｆ（ｘ，ｙ）］を用いる。
【００６５】
【数１８】
2011523125.tif 000020
【００６６】
固定小数点形式のゲイン係数の最終的な式は、式（１９）によって与えられる。
【００６７】
【数１９】
2011523125.tif 000021
【００６８】
ここで、ｋ＝２p（１＋ｂ）である。
【００６９】
式（９）によって定義されるカラー再構成を適用した後、得られたカラー成分もまた、固定小数点形式で表される。元の範囲に戻すために、式（９）を２pで割る。これは、本実施形態においては、ｐビット右へのビットシフト（Ｃ／Ｃ＋＋における「＞＞」演算）によって効率的に実施される。
【００７０】
【数２０】
2011523125.tif 000022
【００７１】
最後に、元の範囲、例えば［０．．２５５］に収まるように出力値Ｃs（ｘ，ｙ）をクリッピングする。
【００７２】
本実施形態では、画像鮮鋭化を行うために必要な中間メモリ容量を低減する。
【００７３】
より具体的には、上記の式（３）〜（７）によって与えられる計算手順では、式（４）によって与えられる積分画像のみが追加メモリバッファを必要とする。強度ｆ（ｘ，ｙ）、ボックスフィルタｆBF（ｘ，ｙ，ｒ）及びゲイン係数ｇ（ｘ，ｙ）等の他の全ての値は、計算されると即座に用いられる。式（６）及び式（７）の分析から、ゲイン係数ｇ（ｘ，ｙ）は全ての画素（ｘ，ｙ）についての記憶領域を必要とせず、ｇ（ｘ，ｙ）は、現在の画素において式（７）によって与えられるカラーを修正するために用いられる局所変数ｇに格納することができると結論付けることができる。同様に、ｆBF（ｘ，ｙ，ｒ）は、式（６）に直接代入することができるため、いかなる変数も必要としない。強度は、式（３）の単純さからメモリバッファを必要とせず、式（４）によって与えられる積分画像及び式（６）によって与えられるゲイン係数の両方において再計算することができる。
【００７４】
式（１４）から、ボックスフィルタは、画素座標（ｘ±ｒ，ｙ±ｒ）が画像の外側になってしまう可能性があるために、画像の縁付近では定義されないことが分かるであろう。したがって、本実施形態では、式（１４）によって定義されるボックスフィルタの計算を積分画像の縁及び角において正確に行うことができるように画像を拡張する。好ましい実施形態では、単純な画素の複製を用いる。これは、拡張画像における元の画像の外側に位置する各画素が、元の拡張していない画像の最も近い画素の値と等しい値を有することを意味する。この拡張は、外側の画素について次のように定義される。
【００７５】
【数２１】
2011523125.tif 000023
【００７６】
ここで、Ｍは元の画像の幅であり、Ｎは元の画像の高さである。
【００７７】
式（２１）中の定義を用いて、式（１５）によって定義される積分画像が、下記の式（２２）によって定義される拡張された範囲から全ての画素について計算される。
【００７８】
【数２２】
2011523125.tif 000024
【００７９】
この後、全ての画素位置についてボックスフィルタを正確に計算することができる。
【００８０】
本アルゴリズムは、１行の画像を鮮鋭化するために、（現在の行、前のｒmax＋１行、次のｒmax行を含む）２ｒmax＋２行から成る画像近傍を用いる。この近傍を、式（５）によって定義されるボックスフィルタにおいて用いる。したがって、内部メモリバッファは、少なくともＮr×ｄ画素の画素値を格納する容量を有しなければならない。ここで、Ｎrは、Ｎr＝Ｎ＋２ｒmax＋１であるような拡張画像の幅Ｎであり、ｄmax＝２ｒmax＋２は、鮮鋭化フィルタにおいて用いられる近傍のサイズである。最初の段階において、アルゴリズムは元の画像のｒmax行を処理し、内部バッファを中間処理結果である積分画像Ｉで埋める。アルゴリズムは、番号がｉ＝ｒmax＋１，ｒmax＋２，．．．，Ｍである新たな行をスキャナから受け取ると、積分画像Ｉの新たな行で内部バッファを更新し、番号がｉ−ｒmaxである行に対して鮮鋭化アルゴリズムを行う。最後の段階において、全Ｍ行の画像がスキャンされてＭ−ｒmax行が鮮鋭化されると、アルゴリズムは残りのｒmax行の鮮鋭化を行う。
【００８１】
本実施形態で使用されるアルゴリズムの概要を説明したので、次に、本実施形態の装置及びそれによって行われる処理演算を説明する。
【００８２】
図１を参照すると、本発明の一実施形態は、従来通り１つ又は複数のプロセッサ、メモリ、グラフィックカード等を含むプログラマブル処理装置２を備える。
【００８３】
処理装置２は、例えば、データ記憶媒体（例えば光学ＣＤ  Ｒｏｍ４、半導体ＲＯＭ、磁気記録媒体６等）に記憶されるデータとして、及び／又は、信号８（例えば、処理装置２に例えば遠隔地のデータベースからインターネット等の通信ネットワークを介した伝送により、又は大気を介した伝送により入力される電気信号又は光信号）として入力されるプログラミング命令に従って動作するようにプログラムされる。
【００８４】
処理装置２は、プログラミング命令によりプログラムされると、処理演算を行う多数の機能ユニットとして構成されるものとして考えることができる。このような機能ユニットとそれらの相互接続の例を図１に示す。しかしながら、図１に示すユニット及び相互接続は、概念的なものであって、理解を助けるためだけに例示の目的で示されており、必ずしも、処理装置２のプロセッサ、メモリ等が実際に構成されることになるユニット及び接続を表すものではない。
【００８５】
図１に示す機能ユニットを参照すると、ＲＧＢデータ記憶部１０は、スキャナ（図示せず）のラインセンサからの入力画像データを受け取り、画素毎に赤、緑、青の強度値の形式で記憶するように構成される。上述したように、このデータは、３つのチャネル、すなわち赤のチャネル、緑のチャネル、青のチャネルで受け取られる。また、本実施形態においては、ＲＧＢデータ記憶部１０は、処理装置２によって生成された出力前の鮮鋭化画像データを記憶するように構成される。これにより、鮮鋭化画像データを記憶するための追加のメモリの必要がなくなる。
【００８６】
局所ぼけ推定値記憶部１２は、イメージスキャナからの画像の画素毎に、局所ぼけの推定値を受け取って記憶するように構成される。
【００８７】
画像スキャン制御部１４は、処理中にＲＧＢデータ記憶部１０へのデータの流れ及びＲＧＢデータ記憶部１０からのデータの流れを制御するように構成される。装置の使用時に、画像スキャン制御部１４は、特に、次にどの画素を処理するかを判断する。
【００８８】
可変アパーチャ制御部１６は、入力画像データ中の各画素を局所ぼけ推定値記憶部１２に記憶されているその画素の局所ぼけの推定値に応じて処理するために使用される、フィルタのアパーチャのサイズを制御するように構成される。
【００８９】
予め計算されたルックアップテーブル１８は、式（１８）の変数Ｌr［ｆ］の予め計算された値を、画像データ強度及びフィルタアパーチャサイズの関数として記憶する。鮮鋭化処理中に、予め計算されたルックアップテーブルは、画像データ強度及びフィルタアパーチャサイズの計算値を用いてアドレス指定され、計算コストの高い除算の計算を含む式（１８）の評価を必要とすることなく上記変数の値を出力する。したがって、予め計算されたルックアップテーブル１８は、画像鮮鋭化処理中に除算演算を実行する必要をなくし、それによって、処理要件を減らすと共に処理を高速化する。
【００９０】
画像データ処理バッファ２０は、画像鮮鋭化処理中に作成される中間結果、例えば上記の式（１９）に従って生成される積分データを記憶するように構成される。
【００９１】
画像鮮鋭化部２２は、ＲＧＢデータ記憶部１０から受け取った画像データを処理し、鮮鋭化画像データを提供するように構成される。
【００９２】
本実施形態において、画像鮮鋭化部２２は、
−  ＲＧＢデータ記憶部１０に記憶された入力画像データから、単一の強度チャネルを計算する強度計算部２４と、
−  結果として得られる鮮鋭化画像データにおける不要なエッジ効果を低減するために、処理前の入力画像に基づいて拡張画像を生成する画像拡張部２６と、
−  画像拡張部２６によって生成された拡張画像から積分画像データを生成して、その積分画像データを画像データ処理バッファ２０に提供する積分画像計算部２８と、
−  画像データ処理バッファ２０によって提供された積分画像データを処理して、フィルタリング済画像データを生成する可変アパーチャフィルタ３０と、
−  可変アパーチャフィルタ３０によって提供されたフィルタリング済画像データと予め計算されたルックアップテーブル１８の出力との積に基づいて、ゲイン係数を求めるゲイン係数計算部３２と、
−  ＲＧＢデータ記憶部１０に記憶されている入力画像データを、ゲイン係数計算部３２によって求められたゲイン係数によって変調する出力カラーチャネル計算部３４と、
を備える。
【００９３】
出力画像データインタフェース３６は、ＲＧＢデータ記憶部１０に記憶されている鮮鋭化されたＲＧＢ画素データをスキャナのさらなる構成要素又は外部装置へ通信するように構成される。
【００９４】
図２は、本実施形態において入力データを処理するために処理装置２によって行われる処理演算を示す。
【００９５】
図２を参照すると、ステップＳ２−０５において、画像スキャン制御部１４は、最初の画素（処理の開始時の場合）又は次の画素を選択する。すると、ＲＧＢデータ記憶部１０は、３つのカラーチャネルの各々における選択された画素のデータを画像鮮鋭化部２２に提供する。
【００９６】
ステップＳ２−１０において、強度計算部２４は、ＲＧＢデータ記憶部１０からのＲＧＢデータを処理して、単一の強度チャネルを生成する。
【００９７】
強度チャネルすなわち明度チャネルを提供するＨＳＶ、ＹＣｒＣｂ、Ｌ＊ｕ＊ｖ、Ｌ＊ａ＊ｂ等の多くの明度−彩度色空間が存在するが、これら全ての色空間は、色成分Ｒ、Ｇ、Ｂから強度ｆを計算するために必要な演算回数が異なる。本実施形態では、上記の式（３）によって整数形式で与えられる最も単純な強度表現を用いて強度チャネルを生成する。そのため、２回の加算しか必要としない。しかしながら、カラーから強度への任意の他のより複雑な変換ｆ（ｘ，ｙ）＝ｆ（Ｒ（ｘ，ｙ），Ｇ（ｘ，ｙ），Ｂ（ｘ，ｙ））を代わりに用いてもよい。
【００９８】
ステップＳ２−１０における処理の結果は単一のデータチャネルであり、この単一のデータチャネルに対して画像鮮鋭化が行われる。これにより、Ｒチャネル、Ｇチャネル、Ｂチャネルの各々の画像鮮鋭化を行う必要がなくなり、処理要件及び／又は処理時間が減少する。
【００９９】
上述したように、結果として得られる鮮鋭化画像の境界における不要な効果を防ぐために、処理前に画像を拡張することが必要である。したがって、ステップＳ２−１５において、画像スキャン制御部１４は、本実施形態では１画素の奥行き（a depth of one pixel）を有する入力画像の境界に現在の画素があるかどうかを判定する。
【０１００】
現在の画素が境界にある場合、画像鮮鋭化部２２は、ステップＳ２−２０において画像拡張部２６を用いて画像の拡張を行う。この画像の拡張は、上記の式（２１）に従って行われ、画像の拡張領域の強度データを作成する。この強度データは画像データ処理バッファ２０に記憶される。
【０１０１】
画像の拡張に続いて、又は現在の画素が境界画素でない場合、積分画像計算部２８は、ステップＳ２−２５において強度データを処理して積分画像データを計算する。この処理は、上記の式（１５）に従って行われる。
【０１０２】
ステップＳ２−３０において、画像スキャン制御部１４は、画像データ処理バッファ２０に記憶されているデータの行数を確認する。より具体的には、可変アパーチャフィルタリングは、現在選択されている画素を中心とする近傍からのデータを必要とするため、画像データ処理バッファ２０に十分な行数が蓄積されてからでないと、可変アパーチャフィルタリングを開始することができない。したがって、ステップＳ２−３０において、画像スキャン制御部１４は、十分な行数（２ｒmax＋２行を含む）が画像データ処理バッファ２０に蓄積されているかを判定する。
【０１０３】
十分な行数が蓄積されていない場合、処理はステップＳ２−０５に戻り、十分な行数が画像データ処理バッファ２０に蓄積されるまで上述したステップＳ２−０５〜Ｓ２−３０の処理を繰り返す。
【０１０４】
十分な行数が画像データ処理バッファ２０に蓄積されると、処理はステップＳ２−３２に進む。
【０１０５】
ステップＳ２−３２において、画像スキャン制御部１４は、鮮鋭化画像データをまだ計算していない次の入力画素を選択する。
【０１０６】
ステップＳ２−３５において、可変アパーチャ制御部１６は、選択された画素に対応する局所画像ぼけ測度を求める。本実施形態において、これは現在の画素についてスキャナによって提供されて局所ぼけ推定値記憶部１２に記憶されている推定ぼけを読み出すことによって行われる。スキャナが局所ぼけ推定値を提供する一方法は、「Document Scanner」（代理人整理番号１２８  ２５０）と題する本願と同日に出願された本発明者らの同時係属中の特許出願に記載されている。この内容は全体が相互参照により本明細書中に援用される。しかしながら、処理装置２がぼけ推定値を提供しない装置内で使用される場合、或いは処理装置２がスタンドアロン型の装置である場合、可変アパーチャ制御部１６自身が、米国特許第５，３６３，２０９号に記載されている技法のうちの１つのような従来の技法を用いて、ぼけ測度を計算する処理を行ってもよい。
【０１０７】
ステップＳ２−４０において、可変アパーチャ制御部１６は、ステップＳ２−３５において求められた局所ぼけ推定値に応じて、積分画像データに適用するフィルタのアパーチャを選択する。フィルタアパーチャのサイズを選択する方法は、局所ぼけを測定するために用いられる方法、ひいては局所ぼけが取る値に依存することが理解されるであろう。本実施形態では、典型的な入力画像についてスキャナによって作成されたぼけ値の範囲毎にそれぞれのアパーチャのサイズを定義するデータが記憶される。この記憶されているデータは、画像をテストしてその通常のぼけ値を求め、それらの値の種々の範囲にフィルタアパーチャを割り当てることによって事前に生成される。最大アパーチャのサイズｒmaxもこの方法で割り当てられる。
【０１０８】
ステップＳ２−４０において選択されたサイズのアパーチャを有するフィルタが、ステップＳ２−４５において上記の式（１４）に従って積分画像データに適用されて、ボックスフィルタリング済画像データが生成される。この処理の効果は、上記の式（１２）に従ってボックスフィルタを強度データに直接適用する場合と同じである。しかしながら、フィルタを積分画像データに適用することによって、強度データのフィルタリングされた値が、フィルタアパーチャのサイズに関係なく、一定回数の処理演算を用いて得られる。より具体的には、フィルタリング済画像データは、前述したように、２×２のサイズのフィルタに必要な処理演算に等しい回数の処理演算で得られる。
【０１０９】
ステップＳ２−５０において、ステップＳ２−４０において選択されたフィルタアパーチャのサイズを２つの入力値の一方として用いて、予め計算されたルックアップテーブル１８を照会する。他方の入力値は、現在の画素の画像データの強度である。これは、ステップＳ２−１０において以前に計算されている。しかしながら、メモリ要件を減らすために、本実施形態ではステップＳ２−１０において計算された値を記憶しない。その代わりに、ステップＳ２−５０において、ステップＳ２−１０と同様にＲＧＢデータ記憶部１０に記憶されているＲＧＢデータを処理することによって再計算する。
【０１１０】
上述したように、このような予め計算されたルックアップテーブル１８の使用は、計算コストの高い除算の計算を用いることなく上記の式（１８）のＬr［ｆ］の値を計算することを可能にする。
【０１１１】
ステップＳ２−５５において、ゲイン係数計算部３２は、ステップＳ２−５０においてルックアップテーブル１８から読み出した値Ｌr［ｆ］及びステップＳ２−４５において作成されたフィルタリング済データを用いて、上記の式（６）に従ってゲイン「ｇ」の値を計算する。
【０１１２】
ステップＳ２−６０において、出力カラーチャネル計算部３４は、ＲＧＢデータ記憶部１０に記憶されている現在の画素のＲＧＢデータを、ステップＳ２−５５において計算されたゲイン「ｇ」によって上記の式（７）に従って変調して、現在の画素の鮮鋭化ＲＧＢデータを生成する。次に、その鮮鋭化ＲＧＢデータ値をＲＧＢデータ記憶部１０に再び書き込み、処理装置２からの出力を待っている現在の画素の元のＲＧＢ値を上書きする。
【０１１３】
ステップＳ２−６５において、画像スキャン制御部１４は、ステップＳ２−０５〜Ｓ２−３０の処理において入力画像の全ての行を積分画像データに変換してバッファリングしたかを判定する。
【０１１４】
この方法で入力画像の全ての行を処理していないと判定された場合、処理はステップＳ２−０５に戻り、上述した処理を繰り返す。
【０１１５】
一方、入力画像の全ての行を積分画像データに変換しバッファリングしたと判定されると、処理はステップＳ２−７０（ここで、処理すべき次の画素を選択する）を介してステップＳ２−３５に戻る。次に、ステップＳ２−３５〜Ｓ２−６０を、まだ処理していない画素毎にこの方法で繰り返し、対応するゲイン係数を計算する。
【０１１６】
図３は、上述した処理演算中のデータの記憶を概略的に示す。より具体的には、図３は、ＲＧＢデータ記憶ユニット１０への入力画像のＲＧＢデータの記憶、画像データ処理バッファ２０への（ステップＳ２−２５において生成された）積分画像データの記憶、及びＲＧＢデータ記憶部１０への（ステップＳ２−６０において生成された）鮮鋭化画像データの記憶を示す。
【０１１７】
図３を参照すると、ステップＳ２−０５〜Ｓ２−３０における画像データ処理バッファ２０に積分画像データを蓄積するための処理の効果が、「スライディングバッファ」として表されている。より具体的には、図３におけるスライディングバッファの位置は、画像データ処理バッファ２０にデータを記憶する積分画像の種々の部分を概略的に表している。
【０１１８】
入力画像の１行目３０をスキャンするとき、スライディングバッファは位置１３１にある。１行目は、式（２１）の最初の５つの規則に従ってバッファに複製される。次のｒmax−１行のスキャンの間、スライディングバッファは位置１３１のままであり、式（２１）の規則（４）及び（５）に従って画素が複製される。この処理の結果として、複製された画素値が、図３に示す網掛け領域の位置１３１に生成される。
【０１１９】
最初のｒmax行のスキャンの後、スライディングバッファの積分画像データは、ステップＳ２−３５〜Ｓ２−６５における、ボックスフィルタを適用して鮮鋭化画像データの１行目１３３を作成する処理に利用可能になる。したがって、ＲＧＢ入力画像データのスキャンと、鮮鋭化ＲＧＢデータの生成との間にｒmax行分の遅延が生じる。
【０１２０】
その後のスキャン１３４の間、スライディングバッファは新たな位置１３５に移動する。これは、バッファの行へのポインタの循環シフトによって実装される。この新たな位置１３５において、式（２１）からの規則（４）及び（５）が、図３に示す網掛け領域の位置１３５の複製画素に適用される。
【０１２１】
入力画像の最後の行１３６において、スライディングバッファは位置１３７にあり、式（２１）の規則（４）〜（８）が適用されて画素が複製される。
【０１２２】
このスキャンの間、入力行と出力行との間にｒmax行分の遅延が常にあり、出力行の鮮鋭化画像データをＲＧＢデータ記憶部１０に直接書き込んで入力行のデータを置き換える上述のインプレース処理の使用が可能になる。
【０１２３】
修正及び変形
上述の実施形態に対して多くの修正及び変形を行うことができる。
【０１２４】
例えば、上述の実施形態においては、処理装置２はイメージスキャナの一部を形成する。しかしながら、その代わりに、処理装置２がパーソナルコンピュータ等のスタンドアロン型の装置であってもよく、或いは、デジタルカメラ、コピー機若しくはプリンタ等の種々のタイプの装置の一部を形成してもよい。
【０１２５】
上述の実施形態では、リニアイメージセンサからの画像データを処理するが、上記で開示した画像の処理方法は、ＣＣＤカメラ等のイメージセンサの矩形アレイを用いて取り込まれた画像データにも等しく適用可能である。
【０１２６】
上述の実施形態では、ボックスフィルタリング済画像データを生成するために、積分画像データに対して可変サイズのフィルタを適用した。しかしながら、積分画像データもボックスフィルタリングも必須ではない。例えば、その代わりに、強度データ等の画像データに対して、可変サイズのローパスフィルタ又は可変サイズのハイパスフィルタを適用して、鮮鋭化画像データを生成することもできる。
【０１２７】
上述の実施形態は、インプレース処理を行って鮮鋭化画像データをＲＧＢデータ記憶部１０に再び書き込み、入力画像の元のＲＧＢデータを上書きする。しかしながら、その代わりに、別のメモリを設けて鮮鋭化画像データを記憶してもよい。
【０１２８】
強度値範囲が０〜２５５である３つのカラーチャネルとして表される入力画像について本発明の実施形態を上述したが、当業者には、任意の強度値範囲を有する任意の数のチャネルを用いて表現される入力画像を処理する本発明の実施形態が提供され得ることは明らかであろう。
【０１２９】
上述の実施形態は、カラー入力データを処理するように構成されるが、その代わりに、白黒の入力データを処理するように構成されてもよい。この場合、白黒データの単一チャネルの強度データが既に処理に利用可能であるため、強度計算部２２は不要になる。
【０１３０】
上述の実施形態において、処理は、コンピュータプログラム命令によって定義される処理ルーチンを用いてプログラマブル処理装置によって行われる。しかしながら、その代わりに、処理の一部又は全部を、ハードウェアを用いて行うこともできる。
【０１３１】
他の修正も当然ながら可能である。
【図１】
2011523125.tif 000027
【図２】
2011523125.tif 000028
【図３】
2011523125.tif 000029
【国際調査報告】
2011523125.tif 000030
2011523125.tif 000031
2011523125.tif 000032