JP2001051670A - 文字データ作成装置、文字データ作成方法及び記憶媒体 - Google Patents

文字データ作成装置、文字データ作成方法及び記憶媒体

Info

Publication number
JP2001051670A
JP2001051670A JP11203957A JP20395799A JP2001051670A JP 2001051670 A JP2001051670 A JP 2001051670A JP 11203957 A JP11203957 A JP 11203957A JP 20395799 A JP20395799 A JP 20395799A JP 2001051670 A JP2001051670 A JP 2001051670A
Authority
JP
Japan
Prior art keywords
curve
data
value
character
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11203957A
Other languages
English (en)
Inventor
Kazuo Toraichi
和男 寅市
Koichi Wada
耕一 和田
Motoko Obata
茂都子 小畑
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.)
FLUENCY KENKYUSHO KK
Original Assignee
FLUENCY KENKYUSHO KK
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 FLUENCY KENKYUSHO KK filed Critical FLUENCY KENKYUSHO KK
Priority to JP11203957A priority Critical patent/JP2001051670A/ja
Publication of JP2001051670A publication Critical patent/JP2001051670A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 【課題】 毛筆体や筆記文字などのように輪郭線が滑ら
かな曲線で構成されるような文字に対しても、少ないデ
ータ量で、高品質の文字データを作成できるようにす
る。 【解決手段】 データ入力手段(S1)は、スキャナ2
3によって文字の内容をドットマトリクスデータとして
取り込む。輪郭点列抽出手段(S2)はこのドットマト
リクスデータから輪郭点列を抽出する。関数近似手段
(S3,S4)は、輪郭点列から構成される曲線をフル
ーエンシ関数を用いて近似する。フルーエンシ関数は、
有限回微分可能であって、標本位置t=0で1、t=±
1,t≦−2,t≧+2で0、これ以外のtで0以外の
値を有する有限台の標本化関数である。記憶手段(S
5)は、近似結果を文字データとして記憶する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、文字データを作成
する文字データ作成装置及び文字データ作成方法及びこ
の方法を実現するためのプログラムや文字データを記憶
する記憶媒体に関する。
【0002】なお、本明細書においては、関数の値が局
所的な領域で0以外の有限の値を有し、それ以外の領域
で0となる場合を「有限台」と称して説明を行うものと
する。
【0003】
【従来の技術】コンピュータは、特定のタイプスタイル
やタイプサイズを有する文字データ(フォント)に基づ
いてディスプレイに文字を表示したり、プリンタで文字
を印刷したりする。このような文字データには、多数の
ドットの集合体で構成されたビットマップフォントと、
文字を表す主要な輪郭線を直線や円弧の関数の集合体で
構成したアウトラインフォントと呼ばれるものがある。
【0004】
【発明が解決しようとする課題】ビットマップフォント
は、拡大するとドット構成が粗くなり、斜めの線を表す
際にジャギーと呼ばれるギザギザが発生するので、高品
質の表示や印刷には向かないものである。一方、アウト
ラインフォントは、ビットマップフォントに比べてデー
タ量も少なくてよく、文字の拡大・縮小、変形などを行
っても、ジャギーが表れることなく、高品質の表示や印
刷を行うことができるので、コンピュータで処理される
文字データとしては好ましい。すなわち、アウトライン
フォントは、ゴシック体や明朝体などで表現された漢字
のように直線や円弧の関数だけで比較的近似し易い文字
に関しては、データ量も少なくてすみ、ある程度正確に
輪郭線を近似することができるので、広く利用されてい
る文字データである。
【0005】ところが、ひらがなや毛筆文字や筆記文字
などのように全体的に滑らかな曲線で構成される文字を
アウトラインフォントで構成しようとした場合、滑らか
な曲線の集合である輪郭線を直線や円弧の関数で近似す
る関係上、データ量が多くなるわりにはあまり正確に輪
郭線を近似することができないという欠点があった。
【0006】本発明は、このような点に鑑みて創作され
たものであり、その目的は、毛筆体や筆記文字などのよ
うに輪郭線が滑らかな曲線で構成されるような文字に対
しても、少ないデータ量で、高品質の文字データを作成
することのできる文字データ作成装置及び文字データ作
成方法を提供することにある。
【0007】
【課題を解決するための手段】請求項1に記載された本
発明の文字データ作成装置は、文字に対応したドットマ
トリクスデータを入力するデータ入力手段と、前記ドッ
トマトリクスデータの中から前記文字の輪郭に対応した
輪郭点列を抽出する輪郭点列抽出手段と、前記輪郭点列
によって表される曲線を、有限回微分可能であって、標
本位置t=0で1、t=±1,t≦−2,t≧+2で
0、これ以外のtで0以外の値を有する有限台の標本化
関数に基づいて近似する関数近似手段と、前記関数近似
手段による近似結果を文字データとして記憶する記憶手
段とを含んで構成されるものである。
【0008】データ入力手段は、スキャナなどによって
文字をドットマトリクスデータとして取り込む。輪郭点
列抽出手段は取り込まれたドットマトリクスデータから
文字の輪郭に対応した輪郭点列を抽出する。この輪郭点
列は複数のドットの連結されたものであり、階段状では
あるが文字の輪郭形状に対応した曲線と見なすことがで
きる。関数近似手段は、このような輪郭点列から構成さ
れる曲線をフルーエンシ関数を用いて近似する。このフ
ルーエンシ関数は、有限回微分可能であって、標本位置
t=0で1、t=±1,t≦−2,t≧+2で0、これ
以外のtで0以外の値を有する有限台の標本化関数であ
る。このフルーエンシ関数は、従来から知られているs
inc関数と称される標本化関数と同様に、その近似さ
れる曲線の位置の値をそのまま係数として利用すること
ができる。そこで、関数近似手段は、輪郭点列で構成さ
れる階段状の曲線に対応した滑らかな曲線(近似曲線)
をこのフルーエンシ関数を用いて生成する。フルーエン
シ関数は有限台の関数なので、sinc関数を用いる場
合に生じていた打ち切り誤差もなく、高速に演算でき、
処理の精度も高い。記憶手段は、近似曲線を生成するた
めの関数に関するデータのみを文字データとして記憶す
るだけでよい。これによって、本発明は、記憶するデー
タ量を大幅に軽減することができる。また、このように
して作成された文字データを再生出力する場合には、文
字データに基づいて近似曲線を生成し、それを表示装置
や印刷装置の解像度に対応した画像データに変換するだ
けで元の文字の外観形状等を忠実にディスプレイ表示し
たり、印刷したりすることができる。近似曲線に任意の
倍率を乗じることによって輪郭線すなわち文字の縮小拡
大を自在に行うことができる。さらに、近似曲線に任意
の倍率を乗じることによって容易に縮小拡大された文字
を作成することができる。この場合、縮小拡大された文
字はその一部が欠落したり、潰れたり、ジャギーが発生
したりして品質劣化が生じることもない。
【0009】請求項2に記載された本発明の文字データ
作成装置は、前記関数近似手段を、前記輪郭点列によっ
て表される曲線のx方向及びy方向のそれぞれの値を媒
介変数tを用いて変数tに対して多値を取らないような
曲線に変換し、変換後の曲線を前記標本化関数で近似す
るようにしたものである。輪郭点列から構成される曲線
がドットマトリクス上の複数のドットによって構成され
ている場合、その曲線が変数に対して多値を取らない一
次元的な単純な曲線で構成される場合にはそのまま近似
を行える。しかしながら、その曲線が変数に対して多値
を取る場合、標本化関数を適用することができない。従
って、この発明では、ドット列によって表される曲線を
媒介変数を用いて変数tに対して多値を取らない曲線に
変換し、変換後の曲線に対して前述のような標本化関数
を用いて近似を行うようにした。
【0010】請求項3に記載された本発明の文字データ
作成装置は、次元数をn、前記曲線の両端の間隔をm個
とした場合に、 標本間隔がm/nであって、標本位置
t=0で1、t=±m/n,t≦−2m/n,t≧+2
m/nで0、これ以外のtで0以外の値を有する標本化
関数を用いて、前記曲線の両端位置、前記両端位置から
前記曲線の外側にm/n離れた位置、及び前記曲線内で
あっていずれか一方の端からm/nの整数倍の位置をそ
れぞれの標本位置とし、前記両端位置及び前記内側位置
における標本値にはその位置における値を適用し、前記
外側位置における標本値には前記両端位置の値であって
当該位置から遠い方の値を適用するようにしたものであ
る。この発明では、次元数に応じて標本化関数がどのよ
うに適用されるのかを具体的に限定したものである。例
えば、次元数が1の場合には、輪郭点列から構成される
曲線の両端位置と、その両外側の合計4つの位置に標本
化関数が適用される。次元数が2の場合には、その曲線
の両端位置と、その外側の2つの位置と、曲線の中央位
置の5つの位置に標本化関数が適用される。すなわち、
次元数が2の場合には曲線を2等分割した位置、次元数
が3の場合には曲線を3等分割した位置、という具合に
次元数に応じた分割位置に標本化関数が適用される。ま
た、曲線の外側に標本化関数適用した場合に、対応する
データが存在しないことを想定し、その場合の値を具体
的に限定した。
【0011】請求項4に記載された本発明の文字データ
作成装置は、前記標本化関数を、全域が1回だけ微分可
能であって有限台の値を有するようにしたものである。
近似しようとする曲線が滑らかに変化するので、標本化
関数も微分可能性が必要となる。しかしながら、その微
分回数は必ずしも無限回である必要はなく、むしろ一回
だけ微分可能であれば十分に曲線を近似することがで
き、演算時間の短縮化も図ることができるので、この発
明では標本化関数を1回だけ微分可能であれば十分であ
ると限定した。
【0012】請求項5に記載された本発明の文字データ
作成装置は、前記標本化関数を、−2≦t<−3/2に
ついては(−t2 −4t−4)/4で、−3/2≦t<
−1については(3t2 +8t+5)/4で、−1≦t
<−1/2については(5t 2 +12t+7)/4で、
−1/2≦t<1/2については(−7t2 +4)/4
で、1/2≦t<1については(5t2 −12t+7)
/4で、1≦t<3/2については(3t2 −8t+
5)/4で、3/2≦t<2については(−t2+4t
−4)/4で定義されるようにしたものである。これ
は、有限回微分可能であって、標本位置t=0で1、t
=±1,t≦−2,t≧+2で0、これ以外のtで0以
外の値を有する有限台の標本化関数を具体的に限定した
ものである。
【0013】請求項6に記載された本発明の文字データ
作成方法は、文字に対応したドットマトリクスデータを
入力するステップと、入力された前記ドットマトリクス
データの中から前記文字の輪郭に対応した輪郭点列を抽
出するステップと、抽出された前記輪郭点列によって表
される曲線を、有限回微分可能であって、標本位置t=
0で1、t=±1,t≦−2,t≧+2で0、これ以外
のtで0以外の値を有する有限台の標本化関数の複数で
近似するステップと、前記標本化関数を文字データとし
て記憶手段に記憶するステップとを含むものである。こ
れは、請求項1に記載された文字データ作成装置を方法
の発明としてクレームしたものである。
【0014】請求項7に記載された本発明の文字データ
作成方法は、前記近似するステップは、前記輪郭点列に
よって表される曲線のx方向及びy方向のそれぞれの値
を媒介変数tを用いて変数tに対して多値を取らないよ
うな曲線に変換し、変換後の曲線を前記標本化関数で近
似するようにしたものである。これは、請求項2に記載
された文字データ作成装置に対応しており、方法の発明
としてクレームしたものである。
【0015】請求項8に記載された本発明の文字データ
作成方法は、次元数をn、前記曲線の両端の間隔をmと
した場合に、標本間隔がm/nであって、標本位置t=
0で1、t=±m/n,t≦−2m/n,t≧+2m/
nで0、これ以外のtで0以外の値を有する標本化関数
を用いて、前記曲線の両端位置、前記両端位置から前記
曲線の外側にm/n離れた位置、及び前記曲線内であっ
ていずれか一方の端からm/nの整数倍の位置をそれぞ
れの標本位置とし、前記両端位置及び前記内側位置にお
ける標本値にはその位置における値を適用し、前記外側
位置における標本値には前記両端位置の値であって当該
位置から遠い方の値を適用するようにしたものである。
これは、請求項3に記載された文字データ作成装置に対
応しており、方法の発明としてクレームしたものであ
る。
【0016】請求項9に記載された本発明の文字データ
作成方法は、前記標本化関数を、全域が1回だけ微分可
能であって有限台の値を有するようにしたものである。
これは、請求項4に記載された文字データ作成装置に対
応しており、方法の発明としてクレームしたものであ
る。
【0017】請求項10に記載された本発明の文字デー
タ作成方法は、前記標本化関数を、−2≦t<−3/2
については(−t2 −4t−4)/4で、−3/2≦t
<−1については(3t2 +8t+5)/4で、−1≦
t<−1/2については(5t2 +12t+7)/4
で、−1/2≦t<1/2については(−7t2 +4)
/4で、1/2≦t<1については(5t2 −12t+
7)/4で、1≦t<3/2については(3t2 −8t
+5)/4で、3/2≦t<2については(−t 2 +4
t−4)/4で定義されるようにしたものである。これ
は、請求項5に記載された文字データ作成装置に対応し
ており、方法の発明としてクレームしたものである。
【0018】請求項11に記載された本発明の記憶媒体
は、機械によって読み取り可能な記憶媒体であって、コ
ンピュータによって実行される文字データを作成するた
めのプログラムについての命令群をその記憶内容として
有しており、前記文字データの作成を制御するプログラ
ムは、 文字に対応したドットマトリクスデータを入力
するステップと、入力された前記ドットマトリクスデー
タの中から前記文字の輪郭に対応した輪郭点列を抽出す
るステップと、抽出された前記輪郭点列によって表され
る曲線を、有限回微分可能であって、標本位置t=0で
1、t=±1,t≦−2,t≧+2で0、これ以外のt
で0以外の値を有する有限台の標本化関数の複数で近似
するステップと、前記標本化関数を文字データとして記
憶手段に記憶するステップとを含むものである。これ
は、請求項7に記載された文字データ作成方法の発明に
関するプログラムを記憶した記憶媒体に関する発明であ
る。なお、この発明は請求項5から10までに記載の内
容を実現するためのプログラムについても同様に適用さ
れるものである。
【0019】請求項12に記載された本発明の記憶媒体
は、機械によって読み取り可能な記憶媒体であって、コ
ンピュータによって実行される文字データをその記憶内
容として有しており、前記文字データは、文字に対応し
たドットマトリクスデータを入力するステップと、入力
された前記ドットマトリクスデータの中から前記文字の
輪郭に対応した輪郭点列を抽出するステップと、抽出さ
れた前記輪郭点列によって表される曲線を、有限回微分
可能であって、標本位置t=0で1、t=±1,t≦−
2,t≧+2で0、これ以外のtで0以外の値を有する
有限台の標本化関数の複数で近似するステップと、前記
近似に寄与する標本化関数を文字データとするステップ
とによって作成されたものである。これは、請求項1に
記載の文字データ作成装置又は請求項7に記載の文字デ
ータ作成方法によって作成された文字データを記憶した
記憶媒体に関する発明である。なお、この発明は、請求
項2から5までに記載の文字データ作成装置、請求項6
から10までに記載の文字データ作成方法によって作成
された文字データを記憶する記憶媒体についても同様に
適用されるものである。
【0020】
【発明の実施の形態】以下、本発明の一実施の形態に係
る文字データ作成装置の詳細について、図面を参照しな
がら説明する。図2は、本発明の文字データ作成装置及
び文字データ出力装置の実施の形態を示すハード構成ブ
ロック図である。この実施の形態ではCPU10によっ
て文字データを作成する場合を例に説明する。CPU1
0はこの文字データ作成装置全体の動作を制御するもの
である。このCPU10に対して、データ及びアドレス
バス24を介してプログラムメモリ11、ワーキングメ
モリ12、外部記憶装置13、マウス検出回路14、キ
ーボード検出回路15、表示制御回路16、プリンタ制
御回路17、スキャナ制御回路18などが接続されてい
る。
【0021】CPU10は、プログラムメモリ11及び
ワーキングメモリ12内の各種プログラムや各種デー
タ、及び外部記憶装置13から取り込まれたデータに基
づいて全体の動作を制御する。この実施の形態では、外
部記憶装置13として、ハードディスクドライブ(HD
D)、フロッピーディスクドライブ(FDD)、CD−
ROMドライブ、光磁気ディスク(MO)ドライブ、Z
IPドライブ、PDドライブ、DVDなどが用いられ
る。これ以外の記憶装置が接続してあってもよいことは
言うまでもない。
【0022】プログラムメモリ11はCPU10のシス
テム関連のプログラム、各種のパラメータやデータなど
を記憶しているものであり、リードオンリメモリ(RO
M)で構成される。ワーキングメモリ12はCPU10
がプログラムを実行する際に発生する各種のデータを一
時的に記憶したりするものであり、ランダムアクセスメ
モリ(RAM)の所定のアドレス領域がそれぞれ割り当
てられてレジスタやフラグ等として利用される。なお、
プログラムメモリ11に動作プログラムや各種データな
どを記憶させる代わりに、CD−ROMドライブ等の外
部記憶装置13に各種のデータや任意の動作プログラム
を記憶していてもよい。外部記憶装置13に記憶されて
いる動作プログラムや各種データは、ワーキングメモリ
12等に転送記憶させることができる。これにより、動
作プログラムのバージョンアップなどを容易に行うこと
ができる。なお、図示していないが、通信インターフェ
イスをデータ及びアドレスバスに接続し、通信インター
フェイスを介してLAN(ローカルエリアネットワー
ク)やインターネット、電話回線などの種々の通信ネッ
トワークに接続可能な構成とし、他のコンピュータとの
間でデータのやりとりを行えるようにしてもよい。
【0023】マウス19はパソコン等に用いられるポイ
ンティングデバイスであり、マウス19からの入力信号
をマウス検出回路14によって位置情報に変換して、デ
ータ及びアドレスバス24を介してCPU10に供給す
る。キーボード20は、数値データ入力用のテンキーや
文字データ入力用のキーを備えたものである。キーボー
ド検出回路15は、キーボード上の各キーに対応して設
けられており、これらの各スイッチ群の操作状況に応じ
たスイッチオンイベントを出力する。表示制御回路16
はディスプレイ21の表示内容を制御する。ディスプレ
イ21は液晶表示パネル(LCD)等から構成され、表
示制御回路16によってその表示動作が制御される。プ
リンタ22は、文字データや画像データなどをプリント
アウトするものである。プリンタ制御回路17は作成さ
れた文字データに基づいて文字をラスタライザして出力
したりする。スキャナ23は、手書き文字や毛筆文字な
どのような文字をコンピュータで処理可能なデジタルデ
ータに変換するものである。スキャナ制御回路18は、
スキャナ23による読み取り解像度や読み取り範囲など
を制御するものである。
【0024】なお、本発明は、本発明に対応する動作プ
ログラムや各種データをインストールした市販のパーソ
ナルコンピュータ等によって、実施させるようにしても
よい。この場合には、本発明に対応する動作プログラム
や各種データを、パーソナルコンピュータが読み込むこ
とができるCD−ROMやフロッピーディスク等の記憶
媒体に記憶させた状態で、ユーザーに提供したり、イン
ターネットや電話回線等の通信ネットワークを介して、
動作プログラムや各種データ等をパーソナルコンピュー
タ等に提供するようにしてもよい。
【0025】図1はこの文字データ作成装置が実行する
文字データ作成処理の一例を示す図である。この文字デ
ータ作成処理は図1のフローチャートに従ってCPU1
0によって実行される。
【0026】ステップS1では、スキャナ23を用いて
文字に関する画像データの入力処理が行われる。この入
力処理では、文字を2値化された256×256メッシ
ュのドットマトリクスで表されるデータとして取り込
む。なお、取り込まれる画像データは、予めスキャナに
よって読み取られた文字に関するものであって、外部記
憶装置13に記憶されているものでもよいし、または操
作者がディスプレイ21上でマウス19などを用いて2
56×256メッシュのドットマトリクス上で独自に作
成した文字に関する画像データであってもよい。以下、
図3に示すようなゴシック体の「あ」という文字がスキ
ャナ23によって取り込まれたものと仮定して、この文
字データ作成装置の処理について説明する。
【0027】ステップS2では、前のステップS1で入
力された画像データから輪郭点列の抽出が行われる。す
なわち、256×256メッシュのドットマトリクスデ
ータとして取り込まれた文字に関する画像データから近
傍概念を3×3として構成される8連結で輪郭を追跡す
ることによって、いくつかの輪郭点列{(xi1,
i1)}n1 i1=1が抽出される。なお、輪郭点数が8画素
以下の場合には、その輪郭点列はノイズであると判断さ
れ、輪郭点列として取り込まないようにする。図4は、
図3の文字「あ」を80×80メッシュのドットマトリ
クスデータで取り込み、それに基づいて輪郭点列を抽出
した場合の一例を示す図である。
【0028】ステップS3では、前のステップS2で抽
出された輪郭点列について、離散的な曲率を用いて、直
角の角点及び直線の両端点を明白な接合点として抽出す
る。
【0029】まず、直角の角点を接合点として抽出する
場合について説明する。輪郭点列{(xi1,yi1)}n1
i1=1上の1点Pi1(xi1,yi1)から輪郭点列上で前後
にK1個だけ離れた点Pi1+K1(xi1+K1,yi1+K1)、P
i1-K1(xi1-K1,yi1-K1)を設定し、線分Pi1i1+K1
と線分Pi1i1-K1との成す角度の余弦 Pi1K1=ai1K1・bi1K1/(|ai1K1||bi1K1|)
(i1=1,2,…,,n1) を求める。この式において、ai1K1、bi1K1は、 ai1K1=(xi1+K1−xi1,yi1+K1−yi1) bi1K1=(xi1-K1−yi1,yi1-K1−yi1) とし、記号「・」はベクトルの内積を表すものとする。
【0030】この処理の結果、輪郭点列{(xi1,
i1)}n1 i1=1の中でPi1K1=0である点が存在すれ
ば、その点を直角の角点であると判断し、その輪郭点を
接合点とする。なお、定数K1の値は、実験結果に基づ
き、K1=3とする。
【0031】図5は、図4のドットマトリクスデータの
輪郭点t1から輪郭点t140までに相当する部分(文
字「あ」の右上部分)を拡大して示した図である。この
図において、輪郭点t10,t20,・・・のように1
0個毎の輪郭点について符号を付して示し、その中間に
位置する輪郭点については省略するので、符号の付して
ない輪郭点についても符号が付してあるものとして説明
する。
【0032】図5において、K1=3として直角の角点
を抽出すると、輪郭点t25,t61,t91,t10
1,t127がそれぞれ直角の角点として抽出される。
図では、この直角の角点を黒塗りの四角形で示してあ
る。
【0033】直角の角点が抽出されたら、次は直線の両
端点を接合点として抽出する。上述の処理によって求め
られた各角点の余弦{Pi1K1n1 i1の値を調べて、P
i1K1=−1である点がK2点以上連続して存在すれば、
更に両側にK1点ずつ延長した輪郭点列を直線の始点と
終点、すなわち直線の両端点とみなして、その輪郭点を
接合点として抽出する。なお、しきい値K2は、実験結
果に基づいてK2=25とする。このK2=25は256
×256メッシュのドットマトリクスデータにおける値
であるから、この値を用いて、図5の80×80メッシ
ュのドットマトリクスデータから直線の両端点を抽出し
ても、直線の両端点は抽出することは困難なので、ここ
では、K2=8として、図5のドットマトリクスデータ
に対して直線の両端点の抽出を行う。すると、輪郭点t
72,t86が直線の両端点、すなわち接合点として抽
出される。
【0034】直角の角点及び直線の両端点の抽出処理を
全てのi1(i1=1,2,…,n1)に対して行うと、輪
郭点列{(xi1,yi1)}n1 i1=1における直角な角点及
び直線の両端点が接合点{(xi2 B,yi2 B)}n2 i2=1
してすべて求められる。ここで、n2は求められた接合
点の総数を表す。
【0035】ステップS4では、ステップS3によって
抽出された接合点であって、直線の両端以外の接合点間
に存在する輪郭点列を自由曲線とみなして区分的な関数
で近似する処理を行う。すなわち、明らかに直線と判断
された部分以外の接合点間の輪郭点{(xi3,yi3)}n3
i3=1を自由曲線とみなして区分多項式によって近似す
る。ここでは、二次元平面上の曲線を簡便に示す媒介変
数表現法を採用し、X方向の近似曲線はSx(t)、y
方向の近似曲線はSy(t)で表現する。近似曲線S
x(t)、Sy(t)は、媒介変数を輪郭点列の番号と対
応させてti3=i3−1とし、媒介変数表現された輪郭
点列{(ti3,xi3)}n3 i3、{(ti3,yi3)} n3 i3を二
次の区分多項式を用いて最小二乗近似することによって
得られるものである。
【0036】図6は、図5の各輪郭点t1〜t140に
ついて、輪郭点列の番号を媒介変数tとし、輪郭点t1
を原点とした場合におけるドットマトリスデータの各輪
郭点のx方向及びy方向における位置データをそれぞれ
縦軸に示したものである。なお、図5において、x軸の
正方向は輪郭点t1から輪郭点t2に向かう方向であ
り、y軸の正方向は輪郭点t10から輪郭点t11に向
かう方向である。図6に示すように輪郭点列の番号を媒
介変数tとすることによって、図5に示すような輪郭点
{(xi3,yi3)}n3 i3=1から構成される2次元平面上の
複雑な曲線を、図6のような1次元平面上の単純な曲線
に変換することができる。図6のような一次元平面上の
曲線について二次の区分多項式を用いて最小二乗近似に
よって近似曲線Sx(t)、Sy(t)を求める。この場
合、輪郭点列t1〜t25、t25〜t61、t61〜
t71、t87〜t91、・・・の順番で近似処理を行
い、直線の両端点として抽出された輪郭点列t72〜t
86についてはこの近似処理は行わない。
【0037】ここでは、輪郭点列{(ti3,
i3)}n3 i3、{(ti3,yi3)}n3 i3を近似するための
二次の区分多項式として、フルーエンシ関数を用いる。
フルーエンシ関数は、有限回微分可能であって有限台の
値を有する標本化関数H(t)である。具体的には、こ
の標本化関数H(t)は、3階Bスプライン関数をF
(t)としたときに、 H(t)=−F(t+1/2)/4+F(t)−F(t
−1/2)/4 で求めることができるものである。
【0038】図7は、この標本化関数H(t)の説明図
である。図7に示す標本化関数H(t)は、微分可能性
に着目した有限台の関数であり、全域で1回だけ微分可
能であって、横軸に沿った標本位置tが−2から+2の
ときに0以外の有限な値を有する有限台の関数である。
また、この標本化関数H(t)は、t=0の標本点のみ
で1となり、t=±1,±2において0になるという特
徴を有する。しかも、この標本化関数H(t)は、t=
±2において0に収束する。従って、このような関数H
(t)を用いて、上記ステップS2,S3によって抽出
された接合点間の近似を行うことにより、演算量が少な
く、しかも精度の高い近似を行うことができる。
【0039】上述の3階Bスプライン関数F(t)は、 (4t2+12t+9)/4 ;−3/2≦t<−1/2 −2t2+3/2 ;−1/2≦t<1/2 (4t2−12t+9)/4 ;1/2≦t<3/2 で表すことができる。このような二次関数による区分多
項式によって上述した標本化関数の演算を行うことがで
きる。
【0040】また、3階Bスプライン関数F(t)を用
いて標本化関数H(t)を定義したが、次のような二次
の区分多項式を用いて標本化関数H(t)を等価的に表
すこともできる。
【0041】 (−t2−4t−4)/4 ;−2≦t<−3/2 (3t2+8t+5)/4 ;−3/2≦t<−1 (5t2+12t+7)/4 ;−1≦t<−1/2 (−7t2+4)/4 ;−1/2≦t<1/2 (5t2−12t+7)/4 ;1/2≦t<1 (3t2−8t+5)/4 ;1≦t<3/2 (−t2+4t−4)/4 ;3/2≦t<2 図8及び図9は、図6に示したy方向の輪郭点列t25
〜t61の区間について上述の区分多項式を用いた近似
処理を行う場合の具体例を示す図である。図において、
輪郭点列t25〜t61のy方向の値は、図6と同じで
あり、輪郭点t1を原点とした場合におけるドットマト
リスデータの各輪郭点のy方向における位置データで表
される。輪郭点列t25〜t61は、t25〜t28で
は16、t29〜t39では15、t40〜47では1
4、t48〜t53では13、t54〜61の間では徐
々に1ずつ増加し、最終的にt61で21となるような
37個の位置データ群で構成される。
【0042】このような位置データ群によって構成され
る輪郭点列の凹凸を全点にわたって高精度に近似するた
めに、上述のような近似関数の誤差εが所定の許容誤差
値(例えば0.9)より小さくなるまで、上記フルーエ
ンシ関数系の次元数を一つずつ増加していき、近似曲線
を決定するという作業を行う。なお、フルーエンシ関数
の次元数とは、その近似される区間にいくつの標本点デ
ータを設定して近似するのかを示すものであり、分割数
とも呼ぶ。この次元数(分割数)の具体的な意味につい
ては後述する。
【0043】まず、図8(a)に示すように、輪郭点列
t25〜t61の全区間の両端に位置する標本点データ
を用いて、それらの間の区間を標本間隔36の標本化関
数H 1を用いて近似する。輪郭点列t25〜t61間が
36個の輪郭点で構成されているので、標本間隔36の
標本化関数H1(t)は次元数が1の標本化関数H
1(t)となる。この場合、輪郭点列t25〜t61の
両側には、区間内のデータが周期的に繰り返されるもの
として、輪郭点t25の左側に36個離れた輪郭点ta
に輪郭点t61と同じ位置データを、輪郭点t61の右
側に36個離れた輪郭点tbに輪郭点t25と同じ位置
データをそれぞれ配置して処理する。そして、これらの
輪郭点ta、t25、t61、tbの4つの輪郭点の位
置データを標本間隔36の標本化関数に乗算して、各輪
郭点における標本化関数を求める。
【0044】すなわち、輪郭点t25,tbにおける標
本化関数Y1(t25),Y1(tb)は、標本間隔36
の標本化関数H1(t)に位置データ16を乗じた16
×H1(t)であり、輪郭点ta,t61における標本
化関数Y1(ta),Y1(t61)は、位置データ21
を乗じた21×H1(t)である。従って、輪郭点t2
5とt61との間は、これらの4つの標本化関数Y
1(ta),Y1(t25),Y1(t61),Y1(t
b)を合成することによって近似され、図8(a)に示
すような近似曲線Sy1が得られる。
【0045】各輪郭点列t25〜t61の位置データと
近似曲線Sy1とを比較し、誤差を算出する。図8
(a)の場合、近似曲線Sy1と各位置データとの間の
誤差が許容誤差(0.9)よりも明らかに大きいので、
標本化関数H1(t)の次元数(分割数)を一つ増加さ
せて、次元数(分割数)2の標本化関数H2(t)を用
いて同様の処理を行い、近似曲線Sy2を求める。
【0046】すなわち、図8(a)のように次元数が1
の場合には、輪郭点ta、t25、t61、tbの4つ
の輪郭点に、隣り合う輪郭点間の間隔と等しい標本間隔
36の標本化関数Y1(ta),Y1(t25),Y
1(t61),Y1(tb)を適用することによって得ら
れる近似曲線Sy1では、輪郭点列t25〜t61を十
分に近似することができないと判断されるので、標本化
関数の次元数(分割数)を一つ増加させて、次元数(分
割数)が2の場合の標本化関数H2(t)を用いて近似
曲線Sy2を求める。
【0047】次元数(分割数)が2の場合の標本化関数
2(t)は図8(b)に示すように、標本間隔が18
の標本化関数である。なお、図8(b)、図9(a),
図9(b)は、図8(a)に対して縦横の比率を2倍で
示してある。この標本化関数H2(t)を用いる場合も
同様に、輪郭点列t25〜t61の両側に、区間内のデ
ータが周期的に繰り返されるものとして、輪郭点t25
の左側に18個離れた輪郭点tcに輪郭点t61と同じ
位置データを、輪郭点t61の右側に18個離れた輪郭
点tdに輪郭点t25と同じ位置データをそれぞれ配置
して処理する。そして、これらの輪郭点tc、t25、
t61、tdの4つの輪郭点の位置データ、並びに次元
数(分割数)が2なので、輪郭点t25〜t61の中間
に位置する輪郭点t43の位置データに、標本間隔18
の標本化関数H2(t)を適用して、近似関数Sy2を
求める。
【0048】輪郭点t25,tdにおける標本化関数Y
2(t25),Y2(td)は、標本間隔18の標本化関
数H2(t)に位置データ16を乗じた16×H2(t)
であり、輪郭点tc,t61における標本化関数Y
2(tc),Y2(t61)は、標本間隔18の標本化関
数H2(t)に位置データ21を乗じた21×H2(t)
であり、輪郭点t43における標本化関数Y2(t4
3)は、標本間隔18の標本化関数H2(t)に位置デ
ータ14を乗じた14×H2(t)である。従って、輪
郭点t25とt61との間は、これらの5つの標本化関
数Y2(tc),Y2(t25),Y2(t43),Y
2(t61),Y2(td)を合成することによって近似
され、図8(b)に示すような近似曲線Sy2が得られ
る。なお、本実施形態では、図7に示したような−2〜
+2の範囲で有限台の標本化関数が用いられているた
め、近似曲線Sy2の各区分多項式を求める場合には、
4つの標本化関数の値が合成に使用される。
【0049】各輪郭点列t25〜t61の位置データと
近似曲線Sy2とを比較した場合、輪郭点列t47〜t
60の位置データと近似曲線Sy1との間の誤差が許容
誤差(0.9)よりも大きいと判断されるので、標本化
関数の次元数(分割数)を再度一つ増加させた標本化関
数H3(t)を用いて同様の処理を行う。
【0050】今度は、標本化関数の次元数(分割数)が
3の場合の標本化関数H3(t)を用いて近似曲線Sy
3を求める。次元数が3の場合の標本化関数H3(t)
は図9(a)に示すように、標本間隔が12の標本化関
数であり、輪郭点t25の左側に12個離れた輪郭点t
eに輪郭点t61と同じ位置データを、輪郭点t61の
右側に12個離れた輪郭点tfに輪郭点t25と同じ位
置データをそれぞれ配置して処理する。そして、輪郭点
te,t25,t61,tfの位置データ、並びに輪郭
点t25〜t61を3分割する位置の輪郭点t37,t
49の位置データに、それぞれ標本間隔12の標本化関
数H3(t)を適用して、近似関数Sy3を求める。
【0051】輪郭点t25,tfにおける標本化関数Y
3(t25),Y3(tf)は、標本間隔12の標本化関
数H3(t)に位置データ16を乗じた16×H3(t)
であり、輪郭点te,t61における標本化関数Y
3(te),Y3(t61)は、標本間隔12の標本化関
数H3(t)に位置データ21を乗じた21×H3(t)
であり、輪郭点t37における標本化関数Y3(t3
7)は、標本間隔12の標本化関数H3(t)に位置デ
ータ15を乗じた15×H3(t)であり、輪郭点t4
9における標本化関数Y3(t49)は、標本間隔12
の標本化関数H3(t)に位置データ13を乗じた13
×H3(t)である。従って、輪郭点t25とt61と
の間は、これらの6つの標本化関数Y3(te),Y
3(t25),Y3(t37),Y3(t49),Y3(t
61),Y3(tf)を合成することによって近似さ
れ、図9(a)に示すような近似曲線Sy3が得られ
る。なお、本実施形態では、図7に示したような−2〜
+2の範囲で有限台の標本化関数が用いられているた
め、近似曲線Sy3の各区分多項式を求める場合には、
4つの標本化関数の値が合成に使用される。
【0052】各輪郭点列t25〜t61の位置データと
近似曲線Sy3とを比較した場合、輪郭点列t51〜t
56付近の位置データと近似曲線Sy3との間の誤差が
許容誤差(0.9)より大きいと判断されるので、標本
化関数の次元数(分割数)をさらに一つ増加させた標本
化関数H4(t)によって同様の処理を行う。
【0053】次に、標本化関数の次元数(分割数)が4
の場合の標本化関数H4(t)を用いて近似曲線Sy4
を求める。次元数が4の場合の標本化関数H4(t)は
図9(b)に示すように、標本間隔が9の標本化関数で
あり、標本位置t=0で1、t=±9,t≦−18,t
≧+18で0、これ以外のtで0以外の値を有する。こ
の標本化関数H4(t)を用いる場合も同様に、輪郭点列
t25〜t61の両側に、区間内のデータが周期的に繰
り返されるものとして、輪郭点t25の左側に9個離れ
た輪郭点tgに輪郭点t61と同じ位置データを、輪郭
点t61の右側に9個離れた輪郭点thに輪郭点t25
と同じ位置データをそれぞれ配置して処理する。輪郭点
tg,t25,t61,thの位置データ、並びに輪郭
点t25〜t61を4分割する位置の輪郭点t34,t
43,t52の位置データに、それぞれ標本間隔9の標
本化関数H4(t)を適用して、近似関数Sy4を求め
る。輪郭点t25とt61との間は、7つの標本化関数
4(tg),Y4(t25),Y4(t34),Y4(t
43),Y4(t52),Y4(t61),Y4(th)
の合成によって近似され、図9(b)に示すような近似
曲線Sy4が得られる。なお、本実施形態では、図7に
示したような−2〜+2の範囲で有限台の標本化関数が
用いられているため、近似曲線Sy4の各区分多項式を
求める場合には、4つの標本化関数の値が合成に使用さ
れる。
【0054】各輪郭点列t25〜t61の位置データと
近似曲線Sy4とを比較した場合、各位置データと近似
曲線Sy4との間の誤差εは許容誤差(0.9)より小
さくなる。故に、図6に示したy方向の輪郭点列t25
〜t61は、次元数(分割数)4の標本化関数H
4(t)によって正確に近似されたことになる。
【0055】なお、上述の説明の中で輪郭点列t25〜
t61は、分割対象となる輪郭点の数が36なので、次
元数(分割数)が2〜4であっても、それぞれの分割位
置と輪郭点の位置とが互いに一致するようになってい
る。すなわち、輪郭点の数が分割数によって割り切れる
ようになっている。しかしながら、輪郭点列t25〜t
61の場合に次元数(分割数)が5の場合には、輪郭点
列を構成する輪郭点の数が次元数(分割数)で分割でき
ず、分割位置と輪郭点の位置とが一致しない(分割位置
に輪郭点が存在しない)。この場合には、その分割位置
に対応するデータをその両側2個、合計で4個の輪郭点
の位置データを用いて前述のフルーエンシ関数で補間
し、その分割位置のデータとして補間後のデータを用い
るようにすればよい。
【0056】次元数5で輪郭点列t25〜t61の区間
を分割すると、一区間の大きさは7.2(=36/5)
となり、t32.2,t39.4,t46.6,t5
3.8が標本位置となるが、この標本位置に対応する位
置データは存在しない。そこで、これらの各標本位置の
両側の輪郭点の位置データを用いてフルーエンシ関数で
補間を行う。図10は、標本位置39.4の両側の輪郭
点t38,t39,t40,t41の位置データ(標本
値)を用いてフルーエンシ関数を用いて、その標本位置
39.4の補間された位置データ(標本値)を求める場
合の具体例を示す図である。なお、図10において、位
置データ(標本値)の大きさを示す縦軸は縮小して示し
てある。輪郭点t39の位置データ(標本値)は15で
あり、輪郭点t40の位置データ(標本値)は14であ
る。輪郭点t39とt40との間隔は1なので、標本間
隔1のフルーエンシ関数を用いて、補間処理を行う。こ
の補間処理は、4つの輪郭点t38,t39,t40、
t41を標本位置、これらの位置データを標本値とし
て、標本間隔1のフルーエンシ関数を用いて、輪郭点t
39とt40との間を補間する補間関数を算出する。輪
郭点t38,t39における標本化関数Y(t38),
Y(t39)は、標本間隔1の標本化関数H(t)に位
置データ(標本値)15を乗じた15×H(t)であ
り、輪郭点t40,t41における標本化関数Y(t4
0),Y(t41)は、位置データ(標本値)14を乗
じた14×H(t)である。これらの4つの標本化関数
Y(t38),Y(t39),Y(t40),Y(t4
1)を畳み込み演算処理することによって、図10に示
すような輪郭点t39とt40との間を補間する補間曲
線Shが得られる。この補間曲線Shに基づいて標本位
置t39.4における位置データ(標本値)Phを算出
する。
【0057】なお、フルーエンシ関数で補間する代わり
に、直線補間を行ってもよいことはいうまでもない。ま
た、分割位置に対応する輪郭点が存在しない場合には、
両端の輪郭点(一方又は両方)を適宜ずらして分割位置
に輪郭点が存在するようにしてもよい。例えば、輪郭点
列t1〜t10のように輪郭点の数が10個の場合に、
次元数(分割数)を2とすると、分割位置はt5とt6
のちょうど真ん中になり、この位置には輪郭点が存在し
ない。従って、このような場合には、輪郭点列t1〜t
9に対して次元数(分割数)2を採用して、輪郭点t4
を分割位置として近似処理を行えばよい。そして、輪郭
点t9とt10との間は、図10のようにフルーエンシ
関数によって補間すればよい。
【0058】ステップS5では、上記ステップS1から
S4までの一連の処理によって求められた各接合点の位
置に関するデータと関数の係数に関するデータを外部記
憶装置13に格納する。まず、直線区間の両端の接合点
については、直線データとして直線を示すフラグと、直
線の始点座標(直線の接合点)を格納する。なお、直線
の終点座標については、次の区間の始点と一致するの
で、格納しない。また、自由曲線のデータとして、近似
曲線Sx(t)、Sy(t)に関する関数の次元数(分割
数)、輪郭点数(区間の幅、大きさ又は元データの数な
ど)、各分割位置(近似曲線の両端データも含む)のデ
ータをそれぞれ格納する。
【0059】例えば、上述のようにして求められた輪郭
点列t25〜t61のy方向の近似曲線Sy(t)につ
いては、分割数として「4」、輪郭点数として「3
6」、輪郭点t25の位置データとして「16」、輪郭
点t61の位置データとして「21」、輪郭点t34の
位置データとして「15」、輪郭点t43の位置データ
として「14」、輪郭点t52の位置データとして「1
3」がそれぞれ格納されることになる。
【0060】上述したステップS1がデータ入力手段
に、ステップS2,S3が輪郭点列抽出手段に、ステッ
プS4が関数近似手段に、ステップS5が記憶手段に、
それぞれ対応する。
【0061】なお、上述の文字データ作成処理では、輪
郭点列の中から直角の角点及び直線の両端を接合点とし
て抽出し、直線区間以外の接合点間を自由曲線とみなし
てフルーエンシ関数を用いて近似する場合について説明
したが、文字の輪郭線は大部分の場合が直線と円弧によ
って近似することできる。そこで、別の文字データ作成
処理の別の実施の形態として、前述のようにフルーエン
シ関数によって近似された自由曲線の曲率に基づいて、
その自由曲線から更に直線区間、円弧区間を抽出し、そ
の直線区間及び円弧区間以外についてさらに円弧や直線
で近似を行い、円弧や直線による近似ができなかった部
分を自由曲線として、フルーエンシ関数で近似すること
にした。以下、この別の実施の形態について図11を用
いて説明する。
【0062】図11は図2の文字データ作成装置が実行
する文字データ作成処理の別の例を示す図である。図1
1に示した文字データ作成処理において、ステップS1
1からステップS14までの処理は、図1のステップ1
からステップ4までの処理と同じなので、その部分の説
明は省略する。
【0063】ステップS15では、ステップ14の処理
によって得られた近似曲線Sx(t)及びSy(t)基づ
いて輪郭点列の曲率χ(t)を求める。この曲率χ
(t)は、X方向の近似曲線をSx(t)、y方向の近
似曲線をSy(t)とすると、次式から求められる。
【0064】χ(t)={Sx′(t)Sy″(t)−S
x″(t)Sy′(t)}/{Sx′(t)2+Sy
(t)23/2 上式において、「′」は1回微分を、「″」は2回微分
を示している。
【0065】このようにして求められた曲率χ(t)に
基づいて、次のようにして直線の両端点及び円弧の両端
点をそれぞれ新たな接合点として追加する。
【0066】直線の両端点を求める場合には、上述のよ
うにして求められた曲率の絶対値|χ(ti3)|をi3
=1,2,3,…について順次評価する。この評価の結
果、|χ(ti3)|<K3であって、それが媒介変数上
での区間でK4個以上連続しているときは、その区間は
直線と判定する。ここで、K3及びK4の値は、K3=1
/200とし、K4=30とする。このK3=1/20
0、K4=30は256×256メッシュのドットマト
リクスデータにおける値であるから、これらの値を用い
て、図4の80×80メッシュのドットマトリクスデー
タから直線の両端点を抽出しても、直線の両端点は抽出
することが困難なので、ここでは、K3=1/60,K4
=10として、図4のドットマトリクスデータに対して
直線の両端点の抽出を行う。すると、輪郭点t1〜t1
0、t28〜t47、t60〜t71が新たに直線区間
と判定され、その両端点t1,t10,t28,t4
7,t60が接合点として新たに抽出される。なお、接
合点t71は、前のステップS3の処理で接合点として
認定されているので、ここでは新たに接合点としては認
定されない。
【0067】円弧の両端点を求める場合も同様に、上述
のようにして求められた曲率の絶対値|χ(ti3)|を
3=1,2,3,…について順次評価する。この評価
は、着目している区間において既に評価された曲率の平
均値χavに基づいて行う。評価された区間の曲率のすべ
てχav±K5以内にあるときは、円弧と判断して順次評
価を続ける。この評価の途中でχav±K5の範囲を超え
た場合は、今まで評価してきた区間[ts2,te2]にお
ける輪郭線を円弧の候補として認識する。円弧の候補が
得られた場合、その曲率の平均値χavから円弧の母体と
なる円を算出し、その円弧のなす中心角がK6以上であ
るときは、その区間[ts2,te2]の輪郭線は円弧と判
定する。ここで、曲率の許容幅K5は、実験結果に基づ
いてK5=3/400とし、円弧を決定するためのしき
い値は、直線や自由曲線まで円弧とみなされないことを
考慮して、実験結果に基づいてK6=π/2とする。図
4のドットマトリクスデータに対して曲率の許容幅K5
及びK6=π/2を用いて円弧の両端点の抽出を行うこ
とによって、円弧の両端点が抽出されるが、その箇所は
図5に示した輪郭点列t1〜t140以外の部分なの
で、その具体的な値についての説明は省略する。
【0068】上述の直線の両端点の抽出及び円弧の両端
点の抽出処理を全てのi3(i3=1,…,n3)に対して
行うと、輪郭点列{(xi3,yi3)}n3 i3=1における直
線のつなぎめ、及び円弧のつなぎめが接合点{(xi2 B,
i2 B)}n4 i2=n2+1として新たに追加される。ここで、
4は今までに求められた接合点の総数を表す。
【0069】ステップS16では、前のステップS13
及びS15の処理によって抽出された接合点列から、大
局的に不必要と判断される接合点を除去する処理を行
う。接合点を除去する処理は、接合点の両側が直線区間
である場合と円弧区間である場合とに分けて行う。
【0070】まず、接合点の除去を行う前に、ステップ
S15までの処理によって抽出された接合点{(xi2 B,
i2 B)}n4 i2=1の順序を、原画像の輪郭点列の順序に
合わせて並び替える。並び替えた各接合点の中には、そ
の両端がともに直線区間あるは円弧区間であるものが存
在する。従って、この場合にその接合点を除去してもデ
ータの品質が十分保持することができる場合には、その
接合点を大局的に不必要な接合点として除去する。
【0071】接合点の両側がともに直線区間である場合
には、各接合点(xi2 B,yi2 B)をi 3(i3=1,2,…)に対
して順次評価する。評価の結果、直線区間が複数連続し
ているときは、それらの間に位置する接合点列を{(x
i4 B,yi4 B)}ne i4=nsで表す。そして、最初の接合点
(xns B,yns B)と、これより二つ目の接合点
(xns+2 B,yns+2 B)を直線で結び、その間に位置する
接合点(xns+1 B,yns+1 B)からその直線に下ろした垂
線の距離Lns+1が所定値K7未満のときは、その接合点
(xns+1 B,yns+1 B)は大局的に不必要な接合点として
除去される。ここで、所定値K7の値は、実験結果に基
づいてK7=2とする。
【0072】図5のドットマトリクスデータに対して、
3=1/60,K4=10として、ステップ15の処理
を行った場合、前述のように輪郭点t1,t10,t2
8,t47,t60が直線の両端点に該当する接合点と
して抽出されているので、輪郭点t71の両端は共に直
線区間ということになる。従って、この輪郭点t71よ
りも一つ前の接合点である輪郭点t60と、輪郭点t7
1よりも一つ後ろの輪郭点t85との間を仮想的に直線
で結び、その間に位置する輪郭点t71からその直線に
下ろした垂線の距離を測定すると、その距離は所定値K
7=2未満となるので、輪郭点t71は不必要な接合点
となり、除去され、輪郭点t60からt85までが直線
区間として新たに認定される。
【0073】接合点の両側がともに円弧区間である場合
にも同様にして、各接合点(xi2 B,yi2 B)をi3(i3
1,2,…)に対して順次評価する。評価の結果、円弧区間
が複数連続しているときは、それらの間に位置する接合
点列を{(xi4 B,yi4 B)}ne i 4=nsで表す。そして、最
初の接合点(xns B,yns B)から開始する円弧と、次の
接合点(xns+1 B,yns+1 B)から開始する円弧に着目す
る。接合点(xns B,yn s B)から開始する円弧の半径r
ns及び中心座標(xns,yns)、接合点(xns+1 B,y
ns+1 B)から開始する円弧の半径rns+1及び中心座標
(xns+1,yns+1)を算出し、次の条件式を満足するか
否かの判定を行う。
【0074】|rns+1−rns|<K8 {(xns+1−xns2+(yns+1−yns21/2<K9 上式を満足する場合には、両円弧は同一円弧とみなさ
れ、接合点(xns+1 B,y ns+1 B)は大局的に不必要な接
合点として除去される。ここで、所定値K8及びK 9の値
は、実験結果に基づいてK8=1、K9=2とする。
【0075】ステップS17では、これまで各ステップ
S13〜S16の処理によって抽出された各接合点間の
各区間に対して関数近似処理を行う。この関数近似処理
は、まず、円弧と判断された区間に対して円弧を用いて
近似し、直線と判断された区間に対して直線を用いて近
似し、これ以外の区間に対しては円弧、直線、自由曲線
の順番でそれぞれ近似を行う。ここでの近似も前述と同
様に媒介変数表現法を用いて、x方向の近似曲線はSx
(t)、y方向の近似曲線はSy(t)で表現する。
【0076】まず、円弧と判断された接合点に対して円
弧を用いて近似する場合について説明する。円弧を表す
近似曲線Sx(t)、Sy(t)は、観測区間をt∈
[0,T]とすると、以下のような三角関数の線形結合
で表される。
【0077】Sx(t)=Axcos(2πt/(T/n(arc))+Bx
sin(2πt/(T/n(arc))+Cxy(t)=Aycos(2πt/(T/n(arc))+Bysin(2πt/(T/
n(arc))+Cy ここで、変数n(arc)は、円弧の中心角に相当する。
【0078】上式において、Ax 2+Bx 2=Ay 2+By 2
びBy/Ay=Bx/Axが成立すれば、近似関数は円弧と
なる。これは、(m−1)次の区分多項式によって構成
されるフルーエンシ関数のm=∞を用いて関数近似をし
たことに相当する。なお、接合点の抽出の際に求められ
た円弧の「始点」、「中点」、「終点」を用いることに
よって関数のそれぞれの係数Ax、Bx、Cx、Ay
y、n(arc)、Cyを求めることができる。このように円
弧を用いて近似する過程を第1のプロセスとする。
【0079】次に、直線と判断された接合点に対して直
線を用いて近似する場合について説明する。x方向の近
似曲線Sx(t)は、始点x1と終点xn3とを結ぶ一次関
数となり、y方向の近似曲線Sy(t)は、始点y1と終
点yn3とを結ぶ一次関数となる。すなわち、(m−1)
次の区分多項式によって構成されるフルーエンシ関数の
m=2を用いて関数近似をしたことに相当する。このよ
うに直線を用いて近似する過程を第2のプロセスとす
る。
【0080】上述のように円弧と判断された接合点及び
直線と判断された接合点に対して、それぞれの近似処理
が終了したら、今度は、これ以外の接合点から始まる区
間について近似処理を行う。これらの区間に対しては、
文字の有する特徴に基づき、円弧・直線・自由曲線の優
先順位で近似を行う。まず、円弧の近似を行う。この円
弧の近似は、前述の第1のプロセスと同じ処理にて行
う。このとき、x方向の近似曲線Sx(t)及びy方向
の近似曲線Sy(t)の係数は、次式に示すような二乗
誤差Q:
【0081】
【数1】
【0082】が最小となるように、連立一次方程式
【0083】
【数2】
【0084】を解くことによって、定められる。上式に
おいて、ωは(2πti3/(T/n(ar c))である。
【0085】y成分についても同様にして解く。最小二
乗近似収束のために、次式
【0086】
【数3】
【0087】から誤差εを求め、ε<0.90(∀
3)となるまで、n(arc)を1から1/4まで2分探索
的に変化させる。n(arc)を1/4で打ち切ることによ
って4分円以上の円弧のみが近似されるようになる。こ
れは、短い直線や自由曲線が円弧として近似されないよ
うにするためである。
【0088】円弧で近似できなかった輪郭点列は、直線
とみなして、前述の第2のプロセスと同じ処理にて直線
により近似を行う。このとき、円弧の場合と同様に上式
(1)を満足する場合に、その区間を直線区間として近
似する。一般に、最小二乗近似を行うと、近似曲線の端
点と接合点の値との不一致による輪郭線の不連続という
不都合が生じる。このため、次の条件 Sx(0)=x0,Sy(0)=y0,Sx(T)=xn3
y(T)=yn3 を満足するように、係数Ax、Bx、Cx、Ay、By、Cy
を修正する。
【0089】上述のように円弧及び直線で近似すること
のできなかった輪郭点列については、自由曲線とみなし
て、二次の区分多項式を用いて近似処理を行う。すなわ
ち、前述のような(m−1)次の区分多項式によって構
成されるフルーエンシ関数のm=3を用いて関数近似を
行う。
【0090】ステップS18では、上記ステップS11
からS17までの一連の処理によって求められた各接合
点の位置に関するデータと関数の係数に関するデータを
外部記憶装置13に格納する。まず、直線区間の両端の
接合点については、直線データとして直線を示すフラグ
と、直線の始点座標(直線の接合点)を格納する。な
お、直線の終点座標については、次の区間の始点と一致
するので、格納しない。円弧区間の両端の接合点につい
ては、円弧データとして、円弧を示すフラグと、円弧の
始点座標、円弧の中心角n(arc)、輪郭点数及び関数の係
数Ax、Bx、Cx、Ay、By、Cyを格納する。自由曲線
のデータとしては、前述の場合と同様に、近似曲線Sx
(t)、Sy(t)に関する関数の次元数(分割数)、
輪郭点数(区間の幅、大きさ又は元データの数など)、
各分割位置(近似曲線の両端データも含む)のデータを
それぞれ格納する。
【0091】上述したステップS11がデータ入力手段
に、ステップS12,S13が輪郭点列抽出手段に、ス
テップS14〜S17が関数近似手段に、ステップS1
8が記憶手段に、それぞれ対応する。
【0092】図11に示した文字データ作成処理のよう
に、輪郭点列の中から直角の角点及び直線の両端を接合
点として抽出し、直線区間以外の接合点間を自由曲線と
みなしてフルーエンシ関数を用いて近似し、得られた近
似曲線の曲率に基づいて更に直線区間、円弧区間を抽出
し、これ以外の区間について円弧、直線、自由曲線の順
番で近似を行うことによって、文字データの品質を落と
すことなく、データ量を大幅に軽減することができる。
【0093】なお、本発明は上記実施の形態に限定され
るものではなく、本発明の要旨の範囲内で種々の変形実
施が可能である。例えば、上述の実施の形態では、標本
化関数を全域で1回だけ微分可能な有限台の関数とした
が、微分可能回数を2回以上に設定してもよい。また、
図7に示すように、本実施の形態の標本化関数は、t=
±2で収束するようにしたが、t=±3以上で0に収束
するようにしてもよい。
【0094】
【発明の効果】上述したように、本発明によれば、毛筆
体や筆記文字などのように輪郭線が滑らかな曲線で構成
されるような文字に対しても、少ないデータ量で、高品
質の文字データを作成することができるという効果があ
る。
【図面の簡単な説明】
【図1】一実施形態の文字データ作成装置の実行する文
字データ作成処理の一例を示す図である。
【図2】一実施形態の文字データ作成装置及び文字デー
タ出力装置のハード構成ブロック図である。
【図3】スキャナによって取り込まれる文字の一例を示
す図である。
【図4】スキャナによって取り込まれた文字を80×8
0メッシュのドットマトリクスデータで示す図である。
【図5】図4に示したドットマトリクスデータの輪郭点
t1から輪郭点t140までに相当する部分を拡大して
示した図である。
【図6】図5に示した各輪郭点t1〜t140につい
て、輪郭点列の番号を媒介変数tとし、輪郭点t1を原
点とした場合におけるドットマトリスデータの各輪郭点
のx方向及びy方向における位置データをそれぞれ縦軸
に示した図である。
【図7】本実施の形態で使用される標本化関数H(t)
を説明するための図である。
【図8】図6に示したy方向の輪郭点列t25〜t61
の区間について次元数が1及び2の場合の区分多項式を
用いた近似処理の具体例を示す図である。
【図9】図6に示したy方向の輪郭点列t25〜t61
の区間について次元数が3及び4の場合の区分多項式を
用いた近似処理の具体例を示す図である。
【図10】輪郭点列の分割位置にデータが存在しない場
合にその両側の輪郭点の標本値を用いてフルーエンシ関
数で補間を行って標本値を求める場合の具体例を示す図
である。
【図11】図2の文字データ作成装置が実行する文字デ
ータ作成処理の別の例を示す図である。
【符号の説明】
10 CPU 11 プログラムメモリ 12 ワーキングメモリ 13 外部記憶装置 14 マウス検出回路 15 キーボード検出回路 16 表示制御回路 17 プリンタ制御回路 18 スキャナ制御回路 19 マウス 20 キーボード 21 ディスプレイ 22 プリンタ 23 スキャナ
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5C082 AA17 AA27 BA02 BB34 DA32 DA42 DA49 DA87 MM04 MM10

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 文字に対応したドットマトリクスデータ
    を入力するデータ入力手段と、 前記ドットマトリクスデータの中から前記文字の輪郭に
    対応した輪郭点列を抽出する輪郭点列抽出手段と、 前記輪郭点列によって表される曲線を、有限回微分可能
    であって、標本位置t=0で1、t=±1,t≦−2,
    t≧+2で0、これ以外のtで0以外の値を有する有限
    台の標本化関数に基づいて近似する関数近似手段と、 前記関数近似手段による近似結果を文字データとして記
    憶する記憶手段とを含んで構成されることを特徴とする
    文字データ作成装置。
  2. 【請求項2】 請求項1において、 前記関数近似手段は、前記輪郭点列によって表される曲
    線のx方向及びy方向のそれぞれの値を媒介変数tを用
    いて変数tに対して多値を取らないような曲線に変換
    し、変換後の曲線を前記標本化関数で近似することを特
    徴とする文字データ作成装置。
  3. 【請求項3】 請求項1または2において、 次元数をn、前記曲線の両端の間隔をmとした場合に、 標本間隔がm/nであって、標本位置t=0で1、t=
    ±m/n,t≦−2m/n,t≧+2m/nで0、これ
    以外のtで0以外の値を有する標本化関数を用いて、 前記曲線の両端位置、前記両端位置から前記曲線の外側
    にm/n離れた位置、及び前記曲線内であっていずれか
    一方の端からm/nの整数倍の位置をそれぞれの標本位
    置とし、前記両端位置及び前記内側位置における標本値
    にはその位置における値を適用し、前記外側位置におけ
    る標本値には前記両端位置の値であって当該位置から遠
    い方の値を適用することを特徴とする文字データ作成装
    置。
  4. 【請求項4】 請求項1において、 前記標本化関数は、全域が1回だけ微分可能であって有
    限台の値を有することを特徴とする文字データ作成装
    置。
  5. 【請求項5】 請求項4において、 前記標本化関数は、 −2≦t<−3/2については(−t2 −4t−4)/
    4で、 −3/2≦t<−1については(3t2 +8t+5)/
    4で、 −1≦t<−1/2については(5t2 +12t+7)
    /4で、 −1/2≦t<1/2については(−7t2 +4)/4
    で、 1/2≦t<1については(5t2 −12t+7)/4
    で、 1≦t<3/2については(3t2 −8t+5)/4
    で、 3/2≦t<2については(−t2 +4t−4)/4で
    定義されることを特徴とする文字データ作成装置。
  6. 【請求項6】 文字に対応したドットマトリクスデータ
    を入力するステップと、 入力された前記ドットマトリクスデータの中から前記文
    字の輪郭に対応した輪郭点列を抽出するステップと、 抽出された前記輪郭点列によって表される曲線を、有限
    回微分可能であって、標本位置t=0で1、t=±1,
    t≦−2,t≧+2で0、これ以外のtで0以外の値を
    有する有限台の標本化関数の複数で近似するステップ
    と、 前記標本化関数を文字データとして記憶手段に記憶する
    ステップとを含むことを特徴とする文字データ作成方
    法。
  7. 【請求項7】 請求項6において、 前記近似するステップは、前記輪郭点列によって表され
    る曲線のx方向及びy方向のそれぞれの値を媒介変数t
    を用いて変数tに対して多値を取らないような曲線に変
    換し、変換後の曲線を前記標本化関数で近似することを
    特徴とする文字データ作成方法。
  8. 【請求項8】 請求項6または7において、 次元数をn、前記曲線の両端の間隔をmとした場合に、 標本間隔がm/nであって、標本位置t=0で1、t=
    ±m/n,t≦−2m/n,t≧+2m/nで0、これ
    以外のtで0以外の値を有する標本化関数を用いて、 前記曲線の両端位置、前記両端位置から前記曲線の外側
    にm/n離れた位置、及び前記曲線内であっていずれか
    一方の端からm/nの整数倍の位置をそれぞれの標本位
    置とし、前記両端位置及び前記内側位置における標本値
    にはその位置における値を適用し、前記外側位置におけ
    る標本値には前記両端位置の値であって当該位置から遠
    い方の値を適用することを特徴とする文字データ作成方
    法。
  9. 【請求項9】 請求項6において、 前記標本化関数は、全域が1回だけ微分可能であって有
    限台の値を有することを特徴とする文字データ作成方
    法。
  10. 【請求項10】 請求項9において、 前記標本化関数は、 −2≦t<−3/2については(−t2 −4t−4)/
    4で、 −3/2≦t<−1については(3t2 +8t+5)/
    4で、 −1≦t<−1/2については(5t2 +12t+7)
    /4で、 −1/2≦t<1/2については(−7t2 +4)/4
    で、 1/2≦t<1については(5t2 −12t+7)/4
    で、 1≦t<3/2については(3t2 −8t+5)/4
    で、 3/2≦t<2については(−t2 +4t−4)/4で
    定義されることを特徴とする文字データ作成方法。
  11. 【請求項11】 機械によって読み取り可能な記憶媒体
    であって、コンピュータによって実行される文字データ
    を作成するためのプログラムについての命令群をその記
    憶内容として有しており、 前記文字データの作成を制御するプログラムは、 文字に対応したドットマトリクスデータを入力するステ
    ップと、 入力された前記ドットマトリクスデータの中から前記文
    字の輪郭に対応した輪郭点列を抽出するステップと、 抽出された前記輪郭点列によって表される曲線を、有限
    回微分可能であって、標本位置t=0で1、t=±1,
    t≦−2,t≧+2で0、これ以外のtで0以外の値を
    有する有限台の標本化関数の複数で近似するステップ
    と、 前記標本化関数を文字データとして記憶手段に記憶する
    ステップとを含むことを特徴とする記憶媒体。
  12. 【請求項12】 機械によって読み取り可能な記憶媒体
    であって、コンピュータによって実行される文字データ
    をその記憶内容として有しており、 前記文字データは、 文字に対応したドットマトリクスデータを入力するステ
    ップと、 入力された前記ドットマトリクスデータの中から前記文
    字の輪郭に対応した輪郭点列を抽出するステップと、 抽出された前記輪郭点列によって表される曲線を、有限
    回微分可能であって、標本位置t=0で1、t=±1,
    t≦−2,t≧+2で0、これ以外のtで0以外の値を
    有する有限台の標本化関数の複数で近似するステップ
    と、 前記近似に寄与する標本化関数を文字データとするステ
    ップとによって作成されたことを特徴とする記憶媒体。
JP11203957A 1999-05-28 1999-07-16 文字データ作成装置、文字データ作成方法及び記憶媒体 Pending JP2001051670A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11203957A JP2001051670A (ja) 1999-05-28 1999-07-16 文字データ作成装置、文字データ作成方法及び記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP11-150712 1999-05-28
JP15071299 1999-05-28
JP11203957A JP2001051670A (ja) 1999-05-28 1999-07-16 文字データ作成装置、文字データ作成方法及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2001051670A true JP2001051670A (ja) 2001-02-23

Family

ID=26480224

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11203957A Pending JP2001051670A (ja) 1999-05-28 1999-07-16 文字データ作成装置、文字データ作成方法及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2001051670A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074540A (ja) * 2008-09-18 2010-04-02 Canon Inc 画像処理装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683952A (ja) * 1992-09-01 1994-03-25 Kazuo Toraichi 文字デ−タ入力出力装置と入力出力方法
JPH0785268A (ja) * 1993-06-30 1995-03-31 Kazuo Toraichi 文字図形の通信装置
JPH07239937A (ja) * 1994-02-25 1995-09-12 Kazuo Toraichi アイロンプリントの作成装置
JPH11144051A (ja) * 1997-11-11 1999-05-28 Victor Co Of Japan Ltd フィルタリング方法、フィルタリング装置及びフィルタリングプログラムを記憶した記憶媒体
JPH11144065A (ja) * 1997-11-11 1999-05-28 Victor Co Of Japan Ltd ベクトルデータ補間方法、ベクトルデータ補間装置及びベクトルデータの補間プログラムを記憶した記憶媒体
JP2001047796A (ja) * 1999-05-28 2001-02-20 Fluency Kenkyusho:Kk アイロンプリント用シート作成装置
JP2001052188A (ja) * 1999-05-28 2001-02-23 Fluency Kenkyusho:Kk 文字図形データ通信システム
JP2001084244A (ja) * 1999-05-28 2001-03-30 Fluency Kenkyusho:Kk 曲線近似方法及び装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683952A (ja) * 1992-09-01 1994-03-25 Kazuo Toraichi 文字デ−タ入力出力装置と入力出力方法
JPH0785268A (ja) * 1993-06-30 1995-03-31 Kazuo Toraichi 文字図形の通信装置
JPH07239937A (ja) * 1994-02-25 1995-09-12 Kazuo Toraichi アイロンプリントの作成装置
JPH11144051A (ja) * 1997-11-11 1999-05-28 Victor Co Of Japan Ltd フィルタリング方法、フィルタリング装置及びフィルタリングプログラムを記憶した記憶媒体
JPH11144065A (ja) * 1997-11-11 1999-05-28 Victor Co Of Japan Ltd ベクトルデータ補間方法、ベクトルデータ補間装置及びベクトルデータの補間プログラムを記憶した記憶媒体
JP2001047796A (ja) * 1999-05-28 2001-02-20 Fluency Kenkyusho:Kk アイロンプリント用シート作成装置
JP2001052188A (ja) * 1999-05-28 2001-02-23 Fluency Kenkyusho:Kk 文字図形データ通信システム
JP2001084244A (ja) * 1999-05-28 2001-03-30 Fluency Kenkyusho:Kk 曲線近似方法及び装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSND199900321002, 寅市 和男 KAZUO TORAICHI, "非線形構造の数理", 数理科学 第31巻 第9号 MATHEMATICAL SCIENCES, 第31巻第9号, 8−12頁, JP, 株式会社サイエンス社 *
JPN6010011128, 寅市 和男 KAZUO TORAICHI, "非線形構造の数理", 数理科学 第31巻 第9号 MATHEMATICAL SCIENCES, 第31巻第9号, 8−12頁, JP, 株式会社サイエンス社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010074540A (ja) * 2008-09-18 2010-04-02 Canon Inc 画像処理装置
US10477063B2 (en) 2008-09-18 2019-11-12 Canon Kabushiki Kaisha Character detection and binarization

Similar Documents

Publication Publication Date Title
JP2002152498A (ja) 画像処理方法および装置
KR100368198B1 (ko) 마이크로컴퓨터
JP2005326977A (ja) 画像拡大装置、及びプログラム
JP2001051670A (ja) 文字データ作成装置、文字データ作成方法及び記憶媒体
EP1328112A2 (en) Fast text/graphics resolution improvement with chain-code table look-up
JP2001047796A (ja) アイロンプリント用シート作成装置
JP2001052188A (ja) 文字図形データ通信システム
JP2674287B2 (ja) グラフィックマイクロコンピュータ
JP2001051671A (ja) 看板用文字図形作成装置
JP2001052187A (ja) 分割画像データの曲線近似方式
JP2000187726A (ja) デ―タ補間方法および装置及び記憶媒体
Tang et al. Basic processes of chinese character based on cubic b-spline wavelet transform
US20030187613A1 (en) Method of data interpolation using midpoint slope control scaling
KR940001106B1 (ko) 선폭보정방법 및 그 장치
JP3215179B2 (ja) アウトラインフォントのヒンティング方法
JP2001084244A (ja) 曲線近似方法及び装置
JP2748787B2 (ja) 曲線発生装置
JP3072769B2 (ja) 図形処理方法及び装置
JP2984336B2 (ja) 図形処理方法
JP2002351451A (ja) アウトラインフォント情報に基づく文字処理方法及びその方法をコンピュータシステムに実行させるためのコンピュータソフトウエアプログラム製品
JP3057959B2 (ja) データ変換装置
JP3055306B2 (ja) データ出力装置
JP3072756B2 (ja) 描画装置
KR940005827B1 (ko) 문자화상 데이타의 상회전 처리방법
Klimenko et al. Handwritten fonts modeling based on fat lines of variable width

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100302

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100914