(57)【特許請求の範囲】
【請求項１】
各サブ画像が複数の画素を有する複数の重複するサブ画像から合成画像を形成する装置であって、
複数のサブ画像を格納できるメモリと、
サブ画像の各々を、ブロックの各々が同数の画素を有する複数のブロックに分割するサブ画像ブロック化回路と、
変換パラメータ生成回路と、
サブ画像歪曲回路と、
サブ画像結合回路と、
を有し、
前記変換パラメータ生成回路は、
ブロック比較回路と、
ブロック変換パラメータセット推定回路と、
クラスタ生成回路と、
サブ画像変換パラメータセット生成回路と、
サブ画像変換パラメータ修正回路と、
を有し、
前記変換パラメータ生成回路は、
複数のサブ画像の対を入力し、
サブ画像の前記対の一方のサブ画像の、少なくともサブ画像の該対の他方のサブ画像に対する歪曲を示す変換パラメータセットを生成し、
前記サブ画像歪曲回路は、前記変換パラメータ生成回路によって生成された対応する変換パラメータセットにもとづいて、複数の前記サブ画像から選択された一つのサブ画像に対する、複数の前記サブ画像の少なくとも一つのサブ画像を歪曲し、
前記サブ画像結合回路は、合成画像を形成するために、歪曲された少なくとも一つの前記サブ画像と選択された前記サブ画像とを結合し、
前記ブロック変換パラメータセット推定回路は、
前記ブロック比較回路によって比較されたブロックの対の各々について、他方のブロックに対する一方のブロックの歪曲を示すブロック変換パラメータセットを生成し、
ブロックの前記対は、第１のサブ画像の第１のブロックと第２のサブ画像の第２のブロックとを含み、
前記クラスタ生成回路は、前記ブロック変換パラメータセット推定回路によって生成されたブロック変換パラメータセットから、複数のセットクラスタを生成し、
前記サブ画像変換パラメータセット生成回路は、前記クラスタ生成回路によって生成された変換パラメータセットの複数のクラスタにもとづいて、第２のサブ画像に対する第１のサブ画像の歪曲を示す画像変換パラメータセットを生成し、
前記サブ画像変換パラメータ修正回路は、
前記サブ画像変換パラメータセット生成回路によって生成された画像変換パラメータセットを、前記第２のサブ画像の固定座標系に対する歪曲を示す変換パラメータセットにもとづいて修正し、
前記画像変換パラメータセットは第１のサブ画像の第２のサブ画像に対する歪曲を示す、
合成画像を形成する装置。
【請求項２】
前記変換パラメータ生成回路はアフィンパラメータを生成する、請求項１に記載の装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理に関する。詳細には、本発明は、スキャナから取得した部分的な画像部分を、単一のより大きな画像における位置決めをすることに関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
デスクトップパブリッシング（ＤＴＰ）、画像処理、及びＷＷＷ（ウェブ）出版のようなアプリケーションのための、画像走査の重要性が高まっている。現在のところ、画像走査は、一般的に、ハイエンドのドラムスキャナ又はローエンドのフラットベッドスキャナのいずれかを用いて行われている。ドラムスキャナは、フラットベッドスキャナよりも高い画素解像度を有する。ドラムスキャナは、大きなサイズの原稿を走査することもできる。しかし、ドラムスキャナは、フラットベッドスキャナ、特に、安価なＣＣＤイメージャよりも高価である。また、将来的には、感光性のＣＭＯＳ感知（読取）素子がフラットベッドスキャナに組み込まれる。
【０００３】
更に、ドラムスキャナは、ドラムの曲面に付着されるには堅過ぎる大きなサイズの原稿を走査することはできない。フラットベッドスキャナはコンパクトであるが、一般的に、比較的小さなサイズのプラテンを有する。従って、一般的に、スキャナ、特にフラットベッドスキャナは、部分的に走査した画像を互いに位置決めして組み合わせて、大きな画像を完成させなければならない。
【０００４】
アプリケーション、及び画像部分間の変形のタイプに依存して、部分的な画像部分間の対応を確立するために有用な技術において、異なる種々の技術を使用することができる。本明細書に全文を参照として援用する、ブラウン(L.G. Brown)の「画像位置決め技術の調査("A Survey Of Image Registration Techniques")」、ACM Computing Surveys, vol. 24, no. 4、1992年12月、325-376頁（以降“ブラウン”と呼ぶ）は、画像位置決めイメージング（技術）の総括的な概観を提供している。それぞれを本明細書に参照として全文を援用する、リーら(H. Li, et al.)（以降“リー”と呼ぶ）の「複数センサー画像の位置決めに対する輪郭ベースの手法(A Contour Based Approach To Multi-Sensor Image Registration)」（IEEE Trans. Image Processing, Vol. ４、1995年3月、320-334頁）、ウッズら(R.P. Woods, et al.)（以降“ウッズ”と呼ぶ）の「自動化アルゴリズムを用いたＭＲＩ−ＰＥＴレジストレーション(MRI-PET Registration with Automated Algorithm)」（Journal of Computer Assisted Topography, vol. 17、1993年、536-546頁）、スゼリスキ(R. Szeliski)（以降“スゼリスキ”と呼ぶ）の「バーチャル環境用のビデオモザイク(Video Mosaics for Virtual Environments)」（IEEE Computer Graphics and Applications、1996年3月、20-30頁）、及びテオドシアら(L.Teodosia et al.)（以降“テオドシア”と呼ぶ）の「目覚ましいビデオスチール：保存された内容及びコンテキスト(Salient Video Stills: Content and Context Preserved)」（ACM Multimedia、1993年、39-46頁）は、遠隔現実(telereality)アプリケーション及びスチールビデオ表現について論じている。
【０００５】
画像の位置決めにおいては、走査中に生じた部分画像間の位置ずれの解消を可能にするために、一般的に、問題の画像間の空間的な変形を見つける必要がある。位置ずれは、画像間の平行移動及び回転（グローバル変形）、並びに、個々の部分画像内のローカルな歪み（ローカル変形）を表す。整合フィルタリング技術を用いて、空間的な変形を見つけることができる。前述のブラウンに、幾つかの整合フィルタリング技術が述べられている。この方法では、空間変形を、純粋な平行移動と見なしている。この技術の主な短所は、計算の複雑さである。
【０００６】
画像の位置決めのための別の公知の方法は、ウェーブレット解析を用いて空間的な変形をモデリングすることである。これは、例えば、本明細書に参照として全部を引用する、アミット(Y. Amit)の「画像整合のための非線形変分問題(A Nonlinear Variational Problem for Image Matching)」（SIAM Journal Sci. Comput., vol. 15, no. 1、1994年1月、207-224頁）で提案されている。更に別の手法は、本明細書に参照として全部を引用する、マガレーら(L. Magarey et al.)の「複合ウェーブレットを用いた動きの推定(Motion Estimation Using Complex Wavelets)」（Technical Report, Cambridge University, Dept. of Engineering、1995年）で述べられているように、画像のウェーブレット分解の位相から、空間的な変形を推定することである。これらの技術の基本的な短所は、走査という目的では主要な変形であるグローバル変形ではなく、ローカル変形をモデリングすることである。
【０００７】
本明細書に参照として全部を引用する、カトヴィークら(J. van Katwijk et al.)の「走査した地図の正確なモザイク、又は仮想Ａ０スキャナを生成する方法(Accurate Mosaiking of Scanned Maps, or How to Generate a Virtual A0 Scanner)」（the First Annual Conf. of the Advanced School for Computing and Imaging会報、オランダ、1995年5月、353-359頁）は、走査した文書の部分的な画像を位置決めするための別の画像位置決め技術を提案している。この方法を用いると、走査した実用地図を構造的な記述に変換することができる。グローバル変形の推定に対してロバストなアフィン変換が、変形モデルとして用いられる。しかし、画像上に、変形が推定される領域を予め描くので、手作業の介入を必要とする。
【０００８】
【課題を解決するための手段】
本発明は、走査した原稿の画像を再構成するために、走査した原稿の部分画像間のグローバル変形を推定するための、システム及び方法を提供する。
【０００９】
本発明は、変換を用いてグローバル変形を判定するシステム及び方法を、個別に提供する。
【００１０】
本発明は、アフィン変換を用いてグローバル変形を判定するシステム及び方法を、個別に提供する。
【００１１】
本発明は、各部分画像を重なり合わないブロックに分割し、各ブロックのグローバル変形を推定するシステム及び方法を、個別に提供する。
【００１２】
本発明は、推定されたブロックパラメータをクラスタ化して、全ての部分画像の全体的な実際の変形を見つけるシステム及び方法を、個別に提供する。
【００１３】
本発明の、上記及び他の特徴及び長所は、以下の好ましい実施の形態の詳細な記述で説明され、又は明らかとなる。
【００１４】
【発明の実施の形態】
添付の図面を参照して、本発明の好ましい実施の形態を説明する。
【００１５】
画像の位置決めとは、部分的に重複する画像間の対応を確立することを意味する。画像の位置決めは、上述のリーで述べられている衛星イメージング、上述のウッズで述べられている、断層撮影した脳の画像の隣接する画像どうしの位置決め、スゼリスキで述べられている遠隔現実アプリケーション、及び上述のテオドシアで述べられている静止ビデオ映像の分野において、広く用いられている。本発明に従ったシステム及び方法では、詳細を後述するように、部分画像即ちサブ画像の取得に用いられる走査装置の走査ウィンドウよりも大きいソース文書を走査することにより、部分画像即ちサブ画像を取得する。走査されたソース文書は、イメージ領域、グラフィック領域、テキスト領域、又は他の任意のタイプの画像データ領域を含み得る。
【００１６】
本発明に従って、各部分画像即ちサブ画像の、適切なグローバル変形（変換）が取得される。このグローバル変形を用いて、各部分画像即ちサブ画像を基準座標系に位置決めする。基準座標系は、走査した部分画像の最初の部分画像によって定めることができることを認識されたい。
【００１７】
サブ画像を歪曲することによって、サブ画像即ち部分画像が基準座標系に位置決めされる。全てのサブ画像即ち部分画像が座標系に位置決めされると、空間平均化を用いてサブ画像が結合され、走査した原稿の合成画像になる。従って、後述するシステム及び方法に基づき、ユーザは、低コストのフラットベッドスキャナ、又は他の低コストの手で持つタイプの（ハンドヘルド）スキャナを用いて、走査装置の走査ウィンドウよりも大きい文書を走査することができる。
【００１８】
詳細には、本発明のシステム及び方法に従い、走査された各部分画像間の適切な変形（変換）は、推定値を用いて見つけられる。これらの推定値により、様々な部分画像間の平行移動及び/又は一様なスケーリングが可能となる。本発明のシステム及び方法に従って生成される推定値は、走査した原稿の合成画像を構成するために、走査した原稿の部分画像間の平行移動及び回転の両方を推定する。本明細書に参照として全文を援用する、ボズダギ(Gozde Bozdagi)の米国特許第5,784,115号は、高品質のプログレッシブビデオフレームを生成するための、動き補償インターレースビデオフレームのインターレースを解除するためのシステム及び方法を提供している。また、この米国特許第5,784,115号で開示されているシステム及び方法は、計算の複雑さを低く抑えるとともに、２つのフィールド、即ち単一フレームしか必要としない。
【００１９】
上述の米国特許第5,784,115号で開示されているように、米国特許第5,784,115号のシステム及び方法は、２つの時間的にずれたフィールドで構成される単一画像フレーム内に、グローバルモーションが存在するか否かを決定する。グローバルモーションが検出された場合は、そのグローバルモーションが推定され、補償される。そのグローバルに補償された画像を解析し、ローカルモーションが存在するか否かを決定する。ローカルモーションが検出された場合は、モーションに適応する技術を用いて、ローカルモーションの影響を受けている画素を補間する。グローバルモーションが検出された場合は、オプティカルフロー解析及びアフィンパラメータ化を用いて、そのグローバルモーションを推定する。
【００２０】
上述の米国特許第5,784,115号で述べられているように、各フィールドは複数の離散的なブロックに分割され、一方のフィールドの各ブロックのアフィンパラメータが、他方のフィールドの対応するブロックとの相対関係において、推定される。単一の画像フレーム内で、グローバルモーションが主要なモーションである場合には、各ブロックの推定アフィンパラメータの個々の値は、グローバルモーションを表す値のまわりにクラスタ化する傾向がある。最も多くの要素を有するクラスタの中心にあるアフィンパラメータ値（複数）が、グローバルモーションのアフィンパラメータ（複数）の最終的な推定値として選択される。グローバルモーションは、インターレースされている２つのフィールドの一方を、選択したアフィンパラメータを用いて歪曲することによって、補償される。
【００２１】
ローカルモーションは、２つのフィールドのうちの歪曲されたフィールドと他方のフィールドとの間のモーションマップを決定することにより、得られた単一フレーム内で決定される。上述の米国特許第5,784,115号で開示されているように、第２モーションマップ内に含まれる画素、即ちローカルモーションに影響された画素は、エッジに適応する補間を用いて補償される。
【００２２】
図１は、原稿３０の走査に用いられるフラットベッドスキャナの走査ベッド、即ち走査ウィンドウ又はスキャナ・フットプリントよりも長い原稿３０を示す。図１に示されるように、原稿３０は、１つの方向においては、走査ウィンドウ又はスキャナ・フットプリントよりも長いが、第２の垂直方向においては、走査ウィンドウ又はスキャナ・フットプリントよりも長くはない。従って、図１に示されるように、６つの独立したサブ画像３１から３６を形成するように、原稿３０を走査することができる。詳細には、第１のサブ画像３１は、原稿３０の一番左の部分を走査することによって取得される。次に、第２のサブ画像３２は、原稿３０の、第１サブ画像３１の右側で第１サブ画像３１に僅かに重なる部分を走査することによって取得される。原稿３０全体が走査されるまで、更に、それぞれが前に走査されたサブ画像の一番右の部分に僅かに重なっているサブ画像３３から３５が走査される。図１に示されるように、サブ画像３１から３６の各々は、個々にＡからＦの参照文字でも印がつけられている。
【００２３】
図２は、得られた６つのサブ画像３１から３６が、本発明のシステム及び方法に従って、ブロックに分割された後を示している。例えば、図２に示されるように、サブ画像３１から３６の各々は、64個のブロックに分割される。各ブロックは、同じ数の画素を含む。サブ画像３１から３６は、各ブロックが固定数の画素を含む、任意の数のブロックに分割できることも認識されたい。従って、図２に示されている64個のブロックは、説明的なものであり、限定するものではないことを理解されたい。
【００２４】
図２に示されるように、原稿３０を走査することによってサブ画像３１から３６が形成される際、任意の２つのサブ画像３１から３６の間には、固有の関係も、固有の重複量も存在しないことを認識されたい。
【００２５】
以下の、本発明に従った走査画像位置決めシステム及び方法の例示的な実施の形態の説明は、理解を容易にするために、アフィン変換と関係して述べられる。しかしながら、サブ画像を単一画像にコンパイルできるようにする、公知の又は今後開発される任意の変換を、本発明のシステム及び方法に用いることができることを認識されたい。そのような他の変換の１つは、投影変換である。従って、以下の説明及び特許請求の範囲は、アフィン変換に限定されると解釈されるべきではない。
【００２６】
図３は、本発明に従った走査画像位置決めシステム２００の１つの例示的な実施の形態を示している。図３に示されるように、スキャナ１００はリンク１１０を介して走査画像位置決めシステム２００に接続されている。同様に、画像データシンク（受信側）３００はリンク３１０を介して走査画像位置決めシステム２００に接続できる。
【００２７】
スキャナ１００は、公知の又は今後開発される任意のタイプのスキャナであり得ることを認識されたい。スキャナ１００がとり得る形態には制限はない。しかし、スキャナ１００が本発明の走査画像位置決めシステム２００と共に用いられる場合には、スキャナ１００が原稿全体を完全に走査することはできないことを前提としている。
【００２８】
リンク１１０は、スキャナ１００を走査画像位置決めシステムに接続するための、直接ケーブル接続、ＷＡＮ又はＬＡＮを介した接続、イントラネットを介した接続、インターネットを介した接続、又は任意の他の分散形処理ネットワーク又はシステムを含む、公知の又は今後開発される任意の装置又はシステムであり得る。一般的に、リンク１１０は、スキャナ１００の走査画像位置決めシステム２００への接続に使用可能な、公知の又は今後開発される任意の接続システム又は構造であり得る。
【００２９】
画像データシンク３００は、走査画像位置決めシステム２００から、再構成された合成画像を受信できる、公知の又は今後開発される任意の装置であり得る。従って、画像データシンク３００は、ディスプレイ、又はレーザプリンタ、デジタルコピー機、インクジェットプリンタ、ドットマトリックスプリンタ、昇華型プリンタのような画像出力ターミナル等であり得る。画像データシンク３００は、フロッピーディスク及びドライブ、ハードディスク及びドライブ、書き込み可能ＣＤ−ＲＯＭ若しくはＤＶＤディスク及びドライブ、又はフラッシュメモリ等のような、公知の又は今後開発される任意の記憶装置であってもよい。画像データシンク３００は、走査画像位置決めシステム２００にローカルに配置されてもよく、又は走査画像位置決めシステム２００から遠隔に配置されてもよいことも認識されたい。従って、リンク１１０と同様に、リンク３１０は、走査画像位置決めシステム２００の画像データシンク３００への接続に使用可能な、公知の又は今後開発される任意の接続システム又は構造であり得る。詳細には、リンク３１０は、リンク１１０に関して上述した任意の装置又はシステムを用いて実現され得る。
【００３０】
走査画像位置決めシステム２００は、コントローラ２１０、入出力インタフェース２２０、メモリ２３０、サブ画像ブロック化回路２４０、アフィンパラメータ生成回路２５０、サブ画像歪曲回路２７０、及びサブ画像結合回路２８０を含み、全ての要素は、データ及び/又は制御信号バス２９０を介して相互接続されている。更に、スキャナ１１０及び画像データシンク３００は、それぞれリンク１１０及び３１０を介して、入出力インタフェース２２０に接続されている。
【００３１】
図３に示されるように、メモリ２３０は、サブ画像メモリ部２３１、アフィンパラメータメモリ部２３２、クラスタメモリ部２３３、制御プログラムメモリ部２３４、及び歪曲済サブ画像メモリ部２３５を含む。サブ画像メモリ部２３１は、スキャナ１１０を用いて原稿から取得され、リンク１１０をわたって入出力インタフェース２２０を介して走査画像位置決めシステム２００に送信される、様々なサブ画像を格納する。アフィンパラメータメモリ部２３２は、後述するように、サブ画像メモリ部２３１に格納されている（もしあれば）ベースとなるサブ画像以外の各サブ画像に対して生成される様々なアフィンパラメータを格納する。
【００３２】
クラスタメモリ部２３３は、ベースとならないサブ画像のブロックに対して生成されたブロックアフィンパラメータのセットをクラスタ化する間に生成されるクラスタデータを格納する。歪曲済サブ画像メモリ部２３５は、ベースとなるサブ画像又は所定の基準位置に位置決めされるように配置するために歪曲された後のサブ画像を格納する。
【００３３】
制御プログラムメモリ部２３４は、走査画像位置決めシステム２００の任意の制御プログラムを格納する。詳細には、走査画像位置決めシステム２００は、好ましくは、プログラムされた汎用コンピュータ、マイクロプロセッサ、又はマイクロコントローラを用いて実施される。従って、制御プログラムメモリ部２３４は、本発明のシステム及び方法を実施するためにコントローラ２１０によって実行される制御プログラムを格納する。
【００３４】
上記に示したように、入出力インタフェース２２０は、コントローラ２１０の制御下で、スキャナ１１０からサブ画像を入力し、それらをサブ画像メモリ部２３１に格納する。入出力インタフェース２２０は、やはりコントローラ２１０の制御下で、サブ画像結合回路２８０又はメモリ２３０からの再構成された合成画像を、信号ライン３１０を介して、画像データシンク３００に出力できる。
【００３５】
サブ画像ブロック化回路２４０は、コントローラ２１０の制御下で、各サブ画像を、入出力インタフェース２２０から直接入力するか、又はサブ画像メモリ部２３１から入力し、各サブ画像を、各々が同数の画素を有する同数のブロックに分割する。次に、ブロック化されたサブ画像は、サブ画像メモリ部２３１に格納されるか、又は直接、アフィンパラメータ生成回路２５０に出力される。
【００３６】
アフィンパラメータ生成回路２５０は、コントローラ２１０の制御下で、サブ画像メモリ部２３１、歪曲済サブ画像メモリ部２３５、及び/又はサブ画像ブロック化回路２４０から、２つのブロックサブ画像を入力し、２つの画像のうちの一方の画像を、２つの画像のうちの他方の画像及び/又はベースとなるサブ画像に位置決めするように歪曲するのに必要な、画像アフィンパラメータを生成する。次に、これらの画像アフィンパラメータは、アフィンパラメータメモリ部２３２に格納される。
【００３７】
サブ画像歪曲回路２７０は、サブ画像メモリ部２３１からの（もしあれば）未歪曲のサブ画像、及び、アフィンパラメータメモリ部２３２に格納されている、そのサブ画像の対応する画像アフィンパラメータを入力する。次に、サブ画像歪曲回路２７０は、入力された画像アフィンパラメータを用いて、入力されたサブ画像を、ベースとなるサブ画像に位置決めされるように配置するために、歪曲する。次に、歪曲されたサブ画像は、歪曲済サブ画像メモリ部２３５に格納される。
【００３８】
サブ画像結合回路２８０は、サブ画像メモリ部２３１からのベースとなるサブ画像、及び歪曲済サブ画像メモリ部２３５に格納されている歪曲済のベースとならないサブ画像を入力し、それらを結合して、原稿の再構成された合成画像を形成する。次に、この再構成された合成画像を、メモリ２３０に格納するか、又は、上記に示したように、入出力インタフェース２２０を介して直接画像データシンク３００に出力することができる。
【００３９】
上記に示したように、図３に示されているアフィンパラメータ生成回路２５０は、より一般的には、用いられる特定の変換用の特定の変換パラメータを生成する、変換パラメータ生成回路２５０として説明できることを認識されたい。同様に、図３に示されているアフィンパラメータメモリ部２３２は、より一般的には、変換パラメータ生成回路２５０によって生成される変換パラメータを格納する、変換パラメータメモリ部２３２として説明できる。この場合、サブ画像歪曲回路２７０は、変換パラメータ生成回路２５０によって生成され、変換パラメータメモリ部２３２に格納されている、入力画像変換パラメータを用いて、入力サブ画像を、ベースとなるサブ画像に位置決めされるように配置するために、歪曲する。
【００４０】
図４は、アフィンパラメータ生成回路２５０の１つの例示的な実施の形態をより詳細に示している。図４に示されるように、アフィンパラメータ生成回路２５０は、ブロック比較回路２５１、ブロックアフィンパラメータセット推定回路２５２、サブ画像アフィンパラメータセット生成回路２５３、アフィンパラメータ修正回路２５４、及びクラスタ生成回路２６０を含む。アフィンパラメータ生成回路２５０が、ベースとなるサブ画像及びベースとなる画像と重複する歪曲されるサブ画像のような２つのサブ画像を入力した後、ブロック比較回路２５１は、歪曲されるサブ画像の各ブロックを、他方のサブ画像の１つ以上のブロックと比較する。例えば、２つのサブ画像がベースとなるサブ画像を含む場合は、ベース画像内のブロック及び歪曲されるサブ画像内のブロックの各対について、一方のブロック内の各画素が、他方のブロック内の対応して位置する画素と比較される。
【００４１】
２つのブロックのうちの一方のブロック内の全画素が、他方のブロック内の対応する画素と比較されたら、その比較結果が、ブロック比較回路２５１からブロックアフィンパラメータセット推定回路２５２に出力される。ブロックアフィンパラメータセット推定回路２５２は、一方のブロック内の画素の画像値を他方のブロック内の画素の画像値に最も良好に変換する、平行移動の垂直及び水平成分並びに任意の回転の垂直及び水平成分を定義する、１セットのブロックアフィンパラメータを推定する。詳細には、ブロックアフィンパラメータセット推定回路は、上述の米国特許第5,784,115号に述べられているように、及び、更に詳細を後述するように、アフィンパラメータを推定する。ブロック比較回路２５１によって、比較されたブロックの各対について、１つのブロックアフィンパラメータセットが生成されることを認識されたい。
【００４２】
推定されたブロックパラメータセットは、次に、ブロックアフィンパラメータセット推定回路２５２によってクラスタ生成回路２６０に出力される。クラスタ生成回路２６０は、２つのサブ画像の比較されたブロックに対して推定されたブロックアフィンパラメータを、ｎ次元空間（ｎは通常６であるが、これより高い値でも、又はこれより低い３の値でもよい）に作図する。また、クラスタ生成回路２６０は、作図されたブロックアフィンパラメータセットのどのクラスタが最も多くの要素を有するかを決定する。次に、ブロックアフィンパラメータセットのこのクラスタは、クラスタ生成回路２６０によってサブ画像アフィンパラメータセット生成回路２５３に出力される。六次元空間を使用できるのは、画像は平面上にあり、そのような平面の全ての可能な変形の定義には、６つのパラメータで十分だからであることを認識されたい。これらの６つのパラメータは、水平及び垂直の平行移動及び任意の回転のサイン及びコサイン値を定義する。本発明に従ったサブ画像の生成にスキャナを用いる場合の全ての可能な変形の記述には、３つのパラメータで十分なので、３つのパラメータだけを用いてもよいことを更に認識されたい。これらの３つのパラメータは、水平及び垂直の平行移動及び任意の回転の角度を定義する。
【００４３】
次に、サブ画像アフィンパラメータセット生成回路２５３は、クラスタ生成回路２６０によって識別されたクラスタを形成しているブロックアフィンパラメータセットを解析し、一方のサブ画像の全てのブロックの画素値に適用されたときに、他方のサブ画像の対応するブロックの対応する画素の画素値に最も近い画素値を生じる、平行移動及び回転のパラメータを定義する、全体的な画像アフィンパラメータセットを決定する。サブ画像アフィンパラメータセット生成回路２５３が、歪曲されるサブ画像に対するこの画像アフィンパラメータのセットを決定したら、これらの画像アフィンパラメータは、アフィンパラメータ修正回路２５４に出力される。
【００４４】
次に、アフィンパラメータ修正回路２５４は、他方のサブ画像、即ち、歪曲されるサブ画像の画像アフィンパラメータの決定に用いられたサブ画像に対する、格納されている画像アフィンパラメータを入力する。次に、アフィンパラメータ修正回路２５４は、他方のサブ画像の画像アフィンパラメータに基づいて、歪曲されるサブ画像に対して決定された画像アフィンパラメータを修正し、それにより、歪曲されるサブ画像は、歪曲されるサブ画像を（もしあれば）ベースサブ画像又は所定の基準位置に位置決めするように歪曲する画像アフィンパラメータを有するようになる。勿論、他方のサブ画像がベース画像である場合は、歪曲されるサブ画像についての画像アフィンパラメータは、実際には修正されないことを認識されたい。
【００４５】
上記に示したように、図４に示されているブロックアフィンパラメータセット推定回路２５２は、より一般的には、用いられる特定の変換用の特定のブロック変換パラメータを生成する、ブロック変換パラメータセット推定回路２５２として説明できることを認識されたい。同様に、図４に示されているサブ画像アフィンパラメータセット生成回路２５３は、より一般的には、ブロック変換パラメータセットから特定のサブ画像変換パラメータを生成する、サブ画像変換パラメータセット生成回路２５３として説明できる。同様に、図４に示されているアフィンパラメータ修正回路２５４は、より一般的には、歪曲されるサブ画像に対して他方のサブ画像の画像変換パラメータに基づいて決定された画像変換パラメータを修正する、変換パラメータ修正回路２５４として説明できる。
【００４６】
図５は、クラスタ生成回路２６０の１つの例示的な実施の形態をより詳細に示している。詳細には、図５に示されるように、クラスタ生成回路２６０は、作図回路２６１、クラスタ中心定義回路２６２、距離決定回路２６３、クラスタ割付回路２６４、クラスタ中心修正回路２６５、及びクラスタ併合回路２６６を含む。クラスタ生成回路２６０が、ブロックアフィンパラメータセット推定回路２５２によって出力された各ブロックアフィンパラメータセットを受け取ると、そのブロックアフィンパラメータセットは、まず、作図回路２６１に入力され、作図回路２６１は、そのブロックアフィンパラメータセットを六次元空間又は可能であれば三次元空間に作図する。作図回路２６１によって作図されたブロックアフィンパラメータセットが、サブ画像の新たな対の最初のブロックアフィンパラメータセットであるとき、クラスタ中心定義回路２６２は、その最初に作図されたブロックアフィンパラメータセットを、六次元空間又は可能であれば三次元空間内の最初のクラスタ中心として定義する。次に、クラスタ中心定義回路２６２は、米国特許第5,784,115号で述べられているように、合計ｋ個のクラスタ中心について、最初のクラスタ中心との相対関係において、更なる（k-1）クラスタ中心を定義する。一般的に、更なる (k-1)クラスタ中心は、作図された最初のクラスタ中心との相対関係において定義され、これにより、初期ｋクラスタ中心が画像全体に概ね均等に配分される。一般的に、これは、次のクラスタ中心が前に定義されたクラスタ中心から距離閾値と等しい距離にあるような距離閾値を用いることによって保証される。これにより、確実に、重複領域から少なくとも１つのクラスタ中心を得る。
【００４７】
或いは、クラスタ中心定義回路２６２は、クラスタ中心を定義する前に、ブロックアフィンパラメータセット推定回路２５２によって出力される全てのブロックアフィンパラメータセットが、作図回路２６１によって作図されるまで、待機してもよいことも認識されたい。この場合は、クラスタ中心定義回路２６２は、最初のクラスタ中心を、作図されたブロックアフィンパラメータセットの任意の１つとして定義する。そして、他のクラスタ中心は、同じ方法で、この選択されたブロックアフィンパラメータセットとの相対関係において決定される。
【００４８】
ブロックアフィンパラメータセット推定回路２５２によって出力された全てのブロックアフィンパラメータセットが、作図回路２６１によって作図され、クラスタ中心定義回路２６２によってクラスタ中心が定義されたら、距離決定回路２６３は、各クラスタ中心と作図された各ブロックアフィンパラメータセットとの間の距離を決定する。次に、クラスタ割付回路２６４は、距離決定回路２６３によって決定された距離に基づいて、作図された各ブロックアフィンパラメータセットをクラスタの１つに割付ける。距離決定回路２６３及びクラスタ割付回路２６４は、或いは、各ブロックアフィンパラメータセットについての距離を決定し、作図回路２６１がクラスタを作図したら、そのクラスタにそのブロックアフィンパラメータセットを割付けてよいことも認識されたい。
【００４９】
一旦、全てのブロックアフィンパラメータセットが作図され、クラスタに割付けられたら、クラスタ中心修正回路２６５は、特定の各クラスタに割付けられた全てのブロックアフィンパラメータセットを調べる。クラスタ中心修正回路２６５は、そのクラスタに割付けられたブロックアフィンパラメータセットに基づいて、そのクラスタのクラスタ中心を修正する。次に、クラスタ併合回路２６６は、任意の２つのクラスタのクラスタ中心が、相互に接近し過ぎているか否かを決定する。そうである場合は、クラスタ併合回路２６６は、２つのクラスタを併合して単独のより大きなクラスタにする。次に、この単独のより大きなクラスタは、そのクラスタ中心が更に修正されるように、再びクラスタ中心修正回路２６５へと出力される。
【００５０】
上記に示したように、図５に示されているクラスタ生成回路２６０は、より一般的には、ブロック変換パラメータセット推定回路２５２によって生成されるブロック変換パラメータセットに基づいて、クラスタを生成することを認識されたい。
【００５１】
作用としては、走査画像位置決めシステム２００がスキャナ１００からサブ画像３１から３６のようなサブ画像を受け取ると、それらはメモリ２３０に格納される。次に、サブ画像ブロック化回路２４０は、図２に示されるように、各サブ画像をブロック化する。一旦、サブ画像がブロック化されて再格納されたら、サブ画像の１つがベースとなるサブ画像として識別される。他のサブ画像は全て、最終的には歪曲されて、このベースとなるサブ画像に位置決めされる。走査画像位置決めシステム２００は、処理を容易にするために、通常は、最初に走査されたサブ画像をベースとなるサブ画像として扱う。しかし、走査画像位置決めシステム２００は、或いは、スキャナ１００から、又は、走査したサブ画像の特定の１つをベースとなるサブ画像として識別する、走査画像位置決めシステム２００のオペレータから、入力を受け取ってもよい。
【００５２】
全てのサブ画像が入力されてブロックに分割され、ベースとなるサブ画像が識別又は選択されたら、ベースとなるサブ画像及び他のサブ画像の１つがアフィンパラメータ生成回路へと出力され、他のサブ画像の画素値をベースとなるサブ画像の画素値に位置決めするように歪曲する画像アフィンパラメータが決定される。詳細には、歪曲されたサブ画像は、処理を容易にするために、走査された順序で相互に比較される。従って、図１に示されている原画像３０については、第１のサブ画像３１がベースのサブ画像になる。次に、ベースとなるサブ画像３１及び第２のサブ画像３２がアフィンパラメータ生成回路２５０へと出力され、第２のサブ画像３２を第１即ちベースのサブ画像３１と位置決めするように歪曲する画像アフィンパラメータが生成される。次に、第３のサブ画像３３がアフィンパラメータ生成回路２５０へと出力され、第３のサブ画像３３を第２のサブ画像３２と位置決めするように歪曲する画像アフィンパラメータが決定される。次に、第４のサブ画像３４がアフィンパラメータ生成回路２５０へと出力され、第４のサブ画像３４を第３のサブ画像３３と位置決めするように歪曲する画像アフィンパラメータが決定される。これは、全てのサブ画像３１から３６が入力されて歪曲されるまで続く。
【００５３】
走査画像位置決めシステム２００の上述の作用から、カレント（現在の）サブ画像を直前のサブ画像に位置決めするように歪曲する適切な画像アフィンパラメータセットを生成できるように、各サブ画像が直前のサブ画像と十分に重複する、特定の順序で、サブ画像が走査されなければならないことは明白である。この走査順序は、例えば、図１５に示されている。
【００５４】
しかしながら、走査画像位置決めシステム２００は、この走査順序に限定されない。むしろ、この走査順序は、ユーザに最大の負担をかけて適切な順序でサブ画像を走査する一方で、アフィンパラメータ生成回路２５０にかかる計算上の負荷を最小にして、走査画像位置決めシステム２００がより速く原画像の合成画像を再構成できるようにするものである。
【００５５】
或いは、原稿を走査する際のユーザへの負担は緩和するが、アフィンパラメータ生成回路２５０にかかる計算上の負荷を増大させる、異なる走査順序を用いてもよい。この第２の走査スキーム（組立て）では、サブ画像は任意の特定の順序で走査されなくてよい。その代わりに、ユーザは、各サブ画像を走査する際に、アフィンパラメータ生成回路２５０が、前に走査したサブ画像のどれを用いて、現在走査されるサブ画像の画像アフィンパラメータセットを生成するべきかを、指示する必要がある。この場合、走査順序は固定されないが、走査画像位置決めシステム２００は、歪曲される特定のサブ画像が、前に走査した他のサブ画像のどれに位置決めされるように、歪曲されるべきであるかを、明示的に知る必要がある。そのような走査順序の１つが、例えば図１６に示されている。
【００５６】
更に、第３の走査順序を用いることもできよう。この第３の走査スキームは、ユーザにかかる負担は最大限に低減するが、アフィンパラメータ生成回路２５０にかかる計算上の負荷は最大限に増大させる。この第３の走査スキームでは、図１７に示されるように、サブ画像を任意の特定の順序で走査しなくてよい。詳細には、サブ画像は、図１５及び図１６に示される走査順序のように、任意の後続のサブ画像が前に走査したサブ画像の少なくとも１つと重複する必要があるようには、走査されなくてよい。むしろ、図１７に示されるように、走査された全てのサブ画像は最終的には１つ以上の他の走査されたサブ画像と相互に重複しなければならないが、続けて走査されたサブ画像がその前に走査されたサブ画像と重複する必要はない。
【００５７】
この第３の走査スキームでは、アフィンパラメータ生成回路２５０は、選択されたサブ画像と、重複する各サブ画像との間の十分な画像アフィンパラメータセットを生成できるように、全ての未歪曲のサブ画像を、前に歪曲済のサブ画像のうちの任意の特定の選択されたサブ画像又はベースとなるサブ画像と比較して、どのサブ画像（単数又は複数）が、選択されたベースのサブ画像又は前に歪曲済のサブ画像と十分に重複しているかを、決定する必要があろう。実際には、これには、各歪曲済サブ画像又はベースとなるサブ画像を選択したら、それを比較して、各未歪曲サブ画像のサブ画像アフィンパラメータセットを生成する必要がある。次に、生成したサブ画像アフィンパラメータセットを検討し、どのサブ画像アフィンパラメータセットが、実際に、対応する未歪曲サブ画像と選択された歪曲済サブ画像又はベースのサブ画像との重複を反映しているかを、決定しなければならない。
【００５８】
比較されるサブ画像の選択方法、及び比較されるサブ画像の数に関わらず、ブロック比較回路２５１は、一方のサブ画像の各ブロックを、他方のサブ画像内の対応する位置にあるブロックと比較する。従って、図２のサブ画像３１及び３２を参照すると、第１サブ画像３１のＡ１ブロックは、第２サブ画像３２のＢ１ブロックと比較される。同様に、第１サブ画像３１のＡ２からＡ６４のブロックは、個々に、第２サブ画像３２のＢ２からＢ６４のブロックと比較される。１つのサブ画像のブロックを次のサブ画像のブロックと比較するためのこの方法は、平行移動量が小さいときにだけ、適正なブロックアフィンパラメータを生成することを認識されたい。平行移動量が大き過ぎる場合は、ブロックを比較するための以下の代替の方法のうちの１つを用いるべきである。
【００５９】
この第１の代替の方法では、ブロック比較回路２５１、ブロックアフィンパラメータセット推定回路２５２、及びクラスタ生成回路２６０にかかる計算上の負荷を増大させはするが、Ａ１からＡ６４までの各ブロックを、Ｂ１からＢ６４までの各ブロックと比較することが可能である。従って、Ａ１からＡ６４までの各ブロックに対して、64組の画素ごとの比較値が存在する。その結果、Ａ１からＡ６４のブロックの各々に対して、64セットのブロックアフィンパラメータが生成される。これは、比較操作回数及びブロックアフィンパラメータセット推定操作回数を二乗する一方で、サブ画像アフィンパラメータ生成の精度を、操作回数の増加に比例するほどではないが、大いに向上させる。従って、必要な精度及び使用可能な計算リソースに応じて、これらの比較スキームのいずれか１つを用いることができることを認識されたい。
【００６０】
第２の代替の方法では、第１の代替の方法の大きな平行移動を扱う能力と、第１の方法のブロック比較回路２５１、ブロックアフィンパラメータセット推定回路２５２、及びクラスタ生成回路２６０にかかる計算上の負荷を最小にする能力とを組み合わせ、Ａ１からＡ６４のブロックの、小さな選択されたサブセットだけを、Ｂ１からＢ６４のブロックと比較することが可能である。Ａ１からＡ６４のブロックの選択されたサブセットは、概して、サブ画像の境界に存在するブロックである。従って、ブロックの選択されたサブセットは、重複するブロックの幾つかを確実に含む。
【００６１】
選択されたサブセットの各ブロックに対して、64組の画素ごとの比較値が存在する。その結果、選択されたサブセットの各ブロックに対して、64セットのブロックアフィンパラメータが生成されることになる。これらのブロックアフィンパラメータセットはクラスタ化され、Ｂ１からＢ６４のブロックのどれが、選択されたサブセットの各ブロックと最もよく整合するかが識別される。これにより、少数の選択されたサブセットのブロックと整合すると識別された、Ｂ１からＢ６４のブロックの各ブロックに基づいて、Ａ１からＡ６４のブロックとＢ１からＢ６４のブロックとの１対１の比較が、より適切にできるようになる。
【００６２】
図３から図５に示されている各回路は、適切にプログラムされた汎用コンピュータの一部として実現できることを認識されたい。或いは、図３から図５に示されている各回路は、ＡＳＩＣ内の物理的に別々のハードウェア回路として、又は、ＦＰＧＡ、ＰＤＬ、ＰＬＡ、若しくはＰＡＬを用いて、又は、ディスクリート論理素子又はディスクリート回路素子を用いて実現できる。図３から図５に示されている各回路がとる特定の形態は、設計上の選択事項であり、当業者には明白であるとともに予測可能なものである。
【００６３】
図２３は、本発明に従った走査画像位置決めシステム４００の第２の例示的な実施の形態を示す。図２３に示されるように、走査画像位置決めシステム４００は、スキャナ１００からリンク１１０を介して画像信号を受け取るバッファ４１０を含む。バッファ４１０は、画像信号をサブ画像に変換し、２つまでの連続するサブ画像を格納する。つまり、バッファ４１０は、処理のために、２つのサブ画像だけを記憶に留める。詳細には、この走査画像位置決めシステム４００では、スキャナ１００から受け取られてバッファ４１０に格納された最初のサブ画像が、他の全てのサブ画像が歪曲されて位置決めされる、ベースとなる画像として用いられる。
【００６４】
これらの２つのサブ画像の解析が完了すると、バッファ４１０は、古い方のサブ画像を削除し、スキャナ１００から又は暫定メモリから次のサブ画像を入力する。バッファ４１０は、格納している２つのサブ画像を、推定ユニット４２０に送信する。
【００６５】
図７及び図９、並びに図８又は図１０のいずれかに関して後述するように、推定ユニット４３０は、バッファ４１０に格納されている２つのサブ画像の画像アフィンパラメータセットを推定する。推定ユニット４２０によって画像アフィンパラメータセットが推定されたら、その画像アフィンパラメータセットは加算ユニット４３０及び歪曲装置４４０に転送される。同時に、格納されている２つのサブ画像は、バッファ４１０から信号ライン４１２を介して歪曲装置に転送される。
【００６６】
加算ユニット４３０は、推定ユニット４２０によって出力された画像アフィンパラメータセットを、その画像アフィンパラメータセットのランニングサム(running sum)に加える。推定ユニットによってサブ画像の最初の対が解析される前に、ランニングサムは０にリセットされる。従って、サブ画像の最初の対に対する加算ユニットの出力は、推定ユニット４２０によって出力される画像アフィンパラメータセットと同じである。
【００６７】
歪曲装置４４０は、バッファユニット４１０が格納している２つのサブ画像のうちの最新のサブ画像とベースとなるサブ画像との間の、グローバル変形を補償する。詳細には、歪曲装置４４０は、加算ユニット４３０によって出力された画像アフィンパラメータセットのランニングサムを用いて、バッファユニット４１０が格納している２つのサブ画像のうちの最新のサブ画像を“歪曲”する。
【００６８】
歪曲済のサブ画像は、ベースとなるサブ画像とともに、歪曲済サブ画像及びベースサブ画像バッファーユニット４５０に格納される。一旦、歪曲装置４４０によって、原稿の、ベースとなるサブ画像以外の全てのサブ画像が歪曲されたら、ベースとなるサブ画像を含む全てのサブ画像が、歪曲済サブ画像及びベースサブ画像バッファーユニット４５０から平均フィルタ４６０へと出力される。平均フィルタ４６０は、歪曲済サブ画像及びベースサブ画像バッファーユニット４５０から受け取ったサブ画像を、後述する式１０で概要を示されるように結合し、合成画像を形成する。次に、平均フィルタ４６０によって、合成画像が再びバッファ４１０へと出力され、これにより、リンク３１０を介して画像データシンク３００へと合成画像を出力できる。
【００６９】
上述したように、図２３に示されている特定の要素は、より一般的には、変換パラメータの生成及び処理に用いることができることを認識されたい。
【００７０】
図２３に示されている各要素は、適切にプログラムされた汎用コンピュータの一部として実現できることを認識されたい。或いは、図２３に示されている各要素は、ＡＳＩＣ内の物理的に別個のハードウェア回路として、又はＦＰＧＡ、ＰＤＬ、ＰＬＡ、若しくはＰＡＬを用いて、又はディスクリート論理素子又はディスクリート回路素子を用いて実現できる。図２３に示されている各要素がとる特定の形態は設計上の選択事項であり、当業者には明白であるとともに予測できるものである。
【００７１】
図６は、本発明に従った、複数の走査したサブ画像から合成画像を構成する方法の、１つの例示的な実施の形態の概要を示すフロー図である。制御はステップＳ１０００で開始し、ステップＳ２０００へと続き、そこで、スキャナから、原稿のＮ個のサブ画像が取得される。次に、ステップＳ３０００では、Ｎ個のサブ画像の各々が、Ｍ個のブロックに分割される。次に、ステップＳ４０００では、上記に概要を述べたように、Ｎ個のサブ画像のうちの１つがベースとなるサブ画像として選択される。次に、制御はステップＳ５０００へと続く。
【００７２】
ステップＳ５０００では、他の各サブ画像に対して、１セットの画像アフィンパラメータが、ベースとなるサブ画像との相対関係において決定される。次に、他のサブ画像の各々は、そのサブ画像に対してベースとなるサブ画像との相対関係において決定された画像アフィンパラメータセットに基づいて、歪曲される。次に、ステップＳ６０００では、ベースとなるサブ画像及びN-1歪曲済サブ画像が結合され、走査した文書の合成画像が形成又は再構成される。次に、ステップＳ７０００では、ステップＳ６０００で形成された再構成済の走査した合成画像が格納及び/又は出力される。次に、制御はステップＳ８０００へと続き、そこでこの方法は停止する。
【００７３】
上述したように、図７のステップＳ５０００、及び後述する図７から図１４のステップＳ５０００の特定のサブステップは、より一般的には、サブ画像に対する変換パラメータを生成し、その変換パラメータに基づいてサブ画像を歪曲するために用いることができることを認識されたい。
【００７４】
図７は、図６の画像アフィンパラメータ決定ステップＳ５０００の１つの例示的な実施の形態の概要をより詳細に示すフロー図である。この例示的な実施の形態では、制御はステップＳ５０００で開始し、ステップＳ５０２０へと続き、そこで、ステップＳ４０００で選択されたベースとなるサブ画像が、カレント画像に設定される。次に、ステップＳ５０４０では、走査順序において次のサブ画像が、ネクスト（次の）画像として選択される。次に、ステップＳ５０６０では、ネクスト画像の各ブロックに対する１つ以上のブロックアフィンパラメータセットが、カレント画像のブロックとの相対関係において決定される。次に、制御はステップＳ５０８０へと続く。
【００７５】
ステップＳ５０８０では、ステップＳ５０６０で決定されたブロックアフィンパラメータセットがクラスタ化される。次に、ステップＳ５１００では、ステップＳ５０８０で形成されたクラスタから、ネクスト画像に対する１セットの画像アフィンパラメータが決定される。次に、ステップＳ５１２０では、ネクスト画像に対して決定された画像アフィンパラメータが、画像アフィンパラメータのランニングサムに加算される。画像アフィンパラメータのランニングサムは、まず、ベース画像に位置決めされるようにベース画像を歪曲するための画像アフィンパラメータが全て０であることを示す、０に設定される。次に、第２のサブ画像がベース画像との相対関係において決定される際に、第２サブ画像の画像アフィンパラメータセットがランニングサムに加算される。従って、第３のサブ画像の画像アフィンパラメータセットが第２サブ画像との相対関係において決定される際には、第３サブ画像を第１即ちベースとなるサブ画像に位置決めするように完全に歪曲するために、これらの（第２サブ画像及び第３サブ画像の）画像アフィンパラメータがランニングサムに加算される。次に、制御はステップＳ５１４０へと続く。
【００７６】
ステップＳ５１４０では、ステップＳ５１２０で更新された画像アフィンパラメータの更新されたランニングサムに基づいて、ネクスト画像が歪曲される。次に、ステップＳ５１６０では、画像アフィンパラメータの更新されたランニングサム及び歪曲済のネクスト画像が格納される。詳細には、歪曲済ネクスト画像は選択されたネクスト画像の歪曲済バージョンとして格納される。次に、ステップＳ５１８０では、サブ画像がチェックされ、ベースとなるサブ画像以外の全てのサブ画像が歪曲されたか否かが決定される。そうである場合は、制御はステップＳ５２２０にジャンプする。そうでない場合は、制御はステップＳ５２００へと続く。
【００７７】
ステップＳ５２００では、ネクスト画像として選択されていた、前に選択された次のサブ画像が、カレント画像になる。次に、制御はステップＳ５０４０に戻り、その次のサブ画像をネクスト画像として選択する。一方、ステップＳ５２２０では、制御はステップＳ６０００に戻る。
【００７８】
図８は、図７のブロックアフィンパラメータセット決定ステップＳ５０６０の１つの例示的な実施の形態の概要を示すフロー図である。制御はステップＳ５０６１で開始し、ステップＳ５０６２へと続き、そこで、ネクスト画像の各ブロックが、カレント画像の対応する１つのブロックと比較される。詳細には、カレント画像の対応するブロックは、カレント画像内で、ネクスト画像内の対応するブロックと同じ相対ロケーションにあるブロックである。次に、ステップＳ５０６３では、Ｍ個のブロックのうちの１つに対する比較に基づき、ネクスト画像のそのブロックに対して１セットのブロックアフィンパラメータが推定される。次に、ステップＳ５０６４で、制御は、図７のステップＳ５０６０に続くステップである、ステップＳ５０８０に戻る。
【００７９】
図９は、図７のブロックアフィンパラメータクラスタ化ステップＳ５０８０の１つの例示的な実施の形態の概要を示すフロー図である。制御は、ステップＳ５０８７で開始し、ステップＳ５０８２へと続き、そこで、ブロックアフィンパラメータセットのうちの１つがカレントブロックアフィンパラメータセットとして選択される。次に、ステップＳ５０８３では、選択されたブロックアフィンパラメータセットのブロックアフィンパラメータが、第１のクラスタ中心として、三次元空間又は六次元空間に作図される。次に、ステップＳ５０８４では、更なる(k-1)クラスタ中心が、作図された第1クラスタ中心との相対関係において定義され、これにより、最初のｋクラスタ中心が画像全体に概ね均等に分散される。一般的に、これは、前に定義されたクラスタ中心から次のクラスタ中心までの距離が距離閾値と等しくなるような距離閾値を用いることによって保証される。これにより、確実に、重複領域から少なくとも１つのクラスタ中心を得る。次に、制御はステップＳ５０８５へと続く。
【００８０】
ステップＳ５０８５では、ブロックアフィンパラメータセットの次の１セットが、カレントセットとして選択される。次に、ステップＳ５０８６では、カレントセットのブロックアフィンパラメータが、三次元空間又は六次元空間に作図され、作図されたブロックアフィンパラメータのカレントセットに最も近いクラスタ中心が決定される。次に、ステップＳ５０８７では、ブロックアフィンパラメータのカレントセットが、ステップＳ５０８６で決定された最も近いクラスタ中心のクラスタに割付けられる。次に、制御はステップＳ５０８８へと続く。
【００８１】
ステップＳ５０８８では、ブロックアフィンパラメータセットがチェックされ、まだ割付けられていないブロックアフィンパラメータセットが残っているか否かが決定される。そうである場合は、制御はステップＳ５０８５にジャンプして戻る。そうでない場合は、制御はステップＳ５０８９へと続く。
【００８２】
ステップＳ５０８９では、クラスタが再度中心を定義される。次に、ステップＳ５０９０では、クラスタ中心間の距離が閾値の距離内であるクラスタが併合される。次に、ステップＳ５０９１では、ステップＳ５０８９でのように、併合されたクラスタが再度中心を定義される。次に、制御はステップＳ５０９２へと続き、そこから、図７のステップＳ５０８０に続くステップであるステップＳ５１００へと戻る。
【００８３】
図７から図９のステップＳ５０６０及びステップＳ５０８０の上記の概要説明は、任意のブロックアフィンパラメータセットが図９で概要を示す方法に従って作図される前に、ネクスト画像のＭ個のブロックの各々に対する全てのブロックアフィンパラメータセットが決定されることを前提とすることを認識されたい。しかしながら、一方では、ステップＳ５０６０及びステップＳ５０８０の方法が断続的に関連しあって、ステップＳ５０６２及びステップＳ５０６３に従ってＭ個のブロックの特定の１ブロックに対する各ブロックアフィンパラメータセットを決定した後、そのブロックに対して決定されたブロックアフィンパラメータセットがステップＳ５０８３又はステップＳ５０８６で直ちに作図され、次に、個々に、第1のクラスタ中心として定義されるか、又は特定の定義済クラスタに割付けられてもよいことを認識されたい。
【００８４】
上記に概説した、本発明に従った例示的な画像再構成方法は、上述の、計算上の要求が最小となる走査順序に対応している。詳細には、上記に概説した本発明に従った画像再構成方法の例示的な実施の形態は、一方の画像の各ブロックを、他方のサブ画像の対応する単独のブロックと比較する、単純なブロックアフィンパラメータ決定ステップを用いる。より正確なブロックアフィンパラメータセットのグループを与えるために、図８に示されている単純なブロックアフィンパラメータ決定方法を、図１０に示されている、より複雑なブロックアフィンパラメータ決定方法と置き換えることができる。
【００８５】
従って、図１０に示されるように、ブロックアフィンパラメータセット決定ステップＳ５０６０を行う際には、制御は、ステップＳ５０６１へと続く代わりにステップＳ５０６５へと続いてもよい。制御はステップＳ５０６５からステップＳ５０６６へと続き、そこで、カレント画像ブロックカウンターＭ及びネクストサブ画像ブロックカウンターＬが、１に設定される。次に、ステップＳ５０６７で、カレント画像の“ｍ番目(ｍth）”のブロックが選択される。次に、ステップＳ５０６８で、ネクスト画像の“ｌ番目(ｌth)”のブロックが選択される。次に、制御はステップＳ５０６９へと続く。
【００８６】
ステップＳ５０６９では、ｍthブロックがｌthブロックと比較される。次に、ステップＳ５０７０では、ｌthブロックとｍthブロックとの比較に基づいて、ｌthブロックのブロックアフィンパラメータセットが推定される。次に、ステップＳ５０７１では、ｌthブロックがチェックされ、それがネクスト画像の最後のブロックであるか否かが決定される。否の場合は、制御はステップＳ５０７２へと続く。最後のブロックである場合は、制御はステップＳ５０７３にジャンプする。ステップＳ５０７２では、“ｌ”の値が増分値１で増分され、制御はステップＳ５０６８に戻る。
【００８７】
一方、ステップＳ５０７３では、ｍthブロックがチェックされ、それがカレント画像の最後のブロックであるか否かが決定される。否の場合は、制御はステップＳ５０７４へと続く。最後のブロックである場合は、制御はステップＳ５０７５にジャンプする。ステップＳ５０７４では、“ｍ”の値が増分値１で増分され、制御はステップＳ５０６７に戻る。一方、ステップＳ５０７５では、制御は、図７のステップＳ５０６０に続くステップであるステップＳ５０８０に戻る。
【００８８】
図７から図９のステップＳ５０６０及びステップＳ５０８０に関して上述したように、図９及び図１０に関して上記に概説したステップも、それらを組み合わせることにより、ネクスト画像の各ブロックがカレント画像のブロックの１つと比較され、得られたブロックアフィンパラメータセットが直ちに作図されて、クラスタ中心を定義するために用いられるか又は定義済クラスタに直ちに割付けられるようにすることができる。
【００８９】
より計算効率の良い方法で、より正確なブロックアフィンパラメータセットのグループを与えるために、図８に示されている単純なブロックアフィンパラメータ決定方法を、上述した第２の代替の方法と置き換えることができる。この方法では、カレントサブ画像のブロックの小さなサブセットが選択される。次に、選択されたサブセットの最初のブロックが選択される。次に、選択されたブロックと比較された、ネクストサブ画像のブロック数をカウントするために、カウンターがリセットされる。
【００９０】
次に、ネクストサブ画像の最初のブロックが選択される。次に、カレントサブ画像の選択されたブロックが、ネクストサブ画像の選択されたブロックと比較される。次に、ネクストサブ画像の選択されたブロックとカレントサブ画像の選択されたブロックとの比較に基づいて、カレントサブ画像の選択されたブロックのブロックアフィンパラメータセットが推定される。
【００９１】
次に、カウンターがチェックされ、ネクストサブ画像の全てのブロックがカレントサブ画像の選択されたブロックと比較されたか否かが決定される。否の場合は、ネクストサブ画像の次のブロックが選択され、比較及び推定ステップが繰返される。そうである場合は、カレントサブ画像のブロックの選択されたサブセットがチェックされ、そのサブセットの全てのブロックが選択されたか否かが決定される。否の場合は、そのサブセットの次のブロックが選択され、リセット、選択、比較、及び推定ステップが繰返される。
【００９２】
そうである場合は、推定されたブロックアフィンパラメータに基づいて、オフセット値が決定される。オフセット値は、カレントサブ画像とネクストサブ画像との間の平行移動量の概算を表し、カレントサブ画像のブロックとネクストサブ画像のブロックとをどのように比較して、画像アフィンパラメータを決定すべきかを示す。次に、そのオフセット値に基づいて、図８のフロー図のステップＳ５０６２からステップＳ５０６４が実行される。
【００９３】
図９及び図１０に関して上述したように、上記に概説したステップも、それらを図９のステップと組み合わせることにより、ネクスト画像の各ブロックがカレント画像のブロックの１つと比較され、得られたブロックアフィンパラメータセットが直ちに作図されて、クラスタ中心を定義するために用いられるか又は定義済クラスタの１つに直ちに割付けられるようにすることができる。
【００９４】
図１１及び図１２は、図６の画像アフィンパラメータ決定ステップＳ５０００の第２の例示的な実施の形態の概要をより詳細に示すフロー図である。上記に示したように、この画像アフィンパラメータ決定ステップＳ５０００の第２の例示的な実施の形態は、ユーザが、ベースとなるサブ画像を明示的に識別するとともに、どのサブ画像が他のどのサブ画像と重複するかを明示的に識別するときに、用いることができる。
【００９５】
図１１及び図１２に示されるように、制御はステップＳ５０００で開始し、ステップＳ５３００へと続き、そこで、識別されたベースとなるサブ画像がカレント画像として選択される。次に、ステップＳ５３２０では、カレント画像と重複するものとしてマーク又は識別されたサブ画像そのものが識別される。次に、ステップＳ５３４０では、識別されたサブ画像がチェックされ、カレント画像と重複する少なくとも１つの未歪曲のサブ画像が残っていることが確認される。カレント画像と重複するものとしてマークされたそのようなサブ画像がある場合は、制御はステップＳ５３６０へと続く。そうでない場合は、制御はステップS５５４０にジャンプする。
【００９６】
ステップＳ５３６０では、カレント画像と重複する、識別されたサブ画像の１つが、ネクスト画像として選択される。次に、ステップＳ５３８０では、カレント画像と相対関係にあるネクスト画像のブロックのブロックアフィンパラメータセットが決定される。ステップＳ５３８０では、図８及び図１０に関して上記に概説したブロックアフィンパラメータセット決定方法のいずれかを用いることができることを認識されたい。上述したように、使用可能な計算リソース、所望の精度、及び/又は処理を実行するための所望の時間に基づいて、図８及び図１０に示されているブロックアフィンパラメータセット決定方法の様々な実施の形態が選択される。次に、制御はステップＳ５４００へと続く。
【００９７】
ステップＳ５４００では、ステップＳ５３８０で決定されたブロックアフィンパラメータセット（複数）がクラスタ化される。次に、ステップＳ５４２０では、ステップＳ５４００で実行されたクラスタ化に基づいて、カレント画像と相対関係にあるネクスト画像の画像アフィンパラメータセットが決定される。次に、ステップＳ５４４０では、カレント画像の画像アフィンパラメータセットが、ステップＳ５４２０で決定された、ネクスト画像の決定された画像アフィンパラメータセットと連結される。つまり、ステップＳ５４４０では、カレント画像をベース画像に位置決めするように歪曲するカレント画像の画像アフィンパラメータが、ネクスト画像の画像アフィンパラメータと連結される。ステップＳ５４２０で決定された、ネクスト画像の画像アフィンパラメータのカレントセットは、単に、その画像を、必ずしもベース画像ではないカレント画像に位置決めするように歪曲する。カレント画像の画像アフィンパラメータセットを、カレント画像と相対関係にあるネクスト画像の画像アフィンパラメータと連結することにより、ネクスト画像をベース画像に位置決めするように歪曲することができる。次に、制御はステップＳ５４６０へと続く。
【００９８】
画像アフィンパラメータが平行移動及び角度を表す場合は、カレント画像の画像アフィンパラメータとネクスト画像の画像アフィンパラメータとは、平行移動画像アフィンパラメータを合計するとともに角度画像アフィンパラメータを合計することにより連結される。しかし、画像アフィンパラメータが、角度そのものではなく、角度のサイン値及びコサイン値を表す場合は、サイン値及びコサイン値を直接合計することはできない。
【００９９】
ステップＳ５４６０では、ステップＳ５４４０で修正された、修正済画像アフィンパラメータに基づいて、ネクスト画像がベース画像に位置決めされるように歪曲される。次に、ステップＳ５４８０では、歪曲されたネクスト画像は、選択中のネクストサブ画像の歪曲済バージョンとして格納される。次に、ステップＳ５５００では、選択中のネクストサブ画像の修正済画像アフィンパラメータが格納され、これにより、この選択中のネクスト画像に重複するものとして識別された、任意の未歪曲のサブ画像そのものを、ステップＳ５４４０及びステップＳ５４６０で、ベースサブ画像に位置決めするように歪曲することができる。次に、制御はステップＳ５５２０へと続く。
【０１００】
ステップＳ５５２０では、カレント画像と重複する、識別されたサブ画像のセットがチェックされ、そのような識別されたサブ画像が全て歪曲されたか否かが決定される。そうである場合は、制御はステップＳ５５４０へと続く。そうでない場合、即ち、未歪曲の識別されたサブ画像が残っている場合は、制御はステップＳ５３６０にジャンプして戻る。
【０１０１】
ステップＳ５５４０では、ベースとならないサブ画像が全てチェックされ、それら全てがベースとなるサブ画像に位置決めされるように歪曲されたか否かが決定される。そうである場合は、制御はステップＳ５５８０にジャンプする。そうでない場合、即ち、未歪曲のベースとならないサブ画像が残っている場合は、制御はサブ画像５５６０へと続く。
【０１０２】
ステップＳ５５６０では、歪曲済のサブ画像のうち前に選択されなかったサブ画像がカレント画像として選択される。次に、制御はステップＳ５３２０にジャンプして戻る。一方、ステップＳ５５８０では、制御はステップＳ６０００に戻される。
【０１０３】
図１３及び図１４は、ブロックアフィンパラメータセット決定ステップＳ５０００の第３の例示的な実施の形態の概要をより詳細に示す。この、ブロックアフィンパラメータセット決定ステップＳ５０００の第３の例示的な実施の形態は、ユーザがサブ画像を任意の特定の順序で走査しておらず、ベースとなるサブ画像、又はベースとなるサブ画像若しくは他のサブ画像と重複するベースとならないサブ画像を、別の方法で識別していないときに、用いることができる。この第３の例示的な実施の形態では、概して、最初に走査されたサブ画像が、自動的にベースとなるサブ画像として扱われるが、ベースとなるサブ画像は、走査されたサブ画像の任意の１つであってよい。
【０１０４】
従って、図１３及び図１４に示されるように、この、ブロックアフィンパラメータセット決定ステップの第３の例示的な実施の形態は、ステップＳ５０００で開始し、ステップＳ５６００へと続く。ステップＳ５６００では、ベースとなるサブ画像がカレント画像として選択される。次に、ステップＳ５６２０では、次の未歪曲のサブ画像がネクスト画像として選択される。次に、ステップＳ５６４０では、ネクスト画像のブロック（複数）のブロックアフィンパラメータセット（複数）がカレント画像との相対関係において決定される。図１１及び図１２に関して上述したように、ステップＳ５６４０では、図８及び図１０で概要を示したブロックアフィンパラメータ決定ステップＳ５０６０の例示的な実施の形態のいずれか一方を用いることができる。次に、制御はステップＳ５６６０へと続く。
【０１０５】
ステップＳ５６６０では、図９に示されているステップＳ５０８０に従って、ブロックアフィンパラメータセット（複数）がクラスタ化される。ステップＳ５０６０及びステップＳ５０８０、並びに図７乃至図９に関して上述したように、図９及び図１０に関して上記に概説したステップも、それらを組み合わせることにより、ネクスト画像の各ブロックがカレント画像のブロックの１つと比較され、得られたブロックアフィンパラメータセットが直ちに作図されて、クラスタ中心を定義するために用いられるか、又は定義済クラスタに直ちに割付けられるようにすることができる。次に、ステップＳ５６８０では、ステップＳ５６６０で実行されたクラスタ化から、カレント画像と相対関係にあるネクスト画像の１セットの画像アフィンパラメータが決定される。次に、制御はステップＳ５７７０へと続く。
【０１０６】
ステップＳ５７００では、サブ画像がチェックされ、カレント画像との相対関係において画像アウトラインパラメータセットを決定する必要がある、まだ未選択及び未歪曲のサブ画像があるか否かが決定される。そうである場合は、制御はステップＳ５６２０にジャンプして戻る。そうでない場合、即ち未歪曲サブ画像が全て選択されている場合は、制御はステップＳ５７２０へと続く。
【０１０７】
ステップＳ５７２０では、カレント画像と相対関係にある、全ての未歪曲サブ画像の画像アフィンパラメータセットがチェックされ、画像アフィンパラメータセットの少なくとも１つのセットが、カレント画像と実際に重複する対応する未歪曲サブ画像を示しているか否かが決定される。概して、良好な画像アフィンパラメータセットは、その画像アフィンパラメータセットに対応するクラスタが、閾値を超える要素を数多く含んでいるときに生じる。その閾値が示すのは、そのクラスタが生じた理由は、恐らくそれが、対応する未歪曲サブ画像とカレント画像との両方に出現するブロックを表すからであろう、ということである。そのようなセットが存在しない場合は、制御はステップＳ５８２０にジャンプする。存在する場合は、制御はステップＳ５７４０へと続く。
【０１０８】
ステップＳ５７４０では、ステップＳ５７２０で決定された、全ての未歪曲サブ画像の画像アフィンパラメータセットがチェックされ、そのような未歪曲サブ画像のどれが、カレント画像の所定距離内の画像アフィンパラメータを有しているかが決定される。つまり、未歪曲サブ画像がチェックされ、どのサブ画像が実際にカレント画像と重複しているかが識別される。次に、ステップＳ５７６０では、そのような識別されたサブ画像の各々について、カレント画像の画像アフィンパラメータがその識別されたサブ画像の画像アフィンパラメータに加算される。次に、ステップＳ５７８０では、ステップＳ５７４０で識別された、識別済の各サブ画像が、ステップＳ５７６０で修正された、対応するそれぞれの画像アフィンパラメータ基づいて、ベースとなるサブ画像に位置決めされるように歪曲される。次に、制御はステップＳ５８００へと続く。
【０１０９】
ステップＳ５８００では、識別されたサブ画像に対する歪曲済のサブ画像及びそれに対応する修正済の画像アフィンパラメータが格納される。次に、ステップＳ５８２０では、ベースとならないサブ画像がチェックされ、ベースとならないサブ画像が全てベースとなるサブ画像に位置決めされるように歪曲されたか否かが決定される。そうである場合は、制御はステップＳ５８６０にジャンプする。そうでない場合は、制御はステップＳ５８４０へと続く。
【０１１０】
ステップＳ５８４０では、前に選択されなかった歪曲済サブ画像の１つが、カレント画像として選択される。次に、制御はステップＳ５６２０に戻る。一方、ステップＳ５８６０では、制御はステップＳ６０００に戻る。
【０１１１】
米国特許第5,784,115号の図１２から図１４に関して上述したように、ステップＳ５０６２又はステップＳ５０６７で比較されるカレント画像内の１ブロックとネクスト画像内の１ブロックの任意の対について、これらのブロックが比較され、１セットのアフィンパラメータが生成される。詳細には、走査したサブ画像を位置決めして合成走査画像を形成するためのシステム及び方法に関して、２つの重複するサブ画像間の平行移動オフセット及び回転オフセットの両方を含む空間的オフセットは、次式に示される、１セットの画像アフィンパラメータ推定値ＡＡiを生成することによって決定される。
【数１】
0004204733.tif 000002
【０１１２】
画像アフィンパラメータ推定値の各セットＡＡiは、公知のオプティカルフロー解析及びブラック(Black)で述べられているアフィンパラメータ化技術を用いて決定される。詳細には、２つの重複するサブ画像間に回転又は平行移動のいずれか又は両方を含むアフィン変形が生じている場合には、その空間変換は、次式で得ることができる。
【数２】
0004204733.tif 000003
【０１１３】
式中、
ａ0、ａ1、ａ2、ａ3、ａ4、及びａ5はアフィンパラメータであり、
(ｘ,ｙ)はサブ画素のうちのカレントサブ画像内の対応する画素の座標であり、(ｘ',ｙ')はネクストサブ画像内、即ちカレントサブ画像に位置決めされるように歪曲されるサブ画像内の対応する画素の座標である。
【０１１４】
１つのサブ画像と、第1のサブ画像に重複する第２のサブ画像との間に、平行移動変形だけが生じている場合は、係数“ａ0”は１になり、 係数“ａ1”は０になることを認識されたい。同様に、この場合、係数“ａ3”は０になり、係数“ａ4”は１になる。係数“ａ2”及び係数“ａ5”は、２つのサブ画像間の水平オフセット及び垂直オフセットを与える。２つのサブ画像間に回転変形が生じている場合は、係数“ａ0”、“ａ1”、“ａ3”、及び“ａ4”は、回転角度のサイン値及びコサイン値を与える。
【０１１５】
詳細には、画像アフィンパラメータセットＡＡiの画像アフィンパラメータは、最小二乗法推定技術を用いて推定される。次に、画像アフィンパラメータ推定値ａ0、ａ2、ａ3、ａ4、及びａ5を用いてネクストサブ画像を歪曲することにより、ネクストサブ画像をカレントサブ画像に位置決めするように配置できる。詳細には、ネクストサブ画像の歪曲済バージョンを得るために、ネクストサブ画像内の各画素が、決定された推定画像アフィンパラメータセットＡＡiを用いて歪曲される。
【０１１６】
Ｉor(i,j)が歪曲前のネクストサブ画素内の画素(i,j)の画像値であるとき、ネクストサブ画像の歪曲済バージョンとネクストサブ画像のオリジナルバージョンとの関係は、次式のようになる。
【数３】
0004204733.tif 000004
【０１１７】
式中、Iw[a0i+a1j+a2,a3i+a4j+a5]は、ネクストサブ画像の歪曲済バージョンの画像値である。
【０１１８】
標準的な明るさの恒常性を仮定すると、カレントサブ画像kとネクストサブ画像(k+1)と間の画像アフィン変形に伴う誤差は、次式のようになる。
【数４】
0004204733.tif 000005
【０１１９】
式中、
Ikはカレント画像の画像明度を表し、
Ik+1はネクストサブ画像の画像明度を表し、
Nは、原稿の合成画像を構成するために結合されなければならないサブ画像の数であり、
kはどのサブ画像が比較されているかを示す索引であり、
a(k+1,k)は、kthサブ画像と相対関係にある(k+1)thサブ画像と関連する推定画像アフィンパラメータであり、
E(a k+1,k)は、カレントサブ画像とネクストサブ画像との間のアフィン変形に伴う誤差である。
カレントサブ画像とネクストサブ画像との間のアフィン変形と関連する誤差E(a k+1,k)を決定する際、カレント画像の画像明度Ikとネクストサブ画像の画像明度Ik+1との差の二乗が合計されることを認識されたい。
【０１２０】
式５（数４）では、変形が画像全体にわたって一定であると仮定している。しかし、この仮定は、サブ画像間に大きな変形が生じている場合、即ち、サブ画像が少量しか重複していない場合には無効である。従って、各サブ画像は、重複しないブロックに分割される。次に、誤差E(a k+1,k)を最小化することにより、各ブロックのブロックアフィンパラメータが推定される。次に、各ブロックの推定されたブロックアフィンパラメータセットがクラスタ化され、カレントサブ画像との相対関係におけるネクストサブ画像の全体的な変形が定義される。
【０１２１】
詳細には、上述したように、各サブ画像が複数のブロックに分割される。１つの例示的な実施の形態では、各サブ画像は８×８画素ブロックに分割される。次に、これらの画素ブロックの各々は、別のサブ画像内の画素ブロックのうちの、空間ロケーションに基づいて対応している１つの画素ブロックと比較されるか、又は、図８及び図１０に関して上述したように、一方のサブ画像の各ブロックが他方のサブ画像の全てのブロックと個々に比較される。比較された各組のブロックに対して、ブラックに述べられている最小二乗法推定技術を用いて、ブロックアフィンパラメータセットＡＡiが推定される。
【０１２２】
図９に関して上述したように、推定ブロックアフィンパラメータセットＡＡiはクラスタ化される。推定ブロックアフィンパラメータの任意の１セットＡＡiを最初のクラスタ中心ＡＡclとして割付けることにより、クラスタができる。次に、更なる(k-1)クラスタ中心が、次式のように定義される。
【数５】
0004204733.tif 000006
【０１２３】
即ち、任意の１つのクラスタ中心ＡＡiは、他のクラスタ中心ＡＡiから相互に少なくとも距離Tcのところになければならない。詳細には、更なる(k-1)クラスタ中心は、作図された最初のクラスタ中心との相対関係において定義され、それにより、初期kクラスタ中心が画像全体に概ね均等に分散される。一般的に、これは、次のクラスタ中心が前に定義されたクラスタ中心から距離Tcにあるような、距離閾値Tcを用いることによって保証される。これにより、確実に、重複領域から少なくとも１つのクラスタ中心を得る。
【０１２４】
次に、残りの推定ブロックアフィンパラメータセットＡＡiが全て、定義されたkクラスタの１つに割付けられる。詳細には、推定ブロックアフィンパラメータセットＡＡiは、どのクラスタ中心ＡＡckが、特定の各推定ブロックアフィンパラメータセットに最も近いかを決定することにより、kクラスタに割付けられる。全ての推定ブロックアフィンパラメータセットＡＡiがkクラスタ中心（複数）に割付けられたら、再度中心を定義されたクラスタ中心ＡＡck'が、次式のように決定される。
【数６】
0004204733.tif 000007
【０１２５】
式中、Wはクラスタk内の要素数である。
【０１２６】
全てのクラスタ中心ＡＡciが再定義されたら、これらのクラスタ中心ＡＡciが検討され、任意の２つのクラスタ中心ＡＡciが相互に近過ぎるか否かが決定される。つまり、任意の２つのクラスタ中心ＡＡcl及びＡＡcmについては、２つのクラスタ中心に対応するクラスタは、次式の場合に併合される。
【数７】
0004204733.tif 000008
【０１２７】
式中、Tmは併合閾値距離である。
【０１２８】
つまり、併合閾値距離Tmは、各個別のクラスタが、そのクラスタ中心と他の各クラスタのクラスタ中心との間に有していなくてはならない最小距離を定める。２つのクラスタが、少なくとも併合閾値距離Tmだけ離れていない場合は、それらのクラスタは別々ではなく、併合されるべきである。システムを較正するために、併合閾値距離Tmが調整されてもよい。
【０１２９】
そのような併合されたクラスタの各対に対して、新たなクラスタ中心ＡＡclmが、次式のように決定される。
【数８】
0004204733.tif 000009
【０１３０】
式中、
W1及びW2は、それぞれ、クラスタl及びm内の要素数であり、
ＡＡjはクラスタl又はmいずれかの要素である。
【０１３１】
次に、最も多くの要素を有するクラスタnが識別される。次に、この識別されたクラスタnの中心ＡＡcnが、カレントサブ画像と相対関係にある次のサブ画像の画像アフィンパラメータセットとして選択される。
【０１３２】
原稿を走査して生成された全てのベースとならないサブ画像が、ベースとなるサブ画像に位置決めされるように歪曲されたら、ベースとなるサブ画像及び歪曲済のサブ画像が結合され、合成画像が形成される。詳細には、合成画像即ち再構成された原画像I(i,j)内の各画像画素は、その画素が生じるサブ画像について、それらのサブ画像内のその画素に対する画像値を平均することによって決定される。従って、合成画像即ち再構成された原画像内の画素(i,j)の画像値I(i,j)は、次式となる。
【数９】
0004204733.tif 000010
【０１３３】
式中、
Ik(i,j)は、画素(i,j)を含むkthサブ画像内のロケーション(i,j)の画素の画像値であり、
Nは、画素(i,j)を含む走査したサブ画像の数である。
従って、任意の画素(i,j)についての平均化は、その画素ロケーションに重複する特定のサブ画像にだけ行われる。一般的に、画像は少ししか重複していないので、通常、任意の特定の画素ロケーションに重複するのは（サブ）画像のうちの１つだけである。２つ以上のサブ画像が重複する画素ロケーションに対しては、一般的に、そのようなサブ画像は２つだけ存在し、まれに、４つ以上のそのようなサブ画像が存在する。例えば、図１５から図１７に示されているサブ画像では、画素ロケーションの大半は、１つのサブ画像だけに含まれており、それ以外の画素ロケーションの大半は、２つのサブ画像に含まれており、残りの画素ロケーションは、４つのサブ画像に含まれており、４つ以上のサブ画像に含まれている画素ロケーションはない。
【０１３４】
上述したように、本発明のシステム及び方法が生成する合成画像即ち再構成された原画像は、原稿を完全に走査して生成された走査画像と比較しても遜色なく、しかも、オーバーサイズの走査領域を用いる原稿走査を必要としない。従って、本発明のシステム及び方法は、比較的合理化された処理方法を用いて、精度の高い画像の位置決めを達成し、フラットベッドスキャナを用いて取得したサブ画像から得たオーバーサイズの文書の高解像度の合成走査画像を生成する能力がある。
【０１３５】
図３から図５に示されるように、走査画像位置決めシステム２００は、好ましくは、プログラムされた汎用コンピュータ上で実施される。しかし、走査画像位置決めシステム２００は、専用コンピュータ、プログラムされたマイクロプロセッサ又はマイクロコントローラ及び周辺集積回路素子、ＡＳＩＣ又は他の集積回路、デジタル信号プロセッサ、ディスクリート素子回路のようなハードワイヤード電子又は論理回路、ＰＬＤ、ＰＬＡ、ＦＰＧＡ又はＰＡＬのようなプログラム可能論理デバイス等でも実施可能である。一般的に、有限状態機械の実施能力があり、ひいては、図６から図１４に示されているフロー図の実施能力がある、任意の装置を用いて、走査画像位置決めシステム２０００を実施することができる。
【０１３６】
図３に示されるように、メモリ２３０の可変部は、好ましくは、スタティック又はダイナミックＲＡＭを用いて実現される。しかし、メモリ２３０の可変部は、フロッピーディスク及びディスクドライブ、書き込み可能光ディスク及びディスクドライブ、ハードドライブ、フラッシュメモリ等を用いて実現することもできる。
【０１３７】
図３に示されるように、メモリ２３０の不揮発性の部分は、好ましくは、ＲＯＭを用いて実現される。しかし、メモリ２３０の不揮発性の部分は、フラッシュメモリ、ＣＭＯＳメモリ、ＰＲＯＭ、ＥＥＰＲＯＭ、又はＣＤ−ＲＯＭ及びディスクドライブ等を用いて実現することもできる。
【０１３８】
更に、スキャナ１００及び画像データシンク３００を走査画像位置決めシステム２００に接続しているリンク１１０及び３１０は、ネットワーク（図示せず）への有線又は無線リンクであり得ることを認識されたい。ネットワークは、ＬＡＮ、ＷＡＮ、イントラネット、インターネット、又は他の任意の分散形処理及び記憶装置ネットワークであってよい。
【０１３９】
本発明の、走査したサブ画像を位置決めするための例示的なシステム及び方法の上記の記述は、説明的なものであり、これを実現する上での様々な変更は、当業者にとって明白であり且つ予測できるものである。例えば、本発明のシステム及び方法は、デスクトップで走査した画像を引き合いに出して述べられてきたが、例えば衛星画像やロボット画像の部分（画像）のような、画像のシーケンスの正確に位置決めを必要とする、他の任意のタイプの画像読み取りシステムを、本発明のシステム及び方法と共に用いることができる。
【０１４０】
従って、本発明のシステム及び方法は、上記に概説した特定の実施の形態と共に述べられてきたが、当業者にとって、多くの代替、修正、変更が明白であることは明らかである。従って、本発明のシステム及び方法の例示的な実施の形態は、上述のように、本発明の説明を意図するものであり、本発明を限定するものではない。本発明の精神及び範囲を逸脱することなく、様々な変更がなされ得る。
【０１４１】
なお、本明細書で用いた符号ＡＡは、原文における以下の記号と対応している。
【外１】
0004204733.tif 000011
【図面の簡単な説明】
【図１】例示的な大きな文書及び原稿から取得した走査済サブ画像を示す図である。
【図２】図１に示されている原稿から取得した６つのサブ画像がブロックに分割された後を示す図である。
【図３】本発明に従った走査画像位置決めシステムの１つの例示的な実施の形態の概要を示すブロック図である。
【図４】図３のアフィンパラメータ生成回路の１つの例示的な実施の形態の概要を示すブロック図である。
【図５】図４のクラスタ生成回路の１つの例示的な実施の形態の概要を示すブロック図である。
【図６】本発明に従った走査画像位置決めシステムの１つの例示的な実施の形態の概要を示すフロー図である。
【図７】図６の画像アフィンパラメータ決定方法の１つの例示的な実施の形態の概要をより詳細に示すフロー図である。
【図８】図７のブロックアフィンパラメータセット決定方法の１つの例示的な実施の形態の概要をより詳細に示すフロー図である。
【図９】図７のブロックアフィンパラメータセットクラスタ化方法の１つの例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１０】図７のブロックアフィンパラメータセット決定方法の第２の例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１１】図６の画像アフィンパラメータ決定ステップの第２の例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１２】図６の画像アフィンパラメータ決定ステップの第２の例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１３】図６の画像アフィンパラメータ決定ステップの第３の例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１４】図６の画像アフィンパラメータ決定ステップの第３の例示的な実施の形態の概要をより詳細に示すフロー図である。
【図１５】二次元においてスキャナウィンドウよりも大きな原稿の、図６の画像アフィンパラメータ決定ステップの第１の例示的な実施の形態とともに使用可能な走査順序を示す図である。
【図１６】図１５の原稿の、図６の画像アフィンパラメータ決定ステップの第２及び第３の例示的な実施の形態とともに使用可能な走査順序を示す図である。
【図１７】図１５の原稿の、図６の画像アフィンパラメータ決定ステップの第２及び第３の例示的な実施の形態とともに使用可能な走査順序を示す図である。
【図１８】図１に示されている原稿の５番目と６番目のサブ画像であって５番目のサブ画像の歪曲後を示す図である。
【図１９】例示的な文書の３つのサブ画像、及び得られた合成画像、即ち再構成された原画像を示す図である。
【図２０】原画像を走査して取得した４つのサブ画像を示す図である。
【図２１】本発明に従った、図２０に示されている４つのサブ画像から再構成された合成画像を示す図である。
【図２２】図２１に示されている画像に対応する、補間によって得た再構成画像を示す図である。
【図２３】本発明に従った走査画像位置決めシステムの第２の例示的な実施の形態の概要を示すブロック図である。
【符号の説明】
２００    走査画像位置決めシステム
２１０    コントローラ
２２０    入出力インタフェース
２３０    メモリ
２４０    サブ画像ブロック化回路
２５０    アフィンパラメータ生成回路
２７０    サブ画像歪曲回路
２８０    サブ画像結合回路
【図１】
0004204733.tif 000012
【図２】
0004204733.tif 000013
【図３】
0004204733.tif 000014
【図４】
0004204733.tif 000015
【図５】
0004204733.tif 000016
【図６】
0004204733.tif 000017
【図７】
0004204733.tif 000018
【図８】
0004204733.tif 000019
【図９】
0004204733.tif 000020
【図１０】
0004204733.tif 000021
【図１１】
0004204733.tif 000022
【図１２】
0004204733.tif 000023
【図１３】
0004204733.tif 000024
【図１４】
0004204733.tif 000025
【図１５】
0004204733.tif 000026
【図１６】
0004204733.tif 000027
【図１７】
0004204733.tif 000028
【図１８】
0004204733.tif 000029
【図１９】
0004204733.tif 000030
【図２０】
0004204733.tif 000031
【図２１】
0004204733.tif 000032
【図２２】
0004204733.tif 000033
【図２３】
0004204733.tif 000034