JPH04267630A - データ圧縮装置及びデータ復元装置 - Google Patents

データ圧縮装置及びデータ復元装置

Info

Publication number
JPH04267630A
JPH04267630A JP3319792A JP31979291A JPH04267630A JP H04267630 A JPH04267630 A JP H04267630A JP 3319792 A JP3319792 A JP 3319792A JP 31979291 A JP31979291 A JP 31979291A JP H04267630 A JPH04267630 A JP H04267630A
Authority
JP
Japan
Prior art keywords
dictionary
characters
codeword
data
compression
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
JP3319792A
Other languages
English (en)
Other versions
JP3055990B2 (ja
Inventor
Jeffrey P Tobin
ジェフリ・ピー・トビン
Carl B Lantz
カール・ビー・ランツ
Jeff J Kato
ジェフ・ジェイ・カトウ
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH04267630A publication Critical patent/JPH04267630A/ja
Application granted granted Critical
Publication of JP3055990B2 publication Critical patent/JP3055990B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 【発明の技術分野】
【0001】本発明は、データの圧縮および復元に関し
ている。
【従来技術とその問題点】
【0002】データ圧縮は、情報の、さらに圧縮した表
現への可逆変換である。このさらに圧縮した表現により
、情報をさらに効率的に記憶した表現により、情報をさ
らに効率的に記憶し通信することができ、一般に時間と
費用が節約できる。
【0003】主要な圧縮方式では、個々の文字を符号化
するためには使用しない2進列または“符号語”を用い
て多重文字の列を符号化する。該文字の列は、“アルフ
ァベット”、または単一文字の列から構成される。この
アルファベットは、圧縮器が処理する情報の最小一意集
合を表す。したがって、文字を表すために8ビットを用
いるアルゴリズムでは、そのアルファベットは256個
の一意文字を有する。符号化される多重文字の列が、所
定ファイルまたはデータ・ストリームの中に現れると圧
縮が実行される。人間の言語を翻訳するときに用いる二
言語辞書から類推して、非圧縮符号と圧縮符号との間の
写像を具現化するデバイスは、一般に“辞書”と呼ばれ
る。
【0004】一般に、辞書ベースの圧縮方式の有用性は
、多重文字の列のために辞書エントリを用いる回数によ
り異なる。1つのファイル・タイプに最適化された固定
辞書は、別のファイル・タイプに最適であるとは考えら
れない。例えば、おそらく新聞のテキスト・ファイルに
見られる非常に多くの文字組合せを含む辞書では、デー
タベース・ファイル、スプレッドシート・ファイル、ビ
ットマップト・グラフィックス・ファイル、計算機支援
設計(CAD)用ファイルなどを効率的に圧縮するとは
考えられない。
【0005】所定ファイルを圧縮するために用いる辞書
が、該ファイルを圧縮している最中に展開されるという
適応圧縮方式が知られている。非圧縮入力ファイルの中
の考えられるすべての単一文字を表す符号語が、辞書に
入れられる。多重文字の列がファイルの中に現れるにつ
れて、別のエントリが辞書に追加される。追加辞書エン
トリは、後で現れる多重文字の列を符号化するために用
いられる。
【0006】復元中にも辞書は同様にして作成される。 したがって、文字列のための符号語が圧縮ファイルに現
れるときには、対応する文字列を再構成するために必要
な情報が、該辞書に含まれている。辞書を展開している
ときに、ファイルに最も頻繁に現れる多重文字の列に遭
遇すると圧縮が実施される。適応圧縮システムおよび方
法は、Miller他に与えられた米国特許第4,81
4,746号およびWelchに与えられた米国特許第
4,558,302号に開示されている。これらの関連
文書には、辞書の使用について詳細に説明されている。
【0007】圧縮されたデータのタイプに適さなくなっ
た、したがって固定辞書圧縮方式に関して上述した問題
を生じている辞書を持ちつづけないようにするために、
辞書を定期的に改訂する。この改訂は、ファイルの頭や
一定量のデータを圧縮した後、またはKatoに与えら
れた米国特許4,847,619号に記述されるような
性能ベース・アルゴリズムにしたがう自然なデータ境界
で行うことができる。これらの辞書改訂は(多くの)時
間を要する。多くの例では、改訂により引き起こされる
時間遅延のために、他の資源が待機状態にされる。
【0008】データ圧縮アルゴリズムの代表的なハード
ウェアによる実施例は、データ・ストリームに挿入され
るデータ圧縮(DC)集積回路(IC)である。該IC
上のデータ圧縮マシンは、1つのポートにあるデータ・
ストリームを処理して、生成した圧縮または復元したデ
ータ・ストリームを他のポートに送る。
【0009】DC・ICは、圧縮および復元で用いる辞
書エントリを記憶するために、外部メモリIC、すなわ
ち“辞書RAM”を使用することができる。アルファベ
ットを表す予め定められた符号語エントリが辞書RAM
に書き込まれる。圧縮器で1つの文字だけ(長さ1の文
字列)が一致する毎に、該文字の符号語が、辞書RAM
から読み出され、圧縮ストリームに出力される。復元器
は1つの文字の符号語を受信すると、辞書RAMを読み
、アルファベット文字を取り出さなければならない。
【0010】DC・ICの一対の直接メモリ・アクセス
(DMA)インタフェースは、ICの外界との通信の細
目を処理することができる。各DMAインタフェースに
は、これから送られるデータを記憶するためのRAMバ
ッファがある。コスト面から、1つのRAM  ICを
、辞書記憶および両DMAバッファに使用される。DM
Aインタフェースは並列に動作するので、両DMAイン
タフェースは1つのRAM・ICに同時にアクセスを試
みる恐れがある。調停回路で該衝突を処理することはで
きるが、このような調停方法で、ある回路に優先順位が
与えられているときに、他の回路が待ち状態になること
を防ぐことはできない。
【0011】従って本発明の目的は、データ圧縮、復元
をおこなう集積回路において、所定の単一文字の列とそ
れに対する符号語間の圧縮、復元は辞書RAMをアクセ
スせずに行うようにする論理回路を付加して上記の問題
点を解消することである。
【発明の概要】
【0012】本発明は、辞書エントリを記憶するために
RAMを用いる適応データ圧縮アルゴリズムを実行する
集積回路に実装する論理回路をもたらすものである。該
論理回路は、辞書にアクセスすることなく、単一文字の
列のための予め定められた符号語を生成する。逆に、該
論理回路は、辞書にアクセスすることなく、対応する符
号語のための単一文字の列も生成する。
【0013】該論理回路は、辞書に単一文字の列に対応
する符号語を記憶する必要性を排除するので、他の符号
語により用いうるロケーションの自由度が増し、ハッシ
ングにおける衝突を減少させる。さらに、該論理回路は
、辞書を初期化するときに単一文字の列に対応する符号
語の再格納を不要にするので、初期化速度が約2桁速く
なる。該論理回路は、予め定められた符号語または予め
定められた符号語に対応する単一文字の列のために辞書
にアクセスする必要をもなくするので、辞書アクセスを
最小にし、圧縮および復元速度を高める。
【望ましい実施例の詳細説明】
【0014】本発明は、データ圧縮アルゴリズムを実現
するハードウェア・システムをもたらす。図1を参照す
ると、該システム10には、データ圧縮(DC)マシン
12、ポートAインタフェース14、ポートBインタフ
ェース16、プロセッサ・インタフェース18、データ
経路マルチプレクサ(MUX)20およびランダム・ア
クセス・メモリ(RAM)22を含む。RAM以外はす
べて、1つの集積回路(IC)24に組み込まれている
【0015】ポートAおよびポートBインタフェース1
4、16は、各データ・ライン26、28および制御ラ
イン30、32を有する独立した双方向データ・リンク
である。各々には、各直接メモリ・アクセス(DMA)
インタフェース34、36および外部RAM22の関連
バッファ・エリア22a、22bがある。ポートAおよ
びBにはRAMインタフェース回路部38、40もある
【0016】圧縮モードでは、ポートAインタフェース
14は、データ・ライン26から文字を受信し、データ
経路MUX  20およびポートBインタフェース16
を介して、該文字をDCマシン12に送る。DCマシン
は、RAM22の辞書22cを用いて、該文字を符号語
に変換し、ポートBインタフェースに送る。ポートBイ
ンタフェースは、符号語を、データ・ライン28へ出力
として与える。
【0017】復元モードでは、ポートBインタフェース
16は、データ・ライン28から符号語を受信して、そ
れをDCマシン12に与える。DCマシンは、RAM2
2の辞書22cを用いて、該符号語を文字に変換し、ポ
ートBインタフェースおよびデータ経路MUX  20
を介してポートAインタフェース14に送る。ポートA
インタフェースは、該文字を、データ・ライン26へ出
力として与える。ポートAおよびBインタフェース14
、16では、RAM22のバッファ・エリア22a、2
2cを随意に用いて、通信中のタイミング干渉を最小に
することができる。プロセッサ・インタフェース18は
、データの流れ方向を設定するためのレジスタを制御す
るためにRAM22の内容とか、他の種々の機能への外
部アクセス可能にする。
【0018】DCマシン12は、よく知られたLemp
el−Zivデータ圧縮アルゴリズムの変種を実行する
。該アルゴリズムでは、予め定義された符号語を用いて
、単一文字の列を表すが、この予め定められた符号語は
、“符号化文字”または“ルート符号語”とも呼ばれて
おり、08Hに単一文字の2進値を加えたものに等しい
(これにより、復元中の動作を修正するために、2進値
00H〜07Hを制御コードに利用できる)。多重文字
の列を表す別の符号語は、入力データ・ストリームが処
理されるにつれて、辞書に書き込まれる。
【0019】図2にはDC・ICの一部、特にDCマシ
ン12およびポートBインタフェース16が、さらに詳
細に示してある。圧縮中に、DCマシンの圧縮器48は
、アドレス・ライン50、種々の制御ライン52、およ
びルート制御ライン54を用いて、辞書エントリ要求を
ポートBインタフェース16に求める。該圧縮器48は
、返送符号語が符号語ライン56にあり、1つの文字が
文字ライン58にあるものと予期している。
【0020】圧縮器48が多重文字列を表す符号語を必
要とする場合、該圧縮器には、要求される符号語がルー
ト符号語であるかそうでないかということが、その置か
れた状態により分かっているので、該圧縮器48は該文
字列のためのアドレスをハッシュし、それをアドレス・
ライン50に置き、ルート制御ライン54を非活性化さ
せる。符号語MUX60は、その“0”入力にある(ル
ート制御ラインにより制御される)データを、符号語ラ
イン56に置く。同様に、文字MUXは、その“0”入
力からの文字を、文字ライン58に置く。MUX60お
よび62は、符号語辞書22cからデータを取り込んで
いるデータ・ライン64から、その“0”入力を受信す
る。
【0021】該圧縮器48がルート符号語を必要とする
場合、MUX60、62および2進加算器回路66によ
って、文字のアドレスをハッシュする必要性を排除しつ
つ、ディクショナリRAM22にアクセスする。該圧縮
器は、アドレス・ライン50に文字を置き、ルート制御
ライン54を活性化する。符号語MUX60は、その“
1”入力にあるデータを符号語ライン56に置くので、
該符号語ライン56には文字に08Hを加算したものが
得られる。これは単一文字の列のための符号語である。 同様に、文字MUXは、該アドレス・ライン50からの
文字を、文字ライン58に置く。
【0022】次に図3を参照すると、DC・ICの別の
部分がさらに詳細に示してある。復元中に、DCマシン
の復元器70は、アドレス・ライン50および種々の制
御ライン52を用いて、辞書エントリ要求を、ポートB
インタフェース16に求める。該復元器は、返送符号語
が符号語ライン56にあり、1つの文字が文字ライン5
8にあることを予期している。
【0023】該復元器70は、辞書エントリを必要とす
る場合に、符号語をアドレス・ライン52に置く。ルー
ト・テスト回路72は、符号語が264よりも小さいか
どうか、すなわちルート符号語であるかどうかを確認す
る。該テストに対する答えが肯定的であれば、MUX 
 74および76はその各各の“1”入力を出力とする
。 ルート符号語を復合化するときには、符号語が圧縮器に
より必要とされないので、MUX  74への“1”入
力は意味がない。該文字ライン58は、減算回路78に
より08Hの減じられたアドレス・ライン50にあるコ
ードワードを運ぶ。この相違は、ルート符号語により表
された単一文字の列と等しい。
【0024】アドレス・ライン50の符号語が264よ
りも小さくない場合、該符号語はルート符号語ではなく
、復元器70は、完全な辞書エントリ、すなわち文字ラ
イン58の1つの文字および符号語ライン56の1つの
符号語を必要とする。完全な辞書エントリは、辞書RA
M22cからのデータ・ライン64にあり、MUX74
、76により必要に応じて送られる。
【0025】他の背景情報については、米国ヒューレッ
ト・パッカード・カンパニーから部品番号1XB4−0
301として入手できる。MYSTICデータ圧縮IC
の外部参照仕様書の改訂1.11版に記述してある。
【発明の効果】
【0026】以上詳述したように、単一文字の列に対す
る圧縮と復元は、辞書にアクセスしないので、高速化さ
れる。また、辞書の容量制限が緩和される。また、辞書
改訂時に、単一文字の列に対応する改訂はないので、改
訂作業に要する時間が節約される。
【図面の簡単な説明】
【図1】本発明の一実施例のデータ圧縮チップの簡易ブ
ロック図である。
【図2】データ圧縮時を説明するための図1のデータ圧
縮チップの部分詳細ブロック図である。
【図3】データ復元時を説明するための図1のデータ圧
縮チップの部分詳細ブロック図である。
【符号の説明】
10:ハードウェア・システム 12:データ圧縮マシン:DCマシン 14:ポートAインタフェース 16:ポートBインタフェース 18:プロセッサ・インタフェース 20:データ経路マルチプレクサ 22:ランダム・アクセス・メモリ(RAM)24:デ
ータ圧縮チップ:集積回路 26,28:データ・ライン 30,32:制御ライン 48:圧縮器(Compressor)50:アドレス
・ライン 52:制御ライン 54:ルート制御ライン 56:符号語ライン 58:文字ライン 60:符号語マルチプレクサ(MUX)62:文字マル
チプレクサ(MUS) 64:データ・ライン 66:2進加算回路 70:復元器(Decompressor)72:ルー
ト・テスト回路 74,76:マルチプレクサ(MUX)78:減算回路

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】後記(イ)及至(ハ)より成るデータ圧縮
    装置。 (イ)文字列を符号語に置換する所定の適応圧縮方法に
    従って文字ストリームを処理し、かつ単一文字の列に対
    応する符号語の所定の集合を有する圧縮手段。 (ロ)多重文字の列に対応する符号語を格納する辞書手
    段。 (ハ)前記圧縮手段と前記辞書手段とに接続され、前記
    圧縮手段からの制御信号と文字の受信に応じて、前記所
    定の集合内の符号語を発生するための論理手段。 【請求項1】後記(イ)及至(ハ)より成るデータ復元
    装置。 (イ)文字列を符号語に置換する所定の適応復元方法に
    従って符号語ストリームを処理し、かつ単一文字の列に
    対応する符号語の所定の集合を有する復元手段。 (ロ)多重文字の列に対応する符号語を格納する辞書手
    段。 (ハ)前記圧縮手段と前記辞書手段とに接続され、前記
    圧縮手段からの制御信号と符号語の受信に応じて、前記
    所定の集合内の符号語に対する単一文字の列を発生する
    ための論理手段。
JP3319792A 1990-11-07 1991-11-07 データ圧縮装置及びデータ復元装置 Expired - Fee Related JP3055990B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/610,372 US5142282A (en) 1990-11-07 1990-11-07 Data compression dictionary access minimization
US610372 1990-11-07

Publications (2)

Publication Number Publication Date
JPH04267630A true JPH04267630A (ja) 1992-09-24
JP3055990B2 JP3055990B2 (ja) 2000-06-26

Family

ID=24444764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3319792A Expired - Fee Related JP3055990B2 (ja) 1990-11-07 1991-11-07 データ圧縮装置及びデータ復元装置

Country Status (5)

Country Link
US (1) US5142282A (ja)
EP (1) EP0485081B1 (ja)
JP (1) JP3055990B2 (ja)
DE (1) DE69124340T2 (ja)
HK (1) HK1000129A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5245614A (en) * 1991-04-29 1993-09-14 Codex Corporation Vocabulary memory allocation for adaptive data compression of frame-multiplexed traffic
US5523946A (en) * 1992-02-11 1996-06-04 Xerox Corporation Compact encoding of multi-lingual translation dictionaries
US5406280A (en) * 1993-08-26 1995-04-11 Commerce Clearing House Data retrieval system using compression scheme especially for serial data stream
US5864716A (en) * 1994-01-07 1999-01-26 Cirrus Logic, Inc. Tagged data compression for parallel port interface
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
US5883588A (en) * 1994-10-04 1999-03-16 Nec Corporation Data compression system and data compression device for improving data compression rate and coding speed
US5771011A (en) * 1996-07-15 1998-06-23 International Business Machines Corporation Match detect logic for multi-byte per cycle hardware data compression
US8769311B2 (en) 2006-05-31 2014-07-01 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US8782436B2 (en) 2006-05-31 2014-07-15 International Business Machines Corporation Method and system for transformation of logical data objects for storage
US8456331B2 (en) 2011-04-15 2013-06-04 Cavium, Inc. System and method of compression and decompression
US8350732B2 (en) * 2011-05-11 2013-01-08 Cavium, Inc. Compression with adjustable quality/bandwidth capability

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59231683A (ja) * 1983-06-01 1984-12-26 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン データ圧縮方法
US4814746A (en) * 1983-06-01 1989-03-21 International Business Machines Corporation Data compression method
US4558302A (en) * 1983-06-20 1985-12-10 Sperry Corporation High speed data compression and decompression apparatus and method
GB8428533D0 (en) * 1984-11-12 1984-12-19 Secr Defence Data decoder
US4881075A (en) * 1987-10-15 1989-11-14 Digital Equipment Corporation Method and apparatus for adaptive data compression
US4847619A (en) * 1987-10-19 1989-07-11 Hewlett-Packard Company Performance-based reset of data compression dictionary
US4929946A (en) * 1989-02-09 1990-05-29 Storage Technology Corporation Adaptive data compression apparatus including run length encoding for a tape drive system
US5010345A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Data compression method

Also Published As

Publication number Publication date
DE69124340D1 (de) 1997-03-06
DE69124340T2 (de) 1997-05-15
EP0485081A2 (en) 1992-05-13
US5142282A (en) 1992-08-25
EP0485081A3 (en) 1992-08-19
HK1000129A1 (en) 1997-12-12
JP3055990B2 (ja) 2000-06-26
EP0485081B1 (en) 1997-01-22

Similar Documents

Publication Publication Date Title
US4558302A (en) High speed data compression and decompression apparatus and method
US5410671A (en) Data compression/decompression processor
US5379036A (en) Method and apparatus for data compression
US5293164A (en) Data compression with pipeline processor having separate memories
US5339076A (en) Data compression using content addressable memory
US5659737A (en) Methods and apparatus for data compression that preserves order by using failure greater than and failure less than tokens
US6334123B1 (en) Index relational processor
US6829695B1 (en) Enhanced boolean processor with parallel input
JP2534465B2 (ja) デ―タ圧縮装置および方法
EP0534713B1 (en) Dictionary reset performance enhancement for data compression applications
US5805086A (en) Method and system for compressing data that facilitates high-speed data decompression
US5778255A (en) Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
US20230153111A1 (en) Decompression Engine for Decompressing Compressed Input Data that Includes Multiple Streams of Data
JPH04267630A (ja) データ圧縮装置及びデータ復元装置
Storer et al. A parallel architecture for high-speed data compression
US6535150B1 (en) Method and apparatus for implementing run-length compression
JPH03247167A (ja) データ圧縮方式
JPH0546358A (ja) テキストデータの圧縮方法
JPS5953579B2 (ja) 文字圧縮装置
Storer Parallel algorithms for on-line dynamic data compression
KR950003884B1 (ko) 퍼스컴 버스 인터페이스 회로
CN118071575A (zh) 数据处理系统和数据处理方法
JPH11154872A (ja) データ圧縮伸長処理方法及び通信装置
JPS62274458A (ja) コ−ド変換方式
JP3146197B2 (ja) データ転送装置及び記憶装置

Legal Events

Date Code Title Description
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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090414

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100414

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110414

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees