JP3917489B2 - 画像回転装置及び画像回転方法 - Google Patents
画像回転装置及び画像回転方法 Download PDFInfo
- Publication number
- JP3917489B2 JP3917489B2 JP2002233535A JP2002233535A JP3917489B2 JP 3917489 B2 JP3917489 B2 JP 3917489B2 JP 2002233535 A JP2002233535 A JP 2002233535A JP 2002233535 A JP2002233535 A JP 2002233535A JP 3917489 B2 JP3917489 B2 JP 3917489B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- image
- shift
- register
- pixel array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Input (AREA)
- Image Processing (AREA)
- Transforming Light Signals Into Electric Signals (AREA)
- Editing Of Facsimile Originals (AREA)
Description
【発明の属する技術分野】
本発明は、入射光または接触物体を検出して画像化するセンサを搭載したピクセルをマトリクス状に複数配置したピクセルアレイにおいて、各ピクセルのセンサによって得られた画像をピクセルアレイ上で回転させる画像回転装置及び画像回転方法に関するものである。
【0002】
【従来の技術】
現在、光や指紋の形状等を検出するセンサを搭載したピクセル1001を図22に示すようにマトリクス状に複数配置したピクセルアレイ1002とこのピクセルアレイ1002を制御するコントローラ(不図示)とからなり、画像や指紋を読みとり、各ピクセル1001に搭載した回路により画像処理等を行うシステムが提案されている(例えば特願平10−370934等)。
【0003】
このようなシステムの1つである指紋認識システムでは、ピクセルアレイ1002の各センサで読み取った指紋画像を予め登録された登録画像と照合して本人認証を行う。このとき、指紋画像と登録画像の位置や角度にずれがあると、高精度な照合ができなくなる。このため、ピクセルアレイ1002に記憶されている画像をピクセルアレイ1002上で任意の方向に移動させたり、回転させたりする必要がある。この画像処理により、登録画像とセンサで読みとった画像との高精度な照合が可能になる。
【0004】
また、センサ機能とメモリ機能と演算機能とを備えたピクセル1001を複数配置したピクセルアレイ1002を用いることで、システムを1つの半導体チップ上に構成できるので、システムをICカードや携帯機器等の小型機器に安価に搭載できるという優れた利点がある。また、ピクセルアレイ1002の画像の移動(シフト)については、図22に示すように隣接するピクセル1001間を接続し、あるピクセル1001で記憶しているデータを隣のピクセル1001に転送することで実現できる。このようなデータ転送は各ピクセル1001で同時に実行できるので、処理を高速に行うことが可能である。一方、画像の回転については、ピクセルアレイ1002の画像をいったん外部に転送して処理する必要があった。
【0005】
このような画像の回転を実現する従来の画像回転装置の構成を図23に示す。この画像回転装置では、ピクセルアレイ1002を制御するコントローラ1003に、ピクセルアレイ1002との通信を行う通信回路1004と、画像データの回転変換に関する演算を行う演算回路1005と、ピクセルアレイ1002で取り込まれた画像データを保持する画像メモリ1006と、全体の制御を行う制御回路1007とを搭載する。
【0006】
ピクセルアレイ1002で取得した画像を回転させる場合、コントローラ1003の制御回路1007は、まず通信回路1004を介してピクセルアレイ1002内の画像データを全て読み出し、画像メモリ1006に格納する。次に、演算回路1005は、画像メモリ1006に格納された画像データに対して三角関数等の演算を用いた座標変換を行い、回転させた画像データを作成する。制御回路1007は、この画像データを画像メモリ1006に書き込む。そして、制御回路1007は、画像メモリ1006に書き込んだ画像データを通信回路1004を介してピクセルアレイ1002上に戻すことで、ピクセルアレイ1002での画像データの回転を実現する。
【0007】
次に、従来の他の画像回転装置の例を図24に示す。この画像回転装置では、ピクセルアレイ1002を制御するコントローラ2003に、ピクセルアレイ1002との通信を行う通信回路2004と、画像データの回転のための座標変換情報を記憶した座標変換テーブル2005と、ピクセルアレイ1002で取り込まれた画像データを保持する画像メモリ2006と、全体の制御を行う制御回路2007とを搭載する。座標変換テーブル2005には、図25に示すように、各回転角度毎に、回転前のピクセル番号(座標)と回転後のピクセル番号(座標)との対応が記憶されている。
【0008】
ピクセルアレイ1002で取得した画像を回転させる場合、コントローラ2003の制御回路2007は、まず通信回路2004を介してピクセルアレイ1002内の画像データを全て読み出し、画像メモリ2006に格納する。次に、制御回路2007は、座標変換テーブル2005に格納された、所望の回転角度に対応する座標変換情報を用いて、画像メモリ2006内の回転前の各ピクセル番号のデータを回転後のピクセル番号の位置に移動させる座標変換を行う。そして、制御回路2007は、回転させた画像データを通信回路2004を介してピクセルアレイ1002上に戻すことで、ピクセルアレイ1002での画像データの回転を実現する。
【0009】
【発明が解決しようとする課題】
以上のような従来の画像回転装置には次のような問題点がある。従来の画像回転装置では、画像の回転のためにピクセルアレイ1002内に記憶されている画像データを一度メモリに書き出し、回転処理後にピクセルアレイ1002に戻す必要がある。このため、ピクセルアレイ1002のサイズ(ピクセル数)が大きい場合(例えば、ピクセルアレイ1002が256×256のピクセル1001からなる場合、ピクセル数は65536個となる)、この画像データの転送に多くの時間が必要となり、全体の処理時間が長くなるという問題点があった。また、この大きな画像データを保持するために、大容量の画像メモリ1006,2006が必要となり、画像回転装置の規模が大きくなるという問題点があった。また、変換処理自体がコントローラ1003,2003での逐次処理になってしまい、ピクセルアレイ1002の画素並列処理により高速画像処理を行う前記システムの利点を損なうという問題点があった。
【0010】
さらに、図23を参照して説明した従来の画像回転装置では、三角関数等の演算を用いて回転のための座標変換を行うため、三角関数等の複雑な計算を行う大規模で複雑な演算回路1005が必要になるという問題点があった。また、このような計算は一般的に多くの時間を必要とするため、画像データ全体の座標変換に多くの時間が必要となり、全体の処理時間が長くなるという問題点があった。
【0011】
図24を参照して説明した従来の画像回転装置では、座標変換テーブル2005を用いて座標変換を行うため、この座標変換テーブル2005に各回転角度毎のピクセルの変換座標を全ピクセルについて保持しておくことが必要であり、ピクセルアレイ1002のサイズが大きい場合、座標変換テーブル2005のサイズが莫大なものになるという問題点があった。
【0012】
本発明は、このような課題を解決するためのものであり、センサを搭載したピクセルをマトリクス状に複数配置したピクセルアレイにおいて、大容量な画像メモリや大規模な演算回路を用いることなく、画像データを高速、かつ低電力で任意の角度に回転させることができる画像回転装置及び画像回転方法を提供することを目的としている。
【0013】
【課題を解決するための手段】
本発明の画像回転装置は、入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセル(1)をマトリクス状に複数配置したピクセルアレイ(2)と、前記ピクセルアレイに記憶された画像を回転させる際、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=nまでnサイクル実行させる手段を備えたコントローラ(3)とを有するものである。
また、本発明の画像回転装置は、入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセル(1)をマトリクス状に複数配置したピクセルアレイ(2)と、前記ピクセルアレイに記憶された画像を回転させる際、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=n−1までn−1サイクル実行させた後、前記ピクセルアレイの全画像領域の隣り合う2辺から内側に向かって距離W/2の幅を持つ2つのシフト領域を回転方向に対応する方向へシフトさせるシフト処理を前記ピクセルアレイの各ピクセルに実行させる手段を備えたコントローラ(3)とを有するものである。
また、本発明の画像回転装置は、入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセル(1)をマトリクス状に複数配置したピクセルアレイ(2)と、前記ピクセルアレイに記憶された画像を回転させる際、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応し、かつサイクル毎に設定されるシフト領域幅をds(dsは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離dsの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、サイクル毎に前記シフト領域幅dsを設定しつつ、前記ピクセルアレイの各ピクセルに前記シフト処理をnサイクル実行させる手段を備えたコントローラ(3)とを有するものである。
【0014】
また、本発明の画像回転装置の1構成例は、前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n)とするものである。
また、本発明の画像回転装置の1構成例は、前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n+1)とするものである。
また、本発明の画像回転装置の1構成例は、前記ピクセルアレイの全画像領域の上下辺と左右辺毎に前記シフト領域幅dsを個別に設定するものである。
また、本発明の画像回転装置の1構成例は、前記ピクセルアレイの全画像領域の各辺毎に前記シフト領域幅dsを個別に設定するものである。
【0015】
また、本発明の画像回転装置の1構成例において、前記ピクセルアレイの各ピクセルは、入射光又は接触物体を検出して画像化するセンサ(11)と、このセンサの出力信号と隣接する他のピクセルの出力信号と排他的論理和出力信号とを入力とし、前記コントローラからのセレクト信号に応じて前記入力のうち何れか1つを選択して出力するセレクタ(12)と、このセレクタの出力信号と第1のレジスタ出力信号とを入力とし、前記コントローラからの演算制御信号で指定された演算を行う演算回路(13)と、前記コントローラからの書込信号に応じて前記演算回路の出力信号を保持し、この保持結果を前記第1のレジスタ出力信号として出力する第1のレジスタ(14)と、前記コントローラからの書込信号に応じて前記演算回路の出力信号を保持する第2のレジスタ(15)と、この第2のレジスタの出力信号と前記コントローラからの出力制御信号との排他的論理和をとった結果を前記排他的論理和出力信号として前記セレクタ及び隣接する他のピクセルに出力する排他的論理和回路(16)とを備え、前記コントローラは、前記最小シフト領域幅d又は前記シフト領域幅dsと前記最大サイクル数nとを予め記憶するシフト幅テーブル(5)と、前記最小シフト領域幅d又は前記シフト領域幅dsと前記最大サイクル数nとを基に前記ピクセルアレイの各ピクセルを制御する制御回路(6)とを備えるものである。
【0016】
また、本発明の画像回転装置の1構成例において、前記第1のレジスタは、少なくとも2つのレジスタからなり、前記コントローラの制御回路は、前記セレクタに前記センサの出力を選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタ中の一方のレジスタと前記第2のレジスタに書き込む第1の手順と、この第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記セレクタに選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタ中の他方のレジスタに書き込む第2の手順と、前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を前記第2のレジスタに格納する第3の手順と、この第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の一方のレジスタとの論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第1のレジスタ中の一方のレジスタに書き込む第4の手順と、前記第3の手順で書き込まれた前記第2のレジスタの出力を反転させた信号を前記排他的論理和回路から出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の他方のレジスタの出力との論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第5の手順と、前記第5の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の一方のレジスタの出力との論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第6の手順とにより、前記シフト領域を回転方向に対応する方向へシフトさせるものである。
【0017】
また、本発明の画像回転装置の1構成例において、前記コントローラの制御回路は、前記セレクタに前記センサの出力を選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタに書き込む第1の手順と、前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を第2のレジスタに格納する第2の手順と、この第2のレジスタの出力を反転させた信号を前記排他的論理和回路から出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第3の手順と、この第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との排他的論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第1のレジスタに書き込む第4の手順と、前記第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第5の手順とにより、前記シフト領域を回転方向に対応する方向へシフトさせるものである。
【0018】
また、本発明の画像回転装置の1構成例において、前記ピクセルアレイは、W/m行×W列(mはピクセルアレイの1辺あたりのピクセル数Wの約数で、2≦m≦W)のピクセルに共通に接続され、この共通のピクセルに行セレクト信号を出力するm個の行設定回路と、W行×W/m列のピクセルに共通に接続され、この共通のピクセルに列セレクト信号を出力するm個の列設定回路とを備え、前記ピクセルアレイの各ピクセルは、前記行設定回路からの行セレクト信号と前記列設定回路からの列セレクト信号との論理演算の結果を前記セレクタに入力する論理回路を備え、前記コントローラの制御回路は、前記シフト領域の幅S×dに最も近い値がk×W/m(kは自然数)であるとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離k×W/mの幅を持つ第1の領域と残りの第2の領域とで値を反転させた画像を前記第2のレジスタに格納する手順と、前記第1の領域の幅が前記シフト領域の幅S×dと一致するようにシフト処理を実行させる手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記マスク画像を前記第2のレジスタに格納するものである。
【0019】
また、本発明は、入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセル(1)をマトリクス状に複数配置したピクセルアレイ(2)において、このピクセルアレイに記憶された画像を回転させる画像回転方法であって、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=nまでnサイクル実行させるようにしたものである。
また、本発明の画像回転方法は、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=n−1までn−1サイクル実行させた後、前記ピクセルアレイの全画像領域の隣り合う2辺から内側に向かって距離W/2の幅を持つ2つのシフト領域を回転方向に対応する方向へシフトさせるシフト処理を前記ピクセルアレイの各ピクセルに実行させるようにしたものである。
また、本発明の画像回転方法は、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応し、かつサイクル毎に設定されるシフト領域幅をds(dsは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離dsの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、サイクル毎に前記シフト領域幅dsを設定しつつ、前記ピクセルアレイの各ピクセルに前記シフト処理をnサイクル実行させるようにしたものである。
【0020】
また、本発明の画像回転方法は、前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n)とするものである。
また、本発明の画像回転方法は、前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n+1)とするものである。
また、本発明の画像回転方法は、前記ピクセルアレイの全画像領域の上下辺と左右辺毎に前記シフト領域幅dsを個別に設定するものである。
また、本発明の画像回転方法は、前記ピクセルアレイの全画像領域の各辺毎に前記シフト領域幅dsを個別に設定するものである。
【0021】
また、本発明の画像回転方法は、前記センサの出力を2つの第1のレジスタ中の一方のレジスタと第2のレジスタに書き込む第1の手順と、この第2のレジスタの出力を隣接する他のピクセルへ出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記第1のレジスタ中の他方のレジスタに書き込む第2の手順と、前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を前記第2のレジスタに格納する第3の手順と、前記第1のレジスタ中の一方のレジスタの出力と前記マスク画像との論理積演算の結果を前記第1のレジスタ中の一方のレジスタに書き込む第4の手順と、前記第1のレジスタ中の他方のレジスタの出力と前記マスク画像を反転させた画像との論理積演算の結果を前記第2のレジスタに書き込む第5の手順と、前記第4の手順で書き込まれた前記第1のレジスタ中の一方のレジスタの出力と前記第5の手順で書き込まれた前記第2のレジスタの出力との論理和演算の結果を前記第2のレジスタに書き込む第6の手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記シフト領域を回転方向に対応する方向へシフトさせるようにしたものである。
また、本発明の画像回転方法は、前記センサの出力を第1のレジスタに書き込む第1の手順と、前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を第2のレジスタに格納する第2の手順と、前記第1のレジスタの出力と前記マスク画像を反転させた画像との論理積演算の結果を前記第2のレジスタに書き込む第3の手順と、前記第1のレジスタの出力と前記第3の手順で書き込まれた前記第2のレジスタの出力との排他的論理和演算の結果を前記第1のレジスタに書き込む第4の手順と、前記第3の手順で書き込まれた前記第2のレジスタの出力を隣接する他のピクセルへ出力させ、シフト方向と逆方向の隣接ピクセルの出力と前記第4の手順で書き込まれた前記第1のレジスタの出力との論理和演算の結果を前記第2のレジスタに書き込む第5の手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記シフト領域を回転方向に対応する方向へシフトさせるようにしたものである。
【0022】
また、本発明の画像回転方法の1構成例は、前記シフト領域の幅S×dに最も近い値がk×W/m(mはピクセルアレイの1辺あたりのピクセル数Wの約数で、2≦m≦W、kは自然数)であるとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離k×W/mの幅を持つ第1の領域と残りの第2の領域とで値を反転させた画像を前記第2のレジスタに格納する手順と、前記第1の領域の幅が前記シフト領域の幅S×dと一致するようにシフト処理を実行させる手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記マスク画像を前記第2のレジスタに格納するようにしたものである。
【0023】
【発明の実施の形態】
[第1の実施の形態]
以下、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1の実施の形態となる画像回転装置の構成を示すブロック図である。本実施の形態の画像回転装置は、入射光または接触物体(例えば人の指)を検出して画像化するセンサを搭載したピクセル1をマトリクス状に複数配置したピクセルアレイ2と、このピクセルアレイ2を制御するコントローラ3とから構成される。
【0024】
コントローラ3は、ピクセルアレイ2の動作を制御する制御信号をピクセルアレイ2に送信する通信回路4と、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数と回転角度に対応した最小のシフト領域幅とを記憶するシフト幅テーブル5と、全体の動作を制御する制御回路6とからなる。この画像回転装置では、ピクセルアレイ2において、センサ等で検出した画像データの回転処理を、ピクセルアレイ2の全画像領域中の一部のシフト領域をシフトさせるシフト処理の組み合わせによって実現する。
【0025】
本実施の形態における具体的な回転処理について図2に、この回転処理を実行するためのフローチャートを図3に示す。図2は画像を右回転、すなわち時計回りに回転させる場合の動作を示しており、図2(a)、図2(b)、図2(c)の各画像はピクセルアレイ2に記憶された画像全体を表している。なお、図2において、白地は画素「0」、黒地はシフト領域にある画素「1」、梨子地はシフトしない領域にある画素「1」を示す。
【0026】
まず、制御回路6は、処理回数を示す図示しないサイクルカウンタSを初期値1にセットする(ステップ101)。続いて、制御回路6は、シフト幅テーブル5から所望の回転角度に対応した最小のシフト領域幅d(dは自然数)と所望の回転角度で画像を回転させるのに要する処理の最大サイクル数n(nは自然数)とを読み出す(ステップ102)。
【0027】
次に、制御回路6は、ピクセルアレイ2の全画像領域の上辺から内側へ距離S×dの幅を持つ帯状のシフト領域を回転方向に対応する方向(右回転の場合は右、左回転の場合は左)へ1ピクセル分シフトするよう、通信回路4を介してピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の上辺から距離S×dの幅を持つシフト領域を右方向へ1ピクセル分シフトする(ステップ103)。
【0028】
続いて、制御回路6は、ピクセルアレイ2の全画像領域の左辺から内側へ距離S×dの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は上、左回転の場合は下)へ1ピクセル分シフトするようにピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の左辺から距離S×dの幅を持つシフト領域を上方向へ1ピクセル分シフトする(ステップ104)。
【0029】
また、制御回路6は、ピクセルアレイ2の全画像領域の下辺から内側へ距離S×dの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は左、左回転の場合は右)へ1ピクセル分シフトするようピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の下辺から距離S×dの幅を持つシフト領域を左方向へ1ピクセル分シフトする(ステップ105)。
【0030】
さらに、制御回路6は、ピクセルアレイ2の全画像領域の右辺から内側へ距離S×dの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は下、左回転の場合は上)へ1ピクセル分シフトするようピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の右辺から距離S×dの幅を持つシフト領域を下方向へ1ピクセル分シフトする(ステップ106)。図2(a)は、ステップ103〜106の処理が1サイクル終わった状態を示す。
【0031】
次に、制御回路6は、サイクルカウンタSが最大サイクル数nと等しいかどうかを判定し(ステップ107)、サイクルカウンタSが最大サイクル数nより小さい場合は、サイクルカウンタSを1増加させ(ステップ108)、ステップ103に戻る。
【0032】
2サイクル目の処理においてもシフト領域の幅は、S×dであるが、S=2としたので、2dとなる。ピクセルアレイ2は、制御回路6の指示により、全画像領域の上辺から距離2dの幅を持つシフト領域を右方向へ1ピクセル分シフトし(ステップ103)、全画像領域の左辺から距離2dの幅を持つシフト領域を上方向へ1ピクセル分シフトし(ステップ104)、全画像領域の下辺から距離2dの幅を持つシフト領域を左方向へ1ピクセル分シフトし(ステップ105)、全画像領域の右辺から距離2dの幅を持つシフト領域を下方向へ1ピクセル分シフトする(ステップ106)。図2(b)はステップ103〜106の処理が2サイクル終わった状態を示す。
【0033】
以上のようにステップ103〜108の処理をサイクルカウンタSが最大サイクル数nと等しくなるまで繰り返す。制御回路6は、ステップ107においてサイクルカウンタSが最大サイクル数nと等しくなったとき、回転処理を終了させる。図2(c)は回転処理が終了し、ピクセルアレイ2での画像回転が完了した状態を示す。
なお、本実施の形態においては主として画像を右回転させる場合を例に説明したが、上記説明中、シフト領域のシフト方向について右方向と左方向および上方向と下方向をそれぞれ逆にすることで、画像を左回転すなわち反時計まわりに回転させることも可能であることはいうまでもない。
【0034】
シフト幅テーブル5に記憶される最小シフト領域幅dと最大サイクル数nは、ピクセルアレイ2の1辺あたりのピクセル数をWとしたとき、d=W/(2n)で表され、回転角度とピクセルアレイ2のサイズ(W×W)にあわせてあらかじめ設定することが可能である。この最小シフト領域幅dと最大サイクル数nを、図4に示すように、各回転角度毎にシフト幅テーブル5にあらかじめ記憶させておく。図3に示した回転処理において、最初にシフト幅テーブル5から最小シフト領域幅dと最大サイクル数nを読み込むことで、所望の回転角度に対応する最小シフト領域幅dと最大サイクル数nを決めることができる。
【0035】
このように、本実施の形態では、ピクセルアレイ2の全画像領域中の部分的なシフト処理を組み合わせることにより、画像の回転を実現している。この部分的なシフト処理を実現するピクセル1の構成を図5に示す。
【0036】
各ピクセル1は、人の皮膚との間の容量、あるいは光等を検出するセンサ11と、このセンサ11の出力信号や隣接する他のピクセル1からの信号、後述するXOR回路16の出力信号を入力とし、コントローラ3からのセレクト信号に応じて入力信号のうち何れか1つを選択して出力するセレクタ12と、このセレクタ12と後述するレジスタ14の出力を入力とし、コントローラ3からの演算制御信号で指定された演算を行う演算回路13と、コントローラ3からの書き込み信号に応じて演算回路13の出力を保持するレジスタ14と、同じく演算回路13の出力を保持する出力レジスタ15と、出力レジスタ15の出力をコントローラ3からの出力反転信号に応じて反転して出力あるいはそのまま出力するXOR(排他的論理和)回路16とからなる。
【0037】
XOR回路16の出力は隣接する他のピクセル1に送信される。コントローラ3からの各制御信号は、全てのピクセル1に共通であり、全ピクセル1に送信される。また、レジスタ14は少なくとも2つのレジスタ回路から構成される。
【0038】
このようなピクセル1からなるピクセルアレイ2における、各シフト領域でのシフト処理(ステップ103,104,105または106)の様子を図6に示す。図6はレジスタ14及び出力レジスタ15が保持している画像を示しているが、図6の各画像は1つのピクセル内のレジスタ14及び出力レジスタ15が保持している画像ではなく、ピクセルアレイ2の全ピクセル内のレジスタ14及び出力レジスタ15が保持している画像をまとめてピクセルアレイ2が保持している画像として表記しているものである。
【0039】
図6の例は、ピクセルアレイ2が保持している画像の上辺から距離S×dの幅を持つシフト領域を右方向へシフトする処理(図3のステップ103)を示している。また、図6の各画像では、レジスタ14,15が保持しているデータが「1」の場合は黒、「0」の場合は白で表している。
【0040】
シフト領域のシフト処理はコントローラ3からの制御信号を変化させ、各ピクセル1で以下の動作を行うことで実現できる。シフトを行う前にまず、コントローラ3は、セレクト信号を出力して、セレクタ12にセンサ11の出力を選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13(センサ11)の出力をレジスタ14中の1つのレジスタ回路(以下、レジスタ14−1とする)と出力レジスタ15に書き込む。このとき、レジスタ14−1と出力レジスタ15に書き込まれた画像は図6(a)、図6(b)のようになる。
【0041】
次に、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、シフト方向と逆方向の隣接ピクセル1の出力をセレクタ12に選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13(隣接ピクセル1)の出力をレジスタ14中の他のレジスタ回路(以下、レジスタ14−2とする)に書き込む。ここでは、右方向にシフトするため、左隣のピクセル1からの信号をセレクタ12で選択して、レジスタ14−2に書き込む。このとき、レジスタ14−2に書き込まれた画像は図6(c)のようになる。
【0042】
次に、コントローラ3は、シフト領域の値が「0」、シフトしない領域の値が「1」のマスク画像を出力レジスタ15に格納する(図6(d))。このマスク画像の作成方法については後述する。なお、以後の演算を変更することで、シフト領域の値が「1」、シフトしない領域の値が「0」のマスク画像とすることも可能である。
【0043】
次に、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、XOR回路16の出力をセレクタ12に選択させ、演算制御信号を出力して、図6(e)に示すレジスタ14−1の出力と図6(f)に示すセレクタ12(出力レジスタ15)の出力とのAND(論理積)演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力をレジスタ14−1に書き込む(図6(g))。これにより、ピクセルアレイ2の全画像領域からシフトを行わない領域のみを抽出した画像がレジスタ14−1に格納される。
【0044】
次に、コントローラ3は、XOR回路16に値が「1」の出力反転信号を与えて、出力レジスタ15の出力を反転させた信号をXOR回路16から出力させ、セレクト信号を出力して、XOR回路16の出力をセレクタ12に選択させ、演算制御信号を出力して、図6(h)に示すレジスタ14−2の出力と図6(i)に示すセレクタ12(出力レジスタ15の論理反転)の出力とのAND演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む(図6(j))。これにより、ピクセルアレイ2の全画像領域からシフトを行う領域のみを抽出した画像が出力レジスタ15に格納される。
【0045】
最後に、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与え、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、XOR回路16の出力をセレクタ12に選択させ、演算制御信号を出力して、図6(k)に示すレジスタ14−1の出力と図6(l)に示すセレクタ12(出力レジスタ15)の出力とのOR(論理和)演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む(図6(m))。
【0046】
このとき、演算回路13の出力を書き込むのは、レジスタ14−1でもよいし、レジスタ14−2でもよい。以上で、シフト領域のシフト処理が完了する。なお、ステップ103のシフト処理を例に挙げて説明したが、ステップ104,105または106のシフト処理についても同様にして実現することができる。
【0047】
次に、図6(c)で説明したマスク画像の作成手順を図7に示す。図7は、図6と同様に、ピクセルアレイ2の全ピクセル内の出力レジスタ15が保持している画像をまとめて表記しているものである。まず、コントローラ3は、演算制御信号を出力して、演算回路13の出力を「1」とし、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む。これにより、全ピクセル1の出力レジスタ15が「1」にセットされる(図7(a))。
【0048】
続いて、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、シフト領域を設定する辺の方向にある隣接ピクセル1(ピクセルアレイ2の上辺にシフト領域を設定する場合には上側のピクセル1)の出力をセレクタ12に選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13(隣接ピクセル1)の出力を出力レジスタ15に書き込む。このような隣接ピクセル1からの取り込みをシフト領域の幅(S×d)の回数分だけ繰り返す(図7(b))。
【0049】
ピクセルアレイ2の上辺に位置するピクセル1では、上側にピクセル1が存在しないため、上記のように上側の隣接ピクセル1の出力を出力レジスタ15に書き込む処理を行うと、上辺に位置する各ピクセル1の出力レジスタ15に「0」が書き込まれる。したがって、上側の隣接ピクセル1の出力を出力レジスタ15に書き込むことをS×d回繰り返すと、値「0」が下方向に順次シフトするので、結果として上辺から距離S×dの幅を持つシフト領域の値が「0」となるマスク画像が出力レジスタ15に格納される(図7(c))。
【0050】
以上のようにして、本実施の形態では、センサ11で検出した画像等の回転をピクセルアレイ2上で行うことが可能となる。本実施の形態の手法によれば、ピクセルアレイ2内の画像をコントローラ3に読み出す必要がないため、画像を記憶するための画像メモリをコントローラ3に設ける必要がなく、画像回転装置の小型化が実現できる。
【0051】
また、ピクセルアレイ2とコントローラ3間で画像データを転送する必要がなく、ほとんどの処理をピクセルアレイ2内の画素並列処理で実行できるため、従来手法に比べ回転処理にかかる時間を大幅に削減することも可能となる。また、コントローラ3で高速、かつ複雑な処理を行う必要がないので、コントローラ3の回路や構成を簡易的なものにすることも可能であり、消費電力の低減や画像回転装置の小型化が可能となる。
【0052】
なお、本実施の形態では、図3に示した回転処理において、シフト処理を行う順番を上辺、左辺、下辺、右辺としているが、画像の回転方向に合わせてこの順を逆にしてもよく、また任意の順番でシフト処理を行ってもよい。
【0053】
また、画像の回転方向はシフト領域のシフト方向で決まるため、シフト幅テーブル5のデータは左右の回転で共用することができる。例えば、右に1度回転させるときと左に1度(右に−1度)回転させるときのデータ(最小シフト領域幅d、最大サイクル数n)は同じである。
【0054】
本実施の形態において、制御回路6は一般的なマイクロコンピュータやマイクロプロセッサ、シフト幅テーブル5は一般的なSRAMやEEPROM、フラッシュメモリ等のメモリ、通信回路4は一般的な出力バッファ回路を用いることで実現可能である。
【0055】
[第2の実施の形態]
次に、本発明の第2の実施の形態について説明する。本実施の形態と第1の実施の形態との違いはシフト幅テーブル5に記憶させる最小シフト領域幅dと最大サイクル数nの設定方法のみであり、図1に示した画像回転装置の構成や図3に示した回転処理の手順は第1の実施の形態と同様であるので、第1の実施の形態の符号を用いて説明する。
【0056】
第1の実施の形態では、最小シフト領域幅dと最大サイクル数nの関係をd=W/(2n)としていたため、図2(c)に示したS=nのとき、シフト領域の幅がW/2となり、各辺のシフトではピクセルアレイ2の半面がシフトされることになる。
【0057】
したがって、画像を右回転させる場合には、上半分のシフト領域が右方向へ1ピクセル分シフトし、左半分のシフト領域が上方向へ1ピクセル分シフトし、下半分のシフト領域が左方向へ1ピクセル分シフトし、右半分のシフト領域が下方向へ1ピクセル分シフトするので、図8に示すように、2つのシフト領域(図8の例では左半分と右半分のシフト領域)の境界では、互いに逆方向に1ピクセルずつ、すなわち全体として2ピクセル分シフトすることになり、最小シフト領域幅dが小さくなると、これらシフト領域の境界部分で誤差が発生する。図8は、ピクセルアレイ2の中心部を拡大したものである。
【0058】
このような誤差を防ぐため、本実施の形態では、シフト幅テーブル5の作成時に、最小シフト領域幅dと最大サイクル数nをd=W/(2n+1)の関係を満たすように設定する。本実施の形態における回転処理の様子を図9に示す。最小シフト領域幅dと最大サイクル数nの関係をd=W/(2n+1)とすることにより、第1の実施の形態と同様の回転処理(図3)を実行すると、図9(c)に示すように、シフト処理の最終サイクル(S=n)で、ピクセルアレイ2の中心部に1辺dの正方形の領域を残してシフトすることができる。
【0059】
これにより、シフト処理の最終サイクルにおいてもシフト領域が接することがなく、第1の実施の形態のように2ピクセル分ずれることを防ぐことができる。また、図9(c)に示したようにシフトしない領域は最小シフト領域幅d四方の領域であるため、誤差が発生することもない。その結果、より正確な回転処理を行うことが可能となる。
なお、画像を左回転させる場合においても最小シフト領域幅dと最大サイクル数nについては同様に設定することができる。
【0060】
[第3の実施の形態]
次に、本発明の第3の実施の形態について説明する。本実施の形態と第1の実施の形態との違いはシフト処理の手順のみであり、画像回転装置の構成は第1の実施の形態と同様であるので、第1の実施の形態の符号を用いて説明する。本実施の形態は、第2の実施の形態と同様に、第1の実施の形態においてシフト領域間が2ピクセル分ずれることを防ぐものである。
【0061】
本実施の形態における回転処理の様子を図10に、この回転処理を実行するためのフローチャートを図11に示す。図10は画像を右回転させる場合の動作を示している。最小シフト領域幅dと最大サイクル数nの関係は、第1の実施の形態と同様にd=W/(2n)である。図11に示す回転処理において、ステップ101〜106の処理は第1の実施の形態と同じである。
【0062】
次に、ステップ109において、制御回路6は、サイクルカウンタSが(n−1)と等しいかどうかを判定して、サイクルカウンタSが(n−1)未満の場合は、サイクルカウンタSを1増加させ(ステップ108)、ステップ103に戻る。これにより、ステップ103〜106,108,109の処理をサイクルカウンタSが(n−1)と等しくなるまで繰り返す。
【0063】
制御回路6は、ステップ109においてサイクルカウンタSが(n−1)と等しくなったとき、ピクセルアレイ2の全画像領域の上辺から距離W/2の幅を持つ上半分のシフト領域を回転方向に対応する方向へ1ピクセル分シフトするようピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の上半分のシフト領域を右方向へ1ピクセル分シフトする(ステップ110)。
【0064】
さらに、制御回路6は、全画像領域の左辺から距離W/2の幅を持つ左半分のシフト領域を回転方向に対応する方向へ1ピクセル分シフトするようピクセルアレイ2を制御する。制御回路6の指示により、ピクセルアレイ2は、全画像領域の左半分のシフト領域を上方向へ1ピクセル分シフトする(ステップ111)。
【0065】
以上により、シフト処理の最終サイクル(S=n−1)においても2つのシフト領域が接することがなく、第1の実施の形態のように2ピクセル分ずれることを防ぐことができる。その結果、より正確な回転処理を行うことが可能となる。なお、本実施の形態では、最終サイクルにおいて、上半分のシフト領域と左半分のシフト領域を回転方向に対応する方向へシフトさせたが、左半分と下半分のシフト領域をシフトさせてもよいし、下半分と右半分のシフト領域をシフトさせてもよいし、右半分と上半分のシフト領域をシフトさせてもよい。
なお、本実施の形態においては主として画像を右回転させる場合を例に説明したが、上記説明中、シフト領域のシフト方向について右方向と左方向および上方向と下方向をそれぞれ逆にすることで、画像を左回転すなわち反時計まわりに回転させることも可能であることはいうまでもない。
【0066】
[第4の実施の形態]
以下、本発明の第4の実施の形態について説明する。本実施の形態と第1の実施の形態との違いは、シフト幅テーブル5に記憶させるデータの設定方法とシフト処理の手順であり、画像回転装置の構成は第1の実施の形態と同様であるので、第1の実施の形態の符号を用いて説明する。
【0067】
第1の実施の形態では、最小シフト領域幅dと最大サイクル数nの関係をd=W/(2n)としていた。しかし、所望の回転角度に応じて最小シフト領域幅dを決めると、最大サイクル数nが整数にならず、最小シフト領域幅dと最大サイクル数nを設定することが不可能になってしまう場合がある。
【0068】
例えば、ピクセルアレイ2が256×256個のピクセル1で構成されているとき、ある回転角度でd=10となった場合、n=12.8となり、最大サイクル数nに端数が発生する。このとき、n=12とすると、ピクセルアレイ2の中心部に16×16ピクセルのシフトしない領域ができてしまい、正確な回転でなくなってしまう。
【0069】
このような不正確な回転を防ぐため、本実施の形態では、回転角度毎の最大サイクル数nをシフト幅テーブル5にあらかじめ設定すると共に、回転角度毎及びサイクル数毎のシフト領域幅ds(添字のsはサイクルカウンタSに対応)をシフト幅テーブル5にあらかじめ設定する。本実施の形態における具体的な回転処理について図12に、この回転処理を実行するためのフローチャートを図13に示す。図12は画像を右回転させる場合の動作を示している。
【0070】
まず、制御回路6は、内部に有するサイクルカウンタSを初期値1にセットする(ステップ101)。続いて、制御回路6は、シフト幅テーブル5から所望の回転角度に対応した最大サイクル数nを読み出す(ステップ112)。次に、制御回路6は、シフト幅テーブル5から所望の回転角度とサイクルカウンタSとに対応したシフト領域幅dsを読み出す(ステップ113)。
【0071】
次に、制御回路6は、ピクセルアレイ2の全画像領域の上辺から距離dsの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は右、左回転の場合は左)へ1ピクセル分シフトするようピクセルアレイ2を制御する。ピクセルアレイ2は、上辺から距離dsの幅を持つシフト領域を右方向へ1ピクセル分シフトする(ステップ114)。
【0072】
続いて、制御回路6は、ピクセルアレイ2の全画像領域の左辺から距離dsの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は上、左回転の場合は下)へ1ピクセル分シフトするようピクセルアレイ2を制御する。ピクセルアレイ2は、左辺から距離dsの幅を持つシフト領域を上方向へ1ピクセル分シフトする(ステップ115)。
【0073】
また、制御回路6は、ピクセルアレイ2の全画像領域の下辺から距離dsの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は左、左回転の場合は右)へ1ピクセル分シフトするようピクセルアレイ2を制御する。ピクセルアレイ2は、下辺から距離dsの幅を持つシフト領域を左方向へ1ピクセル分シフトする(ステップ116)。
【0074】
さらに、制御回路6は、ピクセルアレイ2の全画像領域の右辺から距離dsの幅を持つシフト領域を回転方向に対応する方向(右回転の場合は下、左回転の場合は上)へ1ピクセル分シフトするようピクセルアレイ2を制御する。ピクセルアレイ2は、右辺から距離dsの幅を持つシフト領域を下方向へ1ピクセル分シフトする(ステップ117)。図12(a)はステップ113〜117の処理が1サイクル終わった状態を示す。
【0075】
次に、制御回路6は、サイクルカウンタSが最大サイクル数nと等しいかどうかを判定し(ステップ107)、サイクルカウンタSが最大サイクル数nより小さい場合は、サイクルカウンタSを1増加させ(ステップ108)、ステップ113に戻る。2サイクル目の処理においても、制御回路6は、シフト幅テーブル5から所望の回転角度とS=2に対応したシフト領域幅dsを読み出し(ステップ113)、ステップ114〜117の処理を上記と同様に実行する。図12(b)はステップ113〜117の処理が2サイクル終わった状態を示す。
【0076】
以上のようにステップ113〜117,107,108の処理をサイクルカウンタSが最大サイクル数nと等しくなるまで繰り返す。制御回路6は、ステップ107においてサイクルカウンタSが最大サイクル数nと等しくなったとき、回転処理を終了させる。図12(c)は回転処理が終了し、ピクセルアレイ2での画像回転が完了した状態を示す。こうして、正確な回転処理を実現することができる。
なお、本実施の形態においては主として画像を右回転させる場合を例に説明したが、上記説明中、シフト領域のシフト方向について右方向と左方向および上方向と下方向をそれぞれ逆にすることで、画像を左回転すなわち反時計まわりに回転させることも可能であることはいうまでもない。
【0077】
シフト幅テーブル5には、図4から最小シフト領域幅の項目を除いた、回転角度と最大サイクル数nとを対応付けたテーブルと、図14に示すようなサイクル数とシフト領域幅dsとを対応付けた回転角度毎のテーブルとを格納する。例えば、ピクセルアレイ2が256×256個のピクセル1で構成されている場合には、ステップ1でシフト領域幅dsを8、それ以降のステップ数でシフト領域幅dsを10、最大サイクル数nを13と設定することで、前記端数による中心部の未シフト領域を無くすことができる。このように最大サイクル数nに端数が発生する場合には、その端数を調整するシフト領域幅dsをステップ1に設定することで、ピクセルアレイ2の全画像領域の外周部分で端数の調整を行い、それ以外の部分の誤差を防ぐことができる。
【0078】
また、シフト幅テーブル5のデータ量を削減するため、図15に示すように、ステップ2以上については1つの項目にすることも可能である。さらに、図16に示すように、各ステップに対して上下辺のシフト領域の幅と左右辺のシフト領域の幅を個別に設定することで、ピクセルアレイ2が長方形であった場合でも正確な回転処理を実現することができる。このとき、シフト領域幅を0にすることで、そのステップではシフト処理を行わないことを示すこともできる。
【0079】
また、図17に示すように、各ステップに対して上辺、左辺、下辺、右辺の各シフト領域の幅を個別に設定することで、画像の回転中心をピクセルアレイ2上の中心からずらし、別の点にすることも可能となる。なお、シフト処理の最終ステップについては第2、第3の実施の形態に示した方法を用いることも可能であり、より正確な回転処理を実現できる。
【0080】
[第5の実施の形態]
次に、本発明の第5の実施の形態について説明する。本実施の形態と第1の実施の形態との違いは、各シフト領域でのシフト処理を実現する手法のみであり、図1に示した画像回転装置の構成や図3に示した回転処理の手順は第1の実施の形態と同様であるので、第1の実施の形態の符号を用いて説明する。
【0081】
本実施の形態におけるシフト処理(ステップ103,104,105または106)の様子を図18に示す。図18の例は、ピクセルアレイ2が保持している全画像領域の上辺から距離S×dの幅を持つシフト領域を右方向へシフトする処理(ステップ103)を示している。図18の表記方法は図6と同様である。
【0082】
シフト領域のシフト処理はコントローラ3からの制御信号を変化させ、各ピクセル1で以下の動作を行うことで実現できる。シフトを行う前にまず、コントローラ3は、セレクト信号を出力して、セレクタ12にセンサ11の出力を選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13(センサ11)の出力をレジスタ14−1に書き込む(図18(a))。
【0083】
また、コントローラ3は、図7で説明した手法を用いて、シフト領域の値が「0」、シフトしない領域の値が「1」のマスク画像を出力レジスタ15に格納する(図18(b))。
【0084】
次に、コントローラ3は、XOR回路16に値が「1」の出力反転信号を与えて、出力レジスタ15の出力を反転させた信号をXOR回路16から出力させ、セレクト信号を出力して、XOR回路16の出力をセレクタ12に選択させ、演算制御信号を出力して、図18(c)に示すレジスタ14−1の出力と図18(d)に示すセレクタ12(出力レジスタ15の論理反転)の出力とのAND演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む(図18(e))。
【0085】
続いて、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、XOR回路16の出力をセレクタ12に選択させ、演算制御信号を出力して、図18(f)に示すレジスタ14−1の出力と図18(g)に示すセレクタ12(出力レジスタ15)の出力とのXOR演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力をレジスタ14−1に書き込む(図18(h))。
【0086】
最後に、コントローラ3は、XOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、シフト方向と逆方向の隣接ピクセル1の出力をセレクタ12に選択させ、演算制御信号を出力して、図18(i)に示すレジスタ14−1の出力と図18(j)に示すセレクタ12(隣接ピクセル1)の出力とのOR演算を演算回路13に実行させ、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む(図18(k))。
【0087】
このとき、演算回路13の出力を書き込むのは、レジスタ14−1でもよい。以上で、シフト領域のシフト処理が完了する。なお、ステップ103のシフト処理を例に挙げて説明したが、ステップ104,105または106のシフト処理についても同様にして実現することができる。
【0088】
本実施の形態では、ピクセル1内の演算回路13にXOR(排他的論理和)演算を行う機能を設けることで、各シフト領域のシフト処理に要するステップ数を削減することができ、処理時間を短縮することが可能である。また、シフト処理中に用いるレジスタは出力レジスタとレジスタ14−1のみであり、第1の実施の形態と比べてピクセル1内のレジスタ数の削減も可能とする。
【0089】
[第6の実施の形態]
次に、本発明の第6の実施の形態について説明する。図19は本実施の形態のピクセルアレイ2aの構成を示すブロック図であり、図1と同一の構成には同一の符号を付してある。本実施の形態は、第1の実施の形態〜第5の実施の形態において、ピクセルアレイ2の代わりに図19に示したピクセルアレイ2aを用いるものである。本実施の形態と他の実施の形態が異なる点は、ピクセルアレイ2aの構成とマスク画像の作成方法なので、以下の説明ではこの点についてのみ説明する。
【0090】
本実施の形態のピクセルアレイ2aは、第1の実施の形態〜第5の実施の形態のピクセルアレイ2の内部に、W/m行×W列(mはピクセルアレイ2aの1辺あたりのピクセル数Wの約数で、2≦m≦W)のピクセル1aに共通に接続され、これら共通のピクセル1aに行セレクト信号を出力するm個の行設定回路7と、W行×W/m列のピクセル1aに共通に接続され、これら共通のピクセル1aに列セレクト信号を出力するm個の列設定回路8とを追加したものである。m個の行設定回路7とm個の列設定回路8には、コントローラ3からの制御信号により任意の値(本実施の形態では「0」または「1」)をそれぞれ独立に設定することが可能である。
【0091】
図20は本実施の形態のピクセル1aの構成を示すブロック図であり、図5と同一の構成には同一の符号を付してある。第1の実施の形態〜第5の実施の形態のピクセル1と異なる点は、対応する行設定回路7からの行セレクト信号と、対応する列設定回路8からの列セレクト信号とが論理和(OR)回路17を介してセレクタ12に入力される点である。なお、論理和(OR)回路17の代わりに、論理積(AND)回路を用いてもよい。
【0092】
次に、本実施の形態のマスク画像の作成手順を図21に示す。図21は、図6と同様に、ピクセルアレイ2aの全ピクセル内の出力レジスタ15が保持している画像をまとめて表記しているものである。なお、図21の例では、ピクセルアレイ全体が5×5のブロックに分割されるように行設定回路7と列設定回路8の個数をm=5としているが、個数mは任意に設定することが可能である。
【0093】
まず、コントローラ3は、第1の実施の形態〜第5の実施の形態で説明したシフト領域の幅S×dに最も近い値がk×W/m(kは自然数)であるとき、ピクセルアレイ2aのシフト領域を設定する辺(図6の例では上辺)からk個の行設定回路7の出力を「0」に設定すると共に、残りの行設定回路7の出力を「1」に設定し、すべての列設定回路8の出力を「0」に設定する。
【0094】
そして、コントローラ3は、セレクト信号を出力して、OR回路17の出力をセレクタ12に選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13の出力を出力レジスタ15に書き込む。これにより、(k×W/m)行×W列のピクセル1aの出力レジスタ15が「0」にセットされ、残りのピクセル1aの出力レジスタ15が「1」にセットされる。図21(a)の例では、k=2の場合について示している。
【0095】
なお、図21(a)の処理において、ピクセルアレイ2aのシフト領域を設定する辺が右辺または左辺の場合には、このシフト領域を設定する辺からk個の列設定回路8の出力を「0」に設定すると共に、残りの列設定回路8の出力を「1」に設定し、すべての行設定回路7の出力を「0」に設定する。
【0096】
次に、コントローラ3は、S×d≠k×W/mの場合、全ピクセル1aのXOR回路16に値が「0」の出力反転信号を与えて、出力レジスタ15の出力をXOR回路16からそのまま出力させ、セレクト信号を出力して、隣接ピクセル1aの出力をセレクタ12に選択させ、演算制御信号を出力して、演算回路13にセレクタ12からの入力信号をそのまま出力させ、さらに書き込み信号を出力して、演算回路13(隣接ピクセル1a)の出力を出力レジスタ15に書き込む。このような隣接ピクセル1aからの取り込みを|S×d−k×W/m|の回数分だけ繰り返す(図21(b))。
【0097】
ピクセルアレイ2aのシフト領域を設定する辺が上辺で、S×d>k×W/mの場合、上記隣接ピクセル1aは上側のピクセル1aであり、S×d<k×W/mの場合、上記隣接ピクセル1aは下側のピクセル1aである。また、ピクセルアレイ2aのシフト領域を設定する辺が下辺で、S×d>k×W/mの場合、上記隣接ピクセル1aは下側のピクセル1aであり、S×d<k×W/mの場合、上記隣接ピクセル1aは上側のピクセル1aである。
【0098】
一方、ピクセルアレイ2aのシフト領域を設定する辺が左辺で、S×d>k×W/mの場合、上記隣接ピクセル1aは左側のピクセル1aであり、S×d<k×W/mの場合、上記隣接ピクセル1aは右側のピクセル1aである。また、ピクセルアレイ2aのシフト領域を設定する辺が右辺で、S×d>k×W/mの場合、上記隣接ピクセル1aは右側のピクセル1aであり、S×d<k×W/mの場合、上記隣接ピクセル1aは左側のピクセル1aである。
【0099】
こうして、距離S×dの幅を持つシフト領域の値が「0」で、それ以外が「1」となるマスク画像が出力レジスタ15に格納される(図21(c))。なお、S×d=k×W/mの場合は、図21(b)のシフト処理を行う必要はない。
【0100】
本実施の形態では、シフト領域を設定する辺から距離k×W/mまでの領域を「0」にした大まかなマスク画像を最初の1ステップの処理(図21(a))で作成し、その後にシフト領域の幅S×dとの誤差分のステップ、すなわち|S×d−k×W/m|ステップだけシフトを繰り返すことで、マスク画像を作成することが可能であり、これによりシフト領域の幅が広い場合でも、短いステップ数(処理時間)でマスク画像を作成することが可能となり、回転処理全体の処理時間の短縮を実現することができる。
なお、本実施の形態では、ピクセルアレイ2aの1辺あたりのピクセル数Wが縦横共に同一の場合(すなわち、ピクセルアレイ2aが正方形の場合)について説明しているが、ピクセル数Wが縦横で異なる場合(ピクセルアレイ2aが長方形の場合)にも本発明を適用することができる。
【0101】
【発明の効果】
以上説明したように、本発明によれば、ピクセルアレイに記憶された画像を回転させる際、ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn、回転角度に対応した最小のシフト領域幅をdとしたとき、ピクセルアレイの全画像領域の各辺から内側に向かって距離S×dの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、ピクセルアレイの各ピクセルにシフト処理をS=1からS=nまでnサイクル実行させることにより、大容量な画像メモリや大規模な演算回路を用いることなく、ピクセルアレイ上の画像を高速、かつ低電力で任意の角度に回転させることができる。
【0102】
また、ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、ピクセルアレイの各ピクセルにシフト処理をS=1からS=n−1までn−1サイクル実行させた後、ピクセルアレイの全画像領域の隣り合う2辺から内側に向かって距離W/2の幅を持つ2つのシフト領域を回転方向に対応する方向へシフトさせるシフト処理をピクセルアレイの各ピクセルに実行させることにより、大容量な画像メモリや大規模な演算回路を用いることなく、ピクセルアレイ上の画像を高速、かつ低電力で任意の角度に回転させることができる。また、シフト処理の最終サイクルにおいて2つのシフト領域が接することがなく、シフト領域間が2ピクセル分ずれることがないので、より正確な回転処理を行うことが可能となる。
【0103】
また、回転角度に対応し、かつサイクル毎に設定されるシフト領域幅をds(dsは自然数)としたとき、ピクセルアレイの全画像領域の各辺から内側に向かって距離dsの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、サイクル毎にシフト領域幅dsを設定しつつ、ピクセルアレイの各ピクセルにシフト処理をnサイクル実行させることにより、大容量な画像メモリや大規模な演算回路を用いることなく、ピクセルアレイ上の画像を高速、かつ低電力で任意の角度に回転させることができる。また、サイクル毎のシフト領域幅dsを調整することで、より正確な回転処理を行うことが可能となる。
【0104】
また、最小シフト領域幅dと最大サイクル数nとの関係をd=W/(2n)とすることにより、シフト処理を実現できる。
【0105】
また、最小シフト領域幅dと最大サイクル数nとの関係をd=W/(2n+1)とすることにより、シフト処理の最終サイクルにおいて2つのシフト領域が接することがなく、シフト領域間が2ピクセル分ずれることがないので、より正確な回転処理を行うことが可能となる。
【0106】
また、ピクセルアレイの全画像領域の上下辺と左右辺毎にシフト領域幅dsを個別に設定することにより、ピクセルアレイが長方形であった場合でも正確な回転処理を実現することができる。
【0107】
また、ピクセルアレイの全画像領域の各辺毎にシフト領域幅dsを個別に設定することにより、画像の回転中心をピクセルアレイ上の中心からずらし、別の点にすることが可能となる。
【0108】
また、ピクセルアレイの全画像領域の各辺から内側に向かって距離k×W/mの幅を持つ第1の領域を最初の1ステップの処理で作成し、その後に第1の領域の幅がシフト領域の幅S×dと一致するようにシフトを繰り返すことで、マスク画像を作成するので、シフト領域の幅が広い場合でも、短時間でマスク画像を作成することが可能となり、回転処理全体の処理時間の短縮を実現することができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施の形態となる画像回転装置の構成を示すブロック図である。
【図2】 本発明の第1の実施の形態における回転処理の概要を示す説明図である。
【図3】 本発明の第1の実施の形態における回転処理を説明するためのフローチャート図である。
【図4】 本発明の第1の実施の形態におけるシフト幅テーブルの構成を示す図である。
【図5】 本発明の第1の実施の形態におけるピクセルの構成を示すブロック図である。
【図6】 本発明の第1の実施の形態の各シフト領域におけるシフト処理を示す説明図である。
【図7】 本発明の第1の実施の形態のマスク画像作成動作を示す説明図である。
【図8】 本発明の第1の実施の形態の回転後のピクセルアレイ中心部の状態を示す説明図である。
【図9】 本発明の第2の実施の形態における回転処理の概要を示す説明図である。
【図10】 本発明の第3の実施の形態における回転処理の概要を示す説明図である。
【図11】 本発明の第3の実施の形態における回転処理を説明するためのフローチャート図である。
【図12】 本発明の第4の実施の形態における回転処理の概要を示す説明図である。
【図13】 本発明の第4の実施の形態における回転処理を説明するためのフローチャート図である。
【図14】 本発明の第4の実施の形態におけるシフト幅テーブルの構成を示す図である。
【図15】 本発明の第4の実施の形態における他のシフト幅テーブルの構成を示す図である。
【図16】 本発明の第4の実施の形態における他のシフト幅テーブルの構成を示す図である。
【図17】 本発明の第4の実施の形態における他のシフト幅テーブルの構成を示す図である。
【図18】 本発明の第5の実施の形態の各シフト領域におけるシフト処理を示す説明図である。
【図19】 本発明の第6の実施の形態におけるピクセルアレイの構成を示すブロック図である。
【図20】 本発明の第6の実施の形態におけるピクセルの構成を示すブロック図である。
【図21】 本発明の第6の実施の形態のマスク画像作成動作を示す説明図である。
【図22】 従来のピクセルアレイの構成を示すブロック図である。
【図23】 従来の画像回転装置の構成を示すブロック図である。
【図24】 従来の他の画像回転装置の構成を示すブロック図である。
【図25】 図24の画像回転装置の座標変換テーブルの構成を示す図である。
【符号の説明】
1…ピクセル、2…ピクセルアレイ、3…コントローラ、4…通信回路、5…シフト幅テーブル、6…制御回路、7…行設定回路、8…列設定回路、11…センサ、12…セレクタ、13…演算回路、14…レジスタ、15…出力レジスタ、16…XOR回路、17…OR回路。
Claims (21)
- 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイと、
前記ピクセルアレイに記憶された画像を回転させる際、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=nまでnサイクル実行させる手段を備えたコントローラとを有することを特徴とする画像回転装置。 - 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイと、
前記ピクセルアレイに記憶された画像を回転させる際、前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=n−1までn−1サイクル実行させた後、前記ピクセルアレイの全画像領域の隣り合う2辺から内側に向かって距離W/2の幅を持つ2つのシフト領域を回転方向に対応する方向へシフトさせるシフト処理を前記ピクセルアレイの各ピクセルに実行させる手段を備えたコントローラとを有することを特徴とする画像回転装置。 - 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイと、
前記ピクセルアレイに記憶された画像を回転させる際、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応し、かつサイクル毎に設定されるシフト領域幅をds(dsは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離dsの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、サイクル毎に前記シフト領域幅dsを設定しつつ、前記ピクセルアレイの各ピクセルに前記シフト処理をnサイクル実行させる手段を備えたコントローラとを有することを特徴とする画像回転装置。 - 請求項1又は2記載の画像回転装置において、
前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n)とすることを特徴とする画像回転装置。 - 請求項1記載の画像回転装置において、
前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n+1)とすることを特徴とする画像回転装置。 - 請求項3記載の画像回転装置において、
前記ピクセルアレイの全画像領域の上下辺と左右辺毎に前記シフト領域幅dsを個別に設定することを特徴とする画像回転装置。 - 請求項3記載の画像回転装置において、
前記ピクセルアレイの全画像領域の各辺毎に前記シフト領域幅dsを個別に設定することを特徴とする画像回転装置。 - 請求項1、2又は3記載の画像回転装置において、
前記ピクセルアレイの各ピクセルは、
入射光又は接触物体を検出して画像化するセンサと、
このセンサの出力信号と隣接する他のピクセルの出力信号と排他的論理和出力信号とを入力とし、前記コントローラからのセレクト信号に応じて前記入力のうち何れか1つを選択して出力するセレクタと、
このセレクタの出力信号と第1のレジスタ出力信号とを入力とし、前記コントローラからの演算制御信号で指定された演算を行う演算回路と、
前記コントローラからの書込信号に応じて前記演算回路の出力信号を保持し、この保持結果を前記第1のレジスタ出力信号として出力する第1のレジスタと、
前記コントローラからの書込信号に応じて前記演算回路の出力信号を保持する第2のレジスタと、
この第2のレジスタの出力信号と前記コントローラからの出力制御信号との排他的論理和をとった結果を前記排他的論理和出力信号として前記セレクタ及び隣接する他のピクセルに出力する排他的論理和回路とを備え、
前記コントローラは、
前記最小シフト領域幅d又は前記シフト領域幅dsと前記最大サイクル数nとを予め記憶するシフト幅テーブルと、
前記最小シフト領域幅d又は前記シフト領域幅dsと前記最大サイクル数nとを基に前記ピクセルアレイの各ピクセルを制御する制御回路とを備えることを特徴とする画像回転装置。 - 請求項8記載の画像回転装置において、
前記第1のレジスタは、少なくとも2つのレジスタからなり、
前記コントローラの制御回路は、
前記セレクタに前記センサの出力を選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタ中の一方のレジスタと前記第2のレジスタに書き込む第1の手順と、
この第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記セレクタに選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタ中の他方のレジスタに書き込む第2の手順と、
前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を前記第2のレジスタに格納する第3の手順と、
この第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の一方のレジスタとの論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第1のレジスタ中の一方のレジスタに書き込む第4の手順と、
前記第3の手順で書き込まれた前記第2のレジスタの出力を反転させた信号を前記排他的論理和回路から出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の他方のレジスタの出力との論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第5の手順と、
前記第5の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタ中の一方のレジスタの出力との論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第6の手順とにより、前記シフト領域を回転方向に対応する方向へシフトさせることを特徴とする画像回転装置。 - 請求項8記載の画像回転装置において、
前記コントローラの制御回路は、
前記セレクタに前記センサの出力を選択させ、前記演算回路に前記セレクタからの入力信号をそのまま出力させ、この演算回路の出力を前記第1のレジスタに書き込む第1の手順と、
前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を第2のレジスタに格納する第2の手順と、
この第2のレジスタの出力を反転させた信号を前記排他的論理和回路から出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との論理積演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第3の手順と、
この第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、この排他的論理和回路の出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との排他的論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第1のレジスタに書き込む第4の手順と、
前記第3の手順で書き込まれた前記第2のレジスタの出力を前記排他的論理和回路からそのまま出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記セレクタに選択させ、このセレクタの出力と前記第1のレジスタの出力との論理和演算を前記演算回路に実行させ、この演算回路の出力を前記第2のレジスタに書き込む第5の手順とにより、前記シフト領域を回転方向に対応する方向へシフトさせることを特徴とする画像回転装置。 - 請求項9又は10記載の画像回転装置において、
前記ピクセルアレイは、
W/m行×W列(mはピクセルアレイの1辺あたりのピクセル数Wの約数で、2≦m≦W)のピクセルに共通に接続され、この共通のピクセルに行セレクト信号を出力するm個の行設定回路と、
W行×W/m列のピクセルに共通に接続され、この共通のピクセルに列セレクト信号を出力するm個の列設定回路とを備え、
前記ピクセルアレイの各ピクセルは、
前記行設定回路からの行セレクト信号と前記列設定回路からの列セレクト信号との論理演算の結果を前記セレクタに入力する論理回路を備え、
前記コントローラの制御回路は、
前記シフト領域の幅S×dに最も近い値がk×W/m(kは自然数)であるとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離k×W/mの幅を持つ第1の領域と残りの第2の領域とで値を反転させた画像を前記第2のレジスタに格納する手順と、
前記第1の領域の幅が前記シフト領域の幅S×dと一致するようにシフト処理を実行させる手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記マスク画像を前記第2のレジスタに格納することを特徴とする画像回転装置。 - 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイにおいて、このピクセルアレイに記憶された画像を回転させる画像回転方法であって、
前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=nまでnサイクル実行させることを特徴とする画像回転方法。 - 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイにおいて、このピクセルアレイに記憶された画像を回転させる画像回転方法であって、
前記ピクセルアレイの1辺あたりのピクセル数をW、所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応した最小のシフト領域幅をd(dは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離S×d(Sは自然数)の幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、前記ピクセルアレイの各ピクセルに前記シフト処理をS=1からS=n−1までn−1サイクル実行させた後、前記ピクセルアレイの全画像領域の隣り合う2辺から内側に向かって距離W/2の幅を持つ2つのシフト領域を回転方向に対応する方向へシフトさせるシフト処理を前記ピクセルアレイの各ピクセルに実行させることを特徴とする画像回転方法。 - 入射光または接触物体を検出して画像化するセンサとこのセンサから出力されたデータを記憶する記憶手段と前記データに対して演算処理を行う演算手段とを備えたピクセルをマトリクス状に複数配置したピクセルアレイにおいて、このピクセルアレイに記憶された画像を回転させる画像回転方法であって、
所望の回転角度で画像を回転させるのに要する処理の最大サイクル数をn(nは自然数)、前記回転角度に対応し、かつサイクル毎に設定されるシフト領域幅をds(dsは自然数)としたとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離dsの幅を持つ各シフト領域を回転方向に対応する方向へシフトさせるシフト処理を1サイクルとして数え、サイクル毎に前記シフト領域幅dsを設定しつつ、前記ピクセルアレイの各ピクセルに前記シフト処理をnサイクル実行させることを特徴とする画像回転方法。 - 請求項12又は13記載の画像回転方法において、
前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n)とすることを特徴とする画像回転方法。 - 請求項12記載の画像回転方法において、
前記最小シフト領域幅dと前記最大サイクル数nとの関係をd=W/(2n+1)とすることを特徴とする画像回転方法。 - 請求項14記載の画像回転方法において、
前記ピクセルアレイの全画像領域の上下辺と左右辺毎に前記シフト領域幅dsを個別に設定することを特徴とする画像回転方法。 - 請求項14記載の画像回転方法において、
前記ピクセルアレイの全画像領域の各辺毎に前記シフト領域幅dsを個別に設定することを特徴とする画像回転方法。 - 請求項12、13又は14記載の画像回転方法において、
前記センサの出力を2つの第1のレジスタ中の一方のレジスタと第2のレジスタに書き込む第1の手順と、
この第2のレジスタの出力を隣接する他のピクセルへ出力させ、シフト方向と逆方向の隣接ピクセルの出力を前記第1のレジスタ中の他方のレジスタに書き込む第2の手順と、
前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を前記第2のレジスタに格納する第3の手順と、
前記第1のレジスタ中の一方のレジスタの出力と前記マスク画像との論理積演算の結果を前記第1のレジスタ中の一方のレジスタに書き込む第4の手順と、
前記第1のレジスタ中の他方のレジスタの出力と前記マスク画像を反転させた画像との論理積演算の結果を前記第2のレジスタに書き込む第5の手順と、
前記第4の手順で書き込まれた前記第1のレジスタ中の一方のレジスタの出力と前記第5の手順で書き込まれた前記第2のレジスタの出力との論理和演算の結果を前記第2のレジスタに書き込む第6の手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記シフト領域を回転方向に対応する方向へシフトさせることを特徴とする画像回転方法。 - 請求項12、13又は14記載の画像回転方法において、
前記センサの出力を第1のレジスタに書き込む第1の手順と、
前記ピクセルアレイの全画像領域中の前記シフト領域とシフトしない領域とで値を反転させたマスク画像を第2のレジスタに格納する第2の手順と、
前記第1のレジスタの出力と前記マスク画像を反転させた画像との論理積演算の結果を前記第2のレジスタに書き込む第3の手順と、
前記第1のレジスタの出力と前記第3の手順で書き込まれた前記第2のレジスタの出力との排他的論理和演算の結果を前記第1のレジスタに書き込む第4の手順と、
前記第3の手順で書き込まれた前記第2のレジスタの出力を隣接する他のピクセルへ出力させ、シフト方向と逆方向の隣接ピクセルの出力と前記第4の手順で書き込まれた前記第1のレジスタの出力との論理和演算の結果を前記第2のレジスタに書き込む第5の手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記シフト領域を回転方向に対応する方向へシフトさせることを特徴とする画像回転方法。 - 請求項19又は20記載の画像回転方法において、
前記シフト領域の幅S×dに最も近い値がk×W/m(mはピクセルアレイの1辺あたりのピクセル数Wの約数で、2≦m≦W、kは自然数)であるとき、前記ピクセルアレイの全画像領域の各辺から内側に向かって距離k×W/mの幅を持つ第1の領域と残りの第2の領域とで値を反転させた画像を前記第2のレジスタに格納する手順と、
前記第1の領域の幅が前記シフト領域の幅S×dと一致するようにシフト処理を実行させる手順とを前記ピクセルアレイの各ピクセルに実行させることにより、前記マスク画像を前記第2のレジスタに格納することを特徴とする画像回転方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002233535A JP3917489B2 (ja) | 2001-09-07 | 2002-08-09 | 画像回転装置及び画像回転方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001-271460 | 2001-09-07 | ||
JP2001271460 | 2001-09-07 | ||
JP2002233535A JP3917489B2 (ja) | 2001-09-07 | 2002-08-09 | 画像回転装置及び画像回転方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003157437A JP2003157437A (ja) | 2003-05-30 |
JP3917489B2 true JP3917489B2 (ja) | 2007-05-23 |
Family
ID=26621812
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002233535A Expired - Fee Related JP3917489B2 (ja) | 2001-09-07 | 2002-08-09 | 画像回転装置及び画像回転方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3917489B2 (ja) |
-
2002
- 2002-08-09 JP JP2002233535A patent/JP3917489B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003157437A (ja) | 2003-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6493163B2 (ja) | 粗密探索方法および画像処理装置 | |
JPS6247786A (ja) | 近傍画像処理専用メモリ | |
JPS6325672B2 (ja) | ||
KR20010031192A (ko) | 기계시각시스템에서의 영상데이터와 같은 논리적으로인접한 데이터샘플들을 위한 데이터처리시스템 | |
JPS6116369A (ja) | 画像処理装置 | |
JP6532334B2 (ja) | 並列演算装置、画像処理装置及び並列演算方法 | |
US11347430B2 (en) | Operation processing apparatus that executes hierarchical calculation, operation processing method, and non-transitory computer-readable storage medium | |
JP3917489B2 (ja) | 画像回転装置及び画像回転方法 | |
US11704546B2 (en) | Operation processing apparatus that calculates addresses of feature planes in layers of a neutral network and operation processing method | |
JPH01283676A (ja) | ウインドウ画像データの読出処理方式 | |
CN114119661A (zh) | 一种目标追踪处理器、目标追踪方法及装置 | |
RU168781U1 (ru) | Устройство обработки стереоизображений | |
JP2610887B2 (ja) | イメージデータ回転処理装置 | |
US20060120622A1 (en) | System and method for parallel computation of an array transform | |
US20230334820A1 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium | |
JP2018136703A (ja) | 画像認識装置 | |
JPH0757075A (ja) | パターン処理用1チップ並列処理装置のプロセッサ要素 | |
Bose et al. | Mapping Image Transformations Onto Pixel Processor Arrays | |
JP4244619B2 (ja) | 画像データ処理装置 | |
JPH0523465B2 (ja) | ||
JPH0553898A (ja) | 機能メモリ | |
JPS61184967A (ja) | 画像処理装置 | |
JPS63201787A (ja) | リサンプリング回路 | |
JPH01287784A (ja) | 画像処理装置 | |
JP2018036689A (ja) | ピクセルベース特徴量抽出回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070206 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070208 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3917489 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130216 Year of fee payment: 6 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |