(57)【要約】【課題】画像データの処理速度を向上させる。【解決手段】画像処理装置１は、ｍビットの画像データを（２n＋１）値化する（ｍ，ｎは正の整数でｍ＞ｎ）装置である。画像処理装置１では、ＣＰＵ２が、画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換し、変換値について逆相関型のデジタルハーフトーニング処理をおこない、画像データの入力値と所定値との比較結果と、逆相関型のデジタルハーフトーニング処理により処理された変換値の出力値とを、組み合わせてその組合せパターンに量子化レベルを設定するようになっている。【選択図】図１
2005157525.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理装置であって（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換手段と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定手段と、
前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定手段により決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
ｍビットの画像データを（２n＋１）値化する画像処理装置であって（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換手段と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング手段と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング手段により処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定手段と、
を備えることを特徴とする画像処理装置。
【請求項３】
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理装置であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換手段と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定手段と、
注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定手段により決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定手段と、
を備えることを特徴とする画像処理装置。
【請求項４】
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理装置であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換手段と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング手段と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング手段により処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定手段と、
を備えることを特徴とする画像処理装置。
【請求項５】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴とする画像処理装置。
【請求項６】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴とする画像処理装置。
【請求項７】
請求項５又は６に記載の画像処理装置において、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴とする画像処理装置。
【請求項８】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴とする画像処理装置。
【請求項９】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴とする画像処理装置。
【請求項１０】
請求項５〜９のいずれか一項に記載の画像処理装置において、
前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換手段を備えることを特徴とする画像処理装置。
【請求項１１】
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理方法であって（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定工程と、
前記ドット出現パターン決定工程の後に、前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定工程で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定工程と、
を備えることを特徴とする画像処理方法。
【請求項１２】
ｍビットの画像データを（２n＋１）値化する画像処理方法であって（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング工程と、
前記ハーフトーニング工程の後に、前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング工程で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定工程と、
を備えることを特徴とする画像処理方法。
【請求項１３】
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理方法であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定工程と、
前記ドット出現パターン決定工程の後に、注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定工程で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定工程と、
を備えることを特徴とする画像処理方法。
【請求項１４】
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理方法であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング工程と、
前記ハーフトーニング工程の後に、前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング工程で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定工程と、
を備えることを特徴とする画像処理方法。
【請求項１５】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴とする画像処理方法。
【請求項１６】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴とする画像処理方法。
【請求項１７】
請求項１５又は１６に記載の画像処理方法において、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴とする画像処理方法。
【請求項１８】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴とする画像処理方法。
【請求項１９】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴とする画像処理方法。
【請求項２０】
請求項１５〜１９のいずれか一項に記載の画像処理方法において、
前記第１の量子化工程と前記第２の量子化工程とのあいだに、前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換工程を備えることを特徴とする画像処理方法。
【請求項２１】
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理装置に（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換機能と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定機能と、
前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定機能で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定機能と、
を実現させるための画像処理プログラム。
【請求項２２】
ｍビットの画像データを（２n＋１）値化する画像処理装置に（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換機能と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング機能と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング機能で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定機能と、
を実現させるための画像処理プログラム。
【請求項２３】
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理装置に（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換機能と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定機能と、
注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定機能で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定機能と、
を実現させるための画像処理プログラム。
【請求項２４】
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理装置に（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換機能と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング機能と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング機能で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定機能と、
を実現させるための画像処理プログラム。
【請求項２５】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させるための画像処理プログラム。
【請求項２６】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させるための画像処理プログラム。
【請求項２７】
請求項２５又は２６に記載の画像処理プログラムにおいて、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴とする画像処理プログラム。
【請求項２８】
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させるための画像処理プログラム。
【請求項２９】
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させるための画像処理プログラム。
【請求項３０】
請求項２５〜２９のいずれか一項に記載の画像処理プログラムにおいて、
前記画像処理装置に、
前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換機能を実現させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、逆相関型のデジタルハーフトーニング法により画像データを量子化する画像処理装置、画像処理方法及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来、多階調の原画像データを擬似中間調の出力用画像データに変換する量子化処理の手法として、組織的ディザ法、誤差拡散法などが知られている。このなかでも、誤差拡散法は比較的高い画質を得ることができるため、高画質の画像を得るための用途に用いられることが多く、種々の改良がなされてきた。誤差拡散法の画質的な課題は、ノイズを増幅させずにアルゴリズム特有のテクスチャーをいかに低減させるかである。
【０００３】
例えば、特許文献１では、複数の誤差拡散マトリクスを利用して均一性を確保しようと試みている。具体的には、２つのマトリクスを入力値に応じて切り替え、大きいマトリクスをハイライトやシャドー部で使用しウォームを防ぎ、小さいマトリクスを中域部で使用しノイズを抑えようとする。
【０００４】
特許文献２では、ハイライト及びシャドー領域でより均一な結果を生成するため、出力値に依存する閾値を用いて閾値を変更する。具体的には２値化出力が白か黒かで、入力に応じた閾値変更を周囲画素に対しておこない、それを繰り返し伝搬して用いる。その他にも、誤差拡散マトリクスのサイズ、係数を最適化する方法や、処理順序（走査方向）の変更などが行われてきた。これら手法からは一定の効果を得ることはできたが、十分と呼べるような効果を得ることはできなかった。
【０００５】
一方、これらの誤差拡散法やその改良方法、ディザ法などとは異なる量子化処理の手法として、逆相関型のデジタルハーフトーニング法が提案されている（非特許文献１参照）。この方法は、画素毎にドットの出現情報を表す配列（以下「ドット出現パターン」という。）、すなわち、注目画素を構成する階調数に実質的に比例した数だけドットの有無情報を配列させたドット出現パターンを設定し、その情報に基づきハーフトーニングする方法であって、注目画素についてのドット出現パターンの内容決定においては、注目画素の周辺画素について既に決定済みのドット出現パターンを用い、これらドット出現パターンを構成する要素の要素番号毎に、周辺画素にドットが出現する期待値（以下「ヒストグラム」という。）を算出し、この期待値に基づき、ドット出現数の少ない要素番号にドット有り情報を優先的に設定し、ドット出現数の多い要素番号にドット無し情報を設定するよう、注目画素のドット出現パターンを決める方法である。
【０００６】
上記逆相関型のデジタルハーフトーニング法では、１つの画素に着目した場合にはドットの出現頻度がその画素の画素値に比例し、近接する複数の画素に着目した場合には各画素でのドットの出現の仕方が周辺画素との逆相関を実質的に最大とすることとなるため、画像の記録時において記録媒体に形成されるドットの分散性を向上させることができる。
【特許文献１】特開平４−３２８５９７号公報
【特許文献２】特開平８−１０７５００号公報
【非特許文献１】ドミトリ・Ａ・グゼフ（Dmitri A. Gusev）、“Anti-Correlation Digital Halftoning”、［online］、平成１０年８月、インディアナ大学、［平成１５年、７月１日検索］、インターネット＜ＵＲＬhttp://www.cs.indiana.edu/cgi-bin/techreports/TRNNN.cgi?trnum=TR513＞
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、逆相関型のデジタルハーフトーニング法を用いて画像データを量子化する場合において、各画素の階調数に応じてドット出現パターンの要素数が増大するため、ドット出現パターンの要素数に比例して画像データの処理量も多くなり、画像データの処理速度を向上させることが課題となる。
【０００８】
例えば、逆相関型のデジタルハーフトーニング法を用いてｍビットの画像データＤ（ビット数ｍの階調数を有する画像データ）を（２n＋１）値化する場合、従来は下記のような処理をおこなっている（ｍ，ｎは正の整数でｍ＞ｎ）。すなわち、画像データＤの入力値Ｉを２n倍して２mで割った余りの変換値Ｅに変換し、変換値Ｅについて逆相関型のデジタルハーフトーニング処理をおこなって変換値Ｅから「０」か「１」かの出力値Ｏを算出し、入力値Ｉと所定の閾値との大小関係を比較し、その比較結果と逆相関型のデジタルハーフトーニング処理で変換値Ｅから算出した出力値Ｏとを組み合わせて量子化レベルを設定し、ｍビットの画像データＤを（２n＋１）値化している。
【０００９】
具体的に８ビットの画像データＤを３値化する場合（ｍ＝８，ｎ＝１とする場合）を想定すると、画像データＤの入力値Ｉを２倍して２５６で割った余りの変換値Ｅに変換し、この変換値Ｅについて逆相関型のデジタルハーフトーニング処理をおこなって変換値Ｅから「０」か「１」かの出力値Ｏを算出する。変換値Ｅから出力値Ｏを算出したら、出力値Ｏが「０」か「１」かの結果と、入力値Ｉと所定の閾値（＝１２７）との大小関係の比較結果とを、組み合わせて下記（ｉ）〜（ｉｖ）の４通りの組合せパターンを算出する。
（ｉ）入力値Ｉ≦１２７でかつ出力値Ｏが「０」
（ｉｉ）入力値Ｉ≦１２７でかつ出力値Ｏが「１」
（ｉｉｉ）入力値Ｉ＞１２７でかつ出力値Ｏが「０」
（ｉｖ）入力値Ｉ＞１２７でかつ出力値Ｏが「１」
【００１０】
そして上記（ｉ）を「レベル０」と設定し、上記（ｉｉ），（ｉｉｉ）を「レベル１」と設定し、上記（ｉｖ）を「レベル２」と設定することで、８ビットの画像データＤをレベル０〜２に３値化している。
【００１１】
この場合において入力値Ｉが０，１，…と変化すると変換値Ｅは０，２，…と変化し、これと同様にして入力値Ｉが１２８，１２９，…と変化すると変換値Ｅは０，２，…と変化する。すなわち入力値Ｉから変換値Ｅを算出する場合、入力値Ｉを２倍してスケールを合わせるため、変換値Ｅは１，３，５，…といった奇数の値をとらず、実効ビット数は７ビットである。
【００１２】
しかしながら、変換値Ｅについての逆相関型のデジタルハーフトーニング処理では、変換値Ｅのすべての値に対して処理を実行するためドット出現パターンの要素数は２５６（又は２５５）であり、結局はドット出現パターンの要素数が実効ビット数とは無関係に画像データＤの入力ビット数に対応している。一般化して言えば、ｍビットの画像データＤを（２n＋１）値化する場合において変換値Ｅについての逆相関型のデジタルハーフトーニング処理では、ドット出現パターンの要素数は２m（又は（２m−１））であって入力ビット数に対応している。したがって、逆相関型のデジタルハーフトーニング法を用いて画像データを量子化する場合において、実効ビット数に応じた処理を効率的におこなっているとは言えず、さらには上記の通り、各画素の階調数に応じてドット出現パターンの要素数が増大し、画像データの処理速度を向上させるのが難しい。
【００１３】
本発明の目的は、逆相関型のデジタルハーフトーニング法を用いて画像データを量子化するときの処理速度を高速化することである。
【課題を解決するための手段】
【００１４】
上記課題を解決するため請求項１に記載の発明は、
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理装置であって（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換手段と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定手段と、
前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定手段により決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定手段と、
を備えることを特徴としている。
【００１５】
請求項２に記載の発明は、
ｍビットの画像データを（２n＋１）値化する画像処理装置であって（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換手段と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング手段と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング手段により処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定手段と、
を備えることを特徴としている。
【００１６】
請求項３に記載の発明は、
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理装置であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換手段と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定手段と、
注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定手段により決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定手段と、
を備えることを特徴としている。
【００１７】
請求項４に記載の発明は、
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理装置であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換手段と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング手段と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング手段により処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定手段と、
を備えることを特徴としている。
【００１８】
請求項５に記載の発明は、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴としている。
【００１９】
請求項６に記載の発明は、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴としている。
【００２０】
請求項７に記載の発明は、
請求項５又は６に記載の画像処理装置において、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴としている。
【００２１】
請求項８に記載の発明は、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴としている。
【００２２】
請求項９に記載の発明は、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化手段と（Ｑは２以上の正の整数）、
前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化手段と、
を備えることを特徴としている。
【００２３】
請求項１０に記載の発明は、
請求項５〜９のいずれか一項に記載の画像処理装置において、
前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換手段を備えることを特徴としている。
【００２４】
請求項１１に記載の発明は、
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理方法であって（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定工程と、
前記ドット出現パターン決定工程の後に、前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定工程で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定工程と、
を備えることを特徴としている。
【００２５】
請求項１２に記載の発明は、
ｍビットの画像データを（２n＋１）値化する画像処理方法であって（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング工程と、
前記ハーフトーニング工程の後に、前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング工程で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定工程と、
を備えることを特徴としている。
【００２６】
請求項１３に記載の発明は、
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理方法であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定工程と、
前記ドット出現パターン決定工程の後に、注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定工程で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定工程と、
を備えることを特徴としている。
【００２７】
請求項１４に記載の発明は、
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理方法であって（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換工程と、
前記変換工程の後に、前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング工程と、
前記ハーフトーニング工程の後に、前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング工程で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定工程と、
を備えることを特徴としている。
【００２８】
請求項１５に記載の発明は、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴としている。
【００２９】
請求項１６に記載の発明は、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴としている。
【００３０】
請求項１７に記載の発明は、
請求項１５又は１６に記載の画像処理方法において、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴としている。
【００３１】
請求項１８に記載の発明は、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴としている。
【００３２】
請求項１９に記載の発明は、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理方法であって（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化工程と（Ｑは２以上の正の整数）、
前記第１の量子化工程の後に、前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化工程と、
を備えることを特徴としている。
【００３３】
請求項２０に記載の発明は、
請求項１５〜１９のいずれか一項に記載の画像処理方法において、
前記第１の量子化工程と前記第２の量子化工程とのあいだに、前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換工程を備えることを特徴としている。
【００３４】
請求項２１に記載の発明の画像処理プログラムは、
画像を構成する各画素に割り当てられたｍビットの画像データを画素ごとに（２n＋１）値化する画像処理装置に（ｍ，ｎは正の整数でｍ＞ｎ）、
注目画素の前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換機能と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定機能と、
前記注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定機能で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定機能と、
を実現させることを特徴としている。
【００３５】
請求項２２に記載の発明の画像処理プログラムは、
ｍビットの画像データを（２n＋１）値化する画像処理装置に（ｍ，ｎは正の整数でｍ＞ｎ）、
前記画像データの入力値（０〜（２m−１）のいずれかの整数）を２m-nで割った余りの変換値に変換する変換機能と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング機能と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング機能で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定機能と、
を実現させることを特徴としている。
【００３６】
請求項２３に記載の発明の画像処理プログラムは、
画像を構成する各画素に割り当てられたレベル数ｌｅの画像データを画素ごとに（ｑ＋１）値化する画像処理装置に（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
注目画素の前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換機能と、
前記注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記変換値を入力値として前記注目画素についてのドット出現パターンを決定するドット出現パターン決定機能と、
注目画素の前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ドット出現パターン決定機能で決定されたドット出現パターンに基づき算出された前記変換値の出力値とを組み合わせて前記注目画素の量子化レベルを設定するレベル設定機能と、
を実現させることを特徴としている。
【００３７】
請求項２４に記載の発明の画像処理プログラムは、
レベル数ｌｅの画像データを（ｑ＋１）値化する画像処理装置に（ｌｅ，ｑは正の整数でｌｅ＞ｑ）、
前記画像データの入力値（０〜（ｌｅ−１）のいずれかの整数）を［ｌｅ／ｑ］で割った余りの変換値に変換する変換機能と、
前記変換値について逆相関型のデジタルハーフトーニング処理をおこなうハーフトーニング機能と、
前記画像データの入力値と前記変換値の最大値に基づく閾値との大小関係を比較し、その比較結果と前記ハーフトーニング機能で処理された前記変換値の出力値とを組み合わせて量子化レベルを設定するレベル設定機能と、
を実現させることを特徴としている。
【００３８】
請求項２５に記載の発明の画像処理プログラムは、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させることを特徴としている。
【００３９】
請求項２６に記載の発明の画像処理プログラムは、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記第２の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させることを特徴としている。
【００４０】
請求項２７に記載の発明は、
請求項２５又は２６に記載の画像処理プログラムにおいて、
Ｌｅ／Ｑ＜Ｑ／Ｓの関係が成立することを特徴としている。
【００４１】
請求項２８に記載の発明の画像処理プログラムは、
画像を構成する各画素に割り当てられたレベル数Ｌｅの第１の画像データを画素ごとに（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、前記注目画素についてのドット出現パターンを決定する処理をおこない、前記注目画素の前記第１の画像データを（Ｑ＋１）値に量子化して前記注目画素の前記第１の画像データからレベル数（Ｑ＋１）の前記注目画素の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記注目画素の前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記注目画素の前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させることを特徴としている。
【００４２】
請求項２９に記載の発明の画像処理プログラムは、
レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化する画像処理装置に（Ｌｅは２以上の正の整数でＳは正の整数）、
前記第１の画像データに対して逆相関型のデジタルハーフトーニング処理をおこない、前記第１の画像データを（Ｑ＋１）値に量子化して前記第１の画像データからレベル数（Ｑ＋１）の第２の画像データを生成する第１の量子化機能と（Ｑは２以上の正の整数）、
前記第２の画像データに対して誤差拡散処理又はディザ処理をおこない、前記第２の画像データを（Ｓ＋１）値に量子化する第２の量子化機能と、
を実現させることを特徴としている。
【００４３】
請求項３０に記載の発明は、
請求項２５〜２９のいずれか一項に記載の画像処理プログラムにおいて、
前記画像処理装置に、
前記第２の画像データついて画素数を増やすように前記第２の画像データを解像度変換する解像度変換機能を実現させることを特徴としている。
【発明の効果】
【００４４】
請求項１に記載の発明では変換手段を備えるため、画像データの入力値を２m-nで割った余りの変換値に変換することができ、ドット出現パターン決定手段による処理でのドット出現パターンの要素数を減少させることができる。そのためｍビットの画像データを（２n＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。また上記の通り、ドット出現パターン決定手段による処理でのドット出現パターンの要素数を減少させることができるので、より多くのビット数の画像データが入力可能となり、画像データから作成される画像を高画質化することができる。
【００４５】
請求項２に記載の発明では変換手段を備えるため、画像データの入力値を２m-nで割った余りの変換値に変換することができ、逆相関型のデジタルハーフトーニング処理でのドット出現パターンの要素数を減少させることができる。そのためｍビットの画像データを（２n＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。また上記の通り、逆相関型のデジタルハーフトーニング処理でのドット出現パターンの要素数を減少させることができるので、より多くのビット数の画像データが入力可能となり、画像データから作成される画像を高画質化することができる。
【００４６】
請求項３に記載の発明では変換手段を備えるため、画像データの入力値を［ｌｅ／ｑ］で割った余りの変換値に変換することができ、ドット出現パターン手段による処理でのドット出現パターンの要素数を減少させることができる。そのため画像データが２の累乗で表されない画像データであっても、レベル数ｌｅの画像データを（ｑ＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。
【００４７】
請求項４に記載の発明では変換手段を備えるため、画像データの入力値を［ｌｅ／ｑ］で割った余りの変換値に変換することができ、逆相関型のデジタルハーフトーニング処理でのドット出現パターンの要素数を減少させることができる。そのため画像データが２の累乗で表されない画像データであっても、レベル数ｌｅの画像データを（ｑ＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。
【００４８】
請求項５に記載の発明では第１の量子化手段及び第２の量子化手段をそれぞれ備えるため、第１及び第２の各量子化手段によりおこなわれるドット出現パターンの決定処理でのドット出現パターンの総要素数を減少させることができる。そのためレベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。
【００４９】
請求項６に記載の発明では第１の量子化手段及び第２の量子化手段をそれぞれ備えるため、第１及び第２の各量子化手段によりおこなわれる逆相関型のデジタルハーフトーニング処理でのドット出現パターンの総要素数を減少させることができる。そのためレベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。
【００５０】
請求項７に記載の発明によれば、第１及び第２の各画像データに基づき形成されるドットの分散性を向上させることができる。
【００５１】
請求項８に記載の発明では第１の量子化手段を備えるため、第１の量子化手段によりおこなわれるドット出現パターンの決定処理でのドット出現パターンの要素数を減少させることができ、レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理速度を高速化することができる。その上、請求項８に記載の発明では第２の量子化手段を備えるため、第２の画像データを（Ｓ＋１）値化する場合に、ドット出現パターンの決定処理より処理速度の速い誤差拡散処理又はディザ処理で第２の画像データを（Ｓ＋１）値化することができ、レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理速度をさらに高速化することができる。特に第２の画像データを（Ｓ＋１）値に量子化する場合に、第２の量子化手段がディザ処理をおこなえば、大域的なドットの分散性のよさを確保した上でドットの成長を制御しやすくなる。
【００５２】
請求項９に記載の発明では第１の量子化手段を備えるため、第１の量子化手段によりおこなわれる逆相関型のデジタルハーフトーニング処理でのドット出現パターンの要素数を減少させることができ、レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理速度を高速化することができる。その上、請求項９に記載の発明では第２の量子化手段を備えるため、第２の画像データを（Ｓ＋１）値化する場合に、逆相関型のデジタルハーフトーニング処理より処理速度の速い誤差拡散処理又はディザ処理で第２の画像データを（Ｓ＋１）値化することができ、レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理速度をさらに高速化することができる。特に第２の画像データを（Ｓ＋１）値に量子化する場合に、第２の量子化手段がディザ処理をおこなえば、大域的なドットの分散性のよさを確保した上でドットの成長を制御しやすくなる。
【００５３】
請求項１０に記載の発明では第２の画像データを解像度変換する解像度変換手段を備えるため、レベル数Ｌｅの第１の画像データを解像度変換して第１の画像データを（Ｓ＋１）値化する場合より、レベル数Ｌｅの第１の画像データを（Ｓ＋１）値化するまでの処理量を減少させることができ、その処理速度を高速化することができる。
【００５４】
請求項１１，２１に記載の発明によれば、請求項１と同様の効果を奏することができる。請求項１２，２２に記載の発明によれば、請求項２と同様の効果を奏することができる。請求項１３，２３に記載の発明によれば、請求項３と同様の効果を奏することができる。請求項１４，２４に記載の発明によれば、請求項４と同様の効果を奏することができる。請求項１５，２５に記載の発明によれば、請求項５と同様の効果を奏することができる。請求項１６，２６に記載の発明によれば、請求項６と同様の効果を奏することができる。請求項１７，２７に記載の発明によれば、請求項７と同様の効果を奏することができる。請求項１８，２８に記載の発明によれば、請求項８と同様の効果を奏することができる。請求項１９，２９に記載の発明によれば、請求項９と同様の効果を奏することができる。請求項２０，３０に記載の発明によれば、請求項１０と同様の効果を奏することができる。
【発明を実施するための最良の形態】
【００５５】
以下、図面を参照しながら本発明を実施するための最良の形態について説明する。ただし、発明の範囲は図示例に限定されない。
【００５６】
［第１の実施の形態］
始めに、図１〜図９を参照しながら第１の実施形態について説明する。
図１は画像処理装置１の構成を示すブロック図である。
画像処理装置１は、インクジェットプリンタなどの周知の出力装置（画像記録装置）に搭載可能な装置であって、画像を構成する各画素に所定ビット数（所定階調数）の画像データＤ１が割り当てられた原画像データを画素ごとに量子化する装置である。画像処理装置１は、図１に示す通り、ＣＰＵ（Central Processing Unit）２、ＲＯＭ（Read Only Memory）３、ＲＡＭ（Random Access Memory）４などから構成されている。
【００５７】
画像処理装置１では、画像データＤ１を処理する画像処理プログラムがＲＯＭ３に格納されており、ＣＰＵ２が、ＲＡＭ４をワークエリアとしてＲＯＭ３に格納された画像処理プログラムを読み出してその画像処理プログラムにしたがいながら後述の各種処理を実行するようになっている。逆に言えば、画像処理プログラムが画像処理装置１のＣＰＵ２に後述の各種処理を実行させるようになっている。
【００５８】
ＲＯＭ３には、画像データＤ１の入力値Ｉ１を所定の変換値Ｅ１に変換する第１の変換用データテーブルが格納されている。具体的には第１の変換用データテーブルは、ｍビットの画像データＤ１の入力値Ｉ１を（２n＋１）値化する場合に、入力値Ｉ１を２m-nで割った余りの値（変換値Ｅ１）に変換するものである。ただし、ｍ，ｎは正の整数であってｍ＞ｎであり、入力値Ｉ１は階調値と同義であって０〜（２m−１）のいずれかの整数である。
【００５９】
次に、第１の実施形態における画像処理方法について説明する。ただし、本第１の実施形態では、ｍビットの画像データＤ１を（２n＋１）値化する処理であって、画像を構成する多数の画素のうち特定の画素（ｉ行ｊ列目の画素）を注目画素としてその注目画素における処理について主に説明する。
【００６０】
図２は、画像処理装置１のＣＰＵ２が実行する処理を経時的に示したフローチャートである。
注目画素のｍビットの画像データＤ１i,jが画像処理装置１に入力されたら、まず、変換手段としてのＣＰＵ２は、ＲＯＭ３に格納済みの上記第１の変換用データテーブルを用いながら、画像データＤ１i,jの入力値Ｉ１i,jを２m-nで割った余りの変換値Ｅ１i,jに変換し、入力値Ｉ１i,jから変換値Ｅ１i,jを算出する（ステップＳＡ（変換工程））。
【００６１】
例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）には、画像データＤ１i,jの入力値Ｉ１i,jは０〜２５５（＝２8−１）のいずれかの整数であって、ＣＰＵ２は、図３に示す第１の変換用データテーブルを用いながら、入力値Ｉ１i,jを１２８（＝２8-1）で割った余りの変換値Ｅ１i,jに変換する。この場合、変換値Ｅ１i,jは０〜１２７のいずれかの整数である。
【００６２】
ステップＳＡの処理を終えたら、ハーフトーニング手段としてのＣＰＵ２は、変換値Ｅ１i,jについて逆相関型のデジタルハーフトーニング処理をおこない、変換値Ｅ１i,jから出力値Ｏ１i,jを算出する（ステップＳＢ（ハーフトーニング工程））。
【００６３】
画像を構成する多数の画素のうち、注目画素を左から右に順に切り替えながら処理する場合を想定して、図４〜図９を参照しながら変換値Ｅ１i,jの逆相関型のデジタルハーフトーニング処理を詳細に説明すると、まず、０〜Ｅmaxの範囲内から無作為にランダム変数ｒを決定する（ステップＳＢ１）。「Ｅmax」は変換値Ｅ１i,jの最大値であって（２m-n−１）である。例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）には、最大変換値Ｅmaxは１２７（＝２8-1−１）である。
【００６４】
ランダム変数ｒを決定したら、注目画素の変換値Ｅ１i,jを取得する（ステップＳＢ２）。
【００６５】
変換値Ｅ１i,jを取得したら、その変換値Ｅ１i,jに基づき注目画素のローカルフィルタＰを生成する（ステップＳＢ３）。具体的には、始めに変換値Ｅ１i,jを下記式（１）に代入してΔを求め、そのΔが図５中左欄のどの範囲に属するかを特定し、特定した範囲に対応するローカルフィルタＰの情報を図５中右欄から特定する。
Δ＝｜Ｅ１i,j×２n−Ｉmax／２｜／Ｉmax  …  （１）
【００６６】
上記式（１）中、「Ｉmax」は入力値Ｉ１i,jの最大値であって（２m−１）である。例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）には、最大入力値Ｉmaxは２５５（＝２8−１）である。
【００６７】
上記式（１）において、例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）でその変換値Ｅ１i,jが６０だとしたら、上記式（１）からΔ＝｜６０×２1−２５５／２｜）／２５５＝７．５／２５５が導き出され、図５中、「Δ∈［０，１３／２５５）」は０≦Δ＜１３／２５５を示すから、導き出したΔ（＝７．５／２５５）が、図５中左欄の最も上の欄に記載されたΔ∈［０，１３／２５５）に属しているのを特定することができる。そしてΔ∈［０，１３／２５５）が記載された特定済みの欄から、その右隣に配置された欄のＲ（Ｋ1，６，５）をローカルフィルタＰの情報として特定することができる。
【００６８】
次に、特定したローカルフィルタＰの情報を便宜的に一般化して「Ｒ（Ｋ，ｌｋ，ε（ｌｋ））」とした場合に、始めに「Ｋ」を参照して、図６及び図７に示した６つの基礎フィルタＫ1〜Ｋ6のなかから何れか１つの基礎フィルタＫを選択する。次に、「ｌｋ」を参照して、選択した基礎フィルタＫ中の×印の画素（ｉ行ｊ列目の画素）から、上方向、左方向及び右方向に（ｌｋ−１）画素分の広がりを有するｌｋ行×（２ｌｋ−１）列のサイズのフィルタを生成する。そして、「ｌｋ」及び「ε（ｌｋ）」をそれぞれ参照して、生成されたフィルタ中の１列目から（ｌｋ−ε（ｌｋ））列目までの各画素には選択した基礎フィルタＫの画素値をそのまま割り当て、（ｌｋ−ε（ｌｋ））列目より先の列の各画素には０を割り当て、ローカルフィルタＰを生成する。
【００６９】
例えば、ローカルフィルタＰの情報がＲ（Ｋ6，４，−１）で表されるとしたら、以下のような手順でローカルフィルタＰを生成する。すなわち、Ｒ（Ｋ6，４，−１）において、基礎フィルタＫに対応するのが「Ｋ6」であるから、図７中の３つの基礎フィルタＫ4〜Ｋ6のなかから下段に図示された基礎フィルタＫ6を基礎フィルタＫとして特定する。そしてＲ（Ｋ6，４，−１）において、ｌｋに対応するのが「４」であり、ε（ｌｋ）に対応するのが「−１」であるから、図７中下段の基礎フィルタＫ6中で×印の画素から、上方向、左方向及び右方向に３（＝４−１）画素分の広がりを有する４行×７（＝２×４−１）列のサイズのフィルタを生成し、その後、その生成した４行×７列のフィルタにおいて、１列目から５（＝４−（−１））列目までの各画素には基礎フィルタＫ6の画素値をそのまま割り当て、５列目より先の６，７列目の各画素には０を割り当てる。このような手順で生成されたローカルフィルタＰを図８に示す。
【００７０】
ローカルフィルタＰを生成したら、注目画素のヒストグラムＨi,j［ｋ］を算出する（ステップＳＢ４）。「ヒストグラムＨi,j［ｋ］」というのは、ローカルフィルタＰ中に×印で示される注目画素の周辺の画素の配置位置を（ｘ，ｙ）で表したときに、注目画素周辺の各画素のドット出現パターンＣx,y［ｋ］をローカルフィルタＰの（ｘ，ｙ）の位置の値で重み付けし、要素ｋの値毎に加算した合計値である。ただし、「ｋ」は０〜Ｅmaxの任意の整数であって、ドット出現パターンＣx,y［ｋ］の要素ｋと同義である。「ドット出現パターンＣi,j［ｋ］」というのは、それぞれ「０」又は「１」の値をとるＣi,j［０］〜Ｃi,j［Ｅmax］によって構成される数列である。ドット出現パターンＣi,j［ｋ］は、要素ｋに０〜Ｅmaxのいずれかの整数を代入したときに、「１」となれば注目画素にドットを形成することを示し、「０」となれば注目画素にドットを形成しないことを示す。
【００７１】
例えば、図８に示すローカルフィルタＰを生成した場合に、ローカルフィルタＰ中の各画素の位置（ｘ，ｙ）、ローカルフィルタＰ中の各画素の画素値Ｐ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［Ｅmax］＝Ｃx1,y1［Ｅmax］×Ｐx1,y1＋Ｃx1,y2［Ｅmax］×Ｐx1,y2＋Ｃx1,y3［Ｅmax］×Ｐx1,y3＋  …  ＋Ｃx4,y3［Ｅmax］×Ｐx4,y3
【００７２】
次に、各要素ｋについて算出されたヒストグラムＨi,j［０］〜Ｈi,j［Ｅmax−１］を値の小さい順に並べ替え、ヒストグラムＨi,j［ｋ］の要素番号列Ｓ［ｋ］を算出する（ステップＳＢ５）。
【００７３】
例えば、ヒストグラムＨi,j［０］〜Ｈi,j［Ｅmax−１］が、Ｈi,j［８］＜Ｈi,j［３］＜Ｈi,j［４］＜Ｈi,j［１］＜Ｈi,j［５］＜…＜Ｈi,j［Ｅmax−１］のように並べ替えられたら、要素番号列Ｓ［ｋ］は｛８，３，４，１，５，…，Ｅmax−１｝のように算出される。この要素番号列Ｓ［ｋ］において、「８」は０番目の要素であり、「３」は１番目の要素であり、…、「Ｅmax−１」は（Ｅmax−１）番目の要素である。例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）、最大変換値Ｅmaxは上記の通り１２７であるから、上記した要素番号列Ｓ［ｋ］（＝｛８，３，４，１，５，…，Ｅmax−１｝）において「Ｅmax−１」は１２６（＝１２７−１）番目の要素となる。
【００７４】
要素番号列Ｓ［ｋ］を算出したら、カウンタ値Countを０に設定し（ステップＳＢ６）、要素番号列Ｓ［ｋ］の要素ｋ’に、要素番号列Ｓ［ｋ］中、カウンタ値Countの値に対応する順番の要素Ｓ［Count］の値を代入する（ステップＳＢ７）。すなわち、上記した要素番号列Ｓ［ｋ］（＝｛８，３，４，１，５，…，（Ｅmax−１）｝）を例にすると、カウンタ値Countが０であるから、ｋ’に８（＝Ｓ［０］）を代入する。
【００７５】
続いて、カウンタ値Countと変換値Ｅ１i,jとの大小関係を比較する（ステップＳＢ８）。比較の結果、カウンタ値Countが変換値Ｅ１i,jより小さければ、要素ｋ’に対応するドット出現パターンＣi,j［ｋ’］を「１」に設定し（ステップＳＢ９）、カウンタ値Countが変換値Ｅ１i,j以上であれば「０」に設定する（ステップＳＢ１０）。例えば、変換値Ｅ１i,jが２で要素番号列Ｓ［ｋ］が｛８，３，４，１，５，…，（Ｅmax−１）｝であれば、まず、ドット出現パターンＣi,j［ｋ］の要素Ｃi,j［８］を「１」に設定する。
【００７６】
ステップＳＢ９又はステップＳＢ１０の処理を終えたら、カウンタ値Countに１を加算し（ステップＢ１１）、カウンタ値Count（＝１）と最大変換値Ｅmaxとの大小関係を比較し（ステップＳＢ１２）、カウンタ値Countが最大変換値Ｅmaxと同じ値になるまでステップＳＢ７からステップＳＢ１１までの処理を繰り返しおこない、ドット出現パターンＣi,j［ｋ］を決定する。
【００７７】
例えば、上記と同じように、変換値Ｅ１i,jが２で要素番号列Ｓ［ｋ］が｛８，３，４，１，５，…，（Ｅmax−１）｝であれば、ステップＳＢ７〜ステップＳＢ１２の各処理の繰り返すことで、要素ｋ’＝０，１に対応するドット出現パターンＣi,j［８］，Ｃi,j［３］には「１」が設定され、それ以外の要素ｋ’＝２〜（Ｅmax−１）に対応するドット出現パターンＣi,j［ｋ’］には「０」が設定される。
【００７８】
このように第１の実施形態では、ドット出現パターン決定手段としてのＣＰＵ２は、ステップＳＢ１からステップＳＢ１２までの処理をおこない（ドット出現パターン決定工程）、注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、変換値Ｅ１i,jを入力値として注目画素についてのドット出現パターンＣi,j［ｋ］を決定している。
【００７９】
なお、第１の実施形態では、ドット出現パターンＣi,j［ｋ］の要素ｋは０〜（Ｅmax−１）でその要素数はＥmax個であるが、Ｃi,j［ｋ＝Ｅmax］を常に「０」に設定してドット出現パターンＣi,j［ｋ］の要素数を（Ｅmax＋１）個とするようにしてもよい。例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）、最大変換値Ｅmaxは上記の通り１２７であるから、ドット出現パターンＣi,j［ｋ］の要素ｋは０〜１２６でその要素数は１２７個であるが、Ｃi,j［ｋ＝１２７］を常に「０」に設定してドット出現パターンＣi,j［ｋ］の要素数を１２８（＝１２７＋１）個とするようにしてもよい。
【００８０】
ドット出現パターンＣi,j［ｋ］を決定したら、ドット出現パターンＣi,j［ｋ］のうち、上記ステップＳＢ１の処理で決定したランダム変数ｒを要素番号とするＣi,j［ｒ］を、注目画素の出力値Ｏ１i,jとして算出する（ステップＳＢ１３）。出力値Ｏ１i,jは上記ステップＳＢ９又はステップＳＢ１０の処理からもわかるように「０」又は「１」である。
【００８１】
なお、上記ステップＳＢ１〜ステップＳＢ１３の各処理では、所定の行上の注目画素を左から右に順に切り替えながら処理する場合を想定して注目画素のドット出現パターンＣi,j［ｋ］を決定したが、画像を構成する多数の画素のうち、画像領域の端部に配置された各画素のドット出現パターンＣi,j［ｋ］を決定する場合には、画像領域外の周辺画素に関するドット出現パターンを必要とするが、この画像領域外の周辺画素に関してはランダム変数ｒを用いるなどしてドット出現パターンＣi,j［ｋ］を決めておけばよい。具体的には、例えば次のように定義する。
Ｃi,j［ｋ］＝１（ｒＢＲ＜ＩmaxΔのとき）
Ｃi,j［ｋ］＝０（それ以外のとき）
ここで、「Δ」は上記式（１）に示す通りであり、「ｒＢＲ」は｛０，１，…，（ｉｎｔ）（Ｉmax／２）｝に含まれるランダムな整数であり、各端部に配置された画素ごとに異なる値である。
【００８２】
ステップＳＢの処理を終えたら、レベル設定手段としてのＣＰＵ２は、入力値Ｉ１i,jと最大変換値Ｅmaxに基づく閾値（すなわち（（Ｅmax＋１）×ａ））との大小関係を比較し、その比較結果と出力値Ｏ１i,jが「１」であるか「０」であるかの結果とを組み合わせ、各組合せパターンに量子化レベルを設定して、ｍビットの画像データＤ１i,jを（２n＋１）値化する（ステップＳＣ（レベル設定工程））。ただし、ａは正の整数であって１，２，…，（２n−１）である。
【００８３】
具体的には、出力値Ｏ１i,jが「１」であるか「０」であるかの結果と、入力値Ｉ１i,jと（（Ｅmax＋１）×ａ）との大小関係の比較結果とを、組み合わせて、
（Ｉ）ｎ＝１のとき（ａ＝１）
（ｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
（ｉｉｉ）入力値Ｉ１i,j＞（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｖｉ）入力値Ｉ１i,j＞（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
【００８４】
（ＩＩ）ｎ＝２のとき（ａ＝１，２，３）
（ｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
（ｉｉｉ）（（Ｅmax＋１）×１）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×２）でかつ出力値Ｏ１i,jが「０」
（ｉｖ）（（Ｅmax＋１）×１）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×２）でかつ出力値Ｏ１i,jが「１」
（ｖ）（（Ｅmax＋１）×２）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×３）でかつ出力値Ｏ１i,jが「０」
（ｖｉ）（（Ｅmax＋１）×２）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×３）でかつ出力値Ｏ１i,jが「１」
（ｖｉｉ）（（Ｅmax＋１）×３）＜入力値Ｉ１i,jでかつ出力値Ｏ１i,jが「０」
（ｖｉｉｉ）（（Ｅmax＋１）×３）＜入力値Ｉ１i,jでかつ出力値Ｏ１i,jが「１」
【００８５】
（ＩＩＩ）ｎ＝３のとき（ａ＝１，２，３，４，５，６，７）
…
というように、２n+1通りの組合せパターンを算出し、ｍビットの画像データＤ１i,jを（２n＋１）値化する。
【００８６】
例えば、８ビットの画像データＤ１i,jを３値化する場合（ｍ＝８，ｎ＝１とする場合）には、
（ｉ）入力値Ｉ１i,j≦１２８（＝（１２７＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｉ）入力値Ｉ１i,j≦１２８でかつ出力値Ｏ１i,jが「１」
（ｉｉｉ）入力値Ｉ１i,j＞１２８でかつ出力値Ｏ１i,jが「０」
（ｉｖ）入力値Ｉ１i,j＞１２８でかつ出力値Ｏ１i,jが「１」
の４通りの組合せパターンを算出することができる。そして上記（ｉ）を「レベル０」と設定し、上記（ｉｉ），（ｉｉｉ）を「レベル１」と設定し、上記（ｉｖ）を「レベル２」と設定することで、８ビットの画像データＤ１i,jをレベル０〜２に３（＝２1＋１）値化することができる。
【００８７】
注目画素の画像データＤ１i,jについて図２のステップＳＡ〜ステップＳＣの各処理を終えたら、ＣＰＵ２は、画像を構成するすべての画素の画像データＤ１について図２のステップＳＡ〜ステップＳＣの各処理を画素ごとに同様におこない、原画像データを画素ごとに量子化する。
【００８８】
なお、上記の通り、図２のステップＳＡ〜ステップＳＣの各処理を画素ごとに繰り返しおこなってもよいが、ステップＳＡ又はステップＳＢの処理を終えた画素につきその次の処理をおこなえばよく、例えば、図２のステップＳＡ〜ステップＳＣの各処理を、１つの行すべての画素につき処理を終えてからその行すべての画素につき次の処理をおこなってもよい。
【００８９】
第１の実施形態では、主に、画像を構成する多数の画素のうち、注目する画素を左から右に順に切り替えて処理するときの特定の注目画素（ｉ行ｊ列目の画素）の処理について説明したが、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としてもよいし、反転させて右から左に向かう方向としてもよいし、左右方向の何れかをランダムに選択するようにしてもよく、全体として蛇行するような順序で１行ごと又は複数行ごとに処理方向を反転させるように各画素の画像データＤ１を処理するのが好ましい。
【００９０】
以上の第１の実施形態では、ステップＳＡの処理でｍビットの画像データＤ１の入力値Ｉ１を２m-nで割った余りの変換値Ｅ１に変換し、ステップＳＢの処理で変換値Ｅ１について逆相関型のデジタルハーフトーニング処理をおこなうため、ｍビットの画像データＤ１を（２n＋１）値化する場合に、ステップＳＢの処理におけるドット出現パターンＣ［ｋ］の要素数（要素ｋの数）を（２p−１）又は２p個で表せば、ｍ，ｎ，ｐのあいだにはｐ＝ｍ−ｎの関係式が成立するようになっている。
【００９１】
つまり、従来のようにｍビットの画像データＤの入力値Ｉを変換してその変換値Ｅについて逆相関型のデジタルハーフトーニング処理する場合には、ドット出現パターンＣ［ｋ］の要素数は（２m−１）又は２m個であるが、第１の実施形態では、ドット出現パターンＣ［ｋ］の要素数は（２m-n−１）又は２m-n個となり、ｍからｎを減じた分だけ、ドット出現パターンＣ［ｋ］の要素数を半減又はそれ以下に減少させることができる。したがってｍビットの画像データＤ１を（２n＋１）値化するまでの処理量を大幅に減少させることができ、その処理速度を高速化することができる。また第１の実施形態では、ステップＳＢの処理の用に供する変換値Ｅ１の実効ビット数は（ｍ−ｎ）ビットであってドット出現パターンＣ［ｋ］の要素数に対応し、変換値Ｅ１についての逆相関型のデジタルハーフトーニング処理を効率的におこなうことができる。
【００９２】
また第１の実施形態では、上記の通り、ステップＳＢの処理においてドット出現パターンＣ［ｋ］の要素数が半減又はそれ以下に減少するため、画像処理装置１に入力する画像データＤ１のビット数を増加してもその画像データＤ１を処理可能であって画像データＤ１から作成される画像を高画質化することができる。
【００９３】
ところで、上記第１の実施形態では、ステップＳＡ〜ステップＳＣの各処理によりｍビットの画像データＤ１を（２n＋１）値に多値化したが、多値化後の各レベルは一般にその階調を画像の濃度、明度などの軸に対して均等化することが望まれるため、図１０に示す通り、周知のルックアップテーブルなどを用いながらｍビットの画像データＤ１に対して周知の階調変換処理をおこない、階調変換後の画像データＤ１に対して多値ハーフトーニング処理をおこなってもよい。「多値ハーフトーニング処理」というのは、上記ステップＳＢ及びステップＳＣの各処理と同様の処理である。
【００９４】
上記階調変換処理は通常、非線形のルックアップテーブルなどが用いられるため、画像データＤ１の階調変換処理で良好な変換特性を維持するには、よりビット数の多い画像データＤ１が必要とされる。また多値ハーフトーニング処理後の量子化レベル数がプリント可能なドットの種類に応じて設定可能であることが好ましく、さらには上記ステップＳＢの処理におけるドット出現パターンＣ［ｋ］の要素数も処理時間を考慮して設定可能であることが好ましい。
【００９５】
ここで上記の通り、ｍビットの画像データＤ１を（２n＋１）値化する場合に、ステップＳＢの処理におけるドット出現パターンＣ［ｋ］の要素数を（２p−１）又は２p個で表せば、ｍ，ｎ，ｐのあいだにはｐ＝ｍ−ｎの関係式が成立するから、この関係式を用いて上記階調変換処理及び多値ハーフトーニング処理の各処理の用に供する画像データＤ１のビット数ｍを最適化することができる。
【００９６】
例えば、ｍビットの画像データＤ１を５（＝２2＋１）値化する場合に、ドット出現パターンＣ［ｋ］の要素数を２５５（＝２8−１）個とするとき、上記関係式からｍ＝ｐ＋ｎ＝８＋２＝１０を導き出すことができる。したがって図１０に示す通り、８ビットの画像データＤ１を階調変換処理で１０ビットのデータに変換するように設定することで、画像データＤ１の多値化に必要なビット数ｍとドット出現パターンＣ［ｋ］の要素数との関係を最適化することができる。
【００９７】
［第２の実施形態］
続いて第２の実施形態について説明する。
第２の実施形態における画像処理装置１は、第１の実施形態で説明した画像処理装置１と同様の構成を有しているが、画像を構成する各画素に所定レベル数（所定階調数）の画像データＤ２が割り当てられた原画像データを画素ごとに量子化するようになっている。
【００９８】
すなわち、第１の実施形態では画像処理装置１が２の累乗で表された所定ビット数の画像データＤ１を処理したのに対し、第２の実施形態では画像処理装置１が２の累乗では表されない所定レベル数の画像データＤ２を処理するようになっており、この点で、画像処理装置１は第１の実施形態の処理とやや異なる処理を実行するようになっている。
【００９９】
第２の実施形態におけるＲＯＭ３には、上記第１の変換用データテーブルではなく、画像データＤ２の入力値Ｉ２を所定の変換値Ｅ２に変換する第２の変換用データテーブルが格納されている。第２の変換用データテーブルは、レベル数ｌｅの画像データＤ２の入力値Ｉ２を（ｑ＋１）値化する場合に、入力値Ｉ２を［ｌｅ／ｑ］で割った余りの値（変換値Ｅ２）に変換するものである。ただし、ｌｅ，ｑは正の整数であってｌｅ＞ｑであり、入力値Ｉ２は階調値と同義であって０〜（ｌｅ−１）のいずれかの整数であり、［ｌｅ／ｑ］はｌｅをｑで割った商の整数値（小数値以下を切り捨てた整数値）を意味する。
【０１００】
次に、第２の実施形態における画像処理方法について説明する。ただし、本第２の実施形態では、レベル数ｌｅの画像データＤ２を（ｑ＋１）値化する処理であって、画像を構成する多数の画素のうち特定の画素（ｉ行ｊ列目の画素）を注目画素としてその注目画素における処理について主に説明する。
【０１０１】
図１１は、画像処理装置１のＣＰＵ２が実行する処理を経時的に示したフローチャートである。
注目画素のレベル数ｌｅの画像データＤ２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について上記第１の実施形態で説明したステップＳＢの処理とほぼ同様の処理をおこなうが、「Ｉmax」が入力値Ｉ２i,jの最大値であって（ｌｅ−１）であり、「Ｅmax」が変換値Ｅ２i,jの最大値であってＩmaxを［ｌｅ／ｑ］で割った余りであり、ステップＳＢ３の処理に対応する処理では下記式（２）にしたがってΔを求める点が異なっている。
Δ＝｜Ｅ２i,j×（ｌｅ／［ｌｅ／ｑ］）×２５５／（ｌｅ−１）−２５５／２｜／２５５  …  （２）
【０１０５】
例えば、レベル数１９２の画像データＤ２i,jを３値化する場合（ｌｅ＝１９２，ｑ＝２とする場合）には、最大入力値Ｉmaxは１９１（＝１９２−１）であり、最大変換値Ｅmaxは９５（１９１を［１９２／２］で割った余り）である。
【０１０６】
なお、ステップＳＥの処理でも、ＣＰＵ２が、ドット出現パターン決定手段となって上記第１の実施形態で説明したステップＳＢ１からステップＳＢ１２までの処理とほぼ同様の処理をおこない（ドット出現パターン決定工程）、注目画素の周辺画素について先に決定されたドット出現パターンに対して逆相関が実質的に最も大きくなるように、変換値Ｅ２i,jを入力値として注目画素についてのドット出現パターンＣi,j［ｋ］を決定している。
【０１０７】
また、第１の実施形態と同様に、第２の実施形態では、ドット出現パターンＣi,j［ｋ］の要素ｋは０〜（Ｅmax−１）でその要素数はＥmaxであるが、Ｃi,j［ｋ＝Ｅmax］を常に「０」に設定してドット出現パターンＣi,j［ｋ］の要素数を（Ｅmax＋１）個とするようにしてもよい。例えば、レベル数１９２の画像データＤ２i,jを３値化する場合（ｌｅ＝１９２，ｑ＝２とする場合）、最大変換値Ｅmaxは上記の通り９５であるから、ドット出現パターンＣi,j［ｋ］の要素ｋは０〜９４でその要素数は９５個であるが、Ｃi,j［ｋ＝９５］を常に「０」に設定してドット出現パターンＣi,j［ｋ］の要素数を９６（＝９５＋１）個とするようにしてもよい。
【０１０８】
ステップＳＥの処理により変換値Ｅ２i,jから出力値Ｏ２i,jを算出してステップＳＥの処理を終えたら、レベル設定手段としてのＣＰＵ２は、入力値Ｉ２i,jと最大変換値Ｅmaxに基づく閾値（すなわち（（Ｅmax＋１）×ｂ））との大小関係を比較し、その比較結果と出力値Ｏ２i,jが「１」であるか「０」であるかの結果とを組み合わせ、各組合せパターンに量子化レベルを設定して、レベル数ｌｅの画像データＤ２i,jを（ｑ＋１）値化する（ステップＳＦ（レベル設定工程））。ただし、ｂは正の整数であってｂ＝１，２，…，（ｑ−１）である。
【０１０９】
具体的には、出力値Ｏ２i,jが「１」であるか「０」であるかの結果と、入力値Ｉ２i,jと（（Ｅmax＋１）×ｂ）との大小関係の比較結果とを、組み合わせて、
（Ｉ）ｑ＝２のとき（ｂ＝１）
（ｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
（ｉｉｉ）入力値Ｉ１i,j＞（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｖ）入力値Ｉ１i,j＞（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
【０１１０】
（ＩＩ）ｑ＝３のとき（ｂ＝１，２）
（ｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「０」
（ｉｉ）入力値Ｉ１i,j≦（（Ｅmax＋１）×１）でかつ出力値Ｏ１i,jが「１」
（ｉｉｉ）（（Ｅmax＋１）×１）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×２）でかつ出力値Ｏ１i,jが「０」
（ｉｖ）（（Ｅmax＋１）×１）＜入力値Ｉ１i,j≦（（Ｅmax＋１）×２）でかつ出力値Ｏ１i,jが「１」
（ｖ）（（Ｅmax＋１）×２）＜入力値Ｉ１i,jでかつ出力値Ｏ１i,jが「０」
（ｖｉ）（（Ｅmax＋１）×２）＜入力値Ｉ１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について図１１のステップＳＤ〜ステップＳＦの各処理を終えたら、ＣＰＵ２は、画像を構成するすべての画素の画像データＤについて図１１のステップＳＤ〜ステップＳＦの各処理を画素ごとに同様におこない、原画像データを画素ごとに量子化する。
【０１１４】
なお、上記の通り、図１１のステップＳＤ〜ステップＳＦの各処理を画素ごとに繰り返しおこなってもよいが、ステップＳＤ又はステップＳＥの処理を終えた画素につきその次の処理をおこなえばよく、例えば、図１１のステップＳＤ〜ステップＳＦの各処理を、１つの行すべての画素につき処理を終えてからその行すべての画素につき次の処理をおこなってもよい。
【０１１５】
また第２の実施形態でも、第１の実施形態と同様に、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としてもよいし、反転させて右から左に向かう方向としてもよいし、左右方向の何れかをランダムに選択するようにしてもよく、全体として蛇行するような順序で１行ごと又は複数行ごとに処理方向を反転させるように各画素の画像データＤ２を処理するのが好ましい。
【０１１６】
以上の第２の実施形態では、ステップＳＤの処理でレベル数ｌｅの画像データＤ２の入力値Ｉ２を［ｌｅ／ｑ］で割った余りの変換値Ｅ２に変換し、ステップＳＥの処理で変換値Ｅ２について逆相関型のデジタルハーフトーニング処理をおこなうため、レベル数ｌｅの画像データＤ２を（ｑ＋１）値化する場合に、ステップＳＥの処理におけるドット出現パターンＣ［ｋ］の要素数（要素ｋの数）を（ｒ−１）個で表せば、ｌｅ，ｑ，ｒのあいだにはｒ＝［ｌｅ／ｑ］又は（［ｌｅ／ｑ］＋１）の関係式が成立するようになっている。
【０１１７】
つまり、レベル数ｌｅの画像データＤ２の入力値Ｉ２を変換せずに逆相関型のデジタルハーフトーニング処理する場合には、ドット出現パターンＣ［ｋ］の要素数は（ｌｅ−１）又はｌｅ個であるが、第２の実施形態では、ドット出現パターンＣ［ｋ］の要素数についてはｒ＝［ｌｅ／ｑ］又は（［ｌｅ／ｑ］＋１）となり、ｌｅをｑで除した分だけ、ドット出現パターンＣ［ｋ］の要素数を減少させることができる。したがって２の累乗では表されない画像データＤ２でも、レベル数ｌｅの画像データＤ２を（ｑ＋１）値化するまでの処理量を大幅に減少させることができ、その処理速度を高速化することができる。
【０１１８】
［第３の実施形態］
続いて第３の実施形態について説明する。
第３の実施形態における画像処理装置１は、第１及び第２の各実施形態で説明した画像処理装置１と同様の構成を有している。
【０１１９】
第３の実施形態におけるＲＯＭ３には、上記第１の変換用データテーブル及び第２の変換用データテーブルがそれぞれ格納されている。
【０１２０】
次に、第３の実施形態における画像処理方法について説明する。ただし、本第３の実施形態では、画像を構成する各画素に割り当てられたレベル数Ｌｅの画像データＤ３を画素ごとに（Ｑ＋１）値化して（Ｑ＋１）値の画像データＤ４を画素ごとにそれぞれ生成し、それら画像データＤ４を画素ごとに（Ｓ＋１）値化する処理について説明するが、第１及び第２の各実施形態で説明した処理についてはその詳細な処理の内容を省略している。
【０１２１】
図１２は、画像処理装置１のＣＰＵ２が実行する処理を経時的に示したフローチャートである。
第１の画像データとしてのレベル数Ｌｅの画像データＤ３が画像処理装置１に入力されたら、まず、第１の量子化手段としてのＣＰＵ２は、レベル数Ｌｅの画像データＤ３を（Ｑ＋１）値に量子化する（ステップＳＧ（第１の量子化工程））。ただし、Ｌｅ，Ｑは２以上の正の整数であってＬｅ＞Ｑである。
【０１２２】
ステップＳＧの処理において２の累乗で表されるｍビットの画像データＤ３が画像処理装置１に入力された場合には、ＣＰＵ２は、レベル数Ｌｅ（＝２m）の画像データＤ３を第１の実施形態で説明したステップＳＡ〜ステップＳＣの各処理（図２参照）と同様にして（Ｑ＋１）（＝（２n＋１））値に量子化し、（Ｑ＋１）値の画像データＤ４を生成する。
【０１２３】
一方、ステップＳＧの処理において２の累乗では表されないレベル数Ｌｅの画像データＤ３が画像処理装置１に入力された場合には、ＣＰＵ２は、レベル数Ｌｅ（＝ｌｅ）の画像データＤ３を第２の実施形態で説明したステップＳＤ〜ステップＳＦの各処理（図１１参照）と同様にして（Ｑ＋１）（＝（ｑ＋１））値に量子化し、（Ｑ＋１）値の画像データＤ４を生成する。
【０１２４】
ステップＳＧの処理を終えたら、第２の量子化手段としてのＣＰＵ２は、第２の画像データとしてのレベル数（Ｑ＋１）の画像データＤ４を（Ｓ＋１）値に量子化する（ステップＳＨ（第２の量子化工程））。ただし、Ｓは正の整数であってＱ＞Ｓである。
【０１２５】
ステップＳＨの処理において２の累乗で表されるｍビットの画像データＤ４が画像処理装置１に入力された場合には、ＣＰＵ２は、レベル数（Ｑ＋１）（＝２m）の画像データＤ４を第１の実施形態で説明したステップＳＡ〜ステップＳＣの各処理（図２参照）と同様にして（Ｓ＋１）（＝（２n＋１））値に量子化する。
【０１２６】
一方、ステップＳＨの処理において２の累乗では表されないレベル数（Ｑ＋１）値の画像データＤ４が画像処理装置１に入力された場合には、ＣＰＵ２は、レベル数（Ｑ＋１）（＝ｌｅ）の画像データＤ４を第２の実施形態で説明したステップＳＤ〜ステップＳＦの各処理（図１１参照）と同様にして（Ｓ＋１）（＝（ｑ＋１））値に量子化する。
【０１２７】
ここで第３の実施形態では、ステップＳＧ及びステップＳＨの各処理で各レベル数Ｌｅ，（Ｑ＋１），（Ｓ＋１）が下記式（３）を満たすように、量子化レベル数を設定するのが好ましい。
Ｌｅ／Ｑ＜Ｑ／Ｓ  …  （３）
【０１２８】
例えば、ステップＳＧの処理でレベル数Ｌｅ＝２５６（＝２8）の画像データＤ３を、第１の実施形態で説明したステップＳＡ〜ステップＳＣの各処理にしたがいながら（Ｑ＋１）（＝（２n＋１））＝３（Ｑ＝２，ｎ＝１），５（Ｑ＝４，ｎ＝２），９（Ｑ＝８，ｎ＝３），１７（Ｑ＝１６，ｎ＝４），３３（Ｑ＝３２，ｎ＝５），６５（Ｑ＝６４，ｎ＝６）値の画像データＤ４をそれぞれ生成した場合（表１中パターンＡ〜Ｆ参照）、ステップＳＧの処理における各パターンＡ〜Ｆのドット出現パターンＣ［ｋ］の要素数とＬｅ／Ｑは下記表１に示す通りである。
【０１２９】
【表１】
2005157525.tif 000003
【０１３０】
ステップＳＨの処理で上記パターンＡ〜Ｆにしたがう各画像データＤ４を、第２の実施形態で説明したステップＳＤ〜ステップＳＦの各処理にしたがいながら（Ｓ＋１）（＝（ｑ＋１））＝２値に量子化した場合、ステップＳＨの処理における各パターンＡ〜Ｆのドット出現パターンＣ［ｋ］の要素数とＱ／Ｓは下記表２の通りである。
【０１３１】
【表２】
2005157525.tif 000004
【０１３２】
ステップＳＧ及びステップＳＨの処理における各パターンＡ〜Ｆのドット出現パターンの総要素数と上記式（３）の成立関係は下記表３に示す通りである。ただし、表３中「Ｌｅ／Ｑ＜Ｑ／Ｓ」の各項目で「○」は上記式（３）の関係が成立することを示し、「×」は上記式（３）の関係が成立しないことを示している。
【０１３３】
【表３】
2005157525.tif 000005
【０１３４】
表３中、パターンＢ，ＦとパターンＣ，Ｅとをそれぞれ見比べてみると、ドット出現パターンの総要素数は同じであるが、パターンＥ，Ｆは上記式（３）の関係が成立するのに対し、パターンＢ，Ｃは上記式（３）の関係が成立しない。
【０１３５】
図１３（ａ）はパターンＢにしたがって形成したドットのグラデーション画像であり、図１３（ｂ）はパターンＦにしたがって形成したドットのグラデーション画像である。各グラデーション画像を見比べると、図１３（ａ）のグラデーション画像では各ドット間の間隔が不均一となっているのに対し、図１３（ｂ）のグラデーション画像では各ドット間の間隔がほぼ均一であってドットの分散性が優れている。特に、各グラデーション画像の上部及び下部をそれぞれ見比べるとその違いを顕著に認識することができる。
【０１３６】
以上の第３の実施形態では、ステップＳＧ及びステップＳＨの各処理において、第１の実施形態で説明したステップＳＡ〜ステップＳＣ又は第２の実施形態で説明したステップＳＤ〜ステップＳＦの各処理をそれぞれおこなうため、第１及び第２の各実施形態で説明した通り、ステップＳＧ及びステップＳＨの各処理のドット出現パターンＣ［ｋ］の要素数を減少させることができ、ひいてはレベル数Ｌｅの画像データＤ３を（Ｓ＋１）値化するまでの処理速度を高速化することができる。
【０１３７】
さらに第３の実施形態では、図１３（ａ），（ｂ）のグラデーション画像からもわかるように、ステップＳＧ及びステップＳＨの各処理で上記式（３）の関係を満たすように各レベル数Ｌｅ，（Ｑ＋１），（Ｓ＋１）を設定すると、ドットの分散性に優れた画像を形成することができる。
【０１３８】
なお、第３の実施形態ではステップＳＧ及びステップＳＨの各処理を前段・後段の２段階にわたっておこなったが、後段のステップＳＨの処理では、第２の量子化手段としてのＣＰＵ２が、周知の誤差拡散処理（誤差拡散法にしたがう処理）又はディザ処理（ディザ法にしたがう処理）をおこなって（Ｑ＋１）値の画像データＤ４を（Ｓ＋１）値に量子化するようにしてもよい。
【０１３９】
ステップＳＨの処理で誤差拡散処理をおこなう場合には、注目画素の画像データＤ４の入力値Ｉ４（０〜Ｑのいずれかの整数）と所定の閾値との大小関係を比較してその比較結果に応じたレベルを注目画素に設定する処理と、入力値Ｉ４と所定の閾値との差（誤差）を注目画素の未処理周辺画素の入力値Ｉ４に一定の割合で拡散する処理とを、繰り返し画素ごとにおこなえばよい。
【０１４０】
一方、ステップＳＨの処理でディザ処理をおこなう場合には、注目画素の画像データＤ４の入力値Ｉ４と予め設定された閾値との大小関係を比較する第１の比較処理と、第１の比較処理の比較結果に基づいて注目画素の画像データＤ４の入力値Ｉ４とその注目画素に対応するディザマトリクス中の閾値との大小関係を比較する第２の比較処理とを、画素ごとにそれぞれおこない、第１及び第２の比較処理の比較結果の各組合せパターンにレベルを設定すればよい。
【０１４１】
例えば、上記表２中パターンＤに示す通り、レベル数１７の画像データＤ４をディザ処理で２値に量子化する場合には、上記第２の比較処理で画像データＤ４の入力値Ｉ４（０〜１６のいずれかの整数）とディザマトリクス中の閾値との大小関係を画素ごとに比較して２値化することができる。この場合、ディザマトリクスとして、図１４（ａ）に示すドット集中型のディザマトリクスや図１４（ｂ）に示すドット分散型のディザマトリクスなどを適用することができる。ディザマトリクスとして、図１４（ａ），（ｂ）いずれかのディザマトリクスを適用すると、その適用したディザマトリクスに応じてドットの成長（発生）を制御することができる。
【０１４２】
上記では図１４（ａ），（ｂ）のディザマトリクスを例示したが、これら以外のディザマトリクスが適用されてもよい。例えば、上記表２中パターンＥ，Ｆに示す通り、画像データＤ４のレベル数が大きい場合は、適用するディザマスクのサイズを拡大してそのディザマスクにブルーノイズ特性を付加したディザマトリクスを適用してもよい。
【０１４３】
このように、後段のステップＳＨの処理でディザ処理又は誤差拡散処理をおこなえば、後段のステップＳＨの処理において第１の実施形態で説明したステップＳＡ〜ステップＳＣ又は第２の実施形態で説明したステップＳＤ〜ステップＳＦの処理をおこなうよりも、レベル数Ｌｅの画像データＤ３を（Ｓ＋１）値化するまでの処理量を減少させることができ、ひいてはその処理速度をさらに高速化することができる。特に後段のステップＳＨの処理でディザ処理をおこなう場合には、適用するディザマトリクスに応じてそのディザマトリクス特有の特性をドットの発生に付加することができる。
【０１４４】
さらに、第３の実施形態ではステップＳＧの処理で生成した画像データＤ４をステップＳＨの処理の用にそのまま供したが、ステップＳＨの処理をおこなう前に、解像度変換手段としてのＣＰＵ２が、画像データＤ４について画素数を増やす拡大処理（解像度変換処理）をおこない、その後ＣＰＵ２がステップＳＧの処理をおこなってもよい。解像度変換処理では周知の線形補間法にしたがう処理をおこなえばよいが、その他の補間法にしたがう処理をおこなってもよい。例えば、新規画素（解像度変換処理で増やした画素）に、画像データＤ４の特定の入力値Ｉ４を一律に設定することができる。
【０１４５】
このように、ステップＳＨの処理をおこなう前に画像データＤ４について解像度変換処理をおこなえば、ステップＳＧの処理の前に画像データＤ３について解像度変換処理をおこなうよりも、ステップＳＨ及びステップＳＧの各処理の用に供する画像データＤ３及び画像データＤ４の全処理量を減少させることができ、ひいてはステップＳＨ及びステップＳＧの各処理の処理速度を高速化することができる。もちろん、画像データＤ４について解像度変換処理をおこなってからステップＳＨの処理で上記の通り誤差拡散処理又はディザ処理することも可能であって、この場合にはステップＳＨの処理量を大幅に減少させることができ、解像度変換処理後の画像データＤ４の処理速度も顕著に高速化することができる。
【０１４６】
なお、第３の実施形態では、図１２のステップＳＧ〜ステップＳＨの各処理（解像度変換処理を含む。）を画素ごとに繰り返しおこなってもよいが、ステップＳＧの処理又は解像度変換処理を終えた画素につきその次の処理をおこなえばよく、例えば、図１２のステップＳＧ〜ステップＳＨの各処理（解像度変換処理）を、１つの行すべての画素につき処理を終えてからその行すべての画素につきその次の処理をおこなってもよい。
【０１４７】
また第３の実施形態でも、第１，２の実施形態と同様に、所定数の画素からなる行を切り換えた後の処理方向については、再び左から右に向かう方向としてもよいし、反転させて右から左に向かう方向としてもよいし、左右方向の何れかをランダムに選択するようにしてもよく、全体として蛇行するような順序で１行ごと又は複数行ごとに処理方向を反転させるように各画素の画像データＤ３，Ｄ４をそれぞれ処理するのが好ましい。
【図面の簡単な説明】
【０１４８】
【図１】第１の実施形態における画像処理装置の構成を示すブロック図である。
【図２】第１の実施形態における画像処理装置のＣＰＵが実行する処理を経時的に示したフローチャートである。
【図３】第１の変換用データテーブルの一例を示す図面であって、８ビットの画像データを３値化する場合に用いる変換用データテーブルを示す図面である。
【図４】逆相関型のデジタルハーフトーニング処理を経時的に示したフローチャートである。
【図５】ΔとローカルフィルタＰの情報とを対応付けた表である。
【図６】基礎フィルタＫ1〜Ｋ3を示す図面である。
【図７】基礎フィルタＫ4〜Ｋ6を示す図面である。
【図８】ローカルフィルタＰ（＝Ｒ（Ｋ6，４，−１））を示す図面である。
【図９】ヒストグラムＨi,j［ｋ］の生成を説明するための図面である。
【図１０】第１の実施形態における画像処理装置のＣＰＵが実行する処理の変形例を概略的に示す図面である。
【図１１】第２の実施形態における画像処理装置のＣＰＵが実行する処理を経時的に示したフローチャートである。
【図１２】第３の実施形態における画像処理装置のＣＰＵが実行する処理を経時的に示したフローチャートである。
【図１３】レベル数２５６の画像データを（ａ）パターンＢにしたがって形成したドットのグラデーション画像であり、（ｂ）パターンＦにしたがって形成したドットのグラデーション画像である。
【図１４】（ａ）ドット集中型（ｂ）ドット分散型のディザマトリクスをそれぞれ示す図面である。
【符号の説明】
【０１４９】
１  画像処理装置
２  ＣＰＵ（変換手段，ドット出現パターン決定手段，ハーフトーニング手段，レベル設定手段，第１の量子化手段，第２の量子化手段，解像度変換手段）
３  ＲＯＭ
４  ＲＡＭ
Ｄ１，Ｄ２  画像データ
Ｄ３  画像データ（第１の画像データ）
Ｄ４  画像データ（第２の画像データ）
【図１】
2005157525.tif 000006
【図２】
2005157525.tif 000007
【図３】
2005157525.tif 000008
【図４】
2005157525.tif 000009
【図５】
2005157525.tif 000010
【図６】
2005157525.tif 000011
【図７】
2005157525.tif 000012
【図８】
2005157525.tif 000013
【図９】
2005157525.tif 000014
【図１０】
2005157525.tif 000015
【図１１】
2005157525.tif 000016
【図１２】
2005157525.tif 000017
【図１３】
2005157525.tif 000018
【図１４】
2005157525.tif 000019