JPS61502511A - デ−タ圧縮装置および方法 - Google Patents

デ−タ圧縮装置および方法

Info

Publication number
JPS61502511A
JPS61502511A JP60502923A JP50292385A JPS61502511A JP S61502511 A JPS61502511 A JP S61502511A JP 60502923 A JP60502923 A JP 60502923A JP 50292385 A JP50292385 A JP 50292385A JP S61502511 A JPS61502511 A JP S61502511A
Authority
JP
Japan
Prior art keywords
character
followset
characters
new
decoding
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
Application number
JP60502923A
Other languages
English (en)
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
Application filed by テレバイト・コ−ポレ−ション filed Critical テレバイト・コ−ポレ−ション
Publication of JPS61502511A publication Critical patent/JPS61502511A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)

Abstract

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

Description

【発明の詳細な説明】 データ圧縮装置および方法 技術分野 本発明は記憶され、または送信されたデータを圧縮し、その後そのデータを元の 形に復元するために用いる型式の装置に関する。
添付の付録にあるプログラムのリストは引用により本明細書に組入れられる。
背景技術 データを圧縮し、対応して拡大するための装置は公知よく使われる語句の固定ラ イブラリーを受信機に与え、語句の一つが出現した時、その語句のアドレスのみ を送信することによって、送信データを圧縮することはデータ伝送端末において 公知である。このような装置はThomas M、Hajdukの1978年8 月15日付米国特許第4,107゜457号に開示される。
一つの字の連続的な繰返えしを直接にチェックし、字のコードと反復回数のみを 送信することも、Mark Mayerの1980年3月11日付米国特許第4 ,192,968号の装置に見られるように公知である。
発明の開示 本発明の望ましい実施例は字のストリーム(流れ)の動的コード化のための方式 を与える。望ましい実施例において、本方式は字のストリームを受信する入力と コード化データを与える出力を含む。本方式はストリームの中でテーブルにかか わる字の後に続くであろう字の候補を記載するテーブル(「フォローセット」テ ーブルと呼ぶ)を複数の字の各々につき記憶し、呼出し、更新(アップデート) するた、めの装置も含む。本方式はさらに、入力におけるストリーム中の成る字 について、入力におけるストリーム中のその字に直ぐ先行する字のフォローセッ ト・テーブルの中でその字が占有する位置を示すシグナルを出力に供給するため の装置をも含む。本発明の凹ましい実施例はコード化されたデータを解読するた めの、デコーダーがフォローセット・テーブルを用いる方式をも与える。
図面の簡単な説明 本発明の上記その他の特徴は添付図面とともに述べられる以下の詳細な記載によ り容易に理解されるであろう。
第1図、第2A、 2B図、および第3図は本発明による符号化装置の簡略化さ れた実施例に記憶されるテーブルを示し、 第4図は本発明の望ましい実施例のハードウェア配置を示し、 第5図は第4図の実施例に用いられる基本論理化処理を図解するブロック図、 第6図はデータの符号化(エンコーデング)及び復号られる2つの最も重要なテ ーブルであるFONT、TABLEおよびFONT、ADDRESS、TABL Eの図、第7図は、後で定義される「フォント」または「フォローセット」の中 の一つの字の位置を示す2進数を発生するために第4図の実施例に用いられるE NCODING TABLEを示し、 第8図は新字記号が占める位置の送信または受信の後でその新しい字を符号化又 は復号するために第4図の実施例で用いられるテーブルを示し、 例1.= −i、 ッT: 用イラtL ルENCODER,NC,ENCOD ING、TABLHを示す。
特定の実施例の説明 本発明はコーディング装置およびデコーディング装置の双方における動的に作成 されるテーブルに依存する。
データ・ストリーム中の一連の文字がヨーディング装置内の動的に作成されるテ ーブルによりコード化される。
デコーディング装置はコード化されたデータのデコーディングのために対応する テーブルを作成するように構成され、動的にデコーディング・テーブルを作成す るためにコード化データの構造に依存する。
−タがランダム(無作為)ではないという仮定に基づいている。望ましい実施例 において、コーディング装置は一連の形で発生する2進数のコード化されたデー タにっいて動作し、この場合、名字は一定数の2進数のビットで表わされている 。コーディング装置はさらに、データ・ストリーム中の成る学力【後続する字と しての多数の見込み候補の一つに追従される機会がランダム以上であるという仮 定に基づいている。(しかし、これが事実でない場合、圧縮は効率的には行われ ないかも知れないが、データは失われないであろうことに注目すべきである)。
実際に、成る字について、データ・ストリーム中に生ずるであろう次の後続の文 字の候補をほぼ局部的発生頻度の順序で示したリストが提示されるテーブルを、 本エンコーディング装置は有効に作成する。よって、その成る字がデータ・スト リーム中で、そのテーブルにある字に追従される時、テーブル中の後者の字の順 番位置に基づく後者の字を表わす2進数コードを本エンコーディング装置は送る 。このコードは最も頻繁に発生する候補では最も短かく、発生頻度がより少ない 候補ではより長くなるけれども、この実施例では元の字のコード化におけるビッ ト数よりも決して長くなることはなく、それにより字のパターンが存在する状況 での圧縮が可能となる。成る与えられた字に続く一つの字の局部発生開度に基づ いてテーブルが作成されるから、局部発生開度が変るに従い、このテーブルは動 的に7更される。
本発明による、単純化されたエンコーディング装置は、有り得る各データの字に ついて、データ・ストリーム中でその字に追従する見込みが最も多い候補を示す テ−プルを含むであろう。追従する見込みが最も多い候補が発生頻度の順序にテ ーブル中にリストされ、最も発生頻度の高い文字はテーブルの最上部に、また発 生頻度の低い文字はテーブルの下部に記載される。この単純化された実施例にお いて記憶されたテーブルの成るものの例が第1図に示され、各番号(13、14 ,15)はそれぞれ字A、B、Cのテーブルを表わす。よって第1図のテーブル (13)において、Nが字Aの後で最も頻繁に生ずる字であり、Bは字Aの後で その次に頻繁に生ずる字である。
記号NCは新文字(new character)を意味し、この例ではテーブ ル13に記載される字以外の字が字Aに続くという状況を表わす。この記号の用 法は後の説明でより明らかとなるであろう。欄(11)はテーブルに記入する位 置を通常の10の基数で表わし、欄(12)はテーブル内の各位置を識別するの に用いられる2進数のコードを表わす。(コーディングの場合、通常の2進の順 序数は使用されず、特殊な2進数の組合せを用いてテーブル内の位置の明瞭な送 信を助けていることに注目すべきである)。テーブル(14)は、字Bの場合、 データ流の中でBに続く次の字の最も見込みのある候補はテーブル(14)のリ ストにあるもの以外の字であり、字Bの後に続く見込みがその次に高い候補は字 Aであることを示し、以下同様である。
前述のように、第1図の(13)その他のテーブルは固定的なものでなく、動的 に変更される。これらのテーブルを変更し使用する態様を、字のデータ・ストリ ームに関連して以下に記載する。
第2図のI’E (1)にあるテーブルについて考察することにする。メッセ・ −ジの始めにおいて、テーブルは1つの記入、つまり新字記号NOのみを有する ものと考えることができる。このようなテーブルの最初の状態は第2A図の第1 欄に示され、新字記号がテーブルの位置(1)を占め、テーブルの位置 (2) 〜(7)は空白である。つまり、本コーディング装置は、データ・ストリームの 中で字Aに続く見込みの最も高い字は、テーブル中に存在しない新字であろうと 予想する。
第2A図の行(21)はエンコーディング装置への入力となるデータ・ストリー ム中の名字を順番に示す。第2A図の行(22)は、行(21)の名字について 本例のデータ・コーディング装置により発生される出力を順番に示す。(しかし 説明の目的上、欄(1,3,5,7,9)の字について発生する出力の考察はこ の記載の後の方の部分まで延期される)。欄(2,4、B、8.10)にある。
字の各々がデータ・ストリーム中の字Aに続くことが判る。これらの字は字Aに 続く字のテーブルを引用してコード化されて行(22)に示される出力となる。
このテーブルの継続する状態が第2A図の行(23)に示される。行(21)の 欄(2)に生ずる字Bは欄(1)のテーブルには見られず、よってBは新字とし てエンコーダの出力に識別される。従ってエンコーダはその出力において、新字 が後に続こうとしていることを示す記号を与え、ついでその新字自体の出力を与 える。新字記号が欄(1)のテーブルの位置(1)を占めているから、このテー ブルに基づく出力は2進数IOの後に字Bが付せられる。
しかし、この時点で、字Aの後に局部的に発生する文字に関する情報がさらに得 られるのでへのテーブルは最新化されなければならない。その結果の改訂された テーブルが第2A図の欄(2)に示される。ここでは、字Bが字Aに続く字とし て識別され、テーブル中に2進数コード11を与えられる。同様に欄(3)の字 に対する出力の送信後、欄、(4)の字りの出力が送信のために提示される。字 りが字Aに続(から、再びAテーブルをたよらなければならない。欄(2)に示 されるAテーブルの最新版を参照すると、Dは示されていないので、2進数コー ド10で識別される新字記号が出力として出され、それに字りが続けられる。同 時にテーブルを再び改訂しなければならず、m (4)に示されるように2進数 00°0としてコード化されたテーブルの位置を字りが占めるようにされる。
同様に、欄(5)の字Aの出力の送信後、次に送信される候補は行(21)の欄 (6)にある字Bに相当する出力である。この時点では、Aテーブルの最新状態 (欄4に示される)は2進数11にコード化された位置に字Bがある。
従って欄(6)の入力に対する出力は単に2進数11である。つまり、字B自体 でなくAテーブル内のBの位置かエンコーダの出力として与えられる。
この字のコード化された出力を与える他に、エンコーダはAテーブルの改訂も行 わなければならない。字Bは以前にもテーブル中に出ているから、その位置を直 ぐ上の字の位置と入れ換えることにより字Bを前に占めていた位置よりも1つ高 い位置に移す。このように位置を入れ換えることの効果は、字Aの後の局部発生 開度のおよその順序でテーブルに字を記載させることにある。この場合、従って Bは新字記号と位置を入れ換える。その結果、次にBが欄(8)のエンコーダ出 力としてコード化されるべき時は、その出力コードは欄(B)に示される状態の Aチー プルを参照して、つまり2進数10となる。欄(B)において、字Bは 既に最も頻繁な文字であるから、この場合、Aテーブルを最新化するためのこれ 以上の改訂はない。従って、欄(8)の字Bのコードの送信後、欄(8)に示す テーブルの状態は欄(6)に示すt−プルの状態と同じである。しかし、欄(1 0)にて字りをコード化のために見出しh後は、エンコーダは2進数000の出 力を生じ、Dの位置を上の文字の位置と交換し、新字記号を単に付加的字として 扱う。その時改訂されたAテーブルの状態を欄(10)に示す。
この時点で、幾つかの術語を導入することが有益である。上記の例において、A テーブルにリストされる文字の組をA“フォローセットフまたはA“フォントと 呼する。よって第1図のテーブル(13)をAフォローセットまたはへフォント と呼び、テーブル(14)をBフォローセットまたはBフォントと呼び、テーブ ル(15)をCフオロ−セットまたはCフォントと呼ぶ。
これで、前記の単純化されたデータ・コーディング装置の動作の記載を完成する ことが可能となった。いま、m2B図の行(21)の欄(3)における字のエン コーダ出力を考察しよう。エンコーダの直ぐ前の出力は字Bであると・ 識別さ れたので、エンコーダは次に送信すべき文字がBフォローセットの一メンバーで あることを知っている。
字Bはそれまで一度もデータ流の中に出合わなかったのでBフォローセットは第 3図のテーブル(31)の様相を呈しているであろう。つまり、新字記号以外の 字はBフォローセットには存在せず、新字記号が2進数10としてコード化され た位置を占める。第2B図に示すように、行(22)の欄(3)゛のエンコーダ 出力は新字記号を2進数10により識別し、その後に新字の識別記号、すなわち Aを付ける。その時、第3図のBフォローセットは改訂されて第2B図の行(2 3)の欄(3)におけるテーブルの様相を呈しなければならない。すなわち字A が該テーブルの最終の記入位置の後に追加された。次にAがBに続く時は行(2 1)の欄(7)に生ずる。この場合、再びBフォローセットを参照して文字を識 別しなければならない。Bフォローセットの最新の状態は行(23)の欄(3) に示され、従って字Aは2進数11により簡単に識別され、この数字11が行( 22)の欄(7)の出力として与えられる。BフォローセットにおけるAの2度 目の発生はAがそのフォローセット内でより高い位置を占めるようにし、Aはそ のフォローセット内で直ぐ上の文字と位置を入れ換える。
Bフォローセットの新しい状態は行(23)の欄(7)に示される。
字Aは次に行(21)の欄(9)に、Bに続いて現われる。
再びエンコーダは、最新状態が欄(7)に示されるBフォローセットを参照して 、字Aを2進コード10により識別し、行(22)のtIil!(9)に出力と して与える。
行(21)の@(5)のAはDフォローセットのメンバーとしてフード化されな ければならない。Dフォローセットの最初の状態は第3図にテーブル(32)に 示す如くであるから、行(22)の欄(5)の出力として、新字の2進識別コー ド10の後に字Aが付されて与えられる。
データ・ストリーム中の真に最初の字の出力についてはこれから論する。最初の 文字にはそれが追従する字はないので、エンコーダ装置およびデコーディング装 置は共に、最初の字は空白キャラクタφのフォローセットのメンバーであると随 意に仮定する。空白・フォローセットの初期状態は第3図の番号(33)に示さ れる。第2B図の行(21)の欄(1)にある字Aの出力は従って2進コード1 0で識別される新文字記号に文字Aを付したものとなるであろう。そして空白・ フォローセットは第2B図の欄(1)、行く23)に示す形をとるように改訂さ れる。
本発明のこの実施例に従う、デコーディング装置は上記のコーディング装置に似 たやり方で動作する。これもフォローセット・テーブルを保管する。定義上、そ の時コード化された文字をデコード(解読)するのに用いられる適切なフォロー セット・テーブルはデコードされた最終の文字により識別されるから、コード化 されたデー″り・ストリーム以外の情報を受けないでも、デコーディング装置は 適切なフォローセット・テーブルを正しく識別することができる。その上、本発 明はコード化されたデータ・ストリームを更新し、デコーディング装置に使われ るテーブルを同期して維持するから、テコ−ディング装置とエンコーディング装 置のテーブルは常時、相互に合致する。すなわちデコーダはエンコーダと同じよ うにしてフォローセットを更新する。エンコーダは与えられた入力文字から2進 エンコーデイングを引き出すためにフォローセットを利用するのに対し、デコー ダは2進エンコーデイングを元の文字に変換するために等しいフォローセットを 利用する。
前記の動作の説明は、本発明による°エンコーダの代表的な望ましい実施例より も、多くの点で簡略化されている。先ず、新字記号が識別されてその後で字の出 力が与えられた時(例えば、行22の欄2および4の場合のように)、その字は 特定の2進フードにより識別される。そのような状態でコードを生じ頻度テーブ ル内のその位置に基づいてその新字をコード化するテーブルがある。
(単純化された実施例は頻度テーブルの使用を避け、新字の直接のASCIIま たはEBCDIC表示に等しい表示を送信するであろう。) 第2に、各フォローセットは6字プラス新字記号ではなく、15字プラス新字記 号の位置を含む。(任意の他の数を使用するこ・ともできるが、多くの場合、1 5で満足な結果が得られると判明した。)上記の手順に従って一つのフォローセ ットが満たされた時、データ・ストリームの中で新字に出会った時は何度でもエ ンコーダはそのフォローセットの最下位を占める字に新字を入れ換えて、フォロ ーセットの中の「古い」字が除去されるようにする。
第3にr字」という語は単にアルファベットだけでなく特定の形式に従って2進 コードにコード化され得る任意の型式の情報を含む。従ってASCI Iまたは EBCDICスタンダードを用いれば、コンマまたはスペースも上記の場合のA または数字9と同様に一つの字である。(以下にさらに詳しく説明されるように 、ここでASCIIまたはEBCDICに適用される原理は任意の一定長のコー ディング文字セットに適用することができる。)第4に、一つのフォローセット ・テーブルの中の位置は第1図乃至第3B図に示される与えられた2進数のセッ トのみによって識別されるものではなく (第7図について後述するように)、 そのフォローセットに用いられている活動中の字(または位置)の数により決ま る。動的に割当てられる2進数のセットにより識別される。各フォローセットに 活動中の文字の数が記憶されて、特定の2進数のセットを使用し得るようになっ ている。
第5に、新字記号は物理的にフォローセットには記憶されていない。代りに各フ ォローセットには新字記号が占める理論的位置を表わす数字も記憶されている。
新字記号を識別するために送るべき2進コードを決めるのに、この数字が用いら れる。
第6に、エンコーダが新しいフォローセット、つまり唯一の候補が新字記号であ るフォローセット、を使用している時は、新字記号の位置の送信を全く省いてエ ンコーダ出力を圧縮することができる。すなわち、エンコーダもデータも、新し いフォローセットにおいては唯一の候補が゛新字記号であることを知っていて、 その位置は既知であるからである。このような場合、新字記号の位置コードを先 行させることなく直接に新字のコード化の出力をエンコーダが与えるのみである 。よって、例えば、第2A図の欄(2)において、エンコーダはAフォローセッ ト、即ち新フォローセットにあり、第2B図の$1111(1,3,5)におい て、エンコーダはそれぞれ、空白、B、Dフォローセットにあり、各々はその時 点において新しいフォローセットである。その結果、エンコーダおよびデコーダ はこれらの欄の行(22)における2進数10を省略し得るように設計されてい る。
最後に、フォローセットは必ずしも与えられた単独の字で識別されるわけではな い。望ましい実施例において、フォローセットが特定の種類の字グループにより 表わされると有利であることが判った。本発明の望ましい実施例に使用される字 グループは字を次の5つの「タイプ」に類別することに基づいている。
タイプ1226個の大文字アルファベットA−Z ;タイプ■:26個の小文字 アルファベットa−Z;タイプm : 10個の10進数O−9;タイプ■:句 読点または記号、例えば[、]、[; コ 、[;] 、[%] 、[$] 、 [(〕 、〔)]など; タイプリ:コントロール、バックスペース、空白、ラインフィード等のようなデ ータ通信シグナル。
望ましい実施例において、本出願人は一つのフォローセットを一つの3要素のセ ットで識別し、その最後の要素は 128個のASCl 1字の成る一つである 。このセットの最初の2要素はデータ・ストリーム中の成る字に直ぐ先行する2 つの字のタイプである。例えば、行(21)の欄(4)にある字りは字Aに続く 。欄(3)の字Aは2つともタイプIである字に続く。よってDは[タイプN  [タイプIF [A]のメンバーとして識別される。特許請求の範囲で使用した 「タイプ」という語は、方式によるし、成る字がそのようなグループの一つと関 連付けられは、任意の字または字グループに続く位置に入る候補の、そのような 字または字グループについてのテーブルを作成するために、本発明により考察さ れる字または字グループに関連して用いられる。ASCIIおよびEBCDIC コーディングの性質により、5つのタイプよりも4つのタイプを用いる方が便利 であると判った。例えばASCIIに、おいて、その2進コーデイングの2つの 最高位のビットについての4つの可能性を直接に用いて4つのタイプの各々を識 別することができる。これらの4つのタイプは上記の5つのタイプの、タイプ■ とタイプ■を統合したものにほぼ相当する。
前項に述べた進め方は4 X 4 X 12g−2048個の合計フォロータッ ト数を生ずることになる。エンコーディング装置のメモリーに全部で2048個 のフォローセットを実際に維持することができるがこの進め方は一般に必要でな いことが判った。再発生の順序にフォローセットをランク付けし、使用頻度の最 も少ないものを棄てることもで使用されたフォローセットの適切な数をメモリー に維持しても、圧縮の損失は少ないことが判った。これを実行するために、全て の有り得るフォローセットのうちのどれが実際に発生しメモリーに維持されたが を知るために、全フォローセットのリストをエンコーディング装置のメモリーに 維持することが有用である。成るフォロアセットがメモリーに無くて必要である 場合、それを作成しモ、最も良くメモリーに維持されていたフォローセットを棄 てる。
圧縮されたデータがEBCDICである場合、256個の字がある。本実施例は 128字に対して設計されているので、比較的小さな圧縮ロスで、2つの異なる 文字について単た。二側として、[タイプI] [タイプ11 [a]と同様に [タイプI] [タイプエコ [5OH(!3tart 04 )leadin gCharacter)ヘッディング開始文字]にも同一のフォントを呼び出す ことができる。280010字によるフォントを作成する際、以下にさらに詳細 に記載される実施例は該当する字における最高位のビットをゼロにセットして、 2つの字が同一のフォントのセットを生ずるようにする。
(しかしこの手順は新らしい字の表示の送信または成るフォントへの一つの字の 記憶には適用されない。)このようにして1.同じ数のフォントを、データがA SCIIまたはEBCDICであっても、使用することができる。(最高位のビ ットの後の共通ビットにより表わされる字についてフォントのセットが併合され ているためにそのフォントが他の場合よりも頻繁に選ばれることになったとして も)デコーディング装置およびエンコーディング装置は常に同一のフォントを選 択するから、送信または受信されたデータにあいまいさが生じない。
第4図は本発明の望ましい実施例のハードウェアの実際を示す。本発明はモデム および端末にそれぞれ接続されるモデム・ポート(410)およびターミナル・ ポート(411)を含む。本発明は、 に)モデム・ポート(410)を通して 受信したコード化デニタを処理してそのデコードした出力をターミナル・ボート (411)に出すこと、および (::)ターミナル・ボート(411)を通し て受信したデータ・ストリームを処理してそのコード化された出力をモデム・ポ ート(410)に出すこと、の両方を行う。中央処理はZ80A CPU(40 1)により行われ、これはユニット(415)からクロック・シグナルおよびパ ワー・シグナルを受け、またキーボード(405)の適当な操作にもとづきユニ ット(415)からリセットφシグナルを受ける。当業者にとって公知のやり方 で、CPU(401)はEFROM(402)、代表的1!:はタイプ2764 、およびDRAM(403) 、代表的には本装置の64に型ではタイプ416 4または本装置の1θに型ではタイプ4118、に連通しており、DRA旧よパ リティ−(404) 、代表的にはタイプj−328D 、によるパリティ−・ チェックを受ける。モデム・インターフェース(4011)およびターミナル・ インターフェイス(412)は代表的にはタイプ1488およびタイプ1499 である。ZIIOA SIOアンドれのポートに対する各インターフェースの関 係を制御する。
ハードウェア全体にわたるデータ交換はFPLA(40B)、代表的には823 153、および品目(407) 、代表的には8255、により制御される。こ れらのチップはランプ・アンド・デジット(414)への出力を管理し、キーボ ード(405>から入力を受ける。適格な装置制御情報はバッテリー・バックア ップ回路(409) 、代表的にはタイプ4006、にてAC電力切断後に保存 される。
つぎに第5図を参照するに、本発明の望ましい実施例によって実行さ、れる基本 的論理処理を図解するブロック図が示される。8つの基本的処理が行われ、3つ は特にコード化に関係し、3つは特にデコーディングに関係し、付加的な2つは 、指示ランプ(54)の作動およびキーボード(55)の操作に関連して、本発 明の管理機能を果す。作動系に似た態様で動作するプロセス・スケジューラ(5 9)によりこれらの基本処理が管理される。コード化処理は、二段階(51)に よりターミナル(端末)から入力データを受けTRENという識別付号の付いた バッフ、7にロードすること;つぎに段階(52)により、バッファに記憶され たデータを取り出し、それをコード化し、その情報をバッファENMXにロード すること;最後に段階(53)により、バッファENMXに記憶されたデータを 取り出しその情報をモデム出力を通して出力すること;を含む。それと類似的に 、デコーディング処理は二段階(56)により、モデムからデータを受けそれを バッファMRDEにロードすること;つぎに段階(57)により、バッファMl ?DEのデータを取り出し、デコード(復号)し、デコードしたデータをバッフ ァDETXにロードすること;最後に段階(58)により、バッファDETXの データを取り出しターミナルへの出力に出すこと:を含む。プロセス・スケジュ ーラ(59)はこれらの機能が普通の同期処理の一部として該して周期的に取扱 われるようにするが、4角の囲いの上のチェック印(r)により識別される機能 は、これらの機能に優先ベースで処理が進められるようにするインターラブド( 割込み)によりスケジュールされる。
モデム出力に出されるデータは、当業者にとって公知のやり方で一般にX25  プロトコールの形をとる。このプロトコールは適当なフラグにより示され、後に 周期的レダンダンシー・チェック(CRC)が続くフレームの中のデータの送信 を含む。この技法は本装置が送信障害によるモデム・ポート間のエラーを検知し 修正することを可能にする。
本発明の処理段階は、データのエンコーディングおよびデコーディングの両方で 内部的に用いられる2つの最も重要なテーブルを図解する第6図を参照すれば良 く理解し得る(本発明のエンコーダ部分およびデコーダは共にこれらのテーブル の1対を有する。付録には、エンコーダのテーブルとデコーダのテーブルぼ別々 に名称が付せられる)。品目(61)は本発明により使用状態で保持されるべき 所要数のフォントに対する記憶装置の割当てであるFONT、TABLESであ る。
図示の実施例において、各フォントは文字記憶のための15の位置プラス新字記 号のための1位置を有する。名字は新字記号の位置と同じく1バイトの情報によ り識別される。一つのフォントにつき一つの付加的バイトがそのフォントの活動 中の字の数を記憶するのに用いられる。最後に、後述するFONT、ADDRE SS TABLE(62)というもう一つのテーブルの中でそのフォントのアド レスを記憶するために2バイトの情報が用いられる。よって、本実施例ではFO NT、TABLES内の各フォントに19バイトの情報が記憶される。本発明の [i4に型装置では、1,000個の活動フォントが記憶され、各フォントが上 記のように19バイトを占める。第6図において、FONT、TABLESは記 憶装置内の記憶場所Yに始まることが示される。
FONT 、ADDRESS、TABLEは2バイト・ポインタのテーブルであ り、FONT、TABLESの中に割当てられたフォントの最初の記憶場所のア ドレスを識別するのに各ポインタが用いられる。現在FONT、TABLES中 で活用されているフォントおよび現在活用されていないフォントを含めて、有り 得る各フォントの一つ一つにポインタがある。よって4つのタイプと 128文 字を用いる系では4X4X12g−2048個のポインタが有るであろう。FO NT、ADDRESS、TABLEのポインタにゼロ(0)の値が当てられてい るのは、該当フォントのFONT、TABLESに現在活用されているフォント が無いことを意味する。
特定のフォントのポインタの記憶場所は次式の計算による、そのフォントを構成 する要素の値を用いるアルゴリズム(算法)により決定される:[(T、2X4 )+T、L]X 2十LCX32、ただしLCは最終字の2進数であり、T、2 は最終から2番目の字のタイプ値(2進数の0から3まで)であり、T、1はT 、2に先行する字のタイプ値である。前れて最終的なアドレス値が得られる。
例えば、[タイプIl][タイプI[I] [A]のフォントを考えよう。文字 Aは10進数の65に相当する2進数により表わされ、よって上式を適用して[ (2X 4)+ IIX 2+(65X32)−4098を得る。FONT、A DDRES!lli、TABLEは記憶場所Xに始まると仮定して、この特定フ ォントはX + 209111ケ所でそのポインタを有する。このポインタは実 際には2バイトの2進数であるが、この数字をY+190に等しいと仮定しよう 。このポインタは第6図の品目(63)として示される。前記のようにこのポイ ンタはFONT、 TABLESの中の割当てられたフォントの第1位置の記憶 場所を識別する。このFONT、TABLESは記憶場所Yに始まるから、位置 Y十f90は第6図に品目(64)として示される。
この特定フォントの最初の2バイトはFONT、ADDRESS。
TABLE内のそのポインタのアドレス、つまりX + 2098を含む。
望ましい実施例における本発明はまた他の多くのテーブルを用いる。一つは第7 図に図示するENCODING、TABLEである。前に述べたように、一つの フォントの中の一つの字の位置は2進数の簡単なセットで示されない。よって、 例えば、そのフォントがそのフォント内の活動中の字数を示すビットにより指示 されるように3個の記入しか有しない場合、このエンコーディング・テーブルは フォント内の継続する位置を識別するのに、第7B図に示す2進数系を用いる。
同様にフォントが7個の活きた文字を示す場合、フォント内の位置は第7F図に 示す2進数により識別される。この機構による数字の使用は、先ず第1に、特定 フォント内での高位置のコード化を効率化し、第2に、フォント内の位置を識別 するのに必要な最終ビットを受信した時点を決めるためにデコーディング装置に 明確な方式を与えることに、注目すべきである。
受信した2進数をデコードするのに、該当フォント・テーブル内のそれらの位置 を示すために対応するデコーディング・テーブルが用いられる。このデコーディ ング・テーブルはDE、FONT、TABLEと呼ばハる。このテーブルはDE 、FONT、TABLE、 INDEXと共に使用サレル。或ルフォント・テー ブル内で新字記号が占める位置を識別するために2進数情報が送信される場合、 頻度テーブル内のその位置にもとづく新字の表示がその後で送信される。
先に述べたように、簡略化された説明と望ましい実施例の間の上記の第1の相違 は、送信される特定の新字が実際にはコード化されない形で送信されるのではな く、そのような状況でのコードを発生するテーブルがあることである。第8図は 新字記号が占める位置の送信に続いて新字を送信するためのエンコーディングを 導き出すのに用いられるテーブルを示す。このテーブルの一つにENCODER ,NC,CHAR,FREQ、と呼ぶテーブルがある。このテーブルは該当AS CIIおよびESCDICコーディングに従って、コード化されている資料の中 でその字のおよその局部発生率゛を示す値を上昇順番で識別する。例えば、Aが B5に相当する2進数で表わされる場合、テーブル中のその値に相当する位置は 、この文字が他の12個の文字に次(最も頻繁な文字は頻度番号0で識別される )。
エンコーディングに使用される第2のテーブルはENCODER,NC,C)l AR,VALUE(82) テあり、そノヨうな文字の該当するASCIIまた はEBCDICコーディングをおよその局部発生頻度の順序に記憶する。よって 65に相当する2進数が順番位置(12)に記憶されて、前記例の字Aを指示す る。これら2つのテーブルは、送信されている文字をテーブル(82)中の直ぐ 上の文字と入れ換え、テーブル(81)に相当する変更を行って、更新される。
よって、Aがエンコードされつつあり、文字Pがテーブル(82)中でAの直ぐ 上の位置を占めている場合、AとPはテーブル(82)の中で場所を入れ換えて 0、テーブル(81)中の位置(65)は11に相当する2進数を、また同テー ブル中の位置(80)は12の2進数を含むように変更されるであろう。これま でに未説明のテーブル、っまりENCODER,NC,ENCORDING、T ABLEに従?て送信することにより、この時点では文字A自体が送信される。
このテーブルは10進数12を示す該当2進数、従って新字“A′を送信する。
本発明の対応するデコーディング装置がこの2進数情報を受信すると、2ツノテ ーブル、つまりDE、ZONE、TABLEおよびDE、DIGIT。
TABLll: カ用イらレテ、DECODE、R,NC,CHAR,VALU Eテーブル(83〉の中の位置を示す2進数、この場合、lO進数の12に相当 する2進数を生ずる。デコーダがこの情報を受信した際、“八〇についてのAS CIIまたはEBCDICのコーディングが占めた位・置をその先行者の位置と 入れ換えることによりテーブル(83)を更新することを知って、それを実行す る。このようにすると、およその局部的相対発生頻度を示すテーブル内の位置に よって文字が識別されるから、比較的発生開度の高い文字は、識別に必要な通常 の7ビツトよりも少ないビットを用いてコード化されることができる。この圧縮 方法は一般に1文字当り平均約6ビツトである。
ENCODER,NC,ENCODING、TABLEの構成は本書で用いた接 近方法の効果にとって重要である。第9図に示されるように、本出願人は128 個の文字(0から 127の順序数で示される)を2進数のゾーン、すなわちo 、to、tioおよびlitに分割することが有効であると知った。ゾーン0に おいて、テーブル(82)およびテーブル(83)に従って16個の最も頻繁に 発生する文字を区別するために16個の4ビツトの2進数字が用いられる。ゾー ン10において、同じ<16個の4ビツトの数字が前記テーブルによる、その次 に発生頻度の多い16個の文字を識別する。同様にゾーン110において、その 次に発生頻度の多い32個の文字を識別するために5ビツトの数字が使われ、ゾ ーン 111において残りの64個の文字を識別するために6ビツトの数字が用 いられる。
ENCODER,NC,CHAR,VALUEおよびD’EC0DER、NO、 CHAR、VALUEの両テーブルにおける相対位置(順序数) 31を、それ 自体は字ではない成る装置指令の存在を指示するために、代りに使用するのが便 利であることを本出願人は発見した。位置31をコード化した2進数の後に2進 数″1″を送信することにより一指令の存在を示す。2進数“1′の後に、実際 の装置の指令を含む可変長のストリングが送信される。2進数“0°が送信され ると、指令は無く、正規の新字のエンコーディングとして理解される。
指示ランプの作動、装置のリセット、ループバック手順の開始、および他の所要 の制御操作を生ずるように、公知のやり方で装置の指令が用いられる。
つぎに付録を参照するに、第5図に図解されるように本発明の望ましい実施例に 従ってエンコーディングおよの詳細なリストがある。(Exhibit 1およ び2は標準の280マクロ・アセンブリ言語で書かれているが、リスト中の可変 項目その他の名前は判り易くするために伸張されている)。付録の最初の部分、 ライン00100〜10800はエンコーディングおよびデコーディングの処理 に用いられる変数を識別し、前記のテーブルを確立する。ライン 10750に 始まって、第8図のテーブル(81,82,83)がlO進数0〜127に相当 する2進数をそれらに連続的に記入することによって初期設定がなされる。この 過程はライン 11300にて完了する。ライン11350〜11700は本実 施例の操作と関連して用いられる幾つかの変数に初期値を与える。ライン 11 750〜12300において、可変のFONT、ADDRESS、DUMMYの アドレスが、FONT、TABLESに記憶される各フォントにつき、FONT 、TABLESの2バイトのアドレス部分に記憶される。
エンコーダのルーチンはライン 12500に始まる。当業者にとり公知のやり 方でサブルーチンENCODER、PETCH。
FIFO,TRENに従って、バッファ TREN (第5図による過程51で 入力データがロードされている)から一つの字が取り出される。ライン1280 0〜14550は繰返しエンコーディングの試験を含む。基本概念は、もしも入 力データが一つの字の繰返しを含むならば、その字は2度目にコード化され、そ の2度目にコード化された字が送られるが、繰返しカウンタは繰返しの度数を追 跡するために増分される。2度目以降の繰返しにおいて、カウンタは最高9まで 数を増やし、その時点でコードが送られる。繰返しが9回よりも前で止9た場合 も、コードが早目に送られる。コードはつぎの通りである。最初の繰返しの正規 のエンコーディングの送信後、それ以上の繰返しが無いことを示すために0を送 る。しかし繰返しがあるならば、1を送信した後に繰返し線数から2を差引いた 数の3桁の2進数を送信する。よって3回連続して発生する字の場合、コーディ ングは1のあとに2進数000が続ラム制御はFONT、 PARA)IETE R3と呼ばれるマクロを処理する。このマクロの実質はライン32050に始ま りライン33750に終るリストの中に示される。このマクロは第6図ニ関連り 、 テu 述L tニー FONT、ADDRESS、TABLH(e2)ノ中 の該当7.t > トf)位置ヲ計算守ル。FONT、ADDRESS、TAB LEノtt算された位置にポインタとして0の値が゛見出されたと仮定すると、 FONT、TABLESには現在活動中のフォントは無く、従ってそのフォント は活用されなければならない。
従ってプログラム制御は14750にてそのジャンプを取消し、15150にて 終るルーチンである 141100に移る。プログラム−はFONT、PARA )IS、NEνという名称のマクロを呼出し、このマクロはライン33950に て完全に始まりライン35650マチ続< 、 ENCODER,FONT、丁 ABLEオヨヒENcODER。
が用イラレル。可変NEXT、FONT、ADDRESS ハENcODER。
FONT、TABLESの中で、割当てまたは再割当てされるべく得られ′る次 のフォント・テーブルのアドレスを識別する。コノアドレスハFONT、ADD RESS、TABLEノ中の適切な位置に記憶される。しがしフォント・テーブ ルをFONT :TABLESに再割当てする場合、それが関連する古いフォン トを識別しナケレハナラス1.: i ハFONT、ADDRESS、TABL Eの中の該当アドレスを識別するためにそのフォント・テーブルにまだ記憶され ている以前の2バイトのポインタラ用いて行われる。FONT、ADDRESS 、TABLE(7)中の該当位置にあるメモリーをそこで0にセットして、その 古いフォントがもう活動していないことを指示する。次にFO?JT。
ADDRESS、TABLEの中の新たに活用されたフォントの位置を識別する ためにFONT、TABLES中の新たに活用されたフォント・テーブルのポイ ンタを変える。最後に、生きている字の数および新しい字の位置を識別するこの フォント・テーブル中の記入をO(第1の位置を示す)にリセットし、次の利用 されるテーブルを識別するために(テーブル中のバイトの最大数を法として)1 9バイトだけ可変NEXT、FONT、ADDRESSを増やす。ツぎに制御は ENCODER。
NEW、FONTとして識別されるプログラムの中のポイントにジャンプする。
そのプログラムの本体はライン192501m始まる。
活動しているフォントが既に存在する場合は、制御はライン15200に行く。
そこでこのプログラムは、コードせる。もしもその字が存在する場合、このプロ グラムはその字が占めるテーブル内の位置を発見的に識別しく新字記号の発見的 位置を考慮して)、その位置を識別するために、2進コーデイングの、ENCO DING、TABLEの該当部分からの選択を行う。またフロント・テーブル内 のその選択された字の位置は該テーブル中の直ぐ前の字の位置と入れ換えられ、 新字記号の発見的位置が必要に応じて適切に更新される。最後に、ENCODE R,TABLE中の選択から生じた2進コーデイングが出力゛として与えられる 。
該当フォント・テーブル中に字が存在しない場合には、制御f、t ENCOD ER,NEW、C)IARACTERとして識別さレルライン18700に移る 。この時点で、新字記号の発見的な位置が出力として°与えられる。また、特定 文字の2進コーデイングが第8図に関連して前述しりENCODER,NC,C HAR。
VALUEと称するテーブルに従って出力として与えられる。この時、このテー ブル自体は第8図に関連して述べたように更新される。然る後、新らしいフォン トの場合と同様にこのフォント・テーブルが更新される。特に、制御は上記のE NCODER、NEW 、 FONTに進む。活動している字の数が最高よりも 少ないならば、それは1だけ増分されて、その指示位置にエンコードされつつあ る字を示す2進コードが記憶される。活動している字の数が既に最高である場合 、このフォントに対するフォント・テーブル中の最終位置に該当字の2進コード が挿入され、そこに記憶されていた古い数に単に重ねられる。
前記の処理段階の任意の段階の後、制御はライン17450にあるENCODE R,RESET、FONTに行き、そこで処理されるべき次のフォントを確立す るために変数がリセットされる。特に、最も新しく処理された3個の字のタイプ が更新され、最後の字が更新される。EBCDICの使用はタイプ・コードの決 定に影響するから、EBCDICの特別の場合として追加のコードのラインが含 まれる。
本実施例では、ENCODER,RESET、FONTの256回の反復の後、 4ゼロ・ビットのパターンを送信するのが望ましいと判った。デコーダがDEC ODER,RESET、FONTの 256回の反復の後でこれらの4ゼロ・ビ ットを同様に識別しない場合には、多分データ通信の故障によるエラー状態が存 在し、この状態はフラグで示され、データ処理は停止する。ゼロの4ビツトのス トリングがライン111550〜18850に追加される。
デコーダの作動はエンコーダの作動と良く似ている。
ライン20650を参照して、デコーダは前記のマクロFONT、PARAME TER3を用いて、現在活動しているフォントが存在するか、または新しいフォ ントの状態があるが決定する。ライン21150にある制御はライン21450 にあるDECODER,PROCESS、NEW、CHAI?ACTERl:跳 ぶ。活動しテいルフォントが存在する場合の字の処理には、制御はライン212 001、: 行<、。7 クロFONT、PARAM、OLD (現在ノフォン トのアドレスをセットする)を動がした後、制御はライン24750、DECO DER9PROCESS、OLD、cHARAcTERニ行く。ココでこのプロ グラムはマクロDECODE、FONTを用いて、現在のフォントの中の位置を 示す2進ストリングをデコードする。この位置が新字記号を示すならば、制御は 後述スルヨウニ、新シイ字ノ処[)f: メ+: DECODER,PROCE SS。
NEW、CHARACTERに跳んで戻る。そうでなければ、成るフォントに現 われている字は発生しているがら、該当フォント・テーブルは更新されなければ ならず(ライン25050〜284501::テ生ずる)、ライン265001 .:あルルーチンDECODEI?、RESET、FONTにより示される終り 処理に入る。
新しいフォント、または現存するフォント内の新字の場合1:l: ハ、ルー  チンDECODER,PROCESS、NEW、CHARACTERはマクロD ECODE、CHARを用いて、前記の第9図に示すエン−コーディング・テー ブルにより各々のケースにつき識別サレルヨう・ニ、テーブルDECODER, NC,CHAR,VALUE l::従って頻度コード化された新字をデコード する。もしも第9図に示す2進コーデイングにより順序数31が指示されるなら ば、装置コマンドが存在するがどうが決定するために、さらに処理が必要である 。位置31のコーディングの後に2進数1が続く場合には、プログラム制御は、 ライン217501:アルDECODER,COMMAND、EXTRACTと して識別されるルーチンに行き、ここで該当する装置指令が復号される。そうで ゛なく、順序数31のコーディングの後に2進のゼロが続くならば、制御は正規 の場合のようにライン23100+、: アルDECODER,NEW、C)I ARACTERという識別名のルーチンに行く。ここでのプログラムの”アクテ ィビティはエンコーダにおける新しいフォントの場合に似ており、生きている字 の数が最大よりも少ないならば、そのフォントの計数を1だけ増し、その指示さ れた位置にデコードされつつある字を示す2進コードを格納する。生きている字 の数が既に最大に達しているならば、このフォントのフォント・テーブルの最後 の位置に該当字の2進コードを挿入し、そこに記憶されていた古い字は単に書き 換えらレル。ツイテ制御ハDECODER,RESET、FONTという識別名 ツルーチンへ進む。ルー’P ンDECODER,RESET、FONTは与え られた字の該当するASCIIまたはEBCIDIG表示をデコードしてライン 28550の出力として出し、次にライン17450におけるエンコーダのそれ に類似する処理を開始する。最も後に処理された3個の字のタイプを更新し、最 後の字を更新する。タイプ・コニドの決定に影響する限り、コードの追加のライ ンがEBCIDICの特別の場合として含まれる。
次に、DECODEl?、RESET、FONTの256回の繰返しの後、前記 のように4ゼロ・ビットのストリングを検知するためのプログラミングがある。
ゼロの4ビツト管ストリングが検知されない場合、エラー状態が存在するからデ ータ処理は中止される。
その後、ライン27800にて、新らたにデコードされた字が前にデコードされ た字と同じかどうか知るためにプログラムは試験を行い、その字が異なる場合に は、制御はデコーダ・ルーチンの初めに戻る。そうでない場合には、繰返し字の エンコーディングを扱う論理がある。
この論理はライン27950〜28900の、DECODER、REPEAT  。
LOGICである。本質的に、今デコードした字の後にゼロ・ビットが続くなら ば、反復はなく、1が続くならば、その後に前述のようにして反復の数を指示す る3個のビットが続く。つぎに反復の数が、同−字の該当数の書込みを出力に送 るように用いられる。
つぎにライン・29400にある指令ルーチンを参照するに、デコーダが何時で も該当指令f与えられるように、エンコードされたストリームの中の任意の点に て装置の指令を可能にするコーディングが示される。装置指令は前記のようにし てデコードされる。ライン31950に始まル、後読ツマクロはエンコーダおよ びデコーダに関連して概要を前述した細部のハウスキーピング機能を果す。
以上は本発明の具体的実施例の記載であるけれども、後記の請求の範囲に明確に される本発明の精神および範囲から逸脱することなく、前記の開示され記載され たものと異なる種々の形で本発明を具体化することができることは、明らかであ る。
FIG、2B 0//// 0/I10 01/10 011111 01lllO O///// 手続補正書 昭和61年q月9日

Claims (15)

    【特許請求の範囲】
  1. 1.字のストリームを受信する入力と、符号化したデータを与える出力と、 複数の字の各々に対して、前記ストリームにおいてフォローセット・テーブルに 関連する字に続き得る字の各候補を記載する該フォローセット・テーブルを記憶 し、呼出し、更新するために、前記入力に接続したフォローゼット装置と、 前記入力で前記ストリームにおける所与の字の直前を先行する字に対する前記フ ォローセット・テーブル(所与のフォローセット・テーブル)を識別するために 、前記入力に接続したフォローセット識別装置と、前記出力で前記所与の字に対 して、前記フォローゼット識別装置により識別した前記フォローセット・テーブ ルにおいて、該所与の字が占める位置を指示する信号を与えお位置符号化装置、 を含む字のストリームのための動的符号化方式。
  2. 2.「新字」すなわち前記フォローセット・テーブル中に候補として別に記載さ れていない任意の字、を識別するための候補(「新字記号」)を前記各フォロー セット・テーブルが含み、さらに新字の状態が識別された時に前記出力にて該新 字の表示を与えるための新字符号化装置を含む、請求の範囲第1項に記載の方式 。
  3. 3.前記所与のフォローセット・テーブルが前記新字記号のみを含み他の候補を 含まない時は常に該新字記号の位置を指示する信号の出力を与えないように前記 位置符号化装置を抑制するための装置を前記新字符号化装置が含む、請求の範囲 第2項に記載の方式。
  4. 4.全ての字について新字としてのおよその局部発生頻度の順に識別子を記憶す る新字頻度テーブルを前記新字符号化装置が含み、新字の表示が該新字頻度テー ブル中の該新字の位置にもとづいている、請求の範囲第2項に記載の方式。
  5. 5.前記新字頻度テーブルによって一つの新字が表示される都度、該新字の識別 子の該テーブル内の位置を直ぐ上の識別子の位置と入れ換えること(ただし該新 字の識別子が前記新字頻度テーブルの最上位にある場合は除く)により前記新字 頻度テーブルを更新するための装置を前記新字符号化装置が含む、請求の範囲第 4項に記載の方式。
  6. 6.所与のフォローセット・テーブルにかかわる字の後の局部発生頻度のおよそ の順序に該フォローセット・テーブルにその候補をリストさせる、順序付け装置 を前記フォローセット装置が含む、請求の範囲第1項に記載の方式。
  7. 7.所与のフォローセット・テーブルにかかわる字の後の局部発生頻度のおよそ の順序に該フォローセット・テーブルにその候補をリストさせる順序付け装置を 前記フォローセット装置が含む、請求の範囲第4項に記載の方式。
  8. 8.所与のフォローセット・テーブル中の一候補の位置が前記符号化装置により 前記出力に信号された時は常に前記所与のフォローセット・テーブル中の前記候 補の位置を直ぐ上の候補の位置と入れ換えること(ただし前記候補が前足フォロ ーセット・テーブルの最上位にある場合を除く)により前記所与のフォローセッ ト・テーブルを更新するための更新装置を前記順序付け装置が含む、請求の範囲 第6項に記載の方式。
  9. 9.所与のフォローセット・テーブル中の一候補の位置が前記符号化装置により 前記出力に信号された時は常に、前記所与のフォローセット・テーブル中の前記 候補の位置を直ぐ上の候補の位置と入れ換えること(ただし前記候補が前記フォ ローセット・テーブルの最上部にある場合を除く)により前記所与のフォローセ ット・テーブルを更新するための更新装置を前記順序付け装置が含む、請求の範 囲第7項に記載の方式。
  10. 10.字のストリームの中で有り得る各字が複数のタイプ(Type)の一つに 分類され、配列された字の複数グループの各々について一つのフォローセット・ テーブルを記憶し、呼出し、更新する装置を前記フォローセット装置が含み、前 記各グループは最後の字と該最後の字の直ぐ前の字のタイプ(すなわち最後から 2番目の字のタイプ)とを含み、前記テーブルは前記ストリームの中で該テーブ ルにかかわる字グループに続き得る字の候補を記載している、請求の範囲第1項 に記載の方式。
  11. 11.前記字グループはその中の最後の字と、最後から2番目の字のタイプと該 最後から2番目の字に直ぐ先行する字のタイプとから成る、請求の範囲第10項 に記載の方式。
  12. 12.第1のタイプは事実上26個の大文字アルファベットA〜Zを含み、第2 のタイプは事実上26個の小文字アルファベットa〜zを含み、第3のタイプは 事実上10個の10進数0〜9を含む、請求の範囲第10項に記載の方式。
  13. 13.第1のタイプは事実上26個の大文字アルファベットA〜Zを含み、第2 のタイプは事実上26個の小文字アルファベットa〜zを含み、第3のタイプは 事実上10個の10進数0〜9を含む、請求の範囲第11項に記載の方式。
  14. 14.符号化方式の出力を復号するための請求の範囲第1項記載の復号方式であ って、 前記符号化方式からコード化されたデータを受信するための復号入力と、 復号されたデータ・ストリームを与えるための復号出力と、 複数の字の各々に対して、前記復号データの流れにおいてフォローセット・テー ブルに関連する字に続き得る字の各候補を列記する該フォローセット・テーブル を記憶し、呼出し、更新するために、前記復号出力に接続された復号フォローセ ット装置と、 今複号されたばかりの字について前記フォローセット・テーブルを識別するため に、前記復号出力に接続された復号フォローセット識別装置と、 前記復号フォローセット識別装置により識別されたフォローセット・テーブルに おいて、前記復号入力で信号により識別された位置を占める字を前記復号出力で 与えるために、前記復号入力、復号出力およびフォローセット識別装置に接続さ れた復号装置を含む復号方式。
  15. 15.字のストリームを符号化し、符号化されたストリームを復号するための方 式であって、 前記字のストリームを受信するための入力と、コード化されたデータを与えるた めの出力と、前記ストリームにおいてフォローセット・テーブルに関連する字の 後に続き得る字の各候補を記載する該フォローセット・テーブルを複数の字の各 々について記憶し、呼出し、更新するために前記入力に接続されたフォローセッ ト装置を有するエンコーダと、 前記エンコーダ出力から前記コード化されたデータを受信するために、前記エン コーダ出力に連通する入力と、デコードされたデータのストリームを与えるため の出力と、前記デコードされたデータのストリームにおいて複数の字の各々に対 し、正規動作中任意の所与の時点でデコーダのフォローセット・テーブルのセッ トが、之に対応する直前の時点で前記エンコーダのフォローセット・テーブルの セットと一致するように、該フォローセット・テーブルと関連する字の後に続き 得る字の各候補を記載する該フォローセット・テーブルを記憶し、呼出し、更新 するために該デコーダの出力に接続された復号フォローセットを有するデコーダ を含む符号化および復号のための方式。
JP60502923A 1984-06-19 1985-06-14 デ−タ圧縮装置および方法 Pending JPS61502511A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US622547 1984-06-19
US06/622,547 US4612532A (en) 1984-06-19 1984-06-19 Data compression apparatus and method

Publications (1)

Publication Number Publication Date
JPS61502511A true JPS61502511A (ja) 1986-10-30

Family

ID=24494590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60502923A Pending JPS61502511A (ja) 1984-06-19 1985-06-14 デ−タ圧縮装置および方法

Country Status (7)

Country Link
US (1) US4612532A (ja)
EP (1) EP0187812B1 (ja)
JP (1) JPS61502511A (ja)
AT (1) ATE70148T1 (ja)
CA (1) CA1274916A (ja)
DE (1) DE3584833D1 (ja)
WO (1) WO1986000479A1 (ja)

Families Citing this family (85)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4796003A (en) * 1984-06-28 1989-01-03 American Telephone And Telegraph Company Data compaction
DE3602808A1 (de) * 1986-01-30 1987-08-06 Siemens Ag Codiereinrichtung fuer variable wortlaengen
DE3605032A1 (de) * 1986-02-18 1987-08-20 Thomson Brandt Gmbh Verfahren zur digitalen nachrichtenuebertragung
EP0326560A1 (en) * 1986-09-09 1989-08-09 Inventronic Data Systems Ab Arrangement for data compression
US4862167A (en) * 1987-02-24 1989-08-29 Hayes Microcomputer Products, Inc. Adaptive data compression method and apparatus
US4876541A (en) * 1987-10-15 1989-10-24 Data Compression Corporation Stem for dynamically compressing and decompressing electronic data
GB8815978D0 (en) * 1988-07-05 1988-08-10 British Telecomm Method & apparatus for encoding decoding & transmitting data in compressed form
US5200962A (en) * 1988-11-03 1993-04-06 Racal-Datacom, Inc. Data compression with error correction
US4937844A (en) * 1988-11-03 1990-06-26 Racal Data Communications Inc. Modem with data compression selected constellation
US5016009A (en) * 1989-01-13 1991-05-14 Stac, Inc. Data compression apparatus and method
US5532694A (en) * 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5003307A (en) * 1989-01-13 1991-03-26 Stac, Inc. Data compression apparatus with shift register search means
US5126739A (en) * 1989-01-13 1992-06-30 Stac Electronics Data compression apparatus and method
US5146221A (en) * 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5023611A (en) * 1989-07-28 1991-06-11 At&T Bell Laboratories Entropy encoder/decoder including a context extractor
US5225833A (en) * 1989-10-20 1993-07-06 Digital Equipment Corporation Character encoding
US5023610A (en) * 1990-06-13 1991-06-11 Cordell Manufacturing, Inc. Data compression method using textual substitution
US5151697A (en) * 1990-10-15 1992-09-29 Board Of Regents Of The University Of Washington Data structure management tagging system
CA2065578C (en) * 1991-04-22 1999-02-23 David W. Carr Packet-based data compression method
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
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
US5371499A (en) * 1992-02-28 1994-12-06 Intersecting Concepts, Inc. Data compression using hashing
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
JP3007235B2 (ja) * 1992-11-10 2000-02-07 富士写真フイルム株式会社 可変長符号の伸長装置および圧縮伸長装置
US5374916A (en) * 1992-12-18 1994-12-20 Apple Computer, Inc. Automatic electronic data type identification process
US5463389A (en) * 1993-09-24 1995-10-31 Motorola, Inc. Data compression method and device utilizing children arrays
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
JP3522331B2 (ja) * 1994-04-22 2004-04-26 株式会社セタ データ圧縮方法
AUPM607994A0 (en) * 1994-06-03 1994-06-30 Masters, John A data conversion technique
AUPM616994A0 (en) * 1994-06-09 1994-07-07 Reilly, Chris Security system for eft using magnetic strip cards
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
EP0709766A1 (en) * 1994-10-29 1996-05-01 International Business Machines Corporation Method for the transmission of line-oriented data sets
US5684478A (en) * 1994-12-06 1997-11-04 Cennoid Technologies, Inc. Method and apparatus for adaptive data compression
US5630207A (en) * 1995-06-19 1997-05-13 Lucent Technologies Inc. Methods and apparatus for bandwidth reduction in a two-way paging system
US5557579A (en) * 1995-06-26 1996-09-17 Micron Technology, Inc. Power-up circuit responsive to supply voltage transients with signal delay
US5710719A (en) * 1995-10-19 1998-01-20 America Online, Inc. Apparatus and method for 2-dimensional data compression
JP3256121B2 (ja) * 1996-02-13 2002-02-12 富士通株式会社 データ符号化装置およびデータ復号装置およびその方法
US20030195846A1 (en) 1996-06-05 2003-10-16 David Felger 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
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
FR2751492B1 (fr) * 1996-07-16 1998-11-13 Alcatel Mobile Comm France Procede et dispositif de compression et de decompression de messages
GB2321375B (en) * 1997-01-21 2002-02-27 Fujitsu Ltd Data encoding method and apparatus and data decoding method and apparatus
US6415061B1 (en) * 1997-06-13 2002-07-02 Cisco Technology, Inc. Method of updating dictionaries in a data transmission system using data compression
US6704866B1 (en) 1997-07-11 2004-03-09 Cisco Technology, Inc. Compression and encryption protocol for controlling data flow in a network
US6401188B1 (en) 1998-02-27 2002-06-04 Cisco Technology, Inc. Method for selection on a pattern sequence
US6341346B1 (en) 1999-02-05 2002-01-22 Cisco Technology, Inc. Method for comparison between a pattern sequence and a variable length key
US6278742B1 (en) * 1999-11-19 2001-08-21 Siemens Information And Communication Mobile Llc. Method and system for power-conserving interference avoidance in communication between a mobile unit and a base unit in a wireless telecommunication system
US7382878B2 (en) * 2001-06-22 2008-06-03 Uponus Technologies, Llc System and method for data encryption
US20040025033A1 (en) * 2002-08-02 2004-02-05 Todd Luke B. System and method for preventing unauthorized installation, use and reproduction of software
US6714145B1 (en) 2002-09-26 2004-03-30 Richard Marques Method and apparatus for integer-based encoding and decoding of bits
US7408656B2 (en) * 2003-03-10 2008-08-05 Hewlett-Packard Development Company, L.P. Controlling printer macro usage based on printer identification information
US8171238B1 (en) 2007-07-05 2012-05-01 Silver Peak Systems, Inc. Identification of data stored in memory
US8392684B2 (en) 2005-08-12 2013-03-05 Silver Peak Systems, Inc. Data encryption in a network memory architecture for providing data based on local accessibility
US8095774B1 (en) 2007-07-05 2012-01-10 Silver Peak Systems, Inc. Pre-fetching data into a memory
US8811431B2 (en) 2008-11-20 2014-08-19 Silver Peak Systems, Inc. Systems and methods for compressing packet data
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
US20080001790A1 (en) * 2006-06-30 2008-01-03 Kyle Kirby Method and system for enhancing data compression
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
US8307115B1 (en) 2007-11-30 2012-11-06 Silver Peak Systems, Inc. Network memory mirroring
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US8743683B1 (en) 2008-07-03 2014-06-03 Silver Peak Systems, Inc. Quality of service using multiple flows
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
IL205528A (en) * 2009-05-04 2014-02-27 Storwize Ltd A method and system for compressing logical information objects for storage
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
US20140006536A1 (en) * 2012-06-29 2014-01-02 Intel Corporation Techniques to accelerate lossless compression
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
US9543980B2 (en) 2014-10-10 2017-01-10 Massachusettes Institute Of Technology Systems and methods for model-free compression and model-based decompression
US10594491B2 (en) * 2015-12-24 2020-03-17 Intel Corporation Cryptographic system memory management
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
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
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US10257082B2 (en) 2017-02-06 2019-04-09 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1249924B (ja) * 1962-07-17
US3694813A (en) * 1970-10-30 1972-09-26 Ibm Method of achieving data compaction utilizing variable-length dependent coding techniques
US3835467A (en) * 1972-11-10 1974-09-10 Ibm Minimal redundancy decoding method and means
EP0079442B1 (en) * 1981-11-09 1988-07-27 International Business Machines Corporation Data translation apparatus translating between raw and compression encoded data forms

Also Published As

Publication number Publication date
EP0187812A1 (en) 1986-07-23
WO1986000479A1 (en) 1986-01-16
EP0187812B1 (en) 1991-12-04
CA1274916A (en) 1990-10-02
US4612532A (en) 1986-09-16
ATE70148T1 (de) 1991-12-15
DE3584833D1 (de) 1992-01-16

Similar Documents

Publication Publication Date Title
JPS61502511A (ja) デ−タ圧縮装置および方法
EP0294950B1 (en) A method of facilitating computer sorting
EP0083393B1 (en) Method of compressing information and an apparatus for compressing english text
US3717851A (en) Processing of compacted data
US5229768A (en) Adaptive data compression system
Horspool et al. Constructing Word-Based Text Compression Algorithms.
EP0691628A2 (en) Data compression method and system
US4099257A (en) Markov processor for context encoding from given characters and for character decoding from given contexts
EP0268069B1 (en) Method of forming a message file in a computer
JPS58101365A (ja) 機械翻訳システム
EP1231716B1 (en) Decimal to binary coder/decoder
KR20090042233A (ko) 데이터 압축
CA1241760A (en) File compressor
WO1995015617A1 (en) Data compression
KR100584038B1 (ko) 큰 문자 세트 브라우저
US5225833A (en) Character encoding
US20060059187A1 (en) Method, system and program product for managing structured data
EP0647034B1 (en) A variable word length code decoding method, and a decoder for performing the same
EP0079442B1 (en) Data translation apparatus translating between raw and compression encoded data forms
CN105653506B (zh) 一种基于字符编码转换的gpu内文本处理的方法及装置
Murugan et al. WordCode using WordTrie
EP0638187B1 (en) Categorizing strings in character recognition
JPH02186836A (ja) ベクトル量子化器
US6032165A (en) Method and system for converting multi-byte character strings between interchange codes within a computer system
JPS6371767A (ja) 文書作成装置