JPH04156111A - データ圧縮方法 - Google Patents

データ圧縮方法

Info

Publication number
JPH04156111A
JPH04156111A JP28143390A JP28143390A JPH04156111A JP H04156111 A JPH04156111 A JP H04156111A JP 28143390 A JP28143390 A JP 28143390A JP 28143390 A JP28143390 A JP 28143390A JP H04156111 A JPH04156111 A JP H04156111A
Authority
JP
Japan
Prior art keywords
character
dictionary
character string
search
index
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.)
Granted
Application number
JP28143390A
Other languages
English (en)
Other versions
JP3012679B2 (ja
Inventor
Yasuhiko Nakano
泰彦 中野
Shigeru Yoshida
茂 吉田
Yoshiyuki Okada
佳之 岡田
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 JP2281433A priority Critical patent/JP3012679B2/ja
Priority to DE69123660T priority patent/DE69123660T2/de
Priority to EP91307343A priority patent/EP0471518B1/en
Priority to EP95113406A priority patent/EP0688104A2/en
Priority to US07/744,443 priority patent/US5150119A/en
Publication of JPH04156111A publication Critical patent/JPH04156111A/ja
Application granted granted Critical
Publication of JP3012679B2 publication Critical patent/JP3012679B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔目次〕 概要 産業上の利用分野 従来の技術(第7図乃至第13図) 発明が解決しようとする課題 課題を解決するための手段(第1図) 作用 実施例 (→ 一実施例の説明(第2図乃至第6図)(ロ)他の
実施例の説明 発明の効果 〔概要〕 LZW符号を用いてデータ圧縮するデータ圧縮方法に関
し、 辞書中の登録部分列を高速に検索し、符号化時間を短縮
することを目的とし、 符号化済データを相異なる部分列に分けて、該部分列を
辞書に登録しておき、連結する部分列の検索順を示す検
索用リストに従って、入力データと該辞書中の部分列を
比較検索し、入力データを該辞書中の部分列の内、最大
長一致するものの参照番号で指定して符号化するデータ
圧縮方法において、検索された部分列を該検索用リスト
中の1つ前の部分列と置き換えるように該検索用リスト
を書き換える。
〔産業上の利用分野〕
本発明は、LZW符号を用いてデータ圧縮するデータ圧
縮方法に関する。
近年、文字コード、ベクトル情報、画像等様々な種類の
データがコンピュータで扱われるようになっており、扱
われるデータ量も急速に増加してきている。大量のデー
タを扱うときは、データの中の冗長な部分を省いてデー
タ量を圧縮することで、記憶容量を減らしたり、速く伝
送したりできるようになる。
様々なデータを1つの方式でデータ圧縮できる方法とし
てユニバーサル符号化が提案されている。
ここで、本発明の分野は、文字コードの圧縮に限らず、
様々なデータに適用できるが、以下では、情報論理で用
いられている呼称を踏襲し、データの1 word単位
を文字と呼び、データが任意wordつながったものを
文字列と呼ぶことにする。
ユニバーサル符号の代表的な方法として、Ziv−Le
mpel (ジブーレンペル)符号がある(詳しくは、
例えば、宗像rZiv−Lempelのデータ圧縮法」
、情報処理、Vow、26、No、1.1985年を参
照のこと)。
ZiシーLe−ρel符号では■ユニバーサル型と、■
増分分解型(Incremental parsing
)の2つのアルゴリズムが提案されている。さらに、ユ
ニバーサル型アルゴリズムの改良として、LZSS符号
がある(T、C,Be1l、“Better OPM几
Text Compressi。
n” 、IEEE Trans、 on Com*un
、、Vol−COM−34,No。
12、 Dec、 1986参照)。また、増分分解型
アルゴリズムの改良としては、L Z W (Lemp
el−Ziv−Welch)符号がある(T、A−We
lch 、”A Technique for Hig
h−Performance  Data  Comp
ression’、Computer、June 19
84参照)。
これらの符号の内、高速処理ができることと、アルゴリ
ズムの簡単さからLZW符号が記憶装置のファイル圧縮
などで使われるようになっている。
〔従来の技術〕
先ず、LZW符号について第7図乃至第9図を用いて説
明する。
第゛7図はLZW符号化処理フロー図、第8図はLZW
復号化処理フロー図、第9図はLZW符号化、復号化説
明図である。
尚、第9図では説明をFJIIにするためabcの3文
字の組合わからなるデータを圧縮、復元する場合を取上
げている。
LZW符号化は、書き替え可能な辞書をもち、入力文字
コード、データ中を相異なる文字列に分け、この文字例
を出現した順に番号を付けて辞書に登録するとともに、
現在入力している文字列を辞書に登録しである最長−数
文字列の番号で表して、符号化するものである。
第7図のフロー図により符号化処理を説明する。
先ずステップSl(以下「ステップ」を省略)で予め全
文字につき一文字からなる文字列を初期値として登録し
てから符号化を始める。Slの符号化は、入力した最初
の文字Kにより辞書を検索して参照番号ωを求め、これ
を語頭文字列(prefix string)とする。
次に32で入力データの次の文字を読み込み、S3で文
字入力が終了したか否かをチエツクした後、S4に進ん
でSlで求めた語頭文字列ω又はS5のωにS2で読み
込んだ文字Kを加えた(ωK)が辞書にあるか否か探す
S4で文字列(ωK)が辞書になければ、S6に進んで
Slで求めた文字にの参照番号ωを符号語code (
ω)として出力し、また文字列(ωK)に新たな参照番
号を付加して辞書に登録し、さらにS2の入力文字Kを
参照番号ωに置き換えるとともに、辞書アドレスnをイ
ンクリメントしてS2に戻って次の文字Kを読み込む。
一方、S4で文字列(ωK)が辞書にあれば、S5で文
字列(ωK)を参照番号ωに置き換え、再びS2に戻っ
て文字列(ωK)が辞書から探せなくなるまで最大−成
長の探索を続ける。
第9図(A)、(B)を参照して符号化を具体的に説明
すると次のようになる。
先ず第9図(A)の入力データを左から右へ読み込む。
最初の文字aを入力したとき、辞書10にはaの他に一
致する文字列がないので、ou tpu tcode(
参照番号ω)を符号語として出力する。そして、拡張し
た文字列abに参照番号4をつけて辞書10に登録する
。実際の登録は文字列(lb)の形となる。続いて2番
目のbが文字列の先頭になる。辞書10にはbの他に一
致する文字列がないので、参照番号2を符号語として出
力し、拡張した文字列baを実際には2aの形で参照番
号5をつけて辞書10に登録する。3番目のaが次の文
字列の先頭になる。以下、同様にこの処理を続ける。
第8図の復号化処理は第7図の符号化の逆の操作を行う
第8図の復号化では、符号化と同様に予め辞書に全文字
につき一文字から成る文字列を初期値として登録してか
ら復号を始める。
先ずSlで最初の符号(参照番号)を読み込み、現在の
C0DEを0LDcodeとし、最初の符号は既に辞書
に登録された一文字の参照番号いずれかに該当すること
から、入力符号C0DHに一致する文字code(K)
を探し出し、文字Kを出力する。なお、出力した文字(
K)は後述するS8の例外処理のためFINcharに
セットしておく。
次に82に進んで次の符号を読み込んでC0DEにIN
codeとしてセットする。
S3で新たな符号があるか否か、すなわち符号入力の終
了の有無をチエツクしてS4に進み、S3で入力された
符号COOεが辞書に定義(登録)されているか否かチ
エツクする。
通常、入力した符号語は前回までの処理で辞書に登録さ
れているため、S5に進んで符号C0DHに対応する文
字列code (ωK)を辞書から読み出し、S6で文
字列Kを一時的にスタックし、参照番号code (ω
)を新たなC0DEとして再度S5に戻り、このS5、
S6の手順を再帰的に参照番号ωが一文字に至るまで繰
り返し、最後に37に進んでS6でスタックした文字を
L I F O(Last In FastOu t)
形式でポツプアップして出力する。同時に37において
、前回使った符号ωと今回復元した文字列の最初の一文
字Kをm(ω、K)と表した文字列に、新たな参照番号
を付加して辞書に登録する。
第9図(C)、(D)を参照して復号化処理を具体的に
説明すると次のようになる。
先ず第9図(D)で最初の入力文字は1であり、−文字
a、b、cについては既に参照番号1.2.3として第
9図(C)に示すように辞書10に登録されているため
、辞書10の参照により符号1に一致する参照番号の文
字列aに置き換えて出力する。次の符号2についても同
様にして文字すに置き換えて出力する。このとき前回処
理した符号と今回復号した最初の一文字すとを組み合わ
せた(1 b)に新たな参照番号4を付加して辞書10
に登録する。
3番目の符号4は辞書10の探索により1bからabと
置き換えて文字列abを出力する。同時に前回処理した
符号2と今回復号した文字列の1番目の文字aとの組合
わせた文字列2a(=ba)を新たな参照番号5を付加
して辞書10に登録する。
以下同様に、この処理を繰り返す。
第9図(d)の復号化では次の例外処理がある。
この例外処理は、第6番目の入力符号8の復号で生ずる
。符号8は復号時に辞書に定義されておらず、復号でき
ない、この場合には、前回処理した符号5に前回復号し
た文字列baの最初の−文字すを加えた文字列5bを求
め、さらに2ab、babと置き換えられて出力される
。そして、5字列の出力語に前回の符号語5に今回復号
した)字列の文字すを加えた文字列5bに参照番号8ン
付加して辞書に登録する。
この列外処理は第8図の復号化処理フローの54、S8
の処理を通じて行われ、最終的に57て文字列の出力と
新たな文字列に参照番号を付加した辞書への登録S7で
行われる。
なお、第7図、第8図の符号化/復号化処理は同じ辞書
を作り出しながら行う。
第7図の流れ図に示す手順で符号化すると、1つの文字
列を辞書探索するたびに最悪、辞書全体をサーチしなけ
ればならないために時間がかがった。そこで、従来は辞
書探索に外部ハツシュ法(open hashing、
または、chaining)を用いて処理速度を上げて
いた(例えば、オーム社刊、情報処理学会編、情報処理
バンドブック、を参照のこと)。
第10図は外部ハツシュ法の説明図である。
文字列からなる集合Sを考えた時、Sの文字列(xのあ
る位置を、文字列χがらにの格納位置のアドレスが直接
計算できる仕組みになっていると高速の探索ができる。
これを実現するのがハツシュ法である。
記憶場合(ハツシュ表)に0からm〜1までの・   
アトルスが付されているとすると、ハツシュ法では、 関数 h = S−Co、1.  ・・−、m−1)1
、  を一つ定めて、Sの文字列Xのアドレスをh(X
)で求める。関数りをノリシュ関数、値h(X)をXの
ハツシュ・アドレスといっている。
ハツシュ法は、通常、Sの大きさがmに比べてはるかに
大きい場合に用いられる。そこで、hをどのように選ん
だとしても、Sの相異なる文字列XI、Xji’に対し
てh (x t) =h (X2)となる場合が起こり
得る。これを衝突と呼び、衝突に対する対策の一つとし
て外部ハツシュ法(open hashingまたは、
chainig)が用いられる。
外部ハフシュ法は、第10図に示すように、ハツシュア
ドレスiごとにリストを用意し、h(x)=iとなるX
はそのリストの先頭から順にしまう、同じバッジエアド
レスをもつそれぞれのリストはパケット(bucket
)と呼ばれる。
第11図乃至第13図は従来技術の説明図であり、第1
1図は探索木の一例、第12図はその文字列格納テーブ
ルと外部ハフシュテーブルの状態、第13図は辞書探索
に外部ハツシュ法を用いたLZW符号のフローチャート
である。(詳細については翔泳社刊、AP−Labo 
ji著、ハードディスク・フックブック参照のこと)。
第12図において、文字列格納テーブル10bは、イン
デックスiに対するコードと文字ext(i)が格納さ
れており、配列first l OOはインデックス(
アドレス)iに対する最初の連結インデックスfirs
t(i)が、配列nextl 01はそのインデックス
(アドレス)iに対する次の連結インデックスnext
 (i )を格納する。
配列first 100が第10図の外部ハツシュ法の
索引dictinaryに対応し、配列nextlo1
が第10図の連結リストに対応する。
外部ハツシュ法では、新たな文字Kを入力したとき、そ
れまでの文字列の参照番号(ハツシュ・アドレス)iに
文字Kを付加した文字列の参照番号を外部ハツシュ法で
求めるものである。
外部ハツシュ法により、参照番号iの文字列に一文字を
付加した文字列をiをハツシュ・アドレス(索引)とし
て引く。連結リストには、文字列iに付加された文字が
na■eに格納してあり、nameの文字と文字にの一
致を検査し、不一致なら逐次連結リストを手繰ることに
よって、これまで出現した全ての一文字付加文字列を探
索することができる。もし、パケット中に文字Kを付加
した文字列がない場合は、最終的にリストの連結アドレ
スOが得られ、該当する文字列が登録されていないこと
を知ることができる。
次に、第11図に示すように、文字列“ab”、“ah
”、“、“abf”、”abx”、 Z “ahd″、“ahf”、“azc″、azg″、“a
zw”が辞書に登録されている場合に、文字列“azw
”を検索する場合を例にとり、往来の検索法を説明する
初期状態の文字列の格納テーブルlobの状態と外部バ
ー1シユテーブル10a  (100,101)の様子
を第12図に示す通りである。
第1文字目の“a”は既に登録済みであり、2文字目の
“2”を検索するために、“a”をハツシュアドレスと
して配列risrを引くと、Plが見つかる。従ってP
Iに格納されている“a”に続く文字列の“ab”が見
つかる。しかし、これとは一致しないので、今度はPl
はハツシュアドレスとして配列nex tを引くとP2
となる。ここでP2に格納されている文字列の“ah”
が見つかるが、これも一致しないので、更にP2をハツ
シュアドレスとして配列nextを引くとP3が見つか
る。
ここで2文字目の文字“2”と一致する。
次に3文字目の文字“W”の検索に移る。3文字目の検
索は、先ずP3をハツシュ・アドレスとした配列fir
stを引く。するとP8となり3文字目の“d”が検索
される。しかし一致しないので、今度はP8をハツシュ
アドレスとした配列nex tを引くとP9となる。し
かし、これも一致しなし)のでP9をハツシュアドレス
とする配列nex tをさらに引くとPIOとなり、目
的の3文字目の“W”が見つかる。検索は第1I図の■
〜■の経路を通って行われる。
(発明が解決しようとする課題〕 従来では、−度文字列が登録されると外部ノ\・ンシュ
テーブルは固定となり、書き換えられることはなかった
従って検索頻度の高い文字列でも、−度検索経路の長い
所に格納されると、毎回その長い経路を通って検索され
るので効率が悪く、登録が遅れたために、使用頻度の高
い文字列でも、同しノ1ツシュアドレスを持つリストの
後の方に登録されていれば、検索に毎回時間がかかると
いう問題があった。
従って、本発明は、辞書中の登録部分列を高速に検索し
、符号化時間を短縮することができるデータ圧縮方法を
従供することを目的する。
〔課題を解決するための手段〕
第1図は本発明の原理図である。
本発明は、第1図に示すように、符号化済データを相異
なる部分列に分けて、該部分列を辞書10に登録してお
き、連結する部分列の検索順を示す検索用リスト10a
に槌って、入力データと該辞書10中の部分列を比較検
索し、入力データを該辞書10中の部分列の内、最大長
一致するものの参照番号で指定して符号化するデータ圧
縮方法において、検索された部分列を該検索用リス)1
0a中の1つ前の部分列と置き換えるように該検索用リ
スト10aを書き換えるものである。
又、本発明は、前記検索用リストloaは、前記部分列
の文字数の少ないものから多いものに検索順を示してお
り、前記検索された部分列を前記検索用リスト10aの
同一文字数の部分列において1つ前にくるように前記検
索用リスト10aを書き換えるものである。
〔作用〕
本発明は、文字列の使用頻度を考慮して、−度検索され
た文字列は、同じハツシュアドレスを持つ文字列中の1
つ前に置き換える処理を行う。すると2回目の検索から
は、同じ文字列を検索するのに検索回数が一文字につき
一回少なって済む。
検索される度に、前へ前へと置き換えられるので、検索
回数が多いほど連結リスト中で、同じハツシュアドレス
を持つ文字列中の先頭の方に登録されるようになる。
このため、辞書を用いた符号化を高速化でき、符号化時
間を短縮できる。
〔実施例] (a)  一実施例の説明 第2図は、本発明の一実施例処理フロー図、第3図乃至
第6図はその動作説明図である。
尚、S1〜S7は第7図のS1〜S7と同一である。
31)プロセッサ(第1図参照)は、第1番目の文字を
含むように辞書IOを初期化する。即ち文字コードlを
辞書10のアドレス、m (−f)に登録する。
又、文字数に辞書10への現登録文字列数nをセントす
る。
更に文字列格納テーブル10bを用いて入力した最初の
文字Kを語頭文字列として参照番号(インデックス)i
に変換する。
次に、辞書検索用配列firstl OOのfirst
(NMAX) 、nextl O1のnext(NMA
X)、文字列テーブル10bのext(NMA)+3を
0に初期化する。
S2)プロセッサは、次の入力文字Kを読む。
S3)プロセッサは、次の文字Kがあるかを調べる。
S7)次の文字Kがなければ、文字にの符号C0de 
(ω)を出力して終了する。
S4.55)一方、次の文字Kがあれば、辞書検索ステ
ップに入る。
先ず、プロセッサは検索用インデックスlを文・  字
列ωとし、登録用インデックスjを0に、位置検知用イ
ンデックff1kをOにする。
次に、配列first 100を参照し、インデックス
1の連結インデックスfirst(i)を求め、インデ
ックスiにセットする。
このインデックiが「0」かを調べ、「0」でなければ
、文字列テーブル10bのインデックスiの文字列ex
t (i )が入力文字Kかを調べる。
入力文字にでなければ、登録用インデックスjを位置検
知用インデックスff1kにセーブし、検索用インデッ
クスiを登録用インデックス」にセーブする。
更に、配列nextl O1をインデックスiで参照し
、連結インデックスnext (i )を求め、インデ
ックスiにセットし、インデックスi−0かの判定に戻
る。
58)一方、文字列ext (i )が入力文字「K」
なら、位置検知用インデックスff1kが「0」かを判
定する。
fkが「0」でないことは、3番目以降の連結インデッ
クスで入力文字Kが見付かったことになり、前の部分列
と入れ替えを行う。
即ち、インデックスiをインデックスI!にのnext
(j!k)に移し、配列next 101のインデック
スiのnext (i ]をインデックスjのnext
 (j ]に移し、インデックスjをnext (i 
]に移して、ステップ■へ戻る。
一方、fk=oであると、2番目以前の連結インデック
スで入力文字Kが見付かったことになる。
そこで、登録用インデックスjが「0」かを判定する。
j=Oということは、first  (i ) 、即ち
連結の1番目の連結インデックスで入力文字Kが見付か
ったことになり、入れ替えの必要がないため、ステップ
S2へ戻る。
一方、j d Qであると、2番目以降の連結インデッ
クスで入力文字Kが見付かったことになり、先頭への入
れ替えを行う。
即ち、配列nextl 01のインデックスiのnex
 t〔i〕を1つ前のインデックスjのnext (j
 )に移し、配列first 100のインデックスω
のhrst 〔ω〕をnext (i )に移し、イン
デックスiをfirst  (ω〕に移す。
これζこまって、入力文字にのインデックスiが先頭に
書き換えられる。
そして、ステップS2へ戻る。
S6)ステップS4で、i=oなら辞書10にないため
、登録ステップに入る。
先ず、code (ω)を符号語として出力する。
次に、文字列数nをインデックスiにセットし、文字列
数nをn+1にインクリメントし、文字Kを文字列テー
ブル10bのインデックスiにnex t[i)として
格納する。
次に、登録用インデックスjが「0」かを調べる。
j=Oなら、その段の文字列は1個のため、インデック
スiを配列firstのfirst  (ω〕にセット
する。
一方、j≠0なら、その段の文字列は2個以上のため、
インデックスlを配列next Cω〕にセットする。
そして、文字Kをインデックス1にセントし、ステップ
■に戻る。
第3図乃至第6図を用いて具体例について説明する。
第3図(A)のように、第11図と同一の例をとり、文
字列’aZWJを検索することで説明する。
第3図(A)の場合、文字列テーブル10b、配列fi
rst l 00、配列nextl O1は第3図(B
)となる。
入力文字に=Zを入力し、配列first 、配列ne
xtをたどると、インデックスiとして、next (
1−P2) −P3が得られる。
この時、ext(P3)=Zであるから、j=P2、f
k=P1である。
従って、ステップS8で、fk≠0となり、第3図(A
)のようにrz」を1つ前の「h」といれ代える。
即ち、第4図に示すように、1=P3をnex t[I
!、に−P1]に、next[1=P3]−0をnex
t〔j = P 2 )に、」−P2をnext Ci
 = P 3 ’Jにセットする。
これによって、連結状態は、第4図(A)のように、第
3図(A)のrz、とrll、が入れ代わり、テーブル
状態は第4図(B)の如くなる。
次Gこ、ステップS2に戻り、次文字r W Jが入力
されると、配列first 100、配列nextlo
1を第5図(B)のようにたとり、インデックスlとし
てnext[P9)−PIOが得られる。
この時、ext (P 10) =wであり、j=P9
、fk=P8である。
従って、ステップS8で、1に≠0となり、第5図(A
)のようにr W Jを1つ前の’gJと入れ代える。
即ち、1=P10をnext(i!に=P8]に、ne
xt (i=P I Ol −0をnext Cj =
 P 9 )に、J−P9をnext Ci = P 
10 )にセットする。
これによって連結状態は、第6図(A)のように、第5
図(A)の’gJと「w」が入れ代わり、テーブル状態
は第6図(B)の如くなる。
このように、検索文字が1文字づつ見つかる度に、ハツ
シュテーブルの中身を同じハツシュアドレスを持つ文字
列中の1つ前に置き換えるうに書き換えていくことによ
り、次回、同し文字列の検索が行われた場合、前回より
短い経路で検索が行われ検索処理が高速化できる。この
方法は、−度検索されても連結リスト中の位置が1つず
つしか上がらないので、使用頻度の少ない文字列がきた
場合は、なかなか上がらず、使用頻度の高い文字列が来
た場合は、1回検索される度に確実に1個ずつ位置が上
がっていくので、検索頻度に対応した連結リスト構造が
構築できる。
またコード及び文字の登録処理と、ハツシュテーブル配
列first 、配列nex tの登録処理、連結リス
トの書き換えと次文字への検索続行処理をそれぞれパイ
プラインで行うようにすればより高速な符号化処理が行
える。
b)他の実施例の説明 上述の実施例の他に、本発明は次のような変形が可能で
ある。
■ ハツシュテーブルの形式は配列first 、配列
nex tの形式に限らず、他のものであってもよ(A
■ code (ω)として、更にランレングス符号化
等を用いて圧縮してもよい。
■ 文字列に限らず、符号化データ列であってもよい。
以上本発明を実施例により説明したが、本発明は本発明
の王旨に従い種々の変形が可能であり、本発明からこれ
らを排除するものではな(1゜〔発明の効果〕 以上説明した様に、本発明によれば9次の効果を奏する
■ LZW符号化に際し、辞書検索をするとき、検索さ
れた文字列が常に最短経路で検索されるように外部ハツ
シュテーブルを逐−書き直しながら検索を行うので、使
用頻度の高い文字列など検索経路が短くなり高速な検索
処理ができ、符号化が高速化される。
■ 1つの前のものと置き代えるだけなので、それ程急
激に検索木を変えないので、比較的ランダムな符号列の
検索の効率が向上する。
【図面の簡単な説明】
第1図は本発明の原理図、 第2図は本発明の一実施例処理フロー図、第3図乃至第
6図は本発明の一実施例動作説明図、 第7図はLZW符号化処理フロー図、 第8図はLZW復号化最北゛フロー図、第9図はLZW
符号化、復号化説明図、第10図は外部ハツシュ法の説
明図、 第11図乃至第13図は従来技術の説明図である。 図中、10〜辞書、 10 a−−−一検索用リスト。

Claims (2)

    【特許請求の範囲】
  1. (1)符号化済データを相異なる部分列に分けて、該部
    分列を辞書(10)に登録しておき、 連結する部分列の検索順を示す検索用リスト(10a)
    に従って、入力データと該辞書(10)中の部分列を比
    較検索し、 入力データを該辞書(10)中の部分列の内、最大長一
    致するものの参照番号で指定して符号化するデータ圧縮
    方法において、 検索された部分列を該検索用リスト(10a)中の1つ
    前の部分列と置き換えるように該検索用リスト(10a
    )を書き換えることを 特徴とするデータ圧縮方法。
  2. (2)前記検索用リスト(10a)は、前記部分列の文
    字数の少ないものから多いものに検索順を示しており、 前記検索された部分列を前記検索用リスト(10a)の
    同一文字数の部分列において1つ前にくるように前記検
    索用リスト(10a)を書き換えることを 特徴とする請求項(1)記載のデータ圧縮方法。
JP2281433A 1990-08-13 1990-10-19 データ圧縮方法 Expired - Lifetime JP3012679B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2281433A JP3012679B2 (ja) 1990-10-19 1990-10-19 データ圧縮方法
DE69123660T DE69123660T2 (de) 1990-08-13 1991-08-09 Datenkompressionsmethode und Gerät
EP91307343A EP0471518B1 (en) 1990-08-13 1991-08-09 Data compression method and apparatus
EP95113406A EP0688104A2 (en) 1990-08-13 1991-08-09 Data compression method and apparatus
US07/744,443 US5150119A (en) 1990-08-13 1991-08-13 Data compression method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2281433A JP3012679B2 (ja) 1990-10-19 1990-10-19 データ圧縮方法

Publications (2)

Publication Number Publication Date
JPH04156111A true JPH04156111A (ja) 1992-05-28
JP3012679B2 JP3012679B2 (ja) 2000-02-28

Family

ID=17639101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2281433A Expired - Lifetime JP3012679B2 (ja) 1990-08-13 1990-10-19 データ圧縮方法

Country Status (1)

Country Link
JP (1) JP3012679B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101614220B1 (ko) * 2014-11-28 2016-04-20 박수형 브러쉬 펜

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) * 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置
JPS63209228A (ja) * 1987-02-25 1988-08-30 Oki Electric Ind Co Ltd デ−タ圧縮方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60116228A (ja) * 1983-06-20 1985-06-22 ユニシス コーポレーション ディジタル信号ストリーム圧縮方法及び圧縮装置
JPS63209228A (ja) * 1987-02-25 1988-08-30 Oki Electric Ind Co Ltd デ−タ圧縮方法

Also Published As

Publication number Publication date
JP3012679B2 (ja) 2000-02-28

Similar Documents

Publication Publication Date Title
JP3273119B2 (ja) データ圧縮・伸長装置
US5281967A (en) Data compression/decompression method and apparatus
US5049881A (en) Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
US4988998A (en) Data compression system for successively applying at least two data compression methods to an input data stream
EP0471518B1 (en) Data compression method and apparatus
JP3241788B2 (ja) データ圧縮方式
JP3038223B2 (ja) データ圧縮方式
JPH04156111A (ja) データ圧縮方法
JPH10261969A (ja) データ圧縮方法および装置
JP3241787B2 (ja) データ圧縮方式
JP3012678B2 (ja) データ圧縮方法
JP3012677B2 (ja) Zl符号化方法
JP3038233B2 (ja) データ圧縮及び復元装置
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
JP2774350B2 (ja) データ圧縮方法および圧縮データのデータ復元方法
JP3088740B2 (ja) データ圧縮及び復元方式
JPH05152971A (ja) データ圧縮・復元方法
JP3555506B2 (ja) 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置
JP2003152548A (ja) データ圧縮における文字列検索方法
JP3236747B2 (ja) データ伸長方式
JP2999561B2 (ja) データ圧縮及び復元装置
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP2003318739A (ja) データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体
JP3388768B2 (ja) データ圧縮及び復元方式
JP3384844B2 (ja) データ圧縮方法および装置並びにデータ復元方法および装置