(57)【特許請求の範囲】
【請求項１】
オリジナルの画素パターンの品質を向上させる方法であって、
前記画素パターンを有する画素ブロックを提供するステップであって、該画素ブロックはｘ行ｙ列の画素からなり、該画素ブロックは１つあるいはそれ以上の目標画素とそれらに隣接する周囲画素とを有している、ステップと、
前記画素ブロックを垂直方向および水平方向にスケーリングしてｘ・ｚ行ｙ・ｑ列の高解像度のビットマップを形成するステップであって、ｚは１より大きい所定の垂直方向拡大係数を表しており、ｑは１より大きい所定の水平方向拡大係数を表している、ステップと、
前記ブロック内の画素が前記高解像度ビットマップ内の前記画素パターンに対するスムージングで除去される可能性を表すＱ値を計算するステップと、
前記Ｑ値に従って前記高解像度ビットマップ内の前記画素パターンをスムージングするステップであって、Ｑ値が高いほど前記高解像度ビットマップに実行されるスムージングの量が少なくなり、前記Ｑ値が、
Ｑ＝（前記画素ブロック内の露出した少数画素面）／（前記画素ブロック内の少数画素数）
によって計算され、ここで、前記露出した少数画素面は異なる種類（黒または白）の隣接する画素に面する前記ブロック内の少数画素の面の数であり、少数画素は前記ブロック内の最も数の少ない種類の画素である、ステップと、
前記スムージングステップ後の前記高解像度ビットマップに基づいて、前記画素ブロック内の前記１つあるいはそれ以上の目標画素に対応する出力画素を生成するステップと、
を備えている方法。
【請求項２】
前記スムージングステップが、
前記高解像度ビットマップ内の前記画素パターンに対して、該パターンが第１の種類（黒または白のうちの一方）の画素から第２の種類（前記黒または白のうちの他方）の画素に変化することによって形成される、前記高解像度ビットマップ内の９０°の突き出た角とへこんだ角を、該突き出た角とへこんだ角における画素を前記高解像度ビットマップ内の前記第１の種類の画素から前記第２の種類の画素に変換し、また前記高解像度ビットマップ内の前記第２の種類の画素から前記第１の種類の画素に変換することによって除去することにより初期スムージングを行うステップであって、前記第１の種類から前記第２の種類に、また前記第２の種類から前記第１の種類に変換される前記画素の数は前記Ｑ値によって決まり、該Ｑ値が高いほど初期スムージングの量が少なくなる、ステップと、
前記ビットマップを低域フィルターを用いてフィルタリングすることによって前記高解像度ビットマップ内の前記パターンの最終スムージングを行うステップであって、低域フィルタリングの程度は前記Ｑ値によって決まり、該Ｑ値が高いほど最終スムージングの量が少なくなる、ステップと、
を備えている、請求項１に記載の方法。
【請求項３】
前記スムージングステップが、
前記高解像度ビットマップ内の前記パターンに対して、該パターンが第１の種類（黒または白のうちの一方）の画素から第２の種類（前記黒または白のうちの他方）の画素に変化することによって形成される、前記高解像度ビットマップ内の９０°の突き出た角とへこんだ角を、該突き出た角とへこんだ角における画素を前記高解像度ビットマップ内の前記第１の種類の画素から前記第２の種類の画素に変換し、また前記高解像度ビットマップ内の前記第２の種類の画素から前記第１の種類の画素に変換することによって除去することによりスムージングを行うステップであって、前記第１の種類から前記第２の種類に、また前記第２の種類から前記第１の種類に変換される前記画素の数は前記Ｑ値によって決まり、該Ｑ値が高いほどスムージングの量が少なくなる、ステップ、
を備えている、請求項１に記載の方法。
【請求項４】
前記１つあるいはそれ以上の目標画素が２つの目標画素を有し、前記隣接画素が前記目標画素を取り囲む１０個の画素を有している、請求項１に記載の方法。
【請求項５】
前記出力画素を、前記画素ブロックを索引として用いて検索されるようにルックアップテーブルに格納するステップをさらに備えている、請求項１に記載の方法。
【請求項６】
前記画素ブロック内の複数の可能な画素パターンに対する前記出力画素を生成し、該出力画素を前記ルックアップテーブルに格納するステップをさらに備えている、請求項５に記載の方法。
【請求項７】
オリジナルの画素パターンの品質を向上させる方法であって、
前記画素パターンを有する画素ブロックを提供するステップであって、該画素ブロックはｘ行ｙ列の画素からなり、該画素ブロックは１つあるいはそれ以上の目標画素とそれらに隣接する周囲画素とを有している、ステップと、
前記画素ブロックを垂直方向および水平方向にスケーリングしてｘ・ｚ行ｙ・ｑ列の高解像度のビットマップを形成するステップであって、ｚは１より大きい所定の垂直方向拡大係数を表しており、ｑは１より大きい所定の水平方向拡大係数を表している、ステップと、
前記ブロック内の画素が前記高解像度ビットマップ内の前記画素パターンに対するスムージングで除去される可能性を表すＱ値を計算するステップであって、前記Ｑ値は前記画素ブロック内の最も露出度の高い目標画素の露出した角の数に等しく、前記最も露出度の高い目標画素は少なくとも前記画素ブロック内の他の任意の目標画素と同じ数の露出した角を有し、目標画素の露出した角は、前記角に隣接する３つの画素のすべてが前記目標画素の種類（黒または白）と異なる画素であるとき存在する、ステップと、
前記Ｑ値に従って前記高解像度ビットマップ内の前記画素パターンをスムージングするステップであって、該Ｑ値が大きいほど前記高解像度ビットマップに実行されるスムージングの量が少なくなる、ステップと、
前記スムージングステップの後の前記高解像度ビットマップに基づいて、前記画素ブロック内の１つあるいはそれ以上の目標画素に対応する出力画素を生成するステップと、
を備えている方法。
【請求項８】
前記最も露出度の高い目標画素の露出した角の数が１であり、
１）前記目標画素の上下両面が露出しているか、あるいは、
２）前記目標画素の左右両面が露出している、
場合（ここで、露出しているとは、前記目標画素の上下両面あるいは左右両面が、異なる種類（黒または白）の画素に隣接していることを示す）、前記Ｑ値を約２倍するステップをさらに備えている、請求項７に記載の方法。
【請求項９】
前記画素ブロックが、ビット写像されたメモリに格納された、前記画素ブロックより大きい画素パターンから得られる、請求項１に記載の方法。
【請求項１０】
前記高解像度ビットマップの画素解像度が前記出力画素の解像度より大きい、請求項７に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は記録媒体上の画素の印刷に関し、特に画素から形成される表示（印刷）パターンの品質を向上させる方法に関する。
【０００２】
【従来の技術】
テキストおよび画像は画素と呼ばれる小さな間隔のドットを用いて印刷されることがある。個々の画素は人間の目には見えにくく、隣接する画素どうしが一つになって連続的な切れ目のない記号あるいは画像に見える。かかる画素はファクシミリ機、ドット・マトリックス・プリンタ、およびその他の印刷あるいは表示装置によって印刷される。
【０００３】
画素の生成はアナログ的ではなくデジタル的であるため、ある程度の量子化誤差が発生する。これは、画素は通常黒か白であるためである。補色あるいはさまざまな濃さのグレーの画素を印刷することもでき、これらによって印刷されるパターンにも（程度は異なるが）黒と白の画素だけで印刷されたパターンと同様の量子化効果が発生する。したがって、画素を用いて印刷された斜線は通常この量子化誤差のためにスムーズな斜線ではなく、小刻みな階段のように見える。また、この問題は水平な線と垂直な線だけから成っていない記号あるいは線を印刷しようとする場合にも経験される。インチあたりの印刷ドット数（dpi）が増えると、この量子化誤差は目立ち難くなる。
【０００４】
ファクシミリ機におけるdpi印刷は画素データのファクシミリ機への伝送をより高速にするために意図的に比較的低く設定される。したがって、dpiが低いためにファクシミリ機によって印刷される画素が比較的大きくなることから、斜めの部分や丸みを持った画像は肉眼にはぎざぎざに見える。
【０００５】
これを改善する周知の技術としては、画素のブロック中のある画素パターンを検出し、補間された画素列を挿入してこの画素パターンのスムージングを行なうというものがある。かかるスムージングは、入って来る画素パターンによってアドレス指定され、出力がオリジナルのパターンを増大させるための１つあるいはそれ以上の補間された画素列を含むルックアップテーブルを設けることによって行なうことができる。このルックアップテーブルに格納されるパターンは、それら自体に欠陥がある場合があり、また生成も困難である。
【０００６】
画素パターンをスムージングする他の方法として、２つのオリジナルの画素列の平均値をこの２つのオリジナルの画素列の間に挿入する画素列の平均化がある。この技術には、画像の暗い領域と明かるい領域に対して不均一に作用して過度の歪みを発生させるといった問題がある。さらに、画素行の中に１ビットのティックすなわち段差があるとこれがスケーリングされてより目立ち易くなる。またさらに、水平方向のスケーリングはできず、その結果スムージング量が制限され、目に見えるぎざぎざのエッジが残ることになる。
【０００７】
画素パターンをスムージングする他の方法として、画素パターンに低域フィルタリングを行なう方法がある。この技術を用いると、漂遊ドットやティックが除去され、斜めあるいは湾曲した線の段差が平滑化されるが、かかる低域フィルタリングは細い白あるいは黒の線等のオリジナルの画像の細部までを排除する可能性がある。したがって、このような画像処理を行なうと、画像の暗い領域と明かるい領域の処理が不均一になって歪みが生じる。
【０００８】
上記の技術は通常、プリンタのdpiをオリジナルの画素パターンのdpiより大きく設定して印刷されるパターンの解像度を上げる画素のスケーリングと組み合わせて用いられる。したがって、たとえば、１つのオリジナルの画素のそれぞれに対して４つの画素からなるブロックが印刷される。この場合、それぞれの印刷画素の大きさはオリジナルの画素の約４分の１であり、印刷されるパターンの解像度は４倍になる。かかるスケーリングはオリジナルの画素パターンになんらかの修正がすでに行なわれているときにのみ利点がある。
【０００９】
そこで、画素から形成される伝送パターンにおける量子化誤差を修正する方法の改良が必要とされる。
【００１０】
【発明が解決しようとする課題】
本発明は、画素から形成される表示（印刷）パターンの品質を向上させるための方法を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本明細書では画素パターンのより忠実で良好な再現を提供するための改良された方法を必要とする。この方法では、まずオリジナルの画素パターンをビット写像されたメモリに入れる。入力タイルと呼ばれるこのビット写像されたパターンの小さなブロックは、この入力タイル内の修正すべき目標画素に対応する修正された画素パターン部分（出力タイル）を含むルックアップテーブルのアドレスとして働く。一実施例では、入力タイルは２つの隣接する目標画素とそれらに隣接する周囲画素からなり、これによって12の画素からなる入力タイルが形成される。これに対応する出力タイルがオリジナルの画素パターンよりも高いドット／インチ（dpi）で印刷されて修正されたより解像度の高いパターンが提供される。この処理はまた、ルックアップテーブル内で対応する出力タイルをアドレス指定する代わりに入力タイル内の目標画素に対する修正を実行するアルゴリズムを用いて行なうこともできる。上記の処理はオリジナルの画素のすべてに対して出力タイルが生成されるまで繰り返される。
【００１２】
出力タイルを生成するための新しい方法を説明する。この新しい方法では、入力タイルからその入力タイルをたとえばx方向およびｙ方向に16倍にスケーリングすることによって高解像度のビットマップが作成される。この高解像度のビットマップ中のそれぞれの突き出た角の三角部が切り取られ、それぞれのへこんだ角の三角部が埋め込まれる。これらの三角部の大きさは入力タイル中の１少数画素あたりの露出面に基づく関数を用いて決定される。画素の露出面は画素の側面のうちの１つにおける白−黒（あるいは黒／白）の変化である。少数画素は入力タイル内の最も数の少ない画素タイプ（たとえば黒の画素あるいは白の画素）である。露出面を入力タイル内の少数画素の数で割った商が、この入力タイル内の画素が上述の埋め込みと切り取りによって排除される可能性の平均値である。この商が大きいほど、この埋め込み・切り取りステップで行なわれるべきスムージングの量は小さいことになる。スムージングをこのように規制することによって画像中の所望の細部を残すことができる。スムージングを規制するために、画素が後続のスムージング処理中に排除される可能性を表わす他の適当な指数を用いることもできる。
【００１３】
次に、こうして得られた高解像度のビットマップに低域フィルタリングが行なわれる。前に計算された商によってここで実行される低域フィルタリングの量も規制される。この低域フィルタリングの量は従来の低域フィルタリング法で必要とされるものよりはるかに少ない。これは、この高解像度ビットマップはすでに前のステップで部分的にスムージングされているためである。
【００１４】
この高解像度ビットマップの、修正すべき２つのオリジナルの目標画素に対応する中央部分が次に多数の画素領域に分割される。それぞれの領域は印刷される１つの画素を表わす。一実施例において、このビットマップの中央部は６つの画素領域に分割される。最初に16倍にスケーリングされているため、それぞれの画素領域内には多数の画素がある。
【００１５】
ある画素を黒のドットとして印刷すべきか白のドットとして印刷すべきかを決定するしきい値数が設定される。このしきい値は画像を記録媒体に印刷する際に経験されるインクのにじみあるいはその他の印刷材料のにじみの量に基づいて調整することができる。
【００１６】
この方法ではまた通常の修正が行なわれない入力タイルからの例外を検出する。かかる例外は、漂遊ドットや画素線の切れ込みやティックとすることができる。次にこれらの例外が修正される。
【００１７】
画素パターンがテキストであるか画像（たとえば絵）であるかを検出する方法についても説明する。
【００１８】
【実施例】
図１は本発明の一実施例を示すブロック図である。本発明の構造の動作について、図１の回路を含むファクシミリ機で受け取られる画素データの処理を例にとって説明する。しかし、本発明はオリジナルの画素パターンの質を向上させ、それをより高い解像度で出力することが望まれる画素型表示を用いた任意の種類の表示装置に適用することができる。
【００１９】
図１において、生ファクシミリデータが、従来のモデムの入力ポートで受け取られ、適当に圧縮解除（復元）されて、この伝送されたデジタルコードを、受信ファクシミリ機によって印刷するための画素に変換する。この従来の回路をモデム／圧縮解除器10として示す。この処理された画素データは第１のビット写像されたメモリ12に一時的に格納される。従来のファクシミリ機では、ビット写像されたメモリ12内の画素はこのファクシミリ機によって印刷される。この画素画像には量子化誤差およびその他の望ましくない特性が含まれる。かかる特性を除去してビット写像されたメモリ12に格納された画素データの質を向上させるために、以下の回路が設けられる。
【００２０】
プロセッサ14を用いて、メモリ12内の画素データが規則に従って修正される。プロセッサ14はビット写像されたメモリ12からの入力タイルを受け取り、対応する出力タイルをビット写像されたメモリ20に出力する。一実施例において、プロセッサ14は画素データの入力タイルに対して、プログラムROM 16内の命令にしたがってアルゴリズムを実行してこの入力タイル内の目標画素を、改善された画素データを含む出力タイルに変換する。別の実施例ではプロセッサ14は入力タイル内の目標画素をルックアップテーブル18に予め格納された出力タイルに置き換えるようにハード配線されたASICとすることができる。また、マイクロプロセッサを用いてルックアップテーブル18内の出力タイルを検索することもできる。アルゴリズムとルックアップテーブル18の使用については後に詳細に説明する。
【００２１】
プロセッサ14がアルゴリズムを用いて画素データを修正するときの図１の回路の動作について図２と図3Aから図3Dを参照して説明する。（このアルゴリズムはまた、プロセッサ14を用いてルックアップテーブル18内の出力タイルを検索するような場合、ルックアップテーブル18内に格納される出力タイルを最初に作成するのに用いることもできる。）
【００２２】
ステップ１（図２）において、プロセッサ14はメモリ12内の画素データの小さなブロックをアドレス指定する。一実施例において、１つの出力タイルはメモリ12内の１つの列内の２つの隣接する画素とそれに隣接する周囲の画素からなる。12の画素あるいはビットから成るかかる入力タイル28の１つを図3Aに示す。同図において、２つの画素29、30がプロセッサ14によって改善すべき目標画素である。メモリ12に格納された画素データは水平方向にNドット／インチ（dpi）、垂直方向にM dpiのオリジナルの解像度を有する。
【００２３】
ステップ２において、プロセッサ14はこの入力タイル28が例外であるかどうかを判定する。例外は入力タイルが図２のフロー図のそれ以降の部分に説明するもの以外の特殊な処理を必要とする多数の特定のパターンのうちの１つに一致するときに発生する。かかる例外の１つとして、図５に示すような入力タイル中の単一の孤立したビットが現われる場合がある。このビットはノイズやオリジナルの文書が“汚れている”ために現われる漂遊ビットであると考えられる。このビットは改善されず単に対応する出力タイルから削除されるだけである（ステップ２’）。他の例外の例とかかる例外の処理に用いられる方法の例を後に説明する。
【００２４】
ステップ３において、高解像度のビットマップ31（図3B）が入力タイル28から作成される。一実施例において、この高解像度のビットマップ31は図3Bに示すように入力タイル28をXおよびYの両方向に16倍にスケーリングすることによって形成される。図3Bにおいて、入力タイル28をスケーリングすることによって作成される黒の画素の配列は実線の外形線32内に入っている。代替実施例において、入力タイル28をX方向にスケーリングする係数は入力タイル28をY方向にスケーリングするのに用いられる係数と異なる。
【００２５】
ステップ４において、プロセッサ14はビットマップ31が画像（たとえば絵）の一部であるかテキストの一部であるかを判定する。ビットマップ31が画像の一部であると判定された場合、スムージングステップ５―７をとばしてビットマップ31に対してステップ８が実行される。ビットマップ31が画像の一部であるかテキストの一部であるかを判定する方法については後に説明する。ビットマップ31がテキストの一部であると判定されると、以下の動作が実行されて印刷されるテキストの品質が改善される。
【００２６】
ステップ５において、以下の計算を行なってステップ６で行なわれる初期スムージングの程度が決定される。
Q =（入力タイル内の露出された少数画素面）／（入力タイル内の少数画素の数）  ・・・・・  式１
ここで、Qの値が大きいほどステップ６および７で実行されるスムージングの量が小さくなる。式１の露出された画素面とは、白から黒、あるいは黒から白への変化に面する少数画素の面の数（１画素当たり最大４）である。入力タイルの境界は変化には数えられない。少数画素とは入力タイル内の最も数の少ない画素の種類（黒あるいは白）である。したがって、値Qは入力タイル内の少数画素あたりの露出面の平均数である。
【００２７】
この値Qは画素がステップ６の初期スムージングで除去される可能性の平均値である。したがって、少数画素の数が少なく、その露出面が多い場合には、ステップ６における初期スムージングに修正係数（すなわちQ値）を適用しなければこれらはこの初期スムージングで除去される可能性が高い。
【００２８】
スムージングの量を規制することは細部を保存する上で有効であるだけでなく、上述したテキスト／画像分離ステップ４が失敗した場合の損害を小さくする効果がある。入力タイルを誤ってテキストとみなされた場合（実際には画像の一部である）場合、その入力タイル内の画素が拡散してQ値が高くなり、スムージング量が小さくなる。すると、画像には大きな変化は発生しない。
【００２９】
このQ値はまたステップ６終了後に高解像度ビットマップに低域デジタルフィルタリング（ステップ７）を実行するのに使用されるテンプレートの大きさの決定にも用いられる。
【００３０】
式１以外の式を用いて他の適当なQ値を計算することもできる。たとえば、他の適当なQ値を次のように計算することもできる。すなわち、入力タイル内の目標画素29あるいは30（図3A）に対応する最も露出度の高い中間画素の露出された角の数を計算する。画素の“露出”とは、その画素が有する露出された角の数である。画素の１つの角に隣り合う３つの画素がすべて反対の色すなわち種類である場合に“露出している”とされる。たとえば、下に示す画素配列においてB画素を黒、W画素を白とする。
【００３１】
【表１】
0003765847.tif 000002
【００３２】
上のB0の画素は１つの露出された角（すなわちその右上の角）を有する。B１の画素は２つの露出された角を有する。最も露出度の高い画素の露出された角がQ値として格納される。この“露出”は０から４までの値である。この数が大きいほどその画素は後のスムージングステップで除去される可能性が高い。この露出数を式１に示すQ値の代わりに用いることができる。特殊な場合には、上のように計算された最も露出度の高い画素の露出が１であり、その画素の上下両面あるいは左右両面が露出されている場合、露出数は２に増える。たとえば、
【００３３】
【表２】
0003765847.tif 000003
【００３４】
の画素配列において、上の画素B0の実際の露出は１であるが、B0の上下両方が露出されているため、露出数は２に増える。これは画素B0はその露出された角が１つであるという点から考えられるより実際には除去される可能性が高いことを意味する。この技術は中央の２つの画素の方に大きく重み付けされているが、式１で計算されるQの値は入力タイル全体の除去可能性の平均値である。したがって、この技術は目標画素29、30が過度にスムージングされる可能性が少ないという意味で式１のQの値を用いる技術より保守的なものである。
【００３５】
Qの値を求める他の適当な式を用いることもでき、Qの値は画素が後続のスムージングステップ６および７で除去される可能性を示す。
【００３６】
ステップ６において、高解像度ビットマップ31の、画素が白から黒あるいは黒から白へ変化する90゜の角の初期スムージングは90゜の突き出た角のある大きさの三角形の角34（図3C）を切り取るか、あるいは90゜のへこんだ角にある大きさの三角形35を埋め込むことによって実行される。これらの三角形の大きさは先に判定されたQ値に対応し、Qの値が高いほど上述した切り取りおよび埋め込みステップで用いられる三角形は小さくなる（すなわちスムージング量は小さくなる）。かかる切り取りおよび埋め込みのステップを図3Cに示す。図3Cにおいて、ステップ６で削除または追加される画素は破線内に示されている。
【００３７】
下の表１は計算上のQ値とステップ６で切り取りまたは埋め込みを行なうべき三角形の最大の三角形のサイズに対するパーセンテージの相関関係の一例を示す。
【００３８】
【表３】
0003765847.tif 000004
【００３９】
図3Aから図3Cの例では、合計で４つの露出面を有する入力タイル28内に４つの少数画素があり、したがって式１を用いるとQ値は１になる。Qの値がこのようにかなり低い場合、たとえば突き出た角からその等しい２辺に12の画素を有する直角三角形部分を切り取り、その等しい２辺に12の画素を有する直角三角形を有するへこんだ角を埋めることによって、三角形の切り取りと埋め込みを用いた大きな量の初期の事前スムージングが実行される。ステップ６で使用される最大三角形サイズは実験的に決定でき、画素パターンのオリジナルのdpiと望まれる初期スムージングの程度によって決まる。
【００４０】
ステップ７において、こうして得られた事前スムージングを受けた高解像度ビットマップ31に対して低域フィルターとして機能する比較的小さい畳み込みテンプレートを用いた従来のデジタル畳み込みが行なわれる。このフィルターは小さな粗いエッジをスムージングするが、大きな形状についてはほとんど変えることができない。大きな90゜という角度でステップ６の事前スムージングを実行することによって、ステップ７のデジタルフィルターは従来技術のフィルターを用いたより高い領域の畳み込みを用いて細い黒線や細い白のギャップを保存することができる。したがって、ステップ６および７において、スムージングは実行されるが、細部が消されることはない。Q値が大きいほど、デジタルフィルタリングに用いられるテンプレートはより小さくなる。最適なテンプレートサイズは経験的に決定することができる。ファクシミリ機がファインモードで動作しているときあるいは標準モードに対してオーバル（高さ＝２×幅）で動作している場合、かかるテンプレートは円形とすることができる。
【００４１】
従来のデジタルフィルタリングによるスムージングを受けた高解像度のビットマップ31を図3Dに黒い画素による外形線で示す。
【００４２】
ステップ８において、入力タイル28内の２つの目標画素29、30（図3A）に対応する高解像度ビットマップ31の中央部分はこれら２つのオリジナルの目標画素29、30に対して置き換えようとするだけの数の画素領域38−43（図3D）に分割される。たとえば、２つのオリジナルの目標画素29、30を６つの印刷画素に変換することによって高解像度の画像を印刷したい場合、２つの目標画素29、30に対応する高解像度ビットマップ31の領域は６つの等しい大きさの画素領域38−43に分割される。画素領域38−43は必要であれば多少重複していてもよい。一実施例では、印刷時の水平方向の倍率は1.5（１列当たり３つの出力画素に対応する）であり、垂直方向には２（２列の出力画素に対応する）である。かかる分割を図3Dに示す。別の実施例では、垂直方向の倍率は３であり、したがって水平・垂直の両方向のdpiは同じ（たとえば300 dpi）である。
【００４３】
ステップ９において、１つの画素領域38−43内の黒の画素の数が判定され、この数がしきい値数より大きい場合、領域38−43に対応する印刷すべき画素は黒の画素である。黒の画素の数がこのしきい値より小さい場合、その画素領域に対しては白の画素が印刷される。（このしきい値数は画素領域内の白の画素の数に基づいて設定することもできる。）このしきい値数は画素を媒体に印刷したりその他の表示を行なう際のインクのにじみやその他の印刷材料のにじみを考慮して調整することができる。このしきい値数を適切に設定することによって、全体的な画像の明かるさあるいは暗さを忠実に再現することができる。このしきい値数は使用される印刷材料の種類、使用される記録媒体、使用される印刷法に照らして経験的な方法に基づいて設定することができる。図3Dの例において、このしきい値数は１つの画素領域38−43内の画素の総数の半分に設定されており、その結果それぞれの画素領域38−43について印刷すべき黒あるいは白の画素の判定はBあるいはWによって示すようなものになる。
【００４４】
ステップ10および11において、画素領域38−43あたり１つの画素からなる出力タイル46（図3D）がプロセッサ14から出力され、その後の媒体上の表示（たとえば印刷）のために第２のビット写像されたメモリ20（図１）に格納される。（生成された出力タイルは後で対応する入力タイルによって検索できるようにルックアップテーブル18に格納することもできる。）出力タイルは２つの目標画素29、30ごとに６つの画素を含むため、ビット写像されたメモリ20はビット写像されたメモリ12の３倍の大きさである。
【００４５】
上記の処理がビット写像されたメモリ12内のすべての入力タイルあるいは多数の入力タイルに対して実行されてビット写像されたメモリ20に格納される多数の出力タイル46が生成される。ビット写像されたメモリ20に格納される出力タイル46内の画素がステップ11で順次アドレス指定され、オリジナルの水平方向dpi Nと垂直方向dpi Mより高い水平方向dpi Uと垂直方向dpi Vで印刷される（あるいは他の態様で表示される）。図3Aから図3Dの実施例では、６つの画素がメモリ12に格納されたオリジナルの画素パターンの２つの画素のスペースに印刷されるが、他の任意のサイズの出力タイル（たとえば３×３の配列）を生成、格納および表示することもできる。従来のアドレス指定および印刷ヘッドドライバ回路22（図１）を用いてメモリ20から画素を出力することができる。印刷ヘッドドライバ22は従来の印刷ヘッド24を制御して対応する画素を記録あるいは表示媒体に印刷する、あるいは他の態様で表示する。
【００４６】
１つの出力タイルには最終的な印刷画素パターンに望まれる解像度に応じて任意の数の画素を含めることができる。さらに、ステップ６および７では任意のレベルのスムージングを行なうことができ、この最適なスムージングはユーザーが最良と考えるレベルに経験的に決定することができる。
【００４７】
図２に示す方法では、それぞれの入力タイル28をプログラムROM 16に格納されたアルゴリズムを用いて出力タイル46に変換するためのアルゴリズムがそれぞれの入力タイル28に実行された。
【００４８】
より計算量の少ない処理を図４を参照して説明する。この処理ではルックアップテーブル18（図１）を用いる。本実施例では、プロセッサ14はハード配線されたASICあるいはマイクロプロセッサからなる。この処理では、ルックアップテーブル18は入力タイルの12の画素からなるそれぞれの組み合わせに対する出力タイル、すなわち合計で4096の出力タイルを含む。これらの出力タイルはまず図２を参照して上述した手順を用いてすべての可能な入力タイルに対して作成される。入力タイルはルックアップテーブル18から対応する出力タイルを選択するための索引のはたらきをし、この検索された出力タイルがビット写像されたメモリ20に出力される。
【００４９】
図４に示す処理では、ステップ１は図２のステップ１に対応する。ステップ２において、ルックアップテーブル18内の１つの出力タイルがアドレス指定されるか、あるいはこのアドレスを索引として用いて検索される。たとえば、図3Aの入力タイル28は図3Dの出力タイル46をアドレス指定する。ステップ３において、この出力タイルがビット写像されたメモリ20に転送される。そして、ステップ４において、ビット写像されたメモリ20内の画素がオリジナルの水平方向dpi Nと垂直方向dpi Mより高い水平方向dpi Uと垂直方向dpi Vで印刷される。
【００５０】
ルックアップテーブル18に格納された出力タイルは改善したいそれぞれの入力タイルについて図２および図3Aから図3Dに示す処理を用いて得られる。
【００５１】
上述した入力タイルの例外には漂遊ドット例外やティックあるいは切れ込み例外が含まれる。入力タイル52に孤立した黒あるいは白の画素が含まれる漂遊ドット例外を図５に示す。単一の画素から形成される文字はないため、この孤立した画素は雑音あるいはオリジナルの汚れによって発生したものと考えられる。したがって、この種の入力タイルが検出されると、この孤立した画素が削除され、修正された出力タイル54がプロセッサ14によって出力される。図５には、中央の２つの目標画素が３×３の画素配列に変換される模様を示すが、他の出力タイル配列を用いることもできる。かかる出力タイル54をルックアップテーブル18に格納することができる。あるいは、入力タイル52が図２に示すようなアルゴリズムを用いて処理される場合、出力タイル54は例外アルゴリズムを含む分岐ルーチンにしたがって生成される。
【００５２】
図６には別の入力タイル56の例外を示す。これは画素列に当接するティック（画素57）である。かかるティックは通常オリジナルの文書の１つの線の太さがしきい値量子化レベルに非常に近く、そのしきい値レベルを時折越える場合に発生する。したがって、ティックは雑音やオリジナルの汚れの結果ではなく、オリジナルの画像の情報を提供するものである。この例では、ティックは対応する出力タイル58内で完全な線の３分の１の太さの細い水平方向の線に縮小される。これは出力タイルが３×３の画素配列からなることを前提としている。したがって、ティックを含む印刷された線の太さは画像全体が印刷されたとき多少大きくなる。
【００５３】
図７は画素の線内に切れ込み（画素61）を含む入力タイル60を示す。この例では切れ込みを有する線は完全な線より少し細いものと考えられるため、出力タイル62ではこの切れ込みを有する線を完全な線の太さの３分の２の線にスケーリングする。これは出力タイルは３×３の画素配列を有することを前提としている。ティックや切れ込みに対する修正は垂直方向の線にもあてはまる。
【００５４】
図５から図７において、印刷画像の垂直方向のスケーリングは3.0であり、垂直方向のスケーリングは1.5である。したがって、２つの水平方向に隣接するオリジナルの目標画素のそれぞれについて３行３列の画素が出力される。
【００５５】
図１および図４のステップ２でオリジナルのファクシミリ画像が絵（あるいは他のテキストでない画像）であると判定された場合、形状や角度が意図されたものであるか量子化誤差の結果であるかがわからないため、この画像を修正することが望ましくない場合がある。したがって、入力タイルが画像の一部であると判定された場合、修正を行なうべきではなく、入力タイル内の目標画素は図２に示すようにより高い水平解像度Uと垂直解像度Vの出力タイルを提供するようにスケーリングされねばならない。
【００５６】
図８は画素データがテキストを形成するのか画像（たとえば絵）を形成するのかを判定する１つの方法のフロー図である。本実施例では、ステップ１で受け取った入力タイルが画像の一部であるという判定は、以下の条件の１つあるいは両方が満たされたときに下だされる。第１の条件は、入力タイル内の露出された画素面（すなわち、黒と白の変化）の数があるしきい値より大きいかどうかである。大きければ、この入力タイル内の少数画素は分散しており画像（たとえばハーフトーン画像）の一部であることは明らかである。これをステップ２、３および４に示す。第２の条件は、最も長い黒の水平方向の連なりが入力タイルのすべての列において１画素であるか、あるいは最も長い白の画素の連なりがそれらの列のすべてにおいて１画素であるか（ステップ５）である。この第２の条件は絵には用いられるがテキストには用いられない非常に細い線あるいはギャップの形成と一致する。上記の条件が満たされたとき、図２のスムージングステップ５−７はスキップされ、画像データは図２に示す残りのステップにしたがって処理されねばならない。改善された出力ファイルを出力するためのルックアップテーブル18が用いられる場合、画像データはルックアップテーブル18をとばしてプリンタのdpiに一致するように適宜スケーリングされる。
【００５７】
上記の条件が満たされない場合、その入力タイルに対する修正された出力タイルを生成するための図２あるいは図４の処理が実行される（図８のステップ６）。図１のプロセッサ14は入力タイルパターンが上記の条件の１つあるいは両方を満たすかどうかを判定するのに必要な回路を有する。適当な回路の一形態としては、入力タイルパターンを上記の２つの条件を満たす多数の記憶されたパターンと比較する比較器回路がある。当業者には、かかる回路を製作したり、かかる判定を行なうためのアルゴリズムを開発することは容易であろう。
【００５８】
通常、ファクシミリ機は標準モード（98×203 dpi）かファインモード（196×203 dpi）のいずれかに設定することができる。標準モードでは、水平および垂直の両方向に300 dpiで印刷したい場合、垂直方向のスケーリングは3.0、水平方向のスケーリングは1.5でなければならない。その結果得られるそれぞれが９つの画素を有する３列の出力タイルはルックアップテーブル18において8192バイトを必要とする。2.0の垂直方向スケーリングについては、それぞれが６ビットを有する２列の出力タイルが用いられ、これはルックアップテーブル18内において4096バイトを必要とする。300 dpiのファインモードでは、垂直方向スケーリングは1.5であり、したがって１列あるいは２列の出力タイルだけが必要であり、それぞれの出力タイルのセットについてルックアップテーブル18内の4096バイトだけを使用する。1.5の垂直方向スケーリングを行なうためには、奇数番目の画素列は垂直方向に1.0でスケーリングされ、偶数番目の画素列は垂直方向に2.0でスケーリングされる。上述した４つのスケーリング表では、従来のファクシミリ機で標準モードとファインモードの両方を実施するのに20 Kバイトしか消費しない。
【００５９】
図１の回路と図２から図４を参照して説明したアルゴリズムは、当業者には本明細書を参照して従来の回路とプログラミング技術だけを用いて実施することができる。
【００６０】
上記の方法を用いて生成された画素は最終的には紙や表示画面といった任意の媒体上に表示することができる。
【００６１】
以上、本発明の実施例を図示および説明したが、当業者には本発明の範囲から離れることなくさまざまな変更を加えうることは明らかであろう。
【００６２】
以上、本発明の実施例について詳述したが、以下、本発明の各実施例毎に列挙する。
（実施例１）
オリジナルの画素パターンの品質を向上させる方法であって、
画素パターンを有する画素ブロック（28）を提供するステップであって、前記の画素ブロックはｘ行ｙ列の画素からなり、前記の画素ブロックは１つあるいはそれ以上の目標画素（29/30）とそれらに隣接する周囲画素からなるステップ、
前記の画素ブロックを垂直方向および水平方向にスケーリングしてｘ・ｚ行ｙ・ｑ列の高解像度のビットマップ（31）を形成するステップ、
前記のブロック内の画素が前記の高解像度ビットマップ内の前記の画素のパターンの後続のスムージングで除去される可能性を表わすQ値を計算するステップ、
前記のQ値にしたがって前記の高解像度ビットマップ内の前記の画素パターンをスムージングするステップであって、Q値が高いほど前記の高解像度ビットマップに実行されるスムージングの量が少なくなるステップ、および
前記のスムージングステップ後の前記の高解像度ビットマップに基づいて、前記の画素ブロック内の前記の１つあるいはそれ以上の 目標画素にやいお得する出力画素を生成するステップからなる方法。
（実施例２）
実施例１に記載の方法であって、さらに
前記の高解像度ビットマップの中間部をそれぞれが生成すべき出力画素に対応する複数の画素領域（38−43）に分割するステップ、
前記の画素領域のそれぞれにおける第１の種類の画素の数を計算するステップ、
前記の画素領域のそれぞれにおける前記の第１の種類の画素の前記の数をしきい値数と比較するステップ、および
前記の第１の種類の画素の前記の数と前記のしきい値数の前記の比較に基づいて画素領域あたり１画素を出力する方法。
前記の出力画素パターン（46/54/58/62）は前記の画素ブロック（28）内の前記の１つあるいはそれ以上の目標画素（29/30）以上の画素を含む実施例１に記載の方法。
（実施例３）
実施例１に記載の方法であって、前記のスムージングステップが、
前記の高解像度ビットマップ（31）内の前記の画素パターンに対して、前記のパターンが第１の種類の画素から第２の種類の画素に替わることによって形成される90゜の突き出たかど（34）とへこんだかど（35）を、前記の突き出たかどとへこんだかどにおける画素を前記の第１の種類から第２の種類に変換し、また第２の種類から第１の種類に変換することによって除去することによって初期スムージングを行なうステップであって、前記の第１の種類から前記の第２の種類に、また前記の第２の種類から前記の第１の種類に変換される前記の画素の数は前記のQ値によって決まり、Q値が高いほど初期スムージングの量が少なくなるステップ、および
前記のビットマップを低域フィルターを用いてフィルタリングすることによって前記の高解像度ビットマップ内の前記のパターンの最終スムージングを行なうステップであって、低域フィルタリングの程度は前記のQ値によって決まり、Q値が高いほど最終スムージングの量が少なくなるステップからなる方法。
（実施例４）
実施例１に記載の方法であって、前記のスムージングステップが、
前記の高解像度ビットマップ（31）内の前記の画素パターンに対して、前記のパターンが第１の種類の画素から第２の種類の画素に替わることによって形成される90゜の突き出たかど（34）とへこんだかど（35）を、前記の突き出たかどとへこんだかどにおける画素を前記の第１の種類から第２の種類に変換し、また第２の種類から第１の種類に変換することによって除去することによってスムージングを行なうステップであって、前記の第１の種類から前記の第２の種類に、また前記の第２の種類から前記の第１の種類に変換される前記の画素の数は前記のQ値によって決まり、Q値が高いほどスムージングの量が少なくなるステップからなる方法。
（実施例５）
実施例１に記載の方法であって、ファクシミリ機が水平方向のオリジナルドット／インチdpi Ｎと垂直方向のオリジナルdpi Mの前記の画素ブロックを受け取り、前記のファクシミリ機は前記の出力画素を前記の水平方向にNより大きいかそれに等しいUのdpiで印刷し、前記の垂直方向にMより大きいかそれに等しいVのdpiで印刷する方法。
（実施例６）
実施例１に記載の方法であって、前記の１つあるいはそれ以上の目標画素（29/30）は２つの目標画素からなり、前記の隣接画素は前記の目標画素を取り囲む10の画素からなる方法。
（実施例７）
実施例１に記載の方法であって、さらに、前記の出力画素を前記の画素ブロック（28）を索引として検索されるようにルックアップテーブル（18）に格納するステップを含む方法。
（実施例８）
実施例７に記載の方法であって、さらに前記の画素ブロック（28）内の複数の可能な画素パターンに対する前記の出力画素を生成し、前記の出力画素を前記のルックアップテーブル（18）に格納するステップを含む方法。
（実施例９）
実施例１に記載の方法であって、さらに前記の出力画素を前記の画素ブロック（28）内の前記の画素の解像度より高い解像度で媒体上に表示する含む方法。
（実施例１０）
実施例１に記載の方法であって、前記のQ値を計算するステップが、
Q =（前記の画素ブロック内の露出した少数画素面）／（前記の画素ブロック内の少数画素）
によってQ値を計算するステップからなり、前記の露出した少数画素面は異なる種類の隣接する画素に面する前記のブロック（28）内の少数画素の面の数であり、少数画素は前記のブロック内の最も数の少ない種類の画素である方法。
（実施例１１）
実施例１に記載の方法であって、前記のQ値を計算するステップが、前記の画素ブロック（28）内の最も露出度の高い目標画素（29/30）の露出したかどの数を計算するステップからなり、前記の最も露出度の高い目標画素は少なくとも前記の画素ブロック内の他の任意の目標画素と同じ数の露出したかどを有し、目標画素の露出したかどは、前記のかどに隣接する３つの画素のすべてが前記の目標画素の種類と異なる種類の画素であるとき存在する方法。
（実施例１２）
実施例11に記載の方法であって、さらに、前記の最も露出度の高い目標画素（29/30）の露出したかどの前記の数が１であり、１）前記の目標画素の上下両辺が露出しているか、あるいは２）前記の目標画素の左右両辺が露出している場合前記のQ値を約２倍するステップを有する方法。
（実施例１３）
実施例１に記載の方法であって、前記の画素ブロック（28）がビット写像されたメモリ（12）に格納されたより大きな画素パターンから得られる方法。
（実施例１４）
オリジナルの画素パターンの品質を向上させる方法であって、
画素パターンを有する画素ブロック（28）を提供するステップであって、前記の画素ブロックはｘ行ｙ列の画素からなり、前記の画素ブロックは１つあるいはそれ以上の目標画素（29/30）とそれらに隣接する周囲画素からなるステップ、
前記の画素ブロックを垂直方向および水平方向にスケーリングしてｘ・ｚ行ｙ・ｑ列の高解像度のビットマップ（31）を形成するステップ、
前記の高解像度ビットマップ（31）内の前記の画素パターンに対して、前記のパターンが第１の種類の画素から第２の種類の画素に替わることによって形成される90゜の突き出たかど（34）とへこんだかど（35）を、前記の突き出たかどとへこんだかどにおける画素を前記の第１の種類から第２の種類に変換し、また第２の種類から第１の種類に変換することによって除去することによって初期スムージングを行なうステップ、
前記のビットマップを低域フィルターを用いてフィルタリングすることによって前記の高解像度ビットマップ内の前記のパターンの最終スムージングを行なうステップ、および
前記の最終スムージングを行なうステップの後の前記の高解像度ビットマップに基づいて、前記の画素ブロック内の前記の１つあるいはそれ以上の目標画素に対応する出力画素を生成するステップからなる方法。
（実施例１５）
実施例14に記載の方法であって、さらに
前記の高解像度ビットマップ（31）の中間部をそれぞれが媒体上に表示すべき出力画素に対応する複数の画素領域（38−43）に分割するステップ、
前記の画素領域のそれぞれにおける第１の種類の画素の数を計算するステップ、
前記の画素領域のそれぞれにおける前記の第１の種類の画素の前記の数をしきい値数と比較するステップ、および
前記の第１の種類の画素の前記の数と前記のしきい値数の前記の比較に基づいて画素領域あたり１画素を出力するステップからなる方法。
（実施例１６）
実施例14に記載の方法であって、さらに
前記のブロック（28）内の画素が前記の高解像度ビットマップ（31）内の前記の画素の前記のパターンの前記の初期スムージングによって除去される可能性を表わすQ値を計算するステップ、および
前記のQ値に基づいて前記の初期スムージングの程度を制御するステップであって、Q値が大きいほど前記の高解像度ビットマップに実行されるスムージングの量が少なくなるステップを含むに表示する含む方法。
（実施例１７）
実施例15に記載の方法であって、さらに前記の出力画素を前記の画素ブロック（28）内の前記の画素の解像度より高い解像度で媒体上に表示する含む方法。
（実施例１８）
実施例14に記載の方法であって、前記の画素ブロックがビット写像されたメモリ（12）に格納されたより大きい画素パターンから得られる方法。
（実施例１９）
実施例14に記載の方法であって、前記の１つあるいはそれ以上の目標画素（29/30）は２つの目標画素からなり、前記の隣接画素は前記の目標画素を取り囲む10の画素からなる方法。
（実施例２０）
実施例14に記載の方法であって、さらに、前記の出力画素を前記の画素ブロック（28）を索引として検索されるようにルックアップテーブル（18）に格納するステップを含む方法。
【００６３】
【発明の効果】
以上説明したように、本発明を用いることにより、画素から形成される表示（印刷）パターンの品質を向上させることができる。
【図面の簡単な説明】
【図１】本発明の方法の実行に用いられる回路のブロック図である。
【図２】出力タイルを作成する方法における各ステップを示すフロー図である。
【図３Ａ】修正された画素パターンを有する出力タイルを生成するための入力タイルの処理を示す図である。
【図３Ｂ】修正された画素パターンを有する出力タイルを生成するための入力タイルの処理を示す図である。
【図３Ｃ】修正された画素パターンを有する出力タイルを生成するための入力タイルの処理を示す図である。
【図３Ｄ】修正された画素パターンを有する出力タイルを生成するための入力タイルの処理を示す図である。
【図４】ルックアップテーブルからの出力タイルの取り出しに用いられるステップを示すフロー図である。
【図５】入力タイル中の漂遊ドットを除去するためにかかるドットに行なわれる修正を示す図である。
【図６】画素パターンがティックを含むときの除外を示し、ティックは除去されているが出力される画素パターンに反映されている場合を示す図である。
【図７】画素パターンが切れ込みを含むときの除外を示し、切れ込みは除去されているが、出力画素パターンに反映されている場合を示す図である。
【図８】入力タイルが画像の一部であるかテキストの一部であるかを判定するのに用いられるステップを示すフロー図である。
【符号の説明】
10：モデム／圧縮解除器
12：メモリ
14：プロセッサ
16：プログラムROM
18：ルックアップテーブル
20：メモリ
22：アドレス指定および印刷ヘッドドライバ回路
24：印刷ヘッド
28：入力タイル
29、30：目標画素
31：高解像度のビットマップ
32：外形線
46：出力タイル
52：入力タイル
54：出力タイル
56：入力タイル
57：画素
58：出力タイル
60：入力タイル
61：画素
62：出力タイル
【図１】
0003765847.tif 000005
【図２】
0003765847.tif 000006
【図３Ａ】
0003765847.tif 000007
【図３Ｂ】
0003765847.tif 000008
【図３Ｃ】
0003765847.tif 000009
【図３Ｄ】
0003765847.tif 000010
【図４】
0003765847.tif 000011
【図５】
0003765847.tif 000012
【図６】
0003765847.tif 000013
【図７】
0003765847.tif 000014
【図８】
0003765847.tif 000015