[go: up one dir, main page]

JP4174476B2 - データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム - Google Patents

データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム Download PDF

Info

Publication number
JP4174476B2
JP4174476B2 JP2005008592A JP2005008592A JP4174476B2 JP 4174476 B2 JP4174476 B2 JP 4174476B2 JP 2005008592 A JP2005008592 A JP 2005008592A JP 2005008592 A JP2005008592 A JP 2005008592A JP 4174476 B2 JP4174476 B2 JP 4174476B2
Authority
JP
Japan
Prior art keywords
band
page
rendering
data
data 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
JP2005008592A
Other languages
English (en)
Other versions
JP2005316950A (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 JP2005008592A priority Critical patent/JP4174476B2/ja
Priority to US11/086,930 priority patent/US7746494B2/en
Publication of JP2005316950A publication Critical patent/JP2005316950A/ja
Application granted granted Critical
Publication of JP4174476B2 publication Critical patent/JP4174476B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32363Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter at the transmitter or at the receiver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/329Storage of less than a complete document page or image frame
    • H04N2201/3294Storage of less than a complete document page or image frame of several complete lines, e.g. a band of data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、ホストコンピュータ上のプリンタドライバから描画データをページ単位でプリンタに送信し、プリンタ側でそれをバンド単位に分割した中間データに変換してレンダリングする印刷システムに関するものである。
従来、この種の印刷システムにおいては、データ処理装置の記憶装置にインストールされているプリンタドライバは、アプリケーションが生成する描画データをプリンタが解釈可能な描画データに変換してプリンタに送信する処理を印刷要求時に実行する。この場合、プリンタドライバからプリンタに送信される描画データはPDL(ページ記述言語)データと呼ばれ、ページ単位で記述されている。
そして、プリンタは、ページ単位の描画データをバンド単位の中間データに変換して、1ページ分の中間データの生成が完了すると先頭のバンドから順番にレンダリングしてイメージデータを生成し、更にそれを圧縮して保持し、全てのバンド即ち1ページ分のレンダリングと圧縮が終了すると、圧縮されたイメージデータは印刷プロセスに同期して伸張されて印刷画像データとなる。
なお、バンド単位でレンダリング及び圧縮するのは、1ページ分の非圧縮イメージを保持するには非常に大きな連続メモリが必要となってしまうことが主な理由である。
通常、印刷装置において、プリンタコントローラ内で実行される中間データの生成処理、レンダリング及び圧縮処理、伸張及び印刷処理の3つの処理はそれぞれ並列的に行なわれるのが一般的であり、中間データ及び圧縮されたイメージデータのメモリ領域にはそれぞれ複数のページが蓄積される。
このようなシステムをLBP等の一般的な電子写真装置に適用する場合、各ページを複数枚印刷するコピー印刷やペーパジャム後の再印刷(リカバリ)は圧縮されているイメージを使って行なわれるため、圧縮イメージはそのページの印刷完了まで保持されるが、中間データはバンド単位でレンダリングが終了した時点で解放される(例えば、特許文献1)。
一般にレンダリングされたイメージデータはフルカラーならCMYKの各プレーンに変換され、更に電子写真装置の諧調に合わせてハーフトーン処理を施してから圧縮される。これによりイメージデータの圧縮率は高まり、印刷実行時のイメージデータの伸張処理も効率的に行える。
1ページ分の全バンドをレンダリングしてから印刷を開始するシステムはCMYKの4つの現像機構を有しているタンデム方式と呼ばれるフルカラー電子写真装置や、高速のモノクロ電子写真装置に適している。
尚、中低速のモノクロ電子写真装置や、現像機構を1つしかもたない非タンデムのフルカラー電子写真装置では、印刷処理に同期してレンダリングを行う方法も古くから使われている。
尚、ホストコンピュータにインストールされているプリンタドライバにおいて、プリンタドライバがアプリケーションからの描画コマンドを1ページ分スプールし、スプールされた描画コマンドを印刷装置の印刷開始方向にあわせてバンド分割してソートすることで、ページ単位ではなくバンド単位で描画データを生成し、プリンタに送信する印刷システムも考案されている(例えば、特許文献2)。このようなシステムの場合、印刷装置はホストコンピュータから1バンド分の描画データの受信が完了した時点でそのバンドをレンダリングすることが可能となり、レンダリングが終了するとそのバンドの中間データは解放されるため、ページ単位で描画データを生成する印刷システムと比較して中間データ用のメモリを圧迫しにくいというメットと、印刷装置におけるレンダリング処理が早く終了するというメリットがある。
しかしながら、プリンタドライバは、アプリケーションから任意の順序(印刷装置における印刷順序とは無関係)で出力される描画コマンドから、バンド単位で描画データを生成しなければならないため、描画コマンドを印刷装置の印刷方向を意識してソートするというソート作業に時間を要するデメリットと、複数バンドに跨る描画オブジェクトに関しては複数に分割しなければならず描画オブジェクトの生成に要する処理時間の増加というデメリットと、複数のバンドに分割できない描画オブジェクトに関しては各バンド毎に描画データを生成しなければならず、印刷ジョブのデータ量が増大するというデメリットがある。
例えばアプリケーションから出力される描画コマンドがJPEGのイメージオブジェクトの場合、プリンタドライバにおいてそのイメージオブジェクトを複数のバンドに合わせて分割するためには、JPEGフォーマット形式のイメージオブジェクトを伸張する必要があり、また印刷ジョブには分割されたイメージオブジェクトを送信しなければならず、JPEGフォーマットに再度変換できないため印刷ジョブのデータサイズが肥大してしまう。
また、一般的な図形オブジェクトの場合、それを分割するにはスキャンオブジェクトに変換する必要があるため、スキャンオブジェクト毎のヘッダ指定を行うと印刷ジョブのデータサイズが肥大してしまう。そしてスキャンオブジェクトのデータサイズは解像度に比例するため、特に1200DPIや2400DPIのような高解像度の印刷システムには向かない。更に文字オブジェクトの場合、それを分割すること自体が不可能であるため、バンド毎に文字を描画しなければならない。
特開平10−147017号公報 特開2003−216361号公報
先に説明した特許文献1のような印刷システムでは、印刷装置のメモリデッドロックにより1ページ分の全てのバンドをレンダリングしてから印刷を開始すると、印刷処理に同期してレンダリングを行うバンドレンダリングの方法と比較して印刷を開始するタイミングが遅いという第1の課題があった。
又、中間データを格納するためのメモリ(後述する中間バッファ)はメモリ容量が有限であるのに対して、1ページを構成する中間データのサイズは、データ処理装置のプリンタドライバから送信される描画データを構成する描画オブジェクトの数、種類、大きさ、更には描画位置に依存して変動する流動的なものである。
例えば1ページを構成する中間データのサイズが大きい場合、それ以前のページのバンドがレンダリングされて中間データの格納メモリが解放されるのを待たなければならないことがある。
更に、1ページを構成する中間データのサイズが非常に大きい場合には、直前のページの全てのバンドがレンダリングされても中間データの格納メモリが足らない場合がある。そのような場合には中間データを生成中のページの1つ又は複数のバンドを一旦レンダリングして、中間データの格納メモリを空ける必要がある。その際にレンダリングされたイメージデータに対してCMYK変換やハーフトーン処理を施してしまうと後の描画データの描画論理によっては正しく描画することができない。
よって、レンダリングしたイメージデータはRGB画像のまま保持するのが理想的であるが、非常に大きなメモリを必要とするためJPEG等の圧縮を適用するのが一般的である。それでもハーフトーン処理されたCMYK画像と比較すれば大きなメモリが必要であり、更にJPEG圧縮による画像の劣化や処理速度の低下は避けられない等の第2の課題があった。
そして、印刷装置側でメモリデッドロックが発生しないように、ホストコンピュータのプリンタドライバにおいて、特許文献2のように、バンドソートを行いバンド単位に分割された印刷ジョブを生成する場合には、上述したように、プリンタドライバの処理負担の増加により印刷ジョブ自体の生成が遅くなり、ファーストプリントアウトの遅延が発生してしまうデメリットがあり、また、バンド分割により結果として印刷データ量が増えてしまう場合もあり、印刷装置側でバンドレンダリングが可能であるとしても、ネットワークの通信負荷の増大を招く結果となってしまうという第3の課題があった。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、印刷装置側に多くのメモリを必要とせず、かつ、プリンタドライバの負担も軽くすることで、印刷スループットを従来よりも向上させる仕組みを提供することである。
そのために、本発明は、アプリケーションが生成するページ単位の複数の描画オブジェクトを、プリンタドライバで受け取った順序で、印刷装置が解釈可能な描画命令に変換して印刷装置に転送処理する際に、1ページが印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出して、各バンド内で最後に描画すべき描画オブジェクトを検出する毎に、該最後に描画すべき描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を印刷装置に通知することにより、印刷装置で中間データが1頁揃う前に、既にレンダリング可能な中間データのレンダリング処理を開始可能な状態に遷移させることができるデータ処理装置およびプリンタドライバおよびデータ処理方法を提供する。
また、データ処理装置からページ単位の描画情報を中間データに変換して中間バッファに記憶させる際に、データ処理装置から描画オブジェクトから描画情報への生成処理がバンド単位に終了したことを示す終了情報を受信すると、中間データに記憶されてレンダリング可能な中間データが存在する場合には、1ページの中間データ生成処理終了を待つことなく、中間データに対するレンダリング処理を先行させることにより、中間データを記憶すべき中間バッファが圧迫されてしまう事態を回避しながら、バンド単位の中間データのレンダリング処理を効率よく行い、印刷システム全体としてデータ処理速度及び画質の低下を防ぐことができる印刷制御装置および印刷制御方法を提供する。
本発明に係るデータ処理装置は、以下の特徴的構成を備える。
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置であって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、1ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
本発明に係るプリンタドライバプログラムは、以下の特徴的構成を備える。
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバプログラムであって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
本発明に係るデータ処理方法は、以下の特徴的構成を備える。
データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置におけるデータ処理方法であって、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とする。
本発明に係る印刷制御装置は、以下の特徴的構成を備える。
データ処理装置から受信する印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング処理可能な印刷制御装置であって、前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを有し、前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする。
本発明に係る印刷制御方法は、以下の特徴的構成を備える。
データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置における印刷制御方法であって、前記データ処理装置から受信される前記描画命令に基づいて、前記印刷制御装置で内部処理可能な中間データに変換して中間バッファに記憶する変換工程と、記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリングステップと、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断ステップと、前記判断ステップが前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリングステップがレンダリング可能な状態に遷移させる制御ステップとを有し、前記制御ステップは、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリングステップによりレンダリング処理させるよう制御することを特徴とする。
本発明に係る印刷システムは、以下の特徴的構成を備える。
アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置と、データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置とを含む印刷システムであって、前記データ処理装置は、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、1ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とし、前記印刷制御装置は、前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを備え、前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする。
本発明によれば、データ処理装置またはプリンタドライバにより、印刷装置で中間データが1頁揃う前に、既にレンダリング可能な中間データのレンダリング処理を開始可能な状態に遷移させることが可能となるように、適切にバンド単位の描画情報生成が終了していることを通知できる。
また、印刷装置側において、データ処理装置から受信した描画情報から中間データを生成して中間バッファに記憶する際に、バンド処理の終了を示す情報によりレンダリングを開始することができ、必ずしも1ページ分の中間データが格納されることを待つことがなくなり、中間データを記憶すべき中間バッファが圧迫されてしまう事態を回避しながら、バンド単位の中間データのレンダリング処理を効率よく行い、印刷システム全体としてデータ処理速度及び画質の低下を防ぐことができる等の効果を奏する。
次に本発明を実施するための最良の形態について図面を参照して説明する。
図1は、本発明を適用可能な印刷装置(本発明の印刷制御装置に相当する)の構成を説明する断面図であり、例えばレーザビームプリンタ(LBP)例に対応する。
図1において、100はLBP本体(LBP)であり、このLBP100はLAN接続されているコンピュータ(図2に示すホストコンピュータ201であり、本発明のデータ処理装置に相当する)から供給される用紙サイズ指定命令、文字印刷命令、各種図形描画命令、イメージ描画命令及び色指定命令等に従って対応する文字パターンや図形、イメージ等を作成し、記録媒体である記録用紙上に像を形成する。
151は操作パネルで、操作のためのスイッチ及びプリンタの状態を表示するLED表示器やLCD表示器等が配されている。101はプリンタ制御ユニット(プリンタコントローラ)で、LBP100全体の制御及びコンピュータから供給される文字印刷命令等を解析する。
なお、本実施形態におけるLBPはRGBの色情報をM(マゼンタ)C(シアン)Y(イエロー)K(クロ)に変換し、それらを並列で像形成・現像するため、MCYKそれぞれが像形成・現像機構を持つ。プリンタ制御ユニット101はMCYKそれぞれの印刷イメージを生成し、ビデオ信号に変換してMCYKそれぞれのレーザ・ドライバに出力する。
M(マゼンタ)のレーザ・ドライバ110は半導体レーザ111を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ111から発射されるレーザ光112をオン・オフに切り替えする。レーザ光112は回転多面鏡113で左右方向に振られて静電ドラム114上を走査する。これにより、静電ドラム114上には文字や図形のパターンの静電潜像が形成される。この潜像は静電ドラム114周囲の現像ユニット(トナーカートリッジ)115によって現像された後、記録用紙に転写される。
C(シアン)、Y(イエロー)、K(クロ)に関してもM(マゼンタ)と同様の像形成・現像機構をそれぞれ備えている。個々の機能はM(マゼンタ)の像形成・現像機構と同じであるので説明は省略する。
記録用紙にはカット・シートを用い、カット・シート記録紙はLBP100に装着した給紙トレイ102に収納されバネ103で一定の高さに保たれており、給紙ローラ104及び搬送ローラ105と106とにより装置内に取り込まれ、用紙搬送ベルト107に乗せられてMCYKの各像形成・現像機構を通過する。
記録用紙に転写されたMCYKの各トナー(粉末インク)は定着器108で熱と圧力により記録用紙に固定され、記録用紙は搬送ローラ109と150によってLBP100本体上部に出力される。
図2は、図1に示したLBP100のプリンタコントローラ101の概略構成を示すブロック図であり、該プリンタコントローラ101は、LAN216で接続されているコンピュータ201のプリンタドライバPDを介して送られてきた印刷ジョブに含まれる文字、図形、イメージの各描画命令及び色情報等からなる印刷データを入力し、各バンド単位にレンダリングすることで、ページ単位で文書情報等を印刷するようにしている。
なお、ホストコンピュータ201には、図示しないいわゆるパーソナルコンピュータとしてのハードディスクウエア資源(CPU,RAM,ROMを含む)を備え、ハードディスク等に記憶される所定のOSの下で、種々のアプリケーションをUIを介して実行し、印刷要求をユーザが入力デバイスを操作して行うと、プリンタドライバPDに描画データをプリンタが解析可能なPDLデータ(ページ記述言語で記述された印刷データ)に変換して転送する処理を行う。
202は入力インタフェース部で、コンピュータ201と各種情報をやり取りする。203は入力バッファメモリで、入力インタフェース部202を介して入力された各種情報を一時記憶する。204は文字パターン発生器で、文字の幅や高さ等の属性や実際の文字パターンのアドレスが格納されているフォント情報部219、文字パターン自身が格納されている文字パターン部220、及びその読みだし制御プログラムから成る。読み出し制御プログラムはROM217に含まれ、文字コードを入力するとそのコードに対応する文字パターンのアドレスを算出するコード・コンバート機能をも有している。
205はRAMで、文字パターン発生器204より出力された文字パターンを記憶するフォント・キャッシュ領域207、コンピュータ201より送られてきた外字フォント及び現在の印刷環境等を記憶する記憶領域206を含んでいる。
このように、一旦文字パターンに展開したパターン情報をフォント・キャッシュとしてフォント・キャッシュ領域207に記憶しておくことにより、同じ文字を印刷する時に再度同じ文字を復号してパターン展開する必要がなくなるため、文字パターンへの展開が速くなる。
208はプリンタの制御ユニット全体を制御するためのCPUで、ROM217に記憶されたCPU208の制御プログラムにより装置全体の制御を行っている。209は入力データを元に生成される内部的なデータ群である中間バッファである。1ページ分のデータの受信が完了し、それらがよりシンプルな中間データに変換されて中間バッファに蓄えられた後、後述するように、任意のバンドの中間データが生成されたことを検出した場合、もしくは1ページ分の中間データが生成された場合に、レンダラ210によりバンド単位でレンダリングされ、各色8ビットのRGB画像としてバンドバッファ211に出力される。なお、本実施例では、各色8ビットのRGB画像としてレンダリングする印刷装置について説明するが、これに限るものではなく、1ビットのモノクロ印刷装置であってもいいし、各色4ビットのYMCK画像としてレンダリングするカラー印刷装置であってもよい。
そして、バンドバッファ211に出力されたRGB画像はハーフトーニングプロセッサ212により各色1ビットのMCYK画像に変換され、MCYKの各プレーンに分離されてスプールメモリ213に格納される。スプールメモリ213に格納されたMCYK画像はプレーン毎に圧縮されて保持される。1ページ分の全バンドのデータが格納されると、ページ・プリンタの印刷機構部分であるプリンタ印刷部215が起動される。そして、MCYK画像がプレーン毎に伸長されて出力インタフェース部214でビデオ信号に変換され、プリンタ部215に出力される。
このように、CPU208による各バンドの中間データの生成とレンダラ210の制御は別タスクで実行される。レンダラ210の制御の方がタスクの優先度は高いがレンダリングそのものはレンダラ210で行われるため各バンドのレンダリング中はCPU208による各バンドの中間データの生成処理が行なわれる。
先に図1を用いて説明したように、本実施形態におけるLBPでは、MCYKの像形成・現像を並列で行うため、出力インタフェース部214はM出力インタフェース部、C出力インタフェース部、Y出力インタフェース部、K出力インタフェース部の4つのインタフェース部で構成され、それぞれが独立にスプールメモリ213からプレーン画像を読み出し、ビデオ信号に変換して各プレーンのレーザ・ドライバ110(120、130、140)へ出力する。
218は一般のEEPROM等で構成する不揮発性メモリであり、以後NVRAM(Non Volatile RAM)と称す。NVRAM218には操作パネル151で指定されるパネル設定値などが記憶される。
なお、ROM217にはコンピュータ201から入力されるデータの解析、中間データの生成、印刷機構本体部(プリンタ部)215の制御プログラム、及びRGB色空間からMCYK色空間への色変換テーブル等も含まれる。
221はハードディスクで、任意の情報を記録することができ、電源が切断されても情報が失われることはない不揮発性メモリ媒体で構成されている。
図3は、図2に示したプリンタコントローラ101によるバンド処理状態を説明する模式図であり、ページをバンド単位に分割して処理する例である。
図3において、300はA4縦サイズの用紙である。本実施形態においては、例えばA4縦サイズの用紙はバンド301,302,303,304,305,306の6つの領域に分割されて処理される。
ホストコンピュータ201から送信されるページ記述言語(PDL)形式の印刷データに含まれる文字印刷命令、各種図形描画命令、イメージ描画命令等はRAM205に記憶された後、CPU208によって解析され、その描画オブジェクトの位置と大きさによってバンド301〜306の中間データに変換されて中間バッファ209に格納される。なお、描画オブジェクトが複数のバンドに跨る場合には分割されてそれぞれのバンドの中間データとなる。
図4は、図2に示した中間バッファ209の構成を説明するための図であり、ページの生成が開始されると、まず最初に各バンドの中間データの先頭アドレスを保持するための領域が中間バッファ209上に確保される。この領域をページ先頭領域と呼ぶ。
図において、400は第Nページのページ先頭領域である。ページ生成開始直後はページ先頭領域にはどのバンドの先頭アドレスもセットされておらず、各バンドの中間データが生成されてはじめてページ先頭領域にそのバンドの先頭アドレスがセットされる。例えば、PDL形式の印刷データをCPU208が解析して中間データを生成する際に、最初に解析した描画オブジェクトの位置がバンド1(図3の301)であれば、バンド1の中間データの先頭アドレスを保持するための領域401が中間バッファ209上に確保され、確保された領域401に中間データを格納する。そして、次に解析した中間オブジェクトの位置がバンド4(図3の304)であれば、バンド4の中間データの先頭アドレスを保持するための領域404が中間バッファ209上に確保され、確保された領域404に中間データを格納する。このようにホストコンピュータから受信したPDL順に解析して中間データを生成し、その中間データのバンドに対応して中間データ格納領域が中間バッファ209上に確保され、生成された中間データが格納される。
各バンドの中間データ領域は必要に応じて適当な大きさの領域が必要に応じて確保され、確保された領域が中間データでいっぱいになるとその領域が拡張される。連続領域として領域を拡張できない場合には新たな領域が確保され、アドレスによるリンクが張られる。その場合の領域の検索は下位アドレスに向かって行なわれ、下位アドレスに空き領域がない場合には中間バッファ209の先頭アドレスから検索される。例えば、バンド1として確保された中間データ格納領域401が中間データでいっぱいになるとその領域を拡張し、連続領域として拡張できない場合には新たな領域図4の中央の領域401が確保され、アドレスによるリンクが張られることになる。
図4は第Nページの中間データの生成が完了し、次ページのページ先頭領域410以降より第N+1ページの中間データを生成している状態を表している。401,402,403,404,405,406はそれぞれ第Nページに対応するバンド301,302,303,304,305,306の中間データである。
第Nページの中間データは、バンドバッファ211に空きがあれば、図2に示したレンダラ210によりレンダリングされ、レンダリングされたバンドの中間データは解放される状態にある。
但し、バンドバッファ211は複数のバンドの画像を保持するだけのメモリは割り当てられておらず、実質的にはスプールメモリ213の空き状態がレンダリングの実行タイミングに影響する。
410は第N+1ページのページ先頭領域であり、411,412,413,415,416はそれぞれ第N+1ページに対応するバンド301,302,303,305,306の中間データである。なお、バンド304に対応する中間データが無いことはこの時点ではそのバンドに描画オブジェクトが存在していないことを意味する。
図5は、図4に示したページ先頭領域の構成を更に詳しく説明するための図である。
図5において501,502,503,504,505,506はそれぞれ対応するバンド301,302,303,304,305,306の中間バッファ209内の中間データ先頭アドレスの格納領域である。
また、511,512,513,514,515,516はバンド301,302,303,304,305,306の状態を管理するための領域であり、「0」〜「2」の値(後述する内容を示す状態変数)がセットされる。領域511,512,513,514,515,516には、「0:中間データ生成中、1:中間データ生成完了(レンダリング開始可能)、2:レンダリング完了(中間データは解放可能)」のいずれかの値がセットされる。
通常この状態管理領域である領域511,512,513,514,515,516には、排紙命令によってそのページの中間データの生成が完了した時点でCPU208が値「1」をセットするが、ホストコンピュータ201からの特定バンドの生成完了の通知によりそのバンドの状態管理領域が値「1」にセットされる場合もある。本発明では、バンド終了を示す終了情報が印刷データに記述されている場合には、特定バンドの中間データの生成完了に応じて、そのバンドの状態管理領域が値「1」にセットされることになり、また従来のバンド終了情報を含まない印刷データを処理する場合には、そのページの中間データの生成が完了した時点でCPU208が値「1」をセットする。
ホストコンピュータ201からの特定バンドの生成完了通知は文字印刷命令、各種図形描画命令、イメージ描画命令等と同様にPDLコマンドで行なわれる。このコマンドをバンド終了通知命令(もしくは簡単に、バンド終了情報とも呼ぶ)と呼ぶ。
例えば第Nページがバンド306,301,302,305,303,304の順で中間データの生成が完了し、各バンドの描画オブジェクトが終了する都度バンド終了通知命令を受け取ったとする。その場合、バンド306,301,302,305,303はそのページの中間データの生成が終了する前にバンド終了情報を受け取るため、該当するバンドのレンダリングを開始することが可能となる。レンダリングは中間データの生成が終了したバンドから順番にレンダラ210により行われ、バンドバッファ211にレンダリングされたイメージデータは画像処理が行われた後、スプールメモリ213に格納される。スプールメモリ213は、1ページ分のイメージデータが生成されると、出力インタフェース部214を介してビデオ信号としてプリンタエンジン215へ出力されて、印刷される。
その場合、第N+1ページの中間データの生成を開始する時点で第Nページの幾つかのバンドはレンダリングが完了しており、レンダリング済みのバンドの中間データは解放可能な状態にあることになる。
但し、中間データ生成処理とレンダリング処理は並列に独立したタスクとして行なわれているが、メモリ領域の獲得と解放を同時に行うことはできないため、あるバンドのレンダリング終了時にはそのバンドの状態管理領域(バンド306,301,302,305,303に対応する領域516,511,512,515,513)を値「2」にセットするにとどまり、実際の解放処理はメモリ獲得時に必要に応じて解放可能なバンドのメモリがCPU208により解放される。
図6は、図2に示した中間バッファ209の状態の例を示す図であり、例えば第N+1ページの中間データの生成を開始する時点における状態に対応する。網掛けされていないバンドの中間データ格納領域は、バンドの状態管理領域の値が「2」にセットされていることを示している。
図6に示す例では、第Nページのバンド306,301,302,305が既にレンダラ210によりレンダリングが完了し、そのバンドの中間データ格納領域に対応するメモリが解放可能な状態にあることを表している。また、図6では、第N+1ページの中間データの生成を開始する時点では、第Nページのバンド303、304のレンダリングは終了しておらず、メモリが解放できないことを示している。
次に、図2に示したCPU208による各種コマンド処理と1ページ分の中間データの生成処理について図7に示すフローチャートを参照して説明する。
図7は、本発明に係る印刷制御装置における第1のデータ処理手順の一例を示すフローチャートであり、図2に示したCPU208による各種コマンド処理と1ページ分の中間データの生成処理手順に対応する。なお、S701〜S712は各ステップを示す。また、各ステップに示す手順に対応する制御プログラムは、ROM217等に記憶されており、該制御プログラムをRAM205上のワーク上にロードして実行することにより実現される。
まず、ステップS701で、CPU208は、入力バッファメモリ203からホストコンピュータ201から受信した印刷データを読み出し、PDLコマンドの1命令を解析する。そして、ステップS702で、それが文字、図形、イメージ等の描画命令であるか否かを判断し、描画命令であると判断した場合は、ステップS703に進んで、その描画オブジェクトの描画位置と大きさから、それがどのバンドに描画されるかをCPU208が判定する。そして、どのバンドに描画するかを判定したら、ステップS704でそのバンド用に確保済みの中間データメモリを拡張する必要があるか否かをCPU208が判定して、拡張が必要でない、即ち追加すべき中間データがそのバンドに対して確保済みの領域内に収まると判断した場合には、ステップS707に進んで中間データを追加して、ステップS701へ戻る。
一方、ステップS704で、中間データメモリを拡張する必要があると判断した場合には、ステップS705に進んでメモリの確保を試みて、メモリ確保に成功したか否かをCPU208が判断して、確保できなかったと判断した場合には、ステップS706に進んで、解放可能なメモリ領域の解放処理を実行し、ステップS705に戻って再度メモリの獲得を試みる。
一方、ステップS705でメモリの獲得に成功したと判断した場合は、ステップS707に進んで確保した領域に中間データを追加して、ステップS707で中間データの追加が終わると、ステップS701に戻って次のコマンドを解析する。
なお、ステップS706で行うCPU208によるメモリの解放処理は、処理中のページを含むそれ以前のページの先頭領域を参照し、そのバンド状態管理領域に値「2(レンダリング完了を示す状態)」がセットされているバンドに対して行い、解放したバンドの中間データ先頭アドレスの格納領域には値「0」がセットされる。
また、CPU208は、中間バッファ209上で解放すべきページの全てのバンドの中間データを解放した場合には、そのページのページ先頭領域そのものも解放する。
一方、ステップS702で、CPU208が描画命令でないと判断した場合には、ステップS708に進み、それがページ終了命令(ページ終了情報)であるか否かを判断して、ページ終了命令であると判断した場合には、ステップS709に進んでそのページの全てのバンドの状態管理領域に値「1(中間データ生成完了状態)」をセットし、そのページの中間データ生成処理を終了する。
一方、ステップS708で、ページ終了命令でないと判断した場合には、ステップS710に進んで、それがバンド終了命令(バンド終了命令はそのパラメータにバンド番号を有する)であるか否かをCPU208が判断して、バンド終了命令であると判断した場合には、ステップS711で指定されたバンドの状態管理領域に値「1(中間データ生成完了状態)」をセットしてステップS701に戻る。すなわち、CPU208は、バンド終了命令で指定されるバンドをレンダラ210がレンダリング可能な状態(バンドの状態管理領域が値「1」)に遷移させる。
なお、本実施形態において、バンド終了命令の書式は、Esc<band>BEである。
ここで、“Esc”は16進数の「1B」であり、制御命令の開始であることを示すコードである。
また、<band>は本制御命令のパラメータであり、バンド番号を示す。“B”,“E”はその2バイトで制御命令の種類を示す。
一方、ステップS710で、その他の命令であるとCPU208が判断した場合には、ステップS712でその命令に対応する処理を行って、ステップS701に戻る。
これは例えば文字サイズの指定などのコマンドであるが本発明との直接的な関係は無いので説明は省略する。
このように、CPU208(本発明の制御手段)は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドをレンダラ210によりレンダリング処理させるよう制御することになる。
尚、本実施例において、従来のPDL形式の印刷データのように、印刷データ中にバンド終了コマンドが全く使用されない場合、即ちステップS711の処理が全く行なわれない場合は1ページ分の中間データが生成されてから各バンドのレンダリングを開始するとになる。これは従来の印刷システムと全く同じ動作である。このように、本発明の印刷制御装置は、バンド終了情報を含む印刷データを受けると、中間データの生成が終了したバンドからレンダリングを行うことで、描画処理(レンダリング処理)が早く終了することでスループットが向上し、かつ、レンダリングが終了したバンドはメモリを次々に解放することで必ずしも1ページ分の中間データを格納することなく描画処理を行えるため、メモリ容量を少なくでき、コストダウンが図れるという効果が得られる。また、本発明の印刷制御装置は、従来のPDL形式の印刷データのようにバンド終了命令が含まれていない場合にも、1ページ分の中間データの生成に応じてレンダリング処理を行うことで印刷処理を実現でき、ホストコンピュータ側のプリンタドライバが古いバージョンのものであったとしても、システムとして印刷保証を行うことが可能となる。
次にレンダリング処理について図8に示すフローチャートを参照して説明する。
図8は、本発明に係る印刷制御装置における第2のデータ処理手順の一例を示すフローチャートであり、図2に示したCPU208によって制御されるレンダラ210によって実行されるレンダリング処理手順に対応する。なお、レンダラ210は、ハードウェアで構成されているため、S801〜S805は、先に説明したCPU208による中間データの生成処理と並列に独立して行なわれるが中間データの生成処理よりも優先度の高いタスクで行なわれるため、中間バッファ209へのアクセスは、レンダラ210がCPU208よりも優先されることになる。このタスクをレンダリングタスクと呼ぶ。
レンダリングタスクでは中間バッファ209の状態をポーリングしており、ステップS801でレンダリング可能、即ち状態管理領域に値「1(中間データ生成完了)」がセットされているバンドの有無を調べ、存在しないと判断した場合には所定のポーリング間隔で再度判定する。
そして、ステップS801で、レンダリング可能なバンドが存在すると判断した場合には、ステップS802に進んでスプールメモリ213に空きがあるか否かを判定する。
なお、正常な動作を保証するためにはハーフトーンCMYKのプレーン画像を非圧縮状態で格納できる領域が必要である。但し、実際にはCMYKのプレーン画像は圧縮されるため通常の画像であればその数%程度しか消費されない。
そして、ステップS802で、スプールメモリ213にCMYKのプレーン画像を非圧縮状態で格納するための空きがないと判断した場合には、所定のポーリング間隔で再度判定する。
一方、ステップS802で、スプールメモリ213に空きがあると判断した場合には、ステップS803に進んで、レンダラ210にそのバンドの中間データのアドレスと、バンドバッファ211のアドレスをセットしてレンダリングを実行する。レンダリング結果はRGB画像としてバンドバッファ211に出力される。
そして、レンダリングが終了すると、ステップS804に進んでハーフトーニングプロセッサ212によりCMYK各色2BPPの画像データに変換されてスプールメモリ213に出力され、更にプレーン毎に圧縮される。
そして、最後にステップS805で対象バンドのバンド状態管理領域に「2(レンダリング完了状態)」をセットして、ステップS801に戻る。
図7及び図8を参照して説明したように、各バンドはバンド終了通知コマンドで指定されたバンドから順にレンダリングされ、1ページ分の全てのバンドの画像データがスプールメモリ213に格納されると、そのページは印刷可能な状態になり、プリンタ部215に同期して出力される。
次に、ホストコンピュータ201上のプログラムであるプリンタドライバPRの処理について説明する。
ホストコンピュータ201に備えるハードディスク等に記憶され、システム起動時に、RAM上の所定領域に常駐するプリント制御プログラムとして構成されるプリンタドライバPRは、各バンドに対して最後に描画されるオブジェクトがどれであるかを管理する手段を有する。
まず、図9を用いて、本発明の情報処理装置に相当するホストコンピュータ(図2の201に相当する)を説明する。
図9は、本発明に係る情報処理装置の概略構成を説明するブロック図であり、図2と同一のものには同一の符号を付してある。
図9において、ホストコンピュータ201は、CPU1401と、RAM1402と、ROM1403と、キーボードコントローラ(KBC)1405と、CRTコントローラ(CRTC)1406と、ディスクコントローラ(DKC)1407と、プリンタコントローラ(PRTC)1408とが、システムバス1404を介して相互に接続してある。
CPU1401は、プログラム用ROMであるROM1403か、又は外部メモリ1411に記憶されたドキュメント処理プログラム等に基づいて、図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行し、システムバス1404に接続される各デバイスを制御するものである。また、CPU1401は、例えばRAM1402上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT1410上でのWYSIWYGを可能としている。さらに、CPU1401は、CRT1410上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
ROM1403のプログラム用ROMまたは外部メモリ1411には、OS等が記憶され、ROM1403のフォント用ROMまたは外部メモリ1411には、上記文書処理の際に使用するフォントデータ等が記憶され、ROM1403のデータ用ROMまたは外部メモリ1411には、上記文書処理等を行う際に使用する各種データが記憶されている。RAM1402は、CPU1401の主メモリであり、ワークエリア等である。
キーボードコントローラ(KBC)1405は、キーボード(KB)1409や不図示のポインティングデバイスからのキー入力を制御するものである。CRTコントローラ(CRTC)1406は、CRTディスプレイ(CRT)1410の表示を制御するものである。ディスクコントローラ(DKC)1407は、ハードディスク(HD)、フロッピー(登録商標)ディスク(FD)等の外部メモリ1411とのアクセスを制御するものである。
ハードディスク(HD)には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下「プリンタドライバ」という。)等が記憶してある。
プリンタコントローラ(PRTC)1408は、双方向性インタフェースまたはネットワーク(LAN216)に接続してあり、プリンタ101との通信制御処理を実行するものである。
ユーザは、印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
次に図10を参照して、ホストコンピュータ201における典型的な印刷処理を説明する。
図10は、本発明に係る情報処理装置のモジュール構成を示す機能ブロック図であり、図9に示したホストコンピュータ201の印刷処理モジュールの一例に対応する。なお、図2と同一のものには同一の符号を付してある。
図10において、アプリケーション1501、グラフィックエンジン1502、プリンタドライバ1503、およびシステムスプーラ1504は、外部メモリ1411に保存されたファイルとして存在し、実行される場合にOSやそのモジュールを利用するモジュールによってRAM1402にロードされ実行されるプログラムモジュールである。また、アプリケーション1501およびプリンタドライバ1503は、外部メモリ1411のFDや不図示のCD−ROM、または不図示のネットワークを経由して外部メモリ1411に追加することが可能となっている。外部メモリ1411に保存されているアプリケーション1501は、RAM1402にロードされて実行されるが、このアプリケーション1501からプリンタ101に対して印刷を行う際には、同様にRAM1402にロードされ実行可能となっているグラフィックエンジン1502を利用して出力(描画)を行う。
グラフィックエンジン1502は印刷装置ごとに用意されたプリンタドライバ1503を同様に外部メモリ1411からRAM1402にロードし、アプリケーション1501の出力をプリンタドライバ1503を用いてプリンタの制御コマンドに変換する。変換されたプリンタ制御コマンドは、OSによってRAM1402にロードされたシステムスプーラ1504を経て、双方向性インタフェースを経由して、プリンタ101へ出力されるようになっている。
また、プリンタドライバ1503は、アプリケーション1501からの描画データをPDL形式の印刷データに変換する際に、各描画データが印刷装置の排紙方向を考慮して分割される複数のバンドのいずれに対応するか、および、各バンドの最後の描画データであることを検出するために、各ページの描画データをドライバスプーラ1505に一時的に格納する。この動作については、後述する。
図11は、図2に示したホストコンピュータ201上のプリンタドライバPR(図17の1503)によるオブジェクトを管理する第1のメモリ領域を説明する図であり、例えば最終描画オブジェクトを管理するためのメモリ領域に対応する。
図11において、900は各バンドに描画される最終オブジェクトを管理するための情報を格納する領域であり、これを最終描画オブジェクト管理領域と呼ぶ。901,902,903,904,905,906はそれぞれ第1、第2、第3、第4、第5、第6バンドに描画される最終オブジェクトを管理するための領域である。この領域に格納される番号を最終オブジェクト番号と呼ぶ。
次にプリンタドライバ1503による1ページ分のPDL形式の印刷データの生成処理を図12に示すフローチャートを参照して説明する。
図12は、本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートであり、ホストコンピュータ201上が備えるハードウェアであるコントローラ部のCPU1401がハードディスク等の外部記憶装置1411に記憶されるプリンタドライバ1503に対応する制御プログラムをRAM1402上にロードして実行することにより実現される。なお、S1001〜S1018は各ステップを示す。
ページの処理が開始されると、まず、ステップS1001において、プリンタドライバ1503は、最終描画オブジェクト管理領域900の全てのバンドの最終オブジェクト番号を値「0」に全て初期化する。ここで、値「0」は何も描画されていない状態を表す。
次に、ステップS1002で、プリンタドライバ1503は、描画オブジェクト番号nを値「0」にセットする。ここで、描画オブジェクト番号とは、1ページ内で描画される描画オブジェクトに対して描画される順番に「1」から番号を付けたものである。各バンドの最終描画オブジェクトはこの番号で特定される。
次に、ステップS1003で、プリンタドライバ1503は、上位のソフトウェアであるアプリケーション1501から出力された描画オブジェクトを1つ取得し、ドライバスプーラ1505に一時的に格納する。そして、ステップS1004で、プリンタドライバ1503は、全ての描画オブジェクトのスプールが完了したか否かを判断して、完了していると判断した場合は、すなわち、描画オブジェクトを取得した場合には、ステップS1005で、描画オブジェクト番号nを1カウントアップする。
そして、ステップS1006で、プリンタドライバ1503は、印刷装置の用紙搬送方向に合わせて分割されるバンド領域を認識しており、その描画オブジェクトの描画位置と大きさから描画オブジェクトに外接する矩形領域を計算する。なお、外接矩形はホストコンピュータ201の描画システムによっては描画オブジェクトに付随する情報としてプリンタドライバ1503に渡されてもよい。
描画オブジェクトの外接矩形がプリンタドライバ1503に渡されないような描画システムでは描画オブジェクトを構成する座標点や線幅等からプリンタドライバ1503が計算することになる。
次に、ステップS1007で、プリンタドライバ1503は、印刷装置の用紙搬送方向に合わせて分割されるバンド領域を認識しており、プリンタドライバ1503は、描画オブジェクトの外接矩形を元にその描画オブジェクトがどのバンドに描画されるかを判断し、更にステップS1008で、最終描画オブジェクト管理領域900の対象となるバンドの最終オブジェクト番号に描画オブジェクト番号をセットする。
なお、描画オブジェクトの外接矩形が複数のバンドにかかる場合には901,902,903,904,905,906の複数の最終オブジェクト番号が更新される。
次に、ステップS1009で、プリンタドライバ1503は、その描画オブジェクトを一時記憶領域(RAM)内のドライバスプーラ1505のスプールファイルに書き込んでスプールして、ステップS1003に戻って、次の描画オブジェクトを取得して処理する。そして、ステップS1004で、1ページを構成する全ての描画オブジェクトのスプールが完了したら、ステップS1010に進み、描画オブジェクト番号nを「0」にセットする。
次に、ステップS1011で、図11に示した最終描画オブジェクト管理領域900の各バンドの最終オブジェクト番号と描画オブジェクト番号nとを比較し、両者が等しいかどうかを判断して、両者が等しくないと判断した場合には、ステップS1013へ進み、両者が等しいと判断した場合には、ステップS1012で対象バンドに対してバンド終了命令(バンド終了情報)をプリンタのプリンタコントローラ101に送信する。
次に、ステップS1013に進んで、ステップS1009の処理でスプールされている描画オブジェクトをファイルより1つ読み出し、ステップS1014で読み出せたか否か(全ての描画オブジェクト処理が終了しているか否か)を判断して、描画オブジェクトを読み出せた、即ち未処理の描画オブジェクトが存在する場合には、ステップS1015に進んで、描画オブジェクト番号nを1カウントアップする。
そして、ステップS1016で、その描画オブジェクトをプリンタで解釈可能なPDL形式の描画命令に変換してシステムスプーラ1504に書き込み、更にステップS1017で、システムスプーラ1504に書き込まれている描画命令を、双方向インタフェースもしくはLANを介してプリンタのプリンタコントローラ101に送信して、ステップS1011に戻る。
そして、ステップS1011に戻って、ステップS1012,S1013を実行し、各バンドの描画オブジェクトをプリンタのプリンタコントローラ101に送信し終わったか否かを判断して、すなわち、ステップS1014において全ての描画オブジェクトの処理が終了したと判断された場合には、ステップS1018で、プリンタのプリンタコントローラ101に対してページ終了命令を送信して1ページの処理を終了する。また、アプリケーション1501から出力される描画データが複数ページである場合は、ステップS1001へ処理を戻す。
なお、本実施例では、システムスプーラ1504に書き込まれたPDL形式の印刷データは順次プリンタコントローラ101に対して送信していたが、これに限るものではなく、1ページ分の印刷データが書き込まれてからプリンタコントローラ101に対して送信したり、また、全ページ分の印刷データがシステムスプーラ1504に書き込まれてからプリンタコントローラ101に対して送信するように制御してもよい。
以上説明したように、本実施形態においては、ホストコンピュータ201のプリンタドライバPDは各描画オブジェクトがどのバンドにかかるかを判定し、1ページ分の描画オブジェクトをスプールすることで、各バンドの最終描画オブジェクトをプリンタのプリンタコントローラ101に送信後にバンド終了命令を送信する。
このように、アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換するプリンタドライバにおいて、1ページが印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出し、各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知し、また、変換時には、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換する。
プリンタのプリンタコントローラ101は、バンド終了命令を受け取るとそのバンドをレンダリング開始可能な状態にすることで、1ページ目の印刷開始を早め、更に中間バッファ209内の中間データが解放可能になるタイミングも早まるので中間バッファ209が圧迫され難くスループットを維持し易くなる。
なお、プリンタドライバPDにおいて、1ページ分スプールした描画オブジェクトをバンド単位に分割し、分割したバンド単位の描画コマンドをプリンタコントローラ101に送信する仕組みも考えられるが、このようにバンド単位に描画コマンドを分割する場合、複数のバンドにまたがる描画コマンドは繰り返し送信されることになり、印刷装置において、中間データを格納する領域を大きく用意しなければならない。それに対して上述した方式では、PDL形式、つまりページ単位で描画コマンドを送信するため、複数のバンドにまたがる描画コマンドであっても1度送信すればよく、なおかつバンド終了命令を印刷装置が受信することで、その指定されたバンドについては描画処理(レンダリング処理)を開始することができるため、従来のPDL形式の印刷装置に比べて印刷スループットが向上するという効果が得られる。
上記実施形態によれば、プリンタドライバPDが各バンドの最終描画オブジェクトを管理してプリンタにバンド終了命令を送信し、プリンタはバンド終了命令を受け取ったバンドをレンダリング可能な状態にする。これによって1ページ目の印刷開始を早め、更に中間データが解放可能になるタイミングも早まるので中間バッファが圧迫され難くスループットを維持し易くなる。
また、通常ならば中間バッファを圧迫するような描画オブジェクトが多く複雑なページであっても中間データの生成が終了したバンドからレンダリングが開始されるので中間データ用メモリの不足による画質の劣化も起こり難くなる。
〔第2実施形態〕
第1実施形態では、A4縦サイズの用紙を例に説明したが、A3サイズまで対応しているプリンタでは、A4はA4横サイズを用いるのが一般的である。A4が縦を選択されるか横を選択されるかはプリンタの機種又は給紙カセット102にセットされている用紙サイズ等に依存する。
また、印刷後にステープルやパンチなどを行うフィニッシング機構を有するプリンタではステープルやパンチの指定位置が選択される用紙の向きによって影響される。
つまり、第1実施形態に示す印刷システムは、プリンタドライバがこのような条件を認識する必要があるため汎用的なプリンタドライバには適さない。
そこで、上記のような問題点を解決するために、プリンタが縦の用紙を選択するか横の用紙を選択するかをデータ処理装置側のプリンタドライバが認識する必要の無い印刷システムについて好適な実施形態について説明する。なお、本実施形態においても、エンジン系の構成として、LBPに対して本発明を適用する例とする。
なお、本実施形態におけるLBPの内部構造、及びその制御ユニットの構成は第1実施形態において図1及び図2を参照して説明したものと同じであるので説明は省略する。
図13は、図2に示したプリンタ部215で印刷処理されるページをバンド単位に分割して処理する状態を説明する模式図であり、例えば文字と図形等のオブジェクトが各バンドにあるいは各バンドを跨ぐ状態で展開される場合に対応する。
図13において、1100はA4横サイズの用紙である。本実施形態においてはA4縦サイズの用紙はバンド1101,1102,1103,1104の4つの領域に分割されて処理される。
図2に示した中間バッファ209の構成、中間データの生成、レンダリングを開始するタイミング、中間データの解放などは第1実施形態と同じであるので説明は省略する。
次に、CPU208による各種コマンド処理と1ページ分の中間データの生成処理について説明する。本実施形態における中間データの生成処理の処理フローは第1実施形態において図7に示すフローチャートを参照して説明したものと同じであるが、ステップS711の処理が異なる。
本実施形態におけるバンド終了命令の書式は、sc<band>;<direction>BE
であり、第1実施形態との違いは第2パラメータ<direction>が追加されていることである。
<direction>はプリンタドライバPDが想定している用紙の向きを示し、値「0」は縦(ポートレート)での給紙を意味し、「1」は横(ランドスケープ)での給紙を意味する。
そして、図7に示したステップS711では<direction>による縦横の指定が現在のページの縦横と一致している場合にのみ<band>で指定されるバンドの状態管理領域に値「1(中間データ生成完了)」をセットして、ステップS701に戻る。
一方、<direction>による縦横の指定が現在のページの縦横と一致しない場合にはそのバンド終了命令は無効となる。
なお、レンダリング処理については、第1実施形態において図8に示したフローチャートを参照して説明したしたものと同じであるため説明は省略する。
次に、第2実施形態におけるホストコンピュータ201上のプログラムであるプリンタドライバPDの処理について説明する。なお、プリンタドライバPDは各バンドに対して最後に描画されるオブジェクトがどれであるかを管理する手段を有する。
図14は、本発明の第2実施形態を示すデータ処理装置におけるオブジェクトを管理する第2のメモリ領域を説明する図であり、図2に示したホストコンピュータ201上のプリンタドライバPDによるオブジェクトを管理するメモリ領域に対応し、図11に示したメモリ領域との構成上の差異は、例えば最終描画オブジェクトを用紙の給紙方向に対応して管理するためのメモリ領域を確保する点である。
図14において、1200は各バンドに描画される最終オブジェクトを管理するための情報を格納する領域であり、これを最終描画オブジェクト管理領域と呼ぶ。本実施形態においてはプリンタが縦用紙を選択した場合と横用紙を選択した場合の両方について各バンドの最終描画オブジェクトの管理を行う。1201,1202,1203,1204,1205,1206はそれぞれプリンタが縦用紙を選択した場合の第1、第2、第3、第4、第5、第6バンドに描画される最終オブジェクトを管理するための領域である。
また、1211,1212,1213,1214はそれぞれプリンタが縦用紙を選択した場合の第1、第2、第3、第4バンドに描画される最終オブジェクトを管理するための領域である。
本実施形態におけるプリンタドライバPDによる1ページ分の処理は、第1実施形態において図12に示すフローチャートを参照して説明したものと同じであるが、ステップS1007、ステップS1008及びS1012の処理が異なる。
ステップS1007では描画オブジェクトの外接矩形を元にその描画オブジェクトがどのバンドに描画されるかを判断し、更にステップS1008で最終描画オブジェクト管理領域1200の対象となるバンドの最終オブジェクト番号に描画オブジェクト番号をセットするが、この処理は縦用紙用のバンドと横用紙用のバンドの両方に対して行なわれる。
また、ステップS1012では対象バンドに対してバンド終了命令をプリンタに送信するが、対象バンドが縦用紙用のバンドか横用紙用のバンドかによってバンド終了命令の第2パラメータ<direction>を切り替える。対象バンドが縦用紙用のバンドである場合には、値「0」であり、横用紙用のバンドである場合には値「1」である。
以上説明したように本実施形態においては、ホストコンピュータ201のプリンタドライバPDが各描画オブジェクトがどのバンドにかかるかを判定する際に、プリンタが縦用紙を選択する場合と、横用紙を選択する場合との両方について判定し、縦用紙と横用紙のそれぞれのバンドについて最終描画オブジェクトを管理してプリンタにバンド終了を通知するためプリンタが縦横どちらの用紙を選択しても第1実施形態と同様の効果が得られる。
このことは、ホストコンピュータ側のプリンタドライバPDがプリンタの機種、給紙カセットにセットされている用紙の向き、フィニッシングなどのその他の条件を認識する必要が無いことを意味しており、汎用的なプリンタドライバPDを開発するのに好適である。
以下、図15に示すメモリマップを参照して本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
図15は、本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図7、図8、図12に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるものではない。
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
上記実施形態では、印刷装置内に設けられるプリンタコントローラ101内におけるデータ処理を例として説明したが、プリンタコントローラの機能をサーバが代行するような印刷システムにも適用可能である。
本発明を適用可能な印刷装置の構成を説明する断面図である。 図1に示したLBPのプリンタコントローラの概略構成を示すブロック図である。 図2に示したプリンタコントローラによるバンド処理状態を説明する模式図である。 図2に示した中間バッファの構成を説明するための図である。 図4に示したページ先頭領域の構成を更に詳しく説明するための図である。 図2に示した中間バッファの状態の例を示す図である。 本発明に係る印刷制御装置における第1のデータ処理手順の一例を示すフローチャートである。 本発明に係る印刷制御装置における第2のデータ処理手順の一例を示すフローチャートである。 本発明に係る情報処理装置の概略構成を示すブロック図である。 本発明に係る情報処理装置のモジュール構成を示す機能ブロック図である。 図2に示したホストコンピュータ上のプリンタドライバによるオブジェクトを管理する第1のメモリ領域を説明する図である。 本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。 図2に示したプリンタ部で印刷処理されるページをバンド単位に分割して処理する状態を説明する模式図である。 本発明の第2実施形態を示すデータ処理装置におけるオブジェクトを管理する第2のメモリ領域を説明する図である。 本発明に係るデータ処理装置および印刷制御装置を適用可能な印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
符号の説明
101 プリンタコントローラ
201 ホストコンピュータ
205 RAM
208 CPU
209 中間バッファ
211 レンダラ
217 ROM
1501 アプリケーション
1502 グラフィックエンジン
1503 プリンタドライバ
1504 システムスプーラ
1505 ドライバスプーラ

Claims (16)

  1. アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置であって、
    アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、
    1ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、
    前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、
    前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
    前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするデータ処理装置。
  2. 各描画オブジェクト情報を収集して複数のバンドに分割される各バンド毎の最終描画オブジェクト番号を生成する生成手段と、
    各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶する記憶手段とを有し、
    前記検出手段は、前記記憶手段に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項1記載のデータ処理装置。
  3. 前記検出手段は、選択される用紙向きに基づき、縦向きと横向きとを識別して1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項1記載のデータ処理装置。
  4. データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバプログラムであって、
    アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、
    1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、
    前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、
    前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
    前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするプリンタドライバプログラム。
  5. 前記検出工程は、各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶領域に記憶し、前記記憶領域に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項4記載のプリンタドライバプログラム。
  6. 前記検出工程は、選択される用紙向きに基づき、縦向きと横向きとを識別して1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項4記載のプリンタドライバプログラム。
  7. データ処理装置内のアプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置におけるデータ処理方法であって、
    アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換工程と、
    1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出する検出工程と、
    前記検出工程で各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に、該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知工程とを含み、
    前記変換工程は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
    前記通知工程は、前記変換工程で生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とするデータ処理方法。
  8. 前記検出工程は、各バンド毎に、前記生成手段により生成される最終描画オブジェクト番号を記憶領域に記憶し、前記記憶領域に記憶される最終描画オブジェクト番号と処理される描画オブジェクトの数とを比較することにより、各バンドに描画すべき最終描画オブジェクトを検出することを特徴とする請求項7記載のデータ処理方法。
  9. 前記検出工程は、選択される用紙向きに基づき、縦向きと横向きとを識別して1ページが複数のバンドに分割される各バンド内で最後に描画すべき描画オブジェクトを検出することを特徴とする請求項7記載のデータ処理方法。
  10. データ処理装置から受信する印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング処理可能な印刷制御装置であって、
    前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、
    前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、
    前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、
    前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを有し、
    前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする印刷制御装置。
  11. 前記レンダリング手段は、前記中間バッファ内でレンダリング可能な状態で記憶されているバンドの前記中間データから順次印刷部が印刷可能な画像データにレンダリングすることを特徴とする請求項10記載の印刷制御装置。
  12. 前記判断手段が印刷ジョブに前記終了情報が含まれていることを判断しない場合に、前記制御手段は、少なくとも1ページ分の中間データが前記中間バッファに記憶された後で、各バンドを所定の順序で前記レンダリング手段がレンダリング可能な状態に遷移させるべく制御することを特徴とする請求項10または11に記載の印刷制御装置。
  13. データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置における印刷制御方法であって、
    前記データ処理装置から受信される前記描画命令に基づいて、前記印刷制御装置で内部処理可能な中間データに変換して中間バッファに記憶する変換工程と、
    前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリングステップと、
    前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断ステップと、
    前記判断ステップが前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリングステップがレンダリング可能な状態に遷移させる制御ステップとを有し、
    前記制御ステップは、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリングステップによりレンダリング処理させるよう制御することを特徴とする印刷制御方法。
  14. 前記レンダリングステップは、前記中間バッファ内でレンダリング可能な状態で記憶されているバンドの前記中間データから順次印刷部が印刷可能な画像データにレンダリングすることを特徴とする請求項13記載の印刷制御方法。
  15. 前記判断ステップが印刷ジョブに前記終了情報が含まれていることを判断しない場合に、前記制御ステップは、少なくとも1ページ分の中間データが前記中間バッファに記憶された後で、各バンドを所定の順序で前記レンダリングステップがレンダリング可能な状態に遷移させるべく制御することを特徴とする請求項13または14に記載の印刷制御方法。
  16. アプリケーションが生成するページ単位の複数の描画オブジェクトを描画命令に変換して印刷装置に転送可能なプリンタドライバを備えるデータ処理装置と、データ処理装置から受信される印刷ジョブに含まれるページ単位の描画命令に基づいてバンド単位にレンダリング可能な印刷制御装置とを含む印刷システムであって、
    前記データ処理装置は、
    アプリケーションが生成するページ単位の複数の描画オブジェクトを、印刷装置が解釈可能なページ単位の描画命令に変換する変換手段と、
    1ページが前記印刷装置で分割される複数のバンドについて、各バンド内で最後に描画すべき描画オブジェクトを検出する検出手段と、
    前記検出手段により各バンド内で最後に描画すべき描画オブジェクトが検出される毎に、該最後に描画すべき前記描画オブジェクトを描画命令に変換した後に該当するバンドのバンド処理終了を示す終了情報を付加した印刷ジョブを印刷装置に通知する通知手段とを備え、
    前記変換手段は、アプリケーションが生成して渡される描画オブジェクト順に、印刷装置が解釈可能なページ単位の描画命令に変換するものであり、
    前記通知手段は、前記変換手段により生成される順番の描画命令と終了情報とを含む印刷ジョブを印刷装置に通知することを特徴とし、
    前記印刷制御装置は、
    前記データ処理装置から受信される前記描画命令に基づいて変換される内部処理可能な中間データを記憶する中間バッファと、
    前記中間バッファに記憶された中間データをバンド単位に印刷部が印刷可能な画像データにレンダリングするレンダリング手段と、
    前記中間データのバッファリング中に、前記データ処理装置から指定されるバンド処理が終了することを示す終了情報を受信したかどうかを判断する判断手段と、
    前記判断手段が前記終了情報を受信したと判断した場合に、指定されるバンドを前記レンダリング手段がレンダリング可能な状態に遷移させる制御手段とを備え、
    前記制御手段は、印刷ジョブに含まれる任意の順序の各バンドの終了情報に従って、該順序で各バンドを前記レンダリング手段によりレンダリング処理させるよう制御することを特徴とする印刷システム。
JP2005008592A 2004-03-31 2005-01-17 データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム Expired - Fee Related JP4174476B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005008592A JP4174476B2 (ja) 2004-03-31 2005-01-17 データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム
US11/086,930 US7746494B2 (en) 2004-03-31 2005-03-22 Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004104377 2004-03-31
JP2005008592A JP4174476B2 (ja) 2004-03-31 2005-01-17 データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム

Publications (2)

Publication Number Publication Date
JP2005316950A JP2005316950A (ja) 2005-11-10
JP4174476B2 true JP4174476B2 (ja) 2008-10-29

Family

ID=35053939

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005008592A Expired - Fee Related JP4174476B2 (ja) 2004-03-31 2005-01-17 データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム

Country Status (2)

Country Link
US (1) US7746494B2 (ja)
JP (1) JP4174476B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4549309B2 (ja) * 2006-04-14 2010-09-22 京セラミタ株式会社 画像形成装置
JP2008011266A (ja) * 2006-06-29 2008-01-17 Ricoh Co Ltd 複合画像形成方法及び複合画像形成装置
JP4770609B2 (ja) * 2006-07-04 2011-09-14 セイコーエプソン株式会社 印刷制御装置、ドライバプログラム、及びそのプログラムを記録した記録媒体
JP2009292047A (ja) * 2008-06-05 2009-12-17 Canon Inc 画像形成装置、画像処理方法およびプログラム
JP5370065B2 (ja) * 2009-10-13 2013-12-18 株式会社リコー 画像形成装置、画像形成装置の制御方法及び制御プログラム
JP6821926B2 (ja) * 2016-03-10 2021-01-27 富士ゼロックス株式会社 描画データ作成装置
JP7467211B2 (ja) 2020-04-15 2024-04-15 キヤノン株式会社 画像処理装置、画像処理装置の画像処理方法およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5594860A (en) * 1995-01-27 1997-01-14 Varis Corporation Method for banding and rasterizing an image in a multiprocessor printing system
US6538764B2 (en) * 1996-04-12 2003-03-25 Canon Kabushiki Kaisha Printing apparatus, information processing apparatus, data processing method for use in such an apparatus, and storage medium storing computer-readable program
US6665081B1 (en) * 1996-07-19 2003-12-16 Seiko Epson Corporation Print system printer driver and printer
JPH10147017A (ja) * 1996-11-18 1998-06-02 Canon Inc 印刷装置及びデータ制御方法
JP3826038B2 (ja) * 2002-01-17 2006-09-27 キヤノン株式会社 印刷システム及びその印刷方法並びに印刷装置
JP4695815B2 (ja) * 2002-02-22 2011-06-08 キヤノン株式会社 描画処理装置および描画処理方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP4418642B2 (ja) * 2003-05-02 2010-02-17 キヤノン株式会社 ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム
US7835030B2 (en) * 2004-03-26 2010-11-16 Lexmark International, Inc. Processing print jobs

Also Published As

Publication number Publication date
US7746494B2 (en) 2010-06-29
JP2005316950A (ja) 2005-11-10
US20050219595A1 (en) 2005-10-06

Similar Documents

Publication Publication Date Title
JP3826038B2 (ja) 印刷システム及びその印刷方法並びに印刷装置
JP4543340B2 (ja) 画像処理装置および画像形成システムとプログラム
JP4393076B2 (ja) 画像処理方法及びその装置
JP3962606B2 (ja) 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム
JP4174476B2 (ja) データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム
JP4543945B2 (ja) 印刷システムおよびその制御方法および印刷管理プログラム
JPH11143656A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2003114778A (ja) 印刷システム、印刷制御装置、印刷装置、圧縮方法選択方法、及び記憶媒体
JP2006079192A (ja) 情報処理装置および画像処理システムおよび画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2005018494A (ja) データ処理装置および印刷データ生成方法およびコンピュータが読取り可能なプログラムを格納した記憶媒体およびプログラム
JP2005161819A (ja) 印刷装置および印刷制御方法
JP2006313424A (ja) 画像処理システムおよび画像処理方法およびプログラム
JPH09204277A (ja) 印刷処理システム
JP2004021452A (ja) 画像出力システム
JP3755265B2 (ja) 印刷処理装置
JP3907484B2 (ja) 情報処理装置、その制御方法及びプログラム
JP2004185106A (ja) 情報処理装置
JP2002259101A (ja) プリンタドライバ及び情報処理装置
JP4150850B2 (ja) 画像処理装置、画像処理方法、およびプログラム
JP3495877B2 (ja) プリンタ制御システム、プリンタ制御装置およびそれらの方法
JP2003341152A (ja) 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JP2005169671A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2004326266A (ja) 印刷制御方法、情報処理装置及び印刷装置
JP2001236186A (ja) 印刷処理システム、印刷データ処理方法及び該方法を実施するためのプログラムを記録した記録媒体
JP4955582B2 (ja) 画像処理装置及び画像処理プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061129

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080722

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: 20080729

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080818

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110822

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120822

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130822

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees