特許第6249608号(P6249608)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 三星電子株式会社の特許一覧

<>
  • 特許6249608-復号化装置及び方法 図000002
  • 特許6249608-復号化装置及び方法 図000003
  • 特許6249608-復号化装置及び方法 図000004
  • 特許6249608-復号化装置及び方法 図000005
  • 特許6249608-復号化装置及び方法 図000006
  • 特許6249608-復号化装置及び方法 図000007
  • 特許6249608-復号化装置及び方法 図000008
  • 特許6249608-復号化装置及び方法 図000009
  • 特許6249608-復号化装置及び方法 図000010
  • 特許6249608-復号化装置及び方法 図000011
  • 特許6249608-復号化装置及び方法 図000012
  • 特許6249608-復号化装置及び方法 図000013
  • 特許6249608-復号化装置及び方法 図000014
  • 特許6249608-復号化装置及び方法 図000015
  • 特許6249608-復号化装置及び方法 図000016
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6249608
(24)【登録日】2017年12月1日
(45)【発行日】2017年12月20日
(54)【発明の名称】復号化装置及び方法
(51)【国際特許分類】
   H03M 7/42 20060101AFI20171211BHJP
【FI】
   H03M7/42
【請求項の数】16
【全頁数】14
(21)【出願番号】特願2013-37312(P2013-37312)
(22)【出願日】2013年2月27日
(65)【公開番号】特開2013-187904(P2013-187904A)
(43)【公開日】2013年9月19日
【審査請求日】2016年2月26日
(31)【優先権主張番号】10-2012-0022338
(32)【優先日】2012年3月5日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】390019839
【氏名又は名称】三星電子株式会社
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】金 斗 ▲ひょん▼
(72)【発明者】
【氏名】金 度 亨
(72)【発明者】
【氏名】李 時 和
【審査官】 北村 智彦
(56)【参考文献】
【文献】 特開2003−309471(JP,A)
【文献】 特開平05−152973(JP,A)
【文献】 特開2008−141278(JP,A)
【文献】 特開平06−152988(JP,A)
【文献】 米国特許第05181031(US,A)
【文献】 米国特許第05604499(US,A)
【文献】 米国特許第05404138(US,A)
【文献】 米国特許第05825312(US,A)
【文献】 Y.-W.Chang, T.-K.Truong, Y.Chang,Direct mapping architecture for JPEG Huffman decoder,IEE Proceedings-Communications,2006年 6月 2日,vol.153,no.3,pp.333-340
(58)【調査した分野】(Int.Cl.,DB名)
H03M 3/00−11/00
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
1つ以上のコードを含む1つ以上のテーブルを格納するテーブル格納部と、
1つ以上のインストラクション信号を受信する受信部と、
前記1つ以上のインストラクション信号により前記1つ以上のテーブルから復号対象であるハフマンコードに対応するシンボル値及びシンボルの長さを抽出するシンボル抽出部と、
前記1つ以上のテーブルを生成するテーブル生成部と、
ビット演算部、
を備え、
前記テーブル生成部は、
前記1つ以上のコードを降順または昇順に整列する整列部と、
それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するコード分離部と、
前記1つ以上のテーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるグループ組合部と、
を備え、
前記ビット演算部は、
前記1つ以上のテーブルの大きさを最小にする前記ターゲットサフィックス長を演算する、
ことを特徴とする含む復号化装置。
【請求項2】
前記ビット演算部は、
前記ターゲットサフィックス長を最小に設定するサフィックス設定部と、
前記1つ以上のテーブルに含まれていないコードのうち最大長さのコードを検出する検出部と、
前記1つ以上のテーブルのそれぞれの大きさを算出する算出部と、
第1時点に格納される現在テーブルの大きさと、前記第1時点より以前の第2時点に格納される以前テーブルの大きさとを比較する第1比較部と、
前記第1時点で設定した現在サフィックス長が最大サフィックス長と一致するか否かを比較する第2比較部と、
を備えることを特徴とする請求項に記載の復号化装置。
【請求項3】
前記サフィックス設定部は、前記以前テーブルの大きさが前記現在テーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定する、
ことを特徴とする請求項に記載の復号化装置。
【請求項4】
前記サフィックス設定部は、前記現在サフィックス長が前記最大サフィックスビット長と一致する場合に前記サフィックス長を増加させ、それぞれのモジュールは、それぞれの動作を繰り返し行う、
ことを特徴とする請求項に記載の復号化装置。
【請求項5】
前記1つ以上のテーブルのそれぞれに関する情報を格納するテーブル配列格納部と、
前記1つ以上のテーブルのそれぞれに基づいて生成された1つ以上のプレフィックスを格納するプレフィックス格納部と、
前記1つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部と、
をさらに備えることを特徴とする請求項1乃至の何れか一項に記載の復号化装置。
【請求項6】
前記テーブル配列格納部は、
前記1以上のテーブルのそれぞれに対するマッピングテーブル上の第1アドレスに対応するオフセットアドレスと、
前記それぞれのコードに対するサフィックス長及び非プレフィックス長と、
2以上のテーブルを1つのテーブルにマッピングするためのパッキングビット長と、
を格納することを特徴とする請求項に記載の復号化装置。
【請求項7】
前記プレフィックス格納部は、各プレフィックスの開始ビットに対応するフラグを格納する、
ことを特徴とする請求項に記載の復号化装置。
【請求項8】
前記マッピングテーブル格納部は、
前記それぞれのコードに対応するシンボル値と、
前記それぞれのコードのサフィックス長と、
前記1つ以上のコードのうちマッピングされるコードが存在するか否かを確認するヒットフラグと、
を格納することを特徴とする請求項に記載の復号化装置。
【請求項9】
前記シンボル抽出部は、前記テーブル配列格納部及び前記プレフィックス格納部からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出する、
ことを特徴とする請求項5乃至8の何れか一項に記載の復号化装置。
【請求項10】
1つ以上のコードを含む1つ以上のテーブルを格納するステップと、
1つ以上のインストラクション信号を受信するステップと、
前記1つ以上のインストラクション信号により前記1つ以上のテーブルから復号対象であるハフマンコードに対応するシンボル値及びシンボルの長さを抽出するステップと、
前記1つ以上のコードを降順または昇順に整列するステップと、
それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するステップと、
前記1つ以上のテーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるステップと、
前記1つ以上のテーブルの大きさを最小にする前記ターゲットサフィックス長を演算するステップ、
を含むことを特徴とする復号化方法。
【請求項11】
前記ターゲットサフィックス長を演算するステップは、
前記ターゲットサフィックス長を最小に設定するステップと、
前記1つ以上のテーブルに含まれていないコードのうち最長の長さのコードを検出するステップと、
前記1つ以上のテーブルのそれぞれの大きさを算出するステップと、
第1時点に格納される現在テーブルの大きさと、前記第1時点より以前の第2時点に格納される以前テーブルの大きさとを比較するステップと、
前記第1時点で設定した現在サフィックス長が最大サフィックス長と一致するか否かを比較するステップと、
を含むことを特徴とする請求項10に記載の復号化方法。
【請求項12】
前記ターゲットサフィックス長を演算するステップは、
前記以前テーブルの大きさが前記現在テーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定するステップをさらに含む、
ことを特徴とする請求項11に記載の復号化方法。
【請求項13】
前記ターゲットサフィックス長を演算するステップは、
前記現在サフィックス長が前記最大サフィックスビット長と一致する場合、前記サフィックス長を増加させるステップをさらに含み、それぞれのステップを繰り返し行う、
ことを特徴とする請求項11に記載の復号化方法。
【請求項14】
前記1つ以上のテーブルのそれぞれに関する情報を格納するステップと、
前記1以上のテーブルのそれぞれに基づいて生成された1つ以上のプレフィックスを格納するステップと、
前記1つ以上のコードに対するシンボル情報を格納するステップと、
をさらに含むことを特徴とする請求項10乃至13の何れか一項に記載の復号化方法。
【請求項15】
前記1つ以上のテーブルのそれぞれのうち選択されたテーブル番号に対応するパラメータをロードするステップと、
前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出するステップと、
をさらに含むことを特徴とする請求項14に記載の復号化方法。
【請求項16】
コンピュータに、請求項10乃至15の何れか1項に記載の方法を実行させるプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、プログラム可能なハフマン復号化装置及び方法に関する。
【背景技術】
【0002】
ハフマン符号化は代表的な無損失圧縮方式の1つである。現在まで開発されたビデオ及びオーディオ標準は大部分ハフマン無損失圧縮方式を用いる。ハフマン圧縮方式は与えられたシンボルの確率値を推定し、これからハフマンツリーを生成して0及び1からなるビット列を生成する方式である。ハフマン圧縮方式は、復号化するときビット列ごとに既に生成されたハフマンテーブルと比較して本来のシンボルを抽出する。これは、ハフマン符号化方式の代表的な特徴として、ビット列を1つずつ一対一で対応するシンボルを探すことができる。
【0003】
ハフマン符号化は、シンボルの確率的特徴が用途毎に異なるため、用途に応じて他のハフマンテーブルを有する。代表的なビデオ標準であるMPEGもMPEG2とMPEG4は互いに異なるハフマンテーブルを定義している。したがって、このようなハフマン符号化は一般的にソフトウェアで実現する。しかし、ソフトウェアで実現時にビット列をテーブル値と逐次比較しなければならないことから多い演算量を必要とし、一定のビット列をグループ単位でメモリに格納してグループ単位で処理する方式を多く用いる。しかし、前述のようにグループ単位で処理する方式もグループ単位での比較演算が必要であり、ハフマンテーブルにより多い量のメモリを必要とする。
【0004】
したがって、これを高速に処理するためのハードウェアも開発されているが、用途が変われば使用できなくなるため、特定用途向けにしか使用することができない問題がある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、高速でハフマンコードを復号化することにある。また、本発明の目的、ハフマンコードを用いる様々な用途に適用することにある。
【課題を解決するための手段】
【0006】
本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納するテーブル格納部と、1つ以上のインストラクション信号を受信する受信部と、前記1つ以上のインストラクション信号により前記1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部とを備える。
【0007】
本発明の一実施形態によると、前記1つ以上のインストラクション信号は、テーブル配列制御信号、ハフマンプレフィックス制御信号、ハフマンサフィックス制御信号、及びハフマンシンボルデコード制御信号を含んでもよい。
【0008】
本発明の一実施形態によると、前記1つ以上のテーブルを生成するテーブル生成部をさらに備えてもよい。本発明の一実施形態によると、前記テーブル生成部は、前記1つ以上のコードを降順または昇順に整列する整列部と、前記それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するコード分離部と、前記テーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるグループ組合部とを備えてもよい。
【0009】
本発明の一実施形態によると、復号化装置は、前記テーブルの大きさを最小にする前記ターゲットサフィックス長を演算するビット演算部をさらに備えてもよい。
【0010】
本発明の一実施形態によると、前記ビット演算部は、前記ターゲットサフィックス長を最小に設定するサフィックス設定部と、前記テーブルに含まれていないコードのうち最大長さのコードを検出する検出部と、前記それぞれのテーブルの大きさを算出する算出部と、以前テーブルの大きさと現在のテーブルの大きさとを比較する第1比較部と、現在サフィックス長が最大サフィックス長と一致するか否かを比較する第2比較部とを備えてもよい。
【0011】
本発明の一実施形態によると、前記サフィックス設定部は、前記以前テーブルの大きさが前記現在のテーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定してもよい。本発明の一実施形態によると、前記サフィックス設定部は、前記現在サフィックス長が前記最大サフィックスビット長と一致する場合に前記サフィックス長を増加させ、前記それぞれのモジュールは前記それぞれの動作を繰り返し行ってもよい。
【0012】
本発明の一実施形態によると、前記それぞれのテーブルに関する情報を格納するテーブル配列格納部と、前記それぞれのテーブルに基づいて生成された1つ以上のプレフィックスを格納するプレフィックス格納部と、前記1つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部とをさらに備えてもよい。
【0013】
本発明の一実施形態によると、前記テーブル配列格納部は、前記それぞれのテーブルに対するマッピングテーブル上の第1アドレスに対応するオフセットアドレスと、前記それぞれのコードに対するサフィックス長及び非プレフィックス長と、2以上のテーブルを1つのテーブルにマッピングするためのパッキングビット長とを格納してもよい。
【0014】
本発明の一実施形態によると、前記プレフィックス格納部は、各プレフィックスの開始ビットに対応するフラグを格納してもよい。本発明の一実施形態によると、前記マッピングテーブル格納部は、前記それぞれのコードに対応するシンボル値と、前記それぞれのコードのサフィックス長と、前記1つ以上のコードのうちマッピングされるコードが存在するか否かを確認するヒットフラグとを格納してもよい。
【0015】
本発明の一実施形態によると、前記シンボル抽出部は、前記テーブル配列格納部及び前記プレフィックス格納部からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出してもよい。
【0016】
本発明の一実施形態に係る復号化方法は、1つ以上のコードを含む1つ以上のテーブルを格納するステップと、1つ以上のインストラクション信号を受信するステップと、前記1つ以上のインストラクション信号により前記1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するステップとを含む。
【発明の効果】
【0017】
本発明によれば、高速でハフマンコードを復号化することができる。また、本発明によれば、ハフマンコードを用いる様々な用途に適用することができる。
【図面の簡単な説明】
【0018】
図1】本発明の一実施形態に係る復号化装置の構成を示すブロック図である。
図2】本発明の一実施形態に係る復号化装置から入力されるインストラクションの例を示すブロック図である。
図3】本発明の一実施形態に係る復号化方法を示すフローチャートである。
図4】本発明の一実施形態に係るテーブルを示す図である。
図5A】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
図5B】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
図5C】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
図5D】本発明の一実施形態に係るテーブル構成の展開例を示す図である。
図6】本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。
図7】本発明の一実施形態に係るビット演算部の構成を示すブロック図である。
図8】本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。
図9】本発明の一実施形態に係る復号化装置の回路構成を示す図である。
図10】本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。
図11】本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。
図12】本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。
【発明を実施するための形態】
【0019】
以下、添付の図面及び添付の図面に記載された内容を参照して本発明の実施形態を詳細に説明するが、本発明が実施形態によって制限されたり限定されることはない。
【0020】
一方、本発明の説明において、関連する公知機能または構成に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合には、その詳細な説明を省略する。そして、本明細書で用いられる用語は本発明の実施形態を適切に表現するために用いられた用語として、これはユーザ、運用者の意図または本発明が属する分野の慣例などによって変わり得る。したがって、本用語に対する定義は本明細書全般にわたった内容に基づいて下されなければならない。
【0021】
図1は、本発明の一実施形態に係る復号化装置の構成を示すブロック図である。図1を参照すると、本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納するテーブル格納部110、1つ以上のインストラクション信号を受信する受信部120、及び1つ以上のインストラクション信号により1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部130から構成される。
【0022】
図2は、本発明の一実施形態に係る復号化装置から入力されるインストラクション(instruction)の例を示すブロック図である。図2を参照すると、本発明の一実施形態に係る復号化装置は、ハフマン復号化をプログラム可能にするため複数のインストラクション信号を定義している。
【0023】
本発明の一実施形態によれば、インストラクションデコーダ210は、インストラクション信号を受信して命令コード(opcode)形式でマルチプレクサ(MUX)220へ伝達し、マルチプレクサ220は1つ以上のインストラクション信号を多重化して実質的にデータを処理するハフマンデコーダ230に伝達することによって、コードのシンボル値及びシンボルの長さを抽出する。
【0024】
本発明の一実施形態に係る1つ以上のインストラクション信号は、テーブル配列制御信号(set_table_configuration_enable)、ハフマンプレフィックス制御信号(set_huffman_prefix_enable)、ハフマンサフィックス制御信号(set_huffman_siffix_enable)、及びハフマンシンボルデコード制御信号(set_huffman_symbol_decode_enable)を備える。
【0025】
以下、図1に示す本発明の一実施形態に係る復号化装置を用いて復号化する方法を説明するようにする。
【0026】
図3は、本発明の一実施形態に係る復号化方法を示すフローチャートである。図3を参照すると、本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納する(S310)。本発明の一実施形態に係る復号化装置は、1つ以上のインストラクション信号を受信する(S320)。本発明の一実施形態に係る復号化装置は、1つ以上のインストラクション信号により1つ以上のテーブルからシンボル値及びシンボルの長さを抽出する(S330)。
【0027】
以下、本発明の一実施形態に係るテーブル生成方法を説明する。本発明の一実施形態に係る復号化装置は、テーブル生成部140を用いて1つ以上のテーブルを生成する。本発明の一実施形態に係るテーブル生成部140は、整列部を用いて1つ以上のコードを降順または昇順に整列してもよい。
【0028】
本発明の一実施形態に係るテーブル生成部140は、コード分離部を用いてそれぞれのコードのサフィックス(suffix)がターゲットサフィックスに対応するように各サフィックスと各プレフィックス(prefix)を互いに分離してもよい。
【0029】
本発明の一実施形態に係るテーブル生成部140は、グループ組合部を用いてテーブルの大きさを最小にするよう、各プレフィックスによるサフィックスグループを組み合わせてもよい。
【0030】
図4は本発明の一実施形態に係るテーブルを示す図面であり、図5A図5Dは本発明の一実施形態に係るテーブル構成の展開例を示す図である。
【0031】
例えば、本発明の一実施形態に係るテーブル生成部140は、図4に示すように、H.264/AVCで用いられるハフマンテーブルのうち、total_zeroをコード化してもよく、TotalCoeffが3である場合(図5A)、下記のようにハフマンコードに対するテーブルを生成してもよい。例えば、本発明の一実施形態に係るテーブル生成部140は、図5Bに示すようにコードを降順に整列してもよい。
【0032】
本発明の一実施形態に係るテーブル生成部140は、図5Cに示すように最も長いコードを中心に同じプレフィックスを有するようターゲットサフィックス長である3bitに対応すべくプレフィックスを分離してもよい。
【0033】
本発明の一実施形態に係るテーブル生成部140は、図5Cに示すように「000」プレフィックスグループを除いた残りのコードで最長の長さコードを中心にターゲットサフィックス長の3bitに対応するよう次のプレフィックスを分離してもよい。
【0034】
本発明の一実施形態に係るテーブル生成部140は、「0」と「000」からなるプレフィックスグループを形成してもよく、各プレフィックスはサフィックスグループに示してもよい。
【0035】
図6は、本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。本発明の一実施形態に係る復号化装置は、プレフィックスを先に与えられたビットストリームから把握できる場合、決定されたサーフィスだけロードすれば結果を抽出することができるように図6に示すテーブルを生成して格納する。
【0036】
前述した例によれば、ターゲットサフィックスを3ビットに仮定してテーブルを生成する過程について説明したが、本発明の一実施形態に係る復号化装置は、テーブルの大きさを最小にするターゲットサフィックスビット長を抽出することができる。
【0037】
本発明の一実施形態に係る復号化装置は、ビット演算部150を用いてテーブルの大きさを最小にするターゲットサフィックス長を演算してもよい。
【0038】
図7は本発明の一実施形態に係るビット演算部の構成を示すブロック図であり、図8は本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。
【0039】
図7及び図8を参照すると、本発明の一実施形態に係るビット演算部は、1つ以上のコードを降順または昇順に整列する(S810)。
【0040】
本発明の一実施形態に係るビット演算部は、サフィックス設定部710を用いてターゲットサフィックス長を最小に設定する(S820)。例えば、本発明の一実施形態に係るサフィックス設定部710は、最初ターゲットサフィックス長を最も小さい単位である1に設定してもよい。
【0041】
本発明の一実施形態に係るビット演算部は、検出部720を用いてテーブルに含まれていないコードのうち最長の長さのコードを検出する(S830)。本発明の一実施形態に係るビット演算部は、算出部730を用いてそれぞれのテーブルの大きさを算出する(S840)。本発明の一実施形態に係るビット演算部は、第1比較部740を用いて以前テーブルの大きさと現在テーブルの大きさとを比較する(S850)。
【0042】
本発明の一実施形態によれば、サフィックス設定部は、以前テーブルの大きさが現在のテーブルの大きさより大きい場合、ターゲットサフィックス長を現在サフィックス長に設定する(S860)。本発明の一実施形態に係るビット演算部は、第2比較部750を用いて現在サフィックス長が最大サフィックス長と一致するか否かを比較する(S870)。
【0043】
本発明の一実施形態によれば、サフィックス設定部は、現在サフィックス長が最大サフィックスビット長と一致する場合、サフィックス長のを増加させ、各ステップを繰り返して行う(S880)。
【0044】
本発明の一実施形態によれば、テーブルの大きさは、プレフィックス長をmビット、非プレフィックス長をnビットと仮定し、プレフィックスの個数をcと仮定する場合に、テーブルの大きさを下記の数式(1)を用いて演算することができる。
【0045】
テーブルの大きさ=2n+c×2m (1)
本発明の一実施形態に係る復号化装置は、最長コードの長さだけ各ステップを繰り返してテーブルの大きさを最小にするサフィックスビット及び非プレフィックスビットの長さを演算してテーブルマッピングしてもよい。
【0046】
以下、本発明の一実施形態に係る復号化装置の回路構成に基づいて復号化する方法を説明する。
【0047】
図9は、本発明の一実施形態に係る復号化装置の回路構成を示す図である。図9を参照すると、本発明の一実施形態に係る復号化装置は、それぞれのテーブルに関する情報を格納するテーブル配列格納部910、それぞれのテーブルに基づいて生成された1つ以上のプレフィックスを格納するプレフィックス格納部920、及び1つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部930をさらに備える。
【0048】
図10は、本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。図10を参照すると、本発明の一実施形態に係るテーブル配列格納部910は、それぞれのテーブルに対するマッピングテーブル上の第1アドレスに対応するオフセットアドレス(Offset Address)、それぞれのコードに対するサフィックス長(Suffix Length)及び非プレフィックス長(Non-prefix length)及び2以上のテーブルを1つのテーブルにマッピングするためのパッキングビット長(Packing Bit Length)を格納する。
【0049】
図11は、本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。図11を参照すると、本発明の一実施形態に係るプレフィックス格納部920は、各プレフィックスの開始ビットに対応するフラグを格納する。
【0050】
例えば、本発明の一実施形態に係るプレフィックス格納部920は、各プレフィックス値(Prefix Value)の前に1ビットの「1」値が設定されてもよく、前記「1」値はプレフィックスの開始ビットを知らせるフラグを意味する。
【0051】
本発明の一実施形態に係る復号化装置は、フラグによってプレフィックス値を比較抽出してもよい。
【0052】
図12は、本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。図12を参照すると、本発明の一実施形態に係るマッピングテーブル格納部930は、それぞれのコードに対応するシンボル値(Symbol Value)、それぞれのコードのサフィックス長(Suffix Length)及び前記1つ以上のコードのうちマッピングされるコードの存在するか否かを確認するヒットフラグ(Hit Flag)を格納する。
【0053】
例えば、本発明の一実施形態に係るシンボル値はハフマンコードに対応する値であり、サフィックス長は実際ハフマンコードのサフィックス長を意味する。
【0054】
本発明の一実施形態に係るマッピングテーブル格納部930に格納されたデータは、前述した図5Bに示す「00011」のようなコード処理に容易である。
【0055】
例えば、図5Bに示されたプレフィックスは3ビットであり、サフィックスも3ビットであるため「000110」と「000111」コードの全てにマッピングされてもよい。しかし、コードは実際に2ビットであるため上記のような情報がマッピングテーブルに存在しなければならない。
【0056】
本発明の一実施形態に係るヒットフラグはエスケープコードを処理するためのものであり、エスケープコードは、一般的なハフマン方式に従わないため、別途の処理を行うことが好ましい。本発明の一実施形態に係る復号化装置はエスケープコードがある場合、マッピングテーブルにエスケープコードが存在するか否かを確認し得るヒットフラグを格納しておく。
【0057】
例えば、本発明の一実施形態に係る復号化装置は、それぞれのインストラクション信号に対して格納される値を下記のように設定してもよい。
【0058】
本発明の一実施形態によれば、テーブル配列格納部910の非プレフィックス長は3であり、サフィックス長も3であってもよく、プレフィックス格納部920は、テーブルに対するプレフィックスが「0」または「000」であるために「10」及び「1000」を格納してもよく、マッピングテーブル格納部930のシンボル値とサフィックス長は、図6に示すtotal_zeroとSuffix lengthに対応してもよい。
【0059】
本発明の一実施形態に係るシンボル抽出部は、テーブル配列格納部910及びプレフィックス格納部920からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出してシンボル値及び前記シンボルの長さを抽出する。
【0060】
本発明に係る実施形態は、多様なコンピュータ手段によって行うことができるプログラム命令の形態で実現されても良く、かかるプログラム命令は、コンピュータ読み出し可能媒体に記録されてもよい。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
【0061】
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【0062】
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
【符号の説明】
【0063】
110 テーブル格納部
120 受信部
130 シンボル抽出部
140 テーブル生成部
150 ビット演算部
図1
図2
図3
図4
図5A
図5B
図5C
図5D
図6
図7
図8
図9
図10
図11
図12