JPH11163737A - 情報源の符号化及び復号化の高速化装置 - Google Patents

情報源の符号化及び復号化の高速化装置

Info

Publication number
JPH11163737A
JPH11163737A JP36550197A JP36550197A JPH11163737A JP H11163737 A JPH11163737 A JP H11163737A JP 36550197 A JP36550197 A JP 36550197A JP 36550197 A JP36550197 A JP 36550197A JP H11163737 A JPH11163737 A JP H11163737A
Authority
JP
Japan
Prior art keywords
decoding
code
content
arithmetic
code word
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
JP36550197A
Other languages
English (en)
Inventor
Hirobumi Nakamura
博文 中村
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP36550197A priority Critical patent/JPH11163737A/ja
Publication of JPH11163737A publication Critical patent/JPH11163737A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】データ圧縮等に用いられるデジタル符号の復号
化において従来法が行っている符号語表探索や符号木探
索や累積頻度表探索は逐次的であり低速である。また、
算術符号の符号化や復号化では、ハードウエアコストや
計算コストの大きい除算が記号当たり2回使用されてお
り、また、符号語の演算位置の桁移動が低速な逐次的方
法で行われている。 【解決手段】符号化データの復号のために、未復号内容
の値またはそれから演算される値の上位の一定ビット数
の内容をもとに符号語探索または符号木探索または累積
頻度探索のスキップ量を与える機構を設ける。算術符号
の符号化及び復号化のために、同一序数による除算を先
に行う構成の演算機構を設ける。算術符号の符号化及び
復号化のために、符号語範囲を表す複数ビットの情報を
もとに符号語の演算位置の桁移動量を与える機構を設け
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はデータ圧縮等に用い
られるデジタル符号の符号化及び復号化を高速化するた
めの装置に関するものである。
【0002】
【従来の技術】符号化したい記号列のアルファベットサ
イズをKとする。記号もその順序数も同じ表記(例えば
i)を用いる。商を求める演算をdiv、べき乗を求め
る演算を^、左シフト演算を≪、右シフト演算を≫、x
の切り捨てをfloor(x)と表わす。特に算術符号
の説明で以下の記号や用語を用いる。記号i(0≦i<
K)の出現頻度をF(i)、出現頻度の累積値(以下累
積頻度という。)をQ(i)(0≦i≦K)と表わす。
Q(0)=0、Q(i)= F(0)+F(1)+…+
F(i−1)(1≦i≦K)である。Q(K)を単にT
と表わす。F=(F(0),F(1),…,F(K−
1))を出現頻度表、Q=(Q(0),Q(1),…,
Q(K−1),Q(K))を累積頻度表と呼ぶ。以下で
はFやQは整数として話を進めるが、記号の出現確率が
与えられるなど小数をともなう場合も小数点の移動や定
数をかけることにより整数値または固定小数点数に直す
と考えれば、整数のFやQの議論を適用できる。F
(i)(0≦i<K)は必要ならゼロにならないような
処置を講じるものとする。また、例えば岡村:”適応的
多値算術符号の高速化”,信学技法,IT96−31,
1996.に記述されているように、更にQ(K)の値
が2のべき乗の値になるような処置を講じることも計算
コストを下げる上で効果がある。
【0003】データ圧縮等に用いられるデジタル符号の
代表的なものとして、符号化対象記号列の各記号の符号
語を整数ビットで構成するShannon−Fano符
号、Huffman符号、Gilbert−Moore
の符号、Fanoの符号、Golomb符号、ランレン
グス符号などと、符号化対象記号列全体をひとつの符号
語で表す算術符号を挙げることができる。データ圧縮等
において、符号化や復号化において仮定している情報源
モデルのパラメータを符号化や復号化の対象の内容によ
って変化させながら符号化や復号化をする場合は適応的
と呼ばれる。また最初にパラメータを確定した後は変え
ないで符号化や復号化する場合は静的と呼ばれる。適応
的な場合において全体の計算コストを抑えるために、符
号語の決定やこれに関連した処理を、記号の符号化・復
号化ごとではなく間隔を空けて行う方法も用いられてい
る。このような方法は例えば先述の岡村の論文に記述さ
れている。
【0004】符号語が整数ビットの従来の符号の復号化
では、符号木の枝を一段ずつたどるようにして、また
は、符号語表の一つ一つの符号語と照らし合わせなが
ら、線形探索または2分探索によって復号記号を探索し
ている。算術符号の復号化では、線形探索または2分探
索によって累積頻度表の区間を探索し復号記号を決定し
ている。
【0005】典型的な算術符号の従来法、例えばC.
B.Jones:”An Efficient Cod
ing System for Long Sourc
e Sequences”,’IEEE Trans.
Information Theory, Vol.
IT−27, No.3, pp280−291,M
ay 1981.や、I.H.Witten, R.
M.Neal,J.G.Cleary:”Arithm
etic coding for data comp
ression”,CACM, Vol.30, N
o.6, pp520−540, Jun 1987.
に記述されているような方法において、ある時点で符号
語の区間の下限がRl、上界がRh、区間幅がRのと
き、記号iを符号化または復号化した後の符号語の区間
の下限Rl’、上界Rh’、区間幅R’は Rl’=Rl+R×Q(i) div Q(K)、 Rh’=Rl+R×Q(i+1)div Q(K)、 R’=Rh’−Rl’ のように算出されていた。演算桁はR×Q(K)が計算
できる程度必要である。Wittenらの方法では直接
にはRh’でなく、符号語の区間の上限であるRh’−
1を用いている。Jonesの方法ではRh’の値は直
接には必要なく、また、復号化においては常に符号語か
ら既復号化分を差し引くことによってRl’をゼロと考
えることができる。いずれの方法も符号化や復号化にお
いて記号あたり乗算機構を2回、除算機構を2回使用す
る。iを符号化または復号化した後の上界Rh’は、代
わりにi+1を符号化または復号化したと考えた場合の
新しい下限の値に等しい。よってRl’とRh’は同一
あるいは同様の機構で演算することができる。
【0006】算術符号で有限の演算桁数(Wと表す。)
で符号語の演算を続けるために演算桁位置の移動を必要
とする。Jonesの方法ではR’を用いて、Witt
enらの方法ではRl’とRh’−1を用いて、移動桁
数を決定している。いずれも条件判定をしながら1ビッ
トずつシフトしている。演算桁位置の移動を終えたR
l’,Rh’,R’の値は、次の記号の符号化や復号化
を行う際の新たなRl,Rh,Rに相当する。
【0007】
【発明が解決しようとする課題】データ圧縮等に用いら
れるデジタル符号の復号化において従来法が行っている
符号語表探索や符号木探索や累積頻度表探索は逐次的で
あり低速である。計算コストは、例えば線形探索では最
大でO(K)、2分探索ではO(log K)かかる。
【0008】算術符号の符号化や復号化では、ハードウ
エアコストや計算コストの大きい除算が記号当たり2回
使用されている。
【0009】算術符号の符号化や復号化では、符号語の
演算位置の桁移動が低速な逐次的方法で行われている。
【0010】
【課題を解決するための手段】符号化データの復号のた
めに、未復号内容の一定ビット数の上位ビットの内容を
もとに符号語表探索のスキップ量、または、符号木探索
のスキップ量を与える機構を有する復号記号の探索装置
を設ける。
【0011】算術符号の符号化データの復号のために、
未復号内容を累積頻度に換算して得られる値の一定ビッ
ト数の上位ビットの内容をもとに累積頻度表探索のスキ
ップ量を与える機構を有する復号記号の探索装置を設け
る。
【0012】算術符号の符号化と復号化において、同一
序数による除算をまとめて行うために算術符号における
符号語範囲幅Rと出現頻度の総計TからM=R div
Tを演算する機構と、このMと符号語範囲の下限Rl
と記号iの累積頻度Q(i)から新しい符号語範囲の下
限Rl’=Rl+M×Q(i)を演算する機構とを有す
る新しい符号語範囲の下限を演算する装置を設ける。
【0013】算術符号の符号化と復号化において、同一
序数による除算をまとめて行うために情報源アルファベ
ットの全ての記号jについて累積頻度Q(j)と出現頻
度の総計Tと予め決めた定数DよりM(j)=(Q
(j)≪D) div Tを演算する機構と、記号iと
Dと算術符号の符号語範囲の下限Rlと符号語範囲幅R
からRl’=Rl+(R×M(i))≫Dを演算する機
構とを有する新しい符号語範囲の下限を演算する装置を
設ける。
【0014】算術符号の符号化復号化のために、符号語
範囲幅の一定数の上位ビットの内容をもとに符号語範囲
幅のシフト量を与える機構を有する符号語の演算桁位置
の桁移動量を与える装置を設ける。
【0015】算術符号の符号化復号化のために、算術符
号の符号語範囲の下限及び上界の双方の一定数の上位ビ
ットの内容をもとに符号語範囲幅のシフト量を与える機
構を有する符号語の演算桁位置の桁移動量を与える装置
を設ける。
【0016】
【作用】請求項1から3の発明によって、復号記号を得
るための探索のステップ数を減らすことができる。多く
の場合に比較を繰り返すことなく復号記号を得ることが
できる。
【0017】請求項4及び5の発明によって、算術符号
の符号化や復号化において同じ値による除算をまとめて
行うことができる。記号ごとに2回必要であった除算機
構の利用が半分に減らせる。
【0018】請求項6及び7の発明によって、算術符号
の符号化や復号化において符号語演算の桁移動量を知る
ための比較回数を減らすことができる。また桁移動量を
得ることができるため、桁移動に伴うシフト演算をまと
めて行うことができるようになる。
【0019】
【実施例】
【実施例1】請求項1の発明の実施例を、例としてK=
6、記号0から5の出現確率がそれぞれ1/8,1/
2,1/32,1/4,1/32,1/16で、符号語
をハフマン符号で決定した場合で説明する。符号語を辞
書引き順で並べると、例えば記号3,5,4,2,0,
1の順に00,0100,01010,01011,0
11,1(符号語辞書と呼ぶ。)となる。各符号語の長
さはこの順でそれぞれ2,4,5,5,3,1である。
未復号内容の一定の上位複数ビット(Bビットとす
る。)の内容としてありうるすべてのパターン(2のB
乗通りある。)のぞれぞれの場合について、復号され得
る復号記号の中で最小の辞書引き順の順序(この辞書引
き順の順序を例えばゼロから数えることにする。)を求
め記憶しておく。B=3では上位3ビットの内容00
0,001,010,011,100,101,11
0,111(2進数として読むと0から2^B−1であ
る。)に対してそれぞれ0,0,1,4,5,5,5,
5が得られように記憶しておく。この写像関係を仮にf
と表す。
【0020】復号は次の手順で行える。 (1−1):未復号内容の上位Bビットの内容からfに
よって辞書引き順の順序Pを知る。 (1−2):符号語辞書中のP番目以降の符号語で未復
号内容と一致する符号語を探し出す。 (1−3):探し出した符号語に対応する記号(復号記
号である。)を得る。 (1−4):未復号内容から既復号内容を取り除く。 探索装置は(1−1)から(1−3)の処理を行う。
【0021】符号語とともに符号語長も記憶しておく
と、手順(1−2)における符号語辞書中の符号語と未
復号内容との比較で次の点を利用できる。もし符号語辞
書中の比較中の符号語の長さがB以下ならそれが探索す
べき符号語である。なぜなら符号語のパターンは比較す
るまでもなく一致しているためである。また符号語辞書
中の比較中の符号語の長さ(仮にLとする。)がBより
大きいとき、未復号内容と比較すべきビット数L−Bを
知ることができる。なぜならBビットはfを参照したこ
とによって既に比較したことになっているからである。
【0022】例えば記号列1,3,4にあたる未復号内
容10001010は次のように復号される。未復号内
容の上位3ビット100から符号語辞書での探索すべき
位置f(100)=5が得られる。符号語辞書の5番目
の符号語の長さ2はB=3以下なので5番目の符号語が
探索すべき符号語である。これに対応する記号は1で、
これが復号記号である。残りの未復号内容000101
0の上位3ビットからf(000)=0を得る。符号語
辞書の0番目の符号語の長さは2でありB=3以下であ
る。対応する記号3が復号記号である。残りの未復号内
容01010の上位3ビットからf(010)=1を得
る。符号語辞書の1番目の符号語0100の長さは4で
ありB=3より大きい。この符号語と未復号内容のB+
1ビット以降の内容を比較するが一致しない。次の符号
語辞書の2番目の符号語01010の長さは5でありB
=3より大きいこの符号語と未復号内容のB+1ビット
以降の内容を比較すると一致している。対応する記号4
が復号記号である。
【0023】Bが大きいと、手順(1−2)で多くの場
合に一つの符号語に対する比較で復号すべき符号語を得
ることができ、復号記号の探索を早めることができる。
Bの値は例えばlog K程度またはそれ以上の整数を
選ぶ。もし手順(1−2)でいくつもの符号語と比較す
ることがあっても、そのことの全体の復号時間に対する
影響は小さい。なぜなら符号語の長い記号は一般に出現
確率は小さいからである。手順(1−2)での探索は線
形探索以外の方法によってもよい。しかし仮に2分探索
のような高度な探索法を用いても計算コストへの影響は
小さい。
【0024】fの写像関係は符号語が変化したときにだ
け作り変えればよい。その計算コストはO(K)であ
る。静的な場合には記憶機構の記憶内容の決定は最初に
1回行えばよい。適応的な符号化や復号化では、符号語
とfの更新を記号ごとに行うのではなく、間隔をあけて
行うと効果がある。更新の間隔をK個やその数倍にする
辺りから、計算コストはKにあまり依存しなくなる。更
新の間隔が記号の数にしてK個程度よりも小さくても計
算コストには十分な効果がある。
【0025】
【実施例2】請求項2の発明の実施例を、例としてK=
6、記号0から5の出現確率がそれぞれ1/8,1/
2,1/32,1/4,1/32,1/16で、符号木
をハフマン木にした場合で説明する。記号0から5の符
号語は例えばそれぞれ00,0100,01010,0
1011,011,1である。符号語の長さはそれぞれ
2,4,5,5,3,1である。符号木の2K−1=1
1個の節点(K個の葉を含む。)に適当に異なる番号を
付ける。例えば、符号木の根に1を、根からの道程が
0,1,00,01,010,011,0100,01
01,01010,01011の各節点に順にそれぞれ
2から2K−1までの番号を付けることができる。節点
1から11の根からの道程の長さはそれぞれ0,1,
1,2,2,3,3,4,4,5,5である。また節点
2,4,7,8,10,11はそれぞれ記号1,3,
0,5,4,2と対応している。未復号内容の一定の上
位複数ビット(Bビットとする。)の内容としてありう
るすべてのパターン(2のB乗通りある。)のぞれぞれ
の場合について、復号され得る記号の全部が共通に通過
する符号木中の節点を求め記憶しておく。B=3では上
位3ビットの内容000,001,010,011,1
00,101,110,111(2進数として読むと0
から2^B−1である。)に対してそれぞれ4,4,
6,7,3,3,3,3が得られように記憶しておく。
この写像関係を仮にfと表す。
【0026】復号は次の手順で行える。 (2−1):未復号内容の上位Bビットの内容からfに
よって節点Pを知る。 (2−2):Pが葉節点でないなら、未復号内容に従っ
て葉節点に達するまで節点Pから下る。 (2−3):到達した葉節点に対応する記号(復号記号
である。)を得る。 (2−4):未復号内容から既復号内容を取り除く。 探索装置は(2−1)から(2−3)の処理を行う。
【0027】葉節点や記号から参照できるように符号語
長も記憶しておくと手順(2−4)で既復号内容のビッ
ト数を知ることが容易になり、計算コストを下げること
ができる。全ての節点(葉節点を含む。根は除いてもよ
い。)について根からの道程の長さを予め求め節点の番
号から参照できるように記憶しておくと、手順(2−
4)で既復号内容のビット数を知ることが容易になる他
に、手順(2−2)でPが葉節点でない場合において符
号木を下るためにもとにすべき未復号内容のビット位置
を知ることも容易になり、計算コストを下げることがで
きる。
【0028】例えば記号列1,3,4にあたる未復号内
容10001010は次のように復号される。未復号内
容の上位3ビット100から探索を開始すべき節点f
(100)=3が得られる。節点3は葉節点であるので
探索は終わりである。節点3と対応する記号1が復号記
号である。残りの未復号内容0001010の上位3ビ
ットからf(000)=4を得る。節点4は葉節点であ
るので探索は終わりである。節点4と対応する記号3が
復号記号である。残りの未復号内容01010の上位3
ビットからf(010)=6を得る。節点6は葉節点で
はない。節点6から未復号内容をもとに探索を進める。
未復号内容のBビット分を飛ばした後続の内容1をもと
に節点9(根からの道程は0101)へ下る。更に続く
未復号内容0をもとに節点10(根からの道程は010
10。)へ下る。節点10は葉節点であるので探索は終
わりである。節点10と対応する記号4が復号記号であ
る。
【0029】Bが大きいと、手順(2−1)で得られた
節点Pが多くの場合に葉節点を示すので、復号記号の探
索を早めることができる。Bの値は例えばlog K程
度またはそれ以上の整数を選ぶ。もし手順(2−2)で
の繰り返しが多くても、そのことの全体の復号時間に対
する影響は小さい。
【0030】
【実施例3】請求項3の発明の実施例を、例としてK=
6、記号0から5の出現確率がそれぞれ1/8,1/
2,1/32,1/4,1/32,1/16で算術符号
を用いた場合で説明する。出現確率をもとに、例えばT
=32になるように累積頻度表を作成するとQ=(0,
4,20,21,29,30,32)である。0からT
−1までの数を上位Bビットの値Hで分類したと考え、
各Hについて累積頻度の上位BビットがHのときに復号
され得る記号の最小の順序数を求め記憶しておく。例え
ばB=3では上位3ビットの内容000,001,01
0,011,100,101,110,111(2進数
として読むと0から2^B−1である。)に対してそれ
ぞれ0,1,1,1,1,2,3,3が得られように記
憶しておく。この写像関係を仮にfと表す。
【0031】復号は次の手順で行える。 (3−1):既復号の符号語内容が差し引いてある未復
号内容の値eを累積頻度に換算した値の上位Bビットの
内容Hから、P=f(H)を得る。 (3−2):P+1を符号化した場合の符号語の値を演
算して、もしそれがeを越えるならPが復号記号の順序
数である。越えないならP←P+1として(3−2)を
はじめから繰り返す。 (3−3):未復号内容の値から復号記号の符号化内容
を差し引き、演算桁位置を移動する。 探索装置は(3−1)と(3−2)の処理を行う。
【0032】この例のようにT=Q(K)だけは他の累
積頻度の値よりも1ビット表現桁が多く必要になるよう
な数を選んでもよい。また、手順(3−2)でP=K−
1までで繰り返しを終えるようにするなど、直接T=Q
(K)を用いないようにすことも可能である。
【0033】例えば、符号語範囲幅の表現桁数Wrを6
ビット、Q(K)以外の累積頻度を5ビットで表現して
おり、ある時点での符号語範囲幅がR=100000の
場合に、記号列1,3,4にあたる未復号内容0100
10001は次のように復号される。未復号内容の上位
Wr=6ビットの内容e=010010より累積頻度へ
の換算値e×T div R=010010を得る。こ
の上位3ビットからP=f(010)=1を得る。P+
1=2での符号語範囲はR×Q(2) div T=1
0100以上でありeを越えるのでP=1が復号記号で
ある。新しい符号語範囲幅はR’=R×Q(2) di
v T−R×Q(1) div T=010000であ
り1ビットの桁移動をして新しい符号語範囲幅はR=1
0000となる。eから1の符号語を引いて1ビットシ
フトしてその分未復号内容を加えて新しくe=(010
010−000100)≪1+0=011100とな
る。これより累積値への換算値e×T div R=0
11100を得、この上位3ビットからP=f(01
1)=1を得る。P+1=2ではR×Q(2) div
T=10100であるがe以下であるのでP←P+1
=2として繰り返す。P+1=3でもR×Q(3) d
iv T=10101がe以下であるのでP←P+1=
3として繰り返す。P+1=4では符号語範囲がR×Q
(4) divT=11101以上でありeを越えるの
でP=3が復号記号である。新しい符号語範囲幅はR’
=R×Q(4) div T−R×Q(3) div
T=001000であり2ビットの桁移動をして新しい
符号語範囲幅はR=10000となる。eから3の符号
語を引いて2ビットシフトしてその分未復号内容を加え
て新しくe=(011100−010101)≪2+0
1=011101となる。 累積値への換算値e×T
div R=011101を得、この上位3ビットから
P=f(011)=1を得る。Pが1から3ではe以下
にはならない。P=4、P+1=2ではR×Q(5)
div T=11101でありeを越えるのでP=4が
復号記号である。
【0034】Bが大きいと、手順(3−1)で得られた
記号Pが多くの場合に復号記号に一致しており手順(3
−2)で繰り返すことがないので、復号記号の探索を早
めることができる。Bの値は例えばlog K程度また
はそれ以上の整数を選ぶ。もし手順(3−2)でいくつ
もの累積頻度と比較することがあっても、そのことの全
体の復号時間に対する影響は小さい。
【0035】
【実施例4】Jonesの算術符号の符号化のために、
符号語範囲幅Rと出現頻度の総計TからM=R div
Tを演算する機構と、Mを用いて符号語範囲の新しい
下限Rl’=Rl+M×Q(i)を演算する機構と、新
しい区間幅R’=M×F(i)を演算する機構を設け
る。Jonesの算術符号の復号化のために、符号語範
囲幅Rと出現頻度の総計TからM=R div Tを演
算する機構と、Mを用いて未復号内容から差し引くべき
既復号内容の符号語の値M×Q(i)を演算する機構
と、これを未復号内容から差し引く機構と、新しい区間
幅R’=M×F(i)を演算する機構を設ける。
【0036】M=R div Tの演算結果がM×Q
(i)の演算とR’の演算で共通に用いられるので、除
算機構の利用は記号あたり1回でよい。
【0037】WittenらやJonesの方法ではR
をW/2ビット程度で表現するが請求項4の装置ではW
ビット程度で表現する。Rh’が直接必要ではなく直接
にはR’が必要なら、R’はRh’−Rl’またはM×
F(i)として算出することができる。Mの算出ではT
が2のべき乗である必要はないが、もしTが2のべき乗
の値になるように別途処置がしてあるならM=R di
v Tの演算はシフト演算で行うことができる。F
(i)やQ(i)の記憶のために用意する桁数はW/2
ビット辺りが最良である。小さいと出現頻度を表現する
精度が落ち符号化の無駄が増える。大きいと符号化での
無駄が大きくなる。後者の無駄は範囲幅Rの内M×Tだ
けが使用されてR mod Tだけは使用されないこと
に起因する。
【0038】
【実施例5】算術符号の符号化及び復号化のために累積
頻度Q(j)と出現頻度の総計Tと予め決めた定数Dか
らM(i)=(Q(i)≪D) div T(0≦i≦
K)を演算する機構を設ける。Wittenの算術符号
の符号化及び復号化のために、更に、符号語範囲の新し
い下限Rl’=Rl+(R×M(i))≫Dを演算する
機構と、新しい上限Rh’=Rl+(R×M(i+
1))≫Dを演算する機構を設ける。
【0039】M(i)(iは0からKまで)の更新は符
号語の決定に合わせて行う。符号語の更新を例えばK個
の記号の符号化・復号化当たりで1回行うなら、記号あ
たり2回の乗算の利用と1回の除算機構の利用の割合に
なる。これよりも更に長い間隔で符号語の更新を行うな
ら、記号当たりの除算の平均回数は0に近くなる。もし
Tが2のべき乗の値(2のU乗とする)になるように別
途処置がしてあるならM(i)=(Q(i)≪D) d
iv Qの除算はシフト演算のみでM(i)=(Q
(i)≪D)≫UまたはM(i)=Q(i)≪ (D−
U)と演算することができる。特に静的符号化ではQ
(i)(0≦i≦K)が変わらないので、M(i)(0
≦i≦K)は最初に1回算出すればよい。
【0040】2のD乗はK以上でなければならない。D
はW/2辺りに選ぶ。小さいと出現頻度を表現する精度
が落ち符号化の冗長度が増える。大きいとRの表現桁数
を小さくしなければならなくなり符号化の冗長度が増え
る。R×M(i)の表現桁数はWビットを越えてはいけ
ない。
【0041】
【実施例6】請求項6の発明は、例えばJonesの算
術符号化法のように、符号語範囲幅のみで符号語の演算
桁位置移動量を決定できる場合に適用できる。
【0042】符号語範囲幅の上位Sビットの内容(2進
数とみなしたときの値をS(R)と表わす)をもとに符
号語範囲幅のシフトを行う場合に、0から2^S−1の
各rについてS−floor(log r)−1 但し
r=0ならSとする。)を求めておきrで参照できるよ
うに記憶しておく、もしくは、これと同じ出力を与える
論理回路を構成する。
【0043】符号化や復号化において新しい符号語範囲
幅R’の上位Sビットの内容から得られたシフト量だけ
R’やRl’などの左シフトを行うが、この値がSであ
る間はR’の上位Sビットの内容から得られたシフト量
だけR’やRl’などの左シフトを行うことを繰り返
す。Sをlog K程度またはそれ以上の整数にすれ
ば、多くの場合にシフト量は繰り返しの起こらないS未
満の値になる。
【0044】
【実施例7】請求項7の発明は、例えばWittenら
の算術符号化法のように、符号語範囲の下限及び上界を
用いて符号語演算桁位置移動量を決定できる場合に適用
できる。
【0045】符号語範囲の下限と上限のそれぞれ上位S
ビットの内容(それぞれを仮にr1,r2とする。)を
もとに符号語範囲のシフトを行う場合に、r1,r2が
0から2^S−1の各組み合わせ(2^(2S)通
り。)についてシフト量を求めておきr1,r2で参照
できるように記憶しておく、もしくはそれと同じ出力を
与える論理回路を構成する。
【0046】Wittenらの算術符号では下限と上限
の最上位ビットが同じ時には最上位ビットを含めたシフ
トが行われ、異なるときには最上位ビット以外のビット
に対してシフトが行われる。よって、r1,r2の最上
位ビットが同じ場合には、得られたシフト量だけ下限と
上限をSビットシフト演算して、シフト量がSであるな
ら上位Sビットの内容からシフト量を求める処理から繰
り返す。r1,r2の最上位ビットが異なる場合には、
得られた量だけ最上位ビットを除き下限と上限を左シフ
ト演算して、シフト量がS−1であるなら上位Sビット
の内容からシフト量を求める処理から繰り返す。Sをl
og K程度またはそれ以上の整数にすれば、多くの場
合にシフト量は繰り返しの起こらない値になる。
【0047】
【発明の効果】請求項1から3の発明によって、復号記
号を得るための探索のステップ数を減らすことができ復
号化の計算コストを下げることができる。
【0048】請求項4及び5の発明のよって、算術符号
の符号化及び復号化において除算機構の利用を減らすこ
とができ、ハードウエアコストや計算コストの低減がは
かられる。
【0049】請求項6及び7の発明によって、算術符号
の符号化及び復号化において符号語演算の桁移動量を知
ることで桁移動をまとめて行うことができるようにな
り、計算コストの低減がはかられる。

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】情報源符号化データの復号に関わる装置
    で、未復号内容の一定ビット数の上位ビットの内容Hか
    ら、未復号内容の上位ビットの内容がHのときに復号さ
    れ得る一つ以上の記号の内で全符号語における辞書引き
    順での順序が最小値Pである記号の順序Pを与える機
    構、もしくは、最大値Pである記号の順序Pを与える機
    構を有することを特徴とする情報源符号化データの復号
    記号の探索装置
  2. 【請求項2】情報源符号化データの復号に関わる装置
    で、未復号内容の一定ビット数の上位ビットの内容Hか
    ら、未復号内容の上位ビットの内容がHのときに復号さ
    れ得る一つ以上の記号の全部が共通に通過する節点の内
    で符号木中のもっとも根から遠い節点Pを与える機構を
    有することを特徴とする情報源符号化データの復号記号
    の探索装置
  3. 【請求項3】情報源符号化データの復号に関わる装置
    で、既復号の符号語内容が差し引いてある未復号内容の
    値を累積頻度に換算した値の一定の上位Bビットの内容
    Hから、累積頻度の上位BビットがHのときに復号され
    得る一つ以上の記号の内で最小の順序数の記号Pを与え
    る機構、もしくは、最大の順序数の記号Pを与える機構
    を有することを特徴とする情報源符号化データの復号記
    号の探索装置
  4. 【請求項4】算術符号の符号化及び復号化に関わる装置
    で、算術符号における符号語範囲幅Rと出現頻度の総計
    Tから除算または右シフトによってM=R div T
    を演算する機構を有することを特徴とする算術符号化の
    符号語の新しい符号語区間を演算する装置
  5. 【請求項5】算術符号の符号化及び復号化に関わる装置
    で、情報源アルファベットの全ての記号jについて累積
    頻度Q(j)と出現頻度の総計Tと予め決めた定数Dか
    ら左シフトと除算または左シフトと右シフトまたはD−
    log T桁のシフトによってM(j)=(Q(j)≪
    D) div Tを演算する機構を有することを特徴と
    する算術符号化の符号語の新しい下符号語区間を演算す
    る装置
  6. 【請求項6】算術符号の符号化及び復号化に関わる装置
    で、符号語範囲幅の一定数の上位ビットの内容をもとに
    符号語範囲幅の左シフト量を与える機構を有することを
    特徴とする算術符号の符号語の演算桁位置の移動量を与
    える装置
  7. 【請求項7】算術符号の符号化もしくは復号化のため
    に、算術符号の符号語範囲の下限及び上界の双方の一定
    数の上位ビットの内容をもとに符号語範囲の左シフト量
    を与える機構を有することを特徴とする算術符号の符号
    語の演算桁位置の移動量を与える装置
JP36550197A 1997-12-01 1997-12-01 情報源の符号化及び復号化の高速化装置 Pending JPH11163737A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP36550197A JPH11163737A (ja) 1997-12-01 1997-12-01 情報源の符号化及び復号化の高速化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP36550197A JPH11163737A (ja) 1997-12-01 1997-12-01 情報源の符号化及び復号化の高速化装置

Publications (1)

Publication Number Publication Date
JPH11163737A true JPH11163737A (ja) 1999-06-18

Family

ID=18484420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP36550197A Pending JPH11163737A (ja) 1997-12-01 1997-12-01 情報源の符号化及び復号化の高速化装置

Country Status (1)

Country Link
JP (1) JPH11163737A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008172360A (ja) * 2007-01-09 2008-07-24 Mitsubishi Electric Corp 演算回路およびそれを用いた無線通信装置
WO2014030347A1 (ja) * 2012-08-22 2014-02-27 日本電気株式会社 映像データ2値算術復号装置および映像復号装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008172360A (ja) * 2007-01-09 2008-07-24 Mitsubishi Electric Corp 演算回路およびそれを用いた無線通信装置
WO2014030347A1 (ja) * 2012-08-22 2014-02-27 日本電気株式会社 映像データ2値算術復号装置および映像復号装置

Similar Documents

Publication Publication Date Title
US5546080A (en) Order-preserving, fast-decoding arithmetic coding arithmetic coding and compression method and apparatus
US7872598B2 (en) Accelerated decompression
KR940023249A (ko) 디지탈 신호의 부호화 방법, 부호화용 테이블 생성 방법, 부호화 장치 및 부호화 방법
JPH0253329A (ja) 圧縮符号化方法及び復号方法
JP2012533921A (ja) データの圧縮方法
JPH03204233A (ja) データ圧縮方法
US5808572A (en) Method and apparatus for finite-length arithmetic coding
WO2002037687A2 (en) Method of performing huffman decoding
US5901177A (en) High speed variable length code decoding apparatus and method
CA1241760A (en) File compressor
JP3241788B2 (ja) データ圧縮方式
EP0435802B1 (en) Method of decompressing compressed data
US5010344A (en) Method of decoding compressed data
US5736946A (en) High speed apparatus and method for decoding variable length code
JPH11163737A (ja) 情報源の符号化及び復号化の高速化装置
US20030052802A1 (en) Method and apparatus for huffman decoding technique
US5708430A (en) High speed variable length code decoding apparatus
CN114866091A (zh) 基于划分组参考数的差值编码压缩及解压缩方法
JP3241787B2 (ja) データ圧縮方式
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
JP2954749B2 (ja) データ圧縮方式
JP3648944B2 (ja) データ符号化方法およびデータ符号化装置ならびにデータ復号化方法およびデータ復号化装置
KR100462060B1 (ko) 유니버셜 가변 길이 코드 부호어 다중 추출 방법 및 그를위한 룩-업 테이블 구성 방법
JP3051501B2 (ja) データ圧縮方法
JP3100206B2 (ja) データ圧縮方法