JPH04149767A - データ圧縮装置の辞書書き替え方式 - Google Patents

データ圧縮装置の辞書書き替え方式

Info

Publication number
JPH04149767A
JPH04149767A JP2275836A JP27583690A JPH04149767A JP H04149767 A JPH04149767 A JP H04149767A JP 2275836 A JP2275836 A JP 2275836A JP 27583690 A JP27583690 A JP 27583690A JP H04149767 A JPH04149767 A JP H04149767A
Authority
JP
Japan
Prior art keywords
dictionary
address
character string
character
reference time
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
JP2275836A
Other languages
English (en)
Other versions
JP3054183B2 (ja
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 JP2275836A priority Critical patent/JP3054183B2/ja
Publication of JPH04149767A publication Critical patent/JPH04149767A/ja
Application granted granted Critical
Publication of JP3054183B2 publication Critical patent/JP3054183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

【発明の詳細な説明】 [概要] ユニバーサル符号化の一種である増分分解型の改良とし
てのLZW符号によるデータ圧縮装置の辞書書き替え方
式に関し、 辞書の学習結果を有効に活用して圧縮率を向上すること
を目的とし、 辞書の各参照番号毎に最近参照されたか否か記憶してお
き、辞書登録が一杯になった時には、最近参照された文
字列のみを辞書に残し、参照された時点の古い文字列を
捨てて新たな登録スペースを空けるように構成する。
[産業上の利用分野] 本発明は、ユニバーサル符号化の一種である増分分解型
の改良とし、てのLZW符号によるデータ圧縮装置辞書
書き替え方式に関し、特に符号化済みの文字列を相異な
る部分列に分けて辞書に登録しておき、入力文字列を該
辞書(10)の中の部分列の内、最大長一致するものの
参照番号で指定してLZW符号に符号化するデータ圧縮
装置の辞iutき替え方式に関する。
近年、文字コード、ベクトル情報、画像など様々な種類
のデータがコンピュータで扱われるようになっており、
扱われるデータ量も急速に増加してきている。大量のデ
ータを扱うときは、データの中の冗長な部分を省いてデ
ータ量を圧縮することで、記憶容量を減らしたり、速く
伝送し、たりすることが望まれる。
このような様々なデータを1つの方式でデータ圧縮でき
る方法としてユニバーサル符号化が提案されている。
ここで、本発明の分野は、文字コートの圧縮に限らず、
様々なデータに適用できるが、以下では、情報理論で用
いられている呼称を踏襲し、データの1ワ一ド単位を文
字と呼び、データが任意ワードつながったものを文字列
と呼ぶことにする。
ユニバーサル符号の代表的な方法として、2ivLem
pel (ジブーレンペル)符号がある(詳しくは、例
えば、学僧[iv−Lempelのデータ圧縮法]、情
報処理、VOL、 26. No、 1.1985年を
参照のこと)。
2ivtempel符号ては ■ユニバーサル型と、 ■増分分解型(Incremental  patti
ng)の2つのアルゴリズムが提案されている。
更に、ユニバーサル型アルゴリズムの改良として、LZ
SS符号がある(T、 C,Be11.  “Belt
HOPM/L Text Compression  
、IEEE Trans、  onCommun  V
ol、C0M−34,No、12.Dec、1986参
照)。
また増分分解型アルゴリズムの改良としては、L ZW
 (Lempel−4iv−Welch)符号がある(
T^Welch  ”^Technique lot 
)Iigh−Pe+to+manceData Com
pression  、 Co1Ilputu、 Iu
nc1984参照)。
これらの符号の内、高速処理ができることと、アルゴリ
ズムの簡単さからLZW符号が記憶装置のファイル圧縮
などで使われるようになっている。
し従来の技術〕 従来のLZW符号化アルゴリズムのフローチャートをを
第6図に示す。
LZW符号化は、書き替え可能な辞書を持ち、入力文字
コード、データ中を相異なる文字列に分け、この文字列
を出現した順に番号を付けて辞書に登録すると共に、現
在入力している文字列を辞書に登録しである最長一致来
字列の番号で表して、符号化するものである。
第6図のLZW符号化処理では、まずステップSl(以
下「ステップ」は省略)で予め辞書に全文字につき一文
字からなる文字列を初期値として登録してから符号化を
始める。Slの符号化は入力した最初の文字Kにより辞
書を検索j2て参照番号ωを求め、これを語頭文字列と
する。次にS2で入力データの次の文字Kを読み込み、
S3で全ての文字入力の読込みが終了したか否かチエツ
クした後、S4に進んでSlで求めた語頭文字列ωに8
2で読み込んだ文字Kを加えた(ωK)が辞書にあるか
否か探す。
S4で文字列(ωK)が辞書になければ、S6に進んで
Slで求めた文字にの参照番号ωを符号語code (
ω)として出力し、また文字列(ωK)に新たな参照番
号を付加して辞書に登録し、更にS2の入力文字Kを参
照番号ωに置き換えると共に辞書アドレスnをインクリ
メントしてS2に戻って次の文字Kを読み込む。
一方、S4で文字列(ωK)が辞書にあればS5で文字
列(ωK)を参照番号ωに置き換え、再びS2に戻って
S4で文字列(ωK)が辞書から探せなくなるまで最大
−成長の検索を続ける。
S6で辞書登録を行なうとS7で辞書が一杯になったか
否か、即ち、辞書の最大アドレスNMAXまで登録した
か否か判定し、最大アドレスNMAXまで登録すると、
辞書への登録を止めて88で例えば数100キロバイト
単位に圧縮率をチエツクする。
そして、S9で圧縮率が前回チエツクしたときと比べ悪
化する方向に動いていれば、辞書がデータの統計的性質
とズレができていると判断し、S10で第1文字のみ含
むように辞書を初期化した後、S2に戻って再度、辞書
への登録を行ないながら、符号化を行なう。尚、復号化
は符号化の逆の操作を行なう。
第7図にLZW符号化の具体例を示すとともに、第8図
に符号化時の辞書の内容を示す。尚、第7゜8図は、簡
単にするため、abc3文字からなるデータを圧縮する
場合の例を取上げている。
第7図において、入力データ1nputは左から右へと
読む。最初の文字aを入力した時、辞書には文字aの他
に一致する文字列がないので、0LTPtlTCODE
 1 (参照番号の)を符号語して出力する。
そして文字aを語頭文字列ωとする。
次に2番目の文字すを入力したとすると、この入力文字
を語頭文字列ωに加えた文字列ωに=abは辞書にない
ことから、入力文字すの0UTPUTCODE 2を符
号語として出力する。そして、拡張した文字列ωに=a
bに参照番号4を付けて辞書に登録する。実際の辞書登
録は第8図の右側に示すように文字列1bとして登録さ
れる。そして文字すが語頭文字列ωとなる。
続いて3番目の文字aを入力したとすると、入力文字a
に語頭文字列ωを加えた拡張文字列ωに=ba=2aは
辞書にないことから、文字すの0UTPtlT C0D
E 2を符号語として出力した後、拡張文字列ωに=b
aを28で表わし、参照番号5を付けて辞書に登録する
。そして3番目に入力した文字aが新たな語頭文字列ω
となる。
4番目の入力文字すについては拡張文字列ωに=abは
符号語4として既に辞書に登録されているので、文字列
ωKを新たな語頭文字列ωとし、5番目の文字Cを入力
して拡張文字列ωに=4c−abcを作る。この拡張文
字列ωに=abcは辞書に登録されていないことから、
文字列ab=1bの0UTPUT C0DE 4を符号
語として出力し、拡張文字列ωに=abcを辞書に4C
の形で参照番号6を付けて登録する。以下同様に、この
処理を続ける。
[発明が解決しようとする課題] 従来のLZW符号化アルゴリズムにあっては、辞書が一
杯になったときに圧縮率をチエツクし、圧縮率が悪化し
たとき、第1文字のみ含むように辞書を初期化した後、
再学習を行なつっており、辞書の初期化は簡単なため高
速で処理ができる利点がある。
しかしながら、従来方式では、今までの学習した履歴を
全部捨ててしまうため、初期化の回数が多いとき、十分
大きい辞書サイズをもって辞書の初期化なしで符号化す
る理想的な場合に比べ、圧縮率が低下するという問題が
あった。
本発明は、このような従来の問題点に鑑みてなされたも
ので、辞書の学習結果を有効に活用して圧縮率を向上す
るようにしたデータ圧縮装置の辞書書き替え方式を提供
することを目的とする。
[課題を解決するための手段] 第1図は本発明の原理説明図である。
まず本発明は、符号化済みの文字列を相異なる部分列に
分けて辞書10に登録しておき、入力文字列を辞書10
の中の部分列の内、最大長一致するものの参照番号で指
定してLZW符号に符号化するデータ圧縮装置を対象と
する。
このようなデータ圧縮装置につき本発明の辞書書き替え
方式にあっては、 辞書10の部分列が参照されたときの辞IF登録の時間
的な進行状態を示す値を格納する参照時点記憶手段30
と: 辞書10への登録か一杯になったとき、所定の閾値Tよ
り参照時点記憶手段30に格納した値か古い部分列を辞
書10より削除して登録スペースを空け、再度、辞書へ
の登録と該最大一致長部分列の番号での符号化を行なわ
せる辞書削除手段24と を備えたことを特徴とする。
ここで参照時点記憶手段30に格納する辞書登録の時間
的な進行状態を示す値として、辞書登録済みアドレスの
一部を用い、辞書削除手段24はこのアドレスの一部が
所定の閾値Tより小さい部分列を古い部分列として削除
する。具体的には、参照時点記憶手段30に格納する辞
書登録の時間的な進行状態を示す値として、辞書登録済
みアドレスの上位2ビットを用い、辞書削除手段2,1
はこのアドレスの上位2ヒ・ノドか所定の閾値Tより小
さい部分列を古い部分列として削除する。つ[作用] このような構成を備えた本発明によるデーや圧縮装置の
辞書書き替え方式によれば、辞書の各参照番号毎に最近
参照されたか否かを記憶しておき、辞書への登録が一杯
になったとき、最近参照された文字列のみ辞書に残し、
参照された時点か古(1文字列を捨て新たに登録する辞
書スペ−スを空けるようになり、最近出現した文字列は
辞書に残されるので、いままで学習した結果を損ねるこ
となしに、学習符号化を続けることができる。
[実施例] 第2図は本発明の一実施例を示した実施例構成図である
第2図において、12は制御手段としてのCPUてあり
、CPU12に対[、てはプログラムメモリ14とデー
タメモリ26が接続される。
プログラムメモリ14にはコントロールソフト16、t
、ZW符号を用いた最大−数置検索を行なう最大−成長
検索ソフト18、人力文字列をLZW符号に変換する符
号化ソフト20、符号化ソフト20でLZW符号に変換
された符号を元の文字列に復元する復号化ソフト22、
及び辞書登録が一杯になった時に辞書書き替えを行なう
辞書書き替えソフト24を備える。
一方、データメモリ26には、これから符号化りようと
する文字列、或いはこれから復号化しようとする符号列
を格納するデータバッファ28乏、LZW符号を対象と
した符号化及び復号化の際に逐次作成されながら使用さ
れる辞110を備える。
更に本発明にあっては、辞書10に対して辞書登録の参
照番号毎に辞書登録の時間的な進行状態を示す値として
の参照時点を格納した参照時点メモリ部30が設けられ
ている。
即ち、参照時点メモリ部30は、各文字列(語頭文字列
ω)に最近どの時点でその文字列が参照されたかを知る
メモリとして設けられる1、符号化時には、辞1111
0の参照により最大−数置の5〈字列ωが得られると、
この文字列は一文字■くすつ伸ばされてωにとなって次
の最大−数置の検索を行い、この検索で参照された既登
録の文字列は辞書の内部節点、即ち語頭か同して短い文
字列点なる。
本発明では、このような符号化の際に、■辞書10に新
たに登録した文字9すと、■参照された内部節点の文字
列、 のそれぞれにつき参照時点メモリ部30に辞書登録済ア
ドレスnの上位ビ・・ノドをセ・・ノドする。例えば、
参照時点メモリ30を2ヒ・・ノドとAれば、第3図に
示すように、辞書登録済アドレスnのI=−(、i′1
2ビット00.01,10.11か参照時点メモリ30
に格納される。尚、説明の都合上、参照、時点メモリ部
30に参照時点の値00.OL  1屹11を順番に入
れているが、実際には符躬化に応してランダムに存在す
る。
第4図は本発明の符号化アルゴリズノ、を示]、たフロ
ーチャートであり、81〜S6の符号化手順は第5図に
示した従来の処理手順と同じである。
これに加えて本発明にあっては、5100の辞書登録ス
ペースのチエツクルーチンが新たに加わり、これを第5
図にサブルーチンとして示す。
第5図のチエツクルーチンにおいては、まずSlで辞書
に登録スペースがあるか否か、辞書登録済みアドレスn
と辞書10の最大アドレスNMA Xとを比較して調べ
る。もし辞書アドレスnが辞書10の最大アドレスNM
AX以下で登録スペースがあれば、そのまま第4図の8
2の処理に戻る。
一方、辞書アドレスnが辞書10の最大アドレスNMA
Xより大きければ、登録スペースがないので、S2以降
の処理に進み、参照時点メモリ部30に格納されている
値r+n(i)が閾値1以上となる文字列のみ残し、閾
値Tり小さい値rm(i)の文字列は辞書10から削除
する。これには各文字列の参照時点メモIJ 30の値
rm(i)を順に調べ、閾値Tより小さい文字列の番号
ωと拡張文字にの組を削除すると共に、辞書のアドレス
ω以降にあるωより大きい文字列番号を1つ下げるよう
にする。
S2以降を詳細に説明すると次のようになる。
まずS2で辞書アドレス】をゼロにリセットし、続いて
S3で辞書アドレスiを1つインクリメントし、S4で
最終アドレスnに達したか否かチエツクした後、S5に
進んで参照時点メモリ30のアドレスiの値、即ち参照
時点+m(i)が最近の参照時点を示す予め定めた閾値
Tより小さいか否かチエツクする。
もし、参照時点+m(i)の値が閾値Tより小さければ
S6に進んで、現在の辞書アドレスiを削除して次の辞
書アドレスjに置き換える削除処理を行なう。続いてS
7に進み、削除した辞書アドレス1に続く次の辞書アド
レスjが最終アドレスn以内にあるかチエツクし、最終
アドレスn以内にあればS8に進んで、辞書アドレスl
以降にi=ωより大きい参照番号ωをもつ文字列が存在
するか否かチエツクする。削除した辞書アドレス1以降
に参照番号ωより大きい参照番号をもつ文字列が存在し
たならばS9に進んで、文字列の中の参照番号ωの値を
デクリメントにより1つ減らし、S ]、 0に進んで
辞書アドレスjの文字列(ωK)を1つ前の辞書アドレ
スj−1に登録する。そして、処理か済んだ辞書アドレ
スjを次の処理のためにj+lとインクリメントしてS
7に戻り、辞書アドレスjが最終アドレスnを越えるま
でS7゜S8.S9及びS10の処理を繰り返す。即ち
、閾値Tより小さい参照時点の古い文字列を削除した場
合には、削除した文字列のアドレス以降に存在する文字
列の中の参照番号を1つ減らし、且つ登録アドレスを1
つ詰める処理を繰り返す。
87〜S10の処理が終了すると87から811に進み
、文字列を1つ削除したことから最終アドレスnを1つ
デクリメントし、再びS3に戻って辞書アドレスlをイ
ンクリメントして次の文字列に対する参照時点のチエツ
クを行ない、S4で最終アドレスnが判別するまで繰り
返す。
S4で最終アドレスnへの到達が判別されると812に
進んで辞書の最終アドレスnと辞書の内容をデータメモ
リ28に書き込んで第4図の82に戻る。
この処理により高頻度で出現する文字列を辞書10に残
したまま、辞書10に新たな登録スペスを確保すること
ができる。そして、辞書10への登録が一杯になるたび
に、繰り返し辞書10を圧縮して、辞書10への登録ス
ペースを空けることになる。
本発明における辞書10の登録スペース確保としては、
例えば、第3図に示したように参照時点メモリ部30を
2ビットに取り、辞書登録済みアドレスの上位2ビット
を参照時点の値としてセットするようにした場合、辞書
10への登録が一杯になったとき、閾値Tとして2進で
(01)、 (10)又は(11)を取れば、それぞれ
の場合につき辞書10に1/4.2/4又は3/4のス
ペースを空けることができる。
この場合、辞書10にスペースを空ける区切りは、参照
時点メモリ部30のビット数を多く取れば、それだけ細
かく制御できる。
尚、上記の実施例では参照時点メモリ部30に辞書登録
済みアドレスの一部を格納するようにしたが、本発明は
これに限定されず、辞書登録の時間的な進行状態が知り
得る値であれば、適宜の値を用いても良い。
また、第5図のチエツクルーチンでは、削除すべき部分
列を一つずつ見つけながら辞書全体を見て更新を行なっ
たが、本発明はこれに限定されず、本願発明者等がすで
に提案している高速処理法(特願平2−194396号
)を用いても良い。
[発明の効果] 以上説明したように本発明によれば、辞書への登録が一
杯になったとき、最近出現した文字列は辞書に残される
ので、いままで学習した結果を損ねることなしに、学習
符号化を続けることができる。このため、入力データの
量に比べ、小さいサイズの辞書を用いても本発明では、
上針大きい辞書サイズをもって辞書の初期化なしで符号
化する場合に近い圧縮率が得られる。
【図面の簡単な説明】
第1−図は本発明の原理説明図 第2図は本発明の実施例構成図。 第3図は本発明の辞書と参照時点メモリ部の対応説明図
: 第4図は本発明の符号化アルゴリズムのフローチャート
; 第5図は本発明での辞書登録スペースのヂエック処理の
フローチャート; 第6図は従来のLZW符号符号ロアロゴリズムローチャ
ート; 第7図は従来のLZW符号化の具体例説明図。 第8図は辞書構成例の説明図ンである。 図中、 10、辞書 12:CPU 14ニブログラムメモリ 16 コントロールソフト 18:最大−成長検索ソフ 20:符号化ソフト ト ・復号化ソフト 辞書削除手段(辞書書き替えソフ データメモリ データバッファ 参照時点記憶手段(参照時点メモ ト) ノ部)

Claims (3)

    【特許請求の範囲】
  1. (1)符号化済みの文字列を相異なる部分列に分けて辞
    書(10)に登録しておき、入力文字列を該辞書(10
    )の中の部分列の内、最大長一致するものの参照番号で
    指定して符号化するデータ圧縮装置に於いて、 前記辞書(10)の部分列が参照されたときの辞書登録
    の時間的な進行状態を示す値を格納する参照時点記憶手
    段(30); 前記辞書(10)への登録が一杯になったとき、所定の
    閾値(T)より前記参照時点記憶手段(30)に格納し
    た値が古い部分列を前記辞書(10)より削除して登録
    スペースを空け、再度、辞書への登録と該最大一致長部
    分列の番号での符号化を行なわせる辞書削除手段(24
    )と; を備えたことを特徴とするデータ圧縮装置の辞書書き替
    え方式。
  2. (2)請求項1記載のデータ圧縮装置の辞書書き替え方
    式に於いて、 前記参照時点記憶手段(30)に格納する辞書登録の時
    間的な進行状態を示す値として、辞書登録済みアドレス
    の一部を用い、前記辞書削除手段(24)は前記アドレ
    スの一部が所定の閾値(T)より小さい部分列を古い部
    分列として削除することを特徴とするデータ圧縮装置の
    辞書書き替え方式。
  3. (3)請求項2記載のデータ圧縮装置の辞書書き替え方
    式に於いて、 前記参照時点記憶手段(30)に格納する辞書登録の時
    間的な進行状態を示す値として、辞書登録済みアドレス
    の上位2ビットを用い、前記辞書削除手段(24)は前
    記アドレスの上位2ビットが所定の閾値(T)より小さ
    い部分列を古い部分列として削除することを特徴とする
    データ圧縮装置の辞書書き替え方式。
JP2275836A 1990-10-15 1990-10-15 データ圧縮装置の辞書書き替え方式 Expired - Fee Related JP3054183B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2275836A JP3054183B2 (ja) 1990-10-15 1990-10-15 データ圧縮装置の辞書書き替え方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2275836A JP3054183B2 (ja) 1990-10-15 1990-10-15 データ圧縮装置の辞書書き替え方式

Publications (2)

Publication Number Publication Date
JPH04149767A true JPH04149767A (ja) 1992-05-22
JP3054183B2 JP3054183B2 (ja) 2000-06-19

Family

ID=17561111

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2275836A Expired - Fee Related JP3054183B2 (ja) 1990-10-15 1990-10-15 データ圧縮装置の辞書書き替え方式

Country Status (1)

Country Link
JP (1) JP3054183B2 (ja)

Also Published As

Publication number Publication date
JP3054183B2 (ja) 2000-06-19

Similar Documents

Publication Publication Date Title
US6597812B1 (en) System and method for lossless data compression and decompression
US5229768A (en) Adaptive data compression system
JP3241788B2 (ja) データ圧縮方式
JP3038223B2 (ja) データ圧縮方式
JPH04149767A (ja) データ圧縮装置の辞書書き替え方式
JP3241787B2 (ja) データ圧縮方式
JP3127016B2 (ja) データ圧縮及び復元方法
JP2954749B2 (ja) データ圧縮方式
JP3242795B2 (ja) データ処理装置及びデータ処理方法
JP3105598B2 (ja) ユニバーサル符号を用いたデータ圧縮方式
JPH05241775A (ja) データ圧縮方式
JPH0628149A (ja) 複数種類データのデータ圧縮方法
JP3012677B2 (ja) Zl符号化方法
JP3038233B2 (ja) データ圧縮及び復元装置
JPH05152971A (ja) データ圧縮・復元方法
JP3053656B2 (ja) データ圧縮における辞書登録方式
JP2799228B2 (ja) 辞書初期化方式
JP3058711B2 (ja) データ圧縮及び復元方法
JP3012679B2 (ja) データ圧縮方法
JPH0946235A (ja) データ圧縮装置
JP3088740B2 (ja) データ圧縮及び復元方式
JP3388768B2 (ja) データ圧縮及び復元方式
JPH03247168A (ja) データ圧縮方式
JP3012678B2 (ja) データ圧縮方法
JP3115066B2 (ja) 辞書検索方法

Legal Events

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