上述のように、従来の画像圧縮伸張装置では、圧縮画像データの符号量を変更する場合、一度、可変長復号化、ランレングス復号化、逆量子化および逆DCT変換といった画像伸張処理全てを行って復元画像を生成した後、量子化ステップ値を変更して、再度、DCT変換、量子化、ランレングス符号化および可変長符号化といった画像圧縮処理全てを行う必要がある。
この発明の目的は、圧縮画像データの符号量(圧縮率)を効率よく変更することができる符号化装置を提供することである。
この発明の1つの局面に従うと、符号化装置は、原画像データに対してDCT変換、量子化、ランレングス符号化、および可変長符号化を施して生成された圧縮画像データの符号量を変更する符号化装置であって、分離手段と、復号化手段と、サイズ変換テーブルと、サイズ変換手段と、可変長符号化手段と、多重化手段とを備える。
分離手段は、圧縮画像データを、可変長符号と、量子化ステップ値と、符号テーブル情報とに分離する。符号テーブル情報は、ラン長およびサイズの組み合わせと符号語との対応を示す情報である。復号化手段は、分離手段からの可変長符号を、符号テーブル情報に基づいて、ラン長、サイズ、および付加ビットに復号する。サイズ変換テーブルは、周波数領域およびサイズ変換量を設定する。サイズ変換手段は、復号化手段によって得られたラン長、サイズ、および付加ビットを、サイズ変換テーブルに設定された周波数領域およびサイズ変換量に基づいて変換する。可変長符号化手段は、サイズ変換手段によって変換されたラン長、サイズ、および付加ビットに対して符号テーブル情報に基づいて可変長符号化を行う。多重化手段は、可変長符号化手段によって得られた可変長符号、量子化ステップ値、および符号テーブル情報を多重化する。
上記符号化装置においては、サイズ変換手段は、復号化手段により得られたサイズのうちサイズ変換テーブルに設定された周波数領域に属するサイズの値を、当該周波数領域に対応して設定されたサイズ変換量分だけ変える。さらに、このサイズの変更に応じて付加ビット、ラン長も変える。したがって、可変長符号化手段によって得られる可変長符号の符号量は、分離手段からの可変長符号の符号量と異なる。これにより、多重化手段によって多重化された結果である圧縮画像データの符号量は、分離手段によって分離される前の圧縮画像データの符号量と異なる。
以上のように、上記符号化装置では、サイズ変換テーブルと、サイズ変換手段とを設けたため、逆量子化、逆DCT変換といった画像復元に必要な処理、および、量子化テーブルの書き換え、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
好ましくは、上記符号化装置はさらに、指定手段を備える。指定手段は、変換すべきラン長およびサイズの組み合わせを指定する。また、上記サイズ変換手段は、復号化手段によって得られたラン長およびサイズが、指定手段によって指定された組み合わせであるときに変換を行う。
サイズ変換手段によって特定の周波数領域におけるサイズを変えても、その前後において、ラン長およびサイズの組み合わせに対応する符号語の符号長が変わらない場合が存在する。このような場合には、符号量変更の大きな効果は得られない。一方、量子化ステップ値は変更されないまま、可変長符号化手段によって得られた可変長符号、符号テーブル情報とともに多重化手段によって多重化される。このため、多重化手段によって得られた圧縮画像データの復元処理を行った場合に画質の劣化が生じる。すなわち、符号量変更の効果が少ないにもかかわらず、画質の劣化が顕著に現れてしまう場合がある。
上記符号化装置においては、指定手段は、符号量変更の効果が得られるラン長およびサイズの組み合わせを変換すべき組み合わせとして指定する。また、サイズ変換手段は、復号化手段によって得られたラン長およびサイズが、指定手段によって指定された組み合わせであるときに変換を行う。したがって、圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
好ましくは、上記符号化装置はさらに、変更手段を備える。変更手段は、サイズ変換テーブルに設定された周波数領域およびサイズ変換量に基づいて量子化ステップ値を変更する。また、上記多重化手段は、変更手段によって変更された量子化ステップ値、可変長符号化手段によって得られた可変長符号、および符号テーブル情報を多重化する。
上述のように、量子化ステップ値が変更されないまま多重化手段によって多重化されると、得られた圧縮画像データの復元処理を行った場合に画質の劣化が生じる。
上記符号化装置においては、変更手段を設けたため、サイズ変換テーブルに設定された周波数領域およびサイズ変換量に基づいて量子化ステップ値が変更される。そして、変更後の量子化ステップ値が多重化手段によって多重化される。これにより、得られた圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
好ましくは、上記サイズ変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含む。輝度成分用変換テーブルは、第1の周波数領域および第1のサイズ変換量を設定する。色差成分用変換テーブルは、第2の周波数領域および第2のサイズ変換量を設定する。また、上記サイズ変換手段は、復号化手段によって得られたラン長、サイズ、および付加ビットのうち、輝度成分についてのラン長、サイズ、および付加ビットを第1の周波数領域および第1のサイズ変換量に基づいて変換する一方、色差成分についてのラン長、サイズ、および付加ビットを第2の周波数領域および第2のサイズ変換量に基づいて変換する。
一般に、人間の目は、輝度成分の変化に関しては非常に敏感であるが、色差成分の変化に関しては比較的鈍感であるという性質をもつ。
上記符号化装置においては、サイズ変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含む。したがって、輝度成分用変換テーブルに対しては、変換する周波数領域(第1の周波数領域)を狭く、かつサイズ変換量(第1のサイズ変換量)も小さな値を設定し、色差成分用変換テーブルに対しては、変換する周波数領域(第2の周波数領域)を広く、かつ、サイズ変換量(第2のサイズ変換量)も大きな値を設定することによって、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
好ましくは、上記符号化装置はさらに、サイズメモリを備える。サイズメモリは、復号化手段によって得られたラン長、サイズ、および付加ビットを記憶する。また、上記サイズ変換手段は、サイズメモリから読み出されたラン長、サイズ、および付加ビットを、サイズ変換テーブルに設定された周波数領域およびサイズ変換量に基づいて変換する。
復号化手段からのラン長、サイズ、および付加ビットは不規則なレートで発生する。しかし、上記符号化装置においては、サイズメモリを設けたため、復号化手段によって得られたラン長、サイズ、および付加ビットを一定レートで連続してサイズ変換手段に供給することができる。これにより、サイズ変換手段による変換を連続的に行うことができる。
好ましくは、上記符号化装置はさらに、符号メモリと、メモリ制御手段とを備える。符号メモリは、圧縮画像データを記憶する。メモリ制御手段は、サイズメモリおよび符号メモリに対する書き込み/読み出しを制御する。具体的には、メモリ制御手段は、サイズメモリから読み出すべきラン長、サイズ、および付加ビットが不足すると、符号メモリを読み出しモード、サイズメモリを書き込みモードにする一方、サイズメモリ中にラン長、サイズ、および付加ビットを書き込むための容量が不足すると、サイズメモリを読み出しモード、符号メモリを書き込みモードにする。
上記符号化装置においては、まず、メモリ制御手段は、符号メモリを読み出しモードに、サイズメモリを書き込みモードに制御する。これにより、符号メモリから圧縮画像データが読み出され、分離手段による処理、復号化手段による処理が行われる。そして、復号化手段によって得られたラン長、サイズ、付加ビットがサイズメモリに書き込まれる。
次いで、サイズメモリ中にラン長、サイズ、および付加ビットを書き込むための容量が不足すると、メモリ制御手段は、サイズメモリを読み出しモード、符号メモリを書き込みモードに制御する。これにより、符号メモリからの圧縮画像データの読み出しが中断される。また、それまでにサイズメモリに書き込まれたラン長、サイズ、および付加ビットが読み出され、サイズ変換手段による処理、可変長符号化手段による処理、多重化手段による処理が行われる。多重化処理の結果は符号メモリに書き込まれる。
次いで、サイズメモリから読み出すべきラン長、サイズ、および付加ビットが不足すると、メモリ制御手段は、符号メモリを読み出しモード、サイズメモリを書き込みモードに制御する。これにより、符号メモリからの圧縮画像データの読み出しが再開される。
このように、符号メモリからの圧縮画像データの読み出し、分離手段による処理、復号化手段による処理からなる一連の復号化処理と、サイズ変換手段による処理、可変長符号化手段による処理、多重化手段による処理からなる一連の符号化処理とを交互に時分割で行うことができる。したがって、1つの圧縮画像データについてのラン長、サイズ、および付加ビットをサイズメモリにすべて記憶する必要がない。この結果、サイズメモリの容量を小さくすることができる。
この発明のもう1つの局面に従うと、符号化装置は、原画像データに対してDCT変換、量子化、ランレングス符号化、および可変長符号化を施して生成された圧縮画像データの符号量を変更する符号化装置であって、分離手段と、復号化手段と、係数発生手段と、係数変換テーブルと、係数変換手段と、サイズ付加ビット発生手段と、可変長符号化手段と、多重化手段とを備える。
分離手段は、圧縮画像データを、可変長符号と、量子化ステップ値と、符号テーブル情報とに分離する。符号テーブル情報は、ラン長およびサイズの組み合わせと符号語との対応を示す情報である。復号化手段は、分離手段からの可変長符号を、符号テーブル情報に基づいて、ラン長、サイズ、および付加ビットに復号する。係数発生手段は、復号化手段によって得られたサイズおよび付加ビットに基づいて有効係数を特定する。係数変換テーブルは、周波数領域および係数変換量を設定する。係数変換手段は、復号化手段によって得られたラン長および係数発生手段によって特定された有効係数を、係数変換テーブルに設定された周波数領域および係数変換量に基づいて変換する。サイズ付加ビット発生手段は、係数変換手段によって変換された有効係数に対してサイズおよび付加ビットを割り当てる。可変長符号化手段は、係数変換手段によって変換されたラン長、サイズ付加ビット発生手段によって割り当てられたサイズおよび付加ビットに対して、符号テーブル情報に基づいて可変長符号化を行う。多重化手段は、可変長符号化手段によって得られた可変長符号と、量子化ステップ値と、符号テーブル情報とを多重化する。
上記符号化装置においては、係数変換手段は、係数発生手段により得られた有効係数のうち係数変換テーブルに設定された周波数領域に属する有効係数の値を、当該周波数領域に対応して設定された係数変換量分だけ変える。さらに、この有効係数の変更に応じてラン長も変える。したがって、サイズ付加ビット発生手段によって割り当てられるサイズおよび付加ビットは、復号化手段によって得られたサイズおよび付加ビットと異なる。さらに、可変長符号化手段によって得られる可変長符号の符号量も、分離手段からの可変長符号の符号量と異なる。この結果、多重化手段によって多重化された結果である圧縮画像データの符号量は、分離手段によって分離される前の圧縮画像データの符号量と異なる。
以上のように、上記符号化装置では、係数変換テーブルと、係数変換手段とを設けたため、逆量子化、逆DCT変換といった画像復元に必要な処理、および、量子化テーブルの書き換え、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
好ましくは、上記符号化装置はさらに、指定手段を備える。指定手段は、変換すべきラン長および有効係数の組み合わせを指定する。また、上記係数変換手段は、復号化手段によって得られたラン長および係数発生手段によって特定された有効係数が、指定手段によって指定された組み合わせであるときに変換を行う。
係数変換手段によって特定の周波数領域における有効係数の値を変えても、その前後において、ラン長およびサイズの組み合わせに対応する符号語の符号長が変わらない場合が存在する。このような場合には、符号量変更の大きな効果は得られない。一方、量子化ステップ値は変更されないまま、可変長符号化手段によって得られた可変長符号、符号テーブル情報とともに多重化手段によって多重化される。このため、多重化手段による多重化の結果得られた圧縮画像データの復元処理を行った場合に画質の劣化が生じる。すなわち、符号量変更の効果が少ないにもかかわらず、画質の劣化が顕著に現れてしまう場合がある。
上記符号化装置においては、指定手段は、符号量変更の効果が得られるラン長および有効係数の組み合わせを変換すべき組み合わせとして指定する。また、係数変換手段は、復号化手段によって得られたラン長および係数発生手段によって特定された有効係数が、指定手段によって指定された組み合わせであるときに変換を行う。したがって、圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
好ましくは、上記符号化装置はさらに、変更手段を備える。変更手段は、係数変換テーブルに設定された周波数領域および係数変換量に基づいて量子化ステップ値を変更する。また、上記多重化手段は、変更手段によって変更された量子化ステップ値、可変長符号化手段によって得られた可変長符号、および符号テーブル情報を多重化する。
上述のように、量子化ステップ値が変更されないまま多重化手段によって多重化された場合には、得られた圧縮画像データの復元処理を行った場合に画質の劣化が生じる。
上記符号化装置においては、変更手段を設けたため、係数変換テーブルに設定された周波数領域および係数変換量に基づいて量子化ステップ値が変更される。そして、変更後の量子化ステップ値が多重化手段によって多重化される。これにより、得られた圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
好ましくは、上記係数変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含む。輝度成分用変換テーブルは、第1の周波数領域および第1の係数変換量を設定する。色差成分用変換テーブルは、第2の周波数領域および第2の係数変換量を設定する。また、上記係数変換手段は、復号化手段によって得られたラン長および係数発生手段によって特定された有効係数のうち、輝度成分についてのラン長および有効係数を第1の周波数領域および第1の係数変換量に基づいて変換する一方、色差成分についてのラン長および有効係数を第2の周波数領域および第2の係数変換量に基づいて変換する。
一般に、人間の目は、輝度成分の変化に関しては非常に敏感であるが、色差成分の変化に関しては比較的鈍感であるという性質をもつ。
上記符号化装置においては、サイズ変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含む。したがって、輝度成分用変換テーブルに対しては、変換する周波数領域(第1の周波数領域)を狭く、かつ係数変換量(第1の係数変換量)も小さな値を設定し、色差成分用変換テーブルに対しては、変換する周波数領域(第2の周波数領域)を広く、かつ、係数変換量(第2の係数変換量)も大きな値を設定することによって、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
好ましくは、上記符号化装置はさらに、係数メモリを備える。係数メモリは、復号化手段によって得られたラン長および係数発生手段によって特定された有効係数を記憶する。また、上記係数変換手段は、係数メモリから読み出されたラン長および有効係数を、係数変換テーブルに設定された周波数領域および係数変換量に基づいて変換する。
復号化手段からのラン長および係数発生手段からの有効係数は不規則なレートで発生する。しかし、上記符号化装置においては、係数メモリを設けたため、復号化手段によって得られたラン長および係数発生手段からの有効係数を一定レートで連続して係数変換手段に供給することができる。これにより、係数変換手段による変換を連続的に行うことができる。
好ましくは、上記符号化装置はさらに、符号メモリと、メモリ制御手段とを備える。符号メモリは、圧縮画像データを記憶する。メモリ制御手段は、係数メモリおよび符号メモリに対する書き込み/読み出しを制御する。具体的には、メモリ制御手段は、係数メモリから読み出すべきラン長および有効係数が不足すると、符号メモリを読み出しモード、係数メモリを書き込みモードにする一方、係数メモリ中にラン長および有効係数を書き込むための容量が不足すると、係数メモリを読み出しモード、符号メモリを書き込みモードにする。
上記符号化装置においては、まず、メモリ制御手段は、符号メモリを読み出しモードに、係数メモリを書き込みモードに制御する。これにより、符号メモリから圧縮画像データが読み出され、分離手段による処理、復号化手段による処理、係数発生手段による処理が行われる。そして、復号化手段によって得られたラン長および係数発生手段により得られた有効係数が係数メモリに書き込まれる。
次いで、係数メモリ中にラン長および有効係数を書き込むための容量が不足すると、メモリ制御手段は、係数メモリを読み出しモード、符号メモリを書き込みモードに制御する。これにより、符号メモリからの圧縮画像データの読み出しが中断される。また、それまでに係数メモリに書き込まれたラン長および有効係数が読み出され、係数変換手段による処理、サイズ付加ビット発生手段による処理、可変長符号化手段による処理、多重化手段による処理が行われる。多重化手段による処理の結果は符号メモリに書き込まれる。
次いで、係数メモリから読み出すべきラン長および有効係数が不足すると、メモリ制御手段は、符号メモリを読み出しモード、係数メモリを書き込みモードに制御する。これにより、符号メモリからの圧縮画像データの読み出しが再開される。
このように、符号メモリからの圧縮画像データの読み出し、分離手段による処理、復号化手段による処理、係数発生手段による処理からなる一連の復号化処理と、係数変換手段による処理、サイズ付加ビット発生手段による処理、可変長符号化手段による処理、多重化手段による処理からなる一連の符号化処理とを交互に時分割で行うことができる。したがって、1つの圧縮画像データについてのラン長および有効係数を係数メモリにすべて記憶する必要がない。この結果、係数メモリの容量を小さくすることができる。
この発明のさらにもう1つの局面に従うと、符号化方法は、原画像データに対してDCT変換、量子化、ランレングス符号化、および可変長符号化を施して生成された圧縮画像データの符号量を変更する符号化方法であって、分離ステップと、復号ステップと、設定ステップと、変換ステップと、可変長符号化ステップと、多重化ステップとを備える。
分離ステップでは、圧縮画像データを、可変長符号と、量子化ステップ値と、符号テーブル情報とに分離する。符号テーブル情報は、ラン長およびサイズの組み合わせと符号語との対応を示す情報である。復号ステップでは、可変長符号を、符号テーブル情報に基づいて、ラン長、サイズ、および付加ビットに復号する。設定ステップでは、周波数領域およびサイズ変換量を設定する。変換ステップでは、復号ステップによって得られたラン長、サイズ、および付加ビットを、設定された周波数領域およびサイズ変換量に基づいて変換する。可変長符号化ステップでは、変換ステップによって変換されたラン長、サイズ、および付加ビットに対して符号テーブル情報に基づいて可変長符号化を行う。多重化ステップでは、可変長符号化ステップによって得られた可変長符号、量子化ステップ値、および符号テーブル情報を多重化する。
そして、この符号化方法ではさらに、多重化ステップによって得られた圧縮画像データの符号量が所望の値でないときには、設定ステップにおいて設定した周波数領域および/またはサイズ変換量を変更し、再度、変換ステップ、可変長符号化ステップ、および多重化ステップを行う。
上記符号化方法においては、変換ステップによって、復号化ステップにおいて得られたサイズのうち設定された周波数領域に属するサイズの値が、当該周波数領域に対応して設定されたサイズ変換量分だけ変わる。さらに、このサイズの変更に応じて付加ビット、ラン長も変わる。したがって、可変長符号化ステップによって得られる可変長符号の符号量は、分離ステップによって得られた可変長符号の符号量と異なる。これにより、多重化ステップによって多重化された結果である圧縮画像データの符号量は、分離ステップによって分離される前の圧縮画像データの符号量と異なる。
そして、多重化ステップによって得られた圧縮画像データの符号量が所望の値でないときには、設定ステップにおいて設定した周波数領域および/またはサイズ変換量を変更する。
例えば、生成された圧縮画像データの符号量が所望の値よりも大きくなった場合には、周波数領域をさらに拡大するように変更し、また、小さくなった場合には、周波数領域を縮小するように変更する。また、サイズ変換量に関しても同様に、所望の符号量よりも大きくなった場合には、サイズ変換量をさらに大きな値に変更し、小さくなった場合には、サイズ変換量を小さな値に変更する。設定変更に関しては、周波数領域の拡大/縮小による変更、およびサイズ変換量の増加/減少による変更のどちらでもよく、また、2つの設定変更を併用してもよい。
設定変更した後、再び、変換ステップ、可変長符号化ステップ、および多重化ステップを行う。
以上のように、上記符号化方法では、生成された圧縮画像データの符号量が所望の値になるまで、周波数領域および/またはサイズ変換量を変更して変換ステップ、可変長符号化ステップ、および多重化ステップにおける処理を繰り返し行うため、所望の符号量の圧縮画像データを得ることができる。
この発明のさらにもう1つの局面に従うと、符号化方法は、原画像データに対してDCT変換、量子化、ランレングス符号化、および可変長符号化を施して生成された圧縮画像データの符号量を変更する符号化方法であって、分離ステップと、復号ステップと、特定ステップと、設定ステップと、変換ステップと、割り当てステップと、可変長符号化ステップと、多重化ステップとを備える。
分離ステップでは、圧縮画像データを、可変長符号と、量子化ステップ値と、符号テーブル情報とに分離する。符号テーブル情報は、ラン長およびサイズの組み合わせと符号語との対応を示す情報である。復号ステップでは、可変長符号を、符号テーブル情報に基づいて、ラン長、サイズ、および付加ビットに復号する。特定ステップでは、復号ステップによって得られたサイズおよび付加ビットに基づいて有効係数を特定する。設定ステップでは、周波数領域および係数変換量を設定する。変換ステップでは、復号ステップによって得られたラン長および特定ステップによって特定された有効係数を、設定された周波数領域および係数変換量に基づいて変換する。割り当てステップでは、変換ステップによって変換された有効係数に対してサイズおよび付加ビットを割り当てる。可変長符号化ステップでは、変換ステップによって変換されたラン長、割り当てステップによって割り当てられたサイズおよび付加ビットに対して符号テーブル情報に基づいて可変長符号化を行う。多重化ステップでは、可変長符号化ステップによって得られた可変長符号、量子化ステップ値、および符号テーブル情報を多重化する。
そして、この符号化方法ではさらに、多重化ステップによって得られた圧縮画像データの符号量が所望の値でないときには、設定ステップにおいて設定した周波数領域および/または係数変換量を変更し、再度、変換ステップ、割り当てステップ、可変長符号化ステップ、および多重化ステップを行う。
上記符号化方法においては、変換ステップによって、特定ステップにおいて得られた有効係数のうち設定された周波数領域に属する有効係数の値が、当該周波数領域に対応して設定された係数変換量分だけ変わる。さらに、この有効係数の変更に応じてラン長も変わる。したがって、割り当てステップにおいて割り当てられるサイズおよび付加ビットは、復号ステップにおいて得られたサイズおよび付加ビットと異なる。さらに、可変長符号化ステップによって得られる可変長符号の符号量も、分離ステップにおいて得られた可変長符号の符号量と異なる。この結果、多重化ステップによって多重化された結果である圧縮画像データの符号量は、分離ステップにおいて分離される前の圧縮画像データの符号量と異なる。
そして、多重化ステップによって得られた圧縮画像データの符号量が所望の値でないときには、設定ステップにおいて設定した周波数領域および/または係数変換量を変更する。
例えば、新しく生成された圧縮画像データの符号量が所望の値よりも大きくなった場合には、周波数領域をさらに拡大するように変更し、また、小さくなった場合には、周波数領域を縮小するように変更する。また、係数変換量に関しても同様に、所望の符号量よりも大きくなった場合には、係数変換量をさらに大きな値に変更し、小さくなった場合には、係数変換量を小さな値に変更する。設定変更に関しては、周波数領域の拡大/縮小による変更、および係数変換量の増加/減少による変更のどちらでもよく、また、2つの設定変更を併用してもよい。
設定変更した後、再び、変換ステップ、割り当てステップ、可変長符号化ステップ、および多重化ステップを行う。
以上のように、上記符号化方法では、生成された圧縮画像データの符号量が所望の値になるまで、周波数領域および/または係数変換量を変更して変換ステップ、割り当てステップ、可変長符号化ステップ、および多重化ステップにおける処理を繰り返し行うため、所望の符号量の圧縮画像データを得ることができる。
この発明の1つの局面に従った符号化装置では、サイズ変換テーブルと、サイズ変換手段とを設けたため、逆量子化、逆DCT変換といった画像復元に必要な処理、および、量子化テーブルの書き換え、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
また、指定手段を設けたため、符号量変更の効果が得られるラン長およびサイズの組み合わせに対してのみ変換を行うことができる。したがって、圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
また、変更手段を設けたため、サイズ変換テーブルに設定された周波数領域およびサイズ変換量に基づいて量子化ステップ値が変更され、この量子化ステップ値が多重化される。これにより、得られた圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
また、サイズ変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含むため、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
また、サイズメモリを設けたため、サイズ変換手段による変換を連続的に行うことができる。
また、符号メモリと、メモリ制御手段とを設けたため、一連の復号化処理と、一連の符号化処理とを交互に時分割で行うことができる。この結果、サイズメモリの容量を小さくすることができる。
この発明のもう1つの局面に従った符号化装置は、係数変換テーブルと、係数変換手段とを設けたため、逆量子化、逆DCT変換といった画像復元に必要な処理、および、量子化テーブルの書き換え、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
また、指定手段を設けたため、符号量変更の効果が得られるラン長および有効係数の組み合わせに対してのみ変換を行うことができる。したがって、圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
また、変更手段を設けたため、係数変換テーブルに設定された周波数領域および係数変換量に基づいて量子化ステップ値が変更され、この量子化ステップ値が多重化される。これにより、得られた圧縮画像データの復元処理を行った場合に生じる画質の劣化を抑制することができる。
また、係数変換テーブルは、輝度成分用変換テーブルと、色差成分用変換テーブルとを含むため、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
また、係数メモリを設けたため、係数変換手段による変換を連続的に行うことができる。
また、符号メモリと、メモリ制御手段とを設けたため、一連の復号化処理と、一連の符号化処理とを交互に時分割で行うことができる。この結果、係数メモリの容量を小さくすることができる。
この発明のさらにもう1つの局面に従った符号化方法では、生成された圧縮画像データの符号量が所望の値になるまで、周波数領域および/またはサイズ変換量を変更して変換ステップ、可変長符号化ステップ、および多重化ステップにおける処理を繰り返し行うため、所望の符号量の圧縮画像データを得ることができる。
この発明のさらにもう1つの局面に従った符号化方法では、生成された圧縮画像データの符号量が所望の値になるまで、周波数領域および/または係数変換量を変更して変換ステップ、割り当てステップ、可変長符号化ステップ、および多重化ステップにおける処理が繰り返し行われるため、所望の符号量の圧縮画像データを得ることができる。
以下、この発明の実施の形態について図面を参照して詳しく説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。
(第1の実施形態)
図1は、この発明の第1の実施形態による画像圧縮伸長装置の全体構成を示すブロック図である。
図1を参照して、この画像圧縮伸長装置1は、画像メモリ2と、DCT変換部3と、量子化部4と、符号化部5と、多重回路6と、符号メモリ7と、分離回路8と、復号化部9と、逆量子化部10と、逆DCT変換部11と、量子化テーブル12と、符号テーブル13と、サイズメモリ14と、サイズメモリ制御部15と、メモリ制御部19と、書込端子20と、読出端子21と、切替端子22と、設定端子23とを備える。
この画像圧縮伸長装置1は、画像メモリ2に記憶された画像データを圧縮して圧縮画像データを生成する処理と、符号メモリ7に記憶された圧縮画像データを伸長して復元画像データを生成する処理と、符号メモリ7に記憶された圧縮画像データの符号量を変更する処理とを行う。
画像メモリ2は、画像データを記憶する。符号メモリ7は、圧縮画像データを記憶する。メモリ制御部19は、画像メモリ2および符号メモリ7へのデータの書き込み/読み出しを制御する。
DCT変換部3は、画像メモリ2より読み出された画像データPXLDIに対して2次元DCT変換を行う。画像データPXLDIは、8×8画素で構成されるブロック単位で読み出される。量子化テーブル12には、各DCT係数に対する量子化ステップ値が格納される。量子化部4は、量子化テーブル12に格納された量子化ステップ値に基づいて、DCT変換部3によって得られたDCT係数に対して線形量子化を行う。符号テーブル13には、ラン長およびサイズと符号語との対応を示す符号テーブル情報が格納される。符号化部5は、量子化部4によって得られたDCT係数ZZ(E)、または、サイズメモリからのラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)、に対して可変長符号化を行うことによって可変長符号CODE(E)を生成する。多重回路6は、量子化テーブル12に格納された量子化ステップの値DQT(E)、符号テーブル13に格納された符号テーブル情報DHT(E)、および符号化部5によって得られた可変長符号CODE(E)を多重化して圧縮画像データJPGDOを生成する。
分離回路8は、符号メモリ7から読み出された圧縮画像データJPGDIを、量子化ステップ値DQT(D)、ラン長およびサイズと符号語との対応を示す符号テーブル情報DHT(D)、および可変長符号CODE(D)に分離する。量子化ステップ値DQT(D)は、量子化テーブル12に設定される。符号テーブル情報DHT(D)は、符号テーブル13に設定される。復号化部9は、符号テーブル13に設定された情報に基づいて、可変長符号CODE(D)に対して可変長復号化を行い、ラン長RRRR(D)/サイズSSSS(D)および付加ビットADBIT(D)を得る。さらに、得られたラン長RRRR(D)/サイズSSSS(D)および付加ビットADBIT(D)に対してランレングス復号化を行ってDCT係数ZZ(D)を得る。サイズメモリ14は、復号化部9からのラン長RRRR(D)、サイズSSSS(D)、および付加ビットADBIT(D)を一時的に記憶する。サイズメモリ制御部15は、サイズメモリ14への書き込み/読み出しを制御する。逆量子化部10は、量子化テーブル12に設定された量子化ステップ値に基づいて、DCT係数ZZ(D)に対して線形逆量子化を行う。逆DCT変換部11は、逆量子化部10からのDCT係数に対して2次元逆DCT変換を行う。
書込端子20は、量子化テーブル12および符号テーブル13に対して設定を行うための端子である。読出端子21は、量子化テーブル12に設定された量子化ステップ値を読み出すための端子である。切替端子22は、符号化部5に含まれるサイズ選択器(図示せず)の切り替えを行うための端子である。設定端子23は、符号化部5に含まれるサイズ変換テーブル(図示せず)に対して、周波数領域およびサイズ変換量を設定するための端子である。
図2は、図1に示した符号化部5の内部構成を示すブロック図である。図2を参照して、符号化部5は、ランレングス符号化部5aと、サイズ付加ビット発生部5bと、可変長符号化部5cと、サイズ選択器5dと、サイズ変換テーブル5eと、サイズ変換部5fとを含む。
ランレングス符号化部5aは、量子化部10(図1)からのDCT係数ZZ(E)を受けて、連続するゼロの個数の長さを示すラン長RRRR(E)と、その後に続くゼロではない有効係数Sq(E)との組み合わせを生成する。サイズ付加ビット発生部5bは、有効係数Sq(E)に対してサイズSSSS(E)および付加ビットADBIT(E)を割り当てる。サイズ変換テーブル5eには、設定端子23を介して、周波数領域およびサイズ変換量が設定される。サイズ変換部5fは、サイズ変換テーブル5eに設定された周波数領域およびサイズ変換量SIZE(k)に基づいて、サイズメモリ14(図1)から読み出されたラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)の変換を行う。サイズ選択器5dは、ランレングス符号化部5aおよびサイズ/付加ビット発生部5bからのラン長RRRR(E)、サイズSSSS(E)、付加ビットADBIT(E)と、サイズ変換部5fからのラン長RRRR(C)、サイズSSSS(C)、付加ビットADBIT(C)とを選択的に出力する。可変長符号化部5cは、符号テーブル13(図1)に設定された符号テーブル情報に基づいてサイズ選択器5dからのラン長RRRR/サイズSSSSの組み合わせに対して符号語を割り当て、割り当てた符号語の直後にサイズ選択器5dからの付加ビットADBITを付加して可変長符号CODE(E)を生成する。
図3は、図1に示した復号化部9の内部構成を示すブロック図である。図3を参照して、復号化部9は、ランレングス復号化部9aと、係数発生部9bと、可変長復号化部9cとを含む。
可変長復号部9cは、分離回路8(図1)からの可変長符号CODE(D)を、符号テーブル13(図1)に設定された符号テーブル情報に基づいて、ラン長RRRR(D)、サイズSSSS(D)、付加ビットADBIT(D)に復号する。係数発生部9bは、サイズSSSS(D)および付加ビットADBIT(D)から有効係数Sq(D)を生成する。ランレングス復号化部9aは、可変長復号化部9cからのラン長RRRR(D)および係数発生部9bからの有効係数Sq(D)に基づいてDCT係数ZZ(D)を生成する。
次に、以上のように構成された画像圧縮伸長装置の動作について説明する。
[画像圧縮処理]
まず、量子化テーブル12(図1)に、図4に示すような量子化ステップ値が設定され、符号テーブル13(図1)に、図5に示すようなラン長/サイズと符号語との対応を示す符号テーブル情報が設定される。また、画像サイズやサンプリングファクタなどの一般的な圧縮時に必要な各種設定が行われる。
圧縮時の各種設定が完了した後、図6に示すような8×8画素のブロック単位の画像データPXLDIが画像メモリ2(図1)から読み出される。
画像データPXLDIはDCT変換部3(図1)に入力され、DCT変換部3によって2次元DCT変換が行われる。その結果、図7に示すようなDCT係数が得られる。図7に示すDCT係数のうち左上隅の係数は、8×8画素のブロックにおける平均値であるDC係数と呼ばれる係数である。その他の係数は、AC係数と呼ばれる係数であり、AC1〜AC63までの63個存在する。
DCT係数は、量子化部4(図1)によって、図4に示した量子化ステップ値に従って線形量子化される。量子化された後のDCT係数ZZ(E)は、図8に示すとおりである。
量子化後のDCT係数は、図9に示すようなジグザグスキャン順に、順次、ランレングス符号化部5a(図2)に供給される。そして、ランレングス符号化部5aによって、連続するゼロの係数の長さを示すラン長RRRR(E)と、その後に続くゼロでない係数を示す有効係数Sq(E)とに符号化される。
図8に示すDCT係数ZZ(E)の場合、量子化後のDCT係数は、−2、0、0、0、11、0、0、0、…のようにランレングス符号化部5aに供給される。この結果、図10に示すようなラン長RRRR(E)/有効係数Sq(E)が得られる。なお、図10においては、記号/の左側の数値がラン長RRRR(E)を示し、右側の数値が有効係数Sq(E)を示す。
有効係数Sq(E)は、サイズ付加ビット発生部5b(図2)に入力され、サイズSSSS(E)および付加ビットADBIT(E)が割り当てられる。図11に、有効係数Sq、サイズSSSS、付加ビット数の関係を示す。有効係数Sqの値は、図11に示すようにグループ化される。サイズSSSSは、有効係数Sqの値が属するグループを示す。また、あるサイズに属する有効係数のうちどの値をとるかを指定するために、サイズに等しいビット数の付加ビットが割り当てられる。
例えば、図8に示した量子化後のDCT係数のうち、24番目のAC係数(AC24)の有効係数の値は+8である。そして、図11に示すように、+8の有効係数はサイズSSSSが4のグループに属している。したがって、サイズSSSS(E)=4が割り当てられる。また、サイズSSSSが4のグループには有効係数が16個存在するため、同一サイズ内における有効係数の特定を行うために付加ビットが4ビット必要となる。付加ビット値は、図11に示す同一サイズ内の有効係数の小さい方から順に‘0000’、‘0001’、……と割り当てられる。+8の有効係数は、サイズSSSSが4のグループのうち小さい方から9番目の係数である。したがって、付加ビットADBIT(E)=‘1000’が割当てられる。
このようにして、図10に示した有効係数に対して順次サイズおよび付加ビットが割り当てられる。この結果、図12に示すようなラン長RRRR(E)/サイズSSSS(E)が得られる。なお、図12中の()内の数字は、付加ビットのビット数を示す。そして、ラン長RRRR(E)、サイズSSSS(E)、および付加ビットADBIT(E)が、サイズ選択器5d(図2)に入力される。
切替端子22(図2)からの制御信号を受けて、サイズ選択器5dは、ランレングス符号部5a(図2)からのラン長RRRR(E)、サイズ付加ビット発生部5bからのサイズSSSS(E)およびADBIT(E)を、可変長符号化部5c(図2)に出力する。
可変長符号化部5cは、符号テーブル13(図1)に設定された符号テーブル情報に基づいて、サイズ選択器5dからのラン長RRRR/サイズSSSSの組み合わせに対して符号語を順次割り当てる。そして、割り当てた符号語の直後に、サイズ付加ビット発生部5bによって割り当てられた付加ビットADBITを連結して可変長符号CODE(E)を生成する。
例えば、上述したように、図8に示した量子化後のDCT係数のうち24番目のAC係数(AC24)の有効係数の値は+8である。そして、ラン長RRRR(E)=1、サイズSSSS(E)=4、付加ビットADBIT(E)=‘1000’が割り当てられる。この場合、ラン長/サイズの組み合わせが1/4であるので、図5に示すように、9ビットの可変長符号‘111110110’が割当てられる。この9ビットの可変長符号の直後に、サイズ/付加ビット発生部より割り当てられた付加ビットADBIT(D)=‘1000’が連結されて、13ビットの可変長符号CODE(E)=‘1111101101000’が生成される。すなわち、図8における量子化後のDCT係数AC23=0、AC24=+8の2個のDCT係数に対して、13ビットの可変長符号が割り当てられることになる。このようにして、図12に示すラン長/サイズの組み合わせの各々に対して可変長符号CODE(E)が順次割り当てられる。
図8に示す量子化後のDCT係数においては、有効係数が17個存在するため、割り当てられる符号語の数は17個となる。また、1つのラン長/サイズの組み合わせに対して割り当てられる符号語の長さは、符号テーブル13に設定される符号テーブル情報によって決定される。一般的に、発生頻度が高いラン長/サイズの組み合わせに対して短い符号長の符号語が割り当てられるように設定される。例えば、図5に示した符号テーブル情報の場合、ラン長/サイズが1/4の組み合わせに対しては、9ビットの符号長を持つ符号語が割り当てられているが、1/3の組み合わせに対しては、より短い7ビットの符号長を持つ符号語が割り当てられている。これにより、短い符号長を有する1/3の組み合わせの方が、1/4の組み合わせよりもその発生頻度が高い設定となっていることが分かる。このように、発生頻度が高いラン/サイズの組み合わせに対しては短い符号長を持つ符号語を割当てることにより圧縮効率が向上する。
以上のように生成された可変長符号CODE(E)と、量子化テーブル12(図1)に設定された量子化ステップ値DQT(E)、符号テーブル13(図1)設定された符号テーブル情報DHT(E)などの圧縮時の各種情報とが、多重回路6(図1)において多重化されて圧縮画像データJPGDOが生成される。圧縮画像データJPGDOは、符号メモリ7(図1)に書き込まれる。
[符号量変更処理]
次に、符号メモリ7(図1)に記憶された圧縮画像データの符号量を変更する処理(符号量変更処理)について、図13を参照しつつ説明する。
符号メモリ7に記録されている圧縮画像データは、図1に示す画像圧縮伸長装置によって圧縮処理が施されたデータ、図1に示す画像圧縮伸長装置以外の装置によって上述の圧縮処理と同様の処理が施されたデータ(例えば、インターネットを介してダウンロードしたデータ)等である。
まず、ステップST1において、切替端子22(図2)に制御信号が与えられ、サイズ選択器5d(図2)の出力が切替られる。これにより、サイズ変換部5f(図2)からのラン長RRRR(C)、サイズSSSS(C)、および付加ビットADBIT(C)が選択されて可変長符号化部5c(図2)に出力されるようになる。
次いで、ステップST2において、設定端子23(図2)を介して周波数領域および変換量がサイズ変換テーブル5e(図2)に設定される。サイズ変換テーブル5eは、図14に示すような8×8のテーブル構成をしている。サイズ変換テーブル5eの各マスは、図8に示した量子化後のDCT係数の各マスに対応する。したがって各マスは、図中左から右へ、上から下へ向かうにつれて高い周波数に対応している。サイズの変換をしようとする周波数領域L1に対応したマスに対しては変換量(ここでは、−1または−2)を設定する。なお、後述のように、サイズ変換部5fによって、変換量−1が設定されたマスに対応する有効係数のサイズは1減少し、変換量−2が設定されたマスに対応する有効係数のサイズは2減少することになる。また、サイズを変換しない周波数領域に対応したマスに対しては0を設定する。このようにして、周波数領域L1および変換量が設定される。
次いで、ステップST3において、符号メモリ7(図1)から圧縮画像データJPGDIが読み出される。
次いで、ステップST4において、読み出された圧縮画像データJPGDIが、分離回路8(図1)によって、量子化ステップ値DQT(D)、ラン長/サイズと符号語との対応を示す符号テーブル情報DHT(D)、および可変長符号CODE(D)に分離される。そして、ステップST5において、量子化ステップ値DQT(D)が量子化テーブル12(図1)に、符号テーブル情報DHT(D)が符号テーブル13(図1)に、それぞれ設定される。量子化ステップ値DQT(D)、符号テーブル情報DHT(D)は、それぞれ、図4,図5に示したものと同様である。
次いで、ステップST6において、可変長復号化部9c(図3)は、符号テーブル13に設定された符号テーブル情報に基づいて、可変長符号CODE(D)をラン長RRRR(D)、サイズSSSS(D)、付加ビットADBIT(D)に復号する。
例えば、可変長符号CODE(E)=‘1111101101000’を復号する場合、図5に示した符号テーブル情報に基づいて、先頭から9ビットの‘111110110’のビット列からラン長RRRR(D)/サイズSSSS(D)=1/4の組み合わせが抽出される。また、抽出されたサイズSSSS(D)は4であるため、付加ビットADBIT(D)は4ビットとなる。したがって、可変長符号の先頭から9ビットのビット列の直後の4ビット‘1000’が、付加ビットADBIT(D)として抽出される。
次いで、ステップST7において、サイズメモリ制御部15(図1)はサイズメモリ14を書込みモードに制御し、これにより可変長復号化部9a(図3)によって復号されたラン長RRRR(D)、サイズSSSS(D)、付加ビットADBIT(D)がサイズメモリ14(図1)に書き込まれる。符号メモリ7(図1)に記憶された圧縮画像データ中のすべての可変長符号に対して可変長復号化までの処理(ST3−ST7)が行われ、その結果がサイズメモリ14に一時的に書き込まれる。
次いで、ステップST8において、サイズメモリ制御部15はサイズメモリ14を読み出しモードに制御し、これによりラン長RRRR(M)/サイズSSSS(M)、付加ビットADBIT(M)が順次読み出される。読み出されたラン長RRRR(M)/サイズSSSS(M)、付加ビットADBIT(M)は、サイズ変換部5f(図2)に入力される。
次いで、ステップST9において、サイズ変換部5fに入力されたラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)が、サイズ変換テーブル5eに設定された周波数領域およびサイズ変換量に基づいて順次変換される。
ここでは、図12に示したラン長RRRR(M)/サイズSSSS(M)の組み合わせがサイズ変換部5fに入力され、これを図14に示した設定値に基づいて変換する場合を例に説明する。
図12に示したラン長/サイズの組み合わせのうち、図14に示した周波数領域L1に含まれる組み合わせは、6/5,1/4,1/5,4/5,1/5,2/5である。これらの組み合わせに対応する変換量は、図14を参照して、それぞれ、−1,−1,−1,−2,−2,−2である。したがって、サイズ変換後のラン長/サイズの組み合わせは、図15に示すように、6/4,1/3,1/4,4/3,1/3,2/3となる。これら以外の組み合わせについてのサイズは変換されずそのままである。
また、サイズ変換テーブル5eを図16に示すように設定した場合には、サイズ変換後のラン長RRRR(C)/サイズSSSS(C)の組み合わせは、図17に示すようになる。ここでは、図12に示した組み合わせのうち、図16に示した周波数領域L2に含まれる組み合わせである1/4の組み合わせについては、サイズ変換によってサイズが0になる。したがって、図12に示した当該1/4の組み合わせの次の組み合わせである1/5の組み合わせにおけるラン長を1から3に変更している。すなわち、サイズ変換により変換後のサイズが0またはマイナス値になった場合は、次のラン長/サイズの組み合わせにおけるラン長を変更する。
付加ビットADBIT(M)の変換は、サイズ変換量に従ってシフト動作を行うことにより実現される。例えば、サイズ変化量が“−2”と設定されている場合には、入力された付加ビットADBIT(M)(例えば、10011)の下位2ビット(11)を無効とし、残りの上位ビット列(100)が変換後の付加ビットADBIT(C)とされる。したがって、変換後の付加ビット数は、図15中の()内に示すようになる。
なお、付加ビットの変換に関しては上述のような変換方法に限らず、例えば、入力された付加ビットADBIT(M)の最上位ビットが’0‘であれば、その後の有効ビットをすべて’0‘にし、最上位ビットが’1‘であればその後の有効ビットをすべて’1‘にするような変換を行ってもよい。すなわち、ADBIT(M)=‘10011の場合であれば、ADBIT(C)=’111‘といった具合である。
以上のようにして得られたラン長RRRR(C)、サイズSSSS(C)、付加ビットADBIT(C)が、サイズ選択器5d(図2)において選択されて可変長符号化部5c(図2)に入力される。
次いで、ステップST10において、可変長符号化部5cによって、図5に示した符号テーブル情報に基づいて、ラン長RRRR(C)/サイズSSSS(C)の組み合わせに対して可変長符号が割り当てられる。さらに、割り当てられた可変長符号の直後に付加ビットが付加されて、可変長符号CODE(E)が生成される。
ここで、図12に示したラン長/サイズの組み合わせのうち、高周波数領域側の4/5,1/5,2/5の組み合わせについて、サイズ変換前後の符号量を考えてみる。図18に示すように、ラン長/サイズを変換する前は、可変長符号が58ビット割り当てられていたのに対して、変換後は、42ビットの可変長符号が割り当てられることになる。
このように、可変長復号化部9c(図3)により得られたラン長RRRR(D)/サイズSSSS(D)、付加ビットADBIT(D)のうち、所定の周波数領域のサイズを変化させて、順次可変長符号化を行うことにより、その符号量を変更することが可能となる。
次いで、ステップST11において、可変長符号CODE(E)と、量子化テーブル12(図1)に設定された量子化ステップ値DQT(E)、符号テーブル13(図1)に設定された符号テーブル情報DHT(E)などの圧縮時の各種情報とが、多重回路6(図1)によって多重化されて圧縮画像データJPGDOが生成される。圧縮画像データJPGDOは、符号メモリ7に書き込まれる。
次いで、ステップST12において、得られた圧縮画像データの符号量が所望の値であるか否かの判断がなされる。所望の値であるときには、処理を終了する。所望の値でないときには、ステップST13に進む。
そして、ステップST13において、サイズ変換テーブル5e(図2)に設定されている周波数領域およびサイズ変換量が変更される。
例えば、生成された圧縮画像データの符号量が所望の値よりも大きくなった場合には、周波数領域をさらに拡大するように変更し、また、小さくなった場合には、周波数領域を縮小するように変更する。
また、サイズ変換量に関しても同様に、所望の符号量よりも大きくなった場合には、サイズ変換量をさらに大きな値に変更し、小さくなった場合には、サイズ変換量を小さな値に変更する。
設定変更に関しては、周波数領域の拡大/縮小による変更、およびサイズ変換量の増加/減少による変更のどちらでもよく、また、2つの設定変更を併用してもよい。
設定変更した後、再びステップST8−ST12の処理が行われる。
このように、生成された圧縮画像データの符号量が所望の値になるまで、サイズ変換テーブル5eにおける周波数領域およびサイズ変換量を変更してステップST8−ST12処理が繰り返し行われるため、所望の符号量の圧縮画像データを得ることができる。
以上のように、第1の実施形態による画像圧縮伸張装置では、サイズ変換テーブル5eと、サイズ変換部5fとを設けたため、ランレングス復号化、逆量子化、逆DCT変換といった画像復元に必要な処理、および、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
なお、第1の実施形態による画像圧縮伸張装置では、量子化テーブル12(図1)に設定される量子化ステップ値は変更されない。したがって、ラン長、サイズ、および付加ビットが変換されているにも関らず、量子化ステップ値はそのままで多重化される。このため、新しく生成された圧縮画像データに対して画像伸張処理を行った場合、復元画像の劣化が生じる。よって、サイズ変換テーブル5eに設定する周波数領域は出来るだけ高周波数領域にすることが望ましい。このようにすれば、その画質劣化の度合いを人間の目では識別できないレベルに保つことができる。
なお、符号メモリ7(図1)に格納された圧縮画像データから復元画像を得るには、以下の画像伸長処理を行う。
[画像伸長処理]
まず、符号メモリ7(図1)に格納された圧縮画像データJPGDIが読み出される。
読み出された圧縮画像データJPGDIは、分離回路8(図1)によって、量子化ステップ値DQT(D)、ラン長/サイズと符号語との対応を示す符号テーブル情報DHT(D)、可変長符号CODE(D)に分離される。量子化ステップ値DQT(D)、符号テーブル情報DHT(D)は、それぞれ量子化テーブル12、符号テーブル13に設定される。
可変長符号CODE(D)は、可変長復号化部9a(図3)に入力される。可変長復号化部9aは、符号テーブル13に設定された符号テーブル情報に基づいて、可変長符号CODE(D)をラン長RRRR(D)、サイズSSSS(D)、付加ビットADBIT(D)に復号する。
例えば、可変長符号‘1111101101000’の復号化を図5に示した符号テーブル情報に基づいて行う場合には、先頭から9ビットの‘111110110’のビット列から、ラン長RRRR(D)/サイズSSSS(D)=1/4の組み合わせが抽出される。また、抽出されたサイズSSSS(D)は4であるため、付加ビットADBIT(D)は4ビットとなる。したがって、可変長符号の先頭から9ビットのビット列の直後の4ビット‘1000’が付加ビットADBIT(D)として抽出される。
サイズSSSS(D)および付加ビットADBIT(D)は、係数発生部9b(図3)に入力される。有効係数、サイズ、付加ビットの関係は図10に示したとおりである。
図10に示したように、サイズSSSS(D)が4の場合、有効係数の取りうる値は、−15、−14、…、−8、+8、…、+14、+15の16個存在する。しかし、付加ビットADBIT(D)が‘1000’であるため、小さい方から(図中左端から)9番目の値+8がDCT係数Sq(D)として特定される。このように、サイズSSSS(D)および付加ビットADBIT(D)を用いて有効係数Sq(D)が特定される。
ラン長RRRR(D)および有効係数Sq(D)は、ランレングス復号化部9a(図3)に入力される。
ランレングス復号化部9aによって、ラン長RRRR(D)/有効係数Sq(D)の組み合わせからDCT係数が生成される。例えば、ラン長RRRR(D)/有効係数Sq(D)の組み合わせが1/+8の場合には、DCT係数0、+8が生成される。生成されたDCT係数は、図9に示したジグザグスキャン順に出力される。
DCT係数は、逆量子化部10(図1)によって、量子化テーブル12に設定された量子化ステップに基づいて逆量子化される。
逆量子化されたDTC係数はさらに、逆DCT変換部11(図1)によって、2次元逆DCT変換される。逆DCT変換の結果が復元画像データPXLDOとして画像メモリ2(図1)に順次書き込まれる。
以上のようにして圧縮画像データの伸張処理が行われる。
(第2の実施形態)
この発明の第2の実施形態による画像圧縮伸長装置は、図1および図2に示した符号化部5に代えて、図19に示す符号化部を備える。その他の構成は、図1に示した画像圧縮伸長装置と同じである。
図19を参照して、この符号化部205は、図2に示した符号化部5の構成に加えてさらに、ランサイズモニタ部5gを備える。
ランサイズモニタ部5gは、サイズメモリ14(図1)から読み出されるラン長RRRR(M)/サイズSSSS(M)が所定の組み合わせである場合には活性のイネーブル信号ENBをサイズ変換部5fへ出力し、所定の組み合わせでない場合には不活性のイネーブル信号ENBをサイズ変換部5fへ出力する。サイズ変換部5fは、活性のイネーブル信号ENBを受けたときは変換を行う一方、不活性のイネーブル信号ENBを受けたときは変換を行わない。
ここで、図1に示した符号テーブル13に、図5に示したような符号テーブル情報が設定されている場合を考える。この符号語の符号長に注目すると、第1の実施形態で説明したのと同様にして特定の周波数領域におけるサイズを変化させても、その前後におけるラン長/サイズに対して割り当てられる符号長が変わらない場合が存在する。例えば、ラン長/サイズの組み合わせが2/7である組み合わせのサイズを“−2”だけ変化させて2/5の組み合わせに対して可変長符号を割当てた場合、符号長はともに16で変わらない。変わるのは、サイズ変化に伴う付加ビット数の変化のみであり、符号量削減の大きな効果は得られない。
一方、ラン長/サイズの組み合わせに対して変換を行っても、量子化テーブル12(図1)に設定する量子化ステップ値は変更されないため、上述のように、画像の復元処理を行った場合に画質の劣化が生じる。すなわち、符号量削減の効果が少ないにもかかわらず、画質の劣化が顕著に現れてしまう場合がある。第2の実施形態では、この問題を解決することを目的とする。
以下、この発明の第2の実施形態による画像圧縮伸長装置における符号量変更処理について、図20を参照しつつ説明する。なお、ここでは、図13に示した第1の実施形態における処理とは異なるステップST21−ST23における処理についてのみ説明する。
ステップST21において、図21に示すようなラン長/サイズの組み合わせがランサイズモニタ部5g(図19)に設定される。
ステップST22において、ランサイズモニタ部5g(図19)は、サイズメモリ14(図1)から読み出されたサイズSSSS(M)が、サイズメモリ14から読み出されたラン長RRRR(M)と同じラン長に対して設定されたサイズ以上であるときには活性のイネーブル信号ENBを出力し、ステップST9に進む。そしてサイズ変換部5f(図19)によって変換が行われる。一方、当該設定されたサイズよりも小さいときには、ランサイズモニタ部5g(図19)は不活性のイネーブル信号ENBを出力し、サイズ変換部5f(図19)によるラン長/サイズの変換処理は行わずにステップST10に進む。このようにして、ランサイズモニタ部5gは、サイズメモリ14から読み出されるラン長RRRR(M)/サイズSSSS(M)の組み合わせのうち、変換すべき組み合わせを指定する。
生成された圧縮画像データの符号量が所望の値でない場合は、ステップST23において、ランサイズモニタ部5g(図19)に設定されているラン長/サイズの組み合わせを変更する。
以上のように、第2の実施形態では、ランサイズモニタ部5gを設けたため、符号量削減の効果が得られるラン/サイズの組み合わせに対してのみ変換を行うことができる。したがって、圧縮画像の復元処理を行った場合に生じる画質の劣化を抑制することができる。
(第3の実施形態)
第1の実施形態における画像圧縮伸長装置では、復号化部により得られたラン長/サイズの組み合わせに対して変換処理を行い、変換後のラン長/サイズの組み合わせに対して可変長符号化を行う。これに対し、第3の実施形態による画像圧縮伸長装置では、復号化部により得られたラン長/有効係数の組み合わせに対して変換処理を行い、変換後のラン長/有効係数の組み合わせに対して可変長符号化を行うことを特徴とする。
図22は、この発明の第3の実施形態による画像圧縮伸長装置の全体構成を示すブロック図である。図22を参照して、この画像圧縮伸長装置301は、図1に示した符号化部5、復号化部9、サイズメモリ14、およびサイズメモリ制御部15に代えて、符号化部305、復号化部309、係数メモリ16、および係数メモリ制御部17を備える。その他の構成は、図1に示した画像圧縮伸長装置と同様である。
係数メモリ16は、復号化部309からのラン長RRRR(D)、有効係数Sq(D)を一時的に記憶する。係数メモリ制御部17は、係数メモリ16への書き込み/読み出しを制御する。
図23は、図22に示した符号化部305の内部構成を示すブロック図である。図23を参照して、符号化部305は、ランレングス符号化部5aと、サイズ付加ビット発生部5bと、可変長符号化部5cと、係数選択器5hと、係数変換テーブル5iと、係数変換部5jとを含む。
係数変換テーブル5iには、設定端子23を介して、周波数領域および係数変換量が設定される。係数変換部5jは、係数メモリ16(図22)から読み出されたラン長RRRR(M)、有効係数Sq(M)を、係数変換テーブル5iに設定された周波数領域および係数変換量SFT(k)に基づいて変換する。係数選択部5hは、ランレングス符号化部5aからのラン長RRRR(E)/有効係数Sq(E)と係数変換部5jからのラン長RRRR(C)/有効係数Sq(C)とを選択的に出力する。サイズ付加ビット発生部5bは、係数選択器5hからの有効係数Sqに対してサイズSSSSおよび付加ビットADBITを割り当てる。
図24は、図22に示した復号化部309の内部構成を示すブロック図である。図24を参照して、復号化部309は、ランレングス復号化部9aと、係数発生部9bと、可変長復号化部9cとを含む。ランレングス復号化部9a、係数発生部9b、可変長復号化部9cは、図3に示したものと同様である。この復号化部309は、可変長復号化部9cからのラン長RRRR(D)と係数発生部9bからの有効係数Sq(D)とを係数メモリ16(図22)に出力する点で図3に示した復号化部と異なる。
以下、図22に示した画像圧縮伸長装置における符号量変更処理について、図25を参照しつつ説明する。
まず、ステップST31において、切替端子22(図23)に制御信号(図示せず)が与えられ、係数選択器5h(図23)の出力が切り替えられる。これにより、係数変換部5j(図23)からのラン長RRRR(C)および有効係数Sq(C)が選択されて、それぞれ、可変長符号化部5c(図23)およびサイズ付加ビット発生部5b(図23)に出力される。
次いで、ステップST32において、設定端子23(図23)を介して周波数領域および係数変換量が係数変換テーブル5i(図23)に設定される。係数変換テーブル5iは、図26に示すような8×8のテーブル構成をしている。係数変換テーブル5iの各マスは、図8に示した量子化後のDCT係数の各マスに対応する。したがって、各マスは、図中、左から右へ、上から下へ向かうにつれて高い周波数に対応している。有効係数の値を変換しようとする周波数領域L3に対応したマスに対しては係数変換量(ここでは、−1,−2)を設定する。なお、後述するように、係数変換部5jによって、係数変換量−1が設定されたマスに対応する有効係数は右に1ビットシフトさせて下位1ビットが切り捨てられ、係数変換量−2が設定されたマスに対応する有効係数は右に2ビットシフトさせて下位2ビットが切り捨てられることになる。また、有効係数の値を変換しない周波数領域に対応したマスに対しては0を設定する。このようにして、周波数領域L3および係数変換量が設定される。
次いで、ステップST33において、符号メモリ7(図22)から圧縮画像データJPGDIが読み出される。
次いで、ステップST34において、読み出された圧縮画像データJPGDIが、分離回路8(図22)によって、量子化ステップ値DQT(D)、ラン長/サイズと符号語との対応を示す符号テーブル情報DHT(D)、および可変長符号CODE(D)に分離される。そして、ステップST35において、量子化ステップ値DQT(D)が量子化テーブル12(図22)に、符号テーブル情報DHT(D)が符号テーブル13(図22)に、それぞれ設定される。量子化ステップ値DQT(D)、符号テーブル情報DHT(D)は、例えば、図4、図5に示したものと同様である。
次いで、ステップST36において、可変長復号化部9c(図24)は、符号テーブル13(図22)に設定された符号テーブル情報に基づいて、可変長符号CODE(D)をラン長RRRR(D)、サイズSSSS(D)、付加ビットADBIT(D)に復号する。
図5を参照して、例えば、可変長符号CODE(E)=‘1111101101000’を復号する場合には、先頭から9ビットの‘111110110’のビット列から、ラン長RRRR(D)/サイズSSSS(D)=1/4の組み合わせが抽出される。また、抽出されたサイズSSSS(D)は4であるため、付加ビットADBIT(D)は4ビットとなる。したがって、可変長符号の先頭から9ビットのビット列の直後の4ビット‘1000’が付加ビットADBIT(D)として抽出される。
次いで、ステップST37において、係数発生部9b(図24)は、サイズSSSS(D)および付加ビットADBIT(D)から有効係数Sq(D)を生成する。
例えば、サイズSSSS(D)が4の場合、図10に示したように、有効係数の取りうる値は、−15、−14、…、−8、+8、…、+14、+15の16個存在する。しかし、付加ビットADBIT(D)=‘1000’であるため、小さい方から(図中左端から)9番目の値+8が有効係数Sq(D)として特定される。
次いで、ステップST38において、係数メモリ制御部17(図22)は係数メモリ16(図22)を書き込みモードに制御し、これにより可変長復号化部9c(図24)からのラン長RRRR(D)および係数発生部9b(図24)からの有効係数Sq(D)が係数メモリ16(図22)に書き込まれる。すなわち、画像圧縮データ中のすべての可変長符号に対して可変長復号化までの処理を行い、その結果が係数メモリ16に一時的に書き込まれる。
次いで、ステップST39において、係数メモリ制御部17(図22)は係数メモリ16(図22)を読み出しモードに制御し、これによりラン長RRRR(M)/有効係数Sq(M)が順次読み出される。読み出されたラン長RRRR(M)/有効係数Sq(M)は、係数変換部5j(図23)に入力される。
次いで、ステップST40において、係数変換部5jに入力されたラン長RRRR(M)/有効係数Sq(M)が、係数変換テーブル5i(図23)に設定された周波数領域および係数変換量に基づいて順次変換される。
ここでは、図10に示したようなラン長RRRR(M)/有効係数Sq(M)の組み合わせが係数変換部5j(図23)に入力され、これを図26に示した設定値に基づいて変換する場合を例に説明する。
図10に示したラン長/有効係数の組み合わせのうち、図26に示した周波数領域L3に含まれる組み合わせは、9/21,1/9,1/9,1/21,6/20,1/10,1/20,4/30,1/30,2/28である。これらの組み合わせに対する係数変換量は、図26を参照して、−1,−1,−1,−1,−1,−1,−1,−2,−2,−2である。係数変換部5jは、係数変換量−1に対応する有効係数を右に1ビットシフトさせて下位1ビットを切り捨て、係数変換量−2に対応する有効係数を右に2ビットシフトさせて下位2ビットを切り捨てる。したがって、係数変換後のラン長/有効係数の組み合わせは、図27に示すように、9/10,1/4,1/4,1/10,6/10,1/5,1/10,4/8,1/8,2/7となる。これら以外の組み合わせについての有効係数は変換されずそのままである。
以上のようにして得られたラン長RRRR(C)/有効係数Sq(C)が、それぞれ、可変長符号化部5c(図23)、サイズ付加ビット発生部5b(図23)に入力される。
次いで、ステップST41において、サイズ付加ビット発生部5b(図23)によって、係数変換部5j(図23)からの有効係数Sq(C)に対してサイズおよび付加ビットが割り当てられる。有効係数とサイズおよび付加ビットとの関係は、図10に示したようになっている。したがって、有効係数がビットシフトされることによって、割り当てられるサイズが変化する。すなわち、ラン長/有効係数の組み合わせを変換することによって、ラン長/サイズの組み合わせを変更することができる。
次いで、ステップST42において、可変長符号化部5c(図23)によって、係数変換部5jからのラン長RRRRおよびサイズ付加ビット発生部5bによって割り当てられたサイズの組み合わせに対して、符号テーブル13(図22)に設定された符号テーブル情報に基づいて可変長符号が割り当てられる。さらに、割り当てられた可変長符号の直後に付加ビットが付加されて可変長符号CODE(E)が生成される。
このように、復号化部309(図22)により得られたラン長RRRR(D)/有効係数Sq(D)のうち、所定の周波数領域の有効係数の値を変化させて順次可変長符号化を行うことによって、可変長符号CODE(E)の符号量を変更する。
次いで、ステップST43において、可変長符号CODE(E)、量子化テーブル12(図22)に設定された量子化ステップ値DQT(E)、符号テーブル13(図22)に設定された符号テーブル情報DHT(E)などの圧縮時の各種情報とが、多重回路6(図22)において多重化され圧縮画像データJPGDOが生成される。圧縮画像データJPGDOは、符号メモリ7に書き込まれる。
次いで、ステップST44において、得られた圧縮画像データの符号量が所望の値であるか否かの判断がなされる。所望の値であるときには、処理を終了する。所望の値でないときには、ステップST45に進む。
そして、ステップST45において、係数変換テーブル5i(図23)に設定されている周波数領域および係数変換量を変更する。
例えば、新しく生成された圧縮画像データの符号量が所望の値よりも大きくなった場合には、周波数領域をさらに拡大するように変更し、また、小さくなった場合には、周波数領域を縮小するように変更する。
また、係数変換量に関しても同様に、所望の符号量よりも大きくなった場合には、係数変換量をさらに大きな値に変更し、小さくなった場合には、係数変換量を小さな値に変更する。
設定変更に関しては、周波数領域の拡大/縮小による変更、および係数変換量の増加/減少による変更のどちらでもよく、また、2つの設定変更を併用してもよい。
設定変更した後、再びステップST39−ST44の処理を行う。
このように、生成された圧縮画像データの符号量が所望の値になるまで、係数変換テーブル5iにおける周波数領域および係数変換量を変更してステップST39−ST44における処理を繰り返し行うことにより、所望の符号量の圧縮画像データを得ることができる。
以上のように、第3の実施形態による画像圧縮伸張装置では、係数変換テーブル5iと、係数変換部5jとを設けたため、ランレングス復号化、逆量子化、逆DCT変換といった画像復元に必要な処理、および、DCT変換、量子化、ランレングス符号化といった画像圧縮における処理を行う必要がなく、効率的に圧縮画像データの符号量を変更することができる。
なお、ここでは、量子化テーブル12に設定される量子化ステップ値は変更されない。したがって、ラン長、サイズ、および付加ビットが変換されているにも関らず、量子化ステップ値はそのままで多重化される。このため、新しく生成された圧縮画像データに対して画像伸張処理を行った場合、復元画像の劣化が生じる。よって、係数変換テーブル5iに設定する周波数領域は出来るだけ高周波数領域にすることが望ましい。このようにすれば、その画質劣化の度合いを人間の目では識別できないレベルに保つことができる。
(第4の実施形態)
この発明の第4の実施形態による画像圧縮伸長装置は、図22に示した符号化部305に代えて、図28に示す符号化部405を備える。その他の構成は、図22に示した画像圧縮伸長装置と同様である。
図28を参照して、この符号化部405は、図23に示した符号化部305の構成に加えてさらに、ラン係数モニタ部5kを備える。
ラン係数モニタ部5kは、係数メモリ16(図22)から読み出されるラン長RRRR(M)/有効係数Sq(M)が所定の組み合わせである場合には活性のイネーブル信号ENBを係数変換部5jへ出力し、所定の組み合わせでない場合には不活性のイネーブル信号ENBを係数変換部5jへ出力する。係数変換部5jは、活性のイネーブル信号ENBを受けたときはラン長/有効係数の変換を行う一方、不活性のイネーブル信号ENBを受けたときは変換を行わない。
第4の実施形態では、第2の実施形態におけるのと同様の問題を解決すること(圧縮画像の復元処理を行った場合に生じる画質の劣化を抑制すること)を目的とする。
以下、この発明の第4の実施形態による画像圧縮伸長装置における符号量変更処理について、図29を参照しつつ説明する。なお、ここでは、図25に示した第3の実施形態における処理と異なるステップST51−ST53における処理についてのみ説明する。
ステップST51において、図30に示すようなラン長/有効係数の組み合わせがラン係数モニタ部5k(図28)に設定される。
ステップST52において、ラン係数モニタ部5k(図28)は、係数メモリ16(図22)から読み出された有効係数Sq(M)が、係数メモリ16(図22)から読み出されたラン長RRRR(M)と同じラン長に対して設定された有効係数以上であるときには活性のイネーブル信号ENBを出力し、ステップST40に進む。そして係数変換部5j(図28)によって、ラン長/有効係数の変換が行われる。一方、当該設定された有効係数よりも小さいときには不活性のイネーブル信号ENBを出力し、係数変換部5j(図28)によるラン長/有効係数の変換処理は行われずにステップST41に進む。このようにして、ラン係数モニタ部5k(図28)は、係数メモリ16(図22)から読み出されるラン長RRRR(M)/有効係数Sq(M)の組み合わせのうち、変換すべき組み合わせを指定する。
生成された圧縮画像データの符号量が所望の値でない場合は、ステップST53において、ラン係数モニタ部5kに設定されているラン長/有効係数の組み合わせを変更する。
以上のように、第4の実施形態では、ラン係数モニタ部5kを設けたため、符号量削減の効果が得られるラン/有効係数の組み合わせに対してのみ変換を行うことができる。したがって、圧縮画像の復元処理を行った場合に生じる画質の劣化を抑制することができる。
(第5の実施形態)
第1の実施形態による画像圧縮伸長装置では、ラン長、サイズ、および付加ビットが変換されているにも関らず、量子化ステップ値はそのままで多重化される。このため、新しく生成された圧縮画像データに対して画像伸張処理を行った場合、復元画像の劣化が生じる。第5の実施形態による画像圧縮伸長装置はこの問題を解決することを目的とする。
図31は、この発明の第5の実施形態による画像圧縮伸長装置の全体構成を示すブロック図である。図31を参照して、この画像圧縮伸長装置501は、図1に示した画像圧縮伸長装置1の構成に加えてさらに、テーブル変換部18を備える。また、図1に示した符号化部5に代えて、図32に示す符号化部505を備える。図32に示す符号化部505は、図1に示した符号化部5と内部構成を同じくするが、サイズ変換テーブル5eに設定された周波数領域およびサイズ変換量SIZE(k)をテーブル変換部18へ供給する点が異なる。
テーブル変換部18は、サイズ変換テーブル5eに設定された周波数領域およびサイズ変換量SIZE(k)に基づいて、量子化テーブル12に設定された量子化ステップ値DQT(F)を変換して多重回路6に出力する。
ここでは、図4に示したような量子化ステップ値が量子化テーブル12(図31)に設定されており、図14に示すような周波数領域及び変換量がサイズ変換テーブル5e(図32)に設定されている場合を例に説明する。
図14においてサイズ変換量−2が設定されている周波数領域に対応するサイズSSSS(M)が4である場合、サイズ変換部5f(図32)における変換によりサイズSSSS(C)は2になる。図11を参照して、このサイズ変換に伴って、有効係数Sqの範囲は、変換前の有効係数を4で除算した値の範囲となる。すなわち、変換前は−15〜−8、8〜15であったのが、変換後は、−3(−15/4)、−2(−8/4)、2(8/4)、3(15/4)となる。したがって、図4に示した量子化ステップ値のうち、図14においてサイズ変換量−2が設定されている周波数領域に対応する量子化ステップ値に対しては、量子化ステップ値を左に2ビットシフトさせる。すなわち、サイズ変換により有効係数Sqの値が1/4倍されたことになるため、対応する量子化ステップ値を4倍に変換して出力するのである。同様に、図14においてサイズ変換量−1が設定されている周波数領域に対応する量子化ステップ値に対しては、量子化ステップ値を左に1ビットシフトさせる。すなわち、対応する量子化ステップ値を2倍に変換して出力する。
このようにしてテーブル変換部18において変換が行われ、図33に示すような変換後の量子化ステップ値DQT(C)が得られる。
次に、第5の実施形態による画像圧縮伸張装置における符号量変更処理について、図34を参照しつつ説明する。なお、ここでは、図13に示した第1の実施形態における処理と異なるステップST61における処理についてのみ説明する。
ステップST61において、テーブル変換部18(図31)は、サイズ変換テーブル5e(図32)に設定された周波数領域およびサイズ変換量SIZE(k)に基づいて、量子化テーブル12(図31)に設定された量子化ステップ値DQT(F)を変換する。ステップST12において、変換後の量子化ステップ値DQT(C)、可変長符号CODE(E)、符号テーブル13(図31)に設定された符号テーブル情報DHT(E)などの圧縮時の各種情報が多重化されて圧縮画像データJPGDOが生成される。
また、ステップST13においてサイズ変換テーブルの設定値が変更されたときには再びステップST61における処理が行われる。
以上のように、第5の実施形態による画像圧縮伸張装置では、テーブル変換部18を設けたため、サイズ変換テーブル5eの設定値に応じて量子化ステップ値が変更される。このため、生成された圧縮画像データに対して画像伸張処理を行った場合に生じる復元画像の劣化を抑制することができる。また、サイズを変換する周波数領域を出来るだけ高周波数領域に制限して設定する必要がない。
なお、テーブル変換部18は、第2−第4の実施形態による画像圧縮伸張装置においても同様に適用することができる。
(第6の実施形態)
第1−第5の実施形態における画像圧縮伸長装置では、復号化部によって得られたラン長/サイズ/付加ビットまたはラン長/有効係数を、サイズメモリまたは係数メモリに1画面分すべて書き込んだ後に、それらのデータを順次読み出してサイズや有効係数の変換を連続して行っている。しかし、このような処理を行うためには、非常に大容量のサイズメモリまたは係数メモリが必要となる。第6の実施形態では、この問題を解決することを目的とする。
図35は、この発明の第6の実施形態による画像圧縮伸長装置の主要部の構成を示すブロック図である。図35を参照して、この画像圧縮伸長装置は、図1に示したサイズメモリ14、サイズメモリ制御部15、メモリ制御部19に代えて、中間メモリ30、中間メモリ制御部40、メモリ制御部619を備えることを特徴とする。
中間メモリ30は、Mビット×Nワードの限られた小容量のメモリである。Mビット×Nワードの容量は、復号化部9によって得られたラン長RRRR(D)/サイズSSSS(D)/付加ビットADBIT(D)を1画面分合計した容量よりも小さい。中間メモリ制御部40は、中間メモリ30に対する書き込み/読み出しを制御する。メモリ制御部619は、符号メモリ7に対する書き込み/読み出しを制御する。中間メモリ制御部40とメモリ制御部619との間では、互いに信号WBUSY,RBUSY,TMODEのやりとりが行われる。
次に、以上のように構成された画像圧縮伸長装置の動作について、図35および図36を参照しつつ説明する。
まず、メモリ制御部619は、符号メモリ7に対して第1のレベルのモード指定信号JMODEを与える。第1のレベルのモード指定信号JMODEに応答して符号メモリ7は読み出しモードとなり、符号メモリ7から符号データが読み出される。これと同時に、メモリ制御部619は、中間メモリ制御部40に対して第1のレベルのモード指定信号TMODE与える。第1のレベルのモード指定信号TMODEに応答して、中間メモリ制御部40は中間メモリ30を書き込みモードにする。これにより、符号メモリ7から復号化部9に順次可変長符号が入力され、復号化が行われる。復号化部9によって得られたラン長/サイズ/付加ビットは、順次中間メモリ30に書き込まれる。
中間メモリ30の容量が一杯になり書き込みができなくなると、中間メモリ制御部40は、メモリ制御部619に対して書き込みビジー信号WBUSYを与える。書き込みビジー信号WBUSYに応答して、メモリ制御部619は、符号メモリ7に対して第2のレベルのモード指定信号JMODEを与える。第2のレベルのモード指定信号JMODEに応答して、符号メモリ7は書き込みモードとなる。また、これと同時に、メモリ制御部619は中間メモリ制御部40に対して第2のレベルのモード指定信号TMODEを与える。第2のレベルのモード指定信号TMODEに応答して、中間メモリ制御部40は中間メモリ30を読み出しモードにする。これにより、中間メモリ40に記憶されたラン長/サイズ/付加ビットが順次読み出され、符号化部5によってサイズ変換、可変長符号化が行われる。生成された可変長符号は符号メモリ7に書き込まれる。
中間メモリ30において読み出しデータが不足すると、中間メモリ制御部40は、メモリ制御部619に対して読み出しビジー信号RBUSYを与える。これに応答して、メモリ制御部619は、符号メモリ7に対して第1のレベルのモード指定信号JMODEを与える。第1のレベルのモード指定信号JMODEに応答して符号メモリ7は読み出しモードとなり、符号メモリ7から符号データが読み出される。これと同時に、メモリ制御部619は、中間メモリ制御部40に対して第1のレベルのモード指定信号TMODE与える。第1のレベルのモード指定信号TMODEに応答して、中間メモリ制御部40は中間メモリ30を書き込みモードにする。これにより、符号メモリ7から復号化部9に順次可変長符号が入力され、復号化が行われる。復号化部9によって得られたラン長/サイズ/付加ビットは、順次中間メモリ30に書き込まれる。
以下、同様の処理が繰り返される。
以上のように、第6の実施形態によれば、符号化処理と復号化処理とを交互に時分割で行うことができる。これにより、復号化により得られたラン/サイズ、付加ビットあるいはラン/有効係数を一時的に記憶させておくための記憶装置(サイズメモリ)の容量を小さくすることできる。
なお、ここでは、図1に示した画像圧縮伸長装置に適用した例を示したが、第2−第5の実施形態による画像圧縮伸張装置においても同様に適用することができる。
(第7の実施形態)
この発明の第7の実施形態による画像圧縮伸長装置は、図2に示すサイズ変換テーブル5eに代えて、図37に示すサイズ変換テーブル50eを備えることを特徴とする。
図37を参照して、サイズ変換テーブル50eは、Y成分用サイズ変換テーブル51eと、U成分用サイズ変換テーブル52eと、V成分用サイズ変換テーブル53eとを含む。
Y成分用サイズ変換テーブル51eは、輝度成分Yに対するサイズ変換テーブルである。U成分用サイズ変換テーブル52eは、色差成分のうちU成分に対するサイズ変換テーブルである。V成分用サイズ変換テーブル53eは、色差成分のうちV成分に対するサイズ変換テーブルである。それぞれのテーブル51e−53eにおける設定例を、それぞれ図38(a)−(c)に示す。
人間の目は、輝度成分(Y成分)の変化に関しては非常に敏感であるが、色差成分(U成分、V成分)の変化に関しては比較的鈍感であるという性質をもつ。したがって、図38に示すように、Y成分用サイズ変換テーブルに対しては、変換する周波数領域L5を狭く、かつサイズ変換量も小さな値を設定し、U成分およびV成分用サイズ変換テーブルに対しては、変換する周波数領域L6,L7を広く、かつ、サイズ変換量も大きな値を設定することによって、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
次に、第7の実施形態による画像圧縮伸張装置における符号量変更処理の流れについて、図39を参照しつつ説明する。なお、ここでは、図13に示した第1の実施形態における処理と異なるステップST71−ST76における処理を中心に説明する。
まず、ステップST71において、Y成分用サイズ変換テーブル51eに対して周波数領域およびサイズ変換量を設定する。例えば、図38(a)に示すように周波数領域L5およびサイズ変換量を設定する。
次いで、ステップST72において、U成分用サイズ変換テーブル52eおよびV成分用サイズ変換テーブル53eに対して周波数領域およびサイズ変換量を設定する。例えば、図38(b),(c)に示すように周波数領域L6,L7およびサイズ変換量を設定する。
次いで、ステップST3−ST8において、第1の実施の形態における処理と同様の処理がなされる。
次いで、ステップST9において、サイズ変換部5f(図2)は、Y成分のラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)を、Y成分用サイズ変換テーブル51eに設定された周波数領域およびサイズ変換量に基づいて順次変換する。また、U成分のラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)を、U成分用サイズ変換テーブル52eに設定された周波数領域およびサイズ変換量に基づいて順次変換する。また、V成分のラン長RRRR(M)、サイズSSSS(M)、付加ビットADBIT(M)を、V成分用サイズ変換テーブル53eに設定された周波数領域およびサイズ変換量に基づいて順次変換する。
次いで、ステップST10,ST11において、第1の実施の形態における処理と同様の処理がなされる。
次いで、ステップST73において、得られた圧縮画像データの画質劣化が許容範囲内であるかどうかが判断される。許容範囲内であると判断されたときはステップST12に進む。許容範囲内ではないと判断されたときはステップST74に進む。
そして、ステップST74において、Y成分用サイズ変換テーブル51eに設定されている周波数領域およびサイズ変換量を変更する。また、ステップST75において、U成分用サイズ変換テーブル52eおよびV成分用サイズ変換テーブル53eに設定されている周波数領域およびサイズ変換量を変更する。この後、ステップST8−ST73の処理を再度行う。このような処理によって、画質劣化を許容範囲内に納めることができる。
次いで、ステップST12において、得られた圧縮画像データの符号量が所望の値であるか否かの判断がなされる。所望の値であるときには、処理を終了する。所望の値でないときには、ステップST76に進む。
そして、ステップST76において、U成分用サイズ変換テーブル52eおよびV成分用サイズ変換テーブル53eに設定されている周波数領域およびサイズ変換量を変更する。そして、再びステップST8−ST12の処理を行う。このように、生成された圧縮画像データの符号量が所望の値になるまで、U成分用サイズ変換テーブル52eおよびV成分用サイズ変換テーブル53eにおける周波数領域およびサイズ変換量を変更してステップST8−ST12における処理を繰り返し行うことにより、所望の符号量の圧縮画像データを得ることができる。
以上のように、第7の実施形態による画像圧縮伸張装置では、所望の符号量の圧縮画像データを得ることができるとともに、画質の劣化の度合いを制御することができる。
なお、上述の第2,第5,第6の実施形態による画像圧縮伸張装置におけるサイズ変換テーブルに関しても同様に色成分ごとにサイズ変換テーブルを用いて構成することができる。そして、符号量を変更する手順に関しても同様の手順を用いることによって、本実施形態におけるのと同等の効果を得ることができる。
(第8の実施形態)
この発明の第8の実施形態による画像圧縮伸長装置は、図23に示す係数変換テーブル5iに代えて、図40に示す係数変換テーブル50iを備えることを特徴とする。
図40を参照して、係数変換テーブル50iは、Y成分用係数変換テーブル51iと、U成分用係数変換テーブル52iと、V成分用係数変換テーブル53iとを含む。
Y成分用係数変換テーブル51iは、輝度成分Yに対する変換テーブルである。U成分用係数変換テーブル52iは、色差成分のうちU成分に対する変換テーブルである。V成分用係数変換テーブル53iは、色差成分のうちV成分に対する変換テーブルである。それぞれのテーブル51i−53iにおける設定例を、それぞれ図41(a)−(c)に示す。
人間の目は、輝度成分(Y成分)の変化に関しては非常に敏感であるが、色差成分(U成分、V成分)の変化に関しては比較的鈍感であるという性質をもつ。したがって、図41に示すように、Y成分用係数変換テーブルに対しては、変換する周波数領域L8を狭く、かつ係数変換量も小さな値を設定し、U成分およびV成分用係数変換テーブルに対しては、変換する周波数領域L9,L10を広く、かつ、係数変換量も大きな値を設定することによって、変換による画質の劣化が人間の目に識別しずらくなるように符号量を削減することができる。
次に、第8の実施形態による画像圧縮伸張装置における符号量変更処理の流れについて、図42を参照しつつ説明する。なお、ここでは、図25に示した第3の実施形態における処理と異なるステップST81−ST86における処理を中心に説明する。
まず、ステップST81において、Y成分用係数変換テーブル51iに対して周波数領域および係数変換量を設定する。例えば、図41(a)に示すように周波数領域L8および係数変換量を設定する。
次いで、ステップST82において、U成分用係数変換テーブル52iおよびV成分用係数変換テーブル53iに対して周波数領域および係数変換量を設定する。例えば、図41(b),(c)に示すように周波数領域L9,L10および係数変換量を設定する。
次いで、ステップST33−ST39において、第3の実施の形態における処理と同様の処理がなされる。
次いで、ステップST40において、係数変換部5j(図23)は、Y成分のラン長RRRR(M)および有効係数Sq(M)を、Y成分用係数変換テーブル51iに設定された周波数領域および係数変換量に基づいて順次変換する。また、U成分のラン長RRRR(M)および有効係数Sq(M)を、U成分用係数変換テーブル52iに設定された周波数領域および係数変換量に基づいて順次変換する。また、V成分のラン長RRRR(M)および有効係数Sq(M)を、V成分用係数変換テーブル53iに設定された周波数領域および係数変換量に基づいて順次変換する。
次いで、ステップST41−ST43において、第3の実施の形態における処理と同様の処理がなされる。
次いで、ステップST83において、得られた圧縮画像データの画質劣化が許容範囲内であるかどうかが判断される。許容範囲内であると判断されたときはステップST44に進む。許容範囲内ではないと判断されたときはステップST84に進む。
そして、ステップST84において、Y成分用係数テーブル51iに設定されている周波数領域および係数変換量を変更する。また、ステップST85において、U成分用係数変換テーブル52iおよびV成分用係数変換テーブル53iに設定されている周波数領域および係数変換量を変更する。この後、ステップST39−ST83の処理を再度行う。このような処理によって、画質劣化を許容範囲内に納めることができる。
次いで、ステップST44において、得られた圧縮画像データの符号量が所望の値であるか否かの判断がなされる。所望の値であるときには、処理を終了する。所望の値でないときには、ステップST86に進む。
そして、ステップST86において、U成分用係数変換テーブル52iおよびV成分用係数変換テーブル53iに設定されている周波数領域および係数変換量を変更する。そして、再びステップST39−ST44の処理を行う。このように、生成された圧縮画像データの符号量が所望の値になるまで、U成分用係数変換テーブル52iおよびV成分用係数変換テーブル53iにおける周波数領域および係数変換量を変更してステップST39−ST44における処理を繰り返し行うことにより、所望の符号量の圧縮画像データを得ることができる。
以上のように、第8の実施形態による画像圧縮伸張装置では、所望の符号量の圧縮画像データを得ることができるとともに、画質の劣化の度合いを制御することができる。
なお、上述の第4,第6の実施形態による画像圧縮伸張装置における係数変換テーブルに関しても同様に色成分ごとの複数の係数変換テーブルを用いて構成することができる。そして、符号量を変更する手順に関しても同様の手順を用いることによって、本実施形態におけるのと同等の効果を得ることができる。