JPH03246781A - Feature vectoring circuit - Google Patents

Feature vectoring circuit

Info

Publication number
JPH03246781A
JPH03246781A JP2042641A JP4264190A JPH03246781A JP H03246781 A JPH03246781 A JP H03246781A JP 2042641 A JP2042641 A JP 2042641A JP 4264190 A JP4264190 A JP 4264190A JP H03246781 A JPH03246781 A JP H03246781A
Authority
JP
Japan
Prior art keywords
data
line element
address
storage means
dots
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.)
Pending
Application number
JP2042641A
Other languages
Japanese (ja)
Inventor
Hirotomo Aso
阿曽 弘具
Masayuki Kimura
木村 正行
Kenji Suzuki
健司 鈴木
Hisayoshi Hayasaka
早坂 久義
Yoshiyuki Sakurai
桜井 義之
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2042641A priority Critical patent/JPH03246781A/en
Priority to CA002036974A priority patent/CA2036974C/en
Priority to US07/660,756 priority patent/US5214717A/en
Priority to EP19910102798 priority patent/EP0444593A3/en
Publication of JPH03246781A publication Critical patent/JPH03246781A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To increase the processing speed by performing the arithmetic processing for generation of a feature vector by a specific circuit constitution. CONSTITUTION:At least line element information with one dot as the unit of a character pattern is applied to and stored in a first storage means 1, and a second address generating means 4 generates the address to read out line element information stored in the first data storage means 1 and the address to read out weight data corresponding to this line element information from a second storage means 2. Outputted weight data is applied to accumulating means 5-1 to 5-n, and they are provided correspondingly to line element directions, and a decoding means 6 decodes line element information and enables accumulating means 5-1 to 5-n by the output result to accumulate weight information of directions. Thus, a feature vector is quickly obtained when line element data is obtained correspondingly to dots.

Description

【発明の詳細な説明】 〔概   要〕 特徴ベクトルによってパターンを認識する認識装置にお
ける特徴ベクトル化回路に関し、例えばドツト対応で線
素データを求めている場合でも高速に特徴ベクトルを求
める特徴ベクトル化回路を提供することを目的とし、 文字パターンの少なくともドツト単位の線素情報が加わ
り、該線素情報を記憶する第1のデータ記憶手段と、該
第1のデータ記憶手段における前記線素情報の記憶位置
を指示するアドレスを発生する第1のアドレス発生手段
と、前記線素情報の重みデータを記憶する第2のデータ
記憶手段と、前記第1のデータ記憶手段で記憶する線素
情報を読み出すアドレスと、該アドレスで読み出される
線素情報に対応する前記重みデータを第2のデータ記憶
手段より読み出すアドレスとを発生する第2のアドレス
発生手段と、前記第2のデータ記憶手段より出力される
重みデータが加わり線素の方向に対応して設けられた数
の累算手段と、前記第1のデータ記憶手段で記憶する線
素情報をデコードするとともに、該デコード結果で前記
累算手段をイネーブルにして方向に対する重み情報を累
算させるデコード手段とよりなるように構成する。
[Detailed Description of the Invention] [Summary] Regarding a feature vectorization circuit in a recognition device that recognizes patterns using feature vectors, the present invention relates to a feature vectorization circuit that quickly obtains feature vectors even when obtaining line element data corresponding to dots, for example. A first data storage means for adding line element information in at least a dot unit of a character pattern and storing the line element information; and a first data storage means for storing the line element information in the first data storage means. a first address generation means for generating an address indicating a position; a second data storage means for storing weight data of the line element information; and an address for reading out the line element information stored in the first data storage means. and an address for reading out the weight data corresponding to the line element information read at the address from the second data storage means, and a weight output from the second data storage means. Data is added to decode the line element information stored in the number accumulating means provided corresponding to the direction of the line element and the first data storage means, and enable the accumulating means with the decoding result. and decoding means for accumulating weight information for each direction.

〔産業上の利用分野〕[Industrial application field]

本発明は文字パターン等の認識装置にかかり、さらに詳
しくは特徴ベクトルによってパターンを認識する認識装
置における特徴ベクトル化回路に関する。
The present invention relates to a recognition device for character patterns, and more particularly to a feature vectorization circuit in a recognition device that recognizes patterns using feature vectors.

〔従来の技術〕 コンピュータシステムの発展により、画像データを取り
込むとともに、取り込んだ画像データから文字を切り出
し、読み取った書類の文書のそれぞれの文字を認識する
読み取り装置が実用化している。この読み取り装置はた
とえばイメージスキャナ等によって読み取ったドツトデ
ータをあらかじめ定められた領域単位で分割し、その分
割内での文字(枡内文字)とあらかじめ定められた文字
データとを比較し、1番偵かよった文字を結果として出
力している。このあらかじめ定められた文字データは一
般的には辞書メモリに格納されており、辞書メモリはた
とえば各規定の文字を特徴化したデータとして記憶して
いる。そして認識すべき文字が入力した時、同様にその
入力した文字を特徴化し、前述の辞書メモリに格納され
ているあらかしめ定められた特徴データとの距離を求め
ている。この求めた距離から最も小さい文字を認識結果
として出力している。
[Background Art] With the development of computer systems, reading devices have been put into practical use that capture image data, cut out characters from the captured image data, and recognize each character of the read document. This reading device divides the dot data read by an image scanner or the like into predetermined area units, and compares the characters within the divisions (the characters in the squares) with the predetermined character data to find the first image. The distorted characters are output as a result. This predetermined character data is generally stored in a dictionary memory, and the dictionary memory stores, for example, data characterizing each prescribed character. When a character to be recognized is input, the input character is characterized in the same way, and the distance from the previously determined characteristic data stored in the dictionary memory is determined. The smallest character from this determined distance is output as the recognition result.

前述の従来のコンピュータシステムにおける文字等の認
識においては前述の辞書メモリに記憶する特徴化したデ
ータさらには入力した文字(画像データ)の特徴化には
特徴ベクトルが用いられている。この特徴ベクトルは例
えば文字を構成する線素の方向をドツト単位等で求め、
さらにそれを1個の文字領域単位に分割しそれぞれの分
割した領域内におけるそれぞれのベクトル方向を集計し
たものである。この特徴ベクトルにより、入力した文字
の認識率を高めている。
In the recognition of characters, etc. in the conventional computer system described above, feature vectors are used to characterize the characterized data stored in the dictionary memory and also to characterize the input characters (image data). This feature vector, for example, determines the direction of line elements that make up a character in units of dots,
Furthermore, it is divided into character area units and the vector directions within each divided area are totaled. This feature vector increases the recognition rate of input characters.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

前述の特徴ベクトルにより認識率を高めているが、求め
た線素データから特定領域単位でその方向を集計するた
めに、領域単位で個々の線素データを読み出し同一方向
単位であらかじめ設けられたレジスタの値をインクリメ
ントする等して方向の数を求めていた。また領域内の位
置によって重み付けをする場合には1ドツト単位で読み
出した方向に対応したレジスタに、重み付けした値を加
算する等の処理を行っていた。このような処理はすべて
線素を表す個々のデータ例えばドツト単位で線素を求め
ている場合には、ドツト単位でデータを処理していた。
The recognition rate is increased using the feature vector described above, but in order to aggregate the directions for each specific area from the obtained line element data, we read out the individual line element data for each area and set a register in advance for each same direction. The number of directions was calculated by incrementing the value of . Furthermore, when weighting is performed depending on the position within the area, processing such as adding the weighted value to a register corresponding to the direction read out in units of one dot is performed. All of these processes involve processing individual data representing line elements, for example, when line elements are determined in units of dots, the data is processed in units of dots.

このためこの特徴ベクトルを求めるのに多くの時間を有
するという問題を有していた。
Therefore, there is a problem in that it takes a lot of time to obtain this feature vector.

また、現在においては、認識率等を高めるため、文字を
読み出すときの分解能を高め、従来より多くのドツトか
ら認識を行うようになってきている。
Furthermore, in order to increase the recognition rate, the resolution when reading characters is increased and recognition is now performed from a larger number of dots than before.

このため1文字を読み出したときに構成するドツト情報
も多くなり、前述の特徴ベクトルを求めるにもさらに多
くの時間を有すという問題を有していた。
For this reason, when one character is read out, there is a large amount of dot information, which causes a problem in that it takes even more time to obtain the aforementioned feature vectors.

本発明は、例えばドツト対応で線素データを求めている
場合でも高速に特徴ベクトルを求める特徴ベクトル化回
路を提供することを目的とする。
SUMMARY OF THE INVENTION An object of the present invention is to provide a feature vectorization circuit that quickly obtains feature vectors even when line element data is obtained in correspondence with dots, for example.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明の原理ブロック回である。 FIG. 1 is a block diagram of the principle of the present invention.

第1の記憶手段1は文字パターンの少なくともドツト単
位の線素情報が加わり前記線素情報を記憶する。この線
素情報は例えばそのドツトに対し線素がどちらの方につ
ながっているかを表す情報である。
The first storage means 1 stores the line element information in addition to at least dot unit line element information of the character pattern. This line element information is, for example, information indicating in which direction the line element is connected to the dot.

第1のアドレス発生手段2は前記第1のデータ記憶手段
1における前記線素情報の記憶位置を指示するアドレス
を発生する。
The first address generation means 2 generates an address indicating the storage position of the line element information in the first data storage means 1.

第2のデータ記憶手段3は前記線素情報の重みデータを
記憶する。例えばこの重みデータは各線素のドツトの位
置による重みである。
The second data storage means 3 stores weight data of the line element information. For example, this weight data is a weight based on the position of the dot of each line element.

第2のアドレス発生手段4は前記第1のデータ記憶手段
1で記憶する線素情報を読み出すアドレスと、このアド
レスで読み出される線素情報に対応した前記重みデータ
を前記第2ので記憶手段2より読み出すアドレスとを発
生する。
A second address generating means 4 generates an address for reading line element information stored in the first data storage means 1 and the weight data corresponding to the line element information read at this address from the second storage means 2. Generates the read address.

累算手段5−1〜5−nは前記第2のデータ記憶3より
出力される重みデータが加わり、線素に方向に対応して
設けられている。
The accumulating means 5-1 to 5-n add the weight data output from the second data storage 3, and are provided corresponding to the direction of the line element.

デコード手段6は前記第1の記憶手段1で記憶する線素
情報をデコードするとともに、その出力結果で前記累算
手段5−1〜5−nをイネーブルにして、方向に対して
重み情報を累算する。
The decoding means 6 decodes the line element information stored in the first storage means 1, and uses the output result to enable the accumulation means 5-1 to 5-n to accumulate weight information for the direction. Calculate.

〔作   用〕[For production]

例えば1文字の領域内の線素化情報はドツト単位や複数
ドツトで第1の発生手段2で指示されるアドレス位置に
第1の記憶手段1内に記憶される。
For example, the line segmentation information within the area of one character is stored in the first storage means 1 at an address position designated by the first generation means 2 in units of dots or in a plurality of dots.

その記憶したデータから第2のアドレス発生手段4は特
定領域内における特徴ベクトルを求めるため、特定領域
内に存在するドツトを指示すべきアドレスを第1にデー
タ記憶手段1に加え、第1のデータ記憶手段1はそのア
ドレスに指示したデータすなわち線素データをデコード
手段6に加える。
In order to obtain a feature vector within the specific area from the stored data, the second address generating means 4 first adds an address that indicates a dot existing within the specific area to the data storage means 1, and then generates the first data. The storage means 1 adds the data specified at the address, that is, the line element data, to the decoding means 6.

第2のアドレス手段4は第1のデータ記憶手段1に加え
るアドレス位置に対応して、その領域内における重み情
報を記憶する第2の重みデータ記憶手段3に対応する位
置のアドレスを加える。第2のデータ記憶手段3より出
力される重みデータは累算手段5−1〜5−nに加わる
。累算手段5−1〜5−nは線素の方向に対応して設け
られており、デコード手段6で格納方向に対応する値を
デコードし、累算手段5−1〜5−n内の1個を指示す
る。この指示により、方向単位で重み付けが累算され累
算手段5−1〜5−n内にはそれぞれの方向に対する累
算値が得られる。
Corresponding to the address position added to the first data storage means 1, the second address means 4 adds the address of the corresponding position to the second weight data storage means 3 which stores weight information in that area. The weight data output from the second data storage means 3 is applied to the accumulating means 5-1 to 5-n. The accumulating means 5-1 to 5-n are provided corresponding to the direction of the line elements, and the decoding means 6 decodes the value corresponding to the storage direction, and the values in the accumulating means 5-1 to 5-n are Indicate one item. According to this instruction, the weighting is accumulated for each direction, and the accumulated values for each direction are obtained in the accumulating means 5-1 to 5-n.

第1のアドレス手段2で発生するアドレスは各文字内の
各領域単位で累算できるよう各ドツトを特定のアドレス
位置にそれぞれ記憶するので第2のアドレス発生手段4
より読み出す時には第2のデータ記憶手段3で記憶する
各重み付は対応で読み出すことができ処理を高速化する
ことができる。
Since each dot is stored in a specific address position so that the address generated by the first address means 2 can be accumulated for each area within each character, the second address generation means 4
When reading out the data, each weighting stored in the second data storage means 3 can be read out in correspondence, thereby speeding up the processing.

〔実  施  例〕〔Example〕

以下図面を用いて本発明の詳細な説明する。 The present invention will be described in detail below using the drawings.

第2図は本発明の実施例のシステム構成図である。FIG. 2 is a system configuration diagram of an embodiment of the present invention.

イメージスキャナ等によって読み取られた情報は画像デ
ータとして画像メモリ10に格納される。
Information read by an image scanner or the like is stored in the image memory 10 as image data.

この画像メモリ10はイメージスキャナで読み取る1頁
分の記憶容量を有しており、読み取った情報のそれぞれ
各ドツトを白あるいは黒の2値すなわち0,1のデータ
として記憶する。
This image memory 10 has a storage capacity for one page read by an image scanner, and stores each dot of read information as binary data of white or black, that is, 0 and 1 data.

画像メモリ10に格納された画像データはノイズ除去モ
ジュール11に加わり、読み取り時に発生した雑音を除
去する。例えば、このノイズ除去モジュール11によっ
て除去されるノイズは文字情報等に無関係な雑音例えば
3×3のマスクで中心を黒、その中心のドツトを囲む8
ドツトが白等の雑音であり、その中心のドツトをノイズ
除去モジュール11は白とする。このノイズ除去モジュ
ールは文字認識前処理部12内に設けているがこれに限
るわけでなく、例えば後述する正規化モジュール16内
に文字単位で格納する時に行ってもよく、またさらには
細線化、線素化の時に行ってもよい。
The image data stored in the image memory 10 is applied to a noise removal module 11 to remove noise generated during reading. For example, the noise removed by this noise removal module 11 is noise unrelated to character information, etc. For example, a 3 x 3 mask with a black center and 8 dots surrounding the center dot.
The dots are noises such as white, and the noise removal module 11 makes the dots in the center white. Although this noise removal module is provided in the character recognition pre-processing section 12, it is not limited thereto, and may be performed when storing each character in the normalization module 16, which will be described later. It may be performed at the time of line element formation.

ノイズ除去モジュール11によってノイズ除去された画
像情報は行ヒストグラムモジュール13、列ヒストグラ
ムモジュール14、さらには読み出し制御モジュール1
5に加わる。行ヒストグラムモジュール13は読み取っ
た情報、例えば前述したイメージスキャナによって読み
取った用紙の内容を各ドツト単位で列方向に投影し、各
ドツト単位の行のドツト数を求めるモジュールである。
The image information from which noise has been removed by the noise removal module 11 is sent to the row histogram module 13, the column histogram module 14, and further to the readout control module 1.
Join 5. The row histogram module 13 is a module that projects the read information, for example, the content of the paper read by the above-mentioned image scanner, in the column direction in units of dots, and calculates the number of dots in the row for each dot unit.

すなわち、1ドツトの行(横方向)に対し、その1ドツ
ト行にいくつの黒ドツトが存在するかを各1ドツト行単
位で求める処理である。また列ヒストグラム14は前述
した行ヒストグラムと同様に列方向に対し投影し、その
投影した黒ドツトの数を求める処理である。
That is, this is a process of determining how many black dots are present in each one-dot row (horizontal direction) for each one-dot row. Also, the column histogram 14 is a process of projecting in the column direction in the same way as the row histogram described above, and calculating the number of projected black dots.

画像メモリlOから行方向に順次1ド・ノド単位で読み
出し、ノイズ除去モジュール11を介して加わったデー
タ(ラスタースキャンと同様のドツトの読み出し)から
、行ヒストグラムモジュール13は順次界のドツトをカ
ウントする(1ドツト行分)。そして、順次行単位で黒
のドツト数を求める。この黒のドツト数が各行に対応す
る行ヒストグラムとなる。また列ヒストグラム14は1
ドツト行内のドツト数に対応してそれぞれカウンタを有
し1行のドツトが順次別わる度に黒ドツトに対応するカ
ウンタをインクリメントする。前述した動作を1頁分行
うことにより行ヒストグラムモジュール16ならびに列
ヒストグラムモジュール14からは、それぞれ行位置な
らびに列位置に対するドツト数を表したいわゆる行ヒス
トグラム。
The row histogram module 13 sequentially counts the dots in the field from the data that is sequentially read out from the image memory IO in the row direction in units of dots and added via the noise removal module 11 (dot readout similar to raster scanning). (1 dot line). Then, the number of black dots is sequentially calculated for each line. The number of black dots becomes the row histogram corresponding to each row. Also, the column histogram 14 is 1
Each dot has a counter corresponding to the number of dots in the dot row, and each time the dots in one row are different, the counter corresponding to the black dot is incremented. By performing the above-described operations for one page, the row histogram module 16 and the column histogram module 14 produce so-called row histograms representing the number of dots for each row position and column position.

列ヒストグラムが求められる。そしてその結果は読み出
し制御モジュール15に加わる。
A column histogram is required. The result is then applied to the read control module 15.

読み出し制御モジュール15はそれらの行ヒストグラム
、列ヒストグラムから行の位置ならびに列の位置を順次
求める。例えばこの位置は行ヒストグラムの周期や列ヒ
ストグラムの周期によって得ることができる。
The readout control module 15 sequentially obtains row positions and column positions from these row histograms and column histograms. For example, this position can be obtained by the period of the row histogram or the period of the column histogram.

読み出し制御モジュール15は行ならびに列の位置を求
めるが、この他に以下の処理を行う。画像データ例えば
イメージスキャナから読みとった情報は紙の位置等によ
り傾きを有することがある。
The read control module 15 determines the row and column positions, but also performs the following processing. Image data, for example, information read from an image scanner, may have a tilt depending on the position of the paper and the like.

このため、読み出し制御モジュール15は列ヒストグラ
ムならびに行ヒストグラムが最大値をとるよう、ヒスト
グラムを求める角度を順次変更し、補正角度を求める。
For this reason, the readout control module 15 sequentially changes the angle at which the histogram is obtained so that the column histogram and the row histogram take the maximum value, and obtains a correction angle.

そして前述したノイズ除去モジュール11から加わる画
像情報を再度入力して、最終的なヒストグラムを求め、
その補正した傾きにより得られた行ヒストグラム(ヒス
トグラムが最大値をとる)が0から正に変化する点(正
がら0でも可)より1周期分その傾きに対応した1行の
データを読み出し、読み出し制御モジュール15内に設
けられた行バッファに格納する。
Then, input the image information added from the above-mentioned noise removal module 11 again to obtain the final histogram,
From the point where the row histogram obtained by the corrected slope (the histogram takes the maximum value) changes from 0 to positive (possibly positive to 0), one line of data corresponding to the slope is read out for one period. The data is stored in a row buffer provided within the control module 15.

読み出し制御モジュール15はさらにその行バッファに
格納した1行のデータの内、行内における列ヒストグラ
ムを再度求め、列ヒストグラムが0から正に変化する位
置からそのデータを切り出し正規化モジュール16に出
力する。また変換表作成モジュール17にも出力する。
The read control module 15 further obtains the column histogram within the row of one row of data stored in the row buffer, cuts out the data from the position where the column histogram changes from 0 to positive, and outputs it to the normalization module 16. It is also output to the conversion table creation module 17.

この切り出したデータはI文字領域のデータである。This extracted data is data of the I character area.

変換表作成モジュール17は正規化モジュール16によ
って1文字を正規化するための変換データを求めるモジ
ュールであり、読み出し制御モジュール15によって切
り出した1文字領域に対し、列方向ならびに行方向に投
影し、黒ドツトが存在する列ならびに行からドツト単位
(行や列単位)で、列ならびに行方向のカウンタをイン
クリメントし、1文字の領域内の最終値′までの値を求
める。
The conversion table creation module 17 is a module that obtains conversion data for normalizing one character by the normalization module 16. It projects the conversion data in the column direction and the row direction on the one character area cut out by the readout control module 15, and The counters in the column and row directions are incremented dot by dot (row and column) from the column and row where the dot exists, and the values up to the final value '' in the area of one character are determined.

正規化モジュール16では、この1文字で切り出したド
ツトの行方向並びに列方向の最終値並びに切り出した1
文字の大きさから、その文字が切り出し領域内の全域に
わたって存在する文字に拡大する。例えば64X64ド
ツトの領域を1文字領域とする拡大処理を行う。文字の
列方向並びに行方向の値が変換表作成モジュール17に
おいて48(列並びに行とも)ドツトであったならば、
48ドツトの文字を64ドツトに変換する処理を行う。
In the normalization module 16, the final value of the dot cut out by this one character in the row direction and column direction and the cut out 1
Based on the size of the character, the character is expanded to cover the entire area within the extraction area. For example, an enlargement process is performed to make an area of 64×64 dots into one character area. If the value of the character in the column direction and row direction is 48 dots (both column and row) in the conversion table creation module 17,
Processing is performed to convert 48-dot characters to 64-dot characters.

この処理では特定位置の行や列のデータを繰り返して同
じデータとし文字を拡大する。また、縮小の場合には特
定位置の行や列を繰り返し読み出してOR加算し同一行
や同−例として縮小する。
In this process, data in a row or column at a specific position is repeated to make the same data and enlarge the characters. Furthermore, in the case of reduction, rows and columns at specific positions are repeatedly read out and ORed together to reduce them as the same row or example.

正規化モジュールI6によって1文字領域例えば64X
64ドツト内に1文字が拡大された後は、細線化モジュ
ール18がその文字を細線化する処理を行う。この細線
化モジュール18では中心ドツトの上下左右1ドッl−
(3X3)とさらにその左1ドツトと中心からの上2ド
ツト目の合計11ドツトのマスクで細線化処理を行う。
Normalization module I6 allows one character area, e.g. 64X
After one character has been enlarged within 64 dots, the thinning module 18 performs a process of thinning the character. In this thinning module 18, one dot above, below, left and right of the center dot is
Thinning processing is performed using a mask of 11 dots (3×3), one dot to the left, and two dots above from the center.

前述のマスクによってあらかじめ決められたパターンで
あるときに中心ドツトをOとする制御により1回の処理
によって文字を構成するドツトの1ドツト分の回りの細
線化が図れる。このマスクの細線化を順次繰り返すこと
により1ドツトの線による文学上することができる。
By controlling the center dot to be O when the pattern is predetermined by the mask described above, thinning of the area around one dot forming a character can be achieved in one process. By sequentially repeating thinning of this mask, it is possible to achieve a one-dot line.

細線化モジュール18によって得られた例えば64X6
4ドツトの細線化文字は線素化モジュール19に加わり
線素化される。この線素化モジュールでは目的のドツト
すなわち中心ドツトから上下方向の黒ドツトが存在する
場合、左右方向に存在する場合、右上、左下に存在する
場合、さらには左上、右下に存在する場合の合計4種類
の線素によって各ドツトを表す。なお上述の4種類の内
、複数に属する場合には例えば、上下方向、続いて左右
方向等の順に優先化を行い、各ドツト単位でその線素が
どちらの方向の存在するかを求める。
For example, 64×6 obtained by the thinning module 18
The 4-dot thinned character is added to the line segmentation module 19 and converted into line segments. This line segmentation module calculates the sum of black dots that exist in the vertical direction from the target dot, that is, the center dot, when they exist in the horizontal direction, when they exist in the upper right and lower left, and when they exist in the upper left and lower right. Each dot is represented by four types of line elements. If the line element belongs to more than one of the above four types, priority is given in the order of, for example, the vertical direction, then the horizontal direction, etc., and in which direction the line element exists is determined for each dot.

なお中心が0ドツトすなわち白であった場合には線は存
在しないとする。
Note that if the center is 0 dot, that is, white, it is assumed that no line exists.

線素化モジュール19においては、上下、左右、右上が
り斜め、左上がり斜めの4方向さらには線素が存在しな
い場合の5種類があるので、その状態を各ドツト単位で
3ビツトの値で表し、合計3X64 X64の情報とし
、特徴ベクトルモジュール20に加える。
In the line segmentation module 19, there are four directions: up and down, left and right, diagonally upward to the right, diagonally upward to the left, and five types, including the case where there is no line element, so the state is expressed as a 3-bit value for each dot. , a total of 3×64×64 information and added to the feature vector module 20.

特徴ベクトルモジュール20においては前述した線素化
モジュール19で得られた線素化情報を、左右上下にそ
れぞれ8ドツト単位で分割し、その分割した領域を下と
右方向に1領域づつ(2×2領域)の合計16ドツトの
領域を1ベクトルモジユール領域とし、その1ベクトル
モジユール領域内にいくつの上下方向、左右方向、右上
方向、左上方向の4方向の線素が存在するかをカウント
する。16X16ドツトの領域を1ベクトルモジユール
領域として特徴ベクトルを求めるが、この1ベクトルモ
ジユール領域は8ドツト単位で移動させるので行方向な
らびに列方向に対しそれぞれ7領域であり合計7×7の
特徴ベクトルの領域となる。
In the feature vector module 20, the line segmentation information obtained by the line segmentation module 19 described above is divided into 8-dot units in the left, right, top, and bottom, respectively, and the divided areas are divided into one area each in the downward and right directions (2× 2 areas) with a total of 16 dots as one vector module area, and count how many line elements exist in four directions: up and down, left and right, upper right, and upper left. do. A feature vector is calculated using a 16x16 dot area as one vector module area, but since this one vector module area is moved in units of 8 dots, there are 7 areas in each of the row and column directions, resulting in a total of 7 x 7 feature vectors. This is the area of

特徴ベクトル化モジュール20においては前述した1領
域型位でその方向の数を求めているが、この数を求める
場合にはそれぞれ重み付けをし、中心部を高く周り部を
外にいくにしたがって低くしている。例えばその重み付
けを中心の4×4の領域の各ドツトを重み4、その周り
の2ドツト分の各ドツトを3、さらにその周りの2ドツ
ト分の各ドツトを2、さらにその回りの2ドツト分の各
ドツトを1とし、重み付けを行って特徴ベクトルを求め
る。
In the feature vectorization module 20, the number of directions is calculated for each area type as described above, but when calculating this number, weighting is applied to each area, with the center being higher and the surrounding areas being lower as they go outward. ing. For example, each dot in the 4 x 4 area centered on the center is given a weight of 4, each of the two dots around it is given a weight of 3, each of the two dots around it is given a weight of 2, and then the two dots around it are given a weight of 4. Each dot is set to 1, weighting is performed, and a feature vector is determined.

この特徴ベクトルは特定の認識すべき文字を正規化モジ
ュール16によってすべて同じ大きさにしているので、
同一文字であるならばほぼ同一の特徴ベクトルを有し、
文字単位でその特徴ベクトルが異なってくる。しかしな
がら非常によく似たモジュールも存在するので、本発明
の実施例においては演算の処理の高速化さらには認識率
の向上をはかるため、特徴ベクトルの標準パターンを用
いてそれぞれの特徴ベクトル化領域すなわちマス内でク
ラス分けを行い、各マス内でLクラス(例えばL=20
)の標準パターンと、加わる未知入力との距離を求める
。すなわち標準パターンの各マス内の特徴ベクトルと特
報ベクトルモジュール20によって得られたマス内の特
徴ベクトルとの距離をマス単位で求める。その各マスは
クラス分け(クラス1〜クラスし)されており、各マス
内クラスの距離の順位を距離の小さい順に第5番目まで
のクラスを求める。
This feature vector has specific characters to be recognized all made the same size by the normalization module 16, so
If they are the same character, they have almost the same feature vector,
The feature vectors differ for each character. However, since there are very similar modules, in the embodiment of the present invention, in order to speed up the calculation process and improve the recognition rate, a standard pattern of feature vectors is used for each feature vectorization region, i.e. Classification is performed within each square, and L class (for example, L = 20) is divided within each square.
) and the unknown input. That is, the distance between the feature vector in each square of the standard pattern and the feature vector in the square obtained by the special notice vector module 20 is determined for each square. Each of the squares is divided into classes (class 1 to class 2), and the distance ranking of the classes within each square is determined in descending order of distance to the fifth class.

距離計算モジュール21はこの距離をクラス辞書23−
1 (標準パターンをクラス単位で記憶)を用いて演算
する。尚、個別でもその個々の候補文字に対して求める
場合には候補辞書23−2を用いる(この時にはスイッ
チSWは候補辞書23−2を選択する)。
The distance calculation module 21 stores this distance in the class dictionary 23-
1 (standard patterns are stored in class units). Note that when searching for individual candidate characters, the candidate dictionary 23-2 is used (at this time, the switch SW selects the candidate dictionary 23-2).

上位選出&得点割当モジュール22では前述の上位5ク
ラスを求めるとともに、各クラスに対応した得点を各マ
ス単位で決定する。すなわち上位選出&得点割当モジュ
ール22は距離計算モジュール21より得られた距離か
らクラス単位で第1〜第5番目の順位の各クラスに対し
与える得点を決定し、各文字の得点を求める。例えば第
1番目の距離(短い距離)であったときには5点、その
次に4点、3,2.1とクラスに対し得点を与える。こ
れはマス1からマス49に対応してそれぞれ設けられる
。上位選出得点モジュール22の処理結果は総合評価モ
ジュール24に加わる。
The top selection and score allocation module 22 determines the top five classes mentioned above and determines the score corresponding to each class for each square. That is, the top selection and score assignment module 22 determines the score to be given to each of the first to fifth ranking classes in class units based on the distance obtained from the distance calculation module 21, and calculates the score of each character. For example, if it is the first distance (short distance), 5 points are given, then 4 points, 3, 2.1 points, etc. are given to the class. These are provided corresponding to squares 1 to 49, respectively. The processing results of the top selection score module 22 are added to the comprehensive evaluation module 24.

総合評価モジュール24は入力対象すなわち入力文字と
その候補とが整合する度合いを計算するモジュールであ
り、連想整合モード、全数整合モード、個別整合モード
の3種類の動作がある。
The comprehensive evaluation module 24 is a module that calculates the degree of matching between an input object, that is, an input character and its candidate, and has three types of operation: an associative matching mode, an exhaustive matching mode, and an individual matching mode.

連想整合モードは、連想辞書23−3に格納されている
候補に対応したマスクとその属するクラスからその候補
の得点を計算するモードである。
The associative matching mode is a mode in which the score of a candidate is calculated from the mask corresponding to the candidate stored in the associative dictionary 23-3 and the class to which the candidate belongs.

連想辞書は第2図(b)の如く、各マスク毎に候補■D
をアドレスとして、その候補がそのマスクにおいて属す
るクラスのクラスIDを格納している。
As shown in Figure 2(b), the associative dictionary has candidates ■D for each mask.
The class ID of the class to which the candidate belongs in the mask is stored, using the address as the address.

このデータは、各候補のマスクIDに対応するD次元の
部分ベクトルの集合をその(重み付き)距離によってク
ラスタリングして得られるものであり、結果だけが連想
辞書に格納される。同時に距離計算モジュールにおける
クラス辞書23−1も対応して作成される。
This data is obtained by clustering a set of D-dimensional partial vectors corresponding to the mask ID of each candidate according to their (weighted) distances, and only the results are stored in the associative dictionary. At the same time, a class dictionary 23-1 in the distance calculation module is also created correspondingly.

尚、連想辞書23−3とクラス辞書23−1は対応して
おり、その種類は同じになる。2種類以上の辞書を1つ
のメモリに格納する場合、使用辞書指定は辞書参照開始
位置となる。(この辞書を候補IDについて分割して、
それぞれについて並列に総合評価を行うことができ、よ
り高速なものが要求される場合容易に実現できる)。
Note that the associative dictionary 23-3 and the class dictionary 23-1 correspond to each other and have the same type. When storing two or more types of dictionaries in one memory, the specification of the dictionary to be used becomes the dictionary reference start position. (Divide this dictionary into candidate IDs,
Comprehensive evaluation can be performed for each in parallel, and if higher speed is required, it can be easily achieved).

連想辞書23−3は、候補aがマスクmで属するクラス
のクラスID:Kを記した表であり、これをC(m、a
)=にと表すと、候補a(=1〜C)に対して、 で得られる(M=49)、尚、ここでP (m、k)は
得点を表している。この式により候補aに対する総合評
価値V (a)を得る。
The associative dictionary 23-3 is a table in which the class ID: K of the class to which candidate a belongs with mask m is written.
)=, for candidate a (=1 to C), the following is obtained (M=49), where P (m, k) represents the score. The overall evaluation value V (a) for candidate a is obtained using this formula.

総合評価モジュールの全数整合モード、個別整合モード
は各候補に対し、計算するモードであり。
The total matching mode and individual matching mode of the comprehensive evaluation module are modes in which calculations are made for each candidate.

全数整合モードはa=1〜C1個別整合モードはJ=1
〜ck、a=b(j)とし、距離をd (m、a)で表
し を求める。この値V (a)は候補aと入力対象との特
徴ベクトルの(重み付き)距離である。
Total matching mode is a=1 to C1 Individual matching mode is J=1
~ck, a=b(j), and find the distance expressed by d(m, a). This value V (a) is the (weighted) distance of the feature vector between candidate a and the input object.

上位候補選出モジュール25は各文字対応での上位から
決められた複数の文字例えば5文字を選出し出力する。
The top candidate selection module 25 selects and outputs a plurality of characters, for example, five characters determined from the top in each character correspondence.

この上位5文字が読みとった画像データにおける認識結
果となる。
The top five characters become the recognition result in the read image data.

前述した動作は全てパイプライン処理で成されるもので
ある。すなわち画像データを記憶する画像メモリ10内
の例えば1頁分のデータをパイプライン処理によって読
み出し、制御分モジュール15で行単位に分割するとと
もに、正規化モジュール16に1文字単位で出力する。
All of the operations described above are performed by pipeline processing. That is, data for one page, for example, in the image memory 10 that stores image data is read out by pipeline processing, divided into lines by the control module 15, and outputted to the normalization module 16 in units of characters.

その文字車で前述の細線化、線素化、特徴ベクトル化さ
らには認識処理を行う。
The character wheel is subjected to the aforementioned thinning, line segmentation, feature vectorization, and recognition processing.

上位選出モジュール25は総合評価値に基づいて、候補
に順位をつけ、上位5個を選出するモジュールであり、
入力が連想全数整合モードであるならば((a’、 V
(a) l a’、 a = 1〜cを修正したもの) 個別整数台モードであるならば ((j、 v(a)lj = 1〜ck 、 a = 
b (j))(個別整合の総合評価出力) 降/昇順: (文字連想二人きい順、その他:小さい順
)である。また出力は人力のソート結果の順に並んだ候
補ID(または入力順序)とその総合評価値である。
The top selection module 25 is a module that ranks candidates based on the overall evaluation value and selects the top five candidates.
If the input is in associative exhaustive matching mode ((a', V
(a) l a', a = 1~c modified) If it is in the individual integer unit mode ((j, v(a) lj = 1~ck, a =
b (j)) (Comprehensive evaluation output of individual matching) Descending/ascending order: (Character association dyad order, Others: Smallest order). Further, the output is the candidate IDs (or input order) arranged in the order of the manually sorted results and their comprehensive evaluation values.

前述した本発明の実施例においては、係る本発明の実施
例における特徴ベクトル化回路を用いたパターン認識装
置について説明した。以下ではさらにそのパターン認識
装置における特徴ベクトル化回路をさらに詳細に説明す
る。
In the embodiments of the present invention described above, a pattern recognition device using the feature vectorization circuit in the embodiments of the present invention has been described. Below, the feature vectorization circuit in the pattern recognition device will be explained in more detail.

°第3図は本発明の実施例の詳細な回路構成図である。3 is a detailed circuit configuration diagram of an embodiment of the present invention.

切り出した1個の文字パターンが細線化モジュール18
によって1ドツトの太さの文字に変換し、さらに線素化
モジュール19によってその細線がどちら方向に連続し
ている(線素)を各ドツト単位で求めている。この線素
化モジュール19によって求めたデータ(線素化データ
)はデータバッファ31に加わる。例えばこのデータバ
ッファ31は1文字車位でその線素化データを記憶する
要領を有しているFIFOである。そしてデータバッフ
ァ31に記憶されたデータは16ビツト単位で読み出さ
れデータ交換メモリ32に加わる。
One character pattern cut out is processed by the thinning module 18
The character is converted into a character with a thickness of one dot, and the line segmentation module 19 determines in which direction (line element) the thin line continues for each dot. The data (line elementization data) obtained by this line elementization module 19 is added to the data buffer 31. For example, the data buffer 31 is a FIFO capable of storing line segmentation data in units of one character. The data stored in the data buffer 31 is then read out in units of 16 bits and added to the data exchange memory 32.

一方図示しないCPU等からの読み出しに対応して、順
次クロックパルスがシーケンスカウンタ33に加わりシ
ーケンスカウンタ33は順次パルスをカウントする。こ
のクロックパルスはデータバッファ31から1回の読み
出しに1パルスを発生する。すなわちデータの読み出し
に対応してシーケンスカウンタは順次そのカウント値を
歩進する。
On the other hand, in response to reading from a CPU (not shown) or the like, clock pulses are sequentially applied to the sequence counter 33, and the sequence counter 33 sequentially counts the pulses. This clock pulse generates one pulse for one reading from the data buffer 31. That is, the sequence counter sequentially increments its count value in response to data reading.

シーケンスカウンタ10のカウント値はアドレス発生R
OMに加わる。アドレス発生ROM34はデータ交換メ
モリ32に格納すべき位置を記憶している。シーケンス
カウンタ33のカウント値はデータバッファ31より読
み出すアドレスの位置に1対1で対応しており、たとえ
ばシーケンスカウンタ33が“1゛のときには、第4図
に示す如くデータ■、■、■、■を指示する。
The count value of the sequence counter 10 is the address generation R.
Join OM. The address generation ROM 34 stores the location to be stored in the data exchange memory 32. The count value of the sequence counter 33 has a one-to-one correspondence with the address position read from the data buffer 31. For example, when the sequence counter 33 is "1", the data ■, ■, ■, ■ as shown in FIG. instruct.

本発明の第3図における実施例においては16ビツト幅
でデータを(線素データ)を読み出している。線素化デ
ータは1ドツトに対し4方向と線素が存在しないさらに
はクロスしている等の情報であり、1ドツトの方向を3
ビツトで表わしている。尚、読み出しの効率を高めるた
め1ドツトを4ビツト構成とし4ドツトの線素化情報を
1回の読み出しによってデータ交換メモリ32に加える
In the embodiment of the present invention shown in FIG. 3, data (line element data) is read out with a width of 16 bits. The line segmentation data includes information such as 4 directions for 1 dot and the fact that line elements do not exist or even cross each other, and the direction of 1 dot is
It is expressed in bits. In order to improve readout efficiency, one dot is made up of 4 bits, and the line segmentation information of 4 dots is added to the data exchange memory 32 by one readout.

データバッファ31はFIFO構造であり第1番目に入
力したデータFIFO−DATAI (■〜■)がデー
タ交換メモリ32に加わる。
The data buffer 31 has a FIFO structure, and the first input data FIFO-DATAI (■ to ■) is added to the data exchange memory 32.

アドレス発生ROM34はこのとき“0000”すなわ
ち“0”を出力しており交換メモリ32はアドレス“0
000”にデータF I FO−DATAIを記憶する
。続いてF I FO−DATA2が加わるが、シーケ
ンスカウンタ33は0001であるがアドレス発生RO
M34内の0001には64 (10進)が記憶されて
おりこの値がデータ交換メモリ32の入力アドレスに加
わるのでFIFO−DATA2 (データ■、■、■、
■よりなる)は64番地に格納される。順次このように
64番地単位でデータを格納するように、アドレス発生
ROM34はデータ交換メモリ32にアドレスを加える
。そして17個目のデータすなわちデータF I FO
−DATAl、7が加わわるとこのときにはアドレスは
“1“となりデータ変換メモリ32はアドレス1番地に
データF I FO−DATAl7を記憶する。続いて
2番目にはF I FO−DATAl 8を65番地に
・・・と順次光に格納した16個のデータに続いてそれ
ぞれ記憶させる。
At this time, the address generation ROM 34 outputs "0000", that is, "0", and the exchange memory 32 outputs the address "0".
The data FIFO-DATAI is stored in "000". Next, FIFO-DATA2 is added, but although the sequence counter 33 is 0001, the address generation RO
0001 in M34 stores 64 (decimal), and this value is added to the input address of the data exchange memory 32, so FIFO-DATA2 (data ■, ■, ■,
) is stored at address 64. The address generation ROM 34 adds addresses to the data exchange memory 32 so as to sequentially store data in units of 64 addresses. And the 17th data, data F I FO
-DATA1,7 is added, at this time the address becomes "1" and the data conversion memory 32 stores data FIFO-DATA17 at address 1. Next, FI FO-DATA 8 is stored at address 65, following the 16 pieces of data stored in the optical system in sequence.

本発明の実施例においては1文字の領域は64ドツト×
64ドツトの領域でありデータバッファ31にパラレル
に加わるので4ドツト単位となる。
In the embodiment of the present invention, the area for one character is 64 dots×
It is an area of 64 dots and is added to the data buffer 31 in parallel, so it is a unit of 4 dots.

すなわち、データバッファ31は1024段のFIFO
であり、64ドツト×64ドツトの合計4096ドツト
を4ドツト単位で記憶する。そしてこのデータバッファ
31で記憶したデータFIFO−DATA1〜1024
 (各データは16ビツト)は第5図に示す如く、前述
した動作により64アドレス単位で順次格納される。こ
の4ドツト単位の線素データは第6図に示す変換後イメ
ージデータとメモリアドレスの関係図から明確なように
、縦方向に4ドツトが同時に加わる。ゆえに、第6図に
示す如く縦方向の4ドツトの線素化データが加わるとす
るならば0から63が横方向のアドレスとなる。すなわ
ち横方向においてはO〜63に合計64ドツト分のアド
レスを有し縦方向は4ドツト共通に読み出すので16の
アドレスとなる。
In other words, the data buffer 31 is a 1024-stage FIFO.
A total of 4096 dots (64 dots x 64 dots) are stored in units of 4 dots. The data FIFO-DATA1 to 1024 stored in this data buffer 31
(Each data is 16 bits) is sequentially stored in units of 64 addresses by the operation described above, as shown in FIG. As is clear from the relationship between converted image data and memory addresses shown in FIG. 6, four dots are simultaneously added to the line element data in units of four dots in the vertical direction. Therefore, if four dots of line element data in the vertical direction are added as shown in FIG. 6, addresses 0 to 63 will be in the horizontal direction. That is, in the horizontal direction, there are addresses for a total of 64 dots from O to 63, and in the vertical direction, 4 dots are read out in common, resulting in 16 addresses.

前述した動作により、データ交換メモリ32には第5図
に示す如く例えば縦方向の4ドツトのデータが64アド
レス離れて順次格納される。
By the above-described operation, data of, for example, four dots in the vertical direction are sequentially stored in the data exchange memory 32 at 64 addresses apart, as shown in FIG.

この格納動作終了の後、シーケンスカウン35がカウン
ト動作を開始し、順次アドレス発生R0M36と、ハン
ファ37を介して重み付はテーブル38に加わる。シー
ケンスカウンタは図示しないがCPUからの指示によっ
てカウント動作を開始する回路であり、シーケンスカウ
ン35の歩進するデータがアドレス発生ROM36のア
ドレスに加わることにより、アドレス発生ROM36は
マス単位(16X16)でのアクセスを行うべきアドレ
スを発生する。第7図はマス1の発生アドレス図表であ
る。このときにはマスIとして0−15.61−79.
12B−143,192207であり、シーケンスカウ
ンが00時に“OIIを1の時に“1 ”を・・・15
0時に°64°“を17の時に“65“を・・・32の
時に“128”′を33の時に“°129”を・・・4
8の時に“192°°49の時に“193” ・・・を
それぞれ発生する。このアドレス発生ROM36で発生
したデータはデータ交換メモリ32のアウトプットアド
レスに加わっており、第6図における変化後のイメージ
データとメモリアドレスの関係図内における0から横方
向に対し0−16、縦方向に対し0,64,128.1
92の合計64アドレスがデータ交換メモリ32により
出力される。このデータ交換メモリに出力されたデータ
はタイミングを合わせるためのフリップロップ(ラッチ
)39に一時的に取り込まれた後デコーダ40−1〜4
0−4.に4ビット単位ですなわちドツト単位で加わる
After this storage operation is completed, the sequence counter 35 starts counting, and the weighting is sequentially added to the table 38 via the address generation R0M 36 and the Hanwha 37. Although not shown, the sequence counter is a circuit that starts a counting operation in response to an instruction from the CPU. By adding the incrementing data of the sequence counter 35 to the address of the address generation ROM 36, the address generation ROM 36 counts in units of squares (16 x 16). Generates the address to be accessed. FIG. 7 is a diagram of generated addresses for square 1. In this case, the square I is 0-15.61-79.
12B-143, 192207, and when the sequence count is 00, "OII" is 1, "1"...15
At 0:00, it is "64". At 17, it is "65". At 32, it is "128". At 33, it is "129"...4
8, "192°, 49", etc. are generated respectively. The data generated in the address generation ROM 36 is added to the output address of the data exchange memory 32, and after the change in FIG. From 0 in the image data and memory address relationship diagram, 0-16 in the horizontal direction, 0, 64, 128.1 in the vertical direction
A total of 64 addresses, 92, are output by the data exchange memory 32. The data output to this data exchange memory is temporarily captured in a flip-flop (latch) 39 for timing adjustment, and then sent to decoders 40-1 to 40-4.
0-4. is added in units of 4 bits, that is, in units of dots.

デコーダ40〜1〜40−4はそれぞれの各ドツトにお
けるベクトル方向(0°、90’、45゜135°)の
データをデコードし各方向の成分が存在する場合にHレ
ベルの信号を出力する。それぞれのデコーダ40−1〜
40−4のデコード0@の出力はアンドゲート41−1
〜43−1に加わる。また90°、45°、135@も
同様にそれぞれ対応するアンドゲートに加わる。
Decoders 40-1 to 40-4 decode data in vector directions (0°, 90', 45° and 135°) for each dot, and output an H level signal when components in each direction are present. Each decoder 40-1~
The output of decode 0@ of 40-4 is AND gate 41-1
~Join 43-1. Similarly, 90°, 45°, and 135@ are added to the corresponding AND gates.

本発明の実施例においては1文字領域内の各マス単位で
のベクトルの重み付けを行って求めるものであり、前述
のデコード値によってゲートがオンとなったアンドゲー
トは重み付はテーブルRAM38からタイミング合わせ
用のフリップロップ(ラッチ)45を介してそれぞれ4
ビツトのデータが加わる。本発明の実施例においては1
マス内における16ドツトの内2ドツト単位のマス目に
おいて重み付けを設定しているのでその隣合う対応する
ドツトの値を用いるよう重み付けRAMテーブルは8ビ
ツトでありそれのそれぞれ2ドツト単位のデータを対応
するアンドゲートに加えている。例えばOoに対応して
アンドゲート44−1゜アンドゲート43−1がドツト
単位の隣合うドツトであり、またアントゲ−)42−1
とアントゲ−)41−1が隣合うドツトであるので上位
4ビツトと下位4ビツトによってそれぞれ加えるアンド
ゲートの組み合わせを作っている。アントゲ−)41−
1〜44−1の出力は累算回路46−1〜49−1に加
わる。
In the embodiment of the present invention, vectors are weighted for each square within one character area, and the AND gate whose gate is turned on by the decoded value described above is weighted by timing adjustment from the table RAM 38. 4 through flip-flops (latches) 45 for each
Bit data is added. In the embodiment of the present invention, 1
Since weighting is set in units of 2 dots out of the 16 dots in a square, the weighting RAM table is 8 bits, and the data of each 2 dot is corresponded to the values of the adjacent corresponding dots. In addition to the and gate. For example, corresponding to Oo, the AND gate 44-1 and the AND gate 43-1 are adjacent dots in dot units, and the AND gate 42-1
Since the dots 41-1 and 41-1 are adjacent dots, the upper 4 bits and the lower 4 bits are used to create a combination of AND gates. anime game) 41-
The outputs of 1 to 44-1 are applied to accumulation circuits 46-1 to 49-1.

本発明の実施例においては90°、45°、135°に
も対応してそれぞれ重み付けをした特徴ベクトルを求め
るのでアンドゲートを同様にそれに対応して設は累算回
路(46−2〜49−2゜46−3〜49−3.46−
4〜49−4)にそれぞれ加えている。
In the embodiment of the present invention, weighted feature vectors are obtained corresponding to 90°, 45°, and 135°, so AND gates are similarly set up in the accumulator circuits (46-2 to 49-49). 2゜46-3~49-3.46-
4 to 49-4) respectively.

以下では前述したOo、90°、45°、135°に対
してそれぞれ同様であるのでOoについて詳しく説明す
る。デコーダ40−1〜40−4によって0°と判別し
た時には、それに対応するアンドゲートがオンとなり、
重み付はテーブルRAMより出力される4ビツトのデー
タを累算回路に出力する。このデータが加わることによ
り、累算回路は46−1〜49−1はその値を累算する
Below, Oo will be explained in detail since it is the same for Oo, 90°, 45°, and 135° as described above. When the decoders 40-1 to 40-4 determine that it is 0°, the corresponding AND gate is turned on.
For weighting, 4-bit data output from the table RAM is output to the accumulator circuit. By adding this data, the accumulation circuits 46-1 to 49-1 accumulate the values.

マスク1の全ての動作が終了すると、図示しないCPU
間の指示により累算回路46−1〜48−1は順次デー
タを累算回路49−1に加える。これにより、累算回路
49−1は零度方向に対する重み付けの特徴ベクトルを
求める。
When all operations of mask 1 are completed, the CPU (not shown)
Accumulator circuits 46-1 to 48-1 sequentially add data to accumulator circuit 49-1 according to the instructions in between. Thereby, the accumulation circuit 49-1 obtains a weighted feature vector for the zero degree direction.

前述した重み付はテーブルRAM38は4ドツト単位で
その重み付けを記憶しており(2X2)、例えばこのデ
ータが縦方向のドツトデータであるならば、ドツト単位
で共通となり、前述した如く4ビツトの値がアンドゲー
ト44−1.43−1に、またもう一方のデータが42
−1.41−1に加わる。これに対し横方向すなわち横
に並んだ2ドツトは共通であるので、シーケンスカンウ
タ35によって重み付はテーブルRAM38が出力する
データは、第8図の如く横方向に2ドツト分同−アドレ
スであるので、同一値となる。さらに詳しく表すならば
シーケンスカンウタによって順次歩進しアドレス発生R
OMに加える12ビツトのデータに対しI LSBを除
いた下位6ビツトを出力する。これによりシーケンスカ
ンウタがO〜1の時に重み付はテーブルRAM38には
2ドツトに対してアドレス0が加わり、続いてアドレス
1.2.3と2個のドツトに対し同一のアドレスが指定
され、同一の重みデータが出力される。これにより、2
ドツト読み出すたびにデコーダでデコードし累算回路の
ゲイトを制御するが、この2ドツトの時の重みは変化せ
ず2×2ドツト単位で合計16ドツトのマス単位での重
み付けを行うことができ、また重み付けを行った累算を
行うことができる。
The above-mentioned weighting is stored in the table RAM 38 in units of 4 dots (2×2). For example, if this data is vertical dot data, it will be common in units of dots, and as mentioned above, the 4-bit value will be is the AND gate 44-1.43-1, and the other data is 42
-1.41-1. On the other hand, since the two dots arranged horizontally are common, the data output from the table RAM 38 is weighted by the sequence counter 35 and has the same address for the two dots in the horizontal direction as shown in FIG. Therefore, the values are the same. To express this in more detail, the sequence counter sequentially increments and generates an address R.
For the 12-bit data added to OM, the lower 6 bits excluding ILSB are output. As a result, when the sequence counter is O to 1, address 0 is added to the weighting table RAM 38 for 2 dots, and then addresses 1, 2, 3, and the same address are specified for the 2 dots. The same weight data is output. This results in 2
Each time a dot is read out, it is decoded by a decoder and the gate of the accumulator circuit is controlled, but the weight for two dots does not change, and weighting can be done in units of squares of 2 × 2 dots for a total of 16 dots. Also, weighted accumulation can be performed.

以上のように動作させることによりマスlの発生アドレ
ス図表(第7図参照)で発生するアドレスによって16
X16ドツトのデータを呼び出すことができまたそれに
対応する重み付はテーブルも順次(第8図参照)ドツト
対応で2ドツトおきにデータが変化することとなる。な
お、アドレス発生ROMは12ビツトのアドレスを有し
、10ビツトの出力を有しているのでそれぞれのマス単
位でのアドレスを発生することができ、このアドレス発
生ROM36と重み付はテーブルRAM38を対応させ
ることによりそれぞれのマス単位での特徴ベクトルを求
めることができる。
By operating as described above, 16
The data of X16 dots can be called up, and the corresponding weighting table is also sequentially (see FIG. 8), so that the data changes every two dots in correspondence with the dots. Note that the address generation ROM 36 has a 12-bit address and a 10-bit output, so it can generate an address for each square, and this address generation ROM 36 and weighting correspond to the table RAM 38. By doing this, it is possible to obtain the feature vector for each square.

第9図はマス2における発生アドレス図表、第10図は
マス2に対応する重み付はテーブルアドレス図表であり
、順次そのマスに対して重み付けを変化させることがで
きる。
FIG. 9 is a diagram of generated addresses in square 2, and FIG. 10 is a table address diagram with weighting corresponding to square 2, and the weighting can be sequentially changed for the squares.

本発明の実施例においてはデータバッファ31の出力は
CPUのバスに接続したバッファ51に接続しているの
で記憶したデータをモニターすることが可能である。ま
た例えばシーケンスカンウタ35にもこのバッファ51
は接続しているのでシーケンスカンウタをCPUの制御
によりイニシャルセット等を行うことができる。
In the embodiment of the present invention, the output of the data buffer 31 is connected to the buffer 51 connected to the CPU bus, so that it is possible to monitor the stored data. For example, this buffer 51 may also be used in the sequence counter 35.
Since these are connected, the sequence counter can be initialized under the control of the CPU.

一方重み付はテーブルRAM38のアドレス入力とデー
タ端子にはそれぞれバッファ52.53が設けられてい
る。例えば特徴ベクトル用の辞書の重み付けが異なった
ような辞書データが存在する場合その辞書に対応した重
み付けをしなくてはならず、この時にはバッファ52を
介して重み付はテーブルRAM38をアクセスしバッフ
ァ53を介して重み付はデータを格納することをCPU
によって行うことができる。すなわち任意に目的に応じ
て重み付はテーブルRAM38の内容を変更することが
できる。
On the other hand, for weighting, buffers 52 and 53 are provided at the address input and data terminals of the table RAM 38, respectively. For example, if dictionary data for feature vectors has different weightings, it is necessary to weight the dictionaries accordingly. The weighted data is stored through the CPU
This can be done by That is, the contents of the table RAM 38 can be arbitrarily changed depending on the purpose.

一方累算回路49−1〜49−4にはデータバッファ5
5とバッファ54が接続している。このバッファにより
それぞれの累算結果(0°〜135°)のデータをCP
U内に取り込むことができ、例えば文字単位での認識な
どを再度行うようなとき(確認認識)には、バッファ5
4を介して累算回路49−1〜49−4のデータを読み
取ることができる。
On the other hand, data buffer 5 is provided in the accumulation circuits 49-1 to 49-4.
5 and a buffer 54 are connected. This buffer allows the data of each cumulative result (0° to 135°) to be transferred to CP.
For example, when performing character-by-character recognition again (confirmation recognition), the buffer 5
The data of the accumulation circuits 49-1 to 49-4 can be read through the accumulation circuits 49-1 to 49-4.

一方第2図に示した如く各回路によって認識する場合に
はデータバッファ55によって格納した例えばマス単位
のデータを距離計算モジュール21に加えることにより
高速で求めた特徴ベクトルに対してパイプライン処理で
距離を求めることができる。
On the other hand, when recognition is performed by each circuit as shown in FIG. can be found.

〔発明の効果〕〔Effect of the invention〕

以上述べたように本発明によれば特徴ベクトルを生成す
る場合の演算処理の煩雑さを防止し、簡単な回路構成に
よって同様の演算を行うことができる。また上述の如く
文字認識アルゴリズムで使用される特徴ベクトル生成回
路における処理情報量が多くても、特徴ベクトル生成ア
ルゴリズムを簡単な回路によって実現し、小型化高速化
を可能としている。またこれにより上述の如く文字認識
アルゴリズムを用いた認識装置の小型化高速化を得るこ
とができる。
As described above, according to the present invention, it is possible to prevent the complexity of calculation processing when generating feature vectors, and to perform similar calculations with a simple circuit configuration. Furthermore, even if the amount of processing information in the feature vector generation circuit used in the character recognition algorithm is large as described above, the feature vector generation algorithm can be realized by a simple circuit, making it possible to reduce the size and increase the speed. Further, as described above, it is possible to miniaturize and speed up the recognition apparatus using the character recognition algorithm.

【図面の簡単な説明】 第1図は、本発明の原理ブロック図、 第2図は、本発明の実施例のシステム構成図、第3図は
、本発明の実施例の詳細な回路構成図、第4図は、入力
データ説明図、 第5図は、メモリ内データ記憶配置図、第6図は、変換
後のイメージデータとメモリアドレスの関係図、 第7図は、〈マスクNo、l >の発生アドレス図表、
・ 第8図は、対応する重みテーブルアドレス図表、第9図
は、〈マスクNo、2 >の発生アドレス図表、 第10図は、対応する重みテーブルアドレス図表である
。 1・・・第1のデータ記憶手段、 2・・・第1のアドレス発生手段、 3・・・第2のデータ記憶手段、 4・・・第2のアドレス発生手段、 5・・・累算手段、 ・デコード手段。
[Brief Description of the Drawings] Figure 1 is a principle block diagram of the present invention, Figure 2 is a system configuration diagram of an embodiment of the invention, and Figure 3 is a detailed circuit diagram of an embodiment of the invention. , FIG. 4 is an explanatory diagram of input data, FIG. 5 is a diagram of data storage arrangement in memory, FIG. 6 is a diagram of the relationship between image data after conversion and memory addresses, and FIG. 7 is a diagram of <Mask No., l > Occurrence address chart,
- FIG. 8 is a corresponding weight table address diagram, FIG. 9 is a generation address diagram of <Mask No., 2>, and FIG. 10 is a corresponding weight table address diagram. DESCRIPTION OF SYMBOLS 1... First data storage means, 2... First address generation means, 3... Second data storage means, 4... Second address generation means, 5... Accumulation Means, ・Decoding means.

Claims (1)

【特許請求の範囲】 1)文字パターンの少なくともドット単位の線素情報が
加わり、該線素情報を記憶する第1のデータ記憶手段(
1)と、 該第1のデータ記憶手段(1)における前記線素情報の
記憶位置を指示するアドレスを発生する第1のアドレス
発生手段(2)と、 前記線素情報の重みデータを記憶する第2のデータ記憶
手段(3)と、 前記第1のデータ記憶手段(1)で記憶する線素情報を
読み出すアドレスと、該アドレスで読み出される線素情
報に対応する前記重みデータを第2のデータ記憶手段(
2)より読み出すアドレスとを発生する第2のアドレス
発生手段(4)と、前記第2のデータ記憶手段より出力
される重みデータが加わり線素の方向に対応して設けら
れた数の累算手段(5−1〜5−n)と、 前記第1のデータ記憶手段(1)で記憶する線素情報を
デコードするとともに、該デコード結果で前記累算手段
(5−1〜5−n)をイネーブルにして方向に対する重
み情報を累算させるデコード手段(6)とよりなること
を特徴とする特徴ベクトル化回路。 2)前記累算手段(5−1〜5−n)をm組設け、mビ
ット単位で加わる前記線素情報を並列に処理することを
特徴とする請求項1記載の特徴ベクトル化回路。
[Scope of Claims] 1) A first data storage means for adding line element information in at least a dot unit of a character pattern and storing the line element information (
1), a first address generating means (2) for generating an address indicating a storage position of the line element information in the first data storage means (1), and storing weight data of the line element information. a second data storage means (3), an address for reading the line element information stored in the first data storage means (1), and a second data storage means for storing the weight data corresponding to the line element information read at the address; Data storage means (
2) a second address generation means (4) which generates an address to be read from the second data storage means; and an accumulation of a number provided corresponding to the direction of the line element by adding the weight data output from the second data storage means. means (5-1 to 5-n); decoding the line element information stored in the first data storage means (1), and using the decoding result to the accumulating means (5-1 to 5-n); A feature vectorization circuit characterized in that it comprises a decoding means (6) for enabling weight information for a direction and accumulating weight information for the direction. 2) The feature vectorization circuit according to claim 1, wherein m sets of the accumulating means (5-1 to 5-n) are provided, and the line element information added in units of m bits is processed in parallel.
JP2042641A 1990-02-26 1990-02-26 Feature vectoring circuit Pending JPH03246781A (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2042641A JPH03246781A (en) 1990-02-26 1990-02-26 Feature vectoring circuit
CA002036974A CA2036974C (en) 1990-02-26 1991-02-25 Pattern recognition data processing device using an associative matching method
US07/660,756 US5214717A (en) 1990-02-26 1991-02-25 Pattern recognition data processing device using an associative matching method
EP19910102798 EP0444593A3 (en) 1990-02-26 1991-02-26 A data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2042641A JPH03246781A (en) 1990-02-26 1990-02-26 Feature vectoring circuit

Publications (1)

Publication Number Publication Date
JPH03246781A true JPH03246781A (en) 1991-11-05

Family

ID=12641642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2042641A Pending JPH03246781A (en) 1990-02-26 1990-02-26 Feature vectoring circuit

Country Status (1)

Country Link
JP (1) JPH03246781A (en)

Similar Documents

Publication Publication Date Title
Hsu et al. Ratio-and-scale-aware YOLO for pedestrian detection
JP6128617B2 (en) Image recognition apparatus and program
Zhang et al. A raw image-based end-to-end object detection accelerator using hog features
CN113963333A (en) Traffic sign board detection method based on improved YOLOF model
JPH03246781A (en) Feature vectoring circuit
JP3569138B2 (en) Word recognition apparatus and method
CN113807407A (en) Target detection model training method, model performance detection method and device
JP4099248B2 (en) Handwritten character recognition device and program storage medium
CN111597375B (en) Picture retrieval method based on similar picture group representative feature vector and related equipment
JPH03240175A (en) Histogram calculating circuit
JPH03268087A (en) Image data normalizing circuit
Peng et al. Digital Image Processing System Based on FPGA
JPH03214283A (en) Conversion table production circuit applying systolic array
EP0447751B1 (en) Image processing system
JPH03268088A (en) General evaluation circuit
TWI775634B (en) English font image recognition method
Zhao et al. RecursiveDet: end-to-end region-based recursive object detection
JPH03214284A (en) Data conversion system
JPH03214282A (en) Normalization system applying systolic array
JPH03246780A (en) Data conversion circuit
CN117710985A (en) Optical character recognition method and device and intelligent terminal
JPH03268054A (en) High speed parallel processing system
JPH03214285A (en) Data conversion system
CN111597373A (en) Image classification method based on convolutional neural network and connected graph and related equipment
JPH05274435A (en) Image processor