(57)【要約】【課題】逆相関型のデジタルハーフトーニング法を用いたハーフトーニング処理を行う際に、複数種類の濃度ドットの面積率を制御することで、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる画像処理装置、画像処理方法及び画像処理プログラムとする。【解決手段】入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換する画像処理であって、入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定する。【選択図】図５
2005072881.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＞
【発明の開示】
【発明が解決しようとする課題】
【００２１】
ところで、プリンタ等の出力装置が濃度の異なる複数種類のインクを備えている場合には、出力画像を印刷する際に、濃度の淡い部分は淡色インクを用い、濃度の濃い部分は濃色インクを用いて画像形成を行う。
【００２２】
しかしながら、従来は、記録紙等の記録媒体が吸収可能なインク量を考慮せずに、濃度の異なる複数種類のインクの吐出量を決定していたため、例えば、濃度が濃淡の中間である部分の出力を淡色インクで行おうとしてインク吐出量が増大し、記録媒体が吸収可能なインク量よりも多い量のインクを吐出してしまうオーバーインクが生じる可能性があった。その結果、印刷後の記録媒体がインクで湿潤した状態となり、形成された画像に悪影響を及ぼす問題が生じる。
【００２３】
そこで、本発明の課題は、逆相関型のデジタルハーフトーニング法を用いたハーフトーニング処理を行う際に、複数種類の濃度ドットの面積率を制御することにより、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる画像処理装置、画像処理方法及び画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２４】
請求項１に記載の発明は、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換する演算処理部を有する画像処理装置であって、
前記演算処理部は、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、
入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定する制御を行うことを特徴としている。
【００２５】
請求項２に記載の発明は、請求項１に記載の画像処理装置において、
前記演算処理部は、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列から、当該ドット出現情報配列を構成する要素の要素番号毎に、周辺画素にそれぞれの濃度のドットが出現する期待値を算出し、
前記要素番号毎の期待値をその値の小さい順に並べた要素番号列を濃度毎に算出し、
前記それぞれの濃度の要素番号列に、前記注目画素のそれぞれの濃度の階調値分の要素番号に対してドットを付して、前記注目画素における複数濃度のドット間の面積率に応じたドット出現情報配列を決定する構成となっていることを特徴としている。
【００２６】
請求項３に記載の発明は、請求項２に記載の画像処理装置において、
前記演算処理部は、
前記ドット出現情報配列を決定する際に、それぞれの濃度の多階調画像データのドット間で、他の濃度のドットが付された要素番号を避けてドットを付すようになっていることを特徴としている。
【００２７】
請求項４に記載の発明は、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換する画像処理方法であって、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、
入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定することを特徴としている。
【００２８】
請求項５に記載の発明は、請求項４に記載の画像処理方法において、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列から、当該ドット出現情報配列を構成する要素の要素番号毎に、周辺画素にそれぞれの濃度のドットが出現する期待値を算出し、
前記要素番号毎の期待値をその値の小さい順に並べた要素番号列を濃度毎に算出し、
前記それぞれの濃度の要素番号列に、前記注目画素のそれぞれの濃度の階調値分の要素番号に対してドットを付して、前記注目画素における複数濃度のドット間の面積率に応じたドット出現情報配列を決定することを特徴としている。
【００２９】
請求項６に記載の発明は、請求項５に記載の画像処理方法において、
前記ドット出現情報配列を決定する際に、それぞれの濃度の多階調画像データのドット間で、他の濃度のドットが付された要素番号を避けてドットを付すようになっていることを特徴としている。
【００３０】
請求項７に記載の発明は、
画像処理プログラムであって、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換するためのコンピュータに、
入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、
入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定する機能を実現させることを特徴としている。
【００３１】
請求項８に記載の発明は、請求項７に記載の画像処理プログラムにおいて、
前記コンピュータに、
多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列から、当該ドット出現情報配列を構成する要素の要素番号毎に、周辺画素にそれぞれの濃度のドットが出現する期待値を算出し、
前記要素番号毎の期待値をその値の小さい順に並べた要素番号列を濃度毎に算出し、
前記それぞれの濃度の要素番号列に、前記注目画素のそれぞれの濃度の階調値分の要素番号に対してドットを付して、前記注目画素における複数濃度のドット間の面積率に応じたドット出現情報配列を決定する機能を実現させることを特徴としている。
【００３２】
請求項９に記載の発明は、請求項８に記載の画像処理プログラムにおいて、
前記コンピュータに、
前記ドット出現情報配列を決定する際に、それぞれの濃度の多階調画像データのドット間で、他の濃度のドットが付された要素番号を避けてドットを付す機能を実現させることを特徴としている。
【発明の効果】
【００３３】
請求項１，４，７に記載の発明によれば、入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換する画像処理において、入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定するため、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、良好な画像形成を行うことができる。
【００３４】
請求項２，５，８に記載の発明によれば、多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列から、当該ドット出現情報配列を構成する要素の要素番号毎に、周辺画素にそれぞれの濃度のドットが出現する期待値を算出し、要素番号毎の期待値をその値の小さい順に並べた要素番号列を濃度毎に算出し、それぞれの濃度の要素番号列に、注目画素のそれぞれの濃度の階調値分の要素番号に対してドットを付して、注目画素における複数濃度のドット間の面積率に応じたドット出現情報配列を決定するため、確実に、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、確実に、良好な画像形成を行うことができる。
【００３５】
請求項３，６，９に記載の発明によれば、ドット出現情報配列を決定する際に、それぞれの濃度の多階調画像データのドット間で、他の濃度のドットが付された要素番号を避けてドットを付すようになっているため、より確実に、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、より確実に、良好な画像形成を行うことができる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態に係る画像処理装置、画像処理方法及び画像処理のプログラムについて、図面を参照しながら説明する。ただし、発明の範囲は図示例に限定されない。
【００３７】
まず、本実施の形態に係る画像処理装置１の構成について説明する。
図１は、本実施の形態に係る画像処理装置１の概略構成を示すブロック図である。この図に示すように、画像処理装置１は、入力される多階調画像（原画像）データを量子化して擬似中間調の出力用画像データに変換して出力するための演算処理部２を備えている。なお、この画像処理装置１は、インクジェットプリンタ等の周知の出力装置に搭載可能となっている。また、本実施の形態においては、多階調画像データを、各画素値が８ｂｉｔのグレースケールを持つＲＧＢ画像に関するデータとして説明する。また、本実施の形態では、前記８ｂｉｔ（２５６階調）の多階調画像データを、１画素に関し、白（非記録）、淡い黒（淡ドット記録）、濃い黒（濃ドット記録）の３つのレベル（値）に量子化するようになっている。
【００３８】
演算処理部（コンピュータ）２は、互いに接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４及びＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５を備えている。
ＲＯＭ３には、本発明に係る画像処理プログラムが格納されている。この画像処理プログラムは、多階調画像データに対する逆相関型のデジタルハーフトーニング処理を演算処理部２に実行させるためのものである。
ＲＡＭ４には、ＣＰＵ５による作業領域が備えられている。
ＣＰＵ５は、ＲＯＭ３に格納されている画像処理プログラムをＲＡＭ４内の作業領域に展開し、多階調画像データから出力用画像を生成するようになっている。
【００３９】
次に、本発明に係る画像処理方法について、図２〜図５を参照しながら説明する。なお、以下においては、画像処理装置１は、左から右に向かう方向に注目画素を切り換えて処理を行うこととするが、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としても良いし、反転させて右から左に向かう方向としても良いし、左右方向の何れかをランダムに選択することとしても良い。好ましくは、画像処理装置１は、全体として蛇行するような順序で処理を行うべく、１行毎または複数行毎に処理方向を反転させるようになっている。
【００４０】
図２及び図３は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、出力用画像データを生成するために実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
この図に示すように、演算処理部２は、従来のステップＴ１と同様に、多階調画像データが入力される前に、予めランダム変数ｒを決定する（ステップＳ１）。
【００４１】
多階調画像データが入力されたら、演算処理部２は多階調画像データ中からｉ行ｊ列目の画素（注目画素）に関する画素値（入力画素値）ｇ（ｉ，ｊ）を取得し、当該画素値に基づき濃ドット及び淡ドットの面積率を指定し、淡ドットに相当する淡ドットレベル値（淡ドット階調値）ｇ1（ｉ，ｊ）と濃ドットに相当する濃ドットレベル値（濃ドット階調値）ｇ2（ｉ，ｊ）を算出する（ステップＳ２）。なお、画素値ｇ（ｉ，ｊ）とは、ｉ行ｊ列目の画素における階調値のことであり、本実施形態では０〜ｎ（ｎ＝２５５）の範囲内の何れかの値である。また、ここで、淡ドットレベル値ｇ1（ｉ，ｊ）と濃ドットレベル値ｇ2（ｉ，ｊ）の合計は２５５を越えないようにする。
【００４２】
図４の表に、本実施の形態における入力画素値と淡ドットレベル値ｇ1（ｉ，ｊ）及び濃ドットレベル値ｇ2（ｉ，ｊ）との対応関係を示し、図５に図４の表から作成されたグラフを示す。この対応関係は、記録媒体やインクの種類等に応じて決定され、画素値が大きくなるにつれ出力画像が淡色から濃色へ滑らかに変化し、さらにオーバーインクとならないようにされる。
【００４３】
淡ドットレベル値ｇ1（ｉ，ｊ）及び濃ドットレベル値ｇ2（ｉ，ｊ）を算出したら、演算処理部２は、淡ドットレベル値ｇ1（ｉ，ｊ）に基づきｉ行ｊ列目の画素の淡ドットに対するローカルフィルタＰ1を生成する（ステップＳ３）。詳細は、従来のステップＴ３と同様であるため、省略する。
【００４４】
ローカルフィルタＰ1を生成したら、演算処理部２はｉ行ｊ列目の淡ドットレベル値ｇ1（ｉ，ｊ）のヒストグラムＨ1（ｉ，ｊ）［ｋ］を算出する（ステップＳ４）。詳細は、従来のステップＴ４と同様であるため、省略する。なお、本実施の形態では、「ドット出現パターンＣi,j［ｋ］」というのは、それぞれ０、１または２の値をとるＣi,j［０］〜Ｃi,j［ｎ−１］によって構成される数列（ドット出現情報配列）である。このドット出現パターンＣi,j［ｋ］は、要素ｋに０から（ｎ−１）の何れかの値を代入したときに「１」となればｉ行ｊ列目の画素に淡ドットを形成することを示し、「２」となればｉ行ｊ列目の画素に濃ドットを形成することを示し、「０」となればドットを形成しないことを示す。
【００４５】
次に、演算処理部２は、各要素ｋについて算出された淡ドットレベル値ｇ1（ｉ，ｊ）のヒストグラムＨ1（ｉ，ｊ）［０］〜Ｈ1（ｉ，ｊ）［ｎ−１］を値の小さい順に並べ替え、ヒストグラムＨ1（ｉ，ｊ）［ｋ］の大小順を示す要素番号列Ｓ1［ｋ］を算出する（ステップＳ５）。
【００４６】
例えば、ヒストグラムＨ1（ｉ，ｊ）［０］〜Ｈ1（ｉ，ｊ）［ｎ−１］が、Ｈ1（ｉ，ｊ）［８］＜Ｈ1（ｉ，ｊ）［３］＜Ｈ1（ｉ，ｊ）［４］＜Ｈ1（ｉ，ｊ）［１］＜Ｈ1（ｉ，ｊ）［５］＜…＜Ｈ1（ｉ，ｊ）［ｎ−１］のように並べ替えられたら、要素番号列Ｓ1［ｋ］は｛８，３，４，１，５，…，（ｎ−１）｝のように算出される。
なお、この要素番号列Ｓ1［ｋ］において、「８」は０番目の要素であり、「３」は１番目の要素である。
【００４７】
Ｓ５の後、演算処理部２は、従来のステップＴ６〜Ｔ１２と同様に、ドット出現パターン（ドット出現情報配列）Ｃi,j［ｋ’］に「１（淡ドット記録）」又は「０（非記録）」を付していき、ドット出現パターンＣi,j［ｋ］のうち、淡ドットの出現パターンを決定する（ステップＳ６〜Ｓ１２）。
【００４８】
淡ドットの出現パターンが決定されたら、次に、演算処理部２は、濃ドットレベル値ｇ2（ｉ，ｊ）に基づきｉ行ｊ列目の画素の濃ドットに対するローカルフィルタＰ2を生成し（ステップＳ１３）、ヒストグラムＨ2（ｉ，ｊ）［ｋ］を算出する（ステップＳ１４）。詳細については、前記ステップＳ３〜Ｓ４と同様である。
【００４９】
次に、演算処理部２は、前記ステップＳ５と同様の処理を行い、各要素ｋについて算出されたヒストグラムＨ2（ｉ，ｊ）［ｋ］の要素番号列Ｓ2［ｋ］を算出する（ステップＳ１５）。
要素番号列Ｓ2［ｋ］を算出したら、前記ステップＳ６と同様に、カウンタ値Ｃｏｕｎｔを０に設定し（ステップＳ１６）、要素番号列Ｓ2［ｋ］の要素ｋ’に、要素番号列Ｓ［ｋ］中、カウンタ値Ｃｏｕｎｔの値に対応する順番の要素Ｓ［Ｃｏｕｎｔ］の値を代入する（ステップＳ１７）。
【００５０】
そして、演算処理部２は、要素ｋ’（＝０）に対応する要素ｋの部分のドット出現パターンＣi,j［ｋ’］に「０」が設定されているかどうかの判定を行い（ステップＳ１８）、前記Ｓ１０の処理によりドット出現パターンＣi,j［ｋ’］に「０」が設定されている場合には、当該部分のドット出現パターンＣi,j［ｋ’］に設定されている「０」を変更して「２」を設定する（ステップＳ１９）。
これに対し、要素ｋ’（＝０）に対応する要素ｋの部分のドット出現パターンＣi,j［ｋ’］に、前記Ｓ９の処理により「１」が設定されている場合には、当該部分のドット出現パターンＣi,j［ｋ’］に設定されている「１」は変更せずそのままにしておく。
すなわち、ドット出現パターンＣi,j［ｋ］において、淡ドットである「１」が既に設定されている部分を避けて、濃ドットである「２」を設定するようになっている。
【００５１】
前記処理を終えたら、演算処理部２は、カウンタ値Ｃｏｕｎｔに１を加算し（ステップＳ２０）、そのカウンタ値Ｃｏｕｎｔ（＝１）と（濃ドットレベル値ｇ2（ｉ，ｊ）−１）との大小関係を比較し（ステップＳ２１）、カウンタ値Ｃｏｕｎｔが（濃ドットレベル値ｇ2（ｉ，ｊ）−１）を超えるまでステップＳ１７からステップＳ２０までの処理を繰り返し行うことにより、ドット出現パターンＣi,j［ｋ］のうち、濃ドットの出現パターンを決定し、濃ドットの出現パターンが決定されると、ドット出現パターンＣi,j［ｋ］の決定となる。
【００５２】
なお、濃ドットの出現パターンについては、カウンタ値Ｃｏｕｎｔが（濃ドットレベル値ｇ2（ｉ，ｊ）−１）を超えるまでステップＳ１８からステップＳ２０までの処理を繰り返し行えばよく、淡ドットのように（ｎ−１）まで処理を繰り返さなくてもよい。これは、ドット出現パターンＣi,j［ｋ］に「２」を設定しなかった部分には、前記淡ドットの処理で「１」か「０」が設定されているためである。これにより、無駄な処理を行わなくても良いという利点が生じる。
【００５３】
ドット出現パターンＣi,j［ｋ］が決定されたら、演算処理部２はドット出現パターンＣi,j［ｋ］のうち、上記ステップＳ１で決定したランダム変数ｒをインデックスとしたＣi,j［ｒ］を、ｉ行ｊ列目の画素の出力値ｂi,jとして算出する（ステップＳ２２）。
【００５４】
そして、出力値ｂi,jが「０」であるかどうか（ステップＳ２３）、「１」であるかどうか（ステップＳ２５）の判定を行い、「０」のときには当該画素は非記録（白）となり（ステップＳ２４）、「１」のときには当該画素は淡ドット（淡色黒）を記録することを決定し（ステップＳ２６）、「２」のときには当該画素は濃ドット（濃色黒）を記録することを決定する（ステップＳ２７）。
【００５５】
その後、次の画素について同様の処理を行い、最終的に全ての画素について前記処理を行って、当該出力用画像データを算出する。これにより、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値ｇ（ｉ，ｊ）に比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性が向上する。さらに、淡ドットと濃ドットの面積率（ドット出現パターンにおけるドット出現率）を制御しているため、オーバーインクとなって記録媒体を湿潤させることを防止でき、良好な画像を出力することができる。
【００５６】
以上のように、本実施の形態の画像処理装置、画像処理方法及び画像処理プログラムによれば、入力された多階調画像データを相異なる複数濃度の多階調画像データに分解した後、量子化して疑似中間調の出力用画像データに変換する画像処理において、入力された多階調画像データを相異なる複数濃度の多階調画像データに分解する際、入力された多階調画像データの階調値に基づき、それぞれの濃度の多階調画像データのドットが占める面積率を決定し、これに応じてそれぞれの濃度の多階調画像データの階調値を決定するため、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、良好な画像形成を行うことができる。
【００５７】
また、本実施の形態では、多階調画像データの注目画素について、当該注目画素周辺の既に量子化が行われた画素についてのドット出現情報配列から、当該ドット出現情報配列を構成する要素の要素番号毎に、周辺画素にそれぞれの濃度のドットが出現する期待値を算出し、要素番号毎の期待値をその値の小さい順に並べた要素番号列を濃度毎に算出し、それぞれの濃度の要素番号列に、注目画素のそれぞれの濃度の階調値分の要素番号に対してドットを付して、注目画素における複数濃度のドット間の面積率に応じたドット出現情報配列を決定するため、確実に、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、確実に、良好な画像形成を行うことができる。
【００５８】
さらに、本実施の形態では、ドット出現情報配列を決定する際に、それぞれの濃度の多階調画像データのドット間で、他の濃度のドットが付された要素番号を避けてドットを付すようになっているため、より確実に、良好なドット分散性を得ることができると共に、印刷時に濃度の異なる複数種類のインクの吐出量を制御してオーバーインクを防止することができる。その結果、より確実に、良好な画像形成を行うことができる。
【００５９】
なお、本発明は、上記各実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、本実施の形態では、淡ドットを決定してから濃ドットを決定したが、これに限らず、処理の多様性に対応させて、例えば濃ドットを決定してから淡ドットを決定するようにしても良い。
また、本実施の形態では、入力画像は８ｂｉｔのグレースケールを持つモノクロ画像であるが、これに限るものではなく、画像の多様性に対応させて、階調、解像度、モノクロ画像かカラー画像か等適宜の画像を用いることができる。
さらに、出力画像についても、本実施の形態では、白，淡色黒，濃色黒の３値化した出力画像であるが、これに限らず、インクの多様性に対応させて、カラー画像を含めて３値以上の種々の出力値を有する出力画像にする場合にも適用可能である。例えば、黒色インクを淡色から濃色までで３種類以上使用するようにしても良い。
【図面の簡単な説明】
【００６０】
【図１】本発明に係る画像処理装置の概略構成を示すブロック図である。
【図２】画像処理装置の演算処理部が実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図３】画像処理装置の演算処理部が実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図４】入力画素値と淡ドットレベル値及び濃ドットレベル値との対応表である。
【図５】入力画素値と淡ドットレベル値及び濃ドットレベル値との対応関係を表すグラフである。
【図６】従来の逆相関型のデジタルハーフトーニング法による画像処理を経時的に示したフローチャートである。
【図７】画素値に基づく値ΔとローカルフィルタＰの情報とを対応づけた表である。
【図８】基礎フィルタＫ1〜Ｋ3を示す図面である。
【図９】基礎フィルタＫ4〜Ｋ6を示す図面である。
【図１０】ローカルフィルタＰ（＝Ｒ（Ｋ6，４，−１））を示す図面である。
【図１１】ヒストグラムＨｉ，ｊ［ｋ］の生成を説明するための図面である。
【符号の説明】
【００６１】
１  画像処理装置
２  演算処理部
【図１】
2005072881.tif 000003
【図２】
2005072881.tif 000004
【図３】
2005072881.tif 000005
【図４】
2005072881.tif 000006
【図５】
2005072881.tif 000007
【図６】
2005072881.tif 000008
【図７】
2005072881.tif 000009
【図８】
2005072881.tif 000010
【図９】
2005072881.tif 000011
【図１０】
2005072881.tif 000012
【図１１】
2005072881.tif 000013