JPH0879719A - データ・ファイルの圧縮および伸張方法 - Google Patents
データ・ファイルの圧縮および伸張方法Info
- Publication number
- JPH0879719A JPH0879719A JP7196899A JP19689995A JPH0879719A JP H0879719 A JPH0879719 A JP H0879719A JP 7196899 A JP7196899 A JP 7196899A JP 19689995 A JP19689995 A JP 19689995A JP H0879719 A JPH0879719 A JP H0879719A
- Authority
- JP
- Japan
- Prior art keywords
- file
- compressed
- location
- compressed file
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 48
- 239000000872 buffer Substances 0.000 claims abstract description 52
- 238000007906 compression Methods 0.000 claims description 34
- 230000006837 decompression Effects 0.000 claims description 31
- 230000006835 compression Effects 0.000 claims description 29
- 238000004088 simulation Methods 0.000 claims 2
- 230000002452 interceptive effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 239000002131 composite material Substances 0.000 description 3
- 230000007423 decrease Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003750 conditioning effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/42—Conversion 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
- H03M7/425—Conversion 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 for the decoding process only
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Systems (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Document Processing Apparatus (AREA)
Abstract
プレーン・テキストを収めている第2部分をもつ調整済
みモノトーン圧縮ファイルを、あるサイズをもちプレー
ン・テキストを収めている伸張ファイルに適切に伸張す
る。 【解決手段】 伸張ファイルのサイズをもつメモリ・バ
ッファ100が割り当てられる。次に、調整されたモノ
トーン圧縮ファイル120′がバッファのボトム120
にストアされる。最後に、調整済みモノトーン圧縮ファ
イルの圧縮コードワードの第1部分に入っている圧縮コ
ードワードが伸張されて、伸張ファイルの対応する部分
のプレーン・テキストがバッファの先頭140に出力さ
れる。
Description
・ファイルを圧縮し、伸張(復元)する方法に関し、も
っと具体的には、圧縮はオフラインで行われ、伸張はオ
ーディオ・ビデオ・インタラクティブ・システムのよう
な、メモリに制約のあるシステムでリアル・タイムに行
われる方法に関する。
の基礎たる米国特許出願第08/283,346号(1
994年8月1日出願)の明細書の記載に基づくもので
あって、当該米国特許出願の番号を参照することによっ
て当該米国特許出願の明細書の記載内容が本明細書の一
部分を構成するものとする。
(audio video interactive - AVI) システムは、テレビ
を見ている人がテレビジョン・プログラムとやりとり
(対話)できるようにする手段を備えているブロードキ
ャスト(放送)インタラクティブ・システムである。こ
のシステムでは、各受信側ロケーションは送信側ロケー
ションからのアプリケーション・プログラムをAVI信
号を介して受信するプロセッサを備えている。AVI信
号は、標準テレビジョン信号と同じようにオーディオ成
分、すなわち音声成分とビデオ成分、すなわち映像成分
とインタラクティブ成分とを含んでいる複合信号(compo
site signal)である。インタラクティブ成分はアプリケ
ーション・プログラムを構成するコード・モジュールと
データ・モジュールを有する。アプリケーション・プロ
グラマは、コンパイラなどの標準的プログラミング・ツ
ールを使用してコード・モジュールとデータ・モジュー
ルをオフラインで生成している。これらのコード・モジ
ュールとデータ・モジュールはインタラクティブ成分に
組み込まれるように処理され、さらに音声成分およびビ
デオ成分と結合されてAVI信号が作られている。
信される。音声成分とビデオ成分はAVI複合信号から
抽出され、通常のテレビジョン・システムにおけると同
じように既知の方法で処理されて音(サウンド)と画像
(イメージ)を得ている。インタラクティブ成分は抽出
され、コード・モジュールとデータ・モジュールは受信
側ロケーションのプロセッサのメモリにロードされる。
ついで、このプロセッサはコード・モジュールを実行
し、データ・モジュールを処理して、多分、AVI音声
サウンドとビデオ・イメージに重ねられるサウンドとグ
ラフィック・イメージを生成し、かつテレビを見ている
人からの入力に応答してテレビジョン・プログラミング
とやりとりする。
トで製造し、販売することが考えられる。このコスト
は、各プロセッサに実装されるメモリ量を最小限とする
ことにより、そしてSGS/Thomson ST9 のように計算能力
が比較的低いマイクロプロセッサを使用することにより
低減化される。
ムをいくつかの比較的小さなコード・モジュールとデー
タ・モジュール(32 kB 未満が代表例)に分割すること
が考えられる。インタラクティブ成分で利用できるバン
ド幅を最適化するために、コード・モジュールとデータ
・モジュールは圧縮されてから送信されるようにしてい
る。これらのモジュールは小さく、圧縮はオフラインで
行われるので、圧縮速度に対する関心は最低になってい
る。他方、SGS/Thomson ST9 のような、比較的低い計算
能力のマイクロプロセッサ(ビット・シフト能力に制約
がある(例えば、シングル・ビット・シフトである)の
で伸張に適していないマイクロプロセッサ)でも、伸張
(復元)は高速化することが要求される。さらに加え
て、受信側ロケーションのプロセッサでアプリケーショ
ン・プログラムをストアし、実行するために用意される
RAM量は比較的小さい。従って、使用されるいかなる
伸張手法でも、最小限のメモリを使用することが要件に
なる。
リの圧縮アルゴリズムがある。これらの圧縮手法は、ソ
ース・データには繰返しが非常に多いという基本的考え
方を基礎にしている。以前に出現したものを指すポイン
タ(逆方向ポインタ(back pointer)と呼ばれる)と、多
分、一致(match) のサイズとを収めている特殊なコード
ワードで繰返しを置き換えることによって圧縮を達成す
ることができる。例えば、"abcdabcf"というソース・ス
トリングは次のようにコード化することが可能である。
る;一致のサイズ3を、現出力位置の4バイトあとから
出力にコピーしていく;文字'f' を出力にコピーする。
タは、圧縮ファイルを先頭から最後までトラバース(走
査)することにより伸張することが可能であり、この場
合、後に戻ってトラッキングし(backtracking)、および
以前に読み取った圧縮データを再読取りしたりする必要
がない。さらに加えて、伸張プロセスが以前に伸張され
たデータへのアクセスを必要とするのが通常であって
も、伸張データもまた順次に出力される。このように伸
張することのできる圧縮手法はモノトーン(monotone)圧
縮/伸張手法と呼ばれている。
ng match) を使用することによって、さらに圧縮を行う
ことができることを認識した。オーバラップ一致では、
ソース・ファイル・データのうち次にコード化しようと
する部分が、コード化される繰返しの中に含まれてい
る。例えば、ソース・ストリング"abcabcabc" は、オー
バラップ一致を用いると、次のようにコード化すること
ができる。
る;一致サイズ6を、現出力位置の3バイトあとから出
力にコピーしていく。
始まる6文字ストリングは2番目の'abc' から始まる、
つまり、最初の'abc' がコード化されたあとの6文字ス
トリングと一致する。オーバラップ一致を使用すると、
オーバラップ一致を用いない場合よりも、圧縮ファイル
のサイズを小さくすることができる。伸張器(decompres
sor −伸張ルーチン)は、繰返しの最初のロケーション
から出力ファイル内の次のロケーションに文字を一度に
1文字ずつコピーすることによって、コード化された繰
返しを処理するものと解される。
るために、現在の圧縮手法では、文字が直接にコピーさ
れることを示すコードワードと、以前に出現したものに
対する逆方向ポインタと一致のサイズ(match size)を収
めている特殊コードワードの構成を、これらのコードワ
ードのサイズを変化させることによって最適化してい
る。一般的に、直接に重ねてコピーされる文字のうち、
ある文字は他の文字よりも頻繁に出現する可能性があ
る。また、代表的なデータについて生成された逆方向ポ
インタと一致サイズを調べた結果明らかになったこと
は、あるサイズの一致の回数が2から約6または7のサ
イズまではほぼ指数的に減少していき、そのあとは減少
は急激に遅くなることである。同様に、繰返しに参照の
局所性(locality of reference) があるために、小さい
逆方向ポインタの方が大きい逆方向ポインタよりも多く
なっている(このことは一致パターンが現在位置に近い
ことを示している)。現在の圧縮手法は、コードワード
のサイズを連続的に変化させるエントロピー・コード化
(entropy coding)を用いて、特殊コードワードと不一致
の入力ストリングをコード化することにより、このよう
にゆがんだ逆方向ポインタと一致サイズの分布を利用し
ている。
タおよびコピー文字コードワードを収めている特殊コー
ドワードに対して真の可変長2次圧縮(エントロピー・
コード化)を使用することは、2つの理由からAVIシ
ステムでは適していないことを認識した。第1の理由
は、このようなデータを伸張するには、コードワードが
バイト境界を尊重しないので、ビット・シフトを幅広く
使用する必要があることである。これは、一度に1桁
(1位置)ずつしかシフト(桁送り)ができないST9
のような、処理能力が比較的低いマイクロプロセッサで
は隘路となっている。可変シフトと回転を実行する際の
消費時間を最小限とするために、伸張ルーチン側に多大
の努力が要求される。第2の理由は、真の可変長コード
ワードの伸張を高速化するには、伸張器におけるルック
アップ・テーブルを作って、維持する必要があることで
ある。伸張器には、これらのルックアップ・テーブルを
作るための計算時間が必要であり、ルックアップ・テー
ブルをストアするためにシステムRAMのスペースを割
り当てなければならない。AVIデコーダのシステムR
AMが最小量に限られているので(これは第一にデータ
が圧縮されて送信される理由の1つである)、システム
RAMスペースが不足し可変長コードのデコードを高速
化するのに十分に大きいルックアップ・テーブルを作る
ことができない。
AMスペースを最小限としたままで伸張を高速化するこ
とである。本発明のひとつの形態によれば、圧縮データ
は制限された可変長コードワードで表現される。つま
り、コードワードは、真の可変長コード化によるのでは
なく、ニブル(4ビット)の倍数である長さに制限され
ている。このような方式によると、真の可変長コードワ
ードで必要であった非常に多数回のシフトと回転オペレ
ーション(演算)を必要とすることなくコードワードの
長さをある程度最適化することができる。
圧縮ファイルは第1のメモリ・バッファに書込まれてい
る。第2のメモリ・バッファは伸張されたソース・ファ
イルを収めておくために割り当てられている。そのあ
と、第1メモリ・バッファに入っている圧縮ファイルが
初めから終わりまで調べられ、再構築されたソース・デ
ータ・ファイルが第2メモリ・バッファに書込まれる。
このような手法によると、圧縮ファイルを伸張するため
には2つのメモリ・バッファを割り当てる必要がある。
(単調)圧縮/伸張手法の原理を用いて、圧縮ファイル
を適切に伸張することが可能になるようにした。つま
り、圧縮ファイルが受信されると、伸張されるソース・
ファイルを入れておくのに十分なサイズのひとつのバッ
ファがメモリ内に割り当てられる。圧縮ファイルはその
バッファに書込まれる。圧縮ファイルがソース・ファイ
ルに伸張されると、その全体が単一のメモリ・バッファ
に収まるようになる。このようにすると、圧縮ファイル
を入れておくための別個のバッファが不要になるので、
伸張のために必要なメモリ量が最小限となる。
を収めている第1部分およびプレーン・テキストを収め
ている第2部分をもつ調整済みのモノトーン圧縮ファイ
ルを、あるサイズをもち、かつプレーン・テキスト(pla
in text)を収めている伸張ファイルに適切に伸張するた
めの方法は次のステップを具える。まず、伸張されるフ
ァイルのサイズをもつメモリ・バッファが割り当てられ
る。次に、調整済みのモノトーン圧縮ファイルがバッフ
ァのボトムにストアされる。最後に、調整済みのモノト
ーン圧縮ファイルの第1部分に入っている圧縮コードワ
ードが伸張されて、伸張ファイルの対応する部分のプレ
ーン・テキストがバッファのトップに出力される。
圧縮ファイルに圧縮するための方法は次のステップを具
える。まず、ソース・ファイルは圧縮コードワードを収
めている圧縮ファイルにモノトーン圧縮される。次に、
圧縮ファイルは、圧縮コードワードを収めている第1部
分およびプレーン・テキストを収めている第2部分をも
つ調整済みのモノトーン圧縮ファイルが得られるように
調整される。ソース・ファイルを本発明に従って圧縮す
ると、もとの圧縮ファイルと同じサイズをもつ調整済み
の圧縮ファイルが得られる。
ち本発明を取り入れている部分を示すブロック図であ
る。図1に示すデコーダは各AVI受信側ロケーション
に設置されている。図1において、AVI信号源(図示
せず)はデコーダの入力端子5に結合されている。入力
端子5はAVI信号受信装置30の入力端子に結合され
ている。AVI信号受信装置30の出力端子は処理ユニ
ット40のシステム・バス416に結合されている。処
理ユニット40はSGS/Thomson ST9 のような中央処理ユ
ニット(CPU)410、読み/書きメモリ(RAM)
412およびリードオンリ・メモリ(ROM)414を
有し、これらはシステム・バス416を介して公知のよ
うに一緒に結合されている。
子25へ供給するオーディオ・プロセッサ418、ビデ
オ信号をAVIビデオ出力端子15へ供給するビデオ・
プロセッサ420、および入力端子35を経てユーザか
らのデータを受け取るユーザ入出力(I/O)アダプタ
424も、すべてが公知のようにシステム・バス416
に結合されている。例えば、並置コンピュータにつなが
る入出力ポート、モデム、数値演算(math)プロセッサ、
その他の入出力アダプタなどの他の機器もまた、公知の
ようにシステム・バス416に結合することができ、そ
してデコーダ格納装置(エンクロージャ)の外側の格納
装置内の他の機器と結合するためにバス・エクステンダ
を設けることもできる。
トリームの形でAVI信号を出力する。AVI信号源
は、デコーダに対する、例えば、直接RF衛星リンク、
ケーブル・システム・フィードまたは光ファイバ・リン
クとすることができる。これらのパケットの一部はAV
I信号のオーディオ成分を搬送し、他のパケットはビデ
オ成分を搬送し、さらに他のパケットはインタラクティ
ブ成分を搬送している。AVI信号受信装置30は受信
したAVI信号を処理して、オーディオ成分、ビデオ成
分およびインタラクティブ成分を形成しているパケット
を抽出し、パケットに入っているデータを、RAM41
2内に以前に指定されていた、それぞれのメモリ・バッ
ファに既知のDMA書込み手法を用いてストアする。つ
いで、オーディオ・プロセッサ418とビデオ・プロセ
ッサ420は既知のDMA読取り手法を用いて、データ
をRAM412内のそれぞれのメモリ・バッファから読
み取る。次に、オーディオ・プロセッサ418とビデオ
・プロセッサ420はそれぞれのデータを処理してAV
Iオーディオ信号を出力端子25から、AVIビデオ信
号を出力端子15からそれぞれ出力する。CPU410
をビデオ・プロセッサ420および/またはオーディオ
・プロセッサ418による処理と協働させることもでき
る。インタラクティブ成分パケットはコード・モジュー
ルとデータ・モジュールを搬送し、CPU410の制御
の下で以下に説明するように処理される。
バンド幅を最大にするために、アプリケーション・プロ
グラマはコード・モジュールおよび/またはデータ・モ
ジュールをLempel-Ziv '77手法などのモノトーン圧縮手
法を用いて圧縮してから、それらをAVI信号のインタ
ラクティブ成分に含ませるようにすることができる。さ
らに加えて、オーバラップ一致を用いてモジュールをさ
らに圧縮することができる。図2は、本発明の好適実施
例に従って圧縮されたファイルに入っているソース・デ
ータを表しているコードワードの構造を示すメモリ・レ
イアウト図である。好適実施例では、圧縮ファイルはコ
ードワードの順次のブロックの形態になっている。各ブ
ロックは1コード・バイトのヘッダHDRと、そのあと
に続く8個のコードワード(CW1−CW8)とを有す
る。
ドワード(CW1−CW8)との関係を示す詳細メモリ
・レイアウト図である。1コード・バイトのヘッダは各
コードワードに対するビット・フラグを収めており、コ
ードワードは、ヘッダの第1ビットから最初のコードワ
ードまでの矢印と、ヘッダの第2ビットから2番目のコ
ードワードまでの矢印とで図3に示すように、連続して
いる。ヘッダのビットが1ならば、対応するコードワー
ドは圧縮されていないデータ・バイトを表すコード・バ
イトであり、伸張時に伸張ファイルにコピーする必要が
あることを示している。ヘッダのビットが0ならば、対
応するコードワードは逆方向ポインタ/一致サイズのコ
ードワードである。
インタ/一致サイズを表すコードワードのそれぞれのフ
ォーマットを示す詳細メモリ・レイアウト図である。上
述したように、コードワードは可変長であるが、ニブル
(4バイト)の倍数に制限されている。図4において、
コードワードの長さ(つまり、ニブル数)、逆方向ポイ
ンタの値および一致のサイズは次のようにして判断され
る。第1ビットが1ならば、コードワードは2または3
ニブルのコードワードである。第2ビットが0ならば、
一致サイズは2である。第3ビットが0ならば(図4の
(a))、2ニブルのコードワードであり、次の5ビッ
トは逆方向ポインタ(BP)−1を表している。第3ビ
ットが1ならば(図4の(b))、3ニブルのコードで
あり、次の5ビットは最下位ビット(LSB)を表し、
次のニブルは逆方向ポインタ(BP)−1の最上位ビッ
ト(MSB)を表している。
サイズは3である。第4ビットが0ならば(図4の
(c))、2ニブルのコードワードであり、次の4ビッ
トは逆方向ポインタ(BP)−1を表している。第4ビ
ットが1ならば(図4の(d))、3ニブルのコードワ
ードであり、次の4ビットは最下位ビット(LSB)を
表し、次のニブルは逆方向ポインタ(BP)−1の最上
位ビット(MSB)を表している。第2、第3および第
4ビットがそれぞれ110ならば(図4の(e))、一
致サイズは4であり、コードワードのサイズは3ニブル
である。次の4ビットは最下位ビット(LSB)を表
し、次のニブルは逆方向ポインタ(BP)−1の最上位
ビット(MSB)を表している。第2、第3および第4
ビットがそれぞれ111ならば(図4の(f))、一致
サイズは5であり、コードワードのサイズは3ニブルで
ある。次の4ビットは最下位ビット(LSB)を表し、
次のニブルは逆方向ポインタ(BP)−1の最上位ビッ
ト(MSB)を表している。
致サイズはコードワード内にコード化される。これらの
コードワードでは、一致サイズと逆方向ポインタは次の
ようにして判断される。第2、第3および第4ビットが
それぞれ111でなければ(図4の(g))、コードワ
ードのサイズは2コード・バイト(4ニブル)である。
このような場合には、第2、第3および第4ビットは値
Mを表している。一致サイズはM+3である。残りの1
2ビット(現在のコード・バイトからの4ビットと次の
コードワードからの8ビット)は値Bを表している。逆
方向ポインタはB+1である。第2、第3および第4ビ
ットがそれぞれ111ならば、コードワードは少なくと
も3コード・バイトである。次の5ビットが11111
でなければ(図4の(h))、コードワードは3コード
・バイトからなっている。第5、第6、第7、第8およ
び第9ビットは値Mを表している。一致サイズはM+3
である。逆方向ポインタ(BP)は最後の15ビット+
1である。これは逆方向ポインタの最大許容サイズ(つ
まり、32K)である。
がそれぞれ11111ならば、コードは少なくとも4コ
ード・バイト長である。このようなコードワードでは、
逆方向ポインタは次の15ビット+1の値である(図4
の(h)と同じ)。最後のコード・バイトが255(つ
まり、11111111)でなければ(図4の
(i))、最後のコード・バイトは値Mになっている。
一致サイズはM+34である。しかし、このバイトが値
255(つまり、11111111)になっていれば
(図4の(j))、コードワードは実際には6コード・
バイト長である。逆方向ポインタ(BP)は図4の
(i)と同じ位置に入っている。最後の2コードバイト
(バイト5と6)は値Mになっている。一致サイズはM
+289である。
ポインタ/一致サイズに対してはより小さなコードワー
ドが使用されるが、より共通ではない逆方向ポインタ/
一致サイズに対してはより大きなコードワードが必要に
なる。さらに加えて、すべてのコードワードの長さはニ
ブルの倍数になっている。コードワードの長さをニブル
の倍数に制限することにより、すべてのコードワードは
メモリ内のバイト境界から始まるか、あるいはメモリ内
のバイト内のニブル境界から始まる。ST9のような多
くのローエンド・プロセッサはバイト内の2ニブルをス
ワップする命令をもっているので、多数のシフトを行う
必要なく、コードワードを効率よく抽出することが可能
である。さらに、圧縮器(compressor −圧縮ルーチン)
はコードワードがメモリのどこに置かれているかを知っ
ているので、伸張マイクロセッサによる検索が高速化さ
れるような形でコードワードをコード化する。
0 を出力バイトY内のニブル境界に置くとすると、それ
を出力バイトYとY+1との間に置く1つの方法は、次
のようになる。
る(つまり、0か1をとるこができる)。ついで、コー
ド・バイトXを抽出するにあたっては、16ビットのワ
ードWをロケーションYとY+1とから読み取り、
することになる。しかし、圧縮器がこのコード・バイト
を次のようにコード化していれば、
読み取り、
まり、論理和(OR)演算を実行することにより、コー
ド・バイトを抽出することが可能になる。ST9では、
この最適化によって節減される時間は、従来の方法にお
ける4回のビット・シフト操作のうちの2回を減らすこ
とと等価である。
た圧縮ファイルは適切な伸張が行えるように調整され
る。この調節を行うためには、オリジナル・ソース・フ
ァイルと圧縮ファイルの双方のサイズをひかえておき、
圧縮ファイルは2回目に処理される。
調整を行って適切に伸張を行うことができるようにする
ことを理解するのに役立つメモリ図である。図5におい
て、バッファ・メモリ100は縦方向の矩形で示されて
いる。バッファの総サイズは伸張されたファイルを収容
するのに十分なサイズになっている。圧縮ファイルに対
して調整を行うために、圧縮プロセスは、以下に説明す
るように、伸張を適切に行うことを試み、かつその試み
の結果をモニタすることにより、以前に圧縮されたファ
イルの処理を続けていく。圧縮されたファイル120は
バッファ100のボトムに書込まれ、これは図5に陰影
を付けた矩形で示されている。入力ポインタは圧縮ファ
イル120内の最初のロケーションを指すようにセット
され、出力ポインタは伸張ファイルが書込まれるメモリ
・バッファ100内の最初のロケーションを指すように
セットされる。以下で詳しく説明するが、圧縮プロセッ
サの調整フェーズの間は、圧縮ファイル120内のデー
タは入力ポインタが指しているロケーションから読み取
られ、入力ポインタが前進する。データは出力ポインタ
が指しているロケーションにおいてメモリ・バッファ1
00の先頭に書込まれ、出力ポインタが前進される。こ
れらはすべて既知のやり方である。
ファイル120は標準モノトーン伸張プロセスを使用し
て伸張され、その間、入力ポインタと出力ポインタの状
態(ステート)がモニタされる。図6は圧縮プロセスの
伸張フェーズの進み具合を一連のメモリ図で示すもので
ある。図6において、メモリ・バッファ100のうちデ
ータを収容している部分は陰影付きで示されており、デ
ータを収容していない部分は陰影なしで示されている。
図6の(a)は図5に対応し、調整のための伸張プロセ
スの開始時のメモリ・バッファ100の状態を示し、入
力ポインタ(IP)は圧縮ファイル120(陰影付き)
の先頭を指すようにセットされ、出力ポインタ(OP)
はメモリ・バッファ100の先頭を指すようにセットさ
れている。
直後のメモリ・バッファ100の状態を示している。図
6の(b)に示すように、圧縮ファイル120の第1部
分は、入力ポインタIPが下方に移動したことによって
示すようにすでに読み取られている。伸張プロセスの
間、モノトーン圧縮ファイルでは逆方向トラッキングが
行われないので、メモリ・バッファ100のうちすでに
読み取られた部分は再度読み取られることはないので、
陰影なしで示すように、この部分にデータを入れること
が可能である。同時に、伸張ファイル140の第1部分
は、すでに読み取られた圧縮ファイル120の部分に応
答して、すでに生成されている。伸張ファイル140の
この第1部分は、出力ポインタOPの移動で示すよう
に、メモリ・バッファ100の先頭にすでに書込まれて
いる。
メモリ・バッファ100の状態を示している。入力ポイ
ンタIPのロケーションで示すように、圧縮ファイル1
20の大部分が読み取られており、そして、出力ポイン
タOPのロケーションが示すように、さらに伸張ソース
・ファイルの大部分が生成されている。図6の(c)か
らわかるように、出力ポインタOPのロケーションは入
力ポインタIPのロケーションの近くまで到達してい
る。
いつくと、伸張ソース・ファイル140の新たに書込ま
れる部分は次に読み取られる圧縮ファイル120の部分
にオーバライト(重書き)するので、圧縮ファイル12
0をさらにデコードすることは不可能になる。図6の
(d)はそのような状態を示している。図6の(d)に
おいて、次のコードワードは、入力ポインタIPの動き
で示すように、圧縮ファイル120から読み取られる。
このコードワードは図6の(e)に陰影付き矩形CWで
示されている。図示のコードワードCWは逆方向ポイン
タ/一致サイズ・コードワードであり、これは、図6の
(e)に陰影付き矩形で示すようにプレーン・テキスト
PTを生成する。図から明らかなように、プレーン・テ
キストPTのサイズは、これが出力ポインタOPのロケ
ーションにおいてバッファ100に書込まれるときに、
圧縮ファイル120の次に読み取られる部分にオーバラ
イトするようなサイズになっている。ついで、出力ポイ
ンタ(OP)は伸張ファイルの新たに書込まれた部分の
ボトムを指すことになるが、これは入力ポインタ(I
P)の値以下になっている。このように出力ポインタ
(OP)が入力ポインタ(IP)を通り越したことのた
めには、圧縮プロセスの調整フェーズが入力ポインタ
(IP)と出力ポインタ(OP)をモニタしている。
0は以下のようにして調整される。出力ポインタ(O
P)の新しいロケーションから圧縮ファイル120の最
後までの圧縮ファイル内のコードワードは圧縮されてい
ないソース・ファイルからのプレーン・テキストで置き
換えられる。その結果として調整された圧縮ファイル1
20′は図6の(f)に示されている。図6の(f)に
おいて、調整された圧縮ファイル120′は圧縮されて
いないソース・ファイルの対応する部分を表しているコ
ードワードを収めている第1部分124と、圧縮されて
いないソース・ファイルの対応する部分のプレーン・テ
キストを表しているデータを収めている第2部分126
(濃い陰影で示している)とを含んでいる。コードワー
ドがそこで終わり、プレーン・テキストがそこから始ま
る、調整された圧縮ファイル120′内のロケーション
はプレーン・インデックス(PI)と呼ばれ、これもひ
かえておく。ヘッダHDRは、伸張ファイル(DS)の
サイズ、圧縮ファイル(CS)のサイズおよびプレーン
・インデックス(PI)を表すデータを(とりわけ)収
めている調整された圧縮ファイル120′の先頭に付加
される。
われても、実際には、図6に示すように、ソース・ファ
イル140は圧縮ファイル120から再構築されない。
再構築がシミュレートされるだけである。圧縮ファイル
120はトラバースされ、入力ポインタ(IP)と出力
ポインタ(OP)は、実際の伸張が行われたとしたらそ
うなるであろうように正確に維持されるが、伸張ファイ
ル140は実際には作成されない。圧縮ファイル120
で調整が必要な個所が現れると、圧縮ファイル120
は、上述したように、第1部分124に入っているコー
ドワードと第2部分126に入っているプレーン・テキ
ストで書き直される。そのあと、調整されたファイル1
20′にヘッダが付加される。
縮ファイル120′の長さは最初に生成された圧縮ファ
イル(図6の(a)から(d)までに破線で示されてい
る)とまったく同じになっている。つまり、この手法で
は、圧縮ファイルのサイズが大きくなることはない。
120′のヘッダHDRを読み取り、バッファ(図6の
100)に伸張ファイル140のサイズ(DS)をRA
M412(図1)内に割り当て、調整されたファイル1
20′(ヘッダHDRは除かれている)をバッファ10
0のボトムにストアすることによって、行うことができ
る。調整された圧縮ファイル120′の開始アドレス
は、ヘッダHDRから抽出された圧縮ファイルのサイズ
(CS)と伸張ファイルのサイズ(DS)から計算する
ことができる。入力ポインタ(IP)はバッファ100
内の調整された圧縮ファイル120′の先頭を指すよう
にセットされ、出力ポインタ(OP)はバッファ100
の先頭を指すようにセットされる。ついで、標準モノト
ーン伸張手法が調整された圧縮ファイル120′の第1
部分で実行されるが、これは、出力ポインタ(OP)の
値がプレーン・インデックスと等しくなるまで、図6に
示すのと同じように入力ポインタ(IP)と出力ポイン
タ(OP)を使用して行われる。その個所からは、プレ
ーン・テキストだけが調整された圧縮ファイル120′
に入っているので、それ以後の伸張は不要である。調整
された圧縮ファイル120′の伸張が2つのバッファを
使用して行われる場合は(つまり、適切でない場合)、
伸張ファイル140内の出力ポインタ(OP)がプレー
ン・インデックス(PI)まで来ると、入力ポインタ
(IP)はリセットされ、調整された圧縮ファイル12
0′内のプレーン・インデックス(PI)の位置も指す
ようになり、調整された圧縮ファイル120′の残り部
分は未変更のまま伸張ファイル140にコピーされる。
いる部分を示すブロック図である。
ル内のソース・データを表しているコードワードの構造
を示すメモリ・レイアウト図である。
W1−CW8)との関係を示す詳細メモリ・レイアウト
図である。
ドワードのそれぞれのフォーマットを示す詳細メモリ・
レイアウト図である。
を行うことができるようにすることを理解するのに役立
つメモリ図である。
を行うことができるようにすることを理解するのに役立
つメモリ図である。
Claims (10)
- 【請求項1】 圧縮コードワードを収めている第1部分
とプレーン・テキストを収めている第2部分とをもつ調
整済みモノトーン圧縮ファイルを、あるサイズをもち、
かつプレーン・テキストを収めている伸張ファイルに適
切に伸張する方法であって、 伸張ファイルのサイズをもつメモリ・バッファを割り当
てる割り当てステップと、 調整済みモノトーン圧縮ファイルを前記バッファのボト
ムにストアするストア・ステップと、 調整済み圧縮ファイルの第1部分に入っている圧縮コー
ドワードを伸張して伸張ファイルの対応する部分のプレ
ーン・テキストを前記バッファのトップに生成する伸張
ステップとを具えたことを特徴とする伸張方法。 - 【請求項2】 請求項1に記載の伸張方法において、前
記伸張ステップは、 調整済みモノトーン圧縮ファイルの先頭に対応する前記
バッファ内のロケーションを指すように入力ポインタを
セットするステップと、 前記バッファの先頭を指すように出力ポインタをセット
するステップと、 前記入力ポインタが指している前記バッファ内のロケー
ションからコードワードを読み取って、前記入力ポイン
タを前進させるステップと、 コードワードをデコードしてプレーン・テキストを出力
するステップと、 そのプレーン・テキストを前記出力ポインタが指してい
る前記バッファ内のロケーションに書き込んで、前記出
力ポインタを前進させるステップと、 前記出力ポインタが前記第2部分のロケーションに対応
するまで読取り、デコードおよび書込みステップを繰り
返していくステップとを具えたことを特徴とする伸張方
法。 - 【請求項3】 請求項1に記載の伸張方法において、 前記調整済みモノトーン圧縮ファイルは、さらに、ある
サイズをもち、かつ前記調整済みモノトーン圧縮ファイ
ルのサイズ、前記伸張ファイルのサイズおよび前記第2
部分のロケーションを表すデータを収めているヘッダを
含んでおり、 前記割り当てステップはヘッダを読んで前記圧縮ファイ
ルのサイズを決定するステップを含んでおり、 前記ストア・ステップは、 前記ヘッダを読んで前記調整済みモノトーン圧縮ファイ
ルのサイズと前記伸張ファイルのサイズとを決定するス
テップと、 前記調整済みモノトーン圧縮ファイルの先頭に対する前
記バッファ内のロケーションを、前記調整済みモノトー
ン圧縮ファイルと前記伸張ファイルのサイズから計算す
るステップと、 前記調整済みモノトーン圧縮ファイルを、計算で求めた
ロケーションを先頭にして前記バッファにストアしてい
くステップとを含み、 前記伸張ステップは、 前記ヘッダを読んで前記第2部分のロケーションを決定
するステップと、 前記調整済みモノトーン圧縮ファイルの先頭に対する前
記バッファ内の計算で求めたロケーションを指すように
前記入力ポインタをセットするステップと、 前記バッファの先頭を指すように前記出力ポインタをセ
ットするステップと、 前記入力ポインタが指している前記バッファ内のロケー
ションからコードワードを読み取って、前記入力ポイン
タを前進させるステップと、 そのコードワードをデコードしてプレーン・テキストを
出力するステップと、 前記出力ポインタが指している前記バッファ内のロケー
ションに当該プレーン・テキストを書き込んで、前記出
力ポインタを前進させるステップと、 前記出力ポインタが前記第2部分のロケーションに対応
するまで読取り、デコードおよび書込みステップを繰り
返していくステップとを具えたことを特徴とする伸張方
法。 - 【請求項4】 請求項1に記載の伸張方法において、 前記第1部分における圧縮コードワードはオーバラップ
する一致を用いて反復ストリング内の文字のロケーショ
ンと文字数を表すコードワードを含み、 前記伸張ステップは前記反復ストリング内の文字数を、
前記反復ストリングの、伸張ファイル内におけるロケー
ションから前記伸張ファイルの対応する部分へ、一文字
ずつコピーすることによって、反復ストリングを表すコ
ードワードを伸張するステップとを含んでいることを特
徴とする伸張方法。 - 【請求項5】 請求項1に記載の伸張方法において、前
記圧縮コードワードはそれぞれがニブルの倍数である長
さを有することを特徴とする伸張方法。 - 【請求項6】 あるサイズをもつソース・ファイルを調
整されたモノトーン圧縮ファイルに圧縮する方法であっ
て、 前記ソース・ファイルを圧縮コードワードを収めている
圧縮ファイルにモノトーン圧縮するモノトーン圧縮ステ
ップと、 前記圧縮ファイルを調整して、圧縮コードワードを収め
ている第1部分とプレーン・テキストを収めている第2
部分とをもつ調整済みモノトーン圧縮ファイルを出力す
る調整ステップとを具えたことを特徴とする圧縮方法。 - 【請求項7】 請求項6に記載の圧縮方法において、前
記圧縮コードワードはそれぞれがニブルの倍数である長
さを有することを特徴とする圧縮方法。 - 【請求項8】 請求項6に記載の圧縮方法において、前
記調整ステップは、 前記ソース・ファイルのサイズをもつメモリ・バッファ
を割り当てることをシミュレートするステップと、 前記圧縮ファイルを前記バッファのボトムにストアする
ことをシミュレートするステップと、 前記圧縮ファイルの先頭を指すように前記入力ポインタ
をセットするステップと、 前記バッファの先頭を指すように前記出力ポインタをセ
ットすることをシミュレートするステップと、 前記入力ポインタが指している前記圧縮ファイル内のロ
ケーションからコードワードを読み取り、そのあとで前
記入力ポインタを前進させるステップと、 そのコードワードをデコードしてプレーン・テキストを
出力することをシミュレートするステップと、 前記出力ポインタを前進させることにより、前記出力ポ
インタが指している前記バッファ内のロケーションに前
記プレーン・テキストを書くことをシミュレートするス
テップと、 コードワードのデコードのシミュレーションによって、
デコードされていれば、前記出力ポインタが前記入力ポ
インタを通過するまで読取りステップ、デコードのシミ
ュレーション・ステップおよび書込みのシミュレーショ
ン・ステップを繰り返すステップとを実行することによ
り、前記圧縮ファイルを伸張することをシミュレートす
るステップと、 コードワードのデコードのシミュレーションによって、
前記出力ポインタが前記入力ポインタを通過したとき、
前記出力ポインタが指しているロケーションに対応する
前記ソース・ファイル内のロケーションから前記ソース
・ファイルの終わりまでプレーン・テキストを前記圧縮
ファイルにコピーして、調整済み圧縮ファイルを出力す
るステップを実行するステップとを具えたことを特徴と
する圧縮方法。 - 【請求項9】 請求項6に記載の圧縮方法において、前
記ソース・ファイルのサイズ、前記調整済み圧縮ファイ
ルのサイズ、およびプレーン・テキストを収めている前
記調整済み圧縮ファイル内のロケーションを表している
データを収めているヘッダを前記圧縮ファイルに追加す
るステップをさらに含むことを特徴とする圧縮方法。 - 【請求項10】 請求項6に記載の圧縮方法において、
前記モノトーン圧縮ステップはオーバラップする一致を
用いて圧縮コードワードを生成することを特徴とする圧
縮方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US28334694A | 1994-08-01 | 1994-08-01 | |
| US283346 | 1994-08-01 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH0879719A true JPH0879719A (ja) | 1996-03-22 |
| JP3869033B2 JP3869033B2 (ja) | 2007-01-17 |
Family
ID=23085603
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP19689995A Expired - Lifetime JP3869033B2 (ja) | 1994-08-01 | 1995-08-01 | データ・ファイルの圧縮および伸張方法 |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US5841953A (ja) |
| EP (1) | EP0696107B1 (ja) |
| JP (1) | JP3869033B2 (ja) |
| KR (1) | KR100339772B1 (ja) |
| CN (1) | CN1127219C (ja) |
| DE (1) | DE69524999T2 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022117668A (ja) * | 2021-02-01 | 2022-08-12 | 三菱電機株式会社 | データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法、データ圧縮プログラム及びデータ復号プログラム |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100313290B1 (ko) * | 1996-04-18 | 2002-02-28 | 쥬리 페트로비치 밀토 | 이진코드압축과복원방법병렬압축과복원프로세서 |
| US6567911B1 (en) * | 1999-12-06 | 2003-05-20 | Adaptec, Inc. | Method of conserving memory resources during execution of system BIOS |
| JP3540243B2 (ja) | 2000-04-24 | 2004-07-07 | Necエレクトロニクス株式会社 | 半導体記憶装置 |
| US7158255B2 (en) * | 2002-06-18 | 2007-01-02 | Lexmark International, Inc. | Method for printing shingling print data |
| FR2878668B1 (fr) * | 2004-11-26 | 2007-07-13 | Siemens Vdo Automotive Sas | Procede de compression de donnees numeriques |
| JP6476618B2 (ja) * | 2014-07-07 | 2019-03-06 | 富士通株式会社 | 伸長方法、伸長プログラムおよび伸長装置 |
| US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
| US10374628B2 (en) | 2017-04-05 | 2019-08-06 | International Business Machines Corporation | In-place data compression with small working memory |
| CN108197204B (zh) * | 2017-12-28 | 2021-12-21 | 北京安博通科技股份有限公司 | 文件处理方法及装置 |
| US10768861B1 (en) * | 2019-02-27 | 2020-09-08 | Microsoft Technology Licensing, Llc | In-place safe decompression |
| CN113111040B (zh) * | 2021-04-21 | 2024-04-30 | 郑旭纯 | 一种文件解压方法及装置 |
| US20230004533A1 (en) * | 2021-07-01 | 2023-01-05 | Microsoft Technology Licensing, Llc | Hybrid intermediate stream format |
Family Cites Families (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4494151A (en) * | 1979-07-02 | 1985-01-15 | Xerox Corporation | 4-Pixel run-length code for data compression |
| US4597057A (en) * | 1981-12-31 | 1986-06-24 | System Development Corporation | System for compressed storage of 8-bit ASCII bytes using coded strings of 4 bit nibbles |
| US4888645A (en) * | 1984-01-16 | 1989-12-19 | International Business Machines Corporation | Method for encoding and decoding a digital image |
| US4876541A (en) * | 1987-10-15 | 1989-10-24 | Data Compression Corporation | Stem for dynamically compressing and decompressing electronic data |
| US5108207A (en) * | 1988-07-20 | 1992-04-28 | Matsushita Electric Industrial Co., Ltd. | Printer with variable memory size |
| US5003307A (en) * | 1989-01-13 | 1991-03-26 | Stac, Inc. | Data compression apparatus with shift register search means |
| US5018060A (en) * | 1989-01-26 | 1991-05-21 | Ibm Corporation | Allocating data storage space of peripheral data storage devices using implied allocation based on user parameters |
| US5109433A (en) * | 1989-10-13 | 1992-04-28 | Microsoft Corporation | Compressing and decompressing text files |
| US5049881A (en) * | 1990-06-18 | 1991-09-17 | Intersecting Concepts, Inc. | Apparatus and method for very high data rate-compression incorporating lossless data compression and expansion utilizing a hashing technique |
| JPH0753454B2 (ja) * | 1990-07-06 | 1995-06-07 | 株式会社日立製作所 | テキスト情報処理装置 |
| US5212565A (en) * | 1990-11-19 | 1993-05-18 | Allied-Signal Inc. | Method for reducing amount of stored digital image data without degrading a reconstituted image |
| US5168356A (en) * | 1991-02-27 | 1992-12-01 | General Electric Company | Apparatus for segmenting encoded video signal for transmission |
| US5179378A (en) * | 1991-07-30 | 1993-01-12 | University Of South Florida | Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques |
| JP3233173B2 (ja) * | 1992-01-07 | 2001-11-26 | セイコーエプソン株式会社 | ラスタイメージシリアルプリンタ |
| EP0582907A3 (en) * | 1992-08-10 | 1995-05-10 | Stac Electronics Inc | Device and method for data compression using search by comparison of strings and Huffman coding. |
| US5394534A (en) * | 1992-09-11 | 1995-02-28 | International Business Machines Corporation | Data compression/decompression and storage of compressed and uncompressed data on a same removable data storage medium |
| BR9405508A (pt) * | 1993-07-12 | 1999-09-08 | Sony Corp | Processo e aparelho decodificador e codificador de imagem. |
| DE69420797T2 (de) * | 1993-07-30 | 2000-03-23 | Victor Company Of Japan, Ltd. | Verfahren und Vorrichtung zur Übertragung von digitalen Daten |
| JP3509080B2 (ja) * | 1993-10-15 | 2004-03-22 | ソニー株式会社 | データ再生装置 |
| JP2611637B2 (ja) * | 1993-11-22 | 1997-05-21 | 日本電気株式会社 | 画像圧縮伸長装置 |
| JP2760287B2 (ja) * | 1994-07-01 | 1998-05-28 | ヤマハ株式会社 | ディスク記録再生装置 |
-
1995
- 1995-07-21 EP EP95111495A patent/EP0696107B1/en not_active Expired - Lifetime
- 1995-07-21 DE DE69524999T patent/DE69524999T2/de not_active Expired - Lifetime
- 1995-07-31 CN CN95109053A patent/CN1127219C/zh not_active Expired - Fee Related
- 1995-08-01 KR KR1019950024084A patent/KR100339772B1/ko not_active Expired - Lifetime
- 1995-08-01 JP JP19689995A patent/JP3869033B2/ja not_active Expired - Lifetime
-
1996
- 1996-07-01 US US08/674,302 patent/US5841953A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2022117668A (ja) * | 2021-02-01 | 2022-08-12 | 三菱電機株式会社 | データ圧縮装置、データ復号装置、データ圧縮方法、データ復号方法、データ圧縮プログラム及びデータ復号プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US5841953A (en) | 1998-11-24 |
| KR100339772B1 (ko) | 2002-10-31 |
| JP3869033B2 (ja) | 2007-01-17 |
| DE69524999D1 (de) | 2002-02-21 |
| EP0696107A3 (en) | 1997-10-15 |
| EP0696107B1 (en) | 2002-01-16 |
| DE69524999T2 (de) | 2002-07-18 |
| CN1124436A (zh) | 1996-06-12 |
| EP0696107A2 (en) | 1996-02-07 |
| KR960009755A (ko) | 1996-03-22 |
| CN1127219C (zh) | 2003-11-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6425125B1 (en) | System and method for upgrading client software | |
| US8090027B2 (en) | Data compression using an arbitrary-sized dictionary | |
| EP0813167A2 (en) | Method and apparatus for font compression and decompression | |
| JP3007235B2 (ja) | 可変長符号の伸長装置および圧縮伸長装置 | |
| JPH0879719A (ja) | データ・ファイルの圧縮および伸張方法 | |
| JPH0368219A (ja) | データ圧縮装置及び方法 | |
| JPH0662262A (ja) | デジタル画像codec(圧縮及び伸長)プロセッサ用ブロック制御方法及び装置 | |
| US20030128878A1 (en) | Method and device for forming a derived digital signal from a compressed digital signal | |
| JP2863065B2 (ja) | マッチングストリング探索およびハフマン符号化を用いたデータ圧縮装置および方法ならびにデータ伸長装置および方法 | |
| US5751860A (en) | Method for compressing and decompressing digital image data | |
| WO2021034749A1 (en) | Decompression engine for decompressing compressed input data that includes multiple streams of data | |
| CN112165331A (zh) | 数据压缩方法及其装置、数据解压方法及其装置、存储介质及电子设备 | |
| JPH0876969A (ja) | 圧縮済みデータを不連続メモリに記憶するデータ圧伸方法 | |
| US6363176B1 (en) | Picture data decompression apparatus | |
| JPH11145849A (ja) | 符号化方法及びデータ圧縮器 | |
| US6748520B1 (en) | System and method for compressing and decompressing a binary code image | |
| JPH07170196A (ja) | 2値シンボルの符号化・復号化回路 | |
| JP3266419B2 (ja) | データ圧縮・伸長方式 | |
| JPH09247466A (ja) | 符号化装置 | |
| JP2003318739A (ja) | データシーケンスを圧縮するシステム、方法、およびコンピュータ読み取り可能媒体 | |
| JP3499589B2 (ja) | 符号化装置及び符号化方法 | |
| JPH0621827A (ja) | データ圧縮装置及びその方法 | |
| WO1991006153A1 (en) | Huffman data string decompression apparatus and method | |
| JPS63176049A (ja) | デ−タ圧縮方式 | |
| JPH0563583A (ja) | データ圧縮及び復元方法並びにこれらの方法を使用した電子交換機におけるバツクアツプ方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051028 |
|
| A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20060130 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060130 |
|
| A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060206 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060428 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060526 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060828 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060912 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061012 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091020 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101020 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111020 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121020 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131020 Year of fee payment: 7 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |