(57)【要約】【課題】低濃度部を含む全階調値においてドット分散の良好な量子化を行うことができる画像処理装置、画像処理方法及び画像処理プログラムとする。【解決手段】多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置１である。入力値を階調変換する階調変換手段２１と、階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段２２と、変換値に対しノイズを加えるノイズ付加手段２４ａ、２４ｂと、誤差拡散処理を行う誤差拡散処理手段２５と、ディザ処理を行うディザ処理手段２６とを備え、ノイズ付加手段は、処理選択手段において誤差拡散処理が選択され、かつ変換値が切替値近傍又は特定の階調値近傍である場合に付加するノイズ量を増加させるようになっている。【選択図】図２
2005252583.tif 000002
【特許請求の範囲】
【請求項１】
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置において、
前記入力値を階調変換する階調変換手段と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段と、
前記変換値に対しノイズを加えるノイズ付加手段と、
誤差拡散処理を行う誤差拡散処理手段と、
ディザ処理を行うディザ処理手段と、
を備え、
前記ノイズ付加手段は、
前記処理選択手段において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっていることを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記ノイズ付加手段は、
前記処理選択手段において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっていることを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記誤差拡散処理手段には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持手段が含まれており、
当該誤差保持手段は、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっていることを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置において、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更手段を備えることを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれか一項に記載の画像処理装置において、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴とする画像処理装置。
【請求項６】
請求項１〜５のいずれか一項に記載の画像処理装置において、
前記処理選択手段は、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置において、
前記処理選択手段は、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴とする画像処理装置。
【請求項８】
請求項１〜７のいずれか一項に記載の画像処理装置において、
前記処理選択手段は、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択することを特徴とする画像処理装置。
【請求項９】
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理方法において、
前記入力値を階調変換する階調変換工程と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択工程と、
前記変換値に対しノイズを加えるノイズ付加工程と、
誤差拡散処理を行う誤差拡散処理工程と、
ディザ処理を行うディザ処理工程と、
を備え、
前記ノイズ付加工程では、
前記処理選択工程において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっていることを特徴とする画像処理方法。
【請求項１０】
請求項９に記載の画像処理方法において、
前記ノイズ付加工程では、
前記処理選択工程において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっていることを特徴とする画像処理方法。
【請求項１１】
請求項９又は１０に記載の画像処理方法において、
前記誤差拡散処理工程には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持工程が含まれており、
当該誤差保持工程では、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっていることを特徴とする画像処理方法。
【請求項１２】
請求項９〜１１のいずれか一項に記載の画像処理方法において、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更工程を備えることを特徴とする画像処理方法。
【請求項１３】
請求項９〜１２のいずれか一項に記載の画像処理方法において、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴とする画像処理方法。
【請求項１４】
請求項９〜１３のいずれか一項に記載の画像処理方法において、
前記処理選択工程では、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴とする画像処理方法。
【請求項１５】
請求項１４に記載の画像処理方法において、
前記処理選択工程では、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴とする画像処理方法。
【請求項１６】
請求項９〜１５のいずれか一項に記載の画像処理方法において、
前記処理選択工程では、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択することを特徴とする画像処理方法。
【請求項１７】
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置に、
前記入力値を階調変換する階調変換機能と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択機能と、
前記変換値に対しノイズを加えるノイズ付加機能と、
誤差拡散処理を行う誤差拡散処理機能と、
ディザ処理を行うディザ処理機能と、
を実現させるための画像処理プログラムであり、
前記ノイズ付加機能は、
前記処理選択機能において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させる機能を備えることを特徴とする画像処理プログラム。
【請求項１８】
請求項１７に記載の画像処理プログラムにおいて、
前記ノイズ付加機能は、
前記処理選択機能において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させる機能を備えることを特徴とする画像処理プログラム。
【請求項１９】
請求項１７又は１８に記載の画像処理プログラムにおいて、
前記誤差拡散処理機能には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持機能が含まれており、
当該誤差保持機能は、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持する機能を備えることを特徴とする画像処理プログラム。
【請求項２０】
請求項１７〜１９のいずれか一項に記載の画像処理プログラムにおいて、
前記画像処理装置に、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更機能を実現させることを特徴とする画像処理プログラム。
【請求項２１】
請求項１７〜２０のいずれか一項に記載の画像処理プログラムにおいて、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴とする画像処理プログラム。
【請求項２２】
請求項１７〜２１のいずれか一項に記載の画像処理プログラムにおいて、
前記処理選択機能は、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択する機能を備えることを特徴とする画像処理プログラム。
【請求項２３】
請求項２２に記載の画像処理プログラムにおいて、
前記処理選択機能は、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択する機能を備えることを特徴とする画像処理プログラム。
【請求項２４】
請求項１７〜２３のいずれか一項に記載の画像処理プログラムにおいて、
前記処理選択機能は、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択する機能を備えることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに係り、特には多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、多階調の原画像データを擬似中間調の出力用画像データに変換する量子化処理の手法として、組織的ディザ法、誤差拡散法等が知られている。この中でも、誤差拡散法は、比較的高い画質を得ることができるため、種々の改良がなされてきた。誤差拡散法での画質的な課題は、ざらつきを増幅させずにアルゴリズム特有のテクスチャをいかに低減させるかである。
【０００３】
前記課題に対して、従来、様々な改良方法が提案されてきた。
例えば、複数の誤差拡散マスクを利用してドットの分散性を良くしようと試みたものがある。具体的には、２つのマスクを入力値に応じて切り替え、大きいマスクを高濃度部や低濃度部で使用してウォームと呼ばれるドットの繋がりの発生を防ぎ、小さいマスクを中濃度部で使用して処理の高速化と良好なドット分散を得ようとしたものである（例えば、特許文献１参照）。
【０００４】
また、前記したものの類似方法として、誤差拡散マスクを誤差調整値が加算されたグレースケール値または量子化誤差の絶対値に応じて切り替えるものも提案されている（例えば、特許文献２参照）。
【０００５】
また、高濃度部および低濃度部でよりドットの分散性を良くするために、出力されたドットの周りにドットを発生させないように閾値を変更するものが提案されている。具体的には２値化出力が白か黒かで、入力に応じた閾値変更を周囲画素に対して行い、このような作業を全画素において適用するものである（例えば、特許文献３参照）。
その他にも、誤差拡散マスクのサイズ、係数を最適化する方法や、処理順序（走査方向）の変更などの種々の改良方法が提案されてきた。
【０００６】
また、ディザ法、誤差拡散法といった異なる量子化を組み合わる方法も提案されており、例えば、濃淡インク系に対してインクの濃度に応じ異なる量子化を行う方法（例えば、特許文献４参照）や、入力レベルに応じて量子化の方法を切り替える方法（例えば、特許文献５参照）が提案されている。
なお、誤差拡散法の処理とディザ法の処理の実装方法については、広く知られている（例えば、特許文献６参照）。
【特許文献１】特開平４−３２８９５７号公報
【特許文献２】特開平８−２２８２８８号公報
【特許文献３】特開平８−１０７５００号公報
【特許文献４】特開平２−３１５６２号公報
【特許文献５】特開平１１−１７９４８号公報
【特許文献６】特開２００１−２１８０５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記したような誤差拡散処理における従来の方法では、低濃度部でのドットの分散性を良くする目的で誤差の拡散範囲を広く取るために計算量が増え、処理時間が長く掛かってしまう。また、この場合、拡散された誤差が蓄積され難く、低濃度部でのドットの発生が遅れるという不具合を生じる。
【０００８】
また、全階調領域においてディザマスクのドット分散性を良くすることも考えうるが、全階調領域で満足できるドット分散性を得るためのマスク設計は困難である。これは、ある階調値のときに最適なドット配置を用いて、それより高階調のドット配置を決定する際、すでにある階調値でのドットは存在するため、新たに配置するドットの自由度が少なくなってしまうからである。
【０００９】
さらに、従来、特許文献４のような異なる量子化方法を濃度の異なるドットに関して適用する技術は存在したが、入力のレベルに応じて切り替える試みは少なかった。その理由としては、切り替え部をなめらかにすれば誤差拡散法のハイライト（低密度）部の分散性の悪さが目立ってしまう一方、切り替えを急峻にすれば異なる量子化方法の境界部でのドットの整合性の悪さが目立ってしまうという課題があるためである。特許文献５のように、誤差拡散時に発生した前ラインの誤差をディザ時に継承する方法が提案されているが、なだらかなハイライト部グラデーションでは付近の誤差が０であるため、接合部は改善されない。また、濃度の異なるドットが存在する場合、相対的に濃度の高い側のドットを誤差拡散法で決定することとし、ドット密度が疎な領域におけるドットの粒状性が視覚的に目立ち難いレベルでディザ法と切り替えるよう設定することは考えうるが、結局、単一濃度のドット系の場合は量子化方法の切り替えができないため、切り替え時に擬似輪郭ができてしまい、全階調領域において良好なドット分散を持たせることは困難である。
【００１０】
そこで、本発明の課題は、低濃度部を含む全階調値においてドット分散の良好な量子化を行うことができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の発明は、
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置において、
前記入力値を階調変換する階調変換手段と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段と、
前記変換値に対しノイズを加えるノイズ付加手段と、
誤差拡散処理を行う誤差拡散処理手段と、
ディザ処理を行うディザ処理手段と、
を備え、
前記ノイズ付加手段は、
前記処理選択手段において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっていることを特徴としている。
【００１２】
このように請求項１に記載の発明によれば、入力値を階調変換する階調変換手段と、階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段と、変換値に対しノイズを加えるノイズ付加手段と、誤差拡散処理を行う誤差拡散処理手段と、ディザ処理を行うディザ処理手段とを備えているため、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができる。
その上で、ノイズ付加手段は、処理選択手段において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっているため、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができる。
【００１３】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記ノイズ付加手段は、
前記処理選択手段において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっていることを特徴としている。
【００１４】
このように請求項２に記載の発明によれば、ノイズ付加手段は、処理選択手段において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっているため、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができる。
【００１５】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記誤差拡散処理手段には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持手段が含まれており、
当該誤差保持手段は、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっていることを特徴としている。
【００１６】
このように請求項３に記載の発明によれば、誤差拡散処理手段には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持手段が含まれており、当該誤差保持手段は、後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっているため、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができる。
【００１７】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の画像処理装置において、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更手段を備えることを特徴としている。
【００１８】
このように請求項４に記載の発明によれば、入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、切替値の設定を変更する切替値設定変更手段を備えるため、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができる。
【００１９】
請求項５に記載の発明は、請求項１〜４のいずれか一項に記載の画像処理装置において、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴としている。
【００２０】
このように請求項５に記載の発明によれば、ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっているため、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化できる。
【００２１】
請求項６に記載の発明は、請求項１〜５のいずれか一項に記載の画像処理装置において、
前記処理選択手段は、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴としている。
【００２２】
このように請求項６に記載の発明によれば、処理選択手段は、ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００２３】
請求項７に記載の発明は、請求項６に記載の画像処理装置において、
前記処理選択手段は、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴としている。
【００２４】
このように請求項７に記載の発明によれば、処理選択手段は、出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００２５】
請求項８に記載の発明は、請求項１〜７のいずれか一項に記載の画像処理装置において、
前記処理選択手段は、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択することを特徴としている。
【００２６】
このように請求項８に記載の発明によれば、処理選択手段は、画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択するため、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことができる。
【００２７】
請求項９に記載の発明は、
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理方法において、
前記入力値を階調変換する階調変換工程と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択工程と、
前記変換値に対しノイズを加えるノイズ付加工程と、
誤差拡散処理を行う誤差拡散処理工程と、
ディザ処理を行うディザ処理工程と、
を備え、
前記ノイズ付加工程では、
前記処理選択工程において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっていることを特徴としている。
【００２８】
このように請求項９に記載の発明によれば、入力値を階調変換する階調変換工程と、階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択工程と、変換値に対しノイズを加えるノイズ付加工程と、誤差拡散処理を行う誤差拡散処理工程と、ディザ処理を行うディザ処理工程とを備えているため、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができる。
その上で、ノイズ付加工程では、処理選択工程において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっているため、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができる。
【００２９】
請求項１０に記載の発明は、請求項９に記載の画像処理方法において、
前記ノイズ付加工程では、
前記処理選択工程において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっていることを特徴としている。
【００３０】
このように請求項１０に記載の発明によれば、ノイズ付加工程では、処理選択工程において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっているため、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができる。
【００３１】
請求項１１に記載の発明は、請求項９又は１０に記載の画像処理方法において、
前記誤差拡散処理工程には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持工程が含まれており、
当該誤差保持工程では、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっていることを特徴としている。
【００３２】
このように請求項１１に記載の発明によれば、誤差拡散処理工程には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持工程が含まれており、当該誤差保持工程では、後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっているため、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができる。
【００３３】
請求項１２に記載の発明は、請求項９〜１１のいずれか一項に記載の画像処理方法において、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更工程を備えることを特徴としている。
【００３４】
このように請求項１２に記載の発明によれば、入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、切替値の設定を変更する切替値設定変更工程を備えるため、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができる。
【００３５】
請求項１３に記載の発明は、請求項９〜１２のいずれか一項に記載の画像処理方法において、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴としている。
【００３６】
このように請求項１３に記載の発明によれば、ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっているため、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化できる。
【００３７】
請求項１４に記載の発明は、請求項９〜１３のいずれか一項に記載の画像処理方法において、
前記処理選択工程では、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴としている。
【００３８】
このように請求項１４に記載の発明によれば、処理選択工程では、ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００３９】
請求項１５に記載の発明は、請求項１４に記載の画像処理方法において、
前記処理選択工程では、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択することを特徴としている。
【００４０】
このように請求項１５に記載の発明によれば、処理選択工程では、出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００４１】
請求項１６に記載の発明は、請求項９〜１５のいずれか一項に記載の画像処理方法において、
前記処理選択工程では、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択することを特徴としている。
【００４２】
このように請求項１６に記載の発明によれば、処理選択工程では、画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択するため、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことができる。
【００４３】
請求項１７に記載の発明は、
多階調画像データからなる入力値を量子化して疑似中間調画像データからなる出力値に変換する画像処理装置に、
前記入力値を階調変換する階調変換機能と、
階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択機能と、
前記変換値に対しノイズを加えるノイズ付加機能と、
誤差拡散処理を行う誤差拡散処理機能と、
ディザ処理を行うディザ処理機能と、
を実現させるための画像処理プログラムであり、
前記ノイズ付加機能は、
前記処理選択機能において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させる機能を備えることを特徴としている。
【００４４】
このように請求項１７に記載の発明によれば、入力値を階調変換する階調変換機能と、階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択機能と、変換値に対しノイズを加えるノイズ付加機能と、誤差拡散処理を行う誤差拡散処理機能と、ディザ処理を行うディザ処理機能とを備えているため、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができる。
その上で、ノイズ付加機能は、処理選択機能において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっているため、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができる。
【００４５】
請求項１８に記載の発明は、請求項１７に記載の画像処理プログラムにおいて、
前記ノイズ付加機能は、
前記処理選択機能において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させる機能を備えることを特徴としている。
【００４６】
このように請求項１８に記載の発明によれば、ノイズ付加機能は、処理選択機能において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっているため、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができる。
【００４７】
請求項１９に記載の発明は、請求項１７又は１８に記載の画像処理プログラムにおいて、
前記誤差拡散処理機能には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持機能が含まれており、
当該誤差保持機能は、
後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持する機能を備えることを特徴としている。
【００４８】
このように請求項１９に記載の発明によれば、誤差拡散処理機能には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持機能が含まれており、当該誤差保持機能は、後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持する機能を備えているため、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができる。
【００４９】
請求項２０に記載の発明は、請求項１７〜１９のいずれか一項に記載の画像処理プログラムにおいて、
前記画像処理装置に、
入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更する切替値設定変更機能を実現させることを特徴としている。
【００５０】
このように請求項２０に記載の発明によれば、画像処理装置に、入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、切替値の設定を変更する切替値設定変更機能を実現させるため、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができる。
【００５１】
請求項２１に記載の発明は、請求項１７〜２０のいずれか一項に記載の画像処理プログラムにおいて、
ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっていることを特徴としている。
【００５２】
このように請求項２１に記載の発明によれば、ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっているため、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化できる。
【００５３】
請求項２２に記載の発明は、請求項１７〜２１のいずれか一項に記載の画像処理プログラムにおいて、
前記処理選択機能は、
ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択する機能を備えることを特徴としている。
【００５４】
このように請求項２２に記載の発明によれば、処理選択機能は、ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００５５】
請求項２３に記載の発明は、請求項２２に記載の画像処理プログラムにおいて、
前記処理選択機能は、
出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択する機能を備えることを特徴としている。
【００５６】
このように請求項２３に記載の発明によれば、処理選択機能は、出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。
【００５７】
請求項２４に記載の発明は、請求項１７〜２３のいずれか一項に記載の画像処理プログラムにおいて、
前記処理選択機能は、
画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択する機能を備えることを特徴としている。
【００５８】
このように請求項２４に記載の発明によれば、処理選択機能は、画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択するため、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことができる。
【発明の効果】
【００５９】
請求項１に記載の発明によれば、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができ、その上、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができるため、例えば単一濃度のドット系の場合であっても、全階調領域で階調性、分散性の良好な量子化処理を行うことが可能となる。その結果、良好な画像を形成することができる。
また、高速なディザ処理に加え、誤差拡散処理の際も大きなマスクを用いる必要がなく、処理量の増加を抑えることができるため、画像処理の高速化を図ることができる。さらに、ディザ処理におけるディザマスクは、処理する階調値が限られるので、設計が容易になるという効果も奏する。
【００６０】
請求項２に記載の発明によれば、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができるため、階調性、分散性のより良好な量子化処理を行うことが可能となる。その結果、より良好な画像を形成することができる。
さらに、量子化処理の切替部分における境界付近を目立たなくさせるノイズと誤差拡散処理の特定の階調値近傍で生じやすい特異的なパターンを崩すためのノイズは同じパターンから生成されるので、ノイズパターンの記憶容量を低減することができる。
【００６１】
請求項３に記載の発明によれば、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができるため、量子化処理の切替部分の境界をより一層目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００６２】
請求項４に記載の発明によれば、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができ、さらに量子化処理の切替部分を目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００６３】
請求項５に記載の発明によれば、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化でき、記憶領域の量、回路規模を低減させて制御負担を軽減させることができる。
【００６４】
請求項６に記載の発明によれば、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができるため、よりドットの分散性の良い良好な画像を得ることができる。
【００６５】
請求項７に記載の発明によれば、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行えば、よりドットの分散性の良い良好な画像を得ることができる。
【００６６】
請求項８に記載の発明によれば、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことにより、輪郭のボケを低減することができる。その結果、さらに良好な画像を形成することができる。
【００６７】
請求項９に記載の発明によれば、請求項１に記載の発明と同様に、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができ、その上、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができるため、例えば単一濃度のドット系の場合であっても、全階調領域で階調性、分散性の良好な量子化処理を行うことが可能となる。その結果、良好な画像を形成することができる。
また、高速なディザ処理に加え、誤差拡散処理の際も大きなマスクを用いる必要がなく、処理量の増加を抑えることができるため、画像処理の高速化を図ることができる。さらに、ディザ処理におけるディザマスクは、処理する階調値が限られるので、設計が容易になるという効果も奏する。
【００６８】
請求項１０に記載の発明によれば、請求項２に記載の発明と同様に、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができるため、階調性、分散性のより良好な量子化処理を行うことが可能となる。その結果、より良好な画像を形成することができる。
さらに、量子化処理の切替部分における境界付近を目立たなくさせるノイズと誤差拡散処理の特定の階調値近傍で生じやすい特異的なパターンを崩すためのノイズは同じパターンから生成されるので、ノイズパターンの記憶容量を低減することができる。
【００６９】
請求項１１に記載の発明によれば、請求項３に記載の発明と同様に、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができるため、量子化処理の切替部分の境界をより一層目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００７０】
請求項１２に記載の発明によれば、請求項４に記載の発明と同様に、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができ、さらに量子化処理の切替部分を目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００７１】
請求項１３に記載の発明によれば、請求項５に記載の発明と同様に、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化でき、記憶領域の量、回路規模を低減させて制御負担を軽減させることができる。
【００７２】
請求項１４に記載の発明によれば、請求項６に記載の発明と同様に、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができるため、よりドットの分散性の良い良好な画像を得ることができる。
【００７３】
請求項１５に記載の発明によれば、請求項７に記載の発明と同様に、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行えば、よりドットの分散性の良い良好な画像を得ることができる。
【００７４】
請求項１６に記載の発明によれば、請求項８に記載の発明と同様に、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことにより、輪郭のボケを低減することができる。その結果、さらに良好な画像を形成することができる。
【００７５】
請求項１７に記載の発明によれば、請求項１に記載の発明と同様に、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができ、その上、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができるため、例えば単一濃度のドット系の場合であっても、全階調領域で階調性、分散性の良好な量子化処理を行うことが可能となる。その結果、良好な画像を形成することができる。
また、高速なディザ処理に加え、誤差拡散処理の際も大きなマスクを用いる必要がなく、処理量の増加を抑えることができるため、画像処理の高速化を図ることができる。さらに、ディザ処理におけるディザマスクは、処理する階調値が限られるので、設計が容易になるという効果も奏する。
【００７６】
請求項１８に記載の発明によれば、請求項２に記載の発明と同様に、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができるため、階調性、分散性のより良好な量子化処理を行うことが可能となる。その結果、より良好な画像を形成することができる。
さらに、量子化処理の切替部分における境界付近を目立たなくさせるノイズと誤差拡散処理の特定の階調値近傍で生じやすい特異的なパターンを崩すためのノイズは同じパターンから生成されるので、ノイズパターンの記憶容量を低減することができる。
【００７７】
請求項１９に記載の発明によれば、請求項３に記載の発明と同様に、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができるため、量子化処理の切替部分の境界をより一層目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００７８】
請求項２０に記載の発明によれば、請求項４に記載の発明と同様に、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができ、さらに量子化処理の切替部分を目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【００７９】
請求項２１に記載の発明によれば、請求項５に記載の発明と同様に、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化でき、記憶領域の量、回路規模を低減させて制御負担を軽減させることができる。
【００８０】
請求項２２に記載の発明によれば、請求項６に記載の発明と同様に、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができるため、よりドットの分散性の良い良好な画像を得ることができる。
【００８１】
請求項２３に記載の発明によれば、請求項７に記載の発明と同様に、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行えば、よりドットの分散性の良い良好な画像を得ることができる。
【００８２】
請求項２４に記載の発明によれば、請求項８に記載の発明と同様に、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことにより、輪郭のボケを低減することができる。その結果、さらに良好な画像を形成することができる。
【発明を実施するための最良の形態】
【００８３】
以下、本発明の実施の形態に係る画像処理装置、画像処理方法及び画像処理プログラムについて、図面を参照しながら説明する。ただし、本発明は図示例のものに限定されるものではない。
【００８４】
まず、本実施の形態に係る画像処理装置１の構成について説明する。
図１は、本実施の形態に係る画像処理装置１の概略構成を示すブロック図である。この図に示すように、画像処理装置１は、入力される多階調画像データからなる入力値を量子化して擬似中間調画像データからなる出力値に変換するための演算処理部２を備えている。なお、この画像処理装置１は、インクジェットプリンタ等の周知の出力装置に搭載可能となっている。また、本実施の形態においては、多階調画像データを、各画素値が８ｂｉｔのグレースケールを持つモノクロ画像に関するデータとして説明する。また、本実施の形態では、前記８ｂｉｔ（２５６階調）の多階調画像データを、１画素に関し、０（非記録）、１（ドット記録）の２つのレベル（値）に量子化するようになっている。
【００８５】
演算処理部２は、互いに接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５を備えている。
ＲＯＭ３には、本発明に係る画像処理プログラムが格納されている。この画像処理プログラムは、多階調画像データに対してディザ処理、誤差拡散処理を含む種々の画像処理を演算処理部２に実行させる機能を有するものである。
ＲＡＭ４には、ＣＰＵ５による作業領域が備えられている。
ＣＰＵ５は、ＲＯＭ３に格納されている画像処理プログラムをＲＡＭ４内の作業領域に展開し、多階調画像データから出力用画像を生成するようになっている。
【００８６】
また、前記演算処理部２には、機能的にみて、次のような処理を行う各手段を備えている。これらの各手段は、前記画像処理プログラムに従って、ＣＰＵ５がＲＡＭ４を作業領域として用いつつ処理を実行するものであってもよいし、当該処理を実行する特定の回路素子として備えているものであってもよい。以下、図２を参照して説明する。
【００８７】
まず、前記入力値を階調変換する階調変換手段２１を備えている。本実施の形態では、当該階調変換手段２１によって、まず、８ｂｉｔ（２５６階調）で入力された多階調画像データの入力値を１０ｂｉｔ（１０２４階調）の変換値に階調変換する階調変換処理が行われるようになっている。
【００８８】
また、前記階調変換を行った後、当該階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段２２を備えている。本実施の形態では、切替値設定変更手段２３を備えており、入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、前記切替値の設定を変更するようになっている。
また、本実施の形態の処理選択手段２２は、ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するようになっている。
さらに、本実施の形態の処理選択手段２２は、出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するようになっている。
またさらに、処理選択手段２２は、画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択するようになっている。
【００８９】
また、前記変換値に対しノイズを加えるノイズ付加手段を備えている。本実施の形態では、ディザ処理を行う場合に後述する合計値Ａにディザノイズ（ディザマスク）を付加するディザノイズ付加手段２４ａと、誤差拡散処理を行う場合に合計値Ａにランダムノイズを付加する誤差拡散ノイズ付加手段２４ｂとを備えている。当該ノイズ付加手段は、前記処理選択手段２２において誤差拡散処理が選択され、かつ変換値が、図３のグラフに示すような、切替値ＴＨの近傍又は特定の階調値Ｚの近傍である場合に付加するノイズ量を増加させるようになっている。
【００９０】
詳述すると、図３においては、ディザ処理と誤差拡散処理との切替値ＴＨからＴＨ＋α（αはランダムノイズの振幅が急峻に変化することによる擬似輪郭を抑制するため）までは、ディザ処理と誤差拡散処理の境界が現れないようにランダムノイズ強度を強く（強度変調）するようになっている。このノイズ強度は前述した誤差拡散処理に加えるノイズ量と同等の量である。さらに、特定の階調値Ｚにおいては誤差拡散処理特有のドットパターンが存在するため、その階調値においてもノイズ量を増やすようになっている。
なお、特定の階調値としては、例えばドットの面積率が５０％付近の階調値が挙げられる。ドットの面積率が５０％付近の階調値は、一般的にドットが規則的に並び易く、その結果、市松模様が現れ易いため、これを防止するために付加するノイズ量を増加させるものである。また、同様にドットの面積率が３３％付近、６６％付近の階調値についても、付加するノイズ量を増加させるようになっていても良い。
【００９１】
また、前記処理選択手段２２により誤差拡散処理が選択された場合に、誤差拡散処理を行う誤差拡散処理手段２５と、前記処理選択手段２２によりディザ処理が選択された場合に、ディザ処理を行うディザ処理手段２６とを備えている。
【００９２】
また、誤差拡散処理手段２５には、誤差拡散処理における誤差を記憶保持しておく誤差保持手段２７としての誤差バッファが含まれているが、本実施の形態の誤差保持手段２７は、後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっている。
【００９３】
次に、本発明に係る画像処理方法について、図２〜図７を参照しながら説明する。
まず、本発明に係る画像処理方法における第１の実施形態について説明する。図４は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、モノクロの２値画像データを生成する第１の実施形態における処理を経時的に示したフローチャートである。
【００９４】
まず、１の画素について、階調変換手段２１により、階調変換処理を行う（ステップＳ１）。本実施の形態では、１画素１色分の入力値について階調変換をし、８ｂｉｔの入力値が階調変換されて１０ｂｉｔの変換値となる。
【００９５】
次に、処理選択手段２２により、変換値の階調値と所定の切替値ＴＨとの比較を行う（ステップＳ２）。この切替値ＴＨは誤差拡散処理によるドット分散が十分に良く、かつディザ処理によるドット分散も十分に良い値とする。
Ｓ２において、変換値が切替値以下である場合には、ディザ処理手段２６により、ディザ処理を行う。
ここで、ディザ処理では、変換値を合計値Ａとし（ステップＳ５）、前記合計値Ａとディザノイズとを加算した値を合計値Ｂとする（ステップＳ６）。なお、前記ディザノイズの加算はディザノイズ付加手段２４ａにより行われる。
【００９６】
また、閾値処理を誤差拡散と共用するため、ディザマスク（ディザノイズ）は画像と比較するのではなく、画像に加算した上で閾値と比較するものとする。ディザマスクの値は所定値オフセットさせる。具体的には、１０ｂｉｔの画像データを２値化する場合、通常ディザマスクの閾値ｄｉｔｈｅｒ（ｘ，ｙ）が入力画素値Ｉｎ（ｘ，ｙ）と比較される。Ｉｎ（ｘ，ｙ）＜ｄｉｔｈｅｒ（ｘ，ｙ）のときドットを打たず、その逆であればドットを打つ。しかし、後述するように、本実施の形態の誤差拡散処理では５１２と比較をする。そこで、前記した比較をＩｎ（ｘ，ｙ）＋｛５１２−ｄｉｔｈｅｒ（ｘ，ｙ）｝＜５１２とおくことによって誤差拡散における閾値比較と共通化することができるのである。
【００９７】
一方、Ｓ２において、変換値の階調値が切替値より大きい場合には、誤差拡散処理手段２５により、誤差拡散処理を行う。
ここで、誤差拡散処理では、変換値と処理済み周囲画素で発生した誤差の重み付き加算値とを加算した値を合計値Ａとし（ステップＳ３）、前記合計値Ａと変換値に応じた振幅量のノイズとを加算した値を合計値Ｂとする（ステップＳ４）。なお、前記ノイズの加算は誤差拡散ノイズ付加手段２４ｂにより行われる。
【００９８】
ここで、ランダムノイズの生成は、一定のパターンを例えば２５６×２５６画素分の配列で保存しておき、ｘ，ｙ方向の画素位置を２５６で割った余りで選択する。誤差拡散に加える際のノイズの振幅は階調値ビット数と量子化レベル数から決定される値で決まり、その振幅が閾値の半分程度であることが好ましい。たとえば、１０ｂｉｔの画素値に対して２値化の誤差拡散をした場合、閾値は１０ｂｉｔの値がとりうる範囲０−１０２３の中間である５１２である。この場合に加えられるランダムノイズの最大値は閾値の半分、つまり２５６を超えない程度が好ましい条件である。
【００９９】
また、このノイズは、変換値の階調値に応じ振幅を変化させる。ノイズパターンの選択は、例えば、ドットの面積率５０％付近の階調値に関しては、一般的にドットが規則的に並びやすいのでノイズ量を増加させる。増加させる幅は通常加えているランダムノイズの振幅の２倍程度、つまりノイズの最大値が閾値より低い値が好ましい。階調値に対するノイズの反映のさせ方については、特定の階調値の時だけでも良いし、その前後の階調値を含め三角形型に増加させても良い。また、必要に応じ、前記したような３３，６６％などの面積率に関しても、ノイズを増加させて良い。
【０１００】
なお、本実施の形態のノイズ付加手段では、ディザ処理におけるディザノイズに変換する前のディザマスクのデータＣ（図２に図示）と、誤差拡散処理において変換値に付加する強度変調を行う前のランダムノイズのデータＤ（図２に図示）とが、共通のデータに基づき形成されるようになっている。
【０１０１】
その後、ｎｂｉｔのデータを量子化レベル数ｍに応じ、合計値Ｂを（２n−１）／（ｍ−１）で割り、その商を仮出力値として保存する。また、余りも保存する（ステップＳ７）。本実施の形態では、１０ｂｉｔのデータを量子化レベル数２に量子化するため、合計値Ｂを（２10−１）／（２−１）＝１０２３で割ることとなる。
それから、閾値＝（２n−１）／２×（ｍ−１）を計算する（ステップＳ８）。本実施の形態では、閾値は（２10−１）／２×（２−１）＝５１１．５≒５１２となる。
【０１０２】
次に、余りと閾値との比較を行う（ステップＳ９）。
ここで、Ｓ９において、余りが閾値より大きい場合には、仮出力値に１を加算して出力値とする（ステップＳ１０）。
一方、Ｓ９において、余りが閾値以下である場合には、仮出力値をそのまま出力値とする（ステップＳ１１）。
これらの処理により、当該画素の出力値が決定する。
【０１０３】
その後、Ｓ２において誤差拡散処理を選択したか否かの判定を行う（ステップＳ１２）。
ここで、Ｓ２で階調値が切替値より大きいために、誤差拡散処理を行う選択をした場合には、（評価値）＝｛（２n−１）／（ｍ−１）｝×（出力値）を計算し（ステップＳ１３）、（誤差）＝（合計値Ａ）−（評価値）を計算する（ステップＳ１４）。
一方、Ｓ１２において、Ｓ２で階調値が切替値より小さいために、ディザ処理を行う選択をした場合には、誤差を０とする（ステップＳ１５）。
その後、前記誤差を誤差保持手段２７としての誤差バッファに保存し（ステップＳ１６）、１画素、１色分の処理を終了する。
【０１０４】
このように量子化処理を行うことにより、低濃度部でドットの分散の良いディザ処理と中〜高濃度部でドットの分散性の良い誤差拡散処理の良いところを用い、さらにその量子化処理の切替部分においても、ドット配置パターンが変化することによる擬似輪郭を抑制できるので、全階調領域においてドット分散性の良いハーフトーンが実現できる。その結果、従来、図７の（ａ）に示すように、誤差拡散処理とディザ処理との切替部分における境界付近Ｋ１に白いすじが現れていたものが、図７の（ｂ）の境界付近Ｋ２に示すように、白いすじがほぼ確認できない状態の画像とすることができる。
【０１０５】
次に、本発明に係る画像処理方法における第２の実施形態について説明する。
本実施の形態では、ディザ処理で生じた誤差を計算し、誤差拡散処理の時の誤差として加算するようになっている。これにより、誤差拡散でのドットの発生が遅れにくくなり、より誤差拡散処理とディザ処理との境界部が目立たなくなる。このような例は、ディザ処理の際の分解能が誤差拡散処理の分解能に等しいか、高い場合に有効である。
図５は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、モノクロの２値画像データを生成する第２の実施形態における処理を経時的に示したフローチャートである。
【０１０６】
まず、１の画素について、階調変換手段２１により、階調変換処理を行う（ステップＳ２１）。
次に、処理選択手段２２により、変換値の階調値と所定の切替値との比較を行う（ステップＳ２２）。
Ｓ２２において、変換値が切替値以下である場合には、ディザ処理手段２６により、ディザ処理を行う。
ここで、ディザ処理では、変換値を合計値Ａとし（ステップＳ２５）、前記合計値Ａとディザノイズとを加算した値を合計値Ｂとする（ステップＳ２６）。なお、前記ディザノイズの加算はディザノイズ付加手段２４ａにより行われる。
【０１０７】
一方、Ｓ２２において、変換値の階調値が切替値より大きい場合には、誤差拡散処理手段２５により、誤差拡散処理を行う。
ここで、誤差拡散処理では、変換値と処理済み周囲画素で発生した誤差の重み付き加算値とを加算した値を合計値Ａとし（ステップＳ２３）、前記合計値Ａと変換値に応じた振幅量のノイズとを加算した値を合計値Ｂとする（ステップＳ２４）。なお、前記ノイズの加算は誤差拡散ノイズ付加手段２４ｂにより行われる。
【０１０８】
その後、ｎｂｉｔのデータを量子化レベル数ｍに応じ、合計値Ｂを（２n−１）／（ｍ−１）で割り、その商を仮出力値として保存する。また、余りも保存する（ステップＳ２７）。本実施の形態では、１０ｂｉｔのデータを量子化レベル数２に量子化するため、合計値Ｂを（２10−１）／（２−１）＝１０２３で割ることとなる。
それから、閾値＝（２n−１）／２×（ｍ−１）を計算する（ステップＳ２８）。本実施の形態では、閾値は（２10−１）／２×（２−１）＝５１１．５≒５１２となる。
【０１０９】
次に、余りと閾値との比較を行う（ステップＳ２９）。
ここで、Ｓ２９において、余りが閾値より大きい場合には、仮出力値に１を加算して出力値とする（ステップＳ３０）。
一方、Ｓ２９において、余りが閾値以下である場合には、仮出力値をそのまま出力値とする（ステップＳ３１）。
これらの処理により、当該画素の出力値が決定する。
【０１１０】
それから、誤差拡散処理を行ったかディザ処理を行ったかに関わらず、（評価値）＝｛（２n−１）／（ｍ−１）｝×（出力値）を計算し（ステップＳ３２）、（誤差）＝（合計値Ａ）−（評価値）を計算する（ステップＳ３３）。
その後、前記誤差を誤差保持手段２７としての誤差バッファに保存し（ステップＳ３４）、１画素、１色分の処理を終了する。
【０１１１】
このように量子化処理を行うことにより、図７の（ｃ）に示すように、境界付近Ｋ３において白いすじが全く確認できない状態の画像とすることができる。
【０１１２】
次に、本発明に係る画像処理方法における第３の実施形態について説明する。
本実施の形態では、ディザ処理をする場合も周囲誤差を含めた誤差を算出し、その誤差を誤差拡散処理の際に用いるようになっている。これにより、前記した第２の実施形態よりもディザ処理と誤差拡散処理との境界部が目立たなくなる。このような例は、ディザ処理の際の分解能が誤差拡散処理の分解能に等しいか、高い場合に有効である。
図６は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、モノクロの２値画像データを生成する第３の実施形態における処理を経時的に示したフローチャートである。
【０１１３】
まず、１の画素について、階調変換手段２１により、階調変換処理を行う（ステップＳ４１）。
次に、処理選択手段２２により、変換値の階調値と所定の切替値との比較を行う（ステップＳ４２）。
Ｓ４２において、変換値が切替値以下である場合には、ディザ処理手段２６により、ディザ処理を行う。
ここで、ディザ処理では、変換値と処理済み周囲画素で発生した誤差の重み付き加算値とを加算した値を合計値Ａとし（ステップＳ４５）、前記合計値Ａとディザノイズとを加算した値を合計値Ｂとする（ステップＳ４６）。なお、前記ディザノイズの加算はディザノイズ付加手段２４ａにより行われる。
【０１１４】
一方、Ｓ４２において、変換値の階調値が切替値より大きい場合には、誤差拡散処理手段２５により、誤差拡散処理を行う。
ここで、誤差拡散処理では、変換値と処理済み周囲画素で発生した誤差の重み付き加算値とを加算した値を合計値Ａとし（ステップＳ４３）、前記合計値Ａと変換値に応じた振幅量のノイズとを加算した値を合計値Ｂとする（ステップＳ４４）。なお、前記ノイズの加算は誤差拡散ノイズ付加手段２４ｂにより行われる。
【０１１５】
その後、ｎｂｉｔのデータを量子化レベル数ｍに応じ、合計値Ｂを（２n−１）／（ｍ−１）で割り、その商を仮出力値として保存する。また、余りも保存する（ステップＳ４７）。本実施の形態では、１０ｂｉｔのデータを量子化レベル数２に量子化するため、合計値Ｂを（２10−１）／（２−１）＝１０２３で割ることとなる。
それから、閾値＝（２n−１）／２×（ｍ−１）を計算する（ステップＳ４８）。本実施の形態では、閾値は（２10−１）／２×（２−１）＝５１１．５≒５１２となる。
【０１１６】
次に、余りと閾値との比較を行う（ステップＳ４９）。
ここで、Ｓ４９において、余りが閾値より大きい場合には、仮出力値に１を加算して出力値とする（ステップＳ５０）。
一方、Ｓ４９において、余りが閾値以下である場合には、仮出力値をそのまま出力値とする（ステップＳ５１）。
これらの処理により、当該画素の出力値が決定する。
【０１１７】
それから、誤差拡散処理を行ったかディザ処理を行ったかに関わらず、（評価値）＝｛（２n−１）／（ｍ−１）｝×（出力値）を計算し（ステップＳ５２）、（誤差）＝（合計値Ａ）−（評価値）を計算する（ステップＳ５３）。
その後、前記誤差を誤差保持手段２７としての誤差バッファに保存し（ステップＳ５４）、１画素、１色分の処理を終了する。
【０１１８】
このように量子化処理を行うことにより、図７の（ｃ）に示すように、境界付近Ｋ３において白いすじが全く確認できない状態の画像とすることができる。
【０１１９】
以上のように、本実施の形態の画像処理装置によれば、入力値を階調変換する階調変換手段と、階調変換後の変換値の階調値と所定の切替値との比較結果に応じてディザ処理と誤差拡散処理のどちらの処理を行うかを選択する処理選択手段と、変換値に対しノイズを加えるノイズ付加手段と、誤差拡散処理を行う誤差拡散処理手段と、ディザ処理を行うディザ処理手段とを備えているため、ディザ処理により、低濃度部の分散性を確保し、誤差拡散処理により中濃度部から高濃度部の分散性を確保することができる。
【０１２０】
その上で、ノイズ付加手段は、処理選択手段において誤差拡散処理が選択され、かつ変換値が切替値近傍である場合に付加するノイズ量を増加させるようになっているため、異なる量子化処理の切替部分における境界付近のドットにランダム性を生じさせることができ、境界部分を目立たなくさせることができる。
これにより、例えば単一濃度のドット系の場合であっても、全階調領域で階調性、分散性の良好な量子化処理を行うことが可能となる。その結果、良好な画像を形成することができる。
【０１２１】
また、高速なディザ処理に加え、誤差拡散処理の際も大きなマスクを用いる必要がなく、処理量の増加を抑えることができるため、画像処理の高速化を図ることができる。さらに、ディザ処理におけるディザマスクは、処理する階調値が限られるので、設計が容易になるという効果も奏する。
【０１２２】
また、本実施の形態では、ノイズ付加手段は、処理選択手段において誤差拡散処理が選択され、かつ変換値が特定の階調値近傍である場合にも付加するノイズ量を増加させるようになっているため、誤差拡散処理の特定の階調値近傍で目立つテクスチャを防止することができる。これにより、階調性、分散性のより良好な量子化処理を行うことが可能となる。その結果、より良好な画像を形成することができる。
【０１２３】
さらに、量子化処理の切替部分における境界付近を目立たなくさせるノイズと誤差拡散処理の特定の階調値近傍で生じやすい特異的なパターンを崩すためのノイズは同じパターンから生成されるので、ノイズパターンの記憶容量を低減することができる。
【０１２４】
また、本実施の形態では、誤差拡散処理手段には、後の誤差拡散処理のために誤差拡散処理における誤差を記憶保持しておく誤差保持手段が含まれており、当該誤差保持手段は、後の誤差拡散処理のために、ディザ処理における変換値と出力値との誤差も記憶保持するようになっているため、ディザ処理の際に発生した誤差を保持し、誤差拡散処理の際に用いることにより、ディザ処理でのドット生成状態を誤差拡散処理に引き継ぐことができる。これにより、量子化処理の切替部分の境界をより一層目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【０１２５】
さらに、本実施の形態では、入力される多階調画像データの解像度又は量子化後の疑似中間調画像データの階調数の少なくとも一方に応じて、切替値の設定を変更する切替値設定変更手段を備えるため、処理の解像度、量子化階調数によってドットの分散の仕方が異なっていても、切替値設定を変更することで、ドット分布の繋がりが自然な部位を選択することができ、さらに量子化処理の切替部分を目立たなくすることができる。その結果、さらに良好な画像を形成することができる。
【０１２６】
またさらに、本実施の形態では、ディザ処理におけるディザマスクのデータと、誤差拡散処理において変換値に付加するノイズのデータとが、共通のデータに基づき形成されるようになっているため、ディザ処理に必要なマスク記憶領域と誤差拡散処理のノイズ加算に必要なノイズデータ記憶領域とを共通化でき、記憶領域の量、回路規模を低減させて制御負担を軽減させることができる。
【０１２７】
また、本実施の形態では、処理選択手段は、ドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、処理を行うドットが存在する部分の濃度に応じてディザ処理及び誤差拡散処理を選択して行うことができる。その結果、よりドットの分散性の良い良好な画像を得ることができる。
【０１２８】
また、本実施の形態では、処理選択手段は、出力値が３値以上となる多値化を行う際に、各値においてドット密度が疎な部分はディザ処理、ドット密度が密な部分は誤差拡散処理を行うように選択するため、多値化をした場合、それぞれのレベルにおいて、ドットの低濃度部と高濃度部が存在するが、それぞれのレベルで濃度に応じてディザ処理及び誤差拡散処理を選択して行えば、よりドットの分散性の良い良好な画像を得ることができる。
【０１２９】
さらに、本実施の形態では、処理選択手段は、画像においてエッジを有する部分を検出し、当該エッジを有する部分は誤差拡散処理を行うように選択するため、文字やエッジ部を検出して当該部分は強制的に誤差拡散処理を行うことにより、輪郭のボケを低減することができる。その結果、さらに良好な画像を形成することができる。
【０１３０】
また、本実施の形態の画像処理方法及び画像処理プログラムによっても、前記した画像処理装置と同様の効果を奏することができる。
【０１３１】
なお、本発明は、前記実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、前記した各実施形態における仮出力値及び評価値は処理するビット数、量子化階調数に応じて変化させてよい。また仮出力値は出力系に依存する。例えば、２値化処理のプリンタの場合、１はドットを打つ、０はドットを打たないとすることができる。また、濃ドット、淡ドット、打たない、の３値のプリンタの場合、３値化処理の結果、２は濃ドットを打つ、１は淡ドットを打つ、０はドットを打たない、としても良い。
【０１３２】
また、閾値の設定に関し、誤差拡散時入力値もしくは階調値に応じた閾値を設定するようにしても良い。
さらに、ディザのためのデータは、使用階調値に対してディザ特性、あるいは良好な分散特性を持てばよい。すなわち、階調値の全範囲に関してディザ特性を持つ必要はない。
【０１３３】
また、本実施の形態では、本発明をモノクロ画像の多階調画像データに適用したが、これに限らず、画像の多様性に対応させて、例えばカラー画像の多階調画像データに適用しても良い。
【図面の簡単な説明】
【０１３４】
【図１】本発明に係る画像処理装置の概略構成を示すブロック図である。
【図２】本発明に係る画像処理の流れを示すブロック図である。
【図３】誤差拡散処理における階調値とノイズの振幅倍率の関係を示すグラフである。
【図４】本発明に係る画像処理の第１の実施形態を経時的に示したフローチャートである。
【図５】本発明に係る画像処理の第２の実施形態を経時的に示したフローチャートである。
【図６】本発明に係る画像処理の第３の実施形態を経時的に示したフローチャートである。
【図７】（ａ）は誤差拡散処理とディザ処理の切り替えを用いた従来の量子化処理を行った結果の画像を示す図であり、（ｂ）は本発明に係る第１の実施形態による量子化処理を行った結果の画像を示す図であり、（ｃ）は本発明に係る第２の実施形態及び第３の実施形態による量子化処理を行った結果の画像を示す図である。
【符号の説明】
【０１３５】
１    画像処理装置
２    演算処理部
３    ＲＯＭ
４    ＲＡＭ
５    ＣＰＵ
２１    階調変換手段
２２    処理選択手段
２３    切替値設定変更手段
２４ａ  ディザノイズ付加手段（ノイズ付加手段）
２４ｂ  誤差拡散ノイズ付加手段（ノイズ付加手段）
２５    誤差拡散処理手段
２６    ディザ処理手段
２７    誤差保持手段
【図１】
2005252583.tif 000003
【図２】
2005252583.tif 000004
【図３】
2005252583.tif 000005
【図４】
2005252583.tif 000006
【図５】
2005252583.tif 000007
【図６】
2005252583.tif 000008
【図７】
2005252583.tif 000009