JP4125573B2 - 画像処理システム - Google Patents
画像処理システム Download PDFInfo
- Publication number
- JP4125573B2 JP4125573B2 JP2002274215A JP2002274215A JP4125573B2 JP 4125573 B2 JP4125573 B2 JP 4125573B2 JP 2002274215 A JP2002274215 A JP 2002274215A JP 2002274215 A JP2002274215 A JP 2002274215A JP 4125573 B2 JP4125573 B2 JP 4125573B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- error
- value
- rank
- pixels
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 50
- 238000009792 diffusion process Methods 0.000 claims description 106
- 230000002093 peripheral effect Effects 0.000 claims description 63
- 238000009877 rendering Methods 0.000 claims description 22
- 239000003550 marker Substances 0.000 claims description 14
- 238000005259 measurement Methods 0.000 claims description 6
- 238000000034 method Methods 0.000 description 43
- 230000008569 process Effects 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000013139 quantization Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 8
- 238000013467 fragmentation Methods 0.000 description 5
- 238000006062 fragmentation reaction Methods 0.000 description 5
- 239000012634 fragment Substances 0.000 description 4
- 229920006395 saturated elastomer Polymers 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/40—Picture signal circuits
- H04N1/405—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels
- H04N1/4051—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size
- H04N1/4052—Halftoning, i.e. converting the picture signal of a continuous-tone original into a corresponding signal showing only two levels producing a dispersed dots halftone pattern, the dots having substantially the same size by error diffusion, i.e. transferring the binarising error to neighbouring dot decisions
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Facsimile Image Signal Circuits (AREA)
- Color, Gradation (AREA)
Description
【発明の属する技術分野】
本発明は、階調および不飽和カラー画像を処理する技術に係る。特に、本発明は、さらなる処理または複写のために、ハーフトーン画像を走査して画像処理システムに取り込む際に適用される。また、本発明は、そのほかのソース(例えば、アドビグレイタイル(Adobe Gray tile)、JPEGの非圧縮画像、被走査線画、アンチ・エイリアシング画像などが挙げられるが、これらに限定されない)からの画像を処理する際にも有効である。(アドビ(Adobe)はアドビシステムズ社(Adobe Systems Incorporated)の登録商標である。)
【0002】
【従来の技術】
2値ハーフトーン画像は、無地の背景に、多数の小さなスポットを形成することでできている。スポットはグリッド状に配置されている。例えば、スポットはハーフトーン・スクリーンの構成で配置されている。複写処理中などにハーフトーン画像を走査する際、画像上の背景とスポットの位置とが、走査装置のセンサ位置と一致する可能性はほとんどない。このため、1つのスポットの一部分のみが、1つの関連する画像センサの視野に入っていることがある。このような理由から、被走査ハーフトーン画像は、ハーフトーン・スポットまたはドットの周囲にグレイ・エッジを含む傾向がある。このようなグレイのハーフトーンや、そのほかのソースからのグレイのハーフトーンを印刷するには、被走査画像の階調値を2値(背景と、スポット)形式に変換するか、階調値を補正もしくは除去することが必要である。
【0003】
グレイ画像を2値形式に変換する方法はいくつか知られている。例えば、閾値処理や再ハーフトーン化、および種々の誤差拡散技術により、このような画像を2値化する。
【0004】
【発明が解決しようとする課題】
これらの既知の方法には、いずれも問題点がある。例えば、単純な閾値処理を行うと、中間階調がすべて除去されてしまい、結果として不都合に大きいグレイ誤差が発生する。再度閾値処理を行うと、新しいハーフトーン・スクリーンの周波数要素が、原画像(または、被走査画像)のハーフトーン・グリッド・パターンと結びつき、不都合なモアレ・パターンを発生させることがある。従来の誤差拡散技術では、大抵の場合、パターン・アーチファクトを発生させることなく、被走査ハーフトーンをレンダリングすることができるが、画像上でドットの断片化が過剰に発生することが多い。少なくとも一部の環境、例えば一部のゼログラフィック環境では、ドットまたはスポットの断片化を防止することができる。コンパクト・ドットの場合、広がったドット断片に関わるドットの小断片の場合と比べ、ゼログラフィック装置の非線形性や処理上のずれの影響を受けにくい。例えば、ドットの小断片の大きさの小さな寸法オフセットは、同じ寸法オフセットがより大きいコンパクト・ドットに適用された場合と比べ、ドット利得誤差が大きい。ドット利得誤差は、画像もしくは画像の一部の、明度および暗度上の誤差として認識される。
【0005】
従来の2値化手法における問題点は、図1ないし図6に顕著に示されている。
【0006】
図1は、走査によって画像処理システムに取り込まれたオリジナル・ハーフトーン画像(被走査画像110)である。オリジナル・ハーフトーンは、毎インチ85本の45%ドット・スクリーンからなっていた。このスクリーンを、スキャナ・センサの配置と、スキャナのサンプリング周波数とから生じる、走査装置のグリッド・パターンに重ね合わせた。その結果、被走査画像110に格子状のモアレ・パターン114がかすかに発生した。図1の被走査画像110の一部118を拡大した図である210を示す図2を併せて参照する。(特に)原画像のドット位置と、スキャナ・センサの位置および配置とに相関関係がないため、被走査画像のドットの、原画像では黒色ドットと白色背景とがハイコントラストをなしていた部分に、グレイ・エッジ214が発生している。図3および図4を参照する。被走査画像110の被閾値処理版414の一部410を拡大した図である310より明らかなように、単純な閾値処理を行うことで、グレイ・エッジを除去し、ドットのコンパクト性を維持することができる。しかし、閾値処理は、かすかなモアレ・パターン114のコントラストを改良する際には逆効果となり、被閾値処理版414では、より鮮明なモアレ・パターン418を発生させている。
【0007】
再ハーフトーン化によってもドットのコンパクト性を維持できる。しかし、当業者には自明ながら、再ハーフトーン化によりさらなるモアレの影響が生じる。
【0008】
図5および図6を参照する。例えばフロイド−シュタインベルク(Floyd-Steinberg)誤差拡散法のような公知の誤差拡散技術により、被走査画像110の誤差拡散版510を作成した。誤差拡散版510はモアレが比較的少ない。フロイド−シュタインベルク誤差拡散法は、画像にパターン・アーチファクトを発生させないだけでなく、被走査画像110に存在していたモアレの影響を低減させる。しかし、誤差拡散版510の一部614の拡大図である610よりわかるように、誤差拡散の結果、画像上でドットの断片化618が発生している。ドット断片化は、画像のノイズの原因となる傾向がある。また、上記で説明したように、ドット断片化が発生すると、画像の空間的均質性や時間的安定性が低下し、またレンダリング・デバイスなどのドット利得誤差の影響を受けやすくなる。
【0009】
上述した諸問題点、および従来の2値化または量子化変換法における限界から、ドットのコンパクト性を改良もしくは維持しながら、グレイのハーフトーン画像またはグレイ・エッジの発生したそのほかの画像(例えば、アドビグレイタイル、JPEGの非圧縮画像、被走査線画、アンチ・エイリアシング画像)の変換された量子化版において、パターン・アーチファクトを除去し、減少させ、あるいは発生させない2値化または量子化変換法が求められている。
【0010】
【課題を解決するための手段】
本発明の一実施形態は、画像をハーフトーン化する方法であって、当該方法は、画像から画素値を受け取るステップと、周辺画素を取り囲む拡散マスクを選択するステップと、ハーフトーン化閾値を選択するステップと、マーキング決定を行うため、画素値と選択されたハーフトーン化閾値とを比較するステップと、画素値とマーキング決定とに基づいて誤差値を演算するステップと、算定された誤差値に基づいて、拡散マスクの範囲内の少なくとも1つの選択された周辺画素に誤差を拡散するステップと、を含む。周辺画素の選択は、拡散マスクの範囲内の複数の周辺画素の画素値に基づいて行われる。
【0011】
例えば、周辺画素は、その画素値に応じてランク分けされる。算定された誤差の符号に応じて、第1ランクまたは最下位ランクの画素が誤差を受け取る。実施形態によっては、残存誤差もしくは未拡散誤差は、すべての誤差が拡散されるか、あるいは誤差を受け取ることが可能な周辺画素が残っていない状態になるまで、以降のランクの画素に漸次割り当てられる。実施形態によっては、任意の1つの画素に分配される誤差の量は、最大もしくは最小画素値により、あるいはクリッピング・リミットにより制限されている。また、実施形態によっては、誤差自体に制限を加える。
【0012】
ランク順誤差拡散を行うための画像処理システムは、選択された1組の周辺画素に関する情報を受け取り、周辺画素の画素値に基づいて、選択された周辺画素にランクを割り当てるための画素ランカと、注目画素の画素値を閾値と比較し、比較結果を生ずるためのスレショルダと、比較結果に基づいてマーキング決定を行うためのマーカと、注目画素の画素値と、マーキング決定とに基づいて誤差値を演算し、選択された周辺画素のランクと、算定された誤差値とに基づいて、選択された周辺画素のうち少なくとも1つの画素値を変更する誤差ディフューザと、を含む。画像処理システムは、ゼログラフィック環境では、ゼログラフィック・プリンタをさらに含む。
【0013】
【発明の実施の形態】
図7を参照する。被走査ハーフトーン画像110に対してランク順誤差拡散を行うことで、ランク順誤差拡散版710が得られる。上述した従来の手法によるものとは対照的に、ランク順誤差拡散版710はパターン・アーチファクトが比較的少なく、また図8よりわかるように、比較的コンパクトなドット810からなっている。このため、ランク順誤差拡散版710をレンダリングした場合、ノイズがなく、従来の誤差拡散方法で得られる画像では顕著であった時間的不安定性、空間的非均質性、およびドット利得誤差の問題が発生しない。
【0014】
図9を参照する。ランク順誤差拡散を行う方法910は、処理すべき画像を受け取るステップ914と、画像の処理経路を選択するステップ918と、選択された処理経路に基づいて、拡散マスクまたは1組の拡散マスクを選択するステップ920と、画像から画素値を受け取るステップ922と、2値化閾値を選択するステップ926と、2値化閾値を画素の画素値と比較するステップ928と、比較結果に基づいてマーキング決定を行うステップ930と、画素値とマーキング決定とに基づいて誤差値を演算するステップ934と、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938と、を含む。
【0015】
画像は、ステップ914で、任意の画像ソースから受け取られる。ランク順誤差拡散は、アドビグレイタイルやJPEGの非圧縮画像の場合と同様に、被走査ハーフトーン画像に対して有効である。
【0016】
画像全体の処理経路を選択するステップ918は、例えば、1組のスペース・フィリング曲線の中から、処理すべき画像の特性や所望のレンダリング結果に基づいて、最適なスペース・フィリング曲線を選択することを含む。1組のスペース・フィリング曲線は、単純なラスタ走査(例えば、左から右、もしくは端から端への公知の反復走査で、一般的には画像の最上部から開始され、第1端から第2端へ向けて順次線走査を行い、以降の行も同様に線走査する)を含んでいてもよい。さらに、1組のスペース・フィリング曲線は、S字型ラスタ走査や、ヒルベルト(Hilbert)曲線やペアノ(Peano)曲線などのフラクタル・パターンなどの、より複雑な走査経路を含んでいてもよい。これらの曲線の選択上のトレードオフは、公知技術である。例として、実施の複雑性と、従来の誤差拡散方法で処理された画像中に時折見受けられるウォーム状構造のような、誤差拡散アーチファクトを隠す傾向との間のトレードオフが挙げられる。
【0017】
処理経路を選択するステップ918は、拡散マスクを選択するステップ920に影響を及ぼす場合がある。図10を参照する。拡散マスク(例えば、拡散マスク1010)は、拡散誤差を受け取る周辺画素の範囲を画定する。誤差拡散マスク1010では、注目画素1014が、拡散マスクの範囲内の周辺画素1016ないし1044に関して示されている。誤差を受け取る画素は、未処理画素であることが好ましい。このため、拡散マスクは未処理画素のみを含むよう選択されることが好ましい。左から右への単純な走査経路が選択された場合、拡散マスク1010が示すように、拡散マスクは、注目画素の右および下方向に配置された画素のみを含むものとすることができる。S字型経路が選択された場合、注目画素に対する未処理画素の相対位置は、注目画素の位置によって異なる。未処理画素は注目画素の右側にある場合もあれば、左側にある場合もある。この場合、2つの拡散マスク、すなわち処理が右方向に進行する場合に使用する第1のマスクと、処理が左方向に進行する場合に使用する第2のマスクを選択することが好ましいといえる。ヒルベルト曲線やペアノ曲線などのスペース・フィリング曲線を処理経路として使用する場合、経路の方向毎に1つずつ、複数の拡散マスクが必要となる。拡散マスクの形状は、すでに処理の完了した画素が含まれないよう選択される。あるいは、(例えば、ヒルベルト曲線やペアノ曲線などの、フラクタル・ベースのスペース・フィリング曲線の場合、)注目画素をおおむね取り囲むような形状の1つの拡散マスクを選択してもよい。この場合、処理が画像上を曲折しながら進行する際に、拡散マスクの範囲内にすでに処理の完了した画素が含まれる場合もあるが、これらの画素は誤差受入れに適さない画素とみなされる。
【0018】
画像から画素を受け取るステップ922は、後続画素すなわち次の注目画素の画素値を受け取ることを含む。また、画像から画素を受け取るステップ922は、画素の(画像内の)画素位置情報を受け取ることを含んでいてもよい。さらに、選択された、すなわちアクティブな拡散マスクに含まれる画素に関して、画素値や、画像処理システムの画像メモリにおける画素記憶位置を受け取ってもよい。
【0019】
2値化(または、量子化)閾値を選択するステップ926は、画像全体に対して1つの閾値(例えば、閾値128)を決定するだけの、単純なものであってもよい。あるいは、画像における画素位置に基づいて、ディザマトリックスまたはハーフトーン・スクリーンを選択し、画素毎に閾値を設けることもできる。この場合、画素位置に基づいて、ディザマトリックスまたはハーフトーン・スクリーンから1つの閾値が選定される。
【0020】
さらに、ここでは、ランク順誤差拡散を画素値の変更に適用したが、これは、拡散マスクの範囲内の画素に関連付けられた閾値の変更に適用することと等価である。例えば、ランク順誤差拡散を、ある画素の画素値に誤差関連値を加算する際に適用することは、当該画素と関連付けられた閾値から誤差関連値を減算することと等価である。従って、閾値を選択することは、先に処理された1つまたはそれ以上の画素から拡散された誤差によって変更された閾値を選択することを含むことがある。
【0021】
2値化または量子化閾値を画素の画素値と比較するステップ928は、閾値と画素値とのいずれが大きいかを決定するため、<or>比較などの関係演算や、2値化閾値と画素値との間での減算を伴うことが一般的である。演算項の順序は入れ替えてもよい。このほかの比較方式も可能である。例えば、比較を行う前に、重み付け係数もしくはスケーリング係数により、画素値または閾値のいずれかを変更してもよい。スケーリング係数は、例えば、画像の明るさを調節する手段である。
【0022】
比較結果に基づいてマーキング決定を行うステップ930は、画素値が閾値を上回っている場合にマークを配置すること、および画素値が閾値を上回っていない場合にマークを配置しないことを決定することを含む。マーキング決定の意味は逆であってもよい。すなわち、閾値が画素値を上回る場合にマークを配置してもよい。マーキング決定の結果、紙や被膜などの印刷媒体上にマークが配置される。あるいは、マーキング決定を、画像メモリや、画像処理システムの電子記憶装置に記憶したり、コンピュータ・ネットワークなどの別の装置に送信するだけでもよい。用語「マーキング決定を行う」を用いたが、これは、本発明がマーキング装置、特には2値マーキング装置に適用されることが最も多いためである。ただし、用語「マーキング決定を行う」は「量子化決定を行う」ことも含めて広義に解釈する必要がある。例えば、本発明は、効率的なデータ転送のための、あるいはデバイス上で2以上の量子化レベルでレンダリングするための画像を作成する目的で利用することができる。また、本発明は、画素の量子化解像度を、1画素当たり10ビットから8ビットへ低減させ、これによって、画像の転送に要する帯域幅の量を減少させる目的で利用することもできる。
【0023】
画素値とマーキング決定とに基づいて誤差値を演算するステップ934は、マーキング決定に関連する値を画素値から減算するのみで行うことができる。例えば、画素値を8ビット値で表示し、画素値255で黒色を、画素値0で白色を表示するとき、画素値が200で、閾値が128である場合は、黒色マークを配置することが決定される。黒色マークは画素値255で表されるため、このマークは55カウント分だけ暗すぎることになり、55の暗度(もしくは、明度)誤差が生じている。マーキング決定に関連する値(255)を画素値(200)から減算することで、誤差値−55が得られる。注目画素について行われたマーキング決定が暗すぎたため、周辺の画素を明るくしてこれを補償すべく、この誤差もしくはこの誤差に基づく誤差値を1つまたはそれより多くの周辺画素に拡散することができる。
【0024】
算定された誤差、および周辺画素の画素値に基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938は、周辺画素を、周辺画素の画素値に応じて(選択された拡散マスクの範囲内で)分類あるいはランク分けし、算定された誤差(もしくは、算定された誤差の関数である値)を、分類もしくはランク分けされた画素の位置に基づいて、少なくとも1つの周辺画素に分配することを含む。この分配すなわち拡散は、さまざまな方法で行うことができる。ここで、多数の好適なランク順ベースの誤差拡散法について説明する。なお、各例示的方法の態様は選択的なものであり、関連する方法から削除してもよい。また、当業者には、ここで説明するいくつかの実施形態に含まれていない態様を追加したり、例示した実施形態と組み合わせることで、さらに別の実施形態とすることも可能であることが明らかである。
【0025】
図11を参照する。第1実施形態において、算定された誤差、および周辺画素の画素値に基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938(図9)は、周辺画素の画素値に応じて、(拡散マスクの範囲内の)周辺画素を分類するステップ1110を含む。すなわち、周辺画素は、数値で表示される画素値によって表わされる画素の暗度もしくは明度に応じてランク分けされる。例えば、最も暗い画素、すなわち画素値の最も大きい画素が、1番目のランクを付与され、すなわち1番目にランクされる。最も明るい画素、すなわち画素値の最も小さい画素が、最後のランク、すなわち最も大きい番号のランクを付与される。
【0026】
誤差をチェックするステップ1114は、算定された誤差値が0であるか否かを決定する。算定された誤差が0でない場合、処理は次に進む。算定された誤差値が0である場合、拡散すべき誤差が存在しないため、処理は、処理すべき後続画素を待機する状態となる。
【0027】
符号をチェックするステップ1118は、誤差の符号を決定し、決定された符号に応じて処理を切り換える。
【0028】
誤差が正数である場合、誤差は、周辺画素のうち、画素値が最も大きく、誤差をいまだ受け取っていない画素に転送される(ステップ1122)。誤差の転送は、画素値が最大値に達するまで行われる。例えば、画素値を8ビット値で表示し、階調を0から255までの値で表すシステムでは、255が画素値の最大値となる。このシステムで、算定された誤差値が例えば100であり、第1ランクの画素すなわち画素値が最も大きい画素の画素値が220である場合、算定された誤差値のうち35カウントが第1ランクの画素に転送される。演算後、算定された誤差値は65まで低減し、第1ランクの画素の画素値は最大値である255となる。
【0029】
拡散が完了したか否かをチェックするステップ1126は、拡散されるべき誤差が残存しているか否かを決定する。上の例のように、誤差が拡散すなわち分配されずに残存している場合、処理は、適切な画素をチェックするステップ1128に進む。適切な画素をチェックするステップ1128は、誤差を受け取ることのできる周辺画素がまだあるか否かを決定する。誤差が残存しており、誤差を受け取ることのできる画素があるならば、処理はステップ1122に戻り、正の誤差を次に高いランクの画素に転送する。一方、すべての誤差拡散が完了した場合、もしくは画素を受け取ることのできる周辺画素が存在しない場合、処理は後続の注目画素を受け取るために待機する。
【0030】
誤差が負数である場合、誤差は、周辺画素のうち、画素値が最も小さく、誤差をいまだ受け取っていない画素に転送される(ステップ1132)。誤差の転送は、画素値が最小値に達するまで行われる。例えば、画素値を8ビット値で表示し、階調を0から255までの値で表すシステムでは、0が画素値の最小値となる。このシステムで、算定された誤差値が例えば−100であり、第1ランクの画素すなわち画素値が最も小さい画素の画素値が20である場合、算定された誤差値のうち−20カウントが最後のランクの画素に転送される。演算後、算定された誤差値は−80まで増大し、最後のランクの画素の画素値は最小値である0となる。
【0031】
拡散が完了したか否かをチェックするステップ1136は、拡散されるべき誤差が残存しているか否かを決定する。上の例のように、誤差が拡散すなわち分配されずに残存している場合、処理は、適切な画素をチェックするステップ1138に進む。適切な画素をチェックするステップ1138は、誤差を受け取ることのできる周辺画素がまだあるか否かを決定する。誤差が残存しており、誤差を受け取ることのできる画素があるならば、処理はステップ1132に戻り、負の誤差を次に低いランクの画素に転送する。一方、すべての誤差拡散が完了した場合、もしくは画素を受け取ることのできる周辺画素が存在しない場合、処理は後続の注目画素を受け取るために待機する。
【0032】
誤差は残存しているが、誤差を受け取ることのできる画素がない場合、残存誤差の切捨てを行うか、拡散マスクを拡張してさらに多くの周辺画素を供給する。あるいは、最大画素値および最小画素値と、飽和画素値、もしくはデジタルバイトまたは語のサイズにより付与される最大値および最小値との関連を断つこともできる。または、クリッピング機能をもつよう最大値および最小値を選択してもよい。クリッピング機能は、リンギングなどの暴走状態や、画像全体にわたり誤差が過度に伝播されることを防止する目的で使用することができる。
【0033】
次の擬似コードは、図9および図11に示すランク順誤差拡散法の第1実施形態を、ソフトウェア上で実施する方法を示す。この擬似コードは、飽和画素値に達するまで、誤差を拡散する例である。誤差を受け取る画素が複数にわたる場合もある。
周辺画素xi, i = 1,…,nを分類し、ランク順を付けられた画素yj, j = 1,…,nを生成する(yj-1 < yj)(ステップ1110)。
【0034】
次の擬似コードは、上記の擬似コードに比べて、一般性が高い。この擬似コードは、画素を、クリッピングレベルに達するまで、周辺画素に分配する概念を教示する。コード中、C+およびC-はそれぞれ正負のクリッピングレベルを示す。C+およびC-は定数であってもよく、また関数の値を有していてもよい。例えば、C+およびC-の値は、画素ランクまたは空間的位置の関数としてもよい。C+とC-とは、C+ -(飽和画素値(例えば、255))= - C-の関係にあることが好ましい。
画素xi, i = 1,…,nを分類し、ランク順を付けられた画素yj, j = 1,…,nを生成し(yj-1 < yj)(ステップ1110)、C+およびC-の値もしくは関数を選択する。
【0035】
図12を参照する。ランク順誤差拡散方法910の第2実施形態1210において、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938は、周辺画素の画素値に応じて、周辺画素を分類するステップ1110、算定された誤差値が0であるか否かを決定するために誤差をチェックするステップ1114、および(誤差がある場合)誤差の符号を決定するために符号をチェックするステップ1118をさらに含む。これらの要素は、第1実施形態の該当要素と同じであるため、共通の参照符号を使用する。第2実施形態1210では、符号をチェックするステップ1118が、誤差が正数であると決定した場合に、算定された誤差から、すべての正の誤差を、最も高いランクの画素に転送するステップ1218と、符号をチェックするステップ1118が、誤差が負数であると決定した場合に、算定された誤差から、すべての負の誤差を、最も低いランクの画素に転送するステップ1222とをさらに含む。
【0036】
誤差が正数である場合、ステップ1218で、誤差は最も画素値の大きい周辺画素に転送される。例えば、0から255までの画素値を用いて階調を表すシステムで、算定された誤差値が例えば100であり、第1ランクの画素の画素値が220である場合、算定された誤差値の全100カウントが、第1ランクの画素に転送される。演算後、算定された誤差値は低減して0となり、第1ランクの画素の画素値は上昇して320となる。この値は、ほかの画素を処理する過程で再び変更(さらに上昇または低減)されることがある。この画素自身が処理される際には、超過値(例えば、通常の上限である255を上回る値)は、誤差として周辺画素のうちの1つに受け渡すことができる。
【0037】
誤差が負数である場合、ステップ1222で、誤差は最も画素値の小さい周辺画素に転送される。例えば、0から255までの画素値を用いて階調を表すシステムで、算定された誤差値が例えば−100であり、最後のランクの画素すなわち画素値の最も小さい画素の画素値が20である場合、算定された誤差値の全−100カウントが、最後のランクの画素すなわち最も低いランクの画素に転送される。演算後、算定された誤差値は上昇して0となり、最終ランクの画素の画素値は低減して−80となる。この値は、ほかの画素を処理する過程で再び変更(上昇またはさらに低減)されることがある。この画素自身が処理される際には、超過値(例えば、通常の下限である0を下回る値)は、誤差として周辺画素のうちの1つに受け渡すことができる。
【0038】
次の擬似コードは、ランク順誤差拡散法の第2実施形態1210を実施する方法の一例を示す。
画素xi, i = 1,…,nを分類し、ランク順を付けられた画素を生成する(ステップ1110)(最大値xmax(y1)m、最小値xmin(yn))。
/*画素xi, i = 1,…,nは、拡散マスクの範囲内の周辺画素を表す。例えば、例示的拡散マスク1010の周辺画素1016−1044を参照のこと。*/
誤差を受け渡す;
if error > 0: /*正の誤差を、最大値を有する(高いランクの)画素に受け渡す。*/
y1 = xmax + error * w;
/*--w--は重みであり、乗法項もしくは加法項とすることができる。上記の実施例では、重みは使用されていない。この擬似コードでは、重み付けを、ある実施形態で示される概念を他の実施形態に当てはめることを可能とする方法の一例として位置付けている。重み付けについては、以下に詳述する。*/
if error < 0: /*負の誤差を、最小値を有する(ランクの低い)画素に受け渡す(ステップ1222)。*/
y1 = xmin + error * w;
注:正確な誤差を用いずに、重み付けした誤差を用いてもよい。重み付け係数の例として、次のものが挙げられる。(a)誤差の増幅、あるいは抑制のために予め定められた定数、(b)画素値に依存する値、(c)局所的変化、密度、勾配などの、画像の測定値に依存する値、(d)画素の空間的位置に依存する値(例えば、ハーフトーン効果を高める周期的な値、もしくはレギュラーパターンを損壊させるランダムな値)。
【0039】
図13を参照する。ランク順誤差拡散方法910の第3実施形態1310において、算定された誤差と、周辺画素の画素値とに基づいて、拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938は、周辺画素を分類するステップ1110、誤差をチェックするステップ1114、および符号をチェックするステップ1118をさらに含む。これらの要素は、図11を参照して説明した第1実施形態の該当要素と同じであるため、共通の参照符号を使用する。第3実施形態1310では、符号をチェックするステップ1118が、誤差が正数であると決定した場合に、周辺画素の分類されたランクに基づいて、正の拡散重みを周辺画素に割り当てるステップ1314をさらに含む。ステップ1318で、割り当てられた正の拡散重みに基づいて、正の誤差が周辺画素に拡散される。例えば、第1ランクの画素に、50%すなわち0.5の正の拡散重みを割り当て、第2ランクの画素に、32%すなわち0.32の正の拡散重みを割り当て、第3ランクの画素に、18%すなわち0.18の正の拡散重みを割り当てるようにしてもよい(拡散重みは百分率で表さなくともよいが、説明の便宜上、百分率を用いている)。
【0040】
このような、例示的な正の拡散重みを割り当てるシステムで、算定された誤差値が例えば100であり、画素値が最も大きい画素の画素値が220、第2ランクの画素の画素値が207、および第3ランクの画素の画素値が198であるとする。この場合、算定された誤差値の50%すなわち50カウントが第1ランクの画素に、算定された誤差値の32%すなわち32カウントが第2ランクの画素に、および算定された誤差値の18%すなわち18カウントが第3ランクの画素に分配される。演算後、第1ランクの画素の画素値は上昇して270となり、第2ランクの画素の画素値は上昇して239となり、第3ランクの画素の画素値は上昇して216となる。
【0041】
符号をチェックするステップ1118が、誤差が負数であると決定した場合、ステップ1334で、周辺画素の分類されたランクに基づいて、負の拡散重みが周辺画素に割り当てられる。用語「負の重み」は、重み自体が負の値であることや負の符号を帯びていることを意味しない。算定された負の誤差の分配との関連で、用語「負の重み」を使用している。ステップ1338で、割り当てられた負の拡散重みに基づいて、負の誤差が周辺画素に拡散される。例えば、最後のランクの画素に、50%すなわち0.5の負の拡散重みを割り当て、最後から2番目のランクの画素に、32%すなわち0.32の負の拡散重みを割り当て、最後から3番目のランクの画素に、18%すなわち0.18の負の拡散重みを割り当てるようにしてもよい。
【0042】
このような、例示的な負の拡散重みを割り当てるシステムで、算定された誤差値が例えば−100であり、画素値が最も小さい画素の画素値が20、最後から2番目のランクの画素の画素値が31、および最後から3番目のランクの画素の画素値が50であるとする。この場合、算定された誤差値の50%すなわち−50カウントが最後のランクの画素に、算定された誤差値の32%すなわち−32カウントが最後から2番目のランクの画素に、および算定された誤差値の18%すなわち−18カウントが最後から3番目のランクの画素に分配される。演算後、最後のランクの画素の画素値は低減して−30となり、最後から2番目のランクの画素の画素値は低減して−1となり、最後から3番目のランクの画素の画素値は低減して32となる。
【0043】
図14を参照する。ランク順誤差拡散方法910の拡散マスクの範囲内の周辺画素に誤差を拡散するステップ938は、第4実施形態1410において、周辺画素を分類するステップ1110、誤差をチェックするステップ1114、および符号をチェックするステップ1118をさらに含む。これらの要素は、第1実施形態の該当要素と同じであるため、共通の参照符号を使用する。第4実施形態1410は、正の誤差を拡散するために、正の拡散重みを周辺画素に割り当てるステップ1314と、負の誤差を拡散するために、負の拡散重みを周辺画素に割り当てるステップ1334と、をさらに含む。第4実施形態1410の、これらの重み割り当て要素は、第3実施形態1310の重み割り当て要素と同じであるため、共通の参照符号を使用する。
【0044】
第4実施形態1410も、正の誤差を分配するステップおよび負の誤差を分配するステップを含む。ただし、第4実施形態の正の誤差を分配するステップは、正の誤差を、画素値が最大画素値で制限された画素に割り当てられた正の重みに応じて、周辺画素に分配するステップ1418を含む。正の誤差の周辺画素への分配は、誤差を画素に分配することで、画素値がある最大値を上回ることがあるという点を除き、第3実施形態1310を参照して説明した方法で行われる。
【0045】
例えば、画素値を8ビット値で表示し、階調を0から255までの値で表すシステムでは、255が画素値の最大値となる。このシステムで、第1、第2、第3ランクの画素に、例示的な正の拡散重みがそれぞれ50%、32%、18%割り当てられ、算定された誤差値が例えば100であり、第1ランクの画素の画素値が220、第2ランクの画素の画素値が207、および第3ランクの画素の画素値が198であるとする。この場合、算定された誤差値の50%すなわち50カウントがまず第1ランクの画素に、算定された誤差値の32%すなわち32カウントが第2ランクの画素に、および算定された誤差値の18%すなわち18カウントが第3ランクの画素に分配されるはずである。しかし、誤差の50カウントを第1ランクの画素に分配すると、第1ランクの画素の画素値は270となり、最大値を上回ってしまう。このため、誤差の35カウントのみが第1ランクの画素に分配される。演算後、第1ランクの画素の画素値は上昇して最大値である255となり、第2ランクの画素の画素値は上昇して239となり、第3ランクの画素の画素値は上昇して216となる。第1ランクの画素に分配されなかった誤差は切り捨てられるか、あるいは、図示しない補助的な誤差分配手段により、ほかの周辺画素に分配される。
【0046】
同様に、第4実施形態の負の誤差を分配するステップは、負の誤差を、画素値が最小画素値で制限された画素に割り当てられた負の重みに応じて、周辺画素に分配するステップ1438を含む。負の誤差の周辺画素への分配は、誤差を画素に分配することで、画素値がある最小値を下回ることがあるという点を除き、第3実施形態1310を参照して説明した方法で行われる。例えば、画素値を8ビット値で表示し、階調を0から255までの値で表すシステムでは、0が画素値の最小値となる。
【0047】
このシステムで、第1、第2、第3ランクの画素に、例示的な負の拡散重みがそれぞれ50%、32%、18%割り当てられ、算定された誤差値が例えば−100であり、画素値が最も小さい画素の画素値が20、最後から2番目のランクの画素の画素値が31、最後から3番目のランクの画素の画素値が50であるとする。この場合、算定された誤差値の50%すなわち−50カウントがまず最後のランクの画素に、算定された誤差値の−32%すなわち32カウントが最後から2番目のランクの画素に、および算定された誤差値の18%すなわち−18カウントが最後から3番目のランクの画素に分配されるはずである。しかし、誤差の−50カウントを最後のランクの画素に分配すると、最後のランクの画素の画素値は−30となり、誤差の−32カウントを最後から2番目のランクの画素に分配すると、最後から2番目のランクの画素の画素値は−1となり、いずれの画素値も最小値を下回ってしまう。このため、誤差の−20カウントのみが最後のランクの画素に分配され、−31カウントのみが最後から2番目の画素に分配される。演算後、最後のランクの画素の画素値は低減して最小値である0となり、最後から2番目のランクの画素の画素値も低減して最小値である0となり、最後から3番目のランクの画素の画素値は低減して32となる。最後のランクの画素および最後から2番目のランクの画素に分配されなかった誤差は切り捨てられるか、あるいは、図示しない補助的な誤差分配手段により、ほかの周辺画素に分配される。
【0048】
次の擬似コードは、ランク順誤差拡散法の第3実施形態1310および第4実施形態1410をソフトウェア上で実施する方法の一例を示す。
【0049】
第1ないし第4実施形態を用いた実験で、故障モードが幾つか発生した。故障モードの1つ目は、「ハーフトーンドットの詰め込みすぎ」であり、この場合、詰め込みすぎたドットと画素グリッドとの相互の影響により、パターン・アーチファクトが発生することがある。2つ目は、従来の誤差拡散法で発生したものと同じ、ドットの小断片の発生である。3つ目は、直近のドットよりも飽和にわずかに近い、離れた位置にあるドットに誤差を受け渡すことによって生じる、粒状性である。第5実施形態では、周辺画素の階調がランク分けされている場合、周辺画素の階調は、注目画素に対する空間的相対位置によって異なる重み付け係数とともにランク分けされている。例えば、図10の例示的拡散マスク1010を参照すると、画素x1(1016)、画素x6(1028)、画素x7(1026)、および画素x8(1024)は、画素pに近いため、他の画素に比べて大きい空間的重みが付けられている。空間的重み付けは加法的あるいは乗法的に行うことができる。図7および図8に、空間的重み付けを用いたランク順誤差拡散処理の結果が示されている。ここでは、正の誤差の加法的重みである32、16、8が、画素x1(1016)、画素x7(1026)、画素x8(1024)のそれぞれに適用されており、他の画素にはすべて空間的重み0が適用されている。同様に、負の重みが負の誤差に適用されている。図7および図8に示されているように、ハーフトーンドットの詰め込み方は妥当であり、画像にはパターン・アーチファクトが発生していない。
【0050】
図15を参照する。ランク順誤差拡散方法910の第5実施形態1510において、周辺画素に誤差を拡散するステップ938は、拡散マスクの範囲内の周辺画素に空間的重みを割り当てるステップ1514、画素値と、割り当てられた空間的重みとの組合せに応じて、周辺画素を分類するステップ1518、誤差をチェックするステップ1114、および符号をチェックするステップ1118をさらに含む。誤差をチェックするステップ1114および符号をチェックするステップ1118は、第1実施形態の該当要素と同じであるため、共通の参照符号を使用する。第5実施形態1510は、正の誤差を拡散するために、正の拡散重みを周辺画素に割り当てるステップ1314と、負の誤差を拡散するために、負の拡散重みを周辺画素に割り当てるステップ1334とをさらに含む。第5実施形態1510の、これらの重み割り当て要素は、第3実施形態1310の重み割り当て要素と同じであるため、共通の参照符号を使用する。第5実施形態1510も、正の誤差を分配するステップ1418および負の誤差を分配するステップ1438を含む。第5実施形態1510の、誤差分配要素は、第4実施形態1410の誤差分配要素と同じであるため、共通の参照符号を使用する。
【0051】
周辺画素に空間的重みを割り当てるステップ1514は、周辺画素の注目画素からの距離、または何らかの他の空間的測定に基づいて行うことができる。例えば、空間的重みの割り当ては、ある周辺画素の、ハーフトーンドット中心からの距離に基づいて行うことができる。ハーフトーンドットの暗い部分に近い画素に空間的重みを付与して、この画素が、画素を暗くする誤差を受け取りやすくしてもよい。また、ハーフトーンドットの明るい位置に近い画素に空間的重みを付与して、この画素が、画素を明るくする誤差を受け取りやすくしてもよい。空間的重みは、周辺画素の明度変化を考慮して付与することもできる。また、空間的重みは、周辺画素間のコントラストを考慮して付与することもできる。空間的情報と、このようなそのほかの考慮すべき要素(変化、コントラストなど)の、割り当てられる空間的重みに対する関与の割合はさまざまである。実際には、空間的要素は、ほとんどまたは全く関与しないこともある。空間的重みを「ランク分け」として要請したとしても、他の要素が重要であることもある。
【0052】
画素値と、割り当てられた空間的重みとに応じて周辺画素を分類するステップ1518は、前述した分類プロセス1110と類似している。分類ステップ1518と1110との間の唯一の相違は、ステップ1518は、画素値のみに基づいて分類を行うのではなく、画素値と、割り当てられた空間的重みとの組合せ(加法、減法、乗法もしくはそのほかの組合せ)により得られる値に基づいて分類を行う点にある。
【0053】
次の擬似コードは、画素値に加え、係数を用いてランクを決定する方法を示す。この例では、ランクの変更は空間的距離を用いて行う。
周辺画素xi*rwi, i = 1,…,nを分類し、所定の空間的重み付け係数rwiを有するyj, j = 1,…,nを得る。さらに、正負の誤差分散重み付け係数wjを決定する。
注:上述した実施例の注が本実施例にも適用できる。本実施例でのランク分けのための重みは、例えば所与の注目画素からの空間的距離や、ハーフトーンドット中心からの距離のようなそのほかの空間測定などの基準により決定することができる。誤差の重み付けの場合と同様に、ランク重み付けも、加法や乗法などの多くのプロセスにより実施することができる。
【0054】
図16を参照する。ランク順誤差拡散方法910を実施するための画像処理システム1610の一部は、画素および周辺セレクタ1614、画素ランカ1618、スレショルダ1622、マーカ1626、誤差ディフューザ1630、およびレンダリング・デバイス1634を含む。
【0055】
画素および周辺セレクタ1614は、画像1642の画素を処理するための、処理経路もしくはスペース・フィリング曲線を選択する。さらに、画素および周辺セレクタ1614は、選択された処理経路に適合する拡散マスク、または1組の拡散マスクを選択しあるいは生成する。処理経路の選択は、システム・オペレータから受け取った入力や画像分析、および既知もしくはデフォルト・レンダリング嗜好に基づいて行うことができる。例えば、スペース・フィリング曲線の選択肢を、オペレータ(図示せず)に提示してもよい。あるいは、スペース・フィリング曲線に関連するものとして知られるレンダリング特性のリストを、オペレータに提示してもよい。画素および周辺セレクタ1614は、好適なレンダリング特性の選択を、関連する処理経路の使用要求と解釈する。拡散マスクもしくは1組の拡散マスクの選択は、選択されたスペース・フィリング曲線、あるいは、オペレータの入力に基づいて行ってもよい。マスク選択は、オペレータ入力により明示的になされてもよく、また好適なレンダリング特性の選択を通じて暗示されてもよい。あるいは、画素および周辺セレクタ1614が、画像1642を分析し、その画像特性に基づいてスペース・フィリング曲線と拡散マスクとを自動的に選択してもよい。
【0056】
処理経路および拡散マスクが選択されると、画素および周辺セレクタ1614は、入力された画像全体にわたって処理経路をたどり、注目画素と周辺画素とを画像から選択し、これらに関する情報を、画素ランカ1618とスレショルダ1622とに送る。画素ランカ1618は、注目画素と周辺画素に関する情報を受け取る。スレショルダ1622は、注目画素に関する情報のみを受け取る。
【0057】
例えば、画素ランカ1618は、画素値情報を受け取る。画素ランカ1618は、必要に応じて画素位置情報をさらに受け取る。画素ランカ1618は、周辺画素の画素値に基づいて周辺画素をランク分けする。画素ランカ1618は、周辺画素を分類すなわちランク分けする前に、必要に応じて空間的重みを周辺画素の画素値に適用する。適切な空間的重みは、所定のデフォルト値、オペレータにより選択されたレンダリング嗜好により指示される値、および画像ランカ1618の行う画像分析に基づく値、のいずれであってもよい。あるいは、空間的重みは、周辺画素の明度変化を考慮するもの、または周辺画素間のコントラストを考慮するものであってもよい。画素ランカ1618は、画素値、画素ランク、画素位置情報などを含む画素情報を、誤差ディフューザ1630に送る。
【0058】
スレショルダ1622は、注目画素についての画素値および画素位置情報を受け取る。スレショルダ1622は、注目画素の画素値を閾値と比較する。閾値は、定数値としてもよく、画像のすべての画素値との比較に用いられてもよい。また、閾値は、変数としてもよい。閾値は、例えばハーフトーン・スクリーンから得ることができる。ハーフトーン・スクリーンから、注目画素の位置情報に基づいて、閾値を選択することができる。スレショルダ1622は、注目画素の画素値を閾値と比較した結果を、マーカ1626に送る。例えば、スレショルダ1622は、注目画素の画素値が閾値を上回っているか、もしくは下回っているかを、マーカ1626に報知する。さらに、スレショルダ1622は、注目画素の画素値を誤差ディフューザ1630に送る。
【0059】
マーカ1626は、スレショルダ1622から受け取った比較結果に基づいて、マーキング決定を行う。例えば、マーカ1626は、画素値が閾値を上回っていれば、出力画像中の注目画素に対応する位置に、マークを配置することを決定する。出力画像は、電子メモリまたはバッファに格納される電子画像としてもよい。あるいは、出力画像は、レンダリングデバイス1634により生成される画像であってもよい。マーカ1626は、マーキング決定に関連する値を誤差ディフューザ1630に送る。例えば、マーカ1626は、255(8ビットシステムの場合)などの完全飽和マークに対応する値、もしくは0などの完全不飽和マーク(白色マークまたはマークなし)を誤差ディフューザ1630に送る。
【0060】
誤差ディフューザ1630は、マーカ1626から受け取った値を、注目画素の画素値と比較し、誤差値を演算する。次いで、誤差ディフューザ1630は、(拡散マスクの範囲内の)1つまたはそれより多くの周辺画素に、誤差を転送もしくは分配する。誤差の転送もしくは分配は、画素ランカ1618によるランク分けに基づいて行われる。従って、誤差の転送もしくは分配は、画素の1つまたはそれより多くの画素値で示される、周辺画素の明度または暗度に基づいて行われる。必要に応じて、ランク分け、およびそれによる誤差転送もしくは分配は、周辺画素の空間的位置に基づいて行われる。例えば、ランク分けに当たって、周辺画素の注目画素からの距離を考慮してもよい。あるいは、もしくはさらに、ランク分けに当たって、関連するハーフトーン・ドットに対する周辺画素の相対位置を考慮してもよい。上に説明したように、すべての誤差を1つの周辺画素に、もしくは複数の周辺画素に転送することができる。誤差は、重みを付けた状態または付けない状態で転送もしくは分配されることができる。重みの有無に関わらず、誤差はクリッピングされたすなわち制限された方法で、あるいは制限されない方法で転送または分配されることができる。
【0061】
誤差ディフューザ1630は、誤差を転送もしくは分配することにより、画像1642の中の幾つかの周辺画素の画素値を変更または更新する。次いで、画素および周辺セレクタ1614は、予め選択されたスペース・フィリング曲線に基づいて、新しい注目画素と、これに関連する新しい1組の周辺画素とを選択する。そして、機能ブロック1614、1618、1622、1626、1630は、この新しい注目画素について、それぞれの機能を繰り返す。
【0062】
マーカ1626によって行われたマーキング決定は、画像の処理中、あるいは画像全体の処理の終了後、レンダリングデバイス1634に送られることができる。
画像が処理されている間、あるいは画像全体が処理されている間、マーカ1626により行われるマーキング決定はレンダリングデバイス1634に送られることができる。レンダリングデバイス1634は、2値レンダリングデバイスもしくはマルチ量子化レベルのレンダリングデバイスとすることができる。ゼログラフィック環境では、レンダリングデバイス1634はゼログラフィック・プリンタである。ゼログラフィック・プリンタは、定着部、現像部、画像形成部材を含む。このほかの環境では、レンダリングデバイス1634は、何らかの種類のディスプレイまたは印刷機器とすることができる。レンダリングデバイスは、インクジェット、リソグラフ、イオノグラフィック・プリンタなどとすることができる。
【0063】
ランク順誤差拡散方法910を実施するための画像処理システム1610の、上に説明した要素は、さまざまな方法で実施することができる。画素および周辺セレクタ1614、画素ランカ1618、スレショルダ1622、マーカ1626、および誤差ディフューザ1630は、ソフトウェア上で実施されることが好ましい。ソフトウェアは、コンピュータ・メモリに格納され、1つまたはそれより多くの計算機器(1つまたはそれより多くのマイクロプロセッサまたはディジタル信号処理プロセッサなど)上で実施される。機能ブロック1614、1618、1622、1626、1630は、1つのデバイスに格納され、実施されてもよく、また分散され、コンピュータ・ネットワークで相互接続されてもよい。当然ながら、機能ブロック1614、1618、1622、1626、1630の機能の編成は、ここに述べたものと異なっていてもよく、名称の異なる機能ブロックによって実施されてもよい。
【図面の簡単な説明】
【図1】被走査ハーフトーン画像を示す図である。
【図2】図1の被走査ハーフトーン画像の一部を拡大した図である。
【図3】図4の一部を拡大した図である。
【図4】単純な閾値処理により作成された、図1の被走査ハーフトーン画像のレンダリング可能版である。
【図5】標準的なフロイド−シュタインベルク誤差拡散法で作成された、図1の被走査ハーフトーン画像のレンダリング可能版である。
【図6】標準的なフロイド−シュタインベルク誤差拡散版の一部を拡大した図である。
【図7】ランク順誤差拡散法で作成された、図1の被走査ハーフトーン画像のレンダリング可能版である。
【図8】ランク順誤差拡散版の一部を拡大した図である。
【図9】画像のレンダリング可能版を作成する方法を概説するフローチャートである。該方法は、ランク順誤差拡散に基づいている。
【図10】拡散マスクの一例を示す図である。
【図11】図9の方法の一部の第1実施形態である。
【図12】図9の方法の一部の第2実施形態である。
【図13】図9の方法の一部の第3実施形態である。
【図14】図9の方法の一部の第4実施形態である。
【図15】図9の方法の一部の第5実施形態である。
【図16】図9の方法を実施するための画像処理システムの一部のブロック図である。
【符号の説明】
110 被走査画像
710 ランク順誤差拡散版
910 ランク順誤差拡散方法
Claims (7)
- 注目画素として選択されたことのない、注目画素の周辺の複数の画素である選択された1組の周辺画素に関する情報を受け取り、前記周辺画素の各々の画素値にもとづいて、選択された前記周辺画素の各々にランクを割り当てるための画素ランカと、
注目画素の画素値を閾値と比較し、比較結果を生ずるためのスレッショルダと、
前記比較結果にもとづいてマーキング決定を行うためのマーカと、
前記注目画素の前記画素値と、前記マーキング決定とにもとづいて誤差値を演算し、前記周辺画素の各々のランクにもとづいて、選択された前記周辺画素のうち少なくとも1つの周辺画素を選択し、選択された該少なくとも1つの周辺画素のランクと算定された前記誤差値とにもとづいて、選択された該少なくとも1つの周辺画素の画素値を変更する誤差ディフューザと、
を含む、ランク順誤差拡散を行うための画像処理システム。 - 画像を処理するための処理経路を選択し、注目画素に関連する周辺画素を画定するための少なくとも1つの拡散マスクを選択し、選択された前記処理経路に基づいて前記注目画素を選択し、選択された前記注目画素と、選択された前記拡散マスクとに基づいて、周辺画素を選択し、前記注目画素と選択された前記周辺画素に関する情報を、前記画素ランカに送るための、画素および周辺セレクタをさらに含む、請求項1に記載の画像処理システム。
- 前記マーカから受け取る複数のレンダリング決定に基づいて画像をレンダリングするためのレンダリング・デバイスをさらに含む、請求項1に記載の画像処理システム。
- 前記レンダリング・デバイスは、ゼログラフィック・プリンタを含む、請求項3に記載の画像処理システム。
- 前記画素ランカは、前記周辺画素の画素値と、少なくとも1つの前記周辺画素の空間的位置の測定値とに基づいて、選択された前記周辺画素にランクを割り当てるためのものである、請求項1に記載の画像処理システム。
- 前記少なくとも1つの前記周辺画素の空間的位置の測定値は、前記注目画素に対する空間的相対位置の測定値である、請求項5に記載の画像処理システム。
- 前記少なくとも1つの前記周辺画素の空間的位置の測定値は、関連するハーフトーン・スクリーンの一部に対する空間的相対位置の測定値である、請求項5に記載の画像処理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US968651 | 2001-10-01 | ||
US09/968,651 US7079289B2 (en) | 2001-10-01 | 2001-10-01 | Rank-order error diffusion image processing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003179755A JP2003179755A (ja) | 2003-06-27 |
JP4125573B2 true JP4125573B2 (ja) | 2008-07-30 |
Family
ID=25514571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002274215A Expired - Fee Related JP4125573B2 (ja) | 2001-10-01 | 2002-09-20 | 画像処理システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7079289B2 (ja) |
EP (1) | EP1298916B1 (ja) |
JP (1) | JP4125573B2 (ja) |
DE (1) | DE60230958D1 (ja) |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100871234B1 (ko) * | 2000-06-27 | 2008-11-28 | 가부시끼가이샤 케이비엠제이 | 정보 제공 시스템, 정보 제공 방법 및 컴퓨터 판독가능한 기록 매체 |
US7564588B2 (en) * | 2002-01-24 | 2009-07-21 | Ricoh Company, Ltd. | Image forming device, image forming method, and recording medium that provide multi-level error diffusion |
JP4014083B2 (ja) * | 2002-03-06 | 2007-11-28 | 株式会社リコー | 画像形成装置 |
US6923499B2 (en) * | 2002-08-06 | 2005-08-02 | L & L Products | Multiple material assembly for noise reduction |
US8612628B1 (en) * | 2003-01-07 | 2013-12-17 | Novell, Inc. | Method and system for transferring repetitive images over computer networks |
US7224487B2 (en) * | 2003-01-22 | 2007-05-29 | Ricoh Co., Ltd. | Ink reduction error diffusion |
DE10325621B4 (de) * | 2003-06-06 | 2006-02-16 | Heidelberger Druckmaschinen Ag | Verfahren zur Grauwertkorrektur für binäre Bilddaten |
US8184340B2 (en) * | 2003-06-17 | 2012-05-22 | Xerox Corporation | Method for color rendering using scanned halftone classification |
US20050219623A1 (en) * | 2003-07-23 | 2005-10-06 | Konica Minolta Holdings, Inc. | Image processing apparatus and image processing method |
US20050053289A1 (en) * | 2003-09-05 | 2005-03-10 | Sharp Laboratories Of America, Inc. | Staged full-image decompressing, re-sizing and half-toning by less than full-image data-file stages |
US7265872B2 (en) * | 2003-10-15 | 2007-09-04 | International Business Machines Corporation | Error diffusion with averaged directional biases |
US7253927B2 (en) * | 2003-10-15 | 2007-08-07 | Benq Corporation | Method of adjusting halftone image dot positions for improving print quality |
MXPA05007706A (es) * | 2004-07-23 | 2006-01-26 | Thomson Licensing Sa | Metodo y dispositivo para procesamiento de datos de video al combinar difusion de error y otras oscilaciones. |
US8432582B2 (en) * | 2004-08-20 | 2013-04-30 | Xerox Corporation | Uniformity compensation in halftoned images |
US20060056722A1 (en) * | 2004-09-14 | 2006-03-16 | Nathan Moroney | Edge preserving method and apparatus for image processing |
US7460276B2 (en) * | 2004-12-17 | 2008-12-02 | Xerox Corporation | Systems and methods for rank-order error diffusion image processing |
US7440139B2 (en) * | 2005-01-13 | 2008-10-21 | Xerox Corporation | Systems and methods for controlling a tone reproduction curve using error diffusion |
US8208175B2 (en) * | 2005-04-13 | 2012-06-26 | Xerox Corporation | Blended error diffusion and adaptive quantization |
US7787703B2 (en) * | 2005-05-11 | 2010-08-31 | Xerox Corporation | Method and system for extending binary image data to contone image data |
US8049929B2 (en) * | 2005-09-02 | 2011-11-01 | Xerox Corporation | Color management of halftoned images |
US7580569B2 (en) * | 2005-11-07 | 2009-08-25 | Xerox Corporation | Method and system for generating contone encoded binary print data streams |
US7773254B2 (en) * | 2005-11-10 | 2010-08-10 | Xerox Corporation | Method and system for improved copy quality in a multifunction reprographic system |
US7869093B2 (en) | 2005-11-17 | 2011-01-11 | Xerox Corporation | Method and system for improved copy quality in a multifunction reprographic system |
US7663782B2 (en) * | 2006-01-26 | 2010-02-16 | Xerox Corporation | System and method for high addressable binary image generation using rank ordered error diffusion on pixels within a neighborhood |
US7742658B2 (en) * | 2006-01-26 | 2010-06-22 | Xerox Corporation | System and method for boundary artifact elimination in parallel processing of large format images |
US7627191B2 (en) * | 2006-08-14 | 2009-12-01 | Xerox Corporation | Image manipulation |
US20080049238A1 (en) * | 2006-08-28 | 2008-02-28 | Xerox Corporation | Method and system for automatic window classification in a digital reprographic system |
US7719719B2 (en) * | 2006-09-18 | 2010-05-18 | Xerox Corporation | Sharpening a halftoned image |
US7817838B2 (en) * | 2007-05-24 | 2010-10-19 | University Of Utah Research Foundation | Method and system for constrained reconstruction of imaging data using data reordering |
US20080292167A1 (en) * | 2007-05-24 | 2008-11-27 | Nick Todd | Method and system for constrained reconstruction applied to magnetic resonance temperature mapping |
US20090073495A1 (en) * | 2007-09-14 | 2009-03-19 | Ricoh Company, Ltd | Image processing apparatus and computer program product |
JP4937868B2 (ja) * | 2007-09-14 | 2012-05-23 | 株式会社リコー | 画像処理装置、画像記録装置、プログラムおよび記録媒体 |
US9460491B2 (en) * | 2008-08-25 | 2016-10-04 | Xerox Corporation | Method for binary to contone conversion with non-solid edge detection |
US20130100334A1 (en) * | 2011-10-20 | 2013-04-25 | Broadcom Corporation | Method and System for an Adaptive Auto-Focus Algorithm |
US20140028801A1 (en) * | 2012-07-30 | 2014-01-30 | Canon Kabushiki Kaisha | Multispectral Binary Coded Projection |
JP6119322B2 (ja) * | 2013-03-13 | 2017-04-26 | セイコーエプソン株式会社 | 画像データ処理装置、印刷装置および印刷システム |
JP6414537B2 (ja) * | 2015-11-10 | 2018-10-31 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置、及び画像形成システム |
WO2020046302A1 (en) | 2018-08-30 | 2020-03-05 | Hewlett-Packard Development Company, L.P. | Error diffusion for printing |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4210936A (en) * | 1977-12-27 | 1980-07-01 | Pitney Bowes Inc. | Method and apparatus for reproducing an original gray scale image |
GB8617076D0 (en) * | 1986-07-14 | 1986-08-20 | British Broadcasting Corp | Video scanning systems |
US4680645A (en) * | 1986-08-25 | 1987-07-14 | Hewlett-Packard Company | Method for rendering gray scale images with variable dot sizes |
US5086484A (en) | 1988-08-24 | 1992-02-04 | Canon Kabushiki Kaisha | Image processing apparatus with fixed or variable threshold |
JPH0380767A (ja) * | 1989-08-24 | 1991-04-05 | Ricoh Co Ltd | 画像の階調記録装置 |
US5051841A (en) * | 1989-10-16 | 1991-09-24 | Bowers Imaging Technologies, Inc. | Process for providing digital halftone images with random error diffusion |
US5050000A (en) * | 1990-05-21 | 1991-09-17 | Eastman Kodak Company | Error diffusion of subcells in digital halftoning |
US5140432A (en) | 1990-09-12 | 1992-08-18 | Hewlett-Packard Company | Method and system for printing in one or more color planes with improved control of error diffusion |
US5602943A (en) * | 1992-04-28 | 1997-02-11 | Velho; Luiz C. | Digital halftoning space filling curves |
NL9300684A (nl) * | 1993-04-22 | 1994-11-16 | Oce Nederland Bv | Werkwijze voor het halftonen van gedigitaliseerde grijswaardebeelden en beeldbewerkingsinrichting geschikt voor het uitvoeren van een dergelijke werkwijze. |
JP3240803B2 (ja) | 1994-02-14 | 2001-12-25 | セイコーエプソン株式会社 | 画像処理装置および画像処理方法 |
US5535019A (en) * | 1994-09-15 | 1996-07-09 | Xerox Corporation | Error diffusion halftoning with homogeneous response in high/low intensity image regions |
AUPN098895A0 (en) * | 1995-02-09 | 1995-03-09 | Canon Kabushiki Kaisha | Stable error diffusion |
US5581371A (en) * | 1995-03-07 | 1996-12-03 | Eastman Kodak Company | Error diffusion method |
NL1004279C2 (nl) | 1996-10-15 | 1998-04-20 | Oce Tech Bv | Werkwijze voor het halftonen van grijswaardesignalen van pixels van een beeld en beeldreproductieinrichting voor het reproduceren van beelden. |
US5991438A (en) * | 1997-07-31 | 1999-11-23 | Hewlett-Packard Company | Color halftone error-diffusion with local brightness variation reduction |
US6160921A (en) * | 1998-06-15 | 2000-12-12 | Apple Computer, Inc. | Error diffusion with homogeneous distribution in highlight and shadow regions |
-
2001
- 2001-10-01 US US09/968,651 patent/US7079289B2/en not_active Expired - Fee Related
-
2002
- 2002-09-20 JP JP2002274215A patent/JP4125573B2/ja not_active Expired - Fee Related
- 2002-10-01 EP EP02022213A patent/EP1298916B1/en not_active Expired - Fee Related
- 2002-10-01 DE DE60230958T patent/DE60230958D1/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US7079289B2 (en) | 2006-07-18 |
EP1298916B1 (en) | 2009-01-21 |
JP2003179755A (ja) | 2003-06-27 |
EP1298916A3 (en) | 2005-09-21 |
EP1298916A2 (en) | 2003-04-02 |
DE60230958D1 (de) | 2009-03-12 |
US20030090729A1 (en) | 2003-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4125573B2 (ja) | 画像処理システム | |
EP1505821B1 (en) | Image processing apparatus, an image forming apparatus and an image processing method | |
US8208175B2 (en) | Blended error diffusion and adaptive quantization | |
US5754311A (en) | Method and apparatus for generating simultaneously derived correlated digital halftone patterns | |
JPH08107500A (ja) | 高/低輝度画像域の均質な応答を利用した誤差拡散ハーフトーン処理システム及び方法 | |
US7064862B2 (en) | Printer and printing method for image-quality correction | |
JPH05308515A (ja) | 画像中のピクセル値を量子化する方法 | |
EP1558017A2 (en) | Halftoning method and system | |
EP0938064A2 (en) | Error diffusion image processing method and apparatus | |
US6778299B2 (en) | Error diffusion with partial dots method and system | |
US6122407A (en) | Method and apparatus for producing threshold arrays using variance minimization and sparse image calculations | |
US7460276B2 (en) | Systems and methods for rank-order error diffusion image processing | |
JP3762800B2 (ja) | 網目スクリーンの作成方法 | |
US20040090654A1 (en) | FM screening with sub-dot phase modulation | |
US8279489B2 (en) | Image processing apparatus and control method thereof for converting multilevel image data to binary data using an error diffusion method | |
Fan | Dot-to-dot error diffusion | |
EP0859508A2 (en) | Halftone representation taking into account characteristics of image and printer | |
US20010038465A1 (en) | Threshold matrix, and method and apparatus of reproducing gray levels using threshold matrix | |
JPH0738767A (ja) | 画像2値化処理装置 | |
JP4761217B2 (ja) | 画像処理装置、画像形成装置、画像形成システム、および画像処理プログラム | |
US7663782B2 (en) | System and method for high addressable binary image generation using rank ordered error diffusion on pixels within a neighborhood | |
JP2900907B2 (ja) | 画像処理装置 | |
JP2006094566A (ja) | 網目スクリーンの作成方法 | |
JPH08111777A (ja) | 画像処理装置 | |
JP2883146B2 (ja) | 階調画像の二値化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071225 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080219 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080408 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080508 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |