JP3845208B2 - Image compression apparatus and image expansion apparatus - Google Patents
Image compression apparatus and image expansion apparatus Download PDFInfo
- Publication number
- JP3845208B2 JP3845208B2 JP27102198A JP27102198A JP3845208B2 JP 3845208 B2 JP3845208 B2 JP 3845208B2 JP 27102198 A JP27102198 A JP 27102198A JP 27102198 A JP27102198 A JP 27102198A JP 3845208 B2 JP3845208 B2 JP 3845208B2
- Authority
- JP
- Japan
- Prior art keywords
- hadamard transform
- transform coefficient
- coefficient
- quantized
- quantization
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/004—Predictors, e.g. intraframe, interframe coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、カラー静止画像を圧縮し、伸張する画像圧縮装置および画像伸張装置に関する。
【0002】
【従来の技術】
カラー静止画像を圧縮することによって通信回路を介した画像の転送を効率的に行うため、JPEG(Joint Photographic Expert Group)方式と呼ばれる画像圧縮方式が標準化されている。JPEG方式のベースラインプロセスでは、まず画像データを離散コサイン変換することによって空間周波数成分ごとに分解し、空間周波数成分毎に表されたデータを量子化し、量子化されたデータを符号化(圧縮)する。符号化された画像データは、復号化し、逆量子化し、逆離散コサイン変換することによって伸張され、これにより元の画像が復元される。
【0003】
【発明が解決しようとする課題】
このようなJPEG方式によれば、高解像度の画像を効率的に圧縮することができるが、圧縮、伸張の過程で何らかの歪みが発生するため画質劣化が生じ、完全な原画像に復元することができない。無歪みで画像を圧縮、伸張することができる可逆符号化方式の1つとして、アダマール変換方式がある。アダマール変換方式では、画像データを直交変換し、直交変換された画像データを量子化せずに符号化することにより、画質劣化が生じることなく画像を圧縮、 伸張することができる。しかしながら、このような方式では高解像度の画像を効率的に圧縮できない。
【0004】
本発明は、高解像度の画像を効率的に圧縮すると同時に、画質劣化を生じさせないように画像を圧縮、伸張するための画像圧縮装置および画像伸張装置を得ることを目的としている。
【0005】
【課題を解決するための手段】
本発明の画像圧縮装置は、入力される静止画像に対応し、複数の画素データから構成される画像データについて、各画素データ毎に、隣接する画素データから予測値を生成する予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、差分値をアダマール変換することにより、アダマール変換係数を求めるアダマール変換手段と、アダマール変換係数を量子化テーブルに基いて量子化することにより、量子化アダマール変換係数を求める量子化手段と、量子化アダマール変換係数を符号化することにより、圧縮画像データを求める符号化手段とを備えたことを特徴とする。
【0006】
予測値生成手段が、符号化対象である画素データの1つ左隣の画素データを予測値とすることが望ましい。また量子化テーブルは、2の累乗である量子化係数から構成される8行8列の行列であることが望ましい。
【0007】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、量子化アダマール変換係数を求める復号化手段と、量子化アダマール変換係数を逆量子化することにより、逆量子化アダマール変換係数を求める逆量子化手段と、逆量子化アダマール変換係数を補正係数に変換する補正係数作成手段と、補正係数を逆アダマール変換することにより、差分値を求める逆アダマール変換手段と、差分値と予測値の差をとることにより順次画素データを復元し、画像データを求める手段とを備えたことを特徴とする。
【0008】
補正係数作成手段において、補正係数が逆量子化アダマール変換係数を2の累乗で除算したときの剰余データによって求められることが望ましい。
【0009】
逆量子化アダマール変換係数が、2、4、8、16、32、64の順番に除算され、それぞれの剰余データが求められることが望ましい。
【0010】
補正係数作成手段において、逆量子化アダマール変換係数の符号、および剰余データの数値と符号とに基いて、逆量子化アダマール変換係数を予め定められた所定値分だけ増減させることにより、補正係数が求められることが望ましい。
【0011】
補正係数作成手段において、剰余データが0の場合には、逆量子化アダマール変換係数を補正係数とすることが望ましい。
【0012】
本発明の画像圧縮装置は、入力される静止画像に対応し、複数の画素データから構成される画像データについて、各画素データ毎に、隣接する画素データから予測値を生成する予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、差分値をアダマール変換することにより、アダマール変換係数を求めるアダマール変換手段と、アダマール変換係数を量子化テーブルに基いて量子化することにより、ビット列で表される量子化アダマール変換係数を求める量子化手段と、量子化アダマール変換係数のビット列をビット配分テーブルに基いて上位ビット列と下位ビット列に分離し、上位ビット列で表される上位量子化アダマール変換係数と下位ビット列で表される下位量子化アダマール変換係数とを求める手段と、上位量子化アダマール変換係数を符号化することにより、圧縮画像データを求める符号化手段とを備えたことを特徴とする。
【0013】
ビット配分テーブルは、ビット分離手段により分離される下位ビット列のビット数を表すビット配分係数から構成される8行8列の行列であることが望ましい。
【0014】
ビット分離手段は、量子化アダマール変換係数のビット列を右シフト演算し、右シフト演算により変換される量子化アダマール変換係数のビット列を上位ビット列、右シフト演算により分離される下位ビットを下位ビット列とすることが望ましい。
【0015】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、上位量子化アダマール変換係数を求める復号化手段と、上位量子化アダマール変換係数と下位量子化アダマール変換係数をビット配分テーブルに基いてビット合成することにより、量子化アダマール変換係数を求めるビット合成手段と、量子化アダマール変換係数を逆量子化することにより、逆量子化アダマール変換係数を求める逆量子化手段と、逆量子化アダマール変換係数を補正係数に変換する補正係数作成手段と、補正係数を逆アダマール変換することにより、差分値を求める逆アダマール変換手段と、差分値と予測値の差をとることにより順次画素データを復元し、画像データを求める手段とを備えたことを特徴とする。
【0016】
ビット合成手段は、上位量子化アダマール変換係数のビット列を左シフト演算し、左シフト演算により空白になる部分に下位ビット列を当てはめることで量子化アダマール変換係数を求めることが望ましい。
【0017】
【発明の実施の形態】
以下、本発明の実施形態である画像圧縮装置および画像伸張装置について図面を参照して説明する。
図1〜図19は第1の実施形態である画像圧縮装置および画像伸張装置に関する図であり、図1は、画像圧縮装置のブロック図である。
【0018】
被写体像S( 静止画像)は、レンズ19を介して撮像素子18の受光面上に結像される。撮像素子18の受光面には光電変換素子が配設され、光電変換素子の上面にはレッド(R)、グリーン(G)、ブルー(B)の各色フィルタ要素からなるカラーフィルタが設けられている。各光電変換素子は1つの画素データに対応しており、被写体像Sは各光電変換素子によって所定の色に対応した電気的な画像信号に変換される。そして画像信号は、A/D変換器( 図示せず)においてアナログ信号からデジタル信号に変換される。
【0019】
デジタル化された画像信号は、信号処理回路(図示せず)において輝度データY、色差データCb、Crに変換されて画像メモリ17に画像データとして記録される。画像メモリ17には、輝度データYおよび色差データCb、Crがそれぞれ独立した領域に格納されており、各メモリ領域は1画像分の記憶容量を有している。輝度データYおよび色差データCb、Crは、画像圧縮装置10に対する入力データである。
【0020】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。
【0021】
輝度データYおよび色差データCb,Crは、画像メモリ17から読み出され、画像圧縮装置10に送られる。画像圧縮装置10は、予測値生成部11、差分値生成部12、アダマール変換部13、量子化部14、ジグザグスキャン部15、ハフマン符号化部16から構成されている。また、輝度データYおよび色差データCb,Crは、画像圧縮装置10内においてそれぞれ別々に処理される。
【0022】
各ブロックにおける輝度データYおよび色差データCb,Crの画素データに基づき、予測値が予測値生成部11において求められる。予測値は、符号化対象である画素データの値を隣接する画素データに基づいて予測した値である。
【0023】
輝度データYおよび色差データCb,Crの画素データは、差分値生成部12において差分値に変換される。この差分値は、 予測値生成部11において得られた予測値と実際の画素データとの差分をとることにより求められる。
【0024】
輝度データYおよび色差データCb,Crの差分値は、アダマール変換部13においてアダマール変換され、アダマール変換係数に変換される。アダマール変換は直交変換の1つであり、画像データを空間周波数成分毎に分解する。
【0025】
輝度データYおよび色差データCb,Crのアダマール変換係数は、量子化部14において量子化テーブルQに基いて量子化され、量子化アダマール変換係数に変換される。この量子化は線形量子化であり、2の累乗である量子化係数から構成された8×8のマトリクスである量子化テーブルQを用いて行われる。すなわち、各アダマール変換係数がそれぞれ対応する量子化係数で除算され、余りが丸められる。量子化テーブルとして、輝度データ用の量子化テーブルQy 、色差データCb,Cr用の量子化テーブルQc がそれぞれ設けられている。
【0026】
輝度データYおよび色差データCb,Crの量子化アダマール変換係数で構成される各ブロックは、ジグザグスキャン部15においてジグザグスキャンされ、これにより量子化アダマール変換係数が1次元の列に並べられる。
【0027】
1次元の列に並べられた輝度データYおよび色差データCb,Crの量子化アダマール変換係数は、ハフマン符号化部16において符号化(圧縮)され、圧縮画像データが求められる。符号化に関しては、JPEGアルゴリズムに準拠したハフマン符号化を適用する。圧縮画像データは、記録媒体Mの圧縮画像データ記録領域M2に記録され、また輝度データY用の量子化テーブルQy と色差データ用の量子化テーブルQc は、記録媒体Mの量子化テーブル記録領域M1に記録される。
【0028】
図2、図3を用いて1つの画素ブロックに対する圧縮処理を説明する。ここでは、輝度データYの画素ブロックを対象とする。
【0029】
図2では、画素ブロックPと、予測値行列Eと、差分値行列Dがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ画素値(画素データを、以下では画素値とする)Pyx、予測値Eyx,差分値Dyxと表される。
【0030】
画素値Pyx、予測値Eyx、差分値Dyxにおいて、添字yは縦方向の位置を表し、上から0,1,2,・・・7である。また、添字xは横方向の位置を表し、左から0,1,2,・・・7である。例えば、x=1、y=1の場合、画素値Pyx=162である。
【0031】
まず符号化対象の画素値Pyxに対し、隣接する画素値Pyxに基いて予測値Eyxが求められる。予測値Eyxの算出方法は幾つか知られているが、ここでは符号化対象である画素値Pyxの1つ左隣の画素値Pyx-1をそのまま予測値Eyxとする方法(前値予測)で予測値Eyxを求める。ただし、画素ブロックPにおいて最左端の列に位置する画素値Py0に対する予測値Ey0は、1つ左隣の画素ブロックPにおいて最右端の列に位置する画素値Py7から求められる。
【0032】
例えば、符号化対象である画素値P17(=132)の1つ左隣である画素値P16(=134)が予測値E17(=134)となる。
【0033】
次に予測値Eyxとそれに対応する実際の画素値Pyxに基き、画素値Pyxが差分値Dyxに変換される。すなわち、予測値Eyxから画素値Pyxが減算され、差分値Dyxが求められる。
【0034】
例えば、予測値E17(=134)から画素値P17=(132)が引かれることにより、差分値D17(=2)が求められる。
【0035】
図3には、差分値行列Dと、アダマール変換係数行列Aと、量子化テーブルQと、量子化アダマール変換係数行列Bがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ差分値Dyx、アダマール変換係数Avu,量子化係数Qvu、量子化アダマール変換係数Bvuと表される。
【0036】
アダマール変換係数Avu、量子化係数Qvu、量子化アダマール変換係数Bvuにおける添字vは、添字yと同じように縦方向の位置を示し、上から0,1,2,・・・7である。また添字uは、添字xと同じように横方向の位置を示し、左から0,1,2,・・・7である。例えば、v=1、u=1の場合、アダマール変換係数A11=−55である。
【0037】
差分値Dyxはアダマール変換され、アダマール変換係数Avuに変換される。アダマール変換は次の(1)式によって表される。
【0038】
【数2】
【0039】
(1)式においてHuxおよびHvyは(1)式の下に示されたウォルシュ−アダマール行列Hの要素であり、{1/(2・21/2 )} または{−1/(2・21/2 )}のいずれかの値となる。Huxにおいて添字u,xはそれぞれ行列Hの縦、横方向を表し、Hvyにおける添字v、yも同様に行列Hの縦、横方向を表す。
【0040】
アダマール変換係数行列Aのなかで位置(0,0)にあるアダマール変換係数A00はDC成分であり、残りの位置にあるアダマール変換係数AvuはAC成分である。DC成分は差分値行列Dにおける差分値Dyxの合計を表し、空間周波数は0である。一方AC成分は、アダマール変換係数A01ないしA10からアダマール変換係数A77の方向に向かって、より高い空間周波数成分の値が差分値行列Dの中にどれほどあるかを表す。このように差分値行列Dは、アダマール変換によって空間周波数成分毎に分解される。
【0041】
各画素値Pvu間には相関関係があることから、差分値行列Bにおける各差分値Dvu間には、大きな値の差が生じない。そのため、アダマール変換により得られるアダマール変換係数Avuの多くは平均的な空間周波数の値となり、アダマール変換係数行列Aにおける高周波数成分のアダマール変換係数Avuは小さい。
【0042】
各アダマール変換係数Avuは量子化され、量子化係数Qvuによって量子化アダマール変換係数Bvuに変換される。すなわち、各アダマール変換係数Avuがそれぞれ対応する量子化係数Qvuで除算され、余りが丸められる(四捨五入される)。例えば、アダマール変換係数A11(=−55)が量子化係数Q11(=4)で除算され、余りが丸められて量子化アダマール変換係数B11(=−14)が求められる。
【0043】
量子化において用いられる量子化テーブルQは、2m (m=0,1,2,・・・)と表される量子化係数Qvuから構成されている。また、量子化テーブルQは対称行列であり、
Qvu= Quv(v≠u)
となる。
【0044】
量子化アダマール変換係数行列Bは図4に示すようにジグザグスキャンされ、これにより量子化アダマール変換係数Bvuが1次元の列に並べられる。この1次元の列は、DC成分の量子化アダマール変換係数B00から始まり、矢印の方向の順に量子化アダマール変換係数Bvuが並べられた列である。
【0045】
1次元の列に並べられた量子化アダマール変換係数Bvuに対し、ゼロランがカウントされ、またグループ表(図示せず)に基きグループ番号と付加ビットが求められる。そしてグループ番号と1次元の列においてカウントされるゼロラン長(ゼロの連続する長さ)に基きハフマンテーブル(図示せず)を参照することにより、ハフマン符号語が求められる。そしてこのハフマン符号語と付加ビットが組み合わされることにより、符号化データ(圧縮画像データ)が求められ、記録媒体に記録される。
【0046】
アダマール変換係数行列Aにおける高周波数成分のアダマール変換係数Avuが小さいことから、量子化アダマール変換係数Bvuの1次元の列ではゼロの出現頻度が高い。そのためゼロランが(連続するゼロ)が多くなるとともにゼロラン長が長くなり、符号化により得られる圧縮画像データのビット数、すなわち情報量が少なくなる。
【0047】
このように画素値Pyxの代わりに差分値Dyxを符号化対象および直交変換することにより、画像を効率的に圧縮することができる。
【0048】
図5は、第1の実施形態である画像伸張装置のブロック図である。この画像伸張装置は、第1の実施形態である画像圧縮装置により圧縮された画像データを復元する装置である。
【0049】
記録媒体Mの圧縮画像データ記録領域M2に記録された圧縮画像データが読み出され、画像伸張装置20に送られる。画像伸張装置20は、ハフマン復号化部21、マトリクス化部22、逆量子化部23、補正係数作成部24、逆アダマール変換部25、画素データ生成部26、予測値生成部27から構成されている。
【0050】
輝度データYおよび色差データCb,Crの圧縮画像データは、ハフマン復号化部21においてハフマン復号化され、1次元の列に並べられた量子化アダマール変換係数が求められる。ハフマン復号化は、ハフマン符号化とは逆の作用である。
【0051】
1次元の列に並べられた量子化アダマール変換係数はマトリクス化部22においてマトリクス化(ジグザグスキャンの逆作用)され、これにより量子化アダマール変換係数のブロックが生成される。
【0052】
輝度データYおよび色差データCb,Crの量子化アダマール変換係数は、逆量子化部23において量子化テーブルQを用いて逆量子化され、逆量子化アダマール変換係数に変換される。すなわち、量子化アダマール変換係数に対し対応する量子化係数が掛け算され、逆量子化アダマール変換係数が求められる。
【0053】
輝度データYおよび色差データCb,Crの逆量子化アダマール変換係数は、補正係数作成部24において補正係数に変換される。補正係数は、アダマール変換係数と同値である。
【0054】
輝度データYおよび色差データCb、Crの補正係数は、逆アダマール変換部25において差分値に変換される。逆アダマール変換は、アダマール変換と逆の作用である。
【0055】
差分値と予測値生成部27において生成される予測値に基き、画素データが画素データ生成部26において復元される。すなわち、すでに復元された画素データに基いた予測値と差分値との差をとることにより、画素データが求められる。求められた画素データは予測値生成部27に送られ、次に復元される画素データに対する予測値の算出に用いられる。
【0056】
順次画素データが復元されることにより、輝度データYおよび色差データCb,Crの画像データが復元され、画像データが画像メモリ17に送られる。
【0057】
図6、図7を用いて圧縮画像データに対する伸張処理を説明する。ここでは、輝度データYの圧縮画像データを対象とする。
【0058】
図6には、量子化アダマール変換係数行列Bと、量子化テーブルQと、逆量子化アダマール変換係数行列A’と、補正係数行列A”(アダマール変換係数行列A)と、差分値行列Dとが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ量子化アダマール変換係数Bvu、量子化係数Qvu、逆量子化アダマール変換係数A’vu、補正係数A”vu,差分値行列Dyxと表される。
【0059】
圧縮画像データに基きハフマンテーブルを参照することにより、グループ番号とゼロラン長が求められる。求められたグループ番号、ゼロラン長と符号ビットに基いてグループ表を参照することにより、1次元の列に並べられた量子化アダマール変換係数Bvuが求められる。そして、量子化アダマール変換係数Bvuはマトリクス化され、これにより量子化アダマール変換係数行列Bが生成される。
【0060】
量子化アダマール変換係数Bは量子化テーブルQを用いて逆量子化され、これにより逆量子化アダマール変換係数A’が求められる。すなわち、量子化アダマール変換係数Bvuに対して対応する量子化係数Qvuが乗じられ、逆量子化アダマール変換係数A’vuが求められる。
【0061】
例えば、量子化アダマール変換係数B11(=−14)に対して量子化係数Q11(=4)が乗じられることにより、逆量子化アダマール変換係数A’11(=−56)が求められる。
【0062】
圧縮処理における量子化では、アダマール変換係数Avuに対する除算の余りを四捨五入する。そのため、逆量子化により得られる逆量子化アダマール変換係数A’vuには量子化(丸め)誤差が生じ、逆量子化アダマール変換係数A’vuとアダマール変換係数Avuは必ずしも同値ではない。例えば、図3で示されたアダマール変換係数A11(=−55)に対応する逆量子化アダマール変換係数A’11(=−56)には、量子化誤差が生じている。
【0063】
そのため第1の実施形態においては、逆量子化アダマール変換係数A’vuに対し量子化誤差が修正され、補正係数A”vuが作成される。この補正係数A”vuは、アダマール変換係数Avuと同値である。すなわち、補正係数作成処理により、量子化誤差のある逆量子化アダマール変換係数A’vuから量子化誤差のない補正係数A”vuに変換される。補正係数作成処理に関しては、後述する。
【0064】
補正係数A”vuは逆アダマール変換され、差分値Dyxが求められる。逆アダマール変換は、次の(2)式で表される。
【0065】
【数3】
【0066】
(2)式においてHuxおよびHvyは、(2)式の下に示されたウォルシュ−アダマール行列Hの要素である。この逆アダマール変換は、アダマール変換とは逆の作用である。
【0067】
図7では、差分値行列Dと、画素ブロックPと、予測値行列Eがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ差分値Dyx,画素値Pyx、予測値Eyxと表される。
【0068】
差分値Dyxとそれに対応する予測値Eyxから、画素値Pyxが求められる。すなわち、予測値Eyxから差分値Dyxが引き算されることで、画素値Pyxが求められる。画素値Pyxは、画素ブロックPにおいて順々に復元され、復元された画素値Pyxが次に復元される画素値Pyxに対する予測値Eyxとなる。
【0069】
例えば、予測値E44(=167)から差分値D44(=4)が引き算されることにより、画素値P44(=163)が求められる。画素値P44は、次に復元される画素値P45に対する予測値E45(=163)となる。
【0070】
このように順次画素値Pyxが復元されていくことで、画素ブロックPが復元される。
【0071】
図8〜図19を用いて、補正係数作成処理について説明する。
【0072】
図8、図9は補正係数作成処理を示すフローチャートである。図10〜図13は補正係数作成処理の一部を詳細に示すフローチャートである。即ち、図10は図8に示すステップ110のサブルーチンである。同様に、図11は図8に示すステップ120のサブルーチン、図12は図8に示すステップ130のサブルーチン、図13は図8に示すステップ140のサブルーチンである。
【0073】
アダマール変換では、(1)式に示す行列Hの各要素は{1/(2・21/2 )}または{−1/(2・21/2 )}のみであるが、(1)式の結果としてアダマール変換係数Avuは差分値Dyxの加減算で表すことができる。補正係数作成処理では、このアダマール変換の特性と量子化係数Qvuが2の累乗で表されることを利用して、逆量子化アダマール変換係数A’vuを2の累乗で割ったときの余り即ち剰余と、逆量子化アダマール変換係数A’vuの各係数の相関関係とから、逆量子化アダマール変換係数A’vuを補正して補正係数A”vuを作成する。なお、本実施形態で行なわれる剰余計算において、剰余の符号は割られる数、即ち逆量子化アダマール変換係数A’vuと同符号で示される。例えば−118の4の剰余は−2である。
【0074】
補正係数作成処理がスタートし、まずステップ102が実行される。ステップ102では、逆量子化アダマール変換係数A’00が補正係数A”00に定められる。アダマール変換係数A00は、量子化係数Q00、即ち1で除算・乗算されるので、逆量子化アダマール変換係数A’00と常に同じ値であり、アダマール変換係数A00と逆量子化アダマール変換係数A’00との誤差は生じない。従って逆量子化アダマール変換係数A’00が補正係数A”00に定められる。例えば図6に示すように逆量子化アダマール変換係数A’00が159であれば、補正係数A”00は159に定められる。
【0075】
ステップ102が終了すると、ステップ110の第1の係数更新処理が実行される。ステップ110では、補正係数A”00を2で割ったときの余り、即ち2の剰余M2 00により、残り63個の逆量子化アダマール変換係数A’vu(A00以外)が更新される。
【0076】
図10は第1の係数更新処理(ステップ110)を詳細に示すフローチャートである。図10には示さないが、第1の係数更新処理は63個の逆量子化アダマール変換係数A’vu(A00以外)について繰り返し行なわれる。
【0077】
図14(a)は一例として図3に示すアダマール変換係数Avuの2の剰余M2 vu(以下、剰余M2 vuという)を示す図である。なお、図14(a)の網掛け部分はステップ102において求められた既知の剰余M2 vuを示し、丸付き数字はこの既知の剰余M2 vuから導出される補正係数A”vuに対応した剰余M2 vuを示す。8×8のマトリクスにおける丸付き数字の位置は、値が2である量子化係数Qvuの位置と対応している。図14(a)に示される既知の剰余M2 vuから、対応した位置の補正係数A”vuがそれぞれ導出されるが、導出する処理(ステップ120)は後で詳述する。図14(b)は補正係数A”vuを示す図であり、網掛け部分の数字はステップ110の実行前に求められた補正係数A”vuを、網掛けされていない数字はステップ110およびステップ120の実行により求められる補正係数A”vuを示す。
【0078】
アダマール変換係数Avuの任意の2つを加算した値は常に偶数である、即ちアダマール変換係数Avuは全て偶数か、全て奇数かのどちらかである。また逆量子化アダマール変換係数A’vu(A00以外)は、2の累乗で乗算されたものであり、必ず偶数である。従って、補正係数A”00が偶数であれば誤差はないが、補正係数A”00が奇数の場合、逆量子化アダマール変換係数A’vu(A00以外)は量子化・逆量子化による誤差を有している。
【0079】
まず、ステップ112において補正係数A”vuの2の剰余M2 vuが(3)式により求められる。
【0080】
M2 00=A”00 mod 2 ・・・(3)
|M2 vu|=|M2 00|
【0081】
ステップ114では剰余M2 00の絶対値が1であるか、即ち補正係数A”00が奇数か否かが判定される。剰余M2 00の絶対値が1であれば、他の剰余M2 vuの絶対値も1に決定され、ステップ116が実行される。ステップ116では、逆量子化アダマール変換係数A’vu(A00以外)に1が加算されることにより逆量子化アダマール変換係数A’vuが更新され、第1の係数更新処理が終了する。剰余M2 00の絶対値が1でない、即ち剰余M2 00が0であれば、他の剰余M2 vuも0に決定され、逆量子化アダマール変換係数A’vu(A00以外)の数値はそのままで第1の係数更新処理が終了し、その後ステップ120が実行される。
【0082】
例えば、図6に示すように補正係数A”00が159ならば、図14(a)に示すように剰余M2 vuは1あるいは−1に決定され、偶数である他の逆量子化アダマール変換係数A’vuは1が加算され、全て奇数に変更される。図示しないが、補正係数A”00が例えば160といった偶数であれば、剰余M2 vuの絶対値は全て0に決定され、逆量子化アダマール変換係数A’vuの数値は変わらない。
【0083】
ステップ110が終了すると、ステップ120の第1の補正係数作成処理が実行される。ステップ120では、ステップ110で更新された逆量子化アダマール変換係数A’vuと剰余M2 vuに基づいて、図14(b)に示されるように6個の補正係数A”01、A”02、A”04、A”10、A”20、A”40が作成される。
【0084】
6個の逆量子化アダマール変換係数A’01、A’02、A’04、A’10、A’20、A’40は、それぞれアダマール変換係数A01、A02、A04、A10、A20、A40を、対応した量子化係数Q01、Q02、Q04、Q10、Q20、Q40によって、量子化・逆量子化されている。即ちこれら6個の逆量子化アダマール変換係数A’vuは、全てアダマール変換係数Avuを2(量子化係数Qvu)で割り、小数点以下を四捨五入したものに、また2(量子化係数Qvu)を掛け合わせて求められる。
【0085】
従ってアダマール変換係数Avuが偶数ならば、対応する逆量子化アダマール変換係数A’vuと一致する。例えばアダマール変換係数Avuが16であれば、逆量子化アダマール変換係数A’vuも16である。
【0086】
これに対し、アダマール変換係数Avuが正の奇数であれば、量子化・逆量子化によって1増加しており、さらにステップ116によって1加算されるので、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuよりも2大きくなる。例えばアダマール変換係数Avuが15であれば、round 15÷2=8(量子化)、8×2=16(逆量子化)を経て、逆量子化アダマール変換係数A’vuは16となり、ステップ116において17になる。なお、round は最も近い整数への近似を表す。
【0087】
アダマール変換係数Avuが負の奇数の場合、量子化・逆量子化によって1減少する(絶対値が1増加する)が、ステップ116において1加算されることにより打ち消しあっているので、偶数の場合と同様、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuと一致する。例えばアダマール変換係数Avuが(−15)であれば、round {(−15)÷2}=−8(量子化)、(−8)×2=−16(逆量子化)を経て、逆量子化アダマール変換係数A’vuは(−16)となり、ステップ116において(−15)に戻る。以上のことを利用して、ステップ120が実行される。
【0088】
図11は第1の補正係数作成処理(ステップ120)を詳細に示すフローチャートである。図11の処理は(v,u)が(0,1)、(0,2)、(0,4)、(1,0)、(2,0)、(4,0)の6個の組み合わせについてそれぞれ順に実行される。例えばA”01を求める場合、図11のフローチャートにおいてv=0、u=1として実行される。
【0089】
まずステップ121が実行され、2の剰余M2 vuが更新される。即ち、ステップ110によって更新された逆量子化アダマール変換係数A’vuに基づいて剰余M2 vuが新たに求められ、ステップ112で決定された剰余M2 vuと置き換えられる。次にステップ122が実行される。ステップ122では、ステップ121で更新された剰余M2 vuが0か否かが判定される。逆量子化アダマール変換係数A’vuの2の剰余が0、即ち逆量子化アダマール変換係数A’vuが偶数であると判定されるとステップ128が実行される。逆量子化アダマール変換係数A’vuが奇数と判定されるとステップ124が実行される。
【0090】
ステップ124では、逆量子化アダマール変換係数A’vuが0以上であるか否かが判定される。逆量子化アダマール変換係数A’vuが0以上でない、即ち負であると判定されると、ステップ128が実行される。逆量子化アダマール変換係数A’vuが0以上であればステップ126が実行され、第1の補正係数作成処理が終了する。ステップ126では、逆量子化アダマール変換係数A’vuから2を引いた数値が補正係数A”vuに決定される。ステップ128では、逆量子化アダマール変換係数A’vuの数値がそのまま補正係数A”vuに決定され、第1の補正係数作成処理が終了する。
【0091】
例えば、アダマール変換係数A40が(−10)(偶数)であれば、量子化、逆量子化およびステップ110においても補正されず、逆量子化アダマール変換係数A’40も(−10)となる。このとき、ステップ121、ステップ122、ステップ128が実行され補正係数A”40は(−10)に決定される。また前述したように、アダマール変換係数Avuが正の奇数、例えば15であれば、量子化・逆量子化により逆量子化アダマール変換係数A’vuは16となり、ステップ110において逆量子化アダマール変換係数A’vuが17に補正される。このとき、ステップ121、ステップ122、ステップ124、ステップ126が実行され、ステップ110で更新された数値(=17)から2減算される。そして補正係数A”vuは15に決定される。アダマール変換係数Avuが負の奇数、例えば(−15)であれば、量子化・逆量子化により逆量子化アダマール変換係数A’vuは(−16)となり、ステップ110において逆量子化アダマール変換係数A’vuが(−15)に補正される。このとき、ステップ121、ステップ122、ステップ128が実行され、補正係数A”vuは(−15)に決定される。
【0092】
このように、第1の係数更新処理(ステップ110)および第1の補正係数作成処理(ステップ120)では、2で量子化された逆量子化アダマール変換係数A’vuを、2の剰余M2 vuによって補正することにより、6個の補正係数A”vuが求められる。この2の量子化係数Qvuに対応した6個の補正係数A”vuは、それぞれ対応するアダマール変換係数Avuと等値である。
【0093】
再び図8を参照する。ステップ120の第1の補正係数作成処理が終了すると、ステップ130の第2の係数更新処理が実行される。ステップ130では、既知の7個の補正係数A”vuを4で割ったときの余り、即ち剰余M4 vuと、4の倍数となるような4個の補正係数A”vu(アダマール変換係数Avu)の和とにより、残り57個の剰余M4 vuを求める。そして剰余M4 vuから、逆量子化アダマール変換係数A’vuが更新される。以下、第2の係数更新処理(ステップ130)について説明する。
【0094】
各アダマール変換係数Avuは差分値Dyxの加減算で表されるため、例えば4つの係数A00、A20、A02、A22を足し合わせた結果は、以下の(4)式で表され、差分値Dyxの数値に関わらず4の倍数に定められる。
【0095】
【0096】
(4)式に示すように4の倍数となるアダマール変換係数の和において、アダマール変換係数A00、A20、A02即ち補正係数A”00、A”20、A”02はステップ102およびステップ120により数値が既知であり、剰余M4 00、M4 20、M4 02が求められるので、残り1つの補正係数A”22の剰余M4 22を求めることができる。例えば図6に示す補正係数A”00が159(M4 00は3)、補正係数A”20が−19(M4 20は−3)、補正係数A”02が31(M4 02は3)であれば、剰余M4 22は1である。このように、4の倍数となりうる4つの補正係数A”vu(アダマール変換係数Avu)を組合せることにより、64個の補正係数A”vuの剰余M4 vuが求められる。
【0097】
図15(a)は既知の剰余M4 vuと、この既知の剰余M4 vuから導き出される剰余M4 vuとを対応させた表である。図15(b)は一例として図3に示すアダマール変換係数Avuの剰余M4 vuを8×8のマトリクスで示す図である。なお、図15(b)において網掛け部分の剰余M4 vuは、図15(a)の左側に示す既知の剰余M4 vuと対応している。丸付き数字の剰余M4 vuは、ステップ130およびステップ140において補正係数A”vuを導き出せる剰余M4 vuであることを示す。8×8のマトリクスにおける丸付き数字の剰余M4 vuの位置は、値が4である量子化係数Qvuの位置と対応している。図15(c)は、補正係数A”vuを8×8のマトリクスで示す図であり、網掛け部分の数字はステップ130の実行前に求められた補正係数A”vuであり、網掛けのない部分の数字はステップ130およびステップ140の実行により求められる補正係数A”vuである。
【0098】
図12は、ステップ130の第2の係数更新処理を詳細に示すフローチャートである。なお図12には示さないが、第2の係数更新処理は、まだ補正係数が決まっていない57個の逆量子化アダマール変換係数A’vuについて繰り返し行なわれる。
【0099】
まず第2の係数更新処理がスタートすると、ステップ131では64個の補正係数A”vuを4で割ったときの剰余M4 vuが求められる。まず、ステップ102およびステップ120で求められた補正係数A”00、A”01、A”02、A”04、A”10、A”20、A”40の剰余M4 vuが(5)式により求められる。
【0100】
【0101】
補正係数A”vuの剰余M4 vuの絶対値は0、1、2、3の何れかであるが、補正係数A”vuは64個の全てが偶数か、全てが奇数かのどちらかである。従って、補正係数A”vuが偶数の場合には、64個の剰余M4 vuの絶対値は0または2のみで形成される。補正係数A”vuが奇数の場合には、剰余M4 vuの絶対値は1または3のみで形成される。(5)式によって求められた7個の剰余M4 vuと、(4)式のような補正係数A”vu同士の相関関係とから、残り57個の剰余M4 vuが決定され、ステップ131が終了する。例えば図6で示される補正係数A”vuは全て奇数であり、図15(b)に示すように剰余M4 vuの絶対値は1または3のみから形成される。
【0102】
剰余M4 vuの絶対値が2以上、すなわち剰余M4 vuの絶対値が量子化係数Qvu=4の半値以上の場合、量子化・逆量子化によって絶対値は増加し、逆量子化アダマール変換係数A’vuの絶対値は必ずアダマール変換係数Avuの絶対値より大きくなる。ステップ132からステップ138では、逆量子化アダマール変換係数A’vuの正負と、剰余M4 vuが2以上あるいは(−2)以上であるかどうかで逆量子化アダマール変換係数A’vuが分類され、更新される。
【0103】
ステップ132では、剰余M4 vuが0であるか否かが判定される。剰余M4 vuが0であると判定されると逆量子化アダマール変換係数A’vuは更新されずに終了する。剰余M4 vuが0でないと判定されるとステップ134が実行され、逆量子化アダマール変換係数A’vuが正であるか否かが判定される。逆量子化アダマール変換係数A’vuが正であればステップ136が実行され、負であればステップ137が実行される。
【0104】
ステップ136では、剰余M4 vuが2以上、即ち剰余M4 vuが2または3であるか否かが判定される。剰余M4 vuが2または3であれば、ステップ138が実行され、逆量子化アダマール変換係数A’vuには2が加算され、第2の係数更新処理は終了する。ステップ136において剰余M4 vuが2以上でなければ、剰余M4 vuは1であると判定され、逆量子化アダマール変換係数A’vuの数値はそのままで、第2の係数更新処理は終了する。
【0105】
ステップ137では、剰余M4 vuが(−2)以上、即ち剰余M4 vuが(−1)または(−2)であるか否かが判定される。剰余M4 vuが(−1)または(−2)であれば、ステップ138において逆量子化アダマール変換係数A’vuに2が加算された後、第2の係数更新処理が終了する。ステップ137において剰余M4 vuが(−2)以上でない、即ち剰余M4 vuが(−3)であると判定されると、逆量子化アダマール変換係数A’vuの数値はそのままで、第2の係数更新処理は終了する。
【0106】
以上のように第2の係数更新処理では、剰余M4 vuが2、3、(−1)、(−2)の場合にのみ逆量子化アダマール変換係数A’vuに2が加算され、剰余M4 vuが0、1、(−3)の場合は逆量子化アダマール変換係数A’vuは更新されない。例えば、アダマール変換係数Avuが10、11、(−13)、(−10)の時、逆量子化アダマール変換係数A’vuは、12、12、(−12)、(−12)となり、ステップ110において更新された後の逆量子化アダマール変換係数A’vuは12(剰余M4 vu=2)、13(剰余M4 vu=3)、(−11)(剰余M4 vu=−1)、または(−12)(剰余M4 vu=−2)となる。このとき、ステップ138において数値が2加算され、それぞれ14、15、−11、−10に更新される。アダマール変換係数Avuが、12、13、(−12)、(−11)の時、逆量子化アダマール変換係数A’vuは12、12、(−12)、(−12)となり、ステップ110において更新された後の逆量子化アダマール変換係数A’vuは12(剰余M4 vu=0)、13(剰余M4 vu=1)、(−12)(剰余M4 vu=0)または(−11)(剰余M4 vu=−3)となり、ステップ130において数値は更新されない。
【0107】
再び図8を参照する。ステップ130が終了すると、ステップ140の第2の補正係数作成処理が実行される。ステップ140では、ステップ130で更新された逆量子化アダマール変換係数A’vuと求められた剰余M4 vuとに基づいて、15個の補正係数A”03、A”05、A”06、A”11、A”12、A”14、A”21、A”22、A”24、A”30、A”41、A”42、A”44、A”50、A”60が作成される。
【0108】
上述の15個に対応する逆量子化アダマール変換係数A’vuは、全て数値が4の量子化係数Qvuによって量子化・逆量子化される。即ち、アダマール変換係数Avuを4で割り、小数点以下を四捨五入したものに、また4をかけあわせて求められる。従ってアダマール変換係数Avuの剰余M4 vuが0、即ち4の倍数ならば、対応する逆量子化アダマール変換係数A’vuと一致する。
【0109】
剰余M4 vuの絶対値が1の場合について説明する。アダマール変換係数Avuが正であれば、2の剰余M2 vuが1である場合に含まれるので、第1の係数更新処理(ステップ110)において逆量子化アダマール変換係数A’vuは更新されており、アダマール変換係数Avuと逆量子化アダマール変換係数A’vuとは一致する。アダマール変換係数Avuが負であれば、量子化・逆量子化によって1増加し、ステップS110において1が加算され、さらにステップ138によって2加算されているので、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuよりも4大きくなる。
【0110】
例えば、アダマール変換係数Avuが21、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは20、剰余M2 vu=1、および剰余M4 vu=1である。逆量子化アダマール変換係数A’vuの数値はステップ110で21に更新されており、ステップ132、ステップ134、ステップ136が実行されるが、ステップ138が実行されないため数値21は更新されない。アダマール変換係数Avuが(−21)、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは(−20)、剰余M2 vu=(−1)、および剰余M4 vu=(−1)である。逆量子化アダマール変換係数A’vuの数値はステップ110で(−19)に更新されており、ステップ132、ステップ134、ステップ137、ステップ138が実行されることにより、数値(−17)に更新される。
【0111】
剰余M4 vuの絶対値が2の場合について説明する。アダマール変換係数Avuが正であれば、量子化・逆量子化によって2増加しており、さらにステップ138によって2加算されているので、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuよりも4大きくなる。アダマール変換係数Avuが負の場合、量子化・逆量子化によって2減少する(絶対値が2増加する)が、ステップ138において2加算されることにより打ち消しあっているので、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuと一致する。
【0112】
例えば、アダマール変換係数Avuが22、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは24、剰余M2 vu=0、および剰余M4 vu=2である。逆量子化アダマール変換係数A’vuの数値はステップ110で24のままであり、ステップ138において、数値24は数値26に更新される。アダマール変換係数Avuが(−22)、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは(−24)、剰余M2 vu=0、および剰余M4 vu=(−2)である。逆量子化アダマール変換係数A’vuの数値はステップ110でそのままであり、ステップ138において、数値(−24)は数値(−22)に更新される。
【0113】
剰余M4 vuの絶対値が3の場合について説明する。アダマール変換係数Avuが正であれば、量子化・逆量子化によって1増加し、第1の係数更新処理(ステップ110)においてM2 vuが1であるため1が加算され、さらにステップ138において2加算されるので、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuよりも4大きくなる。アダマール変換係数Avuが負であれば、第1の係数更新処理において更新されており、逆量子化アダマール変換係数A’vuは対応するアダマール変換係数Avuと一致する。
【0114】
例えば、アダマール変換係数Avuが23、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは24、剰余M2 vu=1、および剰余M4 vu=3である。逆量子化アダマール変換係数A’vuの数値はステップ110で25に更新されており、ステップ138において、数値25は数値27に更新される。アダマール変換係数Avuが(−23)、量子化係数Qvuが4ならば、逆量子化アダマール変換係数A’vuは(−24)、剰余M2 vu=(−1)、および剰余M4 vu=(−3)である。逆量子化アダマール変換係数A’vuの数値はステップ110で(−23)に更新されており、ステップ130では数値(−23)は更新されない。
【0115】
以上のように、4で量子化・逆量子化された逆量子化アダマール変換係数A’vuは剰余M4 vuによって場合分けされて求められる。第2の補正係数作成処理は剰余M4 vuの情報を利用して行なわれる。
【0116】
図13は、図8に示すステップ140の第2の補正係数作成処理を詳細に示すフローチャートである。ステップ140もステップ120と同様、15個の各補正係数A”vuについてそれぞれ行なわれる。
【0117】
まずステップ141では、4の剰余M4 vuが更新される。即ち、ステップ130によって更新された逆量子化アダマール変換係数A’vuに基づいて剰余M4 vuが新たに求められ、ステップ131で決定された剰余M4 vuと置き換えられる。次にステップ142が実行される。
【0118】
ステップ142では、ステップ141で更新された剰余M4 vuが0か否かが判定される。剰余M4 vuが0であればステップ154が実行され、剰余M4 vuが0でなければステップ144が実行される。ステップ144では逆量子化アダマール変換係数A’vuが正であるか否かが判定され、正であればステップ146が実行され、負であればステップ150が実行される。
【0119】
ステップ146では剰余M4 vuが2より小さいか否か、即ち剰余M4 vuが1であるか否かが判定される。剰余M4 vuが1であればステップ154が実行され、剰余M4 vuが2または3であればステップ148が実行される。またステップ150では剰余M4 vuが(−2)より大きいか否か、即ち(−1)であるか否かが判定される。剰余M4 vuが(−1)であればステップ148が実行され、剰余M4 vuが(−2)または(−3)であればステップ152が実行される。
【0120】
ステップ148では補正係数A”vuは逆量子化アダマール変換係数A’vuから4が減算されて、第2の補正係数作成処理が終了する。ステップ152およびステップ154では補正係数A”vuは逆量子化アダマール変換係数A’vuそのままの数値になり、第2の補正係数作成処理が終了する。
【0121】
第2の補正係数作成処理(ステップ140)では、剰余M4 vuが0、1、(−2)、(−3)の場合には、補正係数A”vuは逆量子化アダマール変換係数A’vuと同じ数値であり、剰余M4 vuが2、3、(−1)の場合は、補正係数A”vuは逆量子化アダマール変換係数A’vuに4減算された数値となる。
【0122】
このように、第2の係数更新処理(ステップ130)および第2の補正係数作成処理(ステップ140)では、4で量子化された逆量子化アダマール変換係数A’vuを、4の剰余M4 vuによって補正することにより、15個の補正係数A”vuが求められる。この数値が4である量子化係数Qvuに対応した15個の補正係数A”vuは、それぞれ対応するアダマール変換係数Avuと等値である。
【0123】
例えば、アダマール変換係数A06が(−21)の場合(図3参照)、逆量子化アダマール変換係数A’06は(−20)である(図6参照)が、ステップ116の実行により1加算されることにより(−19)に変換され、ステップ131においてM4 06=(−1)が求められ、ステップ138において逆量子化アダマール変換係数A’06は、2が加算されて(−17)に更新される。そしてステップ141、ステップ142、ステップ144、ステップ150、ステップ148が実行されて、補正係数A”06=(−21)が求められる(図15(c)参照)。
【0124】
再び図8を参照する。ステップ140が終了すると、ステップ160の第3の係数更新処理が実行される。第3の係数更新処理は前述した第2の係数更新処理と同様の手順で行なわれる。即ち、既知の22個の補正係数A”vuを8で割ったときの余り、即ち剰余M8 vuと、8の倍数となるような8個のアダマール変換係数Avuの和とにより、残り42個の剰余M8 vuが求められる。そして剰余M8 vuから、逆量子化アダマール変換係数A’vuが更新され、ステップ160が終了する。
【0125】
図16(a)は既知の剰余M8 vuと、この既知の剰余M8 vuから導き出される剰余M8 vuとを対応させた表である。図16(b)は、図3に示すアダマール変換係数Avuの剰余M8 vuを示す図であり、図16(c)は補正係数A”vuを示す図である。網掛け部の数字はステップ160の実行前に既に求められた補正係数A”vuである。網掛けされていない部分の数字はステップ160およびステップ162の実行により求められる補正係数A”vuであり、図16(b)の丸付き数字に対応している。
【0126】
図8のステップ162では第3の補正係数作成処理が行なわれる。第3の補正係数作成処理は前述した第2の補正係数作成処理と同様の手順で行なわれる。即ち、ステップ160において更新された逆量子化アダマール変換係数A’vuと剰余M8 vuに基づいて、20個の補正係数A”vuが作成される。ステップ162が終了すると、ステップ164が実行される。
【0127】
図8のステップ164では第4の係数更新処理が行なわれる。第4の係数更新処理は前述した第2および第3の係数更新処理と同様の手順で行なわれる。即ち、既知の42個の補正係数A”vuを16で割ったときの余り、即ち剰余M16 vuと、16の倍数となるような16個のアダマール変換係数Avuの和とにより、残り22個の剰余M16 vuが求められる。そして剰余M16 vuから、逆量子化アダマール変換係数A’vuが更新され、ステップ164が終了する。
【0128】
図17(a)は既知の剰余M16 vuと、この既知の剰余M16 vuから導き出される剰余M16 vuとを対応させた表である。図17(b)は、図3に示すアダマール変換係数Avuの剰余M16 vuを示す図であり、図17(c)は補正係数A”vuを示す図である。網掛け部の数字はステップ164の実行前に既に求められた補正係数A”vuである。網掛けされていない部分の数字はステップ164およびステップ166の実行により求められる補正係数A”vuであり、図17(b)の丸付き数字に対応している。
【0129】
図9のステップ166では第4の補正係数作成処理が行なわれる。第4の補正係数作成処理は前述した第2および第3の補正係数作成処理と同様の手順で行なわれる。即ち、ステップ164において更新された逆量子化アダマール変換係数A’vuと剰余M16 vuに基づいて、15個の補正係数A”vuが作成される。ステップ166が終了すると、ステップ168が実行される。
【0130】
ステップ168では第5の係数更新処理が行なわれる。第5の係数更新処理は前述した第2から第4の係数更新処理と同様の手順で行なわれる。即ち、既知の57個の補正係数A”vuを32で割ったときの余り、即ち剰余M32 vuと、32の倍数となるような32個のアダマール変換係数Avuの和とにより、残り7個の剰余M32 vuが求められる。そして剰余M32 vuから、逆量子化アダマール変換係数A’vuが更新され、ステップ168が終了する。
【0131】
図18(a)は既知の剰余M32 vuと、この既知の剰余M32 vuから導き出される剰余M32 vuとを対応させた表である。図18(b)は、図3に示すアダマール変換係数Avuの剰余M32 vuを示す図であり、図18(c)は補正係数A”vuを示す図である。網掛け部の数字はステップ168の実行前に既に求められた補正係数A”vuである。網掛けされていない部分の数字はステップ168およびステップ170の実行により求められる補正係数A”vuであり、図18(b)の丸付き数字に対応している。
【0132】
図9のステップ170では第5の補正係数作成処理が行なわれる。第5の補正係数作成処理は前述した第2から第4の補正係数作成処理と同様の手順で行なわれる。即ち、ステップ168において更新された逆量子化アダマール変換係数A’vuと剰余M32 vuに基づいて、6個の補正係数A”vuが作成される。ステップ170が終了すると、ステップ172が実行される。
【0133】
ステップ172では第6の係数更新処理が行なわれる。第6の係数更新処理は前述した第2から第5の係数更新処理と同様の手順で行なわれる。即ち、既知の63個の補正係数A”vuを64で割ったときの余り、即ち剰余M64 vuと、64個のアダマール変換係数Avuの総和とにより、残り1個の剰余M64 77を求める。そして剰余M64 77から、逆量子化アダマール変換係数A’77が更新され、ステップ172が終了する。
【0134】
図19(a)は、図3に示すアダマール変換係数Avuの剰余M64 vuを示す図であり、図19(b)の網掛けされていない数字は補正係数A”77を示し、ステップ172およびステップ174において、図19(a)に示す丸付き数字の剰余M64 77により求められる。
【0135】
図9のステップ174では第6の補正係数作成処理が行なわれる。第6の補正係数作成処理は、ステップ172において更新された逆量子化アダマール変換係数A’77と剰余M64 77に基づいて、補正係数A”77が作成される。ステップ174が終了すると、補正係数作成処理は終了する。
【0136】
補正係数作成処理では、2の累乗である2,4,8,16,32,64の順に剰余を求める処理と、求められた剰余の情報に基づいて逆量子化アダマール変換係数A’vuを更新する処理とが交互に行われ、図14(b)、図15(c)、図16(c)、図17(c)、図18(c)および図19(b)に示すように、A”00からA”77まで順に補正係数A”vuが求められる。図6に示す補正係数行列A”は図3に示すアダマール変換係数行列Aと一致しており、可逆的に変換されたことになる。従って原画像データに対して画像劣化のない再生画像データが得られる。
【0137】
本来64の剰余を求めるための情報量は、64個の各係数につき6ビット、即ち計384ビット必要である。しかし本実施形態では、6段階で求める補正係数作成処理において必要な情報量は半分で良い。即ち、2の剰余の情報量はM2 00が1か0かがわかればよいので、1ビットである。さらに4の剰余の情報量は、図15(b)の網掛け部分で示される7個のM4 vu、即ち7ビットである。同様に8、16、32、64の剰余の情報量はそれぞれ22、42、57、63ビットである。従って、総計192ビット、即ち384ビットの半分の情報量でアダマール変換係数Avuは正確に復元される。
【0138】
また、量子化を行なった後の量子化アダマール変換係数Bvuにおいて、低周波項にパワーが集中するように、量子化テーブルQvuが構成されるので(図3参照)、ハフマン符号化を用いて符号化(圧縮)した場合、JPEG方式の圧縮率とほぼ同程度の圧縮率が得られる。そして量子化テーブルQvuはアダマール変換の特性に鑑みて2の累乗から形成されているので、画像情報の伸張が正確にでき、従来の圧縮・伸張で生じていた量子化誤差が無い再生画像データを容易に得ることができる。
【0139】
以上のように第1の実施形態によれば、画素値Pyxと予測値Eyxに基いて差分値Dyxを生成し、差分値Dyxをアダマール変換することにより、符号化データの情報量が少なくなり、画像を効率的に圧縮することができる。また、逆アダマール変換係数A’を補正係数A”に変換することにより、原画像を無歪みで復元することができる。
【0140】
図20〜図28は、第2の実施形態である画像圧縮装置および画像伸張装置に関する図である。
【0141】
図20は、第2の実施形態である画像圧縮装置のブロック図である。
【0142】
第1の実施形態と同じように被写体像Sの光がレンズ19を介して撮像素子18に結像される。撮像素子18において光電変換により発生した画像信号はA/D変換器および信号処理回路においてそれぞれ処理されて輝度データYおよび色差データCb,Crに変換され、画像データとして画像メモリ17に記録される。
【0143】
輝度データYおよび色差データCb,Crの画像データは、画像メモリ17から読み出され、画像圧縮装置30に送られる。画像圧縮装置30は、予測値生成部31、差分値生成部32、アダマール変換部33、量子化部34、ビット分離部35、ジグザグスキャン部36、ハフマン符号化部37から構成されている。
【0144】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。また、輝度データYおよび色差データCb,Crは、画像圧縮装置30内においてそれぞれ別々に処理される。
【0145】
各ブロックにおける輝度データYおよび色差データCb,Crの画素データに基づき、予測値が予測値生成部31において求められる。予測値は、符号化対象である画素データの値を隣接する画素データに基づいて予測した値である。
【0146】
輝度データYおよび色差データCb,Crの画素データは、差分値生成部32において差分値に変換される。この差分値は、 予測値生成部31において得られた予測値と実際の画素データとの差分をとることにより求められる。
【0147】
輝度データYおよび色差データCb,Crの差分値は、アダマール変換部33においてアダマール変換され、アダマール変換係数に変換される。アダマール変換は直交変換の1つであり、画像データを空間周波数成分毎に分解する。
【0148】
輝度データYおよび色差データCb,Crのアダマール変換係数は、量子化部34において量子化テーブルQに基いて量子化され、量子化アダマール変換係数に変換される。この量子化は線形量子化であり、2の累乗である量子化係数から構成された8×8のマトリクスである量子化テーブルQを用いて行われる。すなわち、各アダマール変換係数がそれぞれ対応する量子化係数で除算され、余りが丸められる。量子化テーブルとして、輝度データY用の量子化テーブルQy 、色差データCb,Cr用の量子化テーブルQc がそれぞれ設けられている。
【0149】
輝度データYおよび色差データCb,Crは、画像圧縮装置30内では2進数のビット列で表され、輝度データYおよび色差データCb,Crの量子化アダマール変換係数も2進数のビット列で表される。量子化アダマール変換係数のビット列は、ビット分離部35においてビット配分テーブルBTに基き上位量子化アダマール変換係数のビット列(上位ビット列)と下位量子化アダマール変換係数のビット列(下位ビット列)に分離される。ビット配分テーブルBTは、ビット配分係数から構成された8×8のマトリクスであり、ビット配分係数は分離されるビット数を示している。ビット分離により得られた上位量子化アダマール変換係数はハフマン符号化部37に送られるが、下位量子化アダマール変換係数は符号化されずにそのまま記録媒体Mの下位記録領域M3に記録される。
【0150】
輝度データYおよび色差データCb,Crの上位量子化アダマール変換係数で構成されるブロックは、ジグザグスキャン部36においてジグザグスキャンされ、上位量子化アダマール変換係数が1次元の列に並べられる。
【0151】
1次元の列に並べられた輝度データYおよび色差データCb,Crの上位量子化アダマール変換係数は、ハフマン符号化部37において符号化(圧縮)され、圧縮画像データが求められる。符号化に関しては、JPEGアルゴリズムに準拠したハフマン符号化を適用する。圧縮画像データは、記録媒体Mの圧縮画像データ記録領域M2に記録され、また輝度データY用の量子化テーブルQy と色差データ用の量子化テーブルQc は、記録媒体Mの量子化テーブル記録領域M1に記録される。
【0152】
図21を用いて、1つの画素ブロックに対する圧縮処理を説明する。ここでは輝度データYの画素ブロックを対象とする。
【0153】
図21では、量子化アダマール変換係数行列Bと、ビット配分テーブルBTと、上位量子化アダマール変換係数行列と、下位量子化アダマール変換係数行列BLがそれぞれ8×8のマトリクスでそれぞれ例示されている。各マトリクスの要素は、それぞれ量子化アダマール変換係数Bvu、上位量子化アダマール変換係数BHvu、下位量子化アダマール変換係数BLvuと表される。なお、量子化アダマール変換係数行列Bは、図3で示した量子化アダマール変換係数行列Bであり、画素ブロックPから量子化アダマール変換係数行列Bまでの圧縮処理については第1の実施形態と同じであるためここでは省略する。
【0154】
量子化アダマール変換係数Bvuのビット列は、ビット分離により上位ビット列と下位ビット列に分離され、上位ビット列で表される上位量子化アダマール変換係数BHvuと下位ビット列で表される下位量子化アダマール変換係数BLvuが求められる。このときビット分離されるビット数、すなわち下位ビット列のビット数は、対応するビット配分係数BTvuの値に従う。
【0155】
例えば、量子化アダマール変換係数B03(=5)のビット列は、対応するビット配分係数BT03(=2)に基いてビット分離され、上位ビット列で表される上位量子化アダマール変換係数BH03(=1)と2ビットの下位ビット列で表される下位量子化アダマール変換係数BL03(=1)が求められる。ビット分離に関しては後述する。
【0156】
図22には、6つのビット配分テーブルBT1 〜BT6 が示されており、ここではビット配分テーブルBT4 が用いられている。ビット配分テーブルBTは、絶対値が大きい量子化アダマール変換係数Bvuには大きい値のビット配分係数BTvu、絶対値が小さい量子化アダマール変換係数Bvuには小さい値のビット配分係数BTvuが対応するように構成されている。このため、絶対値が大きい量子化アダマール変換係数Bvuに対するビット分離の場合でも、分離される下位ビット列のビット数が多いことから絶対値が小さい上位量子化アダマール変換係数BHvuが求められる。なおビット分離を実行するとき、1画面に1つのビット配分テーブルBTを適用してもよいし、各ブロック毎にそれぞれ違ったビット配分テーブルBTを適用してもよい。
【0157】
このように量子化アダマール変換係数Bvuのビット列は、対応するビット配分係数BTvuの値が下位ビット列のビット数となるようにビット分離され、上位ビット列で表される上位量子化アダマール変換係数BHvuと下位ビット列で表される下位量子化アダマール変換係数BLvuが求められる。
【0158】
ビット分離により得られた上位量子化アダマール変換係数BHvuから圧縮画像データが求められる過程は、第1の実施形態と同じである。
【0159】
図21、図23を用いて、2ビットのビット分離を説明する。そのため、量子化アダマール変換係数Bvuをビット列で表す。アダマール変換係数Avuには通常14ビット割り当てられるが、ここでは量子化アダマール変換係数Bvuのビット列は16ビットとし、16ビットのうち14ビットが使用されて量子化アダマール変換係数Bvuの2進数が表されることにする。正負の値をとるAC成分の量子化アダマール変換係数Bvuの場合、16ビットのうち最上位の1ビットが符号ビットとして使用され、右端からの14ビットを使用して量子化アダマール変換係数Bvuの2進数が表される。
【0160】
図23では、量子化アダマール変換係数B03(=5)に対するビット分離を示している。
【0161】
量子化アダマール変換係数B03(=5)は、2進法で表すと「00000000000101」であり、符号ビットFは正を表す「0」である。16ビットのビット列C0において、2進数「00000000000101」は右端からの14ビットを使って表される。「0」である符号ビットFは、ビット列C0の左端にある最上位ビットに位置する。なお量子化アダマール変換係数Bvuが負の値の場合、使用されていない1ビットJ0は「1」である。
【0162】
ビット分離の実行により、量子化アダマール変換係数B03(=5)は右シフト演算される。 右シフト演算とは、各ビットを指定されたビット数だけ右に桁移動させる演算である。2ビットの右シフト演算が実行されると、各ビットが右に2つずつ移動させられ、「01」である右端の下位ビットKは分離される。そして右シフト演算によって空白になった左端の2ビットには、2つの符号ビットFが当てはめられる。
【0163】
このようにして、ビット列C0は右シフト演算により12ビットを使用して2進数「000000000001」が表されるビット列C1に変換される。このビット列C1が上位ビット列であり、2進数「000000000001」を10進法で表した値が上位量子化アダマール変換係数BH03の値となる。すなわち、上位量子化アダマール変換係数BH03の値は1である。
【0164】
一方、右シフト演算によって分離された下位ビットKが下位ビット列であり、下位ビットKの値が下位量子化アダマール変換係数BL03の値となる。2進数「01」は10進法で1であるから、下位量子化アダマール変換係数BL03の値は1である。
【0165】
このようにアダマール変換係数B36(=5)のビット列C0は、ビット分離によって上位ビット列であるビット列C1と下位ビット列である下位ビットKに分離され、これにより上位量子化アダマール変換係数BH03(=1)と下位量子化アダマール変換係数BL03(=1)が求められる。
【0166】
負である量子化アダマール変換係数の場合でも、同じようにビット分離される。ただし、符号ビットFは負を示す「1」であり、使用されていない1ビットJ0は「1」である。
【0167】
なお、nビットのビット分離を実行する場合、量子化アダマール変換係数Bvuに対してnビットの右シフト演算が実行される。
【0168】
図24は、nビットのビット分離の手順を示したフローチャートである。図21、図24を用いてビット分離の手順を説明する。
【0169】
ステップ201では、縦方向の位置を表す添字vが0に設定される。ステップ202では、横方向の位置を表す添字uが0と設定され、行列の横方向を表す行のなかで最も左側の量子化アダマール変換係数Bvuがビット分離の対象とされる。量子化アダマール変換係数B00が最初のビット分離の対象である。
【0170】
ステップ203では、量子化アダマール変換係数Bvuに対してnビットのビット分離をするためにnビットの右シフト演算が実行され、上位量子化アダマール変換係数BHvuが求められる。量子化アダマール変換係数Bvuに対応するビット配分係数BTvuの値がnである。
【0171】
例えば2ビットのビット分離の場合、量子化アダマール変換係数B03(=5)がビット分離されることにより上位量子化アダマール変換係数BH03(=1)が求められる。また3ビットのビット分離の場合、量子化アダマール変換係数B40(=−8)がビット分離されることにより上位量子化アダマール変換係数BH40(=−1)が求められる。
【0172】
ステップ204では、下位量子化アダマール変換係数BLvuが求められる。下位量子化アダマール変換係数BLvuを求める算術式は、次の(6)式のようになる。
【0173】
BLvu=Bvu−(BHvu×2n ) ・・・・・・・・(6)
【0174】
例えば2ビットのビット分離の場合、量子化アダマール変換係数B03(=5)に対して下位量子化アダマール変換係数BL03の値は、上位量子化アダマール変換係数BH03の値が1であることから
BL03= 5−(1×22)=1
となる。
【0175】
例えば3ビットのビット分離の場合、量子化アダマール変換係数B40(=−8)に対して下位量子化アダマール変換係数BL40の値は、上位量子化アダマール変換係数BH40の値が−1であることから
BLvu=−8−(−1×23 )=0
となる。
【0176】
ステップ205では、添字uに1が加算される。これによりビット分離される対象の量子化アダマール変換係数Bvuが1つ右隣の量子化アダマール変換係数Bvuに移される。
【0177】
ステップ206では、添字uが8であるか否かが判定される。すなわち、横方向の1つの行に関してすべての量子化アダマール変換係数Bvuがビット分離されたか否かが判定される。添字uが8であると判定されるとステップ207に移る。添字uが8でないと判定されるとステップ203に戻る。
【0178】
ステップ207では、添字vに1が加算される。すなわち、ビット分離される量子化アダマール変換係数Bvuが、1つ下の行の量子化アダマール変換係数Bvuに移される。
【0179】
ステップ208では、添字vが8であるか否かが判定される。すなわち、全ての量子化アダマール変換係数Bvuがビット分離されたか否かが判定される。添字vが8であると判定されると、量子化アダマール変換係数行列Bに対するビット分離は終了する。添字vが8でないと判定されると、ステップ202に戻る。
【0180】
量子化アダマール変換係数のビット分離を実行すれば、量子化アダマール変換係数Bvuよりも小さい値である上位量子化アダマール変換係数BHvuが得られる。そのため、ジグザグスキャンされて並べられた上位量子化アダマール変換係数BHvuの1次元の列において、ゼロの出現頻度が量子化アダマール変換係数Bvuをジグザグスキャンする場合に比べて高くなる。よってゼロランが増えるとともにゼロラン長が長くなり、符号化データの情報量が少なくて済む。すなわち、効率的に画像を圧縮することができる。
【0181】
図25は、第2の実施形態例である画像伸張装置のブロック図である。
【0182】
記録媒体Mの圧縮画像データ記録領域M2に記録された圧縮画像データが読み出され、画像伸張装置40に送られる。画像伸張装置40は、ハフマン復号化部41、マトリクス部42、ビット合成部43、逆量子化部44、補正係数作成部45、逆アダマール変換部46、画素データ生成部47、予測値生成部48から構成されている。
【0183】
輝度データYおよび色差データCb,Crの圧縮画像データは、ハフマン復号化部41においてハフマン復号化され、1次元の列に並べられた量子化アダマール変換係数が求められる。ハフマン復号化は、ハフマン符号化とは逆の作用である。
【0184】
1次元の列に並べられた量子化アダマール変換係数は、マトリクス化部42においてジグザグスキャンの逆であるマトリクス化され、上位量子化アダマール変換係数の各ブロックが生成される。
【0185】
上位量子化アダマール変換係数と記録媒体Mの下位記録領域M3から読み出された下位量子化アダマール変換係数がビット合成部43においてビット合成され、量子化アダマール変換係数が求められる。
【0186】
輝度データYおよび色差データCb,Crの量子化アダマール変換係数は、逆量子化部44において量子化テーブルQを用いて逆量子化され、逆量子化アダマール変換係数が求められる。すなわち、量子化アダマール変換係数に対し対応する量子化係数が掛け算され、逆量子化アダマール変換係数が求められる。
【0187】
輝度データYおよび色差データCb,Crの逆量子化アダマール変換係数は、補正係数作成部45において補正係数に変換される。補正係数は、アダマール変換係数と同値である。
【0188】
輝度データYおよび色差データCb、Crの補正係数は、逆アダマール変換部46において差分値に変換される。逆アダマール変換は、アダマール変換とは逆の作用である。
【0189】
差分値と予測値生成部48において生成される予測値に基き、画素データが画素データ生成部47において復元される。すなわち、すでに復元された画素データに基いて生成された予測値と差分値との差をとることにより、画素データが求められる。求められた画素データは予測値生成部48に送られ、次に復元される画素データに対する予測値の算出に用いられる。
【0190】
順次画素データが復元されることにより、輝度データYおよび色差データCb,Crの画像データが復元され、画像データが画像メモリ17に送られる。
【0191】
図26を用いて圧縮画像データに対する伸張処理を説明する。ここでは、輝度データYの圧縮画像データを対象とする。
【0192】
図26では、上位量子化アダマール変換係数行列BHと、下位量子化アダマール変換係数行列BLと、ビット配分テーブルBTと、量子化アダマール変換係数行列Bとがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ上位量子化アダマール変換係数BHvu、下位量子化アダマール変換係数BLvu、ビット配分係数BTvu、量子化アダマール変換係数Bvuと表される。
【0193】
圧縮画像データが復号化され、マトリクス化されることにより、上位量子化アダマール変換係数行列BHが求められる。
【0194】
上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuは、ビット配分係数BTvuに基いてビット合成され、量子化アダマール変換係数Bvuが復元される。
【0195】
例えば、上位量子化アダマール変換係数BH03(=1)と下位量子化アダマール変換係数BL03(=1)がビット配分係数BT03(=2)に基いてビット合成され、量子化アダマール変換係数B03(=5)が復元される。なお、ビット合成については後述する。
【0196】
量子化アダマール変換係数行列Bは、図3で示された量子化アダマール変換係数行列Bであり、量子化アダマール変換係数行列Bから画素ブロックPまでの伸張処理は第1の実施形態と同じであるため、ここでは省略する。
【0197】
図26、図27を用いて、2ビットのビット合成について説明する。そのため、上位量子化アダマール変換係数BHvuをビット列で表す。
【0198】
図27では、上位量子化アダマール変換係数BH03(=1)と下位量子化アダマール変換係数BL03(=1)に対するビット合成を示している。
【0199】
上位量子化アダマール変換係数BH03(=1)のビット列は、図23で示したように16ビットのビット列C1で表される。下位量子化アダマール変換係数BL03(=1)は2進数で「1」であり、2ビットの下位ビット列K1で表される。
【0200】
ビット合成の実行により、上位量子化アダマール変換係数BH03(=1)は左シフト演算される。左シフト演算とは、指定されたビット数だけビット列の各ビットを左に桁移動させる演算である。2ビットの左シフト演算が実行されると、ビット列C1の各ビットが左に2つずつ移動させられ、 左端にある2つの「0」である符号ビットFが分離される。そして左シフト演算によって空白になった右端の下位ビットには、「01」である下位ビット列K1が埋められる。また左端から3番目の「0」である1ビットF0が、左端の最上位ビットに移動され、符号ビットFとなる。
【0201】
左シフト演算により、ビット列C1は14ビットを使用して2進数「00000000000101」が表されるビット列C0に変換される。そして、2進数「00000000000101」を10進法で表した値が、量子化アダマール変換係数B03となる。すなわち、量子化アダマール変換係数B03の値は5である。
【0202】
このように、上位量子化アダマール変換係数BH03(=1)と下位量子化アダマール変換係数BL03(=1)がビット合成されることにより、量子化アダマール変換係数B03(=5)が復元される。
【0203】
図28は、nビットのビット合成の手順を示したフローチャートである。図26、図28を用いてビット合成の手順のフローチャート説明する。
【0204】
ステップ301では、縦方向の位置を表すvが0に設定される。ステップ302では、横方向の位置を表す添字uが0に設定され、行列の横方向を表す行の中で最も左側の上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuがビット合成の対象とされる。上位量子化アダマール変換係数BH00と下位量子化アダマール変換係数BL00が最初のビット合成の対象である。
【0205】
ステップ303では、上位量子化アダマール変換係数BHvuに対してnビットの左シフト演算が実行され、量子化アダマール変換係数Bvuが求められる。量子化アダマール変換係数Bvuを求める算術式は、(7)式のようになる。
【0206】
Bvu=BHvu×2n +BLvu・・・・・・(7)
【0207】
例えば、2ビットのビット合成の場合、上位量子化アダマール変換係数DH03(=1)と下位量子化アダマール変換係数BL03(=1)に対して量子化アダマール変換係数B03の値は、
B03=1×22 +1=5
となる。
【0208】
例えば、3ビットのビット合成の場合、上位量子化アダマール変換係数BH40(=−1)と下位量子化アダマール変換係数BL40(=0)に対して量子化アダマール変換係数B40の値は、
B40=−1×23 +0=−8
となる。
【0209】
ステップ304では、添字uに1が加算される。これによりビット合成される対象の上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuが1つ右隣の上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuに移される。
【0210】
ステップ305では、添字uが8であるか否かが判定される。すなわち、横方向の1つの行に関して全ての上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuがビット合成されたか否かが判定される。添字uが8であると判定されるとステップ306に移る。添字uが8でないと判定されるとステップ303に戻る。
【0211】
ステップ306では、添字vに1が加算される。すなわち、ビット合成される対象の上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuが、1つ下の行の上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuに移される。
【0212】
ステップ307では、添字vが8であるか否かが判定される。すなわち、全ての上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuがビット合成されたか否かが判定される。添字vが8であると判定されると、8×8の上位量子化アダマール変換係数行列BHと下位量子化アダマール変換係数行列BLに対するビット合成は終了する。添字vが8でないと判定されると、ステップ302に戻る。
【0213】
このように第2の実施形態によれば、量子化アダマール変換係数Bvuをビット配分テーブルBTvuに基いてビット分離し、上位量子化アダマール変換係数BHvuと下位アダマール変換係数BLvuが求められることにより、圧縮画像データの情報量が少なくなり、画像を効率的に圧縮することができる。また、上位量子化アダマール変換係数BHvuと下位量子化アダマール変換係数BLvuをビット合成して量子化アダマール変換係数Bvuを復元し、逆量子化アダマール変換係数A’vuを補正係数A”vuに変換することにより、原画像を無歪みで復元することができる。
【0214】
【発明の効果】
以上のように本発明によれば、高解像度の画像を効率的に圧縮し、かつ無歪みで圧縮、伸張処理することができる。
【図面の簡単な説明】
【図1】第1の実施形態例である画像圧縮装置のブロック図である。
【図2】画素ブロックと予測値行列と差分値行列を示した図である。
【図3】差分値行列とアダマール変換係数行列と量子化テーブルと量子化アダマール変換係数行列を示した図である。
【図4】量子化アダマール変換係数行列に対するジグザグスキャンを示した図である。
【図5】第1の実施形態例である画像伸張装置のブロック図である。
【図6】量子化アダマール変換係数行列と量子化テーブルと逆量子化アダマール変換係数行列と補正係数行列と差分値行列を示した図である。
【図7】差分値行列と予測値行列と画素ブロックを示した図である。
【図8】補正係数作成部の処理の前半を示すフローチャートである。
【図9】補正係数作成部の処理の後半を示すフローチャートである。
【図10】図8に示す第1の係数更新処理の詳細を示すフローチャートである。
【図11】図8に示す第1の補正係数作成処理の詳細を示すフローチャートである。
【図12】図8に示す第2の係数更新処理の詳細を示すフローチャートである。
【図13】図8に示す第2の補正係数作成処理の詳細を示すフローチャートである。
【図14】図3に示すアダマール変換係数Avuから求められた2の剰余M2 vuと、補正係数A”vuとを示す図である。
【図15】アダマール変換係数Avuの4の剰余M4 vuから求められる、逆量子化アダマール変換係数A’vuの4の剰余を示す一覧表と、図3に示すアダマール変換係数Avuから求められた4の剰余M4 vuと、補正係数A”vuとを示す図である。
【図16】アダマール変換係数Avuの8の剰余M8 vuから求められる、逆量子化アダマール変換係数A’vuの8の剰余を示す一覧表と、図3に示すアダマール変換係数Avuから求められた8の剰余M8 vuと、補正係数A”vuとを示す図である。
【図17】アダマール変換係数Avuの16の剰余M16 vuから求められる、逆量子化アダマール変換係数A’vuの16の剰余を示す一覧表と、図3に示すアダマール変換係数Avuから求められた16の剰余M16 vuと、補正係数A”vuとを示す図である。
【図18】アダマール変換係数Avuの32の剰余M32 vuから求められる、逆量子化アダマール変換係数A’vuの32の剰余を示す一覧表と、図3に示すアダマール変換係数Avuから求められた32の剰余M32 vuと、補正係数A”vuとを示す図である。
【図19】図3に示すアダマール変換係数Avuから求められた64の剰余M64 vuと、補正係数A”vuとを示す図である。
【図20】第2の実施形態例である画像圧縮装置のブロック図である。
【図21】量子化アダマール変換係数行列とビット配分テーブルと上位量子化アダマール変換係数行列と下位量子化アダマール変換係数行列を示した図である。
【図22】6つのビット配分テーブルを示した図である。
【図23】量子化アダマール変換係数に対する2ビットのビット分離を示した図である。
【図24】量子化アダマール変換係数行列に対するnビットのビット分離を示したフローチャートである。
【図25】第2の実施形態例である画像伸張装置のブロック図である。
【図26】上位量子化アダマール変換係数行列と下位量子化アダマール変換係数行列とビット配分テーブルと量子化アダマール変換係数行列を示した図である。
【図27】上位量子化アダマール変換係数と下位量子化アダマール変換係数に対する2ビットのビット合成を示した図である。
【図28】上位量子化アダマール変換係数行列と下位量子化アダマール変換係数行列に対するnビットのビット合成を示したフローチャートである。
【符号の説明】
10 画像圧縮装置
20 画像伸張装置
30 画像圧縮装置
Q 量子化テーブル
BT ビット配分テーブル
40 画像伸張装置[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an image compression apparatus and an image expansion apparatus that compress and expand a color still image.
[0002]
[Prior art]
In order to efficiently transfer an image via a communication circuit by compressing a color still image, an image compression method called a JPEG (Joint Photographic Expert Group) method has been standardized. In the baseline process of the JPEG method, image data is first subjected to discrete cosine transform to decompose each spatial frequency component, the data represented for each spatial frequency component is quantized, and the quantized data is encoded (compressed). To do. The encoded image data is decompressed by decoding, inverse quantization, and inverse discrete cosine transform, thereby restoring the original image.
[0003]
[Problems to be solved by the invention]
According to such a JPEG method, a high-resolution image can be efficiently compressed, but some distortion occurs in the process of compression and expansion, resulting in image quality degradation and restoration to a complete original image. Can not. One of the lossless encoding methods that can compress and expand an image without distortion is the Hadamard transform method. In the Hadamard transform method, image data is orthogonally transformed and the orthogonally transformed image data is encoded without being quantized, so that the image can be compressed and expanded without causing image quality degradation. However, such a method cannot efficiently compress a high-resolution image.
[0004]
An object of the present invention is to obtain an image compression apparatus and an image expansion apparatus for efficiently compressing a high resolution image and simultaneously compressing and expanding the image without causing deterioration in image quality.
[0005]
[Means for Solving the Problems]
An image compression apparatus according to the present invention includes a predicted value generation unit that generates a predicted value from adjacent pixel data for each pixel data for image data that corresponds to an input still image and includes a plurality of pixel data. The difference value generating means for obtaining the difference value by taking the difference between the predicted value and the pixel data, the Hadamard transform means for obtaining the Hadamard transform coefficient by performing the Hadamard transform on the difference value, and the quantization table of the Hadamard transform coefficient Quantization means for obtaining a quantized Hadamard transform coefficient by quantizing based on the above, and encoding means for obtaining compressed image data by encoding the quantized Hadamard transform coefficient .
[0006]
It is desirable that the predicted value generating means sets the pixel data one adjacent to the left of the pixel data to be encoded as the predicted value. The quantization table is preferably an 8-by-8 matrix composed of quantization coefficients that are powers of 2.
[0007]
The image decompressing apparatus of the present invention decodes compressed image data to obtain a quantized Hadamard transform coefficient, and inversely quantizes the quantized Hadamard transform coefficient to obtain an inverse quantized Hadamard transform coefficient. Determining inverse quantization means, correction coefficient creating means for converting inverse quantized Hadamard transform coefficients into correction coefficients, inverse Hadamard transform means for obtaining difference values by performing inverse Hadamard transform on the correction coefficients, difference values and predicted values And a means for obtaining image data by sequentially restoring the pixel data by taking the difference between them.
[0008]
In the correction coefficient creating means, it is desirable that the correction coefficient is obtained from remainder data obtained by dividing the inverse quantization Hadamard transform coefficient by a power of 2.
[0009]
It is desirable that the inverse quantized Hadamard transform coefficients are divided in the order of 2, 4, 8, 16, 32, and 64 to obtain respective residual data.
[0010]
In the correction coefficient creation means, the correction coefficient is increased or decreased by a predetermined value based on the sign of the inverse quantized Hadamard transform coefficient and the numerical value and sign of the remainder data. It is desirable to be required.
[0011]
In the correction coefficient creating means, when the remainder data is 0, it is desirable to use the inverse quantization Hadamard transform coefficient as the correction coefficient.
[0012]
An image compression apparatus according to the present invention includes a predicted value generation unit that generates a predicted value from adjacent pixel data for each pixel data for image data that corresponds to an input still image and includes a plurality of pixel data. The difference value generating means for obtaining the difference value by taking the difference between the predicted value and the pixel data, the Hadamard transform means for obtaining the Hadamard transform coefficient by performing the Hadamard transform on the difference value, and the quantization table of the Hadamard transform coefficient Quantizing means for obtaining a quantized Hadamard transform coefficient represented by a bit string by quantizing based on the bit string, and separating the bit string of the quantized Hadamard transform coefficient into an upper bit string and a lower bit string based on the bit allocation table Upper quantized Hadamard transform coefficient represented by bit string and lower quantized Hadamard transform coefficient represented by lower bit string Means for determining, by encoding the higher quantization Hadamard transform coefficients, characterized by comprising an encoding means for obtaining the compressed image data.
[0013]
The bit allocation table is preferably an 8-by-8 matrix composed of bit allocation coefficients representing the number of bits of the lower-order bit sequence separated by the bit separation means.
[0014]
The bit separation means performs a right shift operation on the bit string of the quantized Hadamard transform coefficient, sets the bit string of the quantized Hadamard transform coefficient converted by the right shift operation as an upper bit string, and sets the lower bit separated by the right shift operation as a lower bit string. It is desirable.
[0015]
The image decompression apparatus of the present invention decodes compressed image data to obtain a higher quantized Hadamard transform coefficient, and based on the bit allocation table, the upper quantized Hadamard transform coefficient and the lower quantized Hadamard transform coefficient. Bit synthesis means for obtaining a quantized Hadamard transform coefficient by bit synthesis, inverse quantization means for obtaining an inverse quantized Hadamard transform coefficient by inverse quantization of the quantized Hadamard transform coefficient, and inverse quantized Hadamard Pixel data is restored sequentially by taking the difference between the difference value and the predicted value, the correction coefficient creating means for converting the conversion coefficient into the correction coefficient, the inverse Hadamard transform means for obtaining the difference value by performing the inverse Hadamard transform on the correction coefficient. And means for obtaining image data.
[0016]
It is desirable that the bit synthesizing unit obtains the quantized Hadamard transform coefficient by performing a left shift operation on the bit string of the upper quantized Hadamard transform coefficient and applying the lower bit string to a portion that is left blank by the left shift operation.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an image compression apparatus and an image expansion apparatus according to embodiments of the present invention will be described with reference to the drawings.
1 to 19 are diagrams relating to an image compression apparatus and an image expansion apparatus according to the first embodiment, and FIG. 1 is a block diagram of the image compression apparatus.
[0018]
The subject image S (still image) is formed on the light receiving surface of the
[0019]
The digitized image signal is converted into luminance data Y and color difference data Cb, Cr by a signal processing circuit (not shown) and recorded in the
[0020]
Image data of luminance data Y and color difference data Cb and Cr is divided into a plurality of blocks on one screen and processed in units of blocks. Each block consists of 8 × 8 pixel data.
[0021]
The luminance data Y and the color difference data Cb and Cr are read from the
[0022]
Based on the luminance data Y and the pixel data of the color difference data Cb and Cr in each block, a predicted value is obtained by the predicted
[0023]
Pixel data of the luminance data Y and the color difference data Cb and Cr is converted into a difference value by the difference
[0024]
The difference value between the luminance data Y and the color difference data Cb and Cr is subjected to Hadamard transform in the
[0025]
The Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr are quantized by the
[0026]
Each block composed of the quantized Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr is zigzag scanned by the
[0027]
The quantized Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr arranged in a one-dimensional column are encoded (compressed) by the
[0028]
A compression process for one pixel block will be described with reference to FIGS. Here, the pixel block of the luminance data Y is targeted.
[0029]
In FIG. 2, the pixel block P, the prediction value matrix E, and the difference value matrix D are each illustrated as an 8 × 8 matrix. Each matrix element has a pixel value (pixel data is hereinafter referred to as a pixel value) Pyx, Predicted value Eyx, Difference value DyxIt is expressed.
[0030]
Pixel value Pyx, Predicted value Eyx, Difference value Dyx, The subscript y represents the position in the vertical direction, and is 0, 1, 2,... 7 from the top. The subscript x represents the position in the horizontal direction, and is 0, 1, 2,... 7 from the left. For example, when x = 1 and y = 1, the pixel value Pyx= 162.
[0031]
First, the pixel value P to be encodedyxFor the adjacent pixel value PyxBased on the predicted value EyxIs required. Predicted value EyxThere are several known methods for calculating the pixel value P, but here the pixel value P to be encoded isyxPixel value P next toyx-1Directly as predicted value EyxThe predicted value E by the method (predicting the previous value)yxAsk for. However, the pixel value P located in the leftmost column in the pixel block Py0Predicted value Ey0Is the pixel value P located in the rightmost column in the pixel block P adjacent to the left by oney7It is requested from.
[0032]
For example, the pixel value P to be encoded17Pixel value P that is one left next to (= 132)16(= 134) is the predicted value E17(= 134).
[0033]
Next, the predicted value EyxAnd the corresponding actual pixel value PyxBased on the pixel value PyxIs the difference value DyxIs converted to That is, the predicted value EyxTo pixel value PyxIs subtracted and the difference value DyxIs required.
[0034]
For example, the predicted value E17(= 134) to pixel value P17= (132) is subtracted to obtain the difference value D17(= 2) is required.
[0035]
In FIG. 3, the difference value matrix D, the Hadamard transform coefficient matrix A, the quantization table Q, and the quantized Hadamard transform coefficient matrix B are illustrated as 8 × 8 matrices, respectively. Each matrix element has a difference value Dyx, Hadamard transform coefficient Avu, Quantization coefficient Qvu, Quantized Hadamard transform coefficient BvuIt is expressed.
[0036]
Hadamard transform coefficient Avu, Quantization coefficient Qvu, Quantized Hadamard transform coefficient BvuThe subscript “v” indicates the position in the vertical direction in the same manner as the subscript “y”, and is 0, 1, 2,... 7 from the top. The subscript u indicates the position in the horizontal direction like the subscript x, and is 0, 1, 2,... 7 from the left. For example, when v = 1 and u = 1, Hadamard transform coefficient A11= −55.
[0037]
Difference value DyxAre Hadamard transformed and the Hadamard transform coefficient AvuIs converted to The Hadamard transform is expressed by the following equation (1).
[0038]
[Expression 2]
[0039]
In formula (1), HuxAnd HvyAre the elements of the Walsh-Hadamard matrix H shown below (1), {1 / (2 · 21/2)} Or {-1 / (2.21/2)}. HuxSubscripts u and x represent the vertical and horizontal directions of the matrix H, respectively.vyThe subscripts v and y in the same way represent the vertical and horizontal directions of the matrix H.
[0040]
Hadamard transform coefficient A at position (0, 0) in Hadamard transform coefficient matrix A00Is a DC component and the Hadamard transform coefficient A in the remaining positionsvuIs an AC component. The DC component is the difference value D in the difference value matrix D.yxThe spatial frequency is zero. On the other hand, the AC component is the Hadamard transform coefficient A01Or ATenTo Hadamard transform coefficient A77This indicates how many higher spatial frequency component values are in the difference value matrix D in the direction of. Thus, the difference value matrix D is decomposed for each spatial frequency component by Hadamard transform.
[0041]
Each pixel value PvuSince there is a correlation between them, each difference value D in the difference value matrix BvuThere is no significant difference between them. Therefore, Hadamard transform coefficient A obtained by Hadamard transformvuMost of them become average spatial frequency values, and the Hadamard transform coefficients A of the high frequency components in the Hadamard transform coefficient matrix AvuIs small.
[0042]
Each Hadamard transform coefficient AvuIs quantized and the quantization factor QvuQuantized Hadamard transform coefficient BvuIs converted to That is, each Hadamard transform coefficient AvuIs the corresponding quantization coefficient QvuThe remainder is rounded off (rounded off). For example, Hadamard transform coefficient A11(= −55) is the quantization coefficient Q11(= 4), the remainder is rounded, and the quantized Hadamard transform coefficient B11(= -14) is obtained.
[0043]
The quantization table Q used in the quantization is 2mQuantization coefficient Q expressed as (m = 0, 1, 2,...)vuIt is composed of The quantization table Q is a symmetric matrix,
Qvu =Quv(V ≠ u)
It becomes.
[0044]
The quantized Hadamard transform coefficient matrix B is zigzag scanned as shown in FIG.vuAre arranged in a one-dimensional column. This one-dimensional column is a quantized Hadamard transform coefficient B of the DC component.00Quantized Hadamard transform coefficient B in the order of arrowsvuIs a lined up column.
[0045]
Quantized Hadamard transform coefficients B arranged in a one-dimensional columnvuOn the other hand, zero runs are counted, and a group number and additional bits are obtained based on a group table (not shown). A Huffman codeword is obtained by referring to a Huffman table (not shown) based on the group number and the zero run length (zero continuous length) counted in the one-dimensional column. Then, by combining the Huffman codeword and the additional bits, encoded data (compressed image data) is obtained and recorded on the recording medium.
[0046]
Hadamard transform coefficient A of high frequency component in Hadamard transform coefficient matrix AvuIs small, the quantized Hadamard transform coefficient BvuIn the one-dimensional column, the appearance frequency of zero is high. Therefore, the zero run increases (continuous zero) and the zero run length becomes longer, and the number of bits of compressed image data obtained by encoding, that is, the amount of information decreases.
[0047]
Thus, the pixel value PyxInstead of the difference value DyxCan be compressed efficiently by subjecting to encoding and orthogonal transform.
[0048]
FIG. 5 is a block diagram of the image expansion apparatus according to the first embodiment. This image expansion apparatus is an apparatus that restores image data compressed by the image compression apparatus according to the first embodiment.
[0049]
The compressed image data recorded in the compressed image data recording area M2 of the recording medium M is read and sent to the
[0050]
The
[0051]
The quantized Hadamard transform coefficients arranged in the one-dimensional column are matrixed (reverse action of zigzag scanning) in the
[0052]
Luminance data Y and color difference dataCb, Cr quantized Hadamard transform coefficients are inversely quantized by the
[0053]
The inverse quantization Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr are converted into correction coefficients by the correction
[0054]
The correction coefficients of the luminance data Y and the color difference data Cb and Cr are converted into difference values by the inverse
[0055]
Based on the difference value and the predicted value generated by the predicted
[0056]
By sequentially restoring the pixel data, the image data of the luminance data Y and the color difference data Cb and Cr is restored, and the image data is sent to the
[0057]
Decompression processing for compressed image data will be described with reference to FIGS. Here, the compressed image data of luminance data Y is targeted.
[0058]
FIG. 6 shows a quantized Hadamard transform coefficient matrix B, a quantization table Q, an inverse quantized Hadamard transform coefficient matrix A ′, a correction coefficient matrix A ″ (Hadamard transform coefficient matrix A), a difference value matrix D, Is illustrated by an 8 × 8 matrix, each of which includes a quantized Hadamard transform coefficient Bvu, Quantization coefficient Qvu, Inverse quantized Hadamard transform coefficient A 'vu, Correction factor A "vu, Difference matrix DyxIt is expressed.
[0059]
By referring to the Huffman table based on the compressed image data, the group number and the zero run length are obtained. Quantized Hadamard transform coefficients B arranged in a one-dimensional column by referring to the group table based on the obtained group number, zero run length and sign bitvuIs required. And the quantized Hadamard transform coefficient BvuAre matrixed, and thereby a quantized Hadamard transform coefficient matrix B is generated.
[0060]
The quantized Hadamard transform coefficient B is inversely quantized using the quantization table Q, whereby the inverse quantized Hadamard transform coefficient A ′ is obtained. That is, the quantized Hadamard transform coefficient BvuCorresponding quantization factor QvuMultiplied by the inverse quantized Hadamard transform coefficient A 'vuIs required.
[0061]
For example, quantized Hadamard transform coefficient B11Quantization coefficient Q for (= -14)11By multiplying (= 4), the inverse quantized Hadamard transform coefficient A ′11(= −56) is obtained.
[0062]
In quantization in compression processing, Hadamard transform coefficient AvuRounds the remainder of division on. Therefore, the inverse quantized Hadamard transform coefficient A ′ obtained by inverse quantizationvuHas a quantization (rounding) error, and the inverse quantized Hadamard transform coefficient A 'vuAnd Hadamard transform coefficient AvuAre not necessarily equivalent. For example, the Hadamard transform coefficient A shown in FIG.11Inverse quantized Hadamard transform coefficient A ′ corresponding to (= −55)11A quantization error has occurred at (= −56).
[0063]
Therefore, in the first embodiment, the inverse quantization Hadamard transform coefficient A ′vuThe quantization error is corrected for the correction coefficient A "vuIs created. This correction factor A "vuIs the Hadamard transform coefficient AvuIs equivalent to That is, the inverse quantization Hadamard transform coefficient A ′ having a quantization error is obtained by the correction coefficient creation process.vuTo correction coefficient A "with no quantization errorvuIs converted to The correction coefficient creation process will be described later.
[0064]
Correction factor A "vuIs inverse Hadamard transformed and the difference value DyxIs required. The inverse Hadamard transform is expressed by the following equation (2).
[0065]
[Equation 3]
[0066]
In formula (2), HuxAnd HvyAre the elements of the Walsh-Hadamard matrix H shown below in equation (2). This inverse Hadamard transform is the reverse of the Hadamard transform.
[0067]
In FIG. 7, the difference value matrix D, the pixel block P, and the prediction value matrix E are illustrated as 8 × 8 matrices, respectively. Each matrix element has a difference value Dyx, Pixel value Pyx, Predicted value EyxIt is expressed.
[0068]
Difference value DyxAnd the corresponding predicted value EyxTo the pixel value PyxIs required. That is, the predicted value EyxTo difference value DyxIs subtracted to obtain the pixel value PyxIs required. Pixel value PyxAre sequentially restored in the pixel block P, and the restored pixel value PyxIs the pixel value P to be restored nextyxPredicted value EyxIt becomes.
[0069]
For example, the predicted value E44Difference value D from (= 167)44By subtracting (= 4), the pixel value P44(= 163) is obtained. Pixel value P44Is the pixel value P to be restored next45Predicted value E45(= 163).
[0070]
In this way, the pixel value P sequentiallyyxIs restored, the pixel block P is restored.
[0071]
The correction coefficient creation process will be described with reference to FIGS.
[0072]
8 and 9 are flowcharts showing the correction coefficient creation process. 10 to 13 are flowcharts showing in detail a part of the correction coefficient creation processing. That is, FIG. 10 is a subroutine of
[0073]
In the Hadamard transform, each element of the matrix H shown in the equation (1) is {1 / (2 · 21/2)} Or {-1 / (2.21/2)}, But the Hadamard transform coefficient A as a result of the equation (1)vuIs the difference value DyxIt can be expressed by addition / subtraction. In the correction coefficient creation process, the characteristics of the Hadamard transform and the quantization coefficient QvuIs expressed as a power of 2, and the inverse quantized Hadamard transform coefficient A 'vuAnd the remainder when the power is divided by the power of 2, and the inverse quantized Hadamard transform coefficient A 'vuInverse quantization Hadamard transform coefficient A 'vuCorrection factor A "vuCreate In the remainder calculation performed in the present embodiment, the sign of the remainder is divided, that is, the inverse quantization Hadamard transform coefficient A ′.vuAre indicated by the same reference numerals. For example, the remainder of 4 of −118 is −2.
[0074]
The correction coefficient creation process starts, and step 102 is first executed. In
[0075]
When
[0076]
FIG. 10 is a flowchart showing in detail the first coefficient update process (step 110). Although not shown in FIG. 10, the first coefficient update process includes 63 inverse quantized Hadamard transform coefficients A ′.vu(A00Other than).
[0077]
FIG. 14A shows an example of the Hadamard transform coefficient A shown in FIG.vu2's remainder M2 vu(Remainder M2 vuIt is a figure which shows. The shaded portion in FIG. 14A is the known remainder M obtained in
[0078]
Hadamard transform coefficient AvuThe value obtained by adding any two of is always an even number, that is, the Hadamard transform coefficient AvuAre either even or all odd. Also, the inverse quantized Hadamard transform coefficient A 'vu(A00) Is multiplied by a power of 2 and is always an even number. Therefore, the correction coefficient A "00Is an even number, there is no error, but the correction factor A "00Is an odd number, the inverse quantized Hadamard transform coefficient A 'vu(A00Except) has an error due to quantization and inverse quantization.
[0079]
First, in step 112, the correction coefficient A "vu2's remainder M2 vuIs obtained by the equation (3).
[0080]
M2 00= A "00 mod 2 (3)
| M2 vu| = | M2 00|
[0081]
In
[0082]
For example, as shown in FIG.00Is 159, the remainder M as shown in FIG.2 vuIs determined to be 1 or −1, and other inverse quantized Hadamard transform coefficients A ′ that are
[0083]
When
[0084]
6 inverse quantized Hadamard transform coefficients A '01, A ’02, A ’04, A ’Ten, A ’20, A ’40Are the Hadamard transform coefficients A01, A02, A04, ATen, A20, A40To the corresponding quantization coefficient Q01, Q02, Q04, QTen, Q20, Q40It is quantized and dequantized by. That is, these six inverse quantized Hadamard transform coefficients A 'vuAre all Hadamard transform coefficients Avu2 (quantization coefficient Qvu), Rounded to the nearest whole number, and 2 (quantization coefficient Qvu) Is multiplied.
[0085]
Therefore, the Hadamard transform coefficient AvuIs even, the corresponding inverse quantized Hadamard transform coefficient A 'vuMatches. For example, Hadamard transform coefficient AvuIs 16, the inverse quantized Hadamard transform coefficient A 'vuIs also 16.
[0086]
In contrast, Hadamard transform coefficient AvuIf it is a positive odd number, it is incremented by 1 due to quantization and inverse quantization, and is further incremented by 1 in
[0087]
Hadamard
[0088]
FIG. 11 is a flowchart showing in detail the first correction coefficient creation process (step 120). In the process of FIG. 11, (v, u) has six values (0, 1), (0, 2), (0, 4), (1, 0), (2, 0), (4, 0). Each combination is executed in turn. For example, A ”01Is obtained with v = 0 and u = 1 in the flowchart of FIG.
[0089]
First, step 121 is executed, and the remainder M of 22 vuIs updated. That is, the inverse quantized Hadamard transform coefficient A ′ updated in step 110.vuRemainder M based on2 vuIs newly obtained and the remainder M determined in step 1122 vuIs replaced. Next,
[0090]
In
[0091]
For example, Hadamard transform coefficient A40Is (−10) (even), the quantization, inverse quantization, and correction are not performed in
[0092]
Thus, in the first coefficient update process (step 110) and the first correction coefficient creation process (step 120), the inverse quantized Hadamard transform coefficient A ′ quantized in 2 is used.vuIs the remainder M of 22 vu6 correction coefficients A "vuIs required. This two
[0093]
Refer to FIG. 8 again. When the first correction coefficient creation process in
[0094]
Each Hadamard transform coefficient AvuIs the difference value DyxFor example, four coefficients A00, A20, A02, Atwenty twoThe result of adding together is expressed by the following equation (4), and the difference value DyxRegardless of the numerical value of, it is set to a multiple of 4.
[0095]
[0096]
(4) In the sum of Hadamard transform coefficients that is a multiple of 4, Hadamard transform coefficients A00, A20, A02That is, the correction coefficient A "00, A "20, A "02Has a numerical value known from
[0097]
FIG. 15A shows a known remainder M.Four vuAnd this known remainder MFour vuRemainder M derived fromFour vuIs a table in which FIG. 15B shows an example of the Hadamard transform coefficient A shown in FIG.vuRemainder MFour vuIs a diagram showing an 8 × 8 matrix. In FIG. 15B, the remainder M of the shaded portionFour vuIs a known remainder M shown on the left side of FIG.Four vuIt corresponds to. Remainder M of circled numbersFour vuIn
[0098]
FIG. 12 is a flowchart showing in detail the second coefficient update process of
[0099]
First, when the second coefficient updating process starts, in
[0100]
[0101]
Correction factor A "vuRemainder MFour vuIs an absolute value of 0, 1, 2, or 3, but the correction coefficient A "vuEither all 64 are even or all are odd. Therefore, the correction coefficient A "vuIs an even number, 64 remainders MFour vuThe absolute value of is formed by only 0 or 2. Correction factor A "vuIf O is odd, the remainder MFour vuThe absolute value of is formed by only 1 or 3. Seven remainders M obtained by equation (5)Four vuAnd a correction coefficient A ″ as in equation (4)vuFrom the correlation between them, the remaining 57 remainders MFour vuIs determined, and step 131 ends. For example, the correction coefficient A "shown in FIG.vuAre all odd numbers, and the remainder M as shown in FIG.Four vuThe absolute value of is formed only from 1 or 3.
[0102]
Remainder MFour vuAbsolute value of 2 or more, that is, the remainder MFour vuIs the quantization factor QvuWhen the half-value is equal to or greater than the half value of 4, the absolute value increases by quantization and inverse quantization, and the inverse quantization Hadamard transform coefficient A ′vuThe absolute value of is always a Hadamard transform coefficient AvuIt becomes larger than the absolute value of. In
[0103]
In
[0104]
In
[0105]
In
[0106]
As described above, in the second coefficient update process, the remainder MFour vuDequantized Hadamard transform coefficient A 'only when is 2, 3, (-1), (-2)vu2 is added to the remainder MFour vuIs 0, 1,(-3)The inverse quantized Hadamard transform coefficient A 'vuWill not be updated. For example, Hadamard transform coefficient AvuIs 10, 11, (−13), (−10), the inverse quantized Hadamard transform coefficient A ′vuBecomes 12, 12, (−12), (−12), and the dequantized Hadamard transform coefficient A ′ after being updated in
[0107]
Refer to FIG. 8 again. When
[0108]
Inverse quantized Hadamard transform coefficients A 'corresponding to the above 15vuAre all the quantization coefficients QvuQuantization and inverse quantization by That is, Hadamard transform coefficient AvuIs divided by 4 and rounded to the nearest decimal place. Therefore, the Hadamard transform coefficient AvuRemainder MFour vuIf 0 is a multiple of 4, the corresponding inverse quantized Hadamard transform coefficient A 'vuMatches.
[0109]
Remainder MFour vuA case where the absolute value of is 1 will be described. Hadamard transform coefficient AvuIf is positive, the remainder M of 22 vuIs included in the first coefficient update process (step 110), the inverse quantized Hadamard transform coefficient A 'is included.vuHas been updated and the Hadamard transform coefficient AvuAnd inverse quantized Hadamard transform coefficient A 'vuMatches. Hadamard transform coefficient AvuIf it is negative, 1 is increased by quantization / inverse quantization, 1 is added in step S110, and 2 is further added in
[0110]
For example, Hadamard
[0111]
Remainder MFour vuA case where the absolute value of is 2 will be described. Hadamard transform coefficient AvuIs positive, it is increased by 2 due to quantization / inverse quantization, and is further incremented by 2 in
[0112]
For example, Hadamard transform coefficient AvuIs 22, quantization coefficient QvuIs 4, the inverse quantized Hadamard transform coefficient A 'vuIs 24, remainder M2 vu= 0 and remainder MFour vu= 2. Inverse quantized Hadamard transform coefficient A 'vuThe numerical value of 24 remains at 24 at
[0113]
Remainder MFour vuA case where the absolute value of is 3 will be described. Hadamard transform coefficient AvuIf is positive, it is incremented by 1 by quantization / inverse quantization, and M in the first coefficient update process (step 110).2 vuSince 1 is added and 1 is further added in
[0114]
For example, Hadamard transform coefficient AvuIs 23, quantization coefficient QvuIs 4, the inverse quantized Hadamard transform coefficient A 'vuIs 24, remainder M2 vu= 1 and remainder MFour vu= 3. Inverse quantized Hadamard transform coefficient A 'vuIs updated to 25 in
[0115]
As described above, the dequantized Hadamard transform coefficient A ′ quantized and dequantized by 4vuIs the remainder MFour vuIt is required for each case. The second correction coefficient creation process is the remainder MFour vuIt is done using the information of.
[0116]
FIG. 13 is a flowchart showing in detail the second correction coefficient creation process of
[0117]
First, in
[0118]
In
[0119]
In
[0120]
In step 148, the correction coefficient A "vuIs the inverse quantized Hadamard transform coefficient A 'vu4 is subtracted from the second correction coefficient creation process. In
[0121]
In the second correction coefficient creation process (step 140), the remainder MFour vuIs 0, 1, (−2), (−3), the correction coefficient A ″vuIs the inverse quantized Hadamard transform coefficient A 'vuIs the same numerical value and the remainder MFour vuIs 2, 3, or (-1), the correction coefficient A "vuIs the inverse quantized Hadamard transform coefficient A 'vu4 is subtracted by 4.
[0122]
Thus, in the second coefficient update process (step 130) and the second correction coefficient creation process (step 140), the inverse quantized Hadamard transform coefficient A ′ quantized in 4 is used.vuWith a remainder of 4Four vu15 correction factors A "vuIs required. Quantization coefficient Q whose numerical value is 4vu15 correction factors A "corresponding tovuAre the corresponding Hadamard transform coefficients AvuAnd is equivalent.
[0123]
For example, Hadamard transform coefficient A06Is (−21) (see FIG. 3), the inverse quantized Hadamard transform coefficient A ′06Is (−20) (see FIG. 6), but is converted to (−19) by adding 1 by the execution of
[0124]
Refer to FIG. 8 again. When
[0125]
FIG. 16A shows a known remainder M.8 vuAnd this known remainder M8 vuRemainder M derived from8 vuIs a table in which FIG. 16B shows the Hadamard transform coefficient A shown in FIG.vuRemainder M8 vuFIG. 16C shows the correction coefficient A ″.vuFIG. The numbers in the shaded areas are the correction coefficients A "already obtained before the execution of step 160.vuIt is. The numbers in the non-shaded part are the correction coefficients A ″ obtained by executing
[0126]
In
[0127]
In
[0128]
FIG. 17A shows a known remainder M.16 vuAnd this known remainder M16 vuRemainder M derived from16 vuIs a table in which FIG. 17B shows the Hadamard transform coefficient A shown in FIG.vuRemainder M16 vuFIG. 17C shows the correction coefficient A ″.vuFIG. The shaded numbers are the correction factors A "already obtained before the execution of step 164.vuIt is. The numbers in the non-shaded part are the correction coefficients A ″ obtained by executing
[0129]
In
[0130]
In
[0131]
FIG. 18A shows a known remainder M.32 vuAnd this known remainder M32 vuRemainder M derived from32 vuIs a table in which FIG. 18B shows the Hadamard transform coefficient A shown in FIG.vuRemainder M32 vuFIG. 18C shows the correction coefficient A ″.vuFIG. The shaded numbers are the correction factors A "already obtained before the execution of step 168.vuIt is. The numbers in the unshaded part are
[0132]
In
[0133]
In
[0134]
19A shows the Hadamard transform coefficient A shown in FIG.vuRemainder M64 vuThe unshaded numbers in FIG. 19B are the correction coefficients A ″.77In
[0135]
In
[0136]
In the correction coefficient creation process, a process for obtaining a remainder in the order of powers of 2, 4, 8, 16, 32, and 64, and an inverse quantization Hadamard transform coefficient A ′ based on the obtained remainder information.vu14B, FIG. 15C, FIG. 16C, FIG. 17C, FIG. 18C, and FIG. 19B, as shown in FIG. , A "00To A "77Correction coefficient A "in order untilvuIs required. The correction coefficient matrix A ″ shown in FIG. 6 matches the Hadamard transform coefficient matrix A shown in FIG. 3 and is reversibly converted. Therefore, reproduced image data having no image deterioration with respect to the original image data is obtained. can get.
[0137]
The amount of information originally required for calculating the remainder of 64 requires 6 bits for each of the 64 coefficients, that is, a total of 384 bits. However, in the present embodiment, the amount of information required in the correction coefficient creation process obtained in six steps may be half. That is, the information amount of the remainder of 2 is M2 00Since it is only necessary to know whether 1 is 1 or 0, it is 1 bit. Further, the information amount of the remainder of 4 is 7 M indicated by the shaded portion in FIG.Four vuThat is, 7 bits. Similarly, the remainder information amounts of 8, 16, 32, and 64 are 22, 42, 57, and 63 bits, respectively. Therefore, the Hadamard transform coefficient A with a total information amount of 192 bits, that is, half of 384 bits, is used.vuIs restored correctly.
[0138]
Further, the quantized Hadamard transform coefficient B after the quantization is performed.vu, The quantization table Q so that the power is concentrated in the low frequency terms.vu(See FIG. 3), when encoding (compressing) using Huffman encoding, a compression rate approximately the same as the JPEG compression rate can be obtained. And the quantization table QvuIs formed from the power of 2 in view of the characteristics of Hadamard transform, so that it is possible to accurately decompress image information and to easily obtain reproduced image data free from quantization errors caused by conventional compression / decompression. it can.
[0139]
As described above, according to the first embodiment, the pixel value PyxAnd predicted value EyxBased on the difference value DyxAnd the difference value DyxBy performing Hadamard transform, the information amount of the encoded data is reduced, and the image can be efficiently compressed. Further, by converting the inverse Hadamard transform coefficient A ′ to the correction coefficient A ″, the original image can be restored without distortion.
[0140]
20 to 28 are diagrams relating to an image compression apparatus and an image expansion apparatus according to the second embodiment.
[0141]
FIG. 20 is a block diagram of an image compression apparatus according to the second embodiment.
[0142]
As in the first embodiment, the light of the subject image S is formed on the
[0143]
Image data of luminance data Y and color difference data Cb, Cr is read from the
[0144]
Image data of luminance data Y and color difference data Cb and Cr is divided into a plurality of blocks on one screen and processed in units of blocks. Each block consists of 8 × 8 pixel data. Further, the luminance data Y and the color difference data Cb and Cr are processed separately in the
[0145]
Based on the luminance data Y and the pixel data of the color difference data Cb and Cr in each block, a predicted value is obtained by the predicted
[0146]
Pixel data of the luminance data Y and the color difference data Cb, Cr is converted into a difference value by the difference
[0147]
The difference value between the luminance data Y and the color difference data Cb and Cr is subjected to Hadamard transform in the
[0148]
The Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr are quantized by the quantization unit 34 based on the quantization table Q and converted to quantized Hadamard transform coefficients. This quantization is linear quantization and is performed using a quantization table Q which is an 8 × 8 matrix composed of quantization coefficients that are powers of 2. That is, each Hadamard transform coefficient is divided by the corresponding quantization coefficient, and the remainder is rounded. Quantization table Q for luminance data Y as a quantization tabley, Quantization table Q for color difference data Cb, CrcAre provided.
[0149]
The luminance data Y and the color difference data Cb, Cr are represented by binary bit strings in the
[0150]
The block composed of the higher quantization Hadamard transform coefficients of the luminance data Y and the color difference data Cb, Cr is zigzag scanned by the
[0151]
The high-order quantized Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr arranged in a one-dimensional column are encoded (compressed) by the
[0152]
A compression process for one pixel block will be described with reference to FIG. Here, a pixel block of luminance data Y is targeted.
[0153]
In FIG. 21, the quantized Hadamard transform coefficient matrix B, the bit allocation table BT, the upper quantized Hadamard transform coefficient matrix, and the lower quantized Hadamard transform coefficient matrix BL are respectively illustrated as 8 × 8 matrices. The elements of each matrix are quantized Hadamard transform coefficients Bvu, Upper quantized Hadamard transform coefficient BHvu, Subquantized Hadamard transform coefficient BLvuIt is expressed. The quantized Hadamard transform coefficient matrix B is the quantized Hadamard transform coefficient matrix B shown in FIG. 3, and the compression processing from the pixel block P to the quantized Hadamard transform coefficient matrix B is the same as in the first embodiment. Therefore, it is omitted here.
[0154]
Quantized Hadamard transform coefficient BvuAre separated into an upper bit string and a lower bit string by bit separation, and an upper quantized Hadamard transform coefficient BH represented by the upper bit stringvuAnd lower quantized Hadamard transform coefficient BL represented by lower bit stringvuIs required. At this time, the number of bits to be separated, that is, the number of bits of the lower bit string is the corresponding bit allocation coefficient BT.vuAccording to the value of
[0155]
For example, quantized Hadamard transform coefficient B03The bit string of (= 5) is the corresponding bit allocation coefficient BT03The upper quantized Hadamard transform coefficient BH that is bit-separated based on (= 2) and represented by the upper bit string03(= 1) and a low-order quantized Hadamard transform coefficient BL represented by a 2-bit low-order bit string03(= 1) is obtained. The bit separation will be described later.
[0156]
FIG. 22 shows six bit allocation tables BT.1~ BT6Here, the bit allocation table BT is shown.FourIs used. The bit allocation table BT is a quantized Hadamard transform coefficient B having a large absolute value.vuHas a large bit allocation coefficient BTvu, Quantized Hadamard transform coefficient B with small absolute valuevuHas a small bit allocation coefficient BTvuAre configured to correspond. Therefore, the quantized Hadamard transform coefficient B having a large absolute valuevuEven in the case of bit separation, the upper quantization Hadamard transform coefficient BH having a small absolute value due to the large number of bits of the lower bit string to be separatedvuIs required. When performing bit separation, one bit distribution table BT may be applied to one screen, or a different bit distribution table BT may be applied to each block.
[0157]
Thus, the quantized Hadamard transform coefficient BvuOf the corresponding bit distribution coefficient BTvuThe upper quantized Hadamard transform coefficient BH is bit-separated so that the value of becomes the number of bits of the lower bit string and represented by the upper bit stringvuAnd lower quantized Hadamard transform coefficient BL represented by lower bit stringvuIs required.
[0158]
Upper quantized Hadamard transform coefficient BH obtained by bit separationvuThe process for obtaining compressed image data from is the same as in the first embodiment.
[0159]
The bit separation of 2 bits will be described with reference to FIGS. Therefore, the quantized Hadamard transform coefficient BvuIs represented by a bit string. Hadamard transform coefficient AvuIs usually assigned 14 bits, but here the quantized Hadamard transform coefficient BvuThe bit string of 16 is 16 bits, and 14 bits out of 16 bits are used to quantize the Hadamard transform coefficient BvuThe binary number is represented. Quantized Hadamard transform coefficient B of AC component taking positive and negative valuesvu, The most significant bit of the 16 bits is used as the sign bit, and the quantized Hadamard transform coefficient B is used using the 14 bits from the right end.vuThe binary number is represented.
[0160]
In FIG. 23, the quantized Hadamard transform coefficient B03Bit separation for (= 5) is shown.
[0161]
Quantized Hadamard transform coefficient B03(= 5) is “000000000000101” in binary notation, and the sign bit F is “0” representing positive. In the 16-bit bit string C0, the binary number “000000000000101” is represented using 14 bits from the right end. The sign bit F that is “0” is located at the most significant bit at the left end of the bit string C0. Quantized Hadamard transform coefficient BvuIs a negative value, the unused 1 bit J0 is “1”.
[0162]
By performing bit separation, the quantized Hadamard transform coefficient B03(= 5) is right-shifted. A right shift operation is an operation that shifts each bit to the right by a specified number of bits. When a 2-bit right shift operation is executed, each bit is moved to the right by two, and the lowermost bit K at the right end that is “01” is separated. Then, two sign bits F are applied to the leftmost two bits that are left blank by the right shift operation.
[0163]
In this way, the bit string C0 is converted into the bit string C1 representing the binary number “000000000001” using 12 bits by the right shift operation. This bit string C1 is an upper bit string, and a value representing the binary number “000000000001” in decimal notation is an upper quantized Hadamard transform coefficient BH03It becomes the value of. That is, the upper quantized Hadamard transform coefficient BH03The value of is 1.
[0164]
On the other hand, the lower bit K separated by the right shift operation is the lower bit string, and the value of the lower bit K is the lower quantized Hadamard transform coefficient BL03It becomes the value of. Since the binary number “01” is 1 in decimal notation, the lower quantized Hadamard transform coefficient BL03The value of is 1.
[0165]
Thus Hadamard transform coefficient B36The bit string C0 of (= 5) is separated into a bit string C1, which is an upper bit string, and a lower bit K, which is a lower bit string, by bit separation, whereby the upper quantized Hadamard transform coefficient BH03(= 1) and lower quantized Hadamard transform coefficient BL03(= 1) is obtained.
[0166]
Even in the case of a quantized Hadamard transform coefficient that is negative, bit separation is performed in the same manner. However, the sign bit F is “1” indicating negative, and the unused 1 bit J0 is “1”.
[0167]
Note that when performing n-bit bit separation, the quantized Hadamard transform coefficient BvuAn n-bit right shift operation is performed on.
[0168]
FIG. 24 is a flowchart showing the n-bit bit separation procedure. The bit separation procedure will be described with reference to FIGS.
[0169]
In
[0170]
In
[0171]
For example, in the case of 2-bit bit separation, the quantized Hadamard transform coefficient B03(= 5) is bit-separated so that the upper quantized Hadamard transform coefficient BH03(= 1) is obtained. In the case of 3-bit bit separation, the quantized Hadamard transform coefficient B40(= −8) is bit-separated so that the upper quantized Hadamard transform coefficient BH40(= -1) is obtained.
[0172]
In
[0173]
BLvu= Bvu-(BHvu× 2n(6)
[0174]
For example, in the case of 2-bit bit separation, the quantized Hadamard transform coefficient B03Lower quantization Hadamard transform coefficient BL for (= 5)03The value of is the upper quantized Hadamard transform coefficient BH03Because the value of is 1
BL03= 5- (1 × 22) = 1
It becomes.
[0175]
For example, in the case of 3-bit bit separation, the quantized Hadamard transform coefficient B40Lower quantization Hadamard transform coefficient BL for (= -8)40The value of is the upper quantized Hadamard transform coefficient BH40Because the value of -1 is
BLvu= −8 − (− 1 × 2Three) = 0
It becomes.
[0176]
In
[0177]
In
[0178]
In
[0179]
In
[0180]
If bit separation of the quantized Hadamard transform coefficient is performed, the quantized Hadamard transform coefficient BvuUpper quantization Hadamard transform coefficient BH which is smaller thanvuIs obtained. Therefore, the upper quantized Hadamard transform coefficients BH arranged in a zigzag scanvuIn the one-dimensional sequence, the appearance frequency of zero is the quantized Hadamard transform coefficient BvuIs higher than when zigzag scanning is performed. Accordingly, as the number of zero runs increases, the length of the zero runs increases, and the amount of encoded data information can be reduced. That is, the image can be efficiently compressed.
[0181]
FIG. 25 is a block diagram of an image expansion apparatus according to the second embodiment.
[0182]
The compressed image data recorded in the compressed image data recording area M2 of the recording medium M is read and sent to the
[0183]
The
[0184]
The quantized Hadamard transform coefficients arranged in a one-dimensional column are converted into a matrix that is the inverse of the zigzag scan in the
[0185]
The upper quantized Hadamard transform coefficient and the lower quantized Hadamard transform coefficient read from the lower recording area M3 of the recording medium M are bit-combined in the
[0186]
Luminance data Y and color difference dataCb, Cr quantized Hadamard transform coefficients are inversely quantized by the
[0187]
The inverse quantized Hadamard transform coefficients of the luminance data Y and the color difference data Cb and Cr are converted into correction coefficients by the correction
[0188]
The correction coefficients of the luminance data Y and the color difference data Cb and Cr are converted into difference values by the inverse
[0189]
Based on the difference value and the predicted value generated in the predicted
[0190]
By sequentially restoring the pixel data, the image data of the luminance data Y and the color difference data Cb and Cr is restored, and the image data is sent to the
[0191]
The decompression process for the compressed image data will be described with reference to FIG. Here, the compressed image data of luminance data Y is targeted.
[0192]
In FIG. 26, the upper quantized Hadamard transform coefficient matrix BH, the lower quantized Hadamard transform coefficient matrix BL, the bit allocation table BT, and the quantized Hadamard transform coefficient matrix B are illustrated as 8 × 8 matrices, respectively. . The elements of each matrix are the upper quantized Hadamard transform coefficients BH, respectively.vu, Subquantized Hadamard transform coefficient BLvu, Bit allocation coefficient BTvu, Quantized Hadamard transform coefficient BvuIt is expressed.
[0193]
The compressed image data is decoded and matrixed to obtain an upper quantized Hadamard transform coefficient matrix BH.
[0194]
Upper quantization Hadamard transform coefficient BHvuAnd lower quantized Hadamard transform coefficient BLvuIs the bit allocation coefficient BTvuBit synthesis based on Quantized Hadamard transform coefficient BvuIs restored.
[0195]
For example, the upper quantized Hadamard transform coefficient BH03(= 1) and lower quantized Hadamard transform coefficient BL03(= 1) is the bit allocation coefficient BT03Bit synthesis based on (= 2) and quantized Hadamard transform coefficient B03(= 5) is restored. The bit composition will be described later.
[0196]
The quantized Hadamard transform coefficient matrix B is the quantized Hadamard transform coefficient matrix B shown in FIG. 3, and the decompression process from the quantized Hadamard transform coefficient matrix B to the pixel block P is the same as in the first embodiment. Therefore, it is omitted here.
[0197]
The 2-bit bit composition will be described with reference to FIGS. Therefore, the upper quantized Hadamard transform coefficient BHvuIs represented by a bit string.
[0198]
In FIG. 27, the upper quantized Hadamard transform coefficient BH03(= 1) and lower quantized Hadamard transform coefficient BL03The bit composition for (= 1) is shown.
[0199]
Upper quantization Hadamard transform coefficient BH03The bit string of (= 1) is represented by a 16-bit bit string C1 as shown in FIG. Subquantized Hadamard transform coefficient BL03(= 1) is “1” in a binary number, and is represented by a 2-bit lower bit string K1.
[0200]
By performing bit synthesis, the upper quantized Hadamard transform coefficient BH03(= 1) is left-shifted. The left shift operation is an operation that shifts each bit of the bit string to the left by a specified number of bits. When the 2-bit left shift operation is executed, each bit of the bit string C1 is moved to the left by two, and the two “0” sign bits F at the left end are separated. Then, the lower-order bit string K1 which is “01” is filled in the lower-most bits at the right end which are left blank by the left shift operation. Also, 1 bit F0 which is the third “0” from the left end is moved to the most significant bit at the left end, and becomes a sign bit F.
[0201]
By left shift operation, the bit string C1 uses 14 bits to represent the binary number “000000000000101"Is converted into a bit string C0. A value representing the binary number “0000000000001011” in decimal notation is the quantized Hadamard transform coefficient B03It becomes. That is, the quantized Hadamard transform coefficient B03The value of is 5.
[0202]
Thus, the upper quantized Hadamard transform coefficient BH03(= 1) and lower quantized Hadamard transform coefficient BL03Quantized Hadamard transform coefficient B by bit synthesis of (= 1)03(= 5) is restored.
[0203]
FIG. 28 is a flowchart showing a procedure of n-bit bit synthesis. The flowchart of the bit composition procedure will be described with reference to FIGS.
[0204]
In
[0205]
In
[0206]
Bvu= BHvu× 2n+ BLvu(7)
[0207]
For example, in the case of 2-bit bit synthesis, the upper quantized Hadamard transform coefficient DH03(= 1) and lower quantized Hadamard transform coefficient BL03Quantized Hadamard transform coefficient B for (= 1)03The value of
B03= 1 x 22+ 1 = 5
It becomes.
[0208]
For example, in the case of 3-bit bit synthesis, the upper quantized Hadamard transform coefficient BH40(= -1) and lower quantized Hadamard transform coefficient BL40Quantized Hadamard transform coefficient B for (= 0)40The value of
B40= -1x2Three+ 0 = -8
It becomes.
[0209]
In
[0210]
In
[0211]
In
[0212]
In
[0213]
Thus, according to the second embodiment, the quantized Hadamard transform coefficient BvuBit distribution table BTvuBit separation based on the upper quantization Hadamard transform coefficient BHvuAnd lower Hadamard transform coefficient BLvuTherefore, the information amount of the compressed image data is reduced, and the image can be efficiently compressed. Also, the upper quantized Hadamard transform coefficient BHvuAnd lower quantized Hadamard transform coefficient BLvuQuantized Hadamard transform coefficient BvuAnd the inverse quantized Hadamard transform coefficient A ′vuCorrection factor A "vuBy converting to, the original image can be restored without distortion.
[0214]
【The invention's effect】
As described above, according to the present invention, it is possible to efficiently compress a high-resolution image and perform compression and expansion processing without distortion.
[Brief description of the drawings]
FIG. 1 is a block diagram of an image compression apparatus according to a first embodiment.
FIG. 2 is a diagram illustrating a pixel block, a prediction value matrix, and a difference value matrix.
FIG. 3 is a diagram illustrating a difference value matrix, a Hadamard transform coefficient matrix, a quantization table, and a quantized Hadamard transform coefficient matrix.
FIG. 4 is a diagram showing a zigzag scan for a quantized Hadamard transform coefficient matrix.
FIG. 5 is a block diagram of an image expansion apparatus according to the first embodiment.
FIG. 6 is a diagram illustrating a quantized Hadamard transform coefficient matrix, a quantization table, an inverse quantized Hadamard transform coefficient matrix, a correction coefficient matrix, and a difference value matrix.
FIG. 7 is a diagram illustrating a difference value matrix, a prediction value matrix, and a pixel block.
FIG. 8 is a flowchart showing the first half of processing of a correction coefficient creation unit;
FIG. 9 is a flowchart showing the second half of the processing of the correction coefficient creating unit.
FIG. 10 is a flowchart showing details of first coefficient update processing shown in FIG. 8;
FIG. 11 is a flowchart showing details of first correction coefficient creation processing shown in FIG. 8;
12 is a flowchart showing details of a second coefficient update process shown in FIG. 8. FIG.
FIG. 13 is a flowchart showing details of second correction coefficient creation processing shown in FIG. 8;
14 is a Hadamard transform coefficient A shown in FIG.vu2 remainder M obtained from2 vuAnd correction coefficient A "vuFIG.
FIG. 15: Hadamard transform
FIG. 16 Hadamard
FIG. 17 Hadamard
FIG. 18 Hadamard
19 is a Hadamard transform coefficient A shown in FIG.vu64 remainder M obtained from64 vuAnd correction coefficient A "vuFIG.
FIG. 20 is a block diagram of an image compression apparatus according to a second embodiment.
FIG. 21 is a diagram illustrating a quantized Hadamard transform coefficient matrix, a bit allocation table, an upper quantized Hadamard transform coefficient matrix, and a lower quantized Hadamard transform coefficient matrix;
FIG. 22 is a diagram showing six bit allocation tables.
FIG. 23 is a diagram illustrating bit separation of 2 bits with respect to a quantized Hadamard transform coefficient.
FIG. 24 is a flowchart showing n-bit bit separation for a quantized Hadamard transform coefficient matrix.
FIG. 25 is a block diagram of an image expansion apparatus according to a second embodiment.
FIG. 26 is a diagram illustrating an upper quantized Hadamard transform coefficient matrix, a lower quantized Hadamard transform coefficient matrix, a bit allocation table, and a quantized Hadamard transform coefficient matrix.
FIG. 27 is a diagram illustrating a 2-bit bit composition for an upper quantized Hadamard transform coefficient and a lower quantized Hadamard transform coefficient.
FIG. 28 is a flowchart showing n-bit bit synthesis for an upper quantized Hadamard transform coefficient matrix and a lower quantized Hadamard transform coefficient matrix.
[Explanation of symbols]
10 Image compression device
20 Image expansion device
30 Image compression device
Q quantization table
BT bit allocation table
40 Image expansion device
Claims (14)
前記予測値と前記画素データとの差分をとることにより、差分値を求める差分値生成手段と、
前記差分値をアダマール変換することにより、アダマール変換係数を求めるアダマール変換手段と、
前記アダマール変換係数を量子化係数で構成される量子化テーブルに基いて量子化することにより、量子化アダマール変換係数を求める量子化手段と、
前記量子化アダマール変換係数を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データを記録する記録手段とを備え、
前記量子化係数が2の累乗で表されるとともに、前記量子化テーブルが対称行列によって構成されることを特徴とする画像圧縮装置。A prediction value generating unit that generates a prediction value from adjacent pixel data for each pixel data for image data composed of a plurality of pixel data corresponding to an input still image;
A difference value generating means for obtaining a difference value by taking a difference between the predicted value and the pixel data;
Hadamard transform means for obtaining a Hadamard transform coefficient by Hadamard transform the difference value;
Quantization means for obtaining a quantized Hadamard transform coefficient by quantizing the Hadamard transform coefficient based on a quantization table composed of quantization coefficients;
Encoding means for obtaining compressed image data by encoding the quantized Hadamard transform coefficients;
Recording means for recording the compressed image data,
An image compression apparatus characterized in that the quantization coefficient is represented by a power of 2 and the quantization table is constituted by a symmetric matrix .
前記記録媒体に記録された前記圧縮画像データを復号化することにより、量子化アダマール変換係数を求める復号化手段と、
前記量子化アダマール変換係数を逆量子化することにより、逆量子化アダマール変換係数を求める逆量子化手段と、
前記逆量子化アダマール変換係数を、前記量子化テーブルに基づいてアダマール変換係数と同値の補正係数に変換する補正係数作成手段と、
前記補正係数を逆アダマール変換することにより、差分値を求める逆アダマール変換手段と、
前記差分値と予測値の差をとることにより順次画素データを復元し、画像データを求める手段とを備え、
前記補正係数作成手段が、アダマール変換係数の特性、前記量子化テーブルの特性、および逆量子化アダマール変換係数間の相関関係とに基づき、前記逆量子化アダマール変換係数を2の累乗で除算したときの剰余データの値を求め、求められた剰余データの値と前記逆量子化アダマール変換係数の値とに基づいて前記逆量子化アダマール変換係数を補正し、前記補正係数を求めることを特徴とする画像伸張装置。An image expansion device for expanding compressed image data obtained by the image compression device according to claim 1,
Decoding means for obtaining quantized Hadamard transform coefficients by decoding the compressed image data recorded on the recording medium ;
An inverse quantization means for obtaining an inverse quantized Hadamard transform coefficient by dequantizing the quantized Hadamard transform coefficient;
Correction coefficient creating means for converting the inverse quantized Hadamard transform coefficient into a correction coefficient equivalent to the Hadamard transform coefficient based on the quantization table ;
Inverse Hadamard transform means for obtaining a difference value by performing inverse Hadamard transform on the correction coefficient;
Means for sequentially restoring pixel data by taking the difference between the difference value and the predicted value, and obtaining image data ;
When the correction coefficient creation means divides the inverse-quantized Hadamard transform coefficient by a power of 2 based on the characteristics of the Hadamard transform coefficient, the characteristics of the quantization table, and the correlation between the inverse-quantized Hadamard transform coefficients And calculating the correction coefficient by correcting the inverse quantization Hadamard transform coefficient based on the obtained remainder data value and the value of the inverse quantization Hadamard transform coefficient. Image expansion device.
前記予測値と前記画素データとの差分をとることにより、差分値を求める差分値生成手段と、
前記差分値をアダマール変換することにより、アダマール変換係数を求めるアダマール変換手段と、
前記アダマール変換係数を量子化係数で構成される量子化テーブルに基いて量子化することにより、ビット列で表される量子化アダマール変換係数を求める量子化手段と、
前記量子化アダマール変換係数のビット列をビット配分係数で構成されるビット配分テーブルに基いて上位ビット列と下位ビット列に分離し、前記上位ビット列で表される上位量子化アダマール変換係数と下位ビット列で表される下位量子化アダマール変換係数とを求める手段と、
前記上位量子化アダマール変換係数を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データおよび前記下位量子化アダマール変換係数を記録媒体に記録する記録手段とを備え、
前記量子化係数が2の累乗で表されるとともに、前記量子化テーブルが対称行列によって構成され、
前記ビット配分テーブルが、絶対値の大きい量子化アダマール変換係数ほど絶対値が大きいビット配分係数が対応するように構成されていることを特徴とする画像圧縮装置。A prediction value generating unit that generates a prediction value from adjacent pixel data for each pixel data for image data composed of a plurality of pixel data corresponding to an input still image;
A difference value generating means for obtaining a difference value by taking a difference between the predicted value and the pixel data;
Hadamard transform means for obtaining a Hadamard transform coefficient by Hadamard transform the difference value;
Quantization means for obtaining a quantized Hadamard transform coefficient represented by a bit string by quantizing the Hadamard transform coefficient based on a quantization table composed of quantization coefficients;
The quantized Hadamard transform coefficient bit string is separated into an upper bit string and a lower bit string on the basis of a bit allocation table composed of bit allocation coefficients, and is represented by an upper quantized Hadamard transform coefficient and a lower bit string represented by the upper bit string. Means for obtaining a lower quantized Hadamard transform coefficient;
Encoding means for obtaining compressed image data by encoding the upper quantized Hadamard transform coefficients;
Recording means for recording the compressed image data and the lower quantized Hadamard transform coefficient on a recording medium ,
The quantization coefficient is represented by a power of 2, and the quantization table is constituted by a symmetric matrix;
An image compression apparatus , wherein the bit allocation table is configured such that a quantized Hadamard transform coefficient having a larger absolute value corresponds to a bit allocation coefficient having a larger absolute value .
前記記録媒体に記録された前記圧縮画像データを復号化することにより、上位量子化アダマール変換係数を求める復号化手段と、
前記上位量子化アダマール変換係数と前記記録媒体に記録された下位量子化アダマール変換係数を前記ビット配分テーブルに基いてビット合成することにより、量子化アダマール変換係数を求めるビット合成手段と、
前記量子化アダマール変換係数を逆量子化することにより、逆量子化アダマール変換係数を求める逆量子化手段と、
前記逆量子化アダマール変換係数を、前記量子化テーブルに基づいてアダマール変換係数と同値の補正係数に変換する補正係数作成手段と、
前記補正係数を逆アダマール変換することにより、差分値を求める逆アダマール変換手段と、
前記差分値と予測値の差をとることにより順次画素データを復元し、画像データを求める手段とを備え、
前記補正係数作成手段が、アダマール変換係数の特性、前記量子化テーブルの特性、および逆量子化アダマール変換係数間の相関関係とに基づき、前記逆量子化アダマール変換係数を2の累乗で除算したときの剰余データの値を求め、求められた剰余データの値と前記逆量子化アダマール変換係数の値とに基づいて前記逆量子化アダマール変換係数を補正し、前記補正係数を求めることを特徴とする画像伸張装置。An image expansion device for expanding compressed image data obtained by the image compression device according to claim 10 ,
Decoding means for obtaining higher quantized Hadamard transform coefficients by decoding the compressed image data recorded on the recording medium ;
By bit synthesized based backward quantization Hadamard transform coefficients recorded on the recording medium and the upper quantized Hadamard transform coefficients into said bit allocation table, a bit combining means for obtaining a quantized Hadamard transform coefficients,
An inverse quantization means for obtaining an inverse quantized Hadamard transform coefficient by dequantizing the quantized Hadamard transform coefficient;
Correction coefficient creating means for converting the inverse quantized Hadamard transform coefficient into a correction coefficient equivalent to the Hadamard transform coefficient based on the quantization table ;
Inverse Hadamard transform means for obtaining a difference value by performing inverse Hadamard transform on the correction coefficient;
Means for sequentially restoring pixel data by taking the difference between the difference value and the predicted value, and obtaining image data ;
When the correction coefficient creation means divides the inverse-quantized Hadamard transform coefficient by a power of 2 based on the characteristics of the Hadamard transform coefficient, the characteristics of the quantization table, and the correlation between the inverse-quantized Hadamard transform coefficients And calculating the correction coefficient by correcting the inverse quantization Hadamard transform coefficient based on the obtained remainder data value and the value of the inverse quantization Hadamard transform coefficient. Image expansion device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27102198A JP3845208B2 (en) | 1998-09-25 | 1998-09-25 | Image compression apparatus and image expansion apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27102198A JP3845208B2 (en) | 1998-09-25 | 1998-09-25 | Image compression apparatus and image expansion apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000101848A JP2000101848A (en) | 2000-04-07 |
JP3845208B2 true JP3845208B2 (en) | 2006-11-15 |
Family
ID=17494311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27102198A Expired - Fee Related JP3845208B2 (en) | 1998-09-25 | 1998-09-25 | Image compression apparatus and image expansion apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3845208B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100421465C (en) * | 2005-05-10 | 2008-09-24 | 扬智科技股份有限公司 | Method of compression and recompression image data for image acquiring apparatus |
JP6661285B2 (en) * | 2014-06-02 | 2020-03-11 | 三星ディスプレイ株式會社Samsung Display Co.,Ltd. | Display panel, method of compensating pixel luminance of display panel and method of compensating pixel parameters |
-
1998
- 1998-09-25 JP JP27102198A patent/JP3845208B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000101848A (en) | 2000-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100880039B1 (en) | Method and system for achieving coding gains in wavelet-based image codecs | |
JP4559622B2 (en) | Color image compression based on two-dimensional discrete wavelet transform yielding perceptually lossless images | |
JP3320389B2 (en) | Data processing method, system, device, and program storage device | |
JP2005236895A (en) | Image encoding device and method, and image decoding device and method | |
US6396955B1 (en) | Image compression and expansion device | |
JP3796432B2 (en) | Filter processing apparatus and filter processing method | |
JP2000244922A (en) | Method for compressing picture data | |
JP3375539B2 (en) | Image compression device and image decompression device | |
JP2004040429A (en) | Digital image encoder, digital image encoding method used therefor, and program therefor | |
JPH06350854A (en) | Picture compression encoding device | |
JP3845208B2 (en) | Image compression apparatus and image expansion apparatus | |
JP3845206B2 (en) | Image compression apparatus and image expansion apparatus | |
JP6684229B2 (en) | Precision and quantization method applicable to wavelet transform matrix | |
JPH1075450A (en) | Image compressor | |
JP2000013797A (en) | Image compressing device and image expanding device | |
JP3774201B2 (en) | Image processing device | |
JP2005151207A (en) | Image-coding method | |
JP3559314B2 (en) | Image compression device | |
JP3857820B2 (en) | Image compression apparatus and image expansion apparatus | |
JP3796354B2 (en) | Image coding method | |
JP3392949B2 (en) | Image compression device and image decompression device | |
JP2500583B2 (en) | Image signal quantization characteristic control method and image signal compression coding apparatus | |
JP2001085999A (en) | Image compression and expansion device | |
JP2008236090A (en) | Color space conversion apparatus and method, information processor, computer program, and information recording medium | |
Kamatar et al. | Image Compression Using Mapping Transform with Pixel Elimination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050707 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060502 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060627 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060808 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060818 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090825 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100825 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110825 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120825 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130825 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |