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

データ圧縮方式

Info

Publication number
JPH03209922A
JPH03209922A JP507890A JP507890A JPH03209922A JP H03209922 A JPH03209922 A JP H03209922A JP 507890 A JP507890 A JP 507890A JP 507890 A JP507890 A JP 507890A JP H03209922 A JPH03209922 A JP H03209922A
Authority
JP
Japan
Prior art keywords
buffer
data
divided
registered
length
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
JP507890A
Other languages
English (en)
Other versions
JP2823917B2 (ja
Inventor
Yasuhiko Nakano
泰彦 中野
Shigeru Yoshida
茂 吉田
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 JP507890A priority Critical patent/JP2823917B2/ja
Publication of JPH03209922A publication Critical patent/JPH03209922A/ja
Application granted granted Critical
Publication of JP2823917B2 publication Critical patent/JP2823917B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 [概要] 文字等の入力データ系列を、参照テキストに登録された
既に符号化済みの系列の複製として圧縮符号化するデー
タ圧縮方式に関し、 参照テキストの更新と検索を高速化することを目的とし
、 参照テキストを複数領域に分割して順次符号化済みデー
タ系列を登録し、参照テキストの検索は登録の新しい分
割領域から登録の古い分割領域に向かって行い、更に参
照テキストが一杯になった場合には、最も登録の古い分
割領域を更新するように構成する。
[産業上の利用分野] 本発明は、文字等の入力データ系列を、参照テキストに
登録された既に符号化済みの系列の複製として圧縮符号
化するデータ圧縮方式に関する。
文字等のコード列情報を伝送・蓄積する際には、データ
量を低減して伝送時間の短縮と記憶容量の低減を図るた
めコード情報を圧縮符号化しており、この圧縮符号化と
しては、過去のデータ系列を登録した参照テキストの任
意の位置から入力コード情報に一致する最大長さの部分
列を取出し、過去の系列の複製として符号化するユニバ
ーサル符号化が行われ、演算の高速化と同時に高圧縮率
が得を得る必要がある。
[従来の技術] 一般に、蓄積、伝送すべきデータの容量が大きいとき、
通信回線や記憶装置の容量を有効に利用するため、デー
タ列を圧縮して伝送や蓄積を行い、再度、そのデータを
使用するときに元のデータ列に復元する方法が良く用い
られる。
従来、文字コードを能率良(圧縮する方式として2iv
−Lempel符号(以下r2L符号」という)が知ら
れている(例えば宗像清治著、  rl’iv−Lem
pelデタ圧縮法」、情報処理、  I)T)、  2
〜5. vol、26No、 1.1985を参照のこ
と)。
ZL符号には、 ■ユニバーサル型と、 ■増分分解型(Incremental persin
g)の2つのアルゴリズムが提案されている。この2つ
のアルゴリズムの間では、圧縮率はユニバーサル型の方
が優れており、処理速度は増分分解型の方が早いという
特徴がある。
これら2つのアルゴリズムの内、圧縮率が高いユニバー
サル型ZL符号は、入力した文字列を以前に入力した符
号化済みの文字列から最大長一致する文字列を検索し、
その最大長一致する文字列の複製として符号化する。
ここでデータ圧縮は文字コードに限らず、一般のデータ
にも適用できるが、以下の説明では情報理論等で使われ
ている呼称を踏襲し、データの1wordを文字、その
集合を文字列と呼ぶことにする。
第5図にユニバーサル型ZL符号器の原理を示す。
第5図において、Pバッファ12には符号化済みの文字
列が格納されており、Qバッファ10にはこれから符号
化する文字列が格納されている。
Qバッファ10の入力文字列とPバッファ12の登録さ
れている全ての文字列(部分列)とを検索照合し、Pバ
ッファ12中で一致する最大長の部分列を求める。そし
て、Pバッファ12中の最大一致長をもつ部分列を指定
するため、次の情報の組を符号化する。
必要ビット数 (log2 Lp)       (log 2 Lq
)Lp:Pバッファの長さ Lq+Qバッファの長さ次
にQバッファ10内の符号化した文字列をPバッファ1
2に移して、符号化した文字数分の新たな文字を登録す
る。以下、同様の操作を繰り返し、入力データを部分列
に分解して順次符号化する。
第6図は従来方式の一例を示し、符号語が2バイトで表
わされる場合、例えばPバッフアコ−2を12bitS
Qバッファ10を4bitで表わしている。Pバッファ
12上での検索は、Pバッファ12の左側から行われ、
もし一致する文字列がなければ、INPUTポインタの
ところに入力データ系列が新たに登録される。
[発明が解決しようとする課題] このようなユニバーサル型ZL符号方式で圧縮率を向上
させるには、できるだけ多くの参照テキストとしてのP
バッファの登録が必要であり、またQバッファのビット
幅で決まるマツチングによる一致長が大きさを制限なし
に表せることが理想である。
しかし、実際には、ソフトウェアで符号化・複合化する
ときは、単にPバッファ12及びQバッファ10を大き
くとると、バッファアドレスで決まる符号語データが大
きくなり、結果的に圧縮率が悪化する。また、参照テキ
ストが増えるので、一致検索に時間がかかり処理スピー
ドも落ちる。
本発明は、このような従来の問題点に鑑みてなされたも
ので、参照テキストを大きくした際の一致検索と更新を
高速化するデータ圧縮方式を提供することを目的とする
[課題を解決するための手段] 第1図は本発明の原理説明図である。
まず本発明は、データ系列を第1バッファ(Qバッフ)
10に入力し、既に符号化済みのデータ系列が登録され
ている参照テキストとしての第2バッファ(Pバッファ
)12を検索して入力データ系列に一致する符号化済み
データ系列の最大長一致の部分列を求め、該最大長一致
部分の開始位置と一致長との組を符号語として出力して
圧縮符号化するデータ圧縮方式を対象とする。
このようなデータ圧縮方式につき本発明にあっては、第
2バッファ12を複数領域12−1〜12−nに分割し
て符号化済みデータを順次登録し、分割領域12−1〜
12−nの内の登録の新しい分割領域から登録の古い領
域に向けて入力データ系列との一致検索を行い、更に全
ての分割領域12−1〜12−nが登録データ系列で満
たされた場合には、最も登録の古い分割領域を更新する
ように構成する。
更に本発明にあっては、参照テキストとしての第2バッ
ファ12を大きくしながら、符号語を小さくして圧縮率
を向上させるため、検索された最大長一致部分の開始位
置を第2バッファ12の分活領域12−1〜12−nの
領域番号と領域内位置とに分け、領域内位置は符号語の
最大長さ一致部分の開始位置として符号化し、一方、領
域番号は符号語とは別個に第2バッファ12に識別デー
タとして持つことにより、一致長検索に適したビット幅
に第2バッファ12の検索インデックをビット幅を縮小
させ、この縮小させたビット分を第1バッファ10に割
り当てて一致長検索の許容長さを拡大させるように構成
する。
[作用コ このような構成を備えた本発明のデータ圧縮方式によれ
ば、符号化の途中で、第2バッファ12の全ての分割領
域12−1〜12−nが一杯になったときは、登録の一
番古い分割領域を消去して新たに登録していくことによ
り、従来では全体として行っていた面倒な第2バッファ
12の更新作業が大幅に削減され、処理の高速化が可能
となる。
また登録の新しい第2バッファ12の分割領域から検索
することにより、登録されたばかりの新しい情報から検
索できるので、検索が短い時間で済む。
[実施例] 第2図は符号器を例にとって本発明の一実施例を示した
実施例構成図であり、ユニバーサル型ZL符号化で実際
的な方法として知られたLZSS符号化方式(T、C,
Be1l:Better OPM/L Text Co
mpression、  IEEE Trans、 o
n Commom、、Vol、34 No、 1219
86参照)により符号語データを2バイトで表わす場合
を例にとっている。
第2図において、14はデータ圧縮装置であり、第1バ
ッファとしてのQバッファ10と、第2バッファとして
のPバッファ12を備え、この実施例にあっては、Pバ
ッファ12は3つの分割領域12−1.12−3.12
−3に分割されている。
尚、Pバッファ12の分割領域は、1−2−1 。
12−2が登録済みで、現在残りの領域12−3への登
録が行われている状態を示している。
0 16はファイル/伝送装置であり、データ圧縮装置14
から出力される最大長一致部分の開始位置と一致長との
組のデータ構造をもつ符号語又は生データ(入力文字列
そのもの)を記憶又は伝送する。
ここで本発明の処理を第6図の従来方式と対比して説明
すると次のようになる。
まず第6図の従来方式では、符号語を2バイトで表すと
き、例えばPバッファ12のサイズを12ビツト、Qバ
ッファ10のサイズを4ビツトで表し、Pバッファ12
上での検索はPバッファ12の左側から行われ、もし一
致する文字列がなければ、図中のINPIITポインタ
のところに新たに登録される。この方法では、文字の比
較が、現在のQバッファ10の内容とは関係が薄いと考
えられる古い登録文字から始められ、検索時間がかかっ
ている。また、Pバッファ12が一杯になったときの更
新法として、 ■Qバッファ10上の符号化が終わった分だけ、Pバッ
ファ12を左にシフトする方法や、1 ■−続きのPバッファ12を全てクリアし、最初から登
録をやり直す方法があった。
しかし、■の一部シフト法はPバッファ12が一度一杯
になると、毎回、更新作業が必要で処理が煩雑になる。
また■のオールクリア法は、現在までの学習されたPバ
ッファ12が一度に失われ、符号化されない生のデータ
が出力される可能性が大きくなり効率が悪い。
これに対し本発明では、従来は−続きであったPバッフ
ァ12を複数領域、例えば3つの領域に12−1〜12
−3に分け、Pバッファ12の中のどのバッファ分割領
域が使われているかは、バッファ内の識別コードに組み
込むこととする。
Pバッファ12の検索は、検索を短い時間で終了させる
ために、一番登録の新しい分割領域12−3から検索を
始める。また、Pバッファ12の全ての分割領域12−
1〜12−3が一杯になったら、関係の薄いと思われる
登録が一番古いPバッファ12の分割領域12−1のみ
をクリアし、クリアした分割領域12−1に新しく登録
してい2 くことで検索の効率が図れ、且つ他の2つの分割領域1
2−2.12−3はそのまま利用できる。
また、第2図の実施例にあっては、第6図の従来方式で
Pバッファ12が12ピッ1−1Qバッファ、10が4
ビツトであったものを、それぞれ11ビツト、及び5ビ
ツトとしている。その結果、Pバッファ12が1ビット
減った分、参照テキストの量が半分になるが、3つの分
割領域12−1〜12−3に分けて持つことにより、参
照テキストの量は等比的に3/2になる。またQバッフ
ァが1ビット増えているので、その分マツチングー致長
が長くとれ圧縮率も向上する。
更に詳細に説明すると、第6図の従来方式では、Pバッ
ファ12を12ビツト、Qバッファ10を4ピツI・で
表わし、更に8個のデータ毎に符号語データか生データ
かを識別するための識別データが格納されている。即ち
、識別データの1ビツトずつが続いて並ぶ8個のデータ
が符号語データか生データかを識別する。
ここで圧縮率を上げようとしてPバッファ123 1及びQバッファ10のビット幅を仮に1ビツトずつ増
やしたとすると、開始位置と一致長の組でなる符号語デ
ータが8の倍数でなくなり、データを転送する際にビッ
ト詰めという面倒な処理が必要となる。また8の倍数と
なるようにPバッファ12及びQバッファ10のビット
幅を、例えば18ビツト、6ビツトに増やしたとすると
、最大−致長の開始位置と一致長との組でなる符号語が
3バイトにもなり、最大一致長が2バイト又は3バイト
であった場合は、共に複製で表わすことでは圧縮されず
、符号化の効率が悪くなる。
これに対し本発明では、−続きのPバッファ12を第2
図のように例えば3つの分割領域121〜12−3に分
けて持ち、どの分割領域が使われているかは、Pバッフ
ァ12の識別データを1データ当り2ビツトとして持た
せることにより、1組の符号語データの長さを2バイト
のまま変化させずに圧縮率を上げることができる。
次に第3図の動作フロー図を参照して本発明の処理動作
を説明する。
4 まずステップSl(以下「ステップ」は省略)入力文字
列をQバッファに読み込む。次に82で入力文字列の終
端でなければS3に進み、終端であれば処理を終了する
。。
S3にあってはi=Newとする。ここでNewは、一
番新しいPバッファの分割領域を示すインデックスであ
る。
次に84でPバッファ12の分割領域P [i]をスキ
ャンし、一致する文字を探す。一致すれば、S5に進ん
で分割領域P [i]中の一致開始位置と一致長をレジ
スタ等に登録、更新してS6に進み、もし一致する文字
が分割領域P [i]になければ、そのまま86次へ進
む。
S6ではiを関数f (i)に従って更新する。
関数f (i)によるiの更新は、最初はi−1゜2.
3と更新され、−杯になって登録の古い11のクリア更
新が行なわれると、次にi=2.3゜1と更新され、3
回目の更新ではi=3. 1. 2と更新され、以下こ
れを繰り返す。
次に87に進んでNew=iであるか、即ち全ての5 分割領域の検索が終了したか否かを判断し、終了してい
ればS8へ、終了していなければS3に戻る。
全てのPバッファ分割領域の検索が終り、S8で一致す
る文字がPバッファ中になければ、S9で生データその
ものを符号語データ列として出力してS11のPバッフ
ァ登録処理に進む。S8で一致する文字がPバッファ中
にあることが判別されると、S5で登録した一致開始位
置(特定のPバッファ分割領域内の領域位置)と一致長
の組でなる符号語データを出力し、S11に進み、以下
、S2で文字列の終了が判別されるまで同じ処理を繰り
返す。
第4図は、第3図の811におけるPバッファ登録処理
をサブルーチンとして示した動作フロー図である。
第4図において、まずSlで登録が最も新しい分割領域
P [Newl が−杯かどうかを調べ、もし−杯であ
ればS2に進む。一方、まだ登録できる余裕があればS
5へ進む。
6 S2では、一番古いPバッファ分割領域のインデックス
旧dを計算し S3で最も登録の古い分割領域P [o
ldlをクリアし、S4でクリア後にHeW・Oldに
置き換えて85にへ進む。S5ではクリア状態にある分
割領域P [New]に生データを登録する。
尚、上記の実施例は、Pバッファ12を3つの領域に分
割した場合を例にとるものであったが、必要に応じて任
意の数に分割できる。
[発明の効果] 以上説明したように本発明によれば、参照テキストとマ
ツチング一致長さの許容長さを大きくしても、参照テキ
ストの検索及び更新を高速に行うことができる。
【図面の簡単な説明】
第1図は本発明の原理説明図; 第2図は本発明の実施例構成図; 第3図は本発明の動作フロー図; 7 第4図は本発明のPバッファ登録処理の動作フロー図; 第5図はユニバーサル型ZL符号化の原理説明図;第6
図は従来方式の説明図である。 図中、 10:第1バッファ(Qバッファ) 12:第2バッファ(Pバッファ) 12−1〜12−n:分割領域 14:検索装置 16:符号器

Claims (2)

    【特許請求の範囲】
  1. (1)文字等のデータ系列を第1バッファ(10)に入
    力し、既に符号化済みの過去のデータ系列が登録されて
    いる第2バッファ(12)を検索して前記第1バッファ
    (10)のデータ列に一致する符号化済みのデータ列の
    最大長一致部分を求め、該最大長一致部分の開始位置と
    一致長との組の符号語として出力して圧縮符号化するデ
    ータ圧縮方式に於いて、 前記第2バッファ(12)を複数領域(12−1〜12
    −n)に分割して符号化済みデータ列を順次登録し、該
    分割領域(12−1〜12−n)の内の符号化済みデー
    タ系列の新しい分割領域から古い分割領域に向けて前記
    一致検索を行い、全ての分割領域が登録データ系列で満
    たされた場合は、最も古い分割領域から更新して行くこ
    とを特徴とするデータ圧縮方式。
  2. (2)前記最大長一致部分の開始位置を、前記第2バッ
    ファ(12)の分割領域(12−1〜12−n)の領域
    番号と領域内位置とに分け、該領域内位置は前記符号語
    の最大一致長部分の開始位置として符号化し、前記領域
    番号は符号語とは別個に前記第2バッファ(12)に識
    別データとして持つことにより、一致長検索に適したビ
    ット幅に該第2バッファ(12)の検索インデックスの
    ビット幅を縮小させ、該縮小させたビット分を前記第1
    バッファ(10)に割り当てて一致長検索の許容長さを
    拡大させたことを特徴とする請求項1記載のデータ圧縮
    方式。
JP507890A 1990-01-12 1990-01-12 データ圧縮方式 Expired - Lifetime JP2823917B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP507890A JP2823917B2 (ja) 1990-01-12 1990-01-12 データ圧縮方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP507890A JP2823917B2 (ja) 1990-01-12 1990-01-12 データ圧縮方式

Publications (2)

Publication Number Publication Date
JPH03209922A true JPH03209922A (ja) 1991-09-12
JP2823917B2 JP2823917B2 (ja) 1998-11-11

Family

ID=11601355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP507890A Expired - Lifetime JP2823917B2 (ja) 1990-01-12 1990-01-12 データ圧縮方式

Country Status (1)

Country Link
JP (1) JP2823917B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590317A (en) * 1992-05-27 1996-12-31 Hitachi, Ltd. Document information compression and retrieval system and document information registration and retrieval method
JP2008193567A (ja) * 2007-02-07 2008-08-21 Casio Electronics Co Ltd データ圧縮装置とその復号装置、それらの方法、及びプログラム
WO2014097356A1 (ja) * 2012-12-19 2014-06-26 富士通株式会社 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法および伸張装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5590317A (en) * 1992-05-27 1996-12-31 Hitachi, Ltd. Document information compression and retrieval system and document information registration and retrieval method
JP2008193567A (ja) * 2007-02-07 2008-08-21 Casio Electronics Co Ltd データ圧縮装置とその復号装置、それらの方法、及びプログラム
WO2014097356A1 (ja) * 2012-12-19 2014-06-26 富士通株式会社 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法および伸張装置
US9496895B2 (en) 2012-12-19 2016-11-15 Fujitsu Limited Compression method and decompression method
JP6032291B2 (ja) * 2012-12-19 2016-11-24 富士通株式会社 圧縮プログラム、圧縮装置、伸張プログラム、伸張装置およびシステム

Also Published As

Publication number Publication date
JP2823917B2 (ja) 1998-11-11

Similar Documents

Publication Publication Date Title
US7079051B2 (en) In-place differential compression
US5049881A (en) Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
US7403136B2 (en) Block data compression system, comprising a compression device and a decompression device and method for rapid block data compression with multi-byte search
US5406278A (en) Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
JP3241788B2 (ja) データ圧縮方式
JPH03209922A (ja) データ圧縮方式
JP3241787B2 (ja) データ圧縮方式
JP2940948B2 (ja) データ圧縮方式
JP3242795B2 (ja) データ処理装置及びデータ処理方法
US6819272B2 (en) System, method and computer readable medium for compressing a data sequence for partial decompressing
JP3073072B2 (ja) 画像データ圧縮及び復元方式
JP3199292B2 (ja) ハフマン符号の符号化でのランレングス抽出方法、ハフマン符号変換方法およびmh符号化処理方法
JPH03209923A (ja) データ圧縮方式
JP3555506B2 (ja) 文字列データ圧縮符号化装置及び文字列データ復元装置及び文字列データ演算処理装置
JPH05152971A (ja) データ圧縮・復元方法
JPH05224878A (ja) ユニバーサル符号を用いたデータ圧縮方式
JP3100206B2 (ja) データ圧縮方法
JP3078601B2 (ja) データ圧縮方法
JPH04167821A (ja) データ符号化及び復号化方法
JPH04265020A (ja) データ圧縮方式
JPH03270417A (ja) データ圧縮方法および圧縮データのデータ復元方法
JPH06274311A (ja) データ圧縮装置及びデータ復元装置
JP3051501B2 (ja) データ圧縮方法
JP2802135B2 (ja) 画像データ圧縮方法
JP3015483B2 (ja) データ圧縮及び復元方式