JP4418642B2 - ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム - Google Patents
ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム Download PDFInfo
- Publication number
- JP4418642B2 JP4418642B2 JP2003127288A JP2003127288A JP4418642B2 JP 4418642 B2 JP4418642 B2 JP 4418642B2 JP 2003127288 A JP2003127288 A JP 2003127288A JP 2003127288 A JP2003127288 A JP 2003127288A JP 4418642 B2 JP4418642 B2 JP 4418642B2
- Authority
- JP
- Japan
- Prior art keywords
- band
- print command
- memory
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1212—Improving printing performance achieving reduced delay between job submission and print start
- G06F3/1214—Improving printing performance achieving reduced delay between job submission and print start at the submitting node
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1244—Job translation or job parsing, e.g. page banding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Description
【発明の属する技術分野】
本発明は、描画命令を解析して印刷命令を生成し印刷装置に送信して印刷させるホスト装置と、それを印刷する印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラムに関するものである。
【0002】
【従来の技術】
図2は、従来の印刷システムにおける印刷制御方法および処理の流れを説明する図である。
【0003】
一般的には、図2に示すように、セントロニクスインターフェースといったパラレル通信手段やネットワーク通信手段を介してホストコンピュータ2000とプリンタ装置2100とが接続された印刷システムを構成している。
【0004】
ホストコンピュータ2000は、ワードプロセッサや表計算のようなアプリケーションソフトウェア2001(以下、アプリと略称)がWindows(米国Microsoft社の登録商標)のような、いわゆる基本ソフトの上で動作している。このアプリ2001を用いて印刷を行う場合は、そのプログラムから、基本ソフトが提供するいくつかのサブシステムのうちグラフィック・サブ・システム2002の機能を用いて行う。このグラフィック・サブ・システム2002は、例えばWindowsでは、GDI2004(Graphic Device Interface)と呼ばれており、ディスプレイやプリンタに対する画像情報の処理を司っている。このGDI2004は、ディスプレイやプリンタといった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタ装置2100に対するこのモジュールは、プリンタドライバ2005と呼ばれる。このプリンタドライバ2005では、その能力や機能などに応じて、予めデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を用意する必要がある。アプリ2001のAPI(Application Programing Interface)コールをGDI2004がデバイスドライバ用にデータ変換を行い、このDDI関数群が適宜GDI2004からコールされて所定の印刷処理が実行されるような仕組みになっている。GDI2004では、このようにプリンタドライバ2005を介してアプリ2001からの印刷要求をシーケンシャルに処理している。プリンタドライバ2005において、出力時のイメージデータ形式にまで描画してしまうイメージモードと、描画処理可能なプリンタ向けのコマンドであるPDL(Printer Description Language)モードに大別される。
【0005】
まず、PDL(Printer Description Language)モード系プリンタドライバについて説明する。
【0006】
プリンタドライバ2005は、DDI関数毎にPDLコマンドを生成する構成となっており、生成した印刷命令は、順次、再度GDI2004を介して1ページ分スプールファイル2006として格納される。こうして1ページ分のデータが揃うとI/F2007を介してプリンタ装置2100へ送出される。
【0007】
プリンタ装置2100は、この印刷命令を受信すると受信バッファ2103に一時格納し、コマンド解析部2107で解析処理を行う。こうして解析した結果プリンタ装置2100で高速に処理可能な中間データが生成され、ページメモリ2106の中間言語格納領域に格納される。この中間データがページメモリ2106に1ページ分蓄えられると、プリンタ装置2100における処理単位であるバンド領域毎に登録順にリスト構造が作られる(以降バンドリスト)。このバンドリストにつながっている中間言語は、ハードウェア又はソフトウエアにより用意したページメモリ2106内のバンドメモリ領域に対して描画処理が行われる。
【0008】
こうして生成されたバンドメモリ上のイメージデータは、エンジン回転に同期してビデオ信号に変換(シップ処理)される。こうしたバンドメモリを2つ用意し、繰り返し用いることで、少ないメモリ空間で、描画処理と、シップ処理をプリンタエンジン2110に同期して行うことが可能である。しかしながら上記PDLモード系処理では、DDI関数から受け取るデータは全て描画コマンドとして生成されるため、アプリ2001が多量の描画命令を発行してきた分だけPDLコマンドが生成される。これに対してプリンタ装置2100の搭載メモリ容量は有限であるため、プリンタ装置2100では以下のような手段で印刷を実現している。
【0009】
一部の個所に複雑な、又は多量の描画命令が発行された場合、描画時間がシップ処理時間よりも大きくなった場合。
【0010】
こうした問題を解決するために、プリンタ装置2100では以下のような手段を組み合わせて解決してきた。
【0011】
[A]サブクローズ方式
1.中間言語がページメモリ内に入りきらなくなった時は、それまで格納した中間言語データをバンドメモリを使って描画及び圧縮(PackBits、Runlength、JBIG圧縮等)し、中間データとして保持する(描画オブジェクトが関係した全てのバンド)。
【0012】
2.描画が済んだ中間言語データを消去することで、ページメモリの空き領域を増やす。
【0013】
3.空いた領域に入りきっていない中間言語を格納する。全ページが入りきれば、(1)で再登録した圧縮イメージデータを一つの中間言語として扱うことで、同期バンドレンダリング可能となる。
【0014】
4.上記処理を行っても1ページ分入りきらないときは、再度(1)で示す処理を実施する(既に登録されている圧縮イメージデータが最初に描画され、その上に新たな中間データが描画された後、再圧縮することになる)。
【0015】
[B]プレバンド方式
中間言語データが一つのバンドに集中して存在すると、描画処理がプリンタエンジンの印刷速度に間に合わないことがある。その場合は、プリンタ装置内部で中間言語で登録する際に、そう判断されたバンド領域に対して、プリンタエンジンを起動する前に用意したバンドメモリ上に描画処理を実施しておく。このような技術の一例として、例えば特許文献1がある。
【0016】
【特許文献1】
特開平10−147017号
【0017】
【発明が解決しようとする課題】
以上の手段により、正常な印刷が保証されているが、高速な同期バンドレンダリング処理が不可能なためパフォーマンスの劣化が発生する。また多量の印刷命令を生成するアプリケーションで印刷を行うと、PDLプリンタのパフォーマンスが極端に落ちるという問題があった。
【0018】
本発明は上記従来例に鑑みてなされたもので、限られたメモリサイズの環境において、印刷コマンドのデータサイズが大きくても、正常かつ高速な印刷を実現できるホスト装置と、それを印刷する印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラムを提供することを目的とする。
【0019】
【課題を解決するための手段】
上記目的を達成するために本発明の印刷システムは以下のような構成を備える。即ち、
ホスト装置と印刷装置と有する印刷システムであって、
前記ホスト装置は、
描画データに基づきバンドごとに分割した印刷コマンドを作成する作成手段と、
前記作成手段により作成された印刷コマンドをバンドメモリに格納する格納手段と、
(i)前記作成手段と前記格納手段により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力し、
(ii)前記作成手段により作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成手段により作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する出力手段とを有し、
前記格納手段は、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力手段により出力されることにより、前記バンドメモリに前記作成手段により作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成手段により作成された印刷コマンドを格納し、
前記印刷装置は、
(i)前記ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングし、
(ii)前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする描画手段と、
前記描画手段による前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持手段と、
前記描画手段による1ページ分のレンダリングが終了した後、前記保持手段に保持されたイメージデータを伸張してプリンタエンジンに送出する送出手段と、
を有することを特徴とする。
【0020】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【0021】
本実施の形態の構成を説明する前に、本実施の形態を適用する印刷システムの印刷を担うカラーレーザビームプリンタ(以下「LBP」と記述)の構成について図1を参照しながら説明する。
【0022】
図1は、本実施の形態に係るLBP100の構造を説明する図で、ここでは、このカラーLBPは、600ドット/インチ(dpi)の解像度を有し、各色成分各画素が8ビットで表現された多値データに基づいて画像記録を行う場合で説明する。
【0023】
図1において、100はLBP本体を示し、外部に接続されているホストコンピュータ(図3の3000)などから供給されるプリントデータ(文字コードや画像データ等)及び制御コードを含む印刷情報を入力して記憶するとともに、それらの情報に従って対応する文字パターンやイメージ等を作成し、記録媒体である記録紙上に像を形成する。110はフォーマッタ制御部で、ホストコンピュータから供給される印刷情報を解析して印刷イメージを生成するとともに、LBP100の制御を行う。また、このフォーマッタ制御部110は、ユーザによる操作及びユーザに対する状態通知のためのスイッチ及びLED表示器等が配されているオペレーションパネル(操作パネル)120と接続されており、その操作パネル120は、このLBP100の外装の一部として配設されている。このフォーマッタ制御部110において生成された最終的な印刷イメージは、ビデオ信号として出力制御部130に送出される。出力制御部130は、LBP100の不図示の各種センサからの状態入力とともに光学ユニット140および各種駆動系機構部に対し制御信号を出力し、LBP100としての印刷処理を制御するものである。
【0024】
図1に示すLBP100において、給紙カセット161から給紙された用紙Pは、その先端をグリッパ154fにより狭持されて、転写ドラム154の外周に保持される。光学ユニット140により感光ドラム151上に形成された各色の潜像は、イエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(B)の各色現像器Dy,Dm,Dc,Dbにより現像化されて、転写ドラム154の外周の用紙に複数回転写されて多色画像が形成される。その後、用紙Pは転写ドラム154より分離されて、定着ユニット155で定着され、排紙部159より排紙トレー部160に排出される。
【0025】
ここで各色の現像器Dy,Dm,Dc,Dbは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部152に保持されている。これによって、各現像器Dy,Dm,Dc,Dbは、図1に示すように現像器選択のために現像器選択機構部152が回転軸152aを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。この回転により選択された現像器が現像位置に移動した後、現像器選択機構部152は現像器と一体で支点153bを中心にして、選択機構保持フレーム153がソレノイド153aにより感光ドラム151方向へ引っ張られる。これにより、その選択された現像器は感光ドラム151方向へ移動して現像処理が行われるように構成されている。
【0026】
感光ドラム151の表面は、帯電器156によって所定の極性に均一に帯電される。フォーマッタ制御部110においてデバイス依存ビットマップとして展開された印刷情報は、対応するパターンのビデオ信号VDOに変換されレーザドライバに出力され半導体レーザ141を駆動する。この半導体レーザ141から発射されるレーザ光は、入力されたビデオ信号VDOに応じてオンオフ制御され、更に、スキャナモータ143によって高速回転されるポリゴンミラー142で左右方向に振らされ、ポリゴンレンズ144、反射鏡145を介して感光ドラム151上を走査露光する。これにより、感光ドラム151上には画像パターンの静電潜像が形成されることになる。こうして例えば、M(マゼンタ)色の静電潜像がM(マゼンタ)色の現像器Dmにより現像され、感光体ドラム151上にM(マゼンタ)色の第1のトナー像が形成される。
【0027】
一方、所定のタイミングで転写紙Pが給紙され、トナーと反対極性(例えばプラス極性)の転写バイアス電圧が転写ドラム154に印加される。これにより感光体ドラム151上の第1トナー像が転写紙Pに転写されると共に、その転写紙Pが転写ドラム154の表面に静電吸着される。その後、感光ドラム151はクリーナ157によって残留するM(マゼンタ)色トナーが除去され、次の色の潜像形成及び現像行程に備える。以下同様の手順によってC(シアン)、Y(イエロ)、Bk(ブラック)の順で、第2,3,4色目のトナー像が転写紙Pに転写される。
【0028】
但し、各色のトナー像の転写時には、転写ドラム154には前回よりも高いバイアス電圧が印加される点が異なる。こうして4色のトナー像が重畳転写された転写紙Pの先端部が分離位置に近づくと、分離爪158が接近してその先端が転写ドラム154の表面に接触し、転写紙Pを転写ドラム154から分離させる。こうして分離された転写紙Pは、定着ユニット155に搬送され、ここで転写紙P上のトナー像が定着されて排紙トレイ160上に排出される。
【0029】
本実施の形態に係るカラーレーザビームプリンタ(LBP)は、以上のような画像形成過程を経て600ドット/インチ(dpi)の解像度で画像を形成する。尚、本発明を適用可能なプリンタは、本実施の形態に係るカラーLBPに限られるものではなく、例えばインクジェットプリンタやサーマルプリンタ等、他のプリント方式のカラープリンタでもよい。
【0030】
次に、本実施の形態に係るLBP100のフォーマッタ制御部110について説明する。
【0031】
図3は、本実施の形態に係るLBP100とホストコンピュータとを含む印刷システムの機能構成を説明する機能ブロック図である。
【0032】
フォーマット制御部110は、通常はPDLコントローラなどとも呼ばれている部分であり、ホストコンピュータ3000との接続手段であるところのインターフェース(I/F)部3101と、受信データ等を一時的に保持管理するための受信バッファ3103、送信データ等を一時的に保持管理するための送信バッファ3104、印刷データの解析を司るコマンド解析部3107、印刷制御処理実行部3109、描画処理実行部3105、ページメモリ3106等を備えている。
【0033】
インターフェース(I/F)3101は、ホストコンピュータ3000との間で印刷データの送受信を行う通信手段であり、通信プロトコルとして、例えばIEEE−1284に準拠した通信を可能としている。但し本実施の形態では、この通信手段に限定するものでなく、ネットワークを介してさまざまなプロトコルによる接続であってもよいし、IEEE−1394に準じた通信手段であってもよい。このインターフェース3101を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ3103に逐次蓄積され、必要に応じてコマンド解析部3107又は描画処理実行部3105によって読み出されて処理される。コマンド解析部3017は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、文字印刷、図形、イメージなどの描画に関する印刷データの解析を行う。その解析結果に基づいて描画処理実行部3105に指示を与えて描画処理を実行させる。また給紙選択やリセット命令などの描画以外の処理コマンドは、コマンド解析部3017から印刷制御処理実行部3109に送られて処理される。
【0034】
描画処理実行部3105は、文字やイメージの各描画オブジェクトをページメモリ3106のバンドメモリに逐次展開するレンダラである。本実施の形態に係るLBP100では、MCYKの面順次でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、そのために必要なメモリ領域を全て確保するわけではなく、1プレーン(1,2或いは4ビット/画素)の数分の1のバンド領域としてバンドメモリがページメモリ3106内に確保され、そのバンド領域を使ってレンダリング処理を行う。こうして1バンド分の描画処理が終了すると、このレンダリングが完了したビットマップイメージを圧縮して別のメモリ領域に移動し、そのバンドメモリを解放している。これにより、このLBP100が必要とするページメモリ3106のメモリサイズの増大を抑えている。
【0035】
こうして1ページ分の圧縮バンドビットマップが生成されたら、プリンタエンジン3110の印刷速度に同期して、その圧縮したビットマップデータを伸張してビデオ信号VDOを生成することで印刷処理を実現している。
【0036】
尚、一般的には、フォーマッタ制御部110は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)などを用いたコンピュータシステムで構成されている。また、各部の処理は、マルチタスクモニタ(リアルタイムOS)の下でタイムシェアリングに処理される構成であっても良いし、各機能ごとに専用のコントローラ(ハードウェア)を用意して独立して処理される構成であっても構わない。
【0037】
操作パネル120は、前述した通り、このLBP100の各種状態を設定・表示するためのものである。出力制御部3108は、バンドメモリ(ページメモリ)の内容をビデオ信号VDOに変換処理し、プリンタエンジン部3110へ転送する。このプリンタエンジン部3110は、受け取ったビデオ信号VDOを記録紙に永久可視画像を形成するための印刷機構部であり、図1において前述したものである。
【0038】
次にホストコンピュータ3000を含む本実施の形態の印刷システムの全体構成について説明する。
【0039】
図3において、ホストコンピュータ3000は、プリントデータ及び制御コードを含む印刷情報をLBP100に出力する。このホストコンピュータ3000は、入力デバイスであるキーボード310やポインティングデバイスであるマウス311と、表示デバイスであるディスプレイモニタ320等を備えるコンピュータシステムとして構成されている。このホストコンピュータ3000は、例えばWindows XP(登録商標)、WindowsMe(登録商標)などの基本OSによって動作しているものとする。
【0040】
このホストコンピュータ3000において、本実施の形態に関する機能的な部分にのみ注目し、基本OS上での機能を大きく分類すると、アプリケーションソフトウェア301、グラフィック・サブ・システム302、印刷情報格納手段およびLBP100との通信手段を含むスプーラ303に大別される。
【0041】
アプリケーションソフトウェア301は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指す。グラフィック・サブ・システム302は、基本OSの機能の一部であるGraphic Device Interface(以後、GDIと記す)3021と、そのGDI3021から動的にリンクされるデバイスドライバであるプリンタドライバ3022とを含んでいる。このプリンタドライバ3022は、プリンタドライバ3022の初期化時にUI等で指定された印刷設定(用紙サイズ、解像度、カラーモード)と、LBP100の機種依存情報とから、LBP100内部で描画処理に使うバンディングサイズ、バンド数を算出する。またプリンタドライバ3022は、初期バンドスプーラを確保し、上記算出したバンド用スプール領域として管理を行う。
【0042】
また、PDL形式のプリンタドライバ3022は、GDI3021からDDI(Device Driver Interface)というインターフェースを介してコールされ、逐次PDLコマンドを生成してスプールファイル3031に書き込む。本実施の形態に係るシステムでは、DDI関数に渡された情報をLBP100で高速に処理可能な印刷命令データ形式に変換し、その生成した印刷命令データを前記算出して獲得したバンドスプーラ3023に分割して格納していく。
【0043】
1ページ分の印刷データがバンドスプーラ3023にバンド毎に分割して格納されると、1バンド目のバンドスプーラ3023に格納されている印刷命令から順にスプーラ303に送出する。各バンドスプーラ3023から送り出す印刷命令の先頭には、バンドの位置を特定するコマンドが付されている。これにより、LBP100で受信中の印刷データが、どのバンドに属するのか判別することができる。
【0044】
1ページ当りの描画命令がDDIから多量に渡されると、初期化時に確保したバンドスプーラ3023に、1ページ分の印刷命令が格納できないことがある。そのときは、更にメモリ領域を確保してバンドスプーラ3023を増やすことで対処する。
【0045】
しかしながら、PC環境の搭載メモリサイズを超えた描画命令が発行されたときに、本実施の形態では以下の手段をとる。
【0046】
既に、バンドスプーラ3023にスプールされている印刷命令をバンド1から順に、バンド番号を付けてLBP100に送出する。
【0047】
全バンドを送出することでバンドスプーラ3023が空になるので、残りの印刷命令を格納することが可能となる。バンドスプーラ3023の空き領域が足りなくなったときは以上の処理を繰り返すことで、限られたメモリ空間でも理論的には無限サイズのデータ処理が可能となる。
【0048】
システムスプーラ303は、OSが管理しているスプールファイルシステムであり、設定により1ページ単位、又はジョブ単位で印刷データをスプールファイル3031にスプールし、I/F3032を介してLBP100に送出する。
【0049】
基本OSによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本実施の形態に係る各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。例えば、スプーラ303やスプールファイル3031と呼ばれるものは、別のOSにおいてプリント・キューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。
【0050】
尚一般的に、これらの各機能モジュールを含むホストコンピュータ3000は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、各種入出力制御部(I/O)などのハードウェアのもとで、基本ソフトと呼ばれるソフトウェアがその制御を司り、その基本ソフトによる制御の下で、それぞれの応用ソフト、サブシステムプロセスが機能モジュールとして動作するようになっている。
【0051】
[印刷データの形式]
図4は、本実施の形態に係る印刷システムで使用される印刷命令データを説明する図である。
【0052】
図において、500は1ジョブ分の印刷命令データを示している。この印刷命令データ500は、通常のPDL言語と同様に、ジョブ開始命令(jobStart)5001で始まり、ページの開始を宣言するページ開始命令(pageStart)5002が続く。5004は1バンド分の印刷命令データを示している。5003はバンド情報(BandInfo)で、これには後続のバンドデータの位置を示すBandRect(5008)、印刷データの量(サイズ)BandDataSize(5009)が含まれている。このバンド情報5003に続いて、BandDataSize5009で指示されたデータ量のバンド単位の描画コマンド5004が繰り返される。そして、ページの最後には、pageEnd5007が送られてくる。
【0053】
[プリンタドライバの処理]
図5は、本実施の形態に係るプリンタドライバ3022による印刷命令データの生成処理を示すフローチャートである。
【0054】
まずステップS1で、プリンタドライバ3022の初期化を実行し、LBP100で処理するバンドに関する情報(バンドサイズ)を取得して、そのバンドサイズに相当するバンドスプーラ用のメモリ領域を確保する。次にステップS2に進み、OSから受け取った描画データからバンド毎に分割した印刷コマンドを作成する。次にステップS3に進み、その作成した印刷コマンドを、用意しているバンドスプーラ3023のメモリ空間に格納できるか否かを判定し、格納できない時はステップS4に進み、足りない分のバンドスプールメモリ領域を獲得する。そして次にステップS5に進み、必要な分のバンドスプーラ用メモリ領域が確保できたかどうかを調べ、確保できない時はステップS7に進み、バンドスプーラ3023に格納されている印刷コマンドに、バンド位置が分かるようにして1バンド目から順にスプーラ303に送出する。一方、ステップS5でメモリ領域を確保できた時はステップS6に進み、バンドスプーラ3023に、その獲得したメモリ領域をリンクし、バンドスプーラ領域を拡大する。
【0055】
これらステップS6又はS7を実行した後、或いはステップS3で、現バンドメモリに格納可能な時はステップS8に進み、対応するバンドスプーラ3023に印刷コマンドを格納する。そしてステップS9に進み、現ページに未処理のデータがまだあるかどうかを調べ、あればステップS2に戻って前述の処理を実行し、なければステップS10に進み、バンドスプーラ3023の印刷コマンドに、バンド位置とそのサイズ(図4の5003)及び全バンドデータの作成が終わったことを伝えるコマンド5007を付して、1バンド目からスプーラ303に送出する。
【0056】
なお、メモリに余裕があり、前述のステップS6の処理で印刷コマンドをプリンタに出力すると、プリンタは1ページ分の印刷データの受信を待つことなく印刷処理を開始できるので高速に印刷できる。また、メモリに余裕がなく、ステップS7の処理で印刷コマンドをプリンタに出力すると、プリンタは1ページ分の印刷コマンドを受信し、その受信した印刷コマンドに基づいて、バンド単位での中間データを1頁分生成し、中間データが1ページ分生成されてから印刷を開始することになる。これによりステップS6の処理より遅くなるが、印刷を行うことができる。
【0057】
[LBP100における印刷処理]
図6は、本実施の形態に係るLBP100において、ホストコンピュータ3000から送信される印刷コマンドを受け取った場合の処理の流れを説明するフローチャートである。
【0058】
まずステップS21で、バンド情報命令を読み込み、そのバンド位置を示すバンド番号を取得する。次にステップS22に進み、現ページで、既にレンダリングしたバンドかどうかを調べ、そうであればステップS23に進み、初めて処理するバンドであればステップS24に進む。ステップS23では、処理済みバンドのイメージデータをレンダリング処理を行うバンドメモリ空間に再展開する。そしてステップS24に進み、バンドメモリ空間を使って、印刷命令の描画処理を実行する。次にステップS25に進み、現バンドの描画データの終了かどうかを調べ、そうであればステップS26に進むが、まだ未処理の描画データがある時はステップS24に戻り、前述の処理を実行する。
【0059】
こうして現バンドの描画データの処理が終了するとステップS26に進み、バンドメモリの描画処理済みビットマップデータを圧縮して保持する。次にステップS27に進み、現ページのイメージデータの処理が終了しているかを判定し、終了していない時はステップS21の処理に戻るが、終了していればステップS28に進み、上位バンドの圧縮イメージデータから順にビデオ信号VDOに変換してプリンタエンジン3110に出力して印刷を行う。
【0060】
[バンドスプーラ3023のデータ構造]
図7は、本実施の形態に係るプリンタドライバ3022で管理するバンドスプーラ3023の管理手段と、バンドスプーラ3023本体のデータ構造を説明する図である。
【0061】
プリンタドライバ3022の初期化時には、DDIからは、原稿用紙サイズ、UIの設定から解像度、出力用紙サイズから、プリンタ100で処理する際のバンドサイズ、個数を算出する。
【0062】
その情報から、以下のメモリ領域を確保する。
【0063】
(1)バンドスプーラ管理構造体
「BDLBUFINF」901は、バンドの個数を示す「BandCnt」70、各バンドの情報を格納する構造体の配列「BandInfo」71、バンドバッファ本体の先頭アドレスを示す「lpBandBufTop」72、バンドバッファ内の空き領域のアドレスを示す「lpBandBufFree」73を含んでいる。なお、「BandInfo」71は、「BandCnt」70の値分だけ確保される。
【0064】
このBDLBNDINF901の構造体(902,903,904)は、バンド領域を示す「bandrect」74、構造体が管理するメモリ空間の先頭アドレスを示す「lpTop」75、現在書き込み可能なメモリ空間を示す「lpCurBuf」76を備えている。
(2)バンドスプーラ
実際にバンド分割した印刷命令を格納するメモリ空間は、初期化時には一般的な印刷データが格納可能なサイズ分だけ獲得し、905で示すように、その内部を分割して利用する。
【0065】
先頭には、別のバンドスプーラへのポインタをセットする「nextp」906が設けられており、このエリアは初期化時は「NULL」にセットされる。続けて、このバンドスプーラ3023のサイズを示す「size」907が設けられている。その先のメモリ空間は、「BANDBUFDATA」の構造体とコマンド格納領域とを1セットとしたセルで区切られている。
【0066】
この「BANDBUFDATA」構造体は、現セルの格納領域が足りなくなったときにリンクするセルへのポインタ「lpNextBuf」(初期値NULL)77、現在格納したデータオフセット「nowoffset」(初期値0)78、格納領域サイズを示す「bufsize」79を備えている。
【0067】
初期状態では、各バンドに「BANDBUFDATA」領域を1つづつ割り当て、「BDLBNDINFO」配列のそれぞれの「lpTop」75、「lpCurBuf」76にアドレスをセットしておく。図7では、バンド1の管理構造体902は、バンドスプーラ領域908を、バンド2の構造体903はバンドスプーラ領域909を、バンド3の構造体904はバンドスプーラ領域910にそれぞれ割り当てられていたことを示している。
【0068】
図7では、その後データを格納していくうちに、2バンド目のバンドスプーラ領域909にデータが入りきらなくなり、バンドスプーラ領域911,912をも2バンド目の領域として使用している状態を示している。
【0069】
そして1ページ分の印刷命令が、初期化時に獲得したバンドスプーラ3023に収まらないときは、更にバンドスプーラ3023を確保し、バンドスプーラ3023の「nextp」906に先頭アドレスをつなぎ、「BDLBUFINF」901の「lpBandFree」73も新たなバンドスプーラを示すように再設定する。
【0070】
こうして、格納した印刷命令は以下の手順で出力される。
【0071】
バンドスプーラ管理構造体901の、1バンド目の「BandInfo」の構造体902の「bandrect」74を参照し、そのバンドのバンド位置((leftX、topY)、(rightX、bottomY))、及び、そのバンドに含まれる印刷命令サイズを取得し、バンド情報命令としてスプーラ303に送出する。続いて、「lpTop」75が示すバンドスプーラ領域908に格納されている印刷命令を、「BANDBUFDATA」の「nowoffset」78で指定された分だけスプーラ303に出力する。ここで「BANDBUFDATA」の「lpNextBuf」77の値が「NULL」の時、即ち、このバンドスプーラ領域にリンクされているバンドスプーラ領域がない時は、次のバンドスプーラ領域の処理に移行するべく、次の「BandInfo」構造体(ここでは902)に処理を移す。
【0072】
2バンド目も同様にして、「BDLBNDINFO」の「lpTop」75が示すバンドスプーラ領域909内部の印刷命令からスプーラ303に出力するが、このバンドスプーラ領域909の「lpNextBuf」80がバンドスプーラ領域911を、バンドスプーラ領域911の「lpNextBuf」81がバンドスプーラ領域912を示している。従って、この順に、2バンド目の印刷命令がスプーラ303に出力される。こうして出力し終わったバンドスプーラ領域では、「lpNextBuf」、「nowoffset」の値が初期状態に戻される。
【0073】
[他の実施の形態]
本発明の目的は前述したように、実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0074】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
【0075】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
【0076】
上述した各実施の形態は以下のような実施態様で表わすことができる。
【0077】
[実施態様1] 描画命令を解析して印刷命令を生成し印刷装置に送信して印刷させる印刷制御装置であって、
前記印刷装置で処理するバンド情報を取得する取得手段と、
前記バンド情報に従って所定サイズのバンドデータを格納する第1バンドバッファを獲得する手段と、
前記印刷命令を前記印刷装置で処理するバンド単位に分割し前記第1バンドバッファにバンド単位で格納する際に、前記第1バンドバッファに当該バンドに対応する印刷命令を格納できない場合は、前記バンドに対応する印刷命令を格納するためのメモリ領域を確保し第2バンドバッファとして管理する管理手段と、
前記第2バンドバッファに記憶される印刷命令と前記第1バンドバッファに格納されている印刷命令とをリンクさせる手段と、
前記第1バンドバッファに格納された印刷命令及び当該印刷命令にリンクされている前記第2バンドバッファの印刷命令とを前記印刷装置に送信する送信手段と、
前記送信手段により送信された印刷命令を格納していた前記第1及び第2バンドバッファを解放する解放手段とを有し、
前記解放手段により解放されたバンドバッファのメモリ領域を繰り返し利用することによりページ単位の印刷データをバンド単位に分割して前記印刷装置に送出するようにしたことを特徴とする印刷制御装置。
【0078】
[実施態様2] 前記印刷命令は、バンドの位置情報と、当該バンドに含まれる印刷命令のデータ量とを示すバンド情報命令を各バンド単位で含むことを特徴とする実施態様1に記載の印刷制御装置。
【0079】
[実施態様3] 前記管理手段が、前記第1バンドバッファに当該バンドに対応する印刷命令を格納できない場合に前記バンドに対応する印刷命令を格納するためのメモリ領域を確保できない場合は、対応する前記第1バンドバッファに格納されている印刷命令をスプール展開して、前記対応する第1バンドバッファに記憶されている印刷命令を消去することを特徴とする実施態様1又は2に記載の印刷制御装置。
【0080】
[実施態様4] 描画命令を解析して印刷命令を生成するホスト装置と、前記ホスト装置から送信される前記印刷命令に応じて印刷を実行する印刷装置とを含む印刷システムであって、
前記ホスト装置は、
前記印刷装置で処理するバンド情報を取得する取得手段と、
前記バンド情報に従って所定サイズのバンドデータを格納する第1バンドバッファを獲得する手段と、
前記印刷命令を前記印刷装置で処理するバンド単位に分割し前記第1バンドバッファにバンド単位で格納する際に、前記第1バンドバッファに当該バンドに対応する印刷命令を格納できない場合は、前記バンドに対応する印刷命令を格納するためのメモリ領域を確保し第2バンドバッファとして管理する管理手段と、
前記第2バンドバッファに記憶される印刷命令と前記第1バンドバッファに格納されている印刷命令とをリンクさせる手段と、
前記第1バンドバッファに格納された印刷命令及び当該印刷命令にリンクされている前記第2バンドバッファの印刷命令とを前記印刷装置に送信する送信手段と、
前記送信手段により送信された印刷命令を格納していた前記第1及び第2バンドバッファを解放する解放手段とを有し、
前記印刷装置は、
前記ホスト装置から送信される前記印刷命令を基にバンド単位のイメージデータを生成するイメージデータ生成手段と、
前記イメージデータ生成手段により生成された前記イメージデータに基づいて画像を印刷する印刷手段と、
を有することを特徴とする印刷システム。
【0081】
[実施態様5] 前記印刷命令は、バンドの位置情報と、当該バンドに含まれる印刷命令のデータ量とを示すバンド情報命令を各バンド単位で含むことを特徴とする実施態様4に記載の印刷システム。
【0082】
[実施態様6] 前記印刷装置は、
前記バンド単位のイメージデータを圧縮する圧縮手段と、前記圧縮手段により圧縮された圧縮データを格納する格納手段とを更に有することを特徴とする実施態様4又は5に記載の印刷システム。
【0083】
[実施態様7] 描画命令を解析して印刷命令を生成し印刷装置に送信して印刷させる印刷制御方法であって、
前記印刷装置で処理するバンド情報を取得する取得工程と、
前記バンド情報に従って所定サイズのバンドデータを格納する第1バンドバッファを獲得する工程と、
前記印刷命令を前記印刷装置で処理するバンド単位に分割し前記第1バンドバッファにバンド単位で格納する際に、前記第1バンドバッファに当該バンドに対応する印刷命令を格納できない場合は、前記バンドに対応する印刷命令を格納するためのメモリ領域を確保し第2バンドバッファとして管理する工程と、
前記第2バンドバッファに記憶される印刷命令と前記第1バンドバッファに格納されている印刷命令とをリンクさせる工程と、
前記第1バンドバッファに格納された印刷命令及び当該印刷命令にリンクされている前記第2バンドバッファの印刷命令とを前記印刷装置に送信する送信工程と、
前記送信工程で送信された印刷命令を格納していた前記第1及び第2バンドバッファを解放する解放工程とを有し、
前記解放工程で解放されたバンドバッファのメモリ領域を繰り返し利用することによりページ単位の印刷データをバンド単位に分割して前記印刷装置に送出するようにしたことを特徴とする印刷制御方法。
【0084】
[実施態様8] 前記印刷命令は、バンドの位置情報と、当該バンドに含まれる印刷命令のデータ量とを示すバンド情報命令を各バンド単位で含むことを特徴とする実施態様7に記載の印刷制御方法。
【0085】
[実施態様9] 1ページ分の印刷命令を格納できるだけの領域を獲得できる場合、獲得したバンドバッファに、1ページ分の印刷命令を格納し、バンドバッファ内の印刷命令にバンドを特定できる情報をつけて印刷装置に送出する手段と、
1ページ分の印刷命令を格納できるだけの領域を獲得できない場合は、既にバンドバッファに格納されている印刷命令にバンドを特定できる情報をつけて印刷装置に送出してバンドバッファを開放し、解放されたバンドバッファを繰り返し利用することで、1ページ分の印刷データをバンド毎に分割して印刷装置に送出する手段とを有することを特徴とするホスト装置。
【0086】
[実施態様10] 獲得したバンドバッファに、1ページ分の印刷命令格納できない場合、さらにメモリを獲得しバンドバッファとして利用する手段を有する実施態様9に記載のホスト装置。
【0087】
[実施態様11] 1ページ分の印刷命令を格納できるだけの領域を獲得できる場合、獲得したバンドバッファに、1ページ分の印刷命令を格納し、バンドバッファ内の印刷命令にバンドを特定できる情報をつけて印刷装置に送出するステップと、
1ページ分の印刷命令を格納できるだけの領域を獲得できない場合は、既にバンドバッファに格納されている印刷命令にバンドを特定できる情報をつけて印刷装置に送出してバンドバッファを開放し、解放されたバンドバッファを繰り返し利用することで、1ページ分の印刷データをバンド毎に分割して印刷装置に送出するステップとを有することを特徴とする印刷方法。
【0088】
[実施態様12] 獲得したバンドバッファに、1ページ分の印刷命令格納できない場合、さらにメモリを獲得しバンドバッファとして利用するステップを有する実施態様11に記載の印刷方法。
【0089】
以上説明したように本実施の形態によれば、限られたメモリサイズのホスト装置及び印刷装置を有する環境において、印刷命令サイズが大きくても正しく印刷することができ、高速な印刷を実現できるという効果がある。
【0090】
【発明の効果】
以上説明したように本発明によれば、限られたメモリサイズの環境において、印刷命令のデータサイズが大きくても、正常かつ高速な印刷を実現できるという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るレーザビームカラープリンタの構造を示す側断面図である。
【図2】従来の印刷システム全体の基本構成を示すブロック図である。
【図3】本発明の実施の形態に係る印刷システムの構成を示すブロック図である。
【図4】本発明の実施の形態に係る印刷命令データの構成を示す模式図である。
【図5】本実施の形態に係るプリンタドライバによる処理の流れを示すフローチャートである。
【図6】本実施の形態に係るLBPにおける各バンド単位でのデータ処理の流れを示すフローチャートである。
【図7】本実施の形態に係るプリンタドライバが管理するバンドスプーラの構造を説明する模式図である。
Claims (7)
- ホスト装置と印刷装置と有する印刷システムであって、
前記ホスト装置は、
描画データに基づきバンドごとに分割した印刷コマンドを作成する作成手段と、
前記作成手段により作成された印刷コマンドをバンドメモリに格納する格納手段と、
(i)前記作成手段と前記格納手段により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力し、
(ii)前記作成手段により作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成手段により作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する出力手段とを有し、
前記格納手段は、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力手段により出力されることにより、前記バンドメモリに前記作成手段により作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成手段により作成された印刷コマンドを格納し、
前記印刷装置は、
(i)前記ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングし、
(ii)前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする描画手段と、
前記描画手段による前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持手段と、
前記描画手段による1ページ分のレンダリングが終了した後、前記保持手段に保持されたイメージデータを伸張してプリンタエンジンに送出する送出手段と、
を有することを特徴とする印刷システム。 - 描画データに基づきバンドごとに分割した印刷コマンドを作成する作成手段と、前記作成手段により作成された印刷コマンドをバンドメモリに格納する格納手段と、(i)前記作成手段と前記格納手段により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力し、(ii)前記作成手段により作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成手段により作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する出力手段とを有し、前記格納手段が、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力手段により出力されることにより、前記バンドメモリに前記作成手段により作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成手段により作成された印刷コマンドを格納するホスト装置と接続される印刷装置であって、
(i)前記ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングし、
(ii)前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする描画手段と、
前記描画手段による前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持手段と、
前記描画手段による1ページ分のレンダリングが終了した後、前記保持手段に保持されたイメージデータを伸張してプリンタエンジンに送出する送出手段と、
を有することを特徴とする印刷装置。 - ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングし、(ii)前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする描画手段と、前記描画手段による前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持手段と、前記描画手段による1ページ分のレンダリングが終了した後、前記保持手段に保持されたイメージデータを伸張してプリンタエンジンに送出する送出手段とを有する印刷装置と接続されるホスト装置であって、
描画データに基づきバンドごとに分割した印刷コマンドを作成する作成手段と、
前記作成手段により作成された印刷コマンドをバンドメモリに格納する格納手段と、
(i)前記作成手段と前記格納手段により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力し、
(ii)前記作成手段により作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成手段により作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する出力手段とを有し、
前記格納手段は、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力手段により出力されることにより、前記バンドメモリに前記作成手段により作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成手段により作成された印刷コマンドを格納することを特徴とするホスト装置。 - ホスト装置が、描画データに基づきバンドごとに分割した印刷コマンドを作成する作成工程と、
前記ホスト装置が、前記作成工程で作成された印刷コマンドをバンドメモリに格納する格納工程と、
前記ホスト装置が、前記作成工程と前記格納工程により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力する工程と、
前記ホスト装置が、前記作成工程で作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成工程で作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する工程と、
印刷装置が、前記ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングする工程と、
前記印刷装置が、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする工程と、
前記印刷装置が、前記描画工程で前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持工程と、
前記印刷装置が、前記描画工程で1ページ分のレンダリングが終了した後、前記保持工程で保持されたイメージデータを伸張してプリンタエンジンに送出する送出工程とを有し、
前記格納工程は、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力工程により出力されることにより、前記バンドメモリに前記作成工程で作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成工程で作成された印刷コマンドを格納することを特徴とする印刷制御方法。 - 描画データに基づきバンドごとに分割した印刷コマンドを作成する作成手段と、前記作成手段により作成された印刷コマンドをバンドメモリに格納する格納手段と、(i)前記作成手段と前記格納手段により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力し、(ii)前記作成手段により作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成手段により作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する出力手段とを有し、前記格納手段が、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力手段により出力されることにより、前記バンドメモリに前記作成手段により作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成手段により作成された印刷コマンドを格納するホスト装置と接続される印刷装置で実行される印刷制御方法であって、
前記ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングする工程と、
前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする工程と、
前記描画工程で前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持工程と、
前記描画工程で1ページ分のレンダリングが終了した後、前記保持工程で保持されたイメージデータを伸張してプリンタエンジンに送出する送出工程と、
を有することを特徴とする印刷制御方法。 - ホスト装置から受信した印刷コマンドのバンドを示す情報を基に、前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドか調べ、初めて処理する印刷コマンドであれば、前記受信した印刷コマンドを解析してワークバンドメモリにレンダリングし、(ii)前記受信した印刷コマンドが当該バンドで初めて処理する印刷コマンドでなければ、既にレンダリングしている当該バンドのイメージデータを前記ワークバンドメモリに展開してから前記受信した印刷コマンドを解析して前記ワークバンドメモリにレンダリングする描画手段と、前記描画手段による前記バンドのレンダリングが終了すると、前記ワークバンドメモリにレンダリングされたバンドのイメージデータを圧縮して保持する保持手段と、前記描画手段による1ページ分のレンダリングが終了した後、前記保持手段に保持されたイメージデータを伸張してプリンタエンジンに送出する送出手段とを有する印刷装置と接続されるホスト装置の印刷制御方法であって、
描画データに基づきバンドごとに分割した印刷コマンドを作成する作成工程と、
前記作成工程で作成された印刷コマンドをバンドメモリに格納する格納工程と、
前記作成工程と前記格納工程により1ページ分の印刷コマンドが前記バンドメモリに格納された場合、前記バンドメモリに格納された印刷コマンドに、当該印刷コマンドのバンドを示す情報及び当該バンドのバンドデータの作成が終わったことを示すコマンドを付加して印刷装置に出力する工程と、
前記作成工程で作成した印刷コマンドが前記バンドメモリに格納できず、かつ前記作成工程で作成された印刷コマンドを格納するメモリ領域が確保できない場合、前記バンドメモリに既に格納されている印刷コマンドに、当該印刷コマンドのバンドを示す情報を付加して前記印刷装置に出力する工程とを有し、
前記格納工程は、前記メモリ領域が確保できない場合に前記バンドメモリに既に格納されている印刷コマンドが前記出力工程により出力されることにより、前記バンドメモリに前記作成工程で作成された印刷コマンドを格納し、前記メモリ領域が確保できた場合には前記バンドメモリと前記メモリ領域とをリンクさせて前記作成工程で作成された印刷コマンドを格納することを特徴とするホスト装置の印刷制御方法。 - 請求項4乃至6のいずれか1項に記載の印刷制御方法の各工程をコンピュータに実行させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003127288A JP4418642B2 (ja) | 2003-05-02 | 2003-05-02 | ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム |
US10/834,216 US7535589B2 (en) | 2003-05-02 | 2004-04-29 | Print control apparatus, print control method and printing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003127288A JP4418642B2 (ja) | 2003-05-02 | 2003-05-02 | ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004334401A JP2004334401A (ja) | 2004-11-25 |
JP2004334401A5 JP2004334401A5 (ja) | 2008-08-21 |
JP4418642B2 true JP4418642B2 (ja) | 2010-02-17 |
Family
ID=33503893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003127288A Expired - Fee Related JP4418642B2 (ja) | 2003-05-02 | 2003-05-02 | ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7535589B2 (ja) |
JP (1) | JP4418642B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6618785B1 (en) | 2000-04-21 | 2003-09-09 | Apple Computer, Inc. | Method and apparatus for automatic detection and healing of signal pair crossover on a high performance serial bus |
JP4174476B2 (ja) * | 2004-03-31 | 2008-10-29 | キヤノン株式会社 | データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム |
US20050248597A1 (en) * | 2004-05-05 | 2005-11-10 | Kuhn William C | Data stream reference to external resources |
JP2007181944A (ja) * | 2006-01-05 | 2007-07-19 | Ricoh Co Ltd | 画像処理装置 |
JP4484896B2 (ja) * | 2007-04-26 | 2010-06-16 | キヤノン株式会社 | 画像処理装置及びその制御方法ならびにそのプログラム及び記憶媒体 |
JP6213378B2 (ja) * | 2013-07-31 | 2017-10-18 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置および画像形成方法 |
CN104423900B (zh) * | 2013-08-27 | 2018-04-27 | 北大方正集团有限公司 | 图像打印方法和打印机 |
JP6145116B2 (ja) * | 2015-01-14 | 2017-06-07 | キヤノン株式会社 | 情報処理装置とその制御方法およびプログラム |
JP6471660B2 (ja) * | 2015-09-16 | 2019-02-20 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
CN111708288B (zh) * | 2020-05-18 | 2021-11-26 | 慧灵科技(深圳)有限公司 | 数据处理的方法、装置、电子设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3116354B2 (ja) | 1989-09-29 | 2000-12-11 | ミノルタ株式会社 | プリンタデータ管理方式 |
US5136688A (en) * | 1989-09-29 | 1992-08-04 | Minolta Camera Kabushiki Kaisha | Print data processing apparatus for an image forming apparatus |
US5594860A (en) * | 1995-01-27 | 1997-01-14 | Varis Corporation | Method for banding and rasterizing an image in a multiprocessor printing system |
US6219156B1 (en) * | 1995-10-09 | 2001-04-17 | Minolta Co., Ltd. | Image data processing device and digital copying machine which vary amount of image data to be compressed depending on time used for compression |
JPH11313213A (ja) * | 1998-04-27 | 1999-11-09 | Canon Inc | 情報処理装置、情報処理方法及び媒体 |
US6556309B1 (en) * | 1998-08-28 | 2003-04-29 | Hewlett-Packard Company | Conservation of printer memory on the composition page in response to page pipe feedback |
JP2000165633A (ja) | 1998-11-30 | 2000-06-16 | Ricoh Co Ltd | プリンタコントローラ |
JP2000207147A (ja) | 1999-01-20 | 2000-07-28 | Oki Data Corp | 印刷デ―タ転送システム |
JP2003015834A (ja) | 2001-06-28 | 2003-01-17 | Canon Inc | 情報処理装置および印刷処理装置およびデータ処理方法および記憶媒体 |
JP2003029938A (ja) * | 2001-07-12 | 2003-01-31 | Canon Inc | 情報処理装置及びその制御方法及び印刷システム、並びに、コンピュータプログラム及び記憶媒体 |
JP3826038B2 (ja) * | 2002-01-17 | 2006-09-27 | キヤノン株式会社 | 印刷システム及びその印刷方法並びに印刷装置 |
-
2003
- 2003-05-02 JP JP2003127288A patent/JP4418642B2/ja not_active Expired - Fee Related
-
2004
- 2004-04-29 US US10/834,216 patent/US7535589B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20040252339A1 (en) | 2004-12-16 |
JP2004334401A (ja) | 2004-11-25 |
US7535589B2 (en) | 2009-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (ja) | 印刷システム及びその印刷方法並びに印刷装置 | |
JP4708869B2 (ja) | 情報処理装置およびその制御方法 | |
US20050275882A1 (en) | Information processing apparatus and its control method | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
JP2005352691A (ja) | 情報処理装置およびその制御方法 | |
JP4418642B2 (ja) | ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム | |
JP3962606B2 (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム | |
US7746494B2 (en) | Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system | |
JP2003029938A (ja) | 情報処理装置及びその制御方法及び印刷システム、並びに、コンピュータプログラム及び記憶媒体 | |
US20050275883A1 (en) | Information processing apparatus and its control method | |
JP2001222395A (ja) | 情報処理装置および情報処理方法およびプリンタドライバプログラムが格納された記憶媒体 | |
JP4018426B2 (ja) | 画像処理システムおよびその制御方法 | |
JP4095166B2 (ja) | 画像処理装置およびその方法 | |
JP2007140952A (ja) | 分散処理システム及びその処理方法 | |
JP2006235813A (ja) | 印刷システム | |
JP2004326266A (ja) | 印刷制御方法、情報処理装置及び印刷装置 | |
JP2003122521A (ja) | 印刷システム、情報処理装置、それらの描画方法、プログラム及び記憶媒体 | |
JP2001047673A (ja) | データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2005169671A (ja) | データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム | |
JP2006155221A (ja) | 印刷システムおよび印刷制御方法 | |
JP4663140B2 (ja) | データ処理装置および方法ならびに記憶媒体およびプログラム | |
JP2005349772A (ja) | 印刷装置、及びその制御方法 | |
JP2003341152A (ja) | 印刷制御装置、印刷制御方法、印刷システム、及びプログラム | |
JP2000200161A (ja) | 情報処理装置、印刷制御装置、それらの装置からなる印刷システム、及びコンピュ―タ読み取り可能な記憶媒体 | |
JP2005157857A (ja) | データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060501 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060501 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080703 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081106 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090306 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090417 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090615 |
|
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: 20091124 |
|
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: 20091130 |
|
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: 20121204 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |