JPH08237138A - 圧縮装置および圧縮方法 - Google Patents
圧縮装置および圧縮方法Info
- Publication number
- JPH08237138A JPH08237138A JP7341868A JP34186895A JPH08237138A JP H08237138 A JPH08237138 A JP H08237138A JP 7341868 A JP7341868 A JP 7341868A JP 34186895 A JP34186895 A JP 34186895A JP H08237138 A JPH08237138 A JP H08237138A
- Authority
- JP
- Japan
- Prior art keywords
- stream
- string
- data character
- stored
- longest match
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; 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)
Abstract
(57)【要約】
【目的】 ディジタル入力信号の流れにおいて新しく遭
遇した文字ストリングごとに接頭部ストリングと一つの
拡張文字からなる文字ストリングとして割当てた符号信
号を用いて圧縮するディジタルデータの圧縮方法とその
ための圧縮装置を提供することである。 【構成】 入力データ・ストリームからパースされたデ
ータ文字信号のストリングを格納し、そのストリームと
の最長一致を決めるために、そのストリームを格納され
たストリングと比較してデータ文字信号のストリームを
探索することによって、データ文字信号のストリームを
符号信号の圧縮されたストリームに圧縮する。
遇した文字ストリングごとに接頭部ストリングと一つの
拡張文字からなる文字ストリングとして割当てた符号信
号を用いて圧縮するディジタルデータの圧縮方法とその
ための圧縮装置を提供することである。 【構成】 入力データ・ストリームからパースされたデ
ータ文字信号のストリングを格納し、そのストリームと
の最長一致を決めるために、そのストリームを格納され
たストリングと比較してデータ文字信号のストリームを
探索することによって、データ文字信号のストリームを
符号信号の圧縮されたストリームに圧縮する。
Description
【0001】
【発明の属する技術分野】本発明はデータ圧縮および圧
縮データの伸長(decompression)の分野
に関するものである。さらに具体的にいえば、ディジタ
ル入力信号の流れにおいて新しく遭遇した文字ストリン
グごとに接頭部ストリングと一つの拡張文字からなる文
字ストリングとして割当てた符号信号を用いて圧縮する
ディジタルデータの圧縮方法とそのための圧縮装置に関
するものである。
縮データの伸長(decompression)の分野
に関するものである。さらに具体的にいえば、ディジタ
ル入力信号の流れにおいて新しく遭遇した文字ストリン
グごとに接頭部ストリングと一つの拡張文字からなる文
字ストリングとして割当てた符号信号を用いて圧縮する
ディジタルデータの圧縮方法とそのための圧縮装置に関
するものである。
【0002】
【従来の技術】ディジタル・データ信号のストリームを
圧縮されたディジタル・データ信号に符号化して、圧縮
されたディジタル・データ信号を元のデータ信号に復元
するデータ圧縮装置が従来知られている。データ圧縮と
は、与えられたフォーマットのデータを元のものより少
ないビットをもつもう一つのフォーマットに変換するす
べての処理をいう。データ圧縮装置の目的はディジタル
情報の与えられた主要部を保持するに必要な記憶装置の
量またはその主要部を伝送するのに必要な時間の量を節
約することである。圧縮比は、符号化されたデータの長
さの元の入力データの長さに対する比として定義され
る。圧縮比が小さければ小さいほど、記憶域または時間
の節約が大きくなる。データ記憶に必要な記憶装置また
はデータ伝送に必要な時間を減らすことによって、圧縮
は金銭上の節約をもたらす。磁気ディスクまたは磁気テ
ープのような物理的装置がデータファイルの格納に用い
られれば、圧縮されたデータを格納する装置に必要なス
ペースが小さくなって利用するディスクまたはテープが
少なくなる。電話線またはサテライト・リンクをディジ
タル情報の伝送に用いる場合、伝送の前にデータを圧縮
するとコストが下がる。データ圧縮装置は、元のデータ
が高い頻度で現れる記号または記号のストリングを持つ
ような冗長性を含む場合に特に有効である。データ圧縮
装置がデータの入力ブロックをより簡潔な形に変換し、
そのあとでその簡潔な形を逆にそれの元のフォーマット
の元のデータに翻訳または伸長する。
圧縮されたディジタル・データ信号に符号化して、圧縮
されたディジタル・データ信号を元のデータ信号に復元
するデータ圧縮装置が従来知られている。データ圧縮と
は、与えられたフォーマットのデータを元のものより少
ないビットをもつもう一つのフォーマットに変換するす
べての処理をいう。データ圧縮装置の目的はディジタル
情報の与えられた主要部を保持するに必要な記憶装置の
量またはその主要部を伝送するのに必要な時間の量を節
約することである。圧縮比は、符号化されたデータの長
さの元の入力データの長さに対する比として定義され
る。圧縮比が小さければ小さいほど、記憶域または時間
の節約が大きくなる。データ記憶に必要な記憶装置また
はデータ伝送に必要な時間を減らすことによって、圧縮
は金銭上の節約をもたらす。磁気ディスクまたは磁気テ
ープのような物理的装置がデータファイルの格納に用い
られれば、圧縮されたデータを格納する装置に必要なス
ペースが小さくなって利用するディスクまたはテープが
少なくなる。電話線またはサテライト・リンクをディジ
タル情報の伝送に用いる場合、伝送の前にデータを圧縮
するとコストが下がる。データ圧縮装置は、元のデータ
が高い頻度で現れる記号または記号のストリングを持つ
ような冗長性を含む場合に特に有効である。データ圧縮
装置がデータの入力ブロックをより簡潔な形に変換し、
そのあとでその簡潔な形を逆にそれの元のフォーマット
の元のデータに翻訳または伸長する。
【0003】例えば、日刊新聞の内容をサテライト・リ
ンクを経て遠隔の地に伝送して、そこで印刷することが
望まれることがある。適当なセンサが新聞の内容を直列
に発生する文字のデータ・ストリームに変換して、通信
リンクを介して伝送することができる。新聞の内容を含
む何百万の記号が伝送前に圧縮されて受信者のところで
再構成されるとすればかなりの量の伝送時間が節約され
るであろう。
ンクを経て遠隔の地に伝送して、そこで印刷することが
望まれることがある。適当なセンサが新聞の内容を直列
に発生する文字のデータ・ストリームに変換して、通信
リンクを介して伝送することができる。新聞の内容を含
む何百万の記号が伝送前に圧縮されて受信者のところで
再構成されるとすればかなりの量の伝送時間が節約され
るであろう。
【0004】別の例として、定期航空路予約データベー
スまたはバンキング・システム・データベースなどの広
範囲なデータベースが記録保管の目的で格納されると
き、データベースを構成する文字の全体が記憶に先立っ
て圧縮されて、あとで使用するには格納された圧縮ファ
イルから再び広げられるとすれば、かなりの量の記憶ス
ペースが節約されるであろう。
スまたはバンキング・システム・データベースなどの広
範囲なデータベースが記録保管の目的で格納されると
き、データベースを構成する文字の全体が記憶に先立っ
て圧縮されて、あとで使用するには格納された圧縮ファ
イルから再び広げられるとすれば、かなりの量の記憶ス
ペースが節約されるであろう。
【0005】
【発明が解決しようとする課題】実際にそして一般に役
立つようにするためには、ディジタル・データ圧縮装置
がある基準を満足する必要がある。この装置はデータ圧
縮装置およびデータ伸長装置が仲介している機器によっ
て授受されるデータ速度に関して高い性能を与える必要
がある。データ圧縮できる速度は、圧縮装置に入る入力
データ処理速度によって決まり、普通数百万バイト毎秒
(メガバイト/秒)である。普通1メガバイト/秒を超
える速度を持つ今日のディスク、テープおよび通信装置
において達成されたデータ速度を保つには高性能が必要
である。従って、データ圧縮装置およびデータ伸長装置
は、最近の装置で達成される帯域幅に一致するデータ帯
域幅をもっていなければならない。従来のデータ圧縮装
置およびデータ伸長装置の性能は、普通、統計的データ
を記憶して圧縮処理および伸長処理を管理するのに用い
られるランダムアクセス記憶装置(RAM)などの速度
によって制限される。圧縮装置に対する高性能は、圧縮
装置に入る入力文字ごとに必要なramサイクル(読み
書き動作)の数によって特徴づけられる。記憶サイクル
の数が少なければ少ないほど性能は高い。高性能設計を
電話通信等の低速度の適用業務に対して経済的な低速R
AMを用いて利用でき、または磁気ディスク転送に対し
て超高速RAMを用いて利用できる。
立つようにするためには、ディジタル・データ圧縮装置
がある基準を満足する必要がある。この装置はデータ圧
縮装置およびデータ伸長装置が仲介している機器によっ
て授受されるデータ速度に関して高い性能を与える必要
がある。データ圧縮できる速度は、圧縮装置に入る入力
データ処理速度によって決まり、普通数百万バイト毎秒
(メガバイト/秒)である。普通1メガバイト/秒を超
える速度を持つ今日のディスク、テープおよび通信装置
において達成されたデータ速度を保つには高性能が必要
である。従って、データ圧縮装置およびデータ伸長装置
は、最近の装置で達成される帯域幅に一致するデータ帯
域幅をもっていなければならない。従来のデータ圧縮装
置およびデータ伸長装置の性能は、普通、統計的データ
を記憶して圧縮処理および伸長処理を管理するのに用い
られるランダムアクセス記憶装置(RAM)などの速度
によって制限される。圧縮装置に対する高性能は、圧縮
装置に入る入力文字ごとに必要なramサイクル(読み
書き動作)の数によって特徴づけられる。記憶サイクル
の数が少なければ少ないほど性能は高い。高性能設計を
電話通信等の低速度の適用業務に対して経済的な低速R
AMを用いて利用でき、または磁気ディスク転送に対し
て超高速RAMを用いて利用できる。
【0006】データ圧縮装置およびデータ伸長装置の設
計におけるもう一つの重要な基準は、圧縮有効度であ
る。圧縮有効度は装置の圧縮比によって特徴づけられ
る。圧縮比は、圧縮された形のデータ記憶の大きさを圧
縮されていない形のデータ記憶の大きさで割った比であ
る。データが圧縮可能であるためには、そのデータは、
冗長度を含んでいなければならない。圧縮有効性は、圧
縮手順が入力データにおける冗長性のいろいろな形態に
いかに有効に調和するかによって決められる。代表的な
コンピュータに記憶されたデータ、例えば整数の配列、
テキストまたはプログラムなどにおいて、冗長性は個々
の記号表記法、例えば数字、バイトの不統一な使用と共
通語などの記号列、空白記録欄などの頻繁な繰返しの両
方において起こる。有効なデータ圧縮装置は、両方の形
式の冗長性に応じる必要がある。
計におけるもう一つの重要な基準は、圧縮有効度であ
る。圧縮有効度は装置の圧縮比によって特徴づけられ
る。圧縮比は、圧縮された形のデータ記憶の大きさを圧
縮されていない形のデータ記憶の大きさで割った比であ
る。データが圧縮可能であるためには、そのデータは、
冗長度を含んでいなければならない。圧縮有効性は、圧
縮手順が入力データにおける冗長性のいろいろな形態に
いかに有効に調和するかによって決められる。代表的な
コンピュータに記憶されたデータ、例えば整数の配列、
テキストまたはプログラムなどにおいて、冗長性は個々
の記号表記法、例えば数字、バイトの不統一な使用と共
通語などの記号列、空白記録欄などの頻繁な繰返しの両
方において起こる。有効なデータ圧縮装置は、両方の形
式の冗長性に応じる必要がある。
【0007】データ圧縮装置およびデータ伸長装置の設
計における別の重要な基準は、適応性の基準である。多
くの従来のデータ圧縮手段は、圧縮されようとするデー
タの以前の知識または統計を必要とする。従来の手順の
あるものは、データが受けられるときのデータの統計に
適用する。従来の処理における適応性は、法外な複雑度
を必要とした。普通には、汎用コンピュータ施設におけ
る必要条件である広範囲の情報形式にわたって適応圧縮
および伸長装置を用いることができる。圧縮装置は、デ
ータ統計の以前の知識がなくても良好な圧縮比を達成す
ることが望ましい。現在利用できるデータ圧縮手順およ
びデータ伸長手段は、一般には適応できないので、それ
を汎用用途には利用できない。
計における別の重要な基準は、適応性の基準である。多
くの従来のデータ圧縮手段は、圧縮されようとするデー
タの以前の知識または統計を必要とする。従来の手順の
あるものは、データが受けられるときのデータの統計に
適用する。従来の処理における適応性は、法外な複雑度
を必要とした。普通には、汎用コンピュータ施設におけ
る必要条件である広範囲の情報形式にわたって適応圧縮
および伸長装置を用いることができる。圧縮装置は、デ
ータ統計の以前の知識がなくても良好な圧縮比を達成す
ることが望ましい。現在利用できるデータ圧縮手順およ
びデータ伸長手段は、一般には適応できないので、それ
を汎用用途には利用できない。
【0008】データ圧縮装置およびデータ伸長装置の設
計におけるもう一つの重要な基準は、可逆性の基準であ
る。データ圧縮装置が可逆性の性質をもつためには、そ
の装置は、圧縮されたデータを情報の変質または損失な
しにその元の形に再拡張または伸長することができなけ
ればならない。伸長されたデータと元のデータとは同一
であって互いに区別できないものでなければならない。
計におけるもう一つの重要な基準は、可逆性の基準であ
る。データ圧縮装置が可逆性の性質をもつためには、そ
の装置は、圧縮されたデータを情報の変質または損失な
しにその元の形に再拡張または伸長することができなけ
ればならない。伸長されたデータと元のデータとは同一
であって互いに区別できないものでなければならない。
【0009】適応性のあるようにされているか、または
適応性のあるようにされる可能性のある汎用データ圧縮
手段が従来技術において知られており、二つの該当する
手順は、ハフマン(Huffman)法およびタンスタ
ル(Tunstall)法である。ハフマン法は広く知
られて用いられており、それに関してはハフマンの「最
小冗長性コードの構成のための方法」という論文[プロ
シーディングスIRE、第40巻、第10号、1098
〜1100頁(1952年9月)]に出ている。さらハ
フマンの方法については、R.ガラハ(Gallagh
er)の「ハフマンによる論文についての変形」という
論文[IEEE情報理論トランザクションズ,IT−2
4,No.6(1978年11月)]に見ることができ
る。適応ハフマン・コーディングは、固定長の記号列を
可変長さ2進語に写像する。適応ハフマン・コーディン
グは、その方法が解釈できる固定列長より長い入力記号
列内に冗長があるとき、それが有効でないという限界を
もっているという欠点がある。ハフマン法を実際に装置
として具体化するときは、入力列長は、RAMの価格の
ために12ビットを超えることは殆どないので、この方
法は、一般は良好な圧縮比を達成しない。なお、適応ハ
フマン法は複雑で、各入力記号に対して法外に多数の記
憶サイクルを必要とすることが多い。従って、適応ハフ
マン法は、望ましくないほどわずらわしく、高価でかつ
遅い傾向があるために、この方法を実際的な現在の設備
のほとんどに適さなくしている。
適応性のあるようにされる可能性のある汎用データ圧縮
手段が従来技術において知られており、二つの該当する
手順は、ハフマン(Huffman)法およびタンスタ
ル(Tunstall)法である。ハフマン法は広く知
られて用いられており、それに関してはハフマンの「最
小冗長性コードの構成のための方法」という論文[プロ
シーディングスIRE、第40巻、第10号、1098
〜1100頁(1952年9月)]に出ている。さらハ
フマンの方法については、R.ガラハ(Gallagh
er)の「ハフマンによる論文についての変形」という
論文[IEEE情報理論トランザクションズ,IT−2
4,No.6(1978年11月)]に見ることができ
る。適応ハフマン・コーディングは、固定長の記号列を
可変長さ2進語に写像する。適応ハフマン・コーディン
グは、その方法が解釈できる固定列長より長い入力記号
列内に冗長があるとき、それが有効でないという限界を
もっているという欠点がある。ハフマン法を実際に装置
として具体化するときは、入力列長は、RAMの価格の
ために12ビットを超えることは殆どないので、この方
法は、一般は良好な圧縮比を達成しない。なお、適応ハ
フマン法は複雑で、各入力記号に対して法外に多数の記
憶サイクルを必要とすることが多い。従って、適応ハフ
マン法は、望ましくないほどわずらわしく、高価でかつ
遅い傾向があるために、この方法を実際的な現在の設備
のほとんどに適さなくしている。
【0010】タンスタルの方法については、B.T.タ
ンスタルの「雑音のない圧縮コードの合成」という題名
の博士論文、[ジョージア・インスティチュート・オブ
・テクノロジ(1967年9月)]に見ることができ
る。タンスタルの方法は、可変長の入力記号列を固定長
の2進出力語に写像する。タンスタル法の適応形は、従
来技術に記載されていないが、一つの適応形を誘導でき
る可能性はあるものの、それは複雑で高性能の装置にす
るには不適切であろう。ハフマン法もタンスタル法も原
始記号の組合せの長さが段々長くなると符号化すること
ができなくなる。
ンスタルの「雑音のない圧縮コードの合成」という題名
の博士論文、[ジョージア・インスティチュート・オブ
・テクノロジ(1967年9月)]に見ることができ
る。タンスタルの方法は、可変長の入力記号列を固定長
の2進出力語に写像する。タンスタル法の適応形は、従
来技術に記載されていないが、一つの適応形を誘導でき
る可能性はあるものの、それは複雑で高性能の装置にす
るには不適切であろう。ハフマン法もタンスタル法も原
始記号の組合せの長さが段々長くなると符号化すること
ができなくなる。
【0011】従来技術の欠点の多くを克服するさらに別
の適応データ圧縮および伸長装置は、M.コーイン(C
ohen)、W.イーストマン(Eastman)、
A.レンペル(Lempel)およびJ.ジブ(Zi
v)の米国特許第4,464,650号(データの圧縮
と圧縮されたデータの伸長の装置と方法」(1981年
8月10日出願)に開示されたものである。前記米国特
許第4,464,650号の方法は入力データの記号の
ストリームを記号の適応増大する列に分解する。前記特
許第4,464,650号の方法は、入力文字ごとに多
数のRAMサイクルを必要として、圧縮および伸長を行
うために乗算および除算のような時間のかかる複雑な数
学的手順を用いるという欠点をもっている。これらの欠
点は、前記特許第4,464,650号の方法を多くの
経済的で高性能の装置として実現するのに不適当にする
傾向がある。前述のことから従来技術も前記米国特許第
4,464,650号の方法も高性能のアプリケーショ
ンに適する適応性があり、かつ効率的な圧縮装置を提供
しないことがわかる。既知の従来の設計アプローチは、
そのような装置には直接には適当ではない。
の適応データ圧縮および伸長装置は、M.コーイン(C
ohen)、W.イーストマン(Eastman)、
A.レンペル(Lempel)およびJ.ジブ(Zi
v)の米国特許第4,464,650号(データの圧縮
と圧縮されたデータの伸長の装置と方法」(1981年
8月10日出願)に開示されたものである。前記米国特
許第4,464,650号の方法は入力データの記号の
ストリームを記号の適応増大する列に分解する。前記特
許第4,464,650号の方法は、入力文字ごとに多
数のRAMサイクルを必要として、圧縮および伸長を行
うために乗算および除算のような時間のかかる複雑な数
学的手順を用いるという欠点をもっている。これらの欠
点は、前記特許第4,464,650号の方法を多くの
経済的で高性能の装置として実現するのに不適当にする
傾向がある。前述のことから従来技術も前記米国特許第
4,464,650号の方法も高性能のアプリケーショ
ンに適する適応性があり、かつ効率的な圧縮装置を提供
しないことがわかる。既知の従来の設計アプローチは、
そのような装置には直接には適当ではない。
【0012】したがって、本発明の目的は、上述した装
置の欠点を除去したデータの圧縮装置及び方法を提供す
ることにある。
置の欠点を除去したデータの圧縮装置及び方法を提供す
ることにある。
【0013】
【課題を解決するための手段】本発明は上述の装置の欠
点を除去し、良好な圧縮比を達成することのできる経済
的で高性能で適応性があり、可逆的なデータ圧縮の装置
及び方法を提供することによって克服する。
点を除去し、良好な圧縮比を達成することのできる経済
的で高性能で適応性があり、可逆的なデータ圧縮の装置
及び方法を提供することによって克服する。
【0014】本発明の第1の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有し、および
該符号信号に対応するメモリアドレスにストアされるよ
うになしたアドレス可能なメモリと、前記ストリームを
前記メモリ内にストアされたストリングと比較して、前
記データ文字信号ストリームをサーチして前記ストリー
ムとの最長一致を決定し、前記最長一致中のデータ文字
信号の個数に応じて1または2以上のメモリアドレスに
アクセスして最長一致を決定する手段と、前記最長一致
に続く次のデータ文字信号で拡張された前記データ文字
信号ストリームとの最長一致を含む拡張されたストリン
グを形成する手段と、前記拡張されたストリングに符号
信号を割り当てる手段と、前記拡張されたストリングを
前記メモリ内の、割り当てられた符号信号に対応するメ
モリアドレスにストアする手段と、前記最長一致に関連
する符号信号を供給して前記圧縮された符号信号ストリ
ームを供給する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有し、および
該符号信号に対応するメモリアドレスにストアされるよ
うになしたアドレス可能なメモリと、前記ストリームを
前記メモリ内にストアされたストリングと比較して、前
記データ文字信号ストリームをサーチして前記ストリー
ムとの最長一致を決定し、前記最長一致中のデータ文字
信号の個数に応じて1または2以上のメモリアドレスに
アクセスして最長一致を決定する手段と、前記最長一致
に続く次のデータ文字信号で拡張された前記データ文字
信号ストリームとの最長一致を含む拡張されたストリン
グを形成する手段と、前記拡張されたストリングに符号
信号を割り当てる手段と、前記拡張されたストリングを
前記メモリ内の、割り当てられた符号信号に対応するメ
モリアドレスにストアする手段と、前記最長一致に関連
する符号信号を供給して前記圧縮された符号信号ストリ
ームを供給する手段とを具えたことを特徴とする。
【0015】また、本発明は、最長一致を決定する際に
前記サーチする手段によりアクセスされる各メモリアド
レスは、より長い一致があるか否かを決定するために前
記サーチする手段によって用いられるデータを含むこと
を特徴とする。
前記サーチする手段によりアクセスされる各メモリアド
レスは、より長い一致があるか否かを決定するために前
記サーチする手段によって用いられるデータを含むこと
を特徴とする。
【0016】また、本発明は、前記サーチする手段によ
って、アクセスされたメモリアドレス内にストアされた
データを前記ストリームからのデータ文字信号と共に用
いて、より長い一致が存在するときにはそのより長い一
致に対応するメモリアドレスを決定することを特徴とす
る。
って、アクセスされたメモリアドレス内にストアされた
データを前記ストリームからのデータ文字信号と共に用
いて、より長い一致が存在するときにはそのより長い一
致に対応するメモリアドレスを決定することを特徴とす
る。
【0017】また、本発明は、ストリングを前記メモリ
に間接的にストアすることを特徴とする。
に間接的にストアすることを特徴とする。
【0018】また、本発明は、拡張されたストリング
は、前記最長一致の少なくとも表示をストアすることに
よってメモリアドレスにストアされることを特徴とす
る。
は、前記最長一致の少なくとも表示をストアすることに
よってメモリアドレスにストアされることを特徴とす
る。
【0019】また、本発明は、前記サーチする手段は、
先に定めた最長一致に続く次のデータ文字信号で始まる
次に生じる最長一致に対するサーチを実行することを特
徴とする。
先に定めた最長一致に続く次のデータ文字信号で始まる
次に生じる最長一致に対するサーチを実行することを特
徴とする。
【0020】本発明の第2の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、複数の予め定めたストリングを前記ストア手段
内に最初にストアし、前記データ文字信号のストリーム
の圧縮の開始前に、ストアされたストリングに対応する
符号信号を前記ストリングに割り当てる手段と、前記ス
トリームを該ストア手段内にストアされたストリングと
比較することによって、前記データ文字信号のストリー
ムをサーチして前記ストリームとの最長一致を決定する
手段と、前記ストア手段にストアするために、前記最長
一致に続く次のデータ文字信号によって拡張された前記
データ文字信号のストリームとの前記最長一致を含む拡
張されたストリングを前記ストア手段に挿入する手段
と、前記ストアされた拡張されたストリングに対応する
符号信号を割り当てる手段と、前記最長一致に関連する
符号信号を供給して前記圧縮された符号信号のストリー
ムを供給する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、複数の予め定めたストリングを前記ストア手段
内に最初にストアし、前記データ文字信号のストリーム
の圧縮の開始前に、ストアされたストリングに対応する
符号信号を前記ストリングに割り当てる手段と、前記ス
トリームを該ストア手段内にストアされたストリングと
比較することによって、前記データ文字信号のストリー
ムをサーチして前記ストリームとの最長一致を決定する
手段と、前記ストア手段にストアするために、前記最長
一致に続く次のデータ文字信号によって拡張された前記
データ文字信号のストリームとの前記最長一致を含む拡
張されたストリングを前記ストア手段に挿入する手段
と、前記ストアされた拡張されたストリングに対応する
符号信号を割り当てる手段と、前記最長一致に関連する
符号信号を供給して前記圧縮された符号信号のストリー
ムを供給する手段とを具えたことを特徴とする。
【0021】また、本発明は、前記メモリ内に最初にス
トアされた予め定めたストリングは単一データ文字信号
を含むことを特徴とする。
トアされた予め定めたストリングは単一データ文字信号
を含むことを特徴とする。
【0022】また、本発明は、前記単一データ文字信号
はデータ文字のアルファベットの文字に対応することを
特徴とする。
はデータ文字のアルファベットの文字に対応することを
特徴とする。
【0023】また、本発明は、前記アルファベットの文
字値に基づいて、符号信号を前記データ文字のアルファ
ベットに割り当てられることを特徴とする。
字値に基づいて、符号信号を前記データ文字のアルファ
ベットに割り当てられることを特徴とする。
【0024】また、本発明は、前記データ文字はASCII
文字であり、および符号信号をASCII 値に基づいて前記
ASCII 文字に割り当てることを特徴とする。
文字であり、および符号信号をASCII 値に基づいて前記
ASCII 文字に割り当てることを特徴とする。
【0025】本発明の第3の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、可変長の符号信号を供給する手段を
有し、前記ストアされた拡張されたストリングに対応す
る符号信号を割り当てる手段と、前記最長一致に関連す
る符号信号を供給して前記圧縮された符号信号ストリー
ムを供給する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、可変長の符号信号を供給する手段を
有し、前記ストアされた拡張されたストリングに対応す
る符号信号を割り当てる手段と、前記最長一致に関連す
る符号信号を供給して前記圧縮された符号信号ストリー
ムを供給する手段とを具えたことを特徴とする。
【0026】本発明の第4の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、固定長の符号信号を供給する手段を
有し、前記ストアされた拡張されたストリングに対応す
る符号信号を割り当てる手段と、前記最長一致に関連す
る符号信号を供給して前記圧縮された符号信号ストリー
ムを供給する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、固定長の符号信号を供給する手段を
有し、前記ストアされた拡張されたストリングに対応す
る符号信号を割り当てる手段と、前記最長一致に関連す
る符号信号を供給して前記圧縮された符号信号ストリー
ムを供給する手段とを具えたことを特徴とする。
【0027】本発明の第5の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、符号信号を数値の昇順に割り当てる
手段を有し、前記ストアされた拡張されたストリングに
対応する符号信号を割り当てる手段と、前記最長一致に
関連する符号信号を供給して前記圧縮された符号信号ス
トリームを供給する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、符号信号を数値の昇順に割り当てる
手段を有し、前記ストアされた拡張されたストリングに
対応する符号信号を割り当てる手段と、前記最長一致に
関連する符号信号を供給して前記圧縮された符号信号ス
トリームを供給する手段とを具えたことを特徴とする。
【0028】本発明の第6の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記最長一致に関連する符号信号を
供給して前記圧縮された符号信号ストリームを供給する
手段とを具え、前記サーチ手段は、前記データ文字信号
のストリームを繰り返して分析するよう動作して前記ス
トア手段内にストアされたストリングとの最長一致を決
め、次の最長一致のための各サーチは、先行する最長一
致に続く次のデータ文字信号で始まることを特徴とす
る。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記最長一致に関連する符号信号を
供給して前記圧縮された符号信号ストリームを供給する
手段とを具え、前記サーチ手段は、前記データ文字信号
のストリームを繰り返して分析するよう動作して前記ス
トア手段内にストアされたストリングとの最長一致を決
め、次の最長一致のための各サーチは、先行する最長一
致に続く次のデータ文字信号で始まることを特徴とす
る。
【0029】また、本発明は、前記データ文字信号のス
トリームの圧縮が前記データ文字信号のストリームの単
一のパスにおいて達成されることを特徴とする。
トリームの圧縮が前記データ文字信号のストリームの単
一のパスにおいて達成されることを特徴とする。
【0030】また、本発明は、前記圧縮装置により行わ
れる圧縮は無損失であることを特徴とする。
れる圧縮は無損失であることを特徴とする。
【0031】本発明の第7の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記データ文字信
号のストリームのサーチが当該ストリームの終端に達し
たか否かを決定するための手段とを具えたことを特徴と
する。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記データ文字信
号のストリームのサーチが当該ストリームの終端に達し
たか否かを決定するための手段とを具えたことを特徴と
する。
【0032】また、本発明は、前記サーチが前記データ
文字信号のストリームの終端に達すると、前記データ文
字信号のストリーム中の最後のデータ文字ストリングに
対応する符号値が前記圧縮されたストリームでの使用の
ため供給されることを特徴とする。
文字信号のストリームの終端に達すると、前記データ文
字信号のストリーム中の最後のデータ文字ストリングに
対応する符号値が前記圧縮されたストリームでの使用の
ため供給されることを特徴とする。
【0033】また、本発明は、前記サーチが前記データ
文字信号のストリームの終端に達したことに応答して、
ストリームの終端の表示が提供されることを特徴とす
る。
文字信号のストリームの終端に達したことに応答して、
ストリームの終端の表示が提供されることを特徴とす
る。
【0034】本発明の第8の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記圧縮装置によ
り行われた圧縮を変化させる手段とを具えたことを特徴
とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記圧縮装置によ
り行われた圧縮を変化させる手段とを具えたことを特徴
とする。
【0035】また、本発明は、前記圧縮を変化させる手
段は圧縮比を変化させることを特徴とする。
段は圧縮比を変化させることを特徴とする。
【0036】また、本発明は、前記圧縮を変化させる手
段は圧縮速度を変化させることを特徴とする特許請求の
範囲第21項に記載の装置。
段は圧縮速度を変化させることを特徴とする特許請求の
範囲第21項に記載の装置。
【0037】本発明の第9の形態は、データ文字信号の
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記サーチする手
段の動作を中断する手段とを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮装置であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
し、前記ストアされたストリングは、当該ストアされた
ストリングにそれぞれ関連する符号信号を有するストア
手段と、前記ストリームを前記ストア手段内にストアさ
れたストリングと比較することによって、前記データ文
字信号のストリームをサーチして前記ストリームとの最
長一致を決定する手段と、前記ストア手段にストアする
ために、前記最長一致に続く次のデータ文字信号によっ
て拡張された前記データ文字信号のストリームとの前記
最長一致を含む拡張されたストリングを前記ストア手段
に挿入する手段と、前記ストアされた拡張されたストリ
ングに対応する符号信号を割り当てる手段と、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号のストリームを供給する手段と、前記サーチする手
段の動作を中断する手段とを具えたことを特徴とする。
【0038】本発明の第10の形態は、データ文字信号
のストリームを圧縮された符号信号ストリームに圧縮す
る圧縮方法であって、前記データ文字信号のストリーム
中において遭遇するデータ文字信号のストリングをアド
レス可能なメモリにストアし、前記ストアされたストリ
ングは、当該ストアされたストリングにそれぞれ関連す
る符号信号を有し、および前記ストリングを該符号信号
に対応するメモリアドレスにストアするステップと、前
記ストリームを前記メモリ内にストアされたストリング
と比較して、前記データ文字信号ストリームをサーチし
て前記ストリームとの最長一致を決定し、前記最長一致
中のデータ文字信号の個数に応じて1 または2 以上のメ
モリアドレスにアクセスして最長一致を決定するステッ
プと、前記最長一致に続く前記次のデータ文字で拡張さ
れた前記データ文字信号のストリームとの最長一致を含
む拡張されたストリングを形成するステップと、前記拡
張されたストリングに符号信号を割り当てるステップ
と、前記拡張されたストリングを前記メモリ内の、割り
当てられた符号信号に対応するメモリアドレスにストア
するステップと、前記最長一致に関連する符号信号を供
給して圧縮された前記符号信号ストリームを供給するス
テップとを具えたことを特徴とする。
のストリームを圧縮された符号信号ストリームに圧縮す
る圧縮方法であって、前記データ文字信号のストリーム
中において遭遇するデータ文字信号のストリングをアド
レス可能なメモリにストアし、前記ストアされたストリ
ングは、当該ストアされたストリングにそれぞれ関連す
る符号信号を有し、および前記ストリングを該符号信号
に対応するメモリアドレスにストアするステップと、前
記ストリームを前記メモリ内にストアされたストリング
と比較して、前記データ文字信号ストリームをサーチし
て前記ストリームとの最長一致を決定し、前記最長一致
中のデータ文字信号の個数に応じて1 または2 以上のメ
モリアドレスにアクセスして最長一致を決定するステッ
プと、前記最長一致に続く前記次のデータ文字で拡張さ
れた前記データ文字信号のストリームとの最長一致を含
む拡張されたストリングを形成するステップと、前記拡
張されたストリングに符号信号を割り当てるステップ
と、前記拡張されたストリングを前記メモリ内の、割り
当てられた符号信号に対応するメモリアドレスにストア
するステップと、前記最長一致に関連する符号信号を供
給して圧縮された前記符号信号ストリームを供給するス
テップとを具えたことを特徴とする。
【0039】また、本発明は、最長一致を決定する際に
サーチしている間にアクセスされる各メモリアドレス
は、より長い一致があるか否かを決定するために前記サ
ーチによって用いられるデータを含むことを特徴とす
る。
サーチしている間にアクセスされる各メモリアドレス
は、より長い一致があるか否かを決定するために前記サ
ーチによって用いられるデータを含むことを特徴とす
る。
【0040】また、本発明は、サーチの間、アクセスさ
れたメモリアドレス内にストアされたデータを前記スト
リームからのデータ文字信号と共に用いて、より長い一
致が存在するときにはその長い一致に対応するメモリア
ドレスを決定することを特徴とする。
れたメモリアドレス内にストアされたデータを前記スト
リームからのデータ文字信号と共に用いて、より長い一
致が存在するときにはその長い一致に対応するメモリア
ドレスを決定することを特徴とする。
【0041】また、本発明は、ストリングを前記メモリ
に間接的にストアすることを特徴とする。
に間接的にストアすることを特徴とする。
【0042】また、本発明は、拡張されたストリング
は、前記最長一致の少なくとも表示をストアすることに
よってメモリアドレスにストアされることを特徴とす
る。
は、前記最長一致の少なくとも表示をストアすることに
よってメモリアドレスにストアされることを特徴とす
る。
【0043】また、本発明は、前記サーチするステップ
は、先に定めた最長一致に続く次のデータ文字信号で始
まる次に生じる最長一致に対するサーチを実行すること
を特徴とする。
は、先に定めた最長一致に続く次のデータ文字信号で始
まる次に生じる最長一致に対するサーチを実行すること
を特徴とする。
【0044】本発明の第11の形態は、データ文字信号
のストリームを圧縮された符号信号ストリームに圧縮す
る圧縮方法であって、前記データ文字信号のストリーム
中において遭遇するデータ文字信号のストリングをスト
ア手段にストアし、前記ストアされたストリングは、当
該ストアされたストリングにそれぞれ関連する符号信号
を有するステップと、複数の予め定めたストリングを前
記ストア手段に最初にストアし、および前記データ文字
信号のストリームの圧縮を始める前に対応する符号信号
を前記ストリングに割り当てるステップと、前記ストリ
ームを前記ストア手段内にストアされたストリングと比
較して、前記データ文字信号のストリームをサーチして
前記ストリームとの最長一致を決定するステップと、前
記ストア手段にストアするために、前記最長一致に続く
次のデータ文字信号によって拡張された前記データ文字
信号のストリームとの前記最長一致を含む拡張されたス
トリングを前記ストア手段に挿入するステップと、前記
ストアされた拡張されたストリングに対応する符号信号
を割り当てるステップと、前記最長一致に関連する符号
信号を供給して前記圧縮された符号信号ストリームを供
給するステップとを具えたことを特徴とする。
のストリームを圧縮された符号信号ストリームに圧縮す
る圧縮方法であって、前記データ文字信号のストリーム
中において遭遇するデータ文字信号のストリングをスト
ア手段にストアし、前記ストアされたストリングは、当
該ストアされたストリングにそれぞれ関連する符号信号
を有するステップと、複数の予め定めたストリングを前
記ストア手段に最初にストアし、および前記データ文字
信号のストリームの圧縮を始める前に対応する符号信号
を前記ストリングに割り当てるステップと、前記ストリ
ームを前記ストア手段内にストアされたストリングと比
較して、前記データ文字信号のストリームをサーチして
前記ストリームとの最長一致を決定するステップと、前
記ストア手段にストアするために、前記最長一致に続く
次のデータ文字信号によって拡張された前記データ文字
信号のストリームとの前記最長一致を含む拡張されたス
トリングを前記ストア手段に挿入するステップと、前記
ストアされた拡張されたストリングに対応する符号信号
を割り当てるステップと、前記最長一致に関連する符号
信号を供給して前記圧縮された符号信号ストリームを供
給するステップとを具えたことを特徴とする。
【0045】また、本発明は、前記メモリ内に最初にス
トアされた予め定めたストリングは単一データ文字信号
を含むことを特徴とする。
トアされた予め定めたストリングは単一データ文字信号
を含むことを特徴とする。
【0046】また、本発明は、前記単一データ文字はデ
ータ文字のアルファベットの文字に対応することを特徴
とする。
ータ文字のアルファベットの文字に対応することを特徴
とする。
【0047】また、本発明は、前記アルファベットの文
字値に基づいて、符号信号を前記データ文字のアルファ
ベットに割り当てることを特徴とする。
字値に基づいて、符号信号を前記データ文字のアルファ
ベットに割り当てることを特徴とする。
【0048】また、本発明は、前記データ文字はASCII
文字であり、および符号信号をASCII 値に基づいて前記
ASCII 文字に割り当てることを特徴とする。
文字であり、および符号信号をASCII 値に基づいて前記
ASCII 文字に割り当てることを特徴とする。
【0049】本発明の第12の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当て、その割り当
てられた符号信号は可変長であるステップと、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号ストリームを供給するステップとを具えたことを特
徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当て、その割り当
てられた符号信号は可変長であるステップと、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号ストリームを供給するステップとを具えたことを特
徴とする。
【0050】本発明の第13の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当て、その割り当
てられた符号信号は固定長であるステップと、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号ストリームを供給するステップとを具えたことを特
徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当て、その割り当
てられた符号信号は固定長であるステップと、前記最長
一致に関連する符号信号を供給して前記圧縮された符号
信号ストリームを供給するステップとを具えたことを特
徴とする。
【0051】本発明の第14の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応し、数値の昇順で割り当てられる符号
信号を割り当てるステップと、前記最長一致に関連する
符号信号を供給して前記圧縮された符号信号ストリーム
を供給するステップとを具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応し、数値の昇順で割り当てられる符号
信号を割り当てるステップと、前記最長一致に関連する
符号信号を供給して前記圧縮された符号信号ストリーム
を供給するステップとを具えたことを特徴とする。
【0052】本発明の第15の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記最長一致に関連する符号
信号を供給して前記圧縮された符号信号ストリームを供
給するステップとを具え、前記サーチを行うステップ
は、前記データ文字信号のストリームにおけるデータ文
字を繰り返して分析するよう動作して前記ストア手段内
にストアされたストリングとの最長一致を決め、次の最
長一致のための各サーチは、先行する最長一致に続く次
のデータ文字信号で始まることを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記最長一致に関連する符号
信号を供給して前記圧縮された符号信号ストリームを供
給するステップとを具え、前記サーチを行うステップ
は、前記データ文字信号のストリームにおけるデータ文
字を繰り返して分析するよう動作して前記ストア手段内
にストアされたストリングとの最長一致を決め、次の最
長一致のための各サーチは、先行する最長一致に続く次
のデータ文字信号で始まることを特徴とする。
【0053】また、本発明は、前記データ文字信号のス
トリームの圧縮は前記データ文字信号のストリームの単
一のパスにおいて達成されることを特徴とする。
トリームの圧縮は前記データ文字信号のストリームの単
一のパスにおいて達成されることを特徴とする。
【0054】また、本発明は、前記圧縮方法により行わ
れる圧縮は無損失であることを特徴とする。
れる圧縮は無損失であることを特徴とする。
【0055】本発明の第16の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、前
記データ文字信号のストリームのサーチが当該ストリー
ムの終端に達したか否かを決定するためのステップとを
具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、前
記データ文字信号のストリームのサーチが当該ストリー
ムの終端に達したか否かを決定するためのステップとを
具えたことを特徴とする。
【0056】また、本発明は、前記サーチが前記データ
文字信号のストリームの終端に達すると、前記データ文
字信号のストリームの最後のデータ文字ストリングに対
応する符号値が前記圧縮されたストリームでの使用のた
め供給されることを特徴とする。
文字信号のストリームの終端に達すると、前記データ文
字信号のストリームの最後のデータ文字ストリングに対
応する符号値が前記圧縮されたストリームでの使用のた
め供給されることを特徴とする。
【0057】また、本発明は、前記サーチが前記データ
文字信号のストリームの終端に達したことに応答して、
ストリームの終端の表示が提供されることを特徴とす
る。
文字信号のストリームの終端に達したことに応答して、
ストリームの終端の表示が提供されることを特徴とす
る。
【0058】本発明の第17の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、前
記圧縮方法により行われた圧縮を変化させるステップと
を具えたことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、前
記圧縮方法により行われた圧縮を変化させるステップと
を具えたことを特徴とする。
【0059】また、本発明は、前記変化させるステップ
は圧縮比を変えることを含むことを特徴とする。
は圧縮比を変えることを含むことを特徴とする。
【0060】また、本発明は、前記変化させるステップ
は圧縮の速度を変えることを含むことを特徴とする。
は圧縮の速度を変えることを含むことを特徴とする。
【0061】本発明の第18の形態は、データ文字信号
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、圧
縮の動作を中断することを提供するステップとを具えた
ことを特徴とする。
ストリームを圧縮された符号信号ストリームに圧縮する
圧縮方法であって、前記データ文字信号のストリーム中
において遭遇するデータ文字信号のストリングをストア
手段にストアし、前記ストアされたストリングは、当該
ストアされたストリングにそれぞれ関連する符号信号を
有するステップと、前記ストリームを前記ストア手段内
にストアされたストリングと比較して、前記データ文字
信号のストリームをサーチして前記ストリームとの最長
一致を決定するステップと、前記ストア手段にストアす
るために、前記最長一致に続く次のデータ文字信号によ
って拡張された前記データ文字信号のストリームとの前
記最長一致を含む拡張されたストリングを前記ストア手
段に挿入するステップと、前記ストアされた拡張された
ストリングに対応する符号信号を割り当てるステップ
と、前記最長一致に関連する符号信号を供給して前記圧
縮された符号信号ストリームを供給するステップと、圧
縮の動作を中断することを提供するステップとを具えた
ことを特徴とする。
【0062】本発明は、入力データ・ストリームからパ
ース(構文解析して分解すること)されたデータ文字信
号のストリングを格納(ストア)し、そのストリームと
の最長一致を決めるために、そのストリームを格納され
たストリングと比較してデータ文字信号のストリームを
探索(サーチ)することによって、データ文字信号のス
トリームを符号信号の圧縮されたストリームに圧縮す
る。この圧縮装置はまた、データ文字信号のストリーム
からの最長一致を含み最長一致に続く次の一つのデータ
文字信号によって拡張された拡張ストリングを格納す
る。最長一致を拡張して格納するとき、格納された拡張
ストリングに対応する符号信号がそれに割当てられる。
符号信号の圧縮されたストリームは、格納された最長一
致に対応する符号信号で作られる。データ文字の格納さ
れたストリングが接頭部ストリングと拡張文字で構成さ
れる。ストリングがその接頭部ストリングに対応する符
号信号によって格納される。
ース(構文解析して分解すること)されたデータ文字信
号のストリングを格納(ストア)し、そのストリームと
の最長一致を決めるために、そのストリームを格納され
たストリングと比較してデータ文字信号のストリームを
探索(サーチ)することによって、データ文字信号のス
トリームを符号信号の圧縮されたストリームに圧縮す
る。この圧縮装置はまた、データ文字信号のストリーム
からの最長一致を含み最長一致に続く次の一つのデータ
文字信号によって拡張された拡張ストリングを格納す
る。最長一致を拡張して格納するとき、格納された拡張
ストリングに対応する符号信号がそれに割当てられる。
符号信号の圧縮されたストリームは、格納された最長一
致に対応する符号信号で作られる。データ文字の格納さ
れたストリングが接頭部ストリングと拡張文字で構成さ
れる。ストリングがその接頭部ストリングに対応する符
号信号によって格納される。
【0063】符号信号の圧縮されたストリームは、接頭
符号信号および拡張文字信号を含む文字ストリングを構
成して格納することによって伸長される。伸長装置は、
受けられた符号信号によるストリングと次に続くストリ
ングの最初の文字として受けられる拡張文字とを格納す
る。
符号信号および拡張文字信号を含む文字ストリングを構
成して格納することによって伸長される。伸長装置は、
受けられた符号信号によるストリングと次に続くストリ
ングの最初の文字として受けられる拡張文字とを格納す
る。
【0064】データ文字信号のストリングは、各探索繰
返しに対する限られた数のハッシュアドレスを与える限
定探索ハッシング技術によって記憶装置に入れられる。
返しに対する限られた数のハッシュアドレスを与える限
定探索ハッシング技術によって記憶装置に入れられる。
【0065】
【発明の実施の形態】本発明はデジタルデータ文字信号
のストリームまたは列を圧縮して、圧縮されたディジタ
ル符号信号の対応するストリームを与えるデータ圧縮装
置を備えている。例えば、圧縮される予定のデータは、
英語の原文資料、格納されたコンピュータ記録などを含
んでいてもよい。今日のデータ処理装置および通信装置
においては、圧縮を行われるはずのアルファベットの文
字は、処理されてASCIIフォーマットのような都合
のよいコードで2進数字のバイトとして伝達されること
がわかっている。例えば、入力文字を8ビット・バイト
の形式で256文字の文字体系全体を受けることができ
る。圧縮装置からの圧縮符号信号は、例えば、記録保管
の目的のために電子記憶ファイルに格納されるか、また
は伸長を行う遠隔の場所に伝送されてもよい。このほか
に、ディスク記憶装置のような電子記憶ファイルが入力
電子回路に圧縮装置を備え、出力電子回路に伸長装置を
備えることができ、それによってファイルに入るすべて
のデータを記憶するために圧縮して、ファイルから検索
されたすべてのデータを利用機器に伝送する前に伸長す
る。前述の従来の圧縮装置および伸長装置は、圧縮およ
び伸長のそのような用途に適合させる性能または適応性
を与えない。本発明に従って実施された高性能適応装置
をそのように用いることができる。
のストリームまたは列を圧縮して、圧縮されたディジタ
ル符号信号の対応するストリームを与えるデータ圧縮装
置を備えている。例えば、圧縮される予定のデータは、
英語の原文資料、格納されたコンピュータ記録などを含
んでいてもよい。今日のデータ処理装置および通信装置
においては、圧縮を行われるはずのアルファベットの文
字は、処理されてASCIIフォーマットのような都合
のよいコードで2進数字のバイトとして伝達されること
がわかっている。例えば、入力文字を8ビット・バイト
の形式で256文字の文字体系全体を受けることができ
る。圧縮装置からの圧縮符号信号は、例えば、記録保管
の目的のために電子記憶ファイルに格納されるか、また
は伸長を行う遠隔の場所に伝送されてもよい。このほか
に、ディスク記憶装置のような電子記憶ファイルが入力
電子回路に圧縮装置を備え、出力電子回路に伸長装置を
備えることができ、それによってファイルに入るすべて
のデータを記憶するために圧縮して、ファイルから検索
されたすべてのデータを利用機器に伝送する前に伸長す
る。前述の従来の圧縮装置および伸長装置は、圧縮およ
び伸長のそのような用途に適合させる性能または適応性
を与えない。本発明に従って実施された高性能適応装置
をそのように用いることができる。
【0066】多数の設計オプションが被圧縮データおよ
び装置の所望の特性に従う種々の組合せで本発明の実施
例に用いることができる。発明の三つの実施例を以下に
説明する。一つの実施例は、最高性能を与えるオプショ
ンを組合せており、第2の実施例は、最高圧縮を与える
オプションを組合せており、第3の実施例は、最高性能
実施例のプログラムされたコンピュータの例を提供す
る。
び装置の所望の特性に従う種々の組合せで本発明の実施
例に用いることができる。発明の三つの実施例を以下に
説明する。一つの実施例は、最高性能を与えるオプショ
ンを組合せており、第2の実施例は、最高圧縮を与える
オプションを組合せており、第3の実施例は、最高性能
実施例のプログラムされたコンピュータの例を提供す
る。
【0067】本発明の圧縮装置は、データ文字の入力ス
トリームをストリングまたはセグメントにパースして、
各ストリングを識別する符号信号を伝送する。圧縮装置
が初めて遭遇したデータ文字以外は、各パースされたス
トリングは、前に認識されたストリングに対する最長一
致を含んでいる。圧縮装置は、認識されたストリングに
対応する符号信号を伝送する。1ストリングの文字が入
力ストリームからパースされると、パースされたストリ
ングは、入力ストリームにおいて次に発生する文字によ
って拡張され、あとで符号化に利用されるために圧縮装
置において符号化され、そこに記憶される拡張ストリン
グを形成する。従って認識されている文字シーケンス
は、1ブロックのデータを圧縮する過程で統計的情報を
集めるとき、平均長さがたえず大きくなっている。拡張
文字は、次のパーシング繰返しにおける最初の文字とし
て用いられる。パーシングは、データを1回通すだけで
達成され、初めの文字から出発して、1回の1文字を分
離する。従って、単一文字のストリング以外は、各スト
リングは、前に記憶されたストリングと一致する接頭部
ストリングと拡張文字として記憶される。そのストリン
グは、そのような各ストリングを接頭部の符号信号表現
と拡張文字の実際の表現または暗示表現を一緒にして記
録するのが都合よい。パーシングは、データ・ストリー
ムの各文字間に仮想コンマを挿入し、それによってパー
スされたストリングまたはセグメントを区切るものとし
て概念化できる。従って、本発明においては、一致を得
るための未処理のデータストリームの探索は、先に観察
されたストリングとの最長一致を見出すために一つのコ
ンマから次に続くコンマを一文字越えたところまでを探
索することを含む。
トリームをストリングまたはセグメントにパースして、
各ストリングを識別する符号信号を伝送する。圧縮装置
が初めて遭遇したデータ文字以外は、各パースされたス
トリングは、前に認識されたストリングに対する最長一
致を含んでいる。圧縮装置は、認識されたストリングに
対応する符号信号を伝送する。1ストリングの文字が入
力ストリームからパースされると、パースされたストリ
ングは、入力ストリームにおいて次に発生する文字によ
って拡張され、あとで符号化に利用されるために圧縮装
置において符号化され、そこに記憶される拡張ストリン
グを形成する。従って認識されている文字シーケンス
は、1ブロックのデータを圧縮する過程で統計的情報を
集めるとき、平均長さがたえず大きくなっている。拡張
文字は、次のパーシング繰返しにおける最初の文字とし
て用いられる。パーシングは、データを1回通すだけで
達成され、初めの文字から出発して、1回の1文字を分
離する。従って、単一文字のストリング以外は、各スト
リングは、前に記憶されたストリングと一致する接頭部
ストリングと拡張文字として記憶される。そのストリン
グは、そのような各ストリングを接頭部の符号信号表現
と拡張文字の実際の表現または暗示表現を一緒にして記
録するのが都合よい。パーシングは、データ・ストリー
ムの各文字間に仮想コンマを挿入し、それによってパー
スされたストリングまたはセグメントを区切るものとし
て概念化できる。従って、本発明においては、一致を得
るための未処理のデータストリームの探索は、先に観察
されたストリングとの最長一致を見出すために一つのコ
ンマから次に続くコンマを一文字越えたところまでを探
索することを含む。
【0068】図1を参照すると、データ文字のストリー
ムの一部分の略図が示されており、そこではXがアルフ
ァベットの任意の文字を表している。コンマは、パーシ
ングを表すためにのみデータストリーム中に示されてい
る。このデータストリームのストリング1が仮想コンマ
2および3によってパースされている。ストリング1は
前のストリング1´に一致し、ストリング1´はコンマ
2に続く入力データストリームに一致するコンマ2に先
行した最長拡張ストリングである。ストリング1´は、
前に符号化されたものであるから、その符号は、ストリ
ング1に遭遇したとき圧縮装置によって伝送される。次
いで圧縮装置は、接頭部ストリング1と拡張文字5を含
む拡張ストリング4を符号化して記憶する。拡張文字
は、それがどんな文字であるかに関係なく、接頭部1に
続くデータストリームの中の次の文字である。すなわ
ち、拡張文字5は、前に、データストリームの中で現れ
た文字であってもよいし、またはそれは初めて遭遇する
アルファベットの1文字であってもよい。
ムの一部分の略図が示されており、そこではXがアルフ
ァベットの任意の文字を表している。コンマは、パーシ
ングを表すためにのみデータストリーム中に示されてい
る。このデータストリームのストリング1が仮想コンマ
2および3によってパースされている。ストリング1は
前のストリング1´に一致し、ストリング1´はコンマ
2に続く入力データストリームに一致するコンマ2に先
行した最長拡張ストリングである。ストリング1´は、
前に符号化されたものであるから、その符号は、ストリ
ング1に遭遇したとき圧縮装置によって伝送される。次
いで圧縮装置は、接頭部ストリング1と拡張文字5を含
む拡張ストリング4を符号化して記憶する。拡張文字
は、それがどんな文字であるかに関係なく、接頭部1に
続くデータストリームの中の次の文字である。すなわ
ち、拡張文字5は、前に、データストリームの中で現れ
た文字であってもよいし、またはそれは初めて遭遇する
アルファベットの1文字であってもよい。
【0069】圧縮装置は、もう一度最長一致が達成され
るまで拡張文字5で始まる次のパーシングの繰返しを仮
想コンマ3のところで開始する。このようにして、前に
拡張されたストリング6´にマッチするストリング6が
パースされる。前の繰返しにおけると同じようにまた、
ストリング6´に対する符号信号は、伝送され、ストリ
ング6は後続の文字によって拡張され、拡張されたスト
リングは、符号化されて記憶される。続くパーシング繰
返しにおいては、符号化されて記憶されたストリング4
にマッチするストリング7がパースされる。このパーシ
ング繰返しで伝送された符号信号は、拡張ストリング4
に割当てられたものである。
るまで拡張文字5で始まる次のパーシングの繰返しを仮
想コンマ3のところで開始する。このようにして、前に
拡張されたストリング6´にマッチするストリング6が
パースされる。前の繰返しにおけると同じようにまた、
ストリング6´に対する符号信号は、伝送され、ストリ
ング6は後続の文字によって拡張され、拡張されたスト
リングは、符号化されて記憶される。続くパーシング繰
返しにおいては、符号化されて記憶されたストリング4
にマッチするストリング7がパースされる。このパーシ
ング繰返しで伝送された符号信号は、拡張ストリング4
に割当てられたものである。
【0070】上述のように、圧縮装置によって与えられ
た符号信号は、引続く伸長のために記憶または伝送する
ことができる。
た符号信号は、引続く伸長のために記憶または伝送する
ことができる。
【0071】本発明において、入力バイトの各シーケン
スが実施例次第で固定長または可変長のものであっても
よい符号信号に圧縮される。上述のように、各入力バイ
ト列は、各符号識別子を割当てられ、一つの列が入力デ
ータ・ストリームの中で再び出てくるときはいつも、同
じ識別子が再び伝送される。各1バイト列が各符号を割
当てられ、一つの列が再び出てくるときはいつも、1バ
イトだけ拡張され、新しい符号が拡張されたシーケンス
に割当てられる。概念的には、圧縮装置は、各データブ
ロックを格納されたセット内のゼロストリングのみから
開始する。圧縮装置は、新しい文字が出てくるたびにそ
のセットに1文字のストリングを入れ、次にこれらの記
憶された1文字ストリングをさらに長いストリングを形
成するのに用いる。各ストリングがそのセットに加えら
れると、それは、一つの符号信号を割当てられる。入力
からの一つの文字ストリングがセット内で見出される度
に、次の入力文字がそのストリングに追加され、拡張さ
れたストリングがそのセットの中にあるかどうかを決め
るためにそのセットが探索される。拡張されたストリン
グが既に存在しなければ、そのストリングがセットに入
れられる。随意選択的に、そのストリングセットをすべ
ての単一文字ストリングを含むように初期設定できる。
これは、より高い性能の装置として実現できるようにに
することもあるが、ある程度の圧縮効率を失うことがあ
る。圧縮装置からの出力符号信号は、同一文字列が以前
に起こったことを示しているものとして考えることがで
きる。
スが実施例次第で固定長または可変長のものであっても
よい符号信号に圧縮される。上述のように、各入力バイ
ト列は、各符号識別子を割当てられ、一つの列が入力デ
ータ・ストリームの中で再び出てくるときはいつも、同
じ識別子が再び伝送される。各1バイト列が各符号を割
当てられ、一つの列が再び出てくるときはいつも、1バ
イトだけ拡張され、新しい符号が拡張されたシーケンス
に割当てられる。概念的には、圧縮装置は、各データブ
ロックを格納されたセット内のゼロストリングのみから
開始する。圧縮装置は、新しい文字が出てくるたびにそ
のセットに1文字のストリングを入れ、次にこれらの記
憶された1文字ストリングをさらに長いストリングを形
成するのに用いる。各ストリングがそのセットに加えら
れると、それは、一つの符号信号を割当てられる。入力
からの一つの文字ストリングがセット内で見出される度
に、次の入力文字がそのストリングに追加され、拡張さ
れたストリングがそのセットの中にあるかどうかを決め
るためにそのセットが探索される。拡張されたストリン
グが既に存在しなければ、そのストリングがセットに入
れられる。随意選択的に、そのストリングセットをすべ
ての単一文字ストリングを含むように初期設定できる。
これは、より高い性能の装置として実現できるようにに
することもあるが、ある程度の圧縮効率を失うことがあ
る。圧縮装置からの出力符号信号は、同一文字列が以前
に起こったことを示しているものとして考えることがで
きる。
【0072】前記米国特許第4,464,650号のデ
ータ圧縮および伸長装置において、拡張文字が各認識さ
れた列に追加されて拡張された列が符号化された。拡張
列の符号化表現は、それの圧縮符号として圧縮装置によ
って伝送された。その代りに、本発明の圧縮装置は、拡
張列を記憶して、認識された列に対する符号を伝送す
る。認識された列は、拡張列の接頭部である。記憶され
た拡張列は、次にあとで符号化するために用いられる。
前記米国特許第4,464,650号の方法をこのよう
に変更すると、前記米国特許第4,464,650号に
おいて用いた時間のかかる、やっかいな数学的操作およ
び乗算・除算装置のような付随のハードウェアをなくす
ことによってデータ圧縮および伸長装置を著しく簡単に
することができる。この変更は、装置の性能を著しく高
めると同様にまた、普通に遭遇するデータの場合の圧縮
効率を増加させる。これは、前記米国特許第4,46
4,650号の装置では、圧縮された符号信号の一部分
として伝送される拡張文字が等しく起こりそうな文字体
系のすべての記号に見合った多数のビットを含むからで
ある。本発明では、拡張文字は、次の圧縮ストリング符
号の一部分として伝送されるので、文字の各ストリング
について行われた圧縮に一致して必要とするビットの数
が少なくなる。
ータ圧縮および伸長装置において、拡張文字が各認識さ
れた列に追加されて拡張された列が符号化された。拡張
列の符号化表現は、それの圧縮符号として圧縮装置によ
って伝送された。その代りに、本発明の圧縮装置は、拡
張列を記憶して、認識された列に対する符号を伝送す
る。認識された列は、拡張列の接頭部である。記憶され
た拡張列は、次にあとで符号化するために用いられる。
前記米国特許第4,464,650号の方法をこのよう
に変更すると、前記米国特許第4,464,650号に
おいて用いた時間のかかる、やっかいな数学的操作およ
び乗算・除算装置のような付随のハードウェアをなくす
ことによってデータ圧縮および伸長装置を著しく簡単に
することができる。この変更は、装置の性能を著しく高
めると同様にまた、普通に遭遇するデータの場合の圧縮
効率を増加させる。これは、前記米国特許第4,46
4,650号の装置では、圧縮された符号信号の一部分
として伝送される拡張文字が等しく起こりそうな文字体
系のすべての記号に見合った多数のビットを含むからで
ある。本発明では、拡張文字は、次の圧縮ストリング符
号の一部分として伝送されるので、文字の各ストリング
について行われた圧縮に一致して必要とするビットの数
が少なくなる。
【0073】本発明は、限定探索長の計算されたアドレ
ス・ハッシング装置を用いて各ストリングをストリング
・テーブルに入れ、そのストリング・テーブル内で各ス
トリングを探索する。ハッシング関数は、前の符号信号
と拡張文字とからなるハッシュ・キーを用いてN個のハ
ッシュ・テーブル・アドレスの組を与える(ここでNは
普通1ないし4である)N個のRAM記憶場所は、逐次
に探索され、その項目がN個の記憶場所になければ、そ
れはそのテーブル内にないと考えられる。圧縮のとき
に、テーブルに挿入されるべき新しいキーをN個の割当
て場所に受入れできなければ、それはテーブルから除外
される。この限定探索ハッシング法は、圧縮効率をわず
かに下げるが、装置として実現するのを非常に簡単にす
る。N個のハッシュ・アドレスが反復したRAMの中で
並列に探索される別の実施例を用いてもよい。
ス・ハッシング装置を用いて各ストリングをストリング
・テーブルに入れ、そのストリング・テーブル内で各ス
トリングを探索する。ハッシング関数は、前の符号信号
と拡張文字とからなるハッシュ・キーを用いてN個のハ
ッシュ・テーブル・アドレスの組を与える(ここでNは
普通1ないし4である)N個のRAM記憶場所は、逐次
に探索され、その項目がN個の記憶場所になければ、そ
れはそのテーブル内にないと考えられる。圧縮のとき
に、テーブルに挿入されるべき新しいキーをN個の割当
て場所に受入れできなければ、それはテーブルから除外
される。この限定探索ハッシング法は、圧縮効率をわず
かに下げるが、装置として実現するのを非常に簡単にす
る。N個のハッシュ・アドレスが反復したRAMの中で
並列に探索される別の実施例を用いてもよい。
【0074】本発明は、固定長または可変長の圧縮され
た符号信号を用いて装置として具体化することができ
る。固定長符号信号の実施例は、圧縮効率においてわず
かの損失を伴いながら装置として実現する場合の簡単化
をもたらす。固定長符号実施例は、RAMのスペース必
要度と可変符号長による装置としての実現に必要な符号
シフティング機構の複雑さを小さくする傾向がある。し
かし固定長符号による装置の実現は非常に高い性能の装
置の実現を行うときに望ましい。
た符号信号を用いて装置として具体化することができ
る。固定長符号信号の実施例は、圧縮効率においてわず
かの損失を伴いながら装置として実現する場合の簡単化
をもたらす。固定長符号実施例は、RAMのスペース必
要度と可変符号長による装置としての実現に必要な符号
シフティング機構の複雑さを小さくする傾向がある。し
かし固定長符号による装置の実現は非常に高い性能の装
置の実現を行うときに望ましい。
【0075】一般には、本発明は、入力文字信号の可変
ストリングを出力符号記号信号に写像することによって
圧縮を行う。圧縮装置は、ストリング・テーブル(RA
M)の中に圧縮装置が認識するストリングのリストを記
憶し、各ストリングに対しては対応する出力符号信号を
記憶する。そのように記憶されたストリングの組は、ど
んな一連の入力文字も記憶されるストリングにパースで
き、従って、出力符号に写像できるように構成される。
パーシングは、どの繰返しにおいてもストリング・テー
ブルの中に最長ストリングに一致するすべての連続する
入力文字を使いきり、対応する出力符号を伝送すること
によって達成される。最長一致は、次の入力文字によっ
て拡張され、ストリング・テーブルに記憶され、そして
対応する符号を割当てられる。
ストリングを出力符号記号信号に写像することによって
圧縮を行う。圧縮装置は、ストリング・テーブル(RA
M)の中に圧縮装置が認識するストリングのリストを記
憶し、各ストリングに対しては対応する出力符号信号を
記憶する。そのように記憶されたストリングの組は、ど
んな一連の入力文字も記憶されるストリングにパースで
き、従って、出力符号に写像できるように構成される。
パーシングは、どの繰返しにおいてもストリング・テー
ブルの中に最長ストリングに一致するすべての連続する
入力文字を使いきり、対応する出力符号を伝送すること
によって達成される。最長一致は、次の入力文字によっ
て拡張され、ストリング・テーブルに記憶され、そして
対応する符号を割当てられる。
【0076】従って、ストリング・テーブル内のストリ
ングの組を合成することは、現在のデータブロックの統
計に適応し、かつその統計の一つの表現法である。明確
にいえば、そのストリングの組に追加される各ストリン
グは、その組に既にある一つのストリングを1文字で拡
張したものである。一つのストリングがそのセットに加
えられるのは、それが実際に入力データにおいて観測さ
れたのちにおいてだけである。従って、一つの長いスト
リングがそのセット内に現れる可能性のあるのは、それ
が何度も出てきたので頻繁に再び現れると期待できる場
合だけである。このストリングセットは、できればラン
ダムアクセス記憶装置(RAM)にテーブルとして記憶
されるのがよい。各ストリングは、連結トリー構造と考
えてもよいものに記憶される。各ストリングは、少なく
とも暗黙的にすなわち間接的に、その符号記号、そのス
トリングの最後の文字および最後の文字以外のすべての
ストリング文字を含むストリング接頭部の符号記号で記
憶される。各文字が個別に得られ、かつ各接頭部符号が
逐次に呼び出されるので、伸長装置は、一つのストリン
グを複合するときに多重RAMアクセスを用いる。
ングの組を合成することは、現在のデータブロックの統
計に適応し、かつその統計の一つの表現法である。明確
にいえば、そのストリングの組に追加される各ストリン
グは、その組に既にある一つのストリングを1文字で拡
張したものである。一つのストリングがそのセットに加
えられるのは、それが実際に入力データにおいて観測さ
れたのちにおいてだけである。従って、一つの長いスト
リングがそのセット内に現れる可能性のあるのは、それ
が何度も出てきたので頻繁に再び現れると期待できる場
合だけである。このストリングセットは、できればラン
ダムアクセス記憶装置(RAM)にテーブルとして記憶
されるのがよい。各ストリングは、連結トリー構造と考
えてもよいものに記憶される。各ストリングは、少なく
とも暗黙的にすなわち間接的に、その符号記号、そのス
トリングの最後の文字および最後の文字以外のすべての
ストリング文字を含むストリング接頭部の符号記号で記
憶される。各文字が個別に得られ、かつ各接頭部符号が
逐次に呼び出されるので、伸長装置は、一つのストリン
グを複合するときに多重RAMアクセスを用いる。
【0077】各データ信号は、入力文字列に対する最長
一致を探すのを容易にするようなやり方でストリング・
テーブル内に記憶される。各入力文字が読まれると、そ
れが既に認識された一つのストリング(新しい列の始め
にゼロストリングで始まったもの)に付け加えられて、
その新しいストリングは、それがそのテーブルの中にあ
るかどうかを決めるために検査される。新しいストリン
グがそのテーブルの中にあれば、その符号が検索され
て、その処理が新しい文字と新しい符号とで繰返され
る。それらのストリングをそのように呼び出すために、
それらのストリングは、“接頭部符号、拡張文字”の組
(タブル)によって識別されるのが都合よい。限定探索
ハッシング装置がストリング・テーブルをくまなく探索
するのに用いられる。
一致を探すのを容易にするようなやり方でストリング・
テーブル内に記憶される。各入力文字が読まれると、そ
れが既に認識された一つのストリング(新しい列の始め
にゼロストリングで始まったもの)に付け加えられて、
その新しいストリングは、それがそのテーブルの中にあ
るかどうかを決めるために検査される。新しいストリン
グがそのテーブルの中にあれば、その符号が検索され
て、その処理が新しい文字と新しい符号とで繰返され
る。それらのストリングをそのように呼び出すために、
それらのストリングは、“接頭部符号、拡張文字”の組
(タブル)によって識別されるのが都合よい。限定探索
ハッシング装置がストリング・テーブルをくまなく探索
するのに用いられる。
【0078】本発明を実施する際に用いることのできる
ハッシング装置は、一つの符号、文字組合わせに対して
一連の記憶アドレスを発生する関数 ハッシュ(符号、文字)→アドレス1,アドレス2・・
・ を含む。テーブルに一つのストリングを挿入すると、発
生したRAMアドレスが空サイトを発見するまで逐次に
呼出され、項目がその点に挿入される。一つの項目を検
索するとき、同じアドレス列がその項目が発見されるか
または空サイトが発見されるまで呼出され、空サイトが
発見された場合にその項目はテーブルの中に存在しない
と定義される。各占有されたサイトにおいては、そのス
トリングのための識別用符号、文字の組は、そのサイト
を占有するものが所望の項目であるかどうかを決めるた
めに比較されてもよい。あとで説明する理由によって、
識別用符号を比較することは、実際には、この実施例で
必要なだけである。
ハッシング装置は、一つの符号、文字組合わせに対して
一連の記憶アドレスを発生する関数 ハッシュ(符号、文字)→アドレス1,アドレス2・・
・ を含む。テーブルに一つのストリングを挿入すると、発
生したRAMアドレスが空サイトを発見するまで逐次に
呼出され、項目がその点に挿入される。一つの項目を検
索するとき、同じアドレス列がその項目が発見されるか
または空サイトが発見されるまで呼出され、空サイトが
発見された場合にその項目はテーブルの中に存在しない
と定義される。各占有されたサイトにおいては、そのス
トリングのための識別用符号、文字の組は、そのサイト
を占有するものが所望の項目であるかどうかを決めるた
めに比較されてもよい。あとで説明する理由によって、
識別用符号を比較することは、実際には、この実施例で
必要なだけである。
【0079】本発明で用いられたハッシュ関数において
は、取り出されて用いられたアドレスの数は、小さな一
定値N(Nは普通1ないし4である)に限定される。一
つの項目をN回の呼出しでストリング・テーブルに挿入
できなければ、その項目は用いられない。テーブルから
検索される予定の一つの項目がN回の呼出しの中で所在
をつきとめられなければ、それはテーブル内にないと定
義される。この限定探索の特徴は、圧縮効率の小さな損
失をもたらすが、性能を著しく増加させる。本発明はB
ビット・バイトの文字体系について圧縮を行うとして説
明する。本発明を実施する際に用いられるハッシュ関数
は、任意の一つの符号に関連したアドレスの組すなわち
2B 拡張文字すべてに対するN個のアドレスすべてがど
のアドレスをも2回は含まない。従って、一つのアドレ
スが特定の符号、文字の組に対してアクセスされると、
その符号の比較はその記憶場所の占有物の識別を行うの
に十分である。その文字の値をRAMに記憶する必要は
ない。従って、RAMのスペースは、ハッシュ関数のこ
の特徴のために保存される。なお、ハッシュ関数は、符
号または文字の連続する値を異常なほど激しく使っても
どの特定のアドレスの組をも使い過ぎることにはならな
いように設計される。これは同じ最初のアドレス値をも
つ任意の二つの符号、文字の組が同じ第2のアドレス値
をもたないことを確実にすることが可能であれば、それ
によって達成される。ハッシュ関数によって作られた幾
つかのアドレスを、二つの全く同じRAMを同時に探索
して装置の性能をさらに高めることができるように並列
に与えてもよいことが分かるであろう。上記の基準を満
足する多くのハッシュ関数が本発明を実施するのに満足
に機能することになる。特定の適当なハッシュ関数を以
下に説明する。上記の基準を満足する他のハッシュ関数
を通常のやり方で導出できることがわかる。
は、取り出されて用いられたアドレスの数は、小さな一
定値N(Nは普通1ないし4である)に限定される。一
つの項目をN回の呼出しでストリング・テーブルに挿入
できなければ、その項目は用いられない。テーブルから
検索される予定の一つの項目がN回の呼出しの中で所在
をつきとめられなければ、それはテーブル内にないと定
義される。この限定探索の特徴は、圧縮効率の小さな損
失をもたらすが、性能を著しく増加させる。本発明はB
ビット・バイトの文字体系について圧縮を行うとして説
明する。本発明を実施する際に用いられるハッシュ関数
は、任意の一つの符号に関連したアドレスの組すなわち
2B 拡張文字すべてに対するN個のアドレスすべてがど
のアドレスをも2回は含まない。従って、一つのアドレ
スが特定の符号、文字の組に対してアクセスされると、
その符号の比較はその記憶場所の占有物の識別を行うの
に十分である。その文字の値をRAMに記憶する必要は
ない。従って、RAMのスペースは、ハッシュ関数のこ
の特徴のために保存される。なお、ハッシュ関数は、符
号または文字の連続する値を異常なほど激しく使っても
どの特定のアドレスの組をも使い過ぎることにはならな
いように設計される。これは同じ最初のアドレス値をも
つ任意の二つの符号、文字の組が同じ第2のアドレス値
をもたないことを確実にすることが可能であれば、それ
によって達成される。ハッシュ関数によって作られた幾
つかのアドレスを、二つの全く同じRAMを同時に探索
して装置の性能をさらに高めることができるように並列
に与えてもよいことが分かるであろう。上記の基準を満
足する多くのハッシュ関数が本発明を実施するのに満足
に機能することになる。特定の適当なハッシュ関数を以
下に説明する。上記の基準を満足する他のハッシュ関数
を通常のやり方で導出できることがわかる。
【0080】以下に説明する本発明の実施例において、
圧縮装置からの出力符号信号は、Cビットの公称語長
(2C はストリング・テーブルの大きさ以下である)を
もつことになる。しかし、ストリング・テーブルが最初
に構成されようとしているとき、各ストリングを1回の
繰返しの間に利用できるものから選択するためには、C
より少ないビットを必要とする。最高の圧縮は、漸新的
に大きくなる出力符号をCビットの限界まで伝送する場
合に達成される。このアプローチは、可変符号を固定バ
イト配向に整列させるのに追加の出力ハードウェアを用
いる。出力語長はまた新しい入力文字の認識に従って変
わることがある。以下に説明する実施例の一つにおい
て、一つの入力文字がまず出てくると常に、その文字そ
のもののビットパターンがあとに続くゼロ・ストリング
符号が与えられる。従って、これらの出力は正規のスト
リング符号よりいくらか長い。あとで説明するようにし
て、出力長のこの変動は、入力データを処理する前にす
べての単一文字ストリングを含むようにストリング・テ
ーブルを初期設定することによって避けられる。このア
プローチは、それがそうでない場合に必要な任意のビッ
ト・シフト・ハードウェアをなくすが、圧縮を小さくす
ることがある点で装置としての具体化の複雑性を簡単に
する。圧縮の低減は、未使用の単一文字に割当てられた
符号が有益に用いられ得ないが、すべての割当てられた
符号を区別するのに必要なビットの数を大きくするので
起こる。この圧縮の低減は、可変長符号を利用する初期
ストリングの圧縮の間に起こるだけである。
圧縮装置からの出力符号信号は、Cビットの公称語長
(2C はストリング・テーブルの大きさ以下である)を
もつことになる。しかし、ストリング・テーブルが最初
に構成されようとしているとき、各ストリングを1回の
繰返しの間に利用できるものから選択するためには、C
より少ないビットを必要とする。最高の圧縮は、漸新的
に大きくなる出力符号をCビットの限界まで伝送する場
合に達成される。このアプローチは、可変符号を固定バ
イト配向に整列させるのに追加の出力ハードウェアを用
いる。出力語長はまた新しい入力文字の認識に従って変
わることがある。以下に説明する実施例の一つにおい
て、一つの入力文字がまず出てくると常に、その文字そ
のもののビットパターンがあとに続くゼロ・ストリング
符号が与えられる。従って、これらの出力は正規のスト
リング符号よりいくらか長い。あとで説明するようにし
て、出力長のこの変動は、入力データを処理する前にす
べての単一文字ストリングを含むようにストリング・テ
ーブルを初期設定することによって避けられる。このア
プローチは、それがそうでない場合に必要な任意のビッ
ト・シフト・ハードウェアをなくすが、圧縮を小さくす
ることがある点で装置としての具体化の複雑性を簡単に
する。圧縮の低減は、未使用の単一文字に割当てられた
符号が有益に用いられ得ないが、すべての割当てられた
符号を区別するのに必要なビットの数を大きくするので
起こる。この圧縮の低減は、可変長符号を利用する初期
ストリングの圧縮の間に起こるだけである。
【0081】図2は本発明の最高性能の実施例を実現す
る圧縮装置を示している。この実施例は、経済的で高速
な圧縮処理を与える。Bビットの文字の大きさおよびC
ビットの圧縮符号の大きさが用いられる。ストリング・
テーブルは、2C の記憶場所を含む。普通には、Bは、
8ビットであり、Cは、12ビットで、他の文字および
符号の大きさをこの発明を実施するのに利用できるよう
にしている。この実施例は、ハッシュされたストリング
・テーブル内のストリング記述項のアドレスとして用い
られるCビットの固定長符号記号信号を用いる。最初の
2B の記憶場所は、各単一文字ストリングを含むように
初期設定される。この圧縮装置は、各記述項にCビット
の接頭部ストリング符号だけを含むストリング・テーブ
ルを用いる。伸長テーブルは、この同じ符号とそのほか
に現在のストリングを合成するのに接頭ストリングに追
加されるBビットの拡張文字を含む。
る圧縮装置を示している。この実施例は、経済的で高速
な圧縮処理を与える。Bビットの文字の大きさおよびC
ビットの圧縮符号の大きさが用いられる。ストリング・
テーブルは、2C の記憶場所を含む。普通には、Bは、
8ビットであり、Cは、12ビットで、他の文字および
符号の大きさをこの発明を実施するのに利用できるよう
にしている。この実施例は、ハッシュされたストリング
・テーブル内のストリング記述項のアドレスとして用い
られるCビットの固定長符号記号信号を用いる。最初の
2B の記憶場所は、各単一文字ストリングを含むように
初期設定される。この圧縮装置は、各記述項にCビット
の接頭部ストリング符号だけを含むストリング・テーブ
ルを用いる。伸長テーブルは、この同じ符号とそのほか
に現在のストリングを合成するのに接頭ストリングに追
加されるBビットの拡張文字を含む。
【0082】圧縮装置からの出力符号記号信号として用
いられるストリング・テーブルに入るアドレスは、図2
の実施例の説明の次に詳細に説明するハッシュ関数を用
いて得られる。ハッシュ関数は、N個のCビット・アド
レスを順次に発生する。図2の実施例は、図3の実施例
とともに以下に説明する多数の機能を制御する制御装置
を用いる。例えば、ハッシュ関数装置は、N番目のアド
レスが発生したときに制御装置に知らせる。本発明のハ
ードウェア実施例は、順次状態機械(シーケンシャル・
ステート・マシーン)として実現され説明される。圧縮
装置の制御装置は、それらの種々のブロックから信号を
受けて、機械の現存の状態に従って圧縮装置の構成要素
を制御するためにそれらへ信号を与える。説明した各シ
ーケンスを制御するのにどんな標準制御論理装置をも利
用できる。例えば、1状態ごとに1フリップ・フロップ
を付勢して、各状態の間実行されるべき演算上の接続お
よび機能を区別し、その状態を制御するフリップ・フロ
ップをその状態の間付勢してもよい。
いられるストリング・テーブルに入るアドレスは、図2
の実施例の説明の次に詳細に説明するハッシュ関数を用
いて得られる。ハッシュ関数は、N個のCビット・アド
レスを順次に発生する。図2の実施例は、図3の実施例
とともに以下に説明する多数の機能を制御する制御装置
を用いる。例えば、ハッシュ関数装置は、N番目のアド
レスが発生したときに制御装置に知らせる。本発明のハ
ードウェア実施例は、順次状態機械(シーケンシャル・
ステート・マシーン)として実現され説明される。圧縮
装置の制御装置は、それらの種々のブロックから信号を
受けて、機械の現存の状態に従って圧縮装置の構成要素
を制御するためにそれらへ信号を与える。説明した各シ
ーケンスを制御するのにどんな標準制御論理装置をも利
用できる。例えば、1状態ごとに1フリップ・フロップ
を付勢して、各状態の間実行されるべき演算上の接続お
よび機能を区別し、その状態を制御するフリップ・フロ
ップをその状態の間付勢してもよい。
【0083】次に図2を参照すると本発明の最高性能の
実施例の圧縮装置が示されている。この圧縮装置は、バ
ス10に入力文字信号を受けてバス11に圧縮出力符号
信号を与える。入力文字は外部装置からバス10に与え
られる。外部装置は、また入力文字信号がその外部装置
から利用でき、バス10に加えられるときにつねに、デ
ータ利用可能信号をライン12に与える。ライン12上
のデータ利用可能信号は、圧縮装置制御装置13に加え
られる。圧縮装置制御装置13は、図2の圧縮装置のブ
ロックのすべてにリード14を経て制御信号を与える。
圧縮装置制御装置13は、図2の圧縮装置を制御状態を
介して以下に詳細に説明するような方法で順序付けす
る。制御装置13はまた、追加の入力文字を要求するた
めライン15を通して外部装置に文字ストローブ信号を
与える。出力符号信号がバス11の上で利用できると
き、制御装置13は、符号ストローブ信号をリード16
を通して外部装置に与える。
実施例の圧縮装置が示されている。この圧縮装置は、バ
ス10に入力文字信号を受けてバス11に圧縮出力符号
信号を与える。入力文字は外部装置からバス10に与え
られる。外部装置は、また入力文字信号がその外部装置
から利用でき、バス10に加えられるときにつねに、デ
ータ利用可能信号をライン12に与える。ライン12上
のデータ利用可能信号は、圧縮装置制御装置13に加え
られる。圧縮装置制御装置13は、図2の圧縮装置のブ
ロックのすべてにリード14を経て制御信号を与える。
圧縮装置制御装置13は、図2の圧縮装置を制御状態を
介して以下に詳細に説明するような方法で順序付けす
る。制御装置13はまた、追加の入力文字を要求するた
めライン15を通して外部装置に文字ストローブ信号を
与える。出力符号信号がバス11の上で利用できると
き、制御装置13は、符号ストローブ信号をリード16
を通して外部装置に与える。
【0084】バス10の上の入力文字は、Bビット文字
レジスタ17に入れられる。単一文字ストリング符号を
作るために、文字レジスタ17からのBビット文字バイ
トは、バス18を経てCビット符号番号レジスタ19の
B個の下位ビットに挿入される。符号番号レジスタ19
の高位桁のC−Bビットをリード20の上の制御信号を
用いてゼロにセットできる。
レジスタ17に入れられる。単一文字ストリング符号を
作るために、文字レジスタ17からのBビット文字バイ
トは、バス18を経てCビット符号番号レジスタ19の
B個の下位ビットに挿入される。符号番号レジスタ19
の高位桁のC−Bビットをリード20の上の制御信号を
用いてゼロにセットできる。
【0085】レジスタ19からの符号記号信号およびレ
ジスタ17からの文字信号は、それぞれバス21および
22を経てハッシュ関数回路23に加えられる。ハッシ
ュ関数回路23は、バス21の上のCビット符号信号を
バス22の上のBビット文字と結合してバス24の上に
N個のCビット・アドレスを逐次に与える。ハッシュ関
数回路23は、バス24を通して与えられたハッシュア
ドレスがそのシーケンスのN番目のアドレスであるかど
うかをリード25を経て制御装置13に知らせる。
ジスタ17からの文字信号は、それぞれバス21および
22を経てハッシュ関数回路23に加えられる。ハッシ
ュ関数回路23は、バス21の上のCビット符号信号を
バス22の上のBビット文字と結合してバス24の上に
N個のCビット・アドレスを逐次に与える。ハッシュ関
数回路23は、バス24を通して与えられたハッシュア
ドレスがそのシーケンスのN番目のアドレスであるかど
うかをリード25を経て制御装置13に知らせる。
【0086】ハッシュ関数回路23はまた、制御装置1
3から「新ハッシュ」指令および「次のハッシュ」指令
を受ける。制御装置13は、ハッシュ関数回路23に指
令して「新ハッシュ」指令に応答するN個のハッシュ・
アドレスの最初のものおよび「次のハッシュ」指令が相
次いで発生するのに応答して相次ぐハッシュ・アドレス
を与える。既に説明したように、ハッシュ関数23がN
番目のハッシュ・アドレスを与えたとき、一つの信号が
リード25を介して制御装置13に戻される。
3から「新ハッシュ」指令および「次のハッシュ」指令
を受ける。制御装置13は、ハッシュ関数回路23に指
令して「新ハッシュ」指令に応答するN個のハッシュ・
アドレスの最初のものおよび「次のハッシュ」指令が相
次いで発生するのに応答して相次ぐハッシュ・アドレス
を与える。既に説明したように、ハッシュ関数23がN
番目のハッシュ・アドレスを与えたとき、一つの信号が
リード25を介して制御装置13に戻される。
【0087】バス24の上のハッシュ・アドレスは、2
B に等しい一定値信号をも受ける比較器26に加えられ
る。比較器26は、バス24の上のハッシュ・アドレス
を値2B と比較して、バス24の上のハッシュ・アドレ
スが2B より大きいかまたは2B 以下であるかどうかを
指示する信号をリード27を介して制御装置13に与え
る。
B に等しい一定値信号をも受ける比較器26に加えられ
る。比較器26は、バス24の上のハッシュ・アドレス
を値2B と比較して、バス24の上のハッシュ・アドレ
スが2B より大きいかまたは2B 以下であるかどうかを
指示する信号をリード27を介して制御装置13に与え
る。
【0088】バス24の上のハッシュ・アドレスはま
た、CビットRAMアドレス・レジスタ28にも加えら
れる。RAMアドレス・レジスタ28にロードされたア
ドレスは、圧縮装置ストリング・テーブルを記憶するの
に用いられるRAM29を呼出す。RAM29は、2C
のCビット記憶場所を含んでいる。各ストリングは、そ
のストリングに割当てられた符号によってアドレス指定
された記憶場所にあるその接頭符号を記憶することによ
ってRAM29の中に記憶される。そのストリングに割
当てられた符号は、後述のようにして、ストリング拡張
文字と接頭部符号をハッシュすることにより得られる。
た、CビットRAMアドレス・レジスタ28にも加えら
れる。RAMアドレス・レジスタ28にロードされたア
ドレスは、圧縮装置ストリング・テーブルを記憶するの
に用いられるRAM29を呼出す。RAM29は、2C
のCビット記憶場所を含んでいる。各ストリングは、そ
のストリングに割当てられた符号によってアドレス指定
された記憶場所にあるその接頭符号を記憶することによ
ってRAM29の中に記憶される。そのストリングに割
当てられた符号は、後述のようにして、ストリング拡張
文字と接頭部符号をハッシュすることにより得られる。
【0089】RAM29は、「読出し」指令および「書
込み」指令を制御装置13から受けてRAM29の「読
出し」、「書込み」機能を制御する。RAM29は、2
B に等しいCビットの値またはCビット符号番号信号を
レジスタ19からバス30を介して受取るように制御装
置13によって制御される。
込み」指令を制御装置13から受けてRAM29の「読
出し」、「書込み」機能を制御する。RAM29は、2
B に等しいCビットの値またはCビット符号番号信号を
レジスタ19からバス30を介して受取るように制御装
置13によって制御される。
【0090】「書込み」指令をRAM29に加えるのに
従って、一定値2B またはバス30の上の符号番号のい
ずれかが制御装置13からの制御信号に従ってレジスタ
28の中のRAMアドレスによって呼出された記憶場所
に書込まれる。RAM29はまた、「読出し」指令に応
答して呼出された記憶場所のCビット内容をバス31に
与える。バス31の上のRAM出力および符号レジスタ
19の出力は、比較器32へ入力として加えられる。比
較器32はまた、2B に等しい一定値信号を受ける。比
較器32は、RAM29の出力を符号番号レジスタ19
の出力および2B と比較する。比較の結果は、リード3
3を経て制御装置13に与えられる。リード33の上の
比較信号は、バス31の上のRAM出力レジスタ19か
らの符号番号に等しいか、または2B に等しいか、また
はどちらでもないかを制御装置13に指示する。あとで
説明する理由のために、制御装置13は、RAMアドレ
ス・レジスタ28を制御して、その内容をバス34を経
て符号番号レジスタ19に転送する。
従って、一定値2B またはバス30の上の符号番号のい
ずれかが制御装置13からの制御信号に従ってレジスタ
28の中のRAMアドレスによって呼出された記憶場所
に書込まれる。RAM29はまた、「読出し」指令に応
答して呼出された記憶場所のCビット内容をバス31に
与える。バス31の上のRAM出力および符号レジスタ
19の出力は、比較器32へ入力として加えられる。比
較器32はまた、2B に等しい一定値信号を受ける。比
較器32は、RAM29の出力を符号番号レジスタ19
の出力および2B と比較する。比較の結果は、リード3
3を経て制御装置13に与えられる。リード33の上の
比較信号は、バス31の上のRAM出力レジスタ19か
らの符号番号に等しいか、または2B に等しいか、また
はどちらでもないかを制御装置13に指示する。あとで
説明する理由のために、制御装置13は、RAMアドレ
ス・レジスタ28を制御して、その内容をバス34を経
て符号番号レジスタ19に転送する。
【0091】図2の圧縮装置は、Cビット信号をバス3
6を経てRAMアドレス・レジスタ28に与える初期設
定計数器35を備えている。計数器35はそれに加わる
ゼロの値をもつ信号を介してゼロにセットできる。制御
装置13は、計数器35を計数指令を介して制御して、
計数指令を加えるごとに計数器の内容に1を加える。計
数器35は、それが計数値2C に達したときを制御装置
13にリード37の上のキャリアウトまたはオーバフロ
ー信号を経て知らせる。初期設定計数器35はRAM2
9を初期設定するのに用いられ、RAM29の記憶場所
のすべてを逐次に呼出して空状態を指示するように選択
された一定値2B を書込むことによって空にする。
6を経てRAMアドレス・レジスタ28に与える初期設
定計数器35を備えている。計数器35はそれに加わる
ゼロの値をもつ信号を介してゼロにセットできる。制御
装置13は、計数器35を計数指令を介して制御して、
計数指令を加えるごとに計数器の内容に1を加える。計
数器35は、それが計数値2C に達したときを制御装置
13にリード37の上のキャリアウトまたはオーバフロ
ー信号を経て知らせる。初期設定計数器35はRAM2
9を初期設定するのに用いられ、RAM29の記憶場所
のすべてを逐次に呼出して空状態を指示するように選択
された一定値2B を書込むことによって空にする。
【0092】図2の圧縮装置の基本動作を要約すると次
の通りである。
の通りである。
【0093】1.各データブロックごとに、RAMを空
に初期設定する。
に初期設定する。
【0094】2.各バイト・ストリングの最初の文字に
ついて: 最初の符号番号として、文字を符号番号レジスタに入れ
る。
ついて: 最初の符号番号として、文字を符号番号レジスタに入れ
る。
【0095】3.相次ぐ文字について: ハッシュ(符号、文字)→一連のN個のRAMアドレ
ス;各記憶場所ごとにつぎつぎに、 RAM出力=符号番号であれば:RAMアドレス→符号
番号レジスタ; もう一つの文字でこのステップに再び入る。
ス;各記憶場所ごとにつぎつぎに、 RAM出力=符号番号であれば:RAMアドレス→符号
番号レジスタ; もう一つの文字でこのステップに再び入る。
【0096】RAM記憶場所が空であれば:符号番号レ
ジスタからRAMに書込み、符号値を出力として伝送す
る。次にステップ2へ行く。
ジスタからRAMに書込み、符号値を出力として伝送す
る。次にステップ2へ行く。
【0097】そうでないときは、すべてのハッシュ・ア
ドレスの後、符号値を出力として伝送する;ステップ2
へ行く。
ドレスの後、符号値を出力として伝送する;ステップ2
へ行く。
【0098】図2を続けて参照すると、以下のものが図
2の圧縮装置の状態機械語記述である。
2の圧縮装置の状態機械語記述である。
【0099】状態0:各データブロックの始めにおける
待ち状態 初期設定計数器をゼロにセット。
待ち状態 初期設定計数器をゼロにセット。
【0100】データ使用可能信号を待つ:次いで状態1
へ行く。
へ行く。
【0101】状態1:RAMを初期設定する 初期設定計数器→RAMアドレス・レジスタ 2B →RAMデータ入力 RAMを書込む +1を初期設定計数器に加える 初期設定計数器<2C なら、状態1を繰返す、そうでな
ければ状態2へ行く。
ければ状態2へ行く。
【0102】状態2:符号を開始するブロックの最初の
文字を読出す。
文字を読出す。
【0103】文字を符号番号レジスタ(下位B個のビッ
ト)に入力する ゼロを符号レジスタ(上位C−B個のビット)に入力す
る 状態3へ行く。
ト)に入力する ゼロを符号レジスタ(上位C−B個のビット)に入力す
る 状態3へ行く。
【0104】状態3:このストリングの中の次の文字を
処理する 次の文字を読出す、 使用できる新しい入力文字がなければ:符号番号レジス
タの内容を出力に伝送する;状態0へ行く。
処理する 次の文字を読出す、 使用できる新しい入力文字がなければ:符号番号レジス
タの内容を出力に伝送する;状態0へ行く。
【0105】ハッシュ(符号番号レジスタ、次の文字)
→RAMアドレス
→RAMアドレス
【0106】
【外1】
【0107】RAMを読出す。
【0108】(RAM出力)=(符号番号レジスタ)な
らば: RAMアドレス→符号番号レジスタ;状態3へ行く。
らば: RAMアドレス→符号番号レジスタ;状態3へ行く。
【0109】(RAM記憶場所)=2B ならば:状態5
へ行く。
へ行く。
【0110】その他の場合:状態4へ行く。
【0111】状態4:探索を継続する 次のハッシュ(符号、文字)→RAMアドレス
【0112】
【外2】
【0113】その他の場合:状態4を繰返す。
【0114】RAMを読出す (RAM出力)=(符号レジスタ)であれば: であれば、 RAMアドレス→符号番号レジスタ;状態3へ行く。
【0115】(RAM出力)=2B ならば:状態5へ行
く。
く。
【0116】その他の場合:最終ハッシュ繰返しであれ
ば: 状態6へ行き、そうでなければ状態4を繰返す。
ば: 状態6へ行き、そうでなければ状態4を繰返す。
【0117】状態5:新ストリングを作る (符号番号レジスタ)をRAMに書込む、状態6へ行
く。
く。
【0118】状態6:ストリングの終り (符号番号レジスタ)→出力 文字レジスタ→符号番号レジスタ(下位Bビット) ゼロ=符号番号レジスタ(上位C−B個のビット)、 状態3へ行く。
【0119】上に与えられた状態機械語記述に関する図
2の圧縮装置の動作のさらに詳細な説明を次に行う;
2の圧縮装置の動作のさらに詳細な説明を次に行う;
〔0〕.待ち状態. 1ブロックの入力文字を待ってい
る間、図2の圧縮装置は、この状態にある。待ち状態の
間、制御装置13は、初期設定計数器35をゼロにリセ
ットする。入力データを供給する外部信号源からリード
12を通ってくるデータ使用可能信号は、入力データが
利用できるときを指示するために用いられる。データが
使用可能になったとき、リード12の上のデータ使用可
能信号は、制御装置13に初期設定状態に入るように合
図する。
る間、図2の圧縮装置は、この状態にある。待ち状態の
間、制御装置13は、初期設定計数器35をゼロにリセ
ットする。入力データを供給する外部信号源からリード
12を通ってくるデータ使用可能信号は、入力データが
利用できるときを指示するために用いられる。データが
使用可能になったとき、リード12の上のデータ使用可
能信号は、制御装置13に初期設定状態に入るように合
図する。
【0120】〔1〕.初期設定状態. ランダム・アク
セス記憶装置(RAM)29の内容は、空であるように
初期設定される。空記号は、実現の便宜上2B として任
意に選ばれる。従って、「初期設定状態」では、値2B
が記憶装置29の各記憶場所から書込まれる。空記号
は、ストリング符号には決して割当てられてはならな
い。記憶場所ゼロないし2B は、それらは決して呼出さ
れないであろうけれども、実現の便宜上空に初期設定さ
れる。概念的には、記憶場所ゼロないし2B −1は、2
B 個の単一文字ストリングを含むように初期設定され、
それらのストリングは、それらが表す文字に等しい符号
値を予め割当てられている。従って、2B 個の単一文字
ストリングは、符号ゼロないし2B −1を予め割当てら
れている。この初期設定は、Cビットの初期設定計数器
35内の値をバス36を経てRAMアドレス・レジスタ
28にゲートすることによってメモリサイクルを繰返し
て達成される。RAM29への入力は、Cビットの一定
入力値2B から選択される。初期設定計数器35は、現
在の内容に1を加えることによって計数を上げるように
指令される。この一連の事象は、各記憶場所に対して1
回ずつ合計2C 回繰返される。2C のそのような計数の
のちに初期設定計数器35は、2C の計数値が起ったこ
とを知らせるオーバフローまたはキャリアウト信号を制
御装置13にリード37を経て与える。これによって図
2の圧縮装置は「最初の文字の状態」に進む。
セス記憶装置(RAM)29の内容は、空であるように
初期設定される。空記号は、実現の便宜上2B として任
意に選ばれる。従って、「初期設定状態」では、値2B
が記憶装置29の各記憶場所から書込まれる。空記号
は、ストリング符号には決して割当てられてはならな
い。記憶場所ゼロないし2B は、それらは決して呼出さ
れないであろうけれども、実現の便宜上空に初期設定さ
れる。概念的には、記憶場所ゼロないし2B −1は、2
B 個の単一文字ストリングを含むように初期設定され、
それらのストリングは、それらが表す文字に等しい符号
値を予め割当てられている。従って、2B 個の単一文字
ストリングは、符号ゼロないし2B −1を予め割当てら
れている。この初期設定は、Cビットの初期設定計数器
35内の値をバス36を経てRAMアドレス・レジスタ
28にゲートすることによってメモリサイクルを繰返し
て達成される。RAM29への入力は、Cビットの一定
入力値2B から選択される。初期設定計数器35は、現
在の内容に1を加えることによって計数を上げるように
指令される。この一連の事象は、各記憶場所に対して1
回ずつ合計2C 回繰返される。2C のそのような計数の
のちに初期設定計数器35は、2C の計数値が起ったこ
とを知らせるオーバフローまたはキャリアウト信号を制
御装置13にリード37を経て与える。これによって図
2の圧縮装置は「最初の文字の状態」に進む。
【0121】〔2〕.最初の文字の状態. 初期設定の
のち、図2の圧縮装置はバス10の上にある第1入力文
字を読取って、それのB個のビットをBビット文字レジ
スタ17にゲートする。次に制御装置13によって信号
を文字ストローブ・ライン15に与えて、次の入力文字
信号を外部装置によって入力バス10の上に与えさせ
る。次に文字レジスタ17の中のB個の文字ビットをバ
ス18を経てCビット符号番号レジスタ19の下位(右
側)Bビットにゲートして、レジスタ19の上位C−B
ビットをゼロにセットする。この手順は、最初の入力文
字をその単一文字ストリングに対してあらかじめ割当て
られた符号値に変換する。図2の実施例において、2B
個のあらかじめ割当てられた符号値は、それらが表す文
字体系の文字にそれぞれ等しい。最初のストリングを開
始してしまうと、図2の圧縮装置の繰返しの主サイクル
である「次の文字状態」に入る。
のち、図2の圧縮装置はバス10の上にある第1入力文
字を読取って、それのB個のビットをBビット文字レジ
スタ17にゲートする。次に制御装置13によって信号
を文字ストローブ・ライン15に与えて、次の入力文字
信号を外部装置によって入力バス10の上に与えさせ
る。次に文字レジスタ17の中のB個の文字ビットをバ
ス18を経てCビット符号番号レジスタ19の下位(右
側)Bビットにゲートして、レジスタ19の上位C−B
ビットをゼロにセットする。この手順は、最初の入力文
字をその単一文字ストリングに対してあらかじめ割当て
られた符号値に変換する。図2の実施例において、2B
個のあらかじめ割当てられた符号値は、それらが表す文
字体系の文字にそれぞれ等しい。最初のストリングを開
始してしまうと、図2の圧縮装置の繰返しの主サイクル
である「次の文字状態」に入る。
【0122】〔3〕.次の文字状態. この状態に入る
と、一つの正しい文字ストリングが入力からパースされ
てしまっており、その符号値が符号番号レジスタ19に
入っている。次の文字は、こんどは、バス10から文字
レジスタ17に読出され、ライン15の上の文字ストロ
ーブ信号は、外部データ源に戻される。ライン12の上
のデータ使用可能信号が、そのような文字がバス10の
上で使用できなかったことを示す場合には、圧縮装置は
データブロックの終りに達していたことになる。その状
況では、符号番号レジスタ19にある最終データ・スト
リングに対する符号値は、出力符号としてバス11を通
して伝送されて、新しい圧縮された符号信号が与えられ
ていることを指示するライン16の上の符号ストローブ
信号が外部装置に送られる。次に制御装置13は、圧縮
装置を「待ち状態」に戻す。
と、一つの正しい文字ストリングが入力からパースされ
てしまっており、その符号値が符号番号レジスタ19に
入っている。次の文字は、こんどは、バス10から文字
レジスタ17に読出され、ライン15の上の文字ストロ
ーブ信号は、外部データ源に戻される。ライン12の上
のデータ使用可能信号が、そのような文字がバス10の
上で使用できなかったことを示す場合には、圧縮装置は
データブロックの終りに達していたことになる。その状
況では、符号番号レジスタ19にある最終データ・スト
リングに対する符号値は、出力符号としてバス11を通
して伝送されて、新しい圧縮された符号信号が与えられ
ていることを指示するライン16の上の符号ストローブ
信号が外部装置に送られる。次に制御装置13は、圧縮
装置を「待ち状態」に戻す。
【0123】しかし、そのデータブロックの終りに達し
ないで、新しい文字が利用できて、文字レジスタ17に
入れられたとすれば、このBビットの文字は、バス22
を経てハッシュ関数回路23の中へバス21を通して与
えられたレジスタ19の中のCビットの符号番号と結合
される。制御装置13からの「新ハッシュ」指令の制御
を受けて、ハッシュ関数回路23は、この符号と文字の
組合せに対する第1のRAMアドレスを与える。バス2
4の上のこのハッシュ・アドレスは、比較器26によっ
て値2B と比較される。バス24の上のハッシュ・アド
レスが2B 以下であれば、この記憶場所は、呼出し不能
で、次のハッシュ・アドレスが「次のハッシュ状態」へ
ゆくことによって選択される。2B 以下のアドレス値
は、2B より小さな値が単一文字のストリングに対する
符号値であるようにあらかじめ割当てられており、かつ
値2B は、空記憶場所(未使用の符号値)を識別するた
めにあらかじめ割当てられたので、新しい符号値として
認められない。
ないで、新しい文字が利用できて、文字レジスタ17に
入れられたとすれば、このBビットの文字は、バス22
を経てハッシュ関数回路23の中へバス21を通して与
えられたレジスタ19の中のCビットの符号番号と結合
される。制御装置13からの「新ハッシュ」指令の制御
を受けて、ハッシュ関数回路23は、この符号と文字の
組合せに対する第1のRAMアドレスを与える。バス2
4の上のこのハッシュ・アドレスは、比較器26によっ
て値2B と比較される。バス24の上のハッシュ・アド
レスが2B 以下であれば、この記憶場所は、呼出し不能
で、次のハッシュ・アドレスが「次のハッシュ状態」へ
ゆくことによって選択される。2B 以下のアドレス値
は、2B より小さな値が単一文字のストリングに対する
符号値であるようにあらかじめ割当てられており、かつ
値2B は、空記憶場所(未使用の符号値)を識別するた
めにあらかじめ割当てられたので、新しい符号値として
認められない。
【0124】ハッシュ・アドレスが2B より大きければ
(通常の場合)、バス24の上のハッシュ・アドレスが
RAMアドレス・レジスタ28にゲートされ、RAM2
9がそのアドレスの内容を読取るように制御される。バ
ス31の上のCビットの結果は、比較器32においてレ
ジスタ19からの符号値と値2B との両方に比較され
る。バス31の上のRAM29の出力がレジスタ19か
らの符号番号に等しければ、拡張ストリングは、前に出
てきて既に一つの符号値を割当てられており、すなわち
丁度読出された記憶場所のRAMアドレス値である。新
符号番号はRAMアドレス・レジスタ28からバス34
を経て符号番号レジスタ19にゲートされ、新しい文字
についての手順を繰返すためにこの「次の文字状態」に
再び入る。
(通常の場合)、バス24の上のハッシュ・アドレスが
RAMアドレス・レジスタ28にゲートされ、RAM2
9がそのアドレスの内容を読取るように制御される。バ
ス31の上のCビットの結果は、比較器32においてレ
ジスタ19からの符号値と値2B との両方に比較され
る。バス31の上のRAM29の出力がレジスタ19か
らの符号番号に等しければ、拡張ストリングは、前に出
てきて既に一つの符号値を割当てられており、すなわち
丁度読出された記憶場所のRAMアドレス値である。新
符号番号はRAMアドレス・レジスタ28からバス34
を経て符号番号レジスタ19にゲートされ、新しい文字
についての手順を繰返すためにこの「次の文字状態」に
再び入る。
【0125】代りにバス31の上のRAM出力が2B に
等しければ、この記憶場所は、空であり、拡張ストリン
グがテーブルにないので、入力データをパースするのに
利用できないことを意味する。これによって、現在のス
トリングの構成作業を終りにしてこんどは「新ストリン
グ状態」に入る。
等しければ、この記憶場所は、空であり、拡張ストリン
グがテーブルにないので、入力データをパースするのに
利用できないことを意味する。これによって、現在のス
トリングの構成作業を終りにしてこんどは「新ストリン
グ状態」に入る。
【0126】しかし、バス31の上のRAM出力が2B
にもまたレジスタ19からの符号番号にも等しくない場
合、RAM29の中の他の記憶場所を探索しなければな
らず、それは「次のハッシュ状態」において実行され
る。
にもまたレジスタ19からの符号番号にも等しくない場
合、RAM29の中の他の記憶場所を探索しなければな
らず、それは「次のハッシュ状態」において実行され
る。
【0127】〔4〕.次のハッシュ状態. この状態に
おいては、さらに別のRAMアドレスがハッシュ関数回
路23によって現在の符号、文字組合せに対して制御装
置13からの「次の「ハッシュ」指令の制御を受けて発
生される。次に前の状態の各手順がその本質において繰
返される。新アドレスは比較器26によって2B に比較
され、そのアドレスが2B より大きくなければ、それは
用いられない。この場合に、もう一つのアドレスを得る
ために、この「次のハッシュ状態」に再び入る。N個の
ハッシュ・アドレスすべてを、ハッシュ関数回路23か
らのリード25の上の信号によって示されているよう
に、検査し終ると、現在のストリングは、そのストリン
グ・テーブルに存在しないと考えられて、それに入る空
間がない。次に「ストリング終了状態」に入る。
おいては、さらに別のRAMアドレスがハッシュ関数回
路23によって現在の符号、文字組合せに対して制御装
置13からの「次の「ハッシュ」指令の制御を受けて発
生される。次に前の状態の各手順がその本質において繰
返される。新アドレスは比較器26によって2B に比較
され、そのアドレスが2B より大きくなければ、それは
用いられない。この場合に、もう一つのアドレスを得る
ために、この「次のハッシュ状態」に再び入る。N個の
ハッシュ・アドレスすべてを、ハッシュ関数回路23か
らのリード25の上の信号によって示されているよう
に、検査し終ると、現在のストリングは、そのストリン
グ・テーブルに存在しないと考えられて、それに入る空
間がない。次に「ストリング終了状態」に入る。
【0128】しかし、ハッシュ・アドレスが2B より大
きければ、バス24の上のアドレスはRAMアドレス・
レジスタ28にゲートされて、RAM29がその記憶場
所において内容を読出すように制御される。RAM出力
のバス31の上に与えられた結果は、比較器32におい
てレジスタ19の中の符号番号および2B の両方と比較
される。RAM出力が符号番号に等しければ、RAMア
ドレス・レジスタ28からの新しい符号番号がバス34
を経てレジスタ19にゲートされ、「次の文字状態」に
入る。この代りに、バス31の上のRAM出力が値2B
に等しければ、「新ストリング状態」に入る。バス31
の上のRAM出力が2B および符号値のいずれにも等し
くなければ、この処理は、この新アドレス値に対するこ
の「次のハッシュ状態」に再び入ることによってN回ま
で繰返す。ハッシュ関数回路23からのリード25の上
の信号によって示されているように、N個の記憶場所が
試みられたとき、このストリングは終りにされて「スト
リング終了状態」に入る。
きければ、バス24の上のアドレスはRAMアドレス・
レジスタ28にゲートされて、RAM29がその記憶場
所において内容を読出すように制御される。RAM出力
のバス31の上に与えられた結果は、比較器32におい
てレジスタ19の中の符号番号および2B の両方と比較
される。RAM出力が符号番号に等しければ、RAMア
ドレス・レジスタ28からの新しい符号番号がバス34
を経てレジスタ19にゲートされ、「次の文字状態」に
入る。この代りに、バス31の上のRAM出力が値2B
に等しければ、「新ストリング状態」に入る。バス31
の上のRAM出力が2B および符号値のいずれにも等し
くなければ、この処理は、この新アドレス値に対するこ
の「次のハッシュ状態」に再び入ることによってN回ま
で繰返す。ハッシュ関数回路23からのリード25の上
の信号によって示されているように、N個の記憶場所が
試みられたとき、このストリングは終りにされて「スト
リング終了状態」に入る。
【0129】〔5〕.新ストリング状態. ストリング
・テーブル内の空記憶場所に遭遇したことは、探索され
た拡張ストリングをテーブルの中に発見しなかったこと
およびそのストリングをテーブルの中に入れる必要のあ
ることを示す。これは、拡張ストリングの接頭部符号番
号をRAM29に書込むことにより達成されるので、割
当てられたアドレスを拡張ストリングのための符号値と
してとっておく。従って、RAMアドレス・レジスタ2
8の中のアドレスは、その前の値に維持され、RAM2
9は、符号番号レジスタ19の内容をバス30を経てア
ドレス指定された記憶場所に書込むように制御される。
次に「ストリング終了状態」に入る。
・テーブル内の空記憶場所に遭遇したことは、探索され
た拡張ストリングをテーブルの中に発見しなかったこと
およびそのストリングをテーブルの中に入れる必要のあ
ることを示す。これは、拡張ストリングの接頭部符号番
号をRAM29に書込むことにより達成されるので、割
当てられたアドレスを拡張ストリングのための符号値と
してとっておく。従って、RAMアドレス・レジスタ2
8の中のアドレスは、その前の値に維持され、RAM2
9は、符号番号レジスタ19の内容をバス30を経てア
ドレス指定された記憶場所に書込むように制御される。
次に「ストリング終了状態」に入る。
【0130】〔6〕.ストリング終了状態. この状態
に入るとき、拡張ストリングがストリング・テーブルに
ないので、現在あるストリング符号を出力として伝送
し、新しいストリングを開始すべきであると判定され
た。従って、符号番号レジスタ19からの出力符号信号
を出力バス11に伝送して、新圧縮符号信号がバス11
にあることを外部装置に知らせる「符号ストローブ信
号」をリード16を経て送る。このインターフェイスの
正確な形は、圧縮データ信号を受ける外部装置の特有の
要求事項に従って変わる。新ストリングは、文字レジス
タ17の中に既にある文字を用いて開始され、その文字
は、それをバス18を介して符号番号レジスタ19の下
位Bビットにゲートし、かつレジスタ19の高位C−B
ビット位置にあるビット位置にゼロをおくことによって
あらかじめ割当てられた単一文字のストリングに翻訳さ
れている。その新ストリングを構成するために「次の文
字状態」に再び入る。
に入るとき、拡張ストリングがストリング・テーブルに
ないので、現在あるストリング符号を出力として伝送
し、新しいストリングを開始すべきであると判定され
た。従って、符号番号レジスタ19からの出力符号信号
を出力バス11に伝送して、新圧縮符号信号がバス11
にあることを外部装置に知らせる「符号ストローブ信
号」をリード16を経て送る。このインターフェイスの
正確な形は、圧縮データ信号を受ける外部装置の特有の
要求事項に従って変わる。新ストリングは、文字レジス
タ17の中に既にある文字を用いて開始され、その文字
は、それをバス18を介して符号番号レジスタ19の下
位Bビットにゲートし、かつレジスタ19の高位C−B
ビット位置にあるビット位置にゼロをおくことによって
あらかじめ割当てられた単一文字のストリングに翻訳さ
れている。その新ストリングを構成するために「次の文
字状態」に再び入る。
【0131】図3は、本発明の最高の圧縮を実施するた
めの圧縮装置を示す。図3の実施例は、図2の高性能実
施例よりわずかに値段が高く、かつ動作がわずかに遅
い。この実施例は、高性能実施例とほぼ同じ適応圧縮手
順を用いるが、高性能実施例とは違って、圧縮装置は、
可変長さの圧縮された出力符号信号を発生する。高性能
実施例に関して上述したものと同様にして、図3の高圧
縮実施例は、Bビット・バイト入力文字信号および2C
の記憶場所のストリング・テーブルを用いる。圧縮符号
記号は、ストリング・テーブルがいっぱいになるにつれ
て、大きさを増してCビットの最大長さに達する。必要
に応じて、この符号信号は、新しい文字に出合ったとき
Bビットだけ拡張される。
めの圧縮装置を示す。図3の実施例は、図2の高性能実
施例よりわずかに値段が高く、かつ動作がわずかに遅
い。この実施例は、高性能実施例とほぼ同じ適応圧縮手
順を用いるが、高性能実施例とは違って、圧縮装置は、
可変長さの圧縮された出力符号信号を発生する。高性能
実施例に関して上述したものと同様にして、図3の高圧
縮実施例は、Bビット・バイト入力文字信号および2C
の記憶場所のストリング・テーブルを用いる。圧縮符号
記号は、ストリング・テーブルがいっぱいになるにつれ
て、大きさを増してCビットの最大長さに達する。必要
に応じて、この符号信号は、新しい文字に出合ったとき
Bビットだけ拡張される。
【0132】このテーブル内の各ストリングにCビット
識別子を割当てて、これらの識別子は1で始まる数の順
序で割当てられる。2D 以下の数の符号を割当てられた
とき、これらの符号の下位Dビットだけを圧縮データ信
号として伝送する。ストリング・テーブル内の各記憶場
所は、Cビットの接頭部ストリング識別子およびその記
憶場所にあるストリングに割当てられた新しいCビット
符号を含んでいる。従ってストリング・テーブルの2C
の記憶場所の各々は、2Cビットの幅である。この高圧
縮実施例の圧縮装置で用いられるハッシュ関数は、先に
説明した高性能実施例で用いられたものと同一である。
しかし、この高圧縮実施例においては、ハッシュ関数回
路は、圧縮装置に用いられるだけである。
識別子を割当てて、これらの識別子は1で始まる数の順
序で割当てられる。2D 以下の数の符号を割当てられた
とき、これらの符号の下位Dビットだけを圧縮データ信
号として伝送する。ストリング・テーブル内の各記憶場
所は、Cビットの接頭部ストリング識別子およびその記
憶場所にあるストリングに割当てられた新しいCビット
符号を含んでいる。従ってストリング・テーブルの2C
の記憶場所の各々は、2Cビットの幅である。この高圧
縮実施例の圧縮装置で用いられるハッシュ関数は、先に
説明した高性能実施例で用いられたものと同一である。
しかし、この高圧縮実施例においては、ハッシュ関数回
路は、圧縮装置に用いられるだけである。
【0133】次に図3を参照すると、本発明の最高圧縮
実施例の圧縮装置が示されている。この圧縮装置は、入
力文字信号をバス110を通して受けて、圧縮出力符号
記号信号をビット直列形式でライン111に与える。こ
の入力文字は、外部装置からバス110に与えられる。
この外部装置はまた、入力文字信号が外部装置から使用
できて、バス110に加えられるときは常に、データ使
用可能信号をライン112に与える。ライン112上の
データ使用可能信号は、圧縮装置制御装置113に加え
られる。圧縮装置制御装置113は、図3の圧縮装置の
ブロックのすべてに制御信号をリード114を介して与
える。圧縮装置制御装置113は、図3の圧縮装置をそ
れの制御状態を介して以下に詳細に説明する方法で順序
づけする。制御装置113はまた、追加の入力文字を要
求する文字ストローブ信号をライン115を通して外部
装置に与える。
実施例の圧縮装置が示されている。この圧縮装置は、入
力文字信号をバス110を通して受けて、圧縮出力符号
記号信号をビット直列形式でライン111に与える。こ
の入力文字は、外部装置からバス110に与えられる。
この外部装置はまた、入力文字信号が外部装置から使用
できて、バス110に加えられるときは常に、データ使
用可能信号をライン112に与える。ライン112上の
データ使用可能信号は、圧縮装置制御装置113に加え
られる。圧縮装置制御装置113は、図3の圧縮装置の
ブロックのすべてに制御信号をリード114を介して与
える。圧縮装置制御装置113は、図3の圧縮装置をそ
れの制御状態を介して以下に詳細に説明する方法で順序
づけする。制御装置113はまた、追加の入力文字を要
求する文字ストローブ信号をライン115を通して外部
装置に与える。
【0134】バス110の上の入力文字はBビット文字
レジスタ116に入れられる。単一文字を出力線111
に転送することになっているとき、文字レジスタ116
は、その文字のBビットをバス117を介してシフト回
路網118にゲートするように制御装置113によって
制御される。シフト回路網118は、ビット直列出力を
ライン111に与え、バス117の上のBビットを受け
て、これらのビットをライン111に直列に与えるよう
に制御装置113によって制御される。
レジスタ116に入れられる。単一文字を出力線111
に転送することになっているとき、文字レジスタ116
は、その文字のBビットをバス117を介してシフト回
路網118にゲートするように制御装置113によって
制御される。シフト回路網118は、ビット直列出力を
ライン111に与え、バス117の上のBビットを受け
て、これらのビットをライン111に直列に与えるよう
に制御装置113によって制御される。
【0135】図3の圧縮装置は、さらに、圧縮ストリン
グ符号信号を保持して出力ストリング符号をシフト回路
網118にバス120を介して与えるビット符号番号レ
ジスタ119を備えている。符号番号レジスタ119を
それに加わるゼロの値にされた信号によってゼロに初期
設定できる。
グ符号信号を保持して出力ストリング符号をシフト回路
網118にバス120を介して与えるビット符号番号レ
ジスタ119を備えている。符号番号レジスタ119を
それに加わるゼロの値にされた信号によってゼロに初期
設定できる。
【0136】図3の圧縮装置は、さらに、入力バス11
0に加えられる入力データ・ストリームのパースされた
ストリングにストリング符号記号信号を数の昇順に割当
てるCビット符号計数器121を備えている。制御装置
113の制御のもとに、符号計数器121をそれに加わ
るゼロの値にされた信号を介してゼロにリセットしても
よいし、「計数」指令信号を介して現存の計数を1だけ
大きくしてもよい。計数器121は、符号計数器121
の中の計数値が値2C −1に達したときに制御装置11
3にライン123を介して信号を出力する検出器122
に出力を与える。この値は、計数器がオール1の状態に
達するとき、Cビット計数器121によって達成され
る。符号計数器121の出力はまた、シフト回路網11
8によってシフトアウトされるべきビットの数を定める
信号をシフト回路網118にバス124を介して与える
符号大きさ回路123に加えられる。上述のように、D
ビットがシフトアウトされる(ここでDはC以下であ
る)。
0に加えられる入力データ・ストリームのパースされた
ストリングにストリング符号記号信号を数の昇順に割当
てるCビット符号計数器121を備えている。制御装置
113の制御のもとに、符号計数器121をそれに加わ
るゼロの値にされた信号を介してゼロにリセットしても
よいし、「計数」指令信号を介して現存の計数を1だけ
大きくしてもよい。計数器121は、符号計数器121
の中の計数値が値2C −1に達したときに制御装置11
3にライン123を介して信号を出力する検出器122
に出力を与える。この値は、計数器がオール1の状態に
達するとき、Cビット計数器121によって達成され
る。符号計数器121の出力はまた、シフト回路網11
8によってシフトアウトされるべきビットの数を定める
信号をシフト回路網118にバス124を介して与える
符号大きさ回路123に加えられる。上述のように、D
ビットがシフトアウトされる(ここでDはC以下であ
る)。
【0137】符号大きさ回路123をSN74148優
先順位回路網のような標準Cビット優先順位符号器回路
によって実現できる。符号計数器121は優先順位符号
器に結合され、そして計数器121の昇順重みのビット
を優先順位符号器の昇順優先順位に並んだ優先順位入力
にそれぞれ結合される。次に優先順位符号器は、Dに対
する値である2進数信号を与える。
先順位回路網のような標準Cビット優先順位符号器回路
によって実現できる。符号計数器121は優先順位符号
器に結合され、そして計数器121の昇順重みのビット
を優先順位符号器の昇順優先順位に並んだ優先順位入力
にそれぞれ結合される。次に優先順位符号器は、Dに対
する値である2進数信号を与える。
【0138】数Dをシフト回路網118の中で用いて、
Dシフト・クロック・パルスのパケットをゲートして、
シフト回路網118がバス120に与えられた出力符号
信号のDビットをライン111に直列に与えるようにし
てもよい。優先順位符号器を符号大きさ回路123に用
いることに対する多くの代替のものがふつう熟練した論
理設計者には容易に明らかであろう。
Dシフト・クロック・パルスのパケットをゲートして、
シフト回路網118がバス120に与えられた出力符号
信号のDビットをライン111に直列に与えるようにし
てもよい。優先順位符号器を符号大きさ回路123に用
いることに対する多くの代替のものがふつう熟練した論
理設計者には容易に明らかであろう。
【0139】例えば、シフト回路網118は、出力符号
をバス120に受けて符号大きさ回路123によって制
御されたシフトクロックパルスに応答して出力符号のD
ビットをシフトアウトするシフト・レジスタを用いて実
現できる。符号大きさ回路123によって制御されるD
クロックパルスのパケットに応答して、シフト回路網1
18の中に入っているシフト・レジスタにはクロック信
号がD回与えられる。シフト・レジスタの構成は、この
技術分野では周知であり、その正確な詳細は、データを
受ける外部装置のインタフェースによって変る。上述の
ように、シフト回路網118はまた、B文字ビットをバ
ス117からライン111のシフト回路網118によっ
て伝送するのを制御する普通のクロック制御回路を備え
ている。
をバス120に受けて符号大きさ回路123によって制
御されたシフトクロックパルスに応答して出力符号のD
ビットをシフトアウトするシフト・レジスタを用いて実
現できる。符号大きさ回路123によって制御されるD
クロックパルスのパケットに応答して、シフト回路網1
18の中に入っているシフト・レジスタにはクロック信
号がD回与えられる。シフト・レジスタの構成は、この
技術分野では周知であり、その正確な詳細は、データを
受ける外部装置のインタフェースによって変る。上述の
ように、シフト回路網118はまた、B文字ビットをバ
ス117からライン111のシフト回路網118によっ
て伝送するのを制御する普通のクロック制御回路を備え
ている。
【0140】レジスタ119からの符号記号信号および
レジスタ116からの文字信号は、それぞれバス125
および126を経てハッシュ関数回路127へ加えられ
る。ハッシュ関数回路127は、上述の本発明の高性能
実施例に関して用いられたハッシュ関数回路と同一であ
る。ハッシュ関数回路127は、バス125の上のCビ
ット符号信号をバス126の上のBビット文字信号と組
合わせて、バス128の上に順次にN個のCビットアド
レスを与える。ハッシュ関数回路127は、リード12
9を介して制御装置113にバス128の上に与えられ
たハッシュアドレスがその列の中のN番目のアドレスで
あるかどうかを知らせる。
レジスタ116からの文字信号は、それぞれバス125
および126を経てハッシュ関数回路127へ加えられ
る。ハッシュ関数回路127は、上述の本発明の高性能
実施例に関して用いられたハッシュ関数回路と同一であ
る。ハッシュ関数回路127は、バス125の上のCビ
ット符号信号をバス126の上のBビット文字信号と組
合わせて、バス128の上に順次にN個のCビットアド
レスを与える。ハッシュ関数回路127は、リード12
9を介して制御装置113にバス128の上に与えられ
たハッシュアドレスがその列の中のN番目のアドレスで
あるかどうかを知らせる。
【0141】ハッシュ関数回路127はまた、制御装置
113から「新ハッシュ」指令および「次のハッシュ」
指令を受ける。制御装置113は「新ハッシュ」指令に
応じてN個のハッシュアドレスの最初のものを与え、ま
た「次のハッシュ」指令の相次ぐ発生に応じて相次ぐハ
ッシュドレスを与えるようにハッシュ関数回路127に
指令する。上述のように、ハッシュ関数回路127がN
番目のハッシュアドレスを与えたとき、一つの信号をリ
ード129を経て制御装置113に戻す。
113から「新ハッシュ」指令および「次のハッシュ」
指令を受ける。制御装置113は「新ハッシュ」指令に
応じてN個のハッシュアドレスの最初のものを与え、ま
た「次のハッシュ」指令の相次ぐ発生に応じて相次ぐハ
ッシュドレスを与えるようにハッシュ関数回路127に
指令する。上述のように、ハッシュ関数回路127がN
番目のハッシュアドレスを与えたとき、一つの信号をリ
ード129を経て制御装置113に戻す。
【0142】バス128の上のハッシュ・アドレスは、
CビットRAMアドレス・レジスタ130に加えられ
る。RAMアドレス・レジスタ130にロードされたア
ドレスが圧縮装置ストリング・テーブルを記憶するのに
用いられるRAM131を呼出す。RAM131は各々
2Cビット幅の2C の記憶場所に編成される。一つの文
字ストリングが一つの記憶場所に符号計数器121によ
って割当てられたそのストリングに対する符号番号およ
びその接頭部符号、すなわち、そのストリングの最終文
字を除くすべての文字を含むストリングの符号番号を入
れることによって記憶される。RAM131は、すべて
の記憶場所が最初に空であることを示すオール・ゼロを
ストリング符号欄に含むように初期設定される。文字を
もたないストリンである符号ゼロのストリングは、RA
M131の中に記述項をもたない。
CビットRAMアドレス・レジスタ130に加えられ
る。RAMアドレス・レジスタ130にロードされたア
ドレスが圧縮装置ストリング・テーブルを記憶するのに
用いられるRAM131を呼出す。RAM131は各々
2Cビット幅の2C の記憶場所に編成される。一つの文
字ストリングが一つの記憶場所に符号計数器121によ
って割当てられたそのストリングに対する符号番号およ
びその接頭部符号、すなわち、そのストリングの最終文
字を除くすべての文字を含むストリングの符号番号を入
れることによって記憶される。RAM131は、すべて
の記憶場所が最初に空であることを示すオール・ゼロを
ストリング符号欄に含むように初期設定される。文字を
もたないストリンである符号ゼロのストリングは、RA
M131の中に記述項をもたない。
【0143】RAM131は、RAM131の「読出
し」および「書込み」機能を制御するために制御装置1
13から「読出し」指令および「書き込み」指令を受け
る。制御装置113がRAN131に「書込み」機能を
実行するように指令すると、RAMアドレス・レジスタ
130によって呼出された記憶場所のストリング符号欄
がバス132を経て符号計数器121のCビット出力を
受け、また呼出された記憶場所の接頭部符号欄が符号番
号レジスタ119からの入力をバス133を経て受け
る。制御装置113がRAM131にRAMアドレス・
レジスタ130によって呼出された記憶場所の内容を読
出すように指令すると、呼出された記憶場所の接頭部符
号がバス135を経て比較器134に加えられ、また呼
出された記憶場所のストリング符号がバス136を経て
符号番号レジスタ119へ加えられると共に、ゼロ検出
器137にも加えられる。比較器134はまた、バス1
38にゼロの値をもつ信号を受ける。図3の圧縮装置の
現存の状態次第で、制御装置113は、バス135の上
の接頭部符号とレジスタの中に記憶された符号とが等し
いか等しくないかを試験するか、またはレジスタ119
の中の符号信号がゼロに等しいか等しくないかを試験す
るように比較器134を制御する。これらの試験の結果
は、リード139を経て制御装置113に与えられる。
図3の圧縮装置の現存の状態に従えば、制御装置113
は、バス136の上のストリング符号がゼロに等しいか
等しくないかを決めるためのゼロ検出器137を始動さ
せる。決定の結果は、リード140を経て制御装置11
3に与えられる。
し」および「書込み」機能を制御するために制御装置1
13から「読出し」指令および「書き込み」指令を受け
る。制御装置113がRAN131に「書込み」機能を
実行するように指令すると、RAMアドレス・レジスタ
130によって呼出された記憶場所のストリング符号欄
がバス132を経て符号計数器121のCビット出力を
受け、また呼出された記憶場所の接頭部符号欄が符号番
号レジスタ119からの入力をバス133を経て受け
る。制御装置113がRAM131にRAMアドレス・
レジスタ130によって呼出された記憶場所の内容を読
出すように指令すると、呼出された記憶場所の接頭部符
号がバス135を経て比較器134に加えられ、また呼
出された記憶場所のストリング符号がバス136を経て
符号番号レジスタ119へ加えられると共に、ゼロ検出
器137にも加えられる。比較器134はまた、バス1
38にゼロの値をもつ信号を受ける。図3の圧縮装置の
現存の状態次第で、制御装置113は、バス135の上
の接頭部符号とレジスタの中に記憶された符号とが等し
いか等しくないかを試験するか、またはレジスタ119
の中の符号信号がゼロに等しいか等しくないかを試験す
るように比較器134を制御する。これらの試験の結果
は、リード139を経て制御装置113に与えられる。
図3の圧縮装置の現存の状態に従えば、制御装置113
は、バス136の上のストリング符号がゼロに等しいか
等しくないかを決めるためのゼロ検出器137を始動さ
せる。決定の結果は、リード140を経て制御装置11
3に与えられる。
【0144】図3の圧縮装置はまた、Cビット信号をバ
ス142を経てRAMアドレスレジスタ130に与える
初期設定計数器141を備えている。制御装置113
は、計数指令を介して計数器141を制御してその計数
器の内容を計数指令を加えるごとに1だけ増やす。計数
器141は、それが計数値2C に達したときを制御装置
113にリード143の上のキャリアウトまたはオーバ
ーフロー信号を介して知らせる。初期設定計数器141
は、RAM131の記憶場所のすべてを順次に呼出して
ストリング符号欄にバス132から得た値ゼロを書込む
ことによってRAM131を空に初期設定するのに用い
られる。必ずしも必要ではないけれども、接頭部符号欄
を、実現の便宜上、バス133から得た値ゼロを書込む
ことによって、初期設定してもよい。
ス142を経てRAMアドレスレジスタ130に与える
初期設定計数器141を備えている。制御装置113
は、計数指令を介して計数器141を制御してその計数
器の内容を計数指令を加えるごとに1だけ増やす。計数
器141は、それが計数値2C に達したときを制御装置
113にリード143の上のキャリアウトまたはオーバ
ーフロー信号を介して知らせる。初期設定計数器141
は、RAM131の記憶場所のすべてを順次に呼出して
ストリング符号欄にバス132から得た値ゼロを書込む
ことによってRAM131を空に初期設定するのに用い
られる。必ずしも必要ではないけれども、接頭部符号欄
を、実現の便宜上、バス133から得た値ゼロを書込む
ことによって、初期設定してもよい。
【0145】一般的にいえば、図3の圧縮装置に関して
は、ライン111に与えられる各出力符号記号信号は、
符号計数器121の中に現存する値によって定められた
Dビットの長さをもっている。符号計数器内のゼロでな
い最高のビットがD番目のビットであって、その結果、
圧縮装置の出力符号の大きさが符号計数器内の値の大き
さに等しい。圧縮装置によって伝送されるべき最初の符
号記号信号は、ゼロビットの幅であるが、それに付加さ
れたBビットの文字記号信号をもっている。二番目の符
号記号信号は、1ビットの長さで、次の二つの符号記号
信号は、二つのビットを各々含んでいる。次の四つの符
号記号信号は、3ビットを各々含んでいる、などであ
る。これらの符号記号の幾つかはまたそれらに追加され
たBビットの文字値をもっている。値Dは、Cビットで
最大に達する。
は、ライン111に与えられる各出力符号記号信号は、
符号計数器121の中に現存する値によって定められた
Dビットの長さをもっている。符号計数器内のゼロでな
い最高のビットがD番目のビットであって、その結果、
圧縮装置の出力符号の大きさが符号計数器内の値の大き
さに等しい。圧縮装置によって伝送されるべき最初の符
号記号信号は、ゼロビットの幅であるが、それに付加さ
れたBビットの文字記号信号をもっている。二番目の符
号記号信号は、1ビットの長さで、次の二つの符号記号
信号は、二つのビットを各々含んでいる。次の四つの符
号記号信号は、3ビットを各々含んでいる、などであ
る。これらの符号記号の幾つかはまたそれらに追加され
たBビットの文字値をもっている。値Dは、Cビットで
最大に達する。
【0146】図3の圧縮装置の基本動作は次のように要
約される。
約される。
【0147】1.各データ・ブロックごとに、RAMを
空に初期設定する。
空に初期設定する。
【0148】2.符号レジスタをゼロ符号でスタート、 最初の入力文字を読出す 3.ハッシュ(符号レジスタ、文字)→N個のRAMアドレスの列 RAM記憶場所が空ならば: 符号レジスタ、符号計数器をRAMに書込む、 符号レジスタのDビットを出力として伝送する; 符号計数器を増分する;ゼロ→符号レジスタ; 接頭部符号(RAM)=符号レジスタならば: 新符号(RAM)→符号レジスタ、 新入力文字を読出す、 符号値が見出されなければ: 符号レジスタのDビットを出力として伝送する; 符号計数器を増分する;ゼロ→符号レジスタ; 入力が尽きるまでステップ3を繰返す。
【0149】図3を続けて参照すると、以下のものが図
3の圧縮装置の状態機械記述語である。
3の圧縮装置の状態機械記述語である。
【0150】 状態0:各データ・ブロックの始めにおける「待ち状態」 ゼロ→初期設定計数器 ゼロ→符号レジスタ ゼロ→符号計数器 データ使用可能信号を待つ;状態1へ行く 状態1: 「RAMを初期設定する」 初期設定計数器→RAMアドレス ゼロをRAMに書込む 初期設定計数器に+1を加える 初期設定計数が<2C ならば:状態1を繰返す、 そうでなければ状態2へ行く。
【0151】 状態2: 「入力文字を読出す」 どのデータも使用できなければ: 符号レジスタ=ゼロの場合; 符号レジスタのDビットを出力として伝送する。
【0152】 状態0へ出る データが使用可能ならば: 次の文字を読出す→文字レジスタが状態3へ行く。
【0153】 状態3: 「最初のテーブル検索」 最初のハッシュ(符号レジスタ、文字)→RAMアドレス RAMを読出す ストリング符号(RAM)=ゼロならば:(空サイト) 状態5へ行く 接頭部符号(RAM)=符号レジスタならば (ストリングが見出される): ストリング符号(RAM)→符号レジスタ 状態2へ行く そうでなければ状態4へ行く。
【0154】 状態4: 「テーブル探索を繰返す」 次のハッシュ(符号レジスタ、文字)→RAMアドレス RAMを読出す ストリング符号(RAM)=ゼロならば:状態5へ行く。
【0155】 接頭部符号(RAM)=符号レジスタならば: ストリング符号(RAM)→符号レジスタ、状態2へ行く 最終ハッシュならば、 状態6へ行く そうでなければ、状態4を繰返す 状態5: 「新ストリング・エントリー」 符号レジスタのDビットを出力として伝送する 符号計数器<2C −1ならば: 符号計数器へ+1を加える 書込む(符号レジスタ、符号計数器)→RAM 符号レジスタ=ゼロならば: Bビット文字を出力として伝送する 状態2へ行く 符号レジスタ=非ゼロならば: ゼロ→符号レジスタ 状態3へ行く 状態6: 「ストリング終結」 符号レジスタのDビットを出力として伝送する 符号計数器<2C −1ならば: 符号計数器に+1を加える 符号レジスタ=ゼロならば: Bビット文字を出力として伝送する 状態2へ行く 符号レジスタ=非ゼロならば: ゼロ→符号レジスタ 状態3へ行く。
【0156】上に与えられた状態機械記述語に関する図
3の圧縮装置の動作のさらに詳しい説明を次に行う。
3の圧縮装置の動作のさらに詳しい説明を次に行う。
【0157】[0] 待ち状態. 1ブロックの入力文
字を待っている間、図3の圧縮装置は、この状態にあ
る。
字を待っている間、図3の圧縮装置は、この状態にあ
る。
【0158】待ち状態の間、制御装置113は、初期設
定計数器141、符号番号レジスタ119および符号計
数器121をゼロにリセットする。入力データを供給す
る外部信号源からのリード112の上のデータ使用可能
信号は、入力データが使用可能であるときを指示するた
めに用いられる。データ使用可能になると、リード11
2の上のデータ使用可能信号は、制御装置113に「初
期設定状態」に入るように合図する。
定計数器141、符号番号レジスタ119および符号計
数器121をゼロにリセットする。入力データを供給す
る外部信号源からのリード112の上のデータ使用可能
信号は、入力データが使用可能であるときを指示するた
めに用いられる。データ使用可能になると、リード11
2の上のデータ使用可能信号は、制御装置113に「初
期設定状態」に入るように合図する。
【0159】〔1〕 初期設定状態. ランダムアクセ
ス記憶装置RAM131の内容は、空であるよう初期設
定される。この実施例における空記号は、ゼロとして選
ばれる。従って、RAM131の初期設定は、すべての
記憶場所にゼロを挿入することによって達成される。ス
トリング符号記述項だけがゼロでなければならないが、
接頭部符号値は、同時に、実現の便宜上、ゼロにセット
されることがわかる。この初期設定は、Cビット初期設
定計数器141の中の値をバス142を経てRAMアド
レス・レジスタ130にゲートすることによって記憶サ
イクルを繰返して達成される。RAM131への入力
は、符号番号レジスタ119からバス133を経て与え
られるとともに、符号計数器121からバス132を経
ても与えられる。レジスタ119および計数器121の
両方が「初期設定状態」の間ゼロになっている。RAM
131は、RAMアドレス・レジスタ130によって指
定された記憶場所にゼロ入力データを書込むように制御
される。初期設定計数器141は、その現在の内容を1
だけ増分することによって数え上げるよう指令される。
この一連の事象は、各記憶場所ごと1回、計2C 回繰返
される。2C のそのような計数ののちに、初期設定計数
器141は、2C 計数が起こったことを知らせるオーバ
フローまたはキャリアウト信号を制御装置113へリー
ド143を経て与える。次に制御装置113は、図3に
圧縮装置を「入力文字読出し状態」へ進める。
ス記憶装置RAM131の内容は、空であるよう初期設
定される。この実施例における空記号は、ゼロとして選
ばれる。従って、RAM131の初期設定は、すべての
記憶場所にゼロを挿入することによって達成される。ス
トリング符号記述項だけがゼロでなければならないが、
接頭部符号値は、同時に、実現の便宜上、ゼロにセット
されることがわかる。この初期設定は、Cビット初期設
定計数器141の中の値をバス142を経てRAMアド
レス・レジスタ130にゲートすることによって記憶サ
イクルを繰返して達成される。RAM131への入力
は、符号番号レジスタ119からバス133を経て与え
られるとともに、符号計数器121からバス132を経
ても与えられる。レジスタ119および計数器121の
両方が「初期設定状態」の間ゼロになっている。RAM
131は、RAMアドレス・レジスタ130によって指
定された記憶場所にゼロ入力データを書込むように制御
される。初期設定計数器141は、その現在の内容を1
だけ増分することによって数え上げるよう指令される。
この一連の事象は、各記憶場所ごと1回、計2C 回繰返
される。2C のそのような計数ののちに、初期設定計数
器141は、2C 計数が起こったことを知らせるオーバ
フローまたはキャリアウト信号を制御装置113へリー
ド143を経て与える。次に制御装置113は、図3に
圧縮装置を「入力文字読出し状態」へ進める。
【0160】〔2〕 入力文字読出し状態. 図3の圧
縮装置が新しい文字に対して用意が整うと常に、この状
態に入る。符号番号レジスタ119にある値は、現在の
ストリングの中で既に遭遇した文字を識別する。レジス
タ119の中にゼロの値があると新ストリングの始まり
であることを示す。一つの文字信号が入力文字バス11
0から文字レジスタ116に入れられる前に、リード1
12の上のデータ使用可能信号が検査される。データ使
用可能信号がどのデータも使用できないことを示す場
合、入力データ・ブロックの終りに達したことになる。
その状況において、符号番号レジスタ119の中のどの
非ゼロ値をも圧縮データ・ブロックを完成するように圧
縮装置によって伝送しなければならない。従って符号番
号レジスタ119の内容は、比較器134においてゼロ
と比較される。レジスタ119の内容がゼロでなけれ
ば、比較器134は、制御装置113にリード139を
経て信号を与えて、制御装置113が符号番号レジスタ
119の内容をシフト回路網118にバス120を経て
ゲートする。符号大きさ回路123は、符号計数器12
1からのDに対する値を定めて符号値のDビットをシフ
トアウトするようにシフト回路網118を制御する。こ
のデータが出力されてしまったとき、制御装置113
は、それ以上の入力データを待つために「待ち状態」に
戻るように図3の圧縮装置を制御する。
縮装置が新しい文字に対して用意が整うと常に、この状
態に入る。符号番号レジスタ119にある値は、現在の
ストリングの中で既に遭遇した文字を識別する。レジス
タ119の中にゼロの値があると新ストリングの始まり
であることを示す。一つの文字信号が入力文字バス11
0から文字レジスタ116に入れられる前に、リード1
12の上のデータ使用可能信号が検査される。データ使
用可能信号がどのデータも使用できないことを示す場
合、入力データ・ブロックの終りに達したことになる。
その状況において、符号番号レジスタ119の中のどの
非ゼロ値をも圧縮データ・ブロックを完成するように圧
縮装置によって伝送しなければならない。従って符号番
号レジスタ119の内容は、比較器134においてゼロ
と比較される。レジスタ119の内容がゼロでなけれ
ば、比較器134は、制御装置113にリード139を
経て信号を与えて、制御装置113が符号番号レジスタ
119の内容をシフト回路網118にバス120を経て
ゲートする。符号大きさ回路123は、符号計数器12
1からのDに対する値を定めて符号値のDビットをシフ
トアウトするようにシフト回路網118を制御する。こ
のデータが出力されてしまったとき、制御装置113
は、それ以上の入力データを待つために「待ち状態」に
戻るように図3の圧縮装置を制御する。
【0161】リード112の上のデータ使用可能信号に
よって、それ以上の入力データが使用可能であれば、バ
ス110から一つの文字が文字レジスタ116に読み込
まれ、文字を受取ったことの知らせを与える文字ストロ
ーブ信号を外部装置へのリード115の上に与える。次
に、制御装置113は、「最初のテーブル探索状態」に
入るように図3の圧縮装置を制御する。
よって、それ以上の入力データが使用可能であれば、バ
ス110から一つの文字が文字レジスタ116に読み込
まれ、文字を受取ったことの知らせを与える文字ストロ
ーブ信号を外部装置へのリード115の上に与える。次
に、制御装置113は、「最初のテーブル探索状態」に
入るように図3の圧縮装置を制御する。
【0162】〔3〕 最初のテーブル探索状態. 文字
レジスタ116の中の文字によって拡張された符号番号
レジスタ119の中の値によって識別されるストリング
から成る潜在的なストリングを、次にそれがストリング
テーブル内に現れるかどうかを決めるために探索する。
レジスタ119からの符号信号およびジレスタ116か
らの文字信号は、その組合わせに対するハッシュ・アド
レスを発生するハッシュ関数回路127へそれぞれバス
125および126を経てゲートされる。Cビットアド
レスは、バス128を経てRAMアドレスレジスタ13
0へゲートされ、RAMアドレスレジスタ130はアド
レス指定された記憶場所でRAM131を呼出す。RA
M131は、呼出された記憶場所の内容を読み出して、
バス135に接頭部符号値を与え、そしてバス136に
ストリング符号値を与えるように制御される。バス13
6に結果として生ずるストリング符号値がゼロ検出器1
37によってゼロであると決められると、その記憶場所
は空であって、それは拡張ストリングがそのストリング
・テーブルにないことを意味する。その状況において、
現在のストリングの処理が決定されて、圧縮装置は、そ
のテーブルを更新して出力を発生するために「新ストリ
ング・エントリー状態」に入るように制御される。
レジスタ116の中の文字によって拡張された符号番号
レジスタ119の中の値によって識別されるストリング
から成る潜在的なストリングを、次にそれがストリング
テーブル内に現れるかどうかを決めるために探索する。
レジスタ119からの符号信号およびジレスタ116か
らの文字信号は、その組合わせに対するハッシュ・アド
レスを発生するハッシュ関数回路127へそれぞれバス
125および126を経てゲートされる。Cビットアド
レスは、バス128を経てRAMアドレスレジスタ13
0へゲートされ、RAMアドレスレジスタ130はアド
レス指定された記憶場所でRAM131を呼出す。RA
M131は、呼出された記憶場所の内容を読み出して、
バス135に接頭部符号値を与え、そしてバス136に
ストリング符号値を与えるように制御される。バス13
6に結果として生ずるストリング符号値がゼロ検出器1
37によってゼロであると決められると、その記憶場所
は空であって、それは拡張ストリングがそのストリング
・テーブルにないことを意味する。その状況において、
現在のストリングの処理が決定されて、圧縮装置は、そ
のテーブルを更新して出力を発生するために「新ストリ
ング・エントリー状態」に入るように制御される。
【0163】しかしバス136の上のストリング符号値
がゼロでなければ、バス135上の接頭部符号値は、比
較器134によってレジスタ119の中の符号値と比較
される。それらの値が等しければ、拡張ストリングは、
そのテーブル内に存在して拡張ストリングが新ベースス
トリングになる。これは、バス136に現れる現在のス
トリングのストリング符号を符号番号レジスタ119に
ロードすることによって行われる。次に、次の文字が
「入力文字読出し状態」に入ることによって取出され
る。
がゼロでなければ、バス135上の接頭部符号値は、比
較器134によってレジスタ119の中の符号値と比較
される。それらの値が等しければ、拡張ストリングは、
そのテーブル内に存在して拡張ストリングが新ベースス
トリングになる。これは、バス136に現れる現在のス
トリングのストリング符号を符号番号レジスタ119に
ロードすることによって行われる。次に、次の文字が
「入力文字読出し状態」に入ることによって取出され
る。
【0164】バス135の上の接頭部符号が符号レジス
タ119の中の値に一致しないで、かつバス136の上
のストリング符号値がゼロでない場合、テーブル探索を
続ける。継続されたテーブル探索は、「テーブル探索繰
返し状態」に入るように圧縮装置を制御することによっ
て行われる。
タ119の中の値に一致しないで、かつバス136の上
のストリング符号値がゼロでない場合、テーブル探索を
続ける。継続されたテーブル探索は、「テーブル探索繰
返し状態」に入るように圧縮装置を制御することによっ
て行われる。
【0165】〔4〕 テーブル探索繰返し状態. 「最
初のテーブル探索状態」において、適当な占有データも
空記憶場所もハッシュ関数回路127によって与えられ
た最初のハッシュ・アドレスにないとき、相次ぐハッシ
ュドレスがRAM131をアドレス指定するために与え
られる。従って各後続ストリング・テーブル探索は、ハ
ッシュ関数回路127からの次のハッシュ値をバス12
8を経てRAMアドレス・レジスタ130に転送して、
代りの探索サイトにおいてRAM131をアドレス指定
することによって実行される。RAM131はアドレス
指定されたサイトにおける内容を読み出して、その記憶
場所に記憶されたストリング符号および接頭部符号をそ
れぞれバス136および135の上に与えるように制御
される。本質的には、「最初のテーブル探索状態」にお
けると同じ試験が探索されたストリングが見出されたか
どうか、または空記憶場所に遭遇したかどうかを決める
ために行われる。バス136の上のストリング符号が検
出器137によってゼロであると検出されれば、その記
憶場所が空であって、「新ストリング・エントリー状
態」に入る。バス136の上のストリング符号がゼロで
なく、かつバス135の上の接頭部符号がレジスタ11
9からの現在の符号値に、比較器134によって決めら
れるように、一致すれば、そのストリングが見出された
のであり、バス136の上の新ストリング符号値が符号
番号レジスタ119に入れられる。上記の条件のどちら
も起こらなければ、現在のストリングに対する探索は、
この「テーブル探索繰返し状態」に再び入ることによっ
て続けられる。しかし、ハッシュ関数回路127からの
リード129の上の信号によって表わされるようにN個
のハッシュアドレスすべてを利用した場合、そのストリ
ングは、そのストリング・テーブルにないと定められ
て、そのテーブル内のどのスペースもそれを挿入しない
N個のハッシュ・アドレスが試みられて成功しなかった
とき、「ストリング終結状態」に入る。
初のテーブル探索状態」において、適当な占有データも
空記憶場所もハッシュ関数回路127によって与えられ
た最初のハッシュ・アドレスにないとき、相次ぐハッシ
ュドレスがRAM131をアドレス指定するために与え
られる。従って各後続ストリング・テーブル探索は、ハ
ッシュ関数回路127からの次のハッシュ値をバス12
8を経てRAMアドレス・レジスタ130に転送して、
代りの探索サイトにおいてRAM131をアドレス指定
することによって実行される。RAM131はアドレス
指定されたサイトにおける内容を読み出して、その記憶
場所に記憶されたストリング符号および接頭部符号をそ
れぞれバス136および135の上に与えるように制御
される。本質的には、「最初のテーブル探索状態」にお
けると同じ試験が探索されたストリングが見出されたか
どうか、または空記憶場所に遭遇したかどうかを決める
ために行われる。バス136の上のストリング符号が検
出器137によってゼロであると検出されれば、その記
憶場所が空であって、「新ストリング・エントリー状
態」に入る。バス136の上のストリング符号がゼロで
なく、かつバス135の上の接頭部符号がレジスタ11
9からの現在の符号値に、比較器134によって決めら
れるように、一致すれば、そのストリングが見出された
のであり、バス136の上の新ストリング符号値が符号
番号レジスタ119に入れられる。上記の条件のどちら
も起こらなければ、現在のストリングに対する探索は、
この「テーブル探索繰返し状態」に再び入ることによっ
て続けられる。しかし、ハッシュ関数回路127からの
リード129の上の信号によって表わされるようにN個
のハッシュアドレスすべてを利用した場合、そのストリ
ングは、そのストリング・テーブルにないと定められ
て、そのテーブル内のどのスペースもそれを挿入しない
N個のハッシュ・アドレスが試みられて成功しなかった
とき、「ストリング終結状態」に入る。
【0166】〔5〕 新ストリング・エントリー状態.
一つのストリングの処理はそのストリングへの拡張が
ストリング・テーブルに見出されないで、空記憶場所に
遭遇したとき終わりにされる。これが起こると、前に認
識されたストリング符号信号が圧縮符号出力信号として
伝送され、拡張ストリングが潜在的なあとの符号化のた
めに、ストリング・テーブルに入れられる。従って、レ
ジスタ119の中の前に認識されたストリング符号信号
は、バス120を介して出力シフト回路網118へ転送
される。シフト回路網118は、出力リード111の上
に出力符号のDビットを与える。ここでDは符号計数器
121の中の値に従って符号大きさ回路123によって
決められる。
一つのストリングの処理はそのストリングへの拡張が
ストリング・テーブルに見出されないで、空記憶場所に
遭遇したとき終わりにされる。これが起こると、前に認
識されたストリング符号信号が圧縮符号出力信号として
伝送され、拡張ストリングが潜在的なあとの符号化のた
めに、ストリング・テーブルに入れられる。従って、レ
ジスタ119の中の前に認識されたストリング符号信号
は、バス120を介して出力シフト回路網118へ転送
される。シフト回路網118は、出力リード111の上
に出力符号のDビットを与える。ここでDは符号計数器
121の中の値に従って符号大きさ回路123によって
決められる。
【0167】出力がリード111に配送されたのち、検
出器122は計数器121のオール1の状態によって示
される値2C −1に対して符号計数器121を試験す
る。計数器121がオール1を含まない場合、計数器1
21の中の値は、制御装置113からの「計数」指令信
号の制御のもとに1だけ増分される。なお、検出器12
2が符号計数器121のオール1の状態を検出しない場
合、新ストリングが前の状態で空であると決定されたば
かりのアドレスにおいてストリング・テーブルの中に入
れられる。これはRAMアドレスレジスタ130の中の
アドレスをその前の値で不変に維持し、符号レジスタ1
19からのバス133の上の接頭部符号および符号計数
器121によって割当てられたばかりのバス132の上
のストリング符号をRAM131の中のアドレス指定さ
れた記憶場所の接頭部符号欄およびストリング符号欄に
それぞれ書込むようにRAM131を制御することによ
って達成される。
出器122は計数器121のオール1の状態によって示
される値2C −1に対して符号計数器121を試験す
る。計数器121がオール1を含まない場合、計数器1
21の中の値は、制御装置113からの「計数」指令信
号の制御のもとに1だけ増分される。なお、検出器12
2が符号計数器121のオール1の状態を検出しない場
合、新ストリングが前の状態で空であると決定されたば
かりのアドレスにおいてストリング・テーブルの中に入
れられる。これはRAMアドレスレジスタ130の中の
アドレスをその前の値で不変に維持し、符号レジスタ1
19からのバス133の上の接頭部符号および符号計数
器121によって割当てられたばかりのバス132の上
のストリング符号をRAM131の中のアドレス指定さ
れた記憶場所の接頭部符号欄およびストリング符号欄に
それぞれ書込むようにRAM131を制御することによ
って達成される。
【0168】そのあとで、比較器134は、最後に伝送
された符号がゼロであったかどうかを決めるために符号
番号レジスタ119を試験する。最後に伝送された信号
がゼロであった場合、これはストリング・テーブル内に
対応する文字値のなかった1文字のストリングを意味し
た。従ってその文字値は圧縮装置出力として伝送されな
ければならない。従って、文字レジスタ116からのB
ビット値は、こんどは、すべてのBビットを出力として
直列に伝送するように制御されているシフト回路網11
8にバス117を介して転送される。次に、新ストリン
グを開始するために「入力文字読出し状態」に入る。
された符号がゼロであったかどうかを決めるために符号
番号レジスタ119を試験する。最後に伝送された信号
がゼロであった場合、これはストリング・テーブル内に
対応する文字値のなかった1文字のストリングを意味し
た。従ってその文字値は圧縮装置出力として伝送されな
ければならない。従って、文字レジスタ116からのB
ビット値は、こんどは、すべてのBビットを出力として
直列に伝送するように制御されているシフト回路網11
8にバス117を介して転送される。次に、新ストリン
グを開始するために「入力文字読出し状態」に入る。
【0169】しかし、符号番号レジスタ119が非ゼロ
値を含んでいれば、文字レジスタ116の中の現在の文
字は伝送されないで、次のストリングの最初の文字とし
て用いられる。従って、符号レジスタ119は、新スト
リングを指示するためにゼロに払われ、「最初のテーブ
ル探索状態」に入る。
値を含んでいれば、文字レジスタ116の中の現在の文
字は伝送されないで、次のストリングの最初の文字とし
て用いられる。従って、符号レジスタ119は、新スト
リングを指示するためにゼロに払われ、「最初のテーブ
ル探索状態」に入る。
【0170】〔6〕 ストリング終結状態. この状態
は、空記憶場所に遭遇しなかったのでストリング・テー
ブル内でエントリーが全く行われないのを除いて「新ス
トリング・エントリー」状態と同一である。しかし「新
ストリング・エントリー」状態の前述のアクションのす
べては、RAM131の中への「書込み」動作以外は行
われる。符号計数器121を増分すると、一つのストリ
ング番号が新しい拡張ストリングに割当てられるが、こ
の拡張ストリングはテーブルに入れられない。そのスト
リングのためのスペースが見出されなかったので、エン
トリーが起こらず、従って符号化されたストリングをあ
との符号化に使用できない。テーブルからのこの削除
は、システムの圧縮有効性を小さくする可能性がある
が、正しくない動作を生じない。
は、空記憶場所に遭遇しなかったのでストリング・テー
ブル内でエントリーが全く行われないのを除いて「新ス
トリング・エントリー」状態と同一である。しかし「新
ストリング・エントリー」状態の前述のアクションのす
べては、RAM131の中への「書込み」動作以外は行
われる。符号計数器121を増分すると、一つのストリ
ング番号が新しい拡張ストリングに割当てられるが、こ
の拡張ストリングはテーブルに入れられない。そのスト
リングのためのスペースが見出されなかったので、エン
トリーが起こらず、従って符号化されたストリングをあ
との符号化に使用できない。テーブルからのこの削除
は、システムの圧縮有効性を小さくする可能性がある
が、正しくない動作を生じない。
【0171】図2および図3に示した本発明の上述の実
施例は、例えば、ディスクリートなディジタル論理部品
を用いてハードウェアで実現される。第1〜4表は、本
発明によるデータ信号の圧縮および伸長を行うプログラ
ム記憶式ディジタル計算機にロードするソフトウェアで
実現された本発明の1実施例を示している。明確に言え
ば、本発明のプログラム格納計算機の実施例は、図2に
関して先に述べた本発明の最高性能実施例をソフトウェ
アで実現する。第1〜4表のプログラム格納計算機の実
施例はFORTRANで実現されるので、互換性のある
FORTRANコンパイラを備えた計算機ならどれでも
実行できる。圧縮装置は、それぞれ入力および出力デー
タを管理する主プログラムの中で呼出されるべきサブル
ーチンとして実現される。圧縮装置のサブルーチンは、
基礎になっている計算機のワードの大きさに関係のない
任意の長さで密に積められた記号の配列(アレイ)につ
いて取る動作と置く動作をそれぞれ行うIBITSGお
よびIBITSPという名の文字操作サブプログラムを
用いる。IBITSGおよびIBITSPサブプログラ
ムは、それぞれ等しい大きさの記号の直線配列の指定さ
れた位置にある選択されたビット長の一つの記号をそれ
ぞれ取ったり、置いたりする。IBITSGは、圧縮装
置および伸長装置サブルーチンにおいて用いるための機
能サブルプログラムとして実現され、IBITSPは、
圧縮装置および伸長装置サブルーチンの実行において呼
び出されるべきサブルーチン・サブプログラムとして実
現される。表3および表4は、それぞれIBITSGお
よびIBITSPを示す。これらのサブプログラムは、
一例として与えられたものであって、等価なサブプログ
ラムが通常の熟練した計算機プログラマによって容易に
作られる。
施例は、例えば、ディスクリートなディジタル論理部品
を用いてハードウェアで実現される。第1〜4表は、本
発明によるデータ信号の圧縮および伸長を行うプログラ
ム記憶式ディジタル計算機にロードするソフトウェアで
実現された本発明の1実施例を示している。明確に言え
ば、本発明のプログラム格納計算機の実施例は、図2に
関して先に述べた本発明の最高性能実施例をソフトウェ
アで実現する。第1〜4表のプログラム格納計算機の実
施例はFORTRANで実現されるので、互換性のある
FORTRANコンパイラを備えた計算機ならどれでも
実行できる。圧縮装置は、それぞれ入力および出力デー
タを管理する主プログラムの中で呼出されるべきサブル
ーチンとして実現される。圧縮装置のサブルーチンは、
基礎になっている計算機のワードの大きさに関係のない
任意の長さで密に積められた記号の配列(アレイ)につ
いて取る動作と置く動作をそれぞれ行うIBITSGお
よびIBITSPという名の文字操作サブプログラムを
用いる。IBITSGおよびIBITSPサブプログラ
ムは、それぞれ等しい大きさの記号の直線配列の指定さ
れた位置にある選択されたビット長の一つの記号をそれ
ぞれ取ったり、置いたりする。IBITSGは、圧縮装
置および伸長装置サブルーチンにおいて用いるための機
能サブルプログラムとして実現され、IBITSPは、
圧縮装置および伸長装置サブルーチンの実行において呼
び出されるべきサブルーチン・サブプログラムとして実
現される。表3および表4は、それぞれIBITSGお
よびIBITSPを示す。これらのサブプログラムは、
一例として与えられたものであって、等価なサブプログ
ラムが通常の熟練した計算機プログラマによって容易に
作られる。
【0172】
【表1】
【0173】
【表2】
【0174】
【表3】
【0175】
【表4】
【0176】表1および表2にそれぞれ示した圧縮装置
および伸長装置のサブルーチンは、それぞれCOMPお
よびDECOMPという名称である。COMPサブルー
チンは、9ビット文字信号のストリングを12ビット符
号記号信号に圧縮し、DECOMPサブルーチンは、1
2ビット符号記号信号を9ビット文字信号のストリング
に伸長する。例示したサブルーチンは、36ビットワー
ド長を有する計算機を用いる。これらのサブルーチン
は、32ビット計算機を用いて8ビット文字で動作する
ように容易に変換される。COMPおよびDECOMP
は、サブルーチンとして構成されるけれども、それらは
当然別々のプログラムとして等価に構成できる可能性の
あることがわかる。FORTRANがこれらのルーチン
を実施するために用いられるが、他の等価なプログラム
言語を同じ効果に用いることができるであろう。
および伸長装置のサブルーチンは、それぞれCOMPお
よびDECOMPという名称である。COMPサブルー
チンは、9ビット文字信号のストリングを12ビット符
号記号信号に圧縮し、DECOMPサブルーチンは、1
2ビット符号記号信号を9ビット文字信号のストリング
に伸長する。例示したサブルーチンは、36ビットワー
ド長を有する計算機を用いる。これらのサブルーチン
は、32ビット計算機を用いて8ビット文字で動作する
ように容易に変換される。COMPおよびDECOMP
は、サブルーチンとして構成されるけれども、それらは
当然別々のプログラムとして等価に構成できる可能性の
あることがわかる。FORTRANがこれらのルーチン
を実施するために用いられるが、他の等価なプログラム
言語を同じ効果に用いることができるであろう。
【0177】さて、表1を参照すると、COMP(IB
UFA,NA,IBUFB,NB)サブルーチンが示さ
れている。COMPサブルーチンは、配列IBUFAに
含まれたNA個の9ビット文字のブロックについてデー
タ圧縮を行う。COMPは、配列IBUFBの中のNB
個の12ビット記号で構成された圧縮符号を作る。
UFA,NA,IBUFB,NB)サブルーチンが示さ
れている。COMPサブルーチンは、配列IBUFAに
含まれたNA個の9ビット文字のブロックについてデー
タ圧縮を行う。COMPは、配列IBUFBの中のNB
個の12ビット記号で構成された圧縮符号を作る。
【0178】COMPは、圧縮装置ストリング・テーブ
ルを記憶するための4096整数配列ITABLEを内
部的に用いる。従って、表1の文14は、ITABLE
配列の寸法を決める。ITABLEの中の各記憶場所
は、そのテーブル内のアドレスに等しい圧縮符号をもつ
遭遇した文字ストリングに対応する。このインプリメン
テーションにおいては、FORTRANがゼロを基準と
した配列を支持しないので、アドレスを作るのに1をそ
の符号に加える。一つのストリングを記憶する各テーブ
ル記憶場所は、そのストリングの接続部の符号を含む。
ストリング・テーブルは、空であるように初期設定され
る。ITABLEの空状態は、値512をもつIFIL
Lという空白記号でテーブルを埋めることよって行わ
れ、値512は、どのストリングに対しても用いられる
ものではない任意の選択された符号値である。表1の文
15は、IFILLの量を限定する。従って、IFIL
Lは、値2B をもっている(この実施例において、B
は、9である)ことがわかる。表1の実施例は、文16
によって1を含むように確立されて、初期設定された内
部文字計数器NCHAを用いる。NCHA計数器は、読
出されるべき次の入力文字のインデックスを与える。表
1の圧縮装置はまた、FORTRAN文17によって定
義されて、1に初期設定される内部出力記号計数器NB
を用いる。記号計数器NBは、発生されるべき次の出力
記号のインデックスを与える。FORTRAN文18お
よび19は、4096の記憶場所すべてにIFILLを
挿入することによってすべての空白値を含むようにスト
リング・テーブルを初期設定する。ITABLEの最初
の513記憶場所は、決して呼出されないので、これら
の記憶場所は、初期設定を必要としない。これらの記憶
場所の初期設定は、初期設定を行う時間を節約したい場
合に省略できる。
ルを記憶するための4096整数配列ITABLEを内
部的に用いる。従って、表1の文14は、ITABLE
配列の寸法を決める。ITABLEの中の各記憶場所
は、そのテーブル内のアドレスに等しい圧縮符号をもつ
遭遇した文字ストリングに対応する。このインプリメン
テーションにおいては、FORTRANがゼロを基準と
した配列を支持しないので、アドレスを作るのに1をそ
の符号に加える。一つのストリングを記憶する各テーブ
ル記憶場所は、そのストリングの接続部の符号を含む。
ストリング・テーブルは、空であるように初期設定され
る。ITABLEの空状態は、値512をもつIFIL
Lという空白記号でテーブルを埋めることよって行わ
れ、値512は、どのストリングに対しても用いられる
ものではない任意の選択された符号値である。表1の文
15は、IFILLの量を限定する。従って、IFIL
Lは、値2B をもっている(この実施例において、B
は、9である)ことがわかる。表1の実施例は、文16
によって1を含むように確立されて、初期設定された内
部文字計数器NCHAを用いる。NCHA計数器は、読
出されるべき次の入力文字のインデックスを与える。表
1の圧縮装置はまた、FORTRAN文17によって定
義されて、1に初期設定される内部出力記号計数器NB
を用いる。記号計数器NBは、発生されるべき次の出力
記号のインデックスを与える。FORTRAN文18お
よび19は、4096の記憶場所すべてにIFILLを
挿入することによってすべての空白値を含むようにスト
リング・テーブルを初期設定する。ITABLEの最初
の513記憶場所は、決して呼出されないので、これら
の記憶場所は、初期設定を必要としない。これらの記憶
場所の初期設定は、初期設定を行う時間を節約したい場
合に省略できる。
【0179】最初の文字は、最初の文字1からの9ビッ
トをIBUFAから検索するIBITSG機能を用いて
FORTRAN文20によって読出される。この入力文
字は、文20において、変数NODENOにその値を記
憶することによってその文字の値に等しいあらかじめ割
当てられた単一文字ストリング符号値に変換される。変
数NODENOは、既に読出された文字のどの部分的入
力ストリングに対してもその符号値を含むように用いら
れる。表1の文16〜20によって、1ブロックのデー
タを処理するための初期設定およびその過程の開始を完
了する。
トをIBUFAから検索するIBITSG機能を用いて
FORTRAN文20によって読出される。この入力文
字は、文20において、変数NODENOにその値を記
憶することによってその文字の値に等しいあらかじめ割
当てられた単一文字ストリング符号値に変換される。変
数NODENOは、既に読出された文字のどの部分的入
力ストリングに対してもその符号値を含むように用いら
れる。表1の文16〜20によって、1ブロックのデー
タを処理するための初期設定およびその過程の開始を完
了する。
【0180】表1の文21は、各新しい入力文字が読出
される主処理ループへの入り口を与える。文21は、そ
れへの飛び越し(ジャンプ)を行うためのラベル100
を備えている。文字インデックス計数器NCHAは、文
21で増分される。文22は、NCHAが入力パラメー
タNAより大きいかどうかを決定し、NCHAがNAを
超えていれば、すべての入力文字は、使い果たされたの
であって、データブロック終了処理のための文40へジ
ャンプが行われる。文40は、そのジャンプを行うため
のラベル400を備えている。
される主処理ループへの入り口を与える。文21は、そ
れへの飛び越し(ジャンプ)を行うためのラベル100
を備えている。文字インデックス計数器NCHAは、文
21で増分される。文22は、NCHAが入力パラメー
タNAより大きいかどうかを決定し、NCHAがNAを
超えていれば、すべての入力文字は、使い果たされたの
であって、データブロック終了処理のための文40へジ
ャンプが行われる。文40は、そのジャンプを行うため
のラベル400を備えている。
【0181】正常の状況においては、新しい文字が使用
できるとき、文23は、NCHA番目の9ビット文字を
入力バッファIBUFAからNOWCHRという名の変
数に読み込むためのIBITSG機能サブプログラムを
用いる。文24は、NOWCHRの中の値およびNOD
ENOの中の値、すなわちNOWCHR内の文字によっ
て拡張されたNODENOの中の符号によって定められ
るストリングのハッシュアドレスLOCを計算するため
の前のストリング符号を用いる。文24の中で述べられ
たハッシュ関数は、文字の値は、ビットが逆でないこと
以外、図2に関して上に述べたものと同じである。前述
のハードウェア実施例においては文字の値を1ビットず
つ逆にすることが便利であるけれども、ソフトウェアで
文字の値を1ビットずつ逆にするのは不便である。な
お、文24のハッシュ関数は、FORTRANがゼロベ
ースの配列(アレイ)を支持しないので、LOCの値が
アドレスを作るのにそれに1を加えられている点でハー
ドウェア実施例において用いられたハッシュ関数と異な
る。この最初のハッシュアドレスを発生したのち、計数
器の変数Nが、LOCの中の値がテーブルの中のN個の
可能な探索サイトの最初のものであるということを示す
文25によって限定されて、1に初期設定される。本実
施例においては、Nは7として選択される。
できるとき、文23は、NCHA番目の9ビット文字を
入力バッファIBUFAからNOWCHRという名の変
数に読み込むためのIBITSG機能サブプログラムを
用いる。文24は、NOWCHRの中の値およびNOD
ENOの中の値、すなわちNOWCHR内の文字によっ
て拡張されたNODENOの中の符号によって定められ
るストリングのハッシュアドレスLOCを計算するため
の前のストリング符号を用いる。文24の中で述べられ
たハッシュ関数は、文字の値は、ビットが逆でないこと
以外、図2に関して上に述べたものと同じである。前述
のハードウェア実施例においては文字の値を1ビットず
つ逆にすることが便利であるけれども、ソフトウェアで
文字の値を1ビットずつ逆にするのは不便である。な
お、文24のハッシュ関数は、FORTRANがゼロベ
ースの配列(アレイ)を支持しないので、LOCの値が
アドレスを作るのにそれに1を加えられている点でハー
ドウェア実施例において用いられたハッシュ関数と異な
る。この最初のハッシュアドレスを発生したのち、計数
器の変数Nが、LOCの中の値がテーブルの中のN個の
可能な探索サイトの最初のものであるということを示す
文25によって限定されて、1に初期設定される。本実
施例においては、Nは7として選択される。
【0182】表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を変数NOD
ENOにおいて記憶することによってこの新しいストリ
ングを前のストリングに変換する。次に、文29は、も
う一つの入力文字を読出して、ストリング拡張処理を繰
返すために文21に戻る転送を行う。
るテーブル探索ループへの入口を与える。文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を変数NOD
ENOにおいて記憶することによってこの新しいストリ
ングを前のストリングに変換する。次に、文29は、も
う一つの入力文字を読出して、ストリング拡張処理を繰
返すために文21に戻る転送を行う。
【0183】文27において、前のITABLE呼出し
が失敗に終わると、文30に割当てられたラベル130
を介して文30に飛び越しが行われる。文30は、記憶
場所LOCが空であるかどうかをその内容の初期値IF
LILに対して等しいことを試験することによって決め
る。その記憶場所が空であれば、求めるべきストリング
は、そのテーブルの中に存在しないと定められて、その
テーブルを更新し、現在のストリングを終了にするため
に飛び越しが文35へ行われる。文35への飛び越し
は、その文に割当てられたラベル200によって行われ
る。しかし、文27および30によって行われた試験が
共に失敗したときには、調べられた最後の記憶場所が一
つのストリングまたは空記憶場所を発見するための7番
目の試みを構成するのでなければ、もう一つの記憶場所
が検査されなければならない。従って、文31は、探索
計数値Nを1だけ増分し、文32は、この次の探索計数
値をそれが7を越しているかどうかを決めるために試験
する。Nがこんどは7を超えていれば、それ以上の探索
が試みられず、そのストリングは、そのテーブルの中に
存在しないと定められて文36への転送が行われる。ラ
ベル300は、飛び越しを行うために文36に割当てら
れている。しかし、Nがまだ7に等しくなければ、求め
るべきストリングに対する探索は、新しいハッシュ・ア
ドレスにおいて続けられる。文33は、試験されたばか
りのノード番号へ加えられる接頭部ストリング・ノード
番号から新しいハッシュ・アドレスを計算する。テーブ
ル長を保つために加算が4096を法として(モジュロ
4096)行われる。この新しいノード番号は、またF
ORTRAN適法記憶場所LOCを与えるために1だけ
増やされる。新しいハッシュ・アドレスが計算される
と、文34は、新しいアドレスに関する探索手順を行う
ために文26への転送をラベル120を介して行う。
が失敗に終わると、文30に割当てられたラベル130
を介して文30に飛び越しが行われる。文30は、記憶
場所LOCが空であるかどうかをその内容の初期値IF
LILに対して等しいことを試験することによって決め
る。その記憶場所が空であれば、求めるべきストリング
は、そのテーブルの中に存在しないと定められて、その
テーブルを更新し、現在のストリングを終了にするため
に飛び越しが文35へ行われる。文35への飛び越し
は、その文に割当てられたラベル200によって行われ
る。しかし、文27および30によって行われた試験が
共に失敗したときには、調べられた最後の記憶場所が一
つのストリングまたは空記憶場所を発見するための7番
目の試みを構成するのでなければ、もう一つの記憶場所
が検査されなければならない。従って、文31は、探索
計数値Nを1だけ増分し、文32は、この次の探索計数
値をそれが7を越しているかどうかを決めるために試験
する。Nがこんどは7を超えていれば、それ以上の探索
が試みられず、そのストリングは、そのテーブルの中に
存在しないと定められて文36への転送が行われる。ラ
ベル300は、飛び越しを行うために文36に割当てら
れている。しかし、Nがまだ7に等しくなければ、求め
るべきストリングに対する探索は、新しいハッシュ・ア
ドレスにおいて続けられる。文33は、試験されたばか
りのノード番号へ加えられる接頭部ストリング・ノード
番号から新しいハッシュ・アドレスを計算する。テーブ
ル長を保つために加算が4096を法として(モジュロ
4096)行われる。この新しいノード番号は、またF
ORTRAN適法記憶場所LOCを与えるために1だけ
増やされる。新しいハッシュ・アドレスが計算される
と、文34は、新しいアドレスに関する探索手順を行う
ために文26への転送をラベル120を介して行う。
【0184】文35は、空記憶場所に遭遇したときに文
30が転送を行った転送先のプログラム内の状態を切分
ける。ストリング・テーブルは、こんどは、空記憶場所
において、観察されたばかりであるがまだテーブルの中
に入っていない拡張ストリングを入れることによって更
新される。文35は、NODENOの中に記憶された接
頭部ノード番号を空記憶場所に書込むことによって更新
を行い、それによりその記憶場所のアドレスを新しいス
トリングの圧縮符号記号として割当てる。そのあとで、
ストリングの処理の終りが文36〜38によって行われ
る。文36は、IBITSPを呼出してNODENOの
中の現在のノード番号を出力バッファIBUFBにその
バッファ内のNB番目の12ビット記憶場所にある12
ビット符号として置く。次に、文37は、伝送されたば
かりのストリングの中に含まれていなかった最後に受け
た入力文字を符号番号に変換して、次のストリング探索
の始めを与える。その文字信号は、NOWCHRの中の
値をNODENOに転送することによって符号信号にな
る。次に、文38は、出力記号計数NBを1だけ増分し
て開始したばかりのストリングに出力1を与え、文39
は、ラベル100を介して文21に戻り転送し、もう一
つ入力文字信号を取出して、主反復ループを行う。
30が転送を行った転送先のプログラム内の状態を切分
ける。ストリング・テーブルは、こんどは、空記憶場所
において、観察されたばかりであるがまだテーブルの中
に入っていない拡張ストリングを入れることによって更
新される。文35は、NODENOの中に記憶された接
頭部ノード番号を空記憶場所に書込むことによって更新
を行い、それによりその記憶場所のアドレスを新しいス
トリングの圧縮符号記号として割当てる。そのあとで、
ストリングの処理の終りが文36〜38によって行われ
る。文36は、IBITSPを呼出してNODENOの
中の現在のノード番号を出力バッファIBUFBにその
バッファ内のNB番目の12ビット記憶場所にある12
ビット符号として置く。次に、文37は、伝送されたば
かりのストリングの中に含まれていなかった最後に受け
た入力文字を符号番号に変換して、次のストリング探索
の始めを与える。その文字信号は、NOWCHRの中の
値をNODENOに転送することによって符号信号にな
る。次に、文38は、出力記号計数NBを1だけ増分し
て開始したばかりのストリングに出力1を与え、文39
は、ラベル100を介して文21に戻り転送し、もう一
つ入力文字信号を取出して、主反復ループを行う。
【0185】文40は、現在のデータ・ブロック内のす
べての入力文字を処理したプログラムの中の状態を切り
分ける。従って、文40は、IBITSPを呼出し最後
の部分ストリングを示すNODENO内の最後の12ビ
ット符号値を出力バッファIBUFBのNB番目の位置
に置く。次に、文41は、入力バッファIBUFA内に
含まれたNA文字信号のデータ・ブロックを圧縮するた
めに表1のサブルーチンCOMPを呼出した主プログラ
ムに制御を戻す。
べての入力文字を処理したプログラムの中の状態を切り
分ける。従って、文40は、IBITSPを呼出し最後
の部分ストリングを示すNODENO内の最後の12ビ
ット符号値を出力バッファIBUFBのNB番目の位置
に置く。次に、文41は、入力バッファIBUFA内に
含まれたNA文字信号のデータ・ブロックを圧縮するた
めに表1のサブルーチンCOMPを呼出した主プログラ
ムに制御を戻す。
【0186】表2を参照すると、バッファIBUFBの
中に受け入れられたNB個の12ビット圧縮符号記号信
号のブロックについて伸長を行い、結果として生じた回
復された9ビットの文字信号を出力バッファIBUFA
に詰めて、結果として生じた文字の数の計数NAを戻す
伸長サブルーチンDECOMP(IBUFB、NB.I
BUFA、NA)が示されている。
中に受け入れられたNB個の12ビット圧縮符号記号信
号のブロックについて伸長を行い、結果として生じた回
復された9ビットの文字信号を出力バッファIBUFA
に詰めて、結果として生じた文字の数の計数NAを戻す
伸長サブルーチンDECOMP(IBUFB、NB.I
BUFA、NA)が示されている。
【0187】表1ないし表4に関して説明した本発明の
実施例は、FORTRANプログラミング言語で与えら
れた圧縮および伸長サブルーチンとして例示されたが、
その圧縮および伸長サブルーチンは、当然に主プログラ
ムとしてフォーマットを作ることができた。これらのプ
ログラムは、例えばコンピュータまたはマイクロプロセ
ッサにおいて、ソフトウェアとして用いることができる
し、または、例えば、磁気ディスクまたはテープの制御
装置の入出力電子回路において用いるためのROMチッ
プの形でファームウェアとして構成してもよい。なお、
FORTRAN以外のプログラミング言語を用いること
もできるし、または同じ言語または他の言語における他
のプログラムコーディングを、ここで説明した機能を行
うのに用いて、本発明のデータ信号圧縮および伸長の諸
手順を実施することもできる。
実施例は、FORTRANプログラミング言語で与えら
れた圧縮および伸長サブルーチンとして例示されたが、
その圧縮および伸長サブルーチンは、当然に主プログラ
ムとしてフォーマットを作ることができた。これらのプ
ログラムは、例えばコンピュータまたはマイクロプロセ
ッサにおいて、ソフトウェアとして用いることができる
し、または、例えば、磁気ディスクまたはテープの制御
装置の入出力電子回路において用いるためのROMチッ
プの形でファームウェアとして構成してもよい。なお、
FORTRAN以外のプログラミング言語を用いること
もできるし、または同じ言語または他の言語における他
のプログラムコーディングを、ここで説明した機能を行
うのに用いて、本発明のデータ信号圧縮および伸長の諸
手順を実施することもできる。
【0188】マイクロプロセッサまたは他の形式のコン
ピュータのプログラム格納式のものが、ここで説明した
能力と技術の1実施例を、すなわち、基本的データ操作
の選択および状態順序づけ制御インプリメンテーション
の選択における以外は、ここで述べたデジタル論理式の
ものと区別できない実施例を与えることが分る。汎用コ
ンピュータにおける標準化されたデータ操作の動作を、
ワイヤおよび論理ゲートの形でなく再書込みできる記憶
装置に記憶されたものとしての容易に変更された形式の
制御ロジックと共に作ることの経済性によって、実行速
度のある程度の相対的低下で特定の適用業務に対して経
済的に作ることができ、さ細な方法で経済的に製造で
き、かつ迅速に変更できる実施例を提案できる。
ピュータのプログラム格納式のものが、ここで説明した
能力と技術の1実施例を、すなわち、基本的データ操作
の選択および状態順序づけ制御インプリメンテーション
の選択における以外は、ここで述べたデジタル論理式の
ものと区別できない実施例を与えることが分る。汎用コ
ンピュータにおける標準化されたデータ操作の動作を、
ワイヤおよび論理ゲートの形でなく再書込みできる記憶
装置に記憶されたものとしての容易に変更された形式の
制御ロジックと共に作ることの経済性によって、実行速
度のある程度の相対的低下で特定の適用業務に対して経
済的に作ることができ、さ細な方法で経済的に製造で
き、かつ迅速に変更できる実施例を提案できる。
【0189】本発明のハードウェア実施例に関する上述
のハッシュ関数は、20ビットの項目(12の符号ビッ
トと8の文字ビット)を含む符号、文字タプルを12ビ
ット・アドレス・スペースにマップする。ソフトウェア
実施例に関して用いられたハッシュ関数は、21ビット
項目(12符号ビットと9文字ビット)を21ビット・
アドレス・スペースにマップする。20ビットの値およ
び21ビットの値のすべてが起こるわけではないので、
そのようなハッシュ関数を用いることができる。上述の
ハッシュ関数を前に述べた基準を満たすように設計し
た。なお、このハッシュ関数は、その諸仮定から生ずる
撞着を最小にするように設計され、第1には、幾つかの
個々の入力文字がほかのものよりより頻繁に用いられ、
低い番号の文字が頻繁に使われ易く、そして、第2に
は、幾つかの符号が他のものよりより頻繁に用いられ、
早期に生ずる符号が最も頻繁に用いられるであろう。上
述のものに代るハッシュ関数は、符号の左5ビットを回
転することによって最初のハッシュアドレスを発生し、
その文字ビットに排他的論理和演算を施して回転された
符号の高位ビットにすることにより実施できる。三つの
順次のアドレスが前の12ビット・ハッシュ・アドレス
にモジュロ4096を加えることによって発生され、新
しい12ビット番号が終端間で反転され、かつ結果とし
て生じた番号の最下位ビットを1に強制して左3ビット
を回転した符号番号を含んでいる。
のハッシュ関数は、20ビットの項目(12の符号ビッ
トと8の文字ビット)を含む符号、文字タプルを12ビ
ット・アドレス・スペースにマップする。ソフトウェア
実施例に関して用いられたハッシュ関数は、21ビット
項目(12符号ビットと9文字ビット)を21ビット・
アドレス・スペースにマップする。20ビットの値およ
び21ビットの値のすべてが起こるわけではないので、
そのようなハッシュ関数を用いることができる。上述の
ハッシュ関数を前に述べた基準を満たすように設計し
た。なお、このハッシュ関数は、その諸仮定から生ずる
撞着を最小にするように設計され、第1には、幾つかの
個々の入力文字がほかのものよりより頻繁に用いられ、
低い番号の文字が頻繁に使われ易く、そして、第2に
は、幾つかの符号が他のものよりより頻繁に用いられ、
早期に生ずる符号が最も頻繁に用いられるであろう。上
述のものに代るハッシュ関数は、符号の左5ビットを回
転することによって最初のハッシュアドレスを発生し、
その文字ビットに排他的論理和演算を施して回転された
符号の高位ビットにすることにより実施できる。三つの
順次のアドレスが前の12ビット・ハッシュ・アドレス
にモジュロ4096を加えることによって発生され、新
しい12ビット番号が終端間で反転され、かつ結果とし
て生じた番号の最下位ビットを1に強制して左3ビット
を回転した符号番号を含んでいる。
【0190】図2および図3に関して説明した本発明の
実施例は、本発明の代りの実施例を与えるために上述の
ものと異なる組合わせで結合できる種々の随意選択的技
術を用いる。図2の圧縮装置は、単一文字ストリングの
すべてでストリング・テーブルを初期設定するが、一方
図3の圧縮装置は、ゼロストリングだけでストリング・
テーブルを初期設定する。図2については、単一文字ス
トリングの初期設定を単一文字そのものをこれらのスト
リングの符号番号として用い、2B より大きいアドレス
に対してのみストリング・テーブルにアクセスすること
を可能にすることによって行われる。圧縮されるべき文
字のすべては、Bビット・バイトであるから、全ての文
字は、2B より小さな値をもっている。従って、2B よ
り小さい符号値をもつ単一文字ストリングが図2の圧縮
装置によってストリング・テーブルのアクセスなしで伝
送される。図3の圧縮装置は、ゼロストリングだけでテ
ーブル初期設定を行うのであって、それのストリング・
テーブルをゼロないし2C−1のすべてのアドレスで呼
出す。従って、図3の圧縮装置の実施例においては、単
一文字ストリングが、受けた文字を符号番号ゼロでハッ
シュして、結果として生じたハッシュ・アドレスにある
ゼロのストリング接頭部符号を入れることによってスト
リング・テーブルに入れられる。
実施例は、本発明の代りの実施例を与えるために上述の
ものと異なる組合わせで結合できる種々の随意選択的技
術を用いる。図2の圧縮装置は、単一文字ストリングの
すべてでストリング・テーブルを初期設定するが、一方
図3の圧縮装置は、ゼロストリングだけでストリング・
テーブルを初期設定する。図2については、単一文字ス
トリングの初期設定を単一文字そのものをこれらのスト
リングの符号番号として用い、2B より大きいアドレス
に対してのみストリング・テーブルにアクセスすること
を可能にすることによって行われる。圧縮されるべき文
字のすべては、Bビット・バイトであるから、全ての文
字は、2B より小さな値をもっている。従って、2B よ
り小さい符号値をもつ単一文字ストリングが図2の圧縮
装置によってストリング・テーブルのアクセスなしで伝
送される。図3の圧縮装置は、ゼロストリングだけでテ
ーブル初期設定を行うのであって、それのストリング・
テーブルをゼロないし2C−1のすべてのアドレスで呼
出す。従って、図3の圧縮装置の実施例においては、単
一文字ストリングが、受けた文字を符号番号ゼロでハッ
シュして、結果として生じたハッシュ・アドレスにある
ゼロのストリング接頭部符号を入れることによってスト
リング・テーブルに入れられる。
【0191】このほかの変形例としては、図2の圧縮装
置は、ストリングのハッシュ・テーブル・アドレスをそ
れのストリング符号記号信号として割当てるが、一方、
図3の圧縮装置は、新ストリング・エントリーが作られ
るストリング符号記号信号を各ストリングに逐次に割当
てる。
置は、ストリングのハッシュ・テーブル・アドレスをそ
れのストリング符号記号信号として割当てるが、一方、
図3の圧縮装置は、新ストリング・エントリーが作られ
るストリング符号記号信号を各ストリングに逐次に割当
てる。
【0192】なお別の変形例としては、図2の圧縮装置
は、固定長符号値を各ストリングに割当てるが、一方、
図3の圧縮装置は、可変する長さの符号記号を各ストリ
ングに割当てる。図2の実施例において、固定長はCビ
ットの全アドレス長であるが、一方図3の実施例におい
ては圧縮符号記号の長さはCビットの長さが得られるま
でデータブロックの処理の間増える。
は、固定長符号値を各ストリングに割当てるが、一方、
図3の圧縮装置は、可変する長さの符号記号を各ストリ
ングに割当てる。図2の実施例において、固定長はCビ
ットの全アドレス長であるが、一方図3の実施例におい
ては圧縮符号記号の長さはCビットの長さが得られるま
でデータブロックの処理の間増える。
【0193】前述のように、各変形例は、図2および図
3に開示された実施例において実施される。当業者がこ
れらの変形例を別途組合せて本発明の範囲内で追加の実
施例を作ることができる。上述の四つの変形例の各々
は、二つの可能性をもっているので、16の別々の実施
例を構成できる。例えば図3の圧縮装置に関して、逐次
割当てストリング符号をCビットの固定長出力として伝
送できる。その場合、符号大きさ回路123を除去でき
る。そのような圧縮装置においてストリング・テーブル
をゼロストリングだけで初期設定する変形例が組入れら
れると(図3で説明したように)、図3の圧縮装置のシ
フト回路網118を用いてオールゼロの空白符号の伝送
に続くBビット・バイトと同様に固定長Cビット圧縮符
号信号を伝送するのに用いることができる。しかし、図
3の圧縮装置を上述のように固定長符号の変形例を含む
ように変更し、さらにすべての単一符号のストリングを
使うストリング・テーブル初期設定を用いるように変更
するとすれば、図3の圧縮装置のシフト回路網118を
符号番号レジスタ119からバス120を通して与えら
れる出力と共に除去することになろう。さらに、図3の
符号計数器121をストリング・テーブル初期設定が行
われたのちに、2B にセットすることになる。なお、符
号レジスタ116からの図3のバス117は、Bビット
文字をレジスタ119の最下位位置に挿入するために符
号番号レジスタ119に加えることになろう。レジスタ
119のC−Bの最上上位位置をゼロにセットすること
になろう。図3の圧縮装置に対する上述の変更は、圧縮
効率を犠牲にして性能を向上させることになろう。
3に開示された実施例において実施される。当業者がこ
れらの変形例を別途組合せて本発明の範囲内で追加の実
施例を作ることができる。上述の四つの変形例の各々
は、二つの可能性をもっているので、16の別々の実施
例を構成できる。例えば図3の圧縮装置に関して、逐次
割当てストリング符号をCビットの固定長出力として伝
送できる。その場合、符号大きさ回路123を除去でき
る。そのような圧縮装置においてストリング・テーブル
をゼロストリングだけで初期設定する変形例が組入れら
れると(図3で説明したように)、図3の圧縮装置のシ
フト回路網118を用いてオールゼロの空白符号の伝送
に続くBビット・バイトと同様に固定長Cビット圧縮符
号信号を伝送するのに用いることができる。しかし、図
3の圧縮装置を上述のように固定長符号の変形例を含む
ように変更し、さらにすべての単一符号のストリングを
使うストリング・テーブル初期設定を用いるように変更
するとすれば、図3の圧縮装置のシフト回路網118を
符号番号レジスタ119からバス120を通して与えら
れる出力と共に除去することになろう。さらに、図3の
符号計数器121をストリング・テーブル初期設定が行
われたのちに、2B にセットすることになる。なお、符
号レジスタ116からの図3のバス117は、Bビット
文字をレジスタ119の最下位位置に挿入するために符
号番号レジスタ119に加えることになろう。レジスタ
119のC−Bの最上上位位置をゼロにセットすること
になろう。図3の圧縮装置に対する上述の変更は、圧縮
効率を犠牲にして性能を向上させることになろう。
【0194】上述のことから、変更された図3のレジス
タ116および119とそれらの動作との間の関係は、
図2のレジスタ17および19とその動作との間の関係
と同一であることが分る。なお、すべての単一文字スト
リングを使ったテーブル初期設定を用いる変更された実
施例においては、図3の比較器134へのゼロの値をも
った入力は、用いられない。初めて遭遇する文字の単一
符号ストリングを含む単一文字のストリングは、新しく
遭遇した文字に対して、新しい文字に先立つオールゼロ
の空白符号信号を伝送するのではなく、図2に関して述
べたものと同一の方法で伝送される。
タ116および119とそれらの動作との間の関係は、
図2のレジスタ17および19とその動作との間の関係
と同一であることが分る。なお、すべての単一文字スト
リングを使ったテーブル初期設定を用いる変更された実
施例においては、図3の比較器134へのゼロの値をも
った入力は、用いられない。初めて遭遇する文字の単一
符号ストリングを含む単一文字のストリングは、新しく
遭遇した文字に対して、新しい文字に先立つオールゼロ
の空白符号信号を伝送するのではなく、図2に関して述
べたものと同一の方法で伝送される。
【0195】単一文字のストリングのすべてでストリン
グ・テーブルを初期設定し、新しいストリング・エント
リーが作られるとき、ストリング符号記号を逐次に割当
て、そして変化する長さの圧縮符号信号を伝送する圧縮
装置の実施例を作りたい場合は、図3の装置をそれ相応
に変更できる。図3の圧縮装置は、ストリング・テーブ
ルの初期設定が行われたのちに、符号計数器121を2
B にセットすることによって変更できる。なお、文字レ
ジスタ116からの図3のバス117は、上述のように
符号番号レジスタ119へ加えられる。
グ・テーブルを初期設定し、新しいストリング・エント
リーが作られるとき、ストリング符号記号を逐次に割当
て、そして変化する長さの圧縮符号信号を伝送する圧縮
装置の実施例を作りたい場合は、図3の装置をそれ相応
に変更できる。図3の圧縮装置は、ストリング・テーブ
ルの初期設定が行われたのちに、符号計数器121を2
B にセットすることによって変更できる。なお、文字レ
ジスタ116からの図3のバス117は、上述のように
符号番号レジスタ119へ加えられる。
【0196】空白ストリングだけでストリング・テーブ
ルを初期設定するように図2の圧縮装置の実施例を変更
したい場合、比較器26は空白符号および空符号に等し
いハッシュ関数アドレスを放棄するように変更される。
なお、比較器32は、文字レジスタ17の中のBビット
文字を空白符号の伝送のあとに伝送すべきかどうかを決
定するために符号番号レジスタ19の中の値をゼロと比
較するように変更される。Bビット文字をゼロを満たさ
れたCビット文字として伝送できるし、またはその代り
にシフト回路網機構を前述のものと同様に用いることも
できる。
ルを初期設定するように図2の圧縮装置の実施例を変更
したい場合、比較器26は空白符号および空符号に等し
いハッシュ関数アドレスを放棄するように変更される。
なお、比較器32は、文字レジスタ17の中のBビット
文字を空白符号の伝送のあとに伝送すべきかどうかを決
定するために符号番号レジスタ19の中の値をゼロと比
較するように変更される。Bビット文字をゼロを満たさ
れたCビット文字として伝送できるし、またはその代り
にシフト回路網機構を前述のものと同様に用いることも
できる。
【0197】上述のことから図2の実施例は、圧縮効率
を犠牲にして最高性能を与えることがわかるであろう。
なお、図3の実施例は、性能を犠牲にして最高圧縮を与
える。各変形例、すなわち、全ての単一文字ストリング
を用いてのテーブル初期設定;新しいストリングを作る
とき逐次に割当てられるストリング符号記号;固定長符
号値を伝送すること;および後入れ先出しスタックを用
いるストリング反転、を組合わせる上述の変更は応用業
務に従って好ましい実施例を与えることのできる最高性
能と最高圧縮との間の中間のものである。
を犠牲にして最高性能を与えることがわかるであろう。
なお、図3の実施例は、性能を犠牲にして最高圧縮を与
える。各変形例、すなわち、全ての単一文字ストリング
を用いてのテーブル初期設定;新しいストリングを作る
とき逐次に割当てられるストリング符号記号;固定長符
号値を伝送すること;および後入れ先出しスタックを用
いるストリング反転、を組合わせる上述の変更は応用業
務に従って好ましい実施例を与えることのできる最高性
能と最高圧縮との間の中間のものである。
【0198】上述のように、表1〜表4は図2の最高性
能ハードウェア実施例の各変形例を用いる本発明のプロ
グラム格納式コンピュータの実施例を示す。本発明の種
々のソフトウェア実施例は、上述の各変形例の種々の組
合せを通常の熟練したコンピュータ・プログラマによっ
て普通に与えられるそのためのプログラムコーディング
と共に用いることによって提供することができる。
能ハードウェア実施例の各変形例を用いる本発明のプロ
グラム格納式コンピュータの実施例を示す。本発明の種
々のソフトウェア実施例は、上述の各変形例の種々の組
合せを通常の熟練したコンピュータ・プログラマによっ
て普通に与えられるそのためのプログラムコーディング
と共に用いることによって提供することができる。
【0199】まとめると、本発明は入力データの中で観
察された文字のストリングを、多分、圧縮されるべきデ
ータブロックの始めにおいてテーブルを初期設定できる
単一文字ストリングなどのストリングを除いて記憶する
ストリング・テーブルを用いる。それらのストリング
は、各ストリングの記憶されたセットが処理されている
データの統計に適応するようにストリングが入力データ
の文字ストリームの中で観測されるとき、テーブルに動
的に入れられる。X文字の各ストリングは、X−1文字
の接頭部ストリングと一つの拡張文字とを含み、その場
合に接頭部ストリングもまたテーブルの1構成要素であ
る。各ストリングは、一つの符号記号を割当てられ、記
憶されたストリングが入力データ文字ストリームの中で
遭遇されると、遭遇したストリングは、圧縮データの中
のその符号信号によって表される。各ストリングは、ス
トリングの符号記号、接頭部ストリングの符号記号、お
よびストリング拡張文字とによって判然とまたは暗黙裏
に(すなわち、直接にまたは間接的に)、のいずれかで
記憶される。データ文字信号のストリームは、各文字の
ストリングにそのストリームをパースすることによって
処理され、各ストリングは、ストリング・テーブルの中
に既に置かれている。このパーシングは、始めの文字か
ら出発して1度に1文字ずつ分離するデータ文字ストリ
ームの中への唯1回のパスにおいて達成される。各文字
は、拡張されたストリングがストリング・テーブル内に
あるものに一致する場合、前のストリングを拡張するの
に用いられる。そうでなければ、その文字は、新しいス
トリングを開始するのに用いられる。基本的には、圧縮
処理は、入力データストリームの中で各文字が出てきた
とき、以下のように各文字に次々に加えられる循環ステ
ップとして考えてもよい。
察された文字のストリングを、多分、圧縮されるべきデ
ータブロックの始めにおいてテーブルを初期設定できる
単一文字ストリングなどのストリングを除いて記憶する
ストリング・テーブルを用いる。それらのストリング
は、各ストリングの記憶されたセットが処理されている
データの統計に適応するようにストリングが入力データ
の文字ストリームの中で観測されるとき、テーブルに動
的に入れられる。X文字の各ストリングは、X−1文字
の接頭部ストリングと一つの拡張文字とを含み、その場
合に接頭部ストリングもまたテーブルの1構成要素であ
る。各ストリングは、一つの符号記号を割当てられ、記
憶されたストリングが入力データ文字ストリームの中で
遭遇されると、遭遇したストリングは、圧縮データの中
のその符号信号によって表される。各ストリングは、ス
トリングの符号記号、接頭部ストリングの符号記号、お
よびストリング拡張文字とによって判然とまたは暗黙裏
に(すなわち、直接にまたは間接的に)、のいずれかで
記憶される。データ文字信号のストリームは、各文字の
ストリングにそのストリームをパースすることによって
処理され、各ストリングは、ストリング・テーブルの中
に既に置かれている。このパーシングは、始めの文字か
ら出発して1度に1文字ずつ分離するデータ文字ストリ
ームの中への唯1回のパスにおいて達成される。各文字
は、拡張されたストリングがストリング・テーブル内に
あるものに一致する場合、前のストリングを拡張するの
に用いられる。そうでなければ、その文字は、新しいス
トリングを開始するのに用いられる。基本的には、圧縮
処理は、入力データストリームの中で各文字が出てきた
とき、以下のように各文字に次々に加えられる循環ステ
ップとして考えてもよい。
【0200】入力データストリームからのストリングS
がストリング・テーブル内に置かれていたとする。その
入力データ・ストリームの中で次に続く文字cに対し
て、そのテーブルは、拡張ストリングScがその中に存
在するかどうかを決定するために探索される。ストリン
グScがそのテーブルの中に存在すれば、次に続く文字
が試験されてその手続きが再び適用される。拡張ストリ
ングがそのテーブルに存在しなければ、ストリングSに
対する符号記号が圧縮出力として伝送され、ストリング
Scがそのテーブルに入れられる。次に文字cは、次の
ストリングの最初の文字として用いられて、その手続き
は、次に続く入力文字を用いて再び適用される。
がストリング・テーブル内に置かれていたとする。その
入力データ・ストリームの中で次に続く文字cに対し
て、そのテーブルは、拡張ストリングScがその中に存
在するかどうかを決定するために探索される。ストリン
グScがそのテーブルの中に存在すれば、次に続く文字
が試験されてその手続きが再び適用される。拡張ストリ
ングがそのテーブルに存在しなければ、ストリングSに
対する符号記号が圧縮出力として伝送され、ストリング
Scがそのテーブルに入れられる。次に文字cは、次の
ストリングの最初の文字として用いられて、その手続き
は、次に続く入力文字を用いて再び適用される。
【0201】ストリングScに対する探索は、一つのス
トリング・テーブルアドレスを与えるために文字cをス
トリングSに対する符号と組合せることによって行われ
る。拡張ストリングScは、既にそのアドレスの記憶場
所に記憶されていれば、そのストリングScは、そのテ
ーブルの中に存在していることになる。その記憶場所が
空であれば、そのストリングは、そのテーブルの中に存
在しない。その場合には、ストリングSに対する符号記
号が伝送され、ストリングScが空記憶場所に入れられ
る。できれば、文字cとストリングSに対する符号との
組合せが上述の限定探索ハッシュ手順によって行われる
のが好ましい。圧縮の間、圧縮手順の中の1点において
定められた可能なストリングの数がストリングの実際の
数およびある本質的なファクタによる経済的記憶装置の
大きさを超えることになるので、ハッシュ・テーブル機
械化は、あらかじめ割当てられていないストリングを記
憶するのに用いられる。一般的には、ハッシュ・テーブ
ルの各記憶場所が選択された数学的関数によって割当て
られた可能な項目の割当てられたセットを含むことので
きるものがハッシュ・テーブルである。前述の限定探索
ハッシュ・テーブル・プロセスにおいて、各可能なアド
レスが限られた数の記憶アドレスの小さなグループ内で
のみ現れる。この基準は、可能なエントリを探すためま
たはそれがテーブルの中にないことを定めるために必要
な探索の量を限定する。
トリング・テーブルアドレスを与えるために文字cをス
トリングSに対する符号と組合せることによって行われ
る。拡張ストリングScは、既にそのアドレスの記憶場
所に記憶されていれば、そのストリングScは、そのテ
ーブルの中に存在していることになる。その記憶場所が
空であれば、そのストリングは、そのテーブルの中に存
在しない。その場合には、ストリングSに対する符号記
号が伝送され、ストリングScが空記憶場所に入れられ
る。できれば、文字cとストリングSに対する符号との
組合せが上述の限定探索ハッシュ手順によって行われる
のが好ましい。圧縮の間、圧縮手順の中の1点において
定められた可能なストリングの数がストリングの実際の
数およびある本質的なファクタによる経済的記憶装置の
大きさを超えることになるので、ハッシュ・テーブル機
械化は、あらかじめ割当てられていないストリングを記
憶するのに用いられる。一般的には、ハッシュ・テーブ
ルの各記憶場所が選択された数学的関数によって割当て
られた可能な項目の割当てられたセットを含むことので
きるものがハッシュ・テーブルである。前述の限定探索
ハッシュ・テーブル・プロセスにおいて、各可能なアド
レスが限られた数の記憶アドレスの小さなグループ内で
のみ現れる。この基準は、可能なエントリを探すためま
たはそれがテーブルの中にないことを定めるために必要
な探索の量を限定する。
【0202】圧縮の間ストリングが少なくともそれを識
別するためのその接頭部符号を用いて検索される。伸長
の間、ストリングがその符号記号によって直接に識別さ
れる。伸長装置のストリング・テーブルは、各ストリン
グ記憶場所に接頭部ストリング符号および拡張文字を記
憶し、そのストリング記憶場所は、そのストリングに対
する符号によってアドレス指定可能である。従って、入
力符号記号は、接頭部ストリングおよび拡張文字を与え
るテーブル内で探索される。次に接頭部ストリングは新
接頭部ストリングおよび新拡張文字を与えるテーブル内
で探索される。この過程は始めの単一文字ストリングに
出合うまで繰返される。
別するためのその接頭部符号を用いて検索される。伸長
の間、ストリングがその符号記号によって直接に識別さ
れる。伸長装置のストリング・テーブルは、各ストリン
グ記憶場所に接頭部ストリング符号および拡張文字を記
憶し、そのストリング記憶場所は、そのストリングに対
する符号によってアドレス指定可能である。従って、入
力符号記号は、接頭部ストリングおよび拡張文字を与え
るテーブル内で探索される。次に接頭部ストリングは新
接頭部ストリングおよび新拡張文字を与えるテーブル内
で探索される。この過程は始めの単一文字ストリングに
出合うまで繰返される。
【0203】本発明の上述の各実施例において、ハッシ
ュアドレスまたは数が大きくなってゆく次々の値がスト
リングのための圧縮符号記号信号として用いられる。こ
れらの値の矛盾のない変更またはアイソモルフィズムも
またそれらのストリングに対する圧縮符号記号信号とし
て用いることができるとわかる。
ュアドレスまたは数が大きくなってゆく次々の値がスト
リングのための圧縮符号記号信号として用いられる。こ
れらの値の矛盾のない変更またはアイソモルフィズムも
またそれらのストリングに対する圧縮符号記号信号とし
て用いることができるとわかる。
【0204】本発明の上述の実施例の若干の変形を以下
のように容易にわかる設計変更を用いて行うことができ
る。
のように容易にわかる設計変更を用いて行うことができ
る。
【0205】本発明の圧縮装置がディスク装置またはテ
ープ装置のような同期チャネルに圧縮データを与えてい
る場合、その出力速度がバッファリングを最小にするた
めにチャネルの入力速度に一致するように圧縮装置の速
度を増減するのが望ましいことがある。圧縮装置の出力
速度を達成された圧縮比によって制御し、その圧縮比は
遭遇したデータの形式に従って変わる。圧縮装置が高す
ぎる速度で出力記号を作るように、その圧縮装置が圧縮
しにくいデータに遭遇した場合、圧縮装置を入力文字の
間で待機させることによって減速できる。圧縮装置が非
常に圧縮しやすいデータに遭遇するので、それが出力記
号をあまりゆっくり作る場合、その圧縮装置を圧縮装置
の効率を減らすことによってスピードアップできる。こ
れは、出力符号記号を必要とするときは常に、文字スト
リング拡張を中止することによって行われてもよい。従
って、圧縮装置が必要な出力速度を遅くするときは常に
最長マッチより少ないストリングを選ぶことができる。
なお、圧縮有効度は、データブロックの初期部分を処理
するとき低くなり、そのブロックの処理が続くとき増加
する傾向があるので、圧縮符号ストリームの転送を開始
する前に圧縮を始めて圧縮速度の変化を相殺することが
望ましいことがある。この待ち時間損失は、圧縮データ
を圧縮装置から外部装置に書込むときにのみ起こること
がわかる。圧縮データを外部装置から読出すときには、
圧縮データが外部信号源から使用できるようになったら
直ちに伸長を開始できる。
ープ装置のような同期チャネルに圧縮データを与えてい
る場合、その出力速度がバッファリングを最小にするた
めにチャネルの入力速度に一致するように圧縮装置の速
度を増減するのが望ましいことがある。圧縮装置の出力
速度を達成された圧縮比によって制御し、その圧縮比は
遭遇したデータの形式に従って変わる。圧縮装置が高す
ぎる速度で出力記号を作るように、その圧縮装置が圧縮
しにくいデータに遭遇した場合、圧縮装置を入力文字の
間で待機させることによって減速できる。圧縮装置が非
常に圧縮しやすいデータに遭遇するので、それが出力記
号をあまりゆっくり作る場合、その圧縮装置を圧縮装置
の効率を減らすことによってスピードアップできる。こ
れは、出力符号記号を必要とするときは常に、文字スト
リング拡張を中止することによって行われてもよい。従
って、圧縮装置が必要な出力速度を遅くするときは常に
最長マッチより少ないストリングを選ぶことができる。
なお、圧縮有効度は、データブロックの初期部分を処理
するとき低くなり、そのブロックの処理が続くとき増加
する傾向があるので、圧縮符号ストリームの転送を開始
する前に圧縮を始めて圧縮速度の変化を相殺することが
望ましいことがある。この待ち時間損失は、圧縮データ
を圧縮装置から外部装置に書込むときにのみ起こること
がわかる。圧縮データを外部装置から読出すときには、
圧縮データが外部信号源から使用できるようになったら
直ちに伸長を開始できる。
【0206】さらに別の変更が選択された値より小さく
なるようにパースされたストリング長さを制御するため
に圧縮装置の一部分として計数器を用いることを含むこ
とがある。この特徴は、圧縮データの出力速度がさらに
予測しやすくなるように瞬時圧縮比の変動を小さくする
であろう。なお、そのような計数器は、最大ストリング
長さに敏感な伸長装置内の装置の価格を引下げるであろ
う。
なるようにパースされたストリング長さを制御するため
に圧縮装置の一部分として計数器を用いることを含むこ
とがある。この特徴は、圧縮データの出力速度がさらに
予測しやすくなるように瞬時圧縮比の変動を小さくする
であろう。なお、そのような計数器は、最大ストリング
長さに敏感な伸長装置内の装置の価格を引下げるであろ
う。
【0207】本発明のさらに別の変更は、同時にではな
いけれども圧縮および伸長の両方に対して同じハードウ
ェア装置のセットを用いてもよいことである。圧縮およ
び伸長の必要条件の間には、特にRAMについて、同時
性を失ってもよいとき、かなりの価格の節約をこの変更
によって得ることができるという十分な類似性がある。
なお、圧縮を実行する際に連想記憶装置をRAMの代り
に用いることもできよう。そのような変更は、ハッシン
グの必要をなくして制御の複雑さを減らす。
いけれども圧縮および伸長の両方に対して同じハードウ
ェア装置のセットを用いてもよいことである。圧縮およ
び伸長の必要条件の間には、特にRAMについて、同時
性を失ってもよいとき、かなりの価格の節約をこの変更
によって得ることができるという十分な類似性がある。
なお、圧縮を実行する際に連想記憶装置をRAMの代り
に用いることもできよう。そのような変更は、ハッシン
グの必要をなくして制御の複雑さを減らす。
【0208】
【発明の効果】本発明は、非常に様々なデータの種類に
ついて適応性のある可逆データ圧縮をデータ統計または
データ冗長度の形式について前もって何ら知ることなし
に達成する。良好な圧縮比を、最も速い今日の磁気テー
プおよび磁気ディスクデータ記憶装置ならびに最も速い
今日の商用通信リンクと共に用いるのに適する高性能動
作で達成することができる。
ついて適応性のある可逆データ圧縮をデータ統計または
データ冗長度の形式について前もって何ら知ることなし
に達成する。良好な圧縮比を、最も速い今日の磁気テー
プおよび磁気ディスクデータ記憶装置ならびに最も速い
今日の商用通信リンクと共に用いるのに適する高性能動
作で達成することができる。
【図1】データ文字信号のストリームのパースされた部
分の略図である。
分の略図である。
【図2】最高性能を与えるように実施された本発明によ
るデータ圧縮装置の略ブロック図である。
るデータ圧縮装置の略ブロック図である。
【図3】最高圧縮を与えるように実施された本発明によ
るデータ圧縮装置の略ブロック図である。
るデータ圧縮装置の略ブロック図である。
13 制御装置 17 文字レジスタ 19 符号番号レジスタ 23 ハッシュ関数回路 26,32 比較器 28 RAMアドレス・レジスタ 29 RAM 35 初期設定計数器 113 制御装置 116 文字レジスタ 118 シフト回路網 119 符号番号レジスタ 121 符号計数器 123 符号大きさ回路 127 ハッシュ関数回路 130 RAMアドレス・レジスタ 131 RAM 141 初期設定計数器
Claims (48)
- 【請求項1】 データ文字信号のストリームを圧縮され
た符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有し、および該符号信号に対応す
るメモリアドレスにストアされるようになしたアドレス
可能なメモリと、 前記ストリームを前記メモリ内にストアされたストリン
グと比較して、前記データ文字信号ストリームをサーチ
して前記ストリームとの最長一致を決定し、前記最長一
致中のデータ文字信号の個数に応じて1または2以上の
メモリアドレスにアクセスして最長一致を決定する手段
と、 前記最長一致に続く次のデータ文字信号で拡張された前
記データ文字信号ストリームとの最長一致を含む拡張さ
れたストリングを形成する手段と、 前記拡張されたストリングに符号信号を割り当てる手段
と、 前記拡張されたストリングを前記メモリ内の、割り当て
られた符号信号に対応するメモリアドレスにストアする
手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給する手段とを具えたこと
を特徴とする圧縮装置。 - 【請求項2】 最長一致を決定する際に前記サーチする
手段によりアクセスされる各メモリアドレスは、より長
い一致があるか否かを決定するために前記サーチする手
段によって用いられるデータを含むことを特徴とする特
許請求の範囲第1項に記載の装置。 - 【請求項3】 前記サーチする手段によって、アクセス
されたメモリアドレス内にストアされたデータを前記ス
トリームからのデータ文字信号と共に用いて、より長い
一致が存在するときにはそのより長い一致に対応するメ
モリアドレスを決定することを特徴とする特許請求の範
囲第2項に記載の装置。 - 【請求項4】 ストリングを前記メモリに間接的にスト
アすることを特徴とする特許請求の範囲第1項に記載の
装置。 - 【請求項5】 拡張されたストリングは、前記最長一致
の少なくとも表示をストアすることによってメモリアド
レスにストアされることを特徴とする特許請求の範囲第
1項に記載の装置。 - 【請求項6】 前記サーチする手段は、先に定めた最長
一致に続く次のデータ文字信号で始まる次に生じる最長
一致に対するサーチを実行することを特徴とする特許請
求の範囲第1項に記載の装置。 - 【請求項7】 データ文字信号のストリームを圧縮され
た符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 複数の予め定めたストリングを前記ストア手段内に最初
にストアし、前記データ文字信号のストリームの圧縮の
開始前に、ストアされたストリングに対応する符号信号
を前記ストリングに割り当てる手段と、 前記ストリームを該ストア手段内にストアされたストリ
ングと比較することによって、前記データ文字信号のス
トリームをサーチして前記ストリームとの最長一致を決
定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号のストリームを供給する手段とを具えたこ
とを特徴とする圧縮装置。 - 【請求項8】 前記メモリ内に最初にストアされた予め
定めたストリングは単一データ文字信号を含むことを特
徴とする特許請求の範囲第7項に記載の装置。 - 【請求項9】 前記単一データ文字信号はデータ文字の
アルファベットの文字に対応することを特徴とする特許
請求の範囲第8項に記載の装置。 - 【請求項10】 前記アルファベットの文字値に基づい
て、符号信号を前記データ文字のアルファベットに割り
当てられることを特徴とする特許請求の範囲第9項に記
載の装置。 - 【請求項11】 前記データ文字はASCII 文字であり、
および符号信号をASCII 値に基づいて前記ASCII 文字に
割り当てることを特徴とする特許請求の範囲第10項に
記載の装置。 - 【請求項12】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 可変長の符号信号を供給する手段を有し、前記ストアさ
れた拡張されたストリングに対応する符号信号を割り当
てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給する手段とを具えたこと
を特徴とする圧縮装置。 - 【請求項13】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 固定長の符号信号を供給する手段を有し、前記ストアさ
れた拡張されたストリングに対応する符号信号を割り当
てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給する手段とを具えたこと
を特徴とする圧縮装置。 - 【請求項14】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 符号信号を数値の昇順に割り当てる手段を有し、前記ス
トアされた拡張されたストリングに対応する符号信号を
割り当てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給する手段とを具えたこと
を特徴とする圧縮装置。 - 【請求項15】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給する手段とを具え、 前記サーチ手段は、前記データ文字信号のストリームを
繰り返して分析するよう動作して前記ストア手段内にス
トアされたストリングとの最長一致を決め、次の最長一
致のための各サーチは、先行する最長一致に続く次のデ
ータ文字信号で始まることを特徴とする圧縮装置。 - 【請求項16】 前記データ文字信号のストリームの圧
縮が前記データ文字信号のストリームの単一のパスにお
いて達成されることを特徴とする特許請求の範囲第15
項に記載の装置。 - 【請求項17】 前記圧縮装置により行われる圧縮は無
損失であることを特徴とする特許請求の範囲第16項に
記載の装置。 - 【請求項18】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号のストリームを供給する手段と、 前記データ文字信号のストリームのサーチが当該ストリ
ームの終端に達したか否かを決定するための手段とを具
えたことを特徴とする圧縮装置。 - 【請求項19】 前記サーチが前記データ文字信号のス
トリームの終端に達すると、前記データ文字信号のスト
リーム中の最後のデータ文字ストリングに対応する符号
値が前記圧縮されたストリームでの使用のため供給され
ることを特徴とする特許請求の範囲第18項に記載の装
置。 - 【請求項20】 前記サーチが前記データ文字信号のス
トリームの終端に達したことに応答して、ストリームの
終端の表示が提供されることを特徴とする特許請求の範
囲第18項に記載の装置。 - 【請求項21】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号のストリームを供給する手段と、 前記圧縮装置により行われた圧縮を変化させる手段とを
具えたことを特徴とする圧縮装置。 - 【請求項22】 前記圧縮を変化させる手段は圧縮比を
変化させることを特徴とする特許請求の範囲第21項に
記載の装置。 - 【請求項23】 前記圧縮を変化させる手段は圧縮速度
を変化させることを特徴とする特許請求の範囲第21項
に記載の装置。 - 【請求項24】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮装置であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストアし、前記ストアされ
たストリングは、当該ストアされたストリングにそれぞ
れ関連する符号信号を有するストア手段と、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較することによって、前記データ文字信号の
ストリームをサーチして前記ストリームとの最長一致を
決定する手段と、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入する手段と、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てる手段と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号のストリームを供給する手段と、 前記サーチする手段の動作を中断する手段とを具えたこ
とを特徴とする圧縮装置。 - 【請求項25】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをアドレス可能なメモリにス
トアし、前記ストアされたストリングは、当該ストアさ
れたストリングにそれぞれ関連する符号信号を有し、お
よび前記ストリングを該符号信号に対応するメモリアド
レスにストアするステップと、 前記ストリームを前記メモリ内にストアされたストリン
グと比較して、前記データ文字信号ストリームをサーチ
して前記ストリームとの最長一致を決定し、前記最長一
致中のデータ文字信号の個数に応じて1 または2 以上の
メモリアドレスにアクセスして最長一致を決定するステ
ップと、 前記最長一致に続く前記次のデータ文字で拡張された前
記データ文字信号のストリームとの最長一致を含む拡張
されたストリングを形成するステップと、 前記拡張されたストリングに符号信号を割り当てるステ
ップと、 前記拡張されたストリングを前記メモリ内の、割り当て
られた符号信号に対応するメモリアドレスにストアする
ステップと、 前記最長一致に関連する符号信号を供給して圧縮された
前記符号信号ストリームを供給するステップとを具えた
ことを特徴とする圧縮方法。 - 【請求項26】 最長一致を決定する際にサーチしてい
る間にアクセスされる各メモリアドレスは、より長い一
致があるか否かを決定するために前記サーチによって用
いられるデータを含むことを特徴とする特許請求の範囲
第25項に記載の方法。 - 【請求項27】 サーチの間、アクセスされたメモリア
ドレス内にストアされたデータを前記ストリームからの
データ文字信号と共に用いて、より長い一致が存在する
ときにはその長い一致に対応するメモリアドレスを決定
することを特徴とする特許請求の範囲第26項に記載の
方法。 - 【請求項28】 ストリングを前記メモリに間接的にス
トアすることを特徴とする特許請求の範囲第25項に記
載の方法。 - 【請求項29】 拡張されたストリングは、前記最長一
致の少なくとも表示をストアすることによってメモリア
ドレスにストアされることを特徴とする特許請求の範囲
第25項に記載の方法。 - 【請求項30】 前記サーチするステップは、先に定め
た最長一致に続く次のデータ文字信号で始まる次に生じ
る最長一致に対するサーチを実行することを特徴とする
特許請求の範囲第25項に記載の方法。 - 【請求項31】 データ文字信号のストリームを圧縮さ
れた符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 複数の予め定めたストリングを前記ストア手段に最初に
ストアし、および前記データ文字信号のストリームの圧
縮を始める前に対応する符号信号を前記ストリングに割
り当てるステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップとを具えた
ことを特徴とする圧縮方法。 - 【請求項32】 前記メモリ内に最初にストアされた予
め定めたストリングは単一データ文字信号を含むことを
特徴とする特許請求の範囲第31項に記載の方法。 - 【請求項33】 前記単一データ文字はデータ文字のア
ルファベットの文字に対応することを特徴とする特許請
求の範囲第32項に記載の方法。 - 【請求項34】 前記アルファベットの文字値に基づい
て、符号信号を前記データ文字のアルファベットに割り
当てることを特徴とする特許請求の範囲第33項に記載
の方法。 - 【請求項35】 前記データ文字はASCII 文字であり、
および符号信号をASCII 値に基づいて前記ASCII 文字に
割り当てることを特徴とする特許請求の範囲第34項に
記載の方法。 - 【請求項36】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当て、その割り当てられた符号信号は可変長
であるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップとを具えた
ことを特徴とする圧縮方法。 - 【請求項37】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当て、その割り当てられた符号信号は固定長
であるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップとを具えた
ことを特徴とする圧縮方法。 - 【請求項38】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応し、数値
の昇順で割り当てられる符号信号を割り当てるステップ
と、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップとを具えた
ことを特徴とする圧縮方法。 - 【請求項39】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップとを具え、 前記サーチを行うステップは、前記データ文字信号のス
トリームにおけるデータ文字を繰り返して分析するよう
動作して前記ストア手段内にストアされたストリングと
の最長一致を決め、次の最長一致のための各サーチは、
先行する最長一致に続く次のデータ文字信号で始まるこ
とを特徴とする圧縮方法。 - 【請求項40】 前記データ文字信号のストリームの圧
縮は前記データ文字信号のストリームの単一のパスにお
いて達成されることを特徴とする請求項39に記載の方
法。 - 【請求項41】 前記圧縮方法により行われる圧縮は無
損失であることを特徴とする特許請求の範囲第40項に
記載の方法。 - 【請求項42】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップと、 前記データ文字信号のストリームのサーチが当該ストリ
ームの終端に達したか否かを決定するためのステップと
を具えたことを特徴とする圧縮方法。 - 【請求項43】 前記サーチが前記データ文字信号のス
トリームの終端に達すると、前記データ文字信号のスト
リームの最後のデータ文字ストリングに対応する符号値
が前記圧縮されたストリームでの使用のため供給される
ことを特徴とする特許請求の範囲第42項に記載の方
法。 - 【請求項44】 前記サーチが前記データ文字信号のス
トリームの終端に達したことに応答して、ストリームの
終端の表示が提供されることを特徴とする特許請求の範
囲第42項に記載の方法。 - 【請求項45】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップと、 前記圧縮方法により行われた圧縮を変化させるステップ
とを具えたことを特徴とする圧縮方法。 - 【請求項46】 前記変化させるステップは圧縮比を変
えることを含むことを特徴とする特許請求の範囲第45
項に記載の方法。 - 【請求項47】 前記変化させるステップは圧縮の速度
を変えることを含むことを特徴とする特許請求の範囲第
45項に記載の方法。 - 【請求項48】 データ文字信号ストリームを圧縮され
た符号信号ストリームに圧縮する圧縮方法であって、 前記データ文字信号のストリーム中において遭遇するデ
ータ文字信号のストリングをストア手段にストアし、前
記ストアされたストリングは、当該ストアされたストリ
ングにそれぞれ関連する符号信号を有するステップと、 前記ストリームを前記ストア手段内にストアされたスト
リングと比較して、前記データ文字信号のストリームを
サーチして前記ストリームとの最長一致を決定するステ
ップと、 前記ストア手段にストアするために、前記最長一致に続
く次のデータ文字信号によって拡張された前記データ文
字信号のストリームとの前記最長一致を含む拡張された
ストリングを前記ストア手段に挿入するステップと、 前記ストアされた拡張されたストリングに対応する符号
信号を割り当てるステップと、 前記最長一致に関連する符号信号を供給して前記圧縮さ
れた符号信号ストリームを供給するステップと、 圧縮の動作を中断することを提供するステップとを具え
たことを特徴とする圧縮方法。
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 | 2000-02-16 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4334804A Division JP2610084B2 (ja) | 1983-06-20 | 1992-12-16 | データ伸長方法および装置ならびにデータ圧縮伸長方法および装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08237138A true JPH08237138A (ja) | 1996-09-13 |
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 Before (2)
| 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 | データ伸長方法および装置ならびにデータ圧縮伸長方法および装置 |
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) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002533005A (ja) * | 1998-12-14 | 2002-10-02 | マイクロソフト コーポレイション | 可変長から可変長へのエントロピー符号化のためのコードブック構成 |
| EP2594902A2 (en) | 2011-11-16 | 2013-05-22 | Clarion Co., Ltd. | Retrieval terminal device, retrieval server device, retrieval tree compression method, and center-linked retrieval system |
| US9172965B2 (en) | 2008-05-02 | 2015-10-27 | Microsoft Technology Licensing, Llc | Multi-level representation of reordered transform coefficients |
| US9390720B2 (en) | 2002-09-04 | 2016-07-12 | Microsoft Technology Licensing, Llc | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes |
Families Citing this family (360)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS59231683A (ja) * | 1983-06-01 | 1984-12-26 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | データ圧縮方法 |
| US4814746A (en) * | 1983-06-01 | 1989-03-21 | International Business Machines Corporation | Data compression method |
| 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 |
| WO1988002144A1 (en) * | 1986-09-09 | 1988-03-24 | Inventronic Data Systems Ab | Arrangement for data compression |
| 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 |
| US4905297A (en) * | 1986-09-15 | 1990-02-27 | International Business Machines Corporation | Arithmetic coding encoder and decoder system |
| JPH0815263B2 (ja) * | 1986-12-12 | 1996-02-14 | 株式会社日立製作所 | データ圧縮復元方法 |
| JPH0815262B2 (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 |
| AU620365B2 (en) * | 1987-09-24 | 1992-02-20 | Sand Technology Systems International Inc. | Bit string compressor with boolean operation processing capability |
| US4881075A (en) * | 1987-10-15 | 1989-11-14 | Digital Equipment Corporation | Method and apparatus for adaptive data compression |
| US4876541A (en) * | 1987-10-15 | 1989-10-24 | Data Compression Corporation | Stem for dynamically compressing and decompressing electronic data |
| 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 |
| 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 |
| US5532694A (en) * | 1989-01-13 | 1996-07-02 | Stac Electronics, Inc. | Data compression apparatus and method using matching string searching and Huffman encoding |
| US5003307A (en) * | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
| US5146221A (en) * | 1989-01-13 | 1992-09-08 | Stac, Inc. | Data compression apparatus and method |
| 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 |
| US5010345A (en) * | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Data compression method |
| US5184126A (en) * | 1989-12-28 | 1993-02-02 | International Business Machines Corporation | Method of decompressing compressed data |
| US5010344A (en) * | 1989-12-28 | 1991-04-23 | International Business Machines Corporation | Method of decoding compressed data |
| US5001478A (en) | 1989-12-28 | 1991-03-19 | International Business Machines Corporation | Method of encoding compressed data |
| WO1991013395A1 (fr) * | 1990-02-26 | 1991-09-05 | Fujitsu Limited | Procede de compression et de reconstitution de donnees et dispositif prevu a cet effet |
| US5254990A (en) * | 1990-02-26 | 1993-10-19 | Fujitsu Limited | Method and apparatus for compression and decompression of data |
| 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 |
| EP0485522A4 (en) * | 1990-05-30 | 1993-08-04 | Daniel W. Hammerstrom | 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 |
| JP3012677B2 (ja) * | 1990-10-19 | 2000-02-28 | 富士通株式会社 | Zl符号化方法 |
| JP3012678B2 (ja) * | 1990-10-19 | 2000-02-28 | 富士通株式会社 | データ圧縮方法 |
| JP3012679B2 (ja) * | 1990-10-19 | 2000-02-28 | 富士通株式会社 | データ圧縮方法 |
| EP0688104A2 (en) * | 1990-08-13 | 1995-12-20 | Fujitsu Limited | Data compression method and apparatus |
| 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 |
| 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 |
| 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 |
| 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 |
| US5440753A (en) * | 1992-11-13 | 1995-08-08 | Motorola, Inc. | Variable length string matcher |
| US5434776A (en) * | 1992-11-13 | 1995-07-18 | Microsoft Corporation | Method and system for creating multi-lingual computer programs by dynamically loading messages |
| 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 |
| US5455576A (en) | 1992-12-23 | 1995-10-03 | Hewlett Packard Corporation | Apparatus and methods for Lempel Ziv data compression with improved management of multiple dictionaries in content addressable memory |
| 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 |
| JP3171510B2 (ja) | 1993-06-01 | 2001-05-28 | ヒューレット・パッカード・カンパニー | 辞書ベースのメモリ内のデータを圧縮および圧縮解除する方法 |
| 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 |
| WO1995018996A2 (en) * | 1993-12-30 | 1995-07-13 | 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 |
| EP0718980A1 (en) | 1994-12-20 | 1996-06-26 | International Business Machines Corporation | Data compression method of individual sequences of strings of a data stream based on a dictionary and device for performing the same |
| US5642112A (en) * | 1994-12-29 | 1997-06-24 | Unisys Corporation | Method and apparatus for performing LZW data compression utilizing an associative memory |
| 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 |
| US5715446A (en) * | 1995-05-22 | 1998-02-03 | 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 |
| RU2190295C2 (ru) * | 1996-07-24 | 2002-09-27 | Юнисиз Корпорейшн | Система уплотнения и разуплотнения данных с непосредственным обновлением каталога, которое чередуют с поиском строк |
| 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 |
| US6272235B1 (en) * | 1997-03-03 | 2001-08-07 | Bacus Research Laboratories, Inc. | Method and apparatus for creating a virtual microscope slide |
| 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 |
| 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 | 株式会社東芝 | デ−タ圧縮装置 |
| US6138254A (en) * | 1998-01-22 | 2000-10-24 | Micron Technology, Inc. | Method and apparatus for redundant location addressing using data compression |
| JP3421700B2 (ja) | 1998-01-22 | 2003-06-30 | 富士通株式会社 | データ圧縮装置及び復元装置並びにその方法 |
| 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 |
| US7058597B1 (en) | 1998-12-04 | 2006-06-06 | Digital River, Inc. | Apparatus and method for adaptive fraud screening for electronic commerce transactions |
| US7617124B1 (en) | 1998-12-04 | 2009-11-10 | Digital River, Inc. | Apparatus and method for secure downloading of files |
| 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 |
| 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 |
| US7538694B2 (en) | 1999-01-29 | 2009-05-26 | Mossman Holdings Llc | Network device with improved storage density and access speed using compression techniques |
| 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 |
| 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 |
| US6966002B1 (en) | 1999-04-30 | 2005-11-15 | Trymedia Systems, Inc. | Methods and apparatus for secure distribution of software |
| US7360252B1 (en) | 1999-04-30 | 2008-04-15 | Macrovision Corporation | Method and apparatus for secure distribution of software |
| US20050251686A1 (en) * | 1999-06-09 | 2005-11-10 | 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 |
| AU6017400A (en) * | 1999-07-16 | 2001-02-05 | Vertex Software Co., | Amount-of-data reducing method and reduced amount-of-data generating system |
| 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 |
| US6522268B2 (en) | 2000-01-05 | 2003-02-18 | Realnetworks, Inc. | Systems and methods for multiple-file data compression |
| US20010047473A1 (en) | 2000-02-03 | 2001-11-29 | Realtime Data, Llc | Systems and methods for computer initialization |
| 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 |
| 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 |
| US6388584B1 (en) | 2000-03-16 | 2002-05-14 | Lucent Technologies Inc. | Method and apparatus for data compression of network packets |
| 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 |
| DE10196513T1 (de) | 2000-08-15 | 2003-11-13 | Seagate Technology Llc | Dualmodus-Datenkompression für einen Betriebscode |
| 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 |
| 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 |
| US8374218B2 (en) | 2000-12-05 | 2013-02-12 | Google Inc. | Combining signals with a shuffled-hadamard function |
| 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 |
| WO2003021970A1 (en) * | 2001-09-04 | 2003-03-13 | Faroudja Cognition Systems, Inc. | 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 |
| EP1478904A2 (en) | 2002-01-23 | 2004-11-24 | M-Spatial Limited | Schematic generation |
| 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 |
| US7280497B2 (en) * | 2002-08-02 | 2007-10-09 | General Dynamics Corporation | Methods and apparatus for coupling an earth terminal to a satellite |
| US7280496B2 (en) * | 2002-08-02 | 2007-10-09 | General Dynamics Corporation | Methods and apparatus for coupling a satellite to an earth terminal |
| 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 |
| GB2400290A (en) * | 2003-04-04 | 2004-10-06 | Autodesk Canada Inc | Multidimensional image data processing in a hierarchical dat structure |
| 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 |
| 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 |
| US7009533B1 (en) | 2004-02-13 | 2006-03-07 | Samplify Systems Llc | Adaptive compression and decompression of bandlimited signals |
| 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 |
| 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 |
| US8929402B1 (en) * | 2005-09-29 | 2015-01-06 | Silver Peak Systems, Inc. | Systems and methods for compressing packet data by predicting subsequent data |
| US8489562B1 (en) | 2007-11-30 | 2013-07-16 | Silver Peak Systems, Inc. | Deferred data storage |
| 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 |
| CA2947649C (en) | 2006-03-27 | 2020-04-14 | The Nielsen Company (Us), Llc | 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 |
| US20090070877A1 (en) * | 2006-12-18 | 2009-03-12 | Carol Davids | Method for securing streaming multimedia network transmissions |
| US8453241B2 (en) * | 2006-12-18 | 2013-05-28 | Illinois Institute Of Technology | Method for securing streaming multimedia network transmissions |
| US7834784B1 (en) | 2007-01-18 | 2010-11-16 | Cisco Technology, Inc. | Data redundancy elimination mechanism including fast lookup of data patterns exhibiting spatial locality |
| US7814284B1 (en) | 2007-01-18 | 2010-10-12 | Cisco Technology, Inc. | Redundancy elimination by aggregation of multiple chunks |
| US7439887B2 (en) * | 2007-02-13 | 2008-10-21 | Seiko Epson Corporation | Method and apparatus for GIF decompression using fixed-size codeword table |
| US20080263433A1 (en) * | 2007-04-14 | 2008-10-23 | Aaron Eppolito | Multiple version merge for media production |
| US20080256448A1 (en) * | 2007-04-14 | 2008-10-16 | Nikhil Mahesh Bhatt | Multi-Frame Video Display Method and Apparatus |
| US8751022B2 (en) * | 2007-04-14 | 2014-06-10 | Apple Inc. | Multi-take compositing of digital media assets |
| US20080256136A1 (en) * | 2007-04-14 | 2008-10-16 | Jerremy Holland | Techniques and tools for managing attributes of media content |
| 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 |
| US10164861B2 (en) | 2015-12-28 | 2018-12-25 | Silver Peak Systems, Inc. | Dynamic monitoring and visualization for network health characteristics |
| US9717021B2 (en) | 2008-07-03 | 2017-07-25 | Silver Peak Systems, Inc. | Virtual network overlay |
| US10805840B2 (en) | 2008-07-03 | 2020-10-13 | Silver Peak Systems, Inc. | Data transmission via a virtual wide area network overlay |
| US8743683B1 (en) | 2008-07-03 | 2014-06-03 | Silver Peak Systems, Inc. | Quality of service using multiple flows |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 | Учреждение Российской академии наук Институт проблем управления им. В.А. Трапезникова РАН | Способ нахождения максимальных повторяющихся участков последовательности символов конечного алфавита и способ вычисления вспомогательного массива |
| JP5520390B2 (ja) * | 2010-12-28 | 2014-06-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ要素列を処理する装置及び方法 |
| 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 |
| US8779950B2 (en) | 2012-03-05 | 2014-07-15 | Dcba, Llc | Command encoded data compression |
| ES2650841T3 (es) | 2012-05-18 | 2018-01-22 | Telefónica S.A. | Un método y un sistema para la notificación de CSI en redes de LTE de acuerdo con la movilidad del equipo de usuario |
| 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 |
| US10892978B2 (en) | 2017-02-06 | 2021-01-12 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows from first packet data |
| 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 |
| US10257082B2 (en) | 2017-02-06 | 2019-04-09 | Silver Peak Systems, Inc. | Multi-level learning for classifying traffic flows |
| 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 |
| 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 |
| US12400846B2 (en) | 2017-08-01 | 2025-08-26 | Protein Metrics, Llc | Interactive analysis of mass spectrometry data including peak selection and dynamic labeling |
| 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 |
| US12224169B2 (en) | 2017-09-29 | 2025-02-11 | Protein Metrics, Llc | Interactive analysis of mass spectrometry data |
| 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 |
| IL296197B2 (en) | 2019-02-19 | 2024-05-01 | Edgy Bees Ltd | Real-time video data stream latency estimation |
| 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 | 国立大学法人 筑波大学 | データの圧縮及び解凍方法、データ圧縮方法、データ圧縮装置、データ圧縮プログラム、データ解凍方法、データ解凍装置、データ解凍プログラム |
| JP2023544647A (ja) | 2020-08-31 | 2023-10-24 | プロテイン・メトリクス・エルエルシー | 多次元時系列データのためのデータ圧縮 |
| US12512853B2 (en) | 2023-07-13 | 2025-12-30 | Maxlinear, Inc. | Data compression in a data transform accelerator |
Family Cites Families (7)
| 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 |
| 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 |
| 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 | インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン | データ圧縮方法 |
-
1983
- 1983-06-20 US US06/505,638 patent/US4558302A/en not_active Expired - Lifetime
-
1984
- 1984-06-06 CA CA000455994A patent/CA1223965A/en not_active Expired
- 1984-06-18 DE DE8484304111T patent/DE3476617D1/de not_active Expired
- 1984-06-18 EP EP84304111A patent/EP0129439B1/en not_active Expired
- 1984-06-20 JP JP59125473A patent/JPS60116228A/ja active Granted
-
1992
- 1992-12-16 JP JP4334804A patent/JP2610084B2/ja not_active Expired - Lifetime
-
1995
- 1995-12-27 JP JP7341868A patent/JPH08237138A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002533005A (ja) * | 1998-12-14 | 2002-10-02 | マイクロソフト コーポレイション | 可変長から可変長へのエントロピー符号化のためのコードブック構成 |
| US9390720B2 (en) | 2002-09-04 | 2016-07-12 | Microsoft Technology Licensing, Llc | Entropy encoding and decoding using direct level and run-length/level context-adaptive arithmetic coding/decoding modes |
| US9172965B2 (en) | 2008-05-02 | 2015-10-27 | Microsoft Technology Licensing, Llc | Multi-level representation of reordered transform coefficients |
| EP2594902A2 (en) | 2011-11-16 | 2013-05-22 | Clarion Co., Ltd. | Retrieval terminal device, retrieval server device, retrieval tree compression method, and center-linked retrieval system |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0129439A1 (en) | 1984-12-27 |
| DE3476617D1 (en) | 1989-03-09 |
| JPH07249996A (ja) | 1995-09-26 |
| US4558302B1 (ja) | 1994-01-04 |
| CA1223965A (en) | 1987-07-07 |
| US4558302A (en) | 1985-12-10 |
| JP2610084B2 (ja) | 1997-05-14 |
| JPS60116228A (ja) | 1985-06-22 |
| EP0129439B1 (en) | 1989-02-01 |
| JPH0568893B2 (ja) | 1993-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2610084B2 (ja) | データ伸長方法および装置ならびにデータ圧縮伸長方法および装置 | |
| US5410671A (en) | Data compression/decompression processor | |
| US5608396A (en) | Efficient Ziv-Lempel LZI data compression system using variable code fields | |
| US5414425A (en) | Data compression apparatus and method | |
| US5126739A (en) | Data compression apparatus and method | |
| US5016009A (en) | Data compression apparatus and method | |
| US5652878A (en) | Method and apparatus for compressing data | |
| JP2713369B2 (ja) | データ圧縮装置及び方法 | |
| US5532694A (en) | Data compression apparatus and method using matching string searching and Huffman encoding | |
| US5140321A (en) | Data compression/decompression method and apparatus | |
| US4988998A (en) | Data compression system for successively applying at least two data compression methods to an input data stream | |
| US5627995A (en) | Data compression and decompression using memory spaces of more than one size | |
| JP3342700B2 (ja) | ストリングリバーサル機構を具備した単一クロックサイクルデータ圧縮装置/圧縮解除装置 | |
| US5663721A (en) | Method and apparatus using code values and length fields for compressing computer data | |
| US5563595A (en) | Method and apparatus for compressing data | |
| JP2863065B2 (ja) | マッチングストリング探索およびハフマン符号化を用いたデータ圧縮装置および方法ならびにデータ伸長装置および方法 | |
| JPH06222903A (ja) | 文字データを圧縮し圧縮済みデータを展開するための静的辞書構造を提供する方法および手段 | |
| US5610603A (en) | Sort order preservation method used with a static compression dictionary having consecutively numbered children of a parent | |
| JP3611319B2 (ja) | データの圧縮に必要な時間を短縮するための方法および装置 | |
| US6654867B2 (en) | Method and system to pre-fetch compressed memory blocks using pointers | |
| US7676651B2 (en) | Micro controller for decompressing and compressing variable length codes via a compressed code dictionary | |
| US7439887B2 (en) | Method and apparatus for GIF decompression using fixed-size codeword table | |
| JP2003318739A (ja) | データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 | |
| Shah et al. | Data compressor decompressor IC | |
| EP1323122A2 (en) | Index relational processor |