JPH0697838A - 復号化装置 - Google Patents

復号化装置

Info

Publication number
JPH0697838A
JPH0697838A JP5183402A JP18340293A JPH0697838A JP H0697838 A JPH0697838 A JP H0697838A JP 5183402 A JP5183402 A JP 5183402A JP 18340293 A JP18340293 A JP 18340293A JP H0697838 A JPH0697838 A JP H0697838A
Authority
JP
Japan
Prior art keywords
rom
code
processing means
output
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP5183402A
Other languages
English (en)
Other versions
JP3016996B2 (ja
Inventor
George J Kustka
ジェイ.クスカ ジョージ
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
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 American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of JPH0697838A publication Critical patent/JPH0697838A/ja
Application granted granted Critical
Publication of JP3016996B2 publication Critical patent/JP3016996B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【目的】 少ない記憶容量でもって、可変長コードを復
号化する装置を提供すること。 【構成】 本発明の復号化方法は、可変長コードのツリ
ーをそのkノード表示に整理し、その後、この整理され
たツリーを復号化する。このkノードは、如何なる特定
数のコード長の二進数リーフを指示し、ルートへのパス
にはkノードを含まないようなツリーのノードである。
この整理されたツリー形状で復号化問題を表わすことに
より、この復号化問題をセグメントに分割し、それによ
り可変長コードを復号化するのに、より少ない数のRO
Mメモリ量でできるようになる。一個のROMの代わり
に、複数のROMを用いるような応用において、この個
別のROMは従来のROMよりもより少ないワード数と
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は可変長コードに符号化さ
れた信号を復号化する装置に関する。
【0002】
【従来の技術】可変長(VL)符号化、例えば、ハフマ
ン符号化は公知の技術で、出現確率の高い信号を少数の
ビットで、出現確率の低い信号を多数のビットで符号化
する。この技術においては、出現確率の少ない信号を記
述するのに使用されるビット数は、相当の固定長符号化
装置のワード中のビット数よりも大きくなる。この固定
長符号化装置は、ある有効コードは他の有効コードのプ
レフィックスにはなり得ないと言う絶対要件の結果であ
る。木(ツリー)構造表現においては、この要件は、ツ
リーのノードは、ツリーのリーフ(葉)にはなり得ない
という表現に対応する。連接VLコード(VLC)に対
応するビット流を復号化するには、二つのタスクがあ
り、有効VLコードを形成するビットのグループを識別
することと、この有効VLコードを復号化することであ
る。
【0003】図1はこのビット流を復号化する従来の装
置を図示している。この復号化プロセスにおいては、デ
ータはデータ入力41に一定速度で出現し、バッファ4
0にストアされる。データはバッファ40から抽出さ
れ、ライン21の制御のもとでレジスタ10内に記憶さ
れる。ここで、各タイミングはレジスタ10内を十分に
伝播するものとする。このレジスタ10の長さは有効V
Lコードが有する最大ビット数に等しい。レジスタ10
内に記憶されたデータは、各復号化間隔でもって、復号
化装置20内に加えられて、有効VLコードを形成する
データ(レジスタ10内の最古ビットでもってスタート
する)内のビットのサブセットを識別する。
【0004】復号化装置20は、バス22に固定長コー
ドを出力する。この固定長コードはVLコードを形成す
るビットの識別したサブセットに応答し、制御信号をラ
イン21に出力する。ライン21の制御信号は、バッフ
ァ40に入力して、新たなビットをレジスタ10(次の
復号化期間で)に供給し、識別されたVLコード内のビ
ットを置換する。かくして、バッファ40は、信号速度
バッファ手段として機能するだけで、この出力が固定長
コードが可変長コードに変換される速度に対応する速度
でもって動作させる。一方、入力信号は可変長コードの
ビットレートでもって到着する。この復号化装置20を
実現する最も単純な方法は、ルークアップテーブル(例
えば、ROM)を用いることである。ROMは、その処
理時間が最も短い。しかし、この従来のアプローチにお
ける問題点は、メモリの大きさであり、それは2m(m
は最長VLコードのビット数である)となる。多くの実
際の応用においては、例えば、高精細TV(HDTV)
においては、このmは極めて大きく、20以上であり、
ROMはとても手の出せなく大きなものとなる。
【0005】
【発明が解決しようとする課題】従って、本発明の目的
は、少ない記憶容量でもって、可変長コードを復号化す
る装置を提供しようとするものである。
【0006】
【課題を解決するための手段】本発明の復号化方法は、
可変長コードのツリーをそのkノード表示に整理し、そ
の後、この整理されたツリーを復号化することにより従
来の複雑さを解消しようとするものである。kノード
は、如何なる特定数のコード長の二進数リーフを指示
し、ルートへのパスにはkノードを含まないようなツリ
ーのノードである。この整理されたツリー形状で復号化
問題を表わすことにより、この復号化問題をセグメント
に分割し、それにより可変長コードを復号化するのに、
より少ない数のROMメモリ量でできるようになる。一
個のROMの代わりに、複数のROMを用いるような応
用において、この個別のROMは従来のROMよりもよ
り少ないワード数となる。
【0007】具体的には、この復号化問題を一時に少な
いビットを考慮して、最上位ビットからスタートするこ
とにより、セグメントに分割される。この各セグメント
は有効コードを出力するか、あるいは次のセグメントに
復号化プロセスが不完全である旨を通知するかの何れか
を行い、次のセグメントが復号化するのを補助する情報
を提供する。本発明の復号化装置は、パイプライン構造
と整理されたツリーを復号化する単一のROMでもって
実現できる。このVLコードが復号化装置をより効率的
にするために選択されるような応用においては、この提
供されたVLコードを再構成して、k個のノード数を最
小化し、それにより整理されたツリーを最小化し、復号
化装置内のROMサイズをそれに付随して最小化するこ
とができる。
【0008】
【実施例】次の表1は、その信号の出現確率により支持
されたb0からb15までの信号のアレイとそれに対応
するハフマンコードを表わした表である。 この表1のコードは、ネトラバリ(Netraval
i)とハスケル(Haskell)の共著「デジタルピ
クチャー」(プレナム出版社、ニュヨーク1989年)
のpp.153によるものである。表1のコードのツリ
ー表現を図2に示す。得られたコードの数は、それぞれ
6ビットなので、図1の実施例によれば、上記のハフマ
ンコードを復号化する復号化装置20のROM内のワー
ド数は64である。
【0009】本明細書におけるkノードとは、特定のコ
ード長の二進数(2の累乗の整数に対応する)リーフ
(葉)を指示するツリーのノードであり、そのルート方
向へのパスには二進数リーフを指示する他のノードは存
在しないものをいう。図2のツリーにおいては、黒丸で
マークされた12個のkノードがある。本発明によれ
ば、復号化は、kノードを超えたブランチ(枝)を刈り
落とすことにより得られるツリーのみを復号化し、kノ
ードリーフのみを有するツリーはそのままにしておくこ
とにより単純化される。この単純化の例は表1に表わさ
れた実施例でもって以下に説明する。このツリーをkノ
ードリーフに整理することにより、復号化が簡単化され
ると、少ないkノードのみを有するハフマンコードを生
成するか、kノードの数を最小化する所定のコードを再
構成するかの何れかにより利益が得られる。
【0009】kノードの最小数でもってコードを生成す
ハフマンコードにおけるノードの数は所定のハフマンコ
ードのヒストグラムを構成し、このヒストグラムを評価
することにより、最小化することができる。表1の例に
おいては、長さ2のコードが1(0001)個ある、長
さ3のコードが2(0010)個ある、長さ4のコード
が5(0101)個ある、長さ5のコードが4(010
0)個ある、長さ6のコードが4(0100)個ある。
各kノードは、二進数のリーフを支持するので、特定長
さを有するコードのグループを支持するのに必要なkノ
ードの数は、そのグループ内のコード数の二進表示の中
の1の数に等しい。その理由は、各1は二進数を表わす
からである。例えば、上記の例においては、長さ6のコ
ードは4個ある。これらの4個のコードは一個のkノー
ドのみを必要とする。その理由は、定義によりkノード
はリーフの二進数を指示し、4は二進数である。従っ
て、4の二進表示においては、一個の1があるのみであ
る。
【0009】上記のことより、kノードの数は図2のツ
リーから得られ、kノードの最小数はノードのヒストグ
ラムに基づいて6である。この6個のkノードを生成す
るコードセットを構成することは難しいことではなく、
以下のプロセスから得られる(これはこの作業の唯一の
プロセスでは必ずしもない)。 ・1つの2ビットコードに対しては、00を選び、残り
に対しては、01、10、11を当てる。 ・2つの3ビットコードに対しては、01xを選択し
て、残りに対しては、10と11を当てる(xは何でも
構わない)。 ・必要な5個の4ビットコードの内の4個に対しては、
10xxを選択して、残りは11を当てる。 ・5番目の4ビットに対しては、1100を選択して、
残りに対しでは、1111、1110、1101を当て
る。 ・4個の5ビットコードに対しては、1111xと11
10xと(すなわち111xx)を選択し、残りに対し
ては、1101を当てる。ここで、各xはその状態の何
れかのビットを意味する。 ・最後に4個の6ビットコードに対しては、1101x
xを選択して、これでコードの指定はすべて終わる。
【0010】再構成されたハフマンコードを図3に示
し、次の表2の3番目のカラムに表わされる。 kノードに整理する(即ち、点線を除いた)ことによ
り、図3のツリーは図2のツリーよりも小さくなる。従
って、このツリーを復号化するに必要なROMもまた小
さくなる。
【0010】復号化装置の実現 本発明によるメモリを縮小した復号化装置の実現は、k
ノードの整理セットのビットワイズセグメンティション
に基づき、そして、kノードの最小化セットに基づいて
いる。上記の例においては、kノードの最小化セット
は、00、01x、10xx、1100、111xx、
1101xxである。
【0011】ビットワイズセグメンティションは、レジ
スタ10の出力点のビットをグループ分けし、各グルー
プを別個に考える。並列的に実行する際に、個別のセグ
メントのハードウェアは、各ビットグループ専用で、そ
のハードウェアは、このVLコードを復号化する。この
セグメントのハードウェアの一つの実現方法としては、
レジスタ10からのビットに応答するROMを有するこ
とである。このROMは次の5つのフィールドを有する
ワードを出力する。
【0012】 −フィールド1:検知されたVLコードに対応する固定
長コードを記憶するコード変換メモリ内の位置を指示す
るアドレスポインタプレフィックスを含む。 −フィールド2:このプレフィックスに連接されるの
に、必要な付加的なビットの数を指示するコードを含
む。 −フィールド3:次の検知期間用に何個のビットがレジ
スタ10にシフトされるかを指示する。 −フィールド4:有効コードが実際検知されたか否かを
指示するフラグビットを含む。 −フィールド5:有効コードが検知されないときは復号
化装置の状態を指示するコードを含む。
【0013】フィールド1のアドレスポインタプレフィ
ックスに関連して、図4は、ハフマンコードと、アドレ
スポインタプレフィックス(このアドレスポインタを完
成させるサフィックス)と、コード変換メモリ内に記憶
される際の対応固定長コードとのセットを表わす構成を
図示している。メモリのトップには、4つのグループに
なる3つのセットのコード(即ち、10xxと111x
xと1101xx)があり、その後に、2つのコードを
含むグループ01xがあり、最後に、単一のコード11
00と00が来る。このアドレスの関係と記憶された固
定長コードとは表3のように表わせられる。
【0014】 表3の構成を用いて、レジスタ10の最初の3ビットを
選択して、第1セグメントを構成すると、ハフマンコー
ド00、01x、11xx、111xxを復号化でき
る。コード変換メモリに必要な対応するアドレスは、
(表3によれば)0000、001x、01xx、10
xxである。これらのアドレスは、フィールド1の出力
と、すなわち、アドレスポインタプレフィックスと追加
の10ビット(アドレスポインタサフィックス)の数を
必要に応じて、組み合わせることによって得られる。こ
の数はROMの第2フィールドに記憶される。
【0015】有効コードが検出されないときの復号化装
置の状態に関連して、この検出されないコードのみを見
る必要がある。上記の例においては、この未検知(検
出)コードは、1100と1101xxである。これら
のコードの両方とも第1セグメントで考慮されるべき3
個のビットは状態110を表わしている。この例におい
ては、それ故に、特定の状態情報は次のセグメントに通
信する必要はない。別の観点からすると、有効コードが
検知されないことがわかった時は、それまでに復号化さ
れたVLコードの一部は110であることが分かる。こ
のことは何の情報も表わしておらず、それ故に、この場
合においては、4番目のフィールドは0ビットを有す
る。
【0016】表4は、第1セグメントハードウェア内の
ROMの内容を表わしている。3個のビットを取り扱っ
ているので、第1セグメントのROMは記憶装置の8ワ
ードののみを有する。
【0017】第2のセグメントに対する次の3個のビッ
トを考慮し、コード1100と1101xxのみが復号
化される必要が観測されると、実際に必要とされる1個
のビットのみが評価される。次の3個のビットの第1の
ビットが0の場合、検知されたコードは1100で、他
の場合にはこの検知されたコードは1101xxであ
る。従って、第2セグメントのハードウェア(そして、
この例においては最後のセグメントのハードウェア)内
のメモリは表5に示された2個のワードのみを含む。こ
のセグメントは最後のセグメントでもあるので、表5で
は、フラグビットは必要ない。
【0018】注意すべき点として、復号化されるビット
数は、ビットワイズのセグメントのすべてに対して同一
である必要はない。上記の例においては、第2のセグメ
ントは、1個のビットのみを復号化している。実際の問
題において、様々なビットワイズのセグメンティション
におけるビットの数を選択する手法は、機納的、すなわ
ち状況応じて行われる。上記のの実施例においては、こ
こに開示された復号化装置に必要とされるメモリワード
の全数は26である。その内の10個はコード変換テー
ブルとなるROM内にあり、残りの16個はコード変換
テーブル内にある。これは図1の示した実施例に必要と
される64個のワード数からはるかに減少している。
【0019】図5は本発明の上述の方法による復号化装
置の実施例を表わす。ここに示された実施例は、上記の
具体例に必要とされる数よりも大きなもので、その理由
は、可変長復号化信号に対する復号化装置を一般化して
表わしたからである。より一般化した実施例により、本
発明はより理解しやすくなる。
【0020】図5において、ROM100は、レジスタ
10の出力点における最上位ビットの選択された数に応
答する。上述したように、ROM100は、5個のフィ
ールドを出力する。それらは、ライン101上のヒット
フラグ、パス102上のシフトインディケータ、パス1
03上のアドレスポインタプレフィックス、パス104
上のルックアヘッドインディケータ、パス105上の状
態インディケータである。ヒットフラグは、論理ブロッ
ク110に入力され、この論理ブロック110はライン
109上の累積型ヒットフラグに応答する(実際にはラ
イン109は第1セグメントの固定論理レベルにあり、
それはセグメントチェーンの第1セグメントだからであ
る)。論理ブロック110は、ライン111上に選択さ
れた制御信号を生成し、ライン112上に累積型ヒット
フラグを生成する。ライン112上の活性信号は、「ヒ
ット」フラグを表わし、論理1によって表わされる。セ
レクタ制御信号は、ライン101とライン109上の信
号のAND機能である。このセレクタ制御信号は、セレ
クタ130に加えられる。累積型ヒットフラグ信号は、
ライン109上の信号のAND機能とライン101上の
信号の反転である。この累積型ヒットフラグ信号(活性
0)は、次のセグメントのハードウェアのカスケード論
理ブロック210に加えられる。
【0021】アドレスポインタプレフィックス信号とル
ックアヘッドビットとは、結合装置120に加えられ
る。この結合装置120には、またレジスタ10からの
ある数のビットがパス106を介して加えられる。この
ルックアヘッドビットの値に基づいて、パス106の信
号は、パス103のアドレスポインタプレフィックス信
号と結合されて、結合装置120の出力上で、107の
上に単一アドレスバスを形成する。例えば、上記の例
で、レジスタ10の上位2桁のビットが101である場
合には、表4によりROM100からの3個のビットは
ポインタプレフィックスとして機能し、1個のビットは
パス106から加えられる。この入力に応答して、結合
装置120の出力は011xである。この結合装置12
0は、複数のゲートを含む単純な結合回路である。
【0022】結合装置120の出力(107)は、セレ
クタ130の出力ポートA1に加えられる。ROM10
0のパス102(シフトインディケータフィールド)
は、セレクタ130の入力ポートA2に加えられる。こ
のセレクタ130は、前段(ライン131)からのアド
レス信号を受信する入力ポートB1と、前段(ライン1
32)からのシフトインディケータ信号を受信する入力
ポートB2とを有する。このセレクタ130は、セレク
タ制御信号が1のときに、ポートA1とA2の信号を出
力し、その他の場合には、ポートB1とB2の信号を出
力する。このセレクタ130はまた複数の相互接続ゲー
トを有する。
【0023】最後に、状態信号を含むパス105がRO
M200に加えられる。これでもって、セグメントハー
ドウェアモジュールの説明が終了する。ROM200と
結合装置220とセレクタ230とカスケド論理ブロッ
ク210とは、復号化されるべきビットの第2のセグメ
ント用のハードウェアモジュールを構成する。ROM1
00と200の内容は同一ではない。しかし、この二つ
のセグメントのハードウェアのアーキテクチャーと構造
とは同一である。
【0024】3個の点に示されるように、このセグメン
トハードウェアモジュールは、チェーンまたはパイプラ
インによって相互接続される。この最後のセグメントハ
ードウェアは、ROM300、結合装置320、セレク
タ330、カスケード論理ブロック310とを含む。こ
の最終出力は、セレクタ330に現れ、その出力は、パ
ス331上のアドレスとパス332上のシフトインディ
ケータとを含む。パス332は制御回路11にフィード
バックされ、この制御回路11は、バッファ40とレジ
スタ10とを制御する。具体的には、このパス332は
復号化されたVLコード内のレジスタ10内に挿入され
る必要のある新たなビット数を特定する。制御回路11
の機能は、新たなビットを挿入することである。パス3
31はROM400に加えられ、このROM400は図
4で記載されたコード変換メモリである。
【0025】図5の装置は、一つのセグメントからの信
号を次のセグメントに加える。この図5のVLC復号化
装置は、シリアル復号化装置でもパイプライン復号化装
置でもない。セグメントハードウェアモジュールのチェ
ーンを介した信号の流れは、一つの復号化間隔でもって
完了する。この図5の装置はレジスタ10の前にバッフ
ァ40を使用しているが、変形例としては、情報が到着
するごとにレジスタ10内に直接情報を記憶し、このセ
グメントのハードウェアがデータがシフトするごとにそ
のデータを監視しなくてもよいようにし、データが利用
できるときに、復号化信号を出力するようにしてもよ
い。均一の速度が出力として望ましい場合には、バッフ
ァが復号化装置の出力点に設けられる。図5の他の変形
例としては、ハードウェアを減少させるために、「コレ
クタOR」アプローチを採用することもできる。図5の
他の変形例としては(前述したように)、図5の装置に
より復号化される複数のVLコードを組み込む手段を有
してもよい。これを実現するには、セグメントハードウ
ェアモジュール内の各々のROMのサイズを増大させ、
選択ラインとして機能する制御ラインを追加すればよ
い。この機能は図5の装置内で、制御ライン300を介
して行なわれる。この制御ライン300により追加され
たVLコード識別子はすべてのセグメントに状態情報
(パス105)を介して、一つのセグメントモジュール
からのチェーンから次のチェーンへ分配される。
【0026】図6はVLC復号化装置の他の実施例で、
この回路の遅延は、所望の対応クロック周波数よりも長
い。この例においては、図5の回路を真のパイプライン
アーキテクチャーに変換することは容易である。パイプ
ライン構成を形成する唯一の問題は、復号化されるVL
Cの長さを識別することである。ここに開示されたkノ
ードの概念を利用すると、結合回路410はレジスタ1
0の出力に接続される。この回路はkノードの最長コー
ド内のビット数に対応する複数のビットを見るだけでよ
い。図3においては、例えば、kノード1100(符号
b8)と1101(符号b0、b1、b2、b3)は最
長コード4ビットを有する。従って、この図3の実施例
である図6ツリーはレジスタ10の上位4桁のビットの
みに応答すべき結合回路410を必要とする。
【0027】セグメントモジュール内のシフト長さを識
別する必要がない場合は、図6はパス102、132、
232、パス332を削除することができる。パイプラ
イン構成はクロックエレメント(例えば、フリップフロ
ップ)をあるセグメントモジュール間に配置することに
よって達成できる。簡単化のために、フリップフロップ
回路411−416のみが示されているが、如何なる数
のフリップフロップ段を用いても構わない。
【0028】図6の実施例は、クロック作動されるが、
有限状態機械としてもみることもできる。このように考
えると、構成要素の数とそれらの相互接続を減らすため
には、図6の様々なROMを結合して、本発明のVLC
復号化装置の単一のROMの有限状態機械を形成するよ
うにすればよい。これは図7に示されている。
【0029】図7において、レジスタ10は、上位ビッ
トの所定数をROM500に入力する。図6に示したよ
うに、ROM500は5個の出力を有する。すなわち、
ルックアヘッドビット出力、アドレスポインタ出力、状
態出力、シフト制御出力、ヒットフラグ出力である。状
態出力はレジスタ510に入力され、このレジスタ51
0はクロック520によってクロック動作している。レ
ジスタ510の出力はROM500のアドレスポートに
入力される。ROM500のアドレスポインタ出力は、
レジスタ530に入力され、レジスタ10からの複数の
追加ビットがレジスタ530に入力される。これらのビ
ットはセレクタ540を介して、レジスタ530に入力
され、このセレクタ540はROM500のルックアヘ
ッドビット出力により制御される。ROM500のヒッ
トフラグ出力はレジスタ530に加えられる情報を有す
る。このヒットフラグはまた制御ブロック550に入力
され、この制御ブロック550はクロック520に応答
し、さらにROM500のシフト制御出力にも応答す
る。制御ブロック550はレジスタ510を必要に応じ
てリセットし、レジスタ10内のデータのシフトを制御
する。レジスタ530の出力はROM400に入力され
る。
【0030】次に動作を説明する。ROM500はレジ
スタ10のビットにより駆動され、レジスタ510は制
御ブロック550によってリセットされる。この時点で
制御ブロック550の出力は図5のROM100の出力
に応答する。状態情報はその時点でレジスタ510内に
収納され、ROM500に入力される。「ヒット」フラ
グ、すなわちVLコードが検出(検知)された旨を指示
すると、レジスタ530は、アドレスポインタと必要な
サフィックスをレクタ540から入手し、この得られた
情報をROM400に入力する。この時点で制御ブロッ
ク550は、新たなビットの適当な数をROM500の
シフト制御出力の制御の下でレジスタ10にシフトす
る。ヒットの指示がない場合には、制御ブロック550
は異なる数のビットをレジスタ10にシフトし(ビット
フラグは活性状態ではないので)、そしてROM500
は新たにレジスタ10からの新たな入力ビットとレジス
タ510により提供される状態情報に応答する。
【0031】上記したVLコードは、所定の信号確率の
ビットの最も効率的な対応数である最小VLコードを取
り扱う。その結果、図3に示すように6個のkノードと
なる。ここで示したようにkノードの数を減少すること
により、復号化装置を単純化できるので、図3のツリー
はより少ないkノードを有することになる。例えば、符
号b15’は符号b15に関連していると、ノード00
とノード01を表わすノードはノード0に対応する単一
のkノードに合併することができる。これが行なわれる
と、符号b15とb15’は、VLコード001と00
0を搬送できる。これは伝送効率の損失に対応する。そ
れは00の代わりに000を伝送することは余分なビッ
トを持つからである。しかし、この効率が下がることは
復号化装置が単純されることに相当するので、実際の応
用は可能である。
【0032】上記の実施例においては、個別のROM4
00を有していたが、このROM400は、各セグメン
トモジュールに内蔵してもよい。さらにセグメントモジ
ュールでないで識別されたコードは所望の関係を有する
場合には、このセグメントモジュールのROM400部
分は先行するROM内に組み込むことはできる。例え
ば、表3に示すように、入力11xxは符号b9、b1
0、b11、b12を表わす。これらの符号がAxxの
形(ここでAはあるデジトの列)で表わすことができる
ならば、ROM100は必要な情報を含み、ROM40
0の一部に相当する付加的なROM記憶装置を必要とし
ない。
【0033】
【発明の効果】従って、以上のべたような復号化装置
は、少ない記憶容量でもって、可変長コードを復号化す
ることができる。
【図面の簡単な説明】
【図1】従来の可変長コード復号化装置を表わす図であ
る。
【図2】ハフマンコードのツリー構造を表わす図であ
る。
【図3】kノードが最小で、ハフマンコードのツリー構
造を表わす図である。
【図4】コード変換メモリ内のコードの記憶構成を表わ
す図である。
【図5】本発明による可変長復号化装置のブロック図で
ある。
【図6】本発明の可変長復号化装置の他の実施例を示す
ブロック図である。
【図7】単一のROMを用いた本発明の可変長復号化装
置を表わすブロック図である。
【符号の説明】
10 レジスタ 20 復号化装置 21、22 ライン 40 バッファ 41 データ入力 100 ROM 101 ヒットフラグ 102、103、104、105、106 パス 109 ライン 110 論理ブロック 111、112 ライン 120 結合装置 130 セレクタ 200 ROM 210 カスケド論理ブロック 220 結合装置 230 セレクタ 300 ROM 300 制御ライン 310 カスケド論理ブロック 320 結合装置 330 セレクタ 331、332 パス 400 ROM 410 結合回路 411−416 フリップフロップ回路 500 ROM 510 レジスタ 520 クロック 530 レジスタ 540 セレクタ 550 制御ブロック

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 可変長コード(VLC)で符号化された
    信号流を復号化する装置において、 前記信号流内の前記VLCの最長コードのビット数に等
    しいビットを表示する第一手段(10)と、 チェーン状に相互接続された複数の処理手段(100、
    120、110、130)とからなり、 最終処理手段を除く各処理手段は、次の処理手段に情報
    を提供し、各処理手段は、前記第1手段により表わされ
    た隣接ビットの異なるグループの応答に応答し、前の処
    理手段と隣接ビットのグループからの受信情報に応答し
    て、前記VLCのサブセットを識別することを特徴とす
    る復号化装置。
  2. 【請求項2】 各処理手段は、隣接ビットのグループの
    サブセットに応答するROM(リードオンリーメモリ)
    を有することを特徴とする請求項1の装置。
  3. 【請求項3】 各処理手段は、そのkノードに整理され
    たツリーの一部を復号化し、 ここで、kノードは、特定数のコード長の二進数リーフ
    を支持し、そのルートへまでのパスにkノードを含まな
    いツリーのノードであることを特徴とする請求項1の装
    置。
  4. 【請求項4】 各処理手段から次の処理手段へ通達され
    る情報は、VLCコードが識別されたか否かについての
    指示であることを特徴とする請求項1の装置。
  5. 【請求項5】 少なくとも一つの処理手段から次の処理
    手段へ通達される情報は、状態情報を含むことを特徴と
    する請求項4の装置。
  6. 【請求項6】 各処理手段から次の処理手段へ通達され
    る情報は、VLC識別子信号を含むことを特徴とする請
    求項4の装置。
  7. 【請求項7】 前記複数の処理手段は、各復号化された
    VLCに対し、唯一のアドレスを生成し、 この生成された唯一のアドレスに応答して、このアドレ
    スを固定長コードに変換する記憶手段(400)を有す
    ることを特徴とする請求項1の装置。
  8. 【請求項8】 前記第1手段に応答して、VLCの現在
    復号化されるべきコードの長さを決定する結合手段(4
    10)と所定の処理手段の間に配置されたクロック駆動
    される記憶手段とをさらに有することを特徴とする請求
    項1の装置。
  9. 【請求項9】 前記結合手段は、VLCのツリー表示内
    のkノードを利用することを特徴とする請求項8の装
    置。
  10. 【請求項10】 入力信号流の一部を記憶する入力レジ
    スタ(10)と、 前記入力レジスタの出力信号に応答し、ROM(50
    0)を有する復号化手段(400、500、510、5
    20、530、540、550)とからなるVLC復号
    化装置において、 前記ROMは、そのkノードに整理されたツリーの一部
    を復号化する情報を有し、 ここで、kノードは、特定数のコード長の二進数リーフ
    を支持し、そのルートへまでのパスにkノードを含まな
    いツリーのノードであることを特徴とする復号化装置。
  11. 【請求項11】 前記復号化手段は、 ROMの出力の第1部分に応答し、クロック信号により
    クロック駆動され、そのクロック化出力をROMのアド
    レス入力に分配し、これにより有限状態機械となる状態
    レジスタ(510)と復号化装置の出力信号を生成する
    ために、ROM出力の第2部分を入力レジスタの出力信
    号と結合する手段(530)とを有することを特徴とす
    る請求項10の装置。
  12. 【請求項12】 ROMの出力の信号第4部分の制御下
    で、前記結合手段(530)内に結合された入力レジス
    タの出力信号の数を選択する手段(540)をさらに有
    することを特徴とする請求項11の装置。
  13. 【請求項13】 ROMの出力点に、前記結合手段(5
    30)内で結合された情報を獲得するヒットフラグをさ
    らに有することを特徴とする請求項11の装置。
  14. 【請求項14】 前記結合手段に応答するROM(40
    0)をさらに有することを特徴とする請求項13の装
    置。
  15. 【請求項15】 前記ROM出力の第5部分に応答し
    て、入力レジスト内のデータシフトする制御回路(55
    0)をさらに有することを特徴とする請求項11の装
    置。
JP5183402A 1992-07-02 1993-06-30 復号化装置 Expired - Lifetime JP3016996B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US907977 1992-07-02
US07/907,977 US5226082A (en) 1992-07-02 1992-07-02 Variable length decoder

Publications (2)

Publication Number Publication Date
JPH0697838A true JPH0697838A (ja) 1994-04-08
JP3016996B2 JP3016996B2 (ja) 2000-03-06

Family

ID=25424954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5183402A Expired - Lifetime JP3016996B2 (ja) 1992-07-02 1993-06-30 復号化装置

Country Status (7)

Country Link
US (1) US5226082A (ja)
EP (1) EP0577330B1 (ja)
JP (1) JP3016996B2 (ja)
KR (1) KR100286195B1 (ja)
CA (1) CA2096176C (ja)
DE (1) DE69313540T2 (ja)
MX (1) MX9303899A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006332775A (ja) * 2005-05-23 2006-12-07 Sony Corp 文字列検索回路及び文字列検索方法
JP2008541631A (ja) * 2005-05-13 2008-11-20 クゥアルコム・インコーポレイテッド 改良されたマルチメディアデコーダに関する方法及び装置
JP2010509893A (ja) * 2006-11-14 2010-03-25 クゥアルコム・インコーポレイテッド 可変長符号のメモリ効率の良い符号化
JP2010509895A (ja) * 2006-11-14 2010-03-25 クゥアルコム・インコーポレイテッド メモリ効率の良い(memoryefficient)適応形ブロック符号化

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5285497A (en) * 1993-04-01 1994-02-08 Scientific Atlanta Methods and apparatus for scrambling and unscrambling compressed data streams
US5615020A (en) * 1993-05-13 1997-03-25 Keith; Michael System and method for fast huffman decoding
US5835033A (en) * 1994-11-08 1998-11-10 Canon Kabushiki Kaisha Decoding apparatus and method for coded data
US5651099A (en) * 1995-01-26 1997-07-22 Hewlett-Packard Company Use of a genetic algorithm to optimize memory space
US5648774A (en) * 1995-05-08 1997-07-15 Industrial Technology Research Institute Variable length coding with three-field codes
KR100214593B1 (ko) * 1996-03-15 1999-08-02 구자홍 캐스케이드 구조를 이용한 런랭스 코드의 코드워드 검출 방법 및 장치
CN100539695C (zh) * 1996-05-28 2009-09-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
US5930359A (en) * 1996-09-23 1999-07-27 Motorola, Inc. Cascadable content addressable memory and system
JP3884172B2 (ja) * 1997-10-02 2007-02-21 株式会社東芝 可変長復号化装置および復号化方法
US6647051B1 (en) 1999-12-29 2003-11-11 Koninklijke Philips Electronics N.V. Zero delay mask for galois LFSR
US6912070B1 (en) 2000-08-08 2005-06-28 Qualcomm, Inc. Sub-optimal variable length coding
US6580377B1 (en) * 2001-05-30 2003-06-17 Sony Corporation Huffman decoding using cascaded sub-table lookup method
ITMI20011938A1 (it) * 2001-09-17 2003-03-17 Cit Alcatel Metodo per criptare un flusso di dati
KR100486251B1 (ko) * 2002-08-03 2005-05-03 삼성전자주식회사 가변 길이 코드 복호화 장치 및 방법
US6765513B2 (en) * 2002-12-09 2004-07-20 Texas Instruments Incorporated Decoding bit streams compressed with compression techniques employing variable length codes
US7212681B1 (en) 2003-01-15 2007-05-01 Cisco Technology, Inc. Extension of two-dimensional variable length coding for image compression
US7194137B2 (en) * 2003-05-16 2007-03-20 Cisco Technology, Inc. Variable length coding method and apparatus for video compression
US7454073B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Video compression using multiple variable length coding processes for multiple classes of transform coefficient blocks
US7471840B2 (en) * 2004-08-18 2008-12-30 Cisco Technology, Inc. Two-dimensional variable length coding of runs of zero and non-zero transform coefficients for image compression
US7499596B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Amplitude coding for clustered transform coefficients
US7471841B2 (en) * 2004-06-15 2008-12-30 Cisco Technology, Inc. Adaptive breakpoint for hybrid variable length coding
US7454076B2 (en) * 2004-06-15 2008-11-18 Cisco Technology, Inc. Hybrid variable length coding method for low bit rate video coding
US7499595B2 (en) * 2004-08-18 2009-03-03 Cisco Technology, Inc. Joint amplitude and position coding for photographic image and video coding
US7492956B2 (en) * 2004-08-18 2009-02-17 Cisco Technology, Inc. Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding
US7620258B2 (en) * 2004-08-18 2009-11-17 Cisco Technology, Inc. Extended amplitude coding for clustered transform coefficients
US7680349B2 (en) 2004-08-18 2010-03-16 Cisco Technology, Inc. Variable length coding for clustered transform coefficients in video compression
KR100686354B1 (ko) 2005-11-16 2007-02-22 엠텍비젼 주식회사 가변 트리를 이용한 허프만 복호화 방법 및 장치
US7242328B1 (en) * 2006-02-03 2007-07-10 Cisco Technology, Inc. Variable length coding for sparse coefficients
US9086871B2 (en) 2013-09-26 2015-07-21 International Business Machines Corporation Reordering the output of recirculated transactions within a pipeline
GB2540216B (en) 2015-07-10 2020-01-01 Advanced Risc Mach Ltd Comparison of wide data types
DE102016100939B4 (de) * 2016-01-20 2023-08-10 Vibracoustic Cv Air Springs Gmbh Luftfeder

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301327A (en) * 1979-06-05 1981-11-17 Lee Lin Nan Reduction of message redundancy by multiple substitution: a message preprocessing scheme for secure communications
US4386416A (en) * 1980-06-02 1983-05-31 Mostek Corporation Data compression, encryption, and in-line transmission system
CA1296430C (en) * 1986-11-10 1992-02-25 Masahide Kaneko Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization
US4816914A (en) * 1987-01-07 1989-03-28 Pictel Corporation Method and apparatus for efficiently encoding and decoding image sequences
US4944009A (en) * 1988-02-25 1990-07-24 Massachusetts Institute Of Technology Pseudo-random sequence generator
JPH03145223A (ja) * 1989-10-30 1991-06-20 Toshiba Corp 可変長符号復調装置
JPH0479421A (ja) * 1990-07-18 1992-03-12 Toshiba Corp 可変長符号化装置および可変長復号化装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541631A (ja) * 2005-05-13 2008-11-20 クゥアルコム・インコーポレイテッド 改良されたマルチメディアデコーダに関する方法及び装置
JP2006332775A (ja) * 2005-05-23 2006-12-07 Sony Corp 文字列検索回路及び文字列検索方法
JP4556766B2 (ja) * 2005-05-23 2010-10-06 ソニー株式会社 文字列検索回路及び文字列検索方法
JP2010509893A (ja) * 2006-11-14 2010-03-25 クゥアルコム・インコーポレイテッド 可変長符号のメモリ効率の良い符号化
JP2010509895A (ja) * 2006-11-14 2010-03-25 クゥアルコム・インコーポレイテッド メモリ効率の良い(memoryefficient)適応形ブロック符号化
JP4897887B2 (ja) * 2006-11-14 2012-03-14 クゥアルコム・インコーポレイテッド 可変長コードのメモリ効率の良いコーディング
JP4897888B2 (ja) * 2006-11-14 2012-03-14 クゥアルコム・インコーポレイテッド メモリ効率の良い(memoryefficient)適応形ブロックコーディング

Also Published As

Publication number Publication date
DE69313540T2 (de) 1998-01-22
KR100286195B1 (ko) 2001-04-16
JP3016996B2 (ja) 2000-03-06
DE69313540D1 (de) 1997-10-09
EP0577330A2 (en) 1994-01-05
EP0577330A3 (en) 1994-06-01
CA2096176A1 (en) 1994-01-03
EP0577330B1 (en) 1997-09-03
US5226082A (en) 1993-07-06
KR940006020A (ko) 1994-03-22
CA2096176C (en) 1998-09-08
MX9303899A (es) 1994-04-29

Similar Documents

Publication Publication Date Title
JPH0697838A (ja) 復号化装置
US5150430A (en) Lossless data compression circuit and method
JP2830280B2 (ja) 可変長ストリング符合装置
US4085447A (en) Right justified mask transfer apparatus
US6982661B2 (en) Method of performing huffman decoding
US6385617B1 (en) Method and apparatus for creating and manipulating a compressed binary decision diagram in a data processing system
EP0628228A1 (en) Data compression using hashing
KR0138971B1 (ko) 허프만 부호 복호회로
EP1231716A2 (en) Decimal to binary coder/decoder
US5617089A (en) Huffman code decoding circuit
US4188669A (en) Decoder for variable-length codes
US5488366A (en) Segmented variable length decoding apparatus for sequentially decoding single code-word within a fixed number of decoding cycles
Wang et al. A simplified variant of tabled asymmetric numeral systems with a smaller look-up table
US6778107B2 (en) Method and apparatus for huffman decoding technique
US6580377B1 (en) Huffman decoding using cascaded sub-table lookup method
JP3304745B2 (ja) 可変長符号復号化器
JP2010166552A (ja) テーブル装置、符号化装置、復号装置および符号化/復号装置
JP2537551B2 (ja) 可変長符号復号回路
US6178496B1 (en) System for converting instructions, and method therefore
JPH03179562A (ja) データ記録装置及びデータ編集方法
US6317771B1 (en) Method and apparatus for performing digital division
JP3032239B2 (ja) 可変長符号の復号回路
JPH07120262B2 (ja) ソ−ティング回路
EP0945782A1 (en) System for converting instructions, and method thereto
Said et al. Realtime implementation of the Viterbi decoding algorithm on a high-performance microprocessor

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101224

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20111224

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20121224

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20131224

Year of fee payment: 14

EXPY Cancellation because of completion of term