JPH03247167A - データ圧縮方式 - Google Patents

データ圧縮方式

Info

Publication number
JPH03247167A
JPH03247167A JP2045163A JP4516390A JPH03247167A JP H03247167 A JPH03247167 A JP H03247167A JP 2045163 A JP2045163 A JP 2045163A JP 4516390 A JP4516390 A JP 4516390A JP H03247167 A JPH03247167 A JP H03247167A
Authority
JP
Japan
Prior art keywords
dictionary
character string
character
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.)
Granted
Application number
JP2045163A
Other languages
English (en)
Other versions
JP3038223B2 (ja
Inventor
Shigeru Yoshida
茂 吉田
Yasuhiko Nakano
泰彦 中野
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
Priority to JP2045163A priority Critical patent/JP3038223B2/ja
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to DE69133481T priority patent/DE69133481T2/de
Priority to EP98201928A priority patent/EP0878915A3/en
Priority to EP91904319A priority patent/EP0472730B1/en
Priority to EP98201925A priority patent/EP0871294B1/en
Priority to PCT/JP1991/000252 priority patent/WO1991013395A1/ja
Priority to DE69133377T priority patent/DE69133377T2/de
Priority to DE69132187T priority patent/DE69132187D1/de
Priority to KR1019910701461A priority patent/KR950013228B1/ko
Priority to EP98201926A priority patent/EP0871295B1/en
Publication of JPH03247167A publication Critical patent/JPH03247167A/ja
Priority to US08/003,876 priority patent/US5254990A/en
Application granted granted Critical
Publication of JP3038223B2 publication Critical patent/JP3038223B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [概要〕 ユニバーサル符号化の一種である増分分解型符号化の改
良としてのLZW符号化によるデータ圧縮方式に関し、 符号化及び復号化時の入力データの初めの部分での圧縮
率の低下を防止することを目的とし、サンプルデータを
符号化する学習処理で得られた辞書の文字列の内、出現
頻度の高い文字列を取り出して辞書初期値を設定し、符
号化又は復号化時に辞書を初期化する際には、学習済み
の辞書初期値を辞書に格納する初期化を行なうように構
成する。
[産業上の利用分野] 本発明は、ユニバーサル符号の一種である増分分解型の
改良として知られたLZW符号によるデータ圧縮方式に
関する。
近年、文字コード、ベクトル情報、画像など様々な種類
のデータがコンピュータで扱われるようになっており、
扱われるデータ量も急速に増加してきている。大量のデ
ータを扱うときは、データの中の冗長な部分を省いてデ
ータ量を圧縮することで記憶容量を減らしたり、速く伝
送したりすることが望まれる。
このように様々なデータを1つの方式でデータ圧縮でき
る方法としてユニバーサル符号化が提案されている。
ここで、本発明の分野は、文字コードの圧縮に限らず、
様々なデータに適用できるか、以下では、情報理論で用
いられている呼称を踏襲し、データの1ワ一ド単位を文
字と呼び、データが複数ワードつながったものを文字列
と呼ぶことにする。
ユニバーサル符号化の代表的な方法として、ジブーレン
ペル(ziv−Lempel)符号がある(詳しくは、
例えば宗像「2iv−Lempelのデータ圧縮法」。
情報処理、 vol、 26. No、 1.1985
年を参照のこと)。
2iv−Lempel符号では、 ■ユニバーサル型と、 ■増分分解型(Incremental parsin
g )の2つのアルゴリズムが提案されている。
更に、ユニバーサル型アルコリズムの改良として、LZ
SS符号がある(T、C,−Bell、’BeserO
PM/L Text Compression’、 I
EEE Trans、 on CommunVol、 
C0M−34,No、 12. Dec、 1986年
参照)。
また、増分分解型アルゴリズムの改良としては、L Z
W (Lsmpel 2iv−Welch)符号がある
(T、 AWelch、’^Technique lo
「High−Perfo+mancc DataCom
pression’、 Computer、 June
 1984年参照)。
これらの符号化方式の内、高速処理ができることと、ア
ルゴリズムの簡単さからLZW符号が記憶装置のファイ
ル圧縮などで使われるようになっている。
[従来の技術] 従来のLZW符号による符号化処理フローを第7図に示
すと共に、復号化処理フローを第8図に示す。
まずLZW符号化処理は、書き替え可能な辞書を持ち、
入力文字列の中を相異なる文字列(部分列)に分け、こ
の文字列を出現した順に参照番号を付けて辞書に登録す
ると共に、現在入力している文字列を辞書に登録しであ
る最長−散文字列の参照番号で表して符号化するもので
ある。
第10図にLZW符号化の説明図を示すと共に第12図
にLZW復号化の説明図を示し、更に第11図に復号化
と復号化時の辞書の内容を示す。
尚、第10.11.12図では説明を簡単にするため、
abcの3文字の組合せからなるデータを圧縮、復元す
る場合の例を取り上げている。
第8図のLZW符号化処理では、まずステップSt(以
下「ステップ」は省略)で予め辞書に全文字につき一文
字からなる文字列を初期値として登録してから符号化を
始める。Slの符号化は入力した最初の文字Kにより辞
書を検索して参照番号ωを求め、これを語頭文字列とす
る。次に82で入力データの次の文字Kを読み込み、S
3で全ての文字入力の読込みが終了したか否かチエツク
した後、S4に進んでSlで求めた語頭文字列ωに82
で読み込んだ文字Kを加えた(ωK)が辞書にあるか否
か探す。
S4で文字列(ωK)が辞書になければ、S6に進んで
Slで求めた文字にの参照番号ωを符号語code (
ω)として出力し、また文字列(ωK)に新たな参照番
号を付加して辞書に登録し、更にS2の人力文字Kを参
照番号ωに置き換えると共に辞書アドレスnをインクリ
メントしてS2に戻って次の文字Kを読み込む。
一方、S4で文字列(ωK)が辞書にあればS5で文字
列(ωK)を参照番号ωに置き換え、再びS2に戻って
S4で文字列(ωK)が辞書から探せなくなるまで最大
一致長の検索を続ける。
第10.11図を参照して符号化を具体的に説明すると
次のようになる。
まず第10図の入力データ1nputは左から右へと読
む。最初の文字aを入力した時、辞書にはaの他に一致
する文字列がないので、0b丁PUT C0DE1(参
照番号ω)を符号語として出力する。そして、拡張した
文字列abに参照番号4を付けて辞書に登録する。実際
の登録は文字列(1b)の形となる。
続いて2番目のbが文字列の先頭になる。辞書にはbの
他に一致する文字がないので参照番号2を符号語として
出力し、同時に、拡張した文字列baも辞書にないので
、文字列baに、実際には2aに参照番号5を付けて辞
書に登録する。3番目のaが次の文字列の先頭になる。
以下同様に、この処理を続ける。
第9図の復号化処理は第8図の符号化の逆の操作を行な
う。
第9図の復号化では、符号化時と同様に予め辞書に全文
字につき一文字からなる文字列を初期値として登録して
から復号化を始める。
まずSlで最初の符号(参照番号)読み込み、現在のC
0DEを0LDcodeとし、最初の符号は既に辞書に
登録された一文字の参照番号いずれかに該当することか
ら、入力符号C0DHに一致する文字code(K)を
探し出し、文字Kを出力する。
尚、出力した文字には後の例外処理のためFINcha
+ にセットしておく。
次に82に進んで次の符号を読み込んでC0DEにIN
codeとしてセットする。S3で新たな符号があるか
否か、即ち符号入力の終了の有無をチエツクしてS4に
進み、S3で入力された符号C0DEが辞書に定義(登
録)されているか否かチエツクする。
通常、入力した符号語は前回までの処理で辞書に登録さ
れているため、S5に進んで符号C0DHに対応する文
字列code (ωK)を辞書から読み出し、S6で文
字Kを一時的にスタックし、参照番号C0DE(ω)を
新たな符号C0DEとして再度S5に戻り、このS5.
S6の手順を再帰的に参照番号ωが一文字Kに至るまで
繰り返し、最後に87に進んでS6でスタックした文字
をL I FO(Last In Fasl 0ut)
型式でポツプアップして出力する。同時に87において
、前回使った符号ωと今回復元した文字列の最初の1文
字Kを組(ω、K)と表した文字列に、新たな参照番号
を付加して辞書に登録する。
第12図を参照して復号化処理を具体的に説明すると次
のようになる。
まず第12図で最初の入力符号は1であり、文字a、 
 b、  cについては既に参照番号1,2゜3として
第12図に示すように辞書に登録されているため、辞書
の参照により符号1に一致する参照番号の文字列aに置
き換えて出力される。次の符号2についても同様にして
文字すに置き換えて出力する。このとき前回処理した符
号と今回復号した最初の1文字すとを組み合わせた(1
b)に新たな参照番号4を付加して辞書に登録する。
3番目の符号4は辞書の検索により1bからabと置き
換えて文字列abを出力する。同時に前回処理した符号
2と今回復号した文字列の1番目の文字aとの組合せた
文字列2a(=ba)を新たな参照番号5を付加して辞
書に登録する。
以下同様に、この処理を繰り返す。
第12図の復号化では次の例外処理がある。
この例外処理は、第6番目の入力符号8の復号で生ずる
。符号8は復号時に辞書に定義されておらず、復号でき
ない。この場合には、前回処理した符号5に前回復号し
た文字列baの最初の一文字すを加えた文字列5bを求
め、更に2 a b=babと置き換えられて出力され
る。そして、文字列の出力後に前回の符号5に今回復号
した文字列の1番目の文字すを加えた文字列5bに参照
番号8を付加して辞書に登録する。
この例外処理は、第9図の復号化処理フローの84.S
8の処理を通じて行なわれ、最終的に87で文字列の出
力と新たな文字列に参照番号を付加した辞書への登録が
87で行なわれる。
尚、第9,12図の復号化処理は、復号側で符号を解読
しながら辞書をリアルタイムで作り出す場合を説明した
が、符号化の際に作られた辞書をそのまま復号化側にコ
ピーとして使用することで符号化しても良い。この場合
に復号化側での例外処理は不要になる。
[発明が解決しようとする課題] このように従来のLZW符号によるデータ圧縮は、完全
なユニバーサル性を前提にしており、辞書は第1文字の
み、或いは全一文字のみを登録した空白に近い状態から
符号化を始めるようにしている。このため、従来のLZ
W符号化にあっては、入力データの初めの方で学習量が
少ないため、即ち辞書への登録文字列数が少ないため、
圧縮率が低くなるという問題があった。
LZW符号化ではユニバーサル性も重要であるが、様々
な種類のデータの内、入力データとして特定の種類だむ
特に多く現れるときは、辞書は必ずしも空白に近い状態
から符号化する必要はない。
この問題はLZW符号の復号化時にも同じである。
本発明は、かかる事情に鑑みてなされたもので、符号化
及び復号化時の入力データの初めの部分での圧縮率の低
下を防止するLZW符号を用いたデータ圧縮方式を提供
することを目的とする。
[課題を解決するための手段] 第1図は本発明の原理説明図である。
まず本発明は、符号化時には、入力文字列を辞書に登録
された既に符号化済みの部分列の内、最大長一致する部
分列の参照番号で指定して符号化すると共に参照番号と
して指定された符号語に次の1文字を付加した部分列に
新たな参照番号を付加して辞書10に登録し、復号化時
には、部分列の参照番号で指定された符号語を辞書10
に登録された部分列の検索により元の部分列を復元する
と共に、前回復元された符号語に今回復号された部分列
の最初の1文字を付加した部分列を新たな参照番号を指
定して辞書10に登録するLZW符号を用いたデータ圧
縮方式を対象とする。
このようなデータ圧縮方式につき本発明にあっては、辞
書10の初期化時に、所望のサンプリング文字列を対象
とした前記符号化により辞書登録された部分列の内、出
現頻度の高い部分列を既に符号化済みの部分列と見做し
て前記辞書10に初期値として登録するように構成する
[作用] このような構成を備えた本発明の画像データ圧縮方式に
よれば、様々な種類のデータの内、入力データとして特
定の種類だけ特に多く現れるブタをサンプルデータとし
て準備し、第2図(a)に示すように、出現頻度の高い
サンプルデータについてLZW符号化により辞書を作成
し、作成辞書の中の出現頻度の高い部分列のみを残すよ
うに辞書を圧縮して辞書の初期値を作り出す。
そして第2図(b)(c)に示すように、サンプルデー
タの学習により求めた初期値を辞書にロドする初期化処
理を行なった後に、LZW符号化及びLZW復号化を行
ない、入力データの初めの部分でも十分な量の部分列の
登録が辞書に得られていることから、圧縮率を向上でき
る。
具体的には、サンプルデータのLZW符号化の際に、辞
書の参照番号毎にカウンタを設け、各参照番号が符号化
時に使われた回数を計数するようにし、計数値の小さい
文字列を辞書から削除し、高頻度で出現する文字列のみ
辞書に残した辞書を求める。そして次のいずれかの方法
で符号化或いは復号化する。
■予め記憶装置に取り出しておいた高頻度の文字列を初
期値として辞書にロードした後、符号化或いは復号化す
る。
■予め作成した高頻度の文字列を初期値として辞書の先
頭に書き替えをしない固定部分として設定しておき、符
号化或いは復号化する。
[実施例] 第3図は本発明の一実施例を示した実施例構成図である
第3図において、12は制御手段としてのCPUであり
、CPU12に対してはプログラムメモリ14とデータ
メモリ26が接続される。
プログラムメモリ14にはコントロールソフト16、L
ZW符号を用いた最大一致長検索を行なう最大−成長検
索ソフト18、入力文字列をLZW符号に変換する符号
化ソフト20、符号化ソフト20でLZW符号に変換さ
れた符号を元の文字列に復元する復号化ソフト22、及
び所望のサンプリングデータを対象としたLZW符号化
で得られた辞書登録の内の出現頻度の高い部分列を辞書
初期値として作り出す辞書初期値作成ソフト24を備え
る。
一方、データメモリ26には、これから符号化しようと
する文字列、或いはこれから復号化しようとする符号列
を格納するデータバッファ28と、LZW符号を対象と
した符号化及び復号化の際に逐次作成されながら使用さ
れる辞書10を備える。
この第3図の実施例における本発明のデータ圧縮方式の
概略は次のようになる。
まず、符号化及び復号化に先立ち、データメモリ26の
データバッファ28に対しては所望のサンプリングデー
タが格納される。このサンプリングデータとしては様々
な入力データの内、統計的に出現頻度が高い特定種類の
データを使用する。
データバッファ28にサンプルデータが格納された状態
でCPtJ12はコントロールソフト16による制御の
もとに辞書初期値作成ソフト24を起動し、辞書初期値
作成処理を行なう。具体的には、辞書初期値作成ソフト
24は符号化ソフト20を使用してデータバッファ28
のサンプルデータを対象としたLZW符号化処理を実行
し、符号化済み文字列に参照番号を付加したデータを辞
書10に順次登録していく。この辞書登録に際しては参
照番号毎にカウンタが設けられており、符号化時に、あ
る参照番号の文字列を経由した最大一致長検索が行なわ
れると、その都度カウンタかインクリメントされ、各文
字列の出現頻度を計数できるようにしている。
サンプリングデータを対象としたLZW符号化が終了す
ると、データメモリ26に得られた辞書10の内、カウ
ンタの計数値が閾値1以上出現した文字列のみを残すよ
うに辞書10を圧縮することで辞書初期値を作成する。
このように辞書初期値が作成されたならば、辞書初期値
はデータメモリ26の特定のエリアに保存しておき、符
号化または復号化を行なう初期化処理の際に辞書10に
ロードする。また、辞書初期値を符号化及び復号化に使
用する辞書10の先頭部分にそのまま残しておき、この
辞書初期値の部分を書き替え禁止領域とするようにして
もよい。
次に、第4図を参照して本発明のサンプルデータによる
辞書初期値の作成処理を説明する。
第4図において、まずSlでサンプルデータを構成する
文字列の第1番目の文字を含むように辞書を初期化する
。即ち、第1番目の文字コードiを辞書のアドレスiに
登録する。次に、辞書への現在の登録文字列の数を示す
カウンタnを一文字全体の文字数nとし、続いて入力し
た最初の一文字にの辞書検索で得られた参照番号ωを、
語頭文字列ωとする。
尚、Slの初期化にあっては、サンプルデータを構成す
る文字列の全一文字を参照番号を付けて辞書に登録する
ようにしてもよい。
次に82に進み、次の入力文字Kを読み込み、S3で文
字Kがあるか否か、即ち入力文字列の読込みが終了した
か否かチエツクしてS4に進む。
S4にあっては、第1番目に入力した文字の参照番号ω
、即ち語頭文字列ωに2番目の入力文字Kを組み合わせ
た文字列(ωK)が辞書にあるか否か検索する。このと
き、2文字目までしか入力していないので辞書には文字
列(ωK)が存在せず、従って85に進み、文字列(ω
K)を辞書アドレスnに登録し、2番目の文字Kを語頭
文字列ωに置き換え、更に参照番号ωの出現頻度を示す
カウンタcnj  (n)を作成してゼロにリセットし
、辞書への現在登録している文字列の数を示すカウン夕
nをインクリメントする。
一方、S4で文字列(ωK)が辞書に存在した場合には
S5に進み、文字列(ωK)を語頭文字列ωに置き換え
、これにより参照番号ωの文字列が使用されたことにな
るので、参照番号ωの文字列を示すカウンタcn+  
(ω)をインクリメントする。
以上の82〜S6に亘る処理の繰り返しにより全入力文
字の処理が終了すると83から87に進み、その時点で
得られた辞書の最終アドレスnと辞書の内容を記憶装置
に書き込んで一連の辞書作成処理を終了する。
第5図は第4図の処理により作成された辞書について、
高頻度の文字列のみを辞書に残す辞書圧縮の処理フロー
図である。
第5図において、まずSlで第4図の処理で得られた辞
書の最終アドレスnと辞書の内容をメモリにロードし、
辞書アドレスiをゼロにリセットする。
続いてS2で辞書アドレスをインクリメントし、S3で
最終アドレスに達したか否かチエツクした後、S4に進
んで辞書アドレスiのカウンタcnl(i)が予め定め
た出現頻度を示す閾値Tより小さいか否かチエツクする
もし、カウンタcnt  (i)が閾値Tより小さけれ
ばS5に進んで、現在の辞書アドレスiを削除して次の
辞書アドレスjに置き換える削除処理を行なう。続いて
S6に進み、削除した辞書アドレスiに続く次の辞書ア
ドレスjが最終アドレスn以内にあるかチエツクし、最
終アドレスn以内にあればS7に進んで、辞書アドレス
i以降に1−ωより大きい参照番号ωをもつ文字列が存
在するか否かチエツクする。削除した辞書アドレスi以
降に参照番号ωより大きい参照番号をもつ文字列が存在
したならばS8に進んで、文字列の中の参照番号ωの値
をデクリメントにより1つ減らし、S9に進んで辞書ア
ドレスjの文字列(ωK)を1つ前の辞書アドレスj−
1に登録する。そして、処理が済んだ辞書アドレスjを
次の処理のためにj+1とインクリメントしてS6に戻
り、辞書アドレスjが最終アドレスnを越えるまでS6
.S7、S8及びS9の処理を繰り返す。即ち、閾値T
より小さい出現頻度の文字列を削除した場合には、削除
した文字列のアドレス以降に存在する文字列の中の参照
番号を1つ減らし、且つ登録アドレスを1つ詰める処理
を繰り返す。
S6〜S9の処理が終了すると86からSIOに進み、
文字列を1つ削除したことから最終アドレスnを1つデ
クリメントし、再びS2に戻って辞書アドレスiをイン
クリメントして次の文字列に対する出現頻度の計数値の
チエツクを行ない、S3で最終アドレスnが判別するま
で繰り返す。
S3で最終アドレスnへの到達が判別されると811に
進んで辞書の最終アドレスnと辞書の内容を記憶装置に
書き込み、これにより圧縮された辞書初期値の生成が完
了する。
第6図は第4.5図の処理で得られた辞書初期値を使用
した本発明の符号化処理フロー図である。
第6図の符号化にあっては、まずSlで予めサンプルデ
ータに基づいて生成されている辞書初期値を記憶装置か
ら読み出し、読み出した辞書の最終アドレスnと辞書の
内容を辞書として使用するメモリにロードする。この辞
書初期値のロードが第8図に示した従来の符号化処理と
異なる点である。続いてSlにあっては入力した最初の
文字Kにより辞書を検索して一致した文字列の参照番号
ωを取り出して語頭文字列とし、S2で次の文字Kを入
力し、S3で入力文字の終了の有無をチエツクした後、
語頭文字列ωに今回入力した文字Kを組み合われた文字
列(ωK)が辞書にあるか否かチエツクする。従来方式
にあっては、入力データの初期段階で文字列(ωK)が
辞書に存在する割合は少なかったが、本発明にあっては
、Slでサンプルデータの学習により得られた辞書初期
値としての文字列を既に格納しているため、S4で文字
列(ωK)が辞書にあることが判別されてS5に進み、
文字列(ωK)を語頭文字列ωに置き換えて再びS2に
戻り、以下、辞書の検索結果が得られなくなるまで最大
一致長となる部分列を検索する処理を繰り返す。この結
果、入力データの参照についても辞書から検索できる部
分列の連鎖数が増加し、圧縮率を向上することができる
勿論、S4で部分列(ωK)が辞書になかった場合には
S6に進んで、そのときの参照番号ωを符号語code
 (ω)として出力し、今回処理した参照番号ωに次の
文字Kを加えた文字列(ωK)を、新たな参照番号を付
加して辞書に登録し、1文字Kを新たな語頭文字列に置
き換え、S2に戻って新たな部分列の最大一致長を求め
る符号化処理を行なう。
第7図は本発明の復号化処理フロー図であり、この符号
化処理にあっても、まずSlで第4,5図の処理で得ら
れた辞書初期値をメモリから読み出して、読み出した辞
書の最終アドレスnと辞書の内容を復号化時に辞書とし
て使用するメモリにロードする点に特徴がある。
Slで既に得られた辞書初期値の辞書のロードが終了す
ると、S2で最初の符号を読み込み、S3で符号入力の
読込みが全て終了したか否かチエツクしてS4に進み、
符号が辞書に定義されているか否かチエツクする。S4
で辞書に定義されていることが判別されると85に進み
、符号語に対応する参照番号をもつ文字列(ωK)を読
み出し、文字列(ωK)が得られればS6に進んで文字
Kをスタックし、文字Kを除いた参照番号ωの検索によ
り次の文字列(ωK)を85で求め、参照番号ωが文字
Kに帰着するまでS5,86の処理を行なった後、S7
に進み、S6でスタックした一連の文字をLIFO型式
でポツプアップして出力する。
尚、S4で符号が辞書に定義されていない場合の88に
おける例外処理は、Slにおける辞書初期値のロードに
より発生頻度がかなり低減しており、はとんど例外処理
に移行することなく符号から文字列を復号することが可
能となる。
このように、復号化については入力した最初の符号から
辞書に文字列として既に登録されているため、第9図の
従来の復号化にあっては、最初、まず1文字から復元し
ていたものの、第7図の本発明の復号化にあっては最初
の符号から文字列に復元することができる。
尚、第6,7図の符号化及び復号化の処理にあっては、
辞書の初期値を記憶装置からロードしてから符号化ある
いは復号化を始めるようにしているが、学習により得ら
れた初期値を辞書の先頭に格納して書き替えしない禁止
部分として設定して、辞書初期化による消去を禁止する
ことで符号化あるいは復号化してもよい。
また、上記の実施例にあっては辞書の初期値をサンプル
データを構成している1つの文字列から作成しているが
、これ以外に複数個のサンプルデータをつないだものを
入力して辞書の初期値を作成してもよい。また、1つの
サンプルデータから作成した初期値をロードした後に、
次のサンプルデータを使用して辞書を作り、この辞書の
中の高頻度の文字列のみを取り出すという処理を繰り返
すことで、累積して複数のサンプルデータに共通な辞書
の初期値を作成するようにしてもよい。
[発明の効果] 以上説明してきたように本発明によれば、多く現れる特
定種類のデータをサンプルデータとして学習処理により
得られた辞書の初期値を符号化あるいは復号化に用いる
ことで、LZW符号のアルゴリズムの簡易さをほとんど
変えることなく、圧縮率を大幅に向上することができる
また、初期値として辞書登録されていない出現照度の少
ない種類のデータについては、初期値設定後の辞書の空
きスペースに新たな文字列として登録することによって
、初期値として登録した特定種類のデータ以外のデータ
についてのユニバサル性を損うことなくデータ圧縮を行
なうことができる。
更に、出現頻度の高いデータの種類が予め予想できる場
合には、辞書初期値をデータの種類によって何種類か準
備しておき、辞書にロードする初期値の部分を切り換え
ることによって、予想した特定種のデータに対し強力な
データ圧縮を実現する符号化方式を実現することができ
る。
【図面の簡単な説明】
第1図は本発明の原理説明図; 第2図は本発明の作用説明図; 第3図は本発明の実施例構成図; 第4図は本発明のサンプルデータによる辞書の作成処理
フロー図; 第5図は本発明による辞書圧縮の処理フロー図;第6図
は本発明の符号化処理フロー図;第7図は本発明の復号
化処理フロー図;第8図は従来のLZW符号化処理フロ
ー図;第9図は従来のLZW復号化処理フロー図;第1
0図はLZW符号化説明図; 第11図は辞書構成例の説明図; 第12図はLZW復号化説明図である。 図中、 10:辞書 12:CPU 14ニブログラムメモリ 16 コントロールソフ ト 18・最大−成長検索ソフト 20:符号化ソフト 22:復号化ソフト 24:辞書初期値作成ソフト 26:データメモリ 28:データバッファ

Claims (3)

    【特許請求の範囲】
  1. (1)符号化時には、入力字列を辞書(10)に登録さ
    れた既に符号化済みの部分列の内、最大長一致する部分
    列の参照番号を指定して符号化すると共に該符号語とし
    て得られた参照番号に次の1文字を付加した部分列を新
    たな参照番号を付加して前記辞書(10)に登録し、復
    号時には、前記部分列の参照番号で表わされた符号語に
    より前記辞書(10)に既に登録された部分列を検索し
    て元の部分列を復元すると共に前回処理された符号語に
    今回復元した部分列の先頭文字を付加した部分列を新た
    な参照番号を付加して前記辞書(10)に登録する画像
    データ圧縮方式に於いて、 前記辞書(10)の初期化時に、所望のサンプリングデ
    ータを対象とした前記符号化により辞書登録された部分
    列の内、出現頻度の高い部分列を既に符号化済みの部分
    列と見做して前記辞書(10)に初期値として登録する
    ことを特徴とするデータ圧縮方式。
  2. (2)前記サンプルデータの符号化により得られた辞書
    初期値を、辞書にロードした後に符号化及び復号化を行
    なうことを特徴とする請求項1記載のデータ圧縮方式。
  3. (3)前記サンプルデータの符号化により得られた辞書
    初期値を、前記辞書(10)の先頭の書き替え禁止部分
    に固定的に設定したことを特徴とする請求項1記載のデ
    ータ圧縮方式。
JP2045163A 1990-02-26 1990-02-26 データ圧縮方式 Expired - Fee Related JP3038223B2 (ja)

Priority Applications (11)

Application Number Priority Date Filing Date Title
JP2045163A JP3038223B2 (ja) 1990-02-26 1990-02-26 データ圧縮方式
KR1019910701461A KR950013228B1 (ko) 1990-02-26 1991-02-26 데이타 압축과 복원방법 및 그 장치
EP91904319A EP0472730B1 (en) 1990-02-26 1991-02-26 Data compression and restoration method and device therefor
EP98201925A EP0871294B1 (en) 1990-02-26 1991-02-26 Method and apparatus for compression and decompression of data
PCT/JP1991/000252 WO1991013395A1 (en) 1990-02-26 1991-02-26 Data compression and restoration method and device therefor
DE69133377T DE69133377T2 (de) 1990-02-26 1991-02-26 Verfahren und Vorrichtung zur Komprimierung und Dekomprimierung von Daten
DE69133481T DE69133481T2 (de) 1990-02-26 1991-02-26 Verfahren und Vorrichtung zur Kompression und Dekompression von Daten
EP98201928A EP0878915A3 (en) 1990-02-26 1991-02-26 Method and apparatus for compression and decompression of data
EP98201926A EP0871295B1 (en) 1990-02-26 1991-02-26 Method and apparatus for compression and decompression of data
DE69132187T DE69132187D1 (de) 1990-02-26 1991-02-26 Verfahren zur komprimierung und wiederherstellung von daten und gerät dazu
US08/003,876 US5254990A (en) 1990-02-26 1993-01-11 Method and apparatus for compression and decompression of data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2045163A JP3038223B2 (ja) 1990-02-26 1990-02-26 データ圧縮方式

Publications (2)

Publication Number Publication Date
JPH03247167A true JPH03247167A (ja) 1991-11-05
JP3038223B2 JP3038223B2 (ja) 2000-05-08

Family

ID=12711597

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2045163A Expired - Fee Related JP3038223B2 (ja) 1990-02-26 1990-02-26 データ圧縮方式

Country Status (1)

Country Link
JP (1) JP3038223B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007124561A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd データ圧縮方法及び圧縮データ送信方法
JP2007129683A (ja) * 2006-03-13 2007-05-24 Fujitsu Ltd 圧縮データ送信方法
US7277585B2 (en) 2001-05-25 2007-10-02 Ricoh Company, Ltd. Image encoding method, image encoding apparatus and storage medium
JP2011101271A (ja) * 2009-11-09 2011-05-19 Seiko Epson Corp 画像処理装置、および、画像処理方法
JP2020521408A (ja) * 2017-05-19 2020-07-16 スズキ,タカシ データの圧縮および分析のコンピュータ化された方法
US11741121B2 (en) 2019-11-22 2023-08-29 Takashi Suzuki Computerized data compression and analysis using potentially non-adjacent pairs
CN116663069A (zh) * 2023-08-01 2023-08-29 国家基础地理信息中心 基于数据编码的数据库安全加密方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7277585B2 (en) 2001-05-25 2007-10-02 Ricoh Company, Ltd. Image encoding method, image encoding apparatus and storage medium
JP2007124561A (ja) * 2005-10-31 2007-05-17 Fujitsu Ltd データ圧縮方法及び圧縮データ送信方法
JP2007129683A (ja) * 2006-03-13 2007-05-24 Fujitsu Ltd 圧縮データ送信方法
JP2011101271A (ja) * 2009-11-09 2011-05-19 Seiko Epson Corp 画像処理装置、および、画像処理方法
JP2020521408A (ja) * 2017-05-19 2020-07-16 スズキ,タカシ データの圧縮および分析のコンピュータ化された方法
US11741121B2 (en) 2019-11-22 2023-08-29 Takashi Suzuki Computerized data compression and analysis using potentially non-adjacent pairs
CN116663069A (zh) * 2023-08-01 2023-08-29 国家基础地理信息中心 基于数据编码的数据库安全加密方法及系统
CN116663069B (zh) * 2023-08-01 2023-10-03 国家基础地理信息中心 基于数据编码的数据库安全加密方法及系统

Also Published As

Publication number Publication date
JP3038223B2 (ja) 2000-05-08

Similar Documents

Publication Publication Date Title
JP3009727B2 (ja) 改良形データ圧縮装置
JP3241788B2 (ja) データ圧縮方式
JPH03247167A (ja) データ圧縮方式
Rahman et al. A novel lossless coding technique for image compression
JP3242795B2 (ja) データ処理装置及びデータ処理方法
JP3241787B2 (ja) データ圧縮方式
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3130324B2 (ja) データ圧縮方式
JPH05152971A (ja) データ圧縮・復元方法
JPH06168097A (ja) データ符号化方式及びデータ復元方式
JP3088740B2 (ja) データ圧縮及び復元方式
JP3083329B2 (ja) データ圧縮復元方式
JP3053656B2 (ja) データ圧縮における辞書登録方式
JP2825960B2 (ja) データ圧縮方法及び復元方法
JP3012677B2 (ja) Zl符号化方法
JP3012678B2 (ja) データ圧縮方法
JP3012679B2 (ja) データ圧縮方法
JP3555506B2 (ja) 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置
JP2999561B2 (ja) データ圧縮及び復元装置
JP2999587B2 (ja) データ圧縮及び復元方式
JP3054183B2 (ja) データ圧縮装置の辞書書き替え方式
JPH03247168A (ja) データ圧縮方式
JP3058711B2 (ja) データ圧縮及び復元方法
JP2799228B2 (ja) 辞書初期化方式
JP2802135B2 (ja) 画像データ圧縮方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees