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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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/425—Conversion 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/125—Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/34—Encoding or coding, e.g. Huffman coding or error correction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/91—Entropy 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
号化する装置を提供すること。 【構成】 本発明の復号化方法は、可変長コードのツリ
ーをそのkノード表示に整理し、その後、この整理され
たツリーを復号化する。このkノードは、如何なる特定
数のコード長の二進数リーフを指示し、ルートへのパス
にはkノードを含まないようなツリーのノードである。
この整理されたツリー形状で復号化問題を表わすことに
より、この復号化問題をセグメントに分割し、それによ
り可変長コードを復号化するのに、より少ない数のRO
Mメモリ量でできるようになる。一個のROMの代わり
に、複数のROMを用いるような応用において、この個
別のROMは従来のROMよりもより少ないワード数と
なる。
Description
れた信号を復号化する装置に関する。
ン符号化は公知の技術で、出現確率の高い信号を少数の
ビットで、出現確率の低い信号を多数のビットで符号化
する。この技術においては、出現確率の少ない信号を記
述するのに使用されるビット数は、相当の固定長符号化
装置のワード中のビット数よりも大きくなる。この固定
長符号化装置は、ある有効コードは他の有効コードのプ
レフィックスにはなり得ないと言う絶対要件の結果であ
る。木(ツリー)構造表現においては、この要件は、ツ
リーのノードは、ツリーのリーフ(葉)にはなり得ない
という表現に対応する。連接VLコード(VLC)に対
応するビット流を復号化するには、二つのタスクがあ
り、有効VLコードを形成するビットのグループを識別
することと、この有効VLコードを復号化することであ
る。
置を図示している。この復号化プロセスにおいては、デ
ータはデータ入力41に一定速度で出現し、バッファ4
0にストアされる。データはバッファ40から抽出さ
れ、ライン21の制御のもとでレジスタ10内に記憶さ
れる。ここで、各タイミングはレジスタ10内を十分に
伝播するものとする。このレジスタ10の長さは有効V
Lコードが有する最大ビット数に等しい。レジスタ10
内に記憶されたデータは、各復号化間隔でもって、復号
化装置20内に加えられて、有効VLコードを形成する
データ(レジスタ10内の最古ビットでもってスタート
する)内のビットのサブセットを識別する。
ドを出力する。この固定長コードはVLコードを形成す
るビットの識別したサブセットに応答し、制御信号をラ
イン21に出力する。ライン21の制御信号は、バッフ
ァ40に入力して、新たなビットをレジスタ10(次の
復号化期間で)に供給し、識別されたVLコード内のビ
ットを置換する。かくして、バッファ40は、信号速度
バッファ手段として機能するだけで、この出力が固定長
コードが可変長コードに変換される速度に対応する速度
でもって動作させる。一方、入力信号は可変長コードの
ビットレートでもって到着する。この復号化装置20を
実現する最も単純な方法は、ルークアップテーブル(例
えば、ROM)を用いることである。ROMは、その処
理時間が最も短い。しかし、この従来のアプローチにお
ける問題点は、メモリの大きさであり、それは2m(m
は最長VLコードのビット数である)となる。多くの実
際の応用においては、例えば、高精細TV(HDTV)
においては、このmは極めて大きく、20以上であり、
ROMはとても手の出せなく大きなものとなる。
は、少ない記憶容量でもって、可変長コードを復号化す
る装置を提供しようとするものである。
可変長コードのツリーをそのkノード表示に整理し、そ
の後、この整理されたツリーを復号化することにより従
来の複雑さを解消しようとするものである。kノード
は、如何なる特定数のコード長の二進数リーフを指示
し、ルートへのパスにはkノードを含まないようなツリ
ーのノードである。この整理されたツリー形状で復号化
問題を表わすことにより、この復号化問題をセグメント
に分割し、それにより可変長コードを復号化するのに、
より少ない数のROMメモリ量でできるようになる。一
個のROMの代わりに、複数のROMを用いるような応
用において、この個別のROMは従来のROMよりもよ
り少ないワード数となる。
いビットを考慮して、最上位ビットからスタートするこ
とにより、セグメントに分割される。この各セグメント
は有効コードを出力するか、あるいは次のセグメントに
復号化プロセスが不完全である旨を通知するかの何れか
を行い、次のセグメントが復号化するのを補助する情報
を提供する。本発明の復号化装置は、パイプライン構造
と整理されたツリーを復号化する単一のROMでもって
実現できる。このVLコードが復号化装置をより効率的
にするために選択されるような応用においては、この提
供されたVLコードを再構成して、k個のノード数を最
小化し、それにより整理されたツリーを最小化し、復号
化装置内のROMサイズをそれに付随して最小化するこ
とができる。
されたb0からb15までの信号のアレイとそれに対応
するハフマンコードを表わした表である。 この表1のコードは、ネトラバリ(Netraval
i)とハスケル(Haskell)の共著「デジタルピ
クチャー」(プレナム出版社、ニュヨーク1989年)
のpp.153によるものである。表1のコードのツリ
ー表現を図2に示す。得られたコードの数は、それぞれ
6ビットなので、図1の実施例によれば、上記のハフマ
ンコードを復号化する復号化装置20のROM内のワー
ド数は64である。
ード長の二進数(2の累乗の整数に対応する)リーフ
(葉)を指示するツリーのノードであり、そのルート方
向へのパスには二進数リーフを指示する他のノードは存
在しないものをいう。図2のツリーにおいては、黒丸で
マークされた12個のkノードがある。本発明によれ
ば、復号化は、kノードを超えたブランチ(枝)を刈り
落とすことにより得られるツリーのみを復号化し、kノ
ードリーフのみを有するツリーはそのままにしておくこ
とにより単純化される。この単純化の例は表1に表わさ
れた実施例でもって以下に説明する。このツリーをkノ
ードリーフに整理することにより、復号化が簡単化され
ると、少ないkノードのみを有するハフマンコードを生
成するか、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があるのみであ
る。
リーから得られ、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を選択して、これでコードの指定はすべて終わる。
し、次の表2の3番目のカラムに表わされる。 kノードに整理する(即ち、点線を除いた)ことによ
り、図3のツリーは図2のツリーよりも小さくなる。従
って、このツリーを復号化するに必要なROMもまた小
さくなる。
ノードの整理セットのビットワイズセグメンティション
に基づき、そして、kノードの最小化セットに基づいて
いる。上記の例においては、kノードの最小化セット
は、00、01x、10xx、1100、111xx、
1101xxである。
スタ10の出力点のビットをグループ分けし、各グルー
プを別個に考える。並列的に実行する際に、個別のセグ
メントのハードウェアは、各ビットグループ専用で、そ
のハードウェアは、このVLコードを復号化する。この
セグメントのハードウェアの一つの実現方法としては、
レジスタ10からのビットに応答するROMを有するこ
とである。このROMは次の5つのフィールドを有する
ワードを出力する。
長コードを記憶するコード変換メモリ内の位置を指示す
るアドレスポインタプレフィックスを含む。 −フィールド2:このプレフィックスに連接されるの
に、必要な付加的なビットの数を指示するコードを含
む。 −フィールド3:次の検知期間用に何個のビットがレジ
スタ10にシフトされるかを指示する。 −フィールド4:有効コードが実際検知されたか否かを
指示するフラグビットを含む。 −フィールド5:有効コードが検知されないときは復号
化装置の状態を指示するコードを含む。
ックスに関連して、図4は、ハフマンコードと、アドレ
スポインタプレフィックス(このアドレスポインタを完
成させるサフィックス)と、コード変換メモリ内に記憶
される際の対応固定長コードとのセットを表わす構成を
図示している。メモリのトップには、4つのグループに
なる3つのセットのコード(即ち、10xxと111x
xと1101xx)があり、その後に、2つのコードを
含むグループ01xがあり、最後に、単一のコード11
00と00が来る。このアドレスの関係と記憶された固
定長コードとは表3のように表わせられる。
選択して、第1セグメントを構成すると、ハフマンコー
ド00、01x、11xx、111xxを復号化でき
る。コード変換メモリに必要な対応するアドレスは、
(表3によれば)0000、001x、01xx、10
xxである。これらのアドレスは、フィールド1の出力
と、すなわち、アドレスポインタプレフィックスと追加
の10ビット(アドレスポインタサフィックス)の数を
必要に応じて、組み合わせることによって得られる。こ
の数はROMの第2フィールドに記憶される。
置の状態に関連して、この検出されないコードのみを見
る必要がある。上記の例においては、この未検知(検
出)コードは、1100と1101xxである。これら
のコードの両方とも第1セグメントで考慮されるべき3
個のビットは状態110を表わしている。この例におい
ては、それ故に、特定の状態情報は次のセグメントに通
信する必要はない。別の観点からすると、有効コードが
検知されないことがわかった時は、それまでに復号化さ
れたVLコードの一部は110であることが分かる。こ
のことは何の情報も表わしておらず、それ故に、この場
合においては、4番目のフィールドは0ビットを有す
る。
ROMの内容を表わしている。3個のビットを取り扱っ
ているので、第1セグメントのROMは記憶装置の8ワ
ードののみを有する。
トを考慮し、コード1100と1101xxのみが復号
化される必要が観測されると、実際に必要とされる1個
のビットのみが評価される。次の3個のビットの第1の
ビットが0の場合、検知されたコードは1100で、他
の場合にはこの検知されたコードは1101xxであ
る。従って、第2セグメントのハードウェア(そして、
この例においては最後のセグメントのハードウェア)内
のメモリは表5に示された2個のワードのみを含む。こ
のセグメントは最後のセグメントでもあるので、表5で
は、フラグビットは必要ない。
数は、ビットワイズのセグメントのすべてに対して同一
である必要はない。上記の例においては、第2のセグメ
ントは、1個のビットのみを復号化している。実際の問
題において、様々なビットワイズのセグメンティション
におけるビットの数を選択する手法は、機納的、すなわ
ち状況応じて行われる。上記のの実施例においては、こ
こに開示された復号化装置に必要とされるメモリワード
の全数は26である。その内の10個はコード変換テー
ブルとなるROM内にあり、残りの16個はコード変換
テーブル内にある。これは図1の示した実施例に必要と
される64個のワード数からはるかに減少している。
置の実施例を表わす。ここに示された実施例は、上記の
具体例に必要とされる数よりも大きなもので、その理由
は、可変長復号化信号に対する復号化装置を一般化して
表わしたからである。より一般化した実施例により、本
発明はより理解しやすくなる。
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に加えられる。
ックアヘッドビットとは、結合装置120に加えられ
る。この結合装置120には、またレジスタ10からの
ある数のビットがパス106を介して加えられる。この
ルックアヘッドビットの値に基づいて、パス106の信
号は、パス103のアドレスポインタプレフィックス信
号と結合されて、結合装置120の出力上で、107の
上に単一アドレスバスを形成する。例えば、上記の例
で、レジスタ10の上位2桁のビットが101である場
合には、表4によりROM100からの3個のビットは
ポインタプレフィックスとして機能し、1個のビットは
パス106から加えられる。この入力に応答して、結合
装置120の出力は011xである。この結合装置12
0は、複数のゲートを含む単純な結合回路である。
クタ130の出力ポートA1に加えられる。ROM10
0のパス102(シフトインディケータフィールド)
は、セレクタ130の入力ポートA2に加えられる。こ
のセレクタ130は、前段(ライン131)からのアド
レス信号を受信する入力ポートB1と、前段(ライン1
32)からのシフトインディケータ信号を受信する入力
ポートB2とを有する。このセレクタ130は、セレク
タ制御信号が1のときに、ポートA1とA2の信号を出
力し、その他の場合には、ポートB1とB2の信号を出
力する。このセレクタ130はまた複数の相互接続ゲー
トを有する。
M200に加えられる。これでもって、セグメントハー
ドウェアモジュールの説明が終了する。ROM200と
結合装置220とセレクタ230とカスケド論理ブロッ
ク210とは、復号化されるべきビットの第2のセグメ
ント用のハードウェアモジュールを構成する。ROM1
00と200の内容は同一ではない。しかし、この二つ
のセグメントのハードウェアのアーキテクチャーと構造
とは同一である。
トハードウェアモジュールは、チェーンまたはパイプラ
インによって相互接続される。この最後のセグメントハ
ードウェアは、ROM300、結合装置320、セレク
タ330、カスケード論理ブロック310とを含む。こ
の最終出力は、セレクタ330に現れ、その出力は、パ
ス331上のアドレスとパス332上のシフトインディ
ケータとを含む。パス332は制御回路11にフィード
バックされ、この制御回路11は、バッファ40とレジ
スタ10とを制御する。具体的には、このパス332は
復号化されたVLコード内のレジスタ10内に挿入され
る必要のある新たなビット数を特定する。制御回路11
の機能は、新たなビットを挿入することである。パス3
31はROM400に加えられ、このROM400は図
4で記載されたコード変換メモリである。
号を次のセグメントに加える。この図5のVLC復号化
装置は、シリアル復号化装置でもパイプライン復号化装
置でもない。セグメントハードウェアモジュールのチェ
ーンを介した信号の流れは、一つの復号化間隔でもって
完了する。この図5の装置はレジスタ10の前にバッフ
ァ40を使用しているが、変形例としては、情報が到着
するごとにレジスタ10内に直接情報を記憶し、このセ
グメントのハードウェアがデータがシフトするごとにそ
のデータを監視しなくてもよいようにし、データが利用
できるときに、復号化信号を出力するようにしてもよ
い。均一の速度が出力として望ましい場合には、バッフ
ァが復号化装置の出力点に設けられる。図5の他の変形
例としては、ハードウェアを減少させるために、「コレ
クタOR」アプローチを採用することもできる。図5の
他の変形例としては(前述したように)、図5の装置に
より復号化される複数のVLコードを組み込む手段を有
してもよい。これを実現するには、セグメントハードウ
ェアモジュール内の各々のROMのサイズを増大させ、
選択ラインとして機能する制御ラインを追加すればよ
い。この機能は図5の装置内で、制御ライン300を介
して行なわれる。この制御ライン300により追加され
たVLコード識別子はすべてのセグメントに状態情報
(パス105)を介して、一つのセグメントモジュール
からのチェーンから次のチェーンへ分配される。
この回路の遅延は、所望の対応クロック周波数よりも長
い。この例においては、図5の回路を真のパイプライン
アーキテクチャーに変換することは容易である。パイプ
ライン構成を形成する唯一の問題は、復号化されるVL
Cの長さを識別することである。ここに開示されたkノ
ードの概念を利用すると、結合回路410はレジスタ1
0の出力に接続される。この回路はkノードの最長コー
ド内のビット数に対応する複数のビットを見るだけでよ
い。図3においては、例えば、kノード1100(符号
b8)と1101(符号b0、b1、b2、b3)は最
長コード4ビットを有する。従って、この図3の実施例
である図6ツリーはレジスタ10の上位4桁のビットの
みに応答すべき結合回路410を必要とする。
別する必要がない場合は、図6はパス102、132、
232、パス332を削除することができる。パイプラ
イン構成はクロックエレメント(例えば、フリップフロ
ップ)をあるセグメントモジュール間に配置することに
よって達成できる。簡単化のために、フリップフロップ
回路411−416のみが示されているが、如何なる数
のフリップフロップ段を用いても構わない。
有限状態機械としてもみることもできる。このように考
えると、構成要素の数とそれらの相互接続を減らすため
には、図6の様々なROMを結合して、本発明のVLC
復号化装置の単一のROMの有限状態機械を形成するよ
うにすればよい。これは図7に示されている。
トの所定数を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に入力され
る。
スタ10のビットにより駆動され、レジスタ510は制
御ブロック550によってリセットされる。この時点で
制御ブロック550の出力は図5のROM100の出力
に応答する。状態情報はその時点でレジスタ510内に
収納され、ROM500に入力される。「ヒット」フラ
グ、すなわちVLコードが検出(検知)された旨を指示
すると、レジスタ530は、アドレスポインタと必要な
サフィックスをレクタ540から入手し、この得られた
情報をROM400に入力する。この時点で制御ブロッ
ク550は、新たなビットの適当な数をROM500の
シフト制御出力の制御の下でレジスタ10にシフトす
る。ヒットの指示がない場合には、制御ブロック550
は異なる数のビットをレジスタ10にシフトし(ビット
フラグは活性状態ではないので)、そしてROM500
は新たにレジスタ10からの新たな入力ビットとレジス
タ510により提供される状態情報に応答する。
ビットの最も効率的な対応数である最小VLコードを取
り扱う。その結果、図3に示すように6個のkノードと
なる。ここで示したようにkノードの数を減少すること
により、復号化装置を単純化できるので、図3のツリー
はより少ないkノードを有することになる。例えば、符
号b15’は符号b15に関連していると、ノード00
とノード01を表わすノードはノード0に対応する単一
のkノードに合併することができる。これが行なわれる
と、符号b15とb15’は、VLコード001と00
0を搬送できる。これは伝送効率の損失に対応する。そ
れは00の代わりに000を伝送することは余分なビッ
トを持つからである。しかし、この効率が下がることは
復号化装置が単純されることに相当するので、実際の応
用は可能である。
00を有していたが、このROM400は、各セグメン
トモジュールに内蔵してもよい。さらにセグメントモジ
ュールでないで識別されたコードは所望の関係を有する
場合には、このセグメントモジュールのROM400部
分は先行するROM内に組み込むことはできる。例え
ば、表3に示すように、入力11xxは符号b9、b1
0、b11、b12を表わす。これらの符号がAxxの
形(ここでAはあるデジトの列)で表わすことができる
ならば、ROM100は必要な情報を含み、ROM40
0の一部に相当する付加的なROM記憶装置を必要とし
ない。
は、少ない記憶容量でもって、可変長コードを復号化す
ることができる。
る。
る。
造を表わす図である。
す図である。
ある。
ブロック図である。
置を表わすブロック図である。
Claims (15)
- 【請求項1】 可変長コード(VLC)で符号化された
信号流を復号化する装置において、 前記信号流内の前記VLCの最長コードのビット数に等
しいビットを表示する第一手段(10)と、 チェーン状に相互接続された複数の処理手段(100、
120、110、130)とからなり、 最終処理手段を除く各処理手段は、次の処理手段に情報
を提供し、各処理手段は、前記第1手段により表わされ
た隣接ビットの異なるグループの応答に応答し、前の処
理手段と隣接ビットのグループからの受信情報に応答し
て、前記VLCのサブセットを識別することを特徴とす
る復号化装置。 - 【請求項2】 各処理手段は、隣接ビットのグループの
サブセットに応答するROM(リードオンリーメモリ)
を有することを特徴とする請求項1の装置。 - 【請求項3】 各処理手段は、そのkノードに整理され
たツリーの一部を復号化し、 ここで、kノードは、特定数のコード長の二進数リーフ
を支持し、そのルートへまでのパスにkノードを含まな
いツリーのノードであることを特徴とする請求項1の装
置。 - 【請求項4】 各処理手段から次の処理手段へ通達され
る情報は、VLCコードが識別されたか否かについての
指示であることを特徴とする請求項1の装置。 - 【請求項5】 少なくとも一つの処理手段から次の処理
手段へ通達される情報は、状態情報を含むことを特徴と
する請求項4の装置。 - 【請求項6】 各処理手段から次の処理手段へ通達され
る情報は、VLC識別子信号を含むことを特徴とする請
求項4の装置。 - 【請求項7】 前記複数の処理手段は、各復号化された
VLCに対し、唯一のアドレスを生成し、 この生成された唯一のアドレスに応答して、このアドレ
スを固定長コードに変換する記憶手段(400)を有す
ることを特徴とする請求項1の装置。 - 【請求項8】 前記第1手段に応答して、VLCの現在
復号化されるべきコードの長さを決定する結合手段(4
10)と所定の処理手段の間に配置されたクロック駆動
される記憶手段とをさらに有することを特徴とする請求
項1の装置。 - 【請求項9】 前記結合手段は、VLCのツリー表示内
のkノードを利用することを特徴とする請求項8の装
置。 - 【請求項10】 入力信号流の一部を記憶する入力レジ
スタ(10)と、 前記入力レジスタの出力信号に応答し、ROM(50
0)を有する復号化手段(400、500、510、5
20、530、540、550)とからなるVLC復号
化装置において、 前記ROMは、そのkノードに整理されたツリーの一部
を復号化する情報を有し、 ここで、kノードは、特定数のコード長の二進数リーフ
を支持し、そのルートへまでのパスにkノードを含まな
いツリーのノードであることを特徴とする復号化装置。 - 【請求項11】 前記復号化手段は、 ROMの出力の第1部分に応答し、クロック信号により
クロック駆動され、そのクロック化出力をROMのアド
レス入力に分配し、これにより有限状態機械となる状態
レジスタ(510)と復号化装置の出力信号を生成する
ために、ROM出力の第2部分を入力レジスタの出力信
号と結合する手段(530)とを有することを特徴とす
る請求項10の装置。 - 【請求項12】 ROMの出力の信号第4部分の制御下
で、前記結合手段(530)内に結合された入力レジス
タの出力信号の数を選択する手段(540)をさらに有
することを特徴とする請求項11の装置。 - 【請求項13】 ROMの出力点に、前記結合手段(5
30)内で結合された情報を獲得するヒットフラグをさ
らに有することを特徴とする請求項11の装置。 - 【請求項14】 前記結合手段に応答するROM(40
0)をさらに有することを特徴とする請求項13の装
置。 - 【請求項15】 前記ROM出力の第5部分に応答し
て、入力レジスト内のデータシフトする制御回路(55
0)をさらに有することを特徴とする請求項11の装
置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/907,977 US5226082A (en) | 1992-07-02 | 1992-07-02 | Variable length decoder |
US907977 | 1992-07-02 |
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)
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 | クゥアルコム・インコーポレイテッド | 改良されたマルチメディアデコーダに関する方法及び装置 |
JP2010509895A (ja) * | 2006-11-14 | 2010-03-25 | クゥアルコム・インコーポレイテッド | メモリ効率の良い(memoryefficient)適応形ブロック符号化 |
JP2010509893A (ja) * | 2006-11-14 | 2010-03-25 | クゥアルコム・インコーポレイテッド | 可変長符号のメモリ効率の良い符号化 |
Families Citing this family (31)
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 | 구자홍 | 캐스케이드 구조를 이용한 런랭스 코드의 코드워드 검출 방법 및 장치 |
CN100521787C (zh) * | 1996-05-28 | 2009-07-29 | 松下电器产业株式会社 | 图像预测编码方法 |
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 |
US7454076B2 (en) * | 2004-06-15 | 2008-11-18 | Cisco Technology, Inc. | Hybrid variable length coding method for low bit rate video coding |
US7471841B2 (en) * | 2004-06-15 | 2008-12-30 | Cisco Technology, Inc. | Adaptive breakpoint for hybrid variable length coding |
US7499596B2 (en) * | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Amplitude coding for clustered transform coefficients |
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 |
US7499595B2 (en) * | 2004-08-18 | 2009-03-03 | Cisco Technology, Inc. | Joint amplitude and position coding for photographic image and video coding |
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 |
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)
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 | 可変長符号化装置および可変長復号化装置 |
-
1992
- 1992-07-02 US US07/907,977 patent/US5226082A/en not_active Expired - Lifetime
-
1993
- 1993-06-16 CA CA002096176A patent/CA2096176C/en not_active Expired - Lifetime
- 1993-06-24 EP EP93304929A patent/EP0577330B1/en not_active Expired - Lifetime
- 1993-06-24 DE DE69313540T patent/DE69313540T2/de not_active Expired - Lifetime
- 1993-06-29 MX MX9303899A patent/MX9303899A/es not_active IP Right Cessation
- 1993-06-30 KR KR1019930012044A patent/KR100286195B1/ko not_active IP Right Cessation
- 1993-06-30 JP JP5183402A patent/JP3016996B2/ja not_active Expired - Lifetime
Cited By (7)
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 | ソニー株式会社 | 文字列検索回路及び文字列検索方法 |
JP2010509895A (ja) * | 2006-11-14 | 2010-03-25 | クゥアルコム・インコーポレイテッド | メモリ効率の良い(memoryefficient)適応形ブロック符号化 |
JP2010509893A (ja) * | 2006-11-14 | 2010-03-25 | クゥアルコム・インコーポレイテッド | 可変長符号のメモリ効率の良い符号化 |
JP4897887B2 (ja) * | 2006-11-14 | 2012-03-14 | クゥアルコム・インコーポレイテッド | 可変長コードのメモリ効率の良いコーディング |
JP4897888B2 (ja) * | 2006-11-14 | 2012-03-14 | クゥアルコム・インコーポレイテッド | メモリ効率の良い(memoryefficient)適応形ブロックコーディング |
Also Published As
Publication number | Publication date |
---|---|
CA2096176A1 (en) | 1994-01-03 |
US5226082A (en) | 1993-07-06 |
JP3016996B2 (ja) | 2000-03-06 |
KR100286195B1 (ko) | 2001-04-16 |
DE69313540D1 (de) | 1997-10-09 |
EP0577330A2 (en) | 1994-01-05 |
EP0577330A3 (en) | 1994-06-01 |
EP0577330B1 (en) | 1997-09-03 |
CA2096176C (en) | 1998-09-08 |
KR940006020A (ko) | 1994-03-22 |
MX9303899A (es) | 1994-04-29 |
DE69313540T2 (de) | 1998-01-22 |
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 | |
US6525679B1 (en) | Binary to decimal coder/decoder | |
CN109889205B (zh) | 编码方法及***、解码方法及***、编解码方法及*** | |
KR0138971B1 (ko) | 허프만 부호 복호회로 | |
JPH07226846A (ja) | 入力データストリームの処理方法及び圧縮フォーマットの生成方法 | |
KR0163464B1 (ko) | 허프만 부호 복호화 회로 | |
US7068192B1 (en) | System and method for encoding and decoding variable-length data | |
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 | |
Mukherjee et al. | Prototyping of efficient hardware algorithms for data compression in future communication systems | |
JP3304745B2 (ja) | 可変長符号復号化器 | |
JP2010166552A (ja) | テーブル装置、符号化装置、復号装置および符号化/復号装置 | |
JP2537551B2 (ja) | 可変長符号復号回路 | |
JPH03179562A (ja) | データ記録装置及びデータ編集方法 | |
US6178496B1 (en) | System for converting instructions, and method therefore | |
US6317771B1 (en) | Method and apparatus for performing digital division | |
JPH07120262B2 (ja) | ソ−ティング回路 | |
EP0945782A1 (en) | System for converting instructions, and method thereto |
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 |