(57)【要約】【課題】変換後の画像データに基づく出力画像に疑似輪郭を生じさせず、適切な画質の出力画像を高速な階調数変換処理にて得ることを課題とする。【解決手段】画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データＤ１をＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データＤ３に階調数変換する際、画像データＤ１を構成する複数の画素の中からＮ階調の強制階調値D’out（所定階調値）とする画素を所定比率RAで選択し、選択した画素について、当該画素の入力階調値ｍを強制階調値D’outにする変換を行うとともに同変換により生じる階調誤差errを周辺の未変換画素に拡散させ、選択しなかった画素について、当該画素の入力階調値ｍおよび当該画素に拡散されてきた階調誤差err’を用いて当該画素の入力階調値ｍをＮ階調の階調値に変換するとともに同変換により生じる階調誤差errを周辺の未変換画素に拡散させる。【選択図】図１
2005286408.tif 000002
【特許請求の範囲】
【請求項１】
画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データをＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データに階調数変換する際、変換対象の画素について階調値を変換するとともに同変換により生じる階調誤差を未変換画素に拡散させながら階調数変換を行う画像処理装置であって、
上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素を所定比率で選択する選択手段と、
この選択手段にて選択された画素について、当該画素の階調値を上記所定階調値にする変換を行うとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第一変換手段と、
上記選択手段にて選択されなかった画素について、当該画素の階調値および当該画素に拡散されてきた上記階調誤差を用いて当該画素の階調値を上記Ｎ階調の階調値に変換するとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第二変換手段とを具備することを特徴とする画像処理装置。
【請求項２】
上記所定比率は、上記Ｍ階調の階調値の大きさに応じた比率とされていることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
上記Ｎ階調の所定階調値は、上記Ｍ階調の階調値の大きさに応じた階調値とされていることを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
上記所定比率は、上記Ｍ階調の階調値の大きさに応じた比率とされ、
上記選択手段は、上記Ｍ階調の各段階の階調値と、上記所定比率および上記Ｎ階調の所定階調値と、の対応関係を表した対応関係データから上記階調数変換前の各画素の階調値に対応する比率を取得し、当該比率で上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素を選択し、
上記第一変換手段は、上記対応関係データから上記階調数変換前の各画素の階調値に対応するＮ階調の階調値を取得し、上記選択手段にて選択された画素について、当該画素の階調値を同取得したＮ階調の階調値に変換するとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
上記Ｎ階調の階調値をｎとするとき、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎに変換される上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎ以外の階調値とされていることを特徴とする請求項３または請求項４に記載の画像処理装置。
【請求項６】
上記第二変換手段にて上記階調誤差を増減させずに上記階調値ｎに変換される上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち上記階調値ｎから１段階小さい階調値、または、上記Ｎ階調の各段階の階調値のうち上記階調値ｎから１段階大きい階調値、とされていることを特徴とする請求項５に記載の画像処理装置。
【請求項７】
上記第二変換手段にて上記階調誤差を増減させずに上記階調値ｎに変換される上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち上記階調値ｎより大きい階調値のいずれか一つのみ、または、上記Ｎ階調の各段階の階調値のうち上記階調値ｎより小さい階調値のいずれか一つのみ、とされていることを特徴とする請求項５に記載の画像処理装置。
【請求項８】
上記Ｎ階調の各段階の階調値のうち隣接した段階の階調値をｎ１，ｎ２、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎ１，ｎ２に変換される上記Ｍ階調の階調値をそれぞれｍ１，ｍ２とするとき、階調値ｍ１以上ｍ２以下の上記Ｍ階調の階調値についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎ１およびｎ２以外の階調値とされていることを特徴とする請求項３または請求項４に記載の画像処理装置。
【請求項９】
上記Ｎ階調の各段階の階調値を大きさの順にｎi（ｉは間隔１で連続したＮ個の整数）、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎiに変換される上記Ｍ階調の階調値をそれぞれｍiとするとき、各階調値ｍiのうち少なくとも一部の階調値ｍi付近となる上記Ｍ階調の階調値についての上記所定階調値は、当該Ｍ階調の階調値が階調値ｍiより小さい場合に階調値ｎi+1とされ、当該Ｍ階調の階調値が階調値ｍiより大きい場合に階調値ｎi-1とされていることを特徴とする請求項３または請求項４に記載の画像処理装置。
【請求項１０】
上記Ｎ階調の各段階の階調値を大きさの順にｎi（ｉは間隔１で連続したＮ個の整数）、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎiに変換される上記Ｍ階調の階調値をそれぞれｍiとするとき、階調値ｍiの少なくとも一部についての上記所定比率は、当該階調値ｍiについての上記所定階調値とする上記Ｍ階調の各段階の階調値についての上記所定比率の中で最も大きくされていることを特徴とする請求項２に記載の画像処理装置。
【請求項１１】
上記選択手段は、上記変換対象の画素について、上記画像データを構成する各画素の位置に対応させて所定の領域を持たせているとともに当該領域内の画素毎に上記所定比率に対比させる各閾値を表した各閾データを格納したディザ情報テーブルのうち上記変換対象の画素に対応する閾データが上記所定比率から比率０側を表したデータであるか否かを判断し、比率０側を表したデータであると判断した場合に上記Ｎ階調の所定階調値とする画素として選択することを特徴とする請求項１〜請求項１０のいずれかに記載の画像処理装置。
【請求項１２】
上記選択手段は、上記変換対象の画素について、比率０と比率１との間で発生させた乱数が上記所定比率から比率０側であるか否かを判断し、比率０側であると判断した場合に上記Ｎ階調の所定階調値とする画素として選択することを特徴とする請求項１〜請求項１１のいずれかに記載の画像処理装置。
【請求項１３】
画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データをＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データに階調数変換する際、変換対象の画素について階調値を変換するとともに同変換により生じる階調誤差を未変換画素に拡散させながら階調数変換を行う画像処理方法であって、
上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素を所定比率で選択する選択工程と、
この選択工程にて選択された画素について、当該画素の階調値を上記所定階調値にする変換を行うとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第一変換工程と、
上記選択工程にて選択されなかった画素について、当該画素の階調値および当該画素に拡散されてきた上記階調誤差を用いて当該画素の階調値を上記Ｎ階調の階調値に変換するとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第二変換工程とを具備することを特徴とする画像処理方法。
【請求項１４】
画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データをＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データに階調数変換する際、変換対象の画素について階調値を変換するとともに同変換により生じる階調誤差を未変換画素に拡散させながら階調数変換を行う機能をコンピュータに実現させる画像処理プログラムであって、
上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素を所定比率で選択する選択機能と、
この選択機能にて選択された画素について、当該画素の階調値を上記所定階調値にする変換を行うとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第一変換機能と、
上記選択機能にて選択されなかった画素について、当該画素の階調値および当該画素に拡散されてきた上記階調誤差を用いて当該画素の階調値を上記Ｎ階調の階調値に変換するとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させる第二変換機能とを実現させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｍ階調（Ｍは３以上の整数）の画像データをＮ階調（２≦Ｎ＜Ｍ）に多値化（階調数を減ずる階調数変換）する際に変換対象画素の階調値の変換により生じる階調誤差を未変換画素に拡散させる誤差拡散法を用いながら多値化する画像処理装置、画像処理方法および画像処理プログラムに関する。
【背景技術】
【０００２】
従来、図１６に示すように、誤差拡散法を用いてＭ階調の画像データをＮ階調に多値化する際、画素毎の多値化前の入力階調値ｍが多値化後の出力階調値ｉ（ｉは０〜Ｎ−１の整数）に相当する離散的な階調値ｎiと一致する場合、離散的な階調値はｍと一致したｎiが100%とされ、出力階調値はｎiに対応するｉの発生率が100%とされる。これは、階調値ｎiの各段階間に出力階調値を決定するための閾値が設けられているとともに、ｍ＝ｎiの場合には階調誤差に増減が生じないことにより、常に入力階調値ｍが離散的な階調値に対応する出力階調値に変換されるためである。一方、入力階調値ｍがｎi＜ｍ＜ｎi+1である場合、離散的な階調値はｎiとｎi+1とが混在した状態とされる。なお、図では各階調値ｎiの発生率を（）内に示している。
【０００３】
その結果、図１７に示すように、ｍ＝ｎiである場合には１種類のみの出力階調値に変換されるため、多値化後の画像データに基づいて印刷媒体に印刷される印刷画像等の出力画像は粒状感のない画像（一致領域ＲＥ）となる。一方、ｍがｎiと異なる場合には２種類の出力階調値が混在するように変換されるため、出力画像は粒状感のある画像（不一致領域ＲＮ）となる。そのため、濃淡のグラデーションがある画像Ｉ０の画像データを多値化すると、ｍ＝ｎiの粒状感のない領域とその周辺の粒状感のある領域との間で粒状感の違いにより擬似輪郭が生じ、出力画像についてなめらかな階調表現をすることができないという問題があった。
【０００４】
特許文献１記載の技術では、上述した閾値について、１画素の多値化処理のための複数の閾値を１組とし、複数組の閾値を周期的に変動させて発生するとともに、複数組の閾値のうち少なくとも１つの組の閾値を濃度レベルの高いほうに片寄らせ、さらに少なくとも１つの組の閾値を濃度レベルの低いほうに片寄らせている。同技術では、多値化処理されて出力されるデータは0,80,160,255の４値とされ、単純な閾値の組［60,120,180］に対して濃度レベルの高い閾値の組を［200,220,240］、濃度レベルの低い閾値の組を［20,40,60］としている。また、特許文献１の［他の実施例］（第４図）では、各画素の多値化処理の際、多値化対象の画素の入力画像データと、当該画素に拡散されてきた誤差データと、ディザＲＯＭのデータとを加算し、加算値と閾値とを対比して出力データと誤差データを発生させている。これにより、発生する誤差の量を多くし、疑似輪郭の発生をも防止することができるとしている。
【特許文献１】特許第２７３８８６５号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１記載の技術では、出力データ「160」と同じ補正データ（入力画像データに誤差データを加算したデータ）が濃度レベルの高い閾値［200,220,240］と対比されると出力データは２段階小さい「０」となってしまうし、出力データ「80」と同じ補正データが濃度レベルの低い閾値［20,40,60］と対比されると出力データは２段階大きい「255」となってしまう。その結果、出力画像には粒状感が目立ち、適切な画質の出力画像を得ることができなかった。また、全画素について常に複数の閾値と対比して出力データを決定するため、多値化処理に時間がかかっていた。
【０００６】
本発明は、上記課題にかんがみてなされたもので、誤差拡散法を用いて画像データを多値化する際に、変換後の画像データに基づく出力画像に疑似輪郭を生じさせず、適切な画質の出力画像を高速な階調数変換処理にて得ることが可能な画像処理装置、画像処理方法および画像処理プログラムの提供を目的とする。
【課題を解決するための手段および発明の効果】
【０００７】
上記目的を達成するため、本発明は、画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データをＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データに階調数変換する際、変換対象の画素について階調値を変換するとともに同変換により生じる階調誤差を未変換画素に拡散させながら階調数変換を行う画像処理装置であって、選択手段と第一変換手段と第二変換手段とを具備することを特徴とする。
上記選択手段により、上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素が所定比率で選択される。この選択手段にて選択された画素について、上記第一変換手段により、当該画素の階調値が上記Ｎ階調の所定階調値にされる変換が行われるとともに、同変換により生じる階調誤差が周辺の未変換画素に拡散される。一方、上記選択手段にて選択されなかった画素について、上記第二変換手段により、当該画素の階調値と当該画素に拡散されてきた上記階調誤差とが用いられて当該画素の階調値が上記Ｎ階調の階調値に変換されるとともに、同変換により生じる階調誤差が周辺の未変換画素に拡散される。
【０００８】
上記第一変換手段は、一部の画素について、当該画素の階調値および当該画素に拡散されてきた階調誤差（以下、拡散誤差とも記載）を用いずに所定階調値にする。上記第二変換手段が各画素の階調値および拡散誤差を所定の閾値と対比して変換後のＮ階調の階調値を生成する場合、上記第一変換手段により一部の画素について閾値との対比が行われずに階調値が変換される。このように、一部の画素については当該画素の階調値および拡散誤差が用いられずに所定階調値にされるだけで変換が行われるので、階調数変換処理を高速化させることができる。ここで、上記所定階調値を、離散的な階調値ｎiと一致する入力階調値ｍを当該階調値ｎi以外の階調値に変換させる階調値とすれば、変換後の画像データに基づく出力画像に疑似輪郭が発生することを防ぐことができる。従って、誤差拡散法を用いて画像データを多値化する際に、変換後の画像データに基づく出力画像に疑似輪郭を生じさせず、適切な画質の出力画像を高速な階調数変換処理にて得ることが可能となる。
【０００９】
上記画素は、画像を表現できる数であればよく、複数画素の構成とすることができ、４×４画素、８×８画素のような小画像を表現するものでもよい。
上記Ｍ階調およびＮ階調の階調値は、各画素の画像を表現することができればよく、間隔１で連続した数値の他、間隔２以上の離散的な数値、単調に増減していない数値、各階調のそれぞれに異なる文字コードを対応させた文字情報、等を含む。ここで、上記Ｎ階調の各段階の階調値（ｎiとする）は、上記第二変換手段にて階調誤差を増減させずに階調値ｎiに変換されるＭ階調の階調値と同じ離散的な階調値でもよいし、異なる階調値でもよい。
上記変換により生じる階調誤差は、例えば、変換対象の画素における変換前のＭ階調の階調値と、当該画素の拡散誤差と、当該画素における変換後のＮ階調の階調値と、から求めることができ、当該画素におけるＭ階調の階調値と拡散誤差とを加算してＮ階調の階調値（またはＮ階調の階調値に相当するＭ階調の階調値）を減算する等して求めることができる。
上記選択手段は、各画素個別に選択の可否を決定してもよいし、二以上の画素をブロックとするなど所定数の画素をまとめて選択の可否を決定してもよい。上記第一変換手段は、選択された画素について、各画素個別に上記所定階調値に変換して階調誤差を拡散させてもよいし、所定数の画素をまとめて上記所定階調値に変換して階調誤差を拡散させてもよい。上記第二変換手段は、選択されなかった画素について、各画素個別にＮ階調の階調値に変換して階調誤差を拡散させてもよいし、所定数の画素をまとめてＮ階調の階調値に変換して階調誤差を拡散させてもよい。
【００１０】
上記所定比率は、上記Ｍ階調の階調値の大きさに応じた比率とされている構成としてもよい。入力階調値の大きさに応じて上記第一・第二変換手段（第一変換手段と第二変換手段）の処理の比率を変更することができるので、出力画像の画質をより適切にさせることが可能となる。
その具体例として、上記選択手段は、上記Ｍ階調の各段階の階調値と上記所定比率との対応関係を表した対応関係データから上記階調数変換前の各画素の階調値に対応する比率を取得し、当該比率で上記画像データを構成する複数の画素の中から上記Ｎ階調の所定階調値とする画素を選択してもよい。対応関係データを用いるという簡易な構成で、出力画像の画質がより適切になる。
【００１１】
上記Ｎ階調の所定階調値は、上記Ｍ階調の階調値の大きさに応じた階調値とされている構成としてもよい。入力階調値の大きさに応じて一部の画素の出力階調値を変更することができるので、出力画像の画質をより適切にさせることが可能となる。
その具体例として、上記第一変換手段は、上記Ｍ階調の各段階の階調値と上記Ｎ階調の所定階調値との対応関係を表した対応関係データから上記階調数変換前の各画素の階調値に対応するＮ階調の階調値を取得し、上記選択手段にて選択された画素について、当該画素の階調値を同取得したＮ階調の階調値に変換するとともに同変換により生じる階調誤差を周辺の未変換画素に拡散させてもよい。対応関係データを用いるという簡易な構成で、出力画像の画質がより適切になる。
【００１２】
請求項４記載の発明のように、上記Ｍ階調の各段階の階調値と、上記所定比率および上記Ｎ階調の所定階調値と、の対応関係を表した対応関係データを用いると、入力階調値の大きさに応じて一部の画素の出力階調値を変更しながら上記第一・第二変換手段の処理の比率を変更することができるので、出力画像の画質をさらに適切にさせることが可能となる。
【００１３】
上記Ｎ階調の階調値をｎとするとき、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎに変換される上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎ以外の階調値とされている構成としてもよい。出力画像中で入力階調値が離散的な階調値ｎiと一致する領域（上記一致領域）に、当該階調値ｎiと異なる階調値の領域が混在するようになるので、より確実に出力画像の疑似輪郭を防ぐことができる。従って、より確実に出力画像の画質を向上させることが可能となる。
【００１４】
上記第二変換手段にて階調値ｎに変換するときに上記階調誤差を増減させない上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎから１段階小さい階調値、または、上記Ｎ階調の各段階の階調値のうち階調値ｎから１段階大きい階調値、とされている構成としてもよい。上記一致領域（入力階調値＝ｎi）に、当該階調値iから１段階だけ小さい階調値の領域、または、当該階調値iから１段階だけ大きい階調値の領域が混在するようになるので、粒状性の点で出力画像の画質を向上させることが可能となる。
【００１５】
また、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎに変換される上記Ｍ階調の階調値の少なくとも一部についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎより大きい階調値のいずれか一つのみ、または、上記Ｎ階調の各段階の階調値のうち階調値ｎより小さい階調値のいずれか一つのみ、とされている構成としてもよい。上記一致領域（入力階調値＝ｎi）に、当該階調値iより常に大きい階調値の領域のみ、または、当該階調値iから常に小さい階調値の領域のみが混在するようになるので、粒状性の点で出力画像の画質を向上させることが可能となる。
【００１６】
さらに、上記Ｎ階調の各段階の階調値のうち隣接した段階の階調値をｎ１，ｎ２、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎ１，ｎ２に変換される上記Ｍ階調の階調値をそれぞれｍ１，ｍ２とするとき、階調値ｍ１以上ｍ２以下の上記Ｍ階調の階調値についての上記所定階調値は、上記Ｎ階調の各段階の階調値のうち階調値ｎ１およびｎ２以外の階調値とされている構成としてもよい。このようにしても、上記一致領域（入力階調値＝ｎi）に、当該階調値ｎiと異なる階調値の領域が混在するようになるので、より確実に出力画像の疑似輪郭を防ぐことができ、より確実に出力画像の画質を向上させることが可能となる。
【００１７】
さらに、上記Ｎ階調の各段階の階調値を大きさの順にｎi（ｉは間隔１で連続したＮ個の整数）、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎiに変換される上記Ｍ階調の階調値をそれぞれｍiとするとき、各階調値ｍiのうち少なくとも一部の階調値ｍi付近となる上記Ｍ階調の階調値についての上記所定階調値は、当該Ｍ階調の階調値が階調値ｍiより小さい場合に階調値ｎi+1とされ、当該Ｍ階調の階調値が階調値ｍiより大きい場合に階調値ｎi-1とされている構成としてもよい。上記一致領域（入力階調値＝ｎi）付近で階調値ｎi+1の領域と階調値ｎi-1の領域とが現れるので、出力画像の画質をより自然にさせることが可能となる。
ここで、大きさの順は、昇順でも降順でもよい。
なお、上記の場合において、各階調値ｍiの少なくとも一部についてのそれぞれの上記所定階調値は、階調値ｎi+1またはｎi-1としてもよい。すると、出力画像の画質をより自然にさせることが可能となる。
【００１８】
ところで、上記Ｎ階調の各段階の階調値を大きさの順にｎi（ｉは間隔１で連続したＮ個の整数）、上記第二変換手段にて上記階調誤差を増減させずに階調値ｎiに変換される上記Ｍ階調の階調値をそれぞれｍiとするとき、階調値ｍiの少なくとも一部についての上記所定比率は、当該階調値ｍiについての上記所定階調値とする上記Ｍ階調の各段階の階調値についての上記所定比率の中で最も大きくされている構成としてもよい。疑似輪郭が生じるのは入力階調値が離散的な階調値ｎiの辺りにあるときであるので、出力画像の画質をより適切にさせることが可能となる。
【００１９】
上記選択手段は、上記変換対象の画素について、上記画像データを構成する各画素の位置に対応させて所定の領域を持たせているとともに当該領域内の画素毎に上記所定比率に対比させる各閾値を表した各閾データを格納したディザ情報テーブルのうち上記変換対象の画素に対応する閾データが上記所定比率から比率０側を表したデータであるか否かを判断し、比率０側を表したデータであると判断した場合に上記Ｎ階調の所定階調値とする画素として選択する構成としてもよい。Ｎ階調の所定階調値に変換される画素が二次元平面上で均等に分布するので、粒状性の点で出力画像の画質をより良好にさせることが可能となる。むろん、簡易な構成で適切な画質の画像を得るため、比率０と比率１との間で発生させた乱数が上記所定比率から比率０側であるか否かを判断する構成としてもよい。
【００２０】
ここで、閾データが所定比率から比率０側を表したデータであるか否かの判断は、所定比率以下（またはより小）を表したデータであるか否かの判断とすることができる。
なお、特許文献１の［他の実施例］（第４図）でディザＲＯＭを用いているのは入力画像データと誤差データとに加算して複数の閾値と対比するためであり、本願のように所定比率と対比させるための閾データを格納するためにディザ情報テーブルを用いている本願とは全く異なる。
【００２１】
上述した装置は、ある機器に組み込まれた状態で他の方法とともに実施されることもある等、各種の態様を含む。例えば、印刷装置を備える印刷システムとしても適用可能である。また、上記画像処理装置の構成に対応した所定の手順に従って処理を進めていくことも可能であるので、本発明は制御方法としても適用可能であり、請求項１３にかかる発明も、同様の作用、効果を有する。さらに、上記装置にて制御プログラムを実行させる場合もあるので、請求項１４に記載したプログラムや、同プログラムを記録したコンピュータ読み取り可能な記録媒体としても適用可能であり、同様の作用、効果を有する。
むろん、請求項２〜請求項１２に記載した構成を上記画像処理装置や印刷システムや画像処理方法やプログラムや記録媒体に対応させることも可能である。
【発明を実施するための最良の形態】
【００２２】
以下、下記の順序に従って本発明の実施形態を説明する。
（１）画像処理装置を含む印刷システムの構成：
（２）画像処理を含む印刷制御処理：
（３）変形例：
【００２３】
（１）画像処理装置を含む印刷システムの構成：
図１は本発明の一実施形態である画像処理装置Ａ０の構成を模式的に示す図であり、図２は本実施形態において本発明の画像処理装置となるパーソナルコンピュータ（ＰＣ）１０、印刷装置（印刷手段）となるカラー印刷可能なインクジェットプリンタ２０、等から構成された印刷システムを示している。むろん、本発明に用いられるコンピュータは、ＰＣに限定されない。ＰＣ１０では、バス１０ａにＣＰＵ１１、ＲＯＭ１２、各種データＤ１〜Ｄ４等が格納されるＲＡＭ１３、ＣＤ−ＲＯＭドライブ１５、フレキシブルディスク（ＦＤ）ドライブ１６、インターフェイス（Ｉ／Ｆ）１７ａ〜ｅ等が接続され、ハードディスクドライブを介して磁気ディスクであるハードディスク（ＨＤ）１４も接続され、ＣＰＵ１１がＰＣ全体を制御する。
【００２４】
ＨＤ１４にはオペレーティングシステム（ＯＳ）やアプリケーションプログラム（ＡＰＬ）等が記憶されており、実行時にＣＰＵ１１によって適宜ＲＡＭ１３に転送され、実行される。ＨＤ１４は、本発明の画像処理プログラム、情報テーブルとされた対応関係データＴ１、ディザ情報テーブルＴ２、情報テーブルとされた出力階調値対応データＴ３、各種閾値Ｄ５、等の情報を記憶した所定の記憶領域とされている。Ｉ／Ｆ１７ａ（例えばＵＳＢ Ｉ／Ｆ）には、デジタルカメラ５０等を接続可能である。ＣＲＴＩ／Ｆ１７ｂにはカラー画像データに基づいて当該データに対応する画像を表示するディスプレイ１８ａが接続され、入力Ｉ／Ｆ１７ｃにはキーボード１８ｂやマウス１８ｃが操作用入力機器として接続され、プリンタＩ／Ｆ１７ｅにはケーブル（例えばシリアルＩ／Ｆケーブル）を介してプリンタ２０が接続されている。
【００２５】
プリンタ２０は、ＣＭＹＲＶＫ（シアン、マゼンタ、イエロー、レッド、バイオレット、ブラック）の各色に対応してそれぞれ設けられた６個のインクカートリッジ２８に充填された６色のインクを印刷ヘッドから吐出して、印刷用紙（印刷媒体）にインクを付着させてドットを形成することによりカラー画像を表現した印刷データに対応する印刷画像を印刷する。むろん、ライトシアン、ライトマゼンタ、ライトブラック、ダークイエロー、無着色インク、等も使用するプリンタを採用してもよいし、ＣＭＹＲＶＫのいずれかのインクを使用しないプリンタを採用してもよい。また、インク通路内に泡を発生させてインクを吐出するバブル方式のプリンタや、トナーインクを使用して印刷媒体上に印刷画像を印刷するレーザープリンタ等、種々の印刷装置を採用可能である。印刷装置が使用するインクは、液体でも固体でもよい。本実施形態の各インクは、水性の溶媒に微細な顔料からなる色材を混合したインクとされているが、染料からなる色剤を混合したインクとしてもよいし、油性の溶媒を用いたインクとしてもよい。
本プリンタ２０では、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、通信Ｉ／Ｏ２４、コントロールＩＣ２５、ＡＳＩＣ２６、Ｉ／Ｆ２７、等がバス２０ａを介して接続され、ＣＰＵ２１がＲＯＭ２２に書き込まれたプログラムに従って各部を制御する。
【００２６】
通信Ｉ／Ｏ２４はＰＣ１０のプリンタＩ／Ｆ１７ｅと接続され、プリンタ２０は通信Ｉ／Ｏ２４を介してＰＣ１０から送信される色別のラスタデータを受信する。ＡＳＩＣ２６は、ＣＰＵ２１と所定の信号を送受信しつつヘッド駆動部２６ａに対してラスタデータに対応する印加電圧データを出力する。同ヘッド駆動部２６ａは、同印加電圧データから印刷ヘッド２９ａ〜ｆに内蔵されたピエゾ素子への印加電圧パターンを生成し、カートリッジ２８の充填室に装填された各インクを対応する印刷ヘッド２９ａ〜ｆからドット単位で吐出させる。Ｉ／Ｆ２７に接続されたキャリッジ機構２７ａや紙送り機構２７ｂは、印刷ヘッドユニット２９を主走査させたり、適宜改ページ動作を行いながら印刷用紙を順次送り出して副走査を行ったりする。
【００２７】
印刷ヘッド２９ａ〜ｆ毎に複数個設けられたインクジェットノズルのそれぞれに対応して配置されたピエゾ素子は、電圧の印加時間だけ伸張してインク通路の一側壁を変形させる。すると、インク通路の収縮分に相当するインク滴がノズルの先端から吐出され、印刷媒体に染み込むことによりドットが形成されて印刷が行われる。そして、印加電圧の駆動波形の電圧差が大きいほど、ドットは大きくなる。
本プリンタ２０は、インク重量がＮ種類（Ｎは２以上の整数）のドットを形成可能であり、色毎に同じ印刷ヘッドから異なる複数段階のインク量のインクを吐出する。ＰＣがプリンタに送信するラスタデータは、０〜Ｎ−１のＮ階調とされている。例えばＮ＝３のとき、プリンタは、階調値が３，２，１であるときにそれぞれ大、中、小のドットを印刷媒体上に形成し、階調値が０であるときにドットを形成しない。
【００２８】
ＰＣ１０では、ＯＳにプリンタＩ／Ｆ１７ｅを制御するプリンタドライバ等が組み込まれ、各種の制御を実行する。ＡＰＬは、ＯＳを介してハードウェアとデータ等のやりとりを行う。プリンタドライバは、ＡＰＬの印刷機能の実行時に稼働され、プリンタＩ／Ｆ１７ｅを介してプリンタ２０と双方向の通信を行うことが可能であり、ＯＳを介してＡＰＬから印刷データを受け取ってラスタデータに変換し、プリンタ２０に送出する。
なお、本発明の画像処理プログラムは、ＯＳ、ＡＰＬ、ＯＳとＡＰＬ、のいずれにより構成してもよい。これらのプログラムを記録した媒体は、ＨＤ以外にも、ＣＤ−ＲＯＭ１５ａ、フレキシブルディスク、半導体メモリ、等でもよい。また、通信Ｉ／Ｆ１７ｄをインターネット網に接続し、所定のサーバから本発明のプログラムをダウンロードして実行してもよい。
【００２９】
図１に示す画像処理装置Ａ０は、ＨＤ１４と各部Ａ１〜Ａ７を備え、多値誤差拡散処理を改良して適切な出力画像を迅速に得る装置とされている。本装置において、強制階調決定部の画素選択部Ａ１が選択手段を構成し、各部Ａ２〜Ａ４が第一変換手段を構成し、各部Ａ３〜Ａ７が第二変換手段を構成している。
画素選択部Ａ１は、画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した階調数変換前の画像データＤ１を入力し、当該画像データＤ１を構成する複数の画素の中からＮ階調（Ｎは２以上かつＭより小さい整数）の離散的な強制階調値D’out（所定階調値）とする画素を所定比率で選択する。本実施形態では、ＨＤ１４に、Ｍ階調の各段階の階調値ｍと画素の比率RA（所定比率）との対応関係を情報テーブルとして表した対応関係データＴ１１や、比率RAに対比させる各閾値THRAを比率０と比率１との間で均等な間隔として表した各閾データを格納したディザ情報テーブルＴ２を記憶している。そして、画像データＤ１を構成する各画素の階調値を変換対象として順次対象画素（注目画素）を移動させながら、当該対象画素について対応関係データＴ１１から階調数変換前の階調値ｍに対応する比率RAを取得し、当該比率RAとディザ情報テーブルＴ２とを対比して、強制階調値D’outに置き換える場合にはフラグ情報（flag）Ｄ４をオン（例えば１）、補正データを作成する場合にはフラグ情報Ｄ４をオフ（例えば０）にする。
【００３０】
図３は、ディザ情報テーブルＴ２で表されるディザマトリクスを示している。例えば、４×４画素の大きさとしたディザマトリクスＢ１では０〜15の異なる整数値の閾データが別々の画素Ｂ１ｕに格納されてディザ情報テーブルとされ、16×16画素のディザマトリクスＢ２では０〜255異なる整数値の閾データが別々の画素Ｂ２ｕに格納されてディザ情報テーブルとされている。むろん、ディザマトリクスは、256×256画素、512×256画素等、様々な大きさとすることができる。そして、各画素の閾データを最大値MAX＝15,255で除すると、対応関係データに格納された画素の所定比率と対比させる閾値THRAとなる。従って、各画素の閾データは比率０と比率１との間で均等な間隔とした閾値THRAを表したデータであり、閾値THRAは比率０と比率１との間で均等な確率で出現する値とされている。
ディザマトリクスとしては、特開平１０−２６２１５１号公報記載の画素間距離の分散を特徴量としたランダム分散型組織的ディザ法により作成されるディザマトリクス、特許第２６２２４２９号明細書記載のブルーノイズマスクとしたランダム分散型組織的ディザ法により作成されるディザマトリクス、Bayerディザマトリクスに代表されるドット分散型組織的ディザ法により作成されるディザマトリクスを用いると、選択される画素が二次元平面的に分散するので、粒状性の点で良好な画質の出力画像を得ることができる。むろん、ドット集中型組織的ディザ法により作成されるディザマトリクス、ランダムディザ法により作成されるディザマトリクス、等を用いても、所定比率で画素を選択することが可能である。
【００３１】
強制階調決定部の強制階調取得部Ａ２は、D’outに置き換えるとして選択された画素のみについて、当該画素の拡散誤差err’（当該画素に拡散されてきた階調誤差）とは無関係に階調値を置き換えるための強制階調値D’outを取得する。本実施形態では、ＨＤ１４に、Ｍ階調の各段階の階調値ｍとＮ階調の強制階調値D’outとの対応関係を表した対応関係データＴ１２を記憶している。そして、対象画素についてフラグ情報Ｄ４がオンである場合にのみ、対応関係データＴ１２から階調数変換前の階調値ｍに対応するD’outを取得する。
【００３２】
図４は、対応関係データＴ１の構造を示している。同対応関係データＴ１は、上記対応関係データＴ１１，Ｔ１２を一緒にした情報テーブルとされており、階調数変換前の画像データを構成するＭ階調の各段階の入力階調値ｍと、Ｎ階調の離散的な強制階調値D’outと、同D’outとする画素の比率RAと、の対応関係を表したデータとされている。本データＴ１は入力階調値ｍの各段階の階調値にただ一つのD’outと比率RAの組合せが対応付けられているが、対応関係データを入力階調値ｍの各段階の階調値にD’outと比率RAの組合せを複数対応付けたデータとしてもよい。
【００３３】
図示の対応関係データＴ１は、入力階調値ｍ＝32,64,96,…にそれぞれ強制階調値D’out＝64,96,128,…を対応させている。すなわち、Ｎ階調の各段階の離散的な階調値を昇順（大きさの順）にｎi（ｉは０〜Ｎ−１のＮ個の整数）、階調決定部Ａ４にて階調誤差を増減させずに階調値ｎiに変換されるＭ階調の入力階調値をそれぞれｍiとするとき、最小値ｍ0と最大値ｍN-1を除く各入力階調値ｍiについてのそれぞれの強制階調値D’outは、階調値ｎi+1とされている。また、ｍ0，ｍN-1を除く各入力階調値ｍiに近い入力階調値についてのD’outも、階調値ｎi+1とされている。このように、D’outをＭ階調の入力階調値ｍの大きさに応じた階調値としていることにより、入力階調値の大きさに応じて一部の画素の出力階調値を変更することができるので、出力画像の画質をより適切にさせることが可能となる。
【００３４】
また、ｍ0，ｍN-1を除く入力階調値ｍiについての画素の比率RAは、当該階調値ｍiについての強制階調値D’outとするＭ階調の各段階の階調値についての画素の比率RAの中で最も大きくされている。図では、強制階調値を64（＝ｎ2）とする入力階調値32（＝ｍ1）についての画素の比率RAは20%と、同じ強制階調値64とする入力階調値ｍ＝31,33についての画素の比率RAの15%よりも大きくされており、強制階調値64とする入力階調値の中で最も大きくされている様子を示している。このように、Ｎ階調の離散的な階調値を強制階調値とする画素の比率RAをＭ階調の入力階調値ｍの大きさに応じた所定比率としていることにより、入力階調値ｍの大きさに応じてＮ階調の離散的な階調値を強制階調値とするか否かの処理の比率を変更することができるので、出力画像の画質をより適切にさせることが可能となる。
【００３５】
補正データ作成部Ａ３は、画素毎に、対象画素の入力階調値ｍと、誤差記憶部Ａ７に記憶されている対象画素の拡散誤差err’を用いて、
D’＝ｍ＋err’    …（１）
なる演算式により、補正データD’を作成する。
【００３６】
階調決定部Ａ４は、強制階調値D’outに置き換えるとして選択された画素については当該画素の入力階調値ｍをＮ階調のD’outに置き換えるのみの変換を行って当該D’outをＮ階調の離散的な階調値として決定し、D’outに置き換えるとしては選択されなかった画素については補正データD’を用いて当該画素の入力階調値ｍをＮ階調の離散的な階調値Dout（階調値ｎ）に変換する。本実施形態では、対象画素について、フラグ情報Ｄ４がオンである場合に当該対象画素の階調値を単純に上記対応関係データＴ１２から取得されたD’outに置き換えて変換後の階調値Doutとし、フラグ情報Ｄ４がオフである場合に補正データD’とＨＤ１４に記憶されている閾値Ｄ５とを対比してDoutを決定する。
【００３７】
図５は、補正データD’と閾値Ｄ５とを対比してＮ階調の離散的な階調値Doutを決定し、間隔１の出力階調値ｉを決定する様子を示している。Ｍ階調の階調値をＮ階調の階調値に階調数を減らすための閾値はＮ−１種類設けられ、図のようにＮ＝９の場合には８種類の閾値TH1〜TH8が設けられる。ここで、Ｎ階調の離散的な階調値をｎi（ｉは０〜Ｎ−１のＮ個の整数）、各閾値をTHiとすると、ｎi-1＜THi＜ｎi（ｉ＝１〜Ｎ−１）としてある。各段階の閾値THiは様々な値とすることができ、TH1＝16、TH2＝48、…のようにTHi＝（ｎi-1＋ｎi）／２でもよいし、ｎi-1とｎiのいずれかに片寄った値でもよいし、対象画素が変わる毎に異なる値としてもよい。そして、Ｍ階調の補正データD’が各閾値THiで区切られた各範囲のどこに属するかを判定し、判定結果に対応する階調値Doutを変換後のＮ階調の離散的な階調値として決定する。すなわち、D’がTH1から階調値０側であるときにはDout＝ｎ0、Ｎ≧３の場合においてD’がTHi〜THi+1（ｉ＝１〜Ｎ−２）であるときにはDout＝ｎi、D’がTHN-1から階調値Ｍ−１側であるときにはDout＝ｎNに決定する。
なお、ＨＤ１４には、離散的な階調値ｎiと間隔１の出力階調値ｉとを対応付けた出力階調値対応データＴ３が記憶されている。そして、この出力階調値対応データＴ３を参照して、離散的な階調値Doutを決定したり、出力階調値ｉを決定したりする。
【００３８】
誤差算出部Ａ５は、補正データD’と離散的な階調値Doutを用いて、Ｍ階調の入力階調値ｍをＮ階調の階調値Doutに変換する際に生じる階調誤差errを、
err＝D’−Dout    …（２）
なる演算式により算出する。
誤差配分部Ａ６は、対象画素の階調誤差errを周辺の未変換画素に拡散させる際の画素毎の階調誤差errj（ｊは１〜Ｊの整数、Ｊは拡散対象の未変換画素の数）を求める。また、誤差記憶部Ａ７は、拡散された各誤差errjを、ＨＤ１４に記憶されている誤差データＤ２の中から未変換画素Ｕ６〜Ｕ９に対応する誤差データに加算し（最終的に拡散誤差err’となる）、ＨＤ１４に記憶しておく。このようにして、対象画素の階調誤差errを周辺の未変換画素に拡散させることができ、その後は補正データ作成部Ａ３で誤差データＤ２に格納された拡散誤差err’を用いることにより補正データD’を作成することができる。
【００３９】
図６は、強制階調値D’outに置き換えるとしては選択されなかった対象画素Ｕ１の補正データD’および階調誤差errを算出して周辺の未変換画素Ｕ６〜Ｕ９に階調誤差を拡散させる様子を示している。なお、変換前後の画像データを構成する各画素を正方形で示してあり、変換の対象画素Ｕ１（図では太線の正方形）はこれらの画素のいずれかに設定される。また、変換前の画像データＤ１と誤差データＤ２と変換後の画像データＤ３とはＲＡＭ１３内で別々の所定領域に格納され、変換後の画像データＤ３にはＮ階調の離散的な階調値に対応する間隔１の出力階調値ｉが格納されるが、わかりやすく説明するため、変換処理が終了した画素Ｕ２〜Ｕ５については変換後の離散的な階調値を記載している。さらに、未変換画素Ｕ６〜Ｕ９については、上段に変換前の階調値、下段に拡散誤差err’を記載している。
本実施形態の変換処理の順序（対象画素の設定順序）は、図の左右方向を横方向（ｘ方向）、上下方向を縦方向（ｙ方向）として、左上の画素から開始して順番に右上の画素までとし、その後一つずつ下の左端の画素から順番に右端の画素までとして、最後に右下の画素としている。その結果、図の例では、左上と上隣と右上と左隣で隣接した４画素Ｕ２〜Ｕ５が既に変換済みの画素となり、右隣と左下と下隣と右下で隣接した４画素Ｕ６〜Ｕ９が変換されていない未変換画素となる。むろん、変換処理の順序は、適宜変更可能であり、解像度等に応じて異なる順序とすることも可能である。
【００４０】
図の上段の例では、対象画素Ｕ１の入力階調値ｍは36、拡散誤差err’は５であるので、上記式（１）より補正データD’は33＋８＝41となる。ここで、Ｎ階調の階調値Doutを32とする閾値がTH1＝16、TH2＝48であるとすると、D’＝41はTH1より大きくTH2より小さいので、階調値Doutは32に決定される。そして、上記式（２）より、対象画素Ｕ１の階調誤差errは41−32＝９となる。このerr＝９を対象画素Ｕ１の周辺の未変換画素Ｕ６〜Ｕ９に拡散させる。本実施形態では、階調誤差errを各未変換画素に対して略均等に拡散させることにし、errが未変換画素の数で割り切れない場合には、所定位置の未変換画素Ｕ９に拡散させる階調誤差を調整し、拡散させる階調誤差の合計を対象画素Ｕ１の階調誤差errと一致させている。図の例では、対象画素Ｕ１の階調誤差は９であり、９を未変換画素の数４で除して小数点以下を四捨五入した２ずつ未変換画素Ｕ６〜Ｕ８に拡散させ、残りの誤差３を未変換画素Ｕ９に拡散させている。そして、拡散させた各誤差errjを、誤差データＤ２の中から未変換画素Ｕ６〜Ｕ９に対応する誤差に加算し、ＨＤに記憶しておく。そして、未変換画素Ｕ６〜Ｕ９が対象画素に設定された時点で、誤差データＤ２に格納されている対象画素の誤差が拡散誤差err’となる。
このようにして、D’outに置き換えるとしては選択されなかった対象画素について入力階調値ｍと拡散誤差err’とを用いて階調数を変換しながら同変換により生じる階調誤差errを周辺の未変換画素に拡散させることができる。
なお、階調誤差を拡散させる周辺の未変換画素は、対象画素に隣接した画素以外にも、対象画素を含むNu×Nu画素（Nuは４以上の整数）のうちの未変換画素など、対象画素に隣接していない画素を含めてもよいし、対象画素に隣接していない画素のみでもよい。
【００４１】
図７は、強制階調値D’outに置き換えるとして選択された対象画素Ｕ１１の補正データD’および階調誤差errを算出して周辺の未変換画素Ｕ６〜Ｕ９に階調誤差を拡散させる様子を示している。なお、図６と同じ部分は説明を省略する。
本対象画素Ｕ１１も、上記式（１）より補正データD’は33＋８＝41となる。ここで、図４に示すように入力階調値32に対してＮ階調で１段階大きい強制階調値64が対応付けられていると、階調値Doutは64に決定される。そして、上記式（２）より、対象画素Ｕ１の階調誤差errは41−64＝-23となる。このerr＝-23を対象画素Ｕ１１の周辺の未変換画素Ｕ６〜Ｕ９に対して略均等に、例えば、未変換画素の数４で除して小数点以下を四捨五入した-6ずつ未変換画素Ｕ６〜Ｕ８に拡散させ、残りの誤差-5を未変換画素Ｕ９に拡散させる。そして、拡散させた各誤差errjを、誤差データＤ２の中から未変換画素Ｕ６〜Ｕ９に対応する誤差に加算し、ＨＤに記憶しておく。
【００４２】
以上説明したように、一部の画素については当該画素の補正データD’と複数の閾値THiとを対比することなく強制階調値D’outに置き換えられるだけで変換が行われるので、階調数変換処理が高速化される。ここで、D’outを、離散的な階調値ｎi（例えば、32,64,…）と一致する入力階調値ｍを当該階調値ｎi以外の階調値に変換させる階調値としているので、変換後の画像データに基づく出力画像に疑似輪郭が生じることを防ぐことができる。従って、誤差拡散法を用いて画像データを多値化する際に、出力画像中の疑似輪郭の発生が防がれ、適切な画質の出力画像を迅速に得ることが可能となる。
【００４３】
（２）画像処理を含む印刷制御処理：
図８の印刷制御処理を開始すると、まず、ＰＣ１０は、ドットマトリクス状である多数（所定数）の画素で階調表現されて画素毎に複数の要素色に対応した階調データで画像を表現した画像データを入力し、画像をＲＧＢ毎の複数の画素で階調表現した広域ＲＧＢ色空間内の例えばＲＧＢ各256階調のＲＧＢデータに変換する（ステップＳ１０５。以下「ステップ」を省略）。同ＲＧＢデータは、複数の要素色ＲＧＢで画像を表現した印刷データである。
【００４４】
次に、ＲＧＢデータを構成する各画素の階調データを変換対象とし、ＨＤ１４に記憶されている色変換ＬＵＴを参照して、上記ＲＧＢデータを、画像をＣＭＹＲＶＫ毎の同数の画素で階調表現したＣＭＹＲＶＫデータに色変換する（Ｓ１１０）。色変換ＬＵＴは、上記ＲＧＢデータとＣＭＹＲＶＫデータとの対応関係を複数の参照点について規定した情報テーブルである。入力したＲＧＢデータに一致するＣＭＹＲＶＫデータが色変換ＬＵＴに格納されていない場合には、入力したＲＧＢデータに近い複数のＲＧＢデータに対応するＣＭＹＲＶＫデータを取得し、体積補間等の補間演算によりＲＧＢデータに対応するＣＭＹＲＶＫデータに変換する。ＣＭＹＲＶＫデータは、ＲＧＢデータと同じく画像をドットマトリクス状である多数（所定数）の画素で階調表現した印刷データであり、画素毎の階調データはプリンタ２０が印刷ヘッドから吐出するＣＭＹＲＶＫの各インクの使用量を表すＣＭＹＲＶＫ各256階調のデータであるとする。
【００４５】
その後、図９に示す階調数変換処理を行う（Ｓ１１５）。本実施形態では図９の処理を行うＰＣ１０が画像処理装置を構成し、Ｓ２０４〜Ｓ２１４が選択手段、Ｓ２１６〜Ｓ２２２，Ｓ２３０〜Ｓ２３４が第一変換手段、Ｓ２２４〜Ｓ２３４が第二変換手段に対応している。なお、本処理はＣＭＹＲＶＫの色別に行われるが、わかりやすくするためフローには記載していない。
まず、変換前の画像データＤ１を構成する各画素の中から、階調値を変換する対象画素の位置（ｘ，ｙ）を設定する（Ｓ２０２）。例えば、入力した画像上での各画素のｘ座標とｙ座標の組合せを格納するポインタの値を順次更新する等により、対象画素の位置を設定すればよい。次に、設定した対象画素の入力階調値ｍを変換前の画像データＤ１から読み込む（Ｓ２０４）。さらに、ＨＤに記憶された対応関係データＴ１を参照することにより、対象画素の入力階調値ｍに対応する画素の比率RAを取得する（Ｓ２０６）。例えば、入力階調値32のときに図４の対応関係データＴ１を参照すると、画素の比率RAとして20％を取得することになる。
また、ＨＤに記憶されたディザ情報テーブルＴ２を参照することにより、対象画素の位置（ｘ，ｙ）に対応する閾値THRAを取得する（Ｓ２０８）。
【００４６】
図１０は、ディザ情報テーブルＴ２を参照して閾値を取得する様子を示している。ディザ情報テーブルＴ２で表されるディザマトリクスＢ３を横Bx画素×縦By画素（Bx,Byはともに２以上の整数）とすると、変換前の画像データＤ１で表現される横Ix画素×縦Iy画素（Ix,Iyはともに２以上の整数）の入力画像Ｉ１をBx×By画素毎にブロックとする。図では、各ブロックを破線で区切って示してある。次に、位置（ｘ，ｙ）の対象画素Ｕ２１が存在するブロックにディザマトリクスＢ３を重ねる。この状態で、対象画素Ｕ２１の位置に一致するディザマトリクスＢ３上の位置に画素に格納された閾データ（図最下段のマトリクスＢ３上で太線で囲んだ値）を取得する。一般的には、画像Ｉ１およびディザマトリクスＢ３の最も左上の画素の位置を原点Ｏ（０，０）、IxをBxで除した余りをMOx、IyをByで除した余りをMOyとすると、ディザマトリクスＢ３上の位置（MOx,MOy）における画素の閾データを取得する。そして、取得した閾データを当該閾データの最大値MAXで除すると、閾値THRAとなる。このようにして、閾値THRAが取得される。
ディザ情報テーブルを用いて画素の階調値を強制階調値にするか否かを選択することにより、強制階調値に変換される画素が二次元平面上で均等に分布するようになるので、入力階調値ｍ＝ｎiのときの粒状感を周辺階調と合わせることができ、粒状性の点でより良好な画質の出力画像を得ることが可能となる。
【００４７】
閾値THRAを取得すると、対応関係データから取得された所定比率RAがTHRAより大（または以上）であるか否かを判断する（Ｓ２１０）。これにより、閾データを格納したディザ情報テーブルのうち変換対象の画素に対応する閾データが所定比率RAから比率０側を表したデータであるか否かが判断される。条件成立時には、Ｓ２１２でフラグ情報Ｄ４をオンにして（例えばＲＡＭに１を格納して）、Ｓ２１６に進む。一方、条件不成立時には、Ｓ２１４でフラグ情報Ｄ４をオフにして（例えばＲＡＭに０を格納して）、Ｓ２２２に進む。
以上により、対象画素についてＮ階調の強制階調値D’outとするか否かを選択することができる。ここで、Ｓ２１０の条件が成立する確率は所定比率RAとなるので、変換前の画像データを構成する複数の画素の中から強制階調値D’outとする画素を所定比率で選択していることになる。
むろん、ディザ情報テーブルを用いる代わりに乱数を用いても、所定比率で画素を選択することが可能である。この場合、Ｓ２０８で例えば0.000〜1.000等、比率０と比率１との間で均等な出現確率とした乱数RANを発生させ、Ｓ２１０で所定比率RAがRANより大（または以上）であるか否かを判断すればよい。これにより、乱数RANが所定比率RAから比率０側であるか否かが判断される。そして、乱数を用いるという簡易な構成で所定比率にて画素を選択することが可能となる。
【００４８】
対象画素を強制階調値にする場合に行われるＳ２１６では、ＨＤに記憶されている対応関係データＴ１を参照することにより、入力階調値ｍに対応する強制階調値D’outを取得する。例えば、入力階調値32のときに図４の対応関係データＴ１を参照すると、強制階調値D’outとして64（０〜Ｎの出力階調値では階調２）を取得することになる。次に、設定した対象画素の拡散誤差err’を誤差データＤ２から読み込む（Ｓ２１８）。さらに、上記式（１）に従って、入力階調値ｍと拡散誤差err’とを加算して補正データD’を求める（Ｓ２２０）。そして、ＨＤに記憶されている出力階調値対応データＴ３を参照して、変換後の画像データＤ３のうち対象画素の階調値を格納する位置に強制階調値D’outに対応するＮ階調の間隔１の出力階調値ｉを格納し（Ｓ２２２）、Ｓ２３０に進む。これにより、変換前の階調値ｍを強制階調値D’outに置き換え、当該D’outに対応する所定の出力階調値ｉにする変換が行われたことになり、変換後のＮ階調の離散的な階調値Doutが強制階調値D’outに決定されたことになる。
【００４９】
一方、対象画素を強制階調値にはしない場合（従来からの階調数変換処理を行う場合）に行われるＳ２２４では、Ｓ２１８〜Ｓ２２０と同様、設定した対象画素の拡散誤差err’を誤差データＤ２から読み込む。次に、上記式（１）に従って入力階調値ｍと拡散誤差err’とを加算して補正データD’を求める（Ｓ２２６）。さらに、補正データD’と複数の閾値THiとを対比することにより、Ｎ階調の離散的な階調値Doutを決定し、ＨＤに記憶されている出力階調値対応データＴ３を参照して、変換後の画像データＤ３のうち対象画素の階調値を格納する位置に階調値Doutに対応するＮ階調の間隔１の出力階調値ｉを格納し（Ｓ２２８）、Ｓ２３０に進む。
【００５０】
例えば、図１１に示す階調値決定処理を行うことにより、階調値Doutを決定することができる。すなわち、D’≦TH1であるか否かを判断し、条件成立時にDoutをＮ階調の離散的な階調値ｎ0にして処理を終了する。条件不成立時にはD’≦TH2であるか否かを判断し、条件成立時にDoutをＮ階調の離散的な階調値ｎ1にして処理を終了する。以下、同様の処理を繰り返していき、D’≦TH8であるか否かを判断し、条件成立時にDoutをＮ階調の離散的な階調値ｎ7にして処理を終了する。そして、条件不成立時にはDoutをＮ階調の離散的な階調値ｎ8にして処理を終了する。これにより、補正データD’を複数の閾値THiと順次比較しながら階調値Doutを求めることができる。
以上により、対象画素について、変換前の階調値ｍと拡散誤差err’とを用いて入力階調値ｍをＮ階調の階調値Dout，ｉに変換することができる。
【００５１】
全画素について行うＳ２３０では、上記式（２）に従って、補正データD’からＮ階調の離散的な階調値Doutを差し引いて、Ｍ階調の階調値ｍをＮ階調の階調値Doutに変換する際に生じる階調誤差errを求める。次に、図７下段に示したように、周辺の未変換画素Ｕ６〜Ｕ９に配分する階調誤差errjを求める（Ｓ２３２）。さらに、誤差データＤ２の中から配分先の未変換画素Ｕ６〜Ｕ９のそれぞれに対応する誤差に各階調誤差errjを加算する（Ｓ２３４）。これにより、対象画素の階調値を強制階調値に置き換える変換により生じる階調誤差errが周辺の未変換画素に拡散される。
そして、画像データＤ１を構成する全画素を設定したか否かを判断し（Ｓ２３６）、条件不成立の場合にはＳ２０２〜Ｓ２３６を繰り返し、条件成立の場合には階調数変換処理を終了する。
【００５２】
階調数変換後の画像データＤ３は、変換前の画像データＤ１と同じく画像をドットマトリクス状である多数（画像データと同じ所定数）の画素で階調表現した印刷データであり、画素毎の階調データはプリンタ２０が印刷ヘッドから吐出するＣＭＹＲＶＫの各インクの使用量を表すＣＭＹＲＶＫ各０〜Ｎ−１のＮ階調のデータである。
階調数変換処理を終了すると、図８のＳ１２０にて、生成されたＮ階調の画像データＤ３に対して所定のラスタライズ処理を行ってプリンタで使用される順番に並べ替え、ＣＭＹＲＶＫ別にドットの大きさをＮ階調で表現したラスタデータを生成する。その後、ラスタデータをプリンタ２０に対して出力し（Ｓ１２５）、印刷制御処理を終了する。このようにして、階調数変換後のＣＭＹＲＶＫデータを用いて対応する印刷画像（出力画像）をプリンタに印刷させる制御を行うことができる。
【００５３】
プリンタ２０では、出力画像をＮ階調で表現するラスタデータを入手し、入手したラスタデータに基づいて印刷ヘッドを駆動しながら画素毎に階調値が大きくなるほど多くのインクを吐出して印刷用紙上に付着させる。すると、画素単位で階調値に応じた重量のインクのドットが印刷用紙上に形成され、階調数変換後のＣＭＹＲＶＫデータに対応する印刷画像（出力画像）が印刷される。
【００５４】
図１２は、強制階調値D’outを用いていなかった従来と一部の画素の階調値を強制階調値D’outとする本実施形態とで、入力階調値ｍに応じて出力画像に出現する各階調のドットの出現率を示している。図に示すように、画素毎の入力階調値ｍが多値化後の出力階調値ｉに相当する離散的な階調値ｎiと一致する場合、従来ではｎiに対応する出力階調値ｉのドットの発生率が100%とされる一方、本実施形態では最小値ｍ0と最大値ｍN-1を除いてｎiに対応する出力階調値ｉのドットの発生率が100%より小さくされ、出力階調値ｉ以外のドットも形成される。
【００５５】
すると、図１３に示すように、多値化後の画像データに基づいて印刷媒体に印刷される印刷画像等の出力画像において従来では粒状感のなかった一致領域ＲＥ１でもｎi以外の階調値のドットが形成されるため、元々粒状感のある不一致領域ＲＮ１との差が目立たなくなる。従って、擬似輪郭は生じず、出力画像についてなめらかな階調表現をすることが可能となる。特に、複数の閾値THiを用いて階調誤差errを増減させずにＮ階調の階調値ｎiに変換されるＭ階調の階調値ｍiの少なくとも一部についての強制階調値D’outがｎi以外とされているので、より確実に疑似輪郭を発生させず、より適切な画質の出力画像を得ることが可能となる。
また、一部の画素については当該画素の補正データD’を複数の閾値THiと対比してＮ階調の階調値を決定する図１１の処理が行われずに所定階調値にされるだけで変換が行われるので、階調数変換処理を高速化させることができる。従って、誤差拡散法を用いて画像データを多値化する際に、変換後の画像データに基づく出力画像に疑似輪郭を生じさせず、適切な画質の出力画像を高速な階調数変換処理にて得ることが可能となる。
【００５６】
さらに図４で示したように、対応関係データがＭ階調の各段階の階調値ｍと、画素の所定比率RAおよびＮ階調の強制階調値D’outと、の対応関係を表したデータとされているので、画素の比率が入力階調値ｍの大きさに応じた比率にされるとともに、強制階調値も入力階調値ｍの大きさに応じた比率にされている。従って、入力階調値の大きさに応じて一部の画素の出力階調値を変更しながら画素の階調値を強制階調値にするか否かの処理の比率を変更することができ、より適切な画質の出力画像を得ることが可能となる。
さらに図４で示したように、階調値ｍiの少なくとも一部についての画素の所定比率RAが当該階調値ｍiについての強制階調値D’outとするＭ階調の各段階の階調値についての画素の所定比率RAの中で最も大きくされている。疑似輪郭が生じるのは入力階調値ｍが階調値ｎiの辺りにあるときであるので、さらに適切な画質の出力画像を得ることが可能となる。
【００５７】
さらに図４で示したように、閾値THiを用いてerrを増減させずにＮ階調のｎiに変換されるＭ階調のｍiの少なくとも一部についてのD’outが１段階大きい階調値ｎi+1とされているので、出力画像中で入力階調値＝ｎiの領域に１段階だけ大きい階調値ｎi+1の領域が混在する。これにより、粒状性の点で出力画像の画質を良好にさせることが可能となる。また、階調値ｎi+1とする画素を所定比率としているので、周囲との粒状感がなめらかにつながる範囲で階調値ｎi+1の割合をできる限り少なくすることができる。さらに、Ｍ階調のｍiの少なくとも一部についてのD’outが階調値ｎiより大きい階調値のいずれか一つのみとされているので、出力画像中で入力階調値＝ｎiの領域に当該階調値iより常に大きい階調値の領域のみが混在するようになる。この点でも、粒状性の点で出力画像の画質を良好にさせることが可能となる。
【００５８】
なお、図１４に示す対応関係データＴ２１のように、閾値THiを用いてerrを増減させずにＮ階調のｎiに変換されるＭ階調のｍiの少なくとも一部についてのD’outを、１段階小さい階調値ｎi-1としてもよい。この場合、出力画像中で入力階調値＝ｎiの領域に１段階だけ小さい階調値ｎi-1の領域が混在する。これにより、粒状性の点で出力画像の画質を良好にさせることが可能となる。また、階調値ｎi-1とする画素を所定比率としているので、周囲との粒状感がなめらかにつながる範囲で階調値ｎi-1の割合をできる限り少なくすることができる。
さらに、図１４の対応関係データＴ２１，Ｔ２２のように、Ｍ階調のｍiの少なくとも一部についてのD’outを、階調値ｎiより小さい階調値のいずれか一つのみとしてもよい。この場合、出力画像中で入力階調値＝ｎiの領域に当該階調値iより常に小さい階調値の領域のみが混在するようになる。従って、粒状性の点で出力画像の画質を良好にさせることが可能となる。
【００５９】
また、図１４に示す対応関係データＴ２３のように、各階調値ｍiのうち少なくとも一部の階調値ｍi付近となるＭ階調の入力階調値ｍについての強制階調値D’outを、当該Ｍ階調の入力階調値ｍがｍ＜ｍiの場合に階調値ｎi+1とし、当該Ｍ階調の入力階調値ｍがｍ＞ｍiの場合に階調値ｎi-1としてもよい。ここで、同対応関係データＴ２３は、Ｎ＝８階調の場合の入力階調値ｍと、強制階調値D’outの出力階調値ｉおよび画素の所定比率RAと、の対応関係が示されているものとする。なお、階調値ｍi付近となるＭ階調の入力階調値ｍは、例えば、ｍi-1＜ｍ＜ｍiまたはｍi＜ｍ＜ｍi+1、より好ましくは（ｍi-1＋ｍi）／２＜ｍ＜ｍiまたはｍi＜ｍ＜（ｍi＋ｍi+1）／２とすることができる。すると、出力画像中の入力階調値＝ｎi付近の領域で階調値ｎi+1の領域と階調値ｎi-1の領域とが現れるので、出力画像の画質をより自然にさせることが可能となる。
なお、同対応関係データＴ２３では、各階調値ｍiの少なくとも一部についてのそれぞれの強制階調値D’outを階調値ｎi+1またはｎi-1としているので、この点でも出力画像の画質をより自然にさせることが可能となる。
【００６０】
さらに、図１５の対応関係データＴ２４のように、Ｎ階調の各段階の階調値ｎiのうち隣接した段階の階調値をｎ１，ｎ２、閾値THiを用いてerrを増減させずに階調値ｎ１，ｎ２に変換されるＭ階調の階調値をそれぞれｍ１，ｍ２とするとき、階調値ｍ１以上ｍ２以下のＭ階調の階調値ｍについての強制階調値D’outを、Ｎ階調の各段階の階調値ｎiのうち階調値ｎ１およびｎ２以外の階調値としてもよい。同対応関係データＴ２４は、Ｎ＝８階調の場合の入力階調値ｍと、強制階調値D’outの出力階調値ｉおよび画素の所定比率RAと、の対応関係が示されている。例えば、入力階調値ｍがｎ1≦ｍ≦ｎ2（図ではｍ1≦ｍ≦ｍ2）のとき、出力階調値ｉを３と０のみとする強制階調値D’outとされる。このようにしても、出力画像中で入力階調値＝ｎiである領域に当該階調値ｎiと異なる階調値の領域が混在するようになるので、より確実に出力画像の疑似輪郭が防がれ、より良好な画質の出力画像を得ることが可能となる。
なお、階調値ｍ１，ｍ２の組合せの一部のみについて強制階調値を階調値ｎ１およびｎ２以外の階調値としても、同様の作用、効果が得られる。
【００６１】
（３）変形例：
ところで、本発明を実施する際に使用可能なコンピュータと周辺装置は、様々な構成が可能である。例えば、印刷装置は、コンピュータと一体化されたものでもよい。単色画像のみ印刷する印刷装置でもよい。上述したフローについては、一部または全部を印刷装置あるいは専用の画像処理装置で実行してもよい。
上述した実施形態では第一変換手段にてＭ階調の階調値から変換されるＮ階調の階調値ｎを離散的な階調値ｎiとして説明したが、同Ｎ階調の階調値ｎは間隔１の出力階調値ｉとしてもよい。この場合、離散的な階調値ｎiが必要となるときに出力階調値対応データＴ３を参照して出力階調値ｉに対応する離散的な階調値ｎiを取得すれば、上述した実施形態と同様にして階調数変換処理を行うことができる。同様にして、Ｎ階調の強制階調値を間隔１の階調値とすることもできる。
【００６２】
上述した各種情報テーブルＴ１〜Ｔ３をハードウェアの回路で構成してもよい。例えば、入力階調値ｍと画素の比率RAとの対応関係を規定した対応関係データの場合、入力階調値ｍを表すアドレス信号を入力して対応するアドレスの画素の比率データを強制階調制御信号として出力するＲＯＭを設けることにより、入力階調値ｍに対応する画素の比率RAを非常に素早く得ることが可能となる。
また、補正データD’を作成する際には入力階調値ｍのデータ信号と拡散誤差err’のデータ信号とを入力して加算する加算器を設け、階調誤差errを求める際には補正データD’のデータ信号と変換後の階調値Doutのデータ信号とを入力して減算する減算器を設けることにより、補正データD’や階調誤差errを非常に素早く得ることが可能となる。
【００６３】
さらに、画像を画素毎にＭ階調（Ｍは３以上の整数）の階調値で表現した画像データをＮ階調（Ｎは２以上かつＭより小さい整数）の階調値で表現した画像データに階調数変換する際、変換対象の画素について階調値を変換するとともに同変換により生じる階調誤差を未変換画素に拡散させる変換処理を行いながら画像データを階調数変換する画像処理装置であって、
上記変換処理をまとめて行う画素の範囲毎に処理区分とし、当該範囲毎の処理区分の中から各画素の階調値を上記Ｎ階調の所定階調値とする処理区分を所定比率で選択する選択手段と、
この選択手段にて選択された処理区分の画素について、当該画素の階調値を上記所定階調値にする変換を行うとともに同変換により生じる階調誤差を当該処理区分外の未変換画素に拡散させる第一変換手段と、
上記選択手段にて選択されなかった処理区分の画素について、当該処理区分内の画素の階調値および当該画素に拡散されてきた上記階調誤差を用いて当該処理区分内の画素の階調値を上記Ｎ階調の階調値に変換するとともに同変換により生じる階調誤差を当該処理区分外の未変換画素に拡散させる第二変換手段とを具備する画像処理装置を構成してもよい。
上記のように構成しても、誤差拡散法を用いて画像データを多値化する際に、変換後の画像データに基づく出力画像に疑似輪郭を生じさせず、適切な画質の出力画像を高速な階調数変換処理にて得ることが可能となる。ここで、処理区分は、２以上の画素でもよいし、１画素のみでもよい。
【図面の簡単な説明】
【００６４】
【図１】画像処理装置の構成を模式的に示す図。
【図２】印刷システムの構成を示すブロック図。
【図３】ディザ情報テーブルＴ２で表されるディザマトリクスを模式的に示す図。
【図４】対応関係データＴ１の構造を模式的に示す図。
【図５】Ｎ階調の階調値を決定する様子を模式的に示す図。
【図６】従来からの誤差拡散法による変換処理を模式的に示す図。
【図７】強制階調値とする変換を行って階調誤差を拡散する様子を示す図。
【図８】印刷制御処理を示すフローチャート。
【図９】階調数変換処理を示すフローチャート。
【図１０】ディザ情報テーブルを参照して閾値を取得する様子を模式的に示す図。
【図１１】階調値決定処理の一例を示すフローチャート。
【図１２】一部の画素を強制階調値にするか否かによる作用の違いを説明する図。
【図１３】一部の画素を強制階調値にした効果を模式的に説明する図。
【図１４】変形例において対応関係データの構造を模式的に示す図。
【図１５】変形例において対応関係データの構造を模式的に示す図。
【図１６】従来例において変換後のＮ階調の階調値とその出現率を説明する図。
【図１７】従来例において擬似輪郭が生じた出力画像を模式的に示す図。
【符号の説明】
【００６５】
１０…パーソナルコンピュータ（ＰＣ）、１４…ハードディスク（所定の記憶領域）、２０…インクジェットプリンタ（印刷装置）、２９…印刷ヘッドユニット、２９ａ〜ｆ…印刷ヘッド、Ａ０…画像処理装置、Ａ１…画素選択部（選択手段）、Ａ２…強制階調取得部、Ａ３…補正データ作成部、Ａ４…階調決定部、Ａ５…誤差算出部、Ａ６…誤差配分部、Ａ７…誤差記憶部、Ｂ１〜Ｂ３…ディザマトリクス、Ｂ１ｕ，Ｂ２ｕ…ディザマトリクスの画素、Ｄ１…変換前の画像データ、Ｄ２…誤差データ、Ｄ３…変換後の画像データ、Ｄ４…フラグ情報、Ｄ５…閾値、Ｉ０，Ｉ１０…印刷画像（出力画像）、Ｉ１…入力画像、ＲＥ，ＲＥ１…一致領域、ＲＮ，ＲＮ１…不一致領域、Ｔ１，Ｔ１１，Ｔ１２，Ｔ２１〜Ｔ２４…対応関係データ、Ｔ２…ディザ情報テーブル、Ｕ１，Ｕ１１，Ｕ２１…対象画素、Ｕ２〜Ｕ５…対象画素に隣接した既変換画素、Ｕ６〜Ｕ９…対象画素に隣接した未変換画素（周辺の未変換画素）
【図１】
2005286408.tif 000003
【図２】
2005286408.tif 000004
【図３】
2005286408.tif 000005
【図４】
2005286408.tif 000006
【図５】
2005286408.tif 000007
【図６】
2005286408.tif 000008
【図７】
2005286408.tif 000009
【図８】
2005286408.tif 000010
【図９】
2005286408.tif 000011
【図１０】
2005286408.tif 000012
【図１１】
2005286408.tif 000013
【図１２】
2005286408.tif 000014
【図１３】
2005286408.tif 000015
【図１４】
2005286408.tif 000016
【図１５】
2005286408.tif 000017
【図１６】
2005286408.tif 000018
【図１７】
2005286408.tif 000019