JPH06149537A - データ圧縮方法及び復元方法 - Google Patents

データ圧縮方法及び復元方法

Info

Publication number
JPH06149537A
JPH06149537A JP4295648A JP29564892A JPH06149537A JP H06149537 A JPH06149537 A JP H06149537A JP 4295648 A JP4295648 A JP 4295648A JP 29564892 A JP29564892 A JP 29564892A JP H06149537 A JPH06149537 A JP H06149537A
Authority
JP
Japan
Prior art keywords
dictionary
character string
frequency
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.)
Pending
Application number
JP4295648A
Other languages
English (en)
Inventor
Shigeru Yoshida
茂 吉田
Yoshiyuki Okada
佳之 岡田
Yasuhiko Nakano
泰彦 中野
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 JP4295648A priority Critical patent/JPH06149537A/ja
Publication of JPH06149537A publication Critical patent/JPH06149537A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】動的辞書型アルゴリズムを用いたLZJ符号に
よるデータ圧縮及び復元方法に関し、辞書に確率構造が
入らないというLZJ符号の欠点を解消してデータの種
類を問わず高圧縮を可能とする。 【構成】データ圧縮は、入力文字列を部分列に分解し、
各部分列を辞書に登録済み部分列中で閾値T以上の高頻
度で出現する部分列の内の最長一致部分列の参照番号で
表して符号化し、さらに符号化済み文字列から辞書を作
成する。符号データの復元は、符号データを復号して得
られる参照番号で指定される高頻度部分列を復元し、さ
らに復元した高頻度の部分列を組み合わせてできる部分
列を順次登録した辞書を作成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、動的辞書型アルゴリズ
ムを用いたLZJ符号によるデータ圧縮及び復元方法に
関する。近年、文字コード、ベクトル情報,画像など様
々な種類のデータがコンピュータで扱われるようになっ
ており、扱われるデータ量も急速に増加してきている。
【0002】大量のデータを扱うときは、データの中の
冗長な部分を省いてデータ量を圧縮することで、記憶容
量を減らしたり、速く伝送したりできるようになる。様
々なデータを1つの方式でデータ圧縮できる方法として
ユニバーサル符号化が提案されている。ここで、本発明
の分野は、文字コードの圧縮に限らず、様々なデータに
適用できるが、以下では、情報理論で用いられている呼
称を踏襲し、データの1ワード単位を文字と呼び、デー
タが任意ワードつながったものを文字列と呼ぶことにす
る。
【0003】ユニバーサル符号の代表的な方法として、
ジブーレンペル(Ziv−Lempel)符号がある
(詳しくは、例えば、宗像「Ziv−Lempelのデ
ータ圧縮法」,情報処理,Vol.26,No.1,1
985年を参照のこと)。ジブーレンペル符号ではス
ライド辞書型(ユニバーサル型ともいう)と、動的辞
書型(増分分解型ともいう)の2つのアルゴリズムが提
案されている。
【0004】更に、スライド辞書型アルゴリズムの改良
として、LZSS符号(T.C.Bell,"Better OPM/L Text
Compression",IEEE Trans.on Commun.,Vol.COM-34,No.1
2,Dec,1986参照)や1/4インチ・カートリッジ磁気テ
ープの標準圧縮方式であるQIC−122符号がある。
また、動的辞書型アルゴリズムの改良としては、LZW
(Lempel-Ziv-Welch)符号がある(T.A.Welch,"A Techn
ique for High-Performance Data Compression",Comput
er,June 1984参照)。
【0005】これらの改良方法は、補助記憶装置のファ
イル圧縮や、パソコン通信でのデータ伝送に利用される
ようになっている。
【0006】
【従来の技術】まず従来の動的辞書型のアリゴリズムに
ついて説明する。 [動的辞書型(増分分解)アルゴリズム]このアルゴリ
ズムは、圧縮率はユニバーサル型より劣るが、シンプル
で、計算も容易であることが知られている。
【0007】増分分解型ジプーレンペル符号では、入力
シンボルの系列を X=aabababaa・・・ とすると、成分系列X=X012 ・・・への増分分
解は次のようにする。まずX1 を既成分の右端のシンボ
ルを取り除いた最長の列とし、 X=a・ab・aba・b・aa・・・・ となる。従って、 X0 =λ(空列) X1 =X0 a X2 =X1 b X3 =X2 a X4 =X0 b X5 =X1 a・・・ と分解できる。増分分解した各成分系列は既成分系列を
用いて次のような組で符号化する。
【0008】
【表1】
【0009】すなわち、増分分解型アルゴリズムは、符
号化パターンについて、過去に分解した部分列の内、最
大長一致するものを求め、過去に分解した部分列の複製
として符号化するものである。動的辞書型アルゴリズム
は、辞書内の系列は過去に符号化した(サンプリングし
た)系列の中だけから選ぶため、処理速度が速い。しか
し、過去に現れたデータの一部の系列しか含めないため
圧縮率が高く取れない欠点がある。
【0010】動的辞書型アルゴリズムの改良版として、
辞書への学習量を増やしインデックスのみで符号化でき
るようにしたLZJ符号がある(M.Jakobsson,"Comperss
ionof Character Strings by An Adaptive Dictionary,
BIT,25 号,1985年,593−603頁参照)。 〔LZJ符号〕LZJ符号の符号化アルゴリズムを図8
のフローチャートに示し、また復号化アルゴリズムを図
9のフローチャートに示す。
【0011】ここで、辞書と文字列の表記法を次のよう
に定義する。文字種の集合をAとし、集合Aの文字を組
み合わせてできる文字列をSで表す。文字列Sのi番目
の文字をS(i)とする。更に複数の部分文字列S
(i),S(i+1),・・・,S(j)をS(i,
j)とする。辞書をDh (S)で表わし、辞書の木(t
ree)の根(root)から葉(leaf)へのパス
として文字列S中の予め定めた一定長hの全ての部分文
字列を登録する。
【0012】図8のLZJ符号化処理は次のようにな
る。 [ステップS1]辞書に全文字種の一文字を初期値とし
て登録してから符号化を始める。辞書の登録数nを文字
種数Aとおく。カーソルk=0とおく。 [ステップS2〜S5]k番目の入力文字まで符号化が
終了したとして文字列S(1,k)の全ての部分文字列
がすでに辞書Dh (S(1,k))に登録してある。S
(k+1),・・・の文字列から符号化する。
【0013】詳細に説明すると、次のようになる。 [ステップS2]文字列S(k+1),・・から辞書D
h (S(1,k)) の登録文字列に最長一致する部分文
字列S(k+1,k+z)を見つける。 [ステップS3]部分文字列S(k+1,K+z)の辞
書番号ax を[log2 n]ビットで表して出力する。
ただし、nは辞書の現在の登録数であり、[log2
n]はlog2 n以上の最小の整数である。ここで、符
号語ax は部分文字列S(ix ,j x )を表す。各々の
符号語ax は辞書Dh (S(1,jx-1 )),(ix
x≦ix +h,ix =jx-1 +1)の辞書番号であ
る。
【0014】[ステップS4]一定長hの部分文字列S
(k−h+2,k+1),・・・,S(k+z−h+
1,k+z)にnをインクリメントしながら辞書番号を
付けて辞書に追加し、辞書Dh (S(1,k+z))を
構成する。 [ステップS5]カーソルk=k+zとおく。
【0015】[ステップS6]全文字を処理するまでス
テップS1〜S5を繰り返す。ここでステップS4の文
字列の辞書登録を図示すると図10に示すようになる。
次に図9のLZJ復号化処理は次のようになる。
【0016】[ステップS1]図8のステップS1と同
様に辞書に全文字種の一文字を初期値として登録する。
辞書の登録数nを文字種数Aとおく。カーソルk=0と
おく。 [ステップS2〜S4]辞書番号aw が復号化され、文
字列S(1,jw )まで利用することができ、辞書Dh
(S(1,jw ))が再構成されている。次に符号語a
w+1 を復号する。詳細に説明すると次のようになる。
【0017】[ステップS2]符号語aw+1 を復号した
辞書番号より辞書Dh (S(1,jw ))内の部分列S
(iw+1 ,jw+1 )を復元する。部分列S(iw+1 ,j
w+1 )は辞書内で根(root)からアドレスaw+1
節点で表わされる文字列である。 [ステップS3]文字列S(1,jw+1 )を復号した
後、辞書Dh (S(1,jw+1 ))を図16のS4と同
様に構成する。
【0018】[ステップS4]カーソルk=jw+1 とお
く。 [ステップS5]全符号を処理するまでステップS1〜
S4を繰り返す。
【0019】
【発明が解決しようとする課題】しかしながら、LZJ
符号は、過去に現れた長さhの全ての部分文字列から符
号化の最長一致部分文字列を得るため、過去の全ての部
分文字列との照合一致を取ることはできるが、辞書内の
部分文字列は出現頻度に関係なく登録してあるために確
率的な構造が入らず、辞書番号の符号化に無駄を生じて
いる。すなわち、辞書に登録してある全ての節点は同一
長の辞書番号が割り当てられ、対応する部分文字列が出
現したときに符号化に用いられる。
【0020】オリジナルの増分分解型では、新たな文字
列を既登録文字列から一文字ずつ伸ばして登録するた
め、出易い文字列程長く伸びて、等確率で出現する可変
長文字列に対して固定長の番号を割り当てるという確率
的な構造が入っている。これに対しLZJ符号では出現
した部分文字列は全て登録しており確率的な構造はな
い。このため、辞書番号に統計的な冗長性が残り、圧縮
がかからない種類のデータも存在するという問題があっ
た。
【0021】本発明は、このような従来の問題点に鑑み
てなされたもので、LZJ符号の辞書に確率構造が入ら
ないという欠点を解消してデータの種類を問わず高圧縮
ができるデータ圧縮及び復元方法を提供することを目的
とする。
【0022】
【課題を解決するための手段】図1は本発明の原理説明
図である。本発明のデータ圧縮方法は、入力文字列を部
分列に分解し、各部分列を辞書10に登録済み部分列中
の高頻度で出現する部分列の内の最長一致部分列の参照
番号で表して符号化する符号化過程と、符号化済み文字
列を辞書10に登録する辞書作成過程とを備えたことを
特徴とする。
【0023】ここで辞書作成過程は、入力文字列を符号
化するごとに、符号化済み文字列の先頭から最後までの
各文字を最終文字とする所定の長さをもつ全ての部分列
を辞書に登録するLZJ符号化方法に従った辞書登録を
行う。また辞書作成過程は、辞書に登録済の部分列の使
用回数を計数する出現頻度計数過程と、出現頻度計数過
程で計数した登録部分列の出現頻度計数値が所定の閾値
T以上となったとき、この文字列を符号化に用いる高頻
度文字列とみなして新たな参照番号を割付ける参照番号
割付過程とを備える。
【0024】更に高頻度文字列としての出現頻度を判定
する閾値Tを、辞書登録数の増大とともに徐々に大きい
値に更新する。一方、本発明のデータ復元方法は、入力
文字列を部分列に分解し、各部分列を辞書に登録済み部
分列中の高頻度で出現する部分列の内の最長一致部分列
の参照番号で表して符号化した符号データを入力し、こ
の符号データを復号して得られる参照番号で指定される
高頻度部分列を復元する復号化過程と、復元した高頻度
の部分列を組み合わせてできる部分列を順次登録した辞
書を作成する辞書作成過程とを備えたことを特徴とす
る。辞書作成過程はデータ圧縮方法の場合と同様であ
る。
【0025】
【作用】このような本発明のデータ圧縮及び復元方法に
よれば、LZJ符号の辞書の中から使用頻度の高い文字
列を取り出して符号化あるいは復号化に使用する辞書と
して新たな参照番号を割付けることで、確率構造が入ら
ないというLZJ符号の辞書の欠点を解消することがで
きる。
【0026】すなわち本発明は、LZJ符号において学
習と節点への番号付を分離する。具体的には各節点にカ
ウンタを備えて節点で与えられる文字列の出現頻度を計
数し、出現頻度が所定の閾値以上の節点のみ参照番号を
与えて符号化に用いるようにしている。
【0027】
【実施例】図2は本発明の一実施例を示した実施例構成
図である。図2において、12はCPUであり、CPU
12に対してはプログラムメモリ14とデータメモリ2
6が設けられる。プログラムメモリ14にはコントロー
ルソフト16,符号化ソフト18,復号化ソフト20,
辞書作成ソフト22及び出現頻度カウントテーブル24
が設けられる。
【0028】符号化ソフト18は入力文字列を部分列に
分解し、各部分列をデータメモリ26の辞書10に登録
済みの部分列の中の高頻度で出現する部分列の内の最長
一致する部分列の参照番号(辞書番号)で表わして符号
化する。また復号化ソフト20は、符号化ソフト18に
より符号化された符号データを入力し、符号データの復
号で得られた参照番号で指定される辞書10の高頻度の
部分列を復元する。
【0029】辞書作成ソフト22は符号化ソフト18に
よる符号化済みの部分列あるいは復号化ソフト20で復
元済みの文字列に基づき、圧縮時及び復元時の各々にお
いて符号化済み文字列あるいは復元済み文字列に基づく
辞書登録を行う。図3は本発明で用いる辞書の辞書登録
と文字列の出現頻度の計数を具体的に示した説明図であ
る。
【0030】図3にあっては、説明を簡単にするため、
処理対象となる文字種としてa,b,c,dの4文字を
例にとっている。図3に示す辞書の登録は図10に示し
たLZJ符号と全く同じ辞書登録を行っている。図3に
おいて、辞書の根から最初の歯へのパスとして全文字種
abcdが登録され、番号0,1,2,3が付けられて
いる。この初期登録を行った状態で、例えば文字列 aaaaaababbaababcbbbbbcb・・
・ を入力して符号化を行わせたとすると、図3に示すよう
な辞書登録が行われる。
【0031】本発明にあっては、この辞書登録における
各節点に四角で示すカウンタを設けており、各節点を通
る文字列が符号化に使用される毎に出現頻度を求めるた
めにカウンタの値を1つずつインクリメントする。図4
は図3のLZJ符号の辞書において、節点に設けたカウ
ンタの計数値が閾値T=3以上の文字列を高頻度の文字
列と判定し、文字列の符号化に用いる辞書番号を割り付
けた高頻度の文字列の辞書構造を示している。
【0032】このようにLZJ符号の辞書から高頻度の
文字列のみを取り出して辞書番号を付けて入力文字列の
符号化に用いることで、辞書に確率的な構造をもたせる
ことができる。ここで、図4の高頻度文字列の符号化に
用いる辞書を得るための閾値Tの取り方を説明する。
【0033】高頻度文字列を判断するための閾値Tを大
きな値に固定的に設定していると、出現頻度の大きい文
字列のみを用いた確率的な要素の強い尤もらしい符号化
が可能と思われる。しかし閾値Tが大きいために、図4
に示したような辞書番号付きの高頻度文字列の増加が遅
くなるため学習速度が低下し、従って入力データ量に対
する圧縮率の改善の度合が鈍くなる。
【0034】そこで本発明にあっては、高頻度文字列を
判断するための閾値TをLZJ符号の辞書登録数の増加
と共に徐々に大きくした値を用いる。例えば、文字種の
数をA、入力文字列の文字数をN、LZJ符号の辞書登
録数をnとすると、閾値Tは次式で表わすことができ
る。 T={(A+N)/n}×α (1) ここで、(1)式の右辺の(N/n)は1文字列当りの
平均出現回数を表わしており、この平均出現回数のα倍
出現したときに、この文字列を高頻度文字列として符号
化に用いる辞書番号付きの文字列として取り出すことを
意味し、係数αとしては1以上の値をとる。
【0035】このようにすることで閾値Tは1に近い値
から始まり、徐々に一定値に収束するようになる。ま
た、係数αの値はデータの種類によって最適値が変化す
るので、複数種類のデータに対し圧縮率が向上するよう
な平均的な値を設定する。尚、α=1とした場合はLZ
J符号の辞書登録そのものである。図5は図3及び図4
に示した本発明で用いる辞書のリスト構造を示したもの
で、辞書番号nにより符号化済み文字列がLZJ符号に
おける辞書作成手順に従って登録されている。文字種a
bcdに続く辞書番号n=4以降については、使用頻度
を示すカウント値が設けられる。このカウント値は図2
に示した出現頻度カウントテーブル24の内容をポイン
タで示すリスト構造で実現される。カウント値におい
て、閾値T=3以上の文字列について高頻度文字列とし
て符号化辞書番号mが割り付けられている。
【0036】この図5に示すような辞書を用いた符号化
にあっては、高頻度文字列であることを示す符号化辞書
番号mがついている文字列のみを対象に入力文字列に最
長一致する文字列の検索が行われる。次に図6のフロー
チャートを参照して本発明のデータ圧縮方法を実現する
符号化アルゴリズムを説明する。
【0037】まず本発明で用いる辞書は次のように登録
する。辞書をDm(S)で表わし、辞書の辞書の木(t
ree)の根(root)から葉(leaf)へのパス
として文字列S中の先頭から始まる相異なる全ての部分
列を登録する。即ち、辞書Dm{S(1,k)}はS
(1),S(2),・・・S(k)の各文字から始まる
辞書中の最長一致する高頻度の辞書番号付き文字列を求
め、求めた最長一致する辞書番号中の文字列について、
その中の各文字を最終文字として、予め定めた長さhの
全ての部分文字列を登録して構成する、いわゆるLZJ
符号の辞書登録を行う。
【0038】本発明のデータ圧縮方法を実現する符号化
アルゴリズムを図6のフローチャートを参照して説明す
ると、次のステップS1〜S7のようになる。 [ステップS1]辞書に全文字種の一文字を初期値とし
て登録してから符号化を始める。辞書の登録数nを文字
種数Aとおき、高頻度の辞書番号付文字列の数mを文字
種数Aとおく。符号化済文字列の位置を表すカーソルを
k=0とおく。辞書登録済の部分文字列の位置を表すカ
ーソルをl=0とおく。
【0039】[ステップS2〜S7]k番目の入力文字
まで符号化が終了したとして文字列S(1,k)の全て
の部分文字列がすでに辞書Dm(S(1,k))に登録
してある。S(k+1),・・・の文字列から符号化す
る。詳細は次のステップS2〜S7のようになる。 [ステップS2]文字列S(k+1)・・・から辞書D
m(S(1,k))の登録文字列に最長一致する番号付
文字列S(k+1,k+z)を見つける。
【0040】[ステップS3]部分文字列S(k+1,
k+z)の辞書番号bx を[log2 m]ビットで表し
て出力する。ただし、mは現在の高頻度の辞書番号付文
字列の数である。ここで、符号語bx は高頻度の辞書番
号付文字列S(ix ,jx )を表す。 [ステップS3]部分文字列S(l+1,j1 +1),
S(l+2,j2 +1),・・・,S(l+y,jy
1)に登録数nをインクリメントしながら辞書に追加す
る。
【0041】ただし、S(l+1,j1 +1),S(l
+2,j2 +1),・・・,S(l+y,jy )はそれ
ぞれの開始点における辞書登録文字列部分文字化であ
り、 l+1<j1 <k+z,l+2<j2 <k+z, ・・・,l+y<jy <k+z である。S(l+y,jy )は jy <k+z の関係が保てる最大の開始位置の文字列である。
【0042】このとき、新たな登録文字列の出現数カウ
ンタを0とおき、既に登録してある文字列は出現数カウ
ンタを+1する。 [ステップS5]新たに出現数≧Tとなった文字列に高
頻度の辞書番号付文字列の数mをインクリメントしなが
ら番号を割付け、辞書Dm (S(1,k+z))を構成
する。
【0043】[ステップS6]符号化済文字位置カーソ
ルk=k+zとおき、辞書登録済文字位置カーソルl=
l+jyとおく。 [ステップS7]全ての文字の符号化を終了するまでス
テップS2〜S6の処理を繰り返す。
【0044】図7は本発明のデータ復元方法を実現する
復号化アルゴリズムを示したフローチャートであり、次
のステップS1〜S6のようになる。 [ステップS1]図6のステップS1と同様に、辞書に
全文字種の一文字を初期値として登録する。辞書の登録
数nを文字種数Aとおき、高頻度の辞書番号付文字列の
数mをAとおく。符号化済文字列の位置を表すカーソル
k=0とおく。辞書登録済の部分文字列の位置を表すカ
ーソルをl=0とおく。
【0045】[ステップS2〜S6]入力した符号デー
タから辞書番号aw が復号化されており、文字列S
(1,j w )まで登録された辞書Dm (S(1,j
w ))が再構成されている。次に符号語aw+1 を復号す
る。詳細はステップS2〜S6のようになる。 [ステップS2]符号語aw+1 を復号した辞書番号より
辞書Dm (S(1,jw ))内の部分列S(iw+1 ,j
w+1 )を復元する。部分列S(iw+1 ,jw+1 )は辞書
内で根(root)より、番号aw+1 から求めたアドレ
スの節点までの文字列である。 [ステップS3]文字列S(1,jw+1 )を復号した
後、辞書Dm (S(1,jw+1 ))を図6のステップS
4,S5に示したと同様に構成する。
【0046】[ステップS4]符号化済文字位置カーソ
ルkをk=jw+1 とおき、辞書登録済文字位置カーソル
lをl=l+jy とおく。このように本発明の符号化お
よび復号化のアルゴリズムが図8,図9に示した従来の
符号化および復号化アルゴリズムと異なるところは、図
6のステップS5および図7のステップS3であり、辞
書登録文字列の内、高頻度のものに番号を付け、高頻度
文字列のみ符号化に用いることである。
【0047】
【発明の効果】以上説明してきたように本発明によれ
ば、過去に出現した全ての部分文字列が辞書に登録され
て最大限の学習が行われると共に、出現頻度が所定の閾
値以上の文字列のみを符号化するため、等確率で出現す
る文字列に同じ符号長を与えることができ、ほぼ理想に
近い符号割当てができる。
【0048】また、滅多に現われることのない出現頻度
の低い文字列に余分に番号を割り当てている従来のLZ
J符号における無駄が省け、高い圧縮率を得ることがで
きる。
【図面の簡単な説明】
【図1】本発明の原理説明図
【図2】本発明の実施例構成図
【図3】本発明における辞書登録と出現頻度の計数を示
した説明図
【図4】図3の辞書登録から得られた高頻度文字列と辞
書番号の説明図
【図5】図3および図4に対応する辞書のリスト構造を
示した説明図
【図6】本発明の符号化アルゴリズムを示したフローチ
ャート
【図7】本発明の復号化アルゴリズムを示したフローチ
ャート
【図8】従来のLZJ符号化アルゴリズムを示したフロ
ーチャート
【図9】従来のLZJ復号化アルゴリズムを示したフロ
ーチャート
【図10】LZJ符号における文字列の辞書登録を示し
た説明図
【符号の説明】
10:辞書 12:CPU 14:プログラムメモリ 16:コントロールソフト 18:符号化ソフト 20:復号化ソフト 22:辞書作成ソフト 24:出現頻度カウントテーブル 26:データメモリ 28:データバッファ

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】入力文字列を部分列に分解し、各部分列を
    辞書に登録済み部分列中の高頻度で出現する部分列の内
    の最長一致部分列の参照番号で表して符号化する符号化
    過程と、符号化済み文字列を辞書に登録する辞書作成過
    程とを備えたことを特徴とするデータ圧縮方法。
  2. 【請求項2】請求項1記載のデータ圧縮方法に於いて、
    前記辞書作成過程は、入力文字列を符号化するごとに、
    符号化済み文字列の先頭から最後までの各文字を最終文
    字とする所定の長さをもつ全ての部分列を辞書に登録す
    ることを特徴とするデータ圧縮方法。
  3. 【請求項3】請求項1記載のデータ圧縮方法に於いて、
    前記辞書作成過程は、 辞書に登録済の部分列の使用回数を計数する出現頻度計
    数過程と、 該出現頻度計数過程で計数した登録部分列の出現頻度計
    数値が所定の閾値以上となったとき、該文字列を符号化
    に用いる高頻度文字列とみなして新たな参照番号を割付
    ける参照番号割付過程と、 を備えたことを特徴とするデータ圧縮方式。
  4. 【請求項4】請求項1又は3記載のデータ圧縮方法に於
    いて、高頻度文字列としての出現頻度を判定する閾値
    を、辞書登録数の増大とともに徐々に大きい値に更新す
    ることを特徴とするデータ圧縮方法。
  5. 【請求項5】請求項4記載のデータ圧縮方法に於いて、
    高頻度文字列としての出現頻度を判定する閾値(T)
    を、文字種(A)、入力文字数(N)および辞書登録数
    (n)としたとき、 T={(A+N)/n}×α として求め、係数αを辞書登録数nの増加に対し閾値T
    が1または1に近い値から始まるように設定したことを
    特徴とするデータ圧縮方法。
  6. 【請求項6】入力文字列を部分列に分解し、各部分列を
    辞書に登録済み部分列中の高頻度で出現する部分列の内
    の最長一致部分列の参照番号で表して符号化した符号デ
    ータを入力し、該符号データを復号して得られる参照番
    号で指定される高頻度部分列を復元する復号化過程と、 復元した高頻度の部分列を組み合わせてできる部分列を
    順次登録した辞書を作成する辞書作成過程と、 を備えたことを特徴とするデータ復元方法。
  7. 【請求項7】請求項6記載のデータ復元方法に於いて、
    前記辞書作成過程は、高頻度文字列を復元するごとに、
    復元済み文字列の先頭から最後までの各文字を最終文字
    とする所定の長さをもつ全ての部分列を辞書に登録する
    ことを特徴とするデータ復元方法。
  8. 【請求項8】請求項1記載のデータ復元方法に於いて、
    前記辞書作成過程は、 辞書に登録済の部分列の使用回数を計数する出現頻度計
    数過程と、 該出現頻度計数過程で計数した登録部分列の出現頻度計
    数値が所定の閾値以上となったとき、該文字列を符号化
    に用いる高頻度文字列とみなして新たな参照番号を割付
    ける参照番号割付過程と、 を備えたことを特徴とするデータ復元方式。
  9. 【請求項9】請求項6又は8記載のデータ復元方法に於
    いて、高頻度文字列としての出現頻度を判定する閾値
    を、辞書登録数の増大とともに徐々に大きい値に更新す
    ることを特徴とするデータ復元方法。
  10. 【請求項10】請求項9記載のデータ復元方法に於い
    て、高頻度文字列としての出現頻度を判定する閾値
    (T)を、文字種(A)、入力文字数(N)および辞書
    登録数(n)としたとき、 T={(A+N)/n}×α として求め、係数αを辞書登録数nの増加に対し閾値T
    が1または1に近い値から始まるように設定したことを
    特徴とするデータ復元方法。
JP4295648A 1992-11-05 1992-11-05 データ圧縮方法及び復元方法 Pending JPH06149537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4295648A JPH06149537A (ja) 1992-11-05 1992-11-05 データ圧縮方法及び復元方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4295648A JPH06149537A (ja) 1992-11-05 1992-11-05 データ圧縮方法及び復元方法

Publications (1)

Publication Number Publication Date
JPH06149537A true JPH06149537A (ja) 1994-05-27

Family

ID=17823372

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4295648A Pending JPH06149537A (ja) 1992-11-05 1992-11-05 データ圧縮方法及び復元方法

Country Status (1)

Country Link
JP (1) JPH06149537A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221845A (ja) * 2010-04-12 2011-11-04 Fujitsu Ltd テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011221845A (ja) * 2010-04-12 2011-11-04 Fujitsu Ltd テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム

Similar Documents

Publication Publication Date Title
JP3541930B2 (ja) 符号化装置及び復号化装置
CN108768403B (zh) 基于lzw的无损数据压缩、解压方法及lzw编码器、解码器
EP0903866B1 (en) Method and apparatus for data compression
EP0127815B1 (en) Data compression method
JP3241788B2 (ja) データ圧縮方式
JPS61242122A (ja) 文字データ・ストリームの適応的圧縮方法
Yang et al. Universal lossless data compression with side information by using a conditional MPM grammar transform
CN104682966B (zh) 列表数据的无损压缩方法
Mathpal et al. A research paper on lossless data compression techniques
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
JP3241787B2 (ja) データ圧縮方式
JPH05241775A (ja) データ圧縮方式
JPH05152971A (ja) データ圧縮・復元方法
JPH06149537A (ja) データ圧縮方法及び復元方法
Ghuge Map and Trie based Compression Algorithm for Data Transmission
JPH05134847A (ja) データ圧縮方法
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3051501B2 (ja) データ圧縮方法
JP3132774B2 (ja) データ圧縮・復元装置
Pathak et al. Data compression scheme of dynamic Huffman code for different languages
JP3100206B2 (ja) データ圧縮方法
JP3117760B2 (ja) データ復元方式
JPH06202844A (ja) データ圧縮復元処理装置
Zia et al. Two-level dictionary-based text compression scheme
JPH0527943A (ja) データ圧縮方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20020723