(57)【要約】【目的】  入力濃度領域毎に良好なハーフトーン結果が得られる誤差拡散係数の最適化方法を提供する。【解決手段】  画像データに誤差拡散処理を施して擬似中間調画像を形成する画像処理方法であって、画像データにおける注目画素の多値の画素値を２値化し、該２値化による誤差値を算出する誤差算出工程と、前記多値の画素値と２値化された前記画素値との差に基づいて、前記誤差を他の画素に拡散するための係数の組の複数のうちいずれかを選択する選択工程と、選択された前記係数の組を利用して、前記誤差算出工程において算出された誤差を他の画素に拡散する誤差拡散工程と、前記誤差拡散工程において拡散された誤差を次の注目画素についての前記２値化のためにフィードバックするフィードバック工程とを備える。【選択図】図４
2006217428.tif 000002
【特許請求の範囲】
【請求項１】
画像データに誤差拡散処理を施して擬似中間調画像を形成する画像処理方法であって、
画像データにおける注目画素の多値の画素値を２値化し、該２値化による誤差を算出する誤差算出工程と、
前記多値の画素値と２値化された前記画素値との差に基づいて、前記誤差を他の画素に拡散するための係数の組の複数のうちいずれかを選択する選択工程と、
選択された前記係数の組を利用して、前記誤差算出工程において算出された誤差を他の画素に拡散する誤差拡散工程と、
前記誤差拡散工程において拡散された誤差を次の注目画素についての前記２値化のためにフィードバックするフィードバック工程と
を備え、
前記複数の係数の組には、
前記注目画素と同一の行に位置する画素に割り当てる誤差の重みが、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みよりも大きい第１の係数の組と、
前記注目画素と同一の行に位置する画素に割り当てる誤差の重みと、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みとが、同等となる第２の係数の組と
が少なくとも含まれることを特徴とする画像処理方法。
【請求項２】
前記選択工程では、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が、所定値よりも大きい場合には、前記第１の係数の組が選択され、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が、所定値よりも大きくない場合には、前記第２の係数の組が選択されることを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第１の係数の組は、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みに対する前記注目画素と同一の行に位置する画素に割り当てる誤差の重みの大きさが異なる係数の組を複数含み、
前記選択工程では、更に、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が所定値よりも大きい場合に、前記所定値との差に応じて、前記重みの大きさが異なる複数の係数の組のうち、いずれかが選択されることを特徴とする請求項２に記載の画像処理方法。
【請求項４】
請求項１乃至３のいずれかに記載の画像処理方法をコンピュータに実行させるためのコンピュータプログラム。
【請求項５】
請求項４に記載のコンピュータプログラムを格納したコンピュータで読み取り可能な記憶媒体。
【請求項６】
画像データに誤差拡散処理を施して擬似中間調画像を形成する画像処理装置であって、
画像データにおける注目画素の多値の画素値を２値化し、該２値化による誤差を算出する誤差算出手段と、
前記多値の画素値と２値化された前記画素値との差に基づいて、前記誤差を他の画素に拡散するための複数の係数の組のうちいずれかを選択する選択手段と、
選択された前記係数の組を利用して、前記誤差算出手段において算出した誤差を他の画素に拡散する誤差拡散手段と、
前記誤差拡散手段において拡散された誤差を次の注目画素についての前記２値化のためにフィードバックするフィードバック手段と
を備え、
前記複数の係数の組には、
前記注目画素と同一の行に位置する画素に割り当てる誤差の重みが、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みよりも大きい第１の係数の組と、
前記注目画素と同一の行に位置する画素に割り当てる誤差の重みと、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みとが、同等となる第２の係数の組と
が少なくとも含まれることを特徴とする画像処理装置。
【請求項７】
前記選択手段は、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が、所定値よりも大きい場合には、前記第１の係数の組を選択し、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が、所定値よりも大きくない場合には、前記第２の係数の組を選択することを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記第１の係数の組は、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みに対する前記注目画素と同一の行に位置する画素に割り当てる誤差の重みの大きさが異なる係数の組を複数含み、
前記選択手段は、更に、
前記多値の画素値と当該多値の画素値を２値化するための閾値との差の絶対値が所定値よりも大きい場合に、前記所定値との差に応じて、前記重みの大きさが異なる複数の係数の組のうち、いずれかを選択することを特徴とする請求項７に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データに誤差拡散処理を施して擬似中間調画像を形成するための画像処理方法、画像形成装置、コンピュータプログラム及び記憶媒体に関する。
【背景技術】
【０００２】
擬似中間調を表現する手法の1つとして、誤差拡散法が知られている。誤差拡散法は入力される多値のデータ（入力値）と閾値とを大小比較し、入力値が閾値よりも大きければドットをON、入力値が閾値よりも小さければドットをOFFとし、その際に発生した誤差値を周辺の未処理画素に拡散させるという処理を、順次、全画素に対して行い、擬似中間調を表現する手法である。
【０００３】
図３は一般的な誤差拡散処理の流れを示すブロック図である。元画像データである入力値(In)に周辺画素からの拡散誤差(dIn)を加算して、入力補正値(In+dIn)を得る。入力補正値(In+dIn)と閾値(threshold)とを比較器を用いて大小比較を行い、入力補正値(In+dIn)が閾値(threshold)よりも大きければ出力値(Out)を255(ドットON)とし、入力補正値(In+dIn)が閾値(threshold)よりも小さければ出力値(Out)を0(ドットOFF)とする。このとき発生した誤差値(dOut)は
dOut = (In + dIn) - Out
として求められる。発生した誤差は周辺画素への拡散誤差として、誤差拡散係数（重み付け係数）を用いて重み付けされて誤差バッファに格納される。上記処理を全画素について繰り返し行う（特許文献１参照）。
【特許文献１】特開２００４−４８３８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
誤差拡散法において、誤差の拡散係数はドットの分散性（粒状性）に大きく影響を与える。そのため、誤差拡散係数を最適化すればするほど、高画質なハーフトーン結果が得られる。ところが、ある誤差拡散係数を用いて量子化処理を行った場合、ハイライト領域のドットの分散性は良いが、中間調領域のドットの分散性が悪くなってしまう。また、逆に別の誤差拡散係数を用いて量子化処理を行った場合、中間調領域のドットの分散性は良いが、ハイライト領域のドットの分散性が悪くなってしまうという問題が生ずる。
【０００５】
上記問題点を解決するためには、入力濃度領域に応じて最適な誤差拡散係数を適用する必要があり、本発明においては、入力濃度領域毎に良好なハーフトーン結果が得られる誤差拡散係数の最適化方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための本発明は、画像データに誤差拡散処理を施して擬似中間調画像を形成する画像処理方法であって、画像データにおける注目画素の多値の画素値を２値化し、該２値化による誤差を算出する誤差算出工程と、前記多値の画素値と２値化された前記画素値との差に基づいて、前記誤差を他の画素に拡散するための係数の組の複数のうちいずれかを選択する選択工程と、選択された前記係数の組を利用して、前記誤差算出工程において算出された誤差を他の画素に拡散する誤差拡散工程と、前記誤差拡散工程において拡散された誤差を次の注目画素についての前記２値化のためにフィードバックするフィードバック工程とを備え、前記複数の係数の組には、前記注目画素と同一の行に位置する画素に割り当てる誤差の重みが、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みよりも大きい第１の係数の組と、前記注目画素と同一の行に位置する画素に割り当てる誤差の重みと、前記注目画素と異なる行に位置する画素に割り当てる誤差の重みとが、同等となる第２の係数の組とが少なくとも含まれることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、入力濃度領域毎に良好なハーフトーン結果が得られる誤差拡散係数の最適化方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
以下、添付する図面を参照して、本発明の実施形態について説明する。
【０００９】
図２は本実施形態に対応する画像処理装置としての誤差拡散処理部のブロック図の一例である。２００は誤差拡散処理部を示し、以下の２０１〜２１０までの構成要素により構成される。入力値(In)２０１に周辺画素からの拡散誤差値(dIn)２０９が加算され、入力補正値(In+dIn)２０３を得る。得られた入力補正値(In+dIn)２０３と所定の閾値(threshold)２０５とを比較器２０４において大小比較し、入力補正値(In+dIn)２０３の方が閾値(threshold)２０５よりも大きければ出力値(Out)２０６を２５５(ドットON)とし、入力補正値(In+dIn)２０３が閾値(threshold)２０５よりも小さければ出力値(Out)２０６を０(ドットOFF)とする。このとき発生した誤差値(dOut)２１０は以下の式を用いて求められる。
【００１０】
dOut = (In + dIn) - Out
そして、入力値(In)２０１を利用して誤差拡散係数選択器２０７にて、最適な誤差拡散係数（２１１又は２１２）が選択され、前記発生した誤差値(dOut)２１０は誤差拡散係数選択器２０７にて選択された誤差拡散係数（２１１又は２１２）により重み付けされて周辺画素に拡散する誤差として、誤差バッファに格納される。
【００１１】
ここで、入力値に応じた最適な誤差拡散係数について説明する。例えば、入力値２０１が出力値２０６付近であるとき、量子化時に発生する誤差値は小さい。この時、入力値２０１に加算される拡散誤差値(dIn)２０９は考慮していない。即ち、入力値（In）が２５２であり、出力値（Out）が２５５（ドットON）であれば、その際に生ずる誤差は−３である。実際に閾値２０５と比較されるのは入力補正値２０３であるから、誤差値（dOut）２１０は−３になるとは限らないが、入力値２０１と出力値２０６との関係だけを捉えた場合には、量子化による誤差は小さいと言える。
【００１２】
このような場合、主走査方向（横方向）に沿って集積誤差値を見て行くと、集積誤差値は大きく変化しない。そして、副走査方向（下方向）に沿って集積誤差値を見て行くと、こちらは大きく変化する。
【００１３】
例えば、図３に示す従来の誤差拡散係数の場合、主走査方向の集積誤差値は５／１６であるのに対し、副走査方向の集積誤差値は１１／１６である。従って、明らかに副操作方向における集積誤差値が大きくなっている。なお、ここで「主走査方向の集積誤差値」とは、注目画素と同じ行に存在する画素についての誤差値の合計をいい、「副走査方向の集積誤差値」とは、注目画素とは異なる行（副走査方向に１つずれた行）に存在する画素についての誤差値の合計をいう。
【００１４】
つまり、集積誤差値の大きなラスタと集積誤差値の小さなラスタが発生するため、集積誤差値の大きなラスタではドットがONになりやすく、逆に集積誤差値の小さなラスタではドットはONになりにくい。上述のように、主走査方向への誤差拡散の重みが小さければ、なおさらその傾向が強くなり、横方向にドットが連なったようなハーフトーン結果となり、良好な画質が得られない。
【００１５】
そこで、図１（a）に示すように、主走査方向の集積誤差値を２０（＝１６＋４）とし、副走査方向の集積誤差値を６（＝１＋４＋１）として、誤差拡散の係数を、副走査方向（下方向）への重みより、主走査（横方向）への重みを大きくすると、今度は主走査方向（横方向）の集積誤差値の変動量と副走査方向（下方向）の集積誤差値の変動量が適度になり、ドットが縦方向・横方向で均一に分散するようになる。
【００１６】
また、入力値が出力値付近でない場合、発生する誤差値はそれほど小さな値ではない。そのため、主走査方向（横方向）における集積誤差値の変動量と副走査方向（下方向）における集積誤差値の変動量はあまり大きく変わらない。そのため、図１（ｂ）に示すように、主走査方向の集積誤差値を８（＝６＋２）とし、副走査方向の集積誤差値を８（＝２＋４＋２）として、主走査方向（横方向）への誤差拡散係数の重みと、副走査方向（下方向）への誤差拡散係数との重みを同程度とすることができる。
【００１７】
以上の本実施形態に対応する画像処理方法について、図４のフローチャートを参照して以下に説明する。
【００１８】
まずステップＳ４０１において、誤差拡散処理部２００は、注目画素の画素値入力を受け付ける。この画素値が入力値(In)２０１に相当する。次に、ステップＳ４０２において、注目画素の拡散誤差（dIn）２０９を誤差バッファ２０８から選択し、ステップＳ４０３では、加算器２０２を利用して、入力値２０１と拡散誤差２０９との和を算出する。ステップＳ４０４では、比較器２０４において、ステップＳ４０３における加算結果と閾値２０５（Ｔｈ１）とを比較し、In+dIn＜Th1の場合には（ステップＳ４０４で「ＹＥＳ」）ステップＳ４０６に移行して、出力値（Out）２０６として「０」を出力し、In+dIn＜Th1でない場合には（ステップＳ４０４で「ＮＯ」）ステップＳ４０５に移行して、出力値（Out）２０６として「１（又は、２５５）」を出力する。このとき、閾値２０７（Ｔｈ１）は任意であるが、例えば入力値２０１が８ビットデータ（２５６階調）であるとすると、１２８と設定することができる。
【００１９】
次に、ステップＳ４０７では、誤差値（dOut）２１０を、dOut=(In+dIn)-Outにより、算出する。
【００２０】
次に、ステップＳ４０８において、|In-Th1|（入力画素値Inと閾値Th1の差の絶対値）が所定の閾置Ｔｈ２よりも大きいか否かを判定する。本ステップは、入力値（In）２０１が閾値(Th1)２０５付近であるかを判定するステップである。ここで、Ｔｈ２の値は任意に設定することができるが、例えば１０とすることができる。
【００２１】
この判定の結果、|In-Th1|＜＝Th2と判定された場合、即ち、入力値（In）２０１が閾値(Th1)２０５付近である場合には、ステップＳ４０９へ移行して図１（ｂ）に示した誤差拡散係数２１２を選択する。一方、|In-Th1|＞Th2と判定された場合、即ち、入力値（In）２０１が閾値(Th1)２０５付近でない場合には、ステップＳ４１０へ移行して図１（ａ）に示した誤差拡散係数２１１を選択する。ステップＳ４１１では、ステップＳ４０９又はステップＳ４１０において選択された拡散係数により、誤差値（dOut）を周辺画素に拡散し、誤差バッファ２０８に格納する。
【００２２】
以上により、入力値（In）２０１の大きさに応じた誤差拡散係数の選択が可能となる。
【００２３】
なお、上記では、入力値（In）２０１と閾値（Th1）205との差の絶対値と閾値Ｔｈ２との比較により、２１１（図１（ａ））又は２１２（図１（ｂ））のいずれかの誤差拡散係数を選択する場合を記載した。しかし、２つの誤差拡散係数を所定の濃度値で突然切り替えてしまうと、グラデーション画像等において誤差拡散係数の切り替わりによる段差が目立ってしまうので、入力濃度に応じて徐々に重みを推移させるようにするのが望ましい。
【００２４】
例えば、上記図４におけるステップＳ４０８〜Ｓ４１０における処理で、入力値（In）２０１と閾値（Th1）２０５との差の絶対値と比較を行う閾値をＴｈ２以外に、Ｔｈ３、Ｔｈ４と用意し（Ｔｈ２＜Ｔｈ３＜Ｔｈ４）、また各閾値に対応する誤差拡散係数を用意することで、|In-Th1|の大きさに応じて段階的に選択する誤差拡散係数を決定することができる。
【００２５】
以上説明したように、本発明によれば、誤差拡散法を用いて量子化処理を行うに際し、注目画素における入力値が閾値付近でない場合には、主走査方向（横方向）への量子化誤差の拡散係数の重みを大きくし、注目画素における入力値が閾値付近の場合には、副走査方向（下方向）への量子化誤差の拡散係数の重みを大きく設定することで、入力濃度ごとに最適なハーフトーン処理が施され、粒状性の良好なハーフトーン結果を得ることが可能になる。
【００２６】
［その他の実施形態］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００２７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００２８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００２９】
【図１】本発明における、入力値に応じた最適な誤差拡散係数の例を示した図である。
【図２】本発明の実施形態における誤差拡散処理ブロックを示す図である。
【図３】従来から一般的に行われている誤差拡散処理ブロックを示す図である。
【図４】本発明の実施形態に対応する処理のフローチャートである。
【図１】
2006217428.tif 000003
【図２】
2006217428.tif 000004
【図３】
2006217428.tif 000005
【図４】
2006217428.tif 000006