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