JPH088755A - 高速可変長復号化装置 - Google Patents
高速可変長復号化装置Info
- Publication number
- JPH088755A JPH088755A JP6294763A JP29476394A JPH088755A JP H088755 A JPH088755 A JP H088755A JP 6294763 A JP6294763 A JP 6294763A JP 29476394 A JP29476394 A JP 29476394A JP H088755 A JPH088755 A JP H088755A
- Authority
- JP
- Japan
- Prior art keywords
- length
- codeword
- output
- decoding
- window
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
要な経路である累算器の動作遅延時間を効果的に減ら
し、高速の復号化動作を達成できるVLC復号化装置を
提供すること。 【構成】 第1バレルシフタ30に従属結合され、第1
表メモリデバイス50から以前復号化されたコードワー
ドの長さを直接入力し、シフトさせた復号化ウインドウ
出力列を発生する第2バレルシフタ40と、前記復号化
ウインドウ出力列を入力して、それに含まれた可変長コ
ードワードに対応する固定長の復号化されたコードワー
ド及びその長さ情報を発生する第2表メモリデバイス6
0とを含む構成。
Description
復号化装置に関し、特に、累算器の作動上の遅延を効果
的に減らすことによって、高速の復号化動作を提供しう
る改良されたVLC復号化装置に関する。
ータ圧縮のために利用されている。この可変長符号化
は、データの統計値に基づいて固定された長さのデータ
を可変長データに変換するもので、情報源データに含ま
れている各コードワードの発生頻度によって、その頻度
が高いコードワードは短い長さのコードワードに変換さ
せ、発生頻度が少ないコードワードは長さが長いコード
ワードで表示する方法である。この場合、平均のワード
の長さは情報源データの平均のワードの長さよりさらに
短くなるので、データの圧縮がなされることになる。公
知のデータの統計値に対して最小冗長性を有する可変長
符号化を具現させるには、通常、ホフマン(Huffman) コ
ードが利用される。
アドレシングするのに用いる表ルックアップによって具
現することができ、コードワード及びワードの長さは表
の内容にて記憶される。しかし、複合セラミック構造過
程は甚だしく複雑である。即ち、可変長の特徴によって
各々のコードワードは、受信されたビットストリームか
ら分割されたのち、情報源コードワードにデコードされ
る。それ故、通常、可変長コード復号器の設計は、可変
長符号器の設計よりも難しい。
ック構造のために多様な方法が提案されている。このよ
うな方法の一つとして、1990年2月6日にガリー・
カーン(Gary Kahan)に付与された米国特許第4,899,149
号明細書に開示された、ツリー検索アルゴリズムが主に
用いられているが、ツリー検索アルゴリズムを用いた復
号器は、ツリーに対応する論理回路と、コードツリーに
対してツリー運行(tree traversal)を行う制御回路とを
含んでいる。しかし、このような接近方法はその速度が
相当遅いし、各々の復号化されたシンボルに対してコー
ドツリーを通じてビット毎の検索が要求される。したが
って、ツリー検索に基づいた復号器は出力データ速度に
比べて数倍の速度で作動しなければならないという問題
があった。
1992年12月にミンティングサン(Ming-Ting Sun) らに許
与された米国特許第5,173,697 号及び1993年9 月14日許
与された米国特許第5,245,338 号に開示されている。こ
のような復号器は、最大コードワード長と同一のビット
格納能力とを有し、ビットストリームを固定長セグメン
トとして記憶する入力バッファから提供される連続ビッ
トを格納する二つの従属結合ラッチ回路と、二つのラッ
チ回路と結合されて最大コードワード長と同一の長さの
ウインドウ出力を発生するバレルシフタと、コードワー
ドの最大長をモジュールとして、順次的に復号化された
可変長符号の長さを累算する累算器と、シフト可能な復
号化ウインドウ出力に含まれた可変長コードワードに対
応する固定長コードワードを出力し、それに対応する可
変長コードワードの長さを出力するルックアップ表メモ
リとを含む。コードワードが各クロックサイクルごとに
復号化されるにつれて、その長さは累算され、それによ
って復号化ウインドウ出力は次の復号化されるコードワ
ードの第1ビット位置から始まるようにシフトされる。
クロックサイクルのあいだ累算された長さが最大コード
ワード長を超過する場合、即ち、第2ラッチ回路にラッ
チされたビットが全て復号化された場合、第1ラッチ回
路は第2ラッチ回路へ伝送され、次の固定データセグメ
ントが入力バッファメモリから第1ラッチ回路へ読み出
される。
はルックアップ表メモリ、バレルシフタ及び累算器を含
む重要な回路経路によって制限される。特に、累算器は
入力バッファメモリから第1ラッチ回路の読出し動作を
制御するために用いられる重要な経路であるが、全体動
作の遅延を引き起こしてしまうため、高画質テレビのよ
うな応用においては、出来るだけ遅延を減らすことが要
求されてきた。
主な目的は、二つのバレルシフタ及びそれらに対応する
二つの可変長復号化表メモリを採用し、累算器における
動作中の遅延を交互に減らし、高速の復号化動作を達成
できるVLC復号化装置を提供することにある。
めに、本発明は、少なくとも最も長い可変長コードワー
ドと同一の長さを有する固定長セグメントで復号化され
る入力ビットストリームを格納する入力バッファから入
力される順次的な可変長コードワードを復号化するため
の可変長復号化装置であって、前記可変長符号化装置
は、読出し信号に応答して、少なくとも最も長い可変長
コードワードと同一の長さを有する二つの連続する固定
長セグメントを格納する第1及び第2ビット格納手段
と、前記第1及び第2ビット格納手段に結合され、ウイ
ンドウ制御信号によりシフトされる第1復号化ウインド
ウを有し、前記二つの固定長セグメントのうち最も長い
可変長コードワードと同一の長さを有する第1復号化ウ
インドウ出力列を発生する第1復号器シフト手段と、前
記第1復号化ウインドウ出力列のうちの第1ビット位置
から始まる各可変長コードワードに応答して、固定長コ
ードワードを発生し、前記固定長コードワードに対応す
る第1コードワード長出力を発生する第1メモリ手段
と、前記第1復号器シフト手段に結合され、前記第1復
号器長出力に応答してシフトされる第2復号化ウインド
ウを有することによって、第2復号化ウインドウ出力列
内の第1ビットが前記第1復号化ウインドウ出力列内の
復号化される次の可変長コードワードの第1ビットであ
る前記第2復号化ウインドウ出力列を発生する第2復号
器シフト手段と、前記第2復号化ウインドウ出力列の第
1ビット位置から始まる各可変長に応答して、固定長コ
ードワードを発生し前記固定長コードワードに対応する
第2コードワード長出力を発生する第2メモリ手段と、
前記第1及び第2コードワード長出力を加算して、加算
されたコードワード長出力を発生し、各々のクロックで
前記加算されたコードワード長出力と予め蓄積されたコ
ードワード長を加算して、その結果、蓄積されたコード
ワード長を表すウインドウ制御信号を出力し、前記加算
され蓄積されたコードワード長が最も長い可変長の長さ
より大きい場合、前記入力バッファに格納された次の固
定長セグメントを読出して、前記次の固定長セグメント
が前記第1ビット格納手段に格納され、前記第1ビット
格納手段に既に格納された前記固定長セグメントを前記
第2ビット格納手段へ伝送するようにする前記読出し信
号を発生する累算手段とを含むことを特徴とする。
装置について図面を参照しながらより詳しく説明する。
好ましい実施例が示されるが、説明の便宜上、可変長コ
ードワードの最大長さは16ビットに復号されると想定
する。
トストリームにおいて連続的に入き来する可変長コード
ワードを復号して、特定のシンボルクロックでリード、
あるいはデータチャネル24上へ可変長に相当する復号
化された固定長を出力する。また、このVLC復号装置
100ににおいては、第1及び第2ラッチ(latch) 回路
10,20と第1及び第2バレルシフタ(barrel shifte
r)30,40及び第1及び第2メモリデバイス50,6
0とを含む。
ータストリームは、入力バッファメモリ101へ入力さ
れる。この入力バッファメモリ101は、直列データス
トリーム可変長コードワード長のデータセグメントに格
納したのち、リード22上のREAD信号に応答してリード
11上へ、例えば、16ビットのセグメントのような固
定長のデータセグメントを続いで出力する。ここで、デ
ータセグメントのビット長は可変長コードワードの最大
ビット長と同一である。
リ101に連結され、リード22上のREAD信号に応答し
て、固定長のデータセグメントを連続的に受信するよう
に働く。また第2ラッチ回路20は第1ラッチ回路に連
結され、第1ラッチ回路10に既に格納された固定長デ
ータセグメントを受信するように働く。もし新しいデー
タセグメントの供給が必要になるとき、READ制御信号が
リード22上に発生する。すると、入力バッファメモリ
101は、そのREAD信号に応答して、次のデータセグメ
ントをリード11上へ提供する。また第1ラッチ回路1
0は次のデータセグメントを受信し、第1ラッチの回路
に既に格納されているデータセグメントは、第2ラッチ
回路20へ伝送される。したがって、第2ラッチ回路2
0は第1ラッチ回路10に格納されたデータセグメント
より時間上、常に先立つデータセグメントを格納してい
る。第1及び第2ラッチ回路10,20に格納されてい
る二つのデータセグメントは、復号化される32ビット
列の直列入力データであって、これは可変長コードワー
ドの最大長に対して二倍である。
された二つのデータセグメントは、各々並列のリード1
2,13を通じて第1バレルシフタ30へ入力される。
即ち、この新しいセグメントにおけるビットなどは、以
前セグメントにおけるビットなどと鎖のように連結され
たのち、第1バレルシフタ30へ入力される。リード1
4上の第1バレルシフタ30からの出力は、二つの入力
データセグメントにおける16ビット列である。即ち、
これは第2ラッチ回路20から出力された以前データセ
グメントと、第1ラッチ回路10から出力された現デー
タセグメントとである。16ビットシーケンス、即ち、
第1復号化ウインドウ出力シーケンスは32ビット列の
二つのデータセグメントにわたってスライドが可能であ
り、その位置はリード23上の第1ウインドウ制御信号
により直ちに特定される。ここで、第1ウインドウ制御
信号は第1復号化ウインドウにおける0と15とのあい
だのシフトを表す。第1ウインドウ制御信号「0 」は、
復号化ウインドウが以前データセグメントにある0から
16ビットまでの全体を含むことを表す反面、第1ウイ
ンドウ制御信号「15」は、ウインドウが以前データセグ
メントにおける16ビットから現在データセグメントに
おける15ビットまでを含むことを表す。後述するが、
この第1ウインドウ制御信号がリード23上に発生の
際、直ぐにバレルシフタはシフトされて、二つのデータ
セグメントのうち次のシーケンスに位置する。この場
合、このシフトが15を超過するのは以前データセグメ
ントにおける全てのビットが復号化されたことを表し、
この場合、第1ラッチ回路10における現在データセグ
メントは第2ラッチ回路20へ以前データセグメントと
して入力され、次の16ビットセグメントは入力バッフ
ァメモリ101から第1ラッチ回路10へ現在データセ
グメントとして入力される。
リデバイス50及び第2バレルシフタ40に連結され
る。本実施例においては、第1メモリデバイス50は、
プログラマブルロジックアレー(PLA)で具現され
る。図1に示されたように、このPLAよりなる第1メ
モリデバイス50は、コードワード表ANDプラン5
1、コードワード長表ORプラン52及び復号化された
コードワード表ORプラン53を有している。各コード
ワードは、米国特許第5,267,266 及び第5,173,695 号に
開示されるように、コードワードのビットパターンにし
たがってコードワード表ANDプラン51に記入された
と表現される。コードワードの最大長が16ビットであ
るコードワードライブラリーにおける大部分のコードワ
ードは16ビット以下であるので、コードワード表にお
ける実にコードワードビットパターンを超過するバレル
シフタから出力されるビット位置は、「don't care」位
置と指定される。
のシーケンスがコードワード表ANDプラン51に格納
されているコードワードビットパターンと一致する場
合、一つのコードワードが検出される。よって、例え
ば、可変長コードワードのビットパターン中の一つが
「01」であり、第1バレルシフタ30からの16ビット
シーケンスが「0111110000011101」のパターンであれ
ば、最初の二つのビットからマッチが発生する。よっ
て、最初の二つのビットが可変長コードワードと認定さ
れ、次の可変長コードワードは第3ビットから始まる。
シーケンスがコードワード表ANDプラン51における
エントリーと一致するとき、コードワード長表ORプラ
ン52におけるエントリーと復号化されたコードワード
表ORプラン53におけるエントリーとが作動する。こ
の復号化されたコードワード表ORプラン53は、コー
ドワード表ANDプラン51にあるマッチされた可変長
コードワードに対応する復号化された固定長コードワー
ドを出力切替えブロック80を通じてリード21上へ出
力する。
ドワード表ANDプラン51におけるマッチされた可変
長コードワードの長さを表す第1コードワード長信号を
リード16を通じて発生する。前記例によれば、コード
ワード長表ORプラン52は検出されたコードワード
「01」の長さを表す「2 」を出力する。このコードワー
ド長は、第2ウインドウ制御信号として、リード16を
通じて第2バレルシフタ40に直接提供されるととも
に、リード16を通じて累算器回路70へ提供される
が、この累算器回路70においては、復号器の長さを累
算し、第1バレルシフタ30の制御信号として用いられ
る第1ウインドウ制御信号をリード23を通じて発生さ
せる。
の出力信号、即ち、第1復号化ウインドウの出力シーケ
ンスは、リード14を介して第2バレルシフタ40へ入
力される。第2バレルシフタ40は次の他の点を除いて
は、第1バレルシフタ30と同一である。他の点とは、
現データセグメントが「0000000000000000」と固定し、
第1復号化ウインドウの出力シーケンスが以前データセ
グメントへ常に提供されるという点である。リード15
上から提供される第2バレルシフタ40からの第2復号
化ウインドウの出力シーケンスは、第1メモリデバイス
50における予めマッチされた可変長コードワードの長
さを表す第2ウインドウ制御信号によりシフトされた1
6ビットシーケンスである。説明された通り、第2ウイ
ンドウ制御信号がリード16上へ作動するとき、第2バ
レルシフタ40の第2復号化ウインドウは直接シフトさ
れて、第1復号化ウインドウの出力シーケンスで次の復
号化される可変長コードワードの第1ビットから始まる
特定シーケンスに位置する。
は、第2メモリデバイス60に接続される。本実施例に
よれば、この第2メモリデバイス60は第1メモリデバ
イス50と根本的には同一であるが、変換係数を符号化
した可変長を表すコードワード表の部分だけを含むこと
もできる。第2メモリデバイス60もやはりPLAによ
り具現され、コードワード表ANDプラン61,コード
ワード長表ORプラン62及び復号化されたコードワー
ド表ORプラン63を含む。前述したように、リード1
5上の第2復号化ウインドウの出力シーケンスがコード
ワード表ANDプラン61のエントリーと一致すると
き、コードワード長表ORプラン62におけるエントリ
ーと復号化されたコードワード表ORプラン63におけ
るエントリーとが作動する。復号化されたコードワード
表ORプラン63の出力は、リード19を介して、コー
ドワード表ANDプラン61にあるマッチされた可変長
コードワードに対応するコードワードされた固定長コー
ドワードを出力切替えブロック80へ出力する。固定長
切替えは可変長の復号化(VLD)制御回路90からの
出力変更信号に応答して、出力切替えブロック80から
リード21上へ出力する。コードワード長表ORプラン
62は、コードワード表ANDプラン61におけるマッ
チされた可変長コードワードを表す第2コードワード長
信号をリード17上へ出力し、この出力信号のコードワ
ード長信号は累算器回路70へ入力される。
と第2コードワード長とを合算し、VLD制御回路90
からの出力変更信号に応答して、合算されたコードワー
ド長を出力するように働く。また合算されたコードワー
ド長と以前に累算されたモジュールで16コードワード
長を加算して、これをVLD制御回路90からのクロッ
ク信号に応答して、リード23上へ第1ウインドウ制御
信号を出力する。新たに累算された累算値を表す第1ウ
インドウ制御信号は、第1バレルシフタ30を制御する
のに用いられる。即ち、クロック信号に応答して、累算
器回路70において新たに累算された値は、リード23
を通じて第1バレルシフタ30へ出力されるが、第1バ
レルシフタ30は第1復号化ウインドウを第1バレルシ
フタ30の以前データセグメントに含まれている次の復
号化されなかったビットの位置へシフトさせる。
合、累算器回路70は、第2ラッチ回路20の以前デー
タセグメント内の全てのビットが復号化され、今、ラッ
チ回路から除去されうることを表すREAD信号を発生す
る。論理値「1 」であるREAD信号は、リード22を通じ
て入力バッファメモリ101及び第1及び第2ラッチ回
路10,20へ出力されることによって、入力バッファ
メモリ101内における次の16ビットセグメントは第
1ラッチ回路10へ提供されるとともに、第1ラッチ回
路10の内容は第2ラッチ回路20に伝送される。
インドウ制御信号は、以前データセグメントに含まれて
いた二つの可変長コードワードが復号化された後に発生
されることになり、READ信号は以前データセグメントに
おける全てのビットが復号化された後だけ発生されるの
で、復号化された長さによって多数のクロック信号が発
生されてからREAD信号が発生されうることが分かる。
作は、図2及び図3に表形式で示した一例を参照して説
明すればより容易に理解できよう。データチャネル24
から図1に示した入力バッファメモリ101に入力され
るデータストリームは、図2に示した通り、a1-a8b1-b6
c1-c5d1-d5e1-e8f1-f7q1-g9h1-h6... である。ここで、
a1-a8 は第1可変長コードワードにおける8 ビットを表
し、b1-b6 は第2可変長コードワードにおける6ビット
を表す。
れる前に、第1及び第2ラッチ回路10,20は初期化
される。READ信号が「1 」になって、第1データセグメ
ント、即ち、a1-a8b1-b6c1c2の16ビットは、リード1
1を通じて第1ラッチ回路10に提供される。この視点
において、第1及び第2ラッチ回路10,20、第1及
び第2バレルシフタ30,40及び第1及び第2メモリ
デバイス50,60の各出力などは、図3に「X 」で示
されたように雑音値となる。
となり、この信号により次のデータセグメントc3-d5d1-
d5e1-e8 は入力バッファメモリ101からリード11へ
出力され、このREAD信号においてデータセグメントa1-a
8b1-b6c1c2は第1ラッチ回路10にラッチされる。
となり、この信号により入力バッファメモリ101から
次のデータセグメントf1-f7g1-g9が出力され、このREAD
信号において、データセグメントc3-c5d1-d5e1-e8 は以
前データセグメントとして第1ラッチ回路10にラッチ
されると共に、第1ラッチ回路10における以前にラッ
チされたデータセグメントa1-a8b1-b6c1c2は、以前デー
タセグメントとして第2ラッチ回路20に伝達される。
現在及び以前データセグメントは同時に第1バレルシフ
タ30に提供されるが、この、第1バレルシフタ30は
第1ウインドウ制御信号が「0 」であるので、第1復号
化ウインドウ出力のシーケンスとして以前データセグメ
ントをリード14上に伝達する。第1メモリデバイス5
0は、第1復号化ウインドウの出力シーケンスにおける
最初の8ビットを復号化されたコードワード「A 」とし
て認識し、このような固定長復号器「A 」を出力切替え
ブロック80を通じてリード21上に出力する。また第
1メモリデバイス50はリード16上にこのような復号
化されたコードワードの長さ「8 」を出力する。その
後、以前復号化された長さ「8 」を表す第2ウインドウ
制御信号が第2バレルシフタ40に結合される。この第
2バレルシフタ40は、第2復号化ウインドウ出力のシ
ーケンスとして、16ビット列のb1-b6c1c200000000 を
第2メモリデバイス60へ提供する。第2メモリデバイ
ス60は第2復号化ウインドウ出力のシーケンスにおけ
る最初6ビットを復号化されたコードワード「B 」とし
て認識して、このような復号化されたコードワード「B
」を出力切替えブロック80へ提供し、出力切替えブ
ロック80は出力転換信号に応答して、リード21上へ
固定長復号化されたコードワード「B 」を出力する。
から予め定められたタイム期間の経過後にVLD制御回
路90から発生されるが、このような所定の時間は第1
バレルシフタ30と第1及び第2メモリデバイス50,
60との動作遅延時間を含む。また第2メモリデバイス
60は復号化されたコードワード長さ「6 」をリード1
7上へ出力する。累算器回路70はリード27上の出力
変更信号に応答して、リード16上の以前復号化された
長さ「8 」とリード17上の復号化されたコードワード
長「6 」を加算して、長さ「14」を表す第1ウインドウ
制御信号を発生する。ここで、既に累算されたモジュー
ルとして16復号化されたコードワード長は「0 」であ
る。
されたコードワード長は「16」より小さいため、さらに
READ信号は「0 」となり、第1ウインドウ信号が第1バ
レルシフタ30に供給されて、第1復号化ウインドウが
以前データセグメントの15番目のビットから現在デー
タの30番目のビットを含むようにシフトされる。した
がって、16ビット列c1-c5d1-d5e1-e6 は第1メモリデ
バイス50及び第2バレルシフタ40へ提供される。第
1メモリデバイス50は以前データセグメントにおける
最初5ビットを復号化されたコードワード「c 」として
認識し、このような固定長復号化されたコードワード
「c 」を出力切替えブロック80を通じてリード21上
に出力する。また第1メモリデバイス50はリード16
上にこのような復号化されたコードワード長「5 」を出
力する。その後、以前復号化されたコードワード長「5
」を表す第2ウインドウ制御信号が第2バレルシフタ
40に結合される。この第2バレルシフタ40はこの制
御信号に応答して、第2復号化ウインドウ出力のシーケ
ンスとして、16ビット列d1-d5e1-e600000 を第2メモ
リデバイス60へ提供する。第2メモリデバイス60は
第2復号化ウインドウ出力列内の最初5ビットを復号化
されたコードワード「D 」として認識して、このような
復号化されたコードワード「D 」を出力切替えブロック
80へ提供し、出力切替えブロック80は出力変更信号
に応答して、リード21上に固定長復号化されたコード
ワード「D 」を出力する。または、第2メモリデバイス
60はこの復号化されたコードワード長「5 」をリード
17上に出力する。累算器回路70はリード26上の出
力変更信号に応答して、リード16上の以前復号化され
たコードワード長「5 」とリード17上の復号化された
長さ「5 」とを加算する。加算され復号化されたコード
ワード長「14」は以前に累算されたモジュールとして、
16コードワード長「14」と合算され、クロック信号が
発生される場合、累算されたコードワード長「24」(モ
ジュールとして16+8)を表す第1ウインドウ制御信号が
リード23上に発生される。
ワード長は「16」より大きいため、READ信号は「1 」と
なり、この信号により入力バッファメモリ101から次
のデータセグメントh1-h6...が出力され、データセグメ
ントf1-f7g1-g9は以前データセグメントとして第1ラッ
チ回路10にラッチされ、第1ラッチ回路10に以前に
ラッチされたデータセグメントc1-c5d1d5e1-e8は、以前
セグメントとして第2ラッチ回路20に伝達される。現
在及び以前データセグメントは、同時に第1バレルシフ
タ30に提供され、第1バレルシフタ30は、第1ウイ
ンドウ制御信号が「24」(モジュールとして16+8)であ
るので、第1復号化ウインドウ出力列として以前データ
セグメントの8番目のビットから始まるe1-e8f1-f7g1を
第1バレルシフタ30に供給する。第1メモリデバイス
50は第1復号化ウインドウ出力列のうちの最初8ビッ
トをコードワード「E 」と認識し、このような固定長復
号化されたコードワード「E 」を出力切替えブロック8
0を通じてリード21上に出力する。また、第1メモリ
デバイス50は、リード16上にこのような復号化され
たコードワードの長さ「8 」を出力する。そののち、以
前復号化されたコードワード長「8 」を表す第2ウイン
ドウ制御信号が第2バレルシフタ40に結合される。第
2バレルシフタ40はこの制御信号に応答して、第2復
号化ウインドウ出力列として、16ビット列f1-f7g1000
00000 を第2メモリデバイス60へ提供する。第2メモ
リデバイス60は第2復号化ウインドウ出力列内の最初
7ビットを復号化されたコードワード「F 」と認識し、
このような復号化されたコードワード「F 」を出力切替
えブロック80へ提供し、出力切替えブロック80は出
力変更信号に応答して、リード21上に固定長復号化さ
れたコードワード「F 」を出力する。第2メモリデバイ
ス60は復号化されたコードワード長「7 」をリード1
7上に出力する。
装置によれば、互いに従属結合された状態の二つのバレ
ルシフタ及びそれらに対応する二つの可変長復号化表メ
モリを採用し、累算器とは独立的に第1表メモリデバイ
スからのコードワード長出力に応答して、直接シフトさ
れた復号化ウインドウ出力列を第2表メモリに供給しう
るので、累算器の動作遅延時間を交互に減らし、高速の
復号化動作を得ることができる。
ク図である。
に用いられる入力比を示す図面である。
の図面である。
Claims (1)
- 【請求項1】 少なくとも最も長い可変長コードワード
と同一の長さを有する固定長セグメントで復号化される
入力ビットストリームを格納する入力バッファから入力
される順次的な可変長コードワードを復号化するための
可変長復号化装置であって、 前記可変長復号化装置は、 読出し信号に応答して、少なくとも最も長い可変長コー
ドワードと同一の長さを有する二つの連続する固定長セ
グメントを格納する第1及び第2ビット格納手段と、 前記第1及び第2ビット格納手段に結合され、ウインド
ウ制御信号によりシフトされる第1復号化ウインドウを
有し、前記二つの固定長セグメントのうち最も長い可変
長コードワードと同一の長さを有する第1復号化ウイン
ドウ出力列を発生する第1復号器シフト手段と、 前記第1復号化ウインドウ出力列のうちの第1ビット位
置から始まる各可変長コードワードに応答して、固定長
コードワードを発生し、前記固定長コードワードに対応
する第1コードワード長出力を発生する第1メモリ手段
と、 前記第1復号器シフト手段に結合され、前記第1復号器
長出力に応答してシフトされる第2復号化ウインドウを
有することによって、第2復号化ウインドウ出力列内の
第1ビットが前記第1復号化ウインドウ出力列内の復号
化される次の可変長コードワードの第1ビットである前
記第2復号化ウインドウ出力列を発生する第2復号器シ
フト手段と、 前記第2復号化ウインドウ出力列の第1ビット位置から
始まる各可変長に応答して、固定長コードワードを発生
し、前記固定長コードワードに対応する第2コードワー
ド長出力を発生する第2メモリ手段と、 前記第1及び第2コードワード長出力を加算して、加算
されたコードワード長出力を発生し、各々のクロックで
前記加算されたコードワード長出力と予め蓄積されたコ
ードワード長とを加算して、その結果、蓄積されたコー
ドワード長を表すウインドウ制御信号を出力し、前記加
算され蓄積されたコードワード長が最も長い可変長の長
より大きい場合、前記入力バッファに格納された次の固
定長セグメントを読出して、前記次の固定長セグメント
が前記第1ビット格納手段に格納され、前記第1ビット
格納手段に既に格納された前記固定長セグメントを前記
第2ビット格納手段へ伝送するようにする前記読出し信
号を発生する累算手段とを含む可変長復号化装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019930025675A KR970002483B1 (ko) | 1993-11-29 | 1993-11-29 | 고속의 가변길이 복호화장치 |
KR1993-25675 | 1993-11-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH088755A true JPH088755A (ja) | 1996-01-12 |
JP3294026B2 JP3294026B2 (ja) | 2002-06-17 |
Family
ID=19369243
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29476394A Expired - Lifetime JP3294026B2 (ja) | 1993-11-29 | 1994-11-29 | 高速可変長復号化装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US5561690A (ja) |
EP (1) | EP0655842A3 (ja) |
JP (1) | JP3294026B2 (ja) |
KR (1) | KR970002483B1 (ja) |
CN (1) | CN1039469C (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001339312A (ja) * | 2000-03-24 | 2001-12-07 | Matsushita Electric Ind Co Ltd | 可変長復号化回路 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR0152038B1 (ko) * | 1994-10-17 | 1998-10-15 | 김광호 | 상대 주소를 이용한 가변장 복호화 장치 |
KR0154010B1 (ko) * | 1995-03-16 | 1998-11-16 | 배순훈 | 가변길이 복호화 장치 |
KR0180169B1 (ko) * | 1995-06-30 | 1999-05-01 | 배순훈 | 가변길이 부호기 |
KR0178201B1 (ko) * | 1995-08-31 | 1999-05-01 | 배순훈 | 가변 길이 복호화 장치 |
KR100203246B1 (ko) * | 1995-10-19 | 1999-06-15 | 윤종용 | 고속의 가변장복호화장치 |
US5668548A (en) * | 1995-12-28 | 1997-09-16 | Philips Electronics North America Corp. | High performance variable length decoder with enhanced throughput due to tagging of the input bit stream and parallel processing of contiguous code words |
US5835035A (en) * | 1995-12-28 | 1998-11-10 | Philips Electronics North America Corporation | High performance variable length decoder with two-word bit stream segmentation and related method |
US5657016A (en) * | 1995-12-28 | 1997-08-12 | Philips Electronics North America Corporation | Variable length decoder with one of N length indicator |
US5650905A (en) * | 1995-12-28 | 1997-07-22 | Philips Electronics North America Corporation | Variable length decoder with adaptive acceleration in processing of Huffman encoded bit streams |
US5696507A (en) * | 1996-05-31 | 1997-12-09 | Daewoo Electronics Co., Inc. | Method and apparatus for decoding variable length code |
CN1098565C (zh) * | 1996-06-07 | 2003-01-08 | 大宇电子株式会社 | 译码变长码的方法和设备 |
DE19707974C2 (de) * | 1997-02-27 | 1999-01-14 | Siemens Ag | Schaltungsanordnung zur Dekodierung von Codes variabler Länge |
US6349379B2 (en) * | 1997-04-30 | 2002-02-19 | Canon Kabushiki Kaisha | System for executing instructions having flag for indicating direct or indirect specification of a length of operand data |
KR100292050B1 (ko) * | 1997-11-08 | 2001-06-01 | 김영환 | 가변장복호기의 데이타 가변장치 |
US6215424B1 (en) * | 1998-12-16 | 2001-04-10 | Thomson Licensing S.A. | System for variable length codeword processing suitable for video and other applications |
US6883047B2 (en) * | 2001-05-25 | 2005-04-19 | Intel Corporation | Concurrent asynchronous USB data stream destuffer with variable width bit-wise memory controller |
US6653955B1 (en) | 2002-05-09 | 2003-11-25 | Lsi Logic Corporation | Multi-symbol variable length code decoder |
US6674376B1 (en) * | 2002-09-13 | 2004-01-06 | Morpho Technologies | Programmable variable length decoder circuit and method |
CN100356793C (zh) * | 2005-06-09 | 2007-12-19 | 清华大学 | 多变长码并行解码器 |
KR100946875B1 (ko) * | 2006-12-21 | 2010-03-09 | 삼성전자주식회사 | 통신 시스템에서 데이터 수신 장치 및 방법 |
WO2008087750A1 (ja) * | 2007-01-19 | 2008-07-24 | Mitsubishi Electric Corporation | テーブル装置、可変長符号化装置、可変長復号装置及び可変長符号化復号装置 |
JP4841496B2 (ja) * | 2007-04-26 | 2011-12-21 | パナソニック株式会社 | 可変長符号復号化装置 |
WO2009122675A1 (ja) * | 2008-03-31 | 2009-10-08 | パナソニック株式会社 | 可変長符号復号化装置及びその方法 |
CN103337253B (zh) * | 2013-05-29 | 2016-02-03 | 北京大学 | 一种rram逻辑器件的级联系统及方法 |
CN112737905B (zh) * | 2020-12-22 | 2022-05-24 | 青岛鼎信通讯消防安全有限公司 | 一种平行二总线通讯发送、接收方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5173695A (en) * | 1990-06-29 | 1992-12-22 | Bell Communications Research, Inc. | High-speed flexible variable-length-code decoder |
US5245338A (en) * | 1992-06-04 | 1993-09-14 | Bell Communications Research, Inc. | High-speed variable-length decoder |
GB2270603B (en) * | 1992-09-09 | 1996-07-24 | Sony Broadcast & Communication | Data formatting |
US5343195A (en) * | 1992-12-18 | 1994-08-30 | Thomson Consumer Electronics, Inc. | Variable length codeword decoding apparatus |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
-
1993
- 1993-11-29 KR KR1019930025675A patent/KR970002483B1/ko not_active IP Right Cessation
-
1994
- 1994-11-29 CN CN94112762A patent/CN1039469C/zh not_active Expired - Lifetime
- 1994-11-29 EP EP94118771A patent/EP0655842A3/en not_active Ceased
- 1994-11-29 US US08/346,067 patent/US5561690A/en not_active Expired - Lifetime
- 1994-11-29 JP JP29476394A patent/JP3294026B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001339312A (ja) * | 2000-03-24 | 2001-12-07 | Matsushita Electric Ind Co Ltd | 可変長復号化回路 |
JP4559652B2 (ja) * | 2000-03-24 | 2010-10-13 | パナソニック株式会社 | 可変長復号化回路 |
Also Published As
Publication number | Publication date |
---|---|
JP3294026B2 (ja) | 2002-06-17 |
CN1039469C (zh) | 1998-08-05 |
EP0655842A2 (en) | 1995-05-31 |
KR970002483B1 (ko) | 1997-03-05 |
EP0655842A3 (en) | 1997-01-22 |
CN1108019A (zh) | 1995-09-06 |
KR950016368A (ko) | 1995-06-17 |
US5561690A (en) | 1996-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3294026B2 (ja) | 高速可変長復号化装置 | |
US5436626A (en) | Variable-length codeword encoder | |
US5245338A (en) | High-speed variable-length decoder | |
JP3136796B2 (ja) | 可変長符号デコーダ | |
KR0178201B1 (ko) | 가변 길이 복호화 장치 | |
EP0663730B1 (en) | Apparatus for decoding variable length codes | |
US5677690A (en) | High speed variable length code decoding apparatus | |
JPH0669813A (ja) | 可変長コードデコーディング装置 | |
KR0179103B1 (ko) | 고속 가변길이 디코더장치 | |
KR960003452B1 (ko) | 가변길이부호 복호장치 | |
KR100192269B1 (ko) | 가변길이 코드 디코더 | |
US5736946A (en) | High speed apparatus and method for decoding variable length code | |
CN1128439A (zh) | 高速可变长度码解码装置 | |
US5708430A (en) | High speed variable length code decoding apparatus | |
JPH08223055A (ja) | 可変長コードデコーダ | |
JP2537551B2 (ja) | 可変長符号復号回路 | |
JP3389389B2 (ja) | 可変長コード復号化装置 | |
JP3014999B2 (ja) | ハフマン復号化装置 | |
KR0125126B1 (ko) | 고속 가변길이부호 복호화 장치 | |
JP3346204B2 (ja) | 可変長符号復号装置 | |
JPH0373619A (ja) | ラン長符号符号化回路 | |
KR100304872B1 (ko) | 가변길이코드디코더. | |
JPH0993139A (ja) | 可変長符号の復号方法および装置 | |
KR0125125B1 (ko) | 고속 가변길이부호 복호화 장치 | |
JPH07143012A (ja) | 可変長符号の復号方法 |
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: 20090405 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090405 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100405 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110405 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120405 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130405 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130405 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140405 Year of fee payment: 12 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |