JP3199765B2 - 複合イメ−ジエディタ - Google Patents
複合イメ−ジエディタInfo
- Publication number
- JP3199765B2 JP3199765B2 JP04987091A JP4987091A JP3199765B2 JP 3199765 B2 JP3199765 B2 JP 3199765B2 JP 04987091 A JP04987091 A JP 04987091A JP 4987091 A JP4987091 A JP 4987091A JP 3199765 B2 JP3199765 B2 JP 3199765B2
- Authority
- JP
- Japan
- Prior art keywords
- component
- raster
- edge
- vector
- state
- 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.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Processing (AREA)
Description
【0001】
【産業上の利用分野】この発明はコンピュ−タ・エイデ
ド・デサイン(CAD)に関し、より具体的には、、ラ
スタ−とベクトルの構成要素を、単一のイメ−ジ階層で
同時に編集し、且つラスタ−構成要素を、選択的に変換
及び消去するものである。
ド・デサイン(CAD)に関し、より具体的には、、ラ
スタ−とベクトルの構成要素を、単一のイメ−ジ階層で
同時に編集し、且つラスタ−構成要素を、選択的に変換
及び消去するものである。
【0002】
【従来の技術】この発明は、コンピュ−タ・エイデド・
デサイン・アンド・ドラフティング(CADD)、より
一般的には、コンピュ−タ・エイデド・デサイン(CA
D)として知られる装置に用いられる、より進歩したイ
メ−ジエディタにより構成される。
デサイン・アンド・ドラフティング(CADD)、より
一般的には、コンピュ−タ・エイデド・デサイン(CA
D)として知られる装置に用いられる、より進歩したイ
メ−ジエディタにより構成される。
【0003】この種の1のタイプのイメ−ジエディタ
は、ラスタ−エディタであり、これは既存のハ−ドコピ
−図面をデジタルイメ−ジとしてコンピュ−タに入力
し、その図面に変更を加えるために多く用いられる。
は、ラスタ−エディタであり、これは既存のハ−ドコピ
−図面をデジタルイメ−ジとしてコンピュ−タに入力
し、その図面に変更を加えるために多く用いられる。
【0004】技術的に単純であるために、ハ−ドコピ−
図面をデジタルに変換するための入力装置は、典型的に
ラスタ−装置であり、従って、ほとんどの既存の図面は
ラスタ−イメ−ジでり、そのラスタ−イメ−ジがラスタ
−エディタにより変更されるようにしている。
図面をデジタルに変換するための入力装置は、典型的に
ラスタ−装置であり、従って、ほとんどの既存の図面は
ラスタ−イメ−ジでり、そのラスタ−イメ−ジがラスタ
−エディタにより変更されるようにしている。
【0005】ラスタ−イメ−ジは個々にアドレス可能な
ピクセルにより構成されており、コンピュ−タ内ではピ
ットマップとして表現されている。
ピクセルにより構成されており、コンピュ−タ内ではピ
ットマップとして表現されている。
【0006】これらデジタル化されたイメ−ジは、幾何
学的形状または多角形のような構成要素等を含み、ラス
タ−エディタのユ−ザが操作できるようになっている。
学的形状または多角形のような構成要素等を含み、ラス
タ−エディタのユ−ザが操作できるようになっている。
【0007】イメ−ジエディタは一般に、デジタル化さ
れファイルに蓄積された構成要素の2つの異なるフォ−
マット、即ち、ラスタ−とベクトルのいずれか1つを編
集する。
れファイルに蓄積された構成要素の2つの異なるフォ−
マット、即ち、ラスタ−とベクトルのいずれか1つを編
集する。
【0008】例えば、ラスタ−イメ−ジの1つの構成要
素は円であり、この円は、ラスタ−フォ−マットでは、
円の周囲にそった個々のピクセルの組合せとして表現さ
れ、それらピクセルはX−Y軸上で確認できる。
素は円であり、この円は、ラスタ−フォ−マットでは、
円の周囲にそった個々のピクセルの組合せとして表現さ
れ、それらピクセルはX−Y軸上で確認できる。
【0009】同じ円がベクトルフォ−マットでは、円の
中心(X−Y軸上)と円の半径とにより構成される集合
として表現され、メモリに蓄積される。
中心(X−Y軸上)と円の半径とにより構成される集合
として表現され、メモリに蓄積される。
【0010】ベクトルエディタは一般的に、変更すべき
既存のハ−ドコピ−図面が無い場合に、デジタルイメ−
ジを創設し編集する為に用いられる。
既存のハ−ドコピ−図面が無い場合に、デジタルイメ−
ジを創設し編集する為に用いられる。
【0011】これは、良く知られているように、ベクト
ル構成要素を操作、例えば、「拡大縮小」「移動」する
場合に、ラスタ−フォ−マットで同一の操作をする場合
より、はるかに計算器の依存度が少ないからである。
ル構成要素を操作、例えば、「拡大縮小」「移動」する
場合に、ラスタ−フォ−マットで同一の操作をする場合
より、はるかに計算器の依存度が少ないからである。
【0012】さらに、ベクトルフォ−マットでは、構成
要素の個々のピクセルを記憶しなくてよい為、デジタル
化された構成要素を記憶する際の、メモリの使用という
観点において明白な利点がある。
要素の個々のピクセルを記憶しなくてよい為、デジタル
化された構成要素を記憶する際の、メモリの使用という
観点において明白な利点がある。
【0013】ベクトルエディタに共通に有する、このよ
うなより強力で時間ロスの少ない編集操作の利点を活用
する為に、ラスタ−構成要素をベクトル構成要素に変換
したいという要請が生じる。
うなより強力で時間ロスの少ない編集操作の利点を活用
する為に、ラスタ−構成要素をベクトル構成要素に変換
したいという要請が生じる。
【0014】フェルド等(米国特許番号4,307,377)はラ
スタ−イメ−ジをベクトルイメ−ジに変換するための、
初期的試みをしている。
スタ−イメ−ジをベクトルイメ−ジに変換するための、
初期的試みをしている。
【0015】この特許では、ラスタ−型のデ−タのスキ
ャンのライン毎に、そのデ−タから実時間でベクトル情
報を取り出す為の、ベクトルコ−ディングの技術を開示
している。
ャンのライン毎に、そのデ−タから実時間でベクトル情
報を取り出す為の、ベクトルコ−ディングの技術を開示
している。
【0016】この技術では、前段処理機能の一部とし
て、グラフィック情報において生じる、線間ギャップを
埋め込む処理を行う。
て、グラフィック情報において生じる、線間ギャップを
埋め込む処理を行う。
【0017】この前段処理の後に、近接する一対のスキ
ャン線において、エッジからエッジの遷移が表れたかが
モニタ−され、線長の継続性を知る為にその線の位置と
傾斜が比較される。
ャン線において、エッジからエッジの遷移が表れたかが
モニタ−され、線長の継続性を知る為にその線の位置と
傾斜が比較される。
【0018】線ベクトルはこのようにして創設され、2
組の直角座標値と線幅を表す数値とともに記憶される。
組の直角座標値と線幅を表す数値とともに記憶される。
【0019】フェルド等は円弧や複線変換のような、複
雑な構成要素の変換については言及していない。
雑な構成要素の変換については言及していない。
【0020】更に、この特許は、重畳する構成要素の変
換や、予め定められた構成要素のテンプレ−トにより
「認識」された構成要素の変換についても何ら開示して
いない。
換や、予め定められた構成要素のテンプレ−トにより
「認識」された構成要素の変換についても何ら開示して
いない。
【0021】より最近では、マッカン等に付与された特
許、及びライエンに付与された特許において、ラスタ−
デ−タをベクトルデ−タに変換する手段が開示されてい
る。
許、及びライエンに付与された特許において、ラスタ−
デ−タをベクトルデ−タに変換する手段が開示されてい
る。
【0022】マッカン等の特許(米国特許番号4,777,65
1)に示されるシステムでは、ラスタ−スキャンデ−タ
を、リストにされたベクトルに変換し、そのベクトルを
編集し、表示し、蓄積できるるようにしている。
1)に示されるシステムでは、ラスタ−スキャンデ−タ
を、リストにされたベクトルに変換し、そのベクトルを
編集し、表示し、蓄積できるるようにしている。
【0023】この特許では、ベクトルのデ−タベ−ス
は、円弧の確認、性質や他の特徴の確認等の、構文パタ
−ンの認識とし使用する可能性についても示唆されてい
る。
は、円弧の確認、性質や他の特徴の確認等の、構文パタ
−ンの認識とし使用する可能性についても示唆されてい
る。
【0024】ラスタ−されたビットマップそのシステム
に入力され、そのビットマップは一連のウィンドウにセ
グメント化され、隣接する論理エレメントは拡大、平
滑、縮小等の変換動作を行う。
に入力され、そのビットマップは一連のウィンドウにセ
グメント化され、隣接する論理エレメントは拡大、平
滑、縮小等の変換動作を行う。
【0025】線セグメントはリストにおいて「チェイン
コ−ド化」され、その後出力に変換される。
コ−ド化」され、その後出力に変換される。
【0026】ライエンの特許(米国特許4,817,187)は、
デジタル化された手書きの技術図面のベクトル化装置が
示されている。
デジタル化された手書きの技術図面のベクトル化装置が
示されている。
【0027】ベクトルは「ランレングス」デ−タを直列
にスキャンして作られる。ランレングスデ−タは、円弧
ベクトル、線ベクトル、あるいはふさがれた形状等の
「基本形状」を規定する記録に蓄積される。
にスキャンして作られる。ランレングスデ−タは、円弧
ベクトル、線ベクトル、あるいはふさがれた形状等の
「基本形状」を規定する記録に蓄積される。
【0028】ライエンの特許の規定するところによれ
ば、対象物は多数の基本形状が接続されて構成されてお
り、その基本形状は、4個の頂点により構成される「台
形」かまたは、非台形の多角形により構成される「斑
点」(ブロッブ)として言及されている。
ば、対象物は多数の基本形状が接続されて構成されてお
り、その基本形状は、4個の頂点により構成される「台
形」かまたは、非台形の多角形により構成される「斑
点」(ブロッブ)として言及されている。
【0029】このライエンの特許で開示された技術で
は、円弧ベクトル、線ベクトル、あるいはふさがれた形
状を、識別することができる。
は、円弧ベクトル、線ベクトル、あるいはふさがれた形
状を、識別することができる。
【0030】これら上記の特許は、ラスタ−イメ−ジを
ベクトルイメ−ジに変換するための種々の技術が開示さ
れているが、どの特許においても、選択的な変換及び選
択的な消去については、何ら述べられていない。
ベクトルイメ−ジに変換するための種々の技術が開示さ
れているが、どの特許においても、選択的な変換及び選
択的な消去については、何ら述べられていない。
【0031】現存するラスタ−イメ−ジを変更するため
には、イメ−ジを選択された構成要素のみをベクトルに
変換することが、より正確で効率のよいプロセスとなる
はずである。
には、イメ−ジを選択された構成要素のみをベクトルに
変換することが、より正確で効率のよいプロセスとなる
はずである。
【0032】殆どの応用例において、大多数のラスタ−
イメ−ジは、めったに変更の必要がなく、従って、殆ど
の場合、全てのラスタ−イメ−ジの変換に時間を費やす
のは賢明ではない。
イメ−ジは、めったに変更の必要がなく、従って、殆ど
の場合、全てのラスタ−イメ−ジの変換に時間を費やす
のは賢明ではない。
【0033】さらに、時々生じるように、構成要素が互
いに重なりあっている場合に、システムにおける構成要
素認識のプロセスが、予め規定された幾何学的形状にし
たっがってされるようになっていれば、使用者は他の構
成要素を選択した構成要素に含まれるものと間違えると
いうような問題が軽減される事を期待できる。
いに重なりあっている場合に、システムにおける構成要
素認識のプロセスが、予め規定された幾何学的形状にし
たっがってされるようになっていれば、使用者は他の構
成要素を選択した構成要素に含まれるものと間違えると
いうような問題が軽減される事を期待できる。
【0034】また、選択された構成要素が認識され変換
された後、その選択されたラスタ−構成要素が、他の重
なり合うラスタ−構成要素から分離して消去でき、した
がって、他のラスタ−構成要素の完全性が維持されるこ
とができあれば、おおいに有利である。
された後、その選択されたラスタ−構成要素が、他の重
なり合うラスタ−構成要素から分離して消去でき、した
がって、他のラスタ−構成要素の完全性が維持されるこ
とができあれば、おおいに有利である。
【0035】
【発明が解決しようとする課題】従来の技術において知
られているシステムでは、ラスタ−およびベクトルの構
成要素が、単一のコンピュ−タプログラムのもとで編集
できる。
られているシステムでは、ラスタ−およびベクトルの構
成要素が、単一のコンピュ−タプログラムのもとで編集
できる。
【0036】しかしながら、このようなシステムでは、
ラスタ−とベクトルの構成要素を、区別されたイメ−ジ
階層で取り扱っている。
ラスタ−とベクトルの構成要素を、区別されたイメ−ジ
階層で取り扱っている。
【0037】その結果、ラスタ−構成要素とベクトル構
成要素を取り扱うためには、全く異なる編集操作を用い
る必要があった。
成要素を取り扱うためには、全く異なる編集操作を用い
る必要があった。
【0038】したがって、このようなシステムでは、使
用者は、ラスタ−構成要素またはベクトル構成要素の編
集動作が適切に選定されるように、編集される構成要素
のシステム内部での状態を常に認識する必要があった。
用者は、ラスタ−構成要素またはベクトル構成要素の編
集動作が適切に選定されるように、編集される構成要素
のシステム内部での状態を常に認識する必要があった。
【0039】したがって、構成要素主導型のベクトル変
換、重畳する構成要素のベクトル変換及び消去、更に同
一のイメ−ジ階層において共存するラスタ−構成要素と
ベクトル構成要素の編集ができる、等の特徴を有するイ
メ−ジ編集システムの必要性が生じてきた。
換、重畳する構成要素のベクトル変換及び消去、更に同
一のイメ−ジ階層において共存するラスタ−構成要素と
ベクトル構成要素の編集ができる、等の特徴を有するイ
メ−ジ編集システムの必要性が生じてきた。
【0040】
【課題を解決するための手段】本発明は上記のニ−ズを
満足するように設計された、複合イメ−ジエディタを提
供するものである。
満足するように設計された、複合イメ−ジエディタを提
供するものである。
【0041】複合イメ−ジエディタは、共通のベクトル
編集操作により、使用者は2つのタイプの構成要素の間
の相違を意識せずに、ラスタ−構成要素とベクトル構成
要素を編集する為に用いるものである。
編集操作により、使用者は2つのタイプの構成要素の間
の相違を意識せずに、ラスタ−構成要素とベクトル構成
要素を編集する為に用いるものである。
【0042】この複合イメ−ジエディタによる「シ−ム
レス」効果は、選択的にラスタ−構成要素をベクトル構
成要素に変換し、その後選択的にそのベクトル化された
構成要素を消去する機能を提供することにより実現して
いる。
レス」効果は、選択的にラスタ−構成要素をベクトル構
成要素に変換し、その後選択的にそのベクトル化された
構成要素を消去する機能を提供することにより実現して
いる。
【0043】本発明の1つの態様によれば、予め記憶さ
れたラスタ−イメ−ジが、メモリ−からエディタに読み
込まれ、表示装置により表示される。
れたラスタ−イメ−ジが、メモリ−からエディタに読み
込まれ、表示装置により表示される。
【0044】例えば、線、複線、円弧、長円形円弧、等
の一覧の幾何学的形状を示すメニュ−から使用者は、ベ
クトルに選択的に変換したいラスタ−構成要素に対応す
る幾何学的構成要素を選定する。
の一覧の幾何学的形状を示すメニュ−から使用者は、ベ
クトルに選択的に変換したいラスタ−構成要素に対応す
る幾何学的構成要素を選定する。
【0045】そのラスタ−構成要素の選定は、表示画面
上をマウスにより、ラスタ−イメ−ジの中から拾い出す
ことにより行われる。
上をマウスにより、ラスタ−イメ−ジの中から拾い出す
ことにより行われる。
【0046】選択されたラスタ−構成要素はベクトルに
変換され、そのラスタ−とベクトルの両方の構成要素が
画面に表示される。
変換され、そのラスタ−とベクトルの両方の構成要素が
画面に表示される。
【0047】使用者はベクトル構成要素を操作する前
に、そのラスタ−構成要素を消去するかを決定する。
に、そのラスタ−構成要素を消去するかを決定する。
【0048】この時点においては、ベクトル化された構
成要素は、表示されたラスタ−イメ−ジの一部となって
おり、使用者はそのベクトル化された構成要素を、あた
かも新たに創設されたベクトル構成要素のようにみるこ
とができる。
成要素は、表示されたラスタ−イメ−ジの一部となって
おり、使用者はそのベクトル化された構成要素を、あた
かも新たに創設されたベクトル構成要素のようにみるこ
とができる。
【0049】この効果は、ラスタ−構成要素デ−タベ−
スとベクトル構成要素デ−タベ−スを、単一のイメ−ジ
階層となるように協調することにより実現している。
スとベクトル構成要素デ−タベ−スを、単一のイメ−ジ
階層となるように協調することにより実現している。
【0050】したがっって、使用者は、移動、縮尺変
更、回転、等を含む標準的なベクトル編集操作を用い
て、ベクトル化された構成要素を取り扱える。
更、回転、等を含む標準的なベクトル編集操作を用い
て、ベクトル化された構成要素を取り扱える。
【0051】ベクトル化された構成要素を修正した後、
使用者はそのベクトル構成要素をラスタ−フォ−マット
に再変換することにより、更新されたラスタ−イメ−ジ
に、その編集された構成要素を蓄積することができる。
使用者はそのベクトル構成要素をラスタ−フォ−マット
に再変換することにより、更新されたラスタ−イメ−ジ
に、その編集された構成要素を蓄積することができる。
【0052】
【作用】より具体的には、このエディタにおける選択的
変換機能は、まずマウスの拾い出し位置の近傍におい
て、ラスタ−構成要素が存在するかが確認される。
変換機能は、まずマウスの拾い出し位置の近傍におい
て、ラスタ−構成要素が存在するかが確認される。
【0053】次のステップで、ラスタ−構成要素のその
位置において線状のセグメントがあるかを検出する。
位置において線状のセグメントがあるかを検出する。
【0054】この線状セグメントはその両端が拡張さ
れ、収集されたエッジ点が修正されて、使用者が選択し
た幾何学的構成要素に対応する標準方程式の変数形式に
される。
れ、収集されたエッジ点が修正されて、使用者が選択し
た幾何学的構成要素に対応する標準方程式の変数形式に
される。
【0055】時計方向及び反時計方向エッジフォロアと
して知られる最適化されたエッジフォロアを用いて、ラ
スタ−構成要素の両エッジ点のピクセルを収集すること
により、端部は拡張される。
して知られる最適化されたエッジフォロアを用いて、ラ
スタ−構成要素の両エッジ点のピクセルを収集すること
により、端部は拡張される。
【0056】エッジフォロアはステ−トマシンであり、
1のエッジに1のエッジフォロアが用いられ、ピクセル
の「オンからオフ」への変化を探索することにより、構
成要素のエッジを追尾する。
1のエッジに1のエッジフォロアが用いられ、ピクセル
の「オンからオフ」への変化を探索することにより、構
成要素のエッジを追尾する。
【0057】ラスタ−構成要素の経路は、収集したエッ
ジ点を平均化して、いわゆる探索点として記憶し、その
後収集したエッジピクセルを廃棄することにより、メモ
リに効率的に蓄積される。
ジ点を平均化して、いわゆる探索点として記憶し、その
後収集したエッジピクセルを廃棄することにより、メモ
リに効率的に蓄積される。
【0058】この端部の拡張は、構成要素の交差、ピク
セルのギャップあるいは曲がり等の「偏差」が検出され
るまで継続される。
セルのギャップあるいは曲がり等の「偏差」が検出され
るまで継続される。
【0059】エディタはこの偏差を越えて拡張を継続す
るように試みる。可能であれば、推定されたエッジ点は
偏差をつなげるものと推定されて、そのエッジは偏差を
こえて追尾される。
るように試みる。可能であれば、推定されたエッジ点は
偏差をつなげるものと推定されて、そのエッジは偏差を
こえて追尾される。
【0060】両端がこれ以上拡張できなくなった場合、
この変換プロセスは終了する。複合イメ−ジエディタは
さらに、ベクトル化された構成要素の選択的消去の機能
を有している。
この変換プロセスは終了する。複合イメ−ジエディタは
さらに、ベクトル化された構成要素の選択的消去の機能
を有している。
【0061】即ち、ラスタ−構成要素がベクトル構成要
素と重畳する部分では、この両構成要素間を慎重に分離
することにより、ベクトル構成要素のピクセルがラスタ
−構成要素から区分されるようにする。
素と重畳する部分では、この両構成要素間を慎重に分離
することにより、ベクトル構成要素のピクセルがラスタ
−構成要素から区分されるようにする。
【0062】構成要素の重畳する領域は、交差域周辺の
境界を示す、四辺形の表示によって表される。
境界を示す、四辺形の表示によって表される。
【0063】交差域の境界は、「交差域入口線」、「交
差域出口線」及び一対の「フレアリミット(限界)線」
として定義される。
差域出口線」及び一対の「フレアリミット(限界)線」
として定義される。
【0064】交差域の通過するエッジフォロアの遠近に
基づいて、この入口、出口の名称は変換される。
基づいて、この入口、出口の名称は変換される。
【0065】フレアはラスタ−構成要素のエッジの通常
方向かれら逸脱したピクセルのグル−プであり、交錯す
る構成要素を示すものである。
方向かれら逸脱したピクセルのグル−プであり、交錯す
る構成要素を示すものである。
【0066】フレア限界線は、大まかにはラスタ−構成
要素のエッジと平行になる。選択した構成要素のフレア
限界線を越えたピクセルは、フレアとして認識される。
要素のエッジと平行になる。選択した構成要素のフレア
限界線を越えたピクセルは、フレアとして認識される。
【0067】消去プロセスは先ず、交差域内の全てのピ
クセルを、表示画面上の背景色を同一に設定することに
より開始する。
クセルを、表示画面上の背景色を同一に設定することに
より開始する。
【0068】それから、各フレアについて、交差域内の
ベクトル化された構成要素を横切るような線が推定され
る。
ベクトル化された構成要素を横切るような線が推定され
る。
【0069】ベクトル構成要素の両サイドの推定線は相
関しており、交差するラスタ−構成要素の境界は、その
推定線内の領域のピクセルを交差するラスタ−構成要素
の色と同一に設定することにより塗りつぶされる。
関しており、交差するラスタ−構成要素の境界は、その
推定線内の領域のピクセルを交差するラスタ−構成要素
の色と同一に設定することにより塗りつぶされる。
【0070】従って、この発明における複合イメ−ジエ
ディタは、単一のイメ−ジ階層に共存するラスタ−構成
要素とベクトル構成要素を編集する手段を提供する。
ディタは、単一のイメ−ジ階層に共存するラスタ−構成
要素とベクトル構成要素を編集する手段を提供する。
【0071】この複合イメ−ジエディタは更に、選択的
変換と称される、構成要素主導型のベクトル化手段を有
し、また重畳する構成要素の選択的消去の手段を有す
る。
変換と称される、構成要素主導型のベクトル化手段を有
し、また重畳する構成要素の選択的消去の手段を有す
る。
【0072】
【実施例】次に図面に基づいて説明する。
【0073】図面では全体を通じて、同様の部分は同様
の数値で表示している。図1は、コンピュ−タワ−クス
テ−ションであり、この発明で用いるコンピュ−タの代
表的なもので、全体を数値100で示している。
の数値で表示している。図1は、コンピュ−タワ−クス
テ−ションであり、この発明で用いるコンピュ−タの代
表的なもので、全体を数値100で示している。
【0074】ワ−クステ−ション100は、コンピュ−
タ104、カラ−モニタ108、マウス112、キ−ボ
−ド116、フロッピ−ディスクドライブ120、ハ−
ドディスクドライブ124及びエサ−ネット(イーサネ
ット)通信端子128により構成されている。
タ104、カラ−モニタ108、マウス112、キ−ボ
−ド116、フロッピ−ディスクドライブ120、ハ−
ドディスクドライブ124及びエサ−ネット(イーサネ
ット)通信端子128により構成されている。
【0075】コンピュ−タ104はマザ−ボ−ドバス1
32と入出力バス136を有している。
32と入出力バス136を有している。
【0076】入出力バス136は、好ましい1実施例で
は、IBM PC/ATバスであり、インダストリィ・
スタンダ−ド・ア−キテクチャ(ISA)(Industry
Standard Architecture)バスとしても知られているも
のである。
は、IBM PC/ATバスであり、インダストリィ・
スタンダ−ド・ア−キテクチャ(ISA)(Industry
Standard Architecture)バスとしても知られているも
のである。
【0077】2つのバス132、136は入出力バスイ
ンタフェイス・コントロ−ラ140により電気的に接続
されている。
ンタフェイス・コントロ−ラ140により電気的に接続
されている。
【0078】入出力バス136は、多数の入出力回路
に、電気的機械的な通路を供給している。
に、電気的機械的な通路を供給している。
【0079】例えば、グラフィックディスプレイコント
ロ−ラ144は、モニタ108を入出力バス136に接
続している。
ロ−ラ144は、モニタ108を入出力バス136に接
続している。
【0080】好ましい実施例では、このモニタ108は
19インチのカラ−モニタであり、1024×768の
画素分解能を有している。
19インチのカラ−モニタであり、1024×768の
画素分解能を有している。
【0081】シリアル通信コントロ−ラ148は、マウ
ス112を入出力バス136に接続している。
ス112を入出力バス136に接続している。
【0082】マウス112はモニタ108に表示された
構成要素を”拾い上げる”ために用いられる。
構成要素を”拾い上げる”ために用いられる。
【0083】入出力バス136は更に、ハ−ドディスク
ドライブ124とエサネット通信端子128をサポ−ト
している。
ドライブ124とエサネット通信端子128をサポ−ト
している。
【0084】ハ−ドディスクコントロ−ラ152は、ハ
−ドディスクドライブ124と入出力バス136を接続
している。
−ドディスクドライブ124と入出力バス136を接続
している。
【0085】ハ−ドディスクドライブ124は、数値1
00で表示されるワ−クステ−ションの、一構成部分と
することが出来、60メガバイトのデ−タを記憶でき
る。
00で表示されるワ−クステ−ションの、一構成部分と
することが出来、60メガバイトのデ−タを記憶でき
る。
【0086】エサネット通信コントロ−ラ156は、エ
サネット通信端子128を入出力バス136に接続す
る。
サネット通信端子128を入出力バス136に接続す
る。
【0087】エサネット通信コントロ−ラ156は、業
界の標準プロトコルであるTCP/IPをサポ−トし、
そのTCP/IPはFTP及びテルネット機能を有して
いる。
界の標準プロトコルであるTCP/IPをサポ−トし、
そのTCP/IPはFTP及びテルネット機能を有して
いる。
【0088】エサネット通信端子128は好ましい実施
例では、ワ−クステ−ション100をドキュメントスキ
ャナ(図示せず)及びプリントサ−バ(図示せず)等を
含む通信網に接続する。
例では、ワ−クステ−ション100をドキュメントスキ
ャナ(図示せず)及びプリントサ−バ(図示せず)等を
含む通信網に接続する。
【0089】イメ−ジプロセッサ160も入出力バス1
36に接続されている。イメ−ジプロセッサ160は、
例えばテキサスインスツルメント社製の、TI3401
0と、12メガバイトのイメ−ジメモリを含んでいる。
36に接続されている。イメ−ジプロセッサ160は、
例えばテキサスインスツルメント社製の、TI3401
0と、12メガバイトのイメ−ジメモリを含んでいる。
【0090】イメ−ジプロセッサ160は、ベクトルと
ラスタ−の複合イメ−ジを記憶し操作する専門的機能を
有している。
ラスタ−の複合イメ−ジを記憶し操作する専門的機能を
有している。
【0091】しかしながら、このイメ−ジプロセッサ1
60の使用、あるいは他の専用ハ−ドウエアの使用は、
本発明を実施するために必ずしも必要なものではない。
60の使用、あるいは他の専用ハ−ドウエアの使用は、
本発明を実施するために必ずしも必要なものではない。
【0092】マザ−ボ−ドバス132は更に、幾つかの
基本的な入出力機器をサポ−トしている。
基本的な入出力機器をサポ−トしている。
【0093】例えば、マザ−ボ−ド132は、キ−ボ−
ド・フロッピ−ディスク・コントロ−ラ164に接続さ
れ、これにより、キ−ボ−ド116とフロッピ−ディス
ク・ドライブ120をサポ−トしている。
ド・フロッピ−ディスク・コントロ−ラ164に接続さ
れ、これにより、キ−ボ−ド116とフロッピ−ディス
ク・ドライブ120をサポ−トしている。
【0094】フロッピ−ディスク・ドライブ120は、
この構成例では、1.2メガバイトまでのデ−タを記憶
するフロッピ−ディスクをアクセスすることができる。
この構成例では、1.2メガバイトまでのデ−タを記憶
するフロッピ−ディスクをアクセスすることができる。
【0095】コンピュ−タ104を構成する基本的な素
子は、マイクロプロセッサ168、例えばインテル社製
のマイクロプロセッサ80X86,コプロセッサ17
2、例えば同様にインテル社製の80X87マス・コプ
ロセッサ、さらに176で表示された主メモリ、例え
ば、4メガバイトのランダムアクセスメモリ(RAM)
である。
子は、マイクロプロセッサ168、例えばインテル社製
のマイクロプロセッサ80X86,コプロセッサ17
2、例えば同様にインテル社製の80X87マス・コプ
ロセッサ、さらに176で表示された主メモリ、例え
ば、4メガバイトのランダムアクセスメモリ(RAM)
である。
【0096】主メモリ176は、Unixコンパチブル
・オペレ−ティングシステム180、例えば,マイクロ
ソフト社の子会社である、カリフォルニア州、サンタク
ルッツのサンタクルッツオペレ−ションにより提供する
SCO Xenixと、複合イメ−ジエディタ200で
ある。
・オペレ−ティングシステム180、例えば,マイクロ
ソフト社の子会社である、カリフォルニア州、サンタク
ルッツのサンタクルッツオペレ−ションにより提供する
SCO Xenixと、複合イメ−ジエディタ200で
ある。
【0097】図1に示すように、複合イメ−ジエディタ
200の各種のソフトウエア機能が主メモリ176の2
00a及びイメ−ジプロセッサ160の200b間に分
散している。
200の各種のソフトウエア機能が主メモリ176の2
00a及びイメ−ジプロセッサ160の200b間に分
散している。
【0098】本発明において、複合イメ−ジエディタ2
00はイメ−ジデ−タファイル202を操作する為に用
いられる。
00はイメ−ジデ−タファイル202を操作する為に用
いられる。
【0099】図1による好ましい実施例では、イメ−ジ
デ−タファイル202は、イメ−ジプロセッサ160内
にも存在している。
デ−タファイル202は、イメ−ジプロセッサ160内
にも存在している。
【0100】イメ−ジデ−タファイル202は、例え
ば、12平方フィ−ト、Eサイズで200ドット/イン
チの用紙あるいは、3平方フィ−トCサイズ400ドッ
ト/インチの用紙によるハ−ドコピ−をドキュメントス
キャナに挿入することにより作成し、その後、イメ−ジ
デ−タファイル202は、エサ−ネット通信ポ−ト12
8を経由して、ワ−クステ−ション100に転送され
る。
ば、12平方フィ−ト、Eサイズで200ドット/イン
チの用紙あるいは、3平方フィ−トCサイズ400ドッ
ト/インチの用紙によるハ−ドコピ−をドキュメントス
キャナに挿入することにより作成し、その後、イメ−ジ
デ−タファイル202は、エサ−ネット通信ポ−ト12
8を経由して、ワ−クステ−ション100に転送され
る。
【0101】ここでは、代表的なワ−クステ−ションを
示し説明したが、この技術分野の専門家であれば、他の
多数のコンピュ−タやワ−クステ−ションによる構成
で、本発明を実施できることを理解できるであろう。
示し説明したが、この技術分野の専門家であれば、他の
多数のコンピュ−タやワ−クステ−ションによる構成
で、本発明を実施できることを理解できるであろう。
【0102】図2は200で示す複合イメ−ジエディタ
の、最上位のレベルのフロ−を示す。
の、最上位のレベルのフロ−を示す。
【0103】複合イメ−ジエディタ200は図1に示す
ワ−クステ−ション100上で実行される。
ワ−クステ−ション100上で実行される。
【0104】スタ−ト203の状態から実行を開始する
ことにより、複合イメ−ジエディタ200は、イメ−ジ
デ−タファイル202を、フロッピ−ディスク120ま
たはハ−ドディスク124から、イメ−ジプロセッサ1
60にロ−ドし、カラ−モニタ108にそのイメ−ジデ
−タ202を表示する。
ことにより、複合イメ−ジエディタ200は、イメ−ジ
デ−タファイル202を、フロッピ−ディスク120ま
たはハ−ドディスク124から、イメ−ジプロセッサ1
60にロ−ドし、カラ−モニタ108にそのイメ−ジデ
−タ202を表示する。
【0105】エディタ200は次に状態204に移行
し、使用者が一定のパラメ−タを設定できる状態にな
る。
し、使用者が一定のパラメ−タを設定できる状態にな
る。
【0106】設定するパラメ−タは、使用者によりマウ
ス112(図1)の使用を通して、メニュ−の中から選
択される。
ス112(図1)の使用を通して、メニュ−の中から選
択される。
【0107】この好ましい実施例では、これらパラメ−
タは、使用者により選定される構成要素のタイプ、すな
わち、幾何学的形状のラスタ−表示のタイプであり、例
えば、線、複線、円(あるいは円弧)、長円(あるいは
長円弧)である。
タは、使用者により選定される構成要素のタイプ、すな
わち、幾何学的形状のラスタ−表示のタイプであり、例
えば、線、複線、円(あるいは円弧)、長円(あるいは
長円弧)である。
【0108】この好ましい実施例における複合イメ−ジ
エディタ200は、上記のような構成要素タイプを特に
提供しているが、他の種の構成要素タイプ、例えば、通
常の多角形も随意に規定できる。
エディタ200は、上記のような構成要素タイプを特に
提供しているが、他の種の構成要素タイプ、例えば、通
常の多角形も随意に規定できる。
【0109】使用者がエディタ200に構成要素タイプ
の選択を印加した後、エディタ200は、状態204か
ら状態208に移行し、ここで使用者は、モニタ108
に表示された他のメニュ−から、エディト動作を選択す
る。
の選択を印加した後、エディタ200は、状態204か
ら状態208に移行し、ここで使用者は、モニタ108
に表示された他のメニュ−から、エディト動作を選択す
る。
【0110】この好ましい実施例では、ストップ(ST
OP)、すなわちエディタ200の実行を、状態210
で停止させる動作、グラブ(GRAB)、「選択的変
換」すなわち、ラスタ−構成要素からベクトル構成要素
の変換動作、アンドゥ(UNDO)、すなわち最後のエ
ディタ動作が行われる前の状態のイメ−ジに戻る動作、
等のエディタ動作のセットを提供している。
OP)、すなわちエディタ200の実行を、状態210
で停止させる動作、グラブ(GRAB)、「選択的変
換」すなわち、ラスタ−構成要素からベクトル構成要素
の変換動作、アンドゥ(UNDO)、すなわち最後のエ
ディタ動作が行われる前の状態のイメ−ジに戻る動作、
等のエディタ動作のセットを提供している。
【0111】ここで述べた3つのエディタ動作に加え、
使用者はモニタ108上に示された、2組のオンオフ切
替えを設定して、ジャンプギャップ及び交差横切りの動
作を設定できる。
使用者はモニタ108上に示された、2組のオンオフ切
替えを設定して、ジャンプギャップ及び交差横切りの動
作を設定できる。
【0112】ジャンプギャップがオンに設定されると、
線上の欠落したピクセルについて、そのギャップは意図
されたもでないものと自動的に仮定して認識し、したが
ってエディタ200はギャップを「ジャンプ」する。
線上の欠落したピクセルについて、そのギャップは意図
されたもでないものと自動的に仮定して認識し、したが
ってエディタ200はギャップを「ジャンプ」する。
【0113】このような切替えスイッチにより選定でき
る機能は有益である。それは、スキャナによる掃引の不
完全さにより、また他の例としてラスタ−構成要素が鎖
線の形で定義されることにより、ラスタ−構成要素のピ
クセルが欠落する場合があるからである。切替えスイッ
チによるもう一つの機能、交差横切りは、エディタ20
0が、重複する如何なる数の構成要素の中から1の構成
要素を選択する機能である。
る機能は有益である。それは、スキャナによる掃引の不
完全さにより、また他の例としてラスタ−構成要素が鎖
線の形で定義されることにより、ラスタ−構成要素のピ
クセルが欠落する場合があるからである。切替えスイッ
チによるもう一つの機能、交差横切りは、エディタ20
0が、重複する如何なる数の構成要素の中から1の構成
要素を選択する機能である。
【0114】エディタ動作の選定がなされると、エディ
タ200は状態212に移行し、ここで使用者はマウス
112によりモニタ108上の1の構成要素を指定す
る。
タ200は状態212に移行し、ここで使用者はマウス
112によりモニタ108上の1の構成要素を指定す
る。
【0115】状態204、208及び212について
は、後に述べる図3を参照することにより、充分に理解
可能となるであろう。
は、後に述べる図3を参照することにより、充分に理解
可能となるであろう。
【0116】複合イメ−ジエディタ200aの、主メモ
リ部分に相当するオブジェクトコ−ドは、カリフォルニ
アのサンタクルッツ社によりライセンスされた「C」コ
ンパイラであるSCOを用いたソ−スコ−ドにより生成
した。
リ部分に相当するオブジェクトコ−ドは、カリフォルニ
アのサンタクルッツ社によりライセンスされた「C」コ
ンパイラであるSCOを用いたソ−スコ−ドにより生成
した。
【0117】複合イメ−ジエディタ200bの、イメ−
ジプロセッサ部分に相当するオブジェクトコ−ドは、テ
キサス インスツルメント社によりライセンスされたC
コンパイラにより生成した。
ジプロセッサ部分に相当するオブジェクトコ−ドは、テ
キサス インスツルメント社によりライセンスされたC
コンパイラにより生成した。
【0118】しかしながら、この技術分野の専門家であ
れば、ここに提示したフロ−グラムの各ステップを多数
の異なるコンパイラやプログラム言語によっても実現で
きる事が、理解できるであろう。
れば、ここに提示したフロ−グラムの各ステップを多数
の異なるコンパイラやプログラム言語によっても実現で
きる事が、理解できるであろう。
【0119】図2にもどり、状態212における使用者
による構成要素の指定に続き、エディタ200は機能2
16(図5)に移行することにより、ラスタ−構成要素
の選択的変換を開始し、これにより、最近接のラスタ−
「ブロッブ」を探知するように動作する。
による構成要素の指定に続き、エディタ200は機能2
16(図5)に移行することにより、ラスタ−構成要素
の選択的変換を開始し、これにより、最近接のラスタ−
「ブロッブ」を探知するように動作する。
【0120】ラスタ−ブロッブは、イメ−ジデ−タ20
2のイメ−ジ構成要素あるいはラスタ−対象の一部を形
成する、ピクセル(画素)の集まりとして定義される。
2のイメ−ジ構成要素あるいはラスタ−対象の一部を形
成する、ピクセル(画素)の集まりとして定義される。
【0121】もしブロッブが発見されると、エディタ2
00は機能220(図7)に移行し、ブロッブの形状を
認識しようとする。
00は機能220(図7)に移行し、ブロッブの形状を
認識しようとする。
【0122】この形状認識は、イメ−ジデ−タ202の
ピクセルを、幾何学的形状、例えば線、複線、円あるい
は長円の標準方程式に当てはめようとする。
ピクセルを、幾何学的形状、例えば線、複線、円あるい
は長円の標準方程式に当てはめようとする。
【0123】もしブロッブの形状が実際に認識される
と、エディタ200は状態224に移行し、ここで等価
のベクトル構成要素を形成して表示する。
と、エディタ200は状態224に移行し、ここで等価
のベクトル構成要素を形成して表示する。
【0124】この時点において、使用者は、モニタ10
8において、ベクトル構成要素とラスタ−構成要素を、
ほぼ同じ座標空間上で観測できる。
8において、ベクトル構成要素とラスタ−構成要素を、
ほぼ同じ座標空間上で観測できる。
【0125】この2つのタイプの構成要素は、異なる色
により識別される。状態224からエディタ200は状
態228に移行し、ここで選択された構成要素につい
て、境界四辺形が計算される。
により識別される。状態224からエディタ200は状
態228に移行し、ここで選択された構成要素につい
て、境界四辺形が計算される。
【0126】この境界四辺形の値は、選択された構成要
素に付属する全てのピクセルの、最大と最小のx、yの
座標から、あらかじめ見つけることができる。
素に付属する全てのピクセルの、最大と最小のx、yの
座標から、あらかじめ見つけることができる。
【0127】状態228から状態232に移行し、ここ
で選択された方形のビットマップが、イメ−ジプロセッ
サ160のメモリの書き込み領域にコピーされる。
で選択された方形のビットマップが、イメ−ジプロセッ
サ160のメモリの書き込み領域にコピーされる。
【0128】状態232からエディタ200は状態23
4に移行し、使用者はここで再びエディタ200に、入
力を印加するように要求される。
4に移行し、使用者はここで再びエディタ200に、入
力を印加するように要求される。
【0129】使用者はモニタ108に表示された、次の
3つの動作から選ぶことができる。すなわち、放棄(A
BANDON),これにいより如何なる変化を生じる前
に放棄する、確認(CONFIRM),希望するエディ
タの変更を確認する、修正(MODIFY),交差また
はギャップを使用者が手動で通過できるようにする。
3つの動作から選ぶことができる。すなわち、放棄(A
BANDON),これにいより如何なる変化を生じる前
に放棄する、確認(CONFIRM),希望するエディ
タの変更を確認する、修正(MODIFY),交差また
はギャップを使用者が手動で通過できるようにする。
【0130】さらに、状態234では、3つのオンオフ
切替え機能があり、それは、ラスタ−デリ−ト、ラスタ
−構成要素の削除、ベクトルデリ−ト、ベクトル構成要
素の削除、ラスタライズ、ベクトル構成要素をラスタ−
構成要素に変換、の機能である。
切替え機能があり、それは、ラスタ−デリ−ト、ラスタ
−構成要素の削除、ベクトルデリ−ト、ベクトル構成要
素の削除、ラスタライズ、ベクトル構成要素をラスタ−
構成要素に変換、の機能である。
【0131】この状態234は、後に述べる図4に関す
る説明でより理解できるであろう。引き続き図2におい
て、もし状態234において、使用者が形状認識の拡
張、即ち「修正」を選択した場合、機能236となって
選択した構成要素の形状認識が、イメ−ジデ−タ202
の他のピクセルにも拡張され、その後このフロ−は状態
224に戻る。
る説明でより理解できるであろう。引き続き図2におい
て、もし状態234において、使用者が形状認識の拡
張、即ち「修正」を選択した場合、機能236となって
選択した構成要素の形状認識が、イメ−ジデ−タ202
の他のピクセルにも拡張され、その後このフロ−は状態
224に戻る。
【0132】もし使用者が状態234において、「確
認」を選択すると、機能238に入ることにより消去が
完了し、選択した構成要素がラスタ−イメ−ジから消去
される。
認」を選択すると、機能238に入ることにより消去が
完了し、選択した構成要素がラスタ−イメ−ジから消去
される。
【0133】もし状態234において、使用者により
「放棄」が指定されると、エディタ200は状態20
4、208または212のいずれか1つの動作に復帰す
る。
「放棄」が指定されると、エディタ200は状態20
4、208または212のいずれか1つの動作に復帰す
る。
【0134】機能216において、ラスタ−ブロッブが
見つからない場合、または機能220において形状が認
識されない場合には、状態240において、モニタ10
8上のカ−ソル位置に最も近いベクトル構成要素の探索
を行う。
見つからない場合、または機能220において形状が認
識されない場合には、状態240において、モニタ10
8上のカ−ソル位置に最も近いベクトル構成要素の探索
を行う。
【0135】もしベクトル構成要素が発見されると、使
用者は状態244において、発見または作成した構成要
素のベクトル処理を行いう。
用者は状態244において、発見または作成した構成要
素のベクトル処理を行いう。
【0136】これは状態238の「ラスタ−イメ−ジか
ら選定した構成要素を消去」から移行することもでき
る。
ら選定した構成要素を消去」から移行することもでき
る。
【0137】この好ましい実施例では状態244の機能
を実行するためのベクトル編集用ソフトウエアは、オク
ラホマ州、タルサのアエル・アドバンスト・グラフィッ
ク・システム社がライセンスするビジョンエ−イ−エル
(VisionAEL )と呼ばれるプログラムを用いている。
を実行するためのベクトル編集用ソフトウエアは、オク
ラホマ州、タルサのアエル・アドバンスト・グラフィッ
ク・システム社がライセンスするビジョンエ−イ−エル
(VisionAEL )と呼ばれるプログラムを用いている。
【0138】ベクトル処理が終了すると、エディタ20
0は状態244から状態248に移行し、既に変換した
ベクトル構成要素が、ラスタ−構成要素としてイメ−ジ
デ−タ202に記憶すべきかを決定するテストをおこな
う。
0は状態244から状態248に移行し、既に変換した
ベクトル構成要素が、ラスタ−構成要素としてイメ−ジ
デ−タ202に記憶すべきかを決定するテストをおこな
う。
【0139】もし現在のベクトル構成要素が状態240
における「最も近いベクトル構成要素の探索」の結果と
して見出されたものでる場合、すなわち、ベクトル構成
要素がその前に選択的に変換されなかった場合、そのテ
ストは満足されず、フロ−は状態204、208または
212の何れかに戻る。
における「最も近いベクトル構成要素の探索」の結果と
して見出されたものでる場合、すなわち、ベクトル構成
要素がその前に選択的に変換されなかった場合、そのテ
ストは満足されず、フロ−は状態204、208または
212の何れかに戻る。
【0140】これらの状態204、208または212
は、モニタ108上の画面表示で、単一のメニュ−とし
て、合成させることもできる。
は、モニタ108上の画面表示で、単一のメニュ−とし
て、合成させることもできる。
【0141】もし使用者が、ラスタライズ切替えで示し
たように、すでに選択的に変換したベクトル構成要素を
ラスタ−変換したい場合には、そのような操作は状態2
52において行うことができる。
たように、すでに選択的に変換したベクトル構成要素を
ラスタ−変換したい場合には、そのような操作は状態2
52において行うことができる。
【0142】状態240、248または252のいずれ
からでも、初期画面表示に復帰することができる。
からでも、初期画面表示に復帰することができる。
【0143】図3において、コンピュ−タ画面表示27
0が示されている。これは、図1のモニタ108上に再
生されるものである。
0が示されている。これは、図1のモニタ108上に再
生されるものである。
【0144】この図3の画面表示は、図2における状態
204、208及び212について使用者が見る画面の
例である。
204、208及び212について使用者が見る画面の
例である。
【0145】表示270は、使用者の選定可能なパラメ
−タ272、一対の切替え276を含む使用者選定エデ
ィット動作274、及び構成要素ウインドウ278から
構成される。
−タ272、一対の切替え276を含む使用者選定エデ
ィット動作274、及び構成要素ウインドウ278から
構成される。
【0146】図3の構成要素ウインドウ278は、3つ
の重なった構成要素による単純な組合せを示す。
の重なった構成要素による単純な組合せを示す。
【0147】これらの構成要素は、線280、もう1つ
の線282、及び円284である。状態212(図2)
において、カ−ソル286は図3に示すように、円28
4上の一部に位置されている。
の線282、及び円284である。状態212(図2)
において、カ−ソル286は図3に示すように、円28
4上の一部に位置されている。
【0148】図4はエディタ200が図2の状態234
にあるとき、モニタ108(図1)に表される、第2の
画面表示290である。
にあるとき、モニタ108(図1)に表される、第2の
画面表示290である。
【0149】メニュ−296の3つの切替え(トグル)
294により、従前の動作の承認または延長が選択され
る。
294により、従前の動作の承認または延長が選択され
る。
【0150】この例では(図4)、使用者はラスタ−削
除のトグルを起動しただけである。この選定に応答し
て、図4の構成要素ウインドウ278では、円284が
ベクトル形式に変換され、そのラスタ−構成要素は削除
される。
除のトグルを起動しただけである。この選定に応答し
て、図4の構成要素ウインドウ278では、円284が
ベクトル形式に変換され、そのラスタ−構成要素は削除
される。
【0151】したがって、複合イメ−ジエディタ200
は、イメ−ジデ−タファイル202を読出た後、ラスタ
−構成要素のみを含む「純粋」なラスタ−イメ−ジをエ
ディトするか、または、ラスタ−構成要素とベクトル構
成要素の双方を含む複合イメ−ジをエディットするため
に使用できる。
は、イメ−ジデ−タファイル202を読出た後、ラスタ
−構成要素のみを含む「純粋」なラスタ−イメ−ジをエ
ディトするか、または、ラスタ−構成要素とベクトル構
成要素の双方を含む複合イメ−ジをエディットするため
に使用できる。
【0152】これらラスタ−とベクトルの双方を含む構
成要素は、エディタ200に分離した、しかし互いに整
合したデ−タベ−スとして、記憶されている。
成要素は、エディタ200に分離した、しかし互いに整
合したデ−タベ−スとして、記憶されている。
【0153】図5は、図2の機能216における、「最
近接のラスタ−ブロッブを探知」する為の制御フロ−で
ある。
近接のラスタ−ブロッブを探知」する為の制御フロ−で
ある。
【0154】機能216において、エディタ200は、
使用者がマウス112(図1)を用いて、拾い上げた特
定のピクセルに「付随」した構成要素の、位置、方向、
幅を検出するように動作する。
使用者がマウス112(図1)を用いて、拾い上げた特
定のピクセルに「付随」した構成要素の、位置、方向、
幅を検出するように動作する。
【0155】機能216において、エディタ200は、
その選定されたピクセルのx−y組による座標を入力す
る。
その選定されたピクセルのx−y組による座標を入力す
る。
【0156】もし、選定したピクセルの付近でラスタ−
構成要素が検出されたときは、その選定されたピクセル
は「オン」、すなわち部分的に線状の一連の画素に近接
している。
構成要素が検出されたときは、その選定されたピクセル
は「オン」、すなわち部分的に線状の一連の画素に近接
している。
【0157】エディタ200は状態298において、実
行を開始し、状態300に移行して、「オン」のピクセ
ルすなわち、ラスタ−ブロッブが、選定した画素に近接
して存在するかどうかを、画素検出動作の実行により決
定する。
行を開始し、状態300に移行して、「オン」のピクセ
ルすなわち、ラスタ−ブロッブが、選定した画素に近接
して存在するかどうかを、画素検出動作の実行により決
定する。
【0158】最大検出半径の領域は、「オン」ピクセル
の「近接度」を検出する程度を規定しするもので、誤差
円とも呼ばれる。
の「近接度」を検出する程度を規定しするもので、誤差
円とも呼ばれる。
【0159】もし、テスト300が不十分なときは、エ
ディタ200は状態302に移行し、ここで機能216
を、ラスタ−ブロッブの不検出として、終了させる。
ディタ200は状態302に移行し、ここで機能216
を、ラスタ−ブロッブの不検出として、終了させる。
【0160】摘出点付近で「オン」ピクセルが検出され
ると、状態300から状態304に、エディタ200は
移行し、摘出点付近で「オン−オフ」移行、すなわち、
機能216におけるエディタ200が、エッジを探知し
たかを決定する。
ると、状態300から状態304に、エディタ200は
移行し、摘出点付近で「オン−オフ」移行、すなわち、
機能216におけるエディタ200が、エッジを探知し
たかを決定する。
【0161】状態304において、エディタ200は、
周囲の4方向について、スパイラル状のパタ−ン中の画
素を捜索する。
周囲の4方向について、スパイラル状のパタ−ン中の画
素を捜索する。
【0162】もし「オン−オフ」移行が見つからない場
合は、エディタ200は状態306に移行し、エラ−と
して機能216を終了する。
合は、エディタ200は状態306に移行し、エラ−と
して機能216を終了する。
【0163】もし状態304においてエッジが見つかる
と、エディタ200は状態308に移行し、そのエッジ
が部分的に円滑で直線かどうかを決定する。
と、エディタ200は状態308に移行し、そのエッジ
が部分的に円滑で直線かどうかを決定する。
【0164】この状態308における動作は、探知した
エッジ点付近のエッジ点を集めて、エッジピクセルのリ
ストとすることから始まる。
エッジ点付近のエッジ点を集めて、エッジピクセルのリ
ストとすることから始まる。
【0165】好ましい実施例では、このエッジピクセル
の収集は、イメ−ジプロセッサ160により実行され、
より高レベルの機能は、マイクロプロセッサ168及び
コプロセッサ172により行われる。
の収集は、イメ−ジプロセッサ160により実行され、
より高レベルの機能は、マイクロプロセッサ168及び
コプロセッサ172により行われる。
【0166】エディタ200は、エッジピクセルのリス
トを入力し、周知の最小2乗法エラ−アルゴリズムを使
用して、探知したエッジの傾斜を決定する。
トを入力し、周知の最小2乗法エラ−アルゴリズムを使
用して、探知したエッジの傾斜を決定する。
【0167】現在探知されているエッジの伝播方向を指
示するように、エッジ傾斜ベクトルの向きが合わせられ
る。
示するように、エッジ傾斜ベクトルの向きが合わせられ
る。
【0168】この方向決定は、エッジ傾斜ベクトルと、
2つのエッジフォロアの各々により収集された、最後の
エッジ点を接続するベクトル、との積の符号を調べるこ
とにより達成される。
2つのエッジフォロアの各々により収集された、最後の
エッジ点を接続するベクトル、との積の符号を調べるこ
とにより達成される。
【0169】2つのエッジフォロアは時計方向エッジフ
ォロアを反時計方向エッジフォロアと呼ばれ、この名称
の由来は以下の説明でより明確となろう。
ォロアを反時計方向エッジフォロアと呼ばれ、この名称
の由来は以下の説明でより明確となろう。
【0170】エッジがその近辺において、直線であるか
否かを調べるために、そのエッジベクトルの長さを計算
し、最小適合長と比較する。
否かを調べるために、そのエッジベクトルの長さを計算
し、最小適合長と比較する。
【0171】もしエッジが、その部分において円滑で直
線でない場合は、機能310によりエラ−状態が表示さ
れ、機能216の制御フロ−は停止する。
線でない場合は、機能310によりエラ−状態が表示さ
れ、機能216の制御フロ−は停止する。
【0172】エッジベクトルが、その部分において円滑
で直線である場合は、エディタ200は機能308から
状態312に移行し、現在のエッジベクトルと直角方向
の反対エッジを、構成要素を「スライス」することによ
り探知する。
で直線である場合は、エディタ200は機能308から
状態312に移行し、現在のエッジベクトルと直角方向
の反対エッジを、構成要素を「スライス」することによ
り探知する。
【0173】もし反対側エッジが状態316で発見され
ない場合には、状態318でエラ−状態が表示され、エ
ディタ200は機能216の制御フロ−を停止するか、
もしくわ、エディタ200は、状態320に移行し、反
対側エッジが元のエッジと、平行であるか否かが決定さ
れる。
ない場合には、状態318でエラ−状態が表示され、エ
ディタ200は機能216の制御フロ−を停止するか、
もしくわ、エディタ200は、状態320に移行し、反
対側エッジが元のエッジと、平行であるか否かが決定さ
れる。
【0174】この状態における機能は以下のように分解
できる。(1)反対側エッジについて、上記により元の
エッジについて説明したように、エッジ点を収集する、
(2)最小2乗法エラ−アルゴリズムを、双方のエッジ
ベクトルに起動して、両者が平行か否かを決定する、
(3)先のエッジベクトルで説明したと同様に、その平
行線に対し最小適合長を決定する。
できる。(1)反対側エッジについて、上記により元の
エッジについて説明したように、エッジ点を収集する、
(2)最小2乗法エラ−アルゴリズムを、双方のエッジ
ベクトルに起動して、両者が平行か否かを決定する、
(3)先のエッジベクトルで説明したと同様に、その平
行線に対し最小適合長を決定する。
【0175】もし平行エッジが発見されない場合は、エ
ディタ200は状態322に移行し、エラ−状態を表示
して制御フロ−を停止する。
ディタ200は状態322に移行し、エラ−状態を表示
して制御フロ−を停止する。
【0176】それ以外の場合は、エディタ200は状態
324に移行し、その部分のエッジ傾斜、線幅及びエッ
ジ開始点の座標を格納し、機能216は通常状態326
で終了する。
324に移行し、その部分のエッジ傾斜、線幅及びエッ
ジ開始点の座標を格納し、機能216は通常状態326
で終了する。
【0177】図5の制御フロ−は、図6のラスタ−ブロ
ッブの例を参照すると、より理解が可能となる。
ッブの例を参照すると、より理解が可能となる。
【0178】この例では、選択されたピクセル340
は、どのラスタ−ブロッブ内または付近にも位置してい
ない。
は、どのラスタ−ブロッブ内または付近にも位置してい
ない。
【0179】半径Rの誤差円344は、ピクセル340
周囲の「オン」ピクセルの検出のみを行う。
周囲の「オン」ピクセルの検出のみを行う。
【0180】この例では、状態300のテストは不可と
なる。もう1つのピクセル348は、ラスタ−ブロッブ
350上に位置している。
なる。もう1つのピクセル348は、ラスタ−ブロッブ
350上に位置している。
【0181】ピクセル348は状態300によるピクセ
ル探知のテストを直ちに満足する。ラスタ−ブロッブ3
50上のピクセル352が次に捜索され、指定ピクセル
348の近傍で「オン−オフ」移行であることが決定さ
れる。
ル探知のテストを直ちに満足する。ラスタ−ブロッブ3
50上のピクセル352が次に捜索され、指定ピクセル
348の近傍で「オン−オフ」移行であることが決定さ
れる。
【0182】エッジフォロアにより、エッジを線354
に沿って延長することにより、ラスタ−ブロッブ350
のエッジが、部分的に円滑で直線であることが見出され
る。
に沿って延長することにより、ラスタ−ブロッブ350
のエッジが、部分的に円滑で直線であることが見出され
る。
【0183】その後、ラスタ−ブロッブ350は、第2
の「オン−オフ」移行の画素358までスライスされ、
ここで同様のステップでブロッブ350の反対のエッジ
を検出し、この画素358のを含むエッジは線354に
平行で、円滑かつ直線であることが決定される。
の「オン−オフ」移行の画素358までスライスされ、
ここで同様のステップでブロッブ350の反対のエッジ
を検出し、この画素358のを含むエッジは線354に
平行で、円滑かつ直線であることが決定される。
【0184】図7は図2における状態220の「ブロッ
ブの形状認識」のフロ−ダイアグラムを示している。
ブの形状認識」のフロ−ダイアグラムを示している。
【0185】この機能の動作は、状態360で開始さ
れ、次に状態362に移行して、各々のエッジ端の状態
を「ランニング」に初期化する。
れ、次に状態362に移行して、各々のエッジ端の状態
を「ランニング」に初期化する。
【0186】状態366において、制御フロ−のル−プ
に入り、いずれかのエッジ端が「ランニング」、すなわ
ち、偏差(不連続)がないためにエッジの延長が停止し
ない状態の間、継続する。
に入り、いずれかのエッジ端が「ランニング」、すなわ
ち、偏差(不連続)がないためにエッジの延長が停止し
ない状態の間、継続する。
【0187】状態370で内部ル−プが開始し、各エッ
ジ端に1回の計2回ル−プ動作を行う。
ジ端に1回の計2回ル−プ動作を行う。
【0188】もしエッジ端が状態374のように「ラン
ニング」のときは、経路は状態378になり、エッジは
「偏差」が検出されるまで追尾(フォロウ)される。
ニング」のときは、経路は状態378になり、エッジは
「偏差」が検出されるまで追尾(フォロウ)される。
【0189】偏差は一般に交差、曲がり、またはギャッ
プと定義される。次の機能382で新たな「探索点(サ
ーベイポイント)」が、エッジピクセルのリストに加え
られる。
プと定義される。次の機能382で新たな「探索点(サ
ーベイポイント)」が、エッジピクセルのリストに加え
られる。
【0190】「探索点」は曲線の基準線上にある点を表
示する、メモリ上に記憶された点であり、その基準線
は、追尾されている平行なエッジ間の線幅を2等分する
線である。
示する、メモリ上に記憶された点であり、その基準線
は、追尾されている平行なエッジ間の線幅を2等分する
線である。
【0191】このようにして、エッジフォロアにより収
集されたピクセルは、その後廃棄され、これにより、不
要のピクセルの蓄積は避けられる。
集されたピクセルは、その後廃棄され、これにより、不
要のピクセルの蓄積は避けられる。
【0192】更にエッジは、線の1つの終端と相関がと
れるように、平らにならされる。更新されたエッジピク
セルのリストは、機能386における曲線適合アルゴリ
ズムにかけられ、線の傾斜が更新がされる。
れるように、平らにならされる。更新されたエッジピク
セルのリストは、機能386における曲線適合アルゴリ
ズムにかけられ、線の傾斜が更新がされる。
【0193】状態390において、偏差を横切りまたは
飛び越すように機能する。もし偏差が状態394におい
て、横切られまたは飛び越されない場合は、状態398
において終了状態となる。
飛び越すように機能する。もし偏差が状態394におい
て、横切られまたは飛び越されない場合は、状態398
において終了状態となる。
【0194】一方、もし状態394で偏差が横切られた
場合は、内部ル−プは継続する。状態398からも同一
の経路をとることができる。
場合は、内部ル−プは継続する。状態398からも同一
の経路をとることができる。
【0195】内部ル−プは、状態374において、いず
れかのエッジ端が「ランニング」でないときには停止す
る。
れかのエッジ端が「ランニング」でないときには停止す
る。
【0196】内部ル−プが2回転すると、すなわち、選
択したラスタ−構成要素の1のエッジ端について1回転
すると、エディタ200は状態370から状態402に
移行して、いずれか1の端が「ランニング」であるかを
テストする。
択したラスタ−構成要素の1のエッジ端について1回転
すると、エディタ200は状態370から状態402に
移行して、いずれか1の端が「ランニング」であるかを
テストする。
【0197】もし、いずれか1の端が、偏差を横切った
後に、「ランニング」であると、外部ル−プが状態36
6において継続する。
後に、「ランニング」であると、外部ル−プが状態36
6において継続する。
【0198】それ以外の場合は、機能220は状態40
4において停止する。図7に示すと同様の基本的制御フ
ロ−が、各々のタイプの構成要素、すなわち、線、複
線、円弧、長円弧、に適用できる。
4において停止する。図7に示すと同様の基本的制御フ
ロ−が、各々のタイプの構成要素、すなわち、線、複
線、円弧、長円弧、に適用できる。
【0199】これら各タイプの構成要素のための、固有
のアルゴリズムは、多少異なるが、そのような固有のア
ルゴルズムは、等業界の専門家が理解できる範囲であ
る。
のアルゴリズムは、多少異なるが、そのような固有のア
ルゴルズムは、等業界の専門家が理解できる範囲であ
る。
【0200】図8は図7の機能378における、エッジ
フォロアの制御フロ−を示す。機能378の動作は2つ
の異なる形態を取る。
フォロアの制御フロ−を示す。機能378の動作は2つ
の異なる形態を取る。
【0201】1つは、時計方向エッジフォロアであり、
もう1つは、反時計方向エッジフォロアである。
もう1つは、反時計方向エッジフォロアである。
【0202】いずれの場合も図8のエッジフォロア機能
378に示されるように、状態405によりこの機能に
入った後、変数が初期化される。
378に示されるように、状態405によりこの機能に
入った後、変数が初期化される。
【0203】状態410により主ル−プに入り、エディ
タ200は状態414で、次のエッジピクセルに進行す
る。
タ200は状態414で、次のエッジピクセルに進行す
る。
【0204】エッジ点処理機能418は値を格納する。
この機能418により返却された値が、状態422で
「継続」すべきものであるときは、状態410でル−プ
を継続する。
この機能418により返却された値が、状態422で
「継続」すべきものであるときは、状態410でル−プ
を継続する。
【0205】それ以外の場合は、この機能378の制御
フロ−は状態424で終了する。図9はエッジフォロア
の方向を規定するフロ−を示す。
フロ−は状態424で終了する。図9はエッジフォロア
の方向を規定するフロ−を示す。
【0206】各ステップにおいて、エッジフォロア機能
378の動作は、現在のピクセルから、隣接する8つの
ピクセルの1つに移動する。
378の動作は、現在のピクセルから、隣接する8つの
ピクセルの1つに移動する。
【0207】隣接する画素または方向は、連続的に記載
されており、南西方向の「0」ピクセル428から開始
して、順に反時計方向に移動する。
されており、南西方向の「0」ピクセル428から開始
して、順に反時計方向に移動する。
【0208】したがって、「0」ピクセル428に続き
「1」ピクセル430、「2」ピクセル432、「3」
ピクセル434、「4」ピクセル436、「5」ピクセ
ル438、「6」ピクセル440、「7」ピクセル44
2に移行する。
「1」ピクセル430、「2」ピクセル432、「3」
ピクセル434、「4」ピクセル436、「5」ピクセ
ル438、「6」ピクセル440、「7」ピクセル44
2に移行する。
【0209】図10はエッジフォロア機能378の反時
計方向動作により得られた経路443の例を示す。
計方向動作により得られた経路443の例を示す。
【0210】445で示す線の1つのエッジは、「オ
ン」ピクセル444aから出発し、終端ピクセル444
mで終了する。
ン」ピクセル444aから出発し、終端ピクセル444
mで終了する。
【0211】「オン」であるエッジピクセル444a、
444e、444g、444h及び444mは、後の操
作に用いるために、記憶される。
444e、444g、444h及び444mは、後の操
作に用いるために、記憶される。
【0212】時計方向のエッジフォロア378は、図示
していないが、線445の反対のエッジを行き来する。
していないが、線445の反対のエッジを行き来する。
【0213】図11は、図8の機能418で行われるよ
うな、構成要素を延長しながら各エッジ点を調べるプロ
セスを示している。
うな、構成要素を延長しながら各エッジ点を調べるプロ
セスを示している。
【0214】機能418の動作は、状態446から開始
し状態446のテストに移行して、エッジが閉ル−プを
構成するか否かを決定する。
し状態446のテストに移行して、エッジが閉ル−プを
構成するか否かを決定する。
【0215】閉ル−プはもし最後に通過したエッジ点の
座標が開始点のエッジと同一の場合、及びエッジの「結
線数」(ワインディングナンバ−)が絶対値8である場
合に生じる。
座標が開始点のエッジと同一の場合、及びエッジの「結
線数」(ワインディングナンバ−)が絶対値8である場
合に生じる。
【0216】各々のエッジフォロアは図9で示す各方向
に対応した8のステ−トを有するステ−トマシンとして
表すことができる。
に対応した8のステ−トを有するステ−トマシンとして
表すことができる。
【0217】もしエッジが「Jの字」のような曲がりを
有するかを決定するためには、現在のピクセル位置をエ
ッジフォロアの開始位置との相対関係で追尾することが
有用である。
有するかを決定するためには、現在のピクセル位置をエ
ッジフォロアの開始位置との相対関係で追尾することが
有用である。
【0218】このような位置情報は結線数として記憶さ
れる。結線数はゼロから開始し、完全な反時計方向回転
のあとは8の値になり、完全な時計方向回転のあとはマ
イナス8になり、いずれの場合も閉ル−プであること示
す。
れる。結線数はゼロから開始し、完全な反時計方向回転
のあとは8の値になり、完全な時計方向回転のあとはマ
イナス8になり、いずれの場合も閉ル−プであること示
す。
【0219】一例として、エッジフォロア機能378
(図8)の反時計方向型に対応するステ−トマシンを考
える。
(図8)の反時計方向型に対応するステ−トマシンを考
える。
【0220】「オフ」ピクセルに遭遇する毎に結線数は
1だけインクリメントし、次のステ−トが現在のステ−
トに1だけインクリメントされた状態に設定される。
1だけインクリメントし、次のステ−トが現在のステ−
トに1だけインクリメントされた状態に設定される。
【0221】もし「オン」ピクセルに遭遇し、ピクセル
方向即ちステ−トが奇数の場合、結線数は1だけデクリ
メントされて次のステ−トは現在のステ−トから1だけ
デクリメントされた状態となる。
方向即ちステ−トが奇数の場合、結線数は1だけデクリ
メントされて次のステ−トは現在のステ−トから1だけ
デクリメントされた状態となる。
【0222】もし「オン」ピクセルに遭遇したときのピ
クセル方向が偶数であれば、結線数は2だけデクリメン
トされて次のステ−トは現在のステ−トから2だけデク
リメントされた状態となる。
クセル方向が偶数であれば、結線数は2だけデクリメン
トされて次のステ−トは現在のステ−トから2だけデク
リメントされた状態となる。
【0223】勿論すべての算術的動作はモジュロ8によ
る計算による。エッジフォロアは同一のピクセルを二回
追従しないように最適化されている。
る計算による。エッジフォロアは同一のピクセルを二回
追従しないように最適化されている。
【0224】状態448で閉ル−プが指摘された場合に
は、「ル−プバック」状態として状態449に差し戻さ
れる。
は、「ル−プバック」状態として状態449に差し戻さ
れる。
【0225】それ以外の場合は、エディタ200は状態
448から450に移行し、エッジが公称軌道から分離
しているかを決定するテストが行われる。
448から450に移行し、エッジが公称軌道から分離
しているかを決定するテストが行われる。
【0226】公称軌道から遊離していることは、フレア
(像のにじみ)が発見されたことを意味する。
(像のにじみ)が発見されたことを意味する。
【0227】上記の基準線として定義された公称軌道
は、フレア線により外郭を定められた領域内で維持され
る。
は、フレア線により外郭を定められた領域内で維持され
る。
【0228】フレア線は投影線であり、おの基準線と平
行になっている。状態450において、エッジの基準線
(公称軌道)からそのエッジが分離している程度を示す
偏差を計算する。なお、本実施例では、エッジが公称軌
道と一致しない状態ないし動作を「分離」といい、その
程度を偏差という。また、本実施例では、分離が発生し
ている箇所を「分離箇所」または「偏差箇所」という。
行になっている。状態450において、エッジの基準線
(公称軌道)からそのエッジが分離している程度を示す
偏差を計算する。なお、本実施例では、エッジが公称軌
道と一致しない状態ないし動作を「分離」といい、その
程度を偏差という。また、本実施例では、分離が発生し
ている箇所を「分離箇所」または「偏差箇所」という。
【0229】この像の偏差は基準エッジベクトルと公称
エッジベクトルとのクロス積即ち垂直距離で表現され
る。
エッジベクトルとのクロス積即ち垂直距離で表現され
る。
【0230】もし偏差の絶対値が予め定めた最大値より
大きい場合には「過大分離」状況としてエッジ点処理機
能418により状態452に差戻される。
大きい場合には「過大分離」状況としてエッジ点処理機
能418により状態452に差戻される。
【0231】この予め定める最大値は使用者の希望する
正確さとスピ−ドとの妥協点を含む多数の設計条件によ
り決められる。
正確さとスピ−ドとの妥協点を含む多数の設計条件によ
り決められる。
【0232】一方、もし公称軌道が維持される場合に
は、状態450から状態454に移行し、エッジが「戻
り道」を有するかを決めるテストを行う。
は、状態450から状態454に移行し、エッジが「戻
り道」を有するかを決めるテストを行う。
【0233】この状態454において、エッジの最大延
長量と基準傾斜の方向が計算される。
長量と基準傾斜の方向が計算される。
【0234】エッジの延長におけるエッジフォロア機能
378(図8)の進行が、基準エッジベクトルと公称エ
ッジ延長ベクトルとのドット積で現されるように逆方向
となった場合には、「戻り道」状況となり状態456に
差戻される。
378(図8)の進行が、基準エッジベクトルと公称エ
ッジ延長ベクトルとのドット積で現されるように逆方向
となった場合には、「戻り道」状況となり状態456に
差戻される。
【0235】他の場合は「通常」状態であり、状態45
8に移行して機能418のの通常処理が終了する。
8に移行して機能418のの通常処理が終了する。
【0236】図12は図7の機能382による「新規の
探索点を計算しリストに入れよ」の状態を示す。
探索点を計算しリストに入れよ」の状態を示す。
【0237】状態460から開始し、エディタ200は
状態462に移行し、時計方向エッジフォロアが停止し
た終端エッジ点と、反時計エッジフォロアが停止した終
端エッジ点とが比較される。
状態462に移行し、時計方向エッジフォロアが停止し
た終端エッジ点と、反時計エッジフォロアが停止した終
端エッジ点とが比較される。
【0238】摘出されたピクセルまたは最後の分離点か
ら最長合計距離を進行したエッジは、より近くのエッジ
の停止点まで収縮される。
ら最長合計距離を進行したエッジは、より近くのエッジ
の停止点まで収縮される。
【0239】エッジを平滑化するプロセスは、蓄積した
近接の終端エッジ点のインデックスを、遠方のエッジを
収縮させるためのスタ−ト点のインデックスとなるよう
に選定することにより進行する。
近接の終端エッジ点のインデックスを、遠方のエッジを
収縮させるためのスタ−ト点のインデックスとなるよう
に選定することにより進行する。
【0240】遠方エッジの蓄積点は、(1)残りの点が
無くなるまで、(2)充分なドット積が(a)エッジ進
行方向にある近接エッジと接するベクトルと(b)近接
端子エッジ点から遠方エッジ点のベクトル空間の結合に
より規定されるベクトル、との間で得られまで、横切っ
て通過する。
無くなるまで、(2)充分なドット積が(a)エッジ進
行方向にある近接エッジと接するベクトルと(b)近接
端子エッジ点から遠方エッジ点のベクトル空間の結合に
より規定されるベクトル、との間で得られまで、横切っ
て通過する。
【0241】エディタ200は状態462から466に
移行し、探索点の間隔が計算される。
移行し、探索点の間隔が計算される。
【0242】統計的平均の手法により、延長された線上
のピクセルは捨てられてその場所には「探索点」が格納
される。
のピクセルは捨てられてその場所には「探索点」が格納
される。
【0243】基本的にはカ−ブは直線に近ければそれだ
け探索点の廃棄が多くなり、したがって、探索点のリス
トはそれだけまばらになる。
け探索点の廃棄が多くなり、したがって、探索点のリス
トはそれだけまばらになる。
【0244】最後の運行距離を決定た後、「新規の探索
点の間隔」が計算され、変数として格納される。
点の間隔」が計算され、変数として格納される。
【0245】次に、ル−プ状態470ににおいて、新規
の探索点が探索点リストに追加される。
の探索点が探索点リストに追加される。
【0246】したがって、状態474で、前回の探索点
から「新規の探索点の間隔」の距離分はなれた時計方向
エッジの点が選択される。
から「新規の探索点の間隔」の距離分はなれた時計方向
エッジの点が選択される。
【0247】状態478でこの選択された点の公称カ−
ブ方向が決定される。状態482において、時計方向エ
ッジの選択された探索点と対等となる反時計方向エッジ
の探索点が決定される。
ブ方向が決定される。状態482において、時計方向エ
ッジの選択された探索点と対等となる反時計方向エッジ
の探索点が決定される。
【0248】状態486において、エッジ点座標を平均
することにより、線の中心が計算され、状態490で、
その線の中心と方向がリストに追加された探索点の記録
に格納される。
することにより、線の中心が計算され、状態490で、
その線の中心と方向がリストに追加された探索点の記録
に格納される。
【0249】探索点リストに充分な探索点が追加される
まで、ル−プは状態494からル−プ状態470に戻る
ことにより継続する。
まで、ル−プは状態494からル−プ状態470に戻る
ことにより継続する。
【0250】状態494においてル−プから出ると、状
態498において、線エッジは最近接する一対の平行線
に適合される。
態498において、線エッジは最近接する一対の平行線
に適合される。
【0251】各エッジに関連する探索点は自己標準化さ
れ、このためエディタ200はより高速の整数計算機能
を行うことができる。
れ、このためエディタ200はより高速の整数計算機能
を行うことができる。
【0252】好ましい実施例においては、実際にピクセ
ル位置と異なる全てのデ−タ点が固定した点のフォ−マ
ットで格納される。
ル位置と異なる全てのデ−タ点が固定した点のフォ−マ
ットで格納される。
【0253】しかし必要であればデ−タ点は浮動点フォ
−マットで格納され処理される事もできる。
−マットで格納され処理される事もできる。
【0254】状態498の平行線適合においては、もし
エッジ点が「垂直よりはより水平」であれば、各エッジ
は式、x=ay+b、に適合し、その他の場合は各エッ
ジは式、y=ax+b、に適合する。
エッジ点が「垂直よりはより水平」であれば、各エッジ
は式、x=ay+b、に適合し、その他の場合は各エッ
ジは式、y=ax+b、に適合する。
【0255】この「垂直よりはより水平」のテストはエ
ッジデ−タの両グル−プにおけるx及びyのモ−メント
を比較して行われる。
ッジデ−タの両グル−プにおけるx及びyのモ−メント
を比較して行われる。
【0256】別個の線が各エッジに適合されるが、得ら
れるエッジは平行なので、単一の傾斜のみが計算され
る。
れるエッジは平行なので、単一の傾斜のみが計算され
る。
【0257】このようにして得られた式群は上半三角マ
トリクスを形成しガウス−ジョ−ダン削除と後方置換を
用いて解かれる。
トリクスを形成しガウス−ジョ−ダン削除と後方置換を
用いて解かれる。
【0258】二つのエッジはこれにより、y1=ax1
+b1、y2=ax2+b2、として現される。
+b1、y2=ax2+b2、として現される。
【0259】軸上のb1とb2はの原点からの距離のそ
れぞれ2点間にに標準化される。このらの2点間はy軸
上の2本の線間の分離距離を求めるために差し引かれ
る。
れぞれ2点間にに標準化される。このらの2点間はy軸
上の2本の線間の分離距離を求めるために差し引かれ
る。
【0260】線幅は単位長さ勾配と分離距離との積によ
り計算される。適合線からの各エッジの偏差が計算され
る。
り計算される。適合線からの各エッジの偏差が計算され
る。
【0261】新規に延長された線またはカ−ブの勾配が
線の中心として決定され、状態502において最終探索
点として格納される。
線の中心として決定され、状態502において最終探索
点として格納される。
【0262】平均線幅が状態506で更新され、制御フ
ロ−382は状態508で終了する。
ロ−382は状態508で終了する。
【0263】図13は図7における「カ−ブ適合を再計
算せよ」の機能を示している。機能386は線適合デ−
タの最小自乗法デ−タに新規に得られた探索点を加える
ことにより線適合情報を更新する。
算せよ」の機能を示している。機能386は線適合デ−
タの最小自乗法デ−タに新規に得られた探索点を加える
ことにより線適合情報を更新する。
【0264】新規探索点は現存する線適合と一列に整列
するか調べられる。もし探索点が許容範囲を越える場合
には、カ−ブ端が終了する。
するか調べられる。もし探索点が許容範囲を越える場合
には、カ−ブ端が終了する。
【0265】エディタ200は状態509で機能386
を開始する。状態510に進行し、最小自乗法誤差カ−
ブ適合の合計は更新される。
を開始する。状態510に進行し、最小自乗法誤差カ−
ブ適合の合計は更新される。
【0266】状態514で線適合パラメ−タは、まず線
適合情報の未標準化勾配が計算され、次に勾配ベクトル
を標準化し点群の中心軌跡を計算することにより、再計
算される。
適合情報の未標準化勾配が計算され、次に勾配ベクトル
を標準化し点群の中心軌跡を計算することにより、再計
算される。
【0267】新規の勾配ベクトルは正規の方向、即ち、
旧勾配と全体的に同一の方向を示すように向けられる。
旧勾配と全体的に同一の方向を示すように向けられる。
【0268】次に状態514から状態518に移行し、
総合的な線適合情報が更新される。上記の議論は線に関
連して行われているが、この技術分野の専門家であれ
ば、他の幾何学的構成要素を含む一般化されたものとし
て認識することができる。
総合的な線適合情報が更新される。上記の議論は線に関
連して行われているが、この技術分野の専門家であれ
ば、他の幾何学的構成要素を含む一般化されたものとし
て認識することができる。
【0269】この更新するステップは、新規に計算され
た勾配と各終了点の最終探索点の基準点を用いて、新規
の終了探索点を形成するステップを含む。
た勾配と各終了点の最終探索点の基準点を用いて、新規
の終了探索点を形成するステップを含む。
【0270】次に線適合デ−タの為の終了点が形成され
る。これらの点は適合線上に位置し、カ−ブのいずれの
他の終了点の終了探索点と対等となる。
る。これらの点は適合線上に位置し、カ−ブのいずれの
他の終了点の終了探索点と対等となる。
【0271】機能386は状態520で終了する。図1
4、図15,図16及び図17は、図7に示した「偏差
箇所を通過またはジャンプを試みよ」の機能を現してい
る。
4、図15,図16及び図17は、図7に示した「偏差
箇所を通過またはジャンプを試みよ」の機能を現してい
る。
【0272】エディタ200は状態521で機能390
を開始し状態522に進行する。状態522は閉ル−プ
が検出されたときに正しく探索点リストを形成するため
に用いられる。
を開始し状態522に進行する。状態522は閉ル−プ
が検出されたときに正しく探索点リストを形成するため
に用いられる。
【0273】各エッジフォロアにより格納されたエッジ
の現況(エッジステ−タス)において、もし「ル−プバ
ック」状況が検出された場合には、状態522は両カ−
ブ終了端ステ−タスを「停止」に設定し、機能390は
状態524で終了する。
の現況(エッジステ−タス)において、もし「ル−プバ
ック」状況が検出された場合には、状態522は両カ−
ブ終了端ステ−タスを「停止」に設定し、機能390は
状態524で終了する。
【0274】ル−プバックが検出されなければ、エディ
タ200は機能390を状態526に移行して、エッジ
フレアまたはエッジ引き返しに対して「前方監視」が実
行され、その結果が格納される。
タ200は機能390を状態526に移行して、エッジ
フレアまたはエッジ引き返しに対して「前方監視」が実
行され、その結果が格納される。
【0275】前方監視の機能のため、ル−プバックのチ
ェックは状態530で行われる。もしル−プバックが検
出されときは、機能390は状態532で終了する。
ェックは状態530で行われる。もしル−プバックが検
出されときは、機能390は状態532で終了する。
【0276】一方、ル−プバックが検出されない場合
は、状態534に移行して、探索点リストが満杯である
かを決定する。
は、状態534に移行して、探索点リストが満杯である
かを決定する。
【0277】もし探索点リストが満杯でないときは、状
態538においてカ−ブ適合エラ−が推定される。
態538においてカ−ブ適合エラ−が推定される。
【0278】状態542でエッジ引き返し状況のテスト
が行われる。このテスト結果が否の場合には、状態54
6でエッジ端において「単純延長」のテストが行われ
る。
が行われる。このテスト結果が否の場合には、状態54
6でエッジ端において「単純延長」のテストが行われ
る。
【0279】状態550でこのエッジが平滑で平行であ
るかのテストも行われる。このテスト結果が否の場合
は、エッジフォロア378(図8)は終了点から再開始
することが許可される。
るかのテストも行われる。このテスト結果が否の場合
は、エッジフォロア378(図8)は終了点から再開始
することが許可される。
【0280】状態554でカ−ブ適合誤差が、最小誤差
と最大誤差により規定される許容誤差範囲内であるかチ
ェックされる。
と最大誤差により規定される許容誤差範囲内であるかチ
ェックされる。
【0281】適合誤差が許容範囲の場合には、状態55
8においてカ−ブ端ステ−タスが「ランニング」に設定
される。
8においてカ−ブ端ステ−タスが「ランニング」に設定
される。
【0282】最後に、状態562において、カ−ブの反
対端を延長するための総合的情報が用意され、その後機
能390は状態564において終了する。
対端を延長するための総合的情報が用意され、その後機
能390は状態564において終了する。
【0283】制御フロ−の状態550にもどり、もしエ
ッジが平滑で平行でなければ、エディタ200は状態5
66(図15)に移り、探索点リストが満杯か否かを決
定するためのテストをする。
ッジが平滑で平行でなければ、エディタ200は状態5
66(図15)に移り、探索点リストが満杯か否かを決
定するためのテストをする。
【0284】図14に示した状態542から554の制
御フロ−がそれに引き続き行われる。
御フロ−がそれに引き続き行われる。
【0285】もりリストが満杯でなければ、エディタ2
00は状態570に進行し、この終端が「休止」、すな
わち、一時的停止を示す状態になっていないかを決定す
るテストをし、さらに、他の終端が「停止」になってい
ないかテストする。
00は状態570に進行し、この終端が「休止」、すな
わち、一時的停止を示す状態になっていないかを決定す
るテストをし、さらに、他の終端が「停止」になってい
ないかテストする。
【0286】このテストが否の場合は、状態574にお
いて「曲がり角」が検出されたかをテストする。
いて「曲がり角」が検出されたかをテストする。
【0287】曲がり角が検出されない場合は、状態57
8(図16)において、カ−ブ適合誤差が許容範囲を越
えたかをテストする。
8(図16)において、カ−ブ適合誤差が許容範囲を越
えたかをテストする。
【0288】このテストが否の場合は、状態582にお
いて、エディタ200は例えば図3のトグル276のよ
うな、交差点横切り通過を起動させるか否かの問いを発
生する。
いて、エディタ200は例えば図3のトグル276のよ
うな、交差点横切り通過を起動させるか否かの問いを発
生する。
【0289】これが肯定の場合は、状態584におい
て、線の継続についての障害を越えて探査が実行される
(図16)。
て、線の継続についての障害を越えて探査が実行される
(図16)。
【0290】次に、機能586で交差点通過が成功した
かを決定するテストがおこなわれる。
かを決定するテストがおこなわれる。
【0291】これが満足された場合には、状態590に
おいて、終端ステ−タスを「ランニング」に設定する。
おいて、終端ステ−タスを「ランニング」に設定する。
【0292】エディタ200により図17の状態594
に移行し、反対側の終端を延長するための総合情報を用
意し、機能390は状態596で終了する。
に移行し、反対側の終端を延長するための総合情報を用
意し、機能390は状態596で終了する。
【0293】エディタ200は探索点リストが満杯のと
きは、図14の状態534から別のフロ−に移り、この
場合は状態598に移行して終端ステ−タスが「停止」
に設定される。
きは、図14の状態534から別のフロ−に移り、この
場合は状態598に移行して終端ステ−タスが「停止」
に設定される。
【0294】これに続き図17の状態602に移行し、
検討中のラスタ−ブロッブの他の探索部分の情報が蓄積
される。
検討中のラスタ−ブロッブの他の探索部分の情報が蓄積
される。
【0295】エディタ200は次に、状態594に移行
し、カ−ブの反対側終端の延長をするための総合情報を
用意し、状態596で終了する。
し、カ−ブの反対側終端の延長をするための総合情報を
用意し、状態596で終了する。
【0296】同様にして、図15において、もし探索点
リストが状態566において満杯の場合は、ある予期し
ない条件により、状態606で終端ステ−タスを「停
止」に設定したことを意味する。
リストが状態566において満杯の場合は、ある予期し
ない条件により、状態606で終端ステ−タスを「停
止」に設定したことを意味する。
【0297】状態570で、この終端が休止にならずか
つ他の終端が停止にならない場合は、状態610で終端
ステ−タスが「休止」に設定され、これにより、ラスタ
−構成要素の他の終端に移行するための準備状態にな
る。
つ他の終端が停止にならない場合は、状態610で終端
ステ−タスが「休止」に設定され、これにより、ラスタ
−構成要素の他の終端に移行するための準備状態にな
る。
【0298】しかし、エディタ200は現在実行中の線
の他の終端の延長がなされるまでは、曲がり角操作また
は交差点操作は行わない。
の他の終端の延長がなされるまでは、曲がり角操作また
は交差点操作は行わない。
【0299】図15の状態570における一方のフロ−
では、曲がり角テストがおこなわれる。
では、曲がり角テストがおこなわれる。
【0300】曲がり角は、両エッジが同一のフレア線を
横切るのを観測して検出される。状態574におて曲が
り角が検出されたときは、状態614に移行して、カ−
ブの形態が曲がり角、例えば複線(ポリライン)である
かを決定する。
横切るのを観測して検出される。状態574におて曲が
り角が検出されたときは、状態614に移行して、カ−
ブの形態が曲がり角、例えば複線(ポリライン)である
かを決定する。
【0301】もし曲がり角である場合は、状態618に
移行し、この角を越えてカ−ブ追尾を行うための総合変
数が設定され、その後図16の状態578に復帰する。
移行し、この角を越えてカ−ブ追尾を行うための総合変
数が設定され、その後図16の状態578に復帰する。
【0302】それ以外の場合は、状態614から状態6
22に移行して、終端ステ−タスを「停止」に設定す
る。
22に移行して、終端ステ−タスを「停止」に設定す
る。
【0303】図16において、状態578においてカ−
ブ適合許容範囲を越えたかが観察され、もし越えていれ
ばその線は過剰にうねりがあり追尾に不適当であり、エ
ディタ200は状態626に移行して、終端ステ−タス
を「停止」に設定する。
ブ適合許容範囲を越えたかが観察され、もし越えていれ
ばその線は過剰にうねりがあり追尾に不適当であり、エ
ディタ200は状態626に移行して、終端ステ−タス
を「停止」に設定する。
【0304】エディタ200は次に状態602(図1
7)に移行する。状態582のテストが否であり、状態
630において「停止」に設定された場合にも、状態6
02に移行する。
7)に移行する。状態582のテストが否であり、状態
630において「停止」に設定された場合にも、状態6
02に移行する。
【0305】図18は、図16における、機能586の
「交差点通過」の制御フロ−を示す。
「交差点通過」の制御フロ−を示す。
【0306】状態634において、カ−ブ終端ステ−タ
スが「停止」に設定される。交差点通過の試行が不可と
なるには、多数の理由たあるため、ラスタ−構成要素に
おけるこの終端で、線が停止した、との予想をたてる。
スが「停止」に設定される。交差点通過の試行が不可と
なるには、多数の理由たあるため、ラスタ−構成要素に
おけるこの終端で、線が停止した、との予想をたてる。
【0307】状態634の後に状態638となり、交差
点情報にスペ−スを割り当てる為の試行がなされる。
点情報にスペ−スを割り当てる為の試行がなされる。
【0308】もし交差点情報スペ−スが割当不可の場
合、すなわち、現在の構成要素の交差点通過の合計数
が、最大値に達している場合には、機能586は状態6
40で終了する。
合、すなわち、現在の構成要素の交差点通過の合計数
が、最大値に達している場合には、機能586は状態6
40で終了する。
【0309】そうでない場合には、エディタ200は状
態642に移行し、交差線の幅の値を予測する。
態642に移行し、交差線の幅の値を予測する。
【0310】この障害の線幅は現在の構成要素の線幅と
同一と推定される。交差角度は鋭角と推定される。
同一と推定される。交差角度は鋭角と推定される。
【0311】交差点の長さLは、双方の線の幅をWと仮
定して、次の式で現される。 L=W・(1/sin(A)+cos(A)/sin(A)) ここでAは交差点の角度であり、90°以下である。
定して、次の式で現される。 L=W・(1/sin(A)+cos(A)/sin(A)) ここでAは交差点の角度であり、90°以下である。
【0312】状態646において、エディタ200は使
用者によって選定された、基準構成要素のうち現在検討
中の構成要素に基づいた、変数を初期化することにより
交差点を「スライス」する準備をする。
用者によって選定された、基準構成要素のうち現在検討
中の構成要素に基づいた、変数を初期化することにより
交差点を「スライス」する準備をする。
【0313】スライスとは選択されたラスタ−構成要素
を横に切る(断面)ことである。線の終端(このときの
ステ−タスは「停止」)と交差する障害物との間の、多
数のスライスを形成しかつ分析することにより、交差部
分の全体の「形状」が決定される。
を横に切る(断面)ことである。線の終端(このときの
ステ−タスは「停止」)と交差する障害物との間の、多
数のスライスを形成しかつ分析することにより、交差部
分の全体の「形状」が決定される。
【0314】分析されるスライスの数は、エディタの設
計や現在対象とする特定のイメ−ジ及び構成要素寸法に
より異なる。
計や現在対象とする特定のイメ−ジ及び構成要素寸法に
より異なる。
【0315】ラスタ−障害物をスライスする際、エディ
タ200は「オフからオン」へのピクセルの変化を探
し、この変化は交差する障害物を通過した構成要素の継
続可能性を示している。
タ200は「オフからオン」へのピクセルの変化を探
し、この変化は交差する障害物を通過した構成要素の継
続可能性を示している。
【0316】この各スライスの継続可能性の情報は、更
に処理を行う為に保存される。この格納された情報は、
エッジピクセル及び中心ピクセル等のスライスに含まれ
る情報を含む。
に処理を行う為に保存される。この格納された情報は、
エッジピクセル及び中心ピクセル等のスライスに含まれ
る情報を含む。
【0317】スライス動作は最後の探索点から開始し、
そこから使用者により選定された、構成要素の性質に基
づいた基準線の方向へ進行する。
そこから使用者により選定された、構成要素の性質に基
づいた基準線の方向へ進行する。
【0318】状態650で延長を開始するためのサ−チ
がおこなわれ、これはル−プの一方に対応すると共に、
その他方は状態682に接続されている。
がおこなわれ、これはル−プの一方に対応すると共に、
その他方は状態682に接続されている。
【0319】このル−プは予め定めた最大スライス数に
達した場合、または継続が発見された場合に停止する。
達した場合、または継続が発見された場合に停止する。
【0320】処理手順が進むにつれ、スライスの長さが
増加し、基本形状のパタ−ンがラスタ−構成要素上に形
成される。
増加し、基本形状のパタ−ンがラスタ−構成要素上に形
成される。
【0321】状態654においてスライスの中心点が1
単位、すなわち1ピクセル分更新される。
単位、すなわち1ピクセル分更新される。
【0322】スライス分析機能658(図20)で新規
のスライスが分析される。機能658でエラ−があり、
状態662でチェックされると、エディタ200は図1
9に示された状態666に移動し、暫定メモリ空間を解
放にする。
のスライスが分析される。機能658でエラ−があり、
状態662でチェックされると、エディタ200は図1
9に示された状態666に移動し、暫定メモリ空間を解
放にする。
【0323】エディタ200は状態670に移行し、フ
ェイルコ−ドを差戻しして、状態672で終了する。
ェイルコ−ドを差戻しして、状態672で終了する。
【0324】図18の状態662で、機能658のスラ
イス工程でエラ−が全くなかった場合には、状態674
に移行してエディタ200は、連続するスライスの最小
数が、少なくとも1の延長と相関、すなわち「トレ−
ス」するかが決定される。
イス工程でエラ−が全くなかった場合には、状態674
に移行してエディタ200は、連続するスライスの最小
数が、少なくとも1の延長と相関、すなわち「トレ−
ス」するかが決定される。
【0325】もしそのようなトレ−スが見出された場合
は、エディタ200は図19の状態666に移り上記し
たように機能する。
は、エディタ200は図19の状態666に移り上記し
たように機能する。
【0326】もしトレ−スが全く無かった場合は、状態
678に移行し、エディタ200はトレ−ス中にギャッ
プが検出されたか、そしてそのギャップが動作を継続す
るには大きすぎるかが決定される。
678に移行し、エディタ200はトレ−ス中にギャッ
プが検出されたか、そしてそのギャップが動作を継続す
るには大きすぎるかが決定される。
【0327】もしそのようなギャップが見いだされた場
合は、エディタ200は状態666(図19)に移り上
記のように機能する。
合は、エディタ200は状態666(図19)に移り上
記のように機能する。
【0328】状態678において、もしそのようなギャ
ップが無い場合には、エディタ200は次に状態682
に移動し、全ての可能なスライスに対し、サ−チが終了
したかを決定する。
ップが無い場合には、エディタ200は次に状態682
に移動し、全ての可能なスライスに対し、サ−チが終了
したかを決定する。
【0329】サ−チが終了の場合は、エディタ200は
状態666(図19)に移行し、上記の機能を行う。
状態666(図19)に移行し、上記の機能を行う。
【0330】サ−チの終了でない場合は、エディタ20
0は状態650において、ル−プの最初に戻り次のスラ
イスの処理を行う。
0は状態650において、ル−プの最初に戻り次のスラ
イスの処理を行う。
【0331】もし構成要素が例えばギャップのため、延
長不可能の場合は、使用者は図4のメニュ−290に示
すような、延長(EXTEND)機能を介在させるかを
選択できる。
長不可能の場合は、使用者は図4のメニュ−290に示
すような、延長(EXTEND)機能を介在させるかを
選択できる。
【0332】状態674に戻り、もし有効なトレ−ス
(または延長)が発見された場合は、エディタ200は
図19に示す状態686に移行し、延長されたエッジ点
が有効であるかがテストされる。
(または延長)が発見された場合は、エディタ200は
図19に示す状態686に移行し、延長されたエッジ点
が有効であるかがテストされる。
【0333】エッジ点の有効性は、エッジフォロア機能
378(図8)により多数のエッジ点を収集し、次にそ
れらのエッジが平行で同一方向であるかをチェックして
おこなわれる。
378(図8)により多数のエッジ点を収集し、次にそ
れらのエッジが平行で同一方向であるかをチェックして
おこなわれる。
【0334】エッジ点が有効でない場合は、エディタ2
00は状態686から状態666に移行し、上記したよ
うな機能を果たす。
00は状態686から状態666に移行し、上記したよ
うな機能を果たす。
【0335】反対に、延長したエッジ点が有効の場合
は、エディタ200は状態686から状態690に移行
し、延長の開始における探索点を作成する。
は、エディタ200は状態686から状態690に移行
し、延長の開始における探索点を作成する。
【0336】この新規の探索点は、2つのエッジ再開始
点の中心で、交差点を越えた位置に置かれる。
点の中心で、交差点を越えた位置に置かれる。
【0337】最終サ−チ方向の傾斜が決められる。その
後、状態694となり、交差するラスタ−ブロッブから
探索したカ−ブを分離するために、交差情報が記憶され
る。
後、状態694となり、交差するラスタ−ブロッブから
探索したカ−ブを分離するために、交差情報が記憶され
る。
【0338】単一の交差する線の例では、この交差情報
は各交差頂点に近接する「オフ」ピクセルの4つの交差
点配置を含んでいる。
は各交差頂点に近接する「オフ」ピクセルの4つの交差
点配置を含んでいる。
【0339】機能586においてエディタ200は、次
に状態698に移行し、ギャップが検出されたかを決定
する。
に状態698に移行し、ギャップが検出されたかを決定
する。
【0340】状態698でギャップが検出された場合に
は、エディタ200は状態702に移行し、そのギャッ
プが「完全」であるかを決定する。
は、エディタ200は状態702に移行し、そのギャッ
プが「完全」であるかを決定する。
【0341】例えば「T」字交差のように、そのギャッ
プに交差する線が無い場合は、そのギャップは完全であ
り、交差線を有しないギャップとして取り扱われる。
プに交差する線が無い場合は、そのギャップは完全であ
り、交差線を有しないギャップとして取り扱われる。
【0342】状態702におけるテストが満足された場
合のみ、そのギャップは横切られる。
合のみ、そのギャップは横切られる。
【0343】状態702のテストは、その線エッジにフ
レアが存在しないことを確認することにり行われる。
レアが存在しないことを確認することにり行われる。
【0344】状態702で交差線が検出された場合に
は、機能586は終了し状態666に移行して、上記の
ように機能する。
は、機能586は終了し状態666に移行して、上記の
ように機能する。
【0345】それ以外の場合は、もしギャップが「完
全」であれば、エディタ200は状態706に移行し、
探索点情報及び交差情報を永続リストに追加する。
全」であれば、エディタ200は状態706に移行し、
探索点情報及び交差情報を永続リストに追加する。
【0346】この永続リストは探索点情報及び交差情報
を、現在のラスタ−構成要素が取り扱われている間にわ
たり保持する。
を、現在のラスタ−構成要素が取り扱われている間にわ
たり保持する。
【0347】エディタ200は次に状態710に移行
し、時計方向、反時計方向エッジフォロア378(図
8)が、延長部分に継続して行われるように設定され
る。
し、時計方向、反時計方向エッジフォロア378(図
8)が、延長部分に継続して行われるように設定され
る。
【0348】状態714で現在の終端ステ−タスを「ラ
ンニング」に設定する。状態718で機能586の「成
功」ステ−タスとなり、これは交差が横切られ、すなわ
ちギャップが飛び越され、構成要素が延長を継続できる
ことを意味する。
ンニング」に設定する。状態718で機能586の「成
功」ステ−タスとなり、これは交差が横切られ、すなわ
ちギャップが飛び越され、構成要素が延長を継続できる
ことを意味する。
【0349】機能586は状態720で終了する。図2
0,21は、図18の機能658で示された「新規の交
差スライスを分析する」機能の制御フロ−を現してい
る。
0,21は、図18の機能658で示された「新規の交
差スライスを分析する」機能の制御フロ−を現してい
る。
【0350】機能658はまた走査線アルゴリズムとも
呼ばれており、これはビデオ走査線のように、各スライ
スが現在のラスタ−構成要素に対し垂直線を構成するか
らである。
呼ばれており、これはビデオ走査線のように、各スライ
スが現在のラスタ−構成要素に対し垂直線を構成するか
らである。
【0351】機能658は状態721で開始し、状態7
22に移行して、スライス終点を得るべきスライスの開
始点を決定する。
22に移行して、スライス終点を得るべきスライスの開
始点を決定する。
【0352】状態726で幾つかのステップ変数が実行
され、状態726のル−プに移行し、スライスとピクセ
ルを同時に探索る。
され、状態726のル−プに移行し、スライスとピクセ
ルを同時に探索る。
【0353】このル−プの目的は、「一致リスト」に遷
移ピクセルの組を集めることである。
移ピクセルの組を集めることである。
【0354】このような組は「オン−オフ」または「オ
フ−オン」のいずれかである。スライス探査により、
「オフ−オン」と「オン−オフ」の組合せが見つかった
ときは、交差は終了する。
フ−オン」のいずれかである。スライス探査により、
「オフ−オン」と「オン−オフ」の組合せが見つかった
ときは、交差は終了する。
【0355】ル−プはまず状態734に移行して、現在
のピクセルが「オン」であるかをテストする。
のピクセルが「オン」であるかをテストする。
【0356】現在のピクセルとは、いま分析しているス
ライスのピクセルである。ル−プの第1回目は、このピ
クセルは、状態722で求めた開始点を現す。
ライスのピクセルである。ル−プの第1回目は、このピ
クセルは、状態722で求めた開始点を現す。
【0357】もし現在のピクセルが「オフ」の場合は、
状態738に移行し、その前のピクセルが「オン」であ
ったかをテストする。
状態738に移行し、その前のピクセルが「オン」であ
ったかをテストする。
【0358】もしそうであった場合は、状態742に移
行し、その前に「オフ−オン」移行があったかをテスト
する。
行し、その前に「オフ−オン」移行があったかをテスト
する。
【0359】このテストの結果が肯定であれば、制御フ
ロ−は状態746に移行し、「一致(ヒット)リスト」
に「オン−オフ」移行が格納される。
ロ−は状態746に移行し、「一致(ヒット)リスト」
に「オン−オフ」移行が格納される。
【0360】ポインタ−は状態750(図21)でスラ
イスの次のピクセルに進み、状態754でル−プの最後
に到達し、スライスの最終条件が存在するかをテストす
る。
イスの次のピクセルに進み、状態754でル−プの最後
に到達し、スライスの最終条件が存在するかをテストす
る。
【0361】スライスの最終条件となっていない場合に
は、制御フロ−は状態730で、ル−プの最初に戻る
(図20)。
は、制御フロ−は状態730で、ル−プの最初に戻る
(図20)。
【0362】図20の状態738または742による、
ル−プ内の他の経路を取った場合には、状態750でた
だちにスライス内の次のピクセル進行する条件が整わな
かった場合を意味する。
ル−プ内の他の経路を取った場合には、状態750でた
だちにスライス内の次のピクセル進行する条件が整わな
かった場合を意味する。
【0363】状態734におけるテストが肯定であれ
ば、すなわち現在のピクセルが「オン」であれば、制御
フロ−は状態758に移行し、その前のピクセルが「オ
ン」であるかテストする。
ば、すなわち現在のピクセルが「オン」であれば、制御
フロ−は状態758に移行し、その前のピクセルが「オ
ン」であるかテストする。
【0364】このテスト結果が肯定であれば、制御フロ
−は状態750に移行する。そうでない場合には、状態
758から状態762に移動し、「一致リスト」にオフ
−オン移行を格納する。
−は状態750に移行する。そうでない場合には、状態
758から状態762に移動し、「一致リスト」にオフ
−オン移行を格納する。
【0365】この状態の後、状態766になり、ギャッ
プカウンタがリセットされ、状態750に進行する。
プカウンタがリセットされ、状態750に進行する。
【0366】ル−プが状態754でスライスの最後のピ
クセルを発見することにより、完了した場合には、制御
フロ−は機能770に移行し(図22)、有効なカ−ブ
延長を探すために「一致リスト」が分析される。
クセルを発見することにより、完了した場合には、制御
フロ−は機能770に移行し(図22)、有効なカ−ブ
延長を探すために「一致リスト」が分析される。
【0367】最小遷移数に相関があれば、有効なカ−ブ
延長が発見されたことになる。機能770でこの分析が
完了すると、制御フロ−は状態774に移行し、延長が
あったかの問いがなされる。
延長が発見されたことになる。機能770でこの分析が
完了すると、制御フロ−は状態774に移行し、延長が
あったかの問いがなされる。
【0368】もし延長が無かった場合は、制御フロ−は
状態774から状態778に移行し、「スライスの継
続」となる。
状態774から状態778に移行し、「スライスの継
続」となる。
【0369】状態774で延長があった場合は、制御フ
ロ−は状態782に移行し、「延長の存在」状態とな
り、状態780に移行してアルゴリズム658は終了す
る。
ロ−は状態782に移行し、「延長の存在」状態とな
り、状態780に移行してアルゴリズム658は終了す
る。
【0370】図22は図21の機能770に対応する
「有効カ−ブ延長のヒットリストを解析」の機能を示
す、制御フロ−である。
「有効カ−ブ延長のヒットリストを解析」の機能を示
す、制御フロ−である。
【0371】機能770は現在のスライス中の最新の一
致(ヒット)を取り出し、その変化を反映してトレ−ス
構造を更新する。
致(ヒット)を取り出し、その変化を反映してトレ−ス
構造を更新する。
【0372】一致はクロス積を増加させることにより整
順しなければならない。エディタ200は状態784で
機能770に入り、状態786に移行して、新規のスラ
イス中心について、総合トレ−スデ−タを調整する。
順しなければならない。エディタ200は状態784で
機能770に入り、状態786に移行して、新規のスラ
イス中心について、総合トレ−スデ−タを調整する。
【0373】これはスライスの移動が矯正されたこと及
び矯正されたスライスが収集されたことを意味する。
び矯正されたスライスが収集されたことを意味する。
【0374】次に状態790で示す−ル−プの開始位置
に移行する。このル−プは「オフ−オン」および「オン
−オフ」遷移の組数により定められる。
に移行する。このル−プは「オフ−オン」および「オン
−オフ」遷移の組数により定められる。
【0375】状態794で現在の一致(ヒット)組とス
ライス中心との距離が決定される。この計算は、スライ
ス基準線と一致組により形成される、ベクトルのクロス
積を計算することにより達成される。
ライス中心との距離が決定される。この計算は、スライ
ス基準線と一致組により形成される、ベクトルのクロス
積を計算することにより達成される。
【0376】制御フロ−は状態798に移行し、一致組
がトレ−ス記録の投影した軌道と重なるか、またはその
一致組が現在のトレ−スまたは一致組の後に位置するま
で、機能770はトレ−ス記録リストについて進行す
る。
がトレ−ス記録の投影した軌道と重なるか、またはその
一致組が現在のトレ−スまたは一致組の後に位置するま
で、機能770はトレ−ス記録リストについて進行す
る。
【0377】トレ−ス記録は、その前のスライスについ
て収集された、一致組の結果により構成されている。
て収集された、一致組の結果により構成されている。
【0378】したがって、トレ−スの接線に重なる一致
組は同じトレ−スカ−ブの連続でなければならない。
組は同じトレ−スカ−ブの連続でなければならない。
【0379】状態798から制御フロ−は状態802に
移行し、重畳するトレ−スが発見されたかの問いを発生
する。
移行し、重畳するトレ−スが発見されたかの問いを発生
する。
【0380】重畳するトレ−スが発見された場合は、状
態806に移行し、トレ−スを2つのトレ−スに分割す
るか、すなわち「Y」交差の形状と解釈するか、を決定
する。
態806に移行し、トレ−スを2つのトレ−スに分割す
るか、すなわち「Y」交差の形状と解釈するか、を決定
する。
【0381】このテストは、その前のスライスの単一の
一致と、現在のスライスの2つの一致との間で、相関が
あるかを決定することによりおこなわれる。
一致と、現在のスライスの2つの一致との間で、相関が
あるかを決定することによりおこなわれる。
【0382】状態806のテストは、2つの重畳する一
致組がその前のスライスの単一の一致と、現在のスライ
スの2つの一致との間で、一致するする場合は肯定とみ
なされる。
致組がその前のスライスの単一の一致と、現在のスライ
スの2つの一致との間で、一致するする場合は肯定とみ
なされる。
【0383】状態806のテストが肯定の場合は、状態
810で一致した1組について、次のトレ−スが開始さ
れる。
810で一致した1組について、次のトレ−スが開始さ
れる。
【0384】この分割テストが否の場合は、状態810
から制御フロ−は、状態814に移行し、現在の一致組
が重畳するトレ−スに追加される。
から制御フロ−は、状態814に移行し、現在の一致組
が重畳するトレ−スに追加される。
【0385】状態818でトレ−スが合流するかを確
認、すなわち現在の一致組が近接のトレ−スまたはその
前の2つの一致組に重畳するかを決定する。
認、すなわち現在の一致組が近接のトレ−スまたはその
前の2つの一致組に重畳するかを決定する。
【0386】状態818のテストは本質的に、トレ−ス
分離の逆になる。例えば、その前の2つの一致と現在の
スライスの単一の一致との相関があれば、2つのトレ−
スは1つに合流することである。
分離の逆になる。例えば、その前の2つの一致と現在の
スライスの単一の一致との相関があれば、2つのトレ−
スは1つに合流することである。
【0387】状態818で重畳条件が発見されると、制
御フロ−は状態822に移行し、トレ−スは「合流」と
記録される。
御フロ−は状態822に移行し、トレ−スは「合流」と
記録される。
【0388】状態822から、または状態818のテス
ト結果が否であるなら、制御フロ−は状態826に移行
し、処理すべき一致組がさらに存在するかを決定する。
ト結果が否であるなら、制御フロ−は状態826に移行
し、処理すべき一致組がさらに存在するかを決定する。
【0389】このテスト結果が肯定の場合は、制御フロ
−は状態790のル−プの最初に戻り、次の一致組が処
理される。
−は状態790のル−プの最初に戻り、次の一致組が処
理される。
【0390】重畳トレ−スがあるかをテストしその結果
により分岐する状態802に戻り、もしそのようなトレ
−スが発見されないときは、状態830に移行し、新規
のトレ−スが開始される。
により分岐する状態802に戻り、もしそのようなトレ
−スが発見されないときは、状態830に移行し、新規
のトレ−スが開始される。
【0391】状態830から制御フロ−は、状態826
に移行し、ル−プが継続される。処理すべき一致組がも
はや存在しないため、状態826でル−プが終了する
と、制御フロ−は状態834に移行し、「不一致」トレ
−ス、または現在のスライスの一致組と更新されていな
いトレ−スは、削除と記録される。
に移行し、ル−プが継続される。処理すべき一致組がも
はや存在しないため、状態826でル−プが終了する
と、制御フロ−は状態834に移行し、「不一致」トレ
−ス、または現在のスライスの一致組と更新されていな
いトレ−スは、削除と記録される。
【0392】トレ−スの記録は機能838(図23)で
分析され、「不一致」と記録されたトレ−スは状態84
2で削除される。
分析され、「不一致」と記録されたトレ−スは状態84
2で削除される。
【0393】機能770の結果は、状態846に戻り、
有効な延長が発見された事を示すか、またはギャップが
大きすぎてジャンプできない事を示す。
有効な延長が発見された事を示すか、またはギャップが
大きすぎてジャンプできない事を示す。
【0394】状態846から制御フロ−は状態848に
移行し、機能770の動作は終了する。図22の「トレ
−ス記録を解析」の機能838が、図23に現わされて
いる。
移行し、機能770の動作は終了する。図22の「トレ
−ス記録を解析」の機能838が、図23に現わされて
いる。
【0395】エディタ200は状態849において機能
838に入り、状態850に移行してル−プが開始さ
れ、トレ−スリストの各記録に対し起動する。
838に入り、状態850に移行してル−プが開始さ
れ、トレ−スリストの各記録に対し起動する。
【0396】状態850から制御フロ−は状態852に
移行し、トレ−スが終了したか、又は継続するスライス
または一致組が少なすぎるかを決定するテストが行われ
る。
移行し、トレ−スが終了したか、又は継続するスライス
または一致組が少なすぎるかを決定するテストが行われ
る。
【0397】このいずれにも該当しない場合は、状態8
54に経路を移行し、トレ−スをさらに延長する試みを
する。
54に経路を移行し、トレ−スをさらに延長する試みを
する。
【0398】状態854において、エッジフォロア37
8(図8)を指示することにより、最新の「一致組」の
後ろを反対方向に、エッジ点が収集される。
8(図8)を指示することにより、最新の「一致組」の
後ろを反対方向に、エッジ点が収集される。
【0399】次に制御フロ−は状態858に移行し、平
滑なエッジか、平行なエッジか、正しい線幅かがテスト
される。
滑なエッジか、平行なエッジか、正しい線幅かがテスト
される。
【0400】この方法は図5の状態308及び320で
述べたものに対応する。状態858のテスト結果が否で
ある場合は、制御フロ−は状態862に移行し、有効な
スライス数を2だけデクリメントする。
述べたものに対応する。状態858のテスト結果が否で
ある場合は、制御フロ−は状態862に移行し、有効な
スライス数を2だけデクリメントする。
【0401】トレ−スに必要な継続するスライス数が、
このようにデクリメントされる場合は、機能838を実
行する際に、平滑及び平行適合テストを繰り返す必要が
ないために、トレ−スの処理量は減少する。
このようにデクリメントされる場合は、機能838を実
行する際に、平滑及び平行適合テストを繰り返す必要が
ないために、トレ−スの処理量は減少する。
【0402】エディタ200は次に状態862から86
6に移行する。状態866ル−プの終了、すなわちトレ
−スリストが終了かどうかがテストされる。
6に移行する。状態866ル−プの終了、すなわちトレ
−スリストが終了かどうかがテストされる。
【0403】そうでない場合は、状態850でル−プは
戻されて継続する。状態858のテスト結果が肯定の場
合は、制御フロ−は状態870に移行し、トレ−ス接線
すなわち傾斜が現在のラスタ−構成要素に整合するかの
テストが行われる。
戻されて継続する。状態858のテスト結果が肯定の場
合は、制御フロ−は状態870に移行し、トレ−ス接線
すなわち傾斜が現在のラスタ−構成要素に整合するかの
テストが行われる。
【0404】整合しない場合は、状態862に移行し、
再度トレ−ス処理の数を減少させる。
再度トレ−ス処理の数を減少させる。
【0405】もしトレ−スが検討しているラスタ−に整
合する場合、すなわち状態874のテストが肯定の場合
は、そのトレ−スは延長可能と記録され、制御フロ−は
状態866でル−プに戻る。
合する場合、すなわち状態874のテストが肯定の場合
は、そのトレ−スは延長可能と記録され、制御フロ−は
状態866でル−プに戻る。
【0406】状態866のトレ−スリストが終了したこ
とにより、ル−プから外にでた場合は、制御フロ−は状
態878に移り、少なくとも1つの構成要素の延長可能
性が発見されたかのテストが行われる。
とにより、ル−プから外にでた場合は、制御フロ−は状
態878に移り、少なくとも1つの構成要素の延長可能
性が発見されたかのテストが行われる。
【0407】状態878のテスト結果が否の場合は、機
能838は状態882において「フェイル」に戻り、状
態884で終了する。
能838は状態882において「フェイル」に戻り、状
態884で終了する。
【0408】その他の場合は、最小の延長誤差を有する
トレ−スの指数、すなわち傾斜と適合の誤差が格納され
る。
トレ−スの指数、すなわち傾斜と適合の誤差が格納され
る。
【0409】状態882または886のいずれの動作の
完了によっても、機能838の操作は終了する。
完了によっても、機能838の操作は終了する。
【0410】図2において、機能236として示された
「ラスタ−イメ−ジから構成要素を消去」の機能が図2
4に示されている。
「ラスタ−イメ−ジから構成要素を消去」の機能が図2
4に示されている。
【0411】機能236は、使用者によりベクトル構成
要素またはラスタ−構成要素の消去が、承認された場合
に動作を開始する。
要素またはラスタ−構成要素の消去が、承認された場合
に動作を開始する。
【0412】構成要素消去機能236は状態888で動
作を開始し、予め定めた「カット(切取り)線」におい
て、周辺のラスタ−から構成要素を切り抜く。
作を開始し、予め定めた「カット(切取り)線」におい
て、周辺のラスタ−から構成要素を切り抜く。
【0413】機能890(図25)に移行し、指定され
た構成要素が、交差するラスタ−対象物から取り除かれ
る。
た構成要素が、交差するラスタ−対象物から取り除かれ
る。
【0414】残りの切取りは状態894により行われ
る。この残りの切取りとは、例えば「T」交差または探
索点オ−バ−フロ−のような、許容範囲を越えた状況の
とき行われる削除である。
る。この残りの切取りとは、例えば「T」交差または探
索点オ−バ−フロ−のような、許容範囲を越えた状況の
とき行われる削除である。
【0415】最後に、指定された構成要素の隔離された
セグメントは、状態898で消去され、機能236は状
態900で終了する。
セグメントは、状態898で消去され、機能236は状
態900で終了する。
【0416】機能236は1つの「オン」ピクセルの位
置が与えられえば、いかなるラスタ−ブロッブの消去も
可能である。
置が与えられえば、いかなるラスタ−ブロッブの消去も
可能である。
【0417】図24において機能890として示された
「交差するラスタ−対象物から指定された構成要素を削
除する」機能は、図25及び図26に示されている。
「交差するラスタ−対象物から指定された構成要素を削
除する」機能は、図25及び図26に示されている。
【0418】機能890は状態901で開始し、アルゴ
リズム586(図18、図19)における交差点及びギ
ャップのジャンプ機能により生じた「障害物ゾ−ン」に
わたり、ブリッジを形成する動作も行う。
リズム586(図18、図19)における交差点及びギ
ャップのジャンプ機能により生じた「障害物ゾ−ン」に
わたり、ブリッジを形成する動作も行う。
【0419】機能890は障害物の形状により必要とな
る、現在のカ−ブ終端の「カット線」リストを形成す
る。
る、現在のカ−ブ終端の「カット線」リストを形成す
る。
【0420】エディタ200は状態901aに移行し、
次に状態902に移行して、時計方向線の中間傾斜が決
定される。
次に状態902に移行して、時計方向線の中間傾斜が決
定される。
【0421】この中間傾斜の値は、x−y時計方向交差
の開始点(交差の最後の探索点)とx−y時計方向交差
の終了点(交差の後の最初探索点)との間の線の傾斜で
ある。
の開始点(交差の最後の探索点)とx−y時計方向交差
の終了点(交差の後の最初探索点)との間の線の傾斜で
ある。
【0422】制御フロ−は状態902から状態906に
移行し、時計方向の一対の突起点を決定する。
移行し、時計方向の一対の突起点を決定する。
【0423】この突起点は曲がり角点「角1」、「角
2」として蓄積される。「角1」の点は、x−y時計方
向交差の開始点に垂直な、時計方向エッジフレア線上の
点である。
2」として蓄積される。「角1」の点は、x−y時計方
向交差の開始点に垂直な、時計方向エッジフレア線上の
点である。
【0424】「角2」の点は、x−y時計方向交差の終
了点に垂直な、時計方向エッジフレア線上の点である。
了点に垂直な、時計方向エッジフレア線上の点である。
【0425】ル−プが状態910から開始する。このル
−プにおいて、状態914において、突起点と角2との
間の時計方向フレアリミット線を、エッジが交差するま
で、選択したラスタ−構成要素の時計方向エッジに沿っ
て進行させる。
−プにおいて、状態914において、突起点と角2との
間の時計方向フレアリミット線を、エッジが交差するま
で、選択したラスタ−構成要素の時計方向エッジに沿っ
て進行させる。
【0426】このエッジ交差の指示が出された場合に
は、制御フロ−は状態918に移行し、エッジがフレア
リミットと交差したかを決定する。
は、制御フロ−は状態918に移行し、エッジがフレア
リミットと交差したかを決定する。
【0427】状態918でのテスト結果が肯定である場
合には、制御フロ−は状態922に移行し、「時計方向
フレアリミット点0」のエッジ点が、フレア点リストに
記録される。
合には、制御フロ−は状態922に移行し、「時計方向
フレアリミット点0」のエッジ点が、フレア点リストに
記録される。
【0428】制御フロ−は状態926に移り、「オフ」
ピクセルに出会うまで、時計方向線中間傾斜線に平行
に、フレア線に沿って進行させる。
ピクセルに出会うまで、時計方向線中間傾斜線に平行
に、フレア線に沿って進行させる。
【0429】次に状態930で、時計方向エッジフォロ
ア378(図8)は、フレア線を越えて、時計方向引き
出し点まで、交差ラスタ−対象物の最初のエッジに沿っ
て進行する。
ア378(図8)は、フレア線を越えて、時計方向引き
出し点まで、交差ラスタ−対象物の最初のエッジに沿っ
て進行する。
【0430】この後、制御フロ−は状態934に移行
し、時計方向エッジフォロア378が、フレア線を越え
て、もう1つの時計方向引き出し点まで、交差ラスタ−
対象物の第2のエッジに沿って後戻りする。
し、時計方向エッジフォロア378が、フレア線を越え
て、もう1つの時計方向引き出し点まで、交差ラスタ−
対象物の第2のエッジに沿って後戻りする。
【0431】次に状態938に移行して、フレア線の内
部に入り込む為に、第2のエッジに沿って前進する。
部に入り込む為に、第2のエッジに沿って前進する。
【0432】状態938は「時計方向フレアリミット点
0」が、フレア線より下方にあることを確実にする。
0」が、フレア線より下方にあることを確実にする。
【0433】状態938から、または状態918におい
てフレアリミットをどのエッジも越えていない結果がで
たときは、制御フロ−は状態942に移行し、交差領域
の両終端における、時計方向及び反時計方向探索点によ
り定められる、交差領域の終端に到達したかのテストが
行われる。
てフレアリミットをどのエッジも越えていない結果がで
たときは、制御フロ−は状態942に移行し、交差領域
の両終端における、時計方向及び反時計方向探索点によ
り定められる、交差領域の終端に到達したかのテストが
行われる。
【0434】交差領域の終端に到達していない場合は、
制御フロ−は状態910のル−プに戻る。
制御フロ−は状態910のル−プに戻る。
【0435】それ以外の場合は、ル−プは終了し状態9
46(図26)となり、これにより状態901aに移行
して、図25における時計方向に対する状態902から
942の動作を繰り返す。
46(図26)となり、これにより状態901aに移行
して、図25における時計方向に対する状態902から
942の動作を繰り返す。
【0436】制御フロ−は状態946から状態950に
移行し、正確性のテストが行われる。状態950のテス
トでエッジ上にフレア点が発見されない場合は、状態9
54に移行し、交差入口で「切取り線」が後の取り消し
の為に形成される。
移行し、正確性のテストが行われる。状態950のテス
トでエッジ上にフレア点が発見されない場合は、状態9
54に移行し、交差入口で「切取り線」が後の取り消し
の為に形成される。
【0437】この切取り線は、「角」点または「時計方
向突起点」または「x−y反時計方向交差開始点」によ
り定められる。
向突起点」または「x−y反時計方向交差開始点」によ
り定められる。
【0438】機能890は状態956により終了する。
一方、状態950において、フレア点が発見された場合
には、制御フロ−は状態958に移行し、互いに接近す
るフレアは1つの太いフレアとなるように結合される。
一方、状態950において、フレア点が発見された場合
には、制御フロ−は状態958に移行し、互いに接近す
るフレアは1つの太いフレアとなるように結合される。
【0439】状態958から制御フロ−は状態962に
移行し、「角1」「角2」「角3」及び「角4」により
定められた領域が消去される。
移行し、「角1」「角2」「角3」及び「角4」により
定められた領域が消去される。
【0440】状態966で交差中心線が計算される。フ
レア数により制御されるル−プが、状態970で開始さ
れる。
レア数により制御されるル−プが、状態970で開始さ
れる。
【0441】制御フロ−は次に状態974に移行し、各
フレアリミット点と引き出し点との間の線が、交差中心
線として推定される。
フレアリミット点と引き出し点との間の線が、交差中心
線として推定される。
【0442】各推定線の終了点が、状態978で、中心
点として記憶される。制御フロ−は状態982に移行
し、全てのフレア点について処理がなされたかがテスト
される。
点として記憶される。制御フロ−は状態982に移行
し、全てのフレア点について処理がなされたかがテスト
される。
【0443】このテスト結果が否の場合は、状態970
のル−プの最初に戻り、次のフレア点の処理を行う。
のル−プの最初に戻り、次のフレア点の処理を行う。
【0444】それ以外の場合は、ル−プは終了し、状態
986で反時計方向エッジについて、ル−プの状態97
0から982の同じステップを繰り返す。
986で反時計方向エッジについて、ル−プの状態97
0から982の同じステップを繰り返す。
【0445】その後、制御フロ−は状態990に移行
し、交差中心線の反対側のフレアを相関させる。
し、交差中心線の反対側のフレアを相関させる。
【0446】状態994に移り、引き出し点と中心点と
により定められた各フレアが塗りつぶされる。
により定められた各フレアが塗りつぶされる。
【0447】最後に、状態998で、交差の入口と出口
の線が、選択した構成要素の分離を保証するために、再
消去される。
の線が、選択した構成要素の分離を保証するために、再
消去される。
【0448】機能890は状態1000で終了する。図
27は図25及び図26で示した、構成要素切取りの機
能890により実行される、ラスタ−構成要素の選択的
消去と切取りの例を現している。
27は図25及び図26で示した、構成要素切取りの機
能890により実行される、ラスタ−構成要素の選択的
消去と切取りの例を現している。
【0449】図27では、選択された構成要素1002
が、構成要素「A」(1006)及び構成要素「B」
(1010)に交差する。
が、構成要素「A」(1006)及び構成要素「B」
(1010)に交差する。
【0450】第1の延長線(1014)が、「時計方向
引き出し点0」(1018)から「時計方向フレアリミ
ット点0」(1022)を経由して、第1の「中心ドッ
ト」(1024)に想定される。
引き出し点0」(1018)から「時計方向フレアリミ
ット点0」(1022)を経由して、第1の「中心ドッ
ト」(1024)に想定される。
【0451】第2の延長線(1026)が、「反時計方
向引き出し点0」(1030)から「反時計方向フレア
リミット点0」(1034)を経由して、第2の「中心
ドット」(1038)に想定される。
向引き出し点0」(1030)から「反時計方向フレア
リミット点0」(1034)を経由して、第2の「中心
ドット」(1038)に想定される。
【0452】二つの中心ドット1024、1038は次
に、塗りつぶし領域1042の完全なエッジを形成する
ために、相関が取られる。
に、塗りつぶし領域1042の完全なエッジを形成する
ために、相関が取られる。
【0453】構成要素B(1010)と選択した構成要
素1002とにより形成された交差「T」の部分にも、
上記の消去アルゴリズム890により塗りつぶし領域1
046が形成される。
素1002とにより形成された交差「T」の部分にも、
上記の消去アルゴリズム890により塗りつぶし領域1
046が形成される。
【0454】領域1046、は交差する構成要素Bにピ
クセルの色を設定することにより、塗りつぶされる。
クセルの色を設定することにより、塗りつぶされる。
【0455】この塗りつぶし領域1042、1046
は、「角1」(1054)、「角2」(1056)、
「x−y時計方向交差終了点」(1058)、「x−y
反時計方向交差終了点」(1060)、「角3」(10
62)、「角4」(1064)、「x−y時計方向交差
開始点」(1066)、「x−y反時計方向交差開始
点」(1068)により囲まれた交差領域1050によ
り塗りつぶされ、その後消去される。
は、「角1」(1054)、「角2」(1056)、
「x−y時計方向交差終了点」(1058)、「x−y
反時計方向交差終了点」(1060)、「角3」(10
62)、「角4」(1064)、「x−y時計方向交差
開始点」(1066)、「x−y反時計方向交差開始
点」(1068)により囲まれた交差領域1050によ
り塗りつぶされ、その後消去される。
【0456】「角1」(1054)から「角2」(10
56)への線、及び「角3」(1062)から「角4」
(1064)への線はフレアリミット線を定める。
56)への線、及び「角3」(1062)から「角4」
(1064)への線はフレアリミット線を定める。
【0457】「角1」(1054)から「角4」(10
64)への線、及び探索点「x−y時計方向交差開始
点」(1066)、「x−y反時計方向交差開始点」
(1068)は交差の入口を示し、「角2」(105
6)から「角3」(1062)への線、及び探索点「x
−y時計方向交差終了点」(1058)、「x−y反時
計方向交差終了点」(1060)は交差の入口を示す。
64)への線、及び探索点「x−y時計方向交差開始
点」(1066)、「x−y反時計方向交差開始点」
(1068)は交差の入口を示し、「角2」(105
6)から「角3」(1062)への線、及び探索点「x
−y時計方向交差終了点」(1058)、「x−y反時
計方向交差終了点」(1060)は交差の入口を示す。
【0458】図28は機能890(図25、図26)の
「切取り線」機能の例を示し、選択されたラスタ−構成
要素1070を交差するラスタ−対象物1074から分
離させるものである。
「切取り線」機能の例を示し、選択されたラスタ−構成
要素1070を交差するラスタ−対象物1074から分
離させるものである。
【0459】状態998(図26)のように、領域10
78が塗りつぶされた後、消去または再消去されて、選
択された構成要素1070のどの「オン」ピクセルも、
交差対象物1074の「オン」ピクセルと、接触しない
(例え斜め方向でも)ようにされる。
78が塗りつぶされた後、消去または再消去されて、選
択された構成要素1070のどの「オン」ピクセルも、
交差対象物1074の「オン」ピクセルと、接触しない
(例え斜め方向でも)ようにされる。
【0460】これまでの説明から理解されるように、こ
の複合イメ−ジエディタは、単一のイメ−ジ階層におい
て、ラスタ−構成要素とベクトル構成要素とが同一の広
がりを持って維持されるため、優れた柔軟性を得ること
ができる。
の複合イメ−ジエディタは、単一のイメ−ジ階層におい
て、ラスタ−構成要素とベクトル構成要素とが同一の広
がりを持って維持されるため、優れた柔軟性を得ること
ができる。
【0461】すなわち、一度ラスタ−構成要素がベクト
ル化されると、全てのタイプのベクトル動作が使用でき
るので、使用者はどのエディタ動作がその構成要素に許
容されるかを考慮しないでよい。
ル化されると、全てのタイプのベクトル動作が使用でき
るので、使用者はどのエディタ動作がその構成要素に許
容されるかを考慮しないでよい。
【0462】さらに、ここで示したように、交差横切り
機能やギャップジャンプ機能により、重畳するラスタ−
対象物に対し、選択的認識とベクトルフォ−マットへの
変換が可能である。
機能やギャップジャンプ機能により、重畳するラスタ−
対象物に対し、選択的認識とベクトルフォ−マットへの
変換が可能である。
【0463】最後にラスタ−構成要素の選択的消去によ
り、交差するラスタ−対象物の保持ができ、使用者にラ
スタ−構成要素の幾何学形態が混合せず、したがって、
全ての構成要素がベクトル構成要素であるように感じさ
せることができる。
り、交差するラスタ−対象物の保持ができ、使用者にラ
スタ−構成要素の幾何学形態が混合せず、したがって、
全ての構成要素がベクトル構成要素であるように感じさ
せることができる。
【0464】上記のように、本発明の新規な基本的特徴
を、各種の実施例について詳細な説明をおこなったが、
当分野の通常の専門家であれば、本発明の精神を逸脱す
ることなく、各種の置き換え、削除、変更が可能である
ことは理解出来るであろう。
を、各種の実施例について詳細な説明をおこなったが、
当分野の通常の専門家であれば、本発明の精神を逸脱す
ることなく、各種の置き換え、削除、変更が可能である
ことは理解出来るであろう。
【0465】
【発明の効果】本発明によれば、単一のイメ−ジ階層に
おいて、ラスタ−構成要素とベクトル構成要素とが同一
の広がりを持って維持されるため、優れた柔軟性を得る
ことができる。
おいて、ラスタ−構成要素とベクトル構成要素とが同一
の広がりを持って維持されるため、優れた柔軟性を得る
ことができる。
【0466】すなわち、一度ラスタ−構成要素がベクト
ル化されると、全てのタイプのベクトル動作が使用でき
るので、使用者はどのエディタ動作がその構成要素に許
容されるかを考慮しないでよい。
ル化されると、全てのタイプのベクトル動作が使用でき
るので、使用者はどのエディタ動作がその構成要素に許
容されるかを考慮しないでよい。
【0467】さらに、交差横切り機能やギャップジャン
プ機能により、重畳するラスタ−対象物に対し、選択的
認識とベクトルフォ−マットへの変換が可能である。
プ機能により、重畳するラスタ−対象物に対し、選択的
認識とベクトルフォ−マットへの変換が可能である。
【0468】また、ラスタ−構成要素の選択的消去によ
り、交差するラスタ−対象物の保持ができ、使用者にラ
スタ−構成要素の幾何学形態が混合せず、したがって、
全ての構成要素がベクトル構成要素であるように感じさ
せることができる。
り、交差するラスタ−対象物の保持ができ、使用者にラ
スタ−構成要素の幾何学形態が混合せず、したがって、
全ての構成要素がベクトル構成要素であるように感じさ
せることができる。
【図1】本発明を包含するコンピュ−タシスタムの好ま
しい実施例のブロックダイアグラムを示す。
しい実施例のブロックダイアグラムを示す。
【図2】本発明の複合イメ−ジエディタの好ましい実施
例における最上位のフロ−ダイアグラムを示す。
例における最上位のフロ−ダイアグラムを示す。
【図3】本発明の一の態様における、ユ−ザ選択可能パ
ラメ−タ及び編集動作を示すコンピュ−タ画面表示を示
す。
ラメ−タ及び編集動作を示すコンピュ−タ画面表示を示
す。
【図4】本発明の一の態様における、ユ−ザ確認を示す
コンピュ−タ画面表示を示す。
コンピュ−タ画面表示を示す。
【図5】図2のフロ−ダイアグラムで言及した「最短距
離のラスタ−ブロッブを探知」機能を規定するフロ−ダ
イアグラムである。
離のラスタ−ブロッブを探知」機能を規定するフロ−ダ
イアグラムである。
【図6】図5で規定された最短距離のラスタ−ブロッブ
を探知する為の好ましい方法の1例を表すダイアグラム
である。
を探知する為の好ましい方法の1例を表すダイアグラム
である。
【図7】図2のフロ−ダイアグラムで言及した「ブロッ
ブの形状を認識」機能を規定するフロ−ダイアグラムで
ある。
ブの形状を認識」機能を規定するフロ−ダイアグラムで
ある。
【図8】図7で示した「エッジフォロア」機能を一般化
して規定するフロ−ダイアグラムであり、時計方向エッ
ジフォロアと反時計方向エッジフォロアを含む。
して規定するフロ−ダイアグラムであり、時計方向エッ
ジフォロアと反時計方向エッジフォロアを含む。
【図9】図8に示したエッジフォロア機能に付加されて
いる、エッジフォロア方向変換の好ましい実施例を示す
ダイアグラムである。
いる、エッジフォロア方向変換の好ましい実施例を示す
ダイアグラムである。
【図10】反時計方向エッジフォロア機能により取られ
た経路の例を示すダイアグラムである。
た経路の例を示すダイアグラムである。
【図11】図8のフロ−ダイアグラムで言及した「エッ
ジ点処理」機能を規定するフロ−ダイアグラムである。
ジ点処理」機能を規定するフロ−ダイアグラムである。
【図12】図7のフロ−ダイアグラムで言及した「新規
の探査点を計算しリストに追加」機能を規定するフロ−
ダイアグラムである。
の探査点を計算しリストに追加」機能を規定するフロ−
ダイアグラムである。
【図13】図7のフロ−ダイアグラムで言及した「カ−
ブの整合を再計算」機能を規定するフロ−ダイアグラム
である。
ブの整合を再計算」機能を規定するフロ−ダイアグラム
である。
【図14】図7のフロ−ダイアグラムで言及した「不連
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
【図15】図7のフロ−ダイアグラムで言及した「不連
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
【図16】図7のフロ−ダイアグラムで言及した「不連
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
【図17】図7のフロ−ダイアグラムで言及した「不連
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
続箇所を通過またはジャンプを試行」機能を規定するフ
ロ−ダイアグラムである。
【図18】図14のフロ−ダイアグラムで言及した「交
差箇所を通過を試行」機能を規定するフロ−ダイアグラ
ムである。
差箇所を通過を試行」機能を規定するフロ−ダイアグラ
ムである。
【図19】図14のフロ−ダイアグラムで言及した「交
差箇所を通過を試行」機能を規定するフロ−ダイアグラ
ムである。
差箇所を通過を試行」機能を規定するフロ−ダイアグラ
ムである。
【図20】図18のフロ−ダイアグラムで言及した「新
規の交差箇所スライスを解析」機能を規定するフロ−ダ
イアグラムである。
規の交差箇所スライスを解析」機能を規定するフロ−ダ
イアグラムである。
【図21】図18のフロ−ダイアグラムで言及した「新
規の交差箇所スライスを解析」機能を規定するフロ−ダ
イアグラムである。
規の交差箇所スライスを解析」機能を規定するフロ−ダ
イアグラムである。
【図22】図20のフロ−ダイアグラムで言及した「有
効カ−ブの延長における適合リストを解析」機能を規定
するフロ−ダイアグラムである。
効カ−ブの延長における適合リストを解析」機能を規定
するフロ−ダイアグラムである。
【図23】図22のフロ−ダイアグラムで言及した「追
尾レコ−ドを解析」機能を規定するフロ−ダイアグラム
である。
尾レコ−ドを解析」機能を規定するフロ−ダイアグラム
である。
【図24】図2のフロ−ダイアグラムで言及した「ラス
タ−イメ−ジから構成要素を消去」機能を規定するフロ
−ダイアグラムである。
タ−イメ−ジから構成要素を消去」機能を規定するフロ
−ダイアグラムである。
【図25】図24のフロ−ダイアグラムで言及した「交
差するラスタ−対象から選択した構成要素を切り離す」
機能を規定するフロ−ダイアグラムである。
差するラスタ−対象から選択した構成要素を切り離す」
機能を規定するフロ−ダイアグラムである。
【図26】図24のフロ−ダイアグラムで言及した「交
差するラスタ−対象から選択した構成要素を切り離す」
機能を規定するフロ−ダイアグラムである。
差するラスタ−対象から選択した構成要素を切り離す」
機能を規定するフロ−ダイアグラムである。
【図27】二つの交差するラスタ−対象物から選択され
たラスタ−構成要素を消去する例を示すダイアグラムで
ある。
たラスタ−構成要素を消去する例を示すダイアグラムで
ある。
【図28】二つの交差するラスタ−対象物から選択され
たラスタ−構成要素を切り取る例を示すダイアグラムで
ある。
たラスタ−構成要素を切り取る例を示すダイアグラムで
ある。
100・・ワークステーション 104・・コンピュータ 108・・カラーモニタ 112・・マウス 116・・キーボード 120・・フロッピーディスクドライブ 124・・ハードディスクドライブ 128・・エサーネット通信端子 132・・マザーボードバス 136・・入出力バス 140・・入出力バスインタフェイス・コントローラ 144・・グラフィックディスプレイコントローラ 148・・シリアル通信コントローラ 156・・エサネット通信コントローラ 160・・イメージプロセッサ 168・・マイクロプロセッサ 172・・コプロセッサ 176・・主メモリ 180・・オペレーティングシステム 200・・複合イメージエディタ 202・・イメージデータファイル
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ハル シー ロナス,ジュニア アメリカ合衆国 92128 カリフォルニ ア,サンディエゴ,カミト トマス 16009番地 (56)参考文献 特開 平1−194080(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06T 1/00 - 17/50
Claims (23)
- 【請求項1】 プロセッサとメモリと表示器を有するコ
ンピュータにおいて、ラスター構成要素とベクトル構成
要素を編集する方法であって、 上記メモリに格納されているラスターイメージを読出す
ステップを含み、そのラスターイメージは上記表示器の
ピクセルを現す複数のバイナリコードの合成であり、 上記メモリの表示バッファ部分に上記ラスターイメージ
を格納するステップと、 その格納されたイメージを上記表示器に表示するステッ
プと、 そのラスターイメージの表示されたピクセルの中からラ
スター構成要素を選択するステップを含み、そのラスタ
ー構成要素は幾何学的形状を規定するための座標により
定められた複数のピクセルを含んでおり、 予め定められた幾何学的形状のリストの中から、選択さ
れたラスター構成要素の形状に最も類似する形状を選択
するステップと、 選択されたラスター構成要素のピクセル座標により決定
される幾何学式と予め定められた幾何学的形状の幾何学
式を比較してその偏差を求めるステップと、 その幾何学的偏差を予め定めた最小偏差と比較して、選
択されたラスター構成要素が選択された幾何学的形状と
充分に同一の幾何学式を有することを認識するステップ
と、 その選択されたラスター構成要素を上記選択された幾何
学的形状に対応するベクトル構成要素に変換し、そのベ
クトル構成要素は相対的変位及び傾斜により定義される
座標を有する複数の点を有し、そのベクトル構成要素の
複数の点はピクセル絶対値座標に変換されて前記表示バ
ッファを用いて読み出され上記表示器に表示されるステ
ップと、 選択されたラスター構成要素が通常であればベクトル構
成要素のみを有するイメージに含まれるベクトル構成要
素として取り扱えるようにそのベクトル構成要素をベク
トル編集操作により処理するステップと、 を有することを特徴とする方法。 - 【請求項2】 前記選択は、前記コンピュータに接続さ
れた入力装置によって達成される請求項1記載の方法。 - 【請求項3】 前記入力装置は、マウスである請求項2
記載の方法。 - 【請求項4】 コンピュータのメモリに蓄積された、収
集されたラスター構成要素の表示イメージの中から選択
されたラスター構成要素を、予め規定した幾何学的形状
に関連した形状式により定義されるベクトル構成要素に
変換する方法であって、 予め規定した幾何学的形状のリストの中から、所望の形
状を選択するステップと、 上記収集されたラスター構成要素の中から、その選択さ
れた規定の形状に全体的に対応する形状のラスター構成
要素を選択するステップと、 その選択されたラスター構成要素上の、局部的に線状の
セグメントを指定して、その線状セグメントが延長され
て、その選択したラスター構成要素の最大空間距離を決
定する、そのような同定ステップと、 その線状セグメントの少なくとも1の終端を延長して、
上記選択された予め規定した幾何学的形状に対応する形
状式が、上記ラスター構成要素に指定した点に適合する
ようにするステップと、 そのラスター構成要素の形状式の偏差と最大偏差を比較
し、そのラスター構成要素の偏差が最大偏差以下である
ことを認識するステップと、 上記選択されたラスター構成要素の1のエッジを追尾し
て、そのエッジにより規定される1の方向に延長して、
そのエッジ追尾についての偏差が指摘されるまで、第1
組のエッジピクセルを収集するエッジ追尾ステップと、 上記選択されたラスター構成要素の推定されるエッジに
対し、上記エッジ追尾の偏差があった部分を越えた点か
ら、エッジ追尾を開始し、第2組のエッジピクセルを収
集する外挿エッジ追尾ステップと、 上記選択されたラスター構成要素の、上記第2組のエッ
ジピクセルを上記第1組のエッジピクセルに合成するス
テップと、 上記ラスター構成要素をベクトル構成要素に変換するス
テップを含み、そのベクトル構成要素は、上記ラスター
構成要素のエッジに基準線を適合させて、その基準線上
に位置させた探索点の組を有し、 そのベクトル構成要素をベクトル構成要素データベース
に蓄積するステップと、を有することを特徴とする方
法。 - 【請求項5】 前記ラスター構成要素を選択するステッ
プは、前記表示イメージにおける前記ラスター構成要素
近傍のピクセルを指定するステップを含む請求項4記載
の方法。 - 【請求項6】 前記同定ステップは、前記ラスター構成
要素の選択されたエッジに沿った第3組のエッジピクセ
ルを収集するステップと、 前記選択されたエッジに対して実質的に平行な前記ラス
ター構成要素の反対エッジを、前記収集されたエッジピ
クセルに対して直角方向に探知するステップと、 実質的に平行な前記エッジを共通な基準線に適合させる
ステップと、からなる請求項4記載の方法。 - 【請求項7】 前記エッジ追尾についての偏差が他のラ
スター構成要素との交差である請求項4記載の方法。 - 【請求項8】 前記外挿エッジ追尾ステップは、交差す
るラスタ構成要素を横切るステップを有する請求項7記
載の方法。 - 【請求項9】 前記エッジ追尾についての偏差がピクセ
ルギャップである請求項4記載の方法。 - 【請求項10】前記外挿エッジ追尾ステップは、前記ピ
クセルギャップをジャンプするステップを有する請求項
9記載の方法。 - 【請求項11】前記エッジ追尾についての偏差が曲がり
である請求項4記載の方法。 - 【請求項12】前記外挿エッジ追尾ステップは、前記曲
がりにおいて方向を転換するステップを有する請求項9
記載の方法。 - 【請求項13】前記エッジピクセルを収集する手順は、
時計方向エッジフォロワによって規定される請求項4記
載の方法。 - 【請求項14】前記エッジピクセルを収集する手順は、
反時計方向エッジフォロワによって規定される請求項4
記載の方法。 - 【請求項15】 表示されたイメージの交差領域で、ベ
クトル構成要素に重畳するラスター構成要素から、選択
的にベクトル構成要素を消去する方法であって、 そのベクトル構成要素に平行で且つ互いに平行な1組の
フレアリミット線と、交差部入口線と交差部出口線と、
により規定される四辺形により、1または2以上の不連
続なピクセルエッジ構成を有するそのベクトル構成要素
の周囲の交差領域に境界線をつけるステップと、 その交差領域のピクセルに表示イメージの背景の色彩を
設定することにより、その交差領域を消去するステップ
と、 上記フレアリミット線の外部のラスター構成要素上の点
から、そのフレアリミット線に平行で等距離の交差中心
線に、仮想線を引いてその中心線上の点を指定するステ
ップと、 その仮想線と中心線上の点を、その交差領域の反対側の
フレア組によって生じた対応する仮想線に相関させるス
テップと、 その2つの仮想線、交差中心線及び1のフレアリミット
線により規定される四辺形領域を、その四辺形の中の全
てのピクセルの色彩を、交差するラスター構成要素の色
彩と同一にすることにより塗りつぶすステップと、 を有することを特徴とする方法。 - 【請求項16】 前記相関させるステップは、前記中心
線の点の座標を中心線上の点の組と比較して前記前記点
の組のうちの最短距離の点を決定する、比較ステップを
有する請求項15記載の方法。 - 【請求項17】 プロセッサとメモリと表示器を有する
コンピュータにおいて、ラスター構成要素とベクトル構
成要素を編集する複合イメージエディタにおいて、上記
表示器のピクセルを現す複数のバイナリコードの合成と
して、上記メモリに格納されているラスターイメージを
読出す手段と、 上記メモリの表示バッファ部分に、上記ラスターイメー
ジを格納する手段と、 その格納されたイメージを上記表示器に表示する手段
と、 そのラスターイメージの表示されたピクセルの中からラ
スター構成要素を選択する手段を有し、そのラスター構
成要素は幾何学的形状を規定するための座標により定め
られた複数のピクセルを含んでおり、 予め定められた幾何学的形状のリストの中から、選択さ
れたラスター構成要素の形状に最も類似する形状を選択
する手段と、 選択されたラスター構成要素のピクセル座標により決定
される幾何学式と、予め定められた幾何学的形状の幾何
学式を比較して、その偏差を求める手段と、 その幾何学的偏差を予め定めた最小偏差と比較して、選
択されたラスター構成要素が選択された幾何学的形状と
充分に同一の幾何学式を有することを認識する手段と、 その選択されたラスター構成要素を上記選択された幾何
学的形状に対応するベクトル構成要素に変換し、そのベ
クトル構成要素は相対的変位及び傾斜により定義される
座標を有する複数の点を有し、そのベクトル構成要素の
複数の点をピクセル絶対値座標に変換して前記表示バッ
ファを用いて読み出し上記表示器に表示させる手段と、 選択されたラスター構成要素が通常であればベクトル構
成要素のみを有するイメージに含まれるベクトル構成要
素として取り扱えるようにそのベクトル構成要素をベク
トル編集操作により処理する手段と、 を有することを特徴とする複合イメージエディタ。 - 【請求項18】 コンピュータのメモリに蓄積された、
収集されたラスター構成要素の表示イメージの中から選
択されたラスター構成要素を、予め規定した幾何学的形
状に関連した形状式により定義されるベクトル構成要素
に変換するシステムであって、 予め規定した幾何学的形状のリストの中から、所望の形
状を選択する手段と、 上記収集されたラスター構成要素の中から、その選択さ
れた規定の形状に全体的に対応する形状のラスター構成
要素を選択する手段と、 その選択されたラスター構成要素上の、局部的に線状の
セグメントを指定して、その線状セグメントが延長され
て、その選択したラスター構成要素の最大空間距離を決
定する、そのような同定手段と、 その線状セグメントの少なくとも1の終端を延長して、
上記選択された予め規定した幾何学的形状に対応する形
状式が、上記ラスター構成要素に指定した点に適合する
ようにする手段と、 そのラスター構成要素の形状式の偏差と最大偏差を比較
し、そのラスター構成要素の偏差が最大偏差以下である
ことを認識する手段と、 上記選択されたラスター構成要素の1のエッジを追尾し
て、そのエッジにより規定される1の方向に延長して、
そのエッジ追尾についての偏差が指摘されるまで、第1
組のエッジピクセルを収集するエッジ追尾手段と、 上記選択されたラスター構成要素の推定されるエッジに
対し、上記エッジ追尾の偏差があった部分を越えた点か
ら、エッジ追尾を開始し、第2組のエッジピクセルを収
集する外挿エッジ追尾手段と、 上記選択されたラスター構成要素の、上記第2組のエッ
ジピクセルを上記第1組のエッジピクセルに合成する手
段と、 上記ラスター構成要素をベクトル構成要素に変換する手
段を含み、そのベクトル構成要素は、上記ラスター構成
要素のエッジに基準線を適合させて、その基準線上に位
置させた探索点の組を有し、 そのベクトル構成要素をベクトル構成要素データベース
に蓄積する手段と、を有することを特徴とするシステ
ム。 - 【請求項19】 表示されたイメージの交差領域で、ベ
クトル構成要素に重畳するラスター構成要素から、選択
的にベクトル構成要素を消去するシステムであって、 そのベクトル構成要素に実質的に平行で且つ互いに実質
的に平行な1組のフレアリミット線と、交差部入口線と
交差部出口線と、により規定される四辺形により、1ま
たは2以上の不連続なピクセルエッジ構成を有するその
ベクトル構成要素の周囲の交差領域に境界線をつける手
段と、 その交差領域のピクセルに表示イメージの背景の色彩を
設定することにより、その交差領域を消去する手段と、 上記フレアリミット線の外部のラスター構成要素上の点
から、そのフレアリミット線に平行で等距離の交差中心
線に、仮想線を引いてその中心線上の点を指定する手段
と、 その仮想線と中心線上の点を、その交差領域の反対側の
フレア組によって生じた対応する仮想線に相関させる手
段と、 その2つの仮想線、交差中心線及び1のフレアリミット
線により規定される四辺形領域を、その四辺形の中の全
てのピクセルの色彩を、交差するラスター構成要素の色
彩と同一にすることにより塗りつぶす手段と、 を有することを特徴とするシステム。 - 【請求項20】 プロセッサとメモリと表示器を有する
コンピュータにおいて、ラスター構成要素とベクトル構
成要素を、共通のベクトル操作により、編集する複合イ
メージエディタシステムにおいて、 上記メモリの単一イメージバッファに、上記ラスター及
びベクトル構成要素を格納する手段を有し、その単一イ
メージバッファはラスター構成要素データベースとベク
トル構成要素データベース及びそのラスター構成要素と
ベクトル構成要素のデータベースを整合する手段とによ
り構成され、 選択されたラスター構成要素を選択されたベクトル構成
要素に変換し、その変換されたベクトル構成要素を、上
記イメージバッファに格納する手段と、 その選択されたラスター構成要素を、そのイメージバッ
ファから削除する手段と、 を有することを特徴とする複合イメージエディタ。 - 【請求項21】 請求項20のイメージエディタにおい
て、前記削除する手段は、前記選択されたラスター構成
要素と交差するラスター構成要素を前記イメージバッフ
ァに保持する請求項20記載の複合イメージエディタ。 - 【請求項22】 ラスター構成要素とベクトル構成要素
を含むディジタルイメージを編集する方法であって、編集対象のラスター構成要素またはベクトル構成要素に
対する選択操作を検出するステップと、 ラスター構成要素データベースに予め格納され、前記選
択されたラスター構成要素を、ベクトル構成要素に変換
するステップと、 そのベクトル構成要素をベクトルデータベースに格納す
るステップと、 複数のラスター構成要素とベクトル構成要素を、単一の
イメージ階層として表示器に表示できるように、そのラ
スター構成要素とベクトル構成要素を整合させ、任意に
選択されたラスター構成要素またはベクトル構成要素を
同一の操作環境 で編集するステップとを有することを特
徴とする方法。 - 【請求項23】 請求項22の方法において更に、 上記変換されたベクトル構成要素を、最初からベクトル
構成要素として作られた構成要素に対する編集操作と同
一のベクトル編集操作により編集するステップを有する
ことを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US522513 | 1990-05-11 | ||
US07/522,513 US5101436A (en) | 1990-05-11 | 1990-05-11 | Hybrid image editor |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04229378A JPH04229378A (ja) | 1992-08-18 |
JP3199765B2 true JP3199765B2 (ja) | 2001-08-20 |
Family
ID=24081166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04987091A Expired - Fee Related JP3199765B2 (ja) | 1990-05-11 | 1991-03-14 | 複合イメ−ジエディタ |
Country Status (2)
Country | Link |
---|---|
US (1) | US5101436A (ja) |
JP (1) | JP3199765B2 (ja) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03202963A (ja) * | 1989-12-28 | 1991-09-04 | Brother Ind Ltd | 図形処理装置 |
ES2159505T3 (es) * | 1991-09-26 | 2001-10-16 | Mitsubishi Electric Corp | Sistema con medio de aproximacion para reconocer elementos graficos. |
US5434959A (en) * | 1992-02-11 | 1995-07-18 | Macromedia, Inc. | System and method of generating variable width lines within a graphics system |
GB2266823A (en) * | 1992-04-21 | 1993-11-10 | Ibm | Correlation of cursor position in a computer system |
US6002787A (en) * | 1992-10-27 | 1999-12-14 | Jasper Consulting, Inc. | Fingerprint analyzing and encoding system |
DE4333112A1 (de) * | 1993-09-29 | 1995-03-30 | Bosch Gmbh Robert | Verfahren und Vorrichtung zum Ausparken eines Fahrzeugs |
DE69427458T2 (de) * | 1993-12-28 | 2002-04-11 | Eastman Kodak Co., Rochester | Bilderrahmen mit Tiefenbildern |
US5715331A (en) * | 1994-06-21 | 1998-02-03 | Hollinger; Steven J. | System for generation of a composite raster-vector image |
US5600772A (en) * | 1994-08-17 | 1997-02-04 | Printronix, Inc. | Bit map character convertor using chain-codes for the character filling process |
JP2981516B2 (ja) * | 1995-03-10 | 1999-11-22 | 富士通株式会社 | 三次元形状編集装置 |
US6016147A (en) * | 1995-05-08 | 2000-01-18 | Autodesk, Inc. | Method and system for interactively determining and displaying geometric relationships between three dimensional objects based on predetermined geometric constraints and position of an input device |
US5572639A (en) * | 1995-05-08 | 1996-11-05 | Gantt; Brian D. | Method and apparatus for interactively manipulating and displaying presumptive relationships between graphic objects |
US7401299B2 (en) | 2001-09-05 | 2008-07-15 | Autodesk, Inc. | Method and apparatus for providing a presumptive drafting solution |
US5796858A (en) * | 1996-05-10 | 1998-08-18 | Digital Persona, Inc. | Fingerprint sensing system using a sheet prism |
US6767286B1 (en) * | 1996-11-22 | 2004-07-27 | Kabushiki Kaisha Sega Enterprises | Game device, picture data forming method and medium |
US6125192A (en) * | 1997-04-21 | 2000-09-26 | Digital Persona, Inc. | Fingerprint recognition system |
US6122737A (en) * | 1997-11-14 | 2000-09-19 | Digital Persona, Inc. | Method for using fingerprints to distribute information over a network |
US6035398A (en) * | 1997-11-14 | 2000-03-07 | Digitalpersona, Inc. | Cryptographic key generation using biometric data |
US5996073A (en) * | 1997-12-18 | 1999-11-30 | Tioga Systems, Inc. | System and method for determining computer application state |
US6324310B1 (en) | 1998-06-02 | 2001-11-27 | Digital Persona, Inc. | Method and apparatus for scanning a fingerprint using a linear sensor |
US6188781B1 (en) | 1998-07-28 | 2001-02-13 | Digital Persona, Inc. | Method and apparatus for illuminating a fingerprint through side illumination of a platen |
US6950539B2 (en) * | 1998-09-16 | 2005-09-27 | Digital Persona | Configurable multi-function touchpad device |
US6392662B1 (en) * | 1999-01-07 | 2002-05-21 | Autodesk, Inc. | Draw order preservation in a computer-implemented graphics system |
JP4309987B2 (ja) * | 1999-02-12 | 2009-08-05 | 武藤工業株式会社 | ラスタデータの編集方法及び装置 |
US6097035A (en) * | 1999-02-22 | 2000-08-01 | Digital Persona, Inc. | Fingerprint detection apparatus with partial fingerprint images |
US6567547B1 (en) * | 1999-03-05 | 2003-05-20 | Hewlett-Packard Company | System and method for dynamically switching OCR packages |
US6417865B1 (en) | 1999-03-09 | 2002-07-09 | Autodesk, Inc. | Affinitive placement by proximity in a computer-implemented graphics system |
AU2001259334A1 (en) * | 2000-05-08 | 2001-11-20 | Seatadvisor.Com, Inc. | Automated processing of graphical image to make discreet objects pointer-sensitive |
US7000197B1 (en) | 2000-06-01 | 2006-02-14 | Autodesk, Inc. | Method and apparatus for inferred selection of objects |
WO2002019271A1 (en) * | 2000-08-30 | 2002-03-07 | Screenfriends Corporation | A method of generating a graphic image |
EP1346315A4 (en) | 2000-11-02 | 2008-06-04 | Taylor Corp | LENTICULAR CARD AND MANUFACTURING METHOD |
CA2475832A1 (en) * | 2002-02-15 | 2003-08-28 | Computer Associates Think, Inc. | System and method for drawing an elliptical arc |
US7453472B2 (en) * | 2002-05-31 | 2008-11-18 | University Of Utah Research Foundation | System and method for visual annotation and knowledge representation |
US7779362B1 (en) * | 2005-09-02 | 2010-08-17 | Adobe Systems Inc. | Methods and apparatus for selecting objects by state |
US20070198588A1 (en) * | 2005-10-17 | 2007-08-23 | Siemens Corporate Research Inc | Automatic Qualification of Plant Equipment |
US20070200873A1 (en) * | 2006-02-27 | 2007-08-30 | Microsoft Corporation | Pixel and vector layer interaction |
JP4873554B2 (ja) * | 2006-12-25 | 2012-02-08 | 株式会社リコー | 画像配信装置および画像配信方法 |
US8749813B2 (en) * | 2008-04-18 | 2014-06-10 | Global Graphics Software Limited | Methods, devices and systems for encoding graphical primitives |
CN102171620B (zh) * | 2008-10-01 | 2013-07-24 | 罗斯蒙德公司 | 具有用于工业过程变送器的在线和离线测试计算的过程控制系统 |
AU2012258407A1 (en) * | 2012-11-27 | 2014-06-12 | Canon Kabushiki Kaisha | Method, system and apparatus for determining area of a pixel covered by a scalable definition for a character |
DE102013221086A1 (de) * | 2013-10-17 | 2015-04-23 | Volkswagen Aktiengesellschaft | Verfahren und Anordnung zur Darstellung eines Anzeigeelements |
US10607374B2 (en) | 2018-06-01 | 2020-03-31 | Adobe Inc. | Generating enhanced digital images by selectively transforming raster images to vector drawing segments |
US10685459B2 (en) * | 2018-06-01 | 2020-06-16 | Adobe Inc. | Generating enhanced digital images by selectively transforming raster images to vector drawing segments |
EP3640767B1 (de) * | 2018-10-17 | 2024-09-11 | Siemens Schweiz AG | Verfahren zum bestimmen mindestens eines bereichs in mindestens einem eingabemodell für mindestens ein zu platzierendes element |
US11527329B2 (en) | 2020-07-28 | 2022-12-13 | Xifin, Inc. | Automatically determining a medical recommendation for a patient based on multiple medical images from multiple different medical imaging modalities |
JP7026839B1 (ja) * | 2021-06-18 | 2022-02-28 | 株式会社電通 | リアルタイムデータ処理装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4307377A (en) * | 1979-11-09 | 1981-12-22 | Bell Telephone Laboratories, Incorporated | Vector coding of computer graphics material |
DE3479254D1 (en) * | 1983-07-04 | 1989-09-07 | Karow Rubow Weber Gmbh | Method for automatically digitizing the contours of line graphics, e.g. characters |
US4808988A (en) * | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US4677573A (en) * | 1984-05-15 | 1987-06-30 | International Business Machines Corporation | Hardware generation of styled vectors in a graphics system |
US4777651A (en) * | 1984-06-25 | 1988-10-11 | Tektronix, Inc. | Method of pixel to vector conversion in an automatic picture coding system |
US4817187A (en) * | 1987-02-19 | 1989-03-28 | Gtx Corporation | Apparatus and method for vectorization of incoming scanned image data |
-
1990
- 1990-05-11 US US07/522,513 patent/US5101436A/en not_active Expired - Lifetime
-
1991
- 1991-03-14 JP JP04987091A patent/JP3199765B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH04229378A (ja) | 1992-08-18 |
US5101436A (en) | 1992-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3199765B2 (ja) | 複合イメ−ジエディタ | |
US6480813B1 (en) | Method and apparatus for defining a precision drawing in a drawing program | |
JPH10105728A (ja) | 任意形状のリンクの曲線変換方法及びノードリンクダイヤグラムのトポロジを維持するための方法 | |
EP0535894A2 (en) | Apparatus and method for transforming a graphic pattern | |
JP3237898B2 (ja) | 画像図形編集装置および画像図形編集装置の処理方法 | |
JP2932193B2 (ja) | 図形処理装置 | |
JP3564371B2 (ja) | 図形編集装置及び方法 | |
US5384905A (en) | Method for tracing a line image by monitoring the distance between two trace base points | |
JP3454906B2 (ja) | ナビゲーション表示方法及び装置 | |
KR970011905B1 (ko) | 선도(線圖)작성장치 | |
JP2735197B2 (ja) | 図形入力装置 | |
WO1995001608A1 (fr) | Procede et appareil permettant de tracer des cercles tangents | |
JPH0778254A (ja) | 図形閉領域抽出方法 | |
JP2935336B2 (ja) | 図形入出力装置 | |
CN114546174B (zh) | 笔迹处理方法、显示设备及可读存储介质 | |
JPH10254991A (ja) | 罫線消去方法及び機械読み取り可能な媒体 | |
JPH08315167A (ja) | 手書きによるストローク入力時における空白確保の方法 | |
JP2005234610A (ja) | 手書き入力図形編集システム | |
JPH0816805A (ja) | 図形作成装置 | |
US6359627B1 (en) | Method for selecting a graphic primitive and a recording medium | |
JP3438421B2 (ja) | 直角線分の描画装置 | |
JPH06282593A (ja) | 引出線作成方法 | |
JP3703814B2 (ja) | 円の創成方法 | |
JPH10149436A (ja) | ラスターデータ管理方式及びラスターデータ編集装置 | |
JPH07110869A (ja) | 図形編集装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080615 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |