(57)【要約】【課題】逆相関型のデジタルハーフトーニング法を用いたハーフトーニング処理を行う際に、周期構造を持たないようドットを制御し、疑似輪郭を防ぐことができる画像処理装置、画像処理方法及び画像処理プログラムとする。【解決手段】多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理装置１、画像処理方法及び画像処理プログラムである。多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、当該算出された期待値にランダム値を加える。【選択図】図１
2005064842.tif 000002
【特許請求の範囲】
【請求項１】
多階調画像データを量子化して疑似中間調の出力用画像データに変換するための演算処理部を有する画像処理装置であって、
前記演算処理部は、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加える構成となっていることを特徴とする画像処理装置。
【請求項２】
多階調画像データを量子化して疑似中間調の出力用画像データに変換するための演算処理部を有する画像処理装置であって、
前記演算処理部は、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う構成となっていることを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記演算処理部は、前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させることを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれか一項に記載の画像処理装置において、
前記演算処理部は、前記ランダム値をそれぞれの画素の位置に応じて設定、変化させることを特徴とする画像処理装置。
【請求項５】
多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理方法であって、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加えることを特徴とする画像処理方法。
【請求項６】
多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理方法であって、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行うことを特徴とする画像処理方法。
【請求項７】
請求項５又は６に記載の画像処理方法において、
前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させることを特徴とする画像処理方法。
【請求項８】
請求項５〜７のいずれか一項に記載の画像処理方法において、
前記ランダム値をそれぞれの画素の位置に応じて設定、変化させることを特徴とする画像処理方法。
【請求項９】
多階調画像データを量子化して疑似中間調の出力用画像データに変換するためのコンピュータに、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加える機能を実現させるための画像処理プログラム。
【請求項１０】
多階調画像データを量子化して疑似中間調の出力用画像データに変換するためのコンピュータに、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う機能を実現させるための画像処理プログラム。
【請求項１１】
請求項９又は１０に記載の画像処理プログラムにおいて、
前記コンピュータに、
前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させる機能を実現させるための画像処理プログラム。
【請求項１２】
請求項９〜１１のいずれか一項に記載の画像処理プログラムにおいて、
前記コンピュータに、
前記ランダム値をそれぞれの画素の位置に応じて設定、変化させる機能を実現させるための画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及び画像処理プログラムに係り、特には多階調画像データを量子化して擬似中間調の出力用画像データに変換する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、多階調の原画像データを擬似中間調の出力用画像データに変換する量子化処理の手法として、組織的ディザ法、誤差拡散法等が知られている。この中でも、誤差拡散法は、比較的高い画質を得ることができるため、高画質の用途に用いられることが多く、種々の改良がなされてきた。誤差拡散法での画質的な課題は、ノイズを増幅させずにアルゴリズム特有のテクスチャをいかに低減させるかである。
【０００３】
例えば、複数の誤差拡散マトリクスを利用して均一性を確保しようと試みているものがある（特許文献１参照。）。具体的には、２つのマトリクスを入力値に応じて切り替え、大きいマトリクスをハイライトやシャドー部で使用し、ウォームと呼ばれる模様の発生を防ぎ、小さいマトリクスを中域部で使用し、ノイズを抑えようとするものである。
【０００４】
また、ハイライト及びシャドー領域でより均一な結果を生成するため、出力値に依存するしきい値を用いてしきい値を変更するものもある（特許文献２参照。）。具体的には、２値化出力が白か黒かで、入力に応じたしきい値変更を周囲画素に対して行い、それを繰り返し伝搬し用いるというものである。
【０００５】
その他にも、誤差拡散マトリクスのサイズ、係数を最適化する方法や、処理順序（走査方向）の変更などが行われてきた。しかし、これらの手法からは一定の効果を得ることはできたが、十分と呼べるような効果を得ることはできなかった。
【０００６】
一方、これらの誤差拡散法やその改良方法、ディザ法などとは異なる量子化処理の手法として、逆相関型のデジタルハーフトーニング法が提案されている（非特許文献１参照。）。この方法は、画素毎にドットの出現情報を表す配列（以下、ドット出現パターンとする）、すなわち、注目画素を構成する階調数に実質的に比例した数だけドットの有無情報を配列させたもの、を設定し、その情報に基づきハーフトーニングする方法であって、注目画素についてのドット出現パターンの内容決定においては、注目画素の周辺画素について既に決定済みのドット出現パターンを用い、これらドット出現パターンを構成する要素の要素番号毎に、周辺画素にドットが出現する期待値（以下、ヒストグラムとする）を算出し、この期待値に基づき、ドット出現数の少ない要素番号にドット有り情報を優先的に設定し、ドット出現数の多い要素番号にドット無し情報を設定するよう、注目画素のドット出現パターンを決める方法である。
【０００７】
以下、逆相関型のデジタルハーフトーニング法について、具体的な例を挙げて説明する。なお、以下の説明においては、左から右に向かう方向に注目画素を切り換えて処理を行うこととする。
図７に示すように、逆相関型のデジタルハーフトーニング法による画像処理においては、原画像データ（多階調画像データ）が入力される前に、予め０〜（ｎ−１）の範囲内から無作為にランダム変数ｒ（ｒは整数）を決定する（ステップＴ１）。なお、「ｎ」は画素値ｇi,jの最大値である。画素値ｇi,jとは、ｉ行ｊ列目の画素における階調値のことであり、ここでは０〜ｎの範囲内の何れかの値である。
原画像データが入力されたら、原画像データ中からｉ行ｊ列目の画素に関する画素値ｇi,jを取得する（ステップＴ２）。
【０００８】
画素値ｇi,jを取得したら、その画素値ｇi,jに基づきｉ行ｊ列目の画素のローカルフィルタＰを生成する（ステップＴ３）。具体的には、始めに画素値ｇi,jを下記式（１）に代入してΔを求め、そのΔが図８中左欄のどの範囲に属するかを特定し、特定した範囲に対応するローカルフィルタＰの情報を図８中右欄から特定する。なお、図中、例えば「Δ∈［０，１３／２５５）」は、０≦Δ＜１３／２５５を示している。
Δ＝｜ｇi,j−ｎ／２｜／ｎ  …  （１）
【０００９】
例えば、画素値ｇi,jが１２０だとしたら、上記式（１）からΔ＝｜１２０−２５５／２｜／２５５＝７．５／２５５が導き出され、このΔ（＝７．５／２５５）が、図８中左欄の最も上の欄に記載されたΔ∈［０，１３／２５５）に属しているのを特定することができる。そしてΔ∈［０，１３／２５５）が記載された特定済みの欄から、その右隣に配置された欄のＲ（Ｋ1，６，−５）をローカルフィルタＰの情報として特定することができる。
【００１０】
次に、特定された情報を便宜的に一般化して「Ｒ（Ｋ，ｌｋ，ε（ｌｋ））」とした場合に、まず「Ｋ」を参照することにより、図９及び図１０に示した６つの基礎フィルタＫ1〜Ｋ6の何れかを選択する。次に、「ｌｋ」を参照することにより、基礎フィルタＫ中の×印の画素、即ちｉ行ｊ列目の画素から、上方向、左方向及び右方向に（ｌｋ−１）画素分の広がりを有するｌｋ行×（２ｌｋ−１）列のサイズのフィルタを生成する。そして、「ｌｋ」及び「ε（ｌｋ）」を参照し、生成されたフィルタ中の１列目から（ｌｋ−ε（ｌｋ））列目までの各画素には基礎フィルタＫの画素値をそのまま割り当て、かつ（ｌｋ−ε（ｌｋ））列目より先の列の各画素には０を割り当てることにより、ローカルフィルタＰを生成する。
【００１１】
例えば、ローカルフィルタＰの情報がＲ（Ｋ6，４，−１）で表されるとしたら、以下のような手順でローカルフィルタＰを生成する。すなわち、Ｒ（Ｋ6，４，−１）において、基礎フィルタＫに対応するのが「Ｋ6」であるから、図１０中の３つの基礎フィルタＫ4〜Ｋ6のなかから下段に図示された基礎フィルタＫ6を基礎フィルタＫとして特定する。そしてＲ（Ｋ6，４，−１）において、ｌｋに対応するのが「４」であり、ε（ｌｋ）に対応するのが「−１」であるから、まず始めに、図１０中下段の基礎フィルタＫ6中で×印の画素から、上方向、左方向及び右方向に３（＝ｌｋ−１）画素分の広がりを有する４行×７（＝２×４−１）列のサイズのフィルタを生成し、その後、その生成した４行×７列のフィルタにおいて、１列目から５（＝４−（−１））列目までの各画素には基礎フィルタＫ6の画素値をそのまま割り当て、５列目より先の列の各画素には０を割り当てる。このような手順で生成されたローカルフィルタＰを図１１に示す。
【００１２】
ローカルフィルタＰを生成したら、ｉ行ｊ列目の画素のヒストグラムＨi,j［ｋ］を算出する（ステップＴ４）。「ヒストグラムＨi,j［ｋ］」というのは、ローカルフィルタＰ中に×印で示される注目画素の周辺の画素の配置位置を（ｘ，ｙ）で表したときに、注目画素周辺の各画素のドット出現パターンＣx,y［ｋ］をローカルフィルタＰの（ｘ，ｙ）の位置の値で重み付けし、要素ｋの値（要素番号）毎に加算した合計値（期待値）である。ただし、「ｋ」は０から（ｎ−１）までの任意の整数値であって、ドット出現パターンＣx,y［ｋ］の要素ｋと同義である。また、「ドット出現パターンＣi,j［ｋ］」というのは、それぞれ０または１の値をとるＣi,j［０］〜Ｃi,j［ｎ−１］によって構成される数列（ドット出現情報配列）である。このドット出現パターンＣi,j［ｋ］は、要素ｋに０から（ｎ−１）の何れかの値を代入したときに「１」となればｉ行ｊ列目の画素にドットを形成することを示し、「０」となればドットを形成しないことを示す。
【００１３】
例えば、図１１に示すローカルフィルタＰを生成した場合に、ローカルフィルタＰ中の各画素の位置（ｘ，ｙ）、ローカルフィルタＰ中の各画素の画素値ｐx,yが図１２（ａ）、（ｂ）のように設定されたとしたら、ｉ行ｊ列目の注目画素（図１１，１２中×印の画素）のヒストグラムＨi,j［ｋ］を、下記の式にしたがって要素ｋの値ごとに算出する。
Ｈi,j［０］＝Ｃx1,y1［０］×ｐx1,y1＋Ｃx1,y2［０］×ｐx1,y2＋Ｃx1,y3［０］×ｐx1,y3＋  …  ＋Ｃx4,y3［０］×ｐx4,y3
Ｈi,j［１］＝Ｃx1,y1［１］×ｐx1,y1＋Ｃx1,y2［１］×ｐx1,y2＋Ｃx1,y3［１］×ｐx1,y3＋  …  ＋Ｃx4,y3［１］×ｐx4,y3
Ｈi,j［２］＝Ｃx1,y1［２］×ｐx1,y1＋Ｃx1,y2［２］×ｐx1,y2＋Ｃx1,y3［２］×ｐx1,y3＋  …  ＋Ｃx4,y3［２］×ｐx4,y3
…
…
Ｈi,j［ｎ−１］＝Ｃx1,y1［ｎ−１］×ｐx1,y1＋Ｃx1,y2［ｎ−１］×ｐx1,y2＋Ｃx1,y3［ｎ−１］×ｐx1,y3＋  …  ＋Ｃx4,y3［ｎ−１］×ｐx4,y3
【００１４】
次に、各要素ｋについて算出されたヒストグラムＨi,j［０］〜Ｈi,j［ｎ−１］を値の小さい順に並べ替え、ヒストグラムＨi,j［ｋ］の要素番号列Ｓ［ｋ］を算出する（ステップＴ５）。
【００１５】
例えば、ヒストグラムＨi,j［０］〜Ｈi,j［ｎ−１］が、Ｈi,j［８］＜Ｈi,j［３］＜Ｈi,j［４］＜Ｈi,j［１］＜Ｈi,j［５］＜…＜Ｈi,j［ｎ−１］のように並べ替えられたら、要素番号列Ｓ［ｋ］は｛８，３，４，１，５，…，（ｎ−１）｝のように算出される。なお、この要素番号列Ｓ［ｋ］において、「８」は０番目の要素であり、「３」は１番目の要素である。
【００１６】
要素番号列Ｓ［ｋ］を算出したら、カウンタ値Ｃｏｕｎｔを０に設定し（ステップＴ６）、要素番号列Ｓ［ｋ］の要素ｋ’に、要素番号列Ｓ［ｋ］中、カウンタ値Ｃｏｕｎｔの値に対応する順番の要素Ｓ［Ｃｏｕｎｔ］の値を代入する（ステップＴ７）。すなわち、上記した要素番号列Ｓ［ｋ］（＝｛８，３，４，１，５，…，（ｎ−１）｝）を例にすると、カウンタ値Ｃｏｕｎｔが０であるから、ｋ’に８（＝Ｓ［０］）を代入する。
【００１７】
続いて、カウンタ値Ｃｏｕｎｔと画素値（ｇi,j−１）との大小関係を比較する（ステップＴ８）。
比較の結果、カウンタ値Ｃｏｕｎｔが画素値（ｇi,j−１）以下であれば、要素ｋ’に対応するドット出現パターンＣi,j［ｋ’］を「１」に設定し（ステップＴ９）、大きければ「０」に設定する（ステップＴ１０）。例えば、画素値ｇi,jが３で、かつ要素番号列Ｓ［ｋ］が｛８，３，４，１，５，…，（ｎ−１）｝であれば、ドット出現パターンＣi,j［ｋ］のうち、まず要素Ｃi,j［８］を「１」に設定する。
【００１８】
ステップＴ９又はステップＴ１０の処理を終えたら、カウンタ値Ｃｏｕｎｔに１を加算し（ステップＴ１１）、カウンタ値Ｃｏｕｎｔ（＝１）と（ｎ−１）との大小関係を比較し（ステップＴ１２）、カウンタ値Ｃｏｕｎｔが（ｎ−１）と同じ値になるまでステップＴ７からステップＴ１１までの処理を繰り返し行うことにより、ドット出現パターンＣi,j［ｋ］を決定する。これにより、以上のようにして要素Ｃi,j［８］，Ｃi,j［３］，Ｃi,j［４］に「１」が設定される。ドット出現パターンＣi,j［ｋ］が決定されたら、ドット出現パターンＣi,j［ｋ］のうち、上記ステップＴ１で決定したランダム変数ｒを要素番号とするＣi,j［ｒ］を、ｉ行ｊ列目の画素の出力値ｂi,jとして算出する（ステップＴ１３）。なお、出力値ｂi,jは上記ステップＴ９又はステップＴ１０の処理からもわかるように「０」又は「１」である。
【００１９】
出力値ｂi,jを算出したら、入力された原画像データの全ての画素について出力値ｂを算出したか否かを判断し（ステップＴ１４）、全ての画素の出力値ｂを未だ算出していないと判定したら、未処理の各画素について上記ステップＴ２からステップＴ１３までの処理を繰り返し行う。全ての画素の出力値ｂ、つまり疑似中間調の出力用画像データを算出したと判定したら処理を終了する。
【００２０】
以上の逆相関型のデジタルハーフトーニング法による画像処理によれば、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値ｇi,jに比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性が向上する。そのため、逆相関型のデジタルハーフトーニング法は、誤差拡散法に見られる特有のテクスチャが少ないという特徴を有している。
なお、画像端部に関するドット出現パターンＣi,j[ｋ]の決定には、画像領域外の周辺画素に関するドット出現パターンが必要となるが、このための画像領域外の周辺画素に関してはランダム変数を用いる等してドット出現パターンを決めておく。具体的には、例えば次のように定義する。
Ｃi,j[ｋ]=  １ ( ｒＢＲ < ｎΔ  のとき)、  ０ ( それ以外のとき )
ここで、Δ=| ｇi,j − ｎ／２ |／ｎであり、「ｇi,j」は注目画素の画素値である。また、「ｒＢＲ」は｛０，１，．．．(ｉｎｔ)(ｎ／２）｝に含まれるランダムな整数であり、毎回異なる値とする。
【特許文献１】特開平４−３２８９５７号公報
【特許文献２】特開平８−１０７５００号公報
【非特許文献１】ドミトリ・Ａ・グゼフ（Dmitri A. Gusev）、"Anti-Correlation Digital Halftoning"、［online］、平成１０年８月、インディアナ大学、［平成１５年、７月１日検索］、インターネット＜ＵＲＬhttp://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR513＞
【発明の開示】
【発明が解決しようとする課題】
【００２１】
ところで、逆相関型のデジタルハーフトーニング法は、モノクロ画像の２値化には分散性が良好であるといった優れた特徴を有するが、特定の入力値に対し、規則的な周期構造をもったパターンを生ずることがある。ハーフトーニング法一般に言えることとして、単純な周期的パターンは一定レベルの入力データのハーフトーニング結果としては好ましく見える一方で、多くの場合データ値が変化する部分で境界を目立たせ、疑似輪郭を生じる。
【００２２】
逆相関型のデジタルハーフトーニング法においては、既にある程度の考慮がなされているため、一般的なＦｌｏｙｄ−Ｓｔｅｉｎｂｅｒｇ型の誤差拡散法で生ずるような周期性パターンは出にくいが、特定の画像パターンに対しては周期性構造を生ずることがある。例えばグラデーションパターン（ランプ入力）に対しては疑似輪郭が目立たないが、広範囲に５０％値が一定に連続する部位では、規則的なチェッカーパターンを生ずることがあることが分かった。
【００２３】
そこで、本発明の課題は、逆相関型のデジタルハーフトーニング法を用いたハーフトーニング処理を行う際に、周期構造を持たないようドットを制御し、疑似輪郭を防ぐことができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
請求項１に記載の発明は、
多階調画像データを量子化して疑似中間調の出力用画像データに変換するための演算処理部を有する画像処理装置であって、
前記演算処理部は、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加える構成となっていることを特徴としている。
【００２５】
請求項２に記載の発明は、
多階調画像データを量子化して疑似中間調の出力用画像データに変換するための演算処理部を有する画像処理装置であって、
前記演算処理部は、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う構成となっていることを特徴としている。
【００２６】
請求項３に記載の発明は、請求項１又は２に記載の画像処理装置において、
前記演算処理部は、前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させることを特徴としている。
【００２７】
請求項４に記載の発明は、請求項１〜３のいずれか一項に記載の画像処理装置において、
前記演算処理部は、前記ランダム値をそれぞれの画素の位置に応じて設定、変化させることを特徴としている。
【００２８】
請求項５に記載の発明は、
多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理方法であって、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加えることを特徴としている。
【００２９】
請求項６に記載の発明は、
多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理方法であって、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行うことを特徴としている。
【００３０】
請求項７に記載の発明は、請求項５又は６に記載の画像処理方法において、
前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させることを特徴としている。
【００３１】
請求項８に記載の発明は、請求項５〜７のいずれか一項に記載の画像処理方法において、
前記ランダム値をそれぞれの画素の位置に応じて設定、変化させることを特徴としている。
【００３２】
請求項９に記載の発明は、
画像処理プログラムであって、
多階調画像データを量子化して疑似中間調の出力用画像データに変換するためのコンピュータに、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う際に、
前記注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に、周辺画素にドットが出現する期待値を算出し、
当該算出された期待値にランダム値を加える機能を実現させることを特徴としている。
【００３３】
請求項１０に記載の発明は、
画像処理プログラムであって、
多階調画像データを量子化して疑似中間調の出力用画像データに変換するためのコンピュータに、
多階調画像データの注目画素について、当該注目画素の階調値に対してランダム値を加えた上で、前記注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列に対して逆相関が大きくなるようなドット出現情報配列を決定する量子化を行う機能を実現させることを特徴としている。
【００３４】
請求項１１に記載の発明は、請求項９又は１０に記載の画像処理プログラムにおいて、
前記コンピュータに、
前記ランダム値をそれぞれの画素の階調値に応じて設定、変化させる機能を実現させることを特徴としている。
【００３５】
請求項１２に記載の発明は、請求項９〜１１のいずれか一項に記載の画像処理プログラムにおいて、
前記コンピュータに、
前記ランダム値をそれぞれの画素の位置に応じて設定、変化させる機能を実現させることを特徴としている。
【発明の効果】
【００３６】
請求項１，５，９に記載の発明によれば、多階調画像データを量子化して疑似中間調の出力用画像データに変換する処理におけるドットの配置に際して、注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に算出された、周辺画素にドットが出現する期待値にランダム値を加えることで、周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【００３７】
請求項２，６，１０に記載の発明によれば、多階調画像データを量子化して疑似中間調の出力用画像データに変換する処理におけるドットの配置に際して、当該多階調画像データの注目画素の階調値に対してランダム値を加えることで、周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
さらに、多値の逆相関型のデジタルハーフトーニング法適用の際、量子化レベルの境界付近での疑似輪郭を防止することができる。
【００３８】
請求項３，７，１１に記載の発明によれば、ランダム値を画素の階調値に応じて設定、変化させることで、入力された階調値に応じ周期性を防止するための補正量を適切に設定することができ、その結果、ランダム性が必要な度合いに応じ強さを設定できるため、より確実に周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【００３９】
請求項４，８，１２に記載の発明によれば、ランダム値を画素の位置に応じて設定、変化させることで、ランダム成分の空間周波数特性を制御することができ、その結果、より確実に周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【発明を実施するための最良の形態】
【００４０】
以下、本発明の実施の形態に係る画像処理装置、画像処理方法及び画像処理のプログラムについて、図面を参照しながら説明する。ただし、発明の範囲は図示例に限定されない。
【００４１】
まず、本実施の形態に係る画像処理装置１の構成について説明する。
図１は、本実施の形態に係る画像処理装置１の概略構成を示すブロック図である。この図に示すように、画像処理装置１は、入力される多階調画像データを量子化して擬似中間調の出力用画像データに変換して出力するための演算処理部２を備えている。なお、この画像処理装置１は、インクジェットプリンタ等の周知の出力装置に搭載可能となっている。また、本実施の形態においては、多階調画像データを、各画素値が８ｂｉｔのグレースケールを持つＲＧＢ画像に関するデータとして説明する。
【００４２】
演算処理部（コンピュータ）２は、互いに接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５を備えている。
ＲＯＭ３には、本発明に係る画像処理プログラムが格納されている。この画像処理プログラムは、多階調画像データに対する逆相関型のデジタルハーフトーニング処理を演算処理部２に実行させるためのものである。
ＲＡＭ４には、ＣＰＵ５による作業領域が備えられている。
ＣＰＵ５は、ＲＯＭ３に格納されている画像処理プログラムをＲＡＭ４内の作業領域に展開し、多階調画像データから出力用画像を生成するようになっている。
【００４３】
次に、本発明に係る画像処理方法について、図２〜図６を参照しながら説明する。なお、以下においては、画像処理装置１は、左から右に向かう方向に注目画素を切り換えて処理を行うこととするが、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としても良いし、反転させて右から左に向かう方向としても良いし、左右方向の何れかをランダムに選択することとしても良い。好ましくは、画像処理装置１は、全体として蛇行するような順序で処理を行うべく、１行毎または複数行毎に処理方向を反転させるようになっている。
【００４４】
図２は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、出力用画像データを生成するために実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
この図に示すように、演算処理部２は、従来のステップＴ１と同様に、多階調画像データが入力される前に、予めランダム変数ｒを決定する（ステップＳ１）。
多階調画像データが入力されたら、演算処理部２は多階調画像データ中からｉ行ｊ列目の画素（注目画素）に関する画素値ｇi,jを取得し（ステップＳ２）、従来のステップＴ３と同様に、この画素値ｇi,jに基づきｉ行ｊ列目の画素のローカルフィルタＰを生成する（ステップＳ３）。
ローカルフィルタＰを生成したら、演算処理部２は、従来のステップＴ４と同様にｉ行ｊ列目の画素のヒストグラムＨi,j［ｋ］を算出する（ステップＳ４）。
【００４５】
次に、前記ヒストグラムＨi,j［ｋ］を算出したら、演算処理部２は、この処理中のヒストグラムＨi,j［ｋ］に対し、ランダム値ｒａｎｄ（）を入力画像データに応じた適宜の重みｗで加算する（ステップＳ５）。つまりヒストグラムＨi,j［０］〜Ｈi,j［ｎ−１］の値（期待値）に対し、それぞれに応じたランダム値を加算する。
【００４６】
具体的には、
Ｈi,j［ｋ］＋＝ｗ（ｒａｎｄ（），Ｉｎi,j）
を行う。Ｉｎi,jは入力画素の値である。ｒａｎｄ（）は整数のランダム値で毎回異なる。ランダム値としては、例えばＭ系列の乱数を用いることができる。
【００４７】
このように、注目画素のドット出現パターンをきめるためのヒストグラム計算において、現在処理対象画素の周辺ドット出現パターン（周辺画素についてのドット出現情報配列）だけでなく、ランダム値を加えることで、周期性構造をとらないようにして疑似輪郭の発生を防止する。
また、入力値に応じた振幅を設定し、周期性を生じやすい特定の入力値（階調値）に対してはランダム性を強調する。
【００４８】
Ｓ５の後、演算処理部２は、従来のステップＴ５〜Ｔ１４と同様に、要素番号列Ｓ［ｋ］及びドット出現パターン（ドット出現情報配列）Ｃi,j［ｋ］を決定し、全ての画素についての出力値ｂ、つまり出力用画像データを算出する（ステップＳ６〜Ｓ１５）。これにより、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値ｇi,jに比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性が向上する。
【００４９】
例として、５０％のグレー画像（Ｉｎi,j＝１２８）に対し、従来のアルゴリズムを適用した際の結果を図３の（ａ）に示す。また、本アルゴリズムを同画像に適用した際の結果を図３の（ｂ）に示す。ランダム値ｒａｎｄ（）を整数型とし、ｗについては
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％３２；Ｉｎi,jが１２５以上１３０以下のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝０；Ｉｎi,j  が上記以外
とした時の結果である。
これにより、図３の（ａ）では規則的なオン→オフの周期性が強く出る部分Ａとそうでない部分Ｄとが発生し、境界（点線で図示）で疑似輪郭が生じるのに対し、図３の（ｂ）では周期構造がなくなり疑似輪郭を生じないことが分かる。
【００５０】
ｗの設定については逆相関型のデジタルハーフトーニング法のヒストグラム算出時に用いるフィルタ係数の最大値を考慮して決めた。５０％の入力値に対してはｗの最大値を図９及び図１０に示したフィルタ係数の最大値の１／２程度に設定するのが適切であった。
【００５１】
なお、入力画素値の関数である重みｗは、例えば、５０％近傍の入力に対し順次振幅を小さくするよう、
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％３２；Ｉｎi,jが１２７または１２８のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％１６；Ｉｎi,jが１２６または１２９のとき
ｗ（ｒａｎｄ（），Ｉｎi,j＝ｒａｎｄ（）％８；Ｉｎi,jが１２５または１３０のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝０；Ｉｎi,jが上記以外
のように設定しても良い。
【００５２】
さらに、フィルタ係数の取り方（設定）により、他の特定部位に周期性アーティファクトを生じる場合には、部位（位置）に対応してｗを適切に設定すればよい。例えば５０％に加え、３３，６７％の入力値付近をランダム化したい場合、
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％３２；Ｉｎi,jが８５，１２７，１２８，１７０のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％１６；Ｉｎi,jが８４，８６，１２６，１２９，１６９，１７１のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％８；Ｉｎi,jが８３，８７，１２５，１３０，１６８，１７２のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝０；Ｉｎi,jが上記以外
と設定すれば良い。
【００５３】
またランダム性をより高めたい場合、全域に亘って若干の振幅を持たせても良い。
なお、ｗの設定にランダム値の余り算出オペレータを用いているが、ランダム値と入力値の関数としてランダムな値が設定されれば良い。
【００５４】
また、ランダム値はパターンをテーブルとしてあらかじめ用意しておき、ドット出現パターンの番号（ｋ）と位置（ｉ，ｊ）に応じ、テーブル内のパターン参照アドレスを変えても良い。
例えば、図４に示すように、４０９６個（０〜４０９５）のランダムパターンを用意しておき、ドット出現パターンのｋに応じ参照するパターン番号を変化させる。さらに、画素毎に初め（ｋ＝０）のドット出現パターンに加える開始位置をずらしていくようにしても良い。
またさらに、複数の色に関して処理を行う場合には、２番目以降の色についての処理で計算されるヒストグラムに対して、既に処理済みの色のドット出現パターンを所定の重みで加算することが好ましい。このようにすることで、他色のドットとの相関を調整し、色むらやざらつき感を併せて低減することができる。
【００５５】
なお、カラー画像からの逆相関型のデジタルハーフトーニング処理の場合は、全ての色について出力用画像データを生成するための逆相関型のデジタルハーフトーニング処理を行う。
【００５６】
また、前記実施の形態では、注目画素のドット出現パターンをきめるためのヒストグラム計算においてランダム値を加えたが、多階調画像データの注目画素の階調値に対しランダム値を加えることで、特定の入力値で生じやすい周期性構造をとらないようにして疑似輪郭の発生を防止する方法もある。
以下、説明する。
【００５７】
図５は本構成のブロック図である。ランダム値加算ブロックでは、画像データとその位置を入力し、ランダム値を発生させた後、逆相関ハーフトーニングブロックへデータを出力する。
ここで、図６のランダム値加算内部ブロック図に示すように、ランダム値はあらかじめ６４×６４のマトリクス配列で計算しておき、ＬＵＴに記憶しておく。ｉ，ｊの位置よりｉ％６４，ｊ％６４を計算してＬＵＴのアドレスとする。ランダム値のパターンはホワイトノイズ特性とした。
【００５８】
また、ランダム値の振幅は、入力値に応じ次のように設定した。
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％１１−５；Ｉｎi,jが１２７または１２８のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％７−３；Ｉｎi,jが１２６または１２９のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝ｒａｎｄ（）％３−１；Ｉｎi,jが１２５または１３０のとき
ｗ（ｒａｎｄ（），Ｉｎi,j）＝０；Ｉｎi,jが上記以外
として、Ｉｍｏｄi,j＝Ｉｎi,j＋ｗ（ｒａｎｄ（），Ｉｎi,j）とした。
【００５９】
処理結果を図３の（ｃ）に示す。ヒストグラムのランダム化に比べ、緩やかではあるが周期構造を低減していくことが確認できる。
なお、ランダム値のパターンはホワイトノイズ特性でなくとも良く、例えばブルーノイズ特性としても良い。
なお、逆相関ハーフトーニングブロックでは、従来と同様の逆相関型のデジタルハーフトーニング処理を行う。
【００６０】
前記方法では、多値の逆相関型のデジタルハーフトーニング処理の際の中間レベル付近の分散性を向上することもできる。すなわち、前記部分では単一のレベルが１００％を占めるため、それ以外の部分との像構造の違いから疑似輪郭を生じることがあるが、この場合中間レベル付近でランダム値を加算すれば、単一レベルを回避でき、分散性を向上することもできる。
【００６１】
以上のように、本実施の形態の画像処理装置、画像処理方法及び画像処理プログラムによれば、多階調画像データを量子化して疑似中間調の出力用画像データに変換する処理におけるドットの配置に際して、注目画素の周辺画素についてのドット出現情報配列を構成する要素の要素番号毎に算出された、周辺画素にドットが出現する期待値にランダム値を加えることで、周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【００６２】
また、本実施の形態では、ランダム値を画素の階調値に応じて設定、変化させることで、入力された階調値に応じ周期性を防止するための補正量を適切に設定することができ、その結果、ランダム性が必要な度合いに応じ強さを設定できるため、より確実に周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【００６３】
さらに、本実施の形態では、ランダム値を画素の位置に応じて設定、変化させることで、ランダム成分の空間周波数特性を制御することができ、その結果、より確実に周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
【００６４】
またさらに、多階調画像データを量子化して疑似中間調の出力用画像データに変換する処理におけるドットの配置に際して、当該多階調画像データの注目画素の階調値に対してランダム値を加えることでも、周期構造を持たないようドットを制御することができ、出力画像から疑似輪郭を防止することができる。
さらに、多値の逆相関型のデジタルハーフトーニング法適用の際、量子化レベルの境界付近での疑似輪郭を防止することができる。
【００６５】
なお、本発明は、上記各実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、本実施の形態では、入力画像は８ｂｉｔのグレースケールを持つモノクロ画像であるが、これに限るものではなく、階調、解像度、モノクロ画像かカラー画像か等適宜の画像を用いることができる。
また、出力画像についても、本実施の形態では、白黒の２値化した出力画像であるが、これに限らず、カラー画像を含めて３値以上の出力値を有する出力画像にする場合にも適用可能である。
【図面の簡単な説明】
【００６６】
【図１】本発明に係る画像処理装置の概略構成を示すブロック図である。
【図２】画像処理装置の演算処理部が実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図３】（ａ）は従来の画像処理方法を用いた場合の出力画像を示す図であり、（ｂ），（ｃ）は本発明に係る画像処理方法を用いた場合の出力画像を示す図である。
【図４】ランダム値格納テーブルの説明図である。
【図５】モノクロの多階調画像データから、２値化された出力画像データを生成する手順を示す図である。
【図６】多階調画像データにランダム値の加算を行う方法を説明するための図である。
【図７】従来の逆相関型のデジタルハーフトーニング法による画像処理を経時的に示したフローチャートである。
【図８】画素値に基づく値ΔとローカルフィルタＰの情報とを対応づけた表である。
【図９】基礎フィルタＫ1〜Ｋ3を示す図面である。
【図１０】基礎フィルタＫ4〜Ｋ6を示す図面である。
【図１１】ローカルフィルタＰ（＝Ｒ（Ｋ6，４，−１）を示す図面である。
【図１２】ヒストグラムＨｉ，ｊ［ｋ］の生成を説明するための図面である。
【符号の説明】
【００６７】
１  画像処理装置
２  演算処理部
【図１】
2005064842.tif 000003
【図２】
2005064842.tif 000004
【図３】
2005064842.tif 000005
【図４】
2005064842.tif 000006
【図５】
2005064842.tif 000007
【図６】
2005064842.tif 000008
【図７】
2005064842.tif 000009
【図８】
2005064842.tif 000010
【図９】
2005064842.tif 000011
【図１０】
2005064842.tif 000012
【図１１】
2005064842.tif 000013
【図１２】
2005064842.tif 000014