JP3720035B2 - 可変長符号復号化装置および可変長符号復号化方法 - Google Patents

可変長符号復号化装置および可変長符号復号化方法 Download PDF

Info

Publication number
JP3720035B2
JP3720035B2 JP2003329954A JP2003329954A JP3720035B2 JP 3720035 B2 JP3720035 B2 JP 3720035B2 JP 2003329954 A JP2003329954 A JP 2003329954A JP 2003329954 A JP2003329954 A JP 2003329954A JP 3720035 B2 JP3720035 B2 JP 3720035B2
Authority
JP
Japan
Prior art keywords
bits
lookup table
length code
address
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 - Fee Related
Application number
JP2003329954A
Other languages
English (en)
Other versions
JP2005101731A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003329954A priority Critical patent/JP3720035B2/ja
Publication of JP2005101731A publication Critical patent/JP2005101731A/ja
Application granted granted Critical
Publication of JP3720035B2 publication Critical patent/JP3720035B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、MPEG(Moving Pictures Experts Group)形式等の可変長符号化されたデータを可変長復号する可変長符号復号化装置および可変長符号の復号方法に関するものである。
動画像処理技術の急速な発展により、動画像をデジタルデータとして扱うことが広く行われている。近年では、DVDに動画像を録画する機能や、DVDに記録された動画像を再生する機能を備えた装置が販売されている。また、TV放送などの動画像を例えばMPEG−1、2、4等の符号化方式で圧縮しHDD(Hard Disk Drive)等の蓄積メディアに録画するPVR(パーソナルビデオレコーダ)が、VTR(ビデオテープレコーダ)の代わりとして一般家庭に広まり始めている。
一方、BSデジタル放送やCSデジタル放送では、MPEG−2方式で符号化されたHDTV(ハイビジョン)映像のサービスが行なわれている。更に、2003年末には、地上波でもMPEG−2方式で符号化されたHDTVのデジタル放送が開始される予定である。今後、PVRでもHDTVのような大容量のデータを処理することが望まれる。
上記のように映像のデジタル化が進展する状況下において、動画像の圧縮方式のフォーマットがMPEG−2のみであれば、当該MPEG−2形式専用のLSIを搭載した装置を用いれば、HDTV映像に対する録画再生処理も可能となる。しかし、MPEG−4やH.264などの新しい規格や、Windows(登録商標)Media等のデファクトスタンダードなどの種々の規格に基づく圧縮符号化データを扱うことを考慮した場合、多種類の専用LSIを用意しなければならず、機器のコストアップに繋がる。
そこで、高速処理可能なプロセッサを使い、ソフトウェアを入れ替えることにより、種々のフォーマットに対応する動きがある。特許文献1では、汎用プロセッサに加えてMPEGの信号処理に適したSIMD(単一命令/多数データ)型演算ユニットを多数搭載する付加処理ユニットを備えるプロセッサが開示されている。
この文献に開示されたプロセッサの一例を、図14に示す。同図に示すように、この付加処理ユニット1000は、ローカルメモリ1001と、レジスタ1002と、浮動小数点演算ユニット1004と、整数演算ユニット1004とを備えており、ローカルメモリ1001とレジスタ1002との間が内部バス1006によって接続されている。
このように付加処理ユニット1000は、その内部にローカルメモリ1001を備えている。このため、レジスタ1002との間で高速にデータのやり取りが可能であり、これにより高速演算が実現される。一方、ローカルメモリ1001とメインメモリ(不図示)との間は外部バス1005で接続されるため、内部バス1006と比べるとデータの転送は低速となり、大きなレーテンシも発生すると想定される。従って、頻繁にアクセスするデータは、メインメモリにアクセスするのではなく、連続したアクセスが発生する期間内はローカルメモリ1001に常駐させることが望ましい。
図15は、付加処理ユニット1000のローカルメモリ1001に保持されるデータ構成の一例を示す。同図に示すように、かかるデータは、プログラムが格納されるプログラム領域と、テーブル類が格納されるテーブル領域と、処理される画像データ等が格納されるデータ領域と、レジスタの値を一時退避するスタック領域とで構成される。
特許文献2には、処理は高速だがLUT(ルックアップテーブル)のサイズが大きい「ビットストリーム直接入力型」のLUTと、処理は低速だがLUTのサイズが小さい「アドレス−シンボル一対一対応型」のLUTを組み合わせて用いる手法が開示されている。
特開2002−366534号公報 特開2001−7706号公報
ところで、特許文献1で開示されている付加処理ユニットのレジスタ長は、128ビット幅となっている。このようなレジスタ長の長いレジスタで処理を行なうユニットは、SIMD命令を使って並列処理を行なうには好適であるが、MPEG等のデコード処理に含まれる可変長符号復号処理のような条件分岐が頻繁に発生する処理には向かない。
また、特許文献2に開示された技術で用いられる「ビットストリーム直接入力型」のLUTのアドレスは、ビットストリームの値そのものであるため、アドレス計算のコストが発生しないが、ルックアップテーブルサイズが大きくなってしまう。したがって、ローカルメモリ1001に保持できなくなるおそれがある。特にプロセッサの速度を高速にすると(クロックを上げると)、ローカルメモリのサイズは小さくなるため、大サイズのLUTは用いない方が好ましい。
また、特許文献2に開示された小サイズの「アドレス−シンボル一対一対応型」LUTのアドレスは、比較と分岐処理を用いて計算されるため、先に挙げた特許文献1に開示されているプロセッサでは、アドレス計算のコストが大きくなる。
本発明は、上記に鑑みてなされたものであって、多数の分岐処理を行うことなく、ルックアップテーブルのサイズをビットストリーム直接入力型のルックアップテーブルのサイズよりも小さくすることができる可変長符号の復号化装置および可変長符号の復号方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、MPEG(Moving Pictures Experts Group)−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化装置であって、未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出手段と、「First Coef」用と「Others」用の2種類のテーブルを有し、前記切出手段によって切出されたNビットのうち、上位Iビット(IはNより小さい自然数)がアドレスとして入力される第1のルックアップテーブルと、前記「First Coef」用と前記「Others」用とで共用される1つのテーブルを有し、前記切出手段によって切出されたNビットのうち、下位Jビット(J=N−I)がアドレスとして入力される第2のルックアップテーブルと、前第1のルックアップテーブルの出力値に基づいて、前第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了する場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前第2のルックアップテーブルを利用して復号を行わせる選択手段とを具備し、前第1のルックアップテーブルは、入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力することを特徴とする。
また、本発明の別の態様は、MPEG−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化装置であって、未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出手段と、前記切出手段によって切出されたNビットのうち、上位Iビット(IはNより小さい自然数)がアドレスとして入力され、入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力する第1のルックアップテーブルと、前記切出手段によって切出されたNビットのうち、下位Jビット(J=N−I)がアドレスとして入力される第2のルックアップテーブルと、前記第1のルックアップテーブルの出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択手段とを具備し、前記第のルックアップテーブルは、前記Iビットよりも大きいビット数の符号語がとり得る上位Iビットの種類の各々に対応する種類別テーブルを有しており、前記種類別テーブルは、対応する種類の前記上位Iビットに続く下位ビットの数の最大値がMである場合(MはJ以下の自然数)、Mビット分のアドレスを有し、前記第1のルックアップテーブルは、入力されるアドレスに基づいて、以下の2種類の出力値を出力し、
(1)前記第1のルックアップテーブルで復号処理が終了することを示すフラグと、シンボル値とを含む出力値
(2)前記第1のルックアップテーブルで復号処理が終了しないことを示すフラグと、第2のルックアップテーブルにおいて利用すべき前記種類別テーブルの先頭アドレスと、前記下位Jビットと前記上位Iビットに続く下位ビットの最大値Mに対応して定まるアドレスシフト量J−Mを含む出力値
前記第1のルックアップテーブルが当該種類別テーブルの先頭アドレスを含む前記出力値を出力する際には、当該種類別テーブルには、前記アドレスシフト量J−Mをシフトしたものがアドレスとして入力されることを特徴とする。
また、本発明の別の態様は、MPEG(Moving Pictures Experts Group)−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化方法であって、未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出ステップと、前記切出ステップで切出されたNビットのうち、上位Iビット(IはNより小さい自然数)を、「First Coef」用と「Others」用の2種類のテーブルを有する第1のルックアップテーブルに、アドレスとして入力する第1入力ステップと、前記切出ステップで切出されたNビットのうち、下位Jビット(J=N−I)を、前記「First Coef」用と前記「Others」用とで共用される1つのテーブルを有する第2のルックアップテーブルに、アドレスとして入力する第2入力ステップと、前第1のルックアップテーブルの出力値に基づいて、前第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了する場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前第2のルックアップテーブルを利用して復号を行わせる選択ステップとを具備し、前記第2入力ステップは、前記第1入力ステップにおいて入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を前記第2ルックアップテーブルに入力することを特徴とする。
また、本発明の別の態様は、MPEG−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化方法であって、未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出ステップと、前記切出ステップで切出されたNビットのうち、上位Iビット(IはNより小さい自然数)をアドレスとして第1ルックアップテーブルに入力する第1入力ステップと、前記第1入力ステップで前記第1ルックアップテーブルに入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力する第1出力ステップと、前記切出ステップで切出されたNビットのうち、下位Jビット(J=N−I)アドレスとして第2ルックアップテーブルに入力する第2入力ステップと、前記第1出力ステップにおける出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択ステップとを具備し、前記第のルックアップテーブルは、前記Iビットよりも大きいビット数の符号語がとり得る上位Iビットの種類の各々に対応する種類別テーブルを有しており、前記種類別テーブルは、対応する種類の前記上位Iビットに続く下位ビットの数の最大値がMである場合(MはJ以下の自然数)、Mビット分のアドレスを有し、前記第1出力ステップは、入力されるアドレスに基づいて、以下の2種類の出力値を出力し、
(1)前記第1のルックアップテーブルで復号処理が終了することを示すフラグと、シンボル値とを含む出力値
(2)前記第1のルックアップテーブルで復号処理が終了しないことを示すフラグと、第2のルックアップテーブルにおいて利用すべき前記種類別テーブルの先頭アドレスと、前記下位Jビットと前記上位Iビットに続く下位ビットの最大値Mに対応して定まるアドレスシフト量J−Mを含む出力値
前記第1出力ステップにおいて、当該種類別テーブルの先頭アドレスを含む前記出力値を出力する際には、当該種類別テーブルには、前記アドレスシフト量J−Mをシフトしたものがアドレスとして入力されることを特徴とする。
本発明によれば、多数の分岐処理を行うことなく、ルックアップテーブルのサイズをビットストリーム直接入力型のルックアップテーブルのサイズよりも小さくすることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる可変長符号化装置および可変長符号の復号方法の実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかる可変長符号の復号方法を実施する動画像データ復号化装置の機能構成を示すブロック図である。同図に示すように、この動画像データ復号化装置100は、可変長符号復号化部410と、逆スキャン部420と、逆量子化部430と、逆DCT(Discrete Cosine)部440と、動き補償部500とを備えている。なお、かかる動画像データ復号化装置100は、プロセッサ、例えば上記特許文献1に開示されているようなプロセッサにプログラムを実行させることでソフトウェアによる実現することができるが、ハードウェア装置として構成するようにしてもよい。
本実施の形態における動画像データ復号化装置100は、MPEG−2形式で圧縮符号された動画像データを復号する装置であり、以下当該動画像データ復号化装置100の説明に先立ち、MPEG−2形式のデータ構成について説明し、その後当該動画像データ復号化装置100について説明する。
図2は、MPEG−2形式の動画像データのフォーマットを示す図である。同図に示すように、MPEG2−形式で圧縮符号化されたデータは、シーケンス層、GOP(Group Of Picture)層、ピクチャ層、スライス層、マクロブロック層およびブロック層からなる階層構造となっている。
シーケンス層は、ビデオクリップの1単位である。ランダムアクセスを可能とするために複数のGOPに分割することも可能である。GOPの先頭にある“SH”とは、“シーケンスヘッダ”である。GOP層は、ランダムアクセスの1単位であり、複数のピクチャを含む。ピクチャ層は、1画面を構成する単位であり、その中は複数のスライスに分割されている。
スライス層は、複数のMB(マクロブロック)で構成される、最小の同期回復単位である。MPEG−2では、ピクチャ内でスライスごとの依存関係が無いようにしているため、それぞれ独立に復号可能となっている。マクロブロック層は、複数のブロックで構成され、4:2:0フォーマットの場合は、図2に示すようにY成分が4ブロック、Cr,Cb成分がそれぞれ1ブロックとなる。また、4:2:2フォーマットや4:4:4フォーマットの場合は、Cb,Cr成分がそれぞれ2ブロックおよび4ブロックとなる。ブロック層は、8×8画素で構成されDCT係数符号化の単位となる。
以上がMPEG−2形式のデータフォーマットであり、MPEG−2形式における符号化/復号化処理は、MB単位で行なわれている。図3は、MBの符号化データ構造の概略図である。同図に示すように、MBには、ピクチャ内でのMBの相対位置を表す「MBアドレス」と、MBの符号化モード情報を表す「モード情報」と、DCT係数の量子化ステップサイズを表す「量子化スケール」と、動きベクトル情報を表す「動きベクトル情報」と、ブロックが符号化されているか否かを表す「CBP(Coded Block Pattern)情報」と、量子化されたDCT係数の情報を表す「DCT係数情報」とが含まれる。ここで、「量子化スケール」のみが固定長符号化され、その他の情報は可変長符号化される。
以上がMPEG−2形式の動画像データの構成であり、動画像データ復号化装置100には当該構成のデータが供給される。そして、動画像データ復号化装置100は、供給されたMPEG−2形式の動画像データを復号し、動画像を再生する。
より具体的には、可変長符号復号化部410には、可変長符号化されたDCT係数を表す可変長符号が供給される。可変長符号復号化部410は、かかる可変長符号を復号し、量子化されたDCT係数の1次元配列QFS[n]を出力する。かかる可変長符号復号化部410によって復号出力されたQFS[n]は、逆スキャン部420にて8×8の2次元配列QF[v][u]に並べ替えられる。QF[v][u]は、逆量子化部430にてDCT係数F[v][u]に復元される。F[v][u]は、逆DCT部440にて、MC残差f[y][x]に復元される。f[y][x]は、動き補償部500にて動き補償予測値が加算され、再生画素値d[y][x]が復元される。
以上が動画像データ復号化装置100の全体構成であり、次に可変長符号復号化部410について図4を参照しながら詳細に説明する。同図に示すように、可変長符号復号化部410は、未復号ビットストリーム切出部210と、第1のルックアップテーブル220と、第2のルックアップテーブル230と、選択部240とを備えている。可変長符号復号化部410は、MPEG−2形式にしたがって可変長符号化されたDCT係数(DCT係数符号)を可変長復号するものであり、その説明に先立ち、MPEG−2形式にしたがって符号化されたDCT係数を復号するために用いる可変長符号表について説明する。
図5および図6は、MPEG−2におけるDCT係数情報の可変長符号表を要約した図である。この可変長符号表は大きく分けて「Table One」と「Table Zero」の2種類有り、図5は「Table One」を、図6は「Table Zero」を表記したものである。図6は特殊な可変長符号表であり、「intra_vlc_format」が選択された場合に、該ブロックがイントラ(intra)符号化されているときのみ使用される。図5は、「Table Zero」が使用される条件以外あるいはMPEG−1を復号するときに使用される。
「Table One」は更に2種類に分類され、該ブロックを復号する際の最初のDCT係数(以後、First Coefと記す)に対して使用する場合と、それ以外(以後、Othersと記す)に使用する場合とで、シンボル値(Run, Level)=(0, 1)の符号語が異なる。なお、図5および図6において、"s"は、Level値の符号を表すものであり、"s"が0の時正符号であり、"s"が1の時負符号である。また、図5および図6の"EOB"および"ESC"は、それぞれ"End Of Block"符号と"Escape"符号を表す。
図5および図6に示すように、"s"を除くと、DCT係数の符号語長の最大値は16ビットである。ここで、DCT係数の符号語16ビットをまとめて入力する「ビットストリーム直接入力型」のルックアップテーブルを構成すると、ルックアップテーブルのエントリー数(アドレスの数)は216個必要となる。上述した特許文献1に開示されているプロセッサでは、16ビットをまとめて処理すると分岐が発生しないため高速に処理できるが、ルックアップテーブルのサイズが大きくなりすぎるため、ローカルメモリにテーブルを格納することが困難となる。
そこで、本実施の形態では、図4に示すように、16ビットのビットストリームを上位8ビットと下位8ビットに分割して各々「ビットストリーム直接入力型」のルックアップテーブルにて復号処理する構成を採用し、これにより高速かつ省メモリの可変長復号が可能としている。以下、このような可変長符号復号化部410の構成についてより具体的に説明する。
図4に示す未復号ビットストリーム切出部210は、図示せぬビットストリームバッファから供給されるビットストリームを取得し、未復号のビットストリームを、16ビット切出し線120を介して出力する。すなわち、MPEG−2形式のDCT係数の可変長符号の最大符号語長は16ビットであり、未復号ビットストリーム切出部210は、復号対象となる可変長符号がとり得る最大符号語長と同じビット数のビットストリームを切出す。なお、未復号の先頭部分は、後述する選択部240から供給される符号語長を示す情報に基づいて判断する。
上記のように未復号ビットストリーム切出部210によって切出された16ビットのうち、上位8ビットは第1のルックアップテーブル220に出力される。一方、下位8ビットは第2のルックアップテーブルに出力される。
第1のルックアップテーブル220は、ビットストリーム直接入力型のルックアップテーブルであり、上記のように未復号ビットストリーム切出部210によって切出されたビットストリームのうち、上位8ビットがアドレスとして入力される。そして、第1のルックアップテーブル220は、かかる上位8ビットであるアドレスに対応するデータを選択部240に出力する。
ここで、第1のルックアップテーブル220は、入力されるアドレスに応じて以下の2種類の出力値を出力する構成となっている。
(1)第1のルックアップテーブル220で復号処理が終了することを示すフラグと、シンボル値とを含む出力値(図7参照)
(2)第1のルックアップテーブル230で復号処理が終了しないことを示すフラグと、第2のルックアップテーブル230において参照すべき先頭アドレスとを含む出力値(図8参照)
図7に示すように、第1のルックアップテーブル220のデータ出力パターンの1つ目(以下、第1出力パターンという)は、フラグを示す1ビットと、符号語長を示すための4ビットと、シンボル値(Run)を示す5ビットと、シンボル値(Level)を示す6ビットとの合計16ビットで構成される。
フラグは、今回復号対象となっている可変長符号に対する復号処理が、第1のルックアップテーブル220で終了したか否かを示す情報であり、本実施の形態では、第1のルックアップテーブルで復号処理が終了する場合は「1」が、終了しない場合には「0」が付与される。つまり、フラグは「0」か「1」の2値であるため1ビットで表せる。第1の出力パターンは、第1のルックアップテーブル220で復号処理が終了する場合に第1のルックアップテーブルから出力される出力データのパターンであり、図7に示すようにフラグ「1」が付与されている。
符号語長は、復号対象となっている可変長符号の語長であり、例えば図5に示す表の上から4段目の可変長符号が「011s」が復号対象となっている場合には、3ビットが符号語長となり、3ビットを示す情報が符号語長エリアに付与される。MPEG−2形式のDCT係数の可変長符号の最大語長は16ビットであり、第1のルックアップテーブルには上位8ビットが入力されるため、符号語長を示す場合、1〜8といった8種類の情報が表現できればよい。したがって、符号語長を示すエリアとして4ビットが用意されており、これによりビット数を示す情報を表現することができる。
シンボル値(Run)用の5ビットには、入力されたアドレス(可変長符号)に対応するシンボル値(Run)が付与される。上記のように可変長符号「011s」が入力された場合には、それに対応するシンボル値(Run)として「1」を表す情報が付与される(図5参照)。図5および図6に示すように、MPEG−2形式の可変長符号に対応するシンボル値(Run)は0〜31の値をとり得ることになるので、5ビットでこれら32種類の値を表すことができる。したがって、シンボル値(Run)を表すエリアとして5ビットが用意されている。
シンボル値(Level)用の6ビットには、入力されたアドレス(可変長符号)に対応するシンボル値(Level)が付与される。上記のように可変長符号「011s」が入力された場合には、それに対応するシンボル値(Level)として「1」を表す情報が付与される(図5参照)。図5および図6に示すように、MPEG−2形式の可変長符号に対応するシンボル値(Level)は1〜40の値をとり得ることになるので、6ビットでこれら40種類の値を表すことができる。したがって、シンボル値(Level)を表すエリアとして6ビットが用意されている。
なお、図5に示す可変長符号表には「EOB」および「ESC」が含まれているが、例えば、「EOB」は11ビットで表現されるシンボル値(Run、Level)を11ビット全て「1」で表現し、「ESC」は11ビット全て「0」で表現することで判別可能となる。
第1のルックアップテーブル220は、当該第1のルックアップテーブル220で復号処理が終了する場合、つまり復号対象たる可変長符号が8ビット以下の符号である場合、フラグ「1」を含む第1出力パターンのデータを出力するよう構成されている。この場合、符号語長エリア、シンボル値(Run)エリア、およびシンボル値(Level)のエリアには、入力されたアドレス(8ビット以下の可変長符号)に対応する値が付与されることになる。すなわち、第1のルックアップテーブル220では、8ビット以下のアドレス(可変長符号)に対応して、出力すべき上記第1出力パターンのデータが用意されている。
図8に示すように、第1のルックアップテーブル220のデータ出力パターンの2つ目(以下、第2出力パターンという)は、フラグを示す1ビットと、第2のルックアップテーブル230の先頭アドレスを示す15ビットとの合計16ビットで構成される。
ここで、フラグは第1のルックアップテーブル220により復号処理が終了したか否かを示すものであり、第2出力パターンが採用される場合は復号処理が終了していない場合であるから、かかるエリアには、復号処理が終了していないことを示すフラグ「0」が付与される。
第2のルックアップテーブル230の先頭アドレスエリア(15ビット)には、第2のルックアップテーブル230を利用した復号を行う際に、利用すべきテーブルの先頭アドレスを示す情報が付与される。かかる先頭アドレスについての詳細は後述する。
第1のルックアップテーブル220は、当該第1のルックアップテーブル220で復号処理が終了しない場合、つまり復号対象たる可変長符号が9ビット以上の符号である場合、フラグ「0」を含む第2出力パターンのデータを出力するよう構成されている。この場合、第2のルックアップテーブル230の先頭アドレスには、入力されたアドレス(9ビット以上の可変長符号のうちの上位8ビット)に対応する先頭アドレス情報が付与される。すなわち、第1のルックアップテーブル220では、入力アドレス(9ビット以上の可変長符号のうちの上位8ビット)に対応して、出力すべき上記第2出力パターンのデータが用意されている。
第2のルックアップテーブル230は、ビットストリーム直接入力型のルックアップテーブルであり、上記のように未復号ビットストリーム切出部210によって切出されたビットストリームのうち、下位8ビットがアドレスとして入力される。そして、上記第1のルックアップテーブル220による復号処理が終了していない場合、第2のルックアップテーブル230は、入力されるアドレス(下位8ビット)に対応するデータを選択部240に出力する。
第2のルックアップテーブル230は、上記第1の出力パターンのデータを出力する構成となっており、第2出力パターンのデータは出力しないようになっている。
つまり、第2のルックアップテーブル230から出力されるデータは、図7に示すように、フラグを示す1ビットと、符号語長を示すための4ビットと、シンボル値(Run)を示す5ビットと、シンボル値(Level)を示す6ビットとの合計16ビットで構成される。なお、第2のルックアップテーブル230から出力されるフラグを示す情報は選択部240等により利用されることはないので、フラグは「0」、「1」のいずれであってもよい。すなわち、フラグは、第1のルックアップテーブル220により復号が終了したか否かを示す情報であり、終了していない場合には第2のルックアップテーブル230を利用するといった意図で用いられる情報である。したがって、第2のルックアップテーブル230から当該情報を出力する必要はないのである。
ここで、本実施の形態におけるルックアップテーブルの構成例を図9に示す。同図に示すように、本実施の形態では、第2のルックアップテーブル230は、4種類のルックアップテーブルから構成されている。なお、4種類のルックアップテーブルは図面上LUT2と表記する。また、LUT1は第1のルックアップテーブル230を示す。
すなわち、第2のルックアップテーブル230は、(0x00)用のテーブル、(0x01)用テーブル、(0x02)用テーブルおよび(0x03)用テーブルといった4種類のテーブルから構成されている。(0x00)用テーブルは、第2のルックアップテーブル230に入力された下位8ビットに対応する上位8ビット、つまり復号対象となっている可変長符号の上位8ビットが(0x00)であった場合に、利用されるテーブルである。同様に、(0x01)用テーブルは上位8ビットが(0x01)であった場合に利用されるテーブルであり、(0x03)用テーブルは上位8ビットが(0x03)であった場合に利用されるテーブルであり、(0x04)用テーブルは上位8ビットが(0x03)であった場合に利用されるテーブルである。
なお、(0x00)等はビット値を16進数で表したものである。また、第1のルックアップテーブル220および第2のルックアップテーブル230(4種類のテーブル)は、(Table One First Coef)用、(Table One Others)用および(Table Zero)用の各々について用意されている。これら3種類のルックアップテーブルはデータ構造やサイズが全く同じため、以下では「Table One "First Coef」用について説明を行なう。
DCT係数情報に対するルックアップテーブルは、第1のルックアップテーブル(LUT1)220と第2のルックアップテーブル(LUT2)230(4種類)とで構成される。図9中の長方形の縦方向がLUTの各アドレスを示し、横方向が各アドレスに対するデータサイズを示す。本実施の形態のDCT係数情報のルックアップテーブルでは、第1のルックアップテーブル220と第2のルックアップテーブル230(4種類)共に、8ビットで表現されるアドレスを入力とする構成であるため、それぞれ28個のアドレス数を持つ。なお、ビットストリームをそのままアドレス値とみなしたものは、テーブルの先頭アドレスからの相対アドレスである。
このように9ビット以上の可変長符号がとり得る上位8ビットの4種類ごとに種類別のテーブルが用意されているのは次のような理由による。図5および図6に示すように、MPEG−2形式のDCT係数を表す9ビット以上の可変長符号がとり得る上位8ビットは、(0x00)、(0x01)、(0x02)、(0x03)の4種類しかない。つまり、第2のルックアップテーブル230を利用して復号する必要がある9ビット以上の可変長符号の上位8ビットがとり得る値は4種類しかなく、上位8ビットがとり得る値ごとにテーブルを設け、上位8ビットの値に応じたテーブルを利用することとしたのである。
このように4種類のテーブルが用意されているので、第1のルックアップテーブル220から出力される第2出力パターン(図8参照)中の「第2のルックアップテーブルの先頭アドレス」には、第1のルックアップテーブル220に入力された上位8ビットに対応するテーブルの先頭アドレスを示す情報が付与される。例えば、第1のルックアップテーブル220に入力された上位8ビットが(0x01)であった場合には、(0x01)用テーブルの先頭アドレスを示す情報が第1のルックアップテーブル220の出力データに含まれることになる。
そして、第2のルックアップテーブル230は、可変長符号の下位8ビットがアドレスとして入力されると、上記のように第1のルックアップテーブル220によって指定された先頭アドレスを利用し、入力アドレスに対応するデータ(図7参照)を出力する。
図7に示される第2のルックアップテーブル230からの出力データ中の「符号語長」には、復号対象となっている可変長符号の語長を示す情報が付与される。例えば、図5に示す表の下から2段目(中略除く)の可変長符号(下位ビット「0010000s」)が復号対象となっている場合には、15(7+上位8ビット分)ビットが符号語長となり、15ビットを示す情報が符号語長エリアに付与される。
シンボル値(Run)用の5ビットには、入力されたアドレス(可変長符号の下位8ビット)に対応するシンボル値(Run)が付与される。上記のように可変長符号の下位8ビット「0010000s」が入力された場合には、それに対応するシンボル値(Run)として「0」を表す情報が付与される(図5参照)。
シンボル値(Level)用の6ビットには、入力されたアドレス(可変長符号の下位ビット)に対応するシンボル値(Level)が付与される。上記のように可変長符号の下位8ビット「0010000s」が入力された場合には、それに対応するシンボル値(Level)として「40」を表す情報が付与される(図5参照)。
以上のように第2のルックアップテーブル230は、第1のルックアップテーブル220で復号処理が終了しない場合、つまり復号対象たる可変長符号が9ビット以上の符号である場合に利用され、かかる9ビット以上の可変長符号に対応するシンボル値(Run)およびシンボル値(Level)を含むデータを出力するよう構成されている。
選択部240は、第1のルックアップテーブル220からデータが供給されると、かかるデータ中のフラグを確認する。フラグが「1」、つまり第1のルックアップテーブル220で復号処理が終了する場合には、選択部240は、以下の処理を行う。
(a−1)第1のルックアップテーブル220から供給されたデータ中に含まれるシンボル値(Run Level)を復号シンボル値として後段装置に出力する。
(a−2)第1のルックアップテーブル220から供給されるデータ中に含まれる符号語長を示す情報を未復号ビットストリーム切出部210に出力する。
一方、フラグが「0」、つまり第1のルックアップテーブル220で復号処理が終了しない場合には、選択部240は、以下の処理を行う。
(b)第1のルックアップテーブル220から供給されるデータ中の第2のルックアップテーブルの先頭アドレス情報を第2のルックアップテーブルに出力し、第2のルックアップテーブルを利用した復号を行わせる。
また、上記(b)の処理を行った場合には、第2のルックアップテーブル230による復号処理が行われ、選択部240には第2のルックアップテーブル230からデータが供給される。選択部240は、第2のルックアップテーブル230からデータが供給された場合には、以下の処理を行う。
(c−1)第2のルックアップテーブル230から供給されたデータ中に含まれるシンボル値(Run Level)を復号シンボル値として後段装置に出力する。
(c−2)第2のルックアップテーブル220から供給されるデータ中に含まれる符号語長を示す情報を未復号ビットストリーム切出部210に出力する。
以上が本実施の形態における可変長符号復号化部410の構成であり、以下、当該可変長符号復号化部410による復号化処理の流れについて図10を参照しながら説明する。まず、未復号のビットストリームが最大符号語長分(16ビット分)切出され、取得される(ステップSa1)。かかる未復号の先頭部分は、選択部240から供給される直前に復号した符号語の符号語長を示す情報に基づいて判断される。つまり、前回の切出しの先頭から符号語長分だけ後の部分が未復号部分の先頭ビットと判断され、かかる先頭ビットから16ビットが切出され、取得される。
切出された16ビットのうちの上位8ビットは第1のルックアップテーブル220に供給され、下位8ビットが第2のルックアップテーブル230に供給される。そして、第1のルックアップテーブル220は、入力される上位8ビットをアドレスとし、当該アドレスに対応するデータを選択部240に出力する(ステップSa2)。
第1のルックアップテーブル220からのデータを受けた選択部240は、かかるデータに含まれるフラグを参照し、第1のルックアップテーブル220で復号処理が終了するか否かを判別する(ステップSa3)。
上述したように復号対象となっている可変長符号が8ビット以下の可変長符号であれば、第1のルックアップテーブル220からは、復号終了を示すフラグと復号シンボル値とを含むデータ(図7参照)が出力される。かかる場合には、選択部240は、復号が終了したと判断し、第1のルックアップテーブル220から供給されたデータ中のシンボル値を復号シンボルとして後段の装置に出力する(ステップSa4)。
一方、復号対象となっている可変長符号が9ビット以上の可変長符号であれば、第1のルックアップテーブル220からは、復号が終了していないことを示すフラグと第2のルックアップテーブル230の先頭アドレスとを含むデータが選択部240に出力される。この場合には、選択部240は、復号が終了していないと判断し、当該先頭アドレスを含む情報を第2のルックアップテーブル230に供給する(ステップSa5)。
先頭アドレス情報の供給を受けた第2のルックアップテーブル230では、入力される下位8ビットをアドレスとして、当該アドレスに対応するデータ(図7参照)を選択部240に出力する(ステップSa6)。上述したように第2のルックアップテーブル230から出力されるデータには、第1のルックアップテーブル220に供給された上位8ビットと、当該第2のルックアップテーブル230に供給された下位ビットとから構成される9ビット以上の可変長符号に対応するシンボル値が含まれている。
選択部240は、第2のルックアップテーブル230から供給されるデータ中に含まれる9ビット以上の可変長符号に対応するシンボル値を、復号シンボル値として後段の装置に出力する(ステップSa7)。
以上のように第1のルックアップテーブル220の出力データまたは第2のルックアップテーブル230の出力データのいずれかに含まれるシンボル値を復号シンボル値として出力すると、すべてのビットストリームに対する復号が終了したか否かを判別し(ステップSa8)、すべての復号が終了した場合には復号処理を終了する。
一方、すべてのビットストリームに対する復号処理が終了していない場合、選択部240は、シンボル値を抽出したデータに含まれる符号語長を示す情報を未復号ビットストリーム切出部210に通知する(ステップSa9)。この通知を受けた未復号ビットストリーム切出部210は、かかる符号語長分だけビットストリーム切出し先頭位置をずらし、その位置から最大符号語長(16ビット)分のデータの切出しを行い(ステップSa1)、以降上記と同様の処理(ステップSa2以降の処理)が繰り返される。
以上説明したように本実施の形態では、最大符号語長ビットのうち、上位8ビットを第1のルックアップテーブル220にアドレスとして入力するとともに、下位8ビットを第2のルックアップテーブル230にアドレスとして入力し、可変長符号の復号を行うようにしている。これにより、16ビットを直接入力するビットストリーム直接入力型テーブルを用いることなく、最大16ビットの符号語長の可変長符号の復号を行うことができ、復号用のテーブルとして保持しておくデータ量を低減することができる。
例えば、図9に示したようなテーブル構成を採用することができる。そして、上述したように本実施形態の各テーブルは、8ビットで表現されるアドレスを入力とするため、それぞれ28個のアドレス数を持つことになる。したがって、保持しておくテーブルのサイズは、2560バイト(Table One First Coef用)となる。そして、(Table One Others)用テーブルおよび(Table Zero)用テーブルを含めた3つのテーブルの合計は7680バイトとなり、データ量が削減できることがわかる。
このように保持しておくテーブルサイズを小さくすることができるので、特許文献1に開示されているプロセッサなど、高速処理が可能なプロセッサを利用して動画像データの復号を高速で行うことができる。すなわち、プロセッサは処理速度が高速であるほどローカルメモリの容量が小さくなるという制約があるが、上記のようにテーブルサイズを小さくすることが可能となることで、比較的容量の小さいローカルメモリを有する高速プロセッサを利用することができるのである。
また、このようにテーブルサイズが小さくできる一方で、本実施の形態によれば、上記可変長符号復号化部410の復号処理過程において行われる分岐処理が1回だけとなる。つまり、第1のルックアップテーブル220の出力データ中のフラグが「1」、「0」のいずれであるかによって、第1のルックアップテーブルのみで復号処理を終了するか、第2のルックアップテーブルを利用して復号処理を行うかを切り換える処理の1回だけである。したがって、比較や分岐処理が多くならず、演算負荷を抑えることができる。
すなわち、本実施の形態によれば、上記のように復号処理のために保持しておくテーブルのサイズを小さくすることができる一方で、演算負担が大きくなってしまうことを抑制することができるのである。
(第2の実施の形態)
次に、本発明の第2の実施の形態にかかる可変長符号の復号方法を実施する可変長符号復号化装置について説明する。第2の実施の形態における可変長符号復号化装置の構成は上記第1の実施の形態における可変長符号復号化部410の構成と同様であり(図1参照)、具体的なルックアップテーブルの構成が上記第1の実施の形態(図9参照)と相違している。以下、第2の実施の形態におけるルックアップテーブルの構成について説明する。
図11に第2の実施の形態におけるDCT係数情報に対するルックアップテーブルの構成を示す。上述したようにDCT係数情報の可変長符号表における「Table One」は、シンボル値(Run, Level)=(0, 1)の符号語が異なる。これは、第1のルックアップテーブルが異なるだけであるため、「Table One」に関しては、テーブルの構成を「First Coef」用と「Others」用2種類からなる第1のルックアップテーブル220’と、4種類のテーブルからなる第2のルックアップテーブル230とで構成する。
すなわち、上記第1の実施の形態では、「Table One」用のテーブルとして、「Table One First Coef」用と「Table One Others」用といった2種類のテーブルがあり、それぞれに第2のルックアップテーブルが含まれていた。これに対し、本実施の形態では、「First Coef」と「Others」で相違する第1のルックアップテーブルのみを個別に用意する一方で、第2のルックアップテーブル(4種類のテーブルから構成される)については「Table One」用1つのみを設けた構成となっている。
そして、第1のルックアップテーブルによる復号処理を行う場合において、最初のシンボルを復号する時には、アドレスの先頭を「First Coef」用の先頭アドレスを用い、2つめ以降のシンボルを復号する時には、アドレスの先頭を「Others」用の先頭アドレスに置き換えるといった切り換え処理を行うことで、上記第1の実施の形態と同様、可変長符号を復号することができる。
ルックアップテーブルのデータ構成を以上のようにすることで、「Table One」のテーブルサイズは3072バイトとなり、「Table Zero」用のテーブルを含めてテーブルサイズの合計は5632バイトとなる。つまり、上記第1の実施の形態におけるテーブルサイズよりもさらに2048(=7680−5632)バイト小さくすることができる。
(第3の実施の形態)
次に、本発明の第3の実施の形態にかかる可変長符号の復号方法を実施する可変長符号復号化装置について説明する。第2の実施の形態における可変長符号復号化装置の構成は上記第1の実施の形態における可変長符号復号化部410の構成と同様であり(図4参照)、具体的なルックアップテーブルの構成が上記第1の実施の形態および第2の実施の形態(図9参照、図11参照)と相違している。また、第1のルックアップテーブルから出力されるデータの2種類のパターンのうち(図7、図8参照)、第2出力パターンと異なる出力パターンのデータが出力されるようになっている点で上記第1の実施の形態と相違している。以下、相違点を中心に説明する。
本実施の形態では、第1のルックアップテーブルから2種類のパターンのデータが出力される点は上記第1の実施の形態と同様であり、その1つが上記第1の出力パターンと同様である(図7参照)。しかしながら、もう一つの出力パターンが上記第1の実施の形態における第2出力パターン(図8参照)と相違しており、図12に示すようなパターンのデータが出力されるようになっている。
同図に示すように、この出力パターンは、フラグを示す1ビットと、第2のルックアップテーブル230の先頭アドレスを示す12ビットと、アドレス計算シフト量を示す3ビットとの合計16ビットで構成される。
すなわち、第1の実施の形態における第2出力パターンに加え、アドレス計算シフト量を示す情報が加えられたデータが第1のルックアップテーブルから出力される。なお、かかる出力パターンは、第1の実施の形態と同様、復号対象となる可変長符号が9ビット以上である場合であり、フラグ「0」が付与されている。
以下、このようなアドレス計算シフト量の意義について説明する。図5に示すように、9ビット以上の可変長符号のプレフィックス(上位8ビット)4種類のうち(0x02)(0x03)に対応するサフィックス(下位8ビット)は2ビット以下であり、プレフィックス(0x01)に対応するサフィックスは4ビット以下であり、プレフィックス(0x00)に対応するサフィックスは8ビット以下である。
第1の実施の形態では、第2のルックアップテーブルの4種類のテーブルの入力が8ビットで表現されるアドレスであるため、とり得るサフィックスが4ビット以下であるプレフィックス(0x01)(0x02)(0x03)に対しても8ビット分のテーブルサイズが必要であった。
そこで、本実施の形態では、テーブルサイズをさらに削減するために、図12に示すように、復号処理が終了しない場合に第1のルックアップテーブルから出力されるデータの構成を、フラグとアドレス計算用のシフト量を表すデータと第2のルックアップテーブルの先頭位置を指し示す先頭アドレス情報とで構成することにしている。
ここで、アドレス計算用のシフト量を表すデータは、第2のルックアップテーブルに入力される8ビットのデータを右へビットシフトするためのシフト量を示すデータである。つまり、第2のルックアップテーブルにおけるプレフィックス(0x02)用のテーブルおよび(0x03)用のテーブルのサフィックスのとり得るビット数は2ビット以下であるので、これらのテーブルに対しては2ビットのアドレスを入力すれば対応シンボル値を得えることができる。したがって、これらのテーブルに入力するアドレスを、8ビットのデータを右に6ビットシフトしたものとし、これによりテーブルのアドレス数を2ビット分とする。
すなわち、図13に示すように、第2のルックアップテーブル230’におけるプレフィックス(0x02)用のテーブルおよび(0x03)用のテーブルを2ビット分のテーブルサイズに削減することが可能となる。このようにテーブルサイズを削減するには、上記のように入力データのビットをシフトする必要がある。したがって、プレフィックス(0x02)用のテーブルまたは(0x03)用のテーブルの先頭アドレスを含むデータが第1のルックアップテーブル220’から出力される場合、その出力データにおける「アドレス計算シフト量」には、入力データのビットを右にシフトする量である「6ビット」が含まれることになる。
同様に、プレフィックス(0x01)用のテーブルに入力するアドレスを、8ビットのデータを右に4ビットシフトしたものとすることで、当該テーブルのアドレス数を4ビット分とすることができる。したがって、図13に示すように、プレフィックス(0x01)用のテーブルを4ビット分のテーブルサイズに削減することが可能となる。このプレフィックス(0x01)用のテーブルを先頭アドレスとする第1のルックアップテーブル220’の出力データの「アドレス計算シフト量」には、シフト量「4ビット」が含まれることになる。
なお、プレフィックス(0x00)等のテーブルのサフィックスのとり得るビット数は8ビット以下であるので、かかるテーブルのアドレス数は8ビット未満に削減することはできない。したがって、かかるテーブルの先頭アドレスを含むデータが第1のルックアップテーブルから出力される場合、その出力データにおける「アドレス計算シフト量」には、「0ビット」が含まれることになる。このようにしておくことで、第2のルックアップテーブル用のアドレス計算時にシフト演算が一回増えるだけなので可変長復号処理全体に与える処理量の増加はわずかである。
本実施の形態では、上述したようにルックアップテーブルのサイズを削減することができる。例えば図13に示す構成とした場合には、「Table One」のサイズは1584バイト、「Table Zero」のサイズは1072バイトとなり、テーブルサイズの合計は2656バイトとなる。すなわち、第2の実施の形態におけるテーブルサイズよりも、よりもさらに1976(=5632−2656)バイト小さくすることができる。
また、本実施の形態では、第2の実施の形態におけるテーブル構成(図11参照)のデータ量をさらに削減する構成について説明したが、図9に示された第1の実施形態におけるルックアップテーブルの構成のデータ量をさらに削減する構成としてもよい。
(変形例)
なお、本発明は、上述した実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
(変形例1)
上述した各実施の形態では、MPEG−2形式のDCT係数情報の可変長符号を復号する場合に本発明を適用した場合について説明したが、他の情報の可変長符号を復号する場合にも本発明を適用することができる。また、MPEG−2以外の形式であっても、可変長符号を含むデータを復号する装置、例えばMPEG−1やMPEG−4形式のデータ等を復号する装置であれば本発明を適用することができる。
(変形例2)
また、上述した各実施の形態では、16ビットの入力に対して上位8ビットと下位8ビットに分割し、これらを第1のルックアップテーブルおよび第2のルックアップテーブルに入力するようにしているが、ビットの分割の方法は任意であり、最大符号語長Nビットの入力に対して上位Iビットと下位Jビットに分割するといったことが可能である。ここで、「N=I+J」である。
また、上記のように第1のルックアップテーブルと第2のルックアップテーブルといったように2つのテーブルに2分割したビットをそれぞれ入力する構成に限らず、3つ以上にビットを分割し、分割した各々のビットを当該分割数に応じて設けられたテーブルに入力するようにしてもよい。
例えば、最大符号語長が24ビットの可変長符号を復号する場合であれば、上位8ビット、中位8ビットおよび下位8ビットといったように3つのビットグループに分割し、各々のビットグループを、それぞれのビットグループに対応して設けられたルックアップテーブルA、ルックアップテーブルBおよびルックアップテーブルCに入力するようにすればよい。
ここで、最下位ビットを含むビットグループ以外のビットグループに対応するルックアップテーブルA、Bは上述した各実施の形態における第1のルックアップテーブルと同様、入力されるアドレスに応じて第1出力パターンまたは第2出力パターンのデータを出力する。すなわち、そのルックアップテーブルで復号処理が終了すれば第1出力パターンのデータを出力し、そのルックアップテーブルで復号処理が終了しない場合には次のテーブルでの復号処理を行わせるべく第2出力パターンのデータを出力する。
一方、最下位ビットを含むビットグループに対応するルックアップテーブルCは、上記各実施の形態における第2のルックアップテーブルと同様、第1出力パターンのデータのみを出力する構成とする。このようにすることで、上記各実施の形態と同様、保持しておくテーブルのサイズを削減することができるとともに、分岐処理の回数の増加も抑制することができる。例えば、上記のように3つのビットグループに分割し、それぞれに対応する3つのルックアップテーブルを設ける構成とすれば、分岐処理はルックアップテーブルBを復号に用いるか否か、およびルックアップテーブルCを復号に用いるか否かの2回だけであり、処理負担の増加を抑制することができる。
以上のように、本発明にかかる可変長符号復号化装置および方法は、MPEG−2形式など可変長符号を復号する動画像データ復号装置などに有用である。
本発明の第1の実施の形態にかかる動画像復号化処理装置の構成を示す図である。 前記ビデオレコーダに入力されるMPEG−2形式のデータ構成を示す図である。 前記MPEG−2形式のデータに含まれるMBのデータ構成を示す図である。 前記動画像データ処理装置の構成要素である可変長符号復号化部の構成を示す図である。 前記MPEG−2形式におけるDCT係数の可変長符号表を示す図である。 前記MPEG−2形式におけるDCT係数の可変長符号表を示す図である。 前記可変長符号復号化部の第1のルックアップテーブルから出力されるデータの構成を示す図である。 前記第1のルックアップテーブルから出力されるデータの構成を示す図である。 前記可変長符号復号化部のルックアップテーブルの構成を示す図である。 前記可変長符号復号化部による可変長復号処理の手順を示すフローチャートである。 本発明の第2の実施の形態における可変長符号復号化部のルックアップテーブルの構成を示す図である。 本発明の第3の実施の形態における可変長符号復号化部の第1のルックアップテーブルから出力されるデータの構成を示す図である。 第3の実施の形態における可変長符号復号化部のルックアップテーブルの構成を示す図である。 MPEG−2形式等の符号化されたデータを復号するためのプロセッサユニットの構成例を示す図である。 前記プロセッサユニットのローカルメモリのデータ構成を示す図である。
符号の説明
100 動画像データ復号化装置
210 未復号ビットストリーム切出部
220 第1のルックアップテーブル
230 第2のルックアップテーブル
240 選択部
410 可変長符号復号化部
420 逆スキャン部
430 逆量子化部
440 逆DCT部
500 動き補償部

Claims (4)

  1. MPEG(Moving Pictures Experts Group)−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化装置であって、
    未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出手段と、
    「First Coef」用と「Others」用の2種類のテーブルを有し、前記切出手段によって切出されたNビットのうち、上位Iビット(IはNより小さい自然数)がアドレスとして入力される第1のルックアップテーブルと、
    前記「First Coef」用と前記「Others」用とで共用される1つのテーブルを有し、前記切出手段によって切出されたNビットのうち、下位Jビット(J=N−I)がアドレスとして入力される第2のルックアップテーブルと、
    前記第1のルックアップテーブルの出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択手段とを具備し、
    前記第1のルックアップテーブルは、入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力する
    ことを特徴とする可変長符号復号化装置。
  2. MPEG−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化装置であって、
    未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出手段と、
    前記切出手段によって切出されたNビットのうち、上位Iビット(IはNより小さい自然数)がアドレスとして入力され、入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力する第1のルックアップテーブルと、
    前記切出手段によって切出されたNビットのうち、下位Jビット(J=N−I)がアドレスとして入力される第2のルックアップテーブルと、
    前記第1のルックアップテーブルの出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択手段とを具備し、
    前記第2のルックアップテーブルは、前記Iビットよりも大きいビット数の符号語がとり得る上位Iビットの種類の各々に対応する種類別テーブルを有しており、
    前記種類別テーブルは、対応する種類の前記上位Iビットに続く下位ビットの数の最大値がMである場合(MはJ以下の自然数)、Mビット分のアドレスを有し、
    前記第1のルックアップテーブルは、入力されるアドレスに基づいて、以下の2種類の出力値を出力し、
    (1)前記第1のルックアップテーブルで復号処理が終了することを示すフラグと、シンボル値とを含む出力値
    (2)前記第1のルックアップテーブルで復号処理が終了しないことを示すフラグと、第2のルックアップテーブルにおいて利用すべき前記種類別テーブルの先頭アドレスと、前記下位Jビットと前記上位Iビットに続く下位ビットの最大値Mに対応して定まるアドレスシフト量J−Mを含む出力値
    前記第1のルックアップテーブルが当該種類別テーブルの先頭アドレスを含む前記出力値を出力する際には、当該種類別テーブルには、前記アドレスシフト量J−Mをシフトしたものがアドレスとして入力される
    ことを特徴とする可変長符号復号化装置。
  3. MPEG(Moving Pictures Experts Group)−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化方法であって、
    未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出ステップと、
    前記切出ステップで切出されたNビットのうち、上位Iビット(IはNより小さい自然数)を、「First Coef」用と「Others」用の2種類のテーブルを有する第1のルックアップテーブルに、アドレスとして入力する第1入力ステップと、
    前記切出ステップで切出されたNビットのうち、下位Jビット(J=N−I)を、前記「First Coef」用と前記「Others」用とで共用される1つのテーブルを有する第2のルックアップテーブルに、アドレスとして入力する第2入力ステップと、
    前記第1のルックアップテーブルの出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択ステップとを具備し、
    前記第2入力ステップは、前記第1入力ステップにおいて入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を前記第2ルックアップテーブルに入力する
    ことを特徴とする可変長符号復号化方法。
  4. MPEG−1またはMPEG−2規格にしたがって符号化されたビットストリームに含まれるDCT係数情報の可変長符号をシンボル値に復号する可変長符号復号化方法であって、
    未復号のビットストリームの先頭から、前記可変長符号の最大符号語長Nビット(Nは2以上の自然数)を切り出す切出ステップと、
    前記切出ステップで切出されたNビットのうち、上位Iビット(IはNより小さい自然数)をアドレスとして第1ルックアップテーブルに入力する第1入力ステップと、
    前記第1入力ステップで前記第1ルックアップテーブルに入力されるアドレスに基づいて前記第1のルックアップテーブルで復号処理が終了したか否かを示すフラグを含む値を出力する第1出力ステップと、
    前記切出ステップで切出されたNビットのうち、下位Jビット(J=N−I)をアドレスとして第2ルックアップテーブルに入力する第2入力ステップと、
    前記第1出力ステップにおける出力値に基づいて、前記第1のルックアップテーブルで復号処理が終了したか否かを判断し、終了した場合には当該第1のルックアップテーブルの出力値をシンボル値として出力する一方で、終了しない場合には前記第2のルックアップテーブルを利用して復号を行わせる選択ステップとを具備し、
    前記第2のルックアップテーブルは、前記Iビットよりも大きいビット数の符号語がとり得る上位Iビットの種類の各々に対応する種類別テーブルを有しており、
    前記種類別テーブルは、対応する種類の前記上位Iビットに続く下位ビットの数の最大値がMである場合(MはJ以下の自然数)、Mビット分のアドレスを有し、
    前記第1出力ステップは、入力されるアドレスに基づいて、以下の2種類の出力値を出力し、
    (1)前記第1のルックアップテーブルで復号処理が終了することを示すフラグと、シンボル値とを含む出力値
    (2)前記第1のルックアップテーブルで復号処理が終了しないことを示すフラグと、第2のルックアップテーブルにおいて利用すべき前記種類別テーブルの先頭アドレスと、前記下位Jビットと前記上位Iビットに続く下位ビットの最大値Mに対応して定まるアドレスシフト量J−Mを含む出力値
    前記第1出力ステップにおいて、当該種類別テーブルの先頭アドレスを含む前記出力値を出力する際には、当該種類別テーブルには、前記アドレスシフト量J−Mをシフトしたものがアドレスとして入力される
    ことを特徴とする可変長符号復号化方法。
JP2003329954A 2003-09-22 2003-09-22 可変長符号復号化装置および可変長符号復号化方法 Expired - Fee Related JP3720035B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003329954A JP3720035B2 (ja) 2003-09-22 2003-09-22 可変長符号復号化装置および可変長符号復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003329954A JP3720035B2 (ja) 2003-09-22 2003-09-22 可変長符号復号化装置および可変長符号復号化方法

Publications (2)

Publication Number Publication Date
JP2005101731A JP2005101731A (ja) 2005-04-14
JP3720035B2 true JP3720035B2 (ja) 2005-11-24

Family

ID=34459062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003329954A Expired - Fee Related JP3720035B2 (ja) 2003-09-22 2003-09-22 可変長符号復号化装置および可変長符号復号化方法

Country Status (1)

Country Link
JP (1) JP3720035B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8306112B2 (en) 2005-09-20 2012-11-06 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8300694B2 (en) 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
US8300700B2 (en) 2005-09-20 2012-10-30 Mitsubishi Electric Corporation Image encoding method and image decoding method, image encoder and image decoder, and image encoded bit stream and recording medium
CN101931801A (zh) 2005-09-20 2010-12-29 三菱电机株式会社 图像编码方法和图像编码装置以及图像编码比特流
JPWO2007108395A1 (ja) * 2006-03-23 2009-08-06 日本電気株式会社 可変長符号の復号装置および復号方法
JP4829720B2 (ja) * 2006-08-29 2011-12-07 ルネサスエレクトロニクス株式会社 可変長符号復号装置
JP4892639B2 (ja) * 2011-08-03 2012-03-07 ルネサスエレクトロニクス株式会社 可変長符号復号装置

Also Published As

Publication number Publication date
JP2005101731A (ja) 2005-04-14

Similar Documents

Publication Publication Date Title
JP5041626B2 (ja) 復号装置、復号方法、およびプログラム
US8358701B2 (en) Switching decode resolution during video decoding
US9414059B2 (en) Image processing device, image coding method, and image processing method
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
JP5385251B2 (ja) デジタルビデオ符号化処理における可変精度ピクチャ間タイミング指定方法及び装置
US8385427B2 (en) Reduced resolution video decode
US6414608B1 (en) Variable length code decoding device, digital broadcast receiving apparatus, and DVD reproducing apparatus
US20070024474A1 (en) Variable length coding method and variable length decoding method
US20040179610A1 (en) Apparatus and method employing a configurable reference and loop filter for efficient video coding
US9706230B2 (en) Data encoding and decoding
US20140286417A1 (en) Data encoding and decoding
JP2005130099A (ja) 算術復号装置、算術符号化装置、算術符号化・復号装置、携帯端末装置、動画像撮影装置、及び、動画像記録・再生装置
US9723308B2 (en) Image processing apparatus and image processing method
EP1713279A1 (en) Image data decoding apparatus and method
JP4541896B2 (ja) 多重記述符合化のための装置及び方法
US6192188B1 (en) Programmable audio/video encoding system capable of downloading compression software from DVD disk
JP5116704B2 (ja) 画像符号化装置及び画像符号化方法
JP3720035B2 (ja) 可変長符号復号化装置および可変長符号復号化方法
JPWO2008136164A1 (ja) 復号化回路、復号化方法及び画像再生装置
US8300692B2 (en) Moving picture coding method, moving picture decoding method, moving picture coding device, and moving picture decoding device
US6321026B1 (en) Recordable DVD disk with video compression software included in a read-only sector
JP2005094693A (ja) 動画像データ処理装置および動画像データ処理方法
WO2013114826A1 (ja) 画像復号装置
JP3542572B2 (ja) 画像復号方法及び装置
JP2001112002A (ja) 画像サイズ変換可能なデジタル動画像復号装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050906

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

Free format text: PAYMENT UNTIL: 20080916

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090916

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100916

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110916

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees