JP3003894B2 - 可変長復号器 - Google Patents
可変長復号器Info
- Publication number
- JP3003894B2 JP3003894B2 JP20242792A JP20242792A JP3003894B2 JP 3003894 B2 JP3003894 B2 JP 3003894B2 JP 20242792 A JP20242792 A JP 20242792A JP 20242792 A JP20242792 A JP 20242792A JP 3003894 B2 JP3003894 B2 JP 3003894B2
- Authority
- JP
- Japan
- Prior art keywords
- code
- bit
- variable length
- bits
- variable
- 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
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)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【0001】
【産業上の利用分野】この発明は可変長復号器に関し、
特にテーブルルックアップを用いて可変長符号を復号す
る可変長復号器に関する。
特にテーブルルックアップを用いて可変長符号を復号す
る可変長復号器に関する。
【0002】
【従来の技術】画像処理においては、画像信号の冗長度
を利用してデータ量を圧縮する画像の高能率符号化方式
が採用されている。また、この高能率符号化方式におい
てさらにデータ量を低減するために可変長符号化処理が
行なわれる。可変長符号化とは、確率的に出現頻度の高
い入力データに対してデータ長の短い符号を割当て、出
現頻度の低い入力データに対してデータ長の長い符号を
割当てることにより、総符号量を削減するものである。
を利用してデータ量を圧縮する画像の高能率符号化方式
が採用されている。また、この高能率符号化方式におい
てさらにデータ量を低減するために可変長符号化処理が
行なわれる。可変長符号化とは、確率的に出現頻度の高
い入力データに対してデータ長の短い符号を割当て、出
現頻度の低い入力データに対してデータ長の長い符号を
割当てることにより、総符号量を削減するものである。
【0003】図17に画像データの符号化処理を行なう
装置の構成を示し、図18に圧縮された画像データの復
号処理を行なう装置の構成を示す。
装置の構成を示し、図18に圧縮された画像データの復
号処理を行なう装置の構成を示す。
【0004】図17において、DCT(Discret
e Cosine Transform)処理装置10
0は、画像データに直交変換処理(DCT処理)を施し
てDCT係数を出力する。このDCT係数は画像の空間
周波数成分に相当する。このDCT処理によって画像デ
ータが有する空間的な冗長度が抽出される。量子化器2
00は、DCT係数に量子化処理を施して固定長データ
からなる量子化インデックスを出力する。それにより、
抽出された冗長度が取除かれる。可変長復号器300
は、固定長データからなる量子化インデックスを可変長
符号に符号化する。それにより、圧縮された画像データ
が得られる。
e Cosine Transform)処理装置10
0は、画像データに直交変換処理(DCT処理)を施し
てDCT係数を出力する。このDCT係数は画像の空間
周波数成分に相当する。このDCT処理によって画像デ
ータが有する空間的な冗長度が抽出される。量子化器2
00は、DCT係数に量子化処理を施して固定長データ
からなる量子化インデックスを出力する。それにより、
抽出された冗長度が取除かれる。可変長復号器300
は、固定長データからなる量子化インデックスを可変長
符号に符号化する。それにより、圧縮された画像データ
が得られる。
【0005】図18において、可変長復号器400は、
可変長符号で表わされた圧縮データを固定長データに復
号し、それを量子化インデックスとして出力する。逆量
子化器500は、量子化インデックスに逆量子化処理を
施してDCT係数を出力する。このDCT係数は画像の
空間周波数成分に相当する。逆DCT処理装置600
は、DCT係数に直交変換処理(逆DCT処理)を施し
て画像データを再生する。
可変長符号で表わされた圧縮データを固定長データに復
号し、それを量子化インデックスとして出力する。逆量
子化器500は、量子化インデックスに逆量子化処理を
施してDCT係数を出力する。このDCT係数は画像の
空間周波数成分に相当する。逆DCT処理装置600
は、DCT係数に直交変換処理(逆DCT処理)を施し
て画像データを再生する。
【0006】このように、画像データの復号処理におい
ては、可変長符号からなる圧縮データを固定長データか
らなる量子化インデックスに復号するために可変長復号
器400が用いられる。
ては、可変長符号からなる圧縮データを固定長データか
らなる量子化インデックスに復号するために可変長復号
器400が用いられる。
【0007】図19は、従来の可変長復号器の構成を示
すブロック図である。この可変長復号器は、テーブルル
ックアップを用いて復号処理を行なう。
すブロック図である。この可変長復号器は、テーブルル
ックアップを用いて復号処理を行なう。
【0008】可変長符号入力回路10には、信号線L1
を介して可変長符号がシリアルに与えられる。可変長符
号入力回路10は、シリアルに与えられる可変長符号を
パラレル形式の可変長符号に変換し、パラレルな可変長
符号を信号線L2を介して復号テーブル20のアドレス
入力端子Aに与える。また、可変長符号入力回路10
は、信号線L5を介して制御信号CNTを復号テーブル
20に与える。
を介して可変長符号がシリアルに与えられる。可変長符
号入力回路10は、シリアルに与えられる可変長符号を
パラレル形式の可変長符号に変換し、パラレルな可変長
符号を信号線L2を介して復号テーブル20のアドレス
入力端子Aに与える。また、可変長符号入力回路10
は、信号線L5を介して制御信号CNTを復号テーブル
20に与える。
【0009】復号テーブル20は、制御信号CNTに応
答して可変長符号を復号し、固定長データをデータ入力
端子Dから信号線L3に出力する。同時に、復号テーブ
ル20は、可変長符号の符号長を信号線L4を介して可
変長符号入力回路10に与える。信号線L2は、可変長
符号の最大符号長に相当する信号線幅を有する。
答して可変長符号を復号し、固定長データをデータ入力
端子Dから信号線L3に出力する。同時に、復号テーブ
ル20は、可変長符号の符号長を信号線L4を介して可
変長符号入力回路10に与える。信号線L2は、可変長
符号の最大符号長に相当する信号線幅を有する。
【0010】図20は、従来の可変長復号器に含まれる
復号テーブルの構成を示す図である。復号テーブル20
はテーブルメモリ21を含む。テーブルメモリ21は、
たとえば図21に示す対応テーブルを記憶している。こ
の対応テーブルは、可変長符号、固定長データおよび可
変長符号の符号長の間の対応を示している。以下、固定
長データとそれに対応する可変長符号の符号長とを総称
して符号情報と呼ぶ。
復号テーブルの構成を示す図である。復号テーブル20
はテーブルメモリ21を含む。テーブルメモリ21は、
たとえば図21に示す対応テーブルを記憶している。こ
の対応テーブルは、可変長符号、固定長データおよび可
変長符号の符号長の間の対応を示している。以下、固定
長データとそれに対応する可変長符号の符号長とを総称
して符号情報と呼ぶ。
【0011】実際には、テーブルメモリ21のアドレス
空間において、固定長データおよび符号長からなる各符
号情報が、対応する可変長符号により示されるアドレス
に格納される。
空間において、固定長データおよび符号長からなる各符
号情報が、対応する可変長符号により示されるアドレス
に格納される。
【0012】たとえば、アドレス“1XXXXXXXX
XX”には固定長データ“0”および符号長“1”が格
納され、アドレス“011XXXXXXXX”には固定
長データ“1”および符号長“3”が格納される。ここ
で、Xは0または1を表わしている。また、アドレス
“00000011000”には固定長データ“32”
および符号長“11”が格納される。図21の例では、
可変長符号の最大符号長は11である。
XX”には固定長データ“0”および符号長“1”が格
納され、アドレス“011XXXXXXXX”には固定
長データ“1”および符号長“3”が格納される。ここ
で、Xは0または1を表わしている。また、アドレス
“00000011000”には固定長データ“32”
および符号長“11”が格納される。図21の例では、
可変長符号の最大符号長は11である。
【0013】図20のテーブルメモリ21には、パラレ
ルな可変長符号が、11ビットの信号線幅を有する信号
線L2を介してアドレス信号として与えられる。最大符
号長よりも短い符号長の可変長符号が与えられるときに
は、アドレス信号の11ビットA0〜A10のうち、そ
の可変長符号に相当する上位のビットが有効ビットとな
り、残りの下位のビットが無効ビットとなる。
ルな可変長符号が、11ビットの信号線幅を有する信号
線L2を介してアドレス信号として与えられる。最大符
号長よりも短い符号長の可変長符号が与えられるときに
は、アドレス信号の11ビットA0〜A10のうち、そ
の可変長符号に相当する上位のビットが有効ビットとな
り、残りの下位のビットが無効ビットとなる。
【0014】たとえば、可変長符号が“1”であれば、
アドレス信号の最上位ビットA0のみが有効ビットであ
り、残りの下位10ビットA1〜A10は無効ビットで
ある。また、可変長符号が“011”であれば、アドレ
ス信号の上位3ビットA0,A1,A2が有効ビットで
あり、残りの下位8ビットA3〜A10が無効ビットで
ある。
アドレス信号の最上位ビットA0のみが有効ビットであ
り、残りの下位10ビットA1〜A10は無効ビットで
ある。また、可変長符号が“011”であれば、アドレ
ス信号の上位3ビットA0,A1,A2が有効ビットで
あり、残りの下位8ビットA3〜A10が無効ビットで
ある。
【0015】したがって、無効ビットがいずれの値であ
っても与えられた可変長符号に対応する正しい符号情報
を得るためには、テーブルメモリ21のアドレス空間に
おいて、有効な上位ビットが共通するすべてのアドレス
に同一の符号情報を格納する必要がある。
っても与えられた可変長符号に対応する正しい符号情報
を得るためには、テーブルメモリ21のアドレス空間に
おいて、有効な上位ビットが共通するすべてのアドレス
に同一の符号情報を格納する必要がある。
【0016】たとえば、固定長データ“0”および符号
長“1”は、210個のアドレス“1000000000
0”,“10000000001”,…,“11111
111111”に格納され、固定長データ“1”および
符号長“3”は、28 個のアドレス“01100000
000”,“01100000001”,…,“011
11111111”に格納される。また、固定長データ
“32”および符号長“11”は、アドレス“0000
0011000”に格納される。
長“1”は、210個のアドレス“1000000000
0”,“10000000001”,…,“11111
111111”に格納され、固定長データ“1”および
符号長“3”は、28 個のアドレス“01100000
000”,“01100000001”,…,“011
11111111”に格納される。また、固定長データ
“32”および符号長“11”は、アドレス“0000
0011000”に格納される。
【0017】次に、図19の可変長復号器の動作の一例
を図22を参照しながら説明する。たとえば可変長符号
“1001101100000111…”が信号線L1
を介して可変長符号入力回路10にシリアルに与えられ
る。可変長符号入力回路10は、シリアルな可変長符号
の最初の11ビット“10011011000”をアド
レス信号として復号テーブル20にパラレルに与える。
復号テーブル20は、制御信号CNTに応答して、テー
ブルメモリ21(図20)のアドレス“1001101
1000”から固定長データ“0”および符号長“1”
を読出す。符号長“1”は信号線L4を介して可変長符
号入力回路10に与えられる。
を図22を参照しながら説明する。たとえば可変長符号
“1001101100000111…”が信号線L1
を介して可変長符号入力回路10にシリアルに与えられ
る。可変長符号入力回路10は、シリアルな可変長符号
の最初の11ビット“10011011000”をアド
レス信号として復号テーブル20にパラレルに与える。
復号テーブル20は、制御信号CNTに応答して、テー
ブルメモリ21(図20)のアドレス“1001101
1000”から固定長データ“0”および符号長“1”
を読出す。符号長“1”は信号線L4を介して可変長符
号入力回路10に与えられる。
【0018】可変長符号入力回路10は、符号長“1”
に基づいて、シリアルな可変長符号の最初の1ビット
“1”を破棄し、続く11ビット“001101100
00”をアドレス信号として復号テーブル20にパラレ
ルに与える。復号テーブル20は、制御信号CNTに応
答して、テーブルメモリ21のアドレス“001101
10000”から固定長データ“3”および符号長
“4”を読出す。符号長“4”は、信号線L4を介して
可変長符号入力回路10に与えられる。
に基づいて、シリアルな可変長符号の最初の1ビット
“1”を破棄し、続く11ビット“001101100
00”をアドレス信号として復号テーブル20にパラレ
ルに与える。復号テーブル20は、制御信号CNTに応
答して、テーブルメモリ21のアドレス“001101
10000”から固定長データ“3”および符号長
“4”を読出す。符号長“4”は、信号線L4を介して
可変長符号入力回路10に与えられる。
【0019】可変長符号入力回路10は、符号長“4”
に基づいて、シリアルな可変長データの最初の4ビット
“0011”を破棄し、続く11ビット“011000
00111”をアドレス信号として復号テーブル20に
パラレルに与える。復号テーブル20は、制御信号CN
Tに応答して、テーブルメモリ21のアドレス“011
00000111”から固定長データ“1”および符号
長“3”を読出す。
に基づいて、シリアルな可変長データの最初の4ビット
“0011”を破棄し、続く11ビット“011000
00111”をアドレス信号として復号テーブル20に
パラレルに与える。復号テーブル20は、制御信号CN
Tに応答して、テーブルメモリ21のアドレス“011
00000111”から固定長データ“1”および符号
長“3”を読出す。
【0020】このようにして、テーブルルックアップに
よって復号テーブル20から可変長符号に対応する固定
長データおよび符号長が順次出力される。
よって復号テーブル20から可変長符号に対応する固定
長データおよび符号長が順次出力される。
【0021】
【発明が解決しようとする課題】上記のように従来の可
変長復号器の復号テーブルでは、最大符号長よりも短い
符号長の可変長符号が与えられたときには、アドレス信
号の一部の上位ビットのみが可変長符号により決定さ
れ、残りの下位ビットは無効になる。そのため、同一の
符号情報をテーブルメモリ21の複数のアドレスに格納
する必要があり、余分なアドレス空間が必要となる。
変長復号器の復号テーブルでは、最大符号長よりも短い
符号長の可変長符号が与えられたときには、アドレス信
号の一部の上位ビットのみが可変長符号により決定さ
れ、残りの下位ビットは無効になる。そのため、同一の
符号情報をテーブルメモリ21の複数のアドレスに格納
する必要があり、余分なアドレス空間が必要となる。
【0022】可変長符号の最大符号長をNとすると、テ
ーブルメモリ21に必要なアドレス空間は2N ワードと
なる。たとえば、図21に示す可変長符号の場合、最大
符号長が11ビットであり、符号の数は33個である。
それにもかかわらず、図20に示される復号テーブル2
0の構成によれば、テーブルメモリ21は、211=20
48ワードのアドレス空間を必要とする。このように、
符号の数と比較して非常に大きなアドレス空間が必要と
なる。
ーブルメモリ21に必要なアドレス空間は2N ワードと
なる。たとえば、図21に示す可変長符号の場合、最大
符号長が11ビットであり、符号の数は33個である。
それにもかかわらず、図20に示される復号テーブル2
0の構成によれば、テーブルメモリ21は、211=20
48ワードのアドレス空間を必要とする。このように、
符号の数と比較して非常に大きなアドレス空間が必要と
なる。
【0023】大きなアドレス空間を有するメモリは大き
な面積を有し、かつその消費電力も大きくなる。そのた
め、特に半導体集積回路により可変長復号器を構成する
場合には、可変長復号器の集積化が妨げられ、さらに、
可変長復号器を含む画像復号化装置の集積化も妨げられ
る。
な面積を有し、かつその消費電力も大きくなる。そのた
め、特に半導体集積回路により可変長復号器を構成する
場合には、可変長復号器の集積化が妨げられ、さらに、
可変長復号器を含む画像復号化装置の集積化も妨げられ
る。
【0024】この発明の目的は、最大符号長よりも短い
符号長の可変長符号が格納される余分な格納領域が低減
され、集積化に適したより小さな回路規模を有する可変
長復号器を提供することである。
符号長の可変長符号が格納される余分な格納領域が低減
され、集積化に適したより小さな回路規模を有する可変
長復号器を提供することである。
【0025】
【課題を解決するための手段】請求項1に係る発明は、
入力されたMビットの符号の上位側に含まれる最大Nビ
ット(ただし、n≦Mである)の可変長符号を復号する
ための可変長復号器であって、記憶手段、バンク選択手
段およびビット選択手段を備える。記憶手段は、複数の
バンクに分割されたアドレス空間を有し、複数の可変長
復号と複数の可変長符号をそれぞれ復号するための複数
の復号情報との対応を示すテーブルを記憶する。テーブ
ルの複数の可変長符号および複数の復号情報は、各可変
長符号が含まれるMビットの符号のうちの上位側の予め
定められたmビット(ただし、m<Nである)からなる
第1のビット列に基づいて複数のグループに分類され、
複数のグループは複数のバンクにそれぞれ対応する。記
憶手段は、各グループ内の各復号情報を、対応するバン
クにおいて、その復号情報に対応する可変長符号に予め
割当てられたnビット(ただしn<Nである)の第2の
ビット列が示すアドレスに記憶し、第2のビット列を構
成するnビットはMビットの符号のうちの対応の可変長
符号の少なくとも一部を含むように各グループごとに予
め定められた位置のnビットである。バンク選択手段
は、入力されたMビットの符号のうちの第1のビット列
に基づいて記憶手段の複数のバンクのうちのいずれかの
バンクを選択する。ビット選択手段は、バンク選択手段
の出力信号に従って、入力されたMビットの符号のうち
の第2のビット列を選択し、それをアドレス信号として
記憶手段に与える。
入力されたMビットの符号の上位側に含まれる最大Nビ
ット(ただし、n≦Mである)の可変長符号を復号する
ための可変長復号器であって、記憶手段、バンク選択手
段およびビット選択手段を備える。記憶手段は、複数の
バンクに分割されたアドレス空間を有し、複数の可変長
復号と複数の可変長符号をそれぞれ復号するための複数
の復号情報との対応を示すテーブルを記憶する。テーブ
ルの複数の可変長符号および複数の復号情報は、各可変
長符号が含まれるMビットの符号のうちの上位側の予め
定められたmビット(ただし、m<Nである)からなる
第1のビット列に基づいて複数のグループに分類され、
複数のグループは複数のバンクにそれぞれ対応する。記
憶手段は、各グループ内の各復号情報を、対応するバン
クにおいて、その復号情報に対応する可変長符号に予め
割当てられたnビット(ただしn<Nである)の第2の
ビット列が示すアドレスに記憶し、第2のビット列を構
成するnビットはMビットの符号のうちの対応の可変長
符号の少なくとも一部を含むように各グループごとに予
め定められた位置のnビットである。バンク選択手段
は、入力されたMビットの符号のうちの第1のビット列
に基づいて記憶手段の複数のバンクのうちのいずれかの
バンクを選択する。ビット選択手段は、バンク選択手段
の出力信号に従って、入力されたMビットの符号のうち
の第2のビット列を選択し、それをアドレス信号として
記憶手段に与える。
【0026】請求項2に係る発明では、請求項1に係る
発明の復号情報は、対応の可変長符号の符号長を含む。
発明の復号情報は、対応の可変長符号の符号長を含む。
【0027】請求項3に係る発明では、請求項1または
2に係る発明のバンク選択手段は、入力されたMビット
の符号のうちの第1のビット列に基づいて記憶手段の複
数のバンクのうちのいずれかのバンクをソフトウェアに
よる条件判断によって選択する。
2に係る発明のバンク選択手段は、入力されたMビット
の符号のうちの第1のビット列に基づいて記憶手段の複
数のバンクのうちのいずれかのバンクをソフトウェアに
よる条件判断によって選択する。
【0028】請求項4に係る発明は、連続的に入力され
るMビットの符号を受け、各Mビットの符号の上位側に
含まれる最大Nビット(ただし、N≦Mである)の可変
長符号を復号するための可変長復号器であって、記憶手
段、領域選択手段、バンク選択手段およびビット選択手
段を備える。記憶手段は、各々が複数のバンクに分割さ
れた複数の領域を含むアドレス空間を有し、複数の可変
長符号と複数の可変長符号をそれぞれ復号するための複
数の復号情報との対応をそれぞれ示す複数種類のテーブ
ルを記憶する。複数の領域は複数種類のテーブルにそれ
ぞれ対応し、各テーブルの複数の可変長符号および複数
の復号情報は、各可変長符号が含まれるMビットの符号
のうちの上位側の予め定められたmビット(ただし、m
<Nである)からなる第1のビット列に基づいて複数の
グループに分類され、複数のグループは対応する領域内
の複数のバンクにそれぞれ対応する。記憶手段は、各テ
ーブルの各グループの各復号情報を、対応する領域内の
対応するバンクにおいて、その復号情報に対応する可変
長符号に予め割当てられたnビット(ただし、n<Nで
ある)の第2のビット列が示すアドレスに記憶し、第2
のビット列を構成するnビットはMビットの符号のうち
の対応の可変長符号の少なくとも一部を含むように各グ
ループごとに予め定められた位置のnビットである。領
域選択手段は、所定の信号に従って、複数種類のテーブ
ルのうちのいずれかのテーブルを選択するために記憶手
段の複数の領域のうちのいずれかの領域を選択する。バ
ンク選択手段は、入力されたMビットの符号のうちの第
1のビット列に基づいて記憶手段の選択された領域内の
複数のバンクのうちのいずれかのバンクを選択する。ビ
ット選択手段は、バンク選択手段の出力信号に従って、
入力されたMビットの符号のうちの第2のビット列を選
択し、それをアドレス信号として記憶手段に与える。
るMビットの符号を受け、各Mビットの符号の上位側に
含まれる最大Nビット(ただし、N≦Mである)の可変
長符号を復号するための可変長復号器であって、記憶手
段、領域選択手段、バンク選択手段およびビット選択手
段を備える。記憶手段は、各々が複数のバンクに分割さ
れた複数の領域を含むアドレス空間を有し、複数の可変
長符号と複数の可変長符号をそれぞれ復号するための複
数の復号情報との対応をそれぞれ示す複数種類のテーブ
ルを記憶する。複数の領域は複数種類のテーブルにそれ
ぞれ対応し、各テーブルの複数の可変長符号および複数
の復号情報は、各可変長符号が含まれるMビットの符号
のうちの上位側の予め定められたmビット(ただし、m
<Nである)からなる第1のビット列に基づいて複数の
グループに分類され、複数のグループは対応する領域内
の複数のバンクにそれぞれ対応する。記憶手段は、各テ
ーブルの各グループの各復号情報を、対応する領域内の
対応するバンクにおいて、その復号情報に対応する可変
長符号に予め割当てられたnビット(ただし、n<Nで
ある)の第2のビット列が示すアドレスに記憶し、第2
のビット列を構成するnビットはMビットの符号のうち
の対応の可変長符号の少なくとも一部を含むように各グ
ループごとに予め定められた位置のnビットである。領
域選択手段は、所定の信号に従って、複数種類のテーブ
ルのうちのいずれかのテーブルを選択するために記憶手
段の複数の領域のうちのいずれかの領域を選択する。バ
ンク選択手段は、入力されたMビットの符号のうちの第
1のビット列に基づいて記憶手段の選択された領域内の
複数のバンクのうちのいずれかのバンクを選択する。ビ
ット選択手段は、バンク選択手段の出力信号に従って、
入力されたMビットの符号のうちの第2のビット列を選
択し、それをアドレス信号として記憶手段に与える。
【0029】請求項5に係る発明では、請求項4に係る
発明の所定の信号は、所定の可変長符号に対応して符号
情報とともに記憶手段に記憶され、所定の可変長符号が
入力されて記憶手段から読出された所定の信号が領域選
択手段に与えられる。
発明の所定の信号は、所定の可変長符号に対応して符号
情報とともに記憶手段に記憶され、所定の可変長符号が
入力されて記憶手段から読出された所定の信号が領域選
択手段に与えられる。
【0030】
【0031】
【0032】
【0033】
【0034】
【0035】
【0036】
【0037】
【0038】
【0039】
【0040】
【0041】
【0042】
【0043】
【0044】
【作用】請求項1に係る発明では、記憶手段のアドレス
空間が複数のバンクに分割され、そのアドレス空間に可
変長符号と復号情報との対応を示すテーブルが記憶され
る。そして、最大Nビットの可変長符号を含むMビット
の符号のうちの上位側のmビットに基づいて複数のバン
クのうちのいずれかのバンクが選択され、そのMビット
の符号のうちのバンクごとに予め定められた位置のnビ
ットがアドレス信号としてそのバンクに与えられる。し
たがって、可変長符号の最大ビット数Nよりも小さなビ
ット数nのアドレス信号でアドレス指定が行なわれるの
で、可変長符号の最大ビット数Nのアドレス信号でアド
レス指定が行なわれていた従来に比べてアドレス空間が
小さくなり、回路規模が小さくてすむ。
空間が複数のバンクに分割され、そのアドレス空間に可
変長符号と復号情報との対応を示すテーブルが記憶され
る。そして、最大Nビットの可変長符号を含むMビット
の符号のうちの上位側のmビットに基づいて複数のバン
クのうちのいずれかのバンクが選択され、そのMビット
の符号のうちのバンクごとに予め定められた位置のnビ
ットがアドレス信号としてそのバンクに与えられる。し
たがって、可変長符号の最大ビット数Nよりも小さなビ
ット数nのアドレス信号でアドレス指定が行なわれるの
で、可変長符号の最大ビット数Nのアドレス信号でアド
レス指定が行なわれていた従来に比べてアドレス空間が
小さくなり、回路規模が小さくてすむ。
【0045】請求項2に係る発明では、請求項1に係る
発明の復号情報は対応の可変長符号の符号長を含む。こ
の場合は、この符号長に基づいて、入力されたMビット
の符号のうちの可変長符号を復号後に容易に破棄でき
る。
発明の復号情報は対応の可変長符号の符号長を含む。こ
の場合は、この符号長に基づいて、入力されたMビット
の符号のうちの可変長符号を復号後に容易に破棄でき
る。
【0046】請求項3に係る発明では、請求項1または
2に係る発明において、バンクの選択はソフトウェアに
よる条件判断によって行なわれる。この場合は、バンク
の選択を容易に行なうことができる。
2に係る発明において、バンクの選択はソフトウェアに
よる条件判断によって行なわれる。この場合は、バンク
の選択を容易に行なうことができる。
【0047】請求項4に係る発明では、記憶手段のアド
レス空間が各々が複数のバンクに分割された複数の領域
に分割され、複数の領域の各々に可変長符号と復号情報
との対応を示す複数種類のテーブルがそれぞれ格納され
る。そして、所定の信号に従って複数の領域のうちのい
ずれかの領域が選択され、最大Nビットの可変長符号を
含むMビットの符号のうちの上位側のmビットに基づい
て複数のバンクのうちのいずれかのバンクが選択され、
Mビットの符号のうちのバンクごとに予め定められた位
置のnビットがアドレス信号としてそのバンクに与えら
れる。したがって、可変長符号の最大ビット数Nよりも
小さなビット数nのアドレス信号でアドレス指定が行な
われるので、可変長符号の最大ビット数Nのアドレス信
号でアドレス指定が行なわれていた従来に比べてアドレ
ス空間が小さくなる。よって、複数種類のテーブルを格
納したにもかかわらず、回路規模が小さくてすむ。
レス空間が各々が複数のバンクに分割された複数の領域
に分割され、複数の領域の各々に可変長符号と復号情報
との対応を示す複数種類のテーブルがそれぞれ格納され
る。そして、所定の信号に従って複数の領域のうちのい
ずれかの領域が選択され、最大Nビットの可変長符号を
含むMビットの符号のうちの上位側のmビットに基づい
て複数のバンクのうちのいずれかのバンクが選択され、
Mビットの符号のうちのバンクごとに予め定められた位
置のnビットがアドレス信号としてそのバンクに与えら
れる。したがって、可変長符号の最大ビット数Nよりも
小さなビット数nのアドレス信号でアドレス指定が行な
われるので、可変長符号の最大ビット数Nのアドレス信
号でアドレス指定が行なわれていた従来に比べてアドレ
ス空間が小さくなる。よって、複数種類のテーブルを格
納したにもかかわらず、回路規模が小さくてすむ。
【0048】請求項5に係る発明では、請求項4に係る
発明の所定の信号は、所定の可変長符号に対応して復号
情報とともに記憶手段に記憶され、所定の可変長符号が
入力されたことに応じて記憶手段から読出される。この
場合は、所定の信号による領域の選択を容易に行なうこ
とができる。
発明の所定の信号は、所定の可変長符号に対応して復号
情報とともに記憶手段に記憶され、所定の可変長符号が
入力されたことに応じて記憶手段から読出される。この
場合は、所定の信号による領域の選択を容易に行なうこ
とができる。
【0049】
【実施例】(1) 第1の実施例 図1は、第1の実施例による可変長復号器の構成を示す
ブロック図である。図1の可変長復号器が図19の可変
長復号器と異なるのは、復号テーブル20aの構成が復
号テーブル20の構成と異なる点である。他の部分の構
成は、図19に示される構成と同様である。
ブロック図である。図1の可変長復号器が図19の可変
長復号器と異なるのは、復号テーブル20aの構成が復
号テーブル20の構成と異なる点である。他の部分の構
成は、図19に示される構成と同様である。
【0050】図2は、復号テーブル20aの構成を示す
ブロック図である。復号テーブル20aは、テーブルメ
モリ21a、バンク選択回路22およびビットセレクタ
23を含む。
ブロック図である。復号テーブル20aは、テーブルメ
モリ21a、バンク選択回路22およびビットセレクタ
23を含む。
【0051】テーブルメモリ21aのアドレス空間は複
数のバンクに分割されている。この実施例では、図3に
示すように、テーブルメモリ21aのアドレス空間は4
つのバンクBA0,BA1,BA2,BA3に分割され
ている。
数のバンクに分割されている。この実施例では、図3に
示すように、テーブルメモリ21aのアドレス空間は4
つのバンクBA0,BA1,BA2,BA3に分割され
ている。
【0052】テーブルメモリ21aは、たとえばROM
(Read Only Memory)からなる。この
ROMは、7ビットのアドレス入力を有し、128ワー
ドのデータを記憶する。各データのビット幅は10ビッ
トである。
(Read Only Memory)からなる。この
ROMは、7ビットのアドレス入力を有し、128ワー
ドのデータを記憶する。各データのビット幅は10ビッ
トである。
【0053】図2において、信号線L2には、図1の可
変長符号入力回路10から11ビットB0〜B10のパ
ラレルな可変長符号が与えられる。可変長符号の上位6
ビットB0〜B5はバンク選択回路22に与えられ、可
変長符号の全ビットB0〜B10がビットセレクタ23
に与えられる。
変長符号入力回路10から11ビットB0〜B10のパ
ラレルな可変長符号が与えられる。可変長符号の上位6
ビットB0〜B5はバンク選択回路22に与えられ、可
変長符号の全ビットB0〜B10がビットセレクタ23
に与えられる。
【0054】バンク選択回路22は、可変長符号の6ビ
ットB0〜B5に応答して、2ビットのバンク選択信号
BSLを発生する。バンク選択信号BSLは、アドレス
信号の上位2ビットA0,A1としてテーブルメモリ2
1aに与えられる。また、バンク選択信号BSLはビッ
トセレクタ23にも与えられる。
ットB0〜B5に応答して、2ビットのバンク選択信号
BSLを発生する。バンク選択信号BSLは、アドレス
信号の上位2ビットA0,A1としてテーブルメモリ2
1aに与えられる。また、バンク選択信号BSLはビッ
トセレクタ23にも与えられる。
【0055】ビットセレクタ23は、バンク選択信号B
SLに応答して、可変長符号の11ビットB0〜B10
のうち5ビットを選択し、選択された5ビットをアドレ
ス信号の下位5ビットA2〜A6としてテーブルメモリ
21aに与える。
SLに応答して、可変長符号の11ビットB0〜B10
のうち5ビットを選択し、選択された5ビットをアドレ
ス信号の下位5ビットA2〜A6としてテーブルメモリ
21aに与える。
【0056】アドレス信号の上位2ビットA0,A1に
よりテーブルメモリ21a内の4つのバンクBA0〜B
A3の1つが選択される。また、アドレス信号の下位5
ビットA2〜A6により、各バンク内のアドレスが指定
される。制御信号CNTに応答して、選択されたバンク
内のアドレスから符号情報が読出され、データ出力端子
Dを介して信号線L3,L4に与えられる。
よりテーブルメモリ21a内の4つのバンクBA0〜B
A3の1つが選択される。また、アドレス信号の下位5
ビットA2〜A6により、各バンク内のアドレスが指定
される。制御信号CNTに応答して、選択されたバンク
内のアドレスから符号情報が読出され、データ出力端子
Dを介して信号線L3,L4に与えられる。
【0057】テーブルメモリ21aには、たとえば図4
に示す対応テーブルが記憶されている。対応テーブル
は、可変長符号と符号情報(固定長データおよび符号
長)との対応を示している。
に示す対応テーブルが記憶されている。対応テーブル
は、可変長符号と符号情報(固定長データおよび符号
長)との対応を示している。
【0058】図4の対応テーブル内の可変長符号および
符号情報は、次の規則に従って第1ないし第4のグルー
プG1〜G4に分類される。ここで、最大符号長(11
ビット)の可変長符号の左端のビットを最上位ビットB
0 とし、右端のビットを最下位ビットB10とする。
符号情報は、次の規則に従って第1ないし第4のグルー
プG1〜G4に分類される。ここで、最大符号長(11
ビット)の可変長符号の左端のビットを最上位ビットB
0 とし、右端のビットを最下位ビットB10とする。
【0059】上位4ビットB0 〜B3 について次の関係
を満足する可変長符号を第1のグループG1に分類す
る。
を満足する可変長符号を第1のグループG1に分類す
る。
【0060】 B0 +B1 +B2 +B3 ≠0 …(1) 上位5ビットB0 〜B4 について次の関係を満足する可
変長符号を第2のグループG2に分類する。
変長符号を第2のグループG2に分類する。
【0061】 B0 +B1 +B2 +B3 =0 かつ B4 =1 …(2) 上位6ビットB0 〜B5 について次の関係を満足する可
変長符号を第3のグループG3に分類する。
変長符号を第3のグループG3に分類する。
【0062】 B0 +B1 +B2 +B3 +B4 =0 かつ B5 =1 …(3) 上位6ビットB0 〜B5 について次の関係を満足する可
変長符号を第4のグループG4に分類する。
変長符号を第4のグループG4に分類する。
【0063】 B0 +B1 +B2 +B3 +B4 +B5 =0 …(4) 第1ないし第4のグループG1,G2,G3,G4は、
テーブルメモリ21aのバンクBA0,BA1,BA
2,BA3にそれぞれ割当てられる。
テーブルメモリ21aのバンクBA0,BA1,BA
2,BA3にそれぞれ割当てられる。
【0064】第1のグループG1内の各符号情報は、対
応する可変長符号の上位5ビットB 0 〜B4 により指定
されるバンクBA0内のアドレスに格納される。第2の
グループG2内の各符号情報は、対応する可変長符号の
5ビットB4 〜B8 により指定されるバンクBA1内の
アドレスに格納される。第3のグループG3内の各符号
情報は、対応する可変長符号の5ビットB6 〜B10によ
り指定されるバンクBA2内のアドレスに格納される。
第4のグループG4内の各符号情報は、対応する可変長
符号の5ビットB6 〜B10により指定されるバンクBA
3内のアドレスに格納される。
応する可変長符号の上位5ビットB 0 〜B4 により指定
されるバンクBA0内のアドレスに格納される。第2の
グループG2内の各符号情報は、対応する可変長符号の
5ビットB4 〜B8 により指定されるバンクBA1内の
アドレスに格納される。第3のグループG3内の各符号
情報は、対応する可変長符号の5ビットB6 〜B10によ
り指定されるバンクBA2内のアドレスに格納される。
第4のグループG4内の各符号情報は、対応する可変長
符号の5ビットB6 〜B10により指定されるバンクBA
3内のアドレスに格納される。
【0065】図5、図6、図7および図8は、テーブル
メモリ21aのバンクBA0,BA1,BA2,BA3
にそれぞれ格納される符号情報を示す図である。
メモリ21aのバンクBA0,BA1,BA2,BA3
にそれぞれ格納される符号情報を示す図である。
【0066】図5に示すように、たとえば、バンクBA
0内のアドレス“1XXXX”には固定長データ“00
0000”(=“0”)および符号長“0001”(=
“1”)が格納される。バンクBA0内のアドレス“0
11XX”には固定長データ“000001”(=
“1”)および符号長“0011”(=“3”)が格納
される。
0内のアドレス“1XXXX”には固定長データ“00
0000”(=“0”)および符号長“0001”(=
“1”)が格納される。バンクBA0内のアドレス“0
11XX”には固定長データ“000001”(=
“1”)および符号長“0011”(=“3”)が格納
される。
【0067】図6に示すように、たとえば、バンクBA
1内のアドレス“111XX”に固定長データ“000
111”(=“7”)および符号長“0111”(=
“7”)が格納される。また、バンクBA1内のアドレ
ス“110XX”に固定長データ“001000”(=
“8”)および符号長“0111”(=“7”)が格納
される。
1内のアドレス“111XX”に固定長データ“000
111”(=“7”)および符号長“0111”(=
“7”)が格納される。また、バンクBA1内のアドレ
ス“110XX”に固定長データ“001000”(=
“8”)および符号長“0111”(=“7”)が格納
される。
【0068】図7に示すように、たとえば、バンクBA
2内のアドレス“11XXX”には固定長データ“00
1101”(=“13”)および符号長“1000”
(=“8”)が格納される。また、バンクBA2内のア
ドレス“10XXX”には固定長データ“00111
0”(=“14”)および符号長“1000”(=
“8”)が格納される。
2内のアドレス“11XXX”には固定長データ“00
1101”(=“13”)および符号長“1000”
(=“8”)が格納される。また、バンクBA2内のア
ドレス“10XXX”には固定長データ“00111
0”(=“14”)および符号長“1000”(=
“8”)が格納される。
【0069】図8に示すように、たとえば、バンクBA
3内のアドレス“11111”には固定長データ“01
1001”(=“25”)および符号長“1011”
(=“11”)が格納される。また、バンクBA3内の
アドレス“11110”には固定長データ“01101
0”(=“26”)および符号長“1011”(=“1
1”)が格納される。
3内のアドレス“11111”には固定長データ“01
1001”(=“25”)および符号長“1011”
(=“11”)が格納される。また、バンクBA3内の
アドレス“11110”には固定長データ“01101
0”(=“26”)および符号長“1011”(=“1
1”)が格納される。
【0070】このように、固定長および符号長からなる
各符号情報が、対応する可変長符号の5ビットにより指
定されるアドレスに格納される。
各符号情報が、対応する可変長符号の5ビットにより指
定されるアドレスに格納される。
【0071】図9は、バンク選択回路22の構成の一例
を示す回路図である。また、図10は、バンク選択回路
22の真理値表を示す図である。
を示す回路図である。また、図10は、バンク選択回路
22の真理値表を示す図である。
【0072】図9のバンク選択回路22は、NORゲー
ト221、ANDゲート222,223,224、OR
ゲート225,226およびインバータ227,228
を含む。
ト221、ANDゲート222,223,224、OR
ゲート225,226およびインバータ227,228
を含む。
【0073】第1のグループG1の可変長符号が与えら
れると、その可変長符号のビットB0〜B3の少なくと
も1つは“1”である。それにより、NORゲート22
1の出力は“0”となり、ANDゲート222,22
3,224の出力が“0”となる。したがって、ORゲ
ート225,226の出力が共に“0”となる。その結
果、バンク選択信号BSLのビットA0が“0”とな
り、ビットA1も“0”となる。それにより、バンクB
A0が選択される。
れると、その可変長符号のビットB0〜B3の少なくと
も1つは“1”である。それにより、NORゲート22
1の出力は“0”となり、ANDゲート222,22
3,224の出力が“0”となる。したがって、ORゲ
ート225,226の出力が共に“0”となる。その結
果、バンク選択信号BSLのビットA0が“0”とな
り、ビットA1も“0”となる。それにより、バンクB
A0が選択される。
【0074】第2のグループG2の可変長符号が与えら
れると、その可変長符号のビットB0〜B3はすべて
“0”でありかつビットB4は“1”である。それによ
り、NORゲート221の出力が“1”となり、AND
ゲート222の出力が“1”となる。ANDゲート22
3,224の出力は“0”となる。したがって、ORゲ
ート225の出力が“1”となり、ORゲート226の
出力が“0”となる。その結果、バンク選択信号BSL
のビットA0が“0”となり、ビットA1が“1”とな
る。それにより、バンクBA1が選択される。
れると、その可変長符号のビットB0〜B3はすべて
“0”でありかつビットB4は“1”である。それによ
り、NORゲート221の出力が“1”となり、AND
ゲート222の出力が“1”となる。ANDゲート22
3,224の出力は“0”となる。したがって、ORゲ
ート225の出力が“1”となり、ORゲート226の
出力が“0”となる。その結果、バンク選択信号BSL
のビットA0が“0”となり、ビットA1が“1”とな
る。それにより、バンクBA1が選択される。
【0075】第3のグループG3の可変長符号が与えら
れると、その可変長符号のビットB0〜B4はすべて
“0”でありかつビットB5は“1”である。それによ
り、NORゲート221の出力が“1”となり、AND
ゲート223の出力が“1”となる。ANDゲート22
2,224の出力は“0”となる。したがって、ORゲ
ート225の出力が“0”となり、ORゲート226の
出力が“1”となる。その結果、バンク選択信号BSL
のビットA0が“1”となり、ビットA1が“0”とな
る。それにより、バンクBA2が選択される。
れると、その可変長符号のビットB0〜B4はすべて
“0”でありかつビットB5は“1”である。それによ
り、NORゲート221の出力が“1”となり、AND
ゲート223の出力が“1”となる。ANDゲート22
2,224の出力は“0”となる。したがって、ORゲ
ート225の出力が“0”となり、ORゲート226の
出力が“1”となる。その結果、バンク選択信号BSL
のビットA0が“1”となり、ビットA1が“0”とな
る。それにより、バンクBA2が選択される。
【0076】第4のグループG4の可変長符号が与えら
れると、その可変長符号のビットB0〜B5はすべて
“0”である。それにより、NORゲート221の出力
が“1”となり、ANDゲート224の出力が“1”と
なる。ANDゲート222,223の出力は“0”とな
る。したがって、ORゲート225の出力が“1”とな
り、ORゲート226の出力も“1”となる。その結
果、バンク選択信号BSLのビットA0が“1”とな
り、ビットA1も“1”となる。それにより、バンクB
A3が選択される。
れると、その可変長符号のビットB0〜B5はすべて
“0”である。それにより、NORゲート221の出力
が“1”となり、ANDゲート224の出力が“1”と
なる。ANDゲート222,223の出力は“0”とな
る。したがって、ORゲート225の出力が“1”とな
り、ORゲート226の出力も“1”となる。その結
果、バンク選択信号BSLのビットA0が“1”とな
り、ビットA1も“1”となる。それにより、バンクB
A3が選択される。
【0077】図11は、ビットセレクタ23の構成の一
例を示す図である。図11のビットセレクタ23は、デ
コーダ230およびセレクタ231,232,233,
234,235を含む。
例を示す図である。図11のビットセレクタ23は、デ
コーダ230およびセレクタ231,232,233,
234,235を含む。
【0078】デコーダ230は、バンク選択信号の2ビ
ットA0,A1をデコードし、選択信号S1,S2,S
3,S4のいずれか1つを“1”にする。セレクタ23
1〜235の各々は、4つの入力端子I1,I2,I
3,I4および1つの出力端子を有する。各セレクタ
は、選択信号S1〜S4に応答して、入力端子I1〜I
4に与えられる信号のいずれか1つを選択して出力端子
に与える。
ットA0,A1をデコードし、選択信号S1,S2,S
3,S4のいずれか1つを“1”にする。セレクタ23
1〜235の各々は、4つの入力端子I1,I2,I
3,I4および1つの出力端子を有する。各セレクタ
は、選択信号S1〜S4に応答して、入力端子I1〜I
4に与えられる信号のいずれか1つを選択して出力端子
に与える。
【0079】セレクタ231の入力端子I1,I2,I
3には可変長符号のビットB0,B4,B6がそれぞれ
与えられる。セレクタ232の入力端子I1,I2,I
3には可変長符号のビットB1,B5,B7がそれぞれ
与えられる。セレクタ233の入力端子I1,I2,I
3には可変長符号のビットB2,B6,B8がそれぞれ
与えられる。セレクタ234の入力端子I1,I2,I
3には可変長符号のビットB3,B7,B9がそれぞれ
与えられる。セレクタ235の入力端子I1,I2,I
3には可変長符号のビットB4,B8,B10がそれぞ
れ与えられる。各セレクタの入力端子I4には入力端子
I3と同じビットが与えられる。
3には可変長符号のビットB0,B4,B6がそれぞれ
与えられる。セレクタ232の入力端子I1,I2,I
3には可変長符号のビットB1,B5,B7がそれぞれ
与えられる。セレクタ233の入力端子I1,I2,I
3には可変長符号のビットB2,B6,B8がそれぞれ
与えられる。セレクタ234の入力端子I1,I2,I
3には可変長符号のビットB3,B7,B9がそれぞれ
与えられる。セレクタ235の入力端子I1,I2,I
3には可変長符号のビットB4,B8,B10がそれぞ
れ与えられる。各セレクタの入力端子I4には入力端子
I3と同じビットが与えられる。
【0080】セレクタ231〜235から出力されるビ
ットがそれぞれアドレス信号のビットA2〜A6として
テーブルメモリ21aに与えられる。
ットがそれぞれアドレス信号のビットA2〜A6として
テーブルメモリ21aに与えられる。
【0081】バンク選択信号のビットA0,A1が共に
“0”のときには、選択信号S1が“1”となる。それ
により、セレクタ231〜235からそれぞれビットB
0〜B4が出力される。バンク選択信号のビットA0,
A1がそれぞれ“0”および“1”であると、選択信号
S2が“1”になる。それにより、セレクタ231〜2
35からそれぞれビットB4〜B8が出力される。
“0”のときには、選択信号S1が“1”となる。それ
により、セレクタ231〜235からそれぞれビットB
0〜B4が出力される。バンク選択信号のビットA0,
A1がそれぞれ“0”および“1”であると、選択信号
S2が“1”になる。それにより、セレクタ231〜2
35からそれぞれビットB4〜B8が出力される。
【0082】バンク選択信号のビットA0,A1がそれ
ぞれ“1”および“0”であると、選択信号S3が
“1”になる。それにより、セレクタ231〜235か
らそれぞれビットB6〜B10が出力される。バンク選
択信号のビットA0,A1が共に“1”であると、選択
信号S4が“1”となる。それにより、セレクタ231
〜235からそれぞれビットB6〜B10が出力され
る。
ぞれ“1”および“0”であると、選択信号S3が
“1”になる。それにより、セレクタ231〜235か
らそれぞれビットB6〜B10が出力される。バンク選
択信号のビットA0,A1が共に“1”であると、選択
信号S4が“1”となる。それにより、セレクタ231
〜235からそれぞれビットB6〜B10が出力され
る。
【0083】図12は、ビットセレクタ23の構成の他
の例を示す図である。図12のビットセレクタ23は、
セレクタ241〜245を含む。セレクタ241〜24
5の各々には、バンク選択信号のビットA0,A1が与
えられる。各セレクタは、ビットA0,A1に応答し
て、入力端子I1,I2,I3,I4に与えられる信号
のいずれか1つを選択し、それを出力端子に与える。
の例を示す図である。図12のビットセレクタ23は、
セレクタ241〜245を含む。セレクタ241〜24
5の各々には、バンク選択信号のビットA0,A1が与
えられる。各セレクタは、ビットA0,A1に応答し
て、入力端子I1,I2,I3,I4に与えられる信号
のいずれか1つを選択し、それを出力端子に与える。
【0084】図11のビットセレクタ23では5つのセ
レクタ231〜235に共通にデコーダ230が設けら
れているのに対して、図12のビットセレクタ23では
5つのセレクタ241〜245の各々がデコード機能を
有する。図12のビットセレクタ23の全体の動作は、
図11のビットセレクタ23の動作と同様である。
レクタ231〜235に共通にデコーダ230が設けら
れているのに対して、図12のビットセレクタ23では
5つのセレクタ241〜245の各々がデコード機能を
有する。図12のビットセレクタ23の全体の動作は、
図11のビットセレクタ23の動作と同様である。
【0085】次に、図2に示す復号テーブル20aの動
作を説明する。たとえば、復号されるべき可変長符号が
“011”であるならば、信号線L2の上位3ビットに
可変長符号“011”が与えられ、残りのビットには8
ビットの無効データが与えられる。この無効データは、
次に復号されるべき可変長符号の一部または全部を含
む。
作を説明する。たとえば、復号されるべき可変長符号が
“011”であるならば、信号線L2の上位3ビットに
可変長符号“011”が与えられ、残りのビットには8
ビットの無効データが与えられる。この無効データは、
次に復号されるべき可変長符号の一部または全部を含
む。
【0086】ここでは、信号線L2に“0110000
0111”が与えられるものとする。信号線L2の可変
長符号の上位6ビットB0〜B5(“011000”)
がバンク選択回路22に与えられ、全ビットB0〜B1
0(“01100000111”)がビットセレクタ2
3に与えられる。
0111”が与えられるものとする。信号線L2の可変
長符号の上位6ビットB0〜B5(“011000”)
がバンク選択回路22に与えられ、全ビットB0〜B1
0(“01100000111”)がビットセレクタ2
3に与えられる。
【0087】バンク選択回路22は、それらのビットB
0〜B5に応答して、バンク選択信号BSLの2ビット
A0,A1をそれぞれ“0”,“0”にする。それによ
り、テーブルメモリ21aのバンクBA0が選択される
(図3参照)。また、ビットセレクタ23は、バンク選
択信号BSLに応答して、ビットB0〜B10のうち5
ビットB0〜B4(“011000”)を選択し、それ
をテーブルメモリ21aにアドレス信号として与える。
それにより、バンクBA0内のアドレス“01100”
が指定される。その結果、そのアドレス“01100”
から固定長データ“000001”(=“1”)および
符号長“0011”(=“3”)が読出される。
0〜B5に応答して、バンク選択信号BSLの2ビット
A0,A1をそれぞれ“0”,“0”にする。それによ
り、テーブルメモリ21aのバンクBA0が選択される
(図3参照)。また、ビットセレクタ23は、バンク選
択信号BSLに応答して、ビットB0〜B10のうち5
ビットB0〜B4(“011000”)を選択し、それ
をテーブルメモリ21aにアドレス信号として与える。
それにより、バンクBA0内のアドレス“01100”
が指定される。その結果、そのアドレス“01100”
から固定長データ“000001”(=“1”)および
符号長“0011”(=“3”)が読出される。
【0088】ここでは、一例として、第1のグループG
1に属する可変長符号“011”の復号処理を説明した
が、他の可変長符号についても同様の処理が行なわれ
る。
1に属する可変長符号“011”の復号処理を説明した
が、他の可変長符号についても同様の処理が行なわれ
る。
【0089】従来の可変長復号器では、図21に示す対
応テーブルを記憶するために2048ワードのアドレス
空間を有するテーブルメモリ21が必要である。それに
対して、この実施例による可変長復号器では、図4に示
す対応テーブルを記憶するために128ワードのアドレ
ス空間を有するテーブルメモリ21aで十分である。
応テーブルを記憶するために2048ワードのアドレス
空間を有するテーブルメモリ21が必要である。それに
対して、この実施例による可変長復号器では、図4に示
す対応テーブルを記憶するために128ワードのアドレ
ス空間を有するテーブルメモリ21aで十分である。
【0090】このように、この実施例で用いられるテー
ブルメモリ21aの容量は、従来のテーブルメモリ21
の容量の16分の1となっている。また、テーブルメモ
リ21aのビット幅構成はテーブルメモリ21のビット
幅構成と同じであるので、結果的にテーブルメモリ21
aの総ビット数も従来のテーブルメモリ21の総ビット
数の16分の1となる。
ブルメモリ21aの容量は、従来のテーブルメモリ21
の容量の16分の1となっている。また、テーブルメモ
リ21aのビット幅構成はテーブルメモリ21のビット
幅構成と同じであるので、結果的にテーブルメモリ21
aの総ビット数も従来のテーブルメモリ21の総ビット
数の16分の1となる。
【0091】上記実施例では、バンク選択回路22から
出力される同一のバンク選択信号BSLがテーブルメモ
リ21aおよびビットセレクタ23の両方に与えられて
いるが、グループの分類を示す異なる信号をテーブルメ
モリ21aおよびビットセレクタ23に与えてもよい。
出力される同一のバンク選択信号BSLがテーブルメモ
リ21aおよびビットセレクタ23の両方に与えられて
いるが、グループの分類を示す異なる信号をテーブルメ
モリ21aおよびビットセレクタ23に与えてもよい。
【0092】また、上記実施例では、テーブルメモリ2
1aにROMを用いているが、テーブルメモリ21aを
RAM(Random Access Memory)
で構成することも可能である。
1aにROMを用いているが、テーブルメモリ21aを
RAM(Random Access Memory)
で構成することも可能である。
【0093】さらに、上記実施例では、テーブルメモリ
21aのバンクBA0,BA1,BA2,BA3をテー
ブルメモリ21aのアドレスの上位ビットで切換えてい
るが、必ずしも上位ビットで切換える必要はない。たと
えば、テーブルメモリ21aの最下位から数ビットを用
いてバンクを切換えることも可能である。
21aのバンクBA0,BA1,BA2,BA3をテー
ブルメモリ21aのアドレスの上位ビットで切換えてい
るが、必ずしも上位ビットで切換える必要はない。たと
えば、テーブルメモリ21aの最下位から数ビットを用
いてバンクを切換えることも可能である。
【0094】(2) 第2の実施例 図2は、第2の実施例による可変長復号器に用いられる
復号テーブルの構成を示すブロック図である。第2の実
施例による可変長復号器の全体の構成は、図1に示され
る構成と同様である。
復号テーブルの構成を示すブロック図である。第2の実
施例による可変長復号器の全体の構成は、図1に示され
る構成と同様である。
【0095】可変長復号器20bは、テーブルメモリ2
1b、バンク選択回路22およびビットセレクタ23を
含む。テーブルメモリ21bはROMからなる。そのR
OMは、8ビットのアドレス入力を有し、256ワード
のデータを記憶する。各データのビット幅は10ビット
である。
1b、バンク選択回路22およびビットセレクタ23を
含む。テーブルメモリ21bはROMからなる。そのR
OMは、8ビットのアドレス入力を有し、256ワード
のデータを記憶する。各データのビット幅は10ビット
である。
【0096】テーブルメモリ21bのアドレス空間は、
各々が複数のバンクに分割された複数の領域を含む。こ
の実施例では、図14に示すように、テーブルメモリ2
1bのアドレス空間が2つの領域R1,R2を含む。各
領域は4つのバンクBA0,BA1,BA2,BA3に
分割されている。
各々が複数のバンクに分割された複数の領域を含む。こ
の実施例では、図14に示すように、テーブルメモリ2
1bのアドレス空間が2つの領域R1,R2を含む。各
領域は4つのバンクBA0,BA1,BA2,BA3に
分割されている。
【0097】アドレス信号のビットA7によりテーブル
メモリ21b内の2つの領域R1,R2の一方が選択さ
れる。アドレス信号のビットA0,A1により各領域内
の4つのバンクBA0〜BA3の1つが選択される。ア
ドレス信号の5ビットA2〜A6により各バンク内のア
ドレスが指定される。
メモリ21b内の2つの領域R1,R2の一方が選択さ
れる。アドレス信号のビットA0,A1により各領域内
の4つのバンクBA0〜BA3の1つが選択される。ア
ドレス信号の5ビットA2〜A6により各バンク内のア
ドレスが指定される。
【0098】テーブルメモリ21bの領域R1,R2に
は、それぞれ異なる種類の対応テーブルが記憶されてい
る。領域R1には第1の実施例におけるテーブルメモリ
21aと同様に、たとえば図4に示される対応テーブル
が記憶され、領域R2には、図4の対応テーブルとは異
なる対応テーブルが記憶される。領域R2に記憶される
対応テーブルも、図4の対応テーブルと同様に第1ない
し第4のグループG1〜G4に分類され、それぞれバン
クBA0〜BA3に記憶される。
は、それぞれ異なる種類の対応テーブルが記憶されてい
る。領域R1には第1の実施例におけるテーブルメモリ
21aと同様に、たとえば図4に示される対応テーブル
が記憶され、領域R2には、図4の対応テーブルとは異
なる対応テーブルが記憶される。領域R2に記憶される
対応テーブルも、図4の対応テーブルと同様に第1ない
し第4のグループG1〜G4に分類され、それぞれバン
クBA0〜BA3に記憶される。
【0099】テーブルメモリ21bから信号線L3,L
4に出力される符号情報は符号切換信号発生回路30に
与えられる。符号切換信号発生回路30は、符号情報に
基づいて符号切換信号CSWを発生し、それをアドレス
信号のビットA7としてテーブルメモリ21bに与え
る。符号切換信号CSWに応答して領域R1,R2に記
憶される対応テーブルの一方が選択され、選択された対
応テーブルを用いて可変長符号が復号される。
4に出力される符号情報は符号切換信号発生回路30に
与えられる。符号切換信号発生回路30は、符号情報に
基づいて符号切換信号CSWを発生し、それをアドレス
信号のビットA7としてテーブルメモリ21bに与え
る。符号切換信号CSWに応答して領域R1,R2に記
憶される対応テーブルの一方が選択され、選択された対
応テーブルを用いて可変長符号が復号される。
【0100】バンク選択回路22およびビットセレクタ
23の構成は、図2に示されるバンク選択回路22およ
びビットセレクタ23の構成と同様である。
23の構成は、図2に示されるバンク選択回路22およ
びビットセレクタ23の構成と同様である。
【0101】図15は、符号切換信号発生回路30の動
作の一例を示すフローチャートである。ここで、領域R
1に記憶される対応テーブルをCT1とし、領域R2に
記憶される対応テーブルをCT2とする。
作の一例を示すフローチャートである。ここで、領域R
1に記憶される対応テーブルをCT1とし、領域R2に
記憶される対応テーブルをCT2とする。
【0102】まず、符号切換信号発生回路30は、符号
切換信号CSWを“0”にする。それにより、領域R1
に記憶される対応テーブルCT1が選択される(ステッ
プS1)。次に、符号切換信号発生回路30は、符号切
換信号CSWを“1”に設定する。それにより、領域R
2に記憶される対応テーブルCT2が選択される(ステ
ップS2)。
切換信号CSWを“0”にする。それにより、領域R1
に記憶される対応テーブルCT1が選択される(ステッ
プS1)。次に、符号切換信号発生回路30は、符号切
換信号CSWを“1”に設定する。それにより、領域R
2に記憶される対応テーブルCT2が選択される(ステ
ップS2)。
【0103】符号切換信号発生回路30は、テーブルメ
モリ21bから出力される固定長データが“EOB”
(エンドオブブロック)であれば、符号切換信号CSW
を“0”に設定する。それにより、再び対応テーブルC
T1が選択される(ステップS1)。
モリ21bから出力される固定長データが“EOB”
(エンドオブブロック)であれば、符号切換信号CSW
を“0”に設定する。それにより、再び対応テーブルC
T1が選択される(ステップS1)。
【0104】一方、ステップS3において、テーブルメ
モリ21から出力される固定長データが“EOB”でな
いならば、符号切換信号発生回路30は、符号切換信号
CSWを“1”に保つ。それにより、対応テーブルCT
2が選択される(ステップS2)。
モリ21から出力される固定長データが“EOB”でな
いならば、符号切換信号発生回路30は、符号切換信号
CSWを“1”に保つ。それにより、対応テーブルCT
2が選択される(ステップS2)。
【0105】このように、対応テーブルCT1の選択
後、テーブルメモリ21bから“EOB”を示す固定長
データが出力されるまで、対応テーブルCT2が繰返し
選択される。
後、テーブルメモリ21bから“EOB”を示す固定長
データが出力されるまで、対応テーブルCT2が繰返し
選択される。
【0106】復号テーブル20bを含む可変長復号器
は、異なる対応テーブルを用いて復号される複数種類の
可変長符号が時分割で与えられる場合に用いられる。た
とえば、第1の種類の可変長符号を復号するための対応
テーブルCT1がテーブルメモリ21bの領域R1に記
憶され、第2の種類の可変長符号を復号するための対応
テーブルCT2がテーブルメモリ21bの領域R2に記
憶される。
は、異なる対応テーブルを用いて復号される複数種類の
可変長符号が時分割で与えられる場合に用いられる。た
とえば、第1の種類の可変長符号を復号するための対応
テーブルCT1がテーブルメモリ21bの領域R1に記
憶され、第2の種類の可変長符号を復号するための対応
テーブルCT2がテーブルメモリ21bの領域R2に記
憶される。
【0107】実際には、第1の種類の可変長符号に対応
する符号情報が領域R1内の対応するバンクに格納さ
れ、第2の種類の可変長符号に対応する符号情報が領域
R2の対応するバンクに格納される。
する符号情報が領域R1内の対応するバンクに格納さ
れ、第2の種類の可変長符号に対応する符号情報が領域
R2の対応するバンクに格納される。
【0108】符号切換信号CSWは現在入力されている
可変長符号が第1の種類の可変長符号であるか第2の種
類の可変長符号であるを示す。与えられる可変長符号の
種類が予め定められた規則に従って切換えられる場合に
は、符号切換信号発生回路30は、その規則に従って符
号切換信号CSWを発生する。また、与えられる可変長
符号の種類が復号された符号情報に従って決定される場
合には、符号切換信号発生回路30は、テーブルメモリ
21bから出力される符号情報に基づいて符号切換信号
CSWを発生する。
可変長符号が第1の種類の可変長符号であるか第2の種
類の可変長符号であるを示す。与えられる可変長符号の
種類が予め定められた規則に従って切換えられる場合に
は、符号切換信号発生回路30は、その規則に従って符
号切換信号CSWを発生する。また、与えられる可変長
符号の種類が復号された符号情報に従って決定される場
合には、符号切換信号発生回路30は、テーブルメモリ
21bから出力される符号情報に基づいて符号切換信号
CSWを発生する。
【0109】このように、上記実施例による可変長復号
器では、複数種類の可変長符号が時分割で与えられる場
合に、符号切換信号CSWに応答してテーブルメモリ2
1b内の領域を選択することにより、参照すべき対応テ
ーブルの種類が切換えられる。したがって、1つのテー
ブルメモリ21bを用いて複数種類の可変長符号を復号
することが可能となる。
器では、複数種類の可変長符号が時分割で与えられる場
合に、符号切換信号CSWに応答してテーブルメモリ2
1b内の領域を選択することにより、参照すべき対応テ
ーブルの種類が切換えられる。したがって、1つのテー
ブルメモリ21bを用いて複数種類の可変長符号を復号
することが可能となる。
【0110】(3) 第3の実施例 第3の実施例による可変長復号器の復号テーブルはマイ
クロプロセッサまたはデジタルシグナルプロセッサ(D
SP)により構成される。この場合、図2に示されるバ
ンク選択回路22およびビットセレクタ23の機能は、
ソフトウェア処理により達成される。
クロプロセッサまたはデジタルシグナルプロセッサ(D
SP)により構成される。この場合、図2に示されるバ
ンク選択回路22およびビットセレクタ23の機能は、
ソフトウェア処理により達成される。
【0111】図16は、バンク選択回路22の機能を実
現するための処理を説明するためのフローチャートであ
る。ここでは、テーブルメモリ21aには図4の対応テ
ーブルが記憶されているものとする。その対応テーブル
は、式(1)〜(4)に示す規則に従って第1〜第4の
グループに分類されている。
現するための処理を説明するためのフローチャートであ
る。ここでは、テーブルメモリ21aには図4の対応テ
ーブルが記憶されているものとする。その対応テーブル
は、式(1)〜(4)に示す規則に従って第1〜第4の
グループに分類されている。
【0112】復号テーブルには、復号されるべき可変長
符号を含む最大符号長形式の可変長符号が入力される。
復号されるべき可変長符号が最大符号長よりも短い符号
長を有する場合には、最大符号長形式の可変長符号の上
位ビットが有効な可変長符号であり、下位ビットが無効
ビットである。まず、上位4ビットB0〜B3がすべて
“0”であるかどうかが判断される(ステップS1
1)。上位4ビットB0〜B3のいずれかが“1”であ
れば、バンクBA0が選択される(ステップS12)。
符号を含む最大符号長形式の可変長符号が入力される。
復号されるべき可変長符号が最大符号長よりも短い符号
長を有する場合には、最大符号長形式の可変長符号の上
位ビットが有効な可変長符号であり、下位ビットが無効
ビットである。まず、上位4ビットB0〜B3がすべて
“0”であるかどうかが判断される(ステップS1
1)。上位4ビットB0〜B3のいずれかが“1”であ
れば、バンクBA0が選択される(ステップS12)。
【0113】ステップS11において、上位4ビットB
0〜B3がすべて“0”であれば、第5ビットB4が
“0”であるかどうかが判断される(ステップS1
3)。第5ビットB4が“1”であれば、バンクBA1
が選択される(ステップS14)。
0〜B3がすべて“0”であれば、第5ビットB4が
“0”であるかどうかが判断される(ステップS1
3)。第5ビットB4が“1”であれば、バンクBA1
が選択される(ステップS14)。
【0114】ステップS13において、第5ビットB4
が“0”であれば、第6ビットB5が“0”であるかど
うかが判断される(ステップS15)。第6ビットB5
が“1”であれば、バンクBA2が選択される(ステッ
プS16)。
が“0”であれば、第6ビットB5が“0”であるかど
うかが判断される(ステップS15)。第6ビットB5
が“1”であれば、バンクBA2が選択される(ステッ
プS16)。
【0115】ステップS15において、第6ビットB5
が“0”であれば、バンクBA3が選択される(ステッ
プS17)。
が“0”であれば、バンクBA3が選択される(ステッ
プS17)。
【0116】図16に示す各条件判断は、マイクロプロ
セッサまたはデジタルシグナルプロセッサが有する命令
のうちの条件分岐命令により実行することができる。
セッサまたはデジタルシグナルプロセッサが有する命令
のうちの条件分岐命令により実行することができる。
【0117】図16の処理によりバンクが選択される
と、マイクロプロセッサまたはデジタルシグナルプロセ
ッサに内蔵されたシフタを用いて、入力された可変長符
号がグループに応じて適宜シフトされる。そのシフトさ
れた可変長符号をテーブルメモリ21aにアドレス信号
として与えることにより、テーブルメモリ21a内のア
ドレスにアクセスすることができる。
と、マイクロプロセッサまたはデジタルシグナルプロセ
ッサに内蔵されたシフタを用いて、入力された可変長符
号がグループに応じて適宜シフトされる。そのシフトさ
れた可変長符号をテーブルメモリ21aにアドレス信号
として与えることにより、テーブルメモリ21a内のア
ドレスにアクセスすることができる。
【0118】このように、ソフトウェア処理により、第
1の実施例と同様の機能を有する可変長復号器が実現で
きる。
1の実施例と同様の機能を有する可変長復号器が実現で
きる。
【0119】この場合にも、可変長符号を復号するため
にテーブルメモリ21aのアドレス空間は128ワード
で足りる。したがって、従来のテーブルメモリの16分
の1のワード数のみが必要となる。
にテーブルメモリ21aのアドレス空間は128ワード
で足りる。したがって、従来のテーブルメモリの16分
の1のワード数のみが必要となる。
【0120】
【発明の効果】以上のように、請求項1に係る発明で
は、記憶手段のアドレス空間が複数のバンクに分割さ
れ、そのアドレス空間に可変長符号と復号情報との対応
を示すテーブルが記憶される。そして、最大Nビットの
可変長符号を含むMビットの符号のうちの上位側のmビ
ットに基づいて複数のバンクのうちのいずれかのバンク
が選択され、そのMビットの符号のうちのバンクごとに
予め定められた位置のnビットがアドレス信号としてそ
のバンクに与えられる。したがって、可変長符号の最大
ビット数Nよりも小さなビット数nのアドレス信号でア
ドレス指定が行なわれるので、可変長符号の最大ビット
数Nのアドレス信号でアドレス指定が行なわれていた従
来に比べてアドレス空間が小さくなり、回路規模が小さ
くてすむ。
は、記憶手段のアドレス空間が複数のバンクに分割さ
れ、そのアドレス空間に可変長符号と復号情報との対応
を示すテーブルが記憶される。そして、最大Nビットの
可変長符号を含むMビットの符号のうちの上位側のmビ
ットに基づいて複数のバンクのうちのいずれかのバンク
が選択され、そのMビットの符号のうちのバンクごとに
予め定められた位置のnビットがアドレス信号としてそ
のバンクに与えられる。したがって、可変長符号の最大
ビット数Nよりも小さなビット数nのアドレス信号でア
ドレス指定が行なわれるので、可変長符号の最大ビット
数Nのアドレス信号でアドレス指定が行なわれていた従
来に比べてアドレス空間が小さくなり、回路規模が小さ
くてすむ。
【0121】請求項2に係る発明では、請求項1に係る
発明の復号情報が対応の可変長符号の符号長を含む。こ
の場合は、この符号長に基づいて、入力されたMビット
の符号のうちの可変長符号を復号後に容易に破棄でき
る。請求項3に係る発明では、請求項1または2に係る
発明において、バンクの選択はソフトウェアによる条件
判断によって行なわれる。この場合は、バンクの選択を
容易に行なうことができる。
発明の復号情報が対応の可変長符号の符号長を含む。こ
の場合は、この符号長に基づいて、入力されたMビット
の符号のうちの可変長符号を復号後に容易に破棄でき
る。請求項3に係る発明では、請求項1または2に係る
発明において、バンクの選択はソフトウェアによる条件
判断によって行なわれる。この場合は、バンクの選択を
容易に行なうことができる。
【0122】請求項4に係る発明では、記憶手段のアド
レス空間が各々が複数のバンクに分割された複数の領域
に分割され、複数の領域の各々に可変長符号と復号情報
との対応を示す複数種類のテーブルがそれぞれ格納され
る。そして、所定の信号に従って複数の領域のうちのい
ずれかの領域が選択され、最大Nビットの可変長符号を
含むMビットの符号のうちの上位側のmビットに基づい
て複数のバンクのうちのいずれかのバンクが選択され、
そのMビットの符号のうちのバンクごとに予め定められ
た位置のnビットがアドレス信号としてそのバンクに与
えられる。したがって、可変長符号の最大ビット数Nよ
りも小さなビット数nのアドレス信号でアドレス指定が
行なわれるので、可変長符号の最大ビット数Nのアドレ
ス信号でアドレス指定が行なわれていた従来に比べてア
ドレス空間が小さくなる。よって、複数種類のテーブル
を格納したにもかかわらず、回路規模が小さくてすむ。
請求項5に係る発明では、請求項4に係る発明の所定の
信号は、所定の可変長符号に対応して復号情報とともに
記憶手段に記憶され、所定の可変長符号が入力されたこ
とに応じて記憶手段から読出される。この場合は、所定
の信号による領域の選択を容易に行なうことができる。
レス空間が各々が複数のバンクに分割された複数の領域
に分割され、複数の領域の各々に可変長符号と復号情報
との対応を示す複数種類のテーブルがそれぞれ格納され
る。そして、所定の信号に従って複数の領域のうちのい
ずれかの領域が選択され、最大Nビットの可変長符号を
含むMビットの符号のうちの上位側のmビットに基づい
て複数のバンクのうちのいずれかのバンクが選択され、
そのMビットの符号のうちのバンクごとに予め定められ
た位置のnビットがアドレス信号としてそのバンクに与
えられる。したがって、可変長符号の最大ビット数Nよ
りも小さなビット数nのアドレス信号でアドレス指定が
行なわれるので、可変長符号の最大ビット数Nのアドレ
ス信号でアドレス指定が行なわれていた従来に比べてア
ドレス空間が小さくなる。よって、複数種類のテーブル
を格納したにもかかわらず、回路規模が小さくてすむ。
請求項5に係る発明では、請求項4に係る発明の所定の
信号は、所定の可変長符号に対応して復号情報とともに
記憶手段に記憶され、所定の可変長符号が入力されたこ
とに応じて記憶手段から読出される。この場合は、所定
の信号による領域の選択を容易に行なうことができる。
【図1】この発明の第1の実施例による可変長復号器の
全体の構成を示すブロック図である。
全体の構成を示すブロック図である。
【図2】図1の可変長復号器に用いられる復号テーブル
の構成を示すブロック図である。
の構成を示すブロック図である。
【図3】図2の復号テーブルに含まれるテーブルメモリ
のアドレス空間を示す図である。
のアドレス空間を示す図である。
【図4】可変長符号と符号情報との対応を示す対応テー
ブルの一例を示す図である。
ブルの一例を示す図である。
【図5】テーブルメモリの1つのバンクに格納される符
号情報を示す図である。
号情報を示す図である。
【図6】テーブルメモリの他の1つのバンクに格納され
る符号情報を示す図である。
る符号情報を示す図である。
【図7】テーブルメモリの他の1つのバンクに格納され
る符号情報を示す図である。
る符号情報を示す図である。
【図8】テーブルメモリの残りの1つのバンクに格納さ
れる符号情報を示す図である。
れる符号情報を示す図である。
【図9】バンク選択回路の構成の一例を示す回路図であ
る。
る。
【図10】図9のバンク選択回路の真理値表を示す図で
ある。
ある。
【図11】ビットセレクタの構成の一例を示す図であ
る。
る。
【図12】ビットセレクタの構成の他の例を示す図であ
る。
る。
【図13】この発明の第2の実施例による可変長復号器
に用いられる復号テーブルの構成を示すブロック図であ
る。
に用いられる復号テーブルの構成を示すブロック図であ
る。
【図14】図13の復号テーブルに含まれるテーブルメ
モリのアドレス空間を示す図である。
モリのアドレス空間を示す図である。
【図15】符号切換信号発生回路の動作の一例を示すフ
ローチャートである。
ローチャートである。
【図16】この発明の第3の実施例による可変長復号器
において行なわれるソフトウェア処理を示すフローチャ
ートである。
において行なわれるソフトウェア処理を示すフローチャ
ートである。
【図17】画像データの符号化処理を行なう装置の構成
を示すブロック図である。
を示すブロック図である。
【図18】圧縮された画像データの復号処理を行なう装
置の構成を示すブロック図である。
置の構成を示すブロック図である。
【図19】従来の可変長復号器の全体の構成を示すブロ
ック図である。
ック図である。
【図20】図19の可変長復号器に用いられる復号テー
ブルの構成を示すブロック図である。
ブルの構成を示すブロック図である。
【図21】可変長符号と符号情報との対応を示す対応テ
ーブルの一例を示す図である。
ーブルの一例を示す図である。
【図22】可変長復号器の動作の一例を説明するための
図である。
図である。
10 可変長符号入力回路 20a,20b 復号テーブル 21a,21b テーブルメモリ 22 バンク選択回路 23 ビットセレクタ 30 符号切換信号発生回路 L1,L2,L3,L4,L5 信号線 BA0,BA1,BA2,BA3 バンク G1,G2,G3,G4 グループ なお、各図中同一符号は同一または相当部分を示す。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI H04N 7/30 H04N 7/133 Z (56)参考文献 特開 平1−312625(JP,A) 特開 昭62−76931(JP,A) 特開 平2−265329(JP,A) 特開 平2−266615(JP,A) 特開 平3−265277(JP,A) 特開 平4−192744(JP,A) 特開 平4−215321(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/42
Claims (5)
- 【請求項1】 入力されたMビットの符号の上位側に含
まれる最大Nビット(ただし、N≦Mである)の可変長
符号を復号するための可変長復号器であって、 複数のバンクに分割されたアドレス空間を有し、複数の
可変長復号と前記複数の可変長符号をそれぞれ復号する
ための複数の復号情報との対応を示すテーブルを記憶す
るための記憶手段を備え、 前記テーブルの前記複数の可変長符号および前記複数の
復号情報は、各可変長符号が含まれる前記Mビットの符
号のうちの上位側の予め定められたmビット(ただし、
m<Nである)からなる第1のビット列に基づいて複数
のグループに分類され、前記複数のグループは前記複数
のバンクにそれぞれ対応し、 前記記憶手段は、各グループ内の各復号情報を、対応す
るバンクにおいて、その復号情報に対応する可変長符号
に予め割当てられたnビット(ただしn<Nである)の
第2のビット列が示すアドレスに記憶し、前記第2のビ
ット列を構成するnビットは前記Mビットの符号のうち
の対応の可変長符号の少なくとも一部を含むように各グ
ループごとに予め定められた位置のnビットであり、 入力されたMビットの符号のうちの前記第1のビット列
に基づいて前記記憶手段の前記複数のバンクのうちのい
ずれかのバンクを選択するバンク選択手段と、 前記バンク選択手段の出力信号に従って、入力された前
記Mビットの符号のうちの第2のビット列を選択し、そ
れをアドレス信号として前記記憶手段に与えるビット選
択手段とをさらに備えた、可変長復号器。 - 【請求項2】 前記復号情報は、対応の可変長符号の符
号長を含む、請求項1に記載の可変長復号器。 - 【請求項3】 前記バンク選択手段は、入力された前記
Mビットの符号のうちの前記第1のビット列に基づいて
前記記憶手段の前記複数のバンクのうちのいずれかのバ
ンクをソフトウェアによる条件判断によって選択する、
請求項1または請求項2に記載の可変長復号器。 - 【請求項4】 連続的に入力されるMビットの符号を受
け、各Mビットの符号の上位側に含まれる最大Nビット
(ただし、N≦Mである)の可変長符号を復号するため
の可変長復号器であって、 各々が複数のバンクに分割された複数の領域を含むアド
レス空間を有し、複数の可変長符号と前記複数の可変長
符号をそれぞれ復号するための複数の復号情報との対応
をそれぞれ示す複数種類のテーブルを記憶するための記
憶手段を備え、 前記複数の領域は前記複数種類のテーブルにそれぞれ対
応し、各テーブルの前記複数の可変長符号および前記複
数の復号情報は、各可変長符号が含まれる前記Mビット
の符号のうちの上位側の予め定められたmビット(ただ
し、m<Nである)からなる第1のビット列に基づいて
複数のグループに分類され、前記複数のグループは対応
する領域内の複数のバンクにそれぞれ対応し、 前記記憶手段は、各テーブルの各グループ内の各復号情
報を、対応する領域内の対応するバンクにおいて、その
復号情報に対応する可変長符号に予め割当てられたnビ
ット(ただし、n<Nである)の第2のビット列が示す
アドレスに記憶し、前記第2のビット列を構成するnビ
ットは前記Mビットの符号のうちの対応の可変長符号の
少なくとも一部を含むように各グループごとに予め定め
られた位置のnビットであり、 所定の信号に従って、前記複数種類のテーブルのうちの
いずれかのテーブルを選択するために前記記憶手段の前
記複数の領域のうちのいずれかの領域を選択する領域選
択手段と、 入力されたMビットの符号のうちの前記第1のビット列
に基づいて前記記憶手段の選択された領域内の前記複数
のバンクのうちのいずれかのバンクを選択するバンク選
択手段と、 前記バンク選択手段の出力信号に従って、入力された前
記Mビットの符号のうちの第2のビット列を選択し、そ
れをアドレス信号として前記記憶手段に与えるビット選
択手段とをさらに備えた、可変長復号器。 - 【請求項5】 前記所定の信号は、所定の可変長符号に
対応して前記符号情報とともに前記記憶手段に記憶さ
れ、 前記所定の可変長符号が入力されて前記記憶手段から読
出された前記所定の信号が前記領域選択手段に与えられ
る、請求項4に記載の可変長復号器。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20242792A JP3003894B2 (ja) | 1992-07-29 | 1992-07-29 | 可変長復号器 |
DE19934322995 DE4322995C2 (de) | 1992-07-29 | 1993-07-09 | Decoder und Decodierungsverfahren für Codes variabler Länge |
FR9309357A FR2694425B1 (fr) | 1992-07-29 | 1993-07-29 | Decodeur et procede de decodage de codes a longueur variable. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20242792A JP3003894B2 (ja) | 1992-07-29 | 1992-07-29 | 可変長復号器 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0653840A JPH0653840A (ja) | 1994-02-25 |
JP3003894B2 true JP3003894B2 (ja) | 2000-01-31 |
Family
ID=16457336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20242792A Expired - Fee Related JP3003894B2 (ja) | 1992-07-29 | 1992-07-29 | 可変長復号器 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP3003894B2 (ja) |
DE (1) | DE4322995C2 (ja) |
FR (1) | FR2694425B1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2722041B1 (fr) * | 1994-06-30 | 1998-01-02 | Samsung Electronics Co Ltd | Decodeur de huffman |
KR0152035B1 (ko) * | 1994-09-26 | 1998-10-15 | 김광호 | 가변장복호화방법 및 그 장치 |
JPH10105672A (ja) * | 1996-09-27 | 1998-04-24 | Nec Corp | コンピュータ及びそれに使用する演算機能付きメモリ集積回路 |
JP3600487B2 (ja) | 1999-08-31 | 2004-12-15 | 株式会社東芝 | 可変長復号器及びこれを用いた動画像復号装置 |
DE10003166A1 (de) * | 2000-01-25 | 2001-07-26 | Ingo Krumpholz | Waringsche Datenspeicherung |
JP2003309471A (ja) | 2002-04-15 | 2003-10-31 | Fujitsu Ltd | 可変長符号データ復号装置および復号方法 |
Family Cites Families (6)
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 |
US3883847A (en) * | 1974-03-28 | 1975-05-13 | Bell Telephone Labor Inc | Uniform decoding of minimum-redundancy codes |
US4899149A (en) * | 1986-02-28 | 1990-02-06 | Gary Kahan | Method of and apparatus for decoding Huffman or variable-length coees |
JPH01312625A (ja) * | 1988-06-13 | 1989-12-18 | Fuji Xerox Co Ltd | コード変換装置 |
JP2766302B2 (ja) * | 1989-04-06 | 1998-06-18 | 株式会社東芝 | 可変長符号並列解読方法および装置 |
JPH03145223A (ja) * | 1989-10-30 | 1991-06-20 | Toshiba Corp | 可変長符号復調装置 |
-
1992
- 1992-07-29 JP JP20242792A patent/JP3003894B2/ja not_active Expired - Fee Related
-
1993
- 1993-07-09 DE DE19934322995 patent/DE4322995C2/de not_active Expired - Fee Related
- 1993-07-29 FR FR9309357A patent/FR2694425B1/fr not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
FR2694425B1 (fr) | 1996-08-02 |
DE4322995A1 (de) | 1994-02-03 |
JPH0653840A (ja) | 1994-02-25 |
FR2694425A1 (fr) | 1994-02-04 |
DE4322995C2 (de) | 1996-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5559831A (en) | Circuitry for decoding huffman codes | |
US5254991A (en) | Method and apparatus for decoding Huffman codes | |
US5801650A (en) | Decoding apparatus and method | |
EP0589682B1 (en) | Variable length code decoder | |
US5550542A (en) | Variable length code look-up table having separate code length determination | |
RU2154350C2 (ru) | Способ и система кодирования и способ и система декодирования | |
KR0138971B1 (ko) | 허프만 부호 복호회로 | |
US5594435A (en) | Permutation-based data compression | |
US6546053B1 (en) | System and method for decoding signal and method of generating lookup table for using in signal decoding process | |
US4591829A (en) | Run length code decoder | |
JP3189876B2 (ja) | 可変長符号復号化回路 | |
US5751233A (en) | Decoding apparatus and method therefor | |
US6188793B1 (en) | Encoding apparatus, decoding apparatus, encoding method and decoding method | |
EP0467678B1 (en) | Variable length coding apparatus and variable length decoding apparatus | |
KR100486251B1 (ko) | 가변 길이 코드 복호화 장치 및 방법 | |
JP3003894B2 (ja) | 可変長復号器 | |
US6744925B2 (en) | Encoding apparatus, decoding apparatus, encoding method, and decoding method | |
US6313767B1 (en) | Decoding apparatus and method | |
US6297754B1 (en) | Decoding device | |
US6636641B1 (en) | Encoding apparatus, decoding apparatus, encoding method and decoding method | |
JPH0486930A (ja) | アドレス発生回路 | |
JP3009993B2 (ja) | ハフマン復号化装置 | |
JPH08316847A (ja) | 可変長符号の復号装置 | |
US5956755A (en) | Sequential permutation apparatus for rearranging input data | |
JPH0661870A (ja) | 可変長符号復号器 |
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 |
|
LAPS | Cancellation because of no payment of annual fees |