画像領域補間
画像内の画素値を計算するための画像処理方法が開示される。該方法は、計算すべき対象画素の各々に対して、該対象画素の周囲の局所的な画像パターンを表すテンプレートパターンを規定することを含む。テンプレートパターンは、各対象画素が、テンプレートパターンの少なくとも2つに存在するように規定される。各テンプレートパターンに関して、画像の全体を含むか又はテンプレートパターンよりも大きい画像の領域を含む、探索エリアが規定される。各テンプレートパターン内の画素の値を、複数の候補パターンの各々の該画素の該値と比較し、各候補パターンは、そのテンプレートパターンのための探索エリアからの領域を含む。各対象画素に関して、該画素のテンプレートパターンとの最良一致を表す候補パターンを選択する。次に、選択された候補パターンから対象画素のそれぞれの画素値を求める。さらに、この方法で、対象画素の値を、対象画素を含む他の各テンプレートパターンから求める。その後、結果の値が、選択された各候補パターンから求められた画素値を結合することによって、各対象画素に対して生成される。有利には、選択されるパターンは、対応する対象画素の近くには限定されない。したがって、対象画素は、単なる対象画素の局所的な画像データではなく、対象画素の周囲の局所パターンに対する最良一致を与える画像データから計算される。応用は、スキャン画像における画素補間並びに汎用画像/ビデオの処理、復元及び編集を含む。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2009年4月15日付の欧州特許出願第09157941.7号明細書に基づき優先権を主張する。欧州特許出願第09157941.7号明細書は、本明細書中にその全体が記載されたものとして援用される、
【0002】
[発明の分野]
本発明は、欠陥又はアーチファクトを有する画像データを処理して、補正された画像データを生成するための画像処理に関する。
【0003】
本発明は、限定するものではないが、印刷されたテキストのページ、グラフィクス、画像等の文書をスキャンするスキャナから得られた画像データの処理に特に有用である。スキャナは、デジタルコピー機やファクシミリ装置等の一部を構成することもできるし、又はパーソナルコンピュータ等に接続されるフラットベッドスキャナやハンドヘルドスキャナ等のスタンドアロンシステムを構成することもできる。したがって、画像処理は、スキャナそのものの内部で行うこともでき、スキャナを含む装置内で行うこともでき、スキャンされた画像データをスキャナから受信する装置内で行うこともできる。
【背景技術】
【0004】
多くの従来の文書スキャナ、特にフラットベッドスキャナは、密着イメージセンサー(CIS)を使用して、スキャン画像データを生成する。
【0005】
CISは、スキャン中の文書を照明する光源(通常はLEDで構成される)と、文書から反射された光を検出するセンサーと、反射光をセンサー上に集光するレンズ系とを備える。CIS撮像系は通常、図1に概略的に示すセンサチップ(1)、(2)、…、(N)のラインセンサからなる。
【0006】
そのような画像センサチップのリニア配列の1つの問題は、スキャンされた文書中の欠落画素である。画像センサチップの不正確な配置のため、このような画素は、画像センサチップ間において取り込むことができない。この問題を図2に示す。図2は、2つの隣接する画像センサチップK及びK+1の間のギャップを示し、垂直走査方向の場合、このギャップは、スキャンされた文書において欠落した画素列となる。
【0007】
欠落画素の問題に対して考え得る解決策は、3つのカテゴリに分類することができる。
1.センサチップの新たなレイアウトの設計。センサチップ間のギャップを除去するために、センサチップを図3に示すような「千鳥行(staggered row)」に配置することができる。この場合、欠落画素の問題は存在しないが、別の問題が生じる。すなわち、センサチップ間での画像のつなぎ合わせである。また、この解決策は、既存のCIS製品の完全な再設計と、異なるモデルの市場への導入を必要とする。
2.センサチップの高精度な配置。この解決策では、センサチップ間のギャップを、隣接するセンサチップのRGBセンサー間の距離を最小化することにより除去する(図2)。しかしながら、これは、高価な機器と製造技術の変更を必要とする高コストの解決策である。
3.画像の近傍から必要な欠落画素値を取得する画像処理方法による画素補間。これは、画像処理ハードウェアを更新することによって実装でき、よって、再設計も製造技術の変更も必要とすることなく既存のCIS製品を更新できるため、比較的低コストな手法である。
【0008】
標準的な画像補間方法の主な問題は、テクスチャーのあるエリアの画素値については、局所的な画素近傍が必要な情報を含まないので正確に再構成できないという点である。図4は、この問題の一例を示すものであり、スキャン画像の一列が欠落した断片を左側に示し、線形補間の結果を右側に示す。結果の画像における補間誤差は、ユーザーにとてもはっきりと見える。
【発明の概要】
【0009】
本発明によれば、画像を定義する画像データを処理して、該画像内の複数の画素について画素値を計算する方法であって、
値を計算すべき各画素に関して、画素のテンプレートパターンを複数規定することであって、各テンプレートパターンが前記画像の異なる領域を含み、値を計算すべき前記画素を含むようにする、テンプレートパターンを規定することと、
各テンプレートパターンに関して、
−前記画像の全体を含むか、又は前記テンプレートパターンよりも大きい該画像の領域を含む、探索エリアを規定すること、
−前記テンプレートパターン内の前記画素の前記値を複数の候補パターンの各々の該画素の該値と比較することであって、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの異なる領域を含み、該テンプレートパターンと前記候補パターンとの間の類似度を表す各候補パターンについて類似度測度を導出するようにする、比較すること、
−前記複数の候補パターンから、前記テンプレートパターンとの最高の類似度を表す前記類似度測度を有する候補パターンを選択すること、及び
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めることと、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成することであって、各値が異なる候補パターンから導出されるようにする、生成することと、
値を計算すべき各画素に関して、該画素に対する前記導出された画素値を結合することと、を含む、方法が提供される。
【0010】
本発明はまた、画像を定義する画像データを処理して、該画像内の複数の画素について画素値を計算するように動作可能な画像処理装置であって、
前記画像内の、値を計算すべき各画素に関して、画素のテンプレートパターンを複数規定するように動作可能なテンプレートパターン選択器であって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、各テンプレートパターンが値を計算すべき前記画素を含むようにする、テンプレートパターン選択器と、
各テンプレートパターンに関して、前記画像の全体を含むか又は前記テンプレートパターンよりも大きい該画像の領域を含む、探索エリアを規定するように動作可能な探索エリア選択器と、
各テンプレートパターンに関して処理を行うように動作可能なパターンマッチャであって、
前記パターンマッチャは、前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々の該画素の該値と比較し、
各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含み、
前記パターンマッチャは、前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択するように動作可能であり、
前記パターンマッチャは、前記テンプレートパターン内の値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めるように動作可能であり、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成し、各値が異なる候補パターンから導出される、
パターンマッチャと、
値を計算すべき各画素に関して、該画素値に対する前記導出された画素値を結合するように動作可能な画素コンバイナと、を備える、画像処理装置を提供する。
【0011】
本発明はさらに、プログラマブル処理装置を、上述のような方法を行うように動作可能となるようにプログラムするためのコンピュータプログラム命令を担持するコンピュータプログラム製品(コンピュータ可読記憶媒体やコンピュータ可読信号等)を提供する。
【0012】
次に、本発明の実施形態を単なる例示として、添付図面を参照して説明する。
【図面の簡単な説明】
【0013】
【図1】従来のCISにおける画像センサチップレイアウトを概略的に示す図である。
【図2】従来のセンサチップの欠落画素の問題を示す図である。
【図3】欠落画素の問題に対処するためのCISセンサチップの代替的なレイアウトを示す図である。
【図4】テクスチャーのあるエリアにおける欠落画素の線形補間に関する問題を示す図である。
【図5】本発明の実施形態において使用される最良一致パターン技法を示す図である。
【図6】本発明の実施形態における最良一致パターンからの画素の平均化による画素補間を示す図である。
【図7】一実施形態によって図4の画像に対して行われる処理の結果を示す図である。
【図8】一実施形態によってテキストを含む画像に対して行われる処理の結果を示す図である。
【図9】本発明の第1の実施形態の構成要素を概略的に示す図である。
【図10】第1の実施形態によって行われる処理動作のフローチャートである。
【図11】一実施形態における、補間すべき画素、テンプレートパターン及び補間すべき画素を中心とする探索エリアのレイアウト例を示す図である。
【図12】最良一致パターンからの画素を累積するために第1の実施形態において行われる処理を示す図である。
【図13】「ライン入力−ライン出力」の実装を使用する一実施形態の場合の、入力画像ラインと出力画像ラインとの間の遅延を示す図である。
【図14】一実施形態における提案された方法の反復的実装のフローチャートである。
【図15】一実施形態における反復0の結果と反復1の結果との間で決定を行うための処理のフローチャートである。
【図16】任意形状の領域に対処するために変更形態において使用される最良一致パターン技法を示す図である。
【図17】任意形状の領域に対処するための変更形態における最良一致パターンからの画素の平均化による画素補間を示す図である。
【発明を実施するための形態】
【0014】
本発明の実施形態を説明する前に、理解を助けるために、実施形態の基礎となる動作の理論、及び結果の例を説明する。
【0015】
各実施形態は、類似するパターンからの画素の非局所的平均に基づく画素補間方法を使用する。より詳細には、図5に示すように、補間の必要な各画素に関して、その周囲の小さな2Dパターン(テンプレートパターン)を、ある(好ましくは大きな)探索エリアにおける他の全てのそのような2Dパターンと照合する。
【0016】
図5を参照すると、画素(a)、(b)及び(c)は、補間が必要な画像列からの3つの画素である。補間される領域の各画素(黒丸)の周囲の矩形は、探索エリアからの他の全てのパターンと照合されるパターンを示す。矩形(A)、(B)及び(C)は、画素(a)、(b)及び(c)の最良一致パターンの場所を示す。
【0017】
図6に示すように、最良一致パターンからの各画素は内部バッファに累積され、累積された画素を加重平均することによって出力画素が得られる。
【0018】
図6を参照すると、各最良一致パターン(A)、(B)及び(C)は、それぞれ画素b(黒丸)の独自のバージョン(候補)を含む。各候補を(bA)、(bB)及び(bC)で示す。結果の値は、次式に従って全ての候補画素を平均化することによって得られる。
【0019】
【数1】
【0020】
式中、bは補間された画素値であり、bAはパターンAからの候補画素の値であり、bBはパターンBからの候補画素の値であり、bCはパターンCからの候補画素の値であり、wA,wB,wCは重み値である。
【0021】
パターンマッチングは、多くの異なる方法で実装することができるが、一実施形態では、積分距離技法(integral distance technique)を用いて非常に効率的に実装される。
【0022】
提案する方法は、大きな探索エリアを用いることによって局所的補間方法の欠点を克服する。未知の画素値は、局所近傍から合成するのではなく、多くの類似パターンから直接取得する。この手法は、図7に示すように、テクスチャーのあるエリアにおける画像を正確に再構成する。図7は、提案する方法を図4からの画像に適用した一例を示す。さらに、この手法は、例えば図8に示すような、テキスト等の規則的な構造を壊さない。図8において、上の画像は人工的にノイズの線を埋め込んだテキストのスキャン画像を含み、下の画像は、提案する方法によるノイズの線の補間を示す。
【0023】
[第1の実施形態]
最初に、本発明の最も単純な実施形態を説明する。例示を簡単にするために、画像中の1画素幅の列を1列補間するための処理を説明する。しかしながら、画素列(複数可)は任意の幅とすることができることが理解されるであろう。さらに、補間される領域は、単なる画素の縦の列よりも複雑である可能性がある。例えば、領域は、可変の幅及び曲線的な形状を有してもよい。下記の実施形態の説明は、これらの代替形態の全てに対しても有効であり、複雑な領域への適用に関するさらなる詳細は、本明細書において後述する。
【0024】
図9は、第1の実施形態の構成要素のブロック図を示し、図10は、第1の実施形態によって行われる処理動作のフローチャートを示す。
【0025】
図9を参照すると、スキャナの処理要素2が示されている。本実施形態において、処理要素2はプログラマブルであり、従来と同様に、1つ又は複数のプロセッサ、メモリ、グラフィックカード等を、表示装置4、1つ又は複数のユーザー入力装置6(キーボード等)と共に備える。
【0026】
処理要素2は、入力されるプログラミング命令に従って動作するようにプログラムされる。プログラミング命令は、例えば、データ記憶媒体12(光学CD ROM、半導体ROM、磁気記録媒体等)に記憶されたデータとして、及び/又は、処理装置2に入力される信号14(例えば電気信号又は光信号)として入力される。信号14は、例えば、遠隔データベースから、通信ネットワーク(インターネット等、図示せず)を介した伝送により、又は、大気中の伝送により入力される。
【0027】
処理要素2は、プログラミング命令によりプログラムされたときに処理動作を行う多数の機能ユニットとして構成されたものと考えることができる。そのような機能ユニット及びそれらの相互接続の例を図9に示す。
【0028】
図9に示す機能ユニットを参照すると、中央コントローラー20は、ユーザー入力装置(複数可)からの入力を処理すると共に、他の機能ユニットに対して制御及び処理を行うように動作可能である。ワーキングメモリ30は、中央コントローラー20及び他の機能ユニットによって使用されるように設けられる。
【0029】
入力データインターフェース40は、処理装置2内の入力データの記憶を制御するように動作可能である。本実施形態において、入力データは、スキャナの検出器(図示せず)によって記録された画像データを含む。
【0030】
入力データストア50が、画像入力データを記憶するために設けられる。
【0031】
初期充填値計算機(initial fill calculator)60は、スキャナの検出器間のギャップ(複数可)により欠落している画素の初期値を計算するように動作可能である。
【0032】
テンプレートパターン選択器70は、補間値を計算すべき各画素の周囲のテンプレートパターンを選択するように動作可能である。
【0033】
探索エリア選択器80は、補間値を計算すべき画素の周囲の探索エリアを選択し、それによって、テンプレートパターン内のパターンに一致するパターンの探索を行うエリアを規定するように動作可能である。
【0034】
最良一致パターン選択器90は、パターンテンプレート内のパターンを探索エリアのさまざまな領域のパターンと照合するパターンマッチングを行うように動作可能であり、さらに、それらのパターンから最良一致パターンを選択する処理を行うように動作可能である。
【0035】
画素累積器100及び重み累積器110は、それぞれのメモリバッファを含む。画素累積器100は、最良一致パターン選択器90によって特定された画素値を累積するように構成されている。重み累積器110は、最良一致パターン選択器90によって特定された画素の重み値を累積するように構成されている。
【0036】
平均画素値計算機120は、画素累積器100及び重み累積器110に累積された値を処理して、現在処理中の画素に対する補間された画素値を計算するように動作可能である。
【0037】
中央コントローラー20の制御下のディスプレイコントローラー130は、表示装置4を制御して、画像データストア50に記憶された入力画像データを、平均画素計算機120によって計算された補間画素値と共に表示し、それによって、補正された画像データを表示するように動作可能である。
【0038】
出力データインターフェース150は、処理要素2からのデータの出力を制御するように動作可能である。本実施形態において、出力データは、補正された画像データを含む。すなわち、スキャナの検出器から受信され画像データストア50に記憶された画像データと、スキャナの検出器におけるギャップに起因するギャップを埋めるために計算された補間された画素値とを含む。出力データインターフェース150は、データを、例えばコンピュータ可読記憶媒体152(光学CD ROM、半導体ROM、磁気記録媒体等)上のデータとして、及び/又は、信号154(例えば、通信ネットワーク(インターネット等)を介して伝送される、または大気中を伝送される、電気信号又は光信号)として、出力するように動作可能である。出力データの記録は、出力信号154を直接的又は間接的に記録することによって行うことができる。
【0039】
次に図10のブロック10を参照すると、初期充填値計算機60は、未知の画素値を初期化する。すなわち、初期充填値計算機60は、画像内においてスキャナの検出器におけるギャップに対応する各画素(よって、検出器によって記録された値を持たないもの)の初期値を与える。本実施形態において、各初期値は、任意の従来技術の画素補間方法によって計算される。例えば、式(2)によって与えられるように、左側n個の画素及び右側n個の画素の一次結合を用いることができる。式中、kiは線形補間の係数であり、Cはカラーチャンネルのうちの1つ(R、G又はB)である。
【0040】
【数2】
【0041】
最も単純なケースでは、2つの近傍画素の平均が計算される(k1=1及びki=0,i>1)。
【0042】
ブロック20において、中央コントローラー20は、処理すべき次の画素(x0,y)を選択し、テンプレート選択器70は、該画素に対するテンプレートパターンNを選択し、探索エリア選択器80は、該画素に対する探索エリアSを選択する。本実施形態において、テンプレートパターンN及び探索エリアSは共に、画素(x0,y)を中心とする。選択の一例を図11に示す。補間領域は、探索エリアを2つの部分(例えば、補間すべき画素の縦の線がある場合、左側部分及び右側部分)に分割する。アルゴリズムは、補間領域の画素を中心にしたパターンを考慮しない。任意選択で、(図11に示すような)パラメータdが、探索エリアの左側部分と右側部分との間の最小距離を決定してもよい。このパラメータは、最良一致パターンが補間領域の近くで選択され得ないことを保証する(補間領域の近くでは、未知の画素値のためにパターン間の距離の信頼性が比較的低い)。
【0043】
ブロック30において、最良一致パターン選択器90は、パターンマッチング及び最良一致パターンの選択を行う。この処理は、多数の異なる方法で行うことができる。例えば、本実施形態において、テンプレートN(x0,y)と、探索エリアからの他の任意のパターンN(x0+sx,y+sy)との間の距離は、重み付けされた色差分絶対値和(sum of absolute colour differences)(SACD)として計算される。
【0044】
【数3】
【0045】
式(3)において、パラメータwR,wG,wBは、各カラーチャンネルの重みを決定する。最も単純な実装では、全ての重みを1に設定してもよい。また、他の任意の標準的な距離測度又は類似度測度(差の二乗和又は相関)をパターンマッチングにおいて用いてもよい。なお、本実施形態において、距離は、式(3)によって、ブロック10における線形補間によって置き換えられた未知の画素を含む、テンプレートの全ての画素を用いて計算される。
【0046】
最良一致パターンの位置N*(x0,y)=N(x0+sx*,y+sy*)は、距離測度の最小値によって決まる。
【0047】
【数4】
【0048】
ブロック40はさらに、ブロック30で見つけた最良一致パターンを処理する。この処理の詳細を図12に示す。テンプレートパターンNの中央にある未定義の画素は、パターンN*における明確に定義された画素に対応する。これは、探索が、(図11に示すパラメータdによって規制されるとおり)補間領域の近くでは行われないことによる。したがって、N*からの画素は、未知の画素の考え得る候補である。(図5に示すような)テンプレートパターンの重なりにより、未知の画素のそれぞれは、(図6に示すような)数個の最良一致パターンからの、対応する候補を有する。本実施形態において、候補はブロック50において、平均画素値計算機120によって平均化されて、未知の画素の推定値が得られる。
【0049】
画素平均を効率的に行うために、アルゴリズムの開始前に、2つのメモリバッファ(画素累積器P 100及び重み累積器W 110)が割り当てられ、0で初期化される。これらの累積器100、110は、補間領域と同一のトポロジーを有する。例えば、領域が1つの画像の列である場合、これらの累積器は1次元アレイである。領域がいくつかの列からなる場合、これらの累積器は2次元アレイである。領域が任意の形状を有する場合、これらの累積器は、領域の形状によってマスキングされた2次元アレイとして実装することができる。
【0050】
画素累積プロセスを図12に示す。テンプレートパターンNが座標(xi,yi)(i=1,…,m)を有するm個の未知画素を含む場合、最良一致パターンN*において、該画素の座標は(xi+sx*,yi+sy*)となる。なお、現画素(x0,y)はこれらのm個の画素の中に含まれる。累積器100、110は、次のように更新される。
【0051】
【数5】
【0052】
これらの式中、Cは原画像のカラーチャンネルのうちの1つ(R、G又はB)を示す。定数a及びbは、画像に対する累積器アレイの起点を決める。補間領域がx0における画素列全体である最も単純な場合、a=x0かつb=0である。
【0053】
式(5.1)及び(5.2)における重み関数wは任意の形態を有することができ、例えば、定数とすることができる。しかし直感的に、最良一致パターンN*(x0,y)が、他の最良一致パターン、例えばN*(x0,y±1)よりも画素(x0,y)の補間に寄与するはずであることは明白である。したがって、本実施形態において、wは現画素(x0,y)を中心として対称であり、パターンの両端において減少する。例えば、重み関数は、図12の右側のグラフに示し、式(6)によって与えられるように、線形減少することができる。
【0054】
【数6】
【0055】
最後に、ブロック50において、平均画素値計算機120は、画素累積器の値を重み累積器の値で除算し、それにより加重平均を計算することによって、補間の結果を生成する。
【0056】
【数7】
【0057】
その後、アルゴリズムは次の画素(x0,y+1)に進み、ブロック20から開始して、補間が必要な全ての画素を処理するまで行われる。
【0058】
[変更形態及び変形形態]
上述の実施形態に対して、例えば以下のように、多くの変更及び変形を加えることができる。
【0059】
[「画像ライン入力−画像ライン出力」の実装]
上記の実施形態における処理アルゴリズムは、パターンマッチングプロセスがパターンの中心を探索エリアの各画素に配置するので、1つの画素を補間するために、該画素を中心とする(2(Nx+Sx)+1)×(2(Ny+Sy)+1)のサイズの画像領域を必要とする。2(Ny+Sy)+1本の画像ラインのみをメモリバッファに保持することによって、効率的なメモリ消費を達成することができる。まず、最初の2(Ny+Sy)+1本の画像ラインをバッファに入れる。該バッファからの情報は、バッファの中心線に対応する番号Ny+Sy+1の画像ラインを処理するには十分である。次に、全てのバッファラインをシフトして、1行目のラインを廃棄し、2行目のラインが1行目になり、以下同様となる。バッファの最後のラインに新たな画像ラインが入れられ、中心バッファラインに対応する次の出力画像ラインを生成することを可能にする。したがって、この実装は、図13に示すように、入力画像ラインと出力画像ラインとの間にNy+Sy+1に等しい遅延を有する。
【0060】
積分距離を用いた高速パターンマッチング
関数fを距離の式(3)における内部和(inner sum)とする。
【0061】
【数8】
【0062】
式中、
【0063】
【数9】
【0064】
(8)における補間画素位置x0は定数である。2つの他のパラメータsx及びsyが固定されている場合、関数fはiのみに依存し、式(8)は、
【0065】
【数10】
【0066】
となる。
【0067】
次に、積分距離関数(ISACD)が導入された場合、
【0068】
【数11】
【0069】
距離の計算は、ISACDの2つの値しか必要とせず、遥かに単純になる。
【0070】
【数12】
【0071】
式(10)〜(12)において仮定しているように、探索パラメータを定数にする方法を示すために、表1において、第1の実施形態の単純なパターンマッチングの実装を、C/C++のような疑似コードを用いる本変更形態の高速パターンマッチングの実装と比較する。コンパクトなコードのために、パターンマッチングの最初の部分のみ、すなわち、最小距離(4.1)の探索が実装される。もう一方の部分である、最良一致パターンの位置(4.2)の選択は、MinDistanceの値を得た直後に追加することができる。
【0072】
【表1】
【0073】
低速アルゴリズムと高速アルゴリズムとの間の主な違いは、高速アルゴリズムがパターン距離の計算の中間結果を盛んに再利用することである。これは、各ループの異なる順序によって実装される。すなわち、低速アルゴリズムでは、探索ループ(sx,sy)が画素位置ループ(y)内にあり、高速アルゴリズムでは、画素位置ループ(y)が探索ループ(sx,sy)内にある。結果として、SACD値は、低速アルゴリズムでは2Dループによっても計算されるが、高速アルゴリズムでは直接は計算されず、したがって、計算時間が節約される。高速実装の副作用は、内部結果を記憶するためにより多くのメモリ(画像の高さのサイズのバッファISACD[]及びMinDistance[])を必要とすることである。
【0074】
[反復的アルゴリズム]
第1の実施形態の別の変形は、パターンマッチングプロセスの反復的な適用であり、補間の新たな結果を次の反復において未知の画素の初期近似値として用いる。この場合、最初の線形補間(図10のブロック10)は、反復0として考えることができる。反復的アルゴリズムのブロック図を図14に示す。
【0075】
多くの場合において、入力画像は、単純な構造(例えば、均一なエリア)を有し、そのような画素の良好な補間結果を線形方法(1)によって得ることができる。この場合、さらなる変形では、最良一致パターンへの距離が閾値を上回る場合に、パターンマッチングの結果を廃棄し、初期線形補間の結果を受け入れる。アルゴリズムのこの変更例を図15に示す。他の反復間で同様の受け入れ条件を実装することは単純である。
【0076】
[任意形状の領域]
上述の第1の実施形態は、単一の画素列の補間を目的としていた。複数の列[x1,x2](x2−x1+1に等しい幅を有する領域)への拡張は、x0∈[x1,x2]の範囲からの全ての画素位置を反復することによって、上記の説明から得ることができる。
【0077】
任意形状の領域の場合にも、本方法を適用することができるが、補間領域の曲線的な境界及び変動する幅のために調整が必要である。図16及び図17は、本方法の主要な思想が変わらないことを示す。必要な主な変更は次の通りである。
・画素累積器及び重み累積器の形状を補間領域の形状に類似させるべきである。
・テンプレートパターンの適応的なサイズ。テンプレート内に存在する値を計算すべき画素(補間画素)が多すぎる場合、信頼できる画素数を増やすために、テンプレートのサイズを増大させるべきである。
・上述した高速実装の変更形態において、積分距離fは1次元関数でなくなる。その代わりに、2次元関数となり、積分画像に関する周知の技法を用いて実装することができる。
【0078】
図16を参照すると、補間領域の5つの画素の最良一致パターンが黒丸により示されている。各画素の周囲の矩形(細線の矩形)は、探索エリアからの他の全てのパターンに照合されるパターンを示す。太線の矩形は、各最良一致パターンの位置を示す。最良一致パターンにおいて、中心画素(黒丸)は、テンプレートパターンの中心に対応する。他の画素(白丸)は、補間領域の他の画素のバージョン(候補)である。ここでもまた、複数の候補を平均化して、補間の結果を得ることができる(図17を参照)。
【0079】
図17を参照すると、曲線的な領域からの画素の補間が示されている。補間される画素(黒丸)は、各最良一致パターンからの、対応する画素を平均化することによって得られる。最良一致パターンのそれぞれ(矩形により示す)は、補間される画素の独自のバージョン(候補)を含む。結果の値は、全ての候補画素を平均化することによって得られる。
【0080】
[画素の結合方法]
上述の第1の実施形態では、候補画素を結合して、加重平均により結果の値を与える。ここで、重みは幾何関数である。しかし、結果の値を与えるための他の任意の結合方法、例えば、
・単純平均
・トリム平均(Trimmed averaging)
・距離値に基づく重みを用いた加重平均
・全ての候補画素の中央値(又は他の任意の統計値)
を用いることができる。
【0081】
[代替的な応用]
上述の第1の実施形態並びにその変更形態及び変形形態において、画像領域の補間処理は、スキャナから得られた画像データに対して行われる。しかしながら、同一の処理を、汎用の画像/ビデオ処理、復元及び編集に、特に細長い領域の除去が必要である場合、例えば、
・古い写真/フィルムからの掻き傷の除去
・映画のポストプロダクション中のワイヤ除去
・ビデオフレームの奇数/偶数の画素行を補間することによるビデオのインタレース除去
に用いることができる。
【0082】
[他の変更形態及び変形形態]
多くの他の変更形態及び変形形態が可能である。
【0083】
例えば、第1の実施形態において、処理要素2はスキャナの一部を構成する。しかしながら、その代わりに、処理要素2は、スキャナとは別の処理装置(スキャナからスキャン画像データを受信するパーソナルコンピュータ等)の一部とすることができる。
【0084】
上述の第1の実施形態並びにその変更形態及び変形形態では、RGB配色が使用される。しかしながら、CMYK等の他の配色をその代わりに用いることもできる。
【0085】
上述の第1の実施形態並びに変更形態及び変形形態において、各テンプレートパターン及び各探索エリアは、対応する補間すべき画素を中心とする。しかし、これは必ずしもそうである必要はなく、各テンプレートパターン及び/又は各探索エリアを、補間すべき画素がその中心とならないようにずらすこともできる(ただし、補間すべき画素は中心に近いことが好ましい)。
【0086】
上述の第1の実施形態並びに変更形態及び変形形態において、各探索エリアは、画像の領域を含む。しかしながら、各探索エリアは、画像全体を含むこともできる。
【0087】
上述の第1の実施形態並びに変更形態及び変形形態において、処理は、プログラマブル処理装置によって行われ、コンピュータプログラム命令によって定義される処理ルーチンを用いて行われる。しかしながら、処理の一部又は全部は、その代わりに、ハードウェアを用いて行うこともできる。
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2009年4月15日付の欧州特許出願第09157941.7号明細書に基づき優先権を主張する。欧州特許出願第09157941.7号明細書は、本明細書中にその全体が記載されたものとして援用される、
【0002】
[発明の分野]
本発明は、欠陥又はアーチファクトを有する画像データを処理して、補正された画像データを生成するための画像処理に関する。
【0003】
本発明は、限定するものではないが、印刷されたテキストのページ、グラフィクス、画像等の文書をスキャンするスキャナから得られた画像データの処理に特に有用である。スキャナは、デジタルコピー機やファクシミリ装置等の一部を構成することもできるし、又はパーソナルコンピュータ等に接続されるフラットベッドスキャナやハンドヘルドスキャナ等のスタンドアロンシステムを構成することもできる。したがって、画像処理は、スキャナそのものの内部で行うこともでき、スキャナを含む装置内で行うこともでき、スキャンされた画像データをスキャナから受信する装置内で行うこともできる。
【背景技術】
【0004】
多くの従来の文書スキャナ、特にフラットベッドスキャナは、密着イメージセンサー(CIS)を使用して、スキャン画像データを生成する。
【0005】
CISは、スキャン中の文書を照明する光源(通常はLEDで構成される)と、文書から反射された光を検出するセンサーと、反射光をセンサー上に集光するレンズ系とを備える。CIS撮像系は通常、図1に概略的に示すセンサチップ(1)、(2)、…、(N)のラインセンサからなる。
【0006】
そのような画像センサチップのリニア配列の1つの問題は、スキャンされた文書中の欠落画素である。画像センサチップの不正確な配置のため、このような画素は、画像センサチップ間において取り込むことができない。この問題を図2に示す。図2は、2つの隣接する画像センサチップK及びK+1の間のギャップを示し、垂直走査方向の場合、このギャップは、スキャンされた文書において欠落した画素列となる。
【0007】
欠落画素の問題に対して考え得る解決策は、3つのカテゴリに分類することができる。
1.センサチップの新たなレイアウトの設計。センサチップ間のギャップを除去するために、センサチップを図3に示すような「千鳥行(staggered row)」に配置することができる。この場合、欠落画素の問題は存在しないが、別の問題が生じる。すなわち、センサチップ間での画像のつなぎ合わせである。また、この解決策は、既存のCIS製品の完全な再設計と、異なるモデルの市場への導入を必要とする。
2.センサチップの高精度な配置。この解決策では、センサチップ間のギャップを、隣接するセンサチップのRGBセンサー間の距離を最小化することにより除去する(図2)。しかしながら、これは、高価な機器と製造技術の変更を必要とする高コストの解決策である。
3.画像の近傍から必要な欠落画素値を取得する画像処理方法による画素補間。これは、画像処理ハードウェアを更新することによって実装でき、よって、再設計も製造技術の変更も必要とすることなく既存のCIS製品を更新できるため、比較的低コストな手法である。
【0008】
標準的な画像補間方法の主な問題は、テクスチャーのあるエリアの画素値については、局所的な画素近傍が必要な情報を含まないので正確に再構成できないという点である。図4は、この問題の一例を示すものであり、スキャン画像の一列が欠落した断片を左側に示し、線形補間の結果を右側に示す。結果の画像における補間誤差は、ユーザーにとてもはっきりと見える。
【発明の概要】
【0009】
本発明によれば、画像を定義する画像データを処理して、該画像内の複数の画素について画素値を計算する方法であって、
値を計算すべき各画素に関して、画素のテンプレートパターンを複数規定することであって、各テンプレートパターンが前記画像の異なる領域を含み、値を計算すべき前記画素を含むようにする、テンプレートパターンを規定することと、
各テンプレートパターンに関して、
−前記画像の全体を含むか、又は前記テンプレートパターンよりも大きい該画像の領域を含む、探索エリアを規定すること、
−前記テンプレートパターン内の前記画素の前記値を複数の候補パターンの各々の該画素の該値と比較することであって、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの異なる領域を含み、該テンプレートパターンと前記候補パターンとの間の類似度を表す各候補パターンについて類似度測度を導出するようにする、比較すること、
−前記複数の候補パターンから、前記テンプレートパターンとの最高の類似度を表す前記類似度測度を有する候補パターンを選択すること、及び
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めることと、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成することであって、各値が異なる候補パターンから導出されるようにする、生成することと、
値を計算すべき各画素に関して、該画素に対する前記導出された画素値を結合することと、を含む、方法が提供される。
【0010】
本発明はまた、画像を定義する画像データを処理して、該画像内の複数の画素について画素値を計算するように動作可能な画像処理装置であって、
前記画像内の、値を計算すべき各画素に関して、画素のテンプレートパターンを複数規定するように動作可能なテンプレートパターン選択器であって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、各テンプレートパターンが値を計算すべき前記画素を含むようにする、テンプレートパターン選択器と、
各テンプレートパターンに関して、前記画像の全体を含むか又は前記テンプレートパターンよりも大きい該画像の領域を含む、探索エリアを規定するように動作可能な探索エリア選択器と、
各テンプレートパターンに関して処理を行うように動作可能なパターンマッチャであって、
前記パターンマッチャは、前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々の該画素の該値と比較し、
各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含み、
前記パターンマッチャは、前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択するように動作可能であり、
前記パターンマッチャは、前記テンプレートパターン内の値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めるように動作可能であり、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成し、各値が異なる候補パターンから導出される、
パターンマッチャと、
値を計算すべき各画素に関して、該画素値に対する前記導出された画素値を結合するように動作可能な画素コンバイナと、を備える、画像処理装置を提供する。
【0011】
本発明はさらに、プログラマブル処理装置を、上述のような方法を行うように動作可能となるようにプログラムするためのコンピュータプログラム命令を担持するコンピュータプログラム製品(コンピュータ可読記憶媒体やコンピュータ可読信号等)を提供する。
【0012】
次に、本発明の実施形態を単なる例示として、添付図面を参照して説明する。
【図面の簡単な説明】
【0013】
【図1】従来のCISにおける画像センサチップレイアウトを概略的に示す図である。
【図2】従来のセンサチップの欠落画素の問題を示す図である。
【図3】欠落画素の問題に対処するためのCISセンサチップの代替的なレイアウトを示す図である。
【図4】テクスチャーのあるエリアにおける欠落画素の線形補間に関する問題を示す図である。
【図5】本発明の実施形態において使用される最良一致パターン技法を示す図である。
【図6】本発明の実施形態における最良一致パターンからの画素の平均化による画素補間を示す図である。
【図7】一実施形態によって図4の画像に対して行われる処理の結果を示す図である。
【図8】一実施形態によってテキストを含む画像に対して行われる処理の結果を示す図である。
【図9】本発明の第1の実施形態の構成要素を概略的に示す図である。
【図10】第1の実施形態によって行われる処理動作のフローチャートである。
【図11】一実施形態における、補間すべき画素、テンプレートパターン及び補間すべき画素を中心とする探索エリアのレイアウト例を示す図である。
【図12】最良一致パターンからの画素を累積するために第1の実施形態において行われる処理を示す図である。
【図13】「ライン入力−ライン出力」の実装を使用する一実施形態の場合の、入力画像ラインと出力画像ラインとの間の遅延を示す図である。
【図14】一実施形態における提案された方法の反復的実装のフローチャートである。
【図15】一実施形態における反復0の結果と反復1の結果との間で決定を行うための処理のフローチャートである。
【図16】任意形状の領域に対処するために変更形態において使用される最良一致パターン技法を示す図である。
【図17】任意形状の領域に対処するための変更形態における最良一致パターンからの画素の平均化による画素補間を示す図である。
【発明を実施するための形態】
【0014】
本発明の実施形態を説明する前に、理解を助けるために、実施形態の基礎となる動作の理論、及び結果の例を説明する。
【0015】
各実施形態は、類似するパターンからの画素の非局所的平均に基づく画素補間方法を使用する。より詳細には、図5に示すように、補間の必要な各画素に関して、その周囲の小さな2Dパターン(テンプレートパターン)を、ある(好ましくは大きな)探索エリアにおける他の全てのそのような2Dパターンと照合する。
【0016】
図5を参照すると、画素(a)、(b)及び(c)は、補間が必要な画像列からの3つの画素である。補間される領域の各画素(黒丸)の周囲の矩形は、探索エリアからの他の全てのパターンと照合されるパターンを示す。矩形(A)、(B)及び(C)は、画素(a)、(b)及び(c)の最良一致パターンの場所を示す。
【0017】
図6に示すように、最良一致パターンからの各画素は内部バッファに累積され、累積された画素を加重平均することによって出力画素が得られる。
【0018】
図6を参照すると、各最良一致パターン(A)、(B)及び(C)は、それぞれ画素b(黒丸)の独自のバージョン(候補)を含む。各候補を(bA)、(bB)及び(bC)で示す。結果の値は、次式に従って全ての候補画素を平均化することによって得られる。
【0019】
【数1】
【0020】
式中、bは補間された画素値であり、bAはパターンAからの候補画素の値であり、bBはパターンBからの候補画素の値であり、bCはパターンCからの候補画素の値であり、wA,wB,wCは重み値である。
【0021】
パターンマッチングは、多くの異なる方法で実装することができるが、一実施形態では、積分距離技法(integral distance technique)を用いて非常に効率的に実装される。
【0022】
提案する方法は、大きな探索エリアを用いることによって局所的補間方法の欠点を克服する。未知の画素値は、局所近傍から合成するのではなく、多くの類似パターンから直接取得する。この手法は、図7に示すように、テクスチャーのあるエリアにおける画像を正確に再構成する。図7は、提案する方法を図4からの画像に適用した一例を示す。さらに、この手法は、例えば図8に示すような、テキスト等の規則的な構造を壊さない。図8において、上の画像は人工的にノイズの線を埋め込んだテキストのスキャン画像を含み、下の画像は、提案する方法によるノイズの線の補間を示す。
【0023】
[第1の実施形態]
最初に、本発明の最も単純な実施形態を説明する。例示を簡単にするために、画像中の1画素幅の列を1列補間するための処理を説明する。しかしながら、画素列(複数可)は任意の幅とすることができることが理解されるであろう。さらに、補間される領域は、単なる画素の縦の列よりも複雑である可能性がある。例えば、領域は、可変の幅及び曲線的な形状を有してもよい。下記の実施形態の説明は、これらの代替形態の全てに対しても有効であり、複雑な領域への適用に関するさらなる詳細は、本明細書において後述する。
【0024】
図9は、第1の実施形態の構成要素のブロック図を示し、図10は、第1の実施形態によって行われる処理動作のフローチャートを示す。
【0025】
図9を参照すると、スキャナの処理要素2が示されている。本実施形態において、処理要素2はプログラマブルであり、従来と同様に、1つ又は複数のプロセッサ、メモリ、グラフィックカード等を、表示装置4、1つ又は複数のユーザー入力装置6(キーボード等)と共に備える。
【0026】
処理要素2は、入力されるプログラミング命令に従って動作するようにプログラムされる。プログラミング命令は、例えば、データ記憶媒体12(光学CD ROM、半導体ROM、磁気記録媒体等)に記憶されたデータとして、及び/又は、処理装置2に入力される信号14(例えば電気信号又は光信号)として入力される。信号14は、例えば、遠隔データベースから、通信ネットワーク(インターネット等、図示せず)を介した伝送により、又は、大気中の伝送により入力される。
【0027】
処理要素2は、プログラミング命令によりプログラムされたときに処理動作を行う多数の機能ユニットとして構成されたものと考えることができる。そのような機能ユニット及びそれらの相互接続の例を図9に示す。
【0028】
図9に示す機能ユニットを参照すると、中央コントローラー20は、ユーザー入力装置(複数可)からの入力を処理すると共に、他の機能ユニットに対して制御及び処理を行うように動作可能である。ワーキングメモリ30は、中央コントローラー20及び他の機能ユニットによって使用されるように設けられる。
【0029】
入力データインターフェース40は、処理装置2内の入力データの記憶を制御するように動作可能である。本実施形態において、入力データは、スキャナの検出器(図示せず)によって記録された画像データを含む。
【0030】
入力データストア50が、画像入力データを記憶するために設けられる。
【0031】
初期充填値計算機(initial fill calculator)60は、スキャナの検出器間のギャップ(複数可)により欠落している画素の初期値を計算するように動作可能である。
【0032】
テンプレートパターン選択器70は、補間値を計算すべき各画素の周囲のテンプレートパターンを選択するように動作可能である。
【0033】
探索エリア選択器80は、補間値を計算すべき画素の周囲の探索エリアを選択し、それによって、テンプレートパターン内のパターンに一致するパターンの探索を行うエリアを規定するように動作可能である。
【0034】
最良一致パターン選択器90は、パターンテンプレート内のパターンを探索エリアのさまざまな領域のパターンと照合するパターンマッチングを行うように動作可能であり、さらに、それらのパターンから最良一致パターンを選択する処理を行うように動作可能である。
【0035】
画素累積器100及び重み累積器110は、それぞれのメモリバッファを含む。画素累積器100は、最良一致パターン選択器90によって特定された画素値を累積するように構成されている。重み累積器110は、最良一致パターン選択器90によって特定された画素の重み値を累積するように構成されている。
【0036】
平均画素値計算機120は、画素累積器100及び重み累積器110に累積された値を処理して、現在処理中の画素に対する補間された画素値を計算するように動作可能である。
【0037】
中央コントローラー20の制御下のディスプレイコントローラー130は、表示装置4を制御して、画像データストア50に記憶された入力画像データを、平均画素計算機120によって計算された補間画素値と共に表示し、それによって、補正された画像データを表示するように動作可能である。
【0038】
出力データインターフェース150は、処理要素2からのデータの出力を制御するように動作可能である。本実施形態において、出力データは、補正された画像データを含む。すなわち、スキャナの検出器から受信され画像データストア50に記憶された画像データと、スキャナの検出器におけるギャップに起因するギャップを埋めるために計算された補間された画素値とを含む。出力データインターフェース150は、データを、例えばコンピュータ可読記憶媒体152(光学CD ROM、半導体ROM、磁気記録媒体等)上のデータとして、及び/又は、信号154(例えば、通信ネットワーク(インターネット等)を介して伝送される、または大気中を伝送される、電気信号又は光信号)として、出力するように動作可能である。出力データの記録は、出力信号154を直接的又は間接的に記録することによって行うことができる。
【0039】
次に図10のブロック10を参照すると、初期充填値計算機60は、未知の画素値を初期化する。すなわち、初期充填値計算機60は、画像内においてスキャナの検出器におけるギャップに対応する各画素(よって、検出器によって記録された値を持たないもの)の初期値を与える。本実施形態において、各初期値は、任意の従来技術の画素補間方法によって計算される。例えば、式(2)によって与えられるように、左側n個の画素及び右側n個の画素の一次結合を用いることができる。式中、kiは線形補間の係数であり、Cはカラーチャンネルのうちの1つ(R、G又はB)である。
【0040】
【数2】
【0041】
最も単純なケースでは、2つの近傍画素の平均が計算される(k1=1及びki=0,i>1)。
【0042】
ブロック20において、中央コントローラー20は、処理すべき次の画素(x0,y)を選択し、テンプレート選択器70は、該画素に対するテンプレートパターンNを選択し、探索エリア選択器80は、該画素に対する探索エリアSを選択する。本実施形態において、テンプレートパターンN及び探索エリアSは共に、画素(x0,y)を中心とする。選択の一例を図11に示す。補間領域は、探索エリアを2つの部分(例えば、補間すべき画素の縦の線がある場合、左側部分及び右側部分)に分割する。アルゴリズムは、補間領域の画素を中心にしたパターンを考慮しない。任意選択で、(図11に示すような)パラメータdが、探索エリアの左側部分と右側部分との間の最小距離を決定してもよい。このパラメータは、最良一致パターンが補間領域の近くで選択され得ないことを保証する(補間領域の近くでは、未知の画素値のためにパターン間の距離の信頼性が比較的低い)。
【0043】
ブロック30において、最良一致パターン選択器90は、パターンマッチング及び最良一致パターンの選択を行う。この処理は、多数の異なる方法で行うことができる。例えば、本実施形態において、テンプレートN(x0,y)と、探索エリアからの他の任意のパターンN(x0+sx,y+sy)との間の距離は、重み付けされた色差分絶対値和(sum of absolute colour differences)(SACD)として計算される。
【0044】
【数3】
【0045】
式(3)において、パラメータwR,wG,wBは、各カラーチャンネルの重みを決定する。最も単純な実装では、全ての重みを1に設定してもよい。また、他の任意の標準的な距離測度又は類似度測度(差の二乗和又は相関)をパターンマッチングにおいて用いてもよい。なお、本実施形態において、距離は、式(3)によって、ブロック10における線形補間によって置き換えられた未知の画素を含む、テンプレートの全ての画素を用いて計算される。
【0046】
最良一致パターンの位置N*(x0,y)=N(x0+sx*,y+sy*)は、距離測度の最小値によって決まる。
【0047】
【数4】
【0048】
ブロック40はさらに、ブロック30で見つけた最良一致パターンを処理する。この処理の詳細を図12に示す。テンプレートパターンNの中央にある未定義の画素は、パターンN*における明確に定義された画素に対応する。これは、探索が、(図11に示すパラメータdによって規制されるとおり)補間領域の近くでは行われないことによる。したがって、N*からの画素は、未知の画素の考え得る候補である。(図5に示すような)テンプレートパターンの重なりにより、未知の画素のそれぞれは、(図6に示すような)数個の最良一致パターンからの、対応する候補を有する。本実施形態において、候補はブロック50において、平均画素値計算機120によって平均化されて、未知の画素の推定値が得られる。
【0049】
画素平均を効率的に行うために、アルゴリズムの開始前に、2つのメモリバッファ(画素累積器P 100及び重み累積器W 110)が割り当てられ、0で初期化される。これらの累積器100、110は、補間領域と同一のトポロジーを有する。例えば、領域が1つの画像の列である場合、これらの累積器は1次元アレイである。領域がいくつかの列からなる場合、これらの累積器は2次元アレイである。領域が任意の形状を有する場合、これらの累積器は、領域の形状によってマスキングされた2次元アレイとして実装することができる。
【0050】
画素累積プロセスを図12に示す。テンプレートパターンNが座標(xi,yi)(i=1,…,m)を有するm個の未知画素を含む場合、最良一致パターンN*において、該画素の座標は(xi+sx*,yi+sy*)となる。なお、現画素(x0,y)はこれらのm個の画素の中に含まれる。累積器100、110は、次のように更新される。
【0051】
【数5】
【0052】
これらの式中、Cは原画像のカラーチャンネルのうちの1つ(R、G又はB)を示す。定数a及びbは、画像に対する累積器アレイの起点を決める。補間領域がx0における画素列全体である最も単純な場合、a=x0かつb=0である。
【0053】
式(5.1)及び(5.2)における重み関数wは任意の形態を有することができ、例えば、定数とすることができる。しかし直感的に、最良一致パターンN*(x0,y)が、他の最良一致パターン、例えばN*(x0,y±1)よりも画素(x0,y)の補間に寄与するはずであることは明白である。したがって、本実施形態において、wは現画素(x0,y)を中心として対称であり、パターンの両端において減少する。例えば、重み関数は、図12の右側のグラフに示し、式(6)によって与えられるように、線形減少することができる。
【0054】
【数6】
【0055】
最後に、ブロック50において、平均画素値計算機120は、画素累積器の値を重み累積器の値で除算し、それにより加重平均を計算することによって、補間の結果を生成する。
【0056】
【数7】
【0057】
その後、アルゴリズムは次の画素(x0,y+1)に進み、ブロック20から開始して、補間が必要な全ての画素を処理するまで行われる。
【0058】
[変更形態及び変形形態]
上述の実施形態に対して、例えば以下のように、多くの変更及び変形を加えることができる。
【0059】
[「画像ライン入力−画像ライン出力」の実装]
上記の実施形態における処理アルゴリズムは、パターンマッチングプロセスがパターンの中心を探索エリアの各画素に配置するので、1つの画素を補間するために、該画素を中心とする(2(Nx+Sx)+1)×(2(Ny+Sy)+1)のサイズの画像領域を必要とする。2(Ny+Sy)+1本の画像ラインのみをメモリバッファに保持することによって、効率的なメモリ消費を達成することができる。まず、最初の2(Ny+Sy)+1本の画像ラインをバッファに入れる。該バッファからの情報は、バッファの中心線に対応する番号Ny+Sy+1の画像ラインを処理するには十分である。次に、全てのバッファラインをシフトして、1行目のラインを廃棄し、2行目のラインが1行目になり、以下同様となる。バッファの最後のラインに新たな画像ラインが入れられ、中心バッファラインに対応する次の出力画像ラインを生成することを可能にする。したがって、この実装は、図13に示すように、入力画像ラインと出力画像ラインとの間にNy+Sy+1に等しい遅延を有する。
【0060】
積分距離を用いた高速パターンマッチング
関数fを距離の式(3)における内部和(inner sum)とする。
【0061】
【数8】
【0062】
式中、
【0063】
【数9】
【0064】
(8)における補間画素位置x0は定数である。2つの他のパラメータsx及びsyが固定されている場合、関数fはiのみに依存し、式(8)は、
【0065】
【数10】
【0066】
となる。
【0067】
次に、積分距離関数(ISACD)が導入された場合、
【0068】
【数11】
【0069】
距離の計算は、ISACDの2つの値しか必要とせず、遥かに単純になる。
【0070】
【数12】
【0071】
式(10)〜(12)において仮定しているように、探索パラメータを定数にする方法を示すために、表1において、第1の実施形態の単純なパターンマッチングの実装を、C/C++のような疑似コードを用いる本変更形態の高速パターンマッチングの実装と比較する。コンパクトなコードのために、パターンマッチングの最初の部分のみ、すなわち、最小距離(4.1)の探索が実装される。もう一方の部分である、最良一致パターンの位置(4.2)の選択は、MinDistanceの値を得た直後に追加することができる。
【0072】
【表1】
【0073】
低速アルゴリズムと高速アルゴリズムとの間の主な違いは、高速アルゴリズムがパターン距離の計算の中間結果を盛んに再利用することである。これは、各ループの異なる順序によって実装される。すなわち、低速アルゴリズムでは、探索ループ(sx,sy)が画素位置ループ(y)内にあり、高速アルゴリズムでは、画素位置ループ(y)が探索ループ(sx,sy)内にある。結果として、SACD値は、低速アルゴリズムでは2Dループによっても計算されるが、高速アルゴリズムでは直接は計算されず、したがって、計算時間が節約される。高速実装の副作用は、内部結果を記憶するためにより多くのメモリ(画像の高さのサイズのバッファISACD[]及びMinDistance[])を必要とすることである。
【0074】
[反復的アルゴリズム]
第1の実施形態の別の変形は、パターンマッチングプロセスの反復的な適用であり、補間の新たな結果を次の反復において未知の画素の初期近似値として用いる。この場合、最初の線形補間(図10のブロック10)は、反復0として考えることができる。反復的アルゴリズムのブロック図を図14に示す。
【0075】
多くの場合において、入力画像は、単純な構造(例えば、均一なエリア)を有し、そのような画素の良好な補間結果を線形方法(1)によって得ることができる。この場合、さらなる変形では、最良一致パターンへの距離が閾値を上回る場合に、パターンマッチングの結果を廃棄し、初期線形補間の結果を受け入れる。アルゴリズムのこの変更例を図15に示す。他の反復間で同様の受け入れ条件を実装することは単純である。
【0076】
[任意形状の領域]
上述の第1の実施形態は、単一の画素列の補間を目的としていた。複数の列[x1,x2](x2−x1+1に等しい幅を有する領域)への拡張は、x0∈[x1,x2]の範囲からの全ての画素位置を反復することによって、上記の説明から得ることができる。
【0077】
任意形状の領域の場合にも、本方法を適用することができるが、補間領域の曲線的な境界及び変動する幅のために調整が必要である。図16及び図17は、本方法の主要な思想が変わらないことを示す。必要な主な変更は次の通りである。
・画素累積器及び重み累積器の形状を補間領域の形状に類似させるべきである。
・テンプレートパターンの適応的なサイズ。テンプレート内に存在する値を計算すべき画素(補間画素)が多すぎる場合、信頼できる画素数を増やすために、テンプレートのサイズを増大させるべきである。
・上述した高速実装の変更形態において、積分距離fは1次元関数でなくなる。その代わりに、2次元関数となり、積分画像に関する周知の技法を用いて実装することができる。
【0078】
図16を参照すると、補間領域の5つの画素の最良一致パターンが黒丸により示されている。各画素の周囲の矩形(細線の矩形)は、探索エリアからの他の全てのパターンに照合されるパターンを示す。太線の矩形は、各最良一致パターンの位置を示す。最良一致パターンにおいて、中心画素(黒丸)は、テンプレートパターンの中心に対応する。他の画素(白丸)は、補間領域の他の画素のバージョン(候補)である。ここでもまた、複数の候補を平均化して、補間の結果を得ることができる(図17を参照)。
【0079】
図17を参照すると、曲線的な領域からの画素の補間が示されている。補間される画素(黒丸)は、各最良一致パターンからの、対応する画素を平均化することによって得られる。最良一致パターンのそれぞれ(矩形により示す)は、補間される画素の独自のバージョン(候補)を含む。結果の値は、全ての候補画素を平均化することによって得られる。
【0080】
[画素の結合方法]
上述の第1の実施形態では、候補画素を結合して、加重平均により結果の値を与える。ここで、重みは幾何関数である。しかし、結果の値を与えるための他の任意の結合方法、例えば、
・単純平均
・トリム平均(Trimmed averaging)
・距離値に基づく重みを用いた加重平均
・全ての候補画素の中央値(又は他の任意の統計値)
を用いることができる。
【0081】
[代替的な応用]
上述の第1の実施形態並びにその変更形態及び変形形態において、画像領域の補間処理は、スキャナから得られた画像データに対して行われる。しかしながら、同一の処理を、汎用の画像/ビデオ処理、復元及び編集に、特に細長い領域の除去が必要である場合、例えば、
・古い写真/フィルムからの掻き傷の除去
・映画のポストプロダクション中のワイヤ除去
・ビデオフレームの奇数/偶数の画素行を補間することによるビデオのインタレース除去
に用いることができる。
【0082】
[他の変更形態及び変形形態]
多くの他の変更形態及び変形形態が可能である。
【0083】
例えば、第1の実施形態において、処理要素2はスキャナの一部を構成する。しかしながら、その代わりに、処理要素2は、スキャナとは別の処理装置(スキャナからスキャン画像データを受信するパーソナルコンピュータ等)の一部とすることができる。
【0084】
上述の第1の実施形態並びにその変更形態及び変形形態では、RGB配色が使用される。しかしながら、CMYK等の他の配色をその代わりに用いることもできる。
【0085】
上述の第1の実施形態並びに変更形態及び変形形態において、各テンプレートパターン及び各探索エリアは、対応する補間すべき画素を中心とする。しかし、これは必ずしもそうである必要はなく、各テンプレートパターン及び/又は各探索エリアを、補間すべき画素がその中心とならないようにずらすこともできる(ただし、補間すべき画素は中心に近いことが好ましい)。
【0086】
上述の第1の実施形態並びに変更形態及び変形形態において、各探索エリアは、画像の領域を含む。しかしながら、各探索エリアは、画像全体を含むこともできる。
【0087】
上述の第1の実施形態並びに変更形態及び変形形態において、処理は、プログラマブル処理装置によって行われ、コンピュータプログラム命令によって定義される処理ルーチンを用いて行われる。しかしながら、処理の一部又は全部は、その代わりに、ハードウェアを用いて行うこともできる。
【特許請求の範囲】
【請求項1】
画像を定義する画像データを処理して、前記画像内の複数の画素について画素値を計算する方法であって、
画素のテンプレートパターンを複数規定することであって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、値を計算すべき画素のそれぞれは、前記テンプレートパターンのうち少なくとも2つに存在する、テンプレートパターンを規定することと、
各テンプレートパターンに関して、
−前記画像の全体を含むか、又は前記テンプレートパターンよりも大きい前記画像の領域を含む、探索エリアを規定すること、
−前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々における前記画素の前記値と比較することであって、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含む、値を比較すること、
−前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択すること、及び
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めること
と、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成することであって、各値はそれぞれ異なる候補パターンから導出される、値を生成することと、
値を計算すべき各画素に関して、前記画素に対する前記導出された画素値を結合することであって、結果の値を生成する、画素値を結合することと、
を含む、方法。
【請求項2】
各テンプレートパターンの前記探索エリアは、前記画像内の、値を計算すべき前記画素を除外するように規定される、請求項1に記載の方法。
【請求項3】
前記テンプレートパターン内の前記画素の前記値を前記候補パターンの前記画素の前記値と比較することの前に、値を計算すべき各画素の初期値を計算することをさらに含み、
画素の各初期値は、近傍の画素の前記値に依存して計算される、請求項1又は2に記載の方法。
【請求項4】
前記導出された画素値を結合する前記プロセスであって、画素の結果の値を生成する、前記画素値を結合するプロセスは、前記導出された画素値の加重平均を計算することを含み、
前記加重平均は、
前記導出された画素値の重み付きバージョンを第1のメモリバッファに累積することと、
前記導出された画素値を重み付けするために用いる重み値を第2のメモリバッファに累積することと、
前記第1のメモリバッファからの前記累積された値を、前記第2のメモリバッファからの前記累積された値で除算することと、
によって計算される、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
各テンプレートパターンは、前記テンプレートパターンに含まれる、値を計算すべき画素の数に依存するサイズで規定され、
それによって、値を計算すべき前記画素の数が増加するにつれて、前記テンプレートパターンの前記サイズが増加する、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
各テンプレートパターン及び各探索エリアは、値を計算すべき前記複数の画素のそれぞれに対して規定され、
各テンプレートパターン及び各探索エリアは、値を計算すべき前記対応する画素を中心とする、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
画像を定義する画像データを処理して、前記画像内の複数の画素について画素値を計算するように動作可能な画像処理装置であって、
画素のテンプレートパターンを複数規定するように動作可能なテンプレートパターン選択器(70)であって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、値を計算すべき画素のそれぞれは、前記テンプレートパターンのうち少なくとも2つに存在する、テンプレートパターン選択器と、
各テンプレートパターンに関して、前記画像の全体を含むか又は前記テンプレートパターンよりも大きい前記画像の領域を含む、探索エリアを規定するように動作可能な探索エリア選択器(80)と、
各テンプレートパターンに関して処理を行うように動作可能な最良一致パターン選択器(90)であって、前記最良一致パターン選択器(90)は、
−前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々の前記画素の前記値と比較し、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含み、
−前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択し、
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求め、
それによって、前記画像内の値を計算すべき各画素に関して複数の値を生成し、各値はそれぞれ異なる候補パターンから導出されるようにする、
最良一致パターン選択器(90)と、
値を計算すべき各画素に関して、前記導出された画素値を結合するように動作可能な画素値計算機(100、110、120)であって、それによって結果の値を生成する、画素値計算機と、を備える、画像処理装置。
【請求項8】
前記探索エリア選択器(80)は、各テンプレートパターンに対して、前記画像内の値を計算すべき前記画素を除外するように前記探索エリアを規定するよう構成される、請求項7に記載の装置。
【請求項9】
初期充填値計算器(60)をさらに備え、
前記初期充填値計算器(60)は、前記最良一致パターン選択器(90)が前記テンプレートパターン内の前記画素の前記値を前記候補パターンの前記画素の前記値と比較する前に、値を計算すべき各画素の初期値を前記初期充填値計算器(60)が計算するように動作可能であり、
前記初期充填値計算機(60)は、画素の各初期値を近傍の画素の前記値に依存して計算するように構成される、請求項7又は8に記載の装置。
【請求項10】
前記画素値計算機(120)は、前記導出された画素値の加重平均を計算する処理を行うことによって、前記導出された画素値を結合して、画素の結果の値を生成するように構成され、
加重平均を計算する前記処理は、
前記導出された画素値の重み付きバージョンを第1のメモリバッファ(100)に累積することと、
前記導出された画素値を重み付けするために用いる重み値を第2のメモリバッファ(110)に累積することと、
前記第1のメモリバッファ(100)からの前記累積された値を、前記第2のメモリバッファ(110)からの前記累積された値で除算することと、
を含む、請求項7〜9のいずれか一項に記載の装置。
【請求項11】
前記テンプレートパターン選択器(70)は、各テンプレートパターンを、前記テンプレートパターンに含まれる、値を計算すべき画素の数に依存するサイズで規定するように構成され、
それによって、値を計算すべき前記画素の数が増加するにつれて、前記テンプレートパターンの前記サイズが増加する、請求項7〜10のいずれか一項に記載の装置。
【請求項12】
前記テンプレートパターン選択器(70)及び前記探索エリア選択器(80)は、各テンプレートパターン及び各探索エリアを、値を計算すべき前記複数の画素のそれぞれに対して規定するように構成され、
各テンプレートパターン及び各探索エリアは、値を計算すべき前記対応する画素を中心とする、請求項7〜11のいずれか一項に記載の装置。
【請求項13】
プログラマブル処理装置を、請求項1〜6のうちの少なくとも1つに記載の方法を行うように動作可能となるようプログラムするためのコンピュータプログラム命令を含む、コンピュータプログラム製品。
【請求項1】
画像を定義する画像データを処理して、前記画像内の複数の画素について画素値を計算する方法であって、
画素のテンプレートパターンを複数規定することであって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、値を計算すべき画素のそれぞれは、前記テンプレートパターンのうち少なくとも2つに存在する、テンプレートパターンを規定することと、
各テンプレートパターンに関して、
−前記画像の全体を含むか、又は前記テンプレートパターンよりも大きい前記画像の領域を含む、探索エリアを規定すること、
−前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々における前記画素の前記値と比較することであって、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含む、値を比較すること、
−前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択すること、及び
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求めること
と、
それによって、前記画像内の値を計算すべき各画素に関して、複数の値を生成することであって、各値はそれぞれ異なる候補パターンから導出される、値を生成することと、
値を計算すべき各画素に関して、前記画素に対する前記導出された画素値を結合することであって、結果の値を生成する、画素値を結合することと、
を含む、方法。
【請求項2】
各テンプレートパターンの前記探索エリアは、前記画像内の、値を計算すべき前記画素を除外するように規定される、請求項1に記載の方法。
【請求項3】
前記テンプレートパターン内の前記画素の前記値を前記候補パターンの前記画素の前記値と比較することの前に、値を計算すべき各画素の初期値を計算することをさらに含み、
画素の各初期値は、近傍の画素の前記値に依存して計算される、請求項1又は2に記載の方法。
【請求項4】
前記導出された画素値を結合する前記プロセスであって、画素の結果の値を生成する、前記画素値を結合するプロセスは、前記導出された画素値の加重平均を計算することを含み、
前記加重平均は、
前記導出された画素値の重み付きバージョンを第1のメモリバッファに累積することと、
前記導出された画素値を重み付けするために用いる重み値を第2のメモリバッファに累積することと、
前記第1のメモリバッファからの前記累積された値を、前記第2のメモリバッファからの前記累積された値で除算することと、
によって計算される、請求項1〜3のいずれか一項に記載の方法。
【請求項5】
各テンプレートパターンは、前記テンプレートパターンに含まれる、値を計算すべき画素の数に依存するサイズで規定され、
それによって、値を計算すべき前記画素の数が増加するにつれて、前記テンプレートパターンの前記サイズが増加する、請求項1〜4のいずれか一項に記載の方法。
【請求項6】
各テンプレートパターン及び各探索エリアは、値を計算すべき前記複数の画素のそれぞれに対して規定され、
各テンプレートパターン及び各探索エリアは、値を計算すべき前記対応する画素を中心とする、請求項1〜5のいずれか一項に記載の方法。
【請求項7】
画像を定義する画像データを処理して、前記画像内の複数の画素について画素値を計算するように動作可能な画像処理装置であって、
画素のテンプレートパターンを複数規定するように動作可能なテンプレートパターン選択器(70)であって、前記テンプレートパターンは互いに重なり、各テンプレートパターンが前記画像の領域を含み、値を計算すべき画素のそれぞれは、前記テンプレートパターンのうち少なくとも2つに存在する、テンプレートパターン選択器と、
各テンプレートパターンに関して、前記画像の全体を含むか又は前記テンプレートパターンよりも大きい前記画像の領域を含む、探索エリアを規定するように動作可能な探索エリア選択器(80)と、
各テンプレートパターンに関して処理を行うように動作可能な最良一致パターン選択器(90)であって、前記最良一致パターン選択器(90)は、
−前記テンプレートパターン内の前記画素の前記値を、複数の候補パターンの各々の前記画素の前記値と比較し、各候補パターンは、前記テンプレートパターンに対する前記探索エリアからの領域を含み、
−前記複数の候補パターンから、前記テンプレートパターンとの最良一致を表す候補パターンを選択し、
−前記テンプレートパターン内の、値を計算すべき各画素に関して、前記選択された候補パターンからそれぞれの画素値を求め、
それによって、前記画像内の値を計算すべき各画素に関して複数の値を生成し、各値はそれぞれ異なる候補パターンから導出されるようにする、
最良一致パターン選択器(90)と、
値を計算すべき各画素に関して、前記導出された画素値を結合するように動作可能な画素値計算機(100、110、120)であって、それによって結果の値を生成する、画素値計算機と、を備える、画像処理装置。
【請求項8】
前記探索エリア選択器(80)は、各テンプレートパターンに対して、前記画像内の値を計算すべき前記画素を除外するように前記探索エリアを規定するよう構成される、請求項7に記載の装置。
【請求項9】
初期充填値計算器(60)をさらに備え、
前記初期充填値計算器(60)は、前記最良一致パターン選択器(90)が前記テンプレートパターン内の前記画素の前記値を前記候補パターンの前記画素の前記値と比較する前に、値を計算すべき各画素の初期値を前記初期充填値計算器(60)が計算するように動作可能であり、
前記初期充填値計算機(60)は、画素の各初期値を近傍の画素の前記値に依存して計算するように構成される、請求項7又は8に記載の装置。
【請求項10】
前記画素値計算機(120)は、前記導出された画素値の加重平均を計算する処理を行うことによって、前記導出された画素値を結合して、画素の結果の値を生成するように構成され、
加重平均を計算する前記処理は、
前記導出された画素値の重み付きバージョンを第1のメモリバッファ(100)に累積することと、
前記導出された画素値を重み付けするために用いる重み値を第2のメモリバッファ(110)に累積することと、
前記第1のメモリバッファ(100)からの前記累積された値を、前記第2のメモリバッファ(110)からの前記累積された値で除算することと、
を含む、請求項7〜9のいずれか一項に記載の装置。
【請求項11】
前記テンプレートパターン選択器(70)は、各テンプレートパターンを、前記テンプレートパターンに含まれる、値を計算すべき画素の数に依存するサイズで規定するように構成され、
それによって、値を計算すべき前記画素の数が増加するにつれて、前記テンプレートパターンの前記サイズが増加する、請求項7〜10のいずれか一項に記載の装置。
【請求項12】
前記テンプレートパターン選択器(70)及び前記探索エリア選択器(80)は、各テンプレートパターン及び各探索エリアを、値を計算すべき前記複数の画素のそれぞれに対して規定するように構成され、
各テンプレートパターン及び各探索エリアは、値を計算すべき前記対応する画素を中心とする、請求項7〜11のいずれか一項に記載の装置。
【請求項13】
プログラマブル処理装置を、請求項1〜6のうちの少なくとも1つに記載の方法を行うように動作可能となるようプログラムするためのコンピュータプログラム命令を含む、コンピュータプログラム製品。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公表番号】特表2012−524310(P2012−524310A)
【公表日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2012−505129(P2012−505129)
【出願日】平成22年4月9日(2010.4.9)
【国際出願番号】PCT/EP2010/054703
【国際公開番号】WO2010/118989
【国際公開日】平成22年10月21日(2010.10.21)
【出願人】(501253316)ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ (77)
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】20 Frederick Sanger Road, The Surrey Research Park, Guildford, Surrey GU2 5YD, Great Britain
【Fターム(参考)】
【公表日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願日】平成22年4月9日(2010.4.9)
【国際出願番号】PCT/EP2010/054703
【国際公開番号】WO2010/118989
【国際公開日】平成22年10月21日(2010.10.21)
【出願人】(501253316)ミツビシ・エレクトリック・アールアンドディー・センター・ヨーロッパ・ビーヴィ (77)
【氏名又は名称原語表記】MITSUBISHI ELECTRIC R&D CENTRE EUROPE B.V.
【住所又は居所原語表記】20 Frederick Sanger Road, The Surrey Research Park, Guildford, Surrey GU2 5YD, Great Britain
【Fターム(参考)】
[ Back to top ]