JP3624450B2 - 画像データ符号化方法及び画像データ符号化装置 - Google Patents
画像データ符号化方法及び画像データ符号化装置 Download PDFInfo
- Publication number
- JP3624450B2 JP3624450B2 JP3945895A JP3945895A JP3624450B2 JP 3624450 B2 JP3624450 B2 JP 3624450B2 JP 3945895 A JP3945895 A JP 3945895A JP 3945895 A JP3945895 A JP 3945895A JP 3624450 B2 JP3624450 B2 JP 3624450B2
- Authority
- JP
- Japan
- Prior art keywords
- value
- coefficient
- coefficient data
- group
- encoding
- 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
Landscapes
- 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
【産業上の利用分野】
本発明は、画像データ符号化方法及び画像データ符号化装置に関し、例えばDCT等によって直交変換した画像データを符号化する集積回路に適用して好適なものである。
【0002】
【従来の技術】
従来、JPEG(Joint Photographic coding Experts Group )、MPEG(Moving Picture Experts Group)等により規定される画像データの圧縮においては、DCT(Discrete Cosine Transform:離散コサイン変換)した画像データを2次元ハフマン符号を用いて可変長符号化し、これにより効率良くデータ圧縮するようになされている。
【0003】
すなわち図19は、JPEG方式に適用されるエンコーダを示すブロック図であり、このエンコーダ1では、画像データDVをDCT変換器2に入力する。なおこのエンコーダ1では、それぞれ規定のサンプリング周波数で輝度信号及び色差信号をサンプリングして形成された画像データに対して、前処理部において規定の処理を実行して画像データDVを生成し、この画像データDVをDCT変換器2に入力する。
【0004】
DCT変換器2は、この画像データDVを、水平及び垂直方向に8×8画素単位のブロック(すなわちマクロブロックでなる)に分割し、各ブロック毎にDCT処理を実行する。これによりDCT変換器2は、8×8画素のブロックに対応する8×8(64)個のDCT係数を生成する。
【0005】
量子化器3は、規定の量子化テーブルを用いて、この8×8個のDCT係数を再量子化して出力する。スキャン変換器4は、この量子化器3からの出力データの配列を切り換えて出力し、これにより図20に示すように、ジグザグスキャン(zig−zag scanning)により順次DCT係数が連続してなる係数データを出力する。
【0006】
すなわちこのようにDCT処理して得られる係数においては、水平方向及び垂直方向について高域側に値0の係数(すなわち無効係数でなる)が集中し、低域側に値0以外の係数(すなわち有意係数でなる)が集中する。従ってジグザグスキャンして得られる係数データにおいては、スキャンの終了端側に無効係数が集中する。
【0007】
可変長符号化器5は、この無効係数が集中する性質を有効に利用して、係数データを効率良く可変長符号化する。すなわち可変長符号化器5は、スキャン変換器4から出力される係数データのうち、AC係数(すなわち交流成分を表す係数データでなり、図20において、直流成分を表す左上端のDC係数以外の係数でなる)をゼロ判定部6に与える。なお可変長符号化器5は、DC係数については、別途符号化処理して出力する。
【0008】
ゼロ判定部6は、このAC係数が値0か否か判断し、判断結果によりAC係数を選択出力し、これにより無効係数及び有意係数をそれぞれランレングスカウンタ7及びグループ化部8に選択出力する。
【0009】
ランレングスカウンタ7は、ゼロ判定部6より無効係数が順次入力されると、この入力に対応してカウント値をアップカウントする。さらにランレングスカウンタ7は、無効係数の入力が停止すると、2次元ハフマン符号化部9にカウント値を出力した後、このカウント値をリセットする。これによりランレングスカウンタ7は、連続して値が0となるAC係数の数(すなわちゼロランでなる)を検出し、この検出結果を2次元ハフマン符号化部9に出力する。
【0010】
グループ化部8は、ゼロ判定部6から出力される有意係数について、内蔵のグループ化テーブルに従って、この有意係数の属するグループ番号を検出し、検出結果を2次元ハフマン符号化部9に出力する。
【0011】
ここで図21に示すように、このグループ化テーブルは、有意係数に対応するように、グループ番号と付加ビット数が規定されて形成されるようになされている。すなわちJPEGにおいては、ゼロランとこのゼロランに続く有意係数とを符号化の単位に設定し、ゼロランを形成する無効係数とゼロランに続く有意係数とでなる複数符号に1符号を割り当て符号化し、これにより効率良くデータ圧縮する。
【0012】
さらにJPEGにおいては、ゼロランとこのゼロランに続く有意係数の発生頻度に対応して、この1ワードの符号長を規定し、これによりいわゆるエントロピー符号化の手法を適用してデータ圧縮の効率を向上する。
【0013】
このため可変長符号化器5では、有意係数の属するグループ番号により符号化テーブルを選択すると共に、ゼロランに応じてこの選択した符号化テーブルから符号語を検出する。さらに可変長符号化器5は、この検出した符号語に規定の付加ビットを付加して符号化データを生成する。
【0014】
すなわち可変長符号化器5において、AC符号化テーブルメモリ10は、グループ番号に対応する複数の符号化テーブルを有し、2次元ハフマン符号化部9は、グループ番号及びゼロランを基準にしてこのAC符号化テーブルメモリ10をアクセスすることにより、グループ番号に対応する符号化テーブルを選択すると共に、この選択したテーブルからゼロランで指定される符号語を選択する。
【0015】
フォーマット部11は、2次元ハフマン符号化部9で検出された符号語に対して、グループ化テーブルで規定された付加ビット数だけ付加ビットを付加し、これにより符号化データD1を出力する。これによりこの種のエンコーダ1では、画像データを効率良くデータ圧縮するようになされている。
【0016】
【発明が解決しようとする課題】
ところでこのようにジグザグスキャンして得られる係数においては、連続する係数間で一定の相関が検出される。すなわち絶対値の大きな係数においては、続いて絶対値の近接した係数が連続する。また無効係数においては、続いて絶対値の小さな係数ほど発生頻度が高くなり、さらに連続する無効係数の数が少ない場合ほど(すなわちゼロランの値が小さいほど)、無効係数の発生頻度が高くなる。
【0017】
従ってこれらの連続する係数間の相関を利用して符号化テーブルを切り換えるようにすれば、効率良くデータ圧縮できると考えられる。実験した結果によれば、この方法は、無効係数、サイズ1の有意係数(値1及び−1の有意係数でなる)の発生頻度が低い高ビットレートの画像データを圧縮する場合、ゼロランとこのゼロランに続く有意係数とを単位にして符号化する従来の符号化方式に比して、圧縮効率が優れることが判った。
【0018】
またこれとは逆に、無効係数、サイズ1の有意係数の発生頻度が高い低ビットレートの画像データを圧縮する場合、この方法は、従来の符号化方式に比して、圧縮効率が劣ることも判った。
【0019】
本発明は以上の点を考慮してなされたもので、これらの特徴を有効に利用して従来に比して一段と効率良くデータ圧縮することができる画像データ符号化方法及び画像データ符号化装置を提案しようとするものである。
【0020】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、画像データを直交変換して得られる係数データを符号化する画像データ符号化方法において、この係数データを規定順序で配列した後、該配列した係数データを第1、第2及び第3のグループにグループ化して符号化し、このグループ化は、値0の係数データ1個以上が連続した後、絶対値が規程値以下で値0以外の係数データが続くとき、先の1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを第1のグループにグループ化し、先の第1のグループに属さない係数データにおいて、値0の係数データが1個以上連続するとき、該1個以上連続する値0の係数データを第2のグループにグループ化し、前記第1及び第2のグループに属さない係数データを先の第3のグループにグループ化し、先の符号化は、先の第1のグループについて、1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを符号化の単位として符号化し、先の第2のグループについて、1個以上連続する値0の係数データを符号化の単位として符号化し、先の第3のグループについて、1符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化する。
【0022】
また画像データを直交変換して得られる係数データを符号化する画像データ符号化装置において、この係数データを規定順序に配列する変換手段と、該配列した係数データを第1、第2及び第3のグループにグループ化するグループ化手段と、グループ化した先の係数データを符号化する符号化手段とを備え、先のグループ化手段は、値0の係数データが1個以上連続した後、絶対値が規程値以下で値0以外の係数データが続くとき、これらの1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを先の第1のグループにグループ化し、先の第1のグループに属さない係数データにおいて、値0の係数データが1個以上連続するとき、該1個以上連続する値0の係数データを第2のグループにグループ化し、前記第1及び第2のグループに属さない係数データを第3のグループにグループ化し、先の符号化手段は、この第1のグループについて、1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを符号化の単位として符号化し、第2のグループについて、1個以上連続する値0の係数データを符号化の単位として符号化し、第3のグループについて、1符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化する。
【0024】
【作用】
直交変換して得られる係数データを規定順序で配列した後、該配列した係数データを第1、第2及び第3のグループにグループ化して符号化するにつき、値0の係数データが1個以上連続した後、絶対値が規程値以下で値0以外の係数データが続くとき、先の1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを第1のグループにグループ化し、これら1個以上連続する値0の係数データ及び規程値以下で値0以外の係数データを符号化の単位として符号化すれば、複数符号の係数データに1符号を割り当てて符号化でき、この第1のグループに属する係数データを効率良く符号化することができる。これに対して先の第1のグループに属さない係数データにおいて、値0の係数データが1個以上連続するとき、該1個以上連続する値0の係数データを第2のグループにグループ化し、1個以上連続する値0の係数データを符号化の単位として符号化し、さらに前記第1及び第2のグループに属さない係数データを先の第3のグループにグループ化し、1符号前に符号化する係数データに応じて続く符号化のテーブルを切り換えて符号化すれば、第3のグループについては、係数データ間の相関を有効に利用して効率良く符号化することができ、また第1及び第3のグループに属さない第2のグループについては、複数符号の係数データに1符号を割り当てて符号化でき、効率良く符号化することができる。これにより第1のグループに属する係数データが多く発生する低ビットレートで優位な符号化方法と、第3のグループに属する係数データが多く発生する高ビットレートで優位な符号化方法との双方の長所を組み合わせて、係数データを符号化することができる。
【0026】
これによりこれらの手法を適用して画像データ符号化装置を形成して、簡易な構成で、データ圧縮効率の高い画像データ符号化装置を得ることができる。
【0027】
【実施例】
以下、適宜図面を参照しながら本発明の実施例を詳述する。
【0028】
図2は、本発明の一実施例に係るエンコーダを示すブロック図であり、このエンコーダ20は、動画の画像データを符号化処理する。なおこのエンコーダ20は、動画の画像データに関する以外の部分については、図19について上述したエンコーダ1と構成を共通にすることにより、対応する構成は同一の符号を付して示し、重複した説明を省略する。
【0029】
ここでエンコーダ20は、前処理部において、動き補償等の処理を実行し、その結果得られる画像データDV1をDCT変換器2に入力する。量子化器21は、この画像データDV1の符号化制御に対応して量子化テーブルを切り換え、DCT変換器2から出力される係数データを再量子化して出力する。なおこの実施例においては、この係数データとして16ビットの係数データを出力するように量子化テーブルが規定され、またDCT変換器2にはこれに対応するビット数の画像データDV1が入力されるようになされている。
【0030】
スキャン変換器4は、この16ビットの係数データをジグザクスキャンの配列に変換して出力し、可変長符号化器22は、このスキャン変換器4から出力される係数データCOEFを可変長符号化し、その符号化結果でなる符号化データD2を出力する。
【0031】
ここで図1に示すように、可変長符号化器22は、集積回路で形成され、グルーピング部24に係数データCOEFを入力し、ここで係数データCOEFをグループ化する。なおこの実施例において、可変長符号化器22は、係数データCOEFのうち、DC係数については、MPEGについて規定されたフォーマットに従って別途符号化処理した後、AC係数より生成した符号化データと共に出力し、ここではこのDC係数の符号化処理については説明を省略する。このためグルーピング部24は、係数データCOEFのうち、AC係数をゼロサイズ1判定部26に入力する。
【0032】
ゼロサイズ1判定部26は、このAC係数が値1又は値−1か否か判定することにより、サイズ1のAC係数を検出する。さらにゼロサイズ1判定部26は、このAC係数が値0か否か判断することにより、無効係数を検出する。さらにゼロサイズ1判定部26は、サイズ1のAC係数及び無効係数を検出すると、それぞれサイズ1検出結果(符号=1で表す)及び無効係数検出結果(符号=0で表す)を出力する。
【0033】
ランレングスカウンタ27は、順次入力される無効係数検出結果=0に対応してカウント値をアップカウントする。さらにランレングスカウンタ27は、この無効係数検出結果=0の入力が停止すると、カウント値を出力した後、このカウント値をリセットする。これによりランレングスカウンタ27は、連続して値が0となるAC係数の数(ゼロラン)を検出し、この検出結果を出力するようになされている。
【0034】
有意係数マップ28、ゼロラン+サイズ1マップ29及びゼロランマップ30は、記憶したデータをアドレスデータに対応して出力するメモリ回路で形成される。このうち有意係数マップ28は、AC係数COEFによりアドレッシングされるのに対し、ゼロラン+サイズ1マップ29は、AC係数COEFとゼロランによりアドレッシングされ、ゼロランマップ30は、ゼロランによりアドレッシングされるようになされている。
【0035】
さらに図3に示すように、有意係数マップ28は、AC係数COEFのうち、有意係数に対応するように、グループ番号17〜25、付加ビット数及び次のテーブル番号T17〜T25が規定されて形成されるようになされている。なおこの図3において、有意係数マップ28には、次のテーブル番号が規定されているが、この実施例においては、グループ番号に対応するように次のテーブル番号を規定することにより、グループ番号を用いて次のテーブル番号を指定し、これにより有意係数マップ28の構成を小型化するようになされている。
【0036】
これにより有意係数マップ28は、AC係数COEFのうち、有意係数が入力されると、対応するグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを出力するようになされている。
【0037】
これに対してゼロラン+サイズ1マップ29は、ゼロランと続くサイズ1(すなわち値1又は値−1でなる)の有意係数に対応するように、グループ番号1〜6、付加ビット数及び次のテーブル番号T16が規定されて形成されるようになされている。
【0038】
さらにこのゼロラン+サイズ1マップ29は、ゼロランが連続してマクロブロックが終了する場合(すなわちEOB(End Of Block)でなる)に対応して、グループ番号0、付加ビット数及び次のテーブル番号T0が規定されるようになされている。なおこの図3において0*1、0*2、0*3、……等の表記は、それぞれ1個、2個、3個、……だけ連続する無効係数のAC係数を表し、続く値±1は、サイズ1の有意係数を表す。
【0039】
これによりゼロラン+サイズ1マップ29は、AC係数COEFのうち、ゼロランに続いてサイズ1の有意係数が入力されると、またゼロランに続いてマクロブロックが終了すると、これら複数のAC係数に対して1組の対応するグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを出力するようになされている。
【0040】
さらにゼロラン+サイズ1マップ29は、このようにして次のテーブル番号TNOを出力するにつき、グループ番号1〜6については(すなわちゼロランに続いてサイズ1の有意係数が入力される場合に対応する)、次のテーブル番号TNOとして共通のテーブル番号T16を出力するように規定されている。
【0041】
これに対してゼロランマップ30は、ゼロランに対応するように、グループ番号8〜13、付加ビット数及び次のテーブル番号T8が規定されて形成されるようになされている。これによりゼロランマップ30は、AC係数COEFのうち、ゼロランが入力されると、ゼロランを形成する複数の無効係数に対して1の対応するグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを出力するようになされている。
【0042】
さらにこのゼロランマップ30は、このようにして次のテーブル番号TNOを出力するにつき、次のテーブル番号TNOとして共通のテーブル番号T8を出力するように規定されている。
【0043】
セレクタ32は、無効係数検出結果=0が連続した後、続いてサイズ1検出結果=1が入力されると、ゼロラン+サイズ1マップ29から出力されるグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを選択出力する。これに対して無効係数検出結果=0が連続した後、続いてサイズ1検出結果=1が入力されない場合、ゼロランマップ30から出力されるグループ番号GPNO、付加ビット数及び次のテーブル番号TNOを選択出力した後、続いて有意係数マップ28から出力されるグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを選択出力する。
【0044】
またセレクタ32は、無効係数検出結果=0及びサイズ1検出結果=1の双方が入力されない場合、有意係数マップ28から出力されるグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOを選択出力する。
【0045】
これによりグルーピング部24は、従来の有意係数を基準にしたグループ化に代えて、サイズ1の有意係数については、ゼロランと組み合わせてグループ化し、サイズ1以外の有意係数については、ゼロランと分離してグループ化するようになされている。
【0046】
符号化テーブル33は、有意係数マップ28、ゼロラン+サイズ1マップ29及びゼロランマップ30において規定された次のテーブル番号TNOに対応する複数のテーブルを有し、各テーブルは、グループ番号に対応してハフマンコードHC及びコード長HLを記録して形成されるようになされている。
【0047】
符号化テーブル33は、遅延回路(D)34を介して入力される次のテーブル番号TNOと、グループ番号GPNOとにより、これら複数のテーブルをアクセスし、対応するハフマンコードHC及びコード長HLを出力する。
【0048】
これにより可変長符号化器22では、ゼロランとサイズ1の有意係数との組み合わせについて、さらにはゼロランとサイズ2以上の有意係数の組み合わせのゼロランについて、複数符号に1の符号を割り当てて符号化するようになされている。
【0049】
さらにこの符号化の際、符号化テーブル33は、遅延回路(D)34を介して入力される1ワード前のテーブル番号TNOに従ってテーブルが選択されることにより、1符号前の符号化に応じて続く符号化のテーブルが切り換わる。これにより可変長符号化器22では、係数間の相関を有効に利用して効率良くデータ圧縮するようになされている。
【0050】
すなわち図3〜図14に示すように、符号化のテーブルT0〜T25におけるハフマンコードのコード長(レングス)と、各グループの付加ビット数(図3)とは、規程の画像データにより発生頻度が確認され、この発生頻度に対応して全体として最もデータ量が少なくなるように規程され、これにより可変長符号化器22ではAC係数間の相関関係を有効に利用して符号化するようになされている。
【0051】
このうち有意係数マップ28で指定されるテーブル番号T17〜T25のテーブルにおいては、各テーブルに対応するAC係数値近傍を中心にして発生頻度が分布し、この近傍にコード長の短いハフマンコードを配置するようになされている。これにより可変長符号化器22では、絶対値の大きな係数に続いて絶対値の近接した係数が発生するAC係数の特徴を有効に利用して、効率良くデータ圧縮できることがわかる。
【0052】
またグループ1〜グループ13においては、ゼロランの短い場合程発生頻度が高いことにより、これに対応してコード長の短いハフマンコードが配置され、また付加ビット数が短く設定され、この場合もAC係数の特徴を有効に利用して、効率良くデータ圧縮できることがわかる。
【0053】
またテーブルT8、T16のグループ番号18〜25においては、AC係数が小さいとき程コード長が短く規程され、この場合は無効係数の次には絶対値の小さい係数程発生し易い特徴を有効に利用していることになる。
【0054】
なおこの実施例において、グループ番号25は、エスケープコードに割り当てられるようになされている。従ってこのグループ番号25に対応して後述するフォーマット部35から出力される符号化データD2は、フォーマット化する際に、付加ビットに代えて16ビットのAC係数データが付加されるようになされている。
【0055】
かくするにつきこの実施例においては、ゼロランとこのゼロランに続いてサイズ1の有意係数が得られた場合、ゼロランとこのゼロランに続く有意係数とを単位にした従来方式の符号化方式によりデータ圧縮し、これ以外の場合は、連続する係数の相関を有効に利用して符号化テーブルを切り換えて符号化する。
【0056】
この場合上述したように、ゼロランとこのゼロランに続く有意係数とを単位にした従来方式の符号化方式は、無効係数、サイズ1の有意係数の発生頻度が高い低ビットレートの画像データを圧縮する場合に優れ、連続する係数の相関を利用して符号化テーブルを切り換える符号化方式は、無効係数、サイズ1の有意係数の発生頻度が低い高ビットレートの画像データを圧縮する場合に優れる特徴がある。
【0057】
従ってこの実施例のように、ゼロランとこのゼロランに続いてサイズ1の有意係数が得られる場合と、これ以外の場合とで、符号化の方式を切り換えるようにすれば、従来方式と係数間の相関を利用した方式との双方の長所を有効に組み合わせてデータ圧縮することができ、これにより従来に比してデータ圧縮効率を向上することができる。もちろん単に係数間の相関を利用してデータ圧縮する場合に比しても圧縮効率を向上することができ、特にこの場合は低ビットレートの画像データを圧縮する場合に圧縮効率を向上することができる。
【0058】
さらにそれぞれ高ビットレート及び低ビットレートに優れる方式を組み合わせたことにより、従来に比してビットレートの変化に対してデータ圧縮効率の変動を低減でき、その分テーブルを固定しても、異なる圧縮率における圧縮効率の変動を軽減することができる。
【0059】
またこれにより幅広い圧縮率について、共通のテーブルを用いて符号化することもできる。
【0060】
さらにこのようにゼロランとサイズ1の有意係数を単位にして1符号を割り当てる際に、またゼロランを単位にして1符号を割り当てる際に、有意係数をゼロランと分離して符号化する場合と同様に、1符号前に符号化するAC係数に応じてテーブルを切り換えることにより、全体として簡易な構成で、これらのグループ間の相関を有効に利用して効率良くデータ圧縮することができる。
【0061】
さらにゼロラン+サイズ1マップ29及びゼロランマップ30においては、各グループで共通のテーブルを指定することにより、少ないテーブル数で効率良く符号化することができ、これによっても全体構成を簡略化することができる。従ってこの可変長符号化器22を集積回路化により形成する場合において、簡易に集積回路化して効率良くデータ圧縮することができる。
【0062】
なお実際上、符号化テーブル33は、上述したテーブル番号のテーブルを複数系統有し、符号化制御により、フレーム間符号化及びフレーム内符号化で、さらには輝度信号及び色差信号で、これら複数系統のテーブルを切り換えて使用するようになされ、これによってもさらにデータ圧縮効率を向上するようになされている。
【0063】
フォーマット部35は、このようにして符号化テーブル33から出力されるハフマンコードHCに対して、付加ビット数ADで規定される数の付加ビットを付加した後、規定のヘッダ等を付加して符号化データD2を生成し、この符号化データD2を出力する。
【0064】
ここでこの付加ビットは、付加ビットの最上位ビットが符号ビットに規定され、フォーマット部35は、AC係数データの正負に応じてこの最上位ビットを値1又は値0に設定した後、付加ビットの値が各グループ内でAC係数値の小さい順に順次連続するように、連続する付加ビットの論理値を設定して付加ビットを生成する。
【0065】
これにより図16に示すようなDCT結果については、図17に示すように、AC係数をジグザグスキャンして順次、値53、値−20、値0、値1、……の係数データ列がグルーピング部24に入力され、この場合初めに値53のAC係数が有意係数マップ28によりグループ化され(図17(A)及び(B))、図3において下線を付して示すように、グループ番号22、値6の付加ビット数及び次のテーブル番号T22が検出される(図17(C))。なおここでは、説明を簡略化するため、4×4画素のブロックについてのDCT結果を例に取って説明する。
【0066】
このときこの直前のブロックの最後にEOBが検出され、符号化テーブル33におけるテーブル番号としてテーブル番号T0が選択されていることにより(図17(D))、値53のAC係数は、テーブル番号T0のテーブル(図4)よりグループ番号22のハフマンコード「000011」が選択出力される。これによりフォーマット部35において、このハフマンコードに対して、値6の付加ビット数に対応する「010101」の付加ビットが付加され(図17(E))、符号化されることになる。
【0067】
これに対して続く値−20のAC係数は、同様に有意係数マップ28によりグループ化され、グループ番号21、値5の付加ビット数及び次のテーブル番号T21が検出される(図3)。この場合、直前の符号化においてテーブル番号T22が選択されていることにより、値−20のAC係数は、テーブル番号T22のテーブル(図12)よりグループ番号21のハフマンコード「01」が選択出力される。これによりフォーマット部35において、このハフマンコード「01」に対して、値5の付加ビット数に対応する「10100」の付加ビットが付加され、符号化されることになる。
【0068】
さらに続く値0のAC係数は、続く値1のAC係数と共に、ゼロラン+サイズ1マップ29によりグループ化され、グループ番号1、値1の付加ビット数及び次のテーブル番号T16が検出される(図3)。この場合、直前の符号化においてテーブル番号T21が選択されていることにより、値0及び値1のAC係数は、テーブル番号T21のテーブル(図11)よりグループ番号1のハフマンコード「000001」が選択出力される。これによりフォーマット部35において、このハフマンコード「000001」に対して、値1の付加ビット数に対応する「0」の付加ビットが付加され、符号化されることになる。
【0069】
また続く値−1のAC係数は、有意係数マップ28によりグループ化され、グループ番号17、値1の付加ビット数及び次のテーブル番号T17が検出される(図3)。この場合、直前の符号化においてテーブル番号T16が選択されていることにより、値−1のAC係数は、テーブル番号T16のテーブル(図15)よりグループ番号17のハフマンコード「01」が選択出力され、このハフマンコード「01」に「1」の付加ビットが付加されて符号化される。
【0070】
さらに続く値0のAC係数は、続くAC係数が値−2でなることにより、ゼロランマップ30によりグループ化され、グループ番号8、値0の付加ビット数及び次のテーブル番号T8が検出される(図3)。これにより直前に指定されたテーブル番号T17のテーブル(図7)よりハフマンコード「0100」が選択され、この場合付加ビット数が0でなることによりハフマンコード「0100」が直接出力される。
【0071】
また続く値−2のAC係数は、有意係数マップ28によりグループ化されてグループ番号18、値2の付加ビット数及び次のテーブル番号T18が検出され、直前の符号化においてテーブル番号T8が指定されていることにより、テーブル番号T8のテーブル(図1)よりグループ番号18のハフマンコード「1」が選択出力され、このハフマンコード「1」に「10」の付加ビットが付加されて符号化される。
【0072】
これに対して続く値0のAC係数は、続いて値0、値1のAC係数が連続することにより、これらの係数と共にゼロラン+サイズ1マップ29によりグループ化され、グループ番号2、値2の付加ビット数及び次のテーブル番号T16が検出される。この場合直前の符号化においてテーブル番号T18が指定されていることにより、テーブル番号T18のテーブル(図8)よりグループ番号2のハフマンコード「0101」が選択出力され、このハフマンコード「0101」に「00」の付加ビットが付加されて符号化される。
【0073】
さらに続く値0のAC係数は、続いて値0のAC係数がこのブロックの終わりまで連続することにより、EOBに該当する。従ってこのAC係数は、ゼロラン+サイズ1マップ29によりグループ化され、グループ番号0、値0の付加ビット数及び次のテーブル番号T0が検出され、直前にテーブル番号T16が指定されていることにより、テーブル番号T16のテーブル(図14)よりグループ番号0のハフマンコード「110」が選択出力され、このハフマンコード「110」が直接出力される。
【0074】
これにより可変長符号化器22は、ゼロランとこのゼロランに続いてサイズ1の有意係数が得られた場合、これらの符号に1符号を割り当てて符号化し、これ以外のAC係数が得られた場合、直前の係数により符号化テーブルを切り換えて係数データを符号化するようになされている。
【0075】
図18は、このようにして得られた符号化データD2を復調するデコーダを示すブロック図である。このデコーダ40は、例えば光ディスク等の記録媒体から得られる再生信号を復調し、その結果得られる符号化データD2をシフトレジスタ41に入力する。なおこの符号化データD2は、マクロブロック単位で同期が取れた状態でシフトレジスタ41に入力されるようになされている。シフトレジスタ41は、この符号化データD2を復号化テーブル42に出力すると共に、規定の期間保持する。
【0076】
復号化テーブル42は、符号化データD2よりハフマンコードHCとコード長HLを検出する。さらに復号化テーブル42は、上述したエンコーダ20側の符号化テーブル33に対応する復号化テーブルを有し、ハフマンコードHCとコード長HLよりこの復号化テーブルをアクセスする。これにより復号化テーブル42は、この符号化データD2の符号化基準となったグループ番号GPNO(図1においてセレクタ32より出力されるグループ番号GPNOに対応する)を検出する。
【0077】
さらに復号化テーブル42は、このグループ番号GPNOに対応する付加ビット数を検出し、検出した付加ビット数によりシフトレジスタ41に保持された符号化データD2を切り出し、これにより符号化データD2の付加ビットDADをアングループ化部43に出力する。
【0078】
さらに復号化テーブル42は、ラッチ回路で形成される遅延回路44を介して、このグループ番号GPNOを1符号分遅延させて入力側に帰還する。復号化テーブル42は、この1符号分遅延したグループ番号GPNOを基準にしてテーブル番号TNOを検出し、このテーブル番号TNOによりテーブルを切り換えて、続く符号化データD2のグループ番号を検出する。かくするにつき、復号化テーブル42等に配置されてグループ番号等を格納するレジスタにおいては、各マクロブロックの先頭でリセットされた後、一連の処理を実行するようになされている。
【0079】
アングループ化部43は、このようにして得られるグループ番号GPNOと付加ビットDADから元のAC係数を復号し、復号結果を続く再量子化器に出力する。これによりデコーダ40は、再量子化器の出力データに動き補償等の処理を実行し、元の画像データを復号するようになされている。
【0080】
以上の構成において、前処理部において、動き補償等の処理を受けた画像データDV1は(図2)、DCT変換器2においてDCT係数に変換され、このDCT係数が量子化器21により再量子化され、続くスキャン変換器4によりジグザグスキャンの配列に変換される。
【0081】
このジグザグスキャンの配列に変換されたDCT係数COEFは(図1)、可変長符号化器22に入力され、このDCT係数のうちのDC係数が、MPEGについて規定されたフォーマットに従って符号化処理される。これに対してAC係数COEFは、ゼロサイズ1判定部26において、無効係数、サイズ1の係数が検出され、この無効係数の検出結果=0がランレングスカウンタ27に出力されてゼロランが検出される。
【0082】
さらにAC係数COEFは、有意係数マップ28により、有意係数が検出され、これにより有意係数のグループにグループ化され(図3)、この有意係数マップ28より対応するグループ番号GPNO、付加ビット数AD、テーブル番号TNOが出力される。
【0083】
さらにAC係数COEFは、ランレングスカウンタ27より出力されるゼロランの検出結果と共に、ゼロラン+サイズ1マップ29に入力され、ここでゼロランに続いてサイズ1の有意係数が入力されると、またゼロランに続いてマクロブロックが終了すると、対応するグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOが出力され、これによりサイズ1の有意係数については、ゼロランと組み合わせてグループ化される。
【0084】
このゼロランの検出結果は、ゼロラン+サイズ1マップ29に加えてゼロランマップ30に入力され、このゼロランマップ30において、ゼロランに対応してグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOが出力され、これによりサイズ2以上の有意係数の前に表れるゼロランが、独自のグループにグループ化される。
【0085】
これによりAC係数COEFは、ゼロランに続くサイズ1の有意係数については、ゼロランと組み合わせてグループ化され、これ以外の有意係数については、ゼロランと分離してグループ化され、それぞれ対応するグループ番号GPNO、付加ビット数AD及び次のテーブル番号TNOがセレクタ32より選択出力される。
【0086】
このうちグループ番号GPNO及びテーブル番号TNOは、符号化テーブル33に入力され、ここで対応するハフマンコードHCとコード長HLが検出される。この検出結果は、フォーマット部35に出力され、ここで付加ビットが付加されて符号化デ−タD2に変換される。
【0087】
これによりゼロランに続くサイズ1の有意係数については、ゼロランと組み合わせて1の符号が割り当てられて符号化され、またサイズ2以上の有意係数の前に表れるゼロランについては、1の符号が割り当てられて符号化され、これによりこれらのAC係数が、低ビットレートにおいて優位な符号化方式により符号化される。
【0088】
このときテーブル番号TNOは、遅延回路34を介して符号化テーブル33に入力されることにより、符号化テーブル33において、1符号前のテーブル番号TNOにより続く符号化のテーブルが切り換えられる。
【0089】
さらにこのようにして1符号前のテーブル番号TNOにより続く符号化のテーブルを切り換えるにつき、グループ化に用いる有意係数マップ28において、AC係数値に応じてテーブル番号が切り換わることにより、サイズ2以上の有意係数、ゼロランと対を形成しないサイズ1の有意係数については、連続する係数間の相関を有効に利用して、符号化される。
【0090】
これによりこれらの有意係数においては、高ビットレートにおいて優位な符号化方式により符号化される。従ってジグザグスキャンして得られるAC係数COEFにおいては、低ビットレート及び高ビットレートにおいて発生頻度の高いデータが、それぞれ低ビットレート及び高ビットレートにおいて優位な符号化方式により符号化され、全体として高いデータ圧縮効率で符号化される。
【0091】
以上の構成によれば、ジグザグスキャンして得られるAC係数COEFをグループ化し、ゼロランとサイズ1の有意係数、ゼロランについては、複数ワードに1符号を割り当てて符号化し、これ以外の有意係数については、直前に符号化するAC係数値に応じてテーブルを切り換えて符号化することにより、低ビットレート及び高ビットレートにおいて発生頻度の高いデータを、低ビットレート及び高ビットレートにおいてそれぞれ優位な符号化方式により符号化することができ、これにより全体として高いデータ圧縮効率で画像データを符号化することができる。
【0092】
さらにそれぞれ高ビットレート及び低ビットレートに優れる方式を組み合わせたことにより、従来に比してビットレートの変化に対してデータ圧縮効率の変動を低減でき、その分テーブルを固定しても、異なる圧縮率における圧縮効率の変動を軽減することができる。またこれにより幅広い圧縮率について、共通のテーブルを用いて符号化することもできる。
【0093】
さらにこのようにゼロランとサイズ1の有意係数を単位にして1符号を割り当てる際に、またゼロランを単位にして1符号を割り当てる際に、有意係数をゼロランと分離して符号化する場合と同様に、1符号前に符号化するAC係数に応じてテーブルを切り換えることにより、全体として簡易な構成で、これらのグループ間の相関を有効に利用して効率良くデータ圧縮することができる。
【0094】
さらにゼロラン+サイズ1マップ及びゼロランマップにおいて、各グループで共通のテーブル番号を指定することにより、その分少ないテーブル数で効率良く符号化することができ、これによっても全体構成を簡略化することができる。従ってこの可変長符号化器を集積回路により形成する場合において、簡易に集積回路化して効率良くデータ圧縮することができる。
【0095】
なお上述の実施例においては、ゼロランとこのゼロランに連続するサイズ1の有意係数を1のグループにグループ化する場合について述べたが、本発明はこれに限らず、必要に応じてゼロランとこのゼロランに連続する規程サイズ以下の有意係数を1のグループにグループ化する場合に広く適用することができる。
【0096】
また上述の実施例においては、8×8画素のマクロブロックについて、DCT変換処理した画像データを最大精度16ビットで符号化する場合について述べたが、本発明はこれに限らず、種々の画素数を単位にして符号化する場合、種々の精度で符号化する場合に広く適用することができる。これらの場合において、ブロックサイズが異なるとゼロランの発生する範囲が変化し、また精度が異なると有意係数のグループを変化させる必要がある。これによりこれらの場合においては、ブロックサイズ、精度に対応して、発生する全ての係数を網羅するようにグループを構成して対応することができる。
【0097】
さらに上述の実施例においては、ゼロランとこのゼロランに連続するサイズ1の有意係数を符号化する際に、またゼロランを符号化する際に、1符号前のAC係数によりテーブルを切り換えるに場合について述べたが、本発明はこれに限らず、必要に応じてこの切り換えを省略してもよい。
【0098】
また上述の実施例においては、ゼロランとこのゼロランに連続するサイズ1の有意係数をグループ化する際に、またゼロランをグループ化する際、次のテーブル番号として共通のテーブル番号を指定する場合について述べたが、本発明はこれに限らず、これらの場合において、各グループで個々のテーブルを指定するようにしてもよい。このようにすればさらに一段とデータ圧縮効率を向上することができる。
【0099】
さらに上述の実施例においては、DCT変換したAC係数をジグザグスキャンした後、符号化する場合について述べたが、本発明はこれに限らず、例えばオルタネートスキャン等、種々のスキャン方法によりAC係数を配列して符号化する場合に広く適用することができる。
【0100】
また上述の実施例においては、DCT変換したAC係数を符号化する場合について述べたが、本発明はこれに限らず、例えばウエーブレット変換等、種々の直交変換により得られた係数データを符号化する場合に広く適用することができる。
【0101】
さらに上述の実施例においては、動画の画像データを符号化する場合について述べたが、本発明はこれに限らず、静止画の画像データを符号化する場合等に広く適用することができる。
【0102】
【発明の効果】
上述のように本発明によれば、直交変換して得られる係数データについて、ゼロランと規程サイズ以下の有意係数、ゼロラン、これら以外の有意係数にグループ化した後、ゼロランと規程サイズ以下の有意係数、ゼロランについては、複数符号に1符号を割り当てて符号化し、これら以外の有意係数については、直前に符号化する係数値に応じてテーブルを切り換えて符号化することにより、低ビットレート及び高ビットレートにおいて発生頻度の高いデータを、それぞれ低ビットレート及び高ビットレートにおいて優位な符号化方式により符号化することができ、これにより全体として高いデータ圧縮効率で画像データを符号化することができる。
【図面の簡単な説明】
【図1】本発明の一実施例による可変長符号化器を示すブロック図である。
【図2】図1の可変長符号化器を適用したエンコーダを示すブロック図である。
【図3】図1の可変長符号化器のグループ化の説明に供する図表である。
【図4】テーブル番号T0のテーブルを示す図表である。
【図5】テーブル番号T16のテーブルを示す図表である。
【図6】テーブル番号T8のテーブルを示す図表である。
【図7】テーブル番号T17のテーブルを示す図表である。
【図8】テーブル番号T18のテーブルを示す図表である。
【図9】テーブル番号T19のテーブルを示す図表である。
【図10】テーブル番号T20のテーブルを示す図表である。
【図11】テーブル番号T21のテーブルを示す図表である。
【図12】テーブル番号T22のテーブルを示す図表である。
【図13】テーブル番号T23のテーブルを示す図表である。
【図14】テーブル番号T24のテーブルを示す図表である。
【図15】テーブル番号T25のテーブルを示す図表である。
【図16】符号化の説明に供する係数データを示す図表である。
【図17】図16の係数データの処理の説明に供する図表である。
【図18】図1のエンコ−ダに対応するデンコーダを示すブロック図である。
【図19】従来のエンコーダを示すブロック図である。
【図20】ジグザクスキャンの説明に供する図表である。
【図21】グル−プ化テーブルを示す図表である。
【符号の説明】
1、20 エンコーダ
2 DCT変換器
3、21 量子化器
4 スキャン変換器
5、22 可変長符号化器
7、27 ランレングスカウンタ
24 グルーピング部
26 ゼロサイズ1判定部
28 有意係数マップ
29 ゼロラン+サイズ1マップ
30 ゼロランマップ
33 符号化テーブル
34、44 遅延回路
Claims (2)
- 画像データを直交変換して得られる係数データを符号化する画像データ符号化方法において、
前記係数データを規定順序で配列した後、該配列した係数データを第1、第2及び第3のグループにグループ化して符号化し、
前記グループ化は、値0の係数データが1個以上連続した後、絶対値が規程値以下で値0以外の係数データが続くとき、前記1個以上連続する値0の係数データ及び前記規程値以下で値0以外の係数データを前記第1のグループにグループ化し、
前記第1のグループに属さない係数データにおいて、値0の係数データが1個以上連続するとき、当該1個以上連続する値0の係数データを前記第2のグループにグループ化し、
前記第1及び第2のグループに属さない係数データを前記第3のグループにグループ化し、
前記符号化は、前記第1のグループについて、前記1個以上連続する値0の係数データ及び前記規程値以下で値0以外の係数データを符号化の単位として符号化し、前記第2のグループについて、前記1個以上連続する値0の係数データを符号化の単位として符号化し、前記第3のグループについて、1符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化することを特徴とする画像データ符号化方法。 - 画像データを直交変換して得られる係数データを符号化する画像データ符号化装置において、
前記係数データを規定順序に配列する変換手段と、
該配列した係数データを第1、第2及び第3のグループにグループ化するグループ化手段と、
グループ化した前記係数データを符号化する符号化手段とを備え、
前記グループ化手段は、値0の係数データが1個以上連続した後、絶対値が規程値以下で値0以外の係数データが続くとき、前記1個以上連続する値0の係数データ及び前記規程値以下で値0以外の係数データを前記第1のグループにグループ化し、前記第1のグループに属さない係数データにおいて、値0の係数データが1個以上連続するとき、当該1個以上連続する値0の係数データを前記第2のグループにグループ化し、前記第1及び第2のグループに属さない係数データを前記第3のグループにグループ化し、
前記符号化手段は、前記第1のグループについて、前記1個以上連続する値0の係数データ及び前記規程値以下で値0以外の係数データを符号化の単位として符号化し、前記第2のグループについて、前記1個以上連続する値0の係数データを符号化の単位として符号化し、前記第3のグループについて、1符号前に符号化する係数データに応じて符号化のテーブルを切り換えて符号化することを特徴とする画像データ符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3945895A JP3624450B2 (ja) | 1995-02-06 | 1995-02-06 | 画像データ符号化方法及び画像データ符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP3945895A JP3624450B2 (ja) | 1995-02-06 | 1995-02-06 | 画像データ符号化方法及び画像データ符号化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08214310A JPH08214310A (ja) | 1996-08-20 |
JP3624450B2 true JP3624450B2 (ja) | 2005-03-02 |
Family
ID=12553608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP3945895A Expired - Fee Related JP3624450B2 (ja) | 1995-02-06 | 1995-02-06 | 画像データ符号化方法及び画像データ符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3624450B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4090862B2 (ja) | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
JP4368575B2 (ja) | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
JP4515994B2 (ja) * | 2002-04-19 | 2010-08-04 | パナソニック株式会社 | 可変長符号化方法、可変長符号化装置およびプログラム |
JP3944225B2 (ja) * | 2002-04-26 | 2007-07-11 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム |
JP5855777B2 (ja) * | 2015-01-28 | 2016-02-09 | 株式会社情報システム総合研究所 | データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法およびデータ圧縮および復号システム |
-
1995
- 1995-02-06 JP JP3945895A patent/JP3624450B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08214310A (ja) | 1996-08-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4286322B2 (ja) | 符号化されたビデオ画像の送信及び受信 | |
KR950010913B1 (ko) | 가변장부호화 및 복호화시스템 | |
JP3888597B2 (ja) | 動き補償符号化装置、及び動き補償符号化復号化方法 | |
JPH099261A (ja) | 信号圧縮装置 | |
JPH0377477A (ja) | 可変長符号化方法及びその装置 | |
EP1834487A1 (en) | Method for improved entropy coding | |
US5351086A (en) | Low-bit rate interframe video encoder with adaptive transformation block selection | |
JP3016456B2 (ja) | 適応的可変長符号化方法 | |
JPH0522715A (ja) | 画像符号化装置 | |
JPH06237448A (ja) | 可変長符号化及び復号化装置 | |
JP3292221B2 (ja) | 画像圧縮符号化方法 | |
JP3624450B2 (ja) | 画像データ符号化方法及び画像データ符号化装置 | |
KR100242635B1 (ko) | 가변장 부호화 및 가변장 복호화 시스템 | |
JPH04100390A (ja) | 高能率符号化方式 | |
JP3559314B2 (ja) | 画像圧縮装置 | |
JP2710135B2 (ja) | フレーム間/フレーム内適応符号化方式 | |
JPH0984011A (ja) | 動画符号化方式変換装置 | |
JP3191462B2 (ja) | 高能率符号化装置 | |
KR100295802B1 (ko) | 복수의가변장부호화테이블을이용한영상데이터압축장치 | |
KR0134358B1 (ko) | 가변 스캔방법을 이용한 부호화 및 복호화시스템 | |
KR100293369B1 (ko) | 모양 적응적 선택을 이용하는 디지털 영상압축 부호화 및 복호화장치 및 그 방법 | |
JP3539910B2 (ja) | 画像信号符号化装置及び符号化方法並びに画像信号復号化装置及び復号化方法 | |
JPH03124180A (ja) | フレーム間/フレーム内符号化選択方式 | |
JP2760711B2 (ja) | 画像符号化装置及び画像復号化装置 | |
JPH0683442B2 (ja) | 画像信号の符号化方式とその装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041012 |
|
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: 20041109 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041122 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |