JPH09231356A - 画像処理方法及びその装置 - Google Patents

画像処理方法及びその装置

Info

Publication number
JPH09231356A
JPH09231356A JP3362296A JP3362296A JPH09231356A JP H09231356 A JPH09231356 A JP H09231356A JP 3362296 A JP3362296 A JP 3362296A JP 3362296 A JP3362296 A JP 3362296A JP H09231356 A JPH09231356 A JP H09231356A
Authority
JP
Japan
Prior art keywords
image data
row
data
processing
column
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.)
Withdrawn
Application number
JP3362296A
Other languages
English (en)
Inventor
Yoshinori Ito
嘉則 伊藤
Takeshi Aoyanagi
剛 青柳
Yoshiki Kuboki
慶樹 久保木
Yasuhiro Yamada
康博 山田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP3362296A priority Critical patent/JPH09231356A/ja
Publication of JPH09231356A publication Critical patent/JPH09231356A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Image Analysis (AREA)

Abstract

(57)【要約】 【課題】 ソフトウェア的な手法で処理する方法では、
パターン認識のための処理速度が遅く、ゲートアレイ等
を用いたハードウェア的な手法では、認識したいパター
ン形状が複雑になると、そのゲートアレイの演算回路等
が膨大になり、回路規模が大きくなり、コスト的にも不
利である。 【解決手段】 処理対象の画像データの行又は列のそれ
ぞれを並列処理により演算する演算ユニットに入力し
(S1)、以下の工程を並行して実施する。即ち、その
入力された行又は列のそれぞれと特定パターンの行又は
列データとを比較して一致しているか否かを検出し(S
2)、特定パターンに一致している画像データのエリア
の、画像データの所定エリアにおける座標位置を算出し
(S3)、その算出した座標位置に基づいて一致してい
るエリア間の距離を算出して分類し(S4)、その算出
され分類された結果に基づいて所定エリア内における特
定パターンの配列パターンセットを求めてパターン認識
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像データが特定
パターンを含むか否かを認識するための画像処理方法及
びその装置に関するものである。
【0002】
【従来の技術】従来より、画像データに含まれる所定の
パターンを認識して、その画像データをパターン認識す
る手法が種々提案されている。例えば、このようなパタ
ーン認識の具体的な手法として、マイコン等のCPUを
用いて、純粋にソフトウェア的に行う方法、或は処理の
アルゴリズムをゲートアレイ化し、それを用いてハード
ウェア的にパターン認識を行う方法などがある。
【0003】
【発明が解決しようとする課題】しかしながら、先述し
たような手法によるパターン認識では以下の様な問題が
あった。まずCPUを用いてソフトウェア的な手法で処
理する方法では、パターン認識のための処理速度が遅い
ため、画像データを入力しながらリアルタイムでパター
ン認識処理を行うのは不可能であった。
【0004】また、ゲートアレイ等を用いたハードウェ
ア的な手法では、認識したいパターン形状が複雑になる
と、そのゲートアレイの演算回路等が膨大になり、回路
規模が大きくなり、コスト的にも不利である。更に、そ
の認識のためのアルゴリズム等に不具合があって、その
アルゴリズムを修正をしようとしても、その修正には多
大な時間とコストが消費されることになる。
【0005】本発明は上記従来例に鑑みてなされたもの
で、パターン認識手段として並列処理型プロセッサを用
い、これによりパターン認識を行う画像処理方法及びそ
の装置を提供することを目的としている。
【0006】本発明の他の目的は、ソフトウェアによる
処理と同等の柔軟性を持たせ、かつ専用のハードウェア
により処理するのと同等の高速処理機能を合わせ持った
画像処理方法及びその装置を提供することにある。
【0007】
【課題を解決するための手段】上記目的を達成するため
に本発明の画像処理装置は以下のような構成を備える。
即ち、画像データが特定パターンを含むかどうかを認識
するための画像処理装置であって、画像データに含まれ
る複数の画素を含む画像データを行方向に所定の長さを
持つ画素行又は列に分割し、前記画素行又は列のそれぞ
れを並列処理により演算する演算手段に入力する入力手
段を有し、前記演算手段は、前記画素行又は列のそれぞ
れと前記特定パターンの行又は列データとを比較して一
致しているか否かを検出し、並行して比較されている隣
接する行又は列の検出結果を参照して前記特定パターン
とのマッチング度を判別する判別手段と、前記判別手段
により判別された特定パターンに一致しているエリア
の、前記画像データの所定エリアにおける座標位置を算
出する座標算出手段と、前記座標位置に基づいて前記一
致しているエリア間の距離を算出する距離算出手段と、
前記距離算出手段により算出された距離に基づいて前記
所定エリア内における前記特定パターンの配列パターン
を求めてパターン認識する認識手段とを具備し、前記判
別手段、座標算出手段、距離算出手段及び認識手段によ
る処理を前記画像データの複数の所定エリアに対して並
行して実施する。
【0008】また上記目的を達成するために本発明の画
像処理方法は以下のような工程を備える。即ち、画像デ
ータが特定パターンを含むかどうかを認識するための画
像処理方法であって、画像データに含まれる複数の画素
を含む画像データを行方向に所定の長さを持つ画素行又
は列に分割し、前記画素行又は列のそれぞれを並列処理
により演算する演算ユニットに入力する工程と、入力さ
れた画素行又は列のそれぞれと前記特定パターンの行又
は列データとを比較して一致しているか否かを検出する
工程と、並行して比較されている隣接する行又は列の検
出結果を参照して前記特定パターンとのマッチング度を
判別する判別工程と、前記判別された特定パターンに一
致している画像データのエリアの、前記画像データの所
定エリアにおける座標位置を算出する工程と、前記座標
位置に基づいて前記一致しているエリア間の距離を算出
する工程と、前記距離算出手段により算出された距離に
基づいて前記所定エリア内における前記特定パターンの
配列パターンを求めてパターン認識する工程とを有し、
前記工程のそれぞれは前記画像データの複数の所定エリ
アに対して並行して実施される。
【0009】
【発明の実施の形態】本発明の実施の形態によれば、前
記演算手段は、例えばSVPであり、並列処理はプログ
ラムにより制御される並列処理型プロセッサにより演算
する。
【0010】また本実施の形態によれば、並列処理型プ
ロセッサは1ビット毎にデータを処理する所定の数の論
理演算ユニットを有し、全論理演算ユニットが略同時に
同一のデータ処理を行う。
【0011】また本実施の形態によれば、並列処理型プ
ロセッサは所定の大きさを持つデータレジスタを具備
し、前記データレジスタを複数の領域に任意に分割し、
所望の画像データ又は画像データの処理結果等を保持す
る。
【0012】また本実施の形態によれば、特定パターン
は前記並列処理型プロセッサに予め記憶されたパターン
であるか、或は外部より与えられたパターンである。
【0013】更に本実施の形態によれば、前記入力手段
は、入力した画像データに対してエッジ強調及び2値化
処理を行う。
【0014】また本実施の形態によれば、前記判別手段
は前記特定パターンの各行又は列と前記画像データの各
行又は列とを比較し、一致している画素数を加算する加
算手段と、前記加算手段により加算された数が所定値以
上か否かによりマッチング度を判別する。
【0015】以下、添付図面を参照して本発明の好適な
実施の形態を詳細に説明する。
【0016】尚、本発明の実施の形態では、並列処理型
プロセッサとして、例えばテキサス・インスツルメンツ
(TI)社の並列演算プロセッサSVPを用い、基本と
なる画素パターンがいくつか、ある規則に従って配置さ
れている場合の認識方法について述べる。ここで基本画
素パターンは、各画素を1ビットで表した2値パターン
とする。以下、図2〜図5を参照して、SVPについて
詳しく説明する。
【0017】本実施の形態で用いるSVPは、図2に示
すように、処理を行うSVPcore201と、プログラム
の格納及び制御を行うIG202より構成されている。
このSVPcore201で、データの処理を行う部分は処
理要素(PE)と呼ばれる単位で構成されている。
【0018】SVPcore201は、データ入力レジスタ
DIR、データ出力レジスタDOR及び処理要素(P
E)を構成するレジスタファイル(RF0,RF1)、
演算ユニット(ALU)等を、それぞれ最大960組有
している。IG202は、ALU等の動作を規定するプ
ログラムメモリ、レジスタ等を備えている。
【0019】図3は、PEの構成を示すブロック図で、
このPEは1ビットALUと、それぞれが128ビット
のレジスタファイル(RF)を2つセット(RF0,RF1)に
して構成されており、これらが並列に複数(最大960
個)並んで配列されている。2つのレジスタファイル
(RF0,RF1)のそれぞれは、各処理に必要なビッ
ト数をユーザが自由に割り当てて使うことができるよう
になっている。PEは全て並行してIG202によって
与えられた、同一の命令を実行することしかできない。
従って、入力画像の1ライン分の全ての画素について一
括して処理し、その結果を一括して出力、或はこれをラ
イン毎に順次行ってゆくという処理形式になる。
【0020】本実施の形態においては、処理対象画像に
基本画素パターン(図4)が含まれており、この基本画
素パターンは、20×20画素内に収まる大きさのもの
である。この基本画素パターン401の一例を図4に示
す。
【0021】図5は入力画像の一例を示す図で、この入
力画像の100×100画素内に、基本画素パターン4
01が5つずつ配置されている。この配置規則は、10
0×100画素内の5つの基本画素パターン401の
内、任意の2つの基本画素パターン401の全ての組み
合わせにおいて、その間の距離を測ると、その長さが9
種類に分類できる。更に、この分類された9種類の距離
の数をいくつかに定めるというもので、これを配置パタ
ーンと呼ぶことにする。こうして分類された距離のそれ
ぞれの数は、本実施の形態では5通りに定められてお
り、配置パターンのリファレンスとしてSVPに与えら
れる。また、本実施の形態では、入力画像は単色で、多
値としている。
【0022】図1は本実施の形態の画像処理装置の構成
を示すブロック図である。
【0023】図1において、101は装置全体を制御す
るCPU、103はCPU101により実行される制御
プログラムを記憶しているプログラムメモリである。1
02は画像入力部で、例えばスキャナなどの様に原稿画
像を光電的に読取って入力している。104はRAM
で、CPU101による処理の実行時に各種データを一
時的に保存している。105は表示部で、例えばCRT
や液晶等で構成され、入力した画像やオペレータへのメ
ッセージ等を表示する。106は前述したSVPであ
る。107はキーボードやマウス等の入力部、109は
通信回線111との間での通信制御を行う通信回線制御
部(NCU)である。110はこれを接続するシステム
バスである。
【0024】図6は、本実施の形態の画像処理装置のS
VP106におけるパターンマッチングの基本的な処理
の流れを示すフローチャートである。
【0025】ここではパターンマッチングを行うため
に、まずステップS1で、前処理として、画像入力部1
02から入力した入力画像のエッジ強調と2値化処理を
行う。そしてステップS2で、この2値化された画像デ
ータと、20×20画素の基本画素パターンとのマッチ
ングを調べる。こうして画像データにおいて基本画素パ
ターンと一致した部分が代表点で示されるので、ステッ
プS3では、高速化のために、画像を20×20画素よ
りなるブロックに分割し、その代表点の座標を5×5ブ
ロック内で求める。こうして座標値が求められるとステ
ップS4に進み、それら2点間の距離を求め、その距離
に応じて分類する。そしてステップS5に進み、リファ
レンスのセットと分類距離カウントとの比較を行い、全
ての配置パターン(図5)を検出する。
【0026】以下、各ステップ毎に詳しく説明する。 [エッジ強調・2値化処理]図7のフローチャートで示
すように、入力画像データを3×3のラプラシアン型フ
ィルタリング処理し、この結果を加算してエッジ強調を
行った後、各画素の値が2値化閾値より大きければ、そ
の画素はオン“1”、以下であればオフ“0”とする処
理を行えばよい。その結果、入力した画像データの各画
素を1ビットで表した2値化画像を得ることができる。
図7〜図12は、各処理の詳細を示す図である。
【0027】ここでステップS13におけるラプラシア
ン・フィルタの処理は、3×3画素の範囲を入力として
いるため、プロセッサPEのレジスタ内に3ライン分の
データを保持している必要がある。即ち、現在入力され
たラインと、その過去2ライン分の画像データを記憶し
ている。これを行うのが図7のステップS11及びステ
ップS12の処理である。
【0028】これには図8に示すように、今までレジス
タのデータ保存エリアX0,X1,X2に記憶されてい
た3ライン分の画像データを、X1からX2へ、X0か
らX1へというようにシフトし、空いた1つのエリアX
0に、図9に示すように、1ライン分の画像データを入
力してセットすれば良い。尚、本実施の形態では、レジ
スタ領域X0,X1,X2のそれぞれはそれぞれ8ビッ
トで、レジスタファイル(RF1)内に設けられる。
【0029】図10はラプラシアン・フィルタ処理を説
明する図で、図10における47は、3×3のラプラシ
アン・フィルタの一例を示す図である。このフィルタリ
ング処理は、46に相対的な位置関係を示すような、真
中のラインX1の各画素を中心として、中心画素の値を
8倍し、中心に隣接する画素については−1倍し、これ
らを加算するという処理を行う。
【0030】このフィルタリング処理の結果をレジスタ
領域Y0(RF0に設けられている13ビットエリア)
に格納する。SVP106は、これらの処理を並行して
行うことができるので、1回処理を行えば、1ライン中
の全ての画素についての処理が完了することになる。
【0031】こうしてフィルタリング処理されて各PE
のレジスタ領域Y0に格納されたデータは、図11に示
すように各PEにおいて、1/2倍され、レジスタ領域
X1に記憶されている元のデータ値と加算され、その結
果が、各PEのレジスタ領域Y1(RF0に設けられて
いる13ビット領域)に記憶される。このレジスタ領域
Y1の値と2値化のための閾値(Tth)とを比較し、図
12に示す2値化画像データYPを得る。
【0032】こうして2値化されて出力される画像デー
タは、3×3画素マトリクスの中心画素に位置する画素
に対応するデータであるから、この2値化データは、入
力されたラインに対して1つ前のラインにおける出力デ
ータとなる。このように、複数ラインの画像データの入
力を必要とする処理では、出力データが何ライン分の遅
延であるかを考慮する必要がある。 [20×20画素パターンとのマッチング]続いて、図
6のステップS2で、2値化された画像データを、20
×20画素よりなる基本画素パターンを参照してマッチ
ングの程度を調べる。このためには、全ての画素を先頭
とする、縦横20×20画素の範囲の画像データについ
てのマッチングを調べなければならない。これにより基
本画素パターンをただ1つの代表点に置き換えることが
できる。この様子を図13に示す。
【0033】またこのときのリファレンスは図14のよ
うにする。このリファレンスにおいて、縦方向の20画
素は20ビットの定数とみなせばよい。これを左端から
順にRP0,RP1,…,PR19と定義する。
【0034】この画素マトリクスの代表点を、例えば2
0×20基本画素パターンの中心画素、あるいは右下端
の画素位置などというように特定の位置に定めて、基本
画素パターン間の相対距離が保存されるようにする必要
がある。本実施の形態では、SVP106を用いている
ので、最終ラインを読み込んだときの出力となるため、
20×20画素範囲の内、最下辺の20点のどれかに出
力点を置くのがよい。本実施の形態では、その代表点を
右下端の画素のいずれかとしている。
【0035】図15は、この20×20画素のパターン
マッチング処理(ステップS2)を示すフローチャート
である。
【0036】まずステップS21,S22で、各PEの
レジスタファイル(RF0)に過去20ライン分の画像
データを保存する。これらの画像データは前処理(S
1)により2値化されたものであるので、1画素につき
1ビットで表すことができる。従って、各PEは、20
ビットのビットパターン保存領域XBPを持つことにな
る。この領域XBPに現在読み込んだ1ラインの2値デ
ータを保存する際には、既に保存されている画像データ
を1ビット上位へシフトさせ(図16)、空いた下位の
1ビットに、YPにセットされている新しいデータを入
れるというようにすればよい(図17)。このようにす
ると領域XBPには、常に現在の処理ラインから過去2
0ライン分のデータが保存されていることになる。即
ち、例えば図16の例では、1番左端の列の20ビット
データが1番目のPEに、2列目の20ビットデータが
2番目のPEというようにセットされる。
【0037】次にステップS23〜S29の処理で、2
0×20画素の基本画素パターンのリファレンスRP
0,RP1,…,RP19を順にPEに与えて、各PE
に保存されている20ビットデータとのマッチングを取
ってゆく。この基本画素パターンは、CPU101から
SVP106に与えてもよいが、この実施の形態では、
SVP106のプログラム中に定数として持たせるよう
にしている。以下、この処理の具体例を説明する。
【0038】まず図18に示すように、20ビットのリ
ファレンスRP0(図14参照)を全てのPEに与え
る。これと各PEのレジスタ領域XBPに保存されてい
る20ビットのパターンについて、排他的論理和の否定
(XNOR)をとる。その演算結果は20ビットのパタ
ーンとなり、一致したビットについては“1”、不一致
のビットは“0”になっているはずである。そこで、こ
の“1”であるビット数をカウントし、各PEのレジス
タ内に定めたワークエリアW0に保存する。
【0039】次に、同じく20ビットのリファレンスR
P1を各PEに与え、同様に、各PEにおいて、一致し
たビット数をカウントし、図19に示すワークエリアW
1に保存する。この各PEのワークエリアW1の値と、
そのPEの左隣のPEのワークエリアW0の値とを加算
し、その結果を自分(PE)のW0に保存する。この様
子を図20に示す。これにより各PEは、結果として、
自分自身と左隣の列の40画素(2列分のデータ)中に
おける、マッチングした点の数を持つことができる。
【0040】以下同様にして、リファレンスRP19ま
で、即ち、図15のステップS29まで繰り返し、前述
のような加算結果を各PEのW0に保存してゆくと、結
果として、各PEのワークエリアW0には、自分自身の
位置から左方向に20列分、20×20画素、即ち、4
00画素の内、基本画素パターンと一致した画素の数が
格納されることになる。
【0041】図15のステップS30のマッチング判定
処理では、図21に示すように、この一致した画素の数
に対して、閾値Pthを設定し、各PEのワークエリアW
0の値が閾値Pthよりも小さければ“0”、それ以上で
あれば“1”として2値化し、その結果をYP(1ビッ
ト)とする。即ち、一致した画素の数が閾値Pth以上で
あれば、そこには基本画素パターンが存在することにな
る。
【0042】実際には、ノイズ等の影響を考慮すると、
入力画像に基本画素パターンが含まれているか否かを検
出するためには、閾値Pthをある程度低く設定する必要
がある。これにより、基本画素パターンと一致する点が
1点には定まらず、その近隣のいくつかの点が、基本画
素パターンと一致しているとの結果が得られることにな
る。従って、図15の最後のステップS31で、この中
から代表点を選出し、1点のみを該当する一致点(代表
点)として残す必要がある。この実施の形態では、例え
ば、これら近傍の一致点うち、一番左上の1点を代表点
として残すことにしている。
【0043】図22は、その処理を説明する図である。
【0044】本実施の形態で使用するSVP106は、
最大、左右方向の2つのPEからデータ(代表点)を入
力することができるので、x方向、即ち、ライン方向に
関しては、5画素の範囲を見ることにした。また、y方
向に関しては、過去のラインデータを保存しておかなけ
ればならず、そのためのレジスタを専用に割り当ててお
く必要がある。ここでは、1つ前の1ラインのみをみる
ことにし、1ビット保存すれば良いようにした。こうし
てチェックされた画素の範囲は、図22の512に示す
もので、現ラインの1つ上のラインに関しては、左右2
つのPEと、処理しているPE自身の位置(513)を
含むライン方向の5画素、現在処理中のラインに関して
は、左側の2つのPEよりの2画素である。そして、こ
の範囲でオンとなっている点があれば、そのPE自身か
らパターンマッチしたという結果が出ていても、その点
をオンにならないようにしている。これにより、縦方向
に連続している点で、かつ、横方向に連続しているか、
或は1つ飛びでオンとなった点のうちで、1番左上の点
のみが残るようになる。
【0045】もし、縦方向にも1つ飛びの点を保証させ
るならば、過去2ラインまでレジスタに保存しておけば
よい。これはレジスタの容量が許す限り、何ラインでも
可能である。また横(ライン)方向に関しては、複数の
命令により順送りしてやれば5画素に限らず、どれだけ
の範囲でもチェックすることができる。
【0046】本実施の形態では、現在のSVP106の
性能上の限界から、プログラムをここで一旦切って、2
つに分割して全アルゴリズムを実行している。パターン
マッチングの代表点の抽出後で処理を切るのは、ここで
の出力が2値であるため、各画素が1ビットで済み、次
のプログラムへの受け渡しが楽になるからである。
【0047】高速化とアルゴリズムの最適化のため、以
後の処理は画像データをブロックに分割して行ってい
く。
【0048】本実施の形態の画像では、基本画素パター
ンは互いに重なることはなく、中心間に、所定の大きさ
の最低距離が設定されている。ここで20×20画素の
マッチングで検出される点の数が、1ブロックに1つ或
は0になるようにすれば、今後の処理がし易くなる。こ
のため、最低の中心間距離と照らし合わせて、1ブロッ
クが20×20画素で構成されるものとした。このよう
なブロックで入力画像データを分割した例が図5の点線
で示されている。この実施の形態では、5つの基本画素
パターンより構成される配置パターンが100×100
画素内に収まるものであるので、今後の処理は、全ての
ブロックについて、それぞれを左下端とする5×5ブロ
ックの範囲で考えてゆけばよい。
【0049】次に、ブロック単位での処理の仕方につい
て説明する。
【0050】本実施の形態のSVP106は、ライン単
位で処理を行うので、横方向については、20個のPE
ごとにフラグを立て、このフラグにもとづいて処理を行
う。このフラグについては、プログラムを動作させた直
後に、外部(例えばCPU101)より何らかの形で与
え、設定しておけばよい。このフラグをステップフラグ
(SF)と呼ぶ。20個のPE毎に現れるフラグの立っ
ているPEについては、以下、フラグオンPEと呼ぶこ
とにする。
【0051】また、縦方向でのブロック単位の処理は、
20ラインごとにCPU101(外部)より20ライン
目であることを示す制御信号を送り、この制御信号に基
づいて処理することにより実現できる。この20ライン
目であることを示す制御信号が送られてきた時を、プロ
グラムが20ラインモードであると呼ぶことにする。こ
のようにすると、1ブロックにつき20個のPEが20
ライン分の時間だけ割り当てられることになり、これを
ブロック毎の処理に使うことができる。これに基づいて
図6のステップS3〜ステップS5までの処理が実行さ
れる。
【0052】図3のステップS3は、図23に示すよう
な、5×5ブロック内に存在する点の全ての座標を抽出
する処理である。これを1ブロックずらして、画像全体
について行わなければならない。その処理は図24
(A)〜(C)に示すように、アルゴリズムは3つの動
作モードを必要とする。
【0053】図24(A)のフラグセットモードでは、
CPU101(外部)よりステップフラグ(SF)を与
え、これをレジスタ領域F(WR)にセットするという
処理を行う。これを図25に示す。このステップフラグ
SFは座標抽出だけでなく、その後の処理においても用
いられ、横方向の20個のPEごとの処理の基準となる
ものである。この実施の形態では、CPU101によ
り、画像データの先頭1ラインをフラグに割り当てて、
入力画像とともにSVP106に与えた。
【0054】図24(B)の毎ラインモードでは、座標
検出において毎回1ラインごとに必要となる処理、ステ
ップS41、ステップS42、及びステップS46を行
う。尚、これら各ステップの詳細については後述する。
【0055】図24(C)の20ラインモードでは、2
0ライン毎に必要となる処理を行う。これは毎ラインモ
ードでの、ステップS41、ステップS42、ステップ
S46に加え、ステップS43〜S45、及びレジスタ
領域の初期化動作(ステップS41とS42の初期化処
理)が必要となる。
【0056】次に、図26から図34を参照して、前述
のステップS41からステップS46までの各処理と、
最終的に得られる処理結果を順に詳しく説明する。
【0057】まず、図26を参照してステップS41の
処理について説明する。図26はステップS41の処理
を説明するための図である。
【0058】各PEのデータ領域1(例えばDOR内)
にy座標のカウンタyを用意し、そのカウンタyの初期
値を“0”とする。そして、ライン0からライン19ま
での20ラインを順次読み込んで行き、各ラインを読み
込む度にカウンタyをカウントしてゆく。そして、その
ラインで点が見つかったPEは点存在フラグ(f)を立
て、それ以降、ライン数をカウントしないようにする。
1ブロック内では、その点は1点しか存在しないはずで
あるから、もし2点目が見つかった場合はエラーフラグ
を立て、そのPEのデータは無効とする。このようにす
ると、20ライン目の処理が終わった時点で、処理して
いるブロック内のy座標、即ち、y座標の0から19ま
での5ビットの符号無し整数値(y)と、各PEにおけ
る点の有無を表す1ビットフラグ(f)が出来上がるこ
とになる。これらのデータ(f,y)は、各PEのレジ
スタファイルの領域1(例えばDOR)に格納される。
【0059】次に、ステップS42の処理を図27に示
す。図27は、このステップS42の処理を説明するた
めの図である。
【0060】各PEにおいて、領域1の点データを領域
2にコピーし、これを20個のPEごとに、左端のフラ
グオンPEに寄せ集める。その際、寄せたPEの数を領
域2のx座標カウンタ(x)に格納する。この寄せ集め
の過程でフラグオンPEから20個のPE内に複数の点
データが見つかった場合はエラーフラグを立て、データ
を無効とする。以上により、20個のPE毎のフラグオ
ンPEの領域2に1つずつ、20×20画素よりなる1
ブロック内に存在する点の有無を示すフラグ(f)、及
びブロック内座標(x,y)が抽出されることになる。
【0061】このステップS42の処理結果を用いて、
次にステップS43の処理を行う。図28はステップS
43の処理を説明するための図である。
【0062】まずPEの領域3を考え、ここには過去の
ブロック毎の処理データが入っているものとする。前述
のステップS42の処理が終了した時点で、領域3に入
っているデータを全て右へ1つシフトする。その後、フ
ラグオンPEについてのみ、領域2のデータを領域3に
コピーする。このようにしてゆくと、フラグオンPEか
ら右へ5個のPEの範囲に、常に最新の過去5ブロック
の点の情報が入ることになる。つまり、縦方向に、いく
つかのブロック(図28では5ブロック)の範囲の情報
を集めることができる。
【0063】次に、図29はステップS44の処理を説
明する図である。
【0064】ここではステップS44の処理として、領
域3のデータを領域4にコピーする。そして領域4のy
座標に、フラグオンPEから右側に順にそれぞれ80,
60,40,20,0を加算する。これは図28のよう
な縦方向のブロック位置に基づくオフセット値であり、
各PEは5ブロック前の先頭のラインからのy座標、即
ち、“0”から“99”までの7ビットの値をy座標と
して持つことになる。尚、領域4にデータをコピーした
後にこれを行うのは、領域3については、20ライン後
の次のブロックの処理についても5ビットのy座標が保
存されていなければならないためである。
【0065】ここで、縦5ブロックの全てのブロックに
点が存在することはあり得ないので、フラグオンPEか
らの5個のPE内には、点存在フラグ(f)がオフにな
っているものが必ずある。従って、フラグオンPEへの
左寄せを行って、4個のPE内に縦5ブロック全ての情
報が格納されるようにできる。このようにして集められ
た4個のPE分のデータを縦5ブロックデータとする。
この状態にして、次に進む。
【0066】図30はステップS45の処理を説明する
ための図である。
【0067】ステップS45では、横5ブロック分の縦
5ブロックデータを集める。これにはまず、領域4のデ
ータをまずワークエリアにコピーし、ワークエリアを1
6(=20-4)個のPEで左方向にシフトした後、フラグオ
ンPEから数えて5番目から8番目までの4個のPEが
オンとなったフラグを用いて、フラグがオンのPEの
み、ワークエリアから領域4へデータをコピーする。次
に再びワークエリアを16個のPEにおいて左側にシフ
トし、今度は9番目から12番目までオンとなったフラ
グを用いて領域4へデータコピーする。これと同様に、
13番目から16番目、17番目から20番目までのP
Eについて行うと、フラグオンPEから20個のPEの
中に、各ブロックに4個のPEずつ、右5ブロックの情
報が入ることになる。
【0068】このようにして集めたデータを、右から4
個のPEずつ順にA,B,C,D,Eとする。ここでA
は、5×5ブロックの最左端のブロック列、Bは2番目
のブロック列、Cは3番目のブロック列、Dは4番目の
ブロック列、Eは5番目のブロック列である。次に、フ
ラグを用いて、Aのx座標値には“0”、Bには“2
0”、Cには“40”、Dには“60”、Eには“8
0”をそれぞれ加算する。これによりx方向のオフセッ
ト値が加算され、横5ブロック内におけるx座標、即
ち、“0”から“99”までの7ビット値を得ることが
できる。
【0069】20ライン目の処理としては、ここまでの
処理が終了した時点で、レジスタファイル領域(RF
0,RF1)の初期化を行う。これが図31と図32に
示す処理で、それぞれ領域2と領域1の初期化を行う。
これにより次の20ラインまで、毎ラインの処理が新規
に行われるようになるわけである。図31はステップS
42の初期化処理を、図32はステップS41の初期化
処理をそれぞれ説明する図である。
【0070】図31のステップS42の初期化処理で
は、領域2を初期化し(xを“0”)、図26に示すP
E領域1からデータをコピーする。また図32の領域1
の初期化では、領域1を初期化する。
【0071】次に図33はステップS46の処理を説明
する図である。
【0072】ステップS46の処理では、領域4のデー
タの左寄せ処理を行い、フラグオンPEから右側に連続
して、点存在フラグfがオンになっているデータだけが
格納されるようにする。ステップS46の処理は毎ライ
ンの処理であるので、1ラインごとに1PE分寄せて、
最終的に20ライン目の処理が終わった時点で、左寄せ
が完了していればよい。1つの5×5ブロック内に含ま
れる点の数は多くても6個程度である。
【0073】以上により抽出された領域4のデータは、
x座標、y座標ともに“0”から“99”の7ビットの
符号無し整数値となる。このようにして座標抽出された
1つの点に対して1つのPEが割り当てられ、ステップ
フラグ(SF)の立っている位置より順に、フラグオン
PEを左下端とする5×5ブロック内のデータが格納さ
れることになる。この様子を図34に示す。図34にお
いて、340は処理対象画像の最初の5×5ブロックに
相当し、341は、その最初の5×5ブロックを1ブロ
ック右にずらした5×5ブロックに、以下同様にして、
1ブロックずつずらした5×5ブロックに相当するデー
タを示す。
【0074】これらステップS41,S42及びS46
は、20ライン目に一度に処理するのではなく、毎ライ
ンの処理に振り分けて行っている。このようにすると、
出力には20×3ライン分の遅延を生じることになる
が、1ラインに対する実行命令数の最大値を減ずること
ができるという利点がある。
【0075】こうして点の有無および座標のデータが抽
出されたら、図6ステップS4の2点間の距離の計算、
及びその分類を行う。これは図35に詳細を示すが、大
きく3つの処理を行うものと考えることができる。
【0076】まず、5×5ブロック内の全ての2点の組
み合せの計算を、並列に一度で行うため、予め2つのデ
ータの全ての組み合わせを作り、これをPEの1つずつ
に横に配置する。これが「データセット組み合わせ分
配」350である。5×5ブロック内にデータが6個存
在する場合、その内の任意の2つの組み合わせは15通
り有ることになり、20個のPE内に収まる。7個のP
E場合は21通りとなり、20個のPEには収まらない
ため、1ブロックの少なくとも横軸の数は21個のPE
として、座標抽出から考え直す必要がある。
【0077】あるフラグオンPEから20個のPEの範
囲について、有効データを6個として左より順に“1”
から“6”の番号を振ったとき、15通りの全ての組み
合せは、1−2,2−3,3−4,4−5,6−1,1
−3,2−4,3−5,4−6,5−1,6−2,1−
4,2−5,3−6,4−1,5−2,6−3となる。
【0078】この組み合わせの作成法を図37から図3
9を用いて説明する。レジスタの領域0には座標抽出処
理結果、即ち、フラグオンPEから順に最大6個のPE
までの座標データが入っているものとする。これを示し
たのが図36である。図36では、各PEのデータは、
点存在フラグ(f)1ビット、x,y座標がそれぞれ7
ビットの計15ビットで構成されている。
【0079】まず、図37の処理ではデータ領域1を作
成する。ステップS51で、データ領域0からデータ領
域1へ、図36に示すデータをコピーし、ステップS5
2で、データ領域1の内容を右へ6個のPE分シフトす
る。次にフラグオンPEから6番目のPEまでがオンと
なり、残りがオフとなるコピーフラグaを作成する。ス
テップS53では、このコピーフラグaを用いて、デー
タ領域0よりデータ領域1へ、1番目から6番目までの
データをコピーする。その後もう一度、6個のPE分右
方向にシフト(S54)とフラグコピー(S55)をす
ると、最終的にデータ領域1にはフラグオンPEから
1,2,…,6のPEデータを右に3回繰り返したデー
タが入ることになる。
【0080】次に図38はデータ領域2を作成する処理
を説明する図である。
【0081】ステップS56で、データ領域1を左へ1
つずらしたデータを、データ領域2にコピーする。そし
て先に作成したコピーフラグaの否定をとってフラグb
とし、このフラグbを用いてデータ領域2のデータを左
方向に1PE分シフトする。更にステップS58で、フ
ラグオンPEから数えて13番目のフラグより後がオン
となっているフラグcを作成し、データ領域2のデータ
を左方向に1PE分シフトする。
【0082】以上により、図39の701に示すよう
に、結果としてデータ領域1とデータ領域2の内容をみ
ると、フラグオンPEから右に15個のPEの中に、全
ての組み合わせを配置することが出来る。もし有効デー
タの数が7個である場合は、702のように21個のP
Eを用いなければならない。
【0083】次に全ての組み合わせについての、「2乗
距離計算」を行うステップS59の処理の詳細を図40
を参照して説明する。この距離は、最終的に9種類とそ
の他の10通りに分類できればよいので、平方根をとる
必要はない。フラグオンPEから右に15個のPE内に
1つずつ、全ての組み合わせの計算結果がY1に15ビ
ットで格納されることになる。図40において、R1,
R0はデータ領域1、領域2を示し、Y1,Y2は各y
座標を、X1,X2は各x座標を示し、7はこれら座標
値が7ビットで表されていることを示している。
【0084】図35の351で示される処理は「距離デ
ータ分類」である。ステップS59で計算された2乗距
離を、図41に示すように、9種の上限値(A2-I2)及び
下限値(A1-I1)の基準値を用いて、「A」(リファレン
ス1)〜「I」(リファレンス9)で示す9種類と、そ
の他を示す「X」(リファレンス0)の10通りに分類
する。これには図35のように、まず予め分類結果格納
領域TP1に分類[X](リファレンス0)をセットし
ておき、順に[A]から[I]まで判定してゆけばよ
い。各分類の判定には、上限値と下限値の基準値を用い
る必要がある。この距離分類のリファレンスの例を図4
1に示す。
【0085】この判定結果は10種類となるので、4ビ
ットで表すことが出来る。即ち、図42に示すように、
分類処理を行うと、15ビットの距離データ「Y1」が
4ビットの分類データTP1に圧縮できることになる。
【0086】この判定方法は、ステップS61の[A]
の判定を例にとると、図43のようになる。
【0087】ここでは、基準値よりAの下限値をA1(8
40)、上限値をA2(990)とする。まず、2乗距離R(Y1)
をA1と比較し、R>A1ならばWF0に“1”を、そ
うでなければ“0”をセットする。次に2乗距離R(Y1)
と上限値A2とを比較し、A2>RならばWF1に
“1”を、そうでなければ“0”をセットする。そし
て、WF0とWF1の論理積をとり、その結果をWF0
に代入する。つまり、A1<2乗距離R<A2ならば、
WF0は“1”に、そうでなければ“0”となり、この
条件を満足する場合に、フラグとして分類をA(リファ
レンス1)としてセットする。
【0088】ステップS61〜S63における[B]か
ら[I]までの判定についても同様に行えばよい。どれ
にも分類されなかったものは、[X]として分類され
る。この結果の分類データは、15個の各PEが1つず
つ持っていることになる。この4ビットのデータを分類
距離データと呼ぶことにする。
【0089】最後の処理として、図6のステップS5の
分類距離データのセットを配置パターンリファレンスと
マッチングする。この処理の詳細な流れを図44に示
す。この処理は大きく2つの部分に分かれる。
【0090】まず分類距離データをカウントし、フラグ
オンPEから右方向へAからI、Xの順に、その分類デ
ータの数を並べる。これが「分類データのカウントとソ
ート」440である。以下に詳細を述べる。
【0091】まず初めに、図44のステップS71で、
カウントとソートのためのリファレンスを作成する。フ
ラグオンPEを先頭として右方向に、それぞれの距離の
分類を表すリファレンスデータを、PEに1つずつ10
個目まで割り当てる。これにはステップフラグSFを利
用し、フラグを1つずつ右へシフトさせながら、A,
B,C,…の4ビットの値を順にセットしてゆけばよ
い。こうして出来上がったリファレンスは、図45のよ
うにPEに配置される。
【0092】そして、この10個のPEについて、15
個の分類距離データ全てが一度ずつ通るようにシフトと
コピーを行ってゆく。つまり、各PEのリファレンス値
(REF)において15回の比較が行われなければなら
ない。これを行うのがステップS72〜ステップS81
までの処理である。
【0093】ステップS72では、距離分類TP1のデ
ータを右へ2個のPE分シフトした領域TP2を作成す
る。これを図46に示す。
【0094】ステップS73で、現在同じPEにあるT
P1とREFとを比較し、一致したらカウンタCNTに
“1”を足す。この様子を図47に示す。尚、カウンタ
は予め“0”に初期化されている。次にステップS74
で、領域TP1を1個のPE分だけ左へシフトし、ステ
ップS75で領域TP2を右へ2シフトする。それぞれ
の領域は図48の(a),(b)に示す状態となる。
【0095】これらステップS73からステップS75
までの処理を4回繰り返すと、TP1とTP2は図48
(c)に示す状態となる。ここまでで各PEのREFは
4通りのPT1のデータと比較を行ったことになる。
【0096】更に、ステップS76で、TP1とREF
との比較を行い、ステップS77でTP1を左へ1シフ
トする。するとTP1は図49(a)のようになり、各
REFは5回の比較が終了したことになる。この状態で
はフラグオンPEからの20個のPEのうち、後ろから
10個分のPEに空き領域が出来たことになる。ここ
に、ステップS75の処理でシフトさせておいたTP2
のデータを、フラグを用いてコピーする。これがステッ
プS78の処理である。その結果、TP1は図49
(b)のようになる。ここでステップS79に示すよう
に、さらに1回比較とカウントを行う。これで6回の比
較が終わったことになる。
【0097】あとはステップS80,S81の処理を9
回繰り返せばよい。1回目のステップS80では、TP
1は図50(a)のようになるから、同様に9回繰り返
した後は、図50(b)のようになる。これで各々のリ
ファレンスについて、15回のTP1のデータとの比
較、カウントが終わったことになる。有効となるデータ
CNTは、フラグオンPEから右へ10個分のPEで、
各々の分類リファレンスに対する距離の本数が入ったデ
ータができあがる。このデータを分類距離カウントと呼
ぶことにする。
【0098】5×5ブロック内に存在する代表点の数
は、本実施の形態では6個程度であり、各々の距離分類
の最大値を7個までと定めたので、分類距離カウントは
3ビットの符号なし整数でよい。
【0099】図44の次の処理として、配置パターンが
存在するかどうかのマッチングを取る。これが「距離分
類セットパターンマッチング」441である。配置パタ
ーンのリファレンスはそれぞれの分類距離カウントの値
を表したものということになる。一例を図51に示す。
図51に示す「距離セットパターンリファレンス」SP
1〜SP5のそれぞれは、各分類リファレンス(A〜
I)のそれぞれを含む最小数で定義されており、その各
パターンリファレンスに相当する分類リファレンスのそ
れぞれが少なくとも規定されている数以上含まれていれ
ば、そのパターンリファレンスに該当していると判断す
る。
【0100】以下、第1の配置パターンリファレンス
(SP1)について、マッチングの方法を説明する。
【0101】まず図44のステップS82で、フラグオ
ンPEより9個のPEに対して、それぞれ[A]から
[I]の分類における数(図51のSP1に対応する
0,2,2,1,1,0,3,0,1)をSREF(各
3ビット)にセットする。この処理を図52に示す。こ
れは、分類距離のリファレンス(A〜I)と同様にステ
ップフラグSFを右へシフトしながら行ってゆけばよ
い。
【0102】次にステップS83において、それぞれの
PEにおいて、セットされたリファレンスSREFの値
と、分類距離カウントCNTの値とを比較して、CNT
の値がSREFの値以上であれば、配置パターンマッチ
フラグMFに“1”をセットし、逆にリファレンスSR
EFの値の方が大きければ“0”をセットする。この様
子を図53に示す。ここで有効となるのは、どれかに分
類された距離の本数がCNTに入っている、フラグオン
PEからの9PE分である。
【0103】フラグオンPEから9個のPEの全てのM
Fが“1”であれば、フラグオンPEを左下端とする5
×5ブロック、即ち、100×100画素内に、第1の
配置パターンが存在することになる。これをチェックす
るのがステップS84で、パターンマッチフラグMFを
シフトしながら9個のPEの論理積をとればよい。その
結果は図54に示すように、フラグオンPEのM1に格
納される。ここでM1が“1”であれば、リファレンス
SP1のパターンが発見されたことになる。
【0104】本実施の形態における配置パターンのリフ
ァレンスは5パターン(SP1〜SP5)としたので、
このリファレンスのセットと分類距離カウントCNTと
の比較処理を、それぞれのパターンについて計5回行え
ば、全ての配置パターンの検出ができる。このようにし
て、分類距離データセットをもとに、配置パターンリフ
ァレンス(SP1〜SP5)とのマッチングを調べるこ
とができる。
【0105】図6のステップS4とS5における、点間
距離計算・分類と分類距離セットマッチングの処理は、
20ライン目のみに行われるものである。つまり、図2
4の5×5ブロック内座標抽出処理における、20ライ
ンモード動作において組み込まれるべき処理である。
【0106】尚、本実施の形態において、各モードの設
定は、CPU101(外部)からSVP106に制御信
号を送ることにより行った。従って、SVP106のプ
ログラムメモリに記憶されているプログラムの先頭に
は、この外部よりの制御信号を判定する部分が存在す
る。
【0107】以上の手法により並列処理型プロセッサを
用いて、入力した画像データの特定パターンの認識が可
能になる。
【0108】また、本発明は、ホストコンピュータ、イ
ンタフェース、プリンタ等の複数の機器から構成される
システムに適用しても、複写機等の1つの機器からなる
装置に適用しても良い。また、本発明はシステム或は装
置にプログラムを供給することによって実施される場合
にも適用できることは言うまでもない。この場合、本発
明に係るプログラムを格納した記憶媒体が本発明を構成
することになる。そして、該記憶媒体からそのプログラ
ムをシステム或は装置に読み出すことによって、そのシ
ステム或は装置が、予め定められた仕方で動作する。
【0109】以上説明したように本実施の形態によれ
ば、認識手段として並列処理型プロセッサを用い、これ
による新たなパターン認識手法を提案するものであり、
ソフトウェア並のフレキシビリティ、ハードウェアによ
りパターン認識を行う場合に匹敵する高速処理を合わせ
持ったパターン認識を行うことができ、その効果は大き
い。
【0110】
【発明の効果】以上説明したように本発明によれば、パ
ターン認識手段として並列処理型プロセッサを用い、こ
れによりパターン認識を行うことができる。
【0111】また本発明によれば、ソフトウェアによる
処理と同等の柔軟性を持たせ、かつ専用のハードウェア
により処理するのと同等の高速処理機能を合わせ持つこ
とができるという効果がある。また本発明によれば、画
像をフラグ及び演算モードの切替えを利用してブロック
分割して並列処理するので、高速に画像処理ができると
いう効果がある。
【0112】
【図面の簡単な説明】
【図1】本発明の実施の形態の画像処理装置の構成を示
すブロック図である。
【図2】本発明の実施の形態で使用するSVPの内部構
造を示すブロック図である。
【図3】本実施の形態のSVPにおけるPEの構成を示
すブロック図である。
【図4】本発明の実施の形態における基本画素パターン
の一例を示す図である。
【図5】本発明の実施の形態における入力画像データの
ブロック分割の一例を示す図である。
【図6】本実施の形態の画像処理装置における処理概要
を示すフローチャートである。
【図7】図6のステップS1のエッジ強調、2値化処理
を説明するためのフローチャートである。
【図8】図7のステップS11のデータ保存エリアのロ
ーテーション処理を説明するための図である。
【図9】図7のステップS12のライン入力処理を説明
するための図である。
【図10】図7のステップS13のラプラシアンフィル
タ処理を説明するための図である。
【図11】図7のステップS14のエッジ強調処理を説
明するための図である。
【図12】図7のステップS15の2値化処理を説明す
るための図である。
【図13】図6のステップS2の20×20パターンマ
ッチング処理を説明する図である。
【図14】本実施の形態における20×20画素パター
ンのリファレンス例を示す図である。
【図15】図6のステップS2の20×20パターンマ
ッチング処理を示すフローチャートである。
【図16】図15のステップS21のローテーション処
理を説明するための図である。
【図17】図15のステップS22の2値化データセッ
ト処理を説明するための図である。
【図18】図15のステップS23のリファレンスRP0
とのマッチング処理を説明するための図である。
【図19】図15のステップS24のリファレンスRP1
とのマッチング処理を説明するための図である。
【図20】図15のステップS25,S27,S29の
マッチング結果の加算処理を説明するための図である。
【図21】図15のステップS30のマッチング結果の
判定処理を説明するための図である。
【図22】図15のステップS31の代表点選出処理を
説明するための図である。
【図23】図6のステップS3の5×5ブロック内座標
抽出処理を説明する図である。
【図24】図6のステップS3の座標抽出処理を各モー
ド毎に示すフローチャートである。
【図25】図24のフラグセット処理を説明するための
図である。
【図26】図24のステップS41の処理を説明するた
めの図である。
【図27】図24のステップS42の処理を説明するた
めの図である。
【図28】図24のステップS43の処理を説明するた
めの図である。
【図29】図24のステップS44の処理を説明するた
めの図である。
【図30】図24のステップS45の処理を説明するた
めの図である。
【図31】図24のステップS42の初期化処理を説明
するための図である。
【図32】図24のステップS41の初期化処理を説明
するための図である。
【図33】図24のステップS46の処理を説明するた
めの図である。
【図34】図6のステップS3の5×5ブロック内座標
抽出処理の結果を説明するための図である。
【図35】図6のステップS4の点間距離・分類の処理
の詳細なフローチャートである。
【図36】座標抽出後の20個のPE内のデータ構造を
説明するための図である。
【図37】図35のステップS51〜S55におけるデ
ータ領域1の作成処理を説明するための図である。
【図38】図35のステップS56〜S58におけるデ
ータ領域2の作成処理を説明するための図である。
【図39】図35のステップS51〜S55で作成され
るデータセットの組合わせを説明するための図である。
【図40】図35のステップS59の2乗距離計算処理
を説明するための図である。
【図41】2乗距離計算における距離分類リファレンス
を説明するための図である。
【図42】図35の距離データの分類処理を説明するた
めの図である。
【図43】図35のステップS61の[A]の判定処理
を説明するための図である。
【図44】図3のステップS5の分類距離セットマッチ
ング処理の詳細を示すフローチャートである。
【図45】図44のステップS71におけるREF作成処
理を説明するための図である。
【図46】図44のステップS72におけるTP2の作成
処理を説明するための図である。
【図47】図44のステップS73,S76,S79,
S81におけるTP1とREFを比較、カウントする処理を説
明する図である。
【図48】図44のステップS74,S75のTP1を左
シフト、TP2を右シフトする処理を説明するための図で
ある。
【図49】図44のステップS77,S78におけるTP
1を左シフト、データコピー処理を説明する図である。
【図50】図44のステップS80のTP1の9回シフト
を説明するための図である。
【図51】図44の処理440終了後の基本距離セット
パターンリファレンスの一例を示す図である。
【図52】図44のステップS82におけるSREFへのセ
ット処理を説明する図である。
【図53】図44のステップS83の処理を説明する図
である。
【図54】図44のステップS84の処理を説明する図
である。
【符号の説明】
47 ラプラシアンフィルタ 101 CPU 102 画像入力部 105 表示部 106 SVP 201 SVPcore 350 データセット組合わせ分配 351 距離データ分類 401 基本画素パターン 440 分類データのカウントとソート 441 分類距離セットパターンマッチング
───────────────────────────────────────────────────── フロントページの続き (72)発明者 山田 康博 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 画像データが特定パターンを含むかどう
    かを認識するための画像処理装置であって、 画像データに含まれる複数の画素を含む画像データを行
    方向に所定の長さを持つ画素行又は列に分割し、前記画
    素行又は列のそれぞれを並列処理により演算する演算手
    段に入力する入力手段を有し、 前記演算手段は、 前記画素行又は列のそれぞれと前記特定パターンの行又
    は列データとを比較して一致しているか否かを検出し、
    並行して比較されている隣接する行又は列の検出結果を
    参照して前記特定パターンとのマッチング度を判別する
    判別手段と、 前記判別手段により判別された特定パターンに一致して
    いるエリアの、前記画像データの所定エリアにおける座
    標位置を算出する座標算出手段と、 前記座標位置に基づいて前記一致しているエリア間の距
    離を算出する距離算出手段と、 前記距離算出手段により算出された距離に基づいて前記
    所定エリア内における前記特定パターンの配列パターン
    を求めてパターン認識する認識手段とを具備し、 前記判別手段、座標算出手段、距離算出手段及び認識手
    段による処理を前記画像データの複数の所定エリアに対
    して並行して実施することを特徴とする画像処理装置。
  2. 【請求項2】 請求項1に記載の画像処理装置であっ
    て、前記演算手段は、並列処理はプログラムにより制御
    される並列処理型プロセッサにより演算することを特徴
    とする。
  3. 【請求項3】 請求項2に記載の画像処理装置であっ
    て、前記並列処理型プロセッサは1ビット毎にデータを
    処理する所定の数の論理演算ユニットを有し、全論理演
    算ユニットが略同時に同一のデータ処理を行うことを特
    徴とする。
  4. 【請求項4】 請求項2に記載の画像処理装置であっ
    て、前記並列処理型プロセッサは所定の大きさを持つデ
    ータレジスタを具備し、前記データレジスタを複数の領
    域に任意に分割し、所望の画像データ又は画像データの
    処理結果等を保持することを特徴とする。
  5. 【請求項5】 請求項1乃至4のいずれか1項に記載の
    画像処理装置であって、前記特定パターンは前記並列処
    理型プロセッサに予め記憶されたパターンであることを
    特徴とする。
  6. 【請求項6】 請求項1乃至5のいずれか1項に記載の
    画像処理装置であって、前記入力手段は、入力した画像
    データに対してエッジ強調及び2値化処理を行うことを
    特徴とする。
  7. 【請求項7】 請求項1乃至5のいずれか1項に記載の
    画像処理装置であって、前記判別手段は前記特定パター
    ンの各行又は列と前記画像データの各行又は列とを比較
    し、一致している画素数を加算する加算手段と、前記加
    算手段により加算された数が所定値以上か否かによりマ
    ッチング度を判別することを特徴とする。
  8. 【請求項8】 画像データが特定パターンを含むかどう
    かを認識するための画像処理方法であって、 画像データに含まれる複数の画素を含む画像データを行
    方向に所定の長さを持つ画素行又は列に分割し、前記画
    素行又は列のそれぞれを並列処理により演算する演算ユ
    ニットに入力する工程と、 入力された画素行又は列のそれぞれと前記特定パターン
    の行又は列データとを比較して一致しているか否かを検
    出する工程と、 並行して比較されている隣接する行又は列の検出結果を
    参照して前記特定パターンとのマッチング度を判別する
    判別工程と、 前記判別された特定パターンに一致している画像データ
    のエリアの、前記画像データの所定エリアにおける座標
    位置を算出する工程と、 前記座標位置に基づいて前記一致しているエリア間の距
    離を算出する工程と、 前記距離算出手段により算出された距離に基づいて前記
    所定エリア内における前記特定パターンの配列パターン
    を求めてパターン認識する工程とを有し、 前記工程のそれぞれは前記画像データの複数の所定エリ
    アに対して並行して実施されることを特徴とする画像処
    理方法。
  9. 【請求項9】 請求項8に記載の画像処理方法であっ
    て、前記演算ユニットは、並列処理はプログラムにより
    制御される並列処理型プロセッサにより演算することを
    特徴とする。
  10. 【請求項10】 請求項9に記載の画像処理方法であっ
    て、前記並列処理型プロセッサは1ビット毎にデータを
    処理する所定の数の論理演算ユニットを有し、全ての論
    理演算ユニットが略同時に同一のデータ処理を行うこと
    を特徴とする。
  11. 【請求項11】 請求項9に記載の画像処理方法であっ
    て、前記並列処理型プロセッサは所定の大きさを持つデ
    ータレジスタを具備し、前記データレジスタを複数の領
    域に任意に分割し、所望の画像データ又は画像データの
    処理結果等を保持することを特徴とする。
  12. 【請求項12】 請求項8乃至11のいずれか1項に記
    載の画像処理方法であって、前記特定パターンは前記並
    列処理型プロセッサに予め記憶されたパターンであるこ
    とを特徴とする。
  13. 【請求項13】 請求項8乃至11のいずれか1項に記
    載の画像処理方法であって、前記特定パターンは外部よ
    り指定されるパターンであることを特徴とする。
  14. 【請求項14】 請求項8に記載の画像処理方法であっ
    て、前記入力する工程は、入力した画像データに対して
    エッジ強調及び2値化処理を行うことを特徴とする。
  15. 【請求項15】 請求項8乃至14のいずれか1項に記
    載の画像処理方法であって、前記判別工程では、前記特
    定パターンの各行又は列と前記画像データの各行又は列
    とを比較し、一致している画素数を加算し、その加算さ
    れた数が所定値以上か否かによりマッチング度を判別す
    ることを特徴とする。
  16. 【請求項16】 画像データの特定の処理を施すための
    画像処理装置であって、 複数の画素の画像データを行又は列方向に所定の長さを
    もつ画素行又は列に分割し、前記画素行又は列のそれぞ
    れの画素の画像データを並列処理により演算を行う演算
    手段に入力する入力手段を有し、 前記演算手段は入力した画素行又は列の所定の画素数毎
    の各画素にフラグを付けるフラグ添付手段と、 前記演算手段に順に入力される前記画素行又は列の所定
    数の行又は列毎の行又は列の処理時に演算モードを切替
    える演算モード切替え手段と、 前記画像データの行又は列方向に対しては、前記モード
    添付手段により添付されたフラグを用い、前記行又は列
    の垂直方向に対しては、前記モード切替え手段による切
    替えを用いて、前記画像データを各方向別の所定の画素
    数毎にブロック分割するブロック分割手段とを有し、 前記演算手段は行又は列方向に並ぶ所定数のブロックの
    画像データを並列に演算し、かつ、演算を行又は列に垂
    直な方向のブロックに対し順次行うことを特徴とする画
    像処理装置。
  17. 【請求項17】 画像データの特定の処理を施すための
    画像処理方法であって、 複数の画素の画像データを行又は列方向に所定の長さを
    もつ画素行又は列に分割し、前記画素行又は列のそれぞ
    れの画素の画像データを並列処理により演算を行う演算
    ユニットに入力する入力工程と、 入力した画素行又は列の所定の画素数毎の各画素にフラ
    グを付けるフラグ添付工程と、 前記画素行又は列の所定数の行又は列毎の行又は列の処
    理時に演算モードを切替える演算モード切替え工程と、 前記画像データの行又は列方向に対しては、前記モード
    添付工程により添付されたフラグを用い、前記行又は列
    の垂直方向に対しては、前記モード切替え工程による切
    替えを用いて、前記画像データを各方向別の所定の画素
    数毎にブロック分割するブロック分割工程とを有し、 行又は列方向に並ぶ所定数のブロックの画像データを並
    列に演算し、かつ、演算を行又は列に垂直な方向のブロ
    ックに対し順次行うことを特徴とする画像処理方法。
JP3362296A 1996-02-21 1996-02-21 画像処理方法及びその装置 Withdrawn JPH09231356A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3362296A JPH09231356A (ja) 1996-02-21 1996-02-21 画像処理方法及びその装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3362296A JPH09231356A (ja) 1996-02-21 1996-02-21 画像処理方法及びその装置

Publications (1)

Publication Number Publication Date
JPH09231356A true JPH09231356A (ja) 1997-09-05

Family

ID=12391559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3362296A Withdrawn JPH09231356A (ja) 1996-02-21 1996-02-21 画像処理方法及びその装置

Country Status (1)

Country Link
JP (1) JPH09231356A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104677919A (zh) * 2013-11-28 2015-06-03 斯克林集团公司 数据运算方法、数据运算装置及缺陷检查装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104677919A (zh) * 2013-11-28 2015-06-03 斯克林集团公司 数据运算方法、数据运算装置及缺陷检查装置

Similar Documents

Publication Publication Date Title
US4408342A (en) Method for recognizing a machine encoded character
US4908872A (en) Method and apparatus for extracting pattern contours in image processing
US9239946B2 (en) Method and apparatus for detecting and processing specific pattern from image
EP0054439B1 (en) Character segmentation method
US5832530A (en) Method and apparatus for identifying words described in a portable electronic document
US6853389B1 (en) Information searching apparatus, information searching method, and storage medium
US4513442A (en) Method for locating and circumscribing text areas on a master which may contain text, graphics and/or image areas
JPH0661107B2 (ja) イメージ認識システムとその動作法
IE56452B1 (en) Image processors
EP0612021B1 (en) Method for assigning levels to nodes of a net diagram
EP1017011A2 (en) Block selection of table features
US6320983B1 (en) Method and apparatus for character recognition, and computer-readable recording medium with a program making a computer execute the method recorded therein
JPH0315793B2 (ja)
CN112329548A (zh) 一种文档章节分割方法、装置及存储介质
EP0248262B1 (en) Apparatus and method for detecting character components on a printed document
US5014331A (en) Method of detecting an internal point within a closed area
JPH09231356A (ja) 画像処理方法及びその装置
JP2625612B2 (ja) 画像処理方法および画像処理装置
US6483943B1 (en) Feature value extraction methods and apparatus for image recognition and storage medium for storing image analysis program
Fischler et al. An approach to general pattern recognition
JP3661774B2 (ja) 文字列認識方法、文字認識装置およびプログラム
JPH0830725A (ja) 画像処理装置及び方法
JPH07118013B2 (ja) 画像データのラベリング方式
JP3948943B2 (ja) 図形認識方法及び装置
JP2890307B2 (ja) 表領域分離装置

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506