JPH1065549A - 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法 - Google Patents

可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法

Info

Publication number
JPH1065549A
JPH1065549A JP9076170A JP7617097A JPH1065549A JP H1065549 A JPH1065549 A JP H1065549A JP 9076170 A JP9076170 A JP 9076170A JP 7617097 A JP7617097 A JP 7617097A JP H1065549 A JPH1065549 A JP H1065549A
Authority
JP
Japan
Prior art keywords
length
encoded data
data values
value
shift control
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.)
Granted
Application number
JP9076170A
Other languages
English (en)
Other versions
JP3737599B2 (ja
Inventor
Richard Sita
シタ リチャード
Edward M Brosz
エム. ブロズ エドワード
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of JPH1065549A publication Critical patent/JPH1065549A/ja
Application granted granted Critical
Publication of JP3737599B2 publication Critical patent/JP3737599B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 データストリーム内に含まれる複数の可変長
符号化データ値の長さを1クロックサイクル内に決定す
る。 【解決手段】 複数の可変長符号化データ値のうち1サ
ブセットを伝送するシフト手段206と、サブセットに
おける複数のデータ値のうちの第1のデータ値の長さを
決定する第1の長さ復号化手段210と、第2のデータ
値の長さを個別に決定する第2の長さ復号化手段であっ
て、サブセットにおいて第1の符号化データ値の直後に
続いており、復号化動作が同時に行われる第2の長さ復
号化手段212と、第1、第2のデータ値の長さに応答
して、両データ値の組合わせの長さを出力する復号化手
段と、組合わせの長さに応答してシフト制御信号235
を形成し、次に符号化されたデータ値の位置を識別し、
次の符号化データ値が、第2の符号化データ値の直後に
続いており、シフト制御信号をシフト手段206に伝送
する手段218,222,234,236を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、可変長デコーダ
(VLD)に関しており、具体的には、圧縮されたイメ
ージデータを復号化するのに適した可変長符号用のデコ
ーダに関している。
【0002】
【従来の技術】近年、イメージデータ圧縮技術には目覚
ましい進歩が見られる。このような技術の目的は、符号
化されていないイメージデータに必要となるビットレー
トよりも低いビットレートでイメージデータを符号化す
ることにより、例えばディジタル送信や記録の能率を高
めることにある。このような符号化能率を得るために用
いられている技術としては、例えば、予測符号化や変換
符号化などがある。
【0003】また、圧縮された符号に対して可変長符号
化をおこなうことによって、さらなるイメージデータ圧
縮が達成される。可変長符号化は、符号化されたビット
幅を、符号化される値の出現頻度に従って変化させるこ
とを含む。典型的には、より高い頻度で出現する値に
は、より低い頻度で出現する値よりも短い符号が割り当
てられる。よって、固定長符号化の場合に比べて、より
低いビットレートが得られる。可変長符号としては、例
えば、ハフマン符号がある。
【0004】可変長コードワード(VLC)は、典型的
には、ルックアップテーブル(LUT)を用いて復号化
される。nビットのパラメータデータ信号が、LUTに
結合される。このnビット信号は、LUTに格納されて
いるデータに対するアドレスとして用いられる可変長コ
ードワード(その長さはnビットでよい)を含んでい
る。LUTに格納されているデータは、符号長および符
号値に対応している。符号長は、nビット信号において
識別された可変長コードワードの長さを具体的に示す。
符号値は、可変長符号の復号化された(つまり固定長
の)値である。LUTの出力は、符号長および符号値で
ある。
【0005】米国では、ディジタル的に符号化された高
精細度テレビジョン信号についてある規格が提案されて
いる。この規格は、国際標準化機構(ISO)のムービ
ング・ピクチャ・エキスパート・グループ(MPEG)
により提案されているMPEG−2規格と本質的には同
じである。以下、この規格を「MPEG規格」と称す
る。この規格は、「情報技術−動画およびそれに付随す
る音声の生成符号化、勧告H.262」(ISO/IE
C13818−2、1995年(E))と題された国際
規格案(DIS)公報中に記載されている。この公報は
ISOから入手可能であり、本願明細書も、そのMPE
G−2ディジタルビデオ符号化規格に関する教示につい
ては参考として援用している。
【0006】MPEG規格が可変長符号化をどのように
用いているかを知るための例として、MPEG−2規格
の付録Bで規定されているコードテーブルB−14およ
びB−15を考える。このコードテーブルでは、最大1
7ビットのサイズの可変長コードワードが復号化される
ことになる。それぞれの符号は、「ラン」値と「レベ
ル」値との互いに異なる組み合わせに対応している。こ
こで、ランは、スキャンオーダーにおける非ゼロ係数に
先行するゼロ係数の個数であり、レベルは、非ゼロ係数
の絶対値である。
【0007】MPEG−2高精細度テレビジョン(HD
TV)ビデオデコーダは、非常に高い復号化レートを必
要とする。圧縮されたビットストリーム内の多数のフィ
ールドは可変長符号化されてはいるものの、このビット
ストリームのうちのおよそ85%は、離散コサイン変換
(DCT)係数復号化を含んでいる。HDTVビットス
トリームは、1秒当たり1憶個のオーダーの可変長符号
の復号化を必要とする。よって、ある時刻における1個
の符号は、100MHzのクロックを必要とする。この
ような高クロックレートは、現在利用可能な高密度AS
ICの実用的限界を超えている。その代わりに用いられ
る手段としては、1クロックサイクルにつき多数の符号
を復号化することが挙げられる。
【0008】
【発明が解決しようとする課題】多数の符号を復号化す
るためのある方法では、互いに協調して動作する2つの
VLDを使用することが要求される。このようなアプロ
ーチの欠点としては、データはスライスフォーマットで
あり、それぞれのスライスの長さは復号化の前には分か
っていないので、2つのパラレルパスが別々のスライス
を対象として動作しなければならないことがある。この
ような場合には、1個1個のスライスを分離するための
前処理とメモリとが必要になる。
【0009】本願明細書は、所定の優先順位のつけられ
た復号化構成を用いたVLDに関するその教示について
は、Ozakiに付与された米国特許第5,428,3
56号を明示的に参考として援用する。OzakiのV
LDは、ハフマン符号列の先頭ハフマン符号を復号化す
る第1のデコーダ回路と、ハフマン符号列の先頭部分か
ら選択された2つの所定のハフマン符号からなる連続符
号列を復号化する第2のデコーダ回路とを備えている。
第1のデコーダは、上述したようにLUTを用いる。第
2のデコーダは、一定数の所定のコードワードペアのそ
れぞれ1つのペアが、LUTに格納されているデータに
対するアドレスとして用いられる、LUTを用いる。L
UTに格納されているデータは、符号長と符号値のシー
ケンスのペアに対応している。入力ストリームにおいて
所定のコードワードペアのうちのあるペアに遭遇したと
き、対応する符号値ペアおよび符号値ペアは、第2のデ
コーダにより出力される。第2のデコーダが2つの復号
化された値を出力するとき、選択器は第2のデコーダの
出力を選択する。第2のデコーダが2つの復号化された
値を生成できなかったとき、選択器は、第1のデコーダ
の出力を選択する。
【0010】Ozakiの特許のVLDは、第2のデコ
ーダが限られた数の所定の2列の組み合わせしか復号化
できないという点で限定されたものである。より詳細に
は、第2のデコーダは、選択された符号ペアしか復号化
できない。そのため、そのペアは、全長が短くなる。よ
り大きな長さの列に遭遇した時には、多数のクロックサ
イクルが必要になる。ハフマン符号は、一般に、低い周
波数の符号がより大きな長さをもつように選択されるの
で、Ozakiの第2のデコーダは、概略的には、より
低い周波数の符号を含む符号ペアを復号化できない。よ
って、多数のクロックサイクルが必要になる。
【0011】さらに、OzakiのVLDは、大きなメ
モリを必要とする。なぜなら、nビットアドレスが、L
UTに対する入力として供給されなければならないから
である。また、LUTにおけるそれぞれのメモリ位置
は、zビットの符号長とvビットの符号値とを格納す
る。その結果、符号長および符号値とを格納するために
は、合計z+vビットが必要になる。1個のLUTに必
要とされる合計ビット数は、2n×(z+v)となる。
【0012】よって、変換テーブルのサイズを制限する
ことによって、その変換テーブルに必要とされるメモリ
サイズを小さくしようとする提案がなされている。しか
し、このような技術によれば、復号化処理の速度が遅く
なってしまう。
【0013】本発明は、上記課題を解決するためになさ
れたものであり、その目的とするところは、データスト
リーム内に含まれる複数の可変長符号化されたデータ値
の長さを1クロックサイクル内に決定する装置および方
法を提供することにある。
【0014】
【課題を解決するための手段】本発明による装置は、デ
ータストリーム内に含まれる複数の可変長符号化された
データ値の長さを1クロックサイクル内に決定する装置
であって、該データストリームを受け取り、シフト制御
信号に応答して、該複数の可変長符号化されたデータ値
のうちの1サブセットを伝送するシフト手段と、該複数
の符号化されたデータ値の該サブセットを受け取るよう
に結合されており、第1の復号化動作をおこなうことに
よって、該サブセットにおける該複数の符号化されたデ
ータ値のうちの第1のデータ値の長さを決定する、第1
の長さ復号化手段と、該複数の符号化されたデータ値の
該サブセットを受け取るように結合されており、第2の
復号化動作をおこなうことによって、該サブセットにお
ける該複数の符号化されたデータ値のうちの第2のデー
タ値の長さを個別に決定する、第2の長さ復号化手段で
あって、該サブセットにおいて、該第2の符号化された
データ値が、該第1の符号化されたデータ値の直後に続
いており、該第1および該第2の復号化動作が同時にお
こなわれる、第2の長さ復号化手段と、該第1および該
第2の符号化されたデータ値の該長さに応答して、該第
1および該第2のデータ値の組み合わされた長さを出力
する、組み合わされた長さ復号化手段と、該第1および
該第2のデータ値の該組み合わされた長さに応答して該
シフト制御信号を形成し、それにより、該シフト手段内
で次に符号化されたデータ値の位置を識別するシフト制
御手段であって、該次の符号化されたデータ値が、該第
2の符号化されたデータ値の直後に続いており、該シフ
ト制御信号を該シフト手段に伝送する、シフト制御手段
と、を備えており、そのことにより上記目的が達成され
る。
【0015】ある実施形態では、前記第2の長さ復号化
手段が、複数の長さデコーダであって、それぞれが、前
記第1の符号化されたデータ値の可能なさまざまな長さ
の1つに対応しており、前記複数の符号化されたデータ
値の前記サブセットの互いに異なる部分を同時に復号化
する、複数の長さデコーダを備えている、装置であっ
て、該複数の長さデコーダのそれぞれが、該第1の符号
化されたデータ値の該対応する可能な長さの1つに基づ
いて、前記第2の符号化されたデータ値の長さの対応す
るそれぞれの値を決定する。
【0016】ある実施形態では、前記第1の長さ復号化
手段が、前記第1の符号化されたデータ値の前記長さを
示す第1の長さ信号を発生して伝送し、かつ前記第2の
長さ復号化手段の前記複数の長さデコーダのそれぞれ
が、それぞれに対応する出力信号を発生して伝送する、
装置であって、該第1の長さ信号に応答して、該第1の
長さ信号により示された該第1の符号化されたデータ値
の該長さに対応する、該長さデコーダの1つの出力信号
を選択する手段であって、該選択された出力信号が、前
記第2の符号化されたデータ値の長さを示している、手
段をさらに備えている。
【0017】ある実施形態では、前記第1の長さ復号化
手段が、前記第1の符号化されたデータ値の前記可能な
さまざまなの長さに対応する複数のビットを出力し、該
第1の長さ復号化手段により出力された該複数のビット
のうちの単一のビットが設定され、該設定されたビット
は、該第1の長さ復号化手段により決定された該第1の
符号化されたデータ値の該長さに対応しており、前記第
2の長さ復号化手段の前記複数の長さデコーダがそれぞ
れ、該それぞれの長さデコーダにより決定される前記第
2の符号化されたデータ値の長さを表す対応する対応す
る出力信号を発生し、かつ、前記組み合わされた長さ復
号化手段が、該単一の設定されたビットに応答して、該
ビットが該第1の長さ復号化手段により設定される対象
である、該第1の符号化されたデータ値の該長さに対応
する、該複数の長さデコーダの1つによる該出力信号の
伝送をイネーブルする。
【0018】ある実施形態では、前記シフト制御手段
が、前記第1および前記第2の符号化されたデータ値の
前記組み合わされた長さの可能なさまざまな値に対応す
る複数の加算器を備えており、該複数の加算器のそれぞ
れが、候補シフト制御信号を形成し、前記組み合わされ
た長さ復号化手段が、該第1および該第2の符号化され
たデータ値の該組み合わされた長さの該可能なさまざま
な値に対応する複数のビットを出力し、該組み合わされ
た長さ復号化手段により出力された該複数のビットの1
つが設定され、該設定されたビットは、該第1および該
第2の符号化されたデータの該組み合わされた長さに対
応しており、かつ該シフト制御手段が、該組み合わされ
た長さ復号化手段により出力された該設定されたビット
を用いて、該複数の加算器の1つにより出力された該候
補シフト制御信号の伝送をイネーブルし、該1つの加算
器が、該第1および該第2の符号化されたデータ値の該
組み合わされた長さに対応している。
【0019】ある実施形態では、前記シフト手段が、前
記データストリームを受け取り、固定された数のデータ
ビットを前記第1および前記第2の長さ復号化手段に伝
送するシフタ/マルチプレクサを備えており、かつ前記
シフト制御信号が、該シフタ/マルチプレクサ内の該固
定された数のデータビットのうちの第1のデータビット
の位置を識別する。
【0020】ある実施形態では、前記シフト制御手段
が、前記第1および前記第2の符号化されたデータ値の
前記組み合わされた長さの前記可能なさまざまな値に対
応する複数の加算器であって、それぞれが対応する候補
シフト制御信号を同時に形成し伝送する、複数の加算器
と、該第1および前記第2の符号化されたデータ値の該
組み合わされた長さに応答して、該第1および前記第2
の符号化されたデータ値の該組み合わされた長さに対応
する該候補シフト制御信号を選択し、該選択された候補
を該シフト制御信号として前記シフト手段に伝送する、
和選択手段と、を備えている。
【0021】ある実施形態では、前記複数の加算器がそ
れぞれ、対応するモジュロ算術演算をおこなうことによ
って、該それぞれの加算器の前記候補シフト制御信号を
形成する。
【0022】ある実施形態では、前記シフト手段が、前
記データストリームを受け取り、固定された数の連続す
るデータビットを前記第1および前記第2の長さ復号化
手段に伝送するシフタ/マルチプレクサを備えており、
かつ前記シフト制御信号が、該シフタ/マルチプレクサ
内の該固定された数の連続するデータビットのうちの第
1のデータビットの位置を識別する。
【0023】ある実施形態では、前記データストリーム
が符号化されたビデオ信号を含んでおり、前記第1およ
び前記第2の符号化されたデータ値が、該ビデオ信号の
離散コサイン変換係数を表現する。
【0024】本発明による装置は、複数の可変長符号化
されたデータ値から構成されるデータストリームを1ク
ロックサイクル内に復号化する装置であって、該データ
ストリームを受け取り、シフト制御信号に応答して、該
複数の可変長符号化されたデータ値のうちのサブセット
を伝送するシフト手段と、該複数の符号化されたデータ
値の該サブセットを受け取るように結合されており、第
1の復号化動作をおこなうことによって、該サブセット
における該複数の符号化されたデータ値のうちの第1の
データ値の長さを決定する、第1の長さ復号化手段と、
該複数の符号化されたデータ値の該サブセットを受け取
るように結合されており、第2の復号化動作をおこなう
ことによって、該サブセットにおける該複数の符号化さ
れたデータ値のうちの第2のデータ値の長さを個別に決
定する、第2の長さ復号化手段であって、該サブセット
において、該第2の符号化されたデータ値が、該第1の
符号化されたデータ値の直後に続いており、該第1およ
び該第2の復号化動作が同時におこなわれる、第2の長
さ復号化手段と、該第1および該第2の符号化されたデ
ータ値の該長さに応答して、該第1および該第2のデー
タ値の組み合わされた長さを出力する、組み合わされた
長さ復号化手段と、該第1および該第2のデータ値の該
組み合わされた長さに応答して、該シフト制御信号を形
成し、それにより、該シフト手段内で次に符号化された
データ値の位置を識別するシフト制御手段であって、該
次の符号化されたデータ値が、該第2の符号化されたデ
ータ値の直後に続いており、該シフト制御信号を該シフ
ト手段に伝送する、シフト制御手段と、該複数の符号化
されたデータ値の該サブセット、該第1の符号化された
データ値の該長さ、ならびに該第1および該第2の符号
化されたデータ値の該組み合わされた長さを受け取るよ
うに結合されており、該第1および該第2の符号化され
たデータ値を第1および第2の復号化された値にそれぞ
れ変換する、値復号化手段と、を備えており、そのこと
により上記目的が達成される。
【0025】本発明による方法は、データストリーム内
に含まれる複数の可変長符号化されたデータ値の長さを
1クロックサイクル内に決定する方法であって、該デー
タストリームおよびシフト制御信号を受け取るステップ
と、第1の復号化動作をおこなうことによって、該サブ
セットにおける該複数の符号化されたデータ値のうちの
第1のデータ値の長さを決定するステップと、第2の復
号化動作をおこなうことによって、該サブセットにおけ
る該符号化されたデータ値のうちの第2のデータ値の長
さを個別に決定するステップであって、該サブセットに
おいて、該第2の符号化されたデータ値が、該第1の符
号化されたデータ値の直後に続いており、該第1および
該第2の復号化動作が同時におこなわれる、ステップ
と、該第1および該第2のデータ値の組み合わされた長
さを出力するステップと、該シフト制御信号を形成する
ことによって、該サブセット内に含まれている該複数の
符号化されたデータ値のうちのいくつかを決定するステ
ップと、該シフト制御信号をシフト手段に伝送するステ
ップと、を含んでおり、そのことにより上記目的が達成
される。
【0026】以下に作用を説明する。本発明によれば、
データストリーム内に含まれる複数の可変長符号化され
たデータ値の長さを1クロックサイクル内に決定する装
置および方法が提供される。
【0027】この装置は、データストリームを受け取る
シフタを備えている。シフタは、シフト制御信号に応答
して、複数の可変長符号化されたデータ値のサブセット
を伝送する。
【0028】第1の長さ復号化メカニズムが、複数の符
号化されたデータ値のサブセットを受け取るように結合
される。第1の長さ復号化メカニズムは、第1の復号化
動作をおこなうことによって、そのサブセットにおける
複数の符号化されたデータ値のうちの第1のデータ値の
長さを決定する。
【0029】第2の長さ復号化メカニズムが、複数の符
号化されたデータ値のサブセットを受け取るように結合
される。第2の長さ復号化メカニズムは、第2の復号化
動作をおこなうことによって、そのサブセットにおける
複数の符号化されたデータ値のうちの第2のデータ値の
長さを決定する。第2の符号化されたデータ値は、その
サブセット内では、第1の符号化されたデータ値の直後
に続いている。第1および第2の復号化動作は、同時に
おこなわれる。
【0030】組み合わされた長さデコーダは、第1およ
び第2の符号化されたデータ値の長さに応答して、第1
および第2のデータ値の組み合わされた長さを出力す
る。
【0031】シフトコントローラは、第1および第2の
データ値の組み合わされた長さに応答して、シフト制御
信号をつくる。このシフト制御信号は、シフタ内で次に
符号化されるデータ値の位置を識別する。次に符号化さ
れるデータは、第2の符号化されたデータ値の直後に続
いている。シフトコントローラは、シフト制御信号をシ
フタに伝送する。
【0032】
【発明の実施の形態】
(概観)図1は、本発明を適用可能な可変長デコーダ
(VLD)係数デコーダ100の一例を示すブロック図
である。本発明によれば、可能なあらゆる組み合わせに
よる2つの連続する符号化されたデータ値を1クロック
サイクル内に復号化できる、改善された可変長デコーダ
(VLD)長さ復号化ループ110が実現される。図1
の例では、本発明は、DCT係数(これらの係数は、符
号化されたデータストリームの85%を占めている)の
長さを復号化するために用いられる。しかし、本発明が
その他の可変長符号化されたデータ値(例えば、高レベ
ルシンタクスあるいはその他の可変長符号化値)を復号
化するのにも用いることができることは、当業者には理
解できるであろう。
【0033】図2は、図1に示されているVLD長さ復
号化ループ110を示すブロック図である。本実施例の
長さ復号化ループ装置110は、可変長符号化されたデ
ータ値を第1の長さデコーダ210に伝送するシフタ2
06を備えている。第1の長さデコーダ210は、第1
の復号化動作をおこなうことによって、複数の符号化さ
れたデータ値のうちの第1のデータ値の長さ211を決
定する。
【0034】第2の長さ復号化手段212は、シフタ/
マルチプレクサ206から複数の符号化されたデータ値
を受け取り、第2の復号化動作をおこなうことによっ
て、第1の符号化されたデータ値の直後に続く第2のデ
ータ値の長さを決定するように結合されている。第1お
よび第2の復号化動作は、同時におこなわれる。第2の
長さ復号化手段212は、複数のデコーダ212a〜2
12pを備えている。これら複数のデコーダはそれぞ
れ、第1の符号化されたデータ値の可能なさまざまな長
さの1つに対応している。デコーダ212a〜212p
はそれぞれ、第2の符号化されたデータ値の対応する長
さ213a〜213pを同時に決定し、それぞれは、第
1の符号化されたデータ値とは異なる長さをもつとす
る。組み合わされた長さデコーダ214は、第1のデー
タ値の実際に復号化された長さ211を用いて、デコー
ダ212a〜212pにより出力された復号化された長
さ213a〜213pのうちから1つを選択し、組み合
わされた長さ信号L3を出力する。
【0035】ブロック218、222、234および2
36を含むシフトコントローラは、組み合わされた長さ
デコーダ214から組み合わされた長さを受け取るよう
に結合されており、複数の符号化されたデータ値のうち
のどれが、第1および第2の長さ復号化手段に伝送され
るかを決定するのに用いられるシフト制御信号235を
つくる。シフト制御信号235は、シフタ206に伝送
される。
【0036】以下に、図2を参照して、本実施例による
VLD長さ復号化ループ110についてさらに詳しく説
明する。
【0037】(詳細な説明)ここでは、「情報技術−動
画およびそれに付随する音声情報の生成符号化:ビデ
オ」の勧告H.262(ISO/IEC13818−
2、1995年(E))(以下では、「MPEG規格」
と称する)の実際に用いられている知識を用いるものと
し、その詳細については割愛する。
【0038】再び図1を参照すると、VLD長さ復号化
ループ110は、48ビットの圧縮された入力データス
トリームDATA_IN 111を受け取る。このデー
タストリームは、符号化されたデータを含んでいる。V
LD長さ復号化ループ110に与えられるその他の入力
信号(MACROBLOCK_INTRA、LUMA/
CHROMA、INTRA_VLC_FORMAT、T
EST_MODE、HOLD、RESTARTおよびE
XTERNAL_MUX_POSITION)につい
て、以下に図3を参照して詳細に説明する。MACRO
BLOCK_INTRAフラグは、MPEG規格のパラ
グラフ6.3.17.1およびテーブルB−2〜B−8
に規定されている。LUMA/CHROMAフラグは、
受け取られたブロックが輝度ブロックであるか、あるい
はクロミナンスブロックであるかを示す。INTRA_
VLC_FORMATは、MPEG規格のパラグラフ
6.2.3.1の「ピクチャ符号化拡張」に詳述されて
いる。
【0039】VLD長さ復号化ループ110は、1クロ
ックサイクルのあいだに、2つの連続する符号化された
データ値の長さを決定する。第1の符号化されたデータ
値の長さは、L1で表され、第1および第2の符号化さ
れたデータ値の組み合わされた長さは、L3で表され
る。入力データ111のサブセット112ならびに復号
化された長さ値L1およびL3は、VLDラン/レベル
復号化ブロック120、VLDイントラDC係数復号化
ブロック130および出力制御ブロック140に伝送さ
れる。
【0040】VLD長さ復号化ループ110は、B14
信号およびB15信号をVLDラン/レベル復号化機能
120に与えることによって、ラン/レベル復号化にお
いてどのLUTを用いるべきか識別する。B14信号
は、DCT係数テーブル、0、LUT(MPEG規格、
付録B、テーブルB−14に詳述されている)が用いら
れることを示す。B15信号は、DCT係数テーブル、
1、情報(MPEG規格、付録B、テーブルB−15に
詳述されている)が用いられることを示す。これらのテ
ーブルを、本明細書では、それぞれ「テーブルB−1
4」および「テーブルB−15」と称する。これらのB
−14およびB−15テーブルは、それぞれのVLCに
ついてランおよびレベルを指定する(ただし、エスケー
プ符号化された値は別である。この符号の場合、ランお
よびレベルは、テーブルB−16にその詳細が述べられ
ている)。
【0041】係数(テーブルB−14またはB−15で
識別された)の復号化された値が、「エンドオブブロッ
ク」シーケンスであるとき、そのブロックには、それ以
上の係数はない。VLD長さ復号化ループ110は、エ
ンドオブブロックシーケンスを検出すると、END_O
F_BLOCK信号を出力制御機能140に与える。
【0042】VLDラン/レベル復号化ブロック120
は、入力データと、長さL1およびL3と、テーブルB
14およびテーブルB15とを受け取る。VLDラン/
レベル復号化ブロック120は、この情報を用いて、復
号化された値を決定する。DCイントラ係数以外のDC
T係数については、VLDラン/レベル復号化ブロック
120は、入力データにおける2つのVLCのそれぞれ
について(MPEG規格、パラグラフ3.79および
3.119に規定されているように)ランおよびレベル
を決定する。これらの値は、それぞれRUN_1、LE
VEL_1、RUN_2およびLEVEL_2と表され
る。復号化された値の決定は、テーブルB14またはB
15に基づいているので、ある所与のブロックに適用可
能なテーブルは、MPEG規格のテーブル7−3に従っ
て決定される。
【0043】ランおよびレベルの可能な多数の組み合わ
せは、それらを表す可変長符号(VLC)をもっていな
い。これらの統計的には稀である組み合わせを符号化す
るためには、MPEG規格のパラグラフ7.2.2.3
に詳述されているエスケープ符号化方法が用いられる。
この方法によれば、エスケープVLCの後には、ラン値
に対応する6ビットの固定長符号が続く。そして、この
固定長符号の後には、正負の符号つきレベルの値を表す
12ビットの固定長符号が続く。もし符号化されたデー
タが「エスケープ符号」を含んでいれば、VLDラン/
レベル復号化ブロック120は、ランおよびレベル値
を、MPEG規格、付録B、テーブルB−16に規定さ
れているように与える。エスケープ符号の検出は、図1
では信号ESC_1およびESC_2により表されてお
り、復号化された値は、変数RUN_1_ESC、LE
VEL_1_ESC、RUN_2_ESCおよびLEV
EL_2_ESCにより与えられている。なお、エスケ
ープ符号は依然としてVLCであり、エスケープ符号
は、B14およびB15のLUTのそれぞれに現れる。
エスケープ符号化された値のランおよびレベル値は固定
長ではあるが、ランおよびレベルに先行するエスケープ
符号は、VLCである。
【0044】本実施例の係数デコーダでは、別個のVL
DイントラDC係数復号化機能130は、イントラ符号
化されたブロックの第1のVLC(すなわち、周波数が
両方の次元でゼロになるDC係数)を復号化する。ある
ブロックにおける第1のVLCがVLD長さ復号化ルー
プ110により受け取られると、COEF_1出力信号
がセットされる。COEF_1およびMACROBLO
CK_INTRAが共にセットされると、VLDイント
ラDC係数復号化機能130がイネーブルされる。VL
DイントラDC係数復号化機能130は、選択されたデ
ータと、長さ復号化ループ110により与えられた第1
の符号化されたデータ値の長さとを用いて、DC係数を
復号化する。VLDイントラDC係数復号化機能130
により復号化されたdct_dc_size値は、MP
EG規格、付録B、テーブルB−12およびB−13に
詳述されている。もしブロックが輝度ブロックであるな
ら、テーブルB−12のdct_dc_size値が用
いられる。もしブロックがクロミナンスブロックである
なら、テーブルB−13のdct_dc_size値が
用いられる。
【0045】もしdct_dc_sizeの復号化され
た値がゼロであるなら、VLCの後には、固定長符号d
c_dct_differentialが続く。dc_
dct_differentialの長さは、dc_d
ct_sizeビット長である。微分値は、まず符号化
されたデータから復元される。この微分値は予測器に加
えられ、最後に復号化された係数を復元する。イントラ
DC係数復号化機能130は、当業者であれば容易に作
成できるであろう。
【0046】出力コントローラ140は、VLD長さ復
号化ループ110から、組み合わされた長さビットL3
(113)の2つと、END_OF_BLOCK信号お
よびERROR信号とを受け取る。また、出力コントロ
ーラ140は、INTRA_VLC_FORMAT信号
も受け取る。出力コントローラ140は、2つの信号E
NABLE_1およびENABLE_2を発生する。こ
れらの信号は、いつRUN信号およびLEVEL信号が
有効な情報を含んでいるかを示す。出力コントローラ1
40は、ブロックのはじめにENABLE_1信号およ
びENABLE_2信号をセットし、ブロックの終わり
にENABLE_1信号およびENABLE_2信号を
リセットする。どちらのテーブル(B14かB15か)
が用いられる(INTRA_VLC_FORMATによ
り示される)か、また、END_OF_BLOCKが発
生する時にL3(0)がセットされるか、L3(2)が
セットされるかによって、出力コントローラ140は、
ブロックの最後の符号が、RUN_1/LEVEL_1
であるか、あるいはRUN_2/LEVEL_2である
か判定する。もしエラーが検出されれば(ERROR信
号が論理ハイに設定されると)、ENABLE_1およ
びENABLE_2はリセットされる。
【0047】VLDラン/レベル復号化ブロック120
およびイントラDC係数復号化機能130からの出力信
号は、出力mux150に与えられる。出力mux15
0は、ESC_1信号を用いて、RUN_1およびLE
VEL_1の値(121および122)か、または、R
UN_1_ESCおよびLEVEL_1_ESCの値
(123および124)のいずれかを選択する。同様
に、出力mux150は、ESC_2信号を用いて、R
UN_2およびLEVEL_2の値(125および12
6)か、または、RUN_2_ESCおよびLEVEL
_2_ESCの値(127および128)のいずれかを
選択する。選択された値は、RUN_1値151、LE
VEL_1値152、RUN_2値153、およびLE
VEL_2値154として出力される。また、FC_F
LAGおよびMACROBLOCK_INTRA信号
は、イントラ符号化されたブロックの係数が第1の係数
の場合(つまり、DC係数であるとき)、DC_LEV
ELを選択する。出力mux150は、DC係数をRU
N_1/LEVEL_1チャネル上に伝送する。
【0048】図2は、VLD長さ復号化ループ110の
一実施形態を示すブロック図である。
【0049】シフトメカニズムが、データストリームD
ATA_INを受け取るように設けられている。この実
施形態例では、シフトメカニズムは、シフタ/マルチプ
レクサ206と、2つのレジスタ202および204と
を備えている。シフタ/マルチプレクサ206は、シフ
ト制御信号235に応答して、複数の可変長符号化され
たデータ値のサブセットを伝送し、長さを復号化する。
【0050】レジスタ202および204はそれぞれ、
可能な最大長のVLCを2つ格納できるサイズである。
この実施形態例では、最大長のVLCは、24ビット長
である。よって、各レジスタは48ビットを保持でき
る。シフタ/マルチプレクサ206は、レジスタ202
と204とを合わせた(1未満)ビットと同数のビット
を保持する。本実施例のレジスタ202は、新しいデー
タの48ビットを受け取り、受け取ったデータをレジス
タ204とシフタ/マルチプレクサ206とに出力す
る。よって、レジスタ204は、レジスタ202よりも
常に1サイクルだけ遅れている。レジスタ202および
204の内容がレジスタ206に伝えられると、レジス
タ202の内容は、レジスタ204にシフトダウンさ
れ、新しい48ビットがレジスタ202に伝えられ、そ
れらの両方がシフタ/マルチプレクサ206に伝えられ
る。その結果、レジスタ202および204がイネーブ
ルされ、新しい48ビットワードをシフトすると、これ
らのレジスタは、シフタ/マルチプレクサ206の内容
の48ビットの下向きのシフトをおこなう。このこと
は、現在シフタ/マルチプレクサ206に格納されてい
る95ビットのうちの48ビット以上が、既に長さ復号
化機能208に伝えられて(おり、後述するように、
「48よりも大きい」信号238を伝送して、レジスタ
202および204をイネーブルして)いる時に起こ
る。本実施例のシフタ/マルチプレクサ206は、その
内容の48ビットのサブセットを、デュアル長さ復号化
機能208に伝送する。
【0051】長さ復号化機能208は、第1および第2
の符号長復号化手段の両方を備えている。本実施形態例
では、第1の長さ復号化手段は、複数の符号化されたデ
ータ値のサブセットをシフタ/マルチプレクサ206か
ら受け取るように結合された従来のデコーダ回路210
である。デコーダ210は、第1の復号化動作をおこな
うことによって、そのサブセットにおける複数の符号化
されたデータ値のうちの第1のデータ値の長さを決定す
る。
【0052】これらの係数が、テーブルB−14および
B−15で符号化されるやりかたが原因で、VLCの長
さを決定するには、(少なくとも1ビットは必要である
が)最高でも12ビットが必要になるだけである(24
ビット長の符号の場合でも同様である)。よって、第1
の符号が24ビット符号であり、第2の符号が17ビッ
ト符号である場合、両方の長さを決定するのには、36
ビットを処理することが必要である。この場合、最初の
6ビットが第1の符号の長さを識別し、第25〜第36
のビットが、第2の符号の長さを識別する。本実施形態
例では、符号がLSBからMSBへと復号化されるよう
に、レジスタはロードされる。また、それぞれのVLC
のうち(最高でも)12個のLSBが、VLCの長さを
識別するのに用いられる。
【0053】デコーダ回路210は、例えば、読み出し
専用メモリ(ROM)、プログラマブル論理アレイ(P
LA)、論理ゲート(不図示)などを備えていてもよ
い。第1の符号化された値を構成する入力列内のmビッ
トのうち、最初のnビット(ただし、n<m。nおよび
mは共に整数)が符号の長さを決定するのに用いられ
る。例えば、もしmが24に等しく、nが12に等しい
のなら、最初の12ビットが符号の長さを示し、残りの
ビットが符号および正負を規定するようにすることがで
きる。
【0054】デコーダ210は、DC係数およびAC係
数の両方の長さを復号化する。DC係数の長さは、B1
2(輝度)LUTまたはB13(クロミナンス)LUT
のいずれかを用いて復号化され、AC係数は、B14の
LUT(非イントラ符号化されたブロックおよびint
ra_vlc_formatを有するイントラ符号化さ
れたブロックがゼロに等しい場合)またはB15のLU
T(intra_vlc_formatを有するイント
ラ符号化されたブロックが1に等しい場合)のいずれか
を用いて復号化される。したがって、デコーダ210
は、いずれの係数が現在復号化されているにせよ、その
係数に対して用いるべきルックアップテーブルを決定す
るためには、制御ロジック216からの信号B12、B
13、B14、B15、B14−B15、COEF_1
を必要とする。これらの信号は、適切なLUTを用いる
ようにデコーダ210を構成する。
【0055】デコーダ回路210は、長さを決定するの
に用いられるnビットに対応する符号を格納する。符号
化されたデータ値のサブセットの第1の部分(最高nビ
ット長)が、デコーダ回路210に格納されている符号
と一致するようになるとき、デコーダ210は、第1の
符号化された値の長さを識別する第1のヒット信号21
1を出力する。
【0056】第1の長さデコーダ210は、第1の符号
化されたデータ値の可能なさまざまな長さのそれぞれに
対応するビットを出力する。長さデコーダ210により
出力された複数のビットのうちの単一のビットが、値1
に設定される。設定されたこのビットは、第1の長さデ
コーダ210により決定された第1の符号化されたデー
タ値の長さに対応する。20ビット信号211が、VL
D長さ復号化ループ110から、図2の信号L1として
出力される。
【0057】本実施形態例では、第1の可変長符号は、
2〜20のそれぞれの値および値24に対応する20種
のそれぞれ異なる長さ値を有しうる。可能なこれらの長
さは、MPEG規格のテーブルB12〜B15により決
定される。長さ信号211は、20ビット信号であり、
それぞれのビットは、符号化された値の20種の可能な
長さのそれぞれ1つに対応している。信号211におけ
る20のビットのうちの19のビットは、値0を有して
おり、第1の符号の復号化された長さに対応する、20
のビットのうちの残りの1つのビットは、1に設定され
る。出力信号211のこのフォームの利点は、出力信号
211が復号化を必要としない点にある。出力信号21
1の設定された単一のビットは、後述するように、それ
以上復号化をおこなわなくても、イネーブル信号として
用いることができる。
【0058】本実施形態例では、21ビット長のDC係
数を復号化する必要がない。なぜなら、本実施例の装置
は、メインプロファイルMPEG−2デコーダにおいて
用いられているので、ビットストリーム中で21ビット
符号に遭遇することはないからである。ただし、その他
のタイプのデータストリームの場合、異なるさまざまな
符号長に遭遇する可能性があること、また、適切なLU
Tにおいてどのような長さが追加的に必要になっても、
第1の長さデコーダはそれらの長さをすべて受け入れる
ことができることは、当業者には認識できるであろう。
【0059】第2の長さ復号化手段212は、複数の符
号化されたデータ値のサブセットを受け取るように、シ
フタ/マルチプレクサ206に結合されている。第2の
長さ復号化手段212は、複数の長さデコーダ212a
〜212pを備えている。これら複数のデコーダはそれ
ぞれ、第1の符号化されたデータ値の可能なさまざまな
長さの1つに対応している。長さデコーダ212a〜2
12pはそれぞれ、複数の符号化されたデータ値のサブ
セットの互いに異なる対応部分を同時に復号化する。第
2の長さ復号化手段212は、第2の復号化動作をおこ
なうことによって、そのサブセットにおける複数の符号
化されたデータ値のうちの第2のデータ値の長さを個別
に決定する。この第2のデータ値は、そのサブセットで
は、第1の符号化されたデータ値の直後に続いている。
第1および第2の復号化動作は、同時におこなわれる。
【0060】なお、本願明細書で用いられている用語
「個別に識別する」とは、第2の符号を第1の符号とは
別個の符号として扱うことによって、第2の符号の長さ
が決定されることを意味する。第1の符号の長さは、第
1のデコーダ210により決定され、第2の符号の長さ
は、第2の長さ復号化手段212により決定される。よ
って、第1および第2の符号は、米国特許第5,42
8,356号に記載の内容とは異なり、復号化を目的と
して1個の2倍長符号に結合されることはない。米国特
許第5,428,356号では、2倍長符号はそれぞ
れ、単一のデコーダにより単一のテーブルルックアップ
動作で復号化され、所定のペアの復号化された値を識別
する。
【0061】例えば、本実施形態例では、第1の符号
は、2〜20ビット長または24ビット長である。この
サブセットにおけるビットは、通常のかたちでナンバリ
ングされた0〜47である。デコーダ212aは、デー
タ値のサブセットにおいて第3のビット(ビットNo.
2)で始まる列の長さを復号化しようと試みる。このビ
ットは、第1の可変長符号の長さが2であれば(そし
て、2でありさえすれば)、第2の符号化されたデータ
値の第1のビットとなる。デコーダ212bは、データ
値のサブセットにおいて第4のビット(ビットNo.
3)で始まる列を復号化しようと試みる。このビット
は、第1の可変長符号の長さが3であれば(そして、3
でありさえすれば)、第2の符号化されたデータ値の第
1のビットとなる。複数のデコーダ212c〜212r
は、当業者には容易に理解できるように、第1の符号化
された値の連続する複数の長さに対応している。デコー
ダ212sは、データ値のサブセットにおいて第21の
ビット(ビットNo.20)で始まる列を復号化しよう
と試みる。このビットは、第1の可変長符号の長さが2
0であれば(そして、20でありさえすれば)、第2の
符号化されたデータ値の第1のビットとなる。最後に、
デコーダ212pは、データ値のサブセットにおいて第
25のビット(ビットNo.24)で始まる列を復号化
しようと試みる。このビットは、第1の可変長符号の長
さが可能な最大の長さ(つまり24)であれば(そし
て、24でありさえすれば)、第2の符号化されたデー
タ値の第1のビットとなる。
【0062】図2に示す実施形態例では、第1のデコー
ダ210がイントラDC係数を処理しているサイクルの
あいだは、1個の符号長のみが処理される。第1および
第2のAC係数は、DC係数が復号化されるサイクルに
後続するサイクルで復号化される。この設計の利点は、
長さ復号化機能208が、同一のクロックサイクル内に
DC係数およびAC係数を両方とも復号化する必要はな
いことである。よって、第2の長さ復号化手段212
は、16種の可能なAC係数長のそれぞれに対応するデ
コーダ212a〜212pを備えていさえすればよい。
DC係数には発生するが、AC係数には発生しない4種
の長さ(12ビット、18ビット、19ビットおよび2
0ビット)についてデコーダ212q〜212tをさら
に追加して設ける必要はない。なお、代わりに選択可能
な実施形態では(図5を参照して後述される)、復号化
機能508は、第1のAC係数が第2の長さデコーダ5
12で復号化されるのと同時に、イントラDC係数を長
さデコーダ510で復号化できるが、そのような実施形
態では、第2の長さ復号化手段にデコーダを追加して設
ける必要があることは、当業者には理解できるであろ
う。
【0063】再び図2を参照すると、このブロックに対
する第2の符号化された係数は決してDC係数ではあり
えないので、デコーダ212a〜212pは、AC係数
にはB14およびB15のLUTを用いさえすればよ
い。デコーダ212a〜212pは、制御ロジック21
6から受け取られたB14、B15およびB14−B1
5信号により(適切なLUTを与えるように)構成され
る。
【0064】本発明のある局面では、長さデコーダ21
2a〜212pはそれぞれ、第1の符号化されたデータ
値の対応する可能な長さに基づいて、第2の符号化され
たデータ値の長さのそれぞれの値を同時に決定する。デ
コーダ212a〜212pにより決定されたこれらの長
さのうちの1つだけが、第2の値の正しい長さである。
従来技術では遭遇する遅延(第1の符号化された値の復
号化を待って、第2の値の復号化をどこから始めるかを
決定する)をなくすために、本発明では、第1の値の長
さの復号化をおこなうのと並行して、第2の値の可能な
すべての長さを同時に決定する(第2の符号の可能な長
さはそれぞれ、第1の符号の互いに異なる可能な長さの
うちの対応する1つに基づいている)。その後、第1の
値の復号化された長さが、既に発生されている復号化さ
れた第2の長さ値のうちの正しい1つの値を選択するの
に用いられる。
【0065】信号211の単一の設定されたビットをイ
ネーブルビットとして用いることによって、組み合わさ
れた長さデコーダは、第1の長さをそれ以上復号化する
ことなく、デコーダ212a〜212pのうちの単一の
デコーダの出力の伝送をすみやかにイネーブルする。第
2の長さデコーダ212a〜212pのうちの1つを選
択する、組み合わされた長さデコーダ内の論理を構成す
ることは、当業者には容易であろう。
【0066】第2の長さ復号化手段の長さデコーダ21
2a〜212pはそれぞれ、長さデコーダ212a〜2
12pにより決定された第2の符号化されたデータ値の
それぞれの長さを表す、対応する出力信号213a〜2
13pを発生する。本実施形態例では、出力信号213
a〜213pはそれぞれ、16ビット信号であり、第2
の符号化された値の16種の可能な長さ(2〜11、1
3〜17および24)に対応している。長さ12および
18〜20は、DC係数についてのみ用いられ、第2の
符号化された値の長さに対応することは決してない。1
6ビット信号は、第1のデコーダ210により出力され
る20ビット信号と同様に、15個の「0」と1個の
「1」とを含んでいる。
【0067】組み合わされた長さデコーダ214は、信
号211(第1の長さを示す信号)のこの単一のビット
を用いて、出力信号213a〜213pのうちの1つ
の、長さデコーダ212a〜212pのうちの対応する
1つによる伝送をイネーブルする。イネーブルされたこ
の1つの出力信号は、信号211におけるビットが設定
された対象である、第1の符号化されたデータ値の長さ
に対応するデコーダの出力信号である。換言すれば、組
み合わされた長さデコーダ214は、第1の長さ信号2
11に応答して、長さデコーダ212a〜212pのう
ちの1つの出力信号を選択する。選択された出力信号
(信号213a〜213pのうちの1つ)を有する長さ
デコーダ(デコーダ212a〜212pのうちの1つ)
は、第1の長さ信号211により示された第1の符号化
されたデータ値の長さに対応する長さデコーダである。
選択された出力信号は、第2の符号化されたデータ値の
実際の長さを示す。
【0068】例えば、第1の符号化された値が3ビット
長であり、第2の符号化された値が17ビット長である
場合を考える。もし第1の符号の長さが3であるのな
ら、信号211の第2のビットの値は「1」に設定さ
れ、信号211の第1のビットおよび第3〜第20のビ
ットはすべて、値「0」をもつことになる。第1の値が
復号化されるのと同時に、デコーダ212aは、第1の
符号化された値の長さが2であると(誤って)仮定し
て、第2の符号化された値の長さを復号化しようと試
み、デコーダ212bは、第1の符号化された値の長さ
が3であると(正しく)仮定して、第2の符号化された
値の長さを復号化する。以下も同様である。組み合わさ
れた長さデコーダ214は、信号211の設定された
(第2の)ビットを用いて、デコーダ212b(第2の
復号化手段212のデコーダ212a〜212pのうち
の第2のデコーダ)の出力信号の伝送をイネーブルす
る。イネーブルされた出力信号213bは、16ビット
をもっている。この場合、第2の符号化された値の長さ
は17に等しく、出力信号213bの第15のビットの
値は「1」に設定され、信号213bの第1〜第14の
ビットおよび第16のビットの値は「0」に設定され
る。
【0069】本実施形態例では、組み合わされた長さデ
コーダ214は、40ビットの信号215を出力する。
第1の符号化された値の可能な長さ(図2の実施形態に
おけるAC係数については、2〜11、13〜17およ
び24)は、第2の符号化された値の可能な長さ(MP
EG規格のテーブルB14およびB15に規定されてい
るように、2〜11、13〜17および24)と組み合
わせることができる。その結果、組み合わされた長さ2
〜35、37〜41および48に対応する40種の異な
る組み合わされた長さができる。40のビットのうちの
1つが設定されることによって、第1および第2の符号
化された値の組み合わされた長さを識別する。信号21
5のその他39のビットの値は、すべて「0」に設定さ
れる。40ビットの出力信号L3は、2つの符号化され
たデータ値の組み合わされた長さを識別する。信号L1
およびL3は、VLDラン/レベル復号化機能120
(図1に示されている)に伝送される。
【0070】VLD長さ復号化ループはまた、第1およ
び第2の符号化されたデータ値の組み合わされた長さ2
15を受け取るように結合されたシフト制御メカニズム
(機能218、222、234および236を含む)も
備えている。シフト制御メカニズムは、シフト制御信号
235をつくり、符号化されたデータ値のどれが、長さ
復号化機能208に伝送されるサブセットに含まれてい
るかを決定し、シフト制御信号235をシフタ/マルチ
プレクサ206に伝送する。シフト制御メカニズムはま
た、シフトイネーブル信号238をつくり、レジスタ2
02および204に伝送することによって、新しいデー
タを時々刻々とシフタ/マルチプレクサ206にロード
し、シフタ/マルチプレクサ206における「パイプラ
イン」に十分な符号化されたデータを保持することによ
って、長さ復号化における割り込みを避ける。
【0071】シフト制御メカニズムの2つのレジスタ2
34および236には、シフタ/マルチプレクサ206
のある位置の6つの最下位ビット(LSB)が与えられ
る。これらのLSBは、第1の符号化されたデータ値の
LSBが位置している、1〜48の間のビット位置を示
している。
【0072】レジスタ234における値は、信号235
を介して、シフタ/マルチプレクサ206のmux選択
端子206aに与えられることによって、シフタ/マル
チプレクサ206に、信号235において識別されたビ
ットに始まる48ビットを供給させる。
【0073】レジスタ236における値は、信号237
を介して、和発生ブロック218の入力に与えられる。
和発生ブロック218の目的は、次の開始ビット位置を
シフタ/マルチプレクサ206内で、データストリーム
DATA_INにおける第3および第4の符号化された
データ値(つまり、第1および第2の符号化されたデー
タ値の直後に続く2つの値)について計算することにあ
る。この計算は、長さデコーダ210および第2の長さ
復号化手段212によりおこなわれる長さ復号化動作と
パラレルにおこなわれる。和発生ブロック218は、複
数の加算器2201〜22040を含んでいる。加算器2
201〜22040のそれぞれは、組み合わされた長さ2
15の互いに異なる値の1つに対応している(すなわ
ち、それぞれの加算器は、組み合わされた長さの可能な
それぞれの値に対応している)。それぞれの加算器は、
それに対応する候補シフト制御信号を同時につくる。そ
れぞれの加算器は、長さデコーダ212a〜212pが
第2の符号化されたデータ値の長さを復号化するのと同
一のクロックサイクル内に、第1の符号化されたデータ
値の位置に対して、それぞれ異なる定数を加算する(こ
れにより、加算器の複雑さが緩和される。なぜなら、そ
れぞれの加算器は、単一の定数を加算するだけだからで
ある)。よって、40種の異なる候補位置が同時に計算
される。ここで、それらの位置の1つ1つは、可能な組
み合わされた長さのそれぞれに対応している。それぞれ
の加算器における各定数は、その加算器の対応する組み
合わされた長さである。それぞれの加算器は、モジュロ
48加算をおこなう。それぞれの加算器の出力は、7ビ
ット信号2211〜22140である。加算器出力信号の
6つのLSBが、加算器により計算されたモジュロ48
の和を識別し、最上位ビット(MSB)は、その和が4
8以上であるときに設定されるフラグである。加算器2
201〜22040の出力信号2211〜22140は、和選
択機能222に伝送される。
【0074】和選択器222の出力信号223のMSB
238が「1」に設定されるとき、第2の符号化された
データ値のMSBは、シフタ/マルチプレクサ206の
48のMSBの中からその位置が特定される。シフタ/
マルチプレクサ206を、まだ復号化されていないデー
タで満たしたままにするために、出力信号223のMS
B238が、レジスタ202および204からシフタ/
マルチプレクサ206への新しいデータのロードをイネ
ーブルするために用いられる。上述したように、このロ
ード演算の結果、シフタ/マルチプレクサ206内のデ
ータは下向きにシフトされる。その結果、以前は47の
MSBであったものが、今では47のLSBになってい
る。新しいデータの48の追加ビットは、シフタ/マル
チプレクサ206のMSB位置に移動される。
【0075】和選択器222は、40の候補位置を表す
40の候補シフト制御信号を受け取る。和選択器222
はまた、レジスタ236から現在のmux位置237を
受け取り、外部から与えられたmux位置240も受け
取る。これらの位置については、共に後述する。組み合
わされた長さデコーダ214の出力信号215は、和選
択器222を制御するのに用いられる。組み合わされた
長さ信号215の単一の設定されたビットは、イネーブ
ル信号として、加算器2201〜22040の出力のうち
の1つの、和選択器222からの伝送をイネーブルす
る。
【0076】図2の実施形態では、イントラDC係数が
第1の長さデコーダ210において処理されているとき
に、組み合わされた長さデコーダ214は、DC係数の
長さに等しい組み合わされた長さ215を出力する。そ
の結果、第1および第2のAC係数は、次のサイクルで
処理される。よって、イントラDC係数の長さを別個の
サイクルで復号化することによって、第2の長さ復号化
手段212をわずか16個のデコーダ212a〜212
pで実現することができる。
【0077】40の出力信号2211〜22140のうち
どれも和選択器222により選択されない状況は2つあ
る。第1の状況は、再開信号を制御ロジック216に伝
送することによりシステムが初期化される時、制御ロジ
ック216がロード外部信号を和選択器222に発し
て、和選択器222に、外部から供給されたmux位置
240を出力させる状況である。制御ロジック216に
ついては、図3を参照して後でもっと詳しく説明する。
【0078】加算器出力信号2211〜22140のうち
どれも用いられないもう1つの状況は、ブロックの処理
が完了した時に、ブロックの終わりが検出される状況で
ある。制御ロジック216は、バイパス信号を和選択器
222に発する。和選択器222は、バイパス入力端子
222aにおいて検出されて出力値223として用いら
れる、現在のmux位置237を選択する。よって、シ
フタ/マルチプレクサ206は、それ以上のインデック
スを与えなくても、現在の状態にとどまる。
【0079】図3は、VLD長さ復号化制御ロジック2
16のためのロジックの一例を示すブロック図である。
制御ロジックは、外部から指定されたいくつかのパラメ
ータを受け取る。このようなパラメータとしては、例え
ば、BP_OVRD(HOLD)、RESTART、T
EST_MODE、MACROBLOCK_INTR
A、LUMA/CHROMAおよびINTRA_VLC
_FORMATなどがある。復号化機能208は、制御
ロジック216に、ブロックの終わりまたはエラー状態
のいずれが検出されたかの表示を与える。制御ロジック
216は、デコーダ210および212a〜212pに
対する以下のパラメータを識別する。(1)係数はDC
係数であるか、あるいはその他のタイプであるか、およ
び(2)第1および第2の符号化された値に対して、係
数テーブルB12〜B15のいずれが用いられている
か、の2つである。
【0080】ORゲート314は、もしBP_OVRD
(HOLD)信号が論理ハイの状態に設定されるか、ブ
ロックの終わりが検出される(END_OF_BLOC
Kが論理ハイの状態にある)か、誤りが検出される(E
RR_FLAGが論理ハイの状態にある)か、または、
BYPASSフラグが以前に論理ハイの状態に設定され
ていたのなら、BYPASSフラグを論理ハイの状態に
設定する。いったんBYPASSフラグが論理ハイの状
態に設定されると、このフラグは、RESTART信号
が論理ハイの状態に設定されるまで、その状態にとどま
る。BYPASSフラグは和選択器222に伝送され
(図2に示す)、RESET信号が論理ハイの状態に設
定されるまで、シフタ/マルチプレクサ206を同じ状
態にとどまらせる。
【0081】END_OF_BLOCK信号が論理ハイ
の状態であるとき、ORゲート316は、フリップフロ
ップ318(出力EOB_FLAG)を論理ハイの状態
に設定し、フリップフロップ318は、RESTART
信号が論理ハイの状態に設定されるまでその状態にとど
まる。END_OF_BLOCK信号は、出力コントロ
ーラ140(図1に示す)に与えられる。
【0082】ORゲート324は、ERROR信号が論
理ハイの状態にあるとき、フリップフロップ326のD
端子を論理ハイに設定する(ことにより、ERR_FL
AG信号を論理ハイに設定する)と、END_OF_B
LOCK信号もフリップフロップ312のBYPASS
出力も論理ハイの状態ではなくなる。ERR_FLAG
信号は、出力コントローラ140(図1)に与えられ
る。いったんERR_FLAGが論理ハイの状態に設定
されると、このフラグは、フリップフロップ326がR
ESTART信号によりリセットされるまで、論理ハイ
のままとなる。
【0083】ORゲート328は、TEST_MODE
信号またはRESTART信号が論理ハイの状態にある
ときには、論理ハイの状態であるLOAD_EXTER
NAL信号を出力する。LOAD_EXTERNAL信
号は、和選択器222(図2に示されている)に与えら
れる。LOAD_EXTERNALが論理ハイの状態に
あるとき、外部から指定されたmux位置がシフタ/マ
ルチプレクサ206(図2に示されている)により用い
られる。
【0084】RESTARTが論理ハイの状態にあると
き、フリップフロップ330のD端子は論理ハイの状態
に設定される(これにより、COEFF_1信号を論理
ハイの状態に設定する)。よって、COEFF_1信号
は、(DC係数が処理されている)ブロック処理動作の
スタート時に論理ハイの状態に設定される。COEFF
_1信号は、長さデコーダ機能210に伝送され(るこ
とにより、DC係数の長さを決定するデコーダ210を
構成し)、VLDイントラDC係数復号化機能130に
も与えられる。
【0085】ANDゲート322は、RESTARTお
よびMACROBLOCK_INTRA信号が論理ハイ
の状態にあり、LUMA/CHROMA信号が論理ロー
の状態にあるとき、フリップフロップ334のD端子を
論理ハイの状態に設定することにより、B12出力信号
を論理ハイの状態に設定する。このことは、イントラ符
号化された輝度ブロックの最初の(DC)係数を処理す
る際に起こる。B12信号は、長さデコーダ210(図
2)に伝送される。
【0086】ANDゲート336は、RESTART、
MACROBLOCK_INTRAおよびLUMA/C
HROMA信号がすべて論理ハイの状態にあるとき、フ
リップフロップ338のD端子を論理ハイの状態に設定
し、B13フラグを論理ハイの状態に設定する。このこ
とは、イントラ符号化されたクロミナンスブロックの最
初の(DC)係数を処理するときに起こる。B13信号
は、長さデコーダ210に伝送される(図2)。
【0087】図3において参照番号340〜354の付
けられた論理要素は、MPEG規格のテーブル7−3に
詳述されている「DCT係数VLCテーブルの選択」を
実現する。ORゲート342は、MACRO_BLOC
K_INTRAフラグが論理ローの状態にあるとき、ま
たはMACRO_BLOCK_INTRAフラグが論理
ハイであり、RESTARTおよびINTRA_VLC
_FORMATが共に論理ローの状態であるときには、
フリップフロップ344のD端子を論理ハイの状態に設
定することによって、B14フラグを論理ハイの状態に
設定する。これにより、非イントラ符号化されたブロッ
クの係数、および、INTRA_VLC_FORMAT
値がゼロとなる、DC係数以外のイントラ符号化された
ブロックの係数については、デコーダ212a〜212
pがB14テーブルを用いるように、B14フラグを設
定する。
【0088】ANDゲート346は、MACRO_BL
OCK_INTRAおよびINTRA_VLC_FOR
MATフラグが論理ハイの状態であり、RESARTが
論理ローの状態であるときには、フリップフロップ34
8のD端子を論理ハイの状態に設定することにより、B
15フラグを論理ハイの状態に設定する。これにより、
INTRA_VLC_FORMATの値が1になるイン
トラ符号化されたブロックの(DC係数以外の)係数に
ついては、デコーダ212a〜212pがB15テーブ
ルを用いるように、B15フラグを設定する。
【0089】ORゲート352は、MACROBLOC
K_INTRAフラグが論理ローに設定される時、また
は、MACROBLOCK_INTRAが論理ハイに設
定され、かつRESTART信号が論理ローに設定され
る時には、フリップフロップ354のD端子を論理ハイ
の状態に設定することにより、B14_B15フラグを
論理ハイの状態に設定する。よって、デコーダ212a
〜212pが(非イントラ符号化されたマクロブロック
について、さらにはイントラ符号化されたマクロブロッ
クのAC係数について)B14テーブルまたはB15テ
ーブルを用いるべきときにはいつも、B14_B15フ
ラグは、論理ハイの状態に設定される。
【0090】図4は、図1に示されているVLDラン/
レベルデコーダ120の一例を示すブロック図である。
DC係数には別個の機能(VLDイントラDC係数デコ
ーダ130)が用いられるので、イントラ符号化された
ブロックの場合には、ブロック120はDC係数を処理
しない。この回路は、長さ2〜11、13〜17および
24をもつ符号を処理しさえすればよい。VLDラン/
レベル復号化機能120内でそれぞれ第1の符号化され
たデータ値および第2の符号化されたデータ値に対応す
る各ラン/レベル復号化回路は、以下に説明する部分的
な相違点を別にすれば、非常によく似ている。よって、
L1信号(図1に示されている)の16のビット(ビッ
ト0〜9、11〜15および19)のみが用いられる。
これら16のビットは、図4の左上隅にL1(15:
0)として示されている。
【0091】符号1/データ2選択器410は、第1の
符号の長さL1を処理する。もし長さL1が24ビット
なら(すなわち、もし16ビット信号の最後のビットが
セットされれば)、第1の値はエスケープ符号化され
る。16ビットL1信号の最後のビットは、ESC_1
信号として出力される。エスケープ符号化された値につ
いては、最初の6ビットがエスケープ符号を示し、次の
6ビットがラン値を示し、最後の12ビットがレベル値
を示す。よって長さが24ビットであるとき、ESC_
1フラグは論理ハイの値に設定される。DATA_IN
信号のビットNo.6〜11(第7〜第12のビット)
は、RUN1_ESC値として伝送される。この値は、
ESC_1フラグがセットされるとき、出力mux15
0(図1)により出力される。DATA_IN信号のビ
ットNo.12〜23(第13〜第24のビット)は、
LEVEL_1_ESC値として伝送される。この値
は、ESC_1フラグがセットされる時に出力mux1
50(図1)により出力される。
【0092】その他すべてのVLC(非エスケープ符号
化された値)については、VLCの長さは既に(最高
で)12のLSBにより識別されているので、図4でC
ode_1(4:0)およびCode_2(4:0)に
より示されている最高5ビットを用いてランおよびレベ
ルを決定することが可能である。例えば、テーブルB−
14では、17ビット長であるVLCは16個ある。こ
れらのVLCの16個すべてが同じ12のLSBをもっ
ており、次の5ビットは、17ビットのVLCのそれぞ
れについてランおよびレベル値の互いに異なる組み合わ
せを識別する。
【0093】Code_1(4:0)の5ビットは、ラ
ンデコーダ420およびレベルデコーダ430に伝送さ
れる。デコーダ420および430は、テーブルB−1
4およびB−15からランおよびレベルの値を格納する
LUTを含んでいる。B14信号が論理ハイの値をもっ
ているときは、テーブルB14を用いることができる。
B15信号が論理ハイの値をもっているときは、(図2
および図3を参照して既に述べたように)テーブルB1
5を用いることができる。Code_1(4:0)のビ
ットと、L1と、B14およびB15信号とが与えられ
たとき、ランデコーダ420およびレベルデコーダ43
0は、それぞれランおよびレベルを決定する。
【0094】符号1/データ2選択器410はまた、第
2の符号化されたデータ値Data_2を(L1の値に
基づいて)パーシングし、(1)第2の符号化されたデ
ータ値Data_2の最初の17ビット[Data_2
(16:0)]を符号2選択器450へと伝送し、
(2)Data_2の第7〜第12のビット[Data
_2(11:6)]をレジスタ480へと、信号RUN
_2_ESCとして伝送し、かつ(3)Data_2の
第13〜第24のビット[Data_2(23:1
2)]をレジスタ480へと、信号LEVEL_2_E
SCとして伝送する。
【0095】VLDラン/レベルデコーダ120は、長
さ2デコーダ440を備えている。このデコーダ440
は、L1(15:0)信号とL3(37:0)信号との
組み合わされた長さを処理することによって、第2の符
号化されたデータ値の長さを決定する。L1およびL3
は、それぞれ、値「1」に対して単一のビットが設定さ
れたマルチビット信号のかたちで与えられるので、長さ
2デコーダ440は、第2の符号化されたデータ値の長
さを効率よく識別し、その長さを、単一のビットのみが
値「1」に設定された16ビット値のかたちで出力する
のに、除算器ではなく論理ゲーティングを用いることが
できる。符号1/データ2選択器410と同様に、第1
6のビットL2(15)は、エスケープ符号化された2
4ビットの符号化されたデータ値について論理ローの状
態に設定される。長さ2デコーダ440を構成すること
は、当業者には容易であろう。
【0096】符号2選択器は、選択器410と同様にL
2信号を処理し、非エスケープ符号化された値について
ランおよびレベルを識別するのに必要とされる5ビット
のData_2(4:0)をパーシングする。符号2選
択器は、符号1選択器410がこの情報をデコーダ42
0および430へと伝送するのと同様に、符号2(4:
0)の値をランデコーダ460およびレベルデコーダ4
70へと伝送する。ランデコーダ460およびレベルデ
コーダ470は、それぞれランデコーダ420およびレ
ベルデコーダ430と同じであるので、その説明はここ
では省略する。
【0097】図5は、長さ復号化機能510の別の実施
形態を示すブロック図である。図5では、図2に示され
ている要素および信号と同様の要素および信号には、同
一の参照番号を付している。そのような要素および信号
については、ここでは説明を省略する。
【0098】長さ復号化機能510は、第1のAC係数
が第2の長さ復号化手段512において復号化されてい
るのと同時に、イントラDC係数の長さを長さ1デコー
ダ510において復号化することができる。この能力を
実現するために、デコーダ512q〜512tがさらに
設けられる。その結果、第2の長さ復号化手段512
は、イントラDC係数の可能な長さ(2〜4、6〜2
0)あるいはAC係数の可能な長さ(2〜11、13〜
17、24)のそれぞれに対応する長さデコーダを備え
ている。すなわち、第1の値がDC係数を表していよう
が、AC係数を表していようが、第1の符号化された値
のすべての可能な長さ(2〜20、24)に対応する2
0個のデコーダ512a〜512tがある。
【0099】この構成では、組み合わされた長さL3
は、組み合わされた長さ2〜44および48に対応する
44種の値をとることができる。よって、44種の可能
な組み合わされた長さに対応する44個の加算器520
1〜52044が(図2の40個の加算器の代わりに)設
けられる。よって、和選択器522は、46個の値(4
4種の可能な長さ、バイパス、および外部から与えられ
た位置)のうちの一つを選択しなければならない。
【0100】以上の説明では、可変長デコーダがDCT
係数長さデコーダである例を述べた。係数デコーダ10
0(図1)に類似した回路構成(不図示)を、MPEG
規格のパラグラフ6.1〜6.13に規定されている高
レベルシンタクスエレメントを復号化するのに用いるこ
とができる。係数デコーダ100においてブロックの終
わりに到達したとき、BYPASSフラグ(図3を参照
して既に述べた)が論理ハイに設定され、制御は、次の
符号の位置と共に、高レベルシンタクスデコーダへと転
送される。よって、高レベル符号が復号化されるとき、
RESTART信号が論理ハイの状態に設定され、次の
2つのDCT係数を復号化する。
【0101】また、以上の説明では、一例として、MP
EG符号化されたビデオデータビットストリームを用い
る実施形態について本発明を説明したが、本発明は、そ
の他のタイプの可変長デコーダにおいても実施可能であ
る。
【0102】以上に本発明を、その実施形態例に言及し
ながら説明したが、本発明はこれに限定されるわけでは
ない。逆に、添付の請求の範囲は、当業者が本発明の真
の精神および範囲からはずれることなくなしうる、本発
明のその他の変形および実施形態を含むものと解釈され
るべきものである。
【0103】
【発明の効果】本発明によれば、データストリーム内に
含まれる複数の可変長符号化されたデータ値の長さを1
クロックサイクル内に決定する装置および方法が提供す
ることができる。
【図面の簡単な説明】
【図1】可変長デコーダ係数デコーダの一例を示すブロ
ック図である。
【図2】図1に示されている可変長デコーダのVLD長
さ復号化ループを示すブロック図である。
【図3】図2に示されている制御ロジックを示すブロッ
ク図である。
【図4】図1に示されているラン/レベルデコーダを示
すブロック図である。
【図5】図1に示されている可変長デコーダにおいて用
いることができるVLD長さ復号化ループの別の例を示
すブロック図である。
【符号の説明】
100 可変長デコーダ係数デコーダ 110 VLD長さ復号化ループ 111 入力データ 112 サブセット 120 VLDラン/レベル復号化ブロック 121 RUN_1 122 LEVEL_1 123 RUN_1_ESC 124 LEVEL_1_ESC 125 RUN_2 126 LEVEL_2 127 RUN_2_ESC 128 LEVEL_2_ESC 130 VLDイントラDC係数復号化ブロック 140 出力制御ブロック 150 出力マルチプレクサ 151 RUN_1 152 LEVEL_1 153 RUN_2 154 LEVEL_2

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 データストリーム内に含まれる複数の可
    変長符号化されたデータ値の長さを1クロックサイクル
    内に決定する装置であって、 該データストリームを受け取り、シフト制御信号に応答
    して、該複数の可変長符号化されたデータ値のうちの1
    サブセットを伝送するシフト手段と、 該複数の符号化されたデータ値の該サブセットを受け取
    るように結合されており、第1の復号化動作をおこなう
    ことによって、該サブセットにおける該複数の符号化さ
    れたデータ値のうちの第1のデータ値の長さを決定す
    る、第1の長さ復号化手段と、 該複数の符号化されたデータ値の該サブセットを受け取
    るように結合されており、第2の復号化動作をおこなう
    ことによって、該サブセットにおける該複数の符号化さ
    れたデータ値のうちの第2のデータ値の長さを個別に決
    定する、第2の長さ復号化手段であって、該サブセット
    において、該第2の符号化されたデータ値が、該第1の
    符号化されたデータ値の直後に続いており、該第1およ
    び該第2の復号化動作が同時におこなわれる、第2の長
    さ復号化手段と、 該第1および該第2の符号化されたデータ値の該長さに
    応答して、該第1および該第2のデータ値の組み合わさ
    れた長さを出力する、組み合わされた長さ復号化手段
    と、 該第1および該第2のデータ値の該組み合わされた長さ
    に応答して該シフト制御信号を形成し、それにより、該
    シフト手段内で次に符号化されたデータ値の位置を識別
    するシフト制御手段であって、該次の符号化されたデー
    タ値が、該第2の符号化されたデータ値の直後に続いて
    おり、該シフト制御信号を該シフト手段に伝送する、シ
    フト制御手段と、を備えている、装置。
  2. 【請求項2】 前記第2の長さ復号化手段が、 複数の長さデコーダであって、それぞれが、前記第1の
    符号化されたデータ値の可能なさまざまな長さの1つに
    対応しており、前記複数の符号化されたデータ値の前記
    サブセットの互いに異なる部分を同時に復号化する、複
    数の長さデコーダを備えている、装置であって、 該複数の長さデコーダのそれぞれが、該第1の符号化さ
    れたデータ値の該対応する可能な長さの1つに基づい
    て、前記第2の符号化されたデータ値の長さの対応する
    それぞれの値を決定する、請求項1に記載の装置。
  3. 【請求項3】 前記第1の長さ復号化手段が、前記第1
    の符号化されたデータ値の前記長さを示す第1の長さ信
    号を発生して伝送し、かつ前記第2の長さ復号化手段の
    前記複数の長さデコーダのそれぞれが、それぞれに対応
    する出力信号を発生して伝送する、装置であって、 該第1の長さ信号に応答して、該第1の長さ信号により
    示された該第1の符号化されたデータ値の該長さに対応
    する、該長さデコーダの1つの出力信号を選択する手段
    であって、該選択された出力信号が、前記第2の符号化
    されたデータ値の長さを示している、手段をさらに備え
    ている、請求項2に記載の装置。
  4. 【請求項4】 前記第1の長さ復号化手段が、前記第1
    の符号化されたデータ値の前記可能なさまざまなの長さ
    に対応する複数のビットを出力し、 該第1の長さ復号化手段により出力された該複数のビッ
    トのうちの単一のビットが設定され、該設定されたビッ
    トは、該第1の長さ復号化手段により決定された該第1
    の符号化されたデータ値の該長さに対応しており、 前記第2の長さ復号化手段の前記複数の長さデコーダが
    それぞれ、該それぞれの長さデコーダにより決定される
    前記第2の符号化されたデータ値の長さを表す対応する
    対応する出力信号を発生し、かつ、 前記組み合わされた長さ復号化手段が、該単一の設定さ
    れたビットに応答して、該ビットが該第1の長さ復号化
    手段により設定される対象である、該第1の符号化され
    たデータ値の該長さに対応する、該複数の長さデコーダ
    の1つによる該出力信号の伝送をイネーブルする、請求
    項2に記載の装置。
  5. 【請求項5】 前記シフト制御手段が、前記第1および
    前記第2の符号化されたデータ値の前記組み合わされた
    長さの可能なさまざまな値に対応する複数の加算器を備
    えており、該複数の加算器のそれぞれが、候補シフト制
    御信号を形成し、 前記組み合わされた長さ復号化手段が、該第1および該
    第2の符号化されたデータ値の該組み合わされた長さの
    該可能なさまざまな値に対応する複数のビットを出力
    し、 該組み合わされた長さ復号化手段により出力された該複
    数のビットの1つが設定され、該設定されたビットは、
    該第1および該第2の符号化されたデータの該組み合わ
    された長さに対応しており、かつ該シフト制御手段が、
    該組み合わされた長さ復号化手段により出力された該設
    定されたビットを用いて、該複数の加算器の1つにより
    出力された該候補シフト制御信号の伝送をイネーブル
    し、該1つの加算器が、該第1および該第2の符号化さ
    れたデータ値の該組み合わされた長さに対応している、
    請求項4に記載の装置。
  6. 【請求項6】 前記シフト手段が、前記データストリー
    ムを受け取り、固定された数のデータビットを前記第1
    および前記第2の長さ復号化手段に伝送するシフタ/マ
    ルチプレクサを備えており、かつ前記シフト制御信号
    が、該シフタ/マルチプレクサ内の該固定された数のデ
    ータビットのうちの第1のデータビットの位置を識別す
    る、請求項1に記載の装置。
  7. 【請求項7】 前記シフト制御手段が、 前記第1および前記第2の符号化されたデータ値の前記
    組み合わされた長さの前記可能なさまざまな値に対応す
    る複数の加算器であって、それぞれが対応する候補シフ
    ト制御信号を同時に形成し伝送する、複数の加算器と、 該第1および前記第2の符号化されたデータ値の該組み
    合わされた長さに応答して、該第1および前記第2の符
    号化されたデータ値の該組み合わされた長さに対応する
    該候補シフト制御信号を選択し、該選択された候補を該
    シフト制御信号として前記シフト手段に伝送する、和選
    択手段と、 を備えている、請求項1に記載の装置。
  8. 【請求項8】 前記複数の加算器がそれぞれ、対応する
    モジュロ算術演算をおこなうことによって、該それぞれ
    の加算器の前記候補シフト制御信号を形成する、請求項
    7に記載の装置。
  9. 【請求項9】 前記シフト手段が、前記データストリー
    ムを受け取り、固定された数の連続するデータビットを
    前記第1および前記第2の長さ復号化手段に伝送するシ
    フタ/マルチプレクサを備えており、かつ前記シフト制
    御信号が、該シフタ/マルチプレクサ内の該固定された
    数の連続するデータビットのうちの第1のデータビット
    の位置を識別する、請求項8に記載の装置。
  10. 【請求項10】 前記データストリームが符号化された
    ビデオ信号を含んでおり、前記第1および前記第2の符
    号化されたデータ値が、該ビデオ信号の離散コサイン変
    換係数を表現する、請求項1に記載の装置。
  11. 【請求項11】 複数の可変長符号化されたデータ値か
    ら構成されるデータストリームを1クロックサイクル内
    に復号化する装置であって、 該データストリームを受け取り、シフト制御信号に応答
    して、該複数の可変長符号化されたデータ値のうちのサ
    ブセットを伝送するシフト手段と、 該複数の符号化されたデータ値の該サブセットを受け取
    るように結合されており、第1の復号化動作をおこなう
    ことによって、該サブセットにおける該複数の符号化さ
    れたデータ値のうちの第1のデータ値の長さを決定す
    る、第1の長さ復号化手段と、 該複数の符号化されたデータ値の該サブセットを受け取
    るように結合されており、第2の復号化動作をおこなう
    ことによって、該サブセットにおける該複数の符号化さ
    れたデータ値のうちの第2のデータ値の長さを個別に決
    定する、第2の長さ復号化手段であって、該サブセット
    において、該第2の符号化されたデータ値が、該第1の
    符号化されたデータ値の直後に続いており、該第1およ
    び該第2の復号化動作が同時におこなわれる、第2の長
    さ復号化手段と、 該第1および該第2の符号化されたデータ値の該長さに
    応答して、該第1および該第2のデータ値の組み合わさ
    れた長さを出力する、組み合わされた長さ復号化手段
    と、 該第1および該第2のデータ値の該組み合わされた長さ
    に応答して、該シフト制御信号を形成し、それにより、
    該シフト手段内で次に符号化されたデータ値の位置を識
    別するシフト制御手段であって、該次の符号化されたデ
    ータ値が、該第2の符号化されたデータ値の直後に続い
    ており、該シフト制御信号を該シフト手段に伝送する、
    シフト制御手段と、 該複数の符号化されたデータ値の該サブセット、該第1
    の符号化されたデータ値の該長さ、ならびに該第1およ
    び該第2の符号化されたデータ値の該組み合わされた長
    さを受け取るように結合されており、該第1および該第
    2の符号化されたデータ値を第1および第2の復号化さ
    れた値にそれぞれ変換する、値復号化手段と、を備えて
    いる、装置。
  12. 【請求項12】 データストリーム内に含まれる複数の
    可変長符号化されたデータ値の長さを1クロックサイク
    ル内に決定する方法であって、 該データストリームおよびシフト制御信号を受け取るス
    テップと、 第1の復号化動作をおこなうことによって、該サブセッ
    トにおける該複数の符号化されたデータ値のうちの第1
    のデータ値の長さを決定するステップと、 第2の復号化動作をおこなうことによって、該サブセッ
    トにおける該符号化されたデータ値のうちの第2のデー
    タ値の長さを個別に決定するステップであって、該サブ
    セットにおいて、該第2の符号化されたデータ値が、該
    第1の符号化されたデータ値の直後に続いており、該第
    1および該第2の復号化動作が同時におこなわれる、ス
    テップと、 該第1および該第2のデータ値の組み合わされた長さを
    出力するステップと、 該シフト制御信号を形成することによって、該サブセッ
    ト内に含まれている該複数の符号化されたデータ値のう
    ちのいくつかを決定するステップと、 該シフト制御信号をシフト手段に伝送するステップと、
    を含む方法。
JP07617097A 1996-03-29 1997-03-27 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法 Expired - Fee Related JP3737599B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/623,651 1996-03-29
US08/623,651 US5841380A (en) 1996-03-29 1996-03-29 Variable length decoder and method for decoding two codes per clock cycle

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005209307A Division JP4023548B2 (ja) 1996-03-29 2005-07-19 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法

Publications (2)

Publication Number Publication Date
JPH1065549A true JPH1065549A (ja) 1998-03-06
JP3737599B2 JP3737599B2 (ja) 2006-01-18

Family

ID=24498899

Family Applications (2)

Application Number Title Priority Date Filing Date
JP07617097A Expired - Fee Related JP3737599B2 (ja) 1996-03-29 1997-03-27 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
JP2005209307A Expired - Fee Related JP4023548B2 (ja) 1996-03-29 2005-07-19 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2005209307A Expired - Fee Related JP4023548B2 (ja) 1996-03-29 2005-07-19 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法

Country Status (6)

Country Link
US (1) US5841380A (ja)
EP (1) EP0798931B1 (ja)
JP (2) JP3737599B2 (ja)
KR (1) KR100276037B1 (ja)
CN (1) CN1135846C (ja)
DE (1) DE69735835T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166444A (ja) * 2009-01-16 2010-07-29 Canon Inc 復号装置及びその制御方法
JP2010166445A (ja) * 2009-01-16 2010-07-29 Canon Inc 復号装置及びその制御方法
JP2011139128A (ja) * 2009-12-25 2011-07-14 Samsung Electronics Co Ltd 可変長符号復号装置

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU728882B2 (en) * 1997-04-30 2001-01-18 Canon Kabushiki Kaisha Compression
US6215424B1 (en) * 1998-12-16 2001-04-10 Thomson Licensing S.A. System for variable length codeword processing suitable for video and other applications
US6771824B1 (en) * 1999-12-28 2004-08-03 Lucent Technologies Inc. Adaptive variable length decoding method
US6411229B2 (en) * 2000-04-28 2002-06-25 Matsushita Electric Industrial Co., Ltd. Variable length decoder
GB0124882D0 (en) * 2001-10-17 2001-12-05 Koninkl Philips Electronics Nv Improved variable length decoder
KR100486251B1 (ko) * 2002-08-03 2005-05-03 삼성전자주식회사 가변 길이 코드 복호화 장치 및 방법
US7283591B2 (en) * 2003-03-28 2007-10-16 Tarari, Inc. Parallelized dynamic Huffman decoder
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
US6956511B2 (en) * 2004-01-06 2005-10-18 Sharp Laboratories Of America, Inc. Multi-symbol/coefficient decode operation for Huffman codes
US7830964B2 (en) * 2004-11-24 2010-11-09 Lsi Corporation Method and/or apparatus for parsing compressed video bitstreams
US8630354B2 (en) * 2006-06-16 2014-01-14 Intel Corporation Hardware accelerated compressed video bitstream escape code handling
US20110149338A1 (en) * 2009-12-22 2011-06-23 Holley Michael J Parallel decode for run length limited encoded datastreams
CN102740066B (zh) * 2011-04-01 2015-06-17 富士通株式会社 Cavlc解码方法和系统
JP2013016897A (ja) 2011-06-30 2013-01-24 Toshiba Corp 可変長符号復号装置、符号システムおよび可変長符号復号方法
US9252805B1 (en) * 2015-03-28 2016-02-02 International Business Machines Corporation Parallel huffman decoder
WO2019227323A1 (zh) * 2018-05-30 2019-12-05 深圳市大疆创新科技有限公司 变长解码方法与装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5225832A (en) * 1992-02-13 1993-07-06 Industrial Technology Research Institute High speed variable length decoder
US5245338A (en) * 1992-06-04 1993-09-14 Bell Communications Research, Inc. High-speed variable-length decoder
US5325092A (en) * 1992-07-07 1994-06-28 Ricoh Company, Ltd. Huffman decoder architecture for high speed operation and reduced memory
JP3136796B2 (ja) * 1992-09-24 2001-02-19 ソニー株式会社 可変長符号デコーダ
JP2746109B2 (ja) * 1994-03-09 1998-04-28 日本電気株式会社 ハフマン符号復号化回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010166444A (ja) * 2009-01-16 2010-07-29 Canon Inc 復号装置及びその制御方法
JP2010166445A (ja) * 2009-01-16 2010-07-29 Canon Inc 復号装置及びその制御方法
JP2011139128A (ja) * 2009-12-25 2011-07-14 Samsung Electronics Co Ltd 可変長符号復号装置

Also Published As

Publication number Publication date
JP2006042336A (ja) 2006-02-09
JP3737599B2 (ja) 2006-01-18
EP0798931A2 (en) 1997-10-01
KR100276037B1 (ko) 2000-12-15
JP4023548B2 (ja) 2007-12-19
CN1171699A (zh) 1998-01-28
DE69735835T2 (de) 2006-10-19
EP0798931B1 (en) 2006-05-10
EP0798931A3 (en) 2000-11-15
CN1135846C (zh) 2004-01-21
DE69735835D1 (de) 2006-06-14
KR970068648A (ko) 1997-10-13
US5841380A (en) 1998-11-24

Similar Documents

Publication Publication Date Title
JP4023548B2 (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
JP3224164B2 (ja) デコーダ
US5675332A (en) Plural-step chunk-at-a-time decoder for variable-length codes of Huffman type
US6008745A (en) Variable length decoding using lookup tables
US5675382A (en) Spatial compression and decompression for video
JP4886755B2 (ja) コンテキスト適応バイナリ算術符号化と復号化のシステム及び方法
JPH06252775A (ja) 復号化装置
JPH0818460A (ja) ハフマンデコーダー
KR100748485B1 (ko) 가변 길이 코드워드 디코더 및 가변 길이 코드워드 디코딩 방법
US7343542B2 (en) Methods and apparatuses for variable length encoding
EP0683568B1 (en) Decoding of Huffman Codes with MSB and LSB look-up tables
JP3688297B2 (ja) ビデオ画像カラーエンコーディング
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JPH1075181A (ja) ハフマン・デコーダ
US5767799A (en) Low power high speed MPEG video variable length decoder
JP4098187B2 (ja) 可変長コード復号化装置及び方法
US5621405A (en) Variable-length decoding apparatus using relative address
US6094151A (en) Apparatus and method for finite state machine coding of information selecting most probable state subintervals
US6781528B1 (en) Vector handling capable processor and run length encoding
US6707398B1 (en) Methods and apparatuses for packing bitstreams
JPH0946237A (ja) 可変長コードの符号化及び分割装置
JP2000261324A (ja) ハフマン復号化回路
KR0152035B1 (ko) 가변장복호화방법 및 그 장치
US6707397B1 (en) Methods and apparatus for variable length codeword concatenation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050519

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050803

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051003

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051027

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091104

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees