JP3283150B2 - データ圧縮・圧縮解除法 - Google Patents

データ圧縮・圧縮解除法

Info

Publication number
JP3283150B2
JP3283150B2 JP31500894A JP31500894A JP3283150B2 JP 3283150 B2 JP3283150 B2 JP 3283150B2 JP 31500894 A JP31500894 A JP 31500894A JP 31500894 A JP31500894 A JP 31500894A JP 3283150 B2 JP3283150 B2 JP 3283150B2
Authority
JP
Japan
Prior art keywords
data
compression
compressed
block
compressed data
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.)
Expired - Fee Related
Application number
JP31500894A
Other languages
English (en)
Other versions
JPH07202712A (ja
Inventor
ロバート・ディー・モリソン
ブラッド・アール・ラーソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH07202712A publication Critical patent/JPH07202712A/ja
Application granted granted Critical
Publication of JP3283150B2 publication Critical patent/JP3283150B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • 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/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、データ圧縮・圧縮解除
法に関し、さらに詳細には、逆方向への圧縮解除を可能
にするデータ圧縮・圧縮解除法に関する。
【0002】
【従来の技術】従来技術では、ディジタル・データ信号
のストリームを圧縮済みディジタル・コード信号として
コード化し、圧縮済みディジタル・コード信号を圧縮解
除して最初のデータに戻すデータ圧縮装置が知られてい
る。データ圧縮とは、所与のフォーマットのデータを最
初のフォーマットよりも少ない空間しか必要としない代
替フォーマットに変換しようとするあらゆるプロセスを
指称する。データ圧縮システムの目的は、所与のディジ
タル情報本体を保持するのに必要とされる記憶域の量と
所与のディジタル情報本体を送るのに必要とされる時間
とを節約することである。
【0003】汎用ディジタル・データ圧縮装置が実際的
なものであるには、ある基準を満たすべきである。この
ような装置は相互性を有するべきである。データ圧縮装
置が相互性を有するには、情報を修正することも、失う
こともなしに、圧縮済みデータを再拡張または復号して
最初の形に戻すことができなければならない。復号され
たデータと最初のデータは同じものであり、相互に区別
のできないものでなければならない。相互性は情報理論
で使用される厳密な無雑音性と同義である。いくつかの
応用例では、相互性に厳密に固執することは必要とされ
ない。具体的なそのような応用例の1つは、グラフィカ
ル・データを処理するときである。人間の目は雑音に対
してそれほど敏感ではないので、圧縮・圧縮解除プロセ
ス時の情報のある程度の修正または喪失は受け入れられ
る。
【0004】このような装置は、データ圧縮・圧縮解除
装置が通信する装置によって提供され、受け入れられる
データ転送速度に関して十分な性能を提供すべきであ
る。データを圧縮できる速度は、通常毎秒数百万バイト
(メガバイト/秒)単位の圧縮装置への入力データ処理
速度によって決定される。通常速度が1メガバイト/秒
を超える現在のディスク装置、テープ装置、および通信
装置で達成されるデータ転送速度を維持するのに十分な
性能が必要である。したがって、データ圧縮・圧縮解除
装置は、装置全体に悪影響を及ぼさないように十分なデ
ータ・スループットをもたなければならない。データ圧
縮・圧縮解除装置の性能は通常、圧縮および圧縮解除に
必要な計算と、統計データを記憶して圧縮・圧縮解除プ
ロセスを導くために使用されるランダム・アクセス・メ
モリ(RAM)などの装置構成要素の速度によって制限
される。圧縮装置に関する性能は、コンプレッサの下で
1入力文字当たりに必要とされるプロセッサ・サイクル
の数によって特徴付けられる。サイクル数が少なければ
少ないほど、性能は高くなる。
【0005】データ圧縮・圧縮解除装置の設計における
他の重要な基準は、圧縮率で特徴付けられる圧縮効果で
ある。圧縮率とは、非圧縮形のデータ・サイズを圧縮形
のサイズで除した比率である。データが圧縮可能である
には、データは冗長性を含まなければならない。圧縮効
果は、圧縮手順がどのように効果的に入力データで冗長
性を使用するかによって決定される。コンピュータに記
憶される典型的なデータでは、個別の記号、たとえば数
字、バイト、文字などの非一様な使用法と、共通ワー
ド、空白レコード・ファイルなどの記号シーケンスの頻
繁な再発の両方において冗長性が生起する。
【0006】汎用データ圧縮手順は、従来技術でも知ら
れており、関連する3つの手順は、ハフマン法(Huffma
n) 、ツンストール(Tunstall)法、およびレムペール−
ツアイブ(Lwmpel-Ziv) 法である。ハフマン法は、広く
知られ、かつ使用されており、「A Method For Constru
ction Of Minimum Redundancy Codes (最小冗長コード
の構築方法)」{Proceedings IRE(会報IRE) 、40、
10、1098ないし1100ページ(1952年9
月)}と題するD.A.ハフマンの論文で論及されてい
る。ツンストール・アルゴリズムは、「synthesis of N
oiseless Compression Codes(ノイズレス圧縮コードの
合成)」{Georgia Institute of Technology (科学技
術のジョージァ学会)(1967年9月)}と題するB.
P.Tunstall(ビー.ピー.ツンストール)の博士論文で
論及されている。レムペール−ツアイブ手順は、「A Un
iversal Algorithm For Sequential Data Compression
(連続データ圧縮用一般アルゴリズム)」{IEEE Trans
actions on Information Theory (情報理論に関するIE
EE会報)}IT−23、3、337ないし343ページ
(1977年5月))と題するJ.Ziv ( ゼイ.ツァイ
ブ)およびA.Lempel(エイ.レムペル)l著の論文で参
照することができる。
【0007】最初に開発された汎用データ圧縮手順の1
つはハフマン法である。簡単に説明すると、ハフマン手
順は、記号の完全長セグメントを可変長ワードとしてマ
ップするものである。ハフマン・データ圧縮手順には2
つの制限がある。第1に、ハフマン手順は、圧縮すべき
入力データを記号の固定長セグメントとしてパーズする
制限の下で機能する。ハフマン手順は、このような制限
の下で得ることができる最高の圧縮率を提供するが、制
限が緩和されると、他の手順を使用することによってこ
れよりもずっと高い圧縮率を得ることができる。第2
に、ハフマン・コード化では、ソース・データの統計特
性の十分な知識が必要とされる。ハフマン手順は、各固
定長入力セグメントが生起する確率が知られているとの
仮定の下で機能する。ハフマン手順のこの要件は実際に
は、データの処理時に必要な統計を累積する適応手順バ
ージョンを使用することによって満たすことができる。
しかし、これはやっかいなものであり、かなりの作業メ
モリ空間を必要とし、適応時の実行は次善のものにな
る。
【0008】記号の可変長セグメントを固定長バイナリ
・ワードとしてマップするツンストール・アルゴリズム
は、現在入力セグメントではなく出力セグメントに適用
されている固定長制限を含むハフマン手順を補うもので
ある。ハフマン手順と同様に、ツンストール手順はソー
ス・データ確率の予測を必要とする。この場合も、デー
タの処理時に統計を累積する適応バージョンを使用する
ことによって、この予測要件をある程度満たすことがで
きる。
【0009】レムペル−ツァイブ手順は、記号の可変長
セグメントを可変長バイナリ・ワードとしてマップす
る。この手順は、入力セグメントにも出力セグメントに
も制限がないときに最適に近いものになる。この手順で
は、入力データ文字列が、それぞれ、入力データから得
た1つの新しい記号が接尾語として付けられた入力文字
列の最初の部分の正確なコピーから成る、適応的に増大
するセグメントとしてパーズされる。作成されるコピー
はできるだけ長いものであり、パーズされる最初のセグ
メントに一致するように制限されることはない。出力中
でセグメントに置き換えられるコード・ワードは、コピ
ーされる最初の部分が開始する場所へのポインタと、コ
ピーの長さと、新しい記号とから成る情報を含む。
【0010】前述のデータ圧縮手順は良好な汎用手順で
あるが、他の手順を使用してある特定の種類の冗長性を
圧縮することができる。一般にラン・レングス・コード
化(RLE)として知られているそのような手順の1つ
はグラフィカル・イメージ・データによく適している。
RLEでは、同じ文字のシーケンスをカウント・フィー
ルドと、繰り返される文字の識別子としてコード化する
ことができる。通常、各文字ランにマーク付けするには
2つの文字が必要とされ、したがってこのコード化は2
つ以下の文字のランには使用されない。しかし、ディジ
タル・データ形で表されるグラフィカル・イメージを処
理するときに、任意の所与の行に同じ文字の大規模なラ
ンがあり、RLEがそのような情報の効果的な圧縮手順
になることがある。
【0011】大部分の応用例は、最初に圧縮されたのと
同じ方向にデータを圧縮解除することを必要とする。あ
る種の非常に特定の応用例は、データの圧縮を逆方向に
行うことを必要とする。たとえば、そのような応用例の
1つは、用紙の両面に印刷する(重複印刷)プリンタで
ある。重複印刷を行うプリンタは、2番目に印刷される
ページを上から下へかつ右から左へと印刷する必要があ
る。そのような重複プリンタの1つに、本発明の譲受人
によって製作されたレーザジェット・プリンタがある。
【0012】この逆印刷の必要性は、重複機構が示され
た図14ないし図17の助けで最もよく理解することが
できる。重複機構50は、それぞれ、逆転経路56の各
側に位置決めされた逆転ローラ52とスレーブ・ローラ
54とを含む。インプリント経路拡張機構24aは、レ
ーザ・プリンタ内のインプリント経路24と連通し、重
複動作が所望のときに開放される。その位置にあると
き、セレクト・レバー34は出力経路36を閉鎖し、そ
れによって、サイクルの重複印刷部分中にプリンタから
媒体シートが排出されることを妨げる。
【0013】図15では、デュープレクサ装置のタイミ
ング図が示されている。プリンタの当業者には理解され
る理由のために、出力トレイ中の妥当な用紙順序を維持
するように、偶数番号のページが最初に印刷される。図
15の図の水平軸は時間の増分を示し、図の各行はレー
ザ・プリンタ中の特定のステーションを示し、各行の上
にある数字は、その数字を有するページがいつそのステ
ーションに現れるかを示す。たとえば、図15の第1行
は、図示しない接続されたコンピュータから順次ページ
が受け取られることを示す。ページ1と2が共にメモリ
に記憶されるまでPCドラム26において印刷動作は開
始されず、記憶された時点で最初にページ2が印刷され
ることに留意されたい。点線80で示したように、ペー
ジ2は次いで、逆転ローラ52を通過して、デュープレ
クサ機構50の下部に入る。ページ2を有するシートは
次いで、PCドラム26を越えて輸送され、ページ1を
前面に印刷できるようにする。ページ1および2を有す
る、デュープレクサによって印刷された媒体シートは次
いで、出力ローラ38に渡され、出力トレイ40上に排
出され、メモリから解放される。
【0014】
【発明が解決しようとする課題】図16は、印刷された
媒体がデュープレクサを輪回して、実際にはページ1で
ある第2のページを印刷するときにまず、PCドラム2
6に下部が提供されることに留意されたい。図16およ
び図17を通過する用紙経路をたどることによって、現
在、印刷が右から左へ行われていることも分かる。した
がって、前述のように、図15で説明し、かつ示したも
のなどの重複プリンタでは、2番目に印刷されるページ
用のデータが逆の順序でプリンタPCドラム26に提供
される必要がある。
【0015】プリンタ技術分野では今でも、そのような
プリンタのメモリ要件を低減し、それによって全体的な
コストを減らして性能を向上することが現在の傾向であ
る。現代のプリンタはグラフィカル・イメージ・データ
を圧縮するための様々な圧縮技法を組み込み、それによ
ってそのようなプリンタのメモリ要件を低減している。
しかし、本発明よりも前には、データの圧縮解除を逆の
順序で行えるようにするデータ圧縮法はなかった。した
がって、重複モードでの印刷が可能なプリンタで重複モ
ードで印刷を行うとき、グラフィカル・データに対して
圧縮を行うことはできない。
【0016】したがって、本発明の一目的は、データを
通常の方向に圧縮し、次いで逆の方向に圧縮解除するデ
ータ圧縮・圧縮解除法を提供することである。
【0017】
【課題を解決するための手段】データ圧縮とは、あるフ
ォーマットから、それよりも少ない空間しか必要としな
い第2のフォーマットへデータを変換するプロセスであ
る。以前のデータ圧縮方法はすべて、データが順方向に
圧縮解除されると仮定している。これは真であることが
多いが、いくつかの特別な応用例はデータを逆方向に圧
縮解除することを必要とする。本発明は、順方向へも逆
方向へも圧縮解除できるようにするものである。そのよ
うな可逆性は、2つの主要な方法のうちの一方で得るこ
とができる。第1に、圧縮済みデータ・ストリーム中に
周期マーカを置くことができる。各マーカは、圧縮済み
データ・ブロックを復号するのに必要な情報と、場合に
よっては次のマーカの位置とを含む。したがって、マー
カを妥当な順序で検索してブロックを圧縮解除すること
によって、順方向へも逆方向へも圧縮解除を導くことが
できる。他の方法は、圧縮方式自体が周期的なものであ
ると仮定するものである。この仮定を使用して、どんな
圧縮済み周期データ・ブロックからでも圧縮解除を開始
することができる。単に周期ブロックを逆の順序で進む
ことによって、データを逆方向に圧縮解除することがで
きる。これらの方式についてはそれぞれ、以下で詳細に
説明する。
【0018】
【実施例】上述のように、データ圧縮とは、あるフォー
マットから、それよりも少ない空間しか必要としない第
2のフォーマットへデータを変換するプロセスである。
以前のデータ圧縮方法はすべて、データが順方向に圧縮
解除されると仮定している。これは真であることが多い
が、いくつかの特別な応用例は、データを逆方向に圧縮
解除することを必要とする。
【0019】本発明は、順方向へも逆方向へも圧縮解除
できるようにするものである。そのような可逆性は、2
つの主要な方法のうちの一方で得ることができる。第1
に、圧縮済みデータ・ストリーム中に周期マーカを置く
ことができる。各マーカは、圧縮済みデータ・ブロック
を復号するのに必要な情報と、場合によっては次のマー
カの位置とを含む。したがって、マーカを妥当な順序で
検索してブロックを圧縮解除することによって、順方向
へも逆方向へも圧縮解除を導くことができる。
【0020】他の方法は、圧縮方法自体が周期的なもの
であると仮定するものである。この仮定を使用して、ど
んな圧縮済み周期データ・ブロックからでも圧縮解除を
開始することができる。単に周期ブロックを逆の順序で
進むことによって、データを逆方向に圧縮解除すること
ができる。これらの方法についてはそれぞれ、以下で詳
細に説明する。
【0021】読者を本発明を理解するうえで助けるため
に、まず比較的簡単な圧縮技法を説明し、データ・サン
プルに適用する。次に、逆方向圧縮解除を可能にするこ
の圧縮技法に対する修正を示す。
【0022】一例として、圧縮すべき領域を図1に示
す。図1の領域は、2次元X−Y座標系として記述され
ている。したがって、図1から、0≦X≦2000およ
び0≦Y≦2000である。
【0023】一般に、コンピュータ装置は類似の2次元
構成を使用して装置自体の画面を表す。同様に、プリン
タ装置もそのような構成を使用することができる。どち
らの装置でも、当技術分野でピクセルとして知られる一
連の点としてオブジェクトが表示され、あるいは印刷さ
れる。本実施例では、各点(X、Y)は固有のピクセル
を表す。各ピクセルが1バイトを必要とすると仮定する
と、図1の領域は2001*2001、すなわち400
4001バイト・メモリを必要とする。
【0024】引き続き図1を参照すると、この領域は、
(500,500)にある左下隅と(1499,125
0)にある右上隅とを有するボックスを含む。ボックス
の中には2本の直線がある。ピクチャの1本の線を記憶
するには2001バイトが必要である。次に表1を参照
すると、y=1250にある水平線が記述されている。
左の欄は、直接X値に関係するバイト位置を表す。右の
欄は、対応するメモリ位置に記憶される値を示す。した
がって、この線を記憶するには、2001バイトのメモ
リが必要である。次の表1は、このデータが冗長である
ことを明確に示している。上述のように、圧縮方法が機
能するには、データが冗長性を含まなければならない。
【0025】
【表1】
【0026】上述のように、当技術分野ではいくつかの
データ圧縮方法が知られている。本例では、グラフィカ
ル・データが圧縮されるので、RLEコード化が選択さ
れている。一般に、RLEはカウント・フィールドおよ
び識別子フィールドを使用する。いくつかの変形例が可
能であり、各変形例は、予期されるデータ・タイプ向け
に設計される。
【0027】次に、図2〜図5を参照すると、RLE方
式の1つの可能なバージョンが示されている。図2〜図
5では、RLEバイトは、それぞれ4ビットを含む2つ
のニブルに分割される。最初の4ビットはRLEコード
を表し、最後の4ビットはRLEコードの機能である。
図2に示すように、最初のニブルが値1ないし12を含
む場合、第2のニブルは、1ないし12回繰り返される
パターンを定義する。
【0028】オブジェクトは、黒色または白色の大きな
領域を含む傾向があるので、別々のコードが与えられ
る。したがって、図3に示すように、RLEコードが1
3である場合、第2のニブルは黒いワードの数を定義す
る。同様に、図4に示すように、RLEコードが14で
ある場合、第2のニブルは白いワードの数を定義する。
最後に、図5に示すように、RLEコード15は、カウ
ント・バイトの非圧縮データが後に続くことを示す。R
LEコードのこの特定の構成と定義とは、読者を本発明
を理解するうえで助けるように選択してある。そのよう
な情報は、本発明をこの構成に限定することを意味する
ものではない。
【0029】再び図1を参照する。以下の記述は、上記
のRLE方法がどのように、必要とされるメモリの量を
低減するかについて説明するものである。図1の線y=
1250は3つの領域を有するものとして記述すること
ができる。まず、この線は、0から499まで白色であ
り、次に500から1499までの黒い領域が続き、第
3の領域は1500から2000までで白色である。次
の表2は、表1と同じ線に関するメモリ内容を示すが、
表2では、上記のRLE圧縮方法が使用されている。表
2では、メモリ内容は右側に示され、値は16進数で示
されている。左側はもはや、X値に対応しないので、重
複値のカウントを与える。
【0030】
【表2】
【0031】0から499間での白い部分は、500バ
イトの白色を含むことに注目することによってコード化
されている。図4を参照すると、本明細書ではワードと
呼ぶ2バイトを使用して白色がコード化されていること
が分かる。したがって、白い部分は250個の白色ワー
ドから成る。白色ワードは、図4の定義を使用して[1
4][カウント]でコード化される。本発明の「カウン
ト」の定義は4ビット・ニブルに限られるので、「カウ
ント」が保持できる最大値は15である。したがって、
問題は、500バイトを記述するのにいくつの15ワー
ド・チャンクが必要かということである。250を15
で除すると、16.67になる。したがって、表2は
[14][15]、すなわち16進数の「EF」の16
個の値で始まる。しかし、これらの16バイトは、16
*15*2=480バイトの白い線を記述するに過ぎな
い。白い線の残りの20バイト、すなわち10ワード
は、単一バイト[14][10]、すなわち「EA」1
6進数でコード化されている。したがって、圧縮なしで
記憶するのに500バイトを必要とした第1の領域が現
在、記憶のために必要とするのは17バイトだけであ
る。
【0032】同様に、500から1499までの黒い線
は、33バイトの「DF」([13][15])および
1バイトの「D5」([13][5])としてコード化
され、それによって最初の1000バイトが34バイト
に低減される。最後に、1500から2000までの白
い部分は、16バイトの「EF」および1バイトの「E
B」としてコード化される。メモリ要件を合計すると、
圧縮率は2001/68≒29.43ないし1であるこ
とがわかる。
【0033】次に、図6を参照すると、図1の簡単なボ
ックスが圧縮不能オブジェクトで置換されている。この
構成は、RLE圧縮がどのように圧縮不能材料を処理す
るかを示すために使用される。線y=1249の圧縮の
結果が示された次の表3も参照する。前の例と同様に、
線は、0から499までの白色、500から1499ま
での圧縮不能部分、および再び、1500から2000
までの白色の3つの部分を含むものとみなすことができ
る。第1の白色部分は16バイトの「EF」および1バ
イトの「EA」まで圧縮される。第2の白線を圧縮する
と、16バイトの「EF」および1バイトの「EB」が
生成される。500から1499までの部分は圧縮不能
として定義されているので、圧縮は実行されない。圧縮
されないデータをラスタ・フォーマットであると言う。
しかし、このラスタ・データはそれでも、圧縮方式に従
わなければならない。図5に示したように、ラスタ・デ
ータは、「FF」([15][15])のヘッダ・タイ
プとしての圧縮コードを含む15バイトの最大パケット
に記憶することができる。この構成では、1000バイ
トのラスタ・データが15バイトのパケットに分割され
る。1000バイトが15で除され、66.67が得ら
れる。したがって、この表3は、ヘッダ値「FF」とそ
れに続く15バイトのラスタ・データを含む66個のパ
ケットと、ヘッダ値「FA」とそれに続く10バイトの
ラスタ・データを含む1つのパケットとを有する。大部
分の比較方法では、圧縮不能部分を圧縮フォーマットで
記憶するには最初のデータよりも多くの空間が必要であ
る。具体的には、最初、500から1499までの部分
を記憶するには1000バイトが必要であった。本実施
例の圧縮方法を使用すると、その同じ部分を記憶するに
は1067バイトが必要である。しかし、全体を圧縮す
ることによって、メモリ要件は2001/1101≒2
82ないし1だけ低減される。
【0034】
【表3】
【0035】圧縮は、メモリからバイトを読み取り、コ
ードを解釈して、適当な命令を実行することによって行
われる。したがって、表3の場合、第1バイト「EF」
は15個の白色ワードの書込みを意味するものとして読
み取られ解釈される。同様に、バイト「FF」は、次の
15バイトが、非圧縮データであることを意味する。R
LEの逆圧縮解除を不可能にしているのはこの非圧縮コ
ードである。たとえば、逆方向に圧縮解除しようとする
とき、最初に読み取られるバイトは「EB」である。し
かし、「EB」が有効なRLEコードであるかどうか、
あるいは「EB」がラスタ・データであるかどうかを判
定するための追加情報なしではそれは不可能である。
【0036】このように問題点を簡単に説明したうえ
で、次に、上述の方法がデータを逆方向に圧縮解除でき
るようにするための手段および方法について説明する。
一実施例における表2に示したRLE圧縮に関して引き
続き説明すると、圧縮済みコードは、知られているブロ
ック・サイズに分割され、ブロックの始めにはマーカが
置かれる。このマークは、次のブロック中のデータのタ
イプを記述し、代替実施例では、前のブロック中のデー
タのタイプを記述することができる。そのようなマーカ
の可能な構成の1つを図7に示す。
【0037】ブロック・サイズ8を使用すると、図7に
示したマーカは、マーカの単一ビット中の8つのバイト
の各々の状況をコード化する。したがって、データ・ブ
ロックの第1バイトが有効なRLEバイトである場合、
マーカの第1ビットは1にセットされる。マーカを含む
データの圧縮は、図8に示したように比較的簡単であ
る。データはXバイト・ブロックとしてステップ601
で圧縮される。本実施例では、Xは8として選択されて
いる。8バイトが圧縮された後、マーカが作成され、デ
ータ・ストリームにステップ602で記憶される。実施
例がプレマーカを使用するものである場合、すなわちマ
ーカが次のブロックを記述するものである場合、マーカ
は、データ・ストリーム中の圧縮されたデータの前に置
かれる。また、実施例がポストマーカを使用するもので
ある場合、マーカは、データ・ストリーム中の圧縮され
たデータの後に置かれる。
【0038】この構成の圧縮解除を図9に示す。まず、
ステップ701で、終了ポインタが検索される。次に、
ステップ702で、このポインタが最後のマーカを見つ
けるように調整される。実施例がプレマーカを使用する
ものである場合、ポインタは最後のマーカを指すように
調整される。実施例がポストマーカを使用するものであ
る場合、最後のバイトは、前のデータ・ブロックを記述
するマーカであるべきである。ステップ703で、デー
タ・ブロックが順方向にバッファ内へ圧縮解除される。
ステップ704で、ブロックが圧縮解除された後、バッ
ファが逆方向に読み取られ、それによってデータが逆方
向に生成される。定義上、単一のRLEコードが多数の
同じバイトとして復号され、したがってバッファの使用
が任意選択のものであることに留意されたい。バッファ
がない場合、各RLEコードは直接、出力ストリームと
して復号される。
【0039】順方向への圧縮解除プロセスを図10に示
す。この場合、マーカは一般に、ステップ502でスキ
ップされる。しかし、プレマーカを使用してデコンプレ
ッサに対してデータを示すことを構想することができ
る。
【0040】プレマーカ構成を使用して、表3で圧縮さ
れたものと同じデータを次の表4に示す。この場合、図
7のマーカが使用される。前述のように、図7のマーカ
構成を使用するには、圧縮済みデータを8バイト・ブロ
ックに分解する必要がある。表4を参照すると、第1バ
イトはマーカ「FF」である。次の8バイトはすべてR
LEコードなので、マーカは8つのビットをすべて1に
セットさせる。これは第2のマーカにも当てはまる。
【0041】
【表4】
【0042】データが圧縮不能になると、圧縮ルーチン
が、8バイト・ブロックと各ブロックの始めにあるマー
カとに圧縮されたデータを分解しなければならない。こ
の要件の結果として、圧縮不能なデータは8バイト・ブ
ロック以下にしか記憶することができない。新たに表4
を参照すると、第3のマーカは、値「80」16進値ま
たは「10000000」2進値を有する。このマーカ
を解釈すると、第1バイト(「EA」)が有効なRLE
コードであり、最後の7バイトがラスタであることが分
かる。同様に、第4のマーカ「00」は、8つのバイト
がすべてラスタであることを示す。簡単な演算によっ
て、圧縮不能領域を記述するには、8バイトおよび1バ
イトの124個のブロックが必要であることが分かる。
次のマーカ「7F」は、残りの1つのラスタ・バイトが
7バイトのRLEコードと共に後に続くことを示す。最
後に、圧縮済みデータは8で均等に除することができな
いので、最後の有効なマーカを指す任意選択の終了マー
カを示す。終了マーカを省略するには、圧縮済みファイ
ル・サイズを9で除して残りの部分に調整を施すことに
よって最後のマーカの位置を判定する必要がある。
【0043】追加空間を使用してマーカと縮小されたブ
ロック・サイズとを記憶して圧縮不能領域を記述する
と、2001/1165≒1.727ないし1の圧縮率
が得られる。
【0044】第2の実施例も類似の方法を使用する。た
だし、マーカは不要になる。この実施例では、図11に
示したように、ブロック・サイズが固定される。この実
施例を復号するのに必要な主な修正は、エンコーダが、
各ブロックの始めのバイトが有効なRLEバイトにな
り、かつラスタ・データ・バイトにならないようにする
ことである。そのような構成では、名目上コード化を行
うのに必要なよりも多くのパケットとしてラスタ・デー
タを分解する必要があることがある。
【0045】この構成の圧縮解除は、図9に示したもの
に類似している。まず、ステップ701で、終了ポイン
タが検索される。次に、ステップ702で、最後のブロ
ックの始めに整列するようにポインタが調整される。ス
テップ703で、データ・ブロックが順方向にバッファ
内へ圧縮解除される。ブロックが圧縮解除された後、ス
テップ704でバッファが逆方向に読み取られ、それに
よってデータが逆方向に生成される。
【0046】マーカが挿入されていないので、順方向へ
の圧縮解除は、逆転不能RLE方法を使用するときのも
のとまったく同じである。
【0047】図11の構成の使用法を次の表5及び表6
に示す。表5及び表6は、ブロック化サイズ16を使用
する。なぜなら、そのようなサイズは圧縮不能データの
最大ブロック・サイズに一致するからである。次の表5
及び表6を見ると、表3の行と異なる行は2つしかない
ことが分かる。すなわち、圧縮不能データの第1行が1
だけ少なくなっており、圧縮不能データの最後の行が1
だけ増えている。この場合も、上述のように、終了マー
カを使用することも、あるいは最後のブロックを計算す
ることもできる。したがって、この例では、終了マーカ
を省略した場合、可逆圧縮構成用のファイル・サイズは
不可逆圧縮構成用のファイル・サイズと同じになる。可
逆圧縮済みファイルは、入力データに応じて、不可逆圧
縮ファイルと同じサイズにならないことがある。RLE
コード、ブロック・サイズ、およびマーカのこの特定の
構成は、読者を本発明を理解するうえで助けるために選
択されている。そのような情報は、この構成を使用する
ことに本発明を限定することを意味するものではない。
【0048】
【表5】
【0049】
【表6】
【0050】他の実施例は、図12に示したように、逆
方向ポインタとしてマーカを使用するものである。その
ようなポインタは、逆方向のブロックの始めまたは行の
始め、あるいはデータ中の他の任意の点を指すことがで
きる。図11の実施例と同様に、エンコーダは、ポイン
タが逆方向の有効なRLEバイトを指し、ラスタ・デー
タ・バイトを指さないようにしなければならない。この
実施例の主な利点は、ブロック・サイズが増大され、か
つ可変であり、それによって、使用されるマーカの数が
かなり減少し、したがって圧縮率が向上することであ
る。順方向への圧縮解除を図10に示す。この場合、マ
ーカは一般に、ステップ502でスキップされる。
【0051】当技術分野では他の圧縮方式が知られてい
る。たとえば、最も人気の高い汎用方式の1つはLZ7
8コンプレッサ・ファミリとして知られている。LZ7
8ベースの方法は、句を「辞書」に入力し、次いで、そ
の特定の句が繰り返して生起していることが発見された
ときに、句の代わりに辞書索引を出力することによって
機能する。この原則に基づく幾つかの圧縮アルゴリズム
が存在し、それらは主として、辞書の管理方法が異な
る。この種の圧縮の主な利点は、実際に明示的に辞書が
送られることなく辞書全体がデコーダに送られることで
ある。ランの終わりに、デコーダは、全体的に復号プロ
セスの一部として構成された、エンコーダが有するもの
と同じ辞書を有することになる。
【0052】LZ78圧縮方法は、逆圧縮解除が可能な
ように修正することもできる。一実施例は、前述のよう
に圧縮済みデータに組み込まれたマーカを使用する。マ
ーカは、辞書に変更が加えられると必ずデータ中に置か
れる。さらに、マーカは次のマーカに対するオフセット
を提示する。デコンプレッサは、マーカを使用すること
によって、辞書を順方向に再構成することができる。デ
コンプレッサが所望の点に達した後、圧縮解除が開始す
る。ブロックがバッファ内へ圧縮解除され、バッファが
逆方向に読み取られ、それによってデータが逆方向に出
力される。順方向への圧縮解除ではマーカを無視しなけ
ればならない。マーカを記憶するには追加空間が必要な
ので、この実施例は圧縮率に悪影響を及ぼす。
【0053】他の実施例は、マーカを使用することを必
要としない。マーカを不要にすることによって、圧縮率
は悪影響を受けない。しかし、辞書は順方向に再構成し
なければならない。辞書を再構成するには、辞書を再構
成するためだけにデータを順方向に読み取る必要があ
る。デコンプレッサが所望の点に達した後、圧縮解除が
開始する。ブロックがバッファ内へ圧縮解除され、バッ
ファが逆方向に読み取られる。順方向への圧縮解除は影
響を受けない。この実施例は圧縮率には悪影響を及ぼさ
ないが、辞書を再構成するのに追加処理時間が必要であ
り、それによって性能が悪影響を受ける。
【0054】他の可能な例には、データ・ストリームに
よって辞書を記憶することが含まれる。データ・ストリ
ームに辞書を記憶することによって、辞書を再構成する
ための追加時間は必要でなくなる。この方法は2つの主
な欠点を有する。第1に、辞書を記憶する必要があるこ
とによって、圧縮率が悪影響を受ける。第2に、このた
め、辞書は静的辞書である必要がある。言い換えると、
辞書が一杯になった後、変更を加えることはできなくな
る。このことも圧縮率に悪影響を及ぼす。
【0055】他の方法は、コンプレッサからの出力ブロ
ック・サイズを固定し、各ブロックの始めに辞書をリセ
ットすることを必要とするものである。その場合、デコ
ンプレッサはどんなブロックの始めからでも圧縮解除を
開始することができる。この場合も、この方法では、各
ブロックの最初の部分の間、辞書への入力が頻繁なた
め、圧縮が不良なものになるので、圧縮率が悪影響を受
ける。
【0056】前述のように、可逆データ圧縮方式を使用
する1つの特定の応用例は重複プリンタである。図13
を参照すると、1つのそのようなプリンタの概略ブロッ
ク図が示されている。図13に示したアプリケーション
・プログラム1400はプリンタ装置の一部でないこと
に留意されたい。
【0057】可逆データ圧縮方法は図13のブロック図
を含むいくつかの方法で使用できるが、本明細書では2
つの主な方法について論じる。どの特定の方式を選択す
るかは、プリンタ装置全体の推定費用によって決定され
る。より高価な実施態様では、CPU1402が圧縮ア
ルゴリズム自体を実行するのに十分な処理能力とメモリ
とを有する。低コストのプリンタ装置では、CPU14
02が存在しなくてもよく、メモリ要件は最小限のもの
に維持される。廉価な構成では、アプリケーション・プ
ログラム1400が圧縮アルゴリズムを実施しなければ
ならない。
【0058】高性能プリンタ装置では、アプリケーショ
ン・プログラム1400がハイ・レベル・プリンタ制御
言語1401を使用してプリンタ装置にデータを送る。
CPU1402は、ハイ・レベル・プリンタ制御言語1
401からデータを検索し、そのデータを非圧縮フォー
マットでラスタ化してメモリ1403に入れる。次に、
CPUは非圧縮ラスタ化情報をメモリ1403から検索
して、コンプレッサ1405を通過させ、コンプレッサ
は次いで、圧縮済みイメージを再びメモリ1404に記
憶する。適当な時間に、DMA(ダイレクト・メモリ・
アクセス)1406はCPU1402の制御下で、圧縮
済みイメージをメモリ1404から検索する。圧縮済み
イメージは次いで、デコンプレッサ1408に転送さ
れ、 デコンプレッサ1408は圧縮解除アルゴリズム
を実行する。デコンプレッサ1408の出力は、非圧縮
イメージ情報に従ってレーザ1409を変調するビデオ
・チップ1407に送られる。
【0059】この構成を使用すると、アプリケーション
・プログラム1400は、メモリ1404に記憶されて
いる圧縮済みイメージをいつ、DMA1406によって
逆方向に読み取り、デコンプレッサ1408によって逆
方向に圧縮解除しなければならないかに関する決定から
完全に解放される。アプリケーション・プログラム14
00を独立させることによって、そのようなプログラム
が不必要に複雑になることはなくなる。
【0060】第2の構成は、プリンタ装置自体のコスト
を最小限に抑えようとするものである。そのような構成
は、メモリ1404、DMA1406、デコンプレッサ
1408、ビデオ・チップ1407、およびレーザ・ダ
イオード1409しか使用しない。プリンタ装置がCP
Uを含まないので、アプリケーション・プログラム14
00は圧縮アルゴリズム全体を実施しなければならな
い。しかし、アプリケーション・プログラムは、圧縮済
みイメージを順方向に印刷すべきか、それとも逆方向に
印刷すべきかに関する予測を行うことを必要とされな
い。DMA1406とデコンプレッサ1408は共に、
イメージを逆方向に圧縮解除すべきかどうかを知らなけ
ればならない。DMA1406がこれを知る必要がある
のは、圧縮済みイメージをメモリ1404の位置から逆
方向に検索できるようにするためである。デコンプレッ
サ1408も、正しいアルゴリズムを適切に適用できる
ように、この方向を知らなければならない。
【0061】アプリケーション・プログラム1400と
プリンタ装置の間の追加スループットは、アプリケーシ
ョン・プログラムが、データをプリンタ装置に送る前に
ラスタ化し、次いで圧縮できるようにすることによって
得ることができる。アプリケーション・プログラムは、
可逆データ圧縮方法を使用して、ラスタ化情報をハイ・
レベル・プログラム制御言語ブロック1401に送る前
に圧縮し、次いで適当なページ記述言語に組み込むこと
ができる。CPU1402は、ページ記述言語命令を検
索するとき、後続情報が圧縮済みラスタ化データである
ことを意味するものとしてその命令を復号する。したが
って、CPU1402は、この圧縮ステップをバイパス
し、圧縮済みデータを直接、圧縮済みイメージを記憶す
るメモリ1404に入れる。前述のように、DMA14
06は、圧縮済みイメージを再びメモリ1404から検
索してデコンプレッサ1408に送り、デコンプレッサ
1408は前記イメージを圧縮解除してビデオ・チップ
1407およびレーザ・ダイオード1409上に送る。
この構成でも、アプリケーション・プログラム1400
は、ラスタ化情報をプリンタ装置に送る前に圧縮してお
かなければならない。しかし、第2の方法とは異なり、
アプリケーション・プログラム1400が、プリンタ装
置のメモリを管理するのに必要とされることはない。
【0062】通常の印刷プロセスでは、DMA1406
は、圧縮済みイメージをメモリ1404から検索し、前
述のように、デコンプレッサ1408に送り、デコンプ
レッサは圧縮済みイメージを圧縮解除する。この構成
は、もはやCPU1402を必要としないので、プリン
タ装置のコストを大幅に低減する。しかし、そのような
構成は、イメージをラスタ化して圧縮する追加負担をア
プリケーション・プログラム1400に与える。
【0063】本発明の好ましい実施例を例示し、その形
態について説明したが、当業者には、本発明の趣旨から
も特許請求の範囲からも逸脱せずに本発明に様々な修正
を加えられることが容易に理解されよう。
【0064】以上本発明の各実施例について詳述した
が、ここで各実施例の理解を容易にするために、各実施
例ごとに要約して以下に列挙する。
【0065】1. 最初のデータを圧縮済みデータとし
て圧縮し、前記圧縮済みデータが、前記最初のデータを
逆の順序にしたものである逆転データとして圧縮解除す
るデータ圧縮・圧縮解除法であって、前記最初のデータ
を中間圧縮済みデータとして圧縮するステップ(60
1)と、前記中間圧縮済みデータに関する情報を示す少
なくとも1つのマーカ手段を前記中間圧縮済みデータに
入れて前記圧縮済みデータを作成するステップ(60
2)と、前記圧縮済みデータから前記マーカ手段を検索
するステップ(702)と、前記マーカ手段を使用して
前記圧縮済みデータを圧縮解除し、前記圧縮済みデータ
を前記逆方向に圧縮解除し、それによって前記逆転デー
タを作成するステップ(703、704)と、を含むこ
とを特徴とするデータ圧縮・圧縮解除法である。
【0066】2. 前記マーカ手段が前記圧縮済みデー
タ中の次の圧縮済みデータ・ブロックを記述することを
特徴とする前記1に記載のデータ圧縮・圧縮解除法であ
る。
【0067】3. 前記次のブロックが固定数の圧縮済
みデータ要素を有することを特徴とする前記2に記載の
データ圧縮・圧縮解除法である。
【0068】4. 前記マーカ手段がさらに、次のマー
カ手段を指すポインタ手段を含むことを特徴とする前記
1に記載のデータ圧縮・圧縮解除法である。
【0069】5. 前記マーカ手段が、固定数の圧縮済
みデータ要素を有する、前記圧縮済みデータ・ストリー
ム中の前の圧縮済みデータ・ブロックを記述することを
特徴とする前記1に記載のデータ圧縮・圧縮解除法であ
る。
【0070】6. 前記マーカ手段がさらに、次のマー
カ手段を指すポインタ手段を含むことを特徴とする前記
5に記載のデータ圧縮・圧縮解除法である。
【0071】7. 最初のデータを圧縮済みデータとし
て圧縮し、前記圧縮済みデータが、前記最初のデータを
逆の順序にしたものである逆転データとして圧縮解除す
るデータ圧縮・圧縮解除法であって、前記圧縮済みデー
タである、最初のブロックを含む少なくとも1つのブロ
ックとして、前記最初のデータを圧縮するステップ(6
01)と、前記少なくとも1つのブロックからブロック
を逆の順序で検索するステップ(701、702)と、
前記ブロックを圧縮解除してバッファ手段に入れるステ
ップ(703)と、前記バッファ手段を逆方向に読み取
るステップ(704)と、を含むことを特徴とデータ圧
縮・圧縮解除法である。
【0072】8. さらに、前記検索ステップ(70
1、702)によって前記第1のブロックが検索される
まで、前記検索ステップ(701、702)、圧縮解除
ステップ(703)、および読取りステップ(704)
を繰り返すステップを含むことを特徴とする前記7に記
載のデータ圧縮・圧縮解除法である。
【0073】9. 最初のデータを圧縮済みデータとし
て圧縮し、前記圧縮済みデータが、前記最初のデータを
逆の順序にしたものである逆転データとして圧縮解除す
るデータ圧縮・圧縮解除法であって、前記圧縮済みデー
タである、最初のブロックと最後のブロックとを含む複
数のブロックとして、前記最初のデータを圧縮するステ
ップ(601)と、前記複数のブロックから、前記最後
のブロックを最初にして逆の順序で検索するステップ
(701、702)と、前記ブロックを圧縮解除してバ
ッファ手段に入れるステップ(703)と、前記バッフ
ァ手段を逆方向に読み取るステップ(704)と、前記
検索ステップ(701、702)によって前記第1のブ
ロックが検索されるまで、前記検索ステップ(701、
702)、圧縮解除ステップ(703)、および読取り
ステップ(704)を繰り返すステップと、を含むこと
を特徴とするデータ圧縮・圧縮解除法である。
【0074】10. 前記複数のブロックのうちの各ブ
ロックが、固定数(601)の圧縮済みデータ要素を有
することを特徴とする前記9に記載のデータ圧縮・圧縮
解除法である。
【0075】
【発明の効果】以上のように、本発明によれば、最初の
データを圧縮して中間圧縮済みデータとし、この中間圧
縮済みデータに関する情報を示すマーカ手段を中間圧縮
済みデータに入れて圧縮済みデータを作成するととも
に、圧縮済みデータからマーカ手段を検索し、このマー
カ手段を使用して圧縮済みデータを逆方向に圧縮解除し
て、最初のデータを逆の順序にした逆転データを作成す
るようにしたので、順方向と逆方向の両方向に圧縮解除
ができ、メモリ要件を低減することができるとともに、
重複モードでの印刷かせ可能なプリンタで重複モードで
印刷を行うときに、グラフィカル・データに対して圧縮
を行うことができ、プリンタの性能向上の一助となすこ
ともできる。
【図面の簡単な説明】
【図1】比較的簡単なライン・アート・オブジェクトを
含むグラフィカル・ウィンドウを示す説明図である。
【図2】本発明と共に使用できるRLEコード化構成を
示す説明図である。
【図3】本発明と共に使用できるRLEコード化構成を
示す説明図である。
【図4】本発明と共に使用できるRLEコード化構成を
示す説明図である。
【図5】本発明と共に使用できるRLEコード化構成を
示す説明図である。
【図6】図1に示したものと類似のグラフィカル・ウィ
ンドウを示す説明図であるが、ただし、ウィンドウ中の
オブジェクトは圧縮可能ではない。
【図7】図12で使用されるマークの1つの可能な表現
を示す説明図である。
【図8】本発明によってデータを圧縮するために使用さ
れる状態を示す説明図である。
【図9】データを逆方向に圧縮解除するときに使用され
る状態を示す説明図である。
【図10】データを順方向に圧縮解除するときに使用さ
れる状態を示す説明図である。
【図11】固定ブロック化サイズをマーカなしで使用す
るときのデータを表す説明図である。
【図12】本発明によって使用されるマーカを示す説明
図である。
【図13】本発明を使用するプリンタ装置のハイレベル
機能の説明図である。
【図14】重複機構がとりつけられたプリンタの側面概
略図である。
【図15】プリンタの動作を理解するうえで助けとなる
タイミング図である。
【図16】動作時の後の点における図14に示したプリ
ンタを示す側面概略図である。
【図17】動作時の後の点における図16に示したプリ
ンタを示す側面概略図である。
【符号の説明】
1400 アプリケーション・プログラム 1401 ハイレベル・プリンタ・制御言語 1402 CPU 1403,1404 メモリ 1405 コンプレッサ 1406 DMA 1407 ビデオ・チップ 1408 デコンプレッサ 1409 レーザ・ダイオード
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平5−300027(JP,A) 特開 平6−125434(JP,A) 特開 平6−152888(JP,A) 特開 平5−182365(JP,A) 特開 平6−150550(JP,A) 特開 平2−196387(JP,A) (58)調査した分野(Int.Cl.7,DB名) H03M 7/30 H03M 7/46

Claims (10)

    (57)【特許請求の範囲】
  1. 【請求項1】元のデータを圧縮済みデータとして圧縮
    し、該圧縮済みデータを、該元のデータを逆の順序にし
    た逆転データとして圧縮解除する、データ圧縮および圧
    縮解除方法であって、 前記元のデータを中間圧縮済みデータに圧縮するステッ
    プと、 前記中間圧縮済みデータに関する情報を示す少なくとも
    1つのマーカ手段を前記中間圧縮済みデータに入れて、
    前記圧縮済みデータを生成するステップと、 前記マーカ手段を前記圧縮済みデータから抽出するステ
    ップと、 前記マーカ手段を使用して前記圧縮済みデータを圧縮解
    除し、該圧縮済みデータを逆方向に圧縮解除して、前記
    逆転データを生成するステップと、 を含む、データ圧縮および圧縮解除方法。
  2. 【請求項2】前記マーカ手段は、前記圧縮済みデータに
    おける次の圧縮済みデータブロックを記述する、請求項
    1に記載のデータ圧縮および圧縮解除方法。
  3. 【請求項3】前記次の圧縮済みデータブロックは、固定
    数の圧縮済みデータ要素を有する、請求項2に記載のデ
    ータ圧縮および圧縮解除方法。
  4. 【請求項4】前記マーカ手段は、次のマーカ手段を指す
    ポインタ手段をさらに含む、請求項1に記載のデータ圧
    縮および圧縮解除方法。
  5. 【請求項5】前記マーカ手段は、前記圧縮済みデータの
    ストリームにおける前の圧縮済みデータブロックを記述
    しており、該前の圧縮済みデータブロックは、固定数の
    圧縮済みデータ要素を有する、請求項1に記載のデータ
    圧縮および圧縮解除方法。
  6. 【請求項6】前記マーカ手段は、次のマーカ手段を指す
    ポインタ手段をさらに含む、請求項5に記載のデータ圧
    縮および圧縮解除方法。
  7. 【請求項7】元のデータを圧縮済みデータとして圧縮
    し、該圧縮済みデータを、前記もとのデータを逆の順序
    にした逆転データとして圧縮解除する、データ圧縮およ
    び圧縮解除方法であって、 前記元のデータを、最初のブロックを含む少なくとも1
    つのブロックに圧縮するステップと、 前記少なくとも1つのブロックから、逆の順序でブロッ
    クを抽出するステップと、 前記ブロックをバッファ手段に圧縮解除するステップ
    と、 前記バッファ手段を逆方向に読み出すステップと、を含
    み、 前記少なくとも1つのブロックは前記圧縮済みデータで
    ある、データ圧縮および圧縮解除方法。
  8. 【請求項8】前記抽出するステップが前記最初のブロッ
    クを抽出するまで、前記抽出するステップ、前記圧縮解
    除するステップおよび前記読み出すステップを繰り返す
    ステップをさらに含む、請求項7に記載のデータ圧縮お
    よび圧縮解除方法。
  9. 【請求項9】元のデータを圧縮済みデータとして圧縮
    し、該圧縮済みデータを、該元のデータを逆の順序にし
    た逆転データとして圧縮解除する、データ圧縮および圧
    縮解除方法であって、 前記元のデータを、最初のブロックおよび最後のブロッ
    クを含む複数のブロックに圧縮するステップと、 前記複数のブロックから、前記最後のブロックを最初と
    して逆の順序でブロックを抽出するステップと、 前記ブロックをバッファ手段に圧縮解除するステップ
    と、 前記バッファ手段を逆方向に読み出すステップと、を含
    み、 前記複数のブロックは前記圧縮済みデータである、デー
    タ圧縮および圧縮解除方法。
  10. 【請求項10】前記複数のブロックのそれぞれは、固定
    数の圧縮済みデータ要素を有する、請求項9に記載のデ
    ータ圧縮および圧縮解除方法。
JP31500894A 1993-12-20 1994-12-19 データ圧縮・圧縮解除法 Expired - Fee Related JP3283150B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17131593A 1993-12-20 1993-12-20
US171-315 1993-12-20

Publications (2)

Publication Number Publication Date
JPH07202712A JPH07202712A (ja) 1995-08-04
JP3283150B2 true JP3283150B2 (ja) 2002-05-20

Family

ID=22623298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31500894A Expired - Fee Related JP3283150B2 (ja) 1993-12-20 1994-12-19 データ圧縮・圧縮解除法

Country Status (3)

Country Link
EP (1) EP0660587B1 (ja)
JP (1) JP3283150B2 (ja)
DE (1) DE69418441T2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4568983A (en) * 1983-12-07 1986-02-04 The Mead Corporation Image data compression/decompression
JPS62298280A (ja) * 1986-06-18 1987-12-25 Ricoh Co Ltd 画像符号化方法
JPH02198266A (ja) * 1989-01-27 1990-08-06 Toshiba Corp 画像形成装置
JPH03227179A (ja) * 1990-01-31 1991-10-08 Sony Corp 画像データ処理装置
JP3134424B2 (ja) * 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置

Also Published As

Publication number Publication date
EP0660587B1 (en) 1999-05-12
DE69418441T2 (de) 1999-11-25
DE69418441D1 (de) 1999-06-17
JPH07202712A (ja) 1995-08-04
EP0660587A3 (en) 1996-11-13
EP0660587A2 (en) 1995-06-28

Similar Documents

Publication Publication Date Title
US6597812B1 (en) System and method for lossless data compression and decompression
US5659631A (en) Data compression for indexed color image data
US5857035A (en) Arithmetic coding compressor for encoding multiple bit values
EP0846373B1 (en) Method and apparatus for compressing and decompressing image data
JP3628393B2 (ja) 圧縮済みデータを不連続メモリに記憶するデータ圧伸方法
KR100536980B1 (ko) 데이터 압축 방법, 데이터 압축해제 방법 및 데이터 압축 장치
AU637826B2 (en) Improved data compression apparatus
US7099884B2 (en) System and method for data compression and decompression
US6829695B1 (en) Enhanced boolean processor with parallel input
US6334123B1 (en) Index relational processor
JP2003179501A (ja) データ圧縮方法
US5710561A (en) Method and apparatus for double run-length encoding of binary data
US20050198470A1 (en) Compression of program instructions using advanced sequential correlation
KR20020075889A (ko) 보다 효율적인 데이터 압축
KR19990029331A (ko) 변형 렘펠-지브 1을 인코딩하기 위한 방법 및 장치
JPH07123407A (ja) Hdtv復号化器
CA2168284C (en) Apparatus and associated method for compressing and decompressing digital data
US6535150B1 (en) Method and apparatus for implementing run-length compression
KR100906041B1 (ko) 폰트 압축 및 검색 방법 및 장치
JP3342788B2 (ja) 圧縮データの伸張方法
EP0079442B1 (en) Data translation apparatus translating between raw and compression encoded data forms
Lin A hardware architecture for the LZW compression and decompression algorithms based on parallel dictionaries
JP3283150B2 (ja) データ圧縮・圧縮解除法
JPH10271013A (ja) データの圧縮方法および画像データの圧縮方法と圧縮装置
JP3266419B2 (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

LAPS Cancellation because of no payment of annual fees