JPS6048580A - Processor logical circuit diagram - Google Patents
Processor logical circuit diagramInfo
- Publication number
- JPS6048580A JPS6048580A JP58156045A JP15604583A JPS6048580A JP S6048580 A JPS6048580 A JP S6048580A JP 58156045 A JP58156045 A JP 58156045A JP 15604583 A JP15604583 A JP 15604583A JP S6048580 A JPS6048580 A JP S6048580A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- symbol
- processing
- code
- label code
- 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.)
- Granted
Links
Landscapes
- Image Analysis (AREA)
Abstract
Description
【発明の詳細な説明】
(A)発明の技術分野
本発明は、論理回路図処理装置、特に格子軸に沿う形で
描かれた線図形と文字を含む画図形とが混在する手書き
図面を読取って、論理記号、線分、および画図形部分を
認識し抽出する論理回路図処理装置において、格子点近
傍の画像データを集約的格子点ラベル・コードにまとめ
るよう構成し、該集約的格子点ラベル・コードを基にし
て上記認識処理を行ってゆくようにした論理回路図処理
装置に関するものである。Detailed Description of the Invention (A) Technical Field of the Invention The present invention relates to a logic circuit diagram processing device, particularly for reading handwritten drawings in which line figures drawn along lattice axes and graphic figures including characters are mixed. In the logic circuit diagram processing device that recognizes and extracts logic symbols, line segments, and graphic figure parts, the image data in the vicinity of the grid points is configured to be summarized into an intensive grid point label code, and the intensive grid point label - This invention relates to a logic circuit diagram processing device that performs the above-mentioned recognition processing based on a code.
(B)技術の背景と問題点
従来から手書きされた論理回路図をデータ処理装置に入
力することが行われており、例えはディジタイザなどを
使用して、オペレータが文字や線図形をいちいち抽出し
つつ入力するようにされていた。この場合、例えば直線
を入力することを考えると、各線毎に、オペレータは、
線の1つの端部座標と他の端部座標とを指示すると共に
、直線である旨の情報を入力する必要がある。このため
、比較的簡単な回路図の場合には余り問題にならないが
、IC回路のような非常に複雑な回路図を入力する場合
にはデータの入力がきわめて煩雑であり、オペレータは
かなりの忍耐を必要とし、しかも入力誤りを生じ易い。(B) Technical Background and Problems Traditionally, hand-drawn logic circuit diagrams have been input into data processing equipment. Users were required to enter the information while inputting the information. In this case, for example, considering inputting a straight line, for each line, the operator should:
It is necessary to indicate the coordinates of one end of the line and the coordinates of the other end, and to input information indicating that the line is a straight line. For this reason, this is not much of a problem when inputting relatively simple circuit diagrams, but when inputting extremely complex circuit diagrams such as IC circuits, data input becomes extremely complicated and requires considerable patience on the part of the operator. Moreover, input errors are likely to occur.
(C)発明の目的と構成
本発明は、上記の点に鑑み、論理回路図の入力処理をい
わば自動化する処理装置を提供することを目的としてお
り、文字などの画図形や格子軸に沿って描かれた線図形
について、格子点近傍の画像データを集約的格子点ラベ
ル・コードに集約する方式を採用して上記処理を行う処
理装置を提供することを目的としている。そしてそのた
め、本発明の論理回路図処理装置は、予め定められた格
子軸に沿って描かれた線図形と文字を含む画図形とが存
在する手書き図面を読取って得られた、画像データから
論理記号、線分および画図形部分を認識し抽出する論理
回路図処理装置において、格子点近傍に画像データの存
在の可能性を示す格子点ラベルコードを生成する格子点
ラベルコード生成手段と、上記格子点ラベルフードにも
とづいて上記画像データの上記格子点に対する位置ずれ
を検証する検証手段と、該検証手段から得られた位置ず
れ情報を保持する位置ずれ情報保持手段と、上記画像デ
ータの局部的形状を判別して線図形または画図形の存在
の可能性を識別する局部形状抽出手段と、該局部形状抽
出手段から出力された局部形状ラベル情報を保持する局
部形状ラベル保持手段と、少なくとも上記格子点ラベル
コード、上記位置ずれ情報、および上記局部形状ラベル
情報にもとづいて上記格子点近傍の画像データを集約し
た集約的格子点ラベルコードを決定するラベルコード生
成部をそなえてなり、上記集約的格子点ラベルコードを
基に上記線図形と上記画図形とを夫々分離して認識し抽
出するようにしたことを特徴としている。以下図面を参
照しつつ説明する。(C) Object and Structure of the Invention In view of the above points, the present invention aims to provide a processing device that automates the input processing of logic circuit diagrams, and it It is an object of the present invention to provide a processing device that performs the above processing by employing a method of consolidating image data in the vicinity of lattice points into an intensive lattice point label code for a drawn line figure. Therefore, the logic circuit diagram processing device of the present invention is capable of processing logic circuits from image data obtained by reading a handwritten drawing in which there are line figures drawn along predetermined grid axes and graphics figures including characters. In a logic circuit diagram processing device that recognizes and extracts symbols, line segments, and graphics parts, a lattice point label code generating means for generating a lattice point label code indicating the possibility of the existence of image data near a lattice point; verification means for verifying the positional deviation of the image data with respect to the grid points based on the point label hood; a positional deviation information holding means for holding positional deviation information obtained from the verification means; and a local shape of the image data. a local shape extracting means for determining the possibility of the existence of a line figure or a drawing figure, a local shape label holding means for holding local shape label information output from the local shape extracting means, and at least the above-mentioned lattice points. a label code generation unit that determines an intensive grid point label code that aggregates image data in the vicinity of the grid point based on the label code, the positional deviation information, and the local shape label information; The present invention is characterized in that the line figure and the drawing figure are separately recognized and extracted based on the label code. This will be explained below with reference to the drawings.
(D)発明の実施例
本発明においては、第1図に示すように格子軸(X軸お
よびY軸)に沿う形で描かれた図面、即ち例えば方眼紙
上に手書きされた線図形や文字を含む画図形の混在する
図面を、ファクシミリ入力装置の如き光学的読取装置に
て読取り、該読取った画像データを格子点(格子軸交点
)上のデータとして集約し、その上で論理記号、線分、
および文字の部分に分離し認識処理するようにして、上
記データ処理装置に入力せしめるようにしようとしてい
る。更に言えば、第2図に示す格子点G5の周囲に例え
ば第3図図示の線図形Vが存在しているとした場合に、
後述するように、格子点G6を中心とした第2図図示矢
印の範囲内で、線分の存在の有無、および存在する場合
には線分情報としての確からしさ、線分が格子点G5の
上下左右のいずれの方向に存在するか、当該線分の存在
する位置までのずれなどを、当該格子点G5の情報とし
て抽出し集約し格納しておく。そして、該各集約的格子
点ラベルコードを基に、文字や論理記号などを認識し、
データ処理装置に入力せしめるようにしている。(D) Embodiments of the Invention In the present invention, drawings drawn along the grid axes (X-axis and Y-axis) as shown in FIG. A drawing containing a mixture of drawings and figures is read with an optical reading device such as a facsimile input device, the read image data is aggregated as data on grid points (lattice axis intersection points), and then logical symbols and line segments are ,
It is attempted to separate the information into character parts, perform recognition processing, and then input the data to the data processing apparatus. Furthermore, if it is assumed that, for example, the line figure V shown in FIG. 3 exists around the grid point G5 shown in FIG.
As will be described later, within the range of the arrow shown in FIG. The direction in which the line segment exists (up, down, left or right), the deviation to the position where the line segment exists, etc. are extracted, aggregated, and stored as information on the grid point G5. Then, based on each intensive grid point label code, characters, logical symbols, etc. are recognized,
The information is input to a data processing device.
第4図は本発明による論理回路図処理装置の一実施例全
体構成を示している。図中の符号1は処理対象図面であ
り、2は本発明による論理回路図処理装置によって抽出
された処理結果情報を表わしている。以下第4図図示の
各構成部〔I)、(2)…にしたがう形で具体的に説明
してゆくが、各構成処理部(1)、(2)……は概路次
の如きものと考えてよい。FIG. 4 shows the overall configuration of an embodiment of a logic circuit diagram processing apparatus according to the present invention. Reference numeral 1 in the figure represents a drawing to be processed, and 2 represents processing result information extracted by the logic circuit diagram processing apparatus according to the present invention. The following is a detailed explanation of each component (I), (2), etc. shown in Figure 4. The outline of each component processing section (1), (2), etc. You can think that.
(1)図面と諸情報の入力処理部。(1) Input processing unit for drawings and various information.
図面1をファクシミリやドラム・スキャナなどの入力装
置により読取り、該読取った画像データに対してノイズ
除去・平滑化などのいわゆる前処理をほどこして画像メ
モリに格納する。Drawing 1 is read by an input device such as a facsimile or a drum scanner, and the read image data is subjected to so-called pre-processing such as noise removal and smoothing, and then stored in an image memory.
そして、ディスプレイ、キーボード、ライト、ペンなど
を使用して会話的に、入力図面の大きさや向き、格子数
などの諸情報を入力する。また入力図面の傾き補正や認
識領域の設定などのために、図面の4隅に書込まれた基
準点(第1図図示の「+」マーク)の座標位置を入力す
る。Then, various information such as the size and orientation of the input drawing, the number of grids, etc. are input interactively using a display, keyboard, light, pen, etc. Further, in order to correct the inclination of the input drawing, set the recognition area, etc., the coordinate positions of the reference points ("+" marks shown in FIG. 1) written at the four corners of the drawing are input.
(2)(a)ラベルコード生成処理部。(2) (a) Label code generation processing section.
入力された図面の向き、基準点間の格子数、および基準
点の位置などの情報から、各格子点の画像データ・アド
レスを算出して、画像データの傾き補正を行い、各格子
点近傍の画像データがもつ形状特徴を第5図に示す格子
点ラベル・コードLOGLBLとして表現する。なお当
該処理部(2)(a)において最初に得られた格子点ラ
ベル・コードを初期格子点ラベル・コードLBLと呼ぶ
。そして該ラベル・コードLBLを基にして後述する如
ぎ第1検証処理部2第2検証処理部、局部形状抽出処理
部などによる処理を経て、集約的格子点ラベル・コード
を生成する。The image data address of each grid point is calculated from information such as the orientation of the input drawing, the number of grids between reference points, and the position of the reference points, and the image data is corrected for tilt. The shape characteristics of the image data are expressed as a grid point label code LOGLBL shown in FIG. Note that the lattice point label code first obtained in the processing section (2) (a) is called an initial lattice point label code LBL. Then, based on the label code LBL, an intensive lattice point label code is generated through processing by the first verification processing section 2, the second verification processing section, the local shape extraction processing section, etc. as described later.
なお、ここで上記格子点ラベル・コードLBL又はLO
GLBLの各ビットについで簡単にまとめておく。In addition, here, the above lattice point label code LBL or LO
Let me briefly summarize each bit of GLBL.
i)#28ないし#31ビット
該ビットは方向コードであって、後述する如く、格子点
G6からみて線分が延びている方向を表現するものであ
って、下方向(D)、左方向(L)、上方向(U)、右
方向(R)に対応して、線分が延びでいる方向に論理「
1」を立てる。i) #28 to #31 bits These bits are direction codes, and as described later, represent the direction in which the line segment extends from the grid point G6, including downward direction (D), leftward direction ( Corresponding to L), upward direction (U), and rightward direction (R), logical "
1”.
ii)#24ないし#27ビット
該ビットは“あいまい”方向コードであって、線分が存
在するとすれは、当該線分が複雑な形状を持っているか
否かを表わす。換言すれば文字の一部らしいか否かを論
理「1」をもって表現する。例えば#24ビットFDが
論理「1」であることは、格子の下方に延びている線分
(D=1)が文字の一部らしいことを表示している。ii) Bits #24 to #27 These bits are "fuzzy" direction codes, indicating whether a line segment, if present, has a complex shape. In other words, whether or not it seems to be part of a character is expressed using logic "1". For example, the #24 bit FD being logic "1" indicates that the line segment (D=1) extending below the grid is likely to be part of a character.
iii)#19ないし#22ビット
該ビットはずれ方向コードであって、存在している線分
が、格子点からどの方向にずれているかを表示する。iii) #19 to #22 bits These bits are a deviation direction code, and indicate in which direction the existing line segment deviates from the grid point.
iv)#12ないし#15ビット
該ビットはギャップ方向コードであって、格子の上下左
右のいずれかの方向に延びている線分に切れ目が存在す
るかを表示している。iv) #12 to #15 bits These bits are gap direction codes, and indicate whether a break exists in a line segment extending in any of the up, down, left, and right directions of the grid.
v)#16ビット
該ビットは“あいまい”フラグであって、#24ないし
#27ビットのいずれか1つが論理「1」のときに論理
「1」とされる。v) #16 bit This bit is an "ambiguous" flag, and is set to logic "1" when any one of bits #24 to #27 is logic "1".
vi)a23ビット
該ビットは“ずれ”フラグであって、#19ないし#2
2のいずれか1つが論理「1」のときに論理「1」とさ
れる。vi) a23 bit This bit is a “deviation” flag, and #19 to #2
2 is set to logic "1" when any one of them is logic "1".
vii)#11ビット
該ビットはギャップ・フラグであって、#12ないし#
15ビットのいずれか1つが論理「1」のときに論理「
1」とされる。vii) #11 bit This bit is a gap flag, and #12 to #
When any one of the 15 bits is logic "1", logic "
1”.
viii)#18ビット 該ビットはライン結合子表示フラグであって。viii) #18 bit The bit is a line connector display flag.
論理回路図中の結線ラインが電気的に接続されているこ
とを意味すべく、結線ラインの交差点などに付けた黒丸
(ライン結合子表示フラグと呼ぶ)が当該格子点に存在
するか否かを表わすものであり。To indicate that the connection lines in the logic circuit diagram are electrically connected, check whether a black circle (called a line connector display flag) placed at the intersection of the connection lines exists at the relevant grid point. It represents something.
存在する場合に論理「1」とされる。If it exists, it is set to logic "1".
ix)#9ビット
該ビットは三角形状表示フラグであって、三角形状のパ
ターンが当該格子点に対応して存在する場合に論理「1
」とされる。ix) #9 bit This bit is a triangular display flag, and is set to logic "1" when a triangular pattern exists corresponding to the grid point.
”.
x)#10ビット
該ビットは大円形状表示フラグであって、円形の大きい
形状のパターンが当該格子点に対応して存在する場合に
論理「1」とされる。x) #10 bit This bit is a large circular shape display flag, and is set to logic "1" when a large circular pattern exists corresponding to the grid point.
xi)#17ビット
該ビットは小円形状表示フラグであって、円形の小さい
形状のパターンが当該格子点に対応して存在する場合に
論理「1」とされる。xi) #17 bit This bit is a small circle shape display flag, and is set to logic "1" when a small circular shape pattern exists corresponding to the grid point.
xii)#8ビット
該ビットはシンボル領域フラグであって、当該格子点に
対応して論理記号(シンボル)が記述されていることを
表わしている。xii) #8 bit This bit is a symbol area flag, and indicates that a logical symbol is written corresponding to the grid point.
xiii)#0ビット
該ビットはスタート点フラグであって、当該格子点が論
理記号(シンボル)のスタート点(端子位置)であるこ
とを表わしている。xiii) #0 bit This bit is a start point flag, and indicates that the corresponding lattice point is the start point (terminal position) of a logic symbol.
X1v)#1ビット
該ビットは逆ロジック・シンボル表示フラグであって、
#0ビットが示すスタート点に否定論理を与える小円形
状パターン(逆ロジック・シンボル)が付いていること
を表わしている。X1v) #1 bit This bit is a reverse logic symbol display flag,
This indicates that a small circular pattern (reverse logic symbol) that provides negative logic is attached to the start point indicated by the #0 bit.
xv)#2ないし#5ビット
該ビットはスタート点方向コードであり、#0ビットが
示すスタート点に接続される結線ラインが上下左右のい
ずれの方向に延びているかを表わしている。xv) #2 to #5 bits These bits are a start point direction code, and indicate in which direction, up, down, left, or right, the connection line connected to the start point indicated by the #0 bit extends.
(2)(b)円・三角抽出処理部。(2) (b) Circle/triangle extraction processing section.
第5図図示の格子点ラベル・コード中の#9ビット、#
10ビット、#17ビットに表示する如き形状の各パタ
ーンが存在するか否かを抽出する。#9 bit in the grid point label code shown in Figure 5, #
It is extracted whether each pattern of the shape as shown in the 10th bit and the #17th bit exists.
(3)ラベルコード・ノイズ処理部。(3) Label code/noise processing section.
生成された初期格子点ラベル・コードの#11ないし#
31ビットの情報に対応して、各当該情報に存在するノ
イズを除去する。#11 to # of the generated initial grid point label code
Corresponding to 31 bits of information, noise present in each piece of information is removed.
(3)(a)外向き腕の除去ユニット。(3) (a) Outward arm removal unit.
図面1の枠の外に向って出ている腕に対応する方向コー
ドを論理「0」にする。The direction code corresponding to the arm protruding outside the frame of Drawing 1 is set to logic "0".
(3)(b)対の処理ユニット。(3) (b) Pair of processing units.
互に隣接している格子点相互間で、いずれか一方の格子
点において他方に向う腕が存在する当該他方の格子点に
おいて、対となるべき腕が存在しない場合に、上記腕に
対応する方向コードを論理「0」にする。Between mutually adjacent grid points, if there is an arm pointing toward the other at one of the grid points, and if there is no arm to be paired at the other grid point, the direction corresponding to the arm. Set the code to logic “0”.
(3)(c)線切れ補正ユニット。(3) (c) Line breakage correction unit.
本来1本の線として存在しているべき線分について1格
子間隔以内の線切れを接続された形に修正する。To correct line segments that should originally exist as one line into a connected form for line breaks within one grid interval.
(3)(d)ずれ補正Iユニット
本来のあるべき形からみて余分なずれ方向コード(#1
9ないし#22ビット)とずれフラグ(#23ビット)
とを論理「0」にする。(3) (d) Misalignment correction I unit Extra misalignment direction code (#1
9 to #22 bit) and deviation flag (#23 bit)
and is set to logic "0".
(3)(e)あいまい補正Iユニット
1つの格子点に注目して、4つの方向の隣接格子点の格
子点ラベル・コードにもとづいて、あいまい方向コード
(#24ないし#27ビット)などを補正する。(3) (e) Ambiguous correction I unit Focusing on one grid point, correct the ambiguous direction code (#24 to #27 bits) etc. based on the grid point labels and codes of adjacent grid points in four directions. do.
(4)シンボル分類処理部。(4) Symbol classification processing section.
格子点ラベル・コード内の4方向コードをもとに、図面
1内の論理記号(シンボル)の位置とその形状(種類)
とを抽出する。但し、当該処理においてはいわば大分類
程度の分類を行うものと考えてよい。Based on the 4-way code in the grid point label code, the position of the logical symbol (symbol) in drawing 1 and its shape (type)
and extract. However, in this process, it may be considered that classification is performed at the level of major classification.
(5)複合ゲート・シンボルの認識処理部。(5) Composite gate/symbol recognition processing unit.
本発明の論理回路図処理装置は、第6図に示すように複
数個の論理記号(シンボル)の集合を或る意味をもって
いるいわば複合ゲート・シンボルC−Gとしてこれを認
識するようにしている。当該認識処理部においては、各
シンボルの種類と位置関係から、複合ゲート・シンボル
を認識する。そして認識された複合ゲート・シンボルに
対し、そのスタート点位置の格子点ラベル・コードにス
タート点フラグ(#0ビット)とスタート点コード(#
2ないし#5ビット)と逆ロジックシンボル表示フラグ
(#1ビット)とを設定する。As shown in FIG. 6, the logic circuit diagram processing device of the present invention recognizes a set of a plurality of logic symbols as a composite gate symbol C-G having a certain meaning. . The recognition processing unit recognizes the composite gate symbol based on the type and positional relationship of each symbol. Then, for the recognized composite gate symbol, the start point flag (#0 bit) and start point code (#
2 to #5 bits) and the reverse logic symbol display flag (#1 bit).
(6)シンボル領域の設定処理部。(6) Symbol area setting processing unit.
本発明の論理回路図処理装置が読取るべき論理記号の中
には、第7図図示矢印a、bの如く、読取り状態によっ
ては、1つのシンボルを異なるシンボルとして重複して
抽出されることが生じるおそれがある。このように重複
して抽出されたシンボルの検出を正しく行わせるためあ
るいは後続処理を正しく行わせるために、格子点がシン
ボルの一部として情報が確定していることを明示するた
めのフラグを設定せしめる。即ち第5図図示のシンボル
領域フラグ(#8ビット)を論理「1」にする。Among the logic symbols to be read by the logic circuit diagram processing device of the present invention, one symbol may be extracted redundantly as different symbols depending on the reading state, as shown by arrows a and b in FIG. 7. There is a risk. In order to correctly detect symbols that have been extracted repeatedly in this way, or to ensure that subsequent processing is performed correctly, a flag is set to clearly indicate that the information on the grid points is determined as part of the symbol. urge That is, the symbol area flag (#8 bit) shown in FIG. 5 is set to logic "1".
(7)線分確定処理部。(7) Line segment determination processing section.
シンボル領域が確定された後に、シンボル間を結ぶ結線
ラインを確定せしめる。After the symbol areas are determined, connection lines connecting the symbols are determined.
(8)ギャップ・あいまいの腕の処理I部。(8) Gap/ambiguity arm processing part I.
結線ラインが確定された後に、ギャップ方向コード(#
12ないし#15ビット)とあいまい方向コード(#2
4ないし#27ビット)とをもつ格子点に対し、その方
向の4方向コードを論理「0」とし、その上で、上記処
理ユニット(3)(b)の処理と同様の処理を行う。After the connection line is confirmed, the gap direction code (#
12 to #15 bits) and ambiguous direction code (#2
4 to #27 bits), the four-way code in that direction is set to logic "0", and then the same processing as that of the processing unit (3) (b) is performed.
(9)単一ゲート・シンボルの認識処理部。(9) Single gate symbol recognition processing unit.
上述の処理部(4)におけるシンボル分類においては、
シンボルのもつ大まかな形状特徴によって抽出を行った
が1本処理部(9)においては第8図(A)内の2つの
シンボルや第8図(B)内の2つのシンボルに示す如く
シンボル・グループとしては同じグループに属している
シンボル相互間を、例えば図示の如く逆ロジック・シン
ボルCが付いているか否かなどによって区別するように
して、単一ゲート・シンボルの決定を行う。In the symbol classification in the processing unit (4) described above,
Extraction was performed based on the rough shape characteristics of the symbols, but the single processing unit (9) extracted the symbols as shown in the two symbols in Figure 8 (A) and the two symbols in Figure 8 (B). A single gate symbol is determined by distinguishing between symbols belonging to the same group, for example, by whether or not an inverted logic symbol C is attached as shown in the figure.
そして、認識された単一ゲート・シンボルに対して、そ
のスタート点位置の格子点ラベル・コードにスタート点
フラグ(#0ビット)とスタート点コード(#2ないし
#5ビット)と逆ロジックシンボル表示フラグ(#1ビ
ット)とを設定する。Then, for the recognized single gate symbol, the start point flag (#0 bit), start point code (#2 to #5 bit) and reverse logic symbol are displayed in the grid point label code at the start point position. flag (#1 bit).
(10)スタート点の設定処理部。(10) Start point setting processing section.
第9図(A)内の2つのシンボル、第9図iBl内の2
つのシンボル、N19図tcl内の3つのシンボルなど
についでは、夫々のシンボルの形状が同じで結線ライン
が書かれる方向や位置が様々となっている。これらの各
シンボルを区別して識別するためには1シンボルのスタ
ート点候補の状態を調べ、これらのシンボルのスタート
点を決定し格子点ラベルコードにスタート点情報を設定
する。2 symbols in Figure 9(A), 2 in Figure 9 iBl
Regarding the three symbols in the N19 diagram tcl, the shapes of the symbols are the same, but the directions and positions in which the connection lines are drawn vary. In order to distinguish and identify each of these symbols, the state of the starting point candidates of one symbol is checked, the starting points of these symbols are determined, and starting point information is set in the grid point label code.
(11)逆ロジック・シンボルの処理部。(11) Reverse logic symbol processing unit.
第10図(A)図示の如き逆ロジック・シンボルが付い
ているシンボルを処理する場合、第10図(B)に典型
的な形として3通りの例を示す如く、逆ロジック・シン
ボル近傍の各格子点ラベル・コード内の4方向コード(
#28ないし#31ビット)は、様々な現われ方となる
。このような状態が存在すると、後の追跡処理などにお
いて悪影響が生じることから、第10図(C)図示の如
く、一旦余分な4方向コードを落としておくようにする
。本処理部(11)はこのような処理を行う。When processing a symbol with an inverted logic symbol as shown in FIG. 10(A), each symbol in the vicinity of the inverted logic symbol is 4-way code in grid point label code (
#28 to #31 bits) can appear in various ways. If such a condition exists, it will have an adverse effect on later tracking processing, so the excess four-way code should be temporarily removed as shown in FIG. 10(C). The main processing unit (11) performs such processing.
(12)スタート点近傍の線切れ補正処理部。(12) Line breakage correction processing unit near the start point.
シンボルのスタート点位置の近傍では、いわゆる線切れ
(ギャップ)が発生し易い。本処理部(13)では、こ
の補正処理を行う。A so-called line break (gap) is likely to occur near the starting point position of a symbol. This processing section (13) performs this correction processing.
(13)線分抽出の前処理部。(13) Pre-processing section for line segment extraction.
シンボル間を結ぶ結線ラインを最終的に抽出するに先立
って、前処理を行う。Before finally extracting the connection lines connecting symbols, preprocessing is performed.
(13)(a)ギャップ・あいまい腕の処理IIユニッ
トこの時点でギャップ方向コード(#12ないし#15
ビット)とあいまい方向コード(#24ないし#27ビ
ット)とが設定されでいる格子点に対して、該当する方
向の4方向コード(#28ないし#31ビット)を落と
す。その上で、上記処理ユニット(3)(b)と同様な
対の処理を行う。(13) (a) Gap/ambiguous arm processing II unit At this point, the gap direction code (#12 to #15
A four-way code (bits #28 to #31) of the corresponding direction is dropped to a grid point where a fuzzy direction code (bits #24 to #27) is set. Then, a pair of processes similar to those of the processing unit (3) (b) described above are performed.
(13)(b)ライン結合子の処理ユニット結線ライン
の分岐点に該当するライン結合子に対して、所定の処理
(後述)を行う。(13) (b) Processing unit for line connector Performs predetermined processing (described later) on the line connector corresponding to the branch point of the connection line.
(13)(c)複合ゲート・シンボル内の線分消し処理
ユニット
複合ゲート・シンボル内の結線ラインは予め判っている
パターンであり、この結線ラインを認識する必要がない
。本ユニット(13)(c)はこの線分消しを行う。(13) (c) Line segment erasure processing unit in composite gate symbol The connection line in the composite gate symbol is a pattern known in advance, and there is no need to recognize this connection line. This unit (13) (c) erases this line segment.
(14)結線ライン抽出処理部。(14) Connection line extraction processing section.
結線ラインを個々のベクトルとして抽出するために、
i)スタート点−スタート点
ii)分岐点−分岐点
iii)屈曲点−屈曲点
iv)スタート点−分岐点
v)分岐点−屈曲点
vi)屈曲点−スタート点
間の4方向コードを追跡する。そして結線ラインを抽出
する。追跡が終了しないラインについては、当該ライン
が文字の一部である可能性があり、格子点ラベル・コー
ドのあいまいフラグ(#16ビット)を論理「1」にし
ておく。In order to extract the connecting lines as individual vectors, i) start point - start point ii) branch point - branch point iii) bend point - bend point iv) start point - branch point v) branch point - bend point vi) bend Track the 4-way code between point and start point. Then, connect lines are extracted. For lines for which tracing is not completed, there is a possibility that the line is part of a character, and the ambiguity flag (#16 bit) of the grid point label code is set to logic "1".
(15)文字領域の抽出処理部。(15) Character area extraction processing unit.
図面1内からシンボルと結線ラインとを抽出し終わると
、残りは文字などの画図形である。After extracting the symbols and connection lines from the drawing 1, the remaining drawings and figures such as characters remain.
本処理部(15)においては、格子点ラベル・コードの
あいまいフラグ(#16ビット)をもとにして文字領域
(画図形領域)の抽出を行う。The main processing unit (15) extracts a character area (image/figure area) based on the ambiguity flag (#16 bit) of the lattice point label code.
(16)文字の分離・認識処理部。(16) Character separation/recognition processing unit.
処理部(15)によって抽出された例えば文字列の各文
字を1文字毎に分離し1文字認識処理技術を用いて文字
認識を行う。For example, each character of a character string extracted by the processing unit (15) is separated character by character and character recognition is performed using a single character recognition processing technique.
(17)結果の出力処理部。(17) Result output processing unit.
上述の如く抽出された各シンボル情報、結線ライン情報
、文字情報を、フロッピィ・ディスクなどの外部記憶媒
体に出力したり、または回線を介して他のデータ処理装
置に伝送したりする。Each symbol information, connection line information, and character information extracted as described above is output to an external storage medium such as a floppy disk, or transmitted to another data processing device via a line.
上記において、第4図に示す論理回路図処理装置の各構
成処理部(1)、(2)……が行う処理について概説し
たが、以下更に具体的に各処理部における重要な処理に
ついて説明してゆく。In the above, we have outlined the processing performed by each constituent processing section (1), (2)... of the logic circuit diagram processing device shown in Fig. 4, but below we will explain more specifically the important processing in each processing section. I'm going to go.
〔I〕図面と諸情報の入力処理部(1)本処理部(1)
においては、後続する傾きや歪の補正などのために、第
1図図示の基準点(4隅の「+」マーク)の座標を正し
く指示してやることが必要となる。即ち1本処理部(1
)によって入力された結果(画像メモリ上の内容)をテ
レビ・モニタ上に表示せしめ、当該表示画面における上
記基準点がどの座標位置に表示されているかを指示し、
後続する補正時に、本来あるべき座標位置と上記入力さ
れた結果の座標位置とにもとづいて補正を行うようにす
る。[I] Drawing and various information input processing section (1) Main processing section (1)
In this case, it is necessary to correctly indicate the coordinates of the reference points (the "+" marks at the four corners) shown in FIG. 1 in order to correct the subsequent tilt and distortion. In other words, one processing unit (1
) displays the input results (contents on the image memory) on a television monitor, and instructs at which coordinate position the reference point is displayed on the display screen;
At the time of subsequent correction, correction is performed based on the coordinate position that should originally exist and the coordinate position as a result of the input.
入力図形は画像メモリ上に例えば2048×3072ド
ット程度の大きざをもつものとして格納される。The input figure is stored on the image memory as having a size of, for example, 2048×3072 dots.
このために、入力図形全体をそのまま一度にテレビ・モ
ニタ上に表示することはできず、縮小して表示される。For this reason, the entire input graphic cannot be displayed as is on the television monitor at once, but is displayed in a reduced form.
この結果、基準点を縮小表示画面上で指示しても必らず
しも+分な精度が得られない。As a result, even if the reference point is indicated on the reduced display screen, it is not necessarily possible to obtain a higher degree of accuracy.
この点を克服するため、第11図図示のフローチャート
に示す如き手順によって基準点を高精度で指示するよう
にされる。即ち、
(1)最初に、入力図形のビデオ・データを拡大率1/
8に縮小して、入力図形の前半(2048×1536ド
ット)分を表示する。In order to overcome this problem, the reference point is specified with high precision by the procedure shown in the flowchart shown in FIG. That is, (1) First, the video data of the input figure is enlarged at a magnification rate of 1/
8 and displays the first half (2048×1536 dots) of the input figure.
(2)次いで、基準点の1つが存在する領域をライト・
ペンによって指示した上で、その領域を拡大率1にして
表示する。(2) Next, write the area where one of the reference points exists.
After specifying with a pen, the area is displayed at a magnification of 1.
(3)次いで当該基準点が存在する領域をライト・ペン
によって指示した上で、その領域を拡大率8にして表示
する。(3) Next, use a light pen to indicate the area where the reference point exists, and then display the area at a magnification of 8.
(4)この状態において、当該1つの基準点をライト・
ペンによって指示する。正しく指示できなかった場合に
は、正しく指示できるまで修正し、正しく指示できたと
き、当該指示点を基準点の1つとして送出する(第1の
基準点として画像メモリ上に書込まれる)。(4) In this state, write the one reference point.
Instruct by pen. If the instruction cannot be made correctly, the correction is made until the instruction is made correctly, and when the instruction is made correctly, the instruction point is sent out as one of the reference points (written on the image memory as the first reference point).
(5)次いで再び拡大率1/8のもとて入力図形の前半
(2048×1536ドット)分が表示され、上記操作
(2)ないし(4)と同様な操作によって、第2の基準
点が画像メモリ上に書込まれる。(5) Next, the first half (2048 x 1536 dots) of the input figure is displayed again at a magnification of 1/8, and the second reference point is set by the same operations as steps (2) to (4) above. written onto image memory.
(6)次には、拡大率1/8のもとで入力図形の後半(
2048×1536ドット)分が表示され、上記操作(
2)ないし(4)と同様の操作によって、第3の基準点
が画像メモリ上に書込まれる。(6) Next, the second half of the input figure (
2048 x 1536 dots) will be displayed, and the above operation (
The third reference point is written on the image memory by operations similar to 2) to (4).
(7)その後再び拡大率1/8のもとで入力図形の後半
(2048×1536ドット)分が表示され、上記操作
(2)ないし(4)と同様の操作によって、第4の基準
点が画像メモリ上に書込まれ、エンドとなる。(7) After that, the second half of the input figure (2048 x 1536 dots) is displayed again at a magnification rate of 1/8, and the fourth reference point is set by the same operations as steps (2) to (4) above. It is written to the image memory and becomes the end.
〔II〕ラベルコード生成処理部(2)(a)における
画像データの傾き補正。[II] Image data tilt correction in label code generation processing section (2) (a).
ラベルコード生成処理部(2)(a)においては、上述
の如く入力された基準点の座標にもとづいて、当該基準
点が本来の位置に対してどのようにずれているかを検出
し、画像データの傾きや歪を補正する必要がある。以下
この処理についで述べる。The label code generation processing unit (2) (a) detects how the reference point deviates from its original position based on the coordinates of the reference point input as described above, and converts the image data into It is necessary to correct the tilt and distortion of the image. This process will be described below.
一般に第12図(A)図示の如く基準点の座標が(0、
0)、(XW、O)、(0、YW)+(XW+YW)で
与えられている入力図面1を画像メモリに格納した場合
、第12図(B)図示の如く回転歪を受けた状態をもっ
て格納されることが生じる。このために上述の如く、画
像メモリ上に格納されでいる入力図面1−1に対して、
ライト・ペンによって基準点を指示すると、この指示さ
れた基準点が第12図(B)において例えば座標(0、
0)、(Xa、Ya)、(Xb、Yb)、(Xc、Yc
)として与えられる。Generally, the coordinates of the reference point are (0,
0), (XW, O), (0, YW) + (XW+YW), when the input drawing 1 given by It happens that it is stored. For this purpose, as described above, for the input drawing 1-1 stored on the image memory,
When a reference point is indicated with a light pen, the indicated reference point will be shown in FIG. 12(B) with the coordinates (0,
0), (Xa, Ya), (Xb, Yb), (Xc, Yc
) is given as
第12図図示の入力図面1と格納された入力図面1−1
との間には、図示原点(0、0)において一致している
とすると、入力図面1上の点(x、y)を回転歪を受け
た図面1−1上の点(x′、y′)と対比せしめると、
なる関係がある。したがって、入力図面1上の点(x、
y)が画像メモリ上において点(x′、y′)に位置す
るものとして補正を行えば足りる。Input drawing 1 shown in Figure 12 and stored input drawing 1-1
Assuming that they coincide at the illustration origin (0, 0), the point (x, y) on the input drawing 1 is the point (x', y) on the drawing 1-1 that has undergone rotational distortion. ′), there is the following relationship. Therefore, the point (x,
y) is located at the point (x', y') on the image memory.
しかし、上記補正を図形上の各画素について行うことは
きわめで処理量が大となる。このために本発明の場合、
次のような補正にとどめて許容範囲内で最小限度の補正
をもって済ますようにする。However, performing the above correction for each pixel on the figure is extremely difficult and requires a large amount of processing. For this reason, in the case of the present invention,
Limit the following corrections so that the minimum amount of correction is required within the allowable range.
即ち、入力図面1上をm×n画素よりなる区分領域3に
よって区分し、各区分領域例えば領域3−1の左上隅の
点(x0、y0)について画像メモリ上でどの座標位置
に存在するかを決定する。即ち、図示(x0、y0)と
(x0′、y0′)との対応を第(1)式にもとづいて
決定する。そして、当該m×n画素で与えられる区分領
域3−1があたかも第12図(B)図示点線で示すm×
n画素で与えられる区分領域3′−1であるものとみて
ゆくようにする。換言すると、図面1について、区分領
域3−1の左上隅点(xO、y0)が座標(x0′、y
0′)に対応するものであることが見出された場合、区
分領域3−1内の各画素を読取るものとして処理するに
当って、図面1−1上の座標点(x0′、y0′)から
水平方向にm画素分と垂直方向にn画素分とを抽出した
m×n画素区分領域3′−1を読取って処理するように
する。That is, the input drawing 1 is divided into divided regions 3 each consisting of m×n pixels, and the coordinate position of each divided region, for example, the upper left corner point (x0, y0) of region 3-1, is located on the image memory. Determine. That is, the correspondence between the illustrated (x0, y0) and (x0', y0') is determined based on equation (1). Then, the segmented area 3-1 given by the m×n pixels is as if the m×n pixels shown by the dotted line in FIG. 12(B)
Let us assume that the divided region 3'-1 is given by n pixels. In other words, regarding drawing 1, the upper left corner point (xO, y0) of segmented area 3-1 has the coordinates (x0', y
0'), in processing each pixel in the segmented area 3-1 to be read, the coordinate point (x0', y0') on drawing 1-1 is ), an m×n pixel segmented area 3'-1 is read and processed by extracting m pixels in the horizontal direction and n pixels in the vertical direction.
このように各区分領域に区分する方式を採用することに
よって、補正処理量は1/m・nとなることが容易に理
解されよう。ただし、このような簡略方式を採用するこ
とによって、区分領域3′−1内の各画素にどの程度の
誤差が含まれるかを評価しておく必要がある。区分領域
3′−1の大きさを10×1O画素に選んだとき、入力
図面1上の真の画素位置に対して最大2画素分の誤差を
許容するとすると、計算上回転角θが約11°以下であ
ればよい。また最大1画素分の誤差を許容するものとす
ると2回転角が5°以下であれはよい。逆に言えば、実
際に20°程度の回転が生じでいる場合には、最大2画
素分の誤差が許容されるものとすれば、区分領域3′−
1の大きさを5×5画素に選べばよいことを意味する。It will be easily understood that by adopting this method of dividing into each divided area, the amount of correction processing becomes 1/m·n. However, by adopting such a simplified method, it is necessary to evaluate how much error is included in each pixel within the segmented area 3'-1. When the size of segmented area 3'-1 is selected to be 10 x 10 pixels, and if an error of up to 2 pixels is allowed with respect to the true pixel position on input drawing 1, the calculated rotation angle θ is approximately 11 It is sufficient if it is less than °. Further, assuming that an error of one pixel at most is allowed, it is sufficient that the two rotation angles are 5 degrees or less. Conversely, if a rotation of about 20 degrees actually occurs, assuming that an error of up to 2 pixels is allowed, the segmented area 3'-
This means that the size of 1 should be selected as 5×5 pixels.
上記第12図(A〕(b)を参照して説明した簡略方式
による誤差補正を行うに当っても、上記回転角θを測定
することが煩雑であり、測定誤差が導入され易い。この
ために次のような処理がとられる。Even when performing error correction using the simplified method described with reference to FIG. 12 (A) (b) above, it is complicated to measure the rotation angle θ, and measurement errors are likely to be introduced. The following processing is performed.
第13図(A)および(B)は、入力図面1の例えば4
つの基準点(0、0)、(XW、0)、(0、YW)、
(XW、YW)が与えられているとし、任意の点(X、
Y)が回転歪を受けた図形1−1上で点(X′、Y′)
となることを示している。そして、上記第(1)式から
X′=Xcosθ+Ysinθ
Y′=Ycosθ−Xsinθ
の関係にある。ここで図示の如くXW、YW、XL、Y
L、△X、ΔY、X″、Y″を考慮すると、で表わされ
る。13(A) and (B) are for example 4 of the input drawing 1.
2 reference points (0, 0), (XW, 0), (0, YW),
(XW, YW) is given, and any point (X, YW) is given.
Point (X', Y') on figure 1-1 where Y) has undergone rotational distortion.
It shows that. From the above equation (1), there is a relationship as follows: X'=Xcosθ+Ysinθ Y'=Ycosθ−Xsinθ. Here, as shown, XW, YW, XL, Y
Considering L, ΔX, ΔY, X″, and Y″, it is expressed as follows.
ここで、入力図面1上の上記基準点(0、0)、(XW
、0)、(0、YW)、(XW、YW)が予め判ってい
る。そして、図形1−1を例えばテレビ・モニタ上に表
示した上で、上記基準点に対応する点の座標をライトペ
ンなとで入力して(0、0)、(Xa、Ya)、(Xb
、Yb)、(Xc、Yc)として指示すれば、XL=X
c−Xb
△X=Xb
YL=Yc−Ya
△Y=Ya
として既知の値として与えられる。Here, the above reference point (0, 0) on input drawing 1, (XW
, 0), (0, YW), and (XW, YW) are known in advance. Then, display the figure 1-1 on a TV monitor, for example, and input the coordinates of the point corresponding to the reference point using a light pen (0, 0), (Xa, Ya), (Xb
, Yb), (Xc, Yc), XL=X
It is given as a known value as c-Xb ΔX=Xb YL=Yc-Ya ΔY=Ya.
〔III〕ラベルコード生成処理部(2)(a)におけ
る初期格子点ラベル・コード生成。[III] Initial lattice point label/code generation in label code generation processing unit (2) (a).
上述の如くして画像メモリ上に読取られた画像データの
傾きなどが補正されると、本発明においては、第2図、
第3図に関連して上述した如く、格子点G5の近傍の画
像データを、格子点ラベル・コードの形で表現せしめる
ようにする。When the inclination of the image data read onto the image memory is corrected as described above, in the present invention, as shown in FIG.
As described above with reference to FIG. 3, the image data in the vicinity of the grid point G5 is expressed in the form of a grid point label code.
初期格子点ラベル・コードは、格子点近傍の図形構造を
大まかに把握するものであって、以下にその生成方式に
ついて説明する。The initial lattice point label code roughly grasps the graphical structure in the vicinity of the lattice point, and its generation method will be described below.
まず手書き図面を読取って得られた画像データを、第3
図に示す如く、格子軸X1ないしX3および格子軸Y1
ないしY3で区画し、これを第14図に示す如く、格子
点G5を中心に、格子幅nに相当するn×1画素の大き
さの窓部W1−Xおよび1×n画素の大きさの窓部W1
−yで、それぞれでX方向およびY方向に走査する。そ
してこの窓内に黒点が1画素でも存在するとき、これを
各窓部の黒点検出出力「1」としてこれを保持部「1−
Xおよび「1−Yにそれぞれ保持させる。その結果、例
えば第14図に示す画像データを窓部W1−X、W1−
Yで走査したとき、保持部「1−X、「1−Yにそれぞ
れ斜線部で示した如き状態で、上記窓部W1−X、W1
−Yからの黒点情報としての出力「1」が、各格子軸上
の投影結果として保持されることになる。First, the image data obtained by reading the handwritten drawing is
As shown in the figure, lattice axes X1 to X3 and lattice axis Y1
As shown in FIG. 14, there is a window W1-X with a size of n×1 pixel corresponding to the grid width n and a window portion W1-X with a size of 1×n pixels centered on the grid point G5, as shown in FIG. Window part W1
-y to scan in the X and Y directions, respectively. When even one black point exists within this window, this is set as the black point detection output of each window as "1" and is stored in the holding section "1-
As a result, the image data shown in FIG. 14 is held in windows W1-X and W1-Y, respectively.
When scanning is performed with
The output "1" as black point information from -Y is held as the projection result on each grid axis.
次に、第15図(A)に示すように保持部「1−Xに対
して右方向領域R0、「1を定義してこれらの領域内に
おける「1」(黒点情報を示す)の総和をめ、それが一
定の閾値以上であれは、格子点G5の右方向に線分が存
在する可能性があるという情報「R=1」を決定し、閾
値以下ならば可能性がないという情報「R=0」を決定
する。同様にして左方向領域L0、L1を定義して各領
域における「1」の総和をめ、これが閾値以上であれば
左方向に線分が存在する可能性があるという情報「L=
1」を決定し、閾値以下ならば「L=0」を決定する。Next, as shown in FIG. 15(A), rightward regions R0 and "1" are defined for the holding section "1-X," and the sum of "1" (indicating black point information) in these regions is calculated. Therefore, if it is above a certain threshold, the information "R=1" is determined that there is a possibility that a line segment exists to the right of the grid point G5, and if it is below the threshold, the information "R=1" is determined that there is a possibility that a line segment exists in the right direction of the grid point G5. R=0'' is determined. In the same way, left direction regions L0 and L1 are defined, and the sum of "1" in each region is calculated. If this is more than the threshold value, the information "L=
1" is determined, and if it is less than the threshold value, "L=0" is determined.
勿論、第15図(B)に示す如く、保持部「1−Yに対
しても、上下に上方向領域U0、U1及び下方向領域D
0、D1を定め領域U0、U1内およびD0、D1内の
「1」の総和が閾値以上か以下かに応じて上方向情報「
U=1又は0」および下方向情報「D=1又は0」を決
定する。このようにして、初期格子点ラベルコード(L
BL)D、L、U、Rがめられ、例えば第14図の画像
データに対しては、第16図(A)に示す如く、上下に
線分が存在する可能性があり、左右には可能性がないと
いう。Of course, as shown in FIG. 15(B), the holding part "1-Y" also has upper and lower regions U0 and U1 and a lower region D.
0, D1 are determined and the upward direction information "
U=1 or 0" and downward direction information "D=1 or 0" are determined. In this way, the initial grid point label code (L
BL) D, L, U, and R are recognized, and for example, for the image data in Figure 14, as shown in Figure 16 (A), there may be line segments above and below, and there may be line segments on the left and right. It is said that there is no sex.
第16図(B)に示す如き、格子点G5に対する初期格
子点ラベルコード「LBL=1O1O」が決定される。As shown in FIG. 16(B), the initial lattice point label code "LBL=1O1O" for the lattice point G5 is determined.
このようにして第17図(A)に示す如き画像データに
対しては、第17図(B)に示す如く、上・下・左・右
に線分の存在する可能性があることを示す形で第17図
(C)に示す初期格子点ラベルコード「LBL=111
1」がめられ、第18図(A)に示す画像データに対し
ては、第18図(B)に示す左・右・上方向に線分の存
在する可能性のあることを示す形で第18図(C)に示
す「LBL=0111」がめられ、第19図(A)に示
す画像データに対しては、同様に「LBL=0111」
がめられる。In this way, it is shown that for the image data as shown in FIG. 17(A), there is a possibility that line segments exist at the top, bottom, left, and right, as shown in FIG. 17(B). The initial grid point label code “LBL=111” shown in FIG. 17(C) in the form
1", and for the image data shown in FIG. 18(A), the image data shown in FIG. "LBL=0111" shown in FIG. 18(C) is set, and "LBL=0111" is similarly set for the image data shown in FIG. 19(A).
I get criticized.
〔IV〕ラベルコード生成処理部(2)(a)における
第1検証処理部の処理。[IV] Processing of the first verification processing section in the label code generation processing section (2) (a).
第1検証処理は、上記初期格子点ラベルコードLBLを
基にして、実際にその格子点近傍を、初期格子点ラベル
コードLBLに対応した方向に線分が存在するか否かを
検証するものである。The first verification process is to verify, based on the initial lattice point label code LBL, whether a line segment actually exists in the vicinity of the lattice point in the direction corresponding to the initial lattice point label code LBL. be.
まず、第20図に示す如く、WV0〜WV2.WH0〜
WH2の各第1検証窓部を設ける。これらの第1検証窓
部はLBLを基にして定められるものであって、「R=
1、L=1」のときは1×n画素の第1検証窓部WV0
を使用し、「R=0、L=1」のときは1×(n/2+
1)画素の第1検証窓部WV1を使用し、「R=1、L
=0」のときは1×(n/2+1)画素の第1検証窓部
WV2を使用する。そして「U=1、D=1」のときは
n×1画素の第1検証窓部WH0を使用し、「U=0、
D=1」のときは(n/2+1)×1画素の第1検証窓
部WH1を使用し、「U=1、D=0」のときは(n/
2+1)X1画素の第1検証窓部WH2を使用する。そ
して第21図(A)、(B)に示すように、これらの第
1検証窓部を水平格子軸(又は垂直格子軸)を始点とし
て、上下方向(又は左右方向)にスライドさせて黒点情
報を累積してゆき、最初に第1検証窓部を全部黒点情報
である「1」が埋める位置を検出する。このスライド操
作のスライド幅は上下左右方向とも格子間距離の半分、
すなわち、第21図(A)、(B)のnの範囲内である
。First, as shown in FIG. 20, WV0 to WV2. WH0~
Each first verification window portion of WH2 is provided. These first verification windows are determined based on the LBL, and “R=
1, when L=1, the first verification window WV0 of 1×n pixels
and when “R=0, L=1”, 1×(n/2+
1) Using the first verification window WV1 of the pixel, "R=1, L
=0'', the first verification window WV2 of 1×(n/2+1) pixels is used. When "U=1, D=1", the first verification window WH0 of n×1 pixels is used, and "U=0, D=1" is used.
When “D=1”, the first verification window WH1 of (n/2+1)×1 pixel is used, and when “U=1, D=0”, (n/2+1)×1 pixel is used.
2+1) A first verification window WH2 of X1 pixels is used. Then, as shown in FIGS. 21(A) and (B), these first verification windows are slid vertically (or horizontally) with the horizontal grid axis (or vertical grid axis) as the starting point, and the sunspot information is displayed. are accumulated, and first the position where the first verification window is completely filled with "1" which is black point information is detected. The slide width for this slide operation is half the grid distance in both the vertical and horizontal directions.
That is, it is within the range of n in FIGS. 21(A) and 21(B).
このスライド操作によって格子点近傍を初期格子点ラベ
ルコードに応じた方向の線分が存在するか否か、また存
在するとすれば、その線分は格子軸からどの程度ずれて
いるかということを検出することができる。そしてこれ
らのずれ情報を第1検証ずれ情報SX1、SY1として
抽出する。ここで次の如<SX1、SY1の符号を表示
する。This sliding operation detects whether there is a line segment in the vicinity of the grid point in the direction according to the initial grid point label code, and if so, how far that line segment deviates from the grid axis. be able to. Then, these pieces of deviation information are extracted as first verification deviation information SX1 and SY1. Here, the signs of <SX1, SY1 are displayed as follows.
SX1:左右方向のずれ +右方向;−左方向SY1:
上下方向のずれ +下方向;−上方向ただしn画素のス
ライド幅の範囲内で窓部内を黒点がすべて埋める状態が
存在しなかった場合には、SX1、SY1として「99
9」という値を設定する。そして初期格子点ラベルコー
ドLBLとして水平あるいは垂直方向の線分が検出され
なかった場合は、その方向にはスライド操作を行わなか
ったということを示すためにSX1、SY1として「1
000」という値を設定する。SX1: Lateral deviation +right direction; -left direction SY1:
Vertical shift +downward; -upward However, if the black dot does not completely fill the window within the n-pixel slide width, "99
Set the value "9". If a horizontal or vertical line segment is not detected as the initial grid point label code LBL, "1" is set as SX1 and SY1 to indicate that no slide operation was performed in that direction.
Set the value "000".
第22図ないし第25図は各種図形に対して第1検証処
理を行ってそのずれを検証した状態を示すものである。FIGS. 22 to 25 show states in which the first verification process is performed on various figures to verify their deviations.
第22図では「LBL=1010」に応じて、第20図
の第1検証窓部WH0を格子軸から4画素右にスライド
したとき第1検証窓部WH0を黒点にて埋めることがで
きるので「SX1=+4」となる。In FIG. 22, when the first verification window WH0 in FIG. 20 is slid 4 pixels to the right from the lattice axis according to "LBL=1010", the first verification window WH0 can be filled with black dots. SX1=+4''.
しかし「LBL−1010」であることから上下方向の
スライド操作を行う必要はないのでこれを示すため「S
Y1=1000」とする。また第23図では、「LBL
=1111」であって、このとき第1検証窓部WH0と
WV0をスライドさせる必要なくその格子軸でこれらの
第1検証窓部WH0とWV0が黒点で埋めることになる
ので「SX1=0.SY1=0」である。そして第24
図では、「LBL=0111」であり、このとき第1検
証窓部WH2は左方に1画素スライドさせたとき該第1
検証窓部WH2は全部黒点となり、第1検誰窓部WV0
を3画素下方にスライドさせたときこれを全部黒点とす
ることができるので、「SX1=−1、SY1=+3」
となる。しかしながら第25図の図形では、「LBL=
0111」であり、第1検証窓部WH2を左方に1画素
スライドさせたとき該第1検証窓部WH2はすべで黒点
とすることができるが、第1検証窓部WV0を使用して
第21回(A)に示す幅nでスライドしてもこの第1検
証窓部WV0を黒点で埋めることはできず、それ故「S
X1=−i、SY1=999」となる。However, since it is "LBL-1010", there is no need to perform vertical sliding operation, so to indicate this, "S
Y1=1000". Also, in Figure 23, “LBL
= 1111'', and at this time, the first verification windows WH0 and WV0 are filled with black dots on the lattice axis without the need to slide the first verification windows WH0 and WV0, so SX1 = 0.SY1 = 0". and the 24th
In the figure, "LBL=0111", and in this case, the first verification window WH2 is
The verification window WH2 is all black dots, and the first verification window WV0
If you slide 3 pixels downward, you can make all of them black points, so "SX1=-1, SY1=+3"
becomes. However, in the figure of Fig. 25, “LBL=
0111'', and when the first verification window part WH2 is slid one pixel to the left, the first verification window part WH2 can be completely turned into a black point. Even if it slides with the width n shown in Part 21 (A), this first verification window WV0 cannot be filled with black dots, and therefore "S
X1=-i, SY1=999''.
上記の如くめられた第1検証ずれ情報SX1、SY1を
基にして、格子点近傍の図形構造を捉えている矩形領域
を動かして、当該矩形領域内の線分を格子軸上に位置す
るように正規化したあとで、再び上記初期格子点ラベル
コード(LBL)を抽出した方法と同様な方法により格
子点ラベルコードをめ、これを第1検証ラベルコード(
LB1)とする。Based on the first verification deviation information SX1 and SY1 determined as above, the rectangular area that captures the graphic structure in the vicinity of the lattice point is moved to position the line segment within the rectangular area on the lattice axis. After normalizing to
LB1).
この場合X方向への正規化処理として次のようにする。In this case, normalization processing in the X direction is performed as follows.
「SX1=1000」、「SX1=999」、「SX1
=0」の場合は矩形領域は動かさない。そしてSX1>
0」のときは短形領域を右方向へ|5X1|だけ動かし
、「SX1<0」のときは矩形領域を左方向へ|SX1
|だけ動かす。"SX1=1000", "SX1=999", "SX1
= 0'', the rectangular area is not moved. And SX1>
0”, the rectangular area is moved to the right by |5X1|, and when “SX1<0”, the rectangular area is moved to the left |SX1
Move only |.
同様に、Y方向への正規化処理として次のようにする。Similarly, normalization processing in the Y direction is performed as follows.
「SY1=1000」、「SY1=999」、「SY1
=0」の場合は矩形領域は動かさない。そしで「SY1
>0」のときは矩形領域を下方向へ|SY1|だけ動か
し、「SY1<0」のときは矩形領域を上方向に|SY
1|だけ動かす。"SY1=1000", "SY1=999", "SY1
= 0'', the rectangular area is not moved. Then ``SY1
> 0”, the rectangular area is moved downward by |SY1|, and when “SY1<0”, the rectangular area is moved upward by |SY
Move only 1|.
例えば、第26図(A)に示す如き画像データの場合に
は、「SX1=4」のための矩形領域を右方向に(相対
的には画像データを左方向に)4画素だけ移動するが、
このとき「SY1=1000」のため上下方向には矩形
領域は動かさない。この結果、第26図(B)に示す如
き状態の図形が得られ。For example, in the case of image data as shown in FIG. 26(A), the rectangular area for "SX1=4" is moved by 4 pixels to the right (relatively, to the left of the image data). ,
At this time, since "SY1=1000", the rectangular area is not moved in the vertical direction. As a result, a figure as shown in FIG. 26(B) is obtained.
これを第14図に示した如き窓部W1−X、W1−Yで
走査して、保持部「1−Xおよび「1−Yには第26図
(B)の斜線部分に示す如き黒点情報が得られる。そし
てこれにもとづき、第15図に関連して説明したと同様
の処理を行って、壜11検証ラベルコードLB1(LB
1=DURL)を得ることができ、かくして第26図(
B)の図形では第1検証ラベルコード「LB1=101
0」を得る。This is scanned by windows W1-X and W1-Y as shown in FIG. 14, and black dot information as shown in the shaded area of FIG. Based on this, the same process as explained in connection with FIG. 15 is performed to obtain the bottle 11 verification label code LB1 (LB
1 = DURL), thus, Figure 26 (
In the figure B), the first verification label code “LB1=101
0” is obtained.
そして、第27図(A)に示す画像データの場合には、
「SX1=0、SY1=0」のために、左右上下方向の
移動は行わず、この結果第1検証ラベルコード「LB1
=1111」となり、初期格子点ラベルコードと同一と
なる。In the case of the image data shown in FIG. 27(A),
Because “SX1=0, SY1=0”, no movement is performed in the horizontal, vertical, and vertical directions, and as a result, the first verification label code “LB1
=1111'', which is the same as the initial grid point label code.
また第28図(A)に示す画倣データの場合には、「S
X1=−1、SY1=3」のために、矩形領域を左方向
に1画素、下方向に3画素だけ移動(相対的には画像デ
ータを右方向に1画素、上方向に3画素移動)して、上
記の如き処理を行い、その結果初期格子点ラベルコード
LBLと同一な、第1検証ラベルコード「LB1=01
11」を得る。In addition, in the case of the copying data shown in FIG. 28(A), "S
X1=-1, SY1=3", move the rectangular area by 1 pixel to the left and 3 pixels downward (relatively, move the image data by 1 pixel to the right and 3 pixels upward) Then, the above processing is performed, and as a result, the first verification label code "LB1=01", which is the same as the initial grid point label code LBL, is
11".
さらに、第29図(A)に示す画像データの場合には、
「SX1=−1、SY1=999」のために矩形領域を
左方向に1画素だけ移動して第1検証ラベルコード「L
B1=0111」を得る。Furthermore, in the case of the image data shown in FIG. 29(A),
Because “SX1=-1, SY1=999”, move the rectangular area by one pixel to the left and create the first verification label code “L”.
B1=0111" is obtained.
(V)ラベルコード生成処理部(2)(a)における第
2検証処理部の処理。(V) Label code generation processing section (2) Processing of the second verification processing section in (a).
第2検証処理は、上記第1検証ラベルコードLB1を基
にして、実際にその格子点近傍を、第1検証ラベルコー
ドLB1に対応した方向に線分が存在するか否かを検知
し、第2検証ラベルコードLB2をめるための処理であ
り、第1検証ラベルコードLB1に応じて、第30図に
示す如く、第2検証窓部BWV0=BWV2、BWH0
〜BWH2を設け、上記第1検証処理と同様の方法で検
証を行うものである。そして、これらの各第2検証窓部
の大きさは第3図に示す如く、格子点G5の両側の格子
軸間の幅をWDとするとき、次のように定められる。In the second verification process, based on the first verification label code LB1, it is detected whether or not a line segment actually exists in the direction corresponding to the first verification label code LB1 in the vicinity of the grid point. 2 verification label code LB2. According to the first verification label code LB1, as shown in FIG. 30, the second verification window BWV0=BWV2, BWH0
~BWH2 is provided, and verification is performed using the same method as the first verification process described above. As shown in FIG. 3, the size of each of these second verification windows is determined as follows, where WD is the width between the lattice axes on both sides of the lattice point G5.
これらの第2検証窓部の使用態様は次のようにして決定
される。すなわち、「R=1、L=1」のときは1XW
D画素の第2検証窓部BWV0を使用し、「R=0、L
=1」のときは1x(WD/2+1)画素の第2検証窓
部BWV1を使用し、「R=1、L=0」のときは1×
(WD/2+1)画素の第2検証窓部BWV2を使用す
る。そして「U=1、D=1」のときは、WD×1画素
の第2検証窓部BWH0を使用し、「U=0、D=1」
のときは(WD/2+1)×1画素の第2検証窓部BW
H1を使用し、「U=1、D=0」のときは(WD/2
+1)×1画素の第2検証窓部BWH2を使用する。The manner in which these second verification windows are used is determined as follows. In other words, when "R=1, L=1", 1XW
Using the second verification window BWV0 of the D pixel, "R=0, L
= 1", the second verification window BWV1 of 1x (WD/2+1) pixels is used, and when "R = 1, L = 0", 1x (WD/2+1) pixels are used.
A second verification window BWV2 of (WD/2+1) pixels is used. When "U=1, D=1", the second verification window BWH0 of WD×1 pixel is used, and "U=0, D=1"
When , the second verification window BW of (WD/2+1)×1 pixel
When using H1 and "U=1, D=0", (WD/2
+1)×1 pixel second verification window BWH2 is used.
そしてこれらの各第2検証窓部を水平格子軸(又は垂直
格子軸)を始点として上下方向(又は左右方向)にスラ
イドさせて黒点情報を累積してゆき、最初に212検証
窓部を全部黒点情報である「1」が埋める位置を検出す
る。このスライド操作のスライド幅は、上下左右とも、
第1検証窓部のときと同様に、第21図(A)、(B)
のnの範囲内である。そしてこの結果得られたずれ情報
を第2検証ずれ情報SX2.SY2として上記SX1、
SY1と同様にして決定するものである。Then, each of these second verification windows is slid vertically (or horizontally) from the horizontal grid axis (or vertical grid axis) to accumulate black point information, and first all 212 verification windows are black dots. The position to be filled with the information "1" is detected. The slide width for this slide operation is up, down, left, and right.
As in the case of the first verification window, FIGS. 21(A) and (B)
is within the range of n. Then, the deviation information obtained as a result is used as second verification deviation information SX2. The above SX1 as SY2,
This is determined in the same manner as SY1.
例えば、第30図の図形に対しては、「LB1=101
0」に応じて第2検証窓部BWH0を使用し、これを格
子軸から1画素右にスライドしたとき、この第2検証窓
部BWH0を黒点にて埋めることができるので「SX2
=1」となる。しかし「LB1=1010」より上下方
向のスライド操作を行う必要はないので、これを示すた
め「SY2=1000」とする。For example, for the figure in Figure 30, "LB1=101
0" and slide it one pixel to the right from the grid axis, this second verification window BWH0 can be filled with black dots, so "SX2
= 1". However, since it is not necessary to perform a sliding operation in the vertical direction from "LB1=1010", "SY2=1000" is used to indicate this.
また第31図では「LB1=1111」により第2検証
窓部BWH0とBWV0を使用する。このとき第2検証
窓部BWH0は格子軸上で黒点で埋めるためスライドさ
せる必要がなく「SX2=0」であるが9月12検証窓
部BWV0は下方に1画素スライドさせたとき全部黒点
となるので「SY2=1」となる。Further, in FIG. 31, the second verification window portions BWH0 and BWV0 are used due to "LB1=1111". At this time, the second verification window BWH0 is filled with black dots on the grid axis, so there is no need to slide it, and "SX2 = 0", but when the September 12 verification window BWV0 is slid downward by one pixel, all black dots become. Therefore, "SY2=1".
そして第32図では、「LB1=0111」により第2
検証窓部BW2とBWV0を使用する。このとき第検証
窓部BWH2およびBWV0は格子軸上に位置させたと
きいずれも全部黒点となるので「SX2=0、SY2=
0」である。In Fig. 32, “LB1=0111” causes the second
Verification windows BW2 and BWV0 are used. At this time, when the verification windows BWH2 and BWV0 are located on the lattice axis, they all become black dots, so "SX2=0, SY2=
0".
しかしながら第23図では「LB1=0111」により
、第2検証窓部BWH2およびBWV0を使用するもの
であるが、これらの第2検証窓部BWH2およびBWV
0を第21図(A)、(B)に示す幅n内にスライドし
ても全部黒点とすることができないので、「SX2=9
99、SY2=999」となる。However, in FIG. 23, the second verification window parts BWH2 and BWV0 are used due to "LB1=0111", but these second verification window parts BWH2 and BWV
Even if 0 is slid within the width n shown in FIGS. 21(A) and (B), it is not possible to make all black points,
99, SY2=999''.
上記の如くしてめられた第2検証ずれ情報SX2、SY
2を基にして、格子点近傍の図形構造を捉える矩形領域
を更に動かしてその線分を格子軸上により正確に位置す
るよう正規化したあとで、再び上記初期格子点ラベルコ
ードLBLおよび第1検証ラベルコードLB1を抽出し
たと同様の方法で、第2検証ラベルコードLB2をめる
。Second verification deviation information SX2, SY determined as above
2, after further moving the rectangular area that captures the graphical structure in the vicinity of the lattice points and normalizing the line segments to more accurately position them on the lattice axes, the initial lattice point label code LBL and the first A second verification label code LB2 is extracted in the same manner as the verification label code LB1 was extracted.
すなわち、第34図(A)では「SX2=1、SY2=
1000」であるので、これにもとづき矩形領域を右方
向に1画素移動する。このとき「SY2=1000」の
ため、上下方向には矩形領域は動かさない。この結果、
第34図(B)の如き図形が得られ、これにもとづき上
記初期格子点ラベルコードLBLおよび第1検証ラベル
コードLB1を抽出したときと同様の方法で第2検証ラ
ベルコード「LB2=1010」をめることができる。That is, in FIG. 34(A), "SX2=1, SY2=
1000'', the rectangular area is moved one pixel to the right based on this. At this time, since "SY2=1000", the rectangular area is not moved in the vertical direction. As a result,
A figure as shown in FIG. 34(B) is obtained, and based on this, the second verification label code "LB2=1010" is extracted in the same manner as when the above-mentioned initial grid point label code LBL and first verification label code LB1 were extracted. You can
また第35図(A)の図形では「SX2=0、SY2=
1」であり、矩形領域を下方向に1画素移動する。この
結果第35図(B)の如き図形が得られ、これにもとづ
き、第2検証ラベルコード「LB2=1111」をめる
ことができる。Moreover, in the figure of FIG. 35(A), "SX2=0, SY2=
1'' and moves the rectangular area downward by one pixel. As a result, a figure as shown in FIG. 35(B) is obtained, and based on this, the second verification label code "LB2=1111" can be set.
そして第36図(A)の図形では「SX2=0、SY2
=0」であり、このまま第36図(B)のように、第2
検証ラベルコード「LB2=0111」をめることがで
きる。In the figure of FIG. 36(A), "SX2=0, SY2
= 0'', and as shown in Figure 36 (B), the second
You can enter the verification label code "LB2=0111".
さらに、第37図(A)の図形では「SX2=999、
SY2=999」であり、このまま、第37図(B)の
ように、第2検証ラベルコード「LB2=0111」を
めることができる。Furthermore, in the figure of FIG. 37(A), “SX2=999,
SY2=999'', and the second verification label code ``LB2=0111'' can be entered as is, as shown in FIG. 37(B).
(VI)ラベルコード生成処理部(2)(a)における
局部形状抽出処理部の処理。(VI) Label code generation processing section (2) Processing of the local shape extraction processing section in (a).
上記によりめられたLBL、SX1、SY1、LB1、
SX2、SY2、LB2等は次の事項を表現している。LBL determined above, SX1, SY1, LB1,
SX2, SY2, LB2, etc. express the following items.
i)格子点近傍に線分が存在するかどうか。i) Whether a line segment exists near the grid point.
ii)格子点近傍に線分が存在する場合にはその線分は
4方向(上下左右)のどの方向のものか。ii) If a line segment exists near the lattice point, which of the four directions (up, down, left, and right) does the line segment belong to?
iii)格子点近傍に線分が存在するときにその線分が
格子軸からどの程度ずれているのか。iii) When a line segment exists near a lattice point, how far does the line segment deviate from the lattice axis?
この局部形状抽出処理は、これらの図形表現に加えて更
に細かい局所的な形状特徴を捉えるために設けられたも
のであり、第38図に示す第1軸出窓部SW′を用いて
、格子点近傍に存在する線分が線図形の線分であるかそ
れとも文字のストロークの一部であるか、その可能性を
表現するものである。This local shape extraction processing is provided to capture more detailed local shape features in addition to these graphic representations, and uses the first axis bay window SW' shown in FIG. 38 to extract grid points. It expresses the possibility of whether a line segment existing in the vicinity is a line segment of a line figure or a part of a character stroke.
そしてこの局部形状抽出処理は、上記第2検証処理部ま
での処理により正規化された図形に対して実行するもの
である。This local shape extraction processing is performed on the figure normalized by the processing up to the second verification processing section.
この場合、第1抽出窓部SW′の各辺の矩形領域内に、
第38図(B)および第39図(A)等図(A)した4
つの領域R3′、U3′、L3′、D3′を定義し、各
領域R3′−D3′に対して次の処理を行なう。In this case, within the rectangular area on each side of the first extraction window SW',
Figure 38 (B) and Figure 39 (A) Isometric view (A) 4
Three regions R3', U3', L3', and D3' are defined, and the following processing is performed for each region R3'-D3'.
(1)第39図(A)に示す如く、各領域R3′、U3
′、L3′、D3′を細分化して1×n画素あるいはn
×1画素の領域の集合として捉える。この場合、領域R
3′は細分領域R31′、R32′、R33′、に分割
され、領域U3′は細分領域U31′、U32′、U3
3′に分割され、領域L3′は細分領域L31′HL3
2′、L33′に分割され、領域D3′は細分領域D3
1′、D32′、D33′に分割されている。(1) As shown in FIG. 39(A), each region R3', U3
', L3', and D3' are subdivided into 1×n pixels or n
It is regarded as a set of areas of ×1 pixel. In this case, the area R
3' is divided into subdivision areas R31', R32', and R33', and area U3' is divided into subdivision areas U31', U32', and U3.
3', and area L3' is subdivided area L31'HL3.
2', L33', and area D3' is subdivided area D3.
1', D32', and D33'.
(2)各細分領域において(i)黒点の凝まりの個数(
ラインセグメントの個数)LSEG、(ii)黒点の数
(線幅に相当する)が閾値LTH以下である黒点の凝ま
りの個数(線幅とみなし得る黒点の凝まりの個数)AR
iを夫々カウントする。(2) In each subdivision area, (i) the number of black dot clusters (
(number of line segments) LSEG, (ii) number of black dot clusters where the number of black dots (corresponding to line width) is less than or equal to threshold LTH (number of black dot clusters that can be considered as line width) AR
Count each i.
なおここで閾値LTHは筆記用具や入力装置の解象度等
から決まる線幅の閾値である。Note that the threshold value LTH here is a threshold value of the line width determined based on the resolution of the writing instrument, the input device, and the like.
(3)細分領域毎に上記黒点の凝まりの個数LSEG、
黒点の凝まりの長さが閾値LTH以下の個数ARiの数
を基にして、あいまいさのフラグFAおよび連続腕CA
Mを示す次の2ビット情報を生成する。(3) Number of black dot clusters LSEG for each subdivision area,
The ambiguity flag FA and continuous arm CA are set based on the number ARi of which the length of the sunspot condensation is less than or equal to the threshold LTH.
Generate the next 2-bit information indicating M.
LSEG=1、ARi=1→FA=0、CAM=1LS
EG=0 →FA=0、CAM=0その他 →FA=1
、CAM=1
(4)領域R3′、U3′、L3′、D3′の各領域毎
に上記(3)により得られた情報の論理和をとり、これ
を4つの領域R3′、U3′、L3′、D3′毎に2ビ
ットの情報とする。LSEG=1, ARi=1→FA=0, CAM=1LS
EG=0 →FA=0, CAM=0Other →FA=1
, CAM=1 (4) Take the logical sum of the information obtained in (3) above for each region R3', U3', L3', D3', and divide this into the four regions R3', U3', Each L3' and D3' is 2-bit information.
(5)領域R3′、U3′、L3′、D3′の4つの領
域から得られる2ビットずつの情報の合計8ビットの情
報により、第39図fBlに示す第1抽出ラベルコード
LB3′′を生成する。ここで第39図(B)の最後の
4ビットD′、L′、U′、R′は、これらが「1」の
ときには、その方向に線分が走っていることを示してお
り、またFR′−FD′は、例えはFR′が「1」のと
きには右方向に走っている線分があいまいであること、
すなわち、線図形の一部の線分であってノイズが乗って
いるか2文字の一部であるということを表わしている。(5) The first extracted label code LB3'' shown in FIG. generate. Here, when the last 4 bits D', L', U', and R' of FIG. 39(B) are "1", it indicates that the line segment runs in that direction, and FR'-FD' means that, for example, when FR' is "1", the line segment running to the right is ambiguous;
In other words, it indicates that it is a part of a line segment of a line figure with noise added to it, or that it is a part of two characters.
FU′が「1」のときには、上方向に走っている線分が
あいまいであること、つまり上記FR′について説明し
たようなことが上方向に存在することを表し、FL′が
「1」のときには、左方向に走っている線分があいまい
であり・FD′が「1」のときには下方向に走っている
線分があいまいであって、それぞれ上記FR′についで
説明したようなことがこれらにも存在することを表わし
ている。そしてFF′が「1」のときは上記FR′ない
しFD′のいずれかが「1」であることを示している。When FU' is "1", it means that the line segment running upward is ambiguous, that is, the same thing as explained above for FR' exists in the upward direction, and when FL' is "1", Sometimes, the line segment running to the left is ambiguous, and when FD' is "1", the line segment running downward is ambiguous, respectively, as explained above for FR'. It also indicates that it exists. When FF' is "1", it indicates that any one of the above-mentioned FR' to FD' is "1".
したがって、第140図の図形を第1抽出窓部SW′を
使用して、上記(1)〜(5)の処理にもとづき第1抽
出ラベルコードLB3′′を作成する場合、「LB3′
=000001010」を得る。この場合は、第40図
の図形ではあいまいさはなく、線分が上下に走っている
ことを示している。Therefore, when creating the first extracted label code LB3'' based on the process of (1) to (5) above using the first extraction window SW' for the figure shown in FIG.
=000001010" is obtained. In this case, there is no ambiguity in the figure of FIG. 40, which shows that line segments run up and down.
そして第41図の図形について第1抽出ラベルコードL
B3′′を作成すれば「LB3′′=00000111
1」を得る。この場合は、あいまいさがなく、線分が上
下左右に走っていることを示している。Then, the first extracted label code L for the figure in Figure 41
If you create B3'', "LB3''=00000111
1”. In this case, there is no ambiguity, indicating that the line segments run vertically and horizontally.
また第42図の図形について第1抽出ラベルコードLB
3′′を作成すれば「LB3′′=000000111
」を得るが、これはあいまいさがなく、線が上方向と左
右に走っていることを示している。Also, for the figure in Figure 42, the first extracted label code LB
If you create 3'', “LB3''=000000111
”, which shows that there is no ambiguity and that the line runs upwards and from side to side.
しかし、第43図の図形について第1抽出ラベルコード
LB3′′を作成すれば、「LB3′′=100111
111」を得る。これは線分がこの第1抽出窓部SW′
に対しては上下左右に存在するものの、そのうち上方向
と右方向のものにあいまいさが存在することを示してい
る。However, if the first extracted label code LB3'' is created for the figure in Figure 43, then "LB3''=100111
111". This means that the line segment is this first extraction window SW'
This shows that, although there are both vertical and horizontal directions, there is ambiguity in the upward and rightward directions.
一般には上記第1抽出窓部SW′を使用して局部形状抽
出処理を行えは足りるが、例えば第44図(A)に示す
如く線分に非所望な切れ目Gが存在すると、第1抽出ラ
ベル・コードLB3′′においては第39図(B)図示
のビットU′が論理「0」を示すことになる。この点を
改良すべく、第44図に示す形の第2抽出窓部SW′を
用いるようにされる。該第2抽出窓部SW′は、第38
図(B)に示す第1抽出窓部SW′を包含しており、上
述の領域R3′、U3′、L3′、D3′の他に、第4
4図(B)に示す如く、領域R3゜U3′、L3′、D
3′をもっている。そして、上述の第1抽出ラベル・コ
ードLB3′を抽出したと同様に、上記領域R3′、U
3′、L3′、D3′を用いて第2抽出ラベル・コード
LB3′′を抽出する。Generally, it is sufficient to perform the local shape extraction process using the first extraction window SW', but if an undesired break G exists in the line segment as shown in FIG. 44(A), for example, the first extraction - In code LB3'', bit U' shown in FIG. 39(B) indicates logic "0". In order to improve this point, a second extraction window SW' having a shape shown in FIG. 44 is used. The second extraction window section SW' is the 38th extraction window section SW'.
It includes the first extraction window SW' shown in FIG.
As shown in Figure 4 (B), the areas R3゜U3', L3', D
It has 3'. Then, in the same way as the above-mentioned first extraction label code LB3' is extracted, the above-mentioned regions R3' and U
3', L3', and D3' are used to extract the second extracted label code LB3''.
第45図(A〕(b)は、第44図(A)に示す画像デ
ータ(図示斜線部)に対して領域R3′、U3′、L3
′、D3′を用いて第1抽出ラベル・コードLB3′を
抽出した状態を示している。また第45図(C〕(d)
は、同じ第44図(A)に示す画像データに対して領域
R3′、U3′、L3′、D3′を用いて第2抽出ラベ
ル・コードLB3′を抽出した状態を示している。FIG. 45(A)(b) shows areas R3', U3', and L3 for the image data (hatched area in the figure) shown in FIG. 44(A).
', D3' is used to extract the first extracted label code LB3'. Also, Figure 45 (C) (d)
44(A) shows a state in which a second extracted label code LB3' is extracted using regions R3', U3', L3', and D3' for the same image data shown in FIG. 44(A).
上記第1抽出ラベル・コードLB3′と第2抽出ラベル
・コードLB3′とが抽出された時点で、これらの両コ
ードを用いて、局部形状抽出ラベル・コードLB3を決
定する。各コードを
のように表示するとき、局部形状抽出ラベル・コードL
B3は次の論理によって決定される。When the first extracted label code LB3' and the second extracted label code LB3' are extracted, the local shape extracted label code LB3 is determined using these two codes. When displaying each code as follows, local shape extraction label code L
B3 is determined by the following logic.
即ち、最初にLB3′をまずLB3に代入する。That is, first, LB3' is assigned to LB3.
そして次に、
の処理を実行し、代入して得られたLB3を補正すると
ともに、第5図図示のギャップ・フラグGFおよびギャ
ップ方向コードGD・GL・GU・GRの情報を生成す
る。Then, the following process is executed to correct LB3 obtained by substitution, and to generate information on the gap flag GF and gap direction codes GD, GL, GU, and GR shown in FIG.
上記処理によって第44図(A)に示した程度の線パタ
ーンの切れは充分吸収し得る。第46図は、第45図(
B)図示のコードLB3′と第45図(D)図示のコー
ドLB3′とにもとづいて得られた局部形状抽出ラベル
・コードLB3′と、上記ギャップ関係のビットGF、
GD、GL、GU、GRとを示している。By the above processing, the breakage of the line pattern as shown in FIG. 44(A) can be sufficiently absorbed. Figure 46 is similar to Figure 45 (
B) Local shape extraction label code LB3' obtained based on the code LB3' shown in the figure and the code LB3' shown in FIG.
GD, GL, GU, and GR are shown.
なお、ギャップ方向の抽出処理は、上述の第2検証処理
によって入力画像を格子軸上に正規化した後、第2検証
ラベルコードを抽出するために投影処理を実行するが、
ギャップ方向の抽出はこの投影結果を基にして各方向に
おける投影結果が連続しているか否かの判定によって行
う。第47図、第48図に処理例を示す。Note that in the extraction process in the gap direction, after the input image is normalized on the lattice axis by the second verification process described above, a projection process is executed to extract the second verification label code.
The gap direction is extracted by determining whether or not the projection results in each direction are continuous based on the projection results. Processing examples are shown in FIGS. 47 and 48.
(VII〕ラベルコード生成処理部(2)(a)におけ
る集約的格子点ラベル・コード(LOGLBL)の決定
処理。(VII) Determination processing of collective lattice point label code (LOGLBL) in label code generation processing unit (2) (a).
上記(III〕ないし(VI〕によって、初期格子点ラ
ベルコードLBL;第1検証ずれ情報SX1、SY1、
第1検証ラベルコードLB1;第2検証ずれ情報SX2
、SY2、第2検証ラベルコードLB2、および局部形
状抽出ラベルコードLB3を抽出することができる。そ
してこれらの抽出情報をまとめて第5図に示す如き形で
32ビットの集約的格子点ラベルコードLOGLBLを
下記の如く決定する。According to (III) to (VI) above, initial grid point label code LBL; first verification deviation information SX1, SY1,
First verification label code LB1; second verification deviation information SX2
, SY2, the second verification label code LB2, and the local shape extraction label code LB3 can be extracted. Then, a 32-bit aggregate lattice point label code LOGLBL is determined as follows by putting together these extracted information in the form shown in FIG.
(1)初期格子点ラベルコードLBLがずべて0のとき
は、格子点ラベルコードLOGLBLは32ビット全部
を「0」にするが、LBLがすべて「0」でないときで
局部、形状抽出ラベルコードLB3がすべて「0」の場
合には、LOGLBLを#16ビット目のあいまいフラ
グのみ「1」にして残りの31ビットを「0」とする。(1) When the initial lattice point label code LBL is all 0, the lattice point label code LOGLBL sets all 32 bits to "0", but when LBL is not all "0", the local shape extraction label code LB3 If all are "0", only the #16th bit of the ambiguity flag is set to "1" in LOGLBL, and the remaining 31 bits are set to "0".
(2)第1検証ずれ情報SX1、SY1および第2検証
ずれ情報SX2、SY2がいずれも「999」でない場
合には次式によりSX、SYをめる。(2) If the first verification deviation information SX1, SY1 and the second verification deviation information SX2, SY2 are both not "999", calculate SX and SY by the following formula.
SX=SX1+5X2
SY=SY1+SY2
ただし「SX1=1000」又は「SX2=1000」
のとき「SX=0」とし、「SY=1000」又は「S
Y2=1000」のとき「SY=0」とする。SX=SX1+5X2 SY=SY1+SY2 However, "SX1=1000" or "SX2=1000"
When "SX=0", "SY=1000" or "S
When "Y2=1000", "SY=0" is set.
(3)この結果を用いて、まず、LOGLBLをクリア
して、LBL、LB1、LB2およびLB3の下位4ビ
ットの論理積をとり、LOGLBLの下位ビット、すな
わち、第5図の#28ないし#31ビットに設定する。(3) Using this result, first clear LOGLBL, take the AND of the lower 4 bits of LBL, LB1, LB2, and LB3, and calculate the lower bits of LOGLBL, that is, #28 to #31 in FIG. Set to bit.
(4)次に上記SX、SYの絶対値|SX|、|SY|
に対して、ずれの閾値ATHを設定し、次の処理を行な
う。この閾値ATHは、例えは窓部の最大移動距離であ
るnの半分即ちn/2に定める。(4) Next, the absolute values of the above SX and SY |SX|, |SY|
A deviation threshold value ATH is set for , and the following processing is performed. This threshold value ATH is set to, for example, half of n, which is the maximum movement distance of the window portion, ie, n/2.
(4−1)|SX|>ATHの場合、
第5図に示すLOGLBLの#23ビットであるずれフ
ラグを「1」にする。(4-1) When |SX|>ATH, set the shift flag, which is the #23 bit of LOGLBL shown in FIG. 5, to "1".
そして「SX>0」のとき、右方向にずれているので、
LOGLBLの#22ビットを「1」とし、
「SX<0」のとき、左方向にずれているのでLOGL
BLの#20ビットを「1」とする。And when "SX>0", it is shifted to the right, so
Set the #22 bit of LOGLBL to "1", and when "SX<0", it is shifted to the left, so LOGL
The #20 bit of BL is set to "1".
また、あまり大きく矩形領域を動かしすぎることにより
生ずる弊害を防止するために上記ATHよりやや小さい
閾値OTHを設定し1次の処理を行う。In addition, in order to prevent problems caused by moving the rectangular area too much, a threshold value OTH that is slightly smaller than the above ATH is set and the primary processing is performed.
|SX|>OTHの場合、
「SX>0」ならば、
LBLのRビットが「1」ならば、格子軸の右側にあっ
たものをシフトしすぎたことを示すものであり、最初の
状態に信頼を置きLOGLBLの#31ビットを「1」
とする。In the case of |SX|>OTH, if "SX>0", if the R bit of LBL is "1", it indicates that the right side of the lattice axis has been shifted too much, and the initial state is Trust the LOGLBL #31 bit to “1”
shall be.
「SX<0」ならば、
LBLのLビットが「1」ならば、同様にしてLOGL
BLの#29ビットを「1」にする。If “SX<0”, if the L bit of LBL is “1”, then LOGL
Set #29 bit of BL to “1”.
(4−2)|SY|>ATHの場合、
上記(4−1)と同様に、LOGLBLの#23ビット
であるずれフラグを「1」にする。(4-2) When |SY|>ATH, similarly to (4-1) above, set the shift flag, which is bit #23 of LOGLBL, to "1".
そして「SY>0」のとき、下方向にずれているので、
LOGLBLの#19ビットを「1」とし、「SY<0
」のとき上方向にずれているので#21ビットを「1」
にする。And when "SY>0", it is shifted downward, so
Set the #19 bit of LOGLBL to “1” and set “SY<0
”, the shift is upward, so set #21 bit to “1”
Make it.
また|SY|>OTHの場合
「SY>0」ならば、
LBLのUのビットが「1」ならば、LOGLBLの#
30ビットを「1」にする。Also, in the case of |SY|>OTH, if "SY>0", if the U bit of LBL is "1", then # of LOGLBL
Set 30 bits to “1”.
「SY<0」ならば、
LBLのDのビットが「1」ならば、LOGLBLの#
28ビットを「1」にする。If “SY<0”, if bit D of LBL is “1”, # of LOGLBL
Set 28 bits to “1”.
(5)それから、あいまい方向の処理を行なう。(5) Then, processing in the ambiguous direction is performed.
(5−1)LOGLBLの#31ビットが「1」でかつ
LB3のFRのビットが「1」ならは、LOGLBLの
#27ビットおよび#16ビットの各ビットを「1」に
する。(5-1) If the #31 bit of LOGLBL is "1" and the bit of FR of LB3 is "1", set each bit of #27 bit and #16 bit of LOGLBL to "1".
(5−2)LOGLBLの#30ビットが「1」でかつ
LB3のFUのビットが「1」ならば、LOGLBLの
#26ビットおよび#16ビットの各ビットを「1」に
する。(5-2) If the #30 bit of LOGLBL is "1" and the bit of FU of LB3 is "1", set each bit of #26 bit and #16 bit of LOGLBL to "1".
(5−3)LOGLBLの#29ビットが「1」でかつ
LB3のFLのビットが「1」ならば、LOGLBLの
#25ビットおよび#16ビットの各ビットを「1」に
する。(5-3) If the #29 bit of LOGLBL is "1" and the FL bit of LB3 is "1", set each bit of #25 bit and #16 bit of LOGLBL to "1".
(5−4)LOGLBLの#28ビットが「1」でかつ
LB3のFDのビットが「1」ならば、LOGLBLの
#24ビットおよび#16ビットの各ビットを「1」に
する。(5-4) If the #28 bit of LOGLBL is "1" and the bit of FD of LB3 is "1", set each bit of #24 bit and #16 bit of LOGLBL to "1".
(6)第1検証ずれ情報SX1、SY1および第2検証
ずれ情報SX2.SY2がいずれも「999」の場合で
は、次の如き処理を行う。(6) First verification deviation information SX1, SY1 and second verification deviation information SX2. If both SY2 are "999", the following processing is performed.
(6−1)LOGLBLをクリアーし、LBL、LB1
、LB2、LB3の下位4ビットの論理積をとり、LO
GLBLの下位4ビットすなわち#28ないし#31ビ
ットを上記論理積に設定する。(6-1) Clear LOGLBL, LBL, LB1
, LB2, LB3 are logically ANDed, and the LO
The lower four bits of GLBL, ie, bits #28 to #31, are set to the above-mentioned AND.
(6−2)LOGLBLの#16ビットを「1」にし、
線分としてはあいまいであって文字の可能性のあること
を示す。(6-2) Set #16 bit of LOGLBL to “1”,
Indicates that the line segment is ambiguous and may be a character.
(7)第1検証ずれ情報SX1と第2検証ずれ情報SX
2がともに「999」」であってしかも第1検証ずれ情
報「SY1=1000」の場合には、上記(6)と同様
な処理を行なう。(7) First verification deviation information SX1 and second verification deviation information SX
2 are both "999" and the first verification deviation information "SY1=1000", the same process as in (6) above is performed.
(8)第1検証ずれ情報SX1が「1000」であって
しかも第1検証ずれ情報SY1および第2検証ずれ情報
SY2が「999」の場合には、上記(6)と同様な処
理を行なう。(8) If the first verification deviation information SX1 is "1000" and the first verification deviation information SY1 and the second verification deviation information SY2 are "999", the same process as in (6) above is performed.
(9)第1検証ずれ情報SX1が「999」であってし
かも第1検証ずれ情報SY1と第2検証ずれ情報SX2
、SY2がいずれも検証できたことを示す、「999」
より小さい場合には、SX=SX2
SY=SY1+SY2
として上記(3)ないし(5)の処理を行なう。(9) The first verification deviation information SX1 is “999” and the first verification deviation information SY1 and the second verification deviation information SX2
, "999" indicates that SY2 was verified.
If it is smaller, SX=SX2 SY=SY1+SY2 and the above processes (3) to (5) are performed.
(10)第1検証ずれ情報SX1、SY1および第2検
証ずれ情報SX2、SY2が「SXl<999」で「S
Y1=999」で「SX2〈999」でしかも「SY2
<999」の場合には、
SX=SXl+SX2
SY=SY2
として、上記(3)ないし(5)の処理を行なう。(10) The first verification deviation information SX1, SY1 and the second verification deviation information SX2, SY2 are “SXl<999” and “S
Y1=999” and “SX2<999” and “SY2
<999'', SX=SXl+SX2 SY=SY2 and the processes (3) to (5) above are performed.
(11)上記(1)ないし(10)以外の場合、下記の
如き処理を行う。(11) In cases other than (1) to (10) above, the following processing is performed.
SX1≧999→SX1=0
SX2≧999→SX2=0
SY1≧999→SY1=0
SY2≧999→SY2=0
SX=SX1+SX2
SY=SY1+SY2
としかつ、LOGLBLの#16ビットを「1」とし、
上記(4)、(5)の処理を行う。SX1≧999→SX1=0 SX2≧999→SX2=0 SY1≧999→SY1=0 SY2≧999→SY2=0 SX=SX1+SX2 SY=SY1+SY2 and set #16 bit of LOGLBL to “1”,
Processes (4) and (5) above are performed.
上記(1)ないし(11)の如き処理により生成される
集約的格子点ラベルコードLOGLBLの表現すること
を要約すれば次のようになる。The expression of the aggregate lattice point label code LOGLBL generated by the processes (1) to (11) above can be summarized as follows.
(a)格子点近傍に線分が存在するか否か。これはLO
GLBLの#28ないし#31ビットの4方向コードに
よりわかる。(a) Whether or not a line segment exists near the lattice point. This is LO
This can be determined by the 4-way code of #28 to #31 bits of GLBL.
(b)格子点近傍に線分が存在するとすれば、その線分
は左右上下の4方向のうちのどの方向の線分であるか否
か、あるいはその線分は線図形の一部か文字の一部であ
るかの可能性を表わす。(b) If a line segment exists near a grid point, which direction of the four directions (left, right, top, and bottom) does that line segment belong to? Or is it part of a line figure or a character? represents the possibility that it is part of the
これはLOGLBLの#16ビットと#24ないし#2
7ビット即ちあいまいフラグとあいまい方向コードによ
りわかる。This is #16 bit of LOGLBL and #24 to #2
This can be determined by 7 bits, that is, an ambiguous flag and an ambiguous direction code.
(c)格子点近傍に線分が存在すれば、その線分は格子
軸からどの方向にずれているか。これはずれフラグとず
れ方向コードを示すLOGLBLの#19ないし#23
ビットによりわかる。(c) If a line segment exists near a lattice point, in what direction is the line segment displaced from the lattice axis? This is #19 to #23 of LOGLBL indicating the deviation flag and deviation direction code.
This can be determined by the bit.
そして上記のようにして決定された集約的格子点ラベル
コードLOGLBLを、第49図ないし第52図につい
て示す。The aggregate lattice point label code LOGLBL determined as described above is shown in FIGS. 49 to 52.
第49図(A)に示す図形の場合には、そのLBL、L
B1〜LB3、SX1、SY1、SX2、SY2はその
(A)〜(C)に示す通りであり、これらにもとづき、
同図(D)に示す如きLOGLBLが得られる。In the case of the figure shown in FIG. 49(A), its LBL, L
B1 to LB3, SX1, SY1, SX2, and SY2 are as shown in (A) to (C), and based on these,
A LOGLBL as shown in FIG. 3(D) is obtained.
第50図(A)の図形も、同様にして第50図(D)に
示すLOGLBLが得られ、第51図、第52図につい
てもこれまた同様である。For the figure in FIG. 50(A), the LOGLBL shown in FIG. 50(D) is obtained in the same way, and the same is true for FIGS. 51 and 52.
このようにして本発明によれば、入力画像情報を格子点
近傍の図形表現によって格子点上のコード情報である格
子点ラベルコードに圧縮することができる。In this manner, according to the present invention, input image information can be compressed into grid point label codes, which are code information on grid points, by graphical representation of the vicinity of the grid points.
(VIII〕ラベルコード生成処理部(2)(a)にお
けるライン結合子についての認識処理。(VIII) Recognition processing for line connectors in label code generation processing unit (2) (a).
該ラベルコード生成処理部(2)(a)においては、第
5図図示コードLOGLBLにおける#18ビット(ラ
イン結合子表示フラグ)を立てるか否かをチェックする
。該ライン結合子とは、上述した如く、論理回路図上の
結線ラインの交差点が電気的に接続されているか否かを
示す微小な黒丸であると考えてよい。該黒丸の存否を検
出するに当っては、言うまでもなく結線ラインの存在を
正しく見出した上で、上記交差点に対応する位置におい
て画像データのパターンを調べるようにされる。以下、
その処理態様を述べる。The label code generation processing unit (2) (a) checks whether the #18 bit (line connector display flag) in the illustrated code LOGLBL in FIG. 5 is set. As described above, the line connector can be thought of as a minute black circle that indicates whether or not the intersections of connection lines on the logic circuit diagram are electrically connected. In detecting the presence or absence of the black circle, it goes without saying that the existence of the connecting line is correctly discovered, and then the pattern of the image data is examined at the position corresponding to the intersection. below,
The processing mode will be described below.
画像メモリに記憶されている画像データの部分画像が、
格子座標を基準にして切り出される。A partial image of the image data stored in the image memory is
It is cut out based on the grid coordinates.
即ち、第53図(A)に示す如く、垂直格子軸X0、水
平格子軸Y0による格子座標(X0、Y0)を基準にし
た部分画像が切り出される。この状態で、部分画像に対
し、第53図(B).(C)に示すように、水平方向(
左右)の2種類の水平ウィンドウHW1、HW2(その
各々のサイズを1×m画素とする)及び垂直方向VW1
、VW2(上下)の2種類の垂直ウィンドウ(その各々
のサイズをm×1画素とする)を設定し、第53図に示
される如く予め設定されているスライド範囲WHで水平
ウィンドウを上から下へ、又スライド範囲WVで垂直ウ
ィンドウを左から右へスライドさせる。That is, as shown in FIG. 53(A), a partial image is cut out based on the grid coordinates (X0, Y0) defined by the vertical grid axis X0 and the horizontal grid axis Y0. In this state, the partial image shown in FIG. 53(B). As shown in (C), the horizontal direction (
Two types of horizontal windows HW1 and HW2 (each of which has a size of 1×m pixels) (left and right) and vertical windows VW1
, VW2 (top and bottom) (each with a size of m x 1 pixel), and move the horizontal window from top to bottom within the preset sliding range WH as shown in Figure 53. , and slide the vertical window from left to right in the slide range WV.
これらウィンドウのスライド過程において単位距離、例
えば1画素移動毎にウィンドウ内にある「1」(黒点)
の総数をめ、その総数が予め設定されている閾値を超え
ているか否かを調べる。そして超えているならばその位
置をライン部分とみなしながら、その検出をスライド範
囲終端まで継続して上下左右の各方向におけるラインの
有無とその位置を検出する。In the sliding process of these windows, each unit distance, for example, 1 pixel movement, there is a "1" (black dot) in the window.
, and check whether the total number exceeds a preset threshold. If it is exceeded, that position is regarded as a line part, and the detection is continued until the end of the slide range to detect the presence or absence of a line in each of the up, down, left and right directions, and its position.
このようにして検出されるラインはウィンドウのスライ
ド範囲の中間部分に存在するライン、つまり、ラインで
ない部分によって挾まれているラインである。第54図
に上方向ウィンドウVW1によるラインの検出例を示す
。尚、DTLは検出されたライン位置を示す。The line detected in this way is a line that exists in the middle of the sliding range of the window, that is, a line that is sandwiched by non-line parts. FIG. 54 shows an example of line detection by the upper window VW1. Note that DTL indicates the detected line position.
上述の如く、閾値を設定することにより、切れが生じて
いるラインも検出し得ると共に、歪んでいるラインもそ
の位置を比較的正確に検出し得る。As described above, by setting the threshold value, it is possible to detect lines that are broken, and also to relatively accurately detect the position of distorted lines.
なお、上記閾値はmより若干小さな値に設定される。Note that the threshold value is set to a value slightly smaller than m.
このようにして検出されたラインの有無及びその位置を
基にして、ライン位置の補正処理を行う。Based on the presence or absence of a line detected in this manner and its position, line position correction processing is performed.
該補正処理は第1表に示す如き論理にしたがって行われ
る。The correction process is performed according to the logic shown in Table 1.
即ち、ケース(1)の如く上方向(又は左方向)に向う
ラインが存在せずかつ下方向く又は右方向)に向うライ
ンが存在しない場合には、上下方向(又は左右方向)の
ラインは存在しないとする。In other words, if there is no upward (or leftward) line and no downward (or rightward) line as in case (1), the vertical (or horizontal) line is Assume that it does not exist.
またケース(2)の如く上方向(又は左方向)に向うラ
インが存在せずかつ下方向(又は右方向)に向うライン
が存在している場合には、下方向(又は右方向)のライ
ンが存在する位置と同じ位置で上方向(又は左方向)の
ラインが存在しているものと仮定する。更にケース(4
)の場合には、検出されたそのままの位置に上下方向(
又は左右方向)のラインが存在しているとする。このよ
うな補正を行う理由は、T字型の交差の場合や、入力画
品質が悪い場合などにおいては、4方向全部のラインが
検出されないこととなり、この点を仮補正しておくため
である。Also, as in case (2), if there is no upward (or leftward) line but there is a downward (or rightward) line, the downward (or rightward) line Assume that there is an upward (or leftward) line at the same position where . Furthermore, the case (4
), the vertical direction (
It is assumed that there is a line in the left-right direction). The reason for performing this kind of correction is to temporarily correct for lines in all four directions not being detected in cases such as T-shaped intersections or poor input image quality. .
この補正処理で第1表のケース(1)の時は、上下方向
又は左右方向のラインは存在しないので、後述する所の
交差点近傍領域の切り出しとマッチング演算と判定とを
行うまでもなく、ライン結合子が存在しないことが判定
可能である。そのため後述の各処理は省略される。In case (1) of Table 1 in this correction process, there is no line in the vertical or horizontal direction, so there is no need to cut out the area near the intersection, perform matching calculations, and make a determination, which will be described later. It is possible to determine that the connector does not exist. Therefore, each process described later is omitted.
そして、上記表のケース(2)、(3)、(4)の時は
上下左右の各方向のラインが実在又は仮定されるので、
この補正処理の出力値を基にライン結合子の形状特徴と
なる交差点近傍領域を部分画像から切り出す。切り出し
領域は、第55図に示す如く、補正処理の出力値を基準
にして設定される4方向のラインによって挾まれ、大き
さがn×nの4つの矩形領域C1〜C4である。この切
り出し処理は交差点近傍領域に関して4n2のビットパ
ターンを切り出すことによって行われる。In cases (2), (3), and (4) in the table above, lines in each direction (up, down, left, and right) exist or are assumed, so
Based on the output value of this correction process, a region near the intersection, which is a shape feature of the line connector, is cut out from the partial image. As shown in FIG. 55, the cutout areas are four rectangular areas C1 to C4 of size n×n, which are sandwiched by lines in four directions set based on the output value of the correction process. This cutting process is performed by cutting out a 4n2 bit pattern for the area near the intersection.
尚、第55図中LUは上方向ライン、LLは左方向ライ
ン、LDは下方向ライン、LRは右方向ラインである。In FIG. 55, LU is an upward line, LL is a leftward line, LD is a downward line, and LR is a rightward line.
こうして切り出された領域ビットパターンについては例
えば辞書メモリから読み出される辞書ビットパターンと
、次のようなマッチング演算が行われる。The region bit pattern thus cut out is subjected to the following matching operation with, for example, a dictionary bit pattern read from the dictionary memory.
但し、上式で、C1は切り出された領域ビットパターン
のi番目のビット、Dijはj番目の辞書ビットパター
ンのi番目のビット、Kは辞書メモリへ登録されている
パターンの数、4n2は上述した各パターンのサイズを
表わす。However, in the above formula, C1 is the i-th bit of the extracted region bit pattern, Dij is the i-th bit of the j-th dictionary bit pattern, K is the number of patterns registered in the dictionary memory, and 4n2 is the above-mentioned represents the size of each pattern.
そして、上述のマッチング演算結果Tが閾値以下である
ならば、その交差点にはライン結合子が存在しないと判
定され、閾値以上ならばその交差点にライン結合子が存
在すると判定される。If the above matching calculation result T is less than or equal to the threshold value, it is determined that no line connector exists at that intersection, and if it is greater than or equal to the threshold value, it is determined that a line connector exists at that intersection.
〔IX〕円・三角抽出処理部(2)(b)における小円
形状パターン抽出の処理。[IX] Small circle pattern extraction process in circle/triangle extraction processing unit (2) (b).
論理回路図における小円形状パターンは第56図(A)
、(B)の如き反転を意味するもの、及び壜第56図(
C)の如き結合を意味するもの等がある。第56図(A
)の場合は円パターン図形Mがなければアンドゲート、
あればナンドゲートであるから、図形Mはそれが円であ
ること、および結合している周囲図形Nを調べることが
重要である。円図形Mの周囲図形N即ち第56図(A)
で言えばアンドシンボルは別途他の手段で認識されるこ
とから、図形Mが円なのか、その近傍にはどのような線
分があるかを認識し、該円パターン図形Mの意味を知ろ
うとしている。The small circular pattern in the logic circuit diagram is shown in Figure 56 (A).
, (B) which means inversion, and bottle Fig. 56 (
There are also those that mean a combination such as C). Figure 56 (A
), if there is no circle pattern figure M, an AND gate,
If so, it is a NAND gate, so it is important to check that the figure M is a circle and to check the surrounding figures N to which it is connected. Surrounding figure N of circular figure M, that is, Fig. 56 (A)
In other words, the AND symbol is recognized by other means, so let's recognize whether the figure M is a circle and what kind of line segments there are in its vicinity, and learn the meaning of the circular pattern figure M. It is said that
図面上に書かれる小円形状パターンの記述位置は他の線
図形に比べて位置ずれがはげしい。これに対処するため
どの場所に描かれていてもその存在が認識されるように
位置ずれに対して柔軟に対応する必要がある。以下論理
回路図によく現われる2mmφの円形パターンを例にと
って述べる。1mmφあたり8本の解像度とした場合視
野として25×25画素の矩形領域を用いると2mmφ
の円形パターンに対して片方4画素の余裕があるからこ
れによって0.5mmまでの位置ずれは視野の矩形領域
に入ってくることになる。第57図にこの視野の矩形領
域4と円形パターン5との相対関係を示す。第57図は
円形パターン5が領域4の中心に入っている場合を示す
。The position of the small circular pattern drawn on the drawing is more likely to be misaligned than other line figures. To deal with this, it is necessary to flexibly respond to positional shifts so that the presence of the object is recognized no matter where it is drawn. A circular pattern of 2 mmφ that often appears in logic circuit diagrams will be described below as an example. When the resolution is 8 lines per 1 mmφ and a rectangular area of 25 x 25 pixels is used as the field of view, the diameter is 2 mmφ.
Since there is a margin of 4 pixels on each side for the circular pattern, a positional deviation of up to 0.5 mm will fall within the rectangular area of the visual field. FIG. 57 shows the relative relationship between the rectangular area 4 and the circular pattern 5 in this visual field. FIG. 57 shows a case where the circular pattern 5 is located in the center of the area 4.
つぎにこの領域4において円形パターン5が存在するか
否かを特徴抽出するがこの円形パターンの特徴抽出態様
についでは公知のことであり、説明を省略する。Next, features are extracted to determine whether or not a circular pattern 5 exists in this area 4, but the manner of extracting features of this circular pattern is well known and will not be described here.
第58図は1画像データに対する上記領域4による走査
態様と円形パターン5の存在位置候補点5′とを示して
いる。第58図においてG5は各格子点を示し、この格
子点は2mmの距離間隔をもって存在し、これらの格子
点に沿って25X25画素の矩形領域4が走査される。FIG. 58 shows the scanning mode of the area 4 for one image data and the candidate points 5' of the circular pattern 5. In FIG. 58, G5 indicates each grid point, and the grid points exist at a distance of 2 mm, and a rectangular area 4 of 25×25 pixels is scanned along these grid points.
1つの領域4の内部での円形パターン5の位置ずれの許
容は0.5mmであるから領域4の走査は1mmピッチ
で行われる。こうすることにより円形パターン5がどの
位置に描かれていても抽出が可能となる。また円形パタ
ーン5の存在位置の候補点5′としては円形パターンが
抽出された位置によって第58図の6a、6b、6c、
6dの如く決定してその格子点位置である集約的格子点
ラベルコードLOGLBLの#17ビットを「1」に設
定する。Since the allowable displacement of the circular pattern 5 within one region 4 is 0.5 mm, the region 4 is scanned at a pitch of 1 mm. By doing so, extraction is possible no matter where the circular pattern 5 is drawn. Further, candidate points 5' for the existing position of the circular pattern 5 are 6a, 6b, 6c in FIG. 58, depending on the position where the circular pattern is extracted.
6d, and set the #17 bit of the aggregate grid point label code LOGLBL, which is the grid point position, to "1".
2mmφの円形パターンはその性質上他のシンボルに付
帯して意味をもつ。したがって円形パターンの存在位置
の決定は他のシンボルの認識結果から円形パターンのあ
るべき位置を椎定し、その位置が候補点であれば円形パ
ターンとして決定される。Due to its nature, the 2mmφ circular pattern has meaning attached to other symbols. Therefore, the position of the circular pattern is determined by determining the position where the circular pattern should be based on the recognition results of other symbols, and if the position is a candidate point, it is determined as a circular pattern.
(X〕外向き腕の除去ユニット(3)(a)の処理。(X) Processing of outward facing arm removal unit (3) (a).
上述の如くして抽出された集約的格子点ラベル・コード
LOGLBLにおいては、一般に、非所望なノイズが含
まれている。当該処理においては。The aggregated grid point label code LOGLBL extracted as described above generally contains undesired noise. In this process.
例えば第59図に示す如く、論理回路図1の枠の外側に
向って腕7(上述のLU、LL、LD、LRなどの線分
)が存在している場合には、この腕7は非所望なノイズ
であるとみなして抹消する。For example, as shown in FIG. 59, if an arm 7 (line segments such as LU, LL, LD, LR, etc. described above) exists toward the outside of the frame of the logic circuit diagram 1, this arm 7 is It is considered to be a desired noise and is canceled.
そして、その腕に関連して存在しているかも知れないあ
いまい方向コードやギャップ方向コードを抹消する。Then, any ambiguous direction code or gap direction code that may exist related to that arm is deleted.
このための処理は、各格子点についての集約的格子点ラ
ベル・コードLOGLBLと、当該格子点の座標とを対
比して、当該格子点が。The process for this involves comparing the aggregate grid point label code LOGLBL for each grid point with the coordinates of the grid point.
(1)j=NY(左辺)ならば、
#28ヒット(L)、#24ビット(FD)、#12ビ
ット(GD)を「0」にする。(1) If j=NY (left side), set #28 hit (L), #24 bit (FD), and #12 bit (GD) to "0".
(2)i=1(左辺)ならば、
#29ビット(L)、#25ビット(FL)、#13ビ
ット(GL)を「0」にする。(2) If i=1 (left side), set #29 bit (L), #25 bit (FL), and #13 bit (GL) to "0".
(3)j=1(上辺)ならば、
#30ビット(U)、#26ビット(FU)、#14ビ
ット(GU)を「0」にする。(3) If j=1 (upper side), set #30 bit (U), #26 bit (FU), and #14 bit (GU) to "0".
(4)i=NX(右辺)ならば、
#31ビット(R)、#27ビット(FR)、#15ビ
ット(GR)を「0」にする。(4) If i=NX (right side), set #31 bit (R), #27 bit (FR), and #15 bit (GR) to "0".
但しNX、NYは第1図の夫々X軸、Y軸方向の格子軸
の数である。However, NX and NY are the numbers of lattice axes in the X-axis and Y-axis directions, respectively, in FIG.
(XI〕対の処理ユニット(3)(b)の処理。(XI) Processing of pair of processing units (3) (b).
当該処理においては、例えば第60図(A〕(b)(c
)(D)の如く、2つの対峙する格子点について腕7の
存在を調べ、対になっていない腕7を除去する。In this process, for example, FIG. 60 (A) (b) (c
) As shown in (D), the existence of arms 7 is checked for two opposing grid points, and unpaired arms 7 are removed.
該処理に当っては1次の如く、対になっていない腕を除
去した上で、所定の補足的な処理を行う。In this processing, as in the first order, unpaired arms are removed and then predetermined supplementary processing is performed.
即ち、
(1)対をなさない腕の除去
a)LOGLBL(i、j)とLOGLBL(i+1.
j)について注目するとき
・LOGLBL(i、j)の#31ビット(R)が「1
」で且つLOGLBL(f+1.j)の#29ビット(
L)が「0」ならは→LOGLBL(i、j)の#31
ビット(R)、#27ビット(FR)、#15ビット(
GR)を「0」にする。That is, (1) Removal of unpaired arms a) LOGLBL(i,j) and LOGLBL(i+1.
When paying attention to j), #31 bit (R) of LOGLBL (i, j) is “1”.
” and the #29 bit of LOGLBL (f+1.j) (
If L) is “0” → #31 of LOGLBL(i,j)
bit (R), #27 bit (FR), #15 bit (
GR) to "0".
・LOGLBL(i、j)の#31ビット(R)が「0
」で且つLOGLBL(i+1、j)の#29ビット(
L)が「1」ならば→LOGLBL(i+1、j)の#
29ビット(L)、#25ビット(FL)、#13ビッ
ト(GL)を「0」にする。・The #31 bit (R) of LOGLBL (i, j) is “0”
” and the #29 bit of LOGLBL (i+1, j) (
If L) is “1” → # of LOGLBL(i+1,j)
Set the 29th bit (L), #25 bit (FL), and #13 bit (GL) to "0".
b)LOGLBL(i、j)とLOGLBL(i、j+
1)について注目するとき
・LOGLBL(i、j)の#28ビット(D)が「1
」で且つLOGLBL(i、j+1)の#30ビット(
U)が「0」ならば→LOGLBL(i、j)の#28
ビット(D)、#24ビット(FD)、#12ビット(
GD)
を「0」にする。b) LOGLBL(i,j) and LOGLBL(i,j+
When paying attention to 1): #28 bit (D) of LOGLBL (i, j) is “1”
” and the #30 bit of LOGLBL (i, j+1) (
If U) is “0” → #28 of LOGLBL(i,j)
bit (D), #24 bit (FD), #12 bit (
GD) to "0".
・LOGLBL(i、j)の#28ビット(D)が「0
」で且つLOGLBL(i、j+1)の#30ビット(
U)が「1」ならば→LOGLBL(i、j+1)の#
30ビット(U)、#26ビット(Fu)、#14ビッ
ト(GU)を「0」にする。・#28 bit (D) of LOGLBL (i, j) is “0”
” and the #30 bit of LOGLBL (i, j+1) (
If U) is “1” → # of LOGLBL(i, j+1)
Set bit 30 (U), bit #26 (Fu), and bit #14 (GU) to "0".
(2)腕の除去後、個々のLOGLBL(i、j)につ
いて、
a)LOGLVBL(i、j)の#28ないし#31ピ
ット(D、L、U、R)のすべてが「0」ならば、→L
OGLBL(i、j)の#11ないし#15ビット(G
D、GD、GL、GU、GR)、#19ないし#27ビ
ット(ZD、ZL、ZU、ZR、ZF、FD、FL、F
U、FR)を「0」にする。(2) After removing the arm, for each LOGLVBL (i, j), a) If all #28 to #31 pits (D, L, U, R) of LOGLVBL (i, j) are "0" ,→L
#11 to #15 bits (G
D, GD, GL, GU, GR), #19 to #27 bits (ZD, ZL, ZU, ZR, ZF, FD, FL, F
U, FR) to "0".
b)LOGLBL(i、j)の#12ないし#15ビッ
ト(GD、GL、GU、GR)のすべてが「0」ならば
、→LOGLBL(i、j)の#11ピット(GD)を
「0」にする。b) If all #12 to #15 bits (GD, GL, GU, GR) of LOGLBL (i, j) are "0", → set #11 pit (GD) of LOGLBL (i, j) to "0". ”.
なお該処理(2)は、腕を除去したことに対応して、あ
いまいコードなどを抹消する処理に対応している。Note that the process (2) corresponds to the process of erasing ambiguous codes and the like in response to the removal of the arms.
(XII〕線切れ補正ユニット(3)(a)の処理。(XII) Processing of line breakage correction unit (3) (a).
当該処理においては、例えば第61図(A)、(B)の
如く、4つの対応する格子点について腕7の存在を調べ
、本来あるべき腕が欠落したものとして附加し、線切れ
を補正する。なお第61図において、8は腕7が存在し
てもしなくでもよいドント・ケア腕を表わし、9は当該
処理によって附加した腕を表わしている。即ち
(1)LOGLBL(i−1、j)とLOGLBL(i
、j)とLOGLBL(j+1、j)とLOGLBL(
i+2、j)に注目したとき;
且つ
とする。In this process, for example, as shown in FIGS. 61(A) and 61(B), the existence of arm 7 is checked for four corresponding grid points, and the arm that should have been added is added as a missing arm to correct line breakage. . In FIG. 61, 8 represents a don't care arm in which arm 7 may or may not exist, and 9 represents an arm added by the process. That is, (1) LOGLBL(i-1,j) and LOGLBL(i
, j) and LOGLBL(j+1,j) and LOGLBL(
When paying attention to i+2, j); and.
即ち、腕9をつける。That is, arm 9 is attached.
(2)LOGLBL(i、j−1)とLOGLBL(i
、j)とLOGLBL(i、j+1)とLOGLBL(
i、j+2)に注目したとき;
且つ
とする。(2) LOGLBL(i, j-1) and LOGLBL(i
, j) and LOGLBL(i, j+1) and LOGLBL(
i, j+2); and.
即ち腕9をつける。That is, attach arm 9.
(XIII〕ずれ補正Iユニット(3)(d)の処理。(XIII) Processing of deviation correction I unit (3) (d).
当該処理においては、一般にある格子点(i、j)に対
応して線分にずれが生じていれは、当該ずれている方向
の格子点(i0+j0)においても、対応してずれが現
われる可能性がある点に着目し、上記ずれている方向の
格子点ラベル・コードLOGLBLにおいてずれがなけ
れば、当該ある格子点(i、j)に存在しているずれフ
ラグなどを落とすようにする。その処理は次の如きもの
である。In this process, in general, if a shift occurs in a line segment corresponding to a certain grid point (i, j), there is a possibility that a corresponding shift will also appear at the grid point (i0+j0) in the direction of the shift. Focusing on a certain point, if there is no deviation in the lattice point label code LOGLBL in the direction of deviation, the deviation flag existing at the certain lattice point (i, j) is dropped. The process is as follows.
(1)ずれフラグZF(#23ビット)が「1」である
LOGLBL(i、j)を検出する。(1) Detect LOGLBL(i,j) whose deviation flag ZF (#23 bit) is "1".
(2)当該LOGLBL(i、j)が検出されると、当
該LOGLBL(i、j)のずれ方向コードを調べる。(2) When the LOGLBL(i,j) is detected, check the deviation direction code of the LOGLBL(i,j).
そして、
a)#22ビット「ZR=l」ならばLOGLBL(i
+1、j)
b)#21ビット「ZU=1」ならばLOGLBL(i
、j−1)
c)#20ビット「ZL=1」ならばLOGLBL(j
−4、j)
d)#19ビット「ZD=1」ならばLOGLBL(i
、j+1)
に注目する。And a) If #22 bit “ZR=l” then LOGLBL(i
+1, j) b) If #21 bit “ZU=1”, LOGLBL(i
, j-1) c) If #20 bit “ZL=1”, LOGLBL(j
-4, j) d) If #19 bit “ZD=1”, LOGLBL(i
, j+1).
(3)当該注目対象のLOGLBL(i0、j0)75
(すべて、次の条件の
e)#28ないし#31ビットがすべて「0」、f)#
28ないし#31ビットのいずれかが「1」で且つあい
まいフラグFF(#16ビット)が「0」で且つずれフ
ラグZF(#23ビット)が「0」、
のいずれかを満足しているケースを探す。(3) LOGLBL(i0, j0)75 of the target of interest
(all under the following conditions e) #28 to #31 bits are all “0”, f) #
A case where any of bits 28 to #31 is "1", fuzzy flag FF (#16 bit) is "0", and deviation flag ZF (#23 bit) is "0". Search for.
(4)そして当該ケースが満足されでいると、上記LO
GLBL(i、j)についての#19ビットないし#2
3ビットを「0」にする。即ちずれ方向コードとずれフ
ラグとを落とす。(4) If the case is satisfied, the above LO
#19 bit to #2 for GLBL(i,j)
Set 3 bits to “0”. That is, the deviation direction code and deviation flag are dropped.
(XIV〕あいまい補正Iユニット(3)(e)の処理
。(XIV) Processing of ambiguity correction I unit (3) (e).
当該処理においては、或るコードLOGLBL(i、j
)に関連して、4つの方向の1隣接格子点のコードLO
GLBL(i+1、j)、LOGLBL(i、j−1)
、LOGLBL(i−1、j)、LOGLBL(i、j
+1)を調べ、あいまい情報を補正する。即ち、(1)
あいまいフラグFF(#16ビット)が「1」であるL
OGLBL(i、j)を検出する。In this process, a certain code LOGLBL(i, j
), the code LO of one adjacent grid point in four directions
GLBL(i+1,j), LOGLBL(i,j-1)
,LOGLBL(i-1,j),LOGLBL(i,j
+1) and correct ambiguous information. That is, (1)
L where the ambiguity flag FF (#16 bit) is “1”
Detect OGLBL(i,j).
(2)初期設定;CNT=0、(ARM(i0)=0、
i01、4)
(3)LOGLBL(i、j)の4方向コード(D・L
・U・R)に対応した方向のLOGLBL(i0、j0
)即ちa)「R=1」ならはLOGLBL(i+1、j
)b)「U=1」ならばLOGLBL(i、j−1)c
)「L=1」ならばLOGLBL(i−1、j)d)「
D=1」ならばLOGLBL(i、j+1)を調べる。(2) Initial settings; CNT=0, (ARM(i0)=0,
i01, 4) (3) LOGLBL (i, j) four-way code (D/L
・LOGLBL(i0, j0) in the direction corresponding to U・R)
) i.e. a) If "R=1" then LOGLBL(i+1,j
) b) If “U=1” then LOGLBL(i,j-1)c
) If “L=1” then LOGLBL(i-1,j)d) “
If D=1, check LOGLBL(i, j+1).
調べる対象となる格子点の数をCFLGとする。Let CFLG be the number of grid points to be investigated.
例えば、
「R=1、U=1、L=1、D=1」→「CFLG=4
」「R=1、U=0、L=0、D=0」→「CFLG=
1」(4)対象となる格子点ラベルの対応する方向の腕
;e)LOGLBL(i+1.j)についてはL(#2
9ビット)をARM(1)とし、
f)LOGLBL(i、j−1)についてはD(#28
ビット)をARM(2)とし、
g)LOGLBL(i−1、j)についてはR(#31
ビット)をARM(3)とし、
h)LOGLBL(i、j+1)についてはU(#30
ビット)をARM(4)とし、
これらARM(1)ないしARM(4)が論理「1」で
且つ、ずれフラグ#23ビット「ZF=0」、且つあい
まいフラグ#16ビット「FF=0」であるならば、上
記CNTを「プラス1」し、ARM(i0)を「1」に
する。For example, "R=1, U=1, L=1, D=1" → "CFLG=4"
” “R=1, U=0, L=0, D=0” → “CFLG=
1'' (4) Arm in the corresponding direction of the target grid point label; e) For LOGLBL (i + 1.j), L (#2
9 bits) as ARM(1), and f) LOGLBL(i, j-1) as D(#28
bit) as ARM(2), and g) LOGLBL(i-1,j) as R(#31
bit) is ARM(3), and h) LOGLBL(i, j+1) is U(#30
bit) is ARM(4), and these ARM(1) to ARM(4) are logic "1", deviation flag #23 bit "ZF=0", and fuzzy flag #16 bit "FF=0". If there is, add "plus 1" to the above CNT and set ARM (i0) to "1".
(5)判定; i)CFLG≦1のとき、処理なし。(5) Judgment; i) No processing when CFLG≦1.
j)CFLG=CNT(但し、CFLG≧2)のとき、
LOGLBL(i、j)の
#16ビツト(FF)、#24ないし#27ビツト(F
D、FL、Fu、FR)
#11ビット(GF)、#12ないし#15ピット(G
D、GL、GU、GR)
を「0」にする。j) When CFLG=CNT (however, CFLG≧2), #16 bit (FF), #24 to #27 bit (FF) of LOGLBL (i, j)
D, FL, Fu, FR) #11 bit (GF), #12 to #15 pit (G
D, GL, GU, GR) to "0".
K)CFLG≠CNT、かつ
(i)LOBLBL(i−1、j)とLOGLBL(i
+1、j)が、上記(4)の条件を満たすとき、LOG
LBL(i、j)の
#16ビット(FF)#24ないし#27ビット(FD
+FL+FU+FR)
#15ビット(GR)、#13ビット(GL)を「O」
にする。K) CFLG≠CNT, and (i) LOBLBL(i-1,j) and LOGLBL(i
+1, j) satisfies the condition (4) above, LOG
#16 bit (FF) of LBL (i, j) #24 to #27 bit (FD
+FL+FU+FR) Set #15 bit (GR) and #13 bit (GL) to “O”
Make it.
また、
ARM(2)=1ならば#14ビット(GU)ARM(
4)=1ならは#12ビット(GD)を「0」にする。Also, if ARM (2) = 1, #14 bit (GU) ARM (
4) If =1, set #12 bit (GD) to "0".
さらに、
12ないし15ビット(GD、GL、GU、GR)がす
べて「0」ならば、#11ビット(GF)を「0」にす
る。Furthermore, if the 12th to 15th bits (GD, GL, GU, GR) are all "0", the #11 bit (GF) is set to "0".
(ii)LOGLBL(i、j−1)およびLOGLB
L(i、j+1)が、上記(4)の条件を満たすとき、
#16ビット(FF)、#24ないし#27ビット(F
D、FL、FU、FR)
#14ビット(GU)、#12ビット(GD)を「0」
にする。(ii) LOGLBL(i,j-1) and LOGLB
When L(i, j+1) satisfies the condition (4) above,
#16 bit (FF), #24 to #27 bit (FF)
D, FL, FU, FR) #14 bit (GU), #12 bit (GD) are set to “0”
Make it.
また。Also.
ARM(1)=1ならば#15ビット(GR)ARM(
3)=1ならば#13ビット(GL)を「0」にする。If ARM (1) = 1, #15 bit (GR) ARM (
3) If =1, set #13 bit (GL) to "0".
さらに、
#12ないし15ビット(GD、GL、GU、GR)が
すべて「0」ならば#11ビット(GF)を「0」にす
る。Furthermore, if #12 to #15 bits (GD, GL, GU, GR) are all "0", #11 bit (GF) is set to "0".
(XV)シンボル分類処理部(4)の処理。(XV) Processing of symbol classification processing unit (4).
以上のようにして生成された格子点ラベルコードLOG
LBL中の4方向コード(D、L、U、R)を基にして
シンボルグループ抽出処理を行う。Lattice point label code LOG generated as above
Symbol group extraction processing is performed based on the four-way code (D, L, U, R) in the LBL.
論理回路図の認識においては、第62図(A)ないし(
C)に示すような類似したシンボルの識別を行う必要が
ある。これらのシンボル間の差異は僅かながら現われる
が、本発明において対象とする入力図面においては文字
の混在する手書き図面であるため、手書きによる変動や
文字の影響を考慮すると、現処理時点において、これら
の僅かな差異により個々のシンボルを決定してしまうの
は危険である。In the recognition of logic circuit diagrams, Figures 62 (A) to (
It is necessary to identify similar symbols as shown in C). Although there are slight differences between these symbols, the input drawing that is the target of this invention is a handwritten drawing with a mixture of characters, so if we take into account the variations due to handwriting and the influence of characters, these differences at the time of current processing. It is dangerous to determine individual symbols based on slight differences.
そのために、当該処理では、直接個々のシンボルの抽出
は行わずに大分類と小分類という2段階の処理に対応す
る大分類の抽出を行っている。予め抽出すべきシンボル
について第62図(A)ないし(C)に示すような類似
したシンボル同士をグループ化しておき、このシンボル
グループ毎に抽出を行うものである。小分類に対応する
処理については単一ゲート・シンボルの認識処理部(9
)で詳細に説明する。For this reason, in this process, individual symbols are not directly extracted, but a major classification corresponding to a two-step process of major classification and minor classification is extracted. Regarding the symbols to be extracted, similar symbols as shown in FIGS. 62(A) to 62(C) are grouped in advance, and extraction is performed for each symbol group. For processing corresponding to small classification, a single gate symbol recognition processing unit (9
) will be explained in detail.
第63図(A)ないし(E)は、第62図(A)図示の
シンボルグループを手書きした時の各格子点においての
4方向コード(DLUR〕の現われ方を図形で表現した
ものであり、例えば“■”は「1011」を、“・”は
「0000」を意味している。またMXおよびMYはシ
ンボルの形状が影響を及ぼすと考えられる領域の大きさ
を示している。第63図(A)ないし(E)の如く幾つ
かの異なるパターンが存在するのは、シンボルに曲線が
含まれているためであって、手書き等による僅かの変動
により曲線部分の周囲の格子点での4方向コードの現わ
れ方が異なるためである。これは第62図(B)に示す
ような斜線を含むシンボルについても同様である。この
ような変形パターンに対処するには、基本的には、これ
らの変形パターンのすべてを辞書パターンとして例えば
辞書メモリに格納すればよいが、それでは辞書パターン
の数が厖大になってしまう。63(A) to 63(E) are graphic representations of how the four-way code (DLUR) appears at each grid point when the symbol group shown in FIG. 62(A) is drawn by hand, For example, "■" means "1011" and "." means "0000". Also, MX and MY indicate the size of the area that is thought to be affected by the shape of the symbol. Fig. 63 The reason why there are several different patterns like (A) to (E) is because the symbol contains a curved line, and due to slight variations due to handwriting etc. This is because the direction codes appear differently. This also applies to symbols containing diagonal lines as shown in Figure 62 (B). To deal with such deformed patterns, basically All of the modified patterns may be stored as dictionary patterns in, for example, a dictionary memory, but this would result in a huge number of dictionary patterns.
そのため、本発明では以下に示す手法による辞書パター
ンを用いる。先ず、第63図(A)ないし(E)のそれ
ぞれの変形パターン中のある1つの座標〔I、B)に注
目してみると、これらのパターンの全部について、格子
点の左方向には線分が存在し、上方向には線分が存在し
ていない。そして格子点の下方向と左方向には、1つの
パターンについて少なくともどちらかの方向に線分が存
在している。Therefore, in the present invention, a dictionary pattern based on the method described below is used. First, if we pay attention to one coordinate [I, B] in each of the deformed patterns in Figs. There are no line segments in the upward direction. Line segments exist in at least one direction below and to the left of the lattice points for one pattern.
また、同図のそれぞれの変形パターンの座標〔II、B
)に注目してみると、下方向と左方向には線分は全く存
在しておらず、上方向と右方向には線分が存在していた
り存在していなかったりしている。Also, the coordinates of each deformation pattern in the same figure [II, B
), there are no line segments in the downward and left directions, and line segments exist and do not exist in the upward and right directions.
故に、本発明ではこれらの条件を利用して、第62図(
A)のシンボルグループの抽出に対しては、第64図に
図形化したような辞書パターンを用いる。図中、小円は
格子点を表わしており、各格子点においての上下左右の
各方向に対して、太線はパターンが存在すべきことを表
わし、線なしはパターンが存在すべきではないことを表
わし、2重線はパターンの存在の不問(ドントケア)を
表わし、細線は必らず2方向以上に指定されこの内の少
なくとも1方向にパターンが存在していればよいことを
表わしている。また、MXおよびMYは辞書パターンの
大きさを示している。このような形式の辞書パターンを
用いることにより、第63図(A)ないし(E)に示す
数種の変形パターンに対しても、第64図に示す辞書パ
ターンの1種類のみで第62図(A)のシンボルグルー
プが抽出可能となる。Therefore, in the present invention, by utilizing these conditions, FIG. 62 (
For extraction of symbol groups in A), a dictionary pattern as shown graphically in FIG. 64 is used. In the figure, small circles represent grid points, and thick lines indicate that a pattern should exist in the up, down, left, and right directions at each grid point, and no lines indicate that a pattern should not exist. A double line indicates that the existence of a pattern is not a concern (don't care), and a thin line indicates that two or more directions are necessarily specified, and it is sufficient that the pattern exists in at least one of these directions. Furthermore, MX and MY indicate the size of the dictionary pattern. By using dictionary patterns in this format, even for several types of deformed patterns shown in FIGS. 63(A) to (E), only one type of dictionary pattern shown in FIG. A) symbol group can be extracted.
尚、尚64図に図示の辞書パターンの座標〔III、C
)および(V、C)の右方向が2重線となっているのは
、シンボルの出力端子に書かれる逆ロジックシンボル(
小円形状パターン)の悪影響を吸収するためである。In addition, the coordinates of the dictionary pattern shown in Figure 64 [III, C
) and (V, C) have double lines on the right side because of the reverse logic symbol (
This is to absorb the negative effects of small circular patterns).
第65図(A)は、第15図の如き集約的格子点ラベル
コードLOGLBLから辞書パターンどのマッチングの
対象となる4方向コ一ド部分を抜出したもので(DLU
R〕に(T1T2T3T4)が相当している。また第6
5図(B)には、本発明に用いる辞書パターンの1格子
点当たりのコード形式を示す。FIG. 65(A) shows a four-way code part that is the target of dictionary pattern matching from the intensive grid point label code LOGLBL shown in FIG. 15 (DLU
R] corresponds to (T1T2T3T4). Also the 6th
FIG. 5(B) shows the code format per lattice point of the dictionary pattern used in the present invention.
この辞書コードDCの9ビット区分の内#0ないし#3
ビットはパターンコード(Pk)であって、シンボルを
手書きした時に手書き変動による影響を考慮した上で、
格子点から4方向(DLUR〕に線分が存在する場合が
あるか否かを(P1P2P3P4)で表わし、#4ない
し#7ビットはモードコード(Mk)であって、上記4
方向コードと上記パターンコードとのマッチングにおけ
るモードを規定するもので、(M1M2M3M4)が(
P1P2P3P4)に対応する。このモードコードは、
(1)「Mk=0」のときPkとTkが一致しているか
否か
(2)「Mk=1」且つ「Pk=0」のときTkは「0
」でも「1」でもよい(ドントケア)(3)「Mk=1
」且つ「Pk=1」のとき必らず2方向以上に指定され
るが、少なくともその内の1方向が「Tk=1」である
か否か
の意味を持つ。また、その格子点自身がマッチングの対
象となるか否かを表わすシンボル領域フラグ(S)を#
9ビット目に設けている。#0 to #3 of the 9-bit division of this dictionary code DC
The bit is a pattern code (Pk), and when the symbol is handwritten, it is
Whether there is a line segment in four directions (DLUR) from the grid point is expressed as (P1P2P3P4), #4 to #7 bits are the mode code (Mk), and the above 4
This defines the mode for matching the direction code and the above pattern code, and (M1M2M3M4) is (
P1P2P3P4). This mode code is
(1) When “Mk=0”, whether Pk and Tk match or not (2) When “Mk=1” and “Pk=0”, Tk is “0”
” or “1” (don’t care) (3) “Mk=1
” and “Pk=1”, two or more directions are always specified, but it has the meaning of whether or not at least one of the directions is “Tk=1”. In addition, the symbol area flag (S) indicating whether or not the grid point itself is a matching target is set to #
It is set at the 9th bit.
第66図には、例として、第64図の図形化された辞書
パターンに対応する辞書コードを示す。FIG. 66 shows, as an example, a dictionary code corresponding to the graphic dictionary pattern of FIG. 64.
この図形化された辞書パターンと辞書コードとの間の変
換は第2表により容易となろう。Conversion between this graphical dictionary pattern and dictionary code will be facilitated by Table 2.
上記手法による辞書パターンを、抽出すべき全シンボル
グループについて作成して、辞書パターンの大きい順に
辞書メモリに格納しておく。そして入力画像データから
得られる各格子点の4方向コードとのマッチングを行っ
てシンボルを入力図面中から抽出する。即ち、第67図
において辞書メモリ内に格納されている各シンボルグル
ープの辞書パターンと、この辞書パターンの格子数に等
しい格子分の4方向コードを順次読出し、これらの辞書
パターンを構成する辞書コード群DCCと4方向フ一ド
群TCC間で格子点対応にマッチングを行っていく。こ
のマッチングを行うマッチング演算は次式に従って行う
。即ち今、或るシンボルグループの全体的な評価値をE
gとすると。Dictionary patterns using the above method are created for all symbol groups to be extracted and stored in the dictionary memory in descending order of dictionary patterns. Then, symbols are extracted from the input drawing by matching with the four-way code of each grid point obtained from the input image data. That is, in FIG. 67, the dictionary pattern of each symbol group stored in the dictionary memory and the four-way code of grids equal to the number of grids of this dictionary pattern are sequentially read out, and the dictionary code group constituting these dictionary patterns is read out. Matching is performed between the DCC and the 4-way field group TCC in correspondence with the grid points. The matching operation for this matching is performed according to the following equation. That is, now the overall evaluation value of a certain symbol group is E
If it is g.
ここで、I格子点当りの評価値Wxyはただし
この1格子点当りの評価値Wxyは「0」から「4」ま
での値をとる。つまり辞書コードと4方向コードとが完
全にマッチするならば最小値「0」となり、全然マッチ
しないならば最大値「4」となる。そして、全体的な評
価値Egは辞書パターン領域(MX、MYで表わされる
)内の全格子点の評価値の和で表わされる。この全体的
な評価値Eが「0」となれは、辞書パターン内のすべで
の格子点において辞書コードと4方向コードとが完全に
マッチしたこととなり、4方向コ一ド群TCCが辞書コ
ード群DCCのシンボルグループに属するシンボルであ
ると判定される。Here, the evaluation value Wxy per I grid point takes a value from "0" to "4". In other words, if the dictionary code and the four-way code match perfectly, the minimum value is "0", and if they do not match at all, the maximum value is "4". The overall evaluation value Eg is expressed as the sum of the evaluation values of all grid points within the dictionary pattern area (represented by MX, MY). If this overall evaluation value E is "0", it means that the dictionary code and the 4-way code perfectly match at all grid points in the dictionary pattern, and the 4-way code group TCC is the dictionary code. It is determined that the symbol belongs to the symbol group of group DCC.
しかし、第68図(B)の座標(Vl、A)の左方向や
第68図(B)の座標(VI、A)の上方向に見られる
ように、直線部分の手書き等による変形を許容するため
に、辞書パターンの大きさ(MX、MY)や手書き等に
よる変形の生じる度合に応じて各辞書パターン毎に最適
な閾値Tgを全体的な評価値Egに対して設定して
Eg≦Tg−(8)
の関係が成立すれはシンボルと判定する。However, as shown in the left direction of the coordinates (Vl, A) in Figure 68 (B) and the upper direction of the coordinates (VI, A) in Figure 68 (B), deformation due to handwriting etc. on the straight part is allowed. In order to do so, an optimal threshold Tg is set for each dictionary pattern for the overall evaluation value Eg according to the size (MX, MY) of the dictionary pattern and the degree of deformation caused by handwriting, etc., and Eg≦Tg. -(8) If the relationship holds true, it is determined that it is a symbol.
このようにして、入力図面の或る格子点においで辞書メ
モリ内の全辞書パターンとマッチングを行い、シンボル
と判定されたものの中から実際のシンボルを1つ決定す
る。これは式(8)を満足するEgの内最小のものを採
用する。また最小のEgが複数個ある場合は辞書パター
ンの大きいものを採用する。In this way, matching is performed with all dictionary patterns in the dictionary memory at a certain grid point of the input drawing, and one actual symbol is determined from among those determined to be symbols. This employs the smallest Eg that satisfies equation (8). Furthermore, if there are multiple minimum Eg's, the one with the largest dictionary pattern is adopted.
以上のシンボル抽出結果として、辞書パターンの座標〔
I、A)の対応する入力図面の座標と、予め定められた
シンボルグループの名前と、辞書パターンと完全にマッ
チしたか否か、つまり「Eg=0」となったか否かの情
報をシンボル認識テーブルに格納する。As a result of symbol extraction above, the coordinates of the dictionary pattern [
Symbol recognition uses the coordinates of the input drawing corresponding to I, A), the name of the predetermined symbol group, and information on whether it completely matches the dictionary pattern, that is, whether "Eg = 0". Store in a table.
以上のマッチング処理を入力図面の格子点位置を1格子
ずつずらしながら行う。The above matching process is performed while shifting the grid point positions of the input drawing one grid at a time.
(XVI〕複合ゲート・シンボルの認識処理部(5)に
おける複合ゲート・シンボル抽出処理。(XVI) Composite gate symbol extraction processing in the composite gate symbol recognition processing unit (5).
上述の如く、本発明の処理対象となる論理回路図におい
ては、第62図に示す如きシンボルと共に第6図に示す
如き複合ゲート・シンボルC−Gが存在している。これ
らのシンボルを正しく処理するために、次の如きテーブ
ルが用意される。即ち第62図に示す如き単一ゲート・
シンボルを抽出したことに対応して、第69図(A)図
示の如き単一ゲート・シンボル認識テーブルSPTAB
LEを用意するようにする。該テーブルSPTABLE
は、次の如き欄をもっている。即ち、
(1)i、j………単一ゲートシンボルについての代表
的な格子点の座標値を記入する。第69図(B)に図示
する如き格子点の座標値(i、j)が記入される。As mentioned above, in the logic circuit diagram to be processed by the present invention, there are symbols as shown in FIG. 62 as well as composite gate symbols CG as shown in FIG. 6. In order to process these symbols correctly, the following table is prepared. That is, a single gate as shown in FIG.
In response to extracting the symbol, a single gate symbol recognition table SPTAB as shown in FIG. 69(A) is created.
Make sure to prepare LE. The table SPTABLE
has the following columns: That is, (1) i, j... Enter the coordinate values of representative grid points for a single gate symbol. The coordinate values (i, j) of the grid points as shown in FIG. 69(B) are entered.
(2)NO、……抽出された単一ゲート・シンボルの名
前が番号によって与えられる。例えばオア回路に対して
は番号「27」が与えられ、ナンド回路に対しては番号
「7」が与えられ、……るなどされる。(2) NO, . . . the name of the extracted single gate symbol is given by number. For example, the number "27" is given to the OR circuit, the number "7" is given to the NAND circuit, and so on.
(3)SDRCT………抽出された単一ゲートシンボル
の出力方向を与える。例えば第69図(B)に図示する
シンボルに対して夫々図示の如き数値「0」ないし「3
」を与える。(3) SDRCT......Gives the output direction of the extracted single gate symbol. For example, for the symbols shown in FIG.
"give.
(4)SNO、……最終的に1つの複合ゲート・シンボ
ルとして抽出されるようになったとするとき、当該複合
ゲート・シンボルを構成している所の単一ゲート・シン
ボルとしてのあるべき番号が与えられる。例えば上記N
O.としてはアンド回路として抽出されたが、1つの複
合ゲート・シンボルを構成する単一ゲート・シンボルと
しては本来オア回路であったとした場合には、SNO.
をオア回路に対応する番号にし、これをデータ処理袋装
置に入力せしめるようにする。しかし、該SNO.は複
合ゲート・シンボルが抽出されたことのよって与えられ
るものであり、最初は値「0」とされでいる。(4) SNO... When it is finally extracted as one composite gate symbol, the number that should be the single gate symbol that makes up the composite gate symbol is Given. For example, the above N
O. was extracted as an AND circuit, but if the single gate symbol constituting one composite gate symbol was originally an OR circuit, then SNO.
is set to a number corresponding to the OR circuit, and this is input into the data processing bag device. However, the SNO. is given by the extraction of the composite gate symbol, and is initially set to the value "0".
(5)CNO.………当該単一ゲート・シンボルが複合
ゲート・シンボルの核(後述するが第70図(A)図示
のナンド回路K1の如きもの)として選ばれたときに与
えられるもので、当該複合ゲート・シンボルの名前が番
号の形で与えられる。(5) CNO. ......It is given when the single gate symbol is selected as the nucleus of a composite gate symbol (such as the NAND circuit K1 shown in FIG. 70(A), which will be described later). The name of the symbol is given in the form of a number.
最初は値「0」とされている。Initially, the value is set to "0".
(6)STFLG………1つの複合ゲート・シンボルを
抽出する際に処理対象とされるときに論理「1」が立て
られるものであり、最初は値「0」とされている。(6) STFLG: Logic "1" is set when one composite gate symbol is extracted and treated as a processing target, and is initially set to the value "0".
なお、単一ゲート・シンボル認識テーブルSPTABL
Eの役割についでは第71図を参照して後述される。該
テーブルSPTABLEが上述の如く用意されると共に
、第70図に示す如き複合ゲートシンボル辞書メモリM
PDICが用意される。In addition, the single gate symbol recognition table SPTABL
The role of E will be described later with reference to FIG. The table SPTABLE is prepared as described above, and a composite gate symbol dictionary memory M as shown in FIG.
PDIC is prepared.
第70図(A)の内容は、第70図(B)に示す1つの
複合ゲート・シンボルC−Gに対応する辞書メモリの内
容を示している。そして、次の如き欄をそなえている。The contents of FIG. 70(A) show the contents of the dictionary memory corresponding to one composite gate symbol CG shown in FIG. 70(B). It also has the following columns:
(7)i、j………核となる単一ゲート・シンボル(第
70図(B)図示K1)の座標値を(0、0)としたと
き、当該複合ゲート・シンボルを構成する単一ゲート・
シンボルKl、K2.K3……の座標値か相対値として
与えられる。例えば単一ゲート・シンボルK2について
は(−7、−11)で与えられる。(7) i, j......When the coordinate values of the core single gate symbol (K1 shown in Figure 70 (B)) are (0, 0), the single Gate·
Symbols Kl, K2. K3... is given as a coordinate value or relative value. For example, for a single gate symbol K2 it is given by (-7, -11).
(8)SDRCT………各単一ゲート・シンボルK1、
K2、……についての第69図(A)の場合と同様な情
報が与えられる。(8) SDRCT...... each single gate symbol K1,
The same information as in FIG. 69(A) for K2, . . . is given.
(9)NO.……当該複合ゲート・シンボルを構成する
各単一ゲート・シンボルK1、K2、……についての名
前が番号によって与えられる。第69図(A)の場合と
同じ。(9) NO. . . . The name for each single gate symbol K1, K2, . . . making up the composite gate symbol is given by number. Same as in FIG. 69(A).
(10)SNO.……当該複合ゲート・シンボルを構成
する各単一ゲート・シンボルKl、K2.……について
の本来あるべき番号が与えられる。この役割については
第74図、第75図を参照しで後述する。(10) SNO. ... Each single gate symbol Kl, K2 . . . constitutes the composite gate symbol. The original number for ... is given. This role will be described later with reference to FIGS. 74 and 75.
(11)SCNT……当該複合ゲート・シンボルを構成
する単一ゲート・シンボルKl、K2……の個数が与え
られる。(11) SCNT...The number of single gate symbols Kl, K2, . . . that constitute the composite gate symbol is given.
(12)CNO.………当該複合ゲート・シンボルの名
前が番号によって与えられる。第70図(B)図示の複
合ゲートシンボルについては「CNO.=121」とさ
れている。(12) CNO. ...The name of the composite gate symbol is given by number. Regarding the composite gate symbol shown in FIG. 70(B), "CNO.=121" is set.
上述の如く、単一ゲート・シンボル認識テーブルSPT
ABLEと複合ゲート・シンボル辞書メモリMPDIC
とが用意されている状態で、1つの複合ゲート・シンボ
ルが抽出される態様を第71図を参照しつつ説明する。As mentioned above, the single gate symbol recognition table SPT
ABLE and composite gate/symbol dictionary memory MPDIC
The manner in which one composite gate symbol is extracted in a state in which the gate symbols are prepared will be explained with reference to FIG. 71.
今第71図(A)図示の如き単一ゲート・シンボル認識
テーブルSPTABLEが存在しており、かつ1つの複
合ゲート・シンボルに対応する辞書メモリMPDICの
内容が第71図(B)図示の如きものであったとする。Now, there is a single gate symbol recognition table SPTABLE as shown in FIG. 71(A), and the contents of the dictionary memory MPDIC corresponding to one composite gate symbol are as shown in FIG. 71(B). Suppose it was.
なお単一ゲートシンボル認識テーブルSPTABLE内
には、抽出された各単一ゲート・シンボルが例えば座標
値の順に格納されているものとする。また複合ゲート・
シンボル辞書メモリMPDIC内には、個々の複合ゲー
ト・シンボルに対応するひとかたまりの情報(第71図
(B)図示の如き)が、核となる単位ゲート・シンポル
の番号の大きい順にソートされ且つ同じ番号ならば上述
のCNO.の大きい順にソートされて並んでいる。更に
単一ゲート・シンボル認識テーブルSPTABLEの先
頭を指示するポイントをSPNTとし、複合ゲート・シ
ンボル辞書メモリ中の先頭のひとかたまりの情報を指示
するポイントをFPNTとする。It is assumed that the extracted single gate symbols are stored in the single gate symbol recognition table SPTABLE, for example, in the order of their coordinate values. Also complex gate
In the symbol dictionary memory MPDIC, a group of information (as shown in FIG. 71(B)) corresponding to each composite gate symbol is sorted in descending order of the number of the core unit gate symbol, and the same number If so, the above CNO. They are sorted in descending order of size. Further, let SPNT be the point that indicates the beginning of the single gate symbol recognition table SPTABLE, and let FPNT be the point that indicates the first piece of information in the composite gate symbol dictionary memory.
処理は次のように行われる。即ち、
(13)テーブルSPTABLEの先頭に記述されてい
る単一ゲート・シンボル(当該パターンは当然に未処理
であるとする)についてのNO.とSDRCTとを抽出
し、辞書メモリMPDICの先頭のひとかたまりの情報
(第71図図示の如きひとかたまり)内の先頭の単一ゲ
ート・シンボル(核となっている)についてのNO.と
SDRCTとを比較する。The processing is performed as follows. That is, (13) NO. for the single gate symbol described at the beginning of the table SPTABLE (assuming that the pattern is unprocessed). and SDRCT are extracted, and the NO. about the first single gate symbol (which is the core) in the first batch of information (as shown in FIG. 71) of the dictionary memory MPDIC is extracted. and SDRCT.
(14)不一致であれば、辞書メモリMPDICの次の
ひとかたまりの情報(FFNT+1の位置の情報)につ
いて同様に比較する。以下同様である。(14) If there is a mismatch, the next batch of information (information at the position of FFNT+1) in the dictionary memory MPDIC is compared in the same way. The same applies below.
(15)辞書メモリMPDICをすべで検索したが不一
致であれば、テーブルSPTABLE内の次の単一ゲー
トシンボル(SPNT+1の位置の単一ゲート・シンボ
ル)についで同様に比較してゆく。(15) If the dictionary memory MPDIC is searched and there is no match, the next single gate symbol in the table SPTABLE (the single gate symbol at position SPNT+1) is compared in the same way.
(16)仮に第71図(A)図示の#12の単一ゲート
・シンボルのNO.とSDRCTとが、第71図(B)
図示の先頭の単一ゲート・シンボルのNO.とSDRC
Tとに一致したとする。この場合、#12の単一ゲート
・シンボルの座標(i12、j12)からみて所定の座
標範囲内に位置する単一ゲート・シンボルを調べて、S
TFLGを論理「1」にする。範囲外のものに対して、
STFLGを論理「0」にする。(16) Suppose that the number of single gate symbol #12 shown in FIG. and SDRCT are shown in FIG. 71(B).
NO. of the first single gate symbol shown. and SDRC
Suppose that T matches. In this case, a single gate symbol located within a predetermined coordinate range from the coordinates (i12, j12) of the single gate symbol #12 is examined, and S
Set TFLG to logic "1". For things that are out of range,
Set STFLG to logic “0”.
(17)そしてこの「STFLG=1」の個数CNTと
第71図(B)図示のSCNTとを照合してみる。(17) Then, compare this number CNT of "STFLG=1" with the SCNT shown in FIG. 71(B).
このとき「CNT<SCNT」ならば、上記#12の単
一ゲート・シンボルは第71図(B)図示に対応する複
合ゲート・シンボルの核ではないとして、検索を次に進
める。At this time, if "CNT<SCNT", it is assumed that the single gate symbol #12 is not the core of the composite gate symbol corresponding to the illustration in FIG. 71(B), and the search proceeds to the next step.
(18)「CNT≧SCNT」
であった場合には、第71図(E)に示すバッファBU
Fをクリヤし、第71図(C)図示の辞書用バッファM
PDIC、BUFの#1行の座標欄にi=i12、j=
j12
をセットし、#2行の座標欄に
i=i12−7、j=j12−2
をセットし、#3行の座標欄に
i=i12−14、j=j12−4
をセットする。また第71図(E)に示すバッファBU
Fに、テーブルSPTABLE中の「#12」であるこ
とを対応づけて格納する。(18) If “CNT≧SCNT”, the buffer BU shown in FIG. 71(E)
Clear the dictionary buffer M shown in FIG. 71(C).
i=i12, j= in the coordinate column of #1 line of PDIC, BUF
j12, set i=i12-7, j=j12-2 in the coordinate column of line #2, and set i=i12-14, j=j12-4 in the coordinate column of line #3. In addition, the buffer BU shown in FIG. 71(E)
F is associated with "#12" in the table SPTABLE and stored.
(19)次いで辞書用バッファMPDIC・BUFの#
2行に示す座標値(i12−7、j12−2)に対応す
る位置に所望の単一ゲート・シンボルが存在するか否か
を調べる。テーブルSPTABLE上でSTFLGが論
理「1」となっているものの内から、例えば#10のも
のの如く該当するものが見出されると、第71図(D)
図示の如く辞書用バッファMPDIC−BUF内で、座
標値(i12−7、j12−2)が(i10、f10)
に書替えられ、第71図(E)図示のバッファBUF内
に「#10」であることが書込まれる。この場合、座標
値(i12−7)とi10とや、座標値(j12−2)
とj10とが完全に一致していなくても少々のずれを許
容すべく例えば差が絶対値で「2」以下であれば、該当
したものとされる。したがって複数個該当するものがあ
るとされることもある。(19) Next, # of the dictionary buffer MPDIC/BUF
It is checked whether a desired single gate symbol exists at the position corresponding to the coordinate values (i12-7, j12-2) shown in the second row. If a corresponding one, such as #10, is found among the ones whose STFLG is logical "1" on the table SPTABLE, then FIG. 71(D)
As shown in the figure, in the dictionary buffer MPDIC-BUF, the coordinate values (i12-7, j12-2) are (i10, f10)
"#10" is written into the buffer BUF shown in FIG. 71(E). In this case, the coordinate value (i12-7) and i10, and the coordinate value (j12-2)
Even if j10 and j10 do not completely match, if the difference is, for example, "2" or less in absolute value, it is determined that the difference is "2" or less in order to allow for a slight deviation. Therefore, there may be cases where more than one item is applicable.
(20)同様にテーブルSPTABLE内の#14の単
一ゲート・シンボルが抽出され、第71図(E)図示の
バッファBUF内に「#14」が書込まれたとする。(20) Similarly, it is assumed that the #14 single gate symbol in the table SPTABLE is extracted and "#14" is written in the buffer BUF shown in FIG. 71(E).
(21)この状態で、バッファBUFに書込まれた個数
と、上述のSCNTとが一致すれば、第71図(B)図
示の情報に対応する1つの複合ゲート・シンボルが抽出
されたものとし、第71図(A)図示のテーブルとSP
TABLE内に図示丸印で示した如くSNOやCNOが
記述される。そして、次の検索に進んでゆく。(21) In this state, if the number written to the buffer BUF matches the above-mentioned SCNT, it is assumed that one composite gate symbol corresponding to the information shown in FIG. 71(B) has been extracted. , FIG. 71(A) Illustrated table and SP
SNO and CNO are written in TABLE as shown by circles in the figure. Then, proceed to the next search.
この間の動作を更に詳しくその動作をフローチャートの
形で示すと、第72図および第73図図示の如くである
。なお、第73図図示のフローチャートは、第72図図
示の複合ゲート・シンボルの核の候補抽出のフロックに
ついての一実施例処理態様を示している。The operation during this time is shown in more detail in the form of a flowchart as shown in FIGS. 72 and 73. Incidentally, the flowchart shown in FIG. 73 shows one embodiment of the processing mode for the block for extracting kernel candidates of the composite gate symbol shown in FIG. 72.
上述の如く、複合ゲート・シンボルを抽出した上で、デ
ータ処理装置に対して入力するようにされる。即ち第7
1図の例で言えば、第71図(D)図示のi、jSDR
CT、SNOの各欄と、SCNTとCNOと、第71図
(E)図示のバッファBUFの内容とがデータ処理装置
に入力される情報として出力される。As described above, the composite gate symbol is extracted and then input to the data processing device. That is, the seventh
In the example of Figure 1, the i and j SDRs shown in Figure 71 (D)
The columns CT and SNO, SCNT and CNO, and the contents of the buffer BUF shown in FIG. 71(E) are output as information input to the data processing device.
このことを利用して、単一ゲート・シンボル抽出時にお
ける誤抽出を救済してデータ処理装置に入力することが
可能となる。即ち、複合ゲート・シンボルを抽出するに
当って、上述の単一ゲート・シンボル抽出の過程におい
て、何等かの理由により、第74図(A)図示の矢印L
に示す如く、本来オア回路となるべき所が比較的高い頻
度でアンド・回路として抽出されることがあるとする。Utilizing this fact, it becomes possible to correct erroneous extraction during single gate symbol extraction and input it to the data processing device. That is, when extracting a composite gate symbol, in the process of extracting a single gate symbol described above, for some reason, the arrow L shown in FIG.
As shown in Figure 2, it is assumed that what should originally be an OR circuit is relatively frequently extracted as an AND circuit.
このような場合、上記矢印Lの所がアンド回路となるこ
とがあり得ないものとすると、複合ゲート・シンボル辞
書メモリとして第74図(B)図示の如き辞書を用意し
ておくようにする。そして、矢印Lの所の単一ゲート・
シンボルがアンド回路であるものを称して、総合パター
ンとしてCNO=102を与えるようにする。このよう
にすると、第74図(A)図示のパターンをもってCN
O=102の複合ゲート・シンボルであると認識される
こととなり、データ処理装置へ入力するに当っては、矢
印Lの位置の単一ゲート・シンボルをオア回路(SNO
=27)と修正して報告することができる。In such a case, assuming that the location indicated by the arrow L cannot become an AND circuit, a dictionary as shown in FIG. 74(B) is prepared as a composite gate/symbol dictionary memory. And a single gate at arrow L.
The symbol is an AND circuit, and CNO=102 is given as the overall pattern. In this way, the CN with the pattern shown in FIG. 74(A)
It is recognized as a composite gate symbol with O=102, and when inputting to the data processing device, the single gate symbol at the position of arrow L is connected to an OR circuit (SNO
=27) and report it.
第75図は、本来複合ゲート・シンボルであるベき第7
5図(A)図示の如く矢印Mの位置の単一ゲート・シン
ボルが、多入力アンド回路として単一ゲート・シンボル
の如く抽出され易い場合に対処する態様を示している。Figure 75 shows the 7th gate symbol, which is originally a composite gate symbol.
FIG. 5(A) shows a mode for dealing with the case where a single gate symbol at the position of arrow M is easily extracted as a multi-input AND circuit like a single gate symbol.
(XVII〕複合ゲート・シンボルの認識処理部(5)
におけるスタート点設定処理。(XVII) Composite gate/symbol recognition processing unit (5)
Start point setting process.
当該処理に関連する複合ゲート・シンボルに限らず一般
にゲート・シンボルを抽出したとき、当該ゲート・シン
ボルのスタート点(端子位置)を正しく設定しておいて
、後述する結線ラインの抽出処理などに利用するように
される。このために、スタート点設定の処理は次の如く
行われる。When extracting gate symbols in general, not just compound gate symbols related to the process, the start point (terminal position) of the gate symbol should be set correctly and used for the connection line extraction process described later. be made to do. For this purpose, the start point setting process is performed as follows.
即ち、上述の如くして例えば1つの複合ゲート・シンボ
ルが抽出されたとき、マッチングのとれた辞書メモリの
内容から、当該シンボルにおいてスタート点(結線ライ
ンとの連接点)がどの位置にあるかが座標(i、j)か
らの相対座標の形で判明する。本発明においては、この
点にもとづいて、上記スタート点が位置すべき絶対座標
が算出され当該絶対座標に該当する格子点に対して格子
点ラベルフードLOGLBL上の#0ビットに論理「1
」を立てると共に、当該スタ一ト点からいずれの方向に
線分が延長しているかに対応して#2ないし#5ビット
のいずれかに論理「1」を立てる。また、その格子点に
逆ロジックシンボルが付記されるべき場合には#1ビッ
トを論理「1」とする。That is, when, for example, one composite gate symbol is extracted as described above, the position of the start point (connection point with the connecting line) in the symbol can be determined from the contents of the matching dictionary memory. It is known in the form of relative coordinates from the coordinates (i, j). In the present invention, based on this point, the absolute coordinates where the start point should be located are calculated, and the #0 bit on the grid point label hood LOGLBL is set to logic "1" for the grid point corresponding to the absolute coordinates.
'' is set, and logic ``1'' is set in any of bits #2 to #5, corresponding to which direction the line segment extends from the start point. Further, when an inverted logic symbol is to be added to the grid point, the #1 bit is set to logic "1".
(XVIII〕シンボル領域の設定処理部(6)におけ
る処理。(XVIII) Processing in the symbol area setting processing unit (6).
上述の如く単一ゲート・シンボルの各グループあるいは
複合ゲート・シンボルに属するシンボルが大分類のレベ
ルで抽出されたとき、当該各シンボルが占有する領域の
境界にある格子点に対して、シンボル領域フラグを立て
る。即ち第5図図示のコードにおける#8ビット(シン
ボル領域フラグS)を論理「1」にする。該シンボル領
域フラグSを立てるに当っては、当該シンボルとマッチ
ングのとれた辞書メモリの内容から、第66図図示のシ
ンボル領域フラグSが論理「1」である格子点の相対座
標をみることによって絶対座標を算出し、当該絶対座標
をもつ格子点に対して格子点ラベルコードLOGLBL
上の#8ビットを論理「1」にすればよい。As described above, when symbols belonging to each group of single gate symbols or composite gate symbols are extracted at the major classification level, symbol area flags are set for grid points on the boundaries of the area occupied by each symbol. stand up. That is, the #8 bit (symbol area flag S) in the code shown in FIG. 5 is set to logic "1". In setting the symbol area flag S, the symbol area flag S is set by looking at the relative coordinates of the grid point where the symbol area flag S is logical "1" as shown in FIG. 66 from the contents of the dictionary memory that are matched with the symbol. Calculate the absolute coordinates and apply the grid point label code LOGLBL to the grid point with the absolute coordinates.
The upper #8 bit may be set to logic "1".
このように、抽出されたシンボルに対応して格子点ラベ
ル・コードLOGLBL上の#8ビットに論理「1」を
立てようとするとき、既に論理「1」が立っていること
がある。このような場合には、第7図を参照して述べた
如く、シンボルを2重に抽出している恐れがあり、その
旨を指示するフラグを第69図(A)に図示の如きSP
TABLEのSTFLG欄に立てておくようにする。第
76図(B)は、第76(A)図示の論理回路図に対応
して、上述のシンボル領域フラグS(#8ビット)を設
定した態様を太線で示したものである。In this way, when attempting to set the #8 bit on the lattice point label code LOGLBL to logic "1" corresponding to the extracted symbol, logic "1" may already be set. In such a case, as described with reference to FIG. 7, there is a possibility that symbols are extracted twice, and a flag indicating this is set to SP as shown in FIG. 69(A).
Place it in the STFLG column of TABLE. FIG. 76(B) corresponds to the logic circuit diagram shown in FIG. 76(A), and shows in thick lines the manner in which the above-mentioned symbol area flag S (#8 bit) is set.
(XIX〕線分確定処理部(7)における線分確定処理
。(XIX) Line segment confirmation processing in the line segment confirmation processing unit (7).
当該処理は、第4図に示す如く、ずれ補正IIユニット
による処理(7)(a)とあいまい補正IIユニット(
7)(b)による処理とからなっている。As shown in FIG.
7) Processing according to (b).
手書き図面の処理においては線分の位置ズレを充分考慮
する必要がある。本来単一の線分であるものがこの位置
ズレに起因して平行する二つの格子軸上の格子点ラベル
コードとして二重に抽出される場合が生じる。When processing handwritten drawings, it is necessary to fully consider the positional deviation of line segments. Due to this positional shift, what is originally a single line segment may be extracted twice as a lattice point label code on two parallel lattice axes.
ずれ補正IIユニット(7)(a)による処理はこのよ
うな線分の位置ズレの状態を格子点ラベルコードから推
定し設計者が意図したと思われる格子軸上にのみ確実な
格子点ラベルコードを生成するものである。ここで確実
な格子点ラベルコードというのはギャップ方向コード(
#12ないし#15ピット)、ズレ方向コード(#19
ないし#22ビット)およびあいまい方向コード(#2
4ないし#27ビット)がすべて「0」であるものをさ
し、あいまいな格子点ラベルコードというのはギャップ
方向コード、ズレ方向コード、あいまい方向コードのい
ずれかのビットが「1」であるものをさす。The processing by the deviation correction unit (7) (a) estimates the state of the positional deviation of such line segments from the grid point label code, and creates a reliable grid point label code only on the grid axis that is considered to be the designer's intention. is generated. Here, the reliable grid point label code is the gap direction code (
#12 to #15 pit), deviation direction code (#19
to #22 bit) and ambiguous direction code (#2
4 to #27 bits) are all "0", and an ambiguous grid point label code is one where any bit of the gap direction code, shift direction code, or ambiguous direction code is "1". point to
第77図は本処理例であるが、第77図(B)に示す如
く相対する方向に“ズレ方向”を有する一対の隣接格子
点ラベル・コードを捉え7これを単一線分がズレた結果
とみて第77図(C)図示の如く補正するようにする。Figure 77 is an example of this processing, where a pair of adjacent lattice point labels/codes with "shift directions" in opposite directions are captured and this is the result of the shift of a single line segment, as shown in Figure 77 (B). Considering this, the correction is made as shown in FIG. 77(C).
即ち第77図(B)図示のコードを4方向コードにもと
づき逐次検索しながら確実な格子点ラベルコードが付与
された格子の存在する軸を検出する。最後にその軸を確
実な格子点ラベルコードへと高めるとともに、他方の格
子点ラベルコードを除去する。なお図において、7−1
は確実なラベル・コードに対応する腕、7−2はずれフ
ラグをもつ腕、10はずれ方向、11は線分を図式的に
表わしている。That is, the code shown in FIG. 77(B) is sequentially searched based on the four-way code to detect the axis on which the lattice to which the reliable lattice point label code is attached is present. Finally, raise that axis to a reliable grid point label code, and remove the other grid point label code. In the figure, 7-1
is an arm corresponding to a certain label code, 7-2 is an arm with a deviation flag, 10 is a deviation direction, and 11 is a line segment.
次にあいまい補正IIユニット(7)(b)による処理
は格子点ラベルコードの持つあいまいさをより大域的な
視野から捉え、確実な格子点ラベルコードへと高めてい
くもので、手書図面特有の線切れ、あるいは線分に近接
して描かれた文字の影響によるあいまいさなどを除去す
る。Next, the processing by the ambiguity correction II unit (7) (b) captures the ambiguity of the lattice point label code from a more global perspective and improves it to a reliable lattice point label code, which is unique to hand-drawn drawings. Remove ambiguities caused by line breaks or characters drawn close to line segments.
線分として不完全な形態を有する格子点にはギャップ方
向コード又はあいまい方向コードが「1」を持つあいま
いな格子点ラベルコードが付与されている。当然1文字
の存在する格子点にも同じくあいまいな格子点ラベルコ
ードが付与されるわけであるが、ここではこのコード情
報の持つあいまいさが線分の局所的変動によるものか、
それとも文字そのものに起因するのかの解釈を与え、そ
の解釈にもとづく補正を行う。An ambiguous lattice point label code having a gap direction code or an ambiguous direction code of "1" is assigned to a lattice point having an incomplete form as a line segment. Naturally, an ambiguous lattice point label code is also assigned to a lattice point where a single character exists, but here, it is difficult to determine whether the ambiguity of this code information is due to local fluctuations in the line segment.
Or, give an interpretation as to whether it is caused by the characters themselves, and make corrections based on that interpretation.
第78図は本処理例であり、具体的には、最初に、第7
8図(B)図示の如くあいまいな格子点ラベルコードを
検出し、その4方向コードに沿った方向に位置する隣接
格子点ラベルコードを逐次検索する。この検索の過程で
第78図(C)図示の如くあいまいな格子点ラベルコー
ドをはさむ形の確実な格子点ラベルコードが出現すると
、そのあいまいさは線分の局所的な変動によるものであ
ると解釈し、確実な格子点ラベルコードへと変換する。FIG. 78 shows an example of this process. Specifically, first, the seventh
As shown in FIG. 8(B), an ambiguous lattice point label code is detected, and adjacent lattice point label codes located in directions along the four-way code are successively searched. In the process of this search, if a reliable lattice point label code sandwiching an ambiguous lattice point label code appears as shown in Figure 78(C), it is assumed that the ambiguity is due to local variations in line segments. Interpret and convert into reliable grid point label code.
なお図において、白丸12は確実な格子点ラベル・コー
ド、黒丸13はあいまいな格子点ラベル・コード、14
はあいまいフラグをもつ腕、15は上述のずれフラグを
もつ腕7−2と上述のあいまいフラグをもつ腕14とが
重複した腕を表わしている。また16は文字、17は線
分を表わしている。In the figure, white circles 12 are reliable grid point label codes, black circles 13 are ambiguous grid point label codes, and 14 are ambiguous grid point label codes.
15 represents an arm having an ambiguous flag, and 15 represents an arm in which arm 7-2 having the above-mentioned deviation flag and arm 14 having the above-mentioned ambiguous flag overlap. Further, 16 represents a character, and 17 represents a line segment.
(XX〕ギャップ・あいまい腕の処理I部(8)におけ
る処理。(XX) Gap/ambiguous arm processing Processing in part I (8).
上記処理までにおいて結線ラインが実質上確定してゆく
ことから、当該時点において、ギャップ方向コードとあ
いまい方向コードとをもつ格子点に対して、それらのコ
ードをもつ方向の4方向コード(D、L、U、R)を落
とすようにする。Since the connection line is substantially determined up to the above processing, at that point, the four-way code (D, L , U, R).
格子点ラベルコードLOGLBL(i、j)の#8ビッ
ト(S)が「0」のものに対して、以下の処理を実行す
る。The following processing is performed for the grid point label code LOGLBL (i, j) whose #8 bit (S) is "0".
(1)LOGLBL(i、j)の#11ビット(GF)
が「1」であって。(1) #11 bit (GF) of LOGLBL (i, j)
is "1".
(1−1)LOGLBL(i、j)の#15ビット(G
R)が「1」ならは、LOGLBL(i、j)の#15
ビット(GR)#31ビット(R)を「0」にする。(1-1) #15 bit (G
If R) is "1", #15 of LOGLBL(i,j)
Bit (GR) #31 Set bit (R) to “0”.
(1−2)LOGLBL(i、j)の#14ビット(G
U)が「1」ならば、LOGLBL(i、j)の#14
ピット(GU)#30ビット(U)を「0」にする。(1-2) #14 bit (G
If U) is “1”, #14 of LOGLBL(i,j)
Set pit (GU) #30 bit (U) to “0”.
(1−3)LOGLBL、(i、j)の#13ビット(
GL)が「1」ならば、LOGLBL(i、j)の#1
3ピット(GL)、#29ピット(L)を「0」にする
。(1-3) LOGLBL, #13 bit of (i, j) (
If GL) is "1", #1 of LOGLBL(i,j)
Set the 3rd pit (GL) and #29 pit (L) to "0".
(1−4)LOGLBL(i、j)の#12ビット(G
D)が「1」ならば、LOGLBL(i、j)の#12
ビット(GD)、#28ビット(D)を「0」にする。(1-4) #12 bit (G
If D) is "1", #12 of LOGLBL(i,j)
Set bit (GD) and #28 bit (D) to “0”.
(1−5)そしてLOGLBL(t、j)の#11ビッ
ト(GF)を「0」にする。(1-5) Then, #11 bit (GF) of LOGLBL (t, j) is set to "0".
(2)LOGLBL(i、j)の#16ビット(FF)
が「1」であって、
(2−1)LOGLBL(i、j)の#27ビット(F
R)が「1」ならば+LOGLBL(i、j)の#27
ビツト(FR)、s31ビットKを「0」にする。(2) #16 bit (FF) of LOGLBL (i, j)
is “1”, and (2-1) #27 bit (F
If R) is “1”, then #27 of +LOGLBL(i,j)
Bit (FR), s31 Bit K is set to "0".
(2−2)LOGLBL(i、j)の#26ビット(F
U)が「1」ならば、LOGLBL(i、j)の#26
ビツト(FU)、#30ビット(U)を「0」にする。(2-2) #26 bit (F
If U) is “1”, #26 of LOGLBL(i,j)
Set bit (FU) and #30 bit (U) to “0”.
(2−3)LOGLBL(i、j)の#25ビット(F
L)が「1」ならば、LOGLBL(i、j)の#25
ビット(FD)、#29ビット〔I)を「0」にする。(2-3) #25 bit (F
If L) is "1", #25 of LOGLBL(i,j)
Set bit (FD) and #29 bit [I] to “0”.
(2−4)LOGLBL(i、j)の#24ビット(F
D)が「1」ならば、LOGLBL(i、j)の#24
ピット(FD)、#28ビット(D)を「0」にする。(2-4) #24 bit (F
If D) is "1", #24 of LOGLBL(i,j)
Set the pit (FD), #28 bit (D) to "0".
(3)上記処理(1)、(2)で処理されたものに対し
て、上記対の処理ユニット(3)(b)で行った如き対
の処理を実行する。(3) For those processed in the above processes (1) and (2), a pair of processes such as those performed in the above pair of processing units (3) and (b) are executed.
(XXI〕単一ゲート・シンボルの認識処理部(9)に
おけるシンボルの認識処理。(XXI) Symbol recognition processing in the single gate symbol recognition processing unit (9).
当該処理においては、上述のシンボル分類処理部(4)
において大分類を行った結果にもとづいて、同じグルー
プ内を更に小分類してゆくようにする。In this process, the above-mentioned symbol classification processing unit (4)
Based on the results of the major classification, the same group is further classified into smaller groups.
上述の如く抽出されたシンボルに対しては、第69図(
A)に示す如きテーブルSPTABLEが得られている
。この状態の下で次の如く処理が行われる。For the symbols extracted as described above, FIG. 69 (
A table SPTABLE as shown in A) is obtained. Under this state, the following processing is performed.
(1)テーブルSPTABLEの検索。(1) Search table SPTABLE.
例えば第79区間図示の如き単一ゲートシンボル18に
つき、第69図(A)図示のテーブルを検索し、格子点
座標(i、j)、および分類番号NO.方向SDRCT
を取出す。ここでは「(i8、j8)、NO=13、S
DRCT=0」が取出されたものとする。For example, the table shown in FIG. 69(A) is searched for a single gate symbol 18 as shown in the 79th section, and the grid point coordinates (i, j) and classification number NO. Direction SDRCT
Take out. Here, "(i8, j8), NO=13, S
DRCT=0'' is extracted.
(2)候補シンボルテーブルの検索。(2) Search candidate symbol table.
第79図(B)に示すように、第69図(A)図示のN
O毎に該当する候補シンボル番号と候補個数情報とを記
述した候補シンボルテーブル19が設けられ、たとえば
図示の3入力2出力のスタート点を持つ単一ゲートシン
ボル18の場合を分類番号を「NO=13」とし、方向
「SDRCT=0」とした場合候補シンボルテーブル1
9で3つの候補シンボル番号「13」、「14」、「1
5」が取出される。As shown in FIG. 79(B), the N shown in FIG. 69(A)
A candidate symbol table 19 is provided that describes candidate symbol numbers and candidate number information corresponding to each O. For example, in the case of a single gate symbol 18 having a starting point of 3 inputs and 2 outputs as shown in the figure, the classification number is set to 13” and the direction “SDRCT=0” Candidate symbol table 1
9, three candidate symbol numbers "13", "14", "1"
5" is taken out.
(3)シンボル認識辞書と変換。(3) Symbol recognition dictionary and conversion.
第79図(C)、(D)、(E)は同図(B)から取出
された候補シンボル番号「13」、「14」、「15」
に対応するシンボル認識辞書20−1、20−2、20
−3の内容を示す。それぞれの左側のゲートの各スター
ト点位置に対応する(i、j)と格子点ラベルコードの
形状を示す。また欄外の*印はそのスタート点にその状
態があってはならないことを示す情報である。下欄の左
側は辞書の大きさを、右側は逆ロジックシンボル(2m
mφ)の数を示したものである。Figure 79 (C), (D), and (E) are candidate symbol numbers "13", "14", and "15" extracted from Figure 79 (B).
Symbol recognition dictionaries 20-1, 20-2, 20 corresponding to
- Indicates the contents of 3. The shape of the grid point label code (i, j) corresponding to each starting point position of each left gate is shown. Also, the * mark on the outside of the margin is information indicating that the state should not exist at the starting point. The left side of the bottom column shows the size of the dictionary, and the right side shows the reverse logic symbol (2m
mφ).
これらの認識辞書を方向SDRCTにより変換を行う。These recognition dictionaries are converted by directional SDRCT.
(4)シンボル認識辞書と格子点ラベルコードとのマッ
チング。(4) Matching between symbol recognition dictionary and grid point label code.
第79図(F)に示すようにシンボル認識辞書20−1
、20−2、20−3と格子点ラベルコードの小円形表
示フラグ(#17ビット)および4方向コード(#28
ないし#31ビット)とのマッチング演算を行い、結果
を同図(G)の認識バッファ21に格納する。該認識バ
ッファ21のAの欄は4方向コードの一致度数、Bの欄
は逆ロジック・シンボルの一致度数、Cの欄は辞書に記
述された逆ロジック・シンボルの存在位置からみた逆ロ
ジック・シンボル存在位置の一致度数を示す。As shown in FIG. 79(F), symbol recognition dictionary 20-1
, 20-2, 20-3 and the small circular display flag (#17 bit) of the grid point label code and the 4-way code (#28
to bit #31), and the result is stored in the recognition buffer 21 shown in FIG. Column A of the recognition buffer 21 shows the degree of matching of four-way codes, column B shows the degree of matching of reverse logic symbols, and column C shows the reverse logic symbols seen from the position of the reverse logic symbols described in the dictionary. Indicates the degree of matching of existing positions.
(5)判定。(5) Judgment.
(5−1)A+Bが最大値、すなわち、A+Bの値がシ
ンボル認識辞書の犬ぎさ(図示縦側の数)の2倍であれ
ば、その候補シンボルが最大マッチングであり認識結果
の答となる。同図(G)の認識バッファの候補シンボル
番号の1番目はこれに該当する。(5-1) If A+B is the maximum value, that is, the value of A+B is twice the dog size (the number on the vertical side in the diagram) of the symbol recognition dictionary, the candidate symbol is the maximum matching and is the answer of the recognition result. . This corresponds to the first candidate symbol number in the recognition buffer in FIG.
そして第69図(A)図示のテーブルSPTABLE内
のSNO欄にそのシンボル番号13を入れる。Then, the symbol number 13 is entered in the SNO column in the table SPTABLE shown in FIG. 69(A).
(5−2)A+Bが最大値であるものがなければ、C欄
が最大値のもの、すなわちシンボル認識辞書に記述され
た逆ロジック・シンボルの個数と一致し且つA+Bがあ
る閾値より大きいもののうちで最大の度数をもつものを
認識結果の答とする。そしてテーブルSPTABLE内
のSNO欄にそのシンボル番号を入れる。(5-2) If there is no item for which A+B is the maximum value, then the C column is for the maximum value, that is, among the items that match the number of reverse logic symbols described in the symbol recognition dictionary and for which A+B is greater than a certain threshold. The one with the maximum frequency is taken as the answer of the recognition result. Then, enter the symbol number in the SNO column in the table SPTABLE.
(5−3)上記(5−1)、(5−2)のいずれにも該
当するものがなければ、A+B+Cに閾値を設け、その
値以上のもののうちで最大のものを認識結果の答とする
。そして同様にSNO欄にそのシンボル番号を入れる。(5-3) If there is nothing that corresponds to either (5-1) or (5-2) above, set a threshold value for A+B+C and use the largest one that is greater than or equal to that value as the answer of the recognition result. do. Similarly, enter the symbol number in the SNO column.
(5−4)上記(5−1)ないし(5−3)に該当する
ものがなければ、シンボルではないと判定し、デーブル
SPTABLEのSTFLG欄に「1」を立てる。(5-4) If there is nothing corresponding to (5-1) to (5-3) above, it is determined that it is not a symbol, and "1" is set in the STFLG column of table SPTABLE.
以上のようにして、シンボルについて小分類を与えるこ
とができる。As described above, it is possible to give subclassifications to symbols.
(XXII〕スタート点の設定処理部(10)の処理該
処理は上記処理(XVII〕と実質的に全く同一である
。(XXII) Processing of the start point setting processing section (10) This processing is substantially the same as the above processing (XVII).
(XXIII〕逆ロジック・シンボルの処理部(11〕
の処理。(XXIII) Reverse logic symbol processing unit (11)
processing.
当該処理は、第10図に関連して述べた如く、後述する
処理に悪影響を与える可能性のある逆ロジック・シンボ
ルを、いわば一時棚上げしてしまうための処理である。As described in connection with FIG. 10, this process is a process for temporarily shelving reverse logic symbols that may have an adverse effect on the process described later.
この場合には、スタート点に対応する格子点に対する処
理であることから、#0ビット(Sr)が「1」、且つ
#1ビット(S2)が「1」の格子点ラベルコードLO
GLBL(i、j)に対してのみ、以下の処理を実行す
る。In this case, since the processing is for the grid point corresponding to the start point, the grid point label code LO where the #0 bit (Sr) is "1" and the #1 bit (S2) is "1"
The following processing is executed only for GLBL(i,j).
(1)LOGLBL(i、j)の#5ビット(SR)が
「1」ならば、
a)LOGLBL(i、j−i)の#31ビット(R)
、#16ビット(FF)
b)LOGLBL(i+1、j−1)の#29ビット(
L)#28ビット(D)、#16ビット(FF)c)L
OGLBL(i+1、j)の#30ビット(U)、#2
8ピント(D)
d)LOGLBL(i+1、j+1)の#30ビット(
U)。(1) If #5 bit (SR) of LOGLBL (i, j) is “1”, then a) #31 bit (R) of LOGLBL (i, j−i)
, #16 bit (FF) b) #29 bit of LOGLBL (i+1, j-1) (
L) #28 bit (D), #16 bit (FF) c) L
#30 bit (U) of OGLBL (i+1, j), #2
8 pinto (D) d) #30 bit of LOGLBL (i+1, j+1) (
U).
#29ビット(L)、#16ビット(FF)e)LOG
LBL(i、j+1)の#31ピント(R)、#16ビ
ット(FF)
を「0」にする。#29 bit (L), #16 bit (FF) e) LOG
Set #31 pinto (R) and #16 bit (FF) of LBL (i, j+1) to “0”.
(2)LOGLBL(i、j)の#4ビット(SU)が
「1」ならば、
a)LOGLBL(i−1、j)の#30ビット(U)
、#16ビツト(FF)
b)LOGLBL(i−i、j−i)の#31ビット(
R)、#28ビット(D)、#16ビット(FF)c)
LOGLBL(i+1、j−1)の#31ビット(R)
、#29ビット(L)
d)LOGLBL(i+1、j−1)の#29ビット(
L)、#28ビット(D)、#16ビット(FF)e)
LOGLBL(i+1、j)の#30ビット(U)、#
16ビット(FF)
を「0」にする。(2) If #4 bit (SU) of LOGLBL (i, j) is “1”, then a) #30 bit (U) of LOGLBL (i-1, j)
, #16 bit (FF) b) #31 bit (FF) of LOGLBL (ii, ji)
R), #28 bit (D), #16 bit (FF) c)
#31 bit (R) of LOGLBL (i+1, j-1)
, #29 bit (L) d) #29 bit (L) of LOGLBL (i+1, j-1)
L), #28 bit (D), #16 bit (FF)e)
#30 bit (U) of LOGLBL (i+1, j), #
Set the 16 bit (FF) to “0”.
(3)LOGLBL(i、j)の#3ビット(SL)が
「1」ならば、
a)LOGLBL(i、j−1)の#29ビット(R)
、#16ビット(FF)
b)LOGLBL(i−1、j−1)の#31ビット(
R)、#28ビット(D)、#16ビット(FF)c)
LOGLBL(i−1、j)の#30ビット(U)、#
28ビット(D)
d)LOGLBL(i−1、j+1)の#31ビット(
R)、#30ビット(D)、#16ビット(FF)e)
LOGLBL(i、j+1)の#29ビット(L)、#
16ビット(FF)
を「0」にする。(3) If #3 bit (SL) of LOGLBL (i, j) is “1”, then a) #29 bit (R) of LOGLBL (i, j-1)
, #16 bit (FF) b) #31 bit of LOGLBL (i-1, j-1) (
R), #28 bit (D), #16 bit (FF) c)
#30 bit (U) of LOGLBL (i-1, j), #
28 bits (D) d) #31 bit of LOGLBL (i-1, j+1) (
R), #30 bit (D), #16 bit (FF) e)
#29 bit (L) of LOGLBL (i, j+1), #
Set the 16 bit (FF) to “0”.
(4)LOGLBL(i、j)の#2ビット(SD)が
「1」ならば、
a)LOGLBL(i−1、j)の#28ピッl−(D
)、#16ビット(FF)
b)LOGLBL、(i−1、j+1)の#31ビット
(R)、#30ビット(D)、#16ビット(FF)c
)LOGLBL(i、j+1)の#31ビット(R)、
#29ビット(L)
d)LOGLBL(i+1、j+1)の#30ビット(
U)、#29ビット(L)、#16ビット(FF)e)
LOGLBLB(i+1、j)の#28ビット(D)、
#16ビット(FF)
を「0」にする。(4) If #2 bit (SD) of LOGLBL (i, j) is “1”, then a) #28 bit of LOGLBL (i-1, j) - (D
), #16 bit (FF) b) LOGLBL, #31 bit (R) of (i-1, j+1), #30 bit (D), #16 bit (FF) c
) #31 bit (R) of LOGLBL (i, j+1),
#29 bit (L) d) #30 bit of LOGLBL (i+1, j+1) (
U), #29 bit (L), #16 bit (FF) e)
#28 bit (D) of LOGLBLB (i+1, j),
Set #16 bit (FF) to “0”.
(XXIV〕スタート点近傍の線切れ補正処理部(12
)における処理。(XXIV) Line breakage correction processing unit near the start point (12
) processing.
上述の如く、シンボルのスタート点位置の近傍では、上
述の格子点ラベルコードLOGLBL上で線切れが発生
し易い。本処理はこの非所望な線切れの存在を補正する
。As described above, line breakage is likely to occur on the lattice point label code LOGLBL in the vicinity of the starting point position of the symbol. This process corrects the existence of this undesired line break.
第80図(A)はスタート方向が左、従って格子点ラベ
ルコードの#2ないし#5ビットが「0100」の場合
である。図の5列は該スタート方向詳しくは認識した論
理シンボルのスタート点の格子点ラベルコードの#2な
いし#5ビットを図解的に示すものであり、4列はそれ
より1格子軸左側の(格子間隔は本例では2mmとした
場合に2mm左側の)格子点のラベルコードの#28な
いし#31ビットを図解的に示す。そして、ケース1は
4方向コードが「0100」の場合つまり線分は左から
延びてきて当該格子点で止っていることを示している。FIG. 80(A) shows a case where the start direction is left, and therefore bits #2 to #5 of the grid point label code are "0100". Column 5 in the figure schematically shows bits #2 to #5 of the lattice point label code of the start point of the recognized logical symbol in detail, and column 4 shows the starting direction (lattice point) one lattice axis to the left. In this example, when the interval is 2 mm, bits #28 to #31 of the label code of the lattice point (2 mm to the left) are schematically shown. Case 1 indicates that the four-way code is "0100", that is, the line segment extends from the left and stops at the grid point.
ケース2は4方向コードが「1000」つまり線分が上
から下ってきて当該格子点で止まり、そしてケース3は
4方向コードが「1000」つまり線分が下から上って
当該格子点で止っていることを示している。しかしこの
部分には第5列に示す如く論理シンボルの端子があるの
で、このような跡切れ状態は、不正確な作図による線切
れであり、本来は右へ1格子間隔だけ延びているべきも
のと判断し、6列および7列に示すようにその線分を付
加する。具体的にはスタート点の4方向コードのL(#
29ビット)を「1」にし、その左隣りの格子点の4方
向コードのR(#31ビット)を「1」にする。In case 2, the 4-way code is "1000", that is, the line segment descends from the top and stops at the relevant grid point, and in case 3, the 4-way code is "1000", that is, the line segment goes up from the bottom and stops at the relevant grid point. It shows that However, since there is a logic symbol terminal in this part as shown in the 5th column, this broken trace is a line break caused by inaccurate drawing, and the line should originally have extended one grid interval to the right. The line segment is added as shown in the 6th and 7th columns. Specifically, the 4-way code L (#
29 bit) is set to "1", and R (#31 bit) of the 4-way code of the grid point to the left of it is set to "1".
第80図(B)はスタート方向が上の場合で、5行はそ
れを図示し、4行はその上隣りの格子点の4方向コード
を図解的に示す。ケース1、2.3は4方向コードが「
0010」、「0100」、「0001」の場合で、い
ずれも該格子点よりスタート点までの結線が欠けている
と判断し、6行、7行に示すように上隣り格子点の4方
向コードのD(#28ビット)を「1」にし、またスタ
ート点の4方向コードのU(#30ビット)を「1」に
する。第80図(C)はスタート方向が右の場合、同図
(D)はスタート方向が下の場合で、いずれも上記に準
じた図示の如き補正を行う。この処理によって、手書き
のため生じやすい論理シンボルの端子位置近傍の線切れ
を補正し、断線を回避することができる。FIG. 80(B) shows the case where the starting direction is upward, and the 5th line illustrates this, and the 4th line illustrates the 4-direction code of the grid point adjacent above it. In cases 1, 2.3, the 4-way code is “
0010'', ``0100'', and ``0001'', it is determined that the connection from the grid point to the start point is missing, and the 4-way code of the upper adjacent grid point is determined as shown in lines 6 and 7. Set D (#28 bit) to "1", and set U (#30 bit) of the 4-way code at the start point to "1". FIG. 80(C) shows the case where the starting direction is to the right, and FIG. 80(D) shows the case when the starting direction is downward. In both cases, the correction as shown in the drawings is performed in accordance with the above. Through this processing, it is possible to correct line breaks near the terminal positions of logic symbols that are likely to occur due to handwriting, and to avoid line breaks.
(XXV)ギャップ・あいまい腕の処理IIユニット(
13)(a)の処理。(XXV) Gap/ambiguous arm processing II unit (
13) Processing of (a).
この処理は、当該時点で上記処理(XX)と同じような
処理を行うものである。即ち、
(1)格子点ラベルコードLOGLBL(i、j)の#
8ビット(S)が「1」のものに対して以下の処理を実
行する。This process is to perform the same process as the above process (XX) at this point in time. That is, (1) # of lattice point label code LOGLBL (i, j)
The following processing is executed for those whose 8 bits (S) are "1".
a)LOGLBLD(i、j)の#16ビット(FF)
、#11ビット(GF)を「0」にする。a) #16 bit (FF) of LOGLBLD (i, j)
, #11 bit (GF) is set to "0".
(2)格子点ラベルコードLOGLBL(i、j)の#
8ビット(S)が「0」のものに対して以下の処理を実
行する。(2) # of grid point label code LOGLBL (i, j)
The following processing is executed for those whose 8 bits (S) are "0".
(2−1)LOGLBL(i、j)の#11ビット(G
F)が「1」ならば
a)LOGLBL(i、j)の#15ビット(GR)が
「1」のときLOGLBL(i、j)の#15ビット(
GR)#31ビット(R)を「0」にする。(2-1) #11 bit (G
F) is "1", then a) When the #15 bit (GR) of LOGLBL (i, j) is "1", the #15 bit (GR) of LOGLBL (i, j) is
GR) #31 bit (R) is set to “0”.
b)LOGLBL(i、j)の#14ビット(GU)が
「1」のときLOGLBL(i、j)の#14ビット(
GU)、#30ビット(U)を「0」にする。b) When #14 bit (GU) of LOGLBL (i, j) is “1”, #14 bit (GU) of LOGLBL (i, j)
GU), #30 bit (U) is set to “0”.
c)LOGLBL(i、j)の#13ビット(GL)が
「1」のときLOGLBL(i、j)の#13ビット(
GL)、#29ビット(L)を「0」にする。c) When #13 bit (GL) of LOGLBL (i, j) is “1”, #13 bit (GL) of LOGLBL (i, j)
GL), #29 bit (L) is set to “0”.
d)LOGLBL(i、j)の#12ビット(GD)が
「1」のときLOGLBL(i、j)の#12ビット(
GD)、#28ビット(D)を「0」にする。d) When #12 bit (GD) of LOGLBL (i, j) is “1”, #12 bit (GD) of LOGLBL (i, j)
GD), #28 bit (D) is set to “0”.
e)そしてLOGLBL(i、j)の#12ビット(G
D)を「0」する。e) and #12 bit (G
D) is set to "0".
(2−2)LOGLBL(i、j)の#16ビット(F
F)が「1」ならば
a)LOGLBL(i、j)の#24ないし#31ビッ
ト(FD、FL、FU、FR、D、L、U、R)を「0
」にする。(2-2) #16 bit (F
If F) is "1", then a) #24 to #31 bits (FD, FL, FU, FR, D, L, U, R) of LOGLBL (i, j) are set to "0".
”.
(3)そして、その結果に対して対の処理を行う。(3) Then, perform pairwise processing on the results.
(XXVI〕ライン結合子の処理ユニット(13)(b
)の処理。(XXVI) Line connector processing unit (13) (b
) processing.
この時点で非所望な形でライン結合子表示ビット(#1
8ビット)が立っていれば、これを補正する。即ち、
(1)シンボル領域「S=1」ならば;#18ビットを
「0」にする。At this point, the line connector indication bit (#1
8 bit) is set, correct this. That is, (1) If symbol area "S=1";#18 bit is set to "0".
(2)シンボル領域でない「S=O」ならは;(2−1
)4方向コード(D・L・U・R)を調べ、1であるビ
ットの個数を数え、2個数に応じて以下の処理を行う。(2) If “S=O” which is not a symbol area; (2-1
) Examine the four-way code (D, L, U, R), count the number of bits that are 1, and perform the following processing depending on the number of 2 bits.
{a)個数≦2ならば#18ビットを「0」にする。{a) If the number≦2, set #18 bit to “0”.
b)個数ならば#18ビットを「1」にする。b) If it is a number, set #18 bit to "1".
c)個数ならばそのまま(処理なし)}(XXVII〕
複合ゲート・シンボル内の線分消し処理ユニット(13
)(c)の処理。c) If it is a number, leave it as is (no processing)} (XXVII)
Line segment erasure processing unit (13
) Processing of (c).
複合ゲート・シンボルの領域内での結線ラインは予め判
っているパターンであり、抽出が不要なため、これを抹
消する処理を行う。即ち、(1)シンボル認識テーブル
SPTABLEから複合ゲートシンボルの構成要素であ
るシンボルを取り出す。即ちSTFLG=0.且つCN
O>100(複合であることを示す)のシンボルの座標
(i、j)とシンボル番号SNOとを抽出する。Since the connection lines within the region of the composite gate symbol are a previously known pattern and do not need to be extracted, processing is performed to erase them. That is, (1) symbols that are constituent elements of the composite gate symbol are extracted from the symbol recognition table SPTABLE. That is, STFLG=0. And CN
The coordinates (i, j) and symbol number SNO of a symbol with O>100 (indicating a compound) are extracted.
(2)シンボル番号SNOに応じて、その端子辞書(ス
タート点辞書20)を取り出す。(2) Take out the terminal dictionary (start point dictionary 20) according to the symbol number SNO.
(3)スタート点辞書20の内容と格子点ラベルコード
とを比較し、スタート点情報(#0ビット)が「1」で
ない端子位置および結線の方向を検出する。即ち複合ゲ
ート・シンボル領域内の線分の端子位置と方向とを検出
する。(3) Compare the contents of the start point dictionary 20 and the grid point label code to detect terminal positions and connection directions where the start point information (#0 bit) is not "1". That is, the terminal position and direction of the line segment within the composite gate symbol area are detected.
(4)シンボル領域(#8ビット=1)あるいは、スタ
ート点(#0ビット=1)あるいは、端点(追跡方向が
ない)まで、4方向コードを追跡し、次の処理を実行す
る。(4) Trace the four-way code to the symbol area (#8 bit = 1), the start point (#0 bit = 1), or the end point (no tracking direction), and execute the following process.
(4−1)追跡により到達した格子点ラベルLOGLB
L(i、j)に対して、
a)左方向へ向う追跡を行ったとき、#29ピット(L
)を「0」にする。(4-1) Lattice point label LOGLB reached by tracking
For L(i,j), a) When tracking to the left, #29 pit (L
) to "0".
b)上方向へ向う追跡を行ったとき、#28ビット(D
)を「0」にする。b) When tracking upward, #28 bit (D
) to "0".
c)右方向へ向う追跡を行ったとき、#31ビット(R
)を「0」にする。c) When tracking to the right, #31 bit (R
) to "0".
d)下方向へ向う追跡を行ったとき、#30ピット(U
)を「0」にする。d) When tracking downward, #30 pit (U
) to "0".
e)そして、その上で#16ビット(あいまいフラグ)
を「0」にする。e) and then the #16 bit (ambiguity flag)
Set to "0".
(XXVIII〕結線ライン抽出処理部(14)におけ
る処理。(XXVIII) Processing in the connection line extraction processing unit (14).
当該処理においては、結線ラインについて(i)スター
ト点−スタート点間
(ii)分岐点−分岐点間
(iii)屈曲点−屈曲点間
(iv)スタート点−分岐点間
(v)分岐点−屈曲点間
(vi)屈曲点−スタート点間
をもって、ベクトルとして抽出すべく追跡を行うもので
ある。これは、上述の集約的格子点ラベル・コードを4
方向コードにもとづいで辿ってゆくことにより達成でき
るものであって、処理の詳細についでは説明を省略する
。In this process, for the connection line, (i) between starting points (ii) between branching points (iii) between bending points (iv) between starting points and branching points (v) between branching points - Between bending points (vi) Tracking is performed to extract a vector between the bending point and the start point. This converts the intensive grid point label code described above to 4
This can be achieved by tracing based on the direction code, and detailed explanation of the process will be omitted.
(XXIX〕文字領域の抽出処理部(15)における処
理。(XXIX) Processing in the character area extraction processing unit (15).
図面からシンボルと結線ラインとを抽出すると。Extracting symbols and connection lines from a drawing.
残りは文字である。当該処理においては、格子点ラベル
・コードLOGLBLにおけるあいまいフラグ#16ビ
ット(FF)が立つでいるものを抽出し、文字領域を抽
出してゆく。当該処理は、次の如く行われる。即ち、
(1)文字フラグのグルーピング
(2)文字列の抽出
(2−1)画像データの切出し
(2−2)画像データの連結性抽出
(2−3)図形パターンの除去および隣接領域の切出し
の各段階から構成される。The rest are letters. In this process, those in which the ambiguity flag #16 bit (FF) is set in the grid point label code LOGLBL are extracted, and character areas are extracted. The processing is performed as follows. That is, (1) Grouping of character flags (2) Extraction of character strings (2-1) Extraction of image data (2-2) Extraction of connectivity of image data (2-3) Removal of graphic patterns and extraction of adjacent areas It consists of each stage.
以下上記各処理の詳細を説明する。The details of each of the above processes will be explained below.
(1)文字フラグのグルーピング
例えば第81図(A)に示した如く、格子点ラベルコー
ド中の当面不要のものを一時消去し文字列フラグMFと
して1ビットをもうけ、格子点データとして使用する。(1) Grouping of character flags For example, as shown in FIG. 81(A), items that are unnecessary for the time being in the lattice point label code are temporarily deleted, and 1 bit is created as a character string flag MF, which is used as lattice point data.
そして、処理に先立ち全格子点ラベルコードの文字列フ
ラグMFはクリアしておく。またあいまいフラグFFを
文字フラグと呼びかえる。Prior to processing, the character string flags MF of all grid point label codes are cleared. Also, the ambiguous flag FF can be called a character flag.
本処理では、格子点ラベルコードの文字フラグFFを検
索し、−かたまり(文字列毎)の文字フラグ22を抽出
する第81図(B)に処理例を示し、−かたまりの格子
点データ23の#7ビットの文字列フラグMFを「1」
とする。In this process, the character flag FF of the grid point label code is searched, and a processing example is shown in FIG. # Set the 7-bit string flag MF to “1”
shall be.
(2)文字列の抽出
(2−1)画像データの切出し
文字フラグMFが「1」の格子点を中心とするn×n(
nは格子軸間の距離)画素で矩形領域に切り出す。以下
本処理を第82図および第83図を参照しつつ説明する
。(2) Extracting character strings (2-1) Extracting image data n×n (
(n is the distance between grid axes) pixels are cut out into a rectangular area. This process will be explained below with reference to FIGS. 82 and 83.
第82図(A)、(B)は上述の処理により処理した例
を示している。すなわち、同図穴の文字24.線分25
を処理し、同図(B)の黒丸印26は文字フラグFFが
「1」の格子点を示し、白丸に対応した腕は論理「1」
をもつ4方向コード(DLUR)を図式的に示している
。文字フラグによるグルーピング処理は、第83図(A
)に示すように、■印の文字列フラグ27により格子点
近傍の画像データをグループ別けする。従って、■印の
格子点近傍の画像データを矩形領域28により切出すと
、第83図(B)図示の画像データ29が抽出される。FIGS. 82(A) and 82(B) show examples processed by the above-described processing. In other words, the character 24 in the hole in the figure. Line segment 25
The black circle mark 26 in the same figure (B) indicates the grid point where the character flag FF is "1", and the arm corresponding to the white circle is the logic "1"
1 schematically shows a four-way code (DLUR) with Grouping processing using character flags is shown in Figure 83 (A
), the image data in the vicinity of the lattice points is divided into groups by the character string flags 27 marked with ■. Therefore, when the image data in the vicinity of the lattice points marked with ■ is cut out by the rectangular area 28, image data 29 shown in FIG. 83(B) is extracted.
しかし、このように単にグルーピングされた文字フラグ
で格子点近傍の画像データを切出すだけでは、図示のよ
うに、文字の一部の欠除や、他の図形画像の混入等によ
り完全な文字列の抽出が難しい場合が起る。However, if the image data near the grid points is simply extracted using the grouped character flags, as shown in the figure, a complete character string may not be complete due to deletion of some characters or inclusion of other graphic images. Sometimes it is difficult to extract.
このために、以下の処理を導入する。For this purpose, the following process will be introduced.
(2−2)画像データの連結性抽出
文字列フラグMFが「1」の格子点近傍矩形領域28で
切出した画像データに対し、第84図に示すように、そ
の矩形領域内の画像データが矩形領域の外線30に接す
るか否かを調べる。(2-2) Connectivity extraction of image data Regarding the image data cut out in the rectangular area 28 near the lattice point where the character string flag MF is "1", as shown in FIG. It is checked whether it touches the outside line 30 of the rectangular area.
(a)n×1(または1×n)の領域がすべて「0」な
らば「AM(k)=1」で示し非連結である。(a) If all n×1 (or 1×n) areas are “0”, it is indicated as “AM(k)=1” and is non-connected.
(b)nX1(または1×n)の領域に「1」があれは
「AM(k)=1」で示し隣接領域への連結の可能性が
ある。ただし「k=1、2、3、4」とする。(b) If there is "1" in the nX1 (or 1×n) area, it is indicated by "AM(k)=1" and there is a possibility of connection to the adjacent area. However, it is assumed that "k=1, 2, 3, 4".
第85図はこの連結性抽出例を示したもので、矩形領域
28の画像データの4方向のうち、「AM(3)=0」
のみが非連結で、他の3方向の「AM(1)=1」、「
AM(4)=1」は文字データ31により、「AM(2
)=1」は隣接格子軸ライン32により画像データが存
在していることが示されている。FIG. 85 shows an example of this connectivity extraction. Among the four directions of the image data of the rectangular area 28, "AM(3)=0"
"AM(1)=1" in the other three directions, "
"AM(4)=1" is changed to "AM(2)" by the character data 31.
)=1'' indicates that image data exists due to the adjacent grid axis line 32.
(2−3)図形パターンの除去および隣接領域の切出し
a)矩形領域内の図形パターン除去
画像データの連結性抽出処理の結果、「AM(k)=1
」ならば、第85図に示す画像データの上方向の「AM
(2)=1」に見られるように、隣接格子軸のラインが
ずれた場合に、そのラインの一部分が入ってきている可
能性がある。そのため、「AM(k)=1」ならは、第
86図に示すように、その方向に対応した隣接格子点ラ
ベルコードを調べ、次の処理を行う。すなわち、
(i)文字フラグ「FF=1」ならば、「AM(k)=
0」とする。(2-3) Removal of graphic pattern and cutting out adjacent area a) As a result of the connectivity extraction process of the graphic pattern removed image data in the rectangular area, “AM(k)=1
”, then “AM” in the upper direction of the image data shown in FIG.
(2) = 1'', when the lines of adjacent grating axes are shifted, there is a possibility that part of that line has entered. Therefore, if "AM(k)=1", as shown in FIG. 86, the adjacent grid point label code corresponding to that direction is checked and the next process is performed. That is, (i) If the character flag "FF=1", then "AM(k)=
0".
(ii){文字フラグ「FF=0」且つ4方向コードが
(DLUR)の
何れかが「1」}ならば、線パターン除去処理を行う。(ii) If {character flag “FF=0” and any of the four direction codes (DLUR) is “1”}, line pattern removal processing is performed.
(iii)上記以外ならばそのままにする。(iii) If other than the above, leave as is.
矩形領域28内の線パターン除去処理は上記条件(ii
)を満たす各方向に対して実行するが、例として「i=
1」の場合を取りあげ第87図、第88図により説明す
る。The line pattern removal process within the rectangular area 28 is performed under the above conditions (ii
), but as an example, ``i=
1'' will be explained with reference to FIGS. 87 and 88.
切出した矩形領域28の外縁からm画素の領域で、縦方
向(「K=2、4」の時は横方向となる)にすべて「0
」となる列があるか否かを調べ、次の処理を行う。In an area of m pixels from the outer edge of the cut out rectangular area 28, all "0" in the vertical direction (horizontal direction when "K=2, 4")
” and performs the following processing.
(iv)すべて「0」となる列があれば、その列より外
側方向にある黒点をクリアし、「AM(k)=0」とす
る。(iv) If there is a column in which all values are "0", black points located outside of that column are cleared and "AM(k)=0" is set.
(v)すべて「0」となる列がなければ、そのままとす
る。(v) If there is no column that is all "0", leave it as is.
第87図は本処理の概略図、第88図は第85図の矩形
領域内の画像データに対し、本処理を適用した結果を示
す。本処理適用後、「AM(k)=1」はその方向に文
字データが連続していることを表わしている。なお、第
88図において右方向に文字データが連続しているにも
拘らず「AM(1)=0」とするのは、右隣りの格子点
ラベルコードの文字フラグFFが「1」となっているか
らであり、この場合文字の連続性を明示しなくても後の
処理でその格子点近傍領域が切出される。FIG. 87 is a schematic diagram of this process, and FIG. 88 shows the result of applying this process to the image data within the rectangular area of FIG. 85. After applying this process, "AM(k)=1" indicates that character data is continuous in that direction. In addition, in Fig. 88, the reason why "AM(1) = 0" is set even though the character data is continuous in the right direction is because the character flag FF of the grid point label code on the right side is "1". In this case, even if character continuity is not specified, the area near the grid point will be extracted in later processing.
b)隣接矩形領域の切出し
前述の矩形領域に対し、「AM(K)=1」ならば、そ
の方向の隣接格子点近傍の画像データをn×n画素で切
出し、以下の図形パターン除去処理を実行する。b) Cutting out adjacent rectangular area If "AM(K)=1" for the above-mentioned rectangular area, cut out the image data near the adjacent grid point in that direction by n×n pixels, and perform the following graphic pattern removal process. Execute.
一例として「K=1」の場合を説明する。As an example, the case of "K=1" will be explained.
切出した矩形領域33内の画像データに対し、第89図
に示すように左から右に第1列から第w列まで各列(例
えば「k=2」の場合は下から上へ第n行から第(n−
w+1)行まで各行となる)の黒点数BCNTを順次カ
ウントし、
BCNT≧THまたはBCNT=0
ならば、その列を含めてその列から第w列までの黒点を
すべてクリアする。また第(w+1)列から第n列まで
は無条件にすべでの黒画素をクリアする。なおTHは予
め定められた閾値である。For the image data within the cut out rectangular area 33, as shown in FIG. to (n-th)
The number of sunspots BCNT in each row up to row w+1) is sequentially counted, and if BCNT≧TH or BCNT=0, all the blackspots from that column to the w-th column including that column are cleared. Furthermore, all black pixels from the (w+1)th column to the nth column are unconditionally cleared. Note that TH is a predetermined threshold value.
第90図(5)はA188図に示した矩形領域の下方向
「AM(4)=1」の隣接格子点近傍の切出した画像デ
ータを示し、第90図(B)はこの画像データに上記a
)に示す図形パターン除去処理を施した結果を示す。Figure 90 (5) shows the image data cut out near the adjacent lattice points in the downward direction "AM (4) = 1" of the rectangular area shown in Figure A188, and Figure 90 (B) shows the above a
) shows the results of the graphic pattern removal process shown in FIG.
以上の処理をすべての文字列フラグMFが「1」のもの
に対して適用することによって、一文字列の画像データ
を抽出することがでさる。第91図(A)、(B)は、
不要な図形パターンを除去し、欠除した文字の一部パタ
ーンを補完することにより完全な文字を抽出したもので
ある。By applying the above processing to all character string flags MF of "1", image data of one character string can be extracted. Figures 91 (A) and (B) are
Complete characters are extracted by removing unnecessary graphic patterns and complementing the partial patterns of the deleted characters.
(XXX〕文字の分離・認識処理部(16)における文
字分離処理。(XXX) Character separation processing in the character separation/recognition processing unit (16).
上記処理(XXIX)において抽出された文字列の文字
は2本処理において1文字毎に分離され、認識処理を容
易に行わせ得るようにする。以下にその処理を示す。The characters of the character string extracted in the above process (XXIX) are separated character by character in the two-line process to facilitate recognition processing. The process is shown below.
ここでは文字列として第92図に示す「V2B」のよう
にそのままでは分離困難な場合の処理手順を示す。Here, we will show the processing procedure when it is difficult to separate the character string as it is, such as "V2B" shown in FIG. 92.
第92図は文字列311〜313をその外接矩形よりも
各方向にそれぞれ1画素分大きい矩形枠34により切出
した画像を示す。この画像に対して同図に示す窓部35
、すなわち文字列方向に垂直で長さが矩形枠34の縦幅
に等しく、1画素幅の窓部を矩形枠内領域の1端より走
査させ、最初に窓部35内に黒点36が出現する位置を
検出する。FIG. 92 shows an image in which the character strings 311 to 313 are cut out by a rectangular frame 34 that is larger in each direction by one pixel than the circumscribed rectangle. The window 35 shown in the same figure for this image
That is, a window part perpendicular to the character string direction, the length of which is equal to the vertical width of the rectangular frame 34, and one pixel wide is scanned from one end of the area within the rectangular frame, and the black dot 36 first appears in the window part 35. Detect location.
第93図は第92図の文字列331〜333に対し窓部
35により黒点36を検出した位置を示す。FIG. 93 shows the position where the black dot 36 is detected by the window 35 in the character strings 331 to 333 of FIG. 92.
次に、この位置における窓部35の両端位置“S”“E
”の白画素間の最短径路を見出すのであるが、その探索
領域を窓部35の位置から文字列の走査方向即ち図示右
方向に限定する。第93図の“+”印で示す文字端位置
37は探索領域の限定を表わすラベルである。すなわち
、“+”印の右側の領域が探索領域である。最短径路の
抽出アルゴリズムとしては、従来各種のものが提案され
ているが、ここではリー(Lee)のアルゴリズムを用
いて説明する。Next, the both end positions “S” and “E” of the window portion 35 at this position are
To find the shortest path between the white pixels of ", the search area is limited to the scanning direction of the character string from the position of the window 35, that is, to the right in the figure. The character end position indicated by the "+" mark in FIG. 37 is a label indicating the limitation of the search area.In other words, the area to the right of the "+" mark is the search area.Various algorithms have been proposed for extracting the shortest path, but here we will use the This will be explained using the algorithm of (Lee).
前述の処理によって決定された2点“S”、“E”のう
ち、まずどちらか一方、たとえば“S”を出発点として
選ぶ、最初に“S”に直接隣接する(4方向連結)白点
にラベル“1”を与える。次にラベル“1”の与えられ
た画素に隣接する白点にラベル“2”を与える。ラベル
“2”に隣接する白点にラベル“3”を与える。さらに
ラベル“3”に隣接する白点にラベル“1”を与える。First select one of the two points "S" and "E" determined by the above process, for example "S" as the starting point. First, select the white point directly adjacent to "S" (four-way connection). Give the label “1” to Next, a label "2" is given to the white point adjacent to the pixel given the label "1". Label "3" is given to the white point adjacent to label "2". Further, a label "1" is given to the white point adjacent to the label "3".
以下、これを繰返す。Repeat this below.
この処理は終点“E”に到達するまでこの手順で続けら
れる。第94図はこのラベル付与の手順の結果を示す。This procedure continues until the end point "E" is reached. Figure 94 shows the results of this labeling procedure.
次にこのラベルを終点“E″からラベル付与と逆の手順
で“3”→“2”→“1”→“3”と巡回するラベルの
順番に逆追跡し、始点“S”に到達する径路を見出す。Next, this label is traced in the reverse order of labeling from the end point "E" in the order of "3" → "2" → "1" → "3" in the reverse order of labeling, and reaches the start point "S". Find a path.
この径路が最短径路であるが、必ずしも一意的に定まる
とは限らない。これを一意に定めるため、第95図に示
すように、逆追跡の方向に優先順位を設け、これに従っ
て追跡を行う。Although this route is the shortest route, it is not necessarily determined uniquely. In order to uniquely determine this, as shown in FIG. 95, priorities are set in the direction of reverse tracking, and tracking is performed in accordance with these priorities.
第96図に逆追跡によって検出された最短径路を示し、
逆追跡の際に径路上の画素38にラベル“+”を与えた
ものである。Figure 96 shows the shortest path detected by reverse tracking,
A label "+" is given to the pixel 38 on the path during reverse tracking.
以上の処理によって、文字列中の1文字の存在する領域
が“+”で囲まれた領域として識別される。Through the above processing, an area where one character in the character string exists is identified as an area surrounded by "+".
そこでこの領域内の黒点を切出すことによって、1文字
の画像が分離抽出される。Therefore, by cutting out the black dots within this area, the image of one character is separated and extracted.
第97図は1文字を分離抽出した後の矩形枠34の領域
内の文字列332、333の画像である。FIG. 97 shows an image of character strings 332 and 333 within the rectangular frame 34 after one character has been separated and extracted.
以上の処理を、1文字分離抽出する毎に白点、黒点以外
のラベルが付与された画素を白点に変換した後、矩形領
域内の黒点が検出されなくなるまで繰返すことにより、
文字列の個々の文字が1文字ずつ分離抽出できる。By repeating the above process until no black points are detected within the rectangular area, after converting pixels labeled with labels other than white points and black points to white points every time one character is separated and extracted,
Each character in a string can be separated and extracted one by one.
すなわち、第98図に示すように、次の文字332に対
し窓部を設定し、次の文字の探索領域の限定を表わすラ
ベル39を決定し、第93図〜第97図の手順を繰返す
。That is, as shown in FIG. 98, a window is set for the next character 332, a label 39 representing the limitation of the search area for the next character is determined, and the steps of FIGS. 93 to 97 are repeated.
(XXXI〕文字の分離・認識処理部(16)における
文字認識処理。(XXXI) Character recognition processing in the character separation/recognition processing unit (16).
上記処理(XXX)において1文字毎に分離された文字
に対して、認識処理が行われるが、当該処理の態様は任
意であり、かつ従来公知のことであるので、説明を省略
する。In the above processing (XXX), recognition processing is performed on each character separated, but the manner of this processing is arbitrary and is conventionally known, so a description thereof will be omitted.
上述の如く処理が実行されるが、第99図は、上記処理
を実行する一実施例ハードウェア・ブロック図を示して
いる。The process is performed as described above, and FIG. 99 shows an example hardware block diagram for performing the above process.
図中の符号101は画像入力装置、102は画像メモリ
、103は検証回路、104は基準点検出回路、105
は格子点テーブル、106は格子変換回路(水平)、1
07は格子点ラベルコード生成回路(水平)、108は
格子変換回路(垂直)、109は格子点ラベルコード生
成回路(垂直)、110はアドレス制御部、111は制
御部、112は検証窓設定回路、113はLBLテーブ
ルであってコードLBLをセットするもの、114はL
B1テーブル、115はLB2テーブル、116はSX
1.SY1テーブル、117はSX2、SY2テーブル
、118はアドレス変換回路、119はLB3生成回路
であって局部形状ラベル情報を生成するもの、120は
LB3テーブルであって局部形状ラベル情報がセットさ
れるもの、121は格子点ラベル・コード決定回路、1
22はラベル・コード・テーブル、123は対処理回路
。101 in the figure is an image input device, 102 is an image memory, 103 is a verification circuit, 104 is a reference point detection circuit, 105
is a grid point table, 106 is a grid conversion circuit (horizontal), 1
07 is a grid point label code generation circuit (horizontal), 108 is a grid conversion circuit (vertical), 109 is a grid point label code generation circuit (vertical), 110 is an address control section, 111 is a control section, 112 is a verification window setting circuit , 113 is an LBL table that sets the code LBL, and 114 is an LBL table.
B1 table, 115 is LB2 table, 116 is SX
1. SY1 table, 117 is SX2, SY2 table, 118 is an address conversion circuit, 119 is an LB3 generation circuit that generates local shape label information, 120 is an LB3 table in which local shape label information is set, 121 is a grid point label/code determination circuit, 1
22 is a label code table, and 123 is a pair processing circuit.
124は線パターン切れ補正回路、126はずれ補正回
路、127はあいまい補正回路〔I)、128はシンボ
ル辞書、129はシンボル抽出回路、130はシンボル
認識テーブル、131は複合ゲート・シンボル認識辞書
、132は複合ゲート・シンボル端子位置辞書、133
は複合ゲート・シンボル認識回路、134は単一ゲート
・シンボル候補辞書、135は単一ゲート・シンボル端
子位置辞書、136?よ単一ゲート・シンボル認識回路
、137はシンボル領域設定回路、138はずれ補正回
路〔II)、139はあいまい補正回路〔II)、14
0はギャップ・あいまい処理回路、141はページ結合
子認識処理回路、142は逆ロジック・シンボル処理回
路、143は端子位置決定回路、144は端子近傍線切
れ補正回路、145は線分抽出回路、146は線分抽出
前処理回路、147は文字領域抽出回路、148はライ
ン結合子処理回路、149は認識結果出力装置を表わし
ている。124 is a line pattern breakage correction circuit, 126 is a deviation correction circuit, 127 is an ambiguity correction circuit [I], 128 is a symbol dictionary, 129 is a symbol extraction circuit, 130 is a symbol recognition table, 131 is a composite gate/symbol recognition dictionary, 132 is a Composite gate symbol terminal position dictionary, 133
is a composite gate symbol recognition circuit, 134 is a single gate symbol candidate dictionary, 135 is a single gate symbol terminal position dictionary, and 136? 137 is a symbol area setting circuit, 138 is a deviation correction circuit [II), 139 is an ambiguity correction circuit [II), 14
0 is a gap/ambiguity processing circuit, 141 is a page connector recognition processing circuit, 142 is an inverse logic/symbol processing circuit, 143 is a terminal position determination circuit, 144 is a terminal vicinity line break correction circuit, 145 is a line segment extraction circuit, 146 147 is a line segment extraction preprocessing circuit, 147 is a character area extraction circuit, 148 is a line connector processing circuit, and 149 is a recognition result output device.
(E)発明の効果
以上説明した如く、本発明によれば、手書きされた論理
回路図をいわば自動的に読取って、当該論理回路図に関
する情報をデータ処理装置に入力せしめることが可能と
なる。(E) Effects of the Invention As explained above, according to the present invention, it is possible to automatically read a handwritten logic circuit diagram and input information regarding the logic circuit diagram into a data processing device.
第1図は本発明によって処理される論理回路図の一例、
第2図は格子点ラベル・コードを得る処理範囲を説明す
る図、第3図は格子点ラベル・コードを得る処理の一実
施例態様を説明する図、第4図は本発明装置の一実施例
全体構成図、第5図は本発明において用いられる格子点
ラベル・コードの一実施例フォーマット、第6図ないし
第10図は夫々本発明による処理態様を説明する図、第
11図は第4図図示の処理部のにおける図面入力処理の
一実施例態様、第12図及び第13図は第4図図示の処
理部(2)(a)における歪補正処理の一実施例態様説
明図、第14図ないし第52図は第4図図示の処理部(
2)(a)における集約的格子点ラベル・コードを得る
処理態様を説明する図、第53図ないし第55図はライ
ン結合子を抽出する処理態様を説明する図、第56図な
いし第58図は逆ロジック・シンボルを抽出する処理態
様を説明する図、第59図は第4図図示の処理ユニット
(3)(a)の処理を説明する図、第60図は第4図図
示の処理ユニット(3)(b)の処理を説明する図、第
61図は第4図図示の処理ユニット(3)(6)の処理
を説明する図、第62図ないし第68図は第4図図示の
処理部(4)の処理を説明する図、第69図ないし第7
6図は第4図図示の処理部(5)の処理を説明する図、
第77図及び第78図は第4図図示の処理部(7)の処
理を説明する図、第79図は第4図図示の処理部(9)
の処理を説明する図、第80図は第4図図示の処理部(
12)の処理を説明する図、第81図ないし第91図は
第4図図示の処理部(15)の処理を説明する図、第9
2図ないし第98図は第4図図示の処理部(16)の処
理を説明する図、第99図は第4図図示の構成を実行す
る一実施例ハードウェア・ブロック図を示す。
図中、1は処理対象図面、2は処理結果情報、LOGL
BLは格子点ラベル・コード、G5は格子点を表わす。
特許出願人富士通株式会社
代理人弁理士森1)寛(外1名)
f8閃
(A〕(b)
才9凪
(A〕(b)
才10膓
(A〕(b)
(す
(C)
Wa「Ning:Pageの不連続
g+−x
す24図
Z5fi
Wa「Ning:Pageの不連続
”””””””””””””t「1−X尺1−X
1−X
才29図
R+−x
t311Xl才331¥1
才3ε品
才37図
5
才40図LB3′=0QOODjOIO才4−1図LB
′3=0oooo1111+ヰ2”LB3′=0DOD
OO」+1才43図LB3′−10(HIN11
f4sl¥1
」正
才4C図
t″4Y閃
第4−8図
|
1−−−−■−−罎罎)
1
1
1LBz0lli
1
1GFGoGLGLIGR
1110111
1
1
才S4開
WV
才59図
LJ
fsG図
才S71
才S8図
++++++
++++++÷ウ→
Wa「Ning:Pageの不連続
f759団
才GO図
(A〕(も、J〕(イナ1.J)
き。
!
。肝γ
(心、j+リ(す、j++)
すC1図
第62図
7声
(A〕(Bン(C〕(d)
BC
−8、暑
(ビ)
(A)
fc4胎
BC
すG5廟
(6)
す71m
f72「L
才r′r3カ
才YS図
第7G層
(0)
一口
日
′t79遥
(G)Jl
\肛
す80図
(A)げ−Z
1−12−6−c。
升
↑r+1.−.−
行す+1gg
+1−スr、zげ−1
12、5
(Cン
ケース
1(−一αコ→−
脅
行Sロ6f1
行41−−
脣又ケースす−ス
23
才δ211
才83m
(A)4B)
才34図
中85図
AM(2)=1
第86図
(i、j−l)
(i、j+l)
才8r′rあ
才88図
AM(2)=0
f−89国
;1−(101
(A)
−91
(A)
碧
(B)
−1
33i−一−j
(6)
宅98図
伸#ltU*伴#普00≠井#≠丼キ畔肯1仲キ林嬰井
畔ヰ許廿寸1を朴##畔斡悸オ#井零無キ士ヰ幽、/3
4
11眸囃畦#中奸命肴#琳斡餘俸棒≠ヰ彬#隻廿妊甘#
#勢
ヰ
杵
333≠
ノ111
1#′###+1#41体瞬並廿ヰ#俸j≠畦士を吐を
雷ポ宝廿Wa「Ning:Pageの不連続FIG. 1 is an example of a logic circuit diagram processed by the present invention.
FIG. 2 is a diagram illustrating the processing range for obtaining lattice point label codes, FIG. 3 is a diagram illustrating an embodiment of the process for obtaining lattice point label codes, and FIG. 4 is an example of an implementation of the apparatus of the present invention. FIG. 5 is an example format of the lattice point label code used in the present invention, FIGS. 6 to 10 are diagrams each explaining the processing mode according to the present invention, and FIG. 12 and 13 are explanatory diagrams of an embodiment of the distortion correction process in the processing section (2) (a) shown in FIG. Figures 14 to 52 show the processing section shown in Figure 4 (
2) A diagram explaining the processing mode for obtaining the intensive grid point label code in (a), FIGS. 53 to 55 are diagrams explaining the processing mode for extracting line connectors, and FIGS. 56 to 58 59 is a diagram explaining the processing of the processing unit (3) (a) shown in FIG. 4, and FIG. 60 is the processing unit shown in FIG. 4. (3) A diagram explaining the processing of (b), FIG. 61 is a diagram explaining the processing of the processing units (3) and (6) shown in FIG. Figures 69 to 7 explaining the processing of the processing unit (4)
FIG. 6 is a diagram explaining the processing of the processing unit (5) shown in FIG.
77 and 78 are diagrams explaining the processing of the processing section (7) shown in FIG. 4, and FIG. 79 is the processing section (9) shown in FIG. 4.
FIG. 80 is a diagram explaining the processing of FIG.
12). FIGS. 81 to 91 are diagrams explaining the processing of the processing unit (15) shown in FIG. 4.
2 to 98 are diagrams for explaining the processing of the processing section (16) shown in FIG. 4, and FIG. 99 is a hardware block diagram of an embodiment that executes the configuration shown in FIG. 4. In the figure, 1 is the drawing to be processed, 2 is the processing result information, LOGL
BL represents a grid point label code, and G5 represents a grid point. Patent applicant Fujitsu Limited Patent attorney Hiroshi Mori (1 other person) Wa ``Ning:Page discontinuityg+-xsu24Fig. Figure R+-x t311
'3=0oooo1111+ヰ2"LB3'=0DOD
OO'' + 1 year old 43 figure LB3'-10 (HIN11 f4sl ¥1 '' regular age 4C figure t''4Y flash figure 4-8 | 1----■--罎罎) 1 1 1LBz0lli 1 1GFGoGLGLIGR 1110111 1 1 year old S4 Open WV Sai59 Figure LJ fsG Figure Sai S71 Sai S8 Figure +++++++++ ++++++++ ÷ U → Wa "Ning:Page discontinuity f759 Group Sai GO Figure (A) (Mo, J) (Ina 1.J) Ki.!! Liver γ (heart, j + ri (su, j++) SuC1 Figure 62 Figure 7 Voice (A) (Bn (C) (d) BC -8, heat (Bi) (A) fc4 womb BC SuG5 Mausoleum ( 6) Su71m f72'L 3 year old YS diagram 7th G layer (0) bite day 't79 Haruka (G) Jl \Anus80 figure (A) Ge-Z 1-12-6-c. Masu ↑r+1.-.- go+1gg +1-sr,zge-1 12,5 (C case 1(-1αko→- threat Sro6f1 line 41-- 脣mata case 23 age δ211 Age 83 m (A) 4B) Age 85 of 34 figures AM (2) = 1 Figure 86 (i, j-l) (i, j + l) Age 8 r'r Age 88 figure AM (2) = 0 f- 89 countries; 1-(101 (A) -91 (A) Ao (B) -1 33i-1-j (6) House 98 Zushin #ltU*Ban #Pu00≠I#≠DonkiKanken1Naka Kirin Yin Iihan 1 is Park # # 畔斡悸Oh #Irei Mukishiiyu, /3
4 11 圸囃畦#中奸life韴#琳斡餘丸子≠I彬#Single Pregnancy Sweet#
#Seiichi 333≠ ノ111 1#'###+1#41 body Shunami 廿ヰ#Payj≠Spit out the Ashishi wo Raipo treasure 廿Wa ``Ning:Page discontinuity
Claims (1)
含む画図形が存在する手書き図面を読取って得られた画
像データから線図形および画図形部分を認識し抽出する
論理回路図処理装置において、格子点近傍に画像データ
の存在の可能性を示す格子点ラベルコードを生成する格
子点ラベルコード生成手段と、上記格子点ラベルコード
にもとづいて上記画象データの上記格子点に対する位置
ずれを検証する検証手段と、該検証手段から得られた位
置ずれ情報を保持する位置ずれ情報保持手段と、上記画
像データの局部的形状を判別して線図形または画図形の
存在の可能性を識別する局部形状抽出手段と、該局部形
状抽出手段から出力された局部形状ラベル情報を保持す
る局部形状ラベル保持手段と、少なくとも上記格子点ラ
ベルコード、上記位置ずれ情報、および上記局部形状ラ
ベル情報にもとづいて上記格子点近傍の画像データを集
約した集約的格子点ラベルコードを決定するラベルコー
ド生成部をそなえてなり、上記集約的格子点ラベルコー
ドを基に上記線図形と上記画図形とを夫々分離して認識
し抽出するようにしたことを特徴とする論理回路図処理
装置。A logic circuit diagram processing device that recognizes and extracts line figures and graphic figures from image data obtained by reading handwritten drawings that include line figures drawn along predetermined lattice axes and figures including characters. , a lattice point label code generating means for generating a lattice point label code indicating the possibility of the existence of image data near the lattice point, and a positional shift of the image data with respect to the lattice point based on the lattice point label code. A verification means for verifying, a positional deviation information holding means for holding positional deviation information obtained from the verification means, and a local shape of the image data to determine the possibility of the existence of a line figure or a drawing figure. a local shape extracting means; a local shape label holding means for retaining the local shape label information outputted from the local shape extracting means; A label code generation unit is provided that determines an intensive grid point label code that aggregates image data in the vicinity of the grid point, and separates the line figure and the drawing figure based on the intensive grid point label code. A logic circuit diagram processing device characterized in that it recognizes and extracts a logical circuit diagram.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58156045A JPS6048580A (en) | 1983-08-26 | 1983-08-26 | Processor logical circuit diagram |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP58156045A JPS6048580A (en) | 1983-08-26 | 1983-08-26 | Processor logical circuit diagram |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS6048580A true JPS6048580A (en) | 1985-03-16 |
JPH0430634B2 JPH0430634B2 (en) | 1992-05-22 |
Family
ID=15619110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP58156045A Granted JPS6048580A (en) | 1983-08-26 | 1983-08-26 | Processor logical circuit diagram |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPS6048580A (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS583078A (en) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | Pattern information extracting system |
JPS583077A (en) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | Character information extracting system |
-
1983
- 1983-08-26 JP JP58156045A patent/JPS6048580A/en active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS583078A (en) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | Pattern information extracting system |
JPS583077A (en) * | 1981-06-30 | 1983-01-08 | Fujitsu Ltd | Character information extracting system |
Also Published As
Publication number | Publication date |
---|---|
JPH0430634B2 (en) | 1992-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0701224B1 (en) | Method for interpreting hand drawn diagrammatic user interface commands | |
CN106960208A (en) | A kind of instrument liquid crystal digital automatic segmentation and the method and system of identification | |
JPH08305796A (en) | Pattern extracting device, table preparing device for pattern recognition and pattern recognition device | |
JPH07105312A (en) | Method and device for eliminating dirt from character image in optical character reader | |
JPS6048580A (en) | Processor logical circuit diagram | |
JP2009223612A (en) | Image recognition device and program | |
JPS63308689A (en) | Detecting and correcting system for inclination angle of character | |
JP5619111B2 (en) | Image determination apparatus and program | |
JPH07182459A (en) | Table structure extracting device | |
JPH02138674A (en) | Method and device processing document | |
JP4882929B2 (en) | Image processing apparatus and image processing program | |
JPS60217483A (en) | Recognizer of character | |
EP0701226B1 (en) | Method for segmenting handwritten lines of text in a scanned image | |
JP3001929B2 (en) | Drawing recognition device and drawing recognition method | |
JPS6321949B2 (en) | ||
Hashemi et al. | The effects of image enhancement in OCR systems: a prototype | |
JPH05128309A (en) | Edge detecting method for character recognition | |
JP2023012225A (en) | Support system, support method, and program | |
JPH0434652A (en) | Drawing input device | |
JP2022184331A (en) | Ledger sheet particular field recognizing method and particular field reading device | |
JPH0728939A (en) | Table vectorization device | |
JPH0434655A (en) | Drawing reader | |
JPH10143606A (en) | Character recognition device and character recognition method | |
JPH0119189B2 (en) | ||
JPS6316786B2 (en) |