JP3673529B2 - 画像データの圧縮・伸長方法およびそのための装置 - Google Patents

画像データの圧縮・伸長方法およびそのための装置 Download PDF

Info

Publication number
JP3673529B2
JP3673529B2 JP26581293A JP26581293A JP3673529B2 JP 3673529 B2 JP3673529 B2 JP 3673529B2 JP 26581293 A JP26581293 A JP 26581293A JP 26581293 A JP26581293 A JP 26581293A JP 3673529 B2 JP3673529 B2 JP 3673529B2
Authority
JP
Japan
Prior art keywords
coefficient
image data
data
compressed image
code
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
Application number
JP26581293A
Other languages
English (en)
Other versions
JPH07123413A (ja
Inventor
俊樹 宮根
宇一 関本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP26581293A priority Critical patent/JP3673529B2/ja
Publication of JPH07123413A publication Critical patent/JPH07123413A/ja
Application granted granted Critical
Publication of JP3673529B2 publication Critical patent/JP3673529B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【産業上の利用分野】
この発明は、画像データを圧縮・伸長する方法およびそのための装置に関する。
【0002】
【従来の技術】
図31は、従来の画像データの圧縮/伸長装置の構成を示すブロック図である。画像データ圧縮装置540は、直交変換部542において原画像データをM×N画素のブロック毎に直交変換した後、量子化部544において量子化を行ない、さらに、エントロピー符号化部546において符号化を行なって圧縮画像データを作成する。一方、画像データ伸長装置550は、まずエントロピー復号化部556において圧縮画像データを復号化し、逆量子化部554で逆量子化した後に、逆直交変換部552によって画像データを復元する。なお、量子化部544と逆量子化部554は同一の量子化テーブル562を使用し、また、エントロピー符号化部546とエントロピー復号化部556も同一の符号テーブル564を使用する。
【0003】
【発明が解決しようとする課題】
ところで、1つの画像内に、高画質で復元したい第1の部分と低画質で復元してもよい第2の部分とを含む場合がある。このような場合には、第1の部分に対しては量子化レベルの小さな量子化テーブルを用いて量子化を行ない、第2の部分に対しては量子化レベルの大きな量子化テーブルを用いて量子化を行なえば良い。量子化テーブルは、画像データの画素ブロックと同じサイズの行列、すなわちM行N列の行列である。従来の画像データ圧縮/伸長装置では、1つの画像内において複数の量子化テーブルを使用する場合には、M行N列の複数の量子化テーブルを圧縮装置540から伸長装置550に転送しなければならず、圧縮画像データのデータ量を増大させるという問題があった。
【0004】
また、画像の中に一様な色を有する画素ブロックが連続するような単純な画像部分についても、それらの画素ブロックに対するM行N列の直交変換係数をすべてエントロピー符号化する。従って、このような単純な画像部分を表わす圧縮画像データも、かなりのデータ量になるという問題があった。
【0005】
この発明は、従来技術における上述の課題を解決するためになされたものであり、圧縮画像データのデータ量を従来に比べて低減することのできる技術を提供することを目的とする。
【0006】
【課題を解決するための手段および作用】
上述の課題を解決するため、この発明による圧縮画像データ伸長方法は、
(A)複数の画素ブロックに対する符号データと、前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対して割り当てられた第1の係数コードと、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対して割り当てられた第2の係数コードとを含む圧縮画像データを受け取る工程と、
(B)前記符号データをエントロピー復号化することによって、量子化された変換係数を生成するとともに、前記第1と第2の係数コードをエントロピー復号化することによって第1と第2の係数を生成する工程と、
(C)前記第1と第2の係数のそれぞれと、所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する工程と、
(D)前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第1の量子化テーブルで逆量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第2の量子化テーブルで逆量子化することによって、逆量子化された変換係数を求める工程と、
(E)前記逆量子化された変換係数を逆直交変換することによって、伸長された画像データを求める工程と、を備える。
【0007】
この伸長方法によれば、第1と第2の係数を与えるだけで量子化レベルの異なる第1と第2の量子化テーブルを作成できるので、2つの量子化テーブルを圧縮画像データに含める場合に比べて圧縮画像データのデータ量を低減することができる。また、第2の係数が現われるまでの複数の画素ブロックに対して第1の係数が適用されるので、これらの複数の画素ブロックのそれぞれの符号データの前に第1の係数を含めておく必要がない。
【0008】
前記符号データは、個々の画素ブロックの圧縮画像データであるブロックデータと前記基本量子化テーブルに乗じられる係数を表す係数コードとをそれぞれ1データユニットとして前記複数の画素ブロックの配列順序に従って配列された複数のデータユニットを含むとともに、前記第1の画素ブロックに対する第1のデータユニットの直前に前記第1の係数コードが配置され、前記第2の画素ブロックに対する第2のデータユニットの直前に前記第2の係数コードが配置されているようにしてもよい。
【0009】
こうすれば、第1と第2の係数を第1と第2の画素ブロックにそれぞれ容易に対応づけられる。
【0010】
また、前記第1と第2の係数コードは、前記第1と第2の係数をそれぞれ示すエントロピー符号語であり、前記変換係数の直流成分に対するエントロピー符号語を含む符号テーブルに含まれていることが好ましい。
【0011】
こうすれば、第1と第2の係数を一意にかつ瞬時に復号することができる。
【0014】
前記工程(C)は、前記第1と第2の係数のそれぞれと前記基本量子化テーブルに含まれている量子化レベルとの乗算結果が所定の最大値を超える場合には、前記乗算結果が前記最大値を超えた量子化レベルの値を前記最大値に等しく設定する工程、を含むようにしてもよい。
【0015】
こうすれば、量子化レベルのビット数を一定値以下に保つことができる。
【0016】
前記工程(C)は、前記基本量子化テーブル内の所定位置の基本量子化レベルをそのまま前記第1と第2の逆量子化テーブルの所定位置の量子化レベルとして使用する工程、を含むようにしてもよい。
【0017】
こうすれば、所定の位置の変換係数を逆量子化する際に発生する誤差を低減することができる。
【0018】
前記所定の基本量子化レベルは、前記変換係数の直流成分に関する量子化レベルであるようにするのが好ましい。
【0019】
変換係数の直流成分に対する量子化レベルを変えないようにすれば、直流成分の逆量子化にともなう誤差を低減することができる。
【0020】
前記圧縮画像データは、さらに、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の画素ブロックの個数を示す同一パターンブロックデータを含み、
さらに、前記工程(B)は、
前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって作成する工程、、を有するようにしてもよい。
【0021】
こうすれば、各画素ブロック内の画像が互いに同一である連続した複数の画素ブロックを比較的少ないデータで表わすことができる。
【0022】
前記所定の成分は直流成分であることが好ましい。
【0023】
こうすれば、連続した複数の画素ブロックを同一の色で塗ることができる。
【0024】
前記工程(D)は、前記同一パターンブロックデータから復号化された前記変換係数については前記逆量子化を省略する工程、を含むようにしてもよい。
【0025】
こうすれば、逆量子化による誤差の発生を防止することができる。
【0026】
この発明による他の圧縮画像データ伸長方法は、
(A)複数の第1の画素ブロックに対する符号データと、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の第2の画素ブロックの個数を示す同一パターンブロックデータとを含む圧縮画像データを受け取る工程と、
(B)前記符号データをエントロピー復号化することによって前記複数の第1の画素ブロックに対する第1の量子化された変換係数を作成し、また、前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって前記第2の量子化された変換係数を作成する工程と、
(C)前記第1と第2の量子化された変換係数を量子化テーブルを用いて逆量子化することによって、第1と第2の逆量子化された変換係数を求める工程と、
(D)前記第1と第2の逆量子化された変換係数を逆直交変換することによって、伸長された画像データを作成する工程と、
を備える。
【0027】
この方法では、各画素ブロック内の画像が互いに同一である連続した複数の画素ブロックを比較的少ないデータで表わすことができる。
【0028】
この発明による圧縮画像データ伸長装置は、
複数の画素ブロックに対する符号データと、前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対して割り当てられた第1の係数コードと、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対して割り当てられた第2の係数コードとを含む圧縮画像データを記憶する記憶手段と、
前記符号データをエントロピー復号化することによって、量子化された変換係数を生成するとともに、前記第1と第2の係数コードをエントロピー復号化することによって第1と第2の係数を生成するエントロピー復号化手段と、
前記第1と第2の係数のそれぞれと、所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する逆量子化テーブル作成手段と、
前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第1の量子化テーブルで逆量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第2の量子化テーブルで逆量子化することによって、逆量子化された変換係数を求める逆量子化手段と、
前記逆量子化された変換係数を逆直交変換することによって、伸長された画像データを求める逆直交変換手段と、
を備える。
【0029】
また、この発明による他の圧縮画像データ伸長装置は、
複数の第1の画素ブロックに対する符号データと、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の第2の画素ブロックの個数を示す同一パターンブロックデータとを含む圧縮画像データを記憶する第1の記憶手段と、
前記複数の第2の画素ブロックに関する変換係数の所定の成分に対する指定値を記憶する第2の記憶手段と、
前記符号データをエントロピー復号化することによって前記複数の第1の画素ブロックに対する第1の量子化された変換係数を作成し、また、前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって前記第2の量子化された変換係数を作成するエントロピー復号化手段と、
前記第1と第2の量子化された変換係数を量子化テーブルを用いて逆量子化することによって、第1と第2の逆量子化された変換係数を求める逆量子化手段と、
前記第1と第2の逆量子化された変換係数を逆直交変換することによって、伸長された画像データを作成する逆直交変換手段と、
を備える。
【0030】
この発明による画像データの圧縮方法は、
(A)画像データを画像内の複数の画素ブロック毎に直交変換して変換係数を求める工程と、
(B)前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対する第1の係数と、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対する第2の係数とを指定する工程と、
(C)前記第1と第2の係数のそれぞれと所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する工程と、
(D)前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記変換係数を前記第1の量子化テーブルで量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記変換係数を前記第2の量子化テーブルで量子化することによって、量子化された変換係数を求める工程と、
(E)前記量子化された変換係数をエントロピー符号化することによって符号データを作成するとともに、前記第1と第2の係数をエントロピー符号化することによって第1と第2の係数コードを作成する工程と、
(F)前記符号データと前記第1と第2の係数コードとを含む圧縮画像データを作成する工程と、
を備える。
【0031】
第1と第2の係数を与えるだけで量子化レベルの異なる第1と第2の量子化テーブルを作成できるので、2つの量子化テーブルを圧縮画像データに含める場合に比べて圧縮画像データのデータ量を低減することができる。
【0036】
【実施例】
以下では、次の各項目について順次説明を行なう。
A.圧縮/伸長装置の全体構成と基本動作;
B.量子化レベル係数QCxによる量子化テーブルQTの調整;
C.ハフマン符号化と圧縮データの構成;
D.逆量子化テーブル作成部の詳細構成;
E.ヌルランデータの復号化
【0037】
A.圧縮/伸長装置の構成と動作:
図1は、この発明の一実施例を適用した画像データの圧縮装置100と伸長装置200の機能を示すブロック図である。
【0038】
画像データ圧縮装置100は、原画像データf(x,y)に対してディスクリートコサイン変換を行なうDCT部110と、DCT変換で得られた変換係数F(u,v)を量子化する量子化部120と、量子化された変換係数QF(u,v)をハフマン符号化して圧縮画像データZZを作成するハフマン符号化部130と、量子化テーブル作成部140と、ハフマン符号テーブルメモリ150とを備えている。量子化テーブル作成部140は、後述するように、基本量子化テーブルBQTと量子化レベル係数QCxとに基づいて量子化テーブルQTを作成する。圧縮画像データZZは、CD−ROMなどの記憶媒体に記憶されて、画像データ圧縮装置100から画像データ伸長装置200に供給される。
【0039】
画像データ伸長装置200は、圧縮画像データZZをハフマン復号化するハフマン復号化部210と、復号された量子化後の変換係数QF(u,v)を逆量子化する逆量子化部220と、逆量子化された変換係数FF(u,v)にディスクリートコサイン逆変換を行なって画像データff(x,y)を得るIDCT部230と、ハフマン符号テーブルメモリ240と、逆量子化テーブル作成部250とを備えている。逆量子化テーブル作成部250は、圧縮画像データZZから復号された基本量子化テーブルBQTと量子化レベル係数QCxとをハフマン復号化部210から受取り、これらに基づいて量子化テーブルQTを作成する。この量子化テーブルQTは、圧縮装置100で用いられた量子化テーブルQTと同じである。また、ハフマン符号テーブルメモリ240に記憶されているハフマン符号テーブルHTも圧縮装置100のハフマン符号テーブルメモリ150に記憶されているものと同じである。
【0040】
図2は、画像データ圧縮装置100の具体的な構成を示すブロック図である。この画像データ圧縮装置100は、CPU101と、メインメモリ102と、キーボード103と、マウス104と、磁気ディスク装置105と、光磁気ディスク装置106とを備えている。図1に示す画像データ圧縮装置100の各処理部110〜140は、メインメモリ102に記憶されたソフトウェアプログラムによって実現されている。また、基本量子化テーブルBQTとハフマン符号テーブルHTは、磁気ディスク装置105に記憶されている。この画像データ圧縮装置100は、ビデオゲームを作成するためのワークステーションであり、画像データ圧縮のためのソフトウェアプログラムの他に、ビデオゲームを作成するための各種のプログラムがCPU101により実行される。完成したゲームプログラムは、圧縮画像データとともに光磁気ディスク装置106に格納される。そして、この光磁気ディスクを用いて、ビデオゲームのプログラムと圧縮画像データを含むCD−ROMが製作される。
【0041】
図3は、画像データ伸長装置200を含むビデオゲーム装置20の構成を示すブロック図である。このビデオゲーム装置20は、SCSIバス36を介して接続されたCD−ROMドライブ32の他、画像処理とこれに関する総ての処理を統括的に司るマイクロプロセッサ(以下、MPUという)40と、このMPU40に直接接続されたメインメモリ(以下、M−RAMと呼ぶ)41と、同じくBIOSプログラムを記憶したROM42と、MPU40のバス(M−BUS)43に接続された各種ユニット、即ち画像信号コントロールユニット45、画像データ伸長ユニット200、特定の画像信号を出力するVDPユニット49、ビデオ信号の合成と出力を行なうビデオエンコーダユニット50、音声データを扱う音声データ出力ユニット52とを備える。
【0042】
また、このビデオゲーム装置20内には、画像信号コントロールユニット45のローカルバス(K−BUS)54に接続されたメモリ(以下、K−RAMと呼ぶ)55、画像データ伸長ユニット200のローカルバスに接続されたメモリ(以下、R−RAMと呼ぶ)251、VDPユニット49のローカルバスに接続されたビデオメモリ(以下、V−RAMと呼ぶ)59、ビデオエンコーダユニット50からの出力信号を通常の映像信号(NTSC)に変換し、カラーテレビ28に出力するNTSCコンバータ60が備えられている。
【0043】
画像信号コントロールユニット45,画像データ伸長ユニット200,ビデオエンコーダユニット50および音声データ出力ユニット52は、それぞれロジック回路により構成されている。
【0044】
図4(A)は、ゲームの背景画像となる原画像の一例を示す平面図である。この原画像は、一様な色で塗られた背景BGに火山の自然画がはめ込まれた画像である。図4(B)は、1つの画素ブロックPBを含む原画像の一部を拡大して示している。一般に、画素ブロックPBは、M×N個の画素PXを含むように設定できる。2つの整数M,Nの値としては8または16が好ましく、この実施例では、M=N=8である。なお、整数MとNを異なる値に設定しても良い。後述するように、圧縮画像データZZの中で背景BGを表わすデータ部分は、一様色の画素ブロックPBが連続することを示す特別なデータ形式(ヌルランデータ)を有している。
【0045】
画像データ圧縮装置100のDCT部110は、次の数式1に従って、各画素ブロックPB毎に2次元DCT変換を行なう。
【数1】
Figure 0003673529
ここで、f(x,y)は1つの画素ブロックPBに含まれる8×8個の画像データの配列、x,yは各画素ブロックPB内の各画素の位置を示す座標、F(u,v)は変換係数の配列、u,vは周波数空間の座標である。
【0046】
図5は、変換係数F(u,v)の配列を示す説明図である。変換係数F(u,v)は画素ブロックPBと同じ8×8の配列である。左上端の変換係数F(0,0)はDC成分(またはDC係数)と呼ばれており、その他の変換係数はAC成分(またはAC係数)と呼ばれている。DC成分は、画素ブロックPBにおける画像データの平均値を示している。また、AC成分は、画素ブロックPB内における画像データの変化を示している。隣接する画素の画像データにはある程度の相関があるので、AC係数の中で低周波成分の値は比較的大きく、高周波成分の値は比較的小さい。また、高周波成分が画質に与える影響は比較的小さい。
【0047】
図6は、画像データ圧縮装置100と画像データ伸長装置200の基本動作を示す説明図である。DCT部110は、図6(a)に示すDCT係数F(u,v)を作成する。
【0048】
量子化テーブル作成部140は、次の数式2に示すように、基本量子化テーブルBQT(図6(c))と量子化レベル係数QCxとを乗ずることによって量子化テーブルQT(図6(d))を作成する。
【数2】
Figure 0003673529
【0049】
図6の例ではQCx=1なので、量子化テーブルQTは基本量子化テーブルBQTと同一である。
【0050】
量子化部120は、DCT係数F(u,v)を量子化テーブルQTで線形量子化することによって、図6(b)に示す量子化されたDCT係数QF(u,v)を求める。線形量子化とは、除算を行なって、その除算結果を整数に丸める処理である。
【0051】
ハフマン符号化部130は、このDCT係数QF(u,v)をハフマン符号化することによって圧縮画像データZZ(図6(e))を作成する。なお、ハフマン符号化の方法については更に後述する。圧縮画像データZZは、後述するように、基本量子化テーブルBQTを表わす第1のデータと、量子化レベル係数QCxと変換係数QF(u,v)を表わす第2のデータとを含んでいる。
【0052】
圧縮画像データZZが画像データ伸長装置200に与えられると、ハフマン復号化部210が圧縮画像データZZを復号化してDCT係数QF(u,v)(図6(f))を求める。ハフマン符号化は可逆符号化なので、このDCT係数QF(u,v)は、画像データ圧縮装置100の量子化部120によって求められた量子化後のDCT係数QF(u,v)(図6(b))と同一である。なお、ハフマン復号化部210は、DCT係数QF(u,v)の他に、圧縮画像データZZに含まれている基本量子化テーブルBQT(図6(c))と量子化レベル係数QCxも復号化して逆量子化テーブル作成部250に与える。
【0053】
逆量子化テーブル作成部250は、基本量子化テーブルBQTと量子化レベル係数QCxとを乗算することによって量子化テーブルQT(図6(d))を作成する。逆量子化部220は、この量子化テーブルQTとDCT係数QF(u,v)とを乗算し、図6(g)に示す復号されたDCT係数FF(u,v)を求める。
【0054】
IDCT部230は、このDCT係数FF(u,v)に対して次の数式3に示す2次元DCT逆変換を行ない、復元された画像データff(x,y)を作成する。
【数3】
Figure 0003673529
【0055】
B.量子化レベル係数QCxによる量子化テーブルQTの調整:
量子化テーブルQTは、前記数式2に従って基本量子化テーブルBQTと量子化レベル係数QCxとを乗算することによって作成されるので、量子化レベル係数QCxの値を大きくすれば量子化テーブルQT内の各量子化レベルを大きくすることができる。量子化レベル係数QCxの値は、画像データ圧縮装置100において画像データを圧縮する際に、予め定められた複数の値(0〜15)の中からオペレータが選択する。
【0056】
図7は、量子化レベル係数QCxを4に指定した場合の圧縮/伸長動作を示す説明図である。量子化テーブル作成部140と逆量子化テーブル作成部250は、上記の数式2に従って、図7(d)に示す量子化テーブルQTを作成する。但し、この実施例では量子化レベルの最大値が15に制限されており、乗算の結果が15以上になる量子化レベルの値はすべて強制的に15に設定される。
【0057】
図7(d)に示す量子化テーブルQTを用いて図7(a)のDCT係数F(u,v)を線形量子化すると、図7(b)に示すように、DC成分が1であり、AC成分がすべて0であるDCT係数QF(u,v)が得られる。このように、量子化レベル係数QCxの値を大きくすると、量子化されたDCT係数QF(u,v)における0の数が増加するので、データ圧縮率を高めることができる。但し、図7(g)に示す復号されたDCT係数FF(u,v)は、図7(a)に示す元のDCT係数F(u,v)とかなり異なる値を示しているので、量子化レベル係数QCxが1に等しい場合(図6)よりも画質の劣化は大きい。
【0058】
ところで、DCT係数のDC成分は画素ブロックPB内における画像データの平均値を示しているので、画質に対する影響がかなり大きい。従って、量子化レベル係数QCxの値に係わらずに、DC成分用の量子化レベルを基本量子化テーブルBQTにおける値と同じに保つようにするのが好ましい。図8は、このような場合の処理を示す説明図であり、DC成分用の量子化レベルQT(0,0)が強制的に1に保たれている。QT(0,0)=1の場合には、図8(g)に示す復号されたDCT係数FF(u,v)のDC成分が、図8(a)に示す元のDCT係数F(u,v)のDC成分と同じ値に保たれるので、図7の場合と同程度の圧縮率で画質の劣化を比較的小さく抑えることができる。なお、DC成分用の量子化レベルQT(0,0)は必ずしも1にする必要はなく、他の任意の値を設定しておいてもよい。
【0059】
量子化レベル係数QCxとしては0を選択することも可能である。QCx=0の場合には、図9に示すように、量子化テーブルQT内のすべての量子化レベルが1に設定される。量子化されたDCT係数QF(u,v)は元のDCT係数F(u,v)と同じであるので、圧縮率は小さいが高画質で圧縮/伸長を行なうことができる。
【0060】
以上をまとめると、量子化テーブル作成部140と逆量子化テーブル作成部250は、次のような特徴を有している。
(1)基本量子化テーブルBQTと量子化レベル係数QCxとを、数式2に従って乗算することによって量子化テーブルQTを作成する。
(2)乗算の結果が量子化レベルの最大値(=15)以上のものは、最大値に等しく設定する(図6〜図8)。
(3)DC成分用の量子化レベルQT(0,0)は、量子化レベル係数QCxの値に係わらず基本量子化テーブルBQTにおける値と同一に保つ(図8)。
(4)量子化レベル係数QCxが0の場合には、すべての量子化レベルを1に設定する(図9)。
【0061】
量子化テーブルQTを求める上述の演算は、画像データ圧縮装置100においてはソフトウエアプログラムによって行なわれ、画像データ伸長装置200においては専用のハードウエアで構成された逆量子化テーブル作成部250によって行なわれる。逆量子化テーブル作成部250の具体的な回路構成については更に後述する。
【0062】
なお、量子化レベル係数QCxは、画像データ圧縮装置100で画像データを圧縮する際に、キーボード103やマウス104を用いて画素ブロックPBごとに異なる値を指定することができる。
【0063】
C.ハフマン符号化と圧縮データの構成;
画像データ圧縮装置100のハフマン符号化部130(図1)は、DC係数符号化部とAC係数符号化部とで構成されている。図10(A)は、DC係数符号化部の機能を示すブロック図である。ブロック遅延部131と加算器132は、図10(B)に示すように、各画素ブロックPBのDC係数DCi と1つ前の画素ブロックPBのDC係数DCi-1 との差分△DCを算出する。
【0064】
カテゴリ化処理部133は、図11に示すカテゴリ化テーブルに従って、DC係数の差分△DCに対応するカテゴリSSSSと識別データIDとを求める。カテゴリSSSSは、DC係数の差分△DCの範囲を示す番号である。識別データIDは、カテゴリSSSSで指定される複数の差分△DCの中の小さい方から何番目の値であるかを示すデータである。
【0065】
カテゴリSSSSは、さらに1次元ハフマン符号化部134(図10)においてDC係数用のハフマン符号語HFDCに変換される。図12は、1次元ハフマン符号化部134によって使用されるハフマン符号テーブルHTDCの一例を示す説明図である。この実施例では、原画像データf(x,y)がYUV信号(輝度信号Yと2つの色差信号U,V)で表現されているものとする。U信号/V信号共用のDC係数用ハフマン符号テーブルは、0〜9のカテゴリSSSSの符号語を含むだけである。一方、Y信号用のDC係数用ハフマン符号テーブルは、0〜9のカテゴリSSSSの符号語の他に、15〜31のカテゴリSSSSの符号語を含んでいる。SSSS=15のハフマン符号語は、後述するヌルランデータであることを示している。ヌルランデータは、一様色の画素ブロックPBが連続することを示すデータである。また、SSSS=16〜31のハフマン符号語は、量子化レベル係数QCxの値を示す符号である。例えば、SSSS=16に対するハフマン符号語「 111110000」はQCx=0を示しており、SSSS=31に対するハフマン符号語「 111111111」はQCx=15を示している。なお、図12のハフマン符号語は、カテゴリSSSS=1〜9、および15〜31のすべてに関して一意復号可能で、かつ、瞬時復号可能である。
【0066】
図13は、ハフマン符号化部130内のAC係数符号化部の機能を示すブロック図である。AC係数の配列F(u,v)(u=v=0を除く)は、まずジグザグスキャン部135によって1次元に並び直される。図14は、ジグザグスキャンの順路を示す説明図である。
【0067】
判定部136は、1次元に並び直されたAC係数の値が0か否かを判定する。AC係数の値が0であれば、ランレングスカウンタ137が、連続する0のAC係数をゼロラン長NNNNに変換する。AC係数が0でなければ、そのAC係数の値がカテゴリ化部138によってカテゴリSSSSと識別データIDに変換される。この際、図11に示すカテゴリ化テーブルが参照される。
【0068】
ゼロラン長NNNNとカテゴリSSSSとは、2次元ハフマン符号化部139においてAC係数用のハフマン符号語HFACに変換される。図15は、AC係数用の2次元ハフマン符号テーブルHTACを示す説明図である。また、図16は、ハフマン符号テーブルHTACの中で、NNNN=0とNNNN=1の部分(図15における最上部2行)のハフマン符号語の一例を示している。なお、NNNN/SSSS=0/0のハフマン符号語「 11111」は、1つの画素ブロックに対する符号データの終了を示している。
【0069】
図17は、ハフマン符号化の一例を示す説明図である。図17(B)は、DC係数の符号化を示している。1つ前の画素ブロックにおけるDC係数の値を0と仮定すると、△DC=F(0,0)=12である。図11のカテゴリ化テーブルによれば△DC=12のカテゴリSSSSは4であり、識別データIDは「1100」である。また、図12のDC係数用ハフマン符号テーブルによれば、カテゴリSSSS=4のハフマン符号語HFDCは「 011」である。なお、ここではY信号用のハフマン符号テーブルを使用する。DC係数に対するハフマン符号(HF+ID)は、図17(B)に示すように「 0111100」となる。
【0070】
図17(C)はAC係数の符号化を示している。まず、ジグザグスキャンによって、AC係数が一次元の配列に並べられる。この配列は、ゼロラン長NNNNと、ゼロでない値のカテゴリSSSS(図11参照)とに変換される。ゼロラン長NNNNとカテゴリSSSSの組み合わせは、図15および図16に示すAC係数用ハフマン符号テーブルによってハフマン符号語HFACに変換され、ゼロでないAC係数の識別データIDと組み合わされて、図17(C)に示すようにハフマン符号(HFAC+ID)が作成される。
【0071】
図18は、圧縮データの構成を示す説明図である。圧縮データの全体は、図18(A)に示すように、ヘッダ部と圧縮データ部とダミー部とで構成されている。ヘッダ部は、それぞれ1バイトの4つのデータDFH,DFL,DLH,DLLを有している。最初の2つのデータDFH,DFLは、圧縮データ部に含まれるデータの種類を示している。圧縮データ部のデータには、基本量子化テーブルBQTのデータ、フルカラー自然画像圧縮データ、ランレングス画像圧縮データなどの種類がある。ヘッダの後部16ビットのデータ(DLH+DLL)は、圧縮データ部とダミー部の合計のデータ長を示している。圧縮データ部はハフマン符号を含む可変長のデータなので、ダミー部との合計のデータ長が、ワード(=2バイト)の整数倍の長さになるように調整されている。
【0072】
図18(B)は、基本量子化テーブルBQTを表わす圧縮データの構成を示している。この1セットの圧縮データは、Y信号用の基本量子化テーブルBQTを表わすデータと、U信号/V信号共用の基本量子化テーブルBQTを表わすデータとを含んでいる。なお、基本量子化テーブルBQTを表わすデータはハフマン符号化しておかなくてもよい。
【0073】
図18(C)は、フルカラー自然画像の圧縮データの構成を示している。圧縮データ部には、量子化レベル係数QCxを表わす符号データ(図12におけるカテゴリSSSS=16〜31の符号語)と、各画素ブロックの符号データであるブロックデータと、一様色の複数の画素ブロックを示すヌルランデータとを含んでいる。
【0074】
図18(D)に示すように、1ユニットのブロックデータは4組のY信号用データと、1組のU信号データと、1組のV信号用データとで構成されている。図19は、YUVの各信号のブロックの関係を示す説明図である。図19(A)に示すように、この実施例における1画面は、256画素×240走査線の大きさを有している。Y信号に関しては、間引きをせずに、8×8画素の画素ブロック毎にDCT変換が行なわれる。一方、U信号とV信号に関しては、図19(B)に示すように、横方向と縦方向に1/2に間引き(サブサンプリング)されて、間引き後の8×8画素のブロックに対してDCT変換が行なわれる。従って、図19(C)に示すように、Y信号の4つの画素ブロックY1〜Y4の領域がU信号とV信号の1つの画素ブロックの領域に対応している。なお、Y信号を間引きせずにU信号とV信号を間引きするのは、人間の目が輝度の変化(Y信号の変化)には比較的敏感であるが、色の変化(U信号とV信号の変化)には比較的鈍感だからである。U信号とV信号のみを間引くことによって、画質を過度に劣化させずに圧縮率を高めることができる。なお、図18(D)に示す1ユニットのブロックデータは、図19(C)に示す各領域のハフマン符号データを順に並べたものである。
【0075】
ブロックデータ内の1つの画素ブロックに対する符号データは、図18(F)に示すように、DC係数の1つのハフマン符号データと、AC係数の複数のハフマン符号データとで構成されている。DC係数のハフマン符号データは、前述したように、カテゴリSSSSのハフマン符号語HFDCと識別データIDとで構成される(図18(G))。また、AC係数のハフマン符号データは、ゼロラン長NNNNとカテゴリSSSSとの組み合わせに対するハフマン符号語HFACと、識別データIDとで構成される(図18(H))。
【0076】
量子化レベル係数QCxの符号データは、圧縮データ部の先頭と、量子化レベル係数QCxの値を変更したい画素ブロックのブロックデータの直前に挿入されている。2番目の量子化レベル係数QCxが挿入される前の複数の画素ブロックに対しては、先頭の量子化レベル係数QCxが共通に使用される。また、3番目の量子化レベル係数QCx(図示せず)が挿入される前の複数のブロックに対しては、2番目の量子化レベル係数QCxが共通に使用される。
【0077】
なお、圧縮データ部の先頭に量子化レベル係数QCxの符号語が含まれていない場合には、QCx=1であると見なされる。従って、圧縮データ部の先頭に量子化レベル係数QCxが挿入されておらず、途中に量子化レベル係数QCxが1回だけ挿入されている場合にも、量子化レベル係数QCxが2つ指定されていることと等価である。
【0078】
量子化レベル係数QCxを表わすハフマン符号は、ブロックデータの間に挿入されているので、新たな量子化レベル係数QCxが復号化された時点の次のブロックデータに対してこの新たな量子化レベル係数QCxを容易に適用することができる。また、図12に示すように、量子化レベル係数QCxの符号データはDC係数用のハフマン符号語で表わされているので、これがブロックデータの間に挿入されていても、この符号データがブロックY1用のDC係数の符号データであるか、量子化レベル係数QCxの符号データであるかを直ちに判断することが可能である。
【0079】
圧縮データ部に含まれているヌルランデータは、図18(E)に示すように、ヌルランデータであることを示すDC係数用符号語「NRL」と、ブロック数と、識別データIDとで構成されている。
【0080】
図20は、ヌルランデータによって表わされる画像を示す説明図である。図20(A)の原画像の背景BGは一様色で塗られている。図20(A)の楕円の部分は、図20(B)に示すようにすべての画素が同じ画像データ値(f(x,y)=12)を有する画素ブロックが18個連続しているものと仮定する。図20(C)は、これらの画素ブロックを表わすヌルランデータを示している。このヌルランデータは、16画素ブロック分の第1のヌルランデータNRD1と、2画素ブロック分の第2のヌルランデータNRD2を含んでいる。
【0081】
各ヌルランデータNRD1,NRD2の先頭には、ヌルランデータであることを示すDC係数用符号語「NRL」(図12のカテゴリSSSS=15の符号語「 1111011」)を有している。図18(F)に示すように、通常のブロックデータの先頭にはDC係数のハフマン符号が配置されているので、先頭にあるDC係数用符号語を復号化することによって、ヌルランデータと、ブロックデータと、量子化レベル係数QCxの符号データとを一意にかつ瞬時に識別することができる。
【0082】
図20(C)に示すように、ブロック数は、AC係数用ハフマン符号語で表わされている。図21は、AC係数用ハフマン符号テーブル(図15)のうちでヌルランデータに使用される部分を示す図である。ヌルランデータに使用される場合には、ゼロラン長NNNNは([ブロック数]−1)に等しいと設定される。また、AC係数の値は1であるとして、カテゴリSSSS=1のハフマン符号語が使用される。図20(C)に示す第1のヌルランデータNRD1におけるブロック数のデータ(NNNN/SSSS=15/1)は一様色の画素ブロックが16個連続していることを示している。また、第2のヌルランデータNRD2におけるブロック数のデータ(NNNN/SSSS=1/1)は一様色の画素ブロックが2個連続していることを示している。
【0083】
各ヌルランデータNRD1,NRD2の後端には、識別データIDが付加されている。この実施例では、ID=1に固定されている。
【0084】
ヌルランデータは、このように、20ビット程度のデータによって連続した複数の画素ブロックが一様色であることを表わすことが可能である。一方、通常のブロックデータによって一様色の1セットのブロック(図19に示すY信号を4画素ブロック、U信号,V信号を各1画素ブロック含む)を表わすには、約300〜約400ビット必要である。しかも、複数セットの画素ブロックが一様色であることを示す場合にも、各セットについて約300〜約400ビット必要である。従って、ヌルランデータを使用すれば、連続する一様色の多数の画素ブロックを表わす圧縮データのデータ量をかなり低減することが可能である。
【0085】
なお、ヌルランデータで表わされる一様色の画素ブロックの輝度信号Yや色差信号U,Vの値は、圧縮データには含まれておらず、ビデオゲームを記述するソフトウェアプログラムの中において指定されている。オペレータは、ビデオゲーム用のソフトウェアプログラムを作成する際に、一様色の画素ブロックの領域(図20(A)では背景BG)の範囲をマウス104で指定するとともに、これらのブロックの輝度や色調をキーボード103やマウス104を用いて指定する。こうすれば、例えばビデオゲーム装置20(図3)を用いてゲームを実行している途中に特定のイベントが発生した場合に、背景BGの色を時間的に変化させるなどの特殊な視覚的効果を生じさせることができる。なお、ヌルランデータを復号化する具体的な回路構成については更に後述する。
【0086】
D.逆量子化テーブル作成部の詳細構成:
図22は、図1に示す逆量子化テーブル作成部250の内部構成を示すブロック図である。逆量子化テーブル作成部250は、基本量子化テーブルBQTを記憶するRAM251と、RAM251のアドレスを生成するアドレス生成回路252と、量子化レベル係数QCxを保持するラッチ回路253と、量子化レベル係数QCxと基本量子化テーブルBQTとを乗算して量子化テーブルQTを生成する乗算ユニット254とを備えている。乗算ユニット254よって作成された量子化テーブルQTは、逆量子化部220に供給される。
【0087】
まず、CD−ROMに収納されている圧縮画像データZZがハフマン復号化部210に与えられると、基本量子化テーブルBQTの符号データが最初に復号化されてRAM251に供給される。この基本量子化テーブルBQTは、アドレス生成回路252から与えられるライトアドレスに従ってRAM251に記憶される。RAM251に記憶された基本量子化テーブルBQTは、すべての画素ブロックに対して使用される。
【0088】
アドレス生成回路252は、ハフマン復号化部210から出力されるDCT係数データQF(u,v)と同期してリードアドレスを発生し、このリードアドレスに応じてRAM251から基本量子化テーブルBQTが読み出される。一方、ハフマン復号化部210で復号化された量子化レベル係数QCxは、ラッチ回路253でラッチされて、次の量子化レベル係数QCxが与えられるまでラッチ回路253に保存される。従って、量子化レベル係数QCxが新たに供給されるまでは、複数の画素ブロックに対して同じ量子化レベル係数QCxが共通に使用される。
【0089】
図23は、逆量子化テーブル作成部250(図22)に含まれているラッチ回路253と乗算ユニット254の内部構成を示すブロック図である。ラッチ回路253は、2つのラッチ402,404で構成されている。乗算ユニット254は、同期クロック作成回路412と、AND回路414と、U信号スタート検出回路416と、V信号スタート検出回路418と、NAND回路420と、セレクタ422と、乗算器424と、クリッピング回路426と、ゼロ値修正回路428とを有している。
【0090】
図24は、図23に示す回路の動作を示すタイミングチャートである。ハフマン復号化部210(図1)で量子化レベル係数QCxが復号化されると、量子化レベル係数QCxのデータがイネーブル信号QENとともにラッチ回路253に与えられる(図24(a),(b))。第1のラッチ402はイネーブル信号QENの立ち上がりエッジで量子化レベル係数QCxをラッチして出力Q1を第2のラッチ404に供給する(図24(c))。
【0091】
図24(d)に示すように、RAM251(図22)からはY信号用の基本量子化テーブルBQTが4回読出された後に、U信号/V信号共用の基本量子化テーブルBQTが2回読出される。
【0092】
同期クロック作成回路412(図23)には、RAM251から読出される基本量子化テーブルBQTに同期して、Y信号の期間でLレベルとなり、U信号とV信号の期間ではHレベルとなるブロック識別信号UV/Yがアドレス生成回路252から与えられる(図24(e))。また、この際、イネーブル信号ENも同期クロック作成回路412に与えられる。同期クロック作成回路412は、ブロック識別信号UV/Yを反転して同期クロック信号SCK(図24(f))を生成し、これを第2のラッチ404のクロック入力端子に供給する。第2のラッチ404は、この同期クロック信号SCKの立ち上がりエッジで第1のラッチ402の出力Q1をラッチして、その出力Q2(図24(g))をセレクタ422のデータ入力端子に供給する。なお、セレクタ422の他のデータ入力端子には、固定値「1」が与えられている。
【0093】
U信号スタート検出回路416は、ブロック識別信号UV/Yと10MHzの基本クロック信号CLKとに基づいて、U信号用の基本量子化テーブルBQTのスタート時刻を示すUスタート信号USTRT(図24(h))を生成する。このUスタート信号USTRTは、ブロック識別信号UV/Yの立ち上がりエッジから100ナノ秒だけLレベルになる信号である。
【0094】
AND回路414には、6つのブロックY1〜Y4,U,Vの各期間でレベルが交互に切り替わるブロック切替信号SWTCH(図24(i))と、ブロック識別信号UV/Yとが与えられている。V信号スタート検出回路418は、AND回路414の出力と10MHzの基本クロック信号CLKとに基づいて、V信号用の基本量子化テーブルBQTのスタート時刻を示すVスタート信号VSTRT(図24(j))を生成する。このVスタート信号VSTRTは、ブロック識別信号UV/YがHレベルの期間において、ブロック切替信号SWTCHの立ち上がりエッジから100ナノ秒だけLレベルになる信号である。
【0095】
図25は、U信号スタート検出回路416とV信号スタート検出回路418の内部構成を示すブロック図である。これらの回路416,418は、どちらもDフリップフロップとNAND回路とで構成されている。U信号スタート検出回路416のDフリップフロップ432のD入力端子にはブロック識別信号UV/Yが供給されており、そのクロック入力端子には10MHzの基本クロック信号CLKが入力されている。NAND回路434の入力端子には、ブロック識別信号UV/YとDフリップフロップ432の反転出力とが与えられている。なお、ブロック識別信号UV/Yは基本クロック信号CLKに同期している。
【0096】
ブロック識別信号UV/YがLレベルの間は、Dフリップフロップ432の反転出力がHレベルなので、NAND回路434の出力USTRTはHレベルに保たれる(図24(h)参照)。ブロック識別信号UV/YがLレベルからHレベルに切り替わった直後は、NAND回路434の出力(Uスタート信号USTRT)がLレベルになり、100ナノ秒後に基本クロック信号CLKのエッジでDフリップフロップ432が入力をラッチすると、NAND回路434の出力USTRTは再びHレベルに戻る。
【0097】
V信号スタート検出回路418の動作も、U信号スタート検出回路416の動作と同じである。ただし、Dフリップフロップ436のD入力端子には、ブロック識別信号UV/Yとブロック切替信号SWTCHの論理積が与えられているので、ブロック識別信号UV/YがHレベルの期間において、ブロック切替信号SWTCHの立ち上がりエッジから100ナノ秒だけVスタート信号VSTRTがLレベルになる。
【0098】
NAND回路420(図23)には、Uスタート信号USTRTとVスタート信号VSTRTとが入力されており、その出力(選択信号SEL)はセレクタ422のセレクト入力端子に供給されている。選択信号SEL(図24(k))は、U信号用の期間の始めとV信号用の期間の始めに100ナノ秒だけHレベルになる。セレクタ422は、選択信号SELがLレベルの場合にはラッチ回路253から与えられた出力Q2をそのまま出力し、一方、選択信号SELがHレベルの場合には固定値「1」を出力する。セレクタ422の出力Q3は、乗算器424によって基本量子化テーブルBQTと乗算される。
【0099】
図24(l)に示すように、U信号用の期間の始めとV信号用の期間の始めには、セレクタ422の出力Q3は量子化レベル係数QCxの値に係わらずに必ず「1」になる。U信号用とV信号用の期間の始めの100ナノ秒の期間は、DC係数用の量子化レベルを算出するための期間である。従って、図23の回路を使用すれば、U信号とV信号に使用するDC係数用の量子化レベルと、指定された量子化レベル係数QCxとの乗算を実質的に行なわないようにすることができる。換言すれば、図23に示す回路は、図8(c),(d)に示す演算を実現する回路である。
【0100】
図23に示すように、乗算器424の出力はクリッピング回路426とゼロ値修正回路428によって修正されて最終的な量子化テーブルQTとなる。図26は、これらの2つの回路426,428の内部構成を示すブロック図である。
【0101】
クリッピング回路426は、4入力OR回路450と、8個の2入力OR回路452とで構成されている。これらの回路は、量子化レベルを9ビット(最上位ビットは符号ビット)で表現する場合の回路である。4入力OR回路450には、乗算器424(図23)から出力された14ビットのデータのうちで符号ビットD13を除く上位4ビットD9〜D12が入力されている。8個の2入力OR回路452の一方の入力端子には、4入力OR回路450の出力が与えられており、他方の入力端子には乗算器424の出力の下位8ビットD1〜D8が与えられている。上位4ビットD9〜D12の少なくとも1つの値が「1」の場合には、8つの2入力OR回路452の出力がすべて「1」になる。従って、乗算器424の出力が十進数で255以上の場合には、クリッピング回路426の出力が255に設定される。
【0102】
ゼロ値修正回路428では、クリッピング回路426内の7つのビットD2〜D8用の7つの2入力OR回路452の出力がそのまま出力される。また、これらの7つの2入力OR回路452の出力と符号ビットD13とが、8つのインバータ460にそれぞれ与えられている。8つのインバータ460の出力は8入力AND回路462に与えられており、このAND回路462の出力は2入力OR回路464に供給されている。この2入力OR回路464には、最下位ビットD1用の2入力OR回路452の出力が与えられている。この結果、乗算器424の出力の13ビットD1〜D13の値がすべて「0」の場合には、ゼロ値修正回路428は、最下位ビットの値のみが「1」で他の8ビットの値が「0」の量子化レベルQTを出力する。換言すれば、ゼロ値修正回路420は、図9(c),(d)に示す演算を実現している。
【0103】
E.ヌルランデータの復号化:
図27は、画像データ伸長装置200におけるハフマン復号化部210(図1)の内部構成を示すブロック図である。ハフマン復号化部210は、圧縮画像データZZをハフマン復号化する復号化部470と、制御部472と、セレクタ474と、DC係数レジスタ476とを備えている。
【0104】
復号化部470は、与えられた圧縮データの種類が基本量子化テーブルBQT、量子化レベル係数QCx、ブロックデータ、ヌルランデータのいずれであるかを判断し、圧縮データの種類を示す状態信号SSを制御部472に供給する。制御部472は、この状態信号SSに応じて制御信号CTL1,CTL2,CTL3を復号化部470と、セレクタ474と、ビデオゲーム装置のMPU40(図3)とにそれぞれ供給する。復号化された基本量子化テーブルBQTと量子化レベル係数QCxは、復号化部470から逆量子化テーブル作成部250に供給される。復号後の量子化されたDCT係数QF(u,v)は、復号化部470からセレクタ474に供給される。
【0105】
セレクタ474のデータ入力端子には、復号化部470から与えられたDCT係数QF(u,v)の他に、ゼロデータと、DC係数レジスタ476に登録されたDC係数QF(0,0)とが与えられている。DC係数レジスタ476には、ゲームのソフトウェアプログラムにおいて記述されている一様色の画素ブロックのDC係数QF(0,0)の値が、ビデオゲーム装置のMPU40によって書き込まれる。なお、DC係数QF(0,0)は、YUV信号に対してそれぞれ異なる値が登録される。
【0106】
ここで、図20(C)に示す2つのヌルランデータNRD1,NRD2を復号化する場合を考える。第1のヌルランデータNRD1の先頭のデータNRLが復号化部470によって検出されると、ヌルランデータであることを知らせる状態信号SSが復号化部470から制御部472に出力される。制御部472は、状態信号SSに応じて直ちに復号化部470とMPU40に制御信号CTL1,CTL2をそれぞれ出力して復号化動作を止めるように制御する。また、制御部472は、セレクタ474に制御信号CTL3を供給し、最初のブロックのDC係数として、DC係数レジスタ476に登録されているDC係数QF(0,0)を選択させる。図20(B)に示すように、原画像データf(x,y)の値が12の場合には、QF(0,0)=12がDC係数レジスタ476に登録されている。制御部472は、さらに、63個のAC係数として、すべてゼロデータを選択するようにセレクタ474を制御する。図28は、こうして作成されたDCT係数QF(u,v)を示している。
【0107】
第1のヌルランデータNRD1は、一様色のブロックが16個連続していることを示しているので、16個の画素ブロックのそれぞれについて、図28に示すDCT係数QF(u,v)が作成される。第2のヌルランデータNRD2についても同様に、2つのブロックのそれぞれについて、図28に示すDCT係数QF(u,v)が作成される。
【0108】
ヌルランデータの処理が終了すると、制御部472が復号化部470とMPU40に対して制御信号CTL1,CTL2を出力し、復号化動作を再開するよう制御する。ヌルランデータによって一様色であることが指定されている画素ブロックの輝度信号Yや色差信号U,Vの値は、MPU40からDC係数レジスタ476に書き込むDC係数の値を変更することによって容易に変更することができる。言い換えれば、ヌルランデータを利用すれば、一様色の画像領域の色を圧縮画像データ以外のデータに応じて所望の色に変更することができる。この実施例では、一様色のブロックの輝度信号Yや色差信号U,Vの値は、ビデオゲームを記述するソフトウェアプログラムの中で指定されている。
【0109】
図29は、ハフマン復号化部の他の構成を示すブロック図である。このハフマン復号化部210aでは、復号化部470から出力されたDCT係数QF(u,v)がセレクタ474をバイパスして逆量子化部220に直接与えられている。セレクタ474は、DC係数レジスタ476から与えられるDC係数QF(0,0)とゼロデータの一方を選択し、逆量子化部220をバイパスしてIDCT部230に直接供給している。制御部478は、図27と同様の3つの制御信号CTL1〜CTL3の他に、第4の制御信号CTL4をIDCT部230に出力している。
【0110】
制御部478は、圧縮データの種類を示す状態信号SSに応じて復号化部470と、MPU40と、IDCT部230とに、制御信号CTRL1,CTL2,CTL4をそれぞれ出力する。復号化部470で通常のブロックデータが復号されると、復号化されたDCT係数QF(u,v)が逆量子化部220に供給される。
【0111】
図20(C)に示す第1のヌルランデータNDR1の先頭のデータNRLが復号化部470によって検出されると、ヌルランデータであることを知らせる状態信号SSが復号化部470から制御部478に出力される。制御部478は、状態信号SSに応じて直ちに復号化部470とMPU40に制御信号CTL1,CTL2をそれぞれ出力して復号化動作を止めるように制御する。また制御部478は、セレクタ474に与える制御信号CTL3のレベルを切換えて、DC係数レジスタ476に登録されているDC係数QF(0,0)を選択させる。制御部478は、さらに、63個のAC係数として、すべてゼロデータを選択するようにセレクタ474を制御する。制御部478は、同時にIDCT部230に対して制御信号CTL4を出力し、セレクタ474の出力を選択して逆変換するように制御する。
【0112】
ヌルランデータの処理が終了すると、制御部478から復号化部470とMPU40に制御信号CTL1,CTL2が出力され、復号動作を再開するよう制御する。
【0113】
このように、図29に示す回路では、ヌルランデータの処理の際には、セレクタ474から出力されるDCT係数QF(u,v)が逆量子化部220をバイパスしてIDCT部230に直接供給されるので、逆量子化による演算誤差が生じないという利点がある。例えば、特定の色の部分を検出し透明色にするクロマキ−処理をビデオエンコーダユニット50(図3)によって行う時に、量子化による演算誤差が最小に押さえられるので、所望の色の画素ブロックを確実に透明色にすることが可能である。
【0114】
上記の実施例においては、ヌルランデータによってDC係数のみを任意に設定できるようにしたが、AC係数の所定の部分(例えばQF(1,0)とQF(0,1))に対して所望の値を設定できるようにすることも可能である。この場合には、ヌルランデータは同一の画像パターンを有する一連の画素ブロックの個数を表わす。
【0115】
F.変形例:
なお、この発明は上記実施例に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【0116】
(1)上記実施例では直交変換として2次元DCT変換を取り上げたが、本発明には任意の直交変換(例えばK−L変換やアダマール変換)が利用可能である。また、エントロピー符号化としては、ハフマン符号化以外の任意の符号化(例えば算術符号化やMEL符号化)を利用することができる。
【0117】
(2)画像データ圧縮装置100はハードウェアで実現してもよく、また、画像データ伸長装置200をソフトウェアで実現してもよい。図30は、ソフトウェアによって図18に示す圧縮データを伸長する処理の手順を示すフローチャートである。ステップS1では、ヘッダ部の値から圧縮データの内容を判断する。圧縮データが基本量子化テーブルBQTを表わしている場合には、ステップS2において基本量子化テーブルBQTをメモリに記憶し、ステップS1に戻る。
【0118】
圧縮データが画像を表わしている場合には、ステップS3において圧縮データ部内に含まれている各データユニットの先頭データの種類が判断される。ここで、データユニットとは、図18(C)に示す量子化レベル係数QCxの符号データ、ブロックデータ、ヌルランデータのそれぞれを意味している。図18(C),(D),(E),(F)に示すように、データユニットの先頭データとしては、量子化レベル係数QCxを表わすハフマン符号語と、ブロックデータのDC係数△DCのハフマン符号語と、ヌルランを表わすハフマン符号語NRLの3種類がある。
【0119】
先頭データが量子化レベル係数QCxのハフマン符号語である場合には、ステップS4において、この量子化レベル係数QCxと基本量子化テーブルBQTを乗ずることによって量子化テーブルQTを作成する。なお、この乗算の際に、前述した特徴、すなわち、(1)乗算結果が最大値以上の量子化レベルを最大値に設定すること、(2)DC係数は量子化しないこと、(3)量子化レベル係数QCxの値が0の時にはすべての量子化レベルを1に設定すること、が実現される。ステップS4において量子化テーブルQTが作成されると、ステップS3に戻る。
【0120】
ステップS3において先頭データがDC係数△DCのハフマン符号語であると判断された場合には、ステップS5において1画素ブロック分のデータが復号化されてDCT係数QF(u,v)が得られる。ステップS6では逆量子化が行なわれ、ステップS7では、2次元DCT逆変換が行なわれる。1セットのブロックデータ(図18(D))に含まれるすべての画素ブロックについてステップS5〜S7の処理が繰り返されると、ステップS8からステップS3に戻る。
【0121】
ステップS3において、先頭データがヌルランデータであることを示すハフマン符号語NRLであると判断された場合には、ステップS9において、1画素ブロックのDC成分が予め指定された値に設定されるとともに、63個のAC成分がすべて0に設定される。ステップS10では、こうして作成されたDCT係数に対して2次元DCT逆変換が行なわれる。ヌルランデータで指定されたブロック数だけステップS9,S10の処理が繰り返されると、ステップS11からステップS3に戻る。こうして、ステップS3〜S11の処理を圧縮データ部のすべてに亘って実行することによって画像データff(x,y)が復元される。
【0122】
(3)上記実施例では、本発明をビデオゲーム装置に適用した例を示したが、本発明はあらゆる種類の画像処理装置に適用することが可能である。
【0123】
(4)上記実施例では、量子化レベル係数QCxや量子化テーブルQT内の各量子化レベルを整数としたが、これらは小数を含む数でもよい。
【0124】
【発明の効果】
以上説明したように、請求項1,11および21に記載した発明によれば、第1と第2の係数を与えるだけで量子化レベルの異なる第1と第2の量子化テーブルを作成できるので、2つの量子化テーブルを圧縮画像データに含める場合に比べて圧縮画像データのデータ量を低減することができるという効果がある。また、第2の係数が現われるまでの複数の画素ブロックに対して第1の係数が適用されるので、これらの複数の画素ブロックのそれぞれの符号データの前に第1の係数を含めておく必要がなく、従って、圧縮画像データのデータ量を低減することができるという効果がある。
【0125】
請求項2,12および22に記載した発明によれば、第1と第2の係数を第1と第2の画素ブロックにそれぞれ容易に対応づけられるという効果がある。
【0126】
請求項3,13および22に記載した発明によれば、第1と第2の係数を一意にかつ瞬時に復号することができるという効果がある。
【0128】
請求項4および14に記載した発明によれば、量子化レベルのビット数を一定値以下に保つことができるという効果がある。
【0129】
請求項5および15に記載した発明によれば、所定の位置の変換係数を逆量子化するさいに発生する誤差を低減することができるという効果がある。
【0130】
請求項6および16に記載した発明によれば、変換係数の直流成分に対する量子化レベルを変えないようにすれば、直流成分の逆量子化にともなう誤差を低減することができるという効果がある。
【0131】
請求項7および17に記載した発明によれば、各画素ブロック内の画像が互いに同一である連続した複数の画素ブロックを比較的少ないデータで表わすことができるという効果がある。
【0132】
請求項8および18に記載した発明によれば、連続した複数の画素ブロックを同一の色で塗ることができるという効果がある。
【0133】
請求項9および19に記載した発明によれば、逆量子化による誤差の発生を防止することができるという効果がある。
【0134】
請求項10に記載した発明によれば、各画素ブロック内の画像が互いに同一である連続した複数の画素ブロックを比較的少ないデータで表わすことができるという効果がある。
【0135】
請求項24に記載した発明によれば、各画素ブロック内の画像が互いに同一である連続した複数の画素ブロックを比較的少ないデータで表わすことができるという効果がある。
【図面の簡単な説明】
【図1】この発明の一実施例を適用した画像データの圧縮装置と伸長装置の機能を示すブロック図。
【図2】画像データ圧縮装置100の具体的な構成を示すブロック図。
【図3】画像データ伸長装置200の具体的な構成を示すブロック図。
【図4】原画像を示す平面図。
【図5】DCT係数F(u,v)の配列を示す説明図。
【図6】圧縮/伸長の基本動作を示す説明図。
【図7】量子化レベル係数QCxが4の場合の圧縮/伸長動作を示す説明図。
【図8】量子化においてDC成分を変更しない場合の動作を示す説明図。
【図9】量子化レベル係数QCxが0の場合の圧縮/伸長動作を示す説明図。
【図10】DC係数符号化部の機能を示すブロック図。
【図11】ハフマン符号化におけるカテゴリ化テーブルを示す図。
【図12】DC係数用のハフマン符号テーブルHTDCの一例を示す説明図。
【図13】AC係数符号化部の機能を示すブロック図。
【図14】AC係数のジグザグスキャンの順路を示す説明図。
【図15】AC係数用の2次元ハフマン符号テーブルを示す説明図。
【図16】ハフマン符号テーブルの内容を示す図。
【図17】ハフマン符号化の一例を示す説明図。
【図18】圧縮データの構成を示す説明図。
【図19】YUVの各信号のブロックの関係を示す説明図。
【図20】ヌルランデータによって表わされる画像を示す説明図。
【図21】AC係数用のハフマン符号テーブルの他の部分を示す図。
【図22】逆量子化テーブル作成部250の内部構成を示すブロック図。
【図23】ラッチ回路253と乗算ユニット254の内部構成を示すブロック図。
【図24】図23に示す回路の動作を示すタイミングチャート。
【図25】U信号スタート検出回路416とV信号スタート検出回路418の内部構成を示すブロック図。
【図26】クリッピング回路426とゼロ値修正回路428の内部構成を示すブロック図。
【図27】ハフマン復号化部210の内部構成を示すブロック図。
【図28】ヌルランデータを復号化して得られたDCT係数を示す図。
【図29】ハフマン復号化部の他の構成を示すブロック図。
【図30】ソフトウェアによって圧縮データを復号する処理の手順を示すフローチャート。
【図31】従来の画像データ圧縮装置と伸長装置を示すブロック図。
【符号の説明】
20…ビデオゲーム装置
21…ROM
24,26…ゲームパッド
28…カラーテレビ
30…ビデオ信号ケーブル
32…CD−ROMドライブ
34…スピーカ
36…SCSIバス
38…スピーカ
40…MPU
40a…演算部
40b…コントローラ
41…メインメモリ
42…ROM
43…M−BUS
45…画像信号コントロールユニット
45a…MPUI/F
45b…SCSIコントローラ
45c…AFFINコンバータ
45d…グラフィックコントローラ
45e…サウンドコントローラ
49…VDPユニット
50…ビデオエンコーダユニット
50a…ルックアップテーブル
50b…優先順位設定部
50c…ミキサー
50c…画像データ合成部
50d…スーパーインポーズ部
50e…DAC
52…音声出力ユニット
52a…ADPCM部
55…RAM
59…RAM
60…NTSCコンバータ
100…画像データ圧縮装置
101…CPU
102…メインメモリ
103…キーボード
104…マウス
105…磁気ディスク装置
106…光磁気ディスク装置
110…DCT部
120…量子化部
130…ハフマン符号化部
131…ブロック遅延部
132…加算器
133…カテゴリ化処理部
134…1次元ハフマン符号化部
135…ジグザグスキャン部
136…判定部
137…ランレングスカウンタ
138…カテゴリ化部
140…量子化テーブル作成部
150…ハフマン符号テーブルメモリ
200…画像データ伸長装置
210…ハフマン復号化部
220…逆量子化部
230…IDCT部
240…ハフマン符号テーブルメモリ
250…逆量子化テーブル作成部
251…RAM
252…アドレス生成回路
253…ラッチ回路
254…乗算ユニット
402,404…ラッチ
412…同期クロック作成回路
414…AND回路
416…U信号スタート検出回路
418…V信号スタート検出回路
420…NAND回路
422…セレクタ
424…乗算器
426…クリッピング回路
428…ゼロ値修正回路
432,436…Dフリップフロップ
434,438…NAND回路
450…4入力OR回路
452…2入力OR回路
460…インバータ
462…AND回路
464…OR回路
470…復号化部
472…制御部
474…セレクタ
476…DC係数レジスタ
478…制御部
540…画像データ圧縮装置
542…直交変換部
544…量子化部
546…エントロピー符号化部
550…画像データ伸長装置
550…伸長装置
552…逆直交変換部
554…逆量子化部
556…エントロピー復号化部
562…量子化テーブル
564…符号テーブル
BG…背景
BQT…基本量子化テーブル
CLK…基本クロック信号
D1〜D13…乗算器424の出力
D13…符号ビット
EN…イネーブル信号
f(x,y)…原画像データ
ff(x,y)…復号された画像データ
F(u,v)…元のDCT係数
FF(u,v)…復号されたDCT係数
HFAC…AC係数用ハフマン符号語
HFDC…DC係数用ハフマン符号語
HTAC…AC係数用ハフマン符号テーブル
HTDC…DC係数用ハフマン符号テーブル
HT…ハフマン符号テーブル
ID…識別データ
NNNN…ゼロラン長
NRL…ヌルランデータ
PB…画素ブロック
PX…画素
QCx…量子化レベル係数
QEN…イネーブル信号
QF…量子化されたDCT係数
QT…量子化テーブル
SCK…同期クロック信号
SEL…選択信号
SS…状態信号
SSSS…カテゴリ
SWTCH…ブロック切替信号
U,V…色差信号
USTRT…Uスタート信号
VSTRT…Vスタート信号
Y…輝度信号
ZZ…圧縮画像データ

Claims (18)

  1. 画像データを直交変換し、量子化し、さらにエントロピー符号化して得られた符号データを含む圧縮画像データを伸長する方法であって、
    (A)複数の画素ブロックに対する符号データと、前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対して割り当てられた第1の係数コードと、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対して割り当てられた第2の係数コードとを含む圧縮画像データを受け取る工程と、
    (B)前記符号データをエントロピー復号化することによって、量子化された変換係数を生成するとともに、前記第1と第2の係数コードをエントロピー復号化することによって第1と第2の係数を生成する工程と、
    (C)前記第1と第2の係数のそれぞれと、所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する工程と、
    (D)前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第1の量子化テーブルで逆量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第2の量子化テーブルで逆量子化することによって、逆量子化された変換係数を求める工程と、
    (E)前記逆量子化された変換係数を逆直交変換することによって、伸長された画像データを求める工程と、
    を備え
    前記符号データは、個々の画素ブロックの圧縮画像データであるブロックデータと前記基本量子化テーブルに乗じられる係数を表す係数コードとをそれぞれ1データユニットとして前記複数の画素ブロックの配列順序に従って配列された複数のデータユニットを含むとともに、前記第1の画素ブロックに対する第1のデータユニットの直前に前記第1の係数コードが配置され、前記第2の画素ブロックに対する第2のデータユニットの直前に前記第2の係数コードが配置されており、
    前記第1と第2の係数コードは、前記第1と第2の係数をそれぞれ示すエントロピー符号語であり、前記変換係数の直流成分に対する一意復号可能でかつ瞬時復号可能なエントロピー符号語を含む符号テーブルに含まれている、圧縮画像データの伸長方法。
  2. 請求項1記載の圧縮画像データの伸長方法であって、前記工程(C)は、
    前記第1と第2の係数のそれぞれと前記基本量子化テーブルに含まれている量子化レベルとの乗算結果が所定の最大値を超える場合には、前記乗算結果が前記最大値を超えた量子化レベルの値を前記最大値に等しく設定する工程、
    を含む圧縮画像データの伸長方法。
  3. 請求項1記載の圧縮画像データの伸長方法であって、前記工程(C)は、
    前記基本量子化テーブル内の所定位置の基本量子化レベルをそのまま前記第1と第2の逆量子化テーブルの所定位置の量子化レベルとして使用する工程、
    を含む圧縮画像データの伸長方法。
  4. 請求項3記載の圧縮画像データの伸長方法であって、
    前記所定の基本量子化レベルは、前記変換係数の直流成分に関する量子化レベルである、圧縮画像データの伸長方法。
  5. 請求項1記載の圧縮画像データの伸長方法であって、
    前記圧縮画像データは、さらに、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の画素ブロックの個数を示す同一パターンブロックデータを含み、
    さらに、前記工程(B)は、
    前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって作成する工程、
    を有する圧縮画像データの伸長方法。
  6. 請求項5記載の圧縮画像データの伸長方法であって、
    前記所定の成分は直流成分である、圧縮画像データの伸長方法。
  7. 請求項5記載の圧縮画像データの伸長方法であって、
    前記工程(D)は、前記同一パターンブロックデータから復号化された前記変換係数については前記逆量子化を省略する工程、
    を含む圧縮画像データの伸長方法。
  8. 画像データを直交変換し、量子化し、さらにエントロピー符号化して得られた符号データを含む圧縮画像データを伸長する方法であって、
    (A)複数の第1の画素ブロックに対する符号データと、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の第2の画素ブロックの個数を示す同一パターンブロックデータとを含む圧縮画像データを受け取る工程と、
    (B)前記符号データをエントロピー復号化することによって前記複数の第1の画素ブロックに対する第1の量子化された変換係数を作成し、また、前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって前記第2の量子化された変換係数を作成する工程と、
    (C)前記第1と第2の量子化された変換係数を量子化テーブルを用いて逆量子化することによって、第1と第2の逆量子化された変換係数を求める工程と、
    (D)前記第1と第2の逆量子化された変換係数を逆直交変換することによって、伸長された画像データを作成する工程と、
    を備えることを特徴とする圧縮画像データの伸長方法。
  9. 画像データを直交変換し、量子化し、さらにエントロピー符号化して得られた符号データを含む圧縮画像データを伸長する装置であって、
    複数の画素ブロックに対する符号データと、前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対して割り当てられた第1の係数コードと、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対して割り当てられた第2の係数コードとを含む圧縮画像データを記憶する記憶手段と、
    前記符号データをエントロピー復号化することによって、量子化された変換係数を生成するとともに、前記第1と第2の係数コードをエントロピー復号化することによって第1と第2の係数を生成するエントロピー復号化手段と、
    前記第1と第2の係数のそれぞれと、所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する逆量子化テーブル作成手段と、
    前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第1の量子化テーブルで逆量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記量子化された変換係数を前記第2の量子化テーブルで逆量子化することによって、逆量子化された変換係数を求める逆量子化手段と、
    前記逆量子化された変換係数を逆直交変換することによって、伸長された画像データを求める逆直交変換手段と、
    を備え
    前記符号データは、個々の画素ブロックの圧縮画像データであるブロックデータと前記基本量子化テーブルに乗じられる係数を表す係数コードとをそれぞれ1データユニットとして前記複数の画素ブロックの配列順序に従って配列された複数のデータユニットを含むとともに、前記第1の画素ブロックに対する第1のデータユニットの直前に前記第1の係数コードが配置され、前記第2の画素ブロックに対する第2のデータユニットの直前に前 記第2の係数コードが配置されており、
    前記第1と第2の係数コードは、前記第1と第2の係数をそれぞれ示すエントロピー符号語であり、前記変換係数の直流成分に対する一意復号可能でかつ瞬時復号可能なエントロピー符号語を含む符号テーブルに含まれている、圧縮画像データの伸長装置。
  10. 請求項9記載の圧縮画像データの伸長装置であって、前記逆量子化テーブル作成手段は、
    前記第1と第2の係数のそれぞれと前記基本量子化テーブルに含まれている量子化レベルとの乗算結果が所定の最大値を超える場合には、前記乗算結果が前記最大値を超えた量子化レベルの値を前記最大値に等しく設定するクリッピング手段、
    を含む圧縮画像データの伸長装置。
  11. 請求項9記載の圧縮画像データの伸長装置であって、前記逆量子化テーブル作成手段は、
    前記基本量子化テーブル内の所定位置の基本量子化レベルをそのまま前記第1と第2の逆量子化テーブルの所定位置の量子化レベルとして使用する手段、
    を含む圧縮画像データの伸長装置。
  12. 請求項11記載の圧縮画像データの伸長装置であって、
    前記所定の基本量子化レベルは、前記変換係数の直流成分に関する量子化レベルである、圧縮画像データの伸長装置。
  13. 請求項9記載の圧縮画像データの伸長装置であって、
    前記圧縮画像データは、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の画素ブロックの個数を示す同一パターンブロックデータを含み、
    さらに、前記エントロピー復号化手段は、
    前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって作成する手段、
    を有する圧縮画像データの伸長装置。
  14. 請求項13記載の圧縮画像データの伸長装置であって、
    前記所定の成分は直流成分である、圧縮画像データの伸長装置。
  15. 請求項13記載の圧縮画像データの伸長装置であって、
    前記エントロピー復号化手段は、前記同一パターンブロックデータから復号化された前記変換係数を、前記逆量子化手段をバイパスして前記逆直交変換手段に供給する手段、
    を含む圧縮画像データの伸長装置。
  16. 画像データを直交変換し、量子化し、さらにエントロピー符号化して得られた符号データを含む圧縮画像データを伸長する装置であって、
    複数の第1の画素ブロックに対する符号データと、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の第2の画素ブロックの個数を示す同一パターンブロックデータとを含む圧縮画像データを記憶する第1の記憶手段と、
    前記複数の第2の画素ブロックに関する変換係数の所定の成分に対する指定値を記憶する第2の記憶手段と、
    前記符号データをエントロピー復号化することによって前記複数の第1の画素ブロックに対する第1の量子化された変換係数を作成し、また、前記同一パターンブロックデータで指定された個数の前記連続した複数の画素ブロックに対して共通して適用される変換係数として前記量子化された変換係数を作成する際に、前記変換係数の所定の成分を予め指定された値に設定するとともに、前記所定の成分以外の前記変換係数の成分の値をゼロに設定することによって前記第2の量子化された変換係数を作成するエントロピー復号化手段と、
    前記第1と第2の量子化された変換係数を量子化テーブルを用いて逆量子化することによって、第1と第2の逆量子化された変換係数を求める逆量子化手段と、
    前記第1と第2の逆量子化された変換係数を逆直交変換することによって、伸長された画像データを作成する逆直交変換手段と、
    を備えることを特徴とする圧縮画像データの伸長装置。
  17. 画像データの圧縮方法であって、
    (A)画像データを画像内の複数の画素ブロック毎に直交変換して変換係数を求める工程と、
    (B)前記複数の画素ブロックの先頭に位置する第1の画素ブロックに対する第1の係数と、前記複数の画素ブロックの配列の中の任意の位置に配置された第2の画素ブロックに対する第2の係数とを指定する工程と、
    (C)前記第1と第2の係数のそれぞれと所定の基本量子化テーブルの基本量子化レベルとを乗ずることによって、第1と第2の量子化テーブルを作成する工程と、
    (D)前記第1の画素ブロックから前記第2の画素ブロックの直前の画素ブロックまでの一連の画素ブロックに対しては前記変換係数を前記第1の量子化テーブルで量子化し、前記第2の画素ブロックから次の係数コードが割り当てられた画素ブロックが現れるまでの一連の画素ブロックに対しては前記変換係数を前記第2の量子化テーブルで量子化することによって、量子化された変換係数を求める工程と、
    (E)前記量子化された変換係数をエントロピー符号化することによって符号データを作成するとともに、前記第1と第2の係数をエントロピー符号化することによって第1と第2の係数コードを作成する工程と、
    (F)前記符号データと前記第1と第2の係数コードとを含む圧縮画像データを作成する工程と、
    を備え
    前記符号データは、個々の画素ブロックの圧縮画像データであるブロックデータと前記基本量子化テーブルに乗じられる係数を表す係数コードとをそれぞれ1データユニットとして前記複数の画素ブロックの配列順序に従って配列された複数のデータユニットを含むとともに、前記第1の画素ブロックに対する第1のデータユニットの直前に前記第1の係数コードを含み、前記第2の画素ブロックに対する第2のデータユニットの直前に前記第2の係数コードを含み、
    前記工程(E)は、
    前記第1の係数と前記第2の係数と前記変換係数の直流成分とに対する一意復号可能でかつ瞬時復号可能なエントロピー符号語をそれぞれ含む符号テーブルを用いて、前記第1と第2の係数をエントロピー符号化する工程を含む、画像データの圧縮方法。
  18. 請求項17記載の画像データの圧縮方法であって、前記工程(E)は、各画素ブロック内の画像が同一であるとともに連続して配列されている複数の画素ブロックの個数を示す同一パターンブロックデータを作成する工程を含み、
    前記工程(F)は、前記符号データおよび前記第1と第2の係数コードとともに、前記同一パターンブロックデータを含む圧縮画像データを作成する工程を含む画像データの圧縮方法。
JP26581293A 1992-09-28 1993-09-28 画像データの圧縮・伸長方法およびそのための装置 Expired - Fee Related JP3673529B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26581293A JP3673529B2 (ja) 1992-09-28 1993-09-28 画像データの圧縮・伸長方法およびそのための装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP25839892 1992-09-28
JP4-258398 1992-09-28
JP6683193 1993-03-25
JP5-66831 1993-03-25
JP26581293A JP3673529B2 (ja) 1992-09-28 1993-09-28 画像データの圧縮・伸長方法およびそのための装置

Publications (2)

Publication Number Publication Date
JPH07123413A JPH07123413A (ja) 1995-05-12
JP3673529B2 true JP3673529B2 (ja) 2005-07-20

Family

ID=27299273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26581293A Expired - Fee Related JP3673529B2 (ja) 1992-09-28 1993-09-28 画像データの圧縮・伸長方法およびそのための装置

Country Status (1)

Country Link
JP (1) JP3673529B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3475985B2 (ja) * 1995-11-10 2003-12-10 ソニー株式会社 情報符号化装置および方法、情報復号化装置および方法
US6650784B2 (en) * 2001-07-02 2003-11-18 Qualcomm, Incorporated Lossless intraframe encoding using Golomb-Rice
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7630563B2 (en) * 2001-07-19 2009-12-08 Qualcomm Incorporated System and method for decoding digital image and audio data in a lossless manner
JP4236489B2 (ja) 2003-03-14 2009-03-11 三洋電機株式会社 画像処理装置
US20140301450A1 (en) * 2011-11-07 2014-10-09 Samsung Electronics Co., Ltd. Inverse transformation method for clipping data of inverse quantization, inverse transformation during video decoding step, and device therefor

Also Published As

Publication number Publication date
JPH07123413A (ja) 1995-05-12

Similar Documents

Publication Publication Date Title
KR100287624B1 (ko) 화상데이타의압축,해제방법및그장치
US6333951B1 (en) Image processing system
US6643408B2 (en) Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
JP2646169B2 (ja) 映像圧縮及び伸張方法
JP3830009B2 (ja) データ処理システム及び色変換方法
JPH06326615A (ja) 可変長コードのコードストリームをデコードする方法及び装置
JPH06326996A (ja) 圧縮されたビデオデータをデコードする方法及び装置
JPH1146363A (ja) シンボル復号化方法及びその装置
JP3189031B2 (ja) データレート変換方法及び装置
KR100944928B1 (ko) 버터플라이 프로세서를 이용하여 이산 코사인 변환을인코딩하고 계산하는 장치 및 방법
JPH06237386A (ja) 画像処理装置
KR100329874B1 (ko) 영상처리방법및장치
JP3673529B2 (ja) 画像データの圧縮・伸長方法およびそのための装置
US6370193B1 (en) MPEG data compression and decompression using adjacent data value differencing
US11044466B2 (en) Image processing device
US5784011A (en) Multiplier circuit for performing inverse quantization arithmetic
JPH1175183A (ja) 画像信号の処理方法及び装置、記録媒体
JP2001145106A (ja) 画像圧縮装置及び方法
JPH06225213A (ja) 画像処理方法と装置
US20070154102A1 (en) Image decompression system, method and program
JP3260925B2 (ja) 画像処理装置
JP3110255B2 (ja) キャラクタデータ圧縮処理装置およびキャラクタデータの圧縮方法
JPH077732A (ja) 画像処理装置
JP3132171B2 (ja) 縮小画像の復号装置
JP2735728B2 (ja) 可変長符号復号回路

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040303

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040309

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: 20050329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees