JP4388771B2 - 動画像復号装置、および動画像復号方法 - Google Patents

動画像復号装置、および動画像復号方法 Download PDF

Info

Publication number
JP4388771B2
JP4388771B2 JP2003276576A JP2003276576A JP4388771B2 JP 4388771 B2 JP4388771 B2 JP 4388771B2 JP 2003276576 A JP2003276576 A JP 2003276576A JP 2003276576 A JP2003276576 A JP 2003276576A JP 4388771 B2 JP4388771 B2 JP 4388771B2
Authority
JP
Japan
Prior art keywords
data
variable length
coefficient
unit
decoding
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 - Lifetime
Application number
JP2003276576A
Other languages
English (en)
Other versions
JP2004007788A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003276576A priority Critical patent/JP4388771B2/ja
Publication of JP2004007788A publication Critical patent/JP2004007788A/ja
Application granted granted Critical
Publication of JP4388771B2 publication Critical patent/JP4388771B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

本発明は、入力画像信号をブロック単位で変換および量子化して量子化変換係数を生成し、該量子化変換係数を上記ブロック内の所定領域毎に可変長符号化テーブルにより可変長符号化して符号化ビットストリームを生成する動画像符号化装置および動画像符号化方法と、その符号化ビットストリームから画像信号を復号して、符号化前の入力画像信号を復元するようにした動画像復号装置および動画像復号方法に関する。
従来、画像信号を効率的に符号化する手段として、例えば、ISO/IEC JTC11/SC29/WG111にて標準化作業が進められているMPEG-4(Moving Picture Experts Group Phase-4)のビデオ符号化参照方式(Verification Model 8.0 、以下VM8.0、ISO/IEC JTC11/SC29/WG11/N1796)で採用されているように、ブロック毎に、離散コサイン変換(DCT) 、量子化後、得られた量子化変換係数を可変長符号化する方法が用いられてきた。
MPEG-4では、ブロック内の量子化変換係数を可変長符号化する手段としては、ブロック内を決められた順番にスキャンし、零でない係数がブロック内で最後かどうかを示すフラグ(LAST)、連続する零の数(RUN)とそれに続く零でない係数のレベル(LEVEL)を組にして、ブロック内で同一の可変長符号化テーブルを用いて、(LAST,RUN,LEVEL)を可変長符号化する方法が用いられている。このとき用いられる可変長符号化テーブルは、各(LAST,RUN,LEVEL)に対して、(LAST,RUN,LEVEL)の発生確率に基づいて、符号長を定められた符号語を割り当てている。
つまり、発生確率の低い(LAST,RUN,LEVEL)に対しては長い符号長の符号語を割り当て、これに対し、発生確率の高い(LAST,RUN,LEVEL)に対しては短い符号長の符号語を割り当てるようにしている。
しかし、前記の従来方式では、一つの可変長符号化テーブルにより、ブロック内の量子化変換係数を符号化していたため、例えば、符号化の際、量子化変換係数の値のばらつきを小さくするために、前後のブロックの変換係数との差分データを符号化する変換係数予測が行われた場合、変換係数予測が行われなかった場合と比較すると、変換係数のレベルが小さくなるなど、(RUN,LEVEL)の発生確率が異なる場合に、同一の可変長符号化テーブルを用いて符号化を行うと変換係数の符号化の際の冗長度が高くなる、という問題があった。
また、量子化を行った際の量子化ステップサイズによっても変換係数のレベルの発生頻度は異なるため、やはり同一の可変長符号化テーブルを用いて符号化することは、変換係数の符号化の際の冗長度を高める、という問題があった。
そこで、本発明は、上述したような問題を解決するためになされたもので、変換係数予測を行ったか否か、あるいは、量子化ステップサイズ等の各種の符号化の際の条件を適応的に切り替えた場合に、符号化効率を高めることのできる動画像符号化装置および動画像符号化方法を提供することを目的とする。
特に、本発明では、入力画像信号の符号化単位であるブロック内をいくつかの領域に分け、各領域内の変換係数を可変長符号化する際に用いる可変長符号化テーブルを適応的に切り替えることにより、符号化効率を向上させることのできる動画像符号化装置および動画像符号化方法を提供することを目的とする。
また、これらの動画像符号化装置および動画像符号化方法によって生成された符号化ビットストリームを正しく復号することのできる動画像復号装置および動画像復号方法を提供することを目的とする。
前記目的を達成するために、本発明は、符号化ビットストリームを入力してその符号化ビットストリームに含まれるブロック毎に可変長符号化された係数データを可変長復号して量子化変換係数を復元し、該量子化変換係数を逆量子化、逆変換して画像信号を復号する動画像復号装置において、零でない係数のレベル(LEVEL)と連続する零の数(RUN)に関する複数のデータから構成される係数データを復号するための複数の可変長復号テーブルと、既に復号されている係数データのレベルに基づき、複数の可変長復号テーブルの中から1つの可変長復号テーブルを選択する可変長復号テーブル選択手段と、選択された可変長復号テーブルを使用して係数データに含まれるデータを可変長復号する変換係数可変長復号手段と、を備え、変換係数可変長復号手段は、可変長復号テーブル選択手段により選択された可変長復号テーブルを用いて、復号対象とする係数データの可変長復号を行うとともに、復号した係数データのレベルから係数データに含まれるデータの可変長符号時に使用された可変長符号化テーブルと対応する可変長復号テーブルを示す選択情報を生成し、可変長復号テーブル選択手段は、既に生成された前記選択情報によって示された1つの可変長復号テーブルを、復号対象係数データの可変長復号に用いる可変長復号テーブルとして選択することを特徴とするものである。
また、次の発明では、
符号化ビットストリームを入力してその符号化ビットストリームに含まれるブロック毎に可変長符号化された係数データを可変長復号して量子化変換係数を復元し、該量子化変換係数を逆量子化、逆変換して画像信号を復号する動画像復号方法において、零でない係数のレベル(LEVEL)と連続する零の数(RUN)に関する複数のデータから構成される係数データの復元の際、既に復号された係数データのレベルに基づき、係数データに含まれるデータを復号するための複数の可変長復号テーブルの中から1つの可変長復号テーブルを選択する選択ステップと、その選択した可変長復号テーブルを使用して係数データに含まれるデータを可変長復号する復号ステップとを備え、復号ステップは、選択ステップにより選択された可変長復号テーブルを用いて、復号対象とする係数データの可変長復号を行うとともに、復号した係数データのレベルから係数データに含まれるデータの可変長符号時に使用された可変長符号化テーブルと対応する可変長復号テーブルを示す選択情報を生成し、選択ステップは、既に生成された選択情報によって示された1つの可変長復号テーブルを、復号対象係数データの可変長復号に用いる可変長復号テーブルとして選択することを特徴とするものである。
以上、説明したように本発明では、ブロックを複数の領域に分けて、領域毎に、ブロック内での領域の位置と量子化の際の符号化条件に応じて、VLCテーブルグループを選択し、さらにその選択されたVLCテーブルグループの中からVLCテーブルを選択して、変換係数を可変長符号化することができるため、より少ない符号量で変換係数を符号化することが可能となる。 また、領域の位置と量子化の際の符号化条件により、領域内で切り替えるVLCテーブルグループを選択しておくことにより、切り替えるVLCテーブルを示す情報を符号化するのに必要な符号量を削減することができる。
また、次の発明では、選択されたVLCテーブルグループの中からVLCテーブルを選択する際に、領域内のスキャン位置に応じて選択することにより、付加情報として、切り替えるVLCテーブルを示す情報をビットストリームに多重化する必要がなく、VLCテーブルの切り替えに必要な付加情報の符号量を削減できるという効果が得られる。
さらに、次の発明では、領域毎に領域内の量子化変換係数が零であるかを判定し、領域内の係数がすべて零である領域については、その領域が無効であることの情報を符号化し、領域内に零ではない係数がある領域については、その係数を符号化するのに用いたVLCテーブルを示す情報を符号化することにより、従来、符号化モードによって異なるビットストリームの構造を共通にすることができ、復号装置において、シンタックス解析のための回路を簡単にすることができるという効果が得られる。
また、次の発明では、AC係数データの可変長符号化を行う際に、符号化するAC係数データに対応するデータがVLCテーブルになかった場合、AC係数データを変換し、変換したAC係数データをもとに再びVLCテーブルを探索し、可変長符号化することにより、圧縮効率を高める効果が得られる。
実施の形態1.
本実施の形態1では、請求項1に記載の符号化装置による動画像符号化装置について説明する。
図1は、本実施の形態1における動画像符号化装置の構成を示すブロック図である。
同図において、1は入力形状データ、2は形状符号化部、3は形状符号化データ、4は可変長符号化部、5は多重化部、6は局所復号形状データ、7は入力テクスチャデータ、8はイントラ/インター判定部、9はモード指示フラグ、10は動き検出部、11は動きベクトル、12は動き補償部、13は予測画像信号、14は予測誤差信号、15は被符号化画像信号、16はテクスチャ符号化部、17は量子化変換係数データ、18はテクスチャ局所復号部、19は局所復号予測誤差信号、20は局所復号画像信号、21は切替部、22は参照画像信号、23はメモリ、24は形状データ符号語、25は付加情報符号語、26はブロックデータ符号語、27は動きベクトル符号語、28は符号化ビットストリーム、29は減算器、30は加算器、31はテクスチャ符号化の際の条件の1つである変換係数予測判定情報、32はテクスチャ符号化の際の条件のもう1つである量子化ステップサイズ、である。
図2は、図1に示す実施の形態1の可変長符号化部4の内部構成を示す図である。
同図において、4aは形状データ可変長符号化部、4bは付加情報可変長符号化部、4cは変換係数可変長符号化部、4dは動きベクトル可変長符号化部、である。
次に、図1および図2をもとに、装置全体の動作について説明する。
尚、本装置は、入力ディジタル画像系列を、MPEG-4でいう画像オブジェクト、すなわち動きや絵柄などの特徴を同じくする部分領域に分離して、画像オブジェクトを単位として符号化する装置である。ただし、1フレームを1画像オブジェクトとして定義すれば、画像フレームを単位として符号化することもできる。画像オブジェクトとは、それを取り囲むような外接四角形内のカラー濃淡レベルを表すテクスチャデータと、外接四角形内の有効画素を表す形状データと、から構成される。テクスチャデータは、輝度信号成分および色差信号成分のペアから構成され、入力画像信号に相当するものである。形状データは、オブジェクトの内部を1、オブジェクトの外部を0とする2値のマトリクスデータである。
動作を説明すると、まず、入力形状データ1は、形状符号化部2に渡され、符号化、局所復号が行われ、それぞれ形状符号化データ3と、局所復号形状データ6として出力される。
形状符号化データ3は、可変長符号化部4で可変長符号化され、その後、多重化部5にて、符号化ビットストリーム28に多重化される。
また、局所復号形状データ6は、有効画素のみを対象にして、テクスチャデータの符号化、動き補償等を行うために用いられるように、テクスチャ符号化部16、テクスチャ局所復号部18、動き補償部12、動き検出部10に送られる。
一方、入力テクスチャデータ7は、マクロブロックと呼ばれるブロック毎に切り出され、マクロブロック単位で以下の動作を行う。
つまり、まず、テクスチャデータ7を画像オブジェクト内で符号化するか、画像オブジェクト間で符号化するかをイントラ/インター判定部8にて決定する。 ここで、イントラ(画像オブジェクト内)符号化に決定した場合、イントラ/インター判定部8は、入力テクスチャデータ7をそのまま被符号化画像信号15としてテクスチャ符号化部16へ渡す。
その一方、インター(画像オブジェクト間)符号化に決定した場合、イントラ/インター判定部8は、動き補償予測を行うため、入力テクスチャデータ7を動き検出部10に送る。
動き検出部10では、メモリ23に記憶された参照画像信号22の所定の範囲内で入力テクスチャデータ7の輝度信号成分に最も類似する領域を探索し、入力テクスチャデータ7の画面内位置からその最も類似する領域の位置までの位置の変化を動きベクトル11として、動き補償部12および可変長符号化部4に出力する。
可変長符号化部4に出力された動きベクトル11は、可変長符号化部4の動きベクトル可変長符号化部4dにより冗長度を削減された後、多重化部5により符号化ビットストリーム28に多重化される。
また、動き補償部12では、動き検出部10から得られた動きベクトル11に基づいて、メモリ23に記憶された参照画像信号22から予測画像信号13を抽出する。すると、減算器29は、この予測画像信号13と、入力テクスチャデータ7との差分である予測誤差信号14を、被符号化画像信号15としてテクスチャ符号化部16へ渡す。
なお、イントラ/インター判定部8にて選択されたイントラ/インターのモードは、切替部21へ出力されると共に、モード指示フラグ9として、可変長符号化部4で可変長符号化され、続いて多重化部5に渡されて、符号化ビットストリーム28に多重化される。
そして、テクスチャ符号化部16では、被符号化画像信号15を直交変換および量子化して、量子化変換係数データ17として出力する。量子化変換係数データ17は、可変長符号化部4の変換係数可変長符号化部4cによって、冗長度を削減されて可変長符号化された後、多重化部5によって、符号化ビットストリーム28に多重化される。
また、テクスチャ符号化部16から出力された量子化変換係数データ17は、テクスチャ局所復号部18にも送信され、テクスチャ局所復号部18により、逆量子化および逆直交変換されて局所復号予測誤差信号19となる。
この局所復号予測誤差信号19は、モード指示フラグ9がインターモードを示している場合、切替部21から動き補償部12からの予測画像信号13が出力されているので、加算器30にて、その予測画像信号13と加算されて、局所復号画像信号20として出力される。
これに対し、モード指示フラグ9がイントラモードを示している場合には、切替部21にて、0信号が選択されるので、加算部30にて、局所復号予測誤差信号19と予測画像信号13との加算は行われず、そのまま局所復号画像信号20として出力される。
なお、加算部30から出力された局所復号画像信号20は、次フレーム以降の動き補償予測の参照画像信号22として用いられるため、メモリ23に書き込まれる。
次に、本実施の形態1の最も重要な要素であるテクスチャ符号化部16および変換係数可変長符号化部4cの構成および動作について説明する。
図3は、図1に示す実施の形態1のテクスチャ符号化部16の内部構成図である。
同図において、16aはブロックデータ抽出部、16bはブロックデータ、16cはDCT部、16dはDCT係数、16eは量子化部、16fは量子化変換係数、16gは変換係数予測部,である。
次にテクスチャ符号化部16内の動作を説明する。
テクスチャ符号化部16では、まず、被符号化画像信号15より、直交変換の一つである離散コサイン変換(以下、DCT)を行う単位となるブロック、例えば、通常8画素×8画素のブロックを、ブロックデータ抽出部16aにて抽出する。
抽出されたブロックデータ16bは、DCT部16cに入力され、DCTが行われる。DCT部16cから出力されたDCT係数16dは、量子化部16eにて、量子化ステップサイズに基づき量子化され、量子化変換係数16fとして変換係数予測部16gに出力される。
変換係数予測部16gでは、変換係数予測を行う。変換係数予測は、周囲のブロックの量子化変換係数より、符号化対象ブロックの量子化変換係数の予測値を求め、量子化変換係数と予測値との差分値を算出する。この差分値が変換係数可変長符号化部4c(図2参照)にて符号化される。
ここで、符号化対象のブロックの量子化変換係数が、周囲のブロックの量子化変換係数と相関がある場合には、周囲のブロックの量子化変換係数との差分をとることにより、差分量子化変換係数は、もとの量子化変換係数と比べて値のばらつきが小さくなる。例えば、量子化変換係数の値が0から255の範囲に同じ出現頻度で分布しているとする。このような量子化変換係数に対するエントロピーは、8ビットになり、各レベルの値に対応する符号語の符号長は、いずれのレベルに対しても、8ビットになる。
また、符号化対象のブロックの量子化変換係数が、近隣のブロックの量子化変換係数と強い相関をもち、特に、近隣のブロックの量子化変換係数の値と大きく変わらないときには、近隣のブロックの量子化変換係数との差分値である差分量子化変換係数の出現頻度は零近辺に多くなる。このような出現頻度に偏りのある信号のエントロピーは、もとの量子化変換係数のエントロピーよりも小さくなるため、出現頻度に応じた符号長の割り当てを行えば、差分量子化変換係数の平均符号長を8ビットよりも小さくすることができる。このように、変換係数予測を行い、差分量子化変換係数を符号化することにより、変換係数可変長符号化部にて符号化されるときに発生する符号量を少なくすることができる。
次に、変換係数予測部16gの動作の一例を説明する。
図4は、変換係数予測部16gによる変換係数予測の説明図である。
以下に述べる動作は、ISO/IEC JTC1/SC29/WG11 MPEG-4 Video VM8.0 に開示されているイントラAC/DC予測に相当する。
変換係数予測は、特に値のばらつきが大きくなるイントラモードのDC係数や、図4の斜線部に位置する低周波成分の量子化変換係数(以下、変換係数と略する)に対して行う。
変換係数の予測値は、図4に示すように符号化対象のブロックをXとしたとき、ブロックXの周囲のブロック、例えばブロックBまたはブロックCの変換係数を用いる。求められた変換係数予測値と、量子化変換係数との差分をとり、差分量子化変換係数を出力する。
ただし、周囲のブロックとの相関がなく、差分量子化変換係数がもとの量子化変換係数より大きくなる場合には、変換係数予測を行わず、もとの量子化変換係数を出力する。
変換係数予測部16gは、このようにして求めた差分量子化変換係数、または量子化変換係数を量子化変換係数データ17として出力する。量子化変換係数データ17は、変換係数可変長符号化部4cにて可変長符号化される。
また、変換係数予測部16gは、変換係数予測が行われたか否かを示す情報を変換係数予測判定情報31として出力する。
次に、変換係数可変長符号化部4cの詳細な構成および動作について説明する。
図5は、図2に示す変換係数可変長符号化部4cの内部構成図、図6はその動作の様子を示すフローチャートである。
図5において、4c1はVLCテーブル記憶部、4c2は切替部、4c3はDC係数データ符号化部、4c4はAC係数データ、4c5はDC係数符号語、4c6はVLCテーブルグループ選択部、4c7はVLCテーブルグループ情報、4c8はVLCテーブル選択部、4c9はVLCテーブル選択情報、4c10は領域データ符号化部、4c11はAC係数符号語である。
このように構成された本実施の形態1の変換係数可変長符号化部4cは、ブロック内を複数の領域に分けて、領域毎に、その領域内の変換係数の統計的特性に基づいて、複数の可変長符号化テーブルを設定する。領域内の変換係数を符号化する際には、これらの設定された複数の可変長符号化テーブルの中から用いる可変長符号化テーブルを適応的に切り替える。なお、領域毎に複数の可変長符号化テーブルを設定する際には、領域の位置とその領域内の変換係数に対して、変換係数予測が行われたか否かに基づいて設定する。
以下、図5および図6をもとに動作の詳細な説明を行う。
(1)DC係数データ符号化
まず、切替部4c2にて、モード指示フラグ9を判定し(ステップS1)、イントラモードを示す場合には、量子化変換係数データ17をDC係数データ符号化部4c3に渡し、DC係数データの符号化を行い(ステップS2)、DC係数符号語4c5を出力する。一方、インターモードの場合には、DC係数は存在しないため、DC係数データ符号化部4c3への切替は行わない。
(2)AC係数データ符号化
つぎに、量子化変換係数データ17のうちのAC係数データ4c4の符号化について説明する。AC係数データ4c4の符号化は、ブロック内を複数の領域に分けて、領域毎に行う。ブロック毎にDCTを行った場合、ブロック内の位置によって、変換係数の値の発生確率が異なるため、画像データの統計的特性に基づいて、ブロック内を複数の領域に分割する。
例えば、図7に示すように、ブロック内のAC係数領域を4つの領域1〜4に分割する。領域1は、スキャン方向と平行な垂直方向の低周波成分を含む領域であり、領域2は、スキャン方向と垂直な水平方向の低周波成分を含む領域である。このため、領域1および領域2は高い値のAC係数が発生しやすい。これに対し、領域3または領域4は、高周波成分を含む領域で、零や小さい値のAC係数が発生しやすい。
領域1〜4内のAC係数データの符号化は、各領域1〜4内のAC係数データを低周波成分から高周波成分へ決められた順番でスキャンし、得られた複数の(RUN,LEVEL)データを可変長符号化(以下、VLC(Variable Length Coding)と略する)する。
そこで、まず領域1〜4毎に決められた順番で領域1〜4内をスキャンして、(RUN,LEVEL)データを求める(ステップS3)。ここで、RUNはスキャンしたときに、連続する零の数であり、LEVELはそれに続く零でない係数の絶対値である。
例えば、領域2を、図7に示す矢印Aの方向にスキャンした場合、スキャンされた一番最初の係数は−8であるので、最初の(RUN,LEVEL)は、(0,−8)になる。次に、0が1つ続いた後で、−1が続くので、次の(RUN,LEVEL)データは、(1,−1)になる。以上の処理を領域内で零でない係数が最後になるまで繰り返す。
スキャンして得られた(RUN,LEVEL)データは、領域毎にその領域内の(RUN,LEVEL)データの発生確率に基づいて設定されたVLCテーブルにより、可変長符号化する。
VLCテーブルは、シンボルの発生確率に応じて、発生確率の高いシンボルには、短い符号長を、発生確率の低いシンボルには、長い符号長を割り当て、シンボルとそれに対応する符号語を対にしたテーブルである。
AC係数データの符号化の際に用いるVLCテーブルのシンボルは、(RUN,LEVEL)データに相当する。(RUN,LEVEL)の発生確率は領域毎に異なるため、領域毎に異なるVLCテーブルを設定することにより、AC係数データの符号量を削減することができる。
また、AC係数の値は、DCT、量子化が行われたときの各種の符号化条件によっても異なる。例えば、周囲のマクロブロックのAC係数との差分をとる変換係数予測が行われた場合には、AC係数の値は、変換係数予測を行わなかった場合より、小さい値になる。また、量子化の際の量子化ステップサイズの大きさによっても異なる。
従って、これらの条件も考慮して、VLCテーブルを設定することにより、さらにAC係数データの符号量を削減することができる。
以上の観点から、本実施の形態1では、領域1〜4毎にその領域1〜4内の(RUN,LEVEL)データの統計的特性に応じて、VLCテーブルグループを選択し、選択されたVLCテーブルグループの中で、各(RUN,LEVEL)データを符号化する際に用いるVLCテーブルを切り替える。
以下に、各領域1〜4毎にVLCテーブルを選択する方法について述べる。
(2.1)VLCテーブルグループ選択
(RUN,LEVEL)の出現確率は、領域1〜4毎、あるいは領域1〜4内のスキャンされた位置によって異なるため、領域1〜4毎に異なる複数のVLCテーブルを設定する。
また、量子化変換係数データを求めた際の符号化条件によっても、出現確率は異なる。
このため、本実施の形態1では、テクスチャ符号化の際の条件として、テクスチャ符号化部16の変換係数予測部16gから得られる変換係数予測判定情報31(図3参照)に基づいて、VLCテーブルグループを選択する。
まず、ブロック内の各領域を符号化するのに選択可能なVLCテーブルの組合わせであるVLCテーブルグループをVLCテーブルグループ選択部4c6にて選択する(ステップS4)。
例えば、図7のように分割した場合、領域1から領域4のそれぞれに対して、VLCテーブルグループを選択する。このとき、低周波成分から高周波成分へスキャンするときに、低周波成分ほど大きいLEVELのデータの出現確率が高く、高周波成分になるほど小さいLEVELあるいは零が多くなるという特性に基づき選択する。
ここでは、領域1〜4毎に、変換係数予測判定情報31により、VLCテーブルグループを選択する方法を図8を参照して、説明する。
図8は、VLCテーブル記憶部4C1に記憶される1組の(RUN,LEVEL)とその出現確率に応じた符号長を割り当てた符号語を対にしたVLCテーブルグループを示している。
(RUN,LEVEL)の出現確率は、変換係数予測が行われたか、否か、或いは領域1〜4内における変換係数がスキャンされた位置によって異なるため、図8に示すように、変換係数予測が行われたか否か、および領域1〜4毎に、それぞれの場合に対応したVLCテーブルを複数持つVLCテーブルグループが用意されている。
例えば、図8に示すように、領域1と領域2に対しては、変換係数予測が行われなかった場合、VLCテーブルグループ選択部4c6は、変換係数予測判定情報31、および(RUN,LEVEL)の出現確率に基づき、小さいLEVELのシンボルを含むVLCテーブル1A、高
いLEVELのシンボルと、短いRUNのシンボルを含むVLCテーブル2A,3A等を有するテーブルグループT1を選択して、選択したテーブルグループT1を示すVLCテーブルグループ情報4c7をVLCテーブル選択部4c8へ出力するようにする。
これに対し、変換係数予測が行われた場合には、係数のレベルのばらつきが小さくなる効果が得られるため、変換係数予測が行われなかった場合と比べて、高いLEVELを含むVLCテーブルの必要度は小さい。
従って、VLCテーブルグループ選択部4c6は、変換係数予測判定情報31、および変換係数予測が行われた場合の(RUN,LEVEL)の出現確率に基づき、小さいLEVELのシンボルを含むVLCテーブル1Bと、中間のLEVELで、短いRUNのシンボルを含むVLCテーブル2B等を有するテーブルグループT2を選択して、選択したテーブルグループT2を示すVLCテーブルグループ情報4c7をVLCテーブル選択部4c8へ出力するようにする。
また、領域3と領域4に対しては、高いLEVELのシンボルの出現確率は小さいので、その代わり長いRUNのシンボルを含むVLCテーブル4,5等を有するテーブルグループT3を選択して、選択したテーブルグループT3を示すVLCテーブルグループ情報4c7をVLCテーブル選択部4c8へ出力するようにする。
なお、VLCテーブルグループは、この実施の形態1に対応する復号側では、この実施の形態1の符号化側と同様に、ブロック内の領域1〜4毎に、変換係数予測判定情報31に応じて選択されるため、付加情報としてVLCテーブルグループ情報4c7をビットストリーム28に多重化する必要がない。
つまり、図1や図2等に示すように、変換係数予測判定情報31は、変換係数予測を行うかどうかを判定するために、復号側へ送信されるビットストリーム28に付加情報符号語25の一つとして多重化されているので、これを利用すればよい。
従って、VLCテーブルグループ情報4c7を復号側へビットストリーム28に多重化する必要がないので、新たに符号量の増加させることなく、各領域毎に用いられるVLCテーブルグループを選択することができることになる。
(2.2)領域データ符号化
次に、各領域1〜4内のAC係数データ4c4の可変長符号化について説明する。
AC係数データ4c4は、各領域1〜4内を決められた順番でスキャンして得られた複数の(RUN,LEVEL)データの組合せで表されており、各領域の(RUN,LEVEL)データであるAC係数データ4c4は、VLCテーブル選択部4c8および領域データ符号化部4c10に出力されている。
VLCテーブル選択部4c8では、VLCテーブルグループ選択部4c6からのVLCテーブルグループ情報4c7に基づいて、入力された(RUN,LEVEL)データであるAC係数データ4c4を可変長符号化するのに用いるVLCテーブルを、VLCテーブルグループ選択部4c6で選択されたVLCテーブルグループの中から適応的に選択する(ステップS5)。選択されたVLCテーブルを示すVLCテーブル選択情報4c9は、領域データ符号化部4c10に出力される。
なお、VLCテーブル選択の基準は、例えば、(RUN,LEVEL)データであるAC係数データ4c4のLEVELの大きさによって決定するようにする。
次に領域データ符号化部4c10の動作を述べる。
領域データ符号化部4c10は、VLCテーブル選択部4c8から出力されたVLCテーブル選択情報4c9に基づいて、VLCテーブル記憶部4c1に記憶されたVLCテーブルを選択して、(RUN,LEVEL)データを可変長符号化する(ステップS6)。
可変長符号化は、例えば、まず、選択したVLCテーブルの中から、(RUN,LEVEL)に対応する符号語を探す。対応する符号語が見つかった場合には、それをAC係数符号語4c11として出力する。対応する符号語が見つからなかった場合には、エスケープコードと呼ばれる決められた固定長の符号語を出力する。エスケープコードが出力された場合には、RUN,LEVELをそれぞれ固定長符号化し、エスケープコードの後にRUN,LEVELそれぞれの固定長符号語を続けたものをAC係数符号語4c11として出力する。
このようにして、領域内のすべての(RUN,LEVEL)データを符号化し終えるまでステップS5〜ステップS6の処理を繰り返す(ステップS7“No”)。
さらに、ある領域内のすべての(RUN,LEVEL)データを可変長符号化した場合には(ステップS7“Yes”)、ブロック内の他の領域1〜4すべての(RUN,LEVEL)データを可変長符号化したかを判断して(ステップS8)、ブロック内の他の領域1〜4すべての(RUN,LEVEL)データを可変長符号化していないと判断した場合には(ステップS8“No”)、ステップS3〜ステップS7までの処理を繰り返すようにする(ステップS8)。
これに対し、ブロック内の各領域1〜4すべての(RUN,LEVEL)データを可変長符号化したと判断した場合には(ステップS8“Yes”)、変換係数可変長符号化部4cは、可変長符号化の処理を終了して、DC係数符号語4c5、AC係数符号語4c11を、ブロックデータ符号語26として多重化部5に渡し、多重化部5が符号化ビットストリーム28に多重化する。
ここで、この実施の形態1では、選択したVLCテーブルグループの中からのVLCテーブルの選択を、各(RUN,LEVEL)データのLEVELの値を用いて行なうようにしているので、この場合、復号側では、LEVELを復号する前にVLCテーブルを選択する必要がある。このため、VLCテーブル選択情報4c9を付加情報可変長符号化部4bへ送り符号化させて、VLCテーブル選択符号語とし、付加情報符号語25の1つとしてビットストリーム28に多重化するようにする。
ここで、VLCテーブル選択情報4c9の符号化の方法としては、現在の(RUN,LEVEL)データと、次の(RUN,LEVEL)データとを符号化するのに用いるVLCテーブル選択情報4c9(NEXT)を組にして、可変長符号化する方法がある。このとき用いる可変長符号化テーブルは、1組の(NEXT,RUN,LEVEL)に対して、その出現確率に応じて符号長を定められた符号語を格納したテーブルになる。
この方法では、領域内で最初の(RUN,LEVEL)を符号化するのに用いるVLCテーブル選択情報4c9は、VLCテーブル初期切替情報として別に符号化しておく必要がある。2番目以降の(RUN,LEVEL)の符号化の際に用いるVLCテーブル選択情報4c9は、1つ前の(RUN,LEVEL)データと組にして符号化されることになる。また、領域内で零でないLEVELが最後のときは、NEXTは、それと組になっている(RUN,LEVEL)が領域内で最後の(RUN,LEVEL)であることを示す情報となる。
このように、複数のVLCテーブルを切り替えて、各領域を符号化する際には、上述したように、VLCテーブル選択情報4c9を、付加情報として符号化する必要がある。例えば、図8に示すように変換係数予測を行った場合と、行わなかった場合とで用いるVLCテーブルグループを切り替える場合には、変換係数予測を行った場合に切り替えるVLCテーブルの数は、テーブルグループT2のテーブル1B、2Bの2つであるから、VLCテーブル選択情報4c9を固定長で符号化した場合に必要な符号長は、1ビットになる。
しかしながら、変換係数予測を行った場合と、行わなかった場合でVLCテーブルグループを切り替えない場合には、5種類のVLCテーブルの中から切り替える必要があり、VLCテーブル選択情報4c9を固定長で符号化した場合に必要な符号長は、3ビットになる。
VLCテーブル選択情報4c9を上述したように、(RUN,LEVEL)と組にして可変長符号化する場合にも、NEXTの種類が増えれば、NEXT,RUN,LEVELの組合せが多くなるため、各(NEXT,RUN,LEVEL)に対応する符号語の符号量も大きくなる。 本実施の形態1で述べたように、領域毎にその領域内の(RUN,LEVEL)データの統計的特性に応じて、VLCテーブルグループを選択し、選択されたVLCテーブルグループの中で、各(RUN,LEVEL)データを符号化する際に用いるVLCテーブルを切り替えることにより、VLCテーブル選択情報4c9を符号化するのに必要な符号量を削減することができる。
以上説明したように、本実施の形態1では、ブロックを複数の領域に分けて、領域毎に、ブロック内での各領域の位置と変換係数予測判定情報に応じて、VLCテーブルグループを選択し、さらに、その選択されたVLCテーブルグループの中からVLCテーブルを選択して、変換係数を可変長符号化するようにしたため、より少ない符号量で変換係数を符号化することが可能となる。
また、本実施の形態1では、各領域の位置と、変換係数予測判定情報31とにより、各領域内で切り替えるVLCテーブルグループを予め用意しておくことにより、切り替えるVLCテーブルの種類を符号化するのに必要な符号量を削減することができる。
実施の形態2.
本実施の形態2は、変換係数可変長符号化部4cの構成を変えたことを特徴とするものである。このため、この実施の形態2の変換係数可変長符号化部4cの構成および動作を中心に説明する。
図9は、本実施の形態2における変換係数可変長符号化部4cの内部構成図である。同図において、32は、図3に示すテクスチャ符号化部16の量子化部16eから出力される量子化の際の量子化ステップサイズである。
つまり、本実施の形態2における変換係数可変長符号化部4cでは、テクスチャ符号化の際の条件としてVLCテーブルグループ選択部4c6へ入力する変換係数予測判定情報31の代わりに、量子化ステップサイズ32を入力させるようにしたことが特徴であり、その他の動作は実施の形態1における変換係数可変長符号化部4cと同じである。
次に、本実施の形態2におけるVLCテーブルグループ選択部4c6の動作について述べる。
VLCテーブルグループ選択部4c6では、VLCテーブルグループ選択部4c6が予め認識している領域のブロック内での位置と、外部からテクスチャ符号化の際の条件として入力する量子化ステップサイズ32とに基づいて、ブロック内の各領域を符号化するのに選択可能なVLCテーブルグループを選択する。
例えば、大きい量子化ステップサイズ32で量子化された領域は、小さいLEVELまたは零が多くなり、大きいLEVELのデータの出現確率は小さくなる。このように量子化ステップサイズ32に応じて、(RUN,LEVEL)データの出現確率が異なるため、VLCテーブルグループ選択部4c6は、量子化ステップサイズ32に応じて、VLCテーブルグループを選択する。
なお、量子化ステップサイズ32は、図1や図2に示すように、復号側で逆量子化を行う際の情報として、可変長符号化部4の付加情報可変長符号化部4bにより可変長符号化された後、付加情報符号後25の1つとして多重化部5によりビットストリーム28に多重化されているので、復号側では、これを利用して復号時に用いる可変長復号テーブルグループを符号化側と同様に選択することができる。
このため、この実施の形態2では、上記実施の形態1の場合と同様に、VLCテーブルグループを選択することによる新たな付加情報をビットストリーム28に多重化する必要はない。ただし、実施の形態1の場合と同様に、選択したVLCテーブルグループの中からのVLCテーブルの選択を、各(RUN,LEVEL)データのLEVELの値を用いて行なうようにした場合、復号側では、LEVELを復号する前にVLCテーブルを選択する必要があるため、VLCテーブル選択情報4c9を付加情報可変長符号化部4bへ送り符号化させて、VLCテーブル選択符号語とし、付加情報符号語25の1つとしてビットストリーム28に多重化するようにする。
従って、本実施の形態2によれば、ブロックを複数の領域に分けて、領域毎に、ブロック内での領域の位置と、量子化ステップサイズとに応じて、VLCテーブルグループを選択し、さらにその選択されたVLCテーブルグループの中からVLCテーブルを選択して、各領域内のAC係数データを可変長符号化するようにしたので、より少ない符号量で変換係数を符号化することができ、圧縮効率を高める効果が得られる。
また、本実施の形態2では、VLCテーブルグループ選択時に、量子化ステップサイズ32を用いたが、実施の形態1で述べた変換係数予測判定情報31と、量子化ステップサイズ32との両方を用いて、VLCテーブルグループを選択するようにしてもよい。
実施の形態3.
本実施の形態3では、VLCテーブルグループ選択部にて選択されたVLCテーブルグループの中から、領域内の各(RUN,LEVEL)データを符号化するのに用いるVLCテーブルの選択を、領域内で低周波成分から高周波成分に向かうほど零または小さい値のLEVELの出現確率が高くなるといったLEVELの値の統計的特性に基づいて行うようにしたことを特徴とするものである。
例えば、低周波成分では、大きい値のレベルが発生しやすいため、符号化すべき(RUN,LEVEL)データが低周波成分でスキャンされたデータである場合には、大きい値のLEVELを含むVLCテーブルを選択する。
これに対し、高周波成分でスキャンされたデータである場合には、小さい値のレベルと長いRUNのデータを含み、それらに短い符号長を割り当てたVLCテーブルを選択する。
以下、領域内のスキャンされた位置に基づきVLCテーブルの選択を行うVLCテーブル選択部を含む変換係数可変長符号化部4cについて説明する。
図10は、本実施の形態3における変換係数可変長符号化部4cの内部構成を示す。
切替部4c2、DC係数データ符号化部4c3、VLCテーブルグループ選択部4c6の動作については、実施の形態1または実施の形態2と同様であり、異なるのは、VLCテーブル選択部4c8の動作だけである。
つまり、VLCテーブルグループ選択部4c6は、実施の形態1,2と同様に、ブロック内の各領域毎に、量子化ステップサイズ32または変換係数予測判定情報31等のテクスチャ符号化時の符号化条件に基づいて、選択可能なVLCテーブルグループを選択し、VLCテーブルグループ選択情報4c7として、VLCテーブル選択部4c8へ出力する。
VLCテーブル選択部4c8では、VLCテーブルグループ選択部4c6で選択されたVLCテーブルグループの中から、(RUN,LEVEL)データであるAC係数データ4c4を符号化するのに用いるVLCテーブルを選択する。
ここで、(RUN,LEVEL)の出現確率は、領域内のスキャンされた位置によって異なる。同一領域内でも低周波成分から高周波成分に向かうほど、零または小さい値のLEVELが多くなる。つまり、LEVELがスキャンされた位置により、LEVELの値の出現確率は異なる。
そこで、この実施の形態3のVLCテーブル選択部4c8では、上記実施の形態1,2の場合とは異なり、AC係数データ4c4である(RUN,LEVEL)データを入力することなく、領域内のスキャンの位置に応じてVLCテーブルの選択を行なうようにする。つまり、各領域1〜4内をさらに複数の領域に分割して、符号化対象の(RUN,LEVEL)データがどの領域でスキャンされたかによってVLCテーブルを選択するようにする。
なお、(RUN,LEVEL)データは、各領域1〜4内で予め決められた順番でスキャンされた順に符号化されているので、復号側では、復号対象の(RUN,LEVEL)のスキャン位置を、すでに復号された(RUN,LEVEL)をもとに符号化側のスキャン位置と一致させることができる。このため、復号側ではこのスキャン位置に基づいて復号時に用いる可変長復号テーブルを選択することができるため、本実施の形態3の符号化側では、VLCテーブル選択情報4c9を付加情報としてビットストリームに多重化する必要がない。
その結果、上記実施の形態1,2では、符号化ビットストリーム28にVLCテーブル選択情報4c9を多重化する必要があったが、本実施の形態3では、VLCテーブル選択情報4c9をビットストリーム28に多重化する必要がないため、実施の形態1,2の場合よりも、符号化ビットストリーム28の符号量を削減できることになる。
そして、VLCテーブル選択部4c8から領域データ符号化部4c10へVLCテーブル選択情報4c9が出力された後は、上記実施の形態1,2と同様で、領域データ符号化部4c10がVLCテーブル選択部4c8から出力されたVLCテーブル選択情報4c9に基づきVLCテーブルを切り替え選択して、AC係数データ4c4である(RUN,LEVEL)データを可変長符号化する。
領域データ符号化部4c10の動作は、実施の形態1,2と同様であり、以上の動作を領域内のすべての(RUN,LEVEL)データを符号化するまで繰り返す。
従って、本実施の形態3では、領域内のスキャン位置に応じて、VLCテーブルを選択するようにしたため、付加情報として、VLCテーブル選択情報4c9をビットストリームに多重化する必要がなくなり、VLCテーブルの切り替えに必要な付加情報の符号量を削減できるという効果が得られる。
実施の形態4.
本実施の形態4では、変換係数可変長符号化部4cの構成を変えたことを特徴とするものである。
図11に、本実施の形態4における変換係数可変長符号化部4cの内部構成図を示す。
同図において、4c12は領域データ有効/無効判定部、4c13は領域有効/無効情報、4c14は領域有効/無効情報符号化部、4c15は領域有効/無効情報符号語、である。
次に動作を説明するが、図11において、動作が異なるのは、領域データ有効/無効判定部4c12と、領域有効/無効情報符号化部4c14であり、その他の構成及び動作は実施の形態1または実施の形態2と全く同じである。
よって、以下では、領域データ有効/無効判定部4c12の動作とそれに対応する領域有効/無効情報符号化部4c14の動作について説明する。
まず、本実施の形態4の変換係数可変長符号化部4cでは、領域データ有効/無効判定部4c12が、領域毎に領域内のAC係数がすべて零であるか、否かを判定し、その判定結果を領域有効/無効情報4c13として出力する。領域有効/無効情報符号化部4c14は、その領域有効/無効情報4c13を符号化して、領域有効/無効情報符号語4c15として出力する。領域有効/無効情報4c13の符号化方法としては、例えば、ブロック内のすべての領域に関する領域有効/無効情報をまとめて可変長符号化すればよい。
なお、領域内のAC係数データ4c4がすべて零であった場合には、その領域は無効領域として、領域内のAC係数データ4c4の符号化は行わずに、次の領域の符号化へスキップする。従って、領域内のAC係数データ4c4がすべて零であった場合には、領域有効/無効情報4c13のみを符号化すればよく、AC係数データ4c4の符号量を削減することができる。
なお、実施の形態1,2で述べた変換係数可変長符号化部4cの場合、各(RUN,LEVEL)データを符号化するのに用いるVLCテーブルを示すVLCテーブル選択情報4c9を、付加情報可変長符号化部4bで符号化するようにしていた。
このため、この実施の形態4では、領域有効/無効情報4c13を、各領域1〜4内の最初の(RUN,LEVEL)データを符号化するのに用いたVLCテーブルを示す最初のVLCテーブル選択情報4c9等に符号化するようにしてもよい。
例えば、付加情報可変長符号化部4bは、最初のVLCテーブル選択情報4c9は、領域内のAC係数がすべて零でその領域の符号化を行わない場合には、“0”とし、n種類のVLCテーブルを切り替えて符号化したときのVLCテーブルを示す情報を、“1”〜“n”とすれば、VLCテーブル選択情報4c9により領域有効/無効情報4c13を代用することができる。このようにすれば、領域有効/無効情報符号化部4c14自体が不要になる。
次に、図4に示す本実施の形態4で述べた可変長符号化部4cを、MPEG-4におけるマクロブロックデータの符号化に適用した場合に得られる従来と比較して有利な効果、すなわち従来であれば符号化モードによって異なるビットストリームの構造を共通にすることができ、復号装置においてシンタックス解析のための回路を簡単にすることができるという効果について説明する。
図12に、従来のMPEG-4におけるマクロブロックデータを符号化した際の符号化ビットストリームの構造を示す。
従来、MPEG-4では、各VOPに対して、イントラ/インター符号化(I-VOP/P-VOP)を行う場合と、両方向予測符号化(B-VOP)を行う場合とで、異なるビットストリームの構造をもつ。イントラ符号化とは、VOP内の情報のみを用いて符号化を行うモードである。インター符号化とは、1つ等前のVOPを用いて動き補償予測を行うモードである。また、両方向予測符号化とは、1つ等前と後とのVOPを用いて、動き補償予測を行うモードである。
図12(a)は、従来のI-VOP/P-VOPのときのビットストリームB1の構造である。
図において、形状属性情報D1は、形状データの動きベクトル等の形状の属性情報である。
有効マクロブロック情報D2は、マクロブロックの有効/無効を示す情報で、マクロブロックの変換係数データがすべて零で、動きベクトルが零の場合には、そのマクロブロックは無効マクロブロックとなり、以降の情報はビットストリームに多重化されない。
有効色差ブロック情報・マクロブロックタイプD3は、有効色差ブロック情報と、マクロブロックタイプとを組にした情報で、有効色差ブロック情報は、マクロブロック内の色差ブロックの有効/無効を示す。色差ブロック内の変換係数データがすべて零の場合には、その色差ブロックは無効となる。
AC予測指示情報D4は、マクロブロック内のAC係数に対して、変換係数予測が行われたか否かを示す情報で、変換係数予測判定情報31と同じである。
有効輝度ブロック情報D5は、マクロブロック内の輝度ブロックの有効/無効を示す。輝度ブロック内の変換係数データがすべて零の場合には、その輝度ブロックは無効となる。
差分量子化ステップサイズD6は、1つ前のマクロブロックデータとの量子化ステップサイズが異なる場合に、1つ前のマクロブロックデータの量子化ステップサイズとの差分を表す。
インタレース情報D7は、インタレース画像の場合に必要な情報である。
動きデータD8は、動き補償が行われたときに存在する動きに関するデータである。
形状データD9は、任意形状のVOPを符号化する際に必要な情報である。
ブロックデータD10は、有効色差ブロック情報または有効輝度ブロック情報D5により有効ブロックであることが示唆された場合にのみ存在する。
図12(b)は、従来のB-VOPのときのビットストリームB2の構造である。 マクロブロックタイプD10と、有効ブロック情報D12の多重化方法のみが異なる。
具体的には、図12(a)に示すI-VOP/P-VOPの場合には、有効ブロック情報について、色差ブロックと、輝度ブロックとについて、別々に多重化し、色差ブロックの有効情報については、マクロブロックタイプと組にして、有効色差ブロック情報・マクロブロックタイプD3として可変長符号化している。輝度ブロック情報は、4つの輝度ブロックの有効/無効情報を組にして、有効輝度ブロック情報D5として可変長符号化している。
これに対し、図12(b)に示すB-VOPの場合には、マクロブロックタイプD11と有効色差ブロック情報を別々に多重化し、かつ、輝度ブロック、色差ブロックそれぞれの有効/無効を示す情報を有効ブロック情報D12として固定長符号化している。
このように、従来のI-VOP/P-VOPと、B-VOPとでは、ブロック内の量子化変換係数(AC係数)が領域内ですべて零か否かを示す有効ブロック情報の多重化方法が異なり、ビットストリームの構造が異なっている。
しかし、本実施の形態4で述べた可変長符号化部4cによれば、ブロック内の各領域毎に、領域データ有効/無効判定部4c12が量子化変換係数のAC係数が零か否かを判定し、領域有効/無効情報符号化部4c14がその領域有効/無効情報4c13を符号化して領域有効/無効情報符号化部4c14としてビットストリーム28に多重化するため、ブロック毎にブロック内での量子化変換係数AC係数が零か否かを判定して、それを有効ブロック情報として、ビットストリーム28に多重化する必要はない。
図13は、この実施の形態4の可変長符号化部4cを、MPEG-4におけるマクロブロックデータの符号化に適用した場合に得られるビットストリームB3を示している。
有効ブロック情報をビットストリームD3に多重化しないため、I-VOP,P-VOP,B-VOPいずれの符号化モードの場合にも、図13に示すビットストリームB3の共通の構造になる。
なお、本実施の形態4の場合、ブロックデータD10の各領域のAC係数データD13毎に、領域有効/無効情報D14が設定されることになる。
以上のように、本実施の形態4で述べた可変長符号化手段をMPEG-4におけるマクロブロックデータの符号化に適用した場合には、イントラ、インター、両方向予測の符号化モードに関わらず、図13に示すような共通のビットストリームD3の構造になる。
従って、本実施の形態4の動画像符号化装置によれば、復号側では、ビットストリームの構造であるシンタックスを解析する手段を符号化モードに関わらず共通化できるため、復号装置において、シンタックス解析のための回路構成が簡単になるという効果が得られる。
実施の形態5.
本実施の形態5は、変換係数可変長符号化部4cの領域データ符号化部4c10の構成を特徴とするものである。
図14は、本実施の形態における変換係数可変長符号化部4cの領域データ符号化部4c10の詳細な内部構成図である。同図において、4c101はVLCテーブル探索部、4c102はエスケープコード、4c103は変換係数変換部、4c104は変換AC係数データ、4c105は変換フラグ、4c106は変換係数固定長復号部、である。
次に動作を説明する。VLCテーブル探索部4c101は、入力された変換係数データであるAC係数データ(RUN,LEVEL)4c4に対応する符号語を、VLCテーブル記憶部4c1のVLCテーブル内で探索する。AC係数データ(RUN,LEVEL)4c4に対応する符号語が、VLCテーブル内に見つかった場合には、上記実施の形態1〜4と同様に、その符号語をAC係数符号語4c11として出力する。
ここでは、本実施の形態5の特徴である、VLCテーブルに見つからなかった場合の動作について詳細に説明する。
まず、VLCテーブル探索部4c101は、入力されたAC係数データ4c4に対応する符号語がVLCテーブルになかった場合、エスケープコード4c102と呼ばれる固定長の符号語、およびAC係数データ4c4を変換係数変換部4c103へ出力する。
変換係数変換部4c103では、AC係数データ4c4のRUNまたはLEVELの値を変換する。
第1の変換は、AC係数データ4c4のRUNまたはLEVELの値のうち、LEVELに対して行う。変換されたLEVEL*は、VLCテーブルに含まれているAC係数データのLEVELの最大値(LMAX)を引くことによって得られる。具体的には、次の式1に示す。
LEVEL*=sign(LEVEL)×[abs(LEVEL−LMAX)] ・・・(式1)
ただし、sign(LEVEL)は、LEVELが0以上ならば1、それ以外は−1である。また、abs(LEVEL)は、LEVELの絶対値である。
そして、VLCテーブル探索部4c101は、変換AC係数データ4c104(RUN,LEVEL*)を用いて、再び、VLCテーブルを探索する。ここで、変換AC係数データ4c104(RUN,LEVEL*)に対応する符号語がVLCテーブルに見つかった場合には、エスケープコードの後に、LEVELの値が変換されたことを示すコードと、VLCテーブルより検出された符号語とを付けて、AC係数符号語4c11として出力する。
これに対し、第1の変換が行われた変換AC係数データ4c104(RUN,LEVEL*)に対応する符号語がVLCテーブルに見つからなかった場合、変換係数変換部4c103は、第2の変換を行なう。
第2の変換は、RUNに対して行う。変換されたRUN*は、VLCテーブルに含まれているAC係数データのRUNの最大値(RMAX)+1を引くことによって得られる。具体的には、次の式2に示す。
RUN*=RUN−(RMAX+1) ・・・(式2)
そして、VLCテーブル探索部4c101は、新たな変換AC係数データ4c105(RUN*,LEVEL*)を用いて再びVLCテーブルを探索する。ここで、この新たな変換AC係数データ4c105(RUN*,LEVEL*)に対応する符号語がVLCテーブルに見つかった場合には、エスケープコードの後に、RUNの値が変換されたことを示すコードと、VLCテーブルより検出された符号語とを付けて、AC係数符号語4c11として出力する。
これに対し、第2の変換が行われた変換AC係数データ4c105(RUN*,LEVEL*)に対応する符号語がVLCテーブルに見つからなかった場合には、RUN,LEVELをそれぞれ固定長符号化し、エスケープコードの後に、AC係数データが固定長符号化されたことを示すコードとAC係数データの固定長符号語を付けて、AC係数符号語4c11として出力する。
なお、実施の形態1で述べたように、(RUN,LEVEL)と、次の(RUN,LEVEL)を符号化するのに用いるVLCテーブル選択情報4c9(NEXT)を組にして、可変長符号化する場合にも同様の処理を行うことができる。
従って、本実施の形態5によれば、AC係数データの可変長符号化を行う際に、符号化するAC係数データに対応するデータがVLCテーブルになかった場合、AC係数データを変換し、変換したAC係数データをもとに再びVLCテーブルを探索し、可変長符号化するようにしたので、より圧縮効率を高める効果が得られる。
実施の形態6.
本実施の形態6では、実施の形態1または実施の形態2で述べた動画像符号化装置によって生成される符号化ビットストリームを復号する動画像復号装置について説明する。
図15は、本実施の形態6における動画像復号装置の構成を示すブロック図である。
同図において、101は符号化ビットストリーム、102はシンタックス解析部、103は形状データ符号語、104はブロックデータ符号語、105は付加情報符号語、106は動きベクトル符号語、107は可変長復号部、108は形状符号化データ、109は量子化変換係数データ、110は付加情報、111は動きベクトル、112は形状復号部、113はテクスチャ復号部、114は動き補償部、115は復号形状データ、116は復号予測誤差信号、117はメモリ、118は参照画像、119は被復号マクロブロック画面内位置情報、120は予測画像、121は復号加算部、122は復号画像、123は切替部、である。なお、110aは付加情報110中に含まれるモード指示フラグである。
図16は、図15の可変長復号部107の内部構成を示す図である。
同図において、107aは形状データ可変長復号部、107bは変換係数可変長復号部、107cは付加情報可変長復号部、107dは動きベクトル可変長復号部、である。なお、110bは、付加情報110中に含まれる符号化側の変換係数予測判定情報31または量子化ステップサイズ32であるテクスチャ符号化の際の符号化条件である。
次に、図15および図16をもとに装置全体の動作について説明する。
まず、符号化ビットストリーム101は、シンタックス解析部102において、形状データ符号語103、ブロックデータ符号語104、付加情報符号語105、動きベクトル符号語106に分離され、それぞれ、形状データ可変長復号部107a、変換係数可変長復号部107b、付加情報可変長復号部107c、動きベクトル可変長復号部107dにて、可変長復号されたのち、形状符号化データ108は形状復号部112に、量子化変換係数データ109および各種の付加情報110はテクスチャ復号部113に、動きベクトル111は動き補償部114に送られる。なお、動き補償部114には、可変長復号部107から被復号マクロブロック画面内位置情報119に入力している。
形状復号部112は、形状符号化データ108を復号し、復号形状データ115として出力する。復号形状データ115は、テクスチャ復号部113、動き補償部114において、有効画素のみを対象にして、テクスチャデータの復号や、動き補償を行うために用いられる。
テクスチャ復号部113は、量子化変換係数データ109を付加情報110に含まれる量子化ステップサイズを用いて逆量子化後、逆直交変換して、復号予測誤差信号116を得る。復号予測誤差信号116は、復号加算部121に送られる。
動き補償部114は、被復号マクロブロック画面内位置情報119と、符号化ビットストリーム101から復号した動きベクトル111とに従って、メモリ117中の参照画像118から予測画像120を取り出して、切替部123へ出力する。
切替部123は、復号された付加情報110に含まれる符号化側における符号化モードを示すモード指示フラグ110aに基づいて、イントラ符号化を示している場合には、復号画像の生成に予測画像120が不要なので、出力0の側へ切り替える一方、インター符号化の場合には、復号画像の生成に予測画像120が必要なので、予測画像120の出力側へ切り替えるようにする。
復号加算部121は、付加情報110に含まれるモード指示フラグ110aに基づいて、イントラ符号化ブロックの場合には、テクスチャ復号部113の出力である復号予測誤差信号116をそのまま復号画像122として出力する一方、インター符号化ブロックの場合には、テクスチャ復号部113の出力出力である復号予測誤差信号116に予測画像120を加算して復号画像122として出力する。なお、復号画像122は、以降のVOPの復号処理において参照画像118として用いるために、メモリ117に書き込まれる。
次に、本実施の形態6の最も重要な要素である変換係数可変長復号部107bおよびテクスチャ復号部113の動作について説明する。
図17は、図16の変換係数可変長復号部107bの内部構成図である。
図17において、107b1は切替部、107b2はDC係数データ復号部、107b3は復号DC係数、107b4はAC係数データ符号語、107b5はVLD(Variable Length decoding;可変長復号化)テーブル記憶部、107b6はVLDテーブルグループ選択部、107b7はVLDテーブルグループ情報、107b8は領域データ復号部、107b9はVLCテーブル選択情報、107b10はVLDテーブル選択部、107b11はVLDテーブル、107b12は復号AC係数、である。
尚、VLDテーブル記憶部107b5には、符号化側の例えばVLCテーブル記憶部4C1(図5等参照。)のVLCテーブルグループおよびVLCテーブルと対応して、同じ内容のVLDテーブルグループおよびVLDテーブルが記憶されている。
図18は、変換係数可変長復号部107bの動作を示すフローチャートである。
切替部107b1は、付加情報110に含まれるモード指示フラグ110aに基づいて、復号対象の符号化ブロックの符号化モードがイントラ符号化であるか、あるいはインター符号化であるかを判定し(ステップS101)、イントラ符号化ブロックの場合には(ステップS101“イントラ”)、ブロックデータ符号語104をDC係数データ復号部107b2に渡し、ブロックデータ符号語104に含まれるDC係数データの復号を行わせ(ステップS102)、復号DC係数107b3として出力させ、次にAC係数データの復号を行う。
一方、インターモードの場合には(ステップS101“インター”)、ステップS102のDC係数データの復号処理は行わないので、AC係数データの復号のみを行う。AC係数データは、ブロック内を複数の領域に分けた領域毎に符号化されているので、復号の際も領域毎に行うようにする。
つまり、まず、領域毎にその領域内のAC係数データを復号するのに用いる可変長復号(以下、VLD(Variable Length Decoding)と略する)テーブルグループを選択する(ステップS103)。
VLDテーブルグループの選択は、VLDテーブルグループ選択部107b6が行い、領域のブロック内での位置と、符号化側の変換係数可変長符号化部4cにおいて使用した変換係数予測判定情報31または量子化ステップサイズ32のテクスチャ符号化の際の符号化条件110bに基づいて行う。
変換係数予測判定情報31あるいは量子化ステップサイズ32は、テクスチャの復号時に必要なため、付加情報としてブロック毎にビットストリーム101に多重化されているので、これを復号して使用すればよい。VLDテーブルグループ選択部107b6の動作は、実施の形態1または実施の形態2で述べたVLCテーブルグループ選択部4c6の動作と同じである。
また、符号化側では、領域内を決められた順番でスキャンして得られた(RUN,LEVEL)データを可変長符号化することによりAC係数データの符号化を行っている。このとき、各(RUN,LEVEL)データを符号化するのに用いる可変長符号化テーブルをVLCテーブルグループ選択部4c6で選択されたVLCテーブルグループの中から選択している。実施の形態1または実施の形態2で述べた変換係数可変長符号化部4cでは、各(RUN,LEVEL)データを符号化するのに用いたVLCテーブルの種類をVLCテーブル選択情報4c9として符号化している。
そこで、本実施の形態6で述べる変換係数可変長復号部107bにおいては、領域データ復号部107b8が、ブロックデータ符号語104に含まれる各(RUN,LEVEL)データを符号化するのに用いたVLCテーブル選択情報107b9を復号し、このVLCテーブル選択情報107b9をVLDテーブル選択部107b10へ出力する。
VLDテーブル選択部107b10では、そのVLCテーブルグループ情報107b9に基づいて、VLDテーブル記憶部107b5から(RUN,LEVEL)データを復号するのに用いるVLDテーブル107b11を選択して、領域データ復号部107b8へ出力する(ステップS104)。
領域データ復号部107b8では、VLDテーブル選択部107b10からのVLDテーブル107b11を用いて、領域内の(RUN,LEVEL)データを復号する。
具体的には、まず、ブロックデータ符号語104に含まれるAC係数データ符号語107b4を、そのVLDテーブル107b11内で探索し、対応する(RUN,LEVEL)データが見つかった場合には、これを復号AC係数データ107b12として出力する。
これに対し、対応する(RUN,LEVEL)データが見つからず、エスケープコードが検出された場合には、次に続くRUN,LEVELの固定長符号語であるAC係数データ符号語107b4をそれぞれ固定長復号して、(RUN,LEVEL)データを得ることができるので、これを復号AC係数データ107b12として出力する。以上のステップS104〜S105の処理を領域内ですべての(RUN,LEVEL)データを復号するまで繰り返す(ステップS106“No”)。
そして、ある領域内のすべての(RUN,LEVEL)データの復号が終了した場合には(ステップS106“Yes”)、ブロック内のすべての領域に対して、ステップS103〜ステップS106の処理を行ったか否かを判断し(ステップS107)、行っていない場合には(ステップS107“No”)、ステップS103〜ステップS106の処理を行なう一方、行った場合には(ステップS107“Yes”)、以上の処理を終了するようにする。
そして、実施の形態1で述べたように、(RUN,LEVEL)データと、次に続く(RUN,LEVEL)データを符号化するのに用いるVLCテーブル選択情報107b9(NEXT)を組にした(NEXT,RUN,LEVEL)データを復号する場合も、(RUN,LEVEL)データと、次の(RUN,LEVEL)データを復号するのに用いるVLCテーブル選択情報107b9(NEXT)とが一緒に可変長復号されること以外の基本的な動作は同じである。
ブロック内のすべての領域に対して、以上の復号処理を行い、得られた復号DC係数107b3と、復号AC係数データ107b12の(RUN,LEVEL)に基づいて、符号化側のスキャンと逆の処理を行うことにより、量子化変換係数データ109を得る。なお、量子化変換係数データ109は、テクスチャ復号部113へ出力される。
次に、テクスチャ復号部113の詳細構成および動作を述べる。
図19は、テクスチャ復号部113の内部構成図である。同図において、113aは切替部、110b1は変換係数予測判定情報、113cは変換係数予測部、113dは差分量子化変換係数、113eは隣接ブロック量子化変換係数、113fは量子化変換係数、113gは逆量子化部、113hは量子化ステップ、113iはDCT係数、113jは逆DCT部、である。また、110b1は、付加情報110に含まれるテクスチャ符号化の際の符号化条件110bの1つである変換係数予測判定情報である。
次に動作を説明する。まず、切替部113aは、復号された付加情報110に含まれる変換係数予測判定情報110b1が、変換係数予測を行うことを指示している場合には、変換係数予測部113cにて変換係数予測を行う。
変換係数予測部113cは、差分量子化変換係数113dを受け取り、近傍ブロックの量子化変換係数113eを加え、量子化変換係数113fを得る。
ここで、量子化DC係数の予測は、近傍のブロックの量子化DC係数を予測値として、差分量子化DC係数に加算することによって行われる。予測に用いるブロックの選択は符号化側と同様に行う。
また、量子化AC係数の予測は、まず、付加情報110に含まれる変換係数予測判定情報110b1に基づいて変換係数予測が行われたか否かを判定し、量子化AC係数に対して変換係数予測が行われた場合には、符号化側と同様に近傍ブロックの量子化AC係数を予測値として、差分量子化AC係数に加算する。
このようにして、変換係数予測部113cは、量子化DC係数と、量子化AC係数とを求め、得られた量子化DC係数と、量子化AC係数とを、量子化変換係数113fとして、逆量子化部113gに出力する。
逆量子化部113gでは、付加情報110に含まれる量子化ステップサイズ113hを用いて量子化変換係数113fを逆量子化し、DCT係数113iとして出力し、逆DCT部113jは、そのDCT係数113iを逆DCTして、復号予測誤差信号116として出力するようにする。
従って、本実施の形態6によれば、符号化側で、ブロックを複数の領域に分けて、領域毎にAC係数データを符号化するのに用いるVLCテーブルグループを各ブロックの変換係数予測判定情報あるいは量子化ステップサイズに基づいて選択し、さらにそのVLCテーブルグループの中からVLCテーブルを選択してAC係数データ((RUN,LEVEL)データ)を符号化して、ビットストリームを送信してきた場合でも、正しく復号することができる。
実施の形態7.
本実施の形態7は、実施の形態6で述べた変換係数可変長復号部の別の実施の形態を示すものであり、実施の形態3で述べた変換係数可変長符号化部4cにより可変長符号化された変換係数を復号する変換係数可変長復号部について説明する。
図20は、本実施の形態7における変換係数可変長復号部107bの内部構成図である。同図において、107b13は位置情報であり、この実施の形態7の領域データ復号部107b8では、実施の形態6のようにVLCテーブル選択情報107b9(図17参照)をVLDテーブル選択部107b10へ出力するのではなく、位置情報107b13を出力するようにしたことを特徴とするものである。
次に動作を説明する。なお、切替部107b1、DC係数データ復号部107b2、VLDテーブルグループ選択部107b6の動作は、実施の形態6と同様であり、VLDテーブルグループ選択部107b6の動作は、実施の形態3で述べた符号化側のVLCテーブルグループ選択部4c6と同様の処理を行えばよい。
次に、VLDテーブル選択部107b10は、領域内のスキャンの位置により、(RUN,LEVEL)データを復号するために用いるVLDテーブルを選択する。領域内のスキャンの位置を示す位置情報107b13は、領域データ復号部107b8より得られる。領域データ復号部107b8では、符号化側でスキャンされた順番に(RUN,LEVEL)データを復号するので、復号された(RUN,LEVEL)データに基づき、次の復号対象の(RUN,LEVEL)データの位置を特定することができ、位置情報107b13として出力している。
領域データ復号部107b8では、VLDテーブル選択部107b8で選択されたVLDテーブル107b11を用いて、(RUN,LEVEL)データを復号する。復号された(RUN,LEVEL)データに基づき、次の復号対象の(RUN,LEVEL)データのスキャン位置を特定し、位置情報107b13として、VLDテーブル選択部107b10へ出力するようにする。
従って、本実施の形態7では、ブロックを複数の領域に分けて、領域毎にAC係数データを符号化するのに用いるVLCテーブルグループを選択し、選択されたVLCテーブルグループの中から、符号化すべきAC係数データである(RUN,LEVEL)データのスキャン位置に基づいて、そのAC係数データを復号するのに用いるVLDテーブルを選択するようにしたので、実施の形態3の符号化側のように、各領域内のスキャン位置に応じてVLCテーブルを選択して符号化したAC係数データを多重化したビットストリームを送信してきた場合でも、正しく復号することができる。
実施の形態8.
本実施の形態8は、実施の形態6または実施の形態7で述べた変換係数可変長復号部の別の実施の形態であり、実施の形態4で述べた変換係数可変長符号化部4cにより可変長符号化された変換係数を復号する変換係数可変長復号部について説明する。
図21に本実施の形態における変換係数可変長復号部107bの内部構成図を示す。
同図において、107b13は領域有効/無効情報符号語、107b14は領域有効/無効情報復号部、107b15は領域有効/無効情報、107b16は領域有効/無効判定部、107b17は領域データ零設定部、である。
図21において、動作が異なるのは、領域有効/無効情報復号部107b14、領域有効/無効判定部107b16、領域データ零設定部107b17であり、その他の構成及び動作は、実施の形態7等と同じであるので、以下では、領域有効/無効情報復号部107b14、領域有効/無効判定部107b16、領域内AC係数零設定部107b17の動作を中心に説明する。
本実施の形態8では、まず、領域有効/無効情報復号部107b14が、ブロックデータ符号語104に含まれる領域有効/無効情報符号語107b13を入力して復号し、各領域内のAC係数データが符号化されているか否かを示す領域有効/無効情報107b15として出力する。
領域有効/無効判定部107b16では、領域有効/無効情報復号部107b14で復号された領域有効/無効情報107b15に基づき、領域内のAC係数データが符号化されているか否かを判定する。
ここで、領域有効/無効情報107b15が領域内のAC係数データが符号化されていることを示している場合、領域有効/無効判定部107b16は、ブロックデータ符号語104に含まれるAC係数データ符号語107b4を領域データ復号部107b8に出力する。領域データ復号部107b8では、実施の形態7等の場合と同様に、VLCテーブル選択情報107b9に基づきVLDテーブル選択部107b10によって選択されたVLDテーブル107b11を用いて、領域内の(RUN,LEVEL)データを復号し、復号AC係数データ107b12として出力する。
これに対し、領域有効/無効情報107b15が領域スキップ、すなわち領域内のAC係数データが符号化されていないことを示している場合、領域有効/無効判定部107b16は、領域データ零設定部107b17に指令を送り、領域データ零設定部107b17は、領域内のAC係数をすべて零に設定して、復号AC係数データ107b12として出力する。
従って、本実施の形態8では、符号化側で、符号量を少なくするため、ある領域内のAC係数データを符号化せず、それを示す領域有効/無効情報107b15を符号化ビットストリームに多重化するようにしてきた場合でも、受信した符号化ビットストリーム中の領域有効/無効情報107b15を復号すると共に、ブロック内の領域毎にAC係数データが零か否かを判定し、領域内のAC係数がすべて零を示している場合には、その領域内のAC係数データの符号化を行わないようにしたため、実施の形態4の符号化側のように、領域有効/無効情報107b15を多重化した符号化ビットストリームを送信してた場合でも、正しく復号することができる。
実施の形態9.
本実施の形態9は、実施の形態6〜8で述べた変換係数可変長復号部の領域データ復号部の別の実施の形態を示すものであり、実施の形態5で述べた変換係数可変長符号化部4cにより可変長符号化された変換係数を復号する変換係数可変長復号部について説明する。
図22は、本実施の形態9における領域データ復号部107b8の内部構成図である。同図において、107b81はVLDテーブル探索部、107b82はエスケープコード、107b83は変換フラグ判定部、107b84は復号変換AC係数、107b85は変換係数逆変換部、107b86は変換係数固定長復号部、107b87は変換AC係数符号語、である。
次に動作を説明する。
この領域データ復号部107b8では、VLDテーブル選択部107b10(図21参照。)によって選択されたVLDテーブル107b11を用いて、領域内の(RUN,LEVEL)データを復号する。
その際、領域データ復号部107b8では、まず、VLDテーブル探索部107b81がブロックデータ符号語104に含まれるAC係数データ符号語107b4に対応する(RUN,LEVEL)データを、VLDテーブル選択部107b10からのVLDテーブル107b11内で探索し、対応する(RUN,LEVEL)データが見つかった場合には、これを復号AC係数データ107b12として出力する。
これに対し、AC係数データ符号語107b4に対応する(RUN,LEVEL)が見つからず、エスケープコード107b82が検出された場合、領域データ復号部107b8のVLDテーブル探索部107b81は、エスケープコード107b82と、その後に続くAC係数データ符号語107b4とを、変換フラグ判定部107b83に出力し、変換フラグ判定部107b83では、エスケープコード107b82の後に続く変換フラグを判定する。
ここで、変換フラグがLEVELまたはRUNが変換されていることを示す場合、変換フラグ判定部107b83は、変換フラグの次に続く変換AC係数符号語107b87をVLDテーブル探索部107b81に戻すようにする。
VLDテーブル探索部107b81は、変換AC係数符号語107b87をVLDテーブル107b11により可変長復号し、復号変換AC係数107b84として、変換係数逆変換部107b85へ出力する。変換係数逆変換部107b85では、復号変換AC係数107b84に対して、実施の形態4で述べた符号化装置の変換係数変換部4c103(図14参照。)の処理とは逆の処理を施して、復号AC係数データ107b12を得るようにする。
また、変換フラグが、RUN,LEVELがそれぞれ固定長符号化されていることを示す場合、変換フラグ判定部107b83は、AC係数データ符号語107b4を変換係数固定長復号部107b86へ出力する。変換係数固定長復号部107b86は、変換フラグの次に続くRUN,LEVELの固定長符号語を固定長復号して、復号AC係数データ107b12を得る。以下同様に、領域内のすべての(RUN,LEVEL)データを復号するまで、以上の処理を繰り返すようにする。
そして、ブロック内のすべての領域に対して、以上の復号処理を行い、得られた復号DC係数107b3と、復号AC係数データ107b12とに基づいて、符号化側のスキャンの順とは逆の順に並べて出力することにより、復号された量子化変換係数データ109となる。この復号量子化変換係数データは109は、テクスチャ復号部113(図15参照。)へ出力される。
なお、実施の形態6で述べたように、(RUN,LEVEL)データと次に続く(RUN,LEVEL)データを符号化するのに用いたVLCテーブル選択情報107b9(NEXT)を組にした(NEXT,RUN,LEVEL)データを復号する場合も基本的な動作は同じである。
従って、本実施の形態9では、符号化側で、領域毎に選択されたVLCテーブルを用いて領域内のAC係数データを可変長符号化する際に、VLCテーブル内に符号化すべきAC係数データに対応する符号語が存在しない場合、そのAC係数データを変換して再びVLCテーブルにより符号化したAC係数データを含むビットストリームに多重化するようにしてきた場合でも、変換フラグ判定部107b83によりそのような符号化側のAC係数データを変換を判定して、領域データ復号部107b8では符号化側と逆の処理を行うようにしたため、実施の形態5の符号化側のように、エスケープコードによりAC係数データを変換して多重化した符号化ビットストリームを送信してた場合でも、正しく復号することができる。
この発明の実施の形態1による動画像符号化装置の構成を示すブロック図である。 この発明の実施の形態1による可変長符号化部の内部構成を示すブロック図である。 この発明の実施の形態1によるテクスチャ符号化部の内部構成を示すブロック図である。 この発明の実施の形態1による変数係数予測の説明図である。 この発明の実施の形態1による変換係数可変長符号化部4cの内部構成を示すブロック図である。 この発明の実施の形態1による変換係数可変長符号化部4cの動作の様子を示すフローチャートである。 この発明の実施の形態1によるAC係数データを符号化する単位となる領域を説明する図である。 この発明の実施の形態1によるVLCテーブルグループを説明する図である。 この発明の実施の形態2による変換係数可変長符号化部4cの内部構成を示すブロック図である。 この発明の実施の形態3による変換係数可変長符号化部4cの内部構成を示すブロック図である。 この発明の実施の形態4による変換係数可変長符号化部4cの内部構成を示すブロック図である。 従来のMPEG-4におけるマクロブロックデータ構造を説明する図である。 この発明の実施の形態4におけるマクロブロックデータ構造を説明する図である。 この発明の実施の形態5による領域データ符号化部の内部構成を示すブロック図である。 この発明の実施の形態6による動画像復号装置の構成を示すブロック図である。 この発明の実施の形態6による可変長復号部の内部構成を示すブロック図である。 この発明の実施の形態6による変換係数可変長復号部の内部構成を示すブロック図である。 この発明の実施の形態6による変換係数可変長復号部の動作の様子を示すフローチャートである。 この発明の実施の形態6によるテクスチャ復号部の内部構成を示すブロック図である。 この発明の実施の形態7による変換係数可変長復号部の内部構成を示すブロック図である。 この発明の実施の形態8による変換係数可変長復号部の内部構成を示すブロック図である。 この発明の実施の形態9による領域データ復号部の内部構成を示すブロック図である。
符号の説明
1 入力形状データ、2 形状符号化部、3 形状符号化データ、4 可変長符号化部、5 多重化部、6 局所復号形状データ、7 入力テクスチャデータ、8 イントラ/インター判定部、9 モード指示フラグ、10 動き検出部、11 動きベクトル、12 動き補償部、13 予測画像信号、14 予測誤差信号、15 被符号化画像信号、16 テクスチャ符号化部、17 量子化変換係数データ、18 テクスチャ局所復号部、19 局所復号予測誤差信号、20 局所復号画像信号、21 切替部、22 参照画像信号、23 メモリ、24 形状データ符号語、25 付加情報符号語、26 ブロックデータ符号語、27 動きベクトル符号語、28 符号化ビットストリーム、29 形状データ可変長符号化部、30 付加情報可変長符号化部4c 変換係数可変長符号化部442 動きベクトル可変長符号化部、16a ブロックデータ抽出部、16b ブロックデータ、16c DCT部、16d DCT係数、16e 量子化部、16f 量子化変換係数、16g 変換係数予測部、42 変換係数予測判定情報、43 切替部、44 DC係数データ符号化部、45 AC係数データ、4c5 DC係数符号語、4c6 VLCテーブルグループ選択部、4c7 VLCテーブルグループ情報、4c8 VLCテーブル選択部、4c9 VLCテーブル選択情報107b9、4c10 領域データ符号化部、4c11 AC係数符号語、26 ブロックデータ符号語、54 量子化ステップサイズ、55 符号化条件、4c12 領域データ有効/無効判定部、4c13 領域有効/無効情報、4c14 領域有効/無効情報符号化部、4c15 領域有効/無効情報符号語、60 VLCテーブル探索部、4c102 エスケープコード、4c103 変換係数変換部、4c104 変換AC係数データ、4c105 変換フラグ、4c106 変換係数固定長復号部、101 符号化ビットストリーム、102 シンタックス解析部、103 形状データ符号語、104 ブロックデータ符号語、105 付加情報符号語、106 動きベクトル符号語、107 可変長復号部、108 形状符号化データ、109 量子化変換係数データ、110 付加情報、111 動きベクトル、112 形状復号部、113 テクスチャ復号部、114 動き補償部、115 復号形状データ、116 復号予測誤差信号、117 メモリ、118 参照画像、119 被復号マクロブロック画面内位置情報、120 予測画像、121 復号加算部、122 復号画像、123 切替部、110a モード指示フラグ、107a 形状データ可変長復号部、107b 変換係数可変長復号部、107c 付加情報可変長復号部、107d 動きベクトル可変長復号部、107b1 切替部、107b2 DC係数データ復号部、107b3 復号DC係数、107b4 AC係数データ符号語、110b 符号化条件、107b6 VLDテーブルグループ選択部、107b7 VLDテーブルグループ情報、107b8 領域データ復号部、107b9 VLCテーブル選択情報107b9、107b10 VLDテーブル選択部、107b11 VLDテーブル、107b12 領域データ復号部、107b12 復号AC係数、113a 切替部、110b1 変換係数予測判定情報、113c 変換係数予測部、113d 差分量子化変換係数、113e 隣接ブロック量子化変換係数、113f 量子化変換係数、113g 逆量子化部、113h 量子化ステップ、113i DCT係数、113j 逆DCT部、107b13 位置情報、107b 領域有効/無効情報符号語、107b14 領域有効/無効情報復号部、107b15 領域有効/無効情報、107b16 領域有効/無効判定部、107b17 領域データ零設定部、107b81 VLDテーブル探索部、107b82 エスケープコード、107b83 変換フラグ判定部、107b84 復号変換AC係数、107b85 変換係数逆変換部、107b86 変換係数固定長復号部、107b87 変換AC係数符号語。

Claims (2)

  1. 符号化ビットストリームを入力してその符号化ビットストリームに含まれるブロック毎に可変長符号化された係数データを可変長復号して量子化変換係数を復元し、該量子化変換係数を逆量子化、逆変換して画像信号を復号する動画像復号装置において、
    零でない係数のレベル(LEVEL)と連続する零の数(RUN)に関する複数のデータから構成される係数データを復号するための複数の可変長復号テーブルと、
    既に復号されている係数データのレベルに基づき、前記複数の可変長復号テーブルの中から1つの可変長復号テーブルを選択する可変長復号テーブル選択手段と、
    前記選択された可変長復号テーブルを使用して前記係数データに含まれるデータを可変長復号する変換係数可変長復号手段と、を備え、
    前記変換係数可変長復号手段は、前記可変長復号テーブル選択手段により選択された可変長復号テーブルを用いて、復号対象とする前記係数データの可変長復号を行うとともに、復号した係数データのレベルから前記係数データに含まれるデータの可変長符号時に使用された可変長符号化テーブルと対応する可変長復号テーブルを示す選択情報を生成し、
    前記可変長復号テーブル選択手段は、既に生成された前記選択情報によって示された1つの可変長復号テーブルを、復号対象係数データの可変長復号に用いる可変長復号テーブルとして選択することを特徴とする動画像復号装置。
  2. 符号化ビットストリームを入力してその符号化ビットストリームに含まれるブロック毎に可変長符号化された係数データを可変長復号して量子化変換係数を復元し、該量子化変換係数を逆量子化、逆変換して画像信号を復号する動画像復号方法において、
    零でない係数のレベル(LEVEL)と連続する零の数(RUN)に関する複数のデータから構成される前記係数データの復元の際、既に復号された係数データのレベルに基づき、係数データに含まれるデータを復号するための複数の可変長復号テーブルの中から1つの可変長復号テーブルを選択する選択ステップと、
    その選択した可変長復号テーブルを使用して前記係数データに含まれるデータを可変長復号する復号ステップとを備え、
    前記復号ステップは、前記選択ステップにより選択された可変長復号テーブルを用いて、復号対象とする前記係数データの可変長復号を行うとともに、復号した係数データのレベルから前記係数データに含まれるデータの可変長符号時に使用された可変長符号化テーブルと対応する可変長復号テーブルを示す選択情報を生成し、
    前記選択ステップは、既に生成された前記選択情報によって示された1つの可変長復号テーブルを、復号対象係数データの可変長復号に用いる可変長復号テーブルとして選択することを特徴とする動画像復号方法。
JP2003276576A 2003-07-18 2003-07-18 動画像復号装置、および動画像復号方法 Expired - Lifetime JP4388771B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003276576A JP4388771B2 (ja) 2003-07-18 2003-07-18 動画像復号装置、および動画像復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003276576A JP4388771B2 (ja) 2003-07-18 2003-07-18 動画像復号装置、および動画像復号方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP17550398A Division JP2000013794A (ja) 1998-06-23 1998-06-23 動画像符号化装置、動画像符号化方法、動画像復号装置、および動画像復号方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006189077A Division JP2006333500A (ja) 2006-07-10 2006-07-10 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法

Publications (2)

Publication Number Publication Date
JP2004007788A JP2004007788A (ja) 2004-01-08
JP4388771B2 true JP4388771B2 (ja) 2009-12-24

Family

ID=30438646

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003276576A Expired - Lifetime JP4388771B2 (ja) 2003-07-18 2003-07-18 動画像復号装置、および動画像復号方法

Country Status (1)

Country Link
JP (1) JP4388771B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009296622A (ja) * 2009-07-30 2009-12-17 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置
JP2011045122A (ja) * 2010-10-14 2011-03-03 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100857121B1 (ko) * 2005-10-05 2008-09-05 엘지전자 주식회사 신호 처리 방법 및 이의 장치, 그리고 인코딩 및 디코딩방법 및 이의 장치
WO2007040349A1 (en) * 2005-10-05 2007-04-12 Lg Electronics Inc. Method and apparatus for signal processing
US8068569B2 (en) 2005-10-05 2011-11-29 Lg Electronics, Inc. Method and apparatus for signal processing and encoding and decoding
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009296622A (ja) * 2009-07-30 2009-12-17 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置
JP4661973B2 (ja) * 2009-07-30 2011-03-30 三菱電機株式会社 動画像符号化装置および動画像復号装置
JP2011045122A (ja) * 2010-10-14 2011-03-03 Mitsubishi Electric Corp 動画像符号化装置および動画像復号装置

Also Published As

Publication number Publication date
JP2004007788A (ja) 2004-01-08

Similar Documents

Publication Publication Date Title
KR100487989B1 (ko) 화상 복호화 장치 및 화상 부호화 장치
JP3842803B2 (ja) 信号符号化方法、信号復号方法、信号符号化装置、信号復号装置、信号符号化プログラム、及び信号復号プログラム
US20040136457A1 (en) Method and system for supercompression of compressed digital video
US20030108099A1 (en) Picture encoding method and apparatus, picture decoding method and apparatus and furnishing medium
JP5983704B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP2002532029A (ja) ビデオ圧縮のための効率的マクロブロックヘッダ符号化
US20040028129A1 (en) Picture encoding method and apparatus, picture decoding method and apparatus and furnishing medium
KR20040098631A (ko) 디지털 비디오 컨텐트를 위한 적응적 범용 가변 길이코드워드 코딩
JP4388771B2 (ja) 動画像復号装置、および動画像復号方法
JP2000013794A (ja) 動画像符号化装置、動画像符号化方法、動画像復号装置、および動画像復号方法
JP2006333500A (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法
JP4661973B2 (ja) 動画像符号化装置および動画像復号装置
JP4661992B2 (ja) 動画像符号化装置および動画像復号装置
JP3910594B2 (ja) 画像符号化装置
JP4350796B2 (ja) 画像符号化装置およびビットストリーム生成装置
JP3993212B2 (ja) 画像復号化装置
JP3993213B2 (ja) 画像復号化装置
JP4350759B2 (ja) 画像復号化装置
JP4260195B2 (ja) 画像復号化装置
JP4260192B2 (ja) 画像復号化装置
JP4350761B2 (ja) 画像復号化装置
JP4260194B2 (ja) 画像復号化装置
JP4260193B2 (ja) 画像復号化装置
MXPA00003861A (en) Image decoder, image encoder, image communication system, and encoded bit stream converter

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060926

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061122

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20061211

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20061228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090828

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091005

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121009

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131009

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term