JP6249608B2 - 復号化装置及び方法 - Google Patents

復号化装置及び方法 Download PDF

Info

Publication number
JP6249608B2
JP6249608B2 JP2013037312A JP2013037312A JP6249608B2 JP 6249608 B2 JP6249608 B2 JP 6249608B2 JP 2013037312 A JP2013037312 A JP 2013037312A JP 2013037312 A JP2013037312 A JP 2013037312A JP 6249608 B2 JP6249608 B2 JP 6249608B2
Authority
JP
Japan
Prior art keywords
suffix
length
tables
prefix
unit
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
Application number
JP2013037312A
Other languages
English (en)
Other versions
JP2013187904A (ja
Inventor
斗 ▲ひょん▼ 金
斗 ▲ひょん▼ 金
金 度 亨
度 亨 金
時 和 李
時 和 李
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2013187904A publication Critical patent/JP2013187904A/ja
Application granted granted Critical
Publication of JP6249608B2 publication Critical patent/JP6249608B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion 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/425Conversion 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4062Coding table adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明の実施形態は、プログラム可能なハフマン復号化装置及び方法に関する。
ハフマン符号化は代表的な無損失圧縮方式の1つである。現在まで開発されたビデオ及びオーディオ標準は大部分ハフマン無損失圧縮方式を用いる。ハフマン圧縮方式は与えられたシンボルの確率値を推定し、これからハフマンツリーを生成して0及び1からなるビット列を生成する方式である。ハフマン圧縮方式は、復号化するときビット列ごとに既に生成されたハフマンテーブルと比較して本来のシンボルを抽出する。これは、ハフマン符号化方式の代表的な特徴として、ビット列を1つずつ一対一で対応するシンボルを探すことができる。
ハフマン符号化は、シンボルの確率的特徴が用途毎に異なるため、用途に応じて他のハフマンテーブルを有する。代表的なビデオ標準であるMPEGもMPEG2とMPEG4は互いに異なるハフマンテーブルを定義している。したがって、このようなハフマン符号化は一般的にソフトウェアで実現する。しかし、ソフトウェアで実現時にビット列をテーブル値と逐次比較しなければならないことから多い演算量を必要とし、一定のビット列をグループ単位でメモリに格納してグループ単位で処理する方式を多く用いる。しかし、前述のようにグループ単位で処理する方式もグループ単位での比較演算が必要であり、ハフマンテーブルにより多い量のメモリを必要とする。
したがって、これを高速に処理するためのハードウェアも開発されているが、用途が変われば使用できなくなるため、特定用途向けにしか使用することができない問題がある。
本発明の目的は、高速でハフマンコードを復号化することにある。また、本発明の目的、ハフマンコードを用いる様々な用途に適用することにある。
本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納するテーブル格納部と、1つ以上のインストラクション信号を受信する受信部と、前記1つ以上のインストラクション信号により前記1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部とを備える。
本発明の一実施形態によると、前記1つ以上のインストラクション信号は、テーブル配列制御信号、ハフマンプレフィックス制御信号、ハフマンサフィックス制御信号、及びハフマンシンボルデコード制御信号を含んでもよい。
本発明の一実施形態によると、前記1つ以上のテーブルを生成するテーブル生成部をさらに備えてもよい。本発明の一実施形態によると、前記テーブル生成部は、前記1つ以上のコードを降順または昇順に整列する整列部と、前記それぞれのコードのサフィックスがターゲットサフィックス長に対応するように各サフィックスと各プレフィックスを互いに分離するコード分離部と、前記テーブルの大きさを最小にするように各プレフィックスによるサフィックスグループを組み合わせるグループ組合部とを備えてもよい。
本発明の一実施形態によると、復号化装置は、前記テーブルの大きさを最小にする前記ターゲットサフィックス長を演算するビット演算部をさらに備えてもよい。
本発明の一実施形態によると、前記ビット演算部は、前記ターゲットサフィックス長を最小に設定するサフィックス設定部と、前記テーブルに含まれていないコードのうち最大長さのコードを検出する検出部と、前記それぞれのテーブルの大きさを算出する算出部と、以前テーブルの大きさと現在のテーブルの大きさとを比較する第1比較部と、現在サフィックス長が最大サフィックス長と一致するか否かを比較する第2比較部とを備えてもよい。
本発明の一実施形態によると、前記サフィックス設定部は、前記以前テーブルの大きさが前記現在のテーブルの大きさよりも大きい場合、前記ターゲットサフィックス長を現在サフィックス長に設定してもよい。本発明の一実施形態によると、前記サフィックス設定部は、前記現在サフィックス長が前記最大サフィックスビット長と一致する場合に前記サフィックス長を増加させ、前記それぞれのモジュールは前記それぞれの動作を繰り返し行ってもよい。
本発明の一実施形態によると、前記それぞれのテーブルに関する情報を格納するテーブル配列格納部と、前記それぞれのテーブルに基づいて生成された1つ以上のプレフィックスを格納するプレフィックス格納部と、前記1つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部とをさらに備えてもよい。
本発明の一実施形態によると、前記テーブル配列格納部は、前記それぞれのテーブルに対するマッピングテーブル上の第1アドレスに対応するオフセットアドレスと、前記それぞれのコードに対するサフィックス長及び非プレフィックス長と、2以上のテーブルを1つのテーブルにマッピングするためのパッキングビット長とを格納してもよい。
本発明の一実施形態によると、前記プレフィックス格納部は、各プレフィックスの開始ビットに対応するフラグを格納してもよい。本発明の一実施形態によると、前記マッピングテーブル格納部は、前記それぞれのコードに対応するシンボル値と、前記それぞれのコードのサフィックス長と、前記1つ以上のコードのうちマッピングされるコードが存在するか否かを確認するヒットフラグとを格納してもよい。
本発明の一実施形態によると、前記シンボル抽出部は、前記テーブル配列格納部及び前記プレフィックス格納部からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出して前記シンボル値及び前記シンボルの長さを抽出してもよい。
本発明の一実施形態に係る復号化方法は、1つ以上のコードを含む1つ以上のテーブルを格納するステップと、1つ以上のインストラクション信号を受信するステップと、前記1つ以上のインストラクション信号により前記1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するステップとを含む。
本発明によれば、高速でハフマンコードを復号化することができる。また、本発明によれば、ハフマンコードを用いる様々な用途に適用することができる。
本発明の一実施形態に係る復号化装置の構成を示すブロック図である。 本発明の一実施形態に係る復号化装置から入力されるインストラクションの例を示すブロック図である。 本発明の一実施形態に係る復号化方法を示すフローチャートである。 本発明の一実施形態に係るテーブルを示す図である。 本発明の一実施形態に係るテーブル構成の展開例を示す図である。 本発明の一実施形態に係るテーブル構成の展開例を示す図である。 本発明の一実施形態に係るテーブル構成の展開例を示す図である。 本発明の一実施形態に係るテーブル構成の展開例を示す図である。 本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。 本発明の一実施形態に係るビット演算部の構成を示すブロック図である。 本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。 本発明の一実施形態に係る復号化装置の回路構成を示す図である。 本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。 本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。 本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。
以下、添付の図面及び添付の図面に記載された内容を参照して本発明の実施形態を詳細に説明するが、本発明が実施形態によって制限されたり限定されることはない。
一方、本発明の説明において、関連する公知機能または構成に対する具体的な説明が本発明の要旨を不要に曖昧にすると判断される場合には、その詳細な説明を省略する。そして、本明細書で用いられる用語は本発明の実施形態を適切に表現するために用いられた用語として、これはユーザ、運用者の意図または本発明が属する分野の慣例などによって変わり得る。したがって、本用語に対する定義は本明細書全般にわたった内容に基づいて下されなければならない。
図1は、本発明の一実施形態に係る復号化装置の構成を示すブロック図である。図1を参照すると、本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納するテーブル格納部110、1つ以上のインストラクション信号を受信する受信部120、及び1つ以上のインストラクション信号により1つ以上のテーブルからシンボル値及びシンボルの長さを抽出するシンボル抽出部130から構成される。
図2は、本発明の一実施形態に係る復号化装置から入力されるインストラクション(instruction)の例を示すブロック図である。図2を参照すると、本発明の一実施形態に係る復号化装置は、ハフマン復号化をプログラム可能にするため複数のインストラクション信号を定義している。
本発明の一実施形態によれば、インストラクションデコーダ210は、インストラクション信号を受信して命令コード(opcode)形式でマルチプレクサ(MUX)220へ伝達し、マルチプレクサ220は1つ以上のインストラクション信号を多重化して実質的にデータを処理するハフマンデコーダ230に伝達することによって、コードのシンボル値及びシンボルの長さを抽出する。
本発明の一実施形態に係る1つ以上のインストラクション信号は、テーブル配列制御信号(set_table_configuration_enable)、ハフマンプレフィックス制御信号(set_huffman_prefix_enable)、ハフマンサフィックス制御信号(set_huffman_siffix_enable)、及びハフマンシンボルデコード制御信号(set_huffman_symbol_decode_enable)を備える。
以下、図1に示す本発明の一実施形態に係る復号化装置を用いて復号化する方法を説明するようにする。
図3は、本発明の一実施形態に係る復号化方法を示すフローチャートである。図3を参照すると、本発明の一実施形態に係る復号化装置は、1つ以上のコードを含む1つ以上のテーブルを格納する(S310)。本発明の一実施形態に係る復号化装置は、1つ以上のインストラクション信号を受信する(S320)。本発明の一実施形態に係る復号化装置は、1つ以上のインストラクション信号により1つ以上のテーブルからシンボル値及びシンボルの長さを抽出する(S330)。
以下、本発明の一実施形態に係るテーブル生成方法を説明する。本発明の一実施形態に係る復号化装置は、テーブル生成部140を用いて1つ以上のテーブルを生成する。本発明の一実施形態に係るテーブル生成部140は、整列部を用いて1つ以上のコードを降順または昇順に整列してもよい。
本発明の一実施形態に係るテーブル生成部140は、コード分離部を用いてそれぞれのコードのサフィックス(suffix)がターゲットサフィックスに対応するように各サフィックスと各プレフィックス(prefix)を互いに分離してもよい。
本発明の一実施形態に係るテーブル生成部140は、グループ組合部を用いてテーブルの大きさを最小にするよう、各プレフィックスによるサフィックスグループを組み合わせてもよい。
図4は本発明の一実施形態に係るテーブルを示す図面であり、図5A〜図5Dは本発明の一実施形態に係るテーブル構成の展開例を示す図である。
例えば、本発明の一実施形態に係るテーブル生成部140は、図4に示すように、H.264/AVCで用いられるハフマンテーブルのうち、total_zeroをコード化してもよく、TotalCoeffが3である場合(図5A)、下記のようにハフマンコードに対するテーブルを生成してもよい。例えば、本発明の一実施形態に係るテーブル生成部140は、図5Bに示すようにコードを降順に整列してもよい。
本発明の一実施形態に係るテーブル生成部140は、図5Cに示すように最も長いコードを中心に同じプレフィックスを有するようターゲットサフィックス長である3bitに対応すべくプレフィックスを分離してもよい。
本発明の一実施形態に係るテーブル生成部140は、図5Cに示すように「000」プレフィックスグループを除いた残りのコードで最長の長さコードを中心にターゲットサフィックス長の3bitに対応するよう次のプレフィックスを分離してもよい。
本発明の一実施形態に係るテーブル生成部140は、「0」と「000」からなるプレフィックスグループを形成してもよく、各プレフィックスはサフィックスグループに示してもよい。
図6は、本発明の一実施形態に係るプレフィックス及びサフィックスに係るテーブル構成例を示す図である。本発明の一実施形態に係る復号化装置は、プレフィックスを先に与えられたビットストリームから把握できる場合、決定されたサーフィスだけロードすれば結果を抽出することができるように図6に示すテーブルを生成して格納する。
前述した例によれば、ターゲットサフィックスを3ビットに仮定してテーブルを生成する過程について説明したが、本発明の一実施形態に係る復号化装置は、テーブルの大きさを最小にするターゲットサフィックスビット長を抽出することができる。
本発明の一実施形態に係る復号化装置は、ビット演算部150を用いてテーブルの大きさを最小にするターゲットサフィックス長を演算してもよい。
図7は本発明の一実施形態に係るビット演算部の構成を示すブロック図であり、図8は本発明の一実施形態に係るターゲットサフィックスビット長を抽出する方法を示す図である。
図7及び図8を参照すると、本発明の一実施形態に係るビット演算部は、1つ以上のコードを降順または昇順に整列する(S810)。
本発明の一実施形態に係るビット演算部は、サフィックス設定部710を用いてターゲットサフィックス長を最小に設定する(S820)。例えば、本発明の一実施形態に係るサフィックス設定部710は、最初ターゲットサフィックス長を最も小さい単位である1に設定してもよい。
本発明の一実施形態に係るビット演算部は、検出部720を用いてテーブルに含まれていないコードのうち最長の長さのコードを検出する(S830)。本発明の一実施形態に係るビット演算部は、算出部730を用いてそれぞれのテーブルの大きさを算出する(S840)。本発明の一実施形態に係るビット演算部は、第1比較部740を用いて以前テーブルの大きさと現在テーブルの大きさとを比較する(S850)。
本発明の一実施形態によれば、サフィックス設定部は、以前テーブルの大きさが現在のテーブルの大きさより大きい場合、ターゲットサフィックス長を現在サフィックス長に設定する(S860)。本発明の一実施形態に係るビット演算部は、第2比較部750を用いて現在サフィックス長が最大サフィックス長と一致するか否かを比較する(S870)。
本発明の一実施形態によれば、サフィックス設定部は、現在サフィックス長が最大サフィックスビット長と一致する場合、サフィックス長のを増加させ、各ステップを繰り返して行う(S880)。
本発明の一実施形態によれば、テーブルの大きさは、プレフィックス長をmビット、非プレフィックス長をnビットと仮定し、プレフィックスの個数をcと仮定する場合に、テーブルの大きさを下記の数式(1)を用いて演算することができる。
テーブルの大きさ=2n+c×2m (1)
本発明の一実施形態に係る復号化装置は、最長コードの長さだけ各ステップを繰り返してテーブルの大きさを最小にするサフィックスビット及び非プレフィックスビットの長さを演算してテーブルマッピングしてもよい。
以下、本発明の一実施形態に係る復号化装置の回路構成に基づいて復号化する方法を説明する。
図9は、本発明の一実施形態に係る復号化装置の回路構成を示す図である。図9を参照すると、本発明の一実施形態に係る復号化装置は、それぞれのテーブルに関する情報を格納するテーブル配列格納部910、それぞれのテーブルに基づいて生成された1つ以上のプレフィックスを格納するプレフィックス格納部920、及び1つ以上のコードに対するシンボル情報を格納するマッピングテーブル格納部930をさらに備える。
図10は、本発明の一実施形態に係るテーブル配列格納部に格納されたデータを示す図である。図10を参照すると、本発明の一実施形態に係るテーブル配列格納部910は、それぞれのテーブルに対するマッピングテーブル上の第1アドレスに対応するオフセットアドレス(Offset Address)、それぞれのコードに対するサフィックス長(Suffix Length)及び非プレフィックス長(Non-prefix length)及び2以上のテーブルを1つのテーブルにマッピングするためのパッキングビット長(Packing Bit Length)を格納する。
図11は、本発明の一実施形態に係るプレフィックス格納部に格納されたデータを示す図である。図11を参照すると、本発明の一実施形態に係るプレフィックス格納部920は、各プレフィックスの開始ビットに対応するフラグを格納する。
例えば、本発明の一実施形態に係るプレフィックス格納部920は、各プレフィックス値(Prefix Value)の前に1ビットの「1」値が設定されてもよく、前記「1」値はプレフィックスの開始ビットを知らせるフラグを意味する。
本発明の一実施形態に係る復号化装置は、フラグによってプレフィックス値を比較抽出してもよい。
図12は、本発明の一実施形態に係るマッピングテーブル格納部に格納されたデータを示す図である。図12を参照すると、本発明の一実施形態に係るマッピングテーブル格納部930は、それぞれのコードに対応するシンボル値(Symbol Value)、それぞれのコードのサフィックス長(Suffix Length)及び前記1つ以上のコードのうちマッピングされるコードの存在するか否かを確認するヒットフラグ(Hit Flag)を格納する。
例えば、本発明の一実施形態に係るシンボル値はハフマンコードに対応する値であり、サフィックス長は実際ハフマンコードのサフィックス長を意味する。
本発明の一実施形態に係るマッピングテーブル格納部930に格納されたデータは、前述した図5Bに示す「00011」のようなコード処理に容易である。
例えば、図5Bに示されたプレフィックスは3ビットであり、サフィックスも3ビットであるため「000110」と「000111」コードの全てにマッピングされてもよい。しかし、コードは実際に2ビットであるため上記のような情報がマッピングテーブルに存在しなければならない。
本発明の一実施形態に係るヒットフラグはエスケープコードを処理するためのものであり、エスケープコードは、一般的なハフマン方式に従わないため、別途の処理を行うことが好ましい。本発明の一実施形態に係る復号化装置はエスケープコードがある場合、マッピングテーブルにエスケープコードが存在するか否かを確認し得るヒットフラグを格納しておく。
例えば、本発明の一実施形態に係る復号化装置は、それぞれのインストラクション信号に対して格納される値を下記のように設定してもよい。
本発明の一実施形態によれば、テーブル配列格納部910の非プレフィックス長は3であり、サフィックス長も3であってもよく、プレフィックス格納部920は、テーブルに対するプレフィックスが「0」または「000」であるために「10」及び「1000」を格納してもよく、マッピングテーブル格納部930のシンボル値とサフィックス長は、図6に示すtotal_zeroとSuffix lengthに対応してもよい。
本発明の一実施形態に係るシンボル抽出部は、テーブル配列格納部910及びプレフィックス格納部920からテーブル番号に対応するパラメータをロードし、前記パラメータに基づいて抽出されたプレフィックスからマッピングテーブルのアドレスを算出してシンボル値及び前記シンボルの長さを抽出する。
本発明に係る実施形態は、多様なコンピュータ手段によって行うことができるプログラム命令の形態で実現されても良く、かかるプログラム命令は、コンピュータ読み出し可能媒体に記録されてもよい。記録媒体は、プログラム命令、データファイル、データ構造などを単独または組み合わせたものを含んでもよい。前記記録媒体及びプログラム命令は、本発明の目的のために特別に設計して構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり使用可能なものであってもよい。
上述したように本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
したがって、本発明の範囲は、開示された実施形態に限定されて定められるものではなく、特許請求の範囲及び特許請求の範囲と均等なものなどによって定められるものである。
110 テーブル格納部
120 受信部
130 シンボル抽出部
140 テーブル生成部
150 ビット演算部

Claims (16)

  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項に記載の方法を実行させるプログラムを記録したコンピュータで読み取り可能な記録媒体。
JP2013037312A 2012-03-05 2013-02-27 復号化装置及び方法 Expired - Fee Related JP6249608B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0022338 2012-03-05
KR1020120022338A KR101843087B1 (ko) 2012-03-05 2012-03-05 디코딩 장치 및 방법

Publications (2)

Publication Number Publication Date
JP2013187904A JP2013187904A (ja) 2013-09-19
JP6249608B2 true JP6249608B2 (ja) 2017-12-20

Family

ID=47845747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013037312A Expired - Fee Related JP6249608B2 (ja) 2012-03-05 2013-02-27 復号化装置及び方法

Country Status (5)

Country Link
US (1) US8674857B2 (ja)
EP (1) EP2637407A1 (ja)
JP (1) JP6249608B2 (ja)
KR (1) KR101843087B1 (ja)
CN (1) CN103312338B (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2521828A (en) 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
US11509328B2 (en) * 2018-05-31 2022-11-22 Microsoft Technology Licensing, Llc Computer data compression utilizing multiple symbol alphabets and dynamic binding of symbol alphabets
CN109299112B (zh) * 2018-11-15 2020-01-17 北京百度网讯科技有限公司 用于处理数据的方法和装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253078A (en) 1990-03-14 1993-10-12 C-Cube Microsystems, Inc. System for compression and decompression of video data using discrete cosine transform and coding techniques
KR0171819B1 (ko) 1991-03-30 1999-03-20 강진구 비디오 신호 엔코딩 및 디코딩 회로
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
JPH05152973A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 可変長符号復号器
JPH06152988A (ja) * 1992-11-02 1994-05-31 Sharp Corp 可変長符号の復号化装置
KR950010425B1 (ko) * 1993-09-11 1995-09-16 국방과학연구소 코드분류에 의한 병렬처리 가변장 부호 복호기
US5604499A (en) * 1993-12-28 1997-02-18 Matsushita Electric Industrial Co., Ltd. Variable-length decoding apparatus
KR100194205B1 (ko) 1996-11-15 1999-06-15 윤종용 개선된 호프만 디코딩방법, 디코딩 타임 테이블 및 그 테이블 작성방법
US5825312A (en) * 1996-11-25 1998-10-20 Xerox Corporation DX JPEG Huffman decoder
US6570924B1 (en) 1998-11-20 2003-05-27 Interval Research Corp Low cost video compression using fast, modified Z-coding of wavelet pyramids
US7020327B2 (en) * 2000-05-09 2006-03-28 Colorzip Media, Inc. Machine readable code image and method of encoding and decoding the same
US6563440B1 (en) * 2001-10-19 2003-05-13 Nokia Corporation Apparatus and method for decoding Huffman codes using leading one/zero string length detection
JP2003309471A (ja) 2002-04-15 2003-10-31 Fujitsu Ltd 可変長符号データ復号装置および復号方法
JP4537089B2 (ja) * 2003-04-01 2010-09-01 キヤノン株式会社 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2008141278A (ja) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd 復号回路
CN101051845A (zh) * 2007-05-09 2007-10-10 上海广电(集团)有限公司中央研究院 一种快速提取比特流哈夫曼解码方法
CN101072034B (zh) * 2007-06-12 2010-06-02 华为技术有限公司 一种变长解码方法及其装置
US7642935B2 (en) 2008-04-07 2010-01-05 Mediatek Inc. Huffman decoding method and apparatus
TWI343192B (en) 2009-06-12 2011-06-01 Ind Tech Res Inst Decoding method
KR101030726B1 (ko) 2009-11-26 2011-04-26 명지대학교 산학협력단 확률적 테이블에 의해 생성된 심볼을 기반으로 호프만 테이블을 적용한 메모리 효율이 개선된 멀티미디어용 호프만 디코딩 방법 및 장치
GB201014347D0 (en) 2010-08-28 2010-10-13 Lu Mingying Huffman code table transform and parrallel Huffman decoding

Also Published As

Publication number Publication date
CN103312338A (zh) 2013-09-18
KR101843087B1 (ko) 2018-03-28
EP2637407A1 (en) 2013-09-11
US20130229292A1 (en) 2013-09-05
KR20130101305A (ko) 2013-09-13
US8674857B2 (en) 2014-03-18
JP2013187904A (ja) 2013-09-19
CN103312338B (zh) 2018-05-29

Similar Documents

Publication Publication Date Title
US11258459B2 (en) Methods and apparatus to parallelize data decompression
MX2023010006A (es) Metodo y aparato de codificacion de datos de imagen y metodo y aparato de decodificacion de datos de imagen.
US7970215B2 (en) Automatic generation of compact code tables
US7375660B1 (en) Huffman decoding method
JP6249608B2 (ja) 復号化装置及び方法
Chang et al. Data hiding for vector quantization images using mixed-base notation and dissimilar patterns without loss of fidelity
Xue et al. An optimized data hiding scheme for deflate codes
US20160092492A1 (en) Sharing initial dictionaries and huffman trees between multiple compressed blocks in lz-based compression algorithms
US20090074314A1 (en) Decoding variable lenght codes in JPEG applications
US8018359B2 (en) Conversion of bit lengths into codes
US20130002458A1 (en) Variable-length code decoding apparatus, decoding system, and variable-length code decoding method
US8854234B1 (en) Decompression circuit and associated decompression method
JP2016052046A (ja) 圧縮装置、伸長装置およびストレージ装置
US20150280737A1 (en) Compression ratio for a compression engine
Rahmani et al. A low distortion reversible data hiding scheme for search order coding of VQ indices
KR101367811B1 (ko) 데이터 압축/해제장치 및 방법
JP2016134808A (ja) データ圧縮プログラム、データ復元プログラム、データ圧縮装置、及びデータ復元装置
KR101268934B1 (ko) 데이터 압축/해제장치 및 방법
JP2005269184A (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
JP6280266B2 (ja) 復号装置、及び復号方法
JP2014116835A (ja) 復号装置、符号化装置、復号方法、及び符号化方法
JP2010258927A (ja) 符号データ処理装置、方法及びプログラム
JP2010171518A (ja) 復号化装置、半導体集積回路及びデジタルカメラ並びに復号化方法
JP2018046518A (ja) データ処理装置及びデータ処理方法
KR20120118258A (ko) 복수 호프만 테이블을 적용하여 고속 처리가 가능한 멀티미디어용 호프만 디코딩 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170307

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170531

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171121

R150 Certificate of patent or registration of utility model

Ref document number: 6249608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees