JPH06508456A - 多重レベルを利用するデータ圧縮 - Google Patents
多重レベルを利用するデータ圧縮Info
- Publication number
- JPH06508456A JPH06508456A JP5500423A JP50042393A JPH06508456A JP H06508456 A JPH06508456 A JP H06508456A JP 5500423 A JP5500423 A JP 5500423A JP 50042393 A JP50042393 A JP 50042393A JP H06508456 A JPH06508456 A JP H06508456A
- Authority
- JP
- Japan
- Prior art keywords
- input
- memory
- data
- sequence
- level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
本発明は、入力データ本体を、蓄積、転送、暗号化等のために、人力データ本体
に関して圧縮した整列データ構造に変換する、ディジタルデータ変換システムデ
ータ圧縮、または、ときに「テキスト圧縮」と言われるものの方法ならびに装置
は、英数字テキスト、ディジタル化画像、コンピュータコートなとといった到来
するディジタルデータ本体に作用して、そのデータを格納するための記憶所要容
量を削減する、あるいは、通信チャネルを介してデータ本体を転送するために要
する時間、または安全保護のためにデータを暗号化するために要する時間を短縮
する。
データ圧縮は入力データ本体の冗長性を除くことによって作用し、達成されるで
あろう圧縮の度合はデータ本体の冗長性に比例する。データ圧縮システムは、圧
縮データから入力データ本体を正確に復元できる無損失システムと、完全に可逆
的な復元プロセスを要しない音声および画像といったディジタル化アナログ信号
にしばしば使用される損失システムと、に大きく分かれる。本発明は、可逆シス
テムまたはノイズレスシステムと呼ばれることもある、無損失システムの類に属
する。
無損失圧縮システムは、更に、出現確立に基づいて各記号にコートを割り当てる
統計的コート化と、入力データ本体の連続文字集合を、ディクショナリ内の該当
ノーケンス格納位置を表すコートに置き換えるディクショナリ圧縮と、に分がn
る。本発明は、ディクショナリ式の圧縮装置および方法に関するものである。
ディクノヨナリ式データ圧縮方法は、更に、入力データ本体の一般的性質に関す
る事前知識に基づいて、固定ディクショナリを備えた静的ディクショナリ配列に
分割される。例えば、データ本体か英語のテキストである場合、そのディクショ
ナリは、当該テキストのデータシーケンスの統計学的出現頻度に基つくものとt
;る。これに換わる方法は、入力データ本体の最初のセクションを利用してディ
クソヨナリを構成する、動的または適応ディクショナリエンコーダであり、この
場合、ディクショナリはデータ本体より多くのデータか処理されるように変更さ
れる。本発明は、このような動的ディクノヨナリ圧縮システムに関するものであ
る。
無損失動的ディクショナリ圧縮の分野においては、ZIV−LEMPEL圧縮と
呼ばれる構成か、きわめて効果的であるとされている。ZIV−LEMPEL法
に関する変態は、イーストマン他による合衆国特許第4.464.650号、ウ
ェルチによる合衆国特許第4.558.302号:フィアラ他による合衆国特許
第4.906.991号で開示されている。
これらのZIV−LEMPELプロセッサは、入力直列ストリームとしてコード
化されたデータ本体を広汎に受け入れて、データストリームの最初のセグメント
を格納するディクショナリを作成する。以降に出現するセグメントは、メモリ内
の事前出現ストリングの一端を指摘し、入力セグメントと同一のストリング長を
識別し、入力セグメント内の次の固有文字を組み込むために、この格納セグメン
トに比較される。
データ圧縮の分野の概説は、1989年12月発行のACMコンピユーティン本
発明は、少なくともある種のデータに関し、従来技術と比べて圧縮の効率、速度
、簡便性を向上した、無損失動的ディクショナリ圧縮方式を実行するための方法
と装置に関する。
本発明の方法によって作成されるデータ構造は、人間の脳の記憶機能の作用に類
似させた連合原理を採用している。例えば、顔のイメージ、流行歌のメロディ、
または授業の内容を表す入力のような、永久記録にてきしていると脳か見なす知
覚入力群を、脳か初めて受信したとき、脳は、これらの知覚信号の連合を記録す
る。そして、再びその顔を見たり、その歌を聞いたり、その授業を体験したりす
るなとして、再び同じ知覚入力群が出現すると、脳は、先に記憶に留められた連
合と新しい入力とを互いに関係付け、新しい入力を、古い画像の繰り返しをなす
ものと認識する。脳は、これらの繰返し出現した同−知覚入力群を記憶せずに、
既に脳か学習した連合を強化する。
同様に、本発明の機械は、連合データ記憶機械である。この機械は、情報を連合
として記憶する。連合は、一つの事象集合か出現したことの記憶である。以降の
同一事象集合の出現によって、新しい記憶が生じることはなく、すてにメモリの
中に存在する連合が増強される。機械か、ある事象集合を学習すると、後から入
力データストリームに生じた集合と比較するため、および、新セクションを学習
する必要はなく、以前に学習されたセクションと等しいと確認することたけて十
分である、と連合か認識される場合に、この事象集合を利用できる。この連合因
子により、全入力データストリームを記憶するための所要メモリよりも少ないメ
モリの記憶データ構造となる。
機械の構造は、一階層、以下「レベルJと呼ぶ、の処理である。各レベルは、各
入力値集合ごとに単一出力値を生成する関数を実施しなくてはならない。また、
この関数は可逆的でなくてはならない、即ち、この関数は、各出力値について、
逆方向に作用し、別個の独自入力値集合を再生できなくてはならない。機械の全
レベルで同一関数を利用する必要はないが、各関数は数学的に可逆的である。
このような関数の一つは、入力値を固定長二進数と考え、一対の数字を連結する
だけで長さが倍(ビット数が倍)の固定長二進数を生成する、というものである
。この関数の逆は、長い二進数を二つの短い数字に分割することである。これは
、前記要件に適した最も単純な関数である。しかしながら、この関数は、数字の
ヒント数か各レベルごとに倍になるので、あまり役に立たない。
利用可能な別の種類の関数は、レベル内の局部記憶を用いて、実際にそのレベル
で処理される入力値に関わる情報を記録するというものである。
この種の簡単な関数は、提供された各単独対の入力値のコピーを、局部記憶に保
管するというものである。入力対のコピーか入る局部記憶のアドレスは、出力値
として使用される。以前に処理した入力対と同じ入力対に遭遇すると、新しい局
部記憶は使用されず、その入力値と合致する値が既に入っている局部メモリのア
ドレスが、出力値として再使用される。新入力を、既に学習された連合と比較す
る速度を最適化するための改善点を多少備えたこの関数は、本発明の好適実施例
の基礎となる。
本発明の方法は、広汎には、直列式の入力データストリームを、データエレメン
ト、好ましくはデータ対、という短かいシーケンスに分割し、入力データの各連
続ソーケンスを表す信号から成る出力ストリームを生成することによって、直列
式の入力データストリームを分析することに関わる。次に、この出力ストリーム
は第二プロセスまたはレベルに送出され、第二プロセスまたはレベルでは、入力
データストリームに対して第一プロセスが作用したのと同じように、第一プロセ
スの出力信号に対して作用する。第ニレベルの出力は第三レベルに送出され、こ
れは、最後のレベルまで繰り返される。
各レベルは、進行レベルによる複数入力データエレメントの処理を待機した後に
、直前の下位レベルから単一データエレメントを受け取らなくてはならないので
、レベルか上位であるほどゆっくりした速さで作用するように、各レベルのデー
タエレメントは入力信号よりも出力信号の方が少ない。
本発明の好適方法は、概括的には、入力データストリームのデータの未出現シー
ケンスを検出し、このような未出現シーケンスを格納手段に格納し、データエレ
メントが入力シーケンスよりも少ない出力信号を用いて、格納手段の各入力シー
ケンスの格納場所を表す出力信号を生成するアルゴリズムを、繰り返し利用する
ことと考えられる。
入力データストリームは、工程を逆にして、蓄積データエレメントを上位レベル
から下位レベルへ送り、学習過程で分解されたのと同方法で入力データストリー
ムを再生することによって、メモリ構造から容易に復元できる。
本発明の方法を実施するための装置は、汎用コンピュータから構成できるか、チ
ェーンの各プロセッサが、データ構造が構成される記憶サイクル時に順次下位の
プロセッサの出力を受信し、入力データ本体の復元時にチェーンの順次上位プロ
セッサの出力を受信するように、両方向通信リンクによって直列チェーンに結合
された個別プロセッサを採用した、専用目的システムより構成されることか好ま
しい。各プロセッサは、チェーン内の場所に適したサイズの専用メモリを備える
ことが好ましい。本発明の好適実施例には、データ格納時にチェーンの最高レベ
ルプロセッサからの出力を受信するための直列メモリも組み込るれる。
データ格納工程時のプロセッサへの各入力対か単一信号出力となる本発明の好適
実施例では、入力時も固有対が出現すると、プロセッサは、4ワードのエントリ
をメレリに格納する。そのうち2個のワードは、固有対を構成し、三番目のワー
ドは入力データ中にその対か出現した回数、四番目のワードは、この入力で出現
頻度か少ない、そのメモリ中の別のエントリのアドレスを表す連結ポインタであ
る。
各プロセッサは、各入力からの各数字対を、複数の連結リストのいずれかへ割り
当てるハツシュ関数も実施する。本発明の好適実施例では、ハツシュ関数は、所
定数の、各入力対の2個の数字の最下位のビットの合計を生成することによって
、すへての入力対をいずれかのリストに分けるように作用する。プロセッサは、
連結されたリストの各々の最も頻繁に出現するエントリに対するポインタが入っ
たハッンユインデックステーブルも作成する。この構成は、入力対か以前に出現
したかとうかを判断するタスクを効率的にするために使用される。いずれの連結
リストと比較されるべきかを判断するために、入力対の最下位のビットを合計し
た後、最も頻繁に出現した連結リストの対の記憶位置か判定されたために/%ツ
シュテーブルか使用され、入力対と、その連結リスト内に格納されている少頻度
入力対の各々が比較され、入力対の固有性か判定される。
本発明の代替実施例は、あるレベルの全使用可能メモリかいっばいになった後で
も新しい入力記録を処理し続ける方法を提供する。この代替実施例では、あるレ
ベルに対する入力の全固有データ対がデータ構造のエントリとなる初期学習期間
の後、第二モートのオペレーションが開始される。この第二モートでは、固有対
か検出されると、次の上位プロセスに空白信号か出力され、固有データ対はプロ
セッサからの出力信号にアペンデージとして追加され、上方向に、次々に高いレ
ベルのプロセッサを通り、システムの最高プロセッサの出力を受信する直列メモ
リに渡される。全レベルからのアペンデージは、最高レベルからの出力と共に格
納される。記録か復元されると、復元された記録の空白が適当な固有データ対に
交換できるように、アベンデージは送り返される。この構成により、システムは
無数の入力記録を処理し、記録を可逆的に復元できる。
本発明の別の代替実施例は、第一モードのオペレーションのときには出現しない
か、第二モードのオペレーションのときに一旦出現し始めると比較的高頻度で出
現するデータ対のレベルに、メモリ部分を確保する。これは、各プロセッサに関
わるメモリを、一方は永久メモリおよび他方は一時メモリと呼ばれる2部分に分
けることによって実施される。第一モードのオペレーションのあいだ、入力スト
リーム中にこれまで出現したことのないプロセッサへの各入力は、永久メモリ部
分に格納される。データ構造内の全エントリか永久部分に作成される初期学習期
間の後、第二モードのオペレーションが開始される。この第二モードでは、固有
対が検出されると、一時メモリ部分にロードされ、次の上位プロセスに空白信号
が出力され、固有データ対はプロセッサからの出力信号にアペンデージとして追
加され、上方向に、より上位レベルのプロセッサを通って、システムの最高プロ
セッサの出力を受信する直列メモリに渡される。全レベルからのアベンデージは
、最高レベルからの出力と共に格納される。記録が復元されると、復元された記
録の空白が適当な固有データ対に交換できるように、アペンデージが送り返され
る。一時メモリ部分のエントリが、入力信号中に所定回数出現すると、永久メモ
リに昇進させられ、普通の方法で処理される。この構成により、システムは無限
長の入力記録を処理し、記録を両方向に復元できるのである。
本発明の他の目的、利益、応用は、本発明の好適実施例に関する以下の詳細説明
によって明らかになるであろう。説明は、添付図面を参照して行われる。
図面の簡単な説明
図1は、本発明の装置の好適実施例を表す機械の概略図である。
好適実施例の説明
本発明の方法は、広範囲な形をとるディジタルプロセッサによって実施されるこ
とか好ましい。極端な例として、データ圧縮の点で本発明が最高効率を示す大デ
ータ本体かなければ、本発明は汎用ノイマン型コンピュータで実施できるか、汎
用コンピュータによる実施は、データ格納タスクも復元タスクも非常に緩慢であ
る。従って、本発明の装置の好適実施例は、図1のような形の専用コンピュータ
の形を取る。
機械は、ディジタルプロセッサ20a、20b、20c、20d、−・2Onの
チェーンから成っている。プロセッサは、両方向データ経路22a、22b、2
2c等によって、別のプロセッサに相互接続されている。各プロセッサは、関連
ディジタルメモリ24a、24b、24c、24d、・・24nに相互接続され
ている。各プロセッサとその関連メモリの相互接続は、両方向接続26a、26
b、26c、26d、・・26nを介している。チェーンの最後のプロセッサ2
Onは、両方向データ経路30によって直列メモリ28に接続されている。
以下において、チェーンの一端のプロセッサ20aとその関連メモリ24aをシ
ステム内最低レベルと呼び、プロセッサ2Onとその関連メモリ24nを最高レ
ベルと呼ぶことかある。メモリ20a−nに順序付きデータ構造を生成するため
に機械に処理される入力データは、入力チャネル32を介して最低レベルプロセ
ッサ20aに提供される。線路32の初期の入力データストリームと同じ形の復
元データ構造出力は、最低レベルプロセッサ20aから出力チャネル34を介し
て提供される。
本発明の最も簡単な実施例では、プロセッサ20aは、特定記号シーケンスがそ
の入力データに以前に出現したことがあるかどうかを判断するために、アスキ一
様式てコード化される英数字データの形を取るであろう各入力信号対を検査する
。未出現のもの、あるいは、固有のものである場合、その入力対は、メモリ24
aに格納される。メモリ24aの内容は、プロセッサ20aによって、入力スト
リーム中の記号対が固有のものであるかどうかを判断するために使用される。
プロセッサ20aは、回線22aを介してプロセッサ20bに出力を提供し、プ
ロセッサ20bは回線22aの新語言うを入力として扱って、プロセッサ20a
が行ったのと同しプロセスを正確に繰り返す。この処理アルゴリズムは、各プロ
セッサによって繰り返される。このように、各プロセッサが受信する各ディジタ
ルワード対ごとに信号ディジタルワードを出力し、発生する唯一の格納は、その
レベルで固有の入力対の格納であるように見える。
このシステムの作用を理解するために、図1の機械が、最初は空で、“JOHN
J、JONES HAS JOINED JOHNSON AND JOHN
SON AS A JUNIORJANITOR”というテキストを受け取るこ
とを考える。この例では、6レベルのオペレーションを示す。下記リストでは、
はっきり分かるようにするために空白を−で示しである。
プロセッサ20aは、このテキストを1度に二文字ずつ処理する。
回線32の ローカルアト メモリ24a プロセッサ20aHN 2 HN
2
NE 5 NE 5
S−6S−6
8A 7 HA 7
IN 8 1N 8
ED 9 ED 9
−J 3
0H100H1O
NS l I NS I I
ON 12 ON l 2
−A l 3 −A 13
ND 14 ND l 4
A−15A−15
Ju l 6 JU 16
NT I 7 Nl 17
0R180Rl 8
−J 3
AN l 9 AN 19
IT 20 IT 20
0R18
プロセツサ20bとメモリ24bより成るレベル2は、レベル1からの出力を、
一度に数字2個ずつ処理する。
回線22a ローカルアト メモリ24b プロセッサ20cの入力対 レスへ
の格納 の内容 への出力データ+112 8 1112 8
+314 9 1314 9
13 6 10 +3 6 10
+516 11 1516 11
プロセツサ20cとメモリ24cより成るレベル3は、レベル2がらの出力を、
一度に数字2個ずつ処理する。
回線22b ローカルアト メモリ24c プロセッサ20d8106’39
6
+112 7 1011 7
13+4 8 1213 8
プロセツサ20dとメモリ24dより成るレベル4は、レベル3からの出力を、
一度に数字2個ずつ処理する。
回線22c ローカルアト メモリ24d プロセッサ20eプロセツサ20e
とメモリ24eより成るレベル5は、レベル4からの出力を、一度に数字2個ず
つ処理する。
回線22d ローカルアト メモリ24e プロセッサ2Ofプロセツサ2Of
とメモリ24fより成るレベル6は、レベル5がらの出力を、一度に数字2個ず
つ処理する。
回線22e ローカルアト メモリ24f プロセッサ28ここで、この機械に
提供される初期入力データは、莫大な量の局部記憶となることに注意されたい。
各レベルの入力対は、そのレベルで初めて見られたものである。処理されるデー
タか増えると、既に局部記憶にあるものと合致する入力対か頻繁に出現するよう
になり、格納する必要のある新しいことの出現は頻度が低くなる。
この例では、更に、データの格納はテキストストリングJOHN J、JONE
S OF JOHNSON AND JOHNSON DOES N0TLIK
E HIS JOB NOW、 JOHN J、JONES WILLQUIT
JOHNSON AND JOHNSON AND 5EEK ANEW J
OB”と続く。レベルlは、再び、このテキストを一度に2文字ずつ処理する。
下記リストでは、見えるようにするために空白を−で示しである。
ローカルアト メモリ
OF 21 0F 21
−D 22 −D 22
0E 23 0E 23
S−6
No 24 No 24
T−25T−25
Ll 26 ’Ll 26
KE 27 KE 27
−H28−H28
Is 29’ Is 29
1939 27 +939 27
304 31 304 3ル
ヘル3は、レベル2からの出力を、一度に数字2個ずつ処理する。
816 +0 816 10
1718 1! +718 11
+920 12 1920 12
2+22 13 2122 13
レベル4は、レベル3から出力を、一度に数字2個ずつ処理する。
ローカルアト メモリ
+0 11 7 10 11 7
1213 8 +213 8
+149 1149
1718 11 1718 +1
レヘル5は、レベル4から出力を、一度に数字2個ずつ処理する。
ローカルアト メモリ
入力対 レスへの格納 の内容 出力データレベル6は、レベル5から出力を、
一度に数字2個ずつ処理する。
ローカルアト メモリ
第二例で、レベルlとレベル2で、局所メモリに新しい入力対を格納する必要か
あったものは、割合として第−例の約1/2であったことに注意されたい。レベ
ル3てさえ、僅かながらも、新メモリを使用しない入力対を処理した。更に多く
のデータか処理されると、この現像は継続していくであろう。新しい入力対の出
現は次第に少なくなる。高い方のレベルでさえ、新メモリを要しない入力対か出
始めるであろう。
データは、システムを逆方向に作用させることによって復元できる。直列メモリ
28に格納されている数字は、各レベルを通って戻すことができる。上記の例で
は、プロセッサ2Ofは、数字2を受信すると、数字3と4の対であるエントリ
アドレス2の内容に取り、それらを経路22eを介してプロセッサ20eに送出
する。プロセッサ20eは、そのアドレス3と4の内容を、下位レベル等に送る
ことによって対応する。最低レベルにおいて、プロセッサ20aは、復元された
文字集合を出力チャネル34へ送る。
大量のデータか機械に格納されているとき、事象の頻度分布はある種の特性を示
す。少数の高頻度数字対が、レベル毎に見られる入力データの大部分を占める。
局部記憶の大部分を占めることができる多数の低頻度数字対は、入力データのほ
んのわずかな部分である。格納および検索回収機能の速さを最適化し、機械の各
レベルに要求される局部記憶量の実際的な限界を設定するために、この頻度分布
の予想の知識を使用して連合機能ならびに局部記憶の配分を計画できる。
低頻度入力数字対は、それらか要求する入力部分と不釣合いな速さで、局部記憶
を使い果してしまうので、本発明の好適モードは、出力へのアペンデージとして
低頻度数字対を渡すことによって、低頻度数字対が局部記憶を使い果たす空間を
限定する方法を具備している。
これは、入力の新情報量と関連した方法で、出力サイズを増大する効果かある。
本発明の機械の好適モードにおいて、各レベルは、大ダイナミックラムメモリを
備えたINMON T2O(ll−ランスピユータと、オペレーティングソフト
ウェアのコピーより成っている。Ta2Oは、4ギガバイトまでのメモリを直接
アドレス指定できる32ビットアドレス空間を存している。各レベルは、直列通
信リンクによって、各々、その上位のレベルに結合され、別の直列通信リンクに
よって、各々、その下位のレベルに結合されている。最上位および最下位レベル
は、人力/出力インタフェースに結合されている。
各レベルの作用は、レベルが高くなるほど記録サイズが小さくなるということ以
外は、他のレベルの作用と同じである。記録サイズとは、データ格納時に最高レ
ベルからの1アドレス値の出力となる、データ量のことである。この同一記録サ
イズは、最高レベルに提供されたlアドレス値に由来する復元プロセスのときに
、各レベル毎に生成される出力に適用される。
局部記憶に格納されるデータは、連結リストにこれらの項目を結合する各対およ
びポインタの出現回数と、入力データストリームの一部であった数字の固有対と
、から成っている。使用されるのは、論理的に別個の連結リストの固定番号であ
る。連結リストは、物理的順序と同一ではない論理的順序をリストが存すること
のできるデータ構造である。各要素が次のものへのポインタを有しているので、
連結リストは順次アクセスされる。
入力からの各数字対に、いずれか1個の連結リストを割り当てるためにハツシュ
関数が使用される。ハツシュ関数は、数多の項目(この場合は、入力数字対)を
、少数の値(この場合は、ハツシュインデックステーブルへのインデックス)に
マツピングする。好適実施例で使用されるハツシュ関数は、入力対の数字2個の
合計である16個の最下位ビットを取る。
ハツシュインデックステーブルは、各連結リストの論理的第一エントリに対する
ポインタを含む固定長テーブルである。好適実施例では、ハツシュインデックス
テーブルは65536個のアドレスを含むか、その各々は、対応連結リストの論
理的第一エントリの32ビツトアトルスである。
一つのエントリの長さは4ワードである。最初の2ワードは、少なくとも1回以
上出現した数字対である。次のワードは、連結ポインタ、即ち同一連結リストの
一部である別のエントリのアドレス、である。四番目のワードは、その対が入力
データ中に何回出現したかの回数である。
連結リストは、最も頻繁に出現したエントリがリストの最初に来て、最も出現し
た頻度が少なかったエントリかリストの最後に来るように保持される。
各連結リストは、ハツシュインデックステーブルに含まれるポインタから始まる
。このポインタは、(リストにいずれかのエントリがある場合には)メモリ内の
エントリのアドレス、または、リストの最後を示すデフォルト値である。
格納のためにレベルに入力記録を提供するときは、以下の手順に従う。プロセッ
サは、記録を最初から始める入力数字対を取り、ハツシュ関数を使用してハツシ
ュインデックステーブルで適当なエントリを決定し、一致する数字対が見つかる
か、リストの最後に達するまで、指定された連結リストを探索する。
連結リスト内を探索するとき、プロセッサは、探索後にリストを更新するときに
必要となるであろう数件の情報のトラックをとっておく。また、逆方向ポインタ
がないので、現在見ているエントリの一つ前のエントリ(以下、第−前エントリ
と言う)に対するポインタと、その前の連結ポインタ(第二前連結ポインタ)と
をとっておく。
合致するものが見つからなければ、この新項目は次のようにしてリストに追加さ
れる。リスト内の最終エントリの連結ポインタは、未使用メモリ中の次の利用可
能空間を指定するように設定され、入力数字対、その回数、およびリストの最後
を示すデフォルトポインタを使用して、その空間に新しいエントリが作られる。
新エントリのアドレスが出力記録に入る。
合致するものが見つかった場合は、そのエントリのアドレスが出力記録に入り、
そのエントリの回数が増分される。但し、この回数が、再連結に関する所定しき
い値より多く第−前エントリの回数を越える場合は、このエントリはリストの論
理的シーケンスに上げられる。これは、当該連結ポインタと二つの前エントリと
を書き換えることによって実施される。現エントリの連結ポインタにあったアド
レスは、第−前エントリの連結ポインタにコピーされる。第−前エントリのアド
レスは、現エントリの連結ポインタに書き込まれる。現エントリのアドレスは、
第二前リンクポインタに書き込まれる。
一つの入力対の処理か終了すると、同人力記録からの次の入力対が取られ、同じ
ように処理される。
あるレベルの使用可能メモリがいっばいになった場合、その中にはもうデータ対
を格納できない。したがって、既存のデータ対のいずれかに合致しない入力対を
構造に追加することは不可能である。新しい入力記録の格納時にこのような非合
致入力対が発生した場合、アドレスの代わりに空白値か出力記録に書き込まれ、
当該データ対はアペンデージとして出力記録の最後に入る。入力記録と一緒に受
理されるこのようなアペンデージも、出力記録の最後に追加されるので、あらゆ
るレベルからのアペンデージは、最高レベルからの出力に一緒に入っている。
構造が比較的いっばいになるまで出現しはじめないデータ対のために、あるレベ
ルのメモリの一部を確保する本発明の代替実施例では、メモリを、アドレス空間
の両端から組み立てられる二つのヒープとして扱う。一方は永久メモリと呼ばれ
る。他方は一部メモリと呼ばれる。各レベルのオペレーションの初期モードのと
き、すべての新エントリ永久メモリに作られる。メモリの所定部分がいっばいに
なると、第二モードのオペレーションが始まり、その間、新エントリ用に一部メ
モリか使用される。
この一時ヒープのエントリは、永久メモリのエントリと同構造であるか、保持は
同方法では行われない。一時エントリは、当該レベルへの入力で出現したものの
永久メモリに入れるほどの頻度ではない数字対を保持する。一時エントリの中に
は空白のものもあり、即ち、その位置には現在は有効数字対が保持されていない
ことを示すデフォルト値を入れておくことができる。
各連結リストは、ハツシュインデックステーブルに入っているポインタで始まる
。このポインタは、(リストにいずれかの永久エントリがある場合には)永久メ
モリ内のエントリのアドレス、または、このリストの事前に割当てられた第−一
部エントリのアドレスである。永久エントリがある場合、それらの各々は、事前
に割当てられた第−一部エントリを指定する最後のもの以外は、別の永久エント
リを指定する。リストには、追加的な一部エントリもある。各一時エントリは、
リストの最後を示すポインタにデフォルト値を有する最後のもの以外は、隣の一
部エントリを指定する。
連結リスト内を探索するとき、プロセッサは、探索後にリストを更新するときに
必要となるであろう数件の情報のトラックをとっておく。また、逆方向ポインタ
かないので、現在見ているエントリの一つ前のエントリ(以下、第−前エントリ
と言う)に対するポインタと、その前の連結ポインタ(第二前連結ポインタ)と
をとっておく。永久メモリの連結リストの最後に達した場合、ポインタ1個を永
久メモリの最後の連結ポインタとしてとっておく。リスト内に永久エントリがな
かった場合、ハツンユインデックルテーブル内の位置は、永久メモリでの最終連
結ポインタであると見なされる。連結リストの永久部分の探索後、当該リストの
事前割当て第−一部エントリで始まる対応一時リストが探索される。リスト内に
、いずれか空の一部エントリが見つかった場合、ポインタを第−空一部エントリ
に保管する。
合致するものか見つからなければ、低頻度入力対の出現を示す出力値が出力記録
に入り、入力対は低頻度了ペンデージ用のバッファにコピーされ、新項目は次の
ようにしてリストに追加される。空の一部エントリが見つかった場合、その中に
数字対を格納し、カウンタを1に初期設定する。空の一部エントリか見つからな
かった場合、リスト内の最後のエントリの連結ポインタは、一時ヒープ上の次の
利用可能空間を指定するように設定され、入力数字対、その回数、およびリスト
の!&後を示すデフォルトポインタを使用して、新しいエントリが作られる。
永久領域で合致するものが見つかった場合は、そのエントリのアドレスか出力記
録に入り、そのエントリの回数か増分される。但し、この回数が、再連結に関す
る所定のしきい値より多く第−前エントリの回数を越える場合は、このエントリ
はリストの論理的シーケンスに上げられる これは、当該連結ポインタと二つの
前エントリとを書き換えることによって実施される。現エントリの連結ポインタ
にあったアドレスは、第−前エントリの連結ポインタにコピーされる。第−前エ
ントリのアドレスは、現エントリの連結ポインタに書き込まれる。現エントリの
了ドレスは、第二前リンクポインタに書き込まれる。
一時領域で合致するものが見つかった場合は、そのエントリの回数が増分される
。二の回数が、永久メモリを作るための所定のしきい値を越える場合、このエン
トリは永久メモリに移行される。これは、永久メモリ内の次の利用可能空間を使
用してエントリを作ることによって実施される。入力数字対と回数とは、新エン
トリにコピーされる。一時メモリ内の現エントリは、空の一部エントリのために
デフォルト値を書き込むことによって空にできる。永久メモリ内の最終連結ポイ
ンタに保持されているアドレスは新エントリにコピーされ、新エントリのアドレ
スは(永久メモリ内の最終連結ポインタだった)連結ポインタに書き込まれる。
こうして新永久エントリのアドレスは、出力記録に入れられる。回数かしきい値
を越えない場合、低頻度入力対の出現を示す出力値が出力記録に入れられ、入力
対は低頻度アペンデージのバッファにコピーされる。
一時または永久エントリを追加するだけの空間か残っていない場合は、必ず、す
べての一時エントリか廃棄される。これは、各リストの事前割当て第−一部エン
トリを、空として、および、そのリスト内の最終エントリとしてマーキングする
ことによって実施される。
一つの入力対の処理が終了すると、同人力記録からの次の入力対が取られ、同じ
ように処理される。入力記録の固定長部分の最後には、下位レベルからの低頻度
数字のアペンデージを入れることができる。このアベンデージは、出力、次に低
頻度アペンデージ用の当該レベルのバッファの内容に、コピーできる。
Claims (6)
- 1.入力データストリームを受信して、入力データストリームを、整列された格 納データ本体に変換するために効果のある装置であって、順番に整列された複数 のメモリレベルと;各々1個のメモリレベルと関係のある複数の処理手段と;か ら成り、第一メモリレベルに関連付けられた前記処理手段は、前記入力データス トリームを受信し、前記ストリームを分析して前記ストリーム中の未出現シーケ ンスを検出し、前記第一メモリレベルにそのシーケンスを格納し、前記入力スト リーム中の各データエレメントシーケンスの第一メモリレベルでの格納位置を表 す信号を出力する働きをなし、後続の各メモリに関連付けられた処理手段は、次 の下位メモリレベルに関連付けられた処理手段からの出力信号を受信し、当該出 力信号中に出現したデータエレメントの未出現シーケンスを、その関連メモリレ ベルで検出ならびに格納し、その入力信号の各データエレメントシーケンスの関 連メモリレベル内の格納位置を表す信号を次の上位メモリレベルと関連付けられ た処理手段に出力する働きをなすことを特徴とする、前記装置。
- 2.各処理手段で使用されるデータエレメントのシーケンスは、エレメント対か ら成ることを特徴とする、請求の範囲第1項に記載の装置。
- 3.各メモリレベルに、各格納入力シーケンスの入力信号中の出現数を記録する ための手段を具備することを特徴とする、請求の範囲第1項に記載の装置。
- 4.入力データストリームを受信して、この入力データストリームを、入力デー タストリームを復元できる整列された記憶アレイに変換するために有効な装置で あって、 整列されたメモリレベルのシーケンスと;下位のメモリレベルに関連付けられた 処理手段からの入力信号を受信し、その入力信号中のいずれかエレメントのシー ケンスをその関連メモリレベルに格納し、順次上位のメモリレベルに関連付けら れた処理エレメントヘの出力信号を生成する働きを各々がなす複数の処理手段と ;から成り、前記各処理手段は、当該入力ストリーム中の複数の連続データエレ メントを、当該出力信号の単一データエレメントに変換する働きをなし、前記各 処理手段は、更に、各メモリレベルが入力データエレメントの固有シーケンスを 単一位置のみ格納するように、当該入力ストリームに初めて出現したエレメント シーケンスを当該関連メモリに格納する働きをなすことを特徴とする、前記装置 。
- 5.入力データストリームを復元できる整列されたデータ本体を生成するために 入力データストリームに関して運用する方法であって、データエレメントの未出 現シーケンスを検出して入力データストリームを分析し、このような未出現シー ケンスを格納手段に格納し、前記格納手段内のデータエレメントの各入力シーケ ンスの格納場所の表す出力信号、前記出力信号のデータエレメントは前記入力シ ーケンスよりも少ない、を生成するアルゴリズムから成り、かかる出力信号で前 記アルゴリズム実施することを特徴とする、前記方法。
- 6.入力データストリームを受信して、入力データストリームを復元できるメモ リ手段内データ整列構造に変換するために有効な装置であって、前記入力ストリ ーム内のデータエレメントの入力シーケンスを分析し、前記メモリ手段内のかか るデータエレメントの少なくともいずれか未出現シーケンスを格納し、データエ レメントの少なくともいずれか入力シーケンスのメモリ手段での格納位置を表す 出力信号、前記出力信号のデータエレメントは前記入力シーケンスよりも少ない 、を生成するための、複数の順次整列された手段から成り、最初のかかる分析手 段は、前記入力データストリームを入力シーケンスとして順次受信し、後続のか かる分析手段は、かかる手段の下位のものから出力信号を順次受信し、それらの 出力信号をかかる手段の上位のものに順次送出することを特徴とする、前記装置 。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/706,949 US5245337A (en) | 1991-05-29 | 1991-05-29 | Data compression with pipeline processors having separate memories |
| US706,949 | 1991-05-29 | ||
| PCT/US1992/003932 WO1992022141A1 (en) | 1991-05-29 | 1992-05-11 | Data compression using multiple levels |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH06508456A true JPH06508456A (ja) | 1994-09-22 |
| JP3217781B2 JP3217781B2 (ja) | 2001-10-15 |
Family
ID=24839760
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP50042393A Expired - Fee Related JP3217781B2 (ja) | 1991-05-29 | 1992-05-11 | 多重レベルを利用するデータ圧縮 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US5245337A (ja) |
| EP (1) | EP0588921A4 (ja) |
| JP (1) | JP3217781B2 (ja) |
| CA (1) | CA2103445A1 (ja) |
| WO (1) | WO1992022141A1 (ja) |
Families Citing this family (48)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5386211A (en) * | 1993-09-29 | 1995-01-31 | Intel Corporation | Method and apparatus for recording and reconstructing binary data in a compressed form |
| JP3617672B2 (ja) * | 1994-03-14 | 2005-02-09 | 富士通株式会社 | 並列プロセッサシステム |
| US5689255A (en) * | 1995-08-22 | 1997-11-18 | Hewlett-Packard Company | Method and apparatus for compressing and decompressing image data |
| US5659755A (en) * | 1995-11-20 | 1997-08-19 | International Business Machines Corporation | Method and system in a data processing system for efficiently compressing data using a sorting network |
| DE19653671C2 (de) * | 1996-12-13 | 2000-01-27 | Deutsch Zentr Luft & Raumfahrt | Verfahren und Vorrichtung zur Archivierung von Bildvorlagen mittels digitaler Bilddatenverarbeitung, insbesondere von Filmen |
| WO1998026579A1 (de) | 1996-12-13 | 1998-06-18 | Deutsches Zentrum für Luft- und Raumfahrt e.V. | Verfahren zur archivierung von bildvorlagen mittels digitaler bilddatenverarbeitung |
| US6032148A (en) * | 1997-09-15 | 2000-02-29 | Hewlett-Packard Company | Multilevel storage system with hybrid data compression |
| US5966709A (en) * | 1997-09-26 | 1999-10-12 | Triada, Ltd. | Method of optimizing an N-gram memory structure |
| US6018734A (en) * | 1997-09-29 | 2000-01-25 | Triada, Ltd. | Multi-dimensional pattern analysis |
| JP3598211B2 (ja) * | 1998-01-13 | 2004-12-08 | 富士通株式会社 | 関連語抽出装置および関連語抽出方法および関連語抽出プログラムが記録されたコンピュータ読取可能な記録媒体 |
| EP0957586A1 (en) * | 1998-05-15 | 1999-11-17 | Algorithmic Research BV. | Method for data compression |
| US7139765B1 (en) | 2000-04-03 | 2006-11-21 | Alan Balkany | Hierarchical method for storing data with improved compression |
| US6728852B1 (en) * | 2000-06-30 | 2004-04-27 | Sun Microsystems, Inc. | Method and apparatus for reducing heap size through adaptive object representation |
| US6553455B1 (en) | 2000-09-26 | 2003-04-22 | International Business Machines Corporation | Method and apparatus for providing passed pointer detection in audio/video streams on disk media |
| US7809879B1 (en) | 2000-09-26 | 2010-10-05 | International Business Machines Corporation | Method and apparatus for providing stream linking in audio/video disk media |
| GB0100331D0 (en) * | 2001-01-06 | 2001-02-14 | Secr Defence | Method of querying a structure of compressed data |
| US6653950B2 (en) * | 2001-09-13 | 2003-11-25 | Unisys Corporation | Data compression method and apparatus utilizing cascaded subdictionaries |
| US6614368B1 (en) * | 2002-01-16 | 2003-09-02 | Unisys Corporation | Data compression method and apparatus utilizing cascaded character tables |
| ITUD20020085A1 (it) * | 2002-04-12 | 2003-10-13 | Neuricam Spa | Dispositivo elettro-ottico per l'acquisizione e l'elaborazione di immagini |
| US6961733B2 (en) | 2003-03-10 | 2005-11-01 | Unisys Corporation | System and method for storing and accessing data in an interlocking trees datastore |
| US8516004B2 (en) * | 2003-09-19 | 2013-08-20 | Unisys Corporation | Method for processing K node count fields using an intensity variable |
| US7340471B2 (en) | 2004-01-16 | 2008-03-04 | Unisys Corporation | Saving and restoring an interlocking trees datastore |
| US7593923B1 (en) | 2004-06-29 | 2009-09-22 | Unisys Corporation | Functional operations for accessing and/or building interlocking trees datastores to enable their use with applications software |
| US7213041B2 (en) | 2004-10-05 | 2007-05-01 | Unisys Corporation | Saving and restoring an interlocking trees datastore |
| US7716241B1 (en) | 2004-10-27 | 2010-05-11 | Unisys Corporation | Storing the repository origin of data inputs within a knowledge store |
| US7908240B1 (en) | 2004-10-28 | 2011-03-15 | Unisys Corporation | Facilitated use of column and field data for field record universe in a knowledge store |
| US7348980B2 (en) | 2004-11-08 | 2008-03-25 | Unisys Corporation | Method and apparatus for interface for graphic display of data from a Kstore |
| US7499932B2 (en) * | 2004-11-08 | 2009-03-03 | Unisys Corporation | Accessing data in an interlocking trees data structure using an application programming interface |
| US20070162508A1 (en) * | 2004-11-08 | 2007-07-12 | Mazzagatti Jane C | Updating information in an interlocking trees datastore |
| US7418445B1 (en) | 2004-11-08 | 2008-08-26 | Unisys Corporation | Method for reducing the scope of the K node construction lock |
| US7676477B1 (en) | 2005-10-24 | 2010-03-09 | Unisys Corporation | Utilities for deriving values and information from within an interlocking trees data store |
| US7409380B1 (en) | 2005-04-07 | 2008-08-05 | Unisys Corporation | Facilitated reuse of K locations in a knowledge store |
| US7389301B1 (en) | 2005-06-10 | 2008-06-17 | Unisys Corporation | Data aggregation user interface and analytic adapted for a KStore |
| JP4670496B2 (ja) * | 2005-06-14 | 2011-04-13 | 住友電気工業株式会社 | 光受信器 |
| US20070214153A1 (en) * | 2006-03-10 | 2007-09-13 | Mazzagatti Jane C | Method for processing an input particle stream for creating upper levels of KStore |
| US20070220069A1 (en) * | 2006-03-20 | 2007-09-20 | Mazzagatti Jane C | Method for processing an input particle stream for creating lower levels of a KStore |
| US20080275842A1 (en) * | 2006-03-20 | 2008-11-06 | Jane Campbell Mazzagatti | Method for processing counts when an end node is encountered |
| US7734571B2 (en) * | 2006-03-20 | 2010-06-08 | Unisys Corporation | Method for processing sensor data within a particle stream by a KStore |
| US7689571B1 (en) | 2006-03-24 | 2010-03-30 | Unisys Corporation | Optimizing the size of an interlocking tree datastore structure for KStore |
| US8238351B2 (en) * | 2006-04-04 | 2012-08-07 | Unisys Corporation | Method for determining a most probable K location |
| US7676330B1 (en) | 2006-05-16 | 2010-03-09 | Unisys Corporation | Method for processing a particle using a sensor structure |
| US9143163B2 (en) * | 2007-04-24 | 2015-09-22 | Zinovy D Grinblat | Method and system for text compression and decompression |
| US20090201989A1 (en) * | 2007-11-01 | 2009-08-13 | Sherjil Ahmed | Systems and Methods to Optimize Entropy Decoding |
| US8326605B2 (en) * | 2008-04-24 | 2012-12-04 | International Business Machines Incorporation | Dictionary for textual data compression and decompression |
| US8326604B2 (en) * | 2008-04-24 | 2012-12-04 | International Business Machines Corporation | Dictionary for textual data compression and decompression |
| US8106799B1 (en) * | 2009-03-23 | 2012-01-31 | Marvell International Ltd. | Data compression and decompression using parallel processing |
| JP2011002952A (ja) * | 2009-06-17 | 2011-01-06 | Sony Corp | 演算処理装置、処理ユニット、演算処理システム及び演算処理方法 |
| US9852055B2 (en) | 2013-02-25 | 2017-12-26 | International Business Machines Corporation | Multi-level memory compression |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1492260A (en) * | 1974-10-29 | 1977-11-16 | Int Computers Ltd | Data processing systems |
| WO1988009586A1 (en) * | 1987-05-25 | 1988-12-01 | Megaword International Pty. Ltd. | A method of processing a text in order to store the text in memory |
| US5006849A (en) * | 1989-07-26 | 1991-04-09 | Astro, Inc. | Apparatus and method for effecting data compression |
| US5023610A (en) * | 1990-06-13 | 1991-06-11 | Cordell Manufacturing, Inc. | Data compression method using textual substitution |
-
1991
- 1991-05-29 US US07/706,949 patent/US5245337A/en not_active Expired - Lifetime
-
1992
- 1992-05-11 CA CA002103445A patent/CA2103445A1/en not_active Abandoned
- 1992-05-11 JP JP50042393A patent/JP3217781B2/ja not_active Expired - Fee Related
- 1992-05-11 WO PCT/US1992/003932 patent/WO1992022141A1/en not_active Ceased
- 1992-05-11 EP EP92913110A patent/EP0588921A4/en not_active Withdrawn
- 1992-11-18 US US07/978,360 patent/US5293164A/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP3217781B2 (ja) | 2001-10-15 |
| US5245337A (en) | 1993-09-14 |
| EP0588921A4 (en) | 1995-04-19 |
| US5293164A (en) | 1994-03-08 |
| CA2103445A1 (en) | 1992-11-30 |
| EP0588921A1 (en) | 1994-03-30 |
| WO1992022141A1 (en) | 1992-12-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06508456A (ja) | 多重レベルを利用するデータ圧縮 | |
| US5592667A (en) | Method of storing compressed data for accelerated interrogation | |
| Bassiouni | Data compression in scientific and statistical databases | |
| US5748955A (en) | Stream data compression system using dynamic connection groups | |
| Aoe | An efficient digital search algorithm by using a double-array structure | |
| US6119120A (en) | Computer implemented methods for constructing a compressed data structure from a data string and for using the data structure to find data patterns in the data string | |
| WO1995017783A9 (en) | Data compression system | |
| US5815096A (en) | Method for compressing sequential data into compression symbols using double-indirect indexing into a dictionary data structure | |
| Diwate et al. | Study of different algorithms for pattern matching | |
| US8463759B2 (en) | Method and system for compressing data | |
| US6226411B1 (en) | Method for data compression and restoration | |
| JPH04267630A (ja) | データ圧縮装置及びデータ復元装置 | |
| JPH10261969A (ja) | データ圧縮方法および装置 | |
| JP2001022766A (ja) | 多次元データベースの高速処理方法および装置 | |
| JP3534471B2 (ja) | マージソート方法及びマージソート装置 | |
| Park et al. | An algorithm for dynamic processing of DAWG's | |
| JP3053656B2 (ja) | データ圧縮における辞書登録方式 | |
| JP4036514B2 (ja) | データ圧縮方法とデータ復元方法およびソートマージ処理装置とソートマージ処理方法およびこれら方法のプログラムを記録した媒体 | |
| JPH047758A (ja) | ファイル処理装置 | |
| JP2799228B2 (ja) | 辞書初期化方式 | |
| JP2852253B2 (ja) | データ検索装置 | |
| Bell | Data compression | |
| JP3422412B2 (ja) | 可変長レコードの差分圧縮方法 | |
| JPH0546675A (ja) | 情報圧縮・検索方式 | |
| JPS5827240A (ja) | フアイル記憶方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |