JP3278297B2 - データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 - Google Patents

データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置

Info

Publication number
JP3278297B2
JP3278297B2 JP16850294A JP16850294A JP3278297B2 JP 3278297 B2 JP3278297 B2 JP 3278297B2 JP 16850294 A JP16850294 A JP 16850294A JP 16850294 A JP16850294 A JP 16850294A JP 3278297 B2 JP3278297 B2 JP 3278297B2
Authority
JP
Japan
Prior art keywords
code
data
tree
context
character
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
JP16850294A
Other languages
English (en)
Other versions
JPH0830432A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Priority to JP16850294A priority Critical patent/JP3278297B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to EP00107596A priority patent/EP1024600B1/en
Priority to DE69535118T priority patent/DE69535118T2/de
Priority to DE69532775T priority patent/DE69532775T2/de
Priority to DE69527679T priority patent/DE69527679T2/de
Priority to EP02022276A priority patent/EP1289153B1/en
Priority to EP95106027A priority patent/EP0695040B1/en
Publication of JPH0830432A publication Critical patent/JPH0830432A/ja
Priority to US08/948,325 priority patent/US5907637A/en
Application granted granted Critical
Publication of JP3278297B2 publication Critical patent/JP3278297B2/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
    • 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
    • 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/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ圧縮方法及びデ
ータ復元方法並びにデータ圧縮装置及びデータ復元装置
に関する。近年、文字コード、ベクトル情報,画像など
様々な種類のデータがコンピュータで扱われるようにな
っており、扱われるデータ量も急速に増加してきてい
る。これに伴い、大量のデータを扱うときは、データの
中の冗長な部分を省いてデータ量を圧縮することで、記
憶容量を減らしたり速く伝送したりすることが行なわれ
ている。また、様々なデータを一つの方式でデータ圧縮
できる方法としてユニバーサル符号化が提案されてい
る。
【0002】ここで、本発明の分野は文字コードの圧縮
に限らず、様々なデータに適用できるが、以下では情報
理論で用いられている呼称を踏襲し、データの1ワード
単位を文字といい、データが任意ワードつながったもの
を文字列と呼ぶようにする。
【0003】
【従来の技術】テキストデータやフィアル等を圧縮する
方式には、データ系列の類似性を利用いた辞書型符号化
方式と、データ列の出現頻度を利用した確率統計型符号
化方式(statistical coding) がある。この内、確率統
計型符号化の代表的な手法が、上述のユニバーサル符号
化である。
【0004】さらに、算術符号化と呼ばれる符号化があ
る。この算術符号化とは、各文字の出現確率に適応した
符号を、符号表をもたずに、計算しながら生成するもの
であり、情報源の文字の出現頻度が分かっている場合に
最大の効率で圧縮できるといわれている方法であり、2
値算術符号化と3値以上の多値算術符号化とがある。
【0005】以下に、多値算術符号化の方法について述
べる。多値算術符号化では、まず0≦P<1(以下、
〔0,1〕と記述する)の数直線を、出現した文字の事
象(以下、シンボルという)の数で分割する。ここで、
各区間の幅はシンボルの出現頻度の比に比例するように
取り、出現頻度が高い順に区間を配置する。
【0006】そして、出現したシンボルに対応する区間
を選択し、次のシンボルでは選択した区間をさらに全シ
ンボル数分の区間に分割し対応するシンボルの区間を選
択するという具合に、再帰的に選択した区間を細分す
る。上述の処理について、図32(a),図32(b)
に示す多値算術符号化の原理を説明する図を参照しなが
ら具体的に述べる。
【0007】ここで、図32(a)はシンボルと出現頻
度の一例を示す図、同図32(b)はシンボルの区間分
割の例を示す図である。そして、文字列“abe”の区
間を分割する場合を例にとり、説明を進める。まず、数
直線〔0,1〕を、図32(a)で示すような文字a,
b,c,d,eの5つの区間に分割する。
【0008】そして、最初に出現したシンボル“a”の
区間〔0,0.2〕を選択し、この選択した区間〔0,
0.2〕を、さらに、全シンボルa〜eの5つの区間に
分割する。次に、第2に出現したシンボル“b”の区間
〔0.04,0.06〕を選択し、この区間〔0.0
4,0.06〕を、さらに全シンボルa〜eの5つの区
間に分割する。こうして、第3に出現したシンボル
“e”の区間を選択することにより、文字列“abe”
の区間〔0.05,0.06〕が得られる。
【0009】このように、全入力データについて、上述
のような処理を繰り返すことで、符号化する文字列の区
間を決定することができ、最終的に定まった文字列の区
間内の任意の点を2進表示で表したものを、圧縮符号と
して出力するのである。「算術符号化」という名称は、
符号語が〔0.11011・・〕のように、2進数の小
数点以下の数値で表現され、それを計算で求められるこ
とからきている。
【0010】また、上述のような出現頻度に応じた区間
の分割方法には、文字列の実際の出現頻度によらず、予
め設定した出現頻度に従って区間を分割する静的符号化
方式(static)、最初に全文字列を走査することにより得
られた出現頻度で区間を分割する準適応型符号化方式(s
emi-adaptive) 、又は文字が出現する毎に頻度を再計算
して1文字毎に区間を再設定する適応型符号化方式(ada
ptive)とがある。
【0011】ところで、上述の多値算術符号化をファイ
ル圧縮に用い、バイト(文字)単位にデータを圧縮する
方法は、例えば、以下の2つの文献,に記載されて
いる。 "Arithmetic Coding for Data Compression," Commu
n. of ACM, Vol.30, No.6 PP.520 −540(1986) "An Adative Dependency Source Model for Data Com
pression Scheme," Commun. of ACM, Vol.32 No.1 PP.7
7 −83 ここで、文献は、多値算術符号化の具体的なアルゴリ
ズムを開示している。また、この文献での多値算術符
号化は、1文字単位に符号化・圧縮するエントロピー符
号化と呼ばれる方法の一つであり、注目文字の出現確率
を多値算術符号化するとともに、各文字の出現確率をそ
の文字が表れるごとに逐次更新し、種々のデータに動的
に適応して符号化を行なうものである。また、この多値
算術符号化では、詳細には図33(a)のフローチャー
トに示すような処理が行なわれる。
【0012】一方、文献の方法は、注目文字を直前文
字を用いた条件付確率で表し、その条件付確率を多値算
術符号化することで高圧縮率を得る方法を与え、各条件
付確率を逐次更新し、種々のデータに動的に適応して符
号化を行なうものである。この多値算術符号化において
も、図33(b)のフローチャートに示すような処理が
行なわれる。
【0013】ここで、多値算術符号化の代わりに、ハフ
マン符号化の変形であるダイナミック・ハフマン符号化
("Variation a Theme by Huffman", IEEE Trans. Info
rm.Theory, Vol.24, No.6 1978, または、"Design and
Analysis of Dynamic Huffman Codes", Journal of AC
M, Vol.34, No.4 1987 参照)を用いる方法も考えられ
るが、このダイナミック・ハフマン符号化は、符号化効
率が多値算術符号化より劣る上、処理に時間がかかるた
め、条件付確率をダイナミック・ハフマン符号化する方
法は実際には使用されていない。
【0014】なお、図34は、この多値算術符号化・復
号化のアルゴリズムの一例を示す図である。また、算
符号化とは別にスプレイ(Splay-Tree)符号化方法と呼
ばれるものがある(例えば、文献"Application of Spla
y Tree to Data Compression"DOUGLAS W.JONES著 Commu
n.of ACM,Vol31 No.8 P996-1007 参照) 。
【0015】このスプレイ符号化方法では、図35
(a)に示すような木構造の符号表( 以下、符号木と称
する) を用い、符号木の終端( 一般的に葉、あるいはリ
ーフと呼ばれる)にシンボルを登録し、符号木の頂点
(一般的に根,あるいはルートと呼ばれる)から入力デ
ータが格納されているリーフまでの距離を符号語として
出力する。
【0016】具体的に述べると、符号語には、ルートか
らリーフへ下るとき、右へ分岐したときは“1”、左へ
分岐したときは“0”を割り当てるのである。つまり、
35(a)の例では、シンボルAの符号は〔1011
0〕となり、シンボルBの符号は〔001〕となる。そ
して、符号長を変更する(符号更新する)場合は、符号
化したリーフと他のリーフ、あるいは符号木上の接点
(節、あるいはノードと呼ばれる)とを組み替えること
により行なう。
【0017】図35(b)に上述の符号更新の例を示
す。この図35(b)に示すように、入力されたデータ
の中に、初めシンボルA,B,C,Dの各符号が符号木
のリーフに格納されている。そして、まずシンボルAと
シンボルCとのノードを組み替え、さらにシンボルAの
上位ノードDとシンボルEとのノードを組み替えること
により、図35)に示すように、シンボルAの符号
は、〔10110〕から〔110〕となり符号の更新が
行なわれる。
【0018】ここで、上述の説明は1文字毎の出現確率
を動的に可変長符号化する場合であるが、さらに、圧縮
率を高めるためには、入力信号と直前の文字との依存関
係を取り入れた条件付き出現確率を動的可変長符号化す
ることで行なわれる。この方法は、データの確率統計的
な性質を用いる確率統計型符号化であり、図36に示す
ように、文脈収集処理511と動的可変長符号化処理5
12との2段階の処理からなる。
【0019】そして、図37(a)に示すように、文脈
収集により入力データから文字列の前後関係の文脈を収
集し、図37(b)に示すような文脈の木構造を作成
し、条件付き確率を求めて動的可変長符号化する。ここ
で、上述の条件付き確率は、図37(b)に示すような
木構造の文脈木上において、各ノードの文字を通る文字
列が出現する毎に出現回数を計数しておくことによって
求められる。
【0020】ところで、条件付き確率を求める文脈収集
の方法には、主に以下の2つの方法がある。なお、以
下、条件(文脈)の文字数を次数と呼ぶことにする(文
献"Data Compression Using Adaptive Coding and Part
ial String Matching"JOHN G.CLEARY 他著IEEE Vol.COM
-32,No.4 APRIL 1984 P396-402参照) 。 (1)固定次数の文脈収集方法 この方法は、条件付き確率の条件を固定の文字数にする
方法である。
【0021】例えば2次の文脈では、直前2文字につな
がる文字の文脈を収集し、条件付き確率p(y|x1
,x2 )を符号化する。ただし、yは注目符号化文
字,x1 ,x2 はそれぞれ直前の第1文字,第2文
字である。 (2)Blending文脈収集方法 上述の固定次数の文脈収集方法では、直前の条件文字列
が出にくい場合、条件付き確率の推定は不正確になり、
逆に直前の条件付き文字列が出やすい場合は条件付き確
率の推定は正確になり、さらに次数を上げ得る可能性を
残す。
【0022】一般に、高次の文脈を使うほど文字間の相
関が大きいデータに対しては高圧縮率が得られるが、逆
に高次文脈を使うほど相関が小さくなるデータでは、か
えって圧縮率が悪くなる。これを解決するのが文脈のBl
ending(次数の混合)である。この方法は、直前の次数
を固定せずに出やすい場合には次数を上げ、出にくい場
合には低い次数のままという具合に文脈の次数を入力デ
ータに適応させて伸ばす方法である。
【0023】
【発明が解決しようとする課題】しかしながら、算術符
号化を動的可変長符号に用いた確率統計型符号化方式に
は、データが入力されてくる度にそれまで入力された全
てのデータの累積頻度を再計算し、〔0,1〕の数直線
を再分割するので、複雑で大量な演算処理を必要であ
り、処理の高速化が行なえないという課題がある。
【0024】本発明は、このような課題に鑑み創案され
たもので、算術符号の区間計算の代わりにスプレイ符号
化を適用し、このスプレイ符号化における符号木に新規
データを登録することで、高速な符号登録処理を可能に
してデータ圧縮/復元処理を高速化できるようにした、
データ圧縮方法及びデータ復元方法並びにデータ圧縮装
置及びデータ復元装置を提供することを目的とする。
【0025】
【課題を解決するための手段】このため、本発明のデー
タ圧縮方法は、入力データを過去に出現した履歴に応じ
て符号化して圧縮するデータ圧縮方法において、次のよ
うな過程をとることを特徴としている(請求項1)。 (1)入力データの文字列について直前文字との繋がり
を表わす文脈を収集して文脈木を作成する文脈収集過
程。 (2)この文脈収集過程で得られた文脈木の各ノードに
対応する符号を符号木アドレスで対応させることにより
文脈に対応してスプレイ符号を対応させた符号木を、入
力データの文字列に応じてスプレイ符号化しながら作成
・更新するスプレイ符号化過程。
【0026】また、本発明のデータ圧縮方法は、入力デ
ータを過去に出現した履歴に応じて符号化して圧縮する
データ圧縮方法において、上記入力データの文字列を収
集し、収集した文字列に番号を付けて直前文字との繋が
りを表わす文脈を辞書としての文脈木に登録するととも
に、この文脈木の各ノードに対応する符号を符号木アド
レスで対応させることにより文脈に対応してスプレイ符
号を対応させておき、最長一致文字列の辞書番号に対応
するスプレイ符号の符号化及び更新を施すとともに、所
定の最大文字列長に達するまで符号化文字列の伸長文字
列を文脈木に登録し、その伸長文字列に対応するスプレ
イ符号を木構造の符号表としての符号木に登録すること
を特徴としている(請求項2)。
【0027】さらに、本発明のデータ圧縮方法では、辞
書登録文字列として、符号化済の直前文字から登録し、
直前文字から続く文字列を符号化するようにしてもよい
(請求項3)。また、本発明のデータ圧縮方法では、全
ての一文字にスプレイ符号を割り当てておき、もし、直
前文字から繋がる文字列が既に収集した辞書(文脈木)
中の文字列中になければ、一文字のスプレイ符号を出力
するとともにそのスプレイ符号を更新した後、直前文字
から繋がる符号化した文字を辞書(文脈木)に登録する
ようにしてもよい(請求項4)。
【0028】一方、本発明のデータ復元方法は、入力デ
ータを過去の入力データの履歴に応じて符号化した符号
化データを復元するデータ復元方法において、次のよう
な過程をとることを特徴としている(請求項5)。 (1)復元データの文字列について直前文字との繋がり
を表わす文脈を収集して文脈木を作成する文脈収集過
程。 (2)この文脈収集過程で得られた文脈木の各ノードに
対応する符号を符号木アドレスで対応させることにより
文脈に対応してスプレイ符号を対応させた符号木を、復
元データの文字列に応じてスプレイ符号化しながら作成
・更新するスプレイ符号化過程。
【0029】また、本発明のデータ復元方法は、入力デ
ータを過去の入力データの履歴に応じて符号化した符号
化データを復元するデータ復元方法において、復元した
データの文字列を収集し、収集した文字列に番号を付け
て直前文字との繋がりを表わす文脈を辞書としての文脈
木に登録するとともに、その文脈木の各ノードに対応す
る符号を符号木アドレスで対応させることにより文脈に
対応してスプレイ符号を対応させておき、辞書番号に対
応する文字列をスプレイ符号で復号化及び更新するとと
もに、所定の最大文字列長に達するまで符号化文字列の
伸長文字列を文脈木に登録し、その伸長文字列に対応す
るスプレイ符号を木構造の符号表としての符号木に登録
することを特徴としている(請求項6)。
【0030】さらに、本発明のデータ復元方法では、辞
書登録文字列として、復号化済の直前文字から登録し、
直前文字から続く文字列を復号化するようにしてもよく
(請求項7)、全ての一文字にスプレイ符号を割り当て
ておき、直前文字から繋がる文字列が既に収集した辞書
(文脈木)中の文字列中にない一文字のスプレイ符号を
復号したとき、符号を更新するとともに、直前文字から
繋がる復号化した文字を辞書(文脈木)に登録するよう
にしてもよい(請求項8)
【0031】
【作用】上述の本発明のデータ圧縮方法では、次のよう
な作用がある(請求項1)。 (1)文脈収集過程により、入力データの文字列につい
て直前文字との繋がりを表わす文脈を収集して文脈木を
作成することができる。 (2)スプレイ符号化過程により、この文脈収集過程で
得られた文脈木の各ノードに対応する符号を符号木アド
レスで対応させることにより文脈に対応してスプレイ符
号を対応させた符号木を、入力データの文字列に応じて
スプレイ符号化しながら作成・更新することができる。
【0032】また、本発明のデータ圧縮方法では、入力
データを過去に出現した履歴に応じて符号化して圧縮す
るデータ圧縮方法において、辞書としての文脈木に入力
データの文字列について直前文字との繋がりを表わす文
脈を収集し番号を付けて登録するとともに、その文脈木
の各ノードに対応する符号を符号木アドレスで対応させ
ることにより文脈に対応してスプレイ符号を対応させて
おき、最長一致文字列の辞書番号に対応するスプレイ符
号の符号化及び更新を施すとともに、所定の最大文字列
長に達するまで符号化文字列の伸長文字列を文脈木に登
録し、その伸長文字列に対応するスプレイ符号を符号木
に登録することができる(請求項2)。
【0033】さらに、本発明のデータ圧縮方法では、辞
書登録文字列として、符号化済の直前文字から登録し、
直前文字から続く文字列を符号化することもできる(請
求項3)。また、本発明のデータ圧縮方法では、全ての
一文字にスプレイ符号を割り当てておき、もし、直前文
字から繋がる文字列が既に収集した辞書(文脈木)中の
文字列中になければ、一文字のスプレイ符号を出力する
とともにそのスプレイ符号を更新した後、直前文字から
繋がる符号化した文字を辞書(文脈木)に登録すること
もできる(請求項4)。
【0034】一方、本発明のデータ復元方法では、次の
ような作用がある(請求項5)。 (1)文脈収集過程により、復元データの文字列につい
て直前文字との繋がりを表わす文脈を収集して文脈木を
作成することができる。 (2)スプレイ符号化過程により、この文脈収集過程で
得られた文脈木の各ノードに対応する符号を符号木アド
レスで対応させることにより文脈に対応してスプ レイ符
号を対応させた符号木を、復元データの文字列に応じて
スプレイ符号化しながら作成・更新することができる。
さらに、本発明のデータ復元方法では、入力データを過
去の入力データの履歴に応じて符号化した符号化データ
を復元するデータ復元方法において、辞書としての文脈
木に、復元したデータの文字列を収集し番号を付けて直
前文字との繋がりを表わす文脈を登録するとともに、
脈木の各ノードに対応する符号を符号木アドレスで対応
させることにより復元した文字列に対応してスプレイ符
号を対応させておき、辞書番号に対応する文字列をスプ
レイ符号で復号化及び更新するとともに、所定の最大文
字列長に達するまで符号化文字列の伸長文字列を文脈木
に登録し、その伸長文字列に対応するスプレイ符号を符
号木に登録することができる(請求項6)。
【0035】また、本発明のデータ復元方法では、辞書
登録文字列として、復号化済の直前文字から登録し、直
前文字から続く文字列を復号化することもできる(請求
項7)。さらに、本発明のデータ復元方法では、全ての
一文字にスプレイ符号を割り当てておき、直前文字から
繋がる文字列が既に収集した辞書(文脈木)中の文字列
中にない一文字のスプレイ符号を復号したとき、符号を
更新するとともに、直前文字から繋がる復号化した文字
を辞書(文脈木)に登録することもできる(請求項
8)
【0036】
【実施例】(a)実施例の説明 図15は本発明の実施例としてのデータ圧縮装置とデ
ータ復元装置の構成例を示すブロック図であり、この図
15において、1は入力された文字を過去に出現した履
歴に応じて符号化して圧縮するデータ圧縮装置であり、
2はデータ圧縮装置1で符号化された文字を復元するデ
ータ復元装置である。
【0037】さらに、データ圧縮装置1は、入力された
文字列データの文脈を収集して文脈木を作成する文脈収
集過程11と、この文脈収集過程11で得られた文脈
(文脈木)に対応してスプレイ符号を対応させた符号木
を、入力データの文字列に応じてスプレイ符号化しなが
ら作成・更新するスプレイ符号化過程12をとるように
なっている。一方、データ復元装置2は、データ圧縮装
置1で符号化された復元データの文脈に対応してスプレ
イ符号を対応させた符号木を、復元データの文字列に応
じてスプレイ符号化しながら作成・更新するスプレイ符
号化過程21と、復元データとしての文字列についての
文脈を収集(文脈木を作成)する文脈収集過程22をと
るようになっている。
【0038】以後、本実施例ではデータ圧縮装置1を符
号化側、データ復元装置2を復元側として説明する。 (1)符号化側の説明 図16(a),(b)は、文脈収集過程11において作
成される文脈木の一例を示す図であり、図16(a)は
文脈木がハッシュ法を用いて短時間で探索できるように
文字列をリスト構造の格納形式でメモリに格納した例を
示す図、図16(b)は文字列を格納した木構造の辞書
(リスト)を親子関係の繋がりで示した図である。
【0039】ここで、図16(a)中のアドレスは16
進表示であり、この図16(a)の例では、文脈木の最
大サイズは4Kノード(4KW)である。このように、
全ての文字を予め登録しておけば、ルートに繋がる第1
階層の兄弟ノードの位置は予め分かるので、探索時にリ
ストを操作する必要はなく、直接アクセスすることがで
きる。
【0040】一方、第2階層以降は、子ノードと右兄弟
ノードのアドレスを格納しておき、探索時にリスト形式
で格納文字を照合しながら一致するまで、リストを操作
してアクセスする。また、文脈の木は初期化されたと
き、アドレス100まで設定されるが、このとき第1階
層のアドレス100には、End Of File (EOF)符号
を登録しておき、アドレス101以降のメモリを新規登
録に使用する。
【0041】次に、図17は、上述のスプレイ符号化過
程12において作成される符号木の一例を示す図であ
る。符号木は、基本的に従来のSplay-Tree符号化と同様
に、初期化時に図17のように設定される。そして、図
16(b)に対応して、最大サイズが4Kノード(4K
W)までの場合、符号の木のノードは、内部節点(子ノ
ードが付いている)と外部節点(リーフ、子ノードがな
い各符号の終端)の2つに分類される。
【0042】また、スプレイ符号化では、符号の木をア
クセスするために、図18に示すようなUp,Lef
t,Rightという3つの配列を用いる。ここで、U
p配列は、各ノードから親ノードへのアドレスを格納
し、Left配列は、各ノードから左の子ノードへのア
ドレスを格納し、Right配列は、各ノードから右の
子ノードへのアドレスを格納するものである。
【0043】また、Up配列では、内部節点を最初の4
KW(アドレス(16進)000〜FFF)に格納し、
外部節点を残りの4KW(アドレス(16進)1000
〜1FFF)に格納するようになっている。このように
することで、文脈木の各ノードに対する符号を、符号木
のアドレス=文脈木のノードポインタ(番号)+4K、
で対応付けることができるようになる。
【0044】なお、各配列のビット幅は、Up配列が1
3ビット、Left,Right配列が12ビットとな
る。次に、上述のような構成をもつ符号木の木の更新の
基本操作について、図19(a),(b)を用いて説明
する。図19(a)はスプレイ符号更新の基本操作を示
す図であるが、この図19(a)に示すように、文字A
がアクセスされたとき、ノードAと2段上のノードAが
付いている枝と反対方向の枝のノードCとを入れ換え
る。
【0045】そして、文字A〜Eまでの符号に対して、
文字Cがアクセスされた場合には、例えば図19(b)
に示すように、符号の木を組み換えるようになってい
る。すなわち、上述した基本操作を2回繰り返すことに
よって符号木の木の更新を行なう。この場合、2回目の
基本操作は1回目に更新したノードの親ノードの長さを
更新する。
【0046】これにより、符号の木の深さが深くなって
も、この基本操作を繰り返すことによって、ルートから
アクセスされたノードC(符号0110)までの長さを
1/2(符号10)にすることができるので、ルートか
らアクセスされたノードまでの符号木を動的に組み換え
て、符号表を入力データに適応させることができる。す
なわち、スプレイ符号の符号更新は線型リストの Move-
To-Front操作を Binary-Treeで行なったようなものであ
る。
【0047】さらに、上述のような文脈収集過程11に
おける文脈木の作成およびスプレイ符号化過程12の符
号木の更新・作成の処理を、図20のフローチャートに
おける処理ステップE1〜E31を参照しながら詳述す
る。なお、入力文字をK(Kは任意の文字)とし、文字
Kが入力される直前に入力された文字をP(Pは任意の
文字)とする。
【0048】まず、文脈木と符号木および直前文字Pを
初期化する(ステップE1)。そして、既に入力された
全文字が入力符号化されているかをチェックし(ステッ
プE2)、入力文字が残っている場合、文字Kの入力
と、文字列の長さLの0へのセットとを行なう(ステッ
プE3)。さらに、文脈木の直前文字Pの下に子ノード
があるかをチェックし(ステップE5)、直前文字Pの
下に子ノードがなければ、入力文字Kの0次符号を出力
し(ステップE6)、文脈木の直前文字Pの下に入力文
字Kを子ノードとして登録する(ステップE7)。
【0049】一方、符号木の方では、直前文字Pの下
に、文字Kとエスケープコードを登録するノードを作成
して文字Kを登録する(ステップE8)。なお、このノ
ード作成のアルゴリズムの一例を図30(a),(b)
に示す。さらに、直前文字を入力文字Kに変更し(ステ
ップE16)、直前文字列の長さL’が最大文字列長L
maxに等しいかをチェックする(ステップE24)。
【0050】そして、直前文字列長L’が最大文字列長
Lmaxに等しくなければ、直前文字列が1次符号で符
号化され出力されているかをチェックする(ステップE
25)。ここで、直前文字列が1次符号で符号化されて
いなければ、直前文字列長L’に注目文字列長Lを移し
(ステップE28)、文字Kが符号化済かをチェックし
(ステップE9)、符号化済であれば、上述のステップ
E2からの処理を繰り返し(ステップE9のYESルー
ト)、符号化済でなければ、上述のステップE3からの
処理を繰り返す(ステップE9のNOルート)。
【0051】ところで、上述のステップE10におい
て、子ノードに登録されている文字が入力文字Kと一致
した場合は、文字列の長さLを1増やし(ステップE1
7)、この文字列長Lが、予め設定した最大符号長Lm
axと等しいかをチェックする(ステップE18)。等
しくない場合は、入力データの全文字が符号化されたか
をチェックし(ステップE19)、まだ符号化されてい
ない文字があれば、今までの入力文字を直前文字Pに移
し(ステップE20)、さらに1文字Kを入力して(ス
テップE21)上述のステップE10の処理へ戻り、再
び子ノードに登録されている文字が文字Kと一致するか
をチェックする。
【0052】一致しなければ、今度は文字列の長さLが
0かどうかをチェックし(ステップE11)、YES、
すなわち、直前文字Pの下に子ノードはあるが、該当す
る文字Kがまだ付いていないなら、直前文字Pの下のエ
スケープコードを出力した後、文字Kの0次符号を出力
する(ステップE12)。さらに、文字Kを、文脈木の
直前文字Pの下の子ノードの兄弟ノードとして登録し
(ステップE13)、符号木の直前文字Pの下のエスケ
ープコードをエスケープコードと文字Kの符号とに分割
して、文字Kの符号を追加し(ステップE14)、符号
木のエスケープコードと0次符号Kの符号長をスプレイ
符号として更新する(ステップE15)。
【0053】以上のようにして、所定の最大文字列長に
達するまで符号化文字列の伸長文字列を登録することが
できるようになっている。その後、上述したステップE
16,ステップE24を経て、再び直前文字列を1次符
号で出力したかをチェックする(ステップE25)。即
ち、直前文字列が1次符号で符号化され、出力されてい
れば、文脈木に直前文字列に符号化文字(列)の先頭文
字を付加した延長文字列を登録し(ステップE26)、
符号木に、符号化した延長文字列の符号を登録し(ステ
ップE27)、上述のステップE28からの処理を繰り
返す。
【0054】なお、この登録は、直前文字の符号を分岐
させ、文字Kを付加した文字列の1次符号を追加するよ
うに行なう。文字列の分岐は、エスケープコードを符号
化した文字列の符号とみて分岐させ、元の文字列と文字
Kを付加した文字列の符号とを作る。このようにして、
辞書登録文字列として、符号化済の直前文字から登録
し、この直前文字から続く文字列を符号化している。
【0055】さらに、上述のステップE18において、
文字列長Lが、予め設定した最大符号長Lmaxと等し
い場合、または、ステップE11において、文字列長L
が0に等しくない場合は、文脈木の文字(列)の参照番
号に対応する1次符号を出力し(ステップE22)、符
号木が出力した1次符号の符号長をスプレイ符号として
更新(ステップE23)した後、上述のステップE24
からの処理を行なう。
【0056】ここで、以上の閉ループ処理は、直前文字
Pと入力文字Kとの組み合わせが、既に文脈木に登録さ
れている時に、登録文字数(文字列長)を伸長して、文
字列単位に登録を行なう処理を示している。また、上述
のステップE2において、入力された全ての文字が符号
化されている場合は、文脈木の直前文字Pの下に子ノー
ドがあるかチェックし(ステップE29)、子ノードが
あれば直前文字Pの下のエスケープコードを出力し(ス
テップE29のNOルートからステップE30)、En
d Of Fileを表すEOFの0次符号を出力して
(ステップE31)処理を終了する(ステップE29の
NOルートからステップE31)。
【0057】子ノードがなければ、そのままEOFの0
次符号を出力して処理を終了する。以上のような処理を
行なうことで、入力データとしての文字列を過去に出現
した履歴に応じて符号化して圧縮するデータ圧縮方法に
おいて、辞書に入力データの文字列を収集し番号を付け
て登録するとともに、各文字列に対応してスプレイ符号
の符号化及び更新を施している。
【0058】ここで、上述の入力文字Kをアルファベッ
トa,b,cのいずれかに限り、文字「abc abc
ab b」が入力された場合を例にとり、文脈木と符
号木の更新・作成について、図21〜図28を用いてさ
らに詳述する。まず、図21(a),(b)に示すよう
に、文脈木と符号木に、予め文字a,b,cと入力デー
タを全て符号化した後に出力する終端符号EOFとを、
番号を付することによりa1 ,b2 ,c3 ,EOF4
として登録しておく。
【0059】このように文脈木を初期化することで、最
初に登録してある文字a,b,cのいずれかが直前文字
となり、直前文字から続く文脈がないとき独立の単独の
参照番号も兼ねることになる。以下の説明では、文字c
を最初の直前文字と仮定しておく。一方、図21(b)
に示すように、符号木は、ルート(root)からノー
ドを左下に下がるときには、登録した文字に符号“0”
を割り当て、ノードを右下に下がるときには、登録した
文字に符号“1”を割り当てる2進木であり、これによ
り符号化時は、対応する文字の参照番号のノードからル
ートまでの辿る経路をスタックして、その経路を逆転さ
せ、左下か右下かによって符号“0”,“1”を割り振
ることによって、その文字の参照番号に対応する符号語
が得られるようになっている。
【0060】すなわち、「a1,b2,c3」の3文字の
0次符号は、それぞれ「00 0110 11」とな
る。そして、上述の図21(a),(b)に示す状態か
ら、まず文字列「abc」が入力されると、予め登録し
ておいた「c」(c3)を直前文字と仮定するので、図
22(a)に示すように、文脈木の「c」(c3)の下
位に新たにノードを作成し、文字列「abc」の内、最
初の1文字「a5」と未登録を表すエスケープコード
(ESC6)とを登録する。
【0061】一方、符号木では、図22(b)に示すよ
うに、「a」が、既に登録されているので、「a」が登
録されているノードと直前文字である「c」の上位ノー
ドとを組み替え、この「c」を新たにルートとおいて
(1次符号化)、「a」とエスケープコード(ESC)
を登録する。さらに、文字列「abc」の内、次のb,
cについても上述の処理を行なうことにより、bが入力
されたときの文脈木と符号木は、それぞれ図23
(a),(b)に示すようになり、cが入力されたとき
の文脈木と符号木は図24(a),(b)に示すように
なる。
【0062】この処理は、図20にて上述した処理ステ
ップにおいて、ステップE5のNOルート,ステップE
24のYESルート,ステップE25のNOルートを経
由する閉ループ処理に相当するものである。すなわち、
文脈木では、直前文字の下位に子ノードが存在しない場
合に、この直前文字の下位に入力文字とエスケープコー
ドを登録するノードを新たに作成して登録を行なう。
【0063】一方、符号木では、過去に登録されている
文字と同じ文字が再び入力された場合は、過去に登録さ
れている文字のノードを、入力された文字の直前文字が
登録されているノードの上位ノードと組み替えて、過去
に登録されている文字のノードを上位に移動し、ルート
からの距離を1/2にして符号長を短くするのである。
【0064】さらに、続いて文字列「abc」が入力さ
れると、最初に入力された文字列「abc」の最後の
「c」を直前文字として文脈木の「c9」の下位に、文
字列「abc」の内の1文字「a」のみを登録しようと
するが、図24(a)に示すように、文脈木には、既に
「c3」の下位に「a5」が登録されているので、図25
(a)に示すように、登録する文字を1文字「a」から
2文字「ab」へ1文字伸長して「a5」の下位に「b
11」を登録する。
【0065】この時、符号木では、図25(b)に示す
ように、「c」の下位に「a」とともに登録されている
エスケープコード(ESC)のノードを分岐して新たに
ノードを作成し、文脈木で1文字伸長して登録した「a
b」の登録を行なう。続いて、文字列「abc」の内、
「b」を文脈木に登録しようとした場合も、図25
(a)に示すように、既に「a1」の下位に「b7」が登
録されているので、図26(a)に示すように、登録す
る文字を1文字「b」から2文字「bc」へ1文字伸長
して「b7」の下位に「c12」を登録する。
【0066】この時、符号木では、図26(b)に示す
ように、「a」の下位に「b」とともに登録されていた
エスケープコード(ESC)のノードを分岐して新たに
ノードを作成し、文脈木で1文字伸長して登録した「b
c」の登録を行なう。そして、次の文字列「abc」の
内、最後の「c」を登録する場合も、上述の処理を行な
うと、文脈木及び符号木は、それぞれ図27(a),
(b)に示す状態となる(ここまでで、「abc ab
c」が入力済となる)。
【0067】そして、さらに文字列「ab」が入力され
ると文脈木では、まず、直前文字の「c」の下位に1文
字「a」を登録しようとするが、上述したように、「c
3」の下位に既に「a5」が登録されているので、登録文
字数を1文字伸長して「ab」として、「a5」の下位
に「b」を登録しようとする。しかし、図27(a)に
示すように、「a5」の下位にも既に「b11」が登録さ
れているので、図28(a)に示すように、さらに、登
録文字数を1文字伸長して「abb」として、「b11
の下位に「b」を登録する。
【0068】この時、符号木では、図28(b)に示す
ように、「ab」が登録されているノードを分岐して
「abb」を登録する。この処理は、図20にて上述し
た処理ステップのステップE5のYESルート,ステッ
プE10のYESルート,ステップE25のYESルー
トを経由する閉ループ処理に相当する。
【0069】すなわち、文字列が入力されたとき、直前
文字と入力された文字列中の1文字との組み合わせが、
既に文脈木に登録されている場合、登録する文字数を1
文字伸長して登録されていない1文字のみ登録する。そ
して、この時、符号木では、直前文字とともに登録され
ているエスケープコード(ESC)のノードを分岐させ
て新たにノードを作成し、この文字列を登録する。
【0070】以上のように、文字「abc abc a
b b」の入力が終了すると、各文字に割り当てられる
符号は図29に示すようになる。この図29に示すよう
に、最初に入力された文字「abc」は、それぞれ1文
字単独で符号化され、対応する符号は、それぞれ00,
01,10の2ビットとなる。
【0071】そして、次に入力された文字列「abc」
に対応する符号語は、直前文字との関係からそれぞれ
0,0,0の1ビットとなる。さらに、次に入力された
「ab」2文字の文字列に符号が割り当てられるが、こ
の図29に示すように、2文字の文字列が2ビットのみ
の符号語で表されている。
【0072】そして最後に入力された文字「b」は、今
までの直前文字の繋がりに該当する文字がない場合で、
ESCと1文字単独の符号語の組み合わせの3ビットで
表されている。以上のように、本発明のデータ圧縮方法
によれば、圧縮する文字(列)を、木構造の文脈木に番
号を付けて登録し、この文脈木に対応した符号木をスプ
レイ符号化を施しながら作成・更新することにより、出
現する文字の出現頻度を求めて確率モデルを構築し、各
文字に符号を割り当てるという2段階の処理を同時に行
なうので、データの圧縮処理の速度が大幅に向上すると
いう効果がある。
【0073】また、上述の確率モデルは、文字の入力毎
に符号木のノードが作成・更新(スプレイ処理)される
ことによって構築されるので、文字の入力毎に、既に構
築されている確率モデルを再構築するという膨大な演算
処理を行なう必要が無く、これにより圧縮処理の速度が
さらに向上する効果がある。さらに、本発明のデータ圧
縮方法によれば、過去に圧縮(符号化)した文字と同じ
文字が出現する毎に、過去に登録してあった同じ文字の
符号木のノードを上位のノードと組み替えて(スプレイ
処理)符号長を1/2にすることにより、同じ文字
(列)が繰り返し出現するほど、その文字(列)の符号
は少ないビット数で表せるので、圧縮効果が大幅に向上
する効果がある。
【0074】また、本発明のデータ圧縮方法によれば、
上述の文字列「ab」を符号化した場合のように、文字
を1文字単位に符号化するのではなく、複数文字単位の
文字列として符号化することにより、可変長符号化処理
が高速化できるとともに、符号化単位を文字列とするの
で、情報源が拡大し、スプレイ符号化の符号化効率が大
幅に向上するという効果もある。
【0075】(2)復元側の説明 次に、上述のように、符号化(圧縮)されたデータを入
力符号として、図17にて上述したデータ復元装置2内
の文脈収集過程21とスプレイ符号化過程22が、デー
タを復元する処理について、図31のフローチャートに
おける処理ステップD1〜D24を参照しながら説明す
る。
【0076】なお、このデータを復元する処理は、基本
的に符号化側の説明にて上述した符号化の処理と逆の処
理を行なうようにすればよい。すなわち、まず、文脈木
と符号木とを初期化し、直前文字Pを0に初期化する
(ステップD1)。列長Lを0とし(ステップD2)、
文脈木の直前文字の下位に子ノードがあるかをチェック
する(ステップD3)。
【0077】ここで、子ノードがない場合においては、
入力符号を0次符号として文字Kを復号し(ステップD
3のNOルートからステップD4)、この復号した文字
KがEOF符号であるかをチェックする(ステップD
5)。もし、この復号した文字Kが、EOF符号でなけ
れば、NOルートをとり、復号した文字Kを出力し(ス
テップD6)、文脈木に文字Kを登録する(ステップD
7)。なお、これは図17にて上述した符号化時の処理
ステップE7と同様にして行なう。
【0078】さらに、符号化時のステップE8と同様に
して、符号木の直前文字Pの下に文字Kとエスケープコ
ードのノードを作り(ステップD8)、直前文字Pを文
字Kとおく(ステップD17)。そして、以降の処理ス
テップD20〜D23は、符号化時の処理ステップE2
0〜E23と同様の処理ステップをとり、直前文字列長
L’を注目文字列長Lで置き換えて(ステップD2
4)、上述の処理ステップD2に戻る。
【0079】ところで、上述の処理ステップD3におい
て、文脈木の直前文字Pの下位に子ノードが存在する場
合は、入力された符号を符号木より1次符号とみなして
復号して、文脈木の文字(列)の参照番号を得る(ステ
ップD3のYESルートからステップD9)。さらに、
復号した参照番号がエスケープコードであるかをチェッ
クし(ステップD10)、エスケープコードであれば、
YESルートをとり、入力文字を0次符号として次の符
号を復号して、文字Kを得る(ステップD11)。
【0080】そして、上述のステップD5と同様に、復
号した文字KがEOF符号であるかをチェックし(ステ
ップD12)、復号した文字KがEOF符号でなけれ
ば、NOルートをとり、文字Kを出力する(ステップD
13)。さらに、符号化時の処理ステップE13〜15
と同様にして、文脈木に文字Kを登録し(ステップD1
4)、直前文字Pの下に文字Kを追加し(ステップD1
5)、符号木のエスケープコードと0次符号Kの符号長
をスプレイ符号として更新する(ステップD16)。
【0081】そして、以降は上述のステップD17から
の処理を行なう。このようにして、全ての一文字にスプ
レイ符号を割り当てておき、直前文字から繋がる文字列
が既に収集した辞書中の文字列中にない一文字のスプレ
イ符号を復号したときに、符号を更新し、上述の直前文
字からの繋がる復号した文字を文脈木に登録することが
できる。
【0082】また、上述の処理ステップD10におい
て、復号した参照番号がエスケープコードでなければ、
NOルートをとり、文脈木の参照番号に対応する文字列
を復元して出力し(ステップD18)、文字(列)の最
終文字を直前文字Pに置き換える(ステップD19)。
そして、以降は、上述のステップD20からの処理を行
なう。
【0083】このようにして、辞書登録文字列として、
復号化済の直前文字から登録し、この直前文字から続く
文字列を復号することができる。また、上述の処理ステ
ップD4またはステップD12において、復号した文字
KがEOF符号であれば、YESルートをとり、復元処
理を終了する。以上のようにして、辞書としての文脈木
に復元したデータの文字列を収集し番号を付けて登録す
るとともに、復元各文字列に対応してスプレイ符号を対
応させておき、辞書番号に対応する文字列をスプレイ符
号で復号化及び更新を行ない、また、所定の最大文字列
長に達するまで符号化文字列の伸長文字列を登録し、こ
の伸長文字列に対応するスプレイ符号を登録する。
【0084】これにより、データ圧縮装置1の文脈収集
過程11およびスプレイ符号化過程12により圧縮・符
号化された文字Kを復元している。このように、本発明
のデータ復元方法によれば、文脈木に復元した文字
(列)に番号を付けて登録するとともに、この文脈木に
対応した符号表としての符号木を構築することにより、
符号化された文字の符号と一致する符号を符号表におい
て検索し、一致した符号に対応する文字を復号文字とし
て出力するという2段階の処理を同時に行なうので、デ
ータの復元処理の速度が大幅に向上するという効果があ
る。
【0085】また、上述の確率モデルは、文字の復元毎
に符号木のノードが作成・更新(スプレイ処理)される
ことによって構築されるので、文字の復元毎に、既に構
築されている符号表(確率モデル)を再構築するという
膨大な演算処理を行なう必要が無く、これにより復元処
理の速度がさらに向上する効果がある。さらに、本発明
のデータ復元方法によれば、過去に復号した符号と同じ
符号が出現する毎に、過去に登録してあった同じ符号の
符号木上のノードを上位のノードと組み替えて(スプレ
イ処理)符号長を1/2にすることにより、同じ符号が
繰り返し出現するほどその符号は少ないビット数で表せ
るので、同じ符号を繰り返し復号する場合、復元処理の
速度が大幅に向上する効果がある。
【0086】また、本発明のデータ復元方法によれば、
文字を1文字単位に復号するのではなく、複数文字単位
の文字列として復号することにより、スプレイ処理が高
速化できるとともに、復号単位を文字列とするので、復
元できる情報源が拡大し、復元効率が大幅に向上すると
いう効果もある。なお、本実施例では、直前文字から繋
がる文字列を文脈として収集して符号化・復号する方法
について述べたが、本発明によれば、必ずしも直前文字
にこだわることはなく2文字以上以前からの文脈を収集
して符号化・復号化してもよい。
【0087】また、本実施例では、動的に文脈を収集し
てスプレイ処理する例を示したが、本発明によれば、必
ずしも動的である必要はなく、予め代表的なサンプルか
ら収集した静的な文脈を用いてスプレイ処理してもよ
い。さらに、本実施例では、入力された全てのデータを
動的可変長符号化(スプレイ符号化)する場合について
述べたが、相当程度のデータを符号化した後に、スプレ
イ符号化の更新操作を止めて、静的な可変長符号化をし
てもよい。この場合、符号化と復号化とで予め取決めを
しておき同期が取れればよい。
【0088】また、本実施例では、圧縮するデータを文
字あるいは文字列として説明したが、本発明のデータ圧
縮方法及びデータ復元方法は、他の画像データや音声デ
ータなどあらゆるデータに対して適用できる。 (b)関連技術の説明 次に、以下では、本発明に関連する技術について図1〜
図14を用いて付言する。まず、本発明に関連するデー
タ圧縮方法(1)を実施するための装置の構成を、図1
に示す。この図1に示すデータ圧縮装置は、入力データ
を過去に出現した履歴に応じて符号化して圧縮するもの
である。ここで、100は前置データ保持手段、101
は履歴保持手段、102は符号木保持手段、103は符
号木決定手段、104は符号出力手段、105は符号長
変更手段、106は前置データ更新手段である。前置デ
ータ保持手段100は、入力データの直前までに入力さ
れたn個の入力データからなる文脈を保持するものであ
り、履歴保持手段101は、入力データ と文脈との組み
合わせを保持するものであり、符号木保持手段102
は、文脈毎に独立した符号木を保持するものである。ま
た、符号木決定手段103は、前置データ保持手段10
0に保持されている直前までの入力データからデータの
符号木を決定するものであり、符号出力手段104は、
符号木決定手段103で選択した符号木の頂点を意味す
るルートからデータが格納されているリーフに沿って途
中に位置する分岐点としてのノードからの分岐に従って
固有のデータを出力するものである。さらに、符号長変
更手段105は、符号化したリーフと他のリーフあるい
はノードとを組み替えるものであり、前置データ更新手
段106は、データを前置データ保持手段100に登録
するものである。また、本発明に関連するデータ圧縮方
法(2)を実施するための装置の構成を、図2に示す。
この図2に示すデータ圧縮装置も、入力データを過去に
出現した履歴に応じて符号化して圧縮するものである。
ここで、100は前置データ保持手段、101は履歴保
持手段、103は符号木決定手段、107は符号木決定
手段である。さらに、108は文脈判別手段、109は
エスケープコード出力手段、110は文脈変更手段、1
11は符号出力手段、116は制御手段である。前置デ
ータ保持手段100は、入力データの直前までに入力さ
れたn個の入力データからなる文脈を保持するものであ
り、履歴保持手段101は、入力データと文脈との組み
合わせを保持するものであり、符号木保持手段107
は、データ未登録を示すデータとして定義されるエスケ
ープコードをあらかじめ登録した文脈毎に独立した符号
木を保持するものである。また、符号木決定手段103
は、文脈と入力データからデータの符号木を決定するも
のであり、文脈判別手段108は、符号木決定手段10
3で決定した符号木にデータが登録されているか否かを
判別するものであり、エスケープコード出力手段109
は、符号木にデータが登録されていないときは符号木の
頂点を意味するルートからエスケープコードのデータ格
納点としてのリーフまでの途中に位置する分岐点として
のノードからの分岐に従ってエスケープコードを出力す
るものである。 さらに、文脈変更手段110は、符号木
にデータが登録されていないときは文脈の長さnを短く
するものであり、符号出力手段111は、符号木にデー
タが登録されているときは符号木のルートからデータの
リーフまでの途中に位置するノードからの分岐に従って
データの符号を出力するものである。また、符号長変更
手段105は、符号化したリーフと他のリーフあるいは
ノードとを組み換えるものであり、前置データ更新手段
106は、データを前置データ保持手段100に登録す
るものであり、制御手段116は、エスケープコードを
符号化したときはデータの符号化を行なうまで処理を繰
り返すものである。また、本発明に関連するデータ圧縮
方法(3)を実施するための装置の構成を、図3に示
す。この図3に示すデータ圧縮装置も、入力データを過
去に出現した履歴に応じて符号化して圧縮するものであ
る。ここで、100は前置データ保持手段、101は履
歴保持手段、103は符号木決定手段、105は符号長
変更手段、106は前置データ更新手段、107は符号
木保持手段、108は文脈判別手段、109はエスケー
プコード出力手段、110は文脈変更手段、111は符
号出力手段、112は履歴登録手段、113は符号登録
手段、116は制御手段である。前置データ保持手段1
00は、入力データの直前までに入力されたn個の入力
データからなる文脈を保持するものであり、履歴保持手
段101は、入力データと文脈との組み合わせを保持す
るものであり、符号木保持手段107は、データ未登録
を示すデータとして定義されるエスケープコードを予め
登録した文脈毎に独立した符号木を保持するものであ
る。また、符号木決定手段103は、文脈と入力データ
からデータの符号木を決定するものであり、文脈判別手
段108は、符号木決定手段103で決定した符号木に
データが登録されているか否かを判別するものである。
さらに、エスケープコード出力手段109は、符号木に
データが登録されていないときは符号木の頂点を意味す
るルートからエスケープコードのデータ格納点としての
リーフまでの中に位置する分岐点としてのノードからの
分岐に従ってエスケープコードを出力するものである。
また、履歴登録手段112は、符号木にデータが登録さ
れていないときは履歴 保持手段101にデータと文脈の
組み合わせを登録するものであり、符号登録手段113
は、符号木にデータが登録されていないときは符号木に
データを新規に登録するものであり、文脈変更手段11
0は、符号木にデータが登録されていないときは文脈の
長さnを短くするものである。さらに、符号出力手段1
11は、符号木にデータが登録されているときは符号木
のルートからデータのリーフまでの途中に位置するノー
ドからの分岐に従ってデータの符号を出力するものであ
り、符号長変更手段105は、符号化したリーフと他の
リーフあるいはノードとを組み換えるものである。ま
た、前置データ更新手段106は、データを前置データ
保持手段100に登録するものであり、制御手段116
は、エスケープコードを符号化したときはデータの符号
化を行なうまで処理を繰り返すものである。さらに、本
発明に関連するデータ圧縮方法(4)を実施するための
装置の構成を、図4に示す。この図4に示すデータ圧縮
装置も、入力データを過去に出現した履歴に応じて符号
化して圧縮するものである。ここで、100は前置デー
タ保持手段、101は履歴保持手段、103は符号木決
定手段、105は符号長変更手段、106は前置データ
更新手段、107は符号木保持手段、108は文脈判別
手段、109および111はエスケープコード出力手
段、110は文脈変更手段、114は履歴登録手段、1
15は符号登録手段、117は制御手段である。前置デ
ータ保持手段100は、入力データの直前までに入力さ
れたn個の入力データからなる文脈を保持するものであ
り、履歴保持手段101は、入力データと文脈との組み
合わせを保持するものであり、符号木保持手段107
は、データ未登録を示すデータとして定義されるエスケ
ープコードをあらかじめ登録した文脈毎に独立した符号
木を保持するものである。また、符号木決定手段103
は、文脈と入力データからデータの符号木を決定するも
のであり、文脈判別手段108は、符号木決定手段10
3で決定した符号木にデータが登録されているか否かを
判別するものである。さらに、エスケープコード出力手
段109は、符号木にデータが登録されていないときは
符号木の頂点を意味するルートからエスケープコードの
データ格納点 としてのリーフまでの途中に位置する分岐
点としてのノードからの分岐に従ってエスケープコード
を出力するものである。また、文脈変更手段110は、
符号木にデータが登録されていないときは文脈の長さn
を短くするものであり、エスケープコード出力手段11
1は、符号木にデータが登録されているときは符号木の
ルートからデータのリーフまでの途中に位置するノード
からの分岐にしたがってデータの符号を出力するもので
ある。さらに、履歴登録手段114は、履歴保持手段1
01にデータと文脈の組み合わせを登録するものであ
り、符号登録手段115は、符号木にデータを新規に登
録するものであり、符号長変更手段105は、符号化し
たリーフと他のリーフあるいはノードとを組み換えるも
のであり、前置データ更新手段106は、データを前置
データ保持手段100に登録するものである。また、制
御手段117は、データの符号化時に一度でもエスケー
プコードを符号化したときは、データの符号化の直前の
文脈とデータとの組み合わせを履歴登録手段114で履
歴保持手段101に登録し、データの符号化の直前に符
号化したエスケープコードを持つ符号木に符号登録手段
115でデータを新規に登録するものである。一方、本
発明に関連するデータ復元方法(1)を実施するための
装置の構成を、図5に示す。この図5に示すデータ復元
装置は、過去に出現した履歴に応じて符号化した符号を
復号するものである。ここで、200は前置データ保持
手段、201は履歴保持手段、202は符号木保持手
段、203は符号木決定手段、204は復号手段、20
5は符号長変更手段、206は前置データ更新手段であ
る。前置データ保持手段200は、過去に復号したn個
のデータを保持するものであり、履歴保持手段201
は、復号したデータと文脈との組み合わせを保持するも
のであり、符号木保持手段202は、文脈毎に独立した
符号木を保持するものである。また、符号木決定手段2
03は、前置データ保持手段200に保持されている文
脈からデータを復号するための符号木を決定するもので
あり、復号手段204は、符号に従って符号木決定手段
203で選択した符号木の頂点を意味するルー トから分
岐点としてのノードを走査して到達したデータ格納点と
してのリーフに格納されているデータを出力するもので
ある。さらに、符号長変更手段205は、復号したリー
フと他のリーフあるいはノードとを組み替えるものであ
り、前置データ更新手段206は、復号したデータを前
置データ保持手段200に登録するものである。また、
本発明に関連するデータ復元方法(2)を実施するため
の装置の構成を、図6に示す。この図6に示すデータ復
元装置も、過去に出現した履歴に応じて符号化した符号
を復号するものである。ここで、200は前置データ保
持手段、201は履歴保持手段、203は符号木決定手
段、204は復号手段、205は符号長変更手段、20
6は前置データ更新手段、207は符号木保持手段、2
08は文脈変更手段、213は制御手段である。前置デ
ータ保持手段200は、過去に復号したn個のデータを
保持するものであり、履歴保持手段201は、復号した
データと文脈との組み合わせを保持するものであり、符
号木保持手段207は、データ未登録を示すデータとし
て定義されるエスケープコードをあらかじめ登録した符
号木を保持するものである。また、符号木決定手段20
3は、前置データ保持手段200に保持されている文脈
からデータを復号するための符号木を決定するものであ
り、復号手段204は、符号に従って符号木決定手段2
03で選択した符号木の頂点を意味するルートから分岐
点としてのノードを走査して到達したデータ格納点とし
てのリーフに格納されているデータを出力するものであ
る。さらに、符号長変更手段205は、復号したリーフ
と他のリーフあるいはノードとを組み替えるものであ
り、文脈変更手段208は−出力したデータがエスケー
プコードであったときデータを棄却し文脈を短くするも
のであり、前置データ更新手段206は、復号したデー
タを前置データ保持手段200に登録するものである。
制御手段213は、エスケープコードを復号した時は文
脈変更手段208で文脈を再設定し、エスケープコード
以外が復号されるまで処理を繰り返すものである。 さら
に、本発明に関連するデータ復元方法(3)を実施する
ための装置の構成を、図7に示す。この図7に示すデー
タ復元装置も、過去に出現した履歴に応じて符号化した
符号を復号するものである。ここで、200は前置デー
タ保持手段、201は履歴保持手段、203は符号木決
定手段、204は復号手段、205は符号長変更手段、
206は前置データ更新手段、207は符号木保持手
段、208は文脈変更手段、209は履歴登録手段、2
10は符号登録手段、213は制御手段である。前置デ
ータ保持手段200は、過去に復号したn個のデータを
保持するものであり、履歴保持手段201は、復号した
データと文脈との組み合わせを保持するものであり、符
号木保持手段207は、エスケープコードをあらかじめ
登録した符号木を保持するものである。また、符号木決
定手段203は、前置データ保持手段200に保持され
ている文脈からデータを復号するための符号木を決定す
るものであり、復号手段204は、符号に従って符号木
決定手段203で選択した符号木の頂点を意味するルー
トから分岐点としてのノードを走査して到達したデータ
格納点としてのリーフに格納されているデータを出力す
るものである。さらに、符号長変更手段205は、復号
したリーフと他のリーフあるいはノードとを組み替える
ものであり、文脈変更手段208は、出力したデータが
上記エスケープコードであったとき、上記データを棄却
し文脈を短くするものである。また、前置データ更新手
段206は、復号したデータを前置データ保持手段20
0に登録するものであり、履歴登録手段209は、デー
タの復号処理でエスケープコードを復号したときの全て
の文脈と復号したデータとを履歴保持手段201に登録
するものである。また、符号登録手段210は、データ
の復号処理でエスケープコードを復号した時の文脈に対
応した全ての符号木にデータの符号を登録するものであ
り、制御手段213は、エスケープコードを復号した時
は文脈変更手段208で文脈を再設定し、エスケープコ
ード以外が復号されるまで処理を繰り返すものである。
また、本発明に関連するデータ復元方法(4)を実施す
るための装置の構成を、図8に示す。この図8に示すデ
ータ復元装置も、過去に出現した履歴に応じて 符号化し
た符号を復号するものである。ここで、200は前置デ
ータ保持手段、201は履歴保持手段、203は符号木
決定手段、204は復号手段、205は符号長変更手
段、206は前置データ更新手段、207は符号木保持
手段、208は文脈変更手段、212は符号登録手段、
213は制御手段である。前置データ保持手段200
は、過去に復号したn個のデータを保持するものであ
り、履歴保持手段201は、復号したデータと文脈との
組み合わせを保持するものであり、符号木保持手段20
7は、データ未登録を示すデータとして定義されるエス
ケープコードをあらかじめ登録した符号木を保持するも
のである。また、符号木決定手段203は、前置データ
保持手段200に保持されている文脈からデータを復号
するための符号木を決定するものであり、復号手段20
4は、符号に従って符号木決定手段203で選択した符
号木の頂点を意味するルートから分岐点としてのノード
を走査して到達したデータ格納点としてのリーフに格納
されているデータを出力するものである。さらに、符号
長変更手段205は、復号したリーフと他のリーフある
いはノードとを組み替えるものであり、文脈変更手段2
08は、出力したデータがエスケープコードであったと
きデータを棄却し文脈を短くするものであり、前置デー
タ更新手段206は、復号したデータを前置データ保持
手段200に登録するものである。また、履歴登録手段
211は、データの復号処理でエスケープコードを最後
に復号した時の文脈と復号したデータとを履歴保持手段
201に登録するものであり、符号登録手段212は、
データの復号処理で最後にエスケープコードを復号した
時の文脈に対応した符号木にデータの符号を登録するも
のであり、制御手段213は、エスケープコードを復号
した時は文脈変更手段208で文脈を再設定し、エスケ
ープコード以外が復号されるまで処理を繰り返すもので
ある。また、本発明に関連するデータ圧縮方法(5)を
実施するための装置の構成を、図9に示す。この図9に
示すデータ圧縮装置は、入力データを過去に出現した履
歴に応じて符号化するものである。ここで、301は符
号木保持手段、302は文脈木保持手段、303は文脈
録手段、304は符号登録手段、305は文脈変更手
段、306は符号化手段、307は符号更新手段であ
る。符号木保持手段301は、予めデータ未登録を示す
データとして定義されるエスケープコードを登録した符
号木を保持するものであり、文脈木保持手段302は、
入力データと文脈との組み合わせを登録した文脈木を保
持するものであり、文脈登録手段303は、エスケープ
コードを符号化したのち、文脈木にデータを新規に登録
するものである。さらに、符号登録手段304は、エス
ケープコードを符号化したのち符号木のエスケープコー
ドのデータ格納点としてのリーフを分岐してデータを新
規に登録するものであり、文脈変更手段305は、入力
データと文脈との組み合わせが文脈木に保持されていな
いとき、文脈を変更するものである。また、符号化手段
306は、符号木の頂点からの入力データあるいはエス
ケープコードが登録してあるリーフまでの分岐に従って
符号を出力するものであり、符号更新手段307は、符
号化したデータ及びエスケープコードが登録してあるリ
ーフと他のリーフあるいはノードとを取り替えるもので
ある。また、本発明に関連するデータ圧縮方法(6)を
実施するための装置の構成を、図10に示す。この図1
0に示データ圧縮装置も、入力データを過去に出現した
履歴に応じて符号化するものである。この図10に示す
データ圧縮装置は、前述の図9におけるものと同様の符
号木保持手段301,文脈木保持手段302,文脈登録
手段303,文脈変更手段305,符号化手段306,
符号更新手段307をそなえており、これらの説明は省
略する。また、310は分岐位置検索手段であり、この
分岐位置検索手段310は、符号木上の最長の符号長を
持つリーフを検索するものである。311は符号登録手
段であり、この符号登録手段311は、エスケープコー
ドを符号化したのち、分岐位置検索手段110に検索さ
れたデータ格納点としてのリーフを分岐してデータを新
規に登録するものである。さらに、本発明に関連するデ
ータ圧縮方法(7)を実施するための装置の構成を、図
11に示す。この図11に示すデータ圧縮装置も、入力
データを過去に出現した履歴に応じて符号化するもので
ある。 ここで、この図11に示すデータ圧縮装置におい
ても、前述の図9におけるものと同様の符号木保持手段
301,文脈木保持手段302,文脈登録手段303,
文脈変更手段305,符号化手段306,符号更新手段
307をそなえており、これらの説明は省略する。30
8は分岐位置保持手段であり、この分岐位置保持手段3
08は、符号木に新規に登録されたデータ格納点として
のリーフの位置を保持するものである。さらに、309
は符号登録手段であり、この符号登録手段309は、エ
スケープコードを符号化したのち、分岐位置保持手段3
08に保持されている位置にあるリーフを分岐してデー
タを新規に登録するものである。一方、本発明に関連す
るデータ復元方法(5)を実施するための装置の構成
を、図12に示す。この図12に示すデータ復元装置
は、入力データを過去の入力データの履歴に応じて符号
化した符号を復号するものである。ここで、401は符
号木保持手段、402は文脈木保持手段、403は符号
木決定手段、404は復号手段、405は文脈変更手
段、406は符号更新手段、407は符号登録手段、4
08は文脈木登録手段である。符号木保持手段401
は、予めデータ未登録を示すデータとして定義されるエ
スケープコードを登録した符号木を保持するものであり
文脈木保持手段402は、復号したデータと文脈との組
み合わせを登録した文脈木を保持するものであり、符号
木決定手段403は、直前までに復号したデータから符
号の符号木を決定するものである。さらに、復号手段4
04は、符号に従って符号木の頂点を意味するルートか
らデータ格納点としてのリーフへと走査して符号を復号
するものであり、文脈変更手段405は、到達したリー
フがエスケープコードであった場合、文脈を変更するも
のであり、符号更新手段406は、復号したデータ及び
エスケープコードのリーフを他のリーフあるいは分岐点
としてのノードと組み替えるものである。また、符号登
録手段407は、エスケープコードを復号したとき、エ
スケープコードのリーフを分岐して復号したデータを新
規に登録するものであり、文脈木登録手段408は、符
号登録手段407で登録したデータを文脈保持手段40
2の文脈木に登録するものである。 さらに、本発明に関
連するデータ復元方法(6)を実施するための装置の構
成を、図13に示す。この図13に示すデータ復元装置
も、入力データを過去の入力データの履歴に応じて符号
化した符号を復号するもので、ここで、この図13に示
すデータ復元装置は、前述の図12に示すものと同様の
符号木保持手段401,文脈木保持手段402,符号木
決定手段403,復号手段404,文脈変更手段40
5,符号更新手段406をそなえており、これらの説明
は省略する。また、411は分岐位置検索手段であり、
この分岐位置検索手段411は、符号木内の最長の符号
長を持つリーフの位置を検索するものである。そして、
412は符号登録手段であり、この符号登録手段412
は、エスケープコードを符号化したのち分岐位置検索手
段411で検索されたリーフを分岐してデータを新規に
登録するものである。さらに、413は文脈木登録手段
であり、この文脈木登録手段413は、符号登録手段4
12で登録したデータを文脈木保持手段402の文脈木
に登録するものである。さらに、本発明に関連するデー
タ復元方法(7)を実施するための装置の構成を、図1
4に示す。この図14に示すデータ復元装置も、入力デ
ータを過去の入力データの履歴に応じて符号化した符号
を復号するものである。ここで、この図14に示すデー
タ復元装置においても、前述の図12に示すものと同様
の符号木保持手段401,文脈木保持手段402,符号
木決定手段403,復号手段404,文脈変更手段40
5,符号更新手段406をそなえており、これらの説明
は省略する。また、409は分岐位置保持手段であり、
この分岐位置保持手段409は、符号木に新規に登録さ
れたリーフの位置を保持するものである。さらに、41
0は符号登録手段であり、この符号登録手段410は、
エスケープコードを符号化したのち、分岐位置保持手段
409に保持されている位置にあるリーフを分岐してデ
ータを新規に登録するものである。414は文脈木登録
手段であり、この文脈木登録手段414は、符号登録手
段410で登録したデータを文脈保持手段402の文脈
木に登録するものである。そして、図1を用いて説明し
た構成をもつ装置、すなわち入力データを過去に 出現し
た履歴に応じて符号化して圧縮するデータ圧縮装置にお
いては、前置データ保持手段100が、入力データの直
前までに入力されたn個の入力データからなる文脈を保
持し、履歴保持手段101が、入力データと文脈との組
み合わせを保持し、符号木保持手段102が、文脈毎に
独立した符号木を保持する。そして、符号木決定手段1
03が、前置データ保持手段100に保持されている直
前までの入力データからデータの符号木を決定し、符号
出力手段104が、符号木決定手段103で選択した符
号木の頂点を意味するルートからデータが格納されてい
るリーフに沿って途中に位置する分岐点としてのノード
からの分岐に従って固有のデータを出力する。さらに、
符号長変更手段105が、符号化したリーフと他のリー
フあるいはノードとを組み替え、前置データ更新手段1
06が、データを前置データ保持手段100に登録する
ことができる。次に、図2を用いて説明した構成をもつ
装置、すなわち入力データを過去に出現した履歴に応じ
て符号化して圧縮するデータ圧縮装置においては、前置
データ保持手段100が、入力データの直前までに入力
されたn個の入力データからなる文脈を保持し、履歴保
持手段101が、入力データと文脈との組み合わせを保
持し、符号木保持手段107が、データ未登録を示すデ
ータとして定義されるエスケープコードをあらかじめ登
録した文脈毎に独立した符号木を保持する。そして、符
号木決定手段103が、文脈と入力データからデータの
符号木を決定し、文脈判別手段108が、符号木決定手
段103で決定した符号木にデータが登録されているか
否かを判別し、エスケープコード出力手段109が、符
号木にデータが登録されていないときは符号木の頂点を
意味するルートからエスケープコードのデータ格納点と
してのリーフまでの途中に位置する分岐点としてのノー
ドからの分岐に従ってエスケープコードを出力する。さ
らに、文脈変更手段110が、符号木にデータが登録さ
れていないときは文脈の長さnを短くし、符号出力手段
111が、符号木にデータが登録されているときは符号
木のルートからデータのリーフまでの途中に位置するノ
ードからの分岐に従ってデータの符号を出力し、符号長
変更手段105が、符号化したリーフと他のリーフある
いはノードとを組み換える。 そして、前置データ更新手
段106が、データを前置データ保持手段100に登録
し、制御手段116が、エスケープコードを符号化した
ときはデータの符号化を行なうまで処理を繰り返す。次
に、図3を用いて説明した構成をもつ、請求項11記載
の本発明のデータ圧縮方法を実施するための装置、すな
わち入力データを過去に出現した履歴に応じて符号化し
て圧縮するデータ圧縮装置においては、前置データ保持
手段100が、入力データの直前までに入力されたn個
の入力データからなる文脈を保持し、履歴保持手段10
1が、入力データと文脈との組み合わせを保持し、符号
木保持手段107が、データ未登録を示すデータとして
定義されるエスケープコードを予め登録した文脈毎に独
立した符号木を保持する。そして、符号木決定手段10
3が、文脈と入力データからデータの符号木を決定し、
文脈判別手段108が、符号木決定手段103で決定し
た符号木にデータが登録されているか否かを判別し、エ
スケープ出力手段109が、符号木にデータが登録され
ていないときは符号木の頂点を意味するルートからエス
ケープコードのデータ格納点としてのリーフまでの中に
位置する分岐点としてのノードからの分岐に従ってエス
ケープコードを出力する。さらに、履歴登録手段112
が、符号木にデータが登録されていないときは履歴保持
手段101にデータと文脈の組み合わせを登録し、符号
登録手段113が、符号木にデータが登録されていない
ときは符号木にデータを新規に登録し、文脈変更手段1
10が、符号木にデータが登録されていないときは文脈
の長さnを短くし、符号出力手段111が、符号木にデ
ータが登録されているときは符号木のルートからデータ
のリーフまでの途中に位置するノードからの分岐に従っ
てデータの符号を出力する。そして、符号長変更手段1
05が、符号化したリーフと他のリーフあるいはノード
とを組み換え、前置データ更新手段106が、データを
前置データ保持手段100に登録し、制御手段116
が、エスケープコードを符号化したときはデータの符号
化を行なうまで処理を繰り返す。次に、図4を用いて説
明した構成をもつ、請求項12に記載の本発明のデータ
圧縮方法を実施するための装置、すなわち入力データを
過去に出現した履歴に応 じて符号化して圧縮するデータ
圧縮装置においては、前置データ保持手段100が、入
力データの直前までに入力されたn個の入力データから
なる文脈を保持し、履歴保持手段101が、入力データ
と文脈との組み合わせを保持し、符号木保持手段107
が、データ未登録を示すデータとして定義されるエスケ
ープコードをあらかじめ登録した文脈毎に独立した符号
木を保持する。そして、符号木決定手段103が、文脈
と入力データからデータの符号木を決定し、文脈判別手
段108が、符号木決定手段103で決定した符号木に
データが登録されているか否かを判別し、エスケープコ
ード出力手段109と符号木にデータが登録されていな
いときは符号木の頂点を意味するルートからエスケープ
コードのデータ格納点としてのリーフまでの途中に位置
する分岐点としてのノードからの分岐に従ってエスケー
プコードを出力する。さらに、文脈変更手段110が、
符号木にデータが登録されていないときは文脈の長さn
を短くし、エスケープ符号出力手段111が、符号木に
データが登録されているときは符号木のルートからデー
タのリーフまでの途中に位置するノードからの分岐にし
たがってデータの符号を出力する。そして、履歴登録手
段114が、履歴保持手段101にデータと文脈の組み
合わせを登録し、符号登録手段115が、符号木にデー
タを新規に登録し、符号長変更手段105が、符号化し
たリーフと他のリーフあるいはノードとを組み換え、前
置データ更新手段106が、データを前置データ保持手
段100に登録する。さらに、制御手段116が、デー
タの符号化時に一度でもエスケープコードを符号化した
ときは、データの符号化の直前の文脈とデータとの組み
合わせを履歴登録手段114で履歴保持手段101に登
録し、データの符号化の直前に符号化したエスケープコ
ードを持つ符号木に符号登録手段115でデータを新規
に登録する。一方、図5を用いて説明した構成をもつ装
置、すなわち過去に出現した履歴に応じて符号化した符
号を復号するデータ復元装置においては、前置データ保
持手段200が、過去に復号したn個のデータを保持
し、履歴保持手段201が、復号したデータと文脈との
組み合わせを保持し、符号木保持手段202が、文脈毎
に独立した符号木を保持する。そして、符号木決定手段
203が、前置データ保持手段200に保持されている
文脈からデータを復号するための符号木を決定し、復号
手段204が、符号に従って符号木決定手段203で選
択した符号木の頂点を意味するルートから分岐点として
のノードを走査して到達したデータ格納点としてのリー
フに格納されているデータを出力する。さらに、符号長
変更手段205が、復号したリーフと他のリーフあるい
はノードとを組み替え、前置データ更新手段206が、
復号したデータを前置データ保持手段200に登録す
る。次に、図6を用いて説明した構成をもつ装置、すな
わち過去に出現した履歴に応じて符号化した符号を復号
するデータ復元装置においては、前置データ保持手段2
00が、過去に復号したn個のデータを保持し、履歴保
持手段201が、復号したデータと文脈との組み合わせ
を保持し、符号木保持手段207が、データ未登録を示
すデータとして定義されるエスケープコードをあらかじ
め登録した符号木を保持する。そして、符号木決定手段
203が、前置データ保持手段200に保持されている
文脈からデータを復号するための符号木を決定し、復号
手段204が、符号に従って符号木決定手段203で選
択した符号木の頂点を意味するルートから分岐点として
のノードを走査して到達したデータ格納点としてのリー
フに格納されているデータを出力する。さらに、符号長
変更手段205が、復号したリーフと他のリーフあるい
はノードとを組み替え、文脈変更手段208が、出力し
たデータがエスケープコードであったときデータを棄却
し文脈を短くし、前置データ更新手段206が、復号し
たデータを前置データ保持手段200に登録する。そし
て、制御手段213が、エスケープコードを復号した時
は文脈変更手段208で文脈を再設定し、エスケープコ
ード以外が復号されるまで処理を繰り返す。次に、図7
を用いて説明した構成をもつ装置、すなわち過去に出現
した履歴に応じて符号化した符号を復号するデータ復元
装置においては、前置データ保持手 段200が、過去に
復号したn個のデータを保持し、履歴保持手段201
が、復号したデータと文脈との組み合わせを保持し、符
号木保持手段207が、エスケープコードをあらかじめ
登録した符号木を保持する。そして、符号木決定手段2
03が、前置データ保持手段200に保持されている文
脈からデータを復号するための符号木を決定し、復号手
段204が、符号に従って符号木決定手段203で選択
した符号木の頂点を意味するルートから分岐点としての
ノードを走査して到達したデータ格納点としてのリーフ
に格納されているデータを出力する。さらに、符号長変
更手段205が、復号したリーフと他のリーフあるいは
ノードとを組み替え、文脈変更手段208が、出力した
データがエスケープコードであったとき、データを棄却
し文脈を短くし、前置データ更新手段206が、復号し
たデータを前置データ保持手段200に登録する。そし
て、履歴登録手段209が、データの復号処理でエスケ
ープコードを復号したときの全ての文脈と復号したデー
タとを履歴保持手段201に登録し、符号登録手段21
0が、データの復号処理でエスケープコードを復号した
時の文脈に対応した全ての符号木にデータの符号を登録
し、制御手段213が、エスケープコードを復号した時
は文脈変更手段208で文脈を再設定し、エスケープコ
ード以外が復号されるまで処理を繰り返す。次に、図8
を用いて説明した構成をもつ装置、すなわち過去に出現
した履歴に応じて符号化した符号を復号するデータ復元
装置においては、前置データ保持手段200が、過去に
復号したn個のデータを保持し、履歴保持手段201
が、復号したデータと文脈との組み合わせを保持し、符
号木保持手段207が、データ未登録を示すデータとし
て定義されるエスケープコードをあらかじめ登録した符
号木を保持する。そして、符号木決定手段203が、前
置データ保持手段200に保持されている文脈からデー
タを復号するための符号木を決定し、復号手段204
が、符号に従って符号木決定手段203で選択した符号
木の頂点を意味するルートから分岐点としてのノードを
走査して到達したデータ格納点としてのリーフに格納さ
れているデータを出力する。 さらに、符号長変更手段2
05が、復号したリーフと他のリーフあるいはノードと
を組み替え、文脈変更手段208が、出力したデータが
エスケープコードであったときデータを棄却し文脈を短
くする。そして、前置データ更新手段206が、復号し
たデータを前置データ保持手段200に登録し、履歴登
録手段211が、データの復号処理でエスケープコード
を最後に復号した時の文脈と復号したデータとを履歴保
持手段201に登録し、符号登録手段212が、データ
の復号処理で最後にエスケープコードを復号した時の文
脈に対応した符号木にデータの符号を登録する。さら
に、制御手段213が、エスケープコードを復号した時
は文脈変更手段208で文脈を再設定し、エスケープコ
ード以外が復号されるまで処理を繰り返す。また、図9
を用いて説明した構成をもつ装置、すなわち入力データ
を過去に出現した履歴に応じて符号化するデータ圧縮装
置においては、符号木保持手段301が、予めデータ未
登録を示すデータとして定義されるエスケープコードを
登録した符号木を保持し、文脈木保持手段302が、入
力データと文脈との組み合わせを登録した文脈木を保持
する。そして、文脈登録手段303が、エスケープコー
ドを符号化したのち、文脈木にデータを新規に登録し、
符号登録手段304が、エスケープコードを符号化した
のち符号木のエスケープコードのデータ格納点としての
リーフを分岐してデータを新規に登録し、文脈変更手段
305が、入力データと文脈との組み合わせが文脈木に
保持されていないとき、文脈を変更する。さらに、符号
化手段306が、符号木の頂点からの入力データあるい
はエスケープコードが登録してあるリーフまでの分岐に
従って符号を出力し、符号更新手段307が、符号化し
たデータ及びエスケープコードが登録してあるリーフと
他のリーフあるいはノードとを取り替える。さらに、図
10を用いて説明した構成をもつ装置、すなわち入力デ
ータを過去に出現した履歴に応じて符号化するデータ圧
縮装置においては、符号木保持手段301が、予めデー
タ未登録を示すデータとして定義されるエスケープコー
ドを登録した符号木を保持し、文脈木保持手段302
が、入力データと文脈との組み 合わせを登録した文脈木
を保持する。そして、文脈登録手段303が、エスケー
プコードを符号化したのち、文脈木にデータを新規に登
録し、分岐位置検索手段310が、符号木上の最長の符
号長を持つリーフを検索し、符号登録手段311が、エ
スケープコードを符号化したのち、分岐位置検索手段3
10に検索されたデータ格納点としてのリーフを分岐し
てデータを新規に登録する。さらに、文脈変更手段30
5が、入力データと文脈との組み合わせが文脈木に保持
されていないとき文脈を変更し、符号化手段306が、
符号木の頂点から入力データあるいはエスケープコード
が登録してあるリーフまでの分岐に従って符号を出力
し、符号更新手段307が、符号化したデータ及びエス
ケープコードが登録してあるリーフと他のリーフあるい
はノードとを取り替える。また、図11を用いて説明し
た構成をもつ装置、すなわち入力データを過去に出現し
た履歴に応じて符号化するデータ圧縮装置においては、
符号木保持手段301が予めデータ未登録を示すデータ
として定義されるエスケープコードを登録した符号木を
保持し、文脈木保持手段302が入力データと文脈との
組み合わせを登録した文脈木を保持する。そして、文脈
登録手段303がエスケープコードを符号化したのち、
文脈木にデータを新規に登録し、分岐位置保持手段30
8が符号木に新規に登録されたデータ格納点としてのリ
ーフの位置を保持し、符号登録手段309がエスケープ
コードを符号化したのち、分岐位置保持手段308に保
持されている位置にあるリーフを分岐してデータを新規
に登録する。さらに、文脈変更手段305が入力データ
と文脈との組み合わせが文脈木に保持されていないとき
分脈を変更し、符号化手段306が符号木の頂点から入
力データあるいはエスケープコードが登録してあるリー
フまでの分岐に従って符号を出力し、符号更新手段30
7が符号化したデータ及びエスケープコードが登録して
あるリーフと他のリーフあるいは分岐点としてのノード
とを取り替える。一方、図12を用いて説明した構成を
もつ装置、すなわち入力データを過去の入力データの履
歴に応じて符号化した符号を復号するデータ復元装置に
おいては、符号木保持手段401が予めデータ未登録を
示すデータとして定義されるエス ケープコードを登録し
た符号木を保持し、文脈保持手段402が復号したデー
タと文脈との組み合わせを登録した文脈木を保持し、符
号木決定手段403が直前までに復号したデータから符
号の符号木を決定する。そして、復号手段404が符号
に従って符号木の頂点を意味するルートからデータ格納
点としてのリーフへと走査して符号を復号し、文脈変更
手段405が到達したリーフがエスケープコードであっ
た場合、文脈を変更する。さらに、符号更新手段406
が、復号したデータ及びエスケープコードのリーフを他
のリーフあるいは分岐点としてのノードと組み替え、符
号登録手段407がエスケープコードを復号したとき、
エスケープコードのリーフを分岐して復号したデータを
新規に登録し、文脈木登録手段408が符号登録手段4
07で登録したデータを文脈保持手段402の文脈木に
登録する。さらに、図13を用いて説明した構成をもつ
装置、すなわち入力データを過去の入力データの履歴に
応じて符号化した符号を復号するデータ復元装置におい
ては、符号木保持手段401が予めデータ未登録を示す
データとして定義されるエスケープコードを登録した符
号木を保持し、文脈保持手段402が復号したデータと
文脈との組み合わせを登録した文脈木を保持し、符号木
決定手段403が直前までに復号したデータから符号の
符号木を決定する。そして、復号手段404が符号に従
って符号木の頂点を意味するルートからデータ格納点と
してのリーフへと走査して符号を復号し、文脈変更手段
405が、到達したリーフがエスケープコードであった
場合、文脈を変更する。さらに、符号更新手段406が
復号したデータ及びエスケープコードのリーフを他のリ
ーフあるいは分岐点としてのノードと組み替え、分岐位
置検索手段411が符号木内の最長の符号長を持つリー
フの位置を検索し、符号登録手段412が、エスケープ
コードを符号化したのち分岐位置検索手段411で検索
されたリーフを分岐してデータを新規に登録し、文脈木
登録手段408が符号登録手段412で登録したデータ
を文脈保持手段402の文脈木に登録する。また、図1
4を用いて説明した構成をもつ装置、すなわち入力デー
タを過去の入力データの履歴に応じて符号化した符号を
復号するデータ復元装置においては、符号木保持手段4
01が予めデータ未登録を示すデータとして定義される
エス ケープコードを登録した符号木を保持し、文脈保持
手段402が、復号したデータと文脈との組み合わせを
登録した文脈木を保持し、符号木決定手段403が直前
までに復号したデータから符号の符号木を決定する。そ
して、復号手段404が、符号に従って符号木の頂点を
意味するルートからデータ格納点としてのリーフへと走
査して符号を復号し、文脈変更手段405が、到達した
リーフがエスケープコードであった場合、文脈を変更
し、符号更新手段406が復号したデータ及びエスケー
プコードのリーフを他のリーフあるいは分岐点としての
ノードと組み替え、分岐位置保持手段409が符号木に
新規に登録されたリーフの位置を保持する。さらに、符
号登録手段410がエスケープコードを符号化したの
ち、分岐位置保持手段409に保持されている位置にあ
るリーフを分岐してデータを新規に登録し、文脈木登録
手段408が符号登録手段410で登録したデータを文
脈保持手段402の文脈木に登録する。
【0089】
【発明の効果】以上詳述したように、本発明のデータ圧
縮方法によれば、入力データを過去に出現した履歴に応
じて符号化して圧縮するデータ圧縮方法において、入力
データの文字列について直前文字との繋がりを表わす文
脈を収集して文脈木を作成する文脈収集過程と、この文
脈収集過程で得られた文脈木の各ノードに対応する符号
を符号木アドレスで対応させることにより文脈に対応し
スプレイ符号を対応させた符号木を、入力データの文
字列に応じてスプレイ符号化しながら作成・更新するス
プレイ符号化過程とをそなえて構成されているので、出
現する入力データの出現頻度を求めて確率モデルを構築
して符号表を作成し、この符号表から各入力データに符
号を割り当てるという2段階の処理を同時に行なうこと
ができ、データ圧縮の処理速度が大幅に向上するという
効果がある。また、上述の確率モデルは、文字の入力毎
に符号木が作成・更新されることによって構築されるの
で、文字の入力毎に、既に構築されている確率モデルを
再構築するという膨大な演算処理を行なう必要が無く、
これにより圧縮処理の速度がさらに向上する(請求項
1)。
【0090】また、本発明のデータ圧縮方法によれば、
入力データを過去に出現した履歴に応じて符号化して圧
縮するデータ圧縮方法において、入力データの文字列を
収集し収集した文字列に番号を付けて直前文字との繋が
りを表わす文脈を辞書としての文脈木に登録するととも
に、その文脈木の各ノードに対応する符号を符号木アド
レスで対応させることにより文脈に対応してスプレイ符
号を対応させておき、最長一致文字列の辞書番号に対応
するスプレイ符号の符号化及び更新を施すとともに、所
定の最大文字列長に達するまで符号化文字列の伸長文字
列を文脈木に登録し、その伸長文字列に対応するスプレ
イ符号を符号木に登録するので、入力データを1文字単
位ではなく、複数文字単位の文字列として符号化するこ
とができ、データ圧縮の処理速度が大幅に向上する効果
がある(請求項2)。
【0091】また、辞書登録文字列として、符号化済の
直前文字から登録し、直前文字から続く文字列を符号化
したり、全ての一文字にスプレイ符号を割り当ててお
き、もし、直前文字から繋がる文字列が既に収集した辞
書(文脈木)中の文字列中になければ、一文字のスプレ
イ符号を符号化出力するとともに更新した後、直前文字
から繋がる符号化した文字を辞書(文脈木)に登録する
ようにすれば、辞書(文脈木)中にない文字列をその都
度全て登録する必要がないので、データ圧縮の処理速度
が、さらに大幅に向上する効果がある(請求項3,
4)。
【0092】また、本発明のデータ復元方法によれば、
入力データを過去の入力データの履歴に応じて符号化し
た符号化データを復元するデータ復元方法において、復
元データの文字列について直前文字との繋がりを表わす
文脈を収集して文脈木を作成する文脈収集過程と、この
文脈収集過程で得られた文脈木の各ノードに対応する符
号を符号木アドレスで対応させることにより文脈に対応
してスプレイ符号を対応させた符号木を、復元データの
文字列に応じてスプレイ符号化しながら作成・更新する
スプレイ符号化過程とをそなえているので、復元する文
字列の符号の出現頻度を求めて確率モデルを構築して符
号表を作成し、この符号表から復元する文字列の符号を
復元するという2段階の処理を同時に行なうことがで
き、データ復元の処理速度が大幅に向上するという効果
がある。また、上述の確率モデルは、文字の復元毎に符
号木が作成・更新されることによって構築されるので、
文字の復元毎に、既に構築されている確率モデルを再構
築するという膨大な演算処理を行なう必要が無く、これ
により復元処理の速度がさらに向上する(請求項5)。
【0093】さらに、本発明のデータ復元方法によれ
ば、入力データを過去の入力データの履歴に応じて符号
化した符号化データを復元するデータ復元方法におい
て、復元したデータの文字列を収集し収集した文字列に
番号を付けて直前文字との繋がりを表わす文脈を辞書と
しての文脈木に登録するとともに、その文脈木の各ノー
ドに対応する符号を符号木アドレスで対応させることに
より文脈に対応してスプレイ符号を対応させておき、辞
書番号に対応する文字列をスプレイ符号で復号化及び更
新するとともに、所定の最大文字列長に達するまで符号
化文字列の伸長文字列を文脈木に登録し、その伸長文字
列に対応するスプレイ符号を符号木に登録するので、入
力されたデータを1文字単位ではなく、複数文字単位の
文字列として復元することができ、これにより、データ
復元の処理速度が大幅に向上する効果がある(請求項
6)。
【0094】また、本発明のデータ復元方法によれば、
辞書登録文字列として、復号化済の直前文字から登録
し、直前文字から続く文字列を復号化したり、全ての一
文字にスプレイ符号を割り当てておき、直前文字から繋
がる文字列が既に収集した辞書(文脈木)中の文字列中
にない一文字のスプレイ符号を復号したとき、符号を更
新するとともに、直前文字から繋がる復号化した文字を
辞書(文脈木)に登録するようにすれば、辞書(文脈
木)中に無い文字列の符号をその都度全て登録する必要
が無いので、データ復元の処理速度が、さらに大幅に向
上する効果がある(請求項7,8)
【図面の簡単な説明】
【図1】本発明に関連する技術を説明するためのブロッ
ク図である。
【図2】本発明に関連する技術を説明するためのブロッ
ク図である。
【図3】本発明に関連する技術を説明するためのブロッ
ク図である。
【図4】本発明に関連する技術を説明するためのブロッ
ク図である。
【図5】本発明に関連する技術を説明するためのブロッ
ク図である。
【図6】本発明に関連する技術を説明するためのブロッ
ク図である。
【図7】本発明に関連する技術を説明するためのブロッ
ク図である。
【図8】本発明に関連する技術を説明するためのブロッ
ク図である。
【図9】本発明に関連する技術を説明するためのブロッ
ク図である。
【図10】本発明に関連する技術を説明するためのブロ
ック図である。
【図11】本発明に関連する技術を説明するためのブロ
ック図である。
【図12】本発明に関連する技術を説明するためのブロ
ック図である。
【図13】本発明に関連する技術を説明するためのブロ
ック図である。
【図14】本発明に関連する技術を説明するためのブロ
ック図である。
【図15】本発明の実施例にかかるデータ圧縮装置及
びデータ復元装置の構成を示すブロック図である。
【図16】(a)は文脈木の格納形式の一例を示す図で
ある。(b)は辞書の親子関係を示す図である。
【図17】符号木の初期状態を説明するための図であ
る。
【図18】符号木を格納する配列の一例を示す図であ
る。
【図19】(a),(b)はそれぞれスプレイ符号の符
号更新の基本操作およびスプレイ符号の符号更新の一例
を説明するための図である。
【図20】本発明の実施例にかかる符号化の手順を説
明するためのフローチャートである。
【図21】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図22】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図23】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図24】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図25】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図26】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図27】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図28】(a),(b)は、実施例にかかる文脈木
と符号木の更新手順を説明するための図である。
【図29】本発明の実施例にかかる文字列の符号化後
の例を説明するための図である。
【図30】(a),(b)は文脈木の作成手順のアルゴ
リズムを示す図である。
【図31】本発明の実施例にかかる復号化の手順を説
明するためのフローチャートである。
【図32】(a),(b)は多値算術符号化の原理を説
明するための図である。
【図33】(a),(b)は従来の文字単位に圧縮する
多値算術符号化の手順を示すフローチャートである。
【図34】多値算術符号化のアルゴリズムの一例を示す
図である。
【図35】(a),(b)はスプレイ符号化の原理を説
明するための図である。
【図36】確率統計型符号化の原理を説明するための図
である。
【図37】(a),(b)は文脈の木の登録例を示す図
である。
【符号の説明】
1,3 データ圧縮装置 2,4 データ復元装置 11,22 文脈収集過程 12,21 スプレイ符号化過 100,200 前置データ保持手 101,201 履歴保持手 102,202,107,207,301,401 符
号木保持手 103,203,403 符号木決定手 104 符号出力手 105,205 符号長変更手 106,206 前置データ更新手 108 文脈判別手 109 エスケープコード出力手段 110,208,305,405 文脈変更手 111 符号出力手段 112,209 履歴登録手段 113,114,115,212,304,309,3
11,407,410,412 符号登録手 116,117,213 制御手段 204,404 復号手 303 文脈登録手 302,402 文脈木保持手 306 符号化手段 307,406 符号更新手 308,409 分岐位置保持手段 310,411 分岐位置検索手 408,413,414 文脈木登録手 511 文脈収集 512 動的可変長符号化
フロントページの続き (56)参考文献 特開 平5−67978(JP,A) 特開 平5−128103(JP,A) 特開 平4−230518(JP,A) 特開 平4−100322(JP,A) 特開 平4−156111(JP,A) 特開 平5−218881(JP,A) Douglas W.Jones,A pplication of spla y trees to data co mpression,Communic ation of the ACM,米 国,Association for Computing machiner y,31[8],P.996−1007 (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 H03M 7/30 - 7/50

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力データを過去に出現した履歴に応じ
    て符号化して圧縮するデータ圧縮方法において、 上記入力データの文字列について直前文字との繋がりを
    表わす文脈を収集して文脈木を作成する文脈収集過程
    と、 上記文脈収集過程で得られた該文脈木の各ノードに対応
    する符号を符号木アドレスで対応させることにより該文
    脈に対応してスプレイ符号を対応させた符号木を、上記
    入力データの文字列に応じてスプレイ符号化しながら作
    成・更新するスプレイ符号化過程とをそなえて構成され
    たことを特徴とする、データ圧縮方法。
  2. 【請求項2】 入力データを過去に出現した履歴に応じ
    て符号化して圧縮するデータ圧縮方法において、 上記入力データの文字列を収集し、収集した文字列に番
    号を付けて直前文字との繋がりを表わす文脈を辞書とし
    ての文脈木に登録するとともに、該文脈木の各ノードに対応する符号を符号木アドレスで
    対応させることにより 該文脈に対応してスプレイ符号を
    対応させておき、最長一致文字列の辞書番号に対応する
    スプレイ符号の符号化及び更新を施すとともに、所定の
    最大文字列長に達するまで符号化文字列の伸長文字列を
    該文脈木に登録し、上記伸長文字列に対応するスプレイ
    符号を木構造の符号表としての符号木に登録することを
    特徴とする、データ圧縮方法。
  3. 【請求項3】 辞書登録文字列として、符号化済の直前
    文字から登録し、上記直前文字から続く文字列を符号化
    することを特徴とする、請求項2記載のデータ圧縮方
    法。
  4. 【請求項4】 全ての一文字にスプレイ符号を割り当て
    ておき、もし、上記直前文字から繋がる文字列が既に収
    集した辞書中の文字列中になければ、上記一文字のスプ
    レイ符号を出力するとともに更新した後、上記直前文字
    から繋がる上記符号化した文字を該文脈木に登録するこ
    とを特徴とする請求項3記載のデータ圧縮方法。
  5. 【請求項5】 入力データを過去の入力データの履歴に
    応じて符号化した符号化データを復元するデータ復元方
    法において、 復元データの文字列について直前文字との繋がりを表わ
    す文脈を収集して文脈木を作成する文脈収集過程と、 上記文脈収集過程で得られた該文脈木の各ノードに対応
    する符号を符号木アドレスで対応させることにより該文
    脈に対応してスプレイ符号を対応させた符号木を、上記
    復元データの文字列に応じてスプレイ符号化しながら作
    成・更新するスプレイ符号化過程とをそなえて構成され
    たことを特徴とする、データ復元方法。
  6. 【請求項6】 入力データを過去の入力データの履歴に
    応じて符号化した符号化データを復元するデータ復元方
    法において、 復元したデータの文字列を収集し、収集した文字列に番
    号を付けて直前文字との繋がりを表わす文脈を辞書とし
    ての文脈木に登録するとともに、該文脈木の各ノードに対応する符号を符号木アドレスで
    対応させることにより 該文脈に対応してスプレイ符号を
    対応させておき、辞書番号に対応する文字列をスプレイ
    符号で復号化及び更新するとともに、所定の最大文字列
    長に達するまで符号化文字列の伸長文字列を該文脈木に
    登録し、上記伸長文字列に対応するスプレイ符号を木構
    造の符号表としての符号木に登録することを特徴とす
    る、データ復元方法。
  7. 【請求項7】 辞書登録文字列として、復号化済の直前
    文字から登録し、上記直前文字から続く文字列を復号化
    することを特徴とする請求項6記載のデータ復元方法。
  8. 【請求項8】 全ての一文字にスプレイ符号を割り当て
    ておき、上記直前文字から繋がる文字列が既に収集した
    辞書中の文字列中にない上記一文字のスプレイ符号を復
    号したとき、符号を更新するとともに、上記直前文字か
    ら繋がる上記復号化した文字を該文脈木に登録すること
    を特徴とする、請求項7記載のデータ復元方法
JP16850294A 1994-07-20 1994-07-20 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置 Expired - Fee Related JP3278297B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP16850294A JP3278297B2 (ja) 1994-07-20 1994-07-20 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
DE69535118T DE69535118T2 (de) 1994-07-20 1995-04-21 Verfahren zur Datenkomprimierung und -dekomprimierung und zugehöriges Datenkomprimierungs- und -dekomprimierungsgerät
DE69532775T DE69532775T2 (de) 1994-07-20 1995-04-21 Verfahren zur Datenkomprimierung und -Dekomprimierung und zugehöriges Datenkomprimierungs- und Dekomprimierungsgerät
DE69527679T DE69527679T2 (de) 1994-07-20 1995-04-21 Verfahren zur Datenkomprimierung und -Dekomprimierung
EP00107596A EP1024600B1 (en) 1994-07-20 1995-04-21 Data compression method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor
EP02022276A EP1289153B1 (en) 1994-07-20 1995-04-21 Data compressing method and data decompressing method, and data compressing apparatus and data decompressing apparatus therefor
EP95106027A EP0695040B1 (en) 1994-07-20 1995-04-21 Data compressing method and data decompressing method
US08/948,325 US5907637A (en) 1994-07-20 1997-10-10 Method and apparatus for compressing and decompressing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16850294A JP3278297B2 (ja) 1994-07-20 1994-07-20 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2001402030A Division JP3425142B2 (ja) 2001-12-28 2001-12-28 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
JP2001402031A Division JP3425143B2 (ja) 2001-12-28 2001-12-28 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置

Publications (2)

Publication Number Publication Date
JPH0830432A JPH0830432A (ja) 1996-02-02
JP3278297B2 true JP3278297B2 (ja) 2002-04-30

Family

ID=15869263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16850294A Expired - Fee Related JP3278297B2 (ja) 1994-07-20 1994-07-20 データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置

Country Status (4)

Country Link
US (1) US5907637A (ja)
EP (3) EP0695040B1 (ja)
JP (1) JP3278297B2 (ja)
DE (3) DE69527679T2 (ja)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3421700B2 (ja) * 1998-01-22 2003-06-30 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
JP2000201080A (ja) * 1999-01-07 2000-07-18 Fujitsu Ltd 付加コ―ドを用いたデ―タ圧縮/復元装置および方法
GB2350984B (en) * 1999-06-11 2003-10-15 Mitel Corp Synchronisation method and system
JP2001136535A (ja) * 1999-08-25 2001-05-18 Fuji Xerox Co Ltd 画像符号化装置および量子化特性決定装置
US7054953B1 (en) * 2000-11-07 2006-05-30 Ui Evolution, Inc. Method and apparatus for sending and receiving a data structure in a constituting element occurrence frequency based compressed form
US7424409B2 (en) * 2001-02-20 2008-09-09 Context-Based 4 Casting (C-B4) Ltd. Stochastic modeling of time distributed sequences
US7092942B2 (en) * 2002-05-31 2006-08-15 Bea Systems, Inc. Managing secure resources in web resources that are accessed by multiple portals
JP2004221633A (ja) * 2003-01-09 2004-08-05 Ricoh Co Ltd 画像処理装置、画像処理用プログラム及び記憶媒体
JP4004521B2 (ja) * 2003-02-03 2007-11-07 シャープ株式会社 符号化装置及び方法、復号装置及び方法、プログラム、並びに記録媒体
GB2400291A (en) * 2003-04-05 2004-10-06 Autodesk Canada Inc Image processing using switch nodes
KR100959532B1 (ko) * 2003-12-18 2010-05-27 엘지전자 주식회사 Cavlc 복호 방법
JP2005217842A (ja) * 2004-01-30 2005-08-11 Fujitsu Ltd データ圧縮方法、データ復元方法及びそのプログラム
JP2005234687A (ja) * 2004-02-17 2005-09-02 Sony Corp メモリ管理方法、画像処理装置およびメモリ管理プログラム
US7403495B2 (en) * 2004-06-30 2008-07-22 Sap Ag Method and system for compressing a tree
US8203972B2 (en) * 2004-06-30 2012-06-19 Sap Ag Method and system for compressing a tree
US7660475B2 (en) * 2004-12-22 2010-02-09 Ntt Docomo, Inc. Method and apparatus for coding positions of coefficients
WO2008047432A1 (fr) * 2006-10-19 2008-04-24 Fujitsu Limited Programme de recherche d'informations, supports d'enregistrement comprenant un tel programme enregistré, procédé de recherche d'informations, dispositif de recherche d'informations
US7573407B2 (en) * 2006-11-14 2009-08-11 Qualcomm Incorporated Memory efficient adaptive block coding
US8291150B2 (en) 2007-01-19 2012-10-16 Mitsubishi Electric Corporation Table device, variable length coding apparatus, variable length decoding apparatus, and variable length coding and decoding apparatus
US7605721B2 (en) * 2007-11-30 2009-10-20 Red Hat, Inc. Adaptive entropy coding compression output formats
US7518538B1 (en) * 2007-11-30 2009-04-14 Red Hat, Inc. Adaptive entropy coding compression with multi-level context escapes
US8396850B2 (en) * 2009-02-27 2013-03-12 Red Hat, Inc. Discriminating search results by phrase analysis
US8527500B2 (en) * 2009-02-27 2013-09-03 Red Hat, Inc. Preprocessing text to enhance statistical features
US8386511B2 (en) * 2009-02-27 2013-02-26 Red Hat, Inc. Measuring contextual similarity
US8438558B1 (en) 2009-03-27 2013-05-07 Google Inc. System and method of updating programs and data
US10891659B2 (en) * 2009-05-29 2021-01-12 Red Hat, Inc. Placing resources in displayed web pages via context modeling
BRPI1014232A2 (pt) * 2009-06-09 2016-04-12 Sony Corp aparelho para gerar múltiplas árvores de codificação de candidato para uso durante codificação, sistema para codificação e de codificação adaptável de imagens ou vídeos, e, método para gerar múltiplas árvores de codificação de candidato
US8321326B2 (en) 2009-09-15 2012-11-27 Auerbach Group Llc Method and system for enhancing the efficiency of a digitally communicated data exchange
US20130099946A1 (en) * 2011-10-21 2013-04-25 International Business Machines Corporation Data Compression Utilizing Variable and Limited Length Codes
US8848261B1 (en) * 2012-02-15 2014-09-30 Marvell International Ltd. Method and apparatus for using data compression techniques to increase a speed at which documents are scanned through a scanning device
DE102016200032A1 (de) * 2015-01-06 2016-07-07 Ignis Innovation Inc. System und Verfahren zum Extrahieren von Korrelationskurven für eine organische Leuchtvorrichtung
US10361712B2 (en) * 2017-03-14 2019-07-23 International Business Machines Corporation Non-binary context mixing compressor/decompressor
US10613797B2 (en) * 2017-06-13 2020-04-07 ScaleFlux, Inc. Storage infrastructure that employs a low complexity encoder
EP3958567A4 (en) * 2019-04-23 2022-05-04 Guangdong Oppo Mobile Telecommunications Corp., Ltd. IMAGE DECODING METHOD, DECODER AND STORAGE MEDIUM
CN111181568A (zh) * 2020-01-10 2020-05-19 深圳花果公社商业服务有限公司 数据压缩装置及方法、数据解压装置及方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3835467A (en) * 1972-11-10 1974-09-10 Ibm Minimal redundancy decoding method and means
US4500955A (en) * 1981-12-31 1985-02-19 International Business Machines Corporation Full word coding for information processing
US4626829A (en) * 1985-08-19 1986-12-02 Intelligent Storage Inc. Data compression using run length encoding and statistical encoding
US4853696A (en) * 1987-04-13 1989-08-01 University Of Central Florida Code converter for data compression/decompression
US4847677A (en) * 1988-04-27 1989-07-11 Universal Video Communications Corp. Video telecommunication system and method for compressing and decompressing digital color video data
US5131053A (en) * 1988-08-10 1992-07-14 Caere Corporation Optical character recognition method and apparatus
JPH088642B2 (ja) * 1989-07-27 1996-01-29 富士通株式会社 網点画像データ圧縮装置
US4955066A (en) * 1989-10-13 1990-09-04 Microsoft Corporation Compressing and decompressing text files
US5254990A (en) * 1990-02-26 1993-10-19 Fujitsu Limited Method and apparatus for compression and decompression of data
EP0470798B1 (en) * 1990-08-06 1997-10-29 Fujitsu Limited Dictionary searching system
EP0688104A2 (en) * 1990-08-13 1995-12-20 Fujitsu Limited Data compression method and apparatus
US5151950A (en) * 1990-10-31 1992-09-29 Go Corporation Method for recognizing handwritten characters using shape and context analysis
JP3083550B2 (ja) * 1990-11-20 2000-09-04 富士通株式会社 データ圧縮及び復元方法
JP3053656B2 (ja) * 1991-02-26 2000-06-19 富士通株式会社 データ圧縮における辞書登録方式
JPH04286084A (ja) * 1991-03-15 1992-10-12 Fujitsu Ltd データ圧縮および復元方式
JPH05152971A (ja) * 1991-11-29 1993-06-18 Fujitsu Ltd データ圧縮・復元方法
US5377281A (en) * 1992-03-18 1994-12-27 At&T Corp. Knowledge-based character recognition
FR2690388A1 (fr) * 1992-04-22 1993-10-29 Rockwell Abs France Dispositif support de vitre dans un lève-vitre de véhicule automobile et lève-vitre incorporant ce dispositif.
KR950000286B1 (ko) * 1992-05-28 1995-01-12 삼성전자 주식회사 산술 부호화 장치 및 방법
JPH0618412A (ja) * 1992-07-02 1994-01-25 Fuji Photo Film Co Ltd 走査型屈折率顕微鏡
EP0582907A3 (en) * 1992-08-10 1995-05-10 Stac Electronics Inc Device and method for data compression using search by comparison of strings and Huffman coding.

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Douglas W.Jones,Application of splay trees to data compression,Communication of the ACM,米国,Association for Computing machinery,31[8],P.996−1007

Also Published As

Publication number Publication date
EP1289153A3 (en) 2003-04-09
DE69532775T2 (de) 2004-09-23
EP1024600B1 (en) 2004-03-24
EP1289153A2 (en) 2003-03-05
DE69527679D1 (de) 2002-09-12
EP1024600A2 (en) 2000-08-02
DE69527679T2 (de) 2002-12-05
JPH0830432A (ja) 1996-02-02
EP0695040A3 (en) 1996-09-04
EP0695040A2 (en) 1996-01-31
DE69532775D1 (de) 2004-04-29
DE69535118D1 (de) 2006-08-31
DE69535118T2 (de) 2006-12-21
US5907637A (en) 1999-05-25
EP0695040B1 (en) 2002-08-07
EP1289153B1 (en) 2006-07-19
EP1024600A3 (en) 2000-09-20

Similar Documents

Publication Publication Date Title
JP3278297B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
US6215906B1 (en) Data compression and restoration system for encoding an input character on the basis of a conditional appearance rate obtained in relation to an immediately preceding character string
US4814746A (en) Data compression method
JP3305190B2 (ja) データ圧縮装置及びデータ復元装置
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
JP3276860B2 (ja) データ圧縮/復元方法
JPH09162748A (ja) データ符号化方法、データ復号方法、データ圧縮装置、データ復元装置、及びデータ圧縮・復元システム
EP0127815B1 (en) Data compression method
US5857036A (en) System and method for the fractal encoding of datastreams
JP5656593B2 (ja) 符号化データを復号する装置及び方法
Mathpal et al. A research paper on lossless data compression techniques
JP4758494B2 (ja) ビット長を符号に変換する回路及び方法
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
Belodedov et al. Development of an algorithm for optimal encoding of WAV files using genetic algorithms
JP3425143B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
Mitzenmacher On the hardness of finding optimal multiple preset dictionaries
Rani et al. A survey on lossless text data compression techniques
JP3425142B2 (ja) データ圧縮方法及びデータ復元方法並びにデータ圧縮装置及びデータ復元装置
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JPH05152971A (ja) データ圧縮・復元方法
JP3132774B2 (ja) データ圧縮・復元装置
JPH1155125A (ja) 文字データの圧縮・復元方法
Pannirselvam et al. A Comparative Analysis on Different Techniques in Text Compression
JPH06202844A (ja) データ圧縮復元処理装置
Mukherjee et al. Text compression

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020129

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

Free format text: PAYMENT UNTIL: 20080215

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090215

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100215

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120215

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees