(57)【要約】【課題】逆相関型のデジタルハーフトーニング法を用いたハーフトーニング処理を行う際に、画像のハイライト部分で、組織的なドットの配置及び異なるドット配置の発生確率を指定し、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させ、異なるドット配置間の分散性を向上し、画像への依存性の少ない安定した処理効果が得られる画像処理装置、画像処理方法及び画像処理プログラムとする。【解決手段】多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理であって、多階調画像データのハイライト部分で組織的なドット配置の形状を指定する。【選択図】図３
2005078150.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（０，０）及び図６中の２つの基礎フィルタＫA（係数値が全て正数となっている），ＫB（注目画素の左側の最も近い位置の画素の係数が負数となっている）のうち上段に図示された基礎フィルタＫAに基づき０行０列目の画素の状況１に対するローカルフィルタＰ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［ｋ］において、「８」は０番目の要素であり、「３」は１番目の要素である。
【００５８】
Ｓ５の後、演算処理部２は、従来のステップＴ６〜Ｔ１２と同様に、ドット出現パターン（ドット出現情報配列）Ｃ0,0［ｋ’］に「１（状況１ドット記録）」又は「０（非記録）」を付していき、ドット出現パターンＣ0,0［ｋ］のうち、状況１ドットの出現パターンを決定する（ステップＳ６〜Ｓ１２）。
【００５９】
状況１ドットの出現パターンが決定されたら、次に、演算処理部２は、状況２レベル値ｇ2（０，０）及び図６中の２つの基礎フィルタＫA，ＫBのうち上段に図示された基礎フィルタＫAに基づき０行０列目の画素の状況２ドットに対するローカルフィルタＰ2を生成し（ステップＳ１３）、ヒストグラムＨ2（０，０）［ｋ］を算出する（ステップＳ１４）。詳細については、前記ステップＳ３〜Ｓ４と同様である。
【００６０】
次に、演算処理部２は、前記ステップＳ５と同様の処理を行い、各要素ｋについて算出されたヒストグラムＨ2（０，０）［ｋ］の要素番号列Ｓ2［ｋ］を算出する（ステップＳ１５）。
要素番号列Ｓ2［ｋ］を算出したら、カウンタ値Ｃｏｕｎｔを０に設定すると共にカウンタ値Ｃｏｕｎｔ’を０に設定し（ステップＳ１６）、要素番号列Ｓ2［ｋ］の要素ｋ’に、要素番号列Ｓ［ｋ］中、カウンタ値Ｃｏｕｎｔの値に対応する順番の要素Ｓ［Ｃｏｕｎｔ］の値を代入する（ステップＳ１７）。
【００６１】
そして、演算処理部２は、要素ｋ’（＝０）に対応する要素ｋの部分のドット出現パターンＣ0,0［ｋ’］に「０」が設定されているかどうかの判定を行い（ステップＳ１８）、前記Ｓ１０の処理によりドット出現パターンＣ0,0［ｋ’］に「０」が設定されている場合には、当該部分のドット出現パターンＣ0,0［ｋ’］に設定されている「０」を変更して「２」を設定し（ステップＳ１９）、カウンタ値Ｃｏｕｎｔ’に１を加算する（ステップＳ２０）。
これに対し、要素ｋ’（＝０）に対応する要素ｋの部分のドット出現パターンＣ0,0［ｋ’］に、前記Ｓ９の処理により「１」が設定されている場合には、当該部分のドット出現パターンＣ0,0［ｋ’］に設定されている「１」は変更せずそのままにしておく。
すなわち、ドット出現パターンＣ0,0［ｋ］において、状況１ドットである「１」が既に設定されている部分を避けて、状況２ドットである「２」を設定するようになっている。
【００６２】
前記処理を終えたら、演算処理部２は、カウンタ値Ｃｏｕｎｔに１を加算し（ステップＳ２１）、カウンタ値Ｃｏｕｎｔ’（＝１）と（状況２レベル値ｇ2（０，０）−１）との大小関係を比較し（ステップＳ２２）、カウンタ値Ｃｏｕｎｔ’が（状況２レベル値ｇ2（０，０）−１）を超えるまでステップＳ１７からステップＳ２１までの処理を繰り返し行うことにより、ドット出現パターンＣ0,0［ｋ］のうち、状況２ドットの出現パターンを決定し、状況２ドットの出現パターンが決定されると、ドット出現パターンＣ0,0［ｋ］の決定となる。
【００６３】
なお、状況２ドットの出現パターンについては、カウンタ値Ｃｏｕｎｔ’が（状況２レベル値ｇ2（０，０）−１）を超えるまでステップＳ１７からステップＳ２１までの処理を繰り返し行えばよく、状況１ドットのように（ｎ−１）まで処理を繰り返さなくてもよい。これは、ドット出現パターンＣ0,0［ｋ］に「２」を設定しなかった部分には、前記状況１ドットの処理で「１」か「０」が設定されているためである。これにより、無駄な処理を行わなくても良いという利点が生じる。
【００６４】
ドット出現パターンＣ0,0［ｋ］が決定されたら、演算処理部２はドット出現パターンＣ0,0［ｋ］のうち、上記ステップＳ１で決定したランダム変数ｒをインデックスとしたＣ0,0［ｒ］を、０行０列目の画素の出力値ｂ’0,0として算出する（ステップＳ２３）。
【００６５】
そして、出力値ｂ’0,0が「０」であるかどうかの判定を行い（ステップＳ２４）、「０」のときには当該画素の出力ｂ0,0は「０」、すなわち非記録（白）となり（ステップＳ２５）、「１」又は「２」のときには当該画素の出力ｂ0,0は「１」、すなわち黒を記録することを決定する（ステップＳ２６）。
その後、次の画素についての処理を行う。
【００６６】
図３は、画像処理装置１の演算処理部２が前記画像処理プログラムに基づいて、ｉ行ｊ列目の座標、すなわち０行０列目を除く他の座標における画素の出力用画像データを生成するために実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【００６７】
この図に示すように、まず、演算処理部２は多階調画像データ中からｉ行ｊ列目の画素（注目画素）に関する画素値（入力画素値）ｇ（ｉ，ｊ）を取得し、当該画素値に基づき状況１のドット及び状況２のドットの発生確率を指定し、状況１のドットに相当する状況１レベル値（状況１階調値）ｇ1（ｉ，ｊ）と状況２のドットに相当する状況２レベル値（状況２階調値）ｇ2（ｉ，ｊ）を算出する（ステップＳ３１）。なお、画素値ｇ（ｉ，ｊ）は、ｉ行ｊ列目の画素における階調値のことであり、本実施形態では０〜ｎ（ｎ＝２５５）の範囲内の何れかの値である。また、ここで、状況１と状況２の発生確率の合計は１になり、状況１レベル値ｇ1（ｉ，ｊ）と状況２レベル値ｇ2（ｉ，ｊ）の合計は画素値ｇ（ｉ，ｊ）の値となるようにされている。
【００６８】
図５の表に、本実施の形態における入力画素値と状況１レベル値ｇ1及び状況２レベル値ｇ2との対応関係を示す。この対応関係は、入力画素値に対する状況１と状況２の発生確率の関係と同じであり、出力画像が最適となるように決定されている。
【００６９】
状況１レベル値ｇ1（ｉ，ｊ）及び状況２レベル値ｇ2（ｉ，ｊ）を算出したら、演算処理部２は、状況１レベル値ｇ1（ｉ，ｊ）及び図６中の２つの基礎フィルタＫA，ＫBのうち上段に図示された基礎フィルタＫAに基づきｉ行ｊ列目の画素の状況１に対するローカルフィルタＰ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［ｋ］のうち、状況１ドットの出現パターンを決定する（ステップＳ３５〜Ｓ４１）。
【００７４】
状況１ドットの出現パターンが決定されたら、次に、演算処理部２は、状況２ドットの出現パターンを決定する。
まず、演算処理部２は、当該注目画素の１つ前に処理した注目画素、すなわちｉ行ｊ−１列目の画素の出力値ｂ’i,j-1が「２（状況２ドットを形成）」であり、かつ１つ前に処理した注目画素の座標（ｉ，ｊ−１）が孤立点となっているかどうかの判定を行う（ステップＳ４２）。
【００７５】
ここで、ｂ’i,j-1が「２」であり、かつ（ｉ，ｊ−１）が孤立点となっている場合には、演算処理部２は、状況２レベル値ｇ2（ｉ，ｊ）及び図６中の２つの基礎フィルタＫA，ＫBのうち下段に図示された基礎フィルタＫBに基づきｉ行ｊ列目の画素の状況２ドットに対するローカルフィルタＰ2を生成する（ステップＳ４４）。基礎フィルタＫBは、注目画素の左側の最も近い位置（注目画素の左隣）の画素の係数が負数となっており（本実施の形態では「−６４」）、この基礎フィルタＫBを用いてローカルフィルタを生成し、ドット出現パターンを作成すると、１つ前に処理した注目画素のドット出現パターンにおいてドット記録とされた要素番号では、この負の係数が影響して、ヒストグラムの期待値が小さな値となり、要素番号列Ｓ2［ｋ］の早い順番に、１つ前に処理した注目画素にドット記録がある要素番号が入るようになる。これにより、当該要素番号に「２」が入る可能性が高くなり、連続ドットを形成する可能性が高くなる。ここで、状況１と状況２の発生確率を変えると、連続ドットを形成する率を変化させることができ、組織的なドット配置の形状を指定することができる。
【００７６】
これに対し、ｂ’i,j-1が「２」でなく「０」又は「１」であるか、（ｉ，ｊ−１）が孤立点となっていないかの少なくとも一方を満たす場合には、演算処理部２は、状況２レベル値ｇ2（ｉ，ｊ）及び図６中の２つの基礎フィルタＫA，ＫBのうち下段に図示された基礎フィルタＫAに基づきｉ行ｊ列目の画素の状況２ドットに対するローカルフィルタＰ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が「０」であるかどうかの判定を行い（ステップＳ５５）、「０」のときには当該画素の出力ｂi,jは「０」、すなわち非記録（白）となり（ステップＳ５６）、「１」又は「２」のときには当該画素の出力ｂi,jは「１」、すなわち黒を記録することを決定する（ステップＳ５７）。
【００８３】
その後、次の画素について同様の処理を行い、最終的に全ての画素について前記処理を行って、当該出力用画像データを算出する。これにより、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値ｇ（ｉ，ｊ）に比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性が向上する。
また、画像のハイライト部分で、状況１と状況２の発生確率を指定すること、異なるドット配置の発生量を制御することが可能となった。これにより、逆相関デジタルハーフトーニングを用いたハーフトーニング処理における、状況１と状況２の分散性を向上させることができるようになった。さらに、ローカルフィルタの係数を負数にすることにより、指定されたドット配置の発生が可能となった。
【００８４】
以上の画像処理方法による出力画像の例を図７に示す。この図７では、状況１と状況２の発生確率を変えた画素値３２のパッチに対する（ａ）〜（ｅ）の５つの処理結果を示している。
すなわち、（ａ）では状況１の発生確率が０％で状況２の発生確率が１００％となっており、（ｂ）→（ｃ）→（ｄ）と図の下側の画像になるにつれて、状況１の発生確率が上がって状況２の発生確率が下がっていき、（ｅ）では状況１の発生確率が１００％で状況２の発生確率が０％となっている。
そして、前記したように、（ａ）→（ｂ）→（ｃ）→（ｄ）→（ｅ）と状況１の発生確率が高くなって状況２の発生確率が低くなるにつれて、画像における孤立ドットが増えるようになっている。つまり、本発明によって、出力画像における組織的なドット配置を制御できることが証明された。
【００８５】
以上のように、本実施の形態の画像処理装置、画像処理方法及び画像処理プログラムによれば、多階調画像データを量子化して疑似中間調の出力用画像データに変換する画像処理において、多階調画像データのハイライト部分で組織的なドット配置の形状を指定するため、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００８６】
また、本実施の形態では、多階調画像データのハイライト部分でドット配置の発生確率を指定することにより、組織的なドット配置の形状を指定するため、確実に、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００８７】
さらに、本実施の形態では、多階調画像データの注目画素において、異なるドット配置の発生確率に相当する値毎にローカルフィルタを決め、それぞれについての要素番号列を算出した後、同じドット出現情報配列に異なるドット配置を表す値を入れるため、より確実に、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００８８】
またさらに、本実施の形態では、ドット出現情報配列を決定する際に、他のドット配置を表す値が入っている要素番号を避けてドット配置を表す値を入れるため、さらに確実に、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００８９】
また、本実施の形態では、既に処理された画素の状況及び指定されたドット配置に応じて、注目画素の出力状況を判断するため、またさらに確実に、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００９０】
さらに、本実施の形態では、連続発生させる必要がある画素に対し、ローカルフィルタにおいて、ドット連続発生方向にある注目画素に近い係数値を負数にすることにより、ドット配置の形状を指定するため、もっと確実に、原画像に忠実な解像性を得ると同時に、指定された組織的なドットの配置を発生させて異なるドット配置間の分散性を向上させ、画像への依存性の少ない安定した処理効果を得ることができる。
【００９１】
なお、本発明は、上記各実施の形態に限定されることなく、本発明の趣旨を逸脱しない範囲において、種々の改良並びに設計の変更を行っても良い。
例えば、本実施の形態では、状況１のドットを決定してから状況２のドットを決定したが、これに限らず、処理の多様性に対応させて、例えば状況２のドットを決定してから状況１のドットを決定するようにしても良い。
また、本実施の形態では、状況１と状況２の２種類のドット発生状況を定義したが、これに限るものではなく、ドット配置の多様性に対応させて、例えば３つ以上の連続ドットの発生状況など、他のドット発生状況を定義しても良い。さらに、ドットの連続方向も横方向に限らず、縦方向や斜め方向などでも良い。
また、本実施の形態では、入力画像は８ｂｉｔのグレースケールを持つモノクロ画像であるが、これに限るものではなく、画像の多様性に対応させて、階調、解像度、モノクロ画像かカラー画像か等適宜の画像を用いることができる。
さらに、出力画像についても、本実施の形態では、白黒の２値化した出力画像であるが、これに限らず、インクの多様性に対応させて、カラー画像を含めて３値以上の種々の出力値を有する出力画像にする場合にも適用可能である。
【図面の簡単な説明】
【００９２】
【図１】本発明に係る画像処理装置の概略構成を示すブロック図である。
【図２】画像処理装置の演算処理部が実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図３】画像処理装置の演算処理部が実行する逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図４】状況１のドットと状況２のドットを説明するための図面である。
【図５】入力画素値と状況１レベル値及び状況２レベル値との対応表である。
【図６】基礎フィルタＫA及びＫBを示す図面である。
【図７】画素値３２のパッチに対する逆相関型のデジタルハーフトーニング処理結果の出力画像を示す図である。
【図８】従来の逆相関型のデジタルハーフトーニング法による画像処理を経時的に示したフローチャートである。
【図９】画素値に基づく値ΔとローカルフィルタＰの情報とを対応づけた表である。
【図１０】基礎フィルタＫ1〜Ｋ3を示す図面である。
【図１１】基礎フィルタＫ4〜Ｋ6を示す図面である。
【図１２】ローカルフィルタＰ（＝Ｒ（Ｋ6，４，−１））を示す図面である。
【図１３】ヒストグラムＨｉ，ｊ［ｋ］の生成を説明するための図面である。
【符号の説明】
【００９３】
１  画像処理装置
２  演算処理部
【図１】
2005078150.tif 000003
【図２】
2005078150.tif 000004
【図３】
2005078150.tif 000005
【図４】
2005078150.tif 000006
【図５】
2005078150.tif 000007
【図６】
2005078150.tif 000008
【図７】
2005078150.tif 000009
【図８】
2005078150.tif 000010
【図９】
2005078150.tif 000011
【図１０】
2005078150.tif 000012
【図１１】
2005078150.tif 000013
【図１２】
2005078150.tif 000014
【図１３】
2005078150.tif 000015