(57)【要約】【課題】フォントを構成する画素の濃淡の階調変化を自然なものにし、かつ、その効果を簡単かつ自在に変化させることを可能にする。【解決手段】フォントの濃淡の階調をフォントのアウトラインからの距離の関数として決定する方法。【選択図】　　　　図１
2004061909.tif 000002
【特許請求の範囲】
【請求項１】
フォントの濃淡の階調をフォントのアウトラインからの距離の関数として決定する方法。
【請求項２】
フォントの階調を決めるためのアウトラインからの距離を求める際に、４近傍距離変換を用いることを特徴とする請求項１に記載の階調決定方法。
【請求項３】
フォントの階調を決めるためのアウトラインからの距離を求める際に、レベルセット法を用いることを特徴とする請求項１に記載の階調決定方法。
【請求項４】
請求項１の距離関数φを用いて画素の濃淡の階調を決定する関数であって、階調を決定する関数として、
【数１】
2004061909.tif 000011
（ここで、δは任意の実定数）とすることを特徴とする濃淡付けの方法。
【請求項５】
請求項１の距離関数φを用いて請求項２の濃淡の階調を決定する関数であって、階調を決定する関数として、
【数２】
2004061909.tif 000012
とすることを特徴とする濃淡付けの方法。
【請求項６】
請求項１の方法に従って階調の変化を決定する方法を記録した記録媒体。
【請求項７】
フォントのアウトラインからの距離を求めるために、請求項２の方法に従ってフォントのアウトラインから画素までの距離を求める方法を記録した記録媒体。
【請求項８】
フォントのアウトラインからの距離を求めるために、請求項３の方法に従ってフォントのアウトラインから画素までの距離を求める方法を記録した記録媒体。
【請求項９】
請求項２または請求項４の方法に従ってフォントに階調をつける方法を記録した記録媒体。
【請求項１０】
請求項２または請求項５の方法に従ってフォントに階調をつける方法を記録した記録媒体。
【請求項１１】
請求項３または請求項４の方法に従ってフォントに階調をつける方法を記録した記録媒体。
【請求項１２】
請求項３または請求項５の方法に従ってフォントに階調をつける方法を記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フォントデータを表示する機器全般に属し、その最終表示機器（ディスプレイ、プリンター等）に依らず適用できる。
【０００２】
【発明が解決しようとする課題】
フォントを表示装置上に表示するとき、そのアウトラインのスムージング方法としてフォントを構成する画素の色の階調を徐々にぼかしていく作業を行うことがあるが、従来このようなぼかし処理を行う場合、画素に対するフォントの占有率からぼかしの度合いを決定していた（ＵＳ　００５５７９０３０）。しかし、この方式であれば、アウトラインから等距離にある画素、つまり、表示結果を見るものにとっては同じ条件の場所であるにもかかわらず、ぼかし処理が行われる点と行われない点ができてしまう。アウトラインのスムージングとしてぼかし処理を行うことを考えれば、アウトラインから等距離にあるような画素に対しては同じ濃淡の階調を有しているほうが自然な仕上がりとなる。また、上記のような従来の方法ではぼかし処理の効果を変えることはできず、別の階調変化方法を取り入れることはできない。
【０００３】
【課題を解決するための手段】
フォントのアウトラインから画素までの距離を引数とする関数をもちいて画素の階調を変化させれば、アウトラインから同じ距離にある画素の階調は常に同じとなる。また、階調の変化の様は階調の変化を与える関数を変えることで容易に変えることができる。このような方法を以下で順をおって説明する。
【０００４】
（１）表示装置上の画素の座標を整数ｍ、ｎを用いて（ｍ、ｎ）と表したとき、座標（ｉ、ｊ）における画素（ここにｉ、ｊは整数）にからフォントのアウトラインまでの距離φｉｊとして、フォント外の画素に対して０、フォント内の画素に対して１をとるような集合［ｆｍｎ］に対して（図４、図５）、
φｉｊ＝ｍｉｎ［｜ｉ−ｍ｜＋｜ｊ−ｎ｜；ｆｍｎ＝０］
と定義する。この距離は画素の４近傍距離として良く知られているものである。
【０００５】
（２）上記（１）で定義した集合［ｆｍｎ］に対して、各ｆｍｎから、０画素への最短４近傍距離を与える変換（距離変換）が良く知られている（画像処理の基本技法（技術評論社）、第三章）。その変換方法とは、画面上から下へラスタ操作を行いながら、
Ｓｉｊ＝ｍｉｎ｛ｇｉｊ，Ｓｉ−１，ｊ，Ｓｉ，ｊ−１｝
として｛Ｓｉｊ｝を求める（図２）。ここで、
【０００６】
【数３】
2004061909.tif 000003
【０００７】
（Ｍは十分大きな値）である。次に、下から上への逆ラスタ操作を行いながら、
φｉｊ＝ｍｉｎ｛Ｓｉｊ，φｉ＋１，ｊ＋１，φｉ，ｊ＋１＋１｝
として、｛φｉｊ｝を求める（図３）。このようにして得られた距離｛φｉｊ｝はアウトラインから何画素分離れているかを整数値として持っている（図６）。
【０００８】
（３）また、実数値をとる距離関数φして、画素の座標を（ｘ、ｙ）とするとき、
【０００９】
【数４】
2004061909.tif 000004
【００１０】
（ここで、∂Ωはフォントのアウトライン）と定義する。このとき、この距離関数の値はレベルセット法を用いて求めることができることが知られている（Ｌｅｖｅｌ　Ｓｅｔ　Ｍｅｔｈｏｄｓ　ａｎｄ　Ｆａｓｔ　Ｍａｒｃｈｉｎｇ　Ｍｅｔｈｏｄｓ，　Ｊ．Ａ．Ｓｅｔｈｉａｎ，　Ｃａｍｂｒｉｄｇｅ，　１９９９）。
【００１１】
（４）レベルセット法では、フォントの内部（領域Ω）で正、外部で負の値を持つように関数ｆ（ｘ，ｙ）の値をセットすると、求める関数φは、
【００１２】
【数５】
2004061909.tif 000005
【００１３】
の定常解として与えられ、フォントのアウトラインからの符号付距離関数が得られる。
【００１４】
▲１▼の微分方程式を、
【００１５】
【数６】
2004061909.tif 000006
【００１６】
と書き換えれば、これは流体の移流方程式と同じ形であるから、時間方向を離散化近似した上で各時刻ステップで上の移流を行うことで定常解まで関数φを時間発展させることができるため、コンピュータ上でこの方程式を解くことができる。
【００１７】
（５）距離φから、関数Ｈ（φ）を用いてピクセルの色の濃淡を決定する。この関数の選び方は、どのような色の濃淡の付け方にするかで、自由に決めるものである。たとえば、境界付近で滑らかに色を薄くしていきたいのであれば、
【００１８】
【数７】
2004061909.tif 000007
【００１９】
と関数Ｈを選べばよい（図７）。ここで、δは任意の（実）定数であって、グラデーション処理をアウトラインからどれだけ離れたところまで行うかを決定するパラメータとなる。
【００２０】
【発明の実施の形態】
（実施例１）
１）階調変化処理を行いたいフォントを囲む矩形領域の画像データを持つＶＲＡＭの情報を（図１）のメモリー（図１）に移す。このとき、取り出した矩形のｘ方向の画素数をｎｘ、ｙ方向の画素数をｎｙとしてメモリー上にｆ（ｎｘ，ｎｙ）の大きさの配列をとり、その各成分には対応する画素のビット（０または１）を代入する。
【００２１】
２）距離計算部（図１）は前記（１）の手順に従って、
［ｆ（ｉｘ，ｉｙ）；１≦ｉｘ≦ｎｘ，１≦ｉｙ≦ｎｙ］から［φ（ｉｘ，ｉｙ）；１≦ｉｘ≦ｎｘ，１≦ｉｙ≦ｎｙ］
を計算し、メモリーに移す。
【００２２】
３）階調計算部（図１）はメモリー（図１）から［φ（ｉｘ，ｉｙ）；１≦ｉｘ≦ｎｘ，１≦ｉｙ≦ｎｙ］を参照し、各φ（ｉｘ，ｉｙ）に対してＨ（ｉｘ，ｉｙ）を、
【００２３】
【数８】
2004061909.tif 000008
【００２４】
に従って計算をする。この計算式によって、境界で濃度０、δ以上離れた画素では濃度１００％となり、境界に向かって滑らかな濃度変化を得ることができる。
【００２５】
４）階調計算部は計算結果をメモリーに書き出す。
【００２６】
５）メモリーからＶＲＡＭへＨ（ｉｘ，ｉｙ）の情報を渡し、画面表示を完了させる。
【００２７】
（実施例２）
実施例１の３）の手順において、関数Ｈを
【００２８】
【数９】
2004061909.tif 000009
【００２９】
としたものに変えると、境界の画素で濃度１００％、δ以上離れた画素では濃度０となり、フォントの縁取りを行うことができる（図８）
（実施例３）
実施例１の３）の手順において、関数Ｈを
【００３０】
【数１０】
2004061909.tif 000010
【００３１】
とすることで、フォント内で波打った濃度変化を得ることができる。
【００３２】
【発明の効果】
本発明はフォントの階調変化をアウトラインからの距離を用いて行うことが特徴で、いったん距離を求めてから階調変化処理を行うという分離手法を用いることで以下のような効果が現れる。
【００３３】
１．階調変化の度合いは、フォントのアウトラインから対象となる画素までの距離を引数にとる関数を通じて行うために、距離がアウトラインまでの距離が同じであるような画素に対して同じ階調を与えることができるために均一で自然なグラデーション効果を得ることができる。
【００３４】
２．階調変化の度合いは関数を通じて決定されるために、所望の階調変化を生じさせる関数さえ与えるだけで階調変化の仕方を非常に簡単に変更することができる。
【００３５】
３．処理方法がフォントの描画部分と切り離されているため、どのような方法であれ、一度画面上に書き込まれてしまえば（ＶＲＡＭに書き込まれてしまえば）、本発明の階調変化処理を施すことが可能である。つまり、フォントを描画する方法に依らず階調変化処理を加えることができる。
【００３６】
４．距離関数を計算する空間を限定していないため、フォントを構成する画素の位置の情報さえあれば、表示したい機器（ディスプレイ、プリンター等）の解像度に応じた空間で距離を計算できる。そのため、最終的に表示する機器の解像度に応じた階調変化を同じ手法で得ることができる。
【図面の簡単な説明】
【図１】実施例１、実施例２を構成するシステムの概要である。
【図２】距離変換を行う手順の一つを示したものである。
【図３】距離変換を行う手順の一つを示したものである。
【図４】フォントの一部分の拡大図である。
【図５】図４に対応するビットを表したものである。
【図６】図５の配列を距離変換して得られる配列である。
【図７】実施例１内で用いる階調変化を決める関数とその効果を表したものである。
【図８】実施例２内で用いる階調変化を決める関数とその効果を表したものである。
【図１】
2004061909.tif 000013
【図２】
2004061909.tif 000014
【図３】
2004061909.tif 000015
【図４】
2004061909.tif 000016
【図５】
2004061909.tif 000017
【図６】
2004061909.tif 000018
【図７】
2004061909.tif 000019
【図８】
2004061909.tif 000020