(57)【要約】【目的】量子化された画像データによって表される画像の画質を向上させる。【構成】画像データが量子化され，量子化により生じた誤差を誤差拡散マトリクスを用いて誤差拡散する。このような誤差拡散を利用した量子化処理において，総和が０より大きく１未満の誤差拡散係数をもつ誤差拡散マトリクスを用いる。入力画像データのデータ量が少なくとも比較的画質の良い画像が得られる。【選択図】　　図４
2004072293.tif 000002
【特許請求の範囲】
【請求項１】
与えられる画像データを画素ごとに量子化する量子化手段，
上記量子化手段による量子化によって生じた量子化誤差を，誤差拡散マトリクスを用いて，量子化された画像データによって表される画素の近隣の画素に，上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段，および
上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において，上記誤差拡散手段が，　１００％未満の誤差拡散率で誤差拡散することを特徴とする，
画像データ処理装置。
【請求項２】
上記誤差拡散手段は，総和が１未満の誤差拡散マトリクス係数を用いて　１００％未満の誤差拡散率で上記誤差拡散を行うものである，請求項１に記載の画像データ処理装置。
【請求項３】
上記誤差拡散手段は，量子化誤差を減衰させる減衰手段を備え，
上記減衰手段によって減衰した量子化誤差を，誤差拡散マトリクスを用いて　１００％未満の上記誤差拡散率で上記誤差拡散を行うものである，
請求項１に記載の画像データ処理装置。
【請求項４】
量子化対象画素について第１の量子化を行う第１の量子化手段，
上記第１の量子化手段における第１の量子化によって生じた第１の量子化誤差に，誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算する第１の加算手段，
上記誤差拡散値を上記量子化対象画素の値に加算する第２の加算手段，
上記第２の加算手段における加算後の量子化対象画素について第２の量子化を行う第２の量子化手段，および
上記第１の量子化手段における第１の量子化による第１の量子化値と上記第２の量子化手段における第２の量子化による第２の量子化値とが一致している場合に，第２の量子化により得られる第２の量子化誤差に上記誤差拡散値を加算し，不一致の場合に上記第２の量子化誤差を減衰した値に上記誤差拡散値を加算するように上記第２の加算手段を制御する制御手段，
を備えた画像データ処理装置。
【請求項５】
与えられる画像データを画素ごとに量子化する量子化手段，
上記量子化手段による量子化によって生じた量子化誤差を，誤差拡散マトリクスを用いて，量子化された画像データによって表される画素の近隣の画素に，上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段，および
上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において，
１００％未満の誤差拡散率で誤差拡散する，
画像データ処理装置の制御方法。
【請求項６】
量子化対象画素について第１の量子化を行い，
第１の量子化によって生じた第１の量子化誤差に，誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算し，
上記誤差拡散値を上記量子化対象画素の値に加算し，
加算後の量子化対象画素について第２の量子化を行い，
第１の量子化による第１の量子化値と第２の量子化による第２の量子化値とが一致している場合に，第２の量子化により得られる第２の量子化誤差に上記誤差拡散値を加算し，不一致の場合に上記第２の量子化誤差を減衰した値に上記誤差拡散値を加算する，
画像データ処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【技術分野】
この発明は，画像データ処理およびその制御方法に関する。
【０００２】
【発明の背景】
ディジタル画像データを扱う場合には，量子化処理が必要となることがある。量子化処理においては量子化誤差が生じ，偽輪郭と呼ばれる現象が起きることがある。偽輪郭を防ぐために，誤差拡散処理が利用されることがある。しかしながら，誤差拡散処理により得られる画像は必ずしも高画質のものではない。
【０００３】
【発明の開示】
この発明は，比較的高画質の画像を得ることを目的とする。
【０００４】
第１の発明は，与えられる画像データを画素ごとに量子化する量子化手段，上記量子化手段による量子化によって生じた量子化誤差を，誤差拡散マトリクスを用いて，量子化された画像データによって表される画素の近隣の画素に，上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段，および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において，上記誤差拡散手段が，　１００％未満の誤差拡散率で誤差拡散することを特徴とする。
【０００５】
第１の発明は，上記画像データ処理装置に適した制御方法も提供している。すなわち，この方法は，与えられる画像データを画素ごとに量子化する量子化手段，上記量子化手段による量子化によって生じた量子化誤差を，誤差拡散マトリクスを用いて，量子化された画像データによって表される画素の近隣の画素に，上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段，および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において，　１００％未満の誤差拡散率で誤差拡散するものである。
【０００６】
誤差拡散は，偽輪郭を防止することができるが，誤差拡散を行うことにより，画素レベルが画素ごとに交互に異なり，画質が低下することがある。
【０００７】
誤差拡散率は，上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる。この発明によると，　１００％未満の誤差拡散率で誤差拡散が行われる。　１００％の誤差拡散率で誤差拡散が行われる場合は，得られた量子化誤差を減衰させずに，総和が１となる誤差拡散マトリクス係数をもつ誤差拡散マトリクスを用いて誤差拡散が行われる場合である。誤差拡散を行うべき対象の画像データのデータ量が比較的多くてもかまわない場合には，　１００％の誤差拡散率で誤差拡散が行われても，誤差拡散により生じる画素ごとの画素レベル差が小さくなり画質は比較的良好となる。しかしながら，画像データのデータ量が比較的少ない場合には，誤差拡散により生じる画素ごとの画素レベル差が相対的に大きくなり，画質が低下することがある。
【０００８】
第１の発明によると，　１００％未満の誤差拡散率で誤差拡散が行われるので，誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【０００９】
上記誤差拡散手段は，総和が１未満の誤差拡散係数を用いて　１００％未満の誤差拡散率で上記誤差拡散を行うものでもよい。
【００１０】
また，上記誤差拡散手段は，量子化誤差を減衰させる減衰手段を備え，上記減衰手段によって減衰した量子化誤差を，誤差拡散マトリクスを用いて　１００％未満の上記誤差拡散率で上記誤差拡散を行うものでもよい。
【００１１】
第２の発明による画像データ処理装置は，量子化対象画素について第１の量子化を行う第１の量子化手段，上記第１の量子化手段における第１の量子化によって生じた第１の量子化誤差に，誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算する第１の加算手段，上記誤差拡散値を上記量子化対象画素の値に加算する第２の加算手段，上記第２の加算手段における加算後の量子化対象画素について第２の量子化を行う第２の量子化手段，および上記第１の量子化手段における第１の量子化による第１の量子化値と上記第２の量子化手段における第２の量子化による第２の量子化値とが一致している場合に，第２の量子化により得られる第２の量子化誤差に上記誤差拡散値を加算し，不一致の場合に上記第２の量子化誤差を減衰した値に上記誤差拡散値を加算するように上記誤差拡散手段を制御する制御手段を備えていることを特徴とする。
【００１２】
第２の発明は，上記画像データ処理装置に適した制御方法も提供している。すなわち，この方法は，量子化対象画素について第１の量子化を行い，第１の量子化によって生じた第１の量子化誤差に，誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算し，上記誤差拡散値を上記量子化対象画素の値に加算し，加算後の量子化対象画素について第２の量子化を行い，第１の量子化による第１の量子化値と第２の量子化による第２の量子化値とが一致している場合に，第２の量子化により得られる第２の量子化誤差に上記誤差拡散値を加算し，不一致の場合に上記第２の量子化誤差を減衰した値に上記誤差拡散値を加算するものである。
【００１３】
第２の発明によると，量子化対象画素について第１の量子化が行われ，第１の量子化によって生じた第１の量子化誤差に，誤差加算マトリクスを用いて誤差拡散することにより得られる誤差拡散値が加算される。誤差拡散値が量子化対象画素の値に加算される。加算後の量子化画素について第２の量子化が行われる。第１の量子化による第１の量子化値と第２の量子化による第２の量子化値とが一致している場合には，第２の量子化により生じる第２の量子化誤差に上記誤差拡散値が加算され，不一致の場合には，上記第２の量子化誤差を減衰した値に誤差拡散値が加算される。
【００１４】
第２の発明においては，上記不一致の場合には，第２の量子化誤差を減衰した値に誤差拡散値が加算されているので，　１００％未満の誤差拡散率で誤差拡散が行われることとなる。第１の発明と同様に，誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【００１５】
【実施例の説明】
（１）第１実施例
図１は，この発明の第１実施例を示すもので，量子化装置の電気的構成を示すブロック図である。第１実施例における量子化処理は，総和が０より大きく１未満の誤差拡散係数を用いて誤差拡散を行うことにより，　１００％未満の誤差拡散率で誤差拡散を行うものである
【００１６】
第１実施例（および後述の第２実施例）による量子化装置は，画素レベルが整数で表される入力画像データ（一駒分の画像データ）を画素レベルが１０の倍数の画像データとなるようにするものである。入力画像データによって表される画像の一部が図２に示されている。図２において行方向および列方向に多数配置されている各区画Ａ１が画素に対応する。図２および後述する図３の各区画Ａ１内の整数の値が画素のレベルを示している。
【００１７】
入力画像データは，画像入力インターフェイス１から入力する。入力画像データは，フレーム・メモリ２に与えられ，一時的に記憶される。入力画像データは，フレーム・メモリ２から読み出され，量子化回路４に入力する。量子化回路４において，画素のレベルが１０の倍数となるように画素のレベルの１の位が四捨五入され１画素について量子化される。量子化された１画素分の画像データは，フレーム・メモリ２に与えられ，一時的に記憶される。量子化回路４における量子化後の入力画像データによって表される画像の一部が図３に示されている。たとえば，第１行第１列の画素Ｐ１が量子化され，量子化された画像データがフレーム・メモリ２に記憶される（画素Ｐ１の画素レベルが「２４」から「２０」に量子化されている）。
【００１８】
量子化回路４における量子化処理において生じる量子化誤差を表すデータは，誤差拡散回路５に与えられる。量子化誤差は，図２および図３に示す例であれば，入力画像データによって表される画像の画素レベルと量子化後の画像データによって表される画素レベルとの差分である。たとえば，図２において左上の画素Ｐの画素レベルは「２４」であり，量子化後の左上の画素Ｐの画素レベルは「２０」となるから，量子化誤差は「４」（＝「２４」−「２０」）となる。
【００１９】
図４は，誤差拡散マトリクスの一例である。
【００２０】
誤差拡散マトリクスには，第１行第２列の区画に対象画素位置の区画Ａ２が規定されている。区画Ａ２の回りの区画Ａ３に誤差拡散係数（１／３２，３／３２，５／３２，７／３２）が規定されている。区画Ａ２に誤差拡散すべき画素が当てはめられ，回りの区画Ａ３によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【００２１】
回りの区画Ａ３に規定されている誤差拡散係数の総和は，通常使用される誤差拡散係数の総和と異なり，０より大きく１未満である。この実施例では１／２（＝１／３２＋３／３２＋５／３２＋７／３２）。
【００２２】
図１に戻って，フレーム・メモリ２に記憶されている画像データが読み出され，誤差拡散回路５に与えられる。誤差拡散回路５において，上述した誤差拡散マトリクスを用いて誤差拡散が行われる。誤差拡散された画像データが再びフレーム・メモリ２に記憶される。その後，誤差拡散された画像データが再び量子化回路４に与えられ，量子化される。このように，誤差拡散および量子化が１画素ずつ順に繰り返される。入力画像データについてすべて誤差拡散および量子化が終了すると，画像出力インターフェイス３に与えられ，出力される。
【００２３】
図５は，量子化処理手順を示すフローチャートである。
【００２４】
上述のように画像データが画像入力インターフェイス１を介してフレーム・メモリ２に与えられ，記憶される（ステップ１１）。入力画像データは，量子化回路４に与えられ，１画素分記憶される（ステップ１２）。量子化された画像データは，フレーム・メモリ２に与えられ，記憶される。
【００２５】
上述のように，総和が０より大きく１未満の誤差拡散係数を用いて量子化誤差が誤差拡散される（ステップ１３）。入力画像データによって表される画像のすべての画素についてステップ１２および１３の処理が繰り返される（ステップ１４）。すべての画素についてステップ１２および１３の処理が終了すると（ステップ１４でＹＥＳ），誤差拡散処理が行われ，かつ量子化された画像データが画像出力インターフェイス３から出力される（ステップ１５）。
【００２６】
画像データのデータ量が多いときには，総和が１の誤差拡散係数を用いて量子化誤差を誤差拡散しても比較的画質の高い画像が得られるが，画像データのデータ量が少ないときに総和が１の誤差拡散係数を用いて量子化誤差を誤差拡散すると画質が比較的低くなってしまうことがある。この実施例によると，総和が０より大きく１未満の誤差拡散係数が規定される誤差拡散マトリクスを用いて量子化誤差を誤差拡散しているので，比較的画質の良好な画像が得られる。
【００２７】
（２）第２実施例
図６は，第２実施例による量子化装置の電気的構成を示すブロック図である。図６において，図２に示すものと同一物には同一符号を付し，説明を省略する。
【００２８】
図６に示す量子化装置においては，図２に示すものと比較してフレーム・メモリ２に対応するデータ・フレーム・メモリ２Ａが設けられているほか，誤差計算フレーム・メモリ６が設けられている。誤差計算フレーム・メモリ６は，上述した量子化誤差を記憶するものである。
【００２９】
また，第１実施例における誤差拡散回路５は，総和が０より大きく１未満の誤差拡散係数が規定されている誤差拡散マトリクスを利用して誤差拡散処理が行われていたが，第２実施例における誤差拡散回路５Ａにおいては，総和が１の誤差拡散係数が規定されている誤差拡散マトリクスを利用した誤差拡散処理が行われる。
【００３０】
図７は，誤差拡散マトリクスの一例である。
【００３１】
誤差拡散マトリクスには，第２行第２列の区画に対象画素位置の区画Ａ４が規定されている。区画Ａ４の回りの区画Ａ５に誤差拡散係数が規定されている。区画Ａ４に誤差拡散すべき画素が当てはめられ，回りの区画Ａ５によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【００３２】
回りの区画Ａ５に規定されている誤差拡散係数の総和は，図４に示した誤差拡散マトリクスにおける誤差拡散係数の総和と異なり，通常使用される誤差拡散係数の総和と同じく１である。
【００３３】
図８および図９は，量子化処理を示すフローチャートである。図１０（Ａ）から（Ｇ）は，画像データの変遷を示すものである。各区画は，画素に対応している。（Ａ）から（Ｄ）は，データ・フレーム・メモリに記憶される画像データの変遷を示し，それぞれの整数が画素レベルを示している。（Ｅ）から（Ｇ）は，誤差拡散フレーム・メモリに記憶される画像データの変遷を示し，それぞれの整数が量子化誤差または誤差拡散された量子化誤差を示している。図１０（Ａ）から（Ｃ）において，量子化すべきものとして着目している画素がフレームＦｒで示されている。
【００３４】
上述したように，第１実施例における量子化処理は，総和が０より大きく１未満の誤差拡散係数が規定されている誤差拡散マトリクスを用いて誤差拡散を行うことにより，　１００％未満の誤差拡散率で誤差拡散を行うものであるのに対し，第２実施例における量子化処理は，量子化誤差を減衰係数を用いて減衰させて誤差拡散を行うことにより，　１００％未満の誤差拡散率で誤差拡散を行うものである。
【００３５】
この実施例においては，次に述べるように２回の量子化が行われる。
【００３６】
入力画像データが画像入力インターフェイス１を介して入力する（ステップ２１）。入力画像データは，データ・フレーム・メモリ２Ａに一時的に記憶される（ステップ２２）（図１０（Ａ））。入力画像データがデータ・フレーム・メモリ２Ａから読み出され，量子化回路４に与えられる。量子化回路４において，１画素分の画像データが量子化（第１回目の量子化）される（ステップ２３）。第１回目の量子化の場合，量子化はデータ・フレーム・メモリ２Ａに記憶されず，量子化前のデータが記憶されている。第１の量子化において生じた量子化誤差は，誤差計算フレーム・メモリ６の対応する領域に記憶される（ステップ２４）。たとえば，第１行第１列の区画Ａ１１の画素のレベルは入力時は「２４」であるが，量子化されて「２０」となる（図１０（Ｂ））。画素レベル「２４」のものが画素レベル「２０」となるのであるから，量子化誤差は「４」である。この量子化誤差が第１行第１列の画素に対応する誤差計算フレーム・メモリ６の領域（図１０（Ｅ）に示す区画Ａ２１）に記憶される。
【００３７】
量子化誤差が誤差計算フレーム・メモリ６に記憶されると，他の画素の量子化誤差に誤差計算フレーム・メモリ６に記憶された量子化誤差に誤差拡散され，誤差計算フレーム・メモリ６に記憶される（ステップ２５）。第１行第１列の画素の場合，図７に示す誤差拡散マトリクスを用いて誤差拡散をしても対応する位置に量子化誤差が無いので結果的に誤差拡散は行われないこととなる。したがって，以下のステップはスキップされ，隣の第１行第２列の画素について量子化等が行われることとなる（ステップ３１でＮＯ）。
【００３８】
フレームＦｒで囲まれている第１行第２列の区画Ａ２２に記憶されている画像データ（画素レベル「２４」）について第１回目の量子化が行われ（ステップ２３），第１の量子化誤差「４」が誤差計算フレーム・メモリ６の対応する領域Ａ２２に記憶される（ステップ２４）。領域Ａ２２に記憶された量子化誤差について図７に示す誤差拡散マトリクスを用いて誤差拡散が行われる（ステップ２５）。区画Ａ２２に誤差拡散マトリクスの対象画素位置Ａ４を当てはめると，区画Ａ２１には誤差拡散マトリクスの誤差拡散係数７／１６が対応する。区画Ａ２１に記憶されている量子化誤差「４」が誤差拡散係数７／１６に乗じられ，拡散値「１．７５」（＝４×７／１６）が得られる。この拡散値「１．７５」が区画Ａ２２に記憶されている量子化誤差「４」に加算されて新たな量子化誤差「５．７５」として区画Ａ２２に記憶される（図１０（Ｆ））。
【００３９】
誤差拡散された第１の量子化誤差（上述した新たな量子化誤差「５．７５」）が量子化対象画素レベル（データ・フレーム・メモリ２Ａの対応する区画Ａ１２に記憶されている画像データ「２４」）（図１０（Ｃ））に加算される（ステップ２６）（「１．７５」＋「２４」＝「２５．５」）。加算値「２５．５」が再量子化（第２回目の量子化）され，データ・フレーム・メモリ２Ａに記憶される（ステップ２７）。領域Ａ１２には，加算値「２９．５」が再量子化されることにより得られた値「３０」が記憶される（図１０（Ｄ））。
【００４０】
つづいて，第１回目の量子化により得られた第１の量子化値と第２回目の量子化により得られた第２の量子化値とが比較される（ステップ２８）。
【００４１】
一致していると，第２の量子化誤差が減衰係数（たとえば，０．５　）により減衰させられる。減衰されられた第２の量子化誤差が誤差計算フレーム・メモリ６に記憶される（ステップ２９）。このようにして記憶された量子化誤差が利用されて以下，上述したのと同様に誤差拡散が行われる。減衰された量子化誤差が誤差計算フレーム・メモリ６に記憶させられて誤差拡散に利用されるので，第１実施例と同様に，　１００％未満の誤差拡散率で誤差拡散が行われることとなる。比較的画質の良好な画像が得られることとなる。
【００４２】
不一致であると，再量子化されることにより得られた値「３０」の量子化誤差「−４．２５」（＝「２５．５」−「３０」），誤差計算フレーム・メモリ６の対応する区画Ａ２２に記憶される（図１０（Ｇ）参照）。
【００４３】
入力画像データによって表される画像のすべての画素についてステップ２３から２７までの処理が繰り返される（ステップ３１）。全画素について上述した量子化，誤差拡散および再量子化の処理が終了すると（ステップ３１でＹＥＳ），画像データが画像出力インターフェイス３から出力されることとなる（ステップ３２）。
【図面の簡単な説明】
【図１】量子化装置の電気的構成を示すブロック図である。
【図２】入力画像データによって表される画像の一部の画素レベルを示している。
【図３】量子化後の入力画像データによって表される画像の一部の画素レベルを示している。
【図４】誤差拡散マトリクスの一例である。
【図５】量子化処理手順を示すフローチャートである。
【図６】量子化装置の電気的構成を示すブロック図である。
【図７】誤差拡散マトリクスの一例である。
【図８】量子化処理手順の一部を示すフローチャートである。
【図９】量子化処理手順の一部を示すフローチャートである。
【図１０】（Ａ）から（Ｇ）は，画素レベルを示している。
【符号の説明】
１　画像入力インターフェイス
２　フレーム・メモリ
２Ａ　データ・フレーム・メモリ
３　画像出力インターフェイス
４　量子化回路
５，５Ａ　誤差拡散回路
６　誤差計算フレーム・メモリ
【図１】
2004072293.tif 000003
【図２】
2004072293.tif 000004
【図３】
2004072293.tif 000005
【図４】
2004072293.tif 000006
【図５】
2004072293.tif 000007
【図６】
2004072293.tif 000008
【図７】
2004072293.tif 000009
【図８】
2004072293.tif 000010
【図９】
2004072293.tif 000011
【図１０】
2004072293.tif 000012