JPH07170197A - 可変長符号の復号化テーブル自動生成方法 - Google Patents

可変長符号の復号化テーブル自動生成方法

Info

Publication number
JPH07170197A
JPH07170197A JP34186893A JP34186893A JPH07170197A JP H07170197 A JPH07170197 A JP H07170197A JP 34186893 A JP34186893 A JP 34186893A JP 34186893 A JP34186893 A JP 34186893A JP H07170197 A JPH07170197 A JP H07170197A
Authority
JP
Japan
Prior art keywords
node
code
decoding
child
address
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.)
Pending
Application number
JP34186893A
Other languages
English (en)
Inventor
Sadafumi Araki
禎史 荒木
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP34186893A priority Critical patent/JPH07170197A/ja
Publication of JPH07170197A publication Critical patent/JPH07170197A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【目的】 符号ビット数の少ないものから順にソーティ
ングされた事象及びその事象に対応する符号ビット数デ
ータを入力事象データとして、符号の木で表現できるよ
うな瞬時に復号可能な可変長符号化データの復号を高速
に行うための復号化テーブルを自動生成する。 【構成】 まず復号に際し最初に取り込むべき符号ビッ
ト数を復号化テーブルに書き込み、次に符号の木の
“根”を着目節点とし、当該着目節点の“子”が“葉
(終端節点)”か中間節点かを判定し、“葉”ならばそ
れに対応する事象値を返すような復号終了命令を復号化
テーブルに書き込み、中間節点ならば復号に際し次にア
クセスすべきアドレス及び取り出すべき符号ビット数を
返すような復号継続命令を復号化テーブルに書き込んで
当該“子”を新たな着目節点とみなして再帰的に以上の
動作を繰り返す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は可変長符号の復号化テー
ブル自動生成方法に係り、詳細には、符号の木で表現で
きる瞬時に復号可能な可変長符号の復号化テーブルを自
動生成するための方法に関する。ファクシミリや電子フ
ァイリング等で、画像の符号化に用いられる適応離散コ
サイン変換に関し、画像の符号・復号化回路におけるハ
フマン復号化テーブル作成部。
【0002】
【従来の技術】符号の木で表現できるような瞬時に復号
可能な可変長符号の代表的なものにハフマン符号があ
る。このハフマン符号は、入力事象データの発生頻度に
応じて、頻度の多い事象には短い符号を、少ない事象に
は長い符号を割り当て、全体として平均符号長が最短と
なるような可変長符号である。ハフマン符号を、ソーテ
ィングされた事象及びその事象に対応する符号ビット数
データを基に構成する方法が文献:JPEG Tech
nical Specification Revis
ion 8(1990年8月)に記載されている。この
文献では、自然静止画像符号化の国際標準化案(適応離
散コサイン変換)における、ハフマン復号化テーブルの
表現法が示されている。そこでは、復号表メモリの各番
地がそれぞれ事象(コサイン変換後のDC成分のの予測
誤差をPCM符号化したときのビット数、または、AC
成分の量子化値が“0”のランレングスとその次の
“0”でない量子化値をPCM符号化したときのビット
数からなる2次元事象)に対応し、各事象の符号化デー
タ、符号ビット数及び事象の値そのもの、が格納されて
いる。
【0003】この復号化テーブルの生成は次ようになさ
れている。既に全事象が符号ビット数に従ってソーティ
ングされており、ビット数の小さい事象から順に符号を
割り当てていく。各メモリ番地には、対応する事象の符
号ビット数と、事象の値そのものがとが既に格納されて
いる。まず、最初の事象に対応するメモリ番地の符号化
データを表す部分の全ビットを“0”とする。以下、着
目している事象の1つ前の事象の符号化データに“1”
を加え、さらにもし符号ビット数が直前の事象よりも増
えた場合はその増えたビット数分だけ符号化データを左
(上位)へビットシフトしたものを着目している事象の
符号データとする。
【0004】この方法では符号の構成だけでなく同時に
復号化テーブルの生成も行っているので、そのまま用い
てもよいが、これで作った復号化テーブルで復号を行う
場合、圧縮された画像データ列に対し、復号化テーブル
の最初の番地から順番に符号化データを見つけ出さねば
ならず、復号に非常に時間がかかるという問題がある。
【0005】そこで、より効率よく復号ができるような
復号化テーブルの利用が望まれる。まず、上記文献に記
載された方法を詳しく検討する。前記したように、ま
ず、各事象について符号ビット数のみを先に求め、それ
をビット数の少ない順にソーティングしておく。最初の
事象のビット数(即ち最小符号ビット数)がnビットの
場合、最初の事象には“00・・・00”(“0”がn
ビット連続している)という符号が割り当てられる。そ
して、2番目の事象からは前記したように、直前の事象
の符号化データに“1”を加え、もし符号ビット数が増
えればその増えた分だけ符号化データを上位へビットシ
フトする(増えた分だけ符号の末尾に“0”を付け加え
るのと同義)。
【0006】このようにすると、符号がもし最大符号ビ
ット数以下の長さならば最大ビット数に等しくなるまで
符号に続けて“0”を付加したものを2進数とみなした
値、また、符号が最大符号ビット数に等しい長さならば
それをそのまま2進数とみなした値、がソーティング順
に対して増加するような可変長符号となる。これを、木
の各節点につき、左の枝が符号“0”、右の枝が符号
“1”にそれぞれ対応するような符号の木に対応づける
と次のようになる。まず、“00・・・00”を表す節
点に最初の事象を対応させ、以下、符号の木を右へ進み
ながら、各事象につき符号ビット数と同じ深さの節点に
その事象を対応させていく。
【0007】図1,2にこの具体例を示す。図1の“p
oint”はソーティングの際の通し番号、“huff
tab[point].value”事象の値(ここで
は便宜上アルファベット大文字で表している)、“hu
fftab[point].size”は符号ビット
数、“hufftab[point].code”は符
号化データ(2進法表記)を示す。図2はこの場合の符
号の木である。ここでは、各“葉”には対応する“po
int”及び事象の値が、それ以外の節点(“根”及び
中間節点)には木を構成するときの順番に従った通し番
号が記されている。図2の木を用いた場合の復号の手順
は次のとおりである。“根(節点0)からスタートし、
入力符号列を1ビツトずつ解釈しながら、もし、“0”
であれば左の“子”へ、“1”であれば右の“子”へ進
むということを繰り返し、“葉”に達したらそこに書い
てある値を復号事象の値とするのである。
【0008】この様な復号手順を実現するための復号化
テーブルを自動生成するために、本願出願人は、特開平
3−220870号公報において次のような復号化テー
ブルを提案している。即ち、復号表メモリの各番地がそ
れぞれ符号の木の節点に対応し、“葉”に対応する番地
には復号終了命令として対応する事象値を格納し、中間
節点に対応する番地には復号継続命令として復号に際し
次にアクセスすべきアドレス及び取り出すべき符号ビッ
ト数を格納する。前記の出願依頼書では、符号の木の各
節点を“根”から順に探索していきながらこのような復
号化テーブルを自動生成するものである。
【0009】
【発明が解決しようとする課題】しかし、この方法では
符号の木のある節点に着目したとき、その節点の“子”
を探索する順番と、各“子”に対応する復号終了命令ま
たは復号継続命令を復号化テーブルに書き込む順番との
対応が明確でないため、適切な復号化テーブルが生成で
きないという問題があった。そこで、本発明はこのよう
な課題を解決するためになされたもので、符号ビット数
の少ないものから順にソーティングされた事象及びその
事象に対応する符号ビット数データを入力事象データと
して、符号の木で表現できるような瞬時に復号可能な可
変長符号化データの復号を高速に行うための復号化テー
ブルを自動生成することが可能な可変長符号の復号化テ
ーブル自動生成方法を提供することを第1の目的とす
る。すなわち、前述の“hufftab[poin
t].value”及び“hufftab[poin
t].size”のみを入力事象データとして、上述の
ような復号手順を実現するような適切な復号化テーブル
の一般的な自動生成法を与えることにある。
【0010】また、本発明の第2の目的は、“huff
tab[point].value”及び“hufft
ab[point].size”のみを入力事象データ
として、復号化を高速に行うことができる適切な複合化
テーブルの自動生成方法を提供することにある。本発明
の第3の目的は、可変長符号の復号化テーブル自動生成
方法において、符号の木の探索において着目している節
点の“子”が、“葉”か中間節点かを判定法を提供する
ことにある。本発明の第4の目的は、可変長符号の復号
化テーブル自動生成方法において、各節点の“子”また
は“子”の“子孫”に含まれる“葉”の数の判定法を提
供することにある。本発明の第5の目的は、可変長符号
の復号化テーブル自動生成方法において、復号化テーブ
ル自動生成のときに、入力符号ビツトの場合分けに応じ
たそれぞれの命令を書き込むべきアドレスや、復号継続
命令を書き込むとき、復号の際に次に飛ぶべきアドレス
(即ち、次の命令を書くアドレス)を明確にするための
アドレス情報を求める方法を提供することにある。請求
項6記載の目的は、可変長符号の復号化テーブル自動生
成方法において、“hufftab[point].v
alue”及び“hufftab[point].si
ze”のデータのソーティング順(符号の木の節点の探
索順に対応)と、ある着目節点の複数の“子”に対応す
る各命令を復号化テーブルに書き込む順番との関係が明
確にするための、順番の対応関係を明確にして復号化テ
ーブルを自動生成する方法を提供することにある。
【0011】
【課題を解決するための手段】請求項1記載の可変長符
号の復号化テーブル自動生成方法では、符号ビット数の
少ないものから順にソーティングされた事象及びその各
事象に対応する各符号ビット数データを基にして、当該
ソーティングされた各事象に対応する各符号について、
符号がもし最大符号ビット数以下の長さならば最大ビッ
ト数に等しくなるまで符号に続けて“0”を付加したも
のを2進数とみなした値、また、符号が最大符号ビット
数に等しい長さならばそれをそのまま2進数とみなした
値、がソーティング順に対して増加し、かつ、符号の木
で表現できるような瞬時に復号可能な可変長符号の復号
化テーブルを自動生成する方法に関し、その復号化テー
ブルは連続して入力される可変長符号化データの先頭か
ら適当なビット数ずつ取り出したビット列の結果により
選択される複数の命令を持つような復号化テーブルの自
動生成方法において、まず復号に際し最初に取り込むべ
き符号ビット数を復号化テーブルに書き込み、次に符号
の木の“根”を着目節点とし、当該着目節点の“子”が
“葉(終端節点)”か中間節点かを判定し、“葉”なら
ばそれに対応する事象値を返すような復号終了命令を復
号化テーブルに書き込み、中間節点ならば復号に際し次
にアクセスすべきアドレス及び取り出すべき符号ビット
数を返すような復号継続命令を復号化テーブルに書き込
んで当該“子”を新たな着目節点とみなして再帰的に以
上の動作を繰り返す、ことによって前記第1の目的を達
成する。
【0012】請求項2記載の発明では、請求項1記載の
可変長符号の復号化テーブル自動生成方法において、あ
る節点を着目節点としたとき、当該着目節点の“子孫”
に含まれる事象の中で符号ビット数が最小である事象に
対応する節点及び当該節点と深さの等しい節点を全て前
記着目節点に直結し、これら直結した節点を当該着目節
点の新たな“子”とみなす、ことによって前記第2の目
的を達成する。請求項3記載の発明では、請求項1また
は請求項2記載の可変長符号の復号化テーブル自動生成
方法において、着目節点の“子”または“子”の“子
孫”に含まれる“葉”の数が1個ならば当該“子”を
“葉”と判定し、2個以上ならば当該“子”を中間節点
と判定する、ことによって前記第3の目的を達成する。
請求項4記載の発明では、請求項1から請求項3の可変
長符号の復号化テーブル自動生成方法において、ある節
点を着目節点としたとき、符号の木の各“葉”につい
て、それぞれ対応する事象の符号ビット数から前記着目
節点の“子”の符号の木における深さを引いた値を2に
乗じた値の逆数を、当該“葉”の“重み”とし、符号ビ
ット数の少ないものから順にソーティングされた事象デ
ータを基にして、事象のソーティング順に従ってそれぞ
れ対応する“葉”をカウントしながらその“重み”を加
算していき、その和が“1”となるまでにカウントされ
た“葉”の数を、前記着目節点の“子”または“子”の
“子孫”に含まれる“葉”の数と判定する、ことによっ
て前記第4の目的を達成する。請求項5記載の発明で
は、請求項1または請求項2記載の可変長符号の復号化
テーブル自動生成方法において、ある節点を着目節点1
としたとき、当該着目節点1の各“子”に対応する復号
終了命令または復号継続命令を、復号化テーブルのある
指定された終端アドレスの次のアドレスから順に書き込
むのに必要なアドレス数をこれら“子”の数より算出
し、前記指定されたアドレスにこの必要なアドレス数を
加えた値を新たな終端アドレスとし、中間節点である
“子”の中で最初に探索する“子1”に対応する復号継
続命令内に記述する復号化の際の次にアクセスすべきア
ドレスを当該終端アドレスの次のアドレスとし、“子
1”を次の着目節点2として再帰的に復号化テーブルを
生成する際に当該終端アドレスの次のアドレスから復号
終了命令または復号継続命令を書き込み、“子1”の
“子孫”に対応する最後の復号終了命令を書き込んだア
ドレスを新たな終端アドレスとし、以下、前記着目節点
1の全ての中間節点である“子”に対して同様の動作を
繰り返す、ことによって前記第5の目的を達成する。請
求項6記載の発明では、請求項1、請求項2、または請
求項5記載の可変長符号の復号化テーブル自動生成方法
において、ある節点を着目節点としたとき、当該着目節
点の“子”に関し、符号ビット数の少ないものから順に
ソーティングされた事象データを基にして、事象のソー
ティング順に従ってそれぞれ対応する“子”を探索す
る、ことによって前記第6の目的を達成する。
【0013】
【実施例】以下本発明の可変長符号の復号化テーブル自
動生成方法における好適な実施例について、図面を参照
して詳細に説明する。図2に示す符号の木を基に復号を
するには符号を“1ビットずつ”解釈しなくてはなら
ず、時間がかかるという問題があるので、図3のような
手順で書き換える。まず、図2の“根(節点0)”に着
目すると、これを基準とした深さ2未満の“葉”はない
ということがわかる。そこで、深さ1の中間節点(節点
1,2)を消し、深さ2の中間節点(節点3,4)及び
“葉(節点A,B)”を直接“根(節点0)”につな
ぐ。以下、節点3,4をそれぞれ基準として同様のこと
を繰り返していく。
【0014】図3が図2と大きく違う点は、図2では
“葉”を除く全ての節点がそれぞれ2つの“子”をもつ
“二分木”であるのに対し、図3では節点によって
“子”の数が異なる点である。図3を基に復号を行う手
順は次のとおりである、“根(節点1)”からスタート
し、入力符号列から2ビットを取り込んで、もし“0
0”,“01”なら復号事象の値として“A”,“B”
を得、“10”なら節点3へ、“11”なら節点4へそ
れぞれ進む。節点3へ進んだ場合は更に1ビットを取り
込み、節点4へ進んだ場合は更に2ビットを取り込ん
で、以下同様に“葉”に達するまで復号を続ける。これ
をテーブルで表現するのに注意すべき点は、復号の各段
階で何ビットまとめて解釈すべきかを明記する必要があ
ることと、解釈するビット数によって場合分けの数が異
なる(1ビットなら2通り、2ビットなら4通り)、と
いう点である。
【0015】以上の点に留意して考えられた図3に対応
する復号化テーブルが図4である。このテーブルの一般
的構成は次のとおりである。“nビット取り込みアドレ
ス1へ飛べ”(復号継続命令)と書かれたメモリの先頭
アドレスに続いて、2n個のアドレス空間が確保され
る。このアドレス空間には、入力ビット列の2n個のそ
れぞれの場合に対する命令が、“00・・・00”、
“00・・・01”、・・・、“11・・・10”、
“11・・・11”の順(符号の木でいえば左から右の
順)に格納されている。命令の具体的内容は、次に移る
べき節点が中間節点ならば“mビット取り込みアドレス
pへ飛べ”(復号継続命令)であり、アドレスp以下同
様のことが繰り返される。次の節点が“葉”ならば、
“事象はX”(復号終了命令)という命令があって復号
が終了する。以上のように、このテーブルには2種類の
“命令”があるが、これらはフラグビットで区別され
る。
【0015】次に具体的動作について、説明する。ここ
では、図1、2の例によって説明する。図2において、
最小符号ビツト数は“2”なので(“hufftab.
[0].size=2”による)、符号ビツト数が
“2”の事象に対応する節点(節点A,B)及びそれと
同じ深さの節点(節点3,4)を全て“根”(節点0)
に直結する。これを図5に示す。図5で理解されるよう
に、ある節点の“子”または“子孫”に含まれる事象に
対応する“point”(図1参照)の値は連続してい
る。事象は“葉”に対応するので、ある節点の“子”ま
たは“子孫”に含まれる“葉”の数を求めるにはそれに
対応する“point”の最大値と最小値がわかればよ
い。以下、この最大値を“maxp”,最小値を“mi
np”とする。
【0016】まず、“根”(節点0)を着目節点とし、
復号化テーブルの先頭アドレス(アドレス0)に“2ビ
ツト取り込みアドレス1へ飛べ”という復号継続命令を
書き込む。ここでの“2ビツト”というのは、前述の最
小符号ビツト数に対応する。最小符号ビツト数が“2”
なので着目節点(節点0)の“子”の数は“22 =4”
と計算できる。そこで、“子”に対応する部分の復号化
テーブルの記述には4アドレスが必要となることがわか
る。ここまでの段階では、復号化テーブルにはまだアド
レス0にしか命令が書き込まれていないので、“子”を
記述するための復号化テーブルの終端アドレスは“0+
4=4”と計算できる。そこでこの終端アドレスを“e
nad=4”として記憶しておく。
【0017】次に、着目節点の“子”(節点A,B,
3,4)を基準として、その“子”そのもの、または、
“子”の“子孫”に含まれる“葉”の“深さ”を求め
る。これは、“hufftab[point].siz
e−hufftab[0].size”の値を求めるこ
とと等価である。更に、“hufftab[poin
t].size”の値を“hufftab[poin
t].size−hufftab[0].size”に
置き換える。また、各“葉”の前記の“子”(節点A,
B,3,4)に対する“重み”を算出する。“重み”
は、上記の“深さ”を2に乗じたものの逆数である。こ
れを図6に示す。これによると、各“子”(節点A,
B,3,4)に関し、それぞれ子孫に含まれる“葉”
(事象)の重みの総和が“1”となることがわかる。
【0018】さて、図6において、“minp=0”と
おき、そこから“point”の値の小さい順に重みの
和を計算し、それが最初に“1”になった時点での“p
oint”を“maxp”とする。ここでは、“min
p=maxp=0”なので、最初の“子”(節点A)ま
たはその“子孫”に含まれる“葉”(事象)は1個のみ
であることがわかる。各“子”に対応する“命令”は、
“point”の順番(事象のソーティングの順番)に
一致させて書き込む。ここではまだ、復号化テーブルの
アドレス0にしか命令が書き込まれていないので、節点
Aに対応する復号終了命令はアドレス1に書き込まれ
る。アドレス1に“事象はA”という復号終了命令を書
き込んで次へ進む。次は、“minp=0+1=1”と
おいて同様のことを行うが、ここでもやはり“minp
=maxp=1”となるので2番目の“子”(節点B)
も“葉”であり、1番目と同様に復号化テーブルのアド
レス2に“事象はB”という復号終了命令を書き込む。
【0019】次に、“minp=1+1=2”とおいて
同様のことを行う。ここでは“maxp=3”なので、
3番目の“子”(節点3)は“子孫”をもつ中間節点で
あり、その“子孫”に含まれる“葉”(事象)の数は2
個である。また、“point=minp=2”におけ
る深さは“hufftab[2].size=1”なの
で、復号の際に次に取り込むべき符号ビット数は“1”
である。また、前述のように“enad=4”と記憶し
ているので、復号化テーブルのアドレス5から先はまだ
空いていることがわかる。
【0020】そこで、今度はアドレス3に“1ビット取
り込みアドレス5へ飛べ”という命令を書き込む。更
に、節点3を新たな着目節点として以上の動作を再帰的
に繰り返しながら、その“子孫”に対応する部分の復号
化テーブルをアドレス5から先に作成する。そしてその
結果、命令を書き込んだ最終アドレス(この場合は
“6”)を“enad=6”として記憶する。
【0021】次に、次は、“minp=3+1=4”と
おいて“根”を着目節点とした場合の4番目の“子”
(節点4)についてもこれまでと同様のことを行う。そ
の際、“minp=4”かつ“hufftab[4].
size=2”かつ“enad=6”であり、また、節
点3に対応する復号継続命令をアドレス3に書き込んで
いるので、アドレス4に“2ビット取り込みアドレス7
へ飛べ”復号継続命令を書き込む。そして、節点4を新
たな着目節点とみなして、以上の動作を再帰的に繰り返
していきながら、その“子孫”に対応する部分の復号化
テーブルをアドレス7から先に作成していく。上記の動
作により、図4に示した復号化テーブルが作成される。
【0022】
【発明の効果】請求項1記載の可変長符号の復号化テー
ブル自動生成方法によれば、符号ビット数の少ないもの
から順にソーティングされた事象及びその事象に対応す
る符号ビット数データを入力事象データとして、符号の
木で表現できるような瞬時に復号可能な可変長符号化デ
ータの復号を高速に行うための適切な復号化テーブルを
自動生成できる。請求項2記載の可変長符号の復号化テ
ーブル自動生成方法によれば、復号をより高速に行うこ
とができる適切な復号化テーブルを自動生成できる。請
求項3記載の可変長符号の復号化テーブル自動生成方法
によれば、符号の木の探索において着目している節点の
“子”が、“葉”か中間節点かが判定できる。請求項4
記載の可変長符号の復号化テーブル自動生成方法によれ
ば、各節点の“子”または“子”の“子孫”に含まれる
“葉”の数を求めることができる。請求項5記載の可変
長符号の復号化テーブル自動生成方法によれば、 復号
化テーブル自動生成のときに、入力符号ビットの場合分
けに応じたそれぞれの命令を書き込むべきアドレスや、
復号継続命令を書き込むとき、復号の際に次に飛ぶべき
アドレス、即ち、次の命令を書くアドレスを求めること
ができる。請求項6記載の可変長符号の復号化テーブル
自動生成方法によれば、入力データ中の事象のソーティ
ング順(符号の木の節点の探索順に対応)と、ある着目
節点の複数の“子”に対応する各命令を復号化テーブル
に書き込む順番との関係が明確に与えられる。
【図面の簡単な説明】
【図1】自然静止画像符号化の国際標準化案における、
ハフマン復号化テーブルを示す説明図である。
【図2】図1のテーブルに対応する符号の木を示す説明
図である。
【図3】図2に示す符号の木よりも、より復号を高速に
するための符号の木を示す説明図である。
【図4】図3の符号木に対応する復号化テーブルを示す
説明図である。
【図5】図2の符号の木を、符号ビツト数が“2”の事
象に対応する節点及びそれと同じ深さの節点を全て
“根”に直結した符号の木を示す説明図である。
【図6】図5の符号の木における、深さと重みを示す説
明図である。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 符号ビット数の少ないものから順にソー
    ティングされた事象及びその各事象に対応する各符号ビ
    ット数データを基にして、当該ソーティングされた各事
    象に対応する各符号について、符号がもし最大符号ビッ
    ト数以下の長さならば最大ビット数に等しくなるまで符
    号に続けて“0”を付加したものを2進数とみなした
    値、また、符号が最大符号ビット数に等しい長さならば
    それをそのまま2進数とみなした値、がソーティング順
    に対して増加し、かつ、符号の木で表現できるような瞬
    時に復号可能な可変長符号の復号化テーブルを自動生成
    する方法に関し、その復号化テーブルは連続して入力さ
    れる可変長符号化データの先頭から適当なビット数ずつ
    取り出したビット列の結果により選択される複数の命令
    を持つような復号化テーブルの自動生成方法において、 まず復号に際し最初に取り込むべき符号ビット数を復号
    化テーブルに書き込み、次に符号の木の“根”を着目節
    点とし、当該着目節点の“子”が“葉(終端節点)”か
    中間節点かを判定し、“葉”ならばそれに対応する事象
    値を返すような復号終了命令を復号化テーブルに書き込
    み、中間節点ならば復号に際し次にアクセスすべきアド
    レス及び取り出すべき符号ビット数を返すような復号継
    続命令を復号化テーブルに書き込んで当該“子”を新た
    な着目節点とみなして再帰的に以上の動作を繰り返すこ
    とを特徴とする、可変長符号の復号化テーブル自動生成
    方法。
  2. 【請求項2】 ある節点を着目節点としたとき、当該着
    目節点の“子孫”に含まれる事象の中で符号ビット数が
    最小である事象に対応する節点及び当該節点と深さの等
    しい節点を全て前記着目節点に直結し、これら直結した
    節点を当該着目節点の新たな“子”とみなす、 ことを特徴とする請求項1記載の可変長符号の復号化テ
    ーブル自動生成方法。
  3. 【請求項3】 着目節点の“子”または“子”の“子
    孫”に含まれる“葉”の数が1個ならば当該“子”を
    “葉”と判定し、2個以上ならば当該“子”を中間節点
    と判定する、 ことを特徴とする請求項1または請求項2記載の、可変
    長符号の復号化テーブル自動生成方法。
  4. 【請求項4】 ある節点を着目節点としたとき、符号の
    木の各“葉”について、それぞれ対応する事象の符号ビ
    ット数から前記着目節点の“子”の符号の木における深
    さを引いた値を2に乗じた値の逆数を、当該“葉”の
    “重み”とし、符号ビット数の少ないものから順にソー
    ティングされた事象データを基にして、事象のソーティ
    ング順に従ってそれぞれ対応する“葉”をカウントしな
    がらその“重み”を加算していき、その和が“1”とな
    るまでにカウントされた“葉”の数を、前記着目節点の
    “子”または“子”の“子孫”に含まれる“葉”の数と
    判定する、 ことを特徴とする請求項1、請求項2、または請求項3
    記載の、可変長符号の復号化テーブル自動生成方法。
  5. 【請求項5】 ある節点を着目節点1としたとき、当該
    着目節点1の各“子”に対応する復号終了命令または復
    号継続命令を、復号化テーブルのある指定された終端ア
    ドレスの次のアドレスから順に書き込むのに必要なアド
    レス数をこれら“子”の数より算出し、前記指定された
    アドレスにこの必要なアドレス数を加えた値を新たな終
    端アドレスとし、中間節点である“子”の中で最初に探
    索する“子1”に対応する復号継続命令内に記述する復
    号化の際の次にアクセスすべきアドレスを当該終端アド
    レスの次のアドレスとし、“子1”を次の着目節点2と
    して再帰的に復号化テーブルを生成する際に当該終端ア
    ドレスの次のアドレスから復号終了命令または復号継続
    命令を書き込み、“子1”の“子孫”に対応する最後の
    復号終了命令を書き込んだアドレスを新たな終端アドレ
    スとし、以下、前記着目節点1の全ての中間節点である
    “子”に対して同様の動作を繰り返す、 ことを特徴とする請求項1または請求項2記載の、可変
    長符号の復号化テーブル自動生成方法。
  6. 【請求項6】 ある節点を着目節点としたとき、当該着
    目節点の“子”に関し、符号ビット数の少ないものから
    順にソーティングされた事象データを基にして、事象の
    ソーティング順に従ってそれぞれ対応する“子”を探索
    する、 ことを特徴とする請求項1、請求項2、または請求項5
    記載の可変長符号の復号化テーブル自動生成方法。
JP34186893A 1993-12-13 1993-12-13 可変長符号の復号化テーブル自動生成方法 Pending JPH07170197A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34186893A JPH07170197A (ja) 1993-12-13 1993-12-13 可変長符号の復号化テーブル自動生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34186893A JPH07170197A (ja) 1993-12-13 1993-12-13 可変長符号の復号化テーブル自動生成方法

Publications (1)

Publication Number Publication Date
JPH07170197A true JPH07170197A (ja) 1995-07-04

Family

ID=18349374

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34186893A Pending JPH07170197A (ja) 1993-12-13 1993-12-13 可変長符号の復号化テーブル自動生成方法

Country Status (1)

Country Link
JP (1) JPH07170197A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252563A (ja) * 2001-02-23 2002-09-06 Yamaha Corp ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法
JP2002344328A (ja) * 2001-05-21 2002-11-29 Ricoh Co Ltd 復号化装置、プログラム及び可変長符号の復号方法
KR100686354B1 (ko) * 2005-11-16 2007-02-22 엠텍비젼 주식회사 가변 트리를 이용한 허프만 복호화 방법 및 장치
JP2011244447A (ja) * 2010-05-19 2011-12-01 Hon Hai Precision Industry Co Ltd ハフマン木の記憶方法及びアレイでデータデコーディングする方法
US8542137B2 (en) 2010-12-07 2013-09-24 International Business Machines Corporation Decoding encoded data
CN118134056A (zh) * 2024-05-06 2024-06-04 深圳联丰建设集团有限公司 建筑施工智能路径规划方法、装置、设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002252563A (ja) * 2001-02-23 2002-09-06 Yamaha Corp ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法
JP4501288B2 (ja) * 2001-02-23 2010-07-14 ヤマハ株式会社 ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法
JP2002344328A (ja) * 2001-05-21 2002-11-29 Ricoh Co Ltd 復号化装置、プログラム及び可変長符号の復号方法
KR100686354B1 (ko) * 2005-11-16 2007-02-22 엠텍비젼 주식회사 가변 트리를 이용한 허프만 복호화 방법 및 장치
JP2011244447A (ja) * 2010-05-19 2011-12-01 Hon Hai Precision Industry Co Ltd ハフマン木の記憶方法及びアレイでデータデコーディングする方法
US8542137B2 (en) 2010-12-07 2013-09-24 International Business Machines Corporation Decoding encoded data
US8947272B2 (en) 2010-12-07 2015-02-03 International Business Machines Corporation Decoding encoded data
CN118134056A (zh) * 2024-05-06 2024-06-04 深圳联丰建设集团有限公司 建筑施工智能路径规划方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US7408487B2 (en) Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
JP4786796B2 (ja) 周波数領域オーディオ符号化のためのエントロピー符号モード切替え
US7274671B2 (en) Bitwise adaptive encoding using prefix prediction
KR100527891B1 (ko) 허프만 디코딩을 수행하는 방법
JP4501288B2 (ja) ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法
EP0490964A1 (en) DEVICE FOR DATA COMPRESSION.
JP2000315954A (ja) 入力データストリームの圧縮方法とその装置
JPH1065551A (ja) データ圧縮方法
US6987469B2 (en) Method of generating Huffman code length information
JP2007508753A (ja) データ圧縮システム及び方法
US7965206B2 (en) Apparatus and method of lossless coding and decoding
JP2746109B2 (ja) ハフマン符号復号化回路
JPH07170197A (ja) 可変長符号の復号化テーブル自動生成方法
JP2968112B2 (ja) 符号変換方法
JPH07107303A (ja) ハフマン符号の復号化方法
JP2001084707A (ja) 可変長符号の復号方法、復号装置及び可変長符号の復号プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3199292B2 (ja) ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法
JPH06343168A (ja) ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法
JP4093193B2 (ja) データ圧縮方法及びプログラムならびにデータ復元方法及び装置
JP3350385B2 (ja) 符号生成方法および符号化方法
JP2020077969A (ja) 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
JP3565147B2 (ja) 復号装置
Orpaz et al. A study of CodePack: optimizing embedded code space
JP3898717B2 (ja) データ圧縮/復元装置およびデータ圧縮/復元方法