JPH0851371A - データ圧縮方法及び装置 - Google Patents

データ圧縮方法及び装置

Info

Publication number
JPH0851371A
JPH0851371A JP18604494A JP18604494A JPH0851371A JP H0851371 A JPH0851371 A JP H0851371A JP 18604494 A JP18604494 A JP 18604494A JP 18604494 A JP18604494 A JP 18604494A JP H0851371 A JPH0851371 A JP H0851371A
Authority
JP
Japan
Prior art keywords
data
storage unit
string
data storage
data string
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
JP18604494A
Other languages
English (en)
Other versions
JP3210183B2 (ja
Inventor
Takayuki Matsui
孝行 松井
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 JP18604494A priority Critical patent/JP3210183B2/ja
Publication of JPH0851371A publication Critical patent/JPH0851371A/ja
Application granted granted Critical
Publication of JP3210183B2 publication Critical patent/JP3210183B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 同一パターンの検出に必要な手間を、ほぼ元
データサイズに比例する手間に削減することができるデ
ータ圧縮方法及び装置を提供することを課題とする。 【構成】 圧縮対象となる第2データ列10bを入力デ
ータ記憶部1に格納し、第2データ列10bとこのデー
タ列よりより前に位置する第1データ列10aとを含む
データ列10の各データ毎に、第1データ列10aのど
の位置で出現していたかという情報を、文字出現データ
記憶部2に格納する。入力データ記憶部1の先頭データ
に対応する文字出現データ記憶部2の内容を読み込み、
入力データ記憶部1の先頭以降のデータに対応する文字
出現データ記憶部2の内容を1桁ずつシフトしながら、
演算結果が「0」になるまで論理積の演算を繰り返す。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、同一パターンをデータ
列中から検出してデータを圧縮する方法及び装置に関
し、特に、異常が発生したコンピュータのメモリ内容を
読み出して解析する際に、読み出したデータを、できる
だけ少ない容量で記憶あるいは送信するのに有効なデー
タ圧縮方法及び装置に関する。
【0002】
【従来の技術】従来のデータ圧縮の手法には、大きく分
けて、一つのデータ内だけの情報により圧縮を行うコー
ド化による圧縮方法と、データの前後関係の情報から圧
縮を行う冗長データに関する圧縮方法とがある。
【0003】コード化による圧縮方法で代表なものとし
ては、使用頻度の大きいデータ値には短いコードを割り
付け、使用頻度が小さくなるデータ値には長いコードを
割り付ける、ハフマン・コーディングがある。
【0004】一方、冗長データに関する圧縮方法では、
基本となる文字列の先頭から同じ部分は一致する文字数
で、異なる部分については、残りの文字列で表現すると
いう方法がよく知られている。一般的には、冗長データ
の削除による圧縮(図13参照)、文字列の記号への置
換による圧縮(図14参照)、繰り返す文字列について
の圧縮(図15参照)、データの前後関係による圧縮
(図16参照)などがある。特に、繰り返す文字列につ
いての圧縮方法では、同一バイトや同一ワードの繰り返
しを短いコードに変換したり、同一パターンのデータ列
を短いコードに変換することが従来から行われている。
【0005】なお、以上に述べたデータ圧縮手法は、デ
ータ格納の際のみならず、インデックスやロギングなど
にも採用されている。
【0006】
【発明が解決しようとする課題】ところで、前述の従来
行われている同一パターンのデータ列検出方法は、圧縮
するデータ列と比較対象のデータ列とを1バイトずつ比
較しているが、比較対象は最低でも直前の数百バイトを
対象にする必要があり、元データサイズと比較範囲との
積に比例する多大な手間を消費していた。
【0007】本発明は、このような事情に鑑みてなされ
たもので、同一パターンの検出に必要な手間を、ほぼ元
データサイズに比例する手間に削減することができるデ
ータ圧縮方法及び装置を提供することを課題とする。
【0008】
【課題を解決するための手段】
(イ)本発明のデータ圧縮方法は、前述した課題を解決
するため、圧縮対象となる第2データ列(10b)を入
力データ記憶部(1)に格納し、前記第2データ列(1
0b)とこの第2データ列(10b)より前に位置する
第1データ列(10a)とを含むデータ列(10)の各
データ毎に、前記第1データ列(10a)のどの位置で
出現していたかという情報を、文字出現データ記憶部
(2)に格納し、前記入力データ記憶部(1)の先頭デ
ータに対応する文字出現データ記憶部(2)の内容を読
み込み、前記入力データ記憶部(1)の先頭以降のデー
タに対応する文字出現データ記憶部(2)の内容を1桁
ずつシフトしながら、演算結果が「0」になるまで論理
積の演算を繰り返す動作を含むことを特徴とする(請求
項1に対応)。
【0009】なお、シフト方向は、前記入力データ記憶
部(1)の構造によって異なるが、最新のデータを入力
する位置から、より古いデータを格納する位置に向かう
方向となる。
【0010】(ロ)本発明のデータ圧縮方法において、
前記第1データ列(10a)は、前記第2データ列(1
0b)の直前に位置していることが好ましい(請求項2
に対応)。
【0011】(ハ)また、本発明のデータ圧縮方法は、
(イ)の動作に加えて、前記第2データ列(10b)中
に、バイト若しくはワードの繰り返しがあるか否かを検
出する動作を含んでいることが好ましい(請求項3に対
応)。
【0012】(ニ)更に、本発明のデータ圧縮方法は、
(ロ)の動作に加えて、バイト又はワードの繰り返し検
出結果、及び、同一パターンのデータ列の検出結果に基
づいて圧縮を示す所定のコードを生成する動作を含んで
いることが好ましい(請求項4に対応)。
【0013】(ホ)次に、本発明のデータ圧縮装置は、
入力データ記憶部(1)と、文字出現データ記憶部
(2)と、同一パターン判定部(4)とを備えたことを
特徴とする(請求項5に対応)。
【0014】前記入力データ記憶部(1)は、圧縮対象
となる第2データ列(10b)を格納する。前記文字出
現データ記憶部(2)は、前記第2データ列(10b)
とこの第2データ列(10b)より前に位置する第1デ
ータ列(10a)とを含むデータ列(10)の各データ
毎に、前記第1データ列(10a)のどの位置で出現し
ていたかという情報を格納する。
【0015】前記同一パターン判定部(4)は、前記入
力データ記憶部(1)の先頭データに対応する文字出現
データ記憶部(2)の内容を読み込み、前記入力データ
記憶部(1)の先頭以降のデータに対応する文字出現デ
ータ記憶部(2)の内容を1桁ずつシフトしながら、演
算結果が「0」になるまで論理積の演算を繰り返す。
【0016】なお、シフト方向は、前記入力データ記憶
部(1)の構造によって異なるが、最新のデータを入力
する位置から、より古いデータを格納する位置に向かう
方向となる。
【0017】以下、各構成要素について説明する。 <入力データ記憶部(1)>入力データ記憶部(1)
は、記憶装置であり、例えば、半導体記憶装置、磁気デ
ィスク記憶装置、フレキシィブル装置、磁気テープ装
置、M/O(Magnet Optical;光磁気ディスク装置)等
を使用して実現することができる。
【0018】入力データ記憶部(1)は、先入れ先出し
型の記憶装置であることが好ましい。 <文字出現データ記憶部(2)>文字出現データ記憶部
(2)は、例えば、半導体記憶装置、磁気ディスク記憶
装置、フレキシィブル装置、磁気テープ装置、M/O等
を使用して実現することができる。
【0019】文字出現データ記憶部(2)は、先入れ先
出し型の記憶装置であることが好ましい。 <同一パターン判定部(4)>同一パターン判定部
(4)は、コンピュータ装置を利用してプログラム制御
により実現することができる。
【0020】(ヘ)本発明のデータ圧縮装置において、
前記第1データ列(10a)は、前記第2データ列(1
0b)の直前に位置していることが好ましい(請求項6
に対応)。
【0021】(ト)また、本発明のデータ圧縮装置は、
(ニ)の構成要素に加えて、前記第2データ列(10
b)中に、バイト若しくはワードの繰り返しがあるか否
かを検出する繰り返し判定部(3)を設けていることが
好ましい(請求項7に対応)。
【0022】繰り返し判定部(3)は、コンピュータ装
置を利用してプログラム制御により実現することができ
る。 (チ)更に、本発明のデータ圧縮装置は、(ホ)の構成
要素に加えて、前記繰り返し判定部(3)及び前記同一
パターン判定部(4)の検出結果に基づいて、圧縮を示
す所定のコードを生成する総合判定部(5)を設けてい
ることが好ましい(請求項8に対応)。
【0023】総合判定部(5)は、コンピュータ装置を
利用してプログラム制御により実現することができる。
【0024】
【作用】本発明のデータ圧縮方法及び装置によれば、第
2データ列(10b)の先頭から始まるデータ列と同一
パターンのデータ列が、第1データ列(10a)から検
出される。
【0025】具体的な検出例を、図2を参照して説明す
る。ここで説明する例は、データ列(10)として“C
BDCBACDDDDCBACA”が与えられており、
第1データ列(10a)として“CBDCBACDD
D”まで処理されていることが前提となっている。
【0026】入力データ記憶部(1)には、圧縮対象と
して、これから処理すべき第2データ列として、“CB
ACA”が格納される。文字出現データ記憶部(2)に
は、既に処理済の“CBDCBACDDD”を構成する
各文字(データ)に関して、文字列中の各位置において
出現していたか否かを示す情報が、位置の情報ととも
に、それぞれの文字ごとのデータ記憶部(2)に格納さ
れる。
【0027】同一パターン判定部(4)は、入力データ
記憶部(1)の先頭文字の文字出現データ記憶部(2)
の内容(23)を読み込み、以降の文字は、文字出現デ
ータ記憶部(2)の内容を1桁ずつ(左方向に)シフト
しながら、論理積の演算を繰り返す(42〜45)。4
5のステップで演算結果が「0」になるが、この直前の
44のステップにおける1番右(本例では7の位置)の
ものが、最近の、かつ最大の同一パターンであると判断
される。
【0028】本例では、4ステップの演算で、7の位置
のものが最後まで残ったので、7バイトから4バイト
が、最近かつ最大の同一パターンとなる。
【0029】
【実施例】以下、本発明の実施例を図面を参照して説明
する。図3には本発明の一実施例に係るデータ圧縮装置
の構成ブロック図が示されている。このデータ圧縮装置
は、コンピュータ装置上のプログラムとして記述されて
おり、圧縮すべきデータを格納する入力FIFO(1)
を有している。この入力FIFO(1)に格納されたデ
ータは、文字出現FIFO(2)、繰り返し判定部
(3)、同一パターン判定部(4)及び総合判定部
(5)に渡される。
【0030】以下、入力FIFO(1)、文字出現FI
FO(2)、繰り返し判定部(3)、同一パターン判定
部(4)及び総合判定部(5)について、詳細に説明す
る。 <入力FIFO(1)>図5は入力FIFO(1)の一
実施例である。この入力FIFO(1)の要素はバイト
であり、「末尾に挿入」の操作を行うと、FIFOの内
容は1桁ずつ左にシフトし、挿入した値が一番右に設定
され、一番左の値は捨てられる。
【0031】入力FIFO(1)は、以上のような機能
を満たしていれば、どのように構成されていてもよい。
また、入力FIFO(1)の容量は、同一パターン判定
部(3)の構造から、文字出現FIFO(2)の桁数と
同一にされている。
【0032】図6は、本装置が被圧縮データを1文字入
力行う際の、入力FIFO(1)、文字出現FIFO
(2)に対する操作の一実施例を示すフローチャートで
ある。1文字入力する際には、まず、入力FIFO
(1)の先頭の文字を文字出現FIFO(2)の末尾に
挿入してから(ステップ101)、被圧縮データを入力
FIFO(1)の末尾に挿入する(ステップ102)。
【0033】<文字出現FIFO(2)>図4は、本実
施例における文字出現FIFO(2)を示す図である。
8ビットコードの文字単位で圧縮を行うために、256
個のFIFOになっており、512桁の文字出現情報を
格納できる。各文字の出現は、ビットで表され、ビット
1ならその文字がその桁で出現したことを意味し、ビッ
ト0ならその文字は出現していないことを示す。本FI
FO(2)に対して、「末尾に挿入」の操作を行うと、
FIFOの内容は1桁づつ左にシフトし、挿入した値が
一番右に設定され、一番左の値は捨てられる。
【0034】文字出現FIFO(2)は、以上のよう
に、圧縮対象文字列の直前の一定範囲について、各文字
ごとの出現位置を表現でき、末尾挿入操作の機能を満た
しているならば、どのように構成されてもよい。
【0035】また、文字出現FIFO(2)の容量は、
プログラムの局所性から、512桁だけ用意すれば十分
な効果が得られる。なお、プログラムの局所性とは、ほ
とんどのプログラムが百数十ステップのモジュールを単
位にしており、かつ、ループや分岐で構成されているた
め、同一変数の操作などの同じような処理が局所的にか
たまって存在することが多いことをいう。
【0036】<繰り返し判定部(3)>図7、図8は、
繰り返し判定部(3)の一実施例を示すフローチャート
である。図7は、バイトの繰り返しの判定を行い、図8
はワードの繰り返しの判定を行う。
【0037】バイトの繰り返しの判定を行う場合、「文
字」に入力FIFOの先頭バイトを格納し(ステップ3
01)、「回数」に「1」を設定して処理を開始する
(ステップ302)。
【0038】次に、1文字入力して(ステップ30
3)、入力FIFOの先頭と「文字」を比較し(ステッ
プ304)、一致したら「回数」に「1」を加えて(ス
テップ305)、ステップ303から繰り返す。
【0039】そして、ステップ304で一致しなかった
ら、「文字」と「回数」を返す。ワードの繰り返しの判
定を行う場合も同様で、「文字」に入力FIFOの先頭
ワードを格納し(ステップ311)、「回数」に「1」
を設定して処理を開始する(ステップ312)。
【0040】1ワード分だけ1文字入力して(ステップ
313)、入力FIFOの先頭ワードと「文字」を比較
し(ステップ314)、一致したら「回数」に「1」を
加えて(ステップ315)、ステップ313から繰り返
す。
【0041】ステップ314で一致しなかったら、「文
字」と「回数」を返す。 <同一パターン判定部(4)>図9は、同一パターン判
定部(4)の一実施例を示すフローチャートである。
【0042】入力FIFOの先頭文字(“C”)の出現
情報(23)を、文字出現FIFOから取り出し、演算
レジスタ1に格納し(ステップ401)、演算レジスタ
2にも同じ内容を格納する(ステップ402)。
【0043】そして、入力FIFOに対する、現在処理
中の桁数を示す変数「桁数」に1を設定する(ステップ
403)。更に、演算レジスタ1が「0」か否かを判定
することにより、同一パターンの候補が無くなったこと
を判定する(ステップ404)。そして、まだ候補が残
っているならば、演算レジスタ1を、演算レジスタ2に
複写したうえで(ステップ405)、入力FIFOの次
の文字(桁数+1の位置にある文字)を参照して(ステ
ップ406)、その文字の文字出現FIFO(2)の情
報を読み出す。そして、桁数だけ左にシフトして演算レ
ジスタ1との論理積をとり、その結果を演算レジスタ1
に格納する(ステップ407)。これにより、次の文字
の出現情報により候補を絞り込むことができる。
【0044】ステップ404において、もはや候補が残
っていない、又は入力FIFOのデータが尽きたなら
ば、直前の候補を記録している演算レジスタ2を調査し
(ステップ408)、全く候補が無かった場合、距離は
無効(−1)とし、桁数は「0」を返す(ステップ41
0)。
【0045】ステップ408で候補が1つ以上あった
(ビットが1つ以上「1」である)場合、一番右の
「1」のビットの位置を距離とし、この値と桁数を返す
(ステップ410)。
【0046】<総合判定部(5)>図10は、総合判定
部(5)の一実施例を示すフローチャート図である。本
例では、4バイト未満のデータについては、同一データ
の繰り返しや同一パターンに注目して圧縮を行ってもメ
リットがないと判断して、非圧縮のまま出力している。
【0047】ファイル終了でなく、入力FIFOに非圧
縮データがまだ4バイト以上残っているならば(ステッ
プ501)、同一バイトの繰り返しがないか判定し(ス
テップ502)、同一バイトの繰り返しがあったなら繰
り返し判定部3を呼び出してバイト単位の繰り返しが何
回繰り返されるかを判定し(ステップ503)、返され
た回数と文字に基づいて所定のコードを生成し、ファイ
ル又は回線に出力する(ステップ504)。
【0048】ここで、ステップ504で生成されるコー
ドの例を図11を参照して説明する。返された回数が2
55以下の場合には、図11(a)に示すように、1バ
イト長の特殊コード(R11)の後に、1バイト長の文
字と1バイト長の回数が後続するコードが生成される。
また、返された回数が256以上かつ65535以下の
場合には、図11(b)に示すように、1バイト長の特
殊コード(R12)の後に、1バイト長の文字と2バイ
ト長の回数が後続するコードが生成される。そして、返
された回数が65536以上かつ16777216以下
の場合には、図11(c)に示すように、1バイト長の
特殊コード(R13)の後に、1バイト長の文字と3バ
イト長の回数が後続するコードが生成される。さらに、
返された回数が16777216以上かつ429496
7295以下の場合には、図11(d)に示すように、
1バイト長の特殊コード(R14)の後に、1バイト長
の文字と4バイト長の回数が後続するコードが生成され
る。
【0049】ステップ502で同一バイトの繰り返しが
ないと判定された場合、同一ワードの繰り返しがないか
判定し(ステップ505)、同一ワードの繰り返しがあ
ったなら繰り返し判定部3を呼び出してワード単位の繰
り返しが何回繰り返されるか判定し(ステップ50
6)、返された回数と文字に基づいて所定のコードを生
成し、ファイル又は回線に出力する(ステップ50
7)。生成されるコードは、前記ステップ503と同様
の方法により生成される。
【0050】ステップ505で同一ワードの繰り返しが
ないと判定された場合、同一パターン判定部(4)を呼
び出す。そして、入力FIFO(1)内のデータと同一
パターンのデータが、直前のデータ内にないか判定し
(ステップ508)する。更に、4バイト以上の同一パ
ターンが見つかった場合は(ステップ509)、返され
た距離と長さ(桁数)に基づいて所定のコードを生成し
て出力し(ステップ510)、次の文字を処理するため
に、見つかったパターンの長さだけ、文字を入力する
(ステップ511)。
【0051】ここで、ステップ510で生成されるコー
ドの例を図12を参照して説明する。距離が255以下
かつ、長さが255以下の場合には、図12(a)に示
すように、1バイト長の特殊コード(P11)の後に、
1バイト長の距離と1バイト長の長さが後続するコード
が生成される。また、距離が256以上かつ65535
以下かつ、長さが255以下の場合には、図12(b)
に示すように、1バイト長の特殊コード(P21)の後
に、2バイト長の距離と1バイト長の長さが後続するコ
ードが生成される。そして、距離が256以上かつ65
535以下かつ、長さが256以上かつ65535以下
の場合には、図12(c)に示すように、1バイト長の
特殊コード(P22)の後に、2バイト長の距離と2バ
イト長の長さが後続するコードが生成される。さらに、
距離が256以上かつ65535以下かつ、長さが4の
場合には、図12(d)に示すように、1バイト長の特
殊コード(P20)の後に、2バイト長の距離が後続す
るコードが生成される。
【0052】ステップ509で4バイト以上の同一パタ
ーンが見つかった場合は、入力FIFOの非圧縮データ
をそのまま1バイト出力して(ステップ512)、次の
文字を処理するために1文字入力する(ステップ51
3)。
【0053】以上を繰り返してファイル終了となり、ス
テップ501において、すでに入力FIFOの非圧縮デ
ータが4バイトに満たなくなったら、入力FIFO内に
データが残っているか否かを判定する(ステップ51
4)。そして、入力FIFO内にデータが残っている場
合、残りのデータを非圧縮のまま出力して(ステップ5
15)、処理を終了する。
【0054】
【発明の効果】課題を解決するための手段における
(イ)のように構成したデータ圧縮方法及び(ホ)のよ
うに構成したデータ圧縮装置によれば、文字出現FIF
Oの情報を使用することにより、同一パターンのデータ
列を、ほぼ元データサイズに比例して検出できるため、
データ圧縮に必要な処理時間を大幅に短縮することが可
能となる。
【0055】また、課題を解決するための手段における
(ロ)のように構成したデータ圧縮方法及び(ヘ)のよ
うに構成したデータ圧縮装置によれば、局所性を有する
データ列に対して、特に大きな圧縮効果を得ることが可
能となる。これは、実行形式のプログラムロードモジュ
ール等をデータ圧縮する場合等において、プログラムに
は局所性があることが多いためである。なお、プログラ
ムの局所性とは、(1)プログラムが分岐や繰り返しの
構造の組み合わせでできており、分岐や繰り返しにおけ
る分岐点や合流点の近辺には、同一の処理が表れること
が多いことや、(2)高級言語で記述されたプログラム
には、プログラムのモジュール化や局所変数の概念が導
入されているため、同一の処理が狭い範囲で繰り返す可
能性が高いことをいう。
【0056】更に、課題を解決するための手段における
(ハ)のように構成したデータ圧縮方法及び(ト)のよ
うに構成したデータ圧縮装置によれば、プログラム中に
占めるデータの割合が多い実行形式プログラムロードモ
ジュール等をデータ圧縮する場合等において、特に大き
な圧縮効果を得ることが可能となる。これは、データ
は、同じ値が繰り返し出現する可能性が高いためであ
る。
【0057】そして、課題を解決するための手段におけ
る(ニ)のように構成したデータ圧縮方法及び(チ)の
ように構成したデータ圧縮装置によれば、データ圧縮を
行う場合に、データ列中の繰り返しと、同一パターンの
出現の両方に注目して、より圧縮率の高いものを選択し
ながらデータ圧縮を行うことが可能となる。
【図面の簡単な説明】
【図1】本発明データ圧縮装置の原理構成ブロック図で
ある。
【図2】本発明の作用説明図である。
【図3】本発明の実施例の構成ブロック図である。
【図4】実施例における文字出現FIFOを示す図であ
る。
【図5】実施例における入力FIFOを示す図である。
【図6】実施例における入力FIFO及び文字出現FI
FOへの1文字入力処理フローチャートを示す図であ
る。
【図7】実施例における繰り返し判定部(バイト)の処
理フローチャートを示す図である。
【図8】実施例における繰り返し判定部(ワード)の処
理フローチャートを示す図である。
【図9】実施例における同一パターン判定部の処理フロ
ーチャートを示す図である。
【図10】実施例における総合判断部の処理フローチャ
ートを示す図である。
【図11】実施例の総合判定部において、同一バイト
(ワード)の繰り返しがあると判断される場合に生成さ
れるコードを示す図である。
【図12】実施例の総合判定部において、返された距離
と桁数に基づいて生成されるコードを示す図である。
【図13】従来の技術の説明において、冗長データの削
除による圧縮を概念的に示す図である。
【図14】従来の技術の説明において、文字列の記号へ
の置換による圧縮を概念的に示す図である。
【図15】従来の技術の説明において、繰り返す文字列
の圧縮を概念的に示す図である。
【図16】従来の技術の説明において、データの前後関
係による圧縮を概念的に示す図である。
【符号の説明】
1・・・・入力データ記憶部(入力FIFO) 2・・・・文字出現データ記憶部(文字出現FIFO) 3・・・・繰り返し判定部 4・・・・同一パターン判定部 5・・・・総合判定部 10・・・データ列 10a・・第1データ列 10b・・第2データ列

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】圧縮対象となる第2データ列(10b)を
    入力データ記憶部(1)に格納し、 前記第2データ列(10b)とこの第2データ列(10
    b)より前に位置する第1データ列(10a)とを含む
    データ列(10)の各データ毎に、前記第1データ列
    (10a)のどの位置で出現していたかという情報を、
    文字出現データ記憶部(2)に格納し、 前記入力データ記憶部(1)の先頭データに対応する文
    字出現データ記憶部(2)の内容を読み込み、前記入力
    データ記憶部(1)の先頭以降のデータに対応する文字
    出現データ記憶部(2)の内容を1桁ずつシフトしなが
    ら、演算結果が「0」になるまで論理積の演算を繰り返
    す動作を含むことを特徴とするデータ圧縮方法。
  2. 【請求項2】請求項1において、 前記第1データ列(10a)は、前記第2データ列(1
    0b)の直前に位置することを特徴とするデータ圧縮方
    法。
  3. 【請求項3】請求項1又は2において、 前記第2データ列(10b)中に、バイト若しくはワー
    ドの繰り返しがあるか否かを検出する動作を含ませたこ
    とを特徴とするデータ圧縮方法。
  4. 【請求項4】請求項1から3のいずれかにおいて、 バイト又はワードの繰り返し検出結果、及び、同一パタ
    ーンのデータ列の検出結果に基づいて圧縮を示す所定の
    コードを生成する動作を含ませたことを特徴とするデー
    タ圧縮方法。
  5. 【請求項5】圧縮対象となる第2データ列(10b)を
    格納する入力データ記憶部(1)と、 前記第2データ列(10b)とこの第2データ列(10
    b)より前に位置する第1データ列(10a)とを含む
    データ列(10)の各データ毎に、前記第1データ列
    (10a)のどの位置で出現していたかという情報を格
    納する文字出現データ記憶部(2)と、 前記入力データ記憶部(1)の先頭データに対応する文
    字出現データ記憶部(2)の内容を読み込み、前記入力
    データ記憶部(1)の先頭以降のデータに対応する文字
    出現データ記憶部(2)の内容を1桁ずつシフトしなが
    ら、演算結果が「0」になるまで論理積の演算を繰り返
    す同一パターン判定部(4)とを備えたことを特徴とす
    るデータ圧縮装置。
  6. 【請求項6】請求項5において、 前記第1データ列(10a)は、前記第2データ列(1
    0b)の直前に位置することを特徴とするデータ圧縮装
    置。
  7. 【請求項7】請求項5又は6において、 前記第2データ列(10b)中に、バイト若しくはワー
    ドの繰り返しがあるか否かを検出する繰り返し判定部
    (3)を設けたことを特徴とするデータ圧縮装置。
  8. 【請求項8】請求項5から7のいずれかにおいて、 前記繰り返し判定部(3)及び前記同一パターン判定部
    (4)の検出結果に基づいて、圧縮を示す所定のコード
    を生成する総合判定部(5)を設けたこと特徴とするデ
    ータ圧縮装置。
JP18604494A 1994-08-08 1994-08-08 データ圧縮方法及び装置 Expired - Fee Related JP3210183B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP18604494A JP3210183B2 (ja) 1994-08-08 1994-08-08 データ圧縮方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP18604494A JP3210183B2 (ja) 1994-08-08 1994-08-08 データ圧縮方法及び装置

Publications (2)

Publication Number Publication Date
JPH0851371A true JPH0851371A (ja) 1996-02-20
JP3210183B2 JP3210183B2 (ja) 2001-09-17

Family

ID=16181424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18604494A Expired - Fee Related JP3210183B2 (ja) 1994-08-08 1994-08-08 データ圧縮方法及び装置

Country Status (1)

Country Link
JP (1) JP3210183B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059226A (ja) * 1998-07-28 2000-02-25 Xerox Corp 最小マッチ長が3のプリマッチストリングマッチアレイ
JP2006019989A (ja) * 2004-06-30 2006-01-19 Casio Comput Co Ltd データ入力装置、及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000059226A (ja) * 1998-07-28 2000-02-25 Xerox Corp 最小マッチ長が3のプリマッチストリングマッチアレイ
JP2006019989A (ja) * 2004-06-30 2006-01-19 Casio Comput Co Ltd データ入力装置、及びプログラム
JP4655521B2 (ja) * 2004-06-30 2011-03-23 カシオ計算機株式会社 データ入力装置、及びプログラム

Also Published As

Publication number Publication date
JP3210183B2 (ja) 2001-09-17

Similar Documents

Publication Publication Date Title
JP3009727B2 (ja) 改良形データ圧縮装置
US7725678B2 (en) Method and apparatus for producing an index vector for use in performing a vector permute operation
JP3973557B2 (ja) 構造化された文書を圧縮/伸長する方法
KR940003199B1 (ko) 다수의 기호값을 갖는 입력 신호를 인코딩하는 방법
JP2581903B2 (ja) バイト整列式データ圧縮方法及び装置
US5854597A (en) Document managing apparatus, data compressing method, and data decompressing method
JPH08255155A (ja) 全文登録語検索装置および方法
JPH08241332A (ja) 全文登録語検索装置および方法
KR20090115208A (ko) 데이터 스트림의 생성 및 데이터 스트림 내부의 위치들의 식별
US6094634A (en) Data compressing apparatus, data decompressing apparatus, data compressing method, data decompressing method, and program recording medium
US8947272B2 (en) Decoding encoded data
JP5549177B2 (ja) 圧縮プログラム、方法及び装置、並びに解凍プログラム、方法及び装置
JP3210183B2 (ja) データ圧縮方法及び装置
JP4586633B2 (ja) デコーダ回路、デコード方法及びデータ記録装置
JPH10261969A (ja) データ圧縮方法および装置
US5386211A (en) Method and apparatus for recording and reconstructing binary data in a compressed form
JPH06290021A (ja) ソースプログラム圧縮方法
JP3104302B2 (ja) データ圧縮装置
JP3471867B2 (ja) データフロー図作成装置及びその方法
JPS642970B2 (ja)
CN115037309A (zh) 一种lz77压缩算法的压缩参数分析计算方法和系统
Cena et al. A Q-Coder algorithm with carry free addition
JPH0540638A (ja) 語彙解析編集方式
JPH07184063A (ja) 2値画像圧縮システム
JP2018032227A (ja) マルメ圧縮ソフトウェアを記録した記録媒体

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20010626

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080713

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090713

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees