(57)【要約】【課題】  回転後の画像と回転前の画像の画素データを正しく対応させ、回転後の画像の画像精度向上を図る。【解決手段】  算出・記憶・制御手段１０は、回転前の画像の局所画像５の座標を算出する。これは、回転後の局所画像２に対応する画像を全て含む局所画像５の座標を算出し、回転後の局所画像２をＮ×Ｎの画素数とすると、回転前の局所画像５の画素数はＭ×Ｍ（Ｍ＝Ｎ＋１）である。回転前の局所画像５は回転後の局所画像２よりｘ方向、ｙ方向の画素数が１つ多いので、回転後の画像と回転前の画像の画素データを正しく対応させ、回転後の画像の画像精度の向上を図ることができる。【選択図】    図５
2007080001.tif 000002
【特許請求の範囲】
【請求項１】
画像を回転する処理を行う画像処理装置において、
回転前の画像を格納する手段と、
回転後の画像を格納する手段と、
前記回転後に格納される画像の局所画像の中心座標を設定する手段と、
前記中心座標から局所画像の座標を算出する手段と、
前記局所画像の座標から前記回転前の画像の局所画像の座標を算出する手段と、
前記回転前の画像の局所画像の座標を記憶する手段と、
前記回転前の画像の局所画像の座標から前記回転前の局所画像を読み出す手段と、
読み出された前記回転前の局所画像が前記回転後の画像として有効な画像データであるか否かを判定する手段と、
前記判定により有効画像データを選択的に格納する手段と、
前記格納された画像データを前記回転後の局所画像として読み出す手段と、
前記読み出された回転後の局所画像を前記回転後の画像を格納する手段に書き込む手段と、
を備え、
前記回転前の画像の局所画像の座標を算出する手段は、前記回転後の局所画像に対応する画像を全て含む局所画像の座標を算出し、前記回転後の局所画像をＮ×Ｎの画素数とすると、前記回転前の局所画像の画素数ＭをＮより大きな整数とするとＭ×Ｍである、
ことを特徴とする画像処理装置。
【請求項２】
前記回転前の画像の局所画像の座標を算出する手段は、前記ＭをＮ＋１としている、ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記回転前の局所画像を読み出す手段は、前記Ｍ×Ｍ個の画素数の画像データを走査方向に連続データで読み出すための開始座標の算出を、前記回転前のＮ×Ｎの画素数の局所画像の中心座標と全画像に対する回転の基準座標に応じて異なる算出方法で行うことを特徴とする請求項１又は２に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を回転する処理を行う画像処理装置に関する。
【背景技術】
【０００２】
特許文献１には、回転後の画像の任意の座標を中心座標とする局所画像に対し、その中心座標から回転前の画像の座標を算出し、対応する回転前の画像から局所画像データとして画像を読み出し、回転角度に対応してその読み出しデータを並び替え、回転後の画像として記憶装置に書き込むことで回転処理を高速化する技術について開示されている。
特許文献２には、入力画像データに対し、複数のラインデータを格納できるラインバッファを持ち、画像の回転処理後の局所画像データの中心画像が格納されているアドレスの逆変換アドレスに一致するラインバッファ上のデータを局所データ分読み出し、回転テーブルを元に局所データを回転して中間バッファに格納し、その格納データを別のバッファを用いて連続データに整え、所定のアドレスに書き込むことで、回転処理を可能とする技術について開示されている。
特許文献３には、入力画像データに対し、複数のラインデータを格納できるラインバッファを持ち、画像の回転処理後の局所画像データの中心画像が格納されているアドレスの逆変換アドレスに一致するラインバッファ上のデータを局所データ分読み出し、回転テーブルを元に局所データを回転して中間バッファに格納し、その格納データを別のバッファを用いて連続データに整え、所定のアドレスに書き込むことで、画像の回転処理を可能とする技術について開示されている。
【特許文献１】特開昭６１−１６１５７６号公報
【特許文献２】特開２００１−４３３５９公報
【特許文献３】特許第３１０４８６８号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一般的に、元となる画像データに対して回転処理を行なう場合、ラスタ走査順に並んでいる元画像データに対して斜め方向に読み出しを行ない、連続データとして記憶装置に格納する場合や、ラスタ走査順に並んでいる元画像データに対してラスタ走査順に読み出しを行ない、記憶装置への格納時に斜め方向となるように格納することで回転処理後の画像データを生成する場合などがある。
しかしながら、この様な回転処理では記憶装置に対して斜め読み出しや斜め書き込み時に発生する記憶装置へのアドレスは、１画素ごと生成する必要があり、このことは記憶装置に対してランダムアクセスが発生することとなる。
画像処理装置では入力された画像データはページメモリに格納され、そのデータに対して画像処理を行なうことが一般的となっている。ページメモリは大容量の記憶装置であり、Ａ４やＡ３等の用紙サイズのデータを複数枚分記憶できる容量を持つことも可能である。
この様にページメモリは大容量であることからデータの転送を効率良く行なう必要があり、用いられる記憶装置はバーストアクセス機能を持つことが一般的である。例えば、ＳＤＲＡＭではアクセス方法としては、“コマンド発行→指定アドレスからスタートする連続したデータアクセス”となる。
なお、先のランダムアクセスでは毎回アドレスが変更されることとなり、“コマンド発行→指定アドレスのみのデータアクセス”となり、毎回コマンド発行のサイクルが発生することとなり、アクセス効率が悪くなる。
そこで、画像データの回転処理に対して上記の点を改善するべく、特許文献１〜３の技術が開示されている。
【０００４】
特許文献１では、画像を局所的なデータ単位で処理することで、画像の回転処理の高速化を図っている。具体的には、ページメモリを独立して２つ持ち、一方を読み出し用、他方を書き込み用としている。ページメモリ１に元画像データ、ページメモリ２を回転処理後の格納先とし、回転処理後の格納画像データのアドレスからページメモリ１のアドレスをプロセッサにより求め、そのアドレスを中心としてページメモリ１の３×３画素の局所データを読み出し、プロセッサに入力される。入力された局所データはページメモリ２に書き込むための回転処理としてデータの順番を組み替える。この組み替えは回転角度に応じて再配置できるようにＲＯＭにあらかじめ変換テーブルとして持つことで可能としており、組み替えられた９個のデータは、“３個の連続データ×３”となり、ページメモリ２の所定のアドレスに書き込むことで回転処理の高速化を図っている。また次からの局所データは先の回転処理後のアドレスに対して、３つ隣りのアドレスからページメモリ１のアドレスを求め、同様の処理を行なっていくこととしている。
特許文献２、３では、特許文献１の技術に対してページメモリを使用しない技術としている。この技術では、装置内にバンドバッファとして１ラインの画像データを局所データの副走査方向分格納できる記憶装置を持ち、入力画像が順次格納される。格納された画像データに対して局所データごとに画像の回転処理を行ない、処理後データは中間バッファに格納される。中間バッファに格納された局所データは前記と同等なバンドバッファに格納され、回転処理後データとして読み出すこととしている。
これらの技術では、ランダムアクセスを回避する手段として、回転前画像の局所データに対して回転処理を行うことで可能としている。この場合の局所データの回転処理は、ある回転後の座標から回転前の座標を算出し、その座標を中心とする３×３画素の局所データを回転後の画像データとして用いることとし、図１に示す回転テーブルに基づいてその局所データを並び替え、ラスタ走査順として回転後データとしている。なお、ここでの回転テーブルは画像回転前の座標を最近傍処理的な考えでテーブル化している。
【０００５】
図４は、前述の従来技術に類似する画像の回転を行う画像処理装置のブロック図である。図４に、従来技術の実施例を示した。なお、構成図は従来技術となる公報に記載された実施例とは異なるが、本発明との相違を明確化するために変更を加えたものであり、本質的には従来例の公報となんら変わることは無い。
図４において、符号Ａは回転処理装置、符号１は回転後の画像を格納するためのページメモリ、符号２は回転後の画像の局所画像（３×３画素）、符号３はこの局所画像２の中心画像、符号４は回転前の画像が格納されているページメモリ、符号５は回転前の画像の局所画像（３×３画素）、符号６は局所画像５の中心画像、符号７はページメモリ３の座標を設定する設定手段、符号８は設定手段７に基づいて局所画像２の走査方向のスタートアドレスを算出する算出手段及びその記憶手段およびページメモリ１に対しての制御手段（算出・制御手段）、符号９は設定手段７の座標データから回転前の座標を算出する逆座標変換手段、符号１０は逆座標変換手段９に基づいて局所画像５の走査方向のスタートアドレスを算出する算出手段及びその記憶手段及びページメモリ４に対しての制御手段（算出・記憶・制御手段）、符号１３はページメモリ４から読み出した局所画像５を格納する記憶手段、符号１１は記憶手段１３へのライトを制御するライト制御手段、符号１２は記憶手段１３へのリードを制御するリード制御手段である。
【０００６】
次に、図４の構成例における画像の回転処理動作を説明する。まず、任意の局所画像２の中心である中心画像３の座標を設定手段７に設定する。逆座標変換手段９は、この座標データを逆座標変換して回転前の画像の局所画像５の中心画像６の座標を求める。この中心座標に基づいて算出・記憶・制御手段１０で回転前の画像の局所画像２をラスタ走査方向順に読み出すためのラインごとのスタートアドレスを算出し、ページメモリ４に対して、このスタートアドレス及びリードの制御を行い、局所画像５のデータを読み出す。読み出された画像データは記憶手段１３に格納されることになるが、その制御はライト制御手段１１によって行われる。ライト制御手段１１によるライト制御は局所画像５のデータをリードするごとにライト信号を発生する必要があることから、算出・記憶・制御手段１０の制御に連動して動作することとなる。記憶手段１３に書き込まれた画像データは、リード制御手段１２により図１の回転テーブルに従って読み出される。この時の読み出しは、局所画像２への書き込みが算出・制御手段８の制御を伴うラスタ走査方向の順に書き込める順番で読み出される制御となる。
【０００７】
さらに具体例を挙げて説明すると、例として、従来技術での反時計回りで４５°の回転処理を行った時の局所データの回転前と回転後の画像を図２に示した。今、対象となる回転後の局所データ（３×３画素）（符号５）を仮番号と座標で示すと、
１（２，１）    ２（３，１）    ３（４，１）
４（２，０）    ５（３，０）    ６（４，０）
７（２，−１）  ８（３，−１）  ９（４，−１）
となり、中心画像６は５（３，０）となる。
一般に、回転前の画像の座標からの回転後の画像の座標算出はアフィン変換式で行われ、回転前のある画像データの座標を（ｘ，ｙ）、回転後の画像データの座標を（Ｘ，Ｙ）、回転角度をθとすると、
Ｘ ＝ ｘ × cosθ − ｙ × sinθ
Ｙ ＝ ｘ × sinθ ＋ ｙ × cosθ
で表される。
この式より、回転後の画像の座標から回転前画像の座標を変換する式（逆座標変換式）は、
ｘ ＝    Ｘ × cosθ ＋ Ｙ × sinθ
ｙ ＝ − Ｘ × sinθ ＋ Ｙ × cosθ
の様に導かれる。
この式に基づいて先に示した局所データの中心画像の座標から回転前の座標を算出すると、
ｘ ＝    ３ × cos45° ＋ ０ × sin45°≒   2.1213 ≒   ２
ｙ ＝ − ３ × sin45° ＋ ０ × cos45°≒ −2.1213 ≒ −２
となり、５（２，−２）となる。
よって、回転前の局所画像５は（２，−２）を中心とする３×３画素となり、図１の回転テーブルによる回転処理から、
４（１，−１）  １（２，−１）  ２（３，−１）
７（１，−２）  ５（２，−２）  ３（３，−２）
８（２，−３）  ９（２，−３）  ６（３，−３）
となり、４ → １ → ２、７ → ５ → ３、８ → ９ → ６の順で読み出すことにより、回転前画像をラスタ走査順で読み出し、そのデータをバッファ等（記憶手段１３）に格納し、１ → ２ → ３、４ → ５ → ６、７ → ８ → ９のラスタ走査順で出力することで出力できることを可能としている。
ここで、先の回転後の局所データ（局所画像２）の座標から回転前の座標をそれぞれ算出すると、
１（２，−１）  ２（３，−１）  ３（４，−２）
４（１，−１）  ５（２，−２）  ６（３，−３）
７（１，−２）  ８（１，−３）  ９（２，−４）
となる。
回転後の画像の座標から算出した回転前の画像の座標に基づいて作成した画像を図３に示した。
【０００８】
ここで、図２と図３とを比較すると、図４の画像処理装置Ａで使用する回転前の画像の局所データは回転後の画像に対応しない画像を含んでいることがわかる。
このことから、図４の画像処理装置Ａによる画像の局所データの取り扱いでは、回転後の画像の画像精度を低下させていることがわかる。
そこで、本発明の目的は、回転後の画像と回転前の画像の画素データを正しく対応させ、回転後の画像の画像精度向上を図ることである。
【課題を解決するための手段】
【０００９】
請求項１に記載の発明は、画像を回転する処理を行う画像処理装置において、前記回転前の画像を格納する手段と、前記回転後の画像を格納する手段と、前記回転後に格納される画像の局所画像の中心座標を設定する手段と、前記中心座標から局所画像の座標を算出する手段と、前記局所画像の座標から前記回転前の画像の局所画像の座標を算出する手段と、前記回転前の画像の局所画像の座標を記憶する手段と、前記回転前の画像の局所画像の座標から前記回転前の局所画像を読み出す手段と、読み出された前記回転前の局所画像が前記回転後の画像として有効な画像データであるかどうかを判定する手段と、前記判定により有効画像データを選択的に格納する手段と、前記格納された画像データを前記回転後の局所画像として読み出す手段と、前記読み出された回転後の局所画像を前記回転後の画像を格納する手段に書き込む手段と、を備え、前記回転前の画像の局所画像の座標を算出する手段は、前記回転後の局所画像に対応する画像を全て含む局所画像の座標を算出し、前記回転後の局所画像をＮ×Ｎの画素数とすると、前記回転前の局所画像の画素数ＭをＮより大きな整数とするとＭ×Ｍである、ことを特徴とする画像処理装置である。
請求項２に記載の発明は、請求項１に記載の画像処理装置において、前記回転前の画像の局所画像の座標を算出する手段は、前記ＭをＮ＋１としている、ことを特徴とする。
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、前記回転前の局所画像を読み出す手段は、前記Ｍ×Ｍ個の画素数の画像データを走査方向に連続データで読み出すための開始座標の算出を、前記回転前のＮ×Ｎの画素数の局所画像の中心座標と全画像に対する回転の基準座標に応じて異なる算出方法で行うことを特徴とする。
【発明の効果】
【００１０】
請求項１、２記載の発明によれば、回転後の画像は回転前の画像に必ず対応する画像となるので、回転後の画像の画像精度の向上を図ることができる。
請求項３記載の発明によれば、回転前の局所画像の走査方向の開始座標を正確に決めることが可能となり、回転後の画像の画像精度の向上を図ることができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明を実施するための最良の一形態について図面を参照して説明する。
図５は、本実施形態の画像処理装置Ｂのブロック図である。画像処理装置Ｂにおいて、前述の画像処理装置Ａと同様の構成要素などについては、図４と同一符号を用い、詳細な説明は省略する。画像処理装置Ｂでは、逆変換手段９が算出・制御手段８の座標データから回転前の座標を算出すること、この算出後の座標が座標格納手段１４、１５に格納されること、座標格納手段１４、１５の値がライト制御手段１１で記憶手段１３に与えられることなど、が画像処理装置Ａと相違する。
次に、画像処理装置Ｂによる画像の回転処理動作について説明する。まず、任意の局所画像の中心である空真画像３の座標を設定手段７に設定する。算出・設定手段８はこの座標に基づいて画像の回転後の局所画像２の座標を算出する。逆座標変換手段９は、この座標データを逆座標変換して回転前の画像の局所画像５の座標を求める。この時算出される座標は、回転後の局所画像２に対応する回転前の局所画像（３×３画素）（符号５）の座標及びその３×３画素の座標を全て含む４×４画素の局所画像の座標を算出する。４×４画素は回転後の局所画像２を３×３画素としていることから決定され、“（３＋１）×（３＋１）”で表され、仮に回転後の局所画像２をＮ×Ｎとした場合、回転前の局所画像５は“（Ｎ＋１）×（Ｎ＋１）”の局所画像を指定することで、回転後の局所画像２の全てを含むこととなる。
座標格納手段１４は逆座標変換手段９からの３×３画素の座標を格納し、座標格納手段１５は逆座標変換手段９からの４×４画素の座標を格納する。算出・記憶・制御手段１０は逆座標変換手段９から算出された座標から回転前の画像の局所画像（４×４画素）（符号５）をラスタ走査方向順に読み出すためのラインごとのスタートの座標を格納し、ページメモリ４に対して、このスタートアドレス及びリードの制御を行い、局所画像５のデータを読み出す。読み出された画像データは記憶手段１３に格納されることになるが、その制御はライト制御手段１１によって行われる。ライト制御手段１１によるライト制御は局所画像５のデータをリードした際にそのデータが回転後の局所画像２に対応するデータであるかの否かの比較を格納手段１５、１４に格納した座標に基づいて決定し、対応するデータであるならばライト信号を発生し、記憶手段１３への書き込みを行う。なお、このライト信号発生は算出・記憶・制御手段１０の制御に呼応して動作することとなる。記憶手段１３に書き込まれた画像データは、リード制御手段１２により図１の回転テーブルに従って読み出される。この時の読み出しは、局所画像２への書き込みが算出・制御手段８の制御を伴うラスタ走査方向の順に書き込める順番で読み出される制御となる。
【００１２】
さらに具体例を挙げて説明する。反時計回りで４５°の回転処理を行った時の局所データの回転後と回転前の座標算出、各格納手段１４、１５への格納及び対応データの選択を図６に示し、その説明を図５も参照して説明する。
回転後の３×３画素の局所画像２の中心座標を（３，０）として設定手段７に格納する。格納された中心座標から算出・制御手段８により３×３画素（９）画素の回転後の画像データを算出し、同算出・制御手段８内の記憶装置に格納する。またページメモリ１へのライトスタートアドレス（ここでは座標で記述した（２，１）、（２，０）、（２，−１））を同算出・制御手段８内の記憶装置に格納する。格納された３×３個の座標すべてを逆座標変換手段９で座標変換し、３×３個の回転前の画像データの座標を格納手段１４に格納する。また、この３×３個の座標を全て含む４×４画素の局所画像５の座標を算出し、格納手段１５に格納する。この時の格納順は４×４画素の画像データをラスタ走査順に読み出せる様に格納する。また、算出した座標からページメモリ４からのリードスタートとなるアドレス（ここでは座標で記述した（１，−１）、（１，−２）、（１，−３）、（１，−４））を算出・記憶・制御手段１０内の記憶装置に格納する。算出・記憶・制御手段１０の制御によりページメモリ４内の局所画像５がラスタ走査順に読み出される。この時に読み出されるデータの順番は格納手段１５に格納している座標の順となる。
【００１３】
ここで、その読み出されたデータが回転後のデータとして一致するデータであるか否かの選択を格納手段１５に格納されている座標と、今読み出したデータの座標すなわち格納手段１４の座標を比較することで選択可能となる。例えば、最初のデータは座標（１，−１）のデータであるが、座標（１，−１）は格納されている３×３画素の座標の内の（１，−１）と一致し、このことから１番目のデータを記憶手段１３に格納するようにライト制御手段１１はライト信号を発生することになる。続いて、２番目から３番目までのデータは同様の処理となる。４番目のデータは座標（４，−１）のデータであるが、座標（４，−１）は格納されている３×３画素の座標とは一致しないことから、４番目のデータを１１３に格納しない、すなわちライト制御手段１１はライト信号を発生しないことになる。以下５番目〜１６番目のデータについて同様の処理（ライトする／しない）を行うことで、回転後画像の座標に対応する回転前の画像のデータを正しく記憶手段１３に格納できることとなる。また、この時のアドレスの比較結果（一致／不一致）を示すデータを保持しておく。記憶手段１３に格納されたデータは３×３画素の局所画像２としての座標ではないことから、前記の比較結果から３×３画素の局所画像２への組み立てを行い、回転後の局所画像２としてラスタ走査順に記憶手段１３にライトできる様に、回転テーブルによる回転処理に基づいて読み出すこととなる。
【００１４】
図７には別の回転後の局所画像２と回転前の局所画像５の例を挙げた。この例では、回転後の局所画像５を全て含む４×４画素の回転前の局所画像５において、回転後の局所画像２の中心画像３に対応する回転前の局所画像５の中心画像６の位置が、先の図３での例とは異なっていることがわかる。このことから、回転前の局所画像５の読み出し開始座標の算出が中心画像６の座標以外に、その座標が全画像に対する回転の基準座標に対してどの位置にあるかを検出し、図８で示すような４通りのうちのいずれかの開始座標を算出することで、回転後の画像の局所画像２の中心座標３から算出した回転前の画像の局所画像５の範囲を正確に指定することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】回転テーブルの説明図である。
【図２】反時計回りで４５°の回転処理を行った時の局所データの回転前と回転後の画像の説明図である。
【図３】回転後の画像の座標から算出した回転前の画像の座標に基づいて作成した画像の説明図である。
【図４】比較例となる画像処理装置のブロック図である。
【図５】本発明の一実施形態である画像処理装置のブロック図である。
【図６】反時計回りで４５°の回転処理を行った時の局所データの回転後と回転前の座標算出、各格納手段への格納及び対応データの選択の説明図である。
【図７】回転後の局所画像と回転前の局所画像の例を示す説明図である。
【図８】図７の場合の効果を説明する説明図である。
【符号の説明】
【００１６】
Ｂ  画像処理装置
２  回転後の局所画像
３  中心画像
５  回転前の局所画像
６  中心画像
【図１】
2007080001.tif 000003
【図２】
2007080001.tif 000004
【図３】
2007080001.tif 000005
【図４】
2007080001.tif 000006
【図５】
2007080001.tif 000007
【図６】
2007080001.tif 000008
【図７】
2007080001.tif 000009
【図８】
2007080001.tif 000010