JPH04500571A - 圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置 - Google Patents

圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置

Info

Publication number
JPH04500571A
JPH04500571A JP1508289A JP50828989A JPH04500571A JP H04500571 A JPH04500571 A JP H04500571A JP 1508289 A JP1508289 A JP 1508289A JP 50828989 A JP50828989 A JP 50828989A JP H04500571 A JPH04500571 A JP H04500571A
Authority
JP
Japan
Prior art keywords
symbols
symbol
search tree
dictionary
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1508289A
Other languages
English (en)
Other versions
JP3006766B2 (ja
Inventor
クラーク、アラン・ダグラス
Original Assignee
ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=10639895&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH04500571(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー filed Critical ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー
Publication of JPH04500571A publication Critical patent/JPH04500571A/ja
Application granted granted Critical
Publication of JP3006766B2 publication Critical patent/JP3006766B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Breeding Of Plants And Reproduction By Means Of Culturing (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 (技術分野) 本発明はデータを圧縮する方法および装置、圧縮されたデータをデコードする方 法および装置、データを送信する方法、および圧縮されたデータを利用するデー タ処理装置に関する。
上記方法および装置はサーチツリー(検索水)を有するディクシッナリを必要と する適応ストリングエンコード技術とこのサーチツリーを維持するための手段を すべて利用する。本発明は特殊だが専用的ではないZiv−Lempelアルゴ リズムを利用する適応ストリングエンコードに適用できる。このアルゴリズムの 基本的な手法はIEEE Transactions’JT−28,3rd M ay1977 ppB97−348°A Universal Algorit hm for 5equentia!Data Compression ”  −J、 Zlv and A、 Le+mpelに記載されている。
(背景技術) 基本的なZiv−Lempelエンコーダは各エントリ(登B)が関連するイン デックス番号を持つディクシ5ナリを有する。初め、ディクシッナリはソースで ある基本的なアルファベットのみを含む。エンコード処理中、新しいディクショ ナリエントリは単独のシンボルを存在するエントリに追加することによって作ら れる。ディクシ5ナリはソースアルファベットの接続されたシンボルのサーチツ リー構造であると考えられるだろう。ツリーにおけるノード(8点)はツリーの 根で始まるシンボルの特別のシーケンスに対応し、データはツリーにおけるノー ドに対応する圧縮されていない入力データのシンポルのストリングを認識し、適 合したノードに対応するメモリ位置のインデックスを送信することによって圧縮 される。
対応するサーチツリーは圧縮されたデータを表すインデックスを受信するデコー ダに供給され、圧縮されたデータをそれ本来の構成に復元するために逆処理がデ コーダによって行われる。エンコーダのサーチツリーは、さらにシンボルのスト リングが入力データにおいて識別されるエンコード処理中に徐々に成長し、圧縮 されたデータをデコードするためのデコーダをイネーブルにするために、そのサ ーチツリーはエンコーダのサーチツリーに対応するように更新しなければならな い。
Zlv−Lempelアルゴリズムはサーチツリーをその基本的な構成で記憶す るために無限に大きなメモリを必要とするので、Zlv−Le■pelアルゴリ ズムを実際に実行するのが困難であることがわかってきた。しかしながら、Su ssenguth (ACM SortSymposium 19B2 )によ って開示されている− trie ”構造のようなデータ構造の使用によって、 テキストストリングに関連した記憶効率やサーチ時間が大きく向上できる。EP A127815(Miller&Vegsan )やEPA129439 (V elch )には、trie構造の使用を基にしたz1シーLelpelアルゴ リズムと同じ手法が開示されている。
EPA127.815 (Miller & Vegaan )では、メモリ効 率を高め、エンコード処理をスピードアップするZiv−Le■pa+アルゴリ ズムについての改良手法が記載されている。ディクシッナリは、単独のキャラク タを含む各ノードとプレフィックスストリングを表す親ノードに対するポインタ と共に、ツリーの構造で保持される。ハッシニテーブルは、適合したサブストリ ングと次の入力キャラクタが与えられた場合、拡張されたサブストリングがディ クシッナリにあるかどうかを判定するために用いられる。しかしながら、ハッシ ニテーブルには、ディクシッナリをエンコードするのに用いられる基本的なツリ ー構造の記憶に対して必要なメモリに加えて、十分な容量のメモリや処理時間が 必要である。
EPA129.489 (Velch )では、入力メツセージにおけるシンボ ルのストリングが認識および記憶される高速データ圧縮伸張装置および方法が開 示されている。ストリングはストリングテーブルに入力され、ストリングテーブ ルにおいて、N個(典型的にはNは1から4)のハッシニテーブルアドレスのセ ットを与えるために先のフード信号と拡張キャラクタを含むハッシニキーを利用 するハッシニ機能によってサーチされる。N個のRAM位置はシーケンシャルに サーチされ、もしアイテムがN個の位置にない場合、そのアイテムはテーブルに ないとみなされる。この手順は圧縮効率を減少するといわれるが、実質的に実行 が簡単であるといわれる。
US 4,812.532 (Bacon et al )では、Zjv−Le spelアルゴリズムを基にせず、キャラクタが発生する頻度の順序で、各キャ ラクタが通常続くキャラクタのfollow set”テーブルに関連したキャ ラクタの流れの動的エンコードのためのシステムが開示されている。それらのテ ーブルは予め決められた長さを有し、それゆえ、ツリーの枝分れの度合は必らず 制限される。
米国公報(US4,464.650)は、ZLv−Lempelアルゴリズムに 基づいて、入力データを圧縮する方法について開示している。この方法は、メモ リを備えたプロセッサにデータの連続記号を送り込み、入力データの記号ストリ ング(列)から、記号ストリングを表現するバス(path)を有するメモリに 、記号の探索木の形式でディクシ日ナリを発生し、以前に探索木に格納されたバ スを有する入力データに記号ストリングを整合し、さらに格納されたバスから入 力データに応じた圧縮出力データを発生する各ステップからなる。しかしながら 、回路群に利用されるデータ構造は高度に複雑であり、さらにハツシング(h  a s h i n g)機能が要求されている。
説明される型のエンコーダの実現に固有の特殊な問題は、探索木が利用可能なメ モリ空間の限界まで成長したときに発生する。新たなストリングを記憶するため のメモリ空間の確保のために、探索木のサイズを引き下げる(即ち、刈り取る) ことが必要である。このような機能を実現するいくつかの周知の方法がある。例 えばコンビ二−タ・アーキテクチャと並列処理という書籍(HwangとBr1 gg5著、McGraw Hill 1985年)に掲載されている。通常使用 される技術として、MillerとWegman (EPAI27815に記載 )I;よりZiv−Lempelアルゴリズムを適用したLRU法(Least  Recently Used)がある。さらに、MayneとJ ame s  (Computer Journal 1975年18.2157〜160ペ ージに記載されているInformationCompression by  FactorisingCommon Strings)により同類のストリン グ・エンコーディング9アルゴリズムを適用したLFU法(Least Fre quently Used)、FIFO(First In First 0u t)、LIFO(Last In Ftrst 0ut)、CLOCKアルゴリ ズムおよびランダム置換え法がある。後半の4つの技術は、Ziv−Lempe lアルゴリズムを適用しない内容である。圧縮効果に不利益をもたらす初期状態 に戻すときに、探索木をリセットすることが知られている。また、メモリ容量が 不足したときに、データ交換特性に悪影響を及ぼすため、新たなストリングの追 加を中止することが知られている。
本発明の目的は、これらの先行技術に関する改善を提供することにある。このよ うな目的を達成するために、本発明は以下のような構成を有する方法を提供する ことにある。この方法は、索引記憶領域を有するメモリを備えたプロセッサによ りデータの連続記号を読出し、入力データの記号ストリング(列)から、記号ス トリングを表現するバス(path)を有するメモリに記号の探索木の形式でデ ィクシッナリを発生し、以前に探索木に格納されたバスを有する入力データに記 号ストリングを整合し、さらに格納されたバスから入力データに応じた圧縮出力 データを発生する各ステップからなる。
探索木に格納された記号群は、2つの異なるタイプのリンクしているポインタに よりパスの構成にリンクされている。格納された記号群間の第1のタイプのポイ ンタは、これらの記号群が入力された記号順に位置を与えられた記号の中から二 者択一が可能であることを指示している。さらに、格納された記号群間の第2の タイプのポインタは、これらの記号群の両者が必要に応じて、記号順に発生する ことが可能であることを指示している。このような構成において、メモリが満杯 のとき、探索木の一連の索引記憶領域が探索木のノードを含むならば、テストさ れて削除される。この探索木は、他のノードを指示する第2のタイプのリンクし ているポインタを備えておらず、さらに新たなディクショナリ・エントリ(辞書 エンド1ハ辞書登録)のために利用可能な自由記憶領域も備戴されていない木に より表現されているストリングの幾つかまたは全部の削除に応じて、探索木の索 引記憶領域のテストおよび削除を行なう。この特徴は制限されたサイズのメモリ に高度に複雑な探索木を格納することを可能し、前記の米国公報(US4,46 4,650)とEPA127815の両者の構成と比較すれば、有用な簡単化を 実現することができる。
また、米国公報(US4,464,650)は、対応する圧縮データをデコード する方法について開示している。この方法は、メモリを備えたプロセッサにデー タの連続記号を送り込み、記号の探索木の形式でディクショナリをメモリに格納 し、さらに圧縮データをデコードデータに変換するための探索木を利用する各ス テップからなる。
他の見地として、本発明は前記の方法により圧縮された圧縮データをデコードす る方法を提供する。この方法は、メモリを備えたプロセッサが圧縮データの連続 文字列を読出し、圧縮データから組み立てられた記号群の探索木の形式でディク シ■ナリをメモリに格納し、さらに圧縮データをデコードデータに変換するため の探索木を利用する各ステップからなる。探索木に格納された記号群は、2つの 異なるタイプのリンクしているポインタによりパスの構成にリンクされている。
格納された記号群間の第1のタイプのポインタは、これらの記号群が同一記号数 と同一の接頭語を有する記号群のデコードされた異種のストリングを関連付け、 そのような異種のストリングの各最後の記号であることを指示している。さらに 、格納された記号群間の第2のタイプのポインタは、これらの探索木は前記のよ うな本発明の一方の見地に基づいて定義された方法により処理されることが特徴 である。
また、US 4.46番、650には、入力データの連続した受信シンボルを受 信可能なブロッセッサと、メモリと、入力データにおけるシンボルのストリング を表すパスを有するシンボルのサーチツリーをメモリに格納する手段と、入力デ ータにおけるシンボルストリングとサーチツリー内の予め格納されたパスとの整 合をとり、入力データに対応する圧縮された出力データを格納されたパスから発 生する手段とを具備する入力データ圧縮のためのエンコーダも開示している。
この発明の別の見地によれば、入力データを圧縮するエンコーダであって、入力 データの連続したシンボルを受信可能なブロッセッサと、指標付きメモリロケー ションを有するメモリと、入力データにおけるシンボルのストリングを表すパス を存するシンボルのサーチツリーをメモリに格納する手段と、入力データのシン ボルストリングとサーチツリー内の予め格納されたパスとの整合をとり、入力デ ータに対応する圧縮された出力データを格納されたパスから発生する手段とを具 備し、サーチツリー内の格納されたシンボルは2つの別個のタイプの連結ポイン タによって前記パスを形成するように連結されており、格納されたシンボル間に おける第1タイプのポインタは、これら格納されたシンボルが入力シンポルシー ケンスの所定の位置において択一可能なシンボルであることを示し、格納された シンボル間におけるji2タイプのポインタは、これら格納されたシンボルが入 力シンポルシーケンスにおいて順番に双方とも発生することを示すエンコーダに おいて、使用時において、プロセッサが、メモリが満たされた時、サーチツリー のシーケンシャルな指標付きロケーションを検査し、別のノードを示す第2タイ プの連結ポインタを有しないサーチツリーのノードを含むメモリロケーションを 削除して、新規辞書エントリ可能な空きメモリロケーションを結果として得るこ とを決定するように構成されることを特徴とするエンコーダが提供される。
また、U S 4.484.650は、圧縮データの連続したシンボルを受信可 能なプロセッサと、メモリと、辞書をシンボルのサーチツリーの形式でメモリに 格納する手段とを具備し、プロセッサが、サーチツリーを利用して圧縮データを デコードされたデータに変換するように構成されている圧縮データのデコードの ためのデコーダを開示している。
この発明の他のもう一つの見地によれば、圧縮データをデコードするデコーダで あって、圧縮データの連続したシンボルを受信可能なプロセッサと、指標付きメ モリロケーションを有するメモリと、辞書をシンボルのサーチツリーの形式でメ モリに格納する手段とを具備し、プロセッサが、圧縮データからサーチツリを構 築し、サーチツリーを利用して圧縮データをデコードされたデータに変換するよ うに構成され、サーチツリーにおける格納されたシンボルが2つの別個のタイプ の連結ポインタによって連結され、格納されたシンボル間の第1タイプのポイン タは、これらシンボルが異なったデコードされたシンボルのストリングに関係し 、その異なったデコードされたストリングが同一数のシンボルを有しており、こ れらシンボルがこのような異なったストリングのそれぞれの最終シンボルあり、 格納されたシンボル間の第2タイプのポインタは、これらシンボルがデコードさ れた出力シンボルのストリングにおける連続したシンボルであることを示すデコ ーダにおいて、使用時に、プロセッサが、メモリが満たされた時、サーチツリー のシーケンシャルな指標付きロケーションを検査し、別のノードを示す第2タイ プの連結ポインタを有しないサーチツリーのノードを含むメモリロケーションを 削除して、新規辞書エントリ可能な空きメモリロケーションを結果として得るこ とを決定するように構成されることを特徴とするデコーダが提供される。
さらに、この発明の特徴は従属クレームに記載されている。
この発明に利用できる他の特徴は、コンピュータ、1984.6月、第8乃至1 9頁の論文’A Technfque for Hlgh−Performan ce Data Compressjon ’にWelchによって記載されて いる。この論文は、参考文献として本願に添付されており、この論文は、Ziv −Le■pelアルゴリズムの初期性能の改良方法を記載している。最初の段階 では、辞書はほとんど空であり、入力データのシンボルストリングのエンコード には少ない数のビットで十分である。辞書が成長すると、コードワードサイズは 予め決められた最大値まで増大する。これは、1万個から2万個までシンボルの エンコーどの処理性能を改善できるが、処理の複雑さの増大はいなめない。
この発明の実施例を以下図1乃至図13を参照して説明する。
図1はこの発明において用いられるサーチ−ツリー(search tree) を示す図、図2はこの発明において用いられる他のサーチ・ツリーを示す図、図 3はこの発明にしたがうデータ・コンブレシラン・プロセスにおけるサーチ・ツ リーの展開を示す図、図4はこの発明に用いられるエンコード用アルゴリズムの 基本的なフロー・ダイアグラム、図5はこの発明に用いられるデコード用アルゴ リズムの基本的なフロー・ダイアグラム、図6はこの発明にしたがうデータ・コ ンブレシラン−プロセスにおけるサーチ・ツリーの“リーフ(leaf)”の挿 入を示すダイアグラム、図7はこの発明の辞書を更新するためのアルゴリズムを 示すフロー・ダイアグラム、図8は図3(a)のサーチ・ツリーの示す図、図9 はこの発明の辞書のアルゴリズムのフロー・ダイアグラム、図10はこの発明に したがうエンコーダを用いるデータ処理システムの概略的なダイアグラム、図1 1は二の発明にしたがうデコーダを用いるデータ処理システムの概略的なダイア グラム、図12はこの発明にしたがうエンコーダおよびデコーダを組込んでいる 通信システム部の概略的なダイアグラム、図13はメモリの指定されたメモリ・ ロケーション・アレジメントを示すダイアグラムである。
図1を参照すると、簡素化されたサーチ・ツリーが示されており、シンボルS1 には他の三つの異なるシンボルS2、S3、S4のいずれか一つが従属している 。−例とし、シンボルS1、S2、S3、S4にはそれぞれ、“c“、a゛、“ e”、°h”が割り当てられ、それによりこのサーチ・ツリーは4本のストリン グ′c2、”c a’、’c e”、“Ch”を示している。したがうて、シン ボルs1は上記したような゛第2のタイプの2リンク用ポインタ、すなわちダウ ン・ポインタDによってシンボルS2にリンクしている。シンボルS2、S3お よびS4は、シンボルs1の後の入力データにおけるストリングで生じる異なる シンボルであるので、それらシンボルは上記したような“第1のタイプの′、す なわち右側ポインタRおよび左側ポインタLによってリンクしている。同様の技 術がバイナリ・ツリー(例えば、デー・クナス(D、Knuth)著“コンピュ ータ・プログラミング技術”、第1巻および第3巻)の表示に用いられている。
しかしながら、このデータ構造はm−aj)’サーチ・ツリーを示すのに用いら れている。
リンク用ポインタDおよびRを用いることによってシンボルS1からシンボルS 2、S3.S4のいずれかにサーチ・ツリーを介してサーチすることも可能であ る。また、左側ポインタLにしたがうことによってシンボルS4の左側にサーチ することも可能である。図1(b)においては、二つのシンボル位置がポインタ によってリンクされて示されており、これらはフリー・メモリ・ロケーションの リストを形成している。このリストはサーチ・ツリーからは分離されているけれ ども、メモリ・ロケーションはフリー・リストとサーチ・ツリーとの間に移送さ れる。入力データのシンボル用総記憶容量はサーチかツリーのメモリーロケーシ ョンおよびフリー・リストにおけるメモリ・ロケーションを含んでいる。シンボ ルS1乃至S4の一つを特定するためにはシンボルの“親1、すなわち直接先行 するダウンポインタDに接続されたシンボルを知ることが必要である。これは各 場合において、例えば親インジケータPによって指示され、文字1c#がシンボ ルS1として格納された場合には、それはシンボルs2、S3、S4の親となり 、親インジケータPはC”のメモリ・ロケーションを指示する。図1の実施例に おいては、親インジケータPはデコーダのサーチ・ツリーにおいてのみ要求され 、エンコーダのサーチ・ツリーには要求されていない。そうでない場合には、エ ンコーダのサーチ拳ツリーとデコーダのサーチ・ツリーとは同じである。
そのノードSが親であるサーチ・ツリー内のノードは、Sの従属ノード、あるい はSの従属体と呼称される。Sの従属ノードはSで示されるストリングに単一文 字を付加することによって形成されたそのストリングを示す。アルファベットを 構成するシンボルのようにいくつかのノードについては、多数の従属ノードが存 在することができる。
因2はより好ましい実施例が示されており、左側ポインタLは除外されており、 親ポインタPはエンコーダおよびデコーダのサーチ・ツリー内に生じる。そうで ない場合には、サーチ・ツリー構造は、図1に示されるそれと同じになる。再び くり返して言うと、シンボル・ロケーションのフリー・リストは12 (b)に 示すメモリ内に保持される。
辞書あるいはサーチ・ツリーは、通常、根源となるシンボルの基本セット、ある いはそれから派生した基本長に二つ以上のシンボルのストリングを示すエントリ (登録)、あるいはノードのみを含んでいる。多くの適用例においては、通常の アルファベットの他に付加的なシンボルを提供するのが望ましい。そのためには 、例えば文字の繰返し発生をエンコード(ラン争レングス(run lengt h) ・エンコード)するための、あるいはストリング・マツチング・プロセス (図13参照)の異常終了を指示するための手段を必要とすシーケンスabca babcabcの符号化は符号化処理中における検索ツリーの評価を示す第3図 及びこのji3図に示される検索ツリー(木)を表す辞書の実際の内容を示すテ ーブルlを参照して以下に説明する。以下に示されるように検索ツリーは辞書エ ントリ1〜MのポインタDR及びPをメモリに使用できる最大値に設定すること によって延ばされる。
テーブルI (a) 表された インデックス シンボル DRP ストリング l a (2) a 2 b (3) b 3 c c テーブルI (a)及び第3(a)図に示されるように辞書は最初、辞書エント リ1.2及び3にそれぞれ記憶されているシンボルa、b及びCだけを含んでい る。これらは所定の順序で記憶されても良く、従って、辞書エントリ1は辞書エ ントリ1に位置する右側リンクポインタ2によって辞書エントリ2にリンクされ る。好適な方法は各シンボルの通常の値をテーブルのその位置に一致することで ある。故に、Nシンボルのセットは範囲0〜N−1または1〜N内の通常の値を 割り当てられる。この割当はシンボルを数として表す二値パターンに単に関連す ることを含んでも良い。メモリのこれらの内容は第3(a)図に示されるような 構成を含んでいる。
多くの応用において、これらの構成の最初のものが好ましい場合、可能なシンボ ルのいくつかだけが発生する。可能なシンボルのほとんどが発生する応用におい て、第2の方法が初期文字の検索時間を減少させる。従って、この第2の方法を 以下に説明する。
シーケンスの最初のシンボル、この例では、“alがエンコーダに入力される。
このシンボルはストリングの最初の文字を表すので、エンコーダは文字の通常の 値、この例では、1を使用し、この文字に対応する検索ツリー内のノードを直接 にアクセスする。このノードはエンコーダに知られ、文字で始まる全てのストリ ングを表すツリーの根を形成する。
シーケンスの次のシンボルがエンコーダによって受け入れられ、現ノードのDポ インタが従属ノードのリストを捜し出すために使用される。エンコーダは一般的 に次のシンボルを従属ノードに含まれるシンボルの1つに整合しようとする。
この試みはノード1がある従属性を有していないのでこの例のように失敗すると 、現ノード/辞書エントリのインデックスを表すコードワード、この例では、数 字1を表すものが送信される。不整合のシンボルが新しいストリングの最初を形 成するために使用される。
エンコーダはストリングが再度発生したときにこのストリングがもっと効果的に 符号化されるように検索ツリーにストリングabを加えることができる。これは この例において検素ツリー(辞書)に新しいノード(エントリ)ナンバー4を作 ることによって達成される。テーブルI (b)及び第3(b)図に示されるよ うにノードが文字“boを有し、従属ノードに対するDポインタは最初ゼロに設 定され、ノードの親に従属するリストの他のノードに対するRポインタはこの例 ではゼロに設定され、親に対するポインタはこの例では1に設定される。
テーブルI (b) 表された インデックス シンボル DRP ストリング この処理は“bゝが新しいストリングの最初の文字として使用される状態で繰り 返される。シーケンスの次のシンボルが“Coであり、それゆえ、上述した処理 を用いて、エンコーダはツリーの中のストリングbc”を見つけようとする。
このシーケンスはエンコーダには知られていない。故に、ストリングb”を表す ノードのインデックスがデコーダと交信され、ストリングbe’が検索ツリーに 加えられる。文字“C”が新しいストリングの最初を形成するために使用される 。更新辞書はテーブルI (c)及び第3(c)図の対応する検索ツリーに示さ れる。
表1 (C) インデックス 記号 D R,P 表されたストリング1 a4 a 2 b5 b 3 c c 4 d 1 mb 5 e 2 bc 次の記号a1この例ではシーケンスの中の第4番目の記号が読み出され、検索ス トリングに付加される。エンコーダはその辞書の中でストリングCaの位置を捜 し出すことを試みる。このストリングは未だ存在しないので、Cに対応する辞書 へのエントリの指標は、デコーダに通信され、指標/文字対(3,a)とも見な されるストリングCaが辞書(検索ツリー)に加えられる。これにより、表1  (d)に示す辞書と、第3(d)図に示す検索ツリーが発生される。整合がとれ なかった文字aは新しい検索ストリングを開始するために使われる。
表1(d) インデックス 記号 DRP 表されたストリング次の記号すが読み出され、検 索ストリングに付加され、ストリングabが形成さりる。記号aに対応するDポ インタはaの従属変数のリストの位置を捜し出すために使われる。エンコーダは Rポインタを用いて従属変数のリストの中から検察ストリングの最後の文字を検 索する。この例では、指標4で調べられた第1の辞書へのエントリは文字すを含 むので、エンコーダは検索ストリングを辞書エントリと整合する。
入力シーケンス中の第6番目の文字である次の記号aがエンコーダにより読まれ 、検索ストリングに付加され、ストリングabaが形成される。エンコーダは最 後に整合された辞書エントリのDポインタ、ここでは4、を用いてストリングa bの従属変数のリストの位置を捜し出す。辞書には従属変数が既知ではないので 、表1(e)、第3(e)図に示すように、新ストリングaba、または(4, a)が辞書に加えられる。指標4がデコーダに通信され、整合されなかった文字 aが新検索ストリングを開始させるために使われる。
表1 (e) インデックス 記号 DRP 表されたストリング表I (e)は第3(e)図 に対応する。 。
エンコーダは次の記号を読出し、検索ストリングに付加し、新袴索ストリングa bを形成する。エンコーダは上述した手続を用いてこの新検索ストリングを辞書 中で検索し、辞書エントリ4と整合させる。次の記号Cを読出し、検索ストリン グに付加し、新検索ストリングabcを形成する。エンコーダはabの従属変数 のリストを検索することにより、この新検索ストリングの位置を捜し出そうと試 みるが、abcを発見することに失敗する。abの指揮、すなわち4はデコーダ に通信され、表1(f)、第3(f)図に示すように、新ストリング(4,c) がエントリ番号8として辞書に加えられる。
表1 (f) インデックス 記号 DRP 表されたストリング7 a 8 4 aba 8 c 4 aba 次のストリング−エンコーディング争サイクルの間に、エンコーダは、ストリン グ”ca=を辞書中のエントリー6と整合させ、6をデコーダーに送り、cab 又は(6,b)を辞書に加える。以降のサイクルの間に、エンコーダは、ストリ ング”be−を辞書中のエントリー5と整合させ、(5゜X)を辞書に加え得る 。Xは示されたシーケンスの最後に続く文字である。
コノヨうニジ−ケンス−abcababcabc−は、インデックス値1234 465のリストを使用してエンコードされ得、それは程度の小さい圧縮を与える 。もし、エンコーダより同じシーケンスに再び出くわすようなことがあると、エ ンコーダはそれをabc−(辞書エントリ8)として、”aba−C辞書エント リ7)として、−be−(辞書エントリ5)として、−abc−(辞書エントリ 8)としてエンコードするだろうし、結果的には、シーケンス8758を伝送す ることになる。もし記号シーケンスが少なくとも12回あったとすると、エンコ ーダは、一つの単一指標値によってそれを代表し、そのため程度の大きい圧縮を 与える。
エンコーディングアルゴリズムは第4図により詳しく示される。ステップiにて 変数は初期化され、そのとき、繰返して、入力メツセージ中の文字に係る最長可 能シーケンスは、ステップifの検索ツリーストリング上で位置合わせ(map )される。例えば、入力メツセージの端にあるシーケンスbcは、第3(f)図 中のストリング整合上で位置合わせ(map)される。ステップiiiでは、整 合されたストリング(例えばbc)又は複数のエンコードした表現に対応する終 了ノード指標が与えられと、検索ストリングはそれ以降の文字入力メツセージを セットする(ステップjv)。
追加した次の文字ストリングが辞書に無い場合、ストリング整合処理は、通常は 終了する。しかし、他の場合にあっては、例えば、(1)ソースから文字を受取 らないことが、最後の文字の受取りから幾つかある特定時間インターバル内に起 きた場合、 (2)ストリング長さが幾つかある最大値の中でバッファリミット を超えるものに達した場合、(3) I!iつかある特定時間インターバルが、 エンコーダがストリングをエンコード開始してから生じた場合、はストリング整 合は例外的に終了する。これらの例のうちの第2例では、デコーダは例外的な終 了が有ることを推察できるであろう。第1及び第3の例では、エンコーダは終了 したストリングを示す指標(インデックス)の送信に続いて指示を送信する。こ の指示はソースアルファベットのオリジナルの値以外の付加的制御記号で、これ が単一コードワードとしてエンコードされ得る。
整合ストリングの指標及び次の整合がとれなかった文字は辞書に加えられなけれ ばならない。これらが直ちに辞書に加えられると、エンコーダは、デコーダが辞 書エントリと等しい構造を与えるに十分な情報を受取る前に、新しいエントリの 使用を開始する。こうして以前の指標/文字対はストアされ(V)、そして提示 された指標/文字対もストアされる(vi)。辞書が一杯になったら、幾つかの 格納スペースを確保するための処理が行われる。新しい辞書エントリを加える処 理及び格納スペース確保する処理を以下に説明する。更新(アップディト)処理 で使用される前に、ストアされた指標/文字対により参照される辞書エントリが 削除されないようにするために、辞書エントリは以下に説明する手続きを経てn  e w−がマークされる。
第5図は対応するデコーディングアルゴリズムを示している。ステップiにて変 数は初期化される。受は取られたコードワードは、伝送された指標Jを回復する ためのステップii中で初めデコードされる。なお、指標Jはエンコードされた ストリングを示す。Jの値は、デコーダに対し該デコーダがエンコーディグスト リングに対応する辞書エントリデーコーダを直接にアクセスすることを可能とす る。前記ツリーはエントリJからストリングの根(頭)に向って再トレースし見 直され、そして当該ストリングはステップiiiにて読み出される。例えば、値 8が第3(f)図の検索ツリーを持つデコーダにより受取られたならば、辞書エ ントリー8のツリーのリーフ(leaf:字)において記号Cが見出だされ、モ してpポインタ7及び4を根のaに向けて再トレースし、このシーケンスCba を読み出す。このシーケンスは、そのときオリジナルシーケンスabcを再度発 生するべく次のステップiv中で逆転され、それがステップV中では制御文字に より抑制されないならば、デコーダアルゴリズムは辞書は最新する処理を行う。
更新化された検索ツリーの一例は第6図に示され、そして対応するメモリの内容 は表■で示される。
テーブル■ インデックス 記号 DRP 新エントリ 表されたストリ ング 1 a4 0 a 2 b5 0 b 3 c6 0 C 4b 7 1 0 ab 5 C20be 6 a 3 0 ca 8 c 4 0 abc n b 841 abb テーブル■がテーブルI (f)に対応し、さらに、辞書エントリnにシーケン スabbが付加されていることが理解できる。このシーケンスをサーチツリーに 追加するために、ノード7とノード8のリンクが切断され、テーブル…と第6図 に示されるように、新しいノードがこれらの間に接続される。
値nと値8を有する新しい右向きのリンクポインタ(リンキングポインタ)Rは 第6図に下線を付して示され、新しい符号すも下線を付して示される。第6図に 概念的に示されるサーチツリーの変更は、テーブルDの辞書エントリー7のRポ インタの値を8からnに変更すること、及び辞書エントリnに新しいRポインタ 8とPポインタ4を追加することにより行われる。
更新アルゴリズムが第7図のフローダイアグラムに正式に示される。このアルゴ リズムはエンコーダーとデコーダーの両方に適用される。第1に、辞書が満杯状 態か否かがステップ1で検出される。辞書が満杯の場合、サーチツリーは削られ なければならず、この処理手続は第9図を参照して以下に説明される。しかし、 ここでは、このような事態が発生していないと仮定する。この場合、空白メモリ スロットがフリースロット(第2b図に示される)からステップHにおいて取得 される。ステップ111で、新しいシンボル(テーブルHの場合はb)がメモリ スロット(テーブル■の場合はn)に書き込まれ、必要なポインタ(テーブル■ の場合は辞書エントリーのR)が再セットされる。ステップ1vにおいて、新し いエントリの親ノードが現存する従属関係を有するか否かがチェックされる。現 存する従属関係を有する場合、ステップVにおいて、上述の例のような従属関係 リスト内に新しいエントリが挿入される。現存する従属関係を有しない場合、ス テップv1において、新しいエントリが親ノードに接続され、親のDポインタが 新しいエントリのメモリ参照番号にセットされ、新しいエントリのPポインタが 親ノードのメモリレファレンスにセットされる。
第8■を参照して、第8(a)図はテーブル■と第6図に図示される更新処理手 続に続くサーチツリーの状態を示す。
これらのサーチツリーのシンボルは、もしこれらの点においてサーチツリーが成 長していない場合には、有用ではないと考えられる。ここで、前記サーチツリー はそれから下方向に延びるDリンキングポインタを有しない(そして、該サーチ ツリーはマツチされたシンボルシーケンスの終端で発生する)(枯葉)は破線で 第8(a)図に示される。そして、第6図に示される更新処理手続において追加 された新しいエントリbは、そこからの新たなサーチツリーの成長を期待できる ゛ニニーリーフ” (若葉)であることを示すためにそのようにマークされる。
従って、それは刈り込み(削除)から保護される。以前の最近の繰り返しにおい て追加されたツリーの他の葉も保護されることも考察される。
第8(a)図に破線で示されるサーチツリーのシンボルは刈り込まれ、その結果 、第8(b)図の新しいサーチツリーと4つの刈り込まれたシンボルのフリーリ ストとなる。新しいエントリbは保存される。確認のため、サーチツリーの種々 のシンボルに対応する実際のシンボルの流れは第8図に示され、第6図の更新処 理手続において付加されたシンボルシーケンスabbが保存される点から考える と、シンボルの流れbc、ca、abaとabcは削除される。
刈込み手順は、正式に第9図に示されている。ステップiにおいて、辞書は、充 分で且つ簡潔にする準備が整っているか否かをチェックされ、もし、整っていれ ばメモリのポインターは、列の最初に続く辞書エントリ、即ちテーブル■のシン ボルbと第8(a)図に従うエントリ4にセットされる。
ステップ111において、このエントリは、そこから延長しているダウンポイン ターを有しているかどうか決められ、第8(a)図の場合は、シンボルbがダウ ンポインター7を有していることがわかる。従って、このエントリはエンドノー ドではなく、アルゴリズムはポインターをステップvi (又、どの新たなフラ ッグをもクリアにする)において、次のエントリに進ませ、それによって、ステ ップv11を介して次のエントリに進みシーケンスabaのシンボルaは、エン トンノードとなる。従って、アルゴリズムは、次いで、新たなエントリフラッグ によって、刈込み(削除)手順に対して保護されているかどうかをチェックし、 そうでないので、ステップVでエントリを抹消し、対応するメモリ位置をフリー リストに加え、ポインターをリセットする。前記ポインターのリセット動作は簡 単にテーブル■と第6図から類推してji8図から推し、計ることができる。
この手順は、偶発的に、新たなエントリフラッグによって、保護されている以外 の“エンドノード° (即ち、これらから他のシンボルに延長されているダウン ポインターDを有していない)の全てを抹消する結果をもたらす。このことは、 辞書の更新を完了し、アルゴリズムは、次いで、エンコーデングアルゴリズムの 場合に、第4図のステップv1と、デコーダできる。辞書の更新と、簡潔にする 手順は、エンコーダとデコーダの両者のサーチツリに同様に行なわれる。この簡 潔にする手順は単一の手順で辞書の全てのメモリ個所をテストするという事実か ら見ると、簡潔にする手順は、いろいろな方法、即ちステージ毎の多くのメモリ 個所、ステージ毎の多くのフリーのメモリ個所で決められるステージで行なわれ る。
メモリと手順を増やすことで、簡潔にするアルゴリズムのパフォーマンスを改良 することのできる追加の手順として、エンコーダからのコードワード出力は、こ れら出力が用いられる周波数のある態様に依存する長さが割り当てられる。この ために、二つの方法が以下のように述べられ、これは伝達される辞書インデクス を表すコードワードを発生する第4図C111)に示さにれるエレメントに適応 される。
第1の方法は、以下の先行技術文献に記載され公知されている。“ミニマムリダ ンダンシーコードの構成方法”ディニーホフマン著、会報IRE40.9.巻1 952(A Method for the Con5truction or  Minimum Redundancy、by D^)1urfman、pr oc 1REVol 40. 9. 1952)、“マキシマティカルセオリー オブコミニニケシラーン′シーイーシャノンン著、ベルシステムテクニカルジャ ーナル、27巻、1948 (A Methmatlcal Theory o r Co5unleat1on、by CEShannon、Be1l Sys tem Technical Journal、vol 27. 1948)、 及び“算数コーディングの入門°、ジーラントン著、アイビーエムジャーナルオ ブリサーチアンドデベロップメント、28.2. 巻1984 (An Int roduction to Ar1thsetie Cocling’ by  G hangdon、IBM Journal of Re5earch an d Deveropg+ent、vol、 28. 2. 1984)周波数の カウントは各辞書エントリと関連付けられていて、エントリが使用される毎に増 加する。この周波数は、辞書エントリによって表わされた一連の発生の可能性と 先行文献において限定されている手順に従って割り当てられたコードワードを計 算するために用いられる。一連の可能性に関連するコードワード長hsは、 一1og2 (Ps)<hs<1−1−1o (Ps)で表わされる。
第2の方法は第1の方法より、一般的に効果は少ないが、手段としては簡単であ る。
追加のUポインターは各辞書エントリと関係していて、サーチツリーの構成には 関係なく辞書エントリのLFU(leant frequency used) リストを形成するために、使用される。
このリストは、一連の周波数順序を、傭た形で決めるために使用される。又、長 さインデクスは各辞書エントリに関連している。
辞書エントリが使用されると、辞書エントリをカレントエントリの上に位置させ るためにUポインタを用い、Uポインタと二つのエントリの長さインデクスを交 換することによって、LFUリストは、繰り上げられる。このようにして、より 、しばしば用いられたエントリはLFUリストの開始点に向って移動される。長 さインデクスはリストの要素の順序と関連付けられ、即ち、最も頻繁に使用され た辞書エントリは、長さエントリ1を有する。コードは固定または動的ベースに 基づいて、及び、長さインデクスに基づいて割り当てられたコードワード及び、 低いインデクスを伴う辞書エントリに割り当てられているより短いコードワード 上に発生する。この第2の方法は、同様なリストを挙げているようにEPA12 7.815のミラー及びベグマン(Miller and Wegwan )に よって述べられている簡潔アルゴリズムに適応するのが好ましい。しかしながら 、長さインデクスをそれらのデータ構成に加えることが必要である。広く用いら れている辞書エントリをリンクされたリストにおけるその真上のエントリと交換 するための、Uポインターの使用に代えて、交互の手順は、リンクされたリスト におけるトップの位置に、広く用いられている辞書エントリを動かすことであり 、以前にトップの位置にあるエントリは第2の位置等に移動される。リンクされ たリストは、略、最近使用されたファンクションを表わしていて、それによって 、ある時刻に使用されなかったエントリはリストの下に押し下げられ、そして頻 繁に使用されたエントリはリストのトップの位置に置かれることになる。
追加の手順は、追加の開始時刻を使用することでエンコーダのパフォーマンスを 改良することができるので、辞書は初めに、例えばth=、−tha−,−th e−,”Th″。
=The″、・・・を規則正しく、生ずるよう通常、知られている一連の文字を 含ませることができる。
追加の手順が行えるものとして、もし辞書が記憶されるメモリが、通常のケース として、大記憶装置が存在するとき、又はメモリが不揮発性である時に、連続す るメツセージの伝達間に情報を保持することができるならば、辞書は前のメツセ ージをエンコーデングしたり、デコーディングしたりする間、記憶された一連の セットを最初に含ませることができる。
例えば、伝達装置は前の伝達装置と通じた第2の伝達装置と呼ぶことができる。
各々のエンコーダとデコーダの対は、公知の原則に従って、ある単純なチェック サムを発生することによって及び前記チェックサムを比較することによってそれ らの辞書を比較することができる。
もし、辞書が同等でない場合には、ある知られている最初の状態にリセットされ る。
エンコーダとデコーダとの間のリンクにエラーがある場合のアルゴリズムの信頼 性を向上させるための他の方法として、デコーダはエラーを表わすエンプティ又 はフルの状態のデイクシッナリーの入力に対応して受け取ったコードワードに関 連させて動作させ、エンコーダにはそのディクショナリーをリセット又は再初期 化するように要求を出す。これらの方法は、オートマチイックリピートリクエス トのようなエラー検出方法が通常用いられることから、普通には用いられない。
他の方法として、エンコーダによってチェックサムが周期的に算出され、これが デコーダへ送られ、デコーダ側で同様にして算出された値と比較するようにした 方法がある。
第10図は大容量記憶装置、例えばディスク装置1に記憶された非圧縮データを 対応する圧縮データに変換するためのデータ処理回路を示す。これによって大容 量記憶装置からメモリを取り出すことができる。マイクロプロセッサμPを有す るエンコーダ2がメモリ3と結合され、このメモリ3には上述のアルゴリズムに よるサーチツリーが記憶される。遅延回路4は、新しいシンボルが大容量記憶装 置から受入れられる以前にディクショナリーが必らず更新されるようにするため のものである。
第11図は大容量記憶装置1中の圧縮データを非圧縮データに変換するためのデ コーダ回路を示す。このデコーダ回路はメモリ3に接続されたデコーダ5を有し 、メモリ3中には上述のアルゴリズムによって更新されるサーチツリーが記憶さ れる。
第12図はターミナル6とこれに関連したインターフェース7とを示す。このイ ンターフェース7は、メモリ3と遅延装置4とに接続されたエンコーダ2、およ びメモリ3に接続されたデコーダ5とによって通信リンクとの間でデータの送受 を行なうために設けられている。このエンコーダとデコーダとに接続されたメモ リ3には、上述のアルゴリズムによってディクシεチリ−が記憶される。図12 の回路によって、通信リンクの反対側に接続された対応する装置(図示せず)と の間で通信が可能である。
ソースエンコーダを設計する場合には、エンコーダの入力がソースアルファベッ トからの独立したシンボルであると仮定することが多い。従ってこのシンボルの サイズは既知である。最近の多くの通信システムでは同期伝送方式が用いられ、 ここではデータは独立した文字としてではなく連続したビット列として取り扱わ れる。
非2道形のシンボルを2造形で出力する同期ソースのためのソースエンコーダを 設計する場合には、種々の方法が考えられる。シンボルサイズが一定で未知の場 合には、最適ソースコード形式が得られる文字長をサーチによって見付けること ができる。例えば、データのサンプルを取得でき、仮定された文字サイズが1か ら最大ビット数へ変換され、各々の場合について情報内容が見積られ、この情報 内容と文字サイズとの比が最大の圧縮比を達成するために設定される。
各シンボルjの発生の確率Pjが予測され、シーケンスn当りのビット数はシン ボルの情報内容、n を増加させるために変更される。
直列エンコーディング法を用いれば他の方法も可能である。
この場合、シンボルサイズは自由に選定される。これは、ソースシンボルの各列 はこれらが異なる長さのビット列に変換されたときにも、その独自性を失わない という仮定に基づいている。セグメントサイズ(セグメントは仮定シンボルを示 す)を選択するのには多くの考えるべき点がある。
長さCのセグメントに対して、セグメントおよびシンボルのソースビット列中の 位置相互間には同期関係がないので、各シンボル列はセグメント中のCビット位 置と一致する。このことは、いかなるシンボル列に対しても少なくともCFJO 列変化が可能であり、従って、短かいセグメントは、デ、fクシッナリー空間の より経済的な使用を可能とする。
コード化されたバイナリストリング長はセグメントサイズに比例するが、コード ワード長は既知のストリング数の対数に比例するので、短いセグメントは長いセ グメントよりもディクシッナリ空間をより有効に使用できない。これは、ジブ・ ランペル・アルゴリズム(Ziv−Laspel algorithm)に特に 関連していて、そのジブ・ランペルーアルゴリズムでは、メモリ空間の大きな部 分がシンボルストレージよりもむしろポインターに向けられている。
従って、入力データがキャラクタを表わすバイナリピットのストリームからなり 、サーチツリーに蓄積されたシンボルがバイナリビットのシーケンスから構成さ れる本発明に基づく好ましい実施例では、シーケンス当りのビット数はプロセッ サによって選択され(プロセッサはユーザからの外部コマンド信号に応答しても よい)、入力データのシンボル当りのビット数は未知か或いはプロセッサにより 選択されたシーケンス当りのビット数とは異なっている。
この方法の変形例では、シーケンス当りのビット数は初期に変化させられ、入力 データと出力データ間の結果として得られる圧縮比は、サーチツリーの蓄積され たシンボルに対するシケンス当りのビット数を選択する前にモニタされる。
こうして、圧縮比を最大にするためにプロセッサによって選択されるシケンス当 りのビット数を最適化できる。しかしながら、メモリ容量や処理速度のような他 の要因がプロセッサによって選択されるべきシーケンス当りの最適ビット数に影 響を与えるかもしれない。
上述の実施例は、圧縮の効率の点ではわずかに次善であるが、メモリの利用や実 行速度の点では遥かに効率がよい削除法を使用している。その実施例は、ディク シッナリを作るために使用される2つのデータ構造と、ストリングを表現するた めに使用されるシステマティックなサーチツリー構造と、Sussenguth により議論されたような、サーチツリーの素子を蓄積するために使用されるディ クショナリのシステマティックな表表現とから形成されている。ところで、サー チツリーの素子が蓄積される順番は完全にランダムである。この方法は、削除さ れるべきサーチツリ一部分の選択がツリー内の選択された部分の順序に依存しな いという意味から、ランダム削除戦略に近い。しかし、削除のために候補を選択 するアルゴリズムがディクショナリの表表現を介するステッピングを含んでいる ので、本当はランダムではない。これはクロック(CLOCK)近似に幾らか似 ているが、表表現の位置に基づいてなされる削除のための候補要素の選択が、サ ーチツリー内で要素の位置によって評価される点で異なっている。
国際調査報告 、2−1゜26゜2.−2−1+11.、Il工+、111t+ 1lLu ’+j p77 、7Hミテ −二一一二国際調査報告 j1

Claims (41)

    【特許請求の範囲】
  1. 1.インデックスされたメモリロケーションを有するメモリ(3)が設けられた プロセッサ(μP)でデータの連続するシンボル(a,b,c)を続むステップ と、入力データのシンボルストリングからシンボルのサーチツリー(サーチツリ ーは前記ストリングを表わすパスを有する)の形式でディクショナリ(第1ない し3図、第6図、第8図)をメモリに発生させるステップと、 入力データのシンボルストリングをサーチツリーに以前蓄積されたパスとマッチ させて入力データに対応する圧縮された出力データを蓄積されたパスから形成す るステップとからなり、 前記サーチツリーに蓄積されたシンボルはリンクされて、2つの異なるタイプの リンクしたポインタによって前記パスを形成し、 蓄積されたシンボル間の第1のタイプのポインタ(R)は、それら蓄積されたシ ンボルが入力シンボルシーケンスの所定の位置で交換可能なシンボルであること を示し、蓄積されたシンボル間の第2のタイプのポインタ(D)は、それら蓄積 されたシンボルの両者が、順番に可能な入力シンボルシーケンスで起こる入力デ ータを圧縮する方法において、前記メモリが−杯のときには、前記サーチツリー (第1ないし第3図、第6図、第8図)の−連のインデックスされたメモリロケ ーションは、もしもそのメモリロケーションが他のノード(第9図)に向いてい る前記第2のタイプ(D)のリンクしているポインタを有しないサーチツリーの ノード(第8(a)図のc,a)を含む場合には、テストされ削除され、結果と して自由にされたメモリロケーションは新しいディクショナリのエントリーが可 能となることを特徴とする入力データを圧縮する方法。
  2. 2.上記辞書を形成する全てのインデックスメモリロケーションは記憶されるべ く次のシンボルがフリーメモリロケーションに記憶される以前にテストされる請 求項1に記載の方法。
  3. 3.上記サーチツリーの最近生成されたノード(b(新規登録);第8図(a) )は削除部分に保護されることによって限定される請求項1若しくは2に記載の 方法。
  4. 4.上記インデックスメモリロケーションは、フリーリスト(第1図(b)、第 2図(b))にポインタによって連結される前記サーチツリーのノードと、除去 されるノードにバイバスするためにポインタをリセットすると共に上記フリーリ ストにそれらを接続することによって除去される上記サーチツリーのノードを含 まず、それによって上記サーチツリーは全体が接続されて維持される請求項1乃 至3の何れかに記載の方法。
  5. 5.上記サーチツリーの各々のノードは関連したノードが使用される各々の時間 インクリメントされるそれぞれのカウンタに関連されるもので、上記圧縮された 出力データは最も短いコードワードが頻繁に使用されるノードを表すような上記 カウンタの内容に関連される長さのコードワードから成る請求項1乃至4の何れ か1に記載の方法。
  6. 6.上記サーチツリーのノードは上記メモリに順序付けて記憶されるもので、上 記ノードが記憶される順序はノードが使用された後にその序数の値を上げること によって再配置され、これにより滅多に使用しないノードは低い序数を得て、除 去される請求項1乃至4の何れか1に記載の方法。
  7. 7.上記使用されるノードの序数の値は1上昇され、上記使用されるノードのす ぐ上の上記ノードの序数の値は1減少され、これにより2つのノードは序数の値 を交換する請求項6に記載の方法。
  8. 8.上記使用されるノードの序数の値は最大値に上昇され、上記使用されるノー ドの全ての上のノードの序数の値は1減少される請求項6に記載の方法。
  9. 9.上記サーチツリーの各々のノードは関連した長さのインデックスを有し、上 記圧縮された出力データは上記最も短いコードワードが最も高い序数の値のノー ドを表すような長さのインデックスに関連される長さのコードワードから成る請 求項6乃至8の何れか1に記載の上記。
  10. 10.上記入力データは一連のシンボルの間のスペースを含み、上記サーチツリ ーの新しく記憶されたバスを発生するプロセスはこのようなスペースが除去され るとき終了される請求項1乃至9の何れか1に記載の方法。
  11. 11.上記入力データは文字を表しているバイナリーデジット(ビット)の流れ から成り、上記サーチツリーに記憶される上記シンボル(S)は各々一連のバイ ナリーデジット(ビット)で構成されるもので、上記一連のビットの番号は上記 プロセッサ(μP)で選択され、上記入力データの文字によるビットの番号は上 記プロセッサによって選択される一連のビットの番号から異なるかまたは未知数 の何れかである請求項1乃至10の何れか1に記載の方法。
  12. 12.上記プロセッサ(μP)は使用者からの外部コマンド信号に応じた選択を 実行するために配置される請求項11に記載の方法。
  13. 13.上記一連のビット番号は最初に変化されるもので、上記入力データと上記 出力データの結果として得られる圧縮比が測定され、上記サーチツリーの記憶さ れたシンボルのための一連のビット番号が上記測定された圧縮比の基に選択され る請求項11若しくは12の何れかに記載の方法。
  14. 14.上記サーチツリーの代替記憶シンボルの順序付けられたリスト(S2、S 3、S4)の第1の記憶シンボル及び前記順序付けられたリストの連続的な記憶 シンボルに指示する第2のタイプの各連結ポインタ(D)は、前記リストに各々 連続する記憶シンボルに指示する上記第1のタイプの連結ポインタ(R)によっ て接続される請求項1乃至13の何れかに記載の方法。
  15. 15.上記第2タイプの各連結ポインタ(D)は上記サーチツリーの代替記憶シ ンボルのリストの内の何れか一つのシンボルを指示し、前記リストに於ける記憶 シンボルは、一方向を指示する上記第1タイプのポインタ(R)によって、及び 反対方向を指示する上記第1タイプのポインタ(L)によってもまた、互いに接 続され、それにより上記リスト中の何れの記憶シンボルにもアクセス可能とする 請求項1乃至13の何れかに記載の方法。
  16. 16.上記第1タイプの連結ポインタ(R)は上記代替記憶シンボルのリストを サーチするために使用され、それにより最も最近読み込まれた入力シンボルとの マッチングをとり、マッチングする場合には、もしあれば、上記第2タイプのポ インタ(D)を得る請求項14又は15の何れかに記載の方法。
  17. 17.入力データが処理される前に、上記入力データ中に現われそうな一連のシ ンボルにそれぞれ対応するシンボル(a,b,c)を記憶したメモリが最初に提 供され、前記最初に提供された記憶シンポルは、上記サーチツリ−中のノードと して記憶されている請求項1乃至16の何れかに記載の方法。
  18. 18.上記辞書は、使用に於いて、関連デコーダから受けたコマンド信号に応答 して再び初期化される請求項1乃至7の何れかに記載の方法。
  19. 19.使用に於いて、辞書のチェックサムが定期的に算出され、対応する出力信 号が発生される請求項1乃至17の何れかに記載の方法。
  20. 20.上記辞書がさらなる使用のために維持され、そのようなさらなる使用の何 れにも先だって上記辞書のチェックサム算出を行なうことと、他のそのような辞 書から対応するチェックサムを受け取ることと、それらのチェックサムを比較す ることと、それらのチェックサムが一致しない場合に上記辞書を再び初期化する こととを含む請求項1乃至17の何れかに記載の方法。
  21. 21.請求項1乃至17の何れかに記載されたような方法によりデータを圧縮す ることと、この圧縮データを大容量記憶媒体(1)に記憶するニととを具備する データの記憶方法。
  22. 22.メモリ(3)を有して提供されたプロセッサ(μP)で上記圧縮データの 連続キャラクタを続み込むことと、上記圧縮データから作られるシンボルのサー チツリー(第1図乃至第3図,第6図,第8図)の形をとる辞書を上記メモリに 記憶することと、このサーチツリーを利用して上記圧縮データを復号化データに 変換することとを具備し、上記サーチツリー中の記憶シンボル(S)は2つの別 個なタイプの連結ポインタによりリンクされ、記憶シンボル間の第1タイプのポ インタ(R)は、それらのシンボルが同数のシンボル及び同じ接頭辞を有するシ ンボルの異なった復号化ストリングと関連され且つそのような異なったストリン グのそれぞれ最後のシンボルであるということを示し、記憶シンボル間の第2タ イプのポインタ(D)は、それらのシンボルが復号化出力シンボルのストリング に於ける連続シンボルであるということを示す圧縮データの復号化方法に於いて 、上記サーチツリーが請求項1乃至9の何れかに定義されたような方法により処 理されることを特徴とする請求項1乃至20の何れかに定義されたような方法に より圧縮されている圧縮データを復号化する方法。
  23. 23.上記サーチツリーが請求項14又は請求項15に定義されたようなもので ある請求項22に記載の方法。
  24. 24.圧縮データを受けた時に、その圧縮データがエンプティ−又はフリーメモ リロケーションに相当するかを検出することと、対応する出力信号を発生するこ ととを具備する請求項22又は23の何れかに記載の方法。
  25. 25.上記辞書がさらなる使用のために維持され、そのようなさらなる使用の何 れにも先だって上記辞書のチェックサム算出を行なうことと、他のそのような辞 書から対応するチェックサムを受け取ることと、それらのチェックサムを比較す ることと、それらのチェックサムが一致しない場合に上記辞書を再び初期化する こととを含む請求項22又は23の何れかに記載の方法。
  26. 26.請求項1乃至20の何れかに記載されたような方法によりデータを符号化 することと、その結果の圧縮データを遠隔位置に送信することと、請求項22又 は請求項23に記載されたような対応する方法により上記圧縮データを復号化す ることとを具備するデータの送信方法。
  27. 27.入力データの連続したシンボル(a,b,c)を受信できるプロセサ(μ P)と、インデックスメモリロケーションを持つメモリ(3)と、前記入力デー タ内のシンボルのストリンクを示すパスを持ったシンボルの検索ツリ−(図1− 3,6,8)を記憶する手段と、前記入力データ内のシンボルストリングと前記 検索ツリー内に先に記憶されたパスとを突き合わせて、ニの記憶されたパスから 前記入力データに対応する圧縮された出力データを発生する手段とを備え、2つ の異なる形式のポインタをリンクするニとにより前記検索ツリ−(図1−3,6 ,8)内に記憶されたシンボル(s)をリンクして前記パスを形成するものであ って、前記記憶されたシンボル間の第1タイプ(R)ポインタは、 これらの記 憶シンボルが入力シンボルシーケンス内の所定位置における交替可能シンボルで あることを示すものであり、前記記憶されたシンボル間の第2タイプ(D)ポイ ンタは、これらの記憶シンボルがともに、可能な入力シンボルシーケンス内で順 に生じることを示すものであるときに、 使用時において、前記メモリ(3)が満杯であるかどうかを決定し、前記検索ツ リーの連続したインデックスメモリロケーションをテストし、もしそれが、他の ノードを指す前記第2タイプ(D)のリンクポインタを持たない前記検索ツリー のノード(図8(a)のc,a)を含むならばメモリロケーションを削除し、そ の結果得られたフリーメモリロケーションを新たな辞書登録に利用できるように 、前記プロセサ(μP)を構成することを特徴とする入力データを圧縮するエン コーダ。
  28. 28.前記プロセサが、請求項2ないし13のいずれかに記載の方法により前記 検索ツリーを作動させるように構成されることを特徴とする請求項27に記載の エンコーダ。
  29. 29.前記第2タイプ(D)のリンクポインタおのおのが、前記検索ツリーの交 替可能な記憶されたシンボルの順番リスド(S2,S3,S4)を指し、この順 番リスト内の連続記憶シンボルが、これらのシンボルおのおのを指す前記第1タ イプ(R)のリンクポインタにより接続されることを特徴とする請求項27また は28に記載のエンコーダ。
  30. 30.前記第2タイプ(D)のリンクポインタおのおのが、前記検索ツリーの交 替可能な記憶されたシンボルのリストのいずれか1つを指し、このリスト内の記 憶シンボルのどれにてもアクセスできるように、このリスト内の記憶シンボルが 、一方向を指す前記第1タイプ(R)のリンクポインタと反対方向を指す前記第 1タイプのポインタとにより互いに接続されることを特徴とする請求項27また は28に記載のエンコーダ。
  31. 31.使用時において、前記プロセサが、併用するデコーダからのコマンド信号 に応答して、自身の辞書を再度初期化することを特徴とする請求項27ないし3 0のいずれかに記載のエンコーダ。
  32. 32.使用時において、前記プロセサが、前記辞書のチェツクサムを周期的に計 算して対応する出力信号を発生することを特徴とする請求項27ないし30のい ずれかに記載のエンコーダ。
  33. 33.前記辞書は別途使用のためとっておき、前記プロセサが、前記辞書のチェ ックサム計算をその使用に先だって行い対応する出力信号を発生し、使用時にお いて、このチェックサムと、併用するデコーダから受信した対応チェックサムと を比較し、比較したチエックサムが一致しなければ前期辞書を初期状態に再度初 期化するように構成きれることを特徴とする請求項27ないし30のいずれかに 記載のエンコーダ。
  34. 34.連続する記号からなる圧縮データを受信可能なプロセッサ(μP)と、索 引付きのメモリ位置を有するメモリと、記号からなる探索ツリ−(第1、2、3 、6、8図)構造の辞書を前記メモリに記憶する手段とを具備し、前記プロセッ サは前記圧縮データから前記探索ツリーを組み立てて、前記圧縮データをデコー ドデータに翻訳すべく探索ツリーを使用するように構成されており、前記探索ツ リーに記録された記号(S)は記号間の第1及び第2の2つの異なる種類のポイ ンタ(R)、(D)によって連結されており、第1のポインタ(R)はこれらの 記号が同数の記号を有する異なるデコード記号列に関連していることと、このよ うな異なる記号列のそれぞれの最後の記号であることを示し、第2のポインタ( D)はこれらの記号がデコード出力符号列の連続する符号であることを示し、使 用時においては、前記プロセッサ(μP)は前記メモリ(3)がフルになるとき を決定し、前記探索ツリーの連続するインデックス付きメモリ位置をテストし、 他のノードを指示する第2の連結ポインタ(D)を有しない前記探索ツリーのノ ード(第8(8)図、c、a)を含むときはメモリ位置を削除し、結果的なフリ ー状態のメモリ位置を新辞書に入力可能にすべく構成されていることを特徴とす る圧縮データをデコードするデコーダ。
  35. 35.使用時において、前記第2の連結ポインタ(D)が前記探索ツリーの代替 記憶記号のオーダリスト(S2、S3、S4)の第1の記憶記号を指示し、前記 オーダリストの連続する記憶記号が前記オーダリストのそれぞれの連続する記憶 記号を指示する前記第1の連結ポインタ(R)によって連結されている請求項3 4記載のデコーダ。
  36. 36.使用時において、前記第2の連結ポインタ(D)のそれぞれが前記探索ツ リーの代替記憶記号リストの1つを指示し、前記リストの所望の記号にアクセス すべく前記リストの記憶記号が1方向を指示している前記第1のポインタ(R) と反対方向(L)を指示している前記第1のポインタ(R)とによって互いに連 結されている請求項34記載のデコーダ。
  37. 37.前記プロセッサがさらに、請求項2乃至9のいずれかに規定された方法に よって前記探索ツリーに関して動作すべく構成された請求項34、35、36の いずれかに記載のデコーダ。
  38. 38.使用時においτ、前記プロセッサが受信した圧縮データがいつ受信圧縮デ ータがエンプティまたはフリーメモリ位置に関連するかを検出して関連するエン コーダに送信すべく関連する出力信号を発生する請求項34乃至37項に記載の デコーダ。
  39. 39.前記辞書がさらに使用すべく維持され、かつ、前記プロセッサが使用に先 立って前記辞書に関してチェックサム計算を実行して関連するエンコーダに伝送 すべく関連する出力信号を発生し、このチェックサムを使用時に前記エンコーダ から受信した関連するチェックサムと比較してチェックサムが一致しながったと きは前記辞書を初期化すべく構成されている請求項34乃至38記載のいずれか に記載のデコード。
  40. 40.請求項22乃至25のいずれかに規定されたエンコーダ(2)と、請求項 26乃至29のいずれかに規定された関連するデコーダ(5)と、前記エンコー ダと前記デコーダとの間に圧縮データを伝送するデータリンクとを具備するデー タ処理装置。
  41. 41.請求項27乃至30のいずれかに規定されたエンコーダ(2)と、請求項 34乃至37のいずれかに規定された関連するデコーダ(5)と、前記エンコー ダとデコーダによってアクセス可能な大容量記憶媒体(1)とを具備するデータ 処理装置。
JP1508289A 1988-07-05 1989-07-04 圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置 Expired - Lifetime JP3006766B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB8815978.5 1988-07-05
GB888815978A GB8815978D0 (en) 1988-07-05 1988-07-05 Method & apparatus for encoding decoding & transmitting data in compressed form

Publications (2)

Publication Number Publication Date
JPH04500571A true JPH04500571A (ja) 1992-01-30
JP3006766B2 JP3006766B2 (ja) 2000-02-07

Family

ID=10639895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1508289A Expired - Lifetime JP3006766B2 (ja) 1988-07-05 1989-07-04 圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置

Country Status (11)

Country Link
US (1) US5153591A (ja)
EP (1) EP0350281B1 (ja)
JP (1) JP3006766B2 (ja)
AT (1) ATE92224T1 (ja)
AU (1) AU626317B2 (ja)
CA (1) CA1330838C (ja)
DE (1) DE68907812T2 (ja)
ES (1) ES2041997T3 (ja)
GB (1) GB8815978D0 (ja)
HK (1) HK130194A (ja)
WO (1) WO1990000837A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013038812A (ja) * 2006-01-04 2013-02-21 Core Wireless Licensing S A R L 映像符号化器と映像復号器との状態整合性を検証する方法

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8828796D0 (en) * 1988-12-09 1989-01-18 British Telecomm Data compression
US5770694A (en) * 1990-08-13 1998-06-23 Incyte Pharmaceuticals, Inc. Genetically engineered BPI variant proteins
US5171739A (en) * 1989-02-14 1992-12-15 Incyte Pharmaceuticals, Inc. Treatment of endotoxin-associated shock and preventation thereof using a BPI protein
US5089274A (en) * 1989-02-14 1992-02-18 Incyte Pharmaceuticals, Inc. Use of bactericidal/permeability increasing protein or biologically active analogs thereof to treat endotoxin-related disorders
DE69123660T2 (de) * 1990-08-13 1997-04-17 Fujitsu Ltd., Kawasaki, Kanagawa Datenkompressionsmethode und Gerät
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
US5592667A (en) * 1991-05-29 1997-01-07 Triada, Ltd. Method of storing compressed data for accelerated interrogation
JPH0557071A (ja) * 1991-08-31 1993-03-09 Brother Ind Ltd 電子制御式ミシン用外部メモリ
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
US5485526A (en) * 1992-06-02 1996-01-16 Hewlett-Packard Corporation Memory circuit for lossless data compression/decompression dictionary storage
US5737732A (en) * 1992-07-06 1998-04-07 1St Desk Systems, Inc. Enhanced metatree data structure for storage indexing and retrieval of information
US5488717A (en) * 1992-07-06 1996-01-30 1St Desk Systems, Inc. MTree data structure for storage, indexing and retrieval of information
US5530957A (en) * 1992-08-07 1996-06-25 At&T Corp. Storing trees in navigable form
US5442350A (en) * 1992-10-29 1995-08-15 International Business Machines Corporation Method and means providing static dictionary structures for compressing character data and expanding compressed data
US5424732A (en) * 1992-12-04 1995-06-13 International Business Machines Corporation Transmission compatibility using custom compression method and hardware
US6131567A (en) * 1993-01-29 2000-10-17 Aradigm Corporation Method of use of monomeric insulin as a means for improving the reproducibility of inhaled insulin
US6024090A (en) 1993-01-29 2000-02-15 Aradigm Corporation Method of treating a diabetic patient by aerosolized administration of insulin lispro
US5743250A (en) 1993-01-29 1998-04-28 Aradigm Corporation Insulin delivery enhanced by coached breathing
US5915378A (en) * 1993-01-29 1999-06-29 Aradigm Corporation Creating an aerosolized formulation of insulin
US5888477A (en) * 1993-01-29 1999-03-30 Aradigm Corporation Use of monomeric insulin as a means for improving the bioavailability of inhaled insulin
US5970973A (en) * 1993-01-29 1999-10-26 Aradigm Corporation Method of delivering insulin lispro
US5873358A (en) * 1993-01-29 1999-02-23 Aradigm Corporation Method of maintaining a diabetic patient's blood glucose level in a desired range
US5649181A (en) * 1993-04-16 1997-07-15 Sybase, Inc. Method and apparatus for indexing database columns with bit vectors
US5918225A (en) * 1993-04-16 1999-06-29 Sybase, Inc. SQL-based database system with improved indexing methodology
US5794228A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with buffer manager providing per page native data compression and decompression
US5852821A (en) * 1993-04-16 1998-12-22 Sybase, Inc. High-speed data base query method and apparatus
JP2505980B2 (ja) * 1993-04-16 1996-06-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 静的辞書作成方法及びコンピュ―タ実行システム
US5794229A (en) * 1993-04-16 1998-08-11 Sybase, Inc. Database system with methodology for storing a database table by vertically partitioning all columns of the table
WO1995001677A1 (en) * 1993-06-30 1995-01-12 Codex, Inc. Method and apparatus for encoding and decoding compressed data in data communication
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
DE4342521C1 (de) * 1993-12-14 1995-07-13 Ibm Verfahren und Anordnung zur Expansion komprimierter Daten
JP2842781B2 (ja) * 1993-12-24 1999-01-06 日本電気株式会社 画像情報処理方式
AU1514795A (en) * 1993-12-30 1995-08-01 Connectix Corporation Lossless data compression system and method
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
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
AUPM607994A0 (en) * 1994-06-03 1994-06-30 Masters, John A data conversion technique
US5787430A (en) * 1994-06-30 1998-07-28 International Business Machines Corporation Variable length data sequence backtracking a trie structure
US5564045A (en) * 1994-07-28 1996-10-08 Motorola, Inc. Method and apparatus for string searching in a linked list data structure using a termination node at the end of the linked list
US5572209A (en) * 1994-08-16 1996-11-05 International Business Machines Corporation Method and apparatus for compressing and decompressing data
US5893103A (en) * 1997-05-09 1999-04-06 Motorola, Inc. Method of reconstructing a managed information tree
US5778371A (en) * 1994-09-13 1998-07-07 Kabushiki Kaisha Toshiba Code string processing system and method using intervals
JPH08223226A (ja) * 1994-11-23 1996-08-30 Internatl Business Mach Corp <Ibm> 短いデータ長メッセージの圧縮方法及びシステム
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
EP0723341A1 (fr) * 1995-01-18 1996-07-24 Laboratoires D'electronique Philips S.A.S. Système de compression de données
US5608396A (en) * 1995-02-28 1997-03-04 International Business Machines Corporation Efficient Ziv-Lempel LZI data compression system using variable code fields
US5771010A (en) * 1995-03-22 1998-06-23 Ibm Corporation Apparatus for compressing data using a Lempel-Ziv-type algorithm
US5619199A (en) * 1995-05-04 1997-04-08 International Business Machines Corporation Order preserving run length encoding with compression codeword extraction for comparisons
US5689255A (en) * 1995-08-22 1997-11-18 Hewlett-Packard Company Method and apparatus for compressing and decompressing image data
US5861827A (en) * 1996-07-24 1999-01-19 Unisys Corporation Data compression and decompression system with immediate dictionary updating interleaved with string search
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
US6199064B1 (en) * 1996-11-15 2001-03-06 Michael Schindler Method and apparatus for sorting data blocks
US5893102A (en) * 1996-12-06 1999-04-06 Unisys Corporation Textual database management, storage and retrieval system utilizing word-oriented, dictionary-based data compression/decompression
DE19702553C1 (de) * 1997-01-24 1997-11-13 Siemens Ag Verfahren zum Kodieren und Dekodieren von Daten
US6531982B1 (en) 1997-09-30 2003-03-11 Sirf Technology, Inc. Field unit for use in a GPS system
US6327471B1 (en) 1998-02-19 2001-12-04 Conexant Systems, Inc. Method and an apparatus for positioning system assisted cellular radiotelephone handoff and dropoff
US6225922B1 (en) * 1998-03-16 2001-05-01 Hewlett-Packard Company System and method for compressing data using adaptive field encoding
US6348744B1 (en) 1998-04-14 2002-02-19 Conexant Systems, Inc. Integrated power management module
US6088699A (en) * 1998-04-22 2000-07-11 International Business Machines Corporation System for exchanging compressed data according to predetermined dictionary codes
US7545854B1 (en) 1998-09-01 2009-06-09 Sirf Technology, Inc. Doppler corrected spread spectrum matched filter
US7711038B1 (en) 1998-09-01 2010-05-04 Sirf Technology, Inc. System and method for despreading in a spread spectrum matched filter
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US6693953B2 (en) 1998-09-30 2004-02-17 Skyworks Solutions, Inc. Adaptive wireless communication receiver
US6448925B1 (en) 1999-02-04 2002-09-10 Conexant Systems, Inc. Jamming detection and blanking for GPS receivers
US6606349B1 (en) 1999-02-04 2003-08-12 Sirf Technology, Inc. Spread spectrum receiver performance improvement
US6304216B1 (en) 1999-03-30 2001-10-16 Conexant Systems, Inc. Signal detector employing correlation analysis of non-uniform and disjoint sample segments
US6577271B1 (en) 1999-03-30 2003-06-10 Sirf Technology, Inc Signal detector employing coherent integration
US6351486B1 (en) 1999-05-25 2002-02-26 Conexant Systems, Inc. Accelerated selection of a base station in a wireless communication system
US6470347B1 (en) 1999-09-01 2002-10-22 International Business Machines Corporation Method, system, program, and data structure for a dense array storing character strings
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6980957B1 (en) * 1999-12-14 2005-12-27 International Business Machines Corporation Audio transmission system with reduced bandwidth consumption
EP1248991A2 (en) 2000-01-03 2002-10-16 Efeckta Technologies Corporation Lossless data compression
US6307489B1 (en) * 2000-03-15 2001-10-23 Robert Allen Freking Fast and small serial huffman decoder for decoding at an optimally high rate
US6581183B1 (en) * 2000-03-30 2003-06-17 International Business Machines Corporation System and method for resynchronization of transmit and receive compression dictionaries
US6931055B1 (en) 2000-04-18 2005-08-16 Sirf Technology, Inc. Signal detector employing a doppler phase correction system
US6952440B1 (en) 2000-04-18 2005-10-04 Sirf Technology, Inc. Signal detector employing a Doppler phase correction system
US6714158B1 (en) 2000-04-18 2004-03-30 Sirf Technology, Inc. Method and system for data detection in a global positioning system satellite receiver
US6788655B1 (en) 2000-04-18 2004-09-07 Sirf Technology, Inc. Personal communications device with ratio counter
US7885314B1 (en) 2000-05-02 2011-02-08 Kenneth Scott Walley Cancellation system and method for a wireless positioning system
US6778136B2 (en) 2001-12-13 2004-08-17 Sirf Technology, Inc. Fast acquisition of GPS signal
US7225219B2 (en) * 2000-11-29 2007-05-29 Broadspider Networks, Inc. Distributed caching architecture for computer networks
US7640362B2 (en) * 2001-01-31 2009-12-29 Interdigital Technology Corporation Adaptive compression in an edge router
US7506256B2 (en) * 2001-03-02 2009-03-17 Semantic Compaction Systems Device and method for previewing themes and categories of sequenced symbols
US6426711B1 (en) * 2001-05-14 2002-07-30 Unisys Corporation Character table implemented data compression method and apparatus
US6400286B1 (en) 2001-06-20 2002-06-04 Unisys Corporation Data compression method and apparatus implemented with limited length character tables
US6628211B1 (en) 2002-03-19 2003-09-30 Unisys Corporation Prefix table implemented data compression method and apparatus
US6683547B2 (en) * 2002-04-22 2004-01-27 Hughes Electronics Corporation Method and system for data compession with dictionary pre-load of a set of expected character strings
WO2003105350A1 (en) * 2002-06-11 2003-12-18 Digital Fountain, Inc. Decoding of chain reaction codes through inactivation of recovered symbols
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
US7580429B1 (en) * 2002-09-05 2009-08-25 U.S. Robotics System and methods for improving data compression
US6909383B2 (en) 2002-10-05 2005-06-21 Digital Fountain, Inc. Systematic encoding and decoding of chain reaction codes
DE10337825A1 (de) * 2002-11-15 2004-06-03 Siemens Ag Verfahren zur Erzeugung eines Bitstroms aus einem Indizierungsbaum
JPWO2004051492A1 (ja) * 2002-11-29 2006-04-06 富士通株式会社 同一の入力値を圧縮する記憶装置
US6724330B1 (en) 2002-12-07 2004-04-20 Unisys Corporation Prefix table implemented data compression method and apparatus utilizing string code reassignment
US7444141B2 (en) * 2003-06-12 2008-10-28 Sergio Rivera Method and system for programmable control of mobile communications units
CN1954501B (zh) 2003-10-06 2010-06-16 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法
US7079051B2 (en) * 2004-03-18 2006-07-18 James Andrew Storer In-place differential compression
JP4971144B2 (ja) 2004-05-07 2012-07-11 デジタル ファウンテン, インコーポレイテッド ファイルダウンロードおよびストリーミングのシステム
KR100622945B1 (ko) * 2004-07-27 2006-09-19 재단법인서울대학교산학협력재단 복수 로드 스토어 명령어를 통한 코드 크기 감소 방법
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
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
WO2007095550A2 (en) 2006-02-13 2007-08-23 Digital Fountain, Inc. Streaming and buffering using variable fec overhead and protection periods
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US20110208703A1 (en) * 2006-05-24 2011-08-25 Damien Fisher Selectivity estimation
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20080205229A1 (en) * 2007-02-26 2008-08-28 Yung-Chih Li Method of identifying optical disc
KR101129260B1 (ko) 2007-09-12 2012-03-27 디지털 파운튼, 인크. 신뢰성 있는 통신들을 가능하게 하는 소스 식별 정보 생성 및 통신
CN100595596C (zh) * 2007-12-12 2010-03-24 北京四方继保自动化股份有限公司 电网广域测量系统(wams)中动态数据压缩存储方法
GB2457303A (en) 2008-02-11 2009-08-12 Linear Algebra Technologies Randomly accessing elements of compressed matrix data by calculating offsets from non-zero values of a bitmap
US9083519B2 (en) * 2008-02-29 2015-07-14 Sharp Laboratories Of America, Inc. Systems and methods for adaptively selecting a decoding scheme to decode embedded information
GB2503128B8 (en) * 2008-10-09 2014-03-12 Sonicwall Inc Computer networks
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9160611B2 (en) * 2009-04-22 2015-10-13 Webroot Inc. System and method for performing longest common prefix strings searches
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20110280311A1 (en) 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US9456015B2 (en) 2010-08-10 2016-09-27 Qualcomm Incorporated Representation groups for network streaming of coded multimedia data
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
US8692696B2 (en) 2012-01-03 2014-04-08 International Business Machines Corporation Generating a code alphabet of symbols to generate codewords for words used with a program
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
CN104281604B (zh) * 2013-07-05 2017-04-19 广州汽车集团股份有限公司 生成Targetlink数据字典分层树的方法和系统
US9684737B2 (en) 2014-02-18 2017-06-20 International Business Machines Corporation Accessing an N-way linked list
US10248622B2 (en) * 2015-03-30 2019-04-02 Sap Se Variable virtual split dictionary for search optimization
US10803040B2 (en) 2017-08-28 2020-10-13 International Business Machines Corporation Efficient and accurate lookups of data by a stream processor using a hash table
US11636100B2 (en) * 2020-11-27 2023-04-25 Verizon Patent And Licensing Inc. Systems and methods for compression-based search engine
CN114419171A (zh) * 2022-01-17 2022-04-29 深圳市宏电技术股份有限公司 基于香农编码的字典编码方法、图像处理方法及处理设备
CN116244477B (zh) * 2023-05-11 2023-07-04 深圳依时货拉拉科技有限公司 区间分级检索方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59231683A (ja) * 1983-06-01 1984-12-26 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン データ圧縮方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4464650A (en) * 1981-08-10 1984-08-07 Sperry Corporation Apparatus and method for compressing data signals and restoring the compressed data signals
US4814746A (en) * 1983-06-01 1989-03-21 International Business Machines Corporation Data compression method
JPH0644264B2 (ja) * 1983-12-23 1994-06-08 シャープ株式会社 単語記憶方式
US4612532A (en) * 1984-06-19 1986-09-16 Telebyte Corportion Data compression apparatus and method
WO1986000469A1 (en) * 1984-06-29 1986-01-16 General Electric Company Controlled turn-on thyristor
US4906991A (en) * 1988-04-29 1990-03-06 Xerox Corporation Textual substitution data compression with finite length search windows
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
JP2956704B2 (ja) * 1989-02-21 1999-10-04 ケイディディ株式会社 可変長符号変成装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59231683A (ja) * 1983-06-01 1984-12-26 インタ−ナシヨナル ビジネス マシ−ンズ コ−ポレ−シヨン データ圧縮方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013038812A (ja) * 2006-01-04 2013-02-21 Core Wireless Licensing S A R L 映像符号化器と映像復号器との状態整合性を検証する方法

Also Published As

Publication number Publication date
EP0350281B1 (en) 1993-07-28
JP3006766B2 (ja) 2000-02-07
DE68907812D1 (de) 1993-09-02
GB8815978D0 (en) 1988-08-10
DE68907812T2 (de) 1993-11-18
HK130194A (en) 1994-12-02
WO1990000837A1 (en) 1990-01-25
ES2041997T3 (es) 1993-12-01
EP0350281A1 (en) 1990-01-10
CA1330838C (en) 1994-07-19
AU4037089A (en) 1990-02-05
US5153591A (en) 1992-10-06
AU626317B2 (en) 1992-07-30
ATE92224T1 (de) 1993-08-15

Similar Documents

Publication Publication Date Title
JPH04500571A (ja) 圧縮された状態におけるデータをエンコードし、デコードし、伝送する方法と装置
JP3273119B2 (ja) データ圧縮・伸長装置
US4464650A (en) Apparatus and method for compressing data signals and restoring the compressed data signals
US5796356A (en) Data compressing apparatus, data restoring apparatus and data compressing/restoring system
US5229768A (en) Adaptive data compression system
CA2263453C (en) A lempel-ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases
US6563439B1 (en) Method of performing Huffman decoding
JP2979106B2 (ja) データ圧縮
US5239298A (en) Data compression
US5424732A (en) Transmission compatibility using custom compression method and hardware
JPH0368219A (ja) データ圧縮装置及び方法
WO1998006028A9 (en) A lempel-ziv data compression technique utilizing a dicionary pre-filled with fequent letter combinations, words and/or phrases
EP1803225A1 (en) Adaptive compression scheme
JPS6356726B2 (ja)
US5610603A (en) Sort order preservation method used with a static compression dictionary having consecutively numbered children of a parent
Effros PPM performance with BWT complexity: A new method for lossless data compression
Anisimov et al. Practical Word-based Text Compression Using the Reverse Multi-Delimiter Codes.
JP3266787B2 (ja) データ圧縮装置,データ復元装置,及びデータ圧縮・復元システム
Brisaboa et al. Dv2v: A Dynamic Variable-to-Variable Compressor
Salomon et al. Dictionary methods
Choi Comparison of Methods for Text Compression
Manzini Efficient algorithms for on-line symbol ranking compression
WO2002075929A1 (en) A method for compressing data
Misra Text Compression
JPH08162974A (ja) データ伸長方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20071126

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081126

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091126

Year of fee payment: 10