JPS63261478A - 画像ランレンズク・データをコンパイルする方法及び装置 - Google Patents

画像ランレンズク・データをコンパイルする方法及び装置

Info

Publication number
JPS63261478A
JPS63261478A JP63011817A JP1181788A JPS63261478A JP S63261478 A JPS63261478 A JP S63261478A JP 63011817 A JP63011817 A JP 63011817A JP 1181788 A JP1181788 A JP 1181788A JP S63261478 A JPS63261478 A JP S63261478A
Authority
JP
Japan
Prior art keywords
slice
subroutine
open list
block
slices
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
Application number
JP63011817A
Other languages
English (en)
Other versions
JP2608570B2 (ja
Inventor
ジョン・エム・ロイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GTX Corp
Original Assignee
GTX Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GTX Corp filed Critical GTX Corp
Publication of JPS63261478A publication Critical patent/JPS63261478A/ja
Application granted granted Critical
Publication of JP2608570B2 publication Critical patent/JP2608570B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/421Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation by analysing segments intersecting the pattern
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • H04N1/411Bandwidth or redundancy reduction for the transmission or storage or reproduction of two-tone pictures, e.g. black and white pictures
    • H04N1/413Systems or arrangements allowing the picture to be reproduced without loss or modification of picture-information

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Character Input (AREA)
  • Image Analysis (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔関連出願〕 本発明は、共に本願の譲受人に譲渡されたYih−Li
ang Lienの係属中の米国特許出願「入力する走
査画像データのベクトル化のための装置および方法コお
よびDavid M、Kr1chの係属中の米国特許出
願[高速直列ピクセルの近傍プロセッサおよび方法」と
関連している。
〔産業上の利用分野〕
本発明は、グラフインク画像等の行単位の電子的走査に
より得られるデータを簡単にする方法および装置f関し
、特にベクトル化されそして(または)文字認識操作の
対象にされるべきデータを取出すため最小のメモリー・
アクセス操作回数で、走査されたピクセル・データを圧
縮してこれを以降のベクトル化および(または)文字認
識操作のため利用することができるフォーマットに走査
された画像データ即ちピクセル・データについて操作す
るため多くの手法が用いられてきた。一般に使用される
大部分の手法は、走査された点の色の暗さを表わすピク
セル・コードの形態に全てのピクセルを格納するステッ
プを含み、各ピクセル・コードはこのピクセル・コード
を生じた走査点の場所に対応する記憶場所に格納される
このような手法は、走査された文書全体を表わす全ての
ピクセル・コードを格納するため非常に大きなメモリー
量を必要とする。必要なメモリー量および必要なメモリ
ー集約的なピクセル操作回数を減少するため、所謂「細
線化(l ine  thinning) Jおよび「
境界トレーシング」のベクトル化手法を含む色々なベク
トル化手法が開発されてきた。これら手法の全てではな
くともその大半が、広範なピクセル操作必要とし、従っ
て必要以上に遅くなり、かつ必要以上に大きなメモリー
量を必要とした。最終的に再生された画像における精度
のかなりな喪失もまた、これまでのベクトル化手法の大
きな欠点となった。
1つの従来技術の文献である、日本の信州大学工学部教
授M、OkamotoおよびH,Okamoto著「ラ
ン・レングス情報のみを用いることによる手書き図のラ
イン認識、Jは、手書き図のライン認識のための手法に
ついて記載し、この手法においては、もしある結合性条
件および他の条件が満たされるならば、連続するライン
の走査が「ブロック」に変っていくランレングス・デー
タを生じる。直接的なピクセル操作量はこれにより減少
する。ピクセル間の単なる分断即ち小さな間隙は排除さ
れる。
前記のOkamotoの文献においては、走査された画
像は「全体的」な観点から操作されない。即ち、観察者
により見える全画像はその全体においてはシミュレート
されない。その代り、画像は多数のブロック即ち台形に
細分化され、これを走査された画像における元の対象物
を表わすベクトル・データになるよう前記台形部ち小片
を合成する試みにおいて適用される数百の「特例」則に
かけられる。この試みにより生じたベクトル化データは
、グラフィック画像のライン単位の走査のためのほとん
どの従来の手法に必要とされたビット操作量およびメモ
リー量を大幅に減少するが、走査画像の多くの形態の全
体的な特徴を正確に保存するこ本発明の目的は、走査さ
れた画像を更に正確に表わしてそれを表わすデータを過
度に「メモリー集約的な」ビット操作を行なわずに以降
の処理のため使用することができるフォーマットで表示
することができる連係リストの提供にある。
要約すれば、本発明はその一実施態様によれば、画像を
走査することにより得られる直列ランレングス・データ
を提供し、各々が結合された黒のピクセルの連続ストリ
ングの長さと最終ピクセル番号を含む不明瞭な文構造の
「スライス」を含む。
このランレングス・データは、各々が簡単な形状の画像
のスライスの全てを含む複数の更にリンクされたリスト
の最初の連係リストを含むソフトウェアの「対象Jを形
成する最初の判断ツリーのスライス分類サブルーチンに
より、ライン単位に演算される。これは、最初のオープ
ンリストを形成し、その内の画像の最初の行のスライス
を挿入することにより行なわれる。次いで、最初のオー
プンリストに挿入されたスライスの最後の行におけるス
ライスと、画像の次の行のスライスとが最初のスライス
分類サプルーチ/により演算され、この要素が画像の次
の行のスライスを最初のオープンリストにおける最後の
行のスライスに加えて、最初のオープンリストの分岐を
生じさせ、最初のオープンリストの新しい分岐を生成し
、画像の次の行のスライスを新しい分岐に挿入し、ある
いはオープンリストの最後の行の個々のスライスと画像
の次の行のスライスとの間の関係に従って、最初のオー
プンリストの分岐の成長を終了する。対象のスライスは
、走査される同じ左から右への順序で「フレーム」に入
れられ、小さな水平および垂直のスライス間の間隙を除
去するため「フィルタ」される。小さな水平間隙は、そ
の両側におけるスライスを含めるようにこのような間隙
に かってスライスを拡張することにより除去される。
小さな垂直間隙は、第2のオープンリストを形成する第
2のスライス分類サブルーチンの実行により除去され、
このリストの列は小さな垂直間隙を形成するため収束し
得る発散を生じる。もしこれが生じるならば、垂直間隙
の反対側の対応するスライスを含むように垂直間隙の片
側の対応するスライスはそれに かって拡張される。あ
る「良好な作用」の画像を表わすため必要なデータを大
幅に簡単にするため、第3のオープンリストが形成され
、第2のオープンリストの最初の行からのスライスがこ
れに挿入される。第3のオープンリストに挿入された最
後の行のスライスおよび第2の開いたリストの次の行に
おけるスライスは、第1と第2のスライスの分類サブル
ーチンと略々類似する第3のスライス分類サブルーチン
により演算され、これにより第3のオープンリストの分
岐を成長させ、その新しい分岐を生じ、それに第2のオ
ープンリストの次の行のスライスを挿入するか、あるい
は第3のオープンリストに挿入された最後の行の個々の
スライスと、第2のオープンリストの次の行の個々のス
ライスとの間の関係に従って、第3の開いたリストの成
長する分岐を終了する。
第3のオープンリストの分岐のエツジの勾配は、4つの
隅の点で表わすことができる台形としてどの形状が表わ
され得るか、またその全てスライスを含む不規則な斑点
として表わされる筈であるかを判定するためその直線性
についてテストされる。
台形として分類することができる第3のオープンリスト
の分岐部分は、その4隅の点が他の隣接する台形レコー
ドおよび「斑点レコードコに対するアドレス・ポインタ
によりリンクされる台形レコードに対して入れられる。
台形として表わすことができない分岐部分は斑点として
表わされ、その全てのスライスは、隣接する斑点レコー
ドまたは第3のオープンリストと関連した台形レコード
に対するアドレス・ポインタによりリンクされる斑点レ
コードに対して入れられる。収束および発散を識別する
レコードは、隣接する斑点および第3のオープンリスト
と関連した台形のレコードに対するアドレス・ポインタ
により格納されてリンクされる。
〔実施例〕
第1図においては、オリジナルの線図1、典型的には設
計図面等が適当な画像スキャナー2により走査されるシ
ステムが示されている。(種々の画像スキャナーが市販
されている。)画像スキャナー2は、直列ピクセル・デ
ータ3を「自動図面認識システム」4に出力し、この認
識システムは本発明に従って、以降に述べるようにピク
セル・データを簡略化し、必要に応じて、矢印5で示さ
れるように、VERTICOM社のグラフィックス・ボ
ード、高解像度グラフィックス・モニター8、キーボー
ド9、マウス10、フロッピー・ディスク11およびハ
ード・ディスク12を含むIBM社のPCATデスクト
ップ・コンピュータを含ム「ワーク・ステーシーa 7
 Jに対するピクセル、ピクセルのグループを表わすベ
クトル、認識された文字、および記号を生じる。
キーボード9またはマウス10を介して入力される演算
ソフトウェアの指令および入カバラメータは、自動図面
認識システム4に対してワーク・ステーション6によっ
て印加される。オリジナルの線図1を表わすデータは、
自動図面認識システム4により簡略化された後、ハード
・ディスク12上にワーク・ステーシコン・コンピュー
タ乙によって記憶される。この図面は、ワーク・ステー
ションの指令7に応答して、ピクセル、ベクトル、文字
および記号5を修正して編集された図面はハード・ディ
スク11上に記憶することができる。
適当な指令と同時に、編集された線図14は、従来のペ
ン・プロッタ16によりプロットされ、あるいはグラフ
ィックス・モニター8上に表示することができる。
第2図は第1図のシステムを通る一般データのフローを
示しているが、同図では適当な同じ照合番号が使用され
る。第2図は、スキャナー2により生じたピクセルがラ
ンレングス・データ・エンコーダ2Bに対して送られる
前にフィルタされることを示している。
i2B図に示されるランレングス・エンコーダ2Bは、
スキャナー2からの「ピクセル・インコ信号、行の終り
(EOR)信号、およびページの終り(EOP)信号を
受取り、あるノイズはノイズ・フィルタによってフィル
タされる比較的簡単な回路である。これらの信号は、新
しい非ゼロ・ピクセル・コードが受取られる毎に増進さ
れるピクセル・カウンタ2Dに対して与えられる「増進
」信号および「クリア」信号を生じる制御回路2Cに対
して送られる。この制御回路2Cはまた、新しいピクセ
ル入力信号が受取られる毎に増進される列カウンタ回路
2Eに対して与えられる「増進」信号および「クリア」
信号を生じる。ピクセル・カウンタに対するクリア入力
信号は、接続された「黒」即ち非ゼロ・ピクセルのスト
リングから[白Jのピクセルへの変換がある毎に前記カ
ウンタをリセットし、この時ピクセル・カウンタの内容
が32ビツト×512ワードのFIFO(先入れ先出し
)バッファ2Fに対し書込まれる。このため、ピクセル
・カウンタ2Dは、書類上の対象の走査から結果として
得られた暗いピクセルのその時のストリング即ちスライ
スの長さを常に格納する。列カウンタのクリア信号は、
EOR信号に応答して各行の終りに生じる。「書込みj
信号は、ピクセル・カウンタ2Dと列カウンタ2Eの双
方の内容を、あるスライスの終りが生じるかあるいは行
の終りが生じる度毎にFIFOバッファ2Fに書込ませ
る。バス制御回路2Hは、コンピュータに対し、最初の
エントリ即ち最初のスライスの終りの後データがFIF
Oバッファにおいて得られることを通知し、またこの時
本発明によるソフトウェアがFIFOバッファの内容を
それ自体のRAM(ランダム・アクセス・メモリー)に
バス2Gを介して読込みを開始する。
ランレングス・エンコーダ2Bの出力、即チ上記のFI
FOバッファから読出された32ピツト・ワードが第2
図の照合番号17で示される。生の各ランレングスは以
下本文においては「スライス」と呼び、「繋がった」(
即ち、その間に間隙がない)水平のピクセルの黒(また
は暗色)のストリングを表わす。本発明によれば、生の
ランレングス・データは、0BGRABと呼ばれる「対
象グラバ−」プログラム19により実時間ベースに基い
て演算される。0BGRABは、生のスライスを連係リ
ストの以下本文で「対象」と呼ばれる、第3図に関して
以下に説明される連携リストに組立てられる。「対象」
は白(即ち、透明)のピクセルにより完全に囲まれた一
体の繋がった暗色のピクセルであり、各々が連係リスト
の1つで表わされる繋がったグループの「形状」からな
る。
対象分類プログラム18は、この対象が照合番号26に
より全体的に示される文字の認識システムへ、あるいは
前掲の係属中のLouis  Lienの米国特許出願
において記載されるベクトル化プログラム25へ送られ
るかどうかを判定する。
最後に、認識された文字即ち第2図において照合番号2
7により示されるベクトル化プログラム25により生じ
るベクトル・セグメントを表わす情報は、ワーク・ステ
ーション乙に他して「メタファイル・フォーマツタ」と
呼ばれるルーチンにより通されるフォーマットされたフ
ァイルに送られる。
次に第3図においては、点線のブロックがルーチンオヨ
ヒサブルーチンを示し、かつ実線のブロックがルーチン
により生じるソフトウェア・ファイルを表わすことが判
るであろう。0BGRABと呼ばれるプログラムは、第
2図の上記の対象グラバ−Jルーチン19である。0B
GRABは、上記のFIFOメモリー2F(第2B図)
から読出される32ビツト・ワードの形態の生のう/レ
ングス・データについて演算し、このデータは各々1つ
のスライスにおけるピクセル数、およびこのスライスの
最後のピクセルの「ピクセル番号」または「列番号コを
表わす。0RGRABルーチン19は上記の「対象」を
生成即ち形成し、これは各々連係されたリストの連携リ
ストを構成し、この連携リストの各グループは対象の1
つの「形状」または「分岐」における全てのピクセルを
含む。第3図の0BJCLASSと呼ばれる対象の分類
サブルーチ/20は、この対象がCHARECと呼ばれ
る文字認識プログラム26により有効に操作することが
できか、あるいは問題の対象がMETACTRLと呼ば
れるプログラム21により操作される場合の回路図ある
いは機械的な図面の如き図の性格を呈する印字された文
字の如きr文字」であるかどうかを判定する。
本発明によればプログラムMETACTRALは、それ
ぞれFILLFRAME、FILLHORIZ、FIL
LVERTおよびMETAGRABと呼ばれる4つのサ
ブルーチン34.35.36および22の動作を関連付
ける。これらプログラムの使用が近傍のスライス間の小
さな水平および垂直の間隙を充填して、全て以下に説明
する斑点レコード、台形レコード、収束レコードおよび
発散レコードからなる対象の境界の「指向性を持たせた
グラフ」として当業者が認識するものを形成することに
より簡略化されたデータから0BGRABサブルーチン
19により生じる対象60を再構成することにより、典
型的な設計図面を正確に表わすため必要なデータ量を大
幅に減少することが示されるであろう。指向性を持たせ
たグラフは、上記の係属中のLouis  Lienの
米国特許出願において記載されるVECGENベクトル
生成プログラム25により有効に使用することができる
VECGENプログラムにより生成されるベクトルはベ
クトル・ファイル27に格納され、次いでMETAFI
 LEと呼ばれるファイル5Aに格納するために適当な
フォーマットに文字、斑点、記号およびベクトルを表わ
すデータを置(機能を実施するようにMETAFORM
と呼ばれるプログラム39により操作され、このファイ
ルから前記データが矢印5で示されるようにワーク・ス
テーション乙に対して出力される。
第3図の0BGRABプログラム・ルーチン19は、上
記のFIFOバクファ2F(第2B図)から生のう/レ
ングス・データ即ちスライスを受取り、最初またはその
時の走査されたラインにおける1つのrAJのスライス
をそれぞれ表わすかあるいは格納する複数の「オープン
リスト・ノード」からなる「オープンリスト・ヘッダ」
を形成する。
この時、ルーチン0BGRABは、第2の走査されたラ
インの「Bスライス」を受取り、各「Bスライス」を適
当なオープンリスト・ノードの[AスライスJと比較し
て、第2の走査線の「Bスライス」が種々の開いたリス
ト・ノードの「Aスライス」に「帰属」させることがで
きるかどうかを判定し、また新しいオープンリスト・ノ
ードが形成される必要があるかどうか、またその時のオ
ープンリスト・ノードが除去される必要があるかどうか
を判定する。
第3図のブロック19に示されるサブルーチン0BGR
ABは、これにより、入力文書を走査された画像の境界
と「幾何学的に」対応するかあるいは対応しない方法で
構成された生のランレングス・データに含まれる全ての
スライスを含む連係されたリストの連携リストを生成す
る。(第3図参照)。第4図は、この機能を行な50B
GRABルーチンを示す。OB G RA Bは第4A
図のPROCESS  ONE  LINEサブルーチ
ンを呼出し、このサブルーチンは更に第4B図のCLA
SSIFIERサブルーチンを呼出し、これが更に第4
C図乃至第4N図の0BGRAB  FCNサブルーチ
ンを呼出す。
次に第4図においては、0BGRABルーチンにはラベ
ル19において入り、ブロック320に行き、0に等し
い変数ROWをセントし、次いでブロック321へ行き
、「偽の条件」を表わす論理値「0」に等しい「ファイ
ルの終りJまたは「対象の終り」変数EOFをセットす
る。次に、0BGRABルーチンは判断ブロック622
へ行きEOFをテストしてこれが「真」の条件を表わす
論理値「1」であるかどうかを判定する。この判定が否
定である限り、ブロック323のサブルーチン増分RO
Wは、ブロックろ24に示されるように第4A図と関連
してPROCESS  0NELINE(以下に説明す
る)を実行し、判断ブロック622へ戻る。この状態は
、0BGRABが入力文書上で走査される画像の終りに
達するまで継続し、この時肯定的な判定がブロック32
2において得られ、0BGRABは判断ブロック325
へ行き、変数0PEN  C0UNTをテストする。
0PEN  C0UNTはオープンリストにおけるノー
ド数を表わしく0BGRABの初期化において生成され
たものとする)、このリストにおいては多数のオープン
リスト・ノードが確立されて起動点を提供し、この起動
点から画像の脚または支葉を表わすリストが連続的なス
ライスが付されると成長して0より大きくなる。
もしブロック325の判定が否定であれば、0BGRA
Bルーチンは呼出しプログラムへ戻る。
さもなげれば、このルーチンはブロック326へ行き、
第2A図のランレノゲス・エンコーダから受取ったスラ
イスが付されるオープンリストの初メニカーソル変数0
PEN  CUR8ORをlJ上セツトる。変数0PE
N  CUR8ORは、0BGRABがオープンリスト
のどこにあるかを追跡する。次に、0RBRABはブロ
ック627へ行き、オープンリストから次のスライスを
得て、変数C0PENCTを0PEN  C0UNTヘ
セノトする。OB GRA Bがオープンリストを通過
すると、C0PENCTと呼ばれる変数(開いたリスト
の終りに達した時を示″f)がその初期値から0まで減
分される。次に、0BGRABは判断ブロック329へ
進み、これが未だ0まで減分されたかどうかを調べるた
め0PEN  CUR3ORをテストする。もしその答
えが肯定であれば、0BGRABは呼出しプログラムへ
戻るが、さもなければ、判断プロンクロ31へ進んでそ
の時のオープンリスト・レコードが0BGRABにより
形成されつつある対象の最後の分岐を表わすかどうかを
判定する。もしこの判定が否定であれば、0BGRAB
はブロック633へ行き、オープンリストからその時の
開いたリスト・レコードを削除し、判断ブロック629
へ戻る。もしブロック361の判定が肯定ならば、この
ルーチンは文字認識システムにより、あるいは後で説明
するMETACTRLサブルーチンによりこれ以上の処
理についての待ち行列に対象を置く。
入力するスライスを分類することにより連携リストが如
何にして組立てられるべきかを判定するため、0BGR
ABルーチンはC,LAS S I F I ERと呼
ばれる第4B図の「分類ルーチンjを呼出す。
CLASSIFIERの説明の前に、この分類ルーチン
が行なうことが「Aスライス」と「Bスライス」と呼ば
れる2つのスライスの比較であることを理解することが
必要となろう。
さしあたり第5図に関して述べれば、照合番号42が一
般化された「Aスライス」を示し、照合番号が一般化さ
れた「Bスライス」を示している。
Aスライスは常にオープンリストのオープンリスト・ノ
ードから読出され、このリストはオープンリスト・ヘッ
ダで始まる。Bスライスは常にFIFOメモIJ −2
Fの如き入力バッファから受取られる。Aスライスの左
側の終端点がA2と呼ばれる。第5図の照合番号42A
および43Aにより示されるように、Bスライスの左側
の終端点はB1と呼ばれ、右側の終端はB2と呼ばれる
スライスAとスライスBとの間の関係に対しては多くの
可能性があることが判るであろう。例えば、それらの左
端部は重なり得るかあるいは重ならなり得ない。それら
の右端部は重なり得るかあるいは重なり得ない。A1の
長さは、B1の長さと等しいか、これより大きいか、あ
るいはこれより小′さく、またA2の長さはB2と等し
いか、これより大きいか、あるいはこれより小さい。
第4B図のCLASSIFIERサブルーチンはその時
のAスライスおよびBスライスを分析して、可能性のあ
る関係のどれが存在するかを判定し、従って、異なる多
数のサブルーチンの1つを呼出してスライスAが読出さ
れるオープンリスト・ノードにスライスBを加えるかど
うかを判定し、これにより連携リストの内のリスト(即
ち、「対象J)の「分岐」の成長を継続するか、あるい
はこの時のスライスAが続けられる分岐を終了するか、
あるいはオープンリスト・ノードの形成または削除を行
なう。CLASSIFl、ERサブル−チンの実行は常
に、AとBのスライス間の識別された関係に従って、 
FCNOlFCNl、FCN3、FCN4、FCN5、
FCN3、FCN7、FCN8、FCN8、FCNlo
またはFCN12を呼ばれるグループをなす「機能サブ
ルーチン」の1つの呼出しを生じる結果となる。
もし第4B図のCLASSIFIERルーチンがAスラ
イスから「外れ」、1つ以上のBスライスがそのままで
あれば、FCN15が呼出されて1つ以上の新しい開い
たリスト・ノード(FIFOバッファ2Fからその時走
査されたリストの残る各Bスライスに対するもの)を0
BGRABのオープンリスト・ヘッダに添付する。
第4B図のCLASSIFIERルーチンが、0BGR
ABルーチン19、FILLVERTルーチン36およ
びMETAGRABルーチン20を含む本発明の6つの
異なるルーチンにより呼出すことができることを認めね
ばならない。これら6つのルーチンの各々毎に、呼出さ
れる各機能サブルーチン(FCNOlFCNl等)が、
どのルーチンがCLASSIFIERを呼出しつつある
かに従って異なり得る。もしCLASSIFIERルー
チンが0BGRABルーチン19により呼出されるなら
ば、第4C図乃至第4N図の0BGRABFCNサブル
ーチンのFCNOlFCNl等が呼出される。もしCL
ASSIFIERルーチンがFILLVERTルーチン
36により呼出されるならば、第8A図乃至第8L図の
FILLVERTFCNサブルーチンが呼出される。も
しCLASSIFIERサブルーチンがMETAGRA
Bルーチン22により呼出されるならば、第9A図乃至
第9L図のMETAGRAB  FCNサブルーチンが
呼出される。
次に第4B図においては、ラベル41を介してCLAS
SIFIERサブルーチンに入り、判断ブロック44へ
進み、ここでこの時のAスライスの左側のX軸のA1が
Bスライスの左側のX軸のB1よりも小さいかどうかを
判定する。もしA1がB1よりも小さければ、CLAS
SIFIERが判断ブロック45へ進んで、A2がB1
よりも小さいかどうかを判定する。もしそうであれば、
このプログラムは1をブロック460A2のX軸に加え
、ブロック47において増分された変数A2がB1と等
しくないかを判定する。もし増分したA2がB1と等し
くなければ、このことはこの時のBスライスがAスライ
ス即ちこの時のオープンリスト・ノードに続けられない
ことを意味する。
第4B図においては、この時のAスライスおよびBスラ
イスの小さなレプリカが種々のFCNラベル付近に書き
直され、判定が分類ルーチンの判断ツリーにより判定さ
れる関係が存在することを示すことに注意されたい。上
部の線はAスライスを示し、下部の線はBスライスを示
している。
もし判断プロ224フ0判定が否定であれば、このこと
ばA2がB1の左側の唯一のピクセルであることを意味
する。これは、スライスBがその時のスライスAに繋が
るものと見做すことができ、従ってスライスAを含むそ
の時のオープンリスト・ノードに「添付する」ことがで
きるだけ充分に接近していると見做される。
もし判断ブロック45の判定がA2がB1よりも小さく
ないことであれば、このことばA2のX軸がB1のそれ
と等しいかあるいはこれより大きいことを意味する。判
断ブロック50は、これら2つの可能性のある関係のど
ちらが存在するかを判定する。もしA2がB2より大き
ければ、スライスAとスライスBとの間の関係がスライ
スAがスライスBの左右両側まで拡がり、CLASSI
−FIERサブルーチンは、CLASS I FI E
Rが0BGRAB、FILLVERTまたはMETAG
RABのいずれにより呼出されつつあるかに従って適当
なFCN4サブルーチンを呼出す。(FCNサブルーチ
ンがどのルーチンがその時CLASS I FI ER
を呼出しつつあるかに依存することを想起されたい。) もし判断ブロック50の判定が否定であれば、この判定
はA2がB2と等しいかどうかについてなされなければ
ならない。もしそうであれば、適当なFCN3サブルー
チンが呼出されろ。
もし判断ブロン2510判定が否定であれば、その時の
AおよびBスライスは、ラベル56により示されるよう
に適当なFCN1サブルーチンと対応する関係を有する
。もしブロック51の判定が肯定ならば、照合番号52
により示されるようにFCN3が呼出される。
上記の判定は、A1がB1より小さいという条件につい
ての判断ツリーの可能性を尽すものである。もし判断ブ
ロック44の判定が否定であれば、A1はB1と等しい
かあるいはこれよりも大きく ′なげればならない。C
LASSIFIERサブルーチンは判断ブロック54へ
進み、A1がB1よりも大きいかどうかを判定する。も
しそうならば、このサブルーチンは判断ブロック55へ
進んでA1が82よりも大きいかどうかを判定する。も
しそうならば、ブロック56により示されるようにB2
のX軸を増分して判断ブロック57へ進み、A1がB2
の増分された値と等しくないかどうかを判定する。もし
A1がB2の増分値と等しくなければ、示されるように
スライスAはスライスBの右側に存在し、ラベル58で
示されるように(呼出しルーチンに従って)適当なFC
N12サブルーチンが呼出される。もし判断ブロック5
7の判定が否定であれば、スライスAの左端部がスライ
スBの右端部の右側の1つのピクセルとなり、ラベル5
9により示されるように適当なFCN10サブルーチン
が呼出される。
もし判断ブロック55の判定が否定ならば、CLASS
IFIERサブルーチンは判断ブロック60へ進み、A
2がB2よりも小さいかどうかを判定する。もしこの判
定が肯定ならば、スライスBの両端部はスライスAの端
部を越えて延び、ラベル61により示されるように適当
なFCN8サブルーチンが呼出される。さもなげれば、
プログラムは判断ブロック62へ進み、A2がB2と等
しいかどうかを判定する。もしそうならば、スライスA
およびスライスBの両端部が整合され、ラベル63によ
り示されるように適当なFCN9サブルーチンが呼出さ
れる。さもなければ、ラベル64により示されるように
適当なFCNl 0サブルーチンが呼出される。
もし判断ブロック540判定かA1がB1より大きくな
いことであったならば、CLASSIFIERサブルー
チンは判断ブロック65へ進み、A2がB2より小さい
かどうかを判定する。もしそうならば、A1はB1と等
しくなければならず、ラベル66により示されるように
適当なFCN5サブルーチンが呼出される。さもなげれ
ば、CLASS IFIERサブルーチンは判断ブロッ
ク67へ進み、A2がB2より大きいかどうかを判定す
る。もしそうならば、示されるようにスライスAの右端
部がスライスBの右端部を越えて延び、ラベル68で示
されるように適当なFCN7サブルーチンが呼出される
。さもなげれば、スライスAおよびスライスBの左右の
両端部が完全に整合され、ラベル69で示されるように
適当なFCN6サブルーチンが呼出される。
第4B図のCLASSIFIERルーチンについてこれ
まで記述したが、CLASS I FI ERの判定ツ
リー自体がスライスAおよびスライスBが比較される度
に呼出されることを理解すべきである。
更に、0BGRABの持続期間中、CLASSI−FI
ERは第4図に示されるPROCESSONE  LI
NEと呼ばれるサブルーチンにより呼出される。
PROCESS  ONE  LINE&!、CLAS
SIFIFIERがライン単位に実行される方法を制御
する。前に示したように、・  。
CLACEFIERは6つの異なるルーチン、即ち、O
B G RA B 、 第8 図に述ヘタFILLVE
RTと呼ばれるルーチンおよび第9図に関して述べたM
ETAGRABのどれかにより呼出すことができる。こ
れら6つのルーチンのどれがスライス分類ルーチンを呼
出すかに拘らず、呼出す側のルーチンが第4A図のPR
OCFSS  ONE LINEサブルーチンに略々類
似するサブルーチンを呼出すことになる。
PROCESS  ONE  LINEにはラベル65
0において入り、ブロック651へ進む。このサブルー
チンは、0BGrLAHによる「対象」の形成、MET
AGRABによる「メタ対象」の形成の目的のため、あ
るいはFILLVERTルーチンの目的のため、適当な
オープンリスト・ヘッダが既に呼出し側のルーチンによ
り生成されていることを前提とする。PROCESS 
 OMELINEサブルーチンはオープンリスト・ヘッ
ダの左端部から始動し、ブロック652にどいて示され
るように最初のオープンリスト・ノードからスライスA
を読出す。次いでこのプログラムはブロック652Aへ
進み、データ・バッファから次のスライスBを読出し、
次いで判断ブロック656へ進んで、走査線におけるそ
の時の位置がその時のリストに対する開いたリストの終
りにあるか、あるいはその時のラインに対するデータ・
バッファの終りにあるかを判定する。
もしこの判定が否定であれば、PROCESSONE 
 LINEルーチンは、呼出し側のルーチン0BGRA
B%FILLVERTあるいはMETAGRABのどれ
であるかを識別することにより、第4B図のCLASS
IFIERルーチンを呼出し、その結果適正な0BGR
AB  FCNサブルーチン、FILLVERT  F
CNサブルーチン、あるいはMETAGRAB  FC
Nサブルーチンが呼出される。第4B図のスライス分類
ルーチンは、判断ブロック656により肯定的な判定が
なされるまで、オープンリストのその時のラインおよび
データ・バッファについて演算し続ける。もしこのサブ
ルーチンがオープンリスト・ヘッダの終りまたはデータ
・バッファにおけるラインの終りにあるならば、サブル
ーチンは判断ブロック654へ進み、これら2つの場合
のどちらが生じるかを判定する。もし判断ブロック65
40判定が、サブルーチンがオープンリスト・ヘッダの
ラインの終りにあってデータ・バッファのラインの終り
にはないことであれば、サブルーチンはブロック656
へ進むが、これは取扱うべき「残りのjスライスBが存
在するためである。
判断ブロック656は、このBスライスが別のスライス
に添付されるかどうかを判定する。もしこの判定が肯定
であれば、オープンリスト・ヘッダにおける新しいノー
ドを生成する必要がな(、そのためルーチンはブロック
657へ進み、次のスライスBをデータ・バッファから
読出す。いずれの場合も、ルーチンは判断ブロック65
8へ進み、サブルーチンがデータ・バッファに関してそ
の時のラインの終りにあるかの判定を行なう。もしこの
判定が肯定であれば、サブルーチンはオープンリスト・
ノードおよびデータ・バッファの双方の終りにあり、ラ
ベル661へ進んで呼出し側のルーチン(OBGRAB
)へ戻る。
もし判断ブロック658の判定が否定であれば、PRO
CESS  ONE  LINEサブルーチンは、ブロ
ック659に示されるように、呼出し側のルーチン、即
あ0BGRAB、FCNI 3、FILLVERT  
FCNI31.1.) るいはMETA−GRAB  
FCNI3(以下に説明する)と対応するFCN15サ
ブルーチンを呼出す。PRO−CESS  ONE  
LINEサブルーチンはこの時ブロック660へ進み、
データ・バッファから次のスライスBを読出し、判断ブ
ロック658へ戻るというこのループを肯定的な判定が
得られるまで反復する。
もし判断ブロック654の判定が否定であれば、サブル
ーチンは判断ブロック655へ進み、これがサブルーチ
ンがデータ・バッファのラインの終りにあるがオープン
リスト・ヘッダの終りにはないかどうかを判定する。も
しそうであれば、スライスAのどれも何も添付できない
。もし判断ブロック655の判定が否定であり、サブル
ーチンもまたオープンリスト・ヘッダにおける両方のス
ライスAから外れ、かつ同時にデータ・バッファにおけ
るスライスBから外れたならば、サブルーチンは呼出し
側のルーチンへ戻ル。
もし判断ブロック6550判定が肯定ならば、サブルー
チンは判断ブロック662へ進み、次の残りのスライス
Aが何かに添付されるかどうかを判定する。もしこの判
定が否定であれば、サブルーチンはブロック664へ進
み、その時のスライスがオープンリスト・ヘッダのライ
ンの終りにあるかどうかを判定する。もしそうならば、
サブルーチン呼出し側のルーチンへ戻る。もし判断ブロ
ック662の判定が肯定ならば、サブルーチンはブロッ
ク666へ進み、オープンリストから次のスライスを読
出し、判断ブロック664へ進む。
もし判断ブロック664の判定が否定ならば、サブルー
チンはブロック665へ進み、適当なFCNOサブルー
チン(即ち、0BGRABFCNO1FILLVERT
  FCNOlあルイはMETAGRAB  FCNO
)を呼出して、判断ブロック664へ戻る。
第4B図の0BGRABルーチンにより(PRO−CE
SS  ONE  LINEにより間接的に)更に呼出
される時、第4図のCLASSIFIERルーチンによ
り呼出される第4C図乃至第4N図の0BGRAB  
FCNサブルーチンについて、次に記述する。
0BGRABにより呼出される時、もし第4B図の判断
ツリーCLASSIFIERがFCNOを選択するなら
ば、第4C図の判断ブロック70に入り、スライスAが
前にその時のスライスBの行におけるスライスに対し添
付されたかどうかについての判定が行なわれる。もしこ
の判定が肯定ならば、サブルーチンはブロック71へ進
み、オープンリストから次のスライスAを読出して戻る
さもなければ、サブルーチンはブロック72へ進み、こ
のことはスライスAが依然として成長しつつある分岐の
一部ではないことを意味する。ブロック72においては
、0BGRAB  FCNOサブルーチンが、スライス
Aが一部をなす対象の「オープン分岐カウント」から1
を控除し、判断ブロック73へ進む。各対象がそれに示
される分岐数のオープン分岐カウンタを有することに注
意されたい。判断ブロック73においては、サブルーチ
ンが、オープン分岐カウントがOであるかどうかを判定
し、もしそうでなければ、ブロック75へ進んでオープ
ンリストからスライスAを取出して戻る。さもなければ
、サブルーチンはブロック74へ進んでその時の対象を
「完了した対象待ち行列コにその時の対象を置き、次い
でブロック75へ進む。
0BGRAB  FCN1サブルーチンが第4D図に示
され、判断ブロック76に入ってスライスAがスライス
Bのライン上の別のスライスに前に添付されたかどうか
を判定し、もしそうであれば、判断ブロック77へ進ん
で新しい列を生成し、ブロック78へ進んでその中のス
ライスBを用いて新しいオープンリスト・レコードを生
成して新しい列を表示し、次いでブロック79へ進んで
オープンリストから0BGRABについて次のスライス
Aを読出す。この時、サブルーチンは呼出し側のサブル
ーチンに戻る。もし判断ブロック76の判定が否定であ
れば、プログラムはブロック80へ進んで、第14図の
GROW  BRANCHを実行することによりスライ
スBを成長する列のスライスAに添付する。次いでプロ
グラムはブロック79へ進む。
第4E図においては、もし0BGRAB  FCN3サ
ブルーチンが選択されるならば、0BGRABFCN1
と略々同じサブルーチンがブロック81に示されるよう
に実行され、次いで次のスライスBが次の未使用のスラ
イスを含むデータ・バッファから読出される。次いでサ
ブルーチンは呼出し側のルーチンに戻る。
第4F図においては、0BGRAB  FCN4サブル
ーチンが、スライスAが判断ブロック83において前の
スライスBに前に添付されたかどうかを判定し、もしそ
うであれば、ブロック84に示されるように新しい列レ
コードを生成し、新しいオープンリスト・ノードを生成
し、ブロック85に示されるようにその中にスライスB
を挿入し、次いでブロック86に示されるようにデータ
・バッファから次のスライスBを読出した後戻る。
もしスライスAが前に添付されなかったならば、サブル
ーチンはブロック87へ進み、スライスBを列を成長中
のスライスAへ添付する。次いで、サブルーチンはブロ
ック86へ進む。
第4G図においては、ブロック88に示されるように0
BGRAB  FCN5サブルーチンがスライスBを成
長中の列のスライスAへ添付し、ブロック89に示され
るようにオープンリストから次のスライスAを読出して
戻る。
第4H図においては、ブロック90に示されるように、
0BGRAB  FCN6サブルーチンがスライスBを
成長中の列のスライスAの添付し、ブロック91に示さ
れるように次のスライスAを読出し、ブロック92に示
されるようにデータ・バッファから次のスライスBを読
出して戻る。
第4■図においては、ブロック9乙に示されるように0
BGRAB  FCN7サブルーチンがスライスBを成
長中の列のスライスAに添付し、ブロック94に示され
るようにデータ・バッファから次のスライスBを読出し
て戻る。
第4J図においては、0BGRAB  FCN8サブル
ーチンが、スライスBが同じリストにおける別のスライ
スに前に添付されたかどうかを判定する。もしそうなら
ば、サプルーチ/はブロック9乙に進んでスライスAが
その一部である(この時までに白のピクセルにより完全
に囲まれた異なる対象であった)対象を、スライスBが
その一部である対象に対して併合し、次いでブロック9
7に進み、0BGRABの開いたリストからスライスA
のレコードを除去する。次いで、サブルーチンは判断ブ
ロック98へ進む。もしスライスBが同じラインの別の
スライスに前に添付されなかったならば、ブロック99
に示されるようにスライスBは成長中の列のスライスA
に添付され、次いでプログラムは判断ブロック98へ進
む。判断ブロック98は、スライスAがどれかのスライ
スBに添付されるかどうかを判定する。もしそうならば
、サブルーチンはブロック100に示されるようにオー
プンリストから次のスライスAを読出して戻る。さもな
ければ、サブルーチンは直ちに呼出し側のルーチンへ戻
る。
次に第4に図においては、0BGRAB FCN9サブ
ルーチンが判断ブロック101において、スライスBが
前のスライスAに前に添付されたかどうかを判定し、ま
たこの判定が肯定ならば、ブロック102において示さ
れるようにスライスAがスラ・「スBが一部をなす対象
をスライスBがその一部である対象に併合し、次いでブ
ロック103において示されるようにオープンリストか
らのスライスAのレコードを除去する。サブルーチンは
次に判断ブロック105へ進む。もしスライスBが前に
添付されなかったならば、ブロック104に示されるよ
うにサブルーチンがスライスAをスライスBへ添付する
ことにより「列を成長させ」、判断ブロック105へ進
む。判断ブロック105は、スライスAが前に添付され
たかどうか、またもしそうであれば、オープンリストか
ら次のスライスAを読出してブロック107へ進む。さ
もなければ、サブルーチンは単に判断ブロック107か
ら判断ブロック106へ進み、データ・バッファから次
のスライスBを読出して戻る。
第4L図においては、0BGRAB FCN10サブル
ーチンが、スライスBが判断ブロック108において前
のスライスAに前に添付されたかどうかを判定し、もし
そうであれば、スライスAがその一部である対象をスラ
イスBがその一部である対象に併合し、ブロック110
に進んでデータ・バッファから次のスライスBを読出し
て戻る。もしスライスBが前に添付されなかったならば
、スライスBがスライスAに添付されて、ブロック11
1に示されるように、0BGRABにより形成されつつ
ある対象のその時の列を成長させる。
次いでサブルーチンはブロック110へ進む。
第4M図においては、0BGRAB  FCN12サブ
ルーチンが、判断ブロック112において、スライスB
が前のスライスAに前に添付されたかどうかを判定する
。もしそうであれば、サブルーチンはブロック116へ
進み、データ・バッファから次のスライスBを読出して
戻る。さもなければ、サブルーチンはブロック115に
示されるようにオープンリストに新しいノード(新しい
列を表わす)を生成し、ブロック115に示されるよう
にスライスBをそれに挿入する。次いで、サブルーチン
はブロック114に進み、スライスAを含むレコードの
前に新しいレコードを挿入してブロック116へ進む。
最後に、第4N図においては、 0BGRABFCN1
5サブルーチンがブロック117に示されるように新し
い対象を生成し、次いでブロック118に示されるよう
にスライスBを含む新しいオープンリスト・レコードを
生成する。サブルーチンは、この時、ブロック119に
示されるように新しいレコードをオープンリストの終り
に付加し、次いでブロック120へ進み、データ・バッ
ファから次のスライスBを読出し、呼出し側のルーチン
へ戻る。
連係リストの各々は他のリストに対するポインタを含み
得る。最初のリストは、連続的に続いたスライスを含む
全てのリストに対するポインタを含む。
よく考察すれば、当業者は、別個の「対象」として開始
する走査された文書の2つの画像が接触する時、また従
って1つの対象に併合される時、。
あるいはまた対象が個々の繋がった形状に分割し始める
ならば、形成されつつある対象の「形状」は走査されつ
つある文書における画像の実際の形状とは大幅に異なり
得るが、これは対象のリストを構成する分岐が、各分岐
の最上位のスライスがライン単位の走査プロセスにおい
て走査される順序で開始されるためである。このため、
変更された「形状」は、スライスが以降のベクトル化お
よび(または)文字認識操作において必要とされるため
対象におけるスライスの位置決めを更に困難にすること
になろう。実質的に明らかになるように、本発明はME
TAGRABルーチンを用いて対象から走査された画家
の「指向性グラフ」を再構成して、ベクトル化あるいは
認識されるべき画像を表わす「レコード」の完全な「デ
ータ付勢」グループの提供、ならびに画像を表わす「指
向性グラフ」の「分岐」または「夕1月への走査された
画像の分岐の幾何学的関係の「復元」を行なうようにす
る。このため、以降のベクトル化操作を行なう時スライ
スを位置決めする問題を簡単にする。
本発明によれば、連係リストに含まれるスライス・デー
タの処理における次の段階は、小さな(明るい)ピクセ
ル間隙を削除し、台形によりどんな形状を表わすことが
できるかを判定し、METAOBJECTと呼ばれる新
しい再構成された「対象」を生成することであるが、前
記対象は、個々のピクセルまたはスライスまたは座標に
ついてメモリー内を探査する必要もなくベクトル化プロ
セスを行なうことを可能にするこれもまた「データ付勢
」連係リストの形態における遥かに少ないデータによっ
て対象を表わす。
次に第7図においては、FILLFRAMEサブルーチ
ンがフローチャート形態で示されている。
FILLHORIZサブルーチン(少ないピクセル巾よ
りも小さな水平間隙を充填する)およびFILLvER
Tサブルーチン(6または4ラインより小さな垂直間隙
を充填する)が第20図のMETACTRLルーチンに
より整合されるライン単位で実行されることを理解すべ
きである。
FILLHORIZサブルーチンは同じライン上の例え
ば4つのピクセル間隙よりも狭くスライスを接続する。
第7図においては、FILLFRAMEルーチンにはラ
ベル200において入る。ブロック201延、おいては
、ルーチンの主な機能に対してやや周辺的な操作が行な
われる。もし前のフレームがFILLFRAMEにより
処理されても、その最後の3つのラインが未だルーチン
METAGRABによって処理されなかったならば、こ
のフレームの最後の3つのラインは、METAGRAB
がうインを処理する前に垂直間隙を充填させるため、ま
さに充填されるフレームの最初の3つのラインに移動さ
れる必要はない。
その時、FILLFRAMEルーチンは判断ブロック2
02へ進み、Y+400がYMAXよりも小さいかどう
かを判定する。YMAXはY軸方向におけるその時の対
象の最大寸法である。400の走査行即ちピクセルは、
各フレームの高さである。
Yは下方向に増加する垂直方向の縦軸である。
判断ブロック202は、その時の対象がまさに充填され
るべきその時のフレームで終るかどうかを判定する。も
しこの判定が肯定ならば、LOOPL IMITと呼ば
れる論理変数は値YMAX−Yに設定される。もし走査
されつつある対象がその時のフレームで終らなければ、
LOOP  LIMITはその時のフレームにおける行
数である400に設定され、対象がその時のフレームで
終了するならば、これよりも短(停止されるのではな(
、その時のフレームの全ての400行にわたり完了する
ようにFILLFRAMEルーチンが実行される。
いずれの場合も、FILLFRAMEルーチンはブロッ
ク205へ進み、最初の列アドレスに対t、テ変数CO
LUMN  ADDRESSをセノ)する。
形成された「対象」の全般的な構造即ち「形状」(連係
リストのリスト)を示す第3図に簡単に触れれば、左側
の列がその次の列のアドレス(即ち、アドレス・ポイン
タ)を有する。右の各列においては、このパターンは右
側の列に達するまで反復される。連係リストの各リスト
は、最初に走査された画像の特徴と対応する。
一部FILLFRAMEに対する最初の列位置が対象の
左側列即ち連係リストのリストに対してセットされると
、FILLFRAMEルーチンは判断ブロック206に
進み、その時の列アドレスが0である、即ち連係リスト
の右側の列を越えるかどうかを判定する。もしこの判定
が肯定ならば、対象の多(が入ることができたようにそ
の時のフレームに入れられたことを意味する。もしそう
であれば、プログラムはブロック214へ進み、LAS
T  LINEと呼ばれる変数を400またハYMAX
 −YであるLOOP  LIMITへセットし、また
Y+LOOP  [、EMITと等しくPRAMICO
[;’FS E’rを呼ばレル変数ヲセットしてラベル
215から出る。
もしその時のフレームが充填されなかったならば、ルー
チンは判断ブロック207へ進み、COLUMN  B
OTTOMと呼ばれる変数がYより大きいかあるいはこ
れと等しいかどうかを判定する。ここで行なわれる判定
は、その時の列における対象のその時のスライスがこの
列の最下位にあるかどうかである。もしそうであれば、
ブロック207の判定は否定となり、ルーチンはブロッ
ク215へ進み、COLUMN  ADDRESSを次
の列に進め、即ち1つの列を右方へ進め、判断ブロック
206へ戻る。もしその時の列の最下位に未だに達して
いなかったならば、FILL−FRAMEルーチンはブ
ロック208へ進み、FRAME  ROWをYUNU
SID−yと等しくセットするが、ここでYUNUSE
Dは、その時のフレームに未だ入れられなかったその時
の分岐の次のスライスの「行番号」即”bY座標である
その時、ルーチンは判断ブロック208Aへ進み、FR
AME  ROWが400より小さいかこれと等しいか
を判定し、もしこの判定が否定であれば、ブロック21
5へ進んでCOLUMNADDRESSを更新して次の
列へ進む。さもなければ、ルーチンはブロック209へ
進み、サブルーチンを実行してその時の列の対象の最上
位の未使用のスライスをFRAME  ROWにより指
示されたその時のフレーム行の適正な側方位置における
その時のフレームへ挿入する。ブロック209について
は、第7A図に関して詳細に記述する。
次に、FILLFRAMEはブロック210へ進み、F
RAME  ROWを増分し、ブロック211へ進み、
Yを増分して目的状態のこの時の列における次のスライ
スまたは連係リストのリストへ進む。
次いで、FILLFRAMEは判断ブロック212へ進
み、FRAME  ROWのその時の値がLOOP  
LIMITの前にセットした値よりも大きいか、あるい
はまた対象のスライスがその時の列に残らないかどうか
を判定する。もしこの判定が否定である、即ちこのフレ
ームに更に多くの行が充填されてその時の対象のその時
の列に更に多くのスライスが残るならば、プログラムは
ブロック209へ戻り、次の最上位の未使用のスライス
をこのフレームのその時の行の適正な側方位置へ挿入し
、繰返す。さもなげれば、プログラムはブロック215
へ進み、対象の次の列の右方へ進む。
次に、第7図の説明を完了する前に、第7図のブロック
209のプロセスについて第7A図に関して更に詳細に
記述するが、同図においてPUTSLICE  INT
OFRAME  INPROPERLEFT−To−R
IGHTORDERと呼ばれるサブルーチンがラベル2
09で入力され、判断ブロック250へ進む。判断ブロ
ック250は、その時のフレーム行が空であるかどうか
を判定する。もしこの判定が肯定であれば、サブルーチ
ンはブロック251へ進み、その時のフレーム行の初め
のフレームにデータの新しいスライスを入れ、呼出し側
サブルーチンへ戻る。
さもなければ、第7A図のサブルーチンは判断ブロック
252へ進み、新しいスライスのX座標がその時のフレ
ームのスライスのそれよりも小さいかどうかを判定する
。もしこの判定が否定であれば、サブルーチンはブロッ
ク255へ進み、既にこのフレームにあるスライスを1
つの水平スライス、位置だけその時のフレーム位置の右
側へ移動する。その時、サブルーチンはブロック256
へ進み、新しいスライスをステップ255に生成された
初めに挿入し、呼出し側のサブルーチンへ戻る。もし判
断ブロック2520判定が肯定であれば、サブルーチン
は判断ブロック256へ進み、その時の位置が行の初め
にあるかどうかを判定する。もしこの判定が肯定ならば
、サブルーチンは前に述べたブロック255へ進む。も
しこの判定が否定ならば、サブルーチンはブロック25
4へ進み、その時のフレームのスライスの左側のフレー
ムのスライスを得て、判断ブロック252へ戻る。
次に第8図ニオイテハ、FILLVERTは、予め定め
た数の行および高さよりも小さな、例えば高さが4つの
行より小さな垂直間隙を充填するルーチンである。この
サブルーチンには第8図のラベル216を介して入って
ブロック217へ進み、このブロックが充填されたフレ
ームの最後の行を読出し、また0BGRABにより形成
される「対象」のその時の行を読出し、即ち第3図に示
された関係リストのリストが第4A図のPRO−CES
S  ONE  LINEサブルーチンを実行し、これ
により第4B図のCLASSIFIERサブルーチンを
実行し、第8A図乃至第8P図のFCNルーチンを選択
してラベル218かも出る。
第4B図のCLASSIFIER判断ツリーがFILL
VERT  FCNOを呼出す時、コノサブルーチンは
第8A図の判断ブロック153へ入り、スライスAがそ
の時のFRAME  ROWと対応する対象連係リスト
のその時の行の他のスライスに前に添付されたかどうか
を判定する。もしスライスAが前に添付されたならば、
FILL−VERT  FCNOサブルーチンは対象連
係リストの次の行を構成するリストから次のスライスA
を読出し、判断ツリーCLAS S I F I ER
へ戻る。もし判断ブロック166の判定が否定ならば、
FILLVERT  FCNOサブルーチンはブロック
155へ進んで第8M図のrEND N0DE Jサブ
ルーチンを実行し、ブロック156へ進んでその時充填
されフィルタされつつあるフレームと関連する「オープ
ンリスト」のオープンリスト・ノードからrsLIcE
  AJと呼ばれる変数を取出す。次いで、このサブル
ーチンは第4B図の判断ツリーCLASS I FI 
FERの初めに戻る。
次に、第8M図のEND  MODEサブルーチンにつ
いて述べるのが好都合であろう。しかしこのサブルーチ
ン、また第8N図、第80図および第8P図のサブルー
チンを理解するためには、第18図および第19図の図
および用語を理解することが必要である。
第19図は、第8図のFULLvERTルーチンおよび
第8A図乃至第8P図のサブルーチンの実行中、第4B
図の判断ツリーCLAS S I’F I ERを実行
する再使用しなければならない[オープンリスト・ノー
ド」のデータ・フィールドを示している。第19図にお
いては、データ・フィールド1がオーブンリスト・リン
クを含み、これは次のオープンリストレコードの初めを
指示するアドレスである。データ・フィールド2は、L
EFTCOUNTと呼ばれる変数の値を含む。データ・
フィールド3は、RIGHT  C0UNTと呼ばれる
変数を含む。データ・フィールド4および5は、それぞ
れ「左側のホール・レコード・ポインタ、Jおよび「右
側のホール・レコード・ポインタ」を含む。データ・フ
ィールド6は、その時のスライスAに対するアドレス・
ポインタを含む。データ・フィールド7、即ちその時の
オーブンリスト・ノードの最後のデータ・フィールドも
また、その時のスライスBに対するアドレス・ポインタ
を含み、またその時のスライスAの終端点であるA1お
よびA2を含む。
オーブンリスト・レコードは、連続する行のスライス間
の各[ホーノリ即ち垂直間隙の「ホール・レコード」を
維持する。第18図は、このような「ホール・レコード
」を示している。第18図においては、照合番号125
は異なる「ホール・レコード」を指示する。照合番号2
6は、垂直の「ホール・レコード」を示している。上記
の「左側のカウント」および「右側のカウント」の変数
は、如何にして高い対応した垂直ホールがこれまで成長
したかを示している。照合番号26A−Fは、前記ホー
ルの仕切となるスライスに対するポインタを表わしてい
る。ホール・レコードの目的は、[解放された終端J、
即ち成長する垂直のホールの仕切となるスライスの結合
されない終端を追跡することである。ホール・レコード
、即ち第8M図のEND  N0DEサブルーチンおよ
び第8N図のFILL  HOLEサブルーチンを用い
ることにより、ホールを充填するかどうかの判定を行な
うことができる。
各オーブンリスト・ノードはある対象の成長部分即ち「
分岐Jを表わすから、各間いたリスト・ノードは、潜在
的にホールを閉じ得る壁がどこに形成されるかを判定す
るため監視されねばならない。このようなあるノードの
みが潜在的なホールの成長する壁を表わす。第18図の
照合番号26のようなホール・レコードは、ある成長す
るホールの凸凹の縁部を追跡するため必要である。ホー
ルが2つの「−緒に成長する」壁により「閉じられたJ
即ち「充填された」ならば、このホール・レコードは、
FILLVERT(第8図)を許容するスライス・アド
レスおよびホールであった孔隙な埋めるFILL  H
OLE(第8N図)を格納する。左右の「壁」ポインタ
26A−Fは、ホールを形成するスライスの解放された
終端のアドレスである。各ホール・レコードの左のマー
ク27Gおよび右のマーク27Hは、もし左右の「壁」
が「そのまま」であるならば「1」である。第18図に
おいて、照合番号125は、オーブンリスト・レコード
に含まれる「ホール・レコード・ポインタ」を示してお
り、一方は右のホール・レコード・ポインタであり他方
は左のホール・レコード・ポインタである。
第18図の照合番号1はオーブンリスト・リンクを指す
。従って、第18図の全体図は、「成長するホール」を
表わすホール・レコードを指示する「成長する壁」を表
わすオーブンリスト・ノードの連係リストを示している
第8M図のEND  MODEサブルーチンの目的は、
単にメモリーを再要求して1、典型的には小さな垂直の
ホールおよびそのホール・レコートヲ規定するため使用
されるメモリーの64バイト部分を解放する無効ホール
・レコードを排除して、再要求さいたメモリーを、その
時ある他の目的のためコンピュータのオペレーティング
・システムにより使用することができる再使用可能なメ
モリー・リストに戻すことである。
成長する垂直ホールの成長する壁は、実際には、FIL
LVERTが実行中使用される開いたリスト・ノードの
成長ノードの一部である。もしノードが成長する時、ホ
ールの代りに発散が形成されることが判定されるか、あ
るいはホールが充填されるならば、ホール・レコードは
もはや必要でない。
次に第8M図においては、ラベル220からEND  
N0DEサブルーチンに入り、判断ブロック221へ進
み、変数LEFT  C0UNTが0より大きいかどう
かを判定する。もしそうでなければ、サブルーチンは判
断ブロック225へ進むが、これはその時のノードに添
付される左のホール・レコードがないためである。しか
し、もしLEFT  C0UNTが0より大きければ、
このことはその時の開いたリスト・ノードに対して、即
ち充填されつつありかつホールまたは発散の接合点であ
り得る成長する孔隙の壁を表わすフレームにおける対象
の成長部分に対して添付された第18図の26の如き左
のホール・レコードがあることを意味する。この時、E
ND  N0DEサブルーチンは判断ブロック222へ
進み、「左のホール・レコードの左側のマークJl)−
Oであるかどうかを判定する。
もしこの判定が否定であれば、これは、成長する孔隙が
依然としてオーブンリストの別のノードによりホールと
なる可能性を持つものと認識されることを意味する。従
って、その時のホール・レコードにより占められるメモ
リーは未だ再要求できないが、これはホール・レコード
が依然としてこのホール・レコードの反対側の壁と関連
するオーブンリスト・ノードによりアクセスされねばな
らないためである。従って、サブルーチンはブロック2
24へ進んで、ホール・レコードの右側マークを「0」
に等しくセットして、判断ブロック225へ進む。もし
判断ブロック225の判定が肯定ならば、このことは、
ホール・レコードの両方の壁がホール・レコードと無関
係となり、前記の関連のレコードを維持するため用いら
れたメモリーはもはや必要でなく再要求できることを意
味する。
この時、END  N0DEサブルーチンは判断7’ロ
ツク226へ進んで、左のホール・レコードを格納する
ため用いられたメモリーを「再要求」し、これをコンピ
ュータのオペレーティング・システムに戻して、判断ブ
ロック225へ進む。
判断ブロック225および223、およびブロック22
8および227においては、略々同じ手順が繰返されて
、右のホール・レコードに対スル需要があるかどうかを
判定し、もしそうでなければ、これに用いられたメモリ
ーがオペレーティング・システムに対し再要求される。
次に第8B図においては、もし第4B図の判断71J−
CLASSIFIERがFILLVERTFCNlを選
択するならば、このサブルーチンは判断ブロック157
へ進んで、前に問題となったスライスAがその時のスラ
イスBのライン上の他のスライスに前に添付されたかど
うかを判定する。
もしこの判定が肯定ならば、サブルーチンは第80図の
サブルーチンを実行することにより1つのホール・レコ
ードを始動する。もしスライスAが前に添付されなかっ
たならば、プログラムは第8P図の添付られたスライス
Bサブルーチンを実行することによりスライスBをスラ
イスAへ添付して、CLASSIFIERの初めに戻る
ここで、第80図の5TART  HOLEサブルーチ
ンについて述べておくことが好都合であろプ。第80図
においては、もしスライスAとBとノ関係がFILLV
ERT  FCNI、6まタハ4を呼出させるならば、
このサブルーチンがFILLVERTにより呼出される
時CLASS−FIERにより呼出される。いずれの場
合でも、形成されつつある対象の発散の可能性がある。
この状態が生じると直ちに、第18図に関して述べたタ
イプのホール・レコードを開始することが必要で、左右
の壁ポインタを生成することによりホールの成長を記録
する。このルーチンは最初に判断ブロック601へ進み
、既にスライスAに添付されたスライスBと同じ走査線
上に1つのスライスが存在するかどうかを判定する。も
しそうであれば、スライスAに別のスライスを添付する
ことが孔隙即ち潜在的なホールまたは発散の成長を開始
することになる。もし判断プロ226010判定が否定
ならば、このサブルーチンから出る。もしこの判定が肯
定ならば、ルーチンは判断ブロック302へ進み、充填
し得る最大許容垂直ホール高さまでの値を持ち得る変数
RI G I−I T C0UNrが0より大きいかど
うかを判定する。
もし判断ブロック302の判定が否定ならば、プログラ
ムはブロック303へ進み、新しいオープンリスト・ノ
ードを生成し、これを埋められつつあるフレームと関連
する全てのオープンリスト・ノードからなるオープンリ
ストに挿入する。次いでプログラムはブロック310へ
進む。
もしRIGHT  C0UNTが0より大きければ、こ
のことは、1つのホールが既にその右側において成長し
つつあることを意味する。このことを理解するためには
、その時のノードの左側のオープンリストがその時のデ
ータ・バッファからのスライスBを含む「履歴」および
それ以前を表わすことを認識することがおそらく助けと
なろう。
右側にあってその時のノードを含むオープンリストは、
最も最近のデータ・バッファの履歴を表わしている。そ
の時のノードの履歴は成長しつつあるホールの壁を表わ
し、もしL I GHT  COU N Tが0よりも
大きければ、このことはホールが既にその右側で成長中
であることを意味する。
もしRIGHT  C0UNTが0より大きけれハ、ル
ーチンはブロック304へ進み、ブロック304におい
て、RIGHT  C0UNT(OLDNODE)と等
しいRIGHT  COUNT(TEMP)と呼ばれる
一時変数をセットするが、これは既に成長中のホールに
対するRIGHTCOUNTのその時の値、即ちその時
のオープンリスト・レコードておけるRIGHT  C
0UNT の値である。このステップの理由は、 RI
GHTCOUNTの値がその後生成されて開いたリスト
に挿入される新しいオープンリスト・ノードにおいて使
用することができるようにするためである。
ルーチンはこの時ブロック305へ進み、一時アドレス
変数RIGHT  HOLE  ADDRESS(TE
MP)をその時のオープンリスト・ノードにおける右側
のホール・レコード・アドレスの値、即ちRIGHT 
 HOLE  RECORDADDRESS(OLD 
N0DE)の値に等しくセットする。このブロックにお
いては、一時的変数RIGHT  HOLE  REC
ORD  ADD−RESS(TEMP)がRIGHT
  HOLERECORDADDRESS(OLD  
N0DE)に等しくセットされ、再び生成されるべき新
しいオープンリスト・ノードにおいて使用される値を保
管する。
次に、ルーチンはブロック306へ進み、RIGHT 
 HOLE  RECORD  LEFTWALL  
POINTERと呼ばれるポインタをスライスBのアド
レスに等しくセットする。成長中のホールの内側のスペ
ースは対象の発散する新しい分岐により分割されつつあ
るため、この事実はホール・レコードに反映されねばな
らない。次いでルーチンはブロック307へ進み、新し
いオープンリスト・ノードを生成し、これをフレームの
充填のため成長中のその時のオープンリストへ挿入する
。その後、ルーチンはブロック608へ進み、ブロック
307に生成された新しいノードのRIGHT  C0
UNTをブロック304にセットされた一時的なRIG
HT  C0UNTの値に等しくセットし、ブロック6
09において、ルーチンはブロック307に生成された
新しいノードのRIGHT  HOLE  ADDRE
SSをRIGHT  HOLE  ADDRESS(T
EMP)にセットする。次いでルーチンはブロック31
0へ進んで新しい左側のホール・レコードを生成する。
以降のステップは、それぞれ新しいオープンリストのレ
コードの左側のカウントおよび左側ホール・レコード・
アドレスを「1」および新しいホール・レコードのアド
レスに等しくする。これはブロック611および612
において行なわれる。
ブロック315においては、HIGHT  C0UNT
(OLD  MODE)が「1」にセットされる。
ブロック614においては、古いノードに対するRIG
HT  HOLE  RECORD  ADDRE手段
カ新手段カール・レコードのアドレスにセットされる。
ブロック611および315が同じホールを指すことに
注意すべきである。古いオープンリスト・ノードおよび
新しい開いたリスト・ノードは、新しいホールの左側壁
および右側壁を表わす。しかし、1つのホールしかない
ため、両方の壁は同じホールを「見る」即ち指示する。
ブロック615においては、新しいホール・レコードに
対するLEFT  MAI(Kは「1」にセットされ、
またブロック31乙においては、新しいホール・レコー
ドに対するRIGF−IT  MARKが「1」にセッ
トされる。
これらのステップは、その時両方の新しいオープンリス
ト・ノードがブロック306および310のいずれにお
いても生成し、またスライスAが取出された古いオープ
ンリスト・ノードがその時同じ新しいホール・レコード
において同時にブロック610に生じるように行なわれ
る。新しいホール・レコードのLEFT  MARKお
よび新しいホール・レコードのRIGHT  MARK
が共にrlJに等しいといつ事実は、生成されつつある
ホールが存在することを示している。
ブロック317および618においては、新しいホール
・レコードの第1の左側壁ポインタが、判断ブロック6
01において判定されるようにスライスAが既に添付さ
れた前のスライスBのアドレスに対してセットされ、新
しいホール・レコードの第1の右側壁ポインタがその時
のスライスBのアドレスにセットされる。別の左側壁ポ
インタが埋められる小さなホールの最大許容垂直高さま
でホールの高さの各行に1つずつ存在し得ることに注意
されたい。
その時、サブルーチンはこれを呼出したFILLVER
T機能サブルーチンへ戻る。
次に第8P図のATTACH5LICEルーチンについ
て述べる。1つのホールの成長中1つのスライスを添付
するための第8図のサブルーチンは、1つのスライスの
垂直のホールの片側を形成するフレームにおける「列」
への添付を行なう。
サブルーチンは最初に判断ブロック261へ進む。
このサブルーチンがFILLVERT  FCNIまた
lf、FILLVERT  FCN3−10(7)一方
により呼出される時、ホール・レコードは既に始動され
ている。判断ブロック261は、このホールのLEFT
  C0UNTがOより大きいかどうかを判定する。も
しこの判定が否定ならば、この成長中のノードまたは分
岐の左側には成長中のホールがないことを意味する。
もし判断ブロック261の判定が肯定ならば、この成長
中のノードの左側に成長するホールが存在することを意
味する。この場合、ルーチンは判断ブロック262へ進
み、左側のホール・レコードのLEFT  MARKが
「1」に等しいかどうかを判定する。もしそうでなけれ
ば、これはホールが決して閉じないことを意味する。従
って、左側ホール・レコードが格納されるメモリ一部分
がブロック264に示されるように再要求され、ブロッ
ク265に示されるようにLEFT  C0UNTは0
にセットされ、LEFT  HOLERECORDAD
DRESSもまた0にセットされる。ルーチンこの時判
断ブロック271へ進んで、その時成長中のノードの右
側に存在するホールに対するプロセスを反復する。読者
は、左右上の定義がスライスの特定の成長ノードまたは
列または分岐に関して付された相対的条件であることを
留意すべきである。
もし判断ブロック262の判定が肯定ならば、これは列
が以前として成長中であり、これと依然として関連する
左側のホール・レコードを有することを意味する。次い
でサブルーチンは判断ブロク266へ進んで、成長中の
列と関連したホールの垂直高さが典型的3乃至4本の水
平走査線としてセットされる最大値MAXよりも小さい
かどうかを判定する。LEFT  C0UNTおよびR
IGHT  C0UNTは単に垂直ホールがこれまでど
れだけ高く成長したかのカウントに過ぎない。もし判断
ブロック263におけるLEFTCOUNT変数がMA
Xよりも小さければ、ルーチンはブロック266へ進ん
でL E F T COUNTを増分し、次いでブロッ
ク267へ進んで左側ホール・レコードを指示し、右側
壁を形成するその時のスライスBのアドレスを格納する
この時、プログラムは判断ブロック271へ進んで右側
のホール・レコードに対する前のプロセスを反復する。
もしLEFT C0UNTIJ?−MAXよりも小さく
なければ、これは成長中のホールが高さにおいてとるに
足りない即ち小さなホールに対する基準値よりも大きい
ことを意味し、その結果ホールは「埋め」られることか
ない。従って、ホールと関連する全てのホール・レコー
ドが除去され、関連するメモリーがオペレーティング・
システムにより使用のため再要求される。次いでルーチ
ンは、ブロック258.259および260に示される
ように、LEFT  HOLE  f(ECORDRI
GHT  MARKを「0」に等しくセットし、LEF
T’  C0UNTを「0」に等しくセットし、またL
EFT  HOLE  RECORDADDRESSを
「0」に等しくセットする。
次いで、プログラムは判断ブロック271に進む。判断
ブロック271〜280はRIGHTHOL D  R
E CORDに対する前のプロセスを反復して、これが
ブロック274において格納されたメモリーを再要求し
、もしRIGHT  HOLERECORD  MAR
Kが「1」に等しくなければブロック275においてそ
の関連する変数を「0」に等しくリセットし、判断ブロ
ック271に示されるようにRIGHT  C0UNT
が「0」であれば呼出しルーチンへ戻り、もしこのホー
ルがその最大許容値のMAX+1に達しなければRI 
G I−T TCOUNTを増分して、ブロック277
に示されるようにその時のスライスのアドレスを左側の
壁スロットに格納し、さもなければ、ブロック278〜
280においてRIGT−IT  HOLE  RE−
CORDと関連する変数をリセットする。
次に第8C図のFILLVERT  FCNサブルーチ
ンの説明に戻り、もしFILLVERTFCN3が呼出
されるならば、第8B図のFILLVERT  FCN
1?ブルーf:、yが実行され、次いでブロック140
に示されるように次のスライスBが読出される。第8D
図はFILL−VERT  FCN4を示しており、こ
れにおいては判断ブロック141において、スライスA
がその時のB走査線上のスライスに対し前に添付された
かどうかが判定される。もしこの判定が肯定ならば、こ
のサブルーチンは第80図の上記のサブルーチンを呼出
し、バッファ142に示されるように1つのホール・レ
コードを始動する。もし判断ブロック141の判定が否
定ならば、ブロック143に示されるように、第8P図
の上記のサブルーチンを呼出すことによりスライスBが
添付される。
いずれの場合も、ブロック144に示されるように、次
のスライスBが入力バッファかも読出される。
もし第8E図(7)FILLVERT  FCN5fブ
ルーチンが呼出されるならば、ブロック145に示され
るように第8P図の上記のサブルーチンを呼出すことに
よりスライスBがスライスAに添付され、次のスライス
Aが次の開いたリスト・ノードから読出される。
第8F図ニオイテハ、もLFILLVERT  FCN
6サブルーチンがCLASSIFIERにより1乎出さ
れるならば、ブロック147に示されるように第8P図
のサブルーチンを実行することによりスライスBがスラ
イスAに添付される。次いで、ブロック148および1
49に示されるように、次のスライスAおよびスライス
Bが得られる。
第8G図において、もしFILLVERT  FCN7
サブルーチンが呼出されるならば、ブロック150に示
されるように、スライスBがスライスAに添付され、ま
たブロヅク151に示されるように、次のスライスBが
入カパッファから読出される。
第8H図においては、判断ブロック152に示すttル
J:51C1FILLVERT  FCN8fブルーf
ンが、スライスBが前に別のスライスAに対して前に添
付されたかどうかを判定する。もしこの判定が肯定なら
ば、ブロック156に示されるように、後で述べる第8
N図のFILL HOLEサブルーチンを実行すること
によりホールが埋められ、またブロック154に示され
るようにスライスAがオープンリスト・ノードから取除
かれる。もし判断ブロック152の判定が否定ならば、
ブロック155に示されるように、スライスBがスライ
スAに対して添付される。いずれの場合も、判断ブロッ
ク156がその時の走査線上のスライスBに対してスラ
イスAが添付されるかどうかを判定する。もしこの判定
が肯定ならば、ブロック157に示されるように、次の
スライスAがオープンリスト・ノードから読出される。
ここで、第8N図のFILL  HOLEサブルーチン
について述べるのが好都合であろう。このサブルーチン
にはラベル230を介して入り、最初に判断ブロック2
31へ進ム。判断ブロック261は、ホールが埋められ
るべきでないこと、スライスBがその時の走査線上の別
のスライスに添付された(その結果垂直のホールが形成
された)条件が存在しなければFILL  HOLEが
ラベル248を通って戻り、LEFT  C0UNTは
0より大きく、LEFT  HOLE  RECORD
  のLEFT  MARKが1と等しいことを判定す
る。もしそうであれば、ホールが埋められるべきである
という判定がなされる。サブルーチンはブロック262
に進み、LOOP 工NDExを垂直ホールの高さであ
るLEFT  C0UNTと等しくセットし、判断ブロ
ック263へ進み、LOOP  INDEX が0より
大きいかどうかを判定する。
もしLOOP  INDEXが0より大きければ、ホー
ルは未だ埋められないことを意味し、ブロック234に
おいてサブルーチンはホールの左側スライスのアドレス
をLEFT WALL  INDEXに等しくセットし
、ブロック265において右側のスライスのアドレスを
LIGHT WALL INDEXに等しくセットし、
ブロック236においてLEFTSLICEをLEFT
  5LICEのアドレス内容にセントする。上記のル
ープにおいて起ることは、ホールが埋められつつあると
いうことである。
上記のループを通過する毎に、ホールの左側のスライス
およびその時のラインのホールの右側におけるスライス
と共に「スライス」して1つのスライスを生成する。ブ
ロック264.265および266は、ループの次の実
行が左側の壁を表わすスライスを見出すことができるよ
うにセットアツプされる。このことは、左側の壁が「偽
のスライス」を後に残して埋められた間隙があり得るた
め必要となる。
次に、サブルーチンは判断ブロック273へ進む。もし
32ビツト・ワードであるLEFT  5LICEがそ
の最上位ビット、即ち「1」にセットされるビット31
を有するならば、このことはL EFT  5LICE
の次に低い31ビツトがLEFT  5LICEのアド
レスであることを意味する。もしLFTSLICEのビ
ット61が「0」ならば、残りの61の更に低いビット
が左側のスライスのデータとなる。もしLEFT  5
LICEが次のLEFTSLICEのアドレスであれば
、サブルーチンはバッファ238へ進み、LIFT  
5LICEのビット31をマスクし、ブロック239へ
進み、ADDI(ESS  OF LEFT  5Lr
SEをLEF’TSLICEの31の更に低位のビット
であるMASKED LEFT  5LICE  に等
しくセントする。
次いでサブルーチンはブロック240へ進み、LEFT
SLICEをLEFT  5LICEのアドレスに等し
くセットする。ルーチンは次に判断ブロック267へ戻
る。ホールはその時のノードの左側に生じ得るため、そ
の時の左側スライスが「妥当」であることを仮定できず
、従って実際に「妥当」なスライスがその時のライン上
に見出されるまで、その時のノードの左側のスライスの
探索が行なわれる。「不当」なスライスは、他のホール
の充填の結果から生じる残留スライスであり、この場合
2つのスライスが1つのホールの充填のため接合される
時生じるスライスに対する不当なポインタを残す。
結局、判断ブロック267の判定は否定となり、このこ
とは実際のLEFT  5LICEが見出されたことを
意味する。ブロック241においては、LEFT 5L
ICEをRIGHT 5LICEの右端部に拡張するこ
とにより、ルーチンがその時のRIGHTSLICE 
 とLEFT 5LIC’Eとの間の間隙を埋める。
この時、サブルーチンはバッファ242へ進み、LIG
HT 5LICEのビット61を「1」にセットし、ブ
ロック243へ進む。ブロック243においては、サブ
ルーチンがRIGHT 5IJCEの下Qの51 ビッ
トをADDRESS OF RIGI−IT 5LIC
Eに等しくセットする。これにより行なわれることは、
RIGHT 5LICEを不当としてマークすること、
および不当LEFT  5LISEのアドレスをRIG
HT  5LICEのアドレスであったものに格納する
ことである。次いで、サブルーチンはブロック244へ
進み、LOOP  INDEXを減分し、判断ブロック
2ろ3へ戻る。結局、判断ブロック256によりホール
が埋められたことが判定される時、サブルーチンはブロ
ック245へ進み、左側ホール・レコードが格納された
メモリ一部分を再要求してオペレーティング・システム
が使用できるようにする。次いでサブルーチンは、ブロ
ック246.247に示されるようにLEFTCOUN
TおよびLlシFT  HOLD  RECORDAD
DRESSを0に化ノドし、ラベル248を介して呼出
し側ルーチンへ戻る。
再びFILLVERT FCNサブルーチンについて見
れば、FILLVERT FCN 9すlルーfンが1
X81図に示されるが、同図において判断ブOyり15
8はスライスBが前に用いられたかどうかを判定する。
もしそうであれば、ホールは、ブロック159に示され
るように、第8N図の上記FILL  HOLEサブル
ーチンを呼出すことにより埋められる。ブロック160
に示されるように、スライスAがオープンリスト・ノー
ドから取除かれる。もし判断ブロック158の判定が否
定ならば、ブロック161に示されるようにスライスB
がスライスAに添付される。いずれの場合も、サブルー
チンは判断ブロック162へ進み、スライスAが前に使
用されたかどうかを判定する。もしこの判定が肯定なら
ば、ブロック163に示されるように、次のスライスA
がオーブンリスト・ノードから読出される。いずれの場
合も、ブロック164に示されるように、次のスライス
Bが入カパッファから読出される。
次に第8J図においては、FILLVERTFCNlo
がスライスBが判断ブロック165において前に添付さ
れたかどうかを判定する。もしそうであれば、ブロック
166に示されるように、FILL HOLEサブルー
チンが呼出される。もしそうでなければ、ブロック16
7に示されるよ5に、スライスBが第8P図のサブルー
チンによってスライスAに添付される。いずれの場合も
、ブロック168に示されるように、次のスライスBが
入力バノファから読出される。
第8に図においては、FILLVERT  FCN12
サブルーチンは、スライスBが前に添付されたかどうか
を判断ブロック169において判定し、もしそうであっ
たならば、ブロック171へ進んで次のスライスBを読
出す。もしスライスBが前に添付されなかったならば、
ブロック170に示されろようにサブルーチンは新しい
オーブンリスト・ノードの項目を生成して、それにスラ
イスBを挿入し、次いでブロック171へ進んで戻る。
第8L図において、もし第4B図の判断ツリーCLAS
SIFIERへ進むに先立ちスライスAがなくスライス
Bのみが存在することが判定されるならば、FILLV
ERT  FCN15サブルーチ/が呼出される。もし
そうであれば、サブルーチンはブロック172へ進み、
新しいオープンリスト・ノード項目を生成してこれにス
ライスBを挿入し、次にブロック176に示されるよう
に次のスライスを読出して戻る。
次に第9図においては、サブルーチン METAGRAB7)フローチャートが示されている。
このサブルーチンは、水平および垂直のホールが埋めら
れかつ同じ走査線上のスライス間の(走査された画像に
関する)左右の適正な関係が回復された後、(F I 
LLHORI ZおよびFILLVERT により)「
フィルタコされ、フレームにおけるデータの境界の「方
向を持つグラフJの形態の「幾何学的K」認識されたデ
ータの対象を「再構成コする機能を行なう。METAG
RABルーチンはまた、充分に直線状の縁部を有するあ
らゆる形状即ち斑点を台形に変換して、「充分な挙動を
与えた」対象を表わすため必要なデータ量を大幅に減殺
する。
第9図のMETAGRABサブルーチンにはラベル40
0において入り、判断ブロック401へ進み、その時の
ME T A G RA Bのバスがこの時の対象に対
する最初のバスであるかどうかを判定する。もしそうで
あれば、サブルーチンはブロック402へ進み、初期化
サブルーチンI N I TMGを呼出して対象を開い
たリストを生成することにより再構成されるべく初期化
する。この時、サブルーチンはブロック403へ戻る。
もしこの時のバスが最初のバスでなげれば、サブルーチ
ンはバッファ403へ進んで第4A図のPROCESS
 ONE LINEサブルーチンを呼出し、このサブル
ーチンは更に第4B図のCLASSIFIERサフ゛ル
−チンおよびそのMETAGRAB  FCNサブルー
チンの適当なものを呼出して、開いたリストのヘッダが
先頭にあるデータの列を組立てて走査された元の画像を
表わす。ブロック402においては、METAGRAB
サブルーチンがデータの1つの行の処理のためのその変
数を初期化するMETAGRABサブルーチンは、F 
I LLHORI ZおよびFILLVERTのライン
単位の実行に続いて、ライン単位に実行される。
ここで、METAGRAB FCNO−16サブルーチ
ンについて、第9A図乃至第9L図に関して記述f 7
.) 、−とK T ;、) 、 ”、vlETAGR
AB ic 、Il、 リ呼152 ;it 6時、第
4図の判断ツリーCLASSIFIERがFCNO?:
選択するならば、第9A図の判断ブロック506に入り
、スライスAが前にこの時のスライスBの桁上のどれか
のスライスに添付されたかどうかについて判定が行われ
る。もしこの判定が肯定ならば、サブルーチンはブロッ
ク504へ進み、オープンリストから次のスライスA’
&読出して戻る。さもなければ、サブルーチンはバッフ
ァ505へ進入、第12A図のEND BRANCHサ
ブルーチンZ実行し、次いでプロ、り506に示される
ように開い1こリストからスライスAY除去してMET
AGRABへ戻る。
第9B図においては、もしMETAGRAB FCNl
が選択されるならば、判断ブロック507か、スライス
Aが前に添付されγこかどうかを判定し、もしそうであ
れば、プロアク508に示されろように発散レコードを
生成し、またブロック509に示されるように新しいオ
ープンリスト・ノード又は項目を生成してこれにスライ
スB’&挿入する。
もしスライスAが前に添付されなかったならば。
サブルーチンはプロ、り510へ進み、スライスBYス
ライスAに添付することにより分岐を辿る。
これは、第14図のGROW BRANCHサブルーチ
ンケ実行でることにより行われる。いずれの場合も、サ
ブルーチンが開いたリストから次のスライスA?:読出
し、METAGRABへ戻る。
第17図のサブルーチンが第9B図σ)ブロック508
第9D図の515において発散レコードを生成するため
実行され、また第16図σ)サブルーチンは、第9H図
のブロック527、第9J図のプロ、り541および第
9I図のブロック564において収束レコードの生成の
ため実行される。
第9C図においては、もしMETAGRABFCN3が
選択されるならば、プロ、り512に示されるように、
METAGR151;’CN1  ト略に同1:サフル
ーチンが実行され、次いでデータ・バッファから次のス
ライスBが読出され、このバッファはフレームから次の
未使用のスライスを保有する。次いで、サブルーチンは
METAGRABへ戻る。
第9D図においては、METAGRAB FCN4 サ
ブルーチンは、スライスAが判断ブロック514に対し
前に添付されたかどうかを判定し、もしそうであれば、
プロ、り515に示されるように発散レコードを生成し
、新しい開いたリストノードを生成し、プロ、り516
に示されるようにスライスBYそれに挿入し、次いでオ
ープンリストから次のスライスBY読出て。
もしスライスAが前に添付されなかったならば、サブル
ーチンはブo、り517へ進み1分岐を成長てることに
よりスライスB)2スライスAへ添付でる。これは、第
14図のGROW BRANCHサブルーチン′+″実
行することにより行われる。次いで、サブルーチンはプ
ロ、り518へ進んで戻る。
第9E図ニオイテハ、METAGRAB FCN5 f
ブルーチンは、ブロック519に示されるようにGRO
W BRANcHw実行することによりスライスBをス
ライスAに添付し、プロ、り520に示されるよ5に、
開いたリストから次のスライスhy読出して戻る。
第9F図においては、 METAGRAB FCN6サ
ブルーチンが、ブaワク521に示されるようにスライ
スBゲスライスAに対しGROW BRANCHを実行
することにより添付し、プロ、り522に示されるよう
に次のスライスAY読出し、ブロック523に示される
ように、次のスライスBvデータ・バッファから読出し
て戻る。
第9G図においては、METAGRAB RCN7 サ
ブルーチンが、ブロック524に示されるようにスライ
スBをスライスAへGROW GRANCHにより添付
し、またブロック525に示されるように次σ)スライ
スBY読出して戻る。
第9H図においては、METAGRAB FCN8 サ
ブルーチンは、スライスBが同じライン上の別のスライ
スに対して前に添付され1こかどうかを判定する。もし
そうであれば、ブロック527におけるように収束レコ
ードが生成され、またブロック528に示されるように
スライスAがオープンリストから除去されろ。次いで、
サブルーチンは判断ブロック530へ進む。もしスライ
スBが同じライン上の別のスライスに対し前に添付され
なかったならば、プロ、り529に示されるようにスラ
イスBはスライスAに対しGROW BRANCHによ
り添付され1次いでプログラムは判断プロ、り530へ
進む。判断ブロック530は、スライスAがどれかのス
ライスBに対して添付されるかどうか乞判定する。もし
そうであれば、サブルーチンは、プロ、り5ろ1に示さ
れるようにオープンリストから次のスライスAY読出し
て戻る。さもなければ、サブルーチンは単にMETAG
RABへ戻る。
次に第9I図におい℃は、 METAGRAB FCN
9サブルーチンが、スライスAが前に判断ブロック56
ろに添付されたかどうかを判定し、もしこの判定が肯定
ならば、収束レコードを生成してブロック564に示さ
れるように第16図のサブルーチン乞実行し、プロ、り
565に示されろようにオープンリストからスライスA
’(iff除去し1次いで判断ブロック567へ進む。
もしスライスBが前に添付されなかったならば、サブル
ーチンはブロック536に示されるようにスライスA?
ニスライスBに添付でることにより分岐を成長させ、判
断プロ、り567へ進む。判断ブロック537は、スラ
イスAが前に添付されたかどうかを判定し。
もしそうであれば、オープンリストから次のスライスA
?:読出してプロ、り569へ進む。さもなければ、サ
ブルーチンは単に判断プロ、り567からブロック56
9へ進み1次のスライスBYデータ・バッファから読出
して戻る。
第9J図においては、 METAGRAB FCN10
サブルーチンが、判断プロ、り540においてスライス
Bが前に添付されたかどうかを判定し、もしそうであれ
ば、第16図のサブルーチンケ実行でることにより収束
レコードを生成し1次いでブロック546へ進んで、デ
ータ・バッファから次のスライスBV読出して戻る。も
しスライスBが前に添付されなかったならば、ブロック
542に示されるように、スライスBがスライスAへ添
付される。次いでサブルーチンはプロ、り5434へ進
む。
第9に図においては、METAGRAB FCN12サ
ブルーチンが判断プロ、り544において、スライスB
が前に添付されたかどうかχ判定でる。
もしそうであれば、サブルーチンはブロック547へ進
み、データ・バッファから次のスライスBY読出して戻
る。さもなければ、サブルーチンは。
プロ、り545に示されるよう罠、第11図のサブルー
チンに呼出丁ことによりオープンリストに新しい分岐ま
たはノードを生成し、ブロック546に示されるように
その中にスライスB’G−挿入でる。
サブルーチンは次にブロック547へ進んで戻る。
最後に第9L図において、METAGI(AB FCN
15サブルーチンは、第10図のNEW BRANCH
サブルーチンを実行でることによりプロ、り548に示
されるように新しい分岐ン生成し、次いでプロ、り54
9において、スライスB−&新しいオープンリスト・ノ
ードとしてオープンリストに挿入する。更に、META
GRAB FCN15 は、オーグンリストの終りに対
してその中にスライスBY含む新しいオープンリスト・
ノードを付加する。次いで、プログラムはデータ・バッ
ファから次のスライス15i読出してMETAGRAB
へ戻る。新しい分岐が新しいオープンリスト・ノードを
生成でることが新しいオープンリスト・ノードの生成、
および分岐が成長するMETAOBJECT σ)恒久
的な部分であるこのノードにスライスBY挿入fること
とは異なるが、これが一時的なものでありかつ最終的に
はこれから出ることをやめることになりメモリが要求さ
れることになることを表わすオープンリスト・ノードが
再要求されることに注意されたい。
次に第10図においては、プログラムNEWBRANC
Hにはラベル420から入る。このMWB RAN C
Hサブルーチンは、METAGRABにより呼出される
第4A図のPROCESS ONE LINEサブルー
チンの特殊バージョンの一部としてMETAGRABに
より呼出される。このNEWBRANCHサブルーチン
は、新しい分岐レコードを生成する。換言すれば、サブ
ルーチンNEWBRANCHは、プロ、り421におい
て、 GETMEM と呼ばれる通常のサブルーチン(
詳細には開示しない)を実行することによりメモリーの
適当な部分を取得し1分岐レコードにおいであるデータ
・フィールドなセ、ドアツブする。
この時の走査線が処理された後で、第11図のCrLE
ATE BRANCHサブルーチンが、N伍TAGRA
Bと呼ばれる第4A図のPROCESS ONE LI
NEサブルーチンの特殊バージョンの一部として呼出さ
れる。第4A図のブロック650 、657 、658
および659はそれぞれ第11図のブロック426 、
427 。
428および463と対応する。CREATEBRAN
CHの目的は、オープンリストトのヘッダかラスライス
Aの1つのラインの走査を終っ1こ後ニ「残される」未
使用グ〕スラづスBの全てについて新しい分岐を生成す
ることである。第11図のCREATE BRANCH
サブルーチンはラベル425から判断プロ、り426へ
進み、その時のスライスBが前に添付されたかどうかを
判定する。もしこの判定が肯定ならば、これは次のスラ
イスBYプロ、り427に示されるようにデータ・バッ
ファから読出す。もし判断プロ、り426の判定が否定
ならば、プログラムを工、この時のスライスBがスライ
スAへ前に添付されなかったならば、判断プロ、り42
8へ進む。判断プロ、り428は。
走査がその時のラインの終りに未だあるかどうかを判定
する。もしこの判定が肯定ならば、サブルーチンはプロ
、り432へ進入、同じ判定を再び行い、呼出し側のル
ーチンへ戻る。もし判断プロ、り428の判定が否定な
らば、サブルーチンは判断プロ、り429へ進み、オー
プンカーソル変数0PEN CURが0に等しいかどう
かを照会して、サブルーチンが開いたリストの終りにあ
るかどうかを判定でる。もしそうであれば、サブルーチ
ンはプロ、り461へ進み、0PEN CURYPRE
VCURと呼ばれる前の値にセットし、判断ブロック4
32に進む。もし判断プロ、り460の判定が否定なら
ば、サブルーチンプロ、り462へ進んで否定の判定を
得、従ってサブルーチンはバッファ463へ進んで前に
説明しr、=METAGRABFCN15 ’に呼出丁
。いずれの場合も、サブルーチンは判断プロ、り462
へ進み、その時のスライスBがその時の走査線の終りに
あるかどうかを判定する。もしこの判定が肯定ならば、
サブルーチンは呼出し側のサブルーチンへ戻る。さもな
ければ、CREATE BRANCHサブルーチンが第
9L図のMETAGRAB FCN15サブルーチンを
呼出し。
オープンリストにおいてスライスBと対応でる新しいノ
ードおよび新しい分岐レコードンセ、ドア、プする。
次に第12図においては、DEL ENTSサブルーチ
ンはMETAGRABにより呼出される第4A図のPR
OCESS ONE LINEサブルーチンの上記+7
)’%殊ナバージョンの一部である。特に、第4A図の
プロ、り662 、663 、664および665はそ
れぞれ、第12図のブロック461 、464 、46
5および463と対応する。その時の分岐の最後のスラ
イスBが添付された後、ラベル460を介してDEL 
ENTSサブルーチンに入る。DEL ENTSサブル
ーチンは判断ブロック461へ進み、スライスAが別の
スライスに添付されるかどうかを判定する。もしこの判
定が否定ならば、DELENTSサブルーチンはブロッ
ク464へ進入、オープンリストから次のスライスl’
読出す。いずれの場合も、サブルーチンは次に判断ブロ
ック412へ進み、変数0PEN LIST C0UN
TがOであるかどうかを判定する。(DEL ENTS
サブルーチンの制御は、初期値から0まで0PENLI
ST C0UNT  wカウント・ダウンfることによ
り行われる。)もしこの判定が肯定ならば、サブルーチ
ンは呼出し側のルーチンへ戻り、さもなければブロック
466へ進んで、第9L図の上記METAGRAB F
CN15サブルーチンを呼Ilf:lf0次に第12A
図においては、END BRANCHサブルーチンには
プロ、り440において入る。
このサブルーチンは、第9A図のMETAGRABFC
NOサブルーチンにより、また第12図のDELENT
(エンティティ削除)サブルーチンにより呼出される。
END BRANCHサブルーチンはブロック441へ
進入、終了される分岐のその時のデータのタイプが、「
未知の台形」、「未知のタイプ」9斑点、もしくは第1
4図のGROW BRANCHサブルーチンにおけると
同じ方法の台形であるかどうかを判定する。もしその時
の分岐のタイプが未知の台形(UTR)であれば、サブ
ルーチンはラベル442’%−経てプロ、り443へ進
み、サブルーチンGET MEM ’&実行してメモリ
ーの64バイト部分を使用できるようにし、UNKで終
る分岐のデータ・タイプをセットし、ラベル445へ進
む。
もしその時の分岐のデータ・タイプが未知のタイプであ
る場合は、プログラムはブロック446へ進み、データ
・タイプを斑点としてセットしてその時の分岐における
全てのスライスがレコードに格納されねばならないこと
を意味する。次いでプログラムはプロ、り447へ進ん
でその時の分岐のスライスを完了される斑点レコードに
入力する。次いで、プログラムは呼出し側のサブルーチ
ンへ戻る。もしプロ、り441において終りつつあるそ
の時の分岐が斑点であることが判定される場合1分岐終
りサブルーチンはラベル448を経てブロック449へ
進み、その時の分岐のデータを完了しつつある斑点レコ
ードに入力する。もしプロ、り441においてその時の
分岐のデータ・タイプが台形であると判定されるならば
、サブルーチンはラベル450を経てプロ、り451へ
進み1台形の最後の2つの隅の点を完了されつつある台
形レコードへ入れて戻る。
次に第15図においては、INITMGサブルーチンが
第9図のMETAGRABサブルーチンのプロ、り40
2により呼出されて、ラベル470を経てブロック47
1へ進む。I N I TMGサブルーチンの目的は、
開いたリスト・ノード、フレームおよび「メタ対象」へ
、ド・レコードを適正に初期化することである。一旦デ
ータ構造が適正に初期化されると、サブルーチンは、メ
タ対象が形成される時折しい各スライスを見出すためメ
モリーを探索する必要もなく、「付勢データ」モードで
作動する。
プロ、り471においては、サブルーチンは第9図のM
ETAGRABサブルーチンにおいて用いられた変数に
対する局部RAM領域をクリアする。
この時、プロ、り472に示されるように1局部変数が
初期化される。次いでサブルーチンはプロ、り476へ
進み、データ・バッファから次のスライスBを読出す。
プログラムはこの時プロ、り474へ進み、メタ対象へ
、ダ・レコードに対する新しいレコードを生成するメモ
リーの新しい64バイト部分をセ、ドア、ブして、プロ
、り475へ進む。プロ、り475においては、サブル
ーチンはメタ対象ヘッダ・レコードをセ、ドア、プし。
このレコードは、第9図のMETAGRABサブルーチ
ンによりメタ対象が生成された後、対象の異なる分岐の
初めに対するポインタを含む。この時。
メタ対象に対する全てのアクセスはメタ対象へ。
ダ・レコードを通ることになる。
次に、INITMGサブルーチンは判断プロ、り476
へ進んで、第9図のMETAGRABサブルーチンによ
り実行される最初のラインが完了したかどうかを判定す
る。これは、INITMG手順が単に最初のラインの間
だけ実行されるに過ぎないため必要である。もし判断ブ
ロック476の判定が肯定ならば、サブルーチンはプロ
、り481へ進んでその時のメタ対象ヘッダのカウント
(即ち。
オープンリスト・ノードにおける分岐数)をメタ対象へ
、ダ・レコードに対して書込む。次いで、サブルーチン
はブロック482へ進み、ヘッダ・レコード・アドレス
をMOB PTR(メタ対象ポインタ)と呼ばれる変更
できる場所へ入力する。次いでプログラムは呼出し側の
サブルーチンへ戻る。
もし判断プロ、り476の判定が否定ならば。
プログラムはブロック477へ進み、メタ対象ヘッ゛ダ
・カウンタを更新する。この時、プログラムは第10図
のNEW BRANCHサブルーチンを呼出し、これを
実行して新しい分岐レコードを作り、プロ、り479へ
進み、新しいノードをオープンリストに挿入するサブル
ーチンINS OPL  を呼出し、次いでプロ、り4
80に示されるようにデータ・バッファから新しいスラ
イスBを読出して。
判断ブロック476へ戻る。これは、最初のラインの終
りまで反復される。
このように、サブルーチンI N I TMGは、第2
1図のMETACTRLサブルーチンからフレーム人力
の最初の行において存在する全てのスライスに対して新
しい分岐およびオープンリスト・ノードを生成し、また
メタ対象ヘッダなセ、ドアツブする。
次に第14図、第14A図および第14B図においては
、前に説明したようにMETAGRABにより呼出され
るGROW BRANCHサブルーチンに第14図のラ
ベル600において入り、最初にプロ、り601へ進む
。プロ、り601において。
GROW BRANCHがB USED と呼ばれるス
ライスBのフラッグを「1」にセットし、ブロック60
2へ進み、ここでA USEDと呼ばれるスライスAの
フラッグが「1」にセットされる。次いで、プログラム
はブロック606へ進み、スライスBと関連する「繋ぎ
カウンタ」即ちB CNNECTをB C0NNECT
+1へ増分する。次いで、サブルーチンはプロ、り60
4へ進み、繋ぎカウンタACONNECT  をA C
0NNECT+1に等しくセットすることにより増分す
る。
「メタ対象」の分岐即ちMETAGRABにより形成さ
れつつある方向を持つグラフにおいては、フレームのオ
ープンリストの最新のスライスであるスライスAがなに
か即ち開いたリストのノードと繋げられねばならず、ま
た人力バッファから得た最新の読出されたスライスB7
り′−0BGRABにより前に形成された対象のその時
のライン上の「茨の」スライスであることを理解すべき
である。
プロ、り601〜604の最初の4つのステップはこの
状態と対応するが、これは、収束および発散が生じる時
、スライスAとスライスBの連続性の状態を知らねばな
らないためである。スライスAの繋ぎカウンタおよびス
ライスB繋ぎカウンタが、このような連続性を表わす。
このカウンタは、どれだけの数の分岐が収束状態に収束
するか、また発散状態から発散するかを記録するため使
用される。
GROW BRANCHサブルーチンはブロック604
から判断ブロック605へ進み、DATA TYPEと
呼ばれる変数をテストして、これにその時の分岐が台形
であることを示すコードが割当てられたかどうかを調べ
る。もしこの判定が否定ならば。
GROW BRANCHはプロ、り617へ進む。もし
その時の成長する分岐が台形であれば、プログラムは判
断プロ、り606へ進むが、その目的は成長する分岐の
境界に「隅部」の急激な発生があったかどうかを迅速に
判定することである。
判断プロ、り606は、これをスライスAとBの長さに
おける変化の絶対値を用いることにより行う。もしこれ
が予め定めた定数よりも小さくなければ、成長する形状
の1つの境界にある急激な変化が存在することを意味し
、その時の台形を終らせねばならない。
もしそうであれば、プログラムはブロック608〜61
1へ進み、その時の台形レコードを終り、ブロック60
9 において新しい未知のタイプ・レコードを生成し、
プロ、り610に示されるように、新しい未知のレコー
ドが成長する閉じられた台形レコードに連係させて、オ
ープンリスト・レコードを更新する。即ち、プロ、り6
10においては、プログラムは新しいレコードが台形の
連続であることを示すアドレス・ポインタを生成する。
次いでプログラムはブロック611においてオープンリ
スト・レコードを更新し、これがデータ・タイプを[未
知のタイプJ (UNK)にセットすることを意味する
。新しい未知の形状のオープンリスト・ノードは、これ
が繋げられる台形についても同じものである。ブロック
611の後、GROWBRANCHサブルーチンは呼出
し側のルーチンへ戻る。
もし判断ブロック606のテストが肯定ならば。
プログラムは判断ブロック607へ進み、その時依然と
して台形であることが知られる成長する形状の縁部が、
その縁部の最初の消長量が予め定めた値よりも小さいよ
うに1充分に対処される」かどうかを判定する。もしこ
の判定が否定ならば。
プログラムは前に説明したプロ、り608へ進む。
もし判断ブロック607の判定が肯定ならば、プログラ
ムはプロ、り612へ進む。判断プロ、り612におい
ては、プログラムは成長する台形の前後の縁部の第2の
消長量が予め定めた値よりも小さいかどうかを判定し、
もしそうでなければ、プロ、り614に示されるように
、プログラムはプロ、り615へ進み、成長する台形の
エントリを終了してその時の台形の成長を続ける。この
ような場合には、その時の台形は最初の消長テストをバ
スし、第2の消長テストを通らず、このためその縁部は
激しく変化しないが、その境界が依然として充分に対処
されるべく略々良好な状態であり、そのため別の台形と
して表わし続けることができる。そのため、最初の成長
する台形は終り。
別の「継続する」台形が最初のものから延長する。
次いで、この成長分岐ルーチンは、呼出し側のルーチン
に戻る。
もし判断プロ、り612の判定が肯定ならば。
プログラムはプロ、り615へ進み、オープンリスト・
レコードを更新し、このことは同じ台形がその時のそれ
に関するスライス情報を格納することにより継続し、そ
の結果次にプログラムが次のスライスAを取得する時そ
の時のスライスとなることを意味する。即ち、その時の
スライスBの2つの終端がその時のオープンリスト・ノ
ードにおける次のスライスAとなるのである。
プロ、り615におけるオープンリスト・レコードの更
新はまた、その時成長する分岐に対して格納される新し
い各スライスBに対する成長する台形のX座標における
変化であるΔXを格納することを含む。
もし判断プロ、り605の判定がその時のデータ・タイ
プが台形ではないことであったならば、プログラムは判
断プロ、り617へ進み、データ・タイプが「未知の台
形J (UTRAP)であるかどうかを判定する。もし
この判定が否定ならば、プログラムは判断プロ、り62
8へ進むが、これはその時のデータ・タイプが未知のタ
イプ(UNK)であるためである。もしその時のデータ
・タイプが判断プロ、り617において判定されたよう
に未知の台形であれば、プログラムは判断プロ、り61
8へ進んで、未知の台形のスライス・カウントが3に等
しいかどうかを判定する。もし未知の台形のスライス・
カウントが6より小さければ。
判断プロ、り618の判定は否定となり、プログラムは
プロ、り619へ進み、成長する未知の台形に対する開
いたリストを更新して呼出し側のサブルーチンへ戻る。
プロ、り618に示されるように、もし未知の台形のス
ライス・カウントが3ならば、プログラムはプロ、り6
20へ進み、未知の台形の前後の両側における第2の消
長量を計算する。次いで。
GROW BRANCHサブルーチンが判断プロ、り6
21へ進み、左側縁部の第2の消長量が予め定めた制限
値よりも小さいかどうかを判定し、また右側縁部の消長
量が予め定めた制限値より小さいかどうかを判定する。
実際に、判断プロ、り621は成長する未知の台形が充
分に処された前後の縁部を持つかどうかを判定する。も
しこの判定が否定ならば、GROW BRANCHはプ
ロ、り622へ進み1台形レコードを閉じ、次いでプロ
、り626において、新しい「未知のデータ・タイプ」
レコードを生成し、プロ、り624へ進み、新しい未知
のデータ・タイプ・レコードと閉じた台形レコードとの
間にポインタを生成することにより、新しい未知のレコ
ードを閉じた台形レコードと連係させる。次いでプロ、
り625において、GROWBRANCHは開いたリス
トのレコードを更新して、呼出し側のルーチンへ戻る。
もし判断プロ、り621の判定が肯定ならば、プログラ
ムはプロ、り626へ進み、開いたリストのレコードを
リセットシて成長する未知の台形が実際には既知の台形
であることを示す。次いで。
プログラムはプロ、り627へ進み、新しい台形の成長
を続けるため必要な開いたリストのレコードへエントリ
を行い、呼出し側のルーチンへ戻る。
もし判断プロ、り617がその時の成長する分岐のデー
タ・タイプが「未知のタイプ」であることを判定するな
らば、GROW BRANCHは判断ブロック628へ
進み、このデータ・タイプが未知のタイプであるかどう
かを判定する。もしこの判定が肯定ならば、ルーチンは
判断ブロック629へ進み、未知のタイプのスライス・
カウントが6に等しいかどうかを判定する。もしこれが
6より小さければ、プログラムはプロ、り660へ進み
オープンリストを更新して成長する分岐が未知のタイプ
であることを示し、呼出し側のサブルーチンへ戻る。も
し未知のタイプのスライス・カウントが判断プロ、り6
29により乙に等しいと判定されるならば、プログラム
はプロ、り661へ進み1前後の両縁部の第2の消長量
を計算し、判断プロ、り662へ進み、これらの消長量
をテストしてこれらが共にある予め定めた制限値より小
さいかどうかを判定することにより、その時の分岐の未
知の成長形状の前後の縁部が「充分に対処される」かど
うかを判定する。もしこの判定が否定ならば、プログラ
ムはブロック666へ進み、オープンリストのデータ・
タイプをリセットしてその時の形状が斑点であることを
示し、またプロ。
り664においては、未知のレコードをリセットしてそ
の時の分岐の成長する形状が斑点であることを示す。
プログラムはこの時プロ、り665へ進み、オープンリ
ストのレコードからのスライスを斑点レコードへ入れ、
呼出し側のルーチンへ戻る。もし縁部が判断プロ、り6
32において充分に対処されるものと判定されるならば
、プログラムはプロ、り666へ進み、オープンリスト
のデータ・タイプをリセットして成長する形状が台形で
あることを示し、プロ、り637へ進む。プロ、り63
7においては、GROW BRANCHが未知のレコー
ドを台形レコードとしてリセットし、次いでプロ。
り668において、プロ、り637においてリセ、トさ
れた台形のレコードにおける台形のエントリを開始する
。プログラムは次に、プロ、り639に示されるように
オープンリストのレコートヲ更新して台形を成長させ、
呼出し側のルーチンへ戻る。
もしブロック628においてデータ・タイプが未知であ
ったことが判定されたならば、残る唯一の可能性はその
時の成長する分岐の最も低い部分の形状が斑点であるこ
とであり、 GROW BRANCHはこの場合プロ、
り640へ進み、この分岐の前後の縁部の第2の消長量
を計算し、次いで判断プロ、り641へ進入、これら2
つの第2の消長量が共に予め定めた制限値よりも小さい
かどうかを判定して、前後の縁部が「充分に対処されて
いる」かどうかを判定する。もしこれら縁部がそうでな
ければ、プログラムはプロ、り642へ進入、スライス
Bを成長する斑点のレコードに加算する。
もし判断プロ、り641の判定が肯定ならば、これは斑
点の縁部が直線になることを意味し、その結果ブロック
646に示されるように1斑点のレコードは閉じられ、
新しい台形の一部を構成し得る斑点レコードにおけるス
ライスが除去される。
プログラムはその時プロ、り644へ進み、新しい台形
のレコードを生成し、プロ、り645へ進み、最後の斑
点に対する新しい台形レコードにアドレス・ポインタを
生成することにより新しい台形レコードを前の斑点のレ
コードにリンクし1次いでプロ、り646へ進み、オー
プンリストのしコードを更新して新しい台形の成長を容
易にさせる。次いでプログラムは呼出し側のルーチンへ
戻る。
GROW BRANCHサブルーチンを要約すれば、M
ETAGRABにより生成されたメタ対象の境界を正確
かつ充分に記述する台形が生成される。台形が「認識」
される方法は、非直線領域に対して生成されるMETA
OBJECTの成長する分岐の左右の両境界を「監視」
することによる。両方の境界が完全にi線状を呈する限
り、GROW BRANCHHは台形を成長させ続ける
。前縁部または後縁部のいずれかの境界が充分に非直7
蕨状に挙動を呈する時、前後の縁部の成長終りを形成す
るその時の境界座標即ちその時のスライスの終端点は台
形の底部として記録される。成長する分岐の前後の縁部
の境界の直線状は、(i)成長する分岐の添付されるス
ライス間の長さの変化を計算しテストすることにより、
(2)下式により与えられる瞬間的な第2の累積消長量
を計算することにより監視される。即ち、  Δ2X=
ΔX(MAX)−ΔX(MIN)また、(3)下式によ
り与えられる低い周波数の累積消長量を計算することに
より監視される。即ち、もし前後縁部の境界が共に前述
の6つのテストに対する予め選定された最大限界値を満
たすならば、両方の縁部は直線状と見做され1分岐は成
長する台形であり続ける。テスト(i)の長さの変化に
対するこの時の限界値は、縁部が直線状と見做されるた
めには約10乃至15ピクセルである。テスト(2)の
第2の消長量に対するこの時の限界値は縁部が直線状と
見做されるためには2乃至6ピクセルである。テスト(
3)の限界値は依然実験中である。
成長する分岐の前後の縁部の第2の消長量の検査のため
用いられるサブルーチンは、DX−DDXと呼ばれ、第
15図に示されている。このサブルーチンは、形状の前
または左側の縁部のX座標における行単位の変化量であ
るDXOと、成長する分岐の後または右側の縁部におけ
る行単位の変化量であるDXlの最小および最大の値を
見出す。
前縁部の第2の消長量の値は、DX OMAX−DXM
INであるDDXOである。成長する分岐の後の縁部の
第2の消長量はDDXlであり、DXlMAX−DXl
MINに等しい。
第15図のDX−DDXサブルーチンには、どの演算が
その時必要とされるかに従って、ラベル520.522
または524を介して入ることができる。プロ、り52
1においては、第1の消長量が計算されて「大域テーブ
ル」に格納され、その結果DD−DDXと呼ぶルーチン
がこれらの結果に対してアクセスする。第15図のブロ
ック526は第1の消長量の最小および最大の値を計算
する。
第15図のプロ、り525においては、DX、Oの最小
値全体およびDXOの最大値全体が計算されて格納され
、同様に、DXIの最小値および最大値全体が計算され
て格納される。第2の消長量はDXOの最大値および最
小値全体の間の差として計算される。成長する分岐の後
縁部の第2の消長量のD5はDXlの最大および最小値
間の差である。
次に第16図においては、 METAGRAB FCN
8−10サブルーチンにより呼出されるC0NVERG
Eサブルーチンにラベル560を介して入り、判断プロ
、り531へ進む。このサブルーチンはこの時ノスライ
スBがこの時のオープンリスト・ノードの1つ以上のス
ライスAに対して添付される時呼出される。
プロ、り531は、B C0NNECTと呼ばれる変数
が「1」に等しいかどうかを判定する。もしこの判定が
肯定ならば、これは、Bが収束となるため少なくとも2
回繋げられねばならないため、収束レコードが未だ生成
されなかったことを意味する。もしB C0NNECT
が「1」に等しくなければ、C0NAVERGENCE
tブ#−1/はプロ。
り546へ進み、A C0NNECT、B C0NNE
CT。
C0ANVERGENCY C0UNT  と呼ばレル
変数、および他の色々なカウンタを更新する。サブルー
チンはこの時ブロック544へ進入、スライスBにより
生成されるこの時の収束と繋がれる全ての分岐に対する
分岐レコードを閉じ、これら分岐をこの時の収束レコー
ドにリンクし、次いで呼出し側サブルーチンへ戻る。
もしB C0NNECTが「1」に等しければ、サブル
ーチンはプロ、り562へ進み、新しい収束レコードを
生成し、プロ、り563へ進入。
もし判断ブロック563の判定が肯定ならば、サブルー
チンはブロック564へ進んで「特殊な場合」のサブル
ーチンを実施するが、この特殊な場合とはA1が収束ま
たは発散スライスであるならば、こび)時の収束レコー
ドがこの収束または発散スライスと連係されることであ
る。
もし判断プロ、り563の判定が否定ならば、C0NV
ERGEサブルーチンは前のスライスAと対応する分岐
データ・タイプについて分類機構を実施して、前の形状
が未知のタイプ(UNK)、斑点(BLOB)未知の台
形(UTR)、あるいは台形(TRAP)  のどれか
であることを示す。この時、サブルーチンはプロ1.り
569へ進み、スライスBに対する収束のラインの終端
点を見出す。次いでサプルーチ/はプロ、り540へ進
んで収束レコード・フィールドをセットアツプし1次い
でプロ、り541へ進み、最後のスライスであるスライ
スBに対する新しい分岐を生じ、新しい分岐に対するオ
ーブンリストのレコードを修飾する。この時プログラム
はブロック542へ進み、収束レコード変数を更新し、
プロ、り5ろへ進み、ACONNECTED、B C0
NNECTED、C0AVERGENCECOUNT、
、およびREC’ORD C0UNTを更新し。
プロ、り544へ進み、第12A図ノEND BRAN
CI(、を実行することによりこれがどのタイプである
かに従ってこの分岐を終る。
次に第17図においては1犯TAGRAB FCNl、
3および4サブルーチンにより呼出されるDIVERG
Eサブルーチンにラベル550を介して入り1判断プロ
、り551へ進み、A C0NNECTが「1」K等し
いかどうかを判定する。もしA CNNECTが「1」
に等しければ、これは発散が丁度生じたことを意味する
が、スライスAが丁度一旦繋がれたためである。従って
、ブロック552におけるように1発散レコードの生成
を含む特殊な動作をとらねばならない。
もしA C0NNECTが「1」に等しくなければ。
D I VE RGEf 7” # −f y ハプロ
、り565へ進入、次のB1.B2等に対するNEW、
BRANCHを実行することKより新しい分岐を生じて
戻る。
もしA C0NNECTが「1」に等しければ、これは
発散が丁度始まりサブルーチンがプロ、り552におい
て発散レコードを生成することを意味する。発散レコー
ドの生成は、(GET MEMと呼ばれるサブルーチン
の実行により)使用できるメモリーから64バイトのレ
コードを取得してこれをフォーマ、ト化することを含む
。次いでプログラムはバッファ553へ進み、前のスラ
イスBが収束レコードであったかどうかを判定する。も
し判断プロ、り553の判定が背定ならば、プログラム
はプロ、り554へ進み、この時の発散レコードを前の
収束レコードにリンクする機能を行い1次いでプロ、り
562へ進む。
もしプロ、り556の判定が否定ならば、プログラムは
前の分岐(前のスライスBと対応する)をそれぞれ照合
番号555,556.557および558により示され
るように、カテゴリUNK、BLOB。
UTR,又はTRAPの1つに分類し、最後に(ブロッ
ク565において’)NEW BRANCH(第10図
)の実行によりその時のスライスBを含む新しい分岐を
生じる。
次いでDIVERGEはプロ、り559へ進入、スライ
スAにより構成される発散のラインの終端点を見出し、
次いでプロ、り560に示されるように1発散レコード
素子を初期化する。次いで、サブルーチンはブロック5
61へ進み、スライスB1に対して新しい分岐を生じ、
これに従ってこの時のオープンリストを修飾する。(他
のスライスB6・・・・・・BN はDIVERGEサ
ブルーチンに対する他の呼出しと同時に処理される。)
次いでサブルーチンはプロ、り562へ進み1種々の発
散と関連する大域ポインタおよびカウンタを更新する。
この時、サブルーチンはプロ、り566へ進入、BUS
ED、A C0NNECT、 B C0NNECT、 
DIVERGENCEC0UNT、RECORD C0
UNTを更新し1次いでプロ、り565に進み、NEW
 BRANCH(第10図)の実行によりスライスB2
を含む新しい分岐を生じる。
前述のように、第20図のMETACTRLサブルーチ
ンは上記のFILLFRAME、FILLHORIZ。
FILLVERT、 お、J:びMETAGRAB?ブ
ルーチンの動作を整合する。METACTRLサブルー
チンにはラベル350を介(、て入り、ブロック651
へ進み、第7図のFILLFRAMEサブルーチンを実
行してフレーム全体を埋める。フレームが埋められた後
、METACTRLサブルーチンはブロック352へ進
ミ、フレームの最初の行に対してF I LLHORI
 Zを実行し、例えば3または4ピクセルよりも接近し
た同じ行のスライス間の間隙を削除する。(実際にFI
LLFRAMEを実行することは、全ての分岐の適正な
左右の配置および全ての分岐における適正な垂直方向の
配列が文書における最初に走査された対象の形状と対応
するように、第4A図の0BGRABルーチンによりフ
レーム内に形成される対象のスライスを「注入する」。
)この時、METACTRLサブルーチンはプロ、り6
56へ進み、フレームの行1に対してFILL)DRI
Zサブルーチンを実行し、再び小さな3または4ピクセ
ル巾の間隙を埋める。次に、サブルーチンはプロ、り6
54へ進み、第8図のFILLVERTサブルーチンを
初期化し、次いで第9図の′METAGRABサブルー
チンをプロ、り655において初期化する。FILLV
ERTおよびMETAGRABの初期化は、セットされ
ねばならない種々の大域変数があるため、各対象毎に行
われる。オーブンリストは、対象の最初の行を含むよう
に開始されなければならない。FILLvERTおよび
METAGRAB ノ双方においては、初期化のための
個々のエントリ点がある。METAGRABの場合には
、対象ヘッダ・レコードから始められる。METACT
RLサブルーチンはFILLFRAME、 FILLH
ORIZ、FILLVERT。
およびMETAGRABを同期させる。METACTR
Lサブルーチンは最初0BGRABにより形成された対
象からデータを充分に取得してその時のフレームを完全
に1ステ、プで埋める。
これが行われると、METACTRLは埋められたフレ
ームの最上位から始まり、同期された方法でライン単位
に進行して、以下に述べるようにF I LLHORI
 Z 、 F I LLVERT オヨびMETAGR
ABを呼出す。記述する手法は、これら機構の各々に対
して個々のループを用いる必要を減らす利点を有し、そ
の結果必要とされるメモリーの大きさを節減し、また速
度の増加をもたらすことになる。
次に、METACTRLサブルーチンはプロ、りろ56
へ進み、フレームの行1に対して第8図のFILLAV
ERTサブルーチンを実行する。このため、METAC
TRLはフレームの充填を行い。
METAGRABプロセスと同期してその直前に、一時
に1ラインづつ全ての小さな水平および垂直の間隙を除
去する。
次いでMETACTRLサブルーチンがプロ、り656
かも判断プロ、り657へ移り、この時の対象が更に処
理状態に止まるかどうかを判定する。
FILHORIZ鴫、FULLvERTサブルーチンの
最適の効果を得るため、FILLVERTの前にフレー
ムの各行毎に実行される必要があることに注意されたい
。プロ、り355におけるMETAGRABの初期化は
、単に1行0のスライスおよび初期化された大域の変数
を含むように対象のへ、ダ・レコードが生成されオープ
ンリストを初期化する必要があることを意味するに過ぎ
ない。一旦この初期化が行われると、METACTRL
は判断プロ、り357へ進み、これ以上の対象が処理さ
れる状態に止まるかどうかを判定する。これは、対象の
必要を最初に格納して対象が処理されるに伴ない減分さ
れるカウンタにより判定される。もし対象が完全にその
時のフレームで処理されるならば、サブルーチンはラベ
ル359を経て戻る。
さもなければ、サブルーチンは判断プロ、り658へ進
んで、その時のフレームがこれ以上処理される状態に止
まるかどうかを判定する。もしこの判定が否定ならば、
サブルーチンはプロ、り663へ進み、次のフレームに
ついてF I LLFRAMEを実行し1判断ブロック
657へ戻る。もし判断ブロック658の判定が肯定な
らば、プログラムはプロ、り361に示されるようにプ
ロ、り360へ進み、1行について水平間隙を充填し、
フレームの行について垂直間隙を充填し、またプロ、り
662に示されるようKMETAGRABを実行する。
このME TA GRA Bサブルーチンは常にF I
 LHORI ZおよびFILALVERTサブルーチ
ンの後の予め定めた行数にあり、そのためMETAGR
ABは「フィルタ」されたデータのみについて動作する
METAGRAB fJ″−実行された後、METAG
RABサブルーチンは判断プロ、りろ58へ戻る。
このように、0BGRABにより生成される対象から得
られフレームに入れられて小さな水平および垂直の間隙
を除去するためフィルタされるデータについて作動する
METAGRABサブルーチンは、元の文書から走査さ
れた対象の形態に忠実であり。
かつ対象を表わすため劇的に少ないデータしか必要とし
ない0BGRABによって生成される対象の方向性グラ
フの「再構成」をもたらす結果となることが判るであろ
う。
【図面の簡単な説明】
第1図は本発明が用いられる自動図形認識システムを示
すフロー図、第2図は第1図の自動図形認識システムの
ハードウェアおよびソフトウェアの画部分を更に詳細に
示す別のフロー図、第2B図は第2図のブロック2Bに
示されたランレングス・エンコーダを示すプロ、り図、
第3図は第2図に示されたシステムにより生じるあるサ
ブルーチンおよびファイルを示すフロー図、第4図は0
BGRAB と呼ばれる「対象形成」ルーチンを示すフ
ロー図、第4A図は第4図の0BGRABサブルーチン
により呼出されるPROCESS ONE LINEと
呼ばれるサブルーチンを示すフロー図、第4B図は第4
A図のPROCESS ONE LINEサブルーチン
により呼出されるCLASSIFIERと呼ばれるスラ
イス分類サブルーチンと呼ばれる基本を示す図、第4C
図乃至第4N図は生のランレングススライスから対象を
形成する0BGRAB により使用される時第4図の基
本分類サブルーチンにより呼出される機能サブルーチン
を示すフロー図。 第5図は第4図のスライス分類サブルーチンの動作を説
明する上で役立つ図、第3図は第4図の0BGRABル
ーチンおよび第4A図乃至第4L図の0BGRAB F
CN サブルーチンにより生のランレングス・データか
ら形成される「対象」を構成する連係されたリストの連
係リストを示す図、第7図はFILLFRAMEと呼ば
れるサブルーチンを示すフロー図、第7A図は第7図の
サブルーチンにより充填されるフレームにおけるスライ
スの正しい左から右の配置を生じる第7図のプロ、り2
09と対応するサブルーチンを示すフロー図。 第8図はFILLVERTと呼ばれるサブルーチンを示
すフロー図、第8A図乃至第8P図は対象のスライス間
の小さな垂直の間隙を充填する第8図のFILLVER
Tサブルーチンにより呼出されるフロー図、第9図は対
象のフィルタされたデータからソフトウェアの対象を再
構成するMETAGRABと呼ばれるルーチンを示すフ
ロー図、第9A図乃至第9L図は第9図のMETAGR
ABルーチンの間実行される分類サブルーチンにより呼
出される分類機能サブルーチンを示すフロー図、第10
図は第9図のMETAGFLABルーチンにより実行さ
れるNEWBRANCHと呼ばれるサブルーチンを示す
フロー図、第11図は第9図のMETAGRABルーチ
ンにより実行されるCREATE BRANCHと呼ば
れるサブルーチンを示すフロー図、第12図は第9図の
METAGRABルーチンにより実行されるDELEN
TSと呼ばれるサブルーチンを示すフロー図、第12A
図は第7図のMETAGRABルーチンにより実行され
るEND BRANCHと呼ばれるサブルーチンを示す
フロー図、第16図は第9図の図および第14B図は第
9図のMETAGRABルーチンにより実行されるGR
OW BRANCHと呼ばれるサブルーチンのフロー図
を構成する図、第15図は第9図のMETAGRABル
ーチンにより実行されるDX DDXと呼ばれるサブル
ーチンを示すフロー図、第16図は第9図のMETAG
RABルーチンにより実行されるC0NVERGEと呼
ばれるサプルーチンを示すフロー図、第17図は第9図
のMETAGRAB#−チンに、J−り実行すh ルD
IVERGEと呼ばれるサブルーチンのフロー図、第1
8図はオーブンリスト・ノードのデータ・フィールドを
示す図、第19図は「ホール・レコード」および「オー
プンリストのレコード」の説明の際役立つ図、および第
20図はFILLFRAME、FILLHORIZ。 FILLVERT およびMETAGRAB ルー チ
ytr> 実行を組合せるMETACTRALと呼ばれ
る制御ルーチンを示す図である。 1・・・・・・オリジナル線図  2・・・・・・画像
スキャナー2B・・・・・・ランレングス・データ・エ
ンコーダ2C・・・・・・制御回路    2D・・・
・・・ピクセル・カウンタ2E・・・・・・列カウンタ
回路 2F・・・・・・FIFO(先入れ先出し)バッファ2
G・・・・・・ハス2H・・・・・・ハス制御回路4・
・・・・・自動図面認識システム 6・・・・・・ワーク・ステーション 8・・・・・・グラフィ、クス・モニター9・・・・・
・キーボード    10・・・・・・マ ウ ス11
・・・・・・フロ、ピー・ディスク12・・・・・・ハ
ート・ディスク15・・・・・・ペン・プロ、り18・
・・・・・対象分類プログラム 19・・・・・・0BGRABルーチン20・・・・・
・METAGRABルーチン22・・・・・・META
GRABルーチン25・・・・・・VECGENベクト
ル生成プログラム26・・・・・・文字認識システム 27・・・・・・ベクトル・ファイル 34.35・・・・・・サブルーチン 66・・・・・・FILLVERTルーチン69・・・
・・・METAFORMプログラム。 i′150ZA C1=「)ミj            A−^□  
             A−一一一一一一一一−−
−−−8□          8 1シtscy15 Fxs−3B A□ 台□      B□ Fx石b3F Fxs、Ei15 A−A− S                        
    S□Fxr、、、、EIL         
   Fxs、E/に−嶌lII巳15 専14B 121.               1
女G。14A’!LIAAコηす 81−112−     In − Ll″’             b:rrxcy1
MFxr=七80 手続補正i!Fc)iぬ 昭和63年冷月72−日 1、事件の表示 昭和63年特許願第11817号 2、発明の名称 画像走査のランレングス・データを簡略化する装置およ
び方法 3、補正をする者 事件との関係  出 願人 住所 名 称  ジ−ティーエックス・コーポレーション4、
代理人 住 所  東京都千代田区大手町二丁目2番1号新大手
町ビル 206区 5、補正命令の日付  昭和63年 4月26日 (発
送旧)3、補正の対象 明細書の〔図面の簡単な説明〕の欄 7、補正の内容 (i)明細書の第152頁5行目〜6行目の「第2B図
は」を「第2A図は」に訂正する。

Claims (1)

  1. 【特許請求の範囲】 1、画像の連続する行を走査することにより得られる直
    列ピクセル・データをコンパイルするシステムにおいて
    、 (a)直列ピクセル・データを符号化して、各々が複数
    の連続する繋がれたピクセルを含む複数のスライスを含
    むランレングス・データを生じる手段と、 (b)画像の第1の列の複数のスライスを含む第1のオ
    ープンリストを形成する手段と、 (c)前記第1のオープンリストにおける第1のスライ
    スの第1の部分が画像の第2の行から第2のスライスの
    第1の部分と重なるかどうかを判定する手段と、 (d)前記第1のスライスの第2の部分が別のスライス
    の一部と重ならなければ、前記第2のスライスを前記第
    1のスライスに添付することにより、前記第2のスライ
    スを前記第1のオープンリストの成長する列に添付する
    手段と、 (e)前記第1のスライスの前記第2の部分が別のスラ
    イスの一部と重ならず、前記第1のスライスの第1の部
    分が前記第2のスライスの第1の部分と重なるならば、
    前記第1のオープンリストの別の列を生成しかつ該列に
    前記第2のスライスを入れる手段とを設けることを特徴
    とするシステム。 2、前記の1のスライスの第1の部分が前記第2のスラ
    イスの第1の部分と重ならなければ、前記画像の別の対
    象と対応する別のオープンリストを生成し、かつ 該オープンリストに前記第2のスライスを入れる手段を
    設けることを特徴とする請求項1記載のシステム。 3、各スライスが左終端の座標と右終端の座標とを有し
    、各対象が1つのオープンリストと対応し、かつ画像が
    少なくとも1つの対象を含み、各対象はこれが透明なピ
    クセルにより完全に囲まれる複数の暗い繋がれたピクセ
    ルを含むという特性を有し、判断手段が前記第1のスラ
    イスの左の座標が前記第2のスライスの左の座標よりも
    小さいかどうかを判定することを特徴とする請求項2記
    載のシステム。 4、スライス間の小さな水平ホールを埋める手段を設け
    、該水平ホールを埋める手段は、 (a)連係リストの1つのリストにより表わされる対象
    の上方部分をフレーム即ちデータ・テーブルに入れる手
    段と、 (b)前記フレームの最上部の行で始まる前記行上の隣
    接するスライス間の水平間隙を測定する手段と、 (c)小さな水平間隙の片側におけるスライスを延ばし
    て小さな水平間隙の反対側のスライスと接合する手段と
    を含むことを特徴とする請求項3記載のシステム。 5、フレームにおけるスライスにより形成される小さな
    垂直ホールを埋める手段を設け、該垂直ホールを埋める
    手段は、 (a)前記フレームの1つの行における複数のスライス
    を含む第2の開いたリストを形成する手段と、 (b)前記第2のオープンリストにおける第1のスライ
    スの第1の部分が前記フレームの次の行からの第2のス
    ライスの第1の部分と重なるかどうかを判定する手段と
    、 (c)(i)前記第1のスライスの第2の部分が別のス
    ライスの一部と重ならなければ、前記第2のスライスを
    前記第2のオープンリストの第1のスライスに添付する
    ことにより、前記フレームの次の行からの前記第2のス
    ライスを前記第2のオープンリストの成長する第1の列
    に添付し、(ii)前記第2のオープンリストの第1の
    スライスの第2の部分が別のスライスの一部と重なれば
    、前記第2の開いたリストの第2の列を生成して該列に
    該第2のスライスを入れ、 (iii)前記第2のオープンリストの共通のスライス
    から拡散しつつある前記成長する第1と第2の列により
    形成される側壁の高さを測定して格納し、 (iv)前記側壁を形成するスライスの終端部のアドレ
    ス・ポインタをそれぞれ格納し、(v)もし前記高さが
    小さな予め定めた値 より小さければ、またもし前記第2のリストの第1のス
    ライスの第1の部分が前記第2のスライスの第1の部分
    と重なるならば、小さなホールに跨がる壁の1つを形成
    するスライスを前記ホールの他の壁を形成する対応する
    スライスまで延ばすため、前記アドレス・ポインタを用
    いて前記小さなホールを埋める手段とを含むことを特徴
    とする請求項4記載のシステム。 6、前記対象の上方部分を前記フレームに入れる前記手
    段が、前記各スライスの増大するX座標に従って、左か
    ら右への順序で前記フレームに入れられたスライスを配
    列する手段を含むことを特徴とする請求項5記載のシス
    テム。 7、フレーム内のフィルタされたデータを更に簡略化す
    る手段を設け、 (a)前記フレームのスライスの行を含む第3のオープ
    ンリストを形成する手段と、 (b)前記第3のオープンリストにおける第1のスライ
    スの第1の部分がフレームの次の行における第2のスラ
    イスの第1の部分と重なるかどうかを判定する手段と、 (c)(i)前記第3のオープンリストの第1のスライ
    スの第2の部分が別のスライスの一部と重ならなければ
    、前記第2のスライスを前記第3のオープンリストの第
    1のスライスに添付することにより、前記第2のスライ
    スを該第3のオープンリストの第1の成長する列に添付
    し、 (ii)もし前記第3のオープンリストの 第1のスライスの第2の部分が別のスライスの一部と重
    なり、またもし前記第3のオープンリストの前記第1の
    スライスの第1の部分が前記フレームの前記次の行の第
    2のスライスの第1の部分と重なるならば、前記第3の
    オープンリストの第2の列を生成し、かつ前記第2の列
    に前記第2のスライスを入れる手段と、 (d)もし前記第3のオープンリストのス ライスの第1のスライスの第1の部分がフレームの前記
    次の行の第2のスライスの第1の部分と重ならなければ
    、別のオープンリストを生成し、かつ該オープンリスト
    に前記第2のスライスを入れる手段と、 (e)前記オープンリストの成長する列の前後の縁部の
    勾配における変化を測定し、またもし該成長する列があ
    る台形により表わすことができるならば、台形レコード
    における台形の4つの隅部の点の座標を格納し、さもな
    ければ、斑点レコードにおける成長する列の非直線状の
    縁部分の各スライスを格納する手段とを設けることを特
    徴とする請求項6記載のシステム。 8、前記レコードを別のレコードに連係する各斑点レコ
    ードまたは台形レコードにおけるアドレス・ポインタを
    格納する手段を設けることを特徴とする請求項7記載の
    システム。 9 前記第3のオープンリストの第1のスライスの第1
    の部分が前記フレームの次の行の第2のスライスの第1
    の部分と重なり、前記第3のオープンリストの最後のス
    ライスの左終端の座標がフレームの次の行の第2のスラ
    イスの左終端の座標よりも小さく、また前記第3のオー
    プンリストの第1のスライスが別のスライスに対して添
    付されるならば、拡散レコードを生成する手段を設ける
    ことを特徴とする請求項8記載のシステム。 10、もし前記第3のオープンリストの第1のスライス
    の前記第1の部分がフレームの第2のスライスの第1の
    部分と重なり、前記第3のオープンリストの第1のスラ
    イスの左終端の座標がフレームの次の行の第2のスライ
    スの左終端の座標よりも大きく、また前記フレームの次
    の行の第2のスライスが別のスライスに添付されるなら
    ば、収束レコードを生成する手段を設けることを特徴と
    する請求項9記載のシステム。 11、ある画像の連続する行を走査することにより生じ
    る直列ピクセル・データをコンパイルする方法において
    、 (a)該直列ピクセル・データを符号化して、各々が複
    数の連続する繋がれたピクセルを含む複数のスライスを
    含むランレングス・データを生じ、(b)前記画像の第
    1の行の複数のスライスを含む第1のオープンリストを
    形成し、 (c)前記第1のオープンリストの第1のスライスの第
    1の部分が前記画像の第2の行からの第2のスライスの
    第1の部分と重なるかどうかを判定し、 (d)前記第1のスライスの第1の部分が前記第2のス
    ライスの第1の部分と重なるならば、(i)もし前記第
    1のスライスの第2の 部分が別のスライスの一部と重ならなければ、前記第2
    のスライスを前記第1のスライスに添付することにより
    、前記第2のスライスを前記第1のオープンリストの成
    長する列に添付し、 (ii)前記第1のスライスの第2の部分 が別のスライスの一部と重なるならば、前記第1のオー
    プンリストの別の列を生成し、かつ該列に前記第2のス
    ライスを入れるステップからなることを特徴とする方法
    。 12、(a)前記第1の行または第2の行からの全ての
    スライスが前記第1のオープンリストに添付されるまで
    、次のスライスの第1の部分が次のスライスとは異なる
    行からの前記第1と第2のスライスのどちらかの第1の
    部分と重なるかどうかを判定することにより、前記第1
    のオープンリストまたは前記第2の行からの次のスライ
    スについて前記(c)および(d)のステップを反復し
    、(b)前記画像のある対象の全ての行のスライスが前
    記第1のオープンリストに添付されるまで、前記画像の
    スライスの次の行および前記第1のオープンリストに添
    付されたスライスの最後の行について、前記(a)乃至
    (e)のステップを反復するステップを含むことを特徴
    とする請求項11記載の方法。 15、前記第1のスライスの第1の部分が前記第2のス
    ライスの第1の部分と重ならなければ、前記画像の別の
    対象と対応する別のオープンリストを生成し、前記オー
    プンリストに前記第2のスライスを入れるステップを含
    むことを特徴とする請求項12記載の方法。
JP63011817A 1987-02-19 1988-01-21 画像ランレングス・デ−タをコンパイルする方法及び装置 Expired - Lifetime JP2608570B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16662 1987-02-19
US07/016,662 US4821336A (en) 1987-02-19 1987-02-19 Method and apparatus for simplifying runlength data from scanning of images

Publications (2)

Publication Number Publication Date
JPS63261478A true JPS63261478A (ja) 1988-10-28
JP2608570B2 JP2608570B2 (ja) 1997-05-07

Family

ID=21778288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63011817A Expired - Lifetime JP2608570B2 (ja) 1987-02-19 1988-01-21 画像ランレングス・デ−タをコンパイルする方法及び装置

Country Status (5)

Country Link
US (1) US4821336A (ja)
EP (1) EP0279157A3 (ja)
JP (1) JP2608570B2 (ja)
AU (1) AU589833B2 (ja)
IL (1) IL84649A0 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817187A (en) * 1987-02-19 1989-03-28 Gtx Corporation Apparatus and method for vectorization of incoming scanned image data
US4949388A (en) * 1987-02-19 1990-08-14 Gtx Corporation Method and apparatus for recognition of graphic symbols
US5095512A (en) * 1988-10-24 1992-03-10 Netexpress Systems, Inc. Method and apparatus for manipulating image data employing an intermediate format
US5129012A (en) * 1989-03-25 1992-07-07 Sony Corporation Detecting line segments and predetermined patterns in an optically scanned document
EP0405400A3 (en) * 1989-06-30 1992-09-02 Mita Industrial Co., Ltd. Image distinguishing device
US5153748A (en) * 1989-09-28 1992-10-06 Eastman Kodak Company Detection of gaps in scanned images
EP0423959A3 (en) * 1989-10-16 1993-03-10 Apple Computer, Inc. Recursive run array storage of data
JPH03223966A (ja) * 1989-12-26 1991-10-02 Fuji Xerox Co Ltd ファイリング装置およびそれを用いたファイル検索方法
JP2637591B2 (ja) * 1990-01-22 1997-08-06 松下電器産業株式会社 位置認識装置及びその方法
JP2766053B2 (ja) * 1990-07-30 1998-06-18 株式会社日立製作所 画像データ処理方法
US5542052A (en) * 1991-03-04 1996-07-30 Adobe Systems Incorporated Applying traps to a printed page specified in a page description language format
US5295236A (en) * 1991-03-04 1994-03-15 Aldus Corporation Applying traps to a printed page specified in a page description language format
JPH04328956A (ja) * 1991-04-26 1992-11-17 Dainippon Screen Mfg Co Ltd 画像デ−タの読出し方法
JPH04343178A (ja) * 1991-05-20 1992-11-30 Sony Corp 画像処理装置
DE69217319T2 (de) * 1991-10-07 1997-07-17 Xerox Corp Bildeditiersystem und Methode mit verbesserter Farbpaletteneditierung
JP2749020B2 (ja) * 1991-11-14 1998-05-13 日立ソフトウエアエンジニアリング株式会社 ダイアグラム認識システム
US5666543A (en) * 1994-03-23 1997-09-09 Adobe Systems Incorporated Method of trapping graphical objects in a desktop publishing program
DE4415798C1 (de) * 1994-05-05 1995-08-03 Jenoptik Technologie Gmbh Verfahren und Schaltungsanordnung zur Auflösung von Äquivalenzen zeilenförmig erfaßter topologisch zusammenhängender Bildstrukturen
US5726760A (en) * 1996-04-03 1998-03-10 Oce-Nederland, B.V. Method and apparatus for converting image representation formats as well as an image production system provided with such an apparatus
US5923782A (en) * 1996-08-01 1999-07-13 Nynex Science & Technology, Inc. System for detecting and identifying substantially linear horizontal and vertical lines of engineering drawings
US6009425A (en) * 1996-08-21 1999-12-28 International Business Machines Corporation System and method for performing record deletions using index scans
US6130956A (en) * 1998-02-17 2000-10-10 Butterworth; Francis M. Continuous microbiotal recognition method
US7016536B1 (en) 1999-11-24 2006-03-21 Gtx Corporation Method and apparatus for automatic cleaning and enhancing of scanned documents
US8103104B2 (en) * 2002-01-11 2012-01-24 Hewlett-Packard Development Company, L.P. Text extraction and its application to compound document image compression
US7817307B2 (en) 2005-01-06 2010-10-19 Zenographics, Inc. Digital image processing without rasterization
US7880750B2 (en) * 2005-01-06 2011-02-01 Zenographics, Inc. Digital image processing with inherent compression
WO2008121715A1 (en) * 2007-03-30 2008-10-09 Ometric Corporation In-line process measurement systems and methods
JP5153676B2 (ja) * 2009-02-10 2013-02-27 キヤノン株式会社 画像処理装置、画像処理方法、プログラムおよび記憶媒体
US8767240B1 (en) 2011-01-28 2014-07-01 Marvell International Ltd. Method and apparatus for encoding data to perform real-time rendering
CN109829474B (zh) * 2018-12-27 2020-12-22 北京邮电大学 一种电路图识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59189469A (ja) * 1983-04-12 1984-10-27 Fujitsu Ltd 線画像のベクトル発生方式
JPS6269369A (ja) * 1985-09-21 1987-03-30 Dainippon Printing Co Ltd 多値画像処理方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4103287A (en) * 1973-12-17 1978-07-25 Bell Telephone Laboratories, Incorporated Variable length codes for high quality image encoding
US4107648A (en) * 1976-04-12 1978-08-15 Bell Telephone Laboratories, Incorporated Scan encoding of two dimensional pictorial entities
US4183013A (en) * 1976-11-29 1980-01-08 Coulter Electronics, Inc. System for extracting shape features from an image
US4189711A (en) * 1977-11-08 1980-02-19 Bell Telephone Laboratories, Incorporated Multilevel processing of image signals
US4307377A (en) * 1979-11-09 1981-12-22 Bell Telephone Laboratories, Incorporated Vector coding of computer graphics material
DE3128794A1 (de) * 1981-07-21 1983-05-05 Siemens AG, 1000 Berlin und 8000 München Verfahren zum auffinden und abgrenzen von buchstaben und buchstabengruppen oder woertern in textbereichen einer vorlage, die ausser textbereichen auch graphik-und/oder bildbereiche enthalten kann.
JPS5837773A (ja) * 1981-08-28 1983-03-05 Fuji Electric Co Ltd 複数パタ−ン処理装置
US4499597A (en) * 1982-03-29 1985-02-12 Hughes Aircraft Company Small-object location utilizing centroid accumulation
JPS5958587A (ja) * 1982-09-29 1984-04-04 Fuji Electric Co Ltd パタ−ン処理装置
US4486784A (en) * 1982-12-27 1984-12-04 International Business Machines Corporation Image compression systems
US4603431A (en) * 1983-03-14 1986-07-29 Ana Tech Corporation Method and apparatus for vectorizing documents and symbol recognition
JPS60207971A (ja) * 1984-03-31 1985-10-19 Toshiba Corp 連結成分抽出回路
ES8701398A1 (es) * 1985-05-14 1986-11-16 Intersoftware Sa Procedimiento para la lectura automatica de imagenes y aparato para la realizacion del mismo
US4949388A (en) * 1987-02-19 1990-08-14 Gtx Corporation Method and apparatus for recognition of graphic symbols
US4797806A (en) * 1987-02-19 1989-01-10 Gtx Corporation High speed serial pixel neighborhood processor and method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59189469A (ja) * 1983-04-12 1984-10-27 Fujitsu Ltd 線画像のベクトル発生方式
JPS6269369A (ja) * 1985-09-21 1987-03-30 Dainippon Printing Co Ltd 多値画像処理方法

Also Published As

Publication number Publication date
EP0279157A2 (en) 1988-08-24
IL84649A0 (en) 1988-04-29
US4821336A (en) 1989-04-11
JP2608570B2 (ja) 1997-05-07
AU1176288A (en) 1988-09-22
EP0279157A3 (en) 1989-11-23
AU589833B2 (en) 1989-10-19

Similar Documents

Publication Publication Date Title
JPS63261478A (ja) 画像ランレンズク・データをコンパイルする方法及び装置
JP2765969B2 (ja) 図式データ駆動型プログラム開発支援装置
JP3946233B2 (ja) 画像表示システム
JP2577763B2 (ja) 図形認識システム及びその動作方法
JP2000090195A (ja) 表認識方法及び装置
WO1989012276A1 (en) Critical path analyser with path context window
JP2608571B2 (ja) 入力走査画像データのベクトル化のための装置及び方法
US5920324A (en) Character pattern producing apparatus capable of producing character pattern having connected character elements
Canny Python-ptx Documentation
JP3143464B2 (ja) 3次元モデル作成装置及び方法
JP3368511B2 (ja) 連結領域の抽出装置及び方法
JPH01129358A (ja) 表数値演算装置
EP0410062B1 (en) Dynamic selection of logical element data format
JP3616242B2 (ja) アニメーション情報の圧縮方法、及びアニメーション情報の圧縮プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH01243188A (ja) 輪郭検出装置
JPH05241987A (ja) 試験方法
JP3715431B2 (ja) 組版方法、組版装置、及び、その処理を実行するためのプログラムを記録した記録媒体
JP3324831B2 (ja) Cad装置
JP2000112795A (ja) データ構造変換処理装置および記録媒体
JP2644509B2 (ja) 画像変形操作による画像構造抽出方法
JP3133807B2 (ja) 輪郭抽出方法及びその装置
JPH0821059B2 (ja) 文字輪郭生成時の不要データ除去方式
JPH05265734A (ja) 制御用プログラム自動生成方法及び装置
JPH08202895A (ja) アニメーション処理方法およびそれを実施するための装置
JP2000347831A (ja) 画面変換方式及びその方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term