(57)【特許請求の範囲】
【請求項１】
補正対象の画像をフーリエ変換して、上記画像の周波数成分を示すフーリエ係数を出力するフーリエ変換手段と、上記フーリエ変換手段より出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出手段と、原画像に埋め込まれている複数の基準点の座標と上記振幅成分抽出手段により抽出された振幅成分の座標から、上記原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定する回転量・伸縮量推定手段と、上記回転量・伸縮量推定手段により推定された回転量及び伸縮量を用いて、補正対象の画像の回転及び伸縮を補正する回転・伸縮補正手段とを備えた画像補正装置。
【請求項２】
回転量・伸縮量推定手段は、原画像に埋め込まれている複数の基準点の座標と、振幅成分抽出手段により抽出された振幅成分の座標との組み合わせの中で、対応関係がある基準点の座標と振幅成分の座標を特定し、対応関係がある基準点の座標と振幅成分の座標を用いて、上記原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定することを特徴とする請求項１記載の画像補正装置。
【請求項３】
回転量・伸縮量推定手段は、原画像に埋め込まれている複数の基準点の座標と、振幅成分抽出手段により抽出された振幅成分の座標との組み合わせ毎に、当該基準点の座標と当該振幅成分の座標から、縦方向の伸縮量と横方向の伸縮量を表す平面上の二次元座標点を算出し、その算出した二次元座標点が上記平面上で密集している地点の座標値が縦方向及び横方向の伸縮量を表しているものと推定することを特徴とする請求項２記載の画像補正装置。
【請求項４】
回転量・伸縮量推定手段は、縦方向の伸縮量と横方向の伸縮量を表す平面上の二次元座標点を算出する際、原画像に対する補正対象の画像の回転角の条件を変えながら上記二次元座標点を算出し、
個々の回転角毎に、その算出した二次元座標点が上記平面上で密集している地点を特定して、その密集地点の密集度を算出し、
複数の回転角の中で、上記密集度が最も高くなる回転角が上記原画像に対する補正対象の画像の回転量であり、上記密集度が最も高い密集地点の座標値が縦方向及び横方向の伸縮量を表しているものと推定することを特徴とする請求項３記載の画像補正装置。
【請求項５】
回転量・伸縮量推定手段は、縦方向の伸縮量と横方向の伸縮量を表す平面上で、メッシュ状に区切られている区画毎に、当該区画内に存在している二次元座標点を計数し、二次元座標点の数が最も多い区画を密集地点として取り扱うことを特徴とする請求項３記載の画像補正装置。
【請求項６】
回転量・伸縮量推定手段は、縦方向の伸縮量と横方向の伸縮量を表す平面上で、メッシュ状に区切られている区画毎に、当該区画内に存在している各二次元座標点におけるフーリエ係数の振幅成分に比例している値を積算し、その積算値が最も大きい区画を密集地点として取り扱うことを特徴とする請求項３記載の画像補正装置。
【請求項７】
回転量・伸縮量推定手段は、密集地点として取り扱う区画内に存在している各二次元座標点におけるフーリエ係数の振幅成分の座標についての縦方向の平均値と横方向の平均値を算出し、その縦方向の平均値が縦方向の伸縮量を表し、その横方向の平均値が横方向の伸縮量を表しているものと推定することを特徴とする請求項５または請求項６記載の画像補正装置。
【請求項８】
回転量・伸縮量推定手段は、振幅成分の座標についての縦方向の平均値と横方向の平均値を算出する際、その振幅成分に比例している値の重み付けが施されている平均値を算出することを特徴とする請求項７記載の画像補正装置。
【請求項９】
フーリエ変換手段が補正対象の画像をフーリエ変換して、上記画像の周波数成分を示すフーリエ係数を出力するフーリエ変換処理ステップと、振幅成分抽出手段が上記フーリエ変換処理ステップで出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出処理ステップと、回転量・伸縮量推定手段が原画像に埋め込まれている複数の基準点の座標と上記振幅成分抽出処理ステップで抽出された振幅成分の座標から、上記原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定する回転量・伸縮量推定処理ステップと、回転・伸縮補正手段が上記回転量・伸縮量推定処理ステップで推定された回転量及び伸縮量を用いて、補正対象の画像の回転及び伸縮を補正する回転・伸縮補正処理ステップとを備えた画像補正方法。
【請求項１０】
補正対象の画像をフーリエ変換して、上記画像の周波数成分を示すフーリエ係数を出力するフーリエ変換処理手順と、上記フーリエ変換処理手順によって出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出処理手順と、原画像に埋め込まれている複数の基準点の座標と上記振幅成分抽出処理手順により抽出された振幅成分の座標から、上記原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定する回転量・伸縮量推定処理手順と、上記回転量・伸縮量推定処理手順により推定された回転量及び伸縮量を用いて、補正対象の画像の回転及び伸縮を補正する回転・伸縮補正処理手順とをコンピュータに実行させるための画像補正プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、回転や伸縮が施されている画像の回転及び伸縮を補正する画像補正装置、画像補正方法及び画像補正プログラムに関するものである。
【背景技術】
【０００２】
以下の特許文献１には、印刷された画像の傾きや拡大縮小の補正を行う画像補正装置が開示されている。
即ち、この画像補正装置は、原画像の周波数空間にピーク点を４点埋め込む一方、スキャナ等を用いて、印刷されている原画像を読み込み、その読み込んだ画像（以下、「補正対象画像」と称する）を高速フーリエ変換して、そのフーリエ変換結果のパワースペクトラム（振幅成分）からピーク点を取得する。
そして、この画像補正装置は、原画像のピーク点と補正対象画像のピーク点を比較して、ピーク点同士の原点からの距離や、原点とピーク点を結ぶ線分同士のなす角を算出することで、印刷された画像の傾きや拡大縮小の補正を行うようにしている。
【０００３】
また、以下の特許文献２に開示されている画像補正装置では、画像の位置合わせ（平行移動、伸縮）を行うために、最初に、縮小画像から対応点を検出することで平行移動する補正を行うようにしている。
そして、所定の角度ずつ回転させるとともに、縦方向及び横方向に所定の伸縮間隔ずつ画像を変形させて、画素値差分の絶対値の平均値を算出し、その平均値を用いて、都度マッチングの度合いを測ることで補正を行うようにしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１７１３９５号公報（段落番号［００１６］から［００２３］）
【特許文献２】特開２００６−０２０９３７号公報（段落番号［００１１］）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の画像補正装置は以上のように構成されているので、特許文献１の場合、画像の拡大率が二次元平面上のあらゆる方向に均等（少なくとも、Ｘ軸方向とＹ軸方向で同一の拡大率）であることが前提となっており、Ｘ軸方向とＹ軸方向で異なる拡大率で拡大縮小が施されている場合、画像の傾きや拡大縮小の補正を行うことができない課題があった。
即ち、Ｘ軸方向とＹ軸方向で拡大率が異なる場合、ピーク点同士の原点からの距離や、原点とピーク点を結ぶ線分同士のなす角が、二次元フーリエ平面上のピーク点の座標位置毎に不均一になる。これにより、ピーク点同士の原点からの距離や、原点とピーク点を結ぶ線分同士のなす角が、元の画像の拡大率や傾き角度を表現しているとは言えなくなるため、画像の傾きや拡大縮小の補正を行うことができなくなる。
【０００６】
特許文献２の場合、Ｘ軸方向とＹ軸方向で異なる拡大率で拡大縮小が施されている場合でも、画像の傾きや拡大縮小の補正を行うことができるが、逐一画像を変形させながら、都度マッチングの計算を行う必要があるため、マッチングの計算回数が膨大になる課題があった。
特に、補正の精度を高めるには、画像の変形の刻み幅を小さくして、回転角度や縦方向及び横方向に伸縮間隔のパターンを増やす必要があるが、回転角度や伸縮間隔のパターンを増やすと、回転角度／縦伸縮／横伸縮のそれぞれの要素の刻み幅に対応してマッチングの計算回数が三乗のオーダーで増大することになり、現実的な計算処理時間に収まらない可能性がある。したがって、リアルタイム処理など、高速計算が求められるケースには適用することができない。
【０００７】
この発明は上記のような課題を解決するためになされたもので、Ｘ軸方向とＹ軸方向で異なる拡大率で拡大縮小（伸縮）が施されている画像の回転及び伸縮を高速に補正することができる画像補正装置、画像補正方法及び画像補正プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００８】
この発明に係る画像補正装置は、補正対象の画像をフーリエ変換して、その画像の周波数成分を示すフーリエ係数を出力するフーリエ変換手段と、フーリエ変換手段より出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出手段と、原画像に埋め込まれている複数の基準点の座標と振幅成分抽出手段により抽出された振幅成分の座標から、原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定する回転量・伸縮量推定手段とを設け、回転・伸縮補正手段が回転量・伸縮量推定手段により推定された回転量及び伸縮量を用いて、補正対象の画像の回転及び伸縮を補正するようにしたものである。
【発明の効果】
【０００９】
この発明によれば、補正対象の画像をフーリエ変換して、その画像の周波数成分を示すフーリエ係数を出力するフーリエ変換手段と、フーリエ変換手段より出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出手段と、原画像に埋め込まれている複数の基準点の座標と振幅成分抽出手段により抽出された振幅成分の座標から、原画像に対する補正対象の画像の回転量と縦方向及び横方向の伸縮量を推定する回転量・伸縮量推定手段とを設け、回転・伸縮補正手段が回転量・伸縮量推定手段により推定された回転量及び伸縮量を用いて、補正対象の画像の回転及び伸縮を補正するように構成したので、縦方向と横方向で異なる拡大率で伸縮が施されている画像の回転及び伸縮を高速に補正することができる効果がある。
【図面の簡単な説明】
【００１０】
【図１】この発明の実施の形態１による画像補正装置を示す構成図である。
【図２】この発明の実施の形態１による画像補正方法（画像補正装置の処理内容）を示すフローチャートである。
【図３】この発明の実施の形態１による画像補正装置の回転量・伸縮量推定部３の処理内容を示すフローチャートである。
【図４】原画像に対する基準点の埋め込み処理を示す説明図である。
【図５】基準点の座標Ｅとフーリエ係数の振幅成分の座標Ｄとの関係を示す説明図である。
【図６】（ａ，ｄ）の二次元平面上にメッシュ状に区画されている範囲を示す説明図である。
【図７】ｍ×ｋ個の要素を有する二次元配列ｖを示す説明図である。
【図８】この発明の実施の形態２による画像補正装置の回転量・伸縮量推定部３の投票操作を示す説明図である。
【図９】この発明の実施の形態３による画像補正装置の回転量・伸縮量推定部３の推定処理を示す説明図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１はこの発明の実施の形態１による画像補正装置を示す構成図である。
図１において、フーリエ変換部１は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、補正対象の画像（以下、「補正対象画像Ａ」と称する）を入力すると、その補正対象画像Ａを高速フーリエ変換（ＦＦＴ：Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）して、補正対象画像Ａの周波数成分を示すフーリエ係数を振幅成分抽出部２に出力する処理を実施する。なお、フーリエ変換部１はフーリエ変換手段を構成している。
【００１２】
振幅成分抽出部２は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、フーリエ変換部１より出力されたフーリエ係数から振幅成分を抽出する処理を実施する。なお、振幅成分抽出部２は振幅成分抽出手段を構成している。
【００１３】
回転量・伸縮量推定部３は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、原画像に埋め込まれている複数の基準点の座標Ｅを示す基準点座標列を入力すると、その基準点座標列が示す複数の基準点の座標Ｅと振幅成分抽出部２により抽出された振幅成分の座標Ｄから、原画像に対する補正対象画像Ａの回転量θ、Ｘ軸方向（横方向）の伸縮量ａ及びＹ軸方向（縦方向）の伸縮量ｄを推定する処理を実施する。
即ち、回転量・伸縮量推定部３は基準点座標列が示す複数の基準点の座標Ｅと、振幅成分抽出部２により抽出された振幅成分の座標Ｄとの組み合わせの中で、対応関係がある基準点の座標Ｅと振幅成分の座標Ｄを特定し、対応関係がある基準点の座標Ｅと振幅成分の座標Ｄを用いて、原画像に対する補正対象画像Ａの回転量θ、Ｘ軸方向の伸縮量ａ及びＹ軸方向の伸縮量ｄを推定する処理を実施する。なお、回転量・伸縮量推定部３は回転量・伸縮量推定手段を構成している。
【００１４】
回転・伸縮補正部４は例えばＣＰＵを実装している半導体集積回路、あるいは、ワンチップマイコンなどから構成されており、回転量・伸縮量推定部３により推定された回転量θ及び伸縮量ａ，ｄを用いて、補正対象画像Ａの回転及び伸縮を補正する処理を実施する。なお、回転・伸縮補正部４は回転・伸縮補正手段を構成している。
【００１５】
図１では、画像補正装置の構成要素であるフーリエ変換部１、振幅成分抽出部２、回転量・伸縮量推定部３及び回転・伸縮補正部４のそれぞれが専用のハードウェアで構成されているものを想定しているが、画像補正装置がコンピュータで構成されていてもよい。
画像補正装置がコンピュータで構成されている場合、フーリエ変換部１、振幅成分抽出部２、回転量・伸縮量推定部３及び回転・伸縮補正部４の処理内容（フーリエ変換処理手順、振幅成分抽出処理手順、回転量・伸縮量推定処理手順、回転・伸縮補正処理手順）が記述されている画像補正プログラムをコンピュータのメモリ（例えば、ＲＯＭ）に格納し、当該コンピュータのＣＰＵが当該メモリに格納されている画像補正プログラムを実行するようにすればよい。
図２はこの発明の実施の形態１による画像補正方法（画像補正装置の処理内容）を示すフローチャートである。
また、図３はこの発明の実施の形態１による画像補正装置の回転量・伸縮量推定部３の処理内容を示すフローチャートである。
【００１６】
次に動作について説明する。
図１の画像補正装置は、外部から原画像に埋め込まれている複数の基準点の座標Ｅを示す基準点座標列が入力されるが、原画像には、以下のようにして、複数の基準点が電子透かしとして埋め込まれる。
図４は原画像に対する基準点の埋め込み処理を示す説明図である。
【００１７】
まず、図４（ａ）に示すような原画像をＦＦＴして、原画像の周波数成分を示すフーリエ係数（図４（ｂ）を参照）を求める。
次に、原画像の周波数成分を示すフーリエ係数の中から、補正量の推定に用いる基準点を埋め込む任意のフーリエ係数を選択する。図４（ｃ）の例では、基準点を埋め込む任意のフーリエ係数として、４つの点を選択している。
次に、選択した複数のフーリエ係数の振幅成分が、その周辺のフーリエ係数の振幅成分と比べて際立って大きくなるように、選択した複数のフーリエ係数の値を変更する（図４（ｃ）を参照）。
以下、値を変更しているフーリエ係数の座標点を「ピーク点」と称する。
【００１８】
複数のフーリエ係数の値を変更することでピーク点を作成すると、フーリエ係数を逆フーリエ変換することで、原画像の周波数成分を画像成分に戻すようにする。
画像成分に戻された原画像には、図４（ｄ）に示すように、通常は目に見えない電子透かしとして、複数の基準点が埋め込まれている。
この実施の形態１では、画像補正装置に入力される補正対象画像Ａは、複数の基準点が埋め込まれている原画像、または、当該原画像に対して回転・伸縮・平行移動等の変換が施されている画像であるとする。
【００１９】
画像補正装置のフーリエ変換部１は、補正対象画像Ａを入力すると、その補正対象画像ＡをＦＦＴして、補正対象画像Ａの周波数成分を示すフーリエ係数を振幅成分抽出部２に出力する（図２のステップＳＴ１）。
振幅成分抽出部２は、フーリエ変換部１からフーリエ係数を受けると、そのフーリエ係数の値から振幅成分を抽出し、その振幅成分を回転量・伸縮量推定部３に出力する（図２のステップＳＴ２）。
【００２０】
回転量・伸縮量推定部３は、振幅成分抽出部２から振幅成分を受け、外部から基準点座標列を受けると、その基準点座標列が示す複数の基準点の座標Ｅと振幅成分抽出部２により抽出された振幅成分の座標Ｄから、原画像に対する補正対象画像Ａの回転量θ、Ｘ軸方向の伸縮量ａ及びＹ軸方向の伸縮量ｄを推定する（図２のステップＳＴ３）。
回転・伸縮補正部４は、回転量・伸縮量推定部３が回転量θと伸縮量ａ，ｄを推定すると、その回転量θ及び伸縮量ａ，ｄを用いて、補正対象画像Ａの回転及び伸縮を補正する（図２のステップＳＴ４）。
補正対象画像Ａを回転量θだけ補正する技術や、補正対象画像ＡをＸ軸方向に伸縮量ａだけ伸縮する技術、補正対象画像ＡをＹ軸方向に伸縮量ｄだけ伸縮する技術自体は、公知の技術であるため説明を省略する。
【００２１】
以下、回転量・伸縮量推定部３における推定処理を具体的に説明する。
原画像に対する補正対象画像Ａの回転量がθ、Ｘ軸方向の伸縮量がａ、Ｙ軸方向の伸縮量がｄであるとき、画像上の任意の点（Ｘ，Ｙ）が回転及び伸縮によって点（Ｘ’，Ｙ’）に遷移したとすると、それらの点の関係は、一次変換を用いて、次式のように記述される。
0005858762.tif 000002
【００２２】
式（１）を伸縮量ａ，ｄを表現する式に変形すると、次式のようになる。
0005858762.tif 000003
したがって、回転量θと、変換前後で対応する点（Ｘ，Ｙ），（Ｘ’，Ｙ’）の座標値とが分かれば、Ｘ軸方向及びＹ軸方向の伸縮量ａ，ｄである（ａ，ｄ）を表現することが可能になる。
【００２３】
ここで、図５は基準点の座標Ｅとフーリエ係数の振幅成分の座標Ｄとの関係を示す説明図である。
図５の例では、基準点の座標ＥがＥ1（Ｘ1，Ｙ1），Ｅ2（Ｘ2，Ｙ2），・・・，ＥN（ＸN，ＹN）で表される二次元座標の点列であり、フーリエ係数の振幅成分の座標ＤがＤ1（Ｘ’1，Ｙ’1），Ｄ2（Ｘ’2，Ｙ’2），・・・，Ｄn（Ｘ’n，Ｙ’n）で表される二次元座標の点列である。
【００２４】
二次元座標の点列に含まれる任意の基準点の座標Ｅi（Ｘi，Ｙi）と、二次元座標の点列に含まれる任意のフーリエ係数の振幅成分の座標Ｄj（Ｘ’j，Ｙ’j）とを用いると、上記の（ａ，ｄ）に対応する（ａij，ｄij）は、次のように表現することができる。ただし、０≦ｉ＜Ｎ、０≦ｊ＜ｎである。
0005858762.tif 000004
なお、（ａij，ｄij）は、「回転角θによる回転変換と伸縮変換によって、基準点の座標Ｅi（Ｘi，Ｙi）をフーリエ係数の振幅成分の座標Ｄj（Ｘ’j，Ｙ’j）に移動すると仮定した場合のＸ軸方向の伸縮率がａij、Ｙ軸方向の伸縮率がｄij」であることを意味している。
【００２５】
回転量・伸縮量推定部３は、回転角θをある一定の値に固定して、上記の式（３）により計算される（ａij，ｄij）を、（ａ，ｄ）の二次元平面（Ｘ軸方向の伸縮率ａとＹ軸方向の伸縮率ｄを表す二次元平面）上での１つの座標点とみなし、複数の基準点の座標Ｅi（Ｘi，Ｙi）とフーリエ係数の振幅成分の座標Ｄj（Ｘ’j，Ｙ’j）との全ての組み合わせを考え、それぞれの組み合わせに対応する座標点（ａij，ｄij）（合計Ｎ×ｎ個の点）を（ａ，ｄ）の二次元平面上にプロットする。
【００２６】
Ｎ×ｎ個の座標点（ａij，ｄij）のうち、Ｅi（Ｘi，Ｙi）とＤj（Ｘ’j，Ｙ’j）の組み合わせが「正しい」場合、即ち、基準点の座標Ｅi（Ｘi，Ｙi）が画像の回転変換及び伸縮変換によって移動された先の座標がＤj（Ｘ’j，Ｙ’j）に相当する場合、座標点（ａij，ｄij）の周辺領域には、同様に他の「正しい」組み合わせにより生成された（ａ，ｄ）座標上のプロット点が密集していると考えられる（このようなプロット点は、Ｍｉｎ（Ｎ，ｎ）個存在する）。
逆に、「正しい」組み合わせでない場合には、その密集領域から外れている座標地点にプロットされることが予想される。
【００２７】
このため、（ａ，ｄ）の二次元平面上でプロット点が最も密集している地点が、「正しい」（ａ，ｄ）の値、即ち、画像のＸ軸方向及びＹ軸方向の伸縮率ａ，ｄを表現していると考えることができる。
このように、ある一定の変換式で変換された平面座標の密集地点を探索することで、画像の変換パラメータを見つけ出す方法は、Ｈｏｕｇｈ変換の基本的な考え方である。
【００２８】
ここで、画像に対する回転変換や伸縮変換がフーリエ係数に及ぼす影響について解説する。
画像に対する回転変換は、当該画像のフーリエ係数の振幅成分にも、同じ角度の回転変換として影響が及ぶことになる。即ち、画像に対して回転角θの回転変換を施すと、そのフーリエ係数の振幅成分の各座標も回転角θの回転変換によって移動する。
また、画像に対する伸縮変換は、当該画像のフーリエ係数の振幅成分に対して、その逆数の伸縮変換として影響が及ぶことになる。即ち、画像に対してＸ軸方向に伸縮率ａ、Ｙ軸方向に伸縮率ｄの伸縮変換を施すと、そのフーリエ係数の振幅成分の各座標が、Ｘ軸方向に伸縮率１／ａ、Ｙ軸方向に伸縮率１／ｄの伸縮変換によって移動する。
従って、フーリエ係数の振幅成分から推定される回転角については、そのまま画像に対する回転角の推定値として用いることが可能であるが、推定される伸縮率ａ，ｄについては、その逆数が画像に対する伸縮率の推定値として用いるべき点に注意が必要である。
【００２９】
（ａ，ｄ）の二次元平面上でのプロット点の密集地点を見つけ出す方法を具体的に説明する。
回転量・伸縮量推定部３は、図６に示すように、（ａ，ｄ）の二次元平面上の或る範囲内を縦横等間隔に分割する。
例えば、プロットの対応範囲を０≦ａ＜ａmax、０≦ｄ＜ｄmaxとして、ａ軸方向にｍ等分、ｄ軸方向にｋ等分に対応範囲領域を分割する場合、ａ軸方向とｄ軸方向は、それぞれ下記のように分割される。
［ａ軸方向］
０≦ａ＜ａmax／ｍ，ａmax／ｍ≦ａ＜ａmax／ｍ×２，・・・
，ａmax／ｍ×（ｍ−１）≦ａ＜ａmax
［ｄ軸方向］
０≦ｄ＜ｄmax／ｋ，ｄmax／ｋ≦ｄ＜ｄmax／ｋ×２，・・・
，ｄmax／ｋ×（ｋ−１）≦ｄ＜ｄmax
【００３０】
次に、回転量・伸縮量推定部３は、図７に示すようなｍ×ｋ個の要素を有する二次元配列ｖを考え、下記に示すように、上記の各分割領域を二次元配列要素と対応付ける処理を行う。ただし、二次元配列ｖは、予め全ての要素が０に初期化されているものとする。
０≦ｄ＜ｄmax／ｋ 、かつ、０≦ａ＜ａmax／ｍ
→  ｖ［０］［０］
０≦ｄ＜ｄmax／ｋ 、かつ、ａmax／ｍ≦ａ＜ａmax／ｍ×２
→  ｖ［０］［１］
：
：
０≦ｄ＜ｄmax／ｋ 、かつ、ａmax／ｍ×（ｍ−１）≦ａ＜ａmax 
→  ｖ［０］［ｍ−１］
：
：
ｄmax／ｋ×（ｋ−１）≦ｄ＜ｄmax 、かつ、ａmax／ｍ×（ｍ−１）≦ａ＜ａmax 
→  ｖ［ｋ−１］［ｍ−１］
【００３１】
回転量・伸縮量推定部３は、各分割領域を二次元配列要素と対応付けると、（ａ，ｄ）の二次元平面上にプロットしている座標点（ａij，ｄij）が、
ｄmax／ｋ×ｙ≦ｄi＜ｄmax／ｋ×（ｙ＋１） 、かつ、ａmax／ｍ×ｘ≦ａ＜ａmax／ｍ×（ｘ＋１） であれば、対応する二次元配列要素ｖ［ｙ］［ｘ］に“１”を加算する操作を行う。以下、“１”を加算する操作を「投票」と称する。
回転量・伸縮量推定部３は、同様の「投票」操作を全ての座標点（ａij，ｄij）に対して実行する。
【００３２】
最終的に、各分割領域の「投票」の数が、当該分割領域に属するプロット点の数に等しくなり、最も「投票」の数が多い領域が「最密集地点」を含むと考えられる。
そのため、回転量・伸縮量推定部３は、最も「投票」の数が多い分割領域の中心点の座標（最密集地点座標）を伸縮率（ａ，ｄ）の推定値とする。
ただし、密集地点を求める際、領域境界の問題によって、正確な精度が得られない事態も考えられるため、その対処方法として、例えば、対応する二次元配列要素ｖ［ｙ］［ｘ］だけでなく、その周辺領域にも「投票」の対象領域を広げる方法が考えられる。
例えば、対応する二次元配列要素ｖ［ｙ］［ｘ］に対しては投票値“３”を加算し、その周辺の二次元配列要素ｖ［ｙ−δｙ］［ｘ−δｘ］（−１≦δｘ≦＋１、−１≦δｙ≦＋１、ただしδｘ＝δｙ＝０は除く）に対しては投票値“２”を加算し、ｖ［ｙ−δｙ×２］［ｘ−δｘ×２］に対しては投票値“１”を加算するなどのように、周辺領域になるに従って加算値を減らしていくような傾斜投票を行う。
【００３３】
回転量・伸縮量推定部３は、上記のようにして、回転角θがある一定の値であるときの（ａ，ｄ）の二次元平面上での最密集地点を探索すると、その最密集地点における投票数の密集度ｐを求め、最密集地点座標である伸縮率（ａ，ｄ）と密集度ｐを回転角θの関数として、（ａpeak（θ），ｄpeak（θ），ｐ（θ））のように表現する。
回転量・伸縮量推定部３は、回転角θを細かく変化させながら、上記と同様の処理によって、異なる回転角θでの（ａpeak（θ），ｄpeak（θ），ｐ（θ））を算出し、複数の回転角θの中で、ｐ（θ）が最も大きくなる回転角θをθmaxとして、この回転角θmaxを回転量の推定値とする。
また、回転量・伸縮量推定部３は、回転角θがθmaxであるときの（ａpeak（θmax），ｄpeak（θmax））をＸ軸方向及びＹ軸方向の伸縮率の推定値とする。
【００３４】
図３は以上の処理をまとめたフローチャートである。
図３のフローチャートの内容を簡単に説明すると、まず、回転量・伸縮量推定部３は、ある回転角θを設定する（ステップＳＴ１１）。
そして、回転量・伸縮量推定部３は、基準点の座標Ｅi（Ｘi，Ｙi）とフーリエ係数の振幅成分の座標Ｄj（Ｘ’j，Ｙ’j）との全ての組み合わせを考え、ループ処理によって、それぞれの組み合わせに対応する座標点（ａij，ｄij）を（ａ，ｄ）の二次元平面上にプロットし、座標点（ａij，ｄij）が対応する二次元配列要素ｖ［ｙ］［ｘ］に“１”を加算する「投票」操作を行う（ステップＳＴ１２〜ＳＴ１８）。
【００３５】
回転量・伸縮量推定部３は、「投票」操作が完了すると、二次元配列要素ｖ［ｙ］［ｘ］の中で、最大値を有する要素を見つけることで、投票値が最大となる領域を探索し（ステップＳＴ１９）、その「最大投票領域」および「最大投票値」を算出する。
次に、回転角θの値を変えて（ステップＳＴ２０，ＳＴ２１）、同様の「投票」操作を別の（ａ，ｄ）の二次元平面上で行い、同じように最大投票領域を探索し、その最大投票値を算出する（ステップＳＴ１２〜ＳＴ１９）。
【００３６】
回転量・伸縮量推定部３は、複数の回転角θに対して、「最大投票領域」の探索及び「最大投票値」の算出を行い、それらの中で「最大投票値」が最も大きくなる回転角θと、対応する「最大投票領域」に対応する（ａ，ｄ）を特定する。
最終的に、それらのθ，ａ，ｄをそれぞれ回転量、Ｘ軸方向の伸縮率、Ｙ軸方向の伸縮率の推定値として回転・伸縮補正部４に出力する。
【００３７】
以上で明らかなように、この実施の形態１によれば、補正対象画像Ａをフーリエ変換して、その画像の周波数成分を示すフーリエ係数を出力するフーリエ変換部１と、フーリエ変換部１より出力されたフーリエ係数から振幅成分を抽出する振幅成分抽出部２と、原画像に埋め込まれている複数の基準点の座標Ｅと振幅成分抽出部２により抽出された振幅成分の座標Ｄから、原画像に対する補正対象画像Ａの回転量θ、Ｘ軸方向の伸縮量ａ及びＹ軸方向の伸縮量ｄを推定する回転量・伸縮量推定部３とを設け、回転・伸縮補正部４が回転量・伸縮量推定部３により推定された回転量θ及び伸縮量ａ，ｄを用いて、補正対象画像Ａの回転及び伸縮を補正するように構成したので、Ｘ軸方向とＹ軸方向で異なる拡大率で伸縮が施されている画像の回転及び伸縮を高速に補正することができる効果を奏する。
【００３８】
実施の形態２．
上記実施の形態１では、（ａ，ｄ）の二次元平面上で、ａ軸方向にｍ等分、ｄ軸方向にｋ等分に分割されている領域毎に、回転量・伸縮量推定部３が、当該領域内に存在している二次元座標点である座標点（ａij，ｄij）を計数し、座標点（ａij，ｄij）の数が最も多い領域を密集地点として取り扱うものを示したが、回転量・伸縮量推定部３が、当該領域内に存在している各座標点（ａij，ｄij）におけるフーリエ係数の振幅成分に比例している値を積算し、その積算値が最も大きい領域を密集地点として取り扱うようにしてもよい。
【００３９】
図８はこの発明の実施の形態２による画像補正装置の回転量・伸縮量推定部３の投票操作を示す説明図である。
この実施の形態２では、回転量・伸縮量推定部３は、座標点（ａij，ｄij）に対するフーリエ係数の振幅成分の値をＡiとすると、その「投票」操作として、その座標点（ａij，ｄij）が属する分割領域に対応する二次元配列要素ｖ［ｙ］［ｘ］に振幅成分の値Ａi（または、振幅成分の値Ａiに比例している値）を加算する。同様の「投票」操作を全ての座標点（ａij，ｄij）に対して実行する。
【００４０】
最終的に、各分割領域の「投票」の積算値は、その分割領域に属する座標点（ａij，ｄij）のフーリエ係数の振幅成分の値Ａi（または、振幅成分の値Ａiに比例している値）の総和に等しくなるため、最も「投票」の積算値が多い領域が「フーリエ係数の振幅成分の値が大きいプロット点が最も密集している地点」を含むと考えられる。即ち、フーリエ係数の振幅成分を重みとして加味して「最密集地点」を探索するため、その「最密集地点座標」は、推定される伸縮率（ａ，ｄ）により近くなると考えられる。
最終的に、その分割領域の中心点を最密集地点座標として、伸縮率（ａ，ｄ）の推定値とする。
【００４１】
以上で明らかなように、この実施の形態２によれば、（ａ，ｄ）の二次元平面上で、ａ軸方向にｍ等分、ｄ軸方向にｋ等分に分割されている領域毎に、回転量・伸縮量推定部３が、当該領域内に存在している各座標点（ａij，ｄij）におけるフーリエ係数の振幅成分に比例している値を積算し、その積算値が最も大きい領域を密集地点として取り扱うように構成したので、回転量θ及び伸縮量ａ，ｄの推定精度を高めることができる効果を奏する。
【００４２】
実施の形態３．
上記実施の形態１，２では、回転量・伸縮量推定部３が、最密集地点を含む分割領域の中心点の座標を伸縮率（ａ，ｄ）の推定値とするものを示したが、回転量・伸縮量推定部３が、最密集地点を含む分割領域内に存在している各座標点（ａij，ｄij）におけるフーリエ係数の振幅成分の座標についてのＸ軸方向の平均値とＹ軸方向の平均値を算出し、そのＸ軸方向の平均値がＸ軸方向の伸縮量ａを表し、そのＹ軸方向の平均値がＹ軸方向の伸縮量ｄを表しているものと推定するようにしてもよい。
【００４３】
図９はこの発明の実施の形態３による画像補正装置の回転量・伸縮量推定部３の推定処理を示す説明図である。
図９の左側の四角領域は、（ａ，ｄ）の二次元平面上にある分割領域を示しており、その領域内に属するフーリエ係数の振幅成分の座標が７点（Ｐ１〜Ｐ７）である例を示している。
また、図９の右側の表は、Ｐ１〜Ｐ７のＸ座標・Ｙ座標と、振幅成分の値を表現している。
【００４４】
回転量・伸縮量推定部３は、図７に示している二次元配列ｖと同様の構成を取るｍ×ｋ個の要素を有する二次元配列ｍｅａｎx，ｍｅａｎyを準備し、当該分割領域に対応する単純平均値座標（下記の式（４）を参照）を算出して、それぞれのＸ座標，Ｙ座標を二次元配列ｍｅａｎx，ｍｅａｎyの対応する配列要素に記録する。
0005858762.tif 000005
【００４５】
そして、回転量・伸縮量推定部３は、上記実施の形態１，２と同様に、「最密集地点」として「投票」の数が最も多い分割領域を特定した後に、その分割領域に対応する二次元配列ｍｅａｎx，ｍｅａｎyの配列要素に記録されている最密集地点の座標を（ａ，ｄ）の推定値として用いる。
【００４６】
以上で明らかなように、この実施の形態３によれば、回転量・伸縮量推定部３が、最密集地点を含む分割領域内に存在している各座標点（ａij，ｄij）におけるフーリエ係数の振幅成分の座標についてのＸ軸方向の平均値とＹ軸方向の平均値を算出し、そのＸ軸方向の平均値がＸ軸方向の伸縮量ａを表し、そのＹ軸方向の平均値がＹ軸方向の伸縮量ｄを表しているものと推定するように構成したので、上記実施の形態１，２よりも更に伸縮量ａ，ｄの推定精度を高めることができる効果を奏する。
【００４７】
実施の形態４．
上記実施の形態３では、回転量・伸縮量推定部３が、最密集地点を含む分割領域内に存在している各座標点（ａij，ｄij）におけるフーリエ係数の振幅成分の座標についてのＸ軸方向の平均値とＹ軸方向の平均値を算出するものを示したが、回転量・伸縮量推定部３が、Ｘ軸方向の平均値とＹ軸方向の平均値を算出する際、振幅成分に比例している値の重み付けが施されている平均値を算出するようにしてもよい。
【００４８】
即ち、回転量・伸縮量推定部３は、下記の式（５）に示すように、フーリエ係数の振幅成分の値を重み付けしている平均値座標を算出して、それぞれのＸ座標，Ｙ座標を二次元配列ｍｅａｎx，ｍｅａｎyの対応する配列要素に記録するようにする。
0005858762.tif 000006
【００４９】
このように、回転量・伸縮量推定部３が、フーリエ係数の振幅成分の値を重み付けしている平均値座標を算出する場合、より振幅成分の値が大きい座標の影響をより大きく受け易くなるため、推定値の精度が更に向上する効果が得られる。
【００５０】
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【００５１】
１  フーリエ変換部（フーリエ変換手段）、２  振幅成分抽出部（振幅成分抽出手段）、３  回転量・伸縮量推定部（回転量・伸縮量推定手段）、４  回転・伸縮補正部（回転・伸縮補正手段）。
【図１】
0005858762.tif 000007
【図２】
0005858762.tif 000008
【図３】
0005858762.tif 000009
【図４】
0005858762.tif 000010
【図５】
0005858762.tif 000011
【図６】
0005858762.tif 000012
【図７】
0005858762.tif 000013
【図８】
0005858762.tif 000014
【図９】
0005858762.tif 000015