(57)【要約】【課題】  高速でハフマンコードを復号化し、ハフマンコードを用いる様々な用途に適用する。【解決手段】  復号化装置は、１つ以上のコードを含む１つ以上のテーブルを格納するテーブル格納部と、１つ以上のインストラクション信号を受信する受信部と、前記１つ以上のインストラクション信号により前記１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部とを備える。【選択図】      図１
2013187904.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のコードを含む１つ以上のテーブルを格納するテーブル格納部と、
１つ以上のインストラクション信号を受信する受信部と、
前記１つ以上のインストラクション信号により前記１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部と、
を備えることを特徴とする含む復号化装置。
【請求項２】
前記１つ以上のインストラクション信号は、テーブル配列制御信号、ハフマンプレフィックス制御信号、ハフマンサフィックス制御信号、及びハフマンシンボルデコード制御信号を含む、
ことを特徴とする請求項１に記載の復号化装置。
【請求項３】
前記１つ以上のテーブルを生成するテーブル生成部をさらに備える、
ことを特徴とする請求項１又は２に記載の復号化装置。
【請求項４】
前記テーブル生成部は、
前記１つ以上のコードを降順または昇順に整列する整列部と、
前記それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するコード分離部と、
前記１つ以上のテーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるグループ組合部と、
を備えることを特徴とする請求項３に記載の復号化装置。
【請求項５】
前記１つ以上のテーブルの大きさを最小にする前記ターゲットサフィックス長を演算するビット演算部をさらに備える、
ことを特徴とする請求項４に記載の復号化装置。
【請求項６】
前記ビット演算部は、
前記ターゲットサフィックス長を最小に設定するサフィックス設定部と、
前記１つ以上のテーブルに含まれていないコードのうち最大長さのコードを検出する検出部と、
前記１つ以上のテーブルのそれぞれの大きさを算出する算出部と、
以前テーブルの大きさと現在のテーブルの大きさとを比較する第１比較部と、
現在サフィックス長が最大サフィックス長と一致するか否かを比較する第２比較部と、
を備えることを特徴とする請求項５に記載の復号化装置。
【請求項７】
前記サフィックス設定部は、前記以前テーブルの大きさが前記現在のテーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定する、
ことを特徴とする請求項６に記載の復号化装置。
【請求項８】
前記サフィックス設定部は、前記現在サフィックス長が前記最大サフィックスビット長と一致する場合に前記サフィックス長を増加させ、前記それぞれのモジュールは前記それぞれの動作を繰り返し行う、
ことを特徴とする請求項６に記載の復号化装置。
【請求項９】
前記１つ以上のテーブルのそれぞれに関する情報を格納するテーブル配列格納部と、
前記１つ以上のテーブルのそれぞれに基づいて生成された１つ以上のプレフィックスを格納するプレフィックス格納部と、
前記１つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部と、
をさらに備えることを特徴とする請求項１乃至８の何れか一項に記載の復号化装置。
【請求項１０】
前記テーブル配列格納部は、
前記１以上のテーブルのそれぞれに対するマッピングテーブル上の第１アドレスに対応するオフセットアドレスと、
前記それぞれのコードに対するサフィックス長及び非プレフィックス長と、
２以上のテーブルを１つのテーブルにマッピングするためのパッキングビット長と、
を格納することを特徴とする請求項９に記載の復号化装置。
【請求項１１】
前記プレフィックス格納部は、各プレフィックスの開始ビットに対応するフラグを格納する、
ことを特徴とする請求項９に記載の復号化装置。
【請求項１２】
前記マッピングテーブル格納部は、
前記それぞれのコードに対応するシンボル値と、
前記それぞれのコードのサフィックス長と、
前記１つ以上のコードのうちマッピングされるコードが存在するか否かを確認するヒットフラグと、
を格納することを特徴とする請求項９に記載の復号化装置。
【請求項１３】
前記シンボル抽出部は、前記テーブル配列格納部及び前記プレフィックス格納部からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出する、
ことを特徴とする請求項９乃至１２の何れか一項に記載の復号化装置。
【請求項１４】
１つ以上のコードを含む１つ以上のテーブルを格納するステップと、
１つ以上のインストラクション信号を受信するステップと、
前記１つ以上のインストラクション信号により前記１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するステップと、
を含むことを特徴とする復号化方法。
【請求項１５】
前記１つ以上のインストラクション信号は、
テーブル配列制御信号、ハフマンプレフィックス制御信号、ハフマンサフィックス制御信号、及びハフマンシンボルデコード制御信号を含む、
ことを特徴とする請求項１４に記載の復号化方法。
【請求項１６】
前記１つ以上のコードを降順または昇順に整列するステップと、
前記それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するステップと、
前記１つ以上のテーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるステップと、
を含むことを特徴とする請求項１４又は１５に記載の復号化方法。
【請求項１７】
前記１つ以上のテーブルの大きさを最小にする前記ターゲットサフィックス長を演算するステップをさらに含む、
ことを特徴とする請求項１６に記載の復号化方法。
【請求項１８】
前記ターゲットサフィックス長を演算するステップは、
前記ターゲットサフィックス長を最小に設定するステップと、
前記１つ以上のテーブルに含まれていないコードのうち最長の長さのコードを検出するステップと、
前記１つ以上のテーブルのそれぞれの大きさを算出するステップと、
以前テーブルの大きさと現在のテーブルの大きさとを比較するステップと、
現在サフィックス長が最大サフィックス長と一致するか否かを比較するステップと、
を含むことを特徴とする請求項１７に記載の復号化方法。
【請求項１９】
前記ターゲットサフィックス長を演算するステップは、
前記以前テーブルの大きさが前記現在のテーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定するステップをさらに含む、
ことを特徴とする請求項１８に記載の復号化方法。
【請求項２０】
前記ターゲットサフィックス長を演算するステップは、
前記現在サフィックス長が前記最大サフィックスビット長と一致する場合、前記サフィックス長を増加させるステップをさらに含み、前記それぞれのステップを繰り返し行う、
ことを特徴とする請求項１８に記載の復号化方法。
【請求項２１】
前記１つ以上のテーブルのそれぞれに関する情報を格納するステップと、
前記１以上のテーブルのそれぞれに基づいて生成された１つ以上のプレフィックスを格納するステップと、
前記１つ以上のコードに対するシンボル情報を格納するステップと、
をさらに含むことを特徴とする請求項１４乃至２０の何れか一項に記載の復号化方法。
【請求項２２】
前記１つ以上のテーブルのそれぞれのうち選択されたテーブル番号に対応するパラメータをロードするステップと、
前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出するステップと、
をさらに含むことを特徴とする請求項２１に記載の復号化方法。
【請求項２３】
コンピュータに、請求項１４乃至請求項２２の何れか１項に記載の方法を実行させるプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、プログラム可能なハフマン復号化装置及び方法に関する。
【背景技術】
【０００２】
ハフマン符号化は代表的な無損失圧縮方式の１つである。現在まで開発されたビデオ及びオーディオ標準は大部分ハフマン無損失圧縮方式を用いる。ハフマン圧縮方式は与えられたシンボルの確率値を推定し、これからハフマンツリーを生成して０及び１からなるビット列を生成する方式である。ハフマン圧縮方式は、復号化するときビット列ごとに既に生成されたハフマンテーブルと比較して本来のシンボルを抽出する。これは、ハフマン符号化方式の代表的な特徴として、ビット列を１つずつ一対一で対応するシンボルを探すことができる。
【０００３】
ハフマン符号化は、シンボルの確率的特徴が用途毎に異なるため、用途に応じて他のハフマンテーブルを有する。代表的なビデオ標準であるＭＰＥＧもＭＰＥＧ２とＭＰＥＧ４は互いに異なるハフマンテーブルを定義している。したがって、このようなハフマン符号化は一般的にソフトウェアで実現する。しかし、ソフトウェアで実現時にビット列をテーブル値と逐次比較しなければならないことから多い演算量を必要とし、一定のビット列をグループ単位でメモリに格納してグループ単位で処理する方式を多く用いる。しかし、前述のようにグループ単位で処理する方式もグループ単位での比較演算が必要であり、ハフマンテーブルにより多い量のメモリを必要とする。
【０００４】
したがって、これを高速に処理するためのハードウェアも開発されているが、用途が変われば使用できなくなるため、特定用途向けにしか使用することができない問題がある。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、高速でハフマンコードを復号化することにある。また、本発明の目的、ハフマンコードを用いる様々な用途に適用することにある。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係る復号化装置は、１つ以上のコードを含む１つ以上のテーブルを格納するテーブル格納部と、１つ以上のインストラクション信号を受信する受信部と、前記１つ以上のインストラクション信号により前記１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部とを備える。
【０００７】
本発明の一実施形態によると、前記１つ以上のインストラクション信号は、テーブル配列制御信号、ハフマンプレフィックス制御信号、ハフマンサフィックス制御信号、及びハフマンシンボルデコード制御信号を含んでもよい。
【０００８】
本発明の一実施形態によると、前記１つ以上のテーブルを生成するテーブル生成部をさらに備えてもよい。本発明の一実施形態によると、前記テーブル生成部は、前記１つ以上のコードを降順または昇順に整列する整列部と、前記それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するコード分離部と、前記テーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるグループ組合部とを備えてもよい。
【０００９】
本発明の一実施形態によると、復号化装置は、前記テーブルの大きさを最小にする前記ターゲットサフィックス長を演算するビット演算部をさらに備えてもよい。
【００１０】
本発明の一実施形態によると、前記ビット演算部は、前記ターゲットサフィックス長を最小に設定するサフィックス設定部と、前記テーブルに含まれていないコードのうち最大長さのコードを検出する検出部と、前記それぞれのテーブルの大きさを算出する算出部と、以前テーブルの大きさと現在のテーブルの大きさとを比較する第１比較部と、現在サフィックス長が最大サフィックス長と一致するか否かを比較する第２比較部とを備えてもよい。
【００１１】
本発明の一実施形態によると、前記サフィックス設定部は、前記以前テーブルの大きさが前記現在のテーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定してもよい。本発明の一実施形態によると、前記サフィックス設定部は、前記現在サフィックス長が前記最大サフィックスビット長と一致する場合に前記サフィックス長を増加させ、前記それぞれのモジュールは前記それぞれの動作を繰り返し行ってもよい。
【００１２】
本発明の一実施形態によると、前記それぞれのテーブルに関する情報を格納するテーブル配列格納部と、前記それぞれのテーブルに基づいて生成された１つ以上のプレフィックスを格納するプレフィックス格納部と、前記１つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部とをさらに備えてもよい。
【００１３】
本発明の一実施形態によると、前記テーブル配列格納部は、前記それぞれのテーブルに対するマッピングテーブル上の第１アドレスに対応するオフセットアドレスと、前記それぞれのコードに対するサフィックス長及び非プレフィックス長と、２以上のテーブルを１つのテーブルにマッピングするためのパッキングビット長とを格納してもよい。
【００１４】
本発明の一実施形態によると、前記プレフィックス格納部は、各プレフィックスの開始ビットに対応するフラグを格納してもよい。本発明の一実施形態によると、前記マッピングテーブル格納部は、前記それぞれのコードに対応するシンボル値と、前記それぞれのコードのサフィックス長と、前記１つ以上のコードのうちマッピングされるコードが存在するか否かを確認するヒットフラグとを格納してもよい。
【００１５】
本発明の一実施形態によると、前記シンボル抽出部は、前記テーブル配列格納部及び前記プレフィックス格納部からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出してもよい。
【００１６】
本発明の一実施形態に係る復号化方法は、１つ以上のコードを含む１つ以上のテーブルを格納するステップと、１つ以上のインストラクション信号を受信するステップと、前記１つ以上のインストラクション信号により前記１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するステップとを含む。
【発明の効果】
【００１７】
本発明によれば、高速でハフマンコードを復号化することができる。また、本発明によれば、ハフマンコードを用いる様々な用途に適用することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る復号化装置の構成を示すブロック図である。
【図２】本発明の一実施形態に係る復号化装置から入力されるインストラクションの例を示すブロック図である。
【図３】本発明の一実施形態に係る復号化方法を示すフローチャートである。
【図４】本発明の一実施形態に係るテーブルを示す図である。
【図５Ａ】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【図５Ｂ】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【図５Ｃ】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【図５Ｄ】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【図６】本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。
【図７】本発明の一実施形態に係るビット演算部の構成を示すブロック図である。
【図８】本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。
【図９】本発明の一実施形態に係る復号化装置の回路構成を示す図である。
【図１０】本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。
【図１１】本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。
【図１２】本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。
【発明を実施するための形態】
【００１９】
以下、添付の図面及び添付の図面に記載された内容を参照して本発明の実施形態を詳細に説明するが、本発明が実施形態によって制限されたり限定されることはない。
【００２０】
一方、本発明の説明において、関連する公知機能または構成に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合には、その詳細な説明を省略する。そして、本明細書で用いられる用語は本発明の実施形態を適切に表現するために用いられた用語として、これはユーザ、運用者の意図または本発明が属する分野の慣例などによって変わり得る。したがって、本用語に対する定義は本明細書全般にわたった内容に基づいて下されなければならない。
【００２１】
図１は、本発明の一実施形態に係る復号化装置の構成を示すブロック図である。図１を参照すると、本発明の一実施形態に係る復号化装置は、１つ以上のコードを含む１つ以上のテーブルを格納するテーブル格納部１１０、１つ以上のインストラクション信号を受信する受信部１２０、及び１つ以上のインストラクション信号により１つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部１３０から構成される。
【００２２】
図２は、本発明の一実施形態に係る復号化装置から入力されるインストラクション（instruction）の例を示すブロック図である。図２を参照すると、本発明の一実施形態に係る復号化装置は、ハフマン復号化をプログラム可能にするため複数のインストラクション信号を定義している。
【００２３】
本発明の一実施形態によれば、インストラクションデコーダ２１０は、インストラクション信号を受信して命令コード（opcode）形式でマルチプレクサ（MUX）２２０へ伝達し、マルチプレクサ２２０は１つ以上のインストラクション信号を多重化して実質的にデータを処理するハフマンデコーダ２３０に伝達することによって、コードのシンボル値及びシンボルの長さを抽出する。
【００２４】
本発明の一実施形態に係る１つ以上のインストラクション信号は、テーブル配列制御信号（set_table_configuration_enable）、ハフマンプレフィックス制御信号（set_huffman_prefix_enable）、ハフマンサフィックス制御信号（set_huffman_siffix_enable）、及びハフマンシンボルデコード制御信号（set_huffman_symbol_decode_enable）を備える。
【００２５】
以下、図１に示す本発明の一実施形態に係る復号化装置を用いて復号化する方法を説明するようにする。
【００２６】
図３は、本発明の一実施形態に係る復号化方法を示すフローチャートである。図３を参照すると、本発明の一実施形態に係る復号化装置は、１つ以上のコードを含む１つ以上のテーブルを格納する（Ｓ３１０）。本発明の一実施形態に係る復号化装置は、１つ以上のインストラクション信号を受信する（Ｓ３２０）。本発明の一実施形態に係る復号化装置は、１つ以上のインストラクション信号により１つ以上のテーブルからシンボル値及びシンボルの長さを抽出する（Ｓ３３０）。
【００２７】
以下、本発明の一実施形態に係るテーブル生成方法を説明する。本発明の一実施形態に係る復号化装置は、テーブル生成部１４０を用いて１つ以上のテーブルを生成する。本発明の一実施形態に係るテーブル生成部１４０は、整列部を用いて１つ以上のコードを降順または昇順に整列してもよい。
【００２８】
本発明の一実施形態に係るテーブル生成部１４０は、コード分離部を用いてそれぞれのコードのサフィックス（suffix）がターゲットサフィックスに対応するように各サフィックスと各プレフィックス（prefix）を互いに分離してもよい。
【００２９】
本発明の一実施形態に係るテーブル生成部１４０は、グループ組合部を用いてテーブルの大きさを最小にするよう、各プレフィックスによるサフィックスグループを組み合わせてもよい。
【００３０】
図４は本発明の一実施形態に係るテーブルを示す図面であり、図５Ａ〜図５Ｄは本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【００３１】
例えば、本発明の一実施形態に係るテーブル生成部１４０は、図４に示すように、H.264/AVCで用いられるハフマンテーブルのうち、total_zeroをコード化してもよく、TotalCoeffが３である場合（図５Ａ）、下記のようにハフマンコードに対するテーブルを生成してもよい。例えば、本発明の一実施形態に係るテーブル生成部１４０は、図５Ｂに示すようにコードを降順に整列してもよい。
【００３２】
本発明の一実施形態に係るテーブル生成部１４０は、図５Ｃに示すように最も長いコードを中心に同じプレフィックスを有するようターゲットサフィックス長である３ｂｉｔに対応すべくプレフィックスを分離してもよい。
【００３３】
本発明の一実施形態に係るテーブル生成部１４０は、図５Ｃに示すように「０００」プレフィックスグループを除いた残りのコードで最長の長さコードを中心にターゲットサフィックス長の３ｂｉｔに対応するよう次のプレフィックスを分離してもよい。
【００３４】
本発明の一実施形態に係るテーブル生成部１４０は、「０」と「０００」からなるプレフィックスグループを形成してもよく、各プレフィックスはサフィックスグループに示してもよい。
【００３５】
図６は、本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。本発明の一実施形態に係る復号化装置は、プレフィックスを先に与えられたビットストリームから把握できる場合、決定されたサーフィスだけロードすれば結果を抽出することができるように図６に示すテーブルを生成して格納する。
【００３６】
前述した例によれば、ターゲットサフィックスを３ビットに仮定してテーブルを生成する過程について説明したが、本発明の一実施形態に係る復号化装置は、テーブルの大きさを最小にするターゲットサフィックスビット長を抽出することができる。
【００３７】
本発明の一実施形態に係る復号化装置は、ビット演算部１５０を用いてテーブルの大きさを最小にするターゲットサフィックス長を演算してもよい。
【００３８】
図７は本発明の一実施形態に係るビット演算部の構成を示すブロック図であり、図８は本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。
【００３９】
図７及び図８を参照すると、本発明の一実施形態に係るビット演算部は、１つ以上のコードを降順または昇順に整列する（Ｓ８１０）。
【００４０】
本発明の一実施形態に係るビット演算部は、サフィックス設定部７１０を用いてターゲットサフィックス長を最小に設定する（Ｓ８２０）。例えば、本発明の一実施形態に係るサフィックス設定部７１０は、最初ターゲットサフィックス長を最も小さい単位である１に設定してもよい。
【００４１】
本発明の一実施形態に係るビット演算部は、検出部７２０を用いてテーブルに含まれていないコードのうち最長の長さのコードを検出する（Ｓ８３０）。本発明の一実施形態に係るビット演算部は、算出部７３０を用いてそれぞれのテーブルの大きさを算出する（Ｓ８４０）。本発明の一実施形態に係るビット演算部は、第１比較部７４０を用いて以前テーブルの大きさと現在テーブルの大きさとを比較する（Ｓ８５０）。
【００４２】
本発明の一実施形態によれば、サフィックス設定部は、以前テーブルの大きさが現在のテーブルの大きさより大きい場合、ターゲットサフィックス長を現在サフィックス長に設定する（Ｓ８６０）。本発明の一実施形態に係るビット演算部は、第２比較部７５０を用いて現在サフィックス長が最大サフィックス長と一致するか否かを比較する（Ｓ８７０）。
【００４３】
本発明の一実施形態によれば、サフィックス設定部は、現在サフィックス長が最大サフィックスビット長と一致する場合、サフィックス長のを増加させ、各ステップを繰り返して行う（Ｓ８８０）。
【００４４】
本発明の一実施形態によれば、テーブルの大きさは、プレフィックス長をｍビット、非プレフィックス長をｎビットと仮定し、プレフィックスの個数をｃと仮定する場合に、テーブルの大きさを下記の数式（１）を用いて演算することができる。
【００４５】
テーブルの大きさ＝２n＋ｃ×２m      （１）
本発明の一実施形態に係る復号化装置は、最長コードの長さだけ各ステップを繰り返してテーブルの大きさを最小にするサフィックスビット及び非プレフィックスビットの長さを演算してテーブルマッピングしてもよい。
【００４６】
以下、本発明の一実施形態に係る復号化装置の回路構成に基づいて復号化する方法を説明する。
【００４７】
図９は、本発明の一実施形態に係る復号化装置の回路構成を示す図である。図９を参照すると、本発明の一実施形態に係る復号化装置は、それぞれのテーブルに関する情報を格納するテーブル配列格納部９１０、それぞれのテーブルに基づいて生成された１つ以上のプレフィックスを格納するプレフィックス格納部９２０、及び１つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部９３０をさらに備える。
【００４８】
図１０は、本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。図１０を参照すると、本発明の一実施形態に係るテーブル配列格納部９１０は、それぞれのテーブルに対するマッピングテーブル上の第１アドレスに対応するオフセットアドレス（Offset  Address）、それぞれのコードに対するサフィックス長（Suffix  Length）及び非プレフィックス長（Non-prefix  length）及び２以上のテーブルを１つのテーブルにマッピングするためのパッキングビット長（Packing  Bit  Length）を格納する。
【００４９】
図１１は、本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。図１１を参照すると、本発明の一実施形態に係るプレフィックス格納部９２０は、各プレフィックスの開始ビットに対応するフラグを格納する。
【００５０】
例えば、本発明の一実施形態に係るプレフィックス格納部９２０は、各プレフィックス値（Prefix  Value）の前に１ビットの「１」値が設定されてもよく、前記「１」値はプレフィックスの開始ビットを知らせるフラグを意味する。
【００５１】
本発明の一実施形態に係る復号化装置は、フラグによってプレフィックス値を比較抽出してもよい。
【００５２】
図１２は、本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。図１２を参照すると、本発明の一実施形態に係るマッピングテーブル格納部９３０は、それぞれのコードに対応するシンボル値（Symbol  Value）、それぞれのコードのサフィックス長（Suffix  Length）及び前記１つ以上のコードのうちマッピングされるコードの存在するか否かを確認するヒットフラグ（Hit  Flag）を格納する。
【００５３】
例えば、本発明の一実施形態に係るシンボル値はハフマンコードに対応する値であり、サフィックス長は実際ハフマンコードのサフィックス長を意味する。
【００５４】
本発明の一実施形態に係るマッピングテーブル格納部９３０に格納されたデータは、前述した図５Ｂに示す「０００１１」のようなコード処理に容易である。
【００５５】
例えば、図５Ｂに示されたプレフィックスは３ビットであり、サフィックスも３ビットであるため「０００１１０」と「０００１１１」コードの全てにマッピングされてもよい。しかし、コードは実際に２ビットであるため上記のような情報がマッピングテーブルに存在しなければならない。
【００５６】
本発明の一実施形態に係るヒットフラグはエスケープコードを処理するためのものであり、エスケープコードは、一般的なハフマン方式に従わないため、別途の処理を行うことが好ましい。本発明の一実施形態に係る復号化装置はエスケープコードがある場合、マッピングテーブルにエスケープコードが存在するか否かを確認し得るヒットフラグを格納しておく。
【００５７】
例えば、本発明の一実施形態に係る復号化装置は、それぞれのインストラクション信号に対して格納される値を下記のように設定してもよい。
【００５８】
本発明の一実施形態によれば、テーブル配列格納部９１０の非プレフィックス長は３であり、サフィックス長も３であってもよく、プレフィックス格納部９２０は、テーブルに対するプレフィックスが「０」または「０００」であるために「１０」及び「１０００」を格納してもよく、マッピングテーブル格納部９３０のシンボル値とサフィックス長は、図６に示すtotal_zeroとSuffix  lengthに対応してもよい。
【００５９】
本発明の一実施形態に係るシンボル抽出部は、テーブル配列格納部９１０及びプレフィックス格納部９２０からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出してシンボル値及び前記シンボルの長さを抽出する。
【００６０】
本発明に係る実施形態は、多様なコンピュータ手段によって行うことができるプログラム命令の形態で実現されても良く、かかるプログラム命令は、コンピュータ読み出し可能媒体に記録されてもよい。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
【００６１】
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【００６２】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【００６３】
１１０  テーブル格納部
１２０  受信部
１３０  シンボル抽出部
１４０  テーブル生成部
１５０  ビット演算部
【図１】
2013187904.tif 000003
【図２】
2013187904.tif 000004
【図３】
2013187904.tif 000005
【図４】
2013187904.tif 000006
【図５Ａ】
2013187904.tif 000007
【図５Ｂ】
2013187904.tif 000008
【図５Ｃ】
2013187904.tif 000009
【図５Ｄ】
2013187904.tif 000010
【図６】
2013187904.tif 000011
【図７】
2013187904.tif 000012
【図８】
2013187904.tif 000013
【図９】
2013187904.tif 000014
【図１０】
2013187904.tif 000015
【図１１】
2013187904.tif 000016
【図１２】
2013187904.tif 000017