JPH09130266A - 高速可変長コード復号化装置及び高速可変長コード復号化方法 - Google Patents
高速可変長コード復号化装置及び高速可変長コード復号化方法Info
- Publication number
- JPH09130266A JPH09130266A JP25098796A JP25098796A JPH09130266A JP H09130266 A JPH09130266 A JP H09130266A JP 25098796 A JP25098796 A JP 25098796A JP 25098796 A JP25098796 A JP 25098796A JP H09130266 A JPH09130266 A JP H09130266A
- Authority
- JP
- Japan
- Prior art keywords
- length
- code
- bit
- variable
- 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
- 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
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
がりエッジの際にコードを復号化して動作速度を向上さ
せる復号化装置を提供する。 【解決手段】 ウィンドウ制御信号に応じて第1ウィ
ンドウ出力シーケンスを生成する第1バレルシフタ10
3と、復号化された符号語長に応じて第2ウィンドウ出
力シーケンスとコード値を生成する第2バレルシフタ1
04と、第2ウィンドウ出力シーケンスを半クロックサ
イクルの間ラッチして第2ウィンドウ出力シーケンスを
復号化出力シーケンスとして供給するリレイ回路105
と、復号化出力シーケンスの第1ビット位置で始まる可
変長符号語のプレフィクスコードに応じて復号化された
符号語長を生成する第1ルックアップ表201と、復号
化された符号語長とコード値とに応じて固定長語を生成
する第2ルックアップ表202と、ウィンドウ制御信号
を生成する累算ブロック300とを有する。
Description
関し、特に、クロックサイクルごとに2つのコードを復
号化することによって、高速復号化動作を行い得る改善
された可変長復号化装置に関する。
ためにしばしば用いられている方法である。より詳しく
は、この方法はデータの統計値に基づいて、一定長のデ
ータを可変長コードに変換するにため用いられる。可変
長コードのコード長は、より短いコードはより発生頻度
の高いデータを表し、より長いコードは比較的発生頻度
の低いデータを表すものとして定められる。可変長コー
ドを全ての可能なソースデータのライブラリに適宜に割
り当てることによって、その可変長コードの平均語長が
元のソースデータの語長より短くなって、よって、デー
タ圧縮を効果的に実現することができる。
公知のデータ統計値に対して最小冗長度の可変長コード
を構成するために主に用いられる。一般に、符号化過程
はテーブルをアドレス指定するために入力データをテー
ブルにアドレス指定するルックアップテーブルを用いて
実現し得る。コード及び語長情報はテーブルの内容とし
て格納され、バッファを用いて入力情報が一定のデータ
レートで順次にデータチャネル上へ出力される。
号化過程よりはるかに複雑である。コード長が可変的で
あるため、各コードはソースのシンボルに復号化される
前に受信されたビットストリングから分割されなければ
ならない。その結果、可変長デコーダはが可変長エンコ
ーダより一層複雑となっている。
めの幾つかの符号化装置が提示されているが、そのう
ち、1990年2月6日にGary Kahanに付与
された米国特許出願番号第4,899,149号明細書
に開示されているツリー探索アルゴリズムを用いる可変
長コード(VLC)デコーダが主に用いられる。このV
LCデコーダにおいて、VLCはコードが葉(または、
ターミナルノードとも称する)となるツリー構造により
表現される。復号化過程はコードツリーのルート(根)
から始まって、受信されたビットスツリームにより各ノ
ードで2つのブランチ(枝)のうちの一つを選択するよ
うに誘導される。葉(即ち、コード)に至ると、コード
が検出されると共に、残りのビットスツリームから分割
される。このような形態の復号化装置は、ツリーに対応
する論理回路及びコードツリーを通じた論理回路を有す
る。しかしながら、コードツリーを用いるビット単位の
探索方法が復号化された各シンボルに対して要求される
ため、特に、長いコードの場合には動作速度が遅くな
る。
たVLCデコーダのうち一つが、1992年12月22
日にMing−Ting Sunらに付与された米国特
許出願番号第5,173,695号と第5、245、3
38号明細書に開示されているようなルックアップテー
ブルに基づくVLCデコーダである。このようなデコー
ダは、最大コード長と同等のビット格納能力を有し、ビ
ットスツリームを一定長のデータセグメントに記憶する
入力バッファメモリから供給される連続ビットを格納す
る2つのカスケード接続されたラッチ回路と、2つのラ
ッチ回路と接続されていると共に最大コード長と同一長
の復号化ウィンドウ出力を発生するバレルシフタと、最
大コード長をモジュールとして順に復号化された可変長
コードのコード長を累算する累算器と、移動可能な復号
化ウィンドウ出力に含まれた可変長コードに対応する一
定長のコードを出力すると共に、可変長コードのコード
長を出力するルックアップ表メモリデバイスとを含む。
コードが、各クロックサイクル毎に復号化されることに
よってそのコード長が累算され、よって、バレルシフタ
の復号化ウィンドウは復号化されるべき次のコードの第
1ビットから始まるようにシフトされる。クロックサイ
クルの間、累算されたコード長が最大コード長を超える
場合、即ち、第2ラッチ回路内の全ビットが復号化され
た場合、第1ラッチ回路内のビットは第2ラッチ回路へ
伝送され、次の一定のデータセグメントが入力バッファ
メモリから第1ラッチ回路に読取られる。
クアップ表メモリ、バレルシフタ及び累算器を含む主要
経路で構成要素の動作遅延によって動作速度が制限さ
れ、クロックサイクルごとに1つのコードのみを復号化
し得るためさらに動作速度が制限される。
速度を改善するためにクロックサイクル当り二つのコー
ドを復号化できる復号化器が提案された。そのような復
号化器のうちの一つが本出願で参照引用した本出願人に
よる日本国特許出願番号平成8年第88826号(19
95年3月18日出願)明細書「高速可変長復号化装
置」に明示されている。
明では、復号化動作の速度を相当に改善したが、復号化
器の構造の複雑度を低減する必要はいまだに存在する。
目的は、1つのクロックサイクルの立ち下がりエッジと
立ち上がりエッジとを共に用いて、毎クロックサイクル
当り2つのコードを復号化して、動作速度を向上させ得
るのみならず、復号化器の構造的複雑度を減少させ得る
VLC復号化装置及びその方法を提供することである。
めに、本発明によれば、最長可変長コードの2倍の長さ
を有する固定長セグメントからなる入力ビットスツリー
ムを、立ち上がりエッジ及び立ち下がりエッジを有する
クロックパルスからなるクロック信号に基づいて、1/
2クロック周期にて復号化するための高速可変長コード
復号化装置であって、前記入力ビットスツリームからビ
ットの連続した固定長セグメントを格納するカスケード
接続された第1および第2ビット格納手段と、前記第1
および第2ビット格納手段に接続され、前記第1及び第
2格納手段から受け取られたビットを格納し、格納され
た連続する固定長セグメントのビットから第1ウィンド
ウ出力シーケンスを生成する出力ウィンドウを有するシ
フト手段であって、前記ウィンドウ出力シーケンスは前
記最長可変長コードと同一のビット長さを有し、ウィン
ドウ制御信号に直接応じて、毎半クロックサイクル間に
前記格納されたビットのうちの所定ビットに亘って前記
ウィンドウをシフトさせるシフト手段と、前記ウィンド
ウ出力シーケンスを1半クロックサイクルの間にラッチ
し、ラッチされたウィンドウ出力シーケンスを復号化出
力シーケンスとして生成するリレイ手段と、前記リレイ
手段に接続されており、前記復号化出力シーケンスの第
1ビット位置から始まる可変長コードの上位Pビット
(前記Pの最大値は、最長可変長コードより小さい整
数)からなるプレフィクスコードに応じてコード長さを
生成する第1メモリ手段と、前記第1メモリ手段及び前
記シフト手段に接続されており、前記コード長さ及びウ
ィンドウ出力シーケンスに応じて、固定長の語を発生す
る第2メモリ手段と、前記コード長さに前のクロックサ
イクル間に復号化された以前に累算された可変長コード
の長さを各半クロックサイクルの間に加算して、ウィン
ドウ制御信号を生成し、前記ウィンドウ制御信号におけ
るビット数だけ前記ウィンドウをシフトさせると共に、
前記累算されたコード長さが前記第1シフト格納手段内
の全てのビットが復号化されたことを表す場合、前記入
力ビットスツリーム内の次の固定長セグメントを前記第
2ビット格納手段に伝達するように制御する読取り信号
を発生させて、前記第2ビット格納手段内のビットのシ
ーケンスを前記第1ビット格納手段へ伝達するように制
御する桁上げ信号を発生する累算手段とを有することを
特徴とする可変長コード復号化装置が提供される。
図面を参照しながらより詳しく説明する。
の好ましい実施例が示されている。説明の便宜上、復号
化される可変長コードの最大長さは8ビットとする。V
LC復号化器は連続的に入力される可変長コードを復号
化して、ある特定のシンボルクロックに応じて可変長コ
ードに対応する復号化された固定長コードをリード線2
13を通じて出力する。
ータスツリームは入力バッファメモリ50へ入力され
る。入力バッファメモリ50は可変長コードの直列デー
タスツリームを固定長のセグメント状態で格納した後、
リード線411上の「READ」(読出し)信号に応じ
て、「CLK」(クロック)信号のエッジで、例えば、
立ち上がりエッジで、リード線111上へ固定長セグメ
ント、例えば、16ビットのセグメントを出力する。こ
こで、データセグメントのビット長さは可変長コードの
最大ビット長の2倍であり、クロック信号は2種類のエ
ッジ、即ち、立ち上がりエッジ及び立ち下がりエッジを
有する。
0に連結され、リード線111を通じて前記入力バッフ
ァメモリ50から固定長のデータセグメントを連続的に
受信する。ラッチ回路102はラッチ回路101に接続
され、ラッチ回路101で予め格納された固定長データ
セグメントを受信する。ラッチ回路101及び102は
CLKのエッジで「CARRY」(桁上げ)信号がその
制御入力に供給される場合のみ、入力されたデータをラ
ッチする制御ラッチであり、前記ラッチされたデータは
クロックの次のエッジまで出力に保持される。本発明の
好ましい実施例において、入力バッファメモリ50とラ
ッチ回路101及び102はクロック信号の相異なるエ
ッジで動作する。ラッチ回路101及び102は、例え
ば、クロックの立ち下がりエッジで累算ブロック300
がリード線321上にCARRY信号を発生した時、入
力されたデータをラッチする。新しいデータセグメント
を供給する必要がある場合、アクティブ状態のREAD
信号がリード線411上へ供給される。リード線411
上にアクティブ状態の前記READ信号が供給されたと
き、入力バッファメモリ50はクロックの立ち上がりエ
ッジで次のデータセグメントをリード線111上へ供給
する。CARRY信号に応じて、クロックの次の立ち下
がりエッジでラッチ回路101はリード線111上の次
のデータセグメントをラッチし、ラッチ回路101に予
め格納されていたデータセグメントはラッチ回路102
へ供給される。従って、ラッチ回路102はラッチ回路
101に格納されたデータセグメントより時間的に1つ
前のデータセグメントを格納している。
いるデータセグメントとリード線111上の入力バッフ
ァメモリ50の出力は、連続した48ビットデータスツ
リームとして第1バレルシフタ103へ入力される。第
1バレルシフタ103はその48ビット入力に亘ってス
ライド可能な8ビット出力ウィンドウを有し、その位置
は累算ブロック300からリード線319を通じて供給
される累算されたコード長さを表すウィンドウ制御信号
により制御される。前記ウィンドウ制御信号がリード線
319を通じて供給される時、第1バレルシフタ103
の8ビット出力ウィンドウはウィンドウ制御信号により
第1バレルシフタ103内のデータセグメントの次の8
ビットシーケンスを含むようにシフトされる。第1バレ
ルシフタ103内のデータスツリームの最初の16ビッ
トが第2バレルシフタ104へ出力される時発生される
CARRY信号がリード線321上へ出力される時、立
ち下がりエッジにてラッチ回路101内の前データセグ
メントはラッチ回路102に前前データセグメントとし
てラッチされ、リード線111上の現データセグメント
はラッチ回路101に前データセグメントとしてラッチ
される。その次の立ち上がりエッジにて、次の16ビッ
トデータセグメントが入力バッファメモリ50から引き
出されて、第1バレルシフタ103の入力の33ビット
から48ビットの位置に現データセグメントとして供給
される。第1バレルシフタ103からの出力、即ち、第
1ウィンドウ出力シーケンスは3つの入力データセグメ
ント、即ち、両ラッチ回路102と101からの前前デ
ータセグメント及び前データセグメントと入力バッファ
メモリ50から出力された現データセグメントからなる
48ビットスツリームから構成された8ビットシーケン
スであり、リード線117を通じて16ビット入力の第
2バレルシフタ104へ供給される。また、第2バレル
シフタ104も前クロックエッジにて生成された8ビッ
トの復号化出力シーケンスをリード線127を通じて受
信して、次の出力シーケンスを生成する。
ト入力にわたってスライド可能な8ビット出力ウィンド
ウを有し、リード線211を通じてメモリ装置200か
ら供給されるコード長さにより制御され、リード線21
1上のコード長さにより決定された新しい位置にスライ
ドされるその出力ウィンドウを用いて、第2ウィンドウ
出力シーケンスをリード線119上へ出力し、同時に、
M、例えば、3ビットのコード値をリード線121を通
じてメモリ装置200へ供給する。ここで、Mは可変長
コードの最大ビット長さより小さい正の整数である。本
発明の好ましい実施例において、前記16ビット入力シ
ーケンス内の3ビットシーケンスがコード値と規定さ
れ、前記3ビットシーケンスは第2ウィンドウ出力シー
ケンスの第1ビットの左側に位置している。もし、第2
ウィンドウ出力シーケンス内の第1ビットの左側に位置
しているビット数が3より小さい場合、前記第2バレル
シフタ104は、「1」を前記3ビットシーケンスの上
位ビットとして追加して、3ビットシーケンスのコード
値を発生する。第2バレルシフタ104からの第2ウィ
ンドウ出力シーケンスは、2つのラッチ回路106及び
107と、マルチプレクサ(MUX)108とを含むリ
レイ回路105へ供給される。前記リレイ回路105は
第2ウィンドウ出力シーケンスを半クロックの間ラッチ
し、ラッチされた第2ウィンドウ出力シーケンスを復号
化出力シーケンスとしてリード線127を通じてメモリ
装置200へ供給する。さらに詳しくは、あるクロック
エッジにて第2バレルシフタ104から生成されたリー
ド線119上の第2ウィンドウ出力シーケンスは、次の
クロックエッジにて前記リレイ回路105内のラッチ回
路106または107にラッチされる。ラッチ回路10
6及び107はクロック信号の相異なるエッジ、例え
ば、前記クロック信号の立ち下がりエッジ及び立ち上が
りエッジにて入力に供給されたデータを各々ラッチす
る。リレー回路105内のMUX108は、前記クロッ
クの立ち下がりエッジに応じてラッチ回路106からの
第2ウィンドウ出力シーケンスを、前記クロックの立ち
上がりエッジに応じてラッチ回路107からの第2ウィ
ンドウ出力シーケンスを、復号化出力シーケンスとして
リード線127を通じてメモリ装置200と第2バレル
シフタ104へ供給する。
に接続されており、復号化出力シーケンスの第1ビット
位置で始まる可変長コードに対応するコード長と固定長
語とを出力する。発明の好ましい実施例において、メモ
リ装置200は、例えば、プログラマブルロジックアレ
イ(PLA:programmable logica
rray)で実現される第1ルックアップ表201及び
第2ルックアップ表202を含む。第1ルックアップ表
201はコード長さを生成するためのプレフィクス復号
化のために用いられ、第2ルックアップ表202は復号
化された語を生成するためのサブフィックス復号化のた
めに用いられる。第1ルックアップ表201はプレフィ
クスコード表と復号化語長さ表とを含む。各可変長コー
ドのプレフィクスコードは前記プレフィクスコード表内
のエントリーとして表現され、各々のプレフィクスコー
ドは各々のコード長が分かる各コードの上位Pビットか
らなり、前記Pの最大値は可変長コードの最大ビット
長、即ち、8より小さい。プレフィクスコード表内の各
テーブルエントリーは8ビットの長さを有し、1から
P、例えば、1から5まで変更可能な実際のプレフィク
スコードから始まる。コードライブラリー内の最大5ビ
ットの長さを有するプレフィクスコードは8ビットより
小さいため、実際のプレフィクスコードの後のテーブル
エントリー内の前記ビット位置は「don’t car
e」として表される。コードの長さはリレイ回路105
内のMUX108から供給されたシーケンスがプレフィ
クスコード表内に格納されたいずれか1つのビットパタ
ーンと整合する場合に、検出される。例えば、プレフィ
クスコード表内のプレフィクスコードのビットパターン
の1つが「11」の場合、該当する8ビット表エントリ
ーは「11XXXXXX」になる。ここで、各々の
「X」は「don’t care」を表す。もし、MU
X108からの8ビットシーケンスが「1101101
0」である場合、最初の2つのビットで整合が起こる。
リード線127上の復号化出力シーケンスがプレフィク
スコード表内のエントリーと整合する場合、復号化語長
表内の対応するエントリーがアクティブ状態となる。復
号化語長表はプレフィクスコード表内の可変長コードの
整合したプレフィクスコードに対応するコード長を、リ
ード線211上へ出力する。次のクロックエッジにてリ
ード線211を通じて第2バレルシフタ104へ供給さ
れたこのコード長さは、第2バレルシフタ104の出力
ウィンドウのシフトを制御するために用いられ、第2ル
ックアップ表202へ入力される。また、サブフィック
スコード表と、コード長さ表及び復号化語表とを含む第
2ルックアップ表202は、リード線121を通じて第
2バレルシフタ104からコード値を受信する。各可変
長コードのコード長はコード長表内のエントリーとして
表現され、各可変長コードのサブフィックスコードはサ
ブフィックス表内のエントリーとして表現され、各サブ
フィックスコードは各可変長コードの上位Qビットから
なり、前記Qは可変長コードの最大ビット長さからPを
除算した値と同じである。サブフィックスコード表内の
各テーブルエントリーは3ビットの長さを有し、1から
Qまで変更されうる実際のサブフィックスコードに終了
される。実際のサブフィックスコードが3ビットより小
さい場合、実際のサブフィックスコードの前に位置する
テーブルエントリー内のビット位置は、「don’t
care」として表される。本発明の好ましい実施例に
おいて、可変長コードはPビットのプレフィクスコード
とQビットのサブフィックスコードとからなる。固定長
語はリード線211上のコード長とリード線121上の
コード値とが各々のコード長さ表及びサブフィックス表
に格納されたビットパターンの1つと整合する場合に、
検出される。例えば、サブフィックスコード表内のサブ
フィックスコードのビットパターンが「01」の場合、
その3ビットのテーブルエントリーは「X01」であ
り、ここで、「X」は「don’t care」を表
す。もし、リード線121上のコード値が「101」で
ある場合、最後の2つのビットが整合する。前述したよ
うに、リード線211上のコード長さとリード線121
上のコード値とが、コード長さ表及びサブフィックスコ
ード表内のエントリーと各整合する場合、復号化語表内
の該当するエントリーがアクティブ状態となる。復号化
語表はサブフィックスコード表内の整合したサブフィッ
クスコードとコード長表内の整合したコード長に対応す
る固定長語をリード線213上へ出力する。
算ブロック300へ供給され、この累算ブロック300
は復号化された符号長を累算し、ウィンドウ制御信号を
リード線319上へ発生する。ウィンドウ制御信号は累
算されたコード長さを表し、第1バレルシフタ103を
制御するために用いられる。
のラッチ回路320及び330、及びMUX340を含
み、加算器310はリード線211上のコード長と以前
に累算されたリード線318上のコード長とを加算し
て、両ラッチ回路320、330にクロックパルス毎に
新たに累算されたコード長として供給する。本発明の好
ましい実施例において、ラッチ回路320及び330は
互いにクロックパルスの相異なるエッジにて動作する。
従って、例えば、各立ち上がりエッジにて、前クロック
パルス(即ち、直前の立ち上がりエッジ)にて発生され
た加算器310の出力は、ラッチ回路320によりラッ
チされ、MUX340にリード線316を通じて供給さ
れる。一方、各立ち下がりエッジにて、前クロックパル
ス(即ち、直前の立ち下がりエッジ)にて発生された加
算器310の出力は、ラッチ回路330によりラッチさ
れ、MUX340にリード線317を通じて供給され
る。また、ラッチ回路330はラッチ回路330でラッ
チされたコード長の最上位ビットの論理値を検出すると
共に、前記バッファメモリ50にリード線411を介し
て読み取り信号リード線として供給する。かくして、ラ
ッチ回路330でラッチされたコード長が「16」以上
の場合、ラッチ回路330でラッチされたコード長のM
SBは「1」であり、アクティブ状態とされたREAD
信号はリード線411上に供給される。
0または330からの5ビットのコード長さがウィンド
ウ制御信号としてリード線319上へ出力されると共
に、加算器310に以前に累算されたコードとしてリー
ド線318を介して供給される。しかしながら、ラッチ
回路320からリード線318上のコード長が「16」
以上の場合、即ち、可変長コードの最大ビット長の2倍
の場合、ラッチ回路320からの5ビットコード長のM
SBは加算器310に入力されるまえに「0」にリセッ
トされることによって、以前に累算された16を法とす
るコード長をリード316に供給する。
れたコード長さを表すリード線319上のウィンドウ制
御信号は、第1バレルシフタ103へ供給され、第1バ
レルシフタ103のスライド可能な出力ウィンドウの位
置を制御する。5ビットのウィンドウ制御信号のMSB
は、クロックの各立ち上がりエッジ及び立ち下がりエッ
ジにてリード線321を通じてCARRY信号としてラ
ッチ回路101及び102へ供給される。累算されたコ
ード長さが「16」以上の場合、ウィンドウ制御信号の
MSBは「1」であり、アクティブ状態とされたCAR
RY信号はリード線321へ出力される。
ッファメモリ50は、次のデータセグメントを取り出す
ると共に、立ち上がりエッジにおいて、リード線111
上へ出力する。リード線111上のデータセグメントは
CARRY信号に応じてラッチ回路101へ伝送され
て、立ち上がりエッジにおいてラッチ回路101に格納
されたデータセグメントはラッチ回路102へ伝送され
る。
図表形式で示された一例を参照すればより詳しく理解さ
れるであろう。図2に示したように、入力チャネル51
から図1に示された入力バッファメモリ50に入力され
るデータスツリームが「AaBbbCcc cDDdd
dEE EeeeFFFF fffGGGGG ggg
HHHHH hhhIIiii...」とする。ここで、
「Aa」は第1可変長コード内の2つのビットを表し、
「A」は第1可変長コードのプレフィクスコードを、
「a」は第1可変長コードのサブフィックスコードを各
々表し、「Bbb」は第2の可変長コードの3つのビッ
トを表し、「B」と「b」とは第2可変長コードのプレ
フィクスコードとサブフィックスコードを各々表す。
生される前に、16ビットのラッチ回路101及び10
2は2進数「11111111 11111111」に
初期化され、リレイ回路105の出力は、「11111
111」に初期化され、累算ブロック300はCARR
Y信号及びREAD信号が「1」になるように初期化さ
れる。より詳しくは、第1クロックパルスの立ち下がり
エッジにおいてリード線211上の第1ルックアップ表
201の初期化された出力は「8」であるため、第2バ
レルシフタ104の初期シフトは「8」となる。ラッチ
回路330は2進数「10000」に初期化されるた
め、READ信号は「1」であり、累算されたコード長
さは8である。ラッチ回路330でラッチされたコード
長さが「16」であるため、新たに累算されたコード長
さを表すリード線319上のウィンドウ制御信号は「1
6」であり、新たに累算されたコード長さはリード線3
18以前に累算されたコード長さとして供給される。
おいて、リード線211上の第1ルックアップ表201
の出力と初期値「8」及びリード線318上の際に以前
に累算されたコード長さ「16」は加算器310にて加
算され、「8」と「16」との和はリード線315を介
してラッチ回路320に入力される。続けて、ウィンド
ウ制御信号はラッチ回路302にラッチされた初期のコ
ード長さ「8」をラッチ回路330からの予め累算され
たコード長さ「16」に加えることによって「24」と
なる。この場合、累算された「16」を法とするコード
長、即ち、「8」がラッチ回路320から取り出された
コード長さから「16」を引き算することによって得ら
れる、リード線318上に累算されたコード長として供
給される。READ信号が「1」であるため、「AaB
bbCcc cDDdddEE」の16ビットからなる
第1データセグメントが入力バッファメモリ50からリ
ード線線111上へ出力される。一方、ラッチ回路10
1及び102と、バレルシフタ103及び104との出
力は、図3に「11111111 11111111」
及び「11111111」に示された初期値を有し、第
2ルックアップ表202の出力は、図3に「X」で示さ
れた雑音値となる。
際に、前のCARRY信号が「1」であったため、リー
ド線111上のデータセグメント「AaBbbCcc
cDDdddEE」がラッチ回路101にラッチされ
る。加算器310の出力はリード線211上の以前に復
号化されたコード長に、MUX340からリード線31
8上の以前に累算された「16」を法とするコード長
「8」を加算することによって「16」となる。加算器
310の出力(即ち、「16」)はラッチ回路330で
ラッチされると共に、リード線319上にウィンドウ制
御信号として供給される。従って、READ信号及びC
ARRY信号は「1」を維持し、第1バレルシフタ10
3は入力された48ビットのデータセグメント、即ち、
「11111111 11111111 AaBbbC
cc cDDdddEE AaBbbCcc cDDd
ddEE」内の17番目から24番目のビットのシーケ
ンス、即ち、「AaBbbCcc」をリード線線117
を通じて第2バレルシフタ104へ出力する。リレイ回
路105からの出力シーケンスは初期値を有し、第1ル
ックアップ表201のコード長さ出力は「8」を維持す
るため、第2バレルシフタ104はその2つの入力デー
タセグメント、即ち、「11111111 AaBbb
Ccc」内の9番目から16番目のビットのシーケン
ス、即ち、「AaBbbCcc」をリード線119を通
じてリレイ回路105へ出力すると共に、「11111
111 AaBbbCcc」内の6番目から8番目のビ
ット、即ち、「111」をコード値としてリード線12
1を通じて第2ルックアップ表202へ出力する。ラッ
チ回路102はその初期値を維持し、第2ルックアップ
表202からの復号化された語はノイズ値を維持する。
ときに、READ信号は「1」に維持され、「Eeee
FFFF fffGGGGG」の次のデータセグメント
が入力バッファメモリ50からリード線111上へ出力
する。加算器310の出力はリード線211上の以前に
復号化されたコード長「8」に、MUX340からリー
ド線318上の以前に累算されたコード長「16」を加
算することによって、「24」となる。加算器310の
出力(即ち、「24」)はラッチ回路320でラッチさ
れると共に、リード線319上にウィンドウ制御信号と
して出力される。従って、CARRY信号は「1」を維
持し、第1バレルシフタ103は「11111111
11111111 AaBbbCcc cDDdddE
E EeeeFFFF fffGGGGG」のデータセ
グメントから「cDDdddEE」のシーケンスを第2
バレルシフタ104へ出力される。第3クロックパルス
の立ち下がりエッジの際にリレイ回路105によりラッ
チされた「AaBbbCcc」のシーケンスは、復号化
出力シーケンスとしてリード線127を通じて第1ルッ
クアップ表201及び第2バレルシフタ104へ供給さ
れる。第1ルックアップ表201は「AaBbbCc
c」の復号化出力シーケンス内の第1の一つのビット、
即ち、「A」を認識すると共に、認識されたプレフィク
スコードエントリーに対応する復号化されたコード長、
例えば、「2」をリード線211上に出力する。その
後、リード線211上の復号化されたコード長「2」
は、第2ルックアップ表202及び第2バレルシフタ1
04に供給され、前記第2バレルシフタ104は「Aa
BbbCcc cDDdddEE」の入力データセグメ
ント内の3番目から10番目のビットのシーケンス、即
ち、「BbbCcccD」をリード線119を通じてリ
レイ回路105へ出力すると共に、「1Aa」の3ビッ
トシーケンスをコード値としてリード線121を通じて
第2ルックアップ表202へ出力する。第2ルックアッ
プ表202は復号化されたコード長「2」とコード値
「1Aa」とを認識して、認識されたコード長及びサブ
フィックスコードエントリーに対応する固定長の復号化
された語、例えば、「A’」をリード線213上へ出力
する。
ときに、前のCARRY信号が「1」であるため、リー
ド線111上のデータセグメント「EeeeFFFF
fffGGGGG」はラッチ回路101によりラッチさ
れ、ラッチ回路101に格納されていた「AaBbbC
cc cDDdddEE」のデータセグメントはラッチ
回路102によりラッチされる。加算器310の出力は
以前に復号化されたコード長「2」に以前に累算された
「16」を法とするコード長「8」を加えることによっ
て「10」となる。加算器310の出力(即ち、「1
0」はラッチ回路330によりラッチされると共に、リ
ード線319上にウィンドウ制御信号として供給され
る。従って、READ信号及びCARRY信号が「0」
であり、第1バレルシフタ103は「AaBbbCcc
cDDdddEE EeeeFFFF fffGGG
GG EeeeFFFF fffGGGGG」のデータ
セグメントから「DdddEEEe」のシーケンスを第
2バレルシフタ104へ出力する。第4クロックパルス
の立ち上がりエッジのときに、リレイ回路105により
ラッチされた「BbbCcccD」の出力シーケンスは
第1ルックアップ表201及び第2バレルシフタ104
へ供給される。第1ルックアップ表201は「BbbC
cccD」の復号化出力シーケンス内の第1のビット、
「B」を認識して、認識されたプレフィクスコードエン
トリーに対応する復号化されたコード長、例えば、
「3」をリード線211上へ出力する。その後、リード
線211上の復号化されたコード長「3」は第2ルック
アップ表202及び第2バレルシフタ104に供給さ
れ、第2バレルシフタ104は「BbbCcccD D
dddEEEe」内の「CcccDDdd」のシーケン
スをリレイ回路105へ出力すると共に、「Bbb」の
3ビットシーケンスをコード値として第2ルックアップ
表202へ出力する。第2ルックアップ表202は復号
化されたコード長「3」とコード値「Bbb」とを認識
して、認識されたコード長とサブフィックスコードエン
トリーとに対応する固定長の復号化された語、例えば、
「B’」をリード線213上へ出力する。
際に、READ信号は「1」に維持され、リード線11
1上のデータセグメントは変化されない。加算器310
の出力(即ち、「13」は以前に復号化されたコード長
さ「3」に以前に累算されたコード長さ「10」」を加
えることによって、「13」となる。加算器310の出
力(即ち、「13」はラッチ回路320によりラッチさ
れ、リード線319上にウィンドウ制御信号として供給
される。従って、CARRY信号は「0」を維持し、第
1バレルシフタ103は「AaBbbCcc cDDd
ddEE EeeeFFFF fffGGGGG gg
gHHHHH hhhIIiii」で「dEEEeee
F」のシーケンスを第2バレルシフタ104へ出力す
る。第5クロックパルスの立ち下がりエッジのときに、
リレイ回路105によりラッチされた「CcccDDd
d」の出力シーケンスは第1ルックアップ表201及び
第2バレルシフタ104へ供給される。第1ルックアッ
プ表201は「CcccDDdd」の復号化出力シーケ
ンス内の第1のビット、即ち、「C」を認識して、認識
されたプレフィクスコードエントリーに対応する復号化
されたコード長、例えば、「4」をリード線211上へ
出力する。その後、リード線211上の復号化されたコ
ード長「4」は第2ルックアップ表202及び第2バレ
ルシフタ104に供給され、第2バレルシフタ104は
「CcccDDdd dEEEeeeF」で「DDdd
dEEE」の8ビットシーケンスをリレイ回路105へ
出力すると共に、「ccc」の3ビットシーケンスをコ
ード値として第2ルックアップ表202へ出力する。第
2ルックアップ表202は復号化されたコード長「4」
とコード値「ccc」とを認識して、認識されたコード
長とサブフィックスコードエントリーとに対応する固定
長の復号化された語、例えば、「C’」をリード線21
3上へ出力する。
ときに、前のCARRY信号が「0」であるため、第1
バレルシフタ103の3つの入力データセグメントは変
わらない。加算器310の出力は以前に復号化されたコ
ード長「4」に以前に累算された「16」を法とするコ
ード長「13」を加えることによって、「17」とな
る。加算器310の出力(即ち、「17」はラッチ回路
330によりラッチされ、リード線319上にウィンド
ウ制御信号として供給される。従って、READ信号及
びCARRY信号は「1」となり、第1バレルシフタ1
03は「AaBbbCcc cDDdddEE Eee
eFFFF fffGGGGG gggHHHHH h
hhIIiii」で「eeeFFFFf」のシーケンス
を第2バレルシフタ104へ出力する。第6クロックパ
ルスの立ち上がりエッジのときに、リレイ回路105に
よりラッチされた「DDdddEEE」の出力シーケン
スは第1ルックアップ表201及び第2バレルシフタ1
04へ供給される。第1ルックアップ表201は「DD
dddEEE」の復号化出力シーケンス内の第1の2つ
のビット、即ち、「DD」を認識して、認識されたプレ
フィクスコードエントリーに対応する復号化されたコー
ドさ、例えば、「5」をリード線211上へ出力する。
その後、リード線211上の復号化されたコード長
「5」は第2ルックアップ表202及び第2バレルシフ
タ104に供給され、第2バレルシフタ104は「DD
dddEEE eeeFFFFF」で「EEEeeeF
F」のシーケンスをリレイ回路105へ出力すると共
に、「ddd」の3ビットのシーケンスをコード値とし
て第2ルックアップ表202へ出力する。第2ルックア
ップ表202は復号化されたコード長「5」とコード値
「ddd」とを認識して、認識されたコード長とサブフ
ィックスコードエントリーとに対応する固定長の復号化
された語、例えば、「D’」をリード線213上へ出力
する。
とき、前の信号は「0」であるため次のデータセグメン
ト「ggggHHHHH hhhIIiii」は入力バ
ッファメモリ50からリード線111上に出力される。
加算器310の出力は、以前に復号化されたコード長
「5」に以前に累算されたコード長「17」を加えるこ
とによって、「22」となる。加算器310の出力(即
ち、「22」はラッチ回路320によりラッチされたリ
ード線319上にウィンドウ制御信号として供給され
る。従って、CARRY信号は「1」を維持し、第1バ
レルシフタ103は「AaBbbCcc cDDddd
EE EeeeFFFF fffGGGGGgggHH
HHH hhhIIiii」で「FFfffGGG」の
シーケンスを第2バレルシフタ104へ出力する。第7
クロックパルスの立ち下がりエッジのときにリレイ回路
105によりラッチされた「EEEeeeFF」の出力
シーケンスは第1ルックアップ表201及び第2バレル
シフタ104へ供給される。第1ルックアップ表201
は「EEEeeeFF」の復号化出力シーケンス内の第
1の3つのビット、即ち、「EEE」を認識して、認識
されたプレフィクスコードエントリーに対応する復号化
されたコード長、例えば、「6」をリード線211上へ
出力する。その後、リード線211上の復号化されたコ
ード長「6」は第2ルックアップ表202及び第2バレ
ルシフタ104に供給され、第2バレルシフタ104は
「EEEeeeFF FFfffGGG」で「FFFF
fffG」の8ビットのシーケンスをリレイ回路105
へ出力すると共に「eee」の3ビットのシーケンスを
コード値として第2ルックアップ表202へ出力する。
第2ルックアップ表202は復号化されたコード長
「6」とコード値「eee」とを認識して、認識された
コード長とサブフィックスコードエントリーとに対応す
る固定長の復号化された語、例えば、「E′」をリード
線213へ出力する。リード線318上において、
「6」はウィンドウ制御信号「22」から「16」を引
き算することによって得られた以前に累算された「1
6」を法とするコード長として伝達される。
際に、前のCARRY信号が「1」であるため、リード
線111上のデータセグメント「gggHHHHH h
hhIIiii」がラッチ回路101によりラッチさ
れ、ラッチ回路101に格納されていたデータセグメン
ト「EeeeFFFF fffGGGGG」はラッチ回
路102によりラッチされる。加算器310の出力は以
前に復号化されたコード長さ「6」に以前に累算された
「16」を法とするコード長「6」を加えることによっ
て「12」となる。加算器310の出力(即ち、「1
2」)はラッチ回路330によりラッチされ、リード線
319上にウィンドウ制御信号として供給される。従っ
て、READ信号またはCARRY信号は「0」とな
り、第1バレルシフタ103は「EeeeFFFF f
ffGGGGG gggHHHHH hhhIIiii
gggHHHHH hhhIIiii」で「GGGG
gggH」のシーケンスを第2バレルシフタ104へ出
力する。第8クロックパルスの立ち上がりのとき、リレ
イ回路105にラッチされた「FFFFfffG」の出
力シーケンスは第1ルックアップ表201及び第2バレ
ルシフタ104へ供給される。第1ルックアップ表20
1は「FFFFfffG」の復号化出力シーケンス内の
第1の4つのビット、即ち、「FFFF」を認識して、
認識されたプレフィクスコードエントリーに対応する復
号化されたコード長、例えば、「7」をリード線211
上へ出力する。その後、リード線211上の復号化され
たコード長「7」は第2ルックアップ表202及び第2
バレルシフタ104に供給され、第2バレルシフタ10
4は「FFFFfffG GGGGgggH」で「GG
GGGggg」のシーケンスをリレイ回路105へ出力
すると共に、「fff」の3ビットシーケンスをコード
値として第2ルックアップ表202へ出力する。第2ル
ックアップ表202は復号化されたコード長「7」とコ
ード値「fff」とを認識して、認識されたコード長さ
とサブフィックスコードエントリーに対応する固定長の
復号化されたコード、例えば、「F’」をリード線21
3上へ出力する。
いて説明したが、本明細書に記載した特許請求の範囲を
逸脱することなく、当業者は種々の変更を加え得ること
は勿論である。また、本発明の復号化方法は、電子計算
機を用いるプログラムによっても実行できるものであ
る。
イクルごとに2つのコードを復号化し得るため、高速復
号化動作を効果的に行うことができる加算器310、2
つのラッチ回路320及び330、MUX340を有す
る累算ブロック300を用いることによって、複雑な構
造を単純化することができる。
の入力ビットスツリームを示す図。
の例示図。
Claims (14)
- 【請求項1】 最長可変長コードの2倍の長さを有す
る固定長セグメントからなる入力ビットスツリームを、
立ち上がりエッジ及び立ち下がりエッジを有するクロッ
クパルスからなるクロック信号に基づいて、1/2クロ
ック周期にて復号化するための高速可変長コード復号化
装置であって、 前記入力ビットスツリームからビットの連続した固定長
セグメントを格納するカスケード接続された第1および
第2ビット格納手段と、 前記第1および第2ビット格納手段に接続され、前記第
1及び第2格納手段から受け取られたビットを格納し、
格納された連続する固定長セグメントのビットから第1
ウィンドウ出力シーケンスを生成する出力ウィンドウを
有するシフト手段であって、前記ウィンドウ出力シーケ
ンスは前記最長可変長コードと同一のビット長さを有
し、ウィンドウ制御信号に直接応じて、毎半クロックサ
イクル間に前記格納されたビットのうちの所定ビットに
亘って前記ウィンドウをシフトさせるシフト手段と、 前記ウィンドウ出力シーケンスを1半クロックサイクル
の間にラッチし、ラッチされたウィンドウ出力シーケン
スを復号化出力シーケンスとして生成するリレイ手段
と、 前記リレイ手段に接続されており、前記復号化出力シー
ケンスの第1ビット位置から始まる可変長コードの上位
Pビット(前記Pの最大値は、最長可変長コードより小
さい整数)からなるプレフィクスコードに応じてコード
長さを生成する第1メモリ手段と、 前記第1メモリ手段及び前記シフト手段に接続されてお
り、前記コード長さ及びウィンドウ出力シーケンスに応
じて、固定長の語を発生する第2メモリ手段と、 前記コード長さに前のクロックサイクル間に復号化され
た以前に累算された可変長コードの長さを各半クロック
サイクルの間に加算して、ウィンドウ制御信号を生成
し、前記ウィンドウ制御信号におけるビット数だけ前記
ウィンドウをシフトさせると共に、前記累算されたコー
ド長さが前記第1シフト格納手段内の全てのビットが復
号化されたことを表す場合、前記入力ビットスツリーム
内の次の固定長セグメントを前記第2ビット格納手段に
伝達するように制御する読取り信号を発生させて、前記
第2ビット格納手段内のビットのシーケンスを前記第1
ビット格納手段へ伝達するように制御する桁上げ信号を
発生する累算手段とを有することを特徴とする可変長コ
ード復号化装置。 - 【請求項2】 前記第2ビット格納手段内のビットシ
ーケンスの前記第1ビット格納手段への伝達と前記入力
ビットスツリーム内の前記次の固定長セグメントの読取
りがクロックパルスの相異なるエッジにて行われること
を特徴とする請求項1に記載の高速可変長コード復号化
装置。 - 【請求項3】 前記累算手段が、 前記第1メモリ手段から供給された前記コード長さを前
記以前に累算されたコード長さに加算する加算手段と、 第1及び第2ラッチ回路を備え、半クロックサイクルの
単位にて交互に前記加算手段の出力をラッチする手段で
あって、前記第2ラッチ回路は前記ラッチされたコード
長さの最上位ビットの論理値を検出すると共に、前記読
取り信号として出力する、前記ラッチ手段と、 前記半クロックサイクルの単位にて前記ラッチ手段から
供給された前記ラッチされたコード長さに基づいて、前
記ウィンドウ制御信号を生成して前記ウィンドウをシフ
トさせると共に、前記ウィンドウ制御信号の最上位ビッ
トを前記格納手段に前記桁上げ信号として供給し、前記
ラッチされた符号長さが前記可変長コードの最長より2
倍大きい場合、前記第1ラッチ回路から供給されたラッ
チされたコード長さから前記可変長コードの最長の2倍
を引き算して、前記引き算されたコード長さと前記第2
ラッチ回路からのラッチされたコード長さとを交互に前
記加算手段に前記以前に累算されたコード長さとして供
給するマルチプレクス手段とを有することを特徴とする
請求項2に記載の高速可変長コード復号化装置。 - 【請求項4】 前記入力ビットスツリーム内の前記次
の固定長セグメントの読取りが、直前の半クロックサイ
クルの際に前記第2ラッチ回路から生成された前記読取
り信号に応じて行われることを特徴とする請求項3に記
載の高速可変長コード復号化装置。 - 【請求項5】 前記第1メモリ手段がプレフィクスコ
ードテーブルと復号化された語長さテーブルとを備えて
おり、前記可変長コードのプレフィクスコードが前記プ
レフィクスコードテーブル内のエントリーとして表現さ
れ、前記復号化された語長さテーブルが前記プレフィク
スコードに対応するコード長を出力することを特徴とす
る請求項4に記載の高速可変長コード復号化装置。 - 【請求項6】 前記第2メモリ手段がサブフィクスコ
ードテーブル、コード長さテーブル及び復号化された語
テーブルを備えており、各々の可変長コードに対する前
記コード長さはコード長テーブル内のエントリーとして
表れて、前記各々の可変長コードに対するサブフィクス
コードがサブフィクスコードテーブル内のエントリーと
して表れて、前記復号化された語テーブルが前記サブフ
ィクスコードと前記コード長に対応する固定長語を出力
することを特徴とする請求項5に記載の高速可変長コー
ド復号化装置。 - 【請求項7】 最長可変長コードの2倍の長さを有す
る固定長セグメントからなる入力ビットスツリームを、
立ち上がりエッジ及び立ち下がりエッジとを有するクロ
ックパルスからなるクロック信号に基づいて、1/2ク
ロック周期にて復号化するための可変長コード復号化装
置であって、 前記入力ビットスツリームを格納すると共に、固定長セ
グメント単位で逐次出力するバッファ手段と、 前記バッファ手段から取出された固定長セグメントを、
セグメント単位で順次的に格納するカスケード接続され
た第1及び第2ビット格納手段と、 前記第1および第2ビット格納手段に結合され、前記第
1及び第2格納手段から取出されたビットを格納すると
共に、格納された連続する固定長セグメントのビットか
ら第1ウィンドウ出力シーケンスを生成する第1出力ウ
ィンドウを有する第1シフト手段であって、前記第1ウ
ィンドウ出力シーケンスは可変長コードの最長と同一の
ビット長を有し、ウィンドウ制御信号に直接応じて、前
記第1シフト手段に格納されたビットだけ前記第1出力
ウィンドウをシフトさせる第1シフト手段と、 前記第1シフト手段に接続されて、前記第1ウィンドウ
出力シーケンス内に含まれたビットと供給された前の符
号化出力シーケンスのビットとを格納すると共に、格納
されたビットから第2ウィンドウ出力シーケンスを生成
する第2出力ウィンドウを有して、前記第2ウィンドウ
出力シーケンス内の1番目ビットから上位M個のビット
を符号値として発生する第2シフト手段であって、前記
第2ウィンドウ出力シーケンスは可変長コードの最長と
同一のビット長さを有し、前記第2出力ウィンドウはコ
ード長さに直接応答してシフトされ、Mは、前記可変長
コードの最長より小さい整数である、前記第2シフト手
段と、 前記第2ウィンドウ出力シーケンスを半クロックサイク
ルの間ラッチし、ラッチされた第2ウィンドウ出力シー
ケンスを復号化出力シーケンスとして生成すると共に、
生成された復号化出力シーケンスを前記第2シフト手段
に以前の復号化出力シーケンスとして供給するリレイ手
段と、 前記リレイ手段に結合されており、前記復号化出力シー
ケンスの第1ビット位置から始まる可変長コードの上位
P個のビット(前記Pの最大値は、可変長コードの最長
より小さい整数)からなるプレフィクスコードに応じて
コード長を生成すると共に、前記第2シフト手段に供給
する第1メモリ手段と、 前記第1メモリ手段と前記第2シフト手段に接続されて
おり、前記コード長さと前記コード値に応じて固定長語
を生成する第2メモリ手段と、 以前に累算されたコード長と前記コード長とを加えて、
加算された累算されたコード長を表すウィンドウ制御信
号を生成し、前記累算されたコード長が前記可変長コー
ドの最長の2倍より大きい場合、前記バッファ手段に格
納された次の固定長セグメントを読出して、前記第2ビ
ット格納手段に伝達するように前記バッファ手段を制御
する読取り信号を出力して、前記第2ビット格納手段に
以前に格納された固定長セグメントを前記第1ビット格
納手段へ伝送するようにする桁上げ信号を発生する累算
手段とを有することを特徴とする高速可変長コード復号
化装置。 - 【請求項8】 前記第2ビット格納手段内に以前に格
納された前記固定長のセグメントの前記第1格納手段へ
の伝達及び前記バッファ手段内に格納された次の固定長
セグメントの読取りがクロックパルスの互いに相異なる
でエッジ行われることを特徴とする請求項7に記載の高
速可変長コード復号化装置。 - 【請求項9】 前記累算手段が、 前記第1メモリ手段から供給された前記コード長を前記
以前に累算されたコード長に加算する加算手段と、 第1及び第2ラッチ回路を備え、1/2クロック周期の
単位にて交互に前記加算手段の出力をラッチする手段で
あって、前記第2ラッチ回路は前記ラッチされたコード
長さの最上位ビットの論理値を検出すると共に、前記読
取り信号として出力する、前記ラッチ手段と、 前記半クロックサイクルの単位にて前記ラッチ手段から
供給された前記ラッチされたコード長さに基づいて、前
記ウィンドウ制御信号を生成して前記ウィンドウをシフ
トさせると共に、前記ウィンドウ制御信号の最上位ビッ
トを前記格納手段に前記桁上げ信号として供給し、前記
ラッチされた符号長が前記可変長コードの最大長の2倍
より大きい場合、前記第1ラッチ回路から供給されたラ
ッチされたコード長さから前記可変長コードの最大長の
2倍を引き算して、前記引き算されたコード長さと前記
第2ラッチ回路からのラッチされたコード長さとを交互
に前記加算手段に前記以前に累算されたコード長として
供給するマルチプレクス手段とを含むことを特徴とする
請求項8に記載の高速可変長コード復号化装置。 - 【請求項10】 前記バッファ手段内の前記次の固定
長セグメントの読取りが直前の半クロックサイクルの際
に前記第2ラッチ回路から生成された前記読取り信号に
応じて行われることを特徴とする請求項9に記載の高速
可変長コード復号化装置。 - 【請求項11】 前記第1メモリ手段がプレフィクス
コードテーブルと復号化された語長テーブルとを備えて
おり、前記可変長コードのプレフィクスコードが前記プ
レフィクスコードテーブル内のエントリーとして表現さ
れ、前記復号化された語長テーブルが前記プレフィクス
コードに対応するコード長さを出力することを特徴とす
る請求項10に記載の可変長コード復号化装置。 - 【請求項12】 前記第2メモリ手段がサブフィクス
コードテーブル、コード長テーブル及び復号化された語
テーブルを備えており、各々の可変長コードに対する前
記コード長さはコード長テーブル内のエントリーとして
表れて、前記各々の可変長コードに対するサブフィクス
コードがサブフィクスコードテーブル内のエントリーと
して表されて、前記復号化された語テーブルが前記サブ
フィクスコードと前記コード長さに対応する固定長語を
出力することを特徴とする請求項11に記載の可変長コ
ード復号化装置。 - 【請求項13】 最長可変長コードの2倍の長さを有
する固定長セグメントからなる入力ビットスツリーム
を、立ち上がりエッジ及び立ち下がりエッジとを有する
クロックパルスからなるクロック信号に基づいて、1/
2半クロック周期にて復号化する高速可変長コード復号
化方法であって、 前記入力ビットスツリームの連続する第1及び第2固定
長セグメントを格納する第1過程と、 前記格納された第1及び第2固定長セグメントから各々
半クロックサイクル間に前記可変長コードの最長と同一
のビット長さを有する入力ビットのシーケンスの復号化
ウィンドウを形成する第2過程と、 前記復号化ウィンドウ内の初期ビットと、全ての可能な
可変長コードとを比較することによって、一つの整合可
変長コードを決定する第3過程と、 各々の半クロックサイクル間に、前記整合された可変長
コードのビット長を表すコード長を生成する第4過程
と、 各々の半クロックサイクル間に、前記整合された可変長
コードに対応する固定長語を生成する第5過程と、 各々の半クロックサイクル間に、前記生成された符号長
さと以前に累算されたコード長とを合算する第6過程
と、 各々の半クロックサイクル間に、前記整合された可変長
コードのビット数だけ前記復号化ウィンドウを直接シフ
トさせる第7過程と、 前記累算されたコード長が前記第1固定長セグメント内
の全てのビットが復号化されたことを表す場合、前記入
力ビットスツリームの次の固定長セグメントを読出す第
8過程と、 前記累算されたコード長が前記第1固定長セグメント内
の全てのビットが復号化されたことを表す場合、入力ビ
ットの第2固定長セグメントの代わりに前記第8過程で
読出された入力ビットスツリームの次の固定長セグメン
トを格納する間に、入力ビットの第1固定長セグメント
の代わりに第2固定長セグメントを格納する第9過程
と、 前記累算されたコード長が可変長コードの最大長の2倍
を超過する場合、前記累算されたコード長から前記可変
長コードの最大長の2倍を引き算する第10過程と、 前記入力ビットスツリーム内の全ての可変長コードが復
号されるまで、前記第1過程から第10過程を繰り返す
第11過程とを有することを特徴とする高速可変長コー
ド復号化方法。 - 【請求項14】 前記第8過程と前記第9過程が、各
々クロックパルスの相異なるエッジにて行われることを
特徴とする請求項13に記載の高速可変長コード復号化
方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR95/28089 | 1995-08-31 | ||
KR1019950028089A KR100207385B1 (ko) | 1995-08-31 | 1995-08-31 | 가변 길이 복호화 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09130266A true JPH09130266A (ja) | 1997-05-16 |
JP3853439B2 JP3853439B2 (ja) | 2006-12-06 |
Family
ID=19425506
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25098796A Expired - Fee Related JP3853439B2 (ja) | 1995-08-31 | 1996-09-02 | 高速可変長コード復号化装置及び高速可変長コード復号化方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US5736946A (ja) |
JP (1) | JP3853439B2 (ja) |
KR (1) | KR100207385B1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157157A (ja) * | 2004-11-25 | 2006-06-15 | Canon Inc | 可変長符号復号化装置及び可変長符号復号化方法 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
US6272257B1 (en) * | 1997-04-30 | 2001-08-07 | Canon Kabushiki Kaisha | Decoder of variable length codes |
US6934338B1 (en) | 1998-05-18 | 2005-08-23 | Sony Corporation | Variable length decoder for decoding digitally encoded video signals |
US6704361B2 (en) * | 1998-05-18 | 2004-03-09 | Sony Corporation | Variable length decoder for decoding digitally encoded video signals |
AU754877B2 (en) * | 1998-12-28 | 2002-11-28 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Method and devices for coding or decoding an audio signal or bit stream |
US20010030615A1 (en) * | 2000-03-03 | 2001-10-18 | Minhua Zhou | Variable length decoding system and method |
US6714612B1 (en) * | 2000-06-08 | 2004-03-30 | Sun Microsystems, Inc. | Method and device for synchronization of phase mismatch in communication systems employing a common clock period |
DE10249495B3 (de) * | 2002-10-24 | 2004-05-27 | Daimlerchrysler Ag | Vorrichtung zum Testen von Lautsprechern auf Funktionsfähigkeit |
Family Cites Families (1)
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 |
-
1995
- 1995-08-31 KR KR1019950028089A patent/KR100207385B1/ko active IP Right Grant
-
1996
- 1996-08-30 US US08/706,163 patent/US5736946A/en not_active Expired - Lifetime
- 1996-09-02 JP JP25098796A patent/JP3853439B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006157157A (ja) * | 2004-11-25 | 2006-06-15 | Canon Inc | 可変長符号復号化装置及び可変長符号復号化方法 |
JP4502384B2 (ja) * | 2004-11-25 | 2010-07-14 | キヤノン株式会社 | 可変長符号復号化装置及び可変長符号復号化方法 |
Also Published As
Publication number | Publication date |
---|---|
KR100207385B1 (ko) | 1999-07-15 |
US5736946A (en) | 1998-04-07 |
KR970014363A (ko) | 1997-03-29 |
JP3853439B2 (ja) | 2006-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5245338A (en) | High-speed variable-length decoder | |
JP3136796B2 (ja) | 可変長符号デコーダ | |
US5696507A (en) | Method and apparatus for decoding variable length code | |
US5561690A (en) | High speed variable length code decoding apparatus | |
US4973961A (en) | Method and apparatus for carry-over control in arithmetic entropy coding | |
US5173695A (en) | High-speed flexible variable-length-code decoder | |
US5703581A (en) | Method and apparatus for data compression and decompression | |
US5901177A (en) | High speed variable length code decoding apparatus and method | |
EP0663730B1 (en) | Apparatus for decoding variable length codes | |
US5677690A (en) | High speed variable length code decoding apparatus | |
JP4098187B2 (ja) | 可変長コード復号化装置及び方法 | |
US5663726A (en) | High speed variable-length decoder arrangement with reduced memory requirements for tag stream buffering | |
US5394144A (en) | Variable length code decoding apparatus | |
JP3032134B2 (ja) | 映像信号のための可変長復号器 | |
JPH09130266A (ja) | 高速可変長コード復号化装置及び高速可変長コード復号化方法 | |
US5648775A (en) | High speed variable length code decoding apparatus | |
US5432512A (en) | Apparatus for decoding variable length codes | |
US5708430A (en) | High speed variable length code decoding apparatus | |
JPH08223055A (ja) | 可変長コードデコーダ | |
JP3389389B2 (ja) | 可変長コード復号化装置 | |
KR0125126B1 (ko) | 고속 가변길이부호 복호화 장치 | |
JP2934603B2 (ja) | 可変長さコードの復号化方法及びその装置 | |
KR100462060B1 (ko) | 유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를위한 룩-업 테이블 구성 방법 | |
JP3332630B2 (ja) | 復号装置及びデコードテーブルの生成方法 | |
KR100304872B1 (ko) | 가변길이코드디코더. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050728 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20050802 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051101 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20051102 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20051114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060519 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060725 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060815 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100915 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110915 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120915 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130915 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |