(57)【要約】【課題】本発明は、必要とするメモリ容量を少なくし、また演算回路を簡易的なもので実現できる画像認識装置及び画像回転処理方法を提供することを課題とする。【解決手段】出力回転画像のピクセルデータの作成は、図１に示すように、元画像１１のデータが装置に入力される順に出力回転画像１２のピクセルデータの作成を行い、出力回転画像１２の出力時に順序を並び替えて出力する。よって元画像１１のデータを格納するメモリは、処理対象となっているピクセルを含むライン分と補間処理用の１ライン分の計２ライン分の容量のメモリを備えればよい。【選択図】図１
2008234478.tif 000002
【特許請求の範囲】
【請求項１】
入力された元画像データから出力回転画像を生成する画像認識装置において
前記元画像データの処理対象のピクセルを含むラインと、補間処理に用いるピクセルを含むラインのデータを格納するメモリ部と、
回転角度から元画像データのピクセル間隔を斜辺としたＸ成分及びＹ成分を求める角度正弦余弦変換部と、
前記Ｘ成分及びＹ成分を用いて、元画像データが入力される順に、前記出力回転画像の元画像への参照座標を計算する座標検索部と、
前記参照座標が存在しないとき、補間処理を行う補間処理部と、
前記補間処理で得られた変換データを並び替えて前記出力回転画像のデータを出力する並び替え処理部と、
を備えることを特徴とする画像認識装置。
【請求項２】
前記角度正弦余弦変換部は、変換テーブルを備え、前記回転角度で前記変換テーブルを参照することにより前記Ｘ成分及びＹ成分を求めることを特徴とする請求項１に記載の画像認識装置。
【請求項３】
前記メモリ部は、前記元画像データの２ライン分のデータの容量を備えることを特徴とする請求項１または２に記載の画像認識装置。
【請求項４】
前記角度正弦余弦変換部は、元画像データのピクセル間隔の１／ｎ倍を斜辺として前記Ｘ成分及びＹ成分を求めることを特徴とする請求項１に記載の画像認識装置。
【請求項５】
前記角度正弦余弦変換部は、前記元画像データの処理対象の範囲から有効範囲を求め、当該有効範囲外のラインのデータに対しては、前記座標検索部は処理を行わないことを特徴とする請求項１に記載の画像認識装置。
【請求項６】
前記座標検索部は、前記参照座標を計算する開始座標及び終了座標を事前に求め、当該開始座標と終了座標の間において前記参照座標を計算することを特徴とする請求項１に記載の画像認識装置。
【請求項７】
前記補間処理部は、バイリニア法により補間処理を行うことを特徴とする請求項１に記載の画像認識装置。
【請求項８】
前記補間処理部が前記バイリニア法による補間を行うのに必要な周囲４ピクセルの前記メモリ部でのアドレスを求めるメモリリードアドレス制御部を更に備えることを特徴とする請求項７に記載の画像認識装置。
【請求項９】
前記座標検索部による前記参照座標の計算、及び前記補間処理部による補間処理は、パイプライン処理を行うことを特徴とする請求項１に記載の画像認識装置。
【請求項１０】
入力された元画像データから出力回転画像を生成する画像回転方法において、
回転角度から元画像データのピクセル間隔を斜辺としたＸ成分及びＹ成分を求め、
前記Ｘ成分及びＹ成分を用いて、元画像データが入力される順に、前記出力回転画像の元画像への参照座標を計算し、
前記参照座標に対して補間処理を行い、
前記補間処理で得られた変換データを並び替えて前記出力回転画像のデータを出力する
ことを特徴とする画像回転処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウエアによって画像処理を行う画像認識装置に関し、更に詳しくは入力画像をリアルタイムで回転処理する画像認識装置に関する。
【背景技術】
【０００２】
現在画像認識に用いられる画像処理のほとんどがソフトウエアで行われているが、一部の機能のハードウエア化が進められている。これはハードウエアの利点である並列処理による高速な画像処理が要求されているためである。
【０００３】
例えば特許文献１乃至４には、一部若しくは全部の機能がハードウエア化され、原画像に対して回転等のなどの画像処理を行う装置が開示されている。
図１９は従来の画像処理における回転処理の方法を示す図である。
【０００４】
図１９において、１は出力回転画像、２は元画像を示す。
同図において回転処理は、出力回転画像１の各ピクセルが元画像２のどこの座標に該当するか座標計算し、その座標のデータを参照することで行う。元画像２に出力画像１の参照となる点を示すと傾いた矩形３で表示される。
【０００５】
この処理のフローの詳細は、以下のようになる。
（１）元画像２の１フレーム分のデータをメモリに格納する。
（２）処理開始前に出力する回転画像１の回転角度を決める。
（３）出力回転画像１の各ピクセルの値が元画像２のどのピクセルに該当するか、すなわち参照するピクセルの座標を計算する。
参照を行う元画像２の座標は以下の計算式で求める。
ｘ＝  Ｘ・ｃｏｓθ＋Ｙ・ｓｉｎθ
ｙ＝−Ｘ・ｓｉｎθ＋Ｙ・ｃｏｓθ
θ：回転角度、ｘ，ｙ：元画像２の座標、Ｘ，Ｙ：出力画像１の座標
（４）元画像２から参照する座標のピクセルデータをメモリより読み出す。計算で求めた座標が中間値で対応するピクセルが存在しないときは、補間によってピクセルの値を生成する必要があるため周辺のピクセルの値を読み出す。
（５）出力回転画像１のデータを出力する。補間が必要な箇所は補間処理を行って出力する。
（６）（３）〜（５）を出力回転画像１の全ピクセルに対して順次処理を行いデータを生成する。
【０００６】
図２０に（６）における出力回転画像１の処理順序を示す。
同図に示すように出力回転画像１の右上の位置のピクセルからｘ方向に順に元画像２における対応ピクセルを求め、この対応ピクセルのデータから出力回転画像１のデータを求める。
【０００７】
なお図２０では、出力回転画像１は元画像２をθ度逆回転させたものなので、同図のように対応ピクセルを求めると、元画像２の処理開始地点から順に右上方向（ｘ＋，ｙ＋）に対応ピクセルが生じることとなる。
【０００８】
この（１）〜（６）までの処理のタイムチャートを図２１に示す。
同図において、元画像２が入力されるとこれがメモリに格納される（（１））。格納が
完了すると画像処理開始前に回転角度が決定され（（２））、この回転角度から元画像２上で対応する座標が計算される（（３））。そして計算結果から、対応する元画像２の座標のデータを読み出し（（４））、これを出力回転座標１のデータとして出力する（（５））。
【０００９】
元画像２のメモリへの入力が終了した後、この（３）〜（５）までの処理を、出力回転画像１の全画素に対して順次行う。（６）
【特許文献１】特開平１１−２５２３５３号公報
【特許文献２】特開平６−３３３０３２号公報
【特許文献３】特開２００６−１３８０３号公報
【特許文献４】特開平１０−２２２６５５５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上記したような画像処理をソフトウエアにより行った場合、出力回転画像１の全ピクセルに対して計算を行うため計算量が多く、ソフトウエア処理では膨大な時間がかかる。
そこで処理を高速化するためにハードウエア化を考えた場合、上記したように一度元画像２を１フレーム分格納する必要があるために大きなメモリが必要となる。また、三角関数や割り算という演算が複雑な処理が含まれていて、演算処理のための回路規模が膨大になってしまうという問題が生じる。
【００１１】
上記問題点を鑑み、本発明は、必要とするメモリ容量を少なくし、また演算回路を簡易的なもので実現できる画像認識装置及び画像回転処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明は、入力された元画像データから出力回転画像を生成する画像認識装置を前提とし、上記目的を達成するためメモリ部、角度正弦余弦変換部、座標検索部、補間処理部、及び並び替え処理部を備える。
【００１３】
メモリ部は、前記元画像データの処理対象のピクセルを含むラインと、補間処理に用いるピクセルを含むラインのデータを格納する。
角度正弦余弦変換部は、回転角度から元画像データのピクセル間隔を斜辺としたＸ成分及びＹ成分を求める。
【００１４】
座標検索部は、前記Ｘ成分及びＹ成分を用いて、元画像データが入力される順に、前記出力回転画像の元画像への参照座標を計算する。
補間処理部は、前記参照座標が存在しないとき、補間処理を行う。
【００１５】
並び替え処理部は、前記補間処理で得られた変換データを並び替えて前記出力回転画像のデータを出力する。
この構成により、小容量のメモリ部で画像認識装置を実現することができる。
【００１６】
また前記角度正弦余弦変換部は、変換テーブルを備え、前記回転角度で前記変換テーブルを参照することにより前記Ｘ成分及びＹ成分を求める構成としても良い。
この構成により、計算に要するハードウエアを簡易に実現することができる。
【００１７】
前記メモリ部は、例えば前記元画像データの２ライン分のデータの容量を備える。
前記角度正弦余弦変換部は、元画像データのピクセル間隔の１／ｎ倍を斜辺として前記Ｘ成分及びＹ成分を求める。
【００１８】
この構成により、出力回転画像を拡大することができる。
また前記角度正弦余弦変換部は、前記元画像データの処理対象の範囲から有効範囲を求め、当該有効範囲外のラインのデータに対しては、前記座標検索部は処理を行わないよう構成することもできる。
【００１９】
更には、前記座標検索部は、前記参照座標を計算する開始座標及び終了座標を事前に求め、当該開始座標と終了座標の間において前記参照座標を計算する構成とすることもできる。
【００２０】
これらの構成により、無駄な処理は行わないように構成することができる。
また前記補間処理部は、例えばバイリニア法により補間処理を行う。
この場合、前記補間処理部が前記バイリニア法による補間を行うのに必要な周囲４ピクセルの前記メモリ部でのアドレスを求めるメモリリードアドレス制御部を更に備える構成としても良い。
【００２１】
また前記座標検索部による前記参照座標の計算、及び前記補間処理部による補間処理は、パイプライン処理を行うよう構成することもできる。
この構成により、処理速度を向上させることができる。
【００２２】
また本発明は、画像認識装置だけでなく画像回転処理方法もその範囲に含む。
【発明の効果】
【００２３】
本発明によれば、入力された元画像データから順に出力回転画像のピクセルデータを作成することができるので、元画像データを全て格納する必要がなくなりメモリ容量の削減を行うことが出来る。
【００２４】
また傾きの指定を変更し、変換にテーブルを用いることで三角関数や割り算の演算の代替ができる。よって、そのために必要となる回路を削減することができる。
更には、また回転処理と同時に拡大処理を行うことで、回路の削減に寄与する。
【発明を実施するための最良の形態】
【００２５】
まず本実施形態の画像認識装置での画像回転処理の概要について説明する。
本実施形態の画像認識装置では、出力回転画像のピクセルデータの作成は、図１に示すように、元画像１１のデータが装置に入力される順に出力回転画像１２のピクセルデータの作成を行い、出力回転画像１２の出力時に順序を並び替えて出力する。よって元画像１１のデータを格納するメモリは、処理対象となっているピクセルを含むライン分と補間処理用の１ライン分の計２ライン分の容量のメモリを備えればよい。なお本実施形態では、補間処理には、補間対象のピクセルの周辺の４ピクセルより算出するバイリニア法を使用するものとする。
【００２６】
図１に示すように、元画像１１のデータは、横方向（ｘ方向）に順次入力されてゆき、処理対象の範囲１３のデータが入力されると、入力された順番に処理をして出力回転画像のデータ１４として格納してゆく。そして全ての画像処理が終了後、出力回転画像１２の出力時に、出力回転画像のデータ１４を出力開始地点が左上で出力終了地点が右下になるように順序を並べ替えて出力する。
【００２７】
この処理により、従来のように一度１フレーム分の元画像をメモリに格納する必要がないので、元画像格納用のメモリの容量を小さくすることができる。
また、出力回転画像１２作成時に補間する箇所を密にすることで、回転処理と同時に画像の拡大処理が可能となる。なお処理対象の範囲１３の大きさは、予め定められているも
のとする。
【００２８】
また本実施形態の画像認識装置においては、画像処理時に用いる回転の傾きの指定を角度ではなく、図２のような出力回転画像のピクセル間隔を斜辺としたＸ軸成分（余弦）とＹ軸成分（正弦）を用いて指定する。
【００２９】
角度を正弦と余弦に変換するには変換テーブルを用いて行う。これにより、計算に用いる演算器の規模を小さくすることができる。
正弦と余弦の値は２進数の固定小数で表現し、小数部はｎ桁用意する。そして元画像のピクセル間隔を１として計算する。参照にする元画像の座標も小数部をｎ桁もつ２進数の固定小数で表現する。これにより、１ピクセルの間隔を１／２n 間隔で表現することができる。
【００３０】
次に本実施形態の画像認識装置構成について説明する。
図３は、本実施形態の画像認識装置の構成例を示す図である。
同図の画像認識装置２０は、元画像データ２１及びパラメータデータ２２を入力とし、メモリ部２３、角度→正弦余弦変換部２４、座標検索部２５、メモリリードアドレス制御部２６、補間処理部２７、及び並び替え処理部２８を備える。
【００３１】
元画像データ２１はフレームの先頭を示すタイミングパルスと画像データよりなる。パラメータデータ２２は、回転角度、中心位置及び拡大率を示すデータである。
メモリ部２３は元画像を２ライン分の保存できる容量を持つ画像バッファメモリである。角度→正弦余弦変換部２４は、パラメータデータ２２として与えられた回転角度を、自己が持つ変換表を用いてＸ軸線分（余弦）、Ｙ軸成分（正弦）のデータに変換するものである。座標検索部２５は、Ｘ軸成分及びＹ軸成分を用いて、出力回転座標の元画像への参照座標を計算するものである。メモリリードアドレス制御部２６は、補間処理に用いる参照すべき座標の周辺４ピクセルのメモリ部２３でのアドレスを生成するものである。補間処理部２７は、参照すべき座標のデータを補間処理により生成するものである。並び替え処理部２８は、補間処理で得られた変換データを出力する際に並べ替えを行うものである。
【００３２】
この画像認識装置２０は、元画像データ２１をフレーム単位で処理する。この処理の手順を示したタイムチャートを図４に示す。なお以下の（１）〜（８）の番号は図４中の番号と対応している。
（１）入力された元画像データ２１からフレームの先頭を示すタイミングパルスを受信する。
（２）（１）の元画像のタイミングパルスを受けて、角度→正弦余弦変換部２４において変換テーブルを参照することにより、パラメータデータ２２内の回転角度と拡大率を、出力回転画像のピクセル間隔のＸ 軸成分（余弦）とＹ軸成分（正弦）に変換して、処理有効範囲を算出し、有効範囲フラグを設定する。
（３）座標検索部２５で参照すべき座標を計算する。
（４）メモリリードアドレス制御部２６で、参照すべき座標の周辺４ピクセルのリードアドレスを生成する。
（５）メモリ部２３から、（３）で求めた４ピクセルのデータ値を読み出す。
（６）補間処理部２７で、バイリニア法を用いて４ピクセルから１ピクセルの値を算出する。
（７）（３）〜（６）の処理を元画像の画像データ入力にあわせてパイプライン処理する。この処理は画像の有効範囲すべてに実行する。
（８）１フレーム分のデータ作成が終わると、並び替え処理部８で並び替え処理を行い、回転処理画像出力を行う。
【００３３】
上記処理をフローチャートで表したのが図５である。なお同図中の（１）〜（８）の数字は図４のものと対応している。
同図の処理が開始されると、まずステップＳ１として、入力された元画像データ２１からフレームの先頭を示すタイミングパルスを受信する。
【００３４】
次にステップＳ２としてステップＳ１の画像のタイミングパルスを受けて、角度→正弦余弦変換部２４は、変換テーブルを用いて、パラメータデータ２２内の回転角度を、出力回転画像のピクセル間隔のＸ軸成分（余弦）とＹ軸成分（正弦）に変換し、また有効範囲を算出する。
【００３５】
そしてステップＳ３として、参照すべき座標の計算（ステップＳ３０１）、参照すべき座標の周辺４ピクセルのメモリ部２３でのリードアドレスの生成（ステップＳ３０２）、４ピクセルのデータ値の読み出し（ステップＳ３０３）、及びパイリニア法による補間処理（ステップＳ３０４）の４つの処理を画像入力にあわせてパイプライン処理を行う。そして１フレーム分のデータの作成が終了すると、ステップＳ４としてそのデータを並び替えて出力する。
【００３６】
図６は、角度→正弦余弦変換部２４が備える変換テーブルの構成例を示す図である。
この変換テーブルは、画像のピクセル間隔を６５５３６分解能（１６ｂｉｔ）で表現した例である。
【００３７】
同図の変換テーブルにおいて、回転角度（度）と拡大率（％）によって参照することにより、これらをＸ軸成分（余弦）とＹ軸成分（正弦）に変換することができる。
角度→正弦余弦変換部２４では、ｓｉｎ、ｃｏｓ計算を行わずにこの変換テーブルを用いて回転角度と拡大率をＸ軸成分及びＹ軸成分に変換する構成とすることにより回路規模を小さくし、また変換実行速度を早くすることができる。
【００３８】
図７は、座標検索部２５での回転の傾きの表し方を示した図である。同図（ａ）は正回転した場合、同図（ｂ）は逆回転した場合の回転の傾きの表し方を示している。また図中の●は元画像のピクセル、○は出力回転画像のピクセルを表している。なお同図は説明簡略化のため、拡大率は１００％の場合を示している。
【００３９】
座標検索部２５では回転の傾きの指定を角度ではなく、出力回転画像のピクセル間隔を斜辺としたＸ軸成分（余弦）とＹ軸成分（正弦）を用いて指定する。
Ｘ軸成分及びＹ軸成分は、元画像のピクセル間隔（Ｘ軸方向及びＹ軸方向）を１とし、２進数の固定小数で表現し、小数部はｎ桁用意する。本表現方法では、±９０度の回転をサポートし、Ｘ軸成分は符号情報を持たず、同図（ａ）のような正回転（０〜９０度）の場合は、Ｙ軸成分は正、同図（ｂ）のような逆回転（０〜−９０度）の場合は、Ｙ軸成分は負で表現される。
【００４０】
出力回転画像のＸ軸成分（余弦）とＹ軸成分（正弦）の算出方法は以下の通りである。Ｘ軸成分＝ピクセル間隔（拡大率１００％の場合１）×ｃｏｓθ
Ｙ軸成分＝ピクセル間隔（拡大率１００％の場合１）×ｓｉｎθ
図８は、拡大処理の説明図である。同図（ａ）は、拡大率１００％の場合、同図（ｂ）は、拡大率２００％の場合を示している。なお図中の●は元画像のピクセル、○は出力回転画像のピクセルを表している。
【００４１】
出力回転画像のピクセル間隔を元画像のピクセル間隔の１／２倍にすると、元画像の同じ面積から生成されるピクセルが２倍になり、出力回転画像は２倍に拡大される。同図（
ａ）と（ｂ）を比較すると、同図（ａ）では出力回転画像のピクセル間隔は１であるのに対し、同図（ｂ）は出力回転画像のピクセル間隔が０．５であり、同図（ｂ）の出力回転画像は同図（ａ）の出力回転画像の２００％となっている。この原理を使って拡大処理を行う。
【００４２】
拡大の指定も回転と同じＸ成分とＹ成分を用いる。ピクセル間隔が１のときが元画像に対して１００％の大きさである。出力回転画像の大きさはピクセル間隔の長さに反比例して決まるため、図７の説明でした出力回転画像のＸ軸成分とＹ軸成分の計算式は以下のように示される。
Ｘ軸成分＝１００／拡大率（％）×ｃｏｓθ
Ｙ軸成分＝１００／拡大率（％）×ｓｉｎθ
上記計算や図７での計算では入力を拡大率と回転角θ、出力をＸ軸成分とＹ軸成分とした図６のような変換テーブルを利用することで、三角関数の演算を省略する。
【００４３】
図９は補間処理部２７で行われる補間処理を説明する図である。
本実施形態における画像認識装置では、出力回転画像生成のために、元画像より補間処理を行いピクセルの値を計算する。
【００４４】
補間処理にはバイリニア法という周囲4点の元画像のピクセルを利用して線形補間する手法を用いる。バイリニア法は距離に応じて重み付けられた係数をピクセルデータに乗じて加算することにより補間を行う処理である。重み係数は距離が近いピクセルほど大きくなる。距離は座標の小数部を利用すれば、４点の距離が求められる。
【００４５】
図９において、出力回転画像のピクセルＱ（Ｘ．ａ，Ｙ．ｂ）（ａ，ｂは小数部）のピクセルの値Ｑは、
Ｑ＝Ｐ０・Ｗ０＋Ｐ１・Ｗ１＋Ｐ２・Ｗ２＋Ｐ３・Ｗ３
Ｑ：Ｑのピクセルの値、Ｐｉ（ｉ＝０〜３）：ピクセルＰｉのピクセルの値、Ｗｉ（ｉ＝０〜３）：ピクセルＰｉの重み係数
と求められる。
【００４６】
なお同図より注目ピクセルＱとピクセルＰ０との水平距離Ｘ１はａ、ピクセルＱとピクセルＰ０との垂直距離Ｙ１＝ｂとなり、ピクセル間の距離＝１なので、注目ピクセルＱとピクセルＰ３との水平距離Ｘ２＝１−Ｘ１、ピクセルＱとピクセルＰ３との垂直距離Ｙ２＝１−Ｙ１となる。
【００４７】
したがって重み係数Ｗｉ（ｉ＝０〜３）は、Ｗ０＝（１−ａ）×（１−ｂ）、Ｗ１＝ａ×（１−ｂ）、Ｗ２＝（１−ａ）×ｂ、Ｗ３＝ａ×ｂ
ａ：出力回転座標ＱのＸ軸の少数部分、ｂ：出力回転座標ＱのＹ軸の少数部分
となる。
【００４８】
図１０は、出力回転画像の元画像への参照座標を算出するフレーム単位での処理を示すフローチャートである。本処理は、座標検索部２５内で行われる。
座標は元画像２１が入ってくる順に読み出しできるように元画像２１の入力と同期して出力する。
【００４９】
後述する座標算出処理の対象の範囲である有効範囲を計算し、有効範囲内ではメモリに入っている２ライン分のデータで挟まれるエリア（以下処理エリアと呼ぶ）単位で処理を行う。
【００５０】
同図の処理が開始されるとまずステップＳ１１として、フレームの先頭の時点で回転画
像算出のための有効範囲と矩形の四隅の座標を算出する。
次に、ステップＳ１２として元画像データの１ライン分のデータをメモリ部２３に入力する。そしてステップＳ１３としてステップＳ２で入力された１ライン分のデータが有効範囲内にあるかどうかを判定する。そしてその結果、有効範囲内になければ（ステップＳ１３、ＮＯ）、ステップＳ１２に戻り次の１ライン分のデータをメモリ部２３に入力する。
【００５１】
ステップＳ１３において、メモリ部２３に入力された１ライン分のデータが有効範囲内であったならば（ステップＳ１３、ＹＥＳ）、ステップＳ１４として処理エリア内の処理を開始するピクセルの座標、及び処理を終了するピクセルの座標を算出する。この処理の詳細は後述する。
【００５２】
次にステップＳ１５としてステップＳ１４で求めた処理を開始するピクセルの座標を処理対象のピクセルの座標として座標検索部２５から出力する。
そして次にステップＳ１６として、処理対象のピクセルの座標がステップＳ１４で求めた処理を終了するピクセルの座標であるかどうかを判断し、終了座標でなかったら（ステップＳ６、ＮＯ）、ステップＳ１７として処理対象のピクセルの隣のピクセルの座標を出力し、処理をステップＳ１６に戻す。
【００５３】
終了座標まで出力され、ステップＳ１６において、処理対象座標が終了座標であるとき（ステップＳ１６、ＹＥＳ）、ステップＳ１８として次に入力される１ラインが有効範囲かどうかを判断し、有効範囲であれば（ステップＳ１８、ＹＥＳ）、ステップＳ１９としてその１ラインをメモリ部２３に入力して次の処理エリアへ処理を移動する（エリアシフト）。
【００５４】
ステップＳ１８において、次に入力される１ラインが有効範囲でなければ、全ての有効範囲内のラインを処理したことになるので、本処理を終了する。
図１１は、図１０のフローチャートの説明で出てきた、四隅、有効範囲及び処理エリアについての説明図である。
【００５５】
同図に示すように四隅とは、元画像４１中の出力回転画像の矩形の四隅４２を指し、この四隅４２に囲まれた矩形の範囲が出力回転画像となる。
また有効範囲４３は、４隅４２のうち最も上（Ｙの値が最も小さい）ものと最も下（Ｙの値が最も大きい）ものとの間の範囲を指す。この有効範囲４３内の元画像４１のラインが座標算出処理の対象となる。
【００５６】
処理エリアは、出力するピクセルの座標を検索するエリアで、２つのラインの間の範囲を指す。例えば処理エリアｎは、ラインｎとラインｎ＋１の間の範囲で処理エリアｎ＋１は、ラインｎ＋１とラインｎ＋２の間の範囲を指す。ラインシフトは次の処理エリアに処理を移すことで、例えば処理エリアｎから処理エリアｎ＋１に処理を移すことをいう。なおこの処理エリアは、元画像データのうち、メモリ部２３に記憶されている範囲となる。
【００５７】
また、ステップＳ１４で求める開始座標は、処理エリア内で最も左（Ｘの値が最も小さい）出力回転座標のピクセルの座標を指し、終了座標は、処理エリア内で最も右（Ｘの値が最も大きい）出力回転座標のピクセルの座標を指す。例えば処理エリアｎでは、ピクセル４４が開始座標のピクセル、ピクセル４５が終了座標のピクセルとなる。
【００５８】
図１２は、図１０でフローチャートとして示した出力回転画像の元画像への参照座標を算出における動作のタイムチャートである。なお図１２中の処理順を示す番号(（１）〜（５）)は図１０中の番号に対応する。
【００５９】
同図において、座標検索部２５では、以下のフローで出力回転画像を構成するピクセルの座標を検索して出力する。
（１）フレームの先頭で矩形の四隅の座標と座標算出処理の対象である有効範囲を算出する。
（２）有効範囲該当の元画像データが入力されるまで待つ。
（３）処理エリアの先頭で処理エリア内の開始座標、終了座標を算出する。
（４）処理エリア内の座標を開始座標から終了座標まで順次出力する。
（５）（３）〜（４）の処理を有効範囲内にある全ての処理エリアに対して行う。
【００６０】
このフローを元画像データのフレームが入力される度に行う。
なお同図の処理では、１つの処理エリアを処理するのに要する時間が一定となるように、（３）の開始座標、終了座標の算出と（４）の終了座標出力のあとにＷａｉｔ時間を設けている。
【００６１】
次に処理エリア内の開始座標の算出の詳細について説明する。
図１３は出力回転画像の元画像への参照座標を算出する際に、エリア内の開始座標を算出するときの座標検索の動作を示したものである。
【００６２】
開始座標の算出の際には、フレームの先頭で求めた出力回転画像の四隅の座標のいずれかをスタート地点とし、１ピクセルずつ隣のピクセルを検索していき、メモリ部２３にデータが入っているエリア（処理エリア）に最初に入った箇所を開始座標とする。ここで検索とは、出力回転画像の参照座標を１ピクセルずつＹ軸の座標を比較しながら移動することを指す。
【００６３】
図１３では左下隅のピクセルから検索を開始して、右方向に検索をしてゆき、検索座標が処理エリア上に来たピクセル５１を開始座標とする。
参照座標の移動には角度→正弦余弦変換部２４から得られる、図１４（ａ）のように回転角度より求めたＸ成分、Ｙ成分を利用する。
【００６４】
以下図１４（ｂ）のように、参照座標に図１４のＸ成分をプラス、Ｙ成分をマイナスした場合を右方向への移動、Ｘ成分をマイナス、Ｙ成分をマイナスした場合を上方向への移動、Ｘ成分をプラス、Ｙ成分をプラスした場合を下方向への移動、Ｘ成分をマイナス、Ｙ成分をマイナスした場合を左方向への移動という。
【００６５】
なお図１３において、右上隅を開始座標として検索すると終了座標の検索となる。
図１５は、開始座標の検索処理の詳細を示すフローチャートである。同図の処理は、図１０のステップＳ１４の処理の一部に対応する。
【００６６】
図１５の処理に入ると、まずステップＳ２１としてパラメータデータ２２として入力される回転角度から、画像回転処理が正回転なのか逆回転なのかを判断する。その結果正回転であるならば（ステップＳ２１、正回転）、ステップＳ２２として処理エリアのＹ軸座標と出力回転画像の左上隅のＹ軸座標を比較する。その結果処理エリア＜出力回転画像の左上隅であるならば（ステップＳ２２、ＹＥＳ）、ステップＳ２３として出力回転画像左上隅より検索を開始する。
【００６７】
そしてステップＳ２４として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ２４、ＮＯ）、ステップＳ２５として検索座標のＸ軸座標に図１４（ａ）のＸ成分を加え、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を減算して、検索座標をひとつ右の座標に移動後、処理をステップＳ２４に戻す。またステップＳ２４において、両者が一致すれば（ステップＳ２４、ＹＥＳ）、ステップＳ２６として検索座標を開始座標として本処理を終了する。
【００６８】
ステップＳ２２において、Ｙ軸座標の比較の結果、処理エリア＜出力回転画像の左上隅でないならば（ステップＳ２２、ＮＯ）、ステップＳ２７として出力回転画像左上隅より検索を開始する。
【００６９】
そしてステップＳ２８として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ２８、ＮＯ）、ステップＳ２９として検索座標のＸ軸座標に図１４（ａ）のＸ成分を加え、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を加えて、検索座標をひとつ下の座標に移動後、処理をステップＳ２８に戻す。またステップＳ２８において、両者が一致すれば（ステップＳ２８、ＹＥＳ）、ステップＳ３０として検索座標を開始座標として本処理を終了する。
【００７０】
ステップＳ２１において、画像回転処理が逆回転であると判断したならば（ステップＳ２１、逆回転）、ステップＳ３１として処理エリアのＹ軸座標と出力回転画像の左下隅のＹ軸座標を比較する。その結果処理エリア＜出力回転画像の左下隅であるならば（ステップＳ３１、ＹＥＳ）、ステップＳ３２として出力回転画像左下隅より検索を開始する。
【００７１】
そしてステップＳ３３として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ３３、ＮＯ）、ステップＳ３４として検索座標のＸ軸座標に図１４（ａ）のＸ成分を加え、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を減じて、検索座標をひとつ下の座標に移動後、処理をステップＳ３２に戻す。またステップＳ３２において、両者が一致すれば（ステップＳ３２、ＹＥＳ）、ステップＳ３５として検索座標を開始座標として本処理を終了する。
【００７２】
ステップＳ３１において、Ｙ軸座標の比較の結果、処理エリア＜出力回転画像の左下隅でないならば（ステップＳ３１、ＮＯ）、ステップＳ３６として出力回転画像左下隅より検索を開始する。
【００７３】
そしてステップＳ３７として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ３７、ＮＯ）、ステップＳ３６として検索座標のＸ軸座標に図１４（ａ）のＸ成分を加え、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を減じて、検索座標をひとつ右の座標に移動後、処理をステップＳ３８に戻す。またステップＳ３８において、両者が一致すれば（ステップＳ３８、ＹＥＳ）、ステップＳ２９として検索座標を開始座標として本処理を終了する。
【００７４】
図１６は、終了座標の検索処理の詳細を示すフローチャートである。同図の処理は、図１０のステップＳ１４の処理の一部に対応する。
図１６の処理に入ると、まずステップＳ４１としてパラメータデータ２２として入力される回転角度から、画像回転処理が正回転なのか逆回転なのかを判断する。その結果正回転であるならば（ステップＳ４１、正回転）、ステップＳ４２として処理エリアのＹ軸座標と出力回転画像の右下隅のＹ軸座標を比較する。その結果処理エリア＜出力回転画像の右下隅であるならば（ステップＳ４２、ＹＥＳ）、ステップＳ４３として出力回転画像右下隅より検索を開始する。
【００７５】
そしてステップＳ４４として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ４４、ＮＯ）、ステップＳ４５として検索座標のＸ軸座標に図１４（ａ）のＸ成分を減じ、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を減算して、検索座標をひとつ上の座標に移動後、処理をステップＳ４４に戻す。またステップＳ４４において、両者が一致すれば（ステップＳ４４、ＹＥＳ）、ステップＳ４６として検索座標を終了座標として本処理を終了する。
【００７６】
ステップＳ４２において、Ｙ軸座標の比較の結果、処理エリア＜出力回転画像の右下隅でないならば（ステップＳ４２、ＮＯ）、ステップＳ４７として出力回転画像の右下隅より検索を開始する。
【００７７】
そしてステップＳ４８として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ４８、ＮＯ）、ステップＳ４９として検索座標のＸ軸座標に図１４（ａ）のＸ成分を減じ、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を加えて、検索座標をひとつ左の座標に移動後、処理をステップＳ４８に戻す。またステップＳ４８において、両者が一致すれば（ステップＳ４８、ＹＥＳ）、ステップＳ５０として検索座標を終了座標として本処理を終了する。
【００７８】
ステップＳ４１において、画像回転処理が逆回転であると判断したならば（ステップＳ４１、逆回転）、ステップＳ５１として処理エリアのＹ軸座標と出力回転画像の右上隅のＹ軸座標を比較する。その結果処理エリア＜出力回転画像の右上隅であるならば（ステップＳ５１、ＹＥＳ）、ステップＳ５２として出力回転画像の右上隅より検索を開始する。
【００７９】
そしてステップＳ５３として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ５３、ＮＯ）、ステップＳ５４として検索座標のＸ軸座標に図１４（ａ）のＸ成分を減じ、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を加えて、検索座標をひとつ左の座標に移動後、処理をステップＳ５２に戻す。またステップＳ５２において、両者が一致すれば（ステップＳ５２、ＹＥＳ）、ステップＳ５５として検索座標を終了座標として本処理を終了する。
【００８０】
ステップＳ５１において、Ｙ軸座標の比較の結果、処理エリア＜出力回転画像の右上隅でないならば（ステップＳ５１、ＮＯ）、ステップＳ５６として出力回転画像右上隅より検索を開始する。
【００８１】
そしてステップＳ５７として、処理エリアと検索座標のＹ軸座標を比較し、両者が一致しなければ（ステップＳ５７、ＮＯ）、ステップＳ５６として検索座標のＸ軸座標に図１４（ａ）のＸ成分を加え、また検索座標のＹ軸座標に図１４（ａ）のＹ成分を加えて、検索座標をひとつ下の座標に移動後、処理をステップＳ５８に戻す。またステップＳ５８において、両者が一致すれば（ステップＳ５８、ＹＥＳ）、ステップＳ５９として検索座標を終了座標として本処理を終了する。
【００８２】
図１７は、図１０のステップＳ１６、Ｓ１７における出力回転画像の元画像への参照座標を算出する際の動作フローを示したものである。なお出力回転画像が正回転の場合と逆回転の場合とでは動作が異なり、図１７では正回転の動作を示している。
【００８３】
同図内の（１）〜（１０）の番号は、座標算出の順序を示している。
同図において、処理エリアの開始座標（１）から、終了座標（１０）に向かって処理エリアから出ないように１ピクセルずつ移動しながら出力する。
【００８４】
開始座標（１）からは、まず右隣の座標（２）に移動する。このとき下隣への移動は処理エリア外になってしまうので移動できない。下隣に移動できないときはジャンプフラグはＯＦＦのままにしておく。
【００８５】
次に座標（１）から座標（２）への移動と同様に、座標（２）から座標（３）に移動す
る。
座標（３）では右隣に移動すると処理エリア外の座標となってしまうので右隣へは移動できない。また座標（３）では下への移動は可能なのでジャンプフラグをＯＮにする。
座標（３）では、右隣に移動できず、またジャンプフラグがＯＮなので下隣の座標（４）に移動し，ジャンプフラグをＯＦＦにする。
【００８６】
座標（４）では、下隣には移動できないのでジャンプフラグはＯＦＦにしのままにし，、また右隣には移動できるので右隣の座標（５）に移動する。座標（５）では、下隣に移動できるのでジャンプフラグをＯＮにし、また右隣にも移動できるので右隣の座標（６）に移動する。
【００８７】
座標（６）では、処理エリア外となるため右隣には移動できない。しかし座標（５）においてジャンプフラグがＯＮとなっているので、座標（５）の下隣の座標（７）に移動する。し、ジャンプフラグをＯＦＦにする。
【００８８】
座標（７）では、下隣には移動できないのでジャンプフラグはＯＦＦにしのままにし、また右隣には移動できるので右隣の座標（８）に移動する。座標（８）では、下隣には移動できないのでジャンプフラグはＯＦＦにし、また右隣には移動できるので右隣の座標（９）に移動する。
【００８９】
座標（９）では、右隣に移動すると処理エリア外の座標となってしまうので右隣へは移動できない。また座標（９）では下への移動は可能なのでジャンプフラグをＯＮにする。座標（９）では、右隣に移動できず、またジャンプフラグがＯＮなので下隣の座標（１０）に移動するし、ジャンプフラグをＯＦＦにする。座標（１０）は、終了座標なので座標算出処理を終了する。
【００９０】
このようにして、処理エリア内の元画像への出力回転画像の参照座標が算出される。この処理は、元画像の１ラインのデータがメモリ部２３に入力されるごとに行われるので、メモリ部２３の容量を小さくすることができる。
【００９１】
図１８は、出力回転画像の元画像への参照座標算出処理の詳細を示すフローチャートである。同図の処理は、図１０のフローチャートのステップＳ１６、Ｓ１７に該当する。
同図の処理が開始されるとまずステップＳ６１として、その処理エリアの開始座標より検索を開始するため検索座標を開始座標にしてその座標を出力する。
【００９２】
そして、ステップＳ６２としてパラメータデータ２２として与えられる回転角度から、回転処理が正回転か逆回転かを判断する。その結果正回転（回転角度の値が正）であったなら（ステップＳ６２、正回転）、ステップＳ６３として検索座標が終了座標であるかどうかを判断する。
【００９３】
ステップＳ６３の判断の結果、終了座標でなければ（ステップＳ６３、ＮＯ）、ステップＳ６４としてジャンプフラグがＯＮとなっている座標がなく下隣の座標が処理エリア内であれば（ステップＳ６４、ＹＥＳ）、ステップＳ６５としてジャンプフラグをＯＮにして検索座標の下隣の座標をジャンプ座標としてセットする。またステップＳ６３において、ジャンプフラグがＯＮとなっている座標が存在したり下隣の座標が処理エリア内でなければ（ステップＳ６４、ＮＯ）、ステップＳ６５の処理はスキップする。
【００９４】
次にステップＳ６６として検索座標の右隣の座標が処理エリア内かどうかを判断し、処理エリア内であれば（ステップＳ６６、ＹＥＳ）、ステップＳ６７として検索座標を右隣の座標に移動してその座標を出力後処理をステップＳ６３に戻す。またステップＳ６６の
判断で検索座標の右隣の座標が処理エリア内でなければ（ステップＳ６６、ＮＯ）、ステップＳ６８として検索座標をジャンプ座標に移動してその座標を出力すると共にジャンプフラグをＯＦＦにした後、処理をステップＳ６３に戻す。
【００９５】
ステップＳ６３において、検索座標が終了座標であったなら（ステップＳ６３、ＹＥＳ）、本処理を終了する。
またステップＳ６２の判断の結果、逆回転（回転角度の値が負）であったなら（ステップＳ６２、逆回転）、ステップＳ６９として検索座標が終了座標であるかどうかを判断する。
【００９６】
ステップＳ６９の判断の結果、終了座標でなければ（ステップＳ６９、ＮＯ）、ステップＳ７０としてジャンプフラグがＯＮとなっている座標がなく右隣の座標が処理エリア内であれば（ステップＳ７０、ＹＥＳ）、ステップＳ７１としてジャンプフラグをＯＮにして検索座標の右隣の座標をジャンプ座標としてセットする。またステップＳ６９において、ジャンプフラグがＯＮとなっている座標が存在したり右隣の座標が処理エリア内でなければ（ステップＳ７０、ＮＯ）、ステップＳ７１の処理はスキップする。
【００９７】
次にステップＳ７２として検索座標の上隣の座標が処理エリア内かどうかを判断し、処理エリア内であれば（ステップＳ７２、ＹＥＳ）、ステップＳ７３として検索座標を上隣の座標に移動してその座標を出力後処理をステップＳ６９に戻す。またステップＳ７２の判断で、検索座標の右隣の座標が処理エリア内でなければ（ステップＳ７２、ＮＯ）、ステップＳ７４として検索座標をジャンプ座標に移動してその座標を出力すると共にジャンプフラグをＯＦＦにした後、処理をステップＳ６９に戻す。
【００９８】
ステップＳ６９において、検索座標が終了座標であったなら（ステップＳ６９、ＹＥＳ）、本処理を終了する。
このようにして、元画像データが入力される順に処理エリア内の元画像への出力回転画像の開始座標から終了座標までの参照座標が算出される。そしてこの参照座標に対して補間処理を行い変換データを得る。そして補間処理で得られた変換データを並び替えて出力回転画像のデータを出力する。
【００９９】
このように本発明によれば、入力された元画像データから順に出力回転画像のピクセルデータを作成することができるので、元画像データを全て格納する必要がなくなりメモリ容量の削減を行うことが出来る。
【０１００】
また回転角度の指定を変更し、座標の変換に変換テーブルを用いることで三角関数や割り算の演算の代替ができる。よって、そのために必要となる回路を削減することができる。
更には、また回転処理と同時に拡大処理を行うことで、回路の削減に寄与する。
【０１０１】
（付記１）
入力された元画像データから出力回転画像を生成する画像認識装置において
前記元画像データの処理対象のピクセルを含むラインと、補間処理に用いるピクセルを含むラインのデータを格納するメモリ部と、
回転角度から元画像データのピクセル間隔を斜辺としたＸ成分及びＹ成分を求める角度正弦余弦変換部と、
前記Ｘ成分及びＹ成分を用いて、元画像データが入力される順に、前記出力回転画像の元画像への参照座標を計算する座標検索部と、
前記参照座標が存在しないとき、補間処理を行う補間処理部と、
前記補間処理で得られた変換データを並び替えて前記出力回転画像のデータを出力する
並び替え処理部と、
を備えることを特徴とする画像認識装置。
【０１０２】
（付記２）
前記角度正弦余弦変換部は、変換テーブルを備え、前記回転角度で前記変換テーブルを参照することにより前記Ｘ成分及びＹ成分を求めることを特徴とする付記１に記載の画像認識装置。
【０１０３】
（付記３）
前記メモリ部は、前記元画像データの２ライン分のデータの容量を備えることを特徴とする付記１または２に記載の画像認識装置。
【０１０４】
（付記４）
前記角度正弦余弦変換部は、元画像データのピクセル間隔の１／ｎ倍を斜辺として前記Ｘ成分及びＹ成分を求めることを特徴とする付記１に記載の画像認識装置。
【０１０５】
（付記５）
前記角度正弦余弦変換部は、前記元画像データの処理対象の範囲から有効範囲を求め、当該有効範囲外のラインのデータに対しては、前記座標検索部は処理を行わないことを特徴とする付記１に記載の画像認識装置。
【０１０６】
（付記６）
前記元画像データは、フレームの先頭を示すタイミングパルスを含み、前記前記角度正弦余弦変換部は、前記タイミングパルスを受けて、前記Ｘ成分、前記Ｙ成分及び前記有効範囲を求めることを特徴とする付記５に記載の画像認識装置。
【０１０７】
（付記７）
前記座標検索部は、前記参照座標を計算する開始座標及び終了座標を事前に求め、当該開始座標と終了座標の間において前記参照座標を計算することを特徴とする付記１に記載の画像認識装置。
【０１０８】
（付記８）
前記補間処理部は、バイリニア法により補間処理を行うことを特徴とする付記１に記載の画像認識装置。
【０１０９】
（付記９）
前記補間処理部が前記バイリニア法による補間を行うのに必要な周囲４ピクセルの前記メモリ部でのアドレスを求めるメモリリードアドレス制御部を更に備えることを特徴とする付記８に記載の画像認識装置。
【０１１０】
（付記１０）
前記座標検索部による前記参照座標の計算、及び前記補間処理部による補間処理は、パイプライン処理を行うことを特徴とする付記１に記載の画像認識装置。
【０１１１】
（付記１１）
前記座標検索部は、前記参照座標の計算を、前記元画像データのラインとラインの間のエリア単位で行うことを特徴とする付記１に記載の画像認識装置。
【０１１２】
（付記１２）
入力された元画像データから出力回転画像を生成する画像回転方法において、
回転角度から元画像データのピクセル間隔を斜辺としたＸ成分及びＹ成分を求め、
前記Ｘ成分及びＹ成分を用いて、元画像データが入力される順に、前記出力回転画像の元画像への参照座標を計算し、
前記参照座標に対して補間処理を行い、
前記補間処理で得られた変換データを並び替えて前記出力回転画像のデータを出力する
ことを特徴とする画像回転処理方法。
【図面の簡単な説明】
【０１１３】
【図１】本実施形態の画像認識装置での画像回転処理の概要について説明する図である。
【図２】本実施形態の画像認識装置における出力回転画像の傾きの指定の仕方を示す図である。
【図３】本実施形態の画像認識装置の構成例を示す図である。
【図４】本実施形態の画像認識装置による処理の手順を示したタイムチャートを示す図である。
【図５】本実施形態の画像認識装置による処理の手順を示したフローチャートを示す図である。
【図６】角度→正弦余弦変換部が備える変換テーブルの構成例を示す図である。
【図７】座標検索部での回転の傾きの表し方を示した図である。
【図８】拡大処理の説明図である。
【図９】補間処理部で行われる補間処理を説明する図である。
【図１０】出力回転画像の元画像への参照座標を算出するフレーム単位での処理を示すフローチャートを示す図である。
【図１１】四隅、有効範囲及び処理エリアについての説明図である。
【図１２】出力回転画像の元画像への参照座標を算出における動作のタイムチャートを示す図である。
【図１３】出力回転画像の元画像への参照座標を算出する際に、エリア内の開始座標を算出するときの座標検索の動作を示した図である。
【図１４】本実施形態における移動の動作の定義を示す図である。
【図１５】開始座標の検索処理の詳細を示すフローチャートを示す図である。
【図１６】終了座標の検索処理の詳細を示すフローチャートを示す図である。
【図１７】出力回転画像の元画像への参照座標を算出する際の動作フローを示した図である。
【図１８】出力回転画像の元画像への参照座標を算出する際の動作フローを示したフローチャートを示すである。
【図１９】従来の画像処理における回転処理の方法を示す図である。
【図２０】出力回転画像の処理順序を示す図である。
【図２１】従来の画像処理における回転処理の方法のタイムチャートを示す図である。
【符号の説明】
【０１１４】
１１      元画像
１２      出力回転画像
２１      元画像データ
２２      パラメータデータ
２３      メモリ部
２４      角度→正弦余弦変換部
２５      座標検索部
２６      メモリリードアドレス制御部
２７      補間処理部
２８      並び替え処理部
【図１】
2008234478.tif 000003
【図２】
2008234478.tif 000004
【図３】
2008234478.tif 000005
【図４】
2008234478.tif 000006
【図５】
2008234478.tif 000007
【図６】
2008234478.tif 000008
【図７】
2008234478.tif 000009
【図８】
2008234478.tif 000010
【図９】
2008234478.tif 000011
【図１０】
2008234478.tif 000012
【図１１】
2008234478.tif 000013
【図１２】
2008234478.tif 000014
【図１３】
2008234478.tif 000015
【図１４】
2008234478.tif 000016
【図１５】
2008234478.tif 000017
【図１６】
2008234478.tif 000018
【図１７】
2008234478.tif 000019
【図１８】
2008234478.tif 000020
【図１９】
2008234478.tif 000021
【図２０】
2008234478.tif 000022
【図２１】
2008234478.tif 000023