JPH1168579A - 可変長復号化方法および装置 - Google Patents

可変長復号化方法および装置

Info

Publication number
JPH1168579A
JPH1168579A JP22838497A JP22838497A JPH1168579A JP H1168579 A JPH1168579 A JP H1168579A JP 22838497 A JP22838497 A JP 22838497A JP 22838497 A JP22838497 A JP 22838497A JP H1168579 A JPH1168579 A JP H1168579A
Authority
JP
Japan
Prior art keywords
length
variable
bit
data
address
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.)
Pending
Application number
JP22838497A
Other languages
English (en)
Inventor
Shinichi Marui
信一 丸井
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP22838497A priority Critical patent/JPH1168579A/ja
Publication of JPH1168579A publication Critical patent/JPH1168579A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 データメモリに格納された複数の可変長符号
語からなるビットストリームデータを読み出し、可変長
符合語を1語ずつ順番に復号していく際に、ハードウェ
アを大規模化することなく、効率良く可変長復号を実現
する。 【解決手段】 データメモリ100からビットストリー
ムデータを可変長符号語の最長ビット長(例えば16ビ
ット)の2倍以上の所定のビット幅(32ビット)で読
み出す。そして、デコーダ120で解読された可変長符
号語のビット長の累算値である加算器122の加算結果
が16以上になったとき、言い換えれば、読み出したビ
ットストリームデータから解読された可変長符号語を削
除した残りのビットストリームデータのビット長が、可
変長符号語の最長ビット長以下になったときに、データ
メモリ100から新たにビットストリームデータを読み
出すことにより、データメモリ100からの読出し回数
を減らすことができる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データメモリに格
納された複数の可変長符号語からなるビットストリーム
データを読み出し、可変長符合語を1語ずつ順番に復号
していく可変長復号化方法および装置に関するものであ
る。
【0002】
【従来の技術】近年、ディジタル移動体通信システムの
技術的発展は著しく、マルチメディア通信、パーソナル
移動体通信端末をはじめとしてさまざまな技術が活発に
議論、研究されている。通信されるデータは音声、画
像、FAX、オーディオデータなど多岐に渡っている
が、これからのマルチメディア通信では画像データが主
役になることは間違いない。
【0003】画像データは膨大であるため、データの圧
縮伸長は必須の技術と言える。この圧縮伸長アルゴリズ
ムはMPEG1,MPEG2,H.261,そしてH.
263等、その用途に従って多く標準化されてきてい
る。圧縮方法の一つとして符号語の割当の工夫がある。
例えば量子化後のデータをスキャンすること等で得られ
たビット列に対して符号語を割り当てて、その符号語を
送信することが行なわれるが、その際に統計的に生じる
確率が高いビット列にはビット長の短い符号語を割り当
て、逆に生じる確率が低いビット列にはビット長の長い
符号語を割り当てる可変長符号化方式などである。この
ようにするとそのままのビット列を送信するよりも少な
い送信量で同じ情報が送信できるようになる。この可変
長符号語は先頭のビットから順に探索していけば必ず一
意に決定できるという性質を持っている。
【0004】可変長符号化はビット列が与えられると、
そのビット列に対応する可変長符号語をあらかじめ設定
されたテーブル等を参照するなどして得た後、それらの
可変長符号語を全て連結して一つのビットストリームと
して復号器側に送る。可変長復号はビットストリームを
受け取り、まず先頭の可変長符号語を解読する。解読し
た可変長符号語のビット長分のデータをビットストリー
ムデータから取り除く。そして次の可変長符号語を解読
する、ということを繰り返す。
【0005】このような可変長復号を実現するプロセッ
サ(DSPを含む)を用いた従来の可変長復号化方法
を、図4および図5を参照しながら、さらに詳しく説明
する。図4はデータメモリ中のビットストリームデータ
の格納状態を示す図、図5は従来の可変長復号化方法を
示す図である。ここでは、図4に示すように、データメ
モリの任意の1つのアドレスに記憶されるデータ幅を1
6ビットとして説明する。図4において、A(a1〜a
3)は3ビット,B(b1〜b8)は8ビット,C(c
1〜c4)は4ビット,D(d1〜d5)は5ビット,
E(e1〜e6)は6ビット,F(f1〜f3)は3ビ
ット,G(g1〜g7)は7ビットのそれぞれ可変長符
号語である。
【0006】図5に示すように、まず、ステップ1で、
データメモリ中の1ワード目のビットストリームデータ
を読み出し、先頭の可変長符号語Aを解読するととも
に、その可変長符号語Aのビット長を検出する(ステッ
プ2)。解読した可変長符号語Aのデータをビットスト
リームデータから取り除くため、検出したビット長(3
ビット)分だけ左シフトする(ステップ3)。そして、
次のデータをデータメモリから読み出し、1ワードのビ
ット長(16ビット)から上記検出したビット長(3ビ
ット)を引いた分だけ右シフトする(ステップ4)。ス
テップ3のデータとステップ4のデータとの論理和
のデータを求める(ステップ5)。つぎに、ステップ
6はステップ2に戻り、ステップ5で求めたデータの
先頭の可変長符号語Bを解読するとともに、その可変長
符号語Bのビット長を検出して、以下同様に繰り返すこ
とになる。このようにして、データメモリ中にあるビッ
トストリームデータを読み出し、先頭の可変長符号語を
解読した後、データメモリからデータを補い、論理演算
等でデータの連結を行ない、連続的に可変長復号を行な
っていた。
【0007】また、ハードロジックでは2組のバレルシ
フタ等を用いて効率的に可変長復号を実現していた。例
えば「HIGH-SPEED VARIABLE-LENGTH DECODER」USP-5,24
5,338 (米国特許第5,245,338 号)に記載されている。
【0008】
【発明が解決しようとする課題】上記従来の可変長復号
化方法では、データの結合処理が繁雑で処理効率が落ち
ていた。また、プロセッサに上記のハードロジックのよ
うなアクセラレータを用意するのはハード規模が大きく
なってしまうという問題点を有していた。本発明の目的
は、データメモリに格納された複数の可変長符号語から
なるビットストリームデータを読み出し、可変長符合語
を1語ずつ順番に復号していく際に、ハードウェアを大
規模化することなく、効率良く可変長復号を実現できる
可変長復号化方法および装置を提供することである。
【0009】
【課題を解決するための手段】請求項1記載の可変長復
号化方法は、複数の可変長符号語からなるビットストリ
ームデータが格納されたデータメモリから、ビットスト
リームデータを最長の可変長符号語のビット長の2倍以
上の所定のビット幅で読み出す第1の処理と、データメ
モリから読み出したビットストリームデータのうち先頭
の可変長符号語を解読するとともに先頭の可変長符号語
のビット長を検出する第2の処理と、読み出したビット
ストリームデータから解読された可変長符号語を削除
し、この削除されたつぎの可変長符号語を新たに先頭の
可変長符号語とする第3の処理と、第2の処理と第3の
処理とを繰り返し、第2の処理で検出する可変長符号語
のビット長の累算値を求め、第1の処理で読み出す所定
のビット幅から累算値を減算した値が最長の可変長符号
語のビット長以下になったときに、読み出したビットス
トリームデータから解読された可変長符号語を削除した
残りのビットストリームデータを含むビットストリーム
データをデータメモリから第1の処理と同じ所定のビッ
ト幅で読み出す第4の処理とを含むことを特徴とする。
【0010】この可変長復号化方法によれば、ビットス
トリームデータを最長の可変長符号語のビット長の2倍
以上の所定のビット幅で読み出すようにし、その所定の
ビット幅から解読された可変長符号語のビット長の累算
値を減算した値が、最長の可変長符号語のビット長以下
になったとき、すなわち、読み出したビットストリーム
データから解読された可変長符号語を削除した残りのビ
ットストリームデータのビット長が、最長の可変長符号
語のビット長以下になったときに、データメモリからビ
ットストリームデータを読み出すことにより、データメ
モリからの読出し回数を減らし、また、従来のようなビ
ットストリームデータの結合処理がないため、ハードウ
ェアを大規模化することなく、効率良く可変長復号を実
現することができる。
【0011】請求項2記載の可変長復号化装置は、複数
の可変長符号語からなるビットストリームデータを格納
するデータメモリと、データメモリからビットストリー
ムデータを最長の可変長符号語のビット長の2倍以上の
所定のビット幅で読み出しを行うためのアドレスをデー
タメモリへ供給するアドレス供給手段と、データメモリ
から読み出したビットストリームデータをそのまま出力
するとともに、自己出力したビットストリームデータか
ら解読された可変長符号語を論理シフトすることにより
削除して出力するバレルシフタと、バレルシフタから出
力されるビットストリームデータのうち先頭の可変長符
号語を解読するとともに先頭の可変長符号語のビット長
を検出するデコーダと、デコーダで検出する可変長符号
語のビット長の累算値を求め、データメモリから読み出
す所定のビット幅から累算値を減算した値が最長の可変
長符号語のビット長以下になったときに、新規読み出し
指示信号を発する演算手段とを備えてあり、アドレス供
給手段は、演算手段の新規読み出し指示信号に応答し
て、読み出したビットストリームデータからデコーダで
解読された可変長符号語を削除した残りのビットストリ
ームデータを含むビットストリームデータをデータメモ
リから所定のビット幅で読み出すためのアドレスをも供
給するようにしたことを特徴とする。
【0012】この可変長復号化装置によれば、アドレス
供給手段から供給されるアドレスにより、ビットストリ
ームデータを最長の可変長符号語のビット長の2倍以上
の所定のビット幅で読み出すようにし、その所定のビッ
ト幅からデコーダで解読された可変長符号語のビット長
の累算値を減算した値が、最長の可変長符号語のビット
長以下になったとき、すなわち、読み出したビットスト
リームデータから解読された可変長符号語を削除した残
りのビットストリームデータのビット長が、最長の可変
長符号語のビット長以下になったときに、アドレス供給
手段が演算手段の新規読み出し指示信号に応答してデー
タメモリからビットストリームデータを読み出すことに
より、データメモリからの読出し回数を減らし、また、
従来のようなビットストリームデータの結合処理がない
ため、ハードウェアを大規模化することなく、効率良く
可変長復号を実現することができる。
【0013】請求項3記載の可変長復号化装置は、請求
項2記載の可変長復号化装置装置において、アドレス供
給手段は、データメモリに供給する先頭アドレスがプロ
グラムにより指定され、演算手段の新規読み出し指示信
号に応答して先頭アドレスから順次インクリメントした
アドレスを生成するようにしている。このように、デー
タメモリからはじめに読み出す先頭アドレスがプログラ
ムにより指定されると、その後はアドレス供給手段が順
次アドレスを生成し、データメモリに供給する。
【0014】請求項4記載の可変長復号化装置は、請求
項3記載の可変長復号化装置において、ビットストリー
ムデータ内の最長の可変長符号語のビット長が、データ
メモリの任意の1つのアドレスに格納されるビットスト
リームデータのビット幅以下であり、アドレス供給手段
は、プログラムにより先頭アドレスが指定されたときに
指定された先頭アドレスとその次のアドレスとをデータ
メモリへ供給するとともに、演算手段の新規読み出し指
示信号に応答して先頭アドレスから順次インクリメント
して生成したアドレスとその次のアドレスとをデータメ
モリへ供給するようにしている。
【0015】このように、最長の可変長符号語のビット
長が、データメモリの任意の1つのアドレスに格納され
るビットストリームデータのビット幅以下であるとき
に、データメモリからはじめに読み出す先頭アドレスが
プログラムにより指定されると、アドレス供給手段は先
頭アドレスとその次のアドレスとをデータメモリへ供給
し、その後はアドレス供給手段が先頭アドレスから順次
インクリメントして生成したアドレスとその次のアドレ
スとをデータメモリへ供給することにより、データメモ
リから、連続した2つのアドレスに格納されているビッ
トストリームデータを一度に読み出すことになり、読み
出されたビットストリームデータは最長の可変長符号語
のビット長の2倍以上のビット幅となる。
【0016】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照しながら説明する。図1は本発明の実施の
形態における可変長復号化装置の構成図であり、基本デ
ータ幅が16ビットの演算回路およびその演算回路を有
するプロセッサの内部回路の一部を示す。ここで可変長
符号語の最長ビット長は16ビットあるいはそれ以下で
あるとする。
【0017】図1において、100は読み出し、書き込
み可能なデータメモリであり、可変長符号化されたビッ
トストリームデータが格納される。110はデータメモ
リ100と後述のバレルシフタ112に接続され、デー
タメモリ100の出力とバレルシフタ112の出力を切
り替えて後述のラッチ111へ出力する第1のマルチプ
レクサ(32ビット×2入力、32ビット出力)であ
る。後述の動作状態信号135が「0」である場合に
は、データメモリ100の出力を選択し出力する。ま
た、動作状態信号135が「1」である場合には、後述
の加算器122のキャリー信号124に依存し、キャリ
ー信号124が「1」である時はデータメモリ100の
出力を選択し、キャリー信号124が「0」である時は
バレルシフタ112の出力を選択し、出力する。
【0018】111は第1のマルチプレクサ110の出
力をラッチするラッチ(32ビット)である。112は
後述の第2のマルチプレクサ113の出力データにより
シフトビット数を決定し、ラッチ111の出力を論理シ
フトするバレルシフタ(32ビット入力、32ビット出
力)である。
【0019】113は後述のラッチ121と後述のラッ
チ123に接続され、ラッチ121の出力とラッチ12
3の出力を切り替えてバレルシフタ112へ出力する第
2のマルチプレクサ(4ビット×2入力、4ビット出
力)である。後述のラッチ125の出力が「1」である
時はラッチ123の出力を選択し、「0」である時はラ
ッチ121の出力を選択し、出力する。
【0020】120はバレルシフタ112の出力をデコ
ードし、入力された可変長符号語に対応する固定長符号
語を出力するとともに、入力された可変長符号語のビッ
ト長を出力する第1のデコーダである。121は第1の
デコーダ120から出力される可変長符号語のビット長
をラッチするラッチ(4ビット)である。
【0021】122はラッチ121のデータとラッチ1
23のデータとを加算する加算器(4ビット+4ビット
→4ビット、キャリー信号)であり、加算結果が16以
上のときにキャリー信号124を「1」とする。ただ
し、後述のラッチ125の出力が「1」である時、すな
わち1つ前のサイクルの加算結果が16以上でキャリー
信号124が「1」であった時には、加算を行わない。
これはもし加算を行うと本質的でないキャリーが発生す
ることが考えられるからである。
【0022】123は加算器122の出力をラッチする
ラッチ(4ビット)である。ただし、後述のラッチ12
5の出力が「1」である時は、データを更新しない。1
24は加算器122から出力され、加算結果が16以上
のときには「1」となり、それ以外では「0」となるキ
ャリー信号である。125はキャリー信号124をラッ
チするラッチである。
【0023】130は後述のアドレスデータ134と後
述のインクリメンタ132の出力データとを切り替えて
出力する第3のマルチプレクサである。後述の動作状態
信号135が「1」の時はインクリメンタ132の出力
を選択、「0」の時はアドレスデータ134を選択す
る。131は第3のマルチプレクサ130の出力をラッ
チするラッチである。
【0024】132はラッチ131の出力をキャリー信
号124が「1」の時に1だけインクリメントするイン
クリメンタである。133はインクリメンタ132の出
力を解読して、インクリメンタ132の出力に対応する
アドレスと、そのアドレスに1加えたアドレスとをデー
タメモリ100へ出力する第2のデコーダである。
【0025】134はプログラムの指示によりプロセッ
サの他のブロック(図示せず)から与えられるアドレス
データである。135は可変長復号を行なう時には
「1」、それ以外では「0」となる動作状態信号であ
る。なお、上記説明では、デコーダ120は、可変長符
号語に対応する固定長符号語を出力するとしたが、固定
長符号語そのものでなく、固定長符号語が格納されるデ
ータメモリ(図示せず)のアドレスを出力するようにし
ても良い。
【0026】また、加算器122およびラッチ123に
より請求項2における演算手段を構成し、キャリー信号
124が新規読み出し指示信号であり、第3のマルチプ
レクサ130,ラッチ131,インクリメンタ132お
よび第2のデコーダ133によりアドレス供給手段を構
成する。以上のように構成される本実施の形態における
可変長復号化装置において、その動作をさらに図2およ
び図3を参照しながら以下に説明する。
【0027】図2はデータメモリ100中のビットスト
リームデータの格納状態を示す図であり、ここでは、デ
ータメモリ100の任意の1つのアドレスに記憶される
データ幅を16ビットとし、ビットストリームデータが
データメモリの100番地から格納されているとしてい
る。図2において、A(a1〜a3)は3ビット,B
(b1〜b8)は8ビット,C(c1〜c4)は4ビッ
ト,D(d1〜d5)は5ビット,E(e1〜e6)は
6ビット,F(f1〜f3)は3ビット,G(g1〜g
7)は7ビット,H(h1〜h5)は5ビット,I(i
1〜i4)は4ビット,J(j1〜j3)は3ビットの
それぞれ可変長符号語である。
【0028】また、図3は各ラッチ111,121,1
23,125,131のデータおよびキャリー信号12
4の状態の変化を示す図である。なお、ラッチ111,
121,123,125,131の初期値は「0」とす
る。まず、動作状態信号135を「0」とし、アドレス
データ134を100番地として与える。このとき、第
3のマルチプレクサ130はアドレスデータ134を選
択し、その100番地をラッチ131に入力する。ま
た、このとき、キャリー信号124は「0」であり、イ
ンクリメンタ132はラッチ131のデータ(100番
地)をインクリメントせずにそのままデコーダ133お
よび第3のマルチプレクサ130に出力する。
【0029】これによって、デコーダ133では、イン
クリメンタ132の出力データをデコードしてそれに対
応する100番地のアドレスデータを生成するととも
に、そのアドレスデータに1加えた(100+1)番地
のアドレスデータを生成し、データメモリ100から1
00番地と101番地のデータが読み出され、第1のマ
ルチプレクサ110を介してラッチ111にラッチされ
る。このとき、第1のマルチプレクサ110は動作状態
信号135によってデータメモリ100の出力を選択す
るように制御されている。その後、動作状態信号135
を「1」として可変長復号状態に設定する。
【0030】次に、ラッチ111から出力されるデータ
は最初のデータなのでバレルシフタ112でのシフトは
行なわれず、デコーダ120にはラッチ111のデータ
がそのまま入力される。すなわち、ラッチ121,12
5の初期値が「0」であり、第2のマルチプレクサ11
3の出力が「0」となり、バレルシフタ112でのシフ
ト数が0となる。また、バレルシフタ112の出力は、
キャリー信号124が「0」であり、第1のマルチプレ
クサ110で選択され、そのままラッチ111にラッチ
される。
【0031】デコーダ120では、最初の可変長符号語
Aがデコードされ、その可変長符号語Aのビット長であ
る「3」がラッチ121にラッチされる。次に、加算器
122で、ラッチ121の出力「3」とラッチ123の
初期値「0」とが加算され、その加算結果の「3」がラ
ッチ123にラッチされる。ラッチ121の出力「3」
が第2のマルチプレクサ113により選択され、バレル
シフタ112によりラッチ111のデータを「3」だけ
左論理シフトしたデータが、第1のマルチプレクサ11
0を介してラッチ111にラッチされるとともに、デコ
ーダ120に入力され、デコーダ120で2つ目の可変
長符号語Bがデコードされ、そのビット長である「8」
がラッチ121にラッチされる。
【0032】次に、加算器122で、ラッチ123の出
力「3」とラッチ121の出力「8」とが加算され、そ
の加算結果の「11」がラッチ123にラッチされる。
ラッチ121の出力「8」が第2のマルチプレクサ11
3により選択され、バレルシフタ112によりラッチ1
11のデータを「8」だけ左論理シフトしたデータが、
第1のマルチプレクサ110を介してラッチ111にラ
ッチされるとともに、デコーダ120に入力され、デコ
ーダ120で3つ目の可変長符号語Cがデコードされ、
そのビット長である「4」がラッチ121にラッチされ
る。
【0033】次に、加算器122で、ラッチ123の出
力「11」とラッチ121の出力「4」とが加算され、
その加算結果の「15」がラッチ123にラッチされ
る。ラッチ121の出力「4」が第2のマルチプレクサ
113により選択され、バレルシフタ112によりラッ
チ111のデータを「4」だけ左論理シフトしたデータ
が、第1のマルチプレクサ110を介してラッチ111
にラッチされるとともに、デコーダ120に入力され、
デコーダ120で4つ目の可変長符号語Dがデコードさ
れ、そのビット長である「5」がラッチ121にラッチ
される。
【0034】次に、加算器122で、ラッチ123の出
力「15」とラッチ121の出力「5」とが加算され、
4ビットの加算器122からは加算結果として「4(1
5+5−16)」をラッチ123へ出力するとともにキ
ャリー信号124を「1」にする。したがって、「4」
がラッチ123にラッチされる。ラッチ121の出力
「5」が第2のマルチプレクサ113により選択され、
バレルシフタ112によりラッチ111のデータを
「5」だけ左論理シフトしたデータが、第1のマルチプ
レクサ110を介してラッチ111にラッチされるが、
このデータは正しくビット長を反映していない可能性が
ある。このとき、バレルシフタ112から左論理シフト
したデータがデコーダ120へ入力され、デコーダ12
0は、入力されたデータに従いデコード動作を行うが、
入力データが正しくないので、正しくないデータ(図3
の×)がラッチ121にラッチされる。また、キャリー
信号124が「1」となることにより、インクリメンタ
132でアドレスが「1」インクリメントされ、データ
メモリ100から101番地と102番地のデータが読
み出され、第1のマルチプレクサ110を介してラッチ
111にラッチされる。
【0035】次に、ラッチ125の出力が「1」である
ため、加算器122では加算を行わず、ラッチ123の
内容は「4」のままで更新されない。また、ラッチ12
5の出力が「1」であるため、第2のマルチプレクサ1
13はラッチ123の出力「4」を選択して出力する。
バレルシフタ112によりラッチ111のデータを
「4」だけ左論理シフトしたデータが、第1のマルチプ
レクサ110を介してラッチ111にラッチされるとと
もに、デコーダ120に入力され、デコーダ120で5
つ目の可変長符号語Eがデコードされ、そのビット長で
ある「6」がラッチ121にラッチされる。
【0036】次に、加算器122で、ラッチ123の出
力「4」とラッチ121の出力「6」とが加算され、そ
の加算結果の「10」がラッチ123にラッチされる。
ラッチ121の出力「6」が第2のマルチプレクサ11
3により選択され、バレルシフタ112によりラッチ1
11のデータを「6」だけ左論理シフトしたデータが、
第1のマルチプレクサ110を介してラッチ111にラ
ッチされるとともに、デコーダ120に入力され、デコ
ーダ120で6つ目の可変長符号語Fがデコードされ、
そのビット長である「3」がラッチ121にラッチされ
る。
【0037】以降、同様な手順を繰り返して復号化を実
現できる。以上のようにこの実施の形態によれば、第3
のマルチプレクサ130,ラッチ131,インクリメン
タ132および第2のデコーダ133により構成された
アドレス供給手段から供給されるアドレスにより、ビッ
トストリームデータを最長の可変長符号語のビット長
(例えば16ビット)の2倍以上の所定のビット幅(3
2ビット)で読み出すようにしている。そして、デコー
ダ120で解読された可変長符号語のビット長の累算値
である加算器122の加算結果が16以上になったと
き、言い換えれば、読み出すときの所定のビット幅(3
2ビット)からデコーダ120で解読された可変長符号
語のビット長の累算値を減算した値が、最長の可変長符
号語のビット長以下になったとき、すなわち、読み出し
たビットストリームデータから解読された可変長符号語
を削除した残りのビットストリームデータのビット長
が、最長の可変長符号語のビット長(16ビット)以下
になったときに、上記のアドレス供給手段がキャリー信
号124(新規読み出し指示信号)に応答してデータメ
モリ100からビットストリームデータを読み出すこと
により、データメモリ100からの読出し回数を減ら
し、また、従来のようなビットストリームデータの結合
処理がないため、バレルシフタを2組使用した従来の構
成のようにハードウェアを大規模化することなく、効率
良く可変長復号を実現することができる。この実施の形
態では、通常のプロセッサの構成にデコーダ120,ラ
ッチ121等のわずかなハードウェアが追加された構成
である。
【0038】また、上記実施の形態における可変長復号
化装置は、本発明による可変長復号化方法を実現する装
置の一例であり、本発明による可変長復号化方法は、複
数の可変長符号語からなるビットストリームデータが格
納されたデータメモリから、ビットストリームデータを
最長の可変長符号語のビット長の2倍以上の所定のビッ
ト幅で読み出す第1の処理と、データメモリから読み出
したビットストリームデータのうち先頭の可変長符号語
を解読するとともに先頭の可変長符号語のビット長を検
出する第2の処理と、読み出したビットストリームデー
タから解読された可変長符号語を削除し、この削除され
たつぎの可変長符号語を新たに先頭の可変長符号語とす
る第3の処理と、第2の処理と第3の処理とを繰り返
し、第2の処理で検出する可変長符号語のビット長の累
算値を求め、第1の処理で読み出す所定のビット幅から
累算値を減算した値が最長の可変長符号語のビット長以
下になったときに、読み出したビットストリームデータ
から解読された可変長符号語を削除した残りのビットス
トリームデータを含むビットストリームデータをデータ
メモリから第1の処理と同じ所定のビット幅で読み出す
第4の処理とを含むことを特徴とするものである。
【0039】
【発明の効果】本発明によれば、複数の可変長符号語か
らなるビットストリームデータが格納されたデータメモ
リから、ビットストリームデータを読み出す回数を減ら
し、また、従来のようなビットストリームデータの結合
処理がないため、ハードウェアを大規模化することな
く、効率良く可変長復号を実現することができる。
【図面の簡単な説明】
【図1】本発明の実施の形態における可変長復号化装置
の構成図である。
【図2】本発明の実施の形態におけるデータメモリ中の
ビットストリームデータの格納状態を示す図である。
【図3】本発明の実施の形態における各ラッチのデータ
およびキャリー信号の状態の変化を示す図である。
【図4】従来の可変長復号化方法を説明するためのデー
タメモリ中のビットストリームデータの格納状態を示す
図である。
【図5】従来の可変長復号化方法を示す図である。
【符号の説明】
100 データメモリ 110,113,130 マルチプレクサ 111,121,123,125,131 ラッチ 112 バレルシフタ 120,133 デコーダ 122 加算器 124 キャリー信号 132 インクリメンタ 134 アドレスデータ 135 動作状態信号

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の可変長符号語からなるビットスト
    リームデータが格納されたデータメモリから、前記ビッ
    トストリームデータを最長の前記可変長符号語のビット
    長の2倍以上の所定のビット幅で読み出す第1の処理
    と、 前記データメモリから読み出したビットストリームデー
    タのうち先頭の可変長符号語を解読するとともに前記先
    頭の可変長符号語のビット長を検出する第2の処理と、 前記読み出したビットストリームデータから解読された
    可変長符号語を削除し、この削除されたつぎの可変長符
    号語を新たに先頭の可変長符号語とする第3の処理と、 前記第2の処理と前記第3の処理とを繰り返し、前記第
    2の処理で検出する可変長符号語のビット長の累算値を
    求め、前記第1の処理で読み出す所定のビット幅から前
    記累算値を減算した値が前記最長の可変長符号語のビッ
    ト長以下になったときに、前記読み出したビットストリ
    ームデータから解読された可変長符号語を削除した残り
    のビットストリームデータを含むビットストリームデー
    タを前記データメモリから前記第1の処理と同じ所定の
    ビット幅で読み出す第4の処理とを含むことを特徴とす
    る可変長復号化方法。
  2. 【請求項2】 複数の可変長符号語からなるビットスト
    リームデータを格納するデータメモリと、 前記データメモリから前記ビットストリームデータを最
    長の前記可変長符号語のビット長の2倍以上の所定のビ
    ット幅で読み出しを行うためのアドレスを前記データメ
    モリへ供給するアドレス供給手段と、 前記データメモリから読み出したビットストリームデー
    タをそのまま出力するとともに、自己出力したビットス
    トリームデータから解読された可変長符号語を論理シフ
    トすることにより削除して出力するバレルシフタと、 前記バレルシフタから出力されるビットストリームデー
    タのうち先頭の可変長符号語を解読するとともに前記先
    頭の可変長符号語のビット長を検出するデコーダと、 前記デコーダで検出する可変長符号語のビット長の累算
    値を求め、前記データメモリから読み出す所定のビット
    幅から前記累算値を減算した値が前記最長の可変長符号
    語のビット長以下になったときに、新規読み出し指示信
    号を発する演算手段とを備え、 前記アドレス供給手段は、前記演算手段の新規読み出し
    指示信号に応答して、前記読み出したビットストリーム
    データから前記デコーダで解読された可変長符号語を削
    除した残りのビットストリームデータを含むビットスト
    リームデータを前記データメモリから前記所定のビット
    幅で読み出すためのアドレスをも供給するようにしたこ
    とを特徴とする可変長復号化装置。
  3. 【請求項3】 アドレス供給手段は、データメモリに供
    給する先頭アドレスがプログラムにより指定され、演算
    手段の新規読み出し指示信号に応答して前記先頭アドレ
    スから順次インクリメントしたアドレスを生成するよう
    にした請求項2記載の可変長復号化装置。
  4. 【請求項4】 ビットストリームデータ内の最長の可変
    長符号語のビット長が、データメモリの任意の1つのア
    ドレスに格納されるビットストリームデータのビット幅
    以下であり、アドレス供給手段は、プログラムにより先
    頭アドレスが指定されたときに前記指定された先頭アド
    レスとその次のアドレスとを前記データメモリへ供給す
    るとともに、演算手段の新規読み出し指示信号に応答し
    て前記先頭アドレスから順次インクリメントして生成し
    たアドレスとその次のアドレスとを前記データメモリへ
    供給するようにした請求項3記載の可変長復号化装置。
JP22838497A 1997-08-25 1997-08-25 可変長復号化方法および装置 Pending JPH1168579A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22838497A JPH1168579A (ja) 1997-08-25 1997-08-25 可変長復号化方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22838497A JPH1168579A (ja) 1997-08-25 1997-08-25 可変長復号化方法および装置

Publications (1)

Publication Number Publication Date
JPH1168579A true JPH1168579A (ja) 1999-03-09

Family

ID=16875632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22838497A Pending JPH1168579A (ja) 1997-08-25 1997-08-25 可変長復号化方法および装置

Country Status (1)

Country Link
JP (1) JPH1168579A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100394693C (zh) * 2005-01-21 2008-06-11 华中科技大学 一种变长码的编码和解码方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100394693C (zh) * 2005-01-21 2008-06-11 华中科技大学 一种变长码的编码和解码方法

Similar Documents

Publication Publication Date Title
US5912636A (en) Apparatus and method for performing m-ary finite state machine entropy coding
JP3136796B2 (ja) 可変長符号デコーダ
JP3294026B2 (ja) 高速可変長復号化装置
JP5390004B2 (ja) 確率推定のための状態マシンを生成する方法、算術エンコーダ、算術デコーダ、及び、復号方法
JP3189876B2 (ja) 可変長符号復号化回路
US6809665B2 (en) Apparatus and method for decoding variable length code
JPH0651943A (ja) 可変長符号の復号化回路
JP6159240B2 (ja) 二値算術符号化装置、二値算術符号化方法及び二値算術符号化プログラム
JPH08265166A (ja) 高速可変長符号復号化装置
US7728745B2 (en) Variable length code decoding apparatus and method with variation in timing of extracting bit string to be decoded depending on code word
JP3853439B2 (ja) 高速可変長コード復号化装置及び高速可変長コード復号化方法
JPH1168579A (ja) 可変長復号化方法および装置
JP3429623B2 (ja) 高速可変長符号復号化装置
JP3371677B2 (ja) 可変長復号化装置
JP3304745B2 (ja) 可変長符号復号化器
JP6695813B2 (ja) 専用算術符号化命令
JP3389389B2 (ja) 可変長コード復号化装置
JP2934603B2 (ja) 可変長さコードの復号化方法及びその装置
JP3409139B2 (ja) 可変長符号復号器
JP3247052B2 (ja) 画像データ変換処理方法及び装置
JP2001007706A (ja) 可変長符号復号化装置
KR20050066142A (ko) 문맥기반 적응 가변길이 복호화 장치 및 그 방법
JP3332630B2 (ja) 復号装置及びデコードテーブルの生成方法
JP3336537B2 (ja) 符号化装置、復号化装置、符号化・復号化装置及び算術符号化装置
JP3224127B2 (ja) 画像データ変換処理装置