JP3138342B2 - 可変長符号の復号装置 - Google Patents
可変長符号の復号装置Info
- Publication number
- JP3138342B2 JP3138342B2 JP04258396A JP25839692A JP3138342B2 JP 3138342 B2 JP3138342 B2 JP 3138342B2 JP 04258396 A JP04258396 A JP 04258396A JP 25839692 A JP25839692 A JP 25839692A JP 3138342 B2 JP3138342 B2 JP 3138342B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- code
- length
- variable
- decoding
- 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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【0001】
【産業上の利用分野】本発明は、可変長符号を解読する
復号装置に関する。
復号装置に関する。
【0002】
【従来の技術】従来、復号テ−ブルを用いて可変長符号
を解読する復号装置としては、例えば、図6に示すもの
があった。図において、デ−タ変換器601は可変長符
号のビット列の8ビット毎のパラレルデ−タより後記制
御部603の出力値に応じて可変長符号のビット列より
次に復号する可変長符号デ−タの先頭より可変長符号の
最大符号長分のデ−タを出力し、復号テ−ブル602は
前記デ−タ変換器601の出力デ−タを入力して可変長
符号の復号を行い、制御部603は前記復号テ−ブル6
02の符号長デ−タ604を入力し前記デ−タ変換器6
01と外部に対して制御信号を出力する。
を解読する復号装置としては、例えば、図6に示すもの
があった。図において、デ−タ変換器601は可変長符
号のビット列の8ビット毎のパラレルデ−タより後記制
御部603の出力値に応じて可変長符号のビット列より
次に復号する可変長符号デ−タの先頭より可変長符号の
最大符号長分のデ−タを出力し、復号テ−ブル602は
前記デ−タ変換器601の出力デ−タを入力して可変長
符号の復号を行い、制御部603は前記復号テ−ブル6
02の符号長デ−タ604を入力し前記デ−タ変換器6
01と外部に対して制御信号を出力する。
【0003】次に、動作について説明する。本来、可変
長符号のビット列は文字どおり可変長であるためバイ
ト、あるいは、ワ−ドといった概念はないが、通常、可
変長符号のビット列を格納、転送するメモリ、あるい
は、可変長符号を処理するプロセッサのデ−タ幅からの
制限により、1バイト、あるいは、数バイト単位で扱う
ことが多い。したがって、以下では、可変長符号のビッ
ト列が8ビットを単位に、復号装置に入力される場合を
例にとる。図7は、7種類の事象に対して各々の可変長
符号を示す図である。図7に示した符号系に従った、図
10の符号化デ−タを用いて説明を行う。なお、復号化
デ−タは最上位ビット(MSB)から最下位ビット(L
SB)への順序である。図8は、図7で示した符号の構
成を示したものである。図9は復号テ−ブル602に格
納されているデ−タを示す。図7で示される可変長符号
の最大符号長が4ビットであるため復号テ−ブル602
には、16(2の4乗=16)箇所の復号デ−タ格納領
域が必要である。また、復号テ−ブル602には、復号
デ−タとともにその復号デ−タの符号の長さの情報も格
納記憶されている。
長符号のビット列は文字どおり可変長であるためバイ
ト、あるいは、ワ−ドといった概念はないが、通常、可
変長符号のビット列を格納、転送するメモリ、あるい
は、可変長符号を処理するプロセッサのデ−タ幅からの
制限により、1バイト、あるいは、数バイト単位で扱う
ことが多い。したがって、以下では、可変長符号のビッ
ト列が8ビットを単位に、復号装置に入力される場合を
例にとる。図7は、7種類の事象に対して各々の可変長
符号を示す図である。図7に示した符号系に従った、図
10の符号化デ−タを用いて説明を行う。なお、復号化
デ−タは最上位ビット(MSB)から最下位ビット(L
SB)への順序である。図8は、図7で示した符号の構
成を示したものである。図9は復号テ−ブル602に格
納されているデ−タを示す。図7で示される可変長符号
の最大符号長が4ビットであるため復号テ−ブル602
には、16(2の4乗=16)箇所の復号デ−タ格納領
域が必要である。また、復号テ−ブル602には、復号
デ−タとともにその復号デ−タの符号の長さの情報も格
納記憶されている。
【0004】さて、図6において、8ビット毎に区切ら
れた可変長符号のビット列は、まず、デ−タ変換器60
1に入力される。入力されたデ−タは、制御部603よ
り入力される制御信号605に応じて、入力されたデ−
タより4ビットのデ−タを復号テ−ブル602に出力す
る。すなわち初期状態後の最初のデ−タであり、この場
合最上位ビットが可変長符号ビット列の先頭なので、8
ビットパラレルデ−タの上位4ビット”0101”が復
号テ−ブル602に出力される。復号テ−ブル602は
前記デ−タ変換器601より出力されるデ−タが指し示
す格納箇所(番地)の情報を出力する。すなわち図9よ
り判るように、この”0101”番地の出力は、復号デ
−タである事象Aとこの時の符号の長さを示すデ−タ”
001”である。この符号の長さデ−タ”001”は制
御部603に入力され、制御部603が次にデ−タ変換
器601に対して出力する制御信号を発生するために使
用される。すなわち制御部603は次にデ−タ変換器6
01が出力するデ−タとして、上位2ビット目から5ビ
ット目までのデ−タ”1011”を出力するよう制御信
号を出力する。復号テ−ブル602は前記デ−タ変換器
601の出力デ−タが示す”1011”番地に格納され
ているデ−タを出力する。すなわち図9より判るよう
に、この”1011”番地の出力は、復号デ−タである
事象Dとこの時の符号の長さを示すデ−タ”100”で
ある。この符号の長さデ−タ”100”は制御部603
に入力され、制御部603が次にデ−タ変換器601に
対して出力する制御信号を発生するために使用される。
しかし今回は未復号のデ−タが残り3ビットしかないた
め、デ−タ変換器601が出力する4ビット分のデ−タ
は揃わない。そこで制御部603は、外部とデ−タ変換
器601に制御信号を出力し新たな8ビットパラレルデ
−タを入力する。デ−タ入力後、制御部603はデ−タ
変換器601に対して旧8ビットパラレルデ−タの下位
3ビットデ−タ”111”と新8ビットパラレデ−タの
上位1ビットデ−タ”0”とを連結した4ビットデ−
タ”1110”を出力するよう制御信号を出力する。復
号テ−ブル602は前記デ−タ変換器601の出力デ−
タが示す”1110”番地に格納されているデ−タを出
力する。すなわち図8より判るように、この”111
0”番地の出力は、復号デ−タである事象Fとこの時の
符号の長さを示すデ−タ”100”である。この符号の
長さデ−タ”100”は制御部603に入力され、制御
部603が次にデ−タ変換器601に対して出力する制
御信号を発生するために使用される。以上のような動作
を繰り返し、以下事象B、A、A、・・・が復号されて
行く。図11は、この時の復号の動作を示すものであ
る。
れた可変長符号のビット列は、まず、デ−タ変換器60
1に入力される。入力されたデ−タは、制御部603よ
り入力される制御信号605に応じて、入力されたデ−
タより4ビットのデ−タを復号テ−ブル602に出力す
る。すなわち初期状態後の最初のデ−タであり、この場
合最上位ビットが可変長符号ビット列の先頭なので、8
ビットパラレルデ−タの上位4ビット”0101”が復
号テ−ブル602に出力される。復号テ−ブル602は
前記デ−タ変換器601より出力されるデ−タが指し示
す格納箇所(番地)の情報を出力する。すなわち図9よ
り判るように、この”0101”番地の出力は、復号デ
−タである事象Aとこの時の符号の長さを示すデ−タ”
001”である。この符号の長さデ−タ”001”は制
御部603に入力され、制御部603が次にデ−タ変換
器601に対して出力する制御信号を発生するために使
用される。すなわち制御部603は次にデ−タ変換器6
01が出力するデ−タとして、上位2ビット目から5ビ
ット目までのデ−タ”1011”を出力するよう制御信
号を出力する。復号テ−ブル602は前記デ−タ変換器
601の出力デ−タが示す”1011”番地に格納され
ているデ−タを出力する。すなわち図9より判るよう
に、この”1011”番地の出力は、復号デ−タである
事象Dとこの時の符号の長さを示すデ−タ”100”で
ある。この符号の長さデ−タ”100”は制御部603
に入力され、制御部603が次にデ−タ変換器601に
対して出力する制御信号を発生するために使用される。
しかし今回は未復号のデ−タが残り3ビットしかないた
め、デ−タ変換器601が出力する4ビット分のデ−タ
は揃わない。そこで制御部603は、外部とデ−タ変換
器601に制御信号を出力し新たな8ビットパラレルデ
−タを入力する。デ−タ入力後、制御部603はデ−タ
変換器601に対して旧8ビットパラレルデ−タの下位
3ビットデ−タ”111”と新8ビットパラレデ−タの
上位1ビットデ−タ”0”とを連結した4ビットデ−
タ”1110”を出力するよう制御信号を出力する。復
号テ−ブル602は前記デ−タ変換器601の出力デ−
タが示す”1110”番地に格納されているデ−タを出
力する。すなわち図8より判るように、この”111
0”番地の出力は、復号デ−タである事象Fとこの時の
符号の長さを示すデ−タ”100”である。この符号の
長さデ−タ”100”は制御部603に入力され、制御
部603が次にデ−タ変換器601に対して出力する制
御信号を発生するために使用される。以上のような動作
を繰り返し、以下事象B、A、A、・・・が復号されて
行く。図11は、この時の復号の動作を示すものであ
る。
【0005】
【発明が解決しようとする課題】従来の可変長符号の復
号装置は上記のように構成されていたので、復号テ−ブ
ルが可変長符号の最大符号長nビットとした時、復号テ
−ブルの格納領域として2のn乗分必要であった。この
ため可変長符号の最大符号長が大きくなると復号テ−ブ
ルが飛躍的に大きくなるので、復号装置が大きくなると
いう欠点があった。
号装置は上記のように構成されていたので、復号テ−ブ
ルが可変長符号の最大符号長nビットとした時、復号テ
−ブルの格納領域として2のn乗分必要であった。この
ため可変長符号の最大符号長が大きくなると復号テ−ブ
ルが飛躍的に大きくなるので、復号装置が大きくなると
いう欠点があった。
【0006】本発明では、上記の点を考慮し、可変長符
号の最大符号長が大きくなっても復号テ−ブルの飛躍的
な増加を避け復号装置の大きさの増加を押さえることを
目的としている。
号の最大符号長が大きくなっても復号テ−ブルの飛躍的
な増加を避け復号装置の大きさの増加を押さえることを
目的としている。
【0007】
【課題を解決するための手段】本発明の可変長符号の復
号装置は、上述の課題を解決するための手段として以下
の特徴を有する。
号装置は、上述の課題を解決するための手段として以下
の特徴を有する。
【0008】可変長符号列から成るビット列を復号テ−
ブルを使用して先頭から順次復号する可変長符号の復号
装置であって、符号長を検出する符号長検出手段と、前
記符号長検出手段が出力する符号長と可変長符号の最大
符号長又は該最大符号長より大きな符号長の可変長符号
のビット列デ−タとを入力し、前記符号長と前記ビット
列データとの組み合わせを基に所与のルールに基づいて
前記複号テーブルにアクセスすべきアドレスの所定の部
分オフセット値をそれぞれ出力する複数の数値発生手段
と、複数の前記数値発生手段のそれぞれの出力を加算し
加算結果を前記複号テーブルに出力する加算手段と、少
なくとも復号すべき事象の種数に応じた格納領域を有
し、前記加算手段が出力する前記加算結果が示す値に対
応したアドレスに複号すべき事象データが格納された前
記復号テーブルと、を備えたことを特徴とする。また、
前記可変長符号の最大符号長がnビットの場合、n個以
上の前記数値発生手段と、n−1個以上の前記加算手段
とを備えたことを特徴とする。さらに、前記数値発生手
段が発生すべきデ−タの種類及び前記復号テ−ブルのデ
−タ格納フォーマットは、枝0又は枝1への分岐をもつ
符号の2進木(図12)上の任意の分岐点において、前
記枝0に分岐する側には数値0を割り当て、前記枝1に
分岐する側には同一分岐点上において前記枝0に分岐す
る側に存在する復号デ−タの数を割り当てる操作を順次
繰り返して決定されたものであることを特徴とする。
ブルを使用して先頭から順次復号する可変長符号の復号
装置であって、符号長を検出する符号長検出手段と、前
記符号長検出手段が出力する符号長と可変長符号の最大
符号長又は該最大符号長より大きな符号長の可変長符号
のビット列デ−タとを入力し、前記符号長と前記ビット
列データとの組み合わせを基に所与のルールに基づいて
前記複号テーブルにアクセスすべきアドレスの所定の部
分オフセット値をそれぞれ出力する複数の数値発生手段
と、複数の前記数値発生手段のそれぞれの出力を加算し
加算結果を前記複号テーブルに出力する加算手段と、少
なくとも復号すべき事象の種数に応じた格納領域を有
し、前記加算手段が出力する前記加算結果が示す値に対
応したアドレスに複号すべき事象データが格納された前
記復号テーブルと、を備えたことを特徴とする。また、
前記可変長符号の最大符号長がnビットの場合、n個以
上の前記数値発生手段と、n−1個以上の前記加算手段
とを備えたことを特徴とする。さらに、前記数値発生手
段が発生すべきデ−タの種類及び前記復号テ−ブルのデ
−タ格納フォーマットは、枝0又は枝1への分岐をもつ
符号の2進木(図12)上の任意の分岐点において、前
記枝0に分岐する側には数値0を割り当て、前記枝1に
分岐する側には同一分岐点上において前記枝0に分岐す
る側に存在する復号デ−タの数を割り当てる操作を順次
繰り返して決定されたものであることを特徴とする。
【0009】
【実施例】以下、この発明の実施例について図面を参照
しながら説明する。
しながら説明する。
【0010】図1は本発明の一実施例における可変長符
号の復号装置のブロック図を示したものである。図にお
いてデ−タ変換器101は外部より入力される可変長符
号のビット列の8ビット毎のパラレルデ−タの中から後
記制御部105の出力値に応じて次に復号する可変長符
号デ−タの先頭より最大符号長分のデ−タを後記符号長
検出手段102と後記数値発生手段103a、103
b、103c、103dに出力し、符号長検出手段10
2は前記デ−タ変換器101より出力される最大符号長
デ−タから可変長符号の長さを検出し、数値発生手段1
03a、103b、103c、103dは前記デ−タ変
換器101の出力と前記符号長検出手段102の出力を
入力し、加算手段104a、104b、104cは前記
各数値発生手段103a、103b、103c、103
dの出力を順次加算し、復号テ−ブル105は前記加算
手段103cの出力を入力し、制御部106は前記符号
長検出手段102の出力を入力し、そして前記デ−タ変
換器101と外部に対して制御信号を出力する。図2
は、デ−タ変換器101の出力に対応して符号長検出手
段102が出力するデ−タを示すものである。図3は、
デ−タ変換器101の出力と符号長検出手段102の出
力に対応して各数値発生手段103a、103b、10
3c、103dが出力する数値デ−タを示すものであ
る。図4は、復号テ−ブル105に格納されているデ−
タを示すものである。図4から判るように、前記従来例
の場合と異なり復号デ−タを格納する領域は符号の種類
だけあれば良い。
号の復号装置のブロック図を示したものである。図にお
いてデ−タ変換器101は外部より入力される可変長符
号のビット列の8ビット毎のパラレルデ−タの中から後
記制御部105の出力値に応じて次に復号する可変長符
号デ−タの先頭より最大符号長分のデ−タを後記符号長
検出手段102と後記数値発生手段103a、103
b、103c、103dに出力し、符号長検出手段10
2は前記デ−タ変換器101より出力される最大符号長
デ−タから可変長符号の長さを検出し、数値発生手段1
03a、103b、103c、103dは前記デ−タ変
換器101の出力と前記符号長検出手段102の出力を
入力し、加算手段104a、104b、104cは前記
各数値発生手段103a、103b、103c、103
dの出力を順次加算し、復号テ−ブル105は前記加算
手段103cの出力を入力し、制御部106は前記符号
長検出手段102の出力を入力し、そして前記デ−タ変
換器101と外部に対して制御信号を出力する。図2
は、デ−タ変換器101の出力に対応して符号長検出手
段102が出力するデ−タを示すものである。図3は、
デ−タ変換器101の出力と符号長検出手段102の出
力に対応して各数値発生手段103a、103b、10
3c、103dが出力する数値デ−タを示すものであ
る。図4は、復号テ−ブル105に格納されているデ−
タを示すものである。図4から判るように、前記従来例
の場合と異なり復号デ−タを格納する領域は符号の種類
だけあれば良い。
【0011】次に前記従来例の場合と同様に図7、およ
び、図8に示した符号系に従った図10の符号化デ−タ
を使用して動作についてを説明する。
び、図8に示した符号系に従った図10の符号化デ−タ
を使用して動作についてを説明する。
【0012】まず外部より8ビットパラレルデ−タが、
デ−タ変換器101に入力される。前記デ−タ変換器1
01は8ビットパラレルデ−タの上位4ビット”010
1”を符号長検出手段102、および数値発生手段10
3a、103b、103c、103dに出力する。図2
より判るように、前記符号長検出手段102は入力され
る”0101”というデ−タに対応して符号長デ−タ”
001”を数値発生手段103a、103b、103
c、103dと制御部106に出力する。さらに図3よ
り判るように、前記デ−タ変換器101と前記符号長検
出手段102の出力に対応して各数値発生手段103
a、103b、103c、103dより”000”、”
000”、”000”、”000”というデ−タが出力
される。加算手段104a、104b、104cは、前
記各数値発生手段103a、103b、103c、10
3dよりの出力”000”、”000”、”00
0”、”000”をそれぞれ順次加算し、その結果であ
る”000”を復号テ−ブル105に出力する。図4よ
り判るように、前記復号テ−ブル105は、入力デ−
タ”000”に対応する復号デ−タとして事象Aを出力
する。制御部106は、前記符号長検出手段102を利
用して次にデ−タ変換器101に対して制御信号を発生
する。すなわち制御部106は次にデ−タ変換器101
が出力するデ−タとして、上位2ビット目から5ビット
目までのデ−タ”1011”を出力するよう制御信号を
出力する。前記制御部106からの制御信号によりデ−
タ変換器101は次のデ−タとして”1011”を符号
長検出手段102、および数値発生手段103a、10
3b、103c、103dに出力する。図2より判るよ
うに、前記符号長検出手段102は入力される”101
1”というデ−タに対応して符号長デ−タ”100”を
数値発生手段103a、103b、103c、103d
と制御部106に出力する。さらに図3より判るよう
に、前記デ−タ変換器101と前記符号長検出手段10
2の出力に対応して各数値発生手段103a、103
b、103c、103dより”001”、”00
0”、”001”、”001”というデ−タが出力され
る。加算手段104a、104b、104cは、前記各
数値発生手段103a、103b、103c、103d
の出力”001”、”000”、”001”、”00
1”をそれぞれ順次加算し、その結果である”011”
を復号テ−ブル105に出力する。
デ−タ変換器101に入力される。前記デ−タ変換器1
01は8ビットパラレルデ−タの上位4ビット”010
1”を符号長検出手段102、および数値発生手段10
3a、103b、103c、103dに出力する。図2
より判るように、前記符号長検出手段102は入力され
る”0101”というデ−タに対応して符号長デ−タ”
001”を数値発生手段103a、103b、103
c、103dと制御部106に出力する。さらに図3よ
り判るように、前記デ−タ変換器101と前記符号長検
出手段102の出力に対応して各数値発生手段103
a、103b、103c、103dより”000”、”
000”、”000”、”000”というデ−タが出力
される。加算手段104a、104b、104cは、前
記各数値発生手段103a、103b、103c、10
3dよりの出力”000”、”000”、”00
0”、”000”をそれぞれ順次加算し、その結果であ
る”000”を復号テ−ブル105に出力する。図4よ
り判るように、前記復号テ−ブル105は、入力デ−
タ”000”に対応する復号デ−タとして事象Aを出力
する。制御部106は、前記符号長検出手段102を利
用して次にデ−タ変換器101に対して制御信号を発生
する。すなわち制御部106は次にデ−タ変換器101
が出力するデ−タとして、上位2ビット目から5ビット
目までのデ−タ”1011”を出力するよう制御信号を
出力する。前記制御部106からの制御信号によりデ−
タ変換器101は次のデ−タとして”1011”を符号
長検出手段102、および数値発生手段103a、10
3b、103c、103dに出力する。図2より判るよ
うに、前記符号長検出手段102は入力される”101
1”というデ−タに対応して符号長デ−タ”100”を
数値発生手段103a、103b、103c、103d
と制御部106に出力する。さらに図3より判るよう
に、前記デ−タ変換器101と前記符号長検出手段10
2の出力に対応して各数値発生手段103a、103
b、103c、103dより”001”、”00
0”、”001”、”001”というデ−タが出力され
る。加算手段104a、104b、104cは、前記各
数値発生手段103a、103b、103c、103d
の出力”001”、”000”、”001”、”00
1”をそれぞれ順次加算し、その結果である”011”
を復号テ−ブル105に出力する。
【0013】図4より判るように、前記復号テ−ブル1
05は、入力デ−タ”011”に対応する復号デ−タと
して事象Dを出力する。制御部106は、前記符号長検
出手段102を利用して次にデ−タ変換器101に対し
て制御信号を発生する。しかし今回は未復号のデ−タが
残り3ビットしかないため、デ−タ変換器101が出力
する4ビット分のデ−タは揃わない。そこで制御部10
6は、外部とデ−タ変換器101に制御信号を出力し新
たな8ビットパラレルデ−タを前記デ−タ変換器101
に入力するよう制御する。デ−タ入力後、制御部106
はデ−タ変換器101に対して旧8ビットパラレルデ−
タの下位3ビットデ−タ”111”と新8ビットパラレ
デ−タの上位1ビットデ−タ”0”とを連結した4ビッ
トデ−タ”1110”を出力するよう制御信号を出力す
る。前記制御部106からの制御信号によりデ−タ変換
器101は次のデ−タとして”1110”を符号長検出
手段102、および数値発生手段103a、103b、
103c、103dに出力する。
05は、入力デ−タ”011”に対応する復号デ−タと
して事象Dを出力する。制御部106は、前記符号長検
出手段102を利用して次にデ−タ変換器101に対し
て制御信号を発生する。しかし今回は未復号のデ−タが
残り3ビットしかないため、デ−タ変換器101が出力
する4ビット分のデ−タは揃わない。そこで制御部10
6は、外部とデ−タ変換器101に制御信号を出力し新
たな8ビットパラレルデ−タを前記デ−タ変換器101
に入力するよう制御する。デ−タ入力後、制御部106
はデ−タ変換器101に対して旧8ビットパラレルデ−
タの下位3ビットデ−タ”111”と新8ビットパラレ
デ−タの上位1ビットデ−タ”0”とを連結した4ビッ
トデ−タ”1110”を出力するよう制御信号を出力す
る。前記制御部106からの制御信号によりデ−タ変換
器101は次のデ−タとして”1110”を符号長検出
手段102、および数値発生手段103a、103b、
103c、103dに出力する。
【0014】図2より判るように、前記符号長検出手段
102は入力される”1110”というデ−タに対応し
て符号長デ−タ”100”を数値発生手段103a、1
03b、103c、103dと制御部106に出力す
る。さらに図3より判るように、前記デ−タ変換器10
1と前記符号長検出手段102の出力に対応して各数値
発生手段103a、103b、103c、103dよ
り”001”、”011”、”001”、”000”と
いうデ−タが出力される。加算手段104a、104
b、104cは、前記各数値発生手段103a、103
b、103c、103dの出力”001”、”01
1”、”001”、”000”をそれぞれ順次加算し、
その結果である”101”を復号テ−ブル105に出力
する。
102は入力される”1110”というデ−タに対応し
て符号長デ−タ”100”を数値発生手段103a、1
03b、103c、103dと制御部106に出力す
る。さらに図3より判るように、前記デ−タ変換器10
1と前記符号長検出手段102の出力に対応して各数値
発生手段103a、103b、103c、103dよ
り”001”、”011”、”001”、”000”と
いうデ−タが出力される。加算手段104a、104
b、104cは、前記各数値発生手段103a、103
b、103c、103dの出力”001”、”01
1”、”001”、”000”をそれぞれ順次加算し、
その結果である”101”を復号テ−ブル105に出力
する。
【0015】図4より判るように、前記復号テ−ブル1
05は、入力デ−タ”101”に対応する復号デ−タと
して事象Fを出力する。以上のような動作を繰り返し、
以下事象B、A、A、・・・が復号されて行く。図5
は、この時の復号の動作を示すものである。
05は、入力デ−タ”101”に対応する復号デ−タと
して事象Fを出力する。以上のような動作を繰り返し、
以下事象B、A、A、・・・が復号されて行く。図5
は、この時の復号の動作を示すものである。
【0016】次に数値発生手段103a、103b、1
03c、103dが発生すべき数値デ−タ、および復号
テ−ブル105に復号デ−タをどのように格納するのか
を決定する方法の例を、図7の符号に従った図12の符
号のツリ−構造を示す図を用いて説明する。図12にお
いて、S1、S2、S3−1とS3−2、S4−1とS
4−2は、それぞれ各符号の1ビット目、2ビット目、
3ビット目、4ビット目の”0”、”1”信号により分
岐する分岐点である。さて分岐点S1において、符号”
0”に分岐する方を数値0とする。前記分岐点S1に
て、符号”0”に分岐して復号が終了する場合には、前
記分岐点S1より符号”1”に分岐する方を数値1とし
次の分岐点S2へ進む。今回の場合は符号”0”に分岐
して復号が終了するので、分岐点S1より符号”1”に
分岐する方に数値1とし分岐点S1より分岐点S2へ移
る。上述と同様にして、分岐点S2で符号”0”に分岐
する方向を数値0とする。今回は、前記分岐点S2に
て、符号”0”に分岐して復号が終了しないので、前記
分岐点S1より分岐点S3−1に進む。分岐点S3−1
において、符号”0”に分岐する方を数値0とする。前
記分岐点S3−1おいて、符号”0”に分岐して復号が
終了するので、符号”1”に分岐する方を数値1とし分
岐点S4−1に進む。分岐点S4−1において、符号”
0”に分岐する方を数値0とする。前記分岐点S4−1
おいて、符号”0”に分岐して復号が終了するので、符
号”1”に分岐する方を数値1とし、元の分岐点S2に
戻る。分岐点2において、符号”0”で分岐する方向に
存在した復号デ−タの数を符号”1”に分岐する方の数
値とする。すなわち今回の場合は、分岐点S2より符
号”1”に分岐する方を数値3とし、次の分岐点S3−
2に進む。この様な操作を繰り返し、全ての符号のツリ
−部分に数値をつけるまで行う。全ての数値を付け終っ
た後、符号の深さが同じもの、すなわち符号のツリ−構
造の頂点(S1)からある分岐点へ到るまでに通過する
分岐点の数が同じものが持つ数値の種類が各数値発生手
段が発生すべきものとなる。つまり分岐点S1に対応す
る数値発生手段103aは0か1を、分岐点S2に対応
する数値発生手段103bは0か3を、分岐点S3−1
とS3−2に対応する数値発生手段103cは0か1
を、分岐点S4−1とS4−2に対応する数値発生手段
103dは0か1を発生する必要がある。
03c、103dが発生すべき数値デ−タ、および復号
テ−ブル105に復号デ−タをどのように格納するのか
を決定する方法の例を、図7の符号に従った図12の符
号のツリ−構造を示す図を用いて説明する。図12にお
いて、S1、S2、S3−1とS3−2、S4−1とS
4−2は、それぞれ各符号の1ビット目、2ビット目、
3ビット目、4ビット目の”0”、”1”信号により分
岐する分岐点である。さて分岐点S1において、符号”
0”に分岐する方を数値0とする。前記分岐点S1に
て、符号”0”に分岐して復号が終了する場合には、前
記分岐点S1より符号”1”に分岐する方を数値1とし
次の分岐点S2へ進む。今回の場合は符号”0”に分岐
して復号が終了するので、分岐点S1より符号”1”に
分岐する方に数値1とし分岐点S1より分岐点S2へ移
る。上述と同様にして、分岐点S2で符号”0”に分岐
する方向を数値0とする。今回は、前記分岐点S2に
て、符号”0”に分岐して復号が終了しないので、前記
分岐点S1より分岐点S3−1に進む。分岐点S3−1
において、符号”0”に分岐する方を数値0とする。前
記分岐点S3−1おいて、符号”0”に分岐して復号が
終了するので、符号”1”に分岐する方を数値1とし分
岐点S4−1に進む。分岐点S4−1において、符号”
0”に分岐する方を数値0とする。前記分岐点S4−1
おいて、符号”0”に分岐して復号が終了するので、符
号”1”に分岐する方を数値1とし、元の分岐点S2に
戻る。分岐点2において、符号”0”で分岐する方向に
存在した復号デ−タの数を符号”1”に分岐する方の数
値とする。すなわち今回の場合は、分岐点S2より符
号”1”に分岐する方を数値3とし、次の分岐点S3−
2に進む。この様な操作を繰り返し、全ての符号のツリ
−部分に数値をつけるまで行う。全ての数値を付け終っ
た後、符号の深さが同じもの、すなわち符号のツリ−構
造の頂点(S1)からある分岐点へ到るまでに通過する
分岐点の数が同じものが持つ数値の種類が各数値発生手
段が発生すべきものとなる。つまり分岐点S1に対応す
る数値発生手段103aは0か1を、分岐点S2に対応
する数値発生手段103bは0か3を、分岐点S3−1
とS3−2に対応する数値発生手段103cは0か1
を、分岐点S4−1とS4−2に対応する数値発生手段
103dは0か1を発生する必要がある。
【0017】また復号デ−タは、上述の方法にて数値発
生手段の発生すべき数値の種類を決定する操作の際、復
号デ−タに到達する順番で復号テ−ブル105に格納さ
れる。このようにして決定された数値デ−タは、図12
の符号のツリ−構造における各分岐点において符号デ−
タ”0”あるいは”1”の時に出力すべきデ−タであ
る。すなわち各分岐点での分岐に要する判断と対応して
いる。このため実際に数値発生手段103a、103
b、103c、103dの論理を構成することは、比較
的容易なことである。なお数値発生手段103a、10
3b、103c、103dに入力される符号長デ−タ1
07は、復号事象の符号長が最大符号長より小さい場
合、必要に応じて数値発生手段103a、103b、1
03c、103dの内の一部の出力を強制的にゼロ出力
にする必要のためである。
生手段の発生すべき数値の種類を決定する操作の際、復
号デ−タに到達する順番で復号テ−ブル105に格納さ
れる。このようにして決定された数値デ−タは、図12
の符号のツリ−構造における各分岐点において符号デ−
タ”0”あるいは”1”の時に出力すべきデ−タであ
る。すなわち各分岐点での分岐に要する判断と対応して
いる。このため実際に数値発生手段103a、103
b、103c、103dの論理を構成することは、比較
的容易なことである。なお数値発生手段103a、10
3b、103c、103dに入力される符号長デ−タ1
07は、復号事象の符号長が最大符号長より小さい場
合、必要に応じて数値発生手段103a、103b、1
03c、103dの内の一部の出力を強制的にゼロ出力
にする必要のためである。
【0018】この様に本発明の構成にすれば、上述のよ
うに数値発生手段103a、103b、103c、10
3dの発生すべき数値の種類、および復号テ−ブル10
5のデ−タの格納法を一意的に決定する方法が存在する
ことからも本発明の有用性が窺える。
うに数値発生手段103a、103b、103c、10
3dの発生すべき数値の種類、および復号テ−ブル10
5のデ−タの格納法を一意的に決定する方法が存在する
ことからも本発明の有用性が窺える。
【0019】なお上記実施例においては、数値発生手段
の数を最大符号長に等しく、また加算手段の数を最大符
号長マイナス1に等しくしたが、いずれもそれら数より
多くても同様な効果が得られる。また、符号長検出手段
102、および数値発生手段103a、103b、10
3c、103dに入力される可変長符号のビット列デ−
タが、符号の最大符号長より大きくても同様な効果を得
られる。
の数を最大符号長に等しく、また加算手段の数を最大符
号長マイナス1に等しくしたが、いずれもそれら数より
多くても同様な効果が得られる。また、符号長検出手段
102、および数値発生手段103a、103b、10
3c、103dに入力される可変長符号のビット列デ−
タが、符号の最大符号長より大きくても同様な効果を得
られる。
【0020】
【発明の効果】以上のように、本発明によれば、最大符
号長が大きくなっても復号テ−ブル105の格納領域は
符号の種類にのみ限定され、復号テ−ブル105の格納
領域の飛躍的増加とはならないので、最大符号長の大き
な符号デ−タを扱う可変長デ−タの復号装置を従来より
小さく設計できる。このため、IC化する際の所要コス
トを著しく低減することが可能となる。
号長が大きくなっても復号テ−ブル105の格納領域は
符号の種類にのみ限定され、復号テ−ブル105の格納
領域の飛躍的増加とはならないので、最大符号長の大き
な符号デ−タを扱う可変長デ−タの復号装置を従来より
小さく設計できる。このため、IC化する際の所要コス
トを著しく低減することが可能となる。
【図1】 本発明の一実施例を示すブロック図。
【図2】 本発明における符号長検出手段102の出力
図。
図。
【図3】 本発明における数値発生手段103a、10
3b、103c、103dの出力図。
3b、103c、103dの出力図。
【図4】 本発明における復号テ−ブル105のデ−タ
の格納状態を示す図。
の格納状態を示す図。
【図5】 本発明における動作を示す図。
【図6】 従来例によるブロック図。
【図7】 従来例、および本発明の動作の説明に使用し
た事象に対する可変長符号を示す図。
た事象に対する可変長符号を示す図。
【図8】 図7の符号の構成を示した図。
【図9】 従来例における復号テ−ブル602のデ−タ
の格納状態を示す図。
の格納状態を示す図。
【図10】 従来例、および本発明の動作の説明に使用
した8ビットパラレルデ−タを示す図。
した8ビットパラレルデ−タを示す図。
【図11】 従来例における動作を示す図。
【図12】 本発明における数値発生手段103a、1
03b、103c、103dが出力すべきデ−タの種類
と復号テ−ブル101へのデ−タ格納法を決定する例を
説明するのに使用した符号の構造図。
03b、103c、103dが出力すべきデ−タの種類
と復号テ−ブル101へのデ−タ格納法を決定する例を
説明するのに使用した符号の構造図。
101 デ−タ変換器 102 符号長検出手段 103a、103b、103c、103d 数値発生手
段 104a、104b、104c 加算手段 105 復号テ−ブル 106 制御部 107 符号長デ−タ 601 デ−タ変換器 602 復号テ−ブル 603 制御部 604 符号長デ−タ 605 制御信号
段 104a、104b、104c 加算手段 105 復号テ−ブル 106 制御部 107 符号長デ−タ 601 デ−タ変換器 602 復号テ−ブル 603 制御部 604 符号長デ−タ 605 制御信号
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭61−125283(JP,A) 特開 昭55−123262(JP,A) 特開 昭62−76931(JP,A) 特開 平1−312625(JP,A) 特開 平4−37316(JP,A) 特開 平4−44466(JP,A) 特開 平4−192744(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/42
Claims (3)
- 【請求項1】 可変長符号列から成るビット列を復号テ
−ブルを使用して先頭から順次復号する可変長符号の復
号装置であって、 符号長を検出する符号長検出手段と、 前記符号長検出手段が出力する符号長と可変長符号の最
大符号長又は該最大符号長より大きな符号長の可変長符
号のビット列デ−タとを入力し、前記符号長と前記ビッ
ト列データとの組み合わせを基に所与のルールに基づい
て前記複号テーブルにアクセスすべきアドレスの所定の
部分オフセット値をそれぞれ出力する複数の数値発生手
段と、複数の 前記数値発生手段のそれぞれの出力を加算し加算
結果を前記複号テーブルに出力する加算手段と、少なくとも 復号すべき事象の種数に応じた格納領域を有
し、前記加算手段が出力する前記加算結果が示す値に対
応したアドレスに複号すべき事象データが格納された前
記復号テーブルと、 を備えたことを特徴とする可変長符号の復号装置。 - 【請求項2】 前記可変長符号の最大符号長がnビット
(nは2以上の自然数)の場合、n個以上の前記数値発
生手段と、n−1個以上の前記加算手段とを備えたこと
を特徴とする請求項1記載の可変長符号の復号装置。 - 【請求項3】 前記数値発生手段が発生すべきデ−タの
種類及び前記復号テ−ブルのデ−タ格納フォーマット
は、枝0又は枝1への分岐をもつ符号の2進木(図1
2)上の任意の分岐点において、前記枝0に分岐する側
には数値0を割り当て、前記枝1に分岐する側には同一
分岐点上において前記枝0に分岐する側に存在する復号
デ−タの数を割り当てる操作を順次繰り返して決定され
たものであることを特徴とする請求項1記載の可変長符
号の復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04258396A JP3138342B2 (ja) | 1992-09-28 | 1992-09-28 | 可変長符号の復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04258396A JP3138342B2 (ja) | 1992-09-28 | 1992-09-28 | 可変長符号の復号装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06311047A JPH06311047A (ja) | 1994-11-04 |
JP3138342B2 true JP3138342B2 (ja) | 2001-02-26 |
Family
ID=17319660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04258396A Expired - Fee Related JP3138342B2 (ja) | 1992-09-28 | 1992-09-28 | 可変長符号の復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3138342B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016171589A (ja) * | 2016-05-23 | 2016-09-23 | 富士通株式会社 | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法及び復号化装置 |
-
1992
- 1992-09-28 JP JP04258396A patent/JP3138342B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06311047A (ja) | 1994-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FI20060169A (fi) | Menetelmä informaatiosanojen konvertoimiseksi ja tallennusvälineen tuottamiseksi, laite laiteinformaation tallentamiseksi, signaali tallennusväline ja dekoodauslaite | |
KR0138971B1 (ko) | 허프만 부호 복호회로 | |
US5832037A (en) | Method of compressing and expanding data | |
US6987469B2 (en) | Method of generating Huffman code length information | |
KR0163464B1 (ko) | 허프만 부호 복호화 회로 | |
US5309156A (en) | Variable-length code decoding device | |
JPS632370B2 (ja) | ||
JPH05183443A (ja) | 符号変換方法 | |
KR920006843A (ko) | 반도체 연산장치 | |
JP3138342B2 (ja) | 可変長符号の復号装置 | |
US5739778A (en) | Digital data formatting/deformatting circuits | |
KR0182181B1 (ko) | 적응차분 펄스부호변조 복원회로 | |
JP2001211082A (ja) | Pcm信号符号化方法及び復号化方法 | |
JP3009007B2 (ja) | 2元符号復号回路 | |
JP3083532B2 (ja) | 情報信号復号装置 | |
JPH07177040A (ja) | 可変長符号化装置 | |
JP2757716B2 (ja) | ハフマン符号復号回路 | |
JP2537551B2 (ja) | 可変長符号復号回路 | |
JP2842094B2 (ja) | ハフマン復号回路 | |
EP0499225A2 (en) | Variable-length code decoding device | |
JP2548272B2 (ja) | 可変長符号化コード復号装置 | |
JPH04100324A (ja) | 可変長符号の復号方式 | |
JPH03262331A (ja) | データ圧縮方法およびデータ圧縮装置 | |
JP2775790B2 (ja) | 情報処理装置 | |
JPS5943863B2 (ja) | モデフアイドハフマン符号の復号化方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081208 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081208 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091208 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |