JPH05150940A - データ圧縮方法およびデータ伸張方法ならびに装置 - Google Patents

データ圧縮方法およびデータ伸張方法ならびに装置

Info

Publication number
JPH05150940A
JPH05150940A JP3339307A JP33930791A JPH05150940A JP H05150940 A JPH05150940 A JP H05150940A JP 3339307 A JP3339307 A JP 3339307A JP 33930791 A JP33930791 A JP 33930791A JP H05150940 A JPH05150940 A JP H05150940A
Authority
JP
Japan
Prior art keywords
data
file
compressed
record
decompression
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
JP3339307A
Other languages
English (en)
Other versions
JPH0772859B2 (ja
Inventor
Mitsuo Mizuguchi
満夫 水口
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.)
DENSAN KK
Original Assignee
DENSAN KK
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 DENSAN KK filed Critical DENSAN KK
Priority to JP3339307A priority Critical patent/JPH0772859B2/ja
Publication of JPH05150940A publication Critical patent/JPH05150940A/ja
Publication of JPH0772859B2 publication Critical patent/JPH0772859B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【目的】 プログラムのようにランダム性の強いデータ
・ファイルを高効率でデータ圧縮可能とする。 【構成】 バージョン・アップされたプログラムのよう
なデータ・ファイルFDを旧バージョンのプログラムの
ような参照ファイルFSを利用してデータ圧縮する。デ
ータ・ファイルFDと参照ファイルFSとを部分的に比
較して,参照ファイルの一部SRi とデータ一致率の高
い任意データ長のレコードDRi をデータ・ファイルに
おいて捜し出す。これらのレコードDRi とSRi との
排他的論理和を演算し中間データXRDiを得る。この
中間データXRDi は0を多く含み,冗長度が高いので
データ圧縮に適している。中間データXRDi をデータ
圧縮し,圧縮データ・レコードdri を得る。

Description

【発明の詳細な説明】
【0001】
【技術分野】この発明は,データ圧縮方法および装置な
らびにデータ伸張方法および装置に関し,とくにコンピ
ュータとコンピュータとの間で通信回線を利用してデー
タを送受信(伝送)する場合に利用され,両コンピュー
タに古いデータ・ファイルが保存されており,一方のコ
ンピュータにおいて古いデータ・ファイルを更新して新
しいデータ・ファイルを作成した場合に,この新しく作
成されたデータ・ファイルを他方のコンピュータに伝送
するときに好適なデータ圧縮方法および装置ならびにデ
ータ伸張方法および装置に関する。
【0002】
【従来技術とその問題点】コンピュータ間での通信で
は,通信効率を向上させるためにさまざまなデータ圧縮
の技術が用いられている。これらのデータ圧縮方法は基
本的には,冗長度の高いデータや規則性を有するデータ
でなければ効率的な圧縮はできない。
【0003】従来の圧縮方法の一例を挙げると次の通り
である。
【0004】同じ文字が2個以上連続した場合には,そ
の文字を2個並べ,それに続けて,上記2個の文字の後
に連続する同じ文字の個数を表わすデータを付加する。
たとえばAAのように2個の同じ文字が連続した場合に
はその圧縮データはAA0となる。AAAの圧縮データ
はAA1となり,AAAAの圧縮データはAA2とな
る。
【0005】この方法では,AAのような2文字の連続
が多く含まれている場合には,圧縮データが逆に長くな
るという問題がある。またAAAのような3文字の連続
の場合には圧縮の効果がない。
【0006】従来のデータ圧縮方法は冗長度の高いデー
タや規則性の強いデータであればその特徴を生かして高
い圧縮率を得ることができる。しかしながら,実行形式
のファイル(プログラム)のように,データとしてみる
とランダム性の強いものに対しては圧縮の効果が非常に
少ないか,または上述のようにデータ長がかえって長く
なるという問題がある。
【0007】
【発明の目的,構成,作用および効果】この発明はラン
ダム性の強いデータ・ファイルに対しても,参照用のフ
ァイルさえ存在すれば高効率でデータ圧縮が可能なデー
タ圧縮方法および装置を提供することを目的とする。
【0008】この発明はまた,上記のデータ圧縮方法お
よび装置によって圧縮されたデータを元のデータに復元
することのできるデータ伸張方法および装置を提供する
ことを目的とする。
【0009】この発明によるデータ圧縮方法は,データ
圧縮の対象となるデータ・ファイルとそれに対応する参
照ファイルとを部分的に比較して,上記参照ファイルの
一部とデータ一致率の高い任意データ長のレコードを上
記データ・ファイルにおいて捜し出し,データ一致率の
高いレコードが見付った場合には,上記データ・ファイ
ルの見付ったレコードと上記参照ファイルのそれに対応
するレコードとの排他的論理和演算を行い,かつこの排
他的論理和演算により得られるデータをデータ圧縮し,
上記データ圧縮処理により得られた圧縮データに復元用
補助データを付加することにより圧縮データ・レコード
を作成し,上記参照ファイルのいかなる部分とも一致率
が低い上記データ・ファイルのレコードについてはその
レコードに復元用補助データを付加することにより圧縮
データ・レコードを作成し,これらの圧縮データ・レコ
ードを編集して圧縮ファイルを作成するものである。
【0010】この発明によるデータ圧縮方法は,データ
圧縮の対象となるデータ・ファイルに対応する参照ファ
イルが存在することを前提としている。ファイルの一例
としてはプログラムの実行形式のファイルを挙げること
ができる。たとえば,データ圧縮の対象となるデータ・
ファイルは新バージョンのプログラム,それに対応する
参照ファイルは旧バージョンのプログラムである。プロ
グラムのバージョン・アップは通常,プログラムの一部
を変更することにより行われるので,新バージョンのプ
ログラムの中には旧バージョンのプログラムの部分が多
く残っている。したがって,新旧バージョンのプログラ
ムをそれらの先頭から順次比較していっても必ずしも一
致しないが,比較すべき部分を先頭からずらせば100 %
に近い率で一致する部分が多く存在する。
【0011】この発明は,新旧バージョンのプログラム
のように,データ圧縮の対象となるデータ・ファイルと
部分的に一致する参照ファイルの存在を利用している。
【0012】この発明によるとまず,データ圧縮の対象
となるデータ・ファイルとそれに対応する参照ファイル
とを部分的に比較して,参照ファイルの一部とデータ一
致率の高い任意データ長のレコードをデータ・ファイル
において捜し出す。
【0013】上述のように新旧バージョンのプログラム
には100 %に近い率で一致する部分が含まれているが,
他の部分は殆ど一致しない。このように参照ファイルの
一部ときわめて類似する(または殆ど同一)の部分がデ
ータ・ファイルにおいて見付かる場合があり,そうでな
ければ殆ど一致していないという場合には,一致率はき
わめて高い領域(100 %の付近)ときわめて低い領域
(0%の付近)に分かれて分布する。したがって,その
中間にしきい値を設けておけばデータ一致率が高いかど
うかを判別することはきわめて容易である。データ一致
率が0%から100%まで連続している場合には,適当に
しきい値(たとえば50%)を定めておき,このしきい値
を用いてデータ一致率が高いか低いかを判定することが
できる。データ一致率が高い,低いというのは相対的な
概念であるが,この発明を実施するアプリケーションご
とにしきい値を定め,このしきい値を用いて高,低を弁
別すればよい。
【0014】また,この発明においてレコードとは任意
長の連続したデータの集まりを意味し,上述したデータ
一致率の高いファイル部分を捜し出す処理において見付
け出されたファイルの部分,一致率が低いと判定された
ファイル部分,およびそれらに圧縮処理を施して得られ
る(復元用補助データを含む)データの集まりをさす。
【0015】続いて,この発明によるとデータ一致率の
高いレコードが見付った場合には,上記データ・ファイ
ルの見付ったレコードと上記参照ファイルのそれに対応
するレコードとの排他的論理和演算を行う。データ一致
率の高い2つのレコードの排他的論理和演算により得ら
れるデータ列はワード0の連続を多く含み,データ圧縮
に適したものとなる。
【0016】この排他的論理和演算により得られるデー
タをデータ圧縮する。データ圧縮の手法としては上述し
た従来の手法を用いてもよいし,後に詳述するこの発明
によるデータ圧縮の手法を用いることもできる。このデ
ータ圧縮処理により得られた圧縮データに復元用補助デ
ータを付加することにより圧縮データ・レコードを作成
する。
【0017】一方,参照ファイルのいかなる部分とも一
致率が低いと判定されたデータ・ファイルのレコードに
ついては圧縮処理を施すことなく,そのレコードに復元
用補助データを単に付加することにより圧縮データ・レ
コードを作成する。この場合には復元用補助データの付
加によりデータ長がかえって長くなるが,この明細書で
は用語の統一のために,この処理により得られるデータ
についても圧縮データ・レコードという用語を用いるこ
ととする。
【0018】上述した圧縮処理を含む圧縮データ・レコ
ードの作成と圧縮処理を含まない圧縮データ・レコード
の作成とはデータ・ファイルを構成するすべてのレコー
ドについて行われる。このようにして得られた圧縮デー
タ・レコードを編集して圧縮ファイルを作成する。ここ
で編集とは,一般には圧縮データ・レコードを単に一定
の順番に(たとえば圧縮データ・レコード番号の順に)
並べることを意味するであろう。また編集処理は一般に
は圧縮データ・レコード作成処理と並行して実行される
であろう。
【0019】以上のようにしてこの発明によると,参照
ファイルの一部とデータ一致率の高いレコードをデータ
・ファイルにおいて検索し,これらの一致率の高いレコ
ード間の排他的論理和演算を行っているので,ランダム
性の強いデータであっても冗長度の高いレコードに変換
することができる。このようにして圧縮処理に適したレ
コードが得られるので,高効率のデータ圧縮が可能とな
る。この発明によると,一般的には数分の一程度まで圧
縮が可能であり,条件がよければ1/10以下のサイズに
まで圧縮が可能である。発明者が実際に行った結果では
最高7%にまで圧縮することができた。
【0020】データ・ファイルを伝送する場合には,こ
の発明による圧縮方法にしたがって圧縮されたファイル
を送信することにより,通信時間を大幅に短縮すること
ができる。
【0021】この発明の一実施態様においては,データ
・ファイルまたはその一部が参照ファイルを用いること
なくそれ自体でデータ圧縮が可能かどうかをまず判断す
る。そして可能であればデータ・ファイルまたはその一
部をそれ自体でデータ圧縮する。可能でなければ上述し
た参照ファイルを利用したデータ圧縮方法を実行する。
【0022】データ・ファイルまたはその一部がそれ自
体でデータ圧縮可能かどうかは,データ・ファイルに含
まれるデータの冗長度が高いかどうか,規則性があるか
どうかの観点から判断することができる。この場合にも
データ圧縮可能性についての一定の基準を設けておき,
その基準にしたがって判断することが好ましい。
【0023】上述した復元用補助データには具体的に
は,レコード番号,データ・ファイルにおける一致率の
高いレコードの位置を示すデータ(オフセット),参照
ファイルにおける一致率の高いレコードの位置を示すデ
ータ(オフセット),参照ファイルを用いた圧縮処理を
行っているかどうかを示すデータ,データ圧縮されてい
るかどうかを示すデータ,データ・サイズを表わすデー
タ,およびデータ圧縮処理に関するデータ等が含まれよ
う。
【0024】この発明はまた,上述のようにしてデータ
圧縮により作成された圧縮ファイルからデータ・ファイ
ルを復元するデータ伸張方法を提供している。このデー
タ伸張方法においては,データ圧縮方法において用いら
れたものと同じ参照ファイルが利用される。圧縮ファイ
ルの伸張は上述したデータ圧縮処理の逆の手順で行えば
よい。
【0025】この発明によるデータ伸張方法は,圧縮フ
ァイルを圧縮データ・レコードごとにその復元用補助デ
ータを参照して伸張処理が必要かどうかを判定し,伸張
処理が必要であると判定した場合には,その圧縮データ
・レコードをデータ伸張し,データ伸張されたレコード
と,参照ファイルにおける対応するレコードとの間で排
他的論理和演算を行ってデータ・レコードを作成し,上
記処理により作成されたデータ・レコードと,伸張処理
不要な圧縮データ・レコードに含まれているデータ・レ
コードとを復元用補助データを参照して編集することに
よりデータ・ファイルを復元するものである。
【0026】このようにして元のデータ・ファイルが復
元されるから復元されたデータ・ファイルを利用するこ
とが可能となる。
【0027】この発明によるデータ伸張方法の一実施態
様においては,データ・ファイルまたはその一部がそれ
自体でデータ圧縮されている場合には,参照ファイルを
用いることなく,上記圧縮ファイルまたはその一部をデ
ータ伸張してデータ・ファイルを復元する。この伸張方
法は,上述した参照ファイルを用いることなくデータ・
ファイルまたはその一部それ自体でデータ圧縮する方法
に対応するものである。
【0028】この発明はさらにデータ伝送方法を提供し
ている。
【0029】このデータ伝送方法が適用されるシステム
においては,圧縮データを送信する送信装置と,この送
信装置から送信された圧縮データを受信する受信装置と
がともに参照ファイルを保持していることを前提とす
る。送信装置においては,上述したデータ圧縮方法にし
たがってデータ圧縮し,この処理により得られた圧縮デ
ータを受信装置に送信する。また受信装置においては,
受信したデータを上述した伸張方法にしたがってデータ
伸張して元のデータに復元する。
【0030】この発明はさらにデータ圧縮装置およびデ
ータ伸張装置を提供している。これらのデータ圧縮およ
び伸張装置は上述したデータ圧縮および伸張方法にそれ
ぞれ対応するものである。
【0031】この発明によるデータ圧縮装置は,データ
圧縮の対象となるデータ・ファイルとそれに対応する参
照ファイルとを部分的に比較して,上記参照ファイルの
一部とデータ一致率の高い任意データ長のレコードを上
記データ・ファイルにおいて検索する手段,上記検索手
段による検索によってデータ一致率の高いレコードが見
付った場合には,上記データ・ファイルの見付ったレコ
ードと上記参照ファイルのそれに対応するレコードとの
排他的論理和演算を行い,かつこの排他的論理和演算に
より得られるデータをデータ圧縮するデータ圧縮手段,
および上記データ圧縮手段により得られた圧縮データに
復元用補助データを付加することにより圧縮データ・レ
コードを作成し,上記参照ファイルのいかなる部分とも
一致率が低い上記データ・ファイルのレコードについて
はそのレコードに復元用補助データを付加することによ
り圧縮データ・レコードを作成し,これらの圧縮データ
・レコードを編集して圧縮ファイルを作成する編集手段
を備えている。
【0032】この発明によるデータ伸張装置は,圧縮フ
ァイルを圧縮データ・レコードごとにその復元用補助デ
ータを参照して伸張処理が必要かどうかを判定する手
段,上記判定手段によって伸張処理が必要であると判定
された場合には,その圧縮データ・レコードをデータ伸
張し,データ伸張されたレコードと,参照ファイルにお
ける対応するレコードとの間で排他的論理和を演算して
データ・レコードを作成するデータ伸張手段,および上
記データ伸張手段により作成されたデータ・レコード
と,伸張処理不要な圧縮データ・レコードに含まれてい
るデータ・レコードとを復元用補助データを参照して編
集することによりデータ・ファイルを復元する編集手段
を備えている。
【0033】この発明のデータ圧縮方法の最も特徴的な
部分を抽出すると次のように表現できる。すなわち,こ
の発明によるデータ圧縮方法は,データ一致率の高い対
象データと参照データとの排他的論理和演算を行い,こ
の排他的論理和演算結果についてデータ圧縮処理を施し
て圧縮データを得るものである。
【0034】このデータ圧縮方法によってもランダム性
の強いデータを参照データを利用して冗長度の高い圧縮
処理に適したデータに変換することができるので,高効
率のデータ圧縮が可能となる。
【0035】この発明のデータ伸張方法の要点は,与え
られた圧縮データをデータ伸張し,データ伸張により得
られたデータと参照データとの排他的論理和演算を行う
ことにより元データを復元するものであると表現でき
る。上記のデータ圧縮方法によりデータ圧縮された圧縮
データをこのデータ伸張方法により復元することができ
る。
【0036】この発明は上記のデータ圧縮方法およびデ
ータ伸張方法にそれぞれ対応するデータ圧縮装置および
データ伸張装置を提供している。すなわち,この発明に
よるデータ圧縮装置は,対象データと参照データとの間
で排他的論理和を演算する手段,および上記排他的論理
和演算手段による演算結果にデータ圧縮処理を施す手段
を備えている。
【0037】この発明によるデータ伸張装置は,与えら
れた圧縮データをデータ伸張する手段,および上記デー
タ伸張手段によりデータ伸張されたデータと参照データ
との排他的論理和を演算する手段を備えている。
【0038】この発明はさらに,データ圧縮の対象とな
るデータ・ファイルとそれに対応する参照ファイルとを
部分的に比較して,参照ファイルの一部とデータ一致率
の高い任意データ長のレコードを上記データ・ファイル
において見付け出す方法を提供している。
【0039】この発明による類似するレコードを見付け
出す方法は,データ・ファイルから第1の所定長の第1
の部分データを取出し,参照ファイルから上記第1の所
定長の第1の部分データを取出し,これらの第1の部分
データを取出す位置を少なくとも参照ファイルにおいて
所定バイトずつシフトしながら,データ・ファイルおよ
び参照ファイルからそれぞれ取出した上記第1の部分デ
ータを相互に比較して,一致率の高い第1の部分データ
があるかどうかを調査し,一致率の高い第1の部分デー
タが見付ったときに上記第1の部分データの取出しのた
めのシフト量を固定し,固定した取出し位置の近傍にお
いて上記第1の所定長よりも短い第2の所定長の第2の
部分データを上記データ・ファイルおよび上記参照ファ
イルからそれぞれ取出し,それらの取出し位置を上記参
照ファイルおよびデータ・ファイルにおいて所定バイト
ずつシフトしながら,上記データ・ファイルおよび参照
ファイルからそれぞれ取出した上記第2の部分データを
相互に比較することにより,一致率の高いレコードの範
囲を上記データ・ファイルおよび参照ファイルにおいて
決定するものである。
【0040】この発明による類似するレコードを見付け
出す方法の一実施態様においては,上記データ・ファイ
ルから固定データ長の1ブロック・データを取出し,こ
の取出した1ブロック・データについて,上記参照ファ
イルにおける上記第1の部分データの取出し位置をシフ
トしながら上記調査処理を行い,一致率の高い第1の部
分データが見付からない場合に,上記データ・ファイル
から取出すべき1ブロック・データの位置を1ブロック
長分シフトして上記調査処理を繰返す。
【0041】この発明によると,データ・ファイルと参
照ファイルとの部分的な比較を2段階にわたって行って
いる。第1段階では,データ・ファイルおよび参照ファ
イルから比較的長いデータ長をもつ第1の部分データを
抽出して大雑把に比較している。この第1段階の比較処
理において一致率が所定値以上の部分が見付かれば,次
に第2段階に進む。第2段階においては,第1段階で見
付かった一致率の高い第1の部分データの抽出位置を固
定し,その固定した位置の近傍において比較的短いデー
タ長をもつ第2の部分データをデータ・ファイルおよび
参照ファイルから抽出し,これらの第2の部分データを
所定バイトずつ別個にまたは一緒にシフトしながらより
詳細に比較処理を行うことにより,最終的に一致率の高
い任意長のレコードの範囲をデータ・ファイルおよび参
照ファイルにおいて決定している。
【0042】このように,この発明によると,第1段階
においてデータ・ファイルの一部分と参照ファイルの一
部分とを大雑把に比較し,類似する部分が見付かったの
ちに第2段階の詳細な比較処理に進むようにしているの
で,最初から詳細な比較処理を行う場合に比べて,はる
かに短時間で類似するレコードをデータ・ファイルと参
照ファイルにおいて見付け出すことができる。これによ
り上述したデータ圧縮方法の実用化が可能となる。
【0043】このようにして,参照ファイルの一部とデ
ータ一致率の高いレコードがデータ・ファイルにおいて
見付かると,上述のようにデータ・ファイルの見付かっ
たレコードと参照ファイルのそれに対応するレコードと
の排他的論理和が演算される。この排他的論理和演算結
果は連続するワード0を多く含むデータ列となる。
【0044】この発明はさらに,このようなデータ列の
圧縮処理に適したデータ圧縮方法を提供している。
【0045】この発明によるデータ圧縮方法は,圧縮す
べき一連のデータから一定長さのデータ・ブロックを取
出し,このデータ・ブロックを構成する複数の単位デー
タのうちで出現頻度の高い単位データを検出し,出現頻
度の高い1または複数種類の単位データに,上記データ
・ブロックにおいて出現しない単位データによって表わ
されるコードを割当てるものである。
【0046】上記データ圧縮方法はより一般的には次の
ように表現することもできる。
【0047】すなわちこの発明によるデータ圧縮方法
は,圧縮すべきデータを構成する複数の単位データのう
ちで出現頻度の高い単位データを検出し,出現頻度の高
い1または複数種類の単位データに,上記圧縮すべきデ
ータにおいて出現しない単位データによって表わされる
コードを割当てるものである。
【0048】この発明の一実施態様においては,上記の
出現頻度の高い1または複数種類の単位データを除く単
位データに対しては圧縮処理を施さない。
【0049】ここで単位データとはたとえば1ワード
(1文字)を構成する1バイト(=8ビット)データで
ある。
【0050】単位データにコードを割当てる方法にはい
くつかある。
【0051】その1つは出現頻度の高い単位データが連
続する数に応じて異なるコードを割当てるものである。
【0052】他の方法は,出現頻度の高い単位データが
複数個連続した場合に,この連続する単位データからな
るデータを,単位データに対応するコードと単位データ
が連続する数を表わすコードとの組合せによって表わす
ものである。
【0053】さらにこの発明のデータ圧縮方法の他の実
施態様においては,特定の意味を表わすデータに特定の
コードを割当てる。
【0054】相互に類似するデータ列間の排他的論理和
演算により得られるデータ列にはワード0が多く含ま
れ,かつこれらのワード0は複数個連続している場合が
多い。また,排他的論理和演算により得られるデータ列
に含まれるワードの種類数はそれほど多くない。
【0055】この発明によるデータ圧縮方法はこのよう
な出現するワードの種類数が比較的少ないデータ列に好
適であり,非常に効率のよいデータ圧縮が行える。
【0056】
【実施例の説明】
(1) 全体的な処理の概要 図1に示すように送信装置10から受信装置20にデータを
送信する場合を想定する。これらの送,受信装置10,20
はたとえばコンピュータ・システムであり,送信される
データはプログラムである。
【0057】送,受信装置10,20はともに同一の参照フ
ァイルFSを有している。参照ファイルFSはたとえば
これらの装置10,20が実行する旧バージョンのプログラ
ムである。
【0058】送信装置10において旧バージョンのプログ
ラムをバージョン・アップすることにより新バージョン
のプログラムが作成される。この新バージョン・プログ
ラムが受信装置20に送信されるべきデータ・ファイルF
Dである。受信装置20は新バージョン・プログラムを受
信すると,この新バージョン・プログラムによって旧バ
ージョン・プログラムに置きかえることができる。
【0059】新バージョン・プログラムであるデータ・
ファイルFDを受信装置20に伝送するために,送信装置
10において参照ファイルFSを利用してデータ・ファイ
ルFDのデータ圧縮処理が実行され,圧縮ファイルFC
が作成される。圧縮ファイルFCは有線(たとえばディ
ジタル回線)または無線で受信装置20に伝送される。
【0060】送信装置10から送られた圧縮ファイルFC
を受信すると,受信装置20はそれが保存している参照フ
ァイルFSを利用して圧縮ファイルFCのデータ伸張処
理を実行し,データ・ファイルFDを復元する。
【0061】図2は送信装置10において実行される参照
ファイルFSを利用したデータ・ファイルFDの圧縮処
理の様子を示している。
【0062】データ・ファイルFDと参照ファイルFS
とが部分的に比較され,データ一致率の高い任意データ
長のレコードが探し出される。図2に示す例では,デー
タ・ファイルFD中のレコードDR2 ,DR4 ,DR5
がそれぞれ参照ファイルFSのレコードSR2 ,S
4 ,SR5 と類似しており,データ一致率が高い(以
下,単に類似するという)と判断されたものとする。レ
コードDR2 とSR2 は同じデータ長をもつ。同じよう
にレコードDR4 とSR4 ,DR5 とSR5 もそれぞれ
同じデータ長のものである。レコードDR2 とDR4
DR5 のデータ長は同じ場合もあるし,異なる場合もあ
る。一般にはレコードDR2 とDR4 とDR5 のデータ
長は異なるであろう。
【0063】参照ファイルFSは上述のように旧バージ
ョンのプログラムであり,データ・ファイルFDはこの
旧バージョン・プログラムの一部を改良して作成された
新バージョンのプログラムである。したがって,参照フ
ァイルFSのうち,修正が加えられなかった部分はその
ままの形でデータ・ファイルFDの一部を構成してい
る。このように,データ・ファイルFDと参照ファイル
FSは,相互に殆ど一致する多くの部分(レコード)を
もっているので,相互に類似するレコードDR2 とSR
2 ,DR4 とSR4 ,DR5 とSR5 等を抽出すること
ができる。
【0064】データ・ファイルFDにおいて,レコード
DR1 ,DR3 ,DRn 等はそれらとデータ一致率の高
い(類似する)部分を参照ファイルFS中に見付けるこ
とができなかったものである。プログラムのバージョン
・アップにおいて新たに書き加えられたルーチンや完全
に書き直されたプログラム部分等がこれらのレコードD
1 ,DR3 ,DRn 等に相当するであろう。
【0065】続いて,相互に類似すると判定されたデー
タ・ファイルFDのレコードと参照ファイルFSの対応
するレコードとの間で排他的論理和(以下,XORとい
う)が演算され,この演算結果がデータ圧縮され,さら
にこの圧縮データと後述する復元用補助コードを用いて
圧縮データ・レコードが作成され,圧縮ファイルFCに
書込まれる。
【0066】データ・ファイルFDのレコードDR2
これに類似する参照ファイルFSのレコードSR2 との
XORが演算されて中間データXRD2 が作成される。
レコードDR2 とSR2とは相互に一致するデータを多
く含んでいるのでそれらのXOR演算結果である中間デ
ータXRD2 は0を多く含むデータとなる。この中間デ
ータXRD2 は冗長度が高いのでデータ圧縮に適してい
る。データ圧縮処理の手法としては公知のものを採用す
ることもできるが,後に示す手法を用いることが好まし
い。データ圧縮処理により生成された圧縮データは後述
するフォーマットにしたがって復元用補助コードととも
に編集されて圧縮データ・レコードdr2 となる。
【0067】同じように,レコードDR4 とSR4 との
XOR演算により中間データXRD4 が作成され,レコ
ードDR5とSR5 とのXOR演算により中間データX
RD5 が作成される。これらの中間データXRD4 ,X
RD5 がそれぞれ圧縮処理され,圧縮データ・レコード
・フォーマットにしたがって圧縮データ・レコードdr
4 ,dr5 となる。
【0068】参照ファイルFS中に類似する部分を見付
けることができなかったデータ・レコードDR1 ,DR
3 ,DRn 等については圧縮処理ができないので,その
ままの形で復元用補助コードとともに圧縮データ・レコ
ード・フォーマットにしたがって編集され,圧縮データ
・レコードdr1 ,dr3 ,drn 等となる。これらの
レコードdr1 ,dr3 ,drn は元のレコードD
1 ,DR3 ,DRn よりも復元用補助コードの分だけ
データ・サイズが大きくなっているが,ここでは用語の
統一のために圧縮データ・レコードと呼ぶことにする。
【0069】このようにして作成された圧縮データ・レ
コードdr1 ,dr2 ,…,drn が一定の順序(たと
えば後述するレコードNO. の順)に並べられることによ
り圧縮ファイルFCが得られる。実際の処理においては
圧縮データ・レコードの作成ごとに作成された圧縮デー
タ・レコードが圧縮ファイルFC内に配列されていくで
あろう。
【0070】圧縮ファイルFCは元のデータ・ファイル
FDに比べると,全体として数分の一から1/10程度,
またはそれ以上にデータ圧縮されている。圧縮ファイル
FCには圧縮データ・レコードdr1 ,dr3 ,drn
のようにデータ圧縮されていないレコードも含まれてい
るが,その数は比較的少なく,かつレコードdr2 ,d
4 ,dr5 のようにデータ圧縮されているものの圧縮
率が高いので,全体としてみた場合にもかなり高い圧縮
率を得ることができる。
【0071】図3は受信装置20において実行される参照
ファイルFSを利用した圧縮ファイルFCの伸張処理の
様子を示している。
【0072】伸張処理は上述した圧縮処理の逆の手順で
行われる。参照ファイル中のレコードを利用して圧縮さ
れた圧縮データ・レコードdr2 ,dr4 ,dr5 等に
ついては,まず伸張処理により中間データXRD2 ,X
RD4 ,XRD5 に変換される。これらの中間データX
RD2 ,XRD4 ,XRD5と参照ファイルFSの対応
するレコードSR2 ,SR4 ,SR5 とのXOR演算に
より,データ・レコードDR2 ,DR4 ,DR5 がそれ
ぞれ復元される。
【0073】圧縮処理の施されていない圧縮データ・レ
コードdr1 ,dr3 ,drn についてはそれらから復
元用補助コードが除去されることにより,元のデータ・
レコードDR1 ,DR3,DRn が得られる。
【0074】このようにして復元されたレコードD
2 ,DR4,DR5 ,DR1 ,DR3 ,DRn が元の
順序に配列されれば,最終的にデータ・ファイルFDが
復元されたことになる。
【0075】(2) 類似レコードの検索処理 データ・ファイルFDと参照ファイルFSとを部分的に
比較して,参照ファイルFSの一部と類似するレコード
をデータ・ファイルFDにおいて捜し出す処理について
説明する。
【0076】図4はデータ・ファイルFDおよび参照フ
ァイルFSの先頭からそれぞれ1ブロック(たとえば10
24バイト)を取出した様子を示すものである。
【0077】上述したように,データ・ファイルFDの
レコードDR2 と参照ファイルFSのレコードSR2
が類似している。レコードDR2 はデータ・ファイルF
Dの先頭位置Aからデータ長でOFFD2 後方に進んだ
位置Bから始まり,位置Cで終る。レコードSR2 は参
照ファイルFSの先頭位置Dから長さOFFS2 の位置
Eから始まり,位置Fまで続く。上述したようにレコー
ドDR2 とSR2 の長さは等しいが,レコードDR2
始まる位置BとレコードSR2 が始まる位置Eとは異な
る。ファイルの先頭から各レコードが始まる位置までの
データ長(OFFD2 やOFFS2 )をそのレコードの
オフセットという。
【0078】類似レコードを検索する処理は結局のとこ
ろ,類似するレコードDR2 とSR2 の開始位置BとE
(オフセットOFFD2 とOFFS2 )および終了位置
CとFをそれぞれ見付け出すための処理である。
【0079】図4に示す例では見付け出された類似レコ
ードDR2 ,SR2 は1ブロック長よりも短い。したが
って,これらのレコードDR2 の全体とレコードSR2
の全体とがXOR演算される。見付け出された類似レコ
ードが1ブロック長よりも長い場合には,これらの類似
レコードは1ブロックずつ分割され,分割された1ブロ
ックごとにXOR演算が行われ,XOR演算結果の圧縮
処理が行われ,圧縮データ・レコードの作成が行われ
る。すなわち,この実施例では,すべてのデータは1ブ
ロックを単位として(または1ブロックよりも短いデー
タ長の状態で)すべての処理が施される。
【0080】類似レコードの検索処理は大雑把な第1段
階の処理とより詳細な第2段階の処理とからなる。
【0081】まず,第1段階の処理について説明する。
【0082】図5(A) に示すように,データ・ファイル
FDの1ブロックと参照ファイルFSの1ブロックから
第1の所定長の第1の部分データfd1 ,fd2 ,fd
3 とfs10,fs20,fs30とが抜き出される。この実
施例では各ブロックの先端部と後端部と中間部の3箇所
において第1の部分データが抜き出されている。第1の
部分データの取出しは1箇所でも,2箇所でも,4箇所
以上でもよい。また,この実施例では第1の部分データ
のデータ長は10バイトである。
【0083】これらの第1の部分データの対応するもの
同志が相互に比較される。すなわち,データfd1 とデ
ータfs10とが比較され,それらの一致率が所定値以上
かどうかが判断される。同じようにデータfd2 とfs
20とが比較され,データfd3 とfs30とが比較され,
それらの一致率が所定値以上かどうかがそれぞれ判定さ
れる。データが一致しているかどうかは一般にはワード
単位(1バイト)で行われるであろう。
【0084】いずれの比較においても一致率が所定値以
下の場合には,データ・ファイルFDにおける第1の部
分データfd1 ,fd2 ,fd3 をそのままにしておい
て,参照ファイルFSにおいて抜出すべき第1の部分デ
ータを図5(B) に示すように後方に1バイトシフトす
る。参照ファイルFSにおいて次に抜出される部分デー
タをfs11,fs21,fs31とする。これらの部分デー
タfd1 ,fd2 ,fd3 とfs11,fs21,fs31
をそれぞれ比較してそのデータ一致率の判定を行う。
【0085】参照ファイルFSから取出すべき部分デー
タを1バイトずつシフトしながら上記の処理を繰返して
いく。
【0086】図5(C) に示すように,参照ファイルFS
から取出すべき部分データを参照ファイルFSの先頭か
らmバイトシフトして,fd1 ,fd2 ,fd3 とfs
1m,fs2m,fs3mとをそれぞれ比較したときに,デー
タ・ファイルの部分データfd2 と参照ファイルの部分
データfs2mとの一致率が所定値を超えたとすると,こ
れらの部分データfd2 ,fs2mを含むある範囲におい
てデータ・ファイルFDと参照ファイルFSとが類似し
ていると考えられるので,類似している範囲を定めるた
めに第2段階の処理に進む。
【0087】部分データfd2 とfs2mとの一致率が所
定値を超えたときに,参照ファイルFSから取出す第1
の部分データをfs2mの位置から1バイトずつシフト
し,これらの第1の部分データとデータ・ファイルFD
の部分データfd2 とを比較して,部分データfd2
最も一致率の高い参照ファイルFSの部分データを捜し
出すようにすると一層好ましい。
【0088】もし,参照ファイルFSから取出すべき第
1の部分データを順次1バイトずつシフトしていって,
取出すべき第1の部分データが参照ファイルFSの終端
にきてしまったときには,データ・ファイルFDから先
に取出した1ブロック長のデータと類似する部分は参照
ファイルFSには存在しないと判断して,データ・ファ
イルFDから次の1ブロック長のデータを取出して,上
記と同じような処理を繰返していく。
【0089】次に図6を参照して第2段階の処理につい
て説明する。
【0090】第2段階の処理では,第1段階の処理にお
いて一致率が所定値以上である(または一致率が最も高
い)と判定された第1の部分データfd2 とfs2mの位
置を固定する。すなわち,参照ファイルFSののシフト
量mを固定する。そして,データ・ファイルFDの第1
の部分データfd2 の中から第1の部分データよりもデ
ータ長の短い第2の部分データd1 を取出す。この実施
例では第2の部分データd1 は1バイト長(1ワード)
であるので,以下第2の部分データをワードということ
にする。参照ファイルFSからもワードd1 に対応する
位置の近傍においてワードS11,S12またはS13等を取
出し,これらとワードd1 とを順次比較する。
【0091】ワードd1 とS12とが一致したとすれば,
次にこれらの左または右に隣接するワードを両ファイル
FD,FSから取出して一致するかどうかを調べる。両
ファイルFD,FSから取出すべきワードを1ワードず
つ一方向にシフトしながら,一致しないワードが所定組
出現するまでたとえばd2 とS22,d3 とS32というよ
うに順次比較していく。
【0092】ワードd1 とS11も一致した場合には,参
照ファイルFSのシフト量を(m−1)に固定して,同
じようにこれらの左または右に隣接するワードを取出し
て一致するかどうかを調べる。取出すべきワードを1ワ
ードずつ一方向にシフトしながら,一致しないワードが
所定組出現するまで,たとえばd2 とS21,d3 とS31
というように順次比較していく。
【0093】このようにして,一致するワードの組が数
多く(所定割合以上)出現する範囲のうちで最も広い範
囲を捜し出して,その範囲をデータ・ファイルFDにお
いてはB〜C,参照ファイルFSにおいてはE〜Fと同
定する。BとEがこのようにして捜し出されたレコード
のオフセットである。
【0094】もし,ワードd1 とワードS11,S12,S
13等が一致しなかった場合には,データ・ファイルFD
においてワードd1 に隣接するワードd4 と参照ファイ
ルFSにおける対応する位置の近傍のワードS12
13,S14等とを比較し,一致するワードの組を捜すこ
とになる。
【0095】再び図4を参照して,このようにしてデー
タ・ファイルFDのレコードDR2 と参照ファイルFS
のレコードSR2 とが類似すると判定されると,次にデ
ータ・ファイルFDからは鎖線で示すようにレコードD
2 に続く1ブロック長のデータが読出され,この1ブ
ロック長のデータについて上述した第1段階と第2段階
の処理が行われる。
【0096】このような処理を繰返していくことによ
り,データ・ファイルFDの全域について,参照ファイ
ルFSの部分と類似するレコードが見付け出される。
【0097】(3) 圧縮処理 このようにして見付け出された参照ファイルFSのレコ
ードSRi と類似するデータ・ファイルFDのレコード
DRi をレコードSRi を利用して圧縮する処理の一例
について説明する。
【0098】レコードDRi ,SRi が1ブロック長よ
り長い場合には,上述したように,1ブロックごとにX
OR演算が行われ,1ブロックごとに圧縮処理が行われ
る。
【0099】XOR演算後の1ブロック長(またはこれ
よりも短い)の中間データは上述したようにワード00
(16進数表現,以下同じ)を多く含んでいる。こような
中間データを構成する全ワードについて,その出現頻度
の統計をとり,出現頻度の高い方から順に所定種類数の
ワードを選択する。この実施例では出現頻度が1番,2
番および3番の3種類のワードを選択するものとし,こ
れらをH1,H2,H3とする。H1,H2,H3を高
頻度ワードということにする。殆どの場合,H1はワー
ド00であろう。
【0100】次に,その1ブロック長の中間データには
出現しないワードを圧縮のために必要とする種類数捜し
出す。この実施例では9種類のワードが必要であると
し,それらをS1,S2,S3,…,S9で表わす。こ
れらのワードを置換ワードということにする。
【0101】さらにこの実施例では頻繁に出現する連続
文字もデータ圧縮の対象とする。たとえば,この種の連
続文字としてはテキスト・データの場合よく現われる改
行,復帰を表わす0D 0Aがある。
【0102】データ圧縮のために次のような置換を行
う。
【0103】ワードH1が2個連続した場合,これらを
ワードS1で置換する。
【0104】ワードH1が3個連続した場合,これらを
ワードS2で置換する。
【0105】ワードH1が4個連続した場合,これらを
ワードS3で置換する。
【0106】ワードH1が5個以上連続した場合,これ
らをワードS4と連続する個数を表わす数字(8ビット
で255 個の連続まで表現可能)との組合せで表現する。
【0107】ワードH2が2個連続した場合,これらを
ワードS5で置換する。
【0108】ワードH2が3個以上連続した場合,これ
らをワードS6と連続する個数を表わす数字の組合せに
より表現する。
【0109】ワードH3が2個連続した場合,これらを
ワードS7で置換する。
【0110】ワードH3が3個以上連続した場合,これ
らをワードS8と連続する個数を表わす数字の組合せに
より表現する。
【0111】連続文字0D 0AをワードS9で置換す
る。
【0112】これらをまとめると次のようになる。
【0113】H1 H1 → S1 H1 H1 H1 → S2 H1 H1 H1 H1 → S3 H1が5個以上連続したとき → S4+個数 H2 H2 → S5 H2が3個以上連続したとき → S6+個数 H3 H3 → S7 H3が3個以上連続したとき → S8+個数 0D 0A → S9
【0114】類似するレコードのXOR演算結果は,何
回も繰返すように,ワード00を多く含み,かつ出現す
るワードの種類数も多くはない。このため,上述のよう
な圧縮方法により,非常に効率の高いデータ圧縮が可能
となる。
【0115】図7は上記の圧縮方法にしたがう圧縮処理
の様子を示すものである。この図において,高頻度ワー
ドおよび置換ワード以外の数字は16進数表現されてい
る。高頻度ワード以外のワード(たとえば図7の88)
についてはそのまま配列される。
【0116】圧縮データにおいて,実圧縮データD1の
前に,置換ワードの列CCおよび高頻度ワードの列CP
Cが一定の順序で配列されている。
【0117】圧縮データの伸張処理は上記の圧縮処理手
順を逆にたどっていくことにより行われる。
【0118】(4) 圧縮データ・レコード・フォーマット 図8は圧縮データ・レコード・フォーマットを示してい
る。この圧縮データ・レコードも可変長である。
【0119】圧縮データ・レコードは,レコードNO. R
NO,データ・ファイルにおける先頭からのオフセット
OFFD,参照ファイルにおける先頭からのオフセット
OFFS,参照ファイルを利用して圧縮処理をしている
かどうかを表わす参照フラグCF,圧縮処理をしている
かどうかを表わす圧縮フラグCPF,後に続くデータ
(置換ワード列CC,高頻度ワード列CPCおよび実圧
縮データD1)の長さを示すサイズ・データSZ(以上
を,復元用補助データという),置換ワード列CC,高
頻度ワード列CPCおよび実圧縮データD1から構成さ
れる。レコードDR1 ,DR3 ,DRn のように圧縮処
理が行われないレコードについては,復元用補助データ
RNO,OFFD,OFFS,CF,CPF,SZに続
いて,圧縮されていないこれらのレコードのデータ(非
圧縮データ)D2が配列されることにより,圧縮データ
・レコードが作成される。
【0120】後に説明するが,この実施例では参照ファ
イルFSを全く参照しないで圧縮する処理も行われる。
データ・ファイルFD(またはその1ブロック)がそれ
自体で冗長度が高いまたは規則性がある場合には,参照
ファイルを全く用いることなく圧縮処理が可能である。
この場合にも,1ブロックごとに圧縮されることにより
得られた圧縮データは図8に示すフォーマットにしたが
って編集される。
【0121】上述した参照フラグCFは,このように参
照ファイルを全く利用することなくデータ・ファイルが
それ自体で圧縮された場合,およびDR1 ,DR3 ,D
n のように類似するレコードを参照ファイルで見付け
ることができなかった場合にリセットされ,参照ファイ
ルのレコードを利用して圧縮された場合にはセットされ
る。
【0122】圧縮フラグは,DR1 ,DR3 ,DRn
ように類似するレコードが参照ファイルで見付けること
ができずに圧縮処理が施されていない場合にリセットさ
れ,それ以外の参照ファイルを利用する,しないにかか
わらず圧縮処理が施されている場合にはセットされる。
【0123】(5) 処理の流れ 図9は送信装置10におけるデータ・ファイルの圧縮処理
手順の流れを示している。
【0124】ファイル・オープン等の初期処理(ステッ
プ101 )ののち,データ・ファイルFDから1ブロック
長のデータを読込み(ステップ103),その1ブロック
・データが参照ファイルFSを利用することなくそれ自
体で圧縮可能かどうかが判断される(ステップ104 )。
これは上述したように,冗長度が高いかどうか,規則性
が強いかどうかなどを基準にして判定される。
【0125】それ自体で圧縮処理が可能であれば,参照
フラグCFがリセットされ,圧縮フラグCPFがセット
され(ステップ105 ),圧縮処理に進み,上述した圧縮
処理または公知の手法によるデータ圧縮が行われる(ス
テップ110 )。圧縮されたデータは上述した圧縮データ
・レコード・フォーマットにしたがって編集され,圧縮
ファイル(FC)の所定位置に(たとえばレコードNO.
順にしたがう位置に)格納される(ステップ112 )。
【0126】それ自体で圧縮が可能でなければ,参照フ
ァイルFSがサーチされ,類似するレコードが参照ファ
イルFSに存在するかどうかがチェックされる(ステッ
プ106 )。
【0127】類似するレコードがあれば,上述したよう
にデータ・ファイルFDと参照ファイルFSの類似する
レコード間でXOR演算が行われ,中間データが得られ
る(ステップ108 )。参照フラグCFおよび圧縮フラグ
CPFがともにセットされ(ステップ109 ),上述した
または公知の手法によりデータ圧縮が施され(ステップ
110 ),圧縮データ・レコード・フォーマットにしたが
って圧縮ファイル(FC)の所定位置に書込まれる(ス
テップ112 )。
【0128】類似するレコードが見付からない場合に
は,参照フラグCFおよび圧縮フラグCPFがともにリ
セットされ(ステップ111 ),圧縮処理されることな
く,圧縮データ・レコード・フォーマットにしたがって
圧縮ファイルFCに書込まれる(ステップ112 )。
【0129】以上の処理は1ブロック長ごとに繰返し実
行され,データ・ファイルFD中のすべてのデータにつ
いて処理が終了すれば(ステップ102 ),ファイル・ク
ローズ等の終了処理(ステップ113 )をもってすべての
処理が終る。
【0130】図10は受信装置20における受信した圧縮フ
ァイルの復元処理の手順を示している。
【0131】初期処理ののち(ステップ121 ),圧縮フ
ァイルFCから1圧縮データ・レコードのデータを読込
み(ステップ123 ),圧縮フラグCPFを参照して圧縮
処理が施されているかどうかが判定される(ステップ12
4 )。
【0132】圧縮処理が施されているものであればデー
タ伸張処理が実行され(ステップ125 ),そうでなけれ
ばこのステップ125 はスキップされる。
【0133】続いて,参照フラグCFの状態をみて,参
照ファイルFSを利用した圧縮かどうかがチェックされ
(ステップ126 ),そうであれば参照ファイル・オフセ
ットOFFSを用いて対応するレコードが参照ファイル
FSから読出され(ステップ127 ),伸張されたデータ
と参照ファイルFSのレコードとのXOR演算が行われ
る(ステップ128 )。これにより,元のデータが復元す
るので,データ・ファイル・オフセットOFFDを参照
してデータ・ファイルFDの該当場所に書込まれる(ス
テップ129 )。
【0134】データ圧縮されていない場合には実データ
がそのまま,参照ファイルを利用しないでそれ自体で圧
縮されている場合にはステップ125 で伸張されたデータ
が,データ・ファイル・オフセットOFFDを手がかり
にデータ・ファイルFDの元の場所に書込まれる(ステ
ップ129 )。
【0135】以上の処理は圧縮ファイルFCの圧縮デー
タ・レコードごとに実行され,すべての圧縮データにつ
いて処理が終了すれば(ステップ122 ),終了処理(ス
テップ130 )を経てすべての処理を終る。
【図面の簡単な説明】
【図1】データ・ファイルの通信システムを示すブロッ
ク図である。
【図2】参照ファイルを利用したデータ圧縮処理を説明
するものである。
【図3】参照ファイルを利用したデータ伸張処理を説明
するものである。
【図4】データ・ファイルと参照ファイルの1ブロック
・データを示す。
【図5】類似レコード検索処理の第1段階を示す。
【図6】類似レコード検索処理の第2段階を示す。
【図7】原データとそれをデータ圧縮して得られる圧縮
データとの例を示す。
【図8】圧縮データ・レコード・フォーマットを示す。
【図9】送信装置におけるデータ・ファイルの圧縮処理
手順を示すフロー・チャートである。
【図10】受信装置における圧縮ファイルの伸張処理手
順を示すフロー・チャートである。
【符号の説明】
10 送信装置 20 受信装置

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 データ圧縮の対象となるデータ・ファイ
    ルとそれに対応する参照ファイルとを部分的に比較し
    て,上記参照ファイルの一部とデータ一致率の高い任意
    データ長のレコードを上記データ・ファイルにおいて捜
    し出し,データ一致率の高いレコードが見付った場合に
    は,上記データ・ファイルの見付ったレコードと上記参
    照ファイルのそれに対応するレコードとの排他的論理和
    演算を行い,かつこの排他的論理和演算により得られる
    データをデータ圧縮し,上記データ圧縮処理により得ら
    れた圧縮データに復元用補助データを付加することによ
    り圧縮データ・レコードを作成し,上記参照ファイルの
    いかなる部分とも一致率が低い上記データ・ファイルの
    レコードについてはそのレコードに復元用補助データを
    付加することにより圧縮データ・レコードを作成し,こ
    れらの圧縮データ・レコードを編集して圧縮ファイルを
    作成する,データ圧縮方法。
  2. 【請求項2】 上記データ・ファイルまたはその一部が
    上記参照ファイルを用いることなくそれ自体でデータ圧
    縮が可能かどうかを判断し,可能であれば上記データ・
    ファイルまたはその一部をそれ自体でデータ圧縮し,可
    能でなければ請求項1に記載のデータ圧縮方法を実行す
    る,データ圧縮方法。
  3. 【請求項3】 上記復元用補助データが,レコード番
    号,データ・ファイルにおける一致率の高いレコードの
    位置を示すデータ,参照ファイルにおける一致率の高い
    レコードの位置を示すデータ,参照ファイルを用いた圧
    縮処理を行っているかどうかを示すデータ,データ圧縮
    されているかどうかを示すデータ,データ・サイズを表
    わすデータ,およびデータ圧縮処理に関するデータを含
    んでいる,請求項1または2に記載のデータ圧縮方法。
  4. 【請求項4】 圧縮ファイルを圧縮データ・レコードご
    とにその復元用補助データを参照して伸張処理が必要か
    どうかを判定し,伸張処理が必要であると判定した場合
    には,その圧縮データ・レコードをデータ伸張し,デー
    タ伸張されたレコードと,参照ファイルにおける対応す
    るレコードとの間で排他的論理和演算を行ってデータ・
    レコードを作成し,上記処理により作成されたデータ・
    レコードと,伸張処理不要な圧縮データ・レコードに含
    まれているデータ・レコードとを復元用補助データを参
    照して編集することによりデータ・ファイルを復元す
    る,データ伸張方法。
  5. 【請求項5】 データ・ファイルまたはその一部がそれ
    自体でデータ圧縮されている場合には,上記参照ファイ
    ルを用いることなく,上記圧縮データ・レコードをデー
    タ伸張してデータ・ファイルを復元する請求項4に記載
    のデータ伸張方法。
  6. 【請求項6】 上記復元用補助データが,レコード番
    号,データ・ファイルにおける一致率の高いレコードの
    位置を示すデータ,参照ファイルにおける一致率の高い
    レコードの位置を示すデータ,参照ファイルを用いた圧
    縮処理を行っているかどうかを示すデータ,データ圧縮
    されているかどうかを示すデータ,データ・サイズを表
    わすデータ,およびデータ圧縮処理に関するデータを含
    んでいる,請求項4または5に記載のデータ伸張方法。
  7. 【請求項7】 圧縮データを送信する送信装置と,この
    送信装置から送信された圧縮データを受信する受信装置
    とがともに上記参照ファイルを保持しているシステムに
    おいて,送信装置において請求項1または2に記載のデ
    ータ圧縮方法にしたがってデータ圧縮し,この処理によ
    り得られた圧縮データを送信装置から受信装置に送信す
    る,データ送信方法。
  8. 【請求項8】 圧縮データを送信する送信装置と,この
    送信装置から送信された圧縮データを受信する受信装置
    とがともに上記参照ファイルを保持しているシステムに
    おいて,送信装置において請求項1または2に記載のデ
    ータ圧縮方法にしたがってデータ圧縮し,この処理によ
    り得られた圧縮データを送信装置から受信装置に送信
    し,受信装置において,受信したデータを請求項4また
    は5に記載のデータ伸張方法にしたがってデータ伸張す
    る,データ伝送方法。
  9. 【請求項9】 データ圧縮の対象となるデータ・ファイ
    ルとそれに対応する参照ファイルとを部分的に比較し
    て,上記参照ファイルの一部とデータ一致率の高い任意
    データ長のレコードを上記データ・ファイルにおいて検
    索する手段,上記検索手段による検索によってデータ一
    致率の高いレコードが見付った場合には,上記データ・
    ファイルの見付ったレコードと上記参照ファイルのそれ
    に対応するレコードとの排他的論理和演算を行い,かつ
    この排他的論理和演算により得られるデータをデータ圧
    縮するデータ圧縮手段,および上記データ圧縮手段によ
    り得られた圧縮データに復元用補助データを付加するこ
    とにより圧縮データ・レコードを作成し,上記参照ファ
    イルのいかなる部分とも一致率が低い上記データ・ファ
    イルのレコードについてはそのレコードに復元用補助デ
    ータを付加することにより圧縮データ・レコードを作成
    し,これらの圧縮データ・レコードを編集して圧縮ファ
    イルを作成する編集手段,を備えたデータ圧縮装置。
  10. 【請求項10】 上記復元用補助データが,レコード番
    号,データ・ファイルにおける一致率の高いレコードの
    位置を示すデータ,参照ファイルにおける一致率の高い
    レコードの位置を示すデータ,参照ファイルを用いた圧
    縮処理を行っているかどうかを示すデータ,データ圧縮
    されているかどうかを示すデータ,データ・サイズを表
    わすデータ,およびデータ圧縮処理に関するデータを含
    んでいる,請求項9に記載のデータ圧縮装置。
  11. 【請求項11】 圧縮ファイルを圧縮データ・レコード
    ごとにその復元用補助データを参照して伸張処理が必要
    かどうかを判定する手段,上記判定手段によって伸張処
    理が必要であると判定された場合には,その圧縮データ
    ・レコードをデータ伸張し,データ伸張されたレコード
    と,参照ファイルにおける対応するレコードとの間で排
    他的論理和を演算してデータ・レコードを作成するデー
    タ伸張手段,および上記データ伸張手段により作成され
    たデータ・レコードと,伸張処理不要な圧縮データ・レ
    コードに含まれているデータ・レコードとを復元用補助
    データを参照して編集することによりデータ・ファイル
    を復元する編集手段,を備えたデータ伸張装置。
  12. 【請求項12】 データ一致率の高い対象データと参照
    データとの排他的論理和演算を行い,この排他的論理和
    演算結果についてデータ圧縮処理を施して圧縮データを
    得る,データ圧縮方法。
  13. 【請求項13】 与えられた圧縮データをデータ伸張
    し,データ伸張により得られたデータと参照データとの
    排他的論理和演算を行うことにより元データを復元す
    る,データ伸張方法。
  14. 【請求項14】 対象データと参照データとの間で排他
    的論理和を演算する演算手段,および上記排他的論理和
    演算手段による演算結果にデータ圧縮処理を施すデータ
    圧縮手段,を備えたデータ圧縮装置。
  15. 【請求項15】 与えられた圧縮データをデータ伸張す
    るデータ伸張手段,および上記データ伸張手段によりデ
    ータ伸張されたデータと参照データとの排他的論理和を
    演算する演算手段,を備えたデータ伸張装置。
  16. 【請求項16】 データ・ファイルから第1の所定長の
    第1の部分データを取出し,参照ファイルから上記第1
    の所定長の第1の部分データを取出し,これらの第1の
    部分データを取出す位置を少なくとも参照ファイルにお
    いて所定バイトずつシフトしながら,データ・ファイル
    および参照ファイルからそれぞれ取出した上記第1の部
    分データを相互に比較して,一致率の高い第1の部分デ
    ータがあるかどうかを調査し,一致率の高い第1の部分
    データが見付ったときに上記第1の部分データの取出し
    のためのシフト量を固定し,固定した取出し位置の近傍
    において上記第1の所定長よりも短い第2の所定長の第
    2の部分データを上記データ・ファイルおよび上記参照
    ファイルからそれぞれ取出し,それらの取出し位置を上
    記参照ファイルおよびデータ・ファイルにおいて所定バ
    イトずつシフトしながら,上記データ・ファイルおよび
    参照ファイルからそれぞれ取出した上記第2の部分デー
    タを相互に比較することにより,一致率の高いレコード
    の範囲を上記データ・ファイルおよび参照ファイルにお
    いて決定する,類似するレコードを見付け出す方法。
  17. 【請求項17】 上記データ・ファイルから固定データ
    長の1ブロック・データを取出し,この取出した1ブロ
    ック・データについて,上記参照ファイルにおける上記
    第1の部分データの取出し位置をシフトしながら上記調
    査処理を行い,一致率の高い第1の部分データが見付か
    らない場合に,上記データ・ファイルから取出すべき1
    ブロック・データの位置を1ブロック長分シフトして上
    記調査処理を繰返す,請求項16に記載の類似するレコー
    ドを見付け出す方法。
  18. 【請求項18】 圧縮すべき一連のデータから一定長さ
    のデータ・ブロックを取出し,このデータ・ブロックを
    構成する複数の単位データのうちで出現頻度の高い単位
    データを検出し,出現頻度の高い1または複数種類の単
    位データに,上記データ・ブロックにおいて出現しない
    単位データによって表わされるコードを割当てるデータ
    圧縮方法。
  19. 【請求項19】 圧縮すべきデータを構成する複数の単
    位データのうちで出現頻度の高い単位データを検出し,
    出現頻度の高い1または複数種類の単位データに,上記
    圧縮すべきデータにおいて出現しない単位データによっ
    て表わされるコードを割当てるデータ圧縮方法。
  20. 【請求項20】 上記の出現頻度の高い1または複数種
    類の単位データを除く単位データに対しては圧縮処理を
    施さない,請求項18または19に記載のデータ圧縮方法。
  21. 【請求項21】 出現頻度の高い単位データが連続する
    数に応じて異なるコードを割当てる請求項18から20のい
    ずれか一項に記載のデータ圧縮方法。
  22. 【請求項22】 出現頻度の高い単位データが複数個連
    続した場合に,この連続する単位データからなるデータ
    を,単位データに対応するコードと単位データが連続す
    る数を表わすコードとの組合せによって表わす,請求項
    18から21のいずれか一項に記載のデータ圧縮方法。
  23. 【請求項23】 特定の意味を表わすデータに特定のコ
    ードを割当てる,請求項18または19に記載のデータ圧縮
    方法。
JP3339307A 1991-11-29 1991-11-29 データ圧縮方法およびデータ伸張方法ならびに装置 Expired - Fee Related JPH0772859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3339307A JPH0772859B2 (ja) 1991-11-29 1991-11-29 データ圧縮方法およびデータ伸張方法ならびに装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3339307A JPH0772859B2 (ja) 1991-11-29 1991-11-29 データ圧縮方法およびデータ伸張方法ならびに装置

Publications (2)

Publication Number Publication Date
JPH05150940A true JPH05150940A (ja) 1993-06-18
JPH0772859B2 JPH0772859B2 (ja) 1995-08-02

Family

ID=18326218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3339307A Expired - Fee Related JPH0772859B2 (ja) 1991-11-29 1991-11-29 データ圧縮方法およびデータ伸張方法ならびに装置

Country Status (1)

Country Link
JP (1) JPH0772859B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234048A (ja) * 2002-12-05 2007-09-13 Nec Corp コード圧縮技術の高速プロトタイピングを可能にするプログラムのコード圧縮方法、プログラムのコード圧縮システム
KR20160004908A (ko) * 2014-07-04 2016-01-13 한국전자통신연구원 엠펙 미디어 트랜스포트 프로토콜 패킷의 처리 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5567855A (en) * 1978-11-14 1980-05-22 Mitsubishi Electric Corp Data processor
JPH02224014A (ja) * 1989-02-27 1990-09-06 Nippon Telegr & Teleph Corp <Ntt> データ変換方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5567855A (en) * 1978-11-14 1980-05-22 Mitsubishi Electric Corp Data processor
JPH02224014A (ja) * 1989-02-27 1990-09-06 Nippon Telegr & Teleph Corp <Ntt> データ変換方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007234048A (ja) * 2002-12-05 2007-09-13 Nec Corp コード圧縮技術の高速プロトタイピングを可能にするプログラムのコード圧縮方法、プログラムのコード圧縮システム
KR20160004908A (ko) * 2014-07-04 2016-01-13 한국전자통신연구원 엠펙 미디어 트랜스포트 프로토콜 패킷의 처리 방법 및 장치

Also Published As

Publication number Publication date
JPH0772859B2 (ja) 1995-08-02

Similar Documents

Publication Publication Date Title
US5281967A (en) Data compression/decompression method and apparatus
US5612693A (en) Sliding window data compression using a toroidal bit shift register
CA1223965A (en) High speed data compression and decompression apparatus and method
US5229768A (en) Adaptive data compression system
US6597812B1 (en) System and method for lossless data compression and decompression
KR100332709B1 (ko) 스트링 검색이 포함되어 있는 즉각적인 사전 갱신을 갖춘 데이터
CA2077271C (en) Method and apparatus for compressing data
US5663721A (en) Method and apparatus using code values and length fields for compressing computer data
CN105009067B (zh) 管理对存储数据单元的操作
JPH0682370B2 (ja) 文字処理装置
EP0471518B1 (en) Data compression method and apparatus
US9577666B2 (en) Method and system
US6748520B1 (en) System and method for compressing and decompressing a binary code image
US5394143A (en) Run-length compression of index keys
US7379940B1 (en) Focal point compression method and apparatus
JP4156381B2 (ja) 文字テーブルによって実施されるデータ圧縮の方法および装置
US6388585B1 (en) Method for data compression and decompression using decompression instructions
US6400293B1 (en) Data compression system and method
US8463759B2 (en) Method and system for compressing data
JPH05150940A (ja) データ圧縮方法およびデータ伸張方法ならびに装置
JPH10261969A (ja) データ圧縮方法および装置
US8244677B2 (en) Focal point compression method and apparatus
JP3242795B2 (ja) データ処理装置及びデータ処理方法
US20020089436A1 (en) Delta data compression and transport
JPH0546357A (ja) テキストデータの圧縮方法および復元方法

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees