JP2004351719A - Printing device and controlling method therefor - Google Patents

Printing device and controlling method therefor Download PDF

Info

Publication number
JP2004351719A
JP2004351719A JP2003151229A JP2003151229A JP2004351719A JP 2004351719 A JP2004351719 A JP 2004351719A JP 2003151229 A JP2003151229 A JP 2003151229A JP 2003151229 A JP2003151229 A JP 2003151229A JP 2004351719 A JP2004351719 A JP 2004351719A
Authority
JP
Japan
Prior art keywords
band
data
encoding
raster data
printing
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.)
Withdrawn
Application number
JP2003151229A
Other languages
Japanese (ja)
Inventor
Toru Wakana
徹 若菜
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2003151229A priority Critical patent/JP2004351719A/en
Publication of JP2004351719A publication Critical patent/JP2004351719A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To realize a printing process with a small memory capacity by performing a compression or extension on a band unit when printing data is received from host equipment such as a host computer and is printed and outputted to a recording medium such as recording paper. <P>SOLUTION: Printing data described in the PDL received from a host computer is classified into band unit-specific code expressions (S302), raster data is generated for each band, objects in the data is binarized by using a dither matrix prepared for each object, and compressed into a code and stored (S303). This coding is performed by counting objects for every kind of object, and considering the periodicity of a dither matrix for the kind under which most objects fall in generating raster data for a band. When compressed coded data for a band count for a page is generated, an individual band is extended for printing (S304). <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明はホストコンピュータ等の上位装置から出力された印刷データを受信し、印刷を行う技術に関するものである。
【0002】
【従来の技術】
従来、レーザービームプリンタなどの、いわゆるページプリンタと呼ばれる画像形成装置においては、1ページ分のラスタデータをラスタメモリ上に保持して画像形成を行なっていた。このような画像処理装置としてのラスタデータは、テキストだけでなく、単なる図形から写真のような画像まであらゆる画像を扱うものである。
【0003】
また、これらの画像形成装置は、近年解像度が向上し、例えば600dpiの解像度で、A4サイズ1ページ分作成するためには4MByteものメモリを必要とする。そして現在も解像度はますます増大する傾向にあり、さらに従来1画素2階調(1ビット)で表現されていた階調も、16階調(4ビット)〜256階調(8ビット)へと向上しつつあり、ますます膨大なラスタメモリを必要とするようになってきている。更にまた、最近ではカラーを扱う装置も登場してきており、モノクロに比べYMCK空間の4プレーン分を必要とし、ますますメモリサイズが膨大になってきている。
【0004】
このようなメモリの増大によるコストアップを抑えるため、様々な省メモリ技術が提案されている。例えば1ページ分のラスタデータをラスタメモリ上にそのままもつのではなく、バンド状に分割する手法がある。この手法は、1バンド分のラスタデータを生成しては印刷するものである。この結果、装置には1ページ分のメモリを必要とせず、比較的低コスト化できるようになる。
【0005】
更に、このバンド方式を採用しつつ、更なる印刷速度を実現するため、バンド単位にラスタデータを生成しては、そのバンドラスタデータを圧縮符号化しては格納する順次行ない、その一方で、既に圧縮符号化されたバンドデータを順次復号化してプリンタエンジンに出力することで、スループットを上げ、画像形成を高速化することも行われている。
【0006】
【発明が解決しようとする課題】
ところで、プリンタエンジンが2値エンジンの場合に階調画像を形成する手法として知られているものにディザマトリクスを用いたディザ処理が知られている。上記のようにバンド単位にラスターデータを圧縮する際には、そのラスターデータは多値から2値へ変換させ、すなわち、1画素が多ビットで表現されていうる状態から1画素が1ビットに表現される画像に変換することで情報量が削減できるので、この2値化結果を圧縮符号化の対象とすることが望ましい。
【0007】
ディザ処理後の画像(2値画像)を圧縮する際に有効なものは、ディザ処理で用いたディザマトリクスの周期性を利用するものである。すなわち、ディザマトリクスのサイズを仮にM(水平方向のサイズ)×N(垂直方向のサイズ)としたとき、その2値化結果は水平方向M画素の周期で同じになる可能性が高いし、垂直方向はN画素の周期で同じになる可能性が高い。すなわち、ディザマトリクスのサイズによる周期性で各2値化結果の画素の相関関係が高いと言える。
【0008】
そこで、2値化された画素を水平方向の位置iを用いてXiと表現したとき、{X0,XM,X2M…}、{X1,XM+1,X2M+1,…}、…{XM−1,X2M−1,…}とすれば、各グループのランが稼げ高い圧縮率が期待できる。
【0009】
しかし、最近ではより一層の高画質化を目指すために、ラスタデータの解像度によってディザパターン(ディザマトリクスのサイズ)を切り替えたり、ラスタデータの階調によってディザパターンを切り替えたり、YMCK色空間におけるラスタデータの各色でディザパターンを切り替えたり、ラスタデータ中の文字、イメージ、矩形といった各オブジェクト毎にディザパターンを切り替えたりと、多種多様な方法がとられるようになってきた。
【0010】
従って、様々なオブジェクトに対してそれぞれに特化したディザパターンやディザマトリクスサイズを採用すると、2値化結果の相関が一様ではなくなり、高い圧縮率が得られにくくなるという問題があった。
【0011】
本発明はかかる問題点に鑑みなされたものであり、ホストコンピュータ等の上位装置から印刷データを受信し、記録紙等の記録媒体上に印刷出力する際に、バンド単位の圧縮・伸長を行うことで、少ないメモリ容量で印刷処理を実現し得る技術を提供しようとするものである。
【0012】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明に係る印刷装置は以下の構成を備える。すなわち、
上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置であって、
受信した印刷データをバンド毎に分類する手段と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成手段と、
生成されたバンドのラスタデータを圧縮符号化する符号化手段と、
符号化されたバンドのラスタデータを伸長して印刷出力する手段とを備え、
前記符号化手段は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行うことを特徴とする。
【0013】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【0014】
図1は、実施形態におけるレーザビームプリンタ(以下、LBPと略す)の内部構造を示す断面図である。このLBPはホストコンピュータ(図2参照)から文字パターンの登録や定型書式(フォームデータ)などの登録が行える。
【0015】
同図において、1000はLBP本体であり、外部に接続されているホストコンピュータ(図2の2001)から供給される文字情報(文字コード)やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。1012は操作のためのスイッチおよびLCD表示器などが配されている操作パネル、1001はLBP1000全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット1001は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ1002に出力する。 レーザドライバ1002は半導体レーザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオンオフ切り替えする。レーザ1004は回転多面鏡1005で左右方向に振られ静電ドラム1006上を走査する。これにより、静電ドラム1006上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム1006周囲の現像ユニット1007により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と1011とにより装置内に取り込まれて、静電ドラム1006に供給される。
【0016】
図2は、2001はホストコンピュタなどの外部機器を示し、2002はプリンタコントローラ部全体を示し、2003はアドレス/データ/制御バスを示している。2004はバッファ部を含むホストI/F、2005はプリンタコントローラ部を制御するCPU、2006はコントローラ制御などを行なうプログラムやフォントデータを格納しているROM、2007はCPU2005により制御されるDMAC、2008は操作パネル部、2009はエンジン2011(図1参照)に送るためのデータを格納しておくための出力バッファ部を含むI/F回路部、2010はRAM部を示している。
【0017】
上記構成において、実施形態における動作を以下に説明する。
【0018】
図3は実施形態におけるLBP1000の全体の動作処理手順であるフローチャートである。
【0019】
先ず、ステップS301において、ホストコンピュータなどの外部機器2001よりホストI/F部2004を介してPDL(ビットマップデータを含むページ記述言語)で記述された印刷データが入力されてくる。
【0020】
ステップS302において、ステップ301のPDLを解析し、バンド符号化表現の作成を行う。ここでいうバンド符号化表現とは、バンド単位に分割された「ビットマップ」、「ランレングス」、「台形」、「ボックス」、「高速境界符合化されたビットマップ」などの描画オブジェクトと背景パターン、および、それらをラスタメモリに描画する際の描画論理の総称であって、要するに、バンド毎に分類する処理である。
【0021】
次にステップS303において、圧縮ページ作成の処理を行う。本実施形態では、PDLデータを解析し、レンダリング及び各オブジェクト毎に用意されたディザマトリクスで2値化し、それをバンド単位に行っては圧縮、記憶する処理を行う。1ページ分を構成する全バンドの圧縮処理が完了すると、ステップS304において、圧縮されたバンド単位に伸長してはプリンターエンジンに出力する処理を行う。
【0022】
次に、ステップS303の圧縮ページ作成処理の詳細を、図4のフローチャートに従って説明する。
【0023】
先ず、ステップS401において、RAM2010からワークメモリの獲得を行う。ここでワークメモリとは、被圧縮データ を格納するための領域のことである。次いで、ステップS402において、バンド番号を示す“N”を“1”で初期化する。
ただし、1ページ分のバンド数をN_MAXとしたとき、
1≦N≦N_MAX を満たすものとする。
【0024】
次にステップS403において、バンド番号Nが
N≦N_MAX
を満たすかどうかを判定する。
【0025】
ここで、N≦N_MAX を満たすなら、未処理のバンドがあると判断してステップS404にすすみ、N>N_MAXであると判断した場合には1ページ分の全バンドに対する処理が終了したと判断しステップS407に進む。ここで、N≦N_MAXであると判断し、ステップS404に進んだ場合を説明する。
【0026】
ステップS404においては、レンダリング処理を行う。レンダリング処理についての詳細は第5図のフローチャートを用いて行う。
【0027】
ステップS501において、ステップS302で作成したバンド符号化表現の構成されているオブジェクト構成(例えば、文字、イメージ、図形など)の種別を解析する。
【0028】
次にステップS502において、ステップS501で解析したバンド符号化表現をオブジェクト毎に選別する。この場合も文字、イメージ、図形などである。
【0029】
そして、ステップS503において、ステップS502で選別したオブジェクトの種別毎にその個数をカウントし、図2のRAM2010の一部分を利用して格納する。
【0030】
次にステップS504において、図4のステップS401で獲得したワークメモリへ、図3のステップS301のバンド符号化表現をビットマップ化して格納し、そのオブジェクトに対応するディザマトリクスを用いて2値化する。次にステップステップS505すすみ、本レンダリング処理の処理系が終了し、図4のステップS404に戻る。
【0031】
図4の説明に戻る。処理がステップS405に進むと、レンダリングした注目バンドの圧縮処理を行う。ここで圧縮処理とはステップS401のワークメモリにステップS404でレンダリングしたバンドデータに対して圧縮処理を行い、図2のRAM2010の一部に存在する不図示のページメモリへ格納することを指すものとする。ただし、この圧縮時に図5のステップS503でカウントしたオブジェクト毎の個数を図2のRAM2010に格納してある値を読み出す。
【0032】
まず、N=1、すなわち、1バンド目の場合を説明する。この場合、1回目のバンド処理であるので、レンダリングされたオブジェクトの個数が一番多いオブジェクトを選択する。理由は、一番多いオブジェクトが、そのバンドのレンダリングした際に支配的である可能性が高いからである。そして、その一番多く出現したオブジェクトのレンダリングした最に用いたディザマトリクスのサイズを検査し、それを基準に圧縮符号化を行う。
【0033】
ディザ処理された画像を圧縮する手法としてはディザ周期を利用して行う。以下、簡単に説明する。
【0034】
一般に、ディザマトリックスサイズをM×Nとし、バンドデータ上での任意画素の座標を(x,y)と表現したとき、X軸方向には座標(x+M,y)の位置の画素と(x,y)の画素の相関関係は強く(高く)なる。同様にバンドデータ上での任意画素の座標を(x,y)とすると、Y軸方向には座標(x,y+N)の位置の画素と(x,y)の画素の相関関係は強くなる。従って、ディザマトリクスサイズM,Nの値を獲得し、圧縮時に適用することで、圧縮率の向上に役立てることができる。
【0035】
すなわち、或るラインについて着目した場合、{x、x+M、x+2M、…}、{x+1、x+M+1、x+2M+1、…}、…、{x+M−1、x+2M−1、x+3M−1、…}のM個のグループに分類したとき、各グループ内においては0、もしくは1が連続する可能性が高くなるので、各グループ毎にランレングス符号化を用いることで高い圧縮率が期待できることを利用する。
【0036】
一方、N=2以降、すなわち、2バンド目以降の処理の場合は、圧縮率をより向上させるために後述するステップS406の圧縮状態調査の結果を用いて、画素の相関関係を導き出すものとする。この圧縮状態調査については、ステップS406で説明する。
【0037】
ステップ406において、ステップ405における圧縮バンドの圧縮状態調査を行う。なお、圧縮状態の調査の詳細は、図6のフローチャートを用いて説明する。
【0038】
ステップS601において、図4のステップS405での圧縮処理の結果を調査する。圧縮処理の結果とは、ステップS404で設定した画素の相関関係と圧縮率を予め規定値を設け、その既定値との比較で圧縮効率の状態を定めるものである。ただし、本実施形態では圧縮率の既定値とは図2のRAM2010から予め圧縮ページ格納用に割り当てられているメモリのサイズに依存する値とする。ステップS601での比較結果で圧縮率が規定値よりも良い場合は、ステップ603に進み、この圧縮状態の調査の処理系を終了する。つまり、画素の相関関係は現状で問題ないことを示している。一方、ステップS601での比較結果で圧縮率が既定値よりも悪い場合は、ステップS602に進む。
【0039】
ステップS602では、ステップS601での比較結果から画素の相関関係は現状では問題がある事を示しているので、この画素の相関関係の改善を行う。この画素の相関関係の改善方法について、以下に説明する。
【0040】
まず図5のレンダリング処理において、レンダリングされたオブジェクトが一番多いオブジェクトに注目して、そのオブジェクトのディザパターンのマトリックス周期から画素の相関関係を求めていた。しかし、この場合、他のオブジェクトのディザパターンのマトリックス周期と同じであるとは限らないので、もし同じでない場合この周期のズレが圧縮率に影響を与えている。そこで、レンダリングされたオブジェクトで二番目に多いオブジェクトに注目し、一番多いオブジェクトとのマトリックス周期との相関関係を導き出す。本実施形態の場合は、レンダリングされた結果の一番目に多いオブジェクトのディザパターンのマトリックス周期とレンダリングされた結果の二番目に多いオブジェクトのディザパターンのマトリックス周期との最小公倍数を画素の相関関係に用いるものとする。
【0041】
この結果を次のバンドN+1のレンダリングと圧縮時に用いて適用する。これは、NバンドとN+1バンドのように隣接するバンドにおいては、両者のバンドでは似たようなオブジェクトの状態があることが予想されるため、このような方法を適用している。これにより、最適な相関関係を導き出すことが可能になり、符号化効率の面で有効となる。
【0042】
次にステップ603にすすみ、圧縮状態調査の処理系を終了し、図4のステップS406を終える。
【0043】
次にステップ407において、バンド番号“N”を次のバンドを指し示すように、“1”だけ増加更新する。
【0044】
そして、再びステップS403において、N≦N_MAXを満たすかどうか調べる。もし満たすなら、ステップ404以下を前記と同様に処理する。また、N>N_MAXである場合には、ステップS408に進んで、ステップ400の圧縮ページ作成の処理系が終了し、図3のステップS303を終え、ステップS304の印刷処理を行うことになる。
【0045】
ここで、ステップS304の印刷処理について、図7のフローチャートを用いて説明する。
【0046】
先ず、ステップS701において、バンド番号を示す“N”を“1”で初期化する。
ただしNは、整数値で、
1≦N≦N_MAX
を満たすものとする。
ただし、N_MAXは1ページのバンド数であり、
1≦N_MAX を満たす整数値である。
【0047】
次にステップS702において、バンド番号Nが
N≦N_MAX
を満たすかどうかを調査する。
【0048】
もし、N≦N_MAXである場合には、1ページの印刷処理が未完であると判断してステップS703に進む。また、N>N_MAXである場合には、1ページの印刷が完了したものと判断し、ステップS705に進む。ここでは、N≦N_MAXである場合を説明する。
【0049】
ステップS703において、NバンドのShippingを行う。ここでShippingとは、バンドデータをビデオ信号に変換して図2のエンジン部2011へ送信することを意味する。さらに図4の圧縮ページ作成処理において、既にこのページは圧縮されているので、伸長する必要がある。ここでは、伸長しながら同時にShippingが可能なものとする。
【0050】
次にステップS704にすすみ、バンド番号“N”を次のバンド番号を指し示すよう“1”だけ増加更新し、ステップS702へ戻る。
【0051】
こうして、ステップS703、704の処理を繰り返すことで、ついにはN>N_MAXなる関係になり、本印刷処理を終了することになる。
【0052】
以上説明したように本実施形態によれば、画素の相関関係を利用した符号化方式で符号化する場合に、高画質化されて複雑になったラスタデータの各種情報を検証し、画素の相関関係を導き出し、対応する符号化を施すことで、高い圧縮率が期待でき、印刷処理のスループット及びメモリを有効利用できるようになる。
【0053】
なお、実施形態では、1ページ分のバンドを圧縮したのち、それを伸長して印刷処理を行ったが、圧縮するバンド数は1ページ分に限らず、メモリ容量が許すかぎり複数ページにわたって圧縮記憶するようにしてもよい。その際、印刷処理を行うときは、少なくとも1ページ分のバンド数の圧縮データが生成されたか否かで判断すればよいであろう。
【0054】
また、上記実施形態では、レンダリングされるバンドに対して複数のディザパターンを用いる場合を扱ったが、単一であっても構わない。その場合は、解像度や階調、色などによってディザパターンの周期を獲得するような処理系であっても構わない。
【0055】
更に、上記実施形態では、単一の圧縮方式を使う場合を扱ったが、複数の圧縮方式の中から選択する形をとる場合であっても構わない。
【0056】
更にまた、実施形態では、特にモノクロ、カラーの区別をつけなかったが、モノクロあるいはカラーの処理に限定した場合であっても構わない。
【0057】
また、実施形態では、注目画素との相関関係を獲得する場合を扱ったが、画素単位でなくバイト単位、その他の単位であっても構わない。
【0058】
また、実施形態では、コントローラ内部でオブジェクトの特製を獲得する処理の場合を扱ったが、ホストコンピュータなどの外部機器でオブジェクトの特性を獲得する処理であって、コマンド等によりコントローラ部に伝える場合であっても構わない。
【0059】
更にまた、実施形態では、PDLによる印刷装置について扱ったが、それ以外の画像処理装置であっても構わない。
【0060】
【発明の効果】
以上説明したように本発明によれば、ホストコンピュータ等の上位装置から印刷データを受信し、記録紙等の記録媒体上に印刷出力する際に、バンド単位の圧縮・伸長を行うことで、少ないメモリ容量で印刷処理を実現することが可能になる。
【図面の簡単な説明】
【図1】実施形態における印刷装置の断面構造図である。
【図2】実施形態における印刷装置のブロック構成図である。
【図3】実施形態における印刷装置の処理手順を示すフローチャートである。
【図4】実施形態における印刷装置の処理手順を示すフローチャートである。
【図5】実施形態における印刷装置の処理手順を示すフローチャートである。
【図6】実施形態における印刷装置の処理手順を示すフローチャートである。
【図7】実施形態における印刷装置の処理手順を示すフローチャートである。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a technique for receiving print data output from a host device such as a host computer and performing printing.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in an image forming apparatus called a page printer such as a laser beam printer, one page of raster data is held in a raster memory to form an image. Raster data as such an image processing device handles not only text but also all kinds of images from simple figures to images such as photographs.
[0003]
The resolution of these image forming apparatuses has been improved in recent years. For example, a resolution of 600 dpi requires 4 Mbytes of memory to create one A4 size page. At present, the resolution tends to increase more and more, and the gray scale conventionally expressed by two gray scales (1 bit) per pixel is changed from 16 gray scales (4 bits) to 256 gray scales (8 bits). Increasingly, they require an increasingly large amount of raster memory. Furthermore, recently, a device that handles color has appeared, and requires four planes of the YMCK space as compared with monochrome, and the memory size is becoming enormous.
[0004]
In order to suppress the cost increase due to such an increase in memory, various memory saving techniques have been proposed. For example, there is a method in which one page of raster data is not stored in the raster memory as it is, but is divided into bands. In this method, one band of raster data is generated and printed. As a result, the apparatus does not require a memory for one page, and the cost can be relatively reduced.
[0005]
Furthermore, in order to realize a further printing speed while adopting this band method, raster data is generated in band units, and the band raster data is compressed, coded and stored sequentially. It is also practiced to sequentially decode the compression-encoded band data and output it to a printer engine, thereby increasing the throughput and speeding up image formation.
[0006]
[Problems to be solved by the invention]
By the way, dither processing using a dither matrix is known as a technique for forming a gradation image when the printer engine is a binary engine. When compressing raster data in band units as described above, the raster data is converted from multi-valued data to binary data, that is, one pixel is represented by one bit from a state where one pixel can be represented by many bits. Since the amount of information can be reduced by converting the binarized image into a compressed image, it is desirable that the binarized result be subjected to compression encoding.
[0007]
What is effective in compressing the image after dither processing (binary image) is to use the periodicity of the dither matrix used in the dither processing. That is, when the size of the dither matrix is assumed to be M (size in the horizontal direction) × N (size in the vertical direction), the binarization result is likely to be the same in the cycle of M pixels in the horizontal direction. The directions are likely to be the same in the cycle of N pixels. In other words, it can be said that the correlation between the pixels of each binarization result is high due to the periodicity due to the size of the dither matrix.
[0008]
Therefore, when the binarized pixel is expressed as Xi using the horizontal position i, {X0, XM, X2M...}, {X1, XM + 1, X2M + 1,. By setting 1,..., It is possible to expect a high compression ratio in which the runs of each group can be achieved.
[0009]
However, recently, in order to further improve the image quality, the dither pattern (the size of the dither matrix) is switched according to the resolution of the raster data, the dither pattern is switched according to the gradation of the raster data, and the raster data in the YMCK color space is changed. A variety of methods have been adopted, such as switching a dither pattern for each color, or switching a dither pattern for each object such as characters, images, and rectangles in raster data.
[0010]
Therefore, when a specialized dither pattern or dither matrix size is used for various objects, the correlation between the binarized results is not uniform, and a high compression ratio is hardly obtained.
[0011]
SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and it is intended to receive band print data from a host device such as a host computer and to perform compression and decompression in band units when printing out on a recording medium such as recording paper. Therefore, it is an object of the present invention to provide a technology capable of realizing a printing process with a small memory capacity.
[0012]
[Means for Solving the Problems]
In order to solve such a problem, for example, a printing apparatus according to the present invention has the following configuration. That is,
A printing device that receives print data from a higher-level device and forms an image on a predetermined recording medium,
Means for classifying the received print data for each band;
Raster data generating means for generating raster data subjected to pseudo halftone processing in band units based on print data classified for each band,
Encoding means for compression-encoding the generated band raster data;
Means for expanding and printing out the raster data of the encoded band,
The encoding unit determines the type of the representative object based on the frequency for each type of object when generating raster data in the band of interest, and performs compression encoding corresponding to the determined type of object. It is characterized by performing.
[0013]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0014]
FIG. 1 is a sectional view showing an internal structure of a laser beam printer (hereinafter abbreviated as LBP) in the embodiment. This LBP enables registration of a character pattern and registration of a fixed format (form data) from a host computer (see FIG. 2).
[0015]
In the figure, reference numeral 1000 denotes an LBP main body, which inputs and stores character information (character code), form information, macro instructions, and the like supplied from an externally connected host computer (2001 in FIG. 2); A corresponding character pattern or form pattern is created according to the information, and an image is formed on a recording sheet as a recording medium. Reference numeral 1012 denotes an operation panel on which switches for operation, an LCD display, and the like are arranged. Reference numeral 1001 denotes a printer control unit that controls the entire LBP 1000 and analyzes character information supplied from a host computer. The control unit 1001 mainly converts character information into a video signal of a corresponding character pattern and outputs the video signal to the laser driver 1002. The laser driver 1002 is a circuit for driving the semiconductor laser 1003, and switches on and off a laser beam 1004 emitted from the semiconductor laser 1003 according to an input video signal. The laser 1004 is swung right and left by a rotating polygon mirror 1005 to scan on an electrostatic drum 1006. As a result, an electrostatic latent image of a character pattern is formed on the electrostatic drum 1006. This latent image is developed by a developing unit 1007 around the electrostatic drum 1006 and then transferred to a recording sheet. A cut sheet is used as the recording paper. The cut sheet recording paper is stored in a paper cassette 1008 mounted on the LBP 1000, is taken into the apparatus by a paper feed roller 1009 and transport rollers 1010 and 1011, and is transferred to an electrostatic drum 1006. Supplied.
[0016]
2, reference numeral 2001 denotes an external device such as a host computer, 2002 denotes the entire printer controller, and 2003 denotes an address / data / control bus. Reference numeral 2004 denotes a host I / F including a buffer unit; 2005, a CPU that controls a printer controller unit; 2006, a ROM that stores programs and font data for performing controller control and the like; 2007, a DMAC controlled by the CPU 2005; An operation panel unit 2009 is an I / F circuit unit including an output buffer unit for storing data to be sent to the engine 2011 (see FIG. 1), and 2010 is a RAM unit.
[0017]
In the above configuration, the operation in the embodiment will be described below.
[0018]
FIG. 3 is a flowchart illustrating the overall operation processing procedure of the LBP 1000 according to the embodiment.
[0019]
First, in step S301, print data described in PDL (page description language including bitmap data) is input from an external device 2001 such as a host computer via the host I / F unit 2004.
[0020]
In step S302, the PDL in step 301 is analyzed to create a band coded expression. The term "band-coded representation" as used here refers to drawing objects such as "bitmaps", "run-lengths", "trapezoids", "boxes", and "high-speed boundary-coded bitmaps" divided into bands. This is a general term for patterns and drawing logic for drawing them in a raster memory. In short, it is a process of classifying each band.
[0021]
Next, in step S303, processing for creating a compressed page is performed. In the present embodiment, the PDL data is analyzed, rendered and binarized by a dither matrix prepared for each object, and then subjected to band-by-band compression and storage. When the compression processing of all the bands constituting one page is completed, in step S304, processing of expanding the data in units of compressed bands and outputting the expanded data to the printer engine is performed.
[0022]
Next, details of the compressed page creation processing in step S303 will be described with reference to the flowchart in FIG.
[0023]
First, in step S401, a work memory is obtained from the RAM 2010. Here, the work memory is an area for storing the data to be compressed. Next, in step S402, "N" indicating the band number is initialized to "1".
However, when the number of bands for one page is N_MAX,
It is assumed that 1 ≦ N ≦ N_MAX is satisfied.
[0024]
Next, in step S403, the band number N is N ≦ N_MAX.
Is determined.
[0025]
If N ≦ N_MAX is satisfied, it is determined that there is an unprocessed band, and the process proceeds to step S404. If it is determined that N> N_MAX, it is determined that the processing for all bands for one page has been completed. Proceed to step S407. Here, a case will be described in which it is determined that N ≦ N_MAX and the process proceeds to step S404.
[0026]
In step S404, a rendering process is performed. Details of the rendering process are performed using the flowchart of FIG.
[0027]
In step S501, the type of an object configuration (for example, a character, an image, a graphic, or the like) included in the band coded expression created in step S302 is analyzed.
[0028]
Next, in step S502, the band coded expression analyzed in step S501 is selected for each object. Also in this case, they are characters, images, figures, and the like.
[0029]
Then, in step S503, the number is counted for each type of object selected in step S502, and stored using a part of the RAM 2010 in FIG.
[0030]
Next, in step S504, the band-encoded expression of step S301 in FIG. 3 is stored as a bitmap in the work memory acquired in step S401 in FIG. 4, and binarized using the dither matrix corresponding to the object. . Next, in step S505, the processing system of the rendering process ends, and the process returns to step S404 in FIG.
[0031]
Returning to the description of FIG. When the process proceeds to step S405, compression processing of the rendered band of interest is performed. Here, the compression process indicates that the band data rendered in step S404 is subjected to the compression process in the work memory in step S401, and is stored in a page memory (not shown) that exists in a part of the RAM 2010 in FIG. I do. However, at the time of this compression, the number stored in the RAM 2010 of FIG. 2 is read out from the number of each object counted in step S503 of FIG.
[0032]
First, the case of N = 1, that is, the first band will be described. In this case, since this is the first band processing, the object having the largest number of rendered objects is selected. The reason is that the most objects are likely to be dominant when rendering the band. Then, the size of the most recently used dither matrix of the object that appears most frequently is checked, and compression encoding is performed based on the size.
[0033]
As a technique for compressing the image subjected to the dither processing, a dither cycle is used. Hereinafter, a brief description will be given.
[0034]
In general, when the dither matrix size is M × N, and the coordinates of an arbitrary pixel on the band data are expressed as (x, y), the pixel at the position of the coordinate (x + M, y) in the X-axis direction is (x, M, y). The correlation of the pixel of y) becomes strong (high). Similarly, if the coordinates of an arbitrary pixel on the band data is (x, y), the correlation between the pixel at the position of the coordinates (x, y + N) and the pixel at (x, y) in the Y-axis direction becomes strong. Therefore, by obtaining the values of the dither matrix sizes M and N and applying the values at the time of compression, it is possible to help improve the compression ratio.
[0035]
That is, when attention is paid to a certain line, M pieces of {x, x + M, x + 2M,...}, {X + 1, x + M + 1, x + 2M + 1,. When classified into groups, there is a high possibility that 0s or 1s are continuous in each group. Therefore, a high compression rate can be expected by using run-length encoding for each group.
[0036]
On the other hand, in the case of the processing after N = 2, that is, in the processing after the second band, the correlation between the pixels is derived using the result of the compression state check in step S406 described later in order to further improve the compression ratio. . This compression state check will be described in step S406.
[0037]
In step 406, the compression state of the compression band in step 405 is checked. The details of the check of the compression state will be described with reference to the flowchart in FIG.
[0038]
In step S601, the result of the compression processing in step S405 in FIG. 4 is checked. The result of the compression processing is to set a predetermined value for the correlation between pixels and the compression ratio set in step S404 in advance, and determine the state of the compression efficiency by comparison with the predetermined value. However, in the present embodiment, the default value of the compression ratio is a value depending on the size of the memory previously allocated for storing compressed pages from the RAM 2010 in FIG. If the result of comparison in step S601 indicates that the compression ratio is better than the specified value, the flow advances to step 603 to end the processing system for checking the compression state. That is, the pixel correlation shows that there is no problem at present. On the other hand, if the result of comparison in step S601 indicates that the compression ratio is lower than the default value, the process proceeds to step S602.
[0039]
In step S602, the correlation between the pixels indicates that there is a problem at present from the comparison result in step S601. Therefore, the correlation between the pixels is improved. A method for improving the correlation between pixels will be described below.
[0040]
First, in the rendering processing of FIG. 5, the correlation of pixels is obtained from the matrix cycle of the dither pattern of the object, paying attention to the object having the largest number of rendered objects. However, in this case, the matrix period is not necessarily the same as the matrix period of the dither pattern of another object. If not, the deviation of this period affects the compression ratio. Therefore, attention is paid to the second most frequently rendered object, and the correlation with the matrix period with the most frequently rendered object is derived. In the case of the present embodiment, the least common multiple of the matrix period of the dither pattern of the object with the largest number of the rendered result and the matrix period of the dither pattern of the object with the second largest number of the rendered result is used as the correlation between the pixels. Shall be used.
[0041]
The result is used at the time of rendering and compression of the next band N + 1. This is because in the adjacent bands such as the N band and the N + 1 band, it is expected that there is a similar state of the object in both bands. Therefore, such a method is applied. This makes it possible to derive an optimal correlation, which is effective in terms of coding efficiency.
[0042]
Next, proceeding to step 603, the processing system for checking the compression state is terminated, and step S406 in FIG. 4 is terminated.
[0043]
Next, in step 407, the band number "N" is updated by increasing it by "1" so as to indicate the next band.
[0044]
Then, it is checked again in step S403 whether or not N ≦ N_MAX is satisfied. If the condition is satisfied, the steps from step 404 are processed as described above. If N> N_MAX, the process proceeds to step S408, where the processing system for creating the compressed page in step 400 ends, step S303 in FIG. 3 ends, and the printing process in step S304 is performed.
[0045]
Here, the printing process in step S304 will be described with reference to the flowchart in FIG.
[0046]
First, in step S701, "N" indicating a band number is initialized to "1".
Where N is an integer value,
1 ≦ N ≦ N_MAX
Shall be satisfied.
However, N_MAX is the number of bands on one page,
It is an integer value satisfying 1 ≦ N_MAX.
[0047]
Next, in step S702, the band number N is N ≦ N_MAX.
Investigate whether is satisfied.
[0048]
If N ≦ N_MAX, it is determined that the printing process for one page is not completed, and the process proceeds to step S703. If N> N_MAX, it is determined that printing of one page has been completed, and the process proceeds to step S705. Here, a case where N ≦ N_MAX will be described.
[0049]
In step S703, N band shipping is performed. Here, “Shipping” means that band data is converted into a video signal and transmitted to the engine unit 2011 of FIG. Further, in the compressed page creation processing of FIG. 4, since this page has already been compressed, it needs to be decompressed. Here, it is assumed that shipping can be performed simultaneously with expansion.
[0050]
Next, proceeding to step S704, the band number "N" is updated by increasing it by "1" so as to indicate the next band number, and the process returns to step S702.
[0051]
By repeating the processes of steps S703 and S704 in this manner, the relationship finally becomes N> N_MAX, and the printing process ends.
[0052]
As described above, according to the present embodiment, when encoding is performed using an encoding method that uses the correlation between pixels, various types of information of raster data that has been complicated due to high image quality are verified and the correlation between pixels is checked. By deriving the relationship and performing the corresponding encoding, a high compression rate can be expected, and the throughput and memory of the printing process can be used effectively.
[0053]
In the embodiment, after the band for one page is compressed, the band is decompressed and the printing process is performed. However, the number of bands to be compressed is not limited to one page, and may be compressed and stored over a plurality of pages as the memory capacity allows. You may make it. At this time, when performing the printing process, it may be determined based on whether or not the compressed data of at least the number of bands for one page has been generated.
[0054]
Further, in the above-described embodiment, the case where a plurality of dither patterns are used for a band to be rendered is dealt with, but a single band may be used. In that case, a processing system that acquires the cycle of the dither pattern based on the resolution, gradation, color, and the like may be used.
[0055]
Further, in the above-described embodiment, the case where a single compression method is used is dealt with. However, a case where a form is selected from a plurality of compression methods may be used.
[0056]
Furthermore, in the embodiment, no particular distinction is made between monochrome and color. However, a case where processing is limited to monochrome or color processing may be used.
[0057]
Further, in the embodiment, the case where the correlation with the target pixel is obtained is dealt with, but it is not limited to the pixel unit, but may be the byte unit or another unit.
[0058]
Further, in the embodiment, the case of processing for acquiring a special object of the object inside the controller is handled.However, the processing for acquiring the characteristics of the object with an external device such as a host computer, and the case of transmitting the characteristic to the controller unit by a command or the like. It does not matter.
[0059]
Furthermore, in the embodiment, the printing apparatus using the PDL is dealt with, but other image processing apparatuses may be used.
[0060]
【The invention's effect】
As described above, according to the present invention, when print data is received from a host device such as a host computer and printed out on a recording medium such as recording paper, compression and decompression in band units are performed, thereby reducing The printing process can be realized with the memory capacity.
[Brief description of the drawings]
FIG. 1 is a sectional structural view of a printing apparatus according to an embodiment.
FIG. 2 is a block diagram of a printing apparatus according to the embodiment.
FIG. 3 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment.
FIG. 4 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment.
FIG. 5 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment.
FIG. 6 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment.
FIG. 7 is a flowchart illustrating a processing procedure of the printing apparatus according to the embodiment.

Claims (5)

上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置であって、
受信した印刷データをバンド毎に分類する手段と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成手段と、
生成されたバンドのラスタデータを圧縮符号化する符号化手段と、
符号化されたバンドのラスタデータを伸長して印刷出力する手段とを備え、
前記符号化手段は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行う
ことを特徴とする印刷装置。
A printing device that receives print data from a host device and forms an image on a predetermined recording medium,
Means for classifying the received print data for each band,
Raster data generating means for generating raster data subjected to pseudo halftone processing in band units based on print data classified for each band,
Encoding means for compression-encoding the generated band raster data;
Means for expanding and printing out the encoded band raster data,
The encoding means determines the type of the representative object based on the frequency of each type of the object when generating the raster data in the band of interest, and performs compression encoding corresponding to the determined type of the object. A printing device characterized by performing.
前記代表オブジェクトは、ラスタデータを生成する際に最頻度となったオブジェクトであることを特徴とする請求項1に記載の印刷装置。The printing apparatus according to claim 1, wherein the representative object is an object that has been generated most frequently when raster data is generated. 更に、圧縮後のバンドの符号化データ量と所定の閾値とを比較する手段と、
前記符号化データ量が前記閾値を越える場合、代表オブジェクトとして頻度の多い上位2つのオブジェクトの種類に基づく符号化を行う手段と
を備えることを特徴とする請求項2に記載の印刷装置。
Further, means for comparing the encoded data amount of the band after compression with a predetermined threshold,
3. The printing apparatus according to claim 2, further comprising: means for performing encoding based on the types of the two most frequent objects as representative objects when the encoded data amount exceeds the threshold.
符号化の種別を決定したとき、次のバンドの符号化の種別に反映することを特徴とする請求項1に記載の印刷装置。2. The printing apparatus according to claim 1, wherein when the type of encoding is determined, the type of encoding is reflected in the type of encoding of the next band. 上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置の制御方法であって、
受信した印刷データをバンド毎に分類する工程と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成工程と、
生成されたバンドのラスタデータを圧縮符号化する符号化工程と、
符号化されたバンドのラスタデータを伸長して印刷出力する工程とを備え、
前記符号化工程は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行う
ことを特徴とする印刷装置の制御方法。
A method of controlling a printing apparatus that receives print data from a host device and forms an image on a predetermined recording medium,
Classifying the received print data for each band;
A raster data generating step of generating raster data subjected to pseudo halftone processing in band units based on print data classified for each band;
An encoding step of compressing and encoding the generated band raster data;
Decompressing and printing out the encoded band raster data,
The encoding step determines the type of the representative object based on the frequency for each type of object when generating raster data in the band of interest, and performs compression encoding corresponding to the determined type of object. A method for controlling a printing apparatus, the method comprising:
JP2003151229A 2003-05-28 2003-05-28 Printing device and controlling method therefor Withdrawn JP2004351719A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003151229A JP2004351719A (en) 2003-05-28 2003-05-28 Printing device and controlling method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003151229A JP2004351719A (en) 2003-05-28 2003-05-28 Printing device and controlling method therefor

Publications (1)

Publication Number Publication Date
JP2004351719A true JP2004351719A (en) 2004-12-16

Family

ID=34046817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003151229A Withdrawn JP2004351719A (en) 2003-05-28 2003-05-28 Printing device and controlling method therefor

Country Status (1)

Country Link
JP (1) JP2004351719A (en)

Similar Documents

Publication Publication Date Title
JP4101312B2 (en) Graphic image compression system and method
US6741368B1 (en) Method and apparatus for reducing storage requirements for display data
US6337747B1 (en) System to adaptively compress raster image data
EP0870277B1 (en) Image rendering for page printers
CA2346761C (en) Method, system, program, and data structure for generating raster objects
JP4323618B2 (en) Image processing apparatus and image processing method
JP2004351719A (en) Printing device and controlling method therefor
US8941882B2 (en) Method of pre-processing data on a host machine for a host-based print system
JPH11203071A (en) Picture processor
US6246795B1 (en) Image processing apparatus and method
JP3204136B2 (en) Image processing apparatus and compression processing method
JP4474487B2 (en) Image processing apparatus and image processing method
JP3792881B2 (en) Image processing apparatus, data processing method for image processing apparatus, and storage medium storing computer-readable program
JPH11136525A (en) Processor and method for image processing
JPH10151815A (en) Printing-processing apparatus
JP2006246017A (en) Coding system
JPH11235849A (en) Image processing device, data processing method thereof, and storage medium storing program readable by computer
JPH10147016A (en) Image processor and processing method
JP2002237952A (en) Imaging device, imaging system, coding control method and storage medium
JP3657081B2 (en) Printer controller
JP2004268553A (en) Printing device
JP2003335001A (en) Printing apparatus
JP2006159458A (en) Image output device
JP2000181639A (en) Printing system
JP2004254187A (en) Information processor

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060801