(57)【要約】【課題】画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形と、矩形画像の差分と矩形画像間の位置関係とで定まる移動量で、比較を行うようにした画像処理装置を提供する。【解決手段】画像処理装置の受付手段は、画像データと読取データを受け付け、抽出手段は、画像形成装置又は画像読取装置で発生し得る誤差に応じて生成された矩形の大きさで、画像データ又は読取データの一方を分割して、複数の矩形画像を抽出し、第１の探索手段は、矩形画像の一部を選択し、探索範囲を設定し、矩形画像が他方の画像内で対応する位置を探索し、推定手段は、矩形画像が他方の画像内で対応する位置に基づいて、矩形画像が他方の画像内で対応する位置を推定し、第２の探索手段は、その位置を基準に、矩形画像が他方の画像内で対応する位置を探索し、比較手段は、抽出された矩形画像と探索結果の画像とを比較する。【選択図】図１
2015099585.tif 000002
【特許請求の範囲】
【請求項１】
画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、
前記画像データの画像を前記媒体に形成した画像形成装置および／又は該媒体を読み取った画像読取装置で発生し得る誤差に応じて生成された矩形の大きさで、前記画像データ又は読取データの一方の画像を分割して、複数の矩形画像を抽出する抽出手段と、
前記抽出手段により抽出された矩形画像の一部を選択し、前記誤差から算出される探索範囲を設定し、選択された矩形画像が他方の画像内で対応する位置を探索する第１の探索手段と、
前記選択された矩形画像が他方の画像内で対応する位置に基づいて、矩形画像が他方の画像内で対応する位置を推定する推定手段と、
前記推定手段によって推定された位置を基準に、矩形画像が他方の画像内で対応する位置を探索する第２の探索手段と、
前記抽出手段によって抽出された矩形画像と前記第１の探索手段および第２の探索手段による探索結果の画像とを比較する比較手段
を具備することを特徴とする画像処理装置。
【請求項２】
前記第２の探索手段は、前記第１の探索手段によって選択されなかった矩形画像が他方の画像内で対応する位置を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の探索手段は、前記推定手段によって推定された位置を基準に前記探索範囲よりも狭い第２の探索範囲で、前記矩形画像が他方の画像内で対応する位置を探索することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の探索手段は、前記抽出手段によって抽出された矩形画像のうち、全面が同じ色である場合、１本の直線が描かれている場合、複数の平行線が描かれているのみの場合、規則的な図形が複数描かれている場合のいずれかに該当する矩形画像は選択しないことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記推定手段は、前記第１の探索手段で探索した対応する位置が予め定められた値よりも大きい矩形画像については、矩形画像が他方の画像内で対応する位置を探索する位置の基準として用いないことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、
前記矩形は、前記アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが１画素以内であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記推定手段は、選択された前記矩形画像間の位置によって定まる平面を算出し、該平面に基づいて選択されなかった矩形画像の位置を推定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
コンピュータを、
画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、
前記画像データの画像を前記媒体に形成した画像形成装置および／又は該媒体を読み取った画像読取装置で発生し得る誤差に応じて生成された矩形の大きさで、前記画像データ又は読取データの一方の画像を分割して、複数の矩形画像を抽出する抽出手段と、
前記抽出手段により抽出された矩形画像の一部を選択し、前記誤差から算出される探索範囲を設定し、選択された矩形画像が他方の画像内で対応する位置を探索する第１の探索手段と、
前記選択された矩形画像が他方の画像内で対応する位置に基づいて、矩形画像が他方の画像内で対応する位置を推定する推定手段と、
前記推定手段によって推定された位置を基準に、矩形画像が他方の画像内で対応する位置を探索する第２の探索手段と、
前記抽出手段によって抽出された矩形画像と前記第１の探索手段および第２の探索手段による探索結果の画像とを比較する比較手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
特許文献１には、非直線的な画像位置ずれの補正を、リアルタイム性を有して可能とする画像位置合わせ方法及びそれを用いる製品検査装置を安価に提供することを課題とし、垂直ビット方向と水平走査ライン方向に配列された画素で構成される２次元の検査画像（濃淡画像や２値画像）と基準画像を一定数のラインの集合であるラインブロックを単位として、セルマッチング演算部にてテンプレートマッチングを行い、このマッチング結果を、評価部にて定量的に評価して有効、無効を判定し、有効なマッチング結果から逐次的に位置ずれ量を算出し、その位置ずれ量に基づいて比較画素アドレスの補正演算をして位置ずれ補正を実行し、比較部で両画像を比較することが開示されている。
【０００３】
特許文献２には、幾何歪みを補正するために必要とされる位置ずれ量を検出し、しかも、多数の小さな補正対象領域毎に位置ずれ量を検出する場合であっても高速に位置ずれ量を検出することができる撮像画像幾何歪み検出装置を提供することを課題とし、ラインセンサカメラによる主走査とウェブの移送による副走査とを組み合わせて前記ウェブを撮像し、得られる画像検査のための基準画像と検査対象画像についてテンプレートを用い前記基準画像と前記検査対象画像との位置ずれ量を検出する撮像画像幾何歪み検出装置であって、前記テンプレートが前記基準画像と前記検査対象画像を複数に分割した補正対象領域の各々に配置され、かつ、所定のテンプレートの位置ずれ量からその他のテンプレートの位置ずれ量を予測した予測値を用いることにより探索範囲を狭くし、前記位置ずれ量を高速検出するテンプレートマッチング手段を有することが開示されている。
【０００４】
特許文献３には、処理時間が短く信頼度の高い位置ずれ補正を行って画像の検査を行うことのできる画像検査方法及びその装置を提供することを目的とし、補正すべき方向の基準画素データ列を抽出し、また検査対象画像上の対応する複数の検査対象画素データ列を抽出し、それらについて相関係数演算し、最大の相関係数を与える検査対象画素データ列の位置のデータ基づいて位置ずれを補正して基準画像と比較することが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−０３５０６３号公報
【特許文献２】特開２０００−０８２１３５号公報
【特許文献３】特開平０７−２４９１２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形と、矩形画像の差分と矩形画像間の位置関係とで定まる移動量で、比較を行うようにした画像処理装置及び画像処理プログラムを提供する
ことを目的としている。
【課題を解決するための手段】
【０００７】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項１の発明は、画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、前記画像データの画像を前記媒体に形成した画像形成装置および／又は該媒体を読み取った画像読取装置で発生し得る誤差に応じて生成された矩形の大きさで、前記画像データ又は読取データの一方の画像を分割して、複数の矩形画像を抽出する抽出手段と、前記抽出手段により抽出された矩形画像の一部を選択し、前記誤差から算出される探索範囲を設定し、選択された矩形画像が他方の画像内で対応する位置を探索する第１の探索手段と、前記選択された矩形画像が他方の画像内で対応する位置に基づいて、矩形画像が他方の画像内で対応する位置を推定する推定手段と、前記推定手段によって推定された位置を基準に、矩形画像が他方の画像内で対応する位置を探索する第２の探索手段と、前記抽出手段によって抽出された矩形画像と前記第１の探索手段および第２の探索手段による探索結果の画像とを比較する比較手段を具備することを特徴とする画像処理装置である。
【０００８】
請求項２の発明は、前記第２の探索手段は、前記第１の探索手段によって選択されなかった矩形画像が他方の画像内で対応する位置を推定することを特徴とする請求項１に記載の画像処理装置である。
【０００９】
請求項３の発明は、前記第２の探索手段は、前記推定手段によって推定された位置を基準に前記探索範囲よりも狭い第２の探索範囲で、前記矩形画像が他方の画像内で対応する位置を探索することを特徴とする請求項１又は２に記載の画像処理装置である。
【００１０】
請求項４の発明は、前記第１の探索手段は、前記抽出手段によって抽出された矩形画像のうち、全面が同じ色である場合、１本の直線が描かれている場合、複数の平行線が描かれているのみの場合、規則的な図形が複数描かれている場合のいずれかに該当する矩形画像は選択しないことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置である。
【００１１】
請求項５の発明は、前記推定手段は、前記第１の探索手段で探索した対応する位置が予め定められた値よりも大きい矩形画像については、矩形画像が他方の画像内で対応する位置を探索する位置の基準として用いないことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置である。
【００１２】
請求項６の発明は、前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、前記矩形は、前記アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが１画素以内であることを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置である。
【００１３】
請求項７の発明は、前記推定手段は、選択された前記矩形画像間の位置によって定まる平面を算出し、該平面に基づいて選択されなかった矩形画像の位置を推定することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置である。
【００１４】
請求項８の発明は、コンピュータを、画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、前記画像データの画像を前記媒体に形成した画像形成装置および／又は該媒体を読み取った画像読取装置で発生し得る誤差に応じて生成された矩形の大きさで、前記画像データ又は読取データの一方の画像を分割して、複数の矩形画像を抽出する抽出手段と、前記抽出手段により抽出された矩形画像の一部を選択し、前記誤差から算出される探索範囲を設定し、選択された矩形画像が他方の画像内で対応する位置を探索する第１の探索手段と、前記選択された矩形画像が他方の画像内で対応する位置に基づいて、矩形画像が他方の画像内で対応する位置を推定する推定手段と、前記推定手段によって推定された位置を基準に、矩形画像が他方の画像内で対応する位置を探索する第２の探索手段と、前記抽出手段によって抽出された矩形画像と前記第１の探索手段および第２の探索手段による探索結果の画像とを比較する比較手段として機能させるための画像処理プログラムある。
【発明の効果】
【００１５】
請求項１の画像処理装置によれば、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形と、矩形画像の差分と矩形画像間の位置関係とで定まる移動量で、比較を行うことができる。
【００１６】
請求項２の画像処理装置によれば、第２の探索手段が、すべての矩形画像が他方の画像内で対応する位置を探索する場合と比較して、位置を探索する計算量を低減することが可能となる。
【００１７】
請求項３の画像処理装置によれば、第２の探索手段が、第１の探索手段と同じ探索範囲で、矩形画像が他方の画像内で対応する位置を探索する場合と比較して、位置を探索する計算量を低減することが可能となる。
【００１８】
請求項４の画像処理装置によれば、全面が同じ色である、平行線が描かれている、同じ図形が複数描かれているもののいずれかの矩形画像を位置推定に用いる場合と比べて、選択されなかった矩形画像の位置推定に関する誤差を低減することができる。
【００１９】
請求項５の画像処理装置によれば、他方の画像内での位置が予め定められた値よりも大きい矩形画像を探索する位置の基準として用いる場合と比べて、矩形画像の位置推定に関する誤差を低減することができる
【００２０】
請求項６の画像処理装置によれば、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが１画素以内となるようにした矩形を用いることができる。
【００２１】
請求項７の画像処理装置によれば、矩形画像間の位置関係によって定まる特徴空間における平面に基づいて移動量の範囲を決定することができる。
【００２２】
請求項８の画像処理プログラムによれば、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形と、矩形画像の差分と矩形画像間の位置関係とで定まる移動量で、比較を行うことができる。
【図面の簡単な説明】
【００２３】
【図１】本実施の形態の構成例についての概念的なモジュール構成図である。
【図２】本実施の形態による処理例を示すフローチャートである。
【図３】データ採取・位置推定モジュールにおける処理例を示す説明図である。
【図４】データ採取・位置推定モジュールにおける処理例を示す説明図である。
【図５】データ採取・位置推定モジュールにおける処理例を示す説明図である。
【図６】画像内の位置に基づく探索範囲の大きさの例を示す説明図である。
【図７】欠陥検知の処理例を示す説明図である。
【図８】ブロックサイズ、移動量を算出する処理例を示すフローチャートである。
【図９】本実施の形態による処理例を示す説明図である。
【図１０】ブロック例を示す説明図である。
【図１１】比較・照合モジュールによる処理例を示す説明図である。
【図１２】ブロック画像と探索範囲の関係例を示す説明図である。
【図１３】ブロックサイズを算出する処理例を示す説明図である。
【図１４】移動量を算出する処理例を示す説明図である。
【図１５】移動量を算出する処理例を示す説明図である。
【図１６】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２４】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図１は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア（コンピュータ・プログラム）、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム（コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム）、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、１モジュールを１プログラムで構成してもよいし、複数モジュールを１プログラムで構成してもよく、逆に１モジュールを複数プログラムで構成してもよい。また、複数モジュールは１コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって１モジュールが複数コンピュータで実行されてもよい。なお、１つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続（データの授受、指示、データ間の参照関係等）の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、２以上の値（もちろんのことながら、全ての値も含む）が同じであってもよい。また、「Ａである場合、Ｂをする」という意味を有する記載は、「Ａであるか否かを判断し、Ａであると判断した場合はＢをする」の意味で用いる。ただし、Ａであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク（一対一対応の通信接続を含む）等の通信手段で接続されて構成されるほか、１つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」（社会システム）にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、外部記憶媒体、通信回線を介した記憶装置、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）内のレジスタ等を含んでいてもよい。
【００２５】
本実施の形態である画像処理装置を含む画像処理システム全体は、画像データと読取データを比較するものであって、図１の例に示すように、画像生成モジュール１１０、記録モジュール１２０、読取モジュール１３０、データ採取・位置推定モジュール１４０、ブロック・移動量算出モジュール１５０、比較・照合モジュール１６０を有している。
【００２６】
画像生成モジュール１１０は、記録モジュール１２０、データ採取・位置推定モジュール１４０、比較・照合モジュール１６０と接続されている。画像生成モジュール１１０は、印刷データ１０５を画像データである印刷画像１１５に変換する。この変換処理には、ラスタライズ及び色空間変換を含む印刷に必要な画像変換処理を含む。ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）（登録商標）等のＰＤＬで記述された印刷データ１０５を、印刷機、プリンタで媒体（用紙）上に記録可能なラスター画像（印刷画像１１５）に変換する処理を行う。実装形態としては、専用ハードウェアと汎用ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）等のコンピュータ上で動作するソフトウェアがある。処理結果である印刷画像１１５を記録モジュール１２０、データ採取・探索範囲決定モジュール１４０、比較・照合モジュール１６０に渡す。
【００２７】
記録モジュール１２０は、画像生成モジュール１１０、読取モジュール１３０と接続されている。記録モジュール１２０は、印刷画像１１５を記録媒体１２５に記録する。つまり、画像データの画像を媒体である記録媒体１２５上に形成する。いわゆる印刷、プリントアウトであり、記録モジュール１２０は画像形成装置であるプリンタとして実現される。
読取モジュール１３０は、記録モジュール１２０、データ採取・位置推定モジュール１４０、比較・照合モジュール１６０と接続されている。読取モジュール１３０は、記録媒体１２５上の印刷画像１１５を光電変換等により読取画像１３５に変換する。つまり、記録媒体１２５を読み取った読取データである読取画像１３５を生成する。いわゆるスキャン処理であり、読取モジュール１３０は画像読取装置であるスキャナとして実現される。読取画像１３５をデータ採取・位置推定モジュール１４０、比較・照合モジュール１６０に渡す。
【００２８】
データ採取・位置推定モジュール１４０は、画像生成モジュール１１０、読取モジュール１３０、ブロック・移動量算出モジュール１５０、比較・照合モジュール１６０と接続されている。データ採取・位置推定モジュール１４０は、印刷画像１１５または読取画像１３５のうち一方の画像から抽出したブロック画像のうち少なくとも１つ以上を選択し、誤差から算出される探索範囲を設定して他方の画像内で選択されたブロック画像が合致する位置を探索する。その後、選択されたブロック画像が他方の画像内で合致する位置に基づいて、選択されなかったブロック画像が他方の画像内で対応する位置を推定する。そして、推定した位置（変位量の推定値）を比較・照合モジュール１６０に渡す。
まず、ブロック画像が他方の画像内で対応する位置を推定する処理について、図３、図４を用いて説明する。図３は、データ採取・位置推定モジュール１４０における処理例を示す説明図である。
【００２９】
１）図３（ａ）、（ｂ）の例に示すように、印刷画像１１５と読取画像１３５を各々矩形（以下、ブロックともいう）に分割し、印刷ブロック画像３１０、読取ブロック画像３２０を生成する。つまり、記録モジュール１２０又は読取モジュール１３０で発生し得る誤差に基づいて生成されたブロックに、印刷画像１１５及び読取画像１３５の画像を分割して、ブロック画像を抽出する。なお、ここでのブロックサイズは、ブロック・移動量算出モジュール１５０が算出するブロックサイズ１５２を用いる。
【００３０】
より具体的には、以下のように処理を行う。
記録モジュール１２０又は読取モジュール１３０で発生し得る誤差に基づいて生成された矩形に、印刷画像１１５又は読取画像１３５の一方の画像を分割して、矩形画像を抽出する。一方の画像は、印刷画像１１５、読取画像１３５のいずれであってもよい。以下、主に、印刷画像１１５を一方の画像とし、読取画像１３５を他方の画像として説明する。ブロック分割については、図９を用いて説明する。図９は、本実施の形態による処理例を示す説明図である。図９（ａ）の例では、参照画像９００ａを９×１２個のブロックに分割している。もちろんのことながら、分割数は、ブロックサイズ、参照画像９００ａのサイズによって異なる。また、ブロックサイズと参照画像９００ａのサイズの関係によっては、必ずしも整数個で分割できるわけではないが、例えば、１つのブロックに満たない部分は、白等の画像を付加すればよい。また、ブロック・移動量算出モジュール１５０からブロックサイズ１５２を受け取り、ブロックに分割する。
図１０は、ブロック例を示す説明図であり、図９（ａ）の例に示すブロック画像９１０ａを拡大表示したものである。ブロック画像９１０ａは、Ｗｐ×Ｈｐの大きさを有している。そして、ブロック画像９１０ａの中心画素１０１０の座標を（Ｃｘ，Ｃｙ）とする。
【００３１】
２）図３（ｃ）の例に示すように、抽出したブロック画像のうち少なくとも１組以上を選択し、対応する位置のブロック同士（印刷画像１１５と読取画像１３５）で、両画像の差分絶対値を画素毎に算出する。例えば、画素毎に排他的論理和（ＥＯＲ：Ｅｘｃｌｕｓｉｖｅ  ＯＲ）処理を行えばよい。
３）ブロック内での差分絶対値和（ブロック内の各画素における差分絶対値の総和）が極小となる位置を探索する。なお、ここでの探索範囲Ａは、比較・照合モジュール１６０で用いる変位量の推定値１４５と同じでもよいし、異なっていてもよい。ブロック・移動量算出モジュール１５０で算出した移動量１５４によって定めたり、又は、図６を用いて後述する探索範囲としてもよい。
図３の例では、読取ブロック画像３２０上で印刷ブロック画像３１０を探索する。つまり、印刷ブロック画像３１０と読取ブロック画像３２０を探索範囲Ａ内でずらし、その位置関係における差分絶対値和を算出する。算出した差分絶対値和が極小となる矩形画像間の位置関係を特定する。図４の例に示すように、読取画像４００内の読取ブロック画像４２０に対して、印刷ブロック画像４１０を探索する。探索範囲Ａ内において、差分絶対値和が極小となる位置４５０を求める。位置４５０は、例えば、印刷ブロック画像４１０と読取ブロック画像４２０の中心の座標の差分（Δｘ、Δｙ）である。ここでは、読取ブロック画像３２０上で印刷ブロック画像３１０を探索する例を示したが、もちろんのことながら、印刷ブロック画像３１０上で読取ブロック画像３２０を探索するようにしてもよい。本実施例では印刷画像と読取画像の両方をブロックとして切り出したが、印刷画像のみブロック画像を切り出し、他方の読取画像に直接探索範囲を設定して、その範囲内で同様に差分絶対値和最小位置を探索してもよい。また、読取画像のみブロック画像を切り出し、他方の印刷画像に直接探索範囲を設定して、その範囲内で同様に差分絶対値和最小位置を探索してもよい。
【００３２】
本実施例において、探索範囲Ａについては、以下のように算出する。
印刷画像１１５の画像を記録媒体１２５に形成した記録モジュール１２０又はその記録媒体１２５を読み取った読取モジュール１３０で発生し得る誤差及び画像（印刷画像１１５、読取画像１３５のいずれでもあってもよい）内の位置に基づいて、探索範囲Ａを定める移動量の範囲を決定する。「記録モジュール１２０又は読取モジュール１３０で発生し得る誤差」については、ブロック・移動量算出モジュール１５０の説明で後述する。例えば、データ採取・位置推定モジュール１４０は、印刷画像１１５又は読取画像１３５における原点からの距離に応じて、移動量を大きくし、原点から最遠の地点における移動量は、印刷画像１１５又は読取画像１３５の大きさにおいて、記録モジュール１２０又は読取モジュール１３０において発生し得る誤差であるアフィン変換による移動量が最大となるように算出する。なお、原点からの距離とは、ブロックの位置と同値である。印刷画像１１５又は読取画像１３５の原点は、記録モジュール１２０又は読取モジュール１３０の誤差の発生が最小の位置であり、例えば、画像の左上角の座標をいう。「原点から最遠の地点」は、原点から最遠の位置である。原点から最遠の位置は、記録モジュール１２０又は読取モジュール１３０の誤差の発生が最大の位置であり、例えば、画像の右下角の座標をいう。具体的には、データ採取・位置推定モジュール１４０は、左上角の座標から右下角の座標の方向に向かって、探索範囲Ａの大きさを大きくする。そして、その最大の大きさは、「記録モジュール１２０又は読取モジュール１３０で発生し得る誤差」の最大値によって定まるものであり、ブロック・移動量算出モジュール１５０によって算出される移動量１５４である。
【００３３】
図６の例を用いて説明する。図６は、画像内の位置に基づく探索範囲Ａの大きさの例を示す説明図である。図６（ａ）の例は、画像６００における原点６１０（左上角）と最遠点６９０（右下角）の位置の例を示している。そして、図６（ｂ）の例は、原点６１０におけるブロック６１２、探索範囲Ａ６１４の関係を示している。探索範囲Ａ６１４は、ブロック６１２と比較して予め定められた値（０以上）だけ大きい。図６（ｃ）の例は、最遠点６９０におけるブロック６９２、探索範囲Ａ６９４の関係を示している。探索範囲Ａ６９４は、ブロック・移動量算出モジュール１５０が算出した移動量１５４によって定まる大きさである。なお、ブロック６１２とブロック６９２の大きさは同じであり、ブロック・移動量算出モジュール１５０が算出したブロックサイズ１５２である。ここでは、原点として左上角、最遠点として右下角の例を示したが、記録モジュール１２０又は読取モジュール１３０で発生し得る誤差の性質に応じて、４点（右下角、右上角、左下角、左上角）のいずれであってもよい。ここでは、記録モジュール１２０又は読取モジュール１３０の回転は左上角を中心に発生し、拡大縮小は左上角から離れるほどその効果が大きい場合を例にしている。
【００３４】
次に、データ採取・位置推定モジュール１４０は、探索範囲Ａ内において、差分絶対値和が極小となる位置４５０を基準に探索範囲Ａ内で、抽出した矩形画像が他方の画像内で対応する位置を探索する。例えば、図９（ｂ）は、図９（ａ）に示すブロック画像９１０ａを探索する例を示している。図９（ｂ）に示すように、読取画像９００ｂ内の「移動量の範囲」である探索範囲９５０ｂで、ブロック画像９１０ａを探索する。なお、参照画像９００ａ内のブロック画像９１０ａに対応するものは、読取画像９００ｂ内のブロック画像９１０ｂである。理想的には（記録モジュール１２０、読取モジュール１３０で発生し得る誤差が０である場合）、欠陥を検出するためには、ブロック画像９１０ａとブロック画像９１０ｂとを比較するだけで済むことになるが、実際には、記録モジュール１２０、読取モジュール１３０で発生し得る誤差があるので、その実際の誤差を考慮した探索範囲９５０ｂ（データ採取・位置推定モジュール１４０によって決定された探索範囲）内で探索を行うものである。これによって、読取画像９００ｂ全体を探索する必要がなく、読取画像９００ｂ内におけるブロック画像９１０ａに合致する位置を発見することができる。探索範囲は、一方の画像における矩形の位置と同じ位置における他方の画像の矩形を含み、その矩形を中心として上下左右の移動量で形成される領域である。
探索処理について、図１１を用いて説明する。図１１は、比較・照合モジュール１６０による処理例を示す説明図である。図１１に示す例は、図９（ｂ）の例に示す探索範囲９５０ｂを拡大表示したものである。読取画像９００ｂの探索範囲９５０ｂ内で、参照画像９００ａのブロック画像９１０ａを１画素ずつ移動させて、テンプレートマッチング（例えば、排他的論理和処理）を行う。そして、そのテンプレートマッチングの結果、探索範囲内で最も近似していることを示している最大スコア（例えば、スコアとして差分絶対値和の逆数）が得られたブロック画像との相対位置を変位量１１２０とする。つまり、探索範囲９５０ｂ内においてブロック画像９１０ａに対応するものはブロック画像９１０ｂであり、探索範囲９５０ｂ内のブロック画像とブロック画像９１０ａとでテンプレートマッチングを行った結果、最大スコア位置でのブロック画像１１３０が抽出された場合は、変位量１１２０となる。また、データ採取・位置推定モジュール１４０から変位量の推定値１４５を受け取り、対象としているブロックを探索する。
【００３５】
なお、差分絶対値和が極小となる位置が複数となり得るブロックは、後述の選択されなかった他のブロックの位置推定の元としては予め対象外とする。
例えば、全面が同じ色（例えば、白、黒、透過等）で塗り潰されたようなブロック（完全に同じ色でなくとも、全面の画素値のばらつきが予め定められた値以下である場合を含んでもよい）、一本の直線が描かれたのみのブロック、複数本からなる平行線が描かれたのみのブロック、ブロック内に規則的な図形（実質的に同じ図形）が複数描かれているのみのブロック等がある。これらは、対応する位置が一義的に決定できないため、選択されなかったブロックの位置が推定できない、又は推定できたとしても誤差が大きくなる可能性があり、位置の推定をするのに適していないブロックであるからである。
これらのブロックを対象外とする判断をする時期は、ブロックの選択をする際でもよいし、一度ブロックを選択して対応位置を探索した後で他の画像の位置を推定する際に行ってもよいが、ブロックの選択時に行った方が、余計な探索にかかる計算量を低減できる。
また、ブロックを選択して探索した結果、差分絶対値和が極小となる矩形画像間の距離が予め定められた値より大又は以上である場合は、そのブロックにおける位置関係は選択されなかった他のブロックの位置推定の元としては対象外とする。
【００３６】
次に、データ採取・位置推定モジュール１４０による選択されなかったブロック画像が他方の画像内で対応する位置の推定について、図５を用いて説明する。図５は、データ採取・位置推定モジュール１４０における処理例を示す説明図である。図５（ａ）の例に示すように、印刷画像５１０内のブロック（図５（ａ）では斜線のブロック）で、差分絶対値和が極小となる位置が算出されている。なお、対象外となったブロック（図５（ａ）では白のブロック）は、位置の推定処理には用いられない。
データ採取・位置推定モジュール１４０は、ブロック画像間の位置によって定まる平面（「特徴空間における平面」としてもよい）を算出し、その平面に基づいて、選択されなかったブロック画像の位置を推定する。具体的には、差分絶対値和が極小となる位置から変位量を表す平面を算出して、各ブロックの位置に応じて変位量を算出する。
つまり、以下のような処理を行う。ブロック画像の位置（Δｘ、Δｙ）を特徴空間にプロットする。特徴空間として、例えば、画像のｘ軸、ｙ軸、Δｘ又はΔｙを軸とする３次元空間がある。ここでは、ｘ軸、ｙ軸は、ブロックの中心の座標を示す軸である。特徴空間としては、画像のｘ軸、ｙ軸、Δｘ軸、Δｙ軸とする４次元空間としてもよいし、Δｘ又はΔｙを示す軸が含まれていれば、この他の空間としてもよい。このプロットによって構成される平面を算出する。例えば、図５（ａ）の例における変位量（△ｘ）を表す平面５２０、図５（ｂ）の例における変位量を表す（△ｙ）平面５３０のようになる。もちろんのことながら、全てのプロットが平面にある必要はなく、これらのプロットから推測される平面を既存の方法を用いて算出すればよい。
この変位量を表す平面を用いて、画像内の全てのブロックにおける変位量を推定できる。具体的には、平面を示す式（Δｘ＝ａ１ｘ＋ｂ１ｙ＋ｃ１、Δｙ＝ａ２ｘ＋ｂ２ｙ＋ｃ２）に、各ブロックの位置を代入して、各ブロックにおける変位量を推定する。
ここでの変位量推定については、少なくとも、選択されなかったブロック画像を対象にする必要がある。本処理を逐次処理で行う場合には、全てのブロック画像を対象とするよりも、選択されなかったブロック画像のみを対象にする方が、変位量推定の計算量が低減されて高速に処理ができる。マルチコアＣＰＵやＧＰＵ等で並列処理にて変位量推定を実施する場合は、ブロック画像が選択対象か否かを判断するステップを追加するよりも、全てのブロック画像に一律に処理を適用した方がより高速に処理ができる。
【００３７】
次に、データ採取・位置推定モジュール１４０は、ブロック画像のそれぞれについて、上述の手法によって推定された変位量に基づいて、他方の画像内で対応する位置を探索する。つまり、推定された変位量を基準の位置として探索範囲を設定し、テンプレートマッチングを行い、探索範囲内で最も近似していることを示す位置を探索する。ここでのテンプレートマッチングは、上述のテンプレートマッチングと同様の手法を用いることができる。
ここでの探索対象は、少なくとも選択されなかったブロック画像とする。本処理を逐次処理で行う場合には、全てのブロック画像を対象とするよりも、選択されなかったブロック画像のみを対象とする方が探索する計算量が低減されて高速に処理ができる。マルチコアＣＰＵやＧＰＵ等で並列処理にて２回目の位置探索を実施する場合は、ブロック画像が選択対象か否かを判断するステップを追加するよりも、全てのブロック画像に一律に処理を適用した方がより高速に処理ができる。
ここでの探索範囲は、上述の探索範囲の決定方法と同様に決定したものでも構わないが、既に選択されなかったブロック画像について位置の推定がなされているため、それよりも小さい範囲を探索範囲として構わない。同じ探索範囲を用いる場合と比べ、差分抽出にかかる計算量が低減される。
【００３８】
比較・照合モジュール１６０は、画像生成モジュール１１０、読取モジュール１３０、データ採取・位置推定モジュール１４０と接続されている。比較・照合モジュール１６０は、印刷画像１１５と読取画像１３５を比較・照合して欠陥の有無及び発生領域を検知する。比較・照合モジュール１６０は、印刷画像１１５と読取画像１３５を受け付ける。読取画像１３５は、印刷画像１１５の画像を形成した記録媒体１２５を読み取ったものである。つまり、プリントアウト対象の元の印刷画像１１５と、その印刷画像１１５をプリントアウトし、プリントアウトした記録媒体１２５をスキャンして得た読取画像１３５を受け付ける。これは、記録モジュール１２０、読取モジュール１３０によって発生する欠陥の有無を確認するためである。ここで、欠陥とは、ノイズといわれるものであり、理想的には、印刷画像１１５と読取画像１３５とは完全一致することになる。しかし、記録モジュール１２０、読取モジュール１３０の整備状況等によって、欠陥が発生することになる。なお、記録モジュール１２０、読取モジュール１３０では、誤差が発生し得る。ここで、「発生し得る誤差」とは、記録モジュール１２０、読取モジュール１３０の設計仕様上許容されている誤差である。誤差としては、具体的に、拡大縮小、回転、移動のアフィン変換がある。誤差として、例えば、回転がｘ度以上発生しないという設計仕様を実現（設計目標を達成）した場合に、ｘ度未満の回転は、発生し得ることになる。
そこで、比較・照合モジュール１６０は、記録モジュール１２０、読取モジュール１３０で発生し得る誤差を除いた欠陥（例えば、３画素以上の黒画素混入）を抽出しようとするものである。つまり、設計仕様上許容されている誤差以外の欠陥が発生しているか否かを確認し、その欠陥が発生している位置を特定して、記録モジュール１２０、読取モジュール１３０の整備に役立てようとするものである。
【００３９】
次に、比較・照合モジュール１６０は、データ採取・位置推定モジュール１４０より探索結果を受け取り、抽出した矩形画像と、矩形画像が他方の画像内で対応する部分の画像（探索結果の画像）とを比較する。つまり、印刷画像側の矩形画像と読取画像側の矩形画像とが最も合致する位置で両者を重ね合わせて、差分を抽出するなどの比較を行う。「探索結果」とは、他方の画像の探索範囲内で、一方の画像内の矩形画像を比較し、最も両者が合致する位置を抽出した結果である。その位置と矩形画像の位置との差分を変位量としてもよい。「比較する」には、探索結果を用いるようにしてもよい。すなわち、探索結果は、最も合致した場合であるので、その合致度合いを欠陥検知結果１６５としてもよい。また、欠陥検知結果１６５には、合致度合いの他に、変位量を含めてもよい。
【００４０】
図７を用いて説明する。図７は、比較・照合モジュール１６０による欠陥検知の処理例を示す説明図である。図７（ａ）の例に示す印刷ブロック画像７１０は、印刷画像１１５内のブロック画像であり、図７（ｂ）の例に示す読取ブロック画像７２０は、読取画像１３５内のブロック画像であり、図７（ｃ）の例に示す差分ブロック画像７３０は、印刷ブロック画像７１０と読取ブロック画像７２０の差分（排他的論理和処理の結果）である。比較・照合モジュール１６０は、ブロック毎に差分画像を生成し、その差分画像内で欠陥を検知する。欠陥としては、例えば、外接矩形の１辺の大きさが予め定められた範囲（例えば、３画素から５画素等）の大きさであるものを検知すればよい。
【００４１】
ブロック・移動量算出モジュール１５０は、データ採取・位置推定モジュール１４０と接続されている。ブロック・移動量算出モジュール１５０は、記録モジュール１２０又は読取モジュール１３０で発生し得る誤差に基づいて、ブロックサイズ１５２、移動量１５４を算出する。そして、ブロックサイズ１５２、移動量１５４をデータ採取・位置推定モジュール１４０に渡す。記録モジュール１２０又は読取モジュール１３０の誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含む。誤差には、具体例として、拡大縮小率、回転角度等がある。なお、ブロック・移動量算出モジュール１５０による処理は、データ採取・位置推定モジュール１４０が処理を行う前であればよく、予め算出しておき、データ採取・位置推定モジュール１４０内にブロックサイズ１５２、移動量１５４を記憶していてもよい。また、そのときに用いられた記録モジュール１２０、読取モジュール１３０に対応するために、記録モジュール１２０、読取モジュール１３０から誤差を受け取り、その都度、ブロックサイズ１５２、移動量１５４を算出するようにしてもよい。
【００４２】
ブロックサイズ１５２は、アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが１画素以内であるように定まっている。なお、ブロックサイズ１５２の算出については、図１３の例を用いて後述する。
ブロック・移動量算出モジュール１５０が算出する移動量１５４は、印刷画像１１５又は読取画像１３５の大きさにおいて、アフィン変換による移動量が最大となるように定まっている。移動量１５４は、探索範囲９５０ｂを形成するためのものである。図１２は、ブロック画像９１０ａと探索範囲９５０ｂの関係例を示す説明図である。移動量１５４は、具体的には、上方向移動量、下方向移動量、左方向移動量、右方向移動量である。
ブロック画像９１０ａの縦（ブロック高さ）は、Ｌａ＋１＋Ｌｂであり、図１０の例に示したＨｐである。
ブロック画像９１０ａの幅（ブロック幅）は、Ｌｌ＋１＋Ｌｒであり、図１０の例に示したＷｐである。
探索範囲９５０ｂの縦（探索範囲高さ）は、Ｈｐ＋Ｌａ＋Ｌｂである。Ｌａは上方向移動量である。Ｌｂは下方向移動量である。
探索範囲９５０ｂの幅（探索範囲幅）は、Ｗｐ＋Ｌｌ＋Ｌｒである。Ｌｌは左方向移動量である。Ｌｒは右方向移動量である。
なお、移動量１５４の算出については、図１４、１５の例を用いて後述する。
また、移動量１５４は、その画像における探索範囲の最大値を示しており、データ採取・位置推定モジュール１４０は、移動量１５４を用いて、画像内におけるブロックの位置に基づいて、変位量の推定値１４５を決定する。
【００４３】
本実施の形態による全体の処理例を示す。
まず、画像生成モジュール１１０は、印刷データ１０５を画像変換して、印刷画像１１５を生成する。
次に、記録モジュール１２０は、印刷画像１１５を記録媒体１２５上に記録する。
次に、読取モジュール１３０は、印刷画像１１５が記録された記録媒体１２５を読み取る。読み取った結果が、読取画像１３５である。
次に、データ採取・位置推定モジュール１４０は、変位量の推定値１４５を決定するためのデータ（具体的には、ブロック画像間の差分）を採取する。
次に、データ採取・位置推定モジュール１４０は、ブロック毎の変位量を推定する。
次に、比較・照合モジュール１６０は、変換画像（印刷画像１１５）と読取画像１３５を比較・照合して欠陥発生領域を検知する。
【００４４】
図２は、本実施の形態による処理例を示すフローチャートである。
ステップＳ２０２では、印刷データの画像か読取データの画像の少なくとも一方の画像を分割する。ここでの分割方法は、誤差を用いて算出された大きさで（例えば、誤差が大きいほど小さくなるように）分割する。
ステップＳ２０４では、一部の分割画像に対して探索範囲を決定する。ここでの探索範囲の決定は、誤差を用いて算出された大きさで（例えば、誤差が大きいほど大きくなるように）決定する。
ステップＳ２０６では、相手の画像での対応する位置を特定する。具体的には、分割した画像を他方の画像に重ね合わせて画素ごとに差分を取って、その差分の絶対値で加算することを探索範囲内で画像の位置を異ならせながら行い、一番差分の小さい位置を対応する位置とする。
ステップＳ２０８では、特定した対応する位置から、他の分割画像が相手の画像で対応する位置を推定する。具体的には、対応する位置と初期位置とのズレ量を平面に描画し、他の分割画像がどの程度ずれるかを、平面と分割画像の分割元の画像に対する位置とから推定する。
ステップＳ２１０では、他の分割画像について、推定された位置から相手の画像での対応する位置を特定する。ここでの探索範囲はステップＳ２０４と同じでもよいが、ステップＳ２０４で決定した探索範囲よりも狭い第２の探索範囲としてもよい。ここで探索される分割画像はステップＳ２０８で推定された位置から探索をするので、対応する位置が近くなっているためである。第２の探索範囲を適用することによって、位置を特定するために行われる差分を取る計算量が低減される。
ステップＳ２１２では、それぞれ特定された位置で比較した結果を出力する。位置特定の際に取得した差分をそのまま比較結果としても構わないし、さらに画像を加工して（例えば、差分を強調する等）出力しても構わない。
【００４５】
図８は、ブロック・移動量算出モジュール１５０が、ブロックサイズ１５２、移動量１５４を算出する処理例を示すフローチャートである。
ステップＳ８０２では、記録モジュール１２０、読取モジュール１３０で発生し得る拡大縮小率、回転角度（スキューの角度）を取得する。
ステップＳ８０４では、ブロックサイズを算出する。
ステップＳ８０６では、移動量を算出する。
ステップＳ８０８では、ブロックサイズ１５２、移動量１５４をデータ採取・位置推定モジュール１４０、比較・照合モジュール１６０へ渡す。
【００４６】
図１３は、ブロックサイズ１５２を算出する処理例を示す説明図である。記録モジュール１２０、読取モジュール１３０による回転、拡大縮小が全て最悪状態で発生した場合に、印刷画像１１５のブロックと読取画像１３５のブロックの中心を合わせたときの各隅での画素ずれが１画素以内となるようにブロックサイズを設定する。
図１３の例は、印刷画像１１５内の点１３５０が、記録モジュール１２０、読取モジュール１３０の誤差によって、どのようにずれていくかを示したものである。
点１３５０が、拡縮による移動（両走査方向最大縮小時）１３５５によって点１３６０へ移動する。さらに、スキューによる移動（反時計回り）１３６５によって点１３７０に移動する。これは、最大縮小（最も小さくなる場合）、反時計回りの回転が最大となった場合である。
点１３５０が、拡縮による移動（両走査方向最大拡大時）１３４５によって点１３４０へ移動する。さらに、スキューによる移動（時計回り）１３３５によって点１３３０に移動する。これは、最大拡大（最も大きくなる場合）、時計回りの回転が最大となった場合である。
【００４７】
（１）両走査方向で、最大縮小（ｘ軸方向倍率：ｒ１、ｙ軸方向倍率：ｒ２）、スキュー最大（反時計回り、回転角度α）のとき、ブロックの中心を原点として最も移動量が大きい対角線上の点の移動量を（１，１）で計算すると、式（１）のようになる。
【数１】
2015099585.tif 000003
この点を通る直線と元の直線でｙ＝１のときのｘの差分△ｘを計算する。図１３の例では、差分△ｘは、点１３５０、原点と点１３７０を通る直線、ｙ＝１の直線によって定まる。
【００４８】
（２）一方、両走査方向最大拡大（ｘ軸方向倍率：ｒ３、ｙ軸方向倍率：ｒ４）、スキュー最大（時計回り、回転角度β）のとき、ブロックの中心を原点として最も移動量が大きい対角線上の点の移動量を（１，１）で計算すると、式（２）のようになる。
【数２】
2015099585.tif 000004
この点を通る直線と元の直線でｘ＝１のときのｙの差分△ｙを計算する。図１３の例では、差分△ｙは、点１３５０、原点と点１３３０を通る直線、ｘ＝１の直線によって定まる。
（３）△ｘ、△ｙが１．４となるｙ’、ｘ’を計算する。そして、ブロックの幅、高さをＷ、Ｈとすると、式（３）のようになる。
【数３】
2015099585.tif 000005
なお、ｃｅｉｌ（）は小数点以下を切り上げする関数である。
これによって、ブロックサイズ１５２（式（３）のＷ、Ｈ）が算出できる。例えば、ブロックの幅、高さとして、それぞれ１００画素、１１０画素等となる。
【００４９】
次に図１４、１５の例を用いて、移動量１５４（探索範囲のサイズ）を算出する処理例を説明する。ここで算出する移動量１５４は、最遠点における移動量である。
記録モジュール１２０、読取モジュール１３０による回転、拡大縮小、移動が全て最悪状態で発生した場合に、ある用紙サイズ（例えば、Ａ３ノビ用紙）において右下隅での移動量を考慮できるように移動量１５４を設定する。なお、以下座標は左上隅を原点、右方向・下方向が正値方向、回転角は時計回りが正値方向とする。
右上方向へ移動量が最大となる条件下で、ある用紙サイズでの左上隅を原点として最も移動量が多い右下隅（例えば、Ａ３ノビ用紙では、３００ｄｐｉでの座標（３８９７，５７６３））の移動量を計算すると、式（４）のようになる。
【数４】
2015099585.tif 000006
ただし、Ｍｓｋｅｗはスキューによる移動量、Ｍｓｉｚｅは拡縮による移動量、Ｍｓｈｉｆｔはシフトによる移動量である。
ここで、Ｍｓｋｅｗ、Ｍｓｉｚｅ、Ｍｓｈｉｆｔは、それぞれ式（５）、式（６）、式（７）のようになる。
【数５】
2015099585.tif 000007
【数６】
2015099585.tif 000008
【数７】
2015099585.tif 000009
なお、γは回転角度、ｒ５、ｒ６は拡大縮小率、ｓ１、ｓ２は移動量である。
したがって、式（８）のようになる。
【数８】
2015099585.tif 000010
図１４の例を用いて説明する。図１４は、移動量を算出する処理例を示す説明図である。
点１４５０が、シフトによる移動（右上方向に最大）１４５５によって点１４６０へ移動する。さらに、拡縮による移動（主走査方向最大拡大、副走査方向最大縮小時）１４６５によって点１４７０に移動する。さらに、スキューによる移動（反時計回り）１４７５によって点１４８０に移動する。つまり、画像１４００の原点１４１０（図１４では左上隅）から最遠地点（右下隅）での、上方向、右方向への最大移動量を算出している。
【００５０】
一方、左下方向へ移動量が最大となる条件下で、ある用紙サイズでの左上隅を原点として最も移動量が多い右下隅（例えば、Ａ３ノビ用紙）の移動量を計算すると、式（９）、式（１０）、式（１１）のようになる。
【数９】
2015099585.tif 000011
【数１０】
2015099585.tif 000012
【数１１】
2015099585.tif 000013
なお、θは回転角度、ｒ７、ｒ８は拡大縮小率、ｓ３、ｓ４は移動量である。
したがって、式（１２）のようになる。
【数１２】
2015099585.tif 000014
図１５の例を用いて説明する。図１５は、移動量を算出する処理例を示す説明図である。
点１４５０が、シフトによる移動（左下方向に最大）１４４５によって点１４４０へ移動する。さらに、拡縮による移動（主走査方向最大縮小、副走査方向最大拡大時）１４３５によって点１４３０に移動する。さらに、スキューによる移動（時計回り）１４２５によって点１４２０に移動する。つまり、画像１４００の原点１４１０（図１５では左上隅）から最遠地点（右下隅）での、下方向、左方向への最大移動量を算出している。
【００５１】
以上から移動量の上方向最大値、下方向最大値、左方向最大値、右方向最大値を、それぞれ算出すればよい。例えば、それぞれ６７．４１画素、９５．９９画素、５８．７３画素、６２．４７画素となり、ブロックの上下左右方向の移動量は最低限、それぞれ６８画素、９６画素、５９画素、６３画素である。なお、実際には、記録モジュール１２０、読取モジュール１３０について、仕様をはずれたもの（スペックオーバー）があり得るために、予め定められた値だけ大きめに移動量を設定してもよい。この値は、原点１４１０から最遠点である点１４５０における移動量である。点１４５０以外の位置における移動量（探索範囲）は、その位置と点１４５０における移動量とに基づいて、データ採取・位置推定モジュール１４０が決定してもよい。
【００５２】
図１６を参照して、本実施の形態の画像処理装置ハードウェア構成例について説明する。図１６に示す構成は、例えばパーソナルコンピュータ（ＰＣ）などによって構成されるものであり、スキャナ等のデータ読み取り部１６１７と、プリンタなどのデータ出力部１６１８を備えたハードウェア構成例を示している。
【００５３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１６０１は、前述の実施の形態において説明した各種のモジュール、すなわち、データ採取・位置推定モジュール１４０、比較・照合モジュール１６０、画像生成モジュール１１０、ブロック・移動量算出モジュール１５０等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【００５４】
ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１６０２は、ＣＰＵ１６０１が使用するプログラムや演算パラメータ等を格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６０３は、ＣＰＵ１６０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはＣＰＵバスなどから構成されるホストバス１６０４により相互に接続されている。
【００５５】
ホストバス１６０４は、ブリッジ１６０５を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス１６０６に接続されている。
【００５６】
キーボード１６０８、マウス等のポインティングデバイス１６０９は、操作者により操作される入力デバイスである。ディスプレイ１６１０は、液晶表示装置又はＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などがあり、各種情報をテキストやイメージ情報として表示する。
【００５７】
ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１６１１は、ハードディスクを内蔵し、ハードディスクを駆動し、ＣＰＵ１６０１によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、印刷データ１０５、印刷画像１１５、読取画像１３５、変位量の推定値１４５、ブロックサイズ１５２、移動量１５４、欠陥検知結果１６５などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【００５８】
ドライブ１６１２は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体１６１３に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース１６０７、外部バス１６０６、ブリッジ１６０５、及びホストバス１６０４を介して接続されているＲＡＭ１６０３に供給する。リムーバブル記録媒体１６１３も、ハードディスクと同様のデータ記録領域として利用可能である。
【００５９】
接続ポート１６１４は、外部接続機器１６１５を接続するポートであり、ＵＳＢ、ＩＥＥＥ１３９４等の接続部を持つ。接続ポート１６１４は、インタフェース１６０７、及び外部バス１６０６、ブリッジ１６０５、ホストバス１６０４等を介してＣＰＵ１６０１等に接続されている。通信部１６１６は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部１６１７は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部１６１８は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【００６０】
なお、図１６に示す画像処理装置のハードウェア構成は、１つの構成例を示すものであり、本実施の形態は、図１６に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア（例えば特定用途向け集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ：ＡＳＩＣ）等）で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図１６に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機（スキャナ、プリンタ、複写機、ファックス等のいずれか２つ以上の機能を有している画像処理装置）などに組み込まれていてもよい。
【００６１】
なお、本実施の形態は、データ採取・位置推定モジュール１４０、比較・照合モジュール１６０を含む画像処理装置であればよく、また、ブロック・移動量算出モジュール１５０、読取モジュール１３０、記録モジュール１２０、画像生成モジュール１１０を含んでいてもよい。
【００６２】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク（ＤＶＤ）であって、ＤＶＤフォーラムで策定された規格である「ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ−ＲＡＭ等」、ＤＶＤ＋ＲＷで策定された規格である「ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等」、コンパクトディスク（ＣＤ）であって、読出し専用メモリ（ＣＤ−ＲＯＭ）、ＣＤレコーダブル（ＣＤ−Ｒ）、ＣＤリライタブル（ＣＤ−ＲＷ）等、ブルーレイ・ディスク（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、光磁気ディスク（ＭＯ）、フレキシブルディスク（ＦＤ）、磁気テープ、ハードディスク、読出し専用メモリ（ＲＯＭ）、電気的消去及び書換可能な読出し専用メモリ（ＥＥＰＲＯＭ（登録商標））、フラッシュ・メモリ、ランダム・アクセス・メモリ（ＲＡＭ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク（ＬＡＮ）、メトロポリタン・エリア・ネットワーク（ＭＡＮ）、ワイド・エリア・ネットワーク（ＷＡＮ）、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【００６３】
１０５…印刷データ
１１０…画像生成モジュール
１１５…印刷画像
１２０…記録モジュール
１２５…記録媒体
１３０…読取モジュール
１３５…読取画像
１４０…データ採取・位置推定モジュール
１４５…変位量の推定値
１５０…ブロック・移動量算出モジュール
１５２…ブロックサイズ
１５４…移動量
１６０…比較・照合モジュール
１６５…欠陥検知結果
【図１】
2015099585.tif 000015
【図２】
2015099585.tif 000016
【図３】
2015099585.tif 000017
【図４】
2015099585.tif 000018
【図５】
2015099585.tif 000019
【図６】
2015099585.tif 000020
【図７】
2015099585.tif 000021
【図８】
2015099585.tif 000022
【図９】
2015099585.tif 000023
【図１０】
2015099585.tif 000024
【図１１】
2015099585.tif 000025
【図１２】
2015099585.tif 000026
【図１３】
2015099585.tif 000027
【図１４】
2015099585.tif 000028
【図１５】
2015099585.tif 000029
【図１６】
2015099585.tif 000030