JP5106768B2 - アウトラインフォント圧縮方法 - Google Patents

アウトラインフォント圧縮方法 Download PDF

Info

Publication number
JP5106768B2
JP5106768B2 JP2005285457A JP2005285457A JP5106768B2 JP 5106768 B2 JP5106768 B2 JP 5106768B2 JP 2005285457 A JP2005285457 A JP 2005285457A JP 2005285457 A JP2005285457 A JP 2005285457A JP 5106768 B2 JP5106768 B2 JP 5106768B2
Authority
JP
Japan
Prior art keywords
curve
bezier curve
data
size
approximation
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
Application number
JP2005285457A
Other languages
English (en)
Other versions
JP2007094182A (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.)
MORISAWA INC.
Fujitsu Ltd
Original Assignee
MORISAWA INC.
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 MORISAWA INC., Fujitsu Ltd filed Critical MORISAWA INC.
Priority to JP2005285457A priority Critical patent/JP5106768B2/ja
Priority to EP06250093A priority patent/EP1770640A3/en
Priority to US11/275,609 priority patent/US7676104B2/en
Priority to KR1020060009347A priority patent/KR100769495B1/ko
Publication of JP2007094182A publication Critical patent/JP2007094182A/ja
Application granted granted Critical
Publication of JP5106768B2 publication Critical patent/JP5106768B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/20Contour coding, e.g. using detection of edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • G06V10/471Contour-based spatial representations, e.g. vector-coding using approximation functions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)

Description

LCD(Liquid Crystal Device:液晶表示装置)などの表示デバイスを持つ機器において文字表示を行う際、アウトラインフォントを用いることで1つのデータから品質の高い文字を自由なサイズで表示できる。
アウトラインフォントは輪郭線の計算や輪郭線内部の塗りつぶし計算が必要なことから従来計算処理能力の高いコンピュータでの使用が主であったが、近年携帯電話のような組み込み型機器においても処理能力の向上によりアウトラインフォントが使用されるようになってきた。
しかし組み込み型機器に搭載されるメモリの容量は小さいことが多く、少ないメモリ内にできるだけ多くの機能を実装するため、格納するデータのサイズは小さくすることが要求されている。
組み込み型機器が搭載する表示デバイスでは、必要とされる文字サイズに上限があることに配慮し、本発明は従来のアウトラインフォントデータのサイズを低減することを目指すものである。
本発明により生成されたアウトラインフォントデータは、文字表示を行うさまざまな機器に搭載可能で利用範囲が広い。特に、従来、データサイズが大きいことから採用が困難とされてきた曲線を多用したタイプフェースのフォントに関して本発明は圧縮率が高いことから利用価値が高い。
従来、アウトラインフォントのデータのサイズを小さくする方法として、座標値や隣り合う座標との相対値をハフマン符号化などを用いてエントロピー圧縮する方法(特許文献1参照)や輪郭の書き順に並べられた直線や曲線を表すコードの連続性を元にコード化し圧縮する(特許文献2参照)などの可逆圧縮方法が知られている。
一方、本発明と同様に、近似を用いたサイズ低減方法として、解像度を低下させる方法、例えば10000×10000ピクセルでデザインされたアウトラインデータを、表示デバイス上でデザイン性を損なわない程度(例えば256×256ピクセル)の解像度まで低下させて表現することで各座標を表すために必要なビット数を低減し、その結果データサイズを小さくし、小さくしたサイズで適切な直線・曲線の数式を割り当てる方法(特許文献3参照)が知られている。また、この方法では10000×10000のピクセルで座標(3000,5000)から座標(3025,4990)までの直線は256×256ピクセルの解像度では座標(77,128)から座標(77,128)までの距離0の直線となり、省略が可能なためデータサイズを低減できる。
特開平06−149215号公報 特開2001−044850号公報 特表2004−516496号公報
上記可逆圧縮方法では圧縮率に限界があるため元データのサイズが大きいものは圧縮後も大きいサイズになるという問題があった。
また上記解像度を低下させる方法では表示デバイスに256階調の表示能力がある場合、アウトラインデータの解像度低下を256×256ピクセルまでであれば、アンチエイリアシング技術により元デザインとのずれをカバーできる。しかし実際のデバイス上では40×40ピクセル以上の文字を描画する必要が無い(例えば、一部の組み込み型機器における画面表示)場合でも、アウトラインデータの解像度を40×40ピクセルまで低減させるとアンチエイリアシング技術を用いても元デザインとのずれをカバーしきれず、意図しない表示結果となるため上記可逆圧縮方法と同様、圧縮率に限界があるといえる。
上記のような問題を解決するために本発明は、アウトラインフォントデータを構成するベジェ曲線の一部に対し人間がデザインの違いを感じないレベルで近似を行ってアウトラインフォントデータのサイズを小さくするアウトラインフォント圧縮方法を提供することを目的とする。
上記課題を解決するために本発明は、サイズX正方の精度でデザインされた文字のアウトラインデータが存在し画面表示される文字のサイズがサイズY(Y<X)正方以下であると分かっている場合、アウトラインデータに含まれるベジェ曲線を表すデータのうち、ある曲線と直線との距離がある値L以下のものを直線で近似する第1の近似工程、前記第1の近似工程で曲線と直線の距離がL以上であるがその距離がL’(L’>L)以下の長さのベジェ曲線を2本の直線で近似する第2の近似工程、および、前記ベジェ曲線のカーブ度合いがあらかじめ定義した曲線パターンに近いときに、そのパターンで近似する第3の近似工程、のいずれか1以上を備えることを特徴とする。
本発明によれば、アウトラインフォントデータを構成するベジェ曲線の一部に対し、従来の圧縮方法では圧縮率に限界がある場合でも、表示デバイスに出力される文字のサイズの上限が決定している場合、人間がデザインの違いを感じないレベルで近似を行ってアウトラインフォントデータのサイズを小さくするので、輪郭に曲線が多いデザインのフォントに対して特に高い圧縮効果を得ることができるという有利性がある。
以下、本発明の実施の形態を、図面を参照しながら説明する。
[実施の形態]
図1は、本発明の実施形態に係るアウトラインフォント圧縮方法の概略構成を示すブロック図である。図1において本発明の実施形態に係るアウトラインフォント圧縮方法は、例えば256×256ピクセルでデザインされたアウトラインフォントデータを格納するアウトラインデータファイル11と、アウトラインデータファイル11から例えば256×256ピクセルのアウトラインフォントデータを読み出すアウトラインデータファイル読込部12と、読み出した例えば256×256ピクセルアウトラインフォントデータに対し座標解像度を低下処理する座標解像度低下部13と、座標解像度が低下処理されたアウトラインフォントデータに対し近似によって曲線のデータの一部を直線のデータに変換する近似線変換部14と、近似線変換が終了したすべてのアウトラインフォントデータに対しエントロピー圧縮を施すエントロピー圧縮部15と、エントロピー圧縮が済んだ圧縮アウトラインデータをファイル出力する圧縮アウトラインデータファイル出力部16と、出力された圧縮アウトラインデータを格納する圧縮アウトラインデータファイル17から構成される。上記構成のうち、近似によって曲線のデータの一部を直線のデータに変換する近似線変換部14を除くその他の構成は上述した可逆圧縮方法や解像度を低下させる方法において実質的に採用されていると考えられる。
図2は、一般的なアウトラインフォントのデータ記述方法を示す図である。一般にアウトラインフォントのデータは、データの性質などを記述したヘッダ部分と各文字の輪郭を記述する部分から構成される。本実施形態では図2に示すように文字の輪郭を記述するデータとして座標値と各座標を結ぶ線の種類を、閉曲線のある1点から順に並べて記述されたものとする。また、本実施形態では元のアウトラインデータが256×256ピクセルのサイズでデザインされており、表示デバイスでは最大40×40ピクセルのサイズまでしか描画しないものとする。
上記のような前提のもとに図1に示した処理を順に実行し、座標解像度低下部13によって座標解像度が低下処理されたアウトラインフォントデータに対し近似線変換部14により近似によって曲線のデータの一部を直線のデータに変換する処理を実行する。近似線変換部14でのデータの変換は、図2に示すような文字についてまず文字の輪郭データに対してベジェ曲線の部分を見つけ、近似が可能であるかを判断し、近似により変換が行われた場合はベジェ曲線の部分を近似後のデータに置き換えて出力する、という処理を実行するものである。そして本発明では、この変換処理の中において、ベジェ曲線に対する、直線近似、2直線近似、および、曲線パターン近似を含む。
図3は、ベジェ曲線の直線近似方法を説明するための図である。図3においてアウトラインフォントの輪郭の一部を構成するベジェ曲線は点a0,a1,a2,a3の4点で表され、a0が開始点、a3が終了点、a1,a2が制御点となる。これを直線a0-a3で近似したいような場合、このベジェ曲線で直線a0-a3から最も離れた点pまでの距離Lが「近似閾値(後述する)」以下であった場合には、このベジェ曲線を1本の直線a0-a3で近似する。これにより、ベジェ曲線を表していた、[ベジェ曲線]+[a0のX座標値]+[a0のY座標値]+[a1のX座標値]+[a1のY座標値]+[a2のX座標値]+[a2のY座標値]+[a3のX座標値]+[a3のY座標値](図2参照)は、[直線]+[a0のX座標値]+[a0のY座標値]+[a3のX座標値]+[a3のY座標値]に置き換えられて近似線変換部14から出力される。これにより、アウトラインフォントデータのサイズを小さくすることができる。
図4は、ベジェ曲線の2直線近似方法を説明するための図である。図4では、図3におけるようなベジェ曲線の直線近似ができなかった場合、ベジェ曲線をa0からpまでのベジェ曲線とpからa3までのベジェ曲線の2つに分け、それぞれのベジェ曲線が図3に示した上記の近似条件を満たす場合には、2本の直線a0-pとp-a3でベジェ曲線を表し、これをベジェ曲線の2直線近似として近似線変換部14から出力することで、図2と同様、アウトラインフォントデータのサイズを小さくすることができる。なお、これ以上ベジェ曲線を分割して直線近似をしても圧縮効果がなくなるのでこれ以上の分割は行わないものとする。
図5は、ベジェ曲線の曲線パターン近似方法を説明するための図である。図5において、アウトラインフォントの輪郭の一部を構成するベジェ曲線を予め定義されたパターン化された曲線(後述する)に近似したい場合、ベジェ曲線の開始点(x1,y1)終了点(x4,y4)とする直線の垂線方向における距離が最も離れる点pとの距離Lを「近似閾値(後述する)」と比較し、図5に示した距離Lが「近似閾値(後述する)」以下であった場合には、このベジェ曲線を予め定義されたパターン化された曲線で近似する。パターン化された曲線による近似では、開始点、終了点の2点の座標とパターン番号として5ビットのデータで表す。これによりベジェ曲線の曲線パターン近似方法でもアウトラインフォントデータのサイズを小さくすることができる。
図6は、近似する曲線パターンをベジェ曲線とした場合の例を示す図である。図6に示すようにパターン化する曲線をベジェ曲線とする場合は、2つの制御点のX座標をそれぞれ開始点(x1,y1)と終了点(x4,y4)を結ぶ線分の1/4の位置と3/4の位置とし、Y座標が-16から15までの32通りとしたパターンを定義する。定義した32通りのパターンはパターン番号と対応付けてテーブル(図8参照)に格納しておき利用する。なお、開始点(x1,y1)終了点(x4,y4)制御点(x2,y2),(x3,y3)のベジェ曲線をパターン化したベジェ曲線と近似する場合には、パターン化した曲線の開始点、終了点がベジェ曲線と同じになるように拡大、縮小、回転を施し、テーブルに格納されている32通りのパターンとそれぞれ比較する。
図7(a)、(b)は、上記した近似閾値を説明するための図である。256×256ピクセルでデザインされたアウトラインフォントデータを40×40ピクセルのサイズで表示する場合、輪郭線がその中間を通るピクセルは階調値で表すことで輪郭のギザギザをなくす手法がアンチエイリアシングであり、このアンチエイリアシング手法はよく知られている。例えば40×40ピクセルにおける1ピクセルの中心を通る輪郭直線の上半分が塗りつぶし領域である場合、このピクセルの階調値は256階調では128となる。しかし、人間が携帯電話のLCD上に描かれた文字の輪郭にあたるピクセルを見るとき、階調値がある程度変化しても違和感がない。この変化量の指針として、従来から「コントラスト感受性値」が用いられており、人間が区別できない階調値の差は「256階調÷コントラスト感受性値」と表せる。図7(b)に示すように、携帯電話のLCDが約170dpiで、人間の目から約30cm離れた位置から見られることから、視野角7度で120サイクル、つまり空間周波数が17(サイクル/度)になる。したがってコントラスト感受性は図7(a)に示すグラフより20程度であることが導き出され、人間の区別できない階調値誤差は12.8となる。256×256で表現される座標値の位置ずれが1の場合、40×40での階調値ずれは40である。従って256×256で表現される座標値の許容可能な位置ずれ=「近似閾値」は、12.8÷40=0.32である。なお、「コントラスト感受性値」や「空間周波数」について知りたければ文献「K.T.スペアー、S.W.レムクール著、“視覚の情報処理”、1986年、サイエンス社発行」を参照されたい。
図8は、パターン番号とパターン化したベジェ曲線との対応関係を表したテーブルの例である。パターン化したベジェ曲線は、上述したように2つの制御点のX座標をそれぞれ開始点(x1,y1)と終了点(x4,y4)を結ぶ線分の1/4の位置と3/4の位置とし、Y座標が-16から15までの32通りとしたパターンを定義されているので、それに対応してパターン番号が付されている。なおベジェ曲線は後述する式3のように表される。
図9は、近似する曲線パターンをスプライン曲線とした場合の例を示す図である。図9に示すようにスプライン曲線近似は、1つの制御点のX座標をそれぞれ開始点(x1,y1)と終了点(x4,y4)を結ぶ線分の1/2の位置とし、Y座標が-16から15までの32通りとしたパターンを定義する。定義した32通りのパターンはパターン番号と対応付けてテーブル(図示せず)に格納しておき利用する。
図10Aないし図10Cは、本発明の実施形態に係る変換処理動作を説明するフローチャートである。図10Aないし図10Cのフローチャートに基づいて変換処理動作を説明すると、ステップS1においてアウトラインデータの先頭から座標値(X, Y)を読み出す。ステップS2では、ステップS1で読み込んだ座標値を開始点(x1, y1)とする。ついでステップS3では、アウトラインデータから線の種類を読み出す。ステップS4では、ステップS3で読み出した線の種類がベジェ曲線であればステップS5へ進み、そうでなければアウトラインデータから終了点の座標を読み出した後ステップS36へ進む。
ステップS5では、アウトラインデータから座標値(X, Y)を読み出す。ステップS6では、ステップS5で読み出した座標値をベジェ曲線の制御点1(x2, y2)とする。ステップS7では、アウトラインデータから座標値(X, Y)を読み出す。ステップS8では、ステップS7で読み出した座標値をベジェ曲線の制御点2(x3, y3)とする。ステップS9では、アウトラインデータから座標値(X, Y)を読み出す。ステップS10では、ステップS9で読み出した座標値をベジェ曲線の終了点(x4,y4)とする。
ステップS11では、開始点、制御点1、制御点2、終了点の4点からベジェ曲線の (1)を導出する。
Figure 0005106768
ステップS12では、ベジェ曲線の開始点と終了点を結ぶ直線Sの式(2)を導出する。
Figure 0005106768
ステップS13では、直線Sの垂線方向において直線Sとベジェ曲線が最も離れた距離にあるベジェ曲線上の点Pを式(1)、式(2)から計算する。ステップS14では、式(2)とステップS13で求めた点Pの座標値から、直線Sと点Pの距離Lを計算する。ステップS15では、距離Lを表示デバイス上で描画される最大サイズでの距離lに換算する。ステップS16では、距離l = 階調誤差値lが人間の目で区別できる階調誤差の限界値M以下のときステップS17へ進み、そうでなければステップS18へ進む。ステップS17では、ベジェ曲線は直線Sで近似されるため、線種「ベジェ曲線」座標値「制御点1」「制御点2」という元のアウトラインデータを、線種「直線」に置き換えて出力しステップS33へ進む。
ステップS17では、ベジェ曲線は直線Sで近似されるため、線種「ベジェ曲線」座標値「制御点1」「制御点2」という元のアウトラインデータを、線種「直線」に置き換えて出力しステップS33へ進む。ステップS18では、パターン曲線の開始点を開始点(x1, y1)に、終了点を(x4, y4)に置いた時のベジェ曲線で近似する場合の式(3)、あるいはスプライン曲線で近似する場合の式(4)を導出する。
Figure 0005106768
上記式(3)において、2つの制御点のX座標をそれぞれ開始点(x1,y1)と終了点(x4,y4)を結ぶ線分の1/4の位置と3/4の位置とし、Y座標が-16から15までについてqをパターン番号と見てその番号に対応するパターン化したベジェ曲線を求めると図8に示したテーブルが得られる。
Figure 0005106768
ステップS19では、パターン番号qに0を代入する。ステップS20では、直線Sの垂線方向において、ベジェ曲線と近似曲線が最も離れている場合の距離Lを、パターン番号qに対応するベジェ曲線の式(3)と式(1)から計算する。ステップS21では、パターン番号qの値を1増加させる。ステップS22では、パターン番号qの値が32のときステップS23へ進み、そうでなければステップS20へ進む。ステップS23では、ステップS19〜S22のループの中でLが最も小さい値であった場合のパターン番号をQとする。ステップS24では、パターンQでの距離Lを表示デバイス上で描画される最大サイズでの距離lに換算する。ステップS25では、距離l = 階調誤差値lが人間の目で区別できる階調誤差の限界値M以下のときステップS26へ進み、そうでなければステップS27へ進む。
ステップS26では、ベジェ曲線はパターン化された近似曲線で近似されるため、線種「ベジェ曲線」座標値「制御点1」「制御点2」という元のアウトラインデータを、線種「パターン曲線」と「パターン番号Q」に置き換えて出力しステップS37へ進む。ステップS27では、開始点(x1, y1)と点P(xp, yp)を結ぶ直線S1の式(5)を導出する。
Figure 0005106768
ステップS28では、直線S1の垂線方向において、開始点(x1, y1)から点P(xp, yp)までを結ぶベジェ曲線と直線S1とが最も離れる場合の距離L1を式(1)、式(5)から計算する。ステップS29では、ステップS28で求めた距離L1を表示デバイス上で描画される最大サイズでの距離l1に換算する。ステップS30では、距離l1 = 階調誤差値l1が人間の目で区別できる階調誤差の限界値M以下のときステップS31へ進み、そうでなければステップS36へ進む。
ステップS31では、点P(xp, yp)と終了点(x4, y4)を結ぶ直線S2の式(6)を導出する。
Figure 0005106768
ステップS32では、直線S2の垂線方向において、点P(xp, yp) から終了点(x4, y4)までを結ぶベジェ曲線と直線S2とが最も離れる場合の距離L2を式(1)、式(6)から計算する。ステップS33では、ステップS32で求めた距離L2を表示デバイス上で描画される最大サイズでの距離l2に換算する。ステップS34では、距離l2= 階調誤差値l2が人間の目で区別できる階調誤差の限界値M以下のときステップS35へ進み、そうでなければステップS36へ進む。
ステップS35では、ベジェ曲線は2本の直線で近似されるため、線種「ベジェ曲線」座標値「制御点1」「制御点2」という元のアウトラインデータを、線種「直線」、座標値「点P(xp, yp)」、線種「直線」に置き換えて出力しステップS37へ進む。ステップS36では、ベジェ曲線の変換処理は起こらないため元のデータのまま出力する。ステップS37では、終了点の座標値(x4, y4)を次の線の開始点(x1, y1)として代入する。ステップS38では、輪郭線を書き終え、閉曲線が完成していれば終了し、そうでなければステップS3へ戻る。
このフローをすべての文字において行うことでアウトラインフォントファイル全体を圧縮することが可能となる。上記したフローでは本発明に係る第1ないし第3の近似工程すべてを用いて近似処理を実行する例について説明したが、このフローを基に本発明に係る第1ないし第3の近似工程のいずれか1以上の近似処理を実行するように変更することもできる。
この処理を行った後、すべての座標値と座標を結ぶ線の種類についてそれぞれの出現頻度の統計を取り、ハフマン符号化など既存のエントロピー圧縮処理を行う。
以上説明したことを概観すれば本発明は以下のような構成を備えるものである。
(付記1)サイズX正方の精度でデザインされた文字のアウトラインデータが存在し画面表示される文字のサイズがサイズY(Y<X)正方以下であると分かっている場合、
アウトラインデータに含まれるベジェ曲線を表すデータのうち、
ある曲線と直線との距離がある値L以下のものを直線で近似する第1の近似工程、
前記第1の近似工程で曲線と直線の距離がL以上であるがその距離がL’(L’>L)以下の長さのベジェ曲線を2本の直線で近似する第2の近似工程、および、
前記ベジェ曲線のカーブ度合いがあらかじめ定義した曲線パターンに近いときに、そのパターンで近似する第3の近似工程、のいずれか1以上を備えることを特徴とするアウトラインフォント圧縮方法。
(付記2)前記第1の近似工程は、
サイズX正方の精度でデザインされた文字をサイズY正方で画面表示した場合に、文字の輪郭部分をアンチエイリアシング手法で表現することを前提とし、
文字をサイズY正方で表し、文字の輪郭線の一部を元のアウトラインデータ通りベジェ曲線として描画した場合の輪郭ピクセルの階調値と、
ベジェ曲線の開始点と終了点を結ぶ直線としてその輪郭線を描画した場合の輪郭ピクセルの階調値との差が、
人間の目で見た場合に区別がつかないとされている階調値の差以下である際、
ベジェ曲線データをベジェ曲線の開始点と終了点を結ぶ直線データに変換する付記1記載のアウトラインフォント圧縮方法。
(付記3)前記第2の近似工程は、
サイズX正方の精度でデザインされた文字をサイズY正方で画面表示した場合に、文字の輪郭部分をアンチエイリアシング手法で表現することを前提とし、
文字をサイズY正方で表し、文字の輪郭線の一部を元のアウトラインデータ通りベジェ曲線として描画した場合の輪郭ピクセルの階調値と、
ベジェ曲線の開始点と終了点を結ぶ直線とベジェ曲線との距離が最も離れた点をAとした時、ベジェ曲線の開始点とAを結ぶ直線とAとベジェ曲線の終了点を結ぶ直線の2本の直線としてその輪郭線を描画した場合の輪郭ピクセルの階調値との差が、
人間の目で見た場合に区別がつかないとされている階調値の差以下である際、
ベジェ曲線データを2本の直線データに変換する付記1記載のアウトラインフォント圧縮方法。
(付記4)前記第3の近似工程は、
ベジェ曲線の開始点と終了点を結ぶ直線とベジェ曲線との距離が最も離れた点の法線が前記直線の中点を通り、その曲率としてN通りのパターンを持つベジェ曲線をあらかじめパターン番号と対応を付けで定義しておくテーブルを有し、
サイズX正方の精度でデザインされた文字をサイズY正方で画面表示した場合に、文字の輪郭部分をアンチエイリアシング手法で表現することを前提とし、
文字をサイズY正方で表し、文字の輪郭線の一部を元のアウトラインデータ通りベジェ曲線として描画した場合の輪郭ピクセルの階調値と、
前記テーブルに定義されたN通りのパターン曲線の1つでその輪郭線を描画した場合の輪郭ピクセルの階調値との差が、
人間の目で見た場合に区別がつかないとされている階調値の差以下である際、
ベジェ曲線データを前記パターン曲線に対応するパターン番号に変換する付記1記載のアウトラインフォント圧縮方法。
(付記5)近似前の輪郭ピクセルの階調値と近似後の輪郭ピクセルの階調値との差は、
人間の目で区別できない最大の階調値誤差がサイズX正方の精度での距離に換算した上でベジェ曲線と近似線の距離が前記距離を越えないことを条件として該当する前記第1ないし第3の近似工程のいずれかで近似する付記2ないし4のいずれかに記載のアウトラインフォント圧縮方法。
(付記6)ベジェ曲線の一部を前記第1ないし第3の近似工程のいずれかを用いて直線または曲線に変換した後、さらに変換後の開始点・終了点及びベジェ曲線の制御点を表す座標値を纏めてエントロピー符号化により圧縮する付記1記載のアウトラインフォント圧縮方法。
(付記7)前記第3の近似工程において、
あらかじめ定義しておく曲線が、制御点が開始点と終了点を結ぶ直線の中点を通る垂線上にあり、その曲率としてN通りのパターンを持つスプライン曲線である付記4記載のアウトラインフォント圧縮方法。
本発明は、上記3つの近似工程を有効に用いることでベジェ曲線を少ないデータ量で表すことが可能となるため、特に曲線部分の多いデザインのフォントに対して大幅なデータの低減を可能となるので組み込み型機器が搭載する表示デバイスに有効である。
本発明のアウトラインフォント圧縮方法の構成を示す図である。 一般的なアウトラインフォントのデータ記述方法を示す図である。 ベジェ曲線の直線近似方法を説明するための図である。 ベジェ曲線の2直線近似方法を説明するための図である。 ベジェ曲線の曲線パターン近似方法を説明するための図である。 近似する曲線パターンをベジェ曲線とした場合の例を示す図である。 近似閾値を説明するための図であって、(a)空間周波数とコントラスト感受性の相関を示す図であり、(b)携帯電話のLCDでの空間周波数の求め方を説明する図である。 パターン番号とパターン化したベジェ曲線との対応関係を表したテーブルの例である。 近似する曲線パターンをスプライン曲線とした場合の例を示す図である。 本発明の実施形態に係る変換処理動作を説明するフローチャートである。 本発明の実施形態に係る変換処理動作を説明するフローチャートである。 本発明の実施形態に係る変換処理動作を説明するフローチャートである。
符号の説明
11 アウトラインデータファイル
12 アウトラインデータファイル読込部
13 座標解像度低下部
14 近似線変換部
15 エントロピー圧縮部
16 圧縮アウトラインデータファイル出力部
17 圧縮アウトラインデータファイル

Claims (2)

  1. サイズX正方の精度でデザインされた文字のアウトラインデータが存在し画面表示される文字のサイズがサイズY(Y<X)正方以下であると分かっている場合、
    アウトラインデータに含まれるベジェ曲線を表すデータのうち、該ベジェ曲線を表すデータに含まれるある曲線と、該ベジェ曲線の開始点と終了点を結ぶ直線との距離がある値L以下のものを直線で近似する第1の近似工程、
    前記第1の近似工程で曲線と直線の距離がLより大きいがその距離がL’(L’>L)以下の長さのベジェ曲線を、該ベジェ曲線の開始点と該ベジェ曲線を2つに分割する分割点とを結ぶ直線と、該分割点と該ベジェ曲線の終了点とを結ぶ直線の2本の直線で近似する第2の近似工程、および、
    前記ベジェ曲線のカーブ度合いがあらかじめ定義した曲線パターンに近いときに、そのパターンで近似する第3の近似工程、のいずれか1以上を備え
    前記第1の近似工程は、
    サイズX正方の精度でデザインされた文字をサイズY正方で画面表示した場合に、文字の輪郭部分をアンチエイリアシング手法で表現することを前提とし、
    文字をサイズY正方で表し、文字の輪郭線の一部を元のアウトラインデータ通りベジェ曲線として描画した場合の輪郭ピクセルの階調値と、
    ベジェ曲線の開始点と終了点を結ぶ直線としてその輪郭線を描画した場合の輪郭ピクセルの階調値との差が、
    人間の目で見た場合に区別がつかないとされている階調値の差以下である際、
    前記ある曲線のベジェ曲線データをベジェ曲線の開始点と終了点を結ぶ直線データに変換することを特徴とするアウトラインフォント圧縮方法。
  2. 近似前の輪郭ピクセルの階調値と近似後の輪郭ピクセルの階調値との差は、
    人間の目で区別できない最大の階調値誤差がサイズX正方の精度での距離に換算した上でベジェ曲線と近似線の距離が前記距離を越えないことを条件として該当する前記第1ないし第3の近似工程のいずれかで近似する請求項記載のアウトラインフォント圧縮方法。
JP2005285457A 2005-09-29 2005-09-29 アウトラインフォント圧縮方法 Expired - Fee Related JP5106768B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2005285457A JP5106768B2 (ja) 2005-09-29 2005-09-29 アウトラインフォント圧縮方法
EP06250093A EP1770640A3 (en) 2005-09-29 2006-01-10 Outline font compression method
US11/275,609 US7676104B2 (en) 2005-09-29 2006-01-19 Outline font compression method
KR1020060009347A KR100769495B1 (ko) 2005-09-29 2006-01-31 아웃라인 폰트 압축 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005285457A JP5106768B2 (ja) 2005-09-29 2005-09-29 アウトラインフォント圧縮方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012174245A Division JP5372226B2 (ja) 2012-08-06 2012-08-06 アウトラインフォント圧縮方法

Publications (2)

Publication Number Publication Date
JP2007094182A JP2007094182A (ja) 2007-04-12
JP5106768B2 true JP5106768B2 (ja) 2012-12-26

Family

ID=37685773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005285457A Expired - Fee Related JP5106768B2 (ja) 2005-09-29 2005-09-29 アウトラインフォント圧縮方法

Country Status (4)

Country Link
US (1) US7676104B2 (ja)
EP (1) EP1770640A3 (ja)
JP (1) JP5106768B2 (ja)
KR (1) KR100769495B1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4939824B2 (ja) * 2006-03-15 2012-05-30 富士通株式会社 アウトラインフォント圧縮方法及び復号方法
KR101247825B1 (ko) * 2007-06-29 2013-03-26 후지쯔 가부시끼가이샤 정보 표시 장치, 정보 표시 방법 및 정보 표시 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체
JP5017031B2 (ja) * 2007-09-13 2012-09-05 キヤノン株式会社 画像処理装置、画像処理方法、画像処理プログラム、並びに、記憶媒体
JP4582200B2 (ja) * 2008-06-03 2010-11-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像変換方法、およびコンピュータプログラム
CN101604452B (zh) * 2008-06-13 2012-02-01 北京大学 包装陷印中利用开放曲线和临近的闭合曲线构建新的闭合曲线的方法
US20120050293A1 (en) * 2010-08-25 2012-03-01 Apple, Inc. Dynamically smoothing a curve
US9483167B2 (en) 2010-09-29 2016-11-01 Adobe Systems Incorporated User interface for a touch enabled device
US9229636B2 (en) 2010-10-22 2016-01-05 Adobe Systems Incorporated Drawing support tool
US20130132907A1 (en) * 2011-03-02 2013-05-23 Adobe Systems Incorporated Shape pixel rendering
US8842120B2 (en) 2011-03-02 2014-09-23 Adobe Systems Incorporated Physics rules based animation engine
US10031641B2 (en) 2011-09-27 2018-07-24 Adobe Systems Incorporated Ordering of objects displayed by a computing device
WO2014002163A1 (ja) * 2012-06-25 2014-01-03 三菱電機株式会社 フォントデータ圧縮装置及びフォントデータ復元装置
JP5372226B2 (ja) * 2012-08-06 2013-12-18 富士通株式会社 アウトラインフォント圧縮方法
CN102903134B (zh) * 2012-09-13 2016-05-04 烽火通信科技股份有限公司 快速绘制多次曲线的方法
US10482577B2 (en) * 2016-07-27 2019-11-19 Adobe Inc. Dynamic spread anti-aliasing
US11100700B2 (en) * 2017-08-28 2021-08-24 Will Dobbie System and method for rendering a graphical shape
US11216994B2 (en) 2017-08-28 2022-01-04 Will Dobbie Method and apparatus for rendering a visual representation of a font glyph
US11153366B2 (en) 2019-03-01 2021-10-19 International Business Machines Corporation Lightweight web font customization integrated with glyph demanding assessment
CN112667828B (zh) * 2020-12-31 2022-07-05 福建星网视易信息***有限公司 一种音频可视化方法及终端
WO2024130607A1 (zh) * 2022-12-21 2024-06-27 京东方科技集团股份有限公司 虚幻引擎图形构建方法及装置、计算机可读存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2588257B2 (ja) * 1988-09-30 1997-03-05 沖電気工業株式会社 輪郭近似方式
JPH0378795A (ja) * 1989-08-22 1991-04-03 Toshiba Corp 文書作成装置
JPH0580741A (ja) 1991-09-19 1993-04-02 Ricoh Co Ltd 文字フオント生成方式及び装置
JPH05127648A (ja) 1991-10-31 1993-05-25 Ricoh Co Ltd アウトラインフオントデータの圧縮装置
JPH06149215A (ja) 1992-11-12 1994-05-27 Fuji Xerox Co Ltd アウトラインフォントデータ格納方法およびアウトラインフォント描画装置
JP3449338B2 (ja) 1993-06-22 2003-09-22 セイコーエプソン株式会社 データ圧縮方法、データ復元方法及び情報処理装置
JPH0764533A (ja) * 1993-08-31 1995-03-10 Fujitsu Ltd 文字フォント生成処理システム
JPH0773306A (ja) 1993-09-03 1995-03-17 Fujitsu Ltd アウトラインフォントデータの部品化方法,及び、アウトラインフォントデータ生成装置
US5734388A (en) * 1994-05-16 1998-03-31 Agfa Division, Bayer Corporation Method and apparatus for data compression of digital data to produce a scaleable font database
US5754187A (en) * 1994-05-16 1998-05-19 Agfa Division, Bayer Corporation Method for data compression of digital data to produce a scaleable font database
US5646617A (en) * 1994-06-16 1997-07-08 Seiko Epson Corporation Data compressing method, data restoring method, and information processing apparatus
JP3170155B2 (ja) * 1994-09-30 2001-05-28 シャープ株式会社 フォント展開装置
JPH08305335A (ja) * 1995-04-28 1996-11-22 Fuji Xerox Co Ltd 文字処理装置
JPH10198333A (ja) * 1997-01-09 1998-07-31 Fujitsu Ltd アウトライン文字描画装置
JPH10222146A (ja) 1997-02-07 1998-08-21 Oki Data:Kk 文字表示装置と表示方法及びフォント情報
JPH10222145A (ja) 1997-02-07 1998-08-21 Oki Data:Kk フォント情報
JPH11242472A (ja) 1998-02-25 1999-09-07 Oki Data Corp アウトラインフォント展開装置
JP2001092981A (ja) * 1999-09-27 2001-04-06 Fuji Xerox Co Ltd 画像処理装置および画像処理方法
JP2001109454A (ja) * 1999-10-12 2001-04-20 Fuji Xerox Co Ltd 文字処理装置
JP2002116751A (ja) * 2000-10-05 2002-04-19 Oki Data Corp 文字データ変換方法
US6384745B1 (en) 2000-10-10 2002-05-07 Morisawa & Co., Ltd. System, method and computer program product for a highly compressed outline font engine

Also Published As

Publication number Publication date
US7676104B2 (en) 2010-03-09
KR100769495B1 (ko) 2007-10-24
EP1770640A2 (en) 2007-04-04
KR20070036590A (ko) 2007-04-03
JP2007094182A (ja) 2007-04-12
US20070070071A1 (en) 2007-03-29
EP1770640A3 (en) 2012-08-01

Similar Documents

Publication Publication Date Title
JP5106768B2 (ja) アウトラインフォント圧縮方法
KR100748802B1 (ko) 이미지를 랜더링하기 위한 방법, 그래픽 객체들을 처리하기 위한 시스템 및 컴퓨터 프로그램 저장 매체
US6781600B2 (en) Shape processor
JP4762901B2 (ja) 合成グリフの領域をレンダリングする方法
JP2006521629A (ja) オブジェクトを表現する2次元距離フィールドの領域をアンチエイリアスする方法及び装置
JP4869920B2 (ja) オブジェクトを表現する2次元距離フィールドからピクセルのコンポーネントのアンチエイリアス強度を求める方法及び装置
KR100677689B1 (ko) 문자 화상 생성 장치, 문자 화상 생성 방법, 표시 제어 장치, 문자 화상 생성 프로그램 또는 표시 제어 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체
KR100813380B1 (ko) 문자 화상 생성 시스템, 문자 화상 생성 프로그램을 기록한기록 매체 및 문자 화상 생성 방법
US7956861B2 (en) Method for checkerboard-based vector to raster conversion
JP2006521628A (ja) 2次元オブジェクトの隅に関連するセル内に2次元距離フィールドを生成する方法
JP2006521626A (ja) ペンストロークから2次元距離フィールドを生成する方法
JP2006521624A (ja) 2次元オブジェクトを2次元距離フィールドに変換する方法
JP2006521627A (ja) 動画スクリプトに従ってフレームシーケンスとしてオブジェクトを動画化する方法
JP5372226B2 (ja) アウトラインフォント圧縮方法
JP5159949B2 (ja) ベクトル図形描画装置
JP3603593B2 (ja) 画像処理方法および装置
JP2006521625A (ja) 2次元距離フィールドを境界デスクリプタの集合に変換する方法
JP2003087558A (ja) 画像処理装置および方法
KR100705188B1 (ko) 문자 폰트 표시 방법
JP2004213464A (ja) 画像処理装置
US20070216688A1 (en) Display program, data structure and display device
JP3815411B2 (ja) フォント処理装置、端末装置、表示装置、フォント処理方法およびフォント処理プログラム
JP3357855B2 (ja) フォント処理装置、フォント処理方法及び記憶媒体
JPS6279571A (ja) 図形パタ−ン発生方式
JPH02184913A (ja) 曲線発生方式及びこの方式を適用したアウトラインフオント生成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120925

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121003

R150 Certificate of patent or registration of utility model

Ref document number: 5106768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151012

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees