JP2009267813A - ハフマン復号化装置およびハフマン復号化方法 - Google Patents

ハフマン復号化装置およびハフマン復号化方法 Download PDF

Info

Publication number
JP2009267813A
JP2009267813A JP2008115865A JP2008115865A JP2009267813A JP 2009267813 A JP2009267813 A JP 2009267813A JP 2008115865 A JP2008115865 A JP 2008115865A JP 2008115865 A JP2008115865 A JP 2008115865A JP 2009267813 A JP2009267813 A JP 2009267813A
Authority
JP
Japan
Prior art keywords
codeword
bit string
address
word length
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.)
Granted
Application number
JP2008115865A
Other languages
English (en)
Other versions
JP4942698B2 (ja
Inventor
Atsushi Hotta
厚 堀田
Tetsuro Wada
哲朗 和田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2008115865A priority Critical patent/JP4942698B2/ja
Publication of JP2009267813A publication Critical patent/JP2009267813A/ja
Application granted granted Critical
Publication of JP4942698B2 publication Critical patent/JP4942698B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】演算量の少ないハフマン復号化装置およびハフマン復号化方法を提供する。
【解決手段】入力された符号語から所定の語長分のビット列を読み出すビット列読出部2と、ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、ビット列とビット列の語長が属するブロック内の最大符号語である比較符号語との大小関係を比較する比較部5と、比較部5の比較結果に基づき、ビット列とビット列が属するブロック内の最小符号語との差分値を算出する差分計算部8と、最小符号語のアドレスをハフマンテーブルから読出し、当該アドレスと差分値からビット列のアドレスを算出するアドレス計算部9とを備える。
【選択図】図3

Description

この発明は、ハフマン符号の復号化装置および復号化方法に関し、特に演算量の少ない復号処理を行う技術に関するものである。
ハフマン符号化とは、生起確率の高いデータに短い符号を与え、全体の符号情報量を削減する統計的なデータ圧縮技術であり、符号圧縮効率の改善を目的としてMPEG−2 AAC方式をはじめとする各種Audio符号化方式、画像・映像符号化においても適用されている。ハフマン符号化で使用する符号のことをハフマン符号といい、符号化種別ごとに規定値として用意される。このハフマン符号を圧縮前のデータに復元することをハフマン復号処理という。
現在、代表的なハフマン復号の方法として2分木探索法が用いられている。2分木探索法とは、符号化されたストリームからビットを1ビットずつ取り出し、当該ビットが「0」であるか「1」であるかの条件分岐処理を繰り返すことで、最終的に目的の符号語を探索する方法である(例えば、特許文献1参照)。
特開2002−330076号公報
この2分木探索法を用いたハフマン復号化処理を図7および図8を用いて説明する。2分木探索法を用いたハフマン復号化装置は、ハフマンテーブル記憶部101、ビット抽出部102、ビットカウンタ103、2値判定部104、テーブル参照部105、語長抽出部106、比較部107およびインデックス情報抽出部108で構成されている。
ハフマンテーブル記憶部101はハフマンテーブルDを記憶している。 図8に当該ハフマンテーブルDの一例を示す。ハフマンテーブルDは、ハフマンテーブルDの先頭からの参照位置を示すアドレス、ハフマンテーブルDとは別に用意されたハフマン符号に対応するデータを格納したテーブルのインデックス値を示すインデックス、ハフマン符号のビット長を示す語長、ハフマン符号である符号語で構成されており、インデックスが判ればハフマン符号化前の情報を復元することができる。なお、アドレス、インデックスおよび語長は10進数にて表記し、符号語は2進数のMSB(Most Significant Bit)詰めにて表記した。
ビット抽出部102は、ハフマン符号の探索対象ストリームから1ビット抽出する。ビットカウンタ103は、抽出したビット数をカウントアップし、カウントアップしたビット数を「カウンタ」として保持する。カウンタの初期値は「0」としてハフマン復号化処理の前に必ず初期化しておく。2値判定部104は、抽出された1ビットが「0」であるか「1」であるかの判定を行う。
テーブル参照部105は、ハフマンテーブルDを参照して判定結果に合う符号語の探索を行い、探索結果のアドレスを参照アドレスとして更新する。参照アドレスの初期値は「0」であり、ハフマン復号化処理の前に必ず初期化しておく。語長抽出部106は、ハフマンテーブルから参照アドレスの語長を抽出する。比較部107は、カウンタと参照アドレスの語長が一致しているか比較する。インデックス情報抽出部108は、ハフマンテーブルDから参照アドレスのインデックスを抽出する。
次に、2分木探索法を用いたハフマン復号化装置の動作について説明する。この動作の説明では、探索対象のハフマン符号が図8のハフマンテーブルDに含まれ、ハフマンテーブルDに格納されたインデックスの抽出をハフマン符号の探索結果とする。
まず、ビット抽出部102は、ハフマン符号の探索対象ストリームから1ビット抽出し、抽出したビットを2値判定部104に出力すると共に、ビットカウンタ103にカウントアップの指示を出力する。ビットカウンタ103は、カウントアップ指示の入力ごとにカウンタ値を「1」進めてカウントアップ後の値を比較部107に出力する。なお、このビットカウンタ103のカウンタ値はストリームから抽出したビットの総数と同一である。
2値判定部104は、ビット抽出部102から入力されたビットが「0」であるか「1」であるか判定を行い、判定結果をテーブル参照部105に出力する。テーブル参照部105は、ハフマンテーブル記憶部101に記憶されたハフマンテーブルDにおいて参照アドレス以降の符号語から、2値判定部104から入力された判定結果に合う符号語の探索をアドレス順に行い、探索した符号語のアドレスを参照アドレスとして更新し、語長抽出部106およびインデックス情報抽出部108に出力する。語長抽出部106は、ハフマンテーブルDから参照アドレスの語長を抽出し、比較部107に出力する。
比較部107は、ビットカウンタ103から入力されたカウンタ値と、語長抽出部106から入力された語長が一致しているか否か比較を行う。カウンタ値と語長が一致しなかった場合には、探索対象の符号語が見つからなかったものと判断し、ビット抽出部102が探索対象ストリームからさらに1ビット抽出して上述した処理を行う。なお、比較部107における比較結果が一致するまで上述の処理を繰り返す。カウンタ値と語長が一致した場合には、探索対象の符号語が見つかったものと判断し、インデックス情報抽出部108がハフマンテーブルDから参照アドレスに該当するインデックスを抽出し、処理を終了する。
なお、詳細な説明は省略するが、ハフマン符号の探索対象ストリームが「11011010・・・」のビット列であり、図8のハフマンテーブルDである場合のハフマン符号の探索はインデックス=16となる。
しかしながら、従来の2分木探索法を用いた復号化処理では、ハフマン符号の探索対象ストリームから1ビット単位でデータを抽出する処理と、抽出毎に2値判定処理および比較処理の2度の判定処理を必要とするため、目的とするハフマン符号語の語長が長い場合は、これら処理の回数が必然的に多くなり演算量が増加するという課題があった。
この発明は上記のような課題を解決するためになされたもので、ハフマン符号の探索対象ストリームからのデータの読み出し回数および判定処理の回数が少ない、即ち演算量の少ないハフマン復号化装置およびハフマン復号化方法を提供することを目的とする。
この発明に係るハフマン復号化装置は、外部から入力される異なる語長の符号語を復号化するハフマン復号化装置において、前記入力された符号語から所定の語長分のビット列を読み出す読出部と、ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、前記ビット列と前記ビット列の語長が属するブロック内の最大符号語である比較符号語との大小関係を比較する比較部と、前記比較部の比較結果に基づき、前記ビット列と前記ビット列が属するブロック内の最小符号語との差分値を算出する差分計算部と、前記最小符号語のアドレスを前記ハフマンテーブルから読出し、当該アドレスと前記差分値から前記ビット列のアドレスを算出するアドレス計算部とを備えるものである。
この発明によれば、入力された符号語から所定の語長分のビット列を読み出す読出部と、ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、前記ビット列と前記ビット列の語長が属するブロック内の最大符号語である比較符号語との大小関係を比較する比較部と、前記比較部の比較結果に基づき、前記ビット列と前記ビット列が属するブロック内の最小符号語との差分値を算出する差分計算部と、前記最小符号語のアドレスを前記ハフマンテーブルから読出し、当該アドレスと前記差分値から前記ビット列のアドレスを算出するアドレス計算部とを備えるように構成したので、探索対象であるストリームからのデータ読出回数および判定処理回数を低減させることができ、ハフマン復号化処理に必要な演算量を削減することができる。
実施の形態1.
図1は、この発明の実施の形態1に係るハフマン復号化装置の構成を示すブロック図である。実施の形態1に係るハフマン復号化装置は、ハフマンテーブルを格納するハフマンテーブル記憶部1、入力ストリームからビット列を読み出すビット列読出部(読出部)2、語長を保持する語長更新部3、比較符号語を保持する比較符号語更新部4、比較符号語とビット列を比較する比較部5、オフセットアドレスを保持するテーブルA情報抽出部6、ストリームの参照位置を更新するビット列抽出部7、ビット列と最小符号語の差分値を算出する差分値計算部8、探索対象のアドレスを算出するアドレス計算部9および探索対象のインデックスを抽出するインデックス情報抽出部10で構成される。
ハフマンテーブル記憶部1は、ハフマンテーブルAおよびハフマンテーブルBを格納している。図2はこの実施の形態1に係るハフマン復号化装置のハフマンテーブルを示す図であり、図2(a)はハフマンテーブルAを示し、図2(b)はハフマンテーブルBを示している。ハフマンテーブルAは、従来例の説明で用いた図8のハフマンテーブルDにおいて、同一の語長である符号語を一つのブロックと考え、ブロック中で最小の値を取る符号語(以下、最小符号語と称する)、この最小符号語のアドレス、語長、およびブロック中で最大の値を取る符号語(以下、最大符号語と称する)を抽出して同じアドレス列に格納している。図8のハフマンテーブルDでは同一語長で構成されたブロック毎に、アドレス列の色を変えて表示しており、ハフマンテーブルAではこの同一色で示した同一語長の符号語を一つのブロックと考える。
上記手順に基づき作成したハフマンテーブルAの先頭位置からの参照アドレスをオフセットアドレスとし、各アドレス列に対して「0」から順に番号を付与する。なお、最小符号語と最大符号語は、2進数から10進数に変換して記憶する。また、ブロック内に符号語が1つしか存在しない場合には、その符号語を最小符号語および最大符号語とする。ハフマンテーブルBは、図8のハフマンテーブルDからアドレスおよびインデックスのみを抽出して作成したテーブルである。
ビット列読出部2は、外部装置(図示せず)からハフマン符号の探索対象となるストリーム(以下、探索対象ストリームと称する)の入力を受け付ける。また、語長更新部3から入力される語長をビット列抽出部7に出力すると共に、探索対象ストリームから当該語長分のビット列を読み出し10進数に変換して比較部5に出力する。語長更新部3は語長を保持し、その語長の初期値はハフマンテーブルAのオフセットアドレス「0」における語長とする。一方、テーブルA情報抽出部6から入力される語長を新たな語長として更新し、更新結果をビット列読出部2に出力する。
比較符号語更新部4は、比較符号語を保持し、その比較符号語の初期値はハフマンテーブルAのオフセットアドレス「0」における最大符号語とする。一方、テーブルA情報抽出部6から入力される最大符号語を新たな比較符号語として更新し、更新結果を比較部5に出力する。比較部5は、ビット列読出部2から入力されたビット列と、比較符号語更新部4から入力された比較符号語との大小比較を行う。この比較結果に基づきテーブルA情報抽出部6および差分値計算部8を制御する。
テーブルA情報抽出部6は、オフセットアドレスを保持し、そのオフセットアドレスの初期値は「0」とする。一方、比較部5から入力される制御指示に基づきオフセットアドレスを加算し、加算後のオフセットアドレスに対応する語長、最大符号語、最小符号語およびアドレスをハフマンテーブルAから抽出し、抽出した新たな語長を語長更新部3、最大符号語を比較符号語更新部4、最小符号語を差分値計算部8およびアドレスをアドレス計算部9に出力する。
ビット列抽出部7は、ビット列読出部2から入力される語長に対応するビット分のビット列を探索対象ストリームから抽出する。差分値計算部8は、比較部5から入力されるビット列とテーブルA情報抽出部6から入力される最小符号語との差分値(ビット列−最小符号語)を算出し、この差分値をアドレス計算部9に出力する。アドレス計算部9は、テーブルA情報抽出部6から入力されるアドレスと差分値計算部8から入力される差分値を加算して加算値(以下、ターゲットアドレスと称する)を算出し、このターゲットアドレスをインデックス情報抽出部10に出力する。インデックス情報抽出部10は、アドレス計算部9から入力されるターゲットアドレスと同一のアドレスを有するインデックスをハフマンテーブルBから抽出する。
次に、この発明の実施の形態1に係るハフマン復号化装置の動作について説明する。図3はこの発明の実施の形態1に係るハフマン復号化装置の処理動作を示すフローチャートであり、以下このフローチャートに従って説明する。なお、この実施の形態1ではハフマンテーブルAに基づき符号語の探索を行うものとし、ハフマンテーブルAに基づく各情報をそれぞれ語長A、比較符号語A、最大符号語A、最小符号語A、ビット列A、アドレスA、オフセットアドレスA、ターゲットアドレスAとして説明する。
語長更新部3、比較符号語更新部4およびテーブルA情報抽出部6は、それぞれ保持する語長A、比較符号語AおよびオフセットアドレスAを初期化し、語長更新部3は語長Aをビット列読出部2に出力し、比較符号語更新部4は比較符号語Aを比較部5に出力する(ステップST1)。ビット列読出部2は、ステップST1において入力された語長Aをビット列抽出部7に出力し(ステップST2)、さらに外部装置から入力された探索対象ストリームから語長Aビット分のビット列Aを読み出し、10進数に変換して比較部5に出力する(ステップST3)。
比較部5は、ステップST1において入力された比較符号語AとステップST3において入力されたビット列Aの大小関係を比較し、ビット列Aが比較符号語Aより大きい(比較符号語A<ビット列A)か否か判定する(ステップST4)。ステップST4においてビット列Aが大きいと判定された場合には、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルA情報抽出部6に対し、オフセットアドレスAに「1」を加算する指示を出力する(ステップST5)。
テーブルA情報抽出部6は、ステップST5において入力された加算指示に基づき、オフセットアドレスAに「1」を加算し、ハフマンテーブルAから加算後のオフセットアドレス値がオフセットアドレスAの語長A、最大符号語A、最小符号語AおよびアドレスAをそれぞれ、語長更新部3、比較符号語更新部4、差分値計算部8およびアドレス計算部9に出力する(ステップST6)。比較符号語更新部4は、ステップST6において入力された最大符号語Aを比較符号語Aとして更新し、比較部5に出力する(ステップST7)。語長更新部3は、保持している語長をステップST6において入力された語長Aに更新し、ビット列読出部2に出力する(ステップST8)。その後、シーケンスはステップST2の処理に戻り上述した処理を繰り返す。
一方、ステップST4においてビット列Aが比較符号語Aより小さいと判定された場合には、探索対象の符号語が探索中のブロックに存在するものと判断し、ビット列Aを差分値計算部8に出力すると共に、ビット列抽出部7に対して探索対象ストリームから語長Aビット分のビット列を抽出する指示を出力する(ステップST9)。ビット列抽出部7は、ステップST9において入力された抽出指示に基づき、語長Aビット分のビット列を探索対象ストリームから抽出する(ステップST10)。なお、ステップST10の抽出処理は次のハフマン符号探索のためにストリームの参照位置を更新するために行うもので、抽出したビット列は以降の処理において必要としない。
差分値計算部8は、ステップST9において入力されたビット列AとステップST6においてテーブルA情報抽出部6から入力された最小符号語Aの差分値Aを算出し、この差分値Aをアドレス計算部9に出力する(ステップST11)。アドレス計算部9は、ステップST11において入力された差分値AとステップST6において入力されたアドレスAを加算してターゲットアドレスAを算出し、インデックス情報抽出部10に出力する(ステップST12)。インデックス情報抽出部10は、ステップST12において入力されたターゲットアドレスAのインデックスをハフマンテーブルBから抽出し(ステップST13)、処理を終了する。
次に、この実施の形態1に係るハフマン復号化装置の具体的な処理動作を、図2に示すハフマンテーブルA,Bおよび図3のフローチャートを用いて説明する。なお、探索すべきハフマン符号は図8のハフマンテーブルDに含まれるものとし、図8のハフマンテーブルDに基づくハフマンテーブルA(図2(a)参照)およびハフマンテーブルB(図2(b)参照)が予め作成され、ハフマン符号の探索対象ストリームは「11011010・・・」のビット列であるものとする。
語長更新部3は保持する語長Aを「1」に、比較符号語更新部4は保持する比較符号語Aを「0」に、テーブルA情報抽出部6は保持するオフセットアドレスAを「0」にそれぞれ初期化し、語長Aをビット列読出部2に、比較符号語Aを比較部5に出力する(ステップST1)。ビット列読出部2は、ステップST1において入力された語長A(=1)をビット列抽出部7に出力する(ステップST2)。さらに、探索対象ストリームから語長A(=1)ビット分のビット列A(=1)を読出し、10進数に変換(ビット列A(=1))して比較部5に出力する(ステップST3)。
比較部5は、ステップST1において入力された比較符号語A(=0)とステップST3において入力されたビット列A(=1)の大小関係を比較し、ビット列Aが比較符号語Aより大きいか否か判定する(ステップST4)。この場合には、ビット列A(=1)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルA情報抽出部6に対し、オフセットアドレスA(=0)に「1」を加算する指示を出力する(ステップST5)。
テーブルA情報抽出部6は、ステップST5において入力された加算指示に基づき、オフセットアドレスAに「1」を加算してオフセットアドレスA(=1)とし、ハフマンテーブルAからオフセットアドレスA(=1)である語長A(=3)、最大符号語A(=5)、最小符号語A(=4)およびアドレスA(=1)をそれぞれ、語長更新部3、比較符号語更新部4、差分値計算部8およびアドレス計算部9に出力する(ステップST6)。
比較符号語更新部4は、ステップST6において入力された最大符号語A(=5)を比較符号語A(=5)として更新し、比較部5に出力する(ステップST7)。語長更新部3は、保持している語長A(=1)をステップST6において入力された語長A(=3)に更新し、ビット列読出部2に出力する(ステップST8)。その後、シーケンスはステップST2の処理に戻る。
ビット列読出部2は、語長更新部3から入力される語長A(=3)をビット列抽出部7に出力し(ステップST2´)、探索対象ストリームから語長A(=3)ビット分のビット列A(=110)を読出し、10進数に変換(ビット列A(=6))して比較部5に出力する(ステップST3´)。
比較部5は、ステップST7において入力された比較符号語A(=5)とステップST3´において入力されたビット列A(=6)の大小関係を比較し、ビット列Aが比較符号合Aより大きいか否か判定する(ステップST4´)。この場合には、ビット列A(=6)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルA情報抽出部6に対し、オフセットアドレスA(=1)に「1」を加算する指示を出力する(ステップST5´)。
テーブルA情報抽出部6は、ステップST5´において入力された加算指示に基づき、オフセットアドレスAに「1」を加算してオフセットアドレスA(=2)とし、ハフマンテーブルAからオフセットアドレスA(=2)である語長A(=4)、最大符号語A(=12)、最小符号語A(=12)およびアドレスA(=3)をそれぞれ、語長更新部3、比較符号語更新部4、差分値計算部8およびアドレス計算部9に出力する(ステップST6´)。
比較符号語更新部4は、ステップST6´において入力された最大符号語A(=12)を比較符号語A(=12)として更新し、比較部5に出力する(ステップST7´)。語長更新部3は、保持している語長A(=3)をステップST6において入力された語長A(=4)に更新し、ビット列読出部2に出力する(ステップST8´)。その後、シーケンスはステップST2の処理に戻る。
ビット列読出部2は、語長更新部3から入力される語長A(=4)をビット列抽出部7に出力し(ステップST2´´)、探索対象ストリームから語長A(=4)ビット分のビット列A(=1101)を読出し、10進数に変換(ビット列A(=13))して比較部5に出力する(ステップST3´´)。
比較部5は、ステップST7´において入力された比較符号語A(=12)とステップST3´´において入力されたビット列A(=13)の大小関係を比較し、ビット列Aが比較符号合Aより大きいか否か判定する(ステップST4´´)。この場合には、ビット列A(=13)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルA情報抽出部6に対し、オフセットアドレスA(=2)に「1」を加算する指示を出力する(ステップST5´´)。
テーブルA情報抽出部6は、ステップST5´´において入力された加算指示に基づき、オフセットアドレスAに「1」を加算してオフセットアドレスA(=3)とし、ハフマンテーブルAからオフセットアドレスA(=3)である語長A(=6)、最大符号語A(=55)、最小符号語A(=52)およびアドレスA(=4)をそれぞれ、語長更新部3、比較符号語更新部4、差分値計算部8およびアドレス計算部9に出力する(ステップST6´´)。
比較符号語更新部4は、ステップST6´´において入力された最大符号語A(=55)を比較符号語A(=55)として更新し、比較部5に出力する(ステップST7´´)。語長更新部3は、保持している語長A(=4)をステップST6において入力された語長A(=6)に更新し、ビット列読出部2に出力する(ステップST8´´)。その後、シーケンスはステップST2の処理に戻る。
ビット列読出部2は、語長更新部3から入力される語長A(=6)をビット列抽出部7に出力し(ステップST2´´´)、探索対象ストリームから語長A(=6)ビット分のビット列A(=110110)を読出し、10進数に変換(ビット列A(=54))して比較部5に出力する(ステップST3´´´)。
比較部5は、ステップST7´´において入力された比較符号語A(=55)とステップST3´´´において入力されたビット列A(=54)の大小関係を比較し、ビット列Aが比較符号合Aより大きいか否か判定する(ステップST4´´´)。この場合には、ビット列A(=54)の方が小さいため、探索対象の符号語が探索中のブロックに存在するものと判断し、ビット列A(=54)を差分値計算部8に出力すると共に、ビット列抽出部7に対して探索対象ストリームから語長A(=6)ビット分のビット列(=54)を抽出する指示を出力する(ステップST9)。
ビット列抽出部7は、ステップST9において入力された抽出指示に基づき、語長A(=6)ビット分のビット列(=54)を探索対象ストリームから抽出する(ステップST10)。差分値計算部8は、ステップST9において入力されたビット列A(=54)とステップST6´´´においてテーブルA情報抽出部6から入力された最小符号語A(=52)の差分値Aを計算(54−52=2)し、この差分値A(=2)をアドレス計算部9に出力する(ステップST11)。
アドレス計算部9は、ステップST11において入力された差分値A(=2)とステップST6´´´においてテーブルA情報抽出部6から入力されたアドレスA(=4)を加算してターゲットアドレスA(4+2=6)を算出し、インデックス情報抽出部10に出力する(ステップST12)。インデックス情報抽出部10は、ハフマンテーブルBからステップST12において入力されたターゲットアドレスA(=6)のインデックス(=16)を抽出し(ステップST13)、処理を終了する。
以上のように、この実施の形態1によれば、ビット列読出部2が探索対象ストリームからブロック毎に語長分のビット列を読み出し、比較部5が読み出したビット列とブロック内の最大符号語との比較を行い、比較結果に基づきアドレス計算部9がビット列とブロック内の最小符号語との差分値をアドレスのオフセット算出に用いるように構成したので、ハフマン符号の探索範囲を絞り込むことができ、探索対象ストリームからのデータ読出回数および判定処理回数を抑制し、さらにアドレス計算が加減算のみで実現することができる。これにより、ハフマン復号処理に必要な演算量を抑制することができる。
実施の形態2.
図4はこの発明の実施の形態2に係るハフマン復号化装置の構成を示すブロック図である。この実施の形態2に係るハフマン復号化装置は、ハフマンテーブル記憶部1、入力ストリームからビット列を読み出すビット列一括読出部(一括読出部)21、比較符号語更新部4、比較部5、オフセットアドレスを保持するテーブルC情報抽出部22、ビット列抽出部7、ビット列と最小拡張符号語の差分値を算出する差分値計算部(第1差分値計算部)8a、最大語長と語長の差分値を算出する差分値計算部(第2差分値計算部)8b、差分値にシフト処理を行うシフト計算部23、アドレス計算部9およびインデックス情報抽出部10で構成される。なお、以下では実施の形態1と同一の構成には図1で使用した符号と同一の符号を付し、説明を省略または簡略化する。
ハフマンテーブル記憶部1は、ハフマンテーブルBおよびハフマンテーブルCを格納している。図5はこの発明の実施の形態2に係るハフマン復号化装置のハフマンテーブルを示す図であり、図5(a)はハフマンテーブルCを示し、図5(b)は従来のハフマンテーブルDを符号拡張したハフマンテーブルD´を示している。ハフマンテーブルD´は、図8のハフマンテーブルDに基づき、テーブル内の最大語長に満たない符号語についてLSB(Least Significant Bit)側、即ち下位ビット側に「0」を挿入して符号拡張を行ったものである。なお、図5(b)において符号拡張を行った部分は太字で記載している。
ハフマンテーブルCは、ハフマンテーブルD´において同一の語長である拡張符号語を一つのブロックと考え、ブロック中で最小の値を取る拡張符号語(以下、最小拡張符号語と称する)、この最小拡張符号語のアドレス、語長、およびブロック中で最大の値を取る拡張符号語(以下、最大拡張符号語と称する)を抽出して同じアドレス列に格納する。図5(b)のハフマンテーブルD´では同一語長で構成されたブロック毎にアドレス列の色を変えて表示しており、ハフマンテーブルCではこの同一色で示した同一語長の符号語を一つのブロックと考える。
上記手順に基づき作成したハフマンテーブルCの先頭位置からの参照アドレスを、オフセットアドレスとして各アドレス列に対して「0」から順に番号を付与する。なお、最小拡張符号語と最大拡張符号語は、2進数から10進数に変換して記憶する。また、ブロック内に拡張符号語が1つしか存在しない場合には、その拡張符号語を最小拡張符号語および最大拡張符号語とする。
ビット列一括読出部21は、探索対象ストリームの入力を受け付け、その探索対象ストリームの最大語長を保持する。その最大語長の初期値はハフマンテーブルCにおいて最大の値をとる語長とする。さらに、探索対象ストリームから当該最大語長ビット分のビット列を読み出し10進数に変換して比較部5に出力する。比較符号語更新部4は、比較符号語を保持し、その比較符号語の初期値はハフマンテーブルCのオフセットアドレス「0」における最大拡張符号語とする。一方、テーブルC情報抽出部22から入力される最大拡張符号語を新たな比較符号語として更新し、更新結果を比較部5に出力する。比較部5は、ビット列一括読出部21から入力されたビット列と比較符号語更新部4から入力された比較符号語との大小比較を行う。この比較結果に基づきテーブルC情報抽出部22および差分値計算部8a,8bを制御する。
テーブルC情報抽出部22は、オフセットアドレスおよび語長を保持し、これらのオフセットアドレスの初期値は「0」およびオフセットアドレス「0」の語長とする。一方、比較部5から入力される制御指示に基づきオフセットアドレスを加算し、加算後のオフセットアドレスに対応する最大拡張符号語、最小拡張符号語、語長およびアドレスをハフマンテーブルCから抽出し、抽出した新たな最大拡張符号語を比較符号語更新部4、最小拡張符号語を差分値計算部8a、語長をビット列抽出部7と差分値計算部8b、およびアドレスをアドレス計算部9に出力する。ビット列抽出部7は、ビット列一括読出部21から入力される語長に対応するビット分のビット列を探索対象ストリームから抽出する。
差分値計算部8aは、比較部5から入力されるビット列とテーブルC情報抽出部22から入力される最小拡張符号語との差分値a(ビット列−最小拡張符号語)を算出し、シフト計算部23に出力する。差分値計算部8bは、最大語長を保持し、その最大語長の初期値はハフマンテーブルCにおいて最大の値をとる語長とする。その最大語長とテーブルC情報抽出部22から入力される語長との差分値b(最大語長−語長)を算出し、シフト計算部23に出力する。
シフト計算部23は、差分値aに対して、差分値bビット分小さくなる方向にシフト処理を行い、シフト結果をアドレス計算部9に出力する。アドレス計算部9は、テーブルC情報抽出部22から入力されるアドレスとシフト計算部23から入力されるシフト結果を加算して加算値(以下、ターゲットアドレスと称する)を算出し、このターゲットアドレスをインデックス情報抽出部10に出力する。インデックス情報抽出部10は、アドレス計算部9から入力されるターゲットアドレスと同一のアドレスを有するインデックスをハフマンテーブルBから抽出する。
次に、この発明の実施の形態2に係るハフマン復号化装置の動作について説明する。図6はこの発明の実施の形態2に係るハフマン復号化装置の処理動作を示すフローチャートであり、以下このフローチャートに従って説明する。なお、この実施の形態2ではハフマンテーブルCに基づき符号語の探索を行うものとし、ハフマンテーブルCに基づく各情報をそれぞれ語長C、比較符号語C、最大拡張符号語C、最小拡張符号語C、ビット列C、アドレスC、オフセットアドレスC、ターゲットアドレスCとして説明する。
比較符号語更新部4、テーブルC情報抽出部22、ビット列一括読出部21および差分値計算部8bは、それぞれ保持する比較符号語C、オフセットアドレスCおよび語長C、最大語長Cを初期化し、比較符号語更新部4は比較符号語Cを比較部5に出力する(ステップST21)。ビット列一括読出部21は、外部装置から入力された探索対象ストリームから最大語長Cビット分のビット列Cを読出し、10進数に変換して比較部5に出力する(ステップST22)。
比較部5は、ステップST21において比較符号語更新部4から入力された比較符号語CとステップST22においてビット列一括読出部21から入力されたビット列Cの大小関係を比較し、ビット列Cが比較符号語Cより大きいか(比較符号語C<ビット列C)か否か判定する(ステップST23)。ステップST23においてビット列Cが大きいと判定された場合には、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルC情報抽出部22に対し、オフセットアドレスCに「1」を加算する指示を出力する(ステップST24)。
テーブルC情報抽出部22は、ステップST24において入力された加算指示に基づき、オフセットアドレスCに「1」を加算し、ハフマンテーブルCから加算後のオフセットアドレス値がオフセットアドレスCの最大拡張符号語Cを比較符号語更新部4に、最小拡張符号語Cを差分値計算部8aに、語長Cをビット列抽出部7および差分値計算部8bに、アドレスCをアドレス計算部9に出力する(ステップST25)。比較符号語更新部4は、ステップST25において入力された最大拡張符号語Cを比較符号語Cとして更新し、比較部5に出力する(ステップST26)。その後、シーケンスはステップST23の処理に戻り上述した処理を繰り返す。
一方、ステップST23においてビット列Cが比較符号語Cより小さいと判定された場合には、探索対象の符号語が探索中のブロックに存在するものと判断し、ビット列Cを差分値計算部8aに出力すると共に、ビット列抽出部7に対して探索対象ストリームから語長Cビット分のビット列を抽出する指示を出力する(ステップST27)。ビット列抽出部7は、ステップST27において入力された抽出指示に基づき、語長Cビット分のビット列を探索対象ストリームから抽出する(ステップST28)。なお、ステップST28の抽出処理は次のハフマン符号探索のためにストリームの参照位置を更新するために行うものであり、抽出したビット列は以降の処理において必要としない。
差分値計算部8aは、ステップST27において入力されたビット列CとステップST25において入力された最小拡張符号語との差分値Caを算出し、シフト計算部23に出力する(ステップST29)。差分値計算部8bは、最大語長Cと、ステップST25において入力された語長Cとの差分値Cbを算出し、シフト計算部23に出力する(ステップST30)。シフト計算部23は、入力された差分値Caに対して差分値Cbビット分値が小さくなる方向にシフト処理を行い、シフト結果をアドレス計算部9に出力する(ステップST31)。
アドレス計算部9は、ステップST31においてシフト計算部23から入力されたシフト結果とステップST25において入力されたアドレスCを加算してターゲットアドレスCを算出し、インデックス情報抽出部10に出力する(ステップST32)。インデックス情報抽出部10は、ステップST32において入力されたターゲットアドレスCのインデックスをハフマンテーブルBから抽出し(ステップST33)、処理を終了する。
次に、この実施の形態2に係るハフマン復号化装置の具体的な処理動作を、図2(b)および図5(a)に示すハフマンテーブルB,Cおよび図6のフローチャートを用いて説明する。なお、探索すべきハフマン符号は図8のハフマンテーブルDに含まれるものとし、図8のハフマンテーブルDに基づくハフマンテーブルB(図2(b)参照)およびハフマンテーブルC(図5(a)参照)が予め作成され、ハフマン符号の探索対象ストリームは「11011010・・・」のビット列であるものとする。
比較符号語更新部4は保持する比較符号語Cを「0」に、テーブルC情報抽出部22は保持するオフセットアドレスCを「0」および語長Cを「1」に、ビット列一括読出部21および差分値計算部8bが共有して保持する最大語長Cを「8」にそれぞれ初期化し、比較符号語更新部4は比較符号語C(=0)を比較部5に出力する(ステップST21)。ビット列一括読出部21は、外部装置から入力された探索対象ストリームから最大語長C(=8)ビット分のビット列C(=11011010)を読出し、10進数に変換(ビット列C(=218))して比較部5に出力する(ステップST22)。
比較部5は、ステップST21において入力された比較符号語C(=0)とステップST22において入力されたビット列C(=218)の大小関係を比較し、ビット列Cが比較符号語Cより大きいか否か判定する(ステップST23)。この場合には、ビット列C(=218)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルC情報抽出22に対し、オフセットアドレスC(=0)に「1」を加算する指示を出力する(ステップST24)。
テーブルC情報抽出22は、ステップST24において入力された加算指示に基づき、オフセットアドレスCに「1」を加算してオフセットアドレスC(=1)とし、ハフマンテーブルCからオフセットアドレスC(=1)である最大拡張符号語C(=160)を比較符号語更新部4に、最小拡張符号語C(=128)を差分値計算部8aに、語長C(=3)をビット列抽出部7および差分値計算部8bに、アドレスC(=1)をアドレス計算部9に出力する(ステップST25)。比較符号語更新部4は、ステップST25において入力された最大拡張符号語C(=160)を比較符号語C(=160)として更新し、比較部5に出力する(ステップST26)。その後、シーケンスはステップST23の処理に戻る。
比較部5は、ステップST26において入力された比較符号語C(=160)とビット列C(=218)の大小関係を比較し、ビット列Cが比較符号語Cより大きいか否か判定する(ステップST23´)。この場合には、ビット列C(=218)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルC情報抽出22に対し、オフセットアドレスC(=1)に「1」を加算する指示を出力する(ステップST24´)。
テーブルC情報抽出22は、ステップST24´において入力された加算指示に基づき、オフセットアドレスCに「1」を加算してオフセットアドレスC(=2)とし、ハフマンテーブルCからオフセットアドレスC(=2)である最大拡張符号語C(=192)を比較符号語更新部4に、最小拡張符号語C(=192)を差分値計算部8aに、語長C(=4)をビット列抽出部7および差分値計算部8bに、アドレスC(=3)をアドレス計算部9に出力する(ステップST25´)。比較符号語更新部4は、ステップST25´において入力された最大拡張符号語C(=192)を比較符号語C(=192)として更新し、比較部5に出力する(ステップST26´)。その後、シーケンスはステップST23の処理に戻る。
比較部5は、ステップST26´において入力された比較符号語C(=192)とビット列C(=218)の大小関係を比較し、ビット列Cが比較符号語Cより大きいか否か判定する(ステップST23´´)。この場合には、ビット列C(=218)の方が大きいため、探索対象の符号語が探索中のブロックに存在しなかったものと判断し、テーブルC情報抽出22に対し、オフセットアドレスC(=2)に「1」を加算する指示を出力する(ステップST24´´)。
テーブルC情報抽出22は、ステップST24´´において入力された加算指示に基づき、オフセットアドレスCに「1」を加算してオフセットアドレスC(=3)とし、ハフマンテーブルCからオフセットアドレスC(=3)である最大拡張符号語C(=220)を比較符号語更新部4に、最小拡張符号語C(=208)を差分値計算部8aに、語長C(=6)をビット列抽出部7および差分値計算部8bに、アドレスC(=4)をアドレス計算部9に出力する(ステップST25´´)。比較符号語更新部4は、ステップST25´´において入力された最大拡張符号語C(=220)を比較符号語C(=220)として更新し、比較部5に出力する(ステップST26´´)。その後、シーケンスはステップST23の処理に戻る。
比較部5は、ステップST26´´において入力された比較符号語C(=220)とビット列C(=218)の大小関係を比較し、ビット列Cが比較符号語Cより大きいか否か判定する(ステップST23´´´)。この場合には、ビット列C(=218)の方が小さいため、探索対象の符号語が探索中のブロックに存在するものと判断し、ビット列C(=218)を差分値計算部8aに出力すると共に、ビット列抽出部7に対して探索対象ストリームから語長C(=6)ビット分のビット列(=218)を抽出する指示を出力する(ステップST27)。
ビット列抽出部7は、ステップST27において入力された抽出指示に基づき、語長C(=6)ビット分のビット列(=218)を探索対象ストリームから抽出する(ステップST28)。差分値計算値8aは、ビット列C(=218)とステップST25´´においてテーブルC情報抽出部22から入力された最小拡張符号語C(=208)の差分値Caを計算(218−208=10)し、この差分値Ca(=10)をシフト計算部23に出力する(ステップST29)。また、差分値計算部8bは、最大語長C(=8)とステップST25´´においてテーブルC情報抽出部22から入力された語長C(=6)との差分値Cbを計算(8−6=2)し、この差分値Cb(=2)をシフト計算部23に出力する(ステップST30)。
シフト計算部23は、差分値Ca(=10)に対して差分値Cb(=2)ビット分値が小さくなる方向にシフト処理を行い(10>>2=2)、シフト結果(=2)をアドレス計算部9に出力する(ステップST31)。アドレス計算部9は、シフト結果(=2)とアドレスC(=4)を加算してターゲットアドレスC(4+2=6)を算出し、インデックス情報抽出部10に出力する(ステップST32)。インデックス情報抽出部10は、ハフマンテーブルBからステップST32において入力されたターゲットアドレスC(=6)のインデックスC(=16)を抽出し(ステップST33)、処理を終了する。
以上のように、この実施の形態2によれば、ビット列一括読出部21が符号探索ストリームから最大語長分のビット列を1回のみ読み出し、比較部5が読み出したビット列とブロック内の最大拡張符号語との比較を行い、比較結果に基づきアドレス計算部9がビット列とブロック内の最小拡張符号語との差分値を用いてアドレスのオフセット算出を行うように構成したので、ハフマン符号の探索範囲を絞り込むことができ、符号探索ストリームからのデータの読出回数を最大語長分のビット列読出しとストリームの参照位置を更新するために行うビット列抽出の2回に抑制し、判定処理回数を抑制することができる。また、アドレス計算が加減算とシフト演算のみで実現することができる。これらによりハフマン復号処理に必要な演算量を削減することができる。
この発明の実施の形態1に係るハフマン復号化装置の構成を示すブロック図である。 この発明の実施の形態1に係るハフマン復号化装置の動作を示すフローチャートである。 この発明の実施の形態1に係るハフマン復号化装置のハフマンテーブルを構成するデータの例を示す図である。 この発明の実施の形態2に係るハフマン復号化装置の構成を示すブロック図である。 この発明の実施の形態2に係るハフマン復号化装置の動作を示すフローチャートである。 この発明の実施の形態2に係るハフマン復号化装置のハフマンテーブルを構成するデータの例を示す図である。 従来のハフマン復号化装置の構成を示すブロック図である。 従来のハフマン復号化装置のハフマンテーブルを示す図である。
符号の説明
1,101 ハフマンテーブル記憶部、2 ビット列読出部、3 語長更新部、4 比較符号語更新部、5,107 比較部、6 テーブルA情報抽出部、7 ビット列抽出部、8,8a,8b 差分値計算部、9 アドレス計算部、10,108 インデックス情報抽出部、21 ビット列一括読出部、22 テーブルC情報抽出部、23 シフト計算部、102 ビット抽出部、103 ビットカウンタ、104 2値判定部、105 テーブル参照部、106 語長抽出部、A,B,C,D,D´ ハフマンテーブル。

Claims (4)

  1. 外部から入力される異なる語長の符号語を復号化するハフマン復号化装置において、
    前記入力された符号語から所定の語長分のビット列を読み出す読出部と、
    ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、前記ビット列と前記ビット列の語長が属するブロック内の最大符号語である比較符号語との大小関係を比較する比較部と、
    前記比較部の比較結果に基づき、前記ビット列と前記ビット列が属するブロック内の最小符号語との差分値を算出する差分計算部と、
    前記最小符号語のアドレスを前記ハフマンテーブルから読出し、当該アドレスと前記差分値から前記ビット列のアドレスを算出するアドレス計算部とを備えることを特徴とするハフマン復号化装置。
  2. 外部から入力される異なる語長の符号語を復号化するハフマン復号化装置において、
    前記入力された符号語から、ハフマンテーブル内の全ての符号語を最大語長に拡張した拡張ハフマンテーブルにおける当該最大語長分のビット列を読み出す一括読出部と、
    前記拡張ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、所定の語長が属するブロック内の最大拡張符号語である比較符号語と前記ビット列の大小関係を比較する比較部と、
    前記比較部の比較結果に基づき、前記ビット列と前記所定の語長が属するブロック内の最小拡張符号語との第1の差分値を算出する第1差分値計算部と、
    前記最大語長と前記ビット列の語長との第2の差分値を算出する第2差分値計算部と、
    前記第1の差分値を前記第2の差分値を用いて下位にシフトさせるシフト処理部と、
    前記最小拡張符号語のアドレスを前記拡張ハフマンテーブルから読出し、当該アドレスと前記シフト結果から前記ビット列のアドレスを算出するアドレス計算部とを備えることを特徴とするハフマン復号化装置。
  3. 外部から入力される異なる語長の符号語を復号化するハフマン復号化方法において、
    前記入力された符号語から所定の語長分のビット列を読み出す読出ステップと、
    ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、前記ビット列と前記ビット列の語長が属するブロック内の最大符号語である比較符号語との大小関係を比較する比較ステップと、
    前記比較結果に基づき、前記ビット列と前記ビット列が属するブロック内の最小符号語との差分値を算出する差分計算ステップと、
    前記最小符号語のアドレスを前記ハフマンテーブルから読出し、当該アドレスと前記差分値から前記ビット列のアドレスを算出するアドレス計算ステップとを備えることを特徴とするハフマン復号化方法。
  4. 外部から入力される異なる語長の符号語を復号化するハフマン復号化方法において、
    前記入力された符号語から、ハフマンテーブル内の全ての符号語を最大語長に拡張した拡張ハフマンテーブルにおける当該最大語長分のビット列を読み出す一括読出ステップと、
    前記拡張ハフマンテーブルにおける同一語長の符号語を一つのブロックとみなし、所定の語長が属するブロック内の最大拡張符号語である比較符号語と前記ビット列の大小関係を比較する比較ステップと、
    前記比較結果に基づき、前記ビット列と前記所定の語長が属するブロック内の最小拡張符号語との第1の差分値を算出する第1差分値計算ステップと、
    前記最大語長と前記ビット列の語長との第2の差分値を算出する第2差分値計算ステップと、
    前記第1の差分値を前記第2の差分値を用いて下位にシフトさせるシフト処理ステップと、
    前記最小拡張符号語のアドレスを前記拡張ハフマンテーブルから読出し、当該アドレスと前記シフト結果から前記ビット列のアドレスを算出するアドレス計算ステップとを備えることを特徴とするハフマン復号化方法。
JP2008115865A 2008-04-25 2008-04-25 ハフマン復号化装置およびハフマン復号化方法 Expired - Fee Related JP4942698B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008115865A JP4942698B2 (ja) 2008-04-25 2008-04-25 ハフマン復号化装置およびハフマン復号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008115865A JP4942698B2 (ja) 2008-04-25 2008-04-25 ハフマン復号化装置およびハフマン復号化方法

Publications (2)

Publication Number Publication Date
JP2009267813A true JP2009267813A (ja) 2009-11-12
JP4942698B2 JP4942698B2 (ja) 2012-05-30

Family

ID=41393091

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008115865A Expired - Fee Related JP4942698B2 (ja) 2008-04-25 2008-04-25 ハフマン復号化装置およびハフマン復号化方法

Country Status (1)

Country Link
JP (1) JP4942698B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0595292A (ja) * 1991-03-07 1993-04-16 Oki Electric Ind Co Ltd 可変長復号化器
JPH08288858A (ja) * 1995-04-10 1996-11-01 Fuji Xerox Co Ltd 可変長符号復号装置
JP2000244752A (ja) * 1999-02-19 2000-09-08 Canon Inc 復号化装置
JP2002057585A (ja) * 2000-08-07 2002-02-22 Victor Co Of Japan Ltd 復号装置
JP2007104194A (ja) * 2005-10-03 2007-04-19 Akuseru:Kk 復号化システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0595292A (ja) * 1991-03-07 1993-04-16 Oki Electric Ind Co Ltd 可変長復号化器
JPH08288858A (ja) * 1995-04-10 1996-11-01 Fuji Xerox Co Ltd 可変長符号復号装置
JP2000244752A (ja) * 1999-02-19 2000-09-08 Canon Inc 復号化装置
JP2002057585A (ja) * 2000-08-07 2002-02-22 Victor Co Of Japan Ltd 復号装置
JP2007104194A (ja) * 2005-10-03 2007-04-19 Akuseru:Kk 復号化システム

Also Published As

Publication number Publication date
JP4942698B2 (ja) 2012-05-30

Similar Documents

Publication Publication Date Title
US9223765B1 (en) Encoding and decoding data using context model grouping
US20020101367A1 (en) System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US20030012400A1 (en) PPM-based data compression
JP3083730B2 (ja) データ情報を圧縮するためのシステムおよび方法
US7375660B1 (en) Huffman decoding method
JP6686639B2 (ja) 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法
JP6737025B2 (ja) 符号化プログラム、検索プログラム、符号化装置、検索装置、符号化方法、及び検索方法
WO2010108373A1 (zh) 一种对词库压缩编码及解码的方法和系统
US8947272B2 (en) Decoding encoded data
CN114647764B (zh) 图结构的查询方法、装置及存储介质
US20190379393A1 (en) Dynamic dictionary-based data symbol encoding
US11309909B2 (en) Compression device, decompression device, and method
CN103597829A (zh) 对视频量化参数编码的方法和对视频量化参数解码的方法
JP4942698B2 (ja) ハフマン復号化装置およびハフマン復号化方法
JP4327036B2 (ja) 算術符号復号化方法及びその装置
US8018359B2 (en) Conversion of bit lengths into codes
KR20050053996A (ko) 허프만 코드를 효율적으로 복호화하는 방법 및 장치
US20090256730A1 (en) Advanced Lossless Bit Coding
CN115913246A (zh) 基于自适应瞬时熵的无损数据压缩算法
GB2310345A (en) Data coder/decoder for compression
JP4093193B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
CN107896136B (zh) 一种雷达航迹报文编码方法
US7612692B2 (en) Bidirectional context model for adaptive compression
JP4953145B2 (ja) 文字列データ圧縮装置及びその方法並びに文字列データ復元装置及びその方法
US11967975B1 (en) Method and apparatus for recursive data compression using seed bits

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120112

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: 20120131

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120228

R150 Certificate of patent or registration of utility model

Ref document number: 4942698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150309

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees