JP3008685B2 - 可変長符号の復号化回路 - Google Patents

可変長符号の復号化回路

Info

Publication number
JP3008685B2
JP3008685B2 JP4206345A JP20634592A JP3008685B2 JP 3008685 B2 JP3008685 B2 JP 3008685B2 JP 4206345 A JP4206345 A JP 4206345A JP 20634592 A JP20634592 A JP 20634592A JP 3008685 B2 JP3008685 B2 JP 3008685B2
Authority
JP
Japan
Prior art keywords
decoding
address
bits
decoding table
register
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP4206345A
Other languages
English (en)
Other versions
JPH0651943A (ja
Inventor
康 大井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP4206345A priority Critical patent/JP3008685B2/ja
Priority to US08/101,357 priority patent/US5398027A/en
Priority to EP93112422A priority patent/EP0582273B1/en
Priority to DE69327021T priority patent/DE69327021T2/de
Publication of JPH0651943A publication Critical patent/JPH0651943A/ja
Application granted granted Critical
Publication of JP3008685B2 publication Critical patent/JP3008685B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はビット単位に長さが変化
する符号の復号化回路に関し、特に複数ビットを一括し
て処理可能な復号化回路、さらには処理可能なビット数
を可変指定できる復号化回路に関する。
【0002】
【従来の技術】一般に、発生頻度に片寄りのある時系列
信号を復号化する場合、発生頻度の高い信号に短い符号
を与え、発生頻度の低い信号に長い符号を与えるという
不等長符号を用いることにより、圧縮符号化を実現でき
ることが知られている。このような符号化をエントロピ
ー符号化と読んでいる。尚、ハフマン符号は、エントロ
ピー符号の一種である。かかるエントロピー符号化は、
音声信号や画像信号の符号化など多岐に渡って応用され
ている。
【0003】従来、この種の復号化回路の実現方式は、
大きく2つに分類される。第一の方式は可変長符号を1
ビットずつシリアルに受理し、二進ツリーによる場合分
けを行ないながら復号化する方式である。第二の方式は
符号と符号長とを並列に解読しながら可変長符号を一度
に処理する方式である。以下、これら第1および第2の
方式を図面を参照して説明する。
【0004】図14(a),(b)はそれぞれ従来の第
一の復号化回路方式を詳細に説明するための可変長符号
テーブルを表わす図および二進ツリーによる状態遷移図
である。図14(a)に示すように、この可変長符号テ
ーブルは発生頻度の工程に従って符号長を与えるという
不等長符号が定義されている。左の欄は符号の定義であ
り、右の欄は符号の意味(ここでは正の整数)を表わ
す。また図14(b)に示すように、二進ツリーによる
状態遷移はこのような符号を左側から順に1ビットずつ
たどることにより、解読をすすめる手順を与えている。
すなわち、図14(b)における丸印は、解読手順での
初期状態および中間状態を示している。解読開始ととも
に、最左側の丸印からスタートし、解読における最初の
ビットが0ならば0の枝(矢印)をたどり、1ならば1
の枝をたどる。このような遷移をビット毎に繰り返し、
数字にたどりつけば、解読終了となる。
【0005】図15は従来の可変長復号テーブルを表わ
す図である。図15に示すように、この復号テーブルは
図14(b)に示した二進ツリー遷移図をテーブルとし
て実現する場合の例を示している。右の欄は解読が中間
状態/終了状態のいずれかを示すビットであり、(0:
終了、1:未終了)、左の欄は、解読が中間状態の場合
に次のテーブルエントリの番地を、また解読の終了の場
合に解読された符号の意味(ここでは正の整数)を記述
してある。解読はスタートアドレスである100000
番地から始まる。符号の先頭ビットが0なら10000
0番地を、1なら100001番地をおのおの参照す
る。例えば、100001番地であれは、右の欄が1で
あることにより、解読は中間状態にあることが解り、さ
らに左の欄が100100であることにより、次に10
0100番地をアクセスして解読を継続すれば良いこと
が解る。また、100100番地であれば、右の欄が0
であることより解読終了であることがわかり、さらに左
の欄が000001であることより、解読結果は正の整
数1であることがわかる。
【0006】この例でわかるように、符号数kに対して
(この例ではk=13)、中間状態と初期状態の和、即
ち図14(b)における丸印の数はk−1になる。尚、
これはトーナメント試合に例えれば、各符号が出場者、
丸印は試合に対応し、このときの試合数は出場者の数よ
り1少ないものになる。一方、図15では初期状態に相
当するテーブルエントリは存在していないので、エント
リの総数は、2K−2=24エントリになる。すなわ
ち、テーブルの大きさは、高々符号数に比例する程度で
あることがわかる。
【0007】図16(a),(b)はそれぞれ第一の復
号化方式に基づく復号化回路のブロック図および可変長
復号テーブルの構成図である。図16(a)に示すよう
に、この復号化回路は開始アドレスを記憶する開始アド
レスレジスタ101および終了アドレスを記憶する終了
データレジスタ102と、12ビット×2Kワードで構
成される可変長復号テーブル103bと、この可変長復
号テーブル103bから読出したデータを記憶するデー
タレジスタ104と、レジスタ101,104からの各
12ビットを2to1するマルチプレクサ(MPX)1
05と、アドレスレジスタ106およびシフトレジスタ
107と、シフトレジスタ107を制御するシフト制御
回路109bと、各部へタイミング信号を供給する復号
タイミングシーケンサ110とを有する。また、図16
(b)に示すように、この可変長復号テーブル103b
は検索続行の場合の上位アドレス11ビットと検索続行
指定部1ビットとから構成される。この1ビットの指定
部は0が終了を表わし、1が続行を表わしている。尚、
かかる構造は前述した図15に基づくものである。
【0008】図17は図16(a)における各部の動作
タイミング図である。図17に示すように、ここでの動
作のタイミング制御は、復号タイミングシーケンサ11
0で行なわれるものとし、データレジスタ104とシフ
トレジスタ107およびアドレスレジスタ106の動作
を中心に表わしている。
【0009】以下、図16(a),(b)および図17
を参照して説明する。尚、前述した復号タイミングシー
ケンサ110は、具体的には復号の開始,実行,終了に
関連するタイミング信号を生成する回路図である。
【0010】まず、開始アドレスレジスタ101に12
ビットの初期アドレスが設定される。この初期アドレス
はマルチプレクサ105を通過し、その最下位ビットは
解読されるデータのはいったシフトレジスタ107の先
頭ビットで置き換えられた後、アドレスレジスタ106
に設定される。このアドレスレジスタ106の内容は復
号化テーブル103bのアクセスに用いられる。このア
クセス結果は復号化テーブル103bよりデータレジス
タ104に設定されるとともに、シフトレジスタ107
が1ビット左にシフトされる。次に、データレジスタ1
04の内容はマルチプレクサ105を通過し、その最下
位ビットは再び解読されるデータのはいったシフトレジ
スタ107の先頭ビットで置き換えられた後、アドレス
レジスタ106に設定される。このレジスタ106の内
容は、再び復号化テーブル103bのアクセスに用いら
れる。以上のシーケンスが「終了」と判定される、即ち
1つの符号を解読したと認識されるまで繰り返される。
この例では、繰り返しの単位は、前述した図15に示す
ように、基準クロック1周期分である。
【0011】一方、検索が「終了」したかどうかを示す
情報は、復号テーブル103bの最下位ビットに書込ま
れており(図14(b)参照)、これがデータレジスタ
104の最下位ビットとして読み出される。その結果は
マルチプレクサ105を通過し、シフト制御回路109
bおよび復号タイミングシーケンサ110に伝達され
る。しかるに、シフト制御回路109bはシフトレジス
タ107のシフト量を決定する回路であり、終了後のシ
フト動作を防ぐ役割を持つ。検索が終了すると、テーブ
ル検索結果として得られたデータは終了データレジスタ
102に格納される。また、復号テーブル103bのビ
ット幅はこの終了データの幅と、テーブル自身のアドレ
スとして必要なアドレス長とで決定され、しかもテーブ
ルの深さは先に述べたように解読される符号の数に比例
した値となる。
【0012】このような第一の復号化方式は、1クロッ
ク1ビットの処理を行なうことで回路を比較的簡単にで
きることであるが、1クロックに2ビット以上の処理性
能を実現することはできない。
【0013】図18は従来の第二の復号化回路方式に基
づく復号化回路のブロック図である。図18に示すよう
に、この回路はいわゆるシフト比較型復号化回路と呼ば
れるものである。この復号化回路はデータレジスタ10
2と、シフトレジスタ107と、シフト制御回路109
と、復号タイミングシーケンサ110と、可変長復号テ
ーブル126と、符号長テーブル127とを有してい
る。特に、可変長復号テーブル126は10ビット×1
28ワードで構成され、符号長テーブル127は3ビッ
ト×128ワードで構成されている。
【0014】まず、かかる復号化回路も前述した第一の
復号化回路と同様、復号タイミングシーケンサ110は
復号の開始,実行,終了に関連するタイミング信号を生
成する。復号化開始と同時に、シフトレジスタ107の
複数ビットが、可変長復号テーブル126と符号長テー
ブル127の両方に入力される。尚、これら2つのテー
ブルは合成されて1つになっていてもよい。復号テーブ
ル126は、入力系列に含まれる符号を認識し、対応す
るデータをデータレジスタ102に出力する。また、符
号長テーブル127は、入力系列に含まれる符号の長
さ、つまり、シフトレジスタ107の次回のシフト量を
シフト制御回路109に出力する。このため、次のクロ
ックでは、符号長に等しいビット数のシフトがシフトレ
ジスタ107において実行される。
【0015】一方、復号テーブル126のビット幅はデ
ータ幅で決定され、また符号長テーブル127のビット
幅は最大符号長を二進数で記述する時に必要なビット数
で決まる。これら両テーブルの深さは最大符号長をiと
すると、2のi乗となる。通常、不等長符号では、符号
数kは2のi乗に比べてかなり(1桁以上)小さな値に
なることが多いため、このテーブルは非常に冗長なもの
となる。
【0016】このように、第二の復号化方式は、1クロ
ック1符号の処理を行なうことで回路を高速化できる
が、テーブルサイズが最大符号長の指数関数に比例する
ので、メモリコストの増大が著しいものとなる。
【0017】図19は従来の可変長符号を定義した図で
ある。図19に示すように、かかる可変長符号は3つの
データフィールドから成っている。すなわち、フィール
ド1が行番号、フィールド2が符号化されるデータ、フ
ィールド3が符号化された結果の可変長符号をそれぞれ
表わしている。ここでは、フィールド3から解かるとお
り、114個のデータが長さ2ビットから16ビットま
での可変長符号で符号化されている。以下、これを再び
前述した第一の復号化方式に基づく復号化回路について
説明する。
【0018】図20は従来の第一の復号化方式の他の例
を示す復号化回路のブロック図である。図20に示すよ
うに、この復号化回路は復号表メモリ112と、復号制
御シーケンサ113と、復号結果データレジスタ114
と、シフトレジスタ116と、復号開始アドレスレジス
タ119と、復号表メモリアドレスレジスタ120と、
2to1マルチプレクサ128とを有している。また、
復号表メモリ112は17ビット×4Kワードで構成さ
れている。
【0019】図21は、図20における復号を実行する
際の復号表の例を示す図である。図21に示すように、
この復号表の右の欄は復号が中間状態/終了状態のいず
れかを示すビットである(0:終了、1:未終了)。ま
た、左の欄は復号が中間状態の場合に次のテーブルエン
トリの番地を表わし、復号終了の場合に復号された符号
に対応するデータ(ここでは正の整数)を記述してあ
る。かかる復号はスタートアドレスである100000
番地から始まり、符号の先頭ビットが0なら10000
0番地を、1なら100001番地を各々参照する。例
えば、100001番地であれば、右の欄が1であるの
で、復号は中間状態であることが解り、さらに左の欄が
100100であるので、次に100100番地をアク
セスして復号を継続すれば良いことが解る。また、10
0100番地であれば、右の欄が0であることより復号
終了であることが解り、さらに左の欄が000001で
あることにより、復号結果は正の整数1であることが解
る。
【0020】次に、かかる復号回路の動作を図20に戻
って説明する。なお、以下に述べる動作のタイミング制
御は、復号タイミングシーケンサ113で行なわれるも
のとする。つまり、復号タイミングシーケンサ113
は、復号の開始,実行,終了に関連するタイミング信号
を生成する。まず、開始アドレスレジスタ119に初期
アドレスを設定する。この初期アドレスはマルチプレク
サ128を通過し、その最下位ビットがシーケンサ11
3に伝達される。これは復号の終了判定を行なうためで
ある。さらに、この最下位ビットはシフトレジスタ11
6の先頭ビットで置き換えられ、アドレスレジスタ12
0に設定される。これと同時に、シフトレジスタ116
は1ビット左にシフトされる。
【0021】次に、復号の開始以降は新たにアクセスさ
れた復号表メモリ112の内容がマルチプレクサ128
を通過するようにシーケンサ113で制御する。以後の
処理は上述動作と同じである。
【0022】以上のシーケンスは「復号終了」と判定さ
れるまで繰り返される。検索が終了すると、復号表の検
索結果として得られたデータが、終了データレジスタ1
14に格納される。
【0023】このような第一の復号化方式は、前述した
例と同様1クロック1ビットの処理を行なうことで回路
を比較的簡単に構成できるが、やはり1クロックに2ビ
ット以上の処理性能を実現することはできない。
【0024】
【発明が解決しようとする課題】上述した従来の第一の
復号化方式{図16(a),(b)}は、1クロックに
2ビット以上の解読処理性能を実現することができな
い。よって、高速なビット系列の解読には適用が困難で
あるという欠点を有する。例えば、一般的なCMOS
LSIで構成された復号化回路であれば、10Mb/s
以上のビット列の解読にこの方式を適用することは現在
の技術では困難である。
【0025】また、上述した従来の第二の復号化回路
(図18)においては、最大符号長iに対して、符号長
テーブルは2のi乗エントリになり、1つの可変長符号
の復号だけで大規模なメモリ容量を必要とすることにな
る。これは、復号化回路の集積回路化を考えた場合、面
積上の問題を引き起こす。例えば、iが16を超えるよ
うな場合、テーブル容量は64Kワードを超え、これ以
上のテーブルサイズになると、集積回路化には不利であ
る。すなわち、このメモリは、同一の内容を多数のエン
トリに書込む必要があるなど冗長性が高い。よって、P
LA(Programmable Logic Arr
ay)などを用いて論理最適化をはかることもできる。
しかし、このような場合においても、複数の可変長符号
の順次解読や、複数の用途に対するハードウェアの流用
を考える場合、複数のPLAの準備が必要になったり、
また用途毎にPLAを再設計することになり、ハードウ
ェア設計の複雑さをもたらす。しかも、最大符号長が極
端に大きな符号についてみると、この方式の適用は符号
長テーブルのみではなく、シフトレジスタの実現も困難
になるという欠点を有している。
【0026】更に、上述した従来の他の第一復号化方式
(図20)も、1クロックに2ビット以上の解読処理性
能を実現することができない。すなわち、図19のよう
な最大符号長16の符号を含むような可変長符号を復号
化するには、最悪ケースで16サイクルが必要である。
よって、高速なビット系列の解読には適用が困難である
という欠点を有する。例えば、一般的なCMOS LS
Iで構成された復号化回路であれば、50Mb/s以上
のビット列の解読にこの方式を適用することは現在の技
術では困難である。
【0027】本発明の第1の目的は、1クロックに2ビ
ット以上の解読処理性能を実現するとともに、復号テー
ブルサイズが高々符号数kに比例した値になるような可
変長符号の復号化回路を提供することにある。
【0028】本発明の第2の目的は、かかる1クロック
に2ビット以上の解読処理性能を実現するとともに、復
号表のサイズが高々符号数の2〜3倍程度あるいはそれ
以下になるような可変長符号の復号化回路を提供するこ
とにある。
【0029】
【0030】
【課題を解決するための手段】発明の第の可変長符
号の復号化回路は、ビット可変長符号の入力に用いられ
るシフトレジスタと、前記シフトレジスタのシフト量を
制御するシフト制御回路と、可変長復号テーブルと、前
記可変長復号テーブルにアクセスするアドレスを保持す
るアドレスレジスタと、前記可変長復号テーブルから読
み出されたデータ下位部分を入力とするサブブロックア
ドレス用マルチプレクサとを有し、前記サブブロックア
ドレス用マルチプレクサにより前記可変長復号テーブル
から読み出されたデータの上位部分を上位とし、前記シ
フトレジスタの先頭mビット(mは2以上の整数)を下
位とするアドレスを前記アドレスレジスタに入力する際
に、前記mの値を前記可変長復号テーブルから読み出さ
れたデータの下位部分に応じて決定する一方、前記シフ
ト制御回路が解読終了時以外ではシフト量を前記mと
し、解読終了時には前記可変長復号テーブルから読み出
されたデータの下位部分に基づきシフト量を決定するよ
うに構成される。
【0031】また、本発明の第の可変長符号の復号化
回路は、ビット可変長符号の逐次処理過程における先頭
部を保持するシフトレジスタと、前記シフトレジスタの
複数ビットのシフトを制御するシフト制御回路と、上
位,中位,下位の3つのデータフィールドからなる復号
表を格納する復号表メモリと、前記復号表メモリから読
み出された上位データフィールドと前記シフトレジスタ
の先頭部nビット(nは正の整数)の一部との結合形態
を指定するマルチプレクサと、復号開始アドレスを保持
するレジスタ手段とを有し、復号検索開始時には前記復
号開始アドレスを次の前記復号表メモリのアドレスと
し、それ以降から復号検索終了に至るまでの間は、前記
マルチプレクサにおいて前記シフトレジスタの先頭部m
ビット(m≦n、mは正の整数)が前記上位データフィ
ールドの下位部分と置き換えられたものを次の前記復号
表メモリのアドレスとし、前記mの値は前記復号表メモ
リから読み出された中位データフィールドによって決定
する一方、復号の終了は前記復号表メモリから読み出さ
れた下位データフィールドによって決定するように構成
される。
【0032】更に、本発明の第の可変長符号の復号化
回路は、ビット可変長符号の逐次処理過程における先頭
部を保持するシフトレジスタと、前記シフトレジスタの
複数ビットのシフトを制御するシフト制御回路と、上
位,中位,下位の3つのデータフィールドからなる復号
表を格納する復号表メモリと、前記復号表メモリから読
み出された上位データフィールドからなる復号表を格納
する復号表メモリと、前記復号表メモリから読み出され
た上位データフィールドと前記シフトレジスタの先頭部
nビット(nは正の整数)の一部との結合形態を指定す
るマルチプレクサと、前記シフトレジスタの先頭部kビ
ット(kは正の整数)を入力する最左1検出エンコーダ
と、復号開始アドレスを保持するレジスタ手段とを有
し、復号検索開始時には前記最左1検出エンコーダの出
力と前記復号開始アドレスとの和を次の前記復号表メモ
リのアドレスとし、それ以降から復号検索終了に至るま
での間は前記マルチプレクサにおいて前記シフトレジス
タの先頭部mビット(m≦n、mは正の整数)が前記上
位データフィールドの下位部分と置き換えられたものを
次の前記復号表メモリのアドレスとし、前記mの値は前
記復号表メモリから読み出された中位データフィールド
によって決定する一方、復号の終了は前記復号表メモリ
から読み出された下位データフィールドによって決定す
るように構成される。
【0033】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。まず、本発明の第1の実施例で実現されて
いる解読方式を図1(a),(b)および図2を用いて
説明する。
【0034】図1(a),(b)はそれぞれ図14
(a)で与えられた可変長符号に対して、ビット毎の符
号解読を行なうために用いられる2−3−4進ツリーに
よる状態遷移図および3ビット毎の符号解読を行なうた
めに用いられる2−3−4−5−6−7−8進ツリーに
よる状態遷移図であり、また図2は図1(b)に示す状
態遷移に基づく復号化テーブルを表わす図である。ま
ず、図1(a)に示すように、かかる状態遷移は図14
(a)で与えられた符号を、左側から順に2ビットずつ
たどることにより、解読をすすめる手順を与えている。
この場合も図14(b)と同様、丸印は解読手順での初
期状態および中間状態を示している。解読開始ととも
に、最左側の丸印からスタートし、解読における最初の
2ビットが00ならば00の枝(矢印)をたどり、01
ならば01の枝をたどる。0xの枝は、00と01の両
方を含む。xはこのような冗長性(Don’t Car
e)を示す記号である。また、図1(b)に示すよう
に、かかる状態遷移も全く同様に、図14(a)で与え
られた符号を左側から順に3ビットずつたどることによ
り解読をすすめる手順を与えている。
【0035】次に、図2に示すように、このテーブルは
図1(b)における状態遷移を実現しており、右の欄は
解読が中間状態/終了状態のいずれかを示す(0:終
了、1:未終了)。また、左の欄は、解読が中間状態の
場合次のテーブルのエントリの番地を示し、解読の終了
の場合解読された符号の意味(ここでは正の整数)を記
述してある。この方式では符号を3ビットずつシフトし
て解読するのに対し、符号長はいつも3の倍数であると
は限らないので、どこかでその端数を調整する必要があ
る。その端数は、図2においては冗長項xとして現われ
ている。このxは次の符号の先頭部分との重複を意味し
ているため、その部分はシフトアウトしないようにシフ
ト数を減らす必要がある。図2の中央の欄は解読が終了
したとき解読終了時の符号シフト量を変更するよう指定
するフィールドであり、このようなシフト量の調整に用
いられる。すなわち、この欄において、01は1ビット
シフト、10は2ビットシフト、11は3ビットシフト
を各々意味している。
【0036】図3(a),(b)はそれぞれ本発明の第
一の実施例を示す復号化回路のブロック図および図3
(a)に示す可変長復号テーブルの構成図である。図3
(a)に示すように、本実施例は開始アドレスレジスタ
101および終了データレジスタ102と、12ビット
×2Kワード構成の可変長復号テーブル103と、この
テーブル103からの読出しデータをストアするデータ
レジスタ104と、これらのレジスタ101,104の
12ビットデータを入力する2to1マルチプレクサ1
05と、シフトレジスタ107およびビット反転器10
8と、シフトレジスタ107の先頭3ビットおよびMP
X105からの9ビットを入力してテーブル101に対
するアドレスを作成するアドレスレジスタ106と、シ
フトレジスタ107のシフト量を制御するシフト制御回
路109と、復号タイミングシーケンサ110とを有し
ている。また、図3(b)に示すように、可変長復号テ
ーブル103は1ビットの検索続行指定部と、2ビット
の検索終了直後のシフト数と、検索続行の場合の9ビッ
トからなる上位(ブロック)アドレスとを備えている。
この構造は図2のテーブルに基づくものである。なお、
図3(a)の動作タイミングは前述した図17のタイミ
ングと同様である。
【0037】次に、かかる復号化回路の動作を説明す
る。なお、以下に述べる動作のタイミング制御は、復号
タイミングシーケンサ110で行なわれる。つまり、復
号タイミングシーケンサ110は復号の開始,実行,終
了に関連するタイミング信号を生成する。まず、開始ア
ドレスレジスタ101に初期アドレスが設定される。こ
の初期アドレスは可変長復号テーブル103と同一のフ
ォーマットで記述されており、マルチプレクサ105を
通過する。その際、最下位3ビットは解読されるデータ
のはいったシフトレジスタ107の先頭ビットで置き換
えられ、アドレスレジスタ106に設定される。このア
ドレスレジスタ106の内容は、復号テーブル103の
アクセスに用いられる。次に、このアクセスにより、復
号テーブル103のデータがデータレジスタ104に設
定されるとともに、シフト制御回路109によりシフト
レジスタ107が3ビット左にシフトされる。
【0038】次に、データレジスタ104の内容はマル
チプレクサ105を通過し、その最下位3ビットが再び
解読されるデータのはいったシフトレジスタ107の先
頭3ビットで置き換えられ、アドレスレジスタ106に
設定される。このアドレスレジスタ106の内容は、再
び復号化テーブル103のアクセスに用いられる。な
お、反転器108は、シフトレジスタ107の先頭3ビ
ットの順序を反転する目的で挿入されている。これは、
シフトレジスタ107が右シフト型である場合に、ビッ
ト列の先頭がアドレスの最位に対応するようにするた
めである。このシフトレジスタ107がシフト型であ
れば、反転器108は不必要である。
【0039】以上のシーケンスが「終了」と判定される
時点、即ち1つの符号を解読したと認識されるまで繰り
返される。この例では、繰り返しの単位は、前述した図
15に示すように、基準クロック1周期分である。この
ような検索が「終了」したかどうかを示す情報は、復号
テーブル103の最下位ビットに書込まれており{図3
(b)参照}、これがデータレジスタ104の最下位ビ
ットとして読み出される。その結果は、マルチプレクサ
105を通過しシフト制御回路109および復号タイミ
ングシーケンサ110に伝達される。シフト制御回路1
09は、これによりシフトレジスタ107のシフト量を
決定する。
【0040】このような検索が終了すると、テーブル検
索結果として得られたデータが、終了データレジスタ1
02に格納される。また、検索終了時のシフトレジスタ
107のシフト量はシフト制御回路109に伝えられ、
終了時の3ビット以下のシフトに対応することができ
る。要するに、この復号化方式は、最大1クロックで3
ビットの処理を行なうことにより、処理を高速化でき
る。
【0041】一方、復号テーブル103のビット幅は、
終了データの幅と、テーブル103自身のアドレスとし
て必要なアドレス長とで決定される。また、図2の左フ
ィールドが解読中間状態において必ず下3ビットが0に
なる。つまり、テーブルエントリは1つの中間状態に対
して8つが組になっていて(これを以後「ブロック」と
読ぶ)、この先頭番地に対するオフセットをシフトレジ
スタ107が供給している。よって、この冗長な3ビッ
トを復号テーブル103から削除することも可能であ
る。さらに、解読中間状態においては、中央のフィール
ドを使用していない点も注意すべきである。これら2つ
の点を利用することにより、復号テーブル103のビッ
ト幅を削減することができる。尚、テーブル103の深
さは、図1(b)と図2から明らかなように、中間状態
数の8倍である。この中間状態数が符号数より大きくな
ることはないため、テーブルエントリ数は高々符号数の
定数倍であるといえる。
【0042】次に、本発明の第2の実施例で実現されて
いる解読方式を図4を用いて説明する。図4は前述した
図1(b)の状態遷移に基づくもう1つの復号化テーブ
ルを表わす図である。すなわち、図1(b)は前述した
図14(a)の従来例で与えられた符号を左側から順に
3ビットずつたどることにより、解読を進める手順を与
えている。しかし、この遷移図をそのままテーブルとし
て実現すると、非常に冗長な部分が現われる。例えば、
図2の第3のブロック(01100000番地)におい
ては、最終結果「5」および最終結果「6」を解読する
ために各々4エントリずつを使用している。これは、3
ビットの解読により8進ツリーをたどる状態をそのまま
テーブル上で実現したため、単純に2進ツリーで2つの
状態を分離するためにも8つの状態を用いることになっ
たからである。
【0043】このため、図4に示すテーブルでは、この
ような冗長性を極力取り除く工夫がされている。図4に
おいて、右側の欄は解読が中間状態/終了状態のいずれ
かを示す(00:終了)とともに、次のテーブル参照が
ブロックサイズ以下であることを許し(以下、これをサ
ブブロックという)、その大きさを指定している(0
1:サブブロック=2エントリ、10:サブブロック=
4エントリ、11:サブブロック=8エントリ)。こう
すれば、例えば上述した第3のブロックのエントリは2
つで済み、冗長なテーブル領域の設定を避けることがで
きる。また、解読中間状態の場合、図4の左側の欄と中
央の欄は次のテーブルエントリの番地を表わす。更に、
解読終了の場合の左側の欄は解読された符号の意味(こ
こでは正の整数)を、中央の欄は解読終了時の符号シフ
ト量を各々表わしている。
【0044】この方式では符号を3ビットずつシフトし
て解読するのと性能は変わらないのに対して、テーブル
の深さが大幅に改善できる。例えば、図2において40
エントリあった復号テーブルは、図4においては24エ
ントリに減少している。これは、この例では2進ツリー
探索のテーブル(図15)の深さと同じ程度になってい
る。
【0045】次に、かかる第2の実施例について図面を
参照して説明する。なお、本実施例は上述した例題と1
対1には対応していない。
【0046】図5は本発明の第二の実施例を示す復号化
回路のブロック図である。図5に示すように、本実施例
は開始アドレスレジスタ101および終了データレジス
タ102と、可変長復号テーブル103aおよびデータ
レジスタ104と、2to1マルチプレクサ105と、
アドレスレジスタ106と、シフトレジスタ107およ
びビット反転器108aと、シフト制御回路109a
と、復号タイミングシーケンサ110と、サブブロック
アドレス用マルチプレクサ111とを有する。この可変
長復号テーブル103aは12ビット×2Kワード構成
である。
【0047】また、図6(a)〜(c)は、それぞれ図
5においてサポートしているサブブロックの種類を示す
図である。図6(a)〜(c)に示すように、ここでの
サブブロックは4ワード/8ワード/16ワードの3種
類あるが、各々は2ビット/3ビット/4ビットの解読
に対応している。
【0048】図7は図5に示す可変長復号テーブルの構
成図である。図7に示すように、このテーブル103a
の構造は前述した図4に類似しているものである。な
お、図5の動作タイミングは、前述した図17のタイミ
ングと同じと考えてよい。
【0049】次に、第二の実施例における回路動作を図
5を用いて説明する。尚、以下に述べる動作のタイミン
グ制御は、復号タイミングシーケンサ110で行なわれ
る。つまり、復号タイミングシーケンサ110は、復号
の開始,実行,終了に関連するタイミング信号を生成す
る。
【0050】まず、開始アドレスレジスタ101に初期
アドレスが設定される。この初期アドレスは、可変長復
号テーブル103aと同一のフォーマットで記述されて
いるとする。しかる後、マルチプレクサ105を通過
し、その最下位4ビットは解読されるデータのはいった
シフトレジスタ107の先頭4ビットで置き換えられる
が、それに先立ちサブブロックアドレス用マルチプレク
サ111がその置き換えの範囲を指定するために用いら
れる。ここでも、前述した第一の実施例の場合と同様の
目的で反転器108aが用いられる。
【0051】すなわち、マルチプレクサ105の出力の
最下位フィールド2ビットが01の場合、最下位2ビッ
トの置き換えが発生する。つまり、反転器108aの先
頭2ビットは無視され、マルチプレクサ105の出力の
中央フィールド2ビットがマルチプレクサ111の出力
になる。また、最下位フィールド2ビットが10の場
合、最下位3ビットの置き換えが発生する。つまり、反
転器108aの先頭2ビットのうち下位1ビットと、マ
ルチプレクサ105の出力の中央フィールド2ビットの
うち上位1ビットとが結合され、マルチプレクサ111
の出力になる。更に、最下位フィールド2ビットが11
の場合、最下位4ビットの置き換えが発生する。つま
り、マルチプレクサ105の出力の中央フィールド2ビ
ットは無視され、反転器108aの先頭2ビットがマル
チプレクサ111の出力になる。
【0052】このようにして置き換えられたアドレスが
アドレスレジスタ106に設定される。このレジスタ1
06の内容は、復号テーブル103aのアクセスに用い
られる。このアクセス結果はデータレジスタ104に設
定されるとともに、シフトレジスタ107はマルチプレ
クサ105の出力の最下位フィールド2ビットで指定さ
れたビット数だけ左にシフトされる。データレジスタ1
04の内容はマルチプレクサ105を通過し、その最下
位4ビットが上述のアドレス置き換えを受け、アドレス
レジスタ106に設定される。このアドレスレジスタ1
06の内容は再び復号テーブル103aのアクセスに用
いられる。
【0053】以上のシーケンスが「終了」と判定される
まで、即ち1つの符号を解読したと認識されるまで繰り
返される。尚、本実施例における繰り返しの単位は、基
準クロック1周期分である。
【0054】次に、検索が「終了」したかどうかを示す
情報は、復号テーブル103aの最下位フィールドに書
込まれており、これがデータレジスタ104の最下位フ
ィールドとして読み出される。その結果は、マルチプレ
クサ105を通過してシフト制御回路109aおよび復
号タイミングシーケンサ110に伝達される。これによ
り、シフト制御回路109aはシフトレジスタ107の
シフト量を決定する。検索が終了すると、テーブル検索
結果として得られたデータが、終了データレジスタ10
2に格納される。また、検索終了時のシフトレジスタ1
07のシフト量がマルチプレクサ105の出力の中央フ
ィールド2ビットとしてシフト制御回路109aに伝え
られ、終了時の3ビット以下のシフトに対応することが
できる。
【0055】要するに、本実施例の復号化回路は、
ロックで複数ビットの処理を行なうことで処理を高速化
でき、且つテーブルサイズを小さく保つことができる。
また、復号テーブル103aのビット幅は終了データの
幅と、テーブル自身のアドレスとして必要なアドレス長
とで決定される。解読中間状態においては、中央のフィ
ールドを使用していない。このため、サブブロックアド
レスをテーブル中央のフィールドに埋め込むことが可能
である。このテーブルの深さは、明らかに前述した第1
の実施例よりも小さい。よって、テーブルエントリ数は
高々符号数の定数倍であるといえる。
【0056】図8は本発明の第3の実施例を示す復号化
回路のブロック図である。図8に示すように、本実施例
は復号表メモリ112と、復号制御シーケンサ113
と、復号結果データレジスタ114および復号開始アド
レスレジスタ119と、シフト制御回路115およびシ
フトレジスタ116と、シフト量デコーダ117と、3
to1マルチプレクサ118および2to1マルチプレ
クサ121と、復号表メモリアドレスレジスタ120と
を有している。このうち、復号表メモリ112は20ビ
ット×4KWの容量である。
【0057】図9および図10はそれぞれ図8における
可変長符号の復号表を表わす図である。図9および図1
0に示すように、この復号表は4つのデータフィールド
から成っており、図8の回路を用いて、前述した図19
で与えられた可変長符号を復号する場合に用いられる。
この復号表はフィールド1が行番号(0を含む)、フィ
ールド2(フィールド4=“1”のとき)が次に検索す
べきこの表の行番号をそれぞれ表わし、またフィールド
2(フィールド4=“0”のとき)が符号化されたデー
タを表わす。更に、フィールド3が次の検索までにシフ
トすべき入力系列のシフト量、フィールド4がこの行で
復号が終了した(“0”)か、そうでない(“1”)か
を示すフラグをそれぞれ表わす。上述した図9,図10
で示される復号表は、図8の可変長復号テーブルにマッ
ピングされる場合、フィールド2が上位フィールド16
ビット、フィールド3が中位フィールド3ビット、フィ
ールド4が下位フィールド1ビットに対応付けられる。
フィールド1はメモリアドレスに対応する。
【0058】次に、図8を用いて、本実施例の動作を説
明する。尚、以下に述べる動作のタイミング制御は、復
号タイミングシーケンサ113で行なわれるとする。つ
まり、復号タイミングシーケンサ113は、復号の開
始,実行,終了に関連するタイミング信号を生成する。
【0059】まず、開始アドレスレジスタ119に初期
アドレスが設定される。この初期アドレスは、図9およ
び図10の復号表の各行と同一のフォーマットで記述さ
れているとする。この例では、初期アドレスの上位フィ
ールドは0、中位フィールドは4、下位フィールドは1
とする。この初期アドレスデータはマルチプレクサ12
1を通過し、その中位データフィールドが、マルチプレ
クサ118の選択信号として、デコーダ117に送出さ
れる。また、シフト制御回路115は、初期アドレスに
対しては動作しない。更に、復号表メモリ112のアド
レス12ビットを形成するために、デコーダ117の出
力に基づき、シフトレジスタ116の先頭から4ビット
が取り込まれ、残りの8ビットは、初期アドレスの上位
フィールドの上位から取られる。この選択がマルチプレ
クサ118で行われる。最終的に得られた次の復号表メ
モリアドレスはレジスタ120にストアされる。
【0060】次のサイクルでは、レジスタ120のアド
レスに従ってアクセスされた復号表メモリ112の内容
がマルチプレクサ121を通過する。このとき、シーケ
ンサ113は与えられた復号表の下位フィールドの値が
0であればこのアクセスで復号終了と判定する。一方、
シフト制御回路115は与えられた復号表の中位フィー
ルドの値に従って、その値だけシフトレジスタ116を
シフトさせる。このシフトレジスタ116からマルチプ
レクサ118に対して与えられるビット列は、このシフ
ト後のビット列の先頭であるように制御される。また、
復号表の上位フィールドとこのビット列は、初期アドレ
スの時と同様の方法で結合される。
【0061】以上のシーケンスが復号終了と判定される
まで繰り返される。
【0062】検索が終了すると、復号表の検索結果とし
て得られたデータは終了データレジスタ114に格納さ
れる。また、検索終了時にもシフトレジスタ116のシ
フトは実行され、次の復号の初期状態に対応できるよう
にする。
【0063】上述した復号化回路の特徴は、1サイクル
で最大nビット(nはシフトレジスタの許容する最大シ
フト量と、復号表メモリの中位フィールドの指定できる
最大数の大きくないほう)までの復号が可能であること
である。すなわち、図9および図10の復号表は、前述
した図19の符号表のフィールド3:可変長符号におい
て、最大長符号(長さ16)を4+4+4+2+2に5
分割して復号するように構成されている(他の符号もこ
れに準ずる)。そのため、図9および図10の復号表に
よれば、最悪ケースでも5サイクルで復号が完了する。
【0064】図11は本発明の第4の実施例を示す可変
長符号の復号化回路のブロック図である。図11に示す
ように、本実施例は前述した第3の実施例における復号
化の速度と復号表の大きさについて、さらに改善された
結果をもたらすものである。本実施例の復号化回路は、
復号表メモリ112と、復号制御シーケンサ113と、
復号結果データレジスタ114および復号開始アドレス
レジスタ119と、シフト制御回路115およびシフト
レジスタ116と、シフト量選択回路112と、シフト
量デコーダ117およびマルチプレクサ118と、プラ
イオリティエンコーダ(最左1検出エンコーダ)123
と、加算器(ADDER)124および2to1マルチ
プレクサ125と、復号表メモリアドレスレジスタ12
0とを有している。
【0065】要するに、本実施例は図19で与えられた
可変長符号を復号するときに、図12に示す復号表を用
いることになる。
【0066】図12は、図11における復号化方式に基
づく可変長符号の復号表を表わす図である。図12に示
すように、この復号表は4つのデータフィールドから成
っていて、その意味は既に説明した図9および図10の
場合と全く同じである。
【0067】次に、図11に戻り、本実施例の動作を説
明する。
【0068】まず、本実施例と前述した第3の実施例の
大きな相違点は、復号開始時において、復号化ビット数
を符号そのものの性質を利用して大きく稼ごうとする点
である。しかるに、一般的な不等長符号の割当ては、前
述した図19のように、0(または1)の連続した並び
で開始されるなどの規則性を有しており、ランダムな0
/1の組合せの上に長い符号を割当てることは少ない。
そこで、図19のようなケースでは、連続する先頭の0
の数によって符号全体を分類すると、概ね等数の符号集
団に分類できる。これは、もし第一回目の復号サイクル
で、0のランレングスに基づいて復号すれば、その後の
復号終了までのサイクル数が平均化されることを意味し
ている。
【0069】一方、これをハードウェアで実現するた
め、図11では、図8に比べて、プライオリティエンコ
ーダ(最左1検出エンコーダ)123を追加している。
この例では、シフトレジスタ116の先頭16ビットを
一度に検索し、その中で最初に1が出現するビット位置
を出力する。
【0070】次に、本実施例における復号の手順を説明
する。まず、開始アドレスレジスタ119に初期アドレ
スが設定される。この値は、プライオリティエンコーダ
123の出力と加算器124で加算される。この加算デ
ータは最初のサイクルのみ加算器124の出力を選択す
るマルチプレクサ125を通過し、レジスタ120にス
トアされる。また、この次のサイクル以降の動作は全く
前述した第3の実施例と同じである。
【0071】更に、図12に示す復号表の最初の16行
の選択は、プライオリティエンコーダ123の出力で決
定されているため、第2のサイクルのシフト量は、第3
の実施例の場合の1から4に比べて、1から16の範囲
に拡張されている。このため、20ビット程度の不等長
符号でも2サイクルから3サイクル以内で復号を完了す
る。要するに、図12の復号表では、最悪ケースでも3
サイクルで復号を完了できる。
【0072】図13は、本発明の第5の実施例を示す可
変長符号の復号化回路のブロック図である。図13に示
すように、本実施例は前述した図11に示す第4の実施
例と比較すると、加算器124を省略している。要する
に、プライオリティエンコーダ123からの出力を加算
器124に通すことがタイミング上クリティカルである
ならば、本実施例の回路を採用できる。このとき、復号
表の開始アドレスのアライメントの制約ができるが、こ
れはスピードとのトレードオフと考えられる。
【0073】
【発明の効果】以上説明したように、本発明の可変長符
号の復号化回路は、比較的小規模な復号化テーブル(例
えば、テーブルとしてメモリを用いる場合、高々符号数
に比例したメモリ容量)もしくは復号表で複数ビット毎
の復号処理を実行することができるという効果がある。
また、本発明は復号化するビット数を可変制御すること
により、メモリ容量と解読速度とのトレードオフをファ
ームウェア化することができ、復号化テーブル容量もし
くは復号表メモリ容量に制約のあるときには、解読の遅
いテーブルもしくは表を、容量制約のないときには解読
の早いテーブルもしくは表を構成するといったフレキシ
ビリティを有するという効果がある。さらに、本発明は
複数の可変長符号の順次解読や、複数の用途に対するハ
ードウェアの流用を考える場合にでも、1つの解読テー
ブルもしくは復号表におけるアドレス割り付けを変更す
るだけで対応することが可能であり、このメモリをRA
M化することでこの効果をさらに高めることができると
いう効果がある。
【0074】しかも、本発明は可変長符号そのものの持
つビットパターンの性質を利用し、復号速度を改善して
復号表のサイズを大幅に小さくすることが可能であると
いう効果がある。
【0075】このように、本発明の復号回路はフレキシ
ビリティに富み、適当なテーブルサイズもしくは適当な
復号表のサイズで性能的に非常に高速な結果が得られ
る。
【図面の簡単な説明】
【図1】本発明の第1の実施例を説明するための可変長
符号に対し、2ビット毎,3ビット毎の解読を行う状態
遷移図である。
【図2】図1に示す状態遷移に基づく復号化テーブルを
表わす図である。
【図3】本発明の第1の実施例を示す可変長符号の復号
化回路およびその可変長復号テーブルを表わす図であ
る。
【図4】本発明の第2の実施例を説明するための状態遷
移に基づく別の復号テーブルを表わす図である。
【図5】本発明の第2の実施例を示す可変長符号の復号
化回路のブロック図である。
【図6】図5においてサポートしているサブブロックの
種類を示す図である。
【図7】図5に示す可変長復号テーブルの構成図であ
る。
【図8】本発明の第3の実施例を示す可変長符号の復号
化回路のブロック図である。
【図9】図8における可変長符号の復号表を表わす図で
ある。
【図10】図8における可変長符号の復号表を表わす図
である。
【図11】本発明の第4の実施例を示す可変長符号の復
号化回路のブロック図である。
【図12】図11の復号化方式に基づく可変長符号の復
号表を表わす図である。
【図13】本発明の第5の実施例を示す可変長符号の復
号化回路のブロック図である。
【図14】従来の第一の復号化回路方式を詳細に説明す
るための可変長符号化テーブルおよび二進ツリーによる
状態遷移を表わす図である。
【図15】従来の可変長復号テーブルを表わす図であ
る。
【図16】従来の第一の復号化方式に基づく復号化回路
ブロックおよび可変長復号テーブルの構成を表わす図で
ある。
【図17】図16の復号化回路における各部の動作タイ
ミング図である。
【図18】従来の第二の復号化回路方式に基づく復号化
回路ブロック図である。
【図19】従来の可変長符号を定義した図である。
【図20】従来の第一の復号化方式の他の例を示す復号
化回路のブロック図である。
【図21】図20における復号を実行する際の復号表の
例を示す図である。
【符号の説明】
101 開始アドレスレジスタ 102 終了データレジスタ 103,103a 可変長復号テーブル 104 データレジスタ 105,122 MPX 106 アドレスレジスタ 107,116 シフトレジスタ 108,108a
反転器 109,109a,115 シフト制御回路 110 復号タイミングシーケンサ 111 サブブロックアドレス用マルチプレクサ 112 復号表メモリ 113 シーケンサ 114 復号結果データレジスタ 117 デコーダ 118 3to1MPX 119 復号開始アドレスレジスタ 120 復号表メモリアドレスレジスタ 121,125 2to1MPX 123 プライオリティ・エンコーダ 124 加算器

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 ビット可変長符号の入力に用いられるシ
    フトレジスタと、前記シフトレジスタのシフト量を制御
    するシフト制御回路と、可変長復号テーブルと、前記可
    変長復号テーブルにアクセスするアドレスを保持するア
    ドレスレジスタと、前記可変長復号テーブルから読み出
    されたデータ下位部分を入力とするサブブロックアドレ
    ス用マルチプレクサとを有し、前記サブブロックアドレ
    ス用マルチプレクサにより前記可変長復号テーブルから
    読み出されたデータの上位部分を上位とし、前記シフト
    レジスタの先頭mビット(mは2以上の整数)を下位と
    するアドレスを前記アドレスレジスタに入力する際に、
    前記mの値を前記可変長復号テーブルから読み出された
    データの下位部分に応じて決定する一方、前記シフト制
    御回路が解読終了時以外ではシフト量を前記mとし、解
    読終了時には前記可変長復号テーブルから読み出された
    データの下位部分に基づきシフト量を決定することを特
    徴とする可変長符号の復号化回路。
  2. 【請求項2】 ビット可変長符号の逐次処理過程におけ
    る先頭部を保持するシフトレジスタと、前記シフトレジ
    スタの複数ビットのシフトを制御するシフト制御回路
    と、上位,中位,下位の3つのデータフィールドからな
    る復号表を格納する復号表メモリと、前記復号表メモリ
    から読み出された上位データフィールドと前記シフトレ
    ジスタの先頭部nビット(nは正の整数)の一部との結
    合形態を指定するマルチプレクサと、復号開始アドレス
    を保持するレジスタ手段とを有し、復号検索開始時には
    前記復号開始アドレスを次の前記復号表メモリのアドレ
    スとし、それ以降から復号検索終了に至るまでの間は、
    前記マルチプレクサにおいて前記シフトレジスタの先頭
    部mビット(m≦n、mは正の整数)が前記上位データ
    フィールドの下位部分と置き換えられたものを次の前記
    復号表メモリのアドレスとし、前記mの値は前記復号表
    メモリから読み出された中位データフィールドによって
    決定する一方、復号の終了は前記復号表メモリから読み
    出された下位データフィールドによって決定することを
    特徴とする可変長符号の復号化回路。
  3. 【請求項3】 ビット可変長符号の逐次処理過程におけ
    る先頭部を保持するシフトレジスタと、前記シフトレジ
    スタの複数ビットのシフトを制御するシフト制御回路
    と、上位,中位,下位の3つのデータフィールドからな
    る復号表を格納する復号表メモリと、前記復号表メモリ
    から読み出された上位データフィールドからなる復号表
    を格納する復号表メモリと、前記復号表メモリから読み
    出された上位データフィールドと前記シフトレジスタの
    先頭部nビット(nは正の整数)の一部との結合形態を
    指定するマルチプレクサと、前記シフトレジスタの先頭
    部kビット(kは正の整数)を入力する最左1検出エン
    コーダと、復号開始アドレスを保持するレジスタ手段と
    を有し、復号検索開始時には前記最左1検出エンコーダ
    の出力と前記復号開始アドレスとの和を次の前記復号表
    メモリのアドレスとし、それ以降から復号検索終了に至
    るまでの間は前記マルチプレクサにおいて前記シフトレ
    ジスタの先頭部mビット(m≦n、mは正の整数)が前
    記上位データフィールドの下位部分と置き換えられたも
    のを次の前記復号表メモリのアドレスとし、前記mの値
    は前記復号表メモリから読み出された中位データフィー
    ルドによって決定する一方、復号の終了は前記復号表メ
    モリから読み出された下位データフィールドによって決
    定することを特徴とする可変長符号の復号化回路。
JP4206345A 1992-08-03 1992-08-03 可変長符号の復号化回路 Expired - Fee Related JP3008685B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP4206345A JP3008685B2 (ja) 1992-08-03 1992-08-03 可変長符号の復号化回路
US08/101,357 US5398027A (en) 1992-08-03 1993-08-03 Decoding circuit for variable length code
EP93112422A EP0582273B1 (en) 1992-08-03 1993-08-03 Decoding circuit for variable length code
DE69327021T DE69327021T2 (de) 1992-08-03 1993-08-03 Dekodierschaltung für einen Kode variabler Länge

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4206345A JP3008685B2 (ja) 1992-08-03 1992-08-03 可変長符号の復号化回路

Publications (2)

Publication Number Publication Date
JPH0651943A JPH0651943A (ja) 1994-02-25
JP3008685B2 true JP3008685B2 (ja) 2000-02-14

Family

ID=16521769

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4206345A Expired - Fee Related JP3008685B2 (ja) 1992-08-03 1992-08-03 可変長符号の復号化回路

Country Status (4)

Country Link
US (1) US5398027A (ja)
EP (1) EP0582273B1 (ja)
JP (1) JP3008685B2 (ja)
DE (1) DE69327021T2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2746109B2 (ja) * 1994-03-09 1998-04-28 日本電気株式会社 ハフマン符号復号化回路
JP2604546B2 (ja) 1994-05-19 1997-04-30 日本電気アイシーマイコンシステム株式会社 可変長符号の復号化処理装置
JP3220598B2 (ja) * 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
KR0152038B1 (ko) * 1994-10-17 1998-10-15 김광호 상대 주소를 이용한 가변장 복호화 장치
DE4441293C2 (de) * 1994-11-21 1999-01-21 Sican Gmbh Verfahren und Schaltungsanordnung zum Lesen von Codewörtern variabler Länge aus einem Datenspeicher mit fester Wortlänge
KR0154011B1 (ko) * 1995-03-16 1998-11-16 배순훈 가변길이 복호화 장치
GB2313511B (en) * 1996-05-25 2000-03-22 Motorola Inc Decoder circuit and method
JP3410629B2 (ja) * 1997-05-21 2003-05-26 シャープ株式会社 可変長符号化回路及び可変長符号化方法
US6188797B1 (en) * 1997-05-27 2001-02-13 Apple Computer, Inc. Decoder for programmable variable length data
JP2000207205A (ja) * 1999-01-14 2000-07-28 Sony Corp 演算装置
KR100386114B1 (ko) * 2001-02-16 2003-06-02 삼성전자주식회사 멀티-입/출력카드를 갖춘 네트워크시스템의 초기화제어장치
JP2002344328A (ja) * 2001-05-21 2002-11-29 Ricoh Co Ltd 復号化装置、プログラム及び可変長符号の復号方法
US6956511B2 (en) * 2004-01-06 2005-10-18 Sharp Laboratories Of America, Inc. Multi-symbol/coefficient decode operation for Huffman codes
JP4484630B2 (ja) * 2004-01-29 2010-06-16 パナソニック株式会社 可変長復号化装置および可変長復号化方法および再生システム
JP4829720B2 (ja) * 2006-08-29 2011-12-07 ルネサスエレクトロニクス株式会社 可変長符号復号装置
US9923576B2 (en) * 2014-09-16 2018-03-20 Cisco Technology, Inc. Decoding techniques using a programmable priority encoder
US10540379B2 (en) * 2017-12-11 2020-01-21 International Business Machines Corporation Searching base encoded text

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3701111A (en) * 1971-02-08 1972-10-24 Ibm Method of and apparatus for decoding variable-length codes having length-indicating prefixes
US3921143A (en) * 1971-12-29 1975-11-18 Ibm Minimal redundancy encoding method and means
US4580129A (en) * 1983-11-14 1986-04-01 Northern Telecom Limited Variable word length decoder
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
JP2766302B2 (ja) * 1989-04-06 1998-06-18 株式会社東芝 可変長符号並列解読方法および装置
JPH03143028A (ja) * 1989-10-27 1991-06-18 Yamaha Corp 可変長符号の復号回路
US5173695A (en) * 1990-06-29 1992-12-22 Bell Communications Research, Inc. High-speed flexible variable-length-code decoder
US5220325A (en) * 1991-03-28 1993-06-15 At&T Bell Laboratories Hierarchical variable length decoder for digital video data
US5254991A (en) * 1991-07-30 1993-10-19 Lsi Logic Corporation Method and apparatus for decoding Huffman codes
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class

Also Published As

Publication number Publication date
JPH0651943A (ja) 1994-02-25
EP0582273A2 (en) 1994-02-09
DE69327021T2 (de) 2000-07-13
EP0582273B1 (en) 1999-11-17
US5398027A (en) 1995-03-14
DE69327021D1 (de) 1999-12-23
EP0582273A3 (en) 1995-07-12

Similar Documents

Publication Publication Date Title
JP3008685B2 (ja) 可変長符号の復号化回路
NL1001317C2 (nl) Werkwijze en inrichting voor het coderen en decoderen van data.
US4472788A (en) Shift circuit having a plurality of cascade-connected data selectors
US7334093B2 (en) Block programmable priority encoder in a CAM
US6215424B1 (en) System for variable length codeword processing suitable for video and other applications
EP0589682A2 (en) Variable length code decoder
JP3274668B2 (ja) 演算処理装置及び演算処理方法
KR940010433B1 (ko) 가변길이 코드 디코딩장치
JPH10341167A (ja) 可変長符号復号化回路
EP0647034B1 (en) A variable word length code decoding method, and a decoder for performing the same
JPH1155130A (ja) ビタビ復号器
JPH09246990A (ja) 可変長符号復号化器
JP2000138595A (ja) ビタビ復号器
JP2003174365A (ja) 復号化装置及びその方法
JPH08316847A (ja) 可変長符号の復号装置
KR100410995B1 (ko) 즉시역추적 알고리즘을 이용한 비터비 복호기용 생존경로메모리 관리 방법 및 그 장치
KR100487411B1 (ko) 가변 길이 디코더
KR100237651B1 (ko) 셀룰러(Cellullar) 시스템의 부호화 장치
KR100239727B1 (ko) 행렬 전치회로
KR100304872B1 (ko) 가변길이코드디코더.
JPH11163736A (ja) プロセッサ
JP3332630B2 (ja) 復号装置及びデコードテーブルの生成方法
JPH0537402A (ja) ビタビ復号器
KR100478835B1 (ko) 고속 비터비 디코딩 장치
KR950008487B1 (ko) 가변 길이 디코딩 장치

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19991102

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

Free format text: PAYMENT UNTIL: 20071203

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081203

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20091203

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 11

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20101203

Year of fee payment: 11

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111203

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees