特許第6244805号(P6244805)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特許6244805-画像処理装置及び画像処理プログラム 図000014
  • 特許6244805-画像処理装置及び画像処理プログラム 図000015
  • 特許6244805-画像処理装置及び画像処理プログラム 図000016
  • 特許6244805-画像処理装置及び画像処理プログラム 図000017
  • 特許6244805-画像処理装置及び画像処理プログラム 図000018
  • 特許6244805-画像処理装置及び画像処理プログラム 図000019
  • 特許6244805-画像処理装置及び画像処理プログラム 図000020
  • 特許6244805-画像処理装置及び画像処理プログラム 図000021
  • 特許6244805-画像処理装置及び画像処理プログラム 図000022
  • 特許6244805-画像処理装置及び画像処理プログラム 図000023
  • 特許6244805-画像処理装置及び画像処理プログラム 図000024
  • 特許6244805-画像処理装置及び画像処理プログラム 図000025
  • 特許6244805-画像処理装置及び画像処理プログラム 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6244805
(24)【登録日】2017年11月24日
(45)【発行日】2017年12月13日
(54)【発明の名称】画像処理装置及び画像処理プログラム
(51)【国際特許分類】
   G06T 1/00 20060101AFI20171204BHJP
【FI】
   G06T1/00 310A
【請求項の数】4
【全頁数】17
(21)【出願番号】特願2013-215727(P2013-215727)
(22)【出願日】2013年10月16日
(65)【公開番号】特開2015-79335(P2015-79335A)
(43)【公開日】2015年4月23日
【審査請求日】2016年8月23日
(73)【特許権者】
【識別番号】000005496
【氏名又は名称】富士ゼロックス株式会社
(74)【代理人】
【識別番号】100115129
【弁理士】
【氏名又は名称】清水 昇
(74)【代理人】
【識別番号】100102716
【弁理士】
【氏名又は名称】在原 元司
(74)【代理人】
【識別番号】100122275
【弁理士】
【氏名又は名称】竹居 信利
(72)【発明者】
【氏名】河野 裕之
【審査官】 石田 信行
(56)【参考文献】
【文献】 特開2003−248827(JP,A)
【文献】 特開平11−003430(JP,A)
【文献】 特開平08−193818(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/00
H04N 1/00
H04N 1/04
H04N 1/387
(57)【特許請求の範囲】
【請求項1】
画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、
前記画像データの画像を前記媒体に形成した画像形成装置又は該媒体を読み取った画像読取装置で発生し得る誤差に基づいて生成された矩形に、前記画像データ又は読取データの一方の画像を分割して、矩形画像を抽出する抽出手段と、
前記誤差及び、前記画像データ又は前記読取データの一方の画像内の位置に基づいて、探索範囲を定める移動量の範囲を決定する決定手段と、
他方の画像内の前記決定手段によって決定された探索範囲で、前記抽出手段によって抽出された矩形画像を探索する探索手段と、
前記探索手段による探索結果における第2の位置と前記矩形画像の第1の位置との差分を、該第1の位置からの変位量とし、前記抽出手段によって抽出された矩形画像と前記探索手段による探索結果の画像とを比較する比較手段
を具備することを特徴とする画像処理装置。
【請求項2】
前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、
前記矩形は、前記アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが1画素以内である
ことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、
画像データ又は読取データにおける原点からの距離に応じて、前記移動量を大きくし、原点から最遠の地点における移動量は、該画像データ又は該読取データの大きさにおいて、前記アフィン変換による移動量が最大となる
ことを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
コンピュータを、
画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、
前記画像データの画像を前記媒体に形成した画像形成装置又は該媒体を読み取った画像読取装置で発生し得る誤差に基づいて生成された矩形に、前記画像データ又は読取データの一方の画像を分割して、矩形画像を抽出する抽出手段と、
前記誤差及び、前記画像データ又は前記読取データの一方の画像内の位置に基づいて、探索範囲を定める移動量の範囲を決定する決定手段と、
他方の画像内の前記決定手段によって決定された探索範囲で、前記抽出手段によって抽出された矩形画像を探索する探索手段と、
前記探索手段による探索結果における第2の位置と前記矩形画像の第1の位置との差分を、該第1の位置からの変位量とし、前記抽出手段によって抽出された矩形画像と前記探索手段による探索結果の画像とを比較する比較手段
として機能させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、非直線的な画像位置ずれの補正を、リアルタイム性を有して可能とする画像位置合わせ方法及びそれを用いる製品検査装置を安価に提供することを課題とし、垂直ビット方向と水平走査ライン方向に配列された画素で構成される2次元の検査画像(濃淡画像や2値画像)と基準画像を一定数のラインの集合であるラインブロックを単位として、セルマッチング演算部にてテンプレートマッチングを行い、このマッチング結果を、評価部にて定量的に評価して有効、無効を判定し、有効なマッチング結果から逐次的に位置ずれ量を算出し、その位置ずれ量に基づいて比較画素アドレスの補正演算をして位置ずれ補正を実行し、比較部で両画像を比較することが開示されている。
【0003】
特許文献2には、幾何歪みを補正するために必要とされる位置ずれ量を検出し、しかも、多数の小さな補正対象領域毎に位置ずれ量を検出する場合であっても高速に位置ずれ量を検出することができる撮像画像幾何歪み検出装置を提供することを課題とし、ラインセンサカメラによる主走査とウェブの移送による副走査とを組み合わせて前記ウェブを撮像し、得られる画像検査のための基準画像と検査対象画像についてテンプレートを用い前記基準画像と前記検査対象画像との位置ずれ量を検出する撮像画像幾何歪み検出装置であって、前記テンプレートが前記基準画像と前記検査対象画像を複数に分割した補正対象領域の各々に配置され、かつ、所定のテンプレートの位置ずれ量からその他のテンプレートの位置ずれ量を予測した予測値を用いることにより探索範囲を狭くし、前記位置ずれ量を高速検出するテンプレートマッチング手段を有することが開示されている。
【0004】
特許文献3には、処理時間が短く信頼度の高い位置ずれ補正を行って画像の検査を行うことのできる画像検査方法及びその装置を提供することを目的とし、補正すべき方向の基準画素データ列を抽出し、また検査対象画像上の対応する複数の検査対象画素データ列を抽出し、それらについて相関係数演算し、最大の相関係数を与える検査対象画素データ列の位置のデータ基づいて位置ずれを補正して基準画像と比較することが開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平09−035063号公報
【特許文献2】特開2000−082135号公報
【特許文献3】特開平07−249122号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本発明は、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形、移動量で、比較を行うようにした画像処理装置及び画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0007】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、前記画像データの画像を前記媒体に形成した画像形成装置又は該媒体を読み取った画像読取装置で発生し得る誤差に基づいて生成された矩形に、前記画像データ又は読取データの一方の画像を分割して、矩形画像を抽出する抽出手段と、前記誤差及び、前記画像データ又は前記読取データの一方の画像内の位置に基づいて、探索範囲を定める移動量の範囲を決定する決定手段と、他方の画像内の前記決定手段によって決定された探索範囲で、前記抽出手段によって抽出された矩形画像を探索する探索手段と、前記探索手段による探索結果における第2の位置と前記矩形画像の第1の位置との差分を、該第1の位置からの変位量とし、前記抽出手段によって抽出された矩形画像と前記探索手段による探索結果の画像とを比較する比較手段を具備することを特徴とする画像処理装置である。
【0008】
請求項2の発明は、前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、前記矩形は、前記アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが1画素以内であることを特徴とする請求項1に記載の画像処理装置である。
【0009】
請求項3の発明は、前記誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含み、画像データ又は読取データにおける原点からの距離に応じて、前記移動量を大きくし、原点から最遠の地点における移動量は、該画像データ又は該読取データの大きさにおいて、前記アフィン変換による移動量が最大となることを特徴とする請求項1又は2に記載の画像処理装置である。
【0010】
請求項4の発明は、コンピュータを、画像データと該画像データの画像を形成した媒体を読み取った読取データを受け付ける受付手段と、前記画像データの画像を前記媒体に形成した画像形成装置又は該媒体を読み取った画像読取装置で発生し得る誤差に基づいて生成された矩形に、前記画像データ又は読取データの一方の画像を分割して、矩形画像を抽出する抽出手段と、前記誤差及び、前記画像データ又は前記読取データの一方の画像内の位置に基づいて、探索範囲を定める移動量の範囲を決定する決定手段と、他方の画像内の前記決定手段によって決定された探索範囲で、前記抽出手段によって抽出された矩形画像を探索する探索手段と、前記探索手段による探索結果における第2の位置と前記矩形画像の第1の位置との差分を、該第1の位置からの変位量とし、前記抽出手段によって抽出された矩形画像と前記探索手段による探索結果の画像とを比較する比較手段として機能させるための画像処理プログラムである。
【発明の効果】
【0011】
請求項1の画像処理装置によれば、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形、移動量で、比較を行うことができる。
【0012】
請求項2の画像処理装置によれば、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが1画素以内となるようにした矩形を用いることができる。
【0013】
請求項3の画像処理装置によれば、画像データ又は読取データの大きさにおいて、アフィン変換による移動量が最大となる移動量を用いることができる。
【0014】
請求項4の画像処理プログラムによれば、画像データと読取データを比較する場合にあって、画像形成装置又は画像読取装置で発生し得る誤差を考慮した矩形、移動量で、比較を行うことができる。
【図面の簡単な説明】
【0015】
図1】本実施の形態の構成例についての概念的なモジュール構成図である。
図2】本実施の形態による処理例を示すフローチャートである。
図3】画像内の位置に基づく探索範囲の大きさの例を示す説明図である。
図4】欠陥検知の処理例を示す説明図である。
図5】ブロックサイズ、移動量を算出する処理例を示すフローチャートである。
図6】本実施の形態による処理例を示す説明図である。
図7】ブロック例を示す説明図である。
図8】比較・照合モジュールによる処理例を示す説明図である。
図9】ブロック画像と探索範囲の関係例を示す説明図である。
図10】ブロックサイズを算出する処理例を示す説明図である。
図11】移動量を算出する処理例を示す説明図である。
図12】移動量を算出する処理例を示す説明図である。
図13】本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じて定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という意味を有する記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスク、RAM(Random Access Memory)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unit)内のレジスタ等を含んでいてもよい。
【0017】
本実施の形態である画像処理装置を含む画像処理システム全体は、画像データと読取データを比較するものであって、図1の例に示すように、画像生成モジュール110、記録モジュール120、読取モジュール130、探索範囲決定モジュール140、ブロック・移動量算出モジュール150、比較・照合モジュール160を有している。
【0018】
画像生成モジュール110は、記録モジュール120、探索範囲決定モジュール140、比較・照合モジュール160と接続されている。画像生成モジュール110は、印刷データ105を画像データである印刷画像115に変換する。この変換処理には、ラスタライズ及び色空間変換を含む印刷に必要な画像変換処理を含む。PDF(Portable Document Format)(登録商標)等のPDLで記述された印刷データ105を、印刷機、プリンタで媒体(用紙)上に記録可能なラスター画像(印刷画像115)に変換する処理を行う。実装形態としては、専用ハードウェアと汎用PC(Personal Computer)等のコンピュータ上で動作するソフトウェアがある。処理結果である印刷画像115を記録モジュール120、探索範囲決定モジュール140、比較・照合モジュール160に渡す。
【0019】
記録モジュール120は、画像生成モジュール110、読取モジュール130と接続されている。記録モジュール120は、印刷画像115を記録媒体125に記録する。つまり、画像データの画像を媒体である記録媒体125上に形成する。いわゆる印刷、プリントアウトであり、記録モジュール120は画像形成装置であるプリンタとして実現される。
読取モジュール130は、記録モジュール120、探索範囲決定モジュール140、比較・照合モジュール160と接続されている。読取モジュール130は、記録媒体125上の印刷画像115を光電変換等により読取画像135に変換する。つまり、記録媒体125を読み取った読取データである読取画像135を生成する。いわゆるスキャン処理であり、読取モジュール130は画像読取装置であるスキャナとして実現される。読取画像135を探索範囲決定モジュール140、比較・照合モジュール160に渡す。
【0020】
探索範囲決定モジュール140は、画像生成モジュール110、読取モジュール130、ブロック・移動量算出モジュール150、比較・照合モジュール160と接続されている。探索範囲決定モジュール140は、印刷画像115の画像を記録媒体125に形成した記録モジュール120又はその記録媒体125を読み取った読取モジュール130で発生し得る誤差及び画像(印刷画像115、読取画像135のいずれでもあってもよい)内の位置に基づいて、探索範囲を定める移動量の範囲を決定する。「記録モジュール120又は読取モジュール130で発生し得る誤差」については、ブロック・移動量算出モジュール150の説明で後述する。例えば、探索範囲決定モジュール140は、印刷画像115又は読取画像135における原点からの距離に応じて、移動量を大きくし、原点から最遠の地点における移動量は、印刷画像115又は読取画像135の大きさにおいて、記録モジュール120又は読取モジュール130において発生し得る誤差であるアフィン変換による移動量が最大となるように算出する。なお、原点からの距離とは、ブロックの位置と同値である。印刷画像115又は読取画像135の原点は、記録モジュール120又は読取モジュール130の誤差の発生が最小の位置であり、例えば、画像の左上角の座標をいう。「原点から最遠の地点」は、原点から最遠の位置である。原点から最遠の位置は、記録モジュール120又は読取モジュール130の誤差の発生が最大の位置であり、例えば、画像の右下角の座標をいう。具体的には、探索範囲決定モジュール140は、左上角の座標から右下角の座標の方向に向かって、探索範囲の大きさを大きくする。そして、その最大の大きさは、「記録モジュール120又は読取モジュール130で発生し得る誤差」の最大値によって定まるものであり、ブロック・移動量算出モジュール150によって算出される移動量154である。
【0021】
図3の例を用いて説明する。図3は、画像内の位置に基づく探索範囲の大きさの例を示す説明図である。図3(a)の例は、画像300における原点310(左上角)と最遠点390(右下角)の位置の例を示している。そして、図3(b)の例は、原点310におけるブロック312、探索範囲314の関係を示している。探索範囲314は、ブロック312と比較して予め定められた値(0以上)だけ大きい。図3(c)の例は、最遠点390におけるブロック392、探索範囲394の関係を示している。探索範囲394は、ブロック・移動量算出モジュール150が算出した移動量154によって定まる大きさである。なお、ブロック312とブロック392の大きさは同じであり、ブロック・移動量算出モジュール150が算出したブロックサイズ152である。ここでは、原点として左上角、最遠点として右下角の例を示したが、記録モジュール120又は読取モジュール130で発生し得る誤差の性質に応じて、4点(右下角、右上角、左下角、左上角)のいずれであってもよい。ここでは、記録モジュール120又は読取モジュール130の回転は左上角を中心に発生し、拡大縮小は左上角から離れるほどその効果が大きい場合を例にしている。
【0022】
比較・照合モジュール160は、画像生成モジュール110、読取モジュール130、探索範囲決定モジュール140と接続されている。比較・照合モジュール160は、印刷画像115と読取画像135を比較・照合して欠陥の有無及び発生領域を検知する。比較・照合モジュール160は、印刷画像115と読取画像135を受け付ける。読取画像135は、印刷画像115の画像を形成した記録媒体125を読み取ったものである。つまり、プリントアウト対象の元の印刷画像115と、その印刷画像115をプリントアウトし、プリントアウトした記録媒体125をスキャンして得た読取画像135を受け付ける。これは、記録モジュール120、読取モジュール130によって発生する欠陥の有無を確認するためである。ここで、欠陥とは、ノイズといわれるものであり、理想的には、印刷画像115と読取画像135とは完全一致することになる。しかし、記録モジュール120、読取モジュール130の整備状況等によって、欠陥が発生することになる。なお、記録モジュール120、読取モジュール130では、誤差が発生し得る。ここで、「発生し得る誤差」とは、記録モジュール120、読取モジュール130の設計仕様上許容されている誤差である。誤差としては、具体的に、拡大縮小、回転、移動のアフィン変換がある。誤差として、例えば、回転がx度以上発生しないという設計仕様を実現(設計目標を達成)した場合に、x度未満の回転は、発生し得ることになる。
そこで、比較・照合モジュール160は、記録モジュール120、読取モジュール130で発生し得る誤差を除いた欠陥(例えば、3画素以上の黒画素混入)を抽出しようとするものである。つまり、設計仕様上許容されている誤差以外の欠陥が発生しているか否かを確認し、その欠陥が発生している位置を特定して、記録モジュール120、読取モジュール130の整備に役立てようとするものである。
【0023】
比較・照合モジュール160は、記録モジュール120又は読取モジュール130で発生し得る誤差に基づいて生成された矩形(以下、ブロックともいう)に、印刷画像115又は読取画像135の一方の画像を分割して、矩形画像を抽出する。一方の画像は、印刷画像115、読取画像135のいずれであってもよい。以下、主に、印刷画像115を一方の画像とし、読取画像135を他方の画像として説明する。ブロック分割については、図6を用いて説明する。図6は、本実施の形態による処理例を示す説明図である。図6(a)の例では、参照画像600aを9×12個のブロックに分割している。もちろんのことながら、分割数は、ブロックサイズ、参照画像600aのサイズによって異なる。また、ブロックサイズと参照画像600aのサイズの関係によっては、必ずしも整数個で分割できるわけではないが、例えば、1つのブロックに満たない部分は、白等の画像を付加すればよい。また、ブロック・移動量算出モジュール150からブロックサイズ152を受け取り、ブロックに分割する。
図7は、ブロック例を示す説明図であり、図6(a)の例に示すブロック画像610aを拡大表示したものである。ブロック画像610aは、W×Hの大きさを有している。そして、ブロック画像610aの中心画素710の座標を(C,C)とする。
【0024】
次に、比較・照合モジュール160は、他方の画像内の探索範囲決定モジュール140によって決定された探索範囲で、抽出した矩形画像を探索する。例えば、図6(b)は、図6(a)に示すブロック画像610aを探索する例を示している。図6(b)に示すように、読取画像600b内の「移動量の範囲」である探索範囲650bで、ブロック画像610aを探索する。なお、参照画像600a内のブロック画像610aに対応するものは、読取画像600b内のブロック画像610bである。理想的には(記録モジュール120、読取モジュール130で発生し得る誤差が0である場合)、欠陥を検出するためには、ブロック画像610aとブロック画像610bとを比較するだけで済むことになるが、実際には、記録モジュール120、読取モジュール130で発生し得る誤差があるので、その誤差を考慮した探索範囲650b内で探索を行うものである。これによって、読取画像600b全体を探索する必要がなく、読取画像600b内におけるブロック画像610aに合致する位置を発見することができる。探索範囲は、一方の画像における矩形の位置と同じ位置における他方の画像の矩形を含み、その矩形を中心として上下左右の移動量で形成される領域である。
探索処理について、図8を用いて説明する。図8は、比較・照合モジュール160による処理例を示す説明図である。図8に示す例は、図6(b)の例に示す探索範囲650bを拡大表示したものである。読取画像600bの探索範囲650b内で、参照画像600aのブロック画像610aを1画素ずつ移動させて、テンプレートマッチングを行う。そして、そのテンプレートマッチングの結果、探索範囲内で最も近似していることを示している最大スコアが得られたブロック画像との相対位置を変位量820とする。つまり、探索範囲650b内においてブロック画像610aに対応するものはブロック画像610bであり、探索範囲650b内のブロック画像とブロック画像610aとでテンプレートマッチングを行った結果、最大スコア位置でのブロック画像830が抽出された場合は、変位量820となる。また、探索範囲決定モジュール140から探索範囲145を受け取り、対象としているブロックを探索する。
【0025】
次に、比較・照合モジュール160は、探索結果における位置を変位量とし、抽出した矩形画像と探索結果の画像とを比較する。「探索結果」とは、他方の画像の探索範囲内で、一方の画像内の矩形画像を比較し、最も両者が合致する位置を抽出した結果である。その位置と矩形画像の位置との差分を変位量としてもよい。「比較する」には、探索結果を用いるようにしてもよい。すなわち、探索結果は、最も合致した場合であるので、その合致度合いを欠陥検知結果165としてもよい。また、欠陥検知結果165には、合致度合いの他に、変位量を含めてもよい。
【0026】
図4を用いて説明する。図4は、比較・照合モジュール160による欠陥検知の処理例を示す説明図である。図4(a)の例に示す印刷ブロック画像410は、印刷画像115内のブロック画像であり、図4(b)の例に示す読取ブロック画像420は、読取画像135内のブロック画像であり、図4(c)の例に示す差分ブロック画像430は、印刷ブロック画像410と読取ブロック画像420の差分(排他的論理和処理の結果)である。比較・照合モジュール160は、ブロック毎に差分画像を生成し、その差分画像内で欠陥を検知する。欠陥としては、例えば、外接矩形の1辺の大きさが予め定められた範囲(例えば、3画素から5画素等)の大きさであるものを検知すればよい。
【0027】
ブロック・移動量算出モジュール150は、探索範囲決定モジュール140と接続されている。ブロック・移動量算出モジュール150は、記録モジュール120又は読取モジュール130で発生し得る誤差に基づいて、ブロックサイズ152、移動量154を算出する。そして、ブロックサイズ152、移動量154を探索範囲決定モジュール140に渡す。記録モジュール120又は読取モジュール130の誤差として、画像形成装置又は画像読取装置におけるアフィン変換を含む。誤差には、具体例として、拡大縮小率、回転角度等がある。なお、ブロック・移動量算出モジュール150による処理は、探索範囲決定モジュール140が処理を行う前であればよく、予め算出しておき、探索範囲決定モジュール140内にブロックサイズ152、移動量154を記憶していてもよい。また、そのときに用いられた記録モジュール120、読取モジュール130に対応するために、記録モジュール120、読取モジュール130から誤差を受け取り、その都度、ブロックサイズ152、移動量154を算出するようにしてもよい。
【0028】
ブロックサイズ152は、アフィン変換によって、一方の画像の矩形画像と他方の画像の矩形画像との画素ずれが1画素以内であるように定まっている。なお、ブロックサイズ152の算出については、図10の例を用いて後述する。
ブロック・移動量算出モジュール150が算出する移動量154は、印刷画像115又は読取画像135の大きさにおいて、アフィン変換による移動量が最大となるように定まっている。移動量154は、探索範囲650bを形成するためのものである。図9は、ブロック画像610aと探索範囲650bの関係例を示す説明図である。移動量154は、具体的には、上方向移動量、下方向移動量、左方向移動量、右方向移動量である。
ブロック画像610aの縦(ブロック高さ)は、L+1+Lであり、図7の例に示したHである。
ブロック画像610aの幅(ブロック幅)は、L+1+Lであり、図7の例に示したWである。
探索範囲650bの縦(探索範囲高さ)は、H+L+Lである。Lは上方向移動量である。Lは下方向移動量である。
探索範囲650bの幅(探索範囲幅)は、W+L+Lである。Lは左方向移動量である。Lは右方向移動量である。
なお、移動量154の算出については、図11、12の例を用いて後述する。
また、移動量154は、その画像における探索範囲の最大値を示しており、探索範囲決定モジュール140は、移動量154を用いて、画像内におけるブロックの位置に基づいて、探索範囲145を決定する。
【0029】
図2は、本実施の形態による処理例を示すフローチャートである。
ステップS202では、画像生成モジュール110は、印刷データ105を画像変換して、印刷画像115を生成する。
ステップS204では、記録モジュール120は、印刷画像115を記録媒体125上に記録する。
ステップS206では、読取モジュール130は、印刷画像115が記録された記録媒体125を読み取る。
ステップS208では、探索範囲決定モジュール140は、ブロック毎の探索範囲145を決定する。
ステップS210では、比較・照合モジュール160は、変換画像(印刷画像115)と読取画像135を比較・照合して欠陥発生領域を検知する。
【0030】
図5は、ブロック・移動量算出モジュール150が、ブロックサイズ152、移動量154を算出する処理例を示すフローチャートである。
ステップS502では、記録モジュール120、読取モジュール130で発生し得る拡大縮小率、回転角度(スキューの角度)を取得する。
ステップS504では、ブロックサイズを算出する。
ステップS506では、移動量を算出する。
ステップS508では、ブロックサイズ152、移動量154を探索範囲決定モジュール140、比較・照合モジュール160へ渡す。
【0031】
図10は、ブロックサイズ152を算出する処理例を示す説明図である。記録モジュール120、読取モジュール130による回転、拡大縮小が全て最悪状態で発生した場合に、印刷画像115のブロックと読取画像135のブロックの中心を合わせたときの各隅での画素ずれが1画素以内となるようにブロックサイズを設定する。
図10の例は、印刷画像115内の点1050が、記録モジュール120、読取モジュール130の誤差によって、どのようにずれていくかを示したものである。
点1050が、拡縮による移動(両走査方向最大縮小時)1055によって点1060へ移動する。さらに、スキューによる移動(反時計回り)1065によって点1070に移動する。これは、最大縮小(最も小さくなる場合)、反時計回りの回転が最大となった場合である。
点1050が、拡縮による移動(両走査方向最大拡大時)1045によって点1040へ移動する。さらに、スキューによる移動(時計回り)1035によって点1030に移動する。これは、最大拡大(最も大きくなる場合)、時計回りの回転が最大となった場合である。
【0032】
(1)両走査方向で、最大縮小(x軸方向倍率:r、y軸方向倍率:r)、スキュー最大(反時計回り、回転角度α)のとき、ブロックの中心を原点として最も移動量が大きい対角線上の点の移動量を(1,1)で計算すると、式(1)のようになる。
【数1】
この点を通る直線と元の直線でy=1のときのxの差分△xを計算する。図10の例では、差分△xは、点1050、原点と点1070を通る直線、y=1の直線によって定まる。
【0033】
(2)一方、両走査方向最大拡大(x軸方向倍率:r、y軸方向倍率:r)、スキュー最大(時計回り、回転角度β)のとき、ブロックの中心を原点として最も移動量が大きい対角線上の点の移動量を(1,1)で計算すると、式(2)のようになる。
【数2】
この点を通る直線と元の直線でx=1のときのyの差分△yを計算する。図10の例では、差分△yは、点1050、原点と点1030を通る直線、x=1の直線によって定まる。
(3)△x、△yが1.4となるy’、x’を計算する。そして、ブロックの幅、高さをW、Hとすると、式(3)のようになる。
【数3】
なお、ceil()は小数点以下を切り上げする関数である。
これによって、ブロックサイズ152(式(3)のW、H)が算出できる。例えば、ブロックの幅、高さとして、それぞれ100画素、110画素等となる。
【0034】
次に図11、12の例を用いて、移動量154(探索範囲のサイズ)を算出する処理例を説明する。ここで算出する移動量154は、最遠点における移動量である。
記録モジュール120、読取モジュール130による回転、拡大縮小、移動が全て最悪状態で発生した場合に、ある用紙サイズ(例えば、Aノビ用紙)において右下隅での移動量を考慮できるように移動量154を設定する。なお、以下座標は左上隅を原点、右方向・下方向が正値方向、回転角は時計回りが正値方向とする。
右上方向へ移動量が最大となる条件下で、ある用紙サイズでの左上隅を原点として最も移動量が多い右下隅(例えば、A3ノビ用紙では、300dpiでの座標(3897,5763))の移動量を計算すると、式(4)のようになる。
【数4】
ただし、Mskewはスキューによる移動量、Msizeは拡縮による移動量、Mshiftはシフトによる移動量である。
ここで、Mskew、Msize、Mshiftは、それぞれ式(5)、式(6)、式(7)のようになる。
【数5】
【数6】
【数7】
なお、γは回転角度、r、rは拡大縮小率、s、sは移動量である。
したがって、式(8)のようになる。
【数8】
図11の例を用いて説明する。図11は、移動量を算出する処理例を示す説明図である。
点1150が、シフトによる移動(右上方向に最大)1155によって点1160へ移動する。さらに、拡縮による移動(主走査方向最大拡大、副走査方向最大縮小時)1165によって点1170に移動する。さらに、スキューによる移動(反時計回り)1175によって点1180に移動する。つまり、画像1100の原点1110(図11では左上隅)から最遠地点(右下隅)での、上方向、右方向への最大移動量を算出している。
【0035】
一方、左下方向へ移動量が最大となる条件下で、ある用紙サイズでの左上隅を原点として最も移動量が多い右下隅(例えば、A3ノビ用紙)の移動量を計算すると、式(9)、式(10)、式(11)のようになる。
【数9】
【数10】
【数11】
なお、θは回転角度、r、rは拡大縮小率、s、sは移動量である。
したがって、式(12)のようになる。
【数12】
図12の例を用いて説明する。図12は、移動量を算出する処理例を示す説明図である。
点1150が、シフトによる移動(左下方向に最大)1145によって点1140へ移動する。さらに、拡縮による移動(主走査方向最大縮小、副走査方向最大拡大時)1135によって点1130に移動する。さらに、スキューによる移動(時計回り)1125によって点1120に移動する。つまり、画像1100の原点1110(図12では左上隅)から最遠地点(右下隅)での、下方向、左方向への最大移動量を算出している。
【0036】
以上から移動量の上方向最大値、下方向最大値、左方向最大値、右方向最大値を、それぞれ算出すればよい。例えば、それぞれ67.41画素、95.99画素、58.73画素、62.47画素となり、ブロックの上下左右方向の移動量は最低限、それぞれ68画素、96画素、59画素、63画素である。なお、実際には、記録モジュール120、読取モジュール130について、仕様をはずれたもの(スペックオーバー)があり得るために、予め定められた値だけ大きめに移動量を設定してもよい。この値は、原点1110から最遠点である点1150における移動量である。点1150以外の位置における移動量(探索範囲)は、その位置と点1150における移動量とに基づいて、探索範囲決定モジュール140が決定する。
【0037】
図13を参照して、本実施の形態の画像処理装置ハードウェア構成例について説明する。図13に示す構成は、例えばパーソナルコンピュータ(PC)などによって構成されるものであり、スキャナ等のデータ読み取り部1317と、プリンタなどのデータ出力部1318を備えたハードウェア構成例を示している。
【0038】
CPU(Central Processing Unit)1301は、前述の実施の形態において説明した各種のモジュール、すなわち、探索範囲決定モジュール140、比較・照合モジュール160、画像生成モジュール110、ブロック・移動量算出モジュール150等の各モジュールの実行シーケンスを記述したコンピュータ・プログラムにしたがった処理を実行する制御部である。
【0039】
ROM(Read Only Memory)1302は、CPU1301が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)1303は、CPU1301の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス1304により相互に接続されている。
【0040】
ホストバス1304は、ブリッジ1305を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス1306に接続されている。
【0041】
キーボード1308、マウス等のポインティングデバイス1309は、操作者により操作される入力デバイスである。ディスプレイ1310は、液晶表示装置又はCRT(Cathode Ray Tube)などがあり、各種情報をテキストやイメージ情報として表示する。
【0042】
HDD(Hard Disk Drive)1311は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU1301によって実行するプログラムや情報を記録又は再生させる。ハードディスクには、印刷データ105、印刷画像115、読取画像135、探索範囲145、ブロックサイズ152、移動量154、欠陥検知結果165などが格納される。さらに、その他の各種のデータ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0043】
ドライブ1312は、装着されている磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体1313に記録されているデータ又はプログラムを読み出して、そのデータ又はプログラムを、インタフェース1307、外部バス1306、ブリッジ1305、及びホストバス1304を介して接続されているRAM1303に供給する。リムーバブル記録媒体1313も、ハードディスクと同様のデータ記録領域として利用可能である。
【0044】
接続ポート1314は、外部接続機器1315を接続するポートであり、USB、IEEE1394等の接続部を持つ。接続ポート1314は、インタフェース1307、及び外部バス1306、ブリッジ1305、ホストバス1304等を介してCPU1301等に接続されている。通信部1316は、通信回線に接続され、外部とのデータ通信処理を実行する。データ読み取り部1317は、例えばスキャナであり、ドキュメントの読み取り処理を実行する。データ出力部1318は、例えばプリンタであり、ドキュメントデータの出力処理を実行する。
【0045】
なお、図13に示す画像処理装置のハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図13に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図13に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
【0046】
なお、本実施の形態は、探索範囲決定モジュール140、比較・照合モジュール160を含む画像処理装置であればよく、また、ブロック・移動量算出モジュール150、読取モジュール130、記録モジュール120、画像生成モジュール110を含んでいてもよい。
【0047】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digital)メモリーカード等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
【符号の説明】
【0048】
105…印刷データ
110…画像生成モジュール
115…印刷画像
120…記録モジュール
125…記録媒体
130…読取モジュール
135…読取画像
140…探索範囲決定モジュール
145…探索範囲
150…ブロック・移動量算出モジュール
152…ブロックサイズ
154…移動量
160…比較・照合モジュール
165…欠陥検知結果
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13