JP2006120145A - 文字・イメージ混在データの圧縮方法及び装置 - Google Patents
文字・イメージ混在データの圧縮方法及び装置 Download PDFInfo
- Publication number
- JP2006120145A JP2006120145A JP2005299611A JP2005299611A JP2006120145A JP 2006120145 A JP2006120145 A JP 2006120145A JP 2005299611 A JP2005299611 A JP 2005299611A JP 2005299611 A JP2005299611 A JP 2005299611A JP 2006120145 A JP2006120145 A JP 2006120145A
- Authority
- JP
- Japan
- Prior art keywords
- data
- compression
- size
- dot
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】文字データとドットマップイメージデータの混在するデータを、所与のサイズ以下の圧縮ドットマップデータに変換する。
【解決手段】文字データをドットマップデータに変換して可逆的に圧縮した後、ドットマップイメージデータを必要に応じて縮小する。ドットマップデータを所与のサイズに圧縮するために、可逆圧縮、非可逆圧縮、縮小及び圧縮を試みる。オブジェクトデータのページを圧縮ドットマップデータに変換するために、オブジェクトを分類し、優先順位を設定し、しかる後ラスタライズし、それらの優先順位に従って圧縮する。圧縮率は予想され、監視され、予想誤差に従って圧縮パラメータが修正される。
【選択図】図1
【解決手段】文字データをドットマップデータに変換して可逆的に圧縮した後、ドットマップイメージデータを必要に応じて縮小する。ドットマップデータを所与のサイズに圧縮するために、可逆圧縮、非可逆圧縮、縮小及び圧縮を試みる。オブジェクトデータのページを圧縮ドットマップデータに変換するために、オブジェクトを分類し、優先順位を設定し、しかる後ラスタライズし、それらの優先順位に従って圧縮する。圧縮率は予想され、監視され、予想誤差に従って圧縮パラメータが修正される。
【選択図】図1
Description
本発明は、文字及びイメージの双方を含む文書を、圧縮された、ドットマップデータに変換する方法及び装置に関する。そのような変換は、例えばコンピュータから、受信バッファスペースが小さい周辺機器へデータを伝送するのに先立って行なわれる。
最近のページ記述言語やHTML(ハイパーテキストマークアップ言語)は、コンピュータで発生された文書に文字だけでなく、フォント名及び文字の大きさ等の属性を記述する情報を含むことを可能にする。文書はさらにグラフィクス図面コマンド又は組込みドットマップイメージにより発生された図面を含むことが可能である。
そのような文書は、ページ記述言語又はHTMLを解釈し得るプリンタによりきれいに印刷される。そのようなプリンタは、高性能のプロセッサ、大きなメモリスペース、及びフォントデータのための大容量の記憶部を持つ必要がある。低価格のプリンタは、これらのいずれをも有しない。従って、上記解釈を計算機内で行ない、データをそのままで印刷できるような形にして伝送しなければならない。このことは、基本的に、データを印刷すべきページのドットマップ(ページ上の各ドットの値を指定する1又は2以上のビットを含む)として送らなければならないことを意味する。
所謂ページプリンタは1ページ全体のデータを受信してからそのページの印刷を始める。しかし、1ページ全体のドットマップはかなり大きい。例えば、プリンタが300DPIの解像度を有する場合、各ドットが1ビットしか必要としないとしても、A4判1ページ当り約1Mバイトのメモリスペースが必要である。600DPIではこの4倍必要である。低価格のプリンタはそのように多量のデータを記憶することができない。従って、それらにはデータを圧縮して送り、印刷処理中にデータを伸張する必要がある。
圧縮方法は、無損失即ち可逆のものと損失のあるもの即ち非可逆のものとに分けられる。前者は、元のデータとまったく同じデータを復元することができる。後者は、元のデータに近似するデータが復元されるに過ぎないものである。可逆方法には、ランレングス方法、辞書を用いた方法、算術符号化に基づく方法がある。ランレングス方法は、同じドットのランの長さを符号化するものである。辞書を用いた方法は繰返し起こるドットパターンの辞書を作成するものである。非可逆方法は一般的に、数学的変換、例えば広く使われている離散的コサイン変換(DCT)に基づくものである。非可逆方法は、損失の程度及び圧縮率がパラメータ設定により制御されるのを可能にする。
しかし、これらの方法のいずれにおいても、圧縮率はデータの性質に大きく依存し、予見することが難しい。ドットマップ自然イメージよりもドットマップ文字の方が圧縮率が大きい。しかし、文字フォントの種類によって圧縮率が異なる。イメージデータでは圧縮率は広範囲に変化する。斯くして、プリンタにドットデータを送るに際しどの圧縮方法を用いるべきかを決めるのは容易ではない。ページが文字とグラフィクスの双方を含む場合には特に困難である。不適切な方法を選択すると、印刷出力の品質が悪過ぎたり、プリンタのバッファがオーバーフローしたりする。過去においては、これが、高品質の文書を低価格のプリンタで印刷する場合の主たる障害であった。
この問題はページプリンタに限定されず、ドットデータを、限られたバッファスペースのプリンタや他の周辺機器に送る場合につきまとう。
バッファスペースが限られているからではなく、データ伝送を速くするために、ドットデータを圧縮する必要がある場合にも同じ問題が発生する。
従って、本発明の目的は、文字の品質を低下させることなく、文字及びイメージの双方を表わすドットデータを所与のデータサイズ内に圧縮することにある。
本発明の他の目的は、文字の品質を低下させることなく、文字及びイメージの双方を表わすドットデータを高速で伝送することにある。
本発明の他の目的は、ページ記述言語を用いて発生された文書を、低価格のプリンタにより許容できる品質で印刷することを可能にすることにある。
本発明のさらに他の目的は、許容できない品質でページが印刷されるのを防ぐことにある。
本発明は、文字データとドットマップイメージデータの混在するデータを、所与のサイズ以下の圧縮されたドットマップデータに変換する。文字データは、ドットマップイメージデータから分離され、ドットマップ文字データに変換され、可逆圧縮方法により圧縮され、結果として得られる圧縮文字データのサイズが計算される。このサイズは、所与のサイズから減算され、利用可能な残余サイズが求められ、ドットマップイメージデータをこの残余のサイズに圧縮するための縮小率が計算される。もし、この縮小率が1より大きいときは、ドットマップデータは計算された縮小率に従って縮小される。この結果、ドットマップイメージデータの解像度は低くなる。
本発明はまた、任意のドットマップデータを所与のサイズに圧縮する。ドットマップデータは、最初に可逆圧縮方法で圧縮される。もし、結果として得られる圧縮データが所与のサイズよりも大きければ、結果として得られた圧縮データは破棄され、ドットマップデータは、データの解像度を変えない非可逆圧縮方法により圧縮される。もし、結果として得られる圧縮データがなおも所与のサイズより大きければ、結果として得られる圧縮データは再び破棄され、ドットマップデータは縮小されて、解像度が低減される。
本発明はさらにまた、オブジェクトの群を記述するデータを、所与のサイズ以下のドットマップデータに変換する。オブジェクトは型に応じて分類され、型及びサイズに応じて分類される。圧縮パラメータはそれらの優先順位に基づいてオブジェクト与えられ、各オブジェクトに対して圧縮率が予想される。ドットマップデータの形ではないオブジェクトは、ドットマップデータに変換され、各オブジェクトのドットマップデータは与えられた圧縮パラメータに従って圧縮される。圧縮が進むにつれ、結果が監視され、実際の及び予想の圧縮率が大幅に異なるのであれば、圧縮パラメータが調整される。
以上のように、本発明によれば、文字の品質を低下させることなく、文字及びイメージの双方を表わすドットデータを所与のデータサイズ内に圧縮することができる。
また、文字の品質を低下させることなく、文字及びイメージの双方を表わすドットデータを高速で伝送することができる。
さらにまた、ページ記述言語を用いて発生された文書を、低価格のプリンタにより許容できる品質で印刷することが可能となる。
さらにまた、許容できない品質でページが印刷されるのを防ぐことができる。
また、文字の品質を低下させることなく、文字及びイメージの双方を表わすドットデータを高速で伝送することができる。
さらにまた、ページ記述言語を用いて発生された文書を、低価格のプリンタにより許容できる品質で印刷することが可能となる。
さらにまた、許容できない品質でページが印刷されるのを防ぐことができる。
以下、添付の図面を参照して、本発明の実施の形態を説明する。
本発明は、計算機から周辺機器に送るためのデータを作成する。計算機は例えばパソコン、ワークステーション、等の計算機である。周辺機器は、以下の実施の形態ではプリンタであるが、本発明は他の周辺機器にも適用できる。
本発明は、計算機から周辺機器に送るためのデータを作成する。計算機は例えばパソコン、ワークステーション、等の計算機である。周辺機器は、以下の実施の形態ではプリンタであるが、本発明は他の周辺機器にも適用できる。
本発明は、専用のハードウエア又は専用のソフトウエアを備えた計算機により実施できる。専用のハードウエアの一例はインターフェイスカード上に搭載されたASIC (特定用途向け集積回路)である。専用のソフトウエアの一例はデバイスドライバーに組込まれたソフトウエアモジュールの群である。他の専用のハードウエア又はソフトウエアを用いることもできる。
図1は、本発明をソフトウエアで実施できる環境の一例を示す。計算機はキーボード2、中央処理装置(CPU)4及びメモリ6を有する。メモリ6はランダムアクセス半導体メモリ、リードオンリー半導体メモリ、回転ディスクメモリ装置のような、種々の型のメモリ装置の集合である。計算機のうち、本発明に直接関係のある部分は鎖線7で囲んである。
計算機はプリンタ8に結合されている。プリンタ8は内部にCPU10、受信バッファ12及び印字部14を有する。印字部14はページ上にドットを形成することにより印刷を行なうものであれば如何なるものでも良い。そのような装置としては、インクジェット印字ヘッド、ドットマトリクス印字ヘッド、レーザー又はLEDを用いた電子写真装置が周知である。
計算機のメモリ6は、それぞれ文書データ、圧縮文字データ、縮小ドットマップイメージデータ、アプリケーションプログラム及びシステムプログラムを記憶する領域15、16、17、18及び19を有する。CPU4は領域18に記憶されたアプリケーションプログラムを実行して、ユーザがキーボード2により種々の文書ファイルを作成して文書データ記憶領域15に記憶させるのを可能にする。これらの文書ファイルは文字及びドットマップイメージデータ並びに、ヘッダ情報、組込み制御コード、ページ記述言語又はHTMLのシンタックスに合致するコマンド等の「見えない」情報を含む。
文書が印刷されるとき、文書の作成に用いられたアプリケーションプログラム又はシステムプログラム領域19のシステムプログラムの一つが文書及びその見えない情報を処理する。この処理の一部として、CPU4は本発明のアプリケーション又はシステムソフトウエアを実行する。本発明の第1及び第2の実施の形態によれば、このソフトウエアは文字データをドットマップ文字データに変換し、しかる後そのドットマップ文字データを圧縮(圧縮処理)し、ドットマップイメージデータを縮小(解像度縮小変換)する。圧縮された文字データはメモリ領域16に記憶され、縮小されたイメージデータはメモリ領域17に記憶される。
次に、領域16及び17に記憶されたデータはプリンタ8に伝送され、受信バッファ12に記憶される。データを印刷するには、プリンタのCPU10が文字データを伸張し、イメージデータを拡大し、結果として得られるドットマップデータを、1ラスターラインずつ印字部14に送る。
本発明の第3〜第5の実施の形態は、ソフトウエアで実施される場合、同様の環境で動作する。但し、メモリ領域16及び17の代わりに、以下に説明するように、他の領域が異なる目的で用いられる。本発明がハードウエアで実施される場合、圧縮及び縮小処理、又はこれらの処理及び文字データをドットマップデータ形態へ変換する処理はCPU4ではなく、以下に説明する図面に示される別個の回路により実施される。
図2は、第1の実施の形態を示す。プリンタ8及び文書データメモリ15は図1に示すごとくである。文書データはプリンタ8に、データ変換システム20を介して供給される。このデータ変換システム20は、文字・イメージ分離手段21、ラスタライズ手段22、可逆データ圧縮手段24、制御手段26、及び縮小手段28を有する。データ変換システム20は計算機内に、インターフェイスカード、システムプログラム、又はアプリケーションプログラムの一部として設けられている。プリンタ8内の受信バッファはページバッファ30であり、1ページに印刷すべきデータの全体を記憶可能である。ページバッファ30のサイズMpはデータ変換システム20に知られている。
次に第1の実施の形態の動作を、図2、図3及び図4を参照して説明する。
文書データメモリ15内の文書ファイルが印刷されるとき、文書データはプリンタ8に1ページずつ送られる。各ページの伝送は、プリンタ8からページバッファ30が空であり次のページのデータを受信し得る状態であることを示す信号が供給されたときに開始される。
ページを記述する文書データは最初に、直接またはアプリケーションプログラム又はシステムプログラムで処理した後文字・イメージ分離手段21を通される。この実施の形態では、文字・イメージ分離手段21は、文字ヘッダ情報を伴う文字コードの形の文字データと、イメージヘッダ情報を伴うドットマップの形のイメージデータとを受信する。文字ヘッダ情報は、フォント名、文字の大きさ、文字配置情報のような文字属性を指定する。イメージヘッダ情報は、イメージ中の、イメージの高さ及び幅、即ち、ドットラインの数及び各ドットラインの幅、及びページ中のイメージの位置を指定する。
図3を参照し、ステップS1において、ヘッダ情報を読むことにより、文字・イメージ分離手段21は文字データとイメージデータとを分離し、文字データをラスタライズ手段22に送る。ラスタライズ手段22は文字データをラスタライズする。即ち、ラスタライズ手段22は、図示しないメモリ領域からの文字のドットマップを読むことにより、文字の文字コードをドットマップ文字データに変換する。ドットマップ文字データは可逆データ圧縮手段24に送られる。
ステップS2において、例えば、ランレングス符号化方法により、ドットマップ文字データを圧縮する。図4は基本的なランレングス符号化の概念を示す。図4のドットラインは4つの白ドットのランで始まり、次に3つの黒のドットのランが続き、しかる後、5つの黒のドット、1つの白のドット、3つの黒のドットで終る。このドットラインは符号化されて数4,3,...5,1,3となる。この種の圧縮を用いれば、元のドットデータを完全に復元することができる。
多くのランレングス符号化方法が広く知られている。一つの好ましい方法は、G4ファクシミリ伝送に用いられるMMR(モディファイドモディファイドリード)方法である。この方法では、可変長コードを用いてランの長さを符号化する。MMR方法は2次元的であり、各ドットラインと次のドットラインとの差を符号化することにより、垂直のランをも符号化する。
図3のステップS3において、可逆データ圧縮手段24により生成された圧縮された文字データはプリンタ8に伝送され、ページバッファ30に記憶される。さらに、可逆データ圧縮手段24は、このように伝送される圧縮された文字データのサイズMtを制御手段26に知らせる。制御手段26は、このサイズMtを、ページバッファ30の既知のサイズMpから差引き、残余のサイズ即ち残メモリ容量Mrを求め(ステップS4)、この残メモリ容量MrをドットマップイメージデータのサイズMiと比較する(ステップS5)。なお、残メモリ容量Mrを計算する際、CPU26は、Mtを差引くだけでなく、イメージヘッダ情報に対する余地を残すための付加的量を差引く。
ドットマップイメージデータのサイズMiは、文字・イメージ分離手段21から制御手段26に供給されるイメージヘッダ情報から得られる。Wがドットマプイメージの幅、Hがその高さを示し、各ドット値が1ビットで表わされるのであれば、Mi(バイト数)は下記の式で表わされる。
Mi=(H×W)/8
MiがMr以下であれば、縮小手段28は、ドットマップイメージデータを変更せずに、文字・イメージ分離手段21で得られたイメージヘッダ情報とともに、かつイメージヘッダに、縮小率が1であることを示す符号を付加して、プリンタ8に送る。ドットマップイメージデータ及びイメージヘッダ情報はページバッファ30内の残余のスペースに記憶される。
MiがMr以下であれば、縮小手段28は、ドットマップイメージデータを変更せずに、文字・イメージ分離手段21で得られたイメージヘッダ情報とともに、かつイメージヘッダに、縮小率が1であることを示す符号を付加して、プリンタ8に送る。ドットマップイメージデータ及びイメージヘッダ情報はページバッファ30内の残余のスペースに記憶される。
MiがMrよりも大きい場合には、制御手段26は、イメージデータのサイズをMr以下に減らすための縮小率を計算する。縮小率は、下記の不等式を満たす最小の整数Sである。
S≧(Mi/Mr)1/2
ステップS7において、縮小手段28は、データの解像度を垂直方向及び水平方向に1/Sに低下させることにより、ドットマップイメージデータを縮小する。縮小の簡単な方法は、「間引き」である。この場合、縮小手段28はS番目毎のドットラインの、S番目毎のドットのみを読み、他のドット及びドットラインを破棄する。縮小の他の方法はS×Sドットのブロックのドット値の合計を求め、この値をS2で割り、結果として得られる値を(四捨五入等により)最も近い整数に丸めて、1ドットとして出力する。これらの方法のいずれか、或いは他の縮小方法を用い得る。
ステップS7において、縮小手段28は、データの解像度を垂直方向及び水平方向に1/Sに低下させることにより、ドットマップイメージデータを縮小する。縮小の簡単な方法は、「間引き」である。この場合、縮小手段28はS番目毎のドットラインの、S番目毎のドットのみを読み、他のドット及びドットラインを破棄する。縮小の他の方法はS×Sドットのブロックのドット値の合計を求め、この値をS2で割り、結果として得られる値を(四捨五入等により)最も近い整数に丸めて、1ドットとして出力する。これらの方法のいずれか、或いは他の縮小方法を用い得る。
ステップS7の後、縮小手段28は、縮小されたイメージデータを、イメージヘッダ情報とともに、かつSの値を指定した情報を加えて、プリンタ8に送る(ステップS6)。イメージデータの伝送が終ると、ページの終わりを示す信号がプリンタ8に送られる。
するとプリンタ8は、ヘッダ情報を読み、文字およびイメージをページ上のどこに配置するかを決め、圧縮された文字データを伸張してドットマップ文字データと全く同じコピーを復元し、縮小率Sが1より大きい場合には拡大し、元の解像度を復元する。単純な拡大方法は各ドットを、同じドット値を有するS×Sのドットのブロックに拡大する。ブロックが目立ちにくい出力を得るために、拡大の他の方法、例えば線形補間を用いることもできる。データ伸張および拡大処理は1水平ドットラインずつ行なうことができる。
ドットマップイメージデータのランレングス符号化は極めて効率的である。ページバッファ30がある程度の容量を持てば、圧縮された文字データとイメージヘッダを組合せたサイズがバッファのサイズMpを超える可能性を充分小さく(殆どゼロに)することができる。また、ページバッファ30に少しでもスペースがあれば、上記の不等式により、イメージデータを残余のスペースに圧縮するための縮小率が求められる。従って、第1の実施の形態は、ほぼ確実に、バッファーのオーバフローを回避することができる。
可逆圧縮が用いられているので、印刷された文字には品質の劣化がない。イメージデータに関しては、縮小率が1よりも大きい場合には、印刷されたイメージデータの劣化が目に付くかも知れない。しかし、縮小率がそれほど大きくなければ、そのようなイメージの劣化は許容し得るものである。元々ドットマップイメージは、完全に鮮明であることを期待されていないからである。
図5は、第2の実施の形態を示す。図2と同じ符号は同一又は等価な部材を示す。これらには、文字・イメージ分離手段21、ラスタライズ手段22、可逆圧縮手段24、縮小手段28、並びに文書データメモリ15及びプリンタ8が含まれる。
第2の実施の形態のデータ変換システム32は、圧縮された文字データを記憶する文字バッファ34と、ドットマップイメージデータを記憶するイメージバッファ36を有する点で第1の実施の形態と異なる。第2の実施の形態の制御手段38は文字バッファ34、イメージバッファ36及びプリンタ8、並びに可逆データ圧縮手段24及び縮小手段28と結合されている。
第2の実施の形態のデータ変換システムが結合されているプリンタ8は、第1の実施の形態のプリンタとは異なり、ページバッファの代りにバンドバッファ40を有する。バンドバッファ40は1ページ未満の記憶容量しか持たない。プリンタ8としては、ページプリンタ又は他の種類のプリンタを用い得る。バンドバッファ40のサイズMbは制御手段38には知られている。
次に、第2の実施の形態の動作を説明する。文字・イメージ分離手段21、ラスタライズ手段22、可逆データ圧縮手段24及び縮小手段28は第1の実施の形態と同様に動作する。従って、以下主として制御手段38について説明する。
第2の実施の形態はプリンタ8にデータを、各々Nドットラインから成る帯状部分毎に送る。ここでNは固定された正の整数である。固定した数のドットラインを同時に印刷するプリンタにおいては、Nはそのドットラインの数である。例えばインクジェットプリンタにおいては、Nはインクジェット印字ヘッドのノズルの数である。ドットマトリクスインパクトプリンタにおいては、Nは例えばインパクト印字ヘッドのドット印字ワイヤの数である。
バンドバッファ40から印字部に可変数のドットラインを伝送することができるページプリンタの場合、Nを、バンドバッファ40のサイズMbを圧縮されていない1ドットライン中のデータの量で割ったものと等しくするのが便利である。Mbがバイト数で表わされ、Dが1ライン当りのドット数であり、各ドットが1ビットで表わされるのであれば、Nは次式で与えられる。
N=(Mb×8)/D
図6のフローチャートを参照し、ステップS10において、制御手段38は、プリンタ8から、バンドバッファ40が空であることを示す信号が供給されるのを待つ。制御手段38が待っている間、文字・イメージ分離手段21は、少なくともNドットライン分の所定量のデータを、文字及びイメージデータに分離し、ドットマップイメージデータ及びイメージヘッダ情報をイメージバッファ36内に格納する。ラスタライズ手段22は文字データをラスタライズしてドットマップ文字データを生成する。可逆データ圧縮手段24はそのドットマップ文字データを圧縮して文字バッファ34内に格納する。可逆データ圧縮手段24は制御手段38に各ドットラインの圧縮後のデータサイズを知らせる。
図6のフローチャートを参照し、ステップS10において、制御手段38は、プリンタ8から、バンドバッファ40が空であることを示す信号が供給されるのを待つ。制御手段38が待っている間、文字・イメージ分離手段21は、少なくともNドットライン分の所定量のデータを、文字及びイメージデータに分離し、ドットマップイメージデータ及びイメージヘッダ情報をイメージバッファ36内に格納する。ラスタライズ手段22は文字データをラスタライズしてドットマップ文字データを生成する。可逆データ圧縮手段24はそのドットマップ文字データを圧縮して文字バッファ34内に格納する。可逆データ圧縮手段24は制御手段38に各ドットラインの圧縮後のデータサイズを知らせる。
プリンタからバッファが空であることを示す信号が供給されると、制御手段38はステップS11において、残余のバッファスペースを示す変数(残メモリ容量)MrをMbに等しくする初期化を行なう。
ステップS12において、可逆データ圧縮手段24から供給されたサイズ情報から、制御手段38は次のNラインの圧縮された文字データ及び必要な文字ヘッダ及びイメージヘッダ情報のサイズMtを計算する。ステップS13において、このサイズMtは残メモリ容量Mrと比較される。MtがMr以下のときは、制御手段38はステップS14〜S18に進む。
ステップS14において、制御手段38は次のNラインの圧縮文字データ及びそれらの文字ヘッダ情報(もし存在するなら)を文字バッファ34からプリンタ8内のバンドバッファ40に伝送させる。ステップS15において、制御手段38は伝送された文字データ及びヘッダのサイズMt(未だ伝送されていないイメージヘッダのサイズを含む)を、残メモリ容量Mrから差引く。そして、結果として得られる差を新たなMrの値とする。
ステップS16において、制御手段38は、イメージバッファ36内のヘッダ情報により示される、次のNラインのドットマップイメージデータを計算し、このサイズMiをMrの新たな値と比較し、第1の実施の形態で与えられた式により縮小率Sを計算する。縮小手段28は、計算された縮小率Sで、これらのNラインのドットマップイメージデータを縮小する。Sが1であるときは、縮小処理は単にS=1を示す符号をイメージヘッダ情報中に挿入するに過ぎない。
ステップS17において、これらのNラインの縮小されたイメージデータ及びそれらのヘッダ情報はプリンタ8に伝送される。ステップS18において、制御手段38は残メモリ容量Mrから、ステップ17において伝送されたドットマップイメージデータのサイズMiを差引き、結果として得られた差を新たなMrとする。
ステップS19において、印刷すべき文書内のデータがすべてプリンタ8に送られたのであれば印刷処理は終了する。もしそうでなければ、制御手段38はステップS12に戻り、ステップS18で得られたMrの新たな値を用いて、同じ処理を繰返す。制御手段38は、ステップS19でデータの終了が検出されるか、またはステップS13で答えが“NO”となるまで、ステップS12からS19までの処理を繰返し実行する。文字バッファ34及びイメージバッファ36内部のデータが少なくなると、ラスタライズ手段22及び可逆データ圧縮手段24はより多くのデータをラスタライズ及び圧縮し、文字・イメージ分離手段21はイメージバッファ36内により多くのドットマップイメージデータを書込む。
ステップS13で、答えが“NO”である(即ち、バンドバッファ40に、次のNラインの圧縮データを格納するのに十分なスペースがない)ときは、ステップS20において制御手段38は、1バンドのデータの、バンドバッファ40への伝送が終ったことを、プリンタ8に伝える。プリンタ8は、バンドバッファ40内のデータの伸張、拡大、及び印刷を開始し、次のデータを受信する用意ができたら、そのことを制御手段38に知らせる。
第2の実施の形態は、第1の実施の形態と同じ印刷結果が得られる。但し、同じイメージの異なる部分に異なる縮小率が用いられる可能性がある。その結果イメージが帯状に見えることは、それ自体望ましくはないが、バッファオーバフローによるエラー状態においてプリンタホールトが生じるのを避けることができると言う効果がある。
第2の実施の形態の利点は、受信バッファスペースの小さいページプリンタ又は他のプリンタにより、文字品質を落とすことなくドットマップページを印刷できることである。
第3の実施の形態として、図7はデータ圧縮装置42を示す。この装置は、任意のドットマップデータを所与のサイズに圧縮するものである。
ドットマップデータはドットマップデータバッファ44に記憶され、制御手段54により制御される可逆圧縮手段48、非可逆データ圧縮手段50及び縮小手段52に供給可能である。可逆データ圧縮手段48、非可逆データ圧縮手段50又は縮小手段52により圧縮又は縮小されたデータは出力バッファ56に格納され、同じく制御手段54により制御されて、該出力バッファ56から、プリンタ8内の受信バッファ12に伝送される。出力バッファ56に格納された縮小データは、可逆データ圧縮手段48や非可逆データ圧縮手段50により読むことも可能である。
次に、図8及び図9を参照して、第3の実施の形態の自動及び半自動モードの動作を説明する。両モードとも、受信バッファ12内の利用可能なスペースのサイズを、例えばプリンタ8からの信号により、制御手段54が知っていることを前提としている。半自動モードの動作においては、制御手段54はユーザからキーボード2によりコマンドが与えられる。
図8は、自動モードを示す。ステップS22において、可逆データ圧縮手段48は、ドットマップデータを、例えばMMR方法により圧縮し、結果として得られるデータを出力バッファ56に格納し、圧縮データのサイズを制御手段54に知らせる。ステップS23において、制御手段54は、このサイズを、受信バッファ12内の利用可能なスペースの量(これは既知)と比較する。もし、可逆圧縮されたデータのサイズが受信バッファスペースの量よりも多ければ、圧縮されたデータは出力バッファ56から消去され、制御手段54はステップS24に進む。
ステップS24において、同じドットマップデータが再びドットマップデータバッファ44から読み出され非可逆データ圧縮手段50により圧縮される。非可逆データ圧縮手段50は視覚的に無損失と見做せる圧縮方法(伸張されたデータは元のデータと同一ではないが、差異が容易には知覚されない)を用いたものであるのが望ましい。JPEGにより設定された標準に記載されているDCTはそのような圧縮方法の周知の一例である。他の公知の方法においては、圧縮率を向上させるために元のデータに若干の修正を施した後、算術符号化が行なわれる。非可逆データ圧縮手段50は結果として得られた圧縮されたデータを出力バッファ56に格納し、圧縮データのサイズを制御手段54に知らせる。
ステップS25において、制御手段54は、非可逆データ圧縮手段50により圧縮されたデータのサイズを受信バッファのスペースと比較する。データサイズが、利用可能な受信バッファスペースよりも尚も大きければ、制御手段54は出力バッファ56内の圧縮データを再び消去する。
ステップS26において、ドットマップデータが再びドットマップデータバッファ44から読み出され、制御手段54により指定された縮小率を用いて縮小手段52により再度縮小される。縮小されたデータは出力バッファ56内に格納され、制御手段54により指定される2つのデータ圧縮手段48及び50の一方により圧縮される。ステップS27において、制御手段54は、結果として得られた圧縮データのサイズを、受信バッファスペースのサイズと比較する。
圧縮データサイズが受信バッファスペースよりも尚も大きければ、制御手段54は、出力バッファ56内の圧縮データを消去し、ステップS26に戻り、より高い縮小率を用い及び/又はより強力な圧縮を用いて、縮小及び圧縮処理を繰返させる。より強力な圧縮は、例えば可逆データ圧縮手段48の代りに非可逆データ圧縮手段50を用いることにより、あるいは非可逆データ圧縮手段50により非可逆圧縮を指定することにより行なわれる。例えば、DCTの場合、周波数の高い成分をより多く破棄することにより、或いは情報をより粗く量子化することで、圧縮率を高くすることができる。ステップS26及びS27は、圧縮データが受信バッファ12内の利用可能なスペースに収まるようになるまで繰返される。
ステップS23、S25、又はS27において、圧縮データサイズがバッファスペースのサイズ以下になったことが判定されると、圧縮データは出力バッファ56からプリンタ8内の受信バッファ12に伝送され(S28)、圧縮処理が終る。
図9は第3の実施の形態の半自動モードの動作を示す。
ステップS30及びS31は図8のステップS22及びS23と同じである。即ち、可逆圧縮が行なわれ、圧縮データが所与のバッファスペースに収まる場合には、データはプリンタ8に送られる。
可逆圧縮が不十分であれば、ステップS32において、制御手段54がそのことをユーザに知らせ、命令を求める。これに応じてユーザはキーボード2によりステップS33、S34及びS35の一つを選択する。ステップS33は図8のステップS24と等価な非可逆圧縮ステップである。ステップS34は図8のステップS26と等価な縮小及び圧縮ステップである。ステップS35は、現ページを飛ばす(スキップする)ことを内容とする。
ステップS33又はS34が要求され、指定された圧縮が実行されると、結果として得られた圧縮データのサイズが受信バッファサイズと比較される(ステップS36)。圧縮データが所与のバッファスペースに収まる場合には、データはプリンタ8に送られる。そうでなければ、制御手段54はステップS32に戻り、再びユーザに問い合わせる。ユーザが再度同じ形の圧縮を選んだら、より強力な圧縮パラメータを用いて圧縮処理が行なわれる。
ステップS35が要求された場合、制御手段54は、プリンタ8に、現ページをキャンセルし、その受信バッファ12をクリアすることを命じる信号を送る。その結果このページは印刷されない。ステップS38において、次のページのデータがドットマップデータバッファ44から読まれ、ステップS30に戻る。
半自動モードの動作は、非可逆圧縮処理或いは縮小によりドットマップデータの歪が許容し得ない程度となるページの印刷を回避し得ると言う利点がある。
第1及び第2の実施の形態と同様、第3の実施の形態も、適切な縮小率を用いることにより、ドットマップデータを任意のサイズに圧縮できる。従って、第3の実施の形態のデータ圧縮装置42を第1及び第2の実施の形態の縮小手段28に置き換えることができる。このように置き換えをすれば、縮小を行なうことなく、可逆又は非可逆データ圧縮によりイメージデータを十分に圧縮できる場合に、イメージ品質の不必要な低下を回避することができる。縮小が必要な場合にも、縮小されたデータに圧縮処理を行なうことで、縮小率をより小さくすることができ、これにより、イメージの品質を向上させることができる。
第3の実施の形態は、1ページ全体のドットマップデータを、即ちイメージデータのみならず、文字データをも圧縮するために独立して用いることもできる。
第3の実施の形態の変形例として、可逆圧縮のみでは不十分のときに、ドットマップデータバッファ44からデータを再度読む代りに、可逆的に圧縮したデータを伸張して元のデータを復元することとしても良い。この場合、伸張が終ると、可逆的に圧縮されたデータは、破棄される。
他の変形例として、圧縮が終るのを待って圧縮データのサイズをバッファサイズと比較する代りに、圧縮データのサイズを1ラインの圧縮が終る毎に比較し、圧縮データの量が受信バッファサイズを超えたら直ちに圧縮処理を中断することとしても良い。そうすれば、次の圧縮処理への移行を速めることができる。
図10は第4の実施の形態を示す。接続されたプリンタ8はページバッファ30を備えるページプリンタである。文書データメモリ15に記憶された文書データは、文字及びドットマップイメージとに限定されず、種々の形態のオブジェクトを含む。例えば、グラフィクス図面コマンドで記述された線グラフィクスオブジェクトである。
第4の実施の形態のデータ変換システム58は第1及び第2の実施の形態と同様、ラスタライズ手段22を有し、また第3の実施の形態と同様、ドットマップデータバッファ44を有し、さらに、オブジェクト分類手段60、優先順位設定手段62、及び圧縮手段64を有する。圧縮ユニット64は、圧縮パラメータ計算手段66、バッファスペース計算手段68、及びデータ圧縮手段70を有する。データ圧縮手段70は、異なる圧縮率の異なる圧縮方法を実施することができるものである。上記異なる圧縮率の異なる圧縮方法には、少なくとも一つの可逆的圧縮方法と、パラメータで制御可能な圧縮率を有する非可逆的圧縮方法とを含むのが望ましい。これらの手段は、図示のように接続されている。データ圧縮手段70により生成された圧縮データは、出力バッファ72に格納され、プリンタ8に送られる。
図11は、幾つかのオブジェクトを有するページの一例を示す。このオブジェクトには、表題オブジェクト74、2つの文字のブロック76及び78、ページ番号オブジェクト80、さらに他の文字のブロック82、及びドットマップイメージオブジェクト84が含まれる。文書メモリ15には、各オブジェクトはその位置を示すヘッダと、フォント名、文字の大きさ、イメージ高さ及び幅などの属性を有する。
次に、図12及び図13のフローチャートを参照して、第4の実施の形態の動作を説明する。
図12を参照し、ステップS41において、オブジェクト分類手段60は1ページ上のすべてのオブジェクトのヘッダを読み、オブジェクトをその型によって分類する。分類結果は、ラスタライズ手段22及び優先順位設定手段62に送られる。
ステップS42において、ラスタライズ手段22はこれらのオブジェクトのうち、まだドットマップデータの形になっていないものをラスタライズする。文字データは第1の実施の形態において説明したようにラスタライズされる。ライングラフィクスは、グラフィクス図面コマンドを実行することによりラスタライズする。必要ならば、ラスタライズ手段22は、1ドット当たりのビットの数が、プリンタの能力に合うようにドットマップイメージデータを変換する。例えば、プリンタ8が白及び黒のドットしか印刷できず(1ドットあたり1ビット)、一方ドットマップイメージデータが1ビット当たり2ビット以上で、グレイスケールを有する場合、ラスタライズ手段22はそのドットデータを、周知のディザ、誤差拡散処理等により、白黒データに変換する。ラスタライズされたオブジェクトは、各オブジェクトの高さ及び幅、並びにそのページ上での位置を示すヘッダ情報とともに、ドットマップデータバッファ44に格納される。
ステップS43において、優先順位設定手段62は、各オブジェクトに、オブジェクト分類手段6により判定された型、並びにドットマップデータのヘッダ情報により示されるサイズに応じて優先順位を与える。優先順位設定の規則は、印刷されている文書の種類によって異なるものとしても良い。例えば、主として文字文書である文書の場合、文字オブジェクトが最も高い優先順位を与えられ、図11におけるオブジェクト84のようなドットマップイメージオブジェクトは最も低い優先順位を与えられる。同じ型のオブジェクト間では、より大きなオブジェクトがより高い優先順位を与えられ、より小さなオブジェクトがより低い優先順位を与えられることとしても良い。基本的に走査された写真の集合である文書の場合、ドットマップイメージデータに最も高い優先順位を与えることとしても良い。型及び大きさが同じオブジェクト間の優先順位は任意に定め、各オブジェクトがそれぞれ異なる優先順位を持つようにする。優先順位情報及びオブジェクトサイズ情報は圧縮手段64に供給される。
ステップS44において、圧縮パラメータ計算手段66は、各オブジェクトの圧縮パタラメータを、圧縮を全くしないことを示す値に初期化する。ステップS45において、圧縮パラメータ計算手段66はすべての圧縮されていないオブジェクトのドットマップデータ及びヘッダ情報のサイズの合計を計算する。ステップS45において、圧縮パラメータ計算手段66は、このサイズの合計を、既知のプリンタページバッファ30のサイズと比較する。圧縮されていないオブジェクトのサイズの合計がバッファサイズを超えないときは、ステップS47において、圧縮されていないオブジェクトが、出力バッファ72に直接格納される。必要に応じてプリンタコマンドが、オブジェクトデータに付加され(ステップS48)、圧縮されていないオブジェクトデータがプリンタページバッファ30に伝送される(ステップS49)。
圧縮されていないオブジェクトのサイズがプリンタバッファサイズを上回る場合、処理はステップS46から、図13のステップS50に分岐する。ステップS50において、圧縮パラメータ計算手段66は、圧縮パラメータを改め、各オブジェクトを圧縮後のサイズを予想する。各オブジェクトの圧縮パラメータは、オブジェクトの優先順位に基づいて決定される。
ステップにおける手順の一例として、最初に可逆的圧縮が、低い優先順位のオブジェクトから順に、各オブジェクトに対し指定される。オブジェクトの予想サイズの合計がプリンタバッファサイズ以下となったら、そこで終了する。全てのオブジェクトの可逆的圧縮後のサイズの合計の予想結果がバッファサイズよりも大きい場合には、圧縮パラメータを可逆的圧縮から非可逆的圧縮に変更し、再び低い優先順位のオブジェクトから順に処理をする。低い優先順位のオブジェクトに、高い優先順位のオブジェクトよりもより大きい圧縮率を適用するように非可逆的圧縮パラメータを設定するのが望ましい。圧縮パラメータの調整は、圧縮オブジェクトのサイズの予想サイズがプリンタバッファサイズ以下となるまで続けられる。
次のステップS51〜S55は1ページ上の各ドットラインに対し、ページの上部から順に繰返されるループを形成している。
ステップS51において、圧縮パラメータ計算手段66は、1ページ上の1ドットラインの圧縮されたサイズを、そのライン上のオブジェクトの予想圧縮率に基づいて、予想し、その予想サイズをバッファスペース計算手段68に知らせる。
ステップS53において、データ圧縮手段70は、指定された圧縮パラメータを用いてそのドットラインを圧縮する。データ圧縮手段70は、結果として得られる圧縮データを出力バッファ72に格納し、圧縮されたラインのサイズをバッファスペース計算手段68に知らせる。
再び図11を参照し、圧縮パラメータ計算手段66がオブジェクト76に対して可逆圧縮を指定し、オブジェクト84に対し非可逆圧縮を指定すると、例えばドットライン85は2つの部分に分けて圧縮される。即ち、オブジェクト76に関する可逆的に圧縮されたドッタデータを含む部分と、オブジェクト84に関する非可逆的圧縮されたデータを含む部分である。符号化方法、オブジェクト76及び84の幅、並びにこれらのオブジェクトの位置を示す情報も必要に応じて符号化される。非可逆的符号化方法がN×Nブロック(Nは1より大きい整数)のドットデータに基づくものであるときは、Nドットライン毎に一度非可逆圧縮されたデータが現われる。
バッファスペース計算手段68は、圧縮パラメータ計算手段66から報告される、圧縮ドットラインの予想サイズの累積合計と、データ圧縮手段70から報告される、実際のサイズの累積合計とを保持する。可逆ラインが出力バッファ72に格納された後、ステップS53において、バッファスペース計算手段68はそれまでに出力バッファ72に格納された圧縮データの合計量が、プリンタページバッファ30のサイズを超えたかどうかのチェックをする。もし超えていなければ、処理はステップS54に進む。
もし、出力バッファに格納されたばかりのラインがページの最後のラインであれば、処理はステップS54から図12のステップS48に戻り、プリンタコマンドを付加し、出力バッファ72からの圧縮データをプリンタ8に伝送する。
もし圧縮され格納されたばかりのラインがページの最後のラインでなければ、ステップS55において、バッファスペース計算手段に保持されている、実際の及び予想累積データサイズ合計が比較され、累積予想誤差が求められ、予想誤差が所定の正及び負の限界値と比較される。予想誤差が負の限界値を超えるとき、即ち実際の合計データサイズが予想合計データサイズよりもある量以上大きいときは、処理はステップS50に戻り、そのページの残りのラインの圧縮率を大きくするように圧縮パラメータが再調整される。予想誤差が正の限界値を超えるとき、即ち予想合計データサイズが実際の合計データサイズよりもある量以上大きいときも、処理はステップS50に戻り、そのページの残りのラインの圧縮率を小さくしてイメージ品質を上げるように圧縮パラメータが再調整される。予想誤差が負及び正の限界値の範囲内であるときは、処理はステップS51に戻り、圧縮パラメータの再調整を行なうことなく、次のドットラインの処理を行なう。
ステップS53においてそれまでに出力バッファ72に格納されたデータの累積合計サイズが、利用可能なページバッファスペースを超えたと判定されたときは、ステップS56において、そのデータの少なくとも一部が出力バッファ72から消去され、処理はステップS50に進む。ここで、圧縮率を大きくするように圧縮パラメータが改められ、消去されたラインのうちの最初のもから、ステップS51〜S55の圧縮ループが繰返される。消去されるラインの数は、ページ内の残りのラインの数に依存する。必要ならば、出力バッファ72のそれまでに処理されたラインがすべて消去され、圧縮がページの上部から再開される。
第4の実施の形態は、種々の型のオブジェクトを、過度に圧縮することなく、しかも充分小さなサイズに圧縮することができる利点があり、さらに最も重要なオブジェクトに対し、品質の低下が最小になるように圧縮を行ない得る利点がある。圧縮データのサイズを予想し、実際の圧縮後のサイズを監視し、必要に応じて圧縮パラメータを調整することにより、第4の実施の形態は、通常、同じデータを繰返し圧縮することなく、最初の試みで圧縮に成功する。これも更なる利点である。
第4の実施の形態の変形例として、実際の圧縮データサイズが予想サイズよりも上記ある量以上大きくなったときにのみ、バッファスペース計算手段68が圧縮パラメータ計算手段66に通知をすることとし、予想サイズが実際のサイズを上回ったときは通知をしないこととし、これにより圧縮パラメータの変更を少なくしても良い。
図14は第5の実施の形態を示す。図14において、図10と同じ符号は等価な部材を示す。これらには、文書データメモリ15、プリンタ8及びそのページバッファ30、オブジェクト分類手段60、優先順位設定手段62、バッファスペース計算手段68、データ圧縮手段70、及び出力バッファ72が含まれる。
第4の実施の形態のドットマップデータバッファの代りに、第5の実施の形態のデータ変換システム86は、オブジェクトデータバッファ88を有する。このオブジェクトデータバッファ88は、オブジェクト分類手段60に制御されて、文書データメモリ15から供給される元のオブジェクトデータを格納する。縮小及び圧縮パラメータ計算手段90は第4の実施の形態の圧縮パラメータ計算手段と類似であるが、圧縮パラメータのみならず縮小パラメータをも計算する。ラスタライズ手段92は、第4の実施の形態で説明されたラスタライズ機能と、縮小機能とを有する。
次に、図15及び図16のフローチャートを参照して第5の実施の形態の動作を説明する。第5の実施の形態は、1ページずつ処理をする。しかし、第4の実施の形態とは異なり、1ドットラインずつではなく、1オブジェクトずつ圧縮する。
図15のステップS60及びS61は図12R>2のステップS41及びS43と同じである。即ち、オブジェクト分類手段60はページ上の各オブジェクトについてのヘッダ情報を読み、優先順位設定手段62は各オブジェクトにそれぞれ異なる優先順位を与える。
ステップS62において、縮小及び圧縮パラメータ計算手段90は、圧縮及び縮小パラメータを、縮小及び圧縮をしない値に初期化する。ステップS63において、縮小及び圧縮パラメータ計算手段90は、各オブジェクトのラスタライズ後のサイズを計算する。データ圧縮が行なわれないので、この計算は正確に行ない得る。ステップS64において、オブジェクトの計算されたサイズの合計がプリンタページバッファ30のサイズと比較される。合計サイズがバッファサイズ以下のときは、オブジェクトは縮小されることなく。ラスタライズ手段92でラスタライズされ(ステップS65)、プリンタコマンドが付加され(ステップS66)、オブジェクトデータはプリンタに出力される(ステップS67)。
ステップS63で計算された合計サイズがプリンタバッファサイズを上回るときは、処理はステップS64から図16のステップS68に分岐する。ステップS68は、図13のステップS50と類似である。但し、圧縮パラメータを改めるばかりでなく、必要に応じて縮小及び圧縮パラメータ計算手段90は、1よりも大きい縮小率を指定することができる。縮小率を指定するに当り、縮小及び圧縮パラメータ計算手段90は、優先順位の規則を守り、優先順位のより高いオブジェクトの縮小率が優先順位のより低いオブジェクトの縮小率よりも大きくならないようにする。縮小及び圧縮パラメータ計算手段90はまた、ラスタライズ、縮小及び圧縮の後の各オブジェクトのサイズを予想する。
ステップS69〜S73は、最も優先順位の高いオブジェクトから最も優先順位の低いオブジェクトへの順で、1つのオブジェクトごとに行なわれるループを形成する。
ステップS69において、ラスタライズ手段92は1つのオブジェクトをラスタライズし、縮小する。この際、縮小及び圧縮パラメータ計算手段90により指定される縮小率を用いる。縮小率が1であるときは、縮小は行なわれない。結果として得られるドットマップデータはデータ圧縮手段70に出力される。
ステップS70において、データ圧縮手段70は、指定された圧縮パラメータによりオブジェクトのドットマップデータを圧縮し、オブジェクトの圧縮後のサイズをバッファスペース計算手段68に知らせる。圧縮されたオブジェクトデータは、オブジェクトヘッダ情報とともに、出力バッファ72に格納される。圧縮方法及び縮小率を示す符号がヘッダ情報に付加される。
ステップS71において、バッファスペース計算手段68は、それまでに出力バッファ72に格納された圧縮オブジェクトデータの累積合計サイズを、プリンタページバッファ30のサイズと比較する。圧縮データサイズがバッファサイズ以下であれば、ステップS72において圧縮されたばかりのオブジェクトがそのページの最後のオブジェクトであるかどうかの判定が行なわれる。もしそうであれば、処理は図15のステップS66に戻り、プリンタコマンドを付加し、データをプリンタ8に送る。
現オブジェクトが最後のオブジェクトでなければ、ステップS73において、バッファスペース計算手段68は、それまでに出力バッファ72に格納された圧縮オブジェクトデータの実際の及び予想の累積合計サイズを比較し、予想誤差を求め、予想誤差を正及び負の限界値と比較する。この点は第4の実施の形態と同様である。予想誤差が限界値の範囲内であれば、処理は、ステップS69に戻り、次のオブジェクトのラスタライズ及び圧縮が行なわれる。そうでなければ、処理はステップS68に戻り、残りのオブジェクトについて用いられる圧縮パラメータ及び/又は縮小率を変更する。
出力バッファ72に格納されているデータの累積サイズがプリンタバッファサイズを上回ると、処理はステップS71からステップS74に分岐し、ラスタライズされ圧縮されたばかりのオブジェクトが出力バッファ72から消去される。必要ならばそれ以前の1又は2以上のオブジェクトをも消去することとしても良い。次に、処理はステップS68に戻り、消去されたオブジェクト及び残りのオブジェクトの圧縮及び/又は縮小パラメータが改められ、その後これらのオブジェクトは再度ラスタライズ及び圧縮される。
第5の実施の形態は、第4の実施の形態と同じ利点を有するが、さらに、以下の2つの利点を有する。一つは、各オブジェクトが均一のパラメータのセット(組)を用いてラスタライズ及び圧縮されることであり、もう一つは、ドットマップイメージデータのサイズを小さくするために縮小を用い得ることである。ドットマップイメージデータのサイズの大幅な減少が必要なときには、縮小は、結果を正確に予想できる利点、及び圧縮率の高い非可逆圧縮方法を用いた場合に生じることのある歪を避け得る利点を有する。
第5の実施の形態の変形例として、圧縮データのサイズを各オブジェクトの圧縮の中間段階で(例えば、Nドットライン(Nは正の整数)毎に)バッファのオーバフローが生じないかどうかについて調べることとしても良い。
第4及び第5の実施の形態は各オブジェクトについて圧縮パラメータを設定するものとして説明したが、各オブジェクト内の各ドットラインを調べ、そのドットラインの特性に適した圧縮方法を選択することとしても良い。
上記の各実施の形態における縮小は、2次元的に行なわれるものとして説明した。しかし、1次元的縮小を用いることもできる。例えば、イメージ内のドットラインを1ラインおきに消去することにより、ドットマップイメージデータの量を半分に減らすこととしても良い。
当業者にはさらに他の変形が可能であることが理解できよう。
以下に本発明の特徴を要約する。
(1) 文字データ及びドットマップイメージデータの混在するデータを、所与のサイズ以下のドットマップデータに変換する方法において、文字データとドットマップイメージデータとを分離するステップと、文字データをラスタライズしてドットマップ文字データを生成するステップと、上記ドットマップ文字データを可逆的に圧縮して圧縮文字データを生成するステップと、上記所与のサイズから上記圧縮文字データのサイズを減算して残余のサイズを求めるステップと、上記ドットマップイメージデータのサイズを上記残余のサイズと比較して縮小率を定めるステップと、上記縮小率に従って上記ドットマップイメージデータを縮小し、縮小イメージデータを生成するステップとを有するデータ圧縮方法。
(2) 上記ドットマップイメージデータのサイズが上記残余のサイズ以下であるときは、上記縮小率を1とし、上記ドットマップイメージデータのサイズが上記残余のサイズを上回るときは、上記縮小率を1よりも大きい整数とすることを特徴とする上記(1)に記載の方法。
(3) 上記方法を、文字データ及びドットマップイメージデータの相連続する帯状領域に対して行ない、さらに、上記残余のサイズから、上記縮小イメージデータのサイズを差引くことにより、上記所与のサイズを更新するステップを有することを特徴とする上記(1)に記載の方法。
(4) 上記ドットマップイメージデータを可逆的圧縮方法により圧縮して第1の圧縮イメージデータを生成するステップと、上記第1の圧縮イメージデータが上記残余のサイズを上回るときは、上記ドットマップイメージデータを非可逆的圧縮方法により圧縮して第2の圧縮イメージデータを生成するステップとをさらに有し、上記第2の圧縮イメージデータのサイズが上記残余のサイズを上回るときに限って、上記縮小率を求めるステップ及び上記ドットマップイメージデータを縮小するステップを実施することを特徴とする上記(1)に記載の方法。
(5) 文字データとドットマップイメージデータの混在するデータを所与のサイズ以下のドットマップデータに変換する装置において、上記文字データと上記ドットマップイメージデータとを分離する文字・イメージ分離手段(21)と、上記文字・イメージ分離手段(21)に結合され、上記文字データをラスタライズしてドットマップ文字データを生成するラスタライズ手段(22)と、上記ラスタライズ手段(22)に結合され、上記ドットマップ文字データを圧縮して、圧縮文字データを生成する可逆データ圧縮手段(24)と、上記可逆データ圧縮手段(24)に結合され、上記所与のサイズから上記圧縮文字データのサイズを差引くことにより残余サイズを求め、上記ドットマップイメージデータのサイズを上記残余サイズと比較して縮小率を定める制御手段(26)と、上記文字・イメージ分離手段(21)に結合され、上記縮小率に従って上記ドットマップイメージデータを縮小して縮小イメージデータを生成する縮小手段(28)とを備えた装置。
(6) 上記ドットマップイメージデータのサイズが上記残余サイズ以下のときは上記縮小率を1とし、上記ドットマップイメージデータのサイズが上記残余サイズを上回るときは上記縮小率を1よりも大きい整数とすることを特徴とする上記(5)に記載の装置。
(7) 上記可逆データ圧縮手段(24)に結合され、上記圧縮文字データを記憶する文字バッファ(34)と、上記文字・イメージ分離手段(21)に結合され、上記縮小手段(28)による縮小に先立ち上記ドットマップイメージデータを記憶するイメージバッファ(36)とをさらに備えることを特徴とする上記(5)に記載の装置。
(8) 上記制御手段(26)は、上記残余サイズから上記縮小イメージデータのサイズを差引き、結果として得られる差を新たな所与のサイズとして用いてさらに文字データ及びドットマップイメージデータを圧縮することを特徴とする上記(7)に記載の装置。
(9) 圧縮されたドットマップデータを所与のサイズに圧縮する方法において、上記ドットマップデータを可逆圧縮方法により圧縮して第1の圧縮データを生成するステップと、上記第1の圧縮データのサイズが上記所与のサイズを上回るとき、上記ドットマップデータを非可逆圧縮方法により圧縮して第2の圧縮データを生成するステップと、上記第2の圧縮データのサイズが上記所与のサイズを上回るとき、上記ドットマップデータを縮小して縮小データを生成するステップとを有するデータ圧縮方法。
(10) 上記縮小データを非可逆圧縮方法により圧縮するステップをさらに有することを特徴とする上記(9)に記載の方法。
(11) 上記データが、プリンタに伝送すべき1ページのデータを構成することを特徴とする上記(9)に記載の方法。
(12) 上記第1の圧縮データのサイズが上記所与のサイズを上回るときにユーザに知らせるステップをさらに有し、上記ユーザから第1のコマンドが入力されたときに非可逆圧縮方法により上記ドットマップデータを圧縮するステップに進み、上記ユーザから第2のコマンドが入力されたときに上記非可逆圧縮方法により上記ドットマップデータを圧縮するステップを省略して、上記ドットマップデータを縮小するステップに直接進み、上記ユーザから第3のコマンドが入力されたときに上記ページのデータを飛ばすステップをさらに有することを特徴とする上記(11)に記載の方法。
(13) 計算機から周辺機器へ伝送するために、ドットマップデータを所与のサイズに圧縮する装置において、上記計算機内に配置され、上記ドットマップデータを異なる圧縮率で圧縮して圧縮データを生成する複数の圧縮手段(48、50、52)と、上記複数の圧縮手段に結合され、上記複数の圧縮手段から出力された上記圧縮データを記憶する出力バッファ(56)と、上記複数の圧縮手段に結合され、上記の複数の圧縮手段のうちの、上記ドットマップデータを上記所与のサイズに圧縮し得るものであって、かつその中で最も圧縮率の低いものを選択し、該選択された圧縮手段により生成された圧縮データを上記周辺機器に伝送させる制御手段(54)とを備えたデータ圧縮装置。
(14) 上記複数の圧縮手段は少なくとも、可逆圧縮手段(48)と、非可逆圧縮手段(50)と、縮小手段(52)とを含むことを特徴とする上記(13)に記載の装置。
(15) 上記制御手段(54)は、上記複数の圧縮手段が上記ドットマップデータを上記所与のサイズに圧縮できなかったときに、そのことをユーザに知らせることを特徴とする上記(13)に記載の装置。
(16) 上記制御手段(54)は、上記ユーザからのコマンドに応じて、上記複数の圧縮手段のうちの、異なる圧縮手段を選択することを特徴とする上記(15)に記載の装置。
(17) 計算機から周辺機器への伝送のため、1ページの文書を形成するオブジェクトの群を記述するデータを、所与のサイズに圧縮する方法において、型に応じて上記オブジェクトを分類するステップと、上記オブジェクトをその型及びサイズに従って優先順位を与えるステップと、上記優先順位に応じて、上記オブジェクトの各々に対し、圧縮パラメータを選択するステップと、上記オブジェクトの群を記述するデータをドットマップデータに変換するステップと、上記圧縮パラメータにより制御される方法により、上記ドットマップデータを圧縮して、圧縮データを生成するステップと、上記圧縮パラメータから上記圧縮データの予想サイズを計算するステップと、上記圧縮データの実際のサイズを、上記予想サイズと比較し、予想誤差を求めるステップと、上記予想誤差に応じて上記圧縮パラメータを調整するステップと、上記圧縮データを出力バッファに記憶させるステップとを有するデータ圧縮方法。
(18) 上記出力バッファに記憶された圧縮データの合計サイズを上記所与のサイズと比較するステップと、上記合計サイズが上記所与のサイズを上回ったとき、上記出力バッファに記憶された圧縮データの少なくとも一部を消去するステップと、上記消去された圧縮データの元となったドットマップデータを、より強力な圧縮パラメータを用いて、再び圧縮するステップとをさらに有することを特徴とする上記(17)に記載の方法。
(19) 上記優先順位に応じて、上記オブジェクトに対し縮小率を選択するステップと、上記縮小率に応じて上記ドットマップデータを縮小するステップとをさらに有することを特徴とする上記(17)に記載の方法。
(20) 上記ドットマップデータの合計サイズを計算するステップと、上記合計サイズが上記所与のサイズ以下であるとき、上記圧縮するステップを行なうことなく、上記ドットマップデータを、上記出力バッファに直接記憶させるステップとをさらに有することを特徴とする上記(17)に記載の方法。
(21) 計算機から周辺機器への伝送のために、1ページの文書を形成するオブジェクトの群を記述するデータを所与のサイズに圧縮する装置において、上記オブジェクトに関するヘッダ情報を読み、上記オブジェクトを型に従って分類するオブジェクト分類手段(60)と、上記オブジェクト分類手段(60)に結合され、上記オブジェクトに、その型及びサイズに応じて優先順位を与える優先順位設定手段(62)と、上記優先順位設定手段(62)に結合され、上記優先順位に応じて上記オブジェクトの各々に対する圧縮パラメータを選択する圧縮パラメータ計算手段(66、90)と、上記オブジェクト分類手段(60)に結合され、上記オブジェクトを記述するデータをドットマップデータに変換するラスタライズ手段(22、92)と、上記優先順位設定手段(62)に結合され、上記ドットマップデータを、上記優先順位設定手段(62)により選択された圧縮パラメータに従って、異なる圧縮率を持つ異なる圧縮方法により圧縮して、圧縮データを生成するデータ圧縮手段(70)と、上記データ圧縮手段(70)と結合され、上記圧縮パラメータから上記圧縮データの予想サイズを計算し、上記圧縮データの実際のサイズを上記予想サイズと比較し、比較結果を上記圧縮パラメータ計算手段(66、90)に知らせ、上記圧縮パラメータ計算手段(66、90)に上記圧縮パラメータを調整させるバッファスペース計算手段(68)と、上記データ圧縮手段(70)に結合され、上記圧縮データを上記周辺機器に伝送する準備として上記圧縮データを記憶する出力バッファ(72)とを備えたデータ圧縮装置。
(22) 上記データ圧縮手段(70)による圧縮に先立ち、上記ラスタライズ手段(22)により出力されたドットマップデータを記憶するドットマップデータバッファ(44)をさらに備えたことを特徴とする上記(21)に記載の装置。
(23) 上記オブジェクト分類手段(60)に結合され、上記ラスタライズ手段(92)によるラスタライズに先立ち、上記オブジェクトを記述するデータを記憶するオブジェクトデータバッファ(88)をさらに備え、上記ラスタライズ手段(92)はまた、指定された縮小率に従って、上記ドットマップデータを縮小し、上記圧縮パラメータ計算手段(90)は、上記優先順位及び上記バッファスペース計算手段(68)により報告された比較の結果に応じて、上記縮小率を指定することを特徴とする上記(21)に記載の装置。
21:文字・イメージ分離手段 22:ラスタライズ手段 24:可逆データ圧縮手段 26:制御手段 28:縮小手段 34:文字バッファ 36:イメージバッファ 48:可逆圧縮手段 50:非可逆圧縮手段 52:縮小手段 54:制御手段 56:出力バッファ 60:オブジェクト分類手段 62:優先順位設定手段 68:バッファスペース計算手段 70:データ圧縮手段 88:オブジェクトバッファ 90:圧縮パラメータ計算手段 92:ラスタライズ手段。
Claims (7)
- 計算機から周辺機器への伝送のため、1ページの文書を形成するオブジェクトの群を記述するデータを、所与のサイズに圧縮する方法において、
型に応じて上記オブジェクトを分類するステップと、
上記オブジェクトをその型及びサイズに従って優先順位を与えるステップと、
上記優先順位に応じて、上記オブジェクトの各々に対し、圧縮パラメータを選択するステップと、
上記オブジェクトの群を記述するデータをドットマップデータに変換するステップと、
上記圧縮パラメータにより制御される方法により、上記ドットマップデータを圧縮して、圧縮データを生成するステップと、
上記圧縮パラメータから上記圧縮データの予想サイズを計算するステップと、
上記圧縮データの実際のサイズを、上記予想サイズと比較し、予想誤差を求めるステップと、
上記予想誤差に応じて上記圧縮パラメータを調整するステップと、上記圧縮データを出力バッファに記憶させるステップと
を有するデータ圧縮方法。 - 上記出力バッファに記憶された圧縮データの合計サイズを上記所与のサイズと比較するステップと、
上記合計サイズが上記所与のサイズを上回ったとき、上記出力バッファに記憶された圧縮データの少なくとも一部を消去するステップと、
上記消去された圧縮データの元となったドットマップデータを、より強力な圧縮パラメータを用いて、再び圧縮するステップと
をさらに有することを特徴とする請求項1に記載の方法。 - 上記優先順位に応じて、上記オブジェクトに対し縮小率を選択するステップと、
上記縮小率に応じて上記ドットマップデータを縮小するステップと
をさらに有することを特徴とする請求項1に記載の方法。 - 上記ドットマップデータの合計サイズを計算するステップと、
上記合計サイズが上記所与のサイズ以下であるとき、上記圧縮するステップを行なうことなく、上記ドットマップデータを、上記出力バッファに直接記憶させるステップと
をさらに有することを特徴とする請求項1に記載の方法。 - 計算機から周辺機器への伝送のために、1ページの文書を形成するオブジェクトの群を記述するデータを所与のサイズに圧縮する装置において、
上記オブジェクトに関するヘッダ情報を読み、上記オブジェクトを型に従って分類するオブジェクト分類手段と、
上記オブジェクト分類手段に結合され、上記オブジェクトに、その型及びサイズに応じて優先順位を与える優先順位設定手段と、
上記優先順位設定手段に結合され、上記優先順位に応じて上記オブジェクトの各々に対する圧縮パラメータを選択する圧縮パラメータ計算手段と、
上記オブジェクト分類手段に結合され、上記オブジェクトを記述するデータをドットマップデータに変換するラスタライズ手段と、
上記優先順位設定手段に結合され、上記ドットマップデータを、上記優先順位設定手段により選択された圧縮パラメータに従って、異なる圧縮率を持つ異なる圧縮方法により圧縮して、圧縮データを生成するデータ圧縮手段と、
上記データ圧縮手段と結合され、上記圧縮パラメータから上記圧縮データの予想サイズを計算し、上記圧縮データの実際のサイズを上記予想サイズと比較し、比較結果を上記圧縮パラメータ計算手段に知らせ、上記圧縮パラメータ計算手段に上記圧縮パラメータを調整させるバッファスペース計算手段と、
上記データ圧縮手段に結合され、上記圧縮データを上記周辺機器に伝送する準備として上記圧縮データを記憶する出力バッファと
を備えたデータ圧縮装置。 - 上記データ圧縮手段による圧縮に先立ち、上記ラスタライズ手段により出力されたドットマップデータを記憶するドットマップデータバッファをさらに備えたことを特徴とする請求項5に記載の装置。
- 上記オブジェクト分類手段に結合され、上記ラスタライズ手段によるラスタライズに先立ち、上記オブジェクトを記述するデータを記憶するオブジェクトデータバッファをさらに備え、
上記ラスタライズ手段はまた、指定された縮小率に従って、上記ドットマップデータを縮小し、
上記圧縮パラメータ計算手段は、上記優先順位及び上記バッファスペース計算手段により報告された比較の結果に応じて、上記縮小率を指定することを特徴とする
請求項5に記載の装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005299611A JP2006120145A (ja) | 1995-07-07 | 2005-10-14 | 文字・イメージ混在データの圧縮方法及び装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP17179795 | 1995-07-07 | ||
JP2005299611A JP2006120145A (ja) | 1995-07-07 | 2005-10-14 | 文字・イメージ混在データの圧縮方法及び装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8147015A Division JPH0981763A (ja) | 1995-07-07 | 1996-06-10 | 文字・イメージ混在データの圧縮方法及び装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006120145A true JP2006120145A (ja) | 2006-05-11 |
Family
ID=36537927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005299611A Pending JP2006120145A (ja) | 1995-07-07 | 2005-10-14 | 文字・イメージ混在データの圧縮方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006120145A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171168A (ja) * | 2007-01-11 | 2008-07-24 | Arcadyan Technology Corp | バッファ装置のリセットシステムとその方法 |
JP2008310584A (ja) * | 2007-06-14 | 2008-12-25 | Canon Inc | 画像形成装置及び方法 |
JP2014521168A (ja) * | 2011-07-12 | 2014-08-25 | クゥアルコム・インコーポレイテッド | 静止画像の表示 |
US9218762B2 (en) | 2010-09-01 | 2015-12-22 | Qualcomm Incorporated | Dimming techniques for emissive displays |
-
2005
- 2005-10-14 JP JP2005299611A patent/JP2006120145A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008171168A (ja) * | 2007-01-11 | 2008-07-24 | Arcadyan Technology Corp | バッファ装置のリセットシステムとその方法 |
JP2008310584A (ja) * | 2007-06-14 | 2008-12-25 | Canon Inc | 画像形成装置及び方法 |
US9218762B2 (en) | 2010-09-01 | 2015-12-22 | Qualcomm Incorporated | Dimming techniques for emissive displays |
JP2014521168A (ja) * | 2011-07-12 | 2014-08-25 | クゥアルコム・インコーポレイテッド | 静止画像の表示 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0981763A (ja) | 文字・イメージ混在データの圧縮方法及び装置 | |
US5544290A (en) | Method and apparatus for processing data for a visual-output device with reduced buffer memory requirements | |
US6751356B2 (en) | Image processing apparatus and method | |
JP4249265B2 (ja) | ラスタデータをハイブリッド圧縮するための装置および方法 | |
US5850504A (en) | Method and apparatus for saving printer memory | |
US20030031371A1 (en) | Image encoding apparatus and image decoding apparatus | |
US6320981B1 (en) | Image processing system and image processing method | |
US6891632B2 (en) | Method and apparatus for selecting print strategy for optimal performance | |
JP4693603B2 (ja) | 画像符号化装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
EP0469851B1 (en) | Image processing apparatus | |
JPH1051642A (ja) | 画像処理装置 | |
US20110123127A1 (en) | Image processing apparatus, control method for the same, program | |
US6343157B1 (en) | Image coding system, image decoding system, image processing system, image coding method, image decoding method, and image processing method | |
US6172765B1 (en) | Printing system | |
US6853466B1 (en) | Image processing apparatus and method | |
JP2006120145A (ja) | 文字・イメージ混在データの圧縮方法及び装置 | |
JP5020998B2 (ja) | 画像処理装置、及び画像処理方法 | |
JP2003046789A (ja) | 画像符号化装置及び画像復号化装置 | |
US8295616B2 (en) | Image processing device and method for image processing | |
US6069980A (en) | Adaptive character image generation and synthesis | |
US7391535B2 (en) | Raster image processing | |
JP4715175B2 (ja) | 画像形成装置および方法 | |
US20030081244A1 (en) | Method and apparatus for processing data in an imaging device | |
JP3211545B2 (ja) | 画像処理装置 | |
JP2002236566A (ja) | ページ印刷システム及び印刷データ生成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060725 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060921 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20061017 |