JP2004072293A - 画像データ処理装置およびその制御方法 - Google Patents
画像データ処理装置およびその制御方法 Download PDFInfo
- Publication number
- JP2004072293A JP2004072293A JP2002226976A JP2002226976A JP2004072293A JP 2004072293 A JP2004072293 A JP 2004072293A JP 2002226976 A JP2002226976 A JP 2002226976A JP 2002226976 A JP2002226976 A JP 2002226976A JP 2004072293 A JP2004072293 A JP 2004072293A
- Authority
- JP
- Japan
- Prior art keywords
- quantization
- error diffusion
- error
- image data
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Facsimile Image Signal Circuits (AREA)
Abstract
【目的】量子化された画像データによって表される画像の画質を向上させる。
【構成】画像データが量子化され,量子化により生じた誤差を誤差拡散マトリクスを用いて誤差拡散する。このような誤差拡散を利用した量子化処理において,総和が0より大きく1未満の誤差拡散係数をもつ誤差拡散マトリクスを用いる。入力画像データのデータ量が少なくとも比較的画質の良い画像が得られる。
【選択図】 図4
【構成】画像データが量子化され,量子化により生じた誤差を誤差拡散マトリクスを用いて誤差拡散する。このような誤差拡散を利用した量子化処理において,総和が0より大きく1未満の誤差拡散係数をもつ誤差拡散マトリクスを用いる。入力画像データのデータ量が少なくとも比較的画質の良い画像が得られる。
【選択図】 図4
Description
【0001】
【技術分野】
この発明は,画像データ処理およびその制御方法に関する。
【0002】
【発明の背景】
ディジタル画像データを扱う場合には,量子化処理が必要となることがある。量子化処理においては量子化誤差が生じ,偽輪郭と呼ばれる現象が起きることがある。偽輪郭を防ぐために,誤差拡散処理が利用されることがある。しかしながら,誤差拡散処理により得られる画像は必ずしも高画質のものではない。
【0003】
【発明の開示】
この発明は,比較的高画質の画像を得ることを目的とする。
【0004】
第1の発明は,与えられる画像データを画素ごとに量子化する量子化手段,上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において,上記誤差拡散手段が, 100%未満の誤差拡散率で誤差拡散することを特徴とする。
【0005】
第1の発明は,上記画像データ処理装置に適した制御方法も提供している。すなわち,この方法は,与えられる画像データを画素ごとに量子化する量子化手段,上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において, 100%未満の誤差拡散率で誤差拡散するものである。
【0006】
誤差拡散は,偽輪郭を防止することができるが,誤差拡散を行うことにより,画素レベルが画素ごとに交互に異なり,画質が低下することがある。
【0007】
誤差拡散率は,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる。この発明によると, 100%未満の誤差拡散率で誤差拡散が行われる。 100%の誤差拡散率で誤差拡散が行われる場合は,得られた量子化誤差を減衰させずに,総和が1となる誤差拡散マトリクス係数をもつ誤差拡散マトリクスを用いて誤差拡散が行われる場合である。誤差拡散を行うべき対象の画像データのデータ量が比較的多くてもかまわない場合には, 100%の誤差拡散率で誤差拡散が行われても,誤差拡散により生じる画素ごとの画素レベル差が小さくなり画質は比較的良好となる。しかしながら,画像データのデータ量が比較的少ない場合には,誤差拡散により生じる画素ごとの画素レベル差が相対的に大きくなり,画質が低下することがある。
【0008】
第1の発明によると, 100%未満の誤差拡散率で誤差拡散が行われるので,誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【0009】
上記誤差拡散手段は,総和が1未満の誤差拡散係数を用いて 100%未満の誤差拡散率で上記誤差拡散を行うものでもよい。
【0010】
また,上記誤差拡散手段は,量子化誤差を減衰させる減衰手段を備え,上記減衰手段によって減衰した量子化誤差を,誤差拡散マトリクスを用いて 100%未満の上記誤差拡散率で上記誤差拡散を行うものでもよい。
【0011】
第2の発明による画像データ処理装置は,量子化対象画素について第1の量子化を行う第1の量子化手段,上記第1の量子化手段における第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算する第1の加算手段,上記誤差拡散値を上記量子化対象画素の値に加算する第2の加算手段,上記第2の加算手段における加算後の量子化対象画素について第2の量子化を行う第2の量子化手段,および上記第1の量子化手段における第1の量子化による第1の量子化値と上記第2の量子化手段における第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算するように上記誤差拡散手段を制御する制御手段を備えていることを特徴とする。
【0012】
第2の発明は,上記画像データ処理装置に適した制御方法も提供している。すなわち,この方法は,量子化対象画素について第1の量子化を行い,第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算し,上記誤差拡散値を上記量子化対象画素の値に加算し,加算後の量子化対象画素について第2の量子化を行い,第1の量子化による第1の量子化値と第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算するものである。
【0013】
第2の発明によると,量子化対象画素について第1の量子化が行われ,第1の量子化によって生じた第1の量子化誤差に,誤差加算マトリクスを用いて誤差拡散することにより得られる誤差拡散値が加算される。誤差拡散値が量子化対象画素の値に加算される。加算後の量子化画素について第2の量子化が行われる。第1の量子化による第1の量子化値と第2の量子化による第2の量子化値とが一致している場合には,第2の量子化により生じる第2の量子化誤差に上記誤差拡散値が加算され,不一致の場合には,上記第2の量子化誤差を減衰した値に誤差拡散値が加算される。
【0014】
第2の発明においては,上記不一致の場合には,第2の量子化誤差を減衰した値に誤差拡散値が加算されているので, 100%未満の誤差拡散率で誤差拡散が行われることとなる。第1の発明と同様に,誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【0015】
【実施例の説明】
(1)第1実施例
図1は,この発明の第1実施例を示すもので,量子化装置の電気的構成を示すブロック図である。第1実施例における量子化処理は,総和が0より大きく1未満の誤差拡散係数を用いて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものである
【0016】
第1実施例(および後述の第2実施例)による量子化装置は,画素レベルが整数で表される入力画像データ(一駒分の画像データ)を画素レベルが10の倍数の画像データとなるようにするものである。入力画像データによって表される画像の一部が図2に示されている。図2において行方向および列方向に多数配置されている各区画A1が画素に対応する。図2および後述する図3の各区画A1内の整数の値が画素のレベルを示している。
【0017】
入力画像データは,画像入力インターフェイス1から入力する。入力画像データは,フレーム・メモリ2に与えられ,一時的に記憶される。入力画像データは,フレーム・メモリ2から読み出され,量子化回路4に入力する。量子化回路4において,画素のレベルが10の倍数となるように画素のレベルの1の位が四捨五入され1画素について量子化される。量子化された1画素分の画像データは,フレーム・メモリ2に与えられ,一時的に記憶される。量子化回路4における量子化後の入力画像データによって表される画像の一部が図3に示されている。たとえば,第1行第1列の画素P1が量子化され,量子化された画像データがフレーム・メモリ2に記憶される(画素P1の画素レベルが「24」から「20」に量子化されている)。
【0018】
量子化回路4における量子化処理において生じる量子化誤差を表すデータは,誤差拡散回路5に与えられる。量子化誤差は,図2および図3に示す例であれば,入力画像データによって表される画像の画素レベルと量子化後の画像データによって表される画素レベルとの差分である。たとえば,図2において左上の画素Pの画素レベルは「24」であり,量子化後の左上の画素Pの画素レベルは「20」となるから,量子化誤差は「4」(=「24」−「20」)となる。
【0019】
図4は,誤差拡散マトリクスの一例である。
【0020】
誤差拡散マトリクスには,第1行第2列の区画に対象画素位置の区画A2が規定されている。区画A2の回りの区画A3に誤差拡散係数(1/32,3/32,5/32,7/32)が規定されている。区画A2に誤差拡散すべき画素が当てはめられ,回りの区画A3によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【0021】
回りの区画A3に規定されている誤差拡散係数の総和は,通常使用される誤差拡散係数の総和と異なり,0より大きく1未満である。この実施例では1/2(=1/32+3/32+5/32+7/32)。
【0022】
図1に戻って,フレーム・メモリ2に記憶されている画像データが読み出され,誤差拡散回路5に与えられる。誤差拡散回路5において,上述した誤差拡散マトリクスを用いて誤差拡散が行われる。誤差拡散された画像データが再びフレーム・メモリ2に記憶される。その後,誤差拡散された画像データが再び量子化回路4に与えられ,量子化される。このように,誤差拡散および量子化が1画素ずつ順に繰り返される。入力画像データについてすべて誤差拡散および量子化が終了すると,画像出力インターフェイス3に与えられ,出力される。
【0023】
図5は,量子化処理手順を示すフローチャートである。
【0024】
上述のように画像データが画像入力インターフェイス1を介してフレーム・メモリ2に与えられ,記憶される(ステップ11)。入力画像データは,量子化回路4に与えられ,1画素分記憶される(ステップ12)。量子化された画像データは,フレーム・メモリ2に与えられ,記憶される。
【0025】
上述のように,総和が0より大きく1未満の誤差拡散係数を用いて量子化誤差が誤差拡散される(ステップ13)。入力画像データによって表される画像のすべての画素についてステップ12および13の処理が繰り返される(ステップ14)。すべての画素についてステップ12および13の処理が終了すると(ステップ14でYES),誤差拡散処理が行われ,かつ量子化された画像データが画像出力インターフェイス3から出力される(ステップ15)。
【0026】
画像データのデータ量が多いときには,総和が1の誤差拡散係数を用いて量子化誤差を誤差拡散しても比較的画質の高い画像が得られるが,画像データのデータ量が少ないときに総和が1の誤差拡散係数を用いて量子化誤差を誤差拡散すると画質が比較的低くなってしまうことがある。この実施例によると,総和が0より大きく1未満の誤差拡散係数が規定される誤差拡散マトリクスを用いて量子化誤差を誤差拡散しているので,比較的画質の良好な画像が得られる。
【0027】
(2)第2実施例
図6は,第2実施例による量子化装置の電気的構成を示すブロック図である。図6において,図2に示すものと同一物には同一符号を付し,説明を省略する。
【0028】
図6に示す量子化装置においては,図2に示すものと比較してフレーム・メモリ2に対応するデータ・フレーム・メモリ2Aが設けられているほか,誤差計算フレーム・メモリ6が設けられている。誤差計算フレーム・メモリ6は,上述した量子化誤差を記憶するものである。
【0029】
また,第1実施例における誤差拡散回路5は,総和が0より大きく1未満の誤差拡散係数が規定されている誤差拡散マトリクスを利用して誤差拡散処理が行われていたが,第2実施例における誤差拡散回路5Aにおいては,総和が1の誤差拡散係数が規定されている誤差拡散マトリクスを利用した誤差拡散処理が行われる。
【0030】
図7は,誤差拡散マトリクスの一例である。
【0031】
誤差拡散マトリクスには,第2行第2列の区画に対象画素位置の区画A4が規定されている。区画A4の回りの区画A5に誤差拡散係数が規定されている。区画A4に誤差拡散すべき画素が当てはめられ,回りの区画A5によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【0032】
回りの区画A5に規定されている誤差拡散係数の総和は,図4に示した誤差拡散マトリクスにおける誤差拡散係数の総和と異なり,通常使用される誤差拡散係数の総和と同じく1である。
【0033】
図8および図9は,量子化処理を示すフローチャートである。図10(A)から(G)は,画像データの変遷を示すものである。各区画は,画素に対応している。(A)から(D)は,データ・フレーム・メモリに記憶される画像データの変遷を示し,それぞれの整数が画素レベルを示している。(E)から(G)は,誤差拡散フレーム・メモリに記憶される画像データの変遷を示し,それぞれの整数が量子化誤差または誤差拡散された量子化誤差を示している。図10(A)から(C)において,量子化すべきものとして着目している画素がフレームFrで示されている。
【0034】
上述したように,第1実施例における量子化処理は,総和が0より大きく1未満の誤差拡散係数が規定されている誤差拡散マトリクスを用いて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものであるのに対し,第2実施例における量子化処理は,量子化誤差を減衰係数を用いて減衰させて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものである。
【0035】
この実施例においては,次に述べるように2回の量子化が行われる。
【0036】
入力画像データが画像入力インターフェイス1を介して入力する(ステップ21)。入力画像データは,データ・フレーム・メモリ2Aに一時的に記憶される(ステップ22)(図10(A))。入力画像データがデータ・フレーム・メモリ2Aから読み出され,量子化回路4に与えられる。量子化回路4において,1画素分の画像データが量子化(第1回目の量子化)される(ステップ23)。第1回目の量子化の場合,量子化はデータ・フレーム・メモリ2Aに記憶されず,量子化前のデータが記憶されている。第1の量子化において生じた量子化誤差は,誤差計算フレーム・メモリ6の対応する領域に記憶される(ステップ24)。たとえば,第1行第1列の区画A11の画素のレベルは入力時は「24」であるが,量子化されて「20」となる(図10(B))。画素レベル「24」のものが画素レベル「20」となるのであるから,量子化誤差は「4」である。この量子化誤差が第1行第1列の画素に対応する誤差計算フレーム・メモリ6の領域(図10(E)に示す区画A21)に記憶される。
【0037】
量子化誤差が誤差計算フレーム・メモリ6に記憶されると,他の画素の量子化誤差に誤差計算フレーム・メモリ6に記憶された量子化誤差に誤差拡散され,誤差計算フレーム・メモリ6に記憶される(ステップ25)。第1行第1列の画素の場合,図7に示す誤差拡散マトリクスを用いて誤差拡散をしても対応する位置に量子化誤差が無いので結果的に誤差拡散は行われないこととなる。したがって,以下のステップはスキップされ,隣の第1行第2列の画素について量子化等が行われることとなる(ステップ31でNO)。
【0038】
フレームFrで囲まれている第1行第2列の区画A22に記憶されている画像データ(画素レベル「24」)について第1回目の量子化が行われ(ステップ23),第1の量子化誤差「4」が誤差計算フレーム・メモリ6の対応する領域A22に記憶される(ステップ24)。領域A22に記憶された量子化誤差について図7に示す誤差拡散マトリクスを用いて誤差拡散が行われる(ステップ25)。区画A22に誤差拡散マトリクスの対象画素位置A4を当てはめると,区画A21には誤差拡散マトリクスの誤差拡散係数7/16が対応する。区画A21に記憶されている量子化誤差「4」が誤差拡散係数7/16に乗じられ,拡散値「1.75」(=4×7/16)が得られる。この拡散値「1.75」が区画A22に記憶されている量子化誤差「4」に加算されて新たな量子化誤差「5.75」として区画A22に記憶される(図10(F))。
【0039】
誤差拡散された第1の量子化誤差(上述した新たな量子化誤差「5.75」)が量子化対象画素レベル(データ・フレーム・メモリ2Aの対応する区画A12に記憶されている画像データ「24」)(図10(C))に加算される(ステップ26)(「1.75」+「24」=「25.5」)。加算値「25.5」が再量子化(第2回目の量子化)され,データ・フレーム・メモリ2Aに記憶される(ステップ27)。領域A12には,加算値「29.5」が再量子化されることにより得られた値「30」が記憶される(図10(D))。
【0040】
つづいて,第1回目の量子化により得られた第1の量子化値と第2回目の量子化により得られた第2の量子化値とが比較される(ステップ28)。
【0041】
一致していると,第2の量子化誤差が減衰係数(たとえば,0.5 )により減衰させられる。減衰されられた第2の量子化誤差が誤差計算フレーム・メモリ6に記憶される(ステップ29)。このようにして記憶された量子化誤差が利用されて以下,上述したのと同様に誤差拡散が行われる。減衰された量子化誤差が誤差計算フレーム・メモリ6に記憶させられて誤差拡散に利用されるので,第1実施例と同様に, 100%未満の誤差拡散率で誤差拡散が行われることとなる。比較的画質の良好な画像が得られることとなる。
【0042】
不一致であると,再量子化されることにより得られた値「30」の量子化誤差「−4.25」(=「25.5」−「30」),誤差計算フレーム・メモリ6の対応する区画A22に記憶される(図10(G)参照)。
【0043】
入力画像データによって表される画像のすべての画素についてステップ23から27までの処理が繰り返される(ステップ31)。全画素について上述した量子化,誤差拡散および再量子化の処理が終了すると(ステップ31でYES),画像データが画像出力インターフェイス3から出力されることとなる(ステップ32)。
【図面の簡単な説明】
【図1】量子化装置の電気的構成を示すブロック図である。
【図2】入力画像データによって表される画像の一部の画素レベルを示している。
【図3】量子化後の入力画像データによって表される画像の一部の画素レベルを示している。
【図4】誤差拡散マトリクスの一例である。
【図5】量子化処理手順を示すフローチャートである。
【図6】量子化装置の電気的構成を示すブロック図である。
【図7】誤差拡散マトリクスの一例である。
【図8】量子化処理手順の一部を示すフローチャートである。
【図9】量子化処理手順の一部を示すフローチャートである。
【図10】(A)から(G)は,画素レベルを示している。
【符号の説明】
1 画像入力インターフェイス
2 フレーム・メモリ
2A データ・フレーム・メモリ
3 画像出力インターフェイス
4 量子化回路
5,5A 誤差拡散回路
6 誤差計算フレーム・メモリ
【技術分野】
この発明は,画像データ処理およびその制御方法に関する。
【0002】
【発明の背景】
ディジタル画像データを扱う場合には,量子化処理が必要となることがある。量子化処理においては量子化誤差が生じ,偽輪郭と呼ばれる現象が起きることがある。偽輪郭を防ぐために,誤差拡散処理が利用されることがある。しかしながら,誤差拡散処理により得られる画像は必ずしも高画質のものではない。
【0003】
【発明の開示】
この発明は,比較的高画質の画像を得ることを目的とする。
【0004】
第1の発明は,与えられる画像データを画素ごとに量子化する量子化手段,上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において,上記誤差拡散手段が, 100%未満の誤差拡散率で誤差拡散することを特徴とする。
【0005】
第1の発明は,上記画像データ処理装置に適した制御方法も提供している。すなわち,この方法は,与えられる画像データを画素ごとに量子化する量子化手段,上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において, 100%未満の誤差拡散率で誤差拡散するものである。
【0006】
誤差拡散は,偽輪郭を防止することができるが,誤差拡散を行うことにより,画素レベルが画素ごとに交互に異なり,画質が低下することがある。
【0007】
誤差拡散率は,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる。この発明によると, 100%未満の誤差拡散率で誤差拡散が行われる。 100%の誤差拡散率で誤差拡散が行われる場合は,得られた量子化誤差を減衰させずに,総和が1となる誤差拡散マトリクス係数をもつ誤差拡散マトリクスを用いて誤差拡散が行われる場合である。誤差拡散を行うべき対象の画像データのデータ量が比較的多くてもかまわない場合には, 100%の誤差拡散率で誤差拡散が行われても,誤差拡散により生じる画素ごとの画素レベル差が小さくなり画質は比較的良好となる。しかしながら,画像データのデータ量が比較的少ない場合には,誤差拡散により生じる画素ごとの画素レベル差が相対的に大きくなり,画質が低下することがある。
【0008】
第1の発明によると, 100%未満の誤差拡散率で誤差拡散が行われるので,誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【0009】
上記誤差拡散手段は,総和が1未満の誤差拡散係数を用いて 100%未満の誤差拡散率で上記誤差拡散を行うものでもよい。
【0010】
また,上記誤差拡散手段は,量子化誤差を減衰させる減衰手段を備え,上記減衰手段によって減衰した量子化誤差を,誤差拡散マトリクスを用いて 100%未満の上記誤差拡散率で上記誤差拡散を行うものでもよい。
【0011】
第2の発明による画像データ処理装置は,量子化対象画素について第1の量子化を行う第1の量子化手段,上記第1の量子化手段における第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算する第1の加算手段,上記誤差拡散値を上記量子化対象画素の値に加算する第2の加算手段,上記第2の加算手段における加算後の量子化対象画素について第2の量子化を行う第2の量子化手段,および上記第1の量子化手段における第1の量子化による第1の量子化値と上記第2の量子化手段における第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算するように上記誤差拡散手段を制御する制御手段を備えていることを特徴とする。
【0012】
第2の発明は,上記画像データ処理装置に適した制御方法も提供している。すなわち,この方法は,量子化対象画素について第1の量子化を行い,第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算し,上記誤差拡散値を上記量子化対象画素の値に加算し,加算後の量子化対象画素について第2の量子化を行い,第1の量子化による第1の量子化値と第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算するものである。
【0013】
第2の発明によると,量子化対象画素について第1の量子化が行われ,第1の量子化によって生じた第1の量子化誤差に,誤差加算マトリクスを用いて誤差拡散することにより得られる誤差拡散値が加算される。誤差拡散値が量子化対象画素の値に加算される。加算後の量子化画素について第2の量子化が行われる。第1の量子化による第1の量子化値と第2の量子化による第2の量子化値とが一致している場合には,第2の量子化により生じる第2の量子化誤差に上記誤差拡散値が加算され,不一致の場合には,上記第2の量子化誤差を減衰した値に誤差拡散値が加算される。
【0014】
第2の発明においては,上記不一致の場合には,第2の量子化誤差を減衰した値に誤差拡散値が加算されているので, 100%未満の誤差拡散率で誤差拡散が行われることとなる。第1の発明と同様に,誤差拡散を行うべき画像データのデータ量が比較的少なくとも画質のよい画像を得ることができるようになる。
【0015】
【実施例の説明】
(1)第1実施例
図1は,この発明の第1実施例を示すもので,量子化装置の電気的構成を示すブロック図である。第1実施例における量子化処理は,総和が0より大きく1未満の誤差拡散係数を用いて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものである
【0016】
第1実施例(および後述の第2実施例)による量子化装置は,画素レベルが整数で表される入力画像データ(一駒分の画像データ)を画素レベルが10の倍数の画像データとなるようにするものである。入力画像データによって表される画像の一部が図2に示されている。図2において行方向および列方向に多数配置されている各区画A1が画素に対応する。図2および後述する図3の各区画A1内の整数の値が画素のレベルを示している。
【0017】
入力画像データは,画像入力インターフェイス1から入力する。入力画像データは,フレーム・メモリ2に与えられ,一時的に記憶される。入力画像データは,フレーム・メモリ2から読み出され,量子化回路4に入力する。量子化回路4において,画素のレベルが10の倍数となるように画素のレベルの1の位が四捨五入され1画素について量子化される。量子化された1画素分の画像データは,フレーム・メモリ2に与えられ,一時的に記憶される。量子化回路4における量子化後の入力画像データによって表される画像の一部が図3に示されている。たとえば,第1行第1列の画素P1が量子化され,量子化された画像データがフレーム・メモリ2に記憶される(画素P1の画素レベルが「24」から「20」に量子化されている)。
【0018】
量子化回路4における量子化処理において生じる量子化誤差を表すデータは,誤差拡散回路5に与えられる。量子化誤差は,図2および図3に示す例であれば,入力画像データによって表される画像の画素レベルと量子化後の画像データによって表される画素レベルとの差分である。たとえば,図2において左上の画素Pの画素レベルは「24」であり,量子化後の左上の画素Pの画素レベルは「20」となるから,量子化誤差は「4」(=「24」−「20」)となる。
【0019】
図4は,誤差拡散マトリクスの一例である。
【0020】
誤差拡散マトリクスには,第1行第2列の区画に対象画素位置の区画A2が規定されている。区画A2の回りの区画A3に誤差拡散係数(1/32,3/32,5/32,7/32)が規定されている。区画A2に誤差拡散すべき画素が当てはめられ,回りの区画A3によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【0021】
回りの区画A3に規定されている誤差拡散係数の総和は,通常使用される誤差拡散係数の総和と異なり,0より大きく1未満である。この実施例では1/2(=1/32+3/32+5/32+7/32)。
【0022】
図1に戻って,フレーム・メモリ2に記憶されている画像データが読み出され,誤差拡散回路5に与えられる。誤差拡散回路5において,上述した誤差拡散マトリクスを用いて誤差拡散が行われる。誤差拡散された画像データが再びフレーム・メモリ2に記憶される。その後,誤差拡散された画像データが再び量子化回路4に与えられ,量子化される。このように,誤差拡散および量子化が1画素ずつ順に繰り返される。入力画像データについてすべて誤差拡散および量子化が終了すると,画像出力インターフェイス3に与えられ,出力される。
【0023】
図5は,量子化処理手順を示すフローチャートである。
【0024】
上述のように画像データが画像入力インターフェイス1を介してフレーム・メモリ2に与えられ,記憶される(ステップ11)。入力画像データは,量子化回路4に与えられ,1画素分記憶される(ステップ12)。量子化された画像データは,フレーム・メモリ2に与えられ,記憶される。
【0025】
上述のように,総和が0より大きく1未満の誤差拡散係数を用いて量子化誤差が誤差拡散される(ステップ13)。入力画像データによって表される画像のすべての画素についてステップ12および13の処理が繰り返される(ステップ14)。すべての画素についてステップ12および13の処理が終了すると(ステップ14でYES),誤差拡散処理が行われ,かつ量子化された画像データが画像出力インターフェイス3から出力される(ステップ15)。
【0026】
画像データのデータ量が多いときには,総和が1の誤差拡散係数を用いて量子化誤差を誤差拡散しても比較的画質の高い画像が得られるが,画像データのデータ量が少ないときに総和が1の誤差拡散係数を用いて量子化誤差を誤差拡散すると画質が比較的低くなってしまうことがある。この実施例によると,総和が0より大きく1未満の誤差拡散係数が規定される誤差拡散マトリクスを用いて量子化誤差を誤差拡散しているので,比較的画質の良好な画像が得られる。
【0027】
(2)第2実施例
図6は,第2実施例による量子化装置の電気的構成を示すブロック図である。図6において,図2に示すものと同一物には同一符号を付し,説明を省略する。
【0028】
図6に示す量子化装置においては,図2に示すものと比較してフレーム・メモリ2に対応するデータ・フレーム・メモリ2Aが設けられているほか,誤差計算フレーム・メモリ6が設けられている。誤差計算フレーム・メモリ6は,上述した量子化誤差を記憶するものである。
【0029】
また,第1実施例における誤差拡散回路5は,総和が0より大きく1未満の誤差拡散係数が規定されている誤差拡散マトリクスを利用して誤差拡散処理が行われていたが,第2実施例における誤差拡散回路5Aにおいては,総和が1の誤差拡散係数が規定されている誤差拡散マトリクスを利用した誤差拡散処理が行われる。
【0030】
図7は,誤差拡散マトリクスの一例である。
【0031】
誤差拡散マトリクスには,第2行第2列の区画に対象画素位置の区画A4が規定されている。区画A4の回りの区画A5に誤差拡散係数が規定されている。区画A4に誤差拡散すべき画素が当てはめられ,回りの区画A5によって規定される誤差拡散係数が量子化誤差に乗じられる。誤差拡散係数が乗じられた量子化誤差が近隣の画素に加算されることにより誤差拡散が行われる。
【0032】
回りの区画A5に規定されている誤差拡散係数の総和は,図4に示した誤差拡散マトリクスにおける誤差拡散係数の総和と異なり,通常使用される誤差拡散係数の総和と同じく1である。
【0033】
図8および図9は,量子化処理を示すフローチャートである。図10(A)から(G)は,画像データの変遷を示すものである。各区画は,画素に対応している。(A)から(D)は,データ・フレーム・メモリに記憶される画像データの変遷を示し,それぞれの整数が画素レベルを示している。(E)から(G)は,誤差拡散フレーム・メモリに記憶される画像データの変遷を示し,それぞれの整数が量子化誤差または誤差拡散された量子化誤差を示している。図10(A)から(C)において,量子化すべきものとして着目している画素がフレームFrで示されている。
【0034】
上述したように,第1実施例における量子化処理は,総和が0より大きく1未満の誤差拡散係数が規定されている誤差拡散マトリクスを用いて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものであるのに対し,第2実施例における量子化処理は,量子化誤差を減衰係数を用いて減衰させて誤差拡散を行うことにより, 100%未満の誤差拡散率で誤差拡散を行うものである。
【0035】
この実施例においては,次に述べるように2回の量子化が行われる。
【0036】
入力画像データが画像入力インターフェイス1を介して入力する(ステップ21)。入力画像データは,データ・フレーム・メモリ2Aに一時的に記憶される(ステップ22)(図10(A))。入力画像データがデータ・フレーム・メモリ2Aから読み出され,量子化回路4に与えられる。量子化回路4において,1画素分の画像データが量子化(第1回目の量子化)される(ステップ23)。第1回目の量子化の場合,量子化はデータ・フレーム・メモリ2Aに記憶されず,量子化前のデータが記憶されている。第1の量子化において生じた量子化誤差は,誤差計算フレーム・メモリ6の対応する領域に記憶される(ステップ24)。たとえば,第1行第1列の区画A11の画素のレベルは入力時は「24」であるが,量子化されて「20」となる(図10(B))。画素レベル「24」のものが画素レベル「20」となるのであるから,量子化誤差は「4」である。この量子化誤差が第1行第1列の画素に対応する誤差計算フレーム・メモリ6の領域(図10(E)に示す区画A21)に記憶される。
【0037】
量子化誤差が誤差計算フレーム・メモリ6に記憶されると,他の画素の量子化誤差に誤差計算フレーム・メモリ6に記憶された量子化誤差に誤差拡散され,誤差計算フレーム・メモリ6に記憶される(ステップ25)。第1行第1列の画素の場合,図7に示す誤差拡散マトリクスを用いて誤差拡散をしても対応する位置に量子化誤差が無いので結果的に誤差拡散は行われないこととなる。したがって,以下のステップはスキップされ,隣の第1行第2列の画素について量子化等が行われることとなる(ステップ31でNO)。
【0038】
フレームFrで囲まれている第1行第2列の区画A22に記憶されている画像データ(画素レベル「24」)について第1回目の量子化が行われ(ステップ23),第1の量子化誤差「4」が誤差計算フレーム・メモリ6の対応する領域A22に記憶される(ステップ24)。領域A22に記憶された量子化誤差について図7に示す誤差拡散マトリクスを用いて誤差拡散が行われる(ステップ25)。区画A22に誤差拡散マトリクスの対象画素位置A4を当てはめると,区画A21には誤差拡散マトリクスの誤差拡散係数7/16が対応する。区画A21に記憶されている量子化誤差「4」が誤差拡散係数7/16に乗じられ,拡散値「1.75」(=4×7/16)が得られる。この拡散値「1.75」が区画A22に記憶されている量子化誤差「4」に加算されて新たな量子化誤差「5.75」として区画A22に記憶される(図10(F))。
【0039】
誤差拡散された第1の量子化誤差(上述した新たな量子化誤差「5.75」)が量子化対象画素レベル(データ・フレーム・メモリ2Aの対応する区画A12に記憶されている画像データ「24」)(図10(C))に加算される(ステップ26)(「1.75」+「24」=「25.5」)。加算値「25.5」が再量子化(第2回目の量子化)され,データ・フレーム・メモリ2Aに記憶される(ステップ27)。領域A12には,加算値「29.5」が再量子化されることにより得られた値「30」が記憶される(図10(D))。
【0040】
つづいて,第1回目の量子化により得られた第1の量子化値と第2回目の量子化により得られた第2の量子化値とが比較される(ステップ28)。
【0041】
一致していると,第2の量子化誤差が減衰係数(たとえば,0.5 )により減衰させられる。減衰されられた第2の量子化誤差が誤差計算フレーム・メモリ6に記憶される(ステップ29)。このようにして記憶された量子化誤差が利用されて以下,上述したのと同様に誤差拡散が行われる。減衰された量子化誤差が誤差計算フレーム・メモリ6に記憶させられて誤差拡散に利用されるので,第1実施例と同様に, 100%未満の誤差拡散率で誤差拡散が行われることとなる。比較的画質の良好な画像が得られることとなる。
【0042】
不一致であると,再量子化されることにより得られた値「30」の量子化誤差「−4.25」(=「25.5」−「30」),誤差計算フレーム・メモリ6の対応する区画A22に記憶される(図10(G)参照)。
【0043】
入力画像データによって表される画像のすべての画素についてステップ23から27までの処理が繰り返される(ステップ31)。全画素について上述した量子化,誤差拡散および再量子化の処理が終了すると(ステップ31でYES),画像データが画像出力インターフェイス3から出力されることとなる(ステップ32)。
【図面の簡単な説明】
【図1】量子化装置の電気的構成を示すブロック図である。
【図2】入力画像データによって表される画像の一部の画素レベルを示している。
【図3】量子化後の入力画像データによって表される画像の一部の画素レベルを示している。
【図4】誤差拡散マトリクスの一例である。
【図5】量子化処理手順を示すフローチャートである。
【図6】量子化装置の電気的構成を示すブロック図である。
【図7】誤差拡散マトリクスの一例である。
【図8】量子化処理手順の一部を示すフローチャートである。
【図9】量子化処理手順の一部を示すフローチャートである。
【図10】(A)から(G)は,画素レベルを示している。
【符号の説明】
1 画像入力インターフェイス
2 フレーム・メモリ
2A データ・フレーム・メモリ
3 画像出力インターフェイス
4 量子化回路
5,5A 誤差拡散回路
6 誤差計算フレーム・メモリ
Claims (6)
- 与えられる画像データを画素ごとに量子化する量子化手段,
上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および
上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において,上記誤差拡散手段が, 100%未満の誤差拡散率で誤差拡散することを特徴とする,
画像データ処理装置。 - 上記誤差拡散手段は,総和が1未満の誤差拡散マトリクス係数を用いて 100%未満の誤差拡散率で上記誤差拡散を行うものである,請求項1に記載の画像データ処理装置。
- 上記誤差拡散手段は,量子化誤差を減衰させる減衰手段を備え,
上記減衰手段によって減衰した量子化誤差を,誤差拡散マトリクスを用いて 100%未満の上記誤差拡散率で上記誤差拡散を行うものである,
請求項1に記載の画像データ処理装置。 - 量子化対象画素について第1の量子化を行う第1の量子化手段,
上記第1の量子化手段における第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算する第1の加算手段,
上記誤差拡散値を上記量子化対象画素の値に加算する第2の加算手段,
上記第2の加算手段における加算後の量子化対象画素について第2の量子化を行う第2の量子化手段,および
上記第1の量子化手段における第1の量子化による第1の量子化値と上記第2の量子化手段における第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算するように上記第2の加算手段を制御する制御手段,
を備えた画像データ処理装置。 - 与えられる画像データを画素ごとに量子化する量子化手段,
上記量子化手段による量子化によって生じた量子化誤差を,誤差拡散マトリクスを用いて,量子化された画像データによって表される画素の近隣の画素に,上記量子化誤差と上記誤差拡散マトリクスの誤差拡散係数とにより定まる誤差拡散率で誤差拡散する誤差拡散手段,および
上記誤差拡散手段により誤差拡散された画素を表す画像データを量子化するように上記量子化手段を制御する制御手段を備えた画像データ処理装置において,
100%未満の誤差拡散率で誤差拡散する,
画像データ処理装置の制御方法。 - 量子化対象画素について第1の量子化を行い,
第1の量子化によって生じた第1の量子化誤差に,誤差拡散マトリクスを用いて誤差拡散することにより得られる誤差拡散値を加算し,
上記誤差拡散値を上記量子化対象画素の値に加算し,
加算後の量子化対象画素について第2の量子化を行い,
第1の量子化による第1の量子化値と第2の量子化による第2の量子化値とが一致している場合に,第2の量子化により得られる第2の量子化誤差に上記誤差拡散値を加算し,不一致の場合に上記第2の量子化誤差を減衰した値に上記誤差拡散値を加算する,
画像データ処理装置の制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002226976A JP2004072293A (ja) | 2002-08-05 | 2002-08-05 | 画像データ処理装置およびその制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002226976A JP2004072293A (ja) | 2002-08-05 | 2002-08-05 | 画像データ処理装置およびその制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004072293A true JP2004072293A (ja) | 2004-03-04 |
Family
ID=32014135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002226976A Pending JP2004072293A (ja) | 2002-08-05 | 2002-08-05 | 画像データ処理装置およびその制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004072293A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8208751B2 (en) | 2008-11-27 | 2012-06-26 | Ricoh Company, Limited | Image processing apparatus, image processing method, and program |
US8559082B2 (en) | 2008-08-22 | 2013-10-15 | Ricoh Company, Ltd. | Image processing apparatus for gamma conversion of image data |
JP2015167306A (ja) * | 2014-03-04 | 2015-09-24 | セイコーエプソン株式会社 | 印刷装置、印刷用データ生成装置およびその方法、ならびに印刷用データ生成プログラム |
-
2002
- 2002-08-05 JP JP2002226976A patent/JP2004072293A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8559082B2 (en) | 2008-08-22 | 2013-10-15 | Ricoh Company, Ltd. | Image processing apparatus for gamma conversion of image data |
US8208751B2 (en) | 2008-11-27 | 2012-06-26 | Ricoh Company, Limited | Image processing apparatus, image processing method, and program |
JP2015167306A (ja) * | 2014-03-04 | 2015-09-24 | セイコーエプソン株式会社 | 印刷装置、印刷用データ生成装置およびその方法、ならびに印刷用データ生成プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5675666A (en) | Image data compression method and apparatus with pre-processing to compensate for the blocky effect | |
CA2538785C (en) | Method for simulating film grain by mosaicing pre-computed samples | |
EP0886436B1 (en) | Compression of mosaiced images | |
US6072909A (en) | Image coding devise and image decoding devise using with image disassembly | |
US20160012573A1 (en) | Method and device for selecting an image dynamic range conversion operator | |
JP4874184B2 (ja) | 画像処理装置及び画像処理方法 | |
US6141450A (en) | Image compression system using halftoning and inverse halftoning to produce base and difference layers while minimizing mean square errors | |
JP2001519988A (ja) | ビデオデータから符号化パラメータを抽出するシステム | |
US20080019600A1 (en) | Image processing apparatus and image processing method | |
US8031953B2 (en) | Method and device for encoding image data with a predetermined compression rate in one pass | |
JP2004072293A (ja) | 画像データ処理装置およびその制御方法 | |
JP3416034B2 (ja) | 符号化信号処理装置 | |
WO2010150327A1 (ja) | 画像処理装置 | |
JP2005529416A (ja) | 累積ヒストグラムの計算方法 | |
KR0150164B1 (ko) | 화상 처리장치에 있어서 오차 확산 방법에 의한 양자화 방법 및 장치 | |
US7643693B1 (en) | Fast lossless encoder for digitized analog data | |
JP4687894B2 (ja) | 画像処理装置及び画像処理プログラム | |
JP2010010768A (ja) | 画像符号化装置及び画像符号化方法 | |
JP2005524303A (ja) | 低レート・アプリケーション用ディジタル画像処理方法 | |
JP2004064456A (ja) | 画像データ処理装置およびその制御方法 | |
JPH1056639A (ja) | 画像符号化装置と画像復号化装置 | |
JP2761077B2 (ja) | ポストフィルタ | |
JP3323615B2 (ja) | 画像データ圧縮装置及び方法 | |
JP3104447B2 (ja) | 量子化方法と量子化装置 | |
JP4111108B2 (ja) | 画像処理装置及び方法 |