(57)【要約】      （修正有）【課題】基本となる２値ビットマップフォントから多階調ビットマップフォントを生成するコンピュータにより実行される方法を提供する。【解決手段】２値ビットマップの基本フォントを読み込むステップ１１、および階調付け処理の対象となる画素パターンを格納するデータベースを参照して読み込まれた基本フォントから処理すべき画素の組み合わせを選択するステップ１３を含む。選択された画素の組み合わせに階調値を付加する順序を指定する順序指定アルゴリズムにより、一つのフォントについて階調値を付加する順序を指定し、および画素パターンに応じて付加すべき階調値を指定するアルゴリズムにより、選択された画素の組み合わせに対して付加する階調値を指定する。指定された順序で指定された階調値を選択された画素の組み合わせに付加して、多階調ビットマップフォントを生成する。【選択図】図１
2010197504.tif 000002
【特許請求の範囲】
【請求項１】
基本となる２値ビットマップフォントから多階調ビットマップフォントを生成するコンピュータにより実行される方法であって、
２値ビットマップの基本フォントを読み込むステップと、
階調付け処理の対象となる画素パターンを格納するデータベースを参照して読み込まれた基本フォントから処理すべき画素の組み合わせを選択するステップと、
前記選択された画素の組み合わせに階調値を付加する順序を指定する順序指定アルゴリズムにより、一つのフォントについて階調値を付加する順序を指定するステップと、
画素パターンに応じて付加すべき階調値を指定するアルゴリズムにより、前記選択された画素の組み合わせに対して付加する階調値を指定するステップと、
前記指定された順序で前記指定された階調値を前記選択された画素の組み合わせに付加して、多階調ビットマップフォントを生成するステップと、
を含む、多階調ビットマップフォントの生成方法。
【請求項２】
文字の字形の違いを認識する上で重要な字形の骨格となる黒画素の線のうち、少なくとも１画素の連続による線は中間調画素による置換を行わずに黒画素のまま残して置くことにより、字形の骨格を明瞭に示す構造の多階調ビットマップフォントを生成する請求項１に記載の方法。
【請求項３】
前記生成するステップで生成された多階調ビットマップフォントの「ぼけ」を減少させるために中間調画素のみに接する中間調画素を除去するステップを含む、請求項１に記載の方法。
【請求項４】
前記画素の組み合わせに応じて黒画素を中間調画素で置換することを含む、請求項１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は白黒２値のビットマップフォントから、文字の斜線部や曲線部分のジャギーを減少させた高品質の多階調ビットマップフォントを得る方法に関する。
【背景技術】
【０００２】
多階調ビットマップフォントを得る方法としては大きくアウトラインフォントをビットマップデータに展開する際に多階調化する方法と、２値のビットマップフォントから出発して多階調ビットマップフォントを生成する方法の２種類がある。本発明は後者の２値ビットマップフォントから出発して多階調ビットマップフォントを得る方法に関する。
【０００３】
２値ビットマップフォントから多階調ビットマップフォントを生成する方法については種々の考案がなされている。特許文献１、２、３は、白黒２値で表現された画像を任意の倍率で縮小変換して多階調画像を得る方法を開示している。特許文献４、５、６は、２値ビットマップデータをｍ画素×ｎ画素（ｍ、ｎは１より大きな整数）の単位領域に分割し、単位領域ごとの階調値を算出することにより、多階調ビットマップフォントを得る方法を開示している。
【０００４】
特許文献７は、２値ビットマップフォントデータから、多階調のフォントデータの１画素分に相当する領域のデータ値を抽出し、当該領域内の各画素の位置に対応した重みづけ係数をそれぞれ乗算し、当該各画素の乗算値を合計した値である階調値を求めることで、多階調フォントデータの１画素分の階調値を決定する方法を開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１−１１２３７８
【特許文献２】特開平１−１１２３７９
【特許文献３】特開平６−１６２１８３
【特許文献４】特開平６−２５０６３３
【特許文献５】特開平８−７０９３
【特許文献６】特開２００２−１２３２４６
【特許文献７】特開平１１−３０５７５３
【発明の概要】
【発明が解決しようとする課題】
【０００６】
白黒２値のビットマップフォントには文字を構成する斜線部分および曲線部分については画素単位で階段状のジャギーが生じるため文字品質が低くなる、という欠点があるが、この欠点を改善するために画素の濃淡による中間調を用いて文字を表す多階調フォント（アンチエリアスフォント、又はグレースケールフォントとも呼ばれる）が利用されている。
【０００７】
しかし中間調を用いて文字に濃淡をつけると、文字を構成する斜線部分や曲線部分のジャギーは目立たなくなるものの、文字全体がぼやけたり、文字を構成する中間調の線と線が接触し、黒みを帯びた文字となったりする問題がある。また、文字の字形の違いを認識する上で重要な文字の骨格となる黒画素を中間調画素にしてしまうことがある。これらが原因となって、文字の識別に困難を覚えるような階調フォントを生成してしまうという問題がある。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、この発明は、基本となる２値ビットマップフォントから多階調ビットマップフォントを生成するコンピュータにより実行される方法であって、次のステップを含む。
【０００９】
すなわち、この発明の方法は、２値ビットマップの基本フォントを読み込むステップ、および階調付け処理の対象となる画素パターンを格納するデータベースを参照して読み込まれた基本フォントから処理すべき画素の組み合わせを選択するステップを含む。さらに、この発明の方法は、前記選択された画素の組み合わせに階調値を付加する順序を指定する順序指定アルゴリズムにより、一つのフォントについて階調値を付加する順序を指定するステップ、および画素パターンに応じて付加すべき階調値を指定するアルゴリズムにより、前記選択された画素の組み合わせに対して付加する階調値を指定するステップを含む。前記指定された順序で前記指定された階調値を前記選択された画素の組み合わせに付加して、多階調ビットマップフォントが生成される。
【００１０】
この発明の一実施形態では、文字の字形の違いを認識する上で重要な字形の骨格となる黒画素の線のうち、少なくとも１画素の連続による線は中間調画素による置換を行わずに黒画素のまま残して置くことにより、字形の骨格を明瞭に示す構造の多階調ビットマップフォントを生成する。
【００１１】
さらに、この発明のもう一つの実施形態では、前記生成するステップで生成された多階調ビットマップフォントの「ぼけ」を減少させるために中間調画素のみに接する中間調画素を除去する。
【００１２】
また、他の実施形態では、前記画素の組み合わせに応じて黒画素を中間調画素で置換する。
【００１３】
従来技術による２値ビットマップフォントを多階調化してジャギーを減少させる試みは、いずれも文字全体に対してある方式で処理を行うというものであったが、本発明は文字を構成要素である画素の組み合わせに分解し、階調化を行う必要のある画素の組み合わせに対して階調処理を行う点が異なっている。
【００１４】
これにより従来以上にきめの細かい処理が可能となり、高品質化が達成できる。高品質の多階調ビットマップフォントを得るためには、手作りの白黒２値ビットマップフォントを制作する場合と同様にフォントを制作すれば良いが、全てを手作りで制作するのではあまりにも労力が掛り過ぎる。この発明によると、コンピュータで実行される方法により、高品質の多階調ビットマップフォントを得ることができる。
【図面の簡単な説明】
【００１５】
【図１】この発明を実施するシステムの一例を示す図。
【図２】ビットマップフォントの曲線部の基本パターンを示す図。
【図３】基本パターンに中間調画素を加えたパターンを示す図。
【図４】図３の中の一部のパターンを示す図。
【図５】基本パターンに２画素を加えた拡張パターンを示す図。
【図６】図４の(b) 〜 (d)までのパターンに１画素加えたパターンで考慮すべきパターンを示す図。
【図７】物理的な階調濃度の変化に対して、人間の目が感ずる階調濃度の変化を示す図。
【図８】中間調レベルl、m、nを求めるアルゴリズムを説明するための図。
【図９】（A）は、縦・横ともに１画素の線からなる２値のビットマップ・フォント「大」をこの発明にしたがって階調付加処理を行った結果の多階調フォントを示し、(B)および（C）は、縦・横ともに２画素の線からなる２値ビットマップ・フォント「表」をこの発明にしたがって階調付与処理を行った結果の多階調フォントの例を示す。
【発明を実施するための形態】
【００１６】
この発明の実施形態は、以下の手法により高品質な多階調フォントを得る。この発明の方法は、パソコンのような汎用のコンピュータにこの発明に従うコンピュータ・プログラムをインストールし、実行することによって実現することができる。図１は、このようなコンピュータの機能ブロックを示す。コンピュータの演算部10は、プロセッサ（CPU）およびランダム・アクセス・メモリ（RAM）で構成される。
【００１７】
コンピュータの記憶装置20は、たとえばハードディスク記憶装置のような不揮発性の記憶装置であり、２値ビットマップの基本フォント記憶部21、および画素パターンのデータベース23を備えている。この記憶装置は、階調値を指定するアルゴリズムを組み込んだプログラム25、階調付加を行う順序を指定する順序指定アルゴリズムを組み込んだプログラム27、および連続する中間調によるぼけを除去するアルゴリズムを組み込んだプログラム28を記憶している。
【００１８】
コンピュータの演算部10は、基本フォント記憶部21からフォントを一つずつRAMに読み込む順次読み込み部11を備える。また、演算部10は、読み込んだフォントと画素パターン・データベースに保存されている画素パターンとのマッチングにより、階調を付加する対象となる画素の組み合わせを選択するパターン選択部13を備える。中間調付加部15は、階調値指定プログラム25および順序指定プログラム27に従って、選択部13により選択された画素の組み合わせに中間調を付加する。その際、パターンの種類によっては付加のみではなく黒画素を中間調画素で置換することも行う。
【００１９】
ぼけ除去部17は、ぼけ除去プログラム28により、中間調画素のみに接続する中間調画素を除去する。こうして多階調のビットマップフォント19が生成され、記憶装置の多階調フォント記憶部29に格納される。
【００２０】
パターン選択部
ビットマップフォントの多階調化の目的は斜線部又は曲線部分のジャギーをなくし、滑らかにすることであるので、階調化は階段状の段差を持った画素の組み合わせが対象となる。
【００２１】
以下に縦・横がそれぞれ１画素幅のフォントについて、階調化の対象とすべき画素組み合わせを解説する。縦・横ともに１画素幅で構成されるフォントの斜線部分又は曲線部の基本パターンは図２の(A)および（B）である。
【００２２】
これらの基本パターンを核として、各種の拡張型が考えられる。基本パターンの上下左右画素位置に番号をふると図２のマトリックスのようになる。図２（Ａ）では画素位置４と１１は基本パターンに接続していないので対象から除外する。図２（Ｂ）では画素位置サークル１とサークル１４は基本パターンに接続していないので対象から除外する。基本パターンに１画素を接続するパターンは図３の如くとなる。
【００２３】
基本パターンの階段状個所（図２（A）の６，９および（B）のサークル６、サークル９に中間調画素を付加すると、図３の(e)、(f)、(g)、(h)、(m)、(n)、(o)、(p)、(q)、(r)のパターンが得られる。すなわち、図２(A)の画素位置６に中間調画素を加えると、図３(g)になり、画素位置６に隣接する位置３に中間調画素を加えると、図３（e）になり、隣接する画素位置７に加えると図３(m)になる。画素位置４は、画素位置６に接続しないので、中間調画素の付加対象にならない。この法則を画素位置９、サークル６およびサークル９に適用すると。上記の10のパターンとなる。残りの８つのパターンを図４に示す。これらのパターンについても考慮しなければならない。
【００２４】
次に基本パターンに２画素を付加した拡張パターンを考える。組み合わせパターンの数は非常に多くなるが、フォントの構成パターンとして不自然なものは除外可能であるので、ここでは拡張型（１画素付加）で得られたa、b、c、d、i、j、k、lに１画素を付加したパターンを求める。図４(a) のパターンに１画素を加えたパターンは図５のようになる。ここで、図５(e) 〜(n) のパターンはフォントの斜線部、曲線部分を滑らかにするという目的から外れているので除外し、図５の(a)、(b)、(c)、(d)のパターンを使用する。同様に図４の(b) 〜 (d)までのパターンに１画素加えたパターンで考慮すべきものは図6に示すパターンとなる。
【００２５】
上記の如く縦・横ともに１画素幅で構成されているフォントについて、階調値付加を行う際に対象となる画素組み合わせパターンを求めたが、これらのパターンは画素パターンＤＢ23に格納される。同様に線幅が縦２画素・横１画素のフォントや縦・横２画素幅のフォントの画素組み合わせパターンも画素パターンＤＢ
23に格納される。
【００２６】
マッチング・パターン選択時にはフォントの線幅の違いに応じて、対応する画素パターンを画素パターンＤＢ23中から選び、文字の構成画素中にそのパターンと同一の組み合わせ画素があれば、その個所に後述する方法で階調値を指定する。
【００２７】
階調値指定プログラム
階調レベルの決定は画素の組み合わせが縦・横共に１画素の線の太さであるか、縦２画素・横１画素の線の太さであるか、縦・横共に２画素の線の太さであるかなどにより異なる。
【００２８】
ここでは画素の組み合わせが縦・横共に１画素の線の太さの場合について、階調レベル決定方法について示す。
【００２９】
人間に対する物理的刺激の強さと、それに対する人間の感覚量との間には一般的にフェヒナーの法則（Fechner’s Law）が成立することが知られている。
B = klogI+a
K ：提示される条件により定まる係数
a ：定数
（参照：新編画像解析ハンドブック・東京大学出版会発行）
【００３０】
物理的な階調濃度の変化に対して、人間の目が感ずる階調濃度は直線的ではなく指数関数的に変化する。図7は横軸に階調レベル（16階調）、縦軸に人間の感覚量をとったグラフであり、感覚量は100が黒、0が白と感ずる量を％で示してある。図の曲線はB=88logIの場合の例であるが、係数kの値は使用する表示装置の性能等により変化する。
【００３１】
図８を参照すると、ビットマップフォントの縦線・横線等に付加する最も濃度の薄い中間調レベルをlとし、連続する３画素の中間調レベルを
l、m、n（l＜m＜n＜レベル16、l、m、nは整数）
とした場合について、人間の感覚量がほぼ等分されるような階調レベルm、nを次式より求める。
【００３２】
【数１】
2010197504.tif 000003
N  ：連続する中間調画素の数（この場合N=3）
B1 ：階調レベルlの感覚量
B１６：階調レベル16（黒）の感覚量
Bd : lからd画素離れた中間調画素の感覚量
d=1の時、B1=Bmとなり階調レベルmの感覚量を示す。
d=2の時、B2=Bnとなり階調レベルnの感覚量を示す。
【００３３】
感覚量Ｂ16とBlとの間を３等分した中間の感覚量をBm、Bnとする。
【００３４】
それぞれの感覚量に対応した階調レベルを求めると
l=3、m=5.24、n=9.15
となるが、l、m、nは整数であるので４捨５入すると、l=3、m=5、n=9 が得られる。
【００３５】
連続する中間調画素が２画素、４画素などの場合についても、また線の太さが変わっても同様なアルゴリズムにより、それぞれの階調レベルを求めることができる。
【００３６】
順序指定のアルゴリズム
画素組み合わせパターンに中間調画素の付加または置換を適切に行い、美しい階調ビットマップフォントを得るためには、画素組み合わせパターン処理の順序に留意する必要がある。順序が適切でないと、適切に付加または置換された中間調画素を後の処理で不適切な中間調画素に上書きすることがあるからである。順序指定プログラム２７は、以下の（１）からはじめて（７）に至る順序を指定する。
【００３７】
指定は画素数の少ない画素組み合わせパターンから順に画素数の多い画素組み合わせパターンの処理を行い、最後に不適切な中間調画素を修正し、また「ぼけ」が生ずる可能性がある場合にはぼけ除去プログラム２８を走らせる。
【００３８】
段階を追って記述すると次の如くとなる。
【００３９】
（１）２値ビットマップフォントの縦・横の直線部分の黒画素に接触する個所に中間調画素を付加する。
（２）斜線部基本型パターンの階段状の個所に中間調画素を加える。
（３）斜線部拡張１画素型パターンの階段状の個所に中間調画素を加える。
（４）斜線部拡張２画素型パターンの階段状の個所に中間調画素を加える。
（５）斜線部拡張３画素型パターンの階段状の個所に中間調画素を加える。
（６）縦線と横線が直交している個所に不適切な中間調画素があるかどうかを検出し、これを適切な中間調画素になるように修正する。
【００４０】
例えば（１）のステップで縦・横線の直線部分に階調レベル３を指定し、（２）のステップで階調レベル７を指定すると、縦・横線の直交個所には斜線部基本パターンが存在するため、この交点には階調レベル７が指定されてしまう。直交個所は本来階調レベル３の個所であるので、プログラムにより直交個所であるかどうかを判別し、そうであれば階調レベル７を階調レベル３に修正する。
【００４１】
（７）線の太さが２画素のフォントにおいて黒画素を中間調画素に変換した場合、ぼけ除去プログラム28を走らせて黒画素と接しない中間調画素を検出し、この中間調画素を除去する。このような中間調画素は、フォントに不所望のぼけを生じさせるからである。
【００４２】
図９（A）は、縦・横ともに１画素の線からなる２値のビットマップ・フォント「大」をこの発明にしたがって階調付加処理を行った結果の多階調フォントを示す。図９(B)は、縦・横ともに２画素の線からなる２値ビットマップ・フォント「表」をこの発明にしたがって階調付与処理を行った結果の多階調フォントの例を示す。この例では、順序指定プログラムは、上記（６）および（７）のステップを実行していない。このため、フォントの縦・横線が直交する部分の階調濃度が直線部分より濃くなっており、全体として黒ずんだ画像となっている。
【００４３】
また、６画（かく）目の縦線とこの縦線の下からのはねを表す横線と交点は本来黒であるべき画素が中間調となっている。ステップ（６）では、縦線と横線との交点を検出して、交点の中間調を黒に修正する。最後にぼけ除去プログラム２８により黒画素と接しない中間調画素を検出し、この中間調画素を除去する。図９（C）は上記（６）および（７）のステップを実行して得られたものである。
【００４４】
なお、線の太さが１画素のビットマップフォントについては、上記の（６）（７）のステップは省略することも可能である。
【００４５】
以上説明したように、本発明を用いることにより２値ビットマップフォントから手作りに近いレベルの非常に高品質な多階調ビットマップフォントを得ることができる。画素組み合わせパターンの選択、階調濃度レベルの指定を、フォントの書体、サイズ、線の太さに応じてきめ細かに行えるため従来のフォント全体に対してある方式を一括適用して多階調フォントを生成する方法と比較して、はるかに高品質の多階調ビットマップフォントを得られるという効果がある。
【００４６】
以上にこの発明を具体的な実施例について説明したが、この発明はこのような実施例に限定されるものではない。
【図１】
2010197504.tif 000004
【図２】
2010197504.tif 000005
【図３】
2010197504.tif 000006
【図４】
2010197504.tif 000007
【図５】
2010197504.tif 000008
【図６】
2010197504.tif 000009
【図７】
2010197504.tif 000010
【図８】
2010197504.tif 000011
【図９】
2010197504.tif 000012