JP2507413B2 - パタ−ンデ−タ圧縮方法 - Google Patents

パタ−ンデ−タ圧縮方法

Info

Publication number
JP2507413B2
JP2507413B2 JP62091805A JP9180587A JP2507413B2 JP 2507413 B2 JP2507413 B2 JP 2507413B2 JP 62091805 A JP62091805 A JP 62091805A JP 9180587 A JP9180587 A JP 9180587A JP 2507413 B2 JP2507413 B2 JP 2507413B2
Authority
JP
Japan
Prior art keywords
curve
stroke
line
function
extracted
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 - Lifetime
Application number
JP62091805A
Other languages
English (en)
Other versions
JPS63257072A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP62091805A priority Critical patent/JP2507413B2/ja
Priority to CA000537470A priority patent/CA1270953A/en
Priority to EP87304527A priority patent/EP0246898B1/en
Priority to US07/052,431 priority patent/US4853885A/en
Priority to DE87304527T priority patent/DE3787670T2/de
Priority to AU73341/87A priority patent/AU582303B2/en
Priority to KR1019870005129A priority patent/KR910001525B1/ko
Publication of JPS63257072A publication Critical patent/JPS63257072A/ja
Application granted granted Critical
Publication of JP2507413B2 publication Critical patent/JP2507413B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Character Input (AREA)
  • Image Processing (AREA)
  • Controls And Circuits For Display Device (AREA)

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第13図) 発明が解決しようとする問題点 問題点を解決するための手段(第1図) 作用 実施例 (a)全体構成の説明(第2図) (b)ストローク抽出処理の説明 (第3図、第4図、第5図、第6図) (c)曲線近似区間再設定処理の説明 (第7図、第8図、第9図、第10図、第11図、第12図) (d)圧縮データ作成処理の説明 (e)他の実施例の説明 発明の効果 〔概要〕 文字、図形等のパターンから水平及び垂直線と斜め線
/曲線ストロークを抽出し、パターンデータの圧縮を行
う方法において、1価関数の抽出した斜め線/曲線スト
ロークを多価関数の曲線ストロークに統合後、曲線分割
により新たな曲線近似区間を設定して、滑らかな曲線近
似を可能とするものである。
〔産業上の利用分野〕
本発明は、文字、図形等のパターの輪郭線を直線と曲
線を近似して、パターンデータを圧縮するパターンデー
タ圧縮方法に関し、特に復元した際に滑らかな曲線が得
られるように曲線近似するパターンデータ圧縮方法に関
する。
文字、図形等のパターンの入力に当たっては、入力さ
れたパターンはメモリに格納され、出力に当たってはメ
モリのパターンデータを引き出し記録又は表示する。
このようなパターンの格納に際し、なるべくメモリ容
量が少なくて済むことが望ましい。
このため、文字、図形をフルドットで格納する代わり
に、何等かのデータ圧縮を行って格納し、出力に当たっ
てはデータ復元を行う方法が用いられている。
このデータ圧縮の方法として、パターンの輪郭に注目
し、データとして格納しておくものは、データ量を少な
くできるばかりでなく品質のよい復元パターンが得られ
るため、注目を浴びている。
特に、パターンの輪郭を直線と曲線で近似してデータ
圧縮する方法、輪郭を直線のみで近似する方法に比し、
復元時に拡大、縮少しても斜め線や曲線ストロークが滑
らかに生成されて、高品質の復元パターンが得られる。
係るデータ圧縮方法においては、拡大してもより滑ら
かで高品質な復元パターンが得られるようなものが望ま
れている。
〔従来の技術〕
従来の係る圧縮方法においては、パターンの輪郭の屈
曲点(輪郭を構成する線分が屈曲する点)を抽出し、屈
曲点間の直線近似輪郭ベクトルの方向、長さ等によっ
て、水平線、垂直線、飾り、斜め線/曲線ストロークを
抽出し、輪郭線を直線及び曲線で近似表現するようにし
ていた。
例えば、平仮名の「の」は、第13図(A)に示すよう
に、Gで示す直線近似部分と、その他の曲線近似部分で
近似される。この輪郭を曲線で近似するとき、その曲線
を表す関数は、一方の軸例えばx軸について1価関数で
なければならず、そこで文字輪郭を辿るこれらの線群は
1つのx値に対して1つのy値になるように区分されて
いる。
即ち、パターンによって、直線近似区間、曲線近似区
間は分割されて表現されている。
このような方法は、例えば、特開昭60−75975号公
報、同75976号公報、同75977号公報、同17978号公報、
同75979号公報等に示されている。
〔発明が解決しようとする問題点〕
このような従来の方法においては、漢字「はらい」の
部分の如く、1価関数から成る曲線については、滑らか
な1ストロークを1曲線近似区間とするため問題がな
い。しかし、「の」を含む平仮名、英数字の多くは、そ
のパターンの曲線が多価関数から成り、斜め線/曲線ス
トロークの抽出によって1価関数の曲線に分割された
時、その分割された曲線近似区間が適切でなかった時に
は、復元されたパターンに滑らかさが失われてしまうと
いう問題があった。
例えば前述の平仮名「の」では多価関数の曲線ストロ
ークを1価関数の曲線と直線で近似されているため、拡
大して復元パターンを得ると、第13図(B)の如く、つ
なぎ目Tで平滑性が得られず、これは曲線と曲線のつな
ぎ目でも生じる。
本発明の目的は、復元された多価関数の曲線の平滑性
を向上し、且つ高品質なパターンの得られるパターンデ
ータ圧縮方法を提供することを目的とする。
〔問題点を解決するための手段〕
第1図は本発明の原理説明図である。
第1図(A)において、先ず原パターン(ドットパタ
ーン)の輪郭の屈曲点(データ)を屈曲点抽出部(10)
で抽出する。
次に、ストローク抽出部11で抽出した屈曲点間の輪郭
ベクトルから水平及び垂直線を抽出し、更に1価関数の
斜め線及び曲線ストロークを抽出する。
次に、抽出部12で、1価関数の斜め線及び曲線ストロ
ークを統合し、多価関数の曲線ストロークを抽出する。
そして、区間設定部13で多価関数の曲線ストロークを
曲線分割し、曲線近似区間を新たに設定し、1価関数の
曲線ストロークに分割する。
このようにして求めた直線(水平線、垂直線)、斜め
線/曲線ストロークに対しデータ作成部14で直線及び曲
線近似して圧縮データを作成する。
〔作用〕
本発明では、当初抽出された斜め線/曲線ストローク
等を調べて、パターンに多価関数の曲線ストロークがあ
るかを求めて多価関数の曲線ストロークを抽出する。
そして多価関数の曲線ストロークに対し新たな曲線近
似区間によって1価関数の曲線ストロークに分割する。
例えば、第1図(B)に示す如く、屈曲点Pa〜Pfの間
の多価関数の曲線が、1価関数の曲線Sa、Sbと垂直線に
分割されて抽出された時は、これらを先ず統合して多価
関数の曲線ストロークの存在を確かめ、そして平滑性を
保つよう1価関数の曲線Sa′、Sb′、Sc′に曲線分割す
る。
従って、復元パターンの多価関数の曲線の滑らかさを
保証できるように曲線近似によるパターン圧縮ができ
る。
〔実施例〕 (a)全体構成の説明 第2図は本発明の一実施例全体構成図である。
図中、第1図で示したものと同一の記号で示してあ
り、1はプロセッサ(CPUと称す)であり、データ圧縮
処理(11〜14)をプログラムの実行によって行うもの、
2はメモリであり、データ圧縮の対象となるドットパタ
ーンを格納したパターン格納部20と、抽出した屈曲点及
び各屈曲点の抽出された属性(直線、曲線等)を格納す
る屈曲点属性テーブル21と、圧縮されたデータを格納す
る圧縮データ格納部22を含むものである。
110は水平、垂直線認識部であり、屈曲点属性テーブ
ル21の屈曲点から得た文字、図形パターンの輪郭ベクト
ルから水平線及び垂直線部分を抽出し、テーブル21のそ
の各屈曲点に水平線及び垂直線の属性を付加するもの、
111は飾り抽出部であり、文字、図形パターンの輪郭ベ
クトルからパターンの飾り部分を抽出し、テーブル21の
その各屈曲点に飾りの属性を付加するもの、112は斜め
線及び曲線ストローク抽出部であり、後述する4方向分
類を用いて輪郭ベクトルから1価関数の斜め線/曲線ス
トロークを抽出するものである。
尚、第1図の多価関数の曲線ストローク抽出部12と、
曲線近似区間設定部13は曲線近似区間再設定部12、13と
してある。
140は多項式の係数算出部であり、抽出された斜め線
/曲線ストロークに対し、屈曲点のみを用いて輪郭近似
多項式(n次のスプライン関数)の各係数を算出するも
の、141は、残差2乗和判定部でり、係数算出部140で算
出した係数の残差2乗和を求めて、係数の適否を判定す
るもの、142は振動判定部であり、求めた多項式が振動
していないか否かを判定するもの、143は斜め線及び曲
線ストロークの輪郭復元部であり、残差2乗和の条件や
振動判定の条件の満足しない場合、屈曲点の少ない場合
に、DDA(Digital Differential Analyzer)により直線
近似を行って係数算出部140の係数算出のための参照点
を増やすものであり、144は曲線近似による圧縮データ
作成部であり、得られた多項式の係数と曲線近似した区
間の両端点の座標値を得、圧縮データ格納部22に格納す
るもの、145は直線近似による圧縮データ作成部であ
り、水平線、垂直線及び飾りを直線近似した圧縮データ
を得、圧縮データ格納部22に格納するものである。
尚、CPU1の各ブロック10〜14は、CPU1の行う処理をブ
ロック化したものである。
データ圧縮には、屈曲点抽出及びストローク抽出処理
(10〜11)、曲線近似区間再設定処理(12,13)、直
線、曲線によるデータ作成処理(14)があり、以下順に
説明する。
(b)ストローク抽出処理の説明 第3図はストローク抽出動作説明図、第4図は屈曲点
属性テーブル説明図、第5図は斜め線/曲線ストローク
抽出処理フロー図、第6図は輪郭ベクトルの4方向分類
の説明図である。
以下、平仮名の「の」を例にして説明する。
第4図に示す如く屈曲点属性テーブル21は、抽出され
た屈曲点(座標を含む)と、その属性として、線群番号
(水平、垂直線の対を表す)、位置(屈曲点が水平、垂
直線の左右上下のどの位置にあるか)、飾り(文字の飾
りであるのか)、曲線の属性(屈曲点PiとPi+1の成す
ベクトルの4方向分類された結果)、曲線近似区間(屈
曲点が属する曲線近似区間)、曲線群番号(曲線/斜め
線の対を表す)がテーブルとして設けられている。
先づ、パターン格納部20のドットパターンから輪郭の
屈曲点を屈曲点抽出部10で抽出する。
屈曲点は、輪郭線の屈曲部に当たる点であり、この例
では、第3図に示す如く、開始点(第1屈曲点とする)
P1から矢印方向に輪郭をたどって屈曲点を求める。
屈曲点を求める方法としては、本出願人による既出願
の「パターン情報量圧縮方式」(特許出願昭60−48895
号)の技術を用いることができる。
即ち、文字輪郭線は閉ループを作るので、ドット群で
表される輪郭線の隣接2点を始点Ps、終点Peとして点P
を終点より始点へ遠廻りしながら輪郭線上で辿らせ、DD
A(Digital Differential Analyzer)で点PとPsを結ぶ
直線を発生し、該直線と輪郭線とのずれを調べる。点Ps
が角にあるとすると、点Pがその1つ手前の角に来たと
き上記ずれはなくなるからそのときの点Pの位置(P1
する)を屈曲点とする。次は点P1をPs相当とし、同様処
理を行うとP1の1つ手前の屈曲点が発見でき、以下同様
にして輪郭線上の全屈曲点を求めることができる。
このようにして、平仮名「の」では第3図に示す如く
屈曲点P1〜P30が抽出され、第4図の屈曲点属性テーブ
ル21に屈曲点番号とその座標が格納される。
次に、水平線、垂直線及び飾り部を抽出する。
これらは屈曲点の座標から第3図に示す如く各屈曲点
間を直線近似した(即ちパターンの輪郭を直線近似し
た)線分(輪郭ベクトル)を求めて、抽出する。
この方法としては、本出願人による既出願の「パター
ンの相似変換方式」(特願昭60−282271号)の技術を利
用できる。
即ち、各屈曲点間の線分の方向を求め、線分の水平方
向のものにはE1,E3,……垂直方向のものにはE2,E4,……
などの輪郭線番号を与える。水平/垂直方向にないもの
(所定のルールに合わないもの)には輪郭線番号は付さ
ない。Ei(i=1,2,……)が付いた輪郭については対に
なるものを重なり度と距離から求め、線群G1,G2,……を
求める。又、飾りは、線群の端部、または角を作る2線
群の該角部にあるものとして求める。
水平線、垂直線の検出は屈曲点の座標値を使って簡単
に行える。例えば線分の両端の屈曲点をPi(Xi,Yi),Pj
(Xj,Yj)とすれば、Xi=Xj,Yi≠Yjなら垂直線、Yi=Y
j,Xi≠Xjなら水平線である。
この例では、第3図及び第4図に示すように、屈曲点
P4,P5,P7,P8,P9,P10,P12,P13,P17,P18,P20,P21,P25,
P26,P28,P29が水平線又は垂直線の屈曲点であると認識
され、線群番号欄に「G」が付され、且つ対の線群には
同一番号が付加される。例えば点P4,P5の垂直線と点
P12,P13の垂直線は、対の線群としてG1と付される。又
各線群のパターンの中央からの位置が位置の欄に書込ま
れる。
平仮名「の」の場合は、文字パターンに飾り部がない
ので、飾り欄は何も記入されない。
次に、斜め線及び曲線ストロークの抽出が行われる。
以下に示す抽出方法は、第5図に示す如く、本出願人
による既出願の「斜め線及び曲線ストローク抽出方式」
(特許出願昭61−117485号)に開示されたものであり、
原パターンの斜め線及び曲線ストロークの全体的な構成
を確実に抽出できる利点を持つものである。
(i) 先づ、各屈曲点間の前述の線分(ストローク)
の方向を分類する。
第6図に示す如く、原点を屈曲点として次の屈曲点
に向かう線分の方向が第1〜第4象限のいずれにあるか
を判定し、曲線の属性A〜Dを付する。
例えば、第3図の例において、点P2から点P3へ向かう
線分は、第4象限なので、その線分の開始点P2に第4図
の如く曲線の属性「D」を記入する。
(ii) 次に、抽出した斜め線/曲線の線分(屈曲点)
について、連続する同じ曲線属性を持つ屈曲点列を統合
して、グループ化し、斜め線及び曲線ストロークを抽出
する。
例えば、屈曲点P2、P3は連続し且つ同一曲線属性のた
め、統合され、グループ化されて、斜め線及び曲線スト
ロークが抽出される。この例ではS1〜S10の斜め線及び
曲線ストロークが抽出される。
(iii) 次に抽出した斜め線及び曲線ストロークの輪
郭線対の抽出を行う。
即ち、抽出された各輪郭線に対して、その輪郭線の方
向、輪郭線の長さ及び各輪郭線間の距離を用いて、各輪
郭線間で対応付けを行って、斜め線及び曲線ストローク
を構成する輪郭線対の抽出が行われる。
いま文字パターン内に輪郭線を表す屈曲点列のグルー
プがNグループ存在するとき、グループjの屈曲点の総
数をnj(j=1,2,……,N)とし、グループj内の各屈曲
点をPj,i(i=1,2,……,N;i=1,2,……,nj)とし、グ
ループj内の各屈曲点のx,y座標をX(Pj,i),Y(Pj,
i)として、次のステップ1〜ステップ5の処理を行う
ことにより、斜め線及び曲線ストロークを構成する輪郭
線対を抽出する。
ステップ1; 輪郭線長算出処理では、次の(1)式により、各グル
ープの輪郭線の長さを算出する。
ここで、Lj(j=1,2,……,N)はグループjの輪郭線
の長さである。又、グループjの輪郭線の終点は、屈曲
点Pj,njの次の屈曲点となる。例えば、グループjとグ
ループ(j+1)が隣合う場合に、グループjの輪郭線
の終点は次のグループ(j+1)の輪郭線の始点となる
ので、 X(Pj,nj+1)=X(Pj+1,1) Y(Pj,nj+1)=X(Pj+1,1) が成立する。(1)式から明らかな様に、輪郭線の長さ
Ljは、グループjの輪郭線の軌跡の長さを表すものであ
る。
この実施例、即ち「の」の場合は、グループS1〜S10
についてのLj(j=1〜10)が算出される。
ステップ2; 又、輪郭線長算出処理では、設定された閾値Lthに対
し、Lth<Ljを満たす各グループを抽出する。これによ
り、文字における正規の斜め線及び曲線ストロークを構
成する輪郭線となり得ない僅かな長さの輪郭線に対する
グループが除去される。
この閾値Lthは、多くの文字、図形パターンにおける
各種の輪郭部長の値から実験的に求められる。
Lth<Ljを満たす各グループ中の1つのグループ(グ
ループjとする)の曲線属性(ATR(j)とする)に対
して、グループkの属性ATR(k)が、表1に示す対応
関係を満たすすべてのグループkをグループjのマッチ
ング候補とする。
矢印は前記グループの方向を示しており、表1から明
らかな様に、グループjのマッチング候補となるグルー
プkのATR(k)の方向は、グループjのATR(j)と逆
方向に設定される。
これは、斜め線及び曲線ストロークの構成要素となり
得る輪郭線対の属性は、互いに逆方向の属性を持つこと
による。
第3図の「の」の場合、グループS1のマッチング候補
はグループS4,S6であり、グループS2のマッチング候補
はグループS3,S7,S10である。
ステップ3; 次に輪郭線間距離算出処理では、グループjのマッチ
ング候補であるすべてのグループkについて、輪郭線間
距離dj,kを次の(2)式によって算出する。
dj,k=(Mjx−Mkx)+(Mjy−Mky) ……(2) ここで、 Mjx=〔X(Pj,1)+X(Pj,nj+1)〕/2 Mjy=〔Y(Pj,1)+Y(Pj,nj+1)〕/2 Mkx=〔X(Pk,1)+X(Pk,nk+1)〕/2 Mky=〔Y(Pk,1)+Y(Pk,nk+1)〕/2 但し、Pj,nj+1(又はPk,nk+1)は、Pj,nj(又はP
k,nk)の次の屈曲点であり、グループjとグループ(j
+1)が隣合う場合には、Pj,nj+1はグループ(j+
1)の始点となる。
即ち、グループjとグループkの輪郭線間の距離dj,k
として、ここでは、各輪郭線の始点と終点の中点Mj(Mj
x,Mjy)及びMk(Mkx,Mky)との間の距離を用いている。
ステップ4; 輪郭線対識別処理では、輪郭線長算出処理まで算出さ
れた各輪郭線長情報及び輪郭線間距離算出処理で算出さ
れた各輪郭線間距離情報に基づき、グループjのマッチ
ング候補であるすべてのグループkに対して次の(3)
式で示される識別量Djkを算出する。
Djk=dj,k+|Lj−Lk| ……(3) ここで、dj,kは、(2)式によって求められたグルー
プjとグループkの輪郭線間距離である。Lj及びLkは、
(1)式によって求められたグループjとグループkの
各輪郭線長であり、|Lj−Lk|は、両輪郭線長の差の絶対
値を示す。
グループjは、識別量Djkを最小にするグループとマ
ッチングし、グループjの輪郭線と対になる。
ステップ5; すべてのjについて、前述のステップ2〜ステップ4
の処理を行い、すべてのグループについての輪郭線対を
求める。
この結果は、屈曲点属性テーブル21に書込まれる。
前述の平仮名「の」では、例えば屈曲点P2,P3の曲線S
1と、屈曲点P13,P14の曲線S4が対とり、この屈曲点に対
し曲線群番号として「F1」がテーブル21に書込まれる。
そして、これらの情報からテーブル21の曲線近似区間
欄に各屈曲点の属する1価関数の斜め線/曲線ストロー
クの識別子S1〜S10が書込まれ、1価関数の斜め線/曲
線ストロークの抽出が終了する。
この抽出終了後の屈曲点属性テーブル21の内容が第4
図であり、これをパターンとして図示したものが第3図
である。
第3図では、「△」が曲線(斜め線)上にある屈曲
点、「□」が水平、垂直線にある屈曲点、「■」が属性
がない屈曲点である。
この例では、平仮名「の」が10ケ(5対)の斜め線/
曲線ストローク(区間)S1〜S10と、4対の水平、垂直
線G1〜G4に近似されたことになる。
(c)曲線近似区間再設定処理の説明 このように抽出した水平、垂直線、斜め線/曲線スト
ロークを用いて、圧縮データを作成すると、これを復元
した時、第13図で示した滑らかさのない復元パターンし
か得られない。
このため、滑らかな復元パターンが得られる圧縮デー
タを作成できるように再設定処理を行う。
復元パターンが滑らかにならないのは、斜め線/曲線
ストロークの抽出に第6図の4方向分類を行っているた
めである。
即ち、4方向分類で1価関数の斜め線/曲線ストロー
クを分割抽出しているため、象限の異なる斜め線/曲線
ストロークがつながる多価関数の曲線ストロークにおい
ては、つなぎ目での傾きの相違によって、平滑性が保て
なくなる。
従って、条件を設定し、抽出された1価関数の斜め線
/曲線ストロークから多価関数の曲線ストロークを抽出
し、抽出した多価関数の曲線ストロークに対し、新たに
曲線近似区間を設定し、1価関数の曲線ストロークを生
成すればよい。
第7図は曲線近似区間再設定処理フロー図、第8図は
曲線ストロークの総合説明図、第9図は曲線分割の説明
図、第10図は再設定動作説明図、第11図は屈曲点属性テ
ーブルの説明図である。
多価関数の曲線の抽出は、曲線近似区間(曲線ストロ
ーク)の曲線(方向)の属性A〜D、曲線近似区間(以
下セグメントという)間の屈曲点数、セグメント間の傾
きの連続性を用いて行う。
先づ、セグメントの方向の属性関数を調べる。
第4図で示した如く、各セグメント(ストロークと同
一)S1〜S10には曲線方向の属性A〜Dが付加されてい
る。
隣合うセグメントi,j間で表2に示す方向の属性関数
を満たすか調べる。
表2は隣合うセグメントi,jが第6図の4象限の隣合
う象限にあるかを示すものである。
この条件を満たすものは統合により多価関数となるこ
とを意味する。
次に、セグメント間に存在する屈曲点数を調べる。
これを第8図(A)〜(C)によって説明する。
原則としては、セグメントiとjの間に存在する屈曲
点数が2以下の場合にセグメントの統合を可とする。
第8図(A)に示す様に、セグメントiとセグメント
jにある長さのしきい値以内の短い垂直線(屈曲点数
2)が存在する場合、第8図(B)に示す様にセグメン
トiとセグメントjに属性のない屈曲点が1ケ存在する
場合、第8図(C)の如く、セグメントiとセグメント
jが接している場合であり、これらはセグメントの統合
を行っても差し支えないと判定する。
即ち、このようにセグメントi,j間の屈曲点数が少な
い時には、統合して多価関数としても差し支えないから
であり、むしろパターンとして本来多価関数の曲線スト
ロークであったと考えられるからである。
次に、セグメント間の傾きの連続性を調べる。
上述の如く統合条件に合うセグメントi,jであっても
傾きに連続性がなければ、平滑性のある多価関数の曲線
ストロークとはいえない。
これを第8図(D)〜(F)によって説明する。
尚、第8図(D)〜(F)は、第8図(A)〜(C)
のケースと各々対応している。
統合部分の傾きの連続性を輪郭ベクトルの内積で定量
化し、あるしきい値θthと比較する。
第8図(D),(E)では、セグメントi,jの輪郭ベ
クトル,、その間の輪郭ベクトルを、第8図
(F)では、セグメントi,jの輪郭ベクトルを,と
する。
そして、次の条件を満たす場合にセグメントi,jを統
合する。
但し、θはベクトルとベクトルのなす角、θ
はベクトルとベクトルのなす角である。
即ち、内積がしきい値θth以上ならセグメントi,jの
統合を可とする。
このような3つの条件の全てが満たされた場合にセ
グメントi,jの統合を行い、多価関数の曲線を抽出す
る。
第3図の様にストローク抽出されたものにおいては、
セグメント(ストローク)S6,G4,S7,S1,G1,S2(即ち屈
曲点P18から右回り屈曲点P7まで)が統合され、第1の
多価関数のストロークに、セグメントS8,G4,S9(屈曲点
P23から左回りに屈曲点P28まで)が統合され、第2の多
価関数のストロークに、セグメントS3,G1,S4(屈曲点P
10から左回りに屈曲点P15まで)が統合され、第3の多
価関数のストロークが抽出されることになる。
次に、統合により抽出された多価関数の曲線ストロ
ークを1価関数の曲線ストロークに曲線分割し、新たに
曲線近似区間を設定する。
(b)で前述した如く、斜め線/曲線ストロークの抽
出は第9図(A)の如く、4方向分類、即ちX−Y平面
の0゜,90゜,180゜,270゜で分割して行われる。
即ち、多価関数の曲線ストロークが0゜,90゜,180゜,
270゜で分割され1価関数の斜め線/曲線ストロークを
得る。
これをX−Y座標の1価関数の曲線で表すことから、
隣合う象限のセグメントの接合部(つなぎ目)は、傾き
が∞又は0となって、平滑性が失われる。
そこで、曲線分割するX−Y平面上での角度を変える
ことによって、0゜,90゜,180゜,270゜の傾きが∞又は
0で分割されるのを防ぐ。
このため、第9図(B)で示す如く、抽出した多価関
数の曲線に対しX軸となす角が45゜,135゜,225゜,315゜
の所で新たに曲線分割を行い、曲線近似区間を設定す
る。
これは、統合された多価関数の曲線ストロークの各屈
曲点の座標値を調べ、X軸となす角が45゜,135゜,225
゜,315゜に最も近い屈曲点を近似区間の分割点として曲
線分割すればよい。
第10図に示す様に、多価関数の曲線ストロークに統合
された屈曲点の内、X軸となす角が45゜,135゜,225゜,3
15゜に最も近い屈曲点は、P3,P6,P11,P14,P19,P22,P24,
P27である。これを分割点とすると、第1の多価関数の
ストロークは、P18からP19間の曲線ストロークS8、S19
からP22間の曲線ストロークS9、P22からP3間の曲線スト
ロークS1、P3からP6間の曲線ストロークS2、P6からP7
曲線ストロークS3に分割され、これらのストロークの間
が新たな曲線近似区間となる。
同様に、第2の多価関数のストロークは、P23からP24
間の曲線ストロークS10、P24からP27間の曲線ストロー
クS11、P27からP28間の曲線ストロークS12に分割され、
第3の多価関数のストロークは、P10からP11間の曲線ス
トロークS4、P11からP14間の曲線ストロークS5、P14
らP15間の曲線ストロークS6に分割される。
このように分割された結果で屈曲点属性テーブル21の
曲線近似区間を第11図のように書替える。又、これに合
わせて輪郭線対をF1〜F6の如く曲線群番号を書替える。
これによって曲線近似区間が再設定されたことにな
る。
尚、多価関数のストローク抽出において、統合されな
かった曲線ストロークの近似区間はそのままであり、第
10図ではS7、S13(第4図のS5,S10に対応)である。
これによって、次に説明する圧縮データが作成され、
これを復元してみると、第12図に示すようにつなぎ目の
平滑性を持つ拡大パターンが得られる。
(d)圧縮データ作成処理の説明 以上の様にして作成された第2図屈曲点属性テーブル
21の内容、特に屈曲点座標とその属性(線群番号,飾
り,曲線属性,曲線群番号,曲線近似区間)を用いて、
圧縮データを作成する。
上述の抽出においては、水平線、垂直線及び飾りは直
線として抽出し、直線近似の対象とし、斜め線及び曲線
ストローク1のみ曲線近似の対象とするように抽出され
ている。
従って、ベクトル文字を拡大、縮少した場合に凹凸が
目立つ長い曲線ストローク又は斜め線を美しいパターン
で再生できる。
又、斜め線及び曲線ストロークは1価関数の曲線とし
て近似区間が設定されているから、極大値と極小値が存
在しないことから、得られた曲線の振動現象の有無を検
証でき、適切な曲線が得られる。
先づ、曲線近似区間のデータ作成について説明する。
曲線近似区間が定まれば、それに適切な曲線を近似し
て求める方法は種々ある。
ここでは、本出願人による既出願の「パターンデータ
圧縮方式」(特許出願昭61−118920号)に示されている
n次のスプライン関数による平滑化方式、特に数値的に
安定であるB−Spline関数によるものを用いる。
この方法は、曲線部分の数多い屈曲点の代わりに多項
式の係数を記憶すればよく、大幅なデータ圧縮ができ
る。
曲線近似:B−Spline平滑化方式には、周知の如く、節点
列を外部から与える固定節点式と、節点列を内部で適応
的に与える節点追加方式または逐次分割方式がある。節
点列の与え方は幾通りもあり、曲線の形状によって異な
るので、本発明では後者の節点追加方式を採る。B−Sp
line関数による平滑化方式(節点追加方式)の一般式S
(x)を(5)式に示す。
但しmは次数、ntは節点の数、Cjは係数、Nj,m+1は
(m+1)階の差分商 (5)式の係数Cjは、最小2乗近似的条件から求めら
れる。具体的には(6)式の評価式を満足するように決
める。
但しδは残差2乗和、δ2thは残差th2乗和の閾値、
yiはi番目参照点のy座標値、σi 2は観測誤差、nは参
照点の総数 ここで観測誤差σi 2は、参照点の重み即ちどの点を重
要視するかを表す点である。ここでは、スプライン関数
の次数mを3とし、観測誤差σi 2は、両端の参照点を最
小に設定し、他の参照点のそれを曲線の傾きに応じて設
定する。
また、曲線の傾きに応じて(5)式に示すXの1価関
数S(x)だけでなくYの1価関数S(y)でも近似す
る。例えば、第10図では、曲線近似区間S1,S3,S4,S6,
S8,S10,S12に対しては、Xの1価関数で近似し、S2,S5,
S7,S9,S11,S13に対してはYの1価関数で近似する。
振動判定:前記のように本発明ではあらかじめ曲線近似
の対象となる各セグメント(線分)内に存在する極大値
又は、最小値の数がわかるので曲線近似の後にその数を
調べることにより振動が起きているか否か判定できる。
本来1価関数の曲線ストロークに対しては、曲線近似の
対象となる各セグメント内に極大値、極小値は存在しな
いのでこれを調べることにより振動が起きているか否か
を判定できる。
まず、本来1価関数の曲線ストロークに対して振動の
有無を調べる方法を説明する。極大値、極小値の有無
は、得られた曲線を細かく分割し、各点の微係数の符号
を調べれば分るが、微係数算出の手間を省くため、これ
は次のように行う。
各セグメントは、屈曲点間のベクトルを90゜おきの4
方向に分類し、その属性を基に決定しておくので、各分
割区間の属性を調べることにより極大値と極小値の有無
が分り、振動の有無を判定できる。分割したl番目の点
のx座標をxL、y座標をS(xL)とすると、(l+1)
とlの区間で(xL+1+xL)の正負と(S(xL+1)−S
(xL))の正負を調べることにより属性が分る。次に振
動判定の処理ステップを示す。
ステップ1……曲線を、分割点Ns個として(Ns−1)個
に分割する。
ステップ2……分割点l=1の属性を求める。
(x2−x1)と(S(x2)−S(x1))の正負を判定す
ることにより、表3に示す属性を決定する。
ステップ3……分割点l=2の属性を同様な方法で求
め、l=1の属性と一致しているか否か調べる。
ステップ4……もし属性が一致していればl=3につい
ても属性を求め、l=1との属性の一致/不一致を調べ
る。属性が一致しなければ振動ありと判定し、処理を打
ち切る。
ステップ5……l=4からl=Ns−1までステップ4の
処理を行い、l=Ns−1まで属性の一致が確認できれば
振動なしと判定する。
次に、本来多価関数の曲線ストロークに対して振動の
有無を調べる方法を説明する。多価関数の曲線ストロー
クの各セグメントは、1価関数の曲線ストロークの統合
と再曲線分割により決定されているため、1価関数の曲
線ストロークの方向の属性より多価関数の曲線ストロー
クの各セグメントの方向の属性が明らかである。例え
ば、第10図、第11図で曲線近似区間S2においては、曲線
の属性DとCの2つを含む。以下、多価関数の曲線スト
ロークに対する振動判定の処理ステップを示す。
ステップ1′……ある曲線近似区間に対して屈曲点属性
テーブルより曲線の属性を調べる。区間内で全ての曲線
の属性が同じであれば極大値、極小値が存在しない区間
とみなし前述のステップ1からステップ5の処理を行い
振動判定する。そうでない場合は、2種類の属性をAT
(1)、AT(2)に記憶する。
ステップ2′……曲線を、分割点をNs個として(Ns−
1)個に分割する。
ステップ3′……各分割点において(Xi+1−Xi)と(S
(xi+1)−S(x1)の正負を判定することにより表3に
示す属性を決定する。
ステップ4′……全ての分割点の属性を調べ、属性の種
類の数をNATRとし、NATR個の各属性をAT′(1)〜AT′
(NATR)に記憶する。
ステップ5′……NATR≠2の場合、振動が生じていると
見なし、処理を打ち切る。
ステップ6′……AT(1)=AT′(1)且つAT(2)=
AT′(2)であれば振動なしと判定し、そうでなければ
振動ありと判定する。
斜め線及び曲線ストロークの輪郭復元:これは前記
(5)式により行う。なお屈曲点が少ない場合は(6)
式により得られる誤差の信頼性が薄く、また振動現象も
生じやすいため、適切な曲線を得ることが難しい。そこ
で屈曲点数が少ない場合は、屈曲点間をDDAにより発生
させた直線で結び、参照点を増やして曲線近似を行う。
また屈曲点が多い場合でも(6)式の誤差条件と前項の
振動判定の条件を満足しないとき、屈曲点間をDDAで結
び、参照点を増やして曲線近似を行う。
即ち、第2図の多項式の係数算出部140が屈曲点属性
テーブル21から各曲線近似区間の屈曲点の座標を得、斜
め線及び曲線ストロークの輪郭復元部143で節点列を発
生させ、(5)式で係数Cj,S(x)を算出し、残差2乗
和判定部141で(6)式で求めたS(x)に対する残差
2乗和を求め、残差2乗和が(6)式を満足するように
(5)式、即ち係数Cjを算出し直し、更に振動判定部14
2で振動判定し、振動判定条件を満たさないと再び係数
算出をやり直し、残差2乗和の条件と振動判定の条件の
両方を満足する係数Cjを見付ける。
このようにして、B−Spline関数の係数Cjを見付ける
と、圧縮データ作成部144はこの係数Cjと当該曲線近似
区間の始点、終点を圧縮データとして圧縮データ格納部
22へ格納する。
又、水平線、垂直線、飾りは圧縮データ作成部145で
直線の端点を圧縮データとして圧縮データ格納部22へ格
納する。
(e)他の実施例の説明 上述の実施例では、多価関数の曲線ストロークの抽出
の条件を第8図の如くとしているが、これらの間の屈曲
点数やしきい値θthは、要求される滑らかさによって適
宜選択できる。
又、曲線分割を45゜,135゜,225゜,315゜で行っている
が他の角度であってもよい。
以上本発明を実施例により説明したが、本発明は本発
明の主旨に従い種々の変形が可能であり、本発明からこ
れらを排除するものではない。
〔発明の効果〕
以上説明した様に、本発明によれば、抽出された1価
関数の斜め線/曲線ストロークを統合し、多価関数の曲
線ストロークを抽出し、新たに曲線近似区間を設定し
て、1価関数の曲線ストロークに分割し直しているの
で、多価関数の曲線ストロークが復元時に滑らかに表現
できる1価関数の曲線ストロークとしてデータ圧縮でき
るという効果を奏し、圧縮データから、多価関数の曲線
を高品質に生成でき、拡大しても美しく滑らかな多価関
数の曲線が得られる。
特に、文字パターンの作成に際しては、文字数も多
く、わずかに修正するだけでもその作業は膨大となる
が、本発明を用いると、圧縮データを復元して復元パタ
ーンを点検するときに、修正が殆んどいらないため、効
率よく高品質パターンの生成が可能となるという効果も
奏す。
【図面の簡単な説明】
第1図は本発明の原理説明図、 第2図は本発明の一実施例全体構成図、 第3図は本発明に用いるストローク抽出動作説明図、 第4図は第2図構成の屈曲点属性テーブル説明図、 第5図は本発明に用いる斜め線/曲線ストローク抽出処
理フロー図、 第6図は第5図における4方向分類の説明図、 第7図は本発明による曲線近似区間再設定処理フロー
図、 第8図は第7図の曲線ストロークの統合説明図、第9図
は第7図の曲線分割の説明図、 第10図は第7図による再設定動作説明図、 第11図は第7図の処理における屈曲点属性テーブル説明
図、 第12図は本発明による拡大復元パターン説明図、 第13図は従来技術の説明図である。 図中、10……屈曲点抽出部、 11……水平、垂直線、斜め線及び曲線ストローク抽出
部、 12……多価関数の曲線ストローク抽出部、 13……曲線近似区間設定部、 14……圧縮データ作成部、

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】パターンの輪郭線の屈曲点を抽出し、該抽
    出した屈曲点間の輪郭ベクトルから水平及び垂直線と1
    価関数の斜め線及び曲線ストロークを抽出して、該輪郭
    線を直線及び曲線で近似して、パターンデータを圧縮す
    るパターンデータ圧縮方法において、 該抽出した1価関数の斜め線及び曲線ストロークを統合
    して、多価関数の曲線ストロークを抽出し、該抽出した
    多価関数の曲線ストロークに対し曲線分割を行い、新た
    な曲線近似区間を設定して、 1価関数の曲線ストロークに分割することを 特徴とするパターンデータ圧縮方法。
JP62091805A 1986-05-23 1987-04-14 パタ−ンデ−タ圧縮方法 Expired - Lifetime JP2507413B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP62091805A JP2507413B2 (ja) 1987-04-14 1987-04-14 パタ−ンデ−タ圧縮方法
CA000537470A CA1270953A (en) 1986-05-23 1987-05-20 Method of curve approximation
US07/052,431 US4853885A (en) 1986-05-23 1987-05-21 Method of compressing character or pictorial image data using curve approximation
DE87304527T DE3787670T2 (de) 1986-05-23 1987-05-21 Kurvennäherungsverfahren.
EP87304527A EP0246898B1 (en) 1986-05-23 1987-05-21 method of curve approximation
AU73341/87A AU582303B2 (en) 1986-05-23 1987-05-22 Method of curve approximation
KR1019870005129A KR910001525B1 (ko) 1986-05-23 1987-05-23 곡선 근사방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62091805A JP2507413B2 (ja) 1987-04-14 1987-04-14 パタ−ンデ−タ圧縮方法

Publications (2)

Publication Number Publication Date
JPS63257072A JPS63257072A (ja) 1988-10-24
JP2507413B2 true JP2507413B2 (ja) 1996-06-12

Family

ID=14036838

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62091805A Expired - Lifetime JP2507413B2 (ja) 1986-05-23 1987-04-14 パタ−ンデ−タ圧縮方法

Country Status (1)

Country Link
JP (1) JP2507413B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2813059B2 (ja) * 1990-11-05 1998-10-22 アルプス電気株式会社 位置データの近似方法

Also Published As

Publication number Publication date
JPS63257072A (ja) 1988-10-24

Similar Documents

Publication Publication Date Title
JP4924165B2 (ja) 形状比較装置および形状比較方法
JPS6282486A (ja) オンライン手書き図形認識装置
CN100371937C (zh) 计算机辅助设计系统和方法
CN109887009B (zh) 一种点云局部匹配方法
KR910001525B1 (ko) 곡선 근사방법
CN108875720B (zh) 矢量字体的骨架线提取方法及装置
JP2507413B2 (ja) パタ−ンデ−タ圧縮方法
JP2527187B2 (ja) 曲線近似によるパタ−ンデ−タの圧縮方式
CN112967333A (zh) 基于等级划分的复杂点云骨架提取方法及系统
Vasin et al. Geometric modeling of raster images of documents with weakly formalized description of objects
JP2833003B2 (ja) 曲線のドットパターンのデータ圧縮方法
JP2882327B2 (ja) 線図形整合装置
JPH0419593B2 (ja)
JP3359229B2 (ja) オンライン手書き文字認識方法
JPH01184586A (ja) 曲線近似によるパターンデータの圧縮方式
JPH081660B2 (ja) オンライン手書き図形認識装置
Maehama et al. Efficient conformal tetrahedral finite element mesh generation for moving objects with contact by mesh adaptation
Fu et al. Writing Chinese Calligraphy on Arbitrary Surfaces
Ding et al. Linear texture image retrieval using attributed relational graph
Song et al. TARGET RECOGNITION ALGORITHM BASED ON SALIENT CONTOUR FEATURE SEGMENTS
JPH0523463B2 (ja)
Sarfraz Outline representation of fonts using genetic approach
JPH0315226B2 (ja)
JPH0773317A (ja) 画像認識装置
JPS6375882A (ja) パタ−ン圧縮装置