JP2001144969A - ラスタデータの圧縮方法 - Google Patents

ラスタデータの圧縮方法

Info

Publication number
JP2001144969A
JP2001144969A JP2000282424A JP2000282424A JP2001144969A JP 2001144969 A JP2001144969 A JP 2001144969A JP 2000282424 A JP2000282424 A JP 2000282424A JP 2000282424 A JP2000282424 A JP 2000282424A JP 2001144969 A JP2001144969 A JP 2001144969A
Authority
JP
Japan
Prior art keywords
image
data
index
raster
huffman
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2000282424A
Other languages
English (en)
Other versions
JP4063487B2 (ja
JP2001144969A5 (ja
Inventor
Terrence M Shannon
テレンス・エム・シャノン
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 JP2001144969A publication Critical patent/JP2001144969A/ja
Publication of JP2001144969A5 publication Critical patent/JP2001144969A5/ja
Application granted granted Critical
Publication of JP4063487B2 publication Critical patent/JP4063487B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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
    • H04N1/4105Bandwidth or redundancy reduction for halftone screened pictures

Landscapes

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

Abstract

(57)【要約】 【課題】ラスタ画像の高圧縮方法を提供する。 【解決手段】最初にテ゛ータの再順序付けを行う(602)こと
によってラスタ画像を高圧縮する。次に、再順序付けされ
たテ゛ータにインテ゛クスを付けて、任意の全ての予測ラン及びリテラル
ラン(図5)を符号化する。ラスタ画像の現在のラインの各部分を
以前のラインと比較する。比較の結果、一致すれば、その
現在の部分は予測ラン(図5)であり、それに応じてインテ゛クス
が付けられる(603)。一致しなければ、その現在の部分
はリテラルラン(図5)であり、それに応じてインテ゛クスが付けられ
る(603)。ハフマン符号化のような可逆圧縮法を使用して、イ
ンテ゛クスストリンク゛(図4)を次に圧縮する(604)。圧縮器がインテ゛ク
スストリンク゛を圧縮する際に、ハフマンテーフ゛ルが適応化される(70
5,706)。復元器は、適応化されたテーフ゛ルをいつ使用すべ
きかを、圧縮器によって通知される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ圧縮に関
し、特に、ラスタデータを圧縮する方法および装置に関
する。
【0002】
【従来の技術】モノクロレーザプリンタの技術が進歩し
たため、プリンタは、より高解像度の画像を印刷するこ
とができる。また、画像を印刷するためにプリンタに送
信する必要のあるラスタデータの量も増大し、プリンタ
の性能に悪影響を与えている。画像がプリンタに送信さ
れる前にスケーリングおよびディザリングされる場合、
8×10インチのラスタ画像には、300DPIの装置
の場合は0.9メガバイトのデータ、600DPIの装
置の場合は3.6メガバイト、1200DPIの装置の
場合は14.4メガバイトのデータが必要である。
【0003】モノクロのHewlett-Packard LaserJets
(登録商標)プリンタ等、プリンタおよびドライバによ
っては、カラーラスタデータまたはディザリングされた
モノクロラスタデータのいずれかを印刷することができ
るものがある。カラーデータが送信されると、プリンタ
はスケーリングとディザリングとを実行し、ドライバが
スケーリングおよびディザリングした場合に生成された
であろう画像と同じ画像を生成する。カラーデータかま
たはディザリングされたモノクロデータを送信するとい
う選択は、画像を印刷するために必要なI/Oの量を低
減することに基づいている。カラー画像の方が、画素毎
により多くのデータを有しているが、スケーリングおよ
びディザリングされたモノクロ画像の方が、通常、解像
度がより高く、この場合600または1200DPIで
ある。ソースカラー画像(すなわち、元の画像)が低解
像度であるか、または大きく拡大されている場合、ソー
ス画像のカラーまたはグレースケールバージョンを送信
して、プリンタにスケーリングおよびディザリングを実
行させるというI/Oの利点がある。実際には、ソース
カラー画像は、通常、ドライバによって8ビット/画素
のグレースケール画像に変換される。ソースカラー画像
が高解像度であるかまたはそれほど拡大されていない場
合、プリンタドライバがディザリングおよびスケーリン
グを実行し、印刷の用意ができているモノクロ画像をプ
リンタに送信すれば、I/Oはより少なくなる。レーザ
プリンタによっては、カラーデータまたはグレースケー
ルデータを受入れる能力を有していないものもあり、そ
のため、スケーリングおよびディザリングは常にドライ
バによってホスト上で実行される。
【0004】ソース画像またはディザリングされたモノ
クロ画像を圧縮するために使用可能な圧縮には、いくつ
かの選択肢がある。大抵のものが、タグ付画像ファイル
フォーマット(tagged image file format(TIFF改
訂版4))およびデルタ行圧縮(delta row compressio
n)の変形である。ディザマトリクスによって各行が先
行する行と異なるものとなるため、デルタ行圧縮の使用
可能なバージョンは、ディザリングされたモノクロ画像
に対して有効ではない。ランレングス符号化TIFF圧
縮法は、現時点で使用可能な最適な選択肢であり、ディ
ザリングされた画像が大きく拡大される場合や、生成さ
れた画像が、ビジネス用のグラフィクスおよび図表など
のように、同じ色の領域を多く含むものである場合に、
適切に作用する。
【0005】1つのソース画素が多くの同様の出力画素
を生成するため、画像のスケーリングは画像の圧縮性に
影響を与え、TIFF方式を用いる圧縮性は、隣接する
画素の類似性による。なお、スケーリングは、画像の物
理的寸法を変化させるためだけに行われるのではなく、
画像の解像度を変換するためにも使用される。例えば、
ソース画像が、72画素/インチの解像度を有し、寸法
が5インチ×5インチの場合、129,600画素を含
むこととなる。1200DPIのモノクロプリンタの場
合、画像がスケーリングおよびディザリングされ、5イ
ンチ×5インチの画像として印刷されると、36,00
0,000画素までスケーリングされることになる。
【0006】ラスタ画像をモノクロレーザプリンタで印
刷する場合に最も問題となるのは、ラスタ画像が走査さ
れた写真(以下、走査写真)と同程度の高解像度画像を
有する場合である。これらの画像の圧縮を困難にするも
のは、高周波数成分である。実験により、低解像度から
中程度の解像度までの走査写真、ビジネス用グラフィク
ス、ラインアートおよび小さな高解像度画像は、LaserJ
et(登録商標)プリンタの性能で対応可能であることが
分かっている。写真と同程度の大きな高解像度画像は、
プリンタに送信されるI/Oの量が多いため、性能に対
する要求が大きい。インターネットの使用が増大し、安
価なスキャナ、デジタルカメラ、ビデオキャプチャ用コ
ンピュータアクセサリおよび写真走査サービスを使用で
きるようになってきたため、高解像度ラスタ画像のソー
スがより広く使用されるようになっている。本発明は、
ラスタ画像のような高解像度写真によって要求される性
能の問題を対象とする。
【0007】Microsoft Windows(Windowsは、マイクロ
ソフト社の登録商標である)は、ラスタ画像を結合する
ために使用されるラスタ演算(ROP)のセットを定義
する。Hewlett-Packard LaserJet(登録商標)プリンタ
は、画像がモノクロデータに変換される場合であって
も、画像がプリンタに送信される前にホストコンピュー
タでスケーリングおよびディザリングすることによっ
て、ROPを実行することができる。ROP互換である
ためには、ソースのDIBから目的のモノクロビットマ
ップへのすべての変換演算が、画素単位で決定論的(de
terministic)でなければならず、これによりソース画
素が変換される時はいつでも正確な結果が得られるよう
になる。アプリケーションプログラムがXOR(排他的
論理和)ROPを用いてラスタ画像の中心に白色のウイ
ンドウを生成する例を考える。まず、アプリケーション
プログラムは、カラー画像全体をドライバに送信し、そ
こでカラーデータはスケーリングおよびディザリングさ
れてモノクロデータになる。このディザリングされた画
像は、プリンタに送信されるが、このディザリングされ
た画像またはソースカラー画像のレコード(record)は
いずれもドライバが使用できないままである。次に、ア
プリケーションは同じ画像のサブセットを選択し、それ
をプリンタに送信する。ドライバは、このサブセット画
像をディザリングおよびスケーリングする。XOR R
OPを正常に行うために、画像サブセットからディザリ
ングされたデータの各画素は、画像サブセットの範囲内
で元の画像の画素と正確に一致しなければならず、その
ため、各ソース画像の画素に全く同じスケーリングおよ
びディザリングを行って、画像サブセットの各目的ドッ
トが元の画像の目的ドットを正確に覆うように、ディザ
リングされたラスタセグメントを生成しなければならな
い。目的画素の値が近接する画素の値に依存して決まる
「近傍」演算は、近接する画素が後続するROPで使用
できない場合は、ROP互換ではない。
【0008】近傍演算を使用する他の変換の例は、誤差
拡散ディザリング、青色ノイズディザリング(blue noi
se dithering)および双一次スケーリング(bi-linear
scaling)である。また、ROP互換を保持したい場合
は、非可逆(有損失)圧縮技術を排除しなければならな
い。ROPは、ラスタデータについて定義されるが、ア
プリケーションプログラムではめったに使用されない。
上記の例において、白い矩形は、不透明描画モード(op
aque drawing mode)で矩形の白色ラスタを送信するこ
とによって実現することができる。
【0009】従来から、ROPはWindows(登録商標、
以下同じ)に対し、表示画面上のラスタグラフィクスを
操作する高速で容易な方法を提供している。Windowsの
GUIは、同じグラフィカルコマンド(GDI)のセッ
トを用いて任意の装置に書込む手段を提供するため、部
分的には成功している。すべてのWindows互換のラスタ
装置は、直接にまたはGDIにサポートを提供させるこ
とにより、ROPをサポートする。ROPはアプリケー
ションプログラムが使用するために定義され利用可能で
あるため、使用頻度に関係なく、機能的に完全なプリン
タドライバはROPをサポートしなければならない。
【0010】近傍演算を行わず決定論的であり続けるた
めの必要性を説明する他の例は、いくつかのアプリケー
ションプログラムは、画像データをセグメントで送信す
るという事実である。画像は、水平または垂直に分割さ
れて1画素と同じ大きさのセグメントになる。アプリケ
ーションプログラムがラスタ画像を分解するのは、Wind
owsが任意のラスタ回転をサポートしていないからであ
り、そのためアプリケーションはそれらをドライバに送
信する前に画像を回転させる。アプリケーションによっ
ては、セグメントで回転を処理し、それが完了するに従
って各セグメントをドライバに送信し、印刷処理でセグ
メントから最終的な画像が組立てられるようにする。時
々、回転された画像の先端および基部において、単一画
素のコール(single pixel calls)が見つかる場合があ
る。これら画像セグメントを、プリンタに送信する前に
プリンタドライバによってスケーリングおよびディザリ
ングすることができる。各画像セグメントを継目無く隣
接するセグメントに連結して、最終的な印刷画像を作成
しなければならない。近傍演算の場合は、画像セグメン
トの境界に望ましくないアーティファクトが生じる場合
がある。
【0011】
【発明が解決しようとする課題】本発明は、決定論的で
あるクラスタ化されたドットのオーダードディザリング
(clustered dot ordered dithering)を使用し、継目
の無い画像構成と共にROPをサポートする。Ulichne
y, R.による「Digital Halftoning」(MIT Press,Cambr
idge, Ma., 1987)を参照されたい。この決定論は、所
定のソース画素がスケーリングおよびディザリングの関
数として特定の目的画素のグループを生成し、それら目
的画素の値が、1つのソース画素の値によって単に決定
されるという事実に基づいている。
【0012】
【課題を解決するための手段】本発明を実現するため
に、ラスタ画像を圧縮する方法が提供される。この方法
は、画像のサブピース(細分化された部分:sub piece
s)を組み合わせて、少なくとも1つのサブストリング
(または部分列)にすることによって実現される。各サ
ブストリングには、任意の予測ラン(predicted run)
およびリテラルラン(literal run)を符号化するため
にインデクスが付される。生成されたインデクスサブス
トリングは、可逆(無損失)圧縮法を用いて圧縮され
る。
【0013】組み合わせるステップでは、また、ラスタ
画像の各ラインについて、ラスタ画像がテキストを表す
かまたはハーフトーン化された画像(以下、ハーフトー
ン画像)を表すかを判定する。ラスタ画像がテキストを
表す場合は、サブピースは1つのサブストリングに逐次
(または順次)配置される。ラスタ画像がハーフトーン
画像を表す場合は、サブピースは複数のサブストリング
にインターリーブされる。
【0014】また、圧縮データを復元(解凍)してラス
タ画像にする方法も提供される。圧縮データは、可逆復
元法を用いて複数のインデクスサブストリングに復元さ
れる。複数のインデクスサブストリングは、インデクス
テーブルを用いて予測ランおよびリテラルランをサブス
トリングのデータに変換することにより復号化される。
サブストリングは、ラスタ画像を再生成するためにイン
ターリーブされる。
【0015】添付の図面と共に以下の詳細な説明を考慮
することにより、本発明をより良く理解することができ
る。
【0016】
【発明の実施の形態】本発明は、ラスタ画像の圧縮率を
改善する。本発明の好ましい実施の形態は、写真と同程
度の高解像度画像またはテキスト画像をディザリングお
よび圧縮するために有用である。高解像度とは、ソース
画像がディザリングされたモノクロ画像に変換される時
に、あまりスケーリングされないことを意味する。本発
明は、高解像度画像を印刷する際に、モノクロプリンタ
に生じる性能問題を扱うことを意図している。本発明
は、概して、すべての画像に対して高圧縮率を達成す
る。本発明は1200DPIプリンタ用に開発された
が、本明細書で説明する技術は、他のモノクロ装置に対
しても直接適用できる。本発明において述べられている
技術は、液体または固体のインクを使用するものを含
む、任意のモノクロプリンタに対しても適用することが
できる。
【0017】本明細書で使用するいくつかの用語につい
て以下に説明する。DIBは、Microsoft Windows(登
録商標)オペレーティングシステムにおいて一般に使用
されるラスタファイルフォーマットである装置独立ビッ
トマップ(すなわち、装置に依存しないビットマップ)
である。DPIは、インチ当たりのドット数を意味し、
本明細書ではラスタファイルおよびプリンタの解像度を
述べるために使用している。DIBにDPIを適用する
ことは適切ではないかもしれないが、以下では、ソース
画像についてそれらが解像度を有しているものとして説
明する。これは、DIBコールがプリンタドライバに到
着するまでに、特定の解像度の装置(600DPIプリ
ンタ等)への呼出というコンテキストにおいて、GDI
(グラフィクス・ディスプレイ・インタフェース)がア
プリケーションプログラムと協働して、DIBに対する
解像度を決定するためである。ROPは、Windows文書
によって記述されるようなラスタ演算である。RLEと
いう用語は、ファイルのランレングス符号化を意味し、
繰返しパターンを有する傾向にあるデータを圧縮するた
めに使用される既知の方法である。
【0018】レーザプリンタにおいて、レーザは、他の
印刷処理部に比べて比較的高い正確度で制御される。レ
ーザのターゲット領域では、レーザ光により、静電荷が
印刷ドラムを通って流れ出る。この電荷を使用して、レ
ーザ光がドラムに当たる同じ位置で、ドラムに対して反
対に帯電されたトナーを引寄せる。そして、帯電された
用紙が、ドラムからその用紙にトナーを引寄せ、熱およ
び圧力によりトナーは用紙に融着される。これは、精密
な処理ではない。最終的な出力において、各ドットは、
実際には用紙上で非対称な小滴となる。
【0019】この小滴のサイズは、ページに印刷された
テキストの品質を制御するために重要である。テキスト
が黒色であるため、見る人は、使用可能な最も黒く最も
鮮明なテキストを望む。これは、実現可能な最小の小滴
サイズを用いる一方で、黒のテキストおよびグラフィク
スを完全にトナーで覆ったままにすることにより実現さ
れる。600DPIのプリンタの論理上の画素は、正方
形であり、各エッジが1インチの1/600の長さを有
している。トナーの理想的なドットは、正方形を完全に
覆い、各角で正方形と交差する円である。このトナーの
円は、充填された四角形の上部、右側、底部および左側
に隣接する正方形にオーバラップする4つの弦を有して
いる。正方形の領域が1正方形単位の領域に正規化され
る場合、円は、1.57正方形単位の領域について、正
方形の対角線に等しい直径を有する。隣接する正方形に
オーバラップする弦の各々は、0.143正方形単位の
領域を有する。
【0020】本発明は、本明細書で説明されている特定
の実施の形態に限定されるものではない。特に図1を参
照する。本技術分野では既知のことであるが、ディザマ
トリクス(D)は、従来の16×16画素ディザマトリ
クスである。一般に、これはB.E.Bayerによって先駆け
て行われた研究に基づく伝統的なディザリング法であ
る。Bayer, B.E.による「An optimum method for two-l
evel rendition of continuous-tone picture」(Proce
edings of IEEE International Conference in Communi
cations, pp.26.11-26.15, 1973)を参照されたい。デ
ジタルハーフトーン化に関する更なる情報については、
Ulichney, Rによる「Digital Halftoning」(ISBN 0-26
2-21009-6(第4刷、1993))を参照されたい。なお、
これらの開示内容は、この引用をもって本明細書に包含
されたものとする。
【0021】16×16マトリクス(D)の各セクショ
ンは、1×4ニブルである。4×1セクションの各列
は、図1に示されているようにS1、S2、S3および
S4とラベル付けされている。サブニブルの数は、ニブ
ル内の画素数によって分割される(画素あたりの)ディ
ザマトリクスの幅によって決定される。好ましい実施の
形態では、ディザの幅は16であり、ニブルのサイズは
4ビットであるため、4つのストリングがある。
【0022】ドットがどのようにマトリクスを充填する
かについて考える。グレーレベルが0(白色)である場
合、マトリクスの中のいずれのドットもオンではない。
グレーレベルが徐々に増大するに従い、マトリクス内に
黒いドットが配置され、16×16マトリクス(D)全
体のグレーレベルが暗く見えるようになる。
【0023】図3に示すように、ディザマトリクスDは
画像に全体にわたってタイル化されるため、D00の1つ
の画素が、D01の同じ画素位置ある画素と同じ値を有す
る可能性が高い。同様に、D00の1つの画素は、D10
同じ画素位置にある画素と同じ値を有する可能性が高
い。この強い相関関係を使用することにより、ディザリ
ング処理の結果生じるサブピースは、各行についてサブ
ピース毎に編成される。好ましい実施の形態では、サブ
ピースはニブルであるが、サブピースは、1つのビット
または画素と同じ程度に小さくすることも、あるいは任
意の大きさとすることもできる。
【0024】図2および図6を参照して、再順序付け
(re-ordering)についてより詳細に説明する。まず、
本技術分野では既知のように、ディザマトリクスDを用
いて画像をディザリング(すなわち、ディザをかける)
およびスケーリングする(601)。次に、図2に示す
ように、行毎に画像をニブルに分割して、ストリングに
組み合わせる。こうして、各行について、すべてのS1
ニブルが第1のサブストリング(201)にあり、すべ
てのS2ニブルが第2のサブストリング(202)にあ
り、すべてのS3ニブルが第3のサブストリング(20
3)にあり、すべてのS4ニブルが第4のサブストリン
グ(204)にあるようにする(602)。
【0025】行が再順序付けされると、各ニブルは、後
述するようにインデクスによって符号化される(60
3)。置換の結果、図2のサブストリングは、図4に示
すようにインデクスサブストリングに変換される。
【0026】最後に、各インデクスサブストリング(図
4)は、後に詳述するように、圧縮方式を用いて圧縮さ
れる(604)。
【0027】上述したように、図2の各サブストリング
は、図4のインデクスサブストリングに変換される。相
関しているインデクスを緻密に検査することにより、図
2のサブストリングの各々がn個のエントリを有し、イ
ンデクスサブストリングが互いに無関係な数のエントリ
を有していることに気づく。各インデクスは、ニブルの
予測ラン(predicted run)またはリテラルラン(liter
al run)のいずれかを表す。図2を参照すると、現在の
行のニブルが先行する行のニブルと一致する場合、その
ニブルは予測ニブルの候補である。ニブルは、予測ニブ
ルでない場合、リテラルニブルである。なお、予測ニブ
ルであるニブルは、圧縮を容易にするためにリテラルニ
ブルとして扱うことができる。
【0028】予測ランは、1ニブルの最小ラン長と、ス
トリングの数によって分割されるニブルにおける画像幅
の最大ラン長と、を有することができる。リテラルラン
についても同じである。4ビットのニブルは16のビッ
トの組合せを有することができるため、16の異なるタ
イプのリテラルランがある。好ましい実施の形態では、
インデクスは8ビット数であり、そのため256の可能
なインデクスを表すことができる。これら256のイン
デクスは、図5に示すように分割される。インデクス0
〜63は、種々の長さの予測ランを表し、インデクス6
4〜255は、種々の長さのリテラルランを表す。
【0029】具体的には、好ましい実施の形態では、ア
レイエントリ0(インデクス0)は、長さ1のニブルの
予測ランを表す。インデクス1は、長さ2のニブルの予
測ランであり、同様にインデクス60まで続く。インデ
クス60は、長さが(画像幅)/(ストリングの数×
8)の予測ランを表す。インデクス62は、長さが(画
像幅)/(ストリングの数×4)の予測ランを表す。イ
ンデクス63は、長さが(画像幅)/(ストリングの
数)の予測ランを表す。これにより、長さが60以下の
すべての予測ランをアレイ内で直接表すことができる。
白色空間、黒色空間または画像全体が一定のグレーレベ
ルである場合のように、画像が非常に長い予測ランを有
する場合は、エントリ60〜63を使用することができ
る。予測ランが、アレイエントリ60に当てはめるには
小さすぎるが、アレイ59に当てはめるには大きすぎる
場合は、それを長さが60ニブル以下の複数のセグメン
トに分割して、59以下のエントリに配置する。
【0030】リテラルランのエントリについても同様の
方式が使用される。リテラルランに対しては、アレイエ
ントリ64〜255が確保される。上記場合と同様に、
16の異なる種類のリテラルランがあり、インデクス6
4〜255のアレイに192のエントリがある。これに
よって、各々の種類のリテラルランに対して12のアレ
イエントリが割当てられる。アレイエントリ64〜79
には、1ニブルのラン長を有する16種のリテラルラン
すべてが含まれる。アレイエントリ80〜95には、2
ニブルのラン長を有する16種のリテラルランすべてが
含まれる。このパターンは、異なるラン長を有する12
のグループすべてが256のアレイを満たすまで続く。
このパターンは、圧縮器および復元器の単純化のため
に、所与のラン長およびニブルパターンに対して適切な
インデクスを配置するために使用される。ニブルのグル
ープのラン長は、整数演算を使用して((インデクス/
16)−3)を計算することにより見いだすことができ
る。ニブルのビットパターンは、(インデクス%16)
である。長いリテラルランを容易にするために、12の
グループのラン長は、以下のように割当てられる。
【0031】
【表1】
【0032】好ましい実施の形態では、ラインが、グレ
ー値を含んだディザリングされたラスタ画像からのもの
か、あるいはあるページのテキストのラスタ表現など
の、白い背景に対する黒いラインからなるラスタ画像か
らのものかについて、判定を行う。ディザリングされた
画像にインデクス付けする場合、予測ランは8ライン戻
って参照されるが、「テキスト」モードでは、予測ラン
は1ラインしか戻らない。さらに、「テキスト」モード
で動作しているときは、インターリーブされたストリン
グS1〜S4は生成されず、ストリング(S1)のみが
生成される。
【0033】予測行のランデータについては、ディザリ
ングされた画像データの現在の行の、8ライン前の行に
対する類似性が利用される。この類似性は、画像の性
質、画像の拡大およびディザマトリクスによって与えら
れるパターンから生じるものであり、そのため、ディザ
マトリクスの大きさが異なれば、予測行に対するルック
バック(戻り参照)は異なる場合がある。圧縮器は、比
較のために出力データの8ラインをバッファリングし、
8ライン戻ったデータの行を検査する。データが現在の
データと正確に一致している場合は、そのデータは予測
行のランとして適したものである。予測行データは、プ
リンタに送信されない。予測行インデクスは、復元器に
対し、それが8ライン前に復元したラインから指定され
た数のニブルをコピーして、そのデータを現在のライン
に使用するように命令する。予測行が現在のラインデー
タと一致していない領域はすべて、リテラルニブルを用
いて圧縮される。
【0034】理解を容易にするために、インデクス付け
処理について例示する。ディザリングされたラスタ画像
を処理して、データが既にニブルのストリングに組み合
わされたものとする。以下のストリング(16進数)
が、画像の最初のストリングであるものとする。
【0035】ストリング y=AAA000AAA00
00BB00777 これは、画像の最初のラインであるため、予測ランは存
在し得ず、リテラルランのみがある。代替的には、最初
のストリングの場合であっても、すべてゼロ等、あるデ
フォルトパターンを比較の対象として使用することがで
きる。説明のために、最初の行は、リテラルランにのみ
限定されるものとする。
【0036】上述した表の一部は、以下のように展開さ
れる。各4ビットニブルについて、長さ4以下のリテラ
ルランに対するインデクスを示す。
【0037】
【表2】
【0038】ストリングyは、3つの「A」ニブルのラ
ンで始まる。表を参照すると、3つの「A」ニブルのリ
テラルランは、数字106(16進数で6A)でインデ
クス付けされている。次に、3つの「0」ニブルのラン
があるが、それは96(16進数で60)でインデクス
付けされている。次に、3つの「A」ニブルが続いてお
り、それらは再び106(16進数で6A)でインデク
ス付けされている。4つほ「0」ニブルは、112(1
6進数で70)でインデクス付けされている。インデク
ス91(16進数で5B)は、2つの「B」ニブルのリ
テラルランを置換える。2つの「0」ニブルのリテラル
ランは、80(16進数で50)でインデクス付けされ
ており、最後の3つの「7」ニブルのリテラルランは、
103(16進数で67)でインデクス付けされてい
る。ニブルストリングyの最終的なインデクスyストリ
ングは、次の通りである。
【0039】インデクスy=106,96,106,1
12,91,80,103 または、 インデクスy=6A,60,6A,70,5B,50,
67 (16進数)。
【0040】ストリングyの元の20ビット(または、
20ニブル)が、インデクスyの14ビット(または、
14ニブル)で置換えられている。処理が進むに従い、
結局ストリングは、予測ランを使用することができるよ
うになる。ストリングyからリテラルランと予測ランの
両方を用いて、次のストリングxを符号化することがで
きるものとする。
【0041】ストリングx=AAA000AAA000
BB00B777。
【0042】ストリングxをストリングyと比較する
と、最初の12ニブル(AAA000AAA000)が
一致していることがわかる。従って、ストリングxの最
初の12のニブルは、インデクス12(16進数で0
C)で置換えられる。これは、12のニブルの予測ラン
があることを示す。次に、ストリングxの「B」ニブル
に対するのは、ストリングyの「0」ニブルであり、従
って、この場合は予測ランは無い。「B」ニブルは、単
一のリテラルとしてインデクス付けすることができる
が、次のニブルもまた「B」であるため、2つの「B」
ニブルのリテラルランがあり、これは91(16進数で
5B)でインデクス付けすることが出来る。次に、2つ
の「0」ニブルのリテラルランがある。これをストリン
グyと比較すると、予測ランが無いことがわかり、従っ
て、それは、インデクス80(16進数で50)で表さ
れる。次にストリングxは、「B」という単一のニブル
を含み、それは75(16進数で4B)でインデクス付
けされる。ストリングxは、3つの「7」ニブルで終わ
っている。ランは、予測ランとリテラルランとの両方で
ある。ストリングyはまったく同じニブルを有している
ため、それは予測ランである。それが同じニブルのラン
であるため、それはリテラルランである。この場合、好
ましい実施の形態では、これをリテラルラン103(1
6進数で67)としてインデクス付けする。各ストリン
グが「7」ではないもう1つの同じニブルを有している
場合、予測ランはより有効になる。ニブルストリングx
についての最終的なインデクスストリングxは、次のよ
うになる。
【0043】インデクスx=12,91,80,75,
64 または、 インデクスx=0C,5B,50,4B,67 (16
進数)。 ストリングxの元の20ビット(または、20ニブル)
は、インデクスxにおいて10ビット(または、10ニ
ブル)でインデクス付けされている。
【0044】再び図6を参照する。上述したようにニブ
ルがインデクス付けされた後、そのインデクスは非可逆
(有損失)圧縮アルゴリズムを用いて圧縮される(60
4)。いくつかの汎用的な目的において、可逆(無損
失)データ圧縮処理は、従来技術では既知である。例え
ば、ハフマン法、シャノン・ファノ法、タンストール
法、ランペル・ジブ(またはジブランペル圧縮)法およ
び算術符号化法がある。ハフマン法は、周知でありまた
広く使用されており、「A Method For Construction Of
Minimum Redundancy Codes」(Proceedings IRE, 40,
10pp.1098-1100, Sept. 1952)と題されたD.A. Huffman
の論文に記載されており、引用をもってその内容を本明
細書に組み込む。タンストールアルゴリズムは、「Synt
hesis of Noiseless Compression Codes」(Georgia In
stitute of Technology, Sept. 1967)と題されたB. P.
Tunstallの博士論文に記載されており、引用をもって
その内容を本明細書に組み込む。ランペル・ジブ処理に
ついては、「A Universal Algorithm For Sequential D
ata Compression」(IEEE Transactions on Informatio
n Theory, IT-23, 3, pp.337-343, May, 1977)と題さ
れたJ. ZivおよびA. Lempelによって著された論文に記
載されており、引用をもってその内容を本明細書に組み
込む。算術符号化に関する追加の情報は、G. G. Langdo
n, Jr.による「An Introduction To Arithmetic Encodi
ng」(IBM Journal of Research and Development, Vo
l. 28, n.2, March 1984, 135-149)と、D. R. Helma
n、G. G. Langdon, Jr.およびJ. J. Rissanenによる「A
rithmetic Compression Code Control Parameters Appr
oximation」(Vol. 23, n.11, April 1981, 5112-511
4)、およびLangdon, Jr.他による米国特許第4,90
5,297号「Arithmetic Coding Encoder And Decode
r System」に記載されており、引用をもってこれらの開
示内容を本明細書に組み込む。
【0045】第1の汎用的なデータ圧縮処理の1つが、
ハフマン法である。簡単に言うと、ハフマン法では、符
号の全長セグメントを可変長ワードにマッピングする。
ハフマン法では、各固定長入力セグメントが発生する確
率が既知であるという想定の元に演算が行われる。ハフ
マン法のこの要件は、実際には、データの処理中に必要
な統計値を累算する適応型処理を使用することにより満
たすことができる。好ましい実施の形態では、ハフマン
法を用いてインデクスを圧縮する。
【0046】上述した256のインデクス付けアレイ
は、圧縮されたデータストリームのハフマン符号化に対
しても使用される。種々の長さの予測ランと種々の長さ
のリテラルランとを表すアレイがあると考える。これら
エントリの各々は、所与のラスタ画像について起こりう
る発生頻度を有している。好ましい実施の形態は、2つ
のタイプのラスタ画像、すなわち高解像度の走査写真等
の複雑なラスタ画像と、グレー値の無い黒色のテキスト
画像とを最適化するように構成されている。圧縮器を用
いて、これら2つのグループの各々に対して典型的であ
ると考えられる一組の画像を処理する。これから、25
6アレイの各要素に対して一組のデフォルトの確率を符
号化する。各エントリについて生成されたハフマンビッ
トパターンは、256アレイに格納される。
【0047】ラスタ画像が処理されると、圧縮器は、画
像を表す一連のアレイインデクス値を生成する。圧縮器
は、これらアレイインデクス値を用いて、256アレイ
に格納されたハフマンビットパターンを調べ、そのハフ
マンビットパターンを圧縮データストリームに添付す
る。復元器はハフマン圧縮データストリームを読出し、
ハフマンデータを256のアレイインデクスに復号化
し、そのアレイインデクスを処理して元の損失のないラ
スタ画像に戻す。
【0048】圧縮器と復元器は各々、ラスタ画像の処理
を開始するために使用されるデフォルトのハフマンビッ
トパターンの2つの全く同じセットを有している。ハフ
マンビットパターンの一方のセットは、主にグレー値を
含むディザリングされたラスタ画像に対して使用され、
他方のセットは、あるページのテキストのラスタ表現等
の、白い背景に対する黒いラインからなるラスタ画像に
対して使用される。圧縮器と復元器は、各々、処理され
るラスタの各ラインに対して、テキスト用ハフマン値の
セットとラスタ用ハフマン値のセットのいずれを使用す
るかを決定するアルゴリズムを有している。ラインが空
白である等、ラインが不確定である場合には、プロトタ
イプ(または、試作品)はラスタ用ハフマン値のセット
を使用するであろう。
【0049】テキストモードで圧縮する場合、予測ラン
は、8ラインではなく1ラインだけ戻って現在のデータ
を前のデータと比較する。テキストモードでは、インタ
ーリーブしているストリングS1〜S4は生成されず、
圧縮データの1つのストリングのみが生成される。
【0050】テキストモードでは、リテラルランに対し
てハフマンデータの2つのセットを維持する。リテラル
ランはニブルから構成されており、大抵のテキストは6
00DPI及び1200DPIにおいて4画素より大き
いライン幅を有しているという考えである。リテラルラ
ンは、また、テキストのエッジが走査線に当たっている
か、またはテキストの下の白い空間にある間、発生する
傾向にある。これらの要因を組合せると、リテラルニブ
ルが黒の画素で終了した場合は、次のリテラルニブルは
黒の画素で開始することが好都合であり、リテラルニブ
ルが白の画素で終了した場合は、次のリテラルなニブル
が白のニブルで開始することが好都合である、という結
論が得られる。リテラルニブルに対して2つのハフマン
値のセットを保持している場合、リテラルニブルのセッ
トのより好適なハフマン圧縮が得られる。これらの2つ
のセットを、1ハフマンテーブル及び0ハフマンテーブ
ルと呼ぶことにする。リテラルニブルが1において終了
する場合、圧縮器と復元器は、1のテーブルを用いて次
の圧縮要素を符号化および復号化する。リテラルニブル
が0で終了する場合、圧縮器と復元器は、0のテーブル
を用いて次の圧縮要素を符号化および復号化する。次の
圧縮要素が予測ランである場合、現在のハフマンテーブ
ルは、符号化および復号化に使用され、そのテーブルは
次の圧縮要素については変更されない。ハフマンテーブ
ル1および0は、予測ランに対して同一の頻度で開始す
ることができるが、リテラルランについての頻度は異な
るため、符号化および復号化に使用されるすべてのハフ
マン値は、それらのテーブルが再平衡化された後は予測
ランとリテラルランとの両方について異なる可能性があ
る。
【0051】ディザリングされたモードでは、それぞれ
256サイズのハフマンデータの64のセットが維持さ
れる。これにより、ディザマトリクスの各行について、
ハフマンテーブルの別個のセットを有することができ
る。すなわち、各サブストリングに1つずつ、各行に関
連する4つのハフマンテーブルがある。図7は、圧縮処
理の高レベル図である。ストリングを圧縮できるように
なるためには、その前に、適切なインデクスのハフマン
テーブルを決定しなければならない。ストリングがディ
ザリングされた画像からのものであると想定して、ディ
ザマトリクスの現在の行とサブストリング数(またはス
トリング番号)とを決定する(701)ことにより、適
切なハフマンテーブルを取り出す(703)ことができ
る。今や、圧縮器は、データおよび正しいテーブルを有
しているため、256アレイに格納された予め決められ
たデフォルトのハフマンビットパターンを用いて、画像
の最初の(または、第1の)セグメントを処理する。こ
の画像セグメントが処理されている間、アレイインデク
スの各々の使用回数が、256アレイに保持される。こ
れは、ある時点で、画像内容に基づくハフマン値の新た
なセットを計算する(705)ために有益となる。圧縮
器は、いつ再計算を行うべきか(706)を判定し、復
元器に対し、各画像ラインの最初に発生する信号ビット
を使用することによって再計算するよう通知(指示)す
る。この方式により、圧縮器から復元器にいかなるハフ
マンモデルデータを送信することなく、ハフマン符号化
に画像内容の影響を与えることができる。新たなハフマ
ンビットパターンは、最近の画像データとデフォルトの
画像データまたは画像の履歴データ(historical image
data)との重み付けされた組合せを用いて再計算され
る(706)。
【0052】圧縮器は、現在の画像データがインデクス
についての現在のハフマン値に適合しているか否かを監
視する(705)。圧縮器は、インデクスについてのハ
フマン値が最適であった場合に最も有効であるが、この
場合、画像を前処理し、復元器にハフマンモデルデータ
を送信する必要がある。これには、追加の処理と追加の
データ送信が必要である。使用されるシステムによる
が、画像を2回処理(1回目は最適なハフマン符号化を
決定し、2回目は実際にデータを圧縮する)せずに、圧
縮器と復元器の両方に格納されているデフォルトデータ
を用いて画像を圧縮し、オンザフライで(すなわち、実
行中に)ハフマン符号化を調整することにより、システ
ム全体をより高速に動作させることが可能である。圧縮
器が、ハフマン値が画像に対してもはや好適ではないと
判定した場合、ハフマン値は圧縮器および復元器におい
て再計算されることとなる。それらの新たなハフマン値
は、部分的には最近の画像データに基づいており、圧縮
器が再計算することが適していると再度判断するまで、
画像の次のセグメントを圧縮するために使用される。こ
れは、部分的にはうまく作用する。なぜなら、圧縮器
が、プリンタ上で動作する復元器より通常多くの計算資
源を有するホストコンピュータ上で動作し、256のア
レイインデクスに対するハフマン値をいつ再計算するか
を決定することについての全タスクを有しているからで
ある。
【0053】データは、圧縮されるため、格納または送
信を容易にするデータ構造内に配置されなければならな
い。1つの可能性のある構造については後述する。デー
タは、画像をページ上に配置する場所の原点から開始す
る。これは、各々が32ビット長のX値とY値とを有し
ている。次の値は、画像のXとYの大きさ(または、X
とYの範囲:図8のそれぞれX-EXT、Y-EXT)を表す。こ
れらの2つの32ビット数は、画像の幅と高さを画素単
位で規定する。
【0054】データは、各走査線に対して圧縮データを
含む。(Yの大きさの)数の走査線がある。各走査線
は、8ビット同期バイトで開始し、その後にアレイイン
デクスに復号化するハフマン圧縮値が続く。アレイイン
デクスを復元器で使用して、画像走査線を作成する。走
査線データは、走査線を完成することによって範囲が決
定される。圧縮データは、ニブルフォーマットであるた
め、ライン毎に3つまでの余分の画素を指定する場合が
ある。この余分の画素は、無視されなければならない。
【0055】ランペル・ジブ法を使用する際には、上述
したような確率テーブルを使用する必要はない。このよ
うな簡略化は、ランペル・ジブ法による圧縮率が上述し
たハフマン法による圧縮率より小さくなるという可能性
に対して、比較考量されなければならない。算術符号化
法を使用する際には、圧縮率を増大させるために別のテ
キストおよびディザコンテキストモデルを使用すること
ができる。
【0056】圧縮方法の選択は、圧縮器と復元器との間
のシステムダイナミクスと送信媒体の帯域幅とによって
決まる。当業者には既知であるが、圧縮方法の中には、
圧縮器と復元器とで異なる計算労力および複雑性を必要
とするものもある。好ましい実施の形態では、圧縮器
は、ホストコンピュータ上で実行される。一般に、かか
るシステムは、大きなメモリ資源と強力な計算能力を有
している。さらに、ホストコンピュータは、一般に、リ
アルタイムのクリティカルモードでは動作していない。
しかしながら、プリンタは一般に、メモリ資源がより少
なく、リアルタイム環境で動作する。このため、計算強
度をホストコンピュータにシフトすることにより、より
単純で高速かつメモリ効率のよい復元器をリアルタイム
環境で動作させることが可能となる。他のシステムでは
異なるトレードオフが必要となる場合があるということ
は、当業者には明らかである。
【0057】画像走査線がデータで満たされると、次の
圧縮要素が次のラインの同期バイトとなる。処理された
走査線の数が、画像の開始時に規定されたYの大きさに
一致すると、画像全体が完了し、それ以上の画像データ
を使用することはできない。
【0058】圧縮データの各ラインの最初は、図8に示
すような同期バイト(SYNC)20で開始する。ディザマ
トリクスは、ページ指向アンカポインt(page oriented
anchor point)を有している。同期バイト20の目的
は、ディザリングされた画像をディザマトリクスに同期
させる方法を指定することである。また、同期バイト
は、復元器に対し、256アレイのハフマンコードを再
平衡化するよう通知する。同期バイトには8ビットある
(図9)。最初の最も左側の高位ビットを用いて、ハフ
マン値に対する最平衡化動作を通知する。次のビット
は、復元器に対して、復元されるラインがラスタである
か、あるいは、テキスト画像であるかを通知する。次の
2つのビットは、画像を同期させるためにいくつのビッ
トが必要であるかを示すが、その値は0、1、2または
3ビットである。このディザリング変位(dithering di
splacement)は、画像が現在のアクティブ位置で開始し
たが、0〜3画素に対するディザテーブルエントリの開
始端には出くわさないことを意味する。次の3つのビッ
トは、画像を同期させるために必要な非圧縮画像データ
であるため、これらビットのうちの0、1、2または3
つすべてが非圧縮ラインの始端に配置され、ラインの残
りは圧縮されたニブルを使用して同期化される。最後の
ビットは、現在のところ使用されていない。
【0059】図10は、好ましい実施の形態の完全なフ
ローチャートを示す。元のモノクロビットマップのライ
ンが読出される(802)。圧縮するラインがそれ以上
無い場合(803)、処理は停止する(804)。圧縮
モデルデータを生成する必要があるか判定し(80
5)、生成する必要があると判定した場合は、データを
生成する(806)。かかる判定は、いくつかの方法で
行うことができる。例えば、圧縮率を監視することがで
き、それが既定の閾値を超えた場合に、データを再生成
する。代替的には、入力、または出力されるデータ量に
基づいて、一定の間隔でデータを再生成することができ
る。次に、データがディザリングされた画像からのもの
であると想定することにより、ソースデータ(元デー
タ)を4つのニブルストリングにグループ化する(80
7)。各ニブルストリングは、予測ランとリテラルラン
を示すインデクスにより符号化される(808および8
09)。符号化では、インデクス値のテーブル(81
0)を使用する。インデクスは、圧縮されている現在の
行に対する現在の圧縮モデルデータ(812)を用いて
圧縮される(811)。その後、圧縮データは、システ
ムの要求に応じて送信されるか、または格納される。
【0060】図11を参照して復元について説明する。
まず、圧縮データのラインが取得される(901)。そ
れ以上データが無い場合、処理は停止する(903)。
同期バイトに基づいて、圧縮モデルデータを再生成する
(904および905)。圧縮データは、まず、現在の
圧縮モデルデータ(907)を用いてインデクスに復元
される(906)。次に、そのインデクスは、インデク
ステーブル(909)を利用してニブルストリングに復
号化される(908)。そして、これらのニブルストリ
ングをインターリーブして、元のビットマップデータを
再現する(911)。
【0061】本発明の創作段階で、予測行のデータを抽
出するために、基準データの位置についていくつかの代
替態様が考えられた。その代替態様のうちのいくつか
は、4行戻って4画素参照すること、現在の行内で8画
素戻って参照すること、8行戻って参照すること、およ
び16行戻って参照することであった。16行戻って参
照することは、16:1より大きい比率で拡大される画
像については良好な選択であった。それは、どの行も、
16ライン前か16ライン先の行と一致することが保証
されたためである。しかしながら、そのように大きく拡
大される画像は、既に十分適切に圧縮されている。8よ
り大きい比率でスケーリングされる画像もまた、I/O
負荷の平衡(I/O load balancing)によりソース画像と
して送信することができる。4ライン戻って4画素を参
照する場合、いくつかのグレーレベルに対しては適切に
は圧縮せず、垂直エッジの圧縮を利用しなかった。経験
的に、ベースライン(基準ライン)に対して8ライン戻
って参照することは、高解像度のラスタ画像について最
適な選択であることが分かった。代替的には、圧縮器お
よび復元器に対するデータの基準行の位置を決定するた
めにスケーリングファクター(または、倍率)を使用す
る。基準行は、16以上の比率で拡大される画像に対し
ては16ライン戻り、他のすべての画像に対しては8ラ
イン戻る。これは、ラスタ画像をディザリングすること
ができないプリンタに対して適した代替態様となる。そ
れらの製品の場合、すべての画像は、倍率に関係なく、
ドライバによってスケーリングされ、ディザリングされ
る。
【0062】本願発明を要約すると、以下のようにな
る。最初にデータの再順序付け(reordering)を行う
(602)ことによってラスタ画像を高圧縮する。次
に、再順序付けされたデータにインデクスを付けて、任
意の全ての予測ラン及びリテラルラン(図5)を符号化
する。ラスタ画像の現在のラインの各部分(piece)を
以前のラインと比較する。比較の結果、一致すれば、そ
の現在の部分は予測ランであり、それに応じてインデク
スを付けられる(603)。一致しなければ、その現在
の部分はリテラルラン(図5)であり、それに応じてイ
ンデクスが付けられる(603)。予測ラン(図5)
は、1つの部分の最小ラン長と、ストリングの数(また
はストリングの番号)によって分割される部分における
画像幅の最大ラン長を有することができる。リテラルラ
ン(図5)についても同様である。ハフマン符号化のよ
うな無損失圧縮(可逆圧縮)を使用して、インデクスス
トリング(図4)を次に圧縮する(604)。ハフマン
符号化を使用する場合は、ハフマンテーブルを事前に定
義して、それが圧縮器と復元(解凍)器の両方に知られ
ているようにする。圧縮器がインデクスストリングを圧
縮する際には、ハフマンテーブルは適応化される(70
5、706)。復元器は、適応化されたテーブルをいつ
使用すべきかを、圧縮器によって通知される。
【0063】本発明の好ましい実施の形態を図示し、説
明したが、本発明の思想または特許請求の範囲から逸脱
することなく、種々の修正をそれらに対して実施するこ
とができるということは、当業者には明らかである。
【0064】以下においては、本発明の種々の構成要件
の組み合わせからなる例示的な実施態様を示す。 1.ラスタ画像を圧縮する方法であって、画像のサブピ
ース(s1,s2,s3,s4)を組み合わせて少なく
とも1つのサブストリング(図2)にするステップ(6
02)と、各サブストリング(図2)の任意の予測ラン
(図5)およびリテラルラン(図5)にインデクス付け
を行って少なくとも1つのインデクスサブストリング
(図4)にするステップ(603)と、各インデクスサ
ブストリング(図4)を可逆圧縮するステップ(60
4,図7)からなる方法。 2.前記組み合わせるステップ(602)が、前記ラス
タ画像の各ラインについて、該ラスタ画像がテキスト画
像を表すか、ハーフトン化画像を表すかを判定するステ
ップ(701)と、前記ラスタ画像がテキストを表す場
合は、サブピース(s1,s2,s3,s4)を順次配
置して1つのサブストリング(図2)にするステップ
と、前記ラスタ画像がハーフトーン化画像を表す場合
は、前記サブピース(図2)をインターリーブして前記
少なくとも1つのサブストリング(図2)にするステッ
プからさらになる、上項1の方法。 3.圧縮テーブルを再生成する必要があるという指示を
待つステップ(705)と、前記圧縮テーブルを再生成
するステップ(706)からさらになる、上項2の方
法。 4.前記指示が、閾値レベルと比較される実際の圧縮率
である(705)、上項3の方法。 5.画像を圧縮する方法であって、画像をディザリング
して、1ビット/画素のラスタデータを生成するステッ
プ(601)と、前記ラスタデータのサブピース(s
1,s2,s3,s4)を組み合わせて複数のサブスト
リング(図2)にするステップ(602)と、すべての
予測ラン(図5)およびリテラルラン(図5)にインデ
クス付けを行う(603)ことにより、前記複数のサブ
ストリング(図2)の各サブストリング(図2)を符号
化して、複数のインデクスサブストリング(図4)のう
ちの1つのインデクスサブストリング(図4)にするス
テップ(603)と、前記複数のインデクスサブストリ
ング(図4)を可逆圧縮して圧縮データ(図8)にする
ステップ(604,図7)からなる、方法。 6.前記圧縮データ(図8)を復元して前記複数のイン
デクスサブストリング(図4)にするステップ(90
6)と、データと共に前記予測ラン(図5)および前記
リテラルラン(図5)により前記複数のインデクスサブ
ストリング(図4)を復号化して前記サブストリング
(図2)にするステップと、前記サブストリングをイン
ターリーブして前記ラスタデータを再生成するステップ
(911)からさらになる、上項5の方法。 7.圧縮データ(図8)を復元してラスタ画像にする方
法であって、前記圧縮データ(図8)を複数のインデク
スサブストリング(図4)に復元するステップ(90
6)と、インデクステーブル(909)を用いて予測ラ
ン(図5)およびリテラルラン(図5)をサブストリン
グ(図2)のデータに変換することにより、前記複数の
インデクスサブストリング(図4)を前記サブストリン
グ(図2)に復号化するステップ(908)と、前記サ
ブストリングをインターリーブして前記ラスタデータを
再生成するステップ(911)からなる、方法。 8.前記複数のインデクスサブストリング(図4)の各
インデクスサブストリング(図4)内の各インデクスに
ついて、前記インデクステーブル(909)内の一致し
ているインデクスを見つけるステップと、前記一致して
いるインデクスが予測ランである場合は、以前復元され
たラスタデータを現在のラスタデータにコピーするステ
ップからさらになる、上項7の方法。
【0065】
【発明の効果】本発明によれば、特に、写真並の高画質
画像やテキスト画像を高い圧縮率で圧縮することができ
る。
【図面の簡単な説明】
【図1】従来からの16×16マトリクスを示す。
【図2】サブストリングに配置されたニブルを示す。
【図3】ディザマトリクスを画像全体にタイル化する
(タイルのように並べる)やり方を示す。
【図4】インデクスをサブストリングに配置するやり方
を示す。
【図5】インデクステーブルを分割するやり方を示す。
【図6】本発明による高レベルフローを示す簡易フロー
チャートである。
【図7】可逆圧縮処理の高レベルフローを示す簡易フロ
ーチャートである。
【図8】同期バイトを含むデータ構造の細部をグラフィ
カルに表現した図である。
【図9】同期バイトをより詳細に示す図である。
【図10】圧縮処理全体を示すフローチャートである。
【図11】復元処理全体を示すフローチャートである。
【符号の説明】
D ディザマトリクス 20 同期バイト 26 データバイト 201〜204 サブストリング 401〜404 インデクスサブストリング

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 ラスタ画像を圧縮する方法であって、 画像のサブピース(s1,s2,s3,s4)を組み合
    わせて少なくとも1つのサブストリング(図2)にする
    ステップ(602)と、 各サブストリング(図2)の任意の予測ラン(図5)お
    よびリテラルラン(図5)にインデクス付けを行って、
    少なくとも1つのインデクスサブストリング(図4)に
    するステップ(603)と、 各インデクスサブストリング(図4)を可逆圧縮するス
    テップ(604,図7)からなる方法。
JP2000282424A 1999-09-17 2000-09-18 ラスタデータの圧縮方法 Expired - Fee Related JP4063487B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/397,420 US6356660B1 (en) 1997-10-15 1999-09-17 Method for compressing raster data
US09/397420 1999-09-17

Publications (3)

Publication Number Publication Date
JP2001144969A true JP2001144969A (ja) 2001-05-25
JP2001144969A5 JP2001144969A5 (ja) 2005-03-17
JP4063487B2 JP4063487B2 (ja) 2008-03-19

Family

ID=23571127

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000282424A Expired - Fee Related JP4063487B2 (ja) 1999-09-17 2000-09-18 ラスタデータの圧縮方法

Country Status (2)

Country Link
US (1) US6356660B1 (ja)
JP (1) JP4063487B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200879A (zh) * 2020-10-30 2021-01-08 浙江大学 一种地图轻量化压缩传输方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0004427D0 (en) * 2000-02-24 2000-04-12 Xeikon Nv Cleaning device
US6804401B2 (en) * 2000-05-12 2004-10-12 Xerox Corporation Method for compressing digital documents with control of image quality subject to multiple compression rate constraints
US7025515B2 (en) * 2003-05-20 2006-04-11 Software 2000 Ltd. Bit mask generation system
US20050094882A1 (en) * 2003-11-03 2005-05-05 Jacobsen Dana D. Rebalancing compression predictors
US20120082395A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Entropy Coder for Image Compression
CN104704825B (zh) * 2012-08-21 2019-08-30 Emc 公司 分段图像数据的无损压缩
JP6476959B2 (ja) * 2015-02-13 2019-03-06 富士通株式会社 ストレージ制御装置、ストレージシステム、および制御プログラム
US11741121B2 (en) 2019-11-22 2023-08-29 Takashi Suzuki Computerized data compression and analysis using potentially non-adjacent pairs
US10387377B2 (en) 2017-05-19 2019-08-20 Takashi Suzuki Computerized methods of data compression and analysis
CN109151538B (zh) * 2018-09-17 2021-02-05 深圳Tcl新技术有限公司 图像显示方法、装置、智能电视及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2785641B2 (ja) * 1993-04-14 1998-08-13 日本電気株式会社 画像符号化装置
US5970177A (en) * 1995-06-07 1999-10-19 America Online, Inc. Data compression using selective encoding

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200879A (zh) * 2020-10-30 2021-01-08 浙江大学 一种地图轻量化压缩传输方法
CN112200879B (zh) * 2020-10-30 2022-06-14 浙江大学 一种地图轻量化压缩传输方法

Also Published As

Publication number Publication date
US6356660B1 (en) 2002-03-12
JP4063487B2 (ja) 2008-03-19

Similar Documents

Publication Publication Date Title
US4682869A (en) Image processing system and method
US7769237B2 (en) Dynamic, locally-adaptive, lossless palettization of color and grayscale images
JP5432450B2 (ja) エントロピー符号化を利用したカラー画像データの可逆圧縮
US6192155B1 (en) Systems and methods for reducing boundary artifacts in hybrid compression
US6285458B1 (en) Image processing apparatus and method
US6008847A (en) Temporal compression and decompression for video
US8553301B2 (en) Image processing apparatus, method, and program product to perform color-reduction processing for a block
EP0680016A2 (en) System and method for compressing images
WO2004068844A1 (ja) 画像圧縮方法、画像復元方法、プログラム及び装置
JP3461309B2 (ja) ハフマン符号化データ圧縮装置
US8780414B2 (en) Image processing apparatus, image processing method, and computer-readable medium for image data compression
US6594385B2 (en) Image compression of background and text tiles
US20110222082A1 (en) Image processing apparatus, control method, and computer-readable medium
JP4063487B2 (ja) ラスタデータの圧縮方法
US6026196A (en) Utilizing a contrived dither matrix to enhance the compressibility of raster images
EP0774858A2 (en) Improvements in or relating to printing processes
US6879725B2 (en) Method, system, and program for decoding a section from compressed data
JP2000125111A (ja) 画像圧縮方法、画像復元方法、画像圧縮装置、画像読取装置、画像圧縮プログラム記憶媒体、および画像復元プログラム記憶媒体
US6690832B1 (en) Method, system, and program for decoding compressed data at multiple points
EP0797348A2 (en) A one dimensional context model for entropy encoding digital halftone images with arithmetic coding
US20110268352A1 (en) Image processing apparatus, image processing method, and computer-readable medium
US20030081244A1 (en) Method and apparatus for processing data in an imaging device
JPH118771A (ja) 画像出力装置および画像出力方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH07274006A (ja) 画像処理装置及びスキャナ装置及びプリンタ装置及びディジタル複写機及びディスプレイ装置
JP4629512B2 (ja) データ圧縮装置およびデータ圧縮プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040408

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040408

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060228

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060529

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071115

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: 20071218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071225

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: 20110111

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110111

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120111

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130111

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees