(57)【要約】【課題】所定の輪郭画像を有する入力画像データから、従来技術に比較して、輪郭画像の境界座標を高速で算出する。【解決手段】複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する画像処理装置であって、主走査方向で、輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、正接値テーブルから得た正接値と並列処理により比較し、各正接値が一致したとき、一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定する。【選択図】図１０
2013061738.tif 000002
【特許請求の範囲】
【請求項１】
複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置であって、
上記制御手段は、
主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする画像処理装置。
【請求項２】
上記制御手段は、上記各正接値が一致しないとき、上記一致しない正接値を挟む２つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする請求項１記載の画像処理装置。
【請求項３】
上記制御手段は、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
上記画像処理装置は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサを用いて構成され、上記並列処理用メモリはＳＩＭＤ処理用メモリであることを特徴とする請求項１から３までのうちのいずれか１つ記載の画像処理装置。
【請求項５】
複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置のための画像処理方法であって、
上記制御手段が、主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記制御手段が、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記制御手段が、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする画像処理方法。
【請求項６】
上記制御手段が、上記各正接値が一致しないとき、上記一致しない正接値を挟む２つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする請求項５記載の画像処理方法。
【請求項７】
上記制御手段が、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする請求項５又は６記載の画像処理方法。
【請求項８】
上記制御手段を備えた画像処理装置は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサを用いて構成され、上記並列処理用メモリはＳＩＭＤ処理用メモリであることを特徴とする請求項５から７までのうちのいずれか１つ記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）命令を実行可能なプロセッサを用いた画像処理装置及び方法に関し、画像処理を行う場合における処理効率の向上に関する。
【背景技術】
【０００２】
入力された画像において、対象領域の面積を自動演算する画像処理装置において、境界領域の座標点を検出する装置が例えば引用文献１において開示されている。
【０００３】
例えば、特許文献１では、超音波画像上において、対象領域の面積を自動演算する画像処理装置が開示されており、境界内に原点＃０が設定され、そこから上下左右方向に沿って境界検出が実行され、これにより、境界点＊１〜＊４が求められる。原点＃０と各境界点＊１〜＊４との間の各区間上に交点＃１〜＃４が設定され、その交点を通過する直交ライン上に沿って上記同様に境界検出がなされる。これを繰り返すと最終的に上記境界上に複数の境界点が求められる。各境界点を連結することにより境界を近似する近似図形を得られる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の画像処理装置では、対象画像データ内において境界の座標を算出するにあたり、仮の原点から、Ｘ方向及びＹ方向に対し順に画素単位で領域の輪郭を拡大することで探索し全体の輪郭（エッジ）形状を検出するもので、順次画素探索を実施するために複数回の演算が必要となり演算量が多く処理が遅くなるという問題点があった。
【０００５】
本発明の目的は上記の問題点を解決し、所定の輪郭画像を有する入力画像データから、従来技術に比較して、輪郭画像の境界座標を高速で算出することができる画像処理装置及び方法を提供することにある。
【課題を解決するための手段】
【０００６】
第１の発明に係る画像処理装置は、複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置であって、
上記制御手段は、
主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする。
【０００７】
上記画像処理装置において、上記制御手段は、上記各正接値が一致しないとき、上記一致しない正接値を挟む２つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする。
【０００８】
また、上記画像処理装置において、上記制御手段は、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする。
【０００９】
さらに、上記画像処理装置は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサを用いて構成され、上記並列処理用メモリはＳＩＭＤ処理用メモリであることを特徴とする。
【００１０】
第２の発明に係る画像処理方法は、複数の角度と当該各角度に対応する正接値とを格納する正接値テーブルを用いて、所定の輪郭画像を有する画像の輪郭境界点座標を検出する制御手段を備えた画像処理装置のための画像処理方法であって、
上記制御手段が、主走査方向で、上記輪郭画像を有する画像の各画素のデータ値をデータメモリに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、
上記制御手段が、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、
上記各正接値が一致したとき、上記制御手段が、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定することを特徴とする。
【００１１】
上記画像処理方法において、上記制御手段が、上記各正接値が一致しないとき、上記一致しない正接値を挟む２つの正接値を所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定することを特徴とする。
【００１２】
また、上記画像処理方法において、上記制御手段が、上記輪郭境界点座標を検出する前に、輪郭画像を有する画像に対して、上記輪郭画像が上記しきい値以上のデータ値を有するようにエッジ検出処理を実行することを特徴とする。
【００１３】
さらに、上記画像処理方法において、上記制御手段を備えた画像処理装置は、ＳＩＭＤ（Ｓｉｎｇｌｅ  Ｉｎｓｔｒｕｃｔｉｏｎ  Ｍｕｌｔｉｐｌｅ  Ｄａｔａ）プロセッサを用いて構成され、上記並列処理用メモリはＳＩＭＤ処理用メモリであることを特徴とする。
【発明の効果】
【００１４】
本発明に係る画像処理装置及び方法によれば、主走査方向で、輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定するので、Ｘ方向及びＹ方向の両方に対して順に画素単位で輪郭探索する従来技術に比較して処理を大幅に高速で実行することができ、しかも、不要な画像データを保持しないためにメモリ量も大幅に削減可能となる。また、補間処理することで、輪郭境界点座標の検出の精度を大幅に向上できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。
【図２】本実施形態において画像処理として画像処理がなされる画像の構成を示す説明図である。
【図３】図２のＳＩＭＤ単位を示す説明図である。
【図４】図２に示された画像と図３のＳＩＭＤ単位との関係を示す説明図である。
【図５】図１の画像処理装置のＳＩＭＤ処理部５により実行される画像処理を示すフローチャートである。
【図６】本実施形態に係る画像処理装置としてのＳＩＭＤ型マイクロプロセッサのブロック図である。
【図７】本実施形態に係る境界座標検出処理において用いる正接値テーブルの一例を示す表である。
【図８】本実施形態に係る境界座標検出処理において境界座標の算出を主走査方向で行う方法を示す画像データの平面図である。
【図９】図８の処理により図６のＲレジスタ７１に格納される正接計算値テーブルの一例を示す図である。
【図１０】本実施形態に係る境界座標検出処理（角度指定型）を示すフローチャートである。
【図１１】本実施形態の変形例に係る境界座標検出処理（角度走査型）を示すフローチャートである。
【図１２】図１０及び図１１の処理の変形例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の実施形態において、同様の構成要素については同一の符号を付している。以下の実施形態においては、境界座標検出処理などの画像処理を行う画像処理装置について以下に説明する。
【００１７】
本実施形態に係る画像処理装置は、主走査方向に対し画像処理を行い、算出された各輪郭境界点候補より算出したい座標に対し、並列処理にて比較を行うことで迅速に対象の境界座標を算出することを特徴とする。
【００１８】
図１は本発明の一実施形態に係る、例えばデジタル複写機である画像処理装置の構成を示すブロック図である。
【００１９】
図１において、当該画像処理装置は、所定のプログラムに従って、この装置の全体を制御するＣＰＵ１と、そのプログラムや固定データなどが書き込まれているＲＯＭ２と、原稿上の画像を読み取る画像読み取り部３と、画像読み取り部３を制御して読み取られた画像データを取り込む読み取りインタフェース（Ｉ／Ｆ）部４と、取り込まれた画像データに対して後述するＳＩＭＤ単位の処理を施すＳＩＭＤ処理部５と、読み取りＩ／Ｆ部４又はＳＩＭＤ処理部５から出力された画像データなど各種データを記憶する例えばＲＡＭにてなる内部メモリ６と、内部メモリ６に取り込まれた画像データを用いて記録紙上に画像を形成する画像形成部７と、画像形成部７を制御する画像形成インタフェース（Ｉ／Ｆ）部８と、表示装置や操作キーを有して利用者が装置側に指示情報を入力したりする操作部９と、例えばＤＤＲ−ＲＡＭなどにてなる外部メモリ１１に接続される外部メモリインターフェース１０などとを備えて構成される。本発明に係る各実施形態においては、所定の画像処理を効率的に行うための、内部メモリ６と外部メモリ１１との間のデータ転送方法に関する。
【００２０】
なお、ＳＩＭＤ処理部５は専用のプロセッサ及びバッファメモリなどを有し、例えば傾斜角度を算出する処理や、形状補正処理などを実行する。以下の実施形態において、ＳＩＭＤ処理部５によりＳＩＭＤ単位で画像処理を実行しているが、本発明はこれに限らず、複数行の単位でＣＰＵ１により画像処理を実行してもよい。
【００２１】
図２は本実施形態において画像処理として、画像回転処理や画像歪み補正処理がなされる画像の構成を示す説明図である。図２において、主走査方向に２１１２画素、副走査方向にＮラインの画像を示している。主走査方向の２１１２画素は３５２画素×６を意味し、これはＳＩＭＤ単位６つ分を示している。
【００２２】
図３は図２のＳＩＭＤ単位を示す説明図である。ＳＩＭＤ単位とは、後述するＳＩＭＤ型マイクロプロセッサにおいてＰＥ命令実行時に一度に処理可能な画素数（データ数）を意味し、本実施形態に用いるＳＩＭＤ型マイクロプロセッサでは図３に示すように３５２画素を一度に処理可能である。
【００２３】
図４は図２に示された画像と図３のＳＩＭＤ単位との関係を示す説明図である。図４に示すように１ラインをＳＩＭＤ単位で処理を行うことで、１画素単位で処理を行うよりも処理回数を削減することができ、一定時間内ではより多くの画素の処理を行うことができる。
【００２４】
図５は図１の画像処理装置のＳＩＭＤ処理部５により実行される画像処理を示すフローチャートである。図５の処理では、画像回転処理を実行する場合について以下説明する。
【００２５】
図１の操作部９内のコピースタートキーが押下され、原稿読み取りが始まると、ＳＩＭＤ処理部５のプロセッサはまず、フレーム単位処理を行う（ステップＳ１）。例えばこの時点ではこれから処理しようとするラインの番号として「１」をＳＩＭＤ処理部５内メモリの所定アドレスＡに設定する。
【００２６】
次いで、ＳＩＭＤ処理部５のプロセッサはライン単位処理を行う（ステップＳ２）。例えばこの時点ではこれから処理しようとするＳＩＭＤの番号として「１」をＳＩＭＤ処理部５内メモリの所定アドレスＢに設定する。そして、読み取りＩ／Ｆ部４を介してＳＩＭＤ処理部５内のバッファメモリに第１ラインの画像データが入ってくると、ＳＩＭＤ１のＳＩＭＤ単位処理が行われる（ステップＳ３）。専用回路を用いて例えば３５２個の画素データを並行して所定の値と比較する処理を行うわけである。また、その結果、所定の画素位置（例えば３画素目）の画素データの値が所定の値を超えていたならば変化点と判定し、所定アドレスＡに設定されているライン番号をそのときのＳＩＭＤ番号に対応付けてＳＩＭＤ処理部５内メモリの所定アドレスＣに記録する。但し、同一ＳＩＭＤですでに記録が行われているならば所定の値を超えていても変化点ではないので記録しない。
【００２７】
こうして、そのＳＩＭＤの処理が終了すると（ステップＳ４でＹＥＳ）、ＳＩＭＤ処理部５のプロセッサはＳＩＭＤ処理部５内メモリの所定アドレスＧに設定されている１ラインのＳＩＭＤ数と所定アドレスＢに設定されているＳＩＭＤ番号を比較することによりそのときのラインの処理がすべて終了したか否かを判定する（ステップＳ５）。そして、終了していないと判定されたならば（ステップＳ５でＮＯ）、ステップＳ２に戻り、ＳＩＭＤ番号の値を１だけ増やし（ステップＳ２）、次のステップＳ３へ進む。
【００２８】
このような繰り返しの後、そのときのラインのすべてのＳＩＭＤ単位処理が終了したと判定されたならば（ステップＳ５でＹＥＳ）、ＳＩＭＤ処理部５はＳＩＭＤ処理部５内メモリの所定アドレスＨに設定されている１フレームのライン数と所定アドレスＡに設定されているライン番号を比較することにより、フレーム単位処理が終了か否かを判定する（ステップＳ６）。そして、終了でないならば（ステップＳ６でＮＯ）、ステップＳ１に戻り、ライン番号の値を１だけ増やして（ステップＳ１）、以降の処理を繰り返す。こうして、フレーム単位処理が終了したならば（ステップＳ６でＹＥＳ）、ＳＩＭＤ処理部５のプロセッサは例えば、図１０又は図１１の境界座標検出処理などの所定の画像回転処理を実行する（ステップＳ７）。
【００２９】
以上説明したように、ＳＩＭＤプロセッサを用いて走査ライン方向に繰り返し処理を行い、ここで、複数のラインを副走査方向に配置し、１つのフレームを構成し、ＳＩＭＤ単位で画像処理を実行することで、画素単位で処理に比べてＳＩＭＤ処理では、主走査方向の実行回数を削減することができ一定時間内で多くの画像処理を実行することができる。
【００３０】
図６は本実施形態に係る画像処理装置としてのＳＩＭＤ型マイクロプロセッサのブロック図である。図６において、ＳＩＭＤ型マイクロプロセッサは、グローバルプロセッサ３０と、プロセッサエレメントブロック４０とを備えて構成される。
【００３１】
グローバルプロセッサ３０は、図６に示すように、グローバルプロセッサ３０にて実行するプログラム格納用のプログラムＲＡＭと演算データ格納用のデータＲＡＭが内蔵されている。さらに、プログラムのアドレスを保持するプログラムカウンタ（ＰＣ）、演算処理のデータ格納のための汎用レジスタであるＧ０〜Ｇ１５レジスタ、レジスタ退避及び復帰時に退避先データＲＡＭのアドレスを保持しているスタックポインタ（ＳＰ）、サブルーチンコール時にコール元のアドレスを保持するリンクレジスタ（ＬＳ）、同じくＩＲＱ（割り込み）時とＮＭＩ（マスク不可割り込み）時の分岐元アドレスを保持するＬＩ、ＬＮレジスタ、プロセッサの状態を保持しているプロセッサステータスレジスタ（Ｐ）が内蔵されている。これらのレジスタと図示していない命令デコーダ、ＡＬＵ、メモリ制御回路、割り込み制御回路、外部Ｉ／Ｏ制御回路、ＧＰ演算制御回路を使用してグローバルプロセッサ命令（ＧＰ命令）の実行が行われる。プロセッサエレメント命令（ＰＥ命令）実行時は命令デコーダ、図示していないレジスタファイル制御回路、ＰＥ演算制御回路を使用して、後述するレジスタファイルアレイ７０の制御と演算アレイ８０の制御を行う。即ち、ＧＰ命令とはグローバルプロセッサ３０内の演算回路等を用いて実行される命令、ＰＥ命令とはプロセッサエレメントブロック４０を用いて実行される命令である。
【００３２】
また、プロセッサエレメントブロック４０は、レジスタファイルアレイ７０と、演算アレイ８０とを備えて構成される。
【００３３】
ここで、レジスタファイルアレイ７０は、プロセッサエレメント数分のレジスタファイル７１から構成されている。レジスタファイル７１は、１６ビットのレジスタが３２本内蔵されており、レジスタはＰＥ毎にＲ０〜Ｒ３１と呼ぶこととする。それぞれのレジスタは演算アレイ８０に対してポートを備えており、１６ビットのリード／ライト兼用のバス（以下レジスタバス）で演算アレイ８０からアクセスできる。図示しているレジスタは、紙面の関係で各ＰＥで６本としている。
【００３４】
演算アレイ８０は、プロセッサエレメント数分の演算部８１から構成されている。演算部８１は、レジスタファイル７１との接続に１６ビット幅の７ｔｏ１のマルチプレクサ（７ｔｏ１ＭＵＸ）８１ａを備えており、ＰＥ方向で左に１、２及び３つ離れたＰＥのレジスタバス、右に１、２及び３つ離れたＰＥのレジスタバス、自ＰＥのレジスタバスに接続し、演算対象として７つのレジスタバスから選択することが可能である。選択の制御はグローバルプロセッサ３０により行われる。
【００３５】
７ｔｏ１のマルチプレクサ８１ａの後段にはシフタ（Shift Expand）８１ｂを設けており、レジスタファイル７１から読み出されたデータのビットシフトとビット拡張を行う。シフトの制御はグローバルプロセッサ３０により行われる。
【００３６】
シフタ８１ｂの後段には、上位用１６ビットＡＬＵ８１ｆ、上位用１６ビットＡレジスタ８１ｇ、上位用Ｆレジスタ８１ｈ、下位用１６ビットＡＬＵ８１ｃ、上位用１６ビットＡレジスタ８１ｄ、上位用Ｆレジスタ８１ｅを設けている。ＰＥ命令による演算は基本的にレジスタファイル７１から読み出されたデータを、例えば上位であれば上位用１６ビットＡＬＵ８１ｆの片側の入力として、もう片側には上位用１６ビットＡレジスタ８１ｇの内容を入力として、結果を上位用Ａレジスタ８１ｇに格納する。したがって、上位用Ａレジスタ８１ｇとＲ０〜Ｒ３１レジスタとの演算が行われることとなる。下位用１６ビットＡＬＵ８１ｃも同様である。
【００３７】
上位用１６ビットＡＬＵ８１ｆと下位用１６ビットＡＬＵ８１ｃは、それぞれ独立して１６ビットの演算が可能であり、また、上位用１６ビットＡＬＵ８１ｆと下位用１６ビットＡＬＵ８１ｃは連動して動作し、合わせて３２ビットの演算も可能である。それぞれの動作はグローバルプロセッサ３０からの制御による。上位用１６ビットＡＬＵ８１ｆと下位用１６ビットＡＬＵ８１ｃが連動する場合のため、両ＡＬＵ間にキャリーなどの情報伝達経路を備えている。
【００３８】
つまり、上述したレジスタファイル７１と、演算部８１と、でプロセッサエレメント（以降ＰＥ）を構成している。即ち、本実施形態のＳＩＭＤ型マイクロプロセッサは、レジスタファイル７１と演算部８１の組を３５２組備えている。
【００３９】
次いで、本実施形態に係る画像処理装置において、所定の輪郭画像を有する入力画像データに対して主走査方向で画像処理を行い、算出された各輪郭境界点候補より算出したい座標に対し、並列処理にて比較を行うことで迅速に対象の境界座標を算出する輪郭画像の境界座標検出処理について以下に説明する。
【００４０】
本実施形態では、一例として、３５２個の並列度（ＳＩＭＤ）を持つ画像処理装置の画像処理方法を示す。図１乃至図５を参照して上述のように、ＳＩＭＤ単位とは、複数画素で１つのＳＩＭＤを構成し、複数のＳＩＭＤで１つのラインを構成する。また、複数のラインを副走査方向に配置し、１つのフレームを構成し、ＳＩＭＤ単位で画像処理を実施することで、画素単位で処理に比べてＳＩＭＤ処理では、主走査方向の実行回数を削減することができ、一定時間内で多くの画像処理を実行することが可能である。
【００４１】
図７は本実施形態に係る境界座標検出処理において用いる正接値テーブルの一例を示す表である。図７から明らかなように、例えば１度毎の角度θ（度）に対して、正接値ｔａｎθを予め計算しておき、正接値テーブルとしてグローバルプロセッサのデータメモリに格納しておく。
【００４２】
図８は本実施形態に係る境界座標検出処理において境界座標の算出を主走査方向で行う方法を示す画像データの平面図である。図８に示すように、主走査方向で、所定の輪郭画像５０を有する画像の各画素のデータ値をグローバルメモリプロセッサ３０のデータＲＡＭに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標（ｘｎ，ｙｎ）を検出し、検出した輪郭境界点座標（ｘｎ，ｙｎ）に基づいて、上記輪郭画像内部に設定される中心座標Ｏ（ｘ０，ｙ０）（当該中心座標は、好ましくは、輪郭画像５０内部の中心近傍であって、例えば輪郭画像の面積中心など）に基づく各輪郭境界点座標の正接値ＴＡＮを次式（１）を用いて計算して並列処理用Ｒレジスタ７１に格納してゆき、これを副走査方向ですべての副走査ライン（全画像）に対して行う。なお、図８においては、輪郭画像５０を円形で示しているが、種々の形状を有してもよい。
【００４３】
［数１］
ｔａｎθ＝（ｘ２−ｘ０）／（ｙ２−ｙ０）      （１）
【００４４】
図９は、図８の処理により図６のＲレジスタ７１に格納される正接計算値テーブルの一例を示す図である。図６のＲレジスタ７１に格納される正接計算値テーブル内の正接計算値を、指定された角度に対応する正接値（角度θ＝２０度であれば、図７の正接値テーブルを参照して正接値＝０．３６）と比較し、各正接値が一致すれば、その角度に対応する輪郭境界点座標が検出され、一致しない正接値を挟む２つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定する。ここで、指定された角度を例えば、０度から３５９度まで例えば１度毎に走査して同様の処理を行うことですべての輪郭境界点座標を計算することができる。また、図６のＲレジスタ７１に格納される正接計算値テーブル内の正接計算値を、指定された角度に対応する正接値と比較する処理はいわゆるＳＩＭＤ処理で並列処理することができるので、従来技術に比較して大幅に高速で輪郭境界点座標を決定算出できる。
【００４５】
図１０は本実施形態に係る境界座標検出処理（角度指定型）を示すフローチャートである。なお、所定の輪郭画像５０（図８）を有する画像において、輪郭画像５０は所定のしきい値以上のデータ値又は画素値を有する。必要があれば、図１２に示すように、輪郭画像５０（図８）を有する画像に対して、ステップＳ２１のエッジ検出処理（微分処理）を前置で実行してもよい。これについては、後述する図１１の処理でも同様である。
【００４６】
図１０において、まず、ステップＳ１において、主走査方向で、所定の輪郭画像５０（図８）を有する画像の各画素のデータ値をグローバルメモリプロセッサ３０のデータＲＡＭに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標（ｘｎ，ｙｎ）を検出し、検出した輪郭境界点座標（ｘｎ，ｙｎ）に基づいて所定の中心座標（ｘ０，ｙ０）に基づく各輪郭境界の正接値を式（１）を用いて計算して並列処理用Ｒレジスタ７１に格納してゆき、これを副走査方向ですべての副走査ライン（全画像）に対して行う。次いで、ステップＳ２において、所定の角度を指定し、上記並列処理用Ｒレジスタ７１内の各輪郭境界点の正接値を、指定された角度に基づいて正接値テーブルから得た正接値と並列処理により比較し、ステップＳ３において各正接値が一致するか否かが判断される。ステップＳ３においてＹＥＳのときはステップＳ４に進む一方、ＮＯのときはステップＳ５に進む。ステップＳ４において、一致した正接値に対応する角度の輪郭境界点座標（ｘｎ，ｙｎ）を輪郭境界点座標として決定してデータＲＡＭに格納してステップＳ６に進む。また、ステップＳ５では、一致しない正接値を挟む２つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定してデータＲＡＭに格納し、ステップＳ６に進む。ステップＳ６では、データＲＡＭに格納された輪郭境界点座標を例えば液晶ディスプレイなどの表示部に出力して当該境界座標検出処理を終了する。
【００４７】
図１１は本実施形態の変形例に係る境界座標検出処理（角度走査型）を示すフローチャートである。
【００４８】
図１１において、まず、ステップＳ１において、主走査方向で、所定の輪郭画像５０（図８）を有する画像の各画素のデータ値をグローバルメモリプロセッサ３０のデータＲＡＭに入力しながら、各画素のデータ値が所定のしきい値以上の画素の輪郭境界点座標（ｘｎ，ｙｎ）を検出し、検出した輪郭境界点座標（ｘｎ，ｙｎ）に基づいて所定の中心座標（ｘ０，ｙ０）に基づく各輪郭境界の正接値を式（１）を用いて計算して並列処理用Ｒレジスタ７１に格納してゆき、これをすべての主走査ライン（全画像）に対して行う。次いで、ステップＳ１１において、角度θに１（度）を設定し、ステップＳ１２において、上記並列処理用Ｒレジスタ７１内の各輪郭境界点の正接値を、角度θに基づいて正接値テーブルから得た正接値と並列処理により比較し、ステップＳ３において各正接値が一致するか否かが判断される。ステップＳ３においてＹＥＳのときはステップＳ４に進む一方、ＮＯのときはステップＳ５に進む。ステップＳ４において、一致した正接値に対応する角度の輪郭境界点座標（ｘｎ，ｙｎ）を輪郭境界点座標として決定してデータＲＡＭに格納してステップＳ１３に進む。また、ステップＳ５では、一致しない正接値を挟む２つの正接値を例えば線形補間方法などの所定の補間方法を用いて補間して補間結果の角度に対応する輪郭境界点座標を計算してこれを輪郭境界点座標として決定してデータＲＡＭに格納し、ステップＳ１３に進む。ステップＳ１３では、角度θが３５９度であるか否かが判断され、ＹＥＳのときはステップＳ６に進む一方、ＮＯのときはステップＳ１４に進む。ステップＳ１４では、角度θを１度だけインクリメントしてステップＳ１２に戻る。一方、ステップＳ６では、データＲＡＭに格納された輪郭境界点座標を例えば液晶ディスプレイなどの表示部に出力して当該境界座標検出処理を終了する。
【００４９】
図１０及び図１１のステップＳ１において、輪郭境界点座標及びその正接値の計算をすべての副走査ラインに対して実行しているが、本発明はこれに限らず、必要な画像部分のみについて実行してもよい。
【００５０】
図１１の処理では、指定角度を１度毎に変化させているが、本発明はこれに限らず、例えば５度又は１０度など他の角度ステップ値に設定してもよい。
【産業上の利用可能性】
【００５１】
以上詳述したように、本発明に係る画像処理装置及び方法によれば、主走査方向で、輪郭境界点座標を検出し、上記検出した輪郭境界点座標に基づいて所定の中心座標に基づく各輪郭境界の正接値を計算して並列処理用メモリに格納することを副走査方向で実行し、上記並列処理用メモリ内の各輪郭境界点の正接値を、指定された角度に基づいて、上記正接値テーブルから得た正接値と並列処理により比較し、上記一致した正接値に対応する角度の輪郭境界点座標を輪郭境界点座標として決定するので、Ｘ方向及びＹ方向の両方に対して順に画素単位で輪郭探索する従来技術に比較して処理を大幅に高速で実行することができ、しかも、不要な画像データを保持しないためにメモリ量も大幅に削減可能となる。また、補間処理することで、輪郭境界点座標の検出の精度を大幅に向上できる。
【符号の説明】
【００５２】
１…ＣＰＵ、
２…ＲＯＭ、
３…画像読み取り部、
４…読み取りインタフェース部、
５…ＳＩＭＤ処理部、
６…内部メモリ（ＲＡＭ）、
７…画像形成部、
８…画像形成インタフェース部、
９…操作部、
１０…外部メモリインターフェース、
１１…外部メモリ（ＤＤＲ−ＤＲＡＭ）、
３０…グローバルプロセッサ、
４０…プロセッサエレメントブロック、
５０…輪郭画像、
７０…レジスタファイルアレイ、
７１…レジスタアレイ、
８０…演算アレイ、
８１…演算部。
【先行技術文献】
【特許文献】
【００５３】
【特許文献１】特開特開２００２−１７５５３３号公報
【図１】
2013061738.tif 000003
【図２】
2013061738.tif 000004
【図３】
2013061738.tif 000005
【図４】
2013061738.tif 000006
【図５】
2013061738.tif 000007
【図６】
2013061738.tif 000008
【図７】
2013061738.tif 000009
【図８】
2013061738.tif 000010
【図９】
2013061738.tif 000011
【図１０】
2013061738.tif 000012
【図１１】
2013061738.tif 000013
【図１２】
2013061738.tif 000014