JPH09270919A - ページプリンタにおけるデータ圧縮方法 - Google Patents

ページプリンタにおけるデータ圧縮方法

Info

Publication number
JPH09270919A
JPH09270919A JP8104030A JP10403096A JPH09270919A JP H09270919 A JPH09270919 A JP H09270919A JP 8104030 A JP8104030 A JP 8104030A JP 10403096 A JP10403096 A JP 10403096A JP H09270919 A JPH09270919 A JP H09270919A
Authority
JP
Japan
Prior art keywords
data
compression
compressed
stored
page
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8104030A
Other languages
English (en)
Inventor
Hiroshige Kawakami
浩成 川上
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP8104030A priority Critical patent/JPH09270919A/ja
Publication of JPH09270919A publication Critical patent/JPH09270919A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Record Information Processing For Printing (AREA)
  • Storing Facsimile Image Data (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

(57)【要約】 【課題】 ラスタライズした印刷用データを、イメージ
画像も含めて高い圧縮率で圧縮できるようにして、ペー
ジプリンタのメモリ容量を大幅に低減する。 【解決手段】 ラスタライズされたデータに対して、所
定のブロック単位で可変長可逆圧縮処理を施し、その圧
縮データを圧縮メモリに格納し、圧縮できなかった場合
はそのブロックのデータを非圧縮のまま非圧縮メモリに
格納する。その圧縮処理を、ランレングス圧縮方式と差
分圧縮方式の一方で行なって圧縮不能な場合は他方で行
ない、いずれかの方式で圧縮可能であれば、その圧縮デ
ータを圧縮メモリに圧縮方式を示すフラグを立てて格納
する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、白黒およびカラ
ーのレーザプリンタ,LEDプリンタ等のページプリン
タ(デジタル複写機のプリンタ部も含む)におけるデー
タ圧縮方法に関する。
【0002】
【従来の技術】近年、レーザプリンタ等のページプリン
タの解像度は益々高くなり、最近では600DPIが主
流になっている。今後は800DPIや1200DPI
のプリンタが出現するであろうし、マルチ・リゾリュー
ション・プリンタ、すなわちエミュレーションに応じて
エンジンの解像度が変化するプリンタも増えてくるであ
ろう。
【0003】しかし、ページプリンタ内の1ページ分の
ビットマップデータを展開するフレームバッファのメモ
リ容量は、A4,600DPIで約4MB、A3,60
0DPIでは約8MBになる。このようなフレームバッ
ファのメモリ容量の増加は、製品価格に大きな影響を与
える。一方、ページプリンタの価格は逆に低価格へと推
移しているため、高解像度化に伴う価格上昇をなんらか
の手段で抑えなければならない。
【0004】そのための2値画像データの可逆圧縮技術
には、ファクシミリ等で用いられるMH(ハフマン符号
化方式:一次元圧縮法によるG3ファクシミリの標準符
号化方式),MR(二次元圧縮法によるG3ファクシミ
リではオプションの符号化方式),MMR(MR符号化
方式の変形で、G4ファクシミリの標準符号化方式)
や、コンピュータで扱うテキストファイルやバイナリフ
ァイルに用いられる、例えばLZ方式の圧縮等がある。
また、最近では国際標準である算術符号化を用いたJB
IG方式もある。
【0005】
【発明が解決しようとする課題】しかしながら、これら
の2値画像データ圧縮技術は、画像あるいはファイルの
先頭から順番に逐次符号化処理を行なうので、所望の任
意ブロックだけをリアルタイムに復元することはできな
い。ページプリンタでは、印刷すべき文書情報がコンピ
ュータのCRT上で実際に作成された順番にくるため、
ある大きさのブロック単位で圧縮処理を施さなければな
らない。従って、上記圧縮技術をそのまま使用すること
はできない。
【0006】そこで、本発明者等は先に、ページプリン
タにおいて印刷すべき文書データを所定の解像度にラス
タライズし、そのラスタライズされたデータに対して、
主走査方向にtドットで構成されるブロックと、主走査
方向あるいは副走査方向にuブロックで構成されるユニ
ットの2つの基本単位を用い、印刷すべき文書データを
1ページ分ずつラスタライズするために必要なページバ
ッファを前記ユニット単位に分割し、次のようにして可
変長可逆圧縮処理を施すデータ圧縮方法を発明した。
【0007】分割した各ユニットが全白であるかどうか
をチェックして、その結果をmビットのホワイトマップ
テーブル(WMT)に保存し、そのユニットが全白でな
い場合に、ホワイトマップテーブルで指定されるアドレ
ス領域にuブロック分のnビットの圧縮データテーブル
(CDT)を用意して、u個分のブロック毎のデータの
圧縮処理結果を圧縮データレコード(CDR)として格
納し、上記ブロック毎の圧縮処理が不可能な場合には、
圧縮データテーブル(CDT)で指定されるアドレス領
域にtビットの非圧縮データテーブル(UDT)を用意
して、該ブロックのデータをそのまま非圧縮データレコ
ード(UCDR)として格納する。
【0008】このデータ圧縮方法において、ラスタライ
ズされたデータをブロック毎に圧縮コードへ符号化する
圧縮処理方式は、ラスタライズされたデータを1ビット
ずつ“0”か“1”かを判別してカウントし、連続する
“0”または“1”のビット数を符号化するいわゆるラ
ンレングス圧縮符号化処理方式なので、イメージ画像の
ような白ドットと黒ドットが1ビットまたは2ビット単
位で繰り返すデータ(例“01010101”)に対し
ての符号化には適さなかった。そのため、上記のデータ
圧縮方法では、イメージ画像に対しては非圧縮データレ
コード(UCDR)が多く発生してしまい、圧縮率が低
下してしまうという問題があった。
【0009】この発明は上記の問題を解決するためにな
されたものであり、ページプリンタにおいて、ラスタラ
イズした印刷用データを圧縮してフレームバッファに格
納することにより、メモリ容量を削減できるようにし、
且つイメージ画像のように白ドットと黒ドットが1ビッ
ト乃至数ビット単位で繰り返すデータでも圧縮できるよ
うにして圧縮率を高め、高解像度ページプリンタを低価
格で提供できるようにすることを目的とする。
【0010】
【課題を解決するための手段】この発明は上記の目的を
達成するため、ページプリンタにおける上述のようなデ
ータ圧縮方法において、1ユニットのu個分のブロック
毎のデータの圧縮処理(ランレングス圧縮符号化処理)
後に、圧縮処理が不可能であった場合に作成される非圧
縮データテーブル(UDT)の非圧縮データレコード
(UCDR)があれば、順次その各データに対して差分
圧縮符号化処理を行ない、圧縮できたらその結果を圧縮
データテーブル(CDT)に圧縮データレコード(CD
R)として格納することを特徴とするデータ圧縮方法を
提供する。
【0011】この差分圧縮符号化処理は、ブロックのデ
ータを構成する白ドット列はその直前の白ドット列との
差分を、黒ドット列はその直前の黒ドット列との差分を
それぞれ符号化する方式による処理であり、イメージ画
像のように白ドットと黒ドットが1ビット乃至数ビット
単位で繰り返すデータの圧縮に適している。そのため、
ランレングス圧縮符号化処理では圧縮不能であった非圧
縮データレコード(UCDR)をも圧縮できるようにな
り、圧縮率が向上する。
【0012】そして、この差分圧縮符号化処理で圧縮で
きた非圧縮データレコード(UCDR)を削除すること
ことにより、圧縮メモリを有効に使用できるようにな
り、メモリ容量を一層削減することができる。
【0013】また、上述のデータ圧縮方法において、1
ユニットのu個分のブロック毎にそのデータをランレン
グス圧縮符号化処理したとき、圧縮できたらその結果を
圧縮データテーブル(CDT)に圧縮データレコード
(CDR)として格納するが、圧縮できなかった場合に
は、そのブロックのデータに対して差分圧縮符号化処理
を行ない、圧縮できたらその結果を圧縮データテーブル
(CDT)に圧縮データレコード(CDR)として格納
し、いずれの圧縮符号化処理によっても圧縮できなかっ
た場合にのみ、圧縮データテーブル(CDT)で指定さ
れるアドレス領域にtビットの非圧縮データテーブル
(UDT)を用意して、該ブロックのデータをそのまま
非圧縮データレコード(UCDR)として格納するように
してもよい。
【0014】このようにすれば、ランレングス圧縮符号
化処理で圧縮不能であると判別した時点で、圧縮方式を
差分圧縮符号化処理に切り替えて符号化できるので、無
駄な非圧縮データレコード(UCDR)を発生させるこ
とがなくなり、メモリの削減と処理の高速化を計ること
ができる。
【0015】さらに、このようなページプリンタにおけ
るデータ圧縮方法において、ブロック毎のデータの圧縮
ができた場合に、ランレングス圧縮符号化処理と差分圧
縮符号化処理のいずれで圧縮できたのかを記憶し、次の
ブロックのデータに対しては、その記憶している方の圧
縮符号化処理を先に実施するようにするとよい。
【0016】一般に、印刷画像はオブジェクト単位での
処理(パターンフィル,文字,図形等)が多いので、前
のブロックの圧縮処理で圧縮可能になった方式によっ
て、次のブロックの圧縮処理で圧縮可能になる可能性が
高い。したがって、このように前のブロックに対して圧
縮可能になった圧縮方式の種類を記憶して、次のブロッ
クに対して同じ圧縮方式で圧縮処理を行なうことによ
り、圧縮率の向上と処理の高速化を計ることができる。
【0017】また、ブロック毎のデータ圧縮処理の際
に、ランレングス圧縮符号化処理で圧縮できずに差分圧
縮符号化処理を施した割合をカウントし、その割合が所
定値以上のときは、デフォルトの圧縮処理を差分圧縮符
号化処理に切り替えるようにするとよい。このようにす
れば、圧縮可能になる圧縮方式の傾向を判別でき、圧縮
可能になる確率が高い方の圧縮方式で先に圧縮処理をす
るので、圧縮処理の高速化が計れる。
【0018】
【発明の実施の形態】以下、この発明の実施の形態を図
面に基づいて具体的に説明する。図2はこの発明による
ページプリンタを用いた画像形成システムの構成例を示
す図であり、100はパーソナルコンピュータ、200
がページプリンタである。通常、ユーザはパーソナルコ
ンピュータ100のCRT画面とキーボードとDTP
(デスクトップ・パブリッシング)アプリケーションを
使って文書を作成し、プリンタドライバ101を通して
ページプリンタ200に転送して印刷を行なう。
【0019】プリンタドライバ101は、通常印刷すべ
き文書内容をページプリンタ200がサポートするプリ
ンタ言語、例えばヒューレット・パッカード(HP)社
のPCLやAdobe社のポストスクリプト言語等にコ
ンバートする。前者に接続されたプリンタを一般にPC
Lエミュレーション・プリンタ、後者に接続されたプリ
ンタをポストスクリプト・プリンタと呼ぶ。また、パー
ソナルコンピュータ100側で全てラスタライズされた
ビットイメージを印刷するだけのダムプリンタと呼ばれ
るプリンタもある。
【0020】ページプリンタ200としては、レーザプ
リンタやインクジェットプリンタ、あるいはサーマルプ
リンタ等があるが、高速印刷という点でレーザプリンタ
が勝る。最近はカラーのレーザプリンタも市場に出始め
ており、それを使用することも可能である。また、解像
度は年々高まる一方で、現在は600DPIが標準とな
っている。以下の実施例では、ページプリンタ200を
600DPIの白黒ポストスクリプト・レーザプリンタ
(以下単に「ページプリンタ」と称する)として説明す
るが、この発明はそれに限定されるものではない。
【0021】図3はそのページプリンタの外観図であ
り、図4はその内部機構の概略を示す縦断面図である。
このページプリンタ200は、給紙トレイ2を着脱可能
に備え、上部に第1排紙スタッカ3を設け、後部に第2
排紙スタッカ4を設けている。2個の排紙スタッカ3,
4への排紙は切換爪5によって切換え可能である。通常
は、排紙スタッカとして第1排紙スタッカ3が選択され
るが、封筒や葉書などのカールし易い紙を使用する場合
など、特別な場合に第2排紙スタッカ4が選択される。
【0022】さらに、内部にはプリンタエンジンの作像
部を構成する感光体ドラム10,帯電部11,光書込部
12,現像部13,転写部14,定着部15と、給紙ロ
ーラ16及びレジストローラ対17等による給紙部と、
搬送ローラとペーパガイド板等からなる排紙用搬送部1
8と、このページプリンタ全体を制御するプリンタコン
トローラを構成するコントローラ基板19及びプリンタ
エンジンのシーケンスコントローラを構成するエンジン
ドライバ基板20等が設けられている。
【0023】そして、プリンタエンジンのシーケンスコ
ントローラによりプリントシーケンスが開始されると、
給紙ローラ16によって給紙トレイ2から給紙を始め、
その用紙の先端をレジストローラ対17に突き当てた状
態で一時停止させる。一方、感光体ドラム10は図4の
矢印A方向へ回転し、帯電部11で帯電された表面に、
光書込部12によってプリンタコントローラからの画像
データに応じて変調されたレーザビームを、ドラム軸方
向に主走査しながら照射して露光し、感光体ドラム10
の表面に静電潜像を形成する。
【0024】それを現像部13でトナーによって現像
し、レジストローラ対17によって所定のタイミングで
給送される用紙に転写部14において転写し、定着部1
5で加熱定着したプリント紙を第2排紙スタッカ4へ送
出するか、排紙用搬送部18を通して上部の第1排紙ス
タッカ3へ搬送する。
【0025】図5はコントローラ基板19の内部ブロッ
ク図である。このコントローラ基板19は、CPU20
1,NVRAM203,プログラムROM204,フォ
ントROM205,RAM206,及び4個のインタフ
ェース(以下「I/F」と略称する)207,209,
211,213と、これらを接続するバスライン215
によって構成されている。
【0026】CPU201は、プログラムROM204
に格納されたプログラム、操作パネル210からのモー
ド指示、ホスト装置であるパーソナルコンピュータ(パ
ソコン)100からのコマンド等によって、このコント
ローラ全体を制御する。また、挿着されたICカード2
02から、フォントデータやプログラム等を取り込むこ
ともできる。この発明によるデータ圧縮処理もこのCP
U201による制御のもとに実行される。NVRAM2
03は、操作パネル210からのモード指示の内容など
を記憶しておく不揮発性メモリである。
【0027】プログラムROM204は、このコントロ
ーラの制御プログラムを格納している読出し専用メモリ
である。フォントROM205は、文字フォントのパタ
ーンデータなどを記憶する。RAM206は、CPU2
01のワークメモリ,入力データのインプットバッフ
ァ,プリントデータのページメモリ(フレームバッフ
ァ),ビデオバッファ,ダウンロードフォント用のメモ
リ等に使用するランダムアクセス・メモリである。
【0028】エンジンI/F207は、実際に印刷を行
なうプリンタエンジン208と接続されて、コマンド及
びステータスや印字データの通信を行なうインタフェー
スである。パネルI/F209は、操作パネル210と
接続されて、コマンド及びステータスの通信を行なうイ
ンタフェースであり、操作パネル210は、使用者に現
在のプリンタの状態を表示して知らせたり、使用者がモ
ード指示を行なったりするパネル装置である。
【0029】ホストI/F211は、ホスト装置である
パーソナルコンピュータ100と通信を行なうインタフ
ェースであり、通常はセントロニクスI/FやRS23
2Cを使用する。ディスクI/F213は、ディスク装
置214と通信を行なうためのディスクインタフェース
である。ディスク装置214は、フォントデータやプロ
グラム、あるいは印字データなどの種々のデータを記憶
しておくための外部記憶装置であり、フロッピディスク
装置やハードディスク装置などである。
【0030】次に、このページプリンタ200によるペ
ージ印刷の動作について説明する。図1は、図5に示し
たコントローラ基板19及び600DPIのプリンタエ
ンジン208による、ページ印刷の処理に係わる部分の
機能構成を示すブロック図である。そのPSインタープ
リタ21と圧縮部22及び伸長部25は、図5のCPU
201等による機能、圧縮メモリ23と非圧縮メモリ2
4はRAM206のメモリ領域、ビデオ出力部27はエ
ンジンI/F207の機能をそれぞれ示している。
【0031】図6は、この発明の前提となるデータ処理
方法により1ページ分の印刷を行なう際の動作フロー図
である。そこで、この図6のフローに沿って、図1を参
照しながらページ印刷の動作を説明する。図2に示した
パーソナルコンピュータ100内のプリンタドライバ1
01が、印刷すべき文書データをページ毎にポストスク
リプト(以下、PSと記す)ファイルに変換してページ
プリンタ200へ送る。
【0032】ページプリンタ200がそのPSファイル
を受信すると、図1に示したPSインタープリタ21
が、それをプリンタエンジン208の性能による印刷の
解像度と同じ600DPIの解像度で、ある大きさのブ
ロック単位でラスタライズし、そのラスタライズしたデ
ータに対して、圧縮部22がそのブロック単位で可変長
可逆圧縮処理を試みる。このブロック単位については追
って詳述する。
【0033】そして圧縮できれば、その結果の圧縮コー
ドを圧縮メモリ23へストアする。この圧縮メモリ23
は、300DPIで1ページ分に相当する容量を持つペ
ージメモリで、図5に示したRAM206のメモリ領域
を使用する。圧縮できなかったら、ラスタライズされた
600DPIのデータを非圧縮メモリ24へストアす
る。実際には、この非圧縮メモリ24は圧縮メモリ23
を兼用することができるので、RAM206のメモリ容
量を増加させる必要はない。なお、この圧縮メモリ23
と非圧縮メモリ24を含むページメモリは、その1ペー
ジ分の領域をN個に分割した各領域に、上記圧縮コード
及び非圧縮のデータを順次格納していく。
【0034】1ページ分の処理が終了したら、圧縮画像
の伸長及びビデオ信号出力を行なう。すなわち、圧縮メ
モリ23へストアした圧縮コードをページの左上から順
番に伸長部25で伸長(解凍処理ともいう)し、600
DPIの画像データに復元して、ビデオ出力部27内の
ビデオバッファ(フレームメモリ)にビットマップ展開
する。非圧縮メモリ24にストアした600DPIの非
圧縮画像データは、そのままビデオバッフアの後述する
圧縮データテーブル(CDT)によって指定されたアド
レスに展開する。
【0035】そして、このビデオバッファに展開された
画像データを、ビデオ出力部27がシリアルなビデオ信
号として、プリンタエンジン208へ送出して印刷させ
る。このときのビデオ出力部27内のビデオバッファ
は、図5のRAM206あるいは別のメモリに確保した
1ページ分のフレームメモリ領域を使用する。あるいは
1ページ分のフレームメモリの1/Nの大きさのメモリ
領域を使用し、1ページ分の画像データの展開およびそ
れによるビデオ信号の出力をN回に分けて行なうことも
できる。
【0036】次に、図1及び図6によって説明したブロ
ック単位の可変長可逆圧縮処理の詳細について図7乃至
図14を参照して説明する。PSファイルをラスタライ
ズするデータのブロック単位を、図7に示すようにtド
ット(dot) のブロックワードBWとする。そして、図7
の(a)又は(b)に示すように、このtドット(dot)
のブロックワードBWが主走査方向(a)あるいは副走
査方向(b)にu個分連続して1ユニット(unit)を構成
している。すなわち、1ユニット(unit)=u*BWであ
る。
【0037】そして、図5に示したCPU201は、図
1のPSインタープリタ21としての機能によってPS
ファイルをラスタライズ(描画)した際、その1ユニッ
トのデータが全て白ドットか否かを調べ、全て白の場合
には圧縮部22を使用せずに直接圧縮メモリ23のホワ
イトマップテーブルWMTをNULL(2xffffffff)に
する。黒ドットが1つでもあると、そのユニットを構成
する各ブロックワードBW毎に、圧縮部22に圧縮処理
を行なわせる。
【0038】図8はそのブロックワードBW及びユニッ
トの具体例を示し、PSファイルをラスタライズしたデ
ータに対して、64ドット(dot) の白ドット及び/又は
黒ドットからなるブロックワードBWの8(line)分を1
ユニットとする。すなわち、1ユニット(unit)=8*
BW=8*64(dot)とする。
【0039】さらに、各ユニットに対して図9に示すよ
うに、32bit のホワイトマップテーブル(White Ma
p Table:WMT)を用意する。そして、1ユニットの
データが全て白ドットなら、WMTをNULL(0xffff
ffff)とし、もし、黒ドットが1つ以上存在するなら、
図10に示す32bitの圧縮データテーブル(Compress
ion Data Table:CDT)の実アドレス(CDTアド
レス)を格納する。
【0040】なお、CDTアドレスが示すレコードの長
さは、図11に示すように8*CDT=8*32ビット
(bit)=32バイト(byte) とする。CDTは1つの
ブロックワードBWに対応し、後述の圧縮方式による圧
縮符号化処理を試みて、もし圧縮可能であったら、図1
0に示す圧縮データテーブルCDTのbit29〜bit0
に、その圧縮コードを圧縮データレコードCDRとして
格納する。また、もし圧縮不可能であったら、bit31
=1とし、bit30〜bit0に非圧縮時のデータ格納メモ
リである非圧縮データテーブル(UDT)のアドレス(Uu
compression Data Table Address:UDTアドレス)を
格納する(図12)。
【0041】今回使用した第1の圧縮方式は、次に示す
2ステップからなる。まず始めに、対象となるブロック
ワードBWが全部白ドットか、全部黒ドットかを調べ
る。もし、そうであったらCDTアドレスをそれぞれ、
0x00000000 又は 0x7fffffffとする。もし、そうでない
場合には、先頭ドットが白ドットか黒ドットか(図10
に示したCDTの bit30にて“0”か“1”で指定)
に応じて、白ドットあるいは黒ドットのランレングスを
図13に示すハフマン・コードで記述するランレングス
圧縮符号化処理を行なう。
【0042】例えば、図14の(a)に示す64ドット
のブロックワードBWは、同図(b)に示す32ビット
の圧縮コードに変換される。なお、最後の白ドット(ラ
ンレングス=10)は、圧縮コードに含まれないが、最
後の黒ドット(ランレングス=19)の後ろが全て白ド
ットである事で復元が可能である。また、CDTの余っ
た領域には、1を書き込むようにする。
【0043】したがって、ラスタライズされたデータに
対するこの可変長可逆圧縮処理を、図7に示したtドッ
トのブロックワードBWが主走査方向又は副走査方向に
u個並んだユニットを基本単位として行なう場合の処理
は、次の各ステツプによる。印刷すべきデータを1ペー
ジ分ずつラスタライズするために必要なページバッファ
を上記ユニット単位に分割するステップ。その分割した
各ユニットのデータが全白であるかどうかをチェック
し、その結果をmビット(図9では32ビット)のホワ
イトマップテーブルWMTに保存するステップ。
【0044】各ユニット毎にそのデータが全白でない場
合に、ホワイトマップテーブルで指定されるアドレス領
域にuブロック分のnビット(図10では32ビット)
の圧縮データテーブル(CDT)を用意し、u個分のブ
ロック毎のデータの圧縮処理結果を格納するステップ。
各ブロック毎の圧縮処理が不可能な場合に、圧縮データ
テーブル(CDT)で指定されるアドレス領域にtビッ
トの非圧縮データテーブル(UDT)を用意し、圧縮処
理が不可能なブロックのデータをそのまま格納するステ
ップ。
【0045】ここで、ラスタライズされたデータサイズ
を64ビット、圧縮されたコードを格納する圧縮データ
テーブル(CDT)の各ブロックワード(BW)ごとの
レコードであるCDRのサイズを32ビット、圧縮不能
のデータを格納する非圧縮データテーブル(UDT)の
各ブロックワード(BW)ごとのレコードであるUCD
Rのサイズを64ビットとして、各テーブルの関係を図
16に示す。
【0046】1ページのフレームバッファのある部分に
描画される場合、64×64の分割された領域のどの部
分かを算出する。この位置に対応して、WMT内のレコ
ードWMR102のアドレスを得る。このWMR102
に対応してCDTのアドレスを確保する。そのCDT内
のCDR103に該当する64ビットのラスタライズデ
ータの上位ビットから順に白ドット又は黒ドットが何ド
ット続くかで符号化する。64ビットのラスタライズデ
ータを全て符号化して32ビットのCDR103に格納
できれば圧縮可能となり、その符号化データをCDRに
103に圧縮データレコードCDRとして格納する。
【0047】一方、符号化データがCDR103に格納
できなかった場合、ラスタライズデータをそのままUD
TのUCDR104に格納して、そのUCDR104の
格納されているポインタをCDR103に格納する。
【0048】このランレングス圧縮符号化処理で圧縮不
能になったラスタライズデータの傾向を見てみると、イ
メージ画像のグラフィックスパターンのデータが、ほと
んど圧縮不能となる。一般的にイメージ画像の背景パタ
ーンには、グレイスケールパターンを使用しているもの
が多く、データ量も膨大になるので、このデータが圧縮
出来ないと圧縮率の大幅なに低下になる。
【0049】一例として、図17の(a)に示す1ブロ
ックワード(BW)の64ビットのラスタライズデータ
をランレングス圧縮方式で符号化しようとすると、最初
に白が6ドットあるので、図13示したハフマン・コー
ドで符号化すると‘11010’の5ビットコードにな
り、次に黒が1ドットあるので‘0’の1ビットコード
になる。その後は白の7ドットと黒の1ドットが順次7
回繰り返されるので、それぞれ‘11011’の5ビッ
トコードと‘0’の1ビットコードに変換され、符号化
されたコードのビット構成は図17の(b)に示すよう
になり、合計48ビットになってしまうため、32ビッ
トのCDRには格納できずに圧縮不能となる。
【0050】この発明では、この欠点を補うために、こ
のようにランレングス圧縮符号化処理で圧縮不能になっ
て、図16に示した非圧縮データテーブルUDTに格納
されたUCDRに対して、第2の圧縮方式である差分圧
縮方式による圧縮処理を行なうものである。差分圧縮方
式による符号化は、図15に示す差分圧縮用のテーブル
を参照して符号化する。
【0051】例えば、前述した図17の(a)に示した
64ビットのラスタライズデータに対して、差分圧縮符
号化処理を行なうと、最初に白が6ドットあるので、図
15のテーブルより、‘11110000’の8ビット
コードに変換する。次に黒が1ドットなので、‘10’
の2ビットコードに変換する。その次から差分圧縮の特
長とするところで、次は白が7ドットなので、直前の白
のドット数との差分をとる。前の白が6ドットで今度は
7ドットと1ドット増えているので、その「1」を図1
5のテーブルから符号化し、‘10’の2ビットコード
に変換する。
【0052】もし、差分ドット数が減る場合は図15の
テーブルに「Sign」を用意してあるのでこれを符号
化する。次の黒ドットの場合も同様に直前の黒が1ドッ
トで今度の黒も1ドットなので、差分は「0」となり
‘0’の1ビットコードに変換する。これを繰り返した
結果、符号化されたコードのビット構成は図17の
(c)に示すようになり、25ビットの符号化データと
なるから32ビットのCDRに格納でき、圧縮可能にな
る。
【0053】そこで、この発明の一実施態様として、図
6に示した1ページ分の印刷を行なう際の動作フローに
おいて、ランレングス圧縮方式による圧縮処理が終了し
た後、図18のフロー図に示すように上述した差分圧縮
方式による圧縮処理を行なう方法を説明する。
【0054】この差分圧縮処理では、非圧縮データレコ
ードUCDRがあるか否かを判断し、なければそのまま
図6のフローにリターンして、圧縮画像の伸長及びビデ
オ信号出力処理へ移行する。UCDRがあれば、そのU
CDRを順次読み込み、上述のような差分圧縮符号化処
理を試み、圧縮可能であれば圧縮データレコードCDR
へその圧縮コードを格納し、そのUCDRを削除して最
初の判断へ戻り、圧縮不能であればそのまま最初の判断
へ戻る。未処理のUCDRがなくなるまで上述の処理を
繰り返した後、図6のフローへリターンする。
【0055】この場合の圧縮データレコードCDRと非
圧縮データレコードのビット構成は図19に示すように
なる。CDRは圧縮可/不可フラグ,スタートドット白
/黒フラグ,圧縮方式フラグがそれぞれ1ビット、符号
化データ又はUCDRポインタが29ビットの構成にな
る。ここで、圧縮方式フラグとして、従来のランレング
ス圧縮方式で圧縮できた場合は“0”、差分圧縮方式で
圧縮できた場合は“1”のようにフラグを立てる。この
圧縮方式フラグと、スタートドット白/黒フラグとを参
照して、符号化データを伸長して64ビットのデータに
復元することができる。
【0056】ところで、図18によって説明した差分圧
縮処理によって、圧縮可能になって削除されたUCDR
は不使用UCDRとなるが、これをその後の有効に再利
用できるようにするためのガーベージ・コレクションに
ついて簡単に説明する。その方法としては、種々の方法
があるが、例えば使用しなくなったUCDR内に“XX
………XXX1”で示すようなフラグ情報を設けること
により、新たな他の領域を必要としないでガーベージ・
コレクションを実行することができる。
【0057】あるいは、UCDRとは別領域にアドレス
レジスタを設け、不使用になったUCDRのアドレスポ
インタを、そのアドレスレジスタに格納することによ
り、このアドレスレジスタが指すアドレスを直接参照す
るという簡単な方法でガーベージ・コレクションを実行
できる。
【0058】例えば、その後別のUCDRが発生した場
合、このアドレスレジスタの指すアドレスにそのUCD
Rを格納することができるので、圧縮しながらリアルタ
イムのガーベージ・コレクションが可能になる。
【0059】さらに、まず1個目の不使用UCDRが発
生したら、その1個目の不使用UCDRのアドレスをア
ドレスレジスタに格納する。その後2個目の不使用UC
DRが発生した場合、アドレスレジスタの指す1個目に
はNULLデータのような終端情報を格納し、アドレス
レジスタの内容を2個目に格納し、2個目のアドレスを
他のアドレスレジスタに格納する。3個目の時は、アド
レスレジスタの内容を3個目に格納し、3個目のアドレ
スをさらに他のアドレスレジスタに格納する。これを順
次繰り返す。
【0060】図20は、RAMのスクラッチパッドメモ
リ内にA−Iまでの不使用UCDRがある状態を示して
いる。このようにすることにより、全ての不使用のUC
DRを芋づる式に辿ることができるので、任意の数、任
意のタイミングでガーベージ・コレクションが可能にな
る。
【0061】次に、この発明の他の実施態様について説
明する。図6に示した1ページ分の印刷を行なう際の動
作フローにおいて、Aで示す部分の圧縮処理を、図21
に示すように変更することにより、無駄なUCDRを発
生させることなく、この発明を実施することができる。
PSファイルのラスタライズ後、ホワイトマップテーブ
ルWMTの作成等を行なった後、フブロック単位での圧
縮処理として図21に示すように、まずランレングス圧
縮符号化処理を行なう。その結果、圧縮可能であれば圧
縮データレコードCDRへ圧縮コードを格納する。
【0062】圧縮可能でなかったら、次に差分圧縮符号
化処理を行なう。その結果、圧縮可能であれば圧縮デー
タレコードCDRへ圧縮コードを格納する。その際に
は、図19に示したCDRの最上位から3ビット目の圧
縮方式フラグを“1”にする。ここでも圧縮できなかっ
たら、図19に示した64ビットの非圧縮データレコー
ドUCDRを作成して、ラスタライズされた非圧縮デー
タを格納する。その後、図6のフローに戻り、1ページ
分のデータの処理を終了するまで、PSファイルのラス
タライズと上述のブロック単位の圧縮処理を繰り返す。
【0063】このようにすれば、ランレングス圧縮方式
で符号化処理している途中で、その圧縮コードがCDR
に格納可能なサイズを越えた場合は、ただちに差分圧縮
方式に切り替えて圧縮処理を行なうので、それにより圧
縮可能になった場合には不要なUCDRを発生させずに
済み、メモリの有効利用と処理の高速化を図ることがで
きる。
【0064】また、図19に示すようにCDRに圧縮方
式フラグを設けて、圧縮可能になった圧縮方式を記憶し
ているので、次のブロックについては、まず前回ラスタ
ライズデータが圧縮可能だった圧縮方式と同じ圧縮方式
で符号化を試みるようにすることもできる。一般に印刷
画像のラスタライズ処理は、オブジェクト単位での処理
なので、似たようなラスタライズデータが連続するもの
が多いから、このようにすることにより圧縮処理を速め
ることができる。
【0065】あるいはまた、ラスタライズデータが圧縮
可能だった圧縮方式を個々に、ある一定の期間カウント
し、使用した圧縮処理の回数が多いか比率が高い方をデ
フォルトの圧縮処理とするように切り替えるようにして
もよい。それによって最初の圧縮処理で圧縮可能になる
確率が上がり、圧縮処理の高速化につながる。
【0066】
【発明の効果】以上説明してきたように、この発明によ
れば、ラスタライズした印刷用データを、イメージ画像
も含めて大部分圧縮して格納できるようになり、ページ
プリンタのメモリ容量を大幅に節減でき、高解像度のペ
ージプリンタを低価格で提供することを可能にする。
【図面の簡単な説明】
【図1】図2乃至図4に示したページプリンタ200に
おけるPSファイルの文書データを印刷するための処理
に係わる部分の機能構成を示すブロック図である。
【図2】この発明を適用したページプリンタを用いた画
像形成システムの構成例を示す図である。
【図3】図2におけるページプリンタの一例を示す外観
図である。
【図4】同じくその内部機構の概略を示す縦断面図であ
る。
【図5】図4におけるコントローラ基板19の構成を示
すブロック図である。
【図6】図1に示した各部により1ページ分の印刷を行
なう際の動作フロー図である。
【図7】PSフアイルをラスタライズしたデータの1ユ
ニット(unit)の構成を示す図である。
【図8】同じくそのブロックワードBWのドット数及び
1ユニットのライン数の具体例を示す図である。
【図9】各ユニットに対するホワイトマップテーブル
(WMT)のサイズを示す図である。
【図10】図9のWMTに格納する圧縮データテーブル
(CDT)の構成を示す図である。
【図11】図10に示したCDTの実アドレス(CDT
アドレス)のレコードの長さを示す図である。
【図12】非圧縮時のデータ格納メモリアドレス(UD
Tアドレス)をBWに格納する場合の説明図である。
【図13】ランレングス圧縮方式で白ドットあるいは黒
ドットのランレングスを符号化するためのハフマン・コ
ードの説明図である。
【図14】ランレングス圧縮方式による圧縮コードの変
換例を示す図である。
【図15】差分圧縮方式で白ドットの前後の差分あるい
は黒ドットの前後の差分を符号化するためのテーブルの
説明図である。
【図16】この発明によるデータ圧縮処理に使用する各
テーブルの関係を示す図である。
【図17】イメージ画像の1BWのデータの一例とそれ
をランレングス圧縮方式と差分圧縮方式でそれぞれ符号
化した場合のビット数の説明図である。
【図18】この発明の一実施態様における差分圧縮処理
のフロー図である。
【図19】この発明による圧縮結果を格納するCDRと
圧縮不能データを格納するUCDRのビット構成を示す
図である。
【図20】使用しなくなったUCDRのガーベージ・コ
レクション方式の一例を示す説明図である。
【図21】この発明の他の実施形態における圧縮処理の
フロー図である。
【符号の説明】
10:感光体ドラム 11:帯電部 12:光書込部 13:現像部 14:転写部 15:定着部 19:コントローラ基板 20:エンジンドライバ基板 21:ホストスクリプト(PS)インタープリタ 22:圧縮部 23:圧縮メモリ 24:非圧縮メモリ 25:伸長部 27:ビデオ出力部 100:パーソナルコンピュータ 101:プリンタドライバ 200:ページプリンタ 201:CPU 206:RAM 208:プリンタエンジン

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 ページプリンタにおいて、印刷すべき文
    書データを所定の解像度にラスタライズし、そのラスタ
    ライズされたデータに対して、主走査方向にtドットで
    構成されるブロックと、主走査方向あるいは副走査方向
    にuブロックで構成されるユニットの2つの基本単位を
    用い、印刷すべき文書データを1ページ分ずつラスタラ
    イズするために必要なページバッファを前記ユニット単
    位に分割し、 その分割した各ユニットが全白であるかどうかをチェッ
    クして、その結果をmビットのホワイトマップテーブル
    (WMT)に保存し、 前記ユニットが全白でない場合に、前記ホワイトマップ
    テーブル(WMT)で指定されるアドレス領域にuブロ
    ック分のnビットの圧縮データテーブル(CDT)を用
    意して、u個分のブロック毎にそのデータをランレング
    ス圧縮符号化処理し、圧縮できたらその結果を圧縮デー
    タレコード(CDR)として格納し、 圧縮できなかった場合には、前記圧縮データテーブル
    (CDT)で指定されるアドレス領域にtビットの非圧
    縮データテーブル(UDT)を用意して、該ブロックの
    データをそのまま非圧縮データレコード(UCDR)と
    して格納した後、 前記非圧縮データレコード(UCDR)あれば、順次そ
    の各データに対して差分圧縮符号化処理を行ない、圧縮
    できたらその結果を前記圧縮データテーブル(CDT)
    に圧縮データレコード(CDR)として格納することを
    特徴とするデータ圧縮方法。
  2. 【請求項2】 請求項1記載のページプリンタにおける
    データ圧縮方法において、前記差分圧縮符号化処理で圧
    縮できた非圧縮データレコード(UCDR)を削除する
    ことを特徴とするデータ圧縮方法。
  3. 【請求項3】 ページプリンタにおいて、印刷すべき文
    書データを所定の解像度にラスタライズし、そのラスタ
    ライズされたデータに対して、主走査方向にtドットで
    構成されるブロックと、主走査方向あるいは副走査方向
    にuブロックで構成されるユニットの2つの基本単位を
    用い、印刷すべき文書データを1ページ分ずつラスタラ
    イズするために必要なページバッファを前記ユニット単
    位に分割し、 その分割した各ユニットが全白であるかどうかをチェッ
    クして、その結果をmビットのホワイトマップテーブル
    (WMT)に保存し、 前記ユニットが全白でない場合に、前記ホワイトマップ
    テーブル(WMT)で指定されるアドレス領域にuブロ
    ック分のnビットの圧縮データテーブル(CDT)を用
    意して、u個分のブロック毎にそのデータをランレング
    ス圧縮符号化処理し、圧縮できたらその結果を圧縮デー
    タレコード(CDR)として格納し、 圧縮できなかった場合には、そのブロックのデータに対
    して差分圧縮符号化処理を行ない、圧縮できたらその結
    果を前記圧縮データテーブル(CDT)に圧縮データレ
    コード(CDR)として格納し、 前記いずれの圧縮符号化処理によっても圧縮できなかっ
    た場合には、前記圧縮データテーブル(CDT)で指定
    されるアドレス領域にtビットの非圧縮データテーブル
    (UDT)を用意して、該ブロックのデータをそのまま
    非圧縮データレコード(UCDR)として格納すること
    を特徴とするデータ圧縮方法。
  4. 【請求項4】 請求項3記載のページプリンタにおける
    データ圧縮方法において、前記ブロック毎のデータの圧
    縮ができた場合に、前記ランレングス圧縮符号化処理と
    差分圧縮符号化処理のいずれで圧縮できたのかを記憶
    し、次のブロックのデータに対しては、その記憶してい
    る方の圧縮符号化処理を先に実施することを特徴とする
    データ圧縮方法。
  5. 【請求項5】 請求項3記載のページプリンタにおける
    データ圧縮方法において、前記ブロック毎のデータ圧縮
    処理の際に、前記ランレングス圧縮符号化処理で圧縮で
    きずに前記差分圧縮符号化処理を施した割合をカウント
    し、その割合が所定値以上のときは、デフォルトの圧縮
    処理を差分圧縮符号化処理に切り替えることを特徴とす
    るデータ圧縮方法。
JP8104030A 1996-03-31 1996-03-31 ページプリンタにおけるデータ圧縮方法 Pending JPH09270919A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8104030A JPH09270919A (ja) 1996-03-31 1996-03-31 ページプリンタにおけるデータ圧縮方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8104030A JPH09270919A (ja) 1996-03-31 1996-03-31 ページプリンタにおけるデータ圧縮方法

Publications (1)

Publication Number Publication Date
JPH09270919A true JPH09270919A (ja) 1997-10-14

Family

ID=14369854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8104030A Pending JPH09270919A (ja) 1996-03-31 1996-03-31 ページプリンタにおけるデータ圧縮方法

Country Status (1)

Country Link
JP (1) JPH09270919A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008227888A (ja) * 2007-03-13 2008-09-25 Naltec Inc メモリインターフェイスユニットおよびメモリユニット
US8103619B1 (en) * 2001-11-15 2012-01-24 Teradata Us, Inc. Compressing data stored in a database system
WO2013099449A1 (ja) * 2011-12-26 2013-07-04 株式会社メガチップス データ記憶制御装置、データ記憶装置、データ読出制御装置、データ記憶方法、圧縮回路、および圧縮方法
JP2016132105A (ja) * 2015-01-16 2016-07-25 京セラドキュメントソリューションズ株式会社 画像形成装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8103619B1 (en) * 2001-11-15 2012-01-24 Teradata Us, Inc. Compressing data stored in a database system
JP2008227888A (ja) * 2007-03-13 2008-09-25 Naltec Inc メモリインターフェイスユニットおよびメモリユニット
WO2013099449A1 (ja) * 2011-12-26 2013-07-04 株式会社メガチップス データ記憶制御装置、データ記憶装置、データ読出制御装置、データ記憶方法、圧縮回路、および圧縮方法
JP2013135254A (ja) * 2011-12-26 2013-07-08 Mega Chips Corp データ記憶制御装置、データ記憶装置、データ読出制御装置、データ記憶方法、圧縮回路、および圧縮方法
US9536323B2 (en) 2011-12-26 2017-01-03 Megachips Corporation Data storage control apparatus, data storage apparatus, data readout control apparatus, data storage method, compression circuit, and compression method
JP2016132105A (ja) * 2015-01-16 2016-07-25 京セラドキュメントソリューションズ株式会社 画像形成装置

Similar Documents

Publication Publication Date Title
US5835685A (en) Page printer, resolution converting method, and variable-length reversible compression process
JP3792823B2 (ja) 印刷装置及び印刷制御装置
JPH10147017A (ja) 印刷装置及びデータ制御方法
EP0398681B1 (en) Output apparatus
JPH08278862A (ja) 画像出力装置および画像処理方法
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
JPH06344601A (ja) 出力装置および出力方法
JPH09270919A (ja) ページプリンタにおけるデータ圧縮方法
JP3581470B2 (ja) ページプリンタにおけるデータ処理方法及びページプリンタ
JP3611921B2 (ja) ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ
JP3606985B2 (ja) ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ
JPH09252409A (ja) ページプリンタにおけるデータ圧縮方法
JPH08307695A (ja) ページプリンタ及びそのデータ処理方法
JPH1023272A (ja) ページプリンタにおけるデータ圧縮方法及び伸長方法
US5946459A (en) System for clearing an image data buffer in a high-speed digital printing apparatus
JPH09248943A (ja) ページプリンタにおけるデータ圧縮方法
JPH11203070A (ja) プリンタ制御装置
JPH08307677A (ja) 多値画像を印刷可能なページプリンタ
JP3204136B2 (ja) 画像処理装置及び圧縮処理方法
JPH0993425A (ja) 画像形成装置
JPH08307696A (ja) ページプリンタにおけるデータ圧縮・伸長方法
JPH08307676A (ja) ページプリンタおよびその画像データ処理方法
JP3244745B2 (ja) 画像処理装置
JP2001169120A (ja) 画像処理装置及びその方法、及び画像処理システム
JPH06171160A (ja) 印刷情報処理装置