JP3611921B2 - ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ - Google Patents
ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ Download PDFInfo
- Publication number
- JP3611921B2 JP3611921B2 JP07867096A JP7867096A JP3611921B2 JP 3611921 B2 JP3611921 B2 JP 3611921B2 JP 07867096 A JP07867096 A JP 07867096A JP 7867096 A JP7867096 A JP 7867096A JP 3611921 B2 JP3611921 B2 JP 3611921B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- white
- block
- memory
- 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
Links
Images
Landscapes
- Record Information Processing For Printing (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
この発明は、白黒およびカラーのレーザプリンタ、LEDプリンタ等のページプリンタ(デジタル複写機のプリンタ部も含む)におけるデータ圧縮・伸長処理方法、およびそれを実施するページプリンタに関する。
【0002】
【従来の技術】
近年、レーザプリンタ等のページプリンタの解像度は益々高くなり、最近では600DPIが主流になっている。今後は800DPIや1200DPIのプリンタが出現するであろうし、マルチ・リゾリューション・プリンタ、すなわちエミュレーションに応じてエンジンの解像度が変化するプリンタも増えてくるであろう。
【0003】
しかし、ページプリンタ内の1ページ分のビットマップデータを展開するフレームバッファのメモリ容量は、A4,600DPIで約4MB、A3,600DPIでは約8MBになる。このようなフレームバッファのメモリ容量の増加は、製品価格に大きな影響を与える。一方、ページプリンタの価格は逆に低価格へと推移しているため、高解像度化に伴う価格上昇をなんらかの手段で抑えなければならない。
【0004】
そのための2値画像データの可逆圧縮技術には、ファクシミリ等で用いられるMH(ハフマン符号化方式:一次元圧縮法によるG3ファクシミリの標準符号化方式),MR(二次元圧縮法によるG3ファクシミリではオプションの符号化方式),MMR(MR符号化方式の変形で、G4ファクシミリの標準符号化方式)や、コンピュータで扱うテキストファイルやバイナリファイルに用いられる、例えばLZ方式の圧縮等がある。また、最近では国際標準である算術符号化を用いたJBIG方式もある。
【0005】
【発明が解決しようとする課題】
しかしながら、これらの2値画像データ圧縮技術は、画像あるいはファイルの先頭から順番に逐次符号化処理を行なうので、所望の任意ブロックだけをリアルタイムに復元することはできない。
【0006】
ページプリンタでは、印刷すべき文書情報がコンピュータのCRT上で実際に作成された順番にくるため、ある大きさのブロック単位で圧縮処理を施さなければならない。従って、上記圧縮技術をそのまま使用することはできない。
また、2値画像データの固定長可逆圧縮技術は世の中に存在しない。従って、対象とする画像データによっては、所望の容量に圧縮できない場合がある。
【0007】
そこで、本発明者等は先に、ページプリンタにおいて印刷すべき文書データを所定の解像度にラスタライズし、そのラスタライズされたデータに対して所定の大きさのブロック単位で可変長可逆圧縮処理を施し、その各圧縮コードを圧縮メモリに格納すると共に、主走査方向又は副走査方向に連続する複数のブロックによって構成されるユニットが全て白データの場合には特定コードを圧縮メモリに格納し、該圧縮メモリへの1ページ分あるいはそれを複数に分割したデータの圧縮コードの格納が完了した後、その圧縮コードを伸長してプリンタエンジンにビデオ信号を出力する画像データの圧縮・伸長方法を発明した。
【0008】
さらに、その圧縮コードを伸長する際、上記ユニット単位で上記特定コードの有無を判別し、該特定コードがあると判別したときには、そのユニットの圧縮コードに対して読み出し及び伸長を行なわず、直接全白データをプリンタエンジンへ転送するようにした画像データの圧縮・伸長方法も発明した。
【0009】
このようにすれば、ページプリンタにおいて、ラスタライズされた印刷用データを格納するフレームバッファのメモリ容量を大幅に削減でき、高解像度のページプリンタを安価に提供できるようになる。
しかも、1ユニット内が全て白データであるときには、そのユニットのデータを読み出さないので、1ユニット内の各ブロック分のメモリアクセスを削減できるため、圧縮コードの伸長処理を効率良く行なえる。
【0010】
しかしながら、表計算アプリケーションによる印字等のように罫線の多い画像の場合には、殆ど白となる部分が多く存在するにもかかわらず、極く一部に黒データが存在するために、1ユニット内の各ブロックの圧縮コードを全て読み出して伸長処理をすることになるため、メモリバスのアクセスが多く、処理効率を充分高めることができないという問題があった。
この発明はこのような問題を解決して、ラスタライズ後に圧縮されてメモリに格納された印刷用データを伸長(解凍ともいう)して、プリンタエンジンにビデオ信号を出力する処理を、より効率よく行なえるようにすることを目的とする。
【0011】
【課題を解決するための手段】
この発明は、上述したようなプリンタにおけるデータ圧縮・伸長処理方法において上記の目的を達成するため、ラスタライズされたデータを、所定数のドットで構成されるブロックと、所定数のそのブロックで構成されるユニットとをそれぞれ基本単位として分割し、上記ラスタライズされたデータに対する可変長可逆圧縮処理をそのブロック単位で施してメモリに格納する。
さらに、上記ユニットを構成するデータが全て白であるかどうかを該ユニット毎にチェックし、該ユニットを構成するデータが全て白でない場合には、該ユニットを構成するブロック毎に該ブロックを構成するデータが全て白であるかどうかをチェックする。
【0012】
そして、上記ユニット毎のチェック結果が、全て白であったユニットを構成する全ブロックおよび前記ブロック毎のチェック結果が全て白であった各ブロックに対しては、上記メモリに格納された圧縮コードの読み出し及び伸長処理を行わず、直接上記所定数のドットの全白データをプリンタエンジンへ送出することを特徴とする。
【0013】
また、ページプリンタにおいて、印刷すべきデータをラスタライズし、そのラスタライズされたデータに対して可変長可逆圧縮処理を施して、その圧縮処理された圧縮コードをメモリに格納し、該メモリに格納された圧縮コードを読み出して伸長処理をし、その伸長処理されたデータをプリンタエンジンへ送出するデータ圧縮・伸長方法であって、次のようにすることを特徴とするデータ圧縮・伸長方法も提供する。
主走査方向にtドットで構成されるブロックと、主走査方向あるいは副走査方向にuブロックで構成されるユニットの2つの基本単位を用い、上記印刷すべきデータを1ページ分ずつラスタライズするために上記メモリとして必要なページバッファを前記ユニット単位に分割する。
その分割した各ユニットのデータが全て白であるかどうかをチェックし、その結果を上記メモリ内のmビットのホワイトマップテーブル(WMT)に保存する。
【0014】
そして、1ユニットのデータが全て白でない場合には、該ユニットを構成するブロック毎にそのデータが全て白であるかどうかをチェックして、その結果を上記ホワイトマップテーブル(WMT)に上記ユニット単位でその各ブロックのステータス情報として保存すると共に、上記ホワイトマップテーブル(WMT)にアドレスを格納して、上記メモリのそのアドレスで指定される領域に圧縮データテーブル(CDT)を用意して、各ブロック毎にそのデータに対して可変長可逆圧縮処理を施し、その圧縮コードを該圧縮データテーブル(CDT)に圧縮データレコード(CDR)として格納する。
【0015】
上記ブロック毎の圧縮処理が不可能な場合には、上記メモリの圧縮データテーブル(CDT)で指定されるアドレス領域にtビットの非圧縮データテーブル(UDT)を用意して、そこに該ブロックのデータをそのまま格納する。
このようにして、1ページ分のデータを格納した後、上記圧縮データテーブル(CDT)に格納された各ユニットのブロック毎の圧縮コードを読み出して伸長処理をし、その伸長処理したデータをプリンタエンジンへ転送する際に、上記ユニット単位でホワイトマップテーブル(WMT)の各ブロックのステータス情報を読み込んで、該ステータス情報が全て白であることを示すブロックに対しては、上記メモリに格納された圧縮コードの読み出し及び伸長処理を行なわず、直接tドットの全白データをプリンタエンジンへ送出する。
【0016】
このようにすることにより、各ユニット毎にデータが全て白のブロックについては、メモリに格納された圧縮コードの読み出し及び伸長処理、さらにその伸長したデータのビデオバッファへの転送を行なわないので、メモリバスのアクセス回数を削減でき、圧縮データの伸長(解凍)処理を効率よく行なうことができる。
この発明はさらに、印刷すべきデータをラスタライズし、そのラスタライズされたデータに対して可変長可逆圧縮処理を施して、その圧縮処理された圧縮コードをメモリに格納し、該メモリに格納された圧縮コードを読み出して伸長処理をし、その伸長処理したデータをプリンタエンジンへ送出するデータ圧縮・伸長装置であって、次の各手段を設けたことを特徴とするデータ圧縮・伸長装置も提供する。
すなわち、上記ラスタライズされたデータを、所定数のドットで構成されるブロックと、所定数の該ブロックで構成されるユニットとをそれぞれ基本単位として分割する手段と、上記ラスタライズされたデータに対する可変長可逆圧縮処理を上記ブロック単位で施す手段と、上記ユニットを構成するデータが全て白であるかどうかを該ユニット毎にチェックし、該ユニットを構成するデータが全て白でない場合には、該ユニットを構成するブロック毎に該ブロックを構成するデータが全て白であるかどうかをチェックする手段と、上記ユニット毎のチェック結果が全て白であったユニットを構成する全ブロックおよび上記ブロック毎のチェック結果が全て白であった各ブロックに対しては、上記メモリに格納された圧縮コードの読み出し及び伸長処理を行わず、直接上記所定数のドットの全白データをプリンタエンジンへ送出する手段とを設ける。
【0017】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて具体的に説明する。
図2はこの発明によるページプリンタを用いた画像形成システムの構成例を示す図であり、100はパーソナルコンピュータ、200がページプリンタである。通常、ユーザはパーソナルコンピュータ100のCRT画面とキーボードとDTP(デスクトップ・パブリッシング)アプリケーションを使って文書を作成し、プリンタドライバ101を通してページプリンタ200に転送して印刷を行なう。
【0018】
プリンタドライバ101は、通常印刷すべき文書内容をページプリンタ200がサポートするプリンタ言語、例えばヒューレット・パッカード(HP)社のPCLやAdobe社のポストスクリプト言語等にコンバートする。前者に接続されたプリンタを一般にPCLエミュレーション・プリンタ、後者に接続されたプリンタをポストスクリプト・プリンタと呼ぶ。また、パーソナルコンピュータ100側で全てラスタライズされたビットイメージを印刷するだけのダムプリンタと呼ばれるプリンタもある。
【0019】
ページプリンタ200としては、レーザプリンタやインクジェットプリンタ、あるいはサーマルプリンタ等があるが、高速印刷という点でレーザプリンタが勝る。最近はカラーのレーザプリンタも市場に出始めており、それを使用することも可能である。また、解像度は年々高まる一方で、現在は600DPIが標準となっている。
以下の実施例では、ページプリンタ200を600DPIの白黒ポストスクリプト・レーザプリンタ(以下単に「ページプリンタ」と称する)として説明するが、この発明はそれに限定されるものではない。
【0020】
図3はそのページプリンタの外観図であり、図4はその内部機構の概略を示す縦断面図である。
このページプリンタ200は、給紙トレイ2を着脱可能に備え、上部に第1排紙スタッカ3を設け、後部に第2排紙スタッカ4を設けている。2個の排紙スタッカ3,4への排紙は切換爪5によって切換え可能である。通常は、排紙スタッカとして第1排紙スタッカ3が選択されるが、封筒や葉書などのカールし易い紙を使用する場合など、特別な場合に第2排紙スタッカ4が選択される。
【0021】
さらに、内部にはプリンタエンジンの作像部を構成する感光体ドラム10,帯電部11,光書込部12,現像部13,転写部14,定着部15と、給紙ローラ16及びレジストローラ対17等による給紙部と、搬送ローラとペーパガイド板等からなる排紙用搬送部18と、このページプリンタ全体を制御するプリンタコントローラを構成するコントローラ基板19及びプリンタエンジンのシーケンスコントローラを構成するエンジンドライバ基板20等が設けられている。
【0022】
そして、プリンタエンジンのシーケンスコントローラによりプリントシーケンスが開始されると、給紙ローラ16によって給紙トレイ2から給紙を始め、その用紙の先端をレジストローラ対17に突き当てた状態で一時停止させる。
一方、感光体ドラム10は図4の矢印A方向へ回転し、帯電部11で帯電された表面に、光書込部12によってプリンタコントローラからの画像データに応じて変調されたレーザビームを、ドラム軸方向に主走査しながら照射して露光し、感光体ドラム10の表面に静電潜像を形成する。
【0023】
それを現像部13でトナーによって現像し、レジストローラ対17によって所定のタイミングで給送される用紙に転写部14において転写し、定着部15で加熱定着したプリント紙を第2排紙スタッカ4へ送出するか、排紙用搬送部18を通して上部の第1排紙スタッカ3へ搬送する。
【0024】
図5はコントローラ基板19の内部ブロック図である。
このコントローラ基板19は、CPU201,NVRAM203,プログラムROM204,フォントROM205,RAM206,及び4個のインタフェース(以下「I/F」と略称する)207,209,211,213と、これらを接続するバスライン215によって構成されている。
【0025】
CPU201は、プログラムROM204に格納されたプログラム、操作パネル210からのモード指示、ホスト装置であるパーソナルコンピュータ(パソコン)100からのコマンド等によって、このコントローラ全体を制御する。また、挿着されたICカード202から、フォントデータやプログラム等を取り込むこともできる。この発明によるデータ圧縮・伸長処理もこのCPU201による制御のもとでなされる。
NVRAM203は、操作パネル210からのモード指示の内容などを記憶しておく不揮発性メモリである。
【0026】
プログラムROM204は、このコントローラの制御プログラムを格納している読出し専用メモリである。
フォントROM205は、文字フォントのパターンデータなどを記憶する。
RAM206は、CPU201のワークメモリ,入力データのインプットバッファ,プリントデータのページメモリ(フレームバッファ),ビデオバッファ,ダウンロードフォント用のメモリ等に使用するランダムアクセス・メモリである。
【0027】
エンジンI/F207は、実際に印刷を行なうプリンタエンジン208と接続されて、コマンド及びステータスや印字データの通信を行なうインタフェースである。
パネルI/F209は、操作パネル210と接続されて、コマンド及びステータスの通信を行なうインタフェースであり、操作パネル210は、使用者に現在のプリンタの状態を表示して知らせたり、使用者がモード指示を行なったりするパネル装置である。
【0028】
ホストI/F211は、ホスト装置であるパーソナルコンピュータ100と通信を行なうインタフェースであり、通常はセントロニクスI/FやRS232Cを使用する。
ディスクI/F213は、ディスク装置214と通信を行なうためのディスクインタフェースである。ディスク装置214は、フォントデータやプログラム、あるいは印字データなどの種々のデータを記憶しておくための外部記憶装置であり、フロッピディスク装置やハードディスク装置などである。
【0029】
次に、このページプリンタ200によるページ印刷の動作について説明する。図1は、図5に示したコントローラ基板19及び600DPIのプリンタエンジン208による、ページ印刷の処理に係わる部分の機能構成を示すブロック図である。そのPSインタープリタ21と圧縮部22及び伸長部25は、図5のCPU201等による機能、圧縮メモリ23と非圧縮メモリ24はRAM206のメモリ領域、ビデオ出力部27はエンジンI/F207の機能をそれぞれ示している。
【0030】
図6は、この発明によるデータ圧縮・伸長方法により1ページ分の印刷を行なう際の動作フロー図である。そこで、この図6のフローに沿って、図1を参照しながらページ印刷の動作を説明する。
図2に示したパーソナルコンピュータ100内のプリンタドライバ101が、印刷すべき文書データをページ毎にポストスクリプト(以下、PSと記す)ファイルに変換してページプリンタ200へ送る。
【0031】
ページプリンタ200がそのPSファイルを受信すると、図1に示したPSインタープリタ21が、それをプリンタエンジン208の性能による印刷の解像度と同じ600DPIの解像度であるで、ある大きさのブロック単位でラスタライズし、そのラスタライズしたデータに対して、圧縮部22がそのブロック単位で可変長可逆圧縮処理を試みる。このブロック単位については追って詳述する。
【0032】
そして圧縮できれば、その結果の圧縮コードを圧縮メモリ23へストアする。この圧縮メモリ23は、300DPIで1ページ分に相当する容量を持つページメモリで、図5に示したRAM206のメモリ領域を使用する。
圧縮できなかったら、ラスタライズされた600DPIのデータを非圧縮メモリ24へストアする。実際には、この非圧縮メモリ24は圧縮メモリ23を兼用することができるので、RAM206のメモリ容量を増加させる必要はない。
なお、この圧縮メモリ23と非圧縮メモリ24を含むページメモリは、その1ページ分の領域をN個に分割した各領域に、上記圧縮コード及び非圧縮のデータを順次格納していくようにしてもよい。
【0033】
1ページ分の処理が終了したら、圧縮画像の伸長及びビデオ信号出力を行なう。すなわち、圧縮メモリ23へストアした圧縮コードをページの左上から順番に伸長部25で伸長(解凍処理ともいう)し、600DPIの画像データに復元して、ビデオ出力部27内のビデオバッファ(フレームメモリ)にビットマップ展開する。非圧縮メモリ24にストアした600DPIの非圧縮画像データは、そのままビデオバッフアの後述する圧縮データテーブル(CDT)によって指定されたアドレスに展開する。
【0034】
そして、このビデオバッファに展開された画像データを、ビデオ出力部27がシリアルなビデオ信号として、プリンタエンジン208へ送出して印刷させる。
このときのビデオ出力部27内のビデオバッファは、図5のRAM206あるいは別のメモリに確保した1ページ分のフレームメモリ領域を使用する。その具体例は後述する。
あるいは1ページ分のフレームメモリの1/Nの大きさのメモリ領域を使用し、1ページ分の画像データの展開およびそれによるビデオ信号の出力をN回に分けて行なうこともできる。
【0035】
次に、図1及び図6によって説明したブロック単位の可変長可逆圧縮処理の詳細について図7乃至図14を参照して説明する。
PSファイルをラスタライズするデータのブロック単位を、図7に示すようにtドット(dot) のブロックワードBWとする。そして、図7の(a)又は(b)に示すように、このtドット(dot) のブロックワードBWが主走査方向(a)あるいは副走査方向(b)にu個分連続して1ユニット(unit)を構成している。
すなわち、1ユニット(unit)=u*BWである。
【0036】
そして、図5に示したCPU201は、図1のPSインタープリタ21としての機能によってPSファイルをラスタライズ(描画)した際、その1ユニットのデータが全て白ドットか否かを調べ、全て白の場合には圧縮部22を使用せずに直接圧縮メモリ23のホワイトマップテーブルWMTをNULL( 0xffffffff )にする。黒ドットが1つでもあると、そのユニットを構成する各ブロックワードBW毎に、圧縮部22に圧縮処理を行なわせる。
【0037】
図8はそのブロックワードBW及びユニットの具体例を示し、PSファイルをラスタライズしたデータに対して、64ドット(dot) の白ドット及び/又は黒ドットからなるブロックワードBWの8(line)分を1ユニットとする。すなわち、1ユニット(unit)=8*BW=8*64(dot)とする。
【0038】
さらに、各ユニットに対して図9に示すように、32bit のホワイトマップテーブル(White Map Table:WMT)を用意する。そして、1ユニットのデータが全て白ドットなら、WMTをNULL(0xffffffff)とし、もし、黒ドットが1つ以上存在するなら、図10に示す32bitの圧縮データテーブル(Compression Data Table:CDT)の実アドレス(CDTアドレス)を格納する。
【0039】
なお、CDTアドレスが示すレコードの長さは、図11に示すように
8*CDT=8*32ビット(bit)=32バイト(byte) とする。CDTは1つのブロックワードBWに対応し、後述の圧縮方式を試みて、もし圧縮可能であったら、図10に示す圧縮データテーブルCDTのbit29〜bit0に、その圧縮コードを格納する。また、もし圧縮不可能であったら、bit31=1とし、bit30〜bit0に非圧縮時のデータ格納メモリアドレス(Uucompression Data Table
Address:UDTアドレス)を格納する(図12)。
【0040】
ここで使用する圧縮方式は、次に示す2ステップからなる。まず始めに、対象となるブロックワードBWが全部白ドットか、全部黒ドットかを調べる。もし、そうであったらCDTアドレスをそれぞれ、0x00000000 又は 0x7fffffffとする。
もし、そうでない場合には、先頭ドットが白ドットか黒ドットか(図10に示したCDTの bit30にて“0”か“1”で指定)に応じて、白ドットあるいは黒ドットのランレングスを図13に示すハフマン・コードで符号化する、いわゆるランレングス圧縮符号化方式で圧縮する。
【0041】
例えば、図14の(a)に示す64ドットのブロックワードBWは、同図(b)に示す32ビットの圧縮コードに変換される。なお、最後の白ドット(ランレングス=10)は、圧縮コードに含まれないが、最後の黒ドット(ランレングス=19)の後ろが全て白ドットであることから復元が可能である。また、CDTの余った領域には、1を書き込むようにする。
【0042】
さらに、この発明によれば、1ユニットのデータが全て白でない場合には、該ユニットを構成するブロック毎にそのデータが全白であるかどうかをチェックして、その結果をホワイトマップテーブル(WMT)に各ブロックのステータス情報として保存する。
【0043】
そのため、圧縮メモリ23内のホワイトマップテーブル(WMT)において、各ユニット毎に用意されるユニットレコードに、図15に示すようにCDRステータスとしてuビット(この例では上位 8bit)を確保し、それをユニット内の各BWが全て白かどうかを示すステータス情報のフラグを格納するために使用し、圧縮データテーブル内のこのユニットの圧縮コード格納領域を示すCDRアドレスポインタ用には、残りの24ビットを使用する。
【0044】
圧縮データテーブルCDTと非圧縮データテーブルUDTは64ビット(8バイト)単位以上の大きさなので、CDT&UDT領域へのアドレスポインタは、下位3ビットが必ず“0”となる。そこでホワイトマップテーブルWMTのユニットレコード内のCDRアドレスポインタは下位3ビットを省いた情報にできる。つまり、アドレスポインタ情報として27ビット使用できれば問題はない。
【0045】
この図15に示すユニットレコード内のCDRステータスは、ホワイトマップテーブルWMTの初期化時は全て“1”である。そして、その8ビットの各ビットをそのユニットを構成する各BWにそれぞれ対応させ、前述のように対象となるBWのデータが全部白ドットか全部黒ドットかを調べたとき、全部白ドットであればそのBWに対応するビットをクリアして“0”にする。
【0046】
各ユニットに対する再書き込みにおいて、圧縮動作前の上記判断で、新規に全白と判断されたブロックワードBWがある場合は、CDRステータス内の対応するビットをクリアして“0”にする。
上記動作において、CDRステータス内のフラグが全て“0”となった場合は、ユニットレコードのビット内容を全て“0”にして、CDRに使用していたメモリを解放する。
【0047】
次に、図6における「圧縮画像の伸長・ビデオ信号出力」の処理について、図16乃至図18によって説明する。
図16は、図1における圧縮メモリ23,非圧縮メモリ24及びビデオバッファのメモリ領域を有するRAM206と、伸長部25及びビデオ出力部27と、プリンタエンジン208との関係を模式的に示すブロック図であり、ビデオ出力部27とプリンタエンジン208との間に、図1では図示を省略したFIFOメモリ28を設けている。29は、伸長(解凍)部25及びビデオ出力部27からRAM206をアクセスするためのメモリバスである。
【0048】
図17は、その伸長部25による(実際には図5のCPU201によって制御される)圧縮画像の伸長処理を示すフローチャートである。
このフローチャートに従って、図16に示す伸長(解凍)部25による処理を説明する。
【0049】
伸長部25はまず、RAM206による第1の記憶部(WMTやCDR,UCDRが格納されてるエリア)中のホワイトマップテーブルWMTの前述したユニットレコードを読み出す。このデータが全て“0”の場合は、そのユニット(例:64ドット×8ライン)が全て白ドットであることを示している。
この実施形態では、伸長部25内に第3の記憶部としてNULL(ヌル)テーブルを設け、その該当する領域にCDRステータス情報をコピーして格納する。
このNULLテーブルは、1個のWMTのユニットレコードに対して8ビットの情報、すなわち8スキャンライン(BW)分の情報を持つ。
【0050】
WMTのユニットレコードの読み出しを1スキャンライン分行なうと、ラインカウント値をu(この例ではブロックワード数の8)にし、NULLテーブルの該当するビットが“0”か否かをチェックする。
そして、“0”であればそのBWに対しては、第1の記憶部からの圧縮データの読み出し及び伸長処理は行なわない。該当するビットが“1”のときは、第1の記憶部からの圧縮データの読み出し及び伸長処理を行なってその復元したデータを第2の記憶部であるビデオバッファVBに転送する。
【0051】
1スキャンライン(BW)の処理を終了すると、ラインカウント値を−1して、ラインカウント値が0になるまで(この例では8スキャンライン)、順次各スキャンライン(BW)に対して上述の処理を行なう。
図18に、WMT内のユニットレコードとCDRの各BWの状態とNULLテーブルとの関連を示す。
【0052】
(A)はCDRの例である。何らかの黒ドットデータが存在するBWを網かけで示している。図示の例では第2,4,5,7番目のBWに何らかの黒ドットデータが存在し、第1,3,6,8番目のBWは全白である。
(B)は(A)のCDRに対応するユニットレコードの内容を示したものであり、各BWにおいて全白のBWに対応するCDRステータス内のビットが“0”になっている。1stBW〜8thBWがそれぞれCDRステータス内のbit31〜bit24に対応している。
【0053】
(C)はNULLテーブルの例であり、スキャンライン方向のXnドットの
bit7〜bit0が(B)のユニットレコード内のCDRステータスのbit31〜bit24に対応している。
したがって、NULLテーブル30においてこのビットが“0”になっているBWに対しては、第1の記憶部からの圧縮データの読み出しも伸長処理も行なわないので、メモリバス29のアクセス回数を削減でき、処理効率を高めることができる。
【0054】
伸長(解凍)処理済みのデータは、第2の記憶部であるビデオバッファBVに一旦格納されるが、そのデータ転送を行なわないし、ビデオバッファBVからビデオ出力部27へのデータ転送も行なわないので、メモリバス29のアクセス回数を一層削減できる。
【0055】
図16において、第2の記憶部であるビデオバッファVBに格納されたデータは、ビデオ出力部27のビデオキュー31及びFIFO28を介してプリンタエンジン208に送出される。但し、伸長部25のNULLテーブルのフラグが“0”になっているBWに対するデータは、ビデオバッファVBからの読み出しは行なわず、ビデオ出力部27のビデオキュー31から直接tドット(この例でき64ドット)の全白データをプリンタエンジン208へ送出する。
【0056】
【発明の効果】
以上説明してきたように、この発明によれば、ページプリンタのメモリ容量を削減して、高解像度化と低価格化とを可能にすると共に、圧縮データの伸長(解凍)及びビデオ信号送出の際に、メモリバスのアクセス回数を大幅に削減して処理効率を高め、パフォーマンスの向上を計ることができる。
【図面の簡単な説明】
【図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】非圧縮時のデータ格納メモリアドレス(UDTアドレス)をBWに格納する場合の説明図である。
【図13】白ドットあるいは黒ドットのランレングスを記述するハフマン・コードの説明図である。
【図14】圧縮コードの変換例を示す図である。
【図15】ホワイトマップテーブル(WMT)内のユニットレコードのビット構成を示す図である。
【図16】この発明による図6における圧縮画像の伸長およびビデオ信号出力の処理に係わる部分の説明に供するブロック図である。
【図17】図16に示す伸長部25による圧縮画像の伸長処理を示すフロー図である。
【図18】WMT内のユニットレコードとCDRの各BWの状態とNULLテーブルとの関連を示す図である。
【符号の説明】
10:感光体ドラム 11:帯電部
12:光書込部 13:現像部
14:転写部 15:定着部
19:コントローラ基板
20:エンジンドライバ基板
21:ポストスクリプト(PS)インタープリタ
22:圧縮部 23:圧縮メモリ
24:非圧縮メモリ 25:伸長部
27:ビデオ出力部 28:FIFOメモリ
29:メモリバス 30:NULLテーブル
31:ビデオキュー
100:パーソナルコンピュータ
101:プリンタドライバ
200:ページプリンタ 201:CPU
206:RAM 208:プリンタエンジン
VB:ビデオバッファ
Claims (3)
- ページプリンタにおいて印刷すべき文書データをラスタライズし、そのラスタライズされたデータに対して可変長可逆圧縮処理を施して、その圧縮処理された圧縮コードをメモリに格納し、該メモリに格納された圧縮コードを読み出して伸長処理をし、その伸長処理したデータをプリンタエンジンへ送出するデータ圧縮・伸長方法であって、
前記ラスタライズされたデータを、所定数のドットで構成されるブロックと、所定数の該ブロックで構成されるユニットとをそれぞれ基本単位として分割し、
前記ラスタライズされたデータに対する可変長可逆圧縮処理を前記ブロック単位で施すとともに、
前記ユニットを構成するデータが全て白であるかどうかを該ユニット毎にチェックし、該ユニットを構成するデータが全て白でない場合には、該ユニットを構成するブロック毎に該ブロックを構成するデータが全て白であるかどうかをチェックし、
前記ユニット毎のチェック結果が全て白であったユニットを構成する全ブロックおよび前記ブロック毎のチェック結果が全て白であった各ブロックに対しては、前記メモリに格納された圧縮コードの読み出し及び伸長処理を行わず、直接前記所定数のドットの全白データをプリンタエンジンへ送出することを特徴とするデータ圧縮・伸長方法。 - ページプリンタにおいて印刷すべき文書データをラスタライズし、そのラスタライズされたデータに対して可変長可逆圧縮処理を施して、その圧縮処理された圧縮コードをメモリに格納し、該メモリに格納された圧縮コードを読み出して伸長処理をし、その伸長処理されたデータをプリンタエンジンへ送出するデータ圧縮・伸長方法であって、
主走査方向にtドットで構成されるブロックと、主走査方向あるいは副走査方向にuブロックで構成されるユニットの2つの基本単位を用い、前記印刷すべきデータを1ページ分ずつラスタライズするために前記メモリとして必要なページバッファを前記ユニット単位に分割し、
その分割した各ユニットのデータが全て白であるかどうかをチェックし、その結果を前記メモリ内のmビットのホワイトマップテーブル(WMT)に保存し、
1ユニットのデータが全て白でない場合には、該ユニットを構成するブロック毎にそのデータが全て白であるかどうかをチェックして、その結果を前記ホワイトマップテーブル(WMT)に前記ユニット単位でその各ブロックのステータス情報として保存すると共に、上記ホワイトマップテーブル(WMT)にアドレスを格納して、前記メモリのそのアドレスで指定される領域に圧縮データテーブル(CDT)を用意して、各ブロック毎にそのデータに対して可変長可逆圧縮処理を施し、その圧縮コードを該圧縮データテーブル(CDT)に圧縮データレコード(CDR)として格納し、
前記ブロック毎の圧縮処理が不可能な場合には、前記メモリの前記圧縮データテーブル(CDT)で指定されるアドレス領域にtビットの非圧縮データテーブル(UDT)を用意して、そこに該ブロックのデータをそのまま格納することにより、1ページ分のデータを格納した後、
前記圧縮データテーブル(CDT)に格納された各ユニットのブロック毎の圧縮コードを読み出して伸長処理をし、その伸長処理したデータをプリンタエンジンへ転送する際に、前記ユニット単位で前記ホワイトマップテーブル(WMT)の各ブロックのステータス情報を読み込んで、該ステータス情報が全て白であることを示すブロックに対しては、前記メモリに格納された圧縮コードの読み出し及び伸長処理を行なわず、直接tドットの全白データをプリンタエンジンへ送出することを特徴とするデータ圧縮・伸長処理方法。 - 印刷すべきデータをラスタライズし、そのラスタライズされたデータに対して可変長可逆圧縮処理を施して、その圧縮処理された圧縮コードをメモリに格納し、該メモリに格納された圧縮コードを読み出して伸長処理をし、その伸長処理したデータをプリンタエンジンへ送出するページプリンタであって、
前記ラスタライズされたデータを、所定数のドットで構成されるブロックと、所定数の 該ブロックで構成されるユニットとをそれぞれ基本単位として分割する手段と、
前記ラスタライズされたデータに対する可変長可逆圧縮処理を前記ブロック単位で施す手段と、
前記ユニットを構成するデータが全て白であるかどうかを該ユニット毎にチェックし、該ユニットを構成するデータが全て白でない場合には、該ユニットを構成するブロック毎に該ブロックを構成するデータが全て白であるかどうかをチェックする手段と、
前記ユニット毎のチェック結果が全て白であったユニットを構成する全ブロックおよび前記ブロック毎のチェック結果が全て白であった各ブロックに対しては、前記メモリに格納された圧縮コードの読み出し及び伸長処理を行わず、直接前記所定数のドットの全白データをプリンタエンジンへ送出する手段と
を設けたことを特徴とするページプリンタ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07867096A JP3611921B2 (ja) | 1996-04-01 | 1996-04-01 | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07867096A JP3611921B2 (ja) | 1996-04-01 | 1996-04-01 | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09269875A JPH09269875A (ja) | 1997-10-14 |
JP3611921B2 true JP3611921B2 (ja) | 2005-01-19 |
Family
ID=13668312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP07867096A Expired - Fee Related JP3611921B2 (ja) | 1996-04-01 | 1996-04-01 | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3611921B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000270226A (ja) * | 1999-03-17 | 2000-09-29 | Fuji Xerox Co Ltd | 画像処理装置および画像処理方法 |
JP6683060B2 (ja) * | 2016-08-18 | 2020-04-15 | コニカミノルタ株式会社 | 画像処理装置、方法およびプログラム |
-
1996
- 1996-04-01 JP JP07867096A patent/JP3611921B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09269875A (ja) | 1997-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5704020A (en) | Page printer resolution converting method, and variable-length reversible compression process | |
US8294914B2 (en) | Image forming apparatus and method for changing number of lines in band buffer based on memory size to be required | |
US6860203B2 (en) | Method and apparatus for printing computer generated images | |
US6310693B1 (en) | Printing control apparatus and method, and printing system for reducing processing overhead | |
JP3611921B2 (ja) | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ | |
JP3581470B2 (ja) | ページプリンタにおけるデータ処理方法及びページプリンタ | |
JP3606985B2 (ja) | ページプリンタにおけるデータ圧縮・伸長方法及びページプリンタ | |
JP3685234B2 (ja) | 画像処理装置 | |
US6009241A (en) | Printing grade control | |
JP3728183B2 (ja) | 印刷制御装置および描画制御装置およびデータ処理方法および記憶媒体 | |
JPH09270919A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JPH08307695A (ja) | ページプリンタ及びそのデータ処理方法 | |
US5946459A (en) | System for clearing an image data buffer in a high-speed digital printing apparatus | |
JPH1023272A (ja) | ページプリンタにおけるデータ圧縮方法及び伸長方法 | |
US8437046B2 (en) | Image processing apparatus and method for outputting an image subjected to pseudo-halftone processing | |
JPH0993425A (ja) | 画像形成装置 | |
JPH08307676A (ja) | ページプリンタおよびその画像データ処理方法 | |
JPH09252409A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JPH08307677A (ja) | 多値画像を印刷可能なページプリンタ | |
JPH09248943A (ja) | ページプリンタにおけるデータ圧縮方法 | |
JPH08307696A (ja) | ページプリンタにおけるデータ圧縮・伸長方法 | |
JP3204136B2 (ja) | 画像処理装置及び圧縮処理方法 | |
JPH08307694A (ja) | 画像データ圧縮処理装置 | |
JPH09102879A (ja) | 画像形成装置 | |
JPH08307693A (ja) | ページプリンタ及びその解像度変換方法ならびに2値画像の可変長可逆圧縮処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A132 Effective date: 20040511 |
|
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: 20041019 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041021 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071029 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081029 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091029 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101029 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111029 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121029 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131029 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |