JP2001084707A - 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体 - Google Patents
可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体Info
- Publication number
- JP2001084707A JP2001084707A JP25798699A JP25798699A JP2001084707A JP 2001084707 A JP2001084707 A JP 2001084707A JP 25798699 A JP25798699 A JP 25798699A JP 25798699 A JP25798699 A JP 25798699A JP 2001084707 A JP2001084707 A JP 2001084707A
- Authority
- JP
- Japan
- Prior art keywords
- value
- code
- index
- register
- length
- 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.)
- Abandoned
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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
【課題】 可変長符号の復号の際に必要とされるテーブ
ルのサイズを小さくし、又は不要とすることによって、
記憶装置の負担軽減や、復号装置の小型化及び処理速度
の高速化を図る。 【解決手段】 復号装置は、符号長をインデックスとし
て各符号語に対応する復号化データを格納するテーブル
T1と,符号長をインデックスとしてその符号長を持つ
符号語の中で最小の値を持つものに対応する復号化デー
タのテーブルT1内におけるアドレスを格納するT2
と、定義のうち符号長をインデックスとして、その符号
長をもつ符号語の数を格納するT4と、ビットストリー
ムを蓄積し所定量のデータを出力するバッファメモリ1
と、バッファメモリ1から出力されるデータから所定デ
ータを切り出す符号語切り出し回路2と、データの内容
を解析する比較器31と、比較器3からの出力とテーブ
ルT2からの出力とを加算処理する加算回路4とを備え
ている。
ルのサイズを小さくし、又は不要とすることによって、
記憶装置の負担軽減や、復号装置の小型化及び処理速度
の高速化を図る。 【解決手段】 復号装置は、符号長をインデックスとし
て各符号語に対応する復号化データを格納するテーブル
T1と,符号長をインデックスとしてその符号長を持つ
符号語の中で最小の値を持つものに対応する復号化デー
タのテーブルT1内におけるアドレスを格納するT2
と、定義のうち符号長をインデックスとして、その符号
長をもつ符号語の数を格納するT4と、ビットストリー
ムを蓄積し所定量のデータを出力するバッファメモリ1
と、バッファメモリ1から出力されるデータから所定デ
ータを切り出す符号語切り出し回路2と、データの内容
を解析する比較器31と、比較器3からの出力とテーブ
ルT2からの出力とを加算処理する加算回路4とを備え
ている。
Description
【0001】
【発明の属する技術分野】本発明は、可変長符号の復号
に関し、特に、符号後の符号長を検出するテーブル及び
符号長の検出、また復号化データが格納されたテーブル
へのアドレスの生成に使用される復号方法、復号装置及
び復号プログラムを記録したコンピュータ読み取り可能
な記録媒体に関する。
に関し、特に、符号後の符号長を検出するテーブル及び
符号長の検出、また復号化データが格納されたテーブル
へのアドレスの生成に使用される復号方法、復号装置及
び復号プログラムを記録したコンピュータ読み取り可能
な記録媒体に関する。
【0002】
【従来の技術】従来、JPEG等、符号長に対応する符
号語数及び符号語に対応する復号化データとからなる定
義部分と、実データ部分とを有する可変長符号を復号す
る装置としては、例えば図9に示すようなものがある。
図9は、従来の復号装置の概略構成を示すブロック図で
ある。
号語数及び符号語に対応する復号化データとからなる定
義部分と、実データ部分とを有する可変長符号を復号す
る装置としては、例えば図9に示すようなものがある。
図9は、従来の復号装置の概略構成を示すブロック図で
ある。
【0003】同図に示すように、従来の復号装置は、テ
ーブルT1〜T3と、ビットストリームを蓄積するバッ
ファメモリ1と、バッファメモリ1に蓄積された実デー
タから先頭の1ビットを切り出す機能を有する符号語切
り出し回路2と、符号語切り出し回路2から受け渡され
たデータの内容とテーブルT3に格納された値とを比較
する比較器3と、比較器3からの出力とテーブルT2か
らの出力とを加算処理する加算回路4とを備えている。
ーブルT1〜T3と、ビットストリームを蓄積するバッ
ファメモリ1と、バッファメモリ1に蓄積された実デー
タから先頭の1ビットを切り出す機能を有する符号語切
り出し回路2と、符号語切り出し回路2から受け渡され
たデータの内容とテーブルT3に格納された値とを比較
する比較器3と、比較器3からの出力とテーブルT2か
らの出力とを加算処理する加算回路4とを備えている。
【0004】前記テーブルT1は、定義部分に含まれた
復号化データを、符号語の値が小さいものから順に格納
するものである。前記テーブルT2は、符号長をインデ
ックスとしてその符号長を持つ符号語の中で最小の値を
持つもののテーブルT1におけるアドレスを格納するも
のである。前記テーブル3は、符号長をインデックスと
してその符号長を持つ符号語の中で最小の値を持つもの
を格納するものである。
復号化データを、符号語の値が小さいものから順に格納
するものである。前記テーブルT2は、符号長をインデ
ックスとしてその符号長を持つ符号語の中で最小の値を
持つもののテーブルT1におけるアドレスを格納するも
のである。前記テーブル3は、符号長をインデックスと
してその符号長を持つ符号語の中で最小の値を持つもの
を格納するものである。
【0005】従来、JPEGに関する可変長符号の復号を行
う方法は、例えば以下に挙げるようなものがある。
う方法は、例えば以下に挙げるようなものがある。
【0006】最初に、ビットストリームのヘッダ部分に
含まれている例えば図10に示すような定義を解析する
ことによりテーブルT1〜T3を作成する。同図では、
符号長1の符号語数が1、符号長2の符号語数が2、符
号長3の符号語数が1、符号長4の符号語数が2、符号
長5の符号語数が2と定義されている場合を例示してい
る。
含まれている例えば図10に示すような定義を解析する
ことによりテーブルT1〜T3を作成する。同図では、
符号長1の符号語数が1、符号長2の符号語数が2、符
号長3の符号語数が1、符号長4の符号語数が2、符号
長5の符号語数が2と定義されている場合を例示してい
る。
【0007】前記テーブルT1〜T3の作成について詳
述すると、先ず、ヘッダ部分に含まれる定義に基づい
て、図11に示すように、符号数から各符号長(HUF
FSIZE)に対応する符号(HUFFCODE)を求
める。図示した例では、符号長2の符号は2個あること
から、一つ目の符号(最小の符号)を「00」とし、二
つ目の符号を「01」とする。また、符号長4の符号も
2個あることから、一つ目の符号(最小の符号)を「1
010」とし、二つ目の符号を「1011」とする。な
お、ここでは符号を2進法で表記している。
述すると、先ず、ヘッダ部分に含まれる定義に基づい
て、図11に示すように、符号数から各符号長(HUF
FSIZE)に対応する符号(HUFFCODE)を求
める。図示した例では、符号長2の符号は2個あること
から、一つ目の符号(最小の符号)を「00」とし、二
つ目の符号を「01」とする。また、符号長4の符号も
2個あることから、一つ目の符号(最小の符号)を「1
010」とし、二つ目の符号を「1011」とする。な
お、ここでは符号を2進法で表記している。
【0008】各符号に対応する復号化データは、ヘッダ
部分から切り出されてテーブルT1に格納される。この
とき各符号長をインデックスとする。また、図12に示
すように、各符号長をインデックスとして、各符号長に
対応する符号のうち最小の符号がテーブルT3に格納さ
れる。さらに、各符号長に対応するの符号のうち最小の
符号に対応する復号化データが格納されているテーブル
T1における先頭アドレスは、テーブルT2に格納され
る。
部分から切り出されてテーブルT1に格納される。この
とき各符号長をインデックスとする。また、図12に示
すように、各符号長をインデックスとして、各符号長に
対応する符号のうち最小の符号がテーブルT3に格納さ
れる。さらに、各符号長に対応するの符号のうち最小の
符号に対応する復号化データが格納されているテーブル
T1における先頭アドレスは、テーブルT2に格納され
る。
【0009】そして、可変長符号の復号は、図13に示
すように、ビットストリームの実データ部分に含まれて
いるデータを先頭から順に、テーブルT3に格納された
各符号長における最小の符号とその大小を比較すること
によって、テーブルT2に格納された先頭アドレスを検
出し、図14に示すように、この先頭アドレスから復号
データ(V2,0〜V5,1)との関連づけを行う。
すように、ビットストリームの実データ部分に含まれて
いるデータを先頭から順に、テーブルT3に格納された
各符号長における最小の符号とその大小を比較すること
によって、テーブルT2に格納された先頭アドレスを検
出し、図14に示すように、この先頭アドレスから復号
データ(V2,0〜V5,1)との関連づけを行う。
【0010】以上のように作成されたテーブルT1〜T
3を用いた復号は、具体的には、以下の手順によって行
われる。図15は、従来の可変長符号の復号を行う手順
を示すフロー図である。
3を用いた復号は、具体的には、以下の手順によって行
われる。図15は、従来の可変長符号の復号を行う手順
を示すフロー図である。
【0011】先ず、同図に示すように、ビットストリー
ムを先頭から順にバッファメモリ1に格納し、レジスタ
tempを0にするとともに、カウンタiを1とする(S3
01)。
ムを先頭から順にバッファメモリ1に格納し、レジスタ
tempを0にするとともに、カウンタiを1とする(S3
01)。
【0012】そして、符号長を仮定するカウンタiを用
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビット目を取り出してtemp
の末尾に付加して比較器3に出力する。次いで、比較器
3において、tempの値とテーブルT3から符号長iにお
ける値が最小の符号語T3(i)の大きさを比較する
(S303)。
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビット目を取り出してtemp
の末尾に付加して比較器3に出力する。次いで、比較器
3において、tempの値とテーブルT3から符号長iにお
ける値が最小の符号語T3(i)の大きさを比較する
(S303)。
【0013】図15中のbit[i]は、符号の先頭からi番
目のビットを示す。JPEGに関しては最大符号長が1
6ビットであるため、この操作をiが1から16まで行
い(S304,S305)、その結果、ステップS30
3において初めてT3(i)がtempより大きくなるiが
存在すると判断された場合には、その時点のiを用いて
符号長lengはi−1で与えられる(S303→S30
6)。一方、存在しなければ符号長lengは16となる
(S305→S306)。以上の操作により、符号語wo
rdはバッファメモリ1の先頭lengビットとなる(S30
6)。なお、図14中では、この符号語wordは、bit
[1:i-1]で表している。
目のビットを示す。JPEGに関しては最大符号長が1
6ビットであるため、この操作をiが1から16まで行
い(S304,S305)、その結果、ステップS30
3において初めてT3(i)がtempより大きくなるiが
存在すると判断された場合には、その時点のiを用いて
符号長lengはi−1で与えられる(S303→S30
6)。一方、存在しなければ符号長lengは16となる
(S305→S306)。以上の操作により、符号語wo
rdはバッファメモリ1の先頭lengビットとなる(S30
6)。なお、図14中では、この符号語wordは、bit
[1:i-1]で表している。
【0014】そして、テーブルT2において符号長leng
をインデックスとして参照することにより、その符号長
で最小の値を持つ符号語のテーブルT1におけるアドレ
スT2(leng)を得る。また、符号語wordから符号長le
ngで最小の値を持つ符号語T3(leng)を減じることに
より、符号長で最小の値を持つ符号語からの差offsを得
る(S307)。
をインデックスとして参照することにより、その符号長
で最小の値を持つ符号語のテーブルT1におけるアドレ
スT2(leng)を得る。また、符号語wordから符号長le
ngで最小の値を持つ符号語T3(leng)を減じることに
より、符号長で最小の値を持つ符号語からの差offsを得
る(S307)。
【0015】その後、T2(leng)とoffsを加えた値を
ポインタ(addr)を算出し(S308)、このポインタ
を用いてテーブルT1を引くことにより、符号語wordに
対応する復号化データdataを得ることができる(S30
9)。
ポインタ(addr)を算出し(S308)、このポインタ
を用いてテーブルT1を引くことにより、符号語wordに
対応する復号化データdataを得ることができる(S30
9)。
【0016】例えば、ビットストリームの先頭が101101
1011101101であった場合、図15中の比較ステップS3
03の時点の各変数の値は図13の様になる。即ち、i=
5(temp=10110)となった時点で、S303においてtem
p≧T3(i)と判断され、S306においてleng=5
−1=4が算出される。leng=4のときのT3の値は、
図12より「1010」であることから、オフセットoffs=
1011-1010=1となる。
1011101101であった場合、図15中の比較ステップS3
03の時点の各変数の値は図13の様になる。即ち、i=
5(temp=10110)となった時点で、S303においてtem
p≧T3(i)と判断され、S306においてleng=5
−1=4が算出される。leng=4のときのT3の値は、
図12より「1010」であることから、オフセットoffs=
1011-1010=1となる。
【0017】このoffsと、i=4のときのT2の値(先頭
アドレス)とを加算することによってテーブルT1にお
ける復号化データのアドレスaddrが求められ、これによ
り復号化データが求められる。即ち、図14に示すよう
に、テーブルT2の値をインデックスとしてoffs分デー
タ位置をシフトさせることによってテーブルT1に格納
された復号化データdata(V4,1)が得られる。
アドレス)とを加算することによってテーブルT1にお
ける復号化データのアドレスaddrが求められ、これによ
り復号化データが求められる。即ち、図14に示すよう
に、テーブルT2の値をインデックスとしてoffs分デー
タ位置をシフトさせることによってテーブルT1に格納
された復号化データdata(V4,1)が得られる。
【0018】以上のようにして1符号語の復号が行われ
る。もし、続けて符号語wordの次の符号語を復号するた
めには符号長leng分バッファメモリの先頭から捨てる
か、或いは或いはビットストリームの先頭のポインタを
進めるなどして、次の符号語の頭出しを行えばよい。
る。もし、続けて符号語wordの次の符号語を復号するた
めには符号長leng分バッファメモリの先頭から捨てる
か、或いは或いはビットストリームの先頭のポインタを
進めるなどして、次の符号語の頭出しを行えばよい。
【0019】
【発明が解決しようとする課題】しかしながら、上述し
た従来の復号装置では、予め符号長毎に値が最小の符号
語を格納されたテーブルT3を作成しなければならない
ため、テーブル作成のためのオーバーヘッドが発生する
という問題があった。即ち、JPEGに準じたビットス
トリームを復号する場合は、符号長毎の符号数で可変長
テーブルが定義されるため、テーブル作成のオーバーヘ
ッドが大きいという問題がある。
た従来の復号装置では、予め符号長毎に値が最小の符号
語を格納されたテーブルT3を作成しなければならない
ため、テーブル作成のためのオーバーヘッドが発生する
という問題があった。即ち、JPEGに準じたビットス
トリームを復号する場合は、符号長毎の符号数で可変長
テーブルが定義されるため、テーブル作成のオーバーヘ
ッドが大きいという問題がある。
【0020】また、テーブルT3には、各符号語長毎に
表せる最大符号語数分の記憶容量を確保しておくため
に、ハードロジックで136ビット(=1+2+3+4+5+6+7+8+9+
10+11+12+13+14+15+16)、RAMであれば256ビット(1
6ビット×16)必要となるため、その量が大きいという
問題もある。そして、符号語と符号長毎に値が最小の符
号語を比較する比較器の大きさは16ビットも必要であ
り、装置の大型化及び処理速度の遅延を生じるという問
題もある。
表せる最大符号語数分の記憶容量を確保しておくため
に、ハードロジックで136ビット(=1+2+3+4+5+6+7+8+9+
10+11+12+13+14+15+16)、RAMであれば256ビット(1
6ビット×16)必要となるため、その量が大きいという
問題もある。そして、符号語と符号長毎に値が最小の符
号語を比較する比較器の大きさは16ビットも必要であ
り、装置の大型化及び処理速度の遅延を生じるという問
題もある。
【0021】そこで、本発明は上記事情に鑑みて成され
たものであり、復号の際に必要とされるテーブルのサイ
ズを小さくすることによって、復号装置の小型化及び処
理速度の高速化を図ることのできる可変長符号の復号装
置、復号方法及び復号プログラムを記録したコンピュー
タ読みと可能な記録媒体を提供することを課題とする。
たものであり、復号の際に必要とされるテーブルのサイ
ズを小さくすることによって、復号装置の小型化及び処
理速度の高速化を図ることのできる可変長符号の復号装
置、復号方法及び復号プログラムを記録したコンピュー
タ読みと可能な記録媒体を提供することを課題とする。
【0022】
【課題を解決するための手段】上記の課題を達成するた
めに請求項1に係る発明は、符号長に対応する符号語数
及び符号語に対応する復号化データとからなる定義部分
と、符号語列からなる実データ部分とを有する可変長符
号の復号化方法であって、前記符号長をインデックスと
して、各インデックスに対応する符号語数を値とするテ
ーブルを作成し、前記テーブル中の各インデックスに対
して最小値から昇順に、レジスタの値としてこれの末
尾に前記実データ部分の先頭から順に1ビットの値を付
加し、前記インデックスに対応するテーブルの値と前
記レジスタの値とを比較し、このにおいて前記レジス
タの値が前記テーブルの値より大きいか又は等しい場合
には、そのときのテーブルの値を前記レジスタの値から
減算するとともに、この減算したレジスタの値と次のイ
ンデックスについて前記及びを行い、前記におい
て前記レジスタの値が前記テーブルの値より小さい場合
には、そのときのインデックスを符号長として検出し、
この検出された符号長と最終的な前記レジスタの値とか
ら前記復号化データを特定することを特徴とする可変長
符号の復号方法である。
めに請求項1に係る発明は、符号長に対応する符号語数
及び符号語に対応する復号化データとからなる定義部分
と、符号語列からなる実データ部分とを有する可変長符
号の復号化方法であって、前記符号長をインデックスと
して、各インデックスに対応する符号語数を値とするテ
ーブルを作成し、前記テーブル中の各インデックスに対
して最小値から昇順に、レジスタの値としてこれの末
尾に前記実データ部分の先頭から順に1ビットの値を付
加し、前記インデックスに対応するテーブルの値と前
記レジスタの値とを比較し、このにおいて前記レジス
タの値が前記テーブルの値より大きいか又は等しい場合
には、そのときのテーブルの値を前記レジスタの値から
減算するとともに、この減算したレジスタの値と次のイ
ンデックスについて前記及びを行い、前記におい
て前記レジスタの値が前記テーブルの値より小さい場合
には、そのときのインデックスを符号長として検出し、
この検出された符号長と最終的な前記レジスタの値とか
ら前記復号化データを特定することを特徴とする可変長
符号の復号方法である。
【0023】この請求項1に係る発明によれば、従来の
ように符号長をインデックスとしそれに対応する符号の
最小或いは最大の値を保持するテーブルを作成するのに
比べ、符号長をインデックスとしそれに対応する符号語
数を値として保持するテーブルを作成する方がオーバー
ヘッドが小さく可変長符号の復号処理の省力化を図るこ
とができる。
ように符号長をインデックスとしそれに対応する符号の
最小或いは最大の値を保持するテーブルを作成するのに
比べ、符号長をインデックスとしそれに対応する符号語
数を値として保持するテーブルを作成する方がオーバー
ヘッドが小さく可変長符号の復号処理の省力化を図るこ
とができる。
【0024】請求項2に係る発明は、上記請求項1に係
る可変長符号の復号方法において、前記テーブルにおけ
るインデックスの最小値から前記検出した符号長までの
符号語数を累積加算し、この累積加算された値に前記最
終的なレジスタの値を加えたものを前記復号化データの
アドレスとして用いることを特徴とするものである。
る可変長符号の復号方法において、前記テーブルにおけ
るインデックスの最小値から前記検出した符号長までの
符号語数を累積加算し、この累積加算された値に前記最
終的なレジスタの値を加えたものを前記復号化データの
アドレスとして用いることを特徴とするものである。
【0025】この請求項2に係る発明によれば、復号化
データを格納するテーブルのアドレスを生成する際に、
符号長をインデックスとしそれに対応する符号の最小或
いは最大の値に対応するアドレスを持つテーブルが不要
となるため、復号処理の省力化を図ることができる。
データを格納するテーブルのアドレスを生成する際に、
符号長をインデックスとしそれに対応する符号の最小或
いは最大の値に対応するアドレスを持つテーブルが不要
となるため、復号処理の省力化を図ることができる。
【0026】請求項3に係る発明は、符号長に対応する
符号語数及び符号語に対応する復号化データとからなる
定義部分と、符号語列からなる実データ部分とを有する
可変長符号の復号装置であって、前記符号長をインデッ
クスとして各インデックスに対応する前記符号語数を値
とするテーブルを格納する記憶部と、前記テーブル中の
各インデックスに対して最小値から昇順に、レジスタ
の値としてこれの末尾に前記実データ部分の先頭から順
に1ビットの値を付加し、前記インデックスに対応す
るテーブルの値と前記レジスタの値とを比較し、この
において前記レジスタの値が前記テーブルの値より大き
いか又は等しい場合には、そのときのテーブルの値を前
記レジスタの値から減算するとともに、この減算したレ
ジスタの値と次のインデックスについて前記及びを
行い、前記において前記レジスタの値が前記テーブル
の値より小さい場合には、そのときのインデックスを符
号長として検出する比較演算部とを備えることを特徴と
する可変長符号の復号装置である。
符号語数及び符号語に対応する復号化データとからなる
定義部分と、符号語列からなる実データ部分とを有する
可変長符号の復号装置であって、前記符号長をインデッ
クスとして各インデックスに対応する前記符号語数を値
とするテーブルを格納する記憶部と、前記テーブル中の
各インデックスに対して最小値から昇順に、レジスタ
の値としてこれの末尾に前記実データ部分の先頭から順
に1ビットの値を付加し、前記インデックスに対応す
るテーブルの値と前記レジスタの値とを比較し、この
において前記レジスタの値が前記テーブルの値より大き
いか又は等しい場合には、そのときのテーブルの値を前
記レジスタの値から減算するとともに、この減算したレ
ジスタの値と次のインデックスについて前記及びを
行い、前記において前記レジスタの値が前記テーブル
の値より小さい場合には、そのときのインデックスを符
号長として検出する比較演算部とを備えることを特徴と
する可変長符号の復号装置である。
【0027】請求項3に係る発明によれば、従来のよう
に符号長をインデックスとし、それに対応する符号の最
小或いは最大の値を保持するテーブルに比べ、符号長を
インデックスとしそれに対応する符号語の数を値として
保持するテーブルの方が規模が小さくて済むことから、
テーブルを記憶する記憶部の縮小化を図ることができる
とともに、比較演算部の負担を軽減することができ、比
較演算部の小型化、及び高速化を図ることができる。
に符号長をインデックスとし、それに対応する符号の最
小或いは最大の値を保持するテーブルに比べ、符号長を
インデックスとしそれに対応する符号語の数を値として
保持するテーブルの方が規模が小さくて済むことから、
テーブルを記憶する記憶部の縮小化を図ることができる
とともに、比較演算部の負担を軽減することができ、比
較演算部の小型化、及び高速化を図ることができる。
【0028】請求項4に係る発明は、請求項3に係る可
変長符号の復号装置において、前記テーブルにおけるイ
ンデックスの最小値から前記検出した符号長までの符号
語数を累積加算する累積加算部を備えることを特徴とす
るものである。
変長符号の復号装置において、前記テーブルにおけるイ
ンデックスの最小値から前記検出した符号長までの符号
語数を累積加算する累積加算部を備えることを特徴とす
るものである。
【0029】請求項4に係る発明によれば、復号化デー
タを格納するテーブルのアドレスを生成する際に、符号
長をインデックスとしそれに対応する符号の最小或いは
最大の値に対応するアドレスを持つテーブルが不要にな
るため、その分の記憶領域が省略可能となり、メモリ等
の記憶装置を有効に利用することができる。
タを格納するテーブルのアドレスを生成する際に、符号
長をインデックスとしそれに対応する符号の最小或いは
最大の値に対応するアドレスを持つテーブルが不要にな
るため、その分の記憶領域が省略可能となり、メモリ等
の記憶装置を有効に利用することができる。
【0030】請求項5に係る発明は、符号長に対応する
符号語数及び符号語に対応する復号化データとからなる
定義部分と、符号語列からなる実データ部分とを有する
可変長符号の復号プログラムを記録したコンピュータ読
み取り可能な記録媒体であって、前記符号長をインデッ
クスとして、各インデックスに対応する符号語数を値と
するテーブルを作成するステップと、前記テーブル中の
各インデックスに対して最小値から昇順に、レジスタ
の値としてこれの末尾に前記実データ部分の先頭から順
に1ビットの値を付加するステップと、前記インデッ
クスに対応するテーブルの値と前記レジスタの値とを比
較するステップと、のステップにおいて前記レジスタ
の値が前記テーブルの値より大きいか又は等しい場合に
は、そのときのテーブルの値を前記レジスタの値から減
算するとともに、この減算したレジスタの値と次のイン
デックスについて前記及びを行うステップと、前記
のステップにおいて前記レジスタの値が前記テーブル
の値より小さい場合には、そのときのインデックスを符
号長として検出するステップと、この検出された符号長
と最終的な前記レジスタの値とから前記復号化データを
特定するステップとを有することを特徴とする可変長符
号の復号プログラムを記録したコンピュータ読み取り可
能な記録媒体である。
符号語数及び符号語に対応する復号化データとからなる
定義部分と、符号語列からなる実データ部分とを有する
可変長符号の復号プログラムを記録したコンピュータ読
み取り可能な記録媒体であって、前記符号長をインデッ
クスとして、各インデックスに対応する符号語数を値と
するテーブルを作成するステップと、前記テーブル中の
各インデックスに対して最小値から昇順に、レジスタ
の値としてこれの末尾に前記実データ部分の先頭から順
に1ビットの値を付加するステップと、前記インデッ
クスに対応するテーブルの値と前記レジスタの値とを比
較するステップと、のステップにおいて前記レジスタ
の値が前記テーブルの値より大きいか又は等しい場合に
は、そのときのテーブルの値を前記レジスタの値から減
算するとともに、この減算したレジスタの値と次のイン
デックスについて前記及びを行うステップと、前記
のステップにおいて前記レジスタの値が前記テーブル
の値より小さい場合には、そのときのインデックスを符
号長として検出するステップと、この検出された符号長
と最終的な前記レジスタの値とから前記復号化データを
特定するステップとを有することを特徴とする可変長符
号の復号プログラムを記録したコンピュータ読み取り可
能な記録媒体である。
【0031】請求項6に係る発明は、請求項5に係る可
変長符号の復号プログラムにおいて、前記テーブルにお
けるインデックスの最小値から前記検出した符号長まで
の符号語数を累積加算するステップと、この累積加算さ
れた値に前記最終的なレジスタの値を加えたものを前記
復号化データのアドレスとして前記復号化データを特定
するステップとを有することを特徴とするものである。
変長符号の復号プログラムにおいて、前記テーブルにお
けるインデックスの最小値から前記検出した符号長まで
の符号語数を累積加算するステップと、この累積加算さ
れた値に前記最終的なレジスタの値を加えたものを前記
復号化データのアドレスとして前記復号化データを特定
するステップとを有することを特徴とするものである。
【0032】この請求項5及び6に係る発明によれば、
テーブルの縮小化によって記憶領域の縮小化や演算処理
の高速化を図ることができるという有用な復号化プログ
ラムの保存、運搬を容易に行うことができるとともに、
この記録媒体を介して復号プログラムをパーソナルコン
ピュータ等の汎用コンピュータにインストールすること
によって、上述した復号方法及び復号装置を容易に実現
することができる。
テーブルの縮小化によって記憶領域の縮小化や演算処理
の高速化を図ることができるという有用な復号化プログ
ラムの保存、運搬を容易に行うことができるとともに、
この記録媒体を介して復号プログラムをパーソナルコン
ピュータ等の汎用コンピュータにインストールすること
によって、上述した復号方法及び復号装置を容易に実現
することができる。
【0033】
【発明の実施の形態】[第1実施形態] (復号装置の構成)以下、この発明に係る復号装置の第
1実施形態について説明する。図1は、本実施形態に係
る復号装置の構成を示すブロック図である。
1実施形態について説明する。図1は、本実施形態に係
る復号装置の構成を示すブロック図である。
【0034】同図に示すように、本実施形態に係る復号
装置は、テーブルT1,T2及びT4と、ビットストリ
ームを蓄積するバッファメモリ1と、バッファメモリ1
に蓄積された実データ部分から1ビットずつ切り出す機
能を有する符号語切り出し回路2と、符号語切り出し回
路2から受け渡されたデータの内容とテーブルT4の値
と比較する比較器31と、比較器3からの出力とテーブ
ルT2からの出力とを加算処理する加算回路4とを備え
ている。
装置は、テーブルT1,T2及びT4と、ビットストリ
ームを蓄積するバッファメモリ1と、バッファメモリ1
に蓄積された実データ部分から1ビットずつ切り出す機
能を有する符号語切り出し回路2と、符号語切り出し回
路2から受け渡されたデータの内容とテーブルT4の値
と比較する比較器31と、比較器3からの出力とテーブ
ルT2からの出力とを加算処理する加算回路4とを備え
ている。
【0035】前記テーブルT1は、符号長をインデック
スとして各符号語に対応する復号化データを格納するも
のである。前記テーブルT2は、符号長をインデックス
としてその符号長を持つ符号語の中で最小の値を持つも
のに対応する復号化データのテーブルT1内におけるア
ドレスを格納するものである。
スとして各符号語に対応する復号化データを格納するも
のである。前記テーブルT2は、符号長をインデックス
としてその符号長を持つ符号語の中で最小の値を持つも
のに対応する復号化データのテーブルT1内におけるア
ドレスを格納するものである。
【0036】前記テーブルT4は、ビットストリームの
ヘッダ部分に含まれる定義から直接生成されるものであ
り、図10に示す定義のうち符号長をインデックスとし
て、その符号長をもつ符号語の数を格納するものであ
る。
ヘッダ部分に含まれる定義から直接生成されるものであ
り、図10に示す定義のうち符号長をインデックスとし
て、その符号長をもつ符号語の数を格納するものであ
る。
【0037】比較器31は、テーブルT4中の各インデ
ックスに対して最小値から昇順に、インデックスに対応
するテーブルの値と前記レジスタの値とを比較する比較
演算部であり、具体的には、レジスタの値が前記テーブ
ルの値より大きいか又は等しい場合には、そのときのテ
ーブルの値を前記レジスタの値から減算するとともに、
この減算したレジスタについて次のインデックスについ
て順次比較を行い、レジスタの値がテーブルT4の値よ
り小さい場合には、そのときのインデックスを符号長と
して検出するものである。
ックスに対して最小値から昇順に、インデックスに対応
するテーブルの値と前記レジスタの値とを比較する比較
演算部であり、具体的には、レジスタの値が前記テーブ
ルの値より大きいか又は等しい場合には、そのときのテ
ーブルの値を前記レジスタの値から減算するとともに、
この減算したレジスタについて次のインデックスについ
て順次比較を行い、レジスタの値がテーブルT4の値よ
り小さい場合には、そのときのインデックスを符号長と
して検出するものである。
【0038】(復号装置の動作)次に、上記構成を有す
る本実施形態に係る復号装置によって、例えば、JPE
Gに関する可変長符号の復号をする場合について説明す
る。
る本実施形態に係る復号装置によって、例えば、JPE
Gに関する可変長符号の復号をする場合について説明す
る。
【0039】先ず、テーブルT1及びT2を従来と同様
の方法によって作成する。即ち、ヘッダ部分から各符号
に対応する復号化データを切り出してテーブルT1に格
納し、各符号長に対応するの符号のうち最小の符号に対
応する復号化データが格納されているテーブルT1にお
ける先頭アドレスを、テーブルT2に格納する。
の方法によって作成する。即ち、ヘッダ部分から各符号
に対応する復号化データを切り出してテーブルT1に格
納し、各符号長に対応するの符号のうち最小の符号に対
応する復号化データが格納されているテーブルT1にお
ける先頭アドレスを、テーブルT2に格納する。
【0040】さらに、本実施形態では、図2に示すよう
に、ビットストリームのヘッダ部分に含まれる定義のう
ち、符号長をインデックスとしてその符号長をもつ符号
語の数をT4に格納する。
に、ビットストリームのヘッダ部分に含まれる定義のう
ち、符号長をインデックスとしてその符号長をもつ符号
語の数をT4に格納する。
【0041】そして、以上のように作成されたテーブル
T1,T2及びT4を用いた復号は、具体的には、以下
の手順によって行われる。図3は、本実施形態に係る可
変長符号の復号を行う手順を示すフロー図である。
T1,T2及びT4を用いた復号は、具体的には、以下
の手順によって行われる。図3は、本実施形態に係る可
変長符号の復号を行う手順を示すフロー図である。
【0042】先ず、同図に示すように、ビットストリー
ムを先頭から順にバッファメモリ1に格納し、レジスタ
tempを0にするとともに、カウンタiを1として初期化
を行う(S101)。
ムを先頭から順にバッファメモリ1に格納し、レジスタ
tempを0にするとともに、カウンタiを1として初期化
を行う(S101)。
【0043】そして、符号長を仮定するカウンタiを用
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビットを取り出してtempの
末尾に付加して比較器31に出力する(S102)。次
いで、比較器31において、tempの値とテーブルT4か
ら得られた符号長iにおける符号語数T4(i)の大き
さを比較する(S103)。
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビットを取り出してtempの
末尾に付加して比較器31に出力する(S102)。次
いで、比較器31において、tempの値とテーブルT4か
ら得られた符号長iにおける符号語数T4(i)の大き
さを比較する(S103)。
【0044】その結果tempの方がT4(i)と同じか大
きい場合は、tempからT4(i)を減じる(S10
4)。一方、T4(i)がtempの値がより大きくなるま
でこの操作(S102〜S105)をiが1から16ま
で行い、初めてT4(i)がtempよりも大きくなる時点
のiを用いて符号長lengはiで与えられ、その時点にお
けるtempを、符号長lengで最小の値を持つ符号語からの
差(オフセット)offsとする(S106)。
きい場合は、tempからT4(i)を減じる(S10
4)。一方、T4(i)がtempの値がより大きくなるま
でこの操作(S102〜S105)をiが1から16ま
で行い、初めてT4(i)がtempよりも大きくなる時点
のiを用いて符号長lengはiで与えられ、その時点にお
けるtempを、符号長lengで最小の値を持つ符号語からの
差(オフセット)offsとする(S106)。
【0045】そして、テーブルT2において符号長leng
をインデックスとして参照することにより、その符号長
で最小の値を持つ符号語のテーブルT1におけるアドレ
スT2(leng)を得るとともに、このT2(leng)とof
fsを加えた値をポインタ(addr)を算出し(S107)
する。次いで、このポインタを用いてテーブルT1を引
くことにより、復号化データdataを得ることができる
(S108)。
をインデックスとして参照することにより、その符号長
で最小の値を持つ符号語のテーブルT1におけるアドレ
スT2(leng)を得るとともに、このT2(leng)とof
fsを加えた値をポインタ(addr)を算出し(S107)
する。次いで、このポインタを用いてテーブルT1を引
くことにより、復号化データdataを得ることができる
(S108)。
【0046】以上の手順について具体的に説明すると、
例えば、ビットストリームの先頭が1011011011101101で
あった場合、図3中の比較ステップS103の時点の各
変数の値は図4の様になる。なお、図4においてはレジ
スタtempの値は10進法によって表記している。
例えば、ビットストリームの先頭が1011011011101101で
あった場合、図3中の比較ステップS103の時点の各
変数の値は図4の様になる。なお、図4においてはレジ
スタtempの値は10進法によって表記している。
【0047】図4に示すように、初期化されたレジスタ
tempは最初0であるが(S101)、これに1ビット目
の値「1」が付加されて、「1」となる(S102)。
T4(1)の値は0であるため、この時点では、tempの
値の方が大きいこととなりS104以降の処理が行われ
ることとなる。即ち、tempの値「1」からT4(1)の
値「0」が減算され、この値に次ビットの値bit[2]の
値「0」が付加される(S104〜S102)。図4で
は、10進法で表現されていることから、このbit[i]の
値の付加をするときには、temp×2+bit[i]の式で求め
られる。従って、符号長2のときのtempの値は、1×2
+0=2となる。
tempは最初0であるが(S101)、これに1ビット目
の値「1」が付加されて、「1」となる(S102)。
T4(1)の値は0であるため、この時点では、tempの
値の方が大きいこととなりS104以降の処理が行われ
ることとなる。即ち、tempの値「1」からT4(1)の
値「0」が減算され、この値に次ビットの値bit[2]の
値「0」が付加される(S104〜S102)。図4で
は、10進法で表現されていることから、このbit[i]の
値の付加をするときには、temp×2+bit[i]の式で求め
られる。従って、符号長2のときのtempの値は、1×2
+0=2となる。
【0048】そして、i=4(temp=1)となった時点で、
S103においてtemp<T4(i)と判断され、S10
6においてleng=i=4が算出される。このとき、temp
の値がそのままオフセットoffsとなることからoffs=1
となる。
S103においてtemp<T4(i)と判断され、S10
6においてleng=i=4が算出される。このとき、temp
の値がそのままオフセットoffsとなることからoffs=1
となる。
【0049】このoffsと、i=4のときのT2の値(先頭
アドレス)とを加算することによってテーブルT1にお
ける復号化データのアドレスaddrが求められ、これによ
り復号化データが求められる。即ち、従来技術と同様、
図14に示すように、テーブルT2において、iの値を
インデックスと照合して先頭アドレスを求め、これから
offs分データ位置をシフトさせることによってテーブル
T1に格納された復号化データdata(V4,1)を得る
ことができる。
アドレス)とを加算することによってテーブルT1にお
ける復号化データのアドレスaddrが求められ、これによ
り復号化データが求められる。即ち、従来技術と同様、
図14に示すように、テーブルT2において、iの値を
インデックスと照合して先頭アドレスを求め、これから
offs分データ位置をシフトさせることによってテーブル
T1に格納された復号化データdata(V4,1)を得る
ことができる。
【0050】以上のようにして1符号語の復号が行われ
る。もし、続けて符号語wordの次の符号語を復号するた
めには、符号長leng分バッファメモリの先頭から捨てる
か、或いはビットストリームの先頭ポインタを進めるな
どして、次の符号語の頭出しを行えばよい。
る。もし、続けて符号語wordの次の符号語を復号するた
めには、符号長leng分バッファメモリの先頭から捨てる
か、或いはビットストリームの先頭ポインタを進めるな
どして、次の符号語の頭出しを行えばよい。
【0051】以上説明した本実施形態に係る復号装置に
よれば、テーブルT4は、可変長符号テーブルの定義を
そのまま格納するだけであるため、従来手法と比較する
と、テーブル作成のオーバーヘッドを軽減することがで
きる。また、JPEGの場合は、各符号長に対する符号
語数の最大数が8ビットで表現できる数に制限されてい
ることから、そのテーブルT4の大きさは、各符号語長
毎に表せる最大符号語数分の記憶容量を確保しておくた
めに、ランダムロジックで100ビット(=1+2+3+4+5+6
+7+8+8+8+8+8+8+8+8+8ビット)、RAMで128ビット
(8ビット×16)であるため、従来のテーブルT3と
比べて、必要とする記憶領域を縮小できるという利点を
持つ。その結果、tempとT4(i)とを比較処理する比
較器31も、8ビット用のもので十分となり、装置の小
型化を図れる。
よれば、テーブルT4は、可変長符号テーブルの定義を
そのまま格納するだけであるため、従来手法と比較する
と、テーブル作成のオーバーヘッドを軽減することがで
きる。また、JPEGの場合は、各符号長に対する符号
語数の最大数が8ビットで表現できる数に制限されてい
ることから、そのテーブルT4の大きさは、各符号語長
毎に表せる最大符号語数分の記憶容量を確保しておくた
めに、ランダムロジックで100ビット(=1+2+3+4+5+6
+7+8+8+8+8+8+8+8+8+8ビット)、RAMで128ビット
(8ビット×16)であるため、従来のテーブルT3と
比べて、必要とする記憶領域を縮小できるという利点を
持つ。その結果、tempとT4(i)とを比較処理する比
較器31も、8ビット用のもので十分となり、装置の小
型化を図れる。
【0052】[第2実施形態] (復号装置の構成)次に、本発明の第2実施形態に係る
可変長符号の復号装置について説明する。図5は、本実
施形態に係る復号装置の概略構成を示すブロック図であ
る。
可変長符号の復号装置について説明する。図5は、本実
施形態に係る復号装置の概略構成を示すブロック図であ
る。
【0053】同図に示すように、本実施形態に係る復号
装置は、テーブルT1及びT4と、ビットストリームを
蓄積し所定量のデータを出力するバッファメモリ1と、
バッファメモリ1から出力される実データ部分から1ビ
ットずつ切り出しを行う符号語切り出し回路2と、符号
語切り出し回路2から受け渡されたデータの内容を解析
する比較器31と、比較器31からの出力及びテーブル
T4の値を累積加算処理する累積加算回路5とを備えて
いる。
装置は、テーブルT1及びT4と、ビットストリームを
蓄積し所定量のデータを出力するバッファメモリ1と、
バッファメモリ1から出力される実データ部分から1ビ
ットずつ切り出しを行う符号語切り出し回路2と、符号
語切り出し回路2から受け渡されたデータの内容を解析
する比較器31と、比較器31からの出力及びテーブル
T4の値を累積加算処理する累積加算回路5とを備えて
いる。
【0054】前記テーブルT1は、前述した従来技術及
び前記第1実施形態におけるものと同様であり、インデ
ックスから求められた符号語を格納するものである。
び前記第1実施形態におけるものと同様であり、インデ
ックスから求められた符号語を格納するものである。
【0055】前記テーブルT4は、上記第1実施形態に
係るビットストリームのヘッダ部分に含まれる定義から
直接生成されるものであり、図10に示す定義のうち符
号長をインデックスとして、その符号長をもつ符号語の
数を格納するものである。
係るビットストリームのヘッダ部分に含まれる定義から
直接生成されるものであり、図10に示す定義のうち符
号長をインデックスとして、その符号長をもつ符号語の
数を格納するものである。
【0056】累積加算回路5は、テーブルT4における
インデックスの最小値から、上記比較器31で検出した
符号長までの符号語数(T4(1)〜)を累積加算する
ものである。
インデックスの最小値から、上記比較器31で検出した
符号長までの符号語数(T4(1)〜)を累積加算する
ものである。
【0057】(復号装置の動作)第2実施形態におけ
る、JPEGに関する可変長符号の復号を行う方法は以下の
通りである。なお、本実施形態においても、1符号語を
復号する方法について説明する。
る、JPEGに関する可変長符号の復号を行う方法は以下の
通りである。なお、本実施形態においても、1符号語を
復号する方法について説明する。
【0058】先ず、予め2つのテーブルT1、T4を作
成しておく。テーブルT1は従来手法で説明したものと
同じものであり、テーブルT4は、前記第1実施形態で
説明したものと同じである。
成しておく。テーブルT1は従来手法で説明したものと
同じものであり、テーブルT4は、前記第1実施形態で
説明したものと同じである。
【0059】そして、以上のように作成されたテーブル
T1及びT4を用いた復号は、具体的には、以下の手順
によって行われる。図6は、本実施形態に係る可変長符
号の復号を行う手順を示すフロー図である。
T1及びT4を用いた復号は、具体的には、以下の手順
によって行われる。図6は、本実施形態に係る可変長符
号の復号を行う手順を示すフロー図である。
【0060】先ず、同図に示すように、ビットストリー
ムを先頭から順にバッファメモリ1に格納し、headを先
頭番地とするとともに、レジスタtemp及びカウンタiの
初期化を行う(S201)。
ムを先頭から順にバッファメモリ1に格納し、headを先
頭番地とするとともに、レジスタtemp及びカウンタiの
初期化を行う(S201)。
【0061】そして、符号長を仮定するカウンタiを用
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビット目を取り出してtemp
の末尾に付加して比較器31に出力する(S202)。
次いで、比較器31において、tempの値とテーブルT4
から得られた符号長iにおける符号語数T4(i)の大
きさを比較する(S203)。
いて以下の操作を行う。先ず、バッファメモリ2から出
力されたデータの先頭からiビット目を取り出してtemp
の末尾に付加して比較器31に出力する(S202)。
次いで、比較器31において、tempの値とテーブルT4
から得られた符号長iにおける符号語数T4(i)の大
きさを比較する(S203)。
【0062】その結果、tempの値がT4(i)と大きい
か或いは同じ場合は、tempからT4(i)を減じるとと
もに、累積加算回路5においてheadにT4(i)を加算
する(S204)。この操作(S202〜S205)
を、T4(i)がtempの値がより大きくなるまでiが1
から16まで行う。この操作を繰り返すことによりhead
の値は、各符号長におけるT4(i)を累積加算したも
のとなり、このheadの値が符号長lengで最小の値を持つ
符号語のテーブルT1におけるアドレスとなる。
か或いは同じ場合は、tempからT4(i)を減じるとと
もに、累積加算回路5においてheadにT4(i)を加算
する(S204)。この操作(S202〜S205)
を、T4(i)がtempの値がより大きくなるまでiが1
から16まで行う。この操作を繰り返すことによりhead
の値は、各符号長におけるT4(i)を累積加算したも
のとなり、このheadの値が符号長lengで最小の値を持つ
符号語のテーブルT1におけるアドレスとなる。
【0063】次いで、この操作(S202〜S205)
を繰り返し、初めてT4(i)がtempよりも大きくなる
時点のiを用いて符号長lengを求め、その時点における
tempを符号長lengで最小の値を持つ符号語からの差(オ
フセット)offsとする(S206)。
を繰り返し、初めてT4(i)がtempよりも大きくなる
時点のiを用いて符号長lengを求め、その時点における
tempを符号長lengで最小の値を持つ符号語からの差(オ
フセット)offsとする(S206)。
【0064】そして、T4(i)を累積加算して得られ
たheadとoffsを加えた値をポインタ(addr)を算出し
(S207)、このポインタを用いてテーブルT1を照
合することにより、復号化データdataを得ることができ
る(S208)。
たheadとoffsを加えた値をポインタ(addr)を算出し
(S207)、このポインタを用いてテーブルT1を照
合することにより、復号化データdataを得ることができ
る(S208)。
【0065】例えば、ビットストリームの先頭が101101
1011101101であった場合、図3中の比較ステップS20
3の時点の各変数の値は図7の様になる。即ち、i=4(t
emp=1)となった時点で、S203においてtemp<T4
(i)と判断され、このときのtempの値がそのままオフ
セットoffsとなることからoffs=1となる。また、head
の値はT4(1)〜T4(3)までの各値を累積加算し
たものとなる。このoffs(=temp)と、累積加算されたh
eadとを加算することによってテーブルT1における復
号化データのアドレスaddrが求められ、これにより復号
化データが求められる。
1011101101であった場合、図3中の比較ステップS20
3の時点の各変数の値は図7の様になる。即ち、i=4(t
emp=1)となった時点で、S203においてtemp<T4
(i)と判断され、このときのtempの値がそのままオフ
セットoffsとなることからoffs=1となる。また、head
の値はT4(1)〜T4(3)までの各値を累積加算し
たものとなる。このoffs(=temp)と、累積加算されたh
eadとを加算することによってテーブルT1における復
号化データのアドレスaddrが求められ、これにより復号
化データが求められる。
【0066】以上のようにして1符号語の復号が行われ
る。もし、続けて符号語wordの次の符号語を復号するた
めには符号長leng分バッファメモリの先頭から捨てる、
或いはビットストリームの先頭ポインタを進めるなどし
て、次の符号語の頭出しを行えばよい。
る。もし、続けて符号語wordの次の符号語を復号するた
めには符号長leng分バッファメモリの先頭から捨てる、
或いはビットストリームの先頭ポインタを進めるなどし
て、次の符号語の頭出しを行えばよい。
【0067】以上説明した本実施形態に係る復号装置に
よれば、テーブルT4は、可変長符号テーブルの定義を
そのまま格納するだけであるため、従来手法と比較する
と、テーブル作成のオーバーヘッドを軽減することがで
きる。また、そのテーブルT4の大きさはランダムロジ
ックで100ビット(=1+2+3+4+5+6+7+8+8+8+8+8+8+8+8
+8ビット)、RAMで128ビット(8ビット×16)
であるため、従来のテーブルT3と比べて、必要とする
記憶領域を縮小できるという利点を持つ。その結果、te
mpとT4(i)とを比較処理する比較器31も、8ビッ
ト用のもので十分となり、装置の小型化を図れる。さら
に、headを計算する累積加算回路は必要となるもののテ
ーブルT2が不要になり、メモリ等の負担をより軽減す
ることができる。
よれば、テーブルT4は、可変長符号テーブルの定義を
そのまま格納するだけであるため、従来手法と比較する
と、テーブル作成のオーバーヘッドを軽減することがで
きる。また、そのテーブルT4の大きさはランダムロジ
ックで100ビット(=1+2+3+4+5+6+7+8+8+8+8+8+8+8+8
+8ビット)、RAMで128ビット(8ビット×16)
であるため、従来のテーブルT3と比べて、必要とする
記憶領域を縮小できるという利点を持つ。その結果、te
mpとT4(i)とを比較処理する比較器31も、8ビッ
ト用のもので十分となり、装置の小型化を図れる。さら
に、headを計算する累積加算回路は必要となるもののテ
ーブルT2が不要になり、メモリ等の負担をより軽減す
ることができる。
【0068】[可変長符号の復号プログラム]なお、上
記可変長符号の復号方法及び復号装置は、所定のプログ
ラム言語で記述された可変長符号の復号プログラムを作
成し、この復号プログラムを例えばパーソナルコンピュ
ータ等の汎用コンピュータにインストールすることによ
っても実現することができる。すなわち、上述した図3
及び図6に示した復号方法の各処理をコンピュータによ
って実現可能に所定のプログラム言語で記述する。
記可変長符号の復号方法及び復号装置は、所定のプログ
ラム言語で記述された可変長符号の復号プログラムを作
成し、この復号プログラムを例えばパーソナルコンピュ
ータ等の汎用コンピュータにインストールすることによ
っても実現することができる。すなわち、上述した図3
及び図6に示した復号方法の各処理をコンピュータによ
って実現可能に所定のプログラム言語で記述する。
【0069】そして、このような可変長符号の復号プロ
グラムは、図8に示すような、汎用コンピュータ15で
読み取り可能な記録媒体16〜19に記録することがで
きる。具体的には、同図に示すような、フロッピーディ
スク16やカセットテープ19等の磁気記録媒体、若し
くはCD−ROM17等の光ディスクの他、RAMカー
ド18などのコンピュータで読み取り可能な記録媒体に
記録することができる。
グラムは、図8に示すような、汎用コンピュータ15で
読み取り可能な記録媒体16〜19に記録することがで
きる。具体的には、同図に示すような、フロッピーディ
スク16やカセットテープ19等の磁気記録媒体、若し
くはCD−ROM17等の光ディスクの他、RAMカー
ド18などのコンピュータで読み取り可能な記録媒体に
記録することができる。
【0070】そして、この復号プログラムを記録したコ
ンピュータ読み取り可能な記録媒体によれば、可変長符
号の復号の際に必要とされるメモリ等の負担を軽減する
ことができるという有用なプログラムの保存、運搬及び
インストールを容易に行うことができる。
ンピュータ読み取り可能な記録媒体によれば、可変長符
号の復号の際に必要とされるメモリ等の負担を軽減する
ことができるという有用なプログラムの保存、運搬及び
インストールを容易に行うことができる。
【0071】
【発明の効果】本発明に係る可変長符号の復号方法及び
復号装置によれば、可変長符号の復号の際に必要とされ
るテーブルのサイズを小さくし、又は不要とすることに
よって、記憶装置の負担軽減や、復号装置の小型化及び
処理速度の高速化を図ることができる。
復号装置によれば、可変長符号の復号の際に必要とされ
るテーブルのサイズを小さくし、又は不要とすることに
よって、記憶装置の負担軽減や、復号装置の小型化及び
処理速度の高速化を図ることができる。
【0072】又、本発明の復号プログラムを記録したコ
ンピュータ読み取り可能な記録媒体可変長符号の復号の
際に必要とされるメモリ等の負担を軽減することができ
るという有用なプログラムの保存、運搬及びインストー
ルを容易に行うことができる。
ンピュータ読み取り可能な記録媒体可変長符号の復号の
際に必要とされるメモリ等の負担を軽減することができ
るという有用なプログラムの保存、運搬及びインストー
ルを容易に行うことができる。
【図1】本発明の第1実施形態に係る復号装置の概略構
成を示すブロック図である。
成を示すブロック図である。
【図2】第1実施形態に係る復号装置で作成されるテー
ブルT4を示す説明図である。
ブルT4を示す説明図である。
【図3】第1実施形態に係る復号方法の処理手順を示す
フロー図である。
フロー図である。
【図4】第1実施形態に係る復号方法における比較処理
の内容を示す説明図である。
の内容を示す説明図である。
【図5】本発明の第2実施形態に係る復号装置の概略構
成を示すブロック図である。
成を示すブロック図である。
【図6】第2実施形態に係る復号方法の処理手順を示す
フロー図である。
フロー図である。
【図7】第2実施形態に係る復号方法における比較処理
の内容を示す説明図である。
の内容を示す説明図である。
【図8】本発明の可変長符号の復号プログラムを記録し
たコンピュータ読み取り可能な記録媒体を示す斜視図で
ある。
たコンピュータ読み取り可能な記録媒体を示す斜視図で
ある。
【図9】従来の一般的な復号装置の概略構成を示すブロ
ック図である。
ック図である。
【図10】従来の一般的な可変長符号の定義を示す説明
図である。
図である。
【図11】従来の一般的な可変長符号の定義からテーブ
ルを作成する際の手順を示す説明図である。
ルを作成する際の手順を示す説明図である。
【図12】従来の一般的な可変長符号の復号の際に作成
されるテーブルT3の内容を示す説明図である。
されるテーブルT3の内容を示す説明図である。
【図13】従来の一般的な復号方法における比較処理の
内容を示す説明図である。
内容を示す説明図である。
【図14】従来の一般的な可変長符号の復号の際に作成
されるテーブルT1,T2の内容を示す説明図である。
されるテーブルT1,T2の内容を示す説明図である。
【図15】従来の一般的な復号方法の処理手順を示すフ
ロー図である。
ロー図である。
1…バッファメモリ、2…符号語切り出し回路、31…
比較器 4…加算回路、5…累積加算回路、T1,T2,T4…
テーブル 15…汎用コンピュータ、16…フロッピーディスク、
17…CD−ROM 18…RAM、19…カセットテープ
比較器 4…加算回路、5…累積加算回路、T1,T2,T4…
テーブル 15…汎用コンピュータ、16…フロッピーディスク、
17…CD−ROM 18…RAM、19…カセットテープ
Claims (6)
- 【請求項1】 符号長に対応する符号語数及び符号語に
対応する復号化データとからなる定義部分と、符号語列
からなる実データ部分とを有する可変長符号の復号方法
であって、 前記符号長をインデックスとして、各インデックスに対
応する符号語数を値とするテーブルを作成し、 前記テーブル中の各インデックスに対して最小値から昇
順に、 レジスタの値としてこれの末尾に前記実データ部分の
先頭から1ビット目の値を付加し、 前記インデックスに対応するテーブルの値と前記レジ
スタの値とを比較し、 このにおいて前記レジスタの値が前記テーブルの値よ
り大きいか又は等しい場合には、そのときのテーブルの
値を前記レジスタの値から減算するとともに、この減算
したレジスタの値と次のインデックスについて前記及
びを行い、 前記において前記レジスタの値が前記テーブルの値よ
り小さい場合には、そのときのインデックスを符号長と
して検出し、 この検出された符号長と最終的な前記レジスタの値とか
ら前記復号化データを特定することを特徴とする可変長
符号の復号方法。 - 【請求項2】 前記テーブルにおけるインデックスの最
小値から前記検出した符号長までの符号語数を累積加算
し、この累積加算された値に前記最終的なレジスタの値
を加えたものを前記復号化データのアドレスとして用い
ることを特徴とする請求項1に記載の可変長符号の復号
方法。 - 【請求項3】 符号長に対応する符号語数及び符号語に
対応する復号化データとからなる定義部分と、符号語列
からなる実データ部分とを有する可変長符号の復号装置
であって、 前記符号長をインデックスとして各インデックスに対応
する前記符号語数を値とするテーブルを格納する記憶部
と、 前記テーブル中の各インデックスに対して最小値から昇
順に、 レジスタの値としてこれの末尾に前記実データ部分の
先頭から順に1ビットの値を付加し、 前記インデックスに対応するテーブルの値と前記レジ
スタの値とを比較し、 このにおいて前記レジスタの値が前記テーブルの値よ
り大きいか又は等しい場合には、そのときのテーブルの
値を前記レジスタの値から減算するとともに、この減算
したレジスタの値と次のインデックスについて前記及
びを行い、 前記において前記レジスタの値が前記テーブルの値よ
り小さい場合には、そのときのインデックスを符号長と
して検出する比較演算部とを備えることを特徴とする可
変長符号の復号装置。 - 【請求項4】 前記テーブルにおけるインデックスの最
小値から前記検出した符号長までの符号語数を累積加算
する累積加算部を備えることを特徴とする請求項3に記
載の可変長符号の復号装置。 - 【請求項5】 符号長に対応する符号語数及び符号語に
対応する復号化データとからなる定義部分と、符号語列
からなる実データ部分とを有する可変長符号の復号プロ
グラムを記録したコンピュータ読み取り可能な記録媒体
であって、 前記符号長をインデックスとして、各インデックスに対
応する符号語数を値とするテーブルを作成するステップ
と、 前記テーブル中の各インデックスに対して最小値から昇
順に、 レジスタの値としてこれの末尾に前記実データ部分の
先頭から順に1ビットの値を付加するステップと、 前記インデックスに対応するテーブルの値と前記レジ
スタの値とを比較するステップと、 のステップにおいて前記レジスタの値が前記テーブル
の値より大きいか又は等しい場合には、そのときのテー
ブルの値を前記レジスタの値から減算するとともに、こ
の減算したレジスタと次のインデックスについて前記
及びを行うステップと、 前記のステップにおいて前記レジスタの値が前記テー
ブルの値より小さい場合には、そのときのインデックス
を符号長として検出するステップと、 この検出された符号長と最終的な前記レジスタの値とか
ら前記復号化データを特定するステップとを有すること
を特徴とする可変長符号の復号プログラムを記録したコ
ンピュータ読み取り可能な記録媒体。 - 【請求項6】 前記テーブルにおけるインデックスの最
小値から前記検出した符号長までの符号語数を累積加算
するステップと、 この累積加算された値に前記最終的なレジスタの値を加
えたものを前記復号化データのアドレスとして前記復号
化データを特定するステップとを有することを特徴とす
る請求項5に記載の可変長符号の復号プログラムを記録
したコンピュータ読み取り可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25798699A JP2001084707A (ja) | 1999-09-10 | 1999-09-10 | 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
US09/659,823 US6433709B1 (en) | 1999-09-10 | 2000-09-11 | Decoding method and decoding apparatus for variable length code words, and computer readable recording medium for storing decoding program for variable length code words |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25798699A JP2001084707A (ja) | 1999-09-10 | 1999-09-10 | 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001084707A true JP2001084707A (ja) | 2001-03-30 |
Family
ID=17313970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP25798699A Abandoned JP2001084707A (ja) | 1999-09-10 | 1999-09-10 | 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6433709B1 (ja) |
JP (1) | JP2001084707A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124679A (ja) * | 2010-12-07 | 2012-06-28 | Internatl Business Mach Corp <Ibm> | 符号化データを復号する装置及び方法 |
WO2014030180A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | 格納プログラム、格納方法、格納装置、伸張プログラム、伸張方法及び伸張装置 |
CN105245325A (zh) * | 2014-07-04 | 2016-01-13 | 罗伯特·博世有限公司 | 用于处理数据的方法和设备 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020118885A1 (en) * | 2001-02-27 | 2002-08-29 | Bernard Smeets | Font compression and retrieval |
JP2002261623A (ja) * | 2001-02-28 | 2002-09-13 | Canon Inc | 復号装置、復号方法、記憶媒体及びプログラムソフトウェア |
CN1263224C (zh) * | 2001-06-06 | 2006-07-05 | 精工爱普生株式会社 | 解码器 |
WO2005013493A1 (en) * | 2003-07-29 | 2005-02-10 | Zakrytoe Aktsionernoe Obschestvo Intel | A method for efficient variable length decoding |
US6903669B1 (en) * | 2003-10-03 | 2005-06-07 | Cirrus Logic, Inc. | Systems and methods for decoding compressed data |
TWI232429B (en) * | 2003-10-30 | 2005-05-11 | Sunplus Technology Co Ltd | Data degeneration method applied in speech decoding memory system |
JP2006254225A (ja) * | 2005-03-11 | 2006-09-21 | Toshiba Corp | 可変長符号の復号装置及び復号方法 |
JP2008199100A (ja) | 2007-02-08 | 2008-08-28 | Toshiba Corp | 可変長符号復号装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155831A (en) * | 1989-04-24 | 1992-10-13 | International Business Machines Corporation | Data processing system with fast queue store interposed between store-through caches and a main memory |
US5254991A (en) | 1991-07-30 | 1993-10-19 | Lsi Logic Corporation | Method and apparatus for decoding Huffman codes |
CA2077271C (en) * | 1991-12-13 | 1998-07-28 | David J. Craft | Method and apparatus for compressing data |
KR0139161B1 (ko) * | 1994-11-26 | 1998-05-15 | 김광호 | 가변장부호테이블의 심볼-부호어 재배정을 이용한 가변장 부호화/복호화 장치 |
JPH10163880A (ja) | 1996-10-02 | 1998-06-19 | Kawasaki Steel Corp | データ復号化器 |
-
1999
- 1999-09-10 JP JP25798699A patent/JP2001084707A/ja not_active Abandoned
-
2000
- 2000-09-11 US US09/659,823 patent/US6433709B1/en not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012124679A (ja) * | 2010-12-07 | 2012-06-28 | Internatl Business Mach Corp <Ibm> | 符号化データを復号する装置及び方法 |
US8947272B2 (en) | 2010-12-07 | 2015-02-03 | International Business Machines Corporation | Decoding encoded data |
WO2014030180A1 (ja) * | 2012-08-20 | 2014-02-27 | 富士通株式会社 | 格納プログラム、格納方法、格納装置、伸張プログラム、伸張方法及び伸張装置 |
JPWO2014030180A1 (ja) * | 2012-08-20 | 2016-07-28 | 富士通株式会社 | 符号化情報生成プログラム、符号化情報生成方法、符号化情報生成装置、復号化情報生成プログラム、復号化情報生成方法及び復号化情報生成装置 |
CN105245325A (zh) * | 2014-07-04 | 2016-01-13 | 罗伯特·博世有限公司 | 用于处理数据的方法和设备 |
CN105245325B (zh) * | 2014-07-04 | 2021-07-02 | 罗伯特·博世有限公司 | 用于处理数据的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
US6433709B1 (en) | 2002-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100624432B1 (ko) | 내용 기반 적응적 이진 산술 복호화 방법 및 장치 | |
US9390099B1 (en) | Method and apparatus for improving a compression ratio of multiple documents by using templates | |
JP3136796B2 (ja) | 可変長符号デコーダ | |
JP2001084707A (ja) | 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
US8947272B2 (en) | Decoding encoded data | |
US6809665B2 (en) | Apparatus and method for decoding variable length code | |
JP2003273748A (ja) | 改善されたハフマンデコーディング方法及び装置 | |
US6839005B1 (en) | Low memory and MIPS efficient technique for decoding Huffman codes using multi-stage, multi-bits lookup at different levels | |
US6661358B1 (en) | Decoding variable length codes without conditional branching | |
US6563442B1 (en) | Multiple symbol length lookup table | |
KR100923948B1 (ko) | 어플리케이션 특정 명령어 프로세서에 기반한 h.264cavlc 디코딩 방법 | |
KR100469884B1 (ko) | 디코딩장치및방법 | |
JP2002026737A (ja) | データ復号化装置とその方法 | |
US8854235B1 (en) | Decompression circuit and associated compression method and decompression method | |
JP3236758B2 (ja) | 可変長データのcrc演算装置 | |
US7375663B2 (en) | Data simplifying and merging method for a voice decoding memory system | |
US8963747B2 (en) | Decoding apparatus, encoding apparatus, decoding method, and encoding method | |
JP6280266B2 (ja) | 復号装置、及び復号方法 | |
JP3036868B2 (ja) | 可変長復号化器 | |
JP2006166388A (ja) | 空白となるビット列の前方配置による境界相殺方法 | |
JP2001007706A (ja) | 可変長符号復号化装置 | |
JP2002135128A (ja) | データ圧縮方法、データ圧縮・伸長方法、データ圧縮装置及びデータ圧縮・伸長装置 | |
JP2002344326A (ja) | 合成インデックスによるデータ圧縮方法及び圧縮データの完全復元方法 | |
KR100847077B1 (ko) | 허프만 부호화 방법 및 이를 구현하기 위한 프로그램이기록된 기록 매체 | |
US9558109B2 (en) | Method and apparatus for flash memory arithmetic encoding and decoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060214 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20060405 |