説明

画像処理装置及び方法

【課題】所定の輪郭画像を有する入力画像データから、従来技術に比較して、輪郭画像の境界座標を高速で算出する。
【解決手段】複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する画像処理装置であって、主走査方向で、輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、正接値テーブルから得た正接値と並列処理により比較し、各正接値が一致したとき、一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばSIMD(Single Instruction Multiple Data)命令を実行可能なプロセッサを用いた画像処理装置及び方法に関し、画像処理を行う場合における処理効率の向上に関する。
【背景技術】
【0002】
入力された画像において、対象領域の面積を自動演算する画像処理装置において、境界領域の座標点を検出する装置が例えば引用文献1において開示されている。
【0003】
例えば、特許文献1では、超音波画像上において、対象領域の面積を自動演算する画像処理装置が開示されており、境界内に原点#0が設定され、そこから上下左右方向に沿って境界検出が実行され、これにより、境界点*1〜*4が求められる。原点#0と各境界点*1〜*4との間の各区間上に交点#1〜#4が設定され、その交点を通過する直交ライン上に沿って上記同様に境界検出がなされる。これを繰り返すと最終的に上記境界上に複数の境界点が求められる。各境界点を連結することにより境界を近似する近似図形を得られる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の画像処理装置では、対象画像データ内において境界の座標を算出するにあたり、仮の原点から、X方向及びY方向に対し順に画素単位で領域の輪郭を拡大することで探索し全体の輪郭(エッジ)形状を検出するもので、順次画素探索を実施するために複数回の演算が必要となり演算量が多く処理が遅くなるという問題点があった。
【0005】
本発明の目的は上記の問題点を解決し、所定の輪郭画像を有する入力画像データから、従来技術に比較して、輪郭画像の境界座標を高速で算出することができる画像処理装置及び方法を提供することにある。
【課題を解決するための手段】
【0006】
第1の発明に係る画像処理装置は、複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置であって、
上記制御手段は、
主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする。
【0007】
上記画像処理装置において、上記制御手段は、上記各正接値が一致しないとき、上記一致しない正接値を挟む2つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする。
【0008】
また、上記画像処理装置において、上記制御手段は、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする。
【0009】
さらに、上記画像処理装置は、SIMD(Single Instruction Multiple Data)プロセッサを用いて構成され、上記並列処理用メモリはSIMD処理用メモリであることを特徴とする。
【0010】
第2の発明に係る画像処理方法は、複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置のための画像処理方法であって、
上記制御手段が、主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記制御手段が、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記制御手段が、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする。
【0011】
上記画像処理方法において、上記制御手段が、上記各正接値が一致しないとき、上記一致しない正接値を挟む2つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする。
【0012】
また、上記画像処理方法において、上記制御手段が、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする。
【0013】
さらに、上記画像処理方法において、上記制御手段を備えた画像処理装置は、SIMD(Single Instruction Multiple Data)プロセッサを用いて構成され、上記並列処理用メモリはSIMD処理用メモリであることを特徴とする。
【発明の効果】
【0014】
本発明に係る画像処理装置及び方法によれば、主走査方向で、輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定するので、X方向及びY方向の両方に対して順に画素単位で輪郭探索する従来技術に比較して処理を大幅に高速で実行することができ、しかも、不要な画像データを保持しないためにメモリ量も大幅に削減可能となる。また、補間処理することで、輪郭境界点座標の検出の精度を大幅に向上できる。
【図面の簡単な説明】
【0015】
【図1】本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。
【図2】本実施形態において画像処理として画像処理がなされる画像の構成を示す説明図である。
【図3】図2のSIMD単位を示す説明図である。
【図4】図2に示された画像と図3のSIMD単位との関係を示す説明図である。
【図5】図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。
【図6】本実施形態に係る画像処理装置としてのSIMD型マイクロプロセッサのブロック図である。
【図7】本実施形態に係る境界座標検出処理において用いる正接値テーブルの一例を示す表である。
【図8】本実施形態に係る境界座標検出処理において境界座標の算出を主走査方向で行う方法を示す画像データの平面図である。
【図9】図8の処理により図6のRレジスタ71に格納される正接計算値テーブルの一例を示す図である。
【図10】本実施形態に係る境界座標検出処理(角度指定型)を示すフローチャートである。
【図11】本実施形態の変形例に係る境界座標検出処理(角度走査型)を示すフローチャートである。
【図12】図10及び図11の処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の実施形態において、同様の構成要素については同一の符号を付している。以下の実施形態においては、境界座標検出処理などの画像処理を行う画像処理装置について以下に説明する。
【0017】
本実施形態に係る画像処理装置は、主走査方向に対し画像処理を行い、算出された各輪郭境界点候補より算出したい座標に対し、並列処理にて比較を行うことで迅速に対象の境界座標を算出することを特徴とする。
【0018】
図1は本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。
【0019】
図1において、当該画像処理装置は、所定のプログラムに従って、この装置の全体を制御するCPU1と、そのプログラムや固定データなどが書き込まれているROM2と、原稿上の画像を読み取る画像読み取り部3と、画像読み取り部3を制御して読み取られた画像データを取り込む読み取りインタフェース(I/F)部4と、取り込まれた画像データに対して後述するSIMD単位の処理を施すSIMD処理部5と、読み取りI/F部4又はSIMD処理部5から出力された画像データなど各種データを記憶する例えばRAMにてなる内部メモリ6と、内部メモリ6に取り込まれた画像データを用いて記録紙上に画像を形成する画像形成部7と、画像形成部7を制御する画像形成インタフェース(I/F)部8と、表示装置や操作キーを有して利用者が装置側に指示情報を入力したりする操作部9と、例えばDDR−RAMなどにてなる外部メモリ11に接続される外部メモリインターフェース10などとを備えて構成される。本発明に係る各実施形態においては、所定の画像処理を効率的に行うための、内部メモリ6と外部メモリ11との間のデータ転送方法に関する。
【0020】
なお、SIMD処理部5は専用のプロセッサ及びバッファメモリなどを有し、例えば傾斜角度を算出する処理や、形状補正処理などを実行する。以下の実施形態において、SIMD処理部5によりSIMD単位で画像処理を実行しているが、本発明はこれに限らず、複数行の単位でCPU1により画像処理を実行してもよい。
【0021】
図2は本実施形態において画像処理として、画像回転処理や画像歪み補正処理がなされる画像の構成を示す説明図である。図2において、主走査方向に2112画素、副走査方向にNラインの画像を示している。主走査方向の2112画素は352画素×6を意味し、これはSIMD単位6つ分を示している。
【0022】
図3は図2のSIMD単位を示す説明図である。SIMD単位とは、後述するSIMD型マイクロプロセッサにおいてPE命令実行時に一度に処理可能な画素数(データ数)を意味し、本実施形態に用いるSIMD型マイクロプロセッサでは図3に示すように352画素を一度に処理可能である。
【0023】
図4は図2に示された画像と図3のSIMD単位との関係を示す説明図である。図4に示すように1ラインをSIMD単位で処理を行うことで、1画素単位で処理を行うよりも処理回数を削減することができ、一定時間内ではより多くの画素の処理を行うことができる。
【0024】
図5は図1の画像処理装置のSIMD処理部5により実行される画像処理を示すフローチャートである。図5の処理では、画像回転処理を実行する場合について以下説明する。
【0025】
図1の操作部9内のコピースタートキーが押下され、原稿読み取りが始まると、SIMD処理部5のプロセッサはまず、フレーム単位処理を行う(ステップS1)。例えばこの時点ではこれから処理しようとするラインの番号として「1」をSIMD処理部5内メモリの所定アドレスAに設定する。
【0026】
次いで、SIMD処理部5のプロセッサはライン単位処理を行う(ステップS2)。例えばこの時点ではこれから処理しようとするSIMDの番号として「1」をSIMD処理部5内メモリの所定アドレスBに設定する。そして、読み取りI/F部4を介してSIMD処理部5内のバッファメモリに第1ラインの画像データが入ってくると、SIMD1のSIMD単位処理が行われる(ステップS3)。専用回路を用いて例えば352個の画素データを並行して所定の値と比較する処理を行うわけである。また、その結果、所定の画素位置(例えば3画素目)の画素データの値が所定の値を超えていたならば変化点と判定し、所定アドレスAに設定されているライン番号をそのときのSIMD番号に対応付けてSIMD処理部5内メモリの所定アドレスCに記録する。但し、同一SIMDですでに記録が行われているならば所定の値を超えていても変化点ではないので記録しない。
【0027】
こうして、そのSIMDの処理が終了すると(ステップS4でYES)、SIMD処理部5のプロセッサはSIMD処理部5内メモリの所定アドレスGに設定されている1ラインのSIMD数と所定アドレスBに設定されているSIMD番号を比較することによりそのときのラインの処理がすべて終了したか否かを判定する(ステップS5)。そして、終了していないと判定されたならば(ステップS5でNO)、ステップS2に戻り、SIMD番号の値を1だけ増やし(ステップS2)、次のステップS3へ進む。
【0028】
このような繰り返しの後、そのときのラインのすべてのSIMD単位処理が終了したと判定されたならば(ステップS5でYES)、SIMD処理部5はSIMD処理部5内メモリの所定アドレスHに設定されている1フレームのライン数と所定アドレスAに設定されているライン番号を比較することにより、フレーム単位処理が終了か否かを判定する(ステップS6)。そして、終了でないならば(ステップS6でNO)、ステップS1に戻り、ライン番号の値を1だけ増やして(ステップS1)、以降の処理を繰り返す。こうして、フレーム単位処理が終了したならば(ステップS6でYES)、SIMD処理部5のプロセッサは例えば、図10又は図11の境界座標検出処理などの所定の画像回転処理を実行する(ステップS7)。
【0029】
以上説明したように、SIMDプロセッサを用いて走査ライン方向に繰り返し処理を行い、ここで、複数のラインを副走査方向に配置し、1つのフレームを構成し、SIMD単位で画像処理を実行することで、画素単位で処理に比べてSIMD処理では、主走査方向の実行回数を削減することができ一定時間内で多くの画像処理を実行することができる。
【0030】
図6は本実施形態に係る画像処理装置としてのSIMD型マイクロプロセッサのブロック図である。図6において、SIMD型マイクロプロセッサは、グローバルプロセッサ30と、プロセッサエレメントブロック40とを備えて構成される。
【0031】
グローバルプロセッサ30は、図6に示すように、グローバルプロセッサ30にて実行するプログラム格納用のプログラムRAMと演算データ格納用のデータRAMが内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ(PC)、演算処理のデータ格納のための汎用レジスタであるG0〜G15レジスタ、レジスタ退避及び復帰時に退避先データRAMのアドレスを保持しているスタックポインタ(SP)、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ(LS)、同じくIRQ(割り込み)時とNMI(マスク不可割り込み)時の分岐元アドレスを保持するLI、LNレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ(P)が内蔵されている。これらのレジスタと図示していない命令デコーダ、ALU、メモリ制御回路、割り込み制御回路、外部I/O制御回路、GP演算制御回路を使用してグローバルプロセッサ命令(GP命令)の実行が行われる。プロセッサエレメント命令(PE命令)実行時は命令デコーダ、図示していないレジスタファイル制御回路、PE演算制御回路を使用して、後述するレジスタファイルアレイ70の制御と演算アレイ80の制御を行う。即ち、GP命令とはグローバルプロセッサ30内の演算回路等を用いて実行される命令、PE命令とはプロセッサエレメントブロック40を用いて実行される命令である。
【0032】
また、プロセッサエレメントブロック40は、レジスタファイルアレイ70と、演算アレイ80とを備えて構成される。
【0033】
ここで、レジスタファイルアレイ70は、プロセッサエレメント数分のレジスタファイル71から構成されている。レジスタファイル71は、16ビットのレジスタが32本内蔵されており、レジスタはPE毎にR0〜R31と呼ぶこととする。それぞれのレジスタは演算アレイ80に対してポートを備えており、16ビットのリード/ライト兼用のバス(以下レジスタバス)で演算アレイ80からアクセスできる。図示しているレジスタは、紙面の関係で各PEで6本としている。
【0034】
演算アレイ80は、プロセッサエレメント数分の演算部81から構成されている。演算部81は、レジスタファイル71との接続に16ビット幅の7to1のマルチプレクサ(7to1MUX)81aを備えており、PE方向で左に1、2及び3つ離れたPEのレジスタバス、右に1、2及び3つ離れたPEのレジスタバス、自PEのレジスタバスに接続し、演算対象として7つのレジスタバスから選択することが可能である。選択の制御はグローバルプロセッサ30により行われる。
【0035】
7to1のマルチプレクサ81aの後段にはシフタ(Shift Expand)81bを設けており、レジスタファイル71から読み出されたデータのビットシフトとビット拡張を行う。シフトの制御はグローバルプロセッサ30により行われる。
【0036】
シフタ81bの後段には、上位用16ビットALU81f、上位用16ビットAレジスタ81g、上位用Fレジスタ81h、下位用16ビットALU81c、上位用16ビットAレジスタ81d、上位用Fレジスタ81eを設けている。PE命令による演算は基本的にレジスタファイル71から読み出されたデータを、例えば上位であれば上位用16ビットALU81fの片側の入力として、もう片側には上位用16ビットAレジスタ81gの内容を入力として、結果を上位用Aレジスタ81gに格納する。したがって、上位用Aレジスタ81gとR0〜R31レジスタとの演算が行われることとなる。下位用16ビットALU81cも同様である。
【0037】
上位用16ビットALU81fと下位用16ビットALU81cは、それぞれ独立して16ビットの演算が可能であり、また、上位用16ビットALU81fと下位用16ビットALU81cは連動して動作し、合わせて32ビットの演算も可能である。それぞれの動作はグローバルプロセッサ30からの制御による。上位用16ビットALU81fと下位用16ビットALU81cが連動する場合のため、両ALU間にキャリーなどの情報伝達経路を備えている。
【0038】
つまり、上述したレジスタファイル71と、演算部81と、でプロセッサエレメント(以降PE)を構成している。即ち、本実施形態のSIMD型マイクロプロセッサは、レジスタファイル71と演算部81の組を352組備えている。
【0039】
次いで、本実施形態に係る画像処理装置において、所定の輪郭画像を有する入力画像データに対して主走査方向で画像処理を行い、算出された各輪郭境界点候補より算出したい座標に対し、並列処理にて比較を行うことで迅速に対象の境界座標を算出する輪郭画像の境界座標検出処理について以下に説明する。
【0040】
本実施形態では、一例として、352個の並列度(SIMD)を持つ画像処理装置の画像処理方法を示す。図1乃至図5を参照して上述のように、SIMD単位とは、複数画素で1つのSIMDを構成し、複数のSIMDで1つのラインを構成する。また、複数のラインを副走査方向に配置し、1つのフレームを構成し、SIMD単位で画像処理を実施することで、画素単位で処理に比べてSIMD処理では、主走査方向の実行回数を削減することができ、一定時間内で多くの画像処理を実行することが可能である。
【0041】
図7は本実施形態に係る境界座標検出処理において用いる正接値テーブルの一例を示す表である。図7から明らかなように、例えば1度毎の角度θ(度)に対して、正接値tanθを予め計算しておき、正接値テーブルとしてグローバルプロセッサのデータメモリに格納しておく。
【0042】
図8は本実施形態に係る境界座標検出処理において境界座標の算出を主走査方向で行う方法を示す画像データの平面図である。図8に示すように、主走査方向で、所定の輪郭画像50を有する画像の各画素のデータ値をグローバルメモリプロセッサ30のデータRAMに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標(xn,yn)を検出し、検出した輪郭境界点座標(xn,yn)に基づいて、上記輪郭画像内部に設定される中心座標O(x0,y0)(当該中心座標は、好ましくは、輪郭画像50内部の中心近傍であって、例えば輪郭画像の面積中心など)に基づく各輪郭境界点座標の正接値TANを次式(1)を用いて計算して並列処理用Rレジスタ71に格納してゆき、これを副走査方向ですべての副走査ライン(全画像)に対して行う。なお、図8においては、輪郭画像50を円形で示しているが、種々の形状を有してもよい。
【0043】
[数1]
tanθ=(x2−x0)/(y2−y0) (1)
【0044】
図9は、図8の処理により図6のRレジスタ71に格納される正接計算値テーブルの一例を示す図である。図6のRレジスタ71に格納される正接計算値テーブル内の正接計算値を、指定された角度に対応する正接値(角度θ=20度であれば、図7の正接値テーブルを参照して正接値=0.36)と比較し、各正接値が一致すれば、その角度に対応する輪郭境界点座標が検出され、一致しない正接値を挟む2つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定する。ここで、指定された角度を例えば、0度から359度まで例えば1度毎に走査して同様の処理を行うことですべての輪郭境界点座標を計算することができる。また、図6のRレジスタ71に格納される正接計算値テーブル内の正接計算値を、指定された角度に対応する正接値と比較する処理はいわゆるSIMD処理で並列処理することができるので、従来技術に比較して大幅に高速で輪郭境界点座標を決定算出できる。
【0045】
図10は本実施形態に係る境界座標検出処理(角度指定型)を示すフローチャートである。なお、所定の輪郭画像50(図8)を有する画像において、輪郭画像50は所定のしきい値以上のデータ値又は画素値を有する。必要があれば、図12に示すように、輪郭画像50(図8)を有する画像に対して、ステップS21のエッジ検出処理(微分処理)を前置で実行してもよい。これについては、後述する図11の処理でも同様である。
【0046】
図10において、まず、ステップS1において、主走査方向で、所定の輪郭画像50(図8)を有する画像の各画素のデータ値をグローバルメモリプロセッサ30のデータRAMに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標(xn,yn)を検出し、検出した輪郭境界点座標(xn,yn)に基づいて所定の中心座標(x0,y0)に基づく各輪郭境界の正接値を式(1)を用いて計算して並列処理用Rレジスタ71に格納してゆき、これを副走査方向ですべての副走査ライン(全画像)に対して行う。次いで、ステップS2において、所定の角度を指定し、上記並列処理用Rレジスタ71内の各輪郭境界点の正接値を、指定された角度に基づいて正接値テーブルから得た正接値と並列処理により比較し、ステップS3において各正接値が一致するか否かが判断される。ステップS3においてYESのときはステップS4に進む一方、NOのときはステップS5に進む。ステップS4において、一致した正接値に対応する角度の輪郭境界点座標(xn,yn)を輪郭境界点座標として決定してデータRAMに格納してステップS6に進む。また、ステップS5では、一致しない正接値を挟む2つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定してデータRAMに格納し、ステップS6に進む。ステップS6では、データRAMに格納された輪郭境界点座標を例えば液晶ディスプレイなどの表示部に出力して当該境界座標検出処理を終了する。
【0047】
図11は本実施形態の変形例に係る境界座標検出処理(角度走査型)を示すフローチャートである。
【0048】
図11において、まず、ステップS1において、主走査方向で、所定の輪郭画像50(図8)を有する画像の各画素のデータ値をグローバルメモリプロセッサ30のデータRAMに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標(xn,yn)を検出し、検出した輪郭境界点座標(xn,yn)に基づいて所定の中心座標(x0,y0)に基づく各輪郭境界の正接値を式(1)を用いて計算して並列処理用Rレジスタ71に格納してゆき、これをすべての主走査ライン(全画像)に対して行う。次いで、ステップS11において、角度θに1(度)を設定し、ステップS12において、上記並列処理用Rレジスタ71内の各輪郭境界点の正接値を、角度θに基づいて正接値テーブルから得た正接値と並列処理により比較し、ステップS3において各正接値が一致するか否かが判断される。ステップS3においてYESのときはステップS4に進む一方、NOのときはステップS5に進む。ステップS4において、一致した正接値に対応する角度の輪郭境界点座標(xn,yn)を輪郭境界点座標として決定してデータRAMに格納してステップS13に進む。また、ステップS5では、一致しない正接値を挟む2つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定してデータRAMに格納し、ステップS13に進む。ステップS13では、角度θが359度であるか否かが判断され、YESのときはステップS6に進む一方、NOのときはステップS14に進む。ステップS14では、角度θを1度だけインクリメントしてステップS12に戻る。一方、ステップS6では、データRAMに格納された輪郭境界点座標を例えば液晶ディスプレイなどの表示部に出力して当該境界座標検出処理を終了する。
【0049】
図10及び図11のステップS1において、輪郭境界点座標及びその正接値の計算をすべての副走査ラインに対して実行しているが、本発明はこれに限らず、必要な画像部分のみについて実行してもよい。
【0050】
図11の処理では、指定角度を1度毎に変化させているが、本発明はこれに限らず、例えば5度又は10度など他の角度ステップ値に設定してもよい。
【産業上の利用可能性】
【0051】
以上詳述したように、本発明に係る画像処理装置及び方法によれば、主走査方向で、輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定するので、X方向及びY方向の両方に対して順に画素単位で輪郭探索する従来技術に比較して処理を大幅に高速で実行することができ、しかも、不要な画像データを保持しないためにメモリ量も大幅に削減可能となる。また、補間処理することで、輪郭境界点座標の検出の精度を大幅に向上できる。
【符号の説明】
【0052】
1…CPU、
2…ROM、
3…画像読み取り部、
4…読み取りインタフェース部、
5…SIMD処理部、
6…内部メモリ(RAM)、
7…画像形成部、
8…画像形成インタフェース部、
9…操作部、
10…外部メモリインターフェース、
11…外部メモリ(DDR−DRAM)、
30…グローバルプロセッサ、
40…プロセッサエレメントブロック、
50…輪郭画像、
70…レジスタファイルアレイ、
71…レジスタアレイ、
80…演算アレイ、
81…演算部。
【先行技術文献】
【特許文献】
【0053】
【特許文献1】特開特開2002−175533号公報

【特許請求の範囲】
【請求項1】
複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置であって、
上記制御手段は、
主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする画像処理装置。
【請求項2】
上記制御手段は、上記各正接値が一致しないとき、上記一致しない正接値を挟む2つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする請求項1記載の画像処理装置。
【請求項3】
上記制御手段は、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
上記画像処理装置は、SIMD(Single Instruction Multiple Data)プロセッサを用いて構成され、上記並列処理用メモリはSIMD処理用メモリであることを特徴とする請求項1から3までのうちのいずれか1つ記載の画像処理装置。
【請求項5】
複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置のための画像処理方法であって、
上記制御手段が、主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記制御手段が、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記制御手段が、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする画像処理方法。
【請求項6】
上記制御手段が、上記各正接値が一致しないとき、上記一致しない正接値を挟む2つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする請求項5記載の画像処理方法。
【請求項7】
上記制御手段が、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする請求項5又は6記載の画像処理方法。
【請求項8】
上記制御手段を備えた画像処理装置は、SIMD(Single Instruction Multiple Data)プロセッサを用いて構成され、上記並列処理用メモリはSIMD処理用メモリであることを特徴とする請求項5から7までのうちのいずれか1つ記載の画像処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2013−61738(P2013−61738A)
【公開日】平成25年4月4日(2013.4.4)
【国際特許分類】
【出願番号】特願2011−198697(P2011−198697)
【出願日】平成23年9月12日(2011.9.12)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】