JP3341962B2 - 可変長復号器及び可変長符号値を復号化する方法 - Google Patents

可変長復号器及び可変長符号値を復号化する方法

Info

Publication number
JP3341962B2
JP3341962B2 JP10885895A JP10885895A JP3341962B2 JP 3341962 B2 JP3341962 B2 JP 3341962B2 JP 10885895 A JP10885895 A JP 10885895A JP 10885895 A JP10885895 A JP 10885895A JP 3341962 B2 JP3341962 B2 JP 3341962B2
Authority
JP
Japan
Prior art keywords
length
code
variable
value
bit
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
JP10885895A
Other languages
English (en)
Other versions
JPH07307675A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPH07307675A publication Critical patent/JPH07307675A/ja
Application granted granted Critical
Publication of JP3341962B2 publication Critical patent/JP3341962B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、可変長復号器、特に圧
縮された画像データの復号化に適した可変長符号のため
の復号器に関する。
【0002】
【従来の技術】近年、画像データ圧縮技術は著しい発展
をとげている。これらの技術の目的は、例えば、符号化
されていない画像データに必要である転送レート(Bit
rate)よりも低い転送レートで、画像データを符号化す
ることによってデジタル伝送およびデジタル記録の効率
を上げることである。これらの符号化効率を得るために
用いられる例示的な技術は、予測符号化および変換符号
化である。
【0003】これに加えて、可変長符号化を圧縮された
符号に対して行うことによって、さらなる画像データ圧
縮が実現され得る。可変長符号化は、符号化されたビッ
ト幅を符号化される値の発生頻度に従って変化させるこ
とによって構成される。従って、固定長符号化と比較す
ると小さい転送レートが得られる。可変長符号の一例
は、ハフマン符号である。
【0004】次に、可変長符号化の一例として、図15
(a)および図15(b)を参照しながらハフマン符号
を生成する方法を説明する。t固定長データ値S1
2...Stがハフマン符号に変換されると仮定する。
図15(a)および図15(b)は、t=6の場合の一
例を示している。まず初めに、符号S1〜S6は、発生頻
度の高さの順に配列されている(これらの発生頻度の高
さは、発生確率を得るために正規化され得る)。符号S
1〜S6の発生確率は、図15(a)に示されるように、
それぞれ0.35、0.20、0.15、0.15、
0.10、および0.05である。従って、発生確率は
符号S1〜S6の順番に配列されている。次に、最も低い
発生確率を有する2つの符号を一つのグループにする
と、それらの符号の合成確率(2つの発生確率の合計)
が見い出される。
【0005】図15(a)では、符号S6およびS5が最
も低い発生確率を有し、これらの符号の合成確率は0.
15である。次に、このグループおよび他の符号は、合
成確率と発生確率との大きさの順に配列される。最も低
い発生確率(あるいは合成確率)を有する2つの符号
(あるいはグループ)を新しいグループにすると、この
グループの合成確率が見い出される。引き続き、図15
(a)に示されるような合成確率が1になるリスティン
グ(listing)が得られるまで、この処理が繰り返され
る。
【0006】図15(a)を用いると、上記の処理の結
果として、図15(b)に示されるような符号木(code
tree)がコンパイル(Compile)される。次に、「0」
および「1」がこの符号木の分岐に従って割り付けられ
る。図15(b)では、上部ブランチ(branch)には
「0」が割り付けられ、下部ブランチには「1」が割り
付けられる。この分岐に従うことによってハフマン符号
が得られる。例えば、図15(b)の太線で示されるよ
うに、固定長符号S4は、ブランチ「0」、ブランチ
「1」、そして最後にブランチ「0」に沿って通過する
ので、ハフマン符号「010」に変換される。このよう
に見いだされた符号S1〜S6のハフマン符号を下記の表
1に示す。
【0007】
【表1】
【0008】表1に示すように、発生確率が高い符号は
ビット長が短いハフマン符号に変換され、発生確率が低
い符号はビット長が長いハフマン符号に変換される。こ
の方法で、データ値の一定の数を伝送するための転送レ
ート全体が低減され得る。
【0009】一般的に、そのような可変長符号を固定長
符号に復号化するためには、ROMなどの半導体メモリ
(Solid state memory)に埋め込まれている変換表が用
いられる。説明の便宜上、図15(a)では可変長符号
(ハフマン符号)の最大ビット数は4ビットとされてい
るが、実際の画像データ信号では、最大ビット数はより
大きく、例えば、17ビットである。
【0010】nビット可変長符号の最上位のmビットの
ハフマン符号化は、最下位のkビットのハフマン符号化
とは必然的に異なり(n、mおよびkは自然数であり、
m、k<n)、またnビットあるいはnビット未満の可
変長符号のパターンとも必然的に異なる。例えば、上記
表1のハフマン符号では、S1およびS2のハフマン符号
のパターン「00」および「10」は、S3、S4、S5
およびS6のハフマン符号の最上位の2ビットには存在
しない。従って、可変長符号の上位のビットあるいは下
位のビットを調べることによって、可変長符号を復号化
することが可能になる。
【0011】可変長符号を復号化する従来技術の方法の
一例を図17に示す。nビット並列データ信号は参照用
テーブル(LUT)111と結合する。nビット信号
は、参照用テーブル111に記憶されているデータ用の
アドレスとして用いられる可変長符号ワードを含む。可
変長符号は、長さがnビットであってもよい。参照用テ
ーブル111に記憶されているデータは、符号長および
符号値に対応する。符号長データは、nビット信号内で
識別された可変長符号ワードの長さを指定する。符号値
は可変長符号の復号化された(すなわち固定長)値であ
る。参照用テーブル111の出力は、それぞれzビット
並列データストリームおよびvビット並列データストリ
ームである符号長および符号値である。
【0012】演算が行われているとき、nビット信号で
受け取られた可変長符号は、参照用テーブル111内の
記憶場所へのアドレスとして用いられる。記憶場所が識
別されると、参照用テーブルは記憶場所で記憶されてい
る符号長および符号値を出力する。
【0013】しかし、nビットのアドレスは参照用テー
ブル111への入力として与えられなければならないの
で、図17の従来技術の装置は大きいメモリ容量を必要
とする。さらに、参照用テーブル111内の各記憶場所
は、zビット符号長およびvビット符号値を記憶する。
その結果、符号長及び符号値を記憶するために、合計z
+vビットの大きさが必要である。参照用テーブル11
1に必要なビット数の合計は、2n*(z+v)である。
【0014】従って、変換表に必要なメモリ容量を削減
するために、変換表の大きさを制限するという提案がさ
れている。しかし、これらの技術を用いると、復号化処
理の速度が遅くなる。
【0015】例えば、このような装置の1つが、Konish
iに発行された「可変長符号復調装置およびそのアドレ
ス制御方法」という題の米国特許第5,138,316
号(以下、’316特許)に提案されている。’316
特許は、図16に示され、可変長符号の復号器に関する
教示の目的で、本明細書で参考として援用される。’3
16特許には、最上位ビット(MSBs)が変換表82
2に与えられ、最下位ビット(LSBs)が変換表82
3に与えられる可変長符号が記載されている。変換表8
22および変換表823の9ビットの出力値は、それぞ
れセレクタ824と結合する。さらに、変換表822の
5ビットの出力信号は、変換表823のLSB入力と結
合する。また、1ビットの出力信号は、変換表822に
よって生成され、セレクタ824に与えられる。
【0016】演算が行われているとき、可変長符号化ビ
ットストリームの15並列ビットは、入力端子821を
介して与えられる。ビットストリームの1つのセグメン
トの最上位の8ビットは変換表822に与えられる。最
下位の7ビットは、変換表822からの5ビット変換符
号も含む12ビットアドレス値のLSBとして、変換表
823のアドレス入力端子に与えられる。可変長符号
(VLC)値が8ビット以下から構成される場合、長さ
符号「1」は変換表822によって生成され、セレクタ
824の制御端子826に与えられる。さらに、この可
変長符号値によって指示されたアドレスで記憶されてい
る9ビット固定長値は、変換表822によって生成さ
れ、セレクタ824の第1の入力端子828に与えられ
る。セレクタは「1」を制御入力端子826で受け取る
ので、第1の入力端子828に与えられた固定長符号を
受け渡す。
【0017】反対に、可変長符号値が9ビット以上であ
る場合、長さ符号「0」は変換表822によって生成さ
れる。また、変換表822は、最上位8ビットに対応す
るアドレスで記憶されている5ビット変換符号を生成す
る。従って、12ビット符号ワードは、変換表823の
アドレス入力ポートに与えられる。アドレス変換表82
3はこのように設計され、9ビット以上のVLCに対応
する9ビット固定長符号がセレクタ824の第2の入力
端子830に与えられる。
【0018】この構成によって表の大きさが縮小される
が、VLCが復号化され得る速度も低減される。これ
は、変換表822が初めにVLCを復号化しようとする
ためにおこる。しかし、変換表822がVLCを復号化
できない場合、変換表823が復号化を行う前に、変換
表822は初めに付加的なビットを変換表823に与え
なければならない。
【0019】
【発明が解決しようとする課題】画像データの高能率符
号化に可変長符号は有用である。しかし可変長符号の復
号化の処理のために、参照用テーブルは可変長符号の符
号長と符号値とを記憶しなければならない。この結果、
参照用テーブルが必要とする記憶容量は大きくなる。ま
た、記憶容量の削減をするために、分割された参照用テ
ーブルを備えた装置は、処理速度の低下をきたしやす
い。
【0020】本発明はこのような現状に鑑みてなされた
ものであり、本発明の目的はnビット固定長ワードか
ら、可変長符号値のセグメントが保持されている(n−
j)ビットを受け取り、復号化された符号長値を生成す
る符号長参照用テーブル手段と、nビット固定長ワード
を受け取り、可変長符号の復号化された符号値を生成す
る符号値参照用テーブル手段とを備えた可変長復号器を
提供することにある。この装置により、符号長参照用テ
ーブルを符号値参照用テーブルから独立させることがで
きる。
【0021】本発明の他の目的は、qビットデータ入力
ワードからnビット固定長ワードを抽出するシフタ手段
と、復号化された可変長符号の符号長値に応じて、シフ
タ手段を制御する制御手段とを備える装置を提供するこ
とにある。この装置により、ひとつの可変長符号値が復
号化されるのを待たずして、次の可変長符号値のセグメ
ントが抽出される。
【0022】本発明の他の目的は、qビットデータ入力
ワードから、可変長符号値が保持されているnビット固
定長ワードを抽出する工程と、このnビット固定長ワー
ドから、可変長符号値のセグメントが保持されている
(n−j)ビットを抽出する工程と、この(n−j)ビ
ット及び参照用テーブルを用いて、符号長値を復号化す
る工程と、この復号化された符号長値を用いて、qビッ
トデータ入力ワードから、次に復号すべきビットを抽出
する工程とを包含した方法を提供する事にある。この方
法により、ひとつの可変長符号値が復号化されるのを待
たずして、次の可変長符号値のセグメントが抽出され
る。
【0023】
【課題を解決するための手段】本発明の可変長復号器
は、nビット固定長ワード内の(n−j)ビット(n及
びjは整数であり、jはn以下)に可変長符号値のセグ
メントが保持されており、該nビット固定長ワード内の
(n−j)ビットを受け取り、復号化された符号長値を
生成する符号長参照用テーブル手段と、可変長符号を保
持する該nビット固定長ワードを受け取り、該可変長符
号の復号化さた符号値を生成する符号値参照用テーブル
手段とを備えており、そのことにより上記目的が達成さ
れる。
【0024】前記可変長復号器の前記符号長参照用テー
ブル手段がメモリを備え、前記nビット固定長ワードの
前記(n−j)ビットが該メモリ内のアドレスとして用
いられてもよい。
【0025】前記復号化さた符号長が前記メモリ内の前
記アドレスに記憶されている、前記可変長復号器であっ
てもよい。
【0026】前記メモリが読み出し専用記憶素子であ
る、前記可変長復号器であってもよい。
【0027】本発明の可変長復号器は、可変長符号値が
rビットの最大ビット長を持ち、nビット固定長ワード
(n及びrは整数であり、rはn未満)が該可変長符号
値を保持しており、qビットデータ入力ワード(qは整
数であり、nはq以下)を受け取り、該nビット固定長
ワードを抽出するシフタ手段と、該nビット固定長ワー
ド内の(n−j)ビット(n及びjは整数であり、jは
r未満)に該可変長符号値のセグメントが保持されてお
り、該nビット固定長ワード内の該(n−j)ビットを
受け取り、復号化さた符号長値を生成する符号長変換テ
ーブル手段と、次のnビット固定長ワードは次の可変長
符号値を保持しており、該シフタ手段に該qビットデー
タ入力ワードから該復号化さた符号長値に応じて該次の
nビット固定長ワードを抽出させる制御手段とを備えて
おり、そのことにより上記目的が達成される。
【0028】前記nビット固定長ワードを受け取り、復
号化さた可変長符号を生成する可変長符号参照用テーブ
ル手段をさらに有している、前記可変長復号器であって
もよい。
【0029】前記符号長参照用テーブル手段がメモリを
備え、前記nビット固定長ワードの前記(n−j)ビッ
トが前記メモリのアドレスとして用いられる、前記可変
長復号器であってもよい。
【0030】前記復号化された符号長値が前記メモリ内
の前記アドレスで記憶されている、前記可変長復号器で
あってもよい。
【0031】前記メモリが読み出し専用記憶素子であ
る、前記可変長復号器であってもよい。
【0032】本発明の可変長符号値を復号化する方法
は、nビット固定長ワードが可変長符号値を保持してお
り、qビットデータ入力ワードを受け取り、該nビット
固定長ワードを抽出する工程と(q及びnは整数であ
り、nはq以下)、可変長符号値のセグメントが該nビ
ット固定長ワードの(n−j)ビット(jは整数であ
り、jはn未満)に保持され、該nビット固定長ワード
の(n−j)ビットを抽出する工程と、復号化さた符号
長値を生成するために、参照用テーブル及び該nビット
固定長ワードの該(n−j)ビットを用いて、該符号長
値を復号化する工程と、次のnビット固定長ワードが次
の可変長符号値を保持していて、該次のnビット固定長
ワードを生成するために、該復号化さた符号長値を用い
て、該qビットデータ入力ワードから、ビットを抽出す
る工程とを包含しており、そのことにより上記目的が達
成される。
【0033】
【作用】図1の実施態様のメモリ容量に関して、従来技
術のメモリ容量との差を説明する。図17に示されてい
る従来技術では、可変長符号復号のために必要なメモリ
容量は2n*(z+v)である。
【0034】表1のハフマン符号から明らかなように、
すべての可変長符号がそれぞれに異なる符号長を有して
いるわけではない。また符号長が共通している複数の可
変長符号は同じ上位ビットを有している。つまり、符号
長参照用テーブルはすべての可変長符号に対する符号長
を記憶している必要がない。
【0035】したがって、図1に示されるように、符号
長参照用テーブルはnビット可変長符号の上位(n−
j)ビットを、符号長データのアドレスとして受け取る
(n及びjは整数であり、jはn以下)。そのため符号
長参照用テーブルが必要とするメモリ容量は2(n-j)*z
である。符号値参照用テーブルが必要とするメモリ容量
は2n*vであるので、この装置が必要とするメモリ容量
は(2(n-j)*z)+(2n*v)である。したがって、メ
モリ容量の削減は、(2n*(z+v))−((2(n-j)*
z)+(2n*v))であり、これは(2n−2(n-j))*
zに等しい。すなわち、メモリ容量は2jの因子により
削減される。
【0036】更に、符号値参照用テーブルを分割した場
合のメモリ削減について説明する。
【0037】分割された2つの符号値参照用テーブルは
それぞれ可変長符号の上位ビットと下位ビットを符号値
のアドレスとして受け取る。ここで課題となるのは、分
割された参照用テーブルを用いて、重複せずに可変長符
号に対してアドレスを割り当てる事である。
【0038】符号値参照用テーブルの分割は参照用テー
ブルに対応した符号木(code tree)の分割により理解
される。符号木をある木レベル(tree level)で分割す
る場合、この木レベルよりも低いレベルに生成した副木
を1つに結合する。この際、副木のノードコードが重複
するような副木の結合は、可変長符号の下位ビットが指
すアドレスの重複を意味する。すなわちこのような木レ
ベルでの符号木の分割は不適当である。
【0039】メモリの削減を示すために、図17に示さ
れる装置との比較を行う。この装置の参照用テーブルの
メモリ容量は2n*(z+v)である。
【0040】一方、符号値を得るために分離符号長参照
用テーブルおよび並列符号値参照用テーブルを用いてい
る第3の実施態様の場合、参照用テーブルの全体のメモ
リ容量は(2m+2k)*v+2(n-j)*zである。
【0041】この記憶容量の縮小は(2n*(z+v))
−((2m+2k)*v+2(n-j)*z)である(n及びj
は整数であり、jはn以下)。これは(2n−2(n-j)
*z+(2n−2m−2k)*vと等しい。mおよびkはn
未満であるので、2n>=2m+2kとなる。従って、m
および/あるいはkの値が減少する場合、メモリ容量の
削減も大きくなる。
【0042】次に、本発明の装置及び方法に関して、そ
の処理速度を従来技術と比較する。
【0043】図16の従来技術によれば、変換テーブル
を並列に配置した場合、変換テーブル822が可変長符
号の復号化に失敗した場合、変換テーブル822は付加
的な変換符号(5ビット)を変換テーブル823に送
る。その後、変換テーブル823がこの可変長符号の復
号化を行う。
【0044】一方、第2の実施態様によれば、参照用テ
ーブルのアドレスは有効に分割されている。すなわち、
LSBsを受け取る参照用テーブル1 30のアドレス
は、重複せずにLSBのk個により指定される。そのた
め、MSBのm個を受け取った参照用テーブル0 20
が、可変長符号の復号化に失敗しても、LSBのk個を
受け取る参照用テーブル1 30は付加的なビットを必
要とせずに、この可変長符号を復号化する事が可能であ
る。つまり、参照用テーブル0 20及び参照用テーブ
ル1 30は、実質的に並列に復号化の処理を行う。し
たがって、復号化処理の速度は低下しない。
【0045】本発明の第3の実施態様によれば、符号長
参照用テーブル620が復号化した符号長値を制御回路
660に送ることで、シフタ610はqビットデータ入
力ワード内にある次に復号化すべき可変長符号を抽出す
ることが出来る。この抽出は先行する可変長符号値の復
号化が完了するのを待つ必要がない。そのためこの装置
は復号化処理を高速に行うことが可能である。
【0046】
【実施例】
第1の実施態様 第1の実施態様を図1を参照しながら説明する。第1の
実施態様によると、分離符号長参照用テーブルは可変長
符号の符号長を決定するために用いられる。
【0047】図1に示されるように、nビット入力スト
リームは符号値参照用テーブル3に与えられる。符号値
参照用テーブル3は、nビット入力ストリームに含まれ
る可変長符号の復号化された値を与える。さらに、nビ
ット入力ストリームのnマイナスj(n−j)ビットは
符号長参照用テーブル2(分離符号長参照用テーブル
2)に与えられる。分離符号長参照用テーブル2は、n
ビット入力ストリームに含まれる可変長符号の符号長を
決定するために用いられる。
【0048】演算を行っているときに、nビット入力ス
トリームのセグメント、すなわち、(n−j)個の最上
位ビットが符号長参照用テーブル2に与えられる。nビ
ット入力ストリーム全体が符号値参照用テーブル3に与
えられ、ビットストリームから可変長符号のデータ値を
復号化する。符号値参照用テーブル3は、可変長符号の
符号長を記憶しない。
【0049】以下に記載するように、符号値参照用テー
ブルから分離された符号長参照用テーブルを用いること
によって、可変長符号の復号に必要なメモリ容量全体を
削減することが可能になる。これは、符号値参照用テー
ブルが符号値とそれに対応する符号長との両方を含む必
要がないからである。従って、符号値参照用テーブルの
アドレスに記憶されているビット数を低減し得る。
【0050】符号長参照用テーブル2は、nビットスト
リームの(n−j)最上位ビットをメモリ内のアドレス
として用いる。そのアドレスに位置するビットは符号の
長さを指定する。可変長符号には同じ長さを有している
ものもあるので、各可変長符号に対応するアドレスを与
える必要はない。例えば、表1に示されている符号のう
ち、一番長い符号ワードは4ビットであるが、符号長は
可変長符号の最初の3ビットからのみ決定され得る。従
って、jは1になる。
【0051】演算を行っているときに、(n−j)ビッ
トを受け取ると、符号長参照用テーブルは可変長符号の
長さを指定する符号長を与える。例えば、表1に示され
る符号のうちで、符号長参照用テーブルのメモリに記憶
されている符号長値はS1〜S3に対しては2であり、S
4に対しては3であり、S5およびS6に対しては4であ
る。jが1に設定されている場合、可変長符号の最上位
3ビットを用いて表1中の可変長符号の長さが決定され
得る。従って、可変長符号の最上位3ビットが010で
ある場合、符号長参照用テーブルは符号長値3を与え
る。可変長符号の最上位3ビットが011である場合、
符号長参照用テーブルは符号長値4を与える。
【0052】符号値参照用テーブル3は、nビットスト
リームをメモリ内のアドレスとして用いる。メモリ内の
アドレスに記憶されているのは、可変長符号の符号値で
ある。しかし、可変長符号の長さは符号長参照用テーブ
ル2のメモリ内に記憶されるので、可変長符号の長さは
符号値参照用テーブル3のメモリ内に記憶されなくてよ
い。符号長および符号値を復号化するためにそれぞれ符
号長参照用テーブル2および符号値参照用テーブル3の
両方を用いた結果、参照用テーブルに用いるために必要
となるメモリの削減が可能になる。
【0053】メモリの削減を説明するために、分離符号
長参照用テーブルが用いられない、図17に示されてい
る従来技術を考える。従来技術の装置のメモリ容量は、
n*(z+v)である。
【0054】図1に示される実施態様のメモリ容量は、
符号長参照用テーブルのメモリ容量2(n-j)*z+符号値
参照用テーブルのメモリ容量2n*v、つまり(2(n-j)*
z)+(2n*v)である。メモリ容量の削減は、(2n*
(z+v))−((2(n-j)*z)+(2n*v))として
計算され、これは(2n−2(n-j))*zと等しい。従っ
て、符号長値を保持するために必要なメモリ容量は、2
jの因子により削減される。
【0055】第2の実施態様 図2は本発明の第2の実施態様による、可変長復号器を
示している。
【0056】可変長復号器は、可変長符号化されたデー
タストリームのセグメントを入力端子5で受け取る。例
えば、このセグメントはnビットからなる。m及びnは
自然数であり、0<m<=nとする。可変長符号のMS
Bのm個が参照用テーブル020に与えられるように、
可変長符号化されたデータが分割される。kが自然数で
あり0<=k<=nとする。可変長符号LSBのk個が
参照用テーブル130に与えられる。参照用テーブル0
20および参照用テーブル1 30内のアドレスは入
力端子5で与えられるビットによって指定され、参照用
テーブル020および参照用テーブル1 30のデータ
の出力値は指定されたアドレスに記憶されているデータ
により定まる。
【0057】参照用テーブル0 20の出力信号は、マ
ルチプレクサ40および41の第1データ入力ポートに
与えられる。さらに、復号化信号(DS)も参照用テー
ブル0 20によってマルチプレクサ40および41の
制御入力端子に与えられる。参照用テーブル1 30の
出力信号は、マルチプレクサ40および41の第2デー
タ入力ポートに与えられる。
【0058】演算では、MSBのm個およびLSBのk
個がそれぞれ参照用テーブル0 20および参照用テー
ブル1 30に与えられる。各参照用テーブルは、入力
されたビットを復号化する。この復号化は、ビットを参
照用テーブル内のアドレスとして用い、参照用テーブル
内における指定されたアドレスに記憶されたデータを出
力値として与えることによってなされる。本実施態様で
は、参照用テーブル020および参照用テーブル1 3
0は、実質的に同時にnビット固定長セグメントのMS
Bのm個およびLSBのk個をそれぞれ復号化し、それ
によって並列復号化演算を行う。
【0059】ビットが示すアドレス位置に記憶されてい
るデータは、可変長符号の長さを示す符号長および可変
長符号の復号化された値である符号値を含んでいる。符
号長はz並列ビットストリームであり、符号値はv並列
ビットストリームである。
【0060】MSBのm個で示されるアドレスでデータ
値を与えることに加えて、参照用テーブル0 20は、
参照用テーブル0 20が可変長符号ワードを正確に復
号化しているか否かを示す復号化信号(DS)をマルチ
プレクサ40および41に与える。DSが「0」である
場合、マルチプレクサ40および41は参照用テーブル
0 20によって与えられたデータを受け渡す。この処
理が行われるのは、参照用テーブル0 20による可変
長符号ワードの復号化が成功し、参照用テーブル1 3
0の出力を考慮する必要がないためである。
【0061】しかし、DSが「1」の場合は、参照用テ
ーブル0 20による可変長符号ワードの復号化が成功
していないことを示す。上記のように、本例では、参照
用テーブル0 20が可変長ワードを復号化していない
ので、参照用テーブル1 30が可変長符号ワードを復
号化する必要がある。従って、マルチプレクサ40およ
び41は、参照用テーブル1 30によって与えられた
データ値を受け渡す。従って、第2の実施態様によれ
ば、可変長復号器は、可変長符号のMSB及びLSBの
復号を行うために、参照用テーブルを並列に備えてい
る。そのことにより、この可変長復号器は復号速度を維
持しながら、変換に必要な参照用テーブルの記憶容量を
縮小する事が出来る。参照用テーブル0 20および参
照用テーブル1 30は、それぞれ可変長符号のMSB
のm個およびLSBのk個に対応するアドレスを有して
いる。符号表の区分ならびに、最上位ビットおよび最下
位ビットの数であるmおよびkは、下記の方法に従って
決定される。参照用テーブルに必要なメモリの量を最小
限にするために(すなわち、組合わせられた参照用テー
ブルの大きさが縮小されるように)、参照用テーブル0
20および参照用テーブル1 30のアドレスの組み
合わせを生成することが所望される。
【0062】図2に示される参照用テーブル20および
参照用テーブル30の大きさを決定する方法を、図3
(a)〜3(c)、図4(a)〜4(c)および図5
(a)〜5(c)を参照しながら以下に記載する。
【0063】この方法は、可変長符号に対応する符号木
を用いるものである。可変長符号と符号木との相関は表
1および図15(b)によって示される。表1は、図1
5(b)に示される木のブランチをトレースすることに
よって生成され得る可変長符号を示している。例えば、
5に対する可変長符号はAからS5へのブランチをトレ
ースすることによって生成される。生成された可変長符
号は0110である。
【0064】例えば、nが可変長符号の最大長であると
き、nビット符号木が与えられると仮定する。上記のよ
うに参照用テーブル0 20がMSBのm個を受け取る
と仮定すると、参照用テーブル1 30が受け取るLS
Bの数の最小値kは以下のように決定され得る。
【0065】2.クレーム1及びクレーム2は、従来技
術に関する欧州特許条約第52条(1)の要求を満たす
ものの、以下の形式上の拒絶を克服するために、補正が
要求される。
【0066】まず、kはnからmを引いた値に設定され
る(k=n−m)。次に、主木(main tree)のレベルは
nからkを引いた値(n−k)に設定される。例えば、
図3(a)を考えると、レベル2は葉(leaf)ノード00
および10に対応する木レベル(tree level)である。
より上位、例えばレベル1は、ブランチノード0および
1に対応する木レベルである。木レベルは、木レベルの
下位に副木(subtree)を有し得る。例えば、図5(a)
のレベル2は1つの副木を有している。副木は、ブラン
チノード00の下位にあり、リーフノード000と00
1をそれぞれに持つ2つのブランチを有する。各々の木
および副木に対しては、対応する参照用テーブルが生成
され得る。各々の木あるいは副木に対する参照用テーブ
ルは、各木あるいは副木の葉(leaf)ノードにおける可
変長符号をメモリ内のアドレスとして用いる。
【0067】発明者は、kの値に関してその最小値を以
下の様に決定した。(1)参照用テーブル0 20との
組み合わせで可変長符号を復号化し、かつ(2)組み合
わせられた参照用テーブルの記憶容量が最小となる様
な、参照用テーブル1 30に対して取りうる最も小さ
いkの値は、k=n−mである。
【0068】主木が分割されて生成したの副木は、それ
ぞれの参照用テーブルに対応する。これらの副木を組み
合わせるこによって、LSBのk個を受け取る参照用テ
ーブル1 30およびMSBのm個を受け取る参照用テ
ーブル0 20によって可変長符号が復号化され得るか
否かが決定され得る。オーバーラップが起こらずに副木
が組み合わされ得る場合は、LSBのk個を受け取る参
照用テーブル1 30およびMSBのm個を受け取る参
照用テーブル0 20は可変長符号を復号化する。
【0069】例えば、図3(a)および図3(b)に示
される副木が組み合わせられると、図3(c)のツリー
が生成される。これは、図3(a)および図3(b)に
示される主木の異なる副木と副木の対応する葉ノードを
組み合わせることによって達成される。あるいは、2つ
の副木の組み合わせは、ある木を他の木の上に置くこと
によって行われ得る。
【0070】図3(a)のレベル2の葉ノードが図3
(b)の葉ノードとオーバーラップしない場合、この副
木の組み合わせは有効である。その結果、kが(n−
m)に設定されたとき、このkは最小となる。次に、図
4(a)と図4(b)に示される副木が組み合わせられ
て図4(c)に示される主木が生成される場合を考え
る。図から明らかなように、副木が組み合わせられると
葉ノード00でオーバーラップが起こる。この場合、葉
ノード00は、図4(a)および図4(b)に示される
副木のどちらにも固有なものではなくなる。従って、図
4(a)および図4(b)に示される分割を用いること
は許されない。
【0071】もう一つの不適切な組み合わせを図5
(a)〜図5(c)に示す。ここで、図5(a)はレベ
ル3で付加的な葉を含んでいる。図5(a)および図5
(b)の副木が組み合わせられると、図5(b)に示さ
れる副木のレベル2の葉ノードは、図5(a)に示され
るレベル3の葉ノードが固有ではなくなる葉ノードを有
するので、レベル3の葉ノードを区別することは不可能
である。
【0072】まず2つの副木を組み合わせて新しい木を
生成し、次の副木と新しい木を組み合わせることによっ
て、多数の木が組み合わされ得る。付加的な木が与えら
れる場合、この処理が繰り返され得る。
【0073】レベル(n−k)におけるブランチが組み
合わせられ得ない場合、次のレベルである(n−k)+
1、すなわちk’=k+1のときのn−k’が試験され
る。n−k’レベルで組み合わせを行う前に、n−kレ
ベルにおけるすべての葉が切り取られる(除去され
る)。次に、n−k’レベルで主木は副木に分割され
る。
【0074】例えば、レベル2の分割が機能しない場
合、レベル2の葉ノードが切り取られ、レベル1で主木
が分割される。そして、レベル1の副木が組み合わせら
れる。次のレベル、n−k’レベルで副木を組み合わせ
る方法は、n−kレベルで副木を組み合わせるために用
いた方法と同じである。
【0075】組み合わせられ得る副木に主木が分割され
るまで、この処理は繰り返される。有効な分割を生成す
るkの最初の値は、有効な参照用テーブルの組をもたら
すkのうちで最小である。このkに対応する表の組合せ
のメモリ容量は、単独でnビットを同時に処理する参照
用テーブルのメモリ容量よりも少量である。
【0076】この方法を用いて参照用テーブルはより小
さい一次参照用テーブルと二次参照用テーブルとに分割
さる。より小さい参照用テーブルの各々は、他の副木と
組み合わせられることで元の参照用テーブルに対応する
木を生成する副木に対応する。加えて、二次参照用テー
ブルの最小の大きさが決定され得る。さらに、一次参照
用テーブルおよび二次参照用テーブルの全体の大きさを
最大化するために、2m+2kの最小値が計算される。但
し、mは一次参照用テーブルのビット長でありkは二次
参照用テーブルのビット長である。メモリ容量の最小値
は、mの異なる値に対してkの異なる値を計算すること
によって決定され得る。
【0077】例えば、図6に示されるMPEG木の一部
を考える。ここで、可変長符号の最長が10ビットしか
ないと仮定する。図7〜図13は参照用テーブル0 2
0および参照用テーブル1 30がそれぞれ受け取るビ
ット幅(すなわちm及びk)の異なる組み合わせの例を
示している。
【0078】図7は、参照用テーブル0 20に対する
mが1であり、参照用テーブル130に対するkが9で
ある場合を示している。2つの参照用テーブルに対応す
る2つの副木が組み合わせられると、図7の木が生成さ
れる。しかし、木が組み合わせられると葉10と11と
がオーバーラップする。従って、副木は組み合わせられ
得ない。
【0079】図8は、mが2ビットでありkが8ビット
である場合を示している。葉01と00とが矛盾するの
で、この組み合わせも不適切である。
【0080】図9は、mが2ビットでありkが9ビット
である場合を示している。図示されているように、参照
用テーブルに対応する木が組み合わせられると矛盾は存
在しなくなる。従って、参照用テーブルの有効な分割が
行われる。
【0081】この処理は、mビットとkビットとの異な
る組み合わせに対して図10〜図13で繰り返される。
図10、図11および図12に示される分割は、組み合
わせられ得ない。しかし、図13に示される分割はうま
く組み合わせられる。
【0082】異なる値のmとkに対する副木を組み合わ
せる上記の方法を繰り返し行うことによって、有効な参
照用テーブルを生成するm及びkの組み合わせを得るこ
とが可能になる。得られたm及びkの値は表2に示され
ている。表2では、第1列は参照用テーブル0 20の
入力ビット数(m)を表し、第2列は参照用テーブル1
30の入力ビット数(k)を示している。第3列は、
表2の第1列および第2列のmとkとの異なる組み合わ
せを用いた、組み合わせられた参照用テーブルの大きさ
を示している。
【0083】
【表2】
【0084】参照用テーブルの大きさは、式2m+2k
用いて決定される。例えば、m=3およびk=9のと
き、メモリ容量は23+29=520である。参照用テー
ブルの最小の大きさを生成するmとkとの組み合わせ
は、m=8およびk=3である。
【0085】これを実行するために、木にレベル3以下
で規定されている符号は二次参照用テーブルにあり、木
の初めの8レベルの符号は別の参照用テーブルである一
次参照用テーブルにある。
【0086】次に、例えば、国際標準化機構(ISO)
の動画像符号化の国際標準化会議(MPEG)によって
提案されたMPEG−2標準に規定されている符号表B
−14およびB−15を考える。この標準は、ISOか
ら入手可能である「Information TechnologyーGeneric
Coding of Moving Pictures and Associated Audio,Rec
ommendation H.626」ISO/IEC13818−2 D
IS、3/94と題された内部標準草案に記載され、本
明細書ではMPEG−2デジタルビデオ符号化標準に関
する教示のために参考として援用される。この符号表で
は、最大の大きさが17ビットである可変長符号ワード
が復号化される。以下の表3および表4は、参照用テー
ブル0 20および参照用テーブル1 30のビットス
トリームの17ビットセグメントの分割を示している。
それにより、可変長符号ワードを復号化する参照用テー
ブル0 20および参照用テーブル1 30に最上位の
ビットおよび最下位のビットをそれぞれ与える。提案さ
れたMPEG標準は、二組の離散コサイン変換DCT係
数に対応する、「DCT係数表0」および「DCT係数
表1」という2つの参照用テーブルを有している。表3
は「DCT係数表0」の分割を示し、表4は「DCT係
数表1」の分割を示している。表中の*は、最小のメモ
リ容量であることを示している。
【0087】
【表3】
【0088】
【表4】
【0089】表3および表4から分かるように、最適な
参照用テーブルの大きさである2560が「DCT係数
表0」および「DCT係数表1」に対して得られ得る。
最適化によって参照用テーブルを実行するために必要な
メモリの量が制限されるが、可変長符号が正確にかつ迅
速に復号化されることを補償する。
【0090】従って、メモリの使用を削減し高速復号化
を行う並列参照用テーブルを用いて、可変長符号が復号
化され得る。
【0091】第3の実施態様 第3の実施態様は、図14を参照して説明されるMPE
G復号器である。第3の実施態様によると、分離符号長
参照用テーブルは、可変長符号の符号長を決定し、可変
長符号を復号化するために用いられる。
【0092】図14に示されるように、シフタ610
は、32ビット入力ストリームに接続される。シフタ6
10の出力は、(n−j)並列ビットストリームを通し
て符号長参照用テーブル620と結合し、n並列ビット
ストリームを介して可変長符号値参照用テーブル630
と結合する。シフタ610は制御回路660とも結合
し、次に制御回路660は符号長参照用テーブル620
と結合する。
【0093】符号長参照用テーブル621およびマルチ
プレクサ622を表す破線が示すように、符号長参照用
テーブルを2つの参照用テーブルに分割してもよい。第
2の実施態様に記載されている参照用テーブルの分割方
法を用いて、符号長参照用テーブルを2つに分割しても
よい。可変長符号値参照用テーブル630は、マルチプ
レクサ640と結合した2つの参照用テーブル635お
よび636を備えている。参照用テーブル635および
636は、シフタ610からm並列ビットストリームお
よびk並列ビットストリームをそれぞれ受け取る。n、
(n−j)、mおよびkは、それぞれ17、11、9お
よび11に設定され得る。
【0094】演算では、シフタ610は、ビットストリ
ームの64ビット並列セグメントを受け取る。シフタ6
10が受け取った64ビットセグメントは、数個の可変
長符号値を含む。
【0095】ビットストリームのプログラム可能なセグ
メントは、シフタ610によって可変長符号値参照用テ
ーブル630および符号長参照用(CDL)テーブル6
20に与えられる。ビットストリームのnビット並列セ
グメントが可変長符号値参照用テーブル630に与えら
れ、ビットストリームからの可変長符号から符号値を復
号する。(n−j)ビット幅並列ビットストリームが符
号長参照用テーブル620に与えられ、符号長を得る。
【0096】以下に記載するように、連続するビットス
トリームにおける可変長符号化値と次の可変長の符号化
された値と分離するために符号長が用いられる。従っ
て、得られた符号長を用いて次の可変長符号化値がビッ
トストリーム内で識別され得るので、可変長符号化値は
瞬時に復号化される必要はない。
【0097】さらに、第1の実施態様に記載されている
ように、分離符号長参照用テーブルを用いることによっ
て可変長符号を復号化するために必要なメモリ全体の容
量を削減することが可能になる。これは、参照用テーブ
ルが復号化された可変長符号値とそれに対応する長さの
値の両方を含む必要がないからである。従って、参照用
テーブルの1つのアドレスに記憶されているビット数が
低減され得る。
【0098】符号長参照用テーブル620が符号長を復
号化すると、復号化された符号長が制御回路660に与
えられる。符号長参照用テーブルは、(n−j)ビット
をメモリ内のアドレスとして用いる。メモリ内のアドレ
スで記憶されているデータは、符号長参照用テーブル6
20によって制御回路660に与えられる。制御回路6
60は、シフタ610によって与えられたデータストリ
ームのセグメントの開始点で、可変長符号値内のビット
数を決定するために符号長値を用いる。従って、制御回
路660は符号長に応じてシフタ610を制御し、与え
られた可変長符号値の直後をビットストリームの次のセ
グメントの開始点とする。
【0099】例えば、可変長符号の長さが2ビットの場
合、符号制御回路660は、シフタ610に可変長符号
の2ビットの直後に開始する次のセグメントをシフタ6
10の次の出力値として与えさせる。
【0100】その結果、制御回路660は、可変長符号
値参照用テーブル630が符号値を復号化したか否かに
関係なく、次の一連のビットの開始を識別し得る。
【0101】さらに、符号長参照用テーブル620を、
マルチプレクサ625に出力符号長を与える2つの符号
長参照用テーブル620と符号長参照用テーブル621
とに分割してもよい。これは参照用テーブル636およ
び参照用テーブル635の分割に対応するものである。
初めに、可変長符号値参照用テーブル630は参照用テ
ーブル635と参照用テーブル636とに分割される。
次に、分離符号長参照用テーブル621および分離符号
長参照用テーブル620が参照用テーブル636および
参照用テーブル635にそれぞれ作成される。
【0102】演算では、符号長参照用テーブル620お
よび符号長参照用テーブル621の各々は、参照用テー
ブル636および参照用テーブル635が受け取ったm
並列ビットストリームおよびk並列ビットストリームの
それぞれに対応するnビットデータストリームの並列ビ
ットセグメントを受け取る。次に、符号長参照用テーブ
ル621および符号長参照用テーブル620は、それぞ
れのセグメントを復号化する。符号長参照用テーブル6
21が有効な符号長を得た場合は、符号長参照用テーブ
ル621は検出された符号長信号(DCLとする)
「1」をマルチプレクサ625に与える。符号長参照用
テーブル621が有効なコード長を得ていない場合、符
号長参照用テーブル621はDCL「0」をマルチプレ
クサ625に与える。マルチプレクサ625がDCL
「1」を受け取る場合、マルチプレクサ625は符号長
参照用テーブル621によって与えられた符号長を制御
回路660に与える。しかし、マルチプレクサ625が
DCL「0」を受け取る場合、マルチプレクサ625は
符号長参照用テーブル620によって与えられた符号長
を制御回路660に与える。
【0103】可変長符号値参照用テーブル630は第2
の実施態様に記載されている方法を用いて可変長符号を
復号化する。符号長参照用テーブル620と可変長符号
値参照用テーブル630の両方を用いて、符号長および
可変長符号ワードをそれぞれ復号化する。その結果、符
号化された値を復号化するための、参照用テーブルに用
いられるメモリを縮小しながら、高速で復号化システム
を作動させることが可能になる。さらに、復号化装置
は、ビットの次のセグメントを受け取り、先行するセグ
メント内のデータがすべて復号化さるのを待たずにそれ
らのビットを処理する準備ができていてもよい。
【0104】この装置のメモリ容量の削減を示すため
に、図17に示されるように分離符号長参照用テーブル
及び並列参照用テーブルが用いられない場合を考える。
参照用テーブルのメモリ容量は2n*(z+v)である。
反対に、符号値を得るために分離符号長参照用テーブル
および分離参照用テーブルを用いている第3の実施態様
の場合、参照用テーブル全体のメモリ容量は(2m
k)*v+2(n-j)*zである。従って、参照用テーブル
の大きさの縮小が実現される。
【0105】このメモリ容量の削減は(2n*(z+
v))−((2m+2k)*v+2(n-j)*z)として計算
される。これは(2n−2(n-j))*z+(2n−2m
k)*vと等しい。mおよびkはn未満であるので、2
n>=2m+2kとなる。従って、mおよび/あるいはk
の値が減少するとき、メモリ容量の削減は大きくなる。
例えば、表3の参照用テーブルの最小の大きさ、つまり
参照用テーブル0 636および参照用テーブル1 6
35にそれぞれ9および11が用られ、nが17ビッ
ト、(n−j)が11であると仮定すると、実現された
メモリ容量の削減全体は、(217−211)*z+((2
17−29−211)*v)あるいは(128512*v+1
29024*z)である。
【0106】かわりに、第2の実施態様で示した図2
に、シフタを加えて次の様に改変してもよい。すなわ
ち、参照用テーブル0 20はzビットパラレルライン
を通して、可変長符号の符号長値をシフタ(図示されて
いない)に直接与える。また参照用テーブル0 20
は、mビットのMSBが指定するアドレスにおいて、可
変長符号値だけでなく符号長値も記憶する。従って、参
照用テーブル0 20はシフタに符号長値を与え、マル
チプレクサ40に復号化さた可変長符号値を与える。さ
らに、1次参照用テーブルを2つより多くの参照用テー
ブルに分割して、参照用テーブルに必要な容量を最小化
することが可能である。この処理は、まず第2の実施態
様に記載されている方法を用いて、1次参照用テーブル
をmビット入力データストリームおよびkビット入力デ
ータストリームをそれぞれ有する2つの参照用テーブル
に分割することによって実現される。次に、第2の実施
態様に記載されている方法を用いて、kビット入力デー
タストリームを有する参照用テーブルも1次参照用テー
ブルのように分割される。
【0107】本発明はいくつかの具体的な実施態様を参
照しながら本明細書で示され記載されたが、示されてい
る詳細を制限しようとするものではない。むしろ、請求
項の等価物の目的および範囲内で、本発明の精神から逸
脱せずに詳細を様々に改変し得る。
【0108】
【発明の効果】本発明は符号長参照用テーブルを符号値
参照用テーブルから独立させることにより、参照用テー
ブルが記憶すべきビット数を縮小する装置に関するもの
であり、それにより、可変長符号を復号化する速度を低
下させることなく、参照用テーブルの記憶容量を削減す
る。
【0109】本発明はqビットデータ入力ワードからn
ビット固定長ワードを抽出するシフタ手段と、復号化さ
れた可変長符号の符号長値に応じて、シフタ手段を制御
する制御手段とを備える装置に関するものであり、それ
により、可変長符号を復号化する速度を低下させること
なく、参照用テーブルの記憶容量を削減する。
【0110】本発明はqビットデータ入力ワードから、
可変長符号値が保持されているnビット固定長ワードを
抽出する工程と、このnビット固定長ワードから、可変
長符号値のセグメントが保持されている(n−j)ビッ
トを抽出する工程と、この(n−j)ビット及び参照用
テーブルを用いて、符号長値を復号化する工程と、この
復号化された符号長値を用いて、qビットデータ入力ワ
ードから、次に復号すべきビットを抽出する工程とを包
含した方法に関しており、それにより、可変長符号を復
号化する速度を低下させることなく、参照用テーブルの
記憶容量を削減する。
【図面の簡単な説明】
【図1】本発明の第1の実施態様による可変長復号器の
ブロック図である。
【図2】本発明の第2の実施態様による可変長復号器の
ブロック図である。
【図3】(a)から(c)は、符号木の組み合わせの一
例を示す樹形図である。
【図4】(a)から(c)は、符号木の組み合わせの別
の例を示す樹形図である。
【図5】(a)から(c)は、符号木の組み合わせの別
の例を示す樹形図である。
【図6】国際標準化機構(ISO)の動画像符号化の国
際標準化会議(MPEG)によって規定された符号化標
準での使用に好適な符号木の一部を示す樹形図である。
【図7】より小さい変換表を生成するために、下位の符
号木に分割された図6の符号木を示す樹形図である。
【図8】より小さい変換表を生成するために、下位の符
号木に分割された図6の符号木を示す他の樹形図であ
る。
【図9】より小さい変換表を生成するために、下位の符
号木に分割された図6の符号木を示す他の樹形図であ
る。
【図10】より小さい変換表を生成するために、下位の
符号木に分割された図6の符号木を示す他の樹形図であ
る。
【図11】より小さい変換表を生成するために、下位の
符号木に分割された図6の符号木を示す他の樹形図であ
る。
【図12】より小さい変換表を生成するために、下位の
符号木に分割された図6の符号木を示す他の樹形図であ
る。
【図13】より小さい変換表を生成するために、下位の
符号木に分割された図6の符号木を示す他の樹形図であ
る。
【図14】本発明の第3の実施態様によるMPEG可変
長符号を復号化する可変長復号器のブロック図である。
【図15】従来技術であるハフマン符号を説明する樹形
図であり、(a)はハフマン符号を生成する過程を示
し、(b)はハフマン符号木を示している。
【図16】従来の可変長符号復調装置のブロック図であ
る。
【図17】可変長符号を復号化する従来の可変長復号器
のブロック図である。
【符号の説明】
2 符号長参照用テーブル 3 符号値参照用テーブル 5 nビット固定長符号入力端子 20 参照用テーブル0 30 参照用テーブル1 40 マルチプレクサ 41 マルチプレクサ 111 参照用テーブル 610 シフタ 620 符号長参照用テーブル 621 符号長参照用テーブル 625 マルチプレクサ 630 可変長符号値参照用テーブル(Variable lengt
h table 630) 635 符号値参照用テーブル1 636 符号値参照用テーブル0 640 マルチプレクサ 660 制御回路(Control circuitry) 821 15並列ビットストリームの入力端子 822 最上位ビットに対する変換表 823 最下位ビットに対する変換表 824 セレクタ 826 制御端子 828 第1の入力端子 830 第2の入力端子
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H03M 7/42 H04N 1/41

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 可変長符号値を復号化する可変長復号器
    であって、 qビットデータ入力ワードを受け取り、該可変長符号値
    を保持するnビット固定長ワードを抽出するシフタ手段
    であって、該可変長符号値が最大ビット長rを有してお
    り、n、r及びqは整数であり、nはq以下であり、r
    はn未満である、シフタ手段と、 該nビット固定長ワードの(n−j)ビットを受け取
    り、復号化された符号長値を生成する符号長変換テーブ
    ル手段であって、該可変長符号値のセグメントが該(n
    −j)ビットに保持されており、jは整数であり、jは
    r未満である、符号長変換テーブル手段と、 該復号化された符号長値に応答して、該qビットデータ
    入力ワードから次のnビット固定長ワードを該シフタ手
    段に抽出させる制御手段であって、該次のnビット固定
    長ワードが次の可変長符号値を保持する、制御手段とを
    備えた可変長復号器。
  2. 【請求項2】 前記nビット固定長ワードを受け取り、
    復号化された可変長符号を生成する可変長符号参照用テ
    ーブル手段をさらに有している、請求項に記載の可変
    長復号器。
  3. 【請求項3】 前記符号長参照用テーブル手段がメモリ
    を備え、前記nビット固定長ワードの前記(n−j)ビ
    ットが前記メモリのアドレスとして用いられる、請求項
    に記載の可変長復号器。
  4. 【請求項4】 前記復号化された符号長値が前記メモリ
    内の前記アドレスに格納されている、請求項に記載の
    可変長復号器。
  5. 【請求項5】 前記メモリが読み出し専用メモリであ
    る、請求項に記載の可変長復号器。
  6. 【請求項6】 可変長符号値を復号化する方法であっ
    て、 qビットデータ入力ワードを受け取り、該可変長符号値
    を保持するnビット固定長ワードを抽出する工程であっ
    て、n及びqは整数であり、nはq以下である、工程
    と、 該nビット固定長ワードの(n−j)ビットを抽出する
    工程であって、該可変長符号値のセグメントが該(n−
    j)ビットに保持されており、jは整数であり、jはn
    未満である、工程と、 参照用テーブル及び該nビット固定長ワードの該(n−
    j)ビットを用いて該符号長値を復号化することによ
    り、復号化された符号長値を生成する工程と、 該復号化された符号長値を用いて該qビットデータ入力
    ワードからビットを抽出することにより、次の可変長符
    号値を有する次のnビット固定長ワードを生成する工程
    とを包含する、方法。
JP10885895A 1994-05-04 1995-05-02 可変長復号器及び可変長符号値を復号化する方法 Expired - Fee Related JP3341962B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/238,362 US5550542A (en) 1994-05-04 1994-05-04 Variable length code look-up table having separate code length determination
US08/238,362 1994-05-04

Publications (2)

Publication Number Publication Date
JPH07307675A JPH07307675A (ja) 1995-11-21
JP3341962B2 true JP3341962B2 (ja) 2002-11-05

Family

ID=22897540

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10885895A Expired - Fee Related JP3341962B2 (ja) 1994-05-04 1995-05-02 可変長復号器及び可変長符号値を復号化する方法

Country Status (4)

Country Link
US (1) US5550542A (ja)
EP (1) EP0683568B1 (ja)
JP (1) JP3341962B2 (ja)
DE (1) DE69527883T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008278075A (ja) * 2007-04-26 2008-11-13 Matsushita Electric Ind Co Ltd 可変長符号復号化装置

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960020018A (ko) * 1994-11-17 1996-06-17 배순훈 가변길이복호화장치
JP2687926B2 (ja) * 1995-05-24 1997-12-08 日本電気株式会社 符号復号化装置
US5694127A (en) * 1995-10-17 1997-12-02 Zapex Technologies, Inc. Method and apparatus for efficiently generating variable length code data
US5835145A (en) * 1996-01-19 1998-11-10 Lsi Logic Corporation Conversion system using programmable tables for compressing transform coefficients
GB2313511B (en) * 1996-05-25 2000-03-22 Motorola Inc Decoder circuit and method
US5818364A (en) * 1996-06-19 1998-10-06 Hewlett-Packard Company High bit-rate huffman decoding
US5745504A (en) * 1996-06-25 1998-04-28 Telefonaktiebolaget Lm Ericsson Bit error resilient variable length code
US6011498A (en) * 1996-12-20 2000-01-04 Philips Electronics North America Corporation Dual-speed variable length decoding architecture for MPEG-2 video data
US6351570B1 (en) * 1997-04-01 2002-02-26 Matsushita Electric Industrial Co., Ltd. Image coding and decoding apparatus, method of image coding and decoding, and recording medium for recording program for image coding and decoding
US6044460A (en) * 1998-01-16 2000-03-28 Lsi Logic Corporation System and method for PC-relative address generation in a microprocessor with a pipeline architecture
US6850647B1 (en) 1999-07-30 2005-02-01 Michael L. Gough System, method and article of manufacture for decompressing digital camera sensor data
US6633969B1 (en) 2000-08-11 2003-10-14 Lsi Logic Corporation Instruction translation system and method achieving single-cycle translation of variable-length MIPS16 instructions
US7123774B2 (en) * 2002-11-27 2006-10-17 General Electric Company System and method for coding data
US7093099B2 (en) * 2002-12-12 2006-08-15 Alacritech, Inc. Native lookup instruction for file-access processor searching a three-level lookup cache for variable-length keys
WO2005022754A1 (en) * 2003-09-02 2005-03-10 Nokia Corporation Huffman coding and decoding
US6839005B1 (en) * 2003-11-07 2005-01-04 Broadcom Corporation Low memory and MIPS efficient technique for decoding Huffman codes using multi-stage, multi-bits lookup at different levels
US7360142B1 (en) * 2004-03-03 2008-04-15 Marvell Semiconductor Israel Ltd. Methods, architectures, circuits, software and systems for CRC determination
US7434150B1 (en) 2004-03-03 2008-10-07 Marvell Israel (M.I.S.L.) Ltd. Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
US7271748B2 (en) * 2004-09-13 2007-09-18 Texas Instruments Incorporated System and method for providing a thermometer coded output filter
WO2009122675A1 (ja) * 2008-03-31 2009-10-08 パナソニック株式会社 可変長符号復号化装置及びその方法
DE102010009263B4 (de) * 2010-02-25 2012-04-12 Knorr-Bremse Systeme für Nutzfahrzeuge GmbH Verfahren zur Datenübertragung zu einem elektronischen Steuergerät
US9787323B1 (en) * 2016-12-11 2017-10-10 Microsoft Technology Licensing, Llc Huffman tree decompression

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4044347A (en) * 1975-05-19 1977-08-23 International Business Machines Corporation Variable-length to fixed-length conversion of minimum-redundancy codes
JPS5564445A (en) * 1978-11-08 1980-05-15 Nec Corp Code converter circuit
JPH03143028A (ja) * 1989-10-27 1991-06-18 Yamaha Corp 可変長符号の復号回路
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
US5253053A (en) * 1990-12-31 1993-10-12 Apple Computer, Inc. Variable length decoding using lookup tables
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
EP0546795B1 (en) * 1991-12-09 1997-03-05 Matsushita Electric Industrial Co., Ltd. Digital modulator or demodulator circuit
AU3247393A (en) * 1991-12-23 1993-07-28 Intel Corporation Circuitry for decoding huffman codes
JPH05327517A (ja) * 1992-05-21 1993-12-10 Mitsubishi Electric Corp デコード装置
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 ソニー株式会社 可変長符号デコーダ
US5343195A (en) * 1992-12-18 1994-08-30 Thomson Consumer Electronics, Inc. Variable length codeword decoding apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008278075A (ja) * 2007-04-26 2008-11-13 Matsushita Electric Ind Co Ltd 可変長符号復号化装置
US7728745B2 (en) 2007-04-26 2010-06-01 Panasonic Corporation Variable length code decoding apparatus and method with variation in timing of extracting bit string to be decoded depending on code word

Also Published As

Publication number Publication date
JPH07307675A (ja) 1995-11-21
DE69527883D1 (de) 2002-10-02
US5550542A (en) 1996-08-27
EP0683568B1 (en) 2002-08-28
EP0683568A1 (en) 1995-11-22
DE69527883T2 (de) 2003-04-30

Similar Documents

Publication Publication Date Title
JP3341962B2 (ja) 可変長復号器及び可変長符号値を復号化する方法
US6219457B1 (en) Method and system for decoding data encoded in a variable length code word
US5541595A (en) Variable length code decoder for simultaneous decoding the most significant bits and the least significant bits of a variable length code
US5227789A (en) Modified huffman encode/decode system with simplified decoding for imaging systems
EP0426429B1 (en) Variable length code demodulating apparatus and address control method thereof
US5208593A (en) Method and structure for decoding Huffman codes using leading ones detection
US6008745A (en) Variable length decoding using lookup tables
JP3484310B2 (ja) 可変長符号器
JPH0746142A (ja) データ圧縮方式
JPH0818460A (ja) ハフマンデコーダー
JP3410629B2 (ja) 可変長符号化回路及び可変長符号化方法
JPH08162970A (ja) 復号装置およびその方法
AU695626B2 (en) Video image colour encoding
KR20030040567A (ko) 허프만 디코딩을 수행하는 방법
US5594435A (en) Permutation-based data compression
CN1497856A (zh) 编码方法及系统以及译码方法及系统
US6546053B1 (en) System and method for decoding signal and method of generating lookup table for using in signal decoding process
JP3021331B2 (ja) 相対アドレスを用いた可変長復号化装置
JPH1065549A (ja) 可変長符号化データ値の長さを決定する装置、可変長符号化データ値のデータストリームを復号化する装置および可変長符号化データ値の長さを決定する方法
US5907635A (en) Picture data decompression apparatus
JPH03503707A (ja) 統計的にコード化されたデジタル・データを復号するシステム
US5825312A (en) DX JPEG Huffman decoder
US5835033A (en) Decoding apparatus and method for coded data
JPH10271016A (ja) 符号/復号化器
EP0644660B1 (en) Variable length coder

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020402

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020718

LAPS Cancellation because of no payment of annual fees