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

データ圧縮方法及び装置

Info

Publication number
JPH10187410A
JPH10187410A JP8344099A JP34409996A JPH10187410A JP H10187410 A JPH10187410 A JP H10187410A JP 8344099 A JP8344099 A JP 8344099A JP 34409996 A JP34409996 A JP 34409996A JP H10187410 A JPH10187410 A JP H10187410A
Authority
JP
Japan
Prior art keywords
data
compressed
match
detected
sets
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
JP8344099A
Other languages
English (en)
Other versions
JP3540109B2 (ja
Inventor
Taiho Higuchi
大奉 樋口
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 JP34409996A priority Critical patent/JP3540109B2/ja
Priority to US08/896,658 priority patent/US5936560A/en
Publication of JPH10187410A publication Critical patent/JPH10187410A/ja
Application granted granted Critical
Publication of JP3540109B2 publication Critical patent/JP3540109B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

(57)【要約】 【課題】 入力データパターンに依存せずに高速にデー
タ圧縮動作を行うことができ、かつ容易にハードウェア
化が可能なデータ圧縮方法及び装置を提供する。 【解決手段】 圧縮すべきデータの以前の履歴を格納し
た辞書ウィンドウと前記圧縮すべきデータとを比較し、
データの一致が検出された場合に一致データの一致長と
前記辞書ウィンドウにおける相対位置とをコード化して
圧縮データを生成するデータ圧縮方法において、(a)
前記辞書ウィンドウ中のm組(m=2,3,...)の
n個のデータ(n=2,3,...)と前記圧縮すべき
データ中のn個のデータとを実質的に同時に比較し、
(b)前記段階(a)の比較結果において、最長の一致
を検出したデータをコード化して前記圧縮データを生成
する各段階を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ圧縮方法及
び装置に関し、特に、コンピュータ等で用いられる元の
データを完全に復元できる可逆的なデータ圧縮方法及び
装置に関する。
【0002】
【従来の技術】コンピュータの利用方法が高度化するに
つれて、コンピュータにおいて扱うプログラムやデータ
量が急速に増大してきている。これに対応するため、コ
ンピュータの記憶媒体や伝送の速度も向上している。ま
た、さらなる伝送速度の向上や、取扱いの容易化のた
め、データをより小さいサイズに圧縮するデータ圧縮の
技法が適用されてきている。
【0003】データ圧縮のためには、主に2つの方法が
あり、1つは、情報をその実効的な効果を損なわない程
度に変形させて冗長性を削減する方法であり、音声や画
像のような感性に依存する情報に適用される。他の1つ
は、データの繰り返し等の冗長性を利用して元データが
完全に復元できるように(可逆的に)圧縮する方法であ
り、主に、数値・文書データやプログラムコードのよう
な正確なデジタルデータを必要とする情報に適用され
る。
【0004】後者の可逆的なデータ圧縮方法としては、
Lampel/Zivの考案によるLZ77方式が広く
使用されている。LZ77方式は、先行データの一部を
直接辞書として利用している。また、LZ77方式を改
良した、先行データから辞書を作成するLZ78方式や
LZW方式も多く使用されている。
【0005】以下に、LZ77データ圧縮方式について
説明する。このLZ77方式では、圧縮するデータが先
行するデータの一定範囲と比較され、最も一致長が長い
データ列が検出された場合、先行データにおけるそのデ
ータ列の相対位置と一致長の情報によって圧縮データが
生成される。
【0006】図5は、一般的なLZ77データ圧縮方式
の動作例を示す図である。(A)は、圧縮の対象となる
データ(入力データ)とそれと比較される先行データの
一定範囲(スライディングウィンドウ)とを示し、
(B)は、非圧縮データを示し、(C)は、圧縮データ
を示す。入力データと先行データとは一般的には連続的
なものである。
【0007】図5に示すLZ77方式の例では、圧縮の
対象となる入力データ(最大一致長)は、17バイト、
ウィンドウサイズは、512バイトに設定されている。
LZ77方式では、先行データの一定の範囲は、スライ
ディングする辞書(スライディング辞書)として扱われ
る。入力データが圧縮される場合、まず、入力データが
スライディング辞書内のデータと比較される。この比較
は、一般的には後で述べる2進木(Binary tr
ee)検索法を用いて行われる。
【0008】上述の比較動作では、17バイトの入力デ
ータにスライディング辞書中の先頭からできるだけ長く
一致している場所が検出され、その場所情報(相対バイ
ト位置)と一致長(一致バイト数)とが、14ビットの
圧縮データにコード化される。
【0009】圧縮データの先頭の1ビットは、Pref
ixなるデータ種別を示しす。このPrefixが
“1”のときは、次の13ビットは圧縮データ(圧縮T
oken)であることを表し、Prefixが“0”の
ときは、次の8ビットは1バイトの非圧縮データである
ことを表す。
【0010】圧縮データ中のPrefixの次の9ビッ
トは、入力データと一致したデータのスライディング辞
書中の相対バイト位置(アドレス)を示している。上記
の例では、スライディング辞書は512(=29 )バイ
トに設定されているので、相対バイト位置を表すために
9ビット必要となる。
【0011】圧縮データ中の相対バイト位置に続く4ビ
ットは、入力データと一致したデータとの間の一致バイ
ト数を示している。上記の例では、入力データは17バ
イトに設定されているので、一致バイト数の最大値は1
7となる。しかし、一致バイト数が1の場合、該バイト
(8ビット)が圧縮データに変換されると、伝送される
ビット数は8ビットから14ビットに増加し、圧縮の効
果が得られない。この場合は、該バイトは、非圧縮デー
タ(9ビット)として伝送される。
【0012】一致バイト数が2の場合、その2つのバイ
ト(16ビット)が圧縮データに変換されると、伝送さ
れるビット数は16ビットから14ビットに減少し、圧
縮の効果が得られる。即ち、LZ77方式では、圧縮の
効果は一致バイト数が2から得られる。また、17バイ
ト全てが一致した場合、伝送されるビット数は、136
ビット(8ビット×17)から14ビットに圧縮でき
る。従って、圧縮データ中の一致バイト数は2〜17の
何れかとなり、4ビットでそれらの数を表すことができ
る。
【0013】また、上述したように、比較動作におい
て、一致バイト数が2以上のデータ列がスライディング
辞書中に存在しない場合には、生データが非圧縮データ
として伝送される。入力データと先行するスライディン
グ辞書との比較動作が終了した後、入力データ及びスラ
イディング辞書ともに1バイトづつシフトされ、再度比
較動作が行われる。
【0014】以上のデータ圧縮動作によって、入力デー
タを1/2〜1/3程度に圧縮することができる。この
ようなデータ圧縮を行うためには、入力データから最大
一致長を得るデータをスライディング辞書内において高
速に検索する手段が必要である。従来、このような検索
には二進木(Binary−tree)検索法が広く用
いられてきた。この方法では、ウィンドウ(スライディ
ング辞書)の各位置から始まるデータ列を辞書順序に並
べた検索列(Tree)が構成され、入力データ列がこ
のTreeと比較され、最大一致長を有するデータの場
所が検出される。上記比較が終了した後、ウィンドウの
位置が1バイトだけシフトされ辞書の更新が行われる。
【0015】以下に、2進木検索法の動作について説明
する。図6は、2進木検索法の動作例を説明するための
図である。図6の例では、文字列“The Cruel
ty of Really Tea”と該文字列に続く
17文字の文字例(図示せず)が比較される。即ち、文
字列“The Cruelty of Really
Tea”がウィンドウ(スライディング辞書)として定
義される。比較動作では、文字列“The Cruel
ty of Really Tea”の先頭から17文
字が、1文字づつシフトされながら(string1
to string8)、17文字の入力データと比較
される。
【0016】2進木検索法では、上記の比較動作に先立
ち、文字列“The Cruelty of Real
ly Tea”に対して図6に示すような2進木が形成
される。この2進木検索法では、スペース,A−Z,a
−zの順で、文字のレベルが高いと設定されている。
【0017】例えば、string1とstring2
とを比較すると、string2の先頭の文字“h”の
レベルの方がstring1の先頭の文字“T”のレベ
ルよりも高いので、string2は高いレベルの側
(この図では右側)に記載される。次に、string
2とstring3とを比較すると、string2の
先頭の文字“h”のレベルの方がstring3の先頭
の文字“e”のレベルよりも高いので、string3
はstring2よりも低いレベルの側(この図では左
側)に記載される。
【0018】次に、string3とstring4と
を比較すると、string2の先頭の文字“h”のレ
ベルの方がstring4の先頭の文字“C”のレベル
よりも高い。さらに、string4とstring1
とを比較すると、string1の先頭の文字“T”の
レベルの方がstring4の先頭の文字“C”のレベ
ルよりも高い。従って、string4はstring
1よりも低いレベルの側に記載される。このようにし
て、文字のレベルの大小によって、Treeが形成され
る。
【0019】このウィンドウのTreeと入力データと
の比較動作が行なわれる場合、その比較動作を容易に行
うことができる。
【0020】
【発明が解決しようとする課題】しかしながら、上述し
た従来のデータ圧縮方法には次のような問題点がある。 (1)従来のデータ圧縮方法に広く使用されている二進
木検索法では、検索時間は、理想的にはウィンドウ長の
対数に比例する時間になりえる。従って、2進木検出法
は、大きなウィンドウにも適応可能である。しかし、入
力データのパターンによっては非常に多くの検索時間を
要する場合がある。例えば、形成されたTreeが、図
6に示すような構成と異なり、常に大きい方向、或いは
常に小さい方向というように、直線に近い形に形成され
る場合、実質的に全てのstringと比較する必要が
あり、結果的に大きな検索時間を要する。従って、リア
ルタイムに処理するシステム形態での利用を困難にす
る。 (2)2進木検索法において理想的なTreeが形成さ
れる場合、データ圧縮動作では複数バイトが同時に処理
されているとみなされる。しかし、ウィンドウ(スライ
ディング辞書)の更新は、1バイト毎に行う必要があ
る。従って、データ圧縮動作とはあまり関係のない箇所
が、データ圧縮動作の処理速度のボトルネックとなって
いる。 (3)二進木検索法は、本質的に直前の演算結果から次
の処理を決定する。従って、この方法は並列処理に不適
切である。このためハードウェア化による高速化が難し
い。
【0021】本発明の目的は、上記の問題点に鑑みて、
入力データのパターンに依存せずに高速にデータ圧縮動
作を行うことができ、さらに容易にハードウェア化が可
能なデータ圧縮方法及び装置を提供する。
【0022】
【課題を解決するための手段】上記課題を解決するため
に本発明では、下記の手段を講じたことを特徴とするも
のである。請求項1記載の発明装置では、圧縮すべきデ
ータの以前の履歴を格納した辞書ウィンドウと前記圧縮
すべきデータとを比較し、データの一致が検出された場
合に一致データの一致長と前記辞書ウィンドウにおける
相対位置とをコード化して圧縮データを生成するデータ
圧縮方法において、(a)前記辞書ウィンドウ中のm組
(m=2,3,...)のn個のデータ(n=2,
3,...)と前記圧縮すべきデータ中のn個のデータ
とを実質的に同時に比較し、(b)前記段階(a)の比
較結果において、最長の一致を検出したデータをコード
化して前記圧縮データを生成する各段階を有することを
特徴とする。
【0023】請求項2記載の発明装置では、請求項1記
載のデータ圧縮方法において、前記段階(a)は、n個
のデータの一致が検出された場合、前記nの値をn1
(n1=3,4,..)に増加させて、前記辞書ウィン
ドウ中の一致が検出されたデータの位置からm組のn1
個のデータと前記圧縮すべきデータ中のn1個のデータ
とを実質的に同時に比較する段階を含むことを特徴とす
る。
【0024】請求項3記載の発明装置では、請求項2記
載のデータ圧縮方法において、前記段階(a)は、n個
のデータの一致が検出された場合、前記mの値をm1
(m1=1,2,...)に減少させて、前記辞書ウィ
ンドウ中の一致が検出されたデータの位置からm1組の
n1個のデータと前記圧縮すべきデータ中のn1個のデ
ータとを実質的に同時に比較する段階をさらに含むこと
を特徴とする。
【0025】請求項4記載の発明装置では、請求項3記
載のデータ圧縮方法において、前記段階(a)は、n個
のデータの一致が検出された場合、前記nの値をi×n
に増加させかつ前記mの値をm/iに減少させて(i=
2,3,...)、前記辞書ウィンドウ中の一致が検出
されたデータの位置からm/i組のi×n個のデータと
前記圧縮すべきデータ中のi×n個のデータとを実質的
に同時に比較する段階をさらに含むことを特徴とする。
【0026】請求項5記載の発明装置では、請求項1乃
至4のうちいずれか1項記載のデータ圧縮方法におい
て、前記データ圧縮方法は、Lampel/Zivが提
案したLZ77方式の改良方式であり、前記n個のデー
タはn個のバイトであり、前記辞書ウィンドウ中のm組
のn個のデータは、1バイトずつシフトされたm組のn
個のデータであることを特徴とする。
【0027】請求項6記載の発明装置では、圧縮すべき
データの以前の履歴を格納した辞書ウィンドウと前記圧
縮すべきデータとを比較する比較部と、データの一致が
検出された場合に一致データの一致長と前記辞書ウィン
ドウにおける相対位置とをコード化して圧縮データを生
成する処理部とを有するデータ圧縮装置において、前記
比較部は、前記辞書ウィンドウ中のm組(m=2,
3,...)のn個のデータ(n=2,3,...)と
前記圧縮すべきデータ中のn個のデータとを実質的に同
時に比較するm個の比較回路を有し、前記処理部は、前
記比較部の比較結果において、最長の一致を検出したデ
ータをコード化して前記圧縮データを生成する手段を有
することを特徴とする。
【0028】請求項7記載の発明装置では、請求項6記
載のデータ圧縮装置において、前記比較部は、n個のデ
ータの一致が検出された場合、前記nの値をn1(n1
=3,4,..)に増加させて、前記辞書ウィンドウ中
の一致が検出されたデータの位置からm組のn1個のデ
ータと前記圧縮すべきデータ中のn1個のデータとを実
質的に同時に比較する手段を含むことを特徴とする。
【0029】請求項8記載の発明装置では、請求項7記
載のデータ圧縮装置において、前記比較部は、n個のデ
ータの一致が検出された場合、前記mの値をm1(m1
=1,2,...)に減少させて、前記辞書ウィンドウ
中の一致が検出されたデータの位置からm1組のn1個
のデータと前記圧縮すべきデータ中のn1個のデータと
を実質的に同時に比較する手段をさらに含むことを特徴
とする。
【0030】請求項9記載の発明装置では、請求項8記
載のデータ圧縮装置において、前記比較部は、n個のデ
ータの一致が検出された場合、前記nの値をi×nに増
加させかつ前記mの値をm/iに減少させて(i=2,
3,...)、前記辞書ウィンドウ中の一致が検出され
たデータの位置からm/i組のi×n個のデータと前記
圧縮すべきデータ中のi×n個のデータとを実質的に同
時に比較する手段をさらに含むことを特徴とする。
【0031】請求項10記載の発明装置では、請求項6
乃至9のうちいずれか1項記載のデータ圧縮装置におい
て、前記データ圧縮装置は、Lampel/Zivが提
案したLZ77方式用改良装置であり、前記n個のデー
タはn個のバイトであり、前記辞書ウィンドウ中のm組
のn個のデータは、1バイトずつシフトされたm組のn
個のデータであることを特徴とする。
【0032】上記発明方法及び装置以下のように作用す
る。請求項1記載のデータ圧縮方法、及び請求項6記載
データ圧縮装置においては、前記辞書ウィンドウ中の複
数組のn個のデータと前記圧縮すべきデータ中のn個の
データとが実質的に同時に比較され、最長の一致を検出
したデータが前記圧縮データとして生成される。
【0033】従って、入力データのパターンに依存せず
に、データ圧縮方法の一致データ検索時間を大幅に短縮
化できる。請求項2記載のデータ圧縮方法、及び請求項
7記載データ圧縮装置においては、n個のデータの一致
が検出された場合、前記nの値をn1に増加させて、前
記辞書ウィンドウ中の一致が検出されたデータの位置か
らm組のn1個のデータと前記圧縮すべきデータ中のn
1個のデータとが実質的に同時に比較される。
【0034】従って、データ圧縮方法の一致データ検索
時間をさらに短縮化することができる。請求項3又は4
記載のデータ圧縮方法、及び請求項8又は9記載のデー
タ圧縮装置においては、n個のデータの一致が検出され
た場合、前記nの値をn1に増加させかつ前記mの値を
m1に減少させて、前記辞書ウィンドウ中の一致が検出
されたデータの位置からm1組のn1個のデータと前記
圧縮すべきデータ中のn1個のデータとが実質的に同時
に比較される。
【0035】従って、同じハードウェア(比較回路)を
用いて、異なる一致幅の比較を行うことができる。よっ
て、ハードウェアを大型化せずに、高速にデータ圧縮動
作を行うことができる。請求項5記載のデータ圧縮方
法、及び請求項10記載データ圧縮装置においては、本
発明に係わるデータ圧縮方法は、Lampel/Ziv
が提案したLZ77方式に適用できる。従って、LZ7
7方式のデータ圧縮動作を大幅に高速化でき、かつその
データ圧縮装置を容易にハードウェア化できる。
【0036】
【発明の実施の形態】本発明に係わるデータ圧縮方法及
び装置は、LZ77データ圧縮方法において辞書となる
ウィンドウと圧縮対象データとの比較を高速に行う方法
及び装置に関する。
【0037】図1は、本発明に係わるデータ圧縮装置を
含むシステムの構成例を示す図である。図2は、本発明
に係わるデータ圧縮装置の大要のブロック構成図であ
る。図1では、圧縮装置1−1は、MPU(マイクロコ
ンピュータ)1−2によって制御される。図2では、圧
縮装置1−1は、圧縮機構1−1a、制御回路1−1
b、アドレスレジスタ読出し回路1−1c、アドレスレ
ジスタ書き込み回路1−1d、及びバイトカウンタで1
−1e構成されている。本発明に係わるデータ圧縮方法
は、主に圧縮機構において実施される。
【0038】本発明に係わるデータ圧縮方法では、辞書
となるウィンドウと圧縮対象データ(入力データ)とが
逐次並列に比較され、さらに、辞書の生成及び更新が不
要化される。従って、データ圧縮動作における比較動作
を高速に行うことができる。以下に、本発明に係わるデ
ータ圧縮方法の第1実施例について説明する。図3は、
本発明に係わるデータ圧縮方法の第1実施例を説明する
ための図である。図3では、特に、本発明に係わるデー
タ圧縮方法におけるウィンドウと圧縮対象データとの比
較方法(一致データ検索方法)が示されている。
【0039】図3は、図2に示す圧縮機構を示してお
り、該圧縮機構は、先行データを格納するウィンドウ2
−1、先行データに続く圧縮対象データを格納するレジ
スタ2−2、ウィンドウ2−1の先行データとレジスタ
2−2の圧縮データとを並列比較する比較ユニット2−
3、及び比較結果等を格納するレジスタ2−4を含んで
いる。
【0040】この第1実施例では、ウィンドウ2−1
は、スライディング辞書として動作し、512バイトの
シフトレジスタにより構成されている。また、レジスタ
2−2は、17バイトのシフトレジスタで構成されてお
り、最大17バイトの一致長を得ることができる。
【0041】比較ユニット2−3は、さらに複数の比較
回路2−3(1)〜2−3(32)を含んでいる。比較
回路2−3(1)〜2−3(32)の各々は、2バイト
のデータを比較する回路である。例えば、比較回路2−
3(1)は、ウィンドウ2−1の第1及び第2番目のデ
ータと、レジスタ2−2に格納されている圧縮対象デー
タの第1及び第2番目のデータとを比較する。比較回路
2−3(2)は、ウィンドウ2−1の第2及び第3番目
のデータと、レジスタ2−2に格納されている圧縮対象
データの第1及び第2番目のデータとを比較する。
【0042】同様に、比較回路2−3(3)は、ウィン
ドウ2−1の第3及び第4番目のデータと、レジスタ2
−2に格納されている圧縮対象データの第1及び第2番
目のデータとを比較する。比較回路2−3(32)は、
ウィンドウ2−1の第32及び第33番目のデータと、
レジスタ2−2に格納されている圧縮対象データの第1
及び第2番目のデータとを比較する。
【0043】このように、ウィンドウ2−1の第1及び
第2番目のデータから第32及び第33番目のデータの
32組のデータが、圧縮対象データの第1及び第2番目
のデータと同時に比較される。第1番目から第33番目
までのデータを区間1として設定される。
【0044】32組の比較が行なわれた後、比較回路2
−3(1)〜2−3(32)によって、ウィンドウ2−
1の第33及び第34番目のデータ〜第64及び第65
番目のデータと、レジスタ2−2に格納されている圧縮
対象データの第1及び第2番目のデータとが同時に比較
される。第33番目から第65番目までのデータは区間
2として設定される。このようにして、2バイト同志の
比較の場合、512バイトのウィンドウ2−1におい
て、区間1〜区間16が設定される。そして、各区間に
おいて32組の比較動作が同時に行われる。
【0045】各区間における32組の比較結果は、レジ
スタ2−4に格納される。レジスタ2−4は、レジスタ
2−4(a)〜(c)を含んでおり、レジスタ2−4
(a)には、検索が行なわれた区間の番号が格納され、
レジスタ2−4(b)には、最大一致(この実施例では
2バイト)が得られたデータの開始位置が格納され、レ
ジスタ2−(c)には、そのときの一致数が格納され
る。
【0046】32組の比較の結果、2バイトの一致が1
つも得られない場合には、次の区間での検索に移る。も
し、2バイトの一致が得られた場合には、その次のデー
タがさらに一致しているか否かが判定される(この方法
については、第2実施例において詳述する)。
【0047】上述のように、第1実施例では、ウィンド
ウが複数の区間に分割され、各区間毎に複数の開始位置
において複数の比較が同時に行なわれ、その部分的な最
大一致が求められる。従って、高速にウィンドウと圧縮
対象データとの比較が行なわれ、よって、高速のデータ
圧縮動作を実現できる。
【0048】また、比較ユニット2−3における比較回
路の比較バイト数及び比較回路の数は、検索速度とハー
ドウェア規模のトレードオフから決定できる。しかし、
「従来の技術」の項目で議論したように、1バイトだけ
の比較では圧縮効果がないため、比較バイト数は2バイ
ト以上に設定する必要がある。例えば、各比較回路の比
較バイト数を4バイトに設定し、32組の比較回路を設
けることも可能である。この場合、回路規模は、図3に
示す構成の実質的に2倍になる。
【0049】次に、本発明に係わるデータ圧縮方法の第
2実施例について説明する。図4は、本発明に係わるデ
ータ圧縮方法の第2実施例を説明するための図である。
図4には、図3に示した本発明に係わるデータ圧縮方法
の第1実施例におけるウィンドウと圧縮対象データとの
比較方法(一致データ検索方法)の改良した方法が示さ
れている。
【0050】図4に示したデータ圧縮方法では、上述し
た区間1から圧縮対象データの先頭の2バイトの探索
(2バイト一致の探索)が行われ、もし、ある区間にお
いて2バイトの一致が検出された場合、圧縮対象データ
の先頭から4バイトまでのデータの探索(4バイトまで
の一致の比較)が、2バイト一致が検出されたデータの
アドレスの位置から行われる。もし、4バイトの一致が
検出された場合、次に圧縮対象データの先頭から8バイ
トまでのデータの探索(8バイトまでの一致の比較)
が、4バイト一致が検出されたデータのアドレスの位置
から行われる。
【0051】さらに、もし、8バイトの一致が検出され
た場合、次に圧縮対象データの先頭から17バイト(全
バイト)までのデータの探索(17バイトまでの一致の
比較)が、8バイト一致が検出されたデータのアドレス
の位置から行われる。以下に、図4に示した圧縮機構の
構成、及び詳細な一致データ検索方法について説明す
る。
【0052】図4に示した圧縮機構は、図3に示した圧
縮機構と同様に、先行データを格納するウィンドウ2−
1、先行データに続く圧縮対象データを格納するレジス
タ2−2、ウィンドウ2−1の先行データとレジスタ2
−2の圧縮データとを並列比較する比較ユニット2−
3’、及び比較結果等を格納するレジスタ2−4を含ん
でいる。
【0053】図4に示した圧縮機構は、さらに、レジス
タ2−5、切り替えゲート2−6,2−7、及び制御回
路2−8を含んでいる。また、比較ユニット2−3’
は、2バイトのデータ同志を比較する比較回路2−3
(1)〜2−3(32)と、1バイトのデータ同志を比
較する比較回路2−3(33)〜2−3(36)と、最
大一致選択回路2−9とを含んでいる。
【0054】この第2実施例においても、第1実施例と
同様に、ウィンドウ2−1は、スライディング辞書とし
て動作し、512バイトのシフトレジスタにより構成さ
れている。ウィンドウ2−1の第1番目のデータのアド
レスは、W000、第512番目のデータのアドレス
は、W511で表されている。また、レジスタ2−2
は、17バイトのシフトレジスタで構成されており、最
大17バイトの一致長を得ることができる。
【0055】レジスタ2−5は、ウィンドウ2−1の一
部のバイトデータを一時的に記憶する。図4に示す例で
は、レジスタ2−5は、最大33バイトG00〜G32
のバイトデータを記憶できる。また、レジスタ2−5に
供給されるウィンドウ2−1のバイトデータの一部は、
4バイト×n(n=0,1,2,...)を境界(以
後、4バイト境界と称する)として構成される。例え
ば、W000からmバイト(m≦33)、W004から
mバイト、...W496からmバイトが、レジスタ2
−5に供給される。レジスタ2−5に供給されるバイト
数mは、比較されるバイト数によって決定される(動作
説明で詳細に記述する)。
【0056】切り替えゲート2−6、2−7は、レジス
タ2−5に供給されたバイトデータと圧縮対象データと
の比較方法を、制御回路28からの指示によって決定す
る。比較方法としては、(a)2バイト一致の探索、
(b)4バイトまでの一致の比較、(c)8バイトまで
の一致の比較、(d)17バイトまでの一致の比較のい
づれかが選択される。
【0057】(a)2バイト一致の探索、(b)4バイ
トまでの一致の比較、(c)8バイトまでの一致の比較
については、比較ユニット2−3’内の比較回路2−3
(1)〜2−3(32)が使用され、(d)17バイト
までの一致の比較のためには、比較回路2−3(1)〜
2−3(32)に加えて、比較回路2−3(33)〜2
−3(36)が使用される。
【0058】以下に、本発明に係わるデータ圧縮方法の
第2実施例の動作について説明する。 (a)〔2バイト一致の探索〕 (1)ウィンドウ2−1の33バイトのデータW000
〜W032が、レジスタ2−5にバイトデータG00〜
G32としてロードされる(図4には、2バイト一致検
索の場合の例が示されている)。切り替えゲート2−
6,2−7によって、レジスタ2−5のバイトデータG
00〜G32と、比較回路2−3(1)〜2−3(3
2)が、第1実施例で示した接続状態と同様に接続され
る。
【0059】即ち、32組の2バイトデータG00−G
01,G01−G02,G02−G03,G03−G0
4,....G30−G31,G31−G32が、圧縮
対象データの第1及び第2番目のバイトデータと、それ
ぞれ比較回路2−3(1),2−3(2),2−3
(3),2−3(4)...2−3(31),2−3
(32)においてそれぞれ比較される。
【0060】(2)ここで、データW000〜W032
において2バイトの一致が検出されない場合、次の33
バイトのデータW032〜W064が、レジスタ2−5
にバイトデータG00〜G32としてロードされ、再度
2バイト一致の探索が行われる。 (b)〔4バイトまでの一致の比較〕 (3)2バイト一致の探索の動作中に2バイトの一致が
検出された場合、始めに一致した2バイトが含まれる4
バイト境界から、19バイトのデータがレジスタ2−5
にバイトデータG00〜G18としてロードされる。こ
のとき、切り替えゲート2−6,2−7によって、レジ
スタ2−5のバイトデータG00〜G18と比較回路2
−3(1)〜2−3(32)が、圧縮対象データの先頭
から4バイトまでのデータと比較できるように接続され
る。
【0061】例えば、16組の4バイトデータG00−
G03,G01−G04,G02−G05,....G
15−G18が、圧縮対象データの第1から第4番目の
バイトデータと、それぞれ比較回路2−3(1)及び2
−3(2),2−3(3)及び2−3(4),2−3
(4)及び2−3(5)...2−3(31)及び2−
3(32)においてそれぞれ比較される。
【0062】(4)ここで、レジスタ2−5のバイトデ
ータG00〜G18において、3バイト以下の一致が検
出された場合、次のブロック(現在の先頭アドレスに1
6を加算したブロック)において、4バイト一致の探索
が行われる。 (c)〔8バイトまでの一致の比較〕 (5)4バイトの一致が検出された場合、始めに一致し
た4バイトが含まれる4バイト境界から、15バイトの
データがレジスタ2−5にバイトデータG00〜G15
としてロードされる。このとき、切り替えゲート2−
6,2−7によって、レジスタ2−5のバイトデータG
00〜G15と比較回路2−3(1)〜2−3(32)
が、圧縮対象データの先頭から8バイトまでのデータと
比較できるように接続される。
【0063】例えば、8組の8バイトデータG00−G
07,G01−G08,G02−G09,....G0
7−G15が、圧縮対象データの第1から第8番目のバ
イトデータと、それぞれ比較回路2−3(1)〜2−3
(4),2−3(5)〜2−3(8),2−3(9)〜
2−3(12)...2−3(29)〜2−3(32)
においてそれぞれ比較される。
【0064】(6)ここで、レジスタ2−5のバイトデ
ータG00〜G15において、7バイト以下の一致が検
出された場合、次のブロック(現在の先頭アドレスに8
を加算したブロック)において、8バイト一致の探索が
行われる。 (d)〔17バイトまでの一致の比較〕 (7)8バイトの一致が検出された場合、始めに一致し
た8バイトが含まれる4バイト境界から、20バイトの
データがレジスタ2−5にバイトデータG00〜G19
としてロードされる。このとき、切り替えゲート2−
6,2−7によって、レジスタ2−5のバイトデータG
00〜G19、比較回路2−3(1)〜2−3(32)
及び比較回路2−3(33)〜2−3(36)が、圧縮
対象データの先頭から17バイトまでのデータと比較で
きるように接続される。
【0065】例えば、4組の17バイトデータG00−
G16,G01−G17,G02−G18,G03−G
19が、圧縮対象データの第1から第17番目のバイト
データと、それぞれ比較回路2−3(1)〜2−3
(8)及び2−3(33),2−3(9)〜2−3(1
6)及び2−3(34),2−3(17)〜2−3(2
4)及び2−3(35),2−3(25)〜2−3(3
2)及び2−3(36)においてそれぞれ比較される。
【0066】(8)ここで、レジスタ2−5のバイトデ
ータG00〜G19において、16バイト以下の一致が
検出された場合、次のブロック(現在の先頭アドレスに
4を加算したブロック)において、17バイト一致の探
索が行われる。 (9)17バイトの一致が検出された場合、これ以上の
一致はあり得ないので、その位置で比較を終了する。
【0067】以上の検索及び比較の結果は、最大一致選
択回路2−9を介して、図3で示した実施例1と同様に
レジスタ2−4に格納される。レジスタ2−4は、レジ
スタ2−4(a)〜(c)を含んでおり、レジスタ2−
4(a)には、検索が行なわれた区間の番号が格納さ
れ、レジスタ2−4(b)には、最大一致が得られたデ
ータの開始位置が格納され、レジスタ2−(c)には、
そのときの一致数が格納される。レジスタ2−4への格
納は、上述の各検索及び比較動作毎に行うことができ
る。
【0068】レジスタ2−4の各データが、図5の
(C)に示す圧縮データに供給され、圧縮対象データが
圧縮される。上述のデータ圧縮方法では、一致幅が大き
くなるにつれて一度に検索される区間の幅は減少する。
しかし、このときには既に一定数の一致が得られている
ので、一致した量のデータが処理された後に次の検索が
必要になる。即ち、2バイトの一致が検出された場合、
その一致が検出されない場合と比較して2倍の処理時間
をかけて検索することが可能となる。また、4バイトの
一致が検出された場合、4倍の処理時間の検索まで許容
される。
【0069】また、図4の比較ユニット2−3’で示し
たように、データ圧縮装置は、バイトデータの一致検出
を行う回路を種々の一致長に対して共通に使用できる。
従って、比較的に小さいハードウェアによって高速の一
致検索を行うことが可能となる。
【0070】本発明で示したデータ圧縮方法において、
一致長は必ずしも2倍のステップで増加させるように限
定する必要はない。回路の複雑性と検索の速度に応じ
て、一致長は1バイトまたは複数バイトで増加すること
も可能である。また、ウィンドウ用レジスタ2−1は、
所定の速度が実現可能なメモリを用いて構成することも
できる。
【0071】以上、本発明の実施例により説明したが、
本発明はこれらの実施例に限定されるものではなく、本
発明の範囲内で改良及び変形が可能であることは言うま
でもない。
【0072】
【発明の効果】上述したように、本発明によれば以下に
示す効果を有する。請求項1記載のデータ圧縮方法、及
び請求項6記載データ圧縮装置においては、前記辞書ウ
ィンドウ中の複数組のn個のデータと前記圧縮すべきデ
ータ中のn個のデータとが実質的に同時に比較され、最
長の一致を検出したデータが前記圧縮データとして生成
される。
【0073】従って、入力データのパターンに依存せず
に、データ圧縮方法の一致データ検索時間を大幅に短縮
化できる。請求項2記載のデータ圧縮方法、及び請求項
7記載データ圧縮装置においては、n個のデータの一致
が検出された場合、前記nの値をn1に増加させて、前
記辞書ウィンドウ中の一致が検出されたデータの位置か
らm組のn1個のデータと前記圧縮すべきデータ中のn
1個のデータとが実質的に同時に比較される。
【0074】従って、データ圧縮方法の一致データ検索
時間をさらに短縮化することができる。請求項3又は4
記載のデータ圧縮方法、及び請求項8又は9記載のデー
タ圧縮装置においては、n個のデータの一致が検出され
た場合、前記nの値をn1に増加させかつ前記mの値を
m1に減少させて、前記辞書ウィンドウ中の一致が検出
されたデータの位置からm1組のn1個のデータと前記
圧縮すべきデータ中のn1個のデータとが実質的に同時
に比較される。
【0075】従って、同じハードウェア(比較回路)を
用いて、異なる一致幅の比較を行うことができる。よっ
て、ハードウェアを大型化せずに、高速にデータ圧縮動
作を行うことができる。請求項5記載のデータ圧縮方
法、及び請求項10記載データ圧縮装置においては、本
発明に係わるデータ圧縮方法は、Lampel/Ziv
が提案したLZ77方式に適用できる。従って、LZ7
7方式のデータ圧縮動作を大幅に高速化でき、かつその
データ圧縮装置を容易にハードウェア化できる。
【図面の簡単な説明】
【図1】本発明に係わるデータ圧縮装置を含むシステム
の構成例を示す図。
【図2】本発明に係わるデータ圧縮装置の大要のブロッ
ク構成図。
【図3】本発明に係わるデータ圧縮方法の第1実施例を
説明するための図。
【図4】本発明に係わるデータ圧縮方法の第2実施例を
説明するための図。
【図5】一般的なLZ77データ圧縮方式の動作例を示
す図である。(A)は、圧縮の対象となるデータ(入力
データ)とそれと比較される先行データの一定範囲(ス
ライディングウィンドウ)、(B)は、非圧縮データ、
(C)は、圧縮データを示す。
【図6】2進木検索法の動作例を説明するための図。
【符号の説明】
1−1 圧縮装置 1−2 MPU(マイクロコンピュータ) 1−3 メモリ 1−1a 圧縮機構 1−1b 制御回路 1−1c アドレスレジスタ読出し回路 1−1d アドレスレジスタ書き込み回路 1−1e バイトカウンタ 2−1 ウィンドウ(スライディング辞書) 2−2 圧縮対象データ用レジスタ 2−3,2−3’ 比較ユニット 2−3(1)〜2−3(32)2バイト比較回路 2−3(33)〜2−3(36)1バイト比較回路 2−4 レジスタ 2−4(a)〜2−4(c) レジスタ 2−5 レジスタ 2−6,2−7 切り替えゲート 2−8 制御回路 2−9 最大一致選択回路

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 圧縮すべきデータの以前の履歴を格納し
    た辞書ウィンドウと前記圧縮すべきデータとを比較し、
    データの一致が検出された場合に一致データの一致長と
    前記辞書ウィンドウにおける相対位置とをコード化して
    圧縮データを生成するデータ圧縮方法において、 (a)前記辞書ウィンドウ中のm組(m=2,
    3,...)のn個のデータ(n=2,3,...)と
    前記圧縮すべきデータ中のn個のデータとを実質的に同
    時に比較し、 (b)前記段階(a)の比較結果において、最長の一致
    を検出したデータをコード化して前記圧縮データを生成
    する各段階を有することを特徴とするデータ圧縮方法。
  2. 【請求項2】 前記段階(a)は、n個のデータの一致
    が検出された場合、前記nの値をn1(n1=3,
    4,..)に増加させて、前記辞書ウィンドウ中の一致
    が検出されたデータの位置からm組のn1個のデータと
    前記圧縮すべきデータ中のn1個のデータとを実質的に
    同時に比較する段階を含むことを特徴とする請求項1記
    載のデータ圧縮方法。
  3. 【請求項3】 前記段階(a)は、n個のデータの一致
    が検出された場合、前記mの値をm1(m1=1,
    2,...)に減少させて、前記辞書ウィンドウ中の一
    致が検出されたデータの位置からm1組のn1個のデー
    タと前記圧縮すべきデータ中のn1個のデータとを実質
    的に同時に比較する段階をさらに含むことを特徴とする
    請求項2記載のデータ圧縮方法。
  4. 【請求項4】 前記段階(a)は、n個のデータの一致
    が検出された場合、前記nの値をi×nに増加させかつ
    前記mの値をm/iに減少させて(i=2,
    3,...)、前記辞書ウィンドウ中の一致が検出され
    たデータの位置からm/i組のi×n個のデータと前記
    圧縮すべきデータ中のi×n個のデータとを実質的に同
    時に比較する段階をさらに含むことを特徴とする請求項
    3記載のデータ圧縮方法。
  5. 【請求項5】 前記データ圧縮方法は、Lampel/
    Zivが提案したLZ77方式の改良方式であり、前記
    n個のデータはn個のバイトであり、前記辞書ウィンド
    ウ中のm組のn個のデータは、1バイトずつシフトされ
    たm組のn個のデータであることを特徴とする請求項1
    乃至4のうちいずれか1項記載のデータ圧縮方法。
  6. 【請求項6】 圧縮すべきデータの以前の履歴を格納し
    た辞書ウィンドウと前記圧縮すべきデータとを比較する
    比較部と、データの一致が検出された場合に一致データ
    の一致長と前記辞書ウィンドウにおける相対位置とをコ
    ード化して圧縮データを生成する処理部とを有するデー
    タ圧縮装置において、 前記比較部は、前記辞書ウィンドウ中のm組(m=2,
    3,...)のn個のデータ(n=2,3,...)と
    前記圧縮すべきデータ中のn個のデータとを実質的に同
    時に比較するm個の比較回路を有し、 前記処理部は、前記比較部の比較結果において、最長の
    一致を検出したデータをコード化して前記圧縮データを
    生成する手段を有することを特徴とするデータ圧縮装
    置。
  7. 【請求項7】 前記比較部は、n個のデータの一致が検
    出された場合、前記nの値をn1(n1=3,
    4,..)に増加させて、前記辞書ウィンドウ中の一致
    が検出されたデータの位置からm組のn1個のデータと
    前記圧縮すべきデータ中のn1個のデータとを実質的に
    同時に比較する手段を含むことを特徴とする請求項6記
    載のデータ圧縮装置。
  8. 【請求項8】 前記比較部は、n個のデータの一致が検
    出された場合、前記mの値をm1(m1=1,
    2,...)に減少させて、前記辞書ウィンドウ中の一
    致が検出されたデータの位置からm1組のn1個のデー
    タと前記圧縮すべきデータ中のn1個のデータとを実質
    的に同時に比較する手段をさらに含むことを特徴とする
    請求項7記載のデータ圧縮装置。
  9. 【請求項9】 前記比較部は、n個のデータの一致が検
    出された場合、前記nの値をi×nに増加させかつ前記
    mの値をm/iに減少させて(i=2,3,...)、
    前記辞書ウィンドウ中の一致が検出されたデータの位置
    からm/i組のi×n個のデータと前記圧縮すべきデー
    タ中のi×n個のデータとを実質的に同時に比較する手
    段をさらに含むことを特徴とする請求項8記載のデータ
    圧縮装置。
  10. 【請求項10】 前記データ圧縮装置は、Lampel
    /Zivが提案したLZ77方式用改良装置であり、前
    記n個のデータはn個のバイトであり、前記辞書ウィン
    ドウ中のm組のn個のデータは、1バイトずつシフトさ
    れたm組のn個のデータであることを特徴とする請求項
    6乃至9のうちいずれか1項記載のデータ圧縮装置。
JP34409996A 1996-12-04 1996-12-24 データ圧縮方法及び装置 Expired - Lifetime JP3540109B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP34409996A JP3540109B2 (ja) 1996-12-24 1996-12-24 データ圧縮方法及び装置
US08/896,658 US5936560A (en) 1996-12-04 1997-07-18 Data compression method and apparatus performing high-speed comparison between data stored in a dictionary window and data to be compressed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34409996A JP3540109B2 (ja) 1996-12-24 1996-12-24 データ圧縮方法及び装置

Publications (2)

Publication Number Publication Date
JPH10187410A true JPH10187410A (ja) 1998-07-21
JP3540109B2 JP3540109B2 (ja) 2004-07-07

Family

ID=18366643

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34409996A Expired - Lifetime JP3540109B2 (ja) 1996-12-04 1996-12-24 データ圧縮方法及び装置

Country Status (2)

Country Link
US (1) US5936560A (ja)
JP (1) JP3540109B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168389A (ja) * 1997-12-05 1999-06-22 Toshiba Corp データ圧縮装置
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP2010068511A (ja) * 2008-07-21 2010-03-25 Sony Computer Entertainment Europe Ltd データ圧縮及びデータ伸張
JP2012134929A (ja) * 2010-12-24 2012-07-12 Ricoh Co Ltd 画像処理装置および画像処理方法
WO2015019484A1 (ja) * 2013-08-09 2015-02-12 株式会社日立製作所 データ圧縮装置およびデータ伸張装置
JP2015159352A (ja) * 2014-02-21 2015-09-03 富士通株式会社 データ圧縮装置、データ圧縮方法、及びプログラム

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7190284B1 (en) 1994-11-16 2007-03-13 Dye Thomas A Selective lossless, lossy, or no compression of data based on address range, data type, and/or requesting agent
US6879266B1 (en) 1997-08-08 2005-04-12 Quickshift, Inc. Memory module including scalable embedded parallel data compression and decompression engines
US6118789A (en) 1998-02-19 2000-09-12 Micron Technology, Inc. Method of addressing messages and communications system
US6072801A (en) 1998-02-19 2000-06-06 Micron Technology, Inc. Method of addressing messages, method of establishing wireless communications, and communications system
USRE43382E1 (en) 1998-02-19 2012-05-15 Round Rock Research, Llc Method of addressing messages and communications systems
US6061344A (en) 1998-02-19 2000-05-09 Micron Technology, Inc. Method of addressing messages and communications system
US6275476B1 (en) 1998-02-19 2001-08-14 Micron Technology, Inc. Method of addressing messages and communications system
US6301394B1 (en) * 1998-09-25 2001-10-09 Anzus, Inc. Method and apparatus for compressing data
US20010054131A1 (en) * 1999-01-29 2001-12-20 Alvarez Manuel J. System and method for perfoming scalable embedded parallel data compression
US6208273B1 (en) 1999-01-29 2001-03-27 Interactive Silicon, Inc. System and method for performing scalable embedded parallel data compression
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
US6145069A (en) * 1999-01-29 2000-11-07 Interactive Silicon, Inc. Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices
US6885319B2 (en) * 1999-01-29 2005-04-26 Quickshift, Inc. System and method for generating optimally compressed data from a plurality of data compression/decompression engines implementing different data compression algorithms
US6822589B1 (en) 1999-01-29 2004-11-23 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US7129860B2 (en) * 1999-01-29 2006-10-31 Quickshift, Inc. System and method for performing scalable embedded parallel data decompression
US7538694B2 (en) * 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6348881B1 (en) 2000-08-29 2002-02-19 Philips Electronics No. America Corp. Efficient hardware implementation of a compression algorithm
US6739706B2 (en) 2002-04-19 2004-05-25 Hewlett-Packard Development Company, L.P. Off axis inkjet printing system and method
GB0210604D0 (en) * 2002-05-09 2002-06-19 Ibm Method and arrangement for data compression
US7103608B1 (en) 2002-05-10 2006-09-05 Oracle International Corporation Method and mechanism for storing and accessing data
US7058783B2 (en) * 2002-09-18 2006-06-06 Oracle International Corporation Method and mechanism for on-line data compression and in-place updates
WO2004062110A1 (ja) * 2002-12-26 2004-07-22 Fujitsu Limited データ圧縮方法、プログラム及び装置
US7587401B2 (en) * 2005-03-10 2009-09-08 Intel Corporation Methods and apparatus to compress datasets using proxies
US7283072B1 (en) * 2006-03-30 2007-10-16 International Business Machines Corporation Methods of creating a dictionary for data compression
US7973644B2 (en) * 2007-01-30 2011-07-05 Round Rock Research, Llc Systems and methods for RFID tag arbitration where RFID tags generate multiple random numbers for different arbitration sessions
US8134452B2 (en) * 2007-05-30 2012-03-13 Round Rock Research, Llc Methods and systems of receiving data payload of RFID tags
US8106799B1 (en) * 2009-03-23 2012-01-31 Marvell International Ltd. Data compression and decompression using parallel processing
EP2530843A3 (en) * 2011-06-03 2013-01-02 Alcatel Lucent Dictionary based data compression
US8872677B2 (en) 2013-03-15 2014-10-28 Dialogic Networks (Israel) Ltd. Method and apparatus for compressing data-carrying signals
US8902087B1 (en) 2013-08-27 2014-12-02 International Business Machines Corporation Data decompression utilizing pre-expanded dictionaries during decompression
US11309908B2 (en) * 2018-11-26 2022-04-19 Fungible, Inc. Static dictionary-based compression hardware pipeline for data compression accelerator of a data processing unit

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464650A (en) * 1981-08-10 1984-08-07 Sperry Corporation Apparatus and method for compressing data signals and restoring the compressed data signals
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
GB2172127B (en) * 1985-03-06 1988-10-12 Ferranti Plc Data compression system
US4870415A (en) * 1987-10-19 1989-09-26 Hewlett-Packard Company Data compression system with expansion protection
US4847619A (en) * 1987-10-19 1989-07-11 Hewlett-Packard Company Performance-based reset of data compression dictionary
US5126739A (en) * 1989-01-13 1992-06-30 Stac Electronics Data compression apparatus and method
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
JPH05341953A (ja) * 1992-06-12 1993-12-24 Fujitsu Ltd データ圧縮方法及び装置
US5771011A (en) * 1996-07-15 1998-06-23 International Business Machines Corporation Match detect logic for multi-byte per cycle hardware data compression

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168389A (ja) * 1997-12-05 1999-06-22 Toshiba Corp データ圧縮装置
JP2007537626A (ja) * 2004-04-19 2007-12-20 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP4755175B2 (ja) * 2004-04-19 2011-08-24 ザ・リージェンツ・オブ・ザ・ユニバーシティ・オブ・カリフォルニア 深いパケットフィルタリングのためのプログラム可能なハードウエア
JP2010068511A (ja) * 2008-07-21 2010-03-25 Sony Computer Entertainment Europe Ltd データ圧縮及びデータ伸張
JP2012134929A (ja) * 2010-12-24 2012-07-12 Ricoh Co Ltd 画像処理装置および画像処理方法
WO2015019484A1 (ja) * 2013-08-09 2015-02-12 株式会社日立製作所 データ圧縮装置およびデータ伸張装置
JP6009676B2 (ja) * 2013-08-09 2016-10-19 株式会社日立製作所 データ圧縮装置およびデータ伸張装置
US9479194B2 (en) 2013-08-09 2016-10-25 Hitachi, Ltd. Data compression apparatus and data decompression apparatus
JP2015159352A (ja) * 2014-02-21 2015-09-03 富士通株式会社 データ圧縮装置、データ圧縮方法、及びプログラム

Also Published As

Publication number Publication date
US5936560A (en) 1999-08-10
JP3540109B2 (ja) 2004-07-07

Similar Documents

Publication Publication Date Title
JP3540109B2 (ja) データ圧縮方法及び装置
US5602764A (en) Comparing prioritizing memory for string searching in a data compression system
US5883588A (en) Data compression system and data compression device for improving data compression rate and coding speed
EP0293161B1 (en) Character processing system with spelling check function
US5525982A (en) Method and means for character string pattern matching for compression and the like using minimal cycles per character
JP2534465B2 (ja) デ―タ圧縮装置および方法
EP0380294B1 (en) String matching
EP0634839A1 (en) Data search device
JP3225638B2 (ja) データを圧縮するための装置及び方法並びにデータ処理システム
EP0250705B1 (en) Method and apparatus for retrieval of symbol strings from data
EP0688104A2 (en) Data compression method and apparatus
JPH0888568A (ja) データの可逆符号化方法
US8677079B2 (en) Selecting a position where data is stored
US7379940B1 (en) Focal point compression method and apparatus
CN116192154B (zh) 数据压缩及数据解压方法、装置、电子设备、芯片
US5991340A (en) Method and system for encoding and decoding data using run prediction
US20080215606A1 (en) Focal point compression method and apparatus
JPH0568718B2 (ja)
JPH1139344A (ja) 2次元配列コードを用いた文字列検索方法
JP3270665B2 (ja) 符号化/復号化装置及び方法
JPH0650478B2 (ja) デ−タ圧縮記憶方式
JP3722231B2 (ja) コンパクトにエンコードされて記憶されたストリングの組を有する製品
JPH0774785A (ja) サイクリックバッファ制御装置
JPH07121665A (ja) 文字認識辞書の構成方法及び検索方法
JPH0546666A (ja) 情報検索装置

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040324

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080402

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090402

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100402

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110402

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

S202 Request for registration of non-exclusive licence

Free format text: JAPANESE INTERMEDIATE CODE: R315201

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120402

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130402

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140402

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term