(57)【特許請求の範囲】
【請求項１】
形成したイメージにおいて、元のイメージの一定のグレー値の場所に、パターンつまり特異な点を生成しにくい、所定の斜め方向相関関係ディザ・マトリクスとの点毎のしきい値比較を利用することによって、グレースケール・イメージを、ハーフトーン処理する方法であって、
所定のサイズを有する画素位置のゼロ・マトリクスを準備するステップと、
最小のトーンレベルに対応する所定の初期状態へゼロ・マトリクスを初期化するステップと、
マトリクス内のオフ画素の全てを候補画素として識別するステップと、
出力イメージにおいて、相対的に低いトーンレベルではドットの拡散を最大としながら、相対的に高いトーンレベルでは隣接するドットの斜め方向相関関係を強制し、それによって、視覚的に目立たない出力ドット・パターンを生成するコスト関数にしたがって、各候補画素に対して、コスト値を決定するステップであって、コスト関数は、マトリクス内のオン画素と候補画素との間のそれぞれの半径距離および相対角度の関数であり、
サイズがトーンレベルにしたがって定まる、候補画素の周囲の検索域を選択するステップと、
検索域内の各々のオン画素に基いて、コスト関数にしたがって個別のコスト値を決定するステップと、
合計コスト値を決定するように個別のコスト値を合算するステップと、を含むコスト値を決定するステップと、
最小のコスト値を決定するように、候補画素のそれぞれのコスト値を比較するステップと、
最小のコスト値を有する、候補画素の内の一つを選択するステップと、
マトリクスにおいて選択された候補画素をオンにするステップと、
前記識別するステップ、前記決定するステップ、前記比較するステップ、前記選択するステップ、前記オンにするステップを、マトリクスのオン画素の数が所望のトーンレベルに対応するまで繰り返すステップと、を含むプロセスによって各々の望ましいトーンレベルに対して、当該ディザ・マトリクスを生成する方法。
【請求項２】
コスト関数は、マトリクス内のオン画素と候補画素との間の調整された半径距離の関数であり、調整された半径距離は、相対角度が約４５度に等しい場所でピークを有し、それによって、オン画素に対して垂直方向または水平方向に隣接する候補画素よりも、オン画素に対して斜め方向に隣接する候補画素を優先する請求項１に記載の方法。
【請求項３】
調整された半径距離は、候補画素とオン画素との間の半径距離が小さいときは相対角度に顕著に影響を受けるが、候補画素とオン画素との間の半径距離が大きくなるにつれて相対角度の影響が小さくなるように定められた請求項２に記載の方法。
【請求項４】
前記コスト値が候補画素とオンのドットの間の実際の半径距離に強く影響されるように、コスト関数は、調節された半径距離を３以上の指数でべき乗することを含み、それによって、ドットの凝集が、凝集したドットの中で候補画素に最も近いドットの課するコストに略等しい影響をコスト値に与えるようにする請求項２に記載の方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般的にデジタル・ハーフトーニングに関し、さらに詳細には、２値出力アレイにおいて斜め方向の相関関係の量の制御を強制する新規のディザ・マトリクスつまり「マスク」に対する点毎のハーフトーニング操作を利用したグレイ・スケール・イメージの形成の方法に関する。拡散ドットを並べるディザ技術に用いる、頻度(frequency)に関係して斜め方向に相関させたディザ・マトリクス、またの名をしきい値アレイ、を生成する方法が開示されている。
【０００２】
【従来の技術】
デジタル・イメージ・データは、様々のグレーレベルの量を有しその多くが異なる解像度と縦横比を有するコンピュータの表示用端末、たとえばレーザ・プリンタ、ドット・マトリクス・プリンタ、インクジェット・プリンタ等がイメージ・データの表示するイメージをすべて同様の方法で形成するように、変換し、または前処理しなければならない。そういったそれぞれの出力装置と組み合わせた、または適合させたプリプロセッサが、デジタル・データを変換してその特定の装置の特性に合うように調整した形にする。
【０００３】
デジタル・ハーフトーニングは、そういったプリプロセッサの主要な成分である。デジタル・ハーフトーニングとは、インクジェット・プリンタの場合のインク滴のような２値画素をうまく配列することによって、イメージのトーンが連続しているかのような錯覚を起こすすべての処理をさすものである。デジタル・ハーフトーニングは、空間的ディザリングと言われることもある。
【０００４】
デジタル・ハーフトーニング技術としては、様々なものが知られているが、それらは一般的に、作り出し、拡散し、あるいは集合するドットのタイプによって、ふたつの大きな区分のうちのどちらかに入る。表示装置が、孤立した黒または白の画素をうまく受け入れることができる場合は、拡散ドット・ハーフトーニング(dispersed-dot halftoning)を選択するほうがはるかによい。拡散ドット・ハーフトーニングでは、解像度を最大限利用することができる。集合ドット・ハーフトーンでは、印刷に用いる写真製版処理を模倣して、小さいドットが様々なサイズのドットを形成する。
【０００５】
また、計算の複雑性をどこまで受け入れられるかによっても、選択が行われる。画像処理において、「点操作(point operation)」とは、与えられた位置に対して、近隣の画素には関係なく、その位置にあるひとつの入力画素のみに基づいて出力を行うすべてのアルゴリズムをさす。このように、点操作におけるハーフトーニングは、ひとつの点に関して入力イメージを所定のしきい値アレイつまりマスクと比較することによってなされる。入力イメージにおけるすべての点つまり画素に対し、グレースケール・イメージとマスクのどちらの点の値が大きいかによって、それぞれ１または０が、２値出力イメージの対応する位置に置かれる。種々のマスクを使用した一般的な点ハーフトーニングの処理手順が知られている。こういった処理手順の詳細については、Parker他の米国特許番号第５，１１１，３１０号に開示されている。計算時間および／またはハードウェアを最小限にすることが重んじられるようなアプリケーションに対しては、点操作が好ましい。近隣操作(neighborhood operations)、またの名をエラー拡散、では、計算をより集約的に用いるが、一般により高品質の結果が得られる。
【０００６】
拡散ドットを並べるディザ（点操作）は、ディザ・マトリクスつまりしきい値アレイ、またの名をマスク、を用いて実装される。以下、このようなものをディザ・マトリクスと呼称する。ある特定の均質のディザ・マトリクスを用いたハーフトーニングは、「Bayerのディザ」として知られている。Bayerのディザによれば、再帰的な市松模様等の方法が用いられて、最適に均質なものが並んだディザ・マトリクスが生成される。これらの技術によれば、ディザ・マトリクスを生成する目的は、それぞれの連続する位置つまり点に番号がつけられている（オンにされている）ので、「オン」の点の全体の二次元の集合ができるだけ均質に配列されるようにサンプルを並べることである。このタイプのマトリクスをしきい値アレイとして用いるときには、対応する出力２値ドットは模倣するそれぞれのグレーレベルに対してできるだけ均質に拡散される。
【０００７】
【発明が解決しようとする課題】
Bayerのディザのような既知の順序付けされたディザ技術では、形成したイメージの、もとのイメージで一定の（またはほとんど一定の）グレー値の場所にパターンつまり特異な点を生成することがある。こういったパターンはひどく目立ちはせず、またどんな場合にも主観的判断の要素が含まれているのではあるが、改良したディザ・マトリクスを用いてハーフトーン・システムの出力イメージの質を改良する必要性は、依然として残っている。
【０００８】
【課題を解決するための手段】
本発明にしたがってディザ・マトリクスを作り出すために、最小グレースケールつまりトーンレベルＴが最初の出発点として選択される。これは、本システムで区別できる最小の、ゼロでないグレーレベルである。言い換えれば、これは、グレースケールの最小増分つまり解像度である。所望のサイズを有するディザ・マトリクスは、最小トーンレベルＴ＝１に初期化される。市松模様にオンのドットを配列することは、均質で生成しやすいという点から、出発点として好ましい。次のトーン値Ｔ＝２を生成するために、「候補画素」と呼ばれるマトリクス内のすべてのオフのドットの位置が検査され、対応するエラー項つまり「コスト関数」が決定される。エラーが最も少ない、つまりコスト関数が最小の候補画素が選択され、マトリクス内の対応する位置が現在のトーンレベルにおいてオンにされる。この処理が引き続き行われて、所望のトーンレベルが達成されるまで画素がオンにされる。
【０００９】
次にトーンレベルＴが増加し（Ｔ＝３）、前述の処理が繰り返される。この処理は増加していくトーンレベルの順にそれぞれの次のトーンレベルに対して繰り返され、完全なマトリクスが生成されるまで行われる。それぞれのトーンレベルに対して別々のマトリクスを生成し記憶してもよい。しかし、すべてのドットパターンをひとつの「ディザ・マトリクス」内に一体化し、マトリクスのそれぞれの位置がその位置がオンにされた最小のトーンレベルに等しい２値化した値を有するようにすると、便利であると同時に、メモリのスペースの節約にもなる。
【００１０】
コスト関数は、拡散を最大にし、拡散ができない（ドット同士が接触する）ときに斜め方向の相関を実施し、ドット構造においてもディザ・マトリクスの埋め込み(tiling)においても目に見えるパターンを最小にするために特別に設計されたものである。好適な実施例において、与えられた候補画素に対するコスト関数は、その候補を中心に定義した「検索域」内のオンのドットを検査することによって決定される。検索域内のそれぞれのそういったオンのドットの個々の「コスト値」が決定され、それらコスト値の合計がその候補画素の合計コスト関数となる。それぞれのコスト値は、候補画素の位置に関するオンのドットの角度と半径距離の両方に関係する。
【００１１】
コスト値は、候補画素とオンのドットの間の半径距離の逆指数関数である。好ましくは、半径距離は、少なくとも指数は３となる。このことによって、ディザ・マトリクスの残りのドットと比べて不釣り合いにぎっしり詰まったドットのグループの影響を急に減少することができるという利点がある。このようなグループのコスト関数への影響は、そのグループの中で候補画素に一番近い位置にあるひとつのドットよりもわずかに大きいだけとなる。逆に、ディザ・マトリクスの残りのドットと比べて不釣り合いにまばらになっているドットのグループの影響は、いくぶん大きくされている。しかしながら、周りの領域の影響よりは小さくなっている。
【００１２】
コスト値はまた、候補画素とオンのドットの間の相対角度の関数でもある。コスト関数は、相対角度４５゜のときにコストが最小になるよう配置されたサインの項を含んでいる。これにより、垂直、または水平に隣接したドットよりも、斜め方向の相関関係が優先されることになる。この新しいコスト関数はまた、１ユニットよりも大きい距離でドット同士が接触する場合であっても接触するドット同士がすべて斜め方向に隣接していることを確実にするため、目標出力装置ドットサイズをも考慮に入れている。
【００１３】
前述の、そして他の、本発明の目的、特徴、利点は、図面への参照と共に進行する以下の好適な実施例の詳細な説明からより容易に明白になるであろう。
【００１４】
【実施例】
ディザ・マトリクス、またはディザ・マトリクスを生成する方法の、最も重要な特徴は、エラー項の定義方法である。たとえば、集合ディザは、らせん状に連続したドットが１００％凝集するよう強制するエラー項を用いる。Bayerのディザは、前のドットをその中心にした多角形の頂点の形成する空隙のうち一番大きいものの中央を求めるエラー項を用いる。
【００１５】
たいていのディザ・マトリクスは、ドットの拡散パターンを発生するよう考えられている。それが最も好ましいからである。拡散している、とは、無視し得るほど低頻度(low frequency)の内容であることを意味する、と定義する。実際、従来からの知識より、いかなるよいディザ・マトリクスも青のスペクトルが必要であることがわかっている。本発明によるディザ・マトリクスは、以下により十分に説明するとおり、従来技術の青のノイズ特性とは全く反対に、ほとんどもっぱら、高い相関関係にある、低い頻度エネルギーのみを有する。
【００１６】
グレースケール・イメージのハーフトーンのイメージを形成する公知の方法のひとつは、Parker他の米国特許番号第５，１１１，３１０号に説明されている。その方法では、画素毎に所定の青のノイズマスクと比較している。青のノイズ・マトリクスは、まずある特定のトーン値（５０％）に最適化される。次に、ドットが連続して加えられ、または除去され、残りのトーンレベルが生成される。全体として、その方法では、最適化したトーンレベルから離れたレベルほど、最適化したトーンレベルに似なくなる結果となる。たとえば、５０％が最適化したレベルであるとき、５０％のトーンレベルに比べて１０％のトーンレベルは理想からはるかに遠く見える（ノイジー(noisy)でさえあるかもしれない）だろう。
【００１７】
図１は、一般にデジタル・ハーフトーニングにおいてどのようにディザ・マトリクスが用いられるかを示したものである。図１において、イメージ・ジェネレータ２０は任意の２次元のイメージ・データの源を示し、それぞれの位置は、対応する色つまりグレースケールのトーン値を有する画素のマトリクスつまりアレイＦ（ｉ，ｊ）として表される。このようなイメージ・データは、たとえばスキャナ、描画ソフトウェア、（文字モードよりも）グラフィックモードで出力する文書処理のプログラム等によって生成される。ディザ・マトリクスつまりマスク２２は、プログラム可能読出し専用メモリ（ＰＲＯＭ）２４等に記憶される。ＰＲＯＭ２４は、コンピュータ２６内に配置してもよいし、２値出力表示装置３０の一部を形成していてもよい。この表示装置は、たとえば、ＣＲＴ表示スクリーンや、レーザ・プリンタやインク・ジェット・プリンタ等のプリンタであってもよい。ハーフトーニングやその他の前処理のステップをホスト・コンピュータで実行するか出力装置自体で実行するかの選択は、システム設計上の問題である。
【００１８】
イメージ・ソース（源）Ｆ（ｉ，ｊ）のそれぞれの画素は、比較器２８内のマスクＭ（ｉ，ｊ）の対応する位置と比較される。比較器２８は、デジタルのハードウェアで形成されていてもよく、また、ホスト・コンピュータ内に配置されていても、表示装置内に配置されていてもよい。比較器２８をどこで実施するかは、システム設計上の選択の問題ではあるが、好ましくは、比較器２８は、ソフトウェア内で実施される。比較器２８は、出力（ハーフトーン）２値イメージ・アレイＨ（ｉ，ｊ）を供給する。このアレイＨ（ｉ，ｊ）は、２値表示装置３０に送り込まれる。出力イメージの厳密なドットのパターンは、イメージ・ソースとディザ・マトリクスによって決まる。
【００１９】
（ディザ・マトリクスの生成方法）
ドットの配列の質を判断するために発明者が作ったモデルには、いくつかの条件がある。最初に、ドットは分散して配列されていなければならない。二番目に、見る人が検出し得るパターンを最小化するようなドット配列でなければならない。発明者は、ドットを不規則な角度で接触させるよりも、ドット同士が接触するトーンレベルでの相関関係を強制するほうを選択する。その理由は、ドット同士が接触するとき、その「イベント」、または結果として生じたより大きいドットは、個々のドットよりも目でみてより目立つからである。発明者は、これらより大きいドットの形は、ドットの接触がランダムなときよりも制御されているときのほうが好ましくない程度が低いということを発見した。人間のコントラストの感度は、斜めの角度のとき最も鈍くなる。この理由により、発明者は、そもそもドット同士が接触せざるを得ない場合には、接触するすべてのドットが斜め方向に接触するようにした。ドット同士が接触しないトーンレベルでは、できるだけ拡散を強制するようにする。検出し得るパターンを避けるためにもうひとつ必要なことは、ディザ・マトリクスが目に見える形で同一ページ上に繰り返されないようにする、ということである。
【００２０】
こういった「斜め方向に相関させた」ディザ・マトリクスを生成するために、発明者はまず、もっとも明るい（最小の）トーンレベルを最適化し、そこから作り上げる。それぞれの次のトーンレベルを作り上げるために、発明者は、候補画素とある半径距離つまり「検索域」内のすべての存在する（「オン」である）画素との間の加重半径距離の合計を最小にするコスト関数を用いる。これは、「加重半径距離」が測定した距離を距離と相対角度の関数として増加する関数で修正したものであるという点で、最大の空隙を求める方法と区別されるものである。次に、この加重距離の逆数をとり、３乗する。この正味の結果は、大変まばらなトーンレベルにおいては、斜め方向の相関関係をいくらか優先した状態で最大の空隙を求める、ということになる。しかし、トーンレベルが増加するにつれて、最大の空隙は小さくなり、斜め方向の優先は、目標出力装置のドットサイズを考慮した関数によって決定した率で、より重要となっていく。最後に、ドット同士が接触するまでトーンレベルが増加すると、すべての「接触」は斜め方向に隣接するドット間で起こり、より暗いトーンレベルは、短い斜線によって作り上げられる。
【００２１】
この方法によると、ほとんどすべてのトーンレベルにおいて、高い相関関係にある低い頻度エネルギーで形成されるディザ・マトリクスが得られる。したがって、最大の均質と拡散を教授する従来技術とは、まったく対照的なものである。全体として、このマトリクスを用いて印字したグレースケールの傾斜は、非常に均一で、最も明るい部分も滑らかであり、斜線の形が短いので、頻度エネルギーが低い。最後に、すべてのトーンレベルが斜線で作り上げられる。この方法を拡張して、たとえば、トーンレベルによって決まるような、異なった角度（４５゜以外）を優先するコスト関数を用いてもよい。
【００２２】
次に、図２のフロー図に示した一般的な方法を説明する。最初のステップ５０では、ディザ・マトリクスを初期化してゼロ状態にする、すなわちすべての画素つまり位置をゼロまたはオフにセットする。文字Ｍは、ディザ・マトリクスを指す。発明者は、処理の便利と簡単のために、正方形のマトリクス（Ｎ×Ｎのユニットつまり画素）を想定するが、必ずしもその形を有さねばならない必要はない。次に、ステップ５２で、マトリクスは最小トーン値にセットされる。イメージ・ファイルは、たとえば、１画素につき８ビットを有する。これによって、２５６個のグレースケールのトーンレベルが可能になる。この場合、最小トーンレベルＴ＝１は、２５６ビットのうちの１つをオンにすることに対応する。オンのビットのカウンタＬは６４に初期化される。これは、Ｎ＝１２８のときのＴ＝１に対応するオンのビットの数である。
【００２３】
ディザ・マトリクスを最小トーン値に初期化するのに、市松模様のパターンが好ましい。次に、ステップ５４において、トーン値が増加し、次のトーンレベルいおけるパターンの生成が開始される。マトリクスのそれぞれのドットの位置を左上の隅から連続的に検査するために、マトリクスの行と列のインデックスｉとｊはそれぞれステップ５６において０に初期化される。例示では処理のラスタの順序を示しているが、順序は重要ではない。やがて、マトリクスのすべての位置が検査される。
【００２４】
初期化の次に、ステップ５８において、マトリクスの最初の位置、Ｍ（ｉ，ｊ）＝０，０が検査され、そのドットがオンであるかどうかが判定される。用語オンは、ここでは、対応するマトリクスの位置がゼロでない値を有していることを示すために用いられる。それぞれの所望のトーンレベルに対して、別のマトリクスを生成することもできる。この場合には、マトリクスのそれぞれの位置はひとつのビットだけからなるものでよい。また、そうではなくて、しきい値情報のすべてをひとつのディザ・マトリクスに一体化することもできる。この場合には、マトリクスのそれぞれの位置はグレースケールの解像度に対応する多くのビットよりなる。したがって、２５６レベルのシステムにおいては、対応するトーンレベルのしきい値を示すため、一体化されたディザ・マトリクスのそれぞれの位置は８ビットからなる。
【００２５】
もしテスト５８で現在のドット位置がオフである、すなわちその値がゼロであると判定されると、現在の位置は、現在のトーンレベルにおいて含まれることを考慮にいれるべき「候補画素」である。ステップ６０では、以下に述べるコスト関数を用いてその候補画素に対するコスト値の合計が決定される。もしテスト５８で現在のマトリクス位置が既にオンであると判定されれば、現在の位置は候補ではなく、制御は示すように経路６８を通って進み、コスト関数のステップ６０をスキップする。次に、テスト６４は、列のインデックスｊがマトリクスＭの現在の行の最後に達したかどうかを示す。もし達していなければ、列のインデックスｊはステップ６６において増加し、制御は経路７６を通って戻り、ステップ５８で次のドットの位置を検査する。そうではなくて、もし行の終わりに来ているのであれば、テスト７０が実行され、行のインデックスｉがマトリクスの最後の行に達したかどうかを判定する。もし達していなければ、行のインデックスｉはステップ７２において増加し、列のインデックスｊはステップ７４においてゼロにリセットされ、制御は前のように戻ってステップ５８でラスタの順番に次の位置を検査する。
【００２６】
列と行のカウンタを連続的に増加しながら前述の各ステップが繰り返され、マトリクス全体のすべての位置が検査される。次のステップ、ステップ７８は、考慮に入れたすべての候補の中からひとつの最小コスト候補を選択する。全く同じコストを有し、しかもそのコストが次のドットに対する最小のコストでもあるような２つまたはそれ以上の候補画素がある場合もあり得る。そのような場合には、コストが等しい２つまたはそれ以上のもののうちのどれかに決定せねばならない。発明者は、この決定を「白くする」必要のあるコスト関数におけるエラーの潜在的原因として考える。そこで、この等しい候補の中からランダムに選択することにする。別の手法としては、「低コスト候補画素位置」を一時的に記憶しておき、それより低いコストを有する候補が見つかる度に入れ換える、ということがある。
【００２７】
ステップ８０において、選択された最小コスト候補Ｍ（ｘ，ｙ）が、現在のトーン値、つまり２にセットされる。ステップ８２において、オンのドットのカウンタＬが増加される。次に、ステップ８４で、オンのビットの総数が現在のトーンレベルに対応しているかどうかが判定される。対応していない場合は、制御はステップ５６に戻り、現在のトーンレベルにおいてオンの画素として含まれるさらなる画素を識別し考慮するために、行と列のインデックスをリセットし、マトリクス全体の検査をもう一度始める。この処理は、現在のトーンレベルがテスト８４に示すように完了するまで繰り返される。次に、テスト８８において、すべての利用可能なトーンレベル（たとえば、２５６）がディザ・マトリクスに含まれたかどうかが判定される。すべての利用可能なトーンレベルが含まれてはいない場合には、制御はステップ５４に戻り、トーンレベルが増加される。行と列のインデックスはステップ５６においてまたリセットされ、処理は上述のとおり新しいトーンレベルに対するさらなるオンのビットを生成する方へ進む。すべてのトーンレベルが処理されると、テスト８８に示すように、処理は完了する。
【００２８】
（一般のコスト関数）
図４は、候補画素に対するコスト関数を決定するステップ（図２のステップ６０）をさらに詳しく示したものである。一般に、候補画素に対してコスト関数を決定するには、次のことが必要である。
（１）候補画素の周りの十分な「検索域」を決定する。
（２）定義した検索域内のそれぞれのオンの画素に対するそれぞれの「コスト値」を決定する。
（３）それらの個々のコスト値を合計してその候補に対する総コスト関数を出す。
【００２９】
コスト関数は、上述の所望の条件からできるかぎり逸脱しないものでなければならない。もう一度まとめると、コスト関数は分散を最大限にしなければならず、分散ができない（ドット同士が接触する）ときには斜め方向の相関関係を強制し、ドット構造においてもディザ・マトリクスのタイリングにおいても目に見えるパターンを最小限にする、というものである。
【００３０】
それぞれの候補画素に関連したコストはその候補画素の周りの画素のなんらかの関数でなければならない。候補画素を選択する総コストを計算するために、発明者は、そのコストのすべての成分を合計する。それぞれの成分は、検索域内の他のすべての画素の状態と位置の関数である。コスト関数は、最も簡単な形では、次のように数学的に表すことができる。
【００３１】
【数１】
0003957332.tif 000002
【００３２】
ただし、ＦｎＲ＝候補画素をその中心とした検索域を定義する関数
ＦｎＣ＝域ＦｎＲにおけるそれぞれの画素の位置と状態をその入力
とする、コスト値を戻す関数
ｘｙは域ＦｎＲ内の個々の画素を表す
【００３３】
（検索域）
ここでの最初の問題は、このコスト関数が正確に作用するためにどんな検索域が適当であるかを決定することである（ＦｎＲ）。発明者は、いったん十分大きな検索半径が用いられればコスト関数の結果は安定すると判断した。必要な半径もまた、域内のオンのドットの数の関数であることがわかった。その結果、ＦｎＲによって定義される検索域は、十分な数のオンのドットを含むのに十分大きい半径の円である。このことは、特定の目的装置に関しては、経験的に決定することができ、また、当然処理速度との兼ね合いも伴う。発明者は、よい結果を得るためには検索域は少なくとも約１０から１５個のオンのドットを含むのに十分なほど大きくなければいけないことを発見した。好ましくは、検索域は、５０個のオンのドットを含むのに十分なほど大きくあるべきである。２５６のグレーレベルを有する１２８×１２８個のマトリクスの例では、それより大きい域を検索してもほとんど利益はない。５０個のオンのドットを含むに必要な半径は、オンのドットの平均密度の表示器としてトーンレベルを用いることで容易に計算できる。
【００３４】
次の表１は、選択されたトーンレベルの関数としての５０個のオンのビットを含むのに十分な検索域の半径を示す。最後の列は、検索域内の総ドット数を示す。
表１  一定数のオンのドットに対する検索域
トーン     パーセント     検索半径     総画素
レベル     トーン
１        ０．４        ６３．８３    １２，８００
４        １．６        ３１．９２    ３，２００
５        ２．０        ２８．５５    ２，５６０
１０      ３．９        ２０．１９    １，２８０
２５      ９．８        １２．７７    ５１２
３２      １２．５      １１．２８    ４００
５０      １９．５      ９．０３      ２５６
６４      ２５．０      ７．９８      ２００
１２８    ５０．０      ５．６４      １００
１５０    ５８．６      ５．２１      ８５
２００    ７８．１      ４．５１      ６４
２５０    ９７．７      ４．０４      ５１
２５６    １００．０    ３．９９      ５０
【００３５】
（不連続な「白い点」の検索域への影響）
検索域の大きさを決める別の方法としては、目が「見る」ものという観点からできるだけ多くの不連続なイベントを検索域がカバーする、というものがある。その理由から、１２８（５０％）以下のトーンレベルに対する検索域の範囲は、大変まばらな域においては検索半径が大変大きくなるよう、トーンレベルが減少するにつれて増加する。しかし、トーンレベルが５０％を超えるときには、黒色（オンのドットの累積的な効果）が実際には大部分であり、少数であるのは白い空間である。この場合には、目にとってより際立っているのは、白い「点」である。言い換えれば、白い点が不連続なイベントとなり、黒が背景になる。このように、これまで無視していた位置、すなわちオフの画素が目で見て最も目立つようになる。だから、人間の視覚システムにより配慮するためには、選択された検索域はオンのドットよりもむしろ十分な数のこういった白い点を考慮に入れなければならない。このように、５０％を超えるトーンレベルに対しては、検索半径はトーンレベルが増加するとともに増加するべきである。この別のアプローチを用いて、検索半径とトーンレベルのグラフは、一般に、５０％のトーンレベルのところが最小点となるＵ字形のカーブを有する。
【００３６】
図４は、Ｍ（ｘ，ｙ）に位置する候補画素に対するコスト関数を決定する方法を示す。この処理では、まず、ステップ１００において、ｒに等しい半径を有する検索域を選択する。検索域の大きさを決めるうえで、上述のどちらの方法を用いることもできる。ステップ１０２において、水平の、そして垂直のインデックスｉ，ｊがゼロに初期化される。アキュムレータＡＣＣもまた、ステップ１０４においてゼロに初期化される。初期化に続き、テスト１０６が現在の画素がオンであるかどうかを判定する。オンであれば、この画素が現在の候補画素のコストを決定する上でいくらか影響を与える可能性がある。ステップ１０７においては、候補画素と現在の画素の間の水平距離△ｘが決定される。これは、ｉ−ｘの絶対値である。同様に、垂直距離△ｙも、ｊ−ｙの絶対値として決定される。テスト１０８では、現在の画素が定義された検索半径内にあるかどうかが判定される。検索半径内にないときには、現在の画素の位置は無視してよく、処理は次の位置の検査へと進む。
【００３７】
現在の画素が検索域内にあるときには、ステップ１１０において、以下にさらに説明するように、この画素に対するコスト値が決定される。そのコスト値は、ステップ１１２においてアキュムレータに加えられる。ステップ１１４では、列のインデックス（ｉ）が現在の行の最後に到達したかどうかが判定される。到達していないときには、列のインデックスはステップ１１６において増加され、制御はステップ１０６に戻って次の画素を検査する。ひとつの行の最後では、テスト１１８によって現在の行がマトリクスにおける最後の行かどうかが判定される。最後の行でないときには、ステップ１２０において、行のインデックス（ｊ）が増加し、列のインデックスｉはリセットされ、制御は再びステップ１０６に戻って次の位置を検査する。この処理は、本質的にディザ・マトリクスのすべての画素を検査して繰り返される。画素の検査の順序としては、ラスタの順序が示されているが、検査の順序は重要ではない。定義された検索域内のすべてのオンの画素に対してステップ１１０において決定したコスト値は、ステップ１１２において蓄積され、この処理の終了時には、アキュムレータには考慮に入れる候補画素に対するコスト値の総合計が含まれる。言い換えれば、そのときアキュムレータは、現在の画素に対する総コスト関数を含んでいる。図４のフロー図は、図２のステップ６０のコスト関数の決定を示しているので、制御は、次に図４のステップ１２２において上述の図２のステップ６４に戻る。
【００３８】
（半径距離の考慮）
拡散を最大限にするために、コスト関数の値、ＦｎＣは、候補と検索域内のそれぞれの「オン」であるドットとの間の距離の逆関数でなければならない。つまり、
ＦｎＣxy＝１／ｒ
ただし、ｒは候補画素と検索域内のそれぞれの「オン」であるドットとの間の半径距離である。これによって、他のドットと最も距離の大きい候補画素に対して最小のコスト値が与えられる。しかし、たとえ、一方の側で多数のドットを有し他方ではほんの少しのドットしか有さないような「穴」があるとしても、その穴は最大であることが望ましい。単純な逆関数であれば、この一方の側の「ドットの凝集」によって大きく影響を受けてしまう。このため、発明者は、ＦｎＣを修正して、近いドットに指数関数的により重みをおくようにする。このようにすることにより、最大の「穴」の測定(observation)を満足しながら、「凝集」の中の最も近いドットのみを候補に対する、総コストにおいて非常に重要にする効果がある。発明者は、この効果を達成するためには、最低３乗の累乗の関数が必要であると判断した。したがって、修正したコスト関数は、一般につぎの形を有する。
ＦｎＣxy＝（１／ｒ）3
【００３９】
（出力ドットのサイズの校正(calibration)）
上記の形のコスト関数は、拡散を最大限にする。ディザ・マトリクス内により多くのドットが置かれるにつれて、そしてドット同士の距離がより小さくなるにつれて、ドットは最後には互いに接触せねばならなくなる。この接触が斜め方向に（４５゜の角度で）起こるように強制するために、この関数は、候補と定義した検索域内のそれぞれの「オン」である画素との間の相対角度と距離に応じて変化しなければならない。上記のように定義されたＦｎＣをコスト関数として用いると、説明する方法では、まず最初に、２ユニットの平方根だけ離れた画素（斜めユニットの前に、２ユニットの距離だけ離れた画素が選択され、最後に１ユニットだけ離れた画素（水平および垂直ユニット）が選択される。これにより、水平および垂直ユニットの前に斜めユニットが選択されるという点で、上述の優先が満足される。
【００４０】
しかし、目標出力装置のなかには、たとえば（ある出力メディアを用いた）インク・ジェット・プリンタ等、ドット同士が１ユニット以上離れているときでも互いに接触する出力ドット（インク滴）を生ずるものもある。たとえば、出力ドットのサイズが、２ユニット離れた位置にあるとき隣接するドットが互いに接触するようなものであるかもしれない。発明者は、隣接したドットが接触するときには、たとえそれらのドットが論理的には２ユニット離れて位置するようなときであっても、斜め方向の相関関係を強制したいと考える。この場合の斜め方向の相関関係の質を守るために、コスト関数の分母にある半径距離の項ｒを、出力ドットのサイズによって決まる量で調節する。特に、「調節したｒ」の値は、ｒ（実際の半径距離）とドットのサイズを補償するある値の間で変化する。必要な補償は、目標出力システムによって決まる。ドットのサイズ（つまり、「ドットが接触する距離」）は、異なる出力システムの間で変化するため、発明者は、これをコスト関数において変数（Ｃ）として表した。
【００４１】
インク・ジェット・プリンタ用に考えられた好適な実施例において、ドット同士が互いに接触する最大距離が２ユニットであり、したがってＣは２に等しい。完全なコスト関数は、以下のように表すことができる。
【００４２】
【数２】
0003957332.tif 000003
【００４３】
下記の表は、Ｃ＝２のときに、上記の式にしたがって、選択した半径距離と相対角度に対し決定したコスト値を示す。分母において、ｒにつけ加えた補正項は、３つの成分を有する。ＳＱＲＴ（ｘ）をｘの平方根を求める関数の表記とすると、最初に、Ｃ−ＳＱＲＴ（２）は、最小接触距離と１斜めユニット半径距離の差であるから、最大の補正となる。２つめの成分、ｓｉｎｅ（２α）は、相対角度とともに変化し、４５゜において最高値（１の値）に達し、０゜と９０゜において０に減少する。したがって、真の垂直および水平距離に対しては、調節は一切行わない。３つめの成分、ＳＱＲＴ（２）／ｒは、距離の関数である。ｒが最小のとき、すなわち１のときに最高値に達する。したがって、ドットが候補画素に接近しており、しかも４５゜の位置にあるとき、最大の調節がなされる。これらの条件の下で、分母は最大値をとり、コスト値は最小値をとる。下記の表は、角度と距離の影響を例示するものである。
0003957332.tif 000004
【００４４】
表の数値は丸めてある。たとえば、１斜めユニットは、１．４１（２の平方根）の半径距離と４５゜の角度を有する。コスト関数の式の分母は以下のようになる。
ＳＱＲＴ（２）＋[Ｃ−ＳＱＲＴ（２）]×[ｓｉｎｅ(４５)]×[ＳＱＲＴ（２）／ＳＱＲＴ（２）]＝ＳＱＲＴ（２）＋[Ｃ−ＳＱＲＴ（２）]×１×１＝Ｃ＝２したがって、コスト関数は、１／２の３乗、つまり１／８＝０．１２５である。表では、丸めた数値０．１３を示してある。図５は、コスト値、相対角度、測定した相対距離の３次元のグラフである。コスト値は、距離が小さいときは角度に顕著に影響を受けるが、距離が大きくなるにつれて相対角度の影響が非常に小さくなる、ということが認められるであろう。図６は、本質的に図５の関数を分解したものを示す一連のグラフである。図６ａないし図６ｅは、それぞれ半径距離１，１．１４，２，３，４のときの相対角度の関数としてのコスト関数を示す。
【００４５】
（サンプルの部分ディザ・マトリクス）
図３は、ディザ・マトリクスの一部を示す。図３に示した部分は、１辺が２２ユニットである。もっとも、これはコスト関数の操作を示すためのものに過ぎず、その大きさは任意のものである。グラフでは、参照のため直交するｘ軸、ｙ軸が示されている。それぞれＰ１からＰ１０で示した１０個のオンの画素の集団が示されている。オンのドットの位置は、例示のためだけに選択されたものであり、本方法にしたがって起こりそうなドットの配置を反映したものではない。選択した候補画素は、ドットの位置の周りを正方形で囲み、それぞれＣ１からＣ６の番号をつけて示している。これらの候補画素もまた、例示のためだけに選択されたものである。実際には、定義された検索域内のすべてのオフのドットの位置が候補画素である。図３の破線の円は、候補画素Ｃ１の周りの検索域を示し、その検索半径は１０ユニットに等しい。実際には、上述のように、検索半径はもっと大きく、検索半径内のオンのドットの数はもっと多い。
【００４６】
図３に示すドットに上述の方法とコスト関数を適用すると、コスト値は次に示す表３の結果となる。
0003957332.tif 000005
【００４７】
表３は、それぞれの候補画素に対して、周りのオンの画素Ｐ１からＰ１０のそれぞれに帰因する個々のコスト値を示す。右端の列に示す個々のコスト値の合計は、対応する候補画素に対する総コスト関数である。第２番目の候補画素が（例示の選択された候補画素の中で）コスト関数が最小であるので、この候補画素が、図２のステップ７８において、次のオンのドットとして選択される。
【００４８】
表３に示す値について、いくつか所見を述べることができる。最初に、すべての値がゼロと１の間の範囲に入っている。第１番目の候補画素において、オンのドットＰ１、Ｐ２、Ｐ３、Ｐ１０のすべてが同じ個々のコスト値、すなわち０．１３を有することが認められる。図３において、これらの画素は、すべて候補画素Ｃ１から１斜めユニットの距離にある。オンの画素Ｐ９は、最大値１．００に等しいコスト値を有する。これは、Ｐ９が１垂直ユニットの距離にあるためである。このように、斜めユニットは、実質的に、垂直または水平ユニットよりも優先される。候補画素Ｃ２は、すべてのオンのドットから実質的に距離があるため、無視し得るほどのコスト関数しか有しない。
【００４９】
本発明の好適な実施例において、本発明の原理を実例で説明してきたが、そういった原理から逸脱することなしに本発明にその配置や詳細において変更を加えることができることは、当業者には容易に明らかであろう。発明者は、添付の請求の範囲の精神と範囲の中に入るすべての変更について特許を請求する。
【００５０】
以上、本発明の実施例について詳述したが、以下、本発明を各実施態様毎に列挙する。
（１）．  ディザ・マトリクスが隣接するドットの斜め方向の相関関係を強制する関数を実質的に含む一方ドットの拡散を最大限にすることにより、出力ドットパターンが視覚的に目立たない、所定の斜め方向相関関係ディザ・マトリクスとの点毎のしきい値比較を利用することを特徴とした、デジタル・グレースケール・イメージのハーフトーニング方法。
（２）．  候補画素とマトリクス内のオンの画素の間の個々の半径距離と相対角度に基づきそれぞれの候補画素に対するコスト値を斜めユニットが優先するように決定するために用いる空間的な定義域コスト関数にしたがって前記ディザ・マトリクスを生成することを特徴とする（１）に記載の方法。
（３）．  所定のサイズの画素位置の空白マトリクスを作成するステップ、
前記空白マトリクスを最小トーンレベルに対応する所定の初期状態に初期化するステップ、
前記マトリクス内のオフの画素すべてを候補画素として識別するステップ、
それぞれの候補画素に対して、その候補画素とマトリクス内のオンの画素の間の個々の半径距離と相対角度に基づき、コスト値を決定するステップ、
最小コスト値を決定するため、前記候補画素の個々のコスト値を比較するステップ、
前記候補画素の中から最小コスト値を有するものを選択するステップ、
前記マトリクス内の前記選択された候補画素をオンにするステップ、
前記識別し、決定し、比較し、選択しおよびオンにする段階を前記マトリクス内のオンの画素の数が所望のトーンレベルに対応するまで繰り返すするステップ、
を有することを特徴とする、所望のトーンレベルに対する斜め方向に相関させたディザ・マトリクスを生成する方法。
（４）．  前記選択するステップが最小コスト値を有するひとつより多い候補画素の中からランダムに選択することを特徴とする、（３）に記載の方法。
（５）．  ディザ・マトリクスと同じサイズでありそれぞれのマトリクス位置におけるトーン値の記憶手段を備える、合成ディザ・マトリクスを提供し、前記選択された候補画素を前記オンにすることが、それぞれの所望のトーンレベルに対して、前記合成ディザ・マトリクスの選択された候補画素位置に対応する位置に所望のトーンレベルを記憶することを特徴とし、トーン値を増加しそれによって一連のトーン値のすべてに対する結合したディザ・マトリクスを形成するために一連のトーン値のそれぞれに対して上記の処理を繰り返すことを特徴とする、（３）に記載の方法。
（６）．  前記コスト値を決定することが、
前記候補画素の周りの検索域を選択するステップ、
検索域内のそれぞれのオンの画素に基づき個々のコスト値を決定するステップ、
総コスト値を決定するために個々のコスト値を合計するステップ、
を有することを特徴とする、（３）に記載の方法。
（７）．  前記選択された検索域のサイズが所望のトーン値の逆関数であることを特徴とする、（６）に記載の方法。
（８）．  前記選択された検索域のサイズが約１０から１５個のオンの画素よりも大きい所定の数のオンの画素を含むのに十分であることを特徴とする、（６）に記載の方法。
（９）．  前記選択された検索域が概して円形であり中心が前記候補画素の近傍であることを特徴とする、（６）に記載の方法。
（１０）．  前記検索域を選択することが、人間の視覚が一定の低トーン値の出力域におけるドットの中から低頻度の物体を発見することを少なくするために、低トーン値に対して検索域のサイズを大きくすることを特徴とする、（６）に記載の方法。
（１１）．  前記トーン値が略５０％よりも小さく、検索域の半径が１から前記トーン値を引いて平方根をとったものにほぼ比例することを特徴とする、（１０）に記載の方法。
（１２）．  前記検索域を選択することが、人間の視覚が一定の高トーン値の出力域における白い空間の中から低頻度の人工物を発見することを少なくするために高トーン値に対して検索域のサイズを大きくすることを特徴とする、（６）に記載の方法。
（１３）．  所望のトーン値が約５０％よりも大きく、検索域の半径が前記トーン値の平方根とほぼ比例することを特徴とする、請求項１２に記載の方法。
（１４）．  互いに接触するドットが斜め方向に接触することを確実にするために目標出力装置のドットのサイズにしたがってコスト関数を校正するステップをさらに有することを特徴とする、（６）に記載の方法。
（１５）．  前記コスト値を決定するステップが、前記候補画素とそれぞれのオンの画素の間の半径距離と相対角度の関数によって、前記候補画素とそれぞれのオンの画素の間の半径距離を調節するステップ、を有し、前記調節された半径距離が相対角度が略４５゜に等しいときに最大値をとり、それによってオンのドットに斜め方向に隣接する候補画素をオンのドットに垂直または水平に隣接する候補画素よりも優先することを特徴とする、（６）に記載の方法。
（１６）．  前記コスト値が候補画素とオンのドットの間の実際の半径距離に強く影響されるように、前記調節された半径距離の指数関数を含むコスト関数にしたがってコスト値が決定され、それによって、ドットの凝集が、凝集したドットの中で候補画素に最も近いドットの課するコストに略等しい影響をコスト値に与えることを特徴とする、（６）に記載の方法。
（１７）．  前記重みをつけた半径距離は、少なくとも指数が３であることを特徴とする、（１６）に記載の方法。
（１８）．  所定の最小半径距離内の印字されるドットが１ユニットより大きい距離だけ離れていても接触するような目標出力システムを、実際の半径距離ｒを調節することにより、ｒと最小半径距離の間で変化する調節された半径距離を形成するように、補償するステップ、
を有することを特徴とする、（６）に記載の方法。
（１９）．  紙、
前記紙に付着しハーフトーンの印字イメージを形成する複数のインク滴、
を有し、
前記イメージ内の互いに接触するインク滴のすべてが互いに対して所定の角度で配置される一方、隣接するインク滴に接触しないインク滴はおおむね均質に配置され、それによってイメージ内の目に見える人工物を最小限にすることを特徴とする印字生成物。
（２０）．  互いに接触する前記インク滴が互いに対して略４５゜の角度で配置されることを特徴とする、（１９）に記載の印字生成物。
【００５１】
【発明の効果】
以上のように、本発明を用いると、一定なグレー値の場所に特異な点を生成しにくいディザー技術を提供することができる。
【図面の簡単な説明】
【図１】  記憶したディザ・マトリクスにしたがってデジタル・イメージのハーフトーニングを行いそのハーフトーニングを行ったイメージを２値表示装置上に形成するシステムのブロック図である。
【図２】  本発明にしたがったディザ・マトリクスの生成方法のフロー図である。
【図３】  図２の方法を示すための、マトリクス内のオンのドットと選択された候補画素の集合を示すグラフである。
【図４】  図２に説明する処理に関連して、候補画素に対するコスト関数を決定する詳細を示すフロー図である。
【図５】  図４の方法でコスト値を決定するのに有用なコスト関数の３次元の表示である。
【図６ａ】  図５のコスト関数と候補画素とオンのドットの間の相対角度を示すグラフである。
【図６ｂ】  図５のコスト関数と候補画素とオンのドットの間の相対角度を示すグラフである。
【図６ｃ】  図５のコスト関数と候補画素とオンのドットの間の相対角度を示すグラフである。
【図６ｄ】  図５のコスト関数と候補画素とオンのドットの間の相対角度を示すグラフである。
【図６ｅ】  図５のコスト関数と候補画素とオンのドットの間の相対角度を示すグラフである。
【符号の説明】
５０、５２、５４、５６、５８、６０、６４、７０、７２、６４、７６、７８、８０、８２、８４、８８：ステップ
【図１】
0003957332.tif 000006
【図２】
0003957332.tif 000007
【図３】
0003957332.tif 000008
【図４】
0003957332.tif 000009
【図５】
0003957332.tif 000010
【図６ａ】
0003957332.tif 000011
【図６ｂ】
0003957332.tif 000012
【図６ｃ】
0003957332.tif 000013
【図６ｄ】
0003957332.tif 000014
【図６ｅ】
0003957332.tif 000015