JP3017379B2 - 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法 - Google Patents

符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法

Info

Publication number
JP3017379B2
JP3017379B2 JP5198099A JP19809993A JP3017379B2 JP 3017379 B2 JP3017379 B2 JP 3017379B2 JP 5198099 A JP5198099 A JP 5198099A JP 19809993 A JP19809993 A JP 19809993A JP 3017379 B2 JP3017379 B2 JP 3017379B2
Authority
JP
Japan
Prior art keywords
transition
state
probability
data
output
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
JP5198099A
Other languages
English (en)
Other versions
JPH06224777A (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.)
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
Publication of JPH06224777A publication Critical patent/JPH06224777A/ja
Application granted granted Critical
Publication of JP3017379B2 publication Critical patent/JP3017379B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/31Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining coding for error detection or correction and efficient use of the spectrum
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/14Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
    • H03M5/145Conversion to or from block codes or representations thereof
    • 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/4006Conversion to or from arithmetic code
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/14Digital recording or reproducing using self-clocking codes
    • G11B20/1403Digital recording or reproducing using self-clocking codes characterised by the use of two levels
    • G11B20/1423Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
    • G11B20/1426Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ圧縮の分野に係
り、特に、エントロピー符号化の分野に関する。
【0002】
【従来の技術】データ圧縮は大量データの記憶及び伝送
のための極めて有用なツールである。例えば、圧縮を利
用して画像伝送に要するビット数を減らすと、文書のフ
ァクシミリ伝送等、画像の伝送に必要な時間が大幅に短
縮される。従来より、多種多様なデータ圧縮手法が存在
する。
【0003】あらゆる圧縮システムは、対応した伸長シ
ステムと組み合わされる。伸長システムの動作内容は、
相手の圧縮システムに応じて決まる。符号化を遂行する
ために圧縮システムで使用されたアルゴリズムは、圧縮
された文書の一部として伝えられるか、伸長システム側
で推定できなければならない。
【0004】より具体的に説明すれば、エントロピー符
号化の場合、”入力”シンボル系列列<t1,t2,t
3,...,tm> はデータの標本または量子化エラー値で
あるのが一般的であるが、時間の関数である”出力”符
号語系列<s1,s2,s3,...,sn >によって確定的
に置換可能である。すなわち
【0005】
【数1】
【0006】したがって、次の確定的な逆(復元)関数
が存在する。
【0007】
【数2】
【0008】この種のエントロピー符号fは、瞬間プロ
ダクションルール(instantaneousproduction rules)
の集合から作ることができる。これらのルールのそれぞ
れを適用すると、0個または1個以上の出力トークンの
順序系列が生成される。しかし、出力トークン数は通
常、1個以上である。
【0009】ある種の圧縮システムでは、入力ファイル
またはデータセットが決定モデルの支配下で決定系列に
変換される。各決定にはその尤もらしさがあり、この尤
もらしさに基づいて出力符号が生成されて圧縮ファイル
に付加される。これらの符号化方式を実施するために、
圧縮システムは三つのパーツすなわち決定モデル、確率
推定法、及びビットストリームジェネレータを持つ。決
定モデルは入力データを受け取り、そのデータを決定の
集合へ変換する。この決定の集合を用いて圧縮システム
はデータを符号化する。確率推定方法は、各決定の尤も
らしさの推定値を生成するための手続きである。ビット
ストリームジェネレータは、最終的なビットストリーム
符号化を遂行して出力符号、すなわち圧縮データセット
もしくは圧縮ファイルを生成する。
【0010】圧縮は、決定モデルと確率推定法の一方ま
たは両方で有効に行なうことができる。例えば、テキス
トの圧縮に用いられることの多いLempel-Ziv符号化法
では、決定モデルはかなり複雑であるが冗長度を大幅に
抑圧する。他方、確率推定法及びビットストリームジェ
ネレータは普通、単純であり、例えば512種の決定結
果をとり得る場合、各決定結果は発生頻度が等しいと仮
定され、かつ出力ビットパターンは常に正確に9ビット
長である。これに対して、単純なHuffman符号器は簡単
な決定モデルを用い、圧縮は確率推定法により得られる
が、この確率推定法はテキストファイル内の文字の通常
の頻度を”知っていて”ビット出力を適切に生成する。
同様に、karhunen−Loeve型変換または差分パルス符号
変調で用いられているような非常に簡単な減算を利用し
て、デジタル時間信号の冗長度を大幅に抑圧できる。し
かし、これらの場合、確率推定法及びビットストリーム
ジェネレータが、冗長度圧縮を実現するために必要であ
る。Lempel-Ziv、Huffman、及びKarhunen-Loeveに
関する詳細については、Thomas Lynch,"Data Com
pressionTechniques and Application,"(1985
Van Nostrand Reinhold)及び Mark Nelson,"
The Data Compression Book,"(1992 M &
T Publishing,Inc.)を参照されたい。CCITT
ファクシミリ伝送等の他の方法では、最初に、各ライン
を前ラインと排他的論理和するような簡単な推論的方法
を用いることにより、冗長度が抑圧される。次に、決定
モデルが各ラインを全白または全黒のランレングス系列
で置き換える。この後、この結果について既知の確率推
定値を用いるHuffman類似の符号化を行なうことによ
り、さらに圧縮することができる。
【0011】広く採用されている圧縮手法の一つは算術
符号化である。算術符号化は、データのストリング(す
なわち”メッセージ”)を復元可能なやり方で符号スト
リングへマッピングし、この符号ストリングに対して符
号化及び復号アルゴリズムが算術演算を施す。算術符号
化についてはGlenn G.Langdon,Jr.,"AnIntrodu
ctionto Arithmetic Coding",IBM Journal of
Research andDevelopment, vol.28,no.2,(Marc
h 1984)を参照されたい。
【0012】算術符号化においては、メッセージを表わ
す符号は0と1の間の数の区間(interval)によって表
現される。メッセージ中のシンボルの数が増加するにつ
れて、メッセージを表わす区間が小さくなるので、その
区間を表わすのに必要なビット数が増加する。初め、メ
ッセージの区間は0から1の間である[0,1)。メッ
セージの各シンボルが処理される時に、その区間はシン
ボルの確率に応じて狭められる。
【0013】例えば、図16においてシンボル(ここで
はテキスト)z,y,x,w,v,uに0.2,0.3,0.
1,0.2,0.1,0.1の確率が割り当てられる。これらの確
率は、つぎに[0,1.0)の範囲(range)にマッピング
され、図16に見られる範囲が得られる。図16におい
てシンボルzは0.2の確率を表わす範囲[0,0.2)を
割り当てられ、シンボルuはシンボルの確率範囲の上限
及びuの確率0.1を表わす範囲[.9,1.0)を割り当て
られている。
【0014】圧縮を可能にするため、出現頻度の高いシ
ンボルに大きな確率値が割り当てられる。確率範囲が割
り当てられたならば、シンボルを圧縮符号化できる。初
期の範囲または区間は[0,1)に設定される。圧縮すべ
きメッセージの最初のシンボルが出現後は、範囲はその
シンボルの確率に比例して狭められる。図17におい
て、範囲[0,1)が最初に示されている。シンボルyが
出現した後、範囲はyの確率に比例した大きさの新しい
区間に減らされる。換言すれば、範囲または区間はその
最初の値に設定されるのではなく、範囲は今出現したシ
ンボルの確率に従って設定される。yの確率は0.3で
あり[0.2,0.5)の範囲を持つので、符号化が行なわれ
る更新後範囲は[0.2,0.5)であり、したがって次のシ
ンボルの出現確率にはその前のシンボル(すなわちy)
の確率の影響が含まれる。よって、シンボルの確率の全
部の総計は、シンボルyの出現前の0から1の範囲でな
く、0.2から0.5の範囲である。同様に、次のシンボ
ルzは、確率0.2と範囲[0,0.2)を有するが、その
出現後は、区間はzの確率に比例し[0.2,0.26)に減
少し、その結果、その次のシンボルの確率範囲は、前の
シンボルy,zの影響を考慮して、0.2から0.26の
区間より選ばれる。
【0015】復号の場合、符号化プロセスで用いられた
区間の大きさは、シンボル群中の一つのシンボルの確率
範囲を示しているので、符号化に用いられた各シンボル
の範囲を利用して、シンボルを容易に抽出することがで
きる。例えば、最終の区間が[0.23,0.236)だとする
と、この最終の区間はyの範囲[0.2,0.5)の範囲内に
完全に含まれているので、最初のシンボルはyであると
判断できる。符号器と同じプロセスを用いることによ
り、yが分かった後、最初の区間[0,1)は[0.2,0.
5)に更新され、そして更新後の範囲[0.2,0.26)は最
終の区間[0.23,0.236)を含む。このプロセスを続け
て全てのシンボルが復号される。
【0016】2進算術符号器は算術符号化システムの一
種である。2進算術符号化システムでは、シンボル集合
からのシンボルの選択を2進決定系列として符号化でき
る。2進算術符号器の一例はInternational Business
Machines(Armonk,NewYork)で開発された”Q-
符号器”である。Q-符号器は固定精度演算と再正規化
処理を用いるが、この再正規化において符号ストリング
及び区間は、値を固定精度表現に許容される範囲内に納
めるため、必要に応じて再正規化される。また、シンボ
ルの符号化を表わす区間のスケーリングのための乗算を
行なう必要をなくすために、乗算の代わりに近似法が用
いられる。Q-符号器に関する情報を得るには、W.B.
Pennebaker,J.L.Mitchell,G.G.Langdon,F.,
Jr.,R.B.”An Overview of the Basic Princepl
es of the Q-CoderAdaptive binary Arithmetic C
oder",IBM Journal of Research andDevelopmen
t, vol.32, no.6, November 1988,pp.717
−726 、J.L.Mtchel,W.B.Pennebaker,"Opti
mal Hardware and Software Arithmetic CodingPr
ocedures for the Q-Coder",IBM Journal of R
esearch and Development,vol.32,no.6,Novemb
er 1988,pp.727−736 及び W.B. Penne
baker,J.L.Mitchell,"Probability Estimationf
or the Q-Coder",IBM Journal of Research an
d Development,vol.32,no.6,November 198
8,pp.753−774 を参照されたい。データ圧縮に
ついてさらに知りたい場合、Timothy C.Bell,John
G.Cleary,Ian H.Whitten,"Text Compressio
n" (1990 Prentice Hall Inc.)及びAnli K.Ja
in, "Fundamentals of Digital Image Processin
g"(1989 Prentice Hall,Inc.)を参照された
い。
【0017】
【発明が解決しようとする課題】本発明の一つの目的
は、効率的でかつ実現容易な2進符号化のための方法及
び装置を提供することである。本発明のもう一つの目的
は、2進決定により表現されたデータの圧縮及び伸長の
ための単純かつ安価な方法及び装置を提供することであ
る。これ以外の本発明の目的は、以下の説明から理解さ
れるであろう。
【0018】
【課題を解決するための手段】後述のように、本発明
は、常に2値(yesまたはno)の決定を生成する決
定モデルを用いる。本発明はまた、固定長ビットストリ
ングでない出力トークンを採用する。特に、本発明は大
部分の決定を1ビット未満で符号化する。
【0019】本発明は、2進決定により表現されたデー
タの圧縮及び伸長のための方法及び装置を提供するが、
この方法及び装置は複数の状態を持つ状態マシンを含
む。各状態は少なくとも一つの遷移対を持つ。遷移対の
各エレメントは、出力される符号を表わす0ビット以上
及び次に進む状態の識別子を発生する。遷移対は、デー
タが短縮される確率及びデータがその確率以内にあるか
否かに関する肯定(yes)及び否定(no)応答のた
めの出力を表わす。
【0020】本発明は、確率値に応じて状態マシンの現
在状態の遷移対をサーチするための装置及び方法も含
む。本発明は、確率推定値に応じて0ビット以上を出力
し次の状態へ遷移する。
【0021】
【作用】かかる本発明によれば、以下の詳細な具体的な
説明から理解されるように、2進決定により表現された
データの圧縮及び伸長を効率的に実現することができ、
さらに、そのための装置を安価に提供することが可能に
なる。
【0022】
【実施例】以下、本発明により2進決定の符号化方法及
び装置について詳細に説明する。以下の記述において、
ビット数やトークン等、様々な詳細例を示すが、これは
本発明の好適実施例を十分理解させるためである。この
ような詳細例によらずに本発明を実施し得ることは当業
者にとって明白であろう。また、必要以上に本発明を難
解にしないため、周知の回路は詳細を省きブロック図で
示す。
【0023】図1は本発明によって利用されるデータ圧
縮及び復号のためのシステムをブロック図で示してい
る。
【0024】図1において、データ100は2進決定モ
デル(BDM)110に入力される。BDM110は入
力データストリーム(例えば入力ファイル)を2進決定
の集合または系列に変換する。なお、本発明に用いられ
るデータモデルは全てのイベントを2進決定として表現
する。本好適実施例においては、どの2進決定も少なく
とも50%時間確率となるように決められている。これ
によって、本発明の符号器で用いられる全ての確率クラ
スが50パーセント以上の確率となることが保証され
る。BDM110は各2進決定のコンテキスト(周囲情
報)も提供する。
【0025】2進決定系列及びそれに関するコンテキス
トがBDMから確率推定モジュール(PEM)115へ
出力される。PEM115は、そのコンテキストを利用
して各2進決定に対する確率推定値を生成する。実際の
確率推定値はクラスによって表現され、このクラスは
率クラス(PCクラス)と呼ばれる。各PCクラスは確
率範囲のために用いられる。PEM115は、2進決定
(結果)が確率の高い状態であるか否かも判定する。P
EM115によって生成された確率推定値(PCクラ
ス)及び2進決定の可能性の有無の判定結果は、符号器
120へ出力される。PEM115は、確率推定値(P
Cクラス)を符号器120へ渡した後、その確率推定値
を当該コンテキストにあわせて更新できる。
【0026】符号器120は、入力2進決定の発生確率
に関する確率推定値及び可能性のあるイベントが発生し
たか否かを示す1ビットの入力を受け取るように接続さ
れている。符号器120は、入力に応答して、オリジナ
ルデータ100を表わす圧縮データストリームを生成す
る。符号器120は、各入力に関して1ビット以上を出
力する。この圧縮データはネットワークまたは他のデー
タリンク(例えば通信回線)を介して送信され、あるい
は単にメモリに格納される。例えば、圧縮データ125
はファクシミリ装置間のイメージ伝送に利用される。
【0027】データを伸長するための逆処理が実行され
ることにより、オリジナル入力データ100が復元され
る(ある程度まで。PEM135から出される結果
は、PEM115に与えられた結果と同一であることに
注意されたい。オリジナルデータ100を、BDM11
0,140によって、正確にまたは適切に復元できる。
復号器(codec)130は、圧縮出力125を受け
取るように接続される。BDM140はコンテキストを
PEM135に与える。PEM135はBDM140か
らコンテキストを受け取るように接続される。このコン
テキストに基づき、PEM135は確率クラスを復号器
130に与える。復号器130はPEM135から確率
クラスを受け取るように接続される。この確率クラスに
応答して、復号器130は2進決定が可能な状態である
か否かを示す1ビットを出力する。換言すれば、復号器
130は、もっともらしいイベントの発生に対し1ビッ
ト表示を返す。PEM135は復号器130からのビッ
トを受け取るように接続され、このビットを用い、それ
に基づいて確率推定値を更新する。PEM135はま
た、その結果をBDM140へ返す。BDMは返された
ビットを受け取るように接続され、返されたビットを用
いてオリジナルデータ100を生成しかつ次の2進決定
のためにコンテキストを更新する。
【0028】図1において、符号器120及び復号器1
30のためのBDM及びPEMは、データを理解して有
効な確率推定値を生成するための装置及び方法を提供す
る。なお、確率推定のための多くの方法が存在し、ま
た、本発明は特定の確率推定機構を使用すべく限定され
るものではないことを理解すべきである。例えば、画像
圧縮の場合、確率を5画素予測法によって決定すること
もでき、この方法では、下に示すように、処理済みの5
画素の値(”X”)を用いて、注目の画素値Aを推定す
る。
【0029】 この方法は、32(すなわち25 である。ただし5は前
画素数)個の確率推定値を保持し、実際の”コンテキス
ト”(処理済みの5画素値)に基づき適当な推定値を選
択することによって達成できる。個々の確率推定値は、
それぞれの固有のコンテキストが出現した時にいつ更新
してよい。ある実施例では、推定値は決定毎に更新さ
れる。本好適実施例では、ビットストリームジェネレー
タは、確率推定マシンと組み合わされて単一のテーブル
ルックアップにまとめられる。本発明の唯一の必要要件
は、ビットジェネレータの入力が2進決定及び確率であ
ることである。別の言い方をすると、符号器の入力は決
定対(例えば肯定/否定決定)または他の代わりの2コ
ードの組み合わせのみでなければならない。
【0030】かかる制約を満たし、全ての可能な決定が
対で発生する場合、両方の決定はそれに関連した確率を
持つ。例えば、肯定/否定決定の場合、”肯定”はPの
確率を有し、”否定”は(1−P)の確率を有する。通
常、これらの確率はテーブルに格納されかつアクセスさ
れる。実際には、各コンテキストの確率の高い状態を記
憶しておくだけで、この推定テーブルのサイズを半分に
できる。換言すれば、Xが”肯定”または”否定”で、
Pが0と1の間の確率であるとして、対(P,X)は対
(P′,W)に置き換えることができる。ここで、W
は”尤もらしい”(likely)または”尤もらしくない”
(unlikely)であり、P′は0.5と1の間の確率であ
る。これが本好適実施例で採用される方法であり、PE
M115及びPEM135から符号器120及び復号器
130が受け取った確率推定値は、最も確率の高い状態
(すなわち50%を越える確率)に対する確率推定値を
表わす。なお、以下の説明のために、「尤もらしい」及
び「尤もらしくない」という用語が”肯定”(Y)及
び”否定”(N)という表記と同じ意味で用いられるこ
とに留意されたい。
【0031】本発明の2進エントロピー符号化システム
は多数の状態を持つ遷移マシンからなる。各状態は、1
対以上の合法的な遷移を持つ。各遷移は、それが発生し
た時に0ビット以上のストリングを発生させ、かつ遷移
マシンの次の遷移先の状態を遷移中に発生させるように
定義される。この遷移先状態から、遷移マシンは次のシ
ンボルの処理を続ける。本発明において、PEM115
はある状態のどの遷移対をとるか決定する。本好適実施
例では、PEM115(または135)は、確率推定値
を符号器120(または復号器130)へ出力すること
によって、現在の状態の合法的遷移対の中の1対の選択
を決定する。BDM110からのY/N入力によって、
選択された対の2つの合法的遷移のいずれが符号化中に
行なわれるかが決まる。最終的に、符号器120は、B
DMからのY/N入力及びPEM115からの確率推定
値に従い圧縮した入力データを表わすビットストリーム
を出力する。復号中は、圧縮されたビットストリームの
ビット値によって、選択された対の2つの合法的遷移の
いずれが行なわれるかが決まる。
【0032】各状態は、合法的に発行可能なビットスト
リームの集合(set)として記述することができる。遷
移マシンの各遷移も、同様な集合として記述可能であ
る。符号器及び復号器に採用された各遷移対に関し、遷
移対は互いに独立である。各遷移対に関する確率範囲
は、2進決定の低ビットレート符号を生成するように選
ばれる。
【0033】符号器120は、符号化しようとするシン
ボル(データ)に関する確率(すなわち確率推定値)
と、符号化しようとするデータが確率推定モデルによっ
て出力された確率推定値で指定された確率範囲内である
か否か(すなわち、そのデータが確率の高い状態である
か否か)を示すY/N信号を受け取る。この情報を用い
て、符号器120は符号化対象シンボルを表わすビット
ストリングを出力するが、当該ビットストリングが当該
シンボルの圧縮形である。
【0034】本発明の一実施例を<表1>に示す。
【0035】
【表1】
【0036】<表1>には、2状態の符号器が示されて
いる。なお、2つの状態の名前をS4,S3としている
が、これは後に提示される大きな表と矛盾しないように
するためである。最初、符号器はS4状態である。符号
器(例えば図1の符号器120)は、確率推定モデル
(例えば図1のPEM115)より一連の確率推定値
(例えば、PC1,PC2,PC3,PC4,...)を受け取り、0
ビット以上のビット系列を発生し、かつ恐らく別の状態
への遷移を生じる。確率推定値は表1のどの列を用いる
か符号器に指示する。この例では、確率推定値はP1ま
たはP2のいずれの列を用いるか符号器に指示する。例
えば、2状態の符号器が確率推定値系列<P1,P2,P2,
P2>及びY/N決定系列<Y,Y,Y,N>(すなわち、も
っともらしい、または、もっともらしくない)を入力と
して受け取る場合には、符号器は、まず最初の入力(P
1)を受け取り、第1行(S4)の第1列(”0.50<P
<0.64”)を選択して応答”0 S4”を見出す。この場
合、”0”が出力され、状態レジスタはS4状態のまま
である。符号器への2番目の入力(P2)は、第1行
(S4)の第2列 (”0.64≦P<1”)を選択させる。
その結果、符号器は全くビットを出力せず(”−”で示
されている)、状態レジスタは(該当列に示されている
ように)S3状態に遷移する。同様に3番目の入力(P
2)は第3行(S3)の第2列を選択し、”0”を出力
させ、かつ状態レジスタをS4状態へ遷移させる。最後
に、4番目の入力(P2)は第2行(S4)の第2列を
選ばせるので、”11”が出力され、状態レジスタはS
4状態にとどまる。したがって、4個の確率推定値(す
なわち4個の決定)の系列は、1対1には対応しない場
合でも4ビットの出力(”0011”)を生成する。この例
は、符号化後のシンボル数が何等圧縮されないが、確率
P=0.7でY決定が20個連続した場合には、出力は
10個の”0”になり、2分の1に圧縮される。
【0037】本発明による符号器及び復号器の簡略なブ
ロック図が図2及び図3に示されている。
【0038】図2において、符号器は遷移選択機構20
0を状態カウンタ210に接続してなる。状態カウンタ
210は遷移機構の現在状態を保持する。選択遷移機構
200は、現在符号化されるシンボルに対する確率推定
値及びY/N応答を示す確率推定モデルからの入力に基
づき、圧縮出力として0ビット以上を出力する。
【0039】図3において、復号器は状態カウンタ23
0を選択遷移機構240に接続した構成である。選択遷
移機構240は入力として、何等かの媒体あるいは通信
チャネルを介して符号器の出力を受け取り、かつ、確率
推定モデルにより生成された確率推定値を受け取る。こ
れに応答し、復号器は、伸長すべきシンボルが、受け取
った確率推定値により決まる確率範囲に関する最も確率
の高い範囲内であるか否かの問い合わせに対するY/N
応答の信号を出力する。
【0040】図1に示されるように、Y/N応答は確率
推定モデル(PEM)に対する一つの出力となって、確
率推定モデルは2進決定をデータモデルへ出力し、そし
て、このデータモデルが入力データの伸長形を表わすデ
ータを出力する。
【0041】選択遷移機構は様々な実現形態をとり得
る。例えば、現在状態及び他の入力データによって制御
される多数の論理ゲートを有する状態マシンとして、こ
の機構を実現することができる。また、選択遷移機構は
ルックアップテーブルに構成されたランダムアクセスメ
モリ(RAM)とすることができる。このルックアップ
テーブルにおいて、出力ビット値及び次の状態がテーブ
ル内要素で、その選択は状態カウンタに保持された現在
状態、確率モデルより出力される確率推定値及びBDM
装置により出力されるY/N値に応じて行なわれる。
【0042】図10乃至図15は、本発明の状態遷移行
列の5つの例を説明するためのものである。ここに示さ
れた各状態に関して、第1行はN決定(尤もらしくな
い)に関する遷移を含み、第2行はY決定(尤もらし
い)に対応した遷移を含み、第3行は確率が左側に見ら
れる列の下限であるところの隣合う遷移対間の確率閾値
を含む。各遷移は、ビットストリングの後にオプション
の”*”を続け、さらに遷移先状態名を続けることによ
って記述される。ビットストリングがヌルの時(すなわ
ち、全くビットが出力されない時)には、このビットス
トリングは図中省略されている。さらに、遷移先状態
は、それが基底状態(すなわち最大の番号の状態)であ
る時には省略される。
【0043】図10には、2状態の遷移マシンの遷移図
が示されている。遷移対は列(1)及び(2)と名前が
付けられている。状態マシンがS4状態で、閾値(確率
推定値)が0.644より大きい場合、2つの合法的遷
移は、N(否定)決定に対してはS4状態にとどまって
ビットストリング”11”を出力し、Y(肯定)決定に
対してはS3状態に遷移してビットストリングを全く出
力しない。閾値(確率推定値)がS4状態で0.644
未満である場合、2つの合法的遷移は、N(否定)決定
に対してはS4状態にとどまってビットストリング
1”を出力し、Y(肯定)決定に対してはS4状態にと
どまってビットストリング”0”を出力する。状態マシ
ンがS3状態の場合、2つの合法的遷移は、N(否定)
決定に対してS4状態へ遷移してビットストリング”
10”を出力し、Y(肯定)決定に対してきS4状態へ
遷移してビットストリング”0”を出力する。
【0044】図11,図12,図13,図14及び図1
5は、4状態マシン、6状態マシン、11状態マシン、
16状態マシン及び13状態マシンをそれぞれ示してい
る。実際的には、動作に殆ど寄与しない状態及び遷移
は、それを厳格に抑えなくとも、削除可能である。
【0045】本発明のもう一つの特徴は、同期化機構を
用いることである。同期化機構は、部分的に符号化され
たデータの干渉を防ぐように、圧縮ビットストリームに
符号化ビットを挿入する。同期化シンボルの期待される
時が伸長器に分かっていると仮定すると、ストリング”
0”,”0”,”01”及び”011”を図10,図1
1,図12及び図13の状態遷移マシンでそれぞれ用い
ることができる。また、これらシンボルの頻度がビット
レートを左右するほど大きい時には、各状態毎に固有の
同期化ビットストリングを持つことも可能である。これ
により、符号器の同期が保証された決定系列を定義可能
になる。
【0046】なお、大きな遷移行列を持つ符号器にフリ
ップフロップを用い、そのセット時に全出力ビットを反
転させることができる。こうすると、全状態数を半分の
状態数で表現できる。図10乃至図15中の”*”を付
けた遷移に遭遇した時に、そのフリップフロップを反転
させる。このフリップフロップの出力は、出力ビットス
トリームに直列の排他的論理和(XOR)ゲートへ送ら
れる。
【0047】遷移テーブルの構造 本発明の符号器は、一つの符号クラスを設定するのであ
って単一の符号を設定するのではないので、最初のステ
ップは特定の符号を選択することである。選択遷移装置
で実施される遷移行列を構築するための手順が図7に示
されている。
【0048】図7において、符号の唯一の最重要パラメ
ータは最長ビット符号の長さ(N)であり、これは、ス
テップ300で示されるように、唯一の2進決定に対し
て符号器で生成できる(または復号器で処理しなければ
ならない)。最大長を高めに設定すると、符号効率は向
上するが、必要なテーブル(またはランダム論理の状態
マシン)のサイズが増加する。
【0049】最大ビット符号長(N)を選んだ後、目的
とする用途の決定確率分布を知る必要がある。一般に、
確率分布に関するデフォルトの仮定を利用してよい。最
大ビット符号長(N)と分布が与えられれば、最適な符
号を作ることができる。
【0050】最適な符号の作成において基底状態はSN
と表わされる。Nが与えられれば、基底状態は常に全て
の可能なNビット出力を利用可能である。次に、遷移マ
シンの状態が定義される(ステップ310)。各状態に
対する遷移対を定義する際、各対は可能な出力を2つの
集合に分割するが、一方の遷移が1つ以上の許容される
Nビット系列を持つ状態に進み、他方の遷移が集合中の
残りのNビット系列を持つ状態に進むように分割され
る。この分割プロセスは、許容されるNビット系列が1
つしかない状態に達するまで続く。一旦その状態になれ
ば、符号器は一つの許容されたNビット系列を出力して
基底状態に遷移する。
【0051】状態数を制限できる。本好適実施例では、
許容されるビット系列の残りが1つになる前に何ビット
か出力することによって、必要な状態数が削減される。
例えばN=4の場合、0000から0111までのビッ
ト系列が全て合法的出力であるS8状態が存在し得る。
このような状態を作る代わりに、S8ステップに入った
時に1個の0が出力され、そして可能な4ビット系列の
全てが合法的出力であるS16状態へ遷移する。S8状
態は、1個の0とそれに続く可能な3ビット系列の全て
を許容するのであれば、可能な4ビット系列の全てを後
に続けてもよいはずである。1個の0を出力することに
より、直ちに可能な4ビット系列の全てを用いることが
できる。このことは、状態数を減らすが、それだけでは
なく、S16状態がS8状態よりも”効率的”であるの
で、本発明符号器の圧縮性能も向上させる。状態の効率
については後に述べる。
【0052】本好適実施例では、小さく効率的な状態テ
ーブルを作るためにヒューリスティックの手法が用いら
れる。2進決定毎に最大Nビットを出力する符号器の場
合、合計2(n-1)個の状態が定義され、その名前を”S
i”とする(ただし2(n-1)<i<=2N)。再度述べる
と、状態2Nは、初期状態あるいは”基底”状態と定義
される。各状態Siは、許容されるビット系列が0から
i−1を表わす正確にNビットのビット系列であるとい
う特性を持っている。したがって、状態S2Nは全ての
Nビット系列を許容し、状態S2(N-1)+1は0から始
まる全てのビット系列と、1から始まりN−1個の0を
持つ一つのビット系列を許容する。
【0053】さて、各状態に対する遷移対が生成される
(ステップ320)。これらの遷移対を生成する手順は
様々なものがある。本好適実施例には、殆どの遷移対の
自動生成を可能にするヒューリスティクスがある。これ
らのヒューリスティックスについて次に説明する。
【0054】一つの状態Siから一つの遷移対を取り出
すために、”尤もらしい”すなわち”肯定”の遷移は、
状態Siの許容ビット系列の部分集合を許容する状態へ
進まなければならない。対応した”否定”の遷移は、そ
の残りのビット系列を許容する状態へ進まなければなら
ない。状態Siより始めると、その許容ビット系列は0
からi−1までの範囲である。もし、”肯定”遷移が起
こって、0からj−1までのビット系列を許容される状
態Sjへ進むとすると、”否定”遷移の行き先はjから
i−1までのビット系列を許容する状態であるはずであ
る。このヒューリスティックスだけに依存する状態は、
0からiまでのビット系列が許容される状態を提供する
ので、jからi−1までのビット系列のための状態は全
く存在しない。しかし、ヒューリスティックスを抑えた
状態が用いられる場合、1ビット以上が出力され、そし
て、その残りのビット系列を許容する状態への遷移が起
こる。本好適実施例のためのルールの完全な手法は以下
のとおりである。
【0055】まず、状態Siから、2(N-1)+1<=j
<iの全てのjに関する状態Sjへの”肯定”遷移を考
える。言い換えると、状態Siからの”肯定”遷移の、
iより小さい全てのjに関する状態Sjへの割り当てを
試みる。Fをj及び2Nの最大公約数(GCD)とする
(すなわち、F=GCD(j,2N))。i<=j+Fか
つj+F<=2Nのときは、”肯定”遷移も”否定”遷
移も、終了状態がある。”肯定”遷移は Si→Sj である。”否定”遷移は次のように定義される。
【0056】Si→m,S((i-j)*2P) ここでPはN−log2(i-j)以下の最大整数として定義
され、mはj*2(P-N)のPビット2進表現として定義さ
れる。要約すると、Fを含む不等式が満足される各jに
対して、状態Siからの有効な”肯定”及び”否定”遷
移対が存在する。通常、そような有効な遷移対がいくつ
か存在する。
【0057】任意の状態Siから基底状態への最終の”
肯定”遷移は、ヒューリスティックスに従う時には常に
可能である。”肯定”遷移は Si→0,S2N である。対応した”否定”遷移は Si→m,S((i-j)*2P である。ここで、j=2(N-1)である。mとPは前に定義
されたとおりである。
【0058】これらのヒューリスティックスは、テーブ
ルを作成するために従わなければならないものではな
く、単に処理を簡単にするだけである。さらに、これら
ヒューリスティックスに従った後、より多くの遷移を可
能にするために幾つかの追加的状態を定義できる(ステ
ップ330)。これらの状態は、必須ではないが、効率
を向上させる。例えば、N=4ならば、状態A6を追加
できる。この状態は、状態S10へ一つの遷移対を追加
することで入ることができる。この追加される遷移対は ”肯定”遷移S10→A6 ”否定”遷移S10→00,S16 である。
【0059】状態A6は有効な出力として、0100か
ら1001までの6つのビット系列を有する。より大き
なNに対してA6と同様の状態を用いることができ、こ
の状態では、有効なビット系列は0100から1001
までの4ビットで始まり、その後に正確な長さを与える
ために可能な全てのビットの組み合わせが続く。
【0060】状態A6は有効な遷移対を1つ以上持ち、
これは ”肯定”遷移A6→01,S16 ”否定”遷移A6→100,S16 で与えられる。
【0061】本好適実施例は、まずヒューリスティック
手法を用いて多数の状態を生成し、次に追加的な状態を
追加して、より多くの遷移を提供する。図10,図11
及び図12は、上記ヒューリスティックスだけを用いて
生成された2進符号に有用な状態マシンのリストであ
る。図13,図14及び図15は、ヒューリスティック
スを用いてから追加的状態を追加することによって生成
された状態マシンのリストである。状態マシンは他の方
法を用いて生成することもできる。復号できるようにす
るためには、現在の状態、確率クラス及び次の圧縮され
たNビットを与えられた場合に正しい遷移を識別可能で
なければならない。ある実施例は、可能な出力系列の全
ての集合を表わす状態から始める。この場合、許容され
る系列の集合を複数のグループへ分割することによっ
て、有効な遷移対を作る。これは、2の2N乗個の状態
を必要とし、Nが大きな場合には実現性がない。
【0062】何等かの方法によって、幾つかの遷移対を
持つ状態マシンが作られたならば、遷移対を選ぶために
用いられる閾値の決定及び最適化が行なわれる(ステッ
プ340)。この手順は、符号の有効性に寄与しない遷
移対を見つける。支配された遷移対は、これらの状態の
遷移がアクセス不可能か非効率的であるので、遷移行列
から除かれる。ここで、支配された遷移対とは、確率ク
ラス(範囲)内に完全に包含されるため、それを支配す
る遷移対が常に用いられるような遷移対のことである。
このような手順を用いて不要な状態を、それが出力ビッ
ト系列の可能な集合の全てを表わす場合に削除すること
は、計算量が増加し、あるいはNによっては(Nが増加
する場合に)不可能であることに注意されたい。
【0063】なお、図7に関連して上に定義した手順
は、既述の特定のステップに限定されず、同等の遷移を
生成するよう拡張できる。例えば、発生したビットの0
/1値を反転させるだけで、等価な処理を達成できる。
【0064】テーブルが生成されたならば、確率推定機
構を選択する必要がある。確率推定は、簡単な遷移マシ
ンを用いて行なうことができる。便宜上並びに速度のた
め、確率推定機構とビットジェネレータ(符号器)は、
単一の状態マシンにまとめることができる。これをソフ
トウエアによって達成することもできる。本好適実施例
においては、2つの状態マシンがあり、一方は符号器用
で他方は復号器用である。本好適実施例の各状態マシン
はルックアップテーブルである。
【0065】最後に、状態マシンが作られた時に、それ
らはアプリケーションの符号器及び復号器とリンクされ
る。
【0066】最適閾値を見つける手順 遷移対の閾値の決定及び最適化のための手順の一例が、
図8及び図9のフローチャートによって示されている。
図8及び図9において、符号化しようとする特定種類の
シンボル用の典型的な確率推定値の分布が生成される
(ステップ360)。周知の様々な方法を、この確率推
定値分布の生成のために用いることができる。例えば、
圧縮装置の上側セクションを利用して推定値の系列(例
えば500,000個の推定値)を記録し、その推定値
から確率分布を生成することによって、この分布を決定
することができる。あるいは、確率分布を記述するため
の数学モデルを開発することも可能である。このモデル
を用い、”d”決定のランダム系列を生成することがで
きる(例えばd=500,000)。
【0067】分布生成のための一つの方法は、確率推定
値を次のように設定するステップを具備する。 r=1+x(p−py−0.5) ここで、x,yは均一に分布した[0,1]間の確率変
数であり、pはスキューを表わすパラメータである。x
及びyをランダムに選ぶたびに一つの確率rが求められ
る。
【0068】この手順は次にY/N決定を確率rのため
の”Y”に等しく設定するステップを具備し、あるい
は、決定を”N”に設定するステップを具備する。スキ
ューパラメータをP=0.0に設定すると正準分布が得
られる。P=0.1に設定すると、対称な決定/分布か
らスキューした分布が得られる。
【0069】次に、最も低コストの状態に対する各状態
の相対コストが推定される(ステップ370)。本好適
実施例において、最も低コストの状態は基底状態であ
り、これはS2Nで表わされる。相対コストの一つの可
能な推定値はN−log2Mである。ここで、Mは、その状
態から最終的に発生可能な合法的なNビットストリング
の数である。例えば、本好適実施例では状態Siに対し
M=iである。この相対コストは、状態Siに関し”s
cost[i]”と呼ばれる。あらゆる状態のあらゆる
遷移に関して、コスト”c”が決定される(ステップ3
80)。
【0070】これは次の式を用いて行なわれる。 c=nb+scost[destination]−scost[source] ここで、nbは遷移が起こった時の出力ビット数であ
り、scost[destination]は新状態の状態コストであり、
また、scost[source]は旧状態のコストである。なお、
対になった2つの遷移のコスト”c”は異なるが、これ
は一般的に遷移毎に出力ビット数が異なり、かつ終了す
る状態が異なるからである。
【0071】各状態の各遷移のコストを決定した後、各
状態に対する遷移対の各対を分けることにより、次式に
従い最適な確率閾値”t”が決定される。 t=(cn1-cn2)/(cn1-cn2+cy2-cy1) ここで、cy1及びcn1はそれぞれ一方の遷移対の”
Y”及び”N”遷移の遷移コストである。cy2及びc
n2はそれぞれ他方の遷移対の”Y”及び”N”遷移の
遷移コストである。
【0072】最適確率閾値を決定した後、それら解が収
れん判定のために比較される(ステップ400)。それ
ら解が収れんしている場合には、処理は終了する。遷移
対が1つ以上の他の遷移対に支配されている場合、その
支配された遷移対は無用であるので削除される(ステッ
プ420)。換言すれば、遷移対は、このプロセスの繰
り返しの大部分で支配されるまでは削除されない。
【0073】処理の1回目で、変数tcost[i]が0に初期
化される。次にtcost[i]は全ての状態Siについて、次
式に従って更新される(ステップ440)。 tcost[i]=tcost[i]+c/n
【0074】全ての要素iについて、scost[i]の配列が
次のように更新される(ステップ450)。 scost[i]=tcost[i]−tcost[ground state]
【0075】このように、ステップ360で選ばれた標
本分布のd個の要素全部について手順が繰り返し実行さ
れることにより、各状態iに関する各遷移のコストcと
上述のように生成された決定(r,t)が確定される。ス
テップ380,390,400,410,420,43
0,440,450は、解の収れんと最適遷移行列の生
成を保証するために何回か繰り返してよい。
【0076】本発明により生成されたテーブルが図10
乃至図15に示されている。図10乃至図12及び図1
4,図15において、遷移対は1から8までの番号によ
って名前がつけられている。図10は、N=2の場合に
ついて図7,図8及び図9の手順を踏むことによって生
成されたものである。図11は、N=3の場合につい
て、同手順を踏むことによって生成されたものである。
図12は、N=4の場合について同手順を踏み、かつ、
図7のオプションのステップ340に従って状態S1
3,S9を除去することによって生成されたものであ
る。図13は、少し異なった形で表わされている。各列
は確率によって峻別されており、特定の列中の全ての状
態の遷移対について確率は同一である。さらに、他の表
は全て状態毎に”No”遷移の行を1行目、”Yes”
遷移の行を2行目とした2行により表わされているが、
図13では、その順番が逆になっている。したがって、
図13の場合には、”Yes”決定に対応する行は、行
列の状態列中の状態名の近くにある1番目の行であ
り、”No”決定に対応した行は”Yes”決定の行の
下にある。図13は修正された行列であり、状態B12
と状態B10は図7のステップ340で説明した如き命
令に従って行列に付加されている。新しい遷移及び結果
として得られる最適閾値が、図13の更新後の行列に示
されている。図14はN=4の場合、図15はN=5の
場合の手順に従っている。なお、実際には、状態または
遷移は、それが性能に殆ど寄与しない時には、たとえ厳
密に支配されたものでなくとも(アクセス不可能なもの
でなくとも)、除去されるべきである。
【0077】ハードウエア構成 符号器の一例が図4及び図5に示されている。図4に示
す符号器は、図11の符号化を実行する。図4に示す回
路は、入力としてY/N信号(UNLIKELY)と、図中+P
E,+PHで示された確率推定モデルからの確率とを受け取
る論理部品からなる。圧縮データは、1本、2本または
3本の符号線CODE BIT0,CODE BIT1,CODEBIT2に出力さ
れる。さらに、信号線LENGH-MSB,LENGTH-LSBにデータ
が出力されるが、これは符号ビット0−2のどれを用い
るべきかを指示することによって出力ビットストリング
の長さを表わす。図5の表は図4の論理構造に対応し、
様々な入力値状態すなわちUNLIKELY,PE,+PHと、それ
に対応した確率範囲MINPROB,MAXPROBを示しており、こ
れは確率モデルによって保持され、符号器によって圧縮
ビットストリーム出力を生成するために利用される。
【0078】図4において、UNLIKELY入力はバッファ4
03の入力に接続される。バッファ403の出力はCODE
BIT0 出力である。UNLIKELY入力はNORゲート402
の一方の入力及びインバータ401の入力にも接続され
ている。NORゲート402の他方の入力はANDゲー
ト404の一つの入力に接続されている。ANDゲート
404の他の入力はJ−Kフリップフロップ406のQ
出力と接続されている。フリップフロップ406のJ入
力は高電位(すなわちアクティブ)に接続されている。
フリップフロップ406のK入力はANDゲート405
の出力と接続されている。ANDゲート405の入力に
は、インバータ401の出力及び確率推定値+PE,+PHが
接続される。フリップフロップ406はCLKクロック
信号によってクロッキングされる。ANDゲート404
の出力はORゲート413の入力に接続されている。
【0079】ORゲート413の他方の入力はANDゲ
ート411の出力と接続されている。ANDゲート41
1の入力はフリップフロップ406のQ*出力(ただ
し、*は図4中の論理否定を示す上バー記号を意味す
る。以下同様)とXNORゲート407の出力と接続さ
れている。XNORゲート407の入力はインバータ4
01の出力及び確率推定値+PHと接続されている。OR
ゲート413の出力はJ−Kフリップフロップ416の
K入力と接続されている。フリップフロップ416のJ
入力はNANDゲート412の出力と接続されている。
NANDゲート412の入力はフリップフロップ406
のQ出力及びANDゲート405の出力と接続されてい
る。フリップフロップ416はCLKクロック信号によ
ってクロッキングされる。フリップフロップ416のQ
出力はCODE BIT1 出力である。フリップフロップ416
のQ*出力は、ORゲート420の入力の一つに接続さ
れている。ORゲート420の他の入力は+PH確率推定
値及びNORゲート414の出力と接続されている。N
ORゲート414の入力は+PE確率推定値及びフリップ
フロップ406のQ*出力と接続されている。ORゲー
ト420の出力はANDゲート421の一方の入力と接
続されている。ANDゲート421の他方の入力はバッ
ファ403の出力と接続されている。ANDゲート42
1の出力はLENGTH-MSBである。
【0080】ANDゲート421の出力はXORゲート
422の入力の一つにも接続されている。XORゲート
422の他の入力はNORゲート419の出力に接続さ
れている。XORゲート422の出力はLENGTH-LSB で
ある。NORゲート419の入力の一つはANDゲート
415の出力と接続されている。ANDゲート415の
入力はANDゲート404の出力及びJ−Kフリップフ
ロップ416のQ出力と接続されている。NORゲート
417の他の入力はANDゲート417の出力に接続さ
れている。ANDゲート417の入力の一つはフリップ
フロップ406のQ*出力に接続されている。ANDゲ
ートの他の入力はORゲート410の出力に接続されて
いる。ORゲート410の入力はANDゲート408,
409の出力に接続されている。ANDゲート408の
入力はフリップフロップ416の反転されたQ出力及び
インバータ401の反転出力(すなわち非反転UNLIKELY
信号)と接続される。ANDゲート409の入力はフリ
ップフロップ416のQ出力及び+PH確率推定値に接続
される。NORゲート419の他の入力はANDゲート
418と接続される。ANDゲート418の入力はフリ
ップフロップ406のQ出力、+PH確率推定値及び+PE確
率推定値と接続されている。
【0081】前述のように、図4は図11に示された符
号化を実行する。2つのフリップフロップ406,41
6は状態変数の記憶に利用される。下に示すように、状
態変数はS8,S7,S6またはS5である。フリップ
フロップ406の”J”入力は高電位(アクティブ)に
接続されるが、これは奇数の状態(S5とS7)は1サ
イクル期間だけアクティブであるためである。下の<表
2>は、確率推定値PE,PHの各組み合わせ毎に遷移対が
選ばれた符号化テーブルを示している。
【0082】
【表2】
【0083】図4の回路は入力した確率に連続的に応答
して下の<表3>に示すような0,1,2または3の長
さの符号出力を生成する。
【0084】
【表3】
【0085】後続の回路が本回路の出力を用いた場合、
CLK信号で遷移を起こしてフリップフロップ406,
416を所要の新状態へ更新する。
【0086】図4の回路は格別リセットを行なわない。
UNLIKELY,PH及びPEが高電位の期間に、CLK信号の遷
移によってフリップフロップ406,416を正しいリ
セット状態(S8すなわち両フリップフロップがON)
にさせることができる。
【0087】図6は、本発明によって実現された符号器
・復号器の他の実施例を示す。本実施例では、2つのメ
モリ(図6中のROM300,310)を用いて、符号
化及び復号処理で利用される2つのルックアップテーブ
ル(例えば遷移状態マシン、遷移テーブル)を記憶す
る。これらのメモリは遷移の選択並びにデータの圧縮及
び伸長の制御のために利用される。図6において、Y/
N決定315、確率モデル(図1)からの確率320、
及び状態レジスタ330に保持されている符号器の状態
325がROM300に入力されることにより、圧縮デ
ータビットストリーム及び次の状態の識別子からなる適
切な出力を選択する。
【0088】伸長の場合、データレジスタ370からの
圧縮データ、確率320及び符号器の状態がインデック
スとしてROM310のルックアップテーブルに入力さ
れ、これに応答してROM310はY/N決定及び次状
態の識別子を出力する。
【0089】この回路は圧縮と伸長の両方を実行するの
で、圧縮イネーブル信号線335及び伸長イネーブル信
号線340を利用して回路動作を選択する。したがっ
て、この回路が圧縮を行なおうとする時には、圧縮イネ
ーブル信号線335が付勢されてROM300をイネー
ブルし、伸長を行なおうとする時には、伸長イネーブル
信号線340が付勢されてROM310をイネーブルす
る。
【0090】圧縮シーケンス期間に、ROM300はY
/N値315、確率320及び状態レジスタの状態32
5を受け取って、新状態350を出力し、また出力ビッ
ト数のカウント値を圧縮データ355として出力し、か
つ、圧縮データ360を出力する。新状態350は状態
レジスタ330に格納される。圧縮データ360はデー
タレジスタ370に格納され、ROM300から出力さ
れたビットカウント値355を用いてデータレジスタ3
70にビットをシフトインさせることにより、ROM3
00から出力された圧縮データビットを受け取らせる。
この圧縮データは、要求された時にデータレジスタ37
0を介し記憶メディアまたは伝送メディアへ出力でき
る。
【0091】データを伸長しようとする時は、データは
データレジスタ370に入力され、シフトカウント信号
線375に制御されつつデータレジスタ370から読み
出されて、確率320及び状態レジスタ330に保持さ
れている状態とともにROM320に入力される。これ
らの入力値を用いてROM310に置かれたテーブル内
でテーブルルックアップが実行され、同テーブルは、デ
ータ値が高い確率の範囲内にあるか否かを確率モデルへ
通知するためのY/N値380を出力する。ROM31
0は圧縮データのビット数及び回路の次の状態350も
出力する。このビット数は、データレジスタ370内の
ビットをシフトするためのシフトカウント線375に入
力される。前述のように、生成されたY/N信号は、入
力データを復元するため、伸長器の残りの部分、具体的
には確率モデル及びBDM装置へ入力される。
【0092】以上、本発明の実施例を説明したが、本発
明はそれのみに限定されるものでない。本発明の範囲
は、特許請求の範囲の各請求項により定義されるが、そ
の範囲内での様々な変形または修正も本発明に包含され
るものである。
【0093】
【発明の効果】本発明によれば、以上の実施例に関連し
た詳細説明から明かなように、2進決定により表現され
たデータの圧縮及び伸長を効率的に実現するための有効
かつ実現容易な方法及び装置を提供でき、その効果は極
めて大きい。
【図面の簡単な説明】
【図1】本発明の好適実施例の符号器及び復号器の典型
的なブロック図である。
【図2】本発明の符号器の簡略ブロック図である。
【図3】本発明の復号器の簡略ブロック図である。
【図4】本発明の一実施例の符号器の論理図である。
【図5】図4に示した符号器の入力値に対応した確率範
囲を識別するためのテーブルを示す。
【図6】本発明の他の実施例のブロック図である。
【図7】本発明の好適実施例で利用される遷移行列を生
成する処理を説明するフローチャートである。
【図8】本発明の好適実施例における遷移行列の閾値の
生成及び最適化の処理を説明する部分フローチャートで
ある。
【図9】本発明の好適実施例における遷移行列の閾値の
生成及び最適化の処理を説明する部分フローチャートで
ある。
【図10】本発明のシステムで採用される遷移行列の第
1例を示す。
【図11】本発明のシステムで採用される遷移行列の第
2例を示す。
【図12】本発明のシステムで採用される遷移行列の第
3例を示す。
【図13】本発明のシステムで採用される遷移行列の第
4例を示す。
【図14】本発明のシステムで採用される遷移行列の第
5例を示す。
【図15】本発明のシステムで採用される遷移行列の第
6例を示す。
【図16】従来の算術符号化方法の説明するため図であ
る。
【図17】従来の算術符号化方法を説明するための図で
ある。
【符号の説明】
100 オリジナルデータ 110,140 2進決定モデル(BDM) 115,135 確率推定モジュール(PEM) 120 符号器 125 圧縮データ 130 復号器 200,240 選択遷移機構 210,230 状態カウンタ 300,310 ROM(ルックアップテーブル) 315 Y/N決定 320 確率 325 状態 330 状態レジスタ 335 圧縮イネーブル信号線 340 伸長イネーブル信号線 350 新状態 355 ビットカウント値 360 圧縮データ 370 データレジスタ 375 シフトカウント信号線 380 Y/N値
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭53−110338(JP,A) 特開 昭62−29372(JP,A) 特開 昭63−76525(JP,A) 特開 昭63−254828(JP,A) 特開 平3−172047(JP,A) 特開 平5−252051(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/40 G06F 5/00

Claims (17)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力データに関連した確率値及び肯定/
    否定指示から符号ビットストリームを生成する方法であ
    って、 状態のそれぞれは1つ以上の遷移対を持ち、該1つ以上
    の遷移対は所定の閾値に従って選らばれ、該1つ以上の
    遷移対の遷移のそれぞれは、あるビットストリームに関
    連付けられかつ所定の肯定/否定指示に従い選ばれ、現
    在状態に初期化される、複数の状態を持つマシンを提供
    するステップと、 該確率値に従って該遷移マシンの該現在状態の該1つ以
    上の遷移対をサーチするステップ、 該遷移に関連したビットストリームを出力しかつ該肯定
    /否定指示に従って次の状態に遷移するステップを有
    し、 次の該確率値のサーチは該次状態の遷移対のサーチから
    始まるようにしてなる符号化方法。
  2. 【請求項2】 請求項1記載の符号化方法において、該
    遷移マシン提供のステップは、最大ビットストリーム長
    を選ぶステップ、該遷移マシンの状態を定義するステッ
    プ、及び該状態のそれぞれの遷移対を生成するステップ
    からなることを特徴とする符号化方法。
  3. 【請求項3】 請求項2記載の符号化方法であって、該
    遷移マシンにおいて遷移対のそれぞれの閾値を最適化す
    るステップをさらに有することを特徴とする符号化方
    法。
  4. 【請求項4】 請求項2記載の符号化方法であって、該
    遷移対の生成の前に1つ以上の追加的状態を追加するス
    テップをさらに有することを特徴とする符号化方法。
  5. 【請求項5】 請求項4記載の符号化方法において、該
    1つ以上の追加的状態は予め生成された状態へ戻る遷移
    を有することを特徴とする符号化方法。
  6. 【請求項6】 請求項3記載の符号化方法において、該
    閾値最適化のステップは、確率推定値の分布を生成する
    ステップ、各状態の最も低コストの状態に対する相対的
    なコストを推定するステップ、最適な確率閾値を生成す
    るステップ、及び最適確率閾値が収れんするか否かを判
    定するステップからなり、 最適確率閾値が収れんするときには閾値は最適化されて
    おり、最適確率閾値が収れんしないときは該閾値を更新
    して上記各ステップを繰り返すようにしてなることを特
    徴とする符号化方法。
  7. 【請求項7】 請求項1記載の符号化方法であって、出
    力ビットストリームの一部を反転させるステップをさら
    に有することを特徴とする符号化方法。
  8. 【請求項8】 請求項7記載の符号化方法において、該
    反転させるステップは該ビットストリームに関するXO
    Rゲートをトグルさせるステップからなることを特徴と
    する符号化方法。
  9. 【請求項9】 入力データに関連した確率値及び肯定/
    否定指示から符号ビットストリームを生成する装置であ
    って、 状態のそれぞれは1つ以上の遷移対を持ち、該1つ以上
    の遷移対は所定の閾値に従って選ばれ、該1つ以上の遷
    移対の遷移のそれぞれは、あるビットストリームに関連
    付けられかつ所定の肯定/否定指示に従い選ばれ、現在
    状態に初期化される、複数の状態を遷移マシンと、 該確率値に従って該遷移マシンの該現在状態の該1つ以
    上の遷移対をサーチする手段、 該遷移に関連したビットストリームを出力し、及び該肯
    定/否定指示に従って次の状態に遷移する手段を具備
    し、 次の該確率値のサーチは該次状態の遷移対のサーチより
    始まるようにしてなる符号化装置。
  10. 【請求項10】 非圧縮データを復元するために圧縮ビ
    ットストリームを復号する復号器であって、 圧縮ビットストリームを受け取る入力手段を具備し、 所定の基底状態に初期化され、該復号器の状態を識別す
    る状態手段と、 該復号器の次の状態を選択しかつ復元すべきデータが確
    率値によって決まる確率範囲内にあるか否かを指示する
    肯定/否定値を選択する選択遷移機構を具備し、 該選択遷移機構は状態毎の0個以上の遷移対の要素から
    なる遷移マトリクスを具備し、各遷移対の各要素は肯定
    /否定値及び該状態手段に与えられる次状態の識別子か
    らなり、該肯定/否定値は非圧縮データを復元するため
    のモデリング手段へ与えられるようにしてなる復号器。
  11. 【請求項11】 非圧縮データを復元するために圧縮ビ
    ットストリームを復号する方法であって、 状態のそれぞれは1つ以上の遷移対を持ち、該1つ以上
    の遷移対は所定の閾値に従って選らばれ、該1つ以上の
    遷移対の遷移のそれぞれは、あるビットストリームに関
    連付けられかつ所定の肯定/否定指示に従い選ばれ、あ
    る現在状態に初期化されてる複数の状態を持つ遷移マシ
    ンを提供するステップと、 圧縮ビットストリームを受け取るステップと、 該確率値に従って該遷移マシンの該現在状態の該1つ以
    上の遷移対をサーチするステップと、 該遷移に関連した非圧縮ビットストリームを出力し、か
    つ該肯定/否定指示に従って次の状態に遷移するステッ
    プを有し、 次の該確率値のサーチは該次状態の遷移対のサーチより
    始まるようにしてなる復号方法。
  12. 【請求項12】 入力データを圧縮するための装置であ
    って、入力データの特徴を、発生確率の範囲を指定する
    確率値、及び、該入力データが該確率値によって決まる
    範囲内であることの肯定/否定指示として表現するモデ
    リング手段と、該入力データの圧縮形を表わすビットス
    トリームを生成する符号器を具備し、 該符号器は、 確率値、及び、該入力データが該確率値によって決まる
    範囲内であることを示す肯定/否定値を受け取る入力手
    段、 符号器の状態を識別する、所定の基底状態に初期化され
    た状態手段、 符号器の次の状態及び該入力データの圧縮形を表わすビ
    ットストリームの一部になる出力データとしての0ビッ
    ト以上を選択するための選択遷移機構からなり、 該選択遷移機構は、状態毎の0個以上の遷移対の要素か
    らなり、各遷移対の各要素は出力データとしての0ビッ
    ト以上及び該状態手段に与える次状態の識別子からなる
    遷移行列を具備し、該状態手段からの該復号器の状態の
    識別子、並びに、モデリング手段からの確率値及び入力
    データが該確率値で決まる範囲内であるか示す肯定/否
    定値を受け取り、入力データを表わす圧縮データストリ
    ームを生成して出力するようにしてなるデータ圧縮装
    置。
  13. 【請求項13】 請求項12記載のデータ圧縮装置であ
    って、圧縮ビットストリームを、非圧縮データを復元す
    るため復号する復号器をさらに具備し、 該復号器は、 圧縮ビットストリームを受け取る入力手段、 該復号器の状態を識別する、所定の基底状態に初期化さ
    れた状態手段、 該復号器の次の状態、及び復元されるべきデータが確率
    値によって決まる確率範囲内であるかを示す肯定/否定
    値を選択する選択遷移機構からなり、 該選択遷移機構は、状態毎の0個以上の遷移対の要素か
    らなり、各遷移対の各要素は肯定/否定値及び該状態手
    段に与える次状態の識別子からなり、該肯定/否定値は
    非圧縮データを復元するためのモデリング手段へ与えら
    れるようにしてなることを特徴とするデータ圧縮装置。
  14. 【請求項14】 遷移マシンを生成する方法であって、 最大ビットストリーム長Nを選ぶステップと、 基底状態をS(2N)とする、該遷移マシンの状態を提
    供するステップと、 それぞれの状態の遷移対を生成するステップを具備し、 可能な出力は第1の部分と第2の部分に分割されること
    によって、対をなす一方の遷移が1つ以上の許容された
    Nビット系列を持つ状態へ行き、同対の他方の遷移が残
    りの許容されたNビット系列を持つ状態へ行くようにさ
    れ、許容されるNビット系列を1つだけしか持たない状
    態へ遷移した時に、該系列は該系列の出力及び基底状態
    への遷移を構成するようにしてなる遷移マシン生成方
    法。
  15. 【請求項15】 請求項14記載の遷移マシン生成方法
    であって、該遷移マシンにおいて遷移対のそれぞれの閾
    値を最適化するステップをさらに具備することを特徴す
    る遷移マシン生成方法。
  16. 【請求項16】 請求項14記載の遷移マシン生成方法
    であって、該遷移対の生成前に1つ以上の付加的状態を
    追加するステップをさらに具備することを特徴とする遷
    移マシン生成方法。
  17. 【請求項17】 請求項15記載の遷移マシン生成方法
    において、閾値最適化のステップは、確率推定値の分布
    を生成するステップ、各状態の最低コストの状態に対す
    る相対的なコストを推定するステップ、最適確率閾値を
    生成するステップ、及び最適確率閾値が収れんするか判
    定するステップからなり、収れんするときには該閾値は
    最適化されており、収れんしないときは該閾値を削除し
    て上記各ステップを繰り返すことを特徴とする遷移マシ
    ン生成方法。
JP5198099A 1992-08-17 1993-08-10 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法 Expired - Fee Related JP3017379B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/931156 1992-08-17
US07/931,156 US5272478A (en) 1992-08-17 1992-08-17 Method and apparatus for entropy coding

Publications (2)

Publication Number Publication Date
JPH06224777A JPH06224777A (ja) 1994-08-12
JP3017379B2 true JP3017379B2 (ja) 2000-03-06

Family

ID=25460303

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5198099A Expired - Fee Related JP3017379B2 (ja) 1992-08-17 1993-08-10 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法

Country Status (2)

Country Link
US (2) US5272478A (ja)
JP (1) JP3017379B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107863968A (zh) * 2017-10-13 2018-03-30 国网河北能源技术服务有限公司 一种光伏电站出力数据压缩与解压缩的方法

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US5717394A (en) * 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
FR2708168B1 (fr) * 1993-07-20 1995-08-25 Thomson Consumer Electronics Procédé et dispositif d'estimation d'un budget de bits pour encodeurs à longueur de mot variable.
US5640159A (en) * 1994-01-03 1997-06-17 International Business Machines Corporation Quantization method for image data compression employing context modeling algorithm
US5471207A (en) * 1994-02-23 1995-11-28 Ricoh Company Ltd. Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
US5748786A (en) * 1994-09-21 1998-05-05 Ricoh Company, Ltd. Apparatus for compression using reversible embedded wavelets
US6141446A (en) * 1994-09-21 2000-10-31 Ricoh Company, Ltd. Compression and decompression system with reversible wavelets and lossy reconstruction
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
GB2306868B (en) * 1994-09-30 1997-10-22 Ricoh Kk Apparatus for decoding data
US5654702A (en) * 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
US5659631A (en) * 1995-02-21 1997-08-19 Ricoh Company, Ltd. Data compression for indexed color image data
US5710562A (en) * 1995-08-31 1998-01-20 Ricoh Company Ltd. Method and apparatus for compressing arbitrary data
JP2840589B2 (ja) * 1996-02-09 1998-12-24 富士通株式会社 データ圧縮装置及びデータ復元装置
US6144773A (en) * 1996-02-27 2000-11-07 Interval Research Corporation Wavelet-based data compression
US5912636A (en) * 1996-09-26 1999-06-15 Ricoh Company, Ltd. Apparatus and method for performing m-ary finite state machine entropy coding
DE19758853B4 (de) * 1996-09-26 2006-09-07 Ricoh Co., Ltd. Dekoder und Verfahren zum Dekodieren sowie System mit Kodierer und Dekodierer
GB2325584B (en) * 1997-05-01 2000-03-29 Ricoh Kk Decompression system using inverse wavelet transform
AU7709098A (en) 1997-05-30 1998-12-30 Interval Research Corporation Method and apparatus for wavelet based data compression
US6101281A (en) 1997-06-09 2000-08-08 At&T Corp. Method for improving data encoding and decoding efficiency
US6094151A (en) * 1998-01-05 2000-07-25 Ricoh Company, Ltd. Apparatus and method for finite state machine coding of information selecting most probable state subintervals
JP3391251B2 (ja) * 1998-03-25 2003-03-31 三菱電機株式会社 適応確率推定方法及び適応符号化方法並びに適応復号方法
US6708220B1 (en) * 1998-11-19 2004-03-16 X/Net Associates, Inc. System and method for in-stream data compression
AU1916800A (en) * 1998-11-20 2000-06-13 Interval Research Corporation Low cost video compression using fast, modified z-coding of wavelet pyramids
GB2395823B (en) * 2000-01-27 2004-08-25 Automatic Parallel Designs Ltd Method and apparatus for binary encoding logic circuits
US20060173848A1 (en) * 2000-03-09 2006-08-03 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
US20050015608A1 (en) 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US6879988B2 (en) 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US6947874B2 (en) * 2000-11-16 2005-09-20 Canon Kabushiki Kaisha Entropy coding
US6677868B2 (en) * 2001-03-16 2004-01-13 Sharp Laboratories Of America, Inc. Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
EP2326013B1 (de) * 2002-05-02 2013-11-06 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Verfahren und Anordnung zur arithmetischen Enkodierung und Dekodierung mit Verwendung mehrerer Tabellen
JP3853710B2 (ja) * 2002-07-15 2006-12-06 Necアクセステクニカ株式会社 ディジタル画像符号化装置およびディジタル画像符号化方法
GB2396718B (en) * 2002-12-23 2005-07-13 Arithmatica Ltd A logic circuit and method for carry and sum generation and method of designing such a logic circuit
US6909767B2 (en) * 2003-01-14 2005-06-21 Arithmatica Limited Logic circuit
US7308471B2 (en) 2003-03-28 2007-12-11 Arithmatica Limited Method and device for performing operations involving multiplication of selectively partitioned binary inputs using booth encoding
US7433519B2 (en) * 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
GB2401962B (en) * 2003-05-23 2005-05-18 Arithmatica Ltd A sum bit generation circuit
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US7379608B2 (en) 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
US7586924B2 (en) 2004-02-27 2009-09-08 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream
US7161507B2 (en) * 2004-08-20 2007-01-09 1St Works Corporation Fast, practically optimal entropy coding
US7265691B2 (en) * 2005-06-23 2007-09-04 1Stworks Corporation Modeling for enumerative encoding
WO2007028226A1 (en) * 2005-09-09 2007-03-15 Ibm Canada Limited - Ibm Canada Limitee Method and system for state machine translation
WO2008075663A1 (ja) * 2006-12-21 2008-06-26 Ajinomoto Co., Inc. 大腸癌の評価方法、ならびに大腸癌評価装置、大腸癌評価方法、大腸癌評価システム、大腸癌評価プログラムおよび記録媒体
US7949679B2 (en) * 2008-03-05 2011-05-24 International Business Machines Corporation Efficient storage for finite state machines
EP2214315A1 (en) * 2009-01-30 2010-08-04 Thomson Licensing Method and device for encoding a bit sequence
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
US9734595B2 (en) 2014-09-24 2017-08-15 University of Maribor Method and apparatus for near-lossless compression and decompression of 3D meshes and point clouds
US10499074B2 (en) 2017-01-09 2019-12-03 Qualcomm Incorporated Binary arithmetic coding with small tables or short-operand multiplications for video coding
US10965315B2 (en) 2018-08-09 2021-03-30 Andrew Kamal Data compression method
US11115049B1 (en) * 2020-08-24 2021-09-07 Innogrit Technologies Co., Ltd. Hardware friendly data decompression
US11115050B1 (en) * 2020-08-24 2021-09-07 Innogrit Technologies Co., Ltd. Hardware friendly data decompression

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4122440A (en) * 1977-03-04 1978-10-24 International Business Machines Corporation Method and means for arithmetic string coding
US4286256A (en) * 1979-11-28 1981-08-25 International Business Machines Corporation Method and means for arithmetic coding utilizing a reduced number of operations
US4467317A (en) * 1981-03-30 1984-08-21 International Business Machines Corporation High-speed arithmetic compression coding using concurrent value updating
US4933883A (en) * 1985-12-04 1990-06-12 International Business Machines Corporation Probability adaptation for arithmetic coders
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
JPH0834432B2 (ja) * 1989-01-31 1996-03-29 三菱電機株式会社 符号化装置及び符号化方法
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107863968A (zh) * 2017-10-13 2018-03-30 国网河北能源技术服务有限公司 一种光伏电站出力数据压缩与解压缩的方法
CN107863968B (zh) * 2017-10-13 2021-01-08 国网河北能源技术服务有限公司 一种光伏电站出力数据压缩与解压缩的方法

Also Published As

Publication number Publication date
US5363099A (en) 1994-11-08
JPH06224777A (ja) 1994-08-12
US5272478A (en) 1993-12-21

Similar Documents

Publication Publication Date Title
JP3017379B2 (ja) 符号化方法、符号化装置、復号方法、復号器、データ圧縮装置及び遷移マシン生成方法
US5045852A (en) Dynamic model selection during data compression
US5912636A (en) Apparatus and method for performing m-ary finite state machine entropy coding
CN109450596B (zh) 编码方法、解码方法、编码设备、解码设备、存储介质及终端
US8711019B1 (en) Context-based adaptive binary arithmetic coding engine
JP2004147318A (ja) Ldpc復号化装置及びその方法
CN110291793B (zh) 上下文自适应二进制算术编解码中范围推导的方法和装置
Ahmed et al. Information and communication theory-source coding techniques-part II
CN109495211B (zh) 一种信道编码和解码方法
CN109075804B (zh) 使用极化码的通信设备和通信方法
CN110602498B (zh) 一种自适应有限状态熵编码的方法
CN110798224A (zh) 一种压缩编码、检错及解码方法
JP3801501B2 (ja) 符号化装置及び復号装置及び符号化・復号装置及び符号化方法及び復号方法及び符号化・復号方法及びプログラム
US11296720B2 (en) Data compression using reduced numbers of occurrences
Jou et al. A fast and efficient lossless data-compression method
Hameed et al. A new lossless method of Huffman coding for text data compression and decompression process with FPGA implementation
WO2020186535A1 (zh) 点云属性编码方法和装置以及点云属性解码方法和装置
KR100207428B1 (ko) 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법
Howard et al. Parallel lossless image compression using Huffman and arithmetic coding
JP2002271206A (ja) データ符号化復号方法、データ符号化復号システム、及びデータ復号装置
JP3235510B2 (ja) 符号化方法及び符号化装置、復号化方法及び復号化装置
JPH07123276A (ja) 画像信号のデジタル圧縮符号化方法
JP3084187B2 (ja) 2値画像符号化装置及び2値画像復号化装置
Hung et al. Mathematical Preliminaries in the Case of Lossless Compression Markov Models
Zhang Compression by model combination

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071224

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20081224

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091224

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees