(57)【特許請求の範囲】
【請求項１】
複数のルックアップテーブルを含む記憶装置を有して、可変長符号によって符号化された複数の符号語を前記記憶装置の利用によってシーケンシャルに復号することが可能である可変長復号装置であって、
前記複数のルックアップテーブルには、前記複数の符号語に対応する複数の復号値と複数の制御情報とが格納可能であり、
前記複数の符号語に含まれる１つの符号語の復号に際して、前記複数のルックアップテーブルから１つのルックアップテーブルが選択され、
前記１つの符号語の前記復号では、前記１つの符号語に応答して、前記１つのルックアップテーブルから前記１つの符号語に対応する１つの復号値と当該１つの復号値に依存する次の復号に使用される次のルックアップテーブルを前記複数のルックアップテーブルから選択する制御情報とが並列に生成されるものである可変長復号装置。
【請求項２】
前記１つの符号語の直後に供給される他の１つの符号語の復号に際して、当該他の１つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値と当該他の１つの復号値に依存するさらに次の復号に使用される他のルックアップテーブルを前記複数のルックアップテーブルから選択する他の制御情報とが並列に生成されるものである請求項１に記載の可変長復号装置。
【請求項３】
前記複数の符号語のそれぞれは、所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行され、
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブルから生成される前記１つの復号値と並列に生成される前記制御情報によって指定されるものである請求項２に記載の可変長復号装置。
【請求項４】
前記複数のルックアップテーブルを含む前記記憶装置は、半導体集積回路に搭載された内蔵メモリである請求項３に記載の可変長復号装置。
【請求項５】
前記内蔵メモリはランダムアクセスメモリであり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている請求項４に記載の可変長復号装置。
【請求項６】
前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである請求項５に記載の可変長復号装置。
【請求項７】
前記シンタックス要素である前記複数の符号語は、動画可変長符号化方式によって生成される量子化変換係数である請求項３に記載の可変長復号装置。
【請求項８】
前記動画可変長符号化方式は、Ｈ．２６４／ＡＶＣのコンテキスト適応型可変長符号化方式であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されており、
前記ラン・ビフォワーの前記複数の符号語に含まれる前記１つの符号語の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記１つのルックアップテーブルがゼロズ・レフトの初期値であるトータル・ゼロズに従って選択され、
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブルから生成され更新後のゼロズ・レフトに対応する前記制御情報によって指定される請求項７に記載の可変長復号装置。
【請求項９】
ビットストリーム処理ユニット、逆量子化ユニット、逆変換ユニット、イントラ予測ユニット、インター予測ユニットを具備するものであり、
前記ビットストリーム処理ユニットは所定の方式によって符号化された動画符号化データのビットストリームから復号データを生成して、前記逆量子化ユニットは前記逆変換ユニットとは前記復号データの逆量子化処理と逆変換処理とをそれぞれ実行して、前記イントラ予測ユニットと前記インター予測ユニットとはイントラ・フレーム予測とインター・フレーム予測とをそれぞれ実行するものであり、
前記ビットストリーム処理ユニットは可変長符号・復号テーブルを含み、当該可変長符号・復号テーブルは、複数のルックアップテーブルを含む記憶装置を有して、前記動画符号化データの前記ビットストリーム中に含まれる複数の符号語を前記記憶装置の利用によってシーケンシャルに復号することが可能である動画復号装置であって、  
前記複数のルックアップテーブルには、前記複数の符号語に対応する複数の復号値と複数の制御情報とが格納可能であり、
前記複数の符号語に含まれる１つの符号語の復号に際して、前記複数のルックアップテーブルから１つのルックアップテーブルが選択され、
前記１つの符号語の前記復号では、前記１つの符号語に応答して、前記１つのルックアップテーブルから前記１つの符号語に対応する１つの復号値と当該１つの復号値に依存する次の復号に使用される次のルックアップテーブルを前記複数のルックアップテーブルから選択する制御情報とが並列に生成されるものである動画復号装置。
【請求項１０】
前記１つの符号語の直後に供給される他の１つの符号語の復号に際して、当該他の１つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値と当該他の１つの復号値に依存するさらに次の復号に使用される他のルックアップテーブルを前記複数のルックアップテーブルから選択する他の制御情報とが並列に生成されるものである請求項９に記載の動画復号装置。
【請求項１１】
前記複数の符号語のそれぞれは所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行され、
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブルから生成される前記１つの復号値と並列に生成される前記制御情報によって指定される請求項１０に記載の動画復号装置。
【請求項１２】
前記複数のルックアップテーブルを含む前記記憶装置は、半導体集積回路に搭載された内蔵メモリである請求項１１に記載の動画復号装置。
【請求項１３】
前記内蔵メモリはランダムアクセスメモリであり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている請求項１２に記載の動画復号装置。
【請求項１４】
前記不揮発性メモリは、前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである請求項１３に記載の動画復号装置。
【請求項１５】
前記シンタックス要素である前記複数の符号語は、動画可変長符号化方式によって生成される量子化変換係数である請求項１１に記載の動画復号装置。
【請求項１６】
前記動画可変長符号化方式は、Ｈ．２６４／ＡＶＣのコンテキスト適応型可変長符号化方式であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されており、
前記ラン・ビフォワーの前記複数の符号語に含まれる前記１つの符号語の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記１つのルックアップテーブルがゼロズ・レフトの初期値であるトータル・ゼロズに従って選択され、
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブルは、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブルから生成され更新後のゼロズ・レフトに対応する前記制御情報によって指定される請求項１５に記載の動画復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可変長復号装置およびそれを用いた動画復号装置に関し、特に高速リアルタイム復号を実行するのに有益な技術に関する。
【背景技術】
【０００２】
動画像符号化方式としては、現在ＭＰＥＧ(Moving Picture Expert Group)によるＭＰＥＧ−２やＭＰＥＧ−４による動画像符号化方式が世界的に普及している。ＩＴＵ−Ｔ(国際電気通信連合電気通信標準化部門；International Telecommunication Union、 Telecommunication Standardization Sector)の勧告Ｈ．２６４として承認されるとともにＩＳＯ／ＩＥＣ(International Organization for Standardization/ International Electrotechnical Commission)によって国際基準１４４９６−１０(MPEG part 10) Advanced Video Coding(ＡＶＣ)として承認されたＨ．２６４／ＡＶＣが最新の国際標準のビデオ符号化である。
【０００３】
下記非特許文献１には、勧告Ｈ．２６４／ＡＶＣに準拠したビデオ符号化技術が記載されている。勧告Ｈ．２６４／ＡＶＣによるビデオコーディングは、ビデオコンテキストを有効に表現するように設計されたビデオコーディング層(Video Coding Layer)と、ビデオのＶＣＬ表現をフォーマットするとともに種々の転送層や記憶媒体による転送のために適切な方法でのヘッダ情報を与えるネットワーク抽象層(Network Abstraction Layer)とから構成されている。勧告Ｈ．２６４／ＡＶＣでは、規格に準拠した全ての復号器(decoder)が規格に準拠した符号化ビットストリームが供給された際に類似の出力を生成するように、ビットストリームとシンタックス(符号化データの規則や構成方法)に制限を持ち、シンタックス要素の符号化プロセスを制限することによって、復号器(decoder)のみが規格化されている。尚、シンタックス要素は、ＤＣＴ係数や動きベクトル等のシンタックスで伝送される情報である。
【０００４】
また、下記非特許文献２には、Ｈ．２６４／ＡＶＣによるビデオコーディング層(ＶＣＬ)は、ブロックベースドハイブリッドビデオコーディングと呼ばれるアプローチに従っていると記載している。ＶＣＬ設計は、マクロブロック、スライス、スライスブロックから構成されており、各ピクチャーは固定サイズの複数のマクロブロックに分割され、各マクロブロックは輝度成分で１６×１６サンプルの四角形ピクチャー領域とそれに対応する２つの色差成分のそれぞれに四角形サンプル領域とを含んでいる。画像間予測(Inter-Picture Prediction)では、動き補償予測(motion-compensated prediction；ＭＣＰ)のために、マクロブロックは１６×１６、１６×８、８×１６、８×８サンプルの輝度ブロックサイズの小さな領域に分割されることができる。８×８のマクロブロック分割が選択された場合には、８×８分割部分が更に８×４、４×８、４×４の輝度サンプルと対応する色差成分とに分割されるかを指定する付加的なシンタックス要素が各８×８の分割部分のために伝送される。また勧告Ｈ．２６４／ＡＶＣでは、以前の規格の大きな８×８サンプルのブロックではなく、４×４サンプルの小さなブロックに離散コサイン変換(discrete cosine transform；ＤＣＴ)が適用される。
【０００５】
更に下記非特許文献１には、勧告Ｈ．２６４／ＡＶＣでは２種類のエントロピー符号化(可変長符号化)が用意され、単純なエントロピー符号化は量子化変換係数以外の全てのシンタックスのための単一の無制限符号テーブルを使用するもので、非常に単純で規則的な復号特性を持つ指数ゴロム符号(Exponential Golomb code)で単一の符号テーブルが構成されると記載されている。また、量子化変換係数のために、コンテキスト適応型可変長符号化方式(Context-Adaptive Variable Length Coding；ＣＡＶＬＣ)と呼ばれるより効率的な符号化方式が利用されることが記載されている。このＣＡＶＬＣの方式では、種々のシンタックス要素のためのＶＬＣテーブルは既に伝送済みのシンタックス要素に依存してスイッチされる。このＣＡＶＬＣエントロピー符号化方法では、非ゼロ係数の個数、実際のサイズ、係数の位置が別々に符号化される。変換係数のジグザグスキャンの後の統計的な分布では、低周波部分では大きな値でスキャンの後半の高周波部分では小さな値に減少する。この統計的挙動に基づき、輝度４×４のブロックの量子化変換係数を伝達するために、非ゼロ係数の個数およびトレーリング・ワンズ、係数値、符号情報(Sign Information)、トータル・ゼロズ(Total zeros)、ラン・ビフォワーのデータ情報が使用される。非ゼロ係数の個数は１６個のＤＣＴ係数の中での非ゼロ係数の総数であり、トレーリング・ワンズ(Trailing ones)はスキャンの最後で絶対値が“１”に等しい係数の個数である。係数値は、指数ゴロム符号で符号化される。符号情報(Sign Information)では、係数の符号を示すために１ビットが使用され、トレーリング・ワンズのために単一ビットで転送され、他の係数では符号ビットは指数ゴロム符号中に含まれている。トータル・ゼロズ(Total zeros)は、スキャンの最後の非ゼロ係数とスキャンの開始との間のゼロの総数である。ラン・ビフォワー(Run before)は、各非ゼロ係数の前のゼロの連続個数である。
【０００６】
また下記非特許文献３には、一般にＨ．２６４／ＡＶＣでのＣＡＶＬＣ方式の復号には多数のメモリアクセスを必要として、ＣＡＶＬＣ方式の復号器(decoder)ではシンタックス要素の復号にルックアップテーブルが使用され、消費電力と計算の複雑性とが今日の実システムの設計で著しく困難なものとなっていることが記載されている。従って、下記非特許文献３には、ルックアップテーブルを使用することなくビットストリームが復号され、符号語(codeword)が整数算術演算によって直接復号される可変長復号(variable-length decoding；ＶＬＤ)が記載されている。
【０００７】
【非特許文献１】Ｔｈｏｍａｓ  Ｗｉｅｇａｎｄ  ｅｔ  ａｌ，  “Ｏｖｅｒｖｉｅｗ  ｏｆ  ｔｈｅ  Ｈ．２６４／ＡＶＣ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ”，  ＩＥＥＥＴＲＡＮＳＡＣＴＩＯＮＳ  ＯＮ  ＣＩＲＣＵＩＴＳ  ＡＮＤ  ＳＹＳＴＥＭＳ  ＦＯＲ  ＶＩＤＥＯ  ＴＥＣＨＮＯＬＯＧＹ，  ＪＵＬＹ  ２００３，  ＰＰ．１−１９．
【非特許文献２】ＧＡＲＹ  Ｊ．  ＳＵＬＬＩＶＡＮ  ｅｔ  ａｌ、“Ｖｉｄｅｏ  Ｃｏｍｐｒｅｓｓｉｏｎ−Ｆｒｏｍ  Ｃｏｎｃｅｐｔ  ｔｏ  ｔｈｅ  Ｈ．２６４／ＡＶＣ  Ｓｔａｎｄａｒｄ”，  ＰＲＯＣＥＥＤＩＮＧ  ＯＦ  ＴＨＥ  ＩＥＥＥ、  ＶＯＬ．９３，  Ｎｏ．１，  ＪＡＮＵＡＲＹ  ２００５，  ＰＰ．１８−３１．
【非特許文献３】Ｙｏｎｇ  Ｈｏ  Ｍｏｏｎ  ｅｔ  ａｌ，  “Ａｎ  Ｅｆｆｉｃｉｅｎｔ  Ｄｅｃｏｄｉｎｇ  ｏｆ  ＣＡＶＬＣ  ｉｎ  Ｈ．２６４／ＡＶＣ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ  Ｓｔａｎｄａｒｄ”，  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｃｏｎｓｕｍｅｒ  Ｅｌｅｃｔｒｏｎｉｃｓ，  Ｖｏｌ．５１，  Ｎｏ．３，  Ａｕｇｕｓｔ  ２００５，  ＰＰ．９３３−９３８．
【発明の開示】
【発明が解決しようとする課題】
【０００８】
近年、画像、音声等のマルチメディアデータを処理する機器では、マルチメディアデータを効率的に処理するために、符号化・復号化であるコーディック(Codec)の規格として標準化されたディジタルデータの圧縮符号化技術が利用されている。例えば、Ｂｌｕ−ｒａｙ ＤｉｓｃやＨＤ ＤＶＤなどの次世代の光ディスクではコーディックとしてＭＰＥＧ−２、Ｈ．２６４／ＡＶＣ、ＶＣ−１が採用され、テレビの地上ディジタル放送ではＭＰＥＧ−２が採用され、ワンセグメント放送ではＨ．２６４／ＡＶＣが採用されている。
【０００９】
こうしたコーディック規格では、いずれの規格においても内部で可変長符号化処理(Variable Length Coding；ＶＬＣ)と呼ばれる処理が行われる。可変長符号化処理では、出現頻度の高いデータにビット長の短い符号語を割り当てる一方、出現頻度の低いデータにビット長の長い符号語を割り当てることで平均符号語長を削減して、総データ量の削減を行うものである。可変長符号化処理では符号語毎にビット長が異なるため、逐次処理(シーケンシャル)の復号となることから、符号化処理の性能向上のための技術が必要とされるものである。
【００１０】
各コーディック規格では、ビットストリームのデータの構成と、各データがどのような可変長符号によって符号化されるかが、シンタックス(符号化データの規則や構成方法)として規定されている。復号処理時、可変長復号装置(デコーダ)はコーディック規格で定められたシンタックスに従って可変長符号の復号処理を行う。可変長符号化された各データは、シンタックス要素と呼ばれる。
【００１１】
各シンタックス要素は可変長符号で符号化されているため、符号語毎にビット長が異なる。また、上記非特許文献１に記載されたように、Ｈ．２６４／ＡＶＣのＣＡＶＬＣ方式の復号ではシンタックス要素の復号が完了しなければ、次のシンタックス要素の先頭ビット位置が確定しない。またシンタックスによっては、シンタックス要素の復号結果に応じて、後続のシンタックス要素の種類や、シンタックス要素の復号方法が変化することから、復号処理は逐次的(シーケンシャル)である。すなわち、コーディック規格のシンタックス処理および可変長符号処理では、あるシンタックス要素の復号を完了しなければ、次のシンタックス要素の復号処理を開始できない。このように復号処理が逐次処理(シーケンシャル)であること、およびシンタックスがシンタックス要素の復号処理結果に依存する構造であることから、あるシンタックス要素の符号語の復号完了後に、その復号値を即座に用いたシンタックス解析が必要である場合に、処理性能が低下するものとなる。
【００１２】
また近年では、ＭＰＥＧ−２、ＭＰＥＧ−４、Ｈ．２６４／ＡＶＣ等の様々なコーディックの規格が多様な分野において採用されており、単一のハードウェアで複数のコーディックを処理するというマルチコーディックへの対応が要望されている。マルチコーディックに対応するためには、複数のコーディックを処理するハードウェアをそれぞれ設計してそれらを統合してひとつのハードウェアを構成するアプローチと、ソフトウェア処理を導入するアプローチとが考えられる。前者では、充分な性能を出しやすいが、複数のコーディックに対応する分のハードウェアが必要なため論理規模が増大しやすい。後者では、ソフトウェア処理により柔軟に対応できるが、前者のアプローチに比べ充分な処理性能を達成することが困難である。
【００１３】
Ｈ．２６４／ＡＶＣに準拠する可変長復号装置(decoder)では、輝度４×４のブロックの量子化変換係数に関係して、各非ゼロ係数の前のゼロの連続個数であるラン・ビフォワー(Run before)の復号の際には、最初にトータル・ゼロズ(Total zeros)を復号した後に、このトータル・ゼロズをベースにして自身のラン・ビフォワーを復号する際に復号されていないゼロズ・レフト(zerosLeft)を使用するものである。ゼロズ・レフトの初期値はトータル・ゼロズであり、ビットストリームの符号語(codeword)の復号によるラン・ビフォワーの復号結果をベースにしてゼロズ・レフトを更新して次のラン・ビフォワーの復号の準備を行う。
【００１４】
図１は、Ｈ．２６４／ＡＶＣに準拠する可変長符号化装置での輝度４×４のブロックの量子化変換係数の符号化ビットストリームの形成プロセスと、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置における符号化ビットストリームの復号処理の様子を示す図である。尚、この図１は、上記非特許文献３に記載されたＣＡＶＬＣ復号プロセスの図に対応するものである。また図１においては、輝度４×４のブロックの量子化変換係数に関係してラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新との様子も示されている。
【００１５】
図１に示すように、輝度４×４のブロックの量子化変換係数１０００では、０、３、０、１、−１、−１、０、１、０…の順番でジグザグスキャンが実行されて、非ゼロ係数の個数(TotalCoeffs)が５個、トータル・ゼロズ(Total zeros)が３個、トレーリング・ワンズ(Trailing ones)は３個となる。
【００１６】
ここで、本当のトレーリング・ワンズは４個であるが、最後の４個目のワンは＋１のレベルによって示されている。この情報は、Coeff_tokenのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“００００１００”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“ｘ，ｘ，｜１｜，｜１｜，｜１｜”を生成する。
【００１７】
ジグザグスキャンの８番目の“１”のトレーリング・ワンの符号は＋であるので、この情報はSign of T1のシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“０”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“｜１｜，｜１｜，１”を生成する。
【００１８】
ジグザグスキャンの６番目の“−１”のトレーリング・ワンの符号は−であるので、この情報はSign of T1のシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“１”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“｜１｜，−１，１”を生成する。
【００１９】
ジグザグスキャンの５番目の“−１”のトレーリング・ワンの符号も−であるので、この情報もSign of T1のシンタックス要素で符号化されて、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)も“１”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“−１，−１，１”を生成する。
【００２０】
ジグザグスキャンの４番目の“１”の最後のトレーリング・ワンはLevelのシンタックス要素(係数値)で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“１”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“１，−１，−１，１”を生成する。
【００２１】
ジグザグスキャンの２番目の“＋３”の非ゼロ係数はLevelのシンタックス要素(係数値)で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“００１０”となって、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“３，１，−１，−１，１”を生成する。
【００２２】
３個のトータル・ゼロズ(Total zeros)はtotal_zerosのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)も“１１１”となる。Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語を復号して“０，０，０”を生成して、直前の復号結果“３，１，−１，−１，１”と合成して新しい復号結果“０，０，０｜，３，１，−１，−１，１”を生成する。
【００２３】
トータル・ゼロズ(Total zeros)の３個のゼロの中で、ジグザグスキャンの８番目で非ゼロ係数の“１”の最後のトレーリング・ワンの直前のジグザグスキャンの７番目のゼロ(連続個数：１個)のラン・ビフォワー(Run before)はrun_beforeのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)も“１０”となる。Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の３個目のゼロの１個がジグザグスキャンの８番目の非ゼロ係数の前に存在することを理解するので、復号結果“０，０｜，３，１，−１，−１，０，１”を生成する。
【００２４】
トータル・ゼロズ(Total zeros)の２個目のゼロがジグザグスキャンの６番目で非ゼロ係数の“−１”のトレーリング・ワンの直前に存在していないこと(連続個数：０個)を示すラン・ビフォワー(Run before)もrun_beforeのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“１”となる。Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の２個目のゼロの１個がジグザグスキャンの６番目の非ゼロ係数“−１”の前に存在しないことを理解するので、復号結果“０，０｜，３，１，−１，−１，０，１”を生成する。
【００２５】
トータル・ゼロズ(Total zeros)の２個目のゼロがジグザグスキャンの５番目で非ゼロ係数の“−１”のトレーリング・ワンの直前に存在していないこと(連続個数：０個)を示すラン・ビフォワー(Run before)もrun_beforeのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“１”となる。Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の２個目のゼロの１個がジグザグスキャンの５番目の非ゼロ係数“−１”の前に存在しないことを理解するので、復号結果“０，０｜，３，１，−１，−１，０，１”を生成する。
【００２６】
トータル・ゼロズ(Total zeros)の２個目のゼロがジグザグスキャンの４番目で非ゼロ係数の“１”のトレーリング・ワンの直前に存在していること(連続個数：１個)を示すラン・ビフォワー(Run before)はrun_beforeのシンタックス要素で符号化され、Ｈ．２６４／ＡＶＣの規格に従ってその符号語(codeword)は“０１”となる。Ｈ．２６４／ＡＶＣに準拠する可変長復号装置はこの符号語からトータル・ゼロズ(Total zeros)の２個目のゼロの１個だけがジグザグスキャンの４番目の非ゼロ係数“１”の前に単独で存在することを理解する。これと同時に、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置は、トータル・ゼロズ(Total zeros)の１個目のゼロがジグザグスキャンの２番目で非ゼロ係数の“３”の直前に存在していることを理解するので、最終的な復号結果“０｜，３，０，１，−１，−１，０，１”を生成する。このようにして、図１に示すように量子化変換係数１０００の“０，３，０，１，−１，−１，０，１，０，０，０，０，０，０，０，０”の１６個のＤＣＴ係数が符号化された後に、正確に復号されることができる。
【００２７】
図１の復号処理で、トレーリング・ワンの符号と非ゼロ係数のレベル(Level)とは、良好に構成された符号語(codeword)であるので、何らかの算術演算によって伸張(decompress)されることができる。しかし、その他のシンタックス要素の復号は、メモリによってインプリメントされるルックアップテーブルを利用することが必要となる。
【００２８】
図２は、図１に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するために本発明に先立って本発明者等によって検討されたルックアップ・テーブルを利用する可変長復号装置の一部の構成を示す図である。
【００２９】
図２に示す可変長復号装置の一部の構成は、メモリ１００１と、アクセス制御ユニット１００２とによって構成されている。メモリ１００１は、物理的にはＬＳＩ内蔵のランダムアクセスメモリ(ＲＡＭ)によって構成されることができるが、論理的にはラン・ビフォワーの復号のために少なくとも１４個のルックアップテーブルＬＵＴ１、ＬＵＴ２、ＬＵＴ３…ＬＵＴ１２、ＬＵＴ１３、ＬＵＴ１４によって構成されている。
【００３０】
Ｈ．２６４／ＡＶＣに準拠する可変長符号化方式では、１６個のＤＣＴ係数では最大１４個のトータル・ゼロズ(Total zeros)が存在する。１４個目のルックアップテーブルＬＵＴ１４は、最大１４個のトータル・ゼロズ(Total zeros)の１４個のゼロの中で、ジグザグスキャンの最後の非ゼロ係数の直前のゼロ(連続個数は、１個から１４個のいずれか)のラン・ビフォワー(Run before)を符号化した符号語(codeword)を復号するために使用される。各非ゼロ係数の前のゼロの連続個数であるラン・ビフォワー(Run before)の復号の際には、最初にトータル・ゼロズ(Total zeros)を復号した後に、このトータル・ゼロズをベースにして自身のラン・ビフォワーを復号する際に、復号されていないゼロズ・レフト(zerosLeft)が使用される。ゼロズ・レフトの初期値はトータル・ゼロズであり、ビットストリームの符号語(codeword)の復号によるラン・ビフォワーの復号結果をベースにしてゼロズ・レフトを更新して次のラン・ビフォワーの復号の準備を行う。
【００３１】
従って、図２では、ゼロズ・レフトの初期値であるトータル・ゼロズが、アクセス制御ユニット１００２に供給される。このトータル・ゼロズが最大値１４個のゼロを示す場合には、アクセス制御ユニット１００２は最大値１４のトータル・ゼロズに応答して１４個目のルックアップテーブルＬＵＴ１４を指示するためのポインタ・アドレスＬＡ１４の初期値をルックアップテーブルＬＵＴ１４に供給する。非ゼロ係数の直前の連続個数が０個から１４個までのいずれかのゼロであるラン・ビフォワーを符号化した符号語(codeword)１００３に応答して、ルックアップテーブルＬＵＴ１４は復号結果としての復号値(Value)１００４を形成する。
【００３２】
最初の復号結果としての復号値１００４は非ゼロ係数の直前のゼロの連続個数が０個から１４個までのいずれかを示しているので、この復号値１００４をベースにしてゼロズ・レフト(zerosLeft)を更新して次のラン・ビフォワーの復号の準備を行う必要がある。従って、ゼロズ・レフト(Total zeros)を更新するためにアクセス制御ユニット１００２の算術論理ユニット(ＡＬＵ)は、ゼロズ・レフトの初期値であるトータル・ゼロズに対応するポインタ・アドレスＬＡ１４の値から復号値１００４を減算するものである。アクセス制御ユニット１００２の算術論理ユニット(ＡＬＵ)の演算結果は更新後のゼロズ・レフトを示すもので、更新後のゼロズ・レフトであるポインタ・アドレスＬＡ１〜ＬＡ１４のいずれかで指示されるルックアップテーブルＬＵＴ１〜ＬＵＴ１４のいずれかが次のラン・ビフォワーを符号化した符号語(codeword)１００３を復号するために使用される。このように、ラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新と次のラン・ビフォワーを符号化した符号語の復号とを実行することができる。
【００３３】
しかし、図２に示す構成では、アクセス制御ユニット１００２の算術論理ユニット(ＡＬＵ)の無視できない演算時間が必要であるので、動画像可変長符号の高性能リアル・タイム復号を実行することが困難であるとの問題が、本発明者等によって明らかとされた。
【００３４】
また、図２に示す構成は、Ｈ．２６４／ＡＶＣに準拠する可変長復号は容易であるが、ＭＰＥＧ−２やＭＰＥＧ−４の他の方式の動画像符号化方式のコンテンツの可変長復号は容易ではないことが明らかとされた。
【００３５】
本発明は、以上のような本発明に先立った本発明者等の検討の結果、なされたものである。
【００３６】
従って、本発明の目的とするところは、可変長符号の高性能リアル・タイム復号を実行することを容易とすることにある。また、本発明の他の目的とするところは、種々の符号化方式のコンテンツの可変長復号を容易とすることにある。
【００３７】
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００３８】
本願において開示される発明のうちの代表的なものについて簡単に説明すれば下記のとおりである。
【００３９】
すなわち、本発明の代表的な可変長復号装置は、複数のルックアップテーブル(ＬＵＴ１〜ＬＵＴ１４)を含む記憶装置(１００１)を有して(図３参照)、当該記憶装置を利用して可変長符号の複数の符号語(１００３)をシーケンシャルに復号する。
【００４０】
複数のルックアップテーブルには、複数の符号語(１００３)に対応する複数の復号値(１００４)と複数の制御情報(１００５)とが格納される(図４参照)。１つの符号語(“１０”；１００３)の復号では、複数のルックアップテーブルから１つのルックアップテーブル(ＬＵＴ３)が選択される。
【００４１】
この復号では、１つの符号語に応答して、選択された１つのルックアップテーブルから１つの符号語に対応する１つの復号値(“１”：１００４)とその復号値に依存する次の復号に使用される次のルックアップテーブル(ＬＵＴ２)を選択する制御情報(“ＬＡ２”：１００５)とが並列に生成される。
【発明の効果】
【００４２】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００４３】
すなわち、可変長符号の高性能リアル・タイム復号を実行することを容易とすることができる。
【発明を実施するための最良の形態】
【００４４】
《代表的な実施の形態》
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００４５】
〔１〕本発明の代表的な実施の形態による可変長復号装置は、複数のルックアップテーブル(ＬＵＴ１〜ＬＵＴ１４)を含む記憶装置(１００１)を有して(図３参照)、可変長符号によって符号化された複数の符号語(１００３)を前記記憶装置の利用によってシーケンシャルに復号することが可能である。
【００４６】
前記複数のルックアップテーブルには、前記複数の符号語(１００３)に対応する複数の復号値(１００４)と複数の制御情報(１００５)とが格納可能である(図４参照)。
【００４７】
前記複数の符号語に含まれる１つの符号語(“１０”；１００３)の復号に際して、前記複数のルックアップテーブルから１つのルックアップテーブル(ＬＵＴ３)が選択される。
【００４８】
前記１つの符号語の前記復号では、前記１つの符号語に応答して、前記１つのルックアップテーブルから前記１つの符号語に対応する１つの復号値(“１”：１００４)と当該１つの復号値に依存する次の復号に使用される次のルックアップテーブル(ＬＵＴ２)を前記複数のルックアップテーブルから選択する制御情報(“ＬＡ２”：１００５)とが並列に生成されるものである。
【００４９】
前記実施の形態によれば、符号語(１００３)の復号に際して、符号語に対応する復号値(１００４)とそれに依存する次使用のルックアップテーブルを指定する制御情報(１００５)とが並列に生成されるので、可変長符号の高性能リアル・タイム復号の実行を容易とすることができる。
【００５０】
また、複数のルックアップテーブルに格納される複数の復号値(１００４)と複数の制御情報(１００５)の記憶内容を変更することにより、種々の符号化方式のコンテンツの可変長復号を容易とすることができる。
【００５１】
好適な実施の形態では、前記１つの符号語の直後に供給される他の１つの符号語(“１”；１００３)の復号に際して、当該他の１つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値(“０”：１００４)と当該他の１つの復号値に依存するさらに次の復号に使用される他のルックアップテーブル(ＬＵＴ２)を前記複数のルックアップテーブルから選択する他の制御情報(“ＬＡ２”：１００５)とが並列に生成されるものである。
【００５２】
他の好適な実施の形態では、前記複数の符号語のそれぞれは所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行される。前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(ＬＵＴ２)は、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブル(ＬＵＴ３)から生成される前記１つの復号値(“１”：１００４)と並列に生成される前記制御情報(“ＬＡ２”：１００５)によって指定される。
【００５３】
より好適な実施の形態では、前記複数のルックアップテーブル(ＬＵＴ１〜ＬＵＴ１４)を含む前記記憶装置(１００１)は半導体集積回路に搭載された内蔵メモリである(図３参照)。
【００５４】
更により好適な実施の形態では、前記内蔵メモリはランダムアクセスメモリ(１００１)であり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている。
【００５５】
具体的な一つの実施の形態では、前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである。
【００５６】
他の具体的な一つの実施の形態では、前記シンタックス要素である前記複数の符号語は動画可変長符号化方式によって生成される量子化変換係数である。
【００５７】
最も具体的な一つの実施の形態では、前記動画可変長符号化方式は、Ｈ．２６４／ＡＶＣのコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されている。
【００５８】
前記ラン・ビフォワーの前記複数の符号語に含まれる前記１つの符号語(“１０”；１００３)の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記１つのルックアップテーブル(ＬＵＴ３)がトータル・ゼロズ(Total zeros)に従って選択される。
【００５９】
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(ＬＵＴ２)は、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブル(ＬＵＴ３)から生成される前記制御情報(“ＬＡ２”：１００５)を指示するゼロズ・レフト(zero_left)によって指定される。
【００６０】
〔２〕本発明の別の観点の代表的な実施の形態による動画復号装置は、ビットストリーム処理ユニット(１０)、逆量子化ユニット(１１)、逆変換ユニット(１２)、イントラ予測ユニット(１３)、インター予測ユニット(１４)を具備するものである。
【００６１】
前記ビットストリーム処理ユニットは所定の方式によって符号化された動画符号化データのビットストリームから復号データを生成して、前記逆量子化ユニットは前記逆変換ユニットとは前記復号データの逆量子化処理と逆変換処理とをそれぞれ実行して、前記イントラ予測ユニットと前記インター予測ユニットとはイントラ・フレーム予測とインター・フレーム予測とをそれぞれ実行するものである(図９参照)。
【００６２】
前記ビットストリーム処理ユニット(１０)は可変長符号・復号テーブル(１１２)を含み、当該可変長符号・復号テーブルは、複数のルックアップテーブル(ＬＵＴ１〜ＬＵＴ１４)を含む記憶装置(１００１)を有して(図３参照)、前記動画符号化データの前記ビットストリーム中に含まれる複数の符号語(１００３)を前記記憶装置の利用によってシーケンシャルに復号することが可能である。
【００６３】
前記複数のルックアップテーブルには、前記複数の符号語(１００３)に対応する複数の復号値(１００４)と複数の制御情報(１００５)とが格納可能である(図４参照)。
【００６４】
前記複数の符号語に含まれる１つの符号語(“１０”；１００３)の復号に際して、前記複数のルックアップテーブルから１つのルックアップテーブル(ＬＵＴ３)が選択される。
【００６５】
前記１つの符号語の前記復号では、前記１つの符号語に応答して、前記１つのルックアップテーブルから前記１つの符号語に対応する１つの復号値(“１”：１００４)と当該１つの復号値に依存する次の復号に使用される次のルックアップテーブル(ＬＵＴ２)を前記複数のルックアップテーブルから選択する制御情報(“ＬＡ２”：１００５)とが並列に生成されるものである。
【００６６】
前記実施の形態によれば、符号語(１００３)の復号に際して、符号語に対応する復号値(１００４)とそれに依存する次使用のルックアップテーブルを指定する制御情報(１００５)とが並列に生成されるので、可変長符号の高性能リアル・タイム復号の実行を容易とすることができる。
【００６７】
更に、前記複数のルックアップテーブルに格納される前記復号値と前記制御情報の内容を適宜に選択することによって、Ｈ．２６４／ＡＶＣ、ＭＰＥＧ−２、ＭＰＥＧ−４などの種々の符号化方式のコンテンツの可変長復号を容易とすることができる。
【００６８】
好適な実施の形態では、前記１つの符号語の直後に供給される他の１つの符号語(“１”；１００３)の復号に際して、当該他の１つの符号語に応答して、前記次のルックアップテーブルから前記他の符号語に対応する他の復号値(“０”：１００４)と当該他の１つの復号値に依存するさらに次の復号に使用される他のルックアップテーブル(ＬＵＴ２)を前記複数のルックアップテーブルから選択する他の制御情報(“ＬＡ２”：１００５)とが並列に生成されるものである。
【００６９】
他の好適な実施の形態では、前記複数の符号語のそれぞれは動画符号化の所定のシンタックスに従って符号化された可変長のシンタックス要素であり、先行のシンタックス要素の復号と後続のシンタックス要素の復号とはシーケンシャルに実行される。前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(ＬＵＴ２)は、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブル(ＬＵＴ３)から生成される前記１つの復号値(“１”：１００４)と並列に生成される前記制御情報(“ＬＡ２”：１００５)によって指定される。
【００７０】
より好適な実施の形態では、前記複数のルックアップテーブル(ＬＵＴ１〜ＬＵＴ１４)を含む前記記憶装置(１００１)は半導体集積回路に搭載された内蔵メモリである(図３参照)。
【００７１】
更により好適な実施の形態では、前記内蔵メモリはランダムアクセスメモリ(１００１)であり、当該ランダムアクセスメモリに格納される前記復号値と前記制御情報とが、前記半導体集積回路の初期化シーケンスに不揮発性メモリから転送可能とされている。
【００７２】
具体的な一つの実施の形態では、前記不揮発性メモリは前記半導体集積回路が搭載されるシステムに搭載される半導体不揮発性メモリもしくは前記半導体集積回路が搭載された内蔵半導体不揮発性メモリである。
【００７３】
他の具体的な一つの実施の形態では、前記シンタックス要素である前記複数の符号語は動画可変長符号化方式によって生成される量子化変換係数である。
【００７４】
最も具体的な一つの実施の形態では、前記動画可変長符号化方式は、Ｈ．２６４／ＡＶＣのコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)であり、前記複数の符号語はラン・ビフォワーのシンタックス要素で符号化されている。
【００７５】
前記ラン・ビフォワーの前記複数の符号語に含まれる前記１つの符号語(“１０”；１００３)の最初の前記復号に際して、前記複数のルックアップテーブルから最初に選択される前記１つのルックアップテーブル(ＬＵＴ３)がトータル・ゼロズ(Total zeros)に従って選択される。
【００７６】
前記後続のシンタックス要素の前記復号に使用される前記次のルックアップテーブル(ＬＵＴ２)は、前記先行のシンタックス要素の前記復号で使用される前記１つのルックアップテーブル(ＬＵＴ３)から生成される前記制御情報(“ＬＡ２”：１００５)を指示するゼロズ・レフト(zero_left)によって指定される。
【００７７】
《実施の形態の説明》
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【００７８】
《可変長復号装置》
図３は、図１に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するための本発明の実施の形態による可変長復号装置の一部の構成を示す図である。
【００７９】
図３に示す可変長復号装置の一部の構成は、ＬＳＩのチップに集積化されたメモリ１００１とアクセス制御ユニット１００２とによって構成されている。メモリ１００１は、物理的にはＬＳＩ内蔵のランダムアクセスメモリ(ＲＡＭ)によって構成されることができるが、論理的にはラン・ビフォワーの復号のために少なくとも１４個のルックアップテーブルＬＵＴ１、ＬＵＴ２、ＬＵＴ３…ＬＵＴ１２、ＬＵＴ１３、ＬＵＴ１４によって構成されている。
【００８０】
従って、図３でも図２と同様に、ゼロズ・レフト(zeros_left)の初期値であるトータル・ゼロズ(Total_zeros)がアクセス制御ユニット１００２に供給される。このトータル・ゼロズが最大値１４個のゼロを示す場合は、アクセス制御ユニット１００２は最大値１４のトータル・ゼロズに応答して１４個目のルックアップテーブルＬＵＴ１４を指示するためのポインタ・アドレスＬＡ１４の初期値をルックアップテーブルＬＵＴ１４に供給する。非ゼロ係数の直前の連続個数が０個から１４個までのいずれかのゼロであるラン・ビフォワーを符号化した符号語(codeword)１００３に応答して、ルックアップテーブルＬＵＴ１４は復号結果としての復号値(Value)１００４を形成する。
【００８１】
復号値(Value)１００４の形成と同時に、メモリ１００１のルックアップテーブルＬＵＴ１４から次のラン・ビフォワーの復号の準備として、次ポインタ・アドレス(ＬＡ)１００５が形成される。この次ポインタ・アドレス(ＬＡ)１００５の値は、ポインタ・アドレス(ＬＡ)の初期値から復号値(Value)１００４を減算した値である。復号値１００４は非ゼロ係数の直前のゼロの連続個数が０個から１４個までのいずれかであるので、次ポインタ・アドレス(ＬＡ)１００５はポインタ・アドレスＬＡ１４〜ＬＡ１までのいずれかとなる。
【００８２】
ＬＳＩ内蔵ＲＡＭによって構成されるメモリ１００１の１４個のルックアップテーブルＬＵＴ１…ＬＵＴ１４がラン・ビフォワーを符号化した符号語１００３に応答して、復号値１００４と次ポインタ・アドレス(ＬＡ)１００５とを並列に出力するように、メモリ１００１内部のデータの物理的配置が決定される。
【００８３】
《１４個のルックアップテーブルを含むメモリの構成》
図４は、図３に示す可変長復号装置の一部の構成において、符号語１００３に応答して復号値１００４と次ポインタ・アドレス(ＬＡ)１００５とを並列に出力するための１４個のルックアップテーブルＬＵＴ１…ＬＵＴ１４を含むメモリ１００１の構成を示す図である。
【００８４】
図５は、図３に示す可変長復号装置の一部の構成によって復号されるラン・ビフォワーの復号値１００４と、復号前のゼロズ・レフト(zeros_left)の初期値と、ラン・ビフォワーを符号化した符号語(codeword)１００３との関係を示す図である。尚、図５に示すように、復号前のゼロズ・レフトの初期値によって、ラン・ビフォワーの復号に使用されるルックアップテーブルが１４個のルックアップテーブルＬＵＴ１…ＬＵＴ１４の中から決定される。
【００８５】
図５のラン・ビフォワーの復号値１００４を生成するために、図４に示すように、メモリ１００１は１４個のポインタ・アドレスＬＡ１〜ＬＡ１４によって指定される１４個のメモリ領域を含んでいる。
【００８６】
１番目のポインタ・アドレスＬＡ１によって指定される１番目のメモリ領域は、符号語１００３のワード“１”で指定される第１エントリーと、符号語１００３のワード“０”で指定される第２エントリーとを含んでいる。符号語１００３のワード“１”によって指定される第１エントリーには、復号データ“０”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０”によって指定される第２エントリーには、復号データ“１”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００８７】
２番目のポインタ・アドレスＬＡ２によって指定される２番目のメモリ領域は、符号語１００３のワード“１”で指定される第１エントリーと、符号語１００３のワード“０１”で指定される第２エントリーと、符号語１００３のワード“００”で指定される第３エントリーとを含んでいる。符号語１００３のワード“１”によって指定される第１エントリーには、復号データ“０”の復号値１００４と２番目のルックアップテーブルＬＵＴ２を指示するアドレスデータ“ＬＡ２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０１”によって指定される第２エントリーには、復号データ“１”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００”によって指定される第３エントリーには、復号データ“２”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００８８】
３番目のポインタ・アドレスＬＡ３によって指定される３番目のメモリ領域は、符号語１００３のワード“１１”で指定される第１エントリーと、符号語１００３のワード“１０”で指定される第２エントリーと、符号語１００３のワード“０１”で指定される第３エントリーと、符号語１００３のワード“００”で指定される第４エントリーとを含んでいる。符号語１００３のワード“１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と３番目のルックアップテーブルＬＵＴ３を指示するアドレスデータ“ＬＡ３”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と２番目のルックアップテーブルＬＵＴ２を指示するアドレスデータ“ＬＡ２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０１”によって指定される第３エントリーには、復号データ“２”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００”によって指定される第４エントリーには、復号データ“３”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００８９】
４番目のポインタ・アドレスＬＡ４によって指定される４番目のメモリ領域から１４番目のポインタ・アドレスＬＡ１４によって指定される１４番目のメモリ領域も、上記の構成方式に従って構成されている。
【００９０】
図６(Ａ)〜(Ｄ)は、図４のメモリ１００１でそれぞれ１４番目から１１番目のポインタ・アドレスによって指定される１４番目から１１番目のメモリ領域の構成を示す図である。
【００９１】
図６(Ａ)に示すように、１４番目のポインタ・アドレスＬＡ１４によって指定される１４番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“００００００００００１”で指定される第１５エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１４番目のルックアップテーブルＬＵＴ１４を指示するアドレスデータ“ＬＡ１４”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と１３番目のルックアップテーブルＬＵＴ１３を指示するアドレスデータ“ＬＡ１３”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００００００００００１”で指定される第１５エントリーには、復号データ“１４”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９２】
図６(Ｂ)に示すように、１３番目のポインタ・アドレスＬＡ１３によって指定される１３番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“０００００００００１”で指定される第１４エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１３番目のルックアップテーブルＬＵＴ１３を指示するアドレスデータ“ＬＡ１３”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と１２番目のルックアップテーブルＬＵＴ１２を指示するアドレスデータ“ＬＡ１２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００００００００１”で指定される第１４エントリーには、復号データ“１３”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９３】
図６(Ｃ)に示すように、１２番目のポインタ・アドレスＬＡ１２によって指定される１２番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“００００００００１”で指定される第１３エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１２番目のルックアップテーブルＬＵＴ１２を指示するアドレスデータ“ＬＡ１２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と１１番目のルックアップテーブルＬＵＴ１１を指示するアドレスデータ“ＬＡ１１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００００００００１”で指定される第１３エントリーには、復号データ“１２”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９４】
図６(Ｄ)に示すように、１１番目のポインタ・アドレスＬＡ１１によって指定される１１番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“０００００００１”で指定される第１２エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１１番目のルックアップテーブルＬＵＴ１１を指示するアドレスデータ“ＬＡ１１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と１０番目のルックアップテーブルＬＵＴ１０を指示するアドレスデータ“ＬＡ１０”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００００００１”で指定される第１２エントリーには、復号データ“１１”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９５】
図７(Ａ)〜(Ｄ)は、図４のメモリ１００１でそれぞれ１０番目から７番目のポインタ・アドレスによって指定される１０番目から７番目のメモリ領域の構成を示す図である。
【００９６】
図７(Ａ)に示すように、１０番目のポインタ・アドレスＬＡ１０によって指定される１０番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“００００００１”で指定される第１１エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１０番目のルックアップテーブルＬＵＴ１０を指示するアドレスデータ“ＬＡ１０”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と９番目のルックアップテーブルＬＵＴ９を指示するアドレスデータ“ＬＡ９”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００００００１”で指定される第１１エントリーには、復号データ“１０”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９７】
図７(Ｂ)に示すように、９番目のポインタ・アドレスＬＡ９によって指定される９番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“０００００１”で指定される第１０エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と９番目のルックアップテーブルＬＵＴ９を指示するアドレスデータ“ＬＡ９”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と８番目のルックアップテーブルＬＵＴ８を指示するアドレスデータ“ＬＡ８”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００００１”で指定される第１０エントリーには、復号データ“９”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９８】
図７(Ｃ)に示すように、８番目のポインタ・アドレスＬＡ８によって指定される８番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“００００１”で指定される第９エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と８番目のルックアップテーブルＬＵＴ８を指示するアドレスデータ“ＬＡ８”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と７番目のルックアップテーブルＬＵＴ１１を指示するアドレスデータ“ＬＡ７”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００００１”で指定される第９エントリーには、復号データ“８”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【００９９】
図７(Ｄ)に示すように、７番目のポインタ・アドレスＬＡ７によって指定される７番目のメモリ領域は、符号語１００３のワード“１１１”で指定される第１エントリーから符号語１００３のワード“０００１”で指定される第８エントリーまでを含んでいる。符号語１００３のワード“１１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と７番目のルックアップテーブルＬＵＴ７を指示するアドレスデータ“ＬＡ７”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と６番目のルックアップテーブルＬＵＴ６を指示するアドレスデータ“ＬＡ６”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００１”で指定される第８エントリーには、復号データ“７”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１００】
図８(Ａ)〜(Ｆ)は、図４のメモリ１００１でそれぞれ６番目から１番目のポインタ・アドレスによって指定される６番目から１番目のメモリ領域の構成を示す図である。
【０１０１】
図８(Ａ)に示すように、６番目のポインタ・アドレスＬＡ６によって指定される６番目のメモリ領域は、符号語１００３のワード“１１”で指定される第１エントリーから符号語１００３のワード“１００”で指定される第７エントリーまでを含んでいる。符号語１００３のワード“１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と６番目のルックアップテーブルＬＵＴ６を指示するアドレスデータ“ＬＡ６”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００”で指定される第２エントリーには、復号データ“１”の復号値１００４と５番目のルックアップテーブルＬＵＴ５を指示するアドレスデータ“ＬＡ５”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１００”で指定される第７エントリーには、復号データ“６”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０２】
図８(Ｂ)に示すように、５番目のポインタ・アドレスＬＡ５によって指定される５番目のメモリ領域は、符号語１００３のワード“１１”で指定される第１エントリーから符号語１００３のワード“０００”で指定される第６エントリーまでを含んでいる。符号語１００３のワード“１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と５番目のルックアップテーブルＬＵＴ５を指示するアドレスデータ“ＬＡ５”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と４番目のルックアップテーブルＬＵＴ４を指示するアドレスデータ“ＬＡ４”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００”で指定される第６エントリーには、復号データ“５”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０３】
図８(Ｃ)に示すように、４番目のポインタ・アドレスＬＡ４によって指定される４番目のメモリ領域は、符号語１００３のワード“１１”で指定される第１エントリーから符号語１００３のワード“０００”で指定される第５エントリーまでを含んでいる。符号語１００３のワード“１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と４番目のルックアップテーブルＬＵＴ４を指示するアドレスデータ“ＬＡ４”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と３番目のルックアップテーブルＬＵＴ３を指示するアドレスデータ“ＬＡ３”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０００”で指定される第５エントリーには、復号データ“４”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０４】
図８(Ｄ)に示すように、３番目のポインタ・アドレスＬＡ３によって指定される３番目のメモリ領域は、符号語１００３のワード“１１”で指定される第１エントリーから符号語１００３のワード“００”で指定される第４エントリーまでを含んでいる。符号語１００３のワード“１１”で指定される第１エントリーには、復号データ“０”の復号値１００４と３番目のルックアップテーブルＬＵＴ３を指示するアドレスデータ“ＬＡ３”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“１０”で指定される第２エントリーには、復号データ“１”の復号値１００４と２番目のルックアップテーブルＬＵＴ２を指示するアドレスデータ“ＬＡ２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０１”で指定される第３エントリーには、復号データ“２”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００”で指定される第４エントリーには、復号データ“３”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０５】
図８(Ｅ)に示すように、２番目のポインタ・アドレスＬＡ２によって指定される２番目のメモリ領域は、符号語１００３のワード“１”で指定される第１エントリーから符号語１００３のワード“００”で指定される第３エントリーまでを含んでいる。符号語１００３のワード“１”で指定される第１エントリーには、復号データ“０”の復号値１００４と２番目のルックアップテーブルＬＵＴ２を指示するアドレスデータ“ＬＡ２”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０１”で指定される第２エントリーには、復号データ“１”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“００”で指定される第３エントリーには、復号データ“２”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０６】
図８(Ｆ)に示すように、１番目のポインタ・アドレスＬＡ１によって指定される１番目のメモリ領域は、符号語１００３のワード“１”で指定される第１エントリーから符号語１００３のワード“０”で指定される第２エントリーまでを含んでいる。符号語１００３のワード“１”で指定される第１エントリーには、復号データ“０”の復号値１００４と１番目のルックアップテーブルＬＵＴ１を指示するアドレスデータ“ＬＡ１”の次ポインタ・アドレス１００５とが格納されている。符号語１００３のワード“０”で指定される第２エントリーには、復号データ“１”の復号値１００４と指示するルックアップテーブルが存在しないことを示すデータ“Ｎｏｎｅ”の次ポインタ・アドレス１００５とが格納されている。
【０１０７】
《ラン・ビフォワーの復号》
次に、図４と図６から図８に示した１４個のルックアップテーブルＬＵＴ１〜ＬＵＴ１４を含むメモリ１００１を具備する図３に示す可変長復号装置が、図１に示した量子化変換係数に関係するランズ・ビフォワー(runs_before)を復号する際の動作を説明する。
【０１０８】
図１で３個のトータル・ゼロズ(Total zeros)が復号された後、この復号された３個のトータル・ゼロズをベースに最初のランズ・ビフォワー(runs_before)を復号する際に復号されていないゼロズ・レフト(zero_left)を使用するものであり、ゼロズ・レフトの初期値はトータル・ゼロズである。
【０１０９】
図１でトータル・ゼロズ(Total zeros)の後の最初のランズ・ビフォワー(runs_before)の復号に際しては、３個のゼロズ・レフト(zero_left)に対応するポインタ・アドレスＬＡ３によって指示される３番目のルックアップテーブルＬＵＴ３が使用される。図１でトータル・ゼロズ(Total zeros)の後の最初のランズ・ビフォワー(runs_before)の復号に際して、ワード“１０”の符号語(codeword)１００３に応答して３番目のルックアップテーブルＬＵＴ３は復号データ“１”の復号値と２番目のルックアップテーブルＬＵＴ２を指示する２番目のポインタ・アドレスＬＡ２とが並列に生成される。
【０１１０】
図１でトータル・ゼロズ(Total zeros)の後の２番目のランズ・ビフォワー(runs_before)の復号に際しては、２番目のポインタ・アドレスＬＡ２によって指示される２番目のルックアップテーブルＬＵＴ２が使用されるものとなる。図１で２番目のランズ・ビフォワーの復号に際して、ワード“１”の符号語(codeword)１００３に応答して２番目のルックアップテーブルＬＵＴ２は復号データ“０”の復号値と２番目のルックアップテーブルＬＵＴ２を指示する２番目のポインタ・アドレスＬＡ２とが並列に生成される。
【０１１１】
図１でトータル・ゼロズ(Total zeros)の後の３番目のランズ・ビフォワー(runs_before)の復号に際しては、２番目のポインタ・アドレスＬＡ２によって指示される２番目のルックアップテーブルＬＵＴ２が使用されるものとなる。図１で３番目のランズ・ビフォワーの復号に際して、ワード“１”の符号語(codeword)１００３に応答して２番目のルックアップテーブルＬＵＴ２は復号データ“０”の復号値と２番目のルックアップテーブルＬＵＴ２を指示する２番目のポインタ・アドレスＬＡ２とが並列に生成される。
【０１１２】
図１でトータル・ゼロズ(Total zeros)の後の４番目のランズ・ビフォワー(runs_before)の復号に際しては、２番目のポインタ・アドレスＬＡ２によって指示される２番目のルックアップテーブルＬＵＴ２が使用されるものとなる。図１で３番目のランズ・ビフォワーの復号に際して、ワード“０１”の符号語(codeword)１００３に応答して２番目のルックアップテーブルＬＵＴ２は復号データ“１”の復号値と１番目のルックアップテーブルＬＵＴ１を指示する１番目のポインタ・アドレスＬＡ１とが並列に生成される。
【０１１３】
《具体的な可変長復号装置》
図９は、本発明の具体的な実施の形態によるＨ．２６４／ＡＶＣに準拠する動画復号装置(デコーダ)の構成を示す図である。
【０１１４】
また、図９の動画復号装置１は、Ｈ．２６４／ＡＶＣ以外にもＭＰＥＧ−２、ＭＰＥＧ−４等の画像符号化方式のための動画復号装置にも適用することができる。
【０１１５】
動画復号装置１は、携帯電話端末やディジタル・カメラ等の電池動作の携帯電子機器のための動画処理用半導体集積回路のＬＳＩチップ上に構成されている。また図９では、例えば電子機器のパワーオン時もしくはパワーオンリセット時等のシステム初期化のシーケンスに、集積回路を動画符号化装置(エンコーダ)もしくは動画復号装置(デコーダ)として動作させることを指示するレベルもしくはビットパターンの動作モード信号が供給される。その結果、この動作モード信号による指示に応答して動画処理用半導体集積回路を構成する共通ハードウェア・リソースが動画符号化装置(エンコーダ)と動画復号装置(デコーダ)の一方として動作する。また、システム初期化のシーケンスに他のレベルもしくは別のビットパターンの動作モード信号が供給されると、動画処理用半導体集積回路を構成する共通ハードウェア・リソースが動画符号化装置(エンコーダ)と動画復号装置(デコーダ)の他方として動作する。
【０１１６】
動画処理用半導体集積回路が動画復号装置(デコーダ)として動作する場合には、例えばハードディスクドライブ(ＨＤＤ)、光ディスクドライブ、大容量不揮発性フラッシュメモリ、無線ＬＡＮ(ローカルエリアネットワーク)等のメディアからＨ．２６４／ＡＶＣに準拠する動画符号化データがビットストリームの形態により供給される。この動画符号化データは動画復号装置(デコーダ)により復号され、復号データは表示用のメモリデバイスに格納されて、表示デバイス２により動画が表示されることができる。
【０１１７】
動画処理用半導体集積回路が動画符号化装置(エンコーダ)として動作する場合には、例えばＣＣＤまたはＣＭＯＳイメージセンサ等の撮像装置からの動画データが供給される。動画符号化装置(エンコーダ)の出力に得られるＨ．２６４／ＡＶＣに準拠したビデオ符号化データは、ＨＤＤ、光ディスク、大容量不揮発性フラッシュメモリ等の記憶装置に格納されることができる。
【０１１８】
図９において、ビットストリーム・バッファ３には、上述の種々のメディアからのＨ．２６４／ＡＶＣに準拠する動画符号化データのビットストリームが供給され格納される。ビットストリーム処理ユニット１０は、外部から入力されるビットストリームのシンタックス解析処理と可変長符号の復号処理とを行うブロックである。
【０１１９】
逆量子化ユニット１１と逆変換ユニット１２とは、ビットストリーム処理ユニット１０からの復号データの逆量子化処理と逆変換処理とをそれぞれ実行するブロックで、逆変換ユニット１２の出力は加算器１６の一方の入力端子に供給される。尚、逆変換ユニット１２での逆変換処理は、コーディック規格によって規定されたＩＤＣＴ(逆離散コサイン変換)である。
【０１２０】
イントラ予測ユニット１３はＨ．２６４／ＡＶＣに準拠したイントラ・フレーム予測(画面内予測)を実行する一方、インター予測ユニット１４はインター・フレーム予測(画面間予測)を実行する。イントラ予測ユニット１３の出力とインター予測ユニット１４の出力とは選択スイッチ１５によって選択されて、選択スイッチ１５によって選択された出力は加算器１６の他方の入力端子に供給される。加算器１６の出力は、フィルター１７とフレームメモリ１８とを介してインター予測ユニット１４に供給される一方、動画復号装置１外部の表示装置２に供給される。
【０１２１】
ビットストリーム処理ユニット１０は、ストリーム・インタフェースユニット１００、符号語処理ユニット１１０、シンタックス処理ユニット１２０によって構成される。外部からのビットストリームはストリーム・インタフェースユニット１００を介して符号語処理ユニット１１０に供給されて、ビットストリームに含まれた種々の符号語(codeword)は符号語処理ユニット１１０によって復号される。符号語処理ユニット１１０による復号で形成された復号値(Value)はシンタックス処理ユニット１２０に供給され、シンタックス処理ユニット１２０は供給される復号値から復号結果を生成する。
【０１２２】
符号語処理ユニット１１０は、ＦＬＣ／ＶＬＣ処理ユニット１１１、可変長符号・復号テーブル１１２、処理制御ユニット１１３、入力セレクター１１４、出力セレクター１１５によって構成されている。ＦＬＣ／ＶＬＣ処理ユニット１１１は、固定長符号(Fixed Length Code：ＦＬＣ)を復号する一方、指数ゴロム符号の復号のように算術演算による復号処理を実行する可変長符号(Variable Length Code：ＶＬＣ)を復号する処理ユニットである。可変長符号・復号テーブル１１２は、ルックアップテーブルの参照を必要とする可変長符号の復号のためのメモリであり、図９の動画復号装置１のコーディック規格によって規定された可変長の符号語(codeword)に対応する復号値(value)を含む複数のルックアップテーブルを含んでいる。
【０１２３】
特に、本発明の実施の形態では、可変長符号・復号テーブル１１２の複数のルックアップテーブルのそれぞれは、可変長の符号語(codeword)に応答して復号値(value)を出力する一方、次の符号語の復号に使用されるルックアップテーブルを指示するポインタ・アドレスを出力する。具体的には、可変長符号・復号テーブル１１２は、図３と図４に示したように、符号語１００３に応答して復号語１００４と次ポインタ・アドレス１００５とを並列に出力する少なくとも１４個のルックアップテーブルＬＵＴ１〜ＬＵＴ１４を含むＬＳＩ内蔵ＲＡＭ１００１によって構成されている。
【０１２４】
また、Ｈ．２６４／ＡＶＣで採用されているコンテキスト適応型可変長符号化方式(ＣＡＶＬＣ)においては現在処理しているシンタックス要素の復号が完了することで、次のシンタックス要素の先頭ビット位置が確定する。従って、シンタックス処理ユニット１２０から生成される復号結果に応答して処理制御ユニット１１３は、ストリーム・インタフェースユニット１００と入力セレクター１１４と出力セレクター１１５とを制御する。その結果、ビットストリーム・バッファ３からの次のシンタックス要素がストリーム・インタフェースユニット１００と入力セレクター１１４とを介してＦＬＣ／ＶＬＣ処理ユニット１１１または可変長符号・復号テーブル１１２に供給され、シンタックス要素の符号語(codeword)の復号が実行される。シンタックス要素の復号が完了すると、ＦＬＣ／ＶＬＣ処理ユニット１１１または可変長符号・復号テーブル１１２から復号値(value)は出力セレクター１１５を介してシンタックス処理ユニット１２０に供給される。
【０１２５】
次に、図９に示した本発明の具体的な実施の形態によるＨ．２６４／ＡＶＣに準拠する動画復号装置１(デコーダ)によって復号可能な種々の動画像符号化方式を説明する。
【０１２６】
≪Ｈ．２６４／ＡＶＣによる符号化ビデオシーケンス≫
ＨＤＴＶは水平方向に最大で１９２０個のピクセルと垂直方向に最大で１０８０本の走査線との大画面を持ち、２つのスキャンモードを有する。１つ目は交互走査線によるインターレース・スキャンであり、２つ目は連続走査線によるプログレッシブ・スキャンである。Ｈ．２６４／ＡＶＣのビデオコーディング層(Video Coding Layer)の符号化ビデオシーケンスも、インターレースド・フレームとプログレッシブ・フレームとに対応する。
【０１２７】
図１０は、Ｈ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスで規定されたプログレッシブ・フレームＰＦとインターレースド・フレームＩＦとを示す図である。図１０に示すように、インターレースド・フレームＩＦでは、偶数番号の行を含むトップフィールドＴＦと奇数番号の行を含むボトムフィールドＢＦが別個に異なった時間に符号化されている。
【０１２８】
≪Ｈ．２６４／ＡＶＣによるイントラ・フレーム予測≫
まず、図９に示したＨ．２６４／ＡＶＣに準拠する動画復号装置１のイントラ予測ユニット１３によるイントラ・フレーム予測を説明する。
【０１２９】
図１１は、Ｈ．２６４／ＡＶＣに準拠した１つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。図１１に示すように、１つのピクチャーは例えば複数のスライスＳｌｉｃｅ＃０、Ｓｌｉｃｅ＃１、Ｓｌｉｃｅ＃２に分割され、１つのスライスＳｌｉｃｅ＃０はＭＢ０００〜ＭＢＳ２０７の３２個のマクロブロックに分割されている。１つのピクチャーの全てのマクロブロックＭＢ０００〜ＭＢ８１１のそれぞれは、輝度成分で１６×１６サンプルの四角形ピクチャー領域とそれに対応する２つの色差成分のそれぞれに８×８サンプル領域とを含んでいる。
【０１３０】
図１２は、Ｈ．２６４／ＡＶＣに準拠したイントラ・フレーム予測で４×４サンプルの１つのブロックが空間的に近傍のサンプルから予測される予測モードＰＭの様子を示す図である。図１２に示すように、記号ａから記号ｐまでの４×４ブロックの１６サンプルは、記号Ａから記号Ｑとラベルされた近傍ブロック中で以前に復号されたサンプルを使用して予測することができる。更に、図１２に示すように予測モードＰＭは、９つの４×４予測モードを含んでいる。モード０(垂直予測)では４×４ブロックの上のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード１(水平予測)では４×４ブロックの左のブロックのサンプルから矢印に示すようにコピーされた値から予測され、モード２(ＤＣ予測)では４×４ブロックの上のブロックと左のブロックのうちの有効画素の平均値から予測される。モード３(斜め左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード４(斜め右下予測)では斜め左上のサンプルから矢印に示すように予測される。モード５(垂直右下予測)では斜め左上のサンプルから矢印に示すように予測され、モード６(水平右下予測)では斜め左上のサンプルから矢印に示すように予測される。モード７(垂直左下予測)では斜め右上のサンプルから矢印に示すように予測され、モード８(水平右上予測)では斜め左下のサンプルから矢印に示すように予測される。
【０１３１】
この図１２に示した輝度４×４のブロックの量子化変換係数(１６個のＤＣＴ係数)の近傍サンプルへの予測にも、図３と図９とに示したラン・ビフォワーの高性能リアルタイム復号を応用することができる。
【０１３２】
≪Ｈ．２６４／ＡＶＣによるインター・フレーム予測≫
次に、図９に示したＨ．２６４／ＡＶＣに準拠する動画復号装置１のインター予測ユニット１２によるインター・フレーム予測を説明する。
【０１３３】
図１３は、インター予測ユニット１１２でのインター・フレーム予測に際してＨ．２６４／ＡＶＣに準拠した動き補償予測のために、１つのマクロブロックが更に小さな領域に分割されることを示す図である。図１３の上段は輝度で１６×１６、１６×８、８×１６、８×８のサンプルのブロックサイズのセグメンテーションを示し、図１３の下段は輝度で８×８、８×４、４×８、４×４のサンプルのブロックサイズのセグメンテーションを示している。図１３の上段と下段との動き補償予測のためのブロックは、動き補償予測のためのシンタックスを含んでいる。このシンタックスを利用することによって、１つ以上の以前に符号化されたピクチャーが動き補償予測のための参照に使用されるマルチピクチャー動き補償予測が可能となる。
【０１３４】
図１４は、Ｈ．２６４／ＡＶＣのマルチピクチャー動き補償予測を示す図である。現在のピクチャーＣＰは以前に符号化されたピクチャーから動きベクトルとピクチャー参照パラメータΔ(＝１、２、４)とを伝達することによって予測されることができる。
【０１３５】
《他の動画像符号化方式への対応》
図４と図６から図８に示した１４個のルックアップテーブルＬＵＴ１〜ＬＵＴ１４を含むメモリ１００１を具備する図３または図９に示す可変長復号装置１が、図１に示したＨ．２６４／ＡＶＣに準拠する量子化変換係数に関係するランズ・ビフォワー(runs_before)を復号するものである。
【０１３６】
従って、図３または図９に示す可変長復号装置１または動画復号装置１を、Ｈ．２６４／ＡＶＣに準拠する動画像符号化方式と異なるＭＰＥＧ−２やＭＰＥＧ−４等による他の動画像符号化方式に対応するためには、図３の可変長復号装置１のメモリ１００１と図９の可変長復号装置１の可変長符号・復号テーブル１１２の内蔵ＲＡＭ中に格納されるメモリ内容を変更すれば良い。そのためには、メモリ１００１や可変長符号・復号テーブル１１２の内蔵ＲＡＭのメモリ内容である符号語１００３の符号語(codeword)と復号結果としての復号値(Value)と次ポインタ・アドレス(ＬＡ)１００５のそれぞれのデータ・コードをＭＰＥＧ−２やＭＰＥＧ−４等の他の動画像符号化方式に対応するように変更するものである。
【０１３７】
図３、図９に示す復号装置１のメモリ１００１や可変長符号・復号テーブル１１２の内蔵ＲＡＭ中に格納されるメモリ内容であるデータ・コードは、可変長復号装置１が搭載されるシステムとしての動画像復号装置に搭載される半導体不揮発性フラッシュメモリから電源投入時等のシステム・リセットの際に転送されることができる。システム・リセット時の初期化シーケンスに、動画像復号装置をＨ．２６４／ＡＶＣとＭＰＥＧ−２とＭＰＥＧ−４とのいずれの動画像符号化方式に対応するかを選択することになる。選択した方式に従って可変長復号装置１のメモリ１００１、可変長符号・復号テーブル１１２の内蔵ＲＡＭに格納されるメモリ内容が決定されて、電源投入後に動作を開始する動画像復号装置の動作方式が決定されることが可能となる。
【０１３８】
以上、本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１３９】
例えば、マクロブロック(１６画素×１６画素)の単位で処理を行う場合について説明したが、３２画素×３２画素、８画素×８画素等、任意の大きさのマクロブロックで処理を行う場合にも適用できる。
【０１４０】
また、ＭｏｔｉｏｎＪＰＥＧ等の静止画を連結させて動画とする画面内符号化のみの動画像符号化方式においても、インター・フレーム予測を行い、動き量を推測して、量子化パラメータに反映することによって、同様の効果を得ることができる。
【０１４１】
本発明は、動画処理用半導体集積回路以外にも、アナログ・機能ブロックとディジタル・機能ブロックとが混載したミックスドシグナルシステムＬＳＩに搭載するＨ．２６４／ＡＶＣに準拠する動画符号化と動画復号とを実行する集積回路として広く採用することができる。
【０１４２】
更に、電源投入時等のシステム・リセット時の初期化シーケンスの際に図３、図９に示す可変長復号装置１のメモリ１００１や可変長符号・復号テーブル１１２の内蔵ＲＡＭに転送されるメモリ内容を格納する不揮発性メモリは、システムＬＳＩに搭載される内蔵不揮発性メモリによって構成することもできる。
【図面の簡単な説明】
【０１４３】
【図１】図１は、Ｈ．２６４／ＡＶＣに準拠する可変長符号化装置での輝度４×４のブロックの量子化変換係数の符号化ビットストリームの形成プロセスと、Ｈ．２６４／ＡＶＣに準拠する可変長復号装置における符号化ビットストリームの復号処理の様子を示す図である。
【図２】図２は、図１に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するために本発明に先立って本発明者等によって検討されたルックアップ・テーブルを利用する可変長復号装置の一部の構成を示す図である。
【図３】図３は、図１に示した量子化変換係数に関係するラン・ビフォワーの復号と次のラン・ビフォワーの復号のためのゼロズ・レフトの更新とを実行するための本発明の実施の形態による可変長復号装置の一部の構成を示す図である。
【図４】図４は、図３に示す可変長復号装置の一部の構成において、符号語に応答して復号値と次ポインタ・アドレスとを並列に出力するための１４個のルックアップテーブルを含むメモリの構成を示す図である。
【図５】図５は、図３に示す可変長復号装置の一部の構成によって復号されるラン・ビフォワーの復号値と、復号前のゼロズ・レフトの初期値と、ラン・ビフォワーを符号化した符号語との関係を示す図である。
【図６】図６は、図４のメモリでそれぞれ１４番目から１１番目のポインタ・アドレスによって指定される１４番目から１１番目のメモリ領域の構成を示す図である。
【図７】図７は、図４のメモリでそれぞれ１０番目から７番目のポインタ・アドレスによって指定される１０番目から７番目のメモリ領域の構成を示す図である。
【図８】図８は、図４のメモリでそれぞれ６番目から１番目のポインタ・アドレスによって指定される６番目から１番目のメモリ領域の構成を示す図である。
【図９】図９は、本発明の具体的な実施の形態によるＨ．２６４／ＡＶＣに準拠する動画復号装置の構成を示す図である。
【図１０】図１０は、Ｈ．２６４／ＡＶＣのＶＣＬの符号化ビデオシーケンスで規定されたプログレッシブ・フレームとインターレースド・フレームとを示す図である。
【図１１】図１１は、Ｈ．２６４／ＡＶＣに準拠した１つのピクチャーのスライスとマクロブロックへのパーティションとイントラ・フレーム予測とを示す図である。
【図１２】図１２は、Ｈ．２６４／ＡＶＣに準拠したイントラ・フレーム予測で４×４サンプルの１つのブロックが空間的に近傍のサンプルから予測される予測モードＰＭの様子を示す図である。
【図１３】図１３は、図９に示した動画復号装置のインター予測ユニットでのインター・フレーム予測に際してＨ．２６４／ＡＶＣに準拠した動き補償予測のために、１つのマクロブロックが更に小さな領域に分割されることを示す図である。
【図１４】図１４は、Ｈ．２６４／ＡＶＣのマルチピクチャー動き補償予測を示す図である。
【符号の説明】
【０１４４】
１００１  メモリ
１００２  アクセス制御ユニット
ＡＬＵ  算術論理ユニット
ＬＵＴ１〜ＬＵＴ１４  ルックアップテーブル
Total_zeos  トータル・ゼロズ
１００３  符号語
１００４  復号値
ＬＡ１〜ＬＡ１４  ポインタ・アドレス
１００５  次ポインタ・アドレス
１  動画復号装置
２  表示デバイス
３  ビットストリーム・バッファ
１０  ビットストリーム処理ユニット
１１  逆量子化ユニット
１２  逆変換ユニット
１３  イントラ予測ユニット
１４  インター予測ユニット
１５  選択スイッチ
１６  加算器
１７  フィルター
１８  フレームメモリ
１００  ストリーム・インタフェースユニット
１１０  符号語処理ユニット
１２０  シンタックス処理ユニット
１１１  ＦＬＣ／ＶＬＣ処理ユニット
１１２  可変長・復号テーブル
１１３  処理制御ユニット
１１４  入力セレクター
１１５  出力セレクター
【図１】
0004945513.tif 000002
【図２】
0004945513.tif 000003
【図３】
0004945513.tif 000004
【図４】
0004945513.tif 000005
【図５】
0004945513.tif 000006
【図６】
0004945513.tif 000007
【図７】
0004945513.tif 000008
【図８】
0004945513.tif 000009
【図９】
0004945513.tif 000010
【図１０】
0004945513.tif 000011
【図１１】
0004945513.tif 000012
【図１２】
0004945513.tif 000013
【図１３】
0004945513.tif 000014
【図１４】
0004945513.tif 000015