JP2002374174A - 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム - Google Patents

可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム

Info

Publication number
JP2002374174A
JP2002374174A JP2001177634A JP2001177634A JP2002374174A JP 2002374174 A JP2002374174 A JP 2002374174A JP 2001177634 A JP2001177634 A JP 2001177634A JP 2001177634 A JP2001177634 A JP 2001177634A JP 2002374174 A JP2002374174 A JP 2002374174A
Authority
JP
Japan
Prior art keywords
variable
code
variable length
coefficient
length 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.)
Pending
Application number
JP2001177634A
Other languages
English (en)
Inventor
Koki Kanesaka
幸喜 金坂
Toshikazu Morita
年一 森田
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.)
LSI Systems KK
Original Assignee
LSI Systems KK
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 LSI Systems KK filed Critical LSI Systems KK
Priority to JP2001177634A priority Critical patent/JP2002374174A/ja
Publication of JP2002374174A publication Critical patent/JP2002374174A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 可変長コード復号処理の高速化を図ることを
課題とする。 【解決手段】 可変長復号化テーブル21cは、複数の
可変長コードのなかから所定の複数の可変長コードを組
み合わせた組合せコードについても記憶し、可変長コー
ドの検出に際して組合せコードが検出された場合には、
該組合せコードを可変長コードに優先して復号する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、符号化ストリー
ムに含まれる各可変長コードごとに所定の係数を対応付
けて記憶する可変長テーブルを有し、該符号化ストリー
ムから所定のビット数のデータを順次抽出し、該抽出し
たデータの先頭に位置する可変長コードを可変長テーブ
ルから検出して対応する所定の係数に順次復号する可変
長コード復号装置、可変長コード復号方法およびその方
法をコンピュータに実行させるプログラムに関し、特
に、可変長コード復号処理の高速化を図ることができる
可変長コード復号装置、可変長コード復号方法およびプ
ログラムに関する。
【0002】
【従来の技術】従来より、MPEG(エムペグ:moving
picture experts group)と呼ばれる圧縮符号化方式に
より動画像を符号化して得られた符号化ストリームを復
号する復号装置がある。かかる符号化ストリームは可変
長の符号化データである可変長コードが連続するもので
あるため、復号装置においては、符号化ストリームの先
頭から可変長コードを一つずつ順番に復号することが一
般的におこなわれている。以下、かかる復号処理をおこ
なう復号装置について説明する。
【0003】図8は、従来技術に係る復号装置の構成を
示すブロック図である。同図に示すように、この従来技
術に係る復号装置は、デコーダ40および画像メモリ5
0を備え、このデコーダ40は、可変長復号化部(VL
D)41と、逆量子化部(IQ)42と、逆スキャン部
(IS)43と、逆DCT部(IDCT)44と、動き
補償部(MC)45とを備え、さらに、可変長復号化部
41は、可変長符号バッファ41aと、送出制御部41
bと、可変長復号化テーブル41cと、係数変換部41
dとを備え、また、逆量子化部42は、量子化DCT係
数バッファ42aと、逆量子化テーブル42bとを備え
る。
【0004】概略的に、この復号装置による復号処理
は、可変長復号化部41が、可変長コードを復号して量
子化DCT係数を復元する処理、逆量子化部42が、可
変長復号化部41により復元された量子化DCT係数を
逆量子化してDCT係数を復元する処理、逆スキャン部
43が、逆量子化部42により復元されたDCT係数を
逆スキャンする処理、逆DCT部(逆離散コサイン変換
部)44が、逆スキャン部43により逆スキャンされた
DCT係数を逆DCT変換して画素データを復元する処
理、動き補償部45は、逆DCT部44により復元され
た画素データに対して動き補償をおこない、この動き補
償をおこなった画素データを画像メモリ50に書き込む
処理、という各処理段階を経ておこなわれる。
【0005】ここで、上記の可変長復号化部41による
可変長コード復号処理について具体的に説明する。ま
ず、可変長符号バッファ41aに、装置外部から入力さ
れた符号化ストリームを格納する。すなわち、図5に示
すようなスタートコード(例えば、「00000000
0000000000000001XXXXXXXX」
の如き32ビットのデータ)と複数の可変長コードとが
連続する符号化データを格納する。
【0006】続いて、送出制御部41bは、可変長コー
ドの最大符号長に対応するデータ数の符号化データを可
変長符号バッファ41aから抽出して可変長復号化テー
ブル41cに対して送出する。例えば、可変長コードの
最大符号長が24ビットである場合には、図5に示すよ
うな符号化データの先頭ビットから24ビット分のデー
タ(例えば、「011010001010011001
100011」の如き24ビットのデータ)を抽出して
送出する。
【0007】そして、可変長復号化テーブル41cは、
可変長復号化テーブルの一例を示すものであるが、図9
に示すように、符号化ストリームに含まれ得るブロック
内の各可変長コードごとに、ラン(RUN)係数および
レベル(LEVEL)係数を記憶して構成され、可変長
符号バッファ41aから入力された符号化データの先頭
に位置する可変長コードを検出し、検出した可変長コー
ドのラン係数およびレベル係数を係数変換部41dに出
力するとともに、その可変長コードの符号長を送出制御
部41bに出力する。
【0008】具体的に説明すると、例えば、可変長符号
バッファ41aから「001110000100000
………」という24ビットの符号化データが入力された
場合には、図8に示す「001110」(「00111
s」の可変長コードでs=0のとき)の可変長コードが
検出され、「ラン係数:3、レベル係数:1」が係数変
換部41dに出力されるとともに、「00111s」の
符号長として「符号長:6」が送出制御部41bに出力
される。
【0009】そして、可変長復号化テーブル41cから
ラン係数およびレベル係数を受け取った係数変換部41
dは、これを係数変換して逆量子化部42に出力するこ
とにより、逆量子化部42の量子化DCT係数バッファ
42aには、逆量子化テーブル42bによる逆量子化処
理の対象となる量子化DCT係数が格納される。
【0010】具体的に説明すると、例えば、可変長復号
化テーブル41cから「ラン係数:3、レベル係数:
1」を受け取った場合には、これを「0,0,0,1」
と係数変換して逆量子化部42に出力する。これによ
り、逆量子化部42の量子化DCT係数バッファ42a
には、図10に示すように、アドレス1〜4に「0,
0,0,1」という量子化DCT係数がそれぞれ格納さ
れる。
【0011】一方、可変長復号化テーブル41cから符
号長を受け取った送出制御部41bは、先に可変長復号
化テーブル41cに送出した符号化データの先頭ビット
から符号長に対応するビット数だけシフトした位置のビ
ットを新たに先頭ビットとして、この先頭ビットから可
変長コードの最大符号長に対応するデータ数の符号化デ
ータを新たに抽出し、この抽出した符号化データを可変
長符号バッファ41aから可変長復号化テーブル41c
に対して新たに送出する。
【0012】具体的に説明すると、例えば、先に可変長
復号化テーブル41cに対して「0011100001
00000………」という24ビットの符号化データを
送出した後に、可変長復号化テーブル41cから「符号
長:6」を受け取った場合には、「001110」に続
くビットを新たに先頭ビットとして、「0001000
00……………」という24ビットの符号化データを新
たに抽出して送出する。
【0013】そして、可変長符号バッファ41aから新
たに符号化データを受け取った可変長復号化テーブル4
1cは、上記と同様の処理をおこなって可変長コードを
検出し、検出した可変長コードのラン係数およびレベル
係数を係数変換部41dに出力するとともに、その可変
長コードの符号長を送出制御部41bに出力する。これ
に続いて、ラン係数およびレベル係数を受け取った係数
変換部41dおよび符号長を受け取った送出制御部41
bも、上記と同様の処理をおこなう。
【0014】このような一連の処理を繰り返すことによ
り、可変長復号化部41は、複数の可変長コードが連続
する符号化データの先頭から順番に一つずつ可変長コー
ドを復号して、逆量子化部42の処理対象となる量子化
DCT係数を復元する。
【0015】
【発明が解決しようとする課題】しかしながら、上記の
従来技術は、複数の可変長コードが連続する符号化デー
タに含まれる各可変長コードを復号する可変長コード復
号処理を高速におこなうには種々の面から自ずと限界が
あるという問題点があった。
【0016】すなわち、上記の従来技術において、可変
長復号化テーブル41cは、図9に示したように、1組
のラン係数およびレベル係数を各可変長コードごとに記
憶して構成されるところ、可変長符号バッファ41aか
ら1つの符号化データが入力される処理に対して、1組
のラン係数およびレベル係数を検出する(1クロックで
1つの係数を検出する)ことができるものに過ぎないた
め、可変長コード復号処理を高速におこなうには自ずと
限界があった。
【0017】また、上記の従来技術において、送出制御
部41bは、単純に可変長コードの最大符号長に対応す
るデータ数(例えば、24ビット)の符号化データを順
次抽出して可変長符号バッファ41aから可変長復号化
テーブル41cに対して送出するところ、符号化データ
にエラーが存在する場合には、スタートコードを浸食し
て符号化データを送出するおそれがあり、さらに、エラ
ーの種類によっては誤った可変長コード復号処理が続い
ておこなわれてしまうおそれもある。かかる場合、誤っ
た可変長コード復号処理からの復帰が遅れてしまう結
果、可変長コード復号処理を高速におこなうには自ずと
限界があった。
【0018】さらに、可変長復号化部41は、可変長復
号化テーブル41cにより検出されたラン係数およびレ
ベル係数を係数変換部41dにより係数変換して逆量子
化部42に出力して量子化DCT係数バッファ42aに
格納するところ、ラン係数の数値が大きい場合には、そ
の数値に応じて多くの係数「0」を出力しなければなら
ないため、可変長コード復号処理を高速におこなうには
自ずと限界があった。
【0019】これを具体的に説明すると、例えば、「ラ
ン係数:3、レベル係数:1」が検出された場合には、
係数「0,0,0,1」を順次出力して格納するため、
かかる出力処理および格納処理にはそれぞれ4クロック
が必要であり、また例えば、「ラン係数:7、レベル係
数:1」が検出された場合には、係数「0,0,0,
0,0,0,0,1」を順次出力して格納するため、か
かる出力処理および格納処理にはそれぞれ8クロックが
必要であるというように、ラン係数の数値に応じて出力
処理および格納処理に多くの処理クロックが必要にな
る。
【0020】そこで、この発明は、上述した従来技術に
よる問題点を解消するためになされたものであり、可変
長コード復号処理の高速化を図ることができる可変長コ
ード復号装置、可変長コード復号方法およびその方法を
コンピュータに実行させるプログラムを提供することを
目的とする。
【0021】
【課題を解決するための手段】上述した課題を解決し、
目的を達成するため、請求項1の発明に係る可変長コー
ド復号装置は、符号化ストリームに含まれる各可変長コ
ードごとに所定の係数を対応付けて記憶する可変長テー
ブルを有し、該符号化ストリームから所定のビット数の
データを順次抽出し、該抽出したデータの先頭に位置す
る可変長コードを前記可変長テーブルから検出して対応
する所定の係数に順次復号する可変長コード復号装置で
あって、前記可変長テーブルに記憶した複数の可変長コ
ードのなかから所定の複数の可変長コードを組み合わせ
た組合せコードごとに、該組合せコードを形成する各可
変長コードにそれぞれ対応する複数の係数を記憶する組
合せテーブルと、前記可変長コードの検出に際して、前
記データの先頭に前記組合せコードが存在するか否かを
前記組合せテーブルに基づいて検出する検出手段と、前
記検出手段により組合せコードが検出されない場合に
は、前記可変長テーブルから検出された可変長コードを
所定の係数に復号するよう制御し、前記検出手段により
組合せコードが検出された場合には、該組合せコードを
対応する複数の係数に優先して復号するよう制御する制
御手段と、を備えたことを特徴とする。
【0022】また、請求項2の発明に係る可変長コード
復号装置は、請求項1に記載の発明において、前記組合
せテーブルは、前記組合せコードを形成する各可変長コ
ードの組合せ数に区分けして各組合せコードを記憶し、
前記制御手段は、前記検出手段により複数の組合せコー
ドが検出された場合には、組合せコードを形成する各可
変長コードの組合せ数が最も大きな組合せコードを対応
する複数の係数に優先して復号するよう制御することを
特徴とする。
【0023】また、請求項3の発明に係る可変長コード
復号装置は、請求項1または2に記載の発明において、
前記組合せテーブルは、前記可変長テーブルに記憶した
複数の可変長コードから形成され得る複数の組合せコー
ドのうち、前記符号化ストリームに含まれる可能性が高
い組合せコードを選択して記憶することを特徴とする。
【0024】また、請求項4の発明に係る可変長コード
復号装置は、請求項1、2または3に記載の発明におい
て、前記符号化ストリームに含まれるスタートコードを
検出するスタートコード検出手段と、前記データの抽出
に際して、該抽出するデータの先頭以外の部分に前記検
出手段により検出された次のスタートコードの先頭の一
部が存在するか否かを判定する判定手段と、前記判定手
段により次のスタートコードの先頭の一部が存在するも
のと判定された場合には、該スタートコードに対応する
部分以降のデータを除外したデータを抽出するよう制御
する抽出制御手段と、をさらに備えたことを特徴とす
る。
【0025】また、請求項5の発明に係る可変長コード
復号装置は、請求項1〜4のいずれか一つに記載の発明
において、前記符号化ストリームに含まれるブロックの
サイズに対応した複数の記憶領域に係数をそれぞれ格納
する格納手段と、前記順次復号された所定の係数として
各可変長コードのラン係数およびレベル係数を同時に送
出する送出手段と、前記送出手段により前記ブロックの
先頭に位置する可変長コードのラン係数およびレベル係
数が送出された場合には、それと同時あるいはその直前
に前記複数の記憶領域のそれぞれに係数ゼロを格納する
よう制御するとともに、前記送出手段により送出された
各可変長コードのラン係数に基づいて前記複数の記憶領
域の所定の記憶領域に該可変長コードのレベル係数を格
納するよう制御する格納制御手段と、をさらに備えたこ
とを特徴とする。
【0026】また、請求項6の発明に係る可変長コード
復号装置は、符号化ストリームに含まれる各可変長コー
ドごとに所定の係数を対応付けて記憶する可変長テーブ
ルを有し、該符号化ストリームから所定のビット数のデ
ータを順次抽出し、該抽出したデータの先頭に位置する
可変長コードを前記可変長テーブルから検出して対応す
る所定の係数に順次復号する可変長コード復号装置であ
って、前記符号化ストリームに含まれるスタートコード
を検出する検出手段と、前記データの抽出に際して、該
抽出するデータの先頭以外の部分に前記検出手段により
検出された次のスタートコードの先頭の一部が存在する
か否かを判定する判定手段と、前記判定手段により次の
スタートコードの先頭の一部が存在するものと判定され
た場合には、該スタートコードに対応する部分以降のデ
ータを除外したデータを抽出するよう制御する制御手段
と、を備えたことを特徴とする。
【0027】また、請求項7の発明に係る可変長コード
復号装置は、符号化ストリームに含まれる各可変長コー
ドごとに所定の係数を対応付けて記憶する可変長テーブ
ルを有し、該符号化ストリームから所定のビット数のデ
ータを順次抽出し、該抽出したデータの先頭に位置する
可変長コードを前記可変長テーブルから検出して対応す
る所定の係数に順次復号する可変長コード復号装置であ
って、前記符号化ストリームに含まれるブロックのサイ
ズに対応した複数の記憶領域に係数をそれぞれ格納する
格納手段と、前記順次復号された所定の係数として各可
変長コードのラン係数およびレベル係数を同時に送出す
る送出手段と、前記送出手段により前記ブロックの先頭
に位置する可変長コードのラン係数およびレベル係数が
送出された場合には、それと同時あるいはその直前に前
記複数の記憶領域のそれぞれに係数ゼロを格納するよう
制御するとともに、前記送出手段により送出された各可
変長コードのラン係数に基づいて前記複数の記憶領域の
所定の記憶領域に該可変長コードのレベル係数を格納す
るよう制御する制御手段と、を備えたことを特徴とす
る。
【0028】また、請求項8の発明に係る可変長コード
復号方法は、符号化ストリームに含まれる各可変長コー
ドごとに所定の係数を対応付けて記憶する可変長テーブ
ルを有し、該符号化ストリームから所定のビット数のデ
ータを順次抽出し、該抽出したデータの先頭に位置する
可変長コードを前記可変長テーブルから検出して対応す
る所定の係数に順次復号する可変長コード復号装置にお
ける可変長コード復号方法であって、前記可変長コード
の検出に際して、前記可変長テーブルに記憶した複数の
可変長コードのなかから所定の複数の可変長コードを組
み合わせた組合せコードごとに、該組合せコードを形成
する各可変長コードにそれぞれ対応する複数の係数を記
憶する組合せテーブルに基づいて、前記データの先頭に
前記組合せコードが存在するか否かを検出する検出工程
と、前記検出工程により組合せコードが検出されない場
合には、前記可変長テーブルから検出された可変長コー
ドを所定の係数に復号するよう制御し、前記検出工程に
より組合せコードが検出された場合には、該組合せコー
ドを対応する複数の係数に優先して復号するよう制御す
る制御工程と、を含んだことを特徴とする。
【0029】また、請求項9の発明に係る可変長コード
復号方法は、符号化ストリームに含まれる各可変長コー
ドごとに所定の係数を対応付けて記憶する可変長テーブ
ルを有し、該符号化ストリームから所定のビット数のデ
ータを順次抽出し、該抽出したデータの先頭に位置する
可変長コードを前記可変長テーブルから検出して対応す
る所定の係数に順次復号する可変長コード復号装置にお
ける可変長コード復号方法であって、前記符号化ストリ
ームに含まれるスタートコードを検出する検出工程と、
前記データの抽出に際して、該抽出するデータの先頭以
外の部分に前記検出工程により検出された次のスタート
コードの先頭の一部が存在するか否かを判定する判定工
程と、前記判定工程により次のスタートコードの先頭の
一部が存在するものと判定された場合には、該スタート
コードに対応する部分以降のデータを除外したデータを
抽出するよう制御する制御工程と、を含んだことを特徴
とする。
【0030】また、請求項10の発明に係る可変長コー
ド復号方法は、符号化ストリームに含まれる各可変長コ
ードごとに所定の係数を対応付けて記憶する可変長テー
ブルを有し、該符号化ストリームから所定のビット数の
データを順次抽出し、該抽出したデータの先頭に位置す
る可変長コードを前記可変長テーブルから検出して対応
する所定の係数に順次復号する可変長コード復号装置に
おける可変長コード復号方法であって、前記符号化スト
リームに含まれるブロックのサイズに対応した複数の記
憶領域に係数をそれぞれ格納する格納工程と、前記順次
復号された所定の係数として各可変長コードのラン係数
およびレベル係数を同時に送出する送出工程と、前記送
出工程により前記ブロックの先頭に位置する可変長コー
ドのラン係数およびレベル係数が送出された場合には、
それと同時あるいはその直前に前記複数の記憶領域のそ
れぞれに係数ゼロを格納するよう制御するとともに、前
記送出工程により順次送出された各可変長コードのラン
係数に基づいて前記複数の記憶領域の所定の記憶領域に
該可変長コードのレベル係数を格納するよう制御する制
御工程と、を含んだことを特徴とする。
【0031】また、請求項11の発明に係るプログラム
は、請求項8、9または10に記載された方法をコンピ
ュータに実行させるプログラムであり、これによって、
請求項8、9または10の動作をコンピュータによって
実行することができる。
【0032】
【発明の実施の形態】以下に添付図面を参照して、この
発明に係る可変長コード復号装置、可変長コード復号方
法、およびその方法をコンピュータに実行させるプログ
ラムの好適な実施の形態を詳細に説明する。なお、本実
施の形態では、本発明をMPEG2方式により符号化さ
れたMPEG2ビットストリームという符号化ストリー
ムを復号する復号装置に適用した場合を説明するが、M
PEG1やMPEG4など、あらゆる画像符号化方式に
より符号化された符号化された符号化ストリームを復号
する場合にも同様に適用することができる。
【0033】(MPEG2ビットストリームのデータ構
造)まず、本実施の形態に係る復号装置の復号対象であ
るMPEG2ビットストリームのデータ構造について図
1〜図3を用いて説明する。図1は、MPEG2ビット
ストリームのデータ構造を説明するための図であり、図
2は、MPEG2ビットストリームと画面との対応関係
を説明するための図であり、図3は、MPEG2ビット
ストリームのスタートコードを説明するための図であ
る。
【0034】MPEG2ビットストリームのデータは、
復号装置側で正しく受け取ることができるように、その
データ構造が細かく決められており、具体的には、図1
に示すように、シーケンス、GOP(Group of Pictur
e)、ピクチャ、スライス、マクロブロック、ブロック
という階層構造を有する。
【0035】このうち、シーケンスは、1つ以上のGO
Pから構成され、一般に1つのビデオプログラム全体の
符号化信号に相当する。このシーケンスは、シーケンス
ヘッダで始まり、シーケンスエンドで終了するが、シー
ケンスヘッダには、画像の大きさを表す情報、1秒間に
符号化するフレームの数、通信速度など、シーケンス全
体に関連する情報が含まれる。また、シーケンスヘッダ
に続いて、MPEG2の符号化信号であることを表す機
能拡張情報が挿入され、入力画像信号形式などが指定さ
れる。
【0036】GOPは、フレーム内符号化が可能なIピ
クチャ、過去のフレームのみを用いて前方向の動き補償
をおこなうPピクチャ、および過去と未来の両方のフレ
ームを用いて双方向の動き補償をおこなうBピクチャの
うち、1つ以上のピクチャから構成される。なお、各G
OPの最初のピクチャとしては、必ずIピクチャが挿入
され、GOPヘッダには、画像復元時に音声などとの時
間合わせを可能とするためのタイムスタンプ情報などが
含まれる。
【0037】ピクチャは、1つ以上のスライスから構成
され、図2に示すように、動画像信号を構成する1枚の
画面(m画素×nライン)に相当する。このピクチャの
ピクチャヘッダには、I、P、Bピクチャを識別するた
めの情報や、各ピクチャの表示順序を指定する情報など
が含まれる。また、ピクチャヘッダに続く機能拡張情報
には、フレーム構造/フィールド構造の設定など、MP
EG2で導入されている機能を指定する情報が含まれ
る。
【0038】スライスは、左から右への1つ以上のマク
ロブロックから構成され、スライス情報には、量子化特
性を表す情報など、このスライス内で使用される符号化
情報が含まれる。なお、マクロブロックの並びは、通信
回線でのエラーの影響が画面上で縦方向に及ばないよう
に、左から右へ延びるだけで、さらに上から下へ延びる
ことは許されていない。
【0039】マクロブロックは、図2に示すように、
4:2:0のフォーマット時には、8×8のY信号ブロ
ック4個と、8×8のCr信号ブロック1個と、8×8
のCb信号ブロック1個とから構成される。なお、マク
ロブロック情報には、マクロブロック単位で符号化制御
をおこなうための情報などが含まれる。
【0040】ブロックは、図2に示すように、4:2:
0のフォーマット時には、8×8のY信号、Cr信号、
Cb信号いずれかのDCT係数データから構成される。
なお、このDCT係数データは、複数の可変長コードが
連続する符号化データとして構成されるが(図5参
照)、各ブロックは、「10」というEOB(End of B
lock)コードで終了する。
【0041】このように、MPEG2ビットストリーム
のデータは、6層からなる階層構造を有するが、シーケ
ンス、GOP、ピクチャ、スライスの各層には、バイト
単位で配置(先頭から8の倍数のビット位置に配置)さ
れた32ビットのスタートコードが挿入されている。す
なわち、図3に示すようなスタートコードが順に挿入さ
れる。
【0042】このスタートコードのビットパターンは、
MPEG2ビットストリーム内では、スタートコード位
置以外の位置では決して発生しないものである。このた
め、MPEG2ビットストリームを受け取った復号装置
は、かかるスタートコードを検出することにより、例え
ば、スライス単位ごとに複数の処理系にて並行して復号
処理をおこなうことなどができる。
【0043】なお、図2には、4:2:0のフォーマッ
ト時のデータ構成を示したが、本発明はこれに限定され
るものではなく、4:2:2などのフォーマット時にお
いても同様に適用することができる。
【0044】(復号装置の構成)次に、本実施の形態に
係る復号装置の構成について説明する。図4は、本実施
の形態に係る復号装置の構成を示すブロック図である。
同図に示すように、本実施の形態に係る復号装置は、ス
トリームバッファ10と、ストリームバッファ制御部1
1と、デコーダ制御部12と、デコーダ20と、画像メ
モリ30とを備え、さらに、デコーダ20は、同図に示
すように、可変長復号化部(VLD)21と、逆量子化
部(IQ)22と、逆スキャン部(IS)23と、逆D
CT部(IDCT)24と、動き補償部(MC)25と
を備える。
【0045】概略的に、本実施の形態に係る復号装置
は、装置外部から入力されたMPEG2ビットストリー
ムをストリームバッファ10に蓄積し、この蓄積したM
PEG2ビットストリームを、デコーダ制御部12の制
御によりストリームバッファ制御部11を介してデコー
ダ20に出力し、デコーダ20の各処理部の処理を経て
復号された画像データを画像メモリ30に蓄積するもの
である。
【0046】次に、図4に示した復号装置における各部
の処理を説明する。ストリームバッファ10は、DVD
などの記録媒体やインターネットなどのネットワーク、
衛星などの放送電波を介して、装置外部から入力された
符号化ストリーム(MPEG2ビットストリーム)を蓄
積するDRAM(Dynamic Randam Access Memory)など
のメモリであり、例えば、4:2:2P@HLの符号化
ストリームを復号化する場合には、かかる復号化に要求
されるVBVバッファサイズである47,185,92
0ビット以上の容量を有する。
【0047】デコーダ制御部12は、ストリームバッフ
ァ制御部11を介して、ストリームバッファ10から符
号化ストリームをデコーダ20に出力する処理部であ
る。具体的には、ピクチャデコーダ(図示せず)から入
力されたピクチャ層のパラメータに基づいて、対応する
スライスのスタートコード情報を読み出すことにより、
図5に示すようなスタートコードと複数の可変長コード
とが連続する符号化データをデコーダ20に出力する。
【0048】デコーダ20は、概略的に、デコーダ制御
部12から入力されるピクチャ層のパラメータにしたが
って、ストリームバッファ制御部11を介して入力され
る符号化ストリームを復号して画像メモリ30に出力す
る処理部である。この復号処理は、可変長復号化部2
1、逆量子化部22、逆スキャン部23、逆DCT部2
4および動き補償部25の各処理部による処理を経てお
こなわれる。以下に、デコーダ20の各処理部の処理を
説明する。
【0049】可変長復号化部21は、符号化ストリーム
に含まれる可変長コードを復号して量子化DCT係数を
復元する処理部である。具体的には、符号化ストリーム
に含まれる各可変長コードごとにラン係数およびレベル
係数を対応付けて記憶する可変長復号化テーブル21c
を有し、符号化ストリームから所定のビット数の符号化
データを順次抽出し、該抽出した符号化データの先頭に
位置する可変長コードを可変長テーブル21cから検出
して対応するラン係数およびレベル係数に順次復号す
る。なお、可変長復号化部21は、予測モードや予測ベ
クトルなどのパラメータの復号もおこない、復号した予
測モードおよび予測ベクトルを動き補償部25に出力す
る。
【0050】逆量子化部22は、可変長復号化部21か
ら入力された量子化DCT係数を逆量子化してDCT係
数を復号し、復号したDCT係数を逆スキャン部23に
出力する処理部である。具体的には、符号化ストリーム
に含まれるブロックのサイズに対応した複数の記憶領域
を備える量子化DCT係数バッファ22bを有し、可変
長復号化部21から順次入力されたラン係数に基づいて
量子化DCT係数バッファ22bの所定の記憶領域にレ
ベル係数を格納し、この量子化DCT係数バッファ22
bに格納された係数を逆量子化テーブル22bに基づい
て逆量子化してDCT係数を復号する。
【0051】逆スキャン部23は、逆量子化部22から
入力されたDCT係数を逆スキャンし、逆スキャンした
DCT係数を逆DCT部24に出力する処理部である。
なお、図4においては、逆量子化処理をおこなった後に
逆スキャン処理をおこなう場合の構成を示しているが、
必ずしもこの順序にしたがう必要はなく、逆スキャン処
理をおこなった後に逆量子化処理をおこなう構成でもよ
い。
【0052】逆DCT部24は、逆スキャン部23から
入力されたDCT係数を逆DCT変換して符号化前の画
素データを復号し、復号した画素データを動き補償部2
5に出力する処理部である。
【0053】動き補償部25は、逆DCT部24から入
力された画素データと、可変長復号化部21から入力さ
れた予測モードおよび予測ベクトルとに基づいて、動き
補償をおこない、動き補償をおこなった画素データを画
像メモリ30に書き込む処理部である。
【0054】この画像メモリ30に書き込まれた画素デ
ータは、表示出力に利用されるとともに、他の画像の参
照データとして利用される。すなわち、逆DCT部24
から入力されるマクロブロックが動き補償を使用してい
る場合には、動き補償部25は、可変長復号化部21か
ら入力される予測ベクトルにしたがって、その画素デー
タが輝度データであれば、画像メモリ30の輝度バッフ
ァから参照画素を読み込み、その画素データが色差デー
タであれば、画像メモリ30の色差バッファから参照画
素データを読み込む。そして、読み込んだ参照画素デー
タを、逆DCT部24から入力された画素データに加算
することにより動き補償をおこない、かかる動き補償を
おこなった画素データを画像メモリ30に書き込む。
【0055】上記したような復号処理をおこなう本実施
の形態に係る復号装置は、可変長復号化部21による処
理に特徴がある。具体的には、図6に示すように、可変
長復号化テーブル21cは、下位テーブルに記憶する複
数の可変長コードのなかから所定の複数の可変長コード
を組み合わせた組合せコードについても上位テーブルに
記憶し、可変長コードの検出に際して組合せコードが検
出された場合には、該組合せコードを可変長コードに優
先して復号することにより、可変長コード復号処理を高
速におこなうことができるようにしている。
【0056】また、可変長復号化テーブル21cに蓄積
された符号化データ(図5参照)に含まれるスタートコ
ードを検出し、この可変長復号化テーブル21cから所
定のビット数の符号化データを抽出する際に、抽出する
符号化データの先頭以外の部分に次のスタートコードの
先頭の一部が存在する場合には、このスタートコードに
対応する部分以降のデータを除外した符号化データを抽
出することにより、可変長コード復号処理を高速におこ
なうことができるようにしている。
【0057】さらに、可変長復号化テーブル21cは、
復号したラン係数およびレベル係数を係数変換すること
なく、そのまま逆量子化部22に出力し、逆量子化部2
2は、図7に示すように、あらかじめ係数ゼロが格納さ
れた量子化DCT係数バッファ22bの所定の記憶領域
のみにレベル係数を格納することにより、可変長コード
復号処理を高速におこなうことができるようにしてい
る。
【0058】そこで、上記したような特徴を有する可変
長復号化部21による可変長コード復号処理について、
以下に図4〜図7を参照して具体的に説明する。なお、
図4は、本実施の形態に係る復号装置の構成を示すブロ
ック図であり、図5は、図4に示した復号装置に入力さ
れる符号化データの一例を示す図であり、図6は、図4
に示した可変長復号化テーブル21cの構成例を示す図
であり、図7は、図4に示した書込制御部22aによる
量子化DCT係数バッファに対する格納処理の具体例を
示す図である。
【0059】図4に示すように、可変長復号化部21
は、可変長符号バッファ21aと、送出制御部21b
と、可変長復号化テーブル21cと、スタートコード検
出部21dとを有し、さらに、この可変長復号化部21
に続く処理をおこなう逆量子化部22は、書込制御部2
2aと、量子化DCT係数バッファ22bと、逆量子化
テーブル22cとを有する。
【0060】このうち、可変長符号バッファ21aは、
ストリームバッファ10からストリームバッファ制御部
11を介して入力された符号化データを一時的に蓄える
バッファである。
【0061】送出制御部21bは、可変長符号バッファ
21aに一時的に蓄えられている符号化データから所定
のビット数の符号化データを順次抽出して可変長復号化
テーブル21cに送出する処理部であり、具体的には、
可変長復号化テーブル21cから入力される符号長(先
に復号された可変長コードの符号長)に応じて、可変長
復号化テーブル21cに記憶された可変長コードの最大
ビット数に対応するビット数のデータを抽出して送出す
る。
【0062】これを詳細に説明すると、本実施の形態で
は、可変長復号化テーブル21cに記憶された可変長コ
ードの最大ビット数を24ビットとしているので、例え
ば、「011001000101…………」という24
ビットの符号化データを可変長復号化テーブル21cに
送出した後に、可変長復号化テーブル21cから「符号
長:4」が入力された場合には、この「符号長:4」に
対応する「0110」に続くビットを新たに先頭ビット
として、「01000101……………・」という24
ビットの符号化データを新たに抽出して送出する。
【0063】また、送出制御部21bは、上記の符号化
データの抽出に際して、抽出する符号化データの先頭以
外の部分に次のスタートコードの先頭の一部が存在する
場合には、このスタートコードに対応する部分以降のデ
ータを除外した符号化データを抽出するように動作す
る。
【0064】具体的には、スタートコード検出部21d
は、可変長符号バッファ21aに一時的に蓄えられてい
る符号化データから32ビットのスタートコード「00
0000000000000000000001XXX
XXXXX」を検出し、送出制御部21bは、可変長符
号バッファ21aに一時的に蓄えられた符号化データか
ら所定のビット数の符号化データを順次抽出する際に、
抽出する符号化データの先頭以外の部分に次のスタート
コードの先頭の一部が存在するか否かを判定し、この判
定によりスタートコードが存在するものと判定された場
合には、このスタートコードに対応する部分以降のデー
タを除外した符号化データを抽出する。
【0065】これを詳細に説明すると、例えば、抽出す
る24ビットとそれに続く24ビットの符号化データが
「001100000000000000000000
0001XXXXXXXX…」のとき、データの先頭以
外の部分に次のスタートコードが存在する。具体的に
は、データの先頭に現れている可変長コード「0011
0(s=0)」の最後のビット0は、次のスタートコー
ドの先頭の一部となっており、この場合には、「001
1」に続く、「000000000000000000
000001XXXXXXXX…」以降のデータを除外
し、「0011」という符号化データを抽出して送出す
る。
【0066】可変長復号化テーブル21cは、符号化ス
トリームに含まれる各可変長コードごとにラン(RU
N)係数およびレベル(LEVEL)係数を対応付けて
記憶し、送出制御部21bの制御により可変長符号バッ
ファ21aから入力される符号化データの先頭に位置す
る可変長コードを検出して対応するラン係数およびレベ
ル係数に順次復号する処理部であり、復号したラン係数
およびレベル係数を逆量子化部22の書込制御部22a
に出力するとともに、復号した可変長コードの符号長を
送出制御部21bに出力する。
【0067】具体的には、この可変長復号化テーブル2
1cは、図6に示すように、各可変長コードごとにラン
係数およびレベル係数を1組ずつ記憶する「下位テーブ
ル」と、この下位テーブルに記憶した複数の可変長コー
ドのなかから所定の複数の可変長コードを組み合わせた
可変長コード(組合せコード)ごとに、該組合せコード
を形成する各可変長コードにそれぞれ対応する複数の係
数を記憶する「上位テーブル」とを備える。
【0068】このうち、下位テーブルは、図9に示した
可変長復号化テーブル41cと同様、各可変長コードご
とにラン係数およびレベル係数を1組ずつ記憶するもの
であるが、本実施の形態では、上位テーブルにおいて、
下位テーブルに記憶した複数の可変長コードから形成さ
れ得る複数の組合せコードのうち、2つの可変長コード
から形成される組合せコードであって、符号長が下位テ
ーブルに記憶された可変長コードの最大符号長以下であ
り、かつ、符号化ストリームに含まれる可能性が高い組
合せコードを選択して記憶している。すなわち、可変長
復号化テーブル41cの記憶量が単純に増大することを
回避して、可変長コード復号処理を高速かつ効率的にお
こなえることができるようにしている。
【0069】例えば、図6の上位テーブルの最上段に記
憶された「011s0100s」という組合せコード
は、下位テーブルにおける可変長コード「011s」と
可変長コード「0100s」とを、この前後関係で組み
合わせたものであり、この前後関係に対応する2組のラ
ン係数およびレベル係数をそれぞれ記憶している。ま
た、例えば、図6の上位テーブルの2段目に記憶された
「0100s011s」という組合せコードは、上記の
前後関係を逆転させて組合せたものである。
【0070】このような下位テーブルおよび上位テーブ
ルから構成される可変長復号化テーブル21cに可変長
符号バッファ21aから所定のビット数の符号化データ
が入力されると、可変長復号化テーブル21cは、入力
された符号化データの先頭に位置する可変長コードを下
位テーブルおよび上位テーブルから1クロックで検出す
る。そして、検出した可変長コードを対応するラン係数
およびレベル係数に復号し、復号したラン係数およびレ
ベル係数を逆量子化部22の書込制御部22aに出力す
るとともに、復号した可変長コードの符号長を送出制御
部21bに出力する。
【0071】すなわち、本実施の形態では、上記したよ
うに可変長復号化テーブル21cが下位テーブルおよび
上位テーブルを備え、下位テーブルに基づいて可変長コ
ードを検出する際に、データの先頭に組合せコードが存
在するか否かを上位テーブルに基づいて検出し、組合せ
コードが検出されない場合には、下位テーブルから検出
された可変長コードを対応するラン係数およびレベル係
数に復号し、一方、組合せコードが検出された場合に
は、該組合せコードを対応する複数のラン係数およびレ
ベル係数に優先して復号するよう動作する。
【0072】これを具体的に説明すると、例えば、上位
テーブルにおいて、可変長コード「0000101s」
および可変長コード「0101s」をこの前後関係で組
み合わせた「0000101s0101s」という組合
せコードが記憶されていないような場合には、「000
0101s0101s………・・」という24ビットの
符号化データが可変長符号バッファ21aから可変長復
号化テーブル21cに入力されると、下位テーブルから
「0000101s」という可変長コードが検出される
が、上位テーブルからは「0000101s0101
s」という組合せコードが検出されないため、可変長復
号化テーブル21cは、下位テーブルから検出された
「0000101s」という可変長コードに対応するラ
ン係数およびレベル係数に復号する。
【0073】すなわち、「ラン係数:9、レベル係数:
1」を逆量子化部22に出力するとともに、「0000
101s」という可変長コードの「符号長:8」を送出
制御部21bに出力する。
【0074】一方、例えば、上位テーブルにおいて、可
変長コード「0101s」および可変長コード「011
s」をこの前後関係で組み合わせた「0101s011
s」という組合せコードが記憶されているような場合に
は、「0101s011s……………」という24ビッ
トの符号化データが可変長符号バッファ21aから可変
長復号化テーブル21cに入力されると、下位テーブル
から「0101s」という可変長コードが検出され、さ
らに、上位テーブルからは「0101s011s」とい
う組合せコードが検出されるため、可変長復号化テーブ
ル21cは、上位テーブルから検出された「0101s
011s」という可変長コードに対応する複数のラン係
数およびレベル係数を下位テーブルに優先して復号す
る。
【0075】すなわち、「ラン係数:2、レベル係数:
1」および「ラン係数:1、レベル係数:1」を続けて
逆量子化部22に出力するとともに、「0101s01
1s」という可変長コードの「符号長:9」を送出制御
部21bに出力する。
【0076】さらに、可変長復号化テーブル21cは、
上記したような処理により復号したラン係数およびレベ
ル係数を1クロックで逆量子化部22の書込制御部22
aに出力するように動作する。例えば、「ラン係数:
2、レベル係数:1」を復号した場合には、「ラン係
数:2」および「レベル係数:1」を同時に出力する。
すなわち、「ラン係数:2、レベル係数:1」を「0,
0,1」という3つの係数に係数変換して3クロックで
出力するよう動作するのではなく、常に1クロックでラ
ン係数およびレベル係数を出力するよう動作する。
【0077】そして、逆量子化部22の書込制御部22
aは、可変長復号化テーブル21cから順次入力された
各可変長コードのラン係数およびレベル係数に基づい
て、符号化ストリームに含まれるブロックのサイズに対
応した複数の記憶領域を有する量子化DCT係数バッフ
ァ22bに量子化DCT係数を格納する処理部である。
【0078】具体的には、本実施の形態では、1ブロッ
クが8×8のサイズを有するので、量子化DCT係数バ
ッファ22bは、図7に示すように、8×8の合計64
の記憶領域を有し、書込制御部22aは、可変長復号化
テーブル21cからブロックの先頭に位置する可変長コ
ードのラン係数およびレベル係数が入力された場合に
は、量子化DCT係数バッファ22bの各記憶領域に係
数ゼロを格納し、可変長復号化テーブル21cから順次
入力された各可変長コードのラン係数に基づいて量子化
DCT係数バッファ22bの所定の記憶領域に該可変長
コードのレベル係数を格納するよう動作する。
【0079】これを詳細に説明すると、可変長復号化テ
ーブル21cからブロックの先頭に位置する可変長コー
ドのラン係数およびレベル係数が入力される際には、量
子化DCT係数バッファ22bは、図7(a)に示すよ
うに、各記憶領域に係数ゼロが格納されたリセット状態
になっており、書込制御部22aは、かかるリセット状
態から量子化DCT係数バッファ22bの各記憶領域に
係数を格納する。
【0080】例えば、可変長復号化テーブル21cから
ブロックの先頭に位置する可変長コードのラン係数およ
びレベル係数として、「ラン係数:3、レベル係数:
1」が入力された場合には、図7(b)に示すように、
書込制御部22aは、量子化DCT係数バッファ22b
のアドレス1の記憶領域から「ラン係数:3」だけ進ん
だアドレス4の記憶領域に「レベル係数:1」を格納す
る。すなわち、アドレス1から3の各記憶領域にそれぞ
れ「0」を格納した後に、アドレス4の記憶領域に
「1」を格納するよう動作するのではなく、ラン係数に
基づいて求められる1つの記憶領域のみに対応するレベ
ル係数を格納するように動作する。
【0081】また、例えば、可変長復号化テーブル21
cからブロックの先頭に位置する組合せコードのラン係
数およびレベル係数として、「ラン係数:2、レベル係
数:1」および「ラン係数:1、レベル係数:1」が入
力された場合には、図7(c)に示すように、書込制御
部22aは、量子化DCT係数バッファ22bのアドレ
ス1の記憶領域から「ラン係数:2」だけ進んだアドレ
ス3の記憶領域に「レベル係数:1」を格納した後、こ
のアドレス3に続くアドレス4の記憶領域から「ラン係
数:1」だけ進んだアドレス5の記憶領域に「レベル係
数:1」を格納する。
【0082】このような書込制御部22aによる量子化
DCT係数バッファ22bに対する格納処理により、量
子化DCT係数バッファ22bには、ブロック単位で量
子化DCT係数が格納され、量子化テーブル42は、か
かる量子化DCT係数バッファ22bに格納された量子
化DCT係数を逆量子化してDCT係数を復号する。
【0083】上述してきたように、本実施の形態によれ
ば、可変長復号化テーブル21cは、複数の可変長コー
ドのなかから所定の複数の可変長コードを組み合わせた
組合せコードについても記憶し、可変長コードの検出に
際して組合せコードが検出された場合には、該組合せコ
ードを可変長コードに優先して復号することとしたの
で、可変長コード復号処理の高速化を図ることができ
る。
【0084】すなわち、図8に示した従来技術では、可
変長符号バッファ41aから可変長復号化テーブル41
cに1つの符号データが入力される処理に対して、常に
1つの可変長コードが復号されるに過ぎなかったのに対
し、本実施の形態においては、可変長符号バッファ21
aから可変長復号化テーブル21cに1つの符号データ
が入力される処理に対して、組合せコードに関しては複
数の可変長コードが一度に復号されるため、可変長コー
ド復号処理の高速化を図ることができる。
【0085】また、本実施の形態では、スタートコード
検出部21dは、符号化データに含まれるスタートコー
ドを検出し、送出制御部21bは、符号化データの抽出
に際して、抽出するデータの先頭以外の部分に次のスタ
ートコードの先頭の一部が存在する場合には、このスタ
ートコードに対応する部分以降のデータを除外したデー
タを抽出することとしたので、可変長コード復号処理の
高速化を図ることができる。
【0086】すなわち、図8に示した従来技術では、送
出制御部41dが単純に可変長コードの最大符号長に対
応するデータ数の符号化データを可変長符号バッファ4
1aから可変長復号化テーブル41cに対して送出して
いたため、符号化データに存在するエラーによりスター
トコードを浸食し、誤った可変長コード符号化処理から
の復帰が遅れてしまっていたのに対し、本実施の形態に
おいては、スタートコードに対応する部分以降のデータ
を除外したデータを抽出するため、符号化データに存在
するエラーによりスタートコードが浸食されてしまうこ
とを防止して、可変長コード復号処理の高速化を図るこ
とができる。
【0087】さらに、本実施の形態では、可変長復号化
テーブル21cは、復号したラン係数およびレベル係数
を逆量子化部22の書込制御部22aに出力し、書込制
御部22aは、ブロックの先頭に位置する可変長コード
の係数が入力された場合には、量子化DCT係数バッフ
ァ22bの各記憶領域に係数ゼロを格納し、可変長復号
化テーブル21cから順次入力された各可変長コードの
ラン係数に基づいて量子化DCT係数バッファ22bの
所定の記憶領域に該可変長コードのレベル係数を格納す
ることとしたので、可変長コード復号処理の高速化を図
ることができる。
【0088】すなわち、図8に示した従来技術では、可
変長復号化テーブル41cにより検出されたラン係数お
よびレベル係数を係数変換部41dにより係数変換して
逆量子化部42に出力していたため、ラン係数の数値に
応じて出力処理および格納処理に多くの処理クロックが
必要になっていたのに対し、本実施の形態では、復号し
たラン係数およびレベル係数を係数変換することなく逆
量子化部42に出力し、あらかじめ係数ゼロが格納され
た量子化DCT係数バッファ22bの所定の記憶領域の
みにレベル係数を格納するため、常に一定の処理クロッ
クで出力処理および格納処理をおこない、可変長コード
復号処理の高速化を図ることができる。
【0089】なお、本実施の形態では、可変長復号化テ
ーブル21cの上位テーブルが2つの可変長コードを組
み合わせた組合せコードを記憶する場合を説明したが、
本発明は、これに限定されるものではなく、2つの可変
長コードを組み合わせた組合せコードを記憶するテーブ
ル、3つの可変長コードを組み合わせた組合せコードを
記憶するテーブルというように、複数の可変長コードを
組み合わせた組合せコードを各可変長コードの組合せ数
に区分けして記憶する場合にも、同様に適用することが
できる。そして、2つ若しくは3つというように、複数
の組合せコードが検出された場合には、可変長コードの
組合せ数が最も大きな組合せコードを対応する複数の係
数に優先して復号するよう制御することにより、一度に
より多くの可変長コードを復号することができ、可変長
コード復号処理をより一層高速におこなうことができ
る。
【0090】また、本実施の形態では、可変長復号化テ
ーブル21cから逆量子化部22にラン係数およびレベ
ル係数を出力する場合について説明したが、本発明はこ
れに限定されるものではなく、逆スキャン処理をおこな
った後に逆量子化処理をおこなう場合にも同様に適用す
ることができる。すなわち、この場合には、可変長復号
化テーブル21cから逆スキャン部にラン係数およびレ
ベル係数が出力され、逆スキャン部は、本実施の形態で
説明した逆量子化部22による係数の格納処理と同様の
処理をおこなう。
【0091】なお、本実施の形態で説明した可変長コー
ド復号方法は、あらかじめ用意されたプログラムをパー
ソナル・コンピュータやワークステーションなどのコン
ピュータで実行することによって実現することができ
る。このプログラムは、インターネットなどのネットワ
ークを介して配布することができる。また、このプログ
ラムは、ハードディスク、フロッピー(登録商標)ディ
スク、CD−ROM、MO、DVDなどのコンピュータ
で読み取り可能な記録媒体に記録され、コンピュータに
より記録媒体から読み出されることによって実行するこ
ともできる。
【0092】
【発明の効果】以上説明したように、請求項1の発明に
よれば、可変長コードの検出に際して、可変長テーブル
に記憶した複数の可変長コードのなかから所定の複数の
可変長コードを組み合わせた組合せコードごとに、該組
合せコードを形成する各可変長コードにそれぞれ対応す
る複数の係数を記憶する組合せテーブルに基づいて、デ
ータの先頭に組合せコードが存在するか否かを検出し、
組合せコードが検出されない場合には、可変長テーブル
から検出された可変長コードを所定の係数に復号するよ
う制御し、組合せコードが検出された場合には、該組合
せコードを対応する複数の係数に優先して復号するよう
制御することとしたので、組合せコードに関しては複数
の可変長コードを一度に復号することができ、もって可
変長コード復号処理の高速化を図ることが可能な可変長
コード復号装置が得られるという効果を奏する。
【0093】また、請求項2の発明によれば、組合せテ
ーブルは、組合せコードを形成する各可変長コードの組
合せ数に区分けして各組合せコードを記憶し、複数の組
合せコードが検出された場合には、組合せコードを形成
する各可変長コードの組合せ数が最も大きな組合せコー
ドを対応する複数の係数に優先して復号するよう制御す
ることとしたので、可変長コード復号処理をより一層高
速におこなうことが可能な可変長コード復号装置が得ら
れるという効果を奏する。
【0094】また、請求項3の発明によれば、組合せテ
ーブルは、可変長テーブルに記憶した複数の可変長コー
ドから形成され得る複数の組合せコードのうち、符号化
ストリームに含まれる可能性が高い組合せコードを選択
して記憶することとしたので、組合せテーブルの記憶量
が単純に増大することを回避して、可変長コード復号処
理を高速かつ効率的におこなうことが可能な可変長コー
ド復号装置が得られるという効果を奏する。
【0095】また、請求項4の発明によれば、符号化ス
トリームに含まれるスタートコードを検出し、データの
抽出に際して、該抽出するデータの先頭以外の部分に検
出された次のスタートコードの先頭の一部が存在するか
否かを判定し、次のスタートコードの先頭の一部が存在
するものと判定された場合には、該スタートコードに対
応する部分以降のデータを除外したデータを抽出するよ
う制御することとしたので、符号化データに存在するエ
ラーによりスタートコードが浸食されてしまうことを防
止することもでき、もって可変長コード復号処理をより
一層高速におこなうことが可能な可変長コード復号装置
が得られるという効果を奏する。
【0096】また、請求項5の発明によれば、符号化ス
トリームに含まれるブロックのサイズに対応した複数の
記憶領域に係数をそれぞれ格納する場合に、順次復号さ
れた所定の係数として各可変長コードのラン係数および
レベル係数を同時に送出し、ブロックの先頭に位置する
可変長コードのラン係数およびレベル係数が送出された
場合には、それと同時あるいはその直前に複数の記憶領
域のそれぞれに係数ゼロを格納するよう制御するととも
に、送出された各可変長コードのラン係数に基づいて複
数の記憶領域の所定の記憶領域に該可変長コードのレベ
ル係数を格納するよう制御することとしたので、短い処
理クロックで係数の送出処理および格納処理をおこなう
こともでき、もって可変長コード復号処理をより一層高
速におこなうことが可能な可変長コード復号装置が得ら
れるという効果を奏する。
【0097】また、請求項6の発明によれば、符号化ス
トリームに含まれるスタートコードを検出し、データの
抽出に際して、該抽出するデータの先頭以外の部分に検
出された次のスタートコードの先頭の一部が存在するか
否かを判定し、次のスタートコードの先頭の一部が存在
するものと判定された場合には、該スタートコードに対
応する部分以降のデータを除外したデータを抽出するよ
う制御することとしたので、符号化データに存在するエ
ラーによりスタートコードが浸食されてしまうことを防
止することができ、もって可変長コード復号処理の高速
化を図ることが可能な可変長コード復号装置が得られる
という効果を奏する。
【0098】また、請求項7の発明によれば、符号化ス
トリームに含まれるブロックのサイズに対応した複数の
記憶領域に係数をそれぞれ格納する場合に、順次復号さ
れた所定の係数として各可変長コードのラン係数および
レベル係数を同時に送出し、ブロックの先頭に位置する
可変長コードのラン係数およびレベル係数が送出された
場合には、それと同時あるいはその直前に複数の記憶領
域のそれぞれに係数ゼロを格納するよう制御するととも
に、送出された各可変長コードのラン係数に基づいて複
数の記憶領域の所定の記憶領域に該可変長コードのレベ
ル係数を格納するよう制御することとしたので、短い処
理クロックで係数の送出処理および格納処理をおこなう
ことができ、もって可変長コード復号処理の高速化を図
ることが可能な可変長コード復号装置が得られるという
効果を奏する。
【0099】また、請求項8の発明によれば、可変長コ
ードの検出に際して、可変長テーブルに記憶した複数の
可変長コードのなかから所定の複数の可変長コードを組
み合わせた組合せコードごとに、該組合せコードを形成
する各可変長コードにそれぞれ対応する複数の係数を記
憶する組合せテーブルに基づいて、データの先頭に組合
せコードが存在するか否かを検出し、組合せコードが検
出されない場合には、可変長テーブルから検出された可
変長コードを所定の係数に復号するよう制御し、組合せ
コードが検出された場合には、該組合せコードを対応す
る複数の係数に優先して復号するよう制御することとし
たので、組合せコードに関しては複数の可変長コードを
一度に復号することができ、もって可変長コード復号処
理の高速化を図ることが可能な可変長コード復号方法が
得られるという効果を奏する。
【0100】また、請求項9の発明によれば、符号化ス
トリームに含まれるスタートコードを検出し、データの
抽出に際して、該抽出するデータの先頭以外の部分に検
出された次のスタートコードの先頭の一部が存在するか
否かを判定し、次のスタートコードの先頭の一部が存在
するものと判定された場合には、該スタートコードに対
応する部分以降のデータを除外したデータを抽出するよ
う制御することとしたので、符号化データに存在するエ
ラーによりスタートコードが浸食されてしまうことを防
止することができ、もって可変長コード復号処理の高速
化を図ることが可能な可変長コード復号方法が得られる
という効果を奏する。
【0101】また、請求項10の発明によれば、符号化
ストリームに含まれるブロックのサイズに対応した複数
の記憶領域に係数をそれぞれ格納する場合に、順次復号
された所定の係数として各可変長コードのラン係数およ
びレベル係数を同時に送出し、ブロックの先頭に位置す
る可変長コードのラン係数およびレベル係数が送出され
た場合には、それと同時あるいはその直前に複数の記憶
領域のそれぞれに係数ゼロを格納するよう制御するとと
もに、送出された各可変長コードのラン係数に基づいて
複数の記憶領域の所定の記憶領域に該可変長コードのレ
ベル係数を格納するよう制御することとしたので、短い
処理クロックで係数の送出処理および格納処理をおこな
うことができ、もって可変長コード復号処理の高速化を
図ることが可能な可変長コード復号方法が得られるとい
う効果を奏する。
【0102】また、請求項11の発明によれば、請求項
8、9または10の動作をコンピュータによって実現す
ることが可能なプログラムが得られるという効果を奏す
る。
【図面の簡単な説明】
【図1】MPEG2ビットストリームのデータ構造を説
明するための図である。
【図2】MPEG2ビットストリームと画面との対応関
係を説明するための図である。
【図3】MPEG2ビットストリームのスタートコード
を説明するための図である。
【図4】本実施の形態に係る復号装置の構成を示すブロ
ック図である。
【図5】図4に示した復号装置に入力される符号化デー
タの一例を示す図である。
【図6】図4に示した可変長復号化テーブルの構成例を
示す図である。
【図7】図4に示した書込制御部による量子化DCT係
数バッファに対する格納処理の具体例を示す図である。
【図8】従来技術に係る復号装置の構成を示すブロック
図である。
【図9】図8に示した可変長復号化テーブルの構成例を
示す図である。
【図10】図8に示した量子化DCT係数バッファに対
する格納処理の具体例を示す図である。
【符号の説明】
10 ストリームバッファ 11 ストリームバッファ制御部 12 デコーダ制御部 20 デコーダ 21 可変長復号化部(VLD) 21a 可変長符号バッファ 21b 送出制御部 21c 可変長復号化テーブル 21d スタートコード検出部 22 逆量子化部(IQ) 22a 書込制御部 22b 量子化DCT係数バッファ 23 逆スキャン部(IS) 24 逆DCT部(IDCT) 25 動き補償部(MC) 30 画像メモリ
フロントページの続き Fターム(参考) 5C059 KK11 MA00 MA23 MC11 MC38 ME01 ME17 PP04 PP16 RB01 RC14 SS01 SS08 SS13 UA02 UA05 UA33 5J064 AA03 BA09 BA16 BB05 BC01 BC02 BC16 BD02 BD03 BD04

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 符号化ストリームに含まれる各可変長コ
    ードごとに所定の係数を対応付けて記憶する可変長テー
    ブルを有し、該符号化ストリームから所定のビット数の
    データを順次抽出し、該抽出したデータの先頭に位置す
    る可変長コードを前記可変長テーブルから検出して対応
    する所定の係数に順次復号する可変長コード復号装置で
    あって、 前記可変長テーブルに記憶した複数の可変長コードのな
    かから所定の複数の可変長コードを組み合わせた組合せ
    コードごとに、該組合せコードを形成する各可変長コー
    ドにそれぞれ対応する複数の係数を記憶する組合せテー
    ブルと、 前記可変長コードの検出に際して、前記データの先頭に
    前記組合せコードが存在するか否かを前記組合せテーブ
    ルに基づいて検出する検出手段と、 前記検出手段により組合せコードが検出されない場合に
    は、前記可変長テーブルから検出された可変長コードを
    所定の係数に復号するよう制御し、前記検出手段により
    組合せコードが検出された場合には、該組合せコードを
    対応する複数の係数に優先して復号するよう制御する制
    御手段と、 を備えたことを特徴とする可変長コード復号装置。
  2. 【請求項2】 前記組合せテーブルは、前記組合せコー
    ドを形成する各可変長コードの組合せ数に区分けして各
    組合せコードを記憶し、 前記制御手段は、前記検出手段により複数の組合せコー
    ドが検出された場合には、組合せコードを形成する各可
    変長コードの組合せ数が最も大きな組合せコードを対応
    する複数の係数に優先して復号するよう制御することを
    特徴とする請求項1に記載の可変長コード復号装置。
  3. 【請求項3】 前記組合せテーブルは、前記可変長テー
    ブルに記憶した複数の可変長コードから形成され得る複
    数の組合せコードのうち、前記符号化ストリームに含ま
    れる可能性が高い組合せコードを選択して記憶すること
    を特徴とする請求項1または2に記載の可変長コード復
    号装置。
  4. 【請求項4】 前記符号化ストリームに含まれるスター
    トコードを検出するスタートコード検出手段と、前記デ
    ータの抽出に際して、該抽出するデータの先頭以外の部
    分に前記検出手段により検出された次のスタートコード
    の先頭の一部が存在するか否かを判定する判定手段と、
    前記判定手段により次のスタートコードの先頭の一部が
    存在するものと判定された場合には、該スタートコード
    に対応する部分以降のデータを除外したデータを抽出す
    るよう制御する抽出制御手段と、をさらに備えたことを
    特徴とする請求項1、2または3に記載の可変長コード
    復号装置。
  5. 【請求項5】 前記符号化ストリームに含まれるブロッ
    クのサイズに対応した複数の記憶領域に係数をそれぞれ
    格納する格納手段と、前記順次復号された所定の係数と
    して各可変長コードのラン係数およびレベル係数を同時
    に送出する送出手段と、前記送出手段により前記ブロッ
    クの先頭に位置する可変長コードのラン係数およびレベ
    ル係数が送出された場合には、それと同時あるいはその
    直前に前記複数の記憶領域のそれぞれに係数ゼロを格納
    するよう制御するとともに、前記送出手段により送出さ
    れた各可変長コードのラン係数に基づいて前記複数の記
    憶領域の所定の記憶領域に該可変長コードのレベル係数
    を格納するよう制御する格納制御手段と、をさらに備え
    たことを特徴とする請求項1〜4のいずれか一つに記載
    の可変長コード復号装置。
  6. 【請求項6】 符号化ストリームに含まれる各可変長コ
    ードごとに所定の係数を対応付けて記憶する可変長テー
    ブルを有し、該符号化ストリームから所定のビット数の
    データを順次抽出し、該抽出したデータの先頭に位置す
    る可変長コードを前記可変長テーブルから検出して対応
    する所定の係数に順次復号する可変長コード復号装置で
    あって、 前記符号化ストリームに含まれるスタートコードを検出
    する検出手段と、 前記データの抽出に際して、該抽出するデータの先頭以
    外の部分に前記検出手段により検出された次のスタート
    コードの先頭の一部が存在するか否かを判定する判定手
    段と、 前記判定手段により次のスタートコードの先頭の一部が
    存在するものと判定された場合には、該スタートコード
    に対応する部分以降のデータを除外したデータを抽出す
    るよう制御する制御手段と、 を備えたことを特徴とする可変長コード復号装置。
  7. 【請求項7】 符号化ストリームに含まれる各可変長コ
    ードごとに所定の係数を対応付けて記憶する可変長テー
    ブルを有し、該符号化ストリームから所定のビット数の
    データを順次抽出し、該抽出したデータの先頭に位置す
    る可変長コードを前記可変長テーブルから検出して対応
    する所定の係数に順次復号する可変長コード復号装置で
    あって、 前記符号化ストリームに含まれるブロックのサイズに対
    応した複数の記憶領域に係数をそれぞれ格納する格納手
    段と、 前記順次復号された所定の係数として各可変長コードの
    ラン係数およびレベル係数を同時に送出する送出手段
    と、 前記送出手段により前記ブロックの先頭に位置する可変
    長コードのラン係数およびレベル係数が送出された場合
    には、それと同時あるいはその直前に前記複数の記憶領
    域のそれぞれに係数ゼロを格納するよう制御するととも
    に、前記送出手段により送出された各可変長コードのラ
    ン係数に基づいて前記複数の記憶領域の所定の記憶領域
    に該可変長コードのレベル係数を格納するよう制御する
    制御手段と、 を備えたことを特徴とする可変長コード復号装置。
  8. 【請求項8】 符号化ストリームに含まれる各可変長コ
    ードごとに所定の係数を対応付けて記憶する可変長テー
    ブルを有し、該符号化ストリームから所定のビット数の
    データを順次抽出し、該抽出したデータの先頭に位置す
    る可変長コードを前記可変長テーブルから検出して対応
    する所定の係数に順次復号する可変長コード復号装置に
    おける可変長コード復号方法であって、 前記可変長コードの検出に際して、前記可変長テーブル
    に記憶した複数の可変長コードのなかから所定の複数の
    可変長コードを組み合わせた組合せコードごとに、該組
    合せコードを形成する各可変長コードにそれぞれ対応す
    る複数の係数を記憶する組合せテーブルに基づいて、前
    記データの先頭に前記組合せコードが存在するか否かを
    検出する検出工程と、 前記検出工程により組合せコードが検出されない場合に
    は、前記可変長テーブルから検出された可変長コードを
    所定の係数に復号するよう制御し、前記検出工程により
    組合せコードが検出された場合には、該組合せコードを
    対応する複数の係数に優先して復号するよう制御する制
    御工程と、 を含んだことを特徴とする可変長コード復号方法。
  9. 【請求項9】 符号化ストリームに含まれる各可変長コ
    ードごとに所定の係数を対応付けて記憶する可変長テー
    ブルを有し、該符号化ストリームから所定のビット数の
    データを順次抽出し、該抽出したデータの先頭に位置す
    る可変長コードを前記可変長テーブルから検出して対応
    する所定の係数に順次復号する可変長コード復号装置に
    おける可変長コード復号方法であって、 前記符号化ストリームに含まれるスタートコードを検出
    する検出工程と、 前記データの抽出に際して、該抽出するデータの先頭以
    外の部分に前記検出工程により検出された次のスタート
    コードの先頭の一部が存在するか否かを判定する判定工
    程と、 前記判定工程により次のスタートコードの先頭の一部が
    存在するものと判定された場合には、該スタートコード
    に対応する部分以降のデータを除外したデータを抽出す
    るよう制御する制御工程と、 を含んだことを特徴とする可変長コード復号方法。
  10. 【請求項10】 符号化ストリームに含まれる各可変長
    コードごとに所定の係数を対応付けて記憶する可変長テ
    ーブルを有し、該符号化ストリームから所定のビット数
    のデータを順次抽出し、該抽出したデータの先頭に位置
    する可変長コードを前記可変長テーブルから検出して対
    応する所定の係数に順次復号する可変長コード復号装置
    における可変長コード復号方法であって、 前記符号化ストリームに含まれるブロックのサイズに対
    応した複数の記憶領域に係数をそれぞれ格納する格納工
    程と、 前記順次復号された所定の係数として各可変長コードの
    ラン係数およびレベル係数を同時に送出する送出工程
    と、 前記送出工程により前記ブロックの先頭に位置する可変
    長コードのラン係数およびレベル係数が送出された場合
    には、それと同時あるいはその直前に前記複数の記憶領
    域のそれぞれに係数ゼロを格納するよう制御するととも
    に、前記送出工程により送出された各可変長コードのラ
    ン係数に基づいて前記複数の記憶領域の所定の記憶領域
    に該可変長コードのレベル係数を格納するよう制御する
    制御工程と、 を含んだことを特徴とする可変長コード復号方法。
  11. 【請求項11】 前記請求項8、9または10に記載さ
    れた方法をコンピュータに実行させるプログラム。
JP2001177634A 2001-06-12 2001-06-12 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム Pending JP2002374174A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001177634A JP2002374174A (ja) 2001-06-12 2001-06-12 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001177634A JP2002374174A (ja) 2001-06-12 2001-06-12 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム

Publications (1)

Publication Number Publication Date
JP2002374174A true JP2002374174A (ja) 2002-12-26

Family

ID=19018443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001177634A Pending JP2002374174A (ja) 2001-06-12 2001-06-12 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム

Country Status (1)

Country Link
JP (1) JP2002374174A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034647A1 (en) * 2004-09-29 2006-04-06 Huawei Technologies Co., Ltd. Variable length encoding and decoding method
JP2010093522A (ja) * 2008-10-08 2010-04-22 Mega Chips Corp 画像処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034647A1 (en) * 2004-09-29 2006-04-06 Huawei Technologies Co., Ltd. Variable length encoding and decoding method
JP2010093522A (ja) * 2008-10-08 2010-04-22 Mega Chips Corp 画像処理装置

Similar Documents

Publication Publication Date Title
EP0818930B1 (en) Video coding method
US6219381B1 (en) Image processing apparatus and method for realizing trick play
US7292772B2 (en) Method and apparatus for decoding and recording medium for a coded video stream
EP0831658A2 (en) Encoder/decoder for coding/decoding gray scale shape data and method thereof
CA2151023A1 (en) Method of coding/decoding of a data stream
US5739862A (en) Reverse playback of MPEG video
US20020057739A1 (en) Method and apparatus for encoding video
US6819715B2 (en) Image decoding method, image decoding apparatus, and data storage medium
JPH1118087A (ja) 画像データの変換装置および変換方法
JP3940672B2 (ja) 画像処理装置及び画像処理方法
JP3918263B2 (ja) 圧縮符号化装置および符号化方法
JP2010098352A (ja) 画像情報符号化装置
JPH05115010A (ja) 画像復号化装置
JP3202433B2 (ja) 量子化装置、逆量子化装置及び画像処理装置並びに量子化方法、逆量子化方法及び画像処理方法
US6928115B2 (en) Compression-encoded data decoding apparatus cross-reference to related applications
US6097843A (en) Compression encoding apparatus, encoding method, decoding apparatus, and decoding method
JP2002374174A (ja) 可変長コード復号装置、可変長コード復号方法およびその方法をコンピュータに実行させるプログラム
JP2003032679A (ja) 復号装置、復号方法およびその方法をコンピュータに実行させるプログラム
TWI439137B (zh) 重建一圖像群以在該圖像群中隨機存取之方法及裝置
JPH05227519A (ja) 画像デ―タの符号化装置および復号化装置
US20050169375A1 (en) Read/write separation in video request manager
JPH0795536A (ja) 動画像逆再生装置及び方法
JP3810830B2 (ja) 符号化映像信号の復号化処理方法及びそれを用いた復号化装置
JP3141149B2 (ja) 画像符号化装置
JPH1056641A (ja) Mpegデコーダ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040727

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041124