(57)【特許請求の範囲】
【請求項１】
２個の色平面をハーフトーン処理する方法であって、
画素位置におけるそれぞれの色平面の値、出力閾値およびそれぞれの色の周辺画素位置におけるエラー値によって、画素位置における第１および第２の色の第１および第２のエラー値を定めるステップと、
第１および第２のエラー値の合計を閾値と比較して、いずれかの色の出力を行うか否かを定めるステップと、
いずれかの色の出力を行う場合に、２個の色平面の値およびエラー修正関数に基づいて当該画素位置におけるエラー修正係数を定めるステップと、
画素位置に対応する所定のマトリクスの値に基づいて、当該画素位置において第１および第２のエラー値の一方を選択するステップと、
選択したエラー値にエラー修正係数を乗じ、他方のエラー値をそのままとして当該画素位置における第１および第２の修正されたエラー値を定めるステップと、
第１の修正されたエラー値と第２の修正されたエラー値とを比較して、大きな方の色の出力を定めるステップとを含む方法。
【請求項２】
カラー印刷出力を作成するシステムであって、
２個の多値色平面を含む入力ファイルと、
当該入力ファイルに含まれる、画素位置におけるそれぞれの色平面の値、出力閾値およびそれぞれの色の周辺画素位置におけるエラー値によって、画素位置における第１および第２の色の第１および第２のエラー値を定めるステップと、
第１および第２のエラー値の合計を閾値と比較して、いずれかの色の出力を行うか否かを定めるステップと、
いずれかの色の出力を行う場合に、２個の色平面の値およびエラー修正関数に基づいて当該画素位置におけるエラー修正係数を定めるステップと、
画素位置に対応する所定のマトリクスの値に基づいて、当該画素位置において第１および第２のエラー値の一方を選択するステップと、
選択したエラー値にエラー修正係数を乗じ、他方のエラー値をそのままとして当該画素位置における第１および第２の修正されたエラー値を定めるステップと、
第１の修正されたエラー値と第２の修正されたエラー値とを比較して、大きな方の色の出力を定めるステップと、を実行するためのハーフトーン処理モジュールと、
各画素位置において、２個の色の各の出力を行うか否かのデータを含む出力ファイルと、を含むシステム。
【請求項３】
プロセッサ実行可能な命令を有するプロセッサ読取り可能な媒体であって、プロセッサによって実行されるとプロセッサが、
画素位置におけるそれぞれの色平面の値、出力閾値およびそれぞれの色の周辺画素位置におけるエラー値によって、画素位置における第１および第２の色の第１および第２のエラー値を定めるステップと、
第１および第２のエラー値の合計を閾値と比較して、いずれかの色の出力を行うか否かを定めるステップと、
いずれかの色の出力を行う場合に、２個の色平面の値およびエラー修正関数に基づいて当該画素位置におけるエラー修正係数を定めるステップと、
画素位置に対応する所定のマトリクスの値に基づいて、当該画素位置において第１および第２のエラー値の一方を選択するステップと、
選択したエラー値にエラー修正係数を乗じ、他方のエラー値をそのままとして当該画素位置における第１および第２の修正されたエラー値を定めるステップと、
第１の修正されたエラー値と第２の修正されたエラー値とを比較して、大きな方の色の出力を定めるステップと、を実行する、プロセッサ実行可能な命令を有するプロセッサ読取り可能な媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
ハーフトーンアルゴリズムはより美的なカラー印刷出力を提供するように構成される。特に、本ハーフトーンアルゴリズムは、ハーフトーン処理された色平面の値の大きさがアンバランスであるか、バランスしているか、２平面からの重なっている色出力を生じる場所で生じることのある、印刷領域内の反復パターンの発生を減少させる。
【０００２】
【従来の技術】
カラー印刷の分野では、中間色となるような仕方で複数の原色が一緒に使用される。たとえば、インクジェット機構は、シアン、マゼンタ、黄および黒の印刷ヘッドを有してもよい。対応して、カラードキュメントに関連するデジタルファイルフォーマットは、３個の色平面、すなわち、シアン、マゼンタおよび黄を有してもよい。これらの３個の色平面を使用して、その他の色を作成し得る。たとえば、所望の色を有する印刷の領域となるように、２個以上の色平面を一緒にハーフトーン処理してもよい。特に、シアンとマゼンタは、しばしば、これらの原色の間の色のスペクトルとなるようにハーフトーン処理される。
【０００３】
デジタルファイルフォーマットにおける色平面は、たとえば、シアンドットおよびマゼンタドットの各々の約８０％対２０％である、アンバランスな出力ドットパターンとなり得る。代替的に、色平面は、５５％シアンおよび４５％マゼンタのような、バランスしたドットパターンともなり得る。これらの場合の双方、すなわち、アンバランスな出力とバランスした出力において、出力が全体として１００％になる必要はない。色平面が全体として１００％より小さな場合には、紙の白のいくらかが見えて、よりソフトな、パステル調の色調となる。
【０００４】
ドキュメントのある領域において、色平面の合計は１００％を超え、それによって、２以上の色のインクが付加される画素位置が生じてもよい。たとえば、シアン平面とマゼンタ平面のドットパターンの合計が１００％を超えているドキュメント内のこれらの位置において、シアンドットとマゼンタドットは、所定の画素位置においてお互いの上に付加され、青出力を生じる。この場合に、色平面は、重なっていると見てもよい。
【０００５】
シアン平面とマゼンタ平面からのドットパターンがアンバランスな領域においては、印刷出力は、特に近くでは、マジョリティの色からなる背景内にマイノリティのドット色の短い鎖やまたは線があるように見えることがある。同様に、シアン平面とマゼンタ平面からのドットパターンがバランスした領域においては、印刷出力は、特に近くでは、シアンとマゼンタが交互になる垂直の縞のように見えることがある。さらに、シアン平面とマゼンタ平面からのドットパターンが重なっている領域においては、印刷出力は、特に近くでは、シアン色平面とマゼンタ色平面の組み合わせから導出された色の領域内に，青のドットが不均一に分布しているように見えることがある。これらの状況の３つ全ては、人間の目を捕らえやすく、したがって不満足な印刷品質を示唆する。
【０００６】
図１は、従来技術であり、従来のハーフトーンアルゴリズムのドットパターンの拡大図を示す。印刷されたドキュメント１００は、単一色が意図された複数の領域１０２を含む。第１の拡大図１０４は、アンバランスなシアン色平面とマゼンタ色平面との出力を示す。個々の画素１０６は、インクのドットがその上に印刷され得る位置を表し、「Ｃ」で示された画素はシアンを表し、「ｍ」で示された画素はマゼンタを表す。これらの画素は、マジョリティのシアン画素の大きな領域内で、マイノリティのマゼンタ画素がグループとなり、すなわち一緒に一塊となっているパターンをなすように構成される。この出力は美的な外観を有さず、特にまだらで不均一である。
【０００７】
同様に、第２の拡大図１０８は、バランスした色平面の出力を示す。この場合に、シアン画素およびマゼンタ画素は、垂直の縞、水平の縞、チェッカー盤模様またはこれらの組み合わせをなすように構成される。このようなグループ化は、一般的には、美的ではなく、印刷機構の何らかの故障を示唆する。さらに、第三の拡大図１１０においては、シアンの背景内に、（「ｂ」によって表される）青色画素が、美しくない仕方でグループに分布している。
【０００８】
【発明が解決しようとする課題】
図１において見られる問題は、しばしば、デジタルファイルフォーマットの変換に帰する。たとえば、８ビットＲＧＢ（赤、緑、青）ファイルフォーマットは、ＣＲＴ（または同様の）ビデオ表示モニタ上で表示されるように構成される。このようなファイルを印刷するために、ＲＧＢから１ビットＣＭＹＫ（シアン、マゼンタ、黄、黒）ファイルフォーマットに変換する必要がある。変換の既知の方法は、図１の従来技術に示したような欠点を生じることがある。
【０００９】
【課題を解決するための手段】
美的なカラー印刷出力を作成するためのシステム、方法および装置は、エラー修正を利用し、エラー値と修正エラー値との比較に基づいて色平面発射(firing)決定を行う。
【００１０】
【発明の実施の形態】
図面を通して、同じ数字は、同様の機能およびコンポーネントを指す。
【００１１】
ハーフトーン処理方法および装置は、色データ平面内に含まれる数値データ間に見出される特定の関係に関連する美的でない色印刷出力の発生を減少させる。色平面の値と発射閾値との間のずれに起因するエラー値の計算、修正および分配が、美的でないカラー印刷出力を最小にするような仕方で実行される。エラーは、エラー修正関数、ビットマップおよびマトリクスを使用して修正される。発射決定は、２個の色平面の所定の画素位置に関連する修正された色の比較に基く。
【００１２】
図２は、印刷サーバ２０４、ワークステーションまたは同様のコンピュータ装置に接続された、プリンタ２０２、またはファクシミリ機器のような同様の出力装置を示す。プリンタは、インクジェット、レーザ／トナーその他の技術に基くカラー印刷能力を有してよい。プリンタは、シアン、マゼンタ、黄および黒のような２以上の色を有する、インクカートリッジまたは代替技術とともに使用されるように構成される。プリンタと印刷サーバとの間の接続は、任意の所望のアプリケーションをサポートする必要に応じて、ネットワーク２０６、ケーブルまたはインターネット経由で行われてもよい。
【００１３】
カラードキュメント変換およびハーフトーン処理に起因する美的でない出力に関連する反復パターンを防止する印刷システムおよび方法は、プリンタにおいてほとんどの演算処理ステップが実行されるような状況で説明するが、多数のタスクは、印刷サーバまたはプリンタと連絡する他の演算処理装置で実行され得る。演算処理ステップがプリンタで実行される場合には、プリンタは、コンピュータおよび／またはコントローラ読取り可能命令を有する、コンピュータおよび／またはコントローラ読取り可能媒体を備え得る。代替的に、特定用途向け集積回路（ＡＳＩＣ）または同様の技術を使用して、演算的に等価なハードウェアベースの解決策を代用してもよい。ソフトウェア、ファームウェアまたはハードウェアベースの命令の実行は、説明されるように、カラードキュメント変換のための方法をサポートする。
【００１４】
図３は、８ビットＣＭＹＫファイルの１色平面に適用される重みフォーマット３００を示し、「エラー」および「エラー分配」の概念を図示する。ハーフトーン処理の間に、各色平面における各画素に関連する８ビット値は、１ビットＣＭＹＫ出力ファイルにおける同一色の平面における１ビット値に変換される。２個の色平面がハーフトーン処理されるプロセスの間、所定の色平面における所定の画素に関連する数値は、発射に必要な正確な閾値を生じないかもしれない。したがって、閾値より小さなときに色平面の当該数値に起因して、または閾値を超えた量に起因して「エラー」が生じる。
【００１５】
エラー及びエラー分配は、連続した（すなわち，０から２５５までの）色調を量子化された（０または１の）出力に円滑化する必要に関係する。エラーは、色平面の値と発射閾値との間の絶対値差に関係する。エラー分配は、発射決定に続いて、この差を所定の色平面の隣接画素位置に分配する方法である。
【００１６】
エラー計算およびエラー分配の動作は、美的でない出力に関連する反復パターンを防止するように構成されるハーフトーン処理アルゴリズムの例示的な実施形態を参照することにより理解され得る。所定の８ビットＣＭＹＫファイルの所定の色平面における所定の画素に関するシアンの色値が１５０であり、当該画素に関するシアンエラーに関連する変数の値が５０であれば、これらの値の合計は２００となる。発射閾値が２５５であれば、当該合計は、「０」ではなく「１」の値がＣＭＹＫ出力ファイルの１ビットシアン色平面に入れられることとなるには小さすぎる。このように、この画素位置においてシアンインクジェットは「発射」されない。しかしながら、発射決定の後に、２００の値全体は「エラー」であるとみなされ、以下に示される仕方で、他の隣接ピクセルに分配される。この分配により、「エラー」の分配を受け取る画素は、発射閾値を超える可能性がより高くなる。別の例において、隣接画素の色値が２００であり、エラーが１００であれば、結果としての合計は３００である。発射する決定がなされる（すなわち、「１」の値が、１ビットＣＭＹＫ出力ファイルのシアン色平面の当該画素位置に入れられる）。「発射」により、３００から２５５が引かれ、４５のエラー値が隣接画素に分配される。
【００１７】
１位置から４位置へのエラーの例示的な分配が図３に示される。本例は、「エラー分配」の状況で、「重み」がどのように使用され得るかを示す。画素５０２におけるエラーの値は、「Ｅ」で表され、単一の画素位置３０２に関連する。この値は、発射決定がなされた後、且つ、想定されるビット深さ量の減算の後に求められる。一般に、入力ファイルは８ビット色を有し、出力ファイルは１ビット色を有するので、ビット深さ量は２５５である。しかしながら、入力ファイルは１６ビット色を有し、出力ファイルは１ビット色を有すれば、ビット深さ量は６５５３５である。エラーが分配される画素の数は、ある程度可変である。しかしながら、図３において、４個の画素がエラーを受け取るように示されている。画素３０４，３０６，３０８および３１０は、画素３０２に関して、前方、前下方、下方および後下方である。エラーは、まだ処理されていない画素に分配されることに留意されたい。
【００１８】
各画素に移されるエラーの割合を決定する分数値は、「重み」とみなされる。各重みに割り当てられる分数は可変である。しかしながら、図３において、７／１６，１／１６，５／１６および３／１６の重みが、それぞれ、画素３０４から３１０までに関連付けられる。これらの値は合計で１００％になってもよいし、または、他の値になってもよい。また、１つの色平面によって使用される重みフォーマットは、必ずしも、異なる色平面によって使用される必要はない。このように、多分、画素３０２における値から２５５または他のビット深さ量を減算する結果となる、発射決定がなされた後に、残りは、使用される重みにしたがって、画素３０４から３１０に関連する、エラー合計を含む変数を増すように使用される。
【００１９】
たとえば、所定の画素位置内のシアン色平面の値が２００であり、当該画素および色平面に関連するシアンエラー変数の値が２１５であれば、合計値は４１５である。この値は２５５より大きく、したがって、肯定的な発射決定がなされる。発射決定により、４１５から２５５が減算され、１６０が残る。したがって、エラーは１６０であり、図３に見られるように、４個の隣接画素に分配される。たとえば、前方画素は、１６０の７／１６、すなわち７０を受け取る。このように、当該画素位置に関連するシアンエラー変数は、７０だけ増される。他の３画素に関連するシアンエラー変数も、重みにしたがって増される。しかしながら、図６のブロック６０８および図９のブロック９０６において、発射決定は、色平面値なしに、修正されたエラーだけに基づいてなされることに留意されたい。このように、上記の説明は、エラー分配の一例のためのものであり、多くの用途において、エラー値から色平面値を分離するように注意する必要がある。
【００２０】
エラー分配の結果として、あらゆる色平面におけるあらゆる画素位置は、色平面値と同様にエラー値を含む。以下により詳細に説明するように、ある場合には、これらの値の合計が要求される。他の場合には、図７のテーブルによるように、エラー値が修正される場合のように、エラー値が要求される。
【００２１】
図４は、ハーフトーン処理プロセスが、各色平面における各画素位置内に含まれる８ビット値を有する入力カラードキュメントを各色平面における各画素位置内に含まれる１ビット値を有する出力カラードキュメントに変換する方法４００を示す。結果としての、色平面における１ビットデータは、所定のインク色に関連する印刷ヘッドまたはノズルを、所定の画素位置において発射させるかまたは発射させない発射決定である。画素の８ビット色平面データは、アンバランスな状況、バランスした状況および重なりの状況に関連する問題を防止するアルゴリズムによって、１ビット色平面データにハーフトーン処理され、それによって美的でないカラー印刷出力を防止する。
【００２２】
ブロック４０２において、８ビットＲＢＧ（赤、緑、青）ファイルが受け取られる。ＲＢＧファイルは、ＣＲＴ（陰極線管）または同様のタイプのコンピュータビデオ表示などの、加法混色表示装置による表示に適している。このようなファイルは、各画素が８ビット２進数で表される、各色に関連する色平面を有する。
【００２３】
ブロック４０４において、ＲＢＧファイルを８ビットＣＭＹＫ（シアン、マゼンタ、黄、黒）ファイルに変換するように従来の変換技術が使用される。ＣＭＹＫファイルは、３または４色のインクが関連する光の波長を反射し、他の周波数を吸収する減算混色環境を有するプリンタによる使用に適する。ＣＭＹＫファイルは、各画素が８ビット２進数で表される、各色に関連する色平面を有する。
【００２４】
ブロック４０６において、所定の画素位置に関連する各色平面からのデータは、画素ごとに一緒にハーフトーン処理される。このハーフトーン処理プロセスは、図５において詳細に示される。
【００２５】
ブロック４０８において、最後の画素が評価されたかを判断するように入力ファイルが検査される。入力ファイルに対するファイルの終わり（ＥＯＦ）条件が真でなければ、ブロック４０６において、順番における次の画素に関連するデータが調査される。次の画素は、通常は、各行の画素が直前の行と逆の順序で処理される、つづらおりの仕方で選択される。
【００２６】
ブロック４１０において、ＥＯＦ条件がブロック４０８において存在する場合には、インクジェット、カラーレーザ印刷エンジンまたは他の技術に基づいて、出力ファイルが印刷装置に送られる。１実施例においては、出力ファイルは、各平面が、各画素に対して発射決定に関連する１ビットを有する、３個または４個の色平面を有する１ビットＣＭＹＫフォーマットである。インクジェット技術の例において、当該１ビットは、各画素位置において、同一色平面に関連するインクジェットに発射するか発射しないかを適切に伝える。
【００２７】
図５は、美的でない出力に関連する反復パターンを防止するような仕方で、２個の色平面内の１画素位置を一緒にハーフトーン処理し得る、例示的な方法を示す。ブロック５０２で開始しブロック５２４で終了する方法全体５００は、図４のブロック４０６に示されていない詳細を含む。
【００２８】
ブロック５０４から５１０は、シアンとマゼンタのような、２個の色平面内の１画素位置の値の合計を評価する。変数Blue（青）、変数Ｃプライムおよび変数Ｍプライムが設定される値は、当該合計とビット深さ量との相対的な大きさに依存する。Ｃ’およびＭ’は、その後一緒にハーフトーン処理される。ブロック５１２は、色平面が発射されるべきであるか否かを決定する。平面が発射されるべきである場合には、ブロック５１４および５１６において、両方の平面が発射するのを防止するように、変数Blueがゼロに設定され、バランスした色平面データに関連する美的でない印刷出力を防止するようにエラーが修正される。発射決定は、修正されたエラーの相対的な大きさに基づいてなされる。ブロック５１８において、発射を反映するように変数が減少され、アンバランスな色平面による美的でない印刷出力を防止するように、エラーが分配される。重なり条件が存在する場合に、ブロック５２０および５２２において、青の画素を生じるようにシアンおよびマゼンタが両方発射される。
【００２９】
ブロック５０４において、特定の画素位置に対するシアンおよびマゼンタの色値の合計の大きさは、２５５または他のビット深さ量に比較される。シアンおよびマゼンタの値は、関心のある画素に関連する色平面における８ビット記憶位置内で見出される。色平面位置に関連するエラー値、すなわち、シアンエラーおよびマゼンタエラーは、当該比較では使用されない。シアンおよびマゼンタの合計が２５５または他のビット深さ量を超える場合には、ブロック５０６が実行される。その他の場合には、ブロック５０８が実行される。
【００３０】
ブロック５０６において、ｃ＋ｍが２５５を超える場合には、青（Blue）、Ｃ’およびＭ’に対して変数が定義される。青は、１画素対してシアン色平面とマゼンタ色平面の両方を発射することにより生じる色である。Ｃ’およびＭ’は、シアンおよびマゼンタに関連する変数値を表す。青、Ｃ’およびＭ’は、以下の擬似コードにしたがって導かれる。
【００３１】
0003782028.tif 000002
【００３２】
ブロック５０８において、ｃ＋ｍが２５５より小さい場合には、青はゼロに設定され、Ｃ’およびＭ’は、シアンおよびマゼンタの既存の値にそれぞれ設定される。
【００３３】
ブロック５１０において、シアンエラーとマゼンタエラーが計算される。シアンエラーは、シアンプライム（Ｃ’）色値と隣接画素から分配されたシアンエラーの値の和に等しい。同様に、マゼンタエラーは、マゼンタプライム（Ｍ’）色値と隣接画素から分配されたマゼンタエラーの値の和に等しい。このように、シアンエラーとマゼンタエラーとの合計が２５５または他の発射閾値と比較される。
【００３４】
ブロック５１２において、ブロック５１０のハーフトーン処理は、発射を生じるべきかについて判断するように点検される。発射があるならば、制御はブロック５１４および５１６に送られ、どの平面を発射するか判断される。発射がなければ、制御はブロック５１８に送られる。
【００３５】
ブロック５１４において、青と指定された変数がゼロに設定され、シアン平面およびマゼンタ平面が両方とも発射されることはなく、結果として青の画素は作成されないことを示す。
【００３６】
ブロック５１６において、図６のアルゴリズムまたは図９のアルゴリズムが実行される。これらのアルゴリズムは、所定領域におけるバランスした大きさの値を有する複数の色平面による美的な印刷出力の送出に対処する。両方のアルゴリズムは、現在の画素に関連するシアンエラー変数およびマゼンタエラー変数を修正する。その後、発射決定は、色平面値よりも修正されたエラー値の相対的な大きさに基づいてなされる。
【００３７】
ブロック５１８において、図１１のアルゴリズムが実行される。このアルゴリズムは、色平面の１つが発射されたかを確認する。その後、エラーは、後で理解されるように修正され分配される。図１１のアルゴリズムは、アンバランスな数値を有する色平面に関連する美的な問題を減少させる必要に関連する。
【００３８】
ブロック５２０において、青はゼロと比較される。青がゼロであれば、制御はブロック５２４に移る。青がゼロでなければ、制御はブロック５２２に移る。
【００３９】
ブロック５２２において、青はゼロでないので、シアン平面とマゼンタ平面の両方が発射されるべきである。したがって、１が出力ファイルの両方の色平面の適切な画素位置に置かれる。
【００４０】
ブロック５２４において、制御は、図４のブロック４０８に戻される。そこで、ファイルの終了条件が確認される。
【００４１】
図６は、過度にバランスした条件にある色平面に関連する美的でない印刷出力を補正する例示的な方法６００を示す。すなわち、垂直の縞、水平の縞、チェッカー盤模様またはこれらの組み合わせを有する、美的でない印刷出力を生じるのに十分なほど数値がバランスしている、複数の色平面の領域における色平面データである。方法６００は、図５のブロック５１６に示されていない詳細を図示する。方法６００により、特にエラー修正関数およびビットマップを使用してエラーが修正された場所において、修正されたエラーに基づいて発射決定がなされる。
【００４２】
ブロック６０２において、制御は図５の５１６から移される。所定の画素に対して、シアンおよびマゼンタ色値またはシアンプライム（Ｃ’）またはマゼンタプライム（Ｍ’）が、入力ファイルの色平面から得られる。入力ファイルが８ビット色平面を有するＣＭＹＫファイルである場合には、色値は０から２５５の範囲である。
【００４３】
ブロック６０４において、エラー修正関数が、エラー修正分数、後で使用する修正エラー値を得るのに使用される。図７は、エラー修正関数の１実施例を示す図である。水平軸７０２は、現在関心のある画素の位置において最小の大きさを有する色平面の値に関連する。エラー修正関数７０４は、チャート内においてグラフで示される。垂直軸７０６は、色平面の１つに関連するエラーに乗算される小数（分数）値を含む。
【００４４】
動作において、シアンおよびマゼンタ色値、またはＣ’およびＭ’、すなわち現在の画素に関連する色平面における８ビット値は、小さい方を判断するように評価される。小さい方の色値の大きさは、図７に示されるようなエラー修正関数の水平軸と比較される。水平軸上の正しい位置から上の方へ移ることによって、グラフで示された関数と出会う。左方向に移動することにより、小数値に出会う。この値が修正エラー値変数に割り当てられる。たとえば、入力ファイルのシアン色平面の適当な画素において見出されるシアン値が１１５であり、同様に見出される関連するマゼンタ値が１６７であると考える。比較により、シアン値の方が小さいことが分かる。シアン値を変換関数の水平軸に適用することにより、関連するエラー修正値が垂直軸上に見出される。ここで、１１５のシアン値は、約０．６０の修正エラー値に関連する。
【００４５】
ブロック６０６において、ビットマップがシアンエラーとマゼンタエラーとを修正するように使用される。図３の説明から分かるように、色平面において見出される色値に加えて、各画素に関連する各色は、関連するエラーを有する。エラーは、各画素に関連する、シアンエラー、マゼンタエラーのような変数に累積される。ブロック６０６において、このエラーは修正され、それによって修正されたシアンエラーおよび修正されたマゼンタエラーが作成される。修正は、図８のビットマップのようなビットマップを参照した後になされる。
【００４６】
図８は、入力ＣＭＹＫファイルまたは同様のファイルにおいて存在する画素の数と配置に一致する寸法を有する２次元グリッドにわたり分布された１とゼロを有する例示的なビットマップを示す。代替的に、ビットマップは、より小さなグリッドから組み立てられ、タイルのように拡張されてもよい。１とゼロの分布は、ブロック６０６のアルゴリズムとともに、反復パターンの出現を防止するのを助ける。ほとんど無数の異なるビットマップが可能であるが、１またはゼロのいずれかの水平方向または垂直方向の連続は、反復パターンの出現を妨げるよりもむしろ助長するので、避けるべきであるということが一般的に当てはまる。したがって、図８のビットマップは、１および０の水平方向および水平方向垂直方向の連続を数個の画素以下に限定する。
【００４７】
擬似コードの以下の断片は、修正されたシアンエラーおよび修正されたマゼンタエラーの値が、ビットマップにしたがってどのように判断されるかを説明する。
【００４８】
0003782028.tif 000003
【００４９】
ビットマップが１であるとの判断は、処理される画素に関連するビットマップにおける位置を見ることによって決定される。任意に、ビットマップが当該画素位置において１である場合には、シアンエラーは、ブロック６０４から導かれる修正エラー値によって減少される。上記の例から分かるように、１１５のシアン値が約０．６０の修正エラー値に関連した場合には、修正されたシアンエラー値は、原シアンエラー値の６０％に設定される。対照的に、マゼンタは維持される。すなわち、修正されたマゼンタエラーは、マゼンタエラーに等しく設定される。ビットマップがゼロを有しているならば、マゼンタエラーは、修正エラー値分によって減少され、シアンエラーの大きさは維持される。したがって、図８のビットマップは、２以上の色平面の色に関連するエラー値に適用されるときに、１色を除く全ての修正された色を減少させる傾向がある。
【００５０】
ブロック６０８において、発射決定は、修正されたマゼンタエラーおよび修正されたシアンエラーの大きな方の判断に基く。
【００５１】
擬似コードの以下の断片は、当該プロセスを説明する。
【００５２】
0003782028.tif 000004
【００５３】
発射決定により、適当な色平面の適当な位置に１およびゼロが置かれることになる。
【００５４】
ブロック６１０において、制御は図５のブロック５１８に戻される。
【００５５】
図９は、図６の方法６００に代替するものである例示的な方法９００を示す。図９は、過度にバランスした条件にある色平面データに関連する美的でない印刷出力を補正する例示的な方法９００を示す。方法９００は、図５のブロック５１６によって示されていない詳細を説明する。方法９００により、特に０から２５５の数値を有するマトリクスを使用してエラーが修正される場合において、修正されたエラーに基づいて発射決定がなされる。
【００５６】
ブロック９０２において、制御は図５のブロック５１６から受け取られる。
【００５７】
ブロック９０４において、図１０のマトリクスを使用して、修正されたシアンおよびマゼンタエラーが割り当てられる。たとえば、マトリクスは、シアンプライム（Ｃ’）およびマゼンタプライム（Ｍ’）を使用して、修正されたｃエラーの値および修正されたｍエラーの値を見出すために使用される。以下の擬似コードは当該プロセスを説明する。
【００５８】
0003782028.tif 000005
【００５９】
したがって、シアンプライム（Ｃ’）は、適用位置に対するマトリクス値に比較され、マゼンタプライム（Ｍ’）は、逆マトリクス値、すなわち、２５５または他のビット深さ量から引かれたマトリクスの当該位置の値に比較される。例示的なマトリクスの部分が図１０に示される。マトリクスは、０から２５５までの数または同様の範囲を含む各画素に関連する位置を含む。このように、図１０のマトリクスは、図８のビットマップに類似の要素を有する。しかしながら、当該マトリクスによって、所定のピクセル位置における所定の色平面に与えられる、援助のよりすばらしい微調整（すなわち、「発射」の確度を増加させること）が可能となる。
【００６０】
比較の結果により、マトリクスから導かれた分数と乗算することにより、シアンおよびマゼンタエラーは修正される。１実施例において、分数は、関心のある位置におけるマトリクス値を２５５で除算したものである。代替的に、０．５のような定数が、上記の式における量（マトリクス値／２５６）に代わり使用される。
【００６１】
ブロック９０６において、色平面を発射する決定は、修正されたエラーの比較によってなされる。たとえば、画素位置に対するシアンとマゼンタのエラーが比較され、１平面が発射される。以下の擬似コードは、シアン（Ｃ）およびマゼンタ（ｍ）に対する状況を説明する。
【００６２】
0003782028.tif 000006
【００６３】
ブロック９０８において、制御は図５のブロック５１８に戻される。
【００６４】
図１１は、アンバランスな色平面値に関連する美的でない印刷出力を補正する例示的な方法１１００を示す。方法１１００は、図５のブロック５１８に示されていない詳細を示す。方法１１００によって、アンバランスなエラー、すなわち所定の領域内でアンバランスな数値を有する色平面に関連するエラーに向かう傾向に逆らう仕方でエラーが修正され分配される。
【００６５】
ブロック１１０２において、現在関心のある画素に対して、シアンプライムおよびマゼンタプライムに対する色平面値、シアンおよびマゼンタに対するエラー値、（図３に示されるような少なくとも一のエラーフォーマットを備え、図１２の１２１０に示される）エラー重み配列およびシアン発射およびマゼンタ発射に対する真偽値（すなわち、この画素に対してシアンまたはマゼンタが発射されたかを示すように設定されるブール変数）を含む多数の値が得られる。
【００６６】
（合計エラー＝シアンエラー＋マゼンタエラーのような）エラーの合計が計算され、Ｃ’およびＭ’の合計が計算される。
【００６７】
重みが計算される。重みは、数個の隣接画素の各々に行くエラーの分数を管理する。たとえば、重みは、前方(forward)シアン、前下方(forward and down)シアン、下方(down)シアン、および下後方(down and back)シアンに関連し、同様にマゼンタに関連してもよい。合計（Ｃ’＋Ｍ’）に対する重みも計算される。たとえば、以下の擬似コードは、シアンおよびマゼンタに関連する合計に基づいて４個の重みを計算する。
【００６８】
前方合計重み    ＝重み［合計］［１］
前下方合計重み  ＝重み［合計］［２］
下方合計重み    ＝重み［合計］［３］
下後方合計重み  ＝重み［合計］［４］
【００６９】
ブロック１１０４において、ｃ発射が真であれば、シアンエラーから２５５またはビット深さ量が引かれる。
【００７０】
ブロック１１０６において、ｍ発射が真であれば、マゼンタエラーから２５５またはビット深さ量が引かれる。
【００７１】
ブロック１１０８において、シアンプライム（Ｃ’）とマゼンタプライム（Ｍ’）の色値の大きさが比較される。色平面内の画素位置に関連するエラー値、シアンエラーおよびマゼンタエラーは、当該比較において使用されない。
【００７２】
ブロック１１１０において、シアンがマゼンタよりも小さかった場合、シアンエラーはマイノリティエラーとして計算され分配される。図３を参照すると、各画素は、前方、前下方、下方および後下方にエラーを分配することが分かる。したがって、各画素は、後方、上後方、上方および上前方の画素からエラーを受け取る。
【００７３】
シアンプライム（Ｃ’）の値は、ブロック１１０８において、マゼンタプライム（Ｍ’）の値よりも小さいと判断されているので、シアンプライムは、マイノリティな色と考えられる。例示的なステップにおいて、エラーが分配される位置（たとえば、前方、前下方など）に対してマイノリティ重みを表す変数が割り当てられる。たとえば、以下の擬似コードは、関連する「マイノリティ」変数に４個のシアン重みを割り当てる。
【００７４】
マイノリティ前方重み    ＝重み［Ｃ’］［１］
マイノリティ前下方重み  ＝重み［Ｃ’］［２］
マイノリティ下方重み    ＝重み［Ｃ’］［３］
マイノリティ下後方重み  ＝重み［Ｃ’］［４］
【００７５】
シアンエラーは、その後、マイノリティ重みとシアンエラーとの積になるように計算される。たとえば、以下の擬似コードは、現在の画素に対して、シアン色平面上の４個の位置へエラーを割り当てる。割り当てられるエラーは、マイノリティ重みに比例する。
【００７６】
前方シアン    ＝マイノリティ前方重み    ×  シアンエラー
前下方シアン  ＝マイノリティ前下方重み  ×  シアンエラー
下方シアン    ＝マイノリティ下方重み    ×  シアンエラー
下後方シアン  ＝マイノリティ下後方重み  ×  シアンエラー
【００７７】
シアンエラーを計算した後、シアンエラーは隣接画素に分配される。たとえば、関心のある画素の前方画素に対するシアンエラーは、前方シアン値分だけ増加される。他のエラー分配も同様になされる。
【００７８】
ブロック１１１２において、マゼンタエラー（マジョリティエラー）は、関心のある画素に対する両方の色に対する（ブロック１１０２に示されるような）エラーの合計の、合計の重み倍からシアンエラー分配を引いたものになるように計算される。たとえば、以下の擬似コードは、４個の隣接画素への分配に対するマゼンタエラーを計算する。
【００７９】
前方マゼンタ    ＝  前方合計重み    ×  合計エラー  −  前方シアン
前下方マゼンタ  ＝  前下方合計重み  ×  合計エラー  −  前下方シアン
下方マゼンタ    ＝  下方合計重み    ×  合計エラー  −  下方シアン
下後方マゼンタ  ＝  下後方合計重み  ×  合計エラー  −  下後方シアン
【００８０】
マゼンタエラーを計算した後、マゼンタエラーは隣接画素に分配される。たとえば、関心のある画素の前方画素に対するマゼンタエラー変数は、前方マゼンタ値分だけ増加される。他のエラー分配も同様になされる。
【００８１】
ブロック１１１４において、マゼンタエラーは、１１１０におけるシアンエラーと同じ仕方で計算され分配される。
【００８２】
ブロック１１１６において、シアンエラーは、１１１２におけるマゼンタエラーと同じ仕方で計算され分配される。
【００８３】
ブロック１１１８において、現在の画素に対する計算は、完了し、制御は、図５のブロック５２０に戻る。
【００８４】
図１２は、ファイル変換モジュール１２００の実施例を示すブロック図である。ファイル変換モジュールは、プロセッサによって実行される命令文を含むソフトウェア構造として実現されてもよく、特定用途向け集積回路（ＡＳＩＣ）によるような、ハードウェアによって実現されてもよい。ファイル変換モジュール１２００は、入力ファイル１２０２を、第１のフォーマットから第２のフォーマットの出力ファイル１２０４へ変換する。第１のファイルフォーマットは、通常、プリンタによって使用されるには詳細過ぎる情報を含む。第２のファイルフォーマットは、インクジェット、カラーレーザまたは他の印刷エンジンの動作に必要な特定の情報を含む。変換手続は、美的な印刷出力を生じるデータを有する出力ファイルを生じる。
【００８５】
入力ファイル１２０２は、通常８ビットＣＭＹＫ（シアン、マゼンタ、黄、黒）ファイルまたは同様のファイルフォーマットである。このようなファイルは、各画素に対する各色平面内に８ビットのデータを有する。結果として、当該ファイルは、各色平面の各画素に関連する発射するまたは発射しない命令よりも実質的に多くの情報を含み、各カラーインクジェットまたは同様の装置を制御するのに必要なものよりも多くの情報を含む。したがって、入力ファイルは、印刷装置によって使用可能な情報を提供するように処理される必要がある。
【００８６】
ハーフトーン処理モジュール１２０６は、図４、５、６、９および１１によって示される機能を含む。このモジュールは、適当な装置内に含まれてもよく、複数の色平面内に含まれる数値データの間に見出される特定の関係に関連する美的でないカラー印刷出力の発生を減少させる、ハーフトーン処理方法をサポートする。色平面値と発射閾値との間のずれに起因する、エラー値の計算、修正および分配は、美的でないカラー印刷出力を最小にする仕方で実行される。
【００８７】
エラー重み配列１２０８は、図３に示される重みフォーマット３００のような、少なくとも１個の重みフォーマットを含む。各重みフォーマットは、エラーが配分され得る多数の画素を含む。図３の例において、４個の画素が示されている。重みフォーマットは、また、前方、前下方のような、当該４個の画素の相対位置を含んでもよい。重みフォーマットは、さらに、各画素に関連する分数量を含む。１実施例において、分数量は合計して１００％となる。代替的に、エラーは、１００％ではない値によって、上げても下げてもよい。図３の例において、分数量は、７／１６、１／１６、５／１６および３／１６である。
【００８８】
エラー重み配列１２０８は、任意の色平面における任意の画素位置に関連する当該色に対する各可能な値に対して１個の重みフォーマット３００を含んでよい。したがって、当該エラーのわずかに異なる割合が、選択された重みフォーマットに基づいて異なる位置に分配される。たとえば、所定の色平面における所定の画素の値が５４であれば、エラー重み配列内の５４番目のレコードが当該エラーを分配するのに使用し得る。多数のエラーフォーマットを有することにより、エラーは常に同じ仕方で分配されず、それによって、反復パターンを防止する傾向がある。
【図面の簡単な説明】
【図１】多数の異なった色領域を有するドキュメントの図であり、画素レベルにおける詳細は、関連する数値がアンバランスな場合、バランスしている場合および重なっている場合における色平面データ関係の結果を示す。
【図２】例示的な印刷環境の図である。
【図３】色平面に関連するエラー分配を説明する図である。
【図４】美的でないカラー印刷出力を生じる反復パターンを防止する、方法および装置の動作フォーマットを示す流れ図である。
【図５】図４のブロック４０６をより詳細に説明する流れ図である。
【図６】図５のブロック５１６をより詳細に説明する流れ図である。
【図７】エラーを修正する際に使用される関数を説明する流れ図である。
【図８】図６の流れ図に関連する例示的なビットマップを説明する図である。
【図９】図５のブロック５１６をより詳細に説明する流れ図である。
【図１０】図９の流れ図に関連する例示的なマトリクスを説明する図である。
【図１１】図５のブロック５１８をより詳細に説明する流れ図である。
【図１２】美的でない出力に関連する反復パターンを防止する方法及び装置に関連する例示的なソフトウェアとデータファイル構造との間の関係を説明するブロック図である。
【符号の説明】
１２０２  入力ファイル
１２００  ファイル変換モジュール
１２０４  出力ファイル
【図１】
0003782028.tif 000007
【図２】
0003782028.tif 000008
【図３】
0003782028.tif 000009
【図４】
0003782028.tif 000010
【図５】
0003782028.tif 000011
【図６】
0003782028.tif 000012
【図７】
0003782028.tif 000013
【図８】
0003782028.tif 000014
【図９】
0003782028.tif 000015
【図１０】
0003782028.tif 000016
【図１１】
0003782028.tif 000017
【図１２】
0003782028.tif 000018