JPH0568893B2 - - Google Patents

Info

Publication number
JPH0568893B2
JPH0568893B2 JP59125473A JP12547384A JPH0568893B2 JP H0568893 B2 JPH0568893 B2 JP H0568893B2 JP 59125473 A JP59125473 A JP 59125473A JP 12547384 A JP12547384 A JP 12547384A JP H0568893 B2 JPH0568893 B2 JP H0568893B2
Authority
JP
Japan
Prior art keywords
code
string
signal
character
address
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.)
Expired - Lifetime
Application number
JP59125473A
Other languages
English (en)
Other versions
JPS60116228A (ja
Inventor
Terry A Welch
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.)
Unisys Corp
Original Assignee
Unisys Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24011192&utm_source=***_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH0568893(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Unisys Corp filed Critical Unisys Corp
Publication of JPS60116228A publication Critical patent/JPS60116228A/ja
Publication of JPH0568893B2 publication Critical patent/JPH0568893B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • 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
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

【発明の詳細な説明】
〔〕 発明の目的 (1) 発明の分野 本発明はデータ圧縮及び圧縮データの復元
(decompression)の分野に関するものである。
さらに具体的にいえば、デイジタル入力信号の流
れにおいて新しく遭遇した文字ストリングごとに
接頭部ストリングと一つの拡張文字からなる文字
ストリングとして割当てた符号記号を用いて圧縮
するデイジタルデータの圧縮方法とそのための装
置に関するものである。 (2) 従来の技術 デイジタル・データ信号のストリームを圧縮さ
れたデイジタル・データ信号に符号化して、圧縮
されたデイジタル・データ信号を元のデータ信号
に復元するデータ圧縮装置が従来知られている。
データ圧縮とは、与えられたフオーマツトのデー
タを元のものより少ないビツトをもつもう一つの
フオーマツトに変換するすべての処理をいう。デ
ータ圧縮装置の目的はデイジタル情報の与えられ
た主要部を保持するに必要な記憶装置の量または
その主要部を伝送するに必要な時間の量を節約す
ることである。圧縮比は、符号化されたデータの
長さの元の入力データの長さに対する比として定
義される。圧縮比が小さければ小さいほど、記憶
域または時間の節約が大きくなる。データ記憶に
必要な記憶装置またはデータ伝送に必要な時間を
減らすことによつて、圧縮は金銭上の節約をもた
らす。磁気デイスクまたは磁気テープのような物
理的装置がデータフアイルの格納に用いられれ
ば、圧縮されたデータを格納する装置に必要なス
ペースが小さくなつて利用するデイスクまたはテ
ープが少なくなる。電話線またはサテライト・リ
ンクをデイジタル情報の伝送に用いる場合、伝送
の前にデータを圧縮するとコストが下がる。デー
タ圧縮装置は、元のデータが高い頻度で現れる記
号または記号のストリングを持つような冗長性を
含む場合に特に有効である。データ圧縮装置がデ
ータの入力ブロツクをより簡潔な形に変換し、そ
のあとでその簡潔な形を逆にそれの元のフオーマ
ツトの元のデータに翻訳または復元する。 例えば、日刊新聞の内容をサテライト・リンク
を経て遠隔の地に伝送して、そこで印刷すること
が望まれることがある。適当なセンサが新聞の内
容を直列に発生する文字のデータ・ストリームに
変換して、通信リンクを介して伝送することがで
きる。新聞の内容を含む何百万の記号が伝送前に
圧縮されて受信者のところで再構成されるとすれ
ばかなりの量が伝送時間が節約されるであろう。 別の例として、定期航空路予約データベースま
たはバンキング・システム・データベースなどの
広範囲なデータベースが記録保管の目的で格納さ
れるとき、データベースを構成する文字の全体が
記憶に先だつて圧縮されて、あとで使用するには
格納された圧縮フアイルから再び広げられるとす
れば、かなりの量の記憶スペースが節約されるで
あろう。 (3) 発明が解決しようとする問題点 実際にそして一般に役立つようにするために
は、デイジタル・データ圧縮装置がある基準を満
足する必要がある。この装置はデータ圧縮装置及
びデータ復元装置が仲介している機器によつて授
受されるデータ速度に関して高い性能を与える必
要がある。データ圧縮できる速度は、圧縮装置に
入る入力データ処理速度によつて決まり、普通数
百万バイト毎秒(メガバイト/秒)である。普通
1メガバイト/秒を超える速度をもつ今日のデイ
スク、テープ及び通信装置において達成されたデ
ータ速度を保つには高性能が必要である。従つ
て、データ圧縮装置及びデータ復元装置は、最近
の装置で達成される帯域巾に一致するデータ帯域
巾をもつていなければならない。従来のデータ圧
縮装置及びデータ復元装置の性能は、普通、統計
的データを記憶して圧縮処理及び復元処理を管理
するの用いられるランダムアクセス記憶装置
(RAM)などの速度によつて制限される。圧縮
装置に対する高性能は、圧縮器に入る入力文字ご
とに必要なramサイクル(読み書き動作)の数に
よつて特徴づけられる。記憶サイクルの数が少な
ければ少ないほど性能は高い。高性能設計を電話
通信等の低速度の適用業務に対して経済的な低速
RAMを用いて利用でき、または磁気デイスク転
送に対して超高速RAMを用いて利用できる。 データ圧縮装置及びデータ復元装置の設計にお
けるもう一つの重要な基準は、圧縮有効度であ
る。圧縮有効度は装置の圧縮比よつて特徴づけら
れる。圧縮比は、データ記憶域の圧縮された形の
大きさを圧縮されていない形の大きさで割つた比
である。データが圧縮可能であるためには、その
データは、冗長を含んでいなければならない。圧
縮有効性は、圧縮手順が入力データにおける冗長
のいろいろな形にいかに有効に調和するかによつ
て決められる。代表的なコンピユータに記憶され
たデータ、例えば整数の配列、テキストまたはプ
ログラムなどにおいて、冗長は個々の記号表記
法、例えば数字、バイト、または文字の不統一な
使用と共通語などの記号列、空白記録欄などの頻
繁な繰返しの両方において起こる有効なデータ圧
縮装置は、両方の形式の冗長に応じる必要があ
る。 データ圧縮装置及びデータ復元装置の設計にお
ける別の重要な基準は、適応性の基準である。多
くの従来のデータ圧縮手順は、圧縮されようとす
るデータの以前の知識または統計を必要とする。
従来の手順のあるものは、データが受けられると
きのデータの統計に適用する。従来の処理におけ
る適応性は、法外な複雑度を必要とした。普通に
は、汎用コンピユータ施設における必要条件であ
る広範囲の情報形式にわたつて適応圧縮及び復元
装置を用いることができる。圧縮装置は、データ
統計の以前の知識がなくても良好な圧縮比を達成
することが望ましい。現在利用できるデータ圧縮
手順及びデータ復元手順は、一般には適応できな
いので、それを汎用用途には利用できない。 データ圧縮装置及びデータ復元装置の設計にお
けるもう一つの重要な基準は、可逆性の基準であ
る。データ圧縮装置が可逆性の性質をもつために
は、その装置は、圧縮されたデータを情報の変質
または損失なしその元の形に再拡張または復元す
ることができなければならない。復元されたデー
タと元のデータとは同一であつて互いに区別でき
ないものでなければならない。 適応性のあるようにされているか、または適応
性のあるようにされる可能性のある汎用データ圧
縮手順が従来技術において知られており、二つの
該当する手順は、ハフマン(Huffman)法及び
タンスタル(Tunstall)法である。ハフマン法は
広く知られて用いられるており、それに関しては
ハフマンの「最小冗長性コードの構成のための方
法」という論文〔プロシーデイングスIRE、第40
巻、第10号、1098〜1100頁(1952年9月)に出て
いる。さらにハフマンの方法については、R.ガ
ラハ(Gallagher)の「ハフマンによる論文につ
いての変形」という論文〔IEEE情報理論トラン
ザクシヨンズ,IT−24,No.6(1978年11月)〕に
見ることができる。適応ハフマン・コーデイング
は、固定長の記号列を可変長さ2進語に写像す
る。適応ハフマン・コーデイングは、その方法が
解釈できる固定列長より長い入力記号列内に冗長
があるとき、それが有効でないという限界のある
という欠点がある。ハフマン法を実際に装置とし
て具体化するときは、入力列長は、RAMの価格
のために12ビツトを超えることは殆どないので、
この方法は、一般は良好な圧縮比を達成しない。
なお、適応ハフマン法は複雑で、各入力記号に対
して法外に多数の記憶サイクルを必要とすること
が多い。従つて適応ハフマン法は、望ましくない
ほどわずらわしく、高価でかつ遅い傾向があるた
めに、この方法を実際的な現在の設備のほとんど
に適さなくしている。 タンスタルの方法については、B.T.タンスタ
ルの「雑音のない圧縮コードの合成」という題名
の博士論文、〔ジヨージア・インステイチユー
ト・オブ・テクノロジ(1967年9月)〕に見るこ
とができる。タンスタルの方法は、可変長の入力
記号列を固定長の2進出力に写像する。タンスタ
ル法の適応形は、従来技術に記載されていない
が、一つの適応形を誘導できる可能性はあるもの
の、それは、複雑で高性能の装置にするには不適
切であろう。ハフマン法もタンスタル法も原始記
号の組合せの長さが段々長くなると符号化するこ
とができなくなる。 従来の欠点の多くを克服するさらに別の適応デ
ータ圧縮及び復元装置は、M.コーイン
(Cohen)、W.イーストマン(Eastman)、A.レン
ペル(Lempel)及びJ.ジブ(Ziv)の米国特許第
4464650号「データの圧縮と圧縮されたデータの
復元の装置と方法」(1981年8月10日出願)に開
示されたものである。前記米国特許第4464650号
の方法は入力データの記号のストリームを記号の
適応増大する列に分解する。前記特許第4464650
号の方法は、入力文字ごとに多数のRAMサイク
ルを必要として、圧縮及び復元を行うために乗算
及び除算のような時間のかかる複雑な数学的手順
を用いるという欠点をもつている。これらの欠点
は、前記特許第4464650号の方法を多くの経済的
で高性能の装置として実現するのに不適当にする
傾向がある。前述のことから従来技術も前記米国
特許第4464650号の方法も高性能の適用業務に適
当な適応性があり、かつ効率的圧縮装置を提供し
ないことがわかる。既知の従来の設計アプローチ
は、そのような装置には直接には適当ではない。 〔〕 発明の構成 (1) 問題点を解決する手段 本発明は上述の装置の欠点を良好な圧縮比を達
成する経済的で高性能で適応性があり、可逆的な
データ圧縮の装置と方法を提供することによつて
克服する。本発明は、入力データ・ストリームか
らパース(構文解析して分解すること)されたデ
ータ文字信号のストリングを格納し、そのストリ
ームとの最長一致を決めるために、そのストリー
ムを格納されたストリングと比較してデータ文字
信号のストリームを探索することによつて、デー
タ文字信号のストリームを符号信号の圧縮された
ストリームに圧縮する。この圧縮装置はまた、デ
ータ文字信号のストリームからの最長一致を含み
最長一致に続く次の一つのデータ文字信号によつ
て拡張された拡張ストリングを格納する。最長一
致を拡張して格納するとき、格納された拡張スト
リングに対応する符号信号がそれに割当てられ
る。符号信号の圧縮されたストリームは、格納さ
れた最長一致に対応する符号信号で作られる。デ
ータ文字の格納されたストリングが接頭部ストリ
ングと拡張文字で構成される。ストリングがその
接頭部ストリングに対応する符号信号によつて格
納される。 符号信号の圧縮されたストリームは、接頭符号
信号及び拡張文字信号を含む文字ストリングを構
成して格納することによつて復元される。復元装
置は、受けられた符号信号によるストリングと次
に続くストリングの最初の文字として受けられる
拡張文字とを格納する。 データ文字信号のストリングは、各探索繰返し
に対する限られた数のハツシユアドレスを与える
限定探索ハツシング技術によつて記憶装置に入れ
られる。 (2) 実施例 本発明はデジタルデータ文字信号のストリーム
または列を圧縮して、圧縮されたデイジタル符号
信号の対応するストリームを与えるデータ圧縮器
を備えている。例えば、圧縮される予定のデータ
は、英語の原文資料、格納されたコンピユータ記
録などを含んでいてもよい。今日のデータ処理装
置及び通信装置においては、圧縮を行われるはず
のアルフアベツトの文字は、処理されてASCIIフ
オーマツトのような都合のよいコードで2進数字
のバイトとして伝達されることがわかつている。
例えば、入力文字を8ビツト・バイトの形式で
256文字の文字体系全体を受けることができる。
圧縮器からの圧縮符号信号は、例えば、記録保管
の目的のために電子記憶フアイルに格納される
か、または複号を行う遠隔の場所に伝送されても
よい。このほかに、デイスク記憶装置のような電
子記憶フアイルが入力電子回路に圧縮器を備え、
出力電子回路に復元器を備えることができ、それ
によつてフアイルに入るすべてのデータヲ記憶す
るために圧縮して、フアイルから検索されたすべ
てのデータを利用機器に伝送する前に復元する。
前述の従来の圧縮装置及び復元装置は、圧縮及び
復元のそのような用途に適合させる性能または適
応性を与えない。本発明に従つて実施された高性
能適応装置をそのように用いることができる。 多数の設計オプシヨンが被圧縮データ及び装置
の所望の特性に従う種々の組合せで本発明の実施
例に用いることができる。発明の三つの実施例を
以下に説明する。一つの実施例は、最高性能を与
えるオプシヨンを組合せており、第2の実施例
は、最高圧縮を与えるオプシヨンを組合せ、第3
の実施例は、最高性能実施例のプログラム・コン
ピユータ形を提供する。 本発明の圧縮器は、データ文字の入力ストリー
ムをストリングまたはセグメントにパースして、
各ストリングを識別する符号信号を伝送する。圧
縮器が初めて遭遇したデータ文字以外は、各パー
スされたストリングは、前に認識されたストリン
グに対する最長一致を含んでいる。圧縮器は、認
識されたストリングに対応する符号信号を伝送す
る。1ストリングの文字が入力ストリームからパ
ースされると、パースされたストリングは、入力
ストリームにおいて次に発生する文字によつて拡
張され、あとで符号化に利用されるために圧縮器
において符号化され、そこに記憶される拡張スト
リングを形成する。従つて認識されている文字シ
ーケンスは、1ブロツクのデータを圧縮する過程
で統計的情報を集めるとき、平均長さがたえず大
きくなつている。拡張文字は、次のパーシング繰
返しにおける最初の文字として用いられる。パー
シングは、データを1回通すだけで達成され、初
めの文字から出発して、1回に1文字を分離す
る。従つて、単一文字のストリング以外は、各ス
リングは、前に記憶されたストリングと一致する
接頭ストリングと拡張文字として記憶される。そ
のストリングは、そのような各ストリングを接頭
部の符号信号表現と拡張文字の実際の表現または
暗示表現を一緒にして記憶するのが都合よい。パ
ーシングは、データ・ストリームの各文字間に仮
想コンマを挿入し、それによつてパースされたス
トリングまたはセグメントを区切るものとして概
念化できる。従つて、本発明においては、一致を
得るための未処理のデータストリームの探索は、
先に観察されたストリングとの最長一致を見出す
ために一つのコンマから次に続くコンマを一文字
越えたところまでを探索することを含む。 第1図を参照すると、データ文字のストリーム
の一部分の略図が示されており、そこではXがア
ルフアベツトの任意の文字を表している。コンマ
は、パーシングを表すためにのみデータストリー
ム中に示されている。このデータストリームのス
トリング1が仮想コンマ2及び3によつてパース
されている。ストリング1は、前のストリング
1′に一致し、ストリング1′は、コンマ2に続く
入力データストリームに一致するコンマ2に先行
した最長拡張ストリングである。ストリング1′
は、前に符号化されたものであるから、その符号
は、ストリング1に遭遇したとき圧縮器によつて
伝送される。次いで圧縮器は、接頭部ストリング
1と拡張文字5を含む拡張ストリング4を符号化
して記憶する。拡張文字は、それがどんな文字で
あるかに関係なく、接頭部1に続くデータストリ
ーム中の次の文字である。すなわち、拡張文字5
は、前に、データストリームの中で現れた文字で
あつてもよいし、またはそれは初めて遭遇するア
ルフアベツトの1文字であつてもよい。 圧縮器は、もう一度最長一致が達成されるまで
拡張文字5で始まる次のパーシングの繰返しを仮
想コンマ3のところで開始する。このようにし
て、前に拡張されたストリング6′にマツチする
ストリング6がパースされる。前の繰返しにおけ
ると同じようにまた、ストリング6′に対する符
号信号は、伝送され、ストリング6は後続の文字
によつて拡張され、拡張されたストリングは、符
号化されて記憶される。続くパーシング繰返しに
おいては、符号化されて記憶されたストリング4
にマツチするストリング7がパースされる。この
パーシング繰返しで伝送された符号信号は、拡張
ストリング4に割当てられたものである。 上述のように、圧縮器によつて与えられた符号
信号は、引続く復元のために記憶または伝送する
ことができる。 本発明において、入力バイトの各シーケンスが
実施例次第で固定長または可変長のものであつて
もよい符号信号に圧縮される。上述のように、各
入力バイト列は、各符号識別子を割当てられ、一
つの列が入力データ・ストリームの中で再び出て
くるときはいつも、同じ識別子が再び伝送され
る。各1バイト列が各符号を割当てられ、一つの
列が再び出てくるときはいつも、1バイトだけ拡
張され、新しい符号が拡張されたシーケンスに割
当てられる。概念的には、圧縮器は、各データブ
ロツクを格納されたセツト内のゼロストリングの
みから開始する。圧縮器は、新しい文字が出てく
る度にそのセツトに1文字のストリングを入れ、
次にこれらの記憶された1文字ストリングをさら
に長いストリングを形成するのに用いる。各スト
リングがそのセツトに加えられると、それは、一
つの符号信号を割当てられる。入力からの一つの
文字ストリングがセツト内で見出される度に、次
の入力文字がそのストリングに追加され、拡張さ
れたストリングがそのセツトの中にあるかどうか
を決めるためにそのセツトが探索される。拡張さ
れたストリングが既に存在しなければ、そのスト
リングがセツトに入れられる。随意選択的に、そ
のストリングセツトをすべての単一文字ストリン
グを含むように初期設定できる。これは、より高
い性能の装置として実現できるようにすることも
あるが、ある程度の圧縮効率を失うことがある。
圧縮器からの出力符号信号は、同一文字列が以前
に起つたことを示しているものとして考えること
ができる。 前記米国特許第4464650号のデータ圧縮及び復
元装置において、拡張文字が各認識された列に追
加されて拡張された列が符号化された。拡張列の
符号化表現は、それの圧縮符号として圧縮器によ
つて伝送された。その代りに、本発明の圧縮器
は、拡張列を記憶して、認識された列に対する符
号を伝送する。認識された列は、拡張列の接頭部
である。記憶された拡張列は、次にあとで符号化
するために用いられる。前記米国特許第4464650
号の方法をこのように変更すると、前記米国特許
第4464650号において用いた時間のかかる、やつ
かいな数学的操作及び乗算・除算装置のような付
随のハードウエアをなくすことによつてデータ圧
縮及び復元装置を著しく簡単にすることができ
る。この変更は、装置の性能を著しく高めると同
様にまた、普通に遭遇するデータの場合の圧縮効
率を増加させる。これは、前記米国特許第
4464650号の装置では、圧縮された符号信号の一
部分として伝送される拡張文字が等しく起こりそ
うな文字体系のすべての記号に見合つた多数のビ
ツトを含むからである。本発明では、拡張文字
は、次の圧縮ストリング符号の一部分として伝送
されるので、文字の各ストリングについて行われ
た圧縮に一致して必要とするビツトの数が少なく
なる。 本発明は、限定探索長の計算されたアドレス・
ハツシング装置を用いて各ストリングをストリン
グ・テーブルに入れ、そのストリング・テーブル
内で各ストリングを探索する。ハツシング関数
は、前の符号信号と拡張文字とから成るハツシ
ユ・キーを用いてN個のハツシユ・テーブル・ア
ドレスの組を与える(ここでNは普通1ないし4
である)N個のRAM記憶場所は、逐次に探索さ
れ、その項目がN個の記憶場所になければ、それ
はそのテーブル内にないと考えられる。圧縮のと
きに、テーブルに挿入されるべき新しいキーをN
個の割当て場所に受入れできなければ、それはテ
ーブルから除外される。この限定探索ハツシング
法は、圧縮効率をわずかに下げるが、装置として
実現するのを非常に簡単にする。N個のハツシ
ユ・アドレスが反復したRAMの中で並列に探索
される別の実施例を用いてもよい。 本発明は、固定長または可変長の圧縮された符
号信号を用いて装置として具体化することができ
る。固定長符号信号の実施例は、圧縮効率におい
てわずかの損失を伴いながら装置として実現する
場合の簡単化をもたらす。固定長符号実施例は、
RAMのスペース必要度と可変符号長による装置
としての実現に必要な符号シフテイング機構の複
雑さを小さくする傾向がある。しかし固定長符号
による装置の実現は非常に高い性能の装置の実現
を行うときに望ましい。 一般には、本発明は、入力文字信号の可変スト
リングを出力符号記号信号に写像することによつ
て圧縮を行う。圧縮器は、ストリング・テーブル
(RAM)の中に圧縮器が認識するストリングの
リストを記憶し、各ストリングに対しては対応す
る出力符号信号を記憶する。そのように記憶され
たストリングの組は、どんな一連の入力文字も記
憶されるストリングにパースでき、したがつて、
出力符号に写像できるように構成される。パーシ
ングは、どの繰返しにおいてもストリング・テー
ブルの中に最長ストリングに一致するすべての連
続する入力文字を使いきり、対応する出力符号を
伝送することによつて達成される。最長一致は、
次の入力文字によつて拡張され、ストリング・テ
ーブルに記憶され、そして対応する符号を割当て
られる。 従つて、ストリング・テーブル内のストリング
の組を合成することは、現在のデータブロツクの
統計に適応し、かつその統計の一つの表現法であ
る。明確にいえば、そのストリングの組に追加さ
れる各ストリングは、その組に既にある一つのス
トリングを1文字で拡張したものである。一つの
ストリングがそのセツトに加えられるのは、それ
が実際に入力データにおいて観測されたのちにだ
け行われる。従つて、一つの長いストリングがそ
のセツト内に現れる可能性のあるのは、それが何
度も出てきたので頻繁に再び現れると期待できる
場合だけである。このストリングセツトは、でき
ればランダムアクセス記憶装置(RAM)にテー
ブルとして記憶されるのがよい。各ストリング
は、連結トリー構造と考えてもよいものに記憶さ
れる。各ストリングは、少なくとも暗黙的に、そ
の符号記号、そのストリングの最後の文字及び最
後の文字以外のすべてのストリング文字を含むス
トリング接頭部の符号記号で記憶される。各文字
が個別に得られ、かつ各接頭部符号が逐次に呼び
出されるので、復元装置は、一つのストリングを
複合するときに多重RAMアクセスを用いる。 各データ信号は、入力文字列に対する最長一致
を探すのを用意にするようなやり方でストリン
グ・テーブル内に記憶される。各入力文字が読ま
れると、それが既に認識された一つのストリング
(新しい列の始めにゼロストリングで始まつたも
の)に付け加えられて、その新しいストリング
は、それがそのテーブルの中にあるかどうかを決
めるために検査される。新しいストリングがその
テーブルの中にあれば、その符号が検索されて、
その処理が新しい文字と新しい符号とで繰返され
る。それらのストリングをそのように呼び出すた
めに、それらのストリングは、“接頭部符号、拡
張文字”の組(タブル)によつて識別されるのが
都合よい。限定探索ハツシング装置がストリン
グ・テーブルをくまなく探索するのに用いられ
る。 本発明を装置として具体化するのに用いること
のできるハツシング装置は、一つの符号、文字組
合わせに対して一連の記憶アドレスを発生する関
数 ハツシユ(符号、文字)→アドレス1,アドレ
ス2…… を含む。テーブルに一つのストリングを挿入する
と、発生したRAMアドレスが空サイトを発見す
るまで逐次に呼出され、項目がその点に挿入され
る。一つの項目を検索するとき、同じアドレス列
がその項目が発見されるかまたは空サイトが発見
されるまで呼出され、空サイトが発見された場合
にその項目はテーブルの中に存在しないと定義さ
れる。各占有されたサイトおいては、そのストリ
ングのための識別用符号、文字の組は、そのサイ
トを占有するのものが所望の項目であるかどうか
を決めるために比較されてもよい。あとで説明す
る理由によつて、識別用符号を比較することは、
実際には、この実際には、この実施例で必要なだ
けである。 本発明で用いられたハツシユ関数においては、
誘導されて用いられたアドレスの数は、小さな一
定値N(Nは普通1ないし4である)に限定され
る。一つの項目をN回の呼出しでストリング・テ
ーブルに挿入できなければ、その項目は用いられ
ない。テーブルから検索される予定の一つの項目
がN回の呼出しの中で所在をつきとめられなけれ
ば、それはテーブル内にないと定義される。この
限定探索の特徴は、圧縮効率の小さな損失をもた
らすが、性能を著しく増加させる。本発明はBビ
ツト・バイトの文字体系について圧縮を行うとし
て説明する。本発明を装置として具体化するのに
用いられるハツシユ関数は、任意の一つの符号、
2B拡張文字に関連したアドレスの組すなわちすべ
てに対してN個のアドレスすべてがどのアドレス
をも2回は含まない。従つて、一つのアドレスが
特定の符号、文字の組に対して呼出されると、そ
の符号の比較はその記憶場所の占有物の識別を行
うのに十分である。その文字の値をRAMに記憶
する必要はない。従つて、RAMのスペースは、
ハツシユ関数のこの特徴のために保存される。な
お、ハツシユ関数は、符号または文字の連続する
値を異常なほど激しく使つてもどの特定のアドレ
スの組をも使い過ぎることにはならないように設
計される。これは可能な場合、同じ最初のアドレ
ス値をもつ任意の二つの符号、文字の組が同じ第
2のアドレス値をもたないことを確実にすること
によつて達成される。ハツシユ関数によつて作ら
れた幾つかのアドレスを、二つの全く同じRAM
を同時に探索して装置の性能をさらに高めること
ができるように並列に与えてもよいことが分かる
であろう。上記の基準を満足する多くのハツシユ
関数が本発明を装置として具体化するのに満足に
機能することになるので、特定の適当なハツシユ
関数を以下に説明する。上記の基準を満足する他
のハツシユ関数を形通りのやり方で誘導できるこ
とがわかる。 以下に説明する本発明の実施例において、圧縮
器からの出力符号信号は、Cビツトの公称語長
(2Cはストリング・テーブルの大きさ以下である)
をもつことになる。しかし、ストリング・テーブ
ルが最初に構成されようとしているとき、各スト
リングを1回の繰返しの間に利用できるものから
選択するためには、Cより少ないビツトを必要と
する。最高の圧縮は、漸進的に大きくなる出力符
号をCビツトの限界まで伝送する場合に達成され
る。このアプローチは、可変符号を固定バイト配
向に整列させるのに追加の出力ハードウエアを用
いる。出力語長はまた新しい入力文字の認識従つ
て変ることがある。以下に説明する実施例の一つ
において、一つの入力文字がまず出てくると常
に、その文字そのもののビツトパターンがあとに
続くゼロ・ストリング符号が与えられる。従つ
て、これらの出力は正規のストリング符号よりい
くらか長い。あとで説明するようにして、出力長
のこの変動は、入力データを処理する前にすべて
の単一文字ストリングを含むようにストリング・
テーブルを初期設定することよつて避けられる。
このアプローチは、それがそうでない場合に必要
な任意のビツト・シフト・ハードウエアをなくす
が、圧縮を小さくすることがある点で装置として
の具体化の複雑性を簡単にする。圧縮の低減は、
未使用の単一文字に割当てられた符号が有益に用
いられ得ないので、すべての割当てられた符号を
区別するのに必要なビツトの数を大きくするので
起こる。この圧縮の低減は、可変長符号を利用す
る初期ストリングの圧縮の間に起るだけである。 第2図は本発明の最高性能の実施例を実現する
圧縮器を示している。この実施例は、経済的で高
速な圧縮処理を与える。Bビツトの文字の大きさ
及びCビツトの圧縮符号の大きさが用いられる。
ストリング・テーブルは、2Cの記憶場所を含む。
普通には、Bは、8ビツトであり、Cは、12ビツ
トで、他の文字及び符号の大きさをこの発明を実
施するのに利用できるようにしている。この実施
例は、ハツシユされたストリング・テーブル内の
ストリング記述項のアドレスとして用いられるC
ビツトの固定長符号記号信号を用いる。最初の2B
記憶場所は、各単一文字ストリングを含むように
初期設定される。この圧縮器は、各記述項にCビ
ツトの接頭ストリング符号だけを含むストリン
グ・テーブルを用いる。復元テーブルは、この同
じ符号とそのほかに現在のストリングを合成する
のに接頭ストリングに追加されるBビツトの拡張
文字を含む。 圧縮器からの出力符号記号信号として用いられ
るストリング・テーブルに入るアドレスは、第2
図の実施例の説明の次に詳細に説明するハツシユ
関数を用いて得られる。ハツシユ関数は、N個の
のCビツト・アドレスを順次に発生する。第2図
の実施例は、第3図の実施例とともに以下に説明
する多数の機能を制御する制御装置を用いる。例
えば、ハツシユ関数装置は、N番目のアドレスが
発生したときに制御装置に知らせる。本発明のハ
ードウエア実施例は、順次状態機械として実現さ
れ説明される。圧縮器の制御装置は、それらの
種々のブロツクから信号を受けて、機械の現在の
状態に従つて圧縮器の構成要素を制御するために
それらへ信号を与える。説明した各シーケンスを
制御するのにどんな標準制御論理装置をも利用で
きる。例えば、1状態ごとに1フリツプ・フロツ
プを活動化して、各状態の間実行されるべき有効
な接続及び機能を区別し、そしてその状態を制御
するフリツプフロツプをその状態の間活動化して
もよい。 次に第2図を参照すると本発明の最高性能の実
施例の圧縮器が示されている。この圧縮器は、バ
ス10に入力文字信号を受けてバス11に圧縮出
力符号信号を与える。入力文字は外部装置からバ
ス10に与えられる。外部装置は、また入力文字
信号がその外部装置から利用でき、バス10に加
えられるときにつねに、データ利用可能信号をラ
イン12に与える。ライン12上のデータ利用可
能信号は、圧縮器制御装置13に加えられる。圧
縮器制御装置13は、第2図の圧縮器のブロツク
のすべてにリード14を経て制御信号を与える。
圧縮器制御装置13は、第2図の圧縮器を制御状
態を介して以下に詳細に説明するような方法で順
序付けする。制御装置13はまた、追加の入力文
字を要求するためライン15を通して外部装置文
字ストローブ信号を与える。出力符号信号がバス
11の上で利用できるとき、制御装置13は、符
号ストローブ信号をリード16を通して外部装置
に与える。 バス10の上の入力文字は、Bビツト文字レジ
スタ17に入れられる。単一文字ストリング符号
を作るために、文字レジスタ17からのBビツト
文字バイトは、バス18を経てCビツト符号番号
レジスタ19のB個の下位ビツトに挿入される。
符号番号レジスタ19の高位のC−Bビツトをリ
ード20の上の制御信号を用いてゼロにセツトで
きる。 レジスタ19からの符号番号信号及びレジスタ
17からの文字信号は、それぞれバス21及び2
2を経てハツシユ関数回路23に加えられる。ハ
ツシユ関数回路23は、バス21の上のCビツト
符号信号をバスの22の上のBビツト文字と結合
してバス24の上にN個のCビツト・アドレスを
逐次に与える。ハツシユ関数回路23は、バス2
4を通して与えられたハツシユアドレスがそのシ
ーケンスのN番目のアドレスであるかどうかをリ
ード25を経て制御装置13に知らせる。 ハツシユ関数回路23はまた、制御装置13か
ら「新ハツシユ」指令及び「次のハツシユ」指令
を受ける。制御装置13は、ハツシユ関数回路2
3に指令して「新ハツシユ」指令に応答するN個
のハツシユ・アドレスの最初のもの及び「次のハ
ツシユ」指令が相次いで発生するのに応答して相
次ぐハツシユ・アドレスを与える。既に説明した
ように、ハツシユ関数23がN番目のハツシユ・
アドレスを与えたとき、一つの信号がリード25
を介して制御装置13に戻される。 バス24の上のハツシユ・アドレスは、2Bに等
しい一定値信号をも受ける比較器26に加えられ
る。比較器26は、バス24の上のハツシユ・ア
ドスを値2Bと比較して、バス24の上のハツシ
ユ・アドレスが2Bより大きいかまたは2B以下であ
るかどうかを指示する信号をリード27を介して
制御装置13に与える。 バス24の上のハツシユ・アドレスはまた、C
ビツトRAMアドレス・レジスタ28にも加えら
れる。RAMアドレス・レジスタ28にロードさ
れたアドレスは、圧縮器ストリング・テーブルを
記憶するのに用いられるRAM29を呼出す。
RAM29は、2CのCビツト記憶場所を含んでい
る。各ストリングは、そのストリング割当てられ
た符号によつてアドレス指定された記憶場所にあ
るその接頭符号を記憶することによつてRAM2
9の中に記憶される。そのストリングに割当てら
れた符号は、後述のようにして、ストリング拡張
文字と接頭部符号をハツシユすることにより得ら
れる。 RAM29は、「読出し」指令及び「書込み」
指令を制御装置13から受けてRAM29の「読
出し」、「書込み」機能を制御する。RAM29
は、2B等しいCビツトの値またはCビツト符号番
号信号をレジスタ19からバス30を介して受取
るように制御装置13によつて制御される。 「書込み」指令をRAM29に加えるのに従つ
て、一定値2Bまたはバス30の上の符号番号のい
ずれかが制御装置13からの制御信号に従つてレ
ジスタ28の中のRAMアドレスによつて呼出さ
れた記憶場所に書込まれる。RAM29はまた、
「読出し」指令に応答して呼出された記憶場所の
Cビツト内容をバス31に与える。バス31の上
のRAM出力及び符号レジスタ19の出力は、比
較器32へ入力として加えられる。比較器32は
また、2Bに等しい一定値信号を受ける。比較器3
2は、RAM29の出力を符号番号レジスタ19
の出力及び2Bと比較する。比較の結果は、リード
33を経て制御装置13に与えられる。リード3
3の上の比較信号は、バス31の上のRAM出力
レジスタ19からの符号番号に等しいか、または
2Bに等しいか、またはどちらでもないかを制御装
置13に指示する。あとで説明する理由のため
に、制御装置13は、RAMアドレスレジスタ2
8を制御して、その内容をバス34を経て符号番
号レジスタ19に転送する。 第2図の圧縮器は、Cビツト信号をバス36を
経てRAMアドレス・レジスタ28に与える初期
設定計数器35を備えている。計数器35はそれ
に加わるゼロの値をもつ信号を介してゼロにセツ
トできる。制御装置13は、係数器35を計数指
令を介して制御して、計数指令を加えるごとに計
数器の内容に1を加える。計数器35は、それが
計数2Cに達したときを制御装置13にリード37
の上のキヤリアウトまたはオーバフロー信号を経
て知らせる。初期設定計数器35はRAM29を
初期設定するのに用いられ、RAM29の記憶場
所のすべてを逐次に呼出して空状態を指示するよ
うに選択された一定値2Bを書込むことよつて空に
する。 第2図の圧縮器の基本動作を要約すると次の通
りである。 1 各データブロツクごとに、RAMを空に初期
設定する。 2 各バイト・ストリングの最初の文字について 最初の符号番号として、文字を符号番号レジ
スタに入れる。 3 相次ぐ文字について ハツシユ(符号、文字)→一連のN個の
RAMアドレス。各記憶場所ごとにつぎつぎ
に、 RAM出力=符号番号であれば、RAMアドレ
ス→符号番号レジスタ; もう一つの文字でこのステツプに再び入る。 RAM記憶場所が空であれば、 符号番号レジスタからRAMに書込み、 符号値を出力として伝送する。次にステツプ2
へ行く。 そうでないときは、すべてのハツシユ・アドレ
スの後、符号値を出力として伝送し、 ステツプ2へ行く。 第2図を続けて参照すると、以下のものが第2
図の圧縮器の状態機械語記述である。 状態0:待ち状態、各データブロツクの始めに初
期設定計数器をゼロにセツト。データ使用可能
信号を待つ、次いで状態1へ行く。 状態1:RAMを初期設定する 初期設定計数器→RAMアドレス・レジスタ 2B→RAMデータ入力 RAMを書込む +1を初期設定計数器に加える 初期設定計数器<2Cなら、状態1を繰返す、そ
うでなければ状態2へ行く。 状態2:符号を開始するブロツクの最初の文字を
読出す。 文字を符号番号レジスタ(下位B個のビツト)
に入力する ゼロを符号レジスタ(上位C−B個のビツト)
に入力する 状態3へ行く。 状態3:このストリングの中の次の文字を処理す
る 次の文字を読出す、 使用できる新しい入力文字がなければ符号番号
レジスタの内容を出力に伝送; 状態0へ行く。 ハツシユ(符号番号レジスタ、次の文字)→
RAM RAMアドレス2Bなら、状態4へ行く RAMを読出す。 (RAM出力)=(符号番号レジスタ)なら、 RAMアドレス→符号番号レジスタ; 状態3へ行く。 (RAM記憶場所)=2Bなら、状態5へ行く。 その他の場合、状態4へ行く。 状態4:探索を継続する 次のハツシユ(符号、文字)→RAMアドレス RAMアドレス2Bで、最終ハツシユ値であれ
ば、状態6へ行く。 その他の場合、状態4を繰返す。 RAMを読出す (RAM出力)=(符号番号レジスタ)であれ
ば、 RAMアドレス→符号番号レジスタ; 状態3へ行く。 (RAM出力)=2Bなら、状態5へ行く。 その他の場合、最終ハツシユ繰返しであれば、 状態6へ行き、そうでなければ状態4を繰返
す。 状態5:新ストリングを作る (符号番号レジスタ)をRAMに書込む 状態6へ行く。 状態6:ストリングの終り (符号番号レジスタ)を出力に文字レジスタを
符号番号レジスタに (下位B個のビツト) ゼロを符号番号レジスタ(上位C−B個のビツ
ト)伝送 状態3へ行く。 上に与えられた状態機械語記述に関する第2図
の圧縮器の動作のさらに詳細な説明を次に行う;
〔0〕 待ち状態 1ブロツクの入力文字を待つ
ている間、第2図の圧縮器は、この状態にあ
る。待ち状態の間、制御装置13は、初期設定
計数器35をゼロにリセツトする。入力データ
を供給する外部信号源からリード12を通つて
くるデータ使用可能信号は、入力データが利用
できるときを指示するために用いられる。デー
タが使用可能になつたとき、リード12の上の
データ使用可能信号は、制御装置13に初期設
定状態に入るように合図する。 〔1〕 初期設定状態 ランダム・アクセス記憶
装置(RAM)29の内容は、空であるように
初期設定される。空記号は、実現の便宜上2B
して任意に選ばれる。従つて、「初期設定状態」
では、値2Bが記憶装置29の各記憶場所ら書込
まれる。空記号は、ストリング符号には決して
割当てられてはならない。記憶場所ゼロないし
2Bは、それらは決して呼出されないであろうけ
れども、実現の便宜上空に初期設定される。概
念的には、記憶場所ゼロないし2B−1は、2B
の単一文字ストリングを含むように初期設定さ
れ、それらのストリングは、それらが表す文字
に等しい符号値をあらかじめ割当てられてい
る。従つて、2Bの単一文字ストリングは、符号
ゼロないし2B−1をあらかじめ割当てられてい
る。この初期設定は、Cビツトの初期設定計数
器35内の値をバス36を経てRAMアドレ
ス・レジスタ28にゲートすることによつてメ
モリサイクルを繰返して達成される。RAM2
9への入力は、Cビツトの一定入力値2Bから選
択される。初期設定計数器35は、現在の内容
に1を加えることによつて計数を上げるように
指令される。この一連の事象は、各記憶場所に
対して1回ずつ合計2C回繰返される。2Cのその
ような計数ののちに初期設定計数器35は、2C
の計数が起つたことを知らせるオーバフローま
たはキヤリアウト信号を制御装置13にリード
37を経て与える。これによつて第2図の圧縮
装置は「最初の文字の状態」に進む。 〔2〕 最初の文字の状態 初期設定ののち、第
2図の圧縮器はバス10の上にある第1入力文
字を読取つて、それのB個のビツトをBビツト
文字レジスタ17にゲートする。次に制御装置
13によつて信号を文字ストローブ・ライン1
5に与えて、次の入力文字信号を外部装置によ
つて入力バス10の上に与えさせる。次に文字
レジスタ17の中のB個の文字ビツトをバス1
8を経てCビツト符号番号レジスタ19の下位
(右側)Bビツトにゲートして、レジスタ19
の上位C−Bビツトをゼロにセツトする。この
手順は、最初の入力文字をその単一文字ストリ
ングに対してあらかじめ割当てられた符号値に
変換する。第2図の実施例において、2B個のあ
らかじめ割当てられた符号値は、それらが表す
文字体系の文字にそれぞれ等しい。最初のスト
リングを開始してしまうと、第2図の圧縮器の
繰返しの主サイクルである「次の文字状態」に
入る。 〔3〕 次の文字状態 この状態に入ると、一つ
の正しい文字ストリングが入力からパースされ
てしまつており、その符号値が符号番号レジス
タ19に入つている。次の文字は、こんどは、
バス10から文字レジスタ17に、読出され、
ライン15の上の文字ストローブ信号は、外部
データ源に戻される。ライン12の上のデータ
使用可能信号が、そのような文字がバス10の
上で使用できなかつたことを示す場合には、圧
縮器はデータブロツクの終りに達していたこと
になる。その状況では、符号番号ジスタ19に
ある最終データ・ストリングに対する符号値
は、出力符号としてバス11を通して伝送され
て、新しい圧縮された符号信号が与えられてい
ることを指示するライン16の上の符号ストロ
ーブ信号が外部装置に送られる。次に制御装置
13は、圧縮器を「待ち状態」に戻す。 しかし、そのデータブロツクの終りに達しな
いで、新しい文字が利用できて、文字レジスタ
17に入れられたとすれば、このBビツトの文
字は、バス22を経てハツシユ関数回路23の
中へバス21を通して与えられたレジスタ19
の中のCビツトの符号番号と結合される。制御
装置13からの「新ハツシユ」指令の制御を受
けて、ハツシユ関数回路23は、この符号と文
字の組合せに対する第1のRAMアドレスを与
える。バス24の上のこのハツシユ・アドレス
は、比較器26によつて値2Bと比較される。バ
ス24の上のハツシユ・アドレスが2B以下であ
れば、この記憶場所は、呼出し不能で、次のハ
ツシユ・アドレスが「次のハツシユ状態」へゆ
くことによつて選択される。2B以下のアドレス
値は、2Bより小さな値が単一文字のストリング
に対する符号値であるようにあらかじめ割当て
られており、かつ値2Bは、空記憶場所(未使用
の符号値)を識別するためにあらかじめ割当て
られたので、新しい符号値として認められな
い。 ハツシユ・アドレスが2Bより大きければ(通
常の場合)、バス24の上のハツシユ・アドレ
スがRAMアドレス・レジスタ28にゲートさ
れ、RAM29がそのアドレスの内容を読取る
ように制御される。バス31の上のCビツトの
結果は、比較器32においてレジスタ19から
の符号値と値2Bとの両方に比較される。バス3
1の上のRAM29の出力がレジスタ19から
の符号番号に等しければ、拡張ストリングは、
前に出てきて既に一つの符号値を割当てられて
おり、すなわち丁度読出された記憶場所の
RAMアドレス値である。新符号番号はRAM
アドレス・レジスタ28からバス34を経て符
号番号レジスタ19にゲートされ、新しい文字
についての手順を繰返すためにこの「次の文字
状態」に再び入る。 代りにバス31の上のRAM出力が2Bに等し
ければ、この記憶場所は、空であり、拡張スト
リングがテーブルにないので、入力データをパ
ースするのに利用できないことを意味する。こ
れは、現在のストリングの構成作業を終りにし
てこんどは「新ストリング状態」に入る。 しかし、バス31の上のRAM出力が2Bにも
またレジスタ19からの符号番号にも等しくな
い場合、RAM29の中の他の記憶場所を探索
しなければならず、それは「次のハツシユ状
態」おいて実行される。 〔4〕 次のハツシユ状態 この状態において
は、さらに別のRAMアドレスがハツシユ関数
回路23によつて現在の符号、文字組合せに対
して制御装置13からの「次のハツシユ」指令
の制御を受けて発生される。次に前の状態の各
手順がその本質において繰返される。新アドレ
スは比較器26によつて2Bに比較され、そのア
ドレスが2Bより大きくなければ、それは用いら
れない。この場合に、もう一つのアドレスを得
るために、この「次のハツシユ状態」に再び入
る。N個のハツシユ・アドレスすべてを、ハツ
シユ関数回路23からのリード25の上の信号
によつて示されているように、検査し終ると、
現在のストリングは、そのストリング・テーブ
ルに存在しないと考えられて、それに入る空間
がない。次に「ストリング終了状態」入る。 しかし、ハツシユ・アドレスが2Bより大きけ
れば、バス24の上のアドレスはRAMアドレ
スレジスタ28にゲートされて、RAM29が
その記憶場所において内容を読出すように制御
される。RAM出力のバス31の上に与えられ
た結果は、比較器32においてレジスタ19の
中の符号番号及び2Bの両方と比較される。
RAM出力が符号番号に等しければ、RAMア
ドレス・レジスタ28からの新しい符号番号が
バス34を経てレジスタ19にゲートされ、
「次の文字状態」に入る。この代りに、バス3
1の上のRAM出力が値2Bに等しければ、「新ス
トリング状態」に入る。バス31の上のRAM
出力が2Bまたは符号値の両方に等しくなけれ
ば、この処理は、この新アドレス値に対するこ
の「次のハツシユ状態」に再び入ることによつ
てN回まで繰返す。N個の記憶場所を、ハツシ
ユ関数回路23からのリード25の上の信号に
よつて示されているように、試みられたとき、
このストリングは終りにされて「ストリング終
了状態」に入る。 〔5〕 新ストリング状態 ストリング・テーブ
ル内の空記憶場所に遭遇したことは、探索され
た拡張ストリングをテーブルの中に発見しなか
つたこと及びそのストリングをテーブルの中に
入れる必要のあることを示す。これは、拡張ス
トリングノ接頭部符号番号をRAM29に書込
むことによ達成されるので、割当てられたアド
レスを拡張ストリングのための符号値としてと
つておく。従つて、RAMアドレス・レジスタ
28の中のアドレスは、その前の値に維持さ
れ、RAM29は、符号番号レジスタ19の内
容をバス30を経てアドレス指定された記憶場
所に書込むように制御される。次に「ストリン
グ終了状態」に入る。 〔6〕 ストリング終了状態 この状態に入ると
き、拡張ストリングがストリング・テーブルに
ないので、現在あるストリング符号を出力とし
て伝送し、新しいストリングを開始すべきであ
ると決定された。従つて、符号番号レジスタ1
9からの出力符号信号を出力バス11に伝送し
て、新圧縮符号信号がバス11にあることを外
部装置に知らせる「符号ストローブ信号」をリ
ード16を経て送る。このインターフエイスの
正確な形は、圧縮データ信号を受ける外部装置
の特有の要求事項に従つて変る。新ストリング
は、文字レジスタ17の中に既にある文字を用
いて開始され、その文字は、それをバス18を
介して符号番号レジスタ19の下位Bビツトに
ゲートし、かつレジスタ19の高位C−Bビツ
ト位置にあるビツト位置にゼロをおくことによ
つてあらかじめ割当てられた単一文字のストリ
ングに翻訳されている。その新ストリングを構
成するために「次の文字状態」に再び入る。 第3図は、本発明の最高の圧縮を具体化したも
のを装置に実現するためのそれぞれ圧縮器を示
す。第3図の実施例は、第2図の高性能実施例よ
りわずかに値段が高くかつ動作がわずかに遅い。
この実施例は、高性能実施例とほぼ同じ適応圧縮
手順を用いるが、高性能実施例とは違つて、圧縮
器は、可変長さの圧縮された出力符号信号を発生
する。高性能実施例に関して上述したものと同様
にして、第3図の高圧縮実施例は、Bビツト・バ
イト入力文字信号及び2Cの記憶場所のストリン
グ・テーブルを用いる。圧縮符号記号は、ストリ
ング・テーブルがいつぱいになるにつれて、大き
さを増してCビツトの最大長さに達する。必要に
応じて、この符号信号は、新しい文字に出合つた
ときBビツトだけ拡張される。 このテーブル内の各ストリングがCビツト識別
子を割当てられて、これらの識別子が1で始まる
数の順序で割当てられる。2D以下の数の符号を割
当てられたとき、これらの符号の下位Dビツトだ
けを圧縮データ信号として伝送する。ストリン
グ・テーブル内の各記憶場所は、Cビツトの接頭
部ストリング識別子及びその記憶場所にあるスト
リングに割当てられた新しいCビツト符号を含ん
でいる。従つてストリング・テーブルの2Cの記憶
場所の各々は、2Cビツトの巾である。この高圧
実施例の圧縮器で用いられるハツシユ関数は、先
に説明した高性能実施例で用いられたものと同一
である。しかし、この高圧縮実施例においては、
ハツシユ関数回路は、圧縮器に用いられるだけで
ある。 次に第3図を参照すると、本発明の最高圧縮実
施例の圧縮器が示されている。この圧縮器は、入
力文字信号をバス110を通して受けて、圧縮出
力符号記号信号をビツト直列形式でライン111
に与える。この入力文字は、外部装置からバス1
10に与えられる。この外部装置はまた、入力文
字信号が外部装置から使用できて、バス110に
加えられときは常に、データ使用可能信号をライ
ン112に与える。ライン112の上のデータ使
用可能信号は、圧縮器制御装置113に加えられ
る。圧縮器制御装置113は、第3図の圧縮器の
ブロツクのすべてに制御信号をリード114を介
して与える。圧縮器制御装置113は、第3図の
圧縮器をそれの制御状態を介して以下に詳細に説
明する方法で順序づけする。制御装置113はま
た、追加の入力文字を要求する文字ストローブ信
号をライン115を通して外部装置に与える。 バス110の上の入力文字はBビツト文字レジ
スタ116に入れられる。単一文字を出力線11
1に転送することになつているとき、文字レジス
タ116は、その文字のBビツトをバス117を
介してシフト回路網118にゲートするように制
御装置113によつて制御される。シフト回路網
118は、ビツト直列出力をライン111に与
え、バス117の上のBビツトを受けて、これら
のビツトをライン111に直列に与えるように制
御装置113によつて制御される。 第3図の圧縮器は、さらに、圧縮ストリング符
号信号を保持して出力ストリング符号をシフト回
路網118にバス120を介して与えるビツト符
号番号レジスタ119を備えている。符号番号レ
ジスタ119をそれに加わるゼロの値にされた信
号によつてゼロに初期設定できる。 第3図の圧縮器は、さらに、ストリング符号記
号信号を昇順に入力バス110に加えられる入力
データ・ストリームのパースされたストリングに
割当てるCビツト符号計数器121を備えてい
る。制御装置113の制御のもとに、符号計数器
121をそれに加わるゼロの値にされた信号を介
してゼロにリセツトしてもよいし、「計数」指令
信号を介して現存の計数を1だけ大きくしてもよ
い。計数器121は、符号計数器121の中の計
数が値2C−1に達したときを制御装置113にラ
イン123′を介して合図する検出器122に出
力を与える。この値は、計数器がオール1の状態
に達するとき、Cビツト計数器121によつて達
成される。符号計数器121の出力はまた、シフ
ト回路網118によつてシフトアウトされるべき
ビツトの数を定める信号をシフト回路網118に
バス124を介して与える符号大きさ回路123
に加えられる。上述のように、Dビツトがシフト
アウされる(ここでDはC以下である)。 符号大きさ回路123をSN74148優先順位回路
網のような標準Cビツト優先順位符号器回路によ
つて実現できる。符号計数器121は優先順位符
号器に結合され、そして計数器121の昇順重み
のビツトを優先順位符号器の昇順優先順位に並ん
だ優先順位入力にそれぞれ結合される。次に優先
順位符号器は、Dに対する値である2進数信号を
与える。シフト回路網118にバス120に与え
られた出力符号信号のDビツトをライン111に
直列に与えさせるように数Dは、Dシフト・クロ
ツク・パルスのパケツトをゲートするためにシフ
ト回路網118の中で用いることができる。優先
順位符号器を符号大きさ回路123に用いること
に対する多くの代替のものがふつう熟練した論理
設計者にはようい明らかであろう。 例えば、シフト回路網118は、出力符号をバ
ス120に受けて符号大きさ回路123によつて
制御されたシフトクロツクパルスに応答して出力
符号のDビツトをシフトアウトするシフト・レジ
スタを用いて実現できる。符号大きさ回路123
によつて制御されるDクロツクパルスのパケツト
に応答して、シフト回路網118の中に入つてい
るシフト・レジスタがクロツク信号をD回与えら
れる。シフト・レジスタの構成は、この技術分野
では周知であり、その正確な詳細は、データを受
ける外部装置のインタフエースによつて変る。上
述のように、シフト回路網118はまた、B文字
ビツトをバス117からライン111のシフト回
路網118によつて伝送するのを制御する普通の
クロツク制御回路を備えている。 レジスタ119からの符号記号信号及びレジス
タ116からの文字信号は、それぞれバス125
及び126を経てハツシユ関数回路127へ加え
られる。ハツシユ関数回路127は、上述の本発
明の高性能実施例に関して用いられたハツシユ関
数回路と同一である。ハツシユ関数回路127
は、バス125の上のCビツト符号信号をバス1
26の上のBビツト文字信号と組合わせて、バス
128の上に順次にN個のCビツトアドレスを与
える。ハツシユ関数回路127は、リード129
を介して制御装置113にバス128の上に与え
られたハツシユアドレスがその列の中のN番目の
アドレスであるかどうかを知らせる。 ハツシユ関数回路127はまた、制御装置11
3から「新ハツシユ」指令及び「次のハツシユ」
指令を受ける。制御装置113は「新ハツシユ」
指令に応じてN個のハツシユアドレスの最初のも
のを与え、また「次のハツシユ」指令の相次ぐ発
生に応じて相次ぐハツシユアドレスを与えるよう
にハツシユ関数回路127に指令する。上述のよ
うに、ハツシユ関数回路127がN番目のハツシ
ユアドレスを与えたとき、一つの信号をリード1
29を経て制御装置113に戻す。 バス128の上のハツシユ・アドレスは、Cビ
ツトRAMアドレス・レジスタ130に加えられ
る。RAMアドレス・レジスタ130にロードさ
れたアドレスが圧縮器ストリング・テーブルを記
憶するのに用いられるRAM131を呼出す。
RAM131は各々2Cビツト巾の2Cの記憶場所に
編成される。一つの文字ストリングが一つの記憶
場所に符号計数器121によつて割当てられたそ
のストリングに対する符号番号及びその接頭部符
号、すなわち、そのストリングの最終文字を除く
すべての文字を含むストリングの符号番号を入れ
ることによつて記憶される。RAM131は、す
べての記憶場所が最初に空であることを示すオー
ル・ゼロをストリング符号欄に含むように初期設
定される。文字をもたないストリングである符号
ゼロのストリングは、RAM131の中に記述項
をもたない。 RAM131は、RAM131の「読出し」及
び「書込み」機能を制御するために制御装置11
3から「読出し」指令及び「書込み」指令を受け
る。制御装置113がRAM131に「書込み」
機能を実行するように指令すると、RAMアドレ
ス・レジスタ130によつて呼出された記憶場所
のストリング符号欄がバス132を経て符号計数
器121のCビツト出力を受入、また呼出された
記憶場所の接頭部符号欄が符号番号レジスタ11
9からの入力をバス133を経て受ける。制御装
置113がRAM131にRAMアドレス・レジ
スタ130によつて呼出された記憶場所の内容を
読出すように指令すると、呼出された記憶場所の
接頭部符号がバス135を経て比較器134に加
えられ、また呼出された記憶場所のストリング符
号がバス136を経て符号番号レジスタ119へ
加えられると共に、ゼロ検出器137にも加えら
れる。比較器134はまた、バス138にゼロの
値をもつ信号を受ける。第3図の圧縮器の現存の
状態次第で、制御装置113は、バス135の上
の接頭部符号とレジスタの中に記憶された符号と
が等しいか等しくないかを試験するか、またはレ
ジスタ119の中の符号信号がゼロに等しいか等
しくないかを試験するように比較器134を制御
する。これらの試験の結果は、リード139を経
て制御装置113に与えられる。第3図の圧縮器
の現存の状態に従えば、制御装置113は、バス
136の上のストリング符号がゼロに等しいか等
しくないかを決めるためのゼロ検出器137を始
動させる。決定の結果は、リード140を経て制
御装置113に与えられる。 第3図の圧縮器はまた、Cビツト信号をバス1
42を経てRAMアドレスレジスタ130に与え
る初期設定計数器141を備えている。制御装置
113は、計数指令を介して計数器141を制御
してその計数器の内容を計数指令を加えるごとに
1だけ増やす。計数器141は、それが計数2C
達したときを制御装置113にリード143の上
のキヤリアウトまたはオーバフロー信号を介して
知らせる。初期設定計数器141は、RAM13
1の記憶場所のすべてを順次に呼出してストリン
グ符号欄にバス132から得た値ゼロを書込むこ
とによつてRAM131を空に初期設定するのに
用いられる。それは必要ではないけれども、接頭
部符号欄を実現の便宜上バス133から得た値ゼ
ロを書込むことによつて初期設定してもよい。 一般的にいえば、第3図の圧縮器に関しては、
ライン111に与えられる各出力符号記号信号
は、符号計数器121の中に現存する値によつて
定められるDビツトの長さをもつている。符号計
数器内の最高のゼロでないビツトがD番目のビツ
トであつて、その結果圧縮器出力符号の大きさが
符号計数器内の値の大きさに等しい。圧縮器によ
つて伝送されるべき最初の符号記号信号は、ゼロ
ビツトの巾であるが、それに付加されたBビツト
の文字記号信号をもつている。二番目の符号記号
信号は、1ビツトの長さで、次の二つの符号記号
信号は、二つのビツトを各々含んでいる。次の四
つの符号記号信号は、3ビツトを各々含んでい
る、など。これらの符号記号の幾つかはまたそれ
らに追加されたBビツトの文字値をもつている。
値Dは、Cビツトで最大に達する。 第3図の圧縮器の基本動作は次のように要約さ
れる。 1 各データ・ブロツクごとに、RAMを空に初
期設定する。 2 符号レジスタをゼロ符号でスタート、最初の
入力文字を読出す 3 ハツシユ(符号レジスタ、文字)→N個の
RAMアドレスの列 RAM記憶場所が空ならば、 符号レジスタ、符号計数器をRAMに書込む、 符号レジスタのDビツトを出力として伝送す
る; 符号計数器を増分する;ゼロ→符号レジスタ: 接頭部符号(RAM)=符号レジスタならば、 新符号(RAM)→符号レジスタ、 新入力文字を読出す、 符号値が見出されなければ、 符号レジスタのDビツトを出力として伝送す
る、 符号計数器を増分する;ゼロ→符号レジスタ; 入力が尽きるまでステツプ3を繰返す。 第3図を続けて参照すると、以下のものが第3
図の圧縮器の状態機械記述語である。 状態0:「待ち状態」各データ・ブロツクの始め
において、 ゼロ→初期設定計数器 ゼロ→符号レジスタ ゼロ→符号計数器 データ使用可能信号を待つ;状態1へ行く。 状態1:「RAMを初期設定する」 初期設定計数器→RAMアドレス ゼロをRAMに書込む 初期設定計数器に+1を加える 初期設定計数が<2Cならば:状態1を繰返す、 そうでなければ状態2へ行く。 状態2:「入力文字を読出す」 どのデータも使用できなければ: 符号レジスタ=ゼロの場合 符号レジスタのDビツトを出力として伝送す
る。 状態0へ出る データが使用可能ならば 次の文字を文字レジスタに読出す 状態3へ行く。 状態3:「最初のテーブル探索」 最初のハツシユ(符号レジスタ、文字)→
RAMアドレス RAMを読出す ストリング符号(RAM)=ゼロならば:(空サ
イト) 状態5へ行く 接頭部符号(RAM)=符号レジスタならば
(ストリングが見出される): ストリング符号(RAM)→符号レジスタ 状態2へ行く そうでなければ状態4へ行く。 状態4:「テーブル探索を繰返す」 次のハツシユ(符号レジスタ、文字)→RAM
アドレス RAMを読出す ストリング符号(RAM)=ゼロならば:状態
5へ行く。 接頭部符号(RAM)=符号レジスタならば、 ストリンク符号(RAM)→符号レジスタ、状
態2へ行く 最終ハツシユならば、 状態6へ行く そうでなければ、状態4を繰返す 状態5:「新ストリング・エントリー」 符号レジスタのDビツトを出力として伝送する 符号計数器<2C−1ならば 符号計数器へ+1を加える 符号レジスタ=ゼロならば Bビツト文字を出力として伝送する 状態2へ行く 符号レジスタ=非ゼロならば、 ゼロ→符号レジスタ 状態3へ行く 状態6:「ストリング終結」 符号レジスタのDビツトを出力として伝送する 符号計数器<2C−1ならば: 符号計数器+1を加える 符号レジスタ=ゼロならば: Bビツト文字を出力として伝送する 状態2へ行く 符号レジスタ=非ゼロならば: ゼロ→符号レジスタ 状態3へ行く。 上に与えられた状態機械記述語に関する第3図
の圧縮器の動作のさら詳しい説明を次に行う。
〔0〕 待ち状態.1ブロツクの入力文字を待つ
ている間、第3図の圧縮器は、この状態にあ
る。「待ち状態」の間、制御装置113は、初
期設定計数器141、符号番号レジスタ119
及び符号計数器121をゼロにリセツトする。
入力データを供給する外部信号源からのリード
112の上のデータ使用可能信号は、入力デー
タが使用可能であるときを指示するために用い
られる。データ使用可能になると、リード11
2の上のデータ使用可能信号は、制御装置11
3に「初期設定状態」に入るように合図する。 〔1〕 初期設定状態 ランダムアクセス記憶装
置RAM131の内容は、空であるよう初期設
定される。この実施例における空記号は、ゼロ
として選ばれる。従つて、RAM131の初期
設定は、すべての記憶場所にゼロを挿入するこ
とによつて達成される。ストリング符号記述項
だけがゼロでなければならないが、接頭部符号
値は、同時に、実現の便宜上、ゼロにセツトさ
れることがわかる。この初期設定は、Cビツト
初期セツト計数器141の中の値をバス142
を経てRAMアドレス・レジスタ130にゲー
トすることによつて記憶サイクルを繰返して達
成される。RAM131への入力は、符号番号
レジスタ119からバス133を経て与えられ
るとともに、符号計数器121からバス132
を経ても与えられる。レジスタ119及び計数
器121の両方が「初期設定状態」の間ゼロに
なつている。RAM131は、RAMアドレ
ス・レジスタ130によつて指定された記憶場
所にゼロ入力データを書込むように制御され
る。初期設定計数器141は、その現在の内容
を1だけ増分することよつて数え上げるよう指
令される。この一連の事象は、各記憶場所ごと
1回、計2C回繰返される。2Cのそのような計数
ののちに、初期設定計数器141は、2C計数が
起つたことを知らせるオーバフローまたはキヤ
リアウト信号を制御装置113へリード143
を経て与える。次に制御装置113は、第3図
の圧縮器を「入力文字読出し状態」へ進める。 〔2〕 入力文字読出し状態 第3図の圧縮器が
新しい文字に対して用意が整うと常に、この状
態に入る。符号番号レジスタ119にある値
は、現在のストリングの中で既に遭遇した文字
を識別する。レジスタ119の中にゼロの値が
あると新ストリングの始りであることを示す。
一つの文字信号が入力文字バス110から文字
レジスタ116に入れられる前に、リード11
2の上のデータ使用可能信号が検査される。デ
ータ使用可能信号がどのデータも使用できない
ことを示す場合、入力データ・ブロツクの終り
に達したことになる。その状況において、符号
番号レジスタ119の中のどの非ゼロ値をも圧
縮データ・ブロツクを完成するように圧縮器に
よつて伝送しなければならない。従つて符号番
号レジスタ119の内容は、比較器134にお
いてゼロと比較される。レジスタ119の内容
がゼロでなければ、比較器134は、制御装置
113にリード139を経て信号を与えて、制
御装置113が符号番号レジスタ119の内容
をシフト回路網118にバス120を経てゲー
トする。符号大きさ回路123は、符号計数器
121からのDに対する値を定めて符号値のD
ビツトをシフトアウトするようにシフト回路網
118を制御する。このデータが出力されてし
まつたとき、制御装置113は、それ以上の入
力データを待つために「待ち状態」に戻るよう
に第3図の圧縮器を制御する。 リード112の上のデータ使用可能信号によ
つて、それ以上の入力データが使用可能であれ
ば、バス110から一つの文字が文字レジスタ
116に読み込まれ、文字を受取つたことの知
らせを与える文字ストローブ信号を外部装置へ
のリード115の上に与える。次に、制御装置
113は、「最初のテーブル探索状態」に入る
ように第3図の圧縮器を制御する。 〔3〕 最初のテーブル探索状態 文字レジスタ
116の文字によつて拡張された符号番号レジ
スタ119の中の値によつて識別されるストリ
ングから成るポテンシヤル・ストリングを、次
にそれがストリングテーブル内に現れるかどう
かを決めるために探索する。レジスタ119か
らの符号信号及びレジスタ116からの文字信
号は、その組合わせに対するハツシユ・アドレ
スを発生するハツシユ関数回路127へそれぞ
れバス125及び126を経てゲートされる。
Cビツトアドレスは、バス128を経てRAM
アドレスレジスタ130へゲートされ、RAM
アドレスレジスタ130はアドレス指定された
記憶場所でRAM131を呼出す。RAM13
1は、呼出された記憶場所の内容を読み出し
て、バス135に接頭部符号値をそしてバス1
36にストリング符号値を与えるように制御さ
れる。バス136に結果として生ずるストリン
グ符号値がゼロ検出器137によつてゼロであ
ると決められると、その記憶場所は空であつ
て、それは拡張ストリングがそのストリング・
テーブルにないことを意味する。その状況にお
いて、現在のストリングの処理が決定されて、
圧縮器は、そのテーブルを更新して出力を発生
するために「新ストリング・エントリー状態」
に入るように制御される。 しかしバス136の上のストリング符号値が
ゼロでなければ、バス135の上の接頭部符号
値は、比較器134によつてレジスタ119の
中の符号値と比較される。それらの値が等しけ
れば、拡張ストリングは、そのテーブル内に存
在して拡張ストリングが新ベースストリングに
なる。これは、バス136に現れる現在のスト
リングのストリング符号を符号番号レジスタ1
19にロードすることによつて行われる。次
に、次の文字が「入力文字読出し状態」に入る
ことによつて取出される。 バス135の上の接頭部符号が符号レジスタ
119の中の値に一致しないで、かつバス13
6の上のストリング符号値がゼロでない場合、
テーブル探索を続ける。継続されたテーブル探
索は、「テーブル探索繰返し状態」入るように
圧縮器を制御することによつて行われる。 〔4〕 テーブル探索繰返し状態 「最初のテー
ブル探索状態」において、適当な占有データも
空記憶場所もハツシユ関数回路127によつて
与えられた最初のハツシユ・アドレスにないと
き、相次ぐハツシユドレスがRAM131をア
ドレス指定するために与えられる。従つて各後
続ストリング・テーブル探索は、ハツシユ関数
回路127からの次のハツシユ値をバス128
を経てRAMアドレス・レジスタ130に転送
して、代りの探索サイトにおいてRAM131
をアドレス指定することによつて実行される。
RAM131はアドレス指定されたサイトにお
ける内容を読み出して、その記憶場所に記憶さ
れたストリング符号及び接頭部符号をそれぞれ
バス136及び135の上に与えるように制御
される。本質的には、「最初のテーブル探索状
態」におけると同じ試験が探索されたストリン
グが見出されたかどうか、または空記憶場所に
遭遇したかどうかを決めるために行われる。バ
ス136の上のストリング符号が検出器137
によつてゼロであると検出されれば、その記憶
場所が空であつて、「新ストリング・エントリ
ー状態」に入る。バス136の上のストリング
符号がゼロでなく、かつバス135の上の接頭
部符号がレジスタ119からの現在の符号値
に、比較器134によつて決められるように、
一致すれば、そのストリングが見出されたので
あり、バス136の上の新ストリング符号値が
符号番号レジスタ119に入れられる。上記の
条件のどちらも起こらなければ、現在のストリ
ング対する探索は、この「テーブル探索繰返し
状態」に再び入ることよつて続けられる。しか
し、ハツシユ関数回路127からのリード12
9の上の信号よつて表わされるようにN個のハ
ツシユアドレスすべてを利用した場合、そのス
トリングは、そのストリング・テーブル内にな
いと定められて、そのテーブル内のどのスペー
スもそれを挿入しないN個のハツシユ・アドレ
スが試みられて成功しなかつたとき、「ストリ
ング終結状態」に入る。 〔5〕 新ストリング・エントリー状態 一つの
ストリングの処理はそのストリングへの拡張が
ストリング・テーブルに見出されないで、空記
憶場所に遭遇したとき終りにされる。これが起
こると、前に認識されたストリング符号信号が
圧縮符号出力信号として伝送され、拡張ストリ
ングが潜在的なあとの符号化のために、ストリ
ング・テーブルに入れられる。従つて、レジス
タ119の中の前の認識されたストリング符号
信号は、バス120を介して出力シフト回路網
118へ転送される。シフト回路網118は、
出力リード111の上に出力符号のDビツトを
与える(ここでDは符号計数器121の中の値
に従つて符号大きさ回路123によつて決めら
れる)。 出力がリード111に配送されたのち、検出
器122は計数器121のオール1の状態によ
つて示される値2C−1に対して符号計数器12
1を試験する。計数器121がオール1を含ま
ない場合、計数器121の中の値は、制御装置
113からの「計数」指令信号の制御のもとに
1だけ増分される。なお、検出器122が符号
計数器121のオール1の状態を検出しない場
合、新ストリングが前の状態で空であると決定
されたばかりのアドレスにおいてストリング・
テーブルの中に入れられる。これはRAMアド
レスレジスタ130の中のアドレスをその前の
値で不変に維持し、符号レジスタ119からの
バス133の上の接頭部符号及び符号計数器1
21によつて割当てられたばかりのバス132
の上のストリング符号をRAM131の中のア
ドレス指定された記憶場所の接頭部符号欄及び
ストリング符号欄にそれぞれ書込むように
RAM131を制御することによつて達成され
る。 そのあとで、比較器134は、最後に伝送さ
れた符号がゼロであつたかどうかを決めるため
に符号番号レジスタ119を試験する。最後に
伝送された信号がゼロであつた場合、これはス
トリング・テーブル内に対応する文字値のなか
つた1文字のストリングを意味した。従つてそ
の文字値は圧縮器出力として伝送されなければ
ならない。従つて、文字レジスタ116からの
Bビツト値は、こんどは、すべてのBビツトを
出力として直列に伝送するように制御されてい
るシフト回路網118にバス117を介して転
送される。次に、新ストリングを開始するため
に「入力文字読出し状態」に入る。 しかし、符号番号レジスタ119が非ゼロ値
を含んでいれば、文字レジスタ116の中の現
在の文字は伝送されないで、次のストリングの
最初の文字として用いられる。従つて、符号レ
ジスタ119は、新ストリングを指示するため
にゼロに払われ、「最初のテーブル探索状態」
に入る。 〔6〕 ストリング終結状態 この状態は、空記
憶場所に遭遇しなかつたのでストリング・テー
ブル内でエントリーが全く行われないのを除い
て「新ストリング・エントリー状態」と同一で
ある。しかし「新ストリング・エントリー状
態」の前述のアクシヨンのすべては、RAM1
31の中への「書込み」動作以外は行われる。
符号計数器121を増分すると、一つのストリ
ング番号が新しい拡張ストリングに割当てられ
るが、この拡張ストリングはテーブルに入れら
れない。そのストリングのためのスペースが見
出されなかつたので、エントリーが起らず、従
つて符号化されたストリングをあとの符号化に
使用できない。テーブルからのこの削除は、シ
ステムの圧縮有効性を小さくする可能性がある
が、正しくない動作を生じない。 第2図及び第3図に示した本発明の上述の実施
例は、例えば、離散的デジタル論理構成要素を用
いてハードウエアで実現される。第1〜4表は、
本発明によるデータ信号の圧縮及び復元を行うプ
ログラム記憶式デジタル計算機にロードするソフ
トウエアで実現された本発明の1実施例を示して
いる。明確にいえば、本発明のプログラム式計算
機実施例は、第2図に関して先に述べた本発明の
最高性能実施例をソフトウエアで実現する。第1
〜4表のプログラム式計算機実施例は
FORTRANで実現されるので、互換性
FORTRANコンパイラを備えた計算機ならどれ
でも実行できる。圧縮器は、それぞれ入力及び出
力データを管理する主プログラムの中で呼出され
るべきサブルーチンとして実現される。圧縮器の
サブルーチンは、基礎になつている計算機のワー
ドの大きさに関係のない任意の長さで密につめら
れた記号の配列について取る動作と置く動作をそ
れぞれ行うIBITSG及びIBITSPという名の文字
操作サブプログラムを用いる。IBITSG及び
IBITSPサブプロクラムは、それぞれ等しい大き
さの記号のの直線配列の指定された位置にある選
択さ れたビツト長の一つの記号をそれぞれ取つたり、
置いたりする。IBITSGは、圧縮器及び復元器サ
ブルーチンにおいて用いるための機能サブプログ
ラムとして実現され、IBITSPは、圧縮器及び復
元器サブルーチンの実行において呼び出されるべ
きサブルーチン・サブプログラムとして実現され
る。第3表及び第4表は、それぞれIBITSG及び
IBITSPを示す。これらのサブプログラムは、例
として与えられ、等価なサブプログラムが普通に
熟練した計算機プログラマによつて容易に作られ
る。 第1表及び第2表にそれぞれ示した圧縮器及び
復元器のサブルーチンは、それぞれCOMP及び
DECOMPという名称である。COMPサブルーチ
ンは、9ビツト文字信号のストリングを12ビツト
符号記号信号に圧縮し、DECOMPサブルーチン
は、12ビツト符号記号信号を9ビツト文字信号の
ストリングに復元する。例示したサブルーチン
は、36ビツトワード長を有する計算機を用いる。
これらのサブルーチンは、32ビツト計算機を用い
て8ビツト文字で動作するように容易に変換され
る。COMP及びDECOMPは、サブルーチンとし
て構成されるけれども、それらは当然別々のプロ
グラムとして等価に構成できる可能性のあること
がわかる。FORTRANがこれらのルーチンを実
施するために用いられるが、他の等価なプログラ
ム言語を同じ効果に用いることができるであろ
う。 さて、第1表を参照すると、COMP(IBUFA,
NA,IBUFB,NB)サブルーチンが示されてい
る。COMPサブルーチンは、配列IBUFAに含ま
れたNA個の9ビツト文字のブロツクについてデ
ータ圧縮を行う。COMPは、配列IBUFBの中の
NB個の12ビツト記号で構成された圧縮符号を作
る。 COMPは、圧縮器ストリング・テーブルを記
憶するための4096整数配列ITABLEを内部的に
用いる。従つて、第1表の文14は、ITABLE配
列の寸法を決める。ITABLEの中の各記憶場所
は、そのテーブル内のアドレスに等しい圧縮符号
をもつ遭遇した文字ストリングに対応する。この
インプリメンテーシヨンにおいては、
FORTRANがゼロを基準とした配列を支持しな
いので、アドレスを作るのに1をその符号に加え
る。一つのストリングを記憶する各テーブル記憶
場所は、そのストリングの接続部の符号を含む。
ストリング・テーブルは、空であるように初期設
定される。ITABLEの空状態は、値512をもつ
IFILLという空白記号でテーブルを埋めることに
よつて行われ、値512は、どのストリングに対し
ても用いられるものではない任意の選択された符
号値である。第1表の文15は、IFILLの量を限定
する。従つて、IFILLは、値2Bをもつている(こ
の実施例において、Bは、9である)ことがわか
る。第1表の実施例は、文16によつて1を含むよ
うに確立されて、初期設定された内部文字計数器
NCHAを用いる。NCHA計数器は、読出される
べき次の入力文字のインデツクスを与える。第1
表の圧縮器はまた、FORTRAN文17によつて定
義されて、1に初期設定される内部出力記号計数
器NBを用いる。記号計数器NBは、発生される
べき次の出力記号のインデツクスを与える。
FORTRAN文18及び19は、4096の記憶場所すべ
てにIFILLを挿入することによつてすべての空白
値を含むようにストリング・テーブルを初期設定
する。ITABLEの最初の513記憶場所は、決して
呼出されないので、それらの記憶場所は、初期設
定を必要としない。これらの記憶場所の初期設定
は、そうする時間を節約したい場合省略できる。 最初の文字は、最初の文字1からの9ビツトを
IBUFAから検索するIBITSG機能を用いて
FORTRAN文20によつて読出される。この入力
文字は、文20においてその文字の値に等しいそれ
のあらかじめ割当てられた単一文字ストリング符
号値に変数NODENOその値を記憶することによ
つて変換される。変数NODENOは、既に読出さ
れた文字のどの部分的入力ストリングに対しても
その符号値を含むように用いられる。第1表の文
16〜20は、1ブロツクのデータを処理するための
初期設定及びその過程の開始を完成する。 第1表の文21は、各新しい入力文字が読出され
る主処理ループへの入口を与える。文21は、それ
への飛び越しを行うためのラベル100を備えてい
る。文字インデツクス計数器NCHAは、文21で
増分される。文22は、NCHAが入力パラメータ
NAより大きいかどうかを決定し、NCHAがNA
を超えていれば、すべての入力文字は、使い果た
されたのであつて、飛び越しがデータブロツク終
了処理のための文40へ行われる。文40は、その飛
び越しを行うためのラベル400を備えている。 正常の状況においては、新しい文字が使用でき
るとき、文23は、NCHA番目の9ビツト文字を
入力バツフアIBUFAからNOWCHRという名の
変数に読込むためのIBITSG機能サブプログラム
を用いる。文24は、NOWCHRの中の値及び
NODENOの中の値、すなわちNOWCHR内の文
字よつて拡張されたNODENOの中の符号によつ
て定められるストリングのハツシユアドレス
LOCを計算すための前のストリング符号を用い
る。文24の中で述べられたハツシユ関数は、文字
の値がビツトが逆でないこと以外第2図に関して
上に述べたものと同じである。前述のハードウエ
ア実施例においてはそうすることが便利であるけ
れども、ソフトウエアで文字の値を1ビツトずつ
逆にするのは不便である。なお、文24のハツシユ
関数は、FORTRANがゼロペースの配列を支持
しないので、LOCの値がアドレスを作るのにそ
れに1を加えられている点でハードウエア実施例
において用いられたハツシユ関数と異なる。この
最初のハツシユアドレスを発生したのち、計数器
の変数Nが、LOCの中の値がテーブルの中のN
個の可能な探索サイトの最初のものであるという
ことを示す文25によつて限定されて、1に初期設
定される。本実施例においては、Nは7として選
択される。 第1表の文26は、計数変数としてNを用いるテ
ーブル探索ループへの入口を与える。文26は、そ
れへ飛び越しを行うことのできるようにラベル
120を備えている。文26は、LOCが適法な値を含
むかどうかを決定する。従つて、文26は、LOC
が513より大きいかどうかを決める。記号符号ゼ
ロないし511は、単一文字のストリングにあらか
じめ割当てられ、512は、空白記号に対して逆に
され、かつすべての符号は、上述のFORTRAN
規則のために1だけ増やされる。LOCが適法な
新しいアドレスを含まなければ、飛び越しが文31
へ行われて、もう一つの試みを発生する。文31
は、飛び越しを行うためのラベル180を備えてい
る。正常には、LOC内の値は、適法なアドレス
であつて、その記憶場所におけるストリング・テ
ーブルの内容は、文27における既存の文字ストリ
ング符号に対して検査される。アドレス指定され
たストリング記憶場所の内容が既存のストリング
信号に等しくなければ、探索されたストリング
は、前にこの符号値を割当てられなかつたので文
30への飛び越しがその探索を続けるために行われ
る。文30は、転送を行うためのラベル130を備え
ている。しかし、文27で試験された符号値が等し
ければ、現在の文字によつて拡張された前のスト
リングは、ストリング・テーブルにLOC−1に
等しい符号値と一緒に既に記憶された受入れられ
たストリングである。文28は、この新しいストリ
ングを前のストリング符号LOC−1を変数
NODENOにおいて記憶することによつて変換す
る。次に、文29は、もう一つの入力文字を読出し
て、ストリング拡張処理を繰返すために文21に戻
る転送を行う。 文27において、前のITABLE呼出しが失敗に
終ると、飛び越しが文30に割当てられたラベル
130を介して文30に行われる。文30は、記憶場所
LOCが空であるかどうかそれの内容の初期値
IFLILLに対する相等を試験することによつて決
める。その記憶場所が空であれば、探索されたス
トリングは、そのテーブルの中に存在しないと定
められて、そのテーブルを更新し、現在のストリ
ングを終了にするために飛び越しが文35へ行われ
る。文35への飛び越しは、その文に割当てられた
ラベル200によつて行われる。しかし、文27及び
30によつて行われた試験が共に失敗に終れば、も
う一つの記憶場所が、調べられた最後の記憶場所
が一つのストリングまたは空記憶場所を発見する
ための7番目の試みを構成するのでなければ、検
査されなければならない。従つて、文31は、探索
計数Nを1だけ増分し、文32は、この次の探索計
数をそれが7を越しているかどうかを決めるため
に試験する。Nがこんどは7を超えていれば、そ
れ以上の探索が試みられず、そのストリングは、
そのテーブルの中に存在しないと定められていて
文36への転送が行われる。ラベル300は、飛び越
しを行うために文36に割当てられている。しか
し、Nがまだ7に等しくなければ、探索されたス
トリングに対する探索は、新しいハツシユ・アド
レスにおいて続けられる。文33は、試験されたば
かりのノード番号へ加えられる接頭部ストリン
グ・ノード番号から新しいハツシユ・アドレスを
計算する。テーブル長を保つために加算が4096を
法として行われる。この新しいノード番号は、ま
たFORTRAN適法記憶場所LOCを与えるために
1だけ増やされる。新しいハツシユ・アドレスか
計算されると、文34は、新しいアドレスに関する
探索手順を行うために文26への転送をラベル120
を介して行う。 文35は、空記憶場所に遭遇したときに文30が転
送を行つた転送先のプログラム内の状態を切分け
る。ストリング・テーブルは、こんどは、空記憶
場所において、観察されたばかりであるがまだテ
ーブルの中に入つていない拡張ストリングを入れ
ることによつて更新される。文35は、NODENO
の中に記憶された接頭部ノード番号をその記憶場
所のアドレスを新しいストリングの圧縮符号記号
信号としての割当てを行う空記憶場所に書込むこ
とよつて更新を行う。そのあとで、ストリングの
処理の終りが文36〜38によつて行われる。文36
は、IBITSPを呼出してNODENOの中の現在の
ノード番号を出力バツフアIBUFBにそのバツフ
ア内のNB番目の12ビツト記憶場所にある12ビツ
ト符号として置く。次に、文37は、伝送されたば
かりのストリンクの中に含まれていなかつた最後
に受けた入力文字を符号番号に変換して、次のス
トリング探索の始めを与える。その文字信号は、
NOWCHRの中の値をNODENOに転送すること
によつて符号信号になる。次に、文38は、出力記
号計数NBを1だけ増分して、開始したばかりの
ストリングに出力1を与え、文39は、ラベル100
を介して文21に戻り転送し、もう一つ入力文字信
号を取出して、主反復ループを行う。 文40は、現在のデータ・ブロツク内のすべての
入力文字を処理したプログラムの中の状態を切分
ける。従つて、文40は、IBITSPを呼出し最後の
部分ストリンクを示すNODENO内の最後の12ビ
ツト符号値を出力バツフアIBUFBのNB番目の
位置に置く。次に、文41は、入力バツフア
IBUFA内に含まれたNA文字信号のデータ・ブ
ロツクを圧縮するために第1表のサブルーチン
COMPを呼出した主プログラムに制御を戻す。 第2表を参照すると、バツフアIBUFBの中に
受け入れられたNB個の12ビツト圧縮符号記号信
号のブロツクについて復元を行い、結果として生
じた回復された9ツトの文字信号を出力バツフア
IBUFAに詰めて、結果として生じた文字の数の
計数NAを戻す復元サブルーチンDECOMP
(IBUFB,NB.IBUFA,NA)が示されている。 第1ないし4表に関して説明した発明の実施例
は、FORTRANプログラミング言語で与えられ
た圧縮及び復元サブルーチンとして例示された
が、その圧縮及び復元のルーチンは、当然に主プ
ログラムとしてフオーマツトを作ることができ
た。これらのプログラムは、例えばコンピユータ
またはマイクロプロセツサにおいて、ソフトウエ
アとして用いることができるし、または、例え
ば、磁気デイスクまたはテープの制御装置の入出
力電子回路において用いるためのROMチツプの
形でフアームウエアとして構成してもよい。な
お、FORTRAN以外のプログラミング言語を用
いることもできるし、または同じ言語または他の
言語における他のプログラムコーデイングをここ
で説明した機能を行うのに用いて、本発明のデー
タ信号圧縮及び復元の諸手順を実施することもで
きる。 マイクロプロセツサまたは他の形式のコンピユ
ータのプロクラム式のものがここで説明した能力
と技術の1実施例を、基本的データ操作の選択及
び状態順序づけ制御インプリメンテーシヨンの選
択における以外は、ここで述べたデジタル論理式
のものと区別できないものとして与えることが分
る。汎用コンピユータにおける標準化されたデー
タ操作動作をワイヤ及び論理ゲートの形でなく再
書込みできる記憶装置に記憶された制御論理の容
易に変更された形と共に作ることの経済性は、実
行速度のある程度の相対的損失で特定の適用業務
に対して経済的に作ることができ、さ細な方法で
迅速に変更できる実施例を与える。 本発明のハードウエア実施例に関する上述のハ
ツシユ関数は、20ビツトの項目(12の符号ビツト
と8の文字ビツト)を含む符号、文字タプルを12
ビツト・アドレス・スペースにマツプする。ソフ
トウエア実施例に関して用いられたハツシユ関数
は、21ビツト項目(12符号ビツトと9文字ビツ
ト)を12ビツト・アドレス・スペースにマツプす
る。20ビツトの値及び21ビツトの値のすべてが起
るわけではないので、そのようなハツシユ関数を
用いることができる。上述のハツシユ関数を前に
述べた基準を満たすように設計した。なお、この
ハツシユ関数は、その諸仮定から生ずる撞着を最
小にするように設計され、第1には、幾つかの
個々の入力文字がほかのものよりより激しく用い
られ、低い番号の文字が激しく使われ易く、そし
て第2には、幾つかの符号が他のものよりより激
しく用いられ、早期に生ずる符号が最も激しく用
いられるであろう。上述のものに代るハツシユ関
数を符号の左5ビツトを回転することによつて最
初のハツシユアドレスを発生し、その文字ビツト
を回転された符号の高位ビツトに排他的論理積演
算をしてインプリメントできる。三つの相次ぐア
ドレスが前の12ビツト・ハツシユ・アドレスにモ
ジユロ4096を加えることによつて発生され、新し
い12ビツト番号が終端間で反転され、かつ結果と
して生じた番号の最下位ビツトを1に強制して左
3ビツトを回転した符号番号を含んでいる。 第2図及び第3図に関して説明した本発明の実
施例は、本発明の代りの実施例を与えるために上
述のものと異なる組合わせで結合できる種々の随
意選択的技術を用いる。第2図の圧縮器は、単一
文字ストリングのすべてでストリング・テーブル
を初期設定するが、一方第3図の圧縮器は、ゼロ
ストリングだけでストリング・テーブルを初期設
定する。第2図については、単一文字ストリング
の初期設定を単一文字そのものをこれらのストリ
ングの符号番号として用い、2Bより大きいアドレ
スに対してのみストリング・テーブルにアクセス
することを可能にすることによつて行われる。圧
縮されるべき文字のすべては、Bビツト・バイト
であるから、すべての文字は、2Bより小さな値を
もつている。従つて、2Bより小さい符号値をもつ
単一文字ストリングが第2図の圧縮器によつてス
トリング・テーブルのアクセスなしで伝送され
る。第3図の圧縮器は、ゼロストリングだけでテ
ーブル初期設定を行うのであつて、それのストリ
ング・テーブルをゼロないし2C−1のすべてのア
ドレスで呼出す。従つて、第3図の圧縮器の実施
例においては、単一文字ストリングが、受けた文
字を符号番号ゼロでハツシユして、結果として生
じたハツシユ・アドレスにあるゼロのストリング
接頭部符号を入れることによつてストリング・テ
ーブルに入れられる。 このほかの選択として、第2図の圧縮器は、ス
トリングのハツシユ・テーブル・アドレスをそれ
のストリング符号記号信号として割当てるが、一
方、第3図の圧縮器は、新ストリング・エントリ
が作られるストリング符号記号信号を各ストリン
グに逐次に割当てる。 なお別の選択として、第2図の圧縮器は、固定
長符号値を各ストリングに割当てるが、一方、第
3図の圧縮器は、変化する長さの符号記号を各ス
トリングに割当てる。第2図の実施例において、
固定長はCビツトの全アドレス長であるが、一方
第3図の実施例においては圧縮符号記号の長さは
Cビツトの長さが得られるまでデータブロツクの
処理の間増える。 前述のように、各選択は、第2図及び第3図に
開示された実施例においてインプリメントされ
る。これらの選択を本発明の範囲内で追加で実施
例を作るようにこの技術における実務者が再結合
できる。上述の四つの選択の各々は、二つの可能
な手段をもつているので、16の別々の実施例を構
成できる。例えば第3図の圧縮器に関して、逐次
割当てストリング符号をCビツトの固定長出力と
して伝送できる。その場合に、符号大きさ回路1
23を除去できる。そのような圧縮装置において
ストリング・テーブルをゼロストリングだけで初
期設定する選択が組入れられると(第3図で説明
したように)、第3図の圧縮器のシフト回路網1
18を用いてオールゼロの空白符号の伝送に続く
Bビツト・バイトと同様に固定長Cビツト圧縮符
号信号を伝送するのに用いることができる。しか
し、第3図の圧縮器を上述のように固定長符号選
択を含むように変更し、さらにすべての単一符号
のストリングを使うストリング・テーブル初期設
定を用いるように変更するとすれば、第3図の圧
縮器のシフト回路網118を符号番号レジスタ1
19からバス120を通して与えられる出力と共
に除去することになろう。さらに、第3図の符号
計数器121をストリング・テーブル初期設定が
行われたのちに、2Bにセツトすることになる。な
お、符号レジスタ116からの第3図のバス11
7は、Bビツト文字をレジスタ119の最下位位
置に挿入するために符号番号レジスタ119に加
えることになろう。レジスタ119のC−Bの最
上位位置をゼロにセツトすることになろう。第3
図の圧縮器に対する上述の変更は、圧縮効率を犠
牲にして性能を向上させることになろう。 上述のことから、変更された第3図のレジスタ
116及び119とそれらの動作との間の関係
は、第2図のレジスタ17及び19とその動作と
の間の関係と同一であることが分る。なお、すべ
ての単一文字ストリングを使つたテーブル初期設
定を用いる変更された実施例においては、第3図
の比較器134へのゼロの値をもつた入力は、用
いられない。初めて遭遇する文字の単一符号スト
リングを含む単一文字のストリングは、新しく遭
遇した文字に対して、新しい文字に先だつオール
ゼロの空白符号信号を伝送するのではなく、第2
図に関して述べたものと同一の方法で伝送され
る。 単一文字のストリングのすべてでストリング・
テーブルを初期設定し、新しいストリング・エン
トリが作られるとき、ストリング符号記号を逐次
に割当て、そして変化する長さの圧縮符号信号を
伝送する圧縮装置実施例を作りたい場合は、第3
図の装置をそれ相応に変更できる。第3図の圧縮
器は、ストリング・テーブルの初期設定が行われ
たのちに、符号計数器121を2Bにセツトするこ
とによつて変更できる。なお、文字レジスタ11
6からの第3図のバス117は、上述のように符
号番号レジスタ119へ加えられる。 空白ストリングだけでストリング・テーブルを
初期設定するように第2図の圧縮器実施例を変更
したい場合、比較器26は、空白符号及び空符号
に等しいハツシユ関数アドレスを放棄するように
変更される。なお、比較器32は、文字レジスタ
17の中のBビツト文字を空白符号の伝送のあと
に伝送すべきかどうかを決定するために符号番号
レジスタ19の中の値をゼロと比較するように変
更される。Bビツト文字をセロを満たされたCビ
ツト文字として伝送できるし、またはその代りに
シフト回路網機構を前述のものと同様に用いるこ
ともできる。 上述のことから第2図の実施例は、圧縮効率を
犠牲にして最高性能を与えることがわかるであろ
う。なお、第3図の実施例は、性能を犠牲にして
最高圧縮を与える。各選択を組合わせる上述の変
更、すなわち、すべての単一文字ストリングを用
いてのテーブル初期設定;新しいストリングを作
るとき逐次に割当てられるストリング符号記号;
固定長符号値を伝送すること;及び後入れ先出し
スタツクを用いるストリング反転、は適用業務に
従つて好ましい実施例を与えることのできる最高
性能と最高圧縮との間の中間のものである。 上述のように、第1〜4表は、第2図の最高性
能ハードウエア実施例の各選択を用いる本発明の
プログラム式コンピユータの実施例を示す。本発
明の種々のソフトウエア実施例は、上述の各選択
の種々の組合せを普通に熟練したコンピユータ・
プログラマによつて定形的に与えられるそれ用の
プログラムコーデイングと共に用いることによつ
て与えられることがわかる。 まとめると、本発明は入力データの中で観察さ
れた文字のストリングを、多分、圧縮されるべき
データブロツクの始めにおいてテーブルを初期設
定できる単一文字ストリングなどのストリングを
除いて記憶するストリング・テーブルを用いる。
それらのストリングは、各ストリングの記憶され
たセツトが処理されているデータの統計に適応す
るようにストリングが入力データ文字ストリーム
の中で観測されるとき、テーブルに動的に入れら
れる。X文字の各ストリングは、X−1文字の接
頭部ストリングと一つの拡張文字とを含み、その
場合に接頭部ストリングもまたテーブルの1構成
要素である。各ストリングは、一つの符号記号を
割当てられ、記憶されたストリングが入力データ
文字ストリームの中で遭遇されると、遭遇したス
トリングは、圧縮データの中のその符号信号によ
つて表わされる。各ストリングは、ストリングの
符号記号、接頭部ストリングの符号記号、及びス
トリング拡張文字とによつて判然とまたは暗黙裏
にのいずれかで記憶される。データ文字信号のス
トリームは、各文字のストリングにそのストリー
ムをパースすることによつて処理され、各ストリ
ングは、ストリング・テーブルの中にすでに置か
れている。このパーシングは、始めの文字から出
発して1度に1文字ずつ分離するデータ文字スト
リームの中への唯1回のパスにおいて達成され
る。各文字は、拡張されたストリングがストリン
グ・テーブル内にあるものに一致する場合、前の
ストリングを拡張するのに用いられる。そうでな
ければ、その文字は、新しいストリングを開始す
るのに用いられる。基本的には、圧縮処理は、入
力データストリームの中で各文字が出てきたと
き、以下のように各文字に次々に加えられる循環
ステツプとして考えられてもよい。 入力データストリームからのストリングSがス
トリング・テーブル内に置かれていたとする。そ
の入力データ・ストリームの中で次に続く文字c
に対して、そのテーブルは、拡張ストリングSc
がその中に存在するかどうかを決定するために探
索される。ストリングScがそのテーブルの中に
存在すれば、次に続く文字が試験されてその手続
きが再び適用される。拡張ストリングがそのテー
ブルに存在しなければ、ストリングSに対する符
号記号が圧縮出力として伝送され、ストリング
Scがそのテーブルに入れられる。次に文字cは、
次のストリングの最初の文字として用いられて、
その手続きは、次に続く入力文字を用いて再び適
用される。 ストリングScに対する探索は、一つのストリ
ング・テーブルアドレスを与えるために文字cを
ストリングSに対する符号と組合せることによつ
て行われる。拡張ストリングScは、既にそのア
ドレスの記憶場所に記憶されていれば、そのスト
リングScは、そのテーブルの中に存在している
ことになる。その記憶場所が空であれば、そのス
トリングは、そのテーブルの中に存在しない。そ
の場合には、ストリングSに対する符号記号が伝
送され、ストリングScが空記憶場所に入れられ
る。できれば、文字cとストリングSに対する符
号との組合せが上述の限定探索ハツシユ手順によ
つて行われるのが好ましい。圧縮の間、ハツシ
ユ・テーブル機械化は、圧縮手順の中の1点にお
いて定められた可能なストリングの数がストリン
グの実際の数及びある本質的なフアクタによる経
済的記憶装置の大きさを超えることになるので、
あらかじめ割当てられていないストリングを記憶
するのに用いられる。一般的には、ハツシユ・テ
ーブルの各記憶場所が選択された数学的関数によ
つて割当てられた可能な項目の割当てられたセツ
トを含むことのできるものがハツシユ・テーブル
である。前述の限定探索ハツシユ・テーブル・プ
ロセスにおいて、各可能なアドレスが限られた数
の記憶アドレスの小さなグループ内でのみ現れ
る。この基準は、可能なエントリを探すためまた
はそれがケーブルの中にないことを定めるために
必要な探索の量を限定する。 圧縮の間ストリングが少なくともそれを識別す
るためのその接頭部符号を用いて検索される。復
元の間、ストリングがその符号記号によつて直接
に識別される。復元器のストリング・テーブル
は、各ストリング記憶場所に接頭部ストリング符
号及び拡張文字を記憶し、そのストリング記憶場
所は、そのストリングに対する符号によつてアド
レス指定可能である。従つて、入力符号記号は、
接頭部ストリング及び拡張文字を与えるテーブル
内で探索される。次に接頭部ストリングは新接頭
部ストリング及び新拡張文字を与えるテーブル内
で探索される。この過程は初めの単一文字ストリ
ングに出合うまで繰返される。 本発明の上述の各実施例において、ハツシユア
ドレスまたは数が大きくなつてゆく次々の値がス
トリングのための圧縮符号記号信号として用いら
れる。これらの値の矛盾のない変更またはアイソ
モルフイズムもまたそれらのストリングに対する
圧縮符号記号信号として用いることができるとわ
かる。 本発明の上述の実施例の若干の変形を以下のよ
うに容易にわかる設計変更を用いて行うことがで
きる。 本発明の圧縮器がデイスク装置またはテープ装
置のような同期チヤネルに圧縮データを与えてい
る場合、その出力速度がバツフアリングを最小に
するためにチヤネルの入力速度に一致するように
圧縮器の速度を増減するのが望ましいことがあ
る。圧縮器の出力速度を達成された圧縮比によつ
て制御し、その圧縮比は遭遇したデータの形式に
従つて変る。圧縮器が高過ぎる速度で出力記号を
作るように、その圧縮器が圧縮しにくいデータに
遭遇した場合、圧縮器を入力文字の間で待機させ
ることによつて減速できる。圧縮器が非常に圧縮
しやすいデータに遭遇するので、それが出力記号
をあまりゆつくり作る場合、その圧縮器を圧縮器
の効率を減らすことによつてスピードアツプでき
る。これは、出力符号記号を必要とするときは常
に、文字ストリング拡張を中止することによつて
行われてもよい。従つて、圧縮器が必要な出力速
度を遅くするときは常に最長マツチより少ないス
トリングを選ぶことができる。なお、圧縮有効度
は、データブロツクの初期部分を処理するとき低
くなり、そのブロツクの処理が続くとき増加する
傾向があるので、圧縮符号ストリームの転送を開
始する前に圧縮を初めて圧縮速度の変化を相殺す
ることが望ましいことがある。この待ち時間損失
は、圧縮データを圧縮器から外部装置に書込むと
きにのみ起ることがわかる。圧縮データを外部装
置から読出すときには、復元を圧縮データが外部
信号源から使用できるようになつたら直ちに開始
できる。 さらに別の変更が選択された値より小さくなる
ようにパースされたストリング長さを制御するた
めに圧縮器の一部分として計数器を用いることを
含むことがある。この特徴は、圧縮データの出力
速度がさらに予測しやすくなるように瞬時圧縮比
の変動を小さくするであろう。なお、そのような
計数器は、最大ストリング長さに敏感な復元器内
の装置の価格を引下げるであろう。 本発明のさらに別の変更は、同時にではないけ
れども圧縮及び復元の両方に対して同じハードウ
エア装置のセツトを用いることであることがあ
る。圧縮及び回復の必要条件の間には特にRAM
について、同時性を失つてもよいとき、かなりの
価格の節約をこの変更によつて得ることができる
という十分な類似性がある。なお、圧縮インプリ
メンテーシヨンにおいて連想記憶装置をRAMの
代りに用いることもできよう。そのような変更
は、ハウジングの必要をなくして制御の複雑さを
減らす。 〔〕 発明の効果 本発明は、非常に様々なデータの形式について
適応可逆データ圧縮をデータ統計またはデータ冗
長度の形についての前もつての知識を何もなしに
達成する。良好な圧縮比が最も速い今日の磁気テ
ープ及び磁気デイスクデータ記憶装置ならびに最
も速い今日の商用通信リンクと共に用いるのに適
する高性能動作で達成される。
【図面の簡単な説明】
第1図はデータ文字信号のストリームのパース
された部分の略図表現、第2図は最高性能を与え
るようにインプリメントされた本発明によるデー
タ圧縮器の略ブロツク図、第3図は最高圧縮を与
えるようにインプリメントされた本発明によるデ
ータ圧縮器の略ブロツク図である。 13……制御装置、17……文字レジスタ、1
9……符号番号レジスタ、23……ハツシユ関数
回路、26,32……比較器、28……RAMア
ドレス・レジスタ、29……RAM、35……初
期設定計数器、113……制御装置、116……
文字レジスタ、118……シフト回路網、119
……符号番号レジスタ、121……符号計数器、
123……符号大きさ回路、127……ハツシユ
関数回路、130……RAMアドレス・レジス
タ、131……RAM、141……初期設定計数
器。

Claims (1)

  1. 【特許請求の範囲】 1 デイジタル入力信号ストリームから圧縮デイ
    ジタル出力信号ストリームを発生する方法であつ
    て、該方法が 前記入力信号ストリームの中の連続する文字を
    前記入力信号ストリームの中で以前に遭遇した文
    字ストリングを各記憶されたストリングに符号を
    つけて保持する記憶ストリングテーブルの内容と
    比較して前記記憶ストリングテーブルの中に記憶
    されている一つのストリングに一致する前記入力
    信号ストリームの中の最長ストリングに対応する
    符号を決める段階と、 前記記憶ストリングテーブルへ前記入力信号ス
    トリームの中の次の文字と一緒に接頭部を含む記
    述項をさらに追加して、該記述項に符号を割当て
    る段階と、 前記出力信号ストリームの中に前記記憶ストリ
    ングテーブルから引き出された符号を入れる段階
    とを含み、 出力信号ストリームには接頭部の符号だけが追
    加されること、及び拡張文字が記憶ストリングテ
    ーブルの内容と比較される入力信号ストリーム中
    の次の文字ストリングの最初の文字を形成するこ
    とを特徴とするデイジタル信号ストリーム圧縮方
    法。 2 一つの文字ストリングに割当てられた符号が
    ハツシユテーブルに従つて該文字を記憶するアド
    レスを表わしている特許請求の範囲第1項に記載
    のデイジタル信号ストリーム圧縮方法。 3 符号計数器が次々の符号番号を記憶ストリン
    グテーブルに追加される文字ストリングに割当て
    るようにした特許請求の範囲第1項に記載のデイ
    ジタル信号ストリーム圧縮方法。 4 前記記憶ストリングテーブルが2Cビツトの容
    量をもつハツシユテーブルを備え、前記符号の長
    さがCビツトに限定されている特許請求の範囲第
    1項ないし第3項のいずれか一つに記載のデイジ
    タル信号ストリーム圧縮方法。 5 前記記憶ストリングテーブルがハツシユテー
    ブルを備え、探索が所定の数Nだけの場所に限定
    されている特許請求の範囲第1項ないし第4項の
    いずれか一つに記載のデイジタル信号ストリーム
    圧縮方法。 6 前記Nが1から4までの数である特許請求の
    範囲第5項に記載のデイジタル信号ストリーム圧
    縮方法。 7 データ文字信号のストリームを符号信号の圧
    縮ストリームに圧縮する圧縮装置であつて、 データ文字信号の前記ストリーム内で遭遇した
    データ文字信号のストリングを記憶する記憶手段
    と、 データ文字信号の前記ストリームを前記記憶さ
    れたストリングとの最長一致を決めるために前記
    記憶されたストリングと比較することによつてデ
    ータ文字信号の前記ストリームを探索する手段
    と、 前記最長一致に続く次のデータ文字信号によつ
    て拡張されたデータ文字信号の前記ストリームと
    の最長一致を含む拡張ストリングを前記記憶手段
    に記憶するために前記記憶手段に挿入する手段
    と、 前記記憶された拡張ストリングに対応する符号
    信号を割当てる手段と、 符号信号の前記圧縮ストリームを与えるように
    前記最長一致に関連した符号信号を与える手段と
    を備え、 前記記憶された各ストリングがそれぞれそれと
    関連した符号信号を有することを特徴とする圧縮
    装置。 8 データ文字信号の各前記記憶されたストリン
    グがデータ文字信号の接頭部ストリングと拡張文
    字信号とを含み、前記接頭部ストリングは前記記
    憶手段に記憶された一つのストリングに対応し; 前記記憶手段が複数のアドレス信号によつてそ
    れぞれ呼出しできる複数の記憶場所を有する記憶
    装置手段を含み; データ文字信号の前記配置された各ストリング
    はそれぞれ前記各記憶場所に記憶されており; 一つの記憶場所を呼出すアドレス信号はその記
    憶場所に記憶されたストリングに対応する符号信
    号を与え、前記ストリングは、前記記憶されたス
    トリングの接頭部ストリングに対応する前記符号
    信号を少なくとも記憶することによつて前記記憶
    場所に記憶される特許請求の範囲第7項に記載の
    圧縮装置。 9 前記探索手段は、前記記憶装置手段を備える
    とともに、さらに 前記ストリング符号信号と前記データ文字信号
    とに応動してデータ文字信号を符号信号でハツシ
    ユして前記記憶装置手段を呼出すポテンシヤル・
    アドレス信号を与えるハツシユ関数発生器手段; データ文字信号を保持する文字レジスタ手段; 圧縮符号信号を保持する符号レジスタ手段; アドレス信号を保持するアドレスレジスタ手
    段; 前記記憶装置手段及び前記符号レジスタ手段に
    接続されて前記アドレスレジスタ手段によつてア
    ドレス指定された前記記憶装置手段の一つの記憶
    場所の内容を前記符号レジスタ手段に保持された
    符号信号及び前記記憶装置手段のある記憶場所が
    空であることを示す空しるし信号と比較してそれ
    らとの相等を決める比較器手段; 前記アドレスレジスタ手段に保持されたアドレ
    ス信号を前記符号レジスタ手段に転送する手段;
    及び 前記比較器手段に接続されて、前記現在のアド
    レス信号によつて呼出された前記記憶装置手段の
    記憶場所の内容が前記符号レジスタ手段に保持さ
    れた符号信号に等しいときに前記アドレス・レジ
    スタ手段に保持された現在のアドレス信号の前記
    符号レジスタ手段への転送及び新しいデータ文字
    信号の前記文字レジスタ手段への転送を制御する
    制御手段、 を含み、 前記文字レジスタ手段及び前記符号レジスタ手
    段は、前記ハツシユ関数発生手段に接続されて、
    それぞれそれらの保持されたデータ文字信号及び
    符号信号を前記ハツシユ関数発生手段に与えてそ
    れらの信号に従つて前記ハツシユ信号を発生し、 前記アドレス・レジスタ手段は、前記ハツシユ
    関数発生手段からの前記ハツシユ信号を受けるよ
    うに接続されるほかにさらに前記アドレス・レジ
    スタ手段に保持されたアドレス信号に対応する前
    記記憶装置手段の記憶場所において前記記憶装置
    手段を呼出すように接続されていることを特徴と
    する特許請求の範囲第7項に記載の圧縮装置。 10 前記挿入手段は、前記符号レジスタ手段に
    保持された前記符号信号を前記記憶装置手段に転
    送する手段を備え、 前記制御手段は、前記比較器手段が前記アドレ
    スレジスタ手段に保持された前記アドレス信号に
    よつてアドレス指定された前記記憶装置手段の記
    憶場所が前記空しるし信号を含むと決定したと
    き、前記符号レジスタ手段に保持された前記符号
    信号の前記アドレスレジスタ手段に保持された前
    記アドレス信号によつてアドレス指定された前記
    記憶装置手段の記憶場所への挿入を制御する特許
    請求の範囲第9項に記載の圧縮装置。 11 データ文字信号の各前記記憶されたストリ
    ングは、 文字信号の接頭部ストリング及び拡張文字信号
    を備えて、前記接頭部ストリングは、前記記憶装
    置手段に記憶されたストリングに対応し、 前記記憶手段は、複数のアドレス信号によつて
    呼出しできる複数の記憶場所をそれぞれ有する記
    憶装置手段を備え、 データ文字信号の前記記憶されたストリング
    は、前記記憶場所にそれぞれ記憶され、 一つのストリングがある記憶場所に記憶される
    には、その記憶場所に記憶されるストリングに対
    応する符号信号及び記憶されるストリングの接頭
    部ストリングに対応する符号信号をその記憶場所
    に記憶することによつてなされることを特徴とす
    る特許請求の範囲第7項に記載の圧縮装置。 12 前記記憶装置手段の各前記記憶場所は、 その記憶場所に記憶されたストリングの接頭部
    ストリングに対応する符号信号を記憶する接頭部
    符号欄と、 その記憶場所に記憶されたストリングの符号信
    号を記憶するストリング符号欄とを備えているこ
    とを特徴とする特許請求の範囲第11項に記載の
    圧縮装置。 13 前記探索手段が前記ストリング符号信号と
    前記データ文字信号とに応答してデータ文字信号
    を符号信号でハツシユして、前記記憶装置手段を
    呼出すポテンシヤル・アドレス信号を与えるハツ
    シユ信号を与えるハツシユ関数発生手段を備える
    特許請求の範囲第8項または第12項に記載の圧
    縮装置。 14 前記探索手段が前記記憶装置手段を備える
    と共にそのほかに データ文字信号を保持する文字レジスタ手段; 圧縮符号信号を保持する符号レジスタ手段; アドレス信号を保持するアドレスレジスタ手
    段; 前記記憶装置手段と前記符号レジスタ手段とに
    接続されて前記アドレスレジスタ手段によつてア
    ドレス指定された前記記憶装置手段の記憶場所の
    接頭部符号欄の内容を前記符号レジスタ手段に保
    持された符号信号と比較してそれらの相等を決定
    する比較器手段; 前記記憶装置手段に接続されて前記アドレスレ
    ジスタ手段によつてアドレス指定された前記記憶
    装置手段の記憶場所のストリング符号欄の内容が
    前記空しるし信号に等しいときを検出する検出器
    手段; 前記アドレス・レジスタ手段によつてアドレス
    指定された前記記憶装置手段の記憶場所のストリ
    ング符号欄の内容を前記符号レジスタ手段に転送
    する手段;及び 前記比較器手段に接続されて前記現在のアドレ
    ス信号によつて呼出された前記記憶装置手段の記
    憶場所の接頭部符号欄の内容が前記符号レジスタ
    手段に保持された符号信号に等しいとき、前記ア
    ドレス・レジスタ手段に保持された現在のアドレ
    ス信号によつて呼出された前記記憶装置手段の記
    憶場所のストリング符号欄の内容の前記符号レジ
    スタ手段への転送及び新しいデータ文字信号の前
    記文字レジスタ手段の中への転送を制御する制御
    手段を備え、 前記文字レジスタ手段と前記符号レジスタ手段
    とは、前記ハツシユ関数発生手段に接続されてそ
    れぞれそれらの中に保持されたデータ文字信号と
    符号信号をそれらの信号に従つて前記ハツシユ信
    号を発生するために前記ハツシユ関数発生手段に
    与え、 前記アドレスレジスタ手段は、前記ハツシユ関
    数発生手段からの前記ハツシユ信号を受けるよう
    に接続されると共にさらに前記アドレスレジスタ
    手段に保持されたアドレス信号に対応する前記記
    憶装置手段の記憶場所において前記記憶装置手段
    を呼出すように接続されていることを特徴とする
    特許請求の範囲第13項に記載の圧縮装置。 15 前記探索手段がさらに前記文字レジスタ手
    段からのデータ文字信号を前記符号レジスタ手段
    に転送して前記データ文字信号をそれに対応する
    圧縮符号信号に変換する手段を含む特許請求の範
    囲第9項または第14項に記載の圧縮装置。 16 前記挿入手段が 数が増えてゆく符号信号を発生する符号計数器
    手段と、 前記符号計数器手段からの符号信号を前記記憶
    装置手段に転送してアドレス指定された記憶場所
    のストリング符号欄に挿入する手段と、 前記符号レジスタ手段に保持された前記符号信
    号を前記記憶装置手段に転送して前記アドレス指
    定された記憶場所の接頭部符号欄に挿入する手段
    とを備え、また、 前記制御手段は、前記検出器手段が前記アドレ
    スレジスタ手段に保持された前記アドレス信号に
    よつてアドレス指定された前記記憶装置手段の記
    憶場所が前記空しるし信号を含むことを決定した
    ときに、前記符号計数器手段によつて与えられた
    前記符号信号及び前記符号レジスタ手段に保持さ
    れた前記符号信号とを前記アドレス・レジスタ手
    段に保持されたアドレス信号によつてアドレス指
    定された前記記憶装置手段の記憶場所のストリン
    グ符号欄及び接頭部符号欄にそれぞれ挿入するの
    を、制御する手段を備えている特許請求の範囲第
    14項に記載の圧縮装置。
JP59125473A 1983-06-20 1984-06-20 ディジタル信号ストリーム圧縮方法及び圧縮装置 Granted JPS60116228A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/505,638 US4558302A (en) 1983-06-20 1983-06-20 High speed data compression and decompression apparatus and method
US505638 1983-06-20

Publications (2)

Publication Number Publication Date
JPS60116228A JPS60116228A (ja) 1985-06-22
JPH0568893B2 true JPH0568893B2 (ja) 1993-09-29

Family

ID=24011192

Family Applications (3)

Application Number Title Priority Date Filing Date
JP59125473A Granted JPS60116228A (ja) 1983-06-20 1984-06-20 ディジタル信号ストリーム圧縮方法及び圧縮装置
JP4334804A Expired - Lifetime JP2610084B2 (ja) 1983-06-20 1992-12-16 データ伸長方法および装置ならびにデータ圧縮伸長方法および装置
JP7341868A Pending JPH08237138A (ja) 1983-06-20 1995-12-27 圧縮装置および圧縮方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP4334804A Expired - Lifetime JP2610084B2 (ja) 1983-06-20 1992-12-16 データ伸長方法および装置ならびにデータ圧縮伸長方法および装置
JP7341868A Pending JPH08237138A (ja) 1983-06-20 1995-12-27 圧縮装置および圧縮方法

Country Status (5)

Country Link
US (1) US4558302A (ja)
EP (1) EP0129439B1 (ja)
JP (3) JPS60116228A (ja)
CA (1) CA1223965A (ja)
DE (1) DE3476617D1 (ja)

Families Citing this family (356)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4814746A (en) * 1983-06-01 1989-03-21 International Business Machines Corporation Data compression method
JPS59231683A (ja) * 1983-06-01 1984-12-26 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン データ圧縮方法
JPS61170442A (ja) * 1985-01-23 1986-08-01 松下電器産業株式会社 超音波ドツプラ血流装置
US4758955A (en) * 1985-07-19 1988-07-19 Carson Chen Hand-held spelling checker and method for reducing redundant information in the storage of textural material
US4899128A (en) * 1985-12-11 1990-02-06 Yeda Research And Development Co., Ltd. Method and apparatus for comparing strings using hash values
US4899149A (en) * 1986-02-28 1990-02-06 Gary Kahan Method of and apparatus for decoding Huffman or variable-length coees
JPH02500693A (ja) * 1986-09-09 1990-03-08 インベントロニツク・データ・システムズ・エービー データ圧縮用装置
US4905297A (en) * 1986-09-15 1990-02-27 International Business Machines Corporation Arithmetic coding encoder and decoder system
US4891643A (en) * 1986-09-15 1990-01-02 International Business Machines Corporation Arithmetic coding data compression/de-compression by selectively employed, diverse arithmetic coding encoders and decoders
JPH0815262B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元処理装置
JPH0815263B2 (ja) * 1986-12-12 1996-02-14 株式会社日立製作所 データ圧縮復元方法
US5036457A (en) * 1987-09-24 1991-07-30 Nucleus International Corporation Bit string compressor with boolean operation processing capability
ATE146609T1 (de) * 1987-09-24 1997-01-15 Sand Technology Systems Int Bitkettenverdichter mit verarbeitungsmöglichkeit für boolesche-operationen
US4876541A (en) * 1987-10-15 1989-10-24 Data Compression Corporation Stem for dynamically compressing and decompressing electronic data
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
US4906991A (en) * 1988-04-29 1990-03-06 Xerox Corporation Textual substitution data compression with finite length search windows
US4899147A (en) * 1988-06-03 1990-02-06 Unisys Corporation Data compression/decompression apparatus with throttle, start-up and backward read controls
US5258910A (en) * 1988-07-29 1993-11-02 Sharp Kabushiki Kaisha Text editor with memory for eliminating duplicate sentences
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
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
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
AU624205B2 (en) * 1989-01-23 1992-06-04 General Electric Capital Corporation Variable length string matcher
US4929946A (en) * 1989-02-09 1990-05-29 Storage Technology Corporation Adaptive data compression apparatus including run length encoding for a tape drive system
DE3921646A1 (de) * 1989-06-30 1991-01-03 Siemens Ag Verfahren zu einer codierung einer elementfolge und einrichtung zur durchfuehrung des verfahrens
US5006849A (en) * 1989-07-26 1991-04-09 Astro, Inc. Apparatus and method for effecting data compression
US4971407A (en) * 1989-08-09 1990-11-20 Unisys Corp. Two stage run and string data compressor providing doubly compressed output
US4988998A (en) * 1989-09-05 1991-01-29 Storage Technology Corporation Data compression system for successively applying at least two data compression methods to an input data stream
US5010344A (en) * 1989-12-28 1991-04-23 International Business Machines Corporation Method of decoding compressed data
US5010345A (en) 1989-12-28 1991-04-23 International Business Machines Corporation Data compression method
US5001478A (en) * 1989-12-28 1991-03-19 International Business Machines Corporation Method of encoding compressed data
US5184126A (en) 1989-12-28 1993-02-02 International Business Machines Corporation Method of decompressing compressed data
US5254990A (en) * 1990-02-26 1993-10-19 Fujitsu Limited Method and apparatus for compression and decompression of data
EP0472730B1 (en) * 1990-02-26 2000-05-10 Fujitsu Limited Data compression and restoration method and device therefor
FR2660088B1 (fr) * 1990-03-26 1992-06-26 Arditti David Dispositif de condensation de donnees numeriques.
US6816872B1 (en) 1990-04-26 2004-11-09 Timespring Software Corporation Apparatus and method for reconstructing a file from a difference signature and an original file
US5479654A (en) * 1990-04-26 1995-12-26 Squibb Data Systems, Inc. Apparatus and method for reconstructing a file from a difference signature and an original file
US5410671A (en) * 1990-05-01 1995-04-25 Cyrix Corporation Data compression/decompression processor
WO1991019248A1 (en) * 1990-05-30 1991-12-12 Adaptive Solutions, Inc. Neural network using virtual-zero
US5497488A (en) * 1990-06-12 1996-03-05 Hitachi, Ltd. System for parallel string search with a function-directed parallel collation of a first partition of each string followed by matching of second partitions
US5023610A (en) * 1990-06-13 1991-06-11 Cordell Manufacturing, Inc. Data compression method using textual substitution
US5049881A (en) * 1990-06-18 1991-09-17 Intersecting Concepts, Inc. Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique
EP0470798B1 (en) * 1990-08-06 1997-10-29 Fujitsu Limited Dictionary searching system
JP3012678B2 (ja) * 1990-10-19 2000-02-28 富士通株式会社 データ圧縮方法
EP0471518B1 (en) * 1990-08-13 1996-12-18 Fujitsu Limited Data compression method and apparatus
JP3012677B2 (ja) * 1990-10-19 2000-02-28 富士通株式会社 Zl符号化方法
JP3012679B2 (ja) * 1990-10-19 2000-02-28 富士通株式会社 データ圧縮方法
US5051745A (en) * 1990-08-21 1991-09-24 Pkware, Inc. String searcher, and compressor using same
US5087913A (en) * 1990-08-27 1992-02-11 Unisys Corporation Short-record data compression and decompression system
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5142282A (en) * 1990-11-07 1992-08-25 Hewlett-Packard Company Data compression dictionary access minimization
US5136291A (en) * 1990-11-30 1992-08-04 Unisys Corporation Transmitting binary data files using electronic mail
US5150430A (en) * 1991-03-15 1992-09-22 The Board Of Trustees Of The Leland Stanford Junior University Lossless data compression circuit and method
CA2065578C (en) * 1991-04-22 1999-02-23 David W. Carr Packet-based data compression method
US5369773A (en) * 1991-04-26 1994-11-29 Adaptive Solutions, Inc. Neural network using virtual-zero
US5179378A (en) * 1991-07-30 1993-01-12 University Of South Florida Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques
US5159336A (en) * 1991-08-13 1992-10-27 Iomega Corporation Tape controller with data compression and error correction sharing a common buffer
US5140321A (en) * 1991-09-04 1992-08-18 Prime Computer, Inc. Data compression/decompression method and apparatus
US5426779A (en) * 1991-09-13 1995-06-20 Salient Software, Inc. Method and apparatus for locating longest prior target string matching current string in buffer
US5455943A (en) * 1992-10-08 1995-10-03 Salient Software, Inc. Method and apparatus for finding longest and closest matching string in history buffer prior to current string
US5175543A (en) * 1991-09-25 1992-12-29 Hewlett-Packard Company Dictionary reset performance enhancement for data compression applications
US5243341A (en) * 1992-06-01 1993-09-07 Hewlett Packard Company Lempel-Ziv compression scheme with enhanced adapation
US5355493A (en) * 1991-11-20 1994-10-11 International Business Machines Corporation System for encoding units of entity/relationship data to include prefixes with codes for length, action, and unit identifier
US5726824A (en) * 1991-12-10 1998-03-10 Exabyte Corporation Head positioning in a multi-track magnetic tape recorder/player
CA2077271C (en) * 1991-12-13 1998-07-28 David J. Craft Method and apparatus for compressing data
US5396228A (en) * 1992-01-16 1995-03-07 Mobile Telecommunications Technologies Methods and apparatus for compressing and decompressing paging data
US5229768A (en) * 1992-01-29 1993-07-20 Traveling Software, Inc. Adaptive data compression system
US5371499A (en) * 1992-02-28 1994-12-06 Intersecting Concepts, Inc. Data compression using hashing
US5406278A (en) * 1992-02-28 1995-04-11 Intersecting Concepts, Inc. Method and apparatus for data compression having an improved matching algorithm which utilizes a parallel hashing technique
US5379036A (en) * 1992-04-01 1995-01-03 Storer; James A. Method and apparatus for data compression
US5239298A (en) * 1992-04-17 1993-08-24 Bell Communications Research, Inc. Data compression
US5339076A (en) * 1992-04-27 1994-08-16 Integrated Information Technology Data compression using content addressable memory
US5353024A (en) * 1992-05-01 1994-10-04 Intersecting Concepts, Inc. Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
US5408542A (en) * 1992-05-12 1995-04-18 Apple Computer, Inc. Method and apparatus for real-time lossless compression and decompression of image data
US5664029A (en) * 1992-05-13 1997-09-02 Apple Computer, Inc. Method of disregarding changes in data in a location of a data structure based upon changes in data in nearby locations
US5485526A (en) * 1992-06-02 1996-01-16 Hewlett-Packard Corporation Memory circuit for lossless data compression/decompression dictionary storage
US5818873A (en) * 1992-08-03 1998-10-06 Advanced Hardware Architectures, Inc. Single clock cycle data compressor/decompressor with a string reversal mechanism
US5469161A (en) * 1992-08-13 1995-11-21 International Business Machines Corporation Algorithm for the implementation of Ziv-Lempel data compression using content addressable memory
US5406279A (en) * 1992-09-02 1995-04-11 Cirrus Logic, Inc. General purpose, hash-based technique for single-pass lossless data compression
US5479587A (en) * 1992-09-03 1995-12-26 Hewlett-Packard Company Page printer having adaptive data compression for memory minimization
US5434776A (en) * 1992-11-13 1995-07-18 Microsoft Corporation Method and system for creating multi-lingual computer programs by dynamically loading messages
US5440753A (en) * 1992-11-13 1995-08-08 Motorola, Inc. Variable length string matcher
US5323155A (en) * 1992-12-04 1994-06-21 International Business Machines Corporation Semi-static data compression/expansion method
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US5389922A (en) * 1993-04-13 1995-02-14 Hewlett-Packard Company Compression using small dictionaries with applications to network packets
US5640551A (en) * 1993-04-14 1997-06-17 Apple Computer, Inc. Efficient high speed trie search process
US6357047B1 (en) 1997-06-30 2002-03-12 Avid Technology, Inc. Media pipeline with multichannel video processing and playback
US5351046A (en) * 1993-05-28 1994-09-27 Adcox Thomas A Method and system for compacting binary coded decimal data
US5463389A (en) * 1993-09-24 1995-10-31 Motorola, Inc. Data compression method and device utilizing children arrays
US5406281A (en) * 1993-10-12 1995-04-11 Codex Corporation Encoder/decoder and method for efficient string handling in data compression
US5384568A (en) * 1993-12-02 1995-01-24 Bell Communications Research, Inc. Data compression
US5563595A (en) * 1993-12-23 1996-10-08 International Business Machines Corporation Method and apparatus for compressing data
AU1514795A (en) * 1993-12-30 1995-08-01 Connectix Corporation Lossless data compression system and method
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
US5659635A (en) * 1994-04-26 1997-08-19 Konica Corporation Image processing apparatus for compressing and decompressing image data
US5502439A (en) * 1994-05-16 1996-03-26 The United States Of America As Represented By The United States Department Of Energy Method for compression of binary data
US5635931A (en) * 1994-06-02 1997-06-03 International Business Machines Corporation System and method for compressing data information
AUPM607994A0 (en) * 1994-06-03 1994-06-30 Masters, John A data conversion technique
US5585793A (en) * 1994-06-10 1996-12-17 Digital Equipment Corporation Order preserving data translation
US5532693A (en) * 1994-06-13 1996-07-02 Advanced Hardware Architectures Adaptive data compression system with systolic string matching logic
US5627533A (en) * 1994-08-05 1997-05-06 Hayes Microcomputer Products, Inc. Adjusting encoding table size and memory allocation for data compression in response to input data
US5617517A (en) * 1994-09-20 1997-04-01 Seiko Epson Corporation Two-dimensional method and system for compressing bi-level images
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5805911A (en) * 1995-02-01 1998-09-08 Microsoft Corporation Word prediction system
US5771010A (en) * 1995-03-22 1998-06-23 Ibm Corporation Apparatus for compressing data using a Lempel-Ziv-type algorithm
US5686912A (en) * 1995-05-08 1997-11-11 Hewlett-Packard Company Data compression method and apparatus with optimized transitions between compressed and uncompressed modes
US5526363A (en) * 1995-05-16 1996-06-11 Telco Systems, Inc. Multicontext compression system with shared data structures
EP0744702B1 (en) * 1995-05-22 2002-11-13 Matsushita Electric Industrial Co., Ltd. Information searching apparatus for searching text to retrieve character streams agreeing with a key word
US5636369A (en) * 1995-05-26 1997-06-03 Datron/Transco, Inc. Fast pattern-detection machine and method
US5729737A (en) * 1995-07-13 1998-03-17 Armour; William M. Selective data compression system
US5825830A (en) * 1995-08-17 1998-10-20 Kopf; David A. Method and apparatus for the compression of audio, video or other data
US5689255A (en) * 1995-08-22 1997-11-18 Hewlett-Packard Company Method and apparatus for compressing and decompressing image data
JP3273119B2 (ja) * 1995-09-29 2002-04-08 京セラ株式会社 データ圧縮・伸長装置
US5805086A (en) * 1995-10-10 1998-09-08 International Business Machines Corporation Method and system for compressing data that facilitates high-speed data decompression
US5778255A (en) * 1995-10-10 1998-07-07 International Business Machines Corporation Method and system in a data processing system for decompressing multiple compressed bytes in a single machine cycle
US5710719A (en) * 1995-10-19 1998-01-20 America Online, Inc. Apparatus and method for 2-dimensional data compression
US5838963A (en) * 1995-10-25 1998-11-17 Microsoft Corporation Apparatus and method for compressing a data file based on a dictionary file which matches segment lengths
JP3566441B2 (ja) * 1996-01-30 2004-09-15 シャープ株式会社 テキスト圧縮用辞書作成装置
US5892506A (en) * 1996-03-18 1999-04-06 Discreet Logic, Inc. Multitrack architecture for computer-based editing of multimedia sequences
CA2173677C (en) * 1996-04-09 2001-02-20 Benoit Sevigny Processing image data
CA2173804C (en) * 1996-04-10 2002-07-16 Stephane Harnois Processing image data
US5839100A (en) * 1996-04-22 1998-11-17 Wegener; Albert William Lossless and loss-limited compression of sampled data signals
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US5703581A (en) * 1996-06-14 1997-12-30 Lucent Technologies Inc. Method and apparatus for data compression and decompression
US5831558A (en) * 1996-06-17 1998-11-03 Digital Equipment Corporation Method of compressing and decompressing data in a computer system by encoding data using a data dictionary
US5654703A (en) * 1996-06-17 1997-08-05 Hewlett-Packard Company Parallel data compression and decompression
US5861827A (en) * 1996-07-24 1999-01-19 Unisys Corporation Data compression and decompression system with immediate dictionary updating interleaved with string search
US5883670A (en) * 1996-08-02 1999-03-16 Avid Technology, Inc. Motion video processing circuit for capture playback and manipulation of digital motion video information on a computer
US5951623A (en) 1996-08-06 1999-09-14 Reynar; Jeffrey C. Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US5760716A (en) * 1996-08-21 1998-06-02 Autodesk, Inc. Vector data compression
US6404906B2 (en) * 1997-03-03 2002-06-11 Bacus Research Laboratories,Inc. Method and apparatus for acquiring and reconstructing magnified specimen images from a computer-controlled microscope
US6272235B1 (en) * 1997-03-03 2001-08-07 Bacus Research Laboratories, Inc. Method and apparatus for creating a virtual microscope slide
US5764994A (en) * 1996-09-16 1998-06-09 International Business Machines Corporation Method and system for compressing compiled microcode to be executed within a data processing system
US5794254A (en) * 1996-12-03 1998-08-11 Fairbanks Systems Group Incremental computer file backup using a two-step comparison of first two characters in the block and a signature with pre-stored character and signature sets
US6038665A (en) * 1996-12-03 2000-03-14 Fairbanks Systems Group System and method for backing up computer files over a wide area computer network
JP3540109B2 (ja) * 1996-12-24 2004-07-07 富士通株式会社 データ圧縮方法及び装置
US6009192A (en) * 1996-12-19 1999-12-28 Xerox Corporation Color correction of a compressed image
US6385341B1 (en) * 1997-04-17 2002-05-07 Microsoft Corporation Technique for decoding variable length data codes
US5818368A (en) * 1997-04-18 1998-10-06 Premier Research, Llc Method and apparatus for lossless digital data compression
US6105083A (en) * 1997-06-20 2000-08-15 Avid Technology, Inc. Apparatus and method for controlling transfer of data between and processing of data by interconnected data processing elements
US6366988B1 (en) * 1997-07-18 2002-04-02 Storactive, Inc. Systems and methods for electronic data storage management
US6163625A (en) * 1997-10-21 2000-12-19 Canon Kabushiki Kaisha Hybrid image compressor
US6377965B1 (en) 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
US5896321A (en) * 1997-11-14 1999-04-20 Microsoft Corporation Text completion system for a miniature computer
US5955976A (en) * 1997-12-02 1999-09-21 Hughes Electronics Corporation Data compression for use with a communications channel
JP3730385B2 (ja) 1997-12-05 2006-01-05 株式会社東芝 デ−タ圧縮装置
JP3421700B2 (ja) * 1998-01-22 2003-06-30 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
US6138254A (en) * 1998-01-22 2000-10-24 Micron Technology, Inc. Method and apparatus for redundant location addressing using data compression
US6075470A (en) * 1998-02-26 2000-06-13 Research In Motion Limited Block-wise adaptive statistical data compressor
US6212301B1 (en) 1998-06-25 2001-04-03 Accusoft Corporation Systems and methods for digital image compression
US6301394B1 (en) * 1998-09-25 2001-10-09 Anzus, Inc. Method and apparatus for compressing data
US7617124B1 (en) 1998-12-04 2009-11-10 Digital River, Inc. Apparatus and method for secure downloading of files
US7058597B1 (en) 1998-12-04 2006-06-06 Digital River, Inc. Apparatus and method for adaptive fraud screening for electronic commerce transactions
US20030195974A1 (en) 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6404931B1 (en) * 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6263363B1 (en) 1999-01-28 2001-07-17 Skydesk, Inc. System and method for creating an internet-accessible working replica of a home computer on a host server controllable by a user operating a remote access client computer
US6819271B2 (en) 1999-01-29 2004-11-16 Quickshift, Inc. Parallel compression and decompression system and method having multiple parallel compression and decompression engines
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
US7538694B2 (en) 1999-01-29 2009-05-26 Mossman Holdings Llc Network device with improved storage density and access speed using compression techniques
US6603414B1 (en) * 1999-01-29 2003-08-05 Compaq Computer Corporation Method for digital compression of characters
US6289130B1 (en) 1999-02-02 2001-09-11 3Com Corporation Method for real-time lossless data compression of computer data
US6920250B1 (en) * 1999-03-04 2005-07-19 Xerox Corporation Additive model for efficient representation of digital documents
US6601104B1 (en) 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6611213B1 (en) 1999-03-22 2003-08-26 Lucent Technologies Inc. Method and apparatus for data compression using fingerprinting
US7360252B1 (en) 1999-04-30 2008-04-15 Macrovision Corporation Method and apparatus for secure distribution of software
US6966002B1 (en) 1999-04-30 2005-11-15 Trymedia Systems, Inc. Methods and apparatus for secure distribution of software
US20060005021A1 (en) * 1999-06-09 2006-01-05 Andres Torrubia-Saez Methods and apparatus for secure distribution of software
US6169499B1 (en) * 1999-06-19 2001-01-02 Unisys Corporation LZW data compression/decompression apparatus and method with embedded run-length encoding/decoding
WO2001006660A1 (fr) * 1999-07-16 2001-01-25 Vertex Software Co. Procede de reduction de quantite de donnees et procede d'elaboration de quantite de donnees reduite
US6320523B1 (en) * 1999-07-30 2001-11-20 Unisys Corporation Method and apparatus for reducing the time required for compressing data
US6188333B1 (en) * 1999-08-12 2001-02-13 Unisys Corporation LZW data compression apparatus and method using look-ahead mathematical run processing
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6919967B1 (en) 1999-11-18 2005-07-19 Hewlett-Packard Development Company, L.P. Printing performance enhancements for variable data publishing
WO2001050612A1 (en) 2000-01-05 2001-07-12 Realnetworks, Inc. Systems and methods for multiple-file data compression
US7181608B2 (en) 2000-02-03 2007-02-20 Realtime Data Llc Systems and methods for accelerated loading of operating systems and application programs
FR2806227B1 (fr) * 2000-03-09 2003-09-05 Auteuil Participation Et Conse Procede pour le codage d'images
US20070271191A1 (en) * 2000-03-09 2007-11-22 Andres Torrubia-Saez Method and apparatus for secure distribution of software
US6388584B1 (en) 2000-03-16 2002-05-14 Lucent Technologies Inc. Method and apparatus for data compression of network packets
US6236341B1 (en) 2000-03-16 2001-05-22 Lucent Technologies Inc. Method and apparatus for data compression of network packets employing per-packet hash tables
GB0007974D0 (en) * 2000-04-01 2000-05-17 Discreet Logic Inc Processing image data
US6522784B1 (en) 2000-04-11 2003-02-18 International Business Machines Corporation Enhanced compression of gray-level images
US6307488B1 (en) 2000-05-04 2001-10-23 Unisys Corporation LZW data compression and decompression apparatus and method using grouped data characters to reduce dictionary accesses
US6983074B1 (en) 2000-06-14 2006-01-03 Adobe Systems Incorporated Data compression system and technique
JP2004507145A (ja) 2000-08-15 2004-03-04 シーゲイト テクノロジー エルエルシー オペレーティング・コードのデュアル・モード圧縮
US6348881B1 (en) * 2000-08-29 2002-02-19 Philips Electronics No. America Corp. Efficient hardware implementation of a compression algorithm
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US6359548B1 (en) 2000-10-16 2002-03-19 Unisys Corporation Data compression and decompression method and apparatus with embedded filtering of infrequently encountered strings
US6792423B1 (en) * 2000-11-28 2004-09-14 International Business Machines Corporation Hybrid longest prefix match and fixed match searches
US8374218B2 (en) * 2000-12-05 2013-02-12 Google Inc. Combining signals with a shuffled-hadamard function
US6829289B1 (en) * 2000-12-05 2004-12-07 Gossett And Gunter, Inc. Application of a pseudo-randomly shuffled hadamard function in a wireless CDMA system
US8385470B2 (en) * 2000-12-05 2013-02-26 Google Inc. Coding a signal with a shuffled-Hadamard function
US6883087B1 (en) 2000-12-15 2005-04-19 Palm, Inc. Processing of binary data for compression
SE0004736D0 (sv) * 2000-12-20 2000-12-20 Ericsson Telefon Ab L M Mapping system and method
US6606040B2 (en) 2001-02-13 2003-08-12 Mosaid Technologies, Inc. Method and apparatus for adaptive data compression
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US20020116672A1 (en) * 2001-02-19 2002-08-22 Ando Electric Co., Ltd. Pattern data transmission device and pattern data transmission method
US6392568B1 (en) * 2001-03-07 2002-05-21 Unisys Corporation Data compression and decompression method and apparatus with embedded filtering of dynamically variable infrequently encountered strings
JP3990115B2 (ja) * 2001-03-12 2007-10-10 株式会社東芝 サーバ側プロキシ装置及びプログラム
US6426711B1 (en) * 2001-05-14 2002-07-30 Unisys Corporation Character table implemented data compression method and apparatus
JP3913004B2 (ja) 2001-05-28 2007-05-09 キヤノン株式会社 データ圧縮方法及び装置及びコンピュータプログラム及び記憶媒体
US7164369B2 (en) 2001-06-19 2007-01-16 Sharp Laboratories Of America, Inc. System for improving storage efficiency of digital files
US6400286B1 (en) 2001-06-20 2002-06-04 Unisys Corporation Data compression method and apparatus implemented with limited length character tables
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
US20030018647A1 (en) * 2001-06-29 2003-01-23 Jan Bialkowski System and method for data compression using a hybrid coding scheme
US6707400B2 (en) * 2001-08-02 2004-03-16 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for fast longest match search
US20030088537A1 (en) * 2001-08-08 2003-05-08 Nec Eluminant Technologies, Inc. High speed data compression and decompression apparatus and method
US7062088B1 (en) 2001-08-28 2006-06-13 Adobe Systems Incorporated Variable lossy compression
US20040240543A1 (en) * 2001-09-04 2004-12-02 Faroudja Yves C. Low bandwidth video compression
US6650261B2 (en) 2001-09-06 2003-11-18 Xerox Corporation Sliding window compression method utilizing defined match locations
US7185041B1 (en) 2001-10-05 2007-02-27 Unisys Corporation Circuit and method for high-speed execution of modulo division
US6466144B1 (en) * 2001-11-30 2002-10-15 Unisys Corporation Data decompressor for use with a data compressor implemented with limited length character tables and compact string codes
WO2003063521A2 (en) 2002-01-23 2003-07-31 M-Spatial Limited Routing framework
US7085271B2 (en) * 2002-03-14 2006-08-01 Hewlett-Packard Development Company, L.P. Method and system for performing flow based hash transformation to generate hash pointers for a network device
US6628211B1 (en) 2002-03-19 2003-09-30 Unisys Corporation Prefix table implemented data compression method and apparatus
US7126948B2 (en) * 2002-03-21 2006-10-24 Hewlett-Packard Development Company, L.P. Method and system for performing a hash transformation to generate a hash pointer for an address input by using rotation
LV13012B (en) * 2002-03-22 2003-06-20 Datoru Drosibas Tehnologijas S Method and apparatus for lossless compression and decompression of data
US7039106B2 (en) * 2002-03-25 2006-05-02 Intel Corporation Processing digital data prior to compression
US6501395B1 (en) 2002-04-10 2002-12-31 Hewlett-Packard Company System, method and computer readable medium for compressing a data sequence
US6624762B1 (en) 2002-04-11 2003-09-23 Unisys Corporation Hardware-based, LZW data compression co-processor
US6650259B1 (en) * 2002-05-06 2003-11-18 Unisys Corporation Character table implemented data decompression method and apparatus
US7154848B2 (en) * 2002-05-29 2006-12-26 General Dynamics Corporation Methods and apparatus for generating a multiplexed communication signal
US7280496B2 (en) * 2002-08-02 2007-10-09 General Dynamics Corporation Methods and apparatus for coupling a satellite to an earth terminal
US7280497B2 (en) * 2002-08-02 2007-10-09 General Dynamics Corporation Methods and apparatus for coupling an earth terminal to a satellite
ES2334934T3 (es) 2002-09-04 2010-03-17 Microsoft Corporation Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel.
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US6670897B1 (en) 2002-10-03 2003-12-30 Motorola, Inc. Compression/decompression techniques based on tokens and Huffman coding
US6819272B2 (en) * 2002-11-06 2004-11-16 Hewlett-Packard Development Company, L.P. System, method and computer readable medium for compressing a data sequence for partial decompressing
US7609722B2 (en) * 2003-02-14 2009-10-27 Atheros Communications, Inc. Method and apparatus for transmitting and receiving compressed frame of data over a wireless channel
GB2400287A (en) * 2003-04-02 2004-10-06 Autodesk Canada Inc Three-Dimensional Image Compositing
US7433519B2 (en) * 2003-04-04 2008-10-07 Avid Technology, Inc. Bitstream format for compressed image data
GB2400289A (en) * 2003-04-04 2004-10-06 Autodesk Canada Inc Selecting functions in a Context-Sensitive Menu
GB2400290A (en) * 2003-04-04 2004-10-06 Autodesk Canada Inc Multidimensional image data processing in a hierarchical dat structure
US7403561B2 (en) * 2003-04-04 2008-07-22 Avid Technology, Inc. Fixed bit rate, intraframe compression and decompression of video
US8639760B2 (en) * 2003-06-10 2014-01-28 Hewlett-Packard Development Company, L.P. Hard imaging devices, hard imaging systems, articles of manufacture, hard imaging device electronic mail processing methods
US6879270B1 (en) 2003-08-20 2005-04-12 Hewlett-Packard Development Company, L.P. Data compression in multiprocessor computers
US7088276B1 (en) 2004-02-13 2006-08-08 Samplify Systems Llc Enhanced data converters using compression and decompression
US7394410B1 (en) 2004-02-13 2008-07-01 Samplify Systems, Inc. Enhanced data converters using compression and decompression
US7009533B1 (en) 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
US7071852B1 (en) 2004-02-13 2006-07-04 Samplify Systems Llc Enhanced test and measurement instruments using compression and decompression
US7079051B2 (en) * 2004-03-18 2006-07-18 James Andrew Storer In-place differential compression
US7565343B2 (en) * 2004-03-31 2009-07-21 Ipt Corporation Search apparatus and search management method for fixed-length data
US20050256722A1 (en) * 2004-05-14 2005-11-17 Clark Adam L System and method for lossless audio encoding and decoding
US7664173B2 (en) * 2004-06-07 2010-02-16 Nahava Inc. Method and apparatus for cached adaptive transforms for compressing data streams, computing similarity, and recognizing patterns
GB0416481D0 (en) 2004-07-23 2004-08-25 Hewlett Packard Development Co Method, apparatus and system for data block rearrangement for LZ data compression
US7256715B1 (en) * 2005-01-07 2007-08-14 Altera Corporation Data compression using dummy codes
US6970110B1 (en) 2005-01-08 2005-11-29 Collins Dennis G Probability centrifuge algorithm with minimum laterally adiabatically-reduced Fisher information calculation
US20060200481A1 (en) * 2005-03-04 2006-09-07 Khalid Goyan Method and system for data optimization and protection in DSP firmware
US7167115B1 (en) 2005-08-26 2007-01-23 American Megatrends, Inc. Method, apparatus, and computer-readable medium for data compression and decompression utilizing multiple dictionaries
US8489562B1 (en) 2007-11-30 2013-07-16 Silver Peak Systems, Inc. Deferred data storage
US8929402B1 (en) * 2005-09-29 2015-01-06 Silver Peak Systems, Inc. Systems and methods for compressing packet data by predicting subsequent data
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
US7164370B1 (en) 2005-10-06 2007-01-16 Analog Devices, Inc. System and method for decoding data compressed in accordance with dictionary-based compression schemes
US8674855B2 (en) * 2006-01-13 2014-03-18 Essex Pa, L.L.C. Identification of text
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding
DE102006011022A1 (de) * 2006-03-09 2007-10-25 Netviewer Gmbh Zweidimensionales adaptives Bildkompressionsverfahren
EP2011002B1 (en) * 2006-03-27 2016-06-22 Nielsen Media Research, Inc. Methods and systems to meter media content presented on a wireless communication device
US7586424B2 (en) * 2006-06-05 2009-09-08 Donald Martin Monro Data coding using an exponent and a residual
US7770091B2 (en) * 2006-06-19 2010-08-03 Monro Donald M Data compression for use in communication systems
US20080017227A1 (en) * 2006-07-19 2008-01-24 Ward Barry D Walking aid apparatus
US8885632B2 (en) 2006-08-02 2014-11-11 Silver Peak Systems, Inc. Communications scheduler
US8755381B2 (en) 2006-08-02 2014-06-17 Silver Peak Systems, Inc. Data matching using flow based packet data storage
DE102006047465A1 (de) * 2006-10-07 2008-04-10 Deutsche Telekom Ag Verfahren und Vorrichtung zur Kompression und Dekompression digitaler Daten auf elektronischem Wege unter Verwendung einer Kontextgrammatik
US8453241B2 (en) * 2006-12-18 2013-05-28 Illinois Institute Of Technology Method for securing streaming multimedia network transmissions
US20090070877A1 (en) * 2006-12-18 2009-03-12 Carol Davids Method for securing streaming multimedia network transmissions
US7814284B1 (en) 2007-01-18 2010-10-12 Cisco Technology, Inc. Redundancy elimination by aggregation of multiple chunks
US7834784B1 (en) 2007-01-18 2010-11-16 Cisco Technology, Inc. Data redundancy elimination mechanism including fast lookup of data patterns exhibiting spatial locality
US7439887B2 (en) * 2007-02-13 2008-10-21 Seiko Epson Corporation Method and apparatus for GIF decompression using fixed-size codeword table
US8751022B2 (en) * 2007-04-14 2014-06-10 Apple Inc. Multi-take compositing of digital media assets
US20080263450A1 (en) * 2007-04-14 2008-10-23 James Jacob Hodges System and method to conform separately edited sequences
US20080256136A1 (en) * 2007-04-14 2008-10-16 Jerremy Holland Techniques and tools for managing attributes of media content
US20080256448A1 (en) * 2007-04-14 2008-10-16 Nikhil Mahesh Bhatt Multi-Frame Video Display Method and Apparatus
US20090055395A1 (en) * 2007-08-24 2009-02-26 Texas Instruments Incorporated Method and Apparatus for XML Data Processing
US8458460B2 (en) * 2007-09-27 2013-06-04 Intel Corporation Digest generation from instruction op-codes
KR100945247B1 (ko) * 2007-10-04 2010-03-03 한국전자통신연구원 가상 환경을 이용한 비실행 파일 내의 악성 코드 분석 방법및 장치
US8514927B2 (en) * 2007-11-20 2013-08-20 Texas Instruments Incorporated Compression code for transferring rate matched data between devices
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
CN100595596C (zh) * 2007-12-12 2010-03-24 北京四方继保自动化股份有限公司 电网广域测量***(wams)中动态数据压缩存储方法
US20090198716A1 (en) * 2008-02-04 2009-08-06 Shawn Allen Howarth Method of building a compression dictionary during data populating operations processing
US8503991B2 (en) 2008-04-03 2013-08-06 The Nielsen Company (Us), Llc Methods and apparatus to monitor mobile devices
US8179974B2 (en) 2008-05-02 2012-05-15 Microsoft Corporation Multi-level representation of reordered transform coefficients
US9717021B2 (en) 2008-07-03 2017-07-25 Silver Peak Systems, Inc. Virtual network overlay
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US7864086B2 (en) 2008-10-06 2011-01-04 Donald Martin Monro Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems
US7791513B2 (en) * 2008-10-06 2010-09-07 Donald Martin Monro Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786903B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7786907B2 (en) 2008-10-06 2010-08-31 Donald Martin Monro Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems
US7764202B2 (en) * 2008-11-26 2010-07-27 Red Hat, Inc. Lossless data compression with separated index values and literal values in output stream
US7750826B2 (en) * 2008-11-26 2010-07-06 Red Hat, Inc. Data structure management for lossless data compression
US7864085B2 (en) * 2009-02-05 2011-01-04 Lsi Corporation Data compression method and apparatus
WO2010097942A1 (ja) * 2009-02-27 2010-09-02 富士通株式会社 電子署名プログラム、電子署名装置、および電子署名方法
US8179291B2 (en) * 2009-05-04 2012-05-15 International Business Machines Corporation Method and system for compression of logical data objects for storage
US7944375B2 (en) * 2009-06-02 2011-05-17 International Business Machines Corporation Wear reduction methods by using compression/decompression techniques with fast random access
CN101572552B (zh) * 2009-06-11 2012-07-18 哈尔滨工业大学 基于内容可寻址存储器的高速无损数据压缩***
DE102009028743B4 (de) 2009-08-20 2011-06-09 Robert Bosch Gmbh Verfahren und Steuergerät zur Entzerrung eines Kamerabildes
US7982636B2 (en) * 2009-08-20 2011-07-19 International Business Machines Corporation Data compression using a nested hierachy of fixed phrase length static and dynamic dictionaries
RU2473960C2 (ru) * 2010-05-26 2013-01-27 Учреждение Российской академии наук Институт проблем управления им. В.А. Трапезникова РАН Способ нахождения максимальных повторяющихся участков последовательности символов конечного алфавита и способ вычисления вспомогательного массива
GB2500524A (en) * 2010-12-28 2013-09-25 Ibm Apparatus and method for processing sequence of data element
US9177500B2 (en) 2011-01-31 2015-11-03 Global Oled Technology Llc Display with secure decryption of image signals
US20120194564A1 (en) 2011-01-31 2012-08-02 White Christopher J Display with secure decompression of image signals
EP2501133A3 (de) 2011-03-16 2013-07-31 Basler AG Verfahren und Vorrichtung zur Bandbreitenreduktion für Bilddaten
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
US9130991B2 (en) 2011-10-14 2015-09-08 Silver Peak Systems, Inc. Processing data packets in performance enhancing proxy (PEP) environment
US9626224B2 (en) 2011-11-03 2017-04-18 Silver Peak Systems, Inc. Optimizing available computing resources within a virtual environment
JP5766588B2 (ja) 2011-11-16 2015-08-19 クラリオン株式会社 検索端末装置、検索サーバ装置、及びセンタ連携型検索システム
US8779950B2 (en) 2012-03-05 2014-07-15 Dcba, Llc Command encoded data compression
EP2850763B1 (en) 2012-05-18 2017-09-13 Telefonica S.A. A method and a system for csi reporting in lte networks according to the mobility of the user equipment
JP5826114B2 (ja) 2012-05-25 2015-12-02 クラリオン株式会社 データ解凍装置、データ圧縮装置、データの解凍プログラム、データの圧縮プログラム、及び、圧縮データ配信システム
CN104123309B (zh) * 2013-04-28 2017-08-25 国际商业机器公司 用于数据管理的方法和***
US9176973B1 (en) 2013-06-14 2015-11-03 Timmes, Inc. Recursive-capable lossless compression mechanism
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US10410244B2 (en) 2013-11-13 2019-09-10 Bi Science (2009) Ltd Behavioral content discovery
US9767265B2 (en) * 2014-05-06 2017-09-19 Anchor Id, Inc. Authentication with parental control functionality
US9640376B1 (en) 2014-06-16 2017-05-02 Protein Metrics Inc. Interactive analysis of mass spectrometry data
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9385751B2 (en) 2014-10-07 2016-07-05 Protein Metrics Inc. Enhanced data compression for sparse multidimensional ordered series data
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
US10354421B2 (en) 2015-03-10 2019-07-16 Protein Metrics Inc. Apparatuses and methods for annotated peptide mapping
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US10911065B2 (en) * 2015-10-20 2021-02-02 Sinan Karaca Computer system and method including selectively compressing data files and directories based on an operator indication and representing the amount of available free space
KR102379182B1 (ko) 2015-11-20 2022-03-24 삼성전자주식회사 연속 데이터 압축 장치 및 방법
EP3219356A1 (en) 2016-03-14 2017-09-20 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. Apparatus for applying electric pulses to living myocardial tissue
JP6735469B2 (ja) 2016-03-22 2020-08-05 パナソニックIpマネジメント株式会社 ログ収集装置、監視カメラ、およびログ収集方法
US10432484B2 (en) 2016-06-13 2019-10-01 Silver Peak Systems, Inc. Aggregating select network traffic statistics
US9967056B1 (en) 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US9742434B1 (en) 2016-12-23 2017-08-22 Mediatek Inc. Data compression and de-compression method and data compressor and data de-compressor
US10319573B2 (en) 2017-01-26 2019-06-11 Protein Metrics Inc. Methods and apparatuses for determining the intact mass of large molecules from mass spectrographic data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
CN107180018B (zh) * 2017-05-17 2018-11-20 上海兆芯集成电路有限公司 基于散列的加速压缩方法以及使用此方法的装置
US10097202B1 (en) * 2017-06-20 2018-10-09 Samsung Electronics Co., Ltd. SSD compression aware
US10340945B2 (en) 2017-07-24 2019-07-02 iDensify LLC Memory compression method and apparatus
US10546736B2 (en) 2017-08-01 2020-01-28 Protein Metrics Inc. Interactive analysis of mass spectrometry data including peak selection and dynamic labeling
US11626274B2 (en) 2017-08-01 2023-04-11 Protein Metrics, Llc Interactive analysis of mass spectrometry data including peak selection and dynamic labeling
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
US10510521B2 (en) 2017-09-29 2019-12-17 Protein Metrics Inc. Interactive analysis of mass spectrometry data
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
US11640901B2 (en) 2018-09-05 2023-05-02 Protein Metrics, Llc Methods and apparatuses for deconvolution of mass spectrometry data
US11323548B2 (en) 2019-01-20 2022-05-03 Arilou Information Security Technologies Ltd. System and method for data compression based on data position in frames structure
EP3888346A4 (en) 2019-02-19 2022-08-24 Edgy Bees Ltd. ESTIMATION OF THE REAL-TIME DELAY OF A VIDEO STREAM
US11346844B2 (en) 2019-04-26 2022-05-31 Protein Metrics Inc. Intact mass reconstruction from peptide level data and facilitated comparison with experimental intact observation
JP6614735B1 (ja) 2019-05-07 2019-12-04 国立大学法人 筑波大学 データの圧縮及び解凍方法、データ圧縮方法、データ圧縮装置、データ圧縮プログラム、データ解凍方法、データ解凍装置、データ解凍プログラム
EP4204948A1 (en) 2020-08-31 2023-07-05 Protein Metrics, LLC Data compression for multidimensional time series data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5719857A (en) * 1980-07-09 1982-02-02 Nec Corp Data compression storage device
JPS57101937A (en) * 1980-12-16 1982-06-24 Nec Corp Data storage device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4021782A (en) * 1974-01-07 1977-05-03 Hoerning John S Data compaction system and apparatus
US4366551A (en) * 1977-06-24 1982-12-28 Holtz Klaus E Associative memory search system
DE3118676A1 (de) * 1981-05-12 1982-12-02 Heinz Karl Eckhart Dr Jur Verfahren zur kompression redundanter folgen serieller datenelemente
US4464650A (en) * 1981-08-10 1984-08-07 Sperry Corporation Apparatus and method for compressing data signals and restoring the compressed data signals
JPS59231683A (ja) * 1983-06-01 1984-12-26 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン データ圧縮方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5719857A (en) * 1980-07-09 1982-02-02 Nec Corp Data compression storage device
JPS57101937A (en) * 1980-12-16 1982-06-24 Nec Corp Data storage device

Also Published As

Publication number Publication date
EP0129439A1 (en) 1984-12-27
DE3476617D1 (en) 1989-03-09
US4558302A (en) 1985-12-10
JP2610084B2 (ja) 1997-05-14
JPH08237138A (ja) 1996-09-13
CA1223965A (en) 1987-07-07
JPS60116228A (ja) 1985-06-22
JPH07249996A (ja) 1995-09-26
US4558302B1 (ja) 1994-01-04
EP0129439B1 (en) 1989-02-01

Similar Documents

Publication Publication Date Title
JPH0568893B2 (ja)
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
US5410671A (en) Data compression/decompression processor
US5414425A (en) Data compression apparatus and method
US5126739A (en) Data compression apparatus and method
US5016009A (en) Data compression apparatus and method
JP3342700B2 (ja) ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置
US5627995A (en) Data compression and decompression using memory spaces of more than one size
US5490260A (en) Solid-state RAM data storage for virtual memory computer using fixed-sized swap pages with selective compressed/uncompressed data store according to each data size
US5532694A (en) Data compression apparatus and method using matching string searching and Huffman encoding
JP2713369B2 (ja) データ圧縮装置及び方法
US5663721A (en) Method and apparatus using code values and length fields for compressing computer data
US5140321A (en) Data compression/decompression method and apparatus
US5955976A (en) Data compression for use with a communications channel
JP2502469B2 (ja) 文字デ―タを圧縮し圧縮済みデ―タを展開するための静的辞書構造を提供する方法および手段
AU637826B2 (en) Improved data compression apparatus
JP2534465B2 (ja) デ―タ圧縮装置および方法
US5652878A (en) Method and apparatus for compressing data
JP2863065B2 (ja) マッチングストリング探索およびハフマン符号化を用いたデータ圧縮装置および方法ならびにデータ伸長装置および方法
JP2979106B2 (ja) データ圧縮
JP3207667B2 (ja) 可変長コードワードパッカー
US5610603A (en) Sort order preservation method used with a static compression dictionary having consecutively numbered children of a parent
JP3611319B2 (ja) データの圧縮に必要な時間を短縮するための方法および装置
US5010344A (en) Method of decoding compressed data
JPH03204234A (ja) 圧縮データ復元方法

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term