"複数の可変長符号からなる入力ビットストリームを復号する可変長符号復号装置において、前記可変長符号を、連続したゼロ値の数がM-1個以上Mは2以上の整数の第1復号データに変換可能な第1テーブル格納部と、符号長がNNは2以上の整数未満で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変長符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを、非ゼロ値およびゼロ値の合計が少なくともM-1個である第2復号データに変換可能な第2テーブル格納部と、符号長がN以上で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを、非ゼロ値およびゼロ値の合計が少なくともM-1個である第3復号データに変換可能な第3テーブル変換部と、前記入力ビットストリームを所定ビット数シフトさせるビットシフト部と、前記シフト後の入力ビットストリーム内の先頭の可変長符号を第4復号データに変換可能な第4テーブル格納部と、前記第2または第3復号データと、前記第4復号データとを結合し、第5復号データを生成する結合部と、前記第1復号データと、前記第5復号データとのいずれかを選択する最終選択部と、を備えることを特徴とする可変長符号復号装置。前記ビットシフト部は、前記第2テーブル格納部および前記第3テーブル格納部で復号可能な可変長符号またはその組合せの符号長のそれぞれに対応したビット数分だけ前記入力ビットストリームをシフトさせる複数のビットシフタを有し、前記第4テーブル格納部は、前記複数のビットシフタのそれぞれに対応して設けられることを特徴とする請求項1に記載の可変長符号復号装置。前記第2または第3復号データの復号前の、可変長符号またはその組合せの符号長を検出する符号長検出部と、前記入力ビットストリームを前記検出した符号長分シフトして、対応する前記第4テーブル格納部で変換した第4復号データを選択し、前記結合部に出力する復号データ選択部と、を備えることを特徴とする請求項1または2に記載の可変長符号復号装置。動き補償され、DCTDiscreteCosineTransform変換され、かつ量子化された可変長符号を含む入力ビットストリームに対して可変長符号復号を行って復号データを生成する可変長符号復号装置と、前記復号データに対して逆量子化を行う逆量子化部と、逆量子化されたデータに対して、逆離散コサイン変換を行うIDCTInverseDiscreteCosine部と、逆離散コサイン変換後のデータに対して動き補償を行う動き補償部と、を備え、前記可変長符号復号装置は、前記可変長符号を、連続したゼロ値の数がM-1個以上Mは2以上の整数の第1復号データに変換可能な第1テーブル格納部と、符号長がNNは2以上の整数未満で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変長符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを非ゼロ値およびゼロ値の合計が少なくともM-1個である第2復号データに変換可能な第2テーブル格納部と、符号長がN以上で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを非ゼロ値およびゼロ値の合計が少なくともM-1個である第3復号データに変換可能な第3テーブル変換部と、前記入力ビットストリームを所定ビット数シフトさせるビットシフト部と、前記シフト後の入力ビットストリーム内の先頭の可変長符号を第4復号データに変換可能な第4テーブル格納部と、前記第2または第3復号データと、前記第4復号データとを結合し、第5復号データを生成する結合部と、前記第1復号データと、前記第5復号データとのいずれかを、逆量子化を行なう復号データとして選択する最終選択部と、を有することを特徴とする復号システム。複数の可変長符号からなる入力ビットストリームを復号する可変長符号復号方法において、前記可変長符号を、連続したゼロ値の数がM-1個以上Mは2以上の整数の前記復号データに変換可能な第1テーブルの中に、前記入力ビットストリームの先頭位置の可変長符号が含まれるか否かを検索し、符号長がNNは2以上の整数未満で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変長符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを非ゼロ値およびゼロ値の合計が少なくともM-1個である第2復号データに変換可能な第2テーブルの中に、前記入力ビットストリームの先頭位置の可変長符号またはその組合せが含まれるか否かを検索し、符号長がN以上で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを非ゼロ値およびゼロ値の合計が少なくともM-1個である第3復号データに変換可能な第3テーブルの中に、前記入力ビットストリームの先頭位置の可変長符号が含まれるか否かを検索し、前記入力ビットストリームを所定ビット数シフトさせ、前記シフト後の入力ビットストリーム内の先頭の可変長符号を第4復号データに変換し、前記第2または第3テーブルと、前記第4復号データとを結合して、第5復号データを生成し、前記第1テーブルと、前記第5復号データとのいずれかを選択することを特徴とする可変長符号復号方法。本発明は、入力ビットストリーム内の可変長符号の種類に依存せずに、常に高速に復号することが可能な可変長符号復号装置、符号システムおよび可変長符号復号方法を提供するものである。本実施形態の一態様は、複数の可変長符号からなる入力ビットストリームを復号する可変長符号復号装置において、前記可変長符号を、連続したゼロ値の数がM-1個以上Mは2以上の整数の第1復号データに変換可能な第1テーブル格納部と、符号長がNNは2以上の整数未満で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変長符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを、非ゼロ値およびゼロ値の合計が少なくともM-1個である第2復号データに変換可能な第2テーブル格納部と、符号長がN以上で、対応する復号データのゼロ値がゼロ個である可変長符号、あるいは、この可変符号と、対応する復号データのゼロ値がゼロ個以上でM-2個以下の可変長符号との組合せを、非ゼロ値およびゼロ値の合計が少なくともM-1個である第3復号データに変換可能な第3テーブル変換部と、前記入力ビットストリームを所定ビット数シフトさせるビットシフト部と、前記シフト後の入力ビットストリーム内の先頭の可変長符号を第4復号データに変換可能な第4テーブル格納部と、前記第2または第3復号データと、前記第4復号データとを結合し、第5復号データを生成する結合部と、前記第1復号データと、前記第5復号データとのいずれかを選択する最終選択部と、を備えることを特徴とする可変長符号復号装置を提供する。以下、図面を参照しながら、本発明の実施形態を説明する。図1は本発明の実施形態に係る復号システムの概略構成を示すブロック図である。図1の復号システム10は、可変長符号復号装置1と、逆量子化部2と、逆DCT部3と、参照画像メモリ4と、動き補償部5と、加算器6とを備えている。可変長符号復号装置1は、入力ビットストリームに含まれる可変長符号を、例えばDCTDiscreteCosineTransform係数に復号する。逆量子化部2は、可変長符号復号装置1から出力される復号データを逆量子化する。逆DCT部3は、逆量子化後のデータに対して逆離散コサイン変換を行って、周波数変換の情報から画素情報画像データに変換する。動き補償部5は、逆DCT部3で変換した画像データを参照画像メモリ4に記憶された直前フレームの画像データと比較して動き補償量を検出する。加算器6は、逆DCT部3で変換した画像データに動き補償量を加算して、動き補償された最終的な復号データを生成する。次に、可変長符号復号装置1の内部構成および動作を詳細に説明する。以下では、MPEG-4規格に準拠した可変長符号を含む入力ビットストリームの復号処理を行なう例を説明する。本実施形態に係る可変長符号復号装置1は、入力ビットストリームをDCT係数に変換するまでの処理を行なう。以下では、可変長符号復号装置1から出力されるDCT係数を復号データと呼ぶ。この復号データは、逆量子化前のデータである。可変長符号復号装置1で生成される復号データは、ゼロ値と非ゼロ値を含んでいる。これらゼロ値と非ゼロ値はDCT係数である。すなわち、一つの可変長符号を復号して生成される復号データは、複数のDCT係数で構成される。可変長符号復号装置1の第1例入力ビットストリームは、複数の可変長符号を含んでいる。可変長符号は、出現頻度の高いものほど符号長が短い。図2はMPEG-4の規格に準拠した可変長符号の一例を示す図である。可変長符号の欄のsは、正負を表すビット値であり、s=0なら正、s=1なら負を表す。このsも符号の一部であり、例えば可変長符号10sの符号長は3である。また、LASTは、8×8画素ブロック内の左上隅から右下隅に向けてジグザグにDCT係数を格納したときに、最後の非ゼロ値に対応する可変長符号かどうかを識別する情報である。最後の非ゼロ値に対応する可変長符号のLASTは1になり、それ以外の可変長符号のLASTは0になる。RUNは可変長符号に対応する復号データのゼロ値の数を表す。LEVELは、可変長符号に対応する復号データの非ゼロ値を表す。このLEVELの値が復号データの値となる。例えば、可変長符号10sの復号データは1である。なお、MPEG-4の規格に準拠した、Intraにおける可変長符号の最大符号長は13であり、最小符号長は3である。Runが0かつ符号長N<7未満の可変長符号は6個あり、符号長N≧7の可変長符号は29個ある。図3は可変長符号復号装置1の第1例の内部構成を示すブロック図である。図3の可変長符号復号装置1は、第1テーブル11aを格納する第1テーブル格納部11と、第2テーブル12aを格納する第2テーブル格納部12と、第3テーブル13aを格納する第3テーブル格納部13と、5~15ビットシフタ14と、各ビットシフタ14に接続された計11個の第4テーブル格納部15と、符号長検出部16と、マルチプレクサ復号データ選択部17と、結合部18と、最終選択部19とを有する。第1テーブル11aは、可変長符号を、連続したゼロ値の数がM-1個以上Mは2以上の整数の第1復号データに変換するための変換テーブルである。第2テーブル12aは、以下の1と2の変換を行い、可変調符号またはその組合せを、変換後の非ゼロ値とゼロ値の合計が少なくともM-1個の第2復号データに変換するための変換テーブルである。1符号長がNNは2以上の整数未満の可変長符号を、ゼロ値がゼロ個の復号データに変換する。2符号長がNNは2以上の整数未満の可変長符号と、この可変長符号の次に配置されて、対応する復号データのゼロ値がゼロ個以上M-2個以下の可変長符号と、を組合せて復号データに変換する。第3テーブル13aは、以下の3と4の変換を行い、可変調符号またはその組合せを、変換後の非ゼロ値とゼロ値の合計が少なくともM-1個の第3復号データに変換するための変換テーブルである。3符号長がNNは2以上の整数以上の可変長符号を、ゼロ値がゼロ個の復号データに変換する。4符号長がNNは2以上の整数以上の可変長符号と、この可変長符号の次に配置されて、対応する復号データのゼロ値がゼロ個以上M-2個以下の可変長符号と、を組合せて復号データに変換する。上記条件により、第2および第3テーブル12a、13aに登録されている可変長符号またはその組合せは異なっている。条件1と3は、一つの可変長符号のみで復号データに変換する場合の条件であり、条件2と4は、二つ以上の可変長符号を組み合わせて復号データに変換する場合の条件である。いずれの場合も、原則として、復号データ内の非ゼロ値の数とゼロ値の数の総和はM-1個以上である。これにより、復号処理の1サイクルで、M-1個以上のDCT係数を生成できることになる。ここで、Mは、復号処理の1サイクルで復号されるDCT係数の数であり、必要とされる処理性能に応じて決定される。Nは第2テーブル12aと第3テーブル13aのサイズを決める値であり、Nが大きいほど第2テーブル12aが大きく、第3テーブル13aは小さくなり、Nが小さいほど第2テーブル12aは小さく、第3テーブル13aは大きくなる。図4は、M=4、N=7の場合の、第2テーブル12aの一例を示す図である。N=7であるため、図4の第2テーブル12aには、符号長が6以下の可変長符号とその組合せが登録されている。また、M=4であるため、復号データは最低3つの非ゼロ値を含んでいる。また、LAST=1となる可変長符号はそれが最終の符号であることを表すためそれ以降に符号を組み合わせることはしない。したがって、LAST=1の可変長符号を復号する場合は、復号データ内の非ゼロ値の数とゼロ値の数の総和がM-1個未満になることもありうる。図4の1行目のデータは、同じ可変長符号10sを3つ組み合わせたものであり、いずれもLASTは0で、符号長の合計は3×3=9ビットである。可変長符号10sは復号データ1に対応しており、10s10s10sの復号データは1、1、1になる。図4の第2テーブル12aには、一つの可変長符号だけで復号データに変換するものと、2個以上の可変長符号の組合せで復号データに変換するものとが含まれている。一つの可変長符号だけで復号データに変換するものは条件1に該当し、2個以上の可変長符号の組合せで復号データに変換するものは条件2に該当する。第3テーブル13aも、一つの可変長符号だけで復号データに変換するものと、2個以上の可変長符号の組合せで復号データに変換するものとが含まれている。第1テーブル格納部11は、第1テーブル11aを用いて可変調符号を第1復号データData1に変換して最終選択部19に出力する。第2テーブル格納部12は、第2テーブル12aを用いて可変長符号を復号データData2に変換して結合部18に出力し、復号データData2の復号前の符号長length2を符号長検出部16に出力する。同様に、第3テーブル格納部13は、第3テーブル13aを用いて可変長符号を復号データData3に変換して結合部18に出力し、復号データData3の復号前の符号長length3を符号長検出部16に出力する。第1~第3テーブル格納部11~13での復号データへの変換処理は、入力ビットストリームの先頭位置から行われる。また、それぞれの処理は並列に行われる。ビットシフタ14はそれぞれ、入力ビットストリームをビットシフトさせて、入力ビットストリームの先頭位置を更新する。これらビットシフタ14で、入力ビットストリームを例えば5~15ビット分シフトさせる理由は、第2テーブル12aまたは第3テーブル13aを用いて復号した可変長符号またはその組合せの分だけ、入力ビットストリームをずらして、後続の可変長符号を復号するためである。したがって、これらビットシフタ14でシフトさせる量は、第2テーブル12aまたは第3テーブル13aに登録された可変長符号またはその組合せの符号長に依存する。例えば、第2テーブル12aまたは第3テーブル13aに登録された可変長符号またはその組合せの符号長に、5ビット未満のものあるいは16ビット以上のものがあれば、それに合わせた数だけビットシフトするビットシフタ14を設ける必要がある。図3では、第2テーブル12aまたは第3テーブル13aに登録された可変長符号またはその組合せの符号長が5~15ビットであるとして、5~15ビットシフタ14が設けられている。ビットシフタ14で入力ビットストリームをシフトすることにより、これらビットシフタ14に接続された第4テーブル格納部15には、それぞれ先頭位置が異なる入力ビットストリームが入力される。第4テーブル格納部15は、ビットシフタ14のそれぞれに対応して設けられる。これら第4テーブル格納部15は、同一内容の第4テーブル15aを有する。第4テーブル15aには、すべての可変長符号と、対応する復号データとが格納されている。第4テーブル格納部15は、入力ビットストリームのシフトされた先頭位置から始まる可変長符号を第4復号データに変換する。第4テーブル格納部15のそれぞれからは、5~15ビットシフタ14でシフトした後の入力ビットストリームの先頭位置から始まる可変長符号に対応する復号データが出力される。第4テーブル15aは、すべての可変長符号に対応する復号データが登録されているため、いずれの第4テーブル格納部15からも、復号データが出力されることになる。ビットシフタ14と第4テーブル格納部15を用いた復号処理は、第2テーブル格納部12と第3テーブル格納部13を用いた復号処理と並行して行われる。符号長検出部16は、第2テーブル格納部12と第3テーブル格納部13のいずれかから符号長が出力された場合には、その符号長をマルチプレクサ17に通知する。マルチプレクサ17は、符号長検出部16が取得した符号長lengthに基づいて、第4テーブル格納部15のそれぞれから出力された復号データのうち一つを選択する。例えば、図4に示す第2テーブル12aにより可変長符号に対応する復号データ1、3、1が選択された場合、第2テーブル格納部12からは符号長length2=11が出力される。符号長検出部16は、この符号長length2=11をマルチプレクサ17に供給する。よって、マルチプレクサ17は、11ビットシフト14に接続された第4テーブル格納部15から出力された復号データを選択する。これにより、この第4テーブル格納部15は、第2テーブル格納部12が可変長符号に対応する復号データ1、3、1を出力するのに並行して、入力ビットストリームを11ビットシフトさせた後の可変長符号に対応する復号データを出力する。結合部18は、第2または第3復号データData2、Data3と、マルチプレクサ17で選択した第4復号データData4とを結合し、第5復号データData5を生成する。最終選択部19は、第1テーブル格納部11から出力された第1復号データData1と結合部18で結合された第5復号データData5とのいずれかを選択する。第1~第4テーブル格納部11~13,15は、各テーブルに該当する可変長符号が入力された場合には、対応する復号データを出力し、各テーブルに該当する可変長符号が入力されなかった場合には、無意味なデータエラーデータを出力する。したがって、第1~第4テーブル格納部11~13,15は、最終選択部19がエラーデータを結合することがないよう、第1~第4テーブル格納部11~13,15の出力データが意味のある復号データであるか否かを最終選択部19に通知する必要がある。例えば、第1テーブル格納部11が正規の復号データを出力する際には、合わせて可変長符号の符号長も出力するようにし、エラーデータを出力する際には符号長=0を出力するようにすれば、最終選択部19は、この符号長の値により、第1テーブル格納部11の出力データData1を選択すべきか否かを簡易かつ正確に判別できる。第1テーブル格納部11を用いて第1復号データData1が生成された場合は、第2~第4テーブル格納部の処理結果は用いない。したがって、最終選択部19は第1復号データData1を選択する。一方、第1復号データData1が生成されない場合は、第2~第4テーブル格納部を用いて復号データが生成されるので、最終選択部19は第5復号データData5を選択する。なお、第2または第3復号データData2、Data3と、第4復号データData4とを結合された第5復号データData5は、最低でもM個のDCT係数を含むことになる。一方、第1復号データData1は、M個のDCT係数を含む。以上より、第1テーブル格納部11を用いて復号データへの変換を行う場合も、第2~第4テーブル格納部15を用いて復号データへの変換を行う場合も、各復号データ中に少なくともM個のDCT係数が含まれることになる。これは別の見方をすると、入力ビットストリーム中にどのような可変長符号が含まれている場合でも、復号処理の1サイクルの間に、少なくともM個のDCT係数を生成できることを意味し、効率的に復号を行えることがわかる。以下、図3に示す可変長符号復号装置1の第1例の動作を説明する。入力ビットストリームは、第1~第3テーブル格納部11~13およびビットシフタ14のそれぞれに入力される。第1~第3テーブル格納部11~13はそれぞれ、入力ビットストリームの先頭位置からビット単位で検索を開始して、入力ビットストリーム中に、第1~第3テーブル11a~13aに登録された可変長符号またはその組合せに一致するビットパターンが含まれるか否かを検索する。その結果、登録されている可変長符号またはその組合せに一致するビットパターンが検出されると、一致が検出されたテーブルから、対応する復号データが出力される。第1テーブル11aで一致が検出された場合の復号データのゼロ値と非ゼロ値の総数、すなわち、DCT係数の総数は、M個である。第2テーブル12aまたは第3テーブル13aで一致が検出された場合の復号データのDCT係数の総数は、M-1個以上である。このように、入力ビットストリームは、第1~第3テーブル格納部11~13に並行して入力されて、第1~第3テーブル11a~13a内の検索処理が並行して行わる。結果として、復号処理の1サイクルで、M個またはM-1個以上のDCT係数を含む復号データが生成される。第2テーブル12aと第3テーブル13aには、互いに異なる可変長符号とその組合せが登録されているため、第2テーブル格納部12と第3テーブル格納部13から同タイミングで復号データが出力されることはない。したがって、いずれか一方のテーブル格納部のみから復号データと符号長が出力される。また、入力ビットストリームは、5~15ビットシフタ14で5~15ビット分シフトされ、入力ビットストリームの先頭位置がそれぞれずらされる。すなわち、第2または第3テーブル格納部で復号される可変調符号およびその組合せ以降の可変長符号を検出するために、ビットシフタ14で入力ビットストリームの先頭位置をシフトさせる。5~15ビットシフタ14のそれぞれに接続された第4テーブル格納部15は、シフトされた入力ビットストリームの先頭位置から可変長符号を検出する。第4テーブル15aから検出された可変調符号に一致するビットパターンが検索され、対応する復号データがマルチプレクサ17に供給される。第2または第3テーブル格納部12,13で復号を行なう可変長符号の符号長分だけ、シフトされるようにビットシフタ14が設けられているため、少なくとも5~15ビットシフタ14のいずれかで一致するビットパターンが検出され、復号データが出力される。第2または第3テーブル格納部12、13から出力された符号長は、符号長検出部16で検出され、マルチプレクサ17に出力される。マルチプレクサ17は、符号長検出部16からの符号長に基づいて、いずれか一つの第4テーブル格納部15から出力された復号データを選択する。第2または第3テーブル格納部12,13から出力された復号データData2、Data3と符号長に基づいて選択された復号データData4とは、結合部18で結合される。このように、第2~第4テーブル格納部12,13、15で復号データが生成された場合は、合わせてM個以上のDCT係数を含む復号データが生成される。すなわち、第1テーブル格納部11で復号処理を行った場合も、第2~第4テーブル格納部12,13,15で復号処理を行った場合も、1サイクルで少なくともM個のDCT係数を含む復号データが生成される。第1テーブル11aに登録された可変長符号は、第2および第3テーブル12a,13aに登録された可変長符号またはその組合せとは異なるため、第1テーブル格納部11にて復号データが生成された場合は、第2または第3テーブル格納部12,13では復号データの生成は行われない。逆に、第2または第3テーブル格納部12,13で復号データが生成された場合は、第1テーブル格納部11では復号データの生成は行われない。よって、最終選択部19は、第1復号データと、第5復号データとのいずれかを選択する。このように、可変長符号復号装置1の第1例では、入力ビットストリームを第1~第4テーブル格納部11~13,15を用いて並列的に復号処理を行うことにより、1サイクルで少なくともM個のDCT係数を含む復号データを生成でき、復号処理を高速に行うことができる。可変長符号復号装置1の第2例図3の可変長符号復号装置1は、11個の第4テーブル格納部15を備えている。第4テーブル15aには、すべての可変長符号に対応する復号データが登録されており、可変長符号の種類が多い場合には、データ容量が多くなる。しかも、第4テーブル15aを11個も持たなければならないことは、回路規模の肥大化の要因になる。可変長符号復号装置1の第2例は、第4テーブル格納部15の数を減らすことを特徴としている。可変長符号復号装置1の第2例は、図3と同様のブロック構成を有するが、第2テーブル12aの内容が異なる。第2テーブル12aには、上述した条件1と2に加えて、以下の条件5を満たす可変長符号およびその組合せが登録されている。5可変長符号またはその組合せの合計符号長がK個Kは2以上の整数以上である。例えば、K=7の場合は、第2テーブル格納部12で復号される可変長符号またはその組合せの符号長が最低でも7ビットとなる。したがって、後続の可変長符号は、入力ビットストリームの先頭位置から7ビット以上シフトさせた位置から始まることになり、5ビットシフタ14および6ビットシフタ14と、これらに接続される2つの第4テーブル格納部15とは不要となる。その分、第2テーブル12aのサイズが大きくなることから、不要となるビットシフタ14と第4テーブル格納部15による回路規模の削減と、第2テーブル12aのサイズ拡大による回路規模の増加とを勘案して、最適なKを設定するのが望ましい。このように、第2テーブル格納部12で復号処理を行う対象となる可変長符号またはその組合せの合計符号長に制限を設けることで、ビットシフタ14と第4テーブル格納部15の数を削減でき、回路規模の縮小化を図ることができる。この第2例においても、上述した第1例と同様に、1サイクルで少なくともM個のDCT係数を含む復号データを生成でき、復号処理を高速に行うことができる。可変長符号復号装置1の第3例復号処理の1サイクルで復号可能なDCT係数の数Mを増やせば、1サイクルで復号可能なDCT係数の数が増えることになり、入力ビットストリームを高速に復号することができる。その一方、Mの数を増やすと、第1テーブル11aの登録数は減るが、第2テーブル12aと第3テーブル13aの登録数が増えてしまう。すなわち、第2テーブル12aと第3テーブル13aでは、可変長符号の組合せ数が増える。このため、これらテーブルのデータ容量が大きくなって、検索に時間がかかるおそれがある。よって、第2テーブル12aと第3テーブル13aのデータ容量とこれらテーブルの検索時間を考慮に入れて、最適なMを決定すればよい。また、第1のテーブルに、上述した条件1に加えて、以下の条件6を付加してもよい。6復号データのゼロ値がゼロ個以上M-2個以下の可変長符号を複数個組み合わせて復号データを生成し、復号データの非ゼロ値とゼロ値の合計が少なくともM個である。この条件6を加えることで、第1のテーブル11aの登録数は増えるが、第2テーブル12aと第3テーブル13aの登録数を減らすことができ、全体的な回路規模を縮小できる。上述した実施形態では、主にMPEG-4の規格に準拠した可変長符号の復号処理について説明したが、本発明は、MPEG-2やH.264等を含めて、種々の可変長符号に適用可能である。上述した実施形態で説明した可変長符号復号装置1および復号システム10の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、可変長符号復号装置1および復号システム10の少なくとも一部の機能を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。また、可変長符号復号装置1および復号システム10の少なくとも一部の機能を実現するプログラムを、インターネット等の通信回線無線通信も含むを介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。本発明の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本発明の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本発明の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。"