JPH05152971A - データ圧縮・復元方法 - Google Patents

データ圧縮・復元方法

Info

Publication number
JPH05152971A
JPH05152971A JP31693991A JP31693991A JPH05152971A JP H05152971 A JPH05152971 A JP H05152971A JP 31693991 A JP31693991 A JP 31693991A JP 31693991 A JP31693991 A JP 31693991A JP H05152971 A JPH05152971 A JP H05152971A
Authority
JP
Japan
Prior art keywords
dictionary
character
character string
data
registered
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.)
Withdrawn
Application number
JP31693991A
Other languages
English (en)
Inventor
Shigeru Yoshida
茂 吉田
Yoshiyuki Okada
佳之 岡田
Yasuhiko Nakano
泰彦 中野
Hirotaka Chiba
広隆 千葉
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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP31693991A priority Critical patent/JPH05152971A/ja
Publication of JPH05152971A publication Critical patent/JPH05152971A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】コンピュータ等で扱われるデータを,動的に更
新される辞書を用いて圧縮または復元するデータ圧縮・
復元方法に関し,辞書の能率を向上させ,かつデータ圧
縮率を向上させることを目的とする。 【構成】データ圧縮手段11は,入力データの文字列を,
辞書に登録されている文字列の中から最長一致するもの
の番号で指定して符号化し, 符号化済文字列データ中の
各文字から始まる相異なる部分文字列であって,既に辞
書に登録されているものの中で最長一致する文字列を1
文字伸ばした部分文字列を,新たに番号を付けて辞書に
登録する。データ復元手段15は,復元する圧縮データに
基づく番号により辞書を検索して復号化し, 復号化済文
字列データ中の各文字から始まる相異なる部分文字列で
あって,既に辞書に登録されているものの中で最長一致
する文字列を1文字伸ばした部分文字列を,新たに番号
を付けて辞書に登録する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は,通信対象や記憶装置へ
の格納対象となるデータを,動的に更新される辞書を用
いて圧縮または復元するデータ圧縮・復元方法に関す
る。
【0002】近年,文字コード,ベクトル情報,画像な
ど,様々な種類のデータがコンピュータで扱われるよう
になっており,扱われるデータ量も急速に増加してきて
いる。大量のデータを扱うときには,データの中の冗長
な部分を省いて,データ量を圧縮することにより,記憶
容量を減らしたり,速く伝送したりすることができるよ
うになる。
【0003】様々なデータを一つの方式でデータ圧縮で
きる方法として,ユニバーサル符号化が提案されてい
る。このようなデータ圧縮では,高い圧縮率を実現する
ことが要求される。ここで,本発明は,文字コードの圧
縮に限らず,様々なデータに適用できるが,以下では,
情報理論で用いられている呼称を踏襲し,データの1w
ord単位を文字と呼び,データが任意wordつなが
ったものを文字列と呼ぶことにする。
【0004】
【従来の技術】ユニバーサル符号の代表的な方法とし
て,ジブ−レンペル(Ziv-Lempel)符号がある(詳しく
は,例えば,宗像『Ziv-Lempelのデータ圧縮法』,情報
処理,Vol.26, No.1, 1985年を参照のこと)。このジブ
−レンペル符号では,スライド辞書型と,動的辞書
型(増分分解型ともいう)の2つのアルゴリズムが提案
されている。
【0005】さらに,スライド辞書型アルゴリズムの改
良として,LZSS符号(T.C.Bell,"Better OPM/L Tex
t Compression", IEEE Trans. on Commun., Vol.COM-3
4, No.12, Dec.1986 参照)や,1/4インチ・カート
リッジ磁気テープの標準圧縮方式であるQIC−122
符号がある。
【0006】また,動的辞書型アルゴリズムの改良とし
ては,LZW(Lempel-Ziv-Welch)符号がある(T.A.We
lch,"A Technique for High-Performance Data Compres
sion", Computer, June 1984参照)。これらの改良方法
は補助記憶装置のファイル圧縮や,パソコン通信でのデ
ータ伝送に利用されるようになっている。
【0007】本発明は,以上のようなジブ−レンペル符
号のアルゴリズムの改良に関係している。次に,本発明
が改良を加える動的辞書型アルゴリズムについて説明す
る。
【0008】〔動的辞書型(増分分解)アルゴリズム〕
このアルゴリズムは,圧縮率は中程度であるが,シンプ
ルで,計算も容易で高速処理ができる特長がある。動的
辞書型ジブ−レンペル符号では,入力シンボルの系列を
X=aabababaa・・・とすると,成分系列X=
0 1 2 ・・・への増分分解は次のようにする。
【0009】Xj を既成分の右端のシンボルを取り除い
た最長の列とし,入力シンボル系列を分けると, X=a・ab・aba・b・aa・・・ となる。
【0010】従って,X0 =λ(空列),X1 =X
0 a,X2 =X1 b,X3 =X2 a,X4 =X0 b,X
5 =X1 a,・・・ と分解できる。増分分解した各成分系列は既成分系列を
用いて次のような組で符号化する。
【0011】 [成分のインデックス(各成分の出た順番)][次のシ
ンボル]
【0012】すなわち,動的辞書型アルゴリズムは,符
号化パターンについて,過去に分解した部分列の内,最
長一致するものを求め,過去に分解した部分列の複製と
して符号化するものである。
【0013】動的辞書型では,辞書内の系列は過去に符
号化した(サンプリングした)系列の中だけから選ぶた
め,処理速度が速いものの,過去に現れたデータの一部
の系列しか含めないため圧縮率が高く取れない欠点があ
った。
【0014】このような動的辞書型の改良版として,辞
書への学習量を増やしインデックスのみで符号化できる
ようにしたLZJ符号がある( M.Jakobsson,"Compress
ionof Character Strings by An Adaptive Dictionar
y", BIT, 25号,1985年,593-603 頁参照のこと)。こ
のLZJ符号では,以下のようにデータの圧縮・復元を
行う。
【0015】〔LZJ符号〕LZJ符号の符号化,復号
化の処理フローを,図5および図6に示す。ここで,辞
書と文字列の表記法を次のように定義する。
【0016】文字種の集合をAとし,集合Aの文字を組
み合わせてできる文字列をSで表す。文字列Sのi番目
の文字をS(i) とし,S(i,j) を部分文字列S(i),S(i
+1),…,S(j) とする。辞書をDh (S) で表し,辞書の
木(tree)の根(root)から葉(leaf)へのパスとして
文字列S中の長さhの全ての部分文字列を登録する。
【0017】〔符号化手順(図5)〕E1:辞書に全文
字種の一文字を初期値として登録してから符号化を始め
る。辞書の登録数nを文字種数Aとおく。符号化済文字
列の位置を表すカーソルをkとし,k=0とおく。
【0018】E2:k番目の入力文字まで符号化が終了
したとすると,文字列S(1, k)の全ての部分文字列がす
でに辞書Dh (S(1, k))に登録してある。そこで,次の
ようにS(k+1),…の文字列から符号化する。
【0019】E2.1:S(k+1),…から辞書Dh (S(1, k))
の登録文字列に最長一致する部分文字列S(k+1, k+z)を
見つける。 E2.2:部分文字列S(k+1, k+z)の辞書番号ax を[ log
2 n]ビットで表して出力する。ただし,nは辞書の現
在の登録数であり,[y]はy以上の最小の整数であ
る。ここで,符号語ax は部分文字列S(ix, jx )を
表す。各々のax は辞書Dh (S(1,j x-1)),(ix ≦j
x ≦ix +h,ix =jx-1 +1)の辞書番号である。
【0020】E2.3:部分文字列S(k-h+2, k+1),…,S
(k+z-h+1, k+z)にnをインクリメントしながら辞書番号
をつけて辞書に追加し,辞書Dh (S(1, k+z)) を構成す
る。
【0021】E2.4:カーソルk=k+zとおく。
【0022】〔復号化手順(図6)〕 D1:E1と同様に辞書に全文字種の一文字を初期値と
して登録する。辞書の登録数nを文字種数Aとおく。カ
ーソルk=0とおく。
【0023】D2:辞書番号aw が復号化され,文字列
S(1,jw ) まで利用することができ,辞書Dh (S(1,
jw ))が再構成されている。次に符号語aw+1 を復号す
る。
【0024】D2.1:符号語aw+1 を復号した辞書番号よ
り辞書Dh (S(1,jw ))内の部分列S(iw+1, jw+1 )を復
元する。部分列S(iw+1, jw+1 )は,辞書内で根(roo
t)からアドレスaw+1 の節点で表される文字列であ
る。
【0025】D2.2:文字列S(1,jw+1 )を復号した後,
辞書Dh (S(1,jw+1 ))を,E2.3と同様に構成する。 D2.3:カーソルk=jw+1 とおく。
【0026】次に,このLZJ符号による符号化の具体
例を,図7に従って説明する。ここでは,説明を簡単に
するために,入力文字の種類は,a,b,c,dの4個
のアルファベットに限られるものとする。また,辞書に
登録する文字列の長さhは,h=3とする。
【0027】図7の(イ)に示すような入力データの文
字列“ababcabcdabcd・・・”は,LZJ
符号化の際に,図7の(ロ)に示すように部分文字列に
分解され,各部分文字列は,同図に示すような辞書番号
で表されて符号化される。図7の(ロ)に〜で示す
分解時点は,文字列分解の順番を表している。 符号化
に用いる辞書には,図7の(ハ)に示すように,最初,
a,b,c,dの4文字を初期値として登録しておい
て,符号化を始める。新たな文字列は,各分解時点に新
しい番号を付けて辞書に登録する。
【0028】分解時点では,辞書を参照することによ
り,aが番号(0) に符号化される。分解時点では,同
様にbが番号(1) に符号化される。分解時点では,3
番目の文字aを番号(0) で符号化した後,1番目の文字
aから始まる文字列abとabaを,番号(4) ,(5) と
して辞書に登録する。すなわち,h=3であるので,3
文字分になるまでの新たな文字列を辞書に登録する。こ
の時点では,2番目の文字bから始まる文字列は,3文
字分揃っていないので登録できない。
【0029】分解時点では,4番目の文字bを番号
(1) に符号化した後,2番目の文字bから始まる文字列
の登録ができるようになり,文字列baとbabを辞書
に登録する。以下同様に,各分解時点,,…におい
て,辞書により符号化を行い,3文字分揃った文字列の
中の新しい文字列を辞書に登録していく。
【0030】最終的に図7の(イ)に示す入力データの
文字列は,図7の(ロ)に辞書番号として示すように,
“(0) (1) (0) (1) (2) (5) (3) (5) (3) …”と符号化
され,データが圧縮されることになる。
【0031】復号化は,この符号化の逆操作となる。符
号化された番号を辞書を参照し,元の文字列に戻す。各
文字列を復号化した時点(分解時点と同じ)で,符号化
と同じ新たな文字列を辞書に登録する。
【0032】
【発明が解決しようとする課題】オリジナルの増分分解
型では,新たな文字列を既登録文字列から一文字ずつ伸
ばして登録するため,出易い文字列程長く伸びて,等確
率で出現する可変長文字列に対して固定長の番号を割り
当てるという確率的な構造が入れられていた。
【0033】これに対し,LZJ符号は,過去に現れた
長さhの全ての部分文字列から符号化の最長一致部分文
字列を得るため,過去の全ての部分文字列との照合一致
は取れるものの,辞書には部分文字列が出現頻度に関係
なく登録されることになり,確率的な面から見て,辞書
番号の符号化に無駄が生じていた。すなわち,辞書に登
録してある全ての節点は,同一長の辞書番号が割り当て
られて対応する部分文字列が出現したときに符号化に用
いられ,無駄が生じる。このように,LZJ符号では出
現した部分文字列は全て登録しており確率的な構造はな
いため,辞書番号に統計的な冗長性が残り,圧縮がかか
らない種類のデータもあった。
【0034】本発明は上記問題点の解決を図り,オリジ
ナルの増分分解型に比較して辞書への学習量を増やして
データの圧縮率を向上させるとともに,LZJ符号に比
較して辞書の能率を向上させ,少ない辞書登録個数で効
率のよい部分文字列への分解を可能とすることを目的と
している。
【0035】
【課題を解決するための手段】図1は本発明の原理説明
図である。図1において,10は符号化対象となる入力
データ,11は符号化によりデータを圧縮するデータ圧
縮手段,12は符号化用辞書,13は辞書検索符号化処
理,14は符号化における辞書登録処理,15は復号化
によりデータを復元するデータ復元手段,16は復号化
用辞書,17は辞書検索復号化処理,18は復号化にお
ける辞書登録処理を表す。
【0036】データ圧縮手段11は,入力データ10を
圧縮する符号化を行う場合,辞書検索符号化処理13に
より,入力データ10の文字列を,符号化用辞書12に
登録されている文字列の中から最長一致するものの番号
で指定して符号化する処理と,辞書登録処理14によ
り,符号化済文字列データ中の各文字から始まる相異な
る部分文字列であって,既に符号化用辞書12に登録さ
れているものの中で最長一致する文字列を1文字伸ばし
た部分文字列を,新たに番号を付けて符号化用辞書12
に登録する処理とを行う。
【0037】辞書登録処理14の処理では,辞書検索符
号化処理13により,入力データ10の文字列を,符号
化用辞書12に登録されている文字列の中から最長一致
するものの番号で指定して符号化した後,新たに符号化
した文字列を符号化済文字列データに組み入れたとき
に,符号化済文字列データ中で,各文字から辞書中の最
長一致文字列より1文字伸ばした文字列が確保できた前
回の最大文字位置の次の文字から,辞書中の最長一致文
字列の部分文字列を抽出し,その1文字伸ばした部分文
字列を符号化用辞書12に追加登録する。こうすること
により,符号化用辞書12に登録する部分文字列を出現
確率に基づくようにすることができる。
【0038】データ復元手段15は,データ圧縮手段1
1が圧縮したデータを復元する場合,辞書検索復号化処
理17により,復元する圧縮データに基づく番号によっ
て復号化用辞書16を検索し,復号化する処理と,辞書
登録処理18により,復号化済文字列データ中の各文字
から始まる相異なる部分文字列であって,既に復号化用
辞書16に登録されているものの中で最長一致する文字
列を1文字伸ばした部分文字列を,新たに番号を付けて
復号化用辞書16に登録する処理とを行う。
【0039】辞書登録処理18では,辞書検索復号化処
理17により,圧縮データを復元した後,新たに復号化
した文字列を復号化済文字列データに組み入れたとき
に,復号化済文字列データ中で,各文字から辞書中の最
長一致文字列より1文字伸ばした文字列が確保できた前
回の最大文字位置の次の文字から,辞書中の最長一致文
字列の部分文字列を抽出し,その1文字伸ばした部分文
字列を復号化用辞書16に追加登録する。こうすること
により,復号化用辞書16に登録する部分文字列を出現
確率に基づくようにすることができる。
【0040】
【作用】本発明は,LZJ符号の辞書に確率構造が入ら
ないという欠点を鑑み解決法を与えるものである。本発
明では,過去に現れたデータから辞書と最長一致する部
分文字列から1文字分伸ばした全ての部分文字列を登録
するようにするものである。
【0041】符号化用辞書12には,1文字ずつの全文
字種が初期値として登録され, その後, 符号化に伴い新
しい部分文字列が登録されていく。ここで,入力データ
10の各文字をCi (i=1,2,…,L;Lは入力デ
ータ長)とし,C1 からCk までが既に符号化圧縮され
たとする。
【0042】辞書検索符号化処理13では,次の文字C
k+1 から始まる文字列で,符号化用辞書12に既登録の
登録文字列と最長一致する部分文字列Ck+1 ,…,Cp
を抽出する。その部分文字列を辞書番号のai で符号化
する。
【0043】辞書登録処理14では,前回の登録処理
で,Cj までの部分文字列が登録されていたとすると,
j+1 からCp (今回の符号化で符号化済文字列に組み
入れられた最終文字)までの各文字から始まる部分文字
列で,符号化用辞書12に既に登録されているものと最
長一致する文字列に,次の1文字を加えた文字列を,符
号化用辞書12に登録する。
【0044】例えば,Cj+1 からCp までの文字列“a
bcde”で,既に“ab”,“bc”,“cde”,
“de”が符号化用辞書12に登録されていたとする
と,辞書登録処理14では,最長一致文字列“ab”,
“bc”を1文字ずつ伸ばして,新たに“abc”,
“bcd”を符号化用辞書12に登録する。
【0045】逆に,辞書検索復号化処理17では,C1
からCkまでの文字列が復号化されていたとすると,次
の符号語a1 に対して,復号化用辞書16を参照し,復
号化済文字列にCk+1 ,…,Cp の部分文字列を加え
る。この復号化済文字列から,復号化用辞書16に登録
する文字列を選び出す処理は,データ圧縮時の辞書登録
処理14の処理と同様である。
【0046】
【実施例】本発明の実施例による符号化,復号化の処理
フローを,図2および図3に示す。ここで,辞書と文字
列の表記法を次のように定義する。
【0047】文字種の集合をAとし,集合Aの文字を組
み合わせてできる文字列をSで表す。文字列Sのi番目
の文字をS(i) とし,S(i,j) を部分文字列S(i),S(i
+1),…,S(j) とする。辞書をDv(S)で表し,辞書の木
(tree)の根(root)から葉(leaf)へのパスとして文
字列S中の先頭から始まる,相異なる全ての部分文字列
を登録する。すなわち,辞書Dv(S(1,k)) は,S(1),S
(2),…S(K) の各文字から始まる辞書中の最長一致文字
列を求め,その最長一致系列を一文字伸ばした部分文字
列を登録して構成したものである。以下,図2および図
3に従って,本発明の実施例による符号化,復号化の処
理手順を説明する。
【0048】〔符号化手順(図2)〕 E1:辞書に全文字種の一文字を初期値として登録して
から符号化を始める。辞書の登録数nを文字種数Aとお
く。符号化済文字列の位置を表すカーソルをk=0とお
く。辞書登録済の部分文字列の位置を表すカーソルをm
=0とおく。
【0049】E2:k番目の入力文字まで符号化が終了
したとすると,文字列S(1, k)の全ての部分文字列がす
でに辞書Dv(S(1,k)) に登録してある。S(k+1),…の文
字列から,次のように符号化する。
【0050】E2.1:S(k+1),…から辞書Dv(S(1,k)) の
登録文字列に最長一致する部分文字列S(k+1, k+z)を見
つける。 E2.2:部分文字列S(k+1, k+z)の辞書番号ax を[ log
2 n]ビットで表して出力する。ただし,nは辞書の現
在の登録数である。ここで,符号語ax は部分文字列S
(ix, jx ) を表す。
【0051】E2.3:部分文字列S(m+1,j1 ) ,S(m+2,j
2 ) ,…,S(m+y,jy ) にnをインクリメントしながら
辞書番号を付けて辞書に追加し,辞書Dv(S(1, k+z))を
構成する。
【0052】ただし,S(m+1,j1 ) ,S(m+2,j2) ,
…,S(m+y,jy ) はそれぞれの開始点における辞書登録
文字列との最長一致文字列であり,m+1 ≦ j1 ≦k+z, m
+2≦ j2 ≦k+z,…,m+y ≦ jy ≦k+z である。
【0053】S(m+y,jy ) は jy ≦k+z の関係が保てる
最大の開始位置の最長一致文字列である。 E2.4:符号化済文字位置カーソルk=k+z,辞書登録
済文字位置カーソルのmをm=m+yとおく。
【0054】〔図3に示す復号化手順〕 D1:E1と同様に辞書に全文字種の一文字を初期値と
して登録する。辞書の登録数nを文字種数Aとおく。符
号化済文字列の位置を表すカーソルのkをk=0とお
く。辞書登録済の部分文字列の位置を表すカーソルのm
を,m=0とおく。
【0055】D2:辞書番号aw が復号化され,文字列
S(1,jW ) まで利用することができ,辞書Dv(S(1,
jw ))が再構成されている。次に符号語aw+1 を復号す
る。
【0056】D2.1:符号語aw+1 を復号した辞書番号よ
り辞書Dv (S(1,jw ))内の部分文字列S(iw+1, jw+1 )
を復元する。部分文字列S(iw+1, jw+1 ) は,辞書内で
根(root)からアドレスaw+1の節点で表される文字列
である。
【0057】D2.2:文字列S(1,jw+1 ) を復号した後,
辞書Dv(S(1, jw+1 ))を,E2.3と同様に構成する。 D2.3:復号化済文字位置カーソルのkをk=jw+1 ,辞
書登録済文字位置カーソルのmをm=m+yとおく。
【0058】本発明が従来の符号化,復号化アルゴリズ
ムと異なるところは主にE2.3,D2.2のステップであり,
符号化が行われるたびに符号化文字列を付加してできる
最長一致文字列から一文字伸ばした文字列を辞書に逐次
登録する。
【0059】以上のような符号化,復号化の処理におい
て,辞書が登録文字列で一杯になったときは,例えば従
来技術と同様にLRU(Least Recently Used )やLF
U(Least FrequentlyUsed )の文字列を辞書から捨て
て,スペースを空け,新たな文字列を登録する。
【0060】次に,本発明の実施例による符号化の具体
例を,図4に従って説明する。ここでは,説明を簡単に
するために,入力文字の種類は,a,b,c,dの4個
のアルファベットに限られるものとする。
【0061】図4の(イ)に示すような入力データの文
字列“ababcabcdabcd・・・”は,符号化
の際に,図4の(ロ)に示すような部分文字列に分解さ
れ,各部分文字列は,同図に示すような辞書番号で表さ
れて符号化される。図4の(ロ)に〜で示す分解時
点は,文字列分解の順番を表している。
【0062】符号化に用いる辞書には,図4の(ハ)に
示すように,最初,a,b,c,dの4文字を初期値と
して登録しておいて,符号化を始める。新たな文字列
は,各分解時点に新しい辞書番号を付けて辞書に登録す
る。
【0063】分解時点では,辞書を参照することによ
り,aが番号(0) に符号化される。分解時点では,同
様にbが番号(1) に符号化される。この分解時点で,
1番目の文字aを1文字伸ばした文字列abを,番号
(4) として登録する。この時点では,2番目の文字bか
ら始まる文字列の登録はできない。
【0064】分解時点では,3番目の文字から始まる
文字列abを,番号(4) で符号化した後,2番目の文字
から始まる文字列baを,番号(5)として辞書に登録す
る。分解時点では,5番目の文字cを,番号(2) で符
号化した後,3番目の文字から始まる文字列abc(既
登録の文字列abを1文字伸ばしたもの)を,番号(6)
として登録する。以下同様に,符号化と辞書への登録を
続ける。
【0065】例えば,分解時点では,6番目以降の文
字から始まる文字列abcdの中で,既登録の文字列を
1文字伸ばした部分文字列を登録できるようになり,6
番目,7番目,8番目の文字から始まる文字列abc
d,bc,cdが,それぞれ番号(8),(10),(11) で新規
に登録される。
【0066】最終的に図4の(イ)に示す入力データの
文字列は,図4の(ロ)に辞書番号として示すように,
“(0) (1) (4) (2) (6) (3) (8) …”と符号化され,デ
ータが圧縮されることになる。
【0067】復号化は,この符号化の逆操作となる。符
号化された番号を辞書を参照し,元の文字列に戻す。各
文字列を復号化した時点(分解時点と同じ)で,符号化
と同じ新たな文字列を辞書に登録する。
【0068】なお,本発明は,コンピュータプログラム
によるソフトウェアや,マイクロプログラムによるファ
ームウェア,または論理回路によるハードウェアのいず
れによっても簡単に実現できる。通常の文字コード・テ
キストに限らず,ベクトル・データや画像データ等の種
々のデータに適用できることは言うまでもない。
【0069】
【発明の効果】従来のLZJ符号によれば,出難い文字
列も出易い文字列も出現頻度に関係なく,所定の長さま
での全ての文字列が辞書に登録され,使う頻度が小さい
文字列で辞書が急速に埋まってしまうことがある。これ
に対して,本発明によれば,出易い文字列だけが伸ばさ
れて登録され,出難い文字列は伸ばされず,使う頻度に
応じた文字列のバリェーションが辞書に登録される。こ
のため,辞書の能率が良くなり,辞書登録個数が減ると
ともに,部分文字列への分解個数も減り,データ圧縮率
が向上する。
【図面の簡単な説明】
【図1】本発明の原理説明図である。
【図2】本発明の実施例によるデータ圧縮(符号化)の
処理フローを示す図である。
【図3】本発明の実施例によるデータ復元(復号化)の
処理フローを示す図である。
【図4】本発明の実施例による符号化例説明図である。
【図5】従来のLZJ符号による符号化処理フローを示
す図である。
【図6】従来のLZJ符号の復号化処理フローを示す図
である。
【図7】従来のLZJ符号化例説明図である。
【符号の説明】
10 入力データ 11 データ圧縮手段 12 符号化用辞書 13 辞書検索符号化処理 14 辞書登録処理 15 データ復元手段 16 復号化用辞書 17 辞書検索復号化処理 18 辞書登録処理
───────────────────────────────────────────────────── フロントページの続き (72)発明者 千葉 広隆 神奈川県川崎市中原区上小田中1015番地 富士通株式会社内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 動的に更新される辞書を用いてデータを
    圧縮する符号化を行うデータ圧縮方法において, 入力データの文字列を,辞書に登録されている文字列の
    中から最長一致するものの番号で指定して符号化する過
    程(13)と, 符号化済文字列データ中の各文字から始まる相異なる部
    分文字列であって,既に辞書に登録されているものの中
    で最長一致する文字列を1文字伸ばした部分文字列を,
    新たに番号を付けて辞書に登録する過程(14)とを備えた
    ことを特徴とするデータ圧縮方法
  2. 【請求項2】 請求項1記載のデータ圧縮方法におい
    て, 入力データの文字列を,辞書に登録されている文字列の
    中から最長一致するものの番号で指定して符号化した
    後, 新たに符号化した文字列を符号化済文字列データに組み
    入れたときに,符号化済文字列データ中で,各文字から
    辞書中の最長一致文字列より1文字伸ばした文字列が確
    保できた前回の最大文字位置の次の文字から,辞書中の
    最長一致文字列を1文字伸ばした部分文字列を抽出し,
    その部分文字列を辞書に追加登録することを特徴とする
    データ圧縮方法。
  3. 【請求項3】 動的に更新される辞書を用いて圧縮され
    たデータを,同様に動的に更新される辞書を用いて復元
    するデータ復元方法において, 復元する圧縮データに基づく番号により辞書を検索し復
    号化する過程(17)と, 復号化済文字列データ中の各文字から始まる相異なる部
    分文字列であって,既に辞書に登録されているものの中
    で最長一致する文字列を1文字伸ばした部分文字列を,
    新たに番号を付けて辞書に登録する過程(18)とを備えた
    ことを特徴とするデータ復元方法
  4. 【請求項4】 請求項3記載のデータ復元方法におい
    て, 復元する圧縮データに基づく番号により辞書を検索して
    復号化した後, 新たに復号化した文字列を復号化済文字列データに組み
    入れたときに,復号化済文字列データ中で,各文字から
    辞書中の最長一致文字列より1文字伸ばした文字列が確
    保できた前回の最大文字位置の次の文字から,辞書中の
    最長一致文字列を1文字伸ばした部分文字列を抽出し,
    その部分文字列を辞書に追加登録することを特徴とする
    データ復元方法。
JP31693991A 1991-11-29 1991-11-29 データ圧縮・復元方法 Withdrawn JPH05152971A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31693991A JPH05152971A (ja) 1991-11-29 1991-11-29 データ圧縮・復元方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31693991A JPH05152971A (ja) 1991-11-29 1991-11-29 データ圧縮・復元方法

Publications (1)

Publication Number Publication Date
JPH05152971A true JPH05152971A (ja) 1993-06-18

Family

ID=18082628

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31693991A Withdrawn JPH05152971A (ja) 1991-11-29 1991-11-29 データ圧縮・復元方法

Country Status (1)

Country Link
JP (1) JPH05152971A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
WO2001006660A1 (fr) * 1999-07-16 2001-01-25 Vertex Software Co. Procede de reduction de quantite de donnees et procede d'elaboration de quantite de donnees reduite
WO2002033830A1 (fr) * 2000-10-16 2002-04-25 Shima, Masahiko Système d'habillage numérique des contenus
JP2009169474A (ja) * 2008-01-10 2009-07-30 Mitsubishi Electric Corp システムログ管理支援装置およびシステムログ管理支援方法
US11122095B2 (en) 2019-09-23 2021-09-14 Netapp, Inc. Methods for dictionary-based compression and devices thereof

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5907637A (en) * 1994-07-20 1999-05-25 Fujitsu Limited Method and apparatus for compressing and decompressing data
WO2001006660A1 (fr) * 1999-07-16 2001-01-25 Vertex Software Co. Procede de reduction de quantite de donnees et procede d'elaboration de quantite de donnees reduite
WO2002033830A1 (fr) * 2000-10-16 2002-04-25 Shima, Masahiko Système d'habillage numérique des contenus
JP2009169474A (ja) * 2008-01-10 2009-07-30 Mitsubishi Electric Corp システムログ管理支援装置およびシステムログ管理支援方法
US11122095B2 (en) 2019-09-23 2021-09-14 Netapp, Inc. Methods for dictionary-based compression and devices thereof
US11444997B2 (en) 2019-09-23 2022-09-13 Netapp, Inc. Methods for dictionary-based compression and devices thereof

Similar Documents

Publication Publication Date Title
JP3273119B2 (ja) データ圧縮・伸長装置
JP2000124810A (ja) 符号化装置及び復号化装置
JP3241788B2 (ja) データ圧縮方式
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JPH05152971A (ja) データ圧縮・復元方法
JP3241787B2 (ja) データ圧縮方式
JP3038223B2 (ja) データ圧縮方式
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JPH05241775A (ja) データ圧縮方式
JP3038233B2 (ja) データ圧縮及び復元装置
JPH06161705A (ja) データ符号化方式及びデータ復元方式
JP3051501B2 (ja) データ圧縮方法
JP2774350B2 (ja) データ圧縮方法および圧縮データのデータ復元方法
JP3132774B2 (ja) データ圧縮・復元装置
JPH06168097A (ja) データ符号化方式及びデータ復元方式
JP3012677B2 (ja) Zl符号化方法
JP3053656B2 (ja) データ圧縮における辞書登録方式
JP3083329B2 (ja) データ圧縮復元方式
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP3117760B2 (ja) データ復元方式
JP2999561B2 (ja) データ圧縮及び復元装置
JP3078601B2 (ja) データ圧縮方法
Kumar A plain-text compression technique with fast lookup ability

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990204