JP3486517B2 - 印刷システム及び印刷制御方法 - Google Patents

印刷システム及び印刷制御方法

Info

Publication number
JP3486517B2
JP3486517B2 JP01938297A JP1938297A JP3486517B2 JP 3486517 B2 JP3486517 B2 JP 3486517B2 JP 01938297 A JP01938297 A JP 01938297A JP 1938297 A JP1938297 A JP 1938297A JP 3486517 B2 JP3486517 B2 JP 3486517B2
Authority
JP
Japan
Prior art keywords
data
band
image data
compression
processing
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
Application number
JP01938297A
Other languages
English (en)
Other versions
JPH10217555A (ja
Inventor
純 池田
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 JP01938297A priority Critical patent/JP3486517B2/ja
Priority to US09/010,564 priority patent/US6348969B1/en
Publication of JPH10217555A publication Critical patent/JPH10217555A/ja
Application granted granted Critical
Publication of JP3486517B2 publication Critical patent/JP3486517B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/12Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers by photographic printing, e.g. by laser printers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1822Analysing the received data before processing
    • G06K15/1823Analysing the received data before processing for evaluating the resources needed, e.g. rasterizing time, ink, paper stock
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • G06K15/1865Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ホストコンピュー
タなどのデータ供給源から描画元データを受信し、紙な
どの媒体に印字出力することのできる画像出力制御方法
及び印刷装置に関するものである。
【0002】
【従来の技術】一般に文書作成印字システム等の文書処
理、印字装置の概要は、図1の様に構成されており、図
中左から出力文書を組版等加工する処理装置であるホス
トコンピュータ101と、ホストコンピュータで加工さ
れた出力情報データを紙などの媒体に定着印字するプリ
ンタ102を接続し、構成している。具体的にはユーザ
がホストコンピュータ101上にて出力すべき画像を編
集し、編集が終了された時点でプリンタ102が受け付
けられる出力画像用データに変換し、そのデータをプリ
ンタ102へ送出、プリンタ102は入力されるデータ
に従い、紙面に印字を実現する。
【0003】図1中プリンタコントローラが行なう処理
を、図2のブロック図及び図3のフローチャートの各例
を用いて具体的に説明する。
【0004】図2はプリンタコントローラ内の様子を示
したブロック図の例で、201はホストコンピュータな
どのデータ供給源からのデータを受信したり、ステータ
スのやりとりなどを行なうインタフェース部、202は
プリンタ装置全体を制御/データ処理を行なう制御部、
203はプリンタコントローラ内に備わる主記憶装置で
あるDRAMをコントロールするメモリコントローラ、
204は主記憶であるメモリでこの場合DRAMを例に
挙げている。205はプリンタコントローラが印字時に
描画データをプリンタエンジン207に送出するために
備え付けられているDMA、206はDMA205経由
で出力されるイメージデータをプリンタエンジン207
に送出するエンジンインタフェース、207はエンジン
インタフェース206より出力されたイメージデータを
紙などの媒体に定着し、印字を実現するプリンタエンジ
ンである。
【0005】図3は図2のブロック図で示したプリンタ
コントローラの動作例を示したフローチャートであり、
その流れを示せば以下の通りである。
【0006】先ず、ホストコンピュータなどのデータ供
給源より描画元データ(具体的にはプリンタ機器に備わ
る固有のコードデータであったり、昨今はPDLと称さ
れ、プリンタ機器に対する描画言語であったりする)を
受信し(ステップS301)、受信されたデータをDR
AM204内に格納する(ステップS302)。一般に
インタフェースの通信速度とそのデータ処理との速度差
を吸収するために、受信バッファと称されるDRAM2
04内に備わるメモリ領域に一旦バッファリングを行な
う等するが、これがその動作に当たる。
【0007】次に格納されたデータを解析しイメージ描
画の準備を行なう(ステップS303)。この従来例で
はバンド処理、具体的にはフルビットマップ領域のメモ
リ容量を持つことなく、紙面に対しバンドメモリ領域
(バンドバッファとも呼ぶ)を持ち、そのバンドメモリ
領域に格納されたイメージデータを印字しながら、その
時間を用いて、他のメモリエリアに割り当てられた次の
バンドメモリ領域にイメージデータを生成する。このよ
うに2つのバンドバッファを用いたダブルバッファ形式
でバンド処理を実現しており、そのためにバンド処理可
能な中間描画データにデータの変換作業を行なう。
【0008】次に最初の印字バンドに相当するバンドメ
モリ領域に対し、イメージ描画を行なう(ステップS3
04)。実際にはダブルバッファ形式であるため、まだ
印刷が行われていない最初だけは2つのバンドメモリに
対しレンダリング(以下イメージデータ生成をレンダリ
ングと記す)を行なうことになる。
【0009】レンダリングが終了したならば、DMA2
05、並びにプリンタインタフェース206を印字可能
状態にセットアップし、プリンタエンジン207に起動
を掛け(ステップS305)、既にステップ304にて
ビットイメージ生成がバンドメモリ領域に対して施され
ているバンド印字を行なう(ステップS306)。
【0010】一方、DMA205、エンジンインタフェ
ース206を介してプリンタエンジン207にイメージ
データが送出されてしまったDRAM204内のバンド
メモリ領域に対し、制御部202はメモリコントローラ
203を経由して、次の印字位置に相当する描画データ
をレンダリングする(ステップS307)。
【0011】1バンドメモリ内のイメージデータの印字
を終了したならば、ページの終了を判断し(ステップS
308)、1ページの印字を終了してなければ、DMA
205、エンジンインタフェース206を次に印字する
バンドメモリに切替え、次のバンド印字に備える(ステ
ップS309)。具体的にはDMA205のバンドイメ
ージ転送終了割り込み等で、DMA転送アドレスの再設
定、制御部202のラスタライズする描画バンドメモリ
アドレス等の変更を行なうことになる。
【0012】バンド切り換えを行なったならば、DMA
205及びエンジンインタフェース206は次のバンド
のイメージデータ転送をプリンタエンジン207に対し
て行ない、次のバンドの印字を実現すると共に、イメー
ジデータ送出済のDRAM204内のバンドメモリ領域
に対し制御部202がラスタライズを行うことを繰り返
し、1ページ分の印字が実現される。
【0013】尚、バンドイメージを描画する領域として
この場合2つのバンドメモリエリアを想定し、プリンタ
エンジン207を起動させる前にその2つのバンドメモ
リ領域に対し、レンダリングを終了しておく旨の記述を
ステップS304にて行なったので、正確な動作シーケ
ンスとしては、始めのバンド印字に際しては、イメージ
データを送出しつつラスタライズするという並行動作は
起こらない。また、1ページ終了前の動作シーケンスに
ついても、並行動作が起こらないことになるのは当然で
あるが、ここではそれらの説明を割愛する。
【0014】又、並行動作時のDMA205からのデー
タ要求と、制御部202からのラスタライズの各DRA
Mへ対するアクセスアービトレーションは、メモリコン
トローラ203が行なっている。
【0015】このようなバンド処理を行なうことで、1
ページ分のビットマップメモリを持たずに、1ページ分
の印字を実現可能とする機器に於いては、レンダリング
する画像が複雑になったり、プリンタエンジンの印字速
度が高速になってくる等の各要因により、並行動作中の
ラスタライズ処理が印字データ送出に時間的に間に合わ
なくなってくる事態(以下オーバーランと記す)が生ず
る。これは、ピクセルに対し複数ビットを割り当てて階
調表現を実現するために、その階調分のメモリエリアに
ついてバンドに分割している場合でも同様である。
【0016】このオーバーランに対応するためには1ペ
ージ分のイメージデータ格納のためのメモリエリア、い
わゆるビットマップ(例えば1ピクセルあたり8ビット
の太刀画像であればバイトマップ)メモリを保持するこ
とで、並行動作を回避する処理系も存在している。これ
は、いわゆるフルページメモリを搭載した処理系であ
る。又更に、メモリ効率を上げ、コストを抑えるために
圧縮技術を導入して1ページ分の圧縮メモリを備えるこ
とで対処している機器も登場している。
【0017】いずれにせよこのような系にてイメージを
生成する際、プリンタ機器に備わるユーザインターフェ
ース仕様、具体的にはPDLと言われるプリンタ言語や
コマンド群から、よりプリミティブな中間データに変換
し、その中間データをイメージ化する効率を、プリミテ
ィブなデータゆえにその処理部分をハードウェア化させ
るなどして向上させることができる。
【0018】具体的には、公知のランレングスや、ベク
タ描画、イメージデータ描画などをソフトウェアで描画
するのではなく、ハードウェアを用いて高速描画し、前
述したバンド処理速度を向上させることにより、1ペー
ジ分の画像メモリを用意しなくともい印刷処理が可能と
なりトータルコストを削減できる。
【0019】しかしながら、このように高速処理するた
めに用いられるハードウェアの処理できる単位はプリミ
ティブであるがゆえ、複雑な図形を印字するためにはそ
のプリミティブな描画単位が膨大な数となる。このた
め、各処理単位の高速化は実現できるが、処理量が多く
なってしまい、結果オーバーランを誘発する、もしくは
生成すべきイメージデータ容量を中間データ量が越えて
しまう、といった状況が発生してしまう可能性がある。
【0020】
【発明が解決しようとする課題】これに対応するため
に、描画元データから例えば、データ量そのものをもっ
て、あるいはプリミティブな処理単位の処理時間を論理
的に導き、バンド内のイメージデータ生成に掛る時間を
トータルで算出する。処理データが多ければ、レンダリ
ング時間が掛かり結果としてオーバーランのリスクが生
じることから、算出された時間を、プリンタエンジンの
データレート(印刷の速さ)と比較する等、何らかの形
でオーバーランの発生を予測する。オーバーランの発生
が予測されたならば、そのバンドデータについては印字
動作開始以前に一旦イメージデータ生成(レンダリン
グ)し、生成されたイメージデータに圧縮処理を行なっ
てそれを保持しておく。このデータを、印刷時にプリン
タエンジンの必要とするデータレートに合致したデータ
レートで伸長し、印字を実現する(以下このような処理
をプリレンダリング処理と記す)。こうすることで、メ
モリの削減とオーバーランの回避を両立することが可能
であるが、処理が複雑になり、プリンタのスループット
の低下を招いてしまう。
【0021】本発明は上記問題を解決するためになされ
たもので、オーバーランが予測された場合のプレレンダ
リング処理、すなわち画像展開後の圧縮/伸長処理を、
データ供給源からの指定に応じて行うことで、データ供
給源側がデータを送る際に複雑なデータであったり、大
きなイメージデータであったりした場合に、送出するデ
ータを具体的に把握しているデータ供給源にてこのよう
なスクリーニングを行なって圧縮/伸長処理動作をプリ
ンタ装置側に指定することにより、オーバーランのリス
クを回避しつつ、スループットを向上させる画像出力制
御方法及び印刷装置を提供することを目的とする。
【0022】
【課題を解決するための手段】上記目的を達成するため
に、本発明はつぎのような構成からなる。ページ単位の
印刷データを生成するホスト装置と、該ホスト装置と接
続され、ページを分割して成るバンド単位で画像を形成
して出力する印刷装置とを含む印刷システムであって、
前記ホスト装置は、バンドごとに印刷データからイメー
ジデータの生成に要する所要時間を見積もる見積もり手
段と、 前記見積もり手段により見積もられた所要時間が
所定値を越えるか判定する判定手段と、 前記判定手段に
よる判定結果に応じて、印刷データからイメージデータ
を生成して圧縮する必要のある印刷データを指定する指
定情報を生成する指定手段とを備え、 前記印刷装置は、
前記ホスト装置で生成された前記印刷データと、該印刷
データについての前記指定情報とを受信する受信手段
と、 前記印刷データを解析し、前記指定情報で指定され
たバンドを判断する判断手段と、 前記判断手段によっ
て、前記指定情報で指定されたバンドであると判断され
た場合、該バンドからイメージデータを生成して圧縮す
る圧縮処理手段とを有する
【0023】さらに好ましくは、前記印刷装置は、前記
判断手段によって前記指定情報で指定されたバンドでな
いと判断された場合、該バンドから中間データを生成す
る中間データ生成手段をさらに有する
【0024】さらに好ましくは、前記印刷データは描画
される単位である描画単位を組み合わせて構成され、前
記ホスト装置の前記指定手段は、イメージデータを生成
して圧縮する必要がある描画単位を指定する指定情報を
生成する
【0025】さらに好ましくは、前記圧縮処理手段は、
前記指定手段でイメージデータを生成して圧縮する必要
があるとして指定された前記描画単位に重複する他の描
画単位が存在する場合、前記描画単位と重複する他の描
画単位とが重なる範囲に対して、イメージデータを生成
して圧縮する
【0026】また本発明は他の側面においては次のよう
な構成を備える。 ページ単位の印刷データを生成するホ
スト装置と、該ホスト装置と接続され、ページを分割し
て成るバンド単位で画像を形成して出力する印刷装置と
を用いる印刷制御方法であって、 前記ホスト装置におい
て、バンドごとに印刷データからイメージデータの生成
に要する所要時間を見積もる見積もり工程と、 前記ホス
ト装置において、前記見積もり工程により見積もられた
所要時間が所定値を越えるか判定する判定工程と、 前記
ホスト装置において、前記判定工程による判定結果に応
じて、印刷データからイメージデータを生成して圧縮す
る必要のある印刷データを指定する指定情報を生成する
指定工程と、 前記印刷装置において、生成された前記印
刷データを解析し、前記指定情報で指定されたバンドを
判断する判断工程と、 前記印刷装置において、前記判断
工程によって前記指定情報で指定されたバンドであると
判断された場合、該バンドからイメージデータを生成し
て圧縮する圧縮処理工程とを有する。
【0027】さらに好ましくは、前記印刷装置におい
て、前記判断工程によって前記指定情報で指定されたバ
ンドでないと判断された場合、該バンドから中間データ
を生成する中間データ生成工程をさらに有する。
【0028】さらに好ましくは、前記印刷データは描画
される単位である描画単位を組み合わせて構成され、前
記指定工程は、イメージデータを生成して圧縮する必要
がある描画単位を指定する指定情報を生成する。さらに
好ましくは、前記圧縮処理工程は、前記指定工程でイメ
ージデータを生成して圧縮する必要があるとして指定さ
れた前記描画単位に重複する他の描画単位が存在する場
合、前記描画単位と重複する他の描画単位とが重なる範
囲に対して、イメージデータを生成して圧縮する。
【0029】
【発明の実施の形態】
[第1の実施の形態]図4は本発明の一実施例であるプ
リンタコントローラの概要を示したブロック図であり、
以下の各部から構成されている。
【0030】401はホストコンピュータなどのデータ
供給源400からのデータを受信したり、ステータスの
やりとりなどを行なうインターフェース部であり、具体
的にはパラレルインターフェース、シリアルインターフ
ェース、ネットワークインターフェース等である。
【0031】制御部402はプリンタ装置全体を制御/
データ処理を行なう。具体的にはCPUなどのプロセッ
サを用いて、入力描画命令データの解析、イメージデー
タの生成、並びに機器に備わる各部を制御する。
【0032】メモリコントローラ403は、プリンタコ
ントローラ内に備わる主記憶装置であるDRAM404
をコントロールする。ラスタライザ部406から、圧縮
/伸長部405、DMA407とのデータアクセス、並
びにDRAM404のリフレッシュ等を行なっている。
【0033】メモリ404は主記憶であり、素子自体は
特に限定するものではないが、本実施例ではDRAMで
ある。ホストからの描画命令データに従い制御装置40
2によって生成されたイメージデータを格納したり、圧
縮/伸長部405で圧縮されたデータをラスタライザ部
406で生成されたイメージデータ(これは圧縮元デー
タにもなる)を格納する。その他のワーキングメモリエ
リアとして使用される。
【0034】圧縮伸張部405はイメージデータの圧縮
/伸長を行なう。この場合圧縮/伸長アルゴリズム自体
は特に限定するものではないが、動作としてはイメージ
データをメモリ削減を実現できる圧縮率で圧縮可能であ
る。一方圧縮されたデータを伸長する場合は、エンジン
のデータ転送スピードに間に合う形で伸長可能な機能/
スピードとを備えている。具体的圧縮アルゴリズムの例
としてはJPEG、JBIG等が挙げられる。
【0035】ラスタライザ部406は、実際にイメージ
データを発生する。制御部402の指令によりイメージ
データを生成したり、もしくは、制御部402にて生成
され、DRAM404に一時蓄えられている中間言語か
ら、ハードウェアもしくはソフトウェアにて高速にイメ
ージデータを生成する。中間言語はホストコンピュータ
から受信した印刷データをもとに生成される、ラスタラ
イザ部406により解釈実行可能なプリミティブな言語
である。
【0036】DMA407は、印刷時にプリンタコント
ローラが、ラスタライザ406により生成された、又は
圧縮/伸長部405により伸長された、DRAM404
に格納されているイメージデータをプリンタエンジン4
09に送出するために備えられている。DMAの動作自
体はやはり制御部402の設定に従い動作する。
【0037】エンジンインターフェース408は、DM
A407経由で出力されるイメージデータをプリンタエ
ンジン409に送出する。各種設定はやはり制御部40
2によってなされる。
【0038】プリンタエンジン409は、エンジンイン
ターフェース408より出力されたイメージデータを紙
などの媒体に定着し、印字を実現する。本実施例ではL
BP(レ−ザビームプリンタ)に代表されるページプリ
ンタエンジンを想定している。
【0039】図5は、データ供給源が本プリンタコント
ローラに対し圧縮/伸長制御、すなわちプレレンダリン
グ処理を行なうか否かを指定するためのフォーマットの
例である。これに特に限定されるものではないが、ここ
では3例を挙げてある。まず例(1)においては、50
1が圧縮/伸長処理を指定する圧縮/伸長処理指定命令
部、502は圧縮/伸長処理を行なうデータ群のデータ
長を示すデータ長部、503はデータ長部502で示さ
れるデータ長の描画データが格納される描画データ部で
ある。例(2)においては、504が圧縮/伸長処理を
指定する圧縮/伸長処理指定部、505が圧縮/伸長処
理指定部504に続く描画命令の数を示す命令数部、5
06が圧縮/伸長処理を実際に施す描画命令群である。
例(3)では、圧縮/伸長処理を施すことを示す圧縮伸
長処理開始命令部507、実際の圧縮/伸長処理を施す
描画命令の含まれる描画命令群508、圧縮/伸長処理
を終了することを示す圧縮伸長処理終了命令部509か
ら成る。従って描画データ部503と描画命令群50
6、描画命令群508の内容はほぼ同じと考えて良い。
【0040】プリンタはこれら描画データあるいは描画
命令群に含まれる、文字や図形や画像などを生成するた
めの描画単位(例えば各描画命令)ごとに解釈し、その
解釈に従って画像を生成する。その際、描画処理の迅速
化のために、いったん中間コードを生成して、その中間
コードからイメージを生成することもある。なお、以下
では、これら各描画単位、あるいは各描画単位から生成
されるイメージをオブジェクトと称することもある。ま
た、プレレンダリング処理は圧縮伸長処理を伴うため、
プレレンダリング処理の指定を、単に圧縮伸長処理の指
定あるいは圧縮伸長制御の指定と呼ぶ。
【0041】図6,図7は以上示してきた実施例の動作
の流れを示すフローチャートで、以下これを用いて動作
の流れを説明する。このフローチャートは、図4の制御
部402がホストからの命令にしたがって実行する処理
の手順である。
【0042】先ず、ホストコンピュータなどのデータ供
給源より、プリンタ機器に備わる固有のコードデータ
や、プリンタ機器に対するページ記述描画言語で記述さ
れたデータである描画元データを受信し、受信したデー
タをメモリコントローラ403経由にてDRAM404
内に格納する(ステップS601)。一般にインターフ
ェースの通信速度とそのデータ処理との速度差を吸収す
るために、受信バッファと称されるDRAM404内に
備わるメモリ領域に一旦バッファリングを行なう等する
が、これがその動作に当たる。
【0043】次にバッファリングされた入力データを解
析し、バンド処理に適合した内部データに変換する(ス
テップS602)。具体的にはバンド制御のために1ペ
ージ分の描画命令をバンド処理単位に分ける作業などが
これに当たる。
【0044】次に、入力されたデータ解析結果に基づ
き、図5の例に示されるような圧縮/伸長処理を行なう
指示が、注目しているバンドに対してデータ供給源から
発行されたか否かを判断する(ステップS603)。そ
うであればステップS604へ、そうでなければステッ
プS605へと進む。
【0045】ステップS603にて圧縮/伸長処理を行
なう指定があった場合、圧縮/伸長の対象である指定さ
れた描画命令群に対して、ラスタライザ406を用いて
メモリコントローラ403経由にてDRAM404内に
イメージデータを生成する(ステップS604)。
【0046】604にて圧縮/伸長処理対象となる描画
命令郡についてレンダリングが終了したならば、制御部
402は圧縮/伸長部405に圧縮処理指定、圧縮元デ
ータ、圧縮データ格納エリア等の各種設定を行なった
後、圧縮/伸長部405を起動して圧縮処理を開始する
(ステップS606)。
【0047】圧縮/伸長部405は、メモリコントロー
ラ403経由でDRAM404上に604で生成済のイ
メージデータを読み込み、圧縮処理後その圧縮データを
やはりメモリコントローラ403経由でDRAM404
上に格納する(ステップS607)。
【0048】一方、603にて圧縮/伸長処理を施す指
定がないと判断された場合、制御部402は印字動作開
始後に高速レンダリングを行なう目的から、その目的を
達成するための中間データを作成し(ステップS60
5)、同様にメモリコントローラ403経由にてDRA
M404上に生成された中間データを格納する(ステッ
プS607)。
【0049】なお本実施例では、印刷に際してはバンド
処理を行うものとしている。バンド処理とは、具体的に
はつぎのようなものである。すなわち、1ページ分のフ
ルビットマップ領域のメモリをもつことなく、ラスタ走
査方向に沿ってページを分割したバンドを格納するため
の描画バンドメモリ領域を、DRAM404内に少なく
とも2つ割り当てておく。一方のバンドメモリ領域に格
納されたイメージデータを印字しつつ、同時にその時間
を用いて、もう一つのバンドメモリ領域にイメージデー
タを生成する。このように、ダブルバッファ形式でバン
ド単位にイメージの生成と出力処理を実現している。圧
縮/伸長処理についても、1ページ分のフルメモリ(ビ
ットマップ/バイトマップ等)ではなく、バンド単位で
行なっており、そのためにバンド単位で処理可能な中間
描画データもしくは圧縮データにホストコンピュータか
ら受信したデータを変換するデータ変換作業を行なう。
また、この実施例では説明を簡略化するためにバンド処
理単位毎に圧縮/伸長処理を行なうか否かが指定される
ものとする。その他のケースについては後述する。
【0050】ステップS607にて印字時に必要な画像
元データとして中間データ又は圧縮データが生成された
ならば、1ページ分の画像元データが生成されたか否か
を判断し(ステップS608)、生成されたならばステ
ップS609へ進む。そうでなければステップS601
へ戻り、1ページ分の画像元データが生成されるまで上
記処理を繰り返す。尚、このフローチャートでは説明を
簡略化するために、ステップS608にて1ページ分の
画像元データがまだ生成されていない場合、ステップS
601へ戻るよう記述してきたが、これに限定されるわ
けではない。実際にはデータ入力/バッファリングのキ
ューイング作業は別タスクで管理されることも当然あ
り、その場合はステップS608で条件判断するタスク
と、ステップS601で外部インターフェースを用いて
データ供給源からのデータをキューイングするタスクが
別々に走る。そのことより、ステップS608で条件判
断するタスクの戻り先は、キューイングされた入力デー
タをバッファから読み取ってデータ解析を行うというス
テップS602のステップと記述できる。
【0051】次に制御部402は、これからの印字に際
してラスタライザ部406、圧縮/伸長部405に動作
の初期設定を行なう(ステップS609)。具体的には
圧縮/伸長部405は伸長モードにセットされることに
なる。
【0052】次に、制御部402は、1ページ分溜まっ
たバンド毎の中間コードもしくは圧縮データから、ペー
ジの先頭の1バンド目について圧縮データか否かを判断
し(ステップS610)、圧縮データであればステップ
S612へ、そうでなければ611へと進む。
【0053】ステップS610にて圧縮データでないと
判断された場合、制御部402はラスタライザ406を
用いて1バンド目のイメージデータ生成を行なう(ステ
ップS611)。本実施例では、処理速度の向上の目的
でハードウェア構成のラスタライザを用い、そのために
ステップS609でラスタライザ部406の初期設定を
行ったり、図4においてラスタライザ部405を独立し
たブロックで記述しているが、これに限定されるもので
はなく、制御部402が中間コードを解析しイメージデ
ータを生成する、ソフトウエア構成のラスタライザであ
っても構わない。
【0054】データの経路としては、ラスタライザ部4
06がハードウェア構成である場合は、制御部402が
ラスタライザ部406に必要なパラメータをセットし、
メモリコントローラ403を経由して既にDRAM40
4に生成済の中間コードデータを読み出し、そのコード
データに従ってイメージデータをやはりメモリコントロ
ーラ403を経由しDRAM404内に格納する。
【0055】一方、ステップS610にて圧縮データで
あると判断された場合は、制御部402が圧縮/伸長部
に各種パラメータを設定後、1バンド分のイメージデー
タの伸長動作を行なう(ステップS612)。具体的に
は、ステップS611にてラスタライザ406が行なっ
た動作と同様に、圧縮/伸長部405が、既に生成され
DRAM404に格納されている圧縮データをメモリコ
ントローラ403を経由して読み込み、そのコードデー
タを伸長し、伸長された実イメージデータを再びメモリ
コントローラ403経由にてDRAM404へ格納す
る。なおステップS611,S612でのデータ読み込
み/格納の仕組みは特に限定されるものではないが、こ
こではソースとディスティネーションの2チャンネルの
DMAがラスタライザ部406、圧縮伸長部405に各
々備わっているものとする。
【0056】次に制御部402は、イメージデータが2
つのバンドについて生成されたかを判断し(ステップS
613)、行われていなければステップS610へ戻
る。即ち、この操作によってDRAM404内に印字す
べきイメージデータが2つのバンド分生成された状態と
なる。このように、本装置ではバンド単位で出力処理が
行われることから、オーバーランを極力回避するため
に、DRAM404の容量が許す範囲で2バンド分のイ
メージデータを予め生成しておく。
【0057】次に、制御部402は、DMA407に上
記操作で生成されたバンドイメージデータをエンジンイ
ンターフェースに送出すべく各種設定を行ない、プリン
タエンジン409に対して起動を掛ける(ステップS6
14)。
【0058】起動されたエンジン409は、各種同期信
号をエンジンインターフェース408へ送り、その同期
信号をもとにDMA407がDRAM404に格納され
ている1バンド分のイメージデータをエンジンインター
フェース408を介してエンジン409へと送出を開始
する。制御部402は1バンド分のイメージデータの送
出の終了を待つ(ステップS615)。
【0059】次に、1バンド分のイメージデータの送出
が終了したならば、制御部402は1ページ分のデータ
送出、即ち1ページ分の印字が終了したか否かを判断す
る(ステップS616)。具体的には、ページの印字途
中であれば、ページの終了を確認するのではなく、次に
印字すべきバンドの中間データもしくは圧縮データが1
ページ分のデータとしてまだ残っているか否かの判断と
言うことになる。そして、まだ中間コード/圧縮データ
としてメモリ上に残っているデータを以降の処理と並行
して印字するためにDMA407の再設定を行なう。そ
の設定は、本実施例では2つのバンドメモリ領域が確保
されているため、既に上記操作でバンドメモリ領域に生
成された、まだエンジンに送出されていない方のバンド
メモリ領域の内容をエンジン409に送出するよう行わ
れる。この設定は、制御部402が行うとは限らない。
【0060】すなわち、ステップS614では、判断す
ると共に、判断の結果、一方のバンドバッファが空にな
り、まだそれと同ページで印刷すべきデータがあること
が判明したなら、出力対象のバンドバッファを切り替
え、もう一方のバンドバッファからエンジンへとイメー
ジの出力を開始する。
【0061】再設定の動作そのものについては特に限定
されるものではなく、バンドイメージデータ送出を以て
ソフトウェアに割り込みが掛かり、制御部402が再設
定を行なっても良いし、1バンドイメージデータ送出後
ハードウェアが再設定を行なっても良い。いずれにせ
よ、エンジン409のデータレートに従いオーバーラン
の発生しない条件が必要となる。
【0062】ステップS616にて1ページの印字が終
了していないと判断され、且つそのページ内の次のバン
ドデータとしてDRAM404内に中間データもしくは
圧縮データが存在している場合は、そのデータが中間デ
ータなのか圧縮データなのかを判断する(ステップS6
17)。
【0063】ステップS617にて中間コードと判断さ
れたならば、その中間コードからイメージデータを発生
するために制御部402が各種設定を行ない、ラスタラ
イザ部406によりレンダリングを行なう(ステップS
618)。レンダリング動作、データの経路について
は、ステップS611でのレンダリング動作と同様であ
り、生成された実イメージデータの格納場所は、既に送
出が終了しているDRAM404内部のバンドバッファ
のエリアとなる。
【0064】ステップS617にて圧縮データであると
判断された場合は、制御部402が次のバンドイメージ
データの生成のために圧縮/伸長部405をその旨再設
定を行ない、圧縮データの伸長動作を行なう(ステップ
S619)。このステップもレンダリング動作について
ステップS618とS611が同じ動作であるのと同
様、ステップS612の伸長動作と同様である。
【0065】ステップS618もしくはS619にて1
バンド分のイメージデータの生成が終了したならばステ
ップS615へ戻り、ステップS616以降ステップS
617,S618もしくはS619の各ステップの動作
を行う。その間、ハードウェア的にDMA407がDR
AM404内部のバンドイメージデータをエンジンイン
ターフェース408を介してエンジン409へ送出して
いるわけであるが、ステップS616ではこの終了の判
断を行なう。尚、ステップS616以降のステップS6
17,S618もしくはS619の各ステップに掛る時
間の総合計は、ステップS616にてDMAに再設定さ
れ送出中の他方のバンドバッファ内のイメージデータの
送出時間と比較して、少ない時間で実行終了することが
前提である。即ちこのオーバーランという事態が発生し
ないようメモリのデータレート、レンダリング/伸長の
データレート、バンドバッファ容量が決定構築され、各
部分が制御される。
【0066】ステップS616〜S619の上記各ステ
ップが繰り返され、1ページ分のイメージデータのプリ
ンタエンジンへの送出終了、即ち1ページ分の印字が終
了する(ステップS620)。
【0067】以上説明した手順で印刷出力を行うことに
より、プリンタ側でとり得る印刷の方式をホストにより
指定させることができる。すなわち、 中間コードを生成しておき、中間コードからバンド単
位でイメージを生成するのと並行して、バンド単位で出
力する。 1ページ分のイメージデータをバンド単位で展開して
から圧縮しておき、その後それをバンド単位で伸長しつ
つ、それと並行してバンド単位で出力する。
【0068】これら2種類の方式の一方を、ホストコン
ピュータから指定することができる。ホストコンピュー
タは、プリンタに送り付けたデータがどのようなもので
あるか認識するのが容易である。通常は、エンジンの出
力レートに見合った処理時間で出力できるため方式を
用いる。しかし、方式ではオーバーランを生じるおそ
れがある。ホストコンピュータでは、オーバーランの可
能性を見積もり、生じそうな場合には時間はかかるが確
実な方式の方式で出力させる。
【0069】図16は、ホストコンピュータ400にお
けるプリント処理の手順である。この手順は、プリンタ
を制御するプリンタドライバと呼ばれるプログラムモジ
ュールの一部として実行される。
【0070】まず、ステップS151において、印刷し
ようとしてるオブジェクトを、プリンタにおけるバンド
と同一のバンドに区分けする。オブジェクトは通常印刷
される位置をデータとして含んでいるため、1ページを
構成する各バンドの先頭と末尾のアドレスがわかればこ
の区分けは容易である。
【0071】ステップS152においては、各バンド毎
に、それに含まれるオブジェクトをイメージデータに変
換するのに要する時間を計算する。例えば、オブジェク
トには、たとえばイメージや、文字や、図形などがある
が、各オブジェクト毎に基本となる時間をあらかじめ定
め、その基本の時間にオブジェクトのサイズを乗じてお
およその時間を計算できる。
【0072】ステップS153においては、バンド毎に
算出されたイメージ生成に要する時間が、所定の値を越
えたか判定する。この所定の値とは、プリンタが1つの
バンド分のイメージデータを印刷出力するために、バン
ドバッファから1バンド分のイメージデータを読み出す
ための時間である。ステップS152で算出された値の
精度にも依存するが、オーバーランを確実に防ぐために
は、ある程度安全率を見込んでおくことが必要である。
もし所定時間を越えていれば、オーバーランのおそれが
あるために、ステップS155において、図5に示され
たような圧縮/伸長処理を指定するコマンドと共に、そ
のバンドのプリントデータをプリンタに送り付ける。こ
れにより前述の方式によって印刷が行われることにな
る。一方、越えていなければ、そのバンドについて、圧
縮/伸長命令のない、通常のプリントデータをプリンタ
に送る。これにより、プリンタでは前述の方式で印刷
が行われる。
【0073】こうして、より確実にオーバーランを防止
することができ、また、オーバーランを生じるおそれの
あるバンドだけをプレレンダリング処理できるため、プ
レレンダリング処理による印刷速度の低下を最小限に抑
えることができる。 [第2の実施の形態]第1の実施の形態により、バンド
処理単位毎にデータ供給源より圧縮/伸長処理の指定が
行なわれるケースについては説明してきた。これだけで
もある程度のデータ供給源を含めたトータルパフォーマ
ンスについて向上が期待できるが、更に、ホストコンピ
ュータから、1つのバンド内においても図5に示したよ
うな圧縮/伸長処理が指定されたデータと、従来の中間
コード処理が指定されたデータとを指定させ、その2種
類のデータが混在した描画元データについて次のように
処理すれば更なる効果が期待できる。
【0074】図8は、中間コード処理指定された文字デ
ータと、圧縮伸長処理指定されたイメージデータとが同
一バンド内に混在する画像の例である。領域701及び
704が、それぞれ文字データすなわち中間コードから
イメージを生成すべきデータと、圧縮/伸長指定された
イメージデータとが混在したバンド内の矩形エリアを示
している。702,705が中間コード処理によって生
成される文字部分、703,706が圧縮/伸長される
イメージ部分である。図8(A)は、あるバンド内の、
中間コード処理が指定された文字データと、圧縮伸長処
理が指定されたイメージデータとが混在する領域内で、
文字データがイメージに上書きされる例であり、反対に
図8(B)は、バンド内に於てイメージ部分が文字デー
タにより上書きされる領域の例である。
【0075】このようなデータに対応する最も単純な方
策としては、図8に示すような混在エリアを含むバンド
はプレレンダリングして、すなわち全てイメージとして
展開して、それに圧縮/伸長処理を施すというものが考
えられる。しかし、一般に一度レンダリングしてからイ
メージを圧縮保存するというプリレンダリングプロセス
では、レンダリングに必要となる元データとして実際に
は中間データが用いられており、中間コードからイメー
ジに展開するのに要するプリレンダリング時間がスルー
プットに悪影響を与える。故に極力プリレンダリングを
避けた方が処理効率上は好都合と言える。
【0076】これに極力対処するために、図8に示す混
在部分を含む矩形のみを圧縮/伸長処理を行なう。すな
わち、圧縮/伸長指定されたデータが含まれる領域で
は、その領域に含まれるオブジェクトについてはプリレ
ンダリングしてイメージに変換してから圧縮保存し、圧
縮/伸長指定されたデータが含まれない領域についての
み中間データを生成する。こうすることで、プリレンダ
リングによる処理効率の低下をできるだけ防止し、しか
も必要なメモリ容量の増大も防止できる。
【0077】この場合の動作の流れを図10,図11に
示すフローチャートを用いて説明する。なお、このフロ
ーチャートの手順は、図4に示されたプリンタにより実
行される。
【0078】先ず、ホストコンピュータなどのデータ供
給源より、プリンタ機器に備わる固有のコードデータ
や、PDL等で記述された描画元データを受信し、制御
部402は受信されたデータをメモリコントローラ40
3経由にてDRAM404内に格納する(ステップS9
01)。一般にインターフェースの通信速度とそのデー
タ処理との速度差を吸収するために、受信バッファと称
されるDRAM404内に備わるメモリ領域に一旦バッ
ファリングを行なう等するが、これがその動作に当た
る。
【0079】次にバッファリングされた入力データを制
御部402が解析し、バンド処理に適合した内部データ
に変換すると同時に、図9に示したような中間コードデ
ータ処理と圧縮/伸長処理を施すエリアが重なる部分の
矩形を算出する(ステップS902)。具体的には、バ
ンド制御のために1ページ分の描画命令をバンド処理単
位に別ける作業などに続いて、その各バンド内で図9の
例に示す内容のうち、画像の重なる矩形エリア804,
808を算出する。図9は、図8に中間コードと圧縮/
伸長処理の重なる部分のエリアを追加した例を示す図で
ある。バンド内において、801及び805が、中間コ
ード処理が指定された文字データと圧縮/伸長処理が指
定されたイメージデータとが混在している矩形エリアを
示しており、802,806が中間コード処理指定され
た文字データ、803,807が圧縮伸長処理指定され
たイメージデータである。図9(B)は、あるバンド内
におけるイメージデータと文字データとが混在するエリ
ア808で、文字がイメージに上書きされる状態の図で
ある。一方、図9(A)が、同矩形内804において、
イメージ部分が文字データに上書きされる状態の例であ
る。ステップS902では、矩形エリア804,808
が算出される。
【0080】次に、制御部402は、入力されたデータ
の解析結果に基づき、処理対象のデータが、図5の例に
示されるような圧縮/伸長処理指定がされた描画元デー
タであるか否かと、ステップS902で複合矩形を算出
したか否かを判断する(ステップS903)。圧縮/伸
長処理指定がある場合または混在矩形が算出された場合
にはステップS904へ、そうでなければステップS9
05へと進む。
【0081】ステップS903にて圧縮/伸長処理を行
なう指定があったと判断された場合、もしくは混在矩形
を算出した場合、その指定とともに受信した描画命令
群、もしくは算出された混在矩形エリアに対して、制御
部402は、ラスタライザ406を用いてメモリコント
ローラ403経由にてDRAM404内にイメージデー
タを生成する(ステップS904)。
【0082】ステップS904にて圧縮/伸長処理を行
なう指定処理単位もしくは混在矩形エリアに対してレン
ダリングが終了したならば、制御部402は圧縮/伸長
部405に圧縮処理指定、圧縮元データ、圧縮データ格
納エリア等の各種設定を行なった後、圧縮/伸長部40
5を起動して圧縮処理を開始する(ステップS90
6)。尚、混在矩形エリアのレンダリングエリアは図9
の領域804もしくは808の例に示す矩形エリアとな
り、それ以外のエリアについては、混在しないエリアと
いうことで、データ供給源からの指定によって圧縮処理
を行なうか中間コードで格納するかが分かれる。
【0083】圧縮/伸長部405は、メモリコントロー
ラ403経由でDRAM404上にステップS904で
生成済みのイメージデータを読み込み、圧縮処理後その
圧縮データをやはりメモリコントローラ403経由でD
RAM404上に格納する(ステップS907)。
【0084】一方、ステップS903にて圧縮/伸長処
理を施す指定がないと判断された場合、制御部402は
印字動作開始後に高速レンダリングを行なう目的から、
その目的を達成するための中間データを作成し(ステッ
プS905)、同様にメモリコントローラ403経由に
てDRAM404上に生成された中間データを格納する
(ステップS907)。
【0085】次に制御部402は1バンドの処理が終っ
たか否かを判断し、終了してなければステップS903
へ戻る(ステップS908)。従ってこのループで、イ
メージデータがラスタライザにより生成される中間デー
タと、イメージデータが圧縮伸張部により伸長される圧
縮イメージデータとが混在した画像元データが1バンド
内に生成される。
【0086】ステップS908までのステップで、中間
データ又は圧縮データとして、印字時に必要な画像元デ
ータが生成されたならば、1ページ分の画像元データが
生成されたか否かを判断する(ステップS909)。1
ページ分の画像元データが生成されたならばステップS
910へ進み、ラスタライザ406あるいは圧縮/伸張
部405を設定する。そうでなければステップS901
へ戻り、1ページ分の画像元データが生成されるまで上
記処理を繰り返す。尚、このフローチャートでは説明を
簡略化するためにステップS909にて1ページ分の画
像生成元データがまだ生成されていない場合、ステップ
S901のステップへ戻るよう記述してきたが、これに
限定されるわけではない。実際にはデータ入力/バッフ
ァリングのキューイング作業は別タスクで管理されるこ
とも当然である。その場合はステップS909のステッ
プで条件判断するタスクと、ステップS901で外部イ
ンターフェースを用いてデータ供給源からのデータをキ
ューイングするタスクとが別々に走る。そこで、ステッ
プS909で条件判断するタスクの戻り先は、キューイ
ングされた入力データをバッファから読み取ってデータ
解析を行うというステップS902と記述できる。
【0087】次に、制御部402は、1ページ分溜まっ
たバンド毎の中間コードもしくは圧縮データから、ペー
ジの先頭の1バンド目についての処理を開始し、最初の
処理単位が圧縮データか否かを判断し(ステップS91
1)、圧縮データであればステップS913へ、そうで
なければステップS912へと進む。
【0088】ステップS911にて圧縮データでないと
判断された場合、制御部402はラスタライザ406を
用いて1処理単位のイメージデータ生成を行なう(ステ
ップS912)。具体的には処理速度の向上の目的で本
実施例ではハードウェア構成のラスタライザを用いてい
る。そのためにステップS911でラスタライザ部40
6の初期設定を行なったり、図5中ラスタライザ部40
5を独立したブロックで記述している。しかしこれに限
定されるものではなく、制御部402が中間コードを解
析しイメージデータを生成しても構わない。
【0089】データの径路としては、ラスタライザ部4
06がハードウェア構成である場合は、制御部402が
ラスタライザ部406に必要なパラメータをセットし、
メモリコントローラ403を経由して既にDRAM40
4に生成済の中間コードデータを読み出し、そのコード
データに従ってイメージデータをやはりメモリコントロ
ーラ403を経由してDRAM404に格納する。
【0090】一方、ステップS911にて圧縮データで
あると判断された場合は、制御部402が圧縮/伸長部
に各種パラメータを設定後、1バンド分のイメージデー
タの伸長動作を行なう(ステップS913)。具体的に
はステップS912にてラスタライザ406が行なった
動作と同様に、上記操作で既に生成されたDRAM40
4に格納されている圧縮データをメモリコントローラ4
03を経由して読み込み、その圧縮データを伸長し、伸
長されたイメージデータを再びメモリコントローラ40
3経由にてDRAM404へ格納する。尚、ステップS
912,S913でのデータ読み込み/格納の仕組みと
しては特に限定されるものではないが、ここではソース
とディスティネーションの2チャンネルのDMAがラス
タライザ部406、圧縮伸長部405に各々備わってい
るものとする。また、ここで伸長される元データは、説
明してきたようにデータ供給源から圧縮/伸長処理の指
定があったオブジェクトか、又は、圧縮/伸長処理指定
されたオブジェクトと中間コード処理指定されたオブジ
ェクトとが混在した部分であるとステップS902で決
定され、ステップS904,S906のステップで圧縮
されたデータである。
【0091】次に制御部402は、イメージデータ生成
が2つのバンドについて行われたかを判断し(ステップ
S914)、行われていなければステップS911へ戻
る。即ち、この操作によってDRAM404内に印字さ
れるはずのイメージデータが2つのバンド分生成された
状態となる。これは、装置全体をバンド制御することか
ら、オーバーランを極力回避するために、DRAM40
4の容量が許す範囲で2バンド分のイメージデータを予
め生成しておくプロセスである。なお第1の実施例と本
実施例との動作の違いは、前者が1バンド分の処理が終
わるごとにステップS613を通るのに対し、後者では
画像の1処理単位(オブジェクト)ごとにステップS9
を通ることにある。すなわち、ステップS611,
S612ではバンド単位で処理されているのに対して、
ステップS912,S913では、オブジェクト単位に
処理が行われる。
【0092】次に制御部402はDMA407に上記操
作で生成されたバンドイメージデータをエンジンインタ
ーフェースに送出すべく各種設定を行ない、プリンタエ
ンジン409に対して起動を掛ける(ステップS91
5)。
【0093】起動されたエンジン409は、各種同期信
号をエンジンインターフェース408へ送る。その同期
信号を元に、DMA407が、DRAM404に格納さ
れている1バンド分のイメージデータをエンジンインタ
ーフェース408を介してエンジン409へと送出を開
始し、制御部402は1バンド分のイメージデータの送
出が終了を待つことになる(ステップS916)。
【0094】次に1バンド分のイメージデータの送出が
終了したならば、制御部402は1ページ分のデータ送
出、すなわち1ページ分の印字が終了したか否かを判断
する(ステップS917)。具体的には、ページの印字
途中であれば、ページの終了を確認するのではなく、次
に印字すべきバンドの中間データもしくは圧縮データが
1ページ分のデータとしてまだ残っているか否かの判断
を行う。そして、まだ中間コード/圧縮データとしてメ
モリ上に残っているデータを以降の処理と並行して印字
するためにDMA407の再設定を行なう。その設定
は、本実施例では2つのバンドメモリ領域が確保されて
いるため、既に上記操作でバンドメモリ領域に生成され
た、まだエンジンに送出されていない方のバンドメモリ
領域の内容をエンジン409に送出するよう行われる。
この設定は、制御部402が行うとは限らない。再設定
の動作そのものについては特に限定されるものではな
く、バンドイメージデータ送出を以てソフトウェアに割
り込みが掛かり、制御部402が再設定を行なっても良
いし、1バンドイメージデータ送出後ハードウェアが再
設定を行なっても良い。いずれにせよエンジン409の
データレートに従いオーバーランの発生しない条件が必
要となる。
【0095】ステップS916にて1ページの印字が終
了していないと判断され、且つそのページ内の次のバン
ドデータとしてDRAM404内に中間データもしくは
圧縮データが存在している場合は、そのデータが中間デ
ータなのか圧縮データなのかを判断する(ステップS9
18)。
【0096】ステップS918にて中間コードと判断さ
れたならば、その中間コードから実イメージデータを発
生するために制御部402が各種設定を行ない、ラスタ
ライザ部406がレンダリングを行なう(ステップS9
19)。レンダリング動作、データの経路については、
ステップS912でのレンダリング動作と同様であり、
生成された実イメージデータの格納場所は、既に送出が
終了しているDRAM404内部のバンドバッファのエ
リアとなる。
【0097】ステップS918にて圧縮データであると
判断された場合は、制御部402が次のバンドイメージ
データの生成のために圧縮/伸長部405がその旨再設
定を行ない、圧縮データの伸長動作を行なう(ステップ
S920)。このステップもレンダリング動作について
ステップS919とS912が同じ動作であるのと同
様、ステップS913の伸長動作と同様である。
【0098】ステップS919もしくはS920にて1
バンド内の1処理単位分のイメージデータの生成が終了
したならば、ステップS921へ進み、1バンド分のイ
メージが生成されたか否かを判断する。具体的には1バ
ンド中に含まれる処理単位のラスタライザ406による
レンダリング、及び、圧縮/伸長部405による伸長を
繰り返し(ステップS918,S919,S920,S
921)、1バンド分のイメージが生成される。またこ
の動作を実現するためにラスタ、ライザ406及び圧縮
伸長405にはソースとディスティネーションの2チャ
ンネルのDMAを装備している旨記してきたが、限定は
されないものの、更に格納アドレスについてオフセット
を考慮に入れた転送が可能な形に拡張する必要がある。
【0099】ステップS918,S919,S920,
S921を繰り返し、1バンド分のイメージデータが生
成されたならばステップS916に戻る。ステップS9
17以降、ステップS918,S919,S920,S
921の動作中、ハードウェア的にDMA407がDR
AM404内部のバンドイメージデータをエンジンイン
ターフェース408を介してエンジン409へ送出して
いるわけであるが、このデータ送出の終了の判断をステ
ップS917で行なう。尚、ステップS917以降のス
テップS918,S919,S920,S921に掛る
時間の総合計は、ステップS917にてDMAに再設定
され送出中の他方のバンドバッファ内のイメージデータ
の送出時間と比較して、少ない時間で実行終了すること
が前提である。即ち、このオーバーランと言う事態が発
生しないよう、メモリのデータレート、レンダリング/
伸長のデータレート、バンドバッファ容量が決定構築さ
れ、各部分が制御される。
【0100】ステップS916〜921が繰り返され、
1ページ分のイメージデータのプリンタエンジンへの送
出終了、即ち、1ページ分の印字が終了する(ステップ
S922)。
【0101】本実施例では、中間コードで処理する部分
と、圧縮/伸長処理で処理する部分が重なった場合、そ
の重複する部分を制御部402により算出し、その重複
部を強制的に圧縮/伸長処理をする形に変換して印字を
実現する。これにより、圧縮/伸長処理の指定をオブジ
ェクトの単位で行うことができるために、プレレンダリ
ング処理の機会を更に減らすことができ、オーバンラン
を防止するとともに、印刷速度を向上させることができ
る。
【0102】なお、第1の実施形態では、ホストコンピ
ュータはバンド単位に圧縮/伸長処理か、あるいは中間
コード生成処理かいずれかを指定する。しかし、本実施
形態及びこの後の第3の実施の形態では、オブジェクト
単位でこの指定がされることを想定している。そこで、
第2及び第3の実施の形態では、ホスト側もバンド単位
で指定をせず、オブジェクト単位で指定する。
【0103】そのため、図16において、ステップS1
52及びステップS155では、扱われるデータがバン
ド単位ではなくなるために、つぎのような処理を行うこ
とになる。
【0104】まず、ステップS154においては第1の
実施形態と同様でよい。しかし、ステップS155で
は、イメージ生成に要する時間が所定値を越える原因と
なるオブジェクトに関して圧縮伸長指定を行う。そのた
めに、ステップS152における計算時に、単に各オブ
ジェクトの展開所要時間をバンド単位で加算するのでは
なく、各オブジェクトを、その展開所要時間順に並べて
表を作成しておく。ステップS153において、バンド
の展開所要時間が所定値を超過したと判定されたなら、
その超過時間に相当する分だけ、作成しておいた表から
オブジェクトを選びだし、選び出されたオブジェクトに
対して圧縮/伸長処理を指定する。
【0105】このようにして、オーバーランを生じさせ
ないように、オブジェクト単位で処理のし方を指定する
ことができる。 [第3の実施の形態]本実施例では、オブジェクトが重
複した部分は、その重複のし方を記憶しておく。オブジ
ェクトに対する、圧縮/伸長処理指定や、中間コード処
理の指定はそのまま変えず、各オブジェクトは指定され
た通りに処理される。
【0106】先ず、ホストコンピュータなどのデータ供
給源より、プリンタ機器に備わる固有のコードデータ
や、PDL等で記述された描画元データを受信し、制御
部402は受信されたデータをメモリコントローラ40
3経由にてDRAM404内に格納する(ステップS1
201)。一般にインターフェースの通信速度とそのデ
ータ処理との速度差を吸収するために、受信バッファと
称されるDRAM404内に備わるメモリ領域に一旦バ
ッファリングを行なう等するが、これがその動作に当た
る。
【0107】次にバッファリングされた入力データを制
御部402が解析し、バンド処理に適合した内部データ
に変換すると同時に、図8に示したような中間コードデ
ータ処理と圧縮/伸長処理を施すエリアが重なる部分の
矩形を算出し、どちらの処理データが上書きか判断して
その情報を各処理単位に対する情報として、処理単位と
ともに記憶する(ステップS1202)。具体的には、
バンド制御のために1ページ分の描画命令をバンド処理
単位に別ける作業などに続いて、その各バンド内で図9
の例に示す内容のうち、画像の重なる矩形エリア80
4,808を算出し、どちらの処理画像が上であるかを
認識し、記憶する。図9(B)は、中間コード化処理が
指定された文字データが、圧縮伸長処理が指定されたイ
メージに上書きされる状態の図である。一方、図9
(A)は、イメージデータが文字データに上書きされる
状態の例である。ステップS1202では、このどちら
の状態であるかが認識・記憶される。
【0108】次に、制御部402は、入力されたデータ
の解析結果に基づき、処理対象のデータが、図5の例に
示されるような圧縮/伸長処理指定がされた描画元デー
タであるか否かを判断する(ステップS1203)。圧
縮/伸長処理指定がされている場合にはステップS12
04へ、そうでなければステップS1205へと進む。
【0109】ステップS1203にて圧縮/伸長処理を
行なう指定があったと判断された場合、その指定ととも
に受信した描画命令群に対して、制御部402は、ラス
タライザ406を用いてメモリコントローラ403経由
にてDRAM404内にイメージデータを生成する(ス
テップS1204)。
【0110】ステップS1204にて圧縮/伸長処理を
行なう指定処理単位に対してレンダリングが終了したな
らば、制御部402は圧縮/伸長部405に圧縮処理指
定、圧縮元データ、圧縮データ格納エリア等の各種設定
を行なった後、圧縮/伸長部405を起動して圧縮処理
を開始する(ステップS1206)。
【0111】圧縮/伸長部405は、メモリコントロー
ラ403経由でDRAM404上にステップS1204
で生成済みのイメージデータを読み込み、圧縮処理後そ
の圧縮データをやはりメモリコントローラ403経由で
DRAM404上に格納する(ステップS1207)。
【0112】一方、ステップS1203にて圧縮/伸長
処理を施す指定がないと判断された場合、制御部402
は印字動作開始後に高速レンダリングを行なう目的か
ら、その目的を達成するための中間データを作成し(ス
テップS1205)、同様にメモリコントローラ403
経由にてDRAM404上に生成された中間データを格
納する(ステップS1207)。
【0113】次に制御部402は1バンドの処理が終っ
たか否かを判断し、終了してなければステップS120
3へ戻る(ステップS1208)。従ってこのループ
で、イメージデータがラスタライザにより生成される中
間データと、イメージデータが圧縮伸張部により伸長さ
れる圧縮イメージデータとが混在した画像元データが1
バンド内に生成される。
【0114】ステップS1208までのステップで、中
間データ又は圧縮データとして、印字時に必要な画像元
データが生成されたならば、1ページ分の画像元データ
が生成されたか否かを判断する(ステップS121
0)。1ページ分の画像元データが生成されたならばス
テップS1211へ進み、そうでなければステップS1
201へ戻り、1ページ分の画像元データが生成される
まで上記処理を繰り返す。尚、このフローチャートでは
説明を簡略化するためにステップS1210にて1ペー
ジ分の画像生成元データがまだ生成されていない場合、
ステップS1201へ戻るよう記述してきたが、これに
限定されるわけではない。実際にはデータ入力/バッフ
ァリングのキューイング作業は別タスクで管理されるこ
とも当然である。その場合はステップS1210で条件
判断するタスクと、ステップS1201で外部インター
フェースを用いてデータ供給源からのデータをキューイ
ングするタスクとが別々に走る。そこで、ステップS1
209で条件判断するタスクの戻り先は、キューイング
された入力データをバッファから読み取ってデータ解析
を行うというステップS1202と記述できる。
【0115】次に制御部402はこれからの印字に際し
てレンダラ部406、圧縮/伸長部405に動作の初期
設定を行なう(ステップS1211)。具体的には圧縮
/伸長部405は伸長モードにセットされることにな
る。
【0116】次に制御部402は、ページ分溜まった
バンド毎の中間コードもしくは圧縮データから、ページ
の先頭の1バンド目についての処理を開始し、最初の処
理単位が圧縮データか否かを判断し(ステップS121
2)、圧縮データであればステップS1214へ、そう
でなければステップS1213へと進む。
【0117】ステップS1212にて圧縮データでない
と判断された場合、制御部402はラスタライザ406
を用いて1処理単位のイメージデータ生成を行なう(ス
テップS1213)。具体的には、処理速度の向上の目
的で本実施例ではハードウェア構成のラスタライザを用
いている。そのためにステップS1211でラスタライ
ザ部406の初期設定をしたり、図5中ラスタライザ部
405を独立したブロックで記述しているが、これに限
定されるものではなく、制御部402が中間コードを解
析しイメージデータを生成しても構わない。データの径
路としては、ラスタライザ部406がハードウェア構成
である場合は、制御部402がラスタライザ部406に
必要なパラメータをセットし、メモリコントローラ40
3を経由し既にDRAM404に生成済の中間コードデ
ータを読み出し、そのコードデータに従い実イメージデ
ータをやはりメモリコントローラ403を経由しDRA
M404内に格納する。
【0118】一方、ステップS1212にて圧縮データ
であると判断された場合は、制御部402が圧縮/伸長
部に各種パラメータを設定後、1バンド分のイメージデ
ータの伸長動作を行なう(ステップS1214)。具体
的にはステップS1213にてラスタライザ406が行
なった動作と同様に、上記操作で既に生成されDRAM
404に格納されている圧縮データをメモリコントロー
ラ403を経由して読み込み、そのコードデータを伸長
し、伸長された実イメージデータを再びメモリコントロ
ーラ403経由にてDRAM404ヘ格納する。尚ステ
ップS1213,S1214でのデータ読み込み/格納
の仕組みとしては特に限定されるものではないが、ここ
ではソースとディスティネーションの2チャンネルのD
MAがラスタライザ部406、圧縮伸長部405に各々
備わっているものとする。また、ここで伸長される元デ
ータは、説明してきたようにデータ供給源から圧縮/伸
長処理の指定があったエリア内にあり、ステップS12
04,S1206で圧縮されたデータである。
【0119】次に、制御部402は、実イメージデータ
生成が2つのバンドについて行なわれたかを判断し(ス
テップS1215)、行なわれていなければステップS
1212へ戻る。即ち、この操作によってDRAM40
4内に印字すべき実イメージデータが2つのバンド分生
成された状態となる。これは、装置全体をバンド制御す
ることから、オーバーランを極力回避するためにDRA
M404の容量が許す範囲である2バンド分のイメージ
データを予め生成しておくプロセスである。本実施例で
は画像の1処理単位ごとにステップS1215を通り、
第2の実施形態における図10に示したフローチャート
と同一である。
【0120】次に、制御部402はDRAM407に上
記操作で生成された実バンドイメージデータをエンジン
インターフェースに送出すべく各種設定を行ない、プリ
ンタエンジン409に対して起動を掛ける(ステップS
1216)。
【0121】起動されたエンジン409は、各種同期信
号をエンジンインターフェース408へ送り、その同期
信号を元にDMA407がDRAM404に格納されて
いる1バンド分のイメージデータをエンジンインターフ
ェース408を介してエンジン409へと送出を開始
し、制御部402は1バンド分のイメージデータの送出
が終了を待つことになる(ステップS1217)。
【0122】次に、1バンド分のイメージデータの送出
が終了したならば、制御部402は1ページ分のデータ
送出、即ち1ページ分の印字が終了したか否かを判断す
る(ステップS1218)。具体的には、ページの印字
途中であれば、ページの終了を確認するのではなく、次
に印字すべきバンドの中間データもしくは圧縮データが
1ページ分のデータとしてまだ残っているか否かを判断
する。そして、まだ中間コード/圧縮データとしてメモ
リ上に残っているデータを以降の処理と並行して印字す
るためにDMA407の再設定を行なう。その設定は、
本実施例では2つのバンドメモリ領域が確保されている
ため、既に上記操作でバンドメモリ領域に生成された、
まだエンジンに送出されていない方のバンドメモリ領域
の内容をエンジン409に送出するよう行われる。この
設定は、制御部402が行うとは限らない。また、再設
定の動作そのものについては特に限定されるものではな
く、バンドイメージデータを送出を以てソフトウェアに
割り込みが掛かり、制御部402が再設定を行なっても
良いし、1バンドイメージデータ送出後ハードウェアが
再設定を行なっても良い。いずれにせよエンジン409
のデータレートに従いオーバーランの発生しない条件が
必要となる。
【0123】ステップS1218にて1ページの印字が
終了していないと判断され、且つそのページ内の次のバ
ンドデータとしてDRAM404内に中間データもしく
は圧縮データが存在している場合は、これから生成する
べきデータのうち、中間データが上書きになるのか、圧
縮データが上書きになるのか、また生成するいずれかの
データに対して上書きをするデータが存在するのかをス
テップS1202で記憶された情報を元に判断する(ス
テップS1219)。
【0124】ステップS1219にて中間コードデータ
が下書きであると判断されたならば、その中間コードか
らイメージデータを発生させるために制御部402が各
種設定を行ない、ラスタライザ部406がレンダリング
を行なう(ステップS1220)。レンダリング動作、
データの経路については、ステップS1213でのレン
ダリング動作と同様であり、生成されたイメージデータ
の格納場所は、既に送出が終了しているDRAM404
内部のバンドバッファのエリアとなる。
【0125】ステップS1219にて圧縮データが上書
きであると判断された場合は、制御部402が次のバン
ドイメージデータの生成のために圧縮/伸長部405を
その旨再設定を行ない、圧縮データの伸長動作を行なう
(ステップS1221)。このステップもレンダリング
動作についてステップS1220とS1213が同じ動
作であるのと同様、S1214の伸長動作と同様であ
る。
【0126】ステップS1220もしくはS1221に
て1バンド内の1処理単位分のイメージデータの生成が
終了したならばステップS1222へ進み、1バンド分
のイメージが生成されたか否かを判断する。具体的には
1バンド中に含まれる処理単位をラスタライザ406に
よるレンダリング、圧縮/伸長部405による伸長が繰
り返され(ステップS1219〜S1222)、1バン
ド分のイメージが生成される。また、この動作を実現す
るためにラスタライザ406及び圧縮伸長405には、
前実施例にてソースとディスティネーションの2チャン
ネルのDMAを装備している旨記してきたが、更に格納
アドレスについてオフセットを考慮に入れた転送が可能
な形に拡張する必要がある。また、ステップS1219
の判断によって実際のイメージ生成順序は、紙面上で下
書きの処理単位部分についてから先にイメージ生成され
る順序となる。図8に示す例であれば、図8(A)の場
合伸長処理が最初に行われ、円703内のイメージデー
タ(実際には円を含む矩形イメージデータの伸長)の生
成が行なわれた後、中間コードデータから、文字702
が上書きの論理演算ルールに従いメモリ(DRAM40
4)上に生成される。逆に図8(B)の場合は、中間コ
ード処理データから文字705が先にイメージ化され、
次いで圧縮データが伸長されイメージ706が生成さ
れ、やはり上書きの論理演算ルールに従いメモリ(DR
AM404)に格納される。
【0127】ステップS1219〜S1222を繰り返
し、1バンド分のイメージデータが生成されたならばス
テップS1217に戻り、ステップS1218以降、ス
テップS1219〜S1222の各ステップの動作中、
ハードウェア的にDMA407がDRAM404内部の
バンドイメージデータをエンジンインターフェース40
8を介してエンジン409へ送出しているわけである
が、このデータ送出の終了の判断を行なう。尚、ステッ
プS1218以降のステップS1219〜S1222の
各ステップに掛る時間の総合計は、ステップS1218
にてDMAに再設定され送出中の他方のバンドバッファ
イメージデータの送出時間と比較して、少ない時間で実
行終了することが前提である。即ち、このオーバーラン
と言う事態が発生しないようメモリのデータレート、レ
ンダリング/伸長のデータレート、バンドバッファ容量
が決定構築され、各部分が制御される。
【0128】ステップS1217〜S1222が繰り返
され、1ページ分のイメージデータのプリンタエンジン
への送出終了、すなわち1ページ分の印字が終了する
(ステップS1223)。
【0129】本実施例では上書きの情報記憶をステップ
S1202にて、その記憶情報を元に、処理単位に対す
る上書きデータの判断をステップS1219にて行なっ
ていたが、これに限定されるものではない。ステップS
1202にて、上書きのルールに従って処理データ順を
ソートするというプロセスをレンダラ/伸長部設定プロ
セス1201以前に行ない、処理データ順が紙面上の上
書き論理描画に一致するようにすれば、フローとしては
図10,図11と同様に、バンド内の処理元データ(中
間コード及び圧縮データ)をメモリ(DRAM404)
に格納されている順に処理することが可能である。すな
わち、ステップS1219が不要となるため、処理時間
がクリティカルとなる場合には、図13の流れより有利
になり得る。このため、プレレンダリングの機会を更に
減らすことができ、印刷速度の向上を図れる。
【0130】また、論理演算については、その実現方法
は特に限定しないが、例えば各部の構成は図14の様に
なる。
【0131】ラスタライザ部1101は、図4のラスタ
ライザ部406で、ハード/ソフトは特に問わない、圧
縮伸張部1102は、図4の圧縮/伸張部405で、圧
縮アルゴリズム自体は特に問わないが、図4の動作の項
で説明した動作条件に合致したものである。論理演算描
画部1103は、特に方式を問うものではないが、ディ
スティネーションの画像を読み込み、読み込んだ画像デ
ータと書き込むべき画像データをピクセル単位にて論理
演算を施す。メモリコントローラ1104は、図4のメ
モリコントローラ部403で、機器に実装されている主
記憶装置であるDRAM(図4中404)へのアクセス
タイミング生成、リフレッシュ動作、アクセスソースの
アービトレーションを司っている。
【0132】次に論理演算を施す際の動作について、図
15に示すフローチャートを用いてその流れを説明す
る。尚、図15は論理演算部分の動作のみを記してお
り、その他の動作としては今までに説明で用いてきたフ
ローチャートとの流れと基本的に同一である。図15の
手順は、実施例におけるフローチャートの圧縮あるいは
ラスタライズのステップに相当する。指定された処理が
圧縮/伸長か、ラスタライズかに応じて、ステップS1
502により処理が決められる。
【0133】先ずステップS1502で、これから発生
させるイメージデータの元データが圧縮データなのか中
間コードデータなのかを判断する(ステップS150
2)。これらのデータの生成については図12等に示し
てきたデータ生成プロセスと同一である。
【0134】次にステップS1502にて中間コードデ
ータであると判断されたならば、ラスタライザ1101
(406)はDRAM404内に生成済である中間コー
ドデータを、メモリコントローラ403を介して読み込
み、このデータを元にイメージデータを生成すると共
に、圧縮伸長部1102に対して論理演算の使用状況を
知らる。これにより、ラスタライズ部1101と圧縮/
伸長部1102との同時動作を回避する。
【0135】尚、これはフローチャートに於てはラスタ
ライズ部と圧縮/伸長部の伸長動作との同時動作が無い
旨記載されており、その意味に於ては必須とならない
が、本例の拡張として論理演算部を複数、即ちラスタラ
イズ部、圧縮/伸長部にそれぞれ備わっている場合、同
一ディスティネーションに対するデータ操作を回避する
ことを意識しているためである。このような対処を施す
ことにより、シーケンスの流れとしては異なるエリアの
イメージデータ生成についてはラスタライザ部と圧縮/
伸長部がバスバンドの許す範囲に於て同時動作が可能と
なる。一方、同一ディスティネーションエリアのイメー
ジデータ生成に対しては、予めイメージ元データを論理
描画の順序に従った順序にソートし、その動作シーケン
スに合わせてラスタライザ部及び圧縮/伸長部をシーケ
ンシャルに動作させることで対応可能であり、また処理
する論理演算に対応可能で、且つカラープリンタであれ
ば色論理演算にも拡張対応可能となる。
【0136】次にラスタライザ部1101は、ステップ
S1503にて生成されたイメージデータと共に、その
書き込みエリア情報を論理演算部1103へ送る。論理
演算部1103は、メモリコントローラ1104経由
で、対応するディスティネーションデータの格納されて
いるDRAM404内のデータを読み込む(ステップS
1505)。
【0137】次に論理演算部は1103は、ステップS
1505で読み込んだディスティネーションイメージデ
ータと、ラスタライズ部1101より送出されたイメー
ジデータとの間で、論理演算を行なう(ステップS15
07)。尚、論理演算そのものの実現方法については特
に限定しない。
【0138】次に論理演算部はステップであるステップ
S1507にて生成された論理演算の施されたイメージ
データを、メモリコントローラ1104を介して本実施
例の主記憶装置であるDRAM404に格納する(ステ
ップS1509)。
【0139】次に以上の動作が終了したならば、ステッ
プS1503のステップにて圧縮/伸長部1102に論
理演算部1103の使用状況を示していたアービトレー
ション信号を解放し、圧縮/伸長部1102に対して論
理演算部1103の使用が可能である旨報せる(ステッ
プS1511)。
【0140】以上の動作にて生成イメージデータの元デ
ータが中間コードである場合の1処理単位に対するイメ
ージデータの生成が終了し、更に処理データが存在して
いる場合はステップS1502へ戻る(ステップS15
13)。
【0141】一方、ステップS1502にて圧縮データ
であると判断された場合も、動作的には中間コードデー
タと判断された場合と同一で、ステップS1504にて
ラスタライズ部1101に対して論理演算部1103の
使用を伝えると共に、圧縮データを伸長する。ステップ
S1506にて対応するディスティネーションデータを
メモリコントローラ1104を介してDRAM404よ
り読み込む。ステップS1508にて伸長されたデータ
と読み込まれたディスティネーションデータとの間で論
理演算を施し、ステップS1510にてその論理演算結
果をやはりメモリコントローラ1104を介してDRA
M404内に格納する。ステップS1512にて圧縮/
伸長部1102による論理演算部1103の使用の終
了、すなわちラスタライズ部1101の論理演算部11
03の使用可能を報せ、1処理単位の圧縮データの伸
長、即ちイメージデータの生成が終了する。
【0142】なお、本実施例の説明で用いてきた中間デ
ータ処理を施す部分と圧縮/伸長処理を施す部分の復号
するエリアの算出方法は特に限定しない。更に複合エリ
アの例も本実施例に示してきた図9に示したものに限定
されるものではなく、処理の都合に合わせて対応可能で
ある。
【0143】なお、本発明は、複数の機器(例えばホス
トコンピュータ,インタフェイス機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。
【0144】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても達成される。
【0145】この場合、記憶媒体から読出されたプログ
ラムコード自体が本発明の新規な機能を実現することに
なり、そのプログラムコードを記憶した記憶媒体は本発
明を構成することになる。
【0146】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0147】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0148】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0149】
【発明の効果】以上説明したように、本発明は、印刷デ
ータの圧縮/伸長処理と中間コードへの変換処理の切り
替えを、データ供給源からの指定に応じて行うことで、
データ供給源でプリンタのオーバーランを予測できる。
すなわち、データ源側が、データを送る際に、大量のオ
ブジェクトが存在する領域といった、オーバーランを生
じる原因となり得る印刷データのスクリーニングを行な
う。これに従って、データ源から圧縮/伸長処理動作を
プリンタ装置側に指定することにより、オーバーランの
リスクを回避できる。
【0150】また、圧縮/伸長の指定をバンド単位で行
うことにより、スループットを向上させることができ
る。
【0151】さらに、圧縮/伸長の指定をオブジェクト
単位に行うことにより、さらにスループットを向上させ
ることができる。
【0152】また、圧縮/伸長制定された印刷データ
と、そうでない印刷データとが重複した領域について
は、その領域だけをイメージとして展開し、圧縮/伸長
処理することで、プレレンダリングする領域を最小限に
抑制でき、さらにスループットを向上させることができ
る。
【0153】また、圧縮/伸長制定された印刷データ
と、そうでない印刷データとが重複した領域について
は、重なる順序を記憶して、イメージ生成時に指定され
た処理のしかたで記憶された順序でイメージを生成する
ことで、指定されていない印刷データのプレレンダリン
グを行わなくとも、オーバーランを防止しつつ、スルー
プットを向上させることができる。
【0154】
【図面の簡単な説明】
【図1】一般的なプリントシステムの概略構成を示すブ
ロック図である。
【図2】バンド処理を行なう従来例の構成を示したブロ
ック図である。
【図3】バンド処理を行なう従来例の制御の流れを示し
たフローチャートである。
【図4】圧縮/伸長技術を盛り込んだ従来例の構成を示
すブロック図である。
【図5】本発明の1実施例として、データ供給源がプリ
ンタコントローラに対し処理内容を指定するための命令
フォーマットを示した図である。
【図6】本発明の1実施例として、バンド単位にデータ
供給源がプリンタコントローラに対し処理内容を指定す
る場合の動作を示したフローチャートである。
【図7】本発明の1実施例として、バンド単位にデータ
供給源がプリンタコントローラに対し処理内容を指定す
る場合の動作を示したフローチャートである。
【図8】中間データによる処理を行なう部分と圧縮/伸
長処理による生成画像が、紙面上重なる場合の例を示し
た図である。
【図9】中間データによる処理を行なう部分と圧縮/伸
長処理による生成画像が、紙面上重なる場合の例を示し
た図で、その重複部分の矩形エリアの最小範囲を示した
図である。
【図10】データ供給源がプリンタコントローラに対
し、描画オブジェクト時に中間コード処理及び圧縮/伸
長処理を指定する場合の処理の流れを示したフローチャ
ートである。
【図11】データ供給源がプリンタコントローラに対
し、描画オブジェクト時に中間コード処理及び圧縮/伸
長処理を指定する場合の処理の流れを示したフローチャ
ートである。
【図12】データ供給源がプリンタコントローラに対
し、描画オブジェクト時に中間コード処理及び圧縮/伸
長処理を指定する場合で、論理演算として上書き論理を
サポートする場合の動作の流れを示したフローチャート
である。
【図13】データ供給源がプリンタコントローラに対
し、描画オブジェクト時に中間コード処理及び圧縮/伸
長処理を指定する場合で、論理演算として上書き論理を
サポートする場合の動作の流れを示したフローチャート
である。
【図14】論理演算部とラスタライズ部、圧縮/伸長
部、メモリコントローラ部の接続状況の例を示したブロ
ック図である。
【図15】図14に論理演算部の動作の流れの例を示し
たフローチャートである。
【図16】ホストコンピュータにおいて、圧縮/伸長処
理か、あるいは中間コード処理かいずれを指定する判断
する手順のフローチャートである。
【符号の説明】
400 ホストコンピュータ 401 インターフェース 402 制御部 403 メモリコントローラ 404 DRAM 405 圧縮/伸張部 406 ラスタライザ 407 DMA 408 エンジンインターフェース 409 エンジン
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) B41J 5/30 G06F 3/12

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 ページ単位の印刷データを生成するホス
    ト装置と、該ホスト装置と接続され、ページを分割して
    成るバンド単位で画像を形成して出力する印刷装置とを
    含む印刷システムであって、 前記ホスト装置は、バンドごとに印刷データからイメー
    ジデータの生成に要する所要時間を見積もる見積もり手
    段と、 前記見積もり手段により見積もられた所要時間が所定値
    を越えるか判定する判定手段と前記判定手段による 判定結果に応じて、印刷データから
    イメージデータを生成して圧縮する必要のある印刷デー
    を指定する指定情報を生成する指定手段とを備え、 前記印刷装置は、前記ホスト装置で生成された前記印刷
    データと、該印刷データについての前記指定情報とを受
    信する受信手段と、前記印刷データを解析し、前記指定情報で指定されたバ
    ンドを判断する判断手段と、 前記判断手段によって、前記指定情報で指定されたバン
    ドであると判断された場合、該バンドからイメージデー
    タを生成して圧縮する圧縮処理手段と を有することを特
    徴とする印刷システム。
  2. 【請求項2】 前記印刷装置は、前記判断手段によって
    前記指定情報で指定されたバンドでないと判断された場
    合、該バンドから中間データを生成する中間データ生成
    手段をさらに有することを特徴とする請求項1に記載の
    印刷システム。
  3. 【請求項3】 前記印刷データは描画される単位である
    描画単位を組み合わせて構成され、前記ホスト装置の
    記指定手段は、イメージデータを生成して圧縮する必要
    がある描画単位を指定する指定情報を生成することを特
    徴とする請求項に記載の印刷システム。
  4. 【請求項4】 前記圧縮処理手段は、前記指定手段でイ
    メージデータを生成して圧縮する必要があるとして指定
    された前記描画単位に重複する他の描画単位が存在する
    場合、前記描画単位と重複する他の描画単位とが重なる
    範囲に対して 、イメージデータを生成して圧縮すること
    を特徴とする請求項3に記載の印刷システム。
  5. 【請求項5】 ページ単位の印刷データを生成するホス
    ト装置と、該ホスト装置と接続され、ページを分割して
    成るバンド単位で画像を形成して出力する印刷装置とを
    用いる印刷制御方法であって、 前記ホスト装置において、バンドごとに印刷データから
    イメージデータの生成に要する所要時間を見積もる見積
    もり工程と、 前記ホスト装置において、前記見積もり工程により見積
    もられた所要時間が所定値を越えるか判定する判定工程
    と、 前記ホスト装置において、前記判定工程による判定結果
    に応じて、印刷データからイメージデータを生成して圧
    縮する必要のある印刷データを指定する指定情報を生成
    する指定工程と、 前記印刷装置において、生成された前記印刷データを解
    析し、前記指定情報で指定されたバンドを判断する判断
    工程と、 前記印刷装置において、前記判断工程によって前記指定
    情報で指定されたバンドであると判断された場合、該バ
    ンドからイメージデータを生成して圧縮する圧縮処理工
    程とを有することを特徴とする印刷制御方法。
  6. 【請求項6】 前記印刷装置において、前記判断工程に
    よって前記指定情報で指定されたバンドでないと判断さ
    れた場合、該バンドから中間データを生成する中間デー
    タ生成工程をさらに有することを特徴とする請求項5に
    記載の印刷制御方法。
  7. 【請求項7】 前記印刷データは描画される単位である
    描画単位を組み合わせて構成され、前記指定工程は、イ
    メージデータを生成して圧縮する必要がある描画単位を
    指定する指定情報を生成することを特徴とする請求項5
    に記載の印刷制御方法。
  8. 【請求項8】 前記圧縮処理工程は、前記指定工程でイ
    メージデータを生成して圧縮する必要があるとして指定
    された前記描画単位に重複する他の描画単位が存在する
    場合、前記描画単位と重複する他の描画単位とが重なる
    範囲に対して 、イメージデータを生成して圧縮すること
    を特徴とする請求項7に記載の印刷制御方法。
JP01938297A 1997-01-31 1997-01-31 印刷システム及び印刷制御方法 Expired - Fee Related JP3486517B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01938297A JP3486517B2 (ja) 1997-01-31 1997-01-31 印刷システム及び印刷制御方法
US09/010,564 US6348969B1 (en) 1997-01-31 1998-01-22 Printing with designation of processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01938297A JP3486517B2 (ja) 1997-01-31 1997-01-31 印刷システム及び印刷制御方法

Publications (2)

Publication Number Publication Date
JPH10217555A JPH10217555A (ja) 1998-08-18
JP3486517B2 true JP3486517B2 (ja) 2004-01-13

Family

ID=11997765

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01938297A Expired - Fee Related JP3486517B2 (ja) 1997-01-31 1997-01-31 印刷システム及び印刷制御方法

Country Status (2)

Country Link
US (1) US6348969B1 (ja)
JP (1) JP3486517B2 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11220628A (ja) * 1998-01-30 1999-08-10 Canon Inc 画像処理装置及び方法並びに記憶媒体
US6753974B1 (en) 1999-07-28 2004-06-22 Adobe Systems Incorporated Compositing pages from page components
US6762857B1 (en) * 1999-11-29 2004-07-13 Xerox Corporation Method and apparatus to enable processing multiple capabilities for a sub-job when using a set of commonly shared resources
US6717690B1 (en) * 1999-11-29 2004-04-06 Xerox Corporation Method and apparatus for managing job contention for system resources in an electrographic reproduction system where images are multibanded
US6564305B1 (en) * 2000-09-20 2003-05-13 Hewlett-Packard Development Company Lp Compressing memory management in a device
JP3826038B2 (ja) * 2002-01-17 2006-09-27 キヤノン株式会社 印刷システム及びその印刷方法並びに印刷装置
US20040085551A1 (en) * 2002-10-31 2004-05-06 David Serisky Methods and systems for estimating print imaging material usage
US20040125385A1 (en) * 2002-12-30 2004-07-01 Mellor Douglas J. Estimating a guarantee time
US7305490B2 (en) * 2003-07-29 2007-12-04 Hewlett-Packard Development Company, L.P. Preparing electronic data for transmission
US20060114495A1 (en) * 2004-12-01 2006-06-01 Lexmark International, Inc. Printing system and method utilizing control by external central processing unit
JP5210913B2 (ja) * 2009-02-05 2013-06-12 京セラドキュメントソリューションズ株式会社 画像形成装置及び画像形成方法
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
JP2011158951A (ja) * 2010-01-29 2011-08-18 Konica Minolta Business Technologies Inc 画像処理装置、プログラム及び画像処理方法
US9324012B2 (en) * 2010-10-27 2016-04-26 Xerox Corporation Methods, systems and apparatus for clear texturing
JP2015032238A (ja) * 2013-08-06 2015-02-16 セイコーエプソン株式会社 印刷制御装置、印刷制御方法および印刷制御プログラム
JP6218643B2 (ja) * 2014-03-03 2017-10-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US9582226B2 (en) 2015-07-16 2017-02-28 Xerox Corporation System and method for producing clear colorant on imposed multi-pass pages
JP2021002243A (ja) * 2019-06-24 2021-01-07 コニカミノルタ株式会社 情報処理装置、画像形成システム、印刷制御方法及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63236071A (ja) * 1987-03-25 1988-09-30 Ricoh Co Ltd 横レジスト調整装置
US5129049A (en) * 1991-05-16 1992-07-07 Hewlett-Packard Company Method and apparatus for preventing print overruns
US5337258A (en) * 1992-07-10 1994-08-09 Microsoft Corporation Cost metrics
US5602976A (en) * 1993-02-23 1997-02-11 Adobe Systems Incorporated Method and apparatus for saving printer memory
JPH0981763A (ja) * 1995-07-07 1997-03-28 Oki Data:Kk 文字・イメージ混在データの圧縮方法及び装置
US5796930A (en) * 1995-11-13 1998-08-18 Varis Corporation System architecture for processing and transporting page-map or bit-map data to a raster print engine
US5913018A (en) * 1996-07-24 1999-06-15 Adobe Systems Incorporated Print band rendering system

Also Published As

Publication number Publication date
US6348969B1 (en) 2002-02-19
JPH10217555A (ja) 1998-08-18

Similar Documents

Publication Publication Date Title
JP3486517B2 (ja) 印刷システム及び印刷制御方法
JP2922680B2 (ja) 高解像コンピユータ・グラフイツクスの圧縮画像蓄積方法
US6611347B1 (en) Print control apparatus, print control method, storage medium, and computer readable program performing a form overlay process
JPH09284509A (ja) 画像処理装置
US6025927A (en) Image processing apparatus and method
US6678072B1 (en) Printer control apparatus and method
CN102096571B (zh) 可变印刷控制装置以及控制程序
US6597467B2 (en) Image processing apparatus for transmitting compressed area information to be used in editing
EP0772115B1 (en) System, output device, method, and computer-usable medium using a split printer driver to control a computer printer device
US6975416B2 (en) Print control apparatus and method
JPH08224917A (ja) 印刷装置及びデータ制御方法
US5995722A (en) Information processing system
JP3685234B2 (ja) 画像処理装置
EP0752641B1 (en) Printing resolution and/or gradation control
JP3715749B2 (ja) 画像処理システム及び画像処理方法
JP3472057B2 (ja) 出力制御装置および方法
JPH07135575A (ja) カラー画像情報出力装置
JP6882099B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4400709B2 (ja) 画像処理装置及び画像処理方法
JPH11203070A (ja) プリンタ制御装置
JPH1016322A (ja) 画像形成方法とその装置
JP2000137587A (ja) 印刷制御装置及び方法
US6281985B1 (en) Print control apparatus, print control method, and memory medium
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH11187261A (ja) 画像処理装置

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031014

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

Free format text: PAYMENT UNTIL: 20071024

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20081024

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20091024

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees