(57)【要約】【課題】画像の回転・拡大・縮小のリアルタイム処理を可能とし、かつ、必要とする画像メモリの容量を小容量として小型・低コストを実現する。【解決手段】本発明は、デジタル化された２次元の入力画像空間の画像データから所定の座標変換を施した出力画像空間の画像データを生成する画像処理方法および画像処理装置において、入力画像空間を構成する画像データを入力する入力手段１１と、入力手段１１で入力した画像データのうち一部分を構成する複数の入力画素データを蓄積する記憶手段１２と、記憶手段１２に蓄積した複数の入力画素データのうち、出力画像空間の画素に対応した入力画像空間上の特定画素の入力画素データを用いて出力画像空間を構成する画素に対応した出力画素データを演算する演算手段１３と、演算手段１３で演算した出力画像空間を構成する画素に対応した出力画素データを順次出力する出力手段１４とを備えている。【選択図】図１
2005327149.tif 000002
【特許請求の範囲】
【請求項１】
２次元の入力画像空間の画像データから所定の座標変換を施した出力画像空間の画像データを生成する画像処理方法において、
前記入力画像空間における画像データを入力し、この画像データのうち一部分を構成する複数の入力画素データを蓄積する工程と、
蓄積した前記複数の入力画素データのうち、前記出力画像空間の画素に対応した前記入力画像空間上の特定画素の入力画素データを用いて前記出力画像空間を構成する画素に対応した出力画素データを演算する工程と、
前記出力画像空間を構成する画素に対応した出力画素データを順次出力する工程と
を有することを特徴とする画像処理方法。
【請求項２】
前記特定画素は、前記出力画像空間の画素の位置を前記入力画像空間上に逆変換して得られる位置の周辺に配置される前記入力画像空間上の複数の画素から構成される
ことを特徴とする請求項１記載の画像処理方法。
【請求項３】
前記逆変換は、逆アフィン変換から成る
ことを特徴とする請求項２記載の画像処理方法。
【請求項４】
２次元の入力画像空間の画像データから所定の座標変換を施した出力画像空間の画像データを生成する画像処理装置において、
前記入力画像空間を構成する画像データを入力する入力手段と、
前記入力手段で入力した画像データのうち一部分を構成する複数の入力画素データを蓄積する記憶手段と、
前記記憶手段に蓄積した前記複数の入力画素データのうち、前記出力画像空間の画素に対応した前記入力画像空間上の特定画素の入力画素データを用いて前記出力画像空間を構成する画素に対応した出力画素データを演算する演算手段と、
前記演算手段で演算した前記出力画像空間を構成する画素に対応した出力画素データを順次出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項５】
前記特定画素は、前記出力画像空間の画素の位置を前記入力画像空間上に逆変換して得られる位置の周辺に配置される前記入力画像空間上の複数の画素から構成される
ことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記逆変換は、逆アフィン変換から成る
ことを特徴とする請求項５記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像の回転・拡大・縮小等を行う画像処理方法およびこれを用いた画像処理装置に関する。
【背景技術】
【０００２】
近年、コンピュータと画像処理技術の発達により、ビデオ撮影した対象物の画像を元に、パターン一致などの手法を用いて良否判定を行う検査装置等、産業機器の分野への画像処理技術の応用が進んでいる。これらの検査装置では、撮影した検査対象物の画像データと、マスターとなる画像データとの間の位置ずれを補償するため、撮影画像の回転・拡大・縮小処理といった画像処理を行う必要がある。この目的のため、アフィン変換による座標変換が一般に用いられている。
【０００３】
従来、画像データの回転・拡大・縮小変換を行う画像処理方法および画像処理装置は、例えば特許文献１に記載されている技術のように、原画像を記憶する第１のメモリと、回転・拡大・縮小して得られる画像を記憶する第２のメモリとを用意し、第１のメモリに記憶された原画像に対して、順次アフィン変換等の処理を行い、得られた画像を第２のメモリの指定したアドレスに格納する構成となっている。
【０００４】
図４は、この従来の画像処理装置を説明するブロック図である。すなわち、この画像処理装置は、原画像を記憶する第１メモリ４０１と、原画像の回転・拡大・縮小して得られる処理後の画像を記憶する第２のメモリ４０５とを備えている。また、その他、入力処理部４０２、横拡大縮小処理部４０３、出力処理部４０４、全体制御部４０６を備えた構成になっている。
【０００５】
【特許文献１】特開平７−８５２６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来の画像処理方法および画像処理装置は、第１のメモリと第２のメモリとを合わせた２画面分の画像データを記憶出来る画像メモリが必要であり、画像データの画素数が多くなると、必要とされる画像メモリの容量も大容量になるという課題を有している。
【０００７】
このような構成は、画像処理の対象が静止画であって、大容量のメモリを搭載したパーソナルコンピュータ等で画像変換の処理を行う場合には特に大きな課題とはならない。しかし、画像処理の対象がデジタルビデオカメラ画像のように、画像が時系列で次々と送られてくる場合にはリアルタイム処理が要求されるため、ハードウェアで変換処理を実現する必要がある。
【０００８】
この場合、画像処理のハードウェアを実現するために、ＦＰＧＡ等のプログラマブルデバイスを使用することが多いが、これらのプログラマブルデバイスに内蔵するメモリでは容量が不足するため、外付けの大容量メモリを制御基板上に実装する必要が生じる。これにより、基板上の部品の実装面積が大きくなると共に、コスト高となってしまう。小型・ポータブルなビデオカメラにこの画像処理装置を内蔵する場合など、特に画像処理装置の小型・低コスト化が要求される場合には、これは大きな課題である。
【０００９】
また、従来の画像処理装置で、デジタルビデオカメラ画像のリアルタイム処理を行おうとした場合、原画像１フレーム分を記憶した後に、変換処理を行って変換後の画像データを作成するため、変換処理の開始に１フレーム以上の遅れ時間が発生し、なおかつ変換処理中は次のフレームのデータを入力することが出来ないため、完全なリアルタイム処理は現実不可能であり、コマ落ちが発生するという課題も有している。
【課題を解決するための手段】
【００１０】
本発明は、このような課題を解決するために成されたものである。すなわち、本発明は、デジタル化された２次元の入力画像空間の画像データから所定の座標変換を施した出力画像空間の画像データを生成する画像処理方法において、入力画像空間を構成する画像データを入力し、この画像データのうち一部分を構成する複数の入力画素データを蓄積する工程と、蓄積した複数の入力画素データのうち、出力画像空間の画素に対応した入力画像空間上の特定画素の入力画素データを用いて出力画像空間を構成する画素に対応した出力画素データを演算する工程と、出力画像空間を構成する画素に対応した出力画素データを順次出力する工程とを有している。
【００１１】
また、本発明は、デジタル化された２次元の入力画像空間の画像データから所定の座標変換を施した出力画像空間の画像データを生成する画像処理装置において、入力画像空間を構成する画像データを入力する入力手段と、入力手段で入力した画像データのうち一部分を構成する複数の入力画素データを蓄積する記憶手段と、記憶手段に蓄積した複数の入力画素データのうち、出力画像空間の画素に対応した入力画像空間上の特定画素の入力画素データを用いて出力画像空間を構成する画素に対応した出力画素データを演算する演算手段と、演算手段で演算した出力画像空間を構成する画素に対応した出力画素データを順次出力する出力手段とを備えている。
【００１２】
このような本発明では、画像データのうち一部分を構成する複数の入力画素データを蓄積しておき、この蓄積した複数の入力画素データのうち、出力画像空間の画素に対応した入力画像空間上の特定画素の入力画素データを用いて出力画像空間を構成する画素に対応した出力画素データを演算し、これを順次出力するため、僅かな画素データを一時的に記憶しておくだけで迅速に出力画像を演算し、変換後の画像を出力することができるようになる。
【発明の効果】
【００１３】
したがって、本発明の画像処理方法および画像処理装置によれば、必要とする画像メモリの容量が、画像の回転・拡大・縮小の範囲に応じた必要最小限で済むことから、メモリの小容量化によって、制御基板の小型・低コスト化を実現することが可能となる。また、本発明によれば、画像の回転・拡大・縮小の範囲に応じた必要最小限の遅れ時間によるリアルタイム処理が可能となり、デジタルビデオカメラ画像を処理する場合、フレーム遅れが無くなるとともに、コマ落ちの問題を解決することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図に基づき説明する。図１は、本実施形態に係る画像処理装置の構成を説明するブロック図である。すなわち、この画像処理装置１は、デジタル化された２次元の入力画像空間から成る入力画像データを取得する入力手段１１と、入力手段１１で取得した入力画像データのうち一部分を構成する複数の入力画素データを蓄積する記憶手段１２と、記憶手段１２に蓄積した複数の入力画素データのうち、出力画像空間の画素と対応する入力画像空間上の特定画素の入力画素データを用いて出力画像空間を構成する画素に対応した出力画素データを演算する演算手段１３と、演算手段１３で演算した出力画像空間を構成する画素に対応した画素データを出力画像データとして順次出力する出力手段１４と、各部を制御する制御手段１５とを備えている。
【００１５】
ここで、入力画像データは、デジタルビデオカメラ等の出力する元画像データであり、デジタル化された２次元の入力画像空間から成る画像データである。また、画像処理装置１の演算手段１３では、所定のパラメータに応じて元画像の回転・拡大・縮小を行い、出力画像空間に対応した出力画像データを生成する。
【００１６】
また、記憶手段１２は、入力手段１１で取得した入力画像データのうち、演算手段１３で行う画像処理演算に応じた必要最小限の画素データ（例えば、数行〜数十行分の画素データ）を格納する。演算手段１３は、記憶手段１２に記憶された入力画像データの一部の画素データを用い、角度・倍率に応じて回転・拡大・縮小変換した場合に得られる出力画像データと元の入力画像データとの座標の関係を演算する。
【００１７】
また、制御手段１５は、回転・拡大・縮小変換した出力画像データの各座標に対応する画素データの格納先を演算手段１３により求めて一時的に記憶した入力画像データから画素データを取り出す処理を行う。出力手段１４は、制御手段１５で取り出した画素データを変換した出力画像の各画素データとして出力する処理を行う。
【００１８】
入力手段１１で取得する元画像データ（入力画像データ）は、水平・垂直同期信号と一緒に時系列で転送されるデータであり、水平・垂直同期信号を元に処理されて、記憶手段１２の画像メモリに一時的に記憶・格納される。画像メモリの容量は、画像の回転・拡大・縮小の範囲に応じた必要最小限のものであり、書き込むデータ量がメモリの容量を超えた場合は、古いデータから順に上書きされていく仕組みになっている。なお、上書きされる時点で、元の古いデータを使った処理は、既に終了しているものとする。
【００１９】
また、演算手段１３によって演算される出力画像と入力画像との関係は、演算方法として、逆アフィン変換を用いることで単純化される。以下、アフィン変換と逆アフィン変換について、簡単に説明する。すなわち、画像を回転したり、拡大／縮小したりする座標変換をアフィン変換といい、数１により表される。
【００２０】
【数１】
2005327149.tif 000003
【００２１】
この数１で、Dxは出力画像内における出力画素のｘ座標、Dyは出力画像内における出力画素のｙ座標、Sxは入力画像内における入力画素のｘ座標、Syは入力画像内における入力画素のｙ座標、Ｅ，Ｆは座標原点の移動を表す。
【００２２】
したがって、出力画像の原点が入力画像の原点に対してｘ方向にＥ、ｙ方向にＦ移動する。また、Ｂ＝Ｃ＝０ならば、出力画像は入力画像の原点に対し、ｘ方向にＡ倍、ｙ方向にＤ倍の拡大を表す。また、Ａ＝Ｄ＝Ｋ・cosθ，-Ｂ＝Ｃ＝Ｋ・sinθならば、出力画像は入力画像の原点に対し、θの回転とＫ倍の拡大を表す。
【００２３】
また、アフィン変換式を逆変換した数２で表される座標変換を逆アフィン変換という。
【００２４】
【数２】
2005327149.tif 000004
【００２５】
ただし、数２において、ＡＤ−ＢＣ≠０である。また、Sxは入力画像内における入力画素のｘ座標、Syは入力画像内における入力画素のｙ座標、Dxは出力画像内における出力画素のｘ座標、Dyは出力画像内における出力画素のｙ座標、ｅ，ｆは座標原点の移動を表す。
【００２６】
したがって、出力画像の原点が入力画像の原点に対してｘ方向に−ｅ、ｙ方向に−ｆ移動する。また、ｂ＝ｃ＝０ならば、出力画像は入力画像の原点に対し、ｘ方向に１／ａ倍、ｙ方向に１／ｄ倍の拡大を表す。また、ａ＝ｄ＝ｋ・cosθ，ｂ＝-ｃ＝ｋ・sinθならば、出力画像は入力画像の原点に対し、−θの回転と１／ｋ倍の拡大を表す。
【００２７】
入力画像をＫ倍してθ回転させる場合の逆アフィン変換式の係数行列は数３のようになる。
【００２８】
【数３】
2005327149.tif 000005
【００２９】
また、回転および拡大・縮小の中心座標を（OH,OV）としたとき、座標（OH,OV）は入力画像と出力画像で同じ座標に位置するため、座標原点の移動を表すパラメータ（ｅ，ｆ）は、以下の数４のようになる。
【００３０】
【数４】
2005327149.tif 000006
【００３１】
この逆アフィン変換式により、出力画素の座標（Dx，Dy）に対する入力画素の座標（Sx，Sy）が求まる。
【００３２】
図２は、出力画素の各座標（Dx，Dy）すなわちDxyに対応する入力画素の座標（Sx，Sy）すなわちSxyを逆アフィン変換によって求めた場合の、出力画素の各座標を示す出力画像空間と、これに対応する画像メモリ内の入力画像空間との関係を示したものである。ここでは図中白丸で示す入力画像空間の各座標を所定角度回転して図中黒丸で示す出力画像空間に変換する場合を示している。このような角度変換においては、例えば出力画像空間におけるD10の座標は、入力画像空間におけるSxyの座標と対応する。出力画像空間の整数座標と対応する入力画像空間の座標Sxyの値は、一般に非整数となる。
【００３３】
このため、図３に示すように、座標Sxyの画素データを求めるには、座標Sxyの周辺に配置される入力画像空間上の複数の画素（この複数の画素を特定画素と言い、図３に示す例ではS00,S10,S01,S11）の画素データを用いて線形補間を行う必要がある。したがって、出力画像空間の整数座標に対応した入力画像空間上の非整数から成る座標Sxyから、この座標Sxyを囲む画像メモリ内に実在する入力画像空間上の特定画素の４座標を求め、この４座標の入力画素データを線形補間することで、座標Sxyの画素データが求まる。
【００３４】
このように、演算手段１３の演算方法として逆アフィン変換を用いれば、記憶手段１２により入力画像の画素データを画像メモリに格納しておくことで、この画像メモリ上の入力画素データから直接、出力画素の各座標の画素データを作成することが可能となる。
【００３５】
制御手段１５は、上記演算手段１３により、回転・拡大・縮小変換した出力画像データの各座標に対応する画素データの格納先を求めて、記憶手段１２に一時的に記憶した入力画像データから画素データを取り出す働きを行う。そして、出力手段１４は、制御手段１５が取り出した画素データを出力画像データとして出力する。
【００３６】
これらの構成により、出力画像データを一時的に格納する画像メモリは必要なくなり、また、入力画像データを一時的に格納する画像メモリについても、画像の回転・拡大・縮小の範囲に応じた必要最小限（例えば、数行〜数十行分）のメモリ容量があれば済むことになる。また、画像の回転・拡大・縮小の範囲に応じた必要最小限の遅れ時間によるリアルタイム処理も可能となる。
【００３７】
なお、上記の例では、出力画像空間の画素に対応した入力画像空間上の特定画素として周辺の４画素を用いる場合を説明したが、４画素以上であっても、４画素未満であってもよい。また、特定画素の画素データを用いて線形補間によって出力画像空間の画素データを演算しているが、所定の重み付き演算など他の演算方法を用いてもよい。
【実施例】
【００３８】
以下、本発明の実施例を説明する。ここでは、1,280×1,024画素（約131万画素）の画像データを回転・拡大・縮小する場合を考える。なお、この場合における従来の技術では、入力画像用と出力画像用でそれぞれ１画面分ずつのメモリを必要とするので、必要なメモリ容量は、1,280×1,024×2=2,621,440ピクセル分（＝２画面分＝2048ライン分）となる。
【００３９】
本実施例で想定する回転角度の範囲は±3°、拡大・縮小の倍率の範囲は±3％とする。
【００４０】
（１）角度θ＝3％、倍率1.03で、画面の中央座標（640,512）を中心に回転および拡大をする場合には、以下の数５、数６のようになる。
【００４１】
【数５】
2005327149.tif 000007
【００４２】
【数６】
2005327149.tif 000008
【００４３】
また、出力画素の座標（0,2）に対応する入力画素の座標（Sx，Sy）は、数７のようになる。
【００４４】
【数７】
2005327149.tif 000009
【００４５】
（２）角度θ＝-3％、倍率1.03で、画面の中央座標（640,512）を中心に回転および拡大をする場合には、数８、数９のようになる。
【００４６】
【数８】
2005327149.tif 000010
【００４７】
【数９】
2005327149.tif 000011
【００４８】
出力画素の座標（1279,2）に対応する入力画素の座標（Sx，Sy）は、数１０のようになる。
【００４９】
【数１０】
2005327149.tif 000012
【００５０】
（３）角度θ＝3％、倍率0.97で、画面の中央座標（640,512）を中心に回転および縮小をする場合には、数１１、数１２のようになる。
【００５１】
【数１１】
2005327149.tif 000013
【００５２】
【数１２】
2005327149.tif 000014
【００５３】
出力画素の座標（0,2）に対応する入力画素の座標（Sx，Sy）は、数１３のようになる。
【００５４】
【数１３】
2005327149.tif 000015
【００５５】
（４）角度θ＝-3％、倍率0.97で、画面の中央座標（640,512）を中心に回転および縮小をする場合には、数１４、数１５のようになる。
【００５６】
【数１４】
2005327149.tif 000016
【００５７】
【数１５】
2005327149.tif 000017
【００５８】
出力画素の座標（1279,2）に対応する入力画素の座標（Sx，Sy）は、数１６のようになる。
【００５９】
【数１６】
2005327149.tif 000018
【００６０】
以上より、角度±3°、倍率1.03のときが、必要とするのメモリ容量が最大となり、その容量は入力画像の50ライン分程度となることが分かる。ピクセル数に換算すると、1,280×50＝64,000ピクセル分程度となる。これは、従来の技術の２画面分（＝2048ライン分）のメモリを必要としていたものに比べ、40分の1以下の容量であり、メモリ容量の大幅な削減が可能となる。
【図面の簡単な説明】
【００６１】
【図１】本実施形態に係る画像処理装置の構成を説明するブロック図である。
【図２】出力画像空間と入力画像空間との関係を説明する模式図である。
【図３】画素データの線形補間を説明する模式図である。
【図４】従来の画像処理装置を説明するブロック図である。
【符号の説明】
【００６２】
１…画像処理装置、１１…入力手段、１２…記憶手段、１３…演算手段、１４…出力手段、１５…制御手段
【図１】
2005327149.tif 000019
【図２】
2005327149.tif 000020
【図３】
2005327149.tif 000021
【図４】
2005327149.tif 000022