(57)【要約】  一致信号を出力しているセルＰＥを示す一致セル番号を出力する一致セル番号出力部２５と、変換テーブルを構成している探索木のノードの中から、その一致セル番号に対応するノードを特定するアドレスデコーダ２６とを設け、コンフィグレーションメモリ２１から上記ノードに割り当てられているデータ変換値を取得し、そのデータ変換値が符号化結果等を示すデータであれば、そのデータ変換値を外部に出力し、そのデータ変換値が探索木の分岐コードであれば、比較命令信号を与えるセルＰＥを更新する。
2008087750.tif 000002
【特許請求の範囲】
【請求項１】
探索木化されている可変長符号化又は可変長復号の変換テーブルを保持するコンフィグレーションメモリと、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と入力データを比較し、上記比較対象値と上記入力データが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値が符号化結果又は復号結果を示すデータであれば、上記データ変換値を外部に出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段とを備えたテーブル装置。
【請求項２】
セル制御手段は、割り当てられている比較対象値のビット数が等しいセル同士が同一のセルグループに分けられている場合、変換テーブルを構成している探索木の部分木に対応するセルグループに対して比較命令信号を出力することを特徴とする請求項１記載のテーブル装置。
【請求項３】
複数の変換テーブルがコンフィグレーションメモリに保持されている場合、セル制御手段が使用対象の変換テーブルを示すテーブル番号を出力し、ノード特定手段が上記セル制御手段から出力されたテーブル番号が示す変換テーブルを構成している探索木のノードの中から、セル番号出力手段から出力されたセル番号に対応するノードを特定することを特徴とする請求項１記載のテーブル装置。
【請求項４】
可変長符号化対象の係数データを格納する係数データ格納手段と、探索木化されている可変長符号化の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ格納手段に格納されている係数データを比較し、上記比較対象値と上記係数データが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値がビットストリームであれば、上記ビットストリームを出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段と、上記セル制御手段から出力されたビットストリームをビット数単位のデータにパッキングするパッキング手段とを備えた可変長符号化装置。
【請求項５】
可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段からビット数単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長復号の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記ビットストリーム出力手段から出力されたビットストリームを比較し、上記比較対象値と上記ビットストリームが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値が係数データであれば、上記係数データを出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段とを備えた可変長復号装置。
【請求項６】
可変長符号化対象の係数データを格納する係数データ格納手段と、可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段からビット数単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長符号化又は可変長復号の変換テーブルを出力する変換テーブル出力手段と、上記変換テーブル出力手段から出力された変換テーブルを保持するコンフィグレーションメモリと、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ又は上記ビットストリームを比較し、上記比較対象値と上記係数データ又は上記ビットストリームが一致すれば一致信号を出力する複数のセルと、上記複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、上記変換テーブルを構成している探索木のノードの中から、上記セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段と、上記コンフィグレーションメモリから上記ノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、上記データ変換値がビットストリーム又は係数データであれば、上記データ変換値を出力し、上記データ変換値が上記探索木の分岐コードであれば、比較命令信号を与えるセルを更新するセル制御手段と、上記セル制御手段から出力されたデータ変換値であるビットストリームをビット数単位のデータにパッキングするパッキング手段とを備えた可変長符号化復号装置。
【請求項７】
固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と入力データを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と入力データの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と入力データの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が符号化結果又は復号結果を示すデータであれば、上記データ変換値を外部に出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段とを備えたテーブル装置。
【請求項８】
セル制御手段は、可変長符号化又は可変長復号の開始時に設定される初期コード又は分岐コードに含まれているレジスタ選択値からレジスタ選択信号を生成して、そのレジスタ選択信号を複数のセルに出力するとともに、上記複数のセルのうち、その初期コード又は分岐コードに含まれているセルグループの指定コードに対応するセルに対して比較命令信号を出力することを特徴とする請求項７記載のテーブル装置。
【請求項９】
複数のセルは、変換テーブルを複数のレジスタに書き込むアドレスデコーダを備えていることを特徴とする請求項７記載のテーブル装置。
【請求項１０】
可変長符号化対象の係数データを格納する係数データ格納手段と、探索木化されている可変長符号化の変換テーブルを出力する変換テーブル出力手段と、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ格納手段に格納されている係数データを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と係数データの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と係数データの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値がビットストリームであれば、上記ビットストリームを出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段と、上記セル制御手段から出力されたビットストリームをビット数単位のデータにパッキングするパッキング手段とを備えた可変長符号化装置。
【請求項１１】
可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段からビット数単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長復号の変換テーブルを出力する変換テーブル出力手段と、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記ビットストリーム出力手段から出力されたビットストリームを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値とビットストリームの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値とビットストリームの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が係数データであれば、上記係数データを出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段とを備えた可変長復号装置。
【請求項１２】
可変長符号化対象の係数データを格納する係数データ格納手段と、可変長復号対象のビットストリームを格納するビットストリーム格納手段と、上記ビットストリーム格納手段からビット数単位でビットストリームを読み込み、固定長のビットストリームを出力するビットストリーム出力手段と、探索木化されている可変長符号化又は可変長復号の変換テーブルを出力する変換テーブル出力手段と、固有の比較対象値が割り当てられており、比較命令信号を受けたとき上記比較対象値と上記係数データ又は上記ビットストリームを比較する比較器を有するとともに、上記比較対象値に対応するデータ変換値を含む上記変換テーブルを保持する複数のレジスタを有し、上記比較器の比較結果が比較対象値と係数データ又はビットストリームの一致を示していれば、レジスタ選択信号に対応するレジスタに保持されているデータ変換値を出力し、上記比較器の比較結果が比較対象値と係数データ又はビットストリームの一致を示していなければ、上記データ変換値としてゼロ値を出力する複数のセルと、上記複数のセルから出力されたデータ変換値の論理和演算を行う論理和回路と、上記論理和回路により論理和演算されたデータ変換値が係数データ又はビットストリームであれば、上記データ変換値を出力し、上記データ変換値が分岐コードであれば、その分岐コードに応じて上記比較命令信号を与えるセルを更新するとともに、その分岐コードに応じてレジスタ選択信号を更新するセル制御手段と、上記セル制御手段から出力されたデータ変換値であるビットストリームをビット数単位のデータにパッキングするパッキング手段とを備えた可変長符号化復号装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、国際標準方式を含む様々な可変長符号化や可変長復号に対応することが可能なテーブル装置と、そのようなテーブル装置を実装している可変長符号化装置、可変長復号装置及び可変長符号化復号装置とに関するものである。
【背景技術】
【０００２】
動画像の可変長符号化方法や可変長復号方法は、用途などが考慮されて各種の改良が加えられており、国際標準符号化方式として、例えば、Ｈ．２６１、Ｈ．２６３、ＭＰＥＧ１、ＭＰＥＧ２、ＭＰＥＧ４などが存在している。
従来の可変長符号化復号装置は、各種の符号化方式に対応するテーブルデータをテーブルメモリに記憶することで（テーブルデータは、ゼロラン数とレベル値の組み合わせデータに対応する可変長符号化コードと、その可変長符号化コードの符号長であり、その組み合わせデータに対応するアドレスに記憶される）、独自の可変長符号化／復号に固執することなく、国際標準方式を含む様々な可変長符号化／復号に対応している。
また、可変長符号化装置と可変長復号装置とでは回路構成が異なり、可変長符号化の機能と可変長復号の機能を有する可変長符号化復号装置では、テーブルメモリから所望のテーブルデータを取り出す際、入力データをテーブルメモリ上のアドレスに変換するようにしている（例えば、特許文献１を参照）。【０００３】
従来の可変長符号化復号装置では、国際標準方式を含む様々な可変長符号化／復号に対応することができるが、可変長符号化と可変長復号では回路構成が異なるため、別個に符号化回路と復号回路を設ける必要がある。
また、可変長符号化コードと、その可変長符号化コードの符号長を記憶するテーブルをメモリに実装しているため、そのメモリのビット幅を最長の可変長符号化コードに合わせる必要があり、短い符号長の可変長符号化コードにおいては無駄なメモリ領域が生じる。【０００４】
上記の可変長符号化復号装置の他に、別個に符号化回路と復号回路を設ける必要をなくし、また、無駄なメモリ領域の発生を解消している可変長符号化復号装置が開発されている（例えば、特許文献２を参照）。
即ち、特許文献２に開示されている可変長符号化復号装置では、下記の要素で構成することにより、符号化時と復号時で共通でない構成要素をアンパック部とパック部のみにして、別個に符号化回路と復号回路を設ける必要を解消している。
・動的再構成可能な可変長符号化／復号テーブル部
・復号時にビットストリームをテーブル部に供給するアンパック部
・符号化時にテーブル部から出力されたビットストリームをメモリ幅にパッキングするパック部
・符号化結果又は復号するビットストリームを格納するビットストリームメモリ
・復号結果又は符号化する係数を格納する係数メモリ
・ＣＰＵから出力される制御情報を格納する制御レジスタ
・ＣＰＵとのＩ／Ｆを行うバスＩ／Ｆ【０００５】
また、この可変長符号化復号装置では、無駄なメモリ領域の存在を解消するため、動的再構成可能なセルエレメントを用いて可変長符号化／復号テーブル部を構成し、その可変長符号化／復号テーブル部を探索木と解釈して、細かく区切ったテーブルデータを動的再構成可能なセルエレメントに割り当てるようにしている。
なお、動的再構成可能なセルエレメントは、探索木の分岐構造を実現する接続用エレメントと、探索木のノードを実現する機能エレメントから構成されている。
各セルには、探索木を実現するためのコンフィグレーションデータを書き込むレジスタ群（接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群、出力値レジスタ群）が存在している。【０００６】
【特許文献１】特開２００１−３０８７１５号公報（段落番号［００２３］から［００２８］、図１）
【特許文献２】特開２００６−１０１１７１号公報（段落番号［００１０］から［００１３］、図１）
【０００７】
従来の可変長符号化復号装置は以上のように構成されているので、可変長符号化や可変長復号を実施する際に、探索木を実現するためのコンフィグレーションデータを各セルのレジスタ群（接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群、出力値レジスタ群）に書き込む処理が必要であり、可変長符号化や可変長復号の処理の高速化を図ることが困難であるなどの課題があった。【０００８】
この発明は上記のような課題を解決するためになされたもので、セルのレジスタ群に対するコンフィグレーションデータの書き込み処理を不要にして、可変長符号化や可変長復号の処理の高速化を図ることができるテーブル装置を得ることを目的とする。
また、この発明は、可変長符号化や可変長復号の処理の高速化を図ることができるテーブル装置を実装している可変長符号化装置、可変長復号装置及び可変長符号化復号装置を得ることを目的とする。
【発明の開示】
【０００９】
この発明に係るテーブル装置は、比較命令信号を受けたとき固有の比較対象値と入力データを比較し、その比較対象値と入力データが一致すれば一致信号を出力する複数のセルと、複数のセルの中で一致信号を出力しているセルを示すセル番号を出力するセル番号出力手段と、変換テーブルを構成している探索木のノードの中から、セル番号出力手段から出力されたセル番号に対応するノードを特定するノード特定手段とを設け、セル制御手段がコンフィグレーションメモリからノード特定手段により特定されたノードに割り当てられているデータ変換値を取得し、そのデータ変換値が符号化結果又は復号結果を示すデータであれば、そのデータ変換値を外部に出力し、そのデータ変換値が探索木の分岐コードであれば、比較命令信号を与えるセルを更新するようにしたものである。
【００１０】
このことによって、セルのレジスタ群に対するコンフィグレーションデータの書き込み処理を実施することなく、可変長符号化処理や可変長復号処理を実施することができるようになり、その結果、可変長符号化処理や可変長復号処理の高速化を図ることができる効果がある。
【図面の簡単な説明】
【００１１】
【図１】この発明の実施の形態１による可変長符号化復号装置を示す構成図である。
【図２】この発明の実施の形態１によるテーブル装置を示す構成図である。
【図３】セルグループＧＲ０〜ＧＲ４の構成例を示すブロック図である。
【図４】可変長復号テーブルを示す説明図である。
【図５】可変長復号テーブルを構成する探索木を示す説明図である。
【図６】図５のノードｎ０〜ｎ１３が図２のテーブル装置１７のセルＰＥにマッピングされている状態を示す説明図である。
【図７】可変長復号の動作例を示す説明図である。
【図８】テーブル装置１７の可変長復号処理を示す説明図である。
【図９】可変長符号化テーブルを示す説明図である。
【図１０】可変長符号化テーブルを構成する探索木を示す説明図である。
【図１１】図１０のノードｎ１〜ｎ９が図２のテーブル装置１７のセルＰＥにマッピングされている状態を示す説明図である。
【図１２】図１０のノードｎ１０〜ｎ１８が図２のテーブル装置１７のセルＰＥにマッピングされている状態を示す説明図である。
【図１３】可変長符号化の動作例を示す説明図である。
【図１４】テーブル装置１７の可変長符号化処理を示す説明図である。
【図１５】テーブル装置１７の可変長符号化処理を示す説明図である。
【図１６】この発明の実施の形態２による可変長符号化装置を示す構成図である。
【図１７】この発明の実施の形態３による可変長復号装置を示す構成図である。
【図１８】この発明の実施の形態４による可変長符号化復号装置を示す構成図である。
【図１９】図１８中のテーブル装置の構成例を示すブロック図である。
【図２０】図１９中のセルグループの構成例を示すブロック図である。
【図２１】可変長復号テーブルの構成例を示す図である。
【図２２】可変長復号テーブルの比較割り当て例を示す図である。
【図２３】図２２中の各ノードを図１９中の各セルにマッピングした場合を説明するための図である。
【図２４】図１８中の可変長符号化復号装置による可変長復号の動作例を説明するための図である。
【図２５】この発明の実施の形態４の可変長符号化復号装置による可変長復号の動作例を示す図である。
【図２６】この発明の実施の形態４の可変長符号化復号装置による可変長符号化の動作例を示す図である。
【発明を実施するための最良の形態】
【００１２】
以下、この発明をより詳細に説明するために、この発明を実施するための最良の形態について、添付の図面に従って説明する。
実施の形態１．
図１はこの発明の実施の形態１による可変長符号化復号装置を示す構成図であり、図において、入出力ポート１は可変長符号化を実施する場合、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２の指示の下、可変長符号化対象の画像データである係数データを入力して、その係数データを可変長符号化復号装置５に出力する一方、可変長符号化復号装置５により符号化されたビットストリームを出力し、可変長復号を実施する場合、可変長復号対象のビットストリームを入力して、そのビットストリームを可変長符号化復号装置５に出力する一方、可変長符号化復号装置５により復号された係数データを出力するポートである。【００１３】
ＣＰＵ２は各構成部の制御を実施するとともに、動画像の符号化処理や復号処理のうち、可変長符号化や可変長復号以外の処理を行う。
メモリ３はＣＰＵ２が処理する命令や、探索木化されている可変長符号化又は可変長復号の変換テーブル（可変長符号化テーブル、可変長復号テーブル）を示すコンフィグレーションデータなどを格納する領域である。
バスライン４は入出力ポート１、ＣＰＵ２、メモリ３及び可変長符号化復号装置５間のデータ転送に使用する経路である。【００１４】
バスＩ／Ｆ１１はバスライン４に対するインタフェースであり、ＣＰＵ２の指示の下、例えば、メモリ３から可変長符号化又は可変長復号の変換テーブル（可変長符号化テーブル、可変長復号テーブル）を示すコンフィグレーションデータを取り込み、そのコンフィグレーションデータをテーブル装置１７に出力する処理を実施する。なお、バスＩ／Ｆ１１は変換テーブル出力手段を構成している。
係数データメモリ１２は可変長符号化復号装置５が可変長符号化を実施する場合、テーブル装置１７に与える可変長符号化対象の係数データを格納し、可変長符号化復号装置５が可変長復号を実施する場合、テーブル装置１７から出力された復号データである係数データ（データ変換値）を格納するメモリである。なお、係数データメモリ１２は係数データ格納手段を構成している。【００１５】
ビットストリームメモリ１３は可変長符号化復号装置５が可変長符号化を実施する場合、パック部１５によりビット数単位のデータにパッキングされたビットストリームを格納し、可変長符号化復号装置５が可変長復号を実施する場合、テーブル装置１７に与える可変長復号対象のビットストリームを格納するメモリである。なお、ビットストリームメモリ１３はビットストリーム格納手段を構成している。
アンパック部１４はビットストリームメモリ１３からビット数単位でビットストリームを読み込み、固定長のビットストリームをテーブル装置１７に出力する処理を実施する。なお、アンパック部１４はビットストリーム出力手段を構成している。【００１６】
パック部１５はテーブル装置１７から出力された符号化データである可変長コードのビットストリーム（データ変換値）をビット数単位のデータにパッキングしてビットストリームメモリ１３に格納する処理を実施する。なお、パック部１５はパッキング手段を構成している。
制御レジスタ１６は外部リセット信号を受けるとリセットされ、ＣＰＵ２の指示の下、コンフィグレーション、可変長符号化又は可変長復号の実施時にテーブル装置１７に与えられる入力データ（係数データ、ビットストリーム）の選択に用いる入力データ選択信号をテーブル装置１７に出力するとともに、テーブル装置１７が使用する変換テーブル（可変長符号化テーブル、可変長復号テーブル）を指定するテーブル番号と、比較動作の開始時に用いるページ番号と、比較処理を実施するセルグループを指定する初期コードとをテーブル装置１７に出力する。
テーブル装置１７は可変長符号化処理又は可変長復号処理を実施する装置である。【００１７】
図２はこの発明の実施の形態１によるテーブル装置１７を示す構成図であり、図において、コンフィグレーションメモリ２１はバスＩ／Ｆ１１から出力されたコンフィグレーションデータを保持するメモリである。
マルチプレクサ（図２では「ＭＵＸ」と記述）２２は制御レジスタ１６から出力された入力データ選択信号にしたがって、係数データメモリ１２から出力された係数データ又はアンパック部１４から出力されたビットストリームを選択してセル２３（以下、「セルＰＥ０〜ＰＥ２９」と称する）に出力する処理を実施する。【００１８】
セルＰＥ０〜ＰＥ２９は固有の比較対象値が割り当てられている比較器２４を備えており、テーブル制御部２７から比較命令信号を受けると、固有の比較対象値とマルチプレクサ２２から出力された係数データ又はビットストリームを比較し、その比較対象値と係数データ又はビットストリームが一致すれば、一致信号Ｏ００〜Ｏ２９を出力する処理を実施する。
なお、セルＰＥ０〜ＰＥ２９は、割り当てられている比較対象値のビット数が等しい同士が同一のセルグループに分けられている。即ち、比較対象値のビット数が１ビットであるセルＰＥ０とセルＰＥ１はセルグループＧＲ０に分けられ、比較対象値のビット数が２ビットであるセルＰＥ２〜セルＰＥ５はセルグループＧＲ１に分けられ、比較対象値のビット数が３ビットであるセルＰＥ６〜セルＰＥ１３はセルグループＧＲ２に分けられている。
また、比較対象値のビット数が４ビットであるセルＰＥ１４〜セルＰＥ２１はセルグループＧＲ３に分けられ、セルＰＥ２２〜セルＰＥ２９はセルグループＧＲ４に分けられている。【００１９】
一致セル番号出力部２５はセルＰＥ０〜ＰＥ２９の中で、一致信号Ｏ００〜Ｏ２９を出力しているセルＰＥを示す一致セル番号をアドレスデコーダ２６に出力する処理を実施する。なお、一致セル番号出力部２５はセル番号出力手段を構成している。
アドレスデコーダ２６はコンフィグレーションメモリ２１に保持されているコンフィグレーションデータが示す変換テーブル（可変長符号化テーブル、可変長復号テーブル）のうち、テーブル制御部２７から出力されたテーブル番号が示す変換テーブルを構成している探索木のノードの中から、一致セル番号出力部２５から出力された一致セル番号に対応するノードを特定し、そのノードに割り当てられているデータ変換値（ビットストリーム又は係数データ、探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する処理を実施する。なお、アドレスデコーダ２６はノード特定手段を構成している。【００２０】
テーブル制御部２７はコンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得し、そのデータ変換値が可変長コードのビットストリームであれば、そのビットストリームをパック部１５に出力し、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ１２に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。なお、テーブル制御部２７はセル制御手段を構成している。【００２１】
図３はセルグループＧＲ０〜ＧＲ４の構成例を示すブロック図である。
セルＰＥ０〜ＰＥ２９は比較器２４を備えており、比較器２４は固有の比較対象値（固定値）が割り当てられている。
比較器２４は、固有の比較対象値とマルチプレクサ２２により選択された入力データを比較し、両者が一致すると一致信号Ｏを出力する。
各セルＰＥにおける固有の比較対象値は、セルグループＧＲ０〜ＧＲ４毎にビット数が決まっている。例えば、セルグループＧＲ０のセルＰＥ０，ＰＥ１の比較対象値は１ビットであり、セルＰＥ０の比較対象値は“０”、セルＰＥ１の比較対象値は“１”である。【００２２】
セルグループＧＲ１のセルＰＥ２〜ＰＥ５の比較対象値は２ビットであり、セルＰＥ２の比較対象値は“００”、セルＰＥ３の比較対象値は“０１”、セルＰＥ４の比較対象値は“１０”、セルＰＥ５の比較対象値“１１”である。
セルグループＧＲ２のセルＰＥ６〜ＰＥ１３の比較対象値は３ビットであり、セルＰＥ６の比較対象値は“０００”、セルＰＥ７の比較対象値は“００１”、セルＰＥ８の比較対象値は“０１０”、セルＰＥ９の比較対象値は“０１１”、セルＰＥ１０の比較対象値は“１００”、セルＰＥ１１の比較対象値は“１０１”、セルＰＥ１２の比較対象値は“１１０”、セルＰＥ１３の比較対象値は“１１１”である。【００２３】
セルグループＧＲ３のセルＰＥ１４〜ＰＥ２１の比較対象値は４ビットであり、セルＰＥ１４の比較対象値は“００００”、セルＰＥ１５の比較対象値は“０００１”、セルＰＥ１６の比較対象値は“００１０”、セルＰＥ１７の比較対象値は“００１１”、セルＰＥ１８の比較対象値は“０１００”、セルＰＥ１９の比較対象値は“０１０１”、セルＰＥ２０の比較対象値は“０１１０”、セルＰＥ２１の比較対象値は“０１１１”である。
セルグループＧＲ４のセルＰＥ２２〜ＰＥ２９の比較対象値は４ビットであり、セルＰＥ２２の比較対象値は“１０００”、セルＰＥ２３の比較対象値は“１００１”、セルＰＥ２４の比較対象値は“１０１０”、セルＰＥ２５の比較対象値は“１０１１”、セルＰＥ２６の比較対象値は“１１００”、セルＰＥ２７の比較対象値は“１１０１”、セルＰＥ２８の比較対象値は“１１１０”、セルＰＥ２９の比較対象値は“１１１１”である。【００２４】
マルチプレクサ２２により選択された入力データのうち、先頭ビットから数えて、セルグループＧＲ０〜ＧＲ４に属するセルＰＥの比較対象値のビット数と同等のビット数分だけ、セルグループＧＲ０〜ＧＲ４に入力される。
ここで、比較対象値は、可変長復号時においては、可変長復号テーブルで参照される任意のビット長に分離されたビットストリームを表し、可変長符号化時においては、可変長符号化テーブルで参照される量子化後の直行変換係数を表すものである。この直交変換係数は、例えば、ＭＰＥＧ方式の場合、ＤＣＴ係数が相当する。【００２５】
次に動作について説明する。
最初に、コンフィグレーションについて説明する。
コンフィグレーションとは、可変長符号化／復号方式毎に対応するデータ変換内容をテーブル装置１７のコンフィグレーションメモリ２１に設定して可変長符号化テーブル又は可変長復号テーブルを形成することを意味する。【００２６】
コンフィグレーションデータは、このデータ変換内容を含むデータであり、具体的には、可変長符号化結果を示すデータ変換値であるビットストリーム、可変長復号結果を示すデータ変換値である係数データや、探索木の分岐コード（分岐コードはセルＰＥを再構成するデータであり、分岐コードには、次に比較命令信号Ｒを与えるセルグループを示す指定コードや、次に使用するページ番号（図５に示すようなテーブルをあるビット数以下に区切り、当該テーブルを探索木と解釈したときに、同時に比較可能な部分木の集合単位が「ページ」であり、「ページ番号」は比較対象の部分木が所属するページを指定する情報である）などを含んでいる。【００２７】
可変長符号化復号装置５は、例えば、電源投入直後において、外部から外部リセット信号、あるいは、制御レジスタ１６の設定によるソフトウェアリセット信号を受けると、リセットされる。
リセット後、可変長符号化復号装置５のアンパック部１４、パック部１５及びテーブル装置１７が初期状態になり、ＣＰＵ２から起動指示があるまで初期状態を保持する。
ＣＰＵ２は、起動後に初期化動作として、バスＩ／Ｆ１１を制御することにより、メモリ３に格納されている可変長符号化又は可変長復号に対応するコンフィグレーションデータをテーブル装置１７のコンフィグレーションメモリ２１に送信する。
コンフィグレーションデータがコンフィグレーションメモリ２１に格納されることにより、テーブル装置１７が可変長符号化テーブル又は可変長復号テーブルとしての動作が可能な状態に設定されたことになる。【００２８】
ここで、図４の可変長復号テーブルを示すコンフィグレーションデータのマッピング方法について説明する。
図２のテーブル装置１７は、一度に４ビットまで比較を行うことができるテーブル装置であり、４ビットより大きいビット数を要する可変長符号化テーブル又は可変長復号テーブルを構成する場合、後述するように、ページ番号を動的に変更することによってテーブル全体を実現する。ただし、アドレスデコーダ２６に入力されるページ番号のビット数の増加を抑えるため、ページ番号の最大値をなるべく小さくしている。即ち、探索木のルートの異なる部分木を出来るだけ同一のページ内に詰めるようにマッピングする。【００２９】
テーブル装置１７を構成するセルＰＥ０〜ＰＥ２９は、割り当てられている固有の比較対象値のビット数が１ビット、２ビット、３ビット又は４ビットであるため、図４の可変長復号テーブルの各可変長符号を１〜４ビットに区切り、図５に示すような探索木を作成する。
比較ポイントである探索木のノードｎ０〜ｎ１３における比較対象ビットパターン（例えば、ノードｎ３の場合、“０１１”）と入力ビット列（マルチプレクサ２２により選択された入力データのビット列）を比較し、その比較対象ビットパターンと入力ビット列が一致する場合、そのノードに接続されている子ノード（例えば、ノードｎ３の子ノードは、ノードｎ５〜ｎ１０）において、続きの入力ビット列を比較する。【００３０】
図６は図５のノードｎ０〜ｎ１３が図２のテーブル装置１７のセルＰＥにマッピングされている状態を示す説明図である。
図６の例では、下記のように、ノードｎ０〜ｎ１３がテーブル装置１７のセルＰＥにマッピングされている。
ノードｎ０    →  セルＰＥ１
ノードｎ５    →  セルＰＥ２
ノードｎ６    →  セルＰＥ３
ノードｎ７    →  セルＰＥ４
ノードｎ４    →  セルＰＥ６
ノードｎ１    →  セルＰＥ７
ノードｎ２    →  セルＰＥ８
ノードｎ３    →  セルＰＥ９
ノードｎ８    →  セルＰＥ２６
ノードｎ９    →  セルＰＥ２７
ノードｎ１０  →  セルＰＥ２８【００３１】
なお、ｎ１１〜ｎ１３は、比較対象ビットパターンがノードｎ５〜ｎ７と同じであるため、別ページのセルＰＥ２〜ＰＥ４にマッピングされる。
ノードｎ０〜ｎ４で構成される部分木と、ノードｎ５〜ｎ１０で構成される部分木とは、ルートが異なる部分木同士であるが、割り当てられている比較対象値がいずれも重なっていないため、同一のページにマッピングすることができている。【００３２】
１回目の比較処理では、テーブル制御部２７が比較命令信号Ｒ０，Ｒ２をセルグループＧＲ０，ＧＲ２に出力し（比較命令信号Ｒ０，Ｒ２の出力は、制御レジスタ１６から出力される初期コードに従うものである）、セルグループＧＲ０，ＧＲ２のセルＰＥ０，ＰＥ１，ＰＥ６〜ＰＥ１３が固有の比較対象値と入力ビット列の比較を行う。
例えば、セルＰＥ６の比較処理が一致する場合、セルＰＥ６にマッピングされているノードｎ４にはノードｎ１１〜ｎ１３が接続されているため、一致が完了していない。
ノードｎ１１〜ｎ１３で構成される部分木は、上述したように、別ページのセルＰＥ２〜ＰＥ４にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ２６に出力するとともに、比較命令信号Ｒ１をセルＰＥ２〜ＰＥ４が属するセルグループＧＲ１に出力することにより、テーブルの再構成を行うようにする。【００３３】
また、セルＰＥ９の比較処理が一致する場合も一致が完了していないが、セルＰＥ９にマッピングされているノードｎ３に接続されているノードｎ５〜ｎ１０は、ノードｎ３と同一のページにマッピングされているため、ページ番号の切り替えを行わない。
この場合、比較命令信号Ｒ１，Ｒ４をノードｎ５〜ｎ１０がマッピングされているセルＰＥ２〜ＰＥ４，ＰＥ２６〜ＰＥ２８が属するセルグループＧＲ１，ＧＲ４に出力することにより、テーブルの再構成を行うようにする。
上記のようなテーブルの再構成が完了すると、２回目の比較処理を開始する。このように異なる部分木を同一のページ内に詰めることにより、異なる部分木を別ページにマッピングするよりも、ページ番号の最大値を小さくすることができ、アドレスデコーダ２６に出力するページ番号のビット数を小さくすることができる。【００３４】
次に、可変長復号の動作例を具体的に説明する。図７は可変長復号の動作例を示す説明図である。
ＣＰＵ２は、上述したように、バスＩ／Ｆ１１を制御することにより、メモリ３に格納されている可変長復号に対応するコンフィグレーションデータをテーブル装置１７のコンフィグレーションメモリ２１に送信する。
コンフィグレーションデータがコンフィグレーションメモリ２１に格納されることにより、テーブル装置１７が可変長復号テーブルとしての動作が可能な状態に設定されたことになる。【００３５】
ＣＰＵ２は、入出力ポート１から可変長復号対象のビットストリームを入力し、バスライン４及びバスＩ／Ｆ１１を介して、１マクロブロック分のブロックデータに相当するビットストリームをビットストリームメモリ１３に格納する（矢印Ｄ１）。
ＣＰＵ２は、ビットストリームをビットストリームメモリ１３に格納すると、ビットストリームの復号開始を指示する復号開始信号を制御レジスタ１６内の復号開始指示レジスタに書き込み、ビットストリームの選択を指示する入力データ選択信号をテーブル装置１７のマルチプレクサ２２に出力する。【００３６】
アンパック部１４は、ＣＰＵ２がビットストリームをビットストリームメモリ１３に格納すると、ビットストリームメモリ１３から特定のビット数単位でビットストリームを読み込み（矢印Ｄ２）、ＣＰＵ２又はテーブル装置１７から示されるシフト値にしたがって、そのビットストリームをシフトすることにより、常に有効な特定のビット数分のビットストリームをテーブル装置１７のマルチプレクサ２２に出力する（矢印Ｄ３）。
テーブル装置１７は、制御レジスタ１６内の復号開始指示レジスタに復号開始信号が書き込まれると、アンパック部１４から特定のビット数分のビットストリームを読み込み、そのビットストリームにしたがって可変長復号を実施し、可変長復号結果である固定長コードの係数データを係数データメモリ１２に出力すると同時に（矢印Ｄ４）、テーブルの使用回数をクリアしたら、割り込み信号でＣＰＵ２に通知する。
ＣＰＵ２は、テーブル装置１７から割り込み信号を受けると、係数データメモリ１２からバスＩ／Ｆ１１を介して、可変長復号結果である係数データの読み出しを行う（矢印Ｄ５）。【００３７】
以下、テーブル装置１７における可変長復号処理を具体的に説明する。
ここでは、説明の便宜上、図４及び図５の可変長復号テーブルを示すコンフィグレーションデータがコンフィグレーションメモリ２１に格納され、マルチプレクサ２２に入力される特定のビット数分のビットストリームが“００１１”であるとする。図８はテーブル装置１７の可変長復号処理を示す説明図である。
テーブル装置１７のマルチプレクサ２２は、ＣＰＵ２の指示の下、制御レジスタ１６から出力された入力データ選択信号にしたがって、アンパック部１４から出力されたビットストリーム“００１１”を選択し、そのビットストリーム“００１１”をセルＰＥ０〜ＰＥ２９に出力する。【００３８】
セルＰＥ０〜ＰＥ２９は、マルチプレクサ２２から出力されたビットストリーム“００１１”のうち、そのビットストリーム“００１１”の先頭ビットから数えて、自セルの比較対象値のビット数と同等のビット数分だけ入力する。
即ち、比較対象値が１ビットであるセルＰＥ０，ＰＥ１は“０”を入力し、比較対象値が２ビットであるセルＰＥ２〜ＰＥ５は“００”を入力し、比較対象値が３ビットであるセルＰＥ６〜ＰＥ１３は“００１”を入力し、比較対象値が４ビットであるセルＰＥ１４〜ＰＥ２９は“００１１”を入力する。【００３９】
テーブル制御部２７は、制御レジスタ１６内の復号開始指示レジスタに復号開始信号が書き込まれると、制御レジスタ１６から図４及び図５の可変長復号テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号（通常、探索木のルートノードを含む部分木がマッピングされているページの番号）と、比較処理を実施するセルグループＧＲ０，ＧＲ２を指定する初期コードとを取得する。
テーブル制御部２７は、図４及び図５の可変長復号テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号とをアドレスデコーダ２６に出力し、比較命令信号Ｒ０，Ｒ２をセルグループＧＲ０，ＧＲ２に出力する。【００４０】
セルグループＧＲ０，ＧＲ２に属するセルＰＥ０，ＰＥ１，ＰＥ６〜ＰＥ１３は、テーブル制御部２７から比較命令信号Ｒ０，Ｒ２を受けると、マルチプレクサ２２から入力したビット列と固有の比較対象値を比較する。
即ち、セルＰＥ０，ＰＥ１，ＰＥ６〜ＰＥ１３は、下記の比較処理を実施する。
比較対象値    入力ビット列    比較結果
セルＰＥ０        ０            ０            一致
セルＰＥ１        １            ０          不一致
セルＰＥ６      ０００        ００１        不一致
セルＰＥ７      ００１        ００１          一致
セルＰＥ８      ０１０        ００１        不一致
セルＰＥ９      ０１１        ００１        不一致
セルＰＥ１０    １００        ００１        不一致
セルＰＥ１１    １０１        ００１        不一致
セルＰＥ１２    １１０        ００１        不一致
セルＰＥ１３    １１１        ００１        不一致【００４１】
この場合、セルＰＥ０とセルＰＥ７の比較処理が一致するため、セルＰＥ０から一致信号Ｏ００が出力され、セルＰＥ７から一致信号Ｏ０７が出力される。
一致セル番号出力部２５は、セルＰＥ０〜ＰＥ２９のいずれかから一致信号Ｏ００〜Ｏ２９を受けると、比較処理が一致したセルＰＥが存在する旨を示す一致信号をアドレスデコーダ２６に出力する他に、セルＰＥ０〜ＰＥ２９の中で一致信号Ｏ００〜Ｏ２９を出力しているセルＰＥを示す一致セル番号をアドレスデコーダ２６に出力する。
ただし、複数のセルＰＥから同時に一致信号Ｏを受けると、例えば、セルＰＥ０〜ＰＥ２９における固有の比較対象値のビット数が小さいセルから順番に小さいセル番号が割り当てられている場合には、より大きいセル番号を優先して出力する。
したがって、上記のように、セルＰＥ０，ＰＥ７から同時に一致信号Ｏ００，Ｏ０７を受けると、より大きいセル番号が割り当てられているセルＰＥ７を示す一致セル番号をアドレスデコーダ２６に出力する。【００４２】
アドレスデコーダ２６は、一致セル番号出力部２５から一致信号と一致セル番号を受けると、テーブル制御部２７から出力されたテーブル番号が指定する変換テーブル（図４及び図５の可変長復号テーブル）を構成している探索木の部分木であって、テーブル制御部２７から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、一致セル番号に対応するノード（セルＰＥ７にマッピングされているノードｎ１）を特定する。
アドレスデコーダ２６は、一致セル番号に対応するノードｎ１を特定すると、そのノードｎ１に割り当てられているデータ変換値（係数データ又は探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する。【００４３】
テーブル制御部２７は、コンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部２７は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ１２に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。
ノードｎ１は、図５に示すように、終端ノードであるため、ノードｎ１には固定長コードの係数データ“３”であるデータ変換値（直交変換係数）が割り当てられており、テーブル制御部２７が係数データ“３”を係数データメモリ１２に出力する。【００４４】
ここまでは、マルチプレクサ２２に入力される特定のビット数分のビットストリームが“００１１”であるものについて示したが、例えば、特定のビット数分のビットストリームが“０００１”である場合、比較処理が一致するセルＰＥは、セルＰＥ０とセルＰＥ６である。
この場合、一致セル番号出力部２５は、セルＰＥ０，ＰＥ６から同時に一致信号Ｏ００，Ｏ０６を受け、より大きいセル番号が割り当てられているセルＰＥ６を示す一致セル番号をアドレスデコーダ２６に出力する。【００４５】
アドレスデコーダ２６は、一致セル番号出力部２５からセルＰＥ６を示す一致セル番号を受けると、テーブル制御部２７から出力されたテーブル番号が指定する変換テーブル（図４及び図５の可変長復号テーブル）を構成している探索木の部分木であって、テーブル制御部２７から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード（セルＰＥ６にマッピングされているノードｎ４）を特定する。
アドレスデコーダ２６は、一致セル番号に対応するノードｎ４を特定すると、そのノードｎ４に割り当てられているデータ変換値（係数データ又は探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する。【００４６】
テーブル制御部２７は、コンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部２７は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ１２に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。
ノードｎ４は、図５に示すように、分岐ノードであるため、ノードｎ４には探索木の分岐コードが割り当てられており、テーブル制御部２７が当該分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。【００４７】
即ち、テーブル制御部２７は、ノードｎ４に接続されているノードｎ１１〜ｎ１３で構成される部分木は、上述したように、別ページのセルＰＥ２〜ＰＥ４にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ２６に出力する。
また、テーブル制御部２７は、比較命令信号Ｒ１をセルＰＥ２〜ＰＥ４が属するセルグループＧＲ１に出力することにより、可変長復号テーブルの再構成を行う。
これにより、セルグループＧＲ１に属するセルＰＥ２〜ＰＥ５が比較命令信号Ｒ１を受けると、分岐点以下（“０００”より下位のビット）の入力ビット列と固有の比較対象値を比較することになる。
即ち、セルグループＧＲ１に属するセルＰＥ２〜ＰＥ５が、マルチプレクサ２２から分岐点以下（“０００”より下位のビット）の入力ビット列を入力して、２回目の比較処理を実施する。比較処理自体は１回目の比較処理と同様であるため詳細な説明は省略する。【００４８】
ここまでは、マルチプレクサ２２に入力される特定のビット数分のビットストリームが“００１１”と“０００１”であるものについて示したが、例えば、特定のビット数分のビットストリームが“０１１０”である場合、比較処理が一致するセルＰＥは、セルＰＥ０とセルＰＥ９である。
この場合、一致セル番号出力部２５は、セルＰＥ０，ＰＥ９から同時に一致信号Ｏ００，Ｏ０９を受け、より大きいセル番号が割り当てられているセルＰＥ９を示す一致セル番号をアドレスデコーダ２６に出力する。【００４９】
アドレスデコーダ２６は、一致セル番号出力部２５からセルＰＥ９を示す一致セル番号を受けると、テーブル制御部２７から出力されたテーブル番号が指定する変換テーブル（図４及び図５の可変長復号テーブル）を構成している探索木の部分木であって、テーブル制御部２７から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード（セルＰＥ９にマッピングされているノードｎ３）を特定する。
アドレスデコーダ２６は、一致セル番号に対応するノードｎ３を特定すると、そのノードｎ３に割り当てられているデータ変換値（係数データ又は探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する。【００５０】
テーブル制御部２７は、コンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部２７は、そのデータ変換値が係数データであれば、そのデータ変換値を係数データメモリ１２に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。
ノードｎ３は、図５に示すように、分岐ノードであるため、ノードｎ３には探索木の分岐コードが割り当てられており、テーブル制御部２７が当該分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。【００５１】
即ち、テーブル制御部２７は、ノードｎ３に接続されているノードｎ５〜ｎ１０で構成される部分木が、ノードｎ３と同一のページにマッピングされているため、ページ番号の切り替えを行わないが、比較命令信号Ｒ１，Ｒ４をノードｎ５〜ｎ１０がマッピングされているセルＰＥ２〜ＰＥ４，ＰＥ２６〜ＰＥ２８が属するセルグループＧＲ１，ＧＲ４に出力することにより、テーブルの再構成を行う。
これにより、セルグループＧＲ１，ＧＲ４に属するセルＰＥ２〜ＰＥ４，ＰＥ２６〜ＰＥ２８が比較命令信号Ｒ１，Ｒ４を受けると、分岐点以下（“０１１”より下位のビット）の入力ビット列と固有の比較対象値を比較することになる。
即ち、セルグループＧＲ１，ＧＲ４に属するセルＰＥ２〜ＰＥ４，ＰＥ２６〜ＰＥ２８が、マルチプレクサ２２から分岐点以下（“０００”より下位のビット）の入力ビット列を入力して、２回目の比較処理を実施する。【００５２】
ここまでは、可変長復号について説明したが、可変長符号化も同じ回路を用いて実施することができる。
可変長符号化では、テーブル装置１７の入力データが係数データメモリ１２から読み込まれる係数データであり、固定長のデータとなる。
また、テーブル装置１７からパック部１５に出力されるデータはビットストリームであり、可変長のデータとなる。
図９は可変長符号化テーブルを示す説明図であり、図９の可変長符号化テーブルは、Ｈ．２６４で使用されるＴｏｔａｌＣｏｅｆｆ／ＴｒａｉｌｉｎｇＯｎｅｓテーブルの一部を抜き出したものである。【００５３】
可変長符号化は、複数の値の組み合わせを可変長符号化処理する場合が多く、Ｈ．２６４のＴｏｔａｌＣｏｅｆｆ／ＴｒａｉｌｉｎｇＯｎｅｓやＭＰＥＧ−２、ＭＰＥＧ−４のＲｕｎ／Ｌｅｖｅｌがこれにあたる。
「ＴｏｔａｌＣｏｅｆｆ」は０〜１６の値を取るため５ビットのデータであり、「ＴｒａｉｌｉｎｇＯｎｅｓ」は０〜３の値を取るため２ビットのデータであり、上位５ビットに「ＴｏｔａｌＣｏｅｆｆ」、下位２ビットに「ＴｒａｉｌｉｎｇＯｎｅｓ」を配置した７ビットの固定長データとして可変長符号化処理を行う。
上述した可変長復号を実施する場合と同様に、固定長データを４ビット以下のデータに区切ることにより探索木を生成し（図１０を参照）、１〜４ビットの比較を行うセルＰＥ０〜ＰＥ２９にマッピングする（図１１及び図１２を参照）。
図１０の探索木において、最初に比較を行うノードｎ１〜ｎ４のいずれで比較が一致した場合も、続きの比較を行う部分木を全て４ビットのノードで構成している。
この場合は、同じページに複数の部分木をマッピングすることができないため、図１１及び図１２のように異なるページにマッピングする。【００５４】
以下、可変長符号化の動作例を具体的に説明する。図１３は可変長符号化の動作例を示す説明図である。
ＣＰＵ２は、上述したように、バスＩ／Ｆ１１を制御することにより、メモリ３に格納されている可変長符号化に対応するコンフィグレーションデータをテーブル装置１７のコンフィグレーションメモリ２１に送信する。
コンフィグレーションデータがコンフィグレーションメモリ２１に格納されることにより、テーブル装置１７が可変長符号化テーブルとしての動作が可能な状態に設定されたことになる。【００５５】
ＣＰＵ２は、入出力ポート１から可変長符号化対象の係数データを入力し、バスライン４及びバスＩ／Ｆ１１を介して、１マクロブロック分のブロックデータに相当する係数データを係数データメモリ１２に格納する（矢印Ｅ１）。
ＣＰＵ２は、係数データを係数データメモリ１２に格納すると、係数データの符号化開始を指示する符号化開始信号を制御レジスタ１６内の符号化開始指示レジスタに書き込み、係数データの選択を指示する入力データ選択信号をテーブル装置１７のマルチプレクサ２２に出力する。【００５６】
テーブル装置１７は、制御レジスタ１６内の符号化開始指示レジスタに符号化開始信号が書き込まれると、係数データメモリ１２から特定のビット数単位で係数データを読み込み（矢印Ｅ２）、その係数データにしたがって可変長符号化を実施し、可変長符号化結果である可変長コードのビットストリームをパック部１５に出力する（矢印Ｅ３）。
パック部１５は、テーブル装置１７からビットストリームを受けると、ＣＰＵバス２のデータ幅などのビット数単位で、そのビットストリームをパッキングしてビットストリームメモリ１３に格納すると同時に（矢印Ｅ４）、１マクロブロックの符号化が完了した旨を割り込み信号でＣＰＵ２に通知する。
ＣＰＵ２は、パック部１５から割り込み信号を受けると、ビットストリームメモリ１３からバスＩ／Ｆ１１を介して、可変長符号化結果であるビットストリームの読み出しを行う（矢印Ｅ５）。【００５７】
以下、テーブル装置１７における可変長符号化処理を具体的に説明する。
ここでは、説明の便宜上、図９及び図１０の可変長符号化テーブルを示すコンフィグレーションデータがコンフィグレーションメモリ２１に格納され、マルチプレクサ２２に入力される特定のビット数分のビットストリームが“００１０”であるとする。図１４はテーブル装置１７の可変長符号化処理を示す説明図である。
テーブル装置１７のマルチプレクサ２２は、ＣＰＵ２の指示の下、制御レジスタ１６から出力された入力データ選択信号にしたがって、係数データメモリ１２に格納されている係数データ“００１０”を選択し、その係数データ“００１０”をセルＰＥ０〜ＰＥ２９に出力する。【００５８】
セルＰＥ０〜ＰＥ２９は、マルチプレクサ２２から出力された係数データ“００１０”のうち、その係数データ“００１０”の先頭ビットから数えて、自セルの比較対象値のビット数と同等のビット数分だけ入力する。
即ち、比較対象値が１ビットであるセルＰＥ０，ＰＥ１は“０”を入力し、比較対象値が２ビットであるセルＰＥ２〜ＰＥ５は“００”を入力し、比較対象値が３ビットであるセルＰＥ６〜ＰＥ１３は“００１”を入力し、比較対象値が４ビットであるセルＰＥ１４〜ＰＥ２９は“００１０”を入力する。【００５９】
テーブル制御部２７は、制御レジスタ１６内の符号化開始指示レジスタに符号化開始信号が書き込まれると、制御レジスタ１６から図９及び図１０の可変長符号化テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号（通常、探索木のルートノードを含む部分木がマッピングされているページの番号）と、比較処理を実施するセルグループＧＲ２を指定する初期コードとを取得する。
テーブル制御部２７は、図９及び図１０の可変長符号化テーブルを指定するテーブル番号と、比較動作の開始時に用いるページ番号とをアドレスデコーダ２６に出力し、比較命令信号Ｒ２をセルグループＧＲ２に出力する。【００６０】
セルグループＧＲ２に属するセルＰＥ６〜ＰＥ１３は、テーブル制御部２７から比較命令信号Ｒ２を受けると、マルチプレクサ２２から入力したビット列と固有の比較対象値を比較する。
即ち、セルＰＥ６〜ＰＥ１３は、下記の比較処理を実施する。
比較対象値    入力ビット列    比較結果
セルＰＥ６      ０００        ００１        不一致
セルＰＥ７      ００１        ００１          一致
セルＰＥ８      ０１０        ００１        不一致
セルＰＥ９      ０１１        ００１        不一致
セルＰＥ１０    １００        ００１        不一致
セルＰＥ１１    １０１        ００１        不一致
セルＰＥ１２    １１０        ００１        不一致
セルＰＥ１３    １１１        ００１        不一致【００６１】
この場合、セルＰＥ７の比較処理が一致するため、セルＰＥ７から一致信号Ｏ０７が一致セル番号出力部２５に出力される。
一致セル番号出力部２５は、セルＰＥ７から一致信号Ｏ０７を受けると、比較処理が一致したセルＰＥが存在する旨を示す一致信号をアドレスデコーダ２６に出力する他に、比較処理が一致しているセルＰＥがセルＰＥ７である旨を示す一致セル番号をアドレスデコーダ２６に出力する。
ここでは、比較処理が一致しているセルＰＥがセルＰＥ７だけであるが、複数のセルＰＥで比較処理が一致して、複数のセルＰＥから同時に一致信号Ｏを受けると、例えば、セルＰＥ０〜ＰＥ２９における固有の比較対象値のビット数が小さいセルから順番に小さいセル番号が割り当てられている場合には、より大きいセル番号を優先して出力する。
例えば、セルＰＥ０，ＰＥ７から同時に一致信号Ｏ００，Ｏ０７を受けると、より大きいセル番号が割り当てられているセルＰＥ７を示す一致セル番号をアドレスデコーダ２６に出力する。【００６２】
アドレスデコーダ２６は、一致セル番号出力部２５から一致信号と一致セル番号を受けると、テーブル制御部２７から出力されたテーブル番号が指定する変換テーブル（図９及び図１０の可変長符号化テーブル）を構成している探索木の部分木であって、テーブル制御部２７から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、一致セル番号に対応するノード（セルＰＥ７にマッピングされているノードｎ２）を特定する。
アドレスデコーダ２６は、一致セル番号に対応するノードｎ２を特定すると、そのノードｎ２に割り当てられているデータ変換値（可変長コードのビットストリーム又は探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する。【００６３】
テーブル制御部２７は、コンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部２７は、そのデータ変換値が可変長コードのビットストリームであれば、そのデータ変換値をパック部５に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。
ノードｎ２は、図１０に示すように、分岐ノードであるため、ノードｎ２には探索木の分岐コードが割り当てられており、テーブル制御部２７が当該分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。【００６４】
即ち、テーブル制御部２７は、ノードｎ２に接続されているノードｎ１０〜ｎ１８で構成される部分木は、図１２に示すように、別ページのセルＰＥ１４〜ＰＥ１６，ＰＥ１８〜ＰＥ２０，ＰＥ２２，ＰＥ２３，ＰＥ２６にマッピングされているため、その別ページを示すページ番号をアドレスデコーダ２６に出力する。
また、テーブル制御部２７は、比較命令信号Ｒ３，Ｒ４をセルＰＥ１４〜ＰＥ１６，ＰＥ１８〜ＰＥ２０，ＰＥ２２，ＰＥ２３，ＰＥ２６が属するセルグループＧＲ３，ＧＲ４に出力することにより、可変長復号テーブルの再構成を行う（図１５を参照）。
これにより、セルグループＧＲ３，ＧＲ４に属するセルＰＥ１４〜ＰＥ２９が比較命令信号Ｒ３，Ｒ４を受けると、分岐点以下（“００１”より下位のビット）の入力ビット列と固有の比較対象値を比較することになる。【００６５】
即ち、セルグループＧＲ３，ＧＲ４に属するセルＰＥ１４〜ＰＥ２９は、テーブル制御部２７から比較命令信号Ｒ３，Ｒ４を受け、マルチプレクサ２２から分岐点以下（“００１”より下位のビット）の入力ビット列として、例えば、“００００”を入力すると、２回目の比較処理を実施する。
この場合、セルＰＥ１４の比較処理が一致し、セルＰＥ１４から一致信号Ｏ１４が一致セル番号出力部２５に出力される。
一致セル番号出力部２５は、セルＰＥ１４から一致信号Ｏ１４を受けると、比較処理が一致したセルＰＥが存在する旨を示す一致信号をアドレスデコーダ２６に出力する他に、比較処理が一致しているセルＰＥがセルＰＥ１４である旨を示す一致セル番号をアドレスデコーダ２６に出力する。【００６６】
アドレスデコーダ２６は、一致セル番号出力部２５からセルＰＥ１４を示す一致セル番号を受けると、テーブル制御部２７から出力されたテーブル番号が指定する変換テーブル（図９及び図１０の可変長符号化テーブル）を構成している探索木の部分木であって、テーブル制御部２７から出力されたページ番号が示すページにマッピングされている部分木のノードの中から、その一致セル番号に対応するノード（セルＰＥ１４にマッピングされているノードｎ１０）を特定する。
アドレスデコーダ２６は、一致セル番号に対応するノードｎ１０を特定すると、そのノードｎ１０に割り当てられているデータ変換値（可変長コードのビットストリーム又は探索木の分岐コード）が格納されているコンフィグレーションメモリ２１上のアドレスを生成する。【００６７】
テーブル制御部２７は、コンフィグレーションメモリ２１に格納されているデータ変換値のうち、アドレスデコーダ２６により生成されたアドレスに格納されているデータ変換値を取得する。
テーブル制御部２７は、そのデータ変換値が可変長コードのビットストリームであれば、そのデータ変換値をパック部１５に出力し、そのデータ変換値が探索木の分岐コードであれば、その分岐コードから次に比較命令信号Ｒを与えるセルグループＧＲを示す指定コードと、次に使用するページ番号とを取得して、比較命令信号Ｒを与えるセルグループＧＲを更新する。
ノードｎ１０は、図１０に示すように、終端ノードであるため、ノードｎ１０には可変長コードのビットストリーム“０００００００１１１”であるデータ変換値が割り当てられており、テーブル制御部２７がビットストリーム“０００００００１１１”をパック部１５に出力する。【００６８】
以上で明らかなように、この実施の形態１によれば、比較命令信号を受けたとき固有の比較対象値と入力データを比較し、その比較対象値と入力データが一致すれば一致信号を出力するセルＰＥ０〜ＰＥ２９と、セルＰＥ０〜ＰＥ２９の中で一致信号を出力しているセルＰＥを示す一致セル番号を出力する一致セル番号出力部２５と、変換テーブルを構成している探索木のノードの中から、一致セル番号出力部２５から出力された一致セル番号に対応するノードを特定するアドレスデコーダ２６とを設け、テーブル制御部２７がコンフィグレーションメモリ２１からアドレスデコーダ２６により特定されたノードに割り当てられているデータ変換値を取得し、そのデータ変換値が符号化結果又は復号結果を示すデータであれば、そのデータ変換値を外部に出力し、そのデータ変換値が探索木の分岐コードであれば、比較命令信号を与えるセルＰＥを更新するように構成したので、セルＰＥのレジスタ群に対するコンフィグレーションデータの書き込み処理を実施することなく、可変長符号化処理や可変長復号処理を実施することができるようになり、その結果、可変長符号化処理や可変長復号処理の高速化を図ることができる効果を奏する。【００６９】
即ち、この実施の形態１によれば、国際標準に準拠している可変長符号化方式や可変長復号方式に対応しているコンフィグレーションデータを設定することができるため、様々な方式の動的再構成可能なテーブルを構成することができる。
また、このテーブル装置１７を実装している可変長符号化復号装置は、１つの回路で可変長符号化処理と可変長復号処理を実施することができるため、装置の小型化や低消費電力化を実現することができる。【００７０】
また、現在使用している１つのセル集合体で比較できるビット数が、比較すべき最大ビット数を満足していなくても、セルを再構成することで、最大ビット数の比較が可能となる。テーブルのコンフィグレーションデータをコンフィグレーションメモリ２１に保持することにより、規模の大きなテーブルに対しても比較動作の最中にコンフィグレーションデータを再度ＣＰＵ２から書き込み直す必要がなく、コンフィグレーションにかかるサイクル数を大幅に短縮することができる。【００７１】
実施の形態２．
上記実施の形態１では、テーブル装置１７を実装している可変長符号化復号装置について示したが、図１６に示すように、テーブル装置１７を用いて、可変長符号化処理を実施する可変長符号化装置を構成するようにしてもよい。
この場合、図１のアンパック部１４が不要になる。【００７２】
実施の形態３．
上記実施の形態１では、テーブル装置１７を実装している可変長符号化復号装置について示したが、図１７に示すように、テーブル装置１７を用いて、可変長復号処理を実施する可変長復号装置を構成するようにしてもよい。
この場合、図１のパック部１５が不要になる。【００７３】
実施の形態４．
図１８はこの発明の実施の形態４による可変長符号化復号装置成を示す構成図である。
入出力ポート１は、可変長符号化時には画像データを取り込み、かつ可変長符号化復号装置５で符号化したビットストリームを出力し、一方、可変長復号時にはビットストリームを取り込み、かつ可変長符号化復号装置５で復号した画像データを出力するためのポートである。【００７４】
ＣＰＵ２は、各部の制御及び動画像の符号化処理又は復号処理のうち可変長符号化又は可変長復号以外の処理を行う。メモリ３は、ＣＰＵ２が処理する命令領域及びコンフィグレーションデータ等を格納する領域を持つ。バスライン４は、入出力ポート１、ＣＰＵ２、メモリ３及び可変長符号化復号装置５のデータ転送に使用する経路である。【００７５】
可変長符号化復号装置５は、バスＩ／Ｆ１１、係数データメモリ１２、ビットストリームメモリ１３、アンパック部１４、パック部１５、制御レジスタ１６及びテーブル装置１７を含んで構成されている。ここで、係数データメモリ１２は、符号化される係数データあるいは復号された係数データを格納する手段である。バスＩ／Ｆ１１は、ＣＰＵ２と、可変長符号化復号装置５の各部とのデータ転送に使用する経路である。ビットストリームメモリ１３は、復号対象のビットストリーム又は符号化結果のビットストリームを格納する手段である。【００７６】
アンパック部１４は、復号時にビットストリームメモリ１３から、ＣＰＵバスのデータ幅などのビット数単位で読み込んだ固定長のビットストリームを、テーブル装置１７による復号で消費したビット数分だけシフトしてテーブル装置１７の入力データとして出力する手段である。パック部１５は、符号化時にテーブル装置１７の符号化された出力データとして得られた可変長コードのビットストリームをＣＰＵバスのデータ幅などのビット数単位（固定長データ）にパッキングしてビットストリームメモリ１３に格納する手段である。【００７７】
制御レジスタ１６は、外部リセット信号によりリセットされ、ＣＰＵ２からの指示により、コンフィグレーション、符号化又は復号時にテーブル装置１７への入力データを選択するための入力データ選択信号１１２や、テーブル装置１７で比較動作の開始時に用いる後述する出力値レジスタ群３２（図２０を参照）のレジスタの選択や複数のセルグループ構成の場合の比較動作を開始するセルグループを指定する初期コードを設定する手段である。【００７８】
信号線１０１は、可変長符号化及び復号の開始直前に、バスＩ／Ｆ１１を介してＣＰＵ２からテーブル装置１７に設定するコンフィグレーションデータと、コンフィグレーションデータを書き込むテーブル装置１７内のレジスタを指定するレジスタ指定アドレス信号とを転送するための信号線である。信号線１０２は、バスライン４及びバスＩ／Ｆ１１を介してＣＰＵ２から制御レジスタ１６へ情報の書き込み及び読み出しを行うための信号線である。信号線１０３は、可変長符号化復号装置５を構成する各部に接続し、各部の動作モードを設定したり、各部から制御レジスタ１６に対して書き込み及び読み出しを行うための信号線である。【００７９】
信号線１０４は、バスライン４及びバスＩ／Ｆ１１を介してＣＰＵ２からビットストリームメモリ１３に対してビットストリームデータの書き込み及び読み出しを行うための信号線である。信号線１０５は、復号時にビットストリームメモリ１３からアンパック部１４へビットストリームデータを転送するための信号線である。信号線１０６は、復号時にアンパック部１４からテーブル装置１７へのビットストリームデータの転送及びテーブル装置１７からアンパック部１４へシフト値の送信を行うための信号線である。信号線１０７は、符号化時にテーブル装置１７からパック部１５への符号化データの転送を行うための信号線である。【００８０】
信号線１０８は、符号化時にパック部１５からビットストリームメモリ１３へビットストリームデータを転送するための信号線である。信号線１０９は、符号化時に係数データメモリ１２からテーブル装置１７への符号化するデータを転送したり、復号時にテーブル装置１７から係数データメモリ１２への係数データあるいは復号データの転送を行うための信号線である。信号線１１０は、符号化時にＣＰＵ２から係数データメモリ１２への係数データあるいは符号化するデータの書き込みを行ったり、復号時に係数データメモリ１２から係数データあるいは復号データを読み出すための信号線である。信号線１１１は、可変長符号化復号装置５をリセットするための外部から制御レジスタ１６に与えられる外部リセット信号の供給線である。【００８１】
図１９は、図１８中のテーブル装置の構成例を示すブロック図である。図１９において、テーブル装置１７は、複数の動的再構成可能なセル（以下、セルと称する）ＰＥ０〜ＰＥ２９、マルチプレクサ（以下、ＭＵＸと称する）３０、論理和回路３６、テーブル制御部３７を備えている。セルＰＥ０〜ＰＥ２９は、セル毎に固有の比較対象値１１９のビット長毎にグループ分けされる。【００８２】
例えば、比較対象値１１９のビット長が１ビットのセルＰＥ０，ＰＥ１は、セルグループＧＲ０に属し、比較対象値１１９のビット長が２ビットのセルＰＥ２〜ＰＥ５は、セルグループＧＲ１に属し、比較対象値１１９のビット長が３ビットのセルＰＥ６〜ＰＥ１３は、セルグループＧＲ２に属し、比較対象値１１９のビット長が４ビットのセルＰＥ１４〜ＰＥ２１，ＰＥ２２〜ＰＥ２９は、グループＧＲ３，ＧＲ４にそれぞれ分けられる。【００８３】
ＭＵＸ３０は、セルＰＥ０〜ＰＥ２９への入力データ１１５を選択する手段である。詳しくは、可変長符号化復号装置５が、符号化モード又は復号モードのいずれに設定された場合に図１８に示す制御レジスタ１６から与えられる入力データ選択信号１１２に基づいて、テーブル装置１７内のセルＰＥ０〜ＰＥ２９への入力データ１１５として、符号化モードの場合には係数データ１１４を選択し、復号モードの場合にはビットストリームデータ１１３を選択する。【００８４】
コンフィグレーションデータ（変換テーブル）１１６は、コンフィグレーションモード時に、バスＩ／Ｆ１１から図１８に示す信号線１０１を介してレジスタ指定アドレス信号１１７と共に与えられる。レジスタ指定アドレス信号１１７は、コンフィグレーションデータ１１６の書き込み先のセルとそのセル内のレジスタとを指定するための信号であり、セルＰＥ０〜ＰＥ２９の全てに対して入力される。【００８５】
出力信号Ｏ０〜Ｏ２９は、符号化モード及び復号モード時に各セルＰＥ０〜ＰＥ２９から出力される信号であり、後述する比較動作で一致したことを示す一致信号（後述する図２０中に符号１２２を付している）と一致した際にレジスタから出力されるレジスタの出力値（データ変換値）又は分岐コード（後述する図２０中に符号１２３を付している）を含んでいる。論理和回路３６は、出力信号Ｏ０〜Ｏ２９の論理和を求め、テーブル装置１７のデータ出力１２４として得る手段である。【００８６】
テーブル制御部３７は、論理和回路３６のデータ出力１２４が分岐コードである場合、その分岐コードを構成しているレジスタ選択値に基づいて、セル内の出力値レジスタ群（後述する図２０中に符号３２を付している）の中から次に使用するレジスタを指定するレジスタ選択信号１１８を生成すると共に、分岐コードを構成しているセルグループの指定コードに基づいて次に比較動作を行うセルグループに送信する比較命令信号Ｒ０〜Ｒ４を生成するセル制御手段であり、また、論理和回路３６のデータ出力１２４が符号化結果又は復号結果を示すデータであれば、データ出力１２４を出力する。【００８７】
図２０は、図１９中のセルグループの構成例を示すブロック図である。図２０において、セルは、比較器３１、出力値レジスタ群３２、アドレスデコーダ３３、ＭＵＸ３４及びＭＵＸ３５を有している。アドレスデコーダ３３は、コンフィグレーションモード時に入力されるレジスタ指定アドレス信号１１７をデコードし、そのデコード信号１２０によって、コンフィグレーションデータ１１６を書き込む出力値レジスタ群３２のレジスタを指定する手段である。【００８８】
比較器３１は、入力データ１１５とセル毎に固有な固定値である比較対象値１１９とを比較し、両者が一致した際に一致信号１２２を出力する手段である。セル毎に固有な比較対象値１１９は、セルグループＧＲ０〜ＧＲ４毎にビット長が決まっている。【００８９】
例えば、図１９において、セルグループＧＲ０の各セルの比較対象値１１９のビット長は１ビットであり、セルＰＥ０の比較対象値１１９のビットパターンは‘０’、セルＰＥ１の比較対象値１１９のビットパターンは‘１’である。セルグループＧＲ１の各セルの比較対象値１１９のビット長は２ビットであり、セルＰＥ２の比較対象値１１９のビットパターンは‘００’、セルＰＥ３の比較対象値１１９のビットパターンは‘０１’、セルＰＥ４の比較対象値１１９のビットパターンは‘１０’、セルＰＥ５の比較対象値１１９のビットパターンは‘１１’である。【００９０】
セルグループＧＲ２の各セルの比較対象値１１９のビット長は３ビットで、セルＰＥ６の比較対象値１１９のビットパターンは‘０００’、セルＰＥ７の比較対象値１１９のビットパターンは‘００１’、セルＰＥ８の比較対象値１１９のビットパターンは‘０１０’、セルＰＥ９の比較対象値１１９のビットパターンは‘０１１’、セルＰＥ１０の比較対象値１１９のビットパターンは‘１００’、セルＰＥ１１の比較対象値１１９のビットパターンは‘１０１’、セルＰＥ１２の比較対象値１１９のビットパターンは‘１１０’、セルＰＥ１３の比較対象値１１９のビットパターンは‘１１１’である。【００９１】
セルグループＧＲ３の各セルの比較対象値１１９のビット長は４ビットで、セルＰＥ１４の比較対象値１１９のビットパターンは‘００００’、セルＰＥ１５の比較対象値１１９のビットパターンは‘０００１’、セルＰＥ１６の比較対象値１１９のビットパターンは‘００１０’、セルＰＥ１７の比較対象値１１９のビットパターンは‘００１１’、セルＰＥ１８の比較対象値１１９のビットパターンは‘０１００’、セルＰＥ１９の比較対象値１１９のビットパターンは‘０１０１’、セルＰＥ２０の比較対象値１１９のビットパターンは‘０１１０’、セルＰＥ２１の比較対象値１１９のビットパターンは‘０１１１’である。【００９２】
セルグループＧＲ４の各セルの比較対象値１１９のビット長は４ビットで、セルＰＥ２２の比較対象値１１９のビットパターンは‘１０００’、セルＰＥ２３の比較対象値１１９のビットパターンは‘１００１’、セルＰＥ２４の比較対象値１１９のビットパターンは‘１０１０’、セルＰＥ２５の比較対象値１１９のビットパターンは‘１０１１’、セルＰＥ２６の比較対象値１１９のビットパターンは‘１１００’、セルＰＥ２７の比較対象値１１９のビットパターンは‘１１０１’、セルＰＥ２８の比較対象値１１９のビットパターンは‘１１１０’、セルＰＥ２９の比較対象値１１９のビットパターンは‘１１１１’である。【００９３】
入力データ１１５は、各セルグループＧＲ０〜ＧＲ４に対し、その先頭ビットから数えて各セルグループＧＲ０〜ＧＲ４に属するセルの比較対象値１１９のビット長と同一ビット数分のビット値が入力される。【００９４】
図２０において、出力値レジスタ群３２は、コンフィグレーション時にコンフィグレーションデータ１１６が書き込まれ、データ変換値である出力値（復号時は直交変換係数、符号化時は不特定長のビットストリーム）、及びこれに代わる分岐コードを保持する複数のレジスタを持つ手段である。すなわち、出力値レジスタ群３２には、そのセルの比較動作で一致した際に当該セルが最終値を求めるリーフとして指定されているものであれば、対応するレジスタに出力値が書き込まれ、一方、当該セルが分岐として指定されているものであれば、対応するレジスタに分岐コードが書き込まれていることになる。【００９５】
なお、分岐コードは、出力値レジスタ群３２のレジスタを次に使用するレジスタに変更するレジスタ選択値と、次に比較動作を行うセルグループとを指定する指定コードを含んでいる。【００９６】
ＭＵＸ３４は、レジスタ選択信号１１８に基づいて、出力値レジスタ群３２のレジスタを選択し、それが保持する出力値又は分岐コードを出力値１２１として出力するレジスタ選択手段である。ＭＵＸ３５は、一致信号１２２に基づいてＭＵＸ３４より出力値レジスタ群３２から選択された出力値又は分岐コードを選択し、それ以外、すなわち比較器３１から一致信号１２２が出力されなかった場合、及び当該セルが比較対象のセルではなかった場合には‘０’を選択して、出力データ１２３とする手段である。【００９７】
次に、コンフィグレーションモードについて図１８〜図２０を用いて説明する。
先ず、可変長符号化復号装置５は、電源投入直後などに外部から与えられる外部リセット信号あるいは制御レジスタ１６の設定によるソフトウェアリセット信号によりリセットされる。リセット後、アンパック部１４、パック部１５、テーブル装置１７は初期状態となり、ＣＰＵ２から起動指示があるまで状態を保持する。ＣＰＵ２は、起動後に初期化動作として、可変長符号化又は可変長復号に対応するコンフィグレーションデータを、レジスタ指定アドレス信号と共に、信号線１０１を介してテーブル装置１７へ送信する。【００９８】
図１９及び図２０に示すように、コンフィグレーションデータ１１６は、テーブル装置１７を構成する各セルＰＥ０〜ＰＥ２９へ入力される。各セルＰＥ０〜ＰＥ２９内において、レジスタ指定アドレス信号１１７がアドレスデコーダ３３でデコードされ、そのデコード信号１２０により、各セルの出力値レジスタ群３２の中から書き込み対象となるレジスタが指定される。従って、この指定された各レジスタにコンフィグレーションデータ１１６の対応するデータが書き込まれる。【００９９】
このとき、コンフィグレーション動作の前に、テーブル装置１７の全てのレジスタの値を‘０’にリセットすることで、コンフィグレーションデータ１１６がマッピングされているレジスタのみにコンフィグレーションデータ１１６を書き込めばよく、コンフィグレーションデータ１１６がマッピングされていないレジスタへのコンフィグレーションデータの書き込み動作を省略することができる。この動作により、テーブル装置１７は可変長符号化テーブルあるいは可変長復号テーブルとして動作が可能な状態に設定されたことになる。【０１００】
次に、コンフィグレーションデータのマッピング方法について説明する。
図２１は、可変長復号テーブルの構成例を示す図である。図２１の例では、２進数の可変長符号、これに対応する１０進数の復号値、及び予め算出された可変長符号の比較一致確率が設定されている。ここで、テーブル装置１７は、一度に４ビットまでの比較を行えるものとする。また、４ビットより大きいビット長が必要な可変長符号化／復号テーブルを構成する場合は、後述するように、テーブル装置１７のセル内で使用するレジスタを動的に変更することによってテーブル全体を実現する。【０１０１】
なお、この場合に求められることは、レジスタの変更回数を少なくすることであり、そのため、コンフィグレーションデータの各セルの各レジスタへのマッピングを、上述した予め算出された比較一致確率に基づいて行うようにする。具体的には、可変長符号化では、比較一致確率の高い係数には短いコードが割り当てられているが、その比較一致確率の高いコードを先に比較するようにマッピングする。【０１０２】
図２１において、例えばテーブルの上３つの行までに設定された可変長符号に一致する確率は６６％であるものとする。テーブル装置１７を構成する各セルＰＥ０〜ＰＥ２９は、１ビット、２ビット、３ビット、又は４ビットのいずれかの比較を行うセルに分けられることから、図２１に示す可変長復号テーブルの各可変長符号を１〜４ビットに区切り、図２２に示すような比較割り当てを行う。【０１０３】
比較ポイントであるノードｎ０〜ｎ１３が持つ比較対象ビットパターン（例えば、ノードｎ３の場合は‘０１１’）と、入力ビット列の先頭ビットから比較対象ビットパターンのビット数分のビット列（ノードｎ３の場合、入力ビット列の先頭ビットから３ビット分のビット列）とを比較し、一致したときはそのノードに接続された“子”のノード（ノードにさらに分岐して接続されているノード、例えばノードｎ３の“子”ノードはノードｎ５〜ｎ１０）において、入力ビット列の続きのビット列を比較する。入力ビット列が‘０１１００’であれば、ノードｎ５において続きの‘００’が比較される。【０１０４】
図２３は、図２２中の各ノードｎ０〜ｎ１３を図１９中の各セルＰＥ０〜ＰＥ２９にマッピングした場合を説明するための図である。図２３において、セルＰＥ１にはノードｎ０、セルＰＥ２にはノードｎ５、セルＰＥ３にはノードｎ６、セルＰＥ４にはノードｎ７、セルＰＥ６にはノードｎ４、セルＰＥ７にはノードｎ１、セルＰＥ８にはノードｎ２、セルＰＥ９にはノードｎ３、セルＰＥ２６にはノードｎ８、セルＰＥ２７にはノードｎ９、セルＰＥ２８にはノードｎ１０がマッピングされる。なお、図２２に示すように、ノードｎ１１〜ｎ１３は、比較対象ビットパターンがノードｎ５〜ｎ７と同じであるため、セルＰＥ２〜ＰＥ４内の別のレジスタにそれぞれマッピングされる。【０１０５】
１回目の比較では、図１９に示すように、比較命令信号Ｒ０，Ｒ２が入力され、セルＰＥ０、ＰＥ１、及びＰＥ６〜ＰＥ１３において、各セルの比較対象値１１９と入力ビット列との比較が行われる。ここで、図２２及び図２３において同一の斜線で示すように、ノードｎ０がマッピングされたセルＰＥ１、ノードｎ４がマッピングされたセルＰＥ６、ノードｎ１がマッピングされたセルＰＥ７、ノードｎ２がマッピングされたセルＰＥ８、ノードｎ３がマッピングされたセルＰＥ９において１回目の比較が行われる。このとき、入力ビット列が‘１’、‘００１’、‘０１０’であって、セルＰＥ０、セルＰＥ７、セルＰＥ８において、比較の一致が完了する確率は６６％である。【０１０６】
一致が完了しない場合、すなわちセルＰＥ６で一致した場合は、レジスタの切り替えと比較命令信号を入力するセルグループを変更することで、テーブルの再構成を行うようにする。また、セルＰＥ９で一致した場合は、レジスタの切り替えは行わずに、比較命令信号を入力するセルグループを変更することで２回目の比較へと移り、図２２及び図２３において同一の斜線で示すように、ノードｎ５がマッピングされたセルＰＥ２、ノードｎ６がマッピングされたセルＰＥ３、ノードｎ７がマッピングされたセルＰＥ４、ノードｎ８がマッピングされたセルＰＥ２６、ノードｎ９がマッピングされたセルＰＥ２７、ノードｎ１０がマッピングされたセルＰＥ２８において比較が行われる。【０１０７】
従って、比較一致確率が６６％にあるコードに対しては、テーブルの再構成も比較命令信号の変更もなしに出力データを得ることができ、レジスタと比較命令信号の変更回数を最小限に抑えることができる。なお、テーブルを再構成する動作については後述する。【０１０８】
次に、可変長復号の動作例を説明する。
図２４は、図１８中の可変長符号化復号装置による可変長復号の動作例を説明するための図であり、この図に沿って説明する。なお、図２４において図１８と同一構成要素には同一符号を付しており、各信号やデータが伝搬する信号線等の説明は省略する。復号動作は、上述のコンフィグレーションデータをテーブル装置１７のセルに書き込んだ後に行われる。先ず、ＣＰＵ２は、バスＩ／Ｆ１１を介して、ビットストリームメモリ１３に１マクロブロック分のブロックデータ相当のビットストリームデータを書き込む（図２４中の矢印Ｄ１）。【０１０９】
書き込み後、制御レジスタ１６内の復号開始指示レジスタに復号開始信号を書き込み、入力データ選択信号１１２を図１９に示すＭＵＸ３０に与え、ビットストリームデータを図１９に示す入力データ１１５として選択することで復号動作を起動する。アンパック部１４は、ビットストリームメモリ１３から１マクロブロック分のブロックデータ相当のビットストリームを、ある特定のビット数単位で読み込み（図２４中の矢印Ｄ２）、ＣＰＵ２あるいはテーブル装置１７から示されるシフト値に従ってそのビットストリームデータをシフトし、テーブル装置１７に対して常に有効なある特定のビット数分のビットストリームデータを出力する（図２４中の矢印Ｄ３）。【０１１０】
テーブル装置１７では、入力された前記特定のビット数分のビットストリームに従って可変長復号し、係数データを係数データメモリ１２に出力する（図２４中の矢印Ｄ４）と同時に、テーブルの使用回数をクリアしたら割り込み信号でＣＰＵ２に通知する。復号完了の割り込み信号を受けたＣＰＵ２は、バスＩ／Ｆ１１を介して係数データメモリ１２から復号結果を読み出す（図２４中の矢印Ｄ５）。【０１１１】
図２１及び図２２に示すテーブルを例に、可変長復号時にテーブル装置１７内で行われる比較動作について説明する。図２５は、図１９中の可変長復号テーブルを用いた可変長復号の動作例を示す図である。図２５において、先ず、入力データ１１５として入力される特定のビット数分のビットストリームを‘００１１’とする。【０１１２】
復号モードにあるとき、ビットストリームデータ１１３は、ＭＵＸ３０で入力データ選択信号１１２によって、入力データ１１５、すなわちビットストリームデータ‘００１１’として選択され、各セルＰＥ０〜ＰＥ２９に対し、‘００１１’の先頭ビットから各セルの比較対象値１１９と同じビット長のビットストリームデータがそれぞれ入力される。【０１１３】
つまり、比較対象値１１９のビット長が１ビットであるセルＰＥ０，ＰＥ１には‘０’が入力され、比較対象値１１９のビット長が２ビットであるセルＰＥ２〜ＰＥ５には‘００’が入力され、比較対象値１１９のビット長が３ビットであるセルＰＥ６〜ＰＥ１３には‘００１’が入力され、比較対象値１１９のビット長が４ビットであるセルＰＥ１４〜ＰＥ２９には‘００１１’が入力される。【０１１４】
一方、テーブル制御部３７は、図２４に示す制御レジスタ１６の設定状態を参照して、比較動作開始時に用いる、図２０に示す出力値レジスタ群３２のレジスタの選択と比較動作を開始するセルグループとを指定する初期コードを読み出し、この初期コードに基づいて比較命令信号Ｒ０，Ｒ２とレジスタ選択信号１１８を生成する。【０１１５】
レジスタ選択信号１１８は、全てのセルＰＥ０〜ＰＥ２９に対して入力され、図２０に示すＭＵＸ３４によって、出力値レジスタ群３２の最初に使用するレジスタをそれぞれ選択する。セルグループＧＲ０に入力された比較命令信号Ｒ０は、セルＰＥ０，ＰＥ１内の図２０に示す比較器３１に与えられ、セルグループＧＲ２に入力された比較命令信号Ｒ２は、セルＰＥ６〜ＰＥ１３内の比較器３１に与えられる。【０１１６】
比較器３１に比較命令信号を与えられた各セルは、入力されたビットストリームと各セルで固定されている固有の比較対象値１１９とを比較器３１で比較する。すなわち、セルＰＥ０では比較対象値‘０’とビットストリーム‘０’が比較され、セルＰＥ１では比較対象値‘１’とビットストリーム‘０’が比較され、セルＰＥ６では比較対象値‘０００’とビットストリーム‘００１’が比較される。【０１１７】
また、セルＰＥ７では比較対象値‘００１’とビットストリーム‘００１’が比較され、セルＰＥ８では比較対象値‘０１０’とビットストリーム‘００１’が比較され、セルＰＥ９では比較対象値‘０１１’とビットストリーム‘００１’が比較される。さらに、セルＰＥ１０では比較対象値‘１００’とビットストリーム‘００１’が比較され、セルＰＥ１１では比較対象値‘１０１’とビットストリーム‘００１’が比較され、セルＰＥ１２では比較対象値‘１１０’とビットストリーム‘００１’が比較され、セルＰＥ１３では比較対象値‘１１１’とビットストリーム‘００１’が比較される。【０１１８】
この場合、セルＰＥ０とセルＰＥ７で比較が一致することになり、それぞれの比較器３１から一致信号１２２が出力される。しかし、セルＰＥ０はコンフィグレーションデータがマッピングされていないセルであるため、セルＰＥ０の出力値レジスタ群３２の対応するレジスタにはコンフィグレーションデータは書き込まれておらず、‘０’にリセットされた値が設定されている。【０１１９】
一方、図２３に示すように、セルＰＥ７は、図２２に示すノードｎ１に対応するコンフィグレーションデータがマッピングされているセルであり、かつリーフである。このため、出力値レジスタ群３２で保持している対応する出力値（直交変換係数）が、図２０に示すＭＵＸ３４により抽出される。図２０に示すように、ＭＵＸ３５は、比較器３１から出力される一致信号１２２に応じて、出力値レジスタ群３２から抽出された出力値１２１を取り出し、セルＰＥ７は、この出力値１２１である出力データ１２３と一致信号１２２を論理和回路３６への出力Ｏ７として出力する。【０１２０】
一致信号が出力されると、図２５に示すように、全てのセルＰＥ０〜ＰＥ２９から出力される信号Ｏ０〜Ｏ２９を、論理和回路３６で論理和演算して復号結果（データ出力１２４）として出力する。この例の場合、コンフィグレーションデータがマッピングされており、かつ比較が一致したセルはＰＥ７のみであり、それ以外のセルの出力値は‘０’であるため、論理和回路３６のデータ出力１２４は、セルＰＥ７の出力値Ｏ７と等しくなる。【０１２１】
また、入力データ１１５のビットストリームデータが、例えば‘０００１’であったとした場合、この段階で一致する比較対象値のセルはＰＥ０とＰＥ６である。しかし、セルＰＥ０はコンフィグレーションデータがマッピングされていないセルであるため、出力値Ｏ０は、‘０’となる。【０１２２】
一方、図２３に示すように、セルＰＥ６は、図２２に示すノードｎ４に対応するコンフィグレーションデータがマッピングされているセルであり、かつ分岐として設定されているため、出力値Ｏ６としては、図２０に示す出力値レジスタ群３２に設定されている分岐コードとなる。その結果、論理和回路３６のデータ出力１２４は、セルＰＥ６の出力値レジスタ群３２で設定されている分岐コードとなる。【０１２３】
テーブル制御部３７は、この分岐コードに基づいて、図２０に示すＭＵＸ３４に入力するレジスタ選択信号１１８を変更し、また次に比較命令信号を入力するセルグループを変更する。これにより、データを既に保持しているレジスタの変更選択が行われ可変長復号テーブルは再構成される。【０１２４】
このように、レジスタ選択信号１１８により出力値レジスタ群３２の新たなレジスタが選択され、かつ比較命令信号Ｒ０〜Ｒ４のうちのいずれかの信号が入力されることで、分岐点以下（‘０００’より下位のビット）の比較が可能となる。このテーブル再構成は、分岐コードの出力から新たなレジスタ選択信号１１８、及び比較命令信号Ｒを出力するまでの１クロックで行うことが可能である。【０１２５】
また、入力データ１１５のビットストリームデータが、例えば‘０１１０’であったとした場合、この段階で一致する比較対象値のセルはＰＥ０とＰＥ９である。しかし、セルＰＥ０はコンフィグレーションデータがマッピングされていないセルであるため、出力値Ｏ０は、‘０’となる。【０１２６】
一方、図２３に示すように、セルＰＥ９は、図２２に示すノードｎ３に対応するコンフィグレーションデータがマッピングされているセルであり、かつ分岐として設定されているため、出力値Ｏ９としては、図２０に示す出力値レジスタ群３２に設定されている分岐コードとなり、論理和回路３６のデータ出力１２４としてテーブル制御部３７へ入力される。【０１２７】
この場合、分岐点以下（‘０１１’より下位のビット）が既に選択されているレジスタ上に存在するため、テーブル制御部３７では、レジスタ選択信号１１８を変更せずに、次に比較命令信号を入力するセルグループのみを変更する。次の比較は、比較命令信号を入力するセルグループを変更するまでの１クロックで開始される。【０１２８】
以上、可変長復号について説明したが、可変長符号化も同じ回路を用いて実行できる。つまり、可変長符号化では、図１９において、テーブル装置１７への入力データ１１５が、図１８に示す係数データメモリ１２から読み込まれる係数データ１１４であり、固定長となる。また、テーブル装置１７の出力はパック部１５に出力されるビットストリームであり、可変長となる。【０１２９】
次に、可変長符号化の動作について説明する。
図２６は、実施の形態４による可変長符号化復号装置による可変長符号化の動作例を示す図である。なお、図２６において図１８と同一構成要素には同一符号を付しており、各信号やデータが伝搬する信号線等の説明は省略する。符号化動作は、コンフィグレーションモードにより符号化のためのコンフィグレーションデータ１１６をテーブル装置１７のセルに書き込んで可変長符号化テーブルを形成した後に行われる。【０１３０】
先ず、ＣＰＵ２は、バスＩ／Ｆ１１を介して、１マクロブロック分のブロックデータ相当の符号化を対象とする係数データを係数データメモリ１２に書き込む（図２６中の矢印Ｅ１）。書き込み後、制御レジスタ１６内の符号化開始指示レジスタに符号化開始信号を書き込み、入力データ選択信号１１２を図１９に示すＭＵＸ３０に与え、係数データを図１９に示す入力データ１１５として選択することで符号化動作を起動する。【０１３１】
テーブル装置１７は、係数データメモリ１２から係数データを、ある特定のビット数単位で読み込み（図２６中の矢印Ｅ２）、入力されたこの特定のビット数分の係数データに従って可変長符号化し、符号化データをパック部１５へ出力する（図２６中の矢印Ｅ３）。パック部１５は、変換されたビットストリームをＣＰＵバスのデータ幅などのビット数単位でビットストリームメモリ１３に格納し（図２６中の矢印Ｅ４）、同時に、１マクロブロックの符号化が完了したことを割り込み信号でＣＰＵ２に通知する。符号化完了の割り込み信号を受けたＣＰＵ２は、バスＩ／Ｆ１１を介してビットストリームメモリ１３から符号化結果を読み出す（図２６中の矢印Ｅ５）。【０１３２】
可変長符号化モードは、図１９及び図２０において、セルに選択入力される係数データを固定ビットとするが、その他の処理行程は上記復号モードの説明と同様であるので、ここでは説明を省略する。【０１３３】
以上のように、この実施の形態４によれば、テーブル装置１７が、符号化又は復号する入力データを比較対象値のビット長に対応するビット数単位で読み込んで、比較対象値と比較する比較器３１と、比較対象値に対応する符号化又は復号の出力値を含むコンフィグレーションデータ１１６を保持する複数のレジスタを有する出力値レジスタ群３２とをそれぞれ備え、比較器３１の比較結果に応じてレジスタの保持内容を出力する複数のセルＰＥ０〜ＰＥ２９と、セルからの出力値の論理和を演算する論理和回路３６と、符号化又は復号開始時に設定される初期コード若しくはコンフィグレーションデータ１１６に含まれる分岐コードに基づいて、比較器３１に比較動作を行わせるセルを、比較対象値のビット長に応じてセルを分類したセルグループ毎に指定し、かつその比較結果に応じて保持内容を出力させるレジスタを指定することにより、論理和回路３６の出力として入力データに対応する符号化又は復号の出力値を得るテーブル制御部３７とを備えるので、国際標準に準拠した可変長符号化／復号方式に対応したコンフィグレーションデータを設定することができ、様々な方式の動的再構成可能なテーブルを構成することができる。特に、各セルは、出力値レジスタ群３２が持つ複数のレジスタの中から使用するレジスタの１つを１クロックで選択し変更できる。また、現在使用している１つのセル集合体で比較できるビット長が、比較すべき最大ビット数を満足していなくても、セルを再構成することで、最大ビット数の比較が可能となる。【０１３４】
さらに、レジスタ指定アドレス信号１１７のデコード信号１２０により指定されたレジスタに対してコンフィグレーションデータ１１６を書き込むだけでよいことから、書き込み処理に要する時間を短縮することができる。また、コンフィグレーションデータを設定するレジスタを、特許文献１のような接続情報レジスタ群、ビット選択レジスタ群、比較対象レジスタ群及び出力値レジスタ群の４種類のレジスタ群から、出力値レジスタ群３２の１種類に削減したことによっても、書き込み処理に要する時間を短縮することができる。【０１３５】
また、可変長符号化される係数データ又は可変長復号された係数データを入力して格納する係数データメモリ１２と、復号対象のビットストリーム又は符号化結果のビットストリームを格納するビットストリームメモリ１３と、符号化動作においてテーブル装置１７の出力データとして得られた可変長符号化の出力値によるビットストリームを、所定ビット数単位のデータにパッキングしてビットストリームメモリ１３に格納するパック部１５と、復号動作において、復号対象のビットストリームから所定ビット数単位で読み込んだ固定長のビットストリームを、テーブル装置１７による復号で消費されるビット数分だけシフトしてテーブル装置１７の入力データとして出力するアンパック部１４と、外部のＣＰＵ２からの指示により、符号化又は復号を開始するにあたり、テーブル装置１７におけるセルグループの指定及び比較器３１による比較結果に応じて保持内容を出力させる出力値レジスタ群３２内のレジスタを指定する初期コードを設定する制御レジスタ１６と、符号化又は復号を開始するにあたり、外部のＣＰＵ２からテーブル装置１７に設定すべき変換テーブル及びこれを書き込む出力値レジスタ群３２内のレジスタを指定するレジスタ指定アドレス信号をテーブル装置１７に伝送するバスライン４やバスＩ／Ｆ１１等の伝送部とを備えた可変長符号化復号装置を構成することで、１つの回路で可変長符号化／復号を行うことができるため、小型化、かつ低消費電力化を可能にする効果が得られる。【０１３６】
なお、この実施の形態４では、可変長符号化復号装置として説明してきたが、テーブル装置１７を用いて可変長符号化装置あるいは可変長復号装置として別々に構成してもよい。このように構成することによっても、この実施の形態４における可変長符号化による効果及び可変長復号による効果をそれぞれ得ることができる。
【産業上の利用可能性】
【０１３７】
以上のように、この発明に係るテーブル装置は、可変長符号化装置、可変長復号装置又は可変長符号化復号装置が可変長符号化又は可変長復号を実施する際、国際標準方式を含む様々な可変長符号化や可変長復号に対応する必要があるものに適している。
【図１】
2008087750.tif 000003
【図２】
2008087750.tif 000004
【図３】
2008087750.tif 000005
【図４】
2008087750.tif 000006
【図５】
2008087750.tif 000007
【図６】
2008087750.tif 000008
【図７】
2008087750.tif 000009
【図８】
2008087750.tif 000010
【図９】
2008087750.tif 000011
【図１０】
2008087750.tif 000012
【図１１】
2008087750.tif 000013
【図１２】
2008087750.tif 000014
【図１３】
2008087750.tif 000015
【図１４】
2008087750.tif 000016
【図１５】
2008087750.tif 000017
【図１６】
2008087750.tif 000018
【図１７】
2008087750.tif 000019
【図１８】
2008087750.tif 000020
【図１９】
2008087750.tif 000021
【図２０】
2008087750.tif 000022
【図２１】
2008087750.tif 000023
【図２２】
2008087750.tif 000024
【図２３】
2008087750.tif 000025
【図２４】
2008087750.tif 000026
【図２５】
2008087750.tif 000027
【図２６】
2008087750.tif 000028
【国際調査報告】
2008087750.tif 000029
2008087750.tif 000030
2008087750.tif 000031
2008087750.tif 000032