JP2005169671A - データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム - Google Patents

データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム Download PDF

Info

Publication number
JP2005169671A
JP2005169671A JP2003409322A JP2003409322A JP2005169671A JP 2005169671 A JP2005169671 A JP 2005169671A JP 2003409322 A JP2003409322 A JP 2003409322A JP 2003409322 A JP2003409322 A JP 2003409322A JP 2005169671 A JP2005169671 A JP 2005169671A
Authority
JP
Japan
Prior art keywords
band
print command
unit
page
print
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.)
Pending
Application number
JP2003409322A
Other languages
English (en)
Inventor
Masanari Toda
雅成 戸田
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 JP2003409322A priority Critical patent/JP2005169671A/ja
Publication of JP2005169671A publication Critical patent/JP2005169671A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理することである。
【解決手段】 搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域(例えば図2に示すバンドスプーラ3023)を確保して、印刷装置と通信可能なデータ処理装置において、プリンタドライバ3022がバンド領域単位で印刷命令の送出処理中に、生成される印刷命令のメモリ領域への格納状態を判別して、送出すべき印刷命令の単位をバンド単位からページ単位に切り替え制御する構成を特徴とする。
【選択図】 図2

Description

本発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムに関するものである。
従来の印刷システムにおける印刷制御方法および処理の流れについて図2を用いて説明する。
図9は、従来の印刷装置とホストコンピュータとを含む印刷システムのデータ処理構成を説明するブロック図であり、一般的には、セントロニクスインターフェースといったパラレル通信手段やネットワーク通信手段を介してホストコンピュータと印刷装置とが接続された印刷システム例に対応する。
図9において、ホストコンピュータ2000側では、ワードプロセッサや表計算のようなアプリケーションソフトウェア2001(以下アプリと略称)がWindows(米国Microsoft社の登録商標)のような、いわゆる基本ソフトの上で動作している。
このアプリケーションソフトウェア2001において印刷を行う場合は、そのプログラム内から、基本ソフトが提供するいくつかのサブシステムのうちグラフィックサブシステム2002の機能を用いて行う。
このグラフィックサブシステムは、例えばWindows(登録商標)では、GDI(Graphic Device Interface)2004と呼ばれておりディスプレイやプリンタに対する画像情報の処理を司っている。
このGDI2004は、ディスプレイやプリンタといった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタに対するこのモジュールはプリンタドライバ2005と呼ばれる。
このプリンタドライバ2005では、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を用意する必要がある。アプリのAPI(Application Programing Interface)コールをGDI2004がデバイスドライバ用にデータ変換を行い、このDDI関数群が適宜GDI2004からコールされ所定の印刷処理が実行されるような仕組みになっている。
GDI2004では、このようにプリンタドライバ2005を介してアプリ2001からの印刷要求をシーケンシャルに処理している。プリンタドライバ2005には、プリンタドライバ内で出力時のイメージデータ形式にまで描画してしまうイメージモードと、描画処理可能なプリンタ向けのコマンドであるPDL(Printer Description Language)モードに大別される。
まず、PDL(Printer Description Language)モード系プリンタドライバについて説明を行う。プリンタドライバ2005は、DDI関数毎にPDLコマンドを生成する構成となっており、生成した印刷命令は、順次再度GDI2004を介して1ページ分スプールファイル2006として格納される。そして、1ページ分のデータが揃うと、I/F2007を介して印刷装置2100へ送出される。
印刷装置2100では、印刷命令を受信バッファ2103に一時格納し、コマンド解析部2107で解析処理が行われる。そして、解析した結果プリンタで高速に処理可能な中間データが生成されページメモリ2106の中間言語格納領域に格納される。中間データはページメモリ2106に1ページ分蓄えられると、プリンタ内の処理単位であるバンド領域毎に登録順にリスト構造(以降バンドリスト)が作られる。なお、ディスプレイリストと呼ぶ場合もある。
バンドリストにつながっている中間言語は、ハードウエアまたはソフトウエアにより用意したページメモリ2106内のバンドメモリ領域に対して描画処理が行われる。
そして、生成されたバンドメモリ上のイメージデータは、エンジン回転に同期してビデオ信号に変換(シップ処理)される。こうしたバンドメモリを2つ用意し、交互に読み出し/書き込みを切り替えながら繰り返し用いることで、少ないメモリ空間で、描画処理と、シップ処理をエンジンに同期して行うことが可能である。
しかしながら、上記PDLモード系処理は、DDI関数から受け取るデータはすべて描画コマンドとして生成されるため、アプリ2001が多量の描画命令を発行してきた分だけPDLコマンドが生成される(理論上無限大)。
一方、印刷装置2100に搭載されるメモリのメモリ容量は有限なので、印刷装置2100内では以下のような手段で正常印字を実現している。
例えば一部の個所に複雑な、または多量に描画命令が発行された場合、描画時間がシップ処理時間よりも大きくなった場合、ページプリンタは以下のような手段を組み合わせて解決してきた。
解決例1(サブクローズ方式)
まず、第1段階で、中間言語データがページメモリ2106内に入りきらなくなった時は、それまで格納した中間言語データをバンドメモリを使って描画と圧縮(PackBits、Runlength、JBIG 圧縮等)し、中間データとして保持する(描画オブジェクトが関係した全てのバンド)。
次に、第2段階で、描画が済んだ中間言語データは消去することでページメモリ2106の空き領域を増やす。
そして、第3段階で、空いた領域に入りきっていない中間言語データを格納する。全ページ入りきれば第1段階へ戻り、再登録した圧縮イメージデータを1つの中間言語データとして扱うことで、同期バンドレンダリング可能とする。
第4段階で、上記処理を行っても1ページ分入りきらないときは、再度第1段階の処理を実施する。この場合、既に登録されている圧縮イメージデータが最初に描画され、その上に新たな中間データが描画された後、再圧縮することになる。
解決例2(プレバンド方式)
中間言語データが1つのバンドに集中して存在すると、描画処理がエンジン速度に間に合わないことがある。プリンタ内部で中間言語登録時に、そう判断されたバンド領域は、エンジンを起動する前に用意したバンドメモリ上に描画処理を実施しておく。
以上の手段により、正常印字は保証されているが、高速な同期バンドレンダリング処理が不可能なため、パフォーマンス劣化が発生する。
上記のようにプリンタドライバ2005でページ単位で描画命令を生成するPDLプリンタでは、パフォーマンスに多くの問題が発生しやすいため、その対策として、近年のプリンティングシステムにはプリンタドライバ2005でコントローラで処理しやすいバンド単位のデータにまで変換してから送出してくる方式が出てきている(以降、BDLプリンティングシステムと呼ぶ)。
上記手段をとることで、限られたメモリ空間しか持たないプリンタでもページ単位で送られてくる理論上無限大サイズのPDLコマンドを正常出力することを可能としていた。
しかしながら、上記イレギュラー系処理に入ると、プリンタ内部ではサブクローズ、プレバンド共に、複数のバンドメモリに対して何度も描画処理を行わなくてはならない。
元々1ページ分のバンドメモリを確保できないシステムでは描画処理とバンドメモリの圧縮、伸張処理を繰り返すことになり、通常処理に対してパフォーマンス劣化が発生していた。このような技術を記載した文献として、特許文献1がある。
そこで、これらの問題解決のために、近年は以下の手法1)〜3)を実行するBDL(Banding Discription Language)プリンティングシステムが採用されている。
手法1)で、プリンタドライバにより印刷命令をバンド単位で送れるように1ページ分保持する。
手法2)で、1ページ分の印刷命令生成後、バンドの初めと終わりがわかるようにした印刷命令をバンド毎にプリンタに送出する。
手法3)で、プリンタは、バンド毎に描画処理を行うため、バンドメモリ領域が最低限一つあればサブクローズ処理、プレレンダリング処理が圧縮、非圧縮を繰り返さずに実現可能とする。なお、この種の公知技術として、特許文献2が既に公開されている。
特開平9−071013号公報 特開2003−216361号公報
上記したように、従来のBDLによるプリンティングシステムは、プリンタにとってはサブクローズ、プレバンド処理をバンド単位で行えるためプリンタの搭載メモリが少なくても、巨大データや複雑なデータでもプリンタは高速に処理可能である。
一方、プリンタドライバは、OSからページ単位で渡される描画命令を高速にバンド単位に並べ替えるためには、1ページ分の描画命令を保持できるメモリ空間が必要である。
ところが1ページ当たりにOSから渡される描画命令は理論上は無限に渡される可能性があるため、ホストマシンに搭載されるメモリ容量が少なかったり、他に立ち上がっているアプリがメモリを確保しているときには、必要な物理メモリの確保ができず、仮想メモリ獲得によるパフォーマンス劣化、またはシステムのデッドロックが発生することもあり得るとの課題が指摘されていた。
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置において、バンド単位で印刷命令の送出処理中に、生成される印刷命令のメモリ領域への格納状態を判別して、送出すべき印刷命令の単位をバンド単位からページ単位に切り替えることにより、メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理できる利便性に優れた印刷処理環境を自在に整備できるデータ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラムを提供することである。
本発明に係る第1の発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域(例えば図2に示すバンドスプーラ3023)を確保して、印刷装置と通信可能なデータ処理装置であって、描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成手段(例えば図2に示すプリンタドライバ3022)と、前記生成手段により生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出手段(例えば図2に示すプリンタドライバ3022)と、バンド単位で印刷命令の送出処理中に、前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替える制御手段(例えば図2に示すプリンタドライバ3022)とを有する。
本発明に係る第2の発明は、前記送出手段は、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保手段(例えば図2に示すプリンタドライバ3022)を備え、前記確保手段により初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を1ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする。
本発明に係る第3の発明は、前記制御手段は、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする。
本発明に係る第4の発明は、前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする。
本発明に係る第5の発明は、前記制御手段は、各ページ毎に前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする。
本発明に係る第6の発明は、搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置における印刷制御方法であって、描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成ステップ(図4に示すステップ(702))と、前記生成ステップにより生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出ステップ(図4に示すステップ(710),(707))と、バンド単位で印刷命令の送出処理中に、前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別して(図4に示すステップ(714))、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替える制御ステップ(図4に示すステップ(711))とを有することを特徴とする。
本発明に係る第7の発明は、前記送出ステップは、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保ステップ(図4に示すステップ(701))を含み、前記確保ステップにより初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して(図4に示すステップ(706))、バンド単位で生成される印刷命令を1ページ分保持した後(図4に示すステップ(710))、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする。
本発明に係る第8の発明は、前記制御ステップは、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする。
本発明に係る第9の発明は、前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする。
本発明に係る第10の発明は、前記制御ステップは、各ページ毎に前記生成ステップに生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする。
本発明に係る第11の発明は、第6〜第10の発明の印刷制御方法を実現するプログラムをコンピュータが読み取り可能な記憶媒体に記憶したことを特徴とする。
本発明に係る第12の発明は、第6〜第10の発明の印刷制御方法を実現するプログラムであることを特徴とする。
本発明によれば、メモリ資源の確保不能による不正印字発生を未然に防止できるとともに、印刷品位や印刷速度が要求される場合には、バンド単位による命令送出に適応して品位低下や速度低下を回避して、ユーザが要求する印刷データを高品位、かつ高速に処理できる利便性に優れた印刷処理環境を自在に整備できる。
したがって、限られたメモリサイズのホストマシン、印刷装置の環境において、印刷命令サイズが大きくても、不正印字になることなく、高速な印刷を可能となるという効果を奏する。
次に本発明を実施するための最良の形態について図面を参照して説明する。
本実施形態の構成を説明する前に、本実施形態を適用する印刷システムの印刷を担うカラーレーザビームプリンタ(以下「カラーLBP」と記述)の構成について図1を参照しながら説明する。
図1は、本発明に係る印刷システムに適用可能な印刷装置の一例を示す概略断面図であり、例えば600ドット/インチ(dpi)の解像度を有し、各色成分各画素が8ビットで表現された多値データに基づいて画像記録を行うカラーLBP例に対応する。
図1において、100はカラーLBP本体(印刷装置)であり、外部に接続されているホストコンピュータなどから供給されるプリントデータ(文字コードや画像データ等)及び制御コードから成る印刷情報を入力して記憶するとともに、それらの情報に従って対応する文字パターンやイメージ等を作成し記憶媒体である記録紙上に像を形成する装置である。
110はホストコンピュータから供給される印刷情報を解析し印刷イメージの生成処理を行うとともにカラーLBP本体100の制御を行うフォーマッタ制御部である。
また、フォーマッタ制御部110は、ユーザによる操作およびユーザに対する状態通知のためのスイッチおよびLED表示器等が配されているオペレーションパネル部(パネル部)120と接続されており、そのパネル部は印刷装置100の外装の一部として配設されている。
さらに、フォーマッタ制御部110において、生成された最終的な印刷イメージはビデオ信号として出力制御部130に送出され、出力制御部130は印刷装置100の不図示の各種センサからの状態入力とともに光学ユニット140および各種駆動系機構部に対し制御信号を出力し印刷装置100としての印刷処理の制御を司るものである。
図1に示す印刷装置において、給紙カセット161から給紙された用紙Pはその先端をグリッパ154fにより狭持されて、転写ドラム154の外周に保持される。光学ユニット140により感光ドラム151上に形成された各色の潜像は、イエロー(Y)、マゼンタ(M)、シアン(C)、ブラック(B)の各色現像器Dy、Dc、Dm、Dbにより現像化されて、転写ドラム外周の用紙に複数回転写されて多色画像が形成される。
その後、用紙Pは転写ドラム154より分離されて、定着ユニット155で定着され、排紙部159より排紙トレイ部160に排出される。ここで各色の現像器Dy、Dc、Dm、Dbは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部152に保持される。これによって、各現像器Dy、Dc、Dm、Dbは、図1に示すように現像器選択のために現像器選択機構部152が回転軸152aを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。
そして、選択されたいずれかの現像器が現像位置に移動後、現像器選択機構部152は現像器と一体で支点153bを中心にして、選択機構保持フレーム153がソレノイド153aにより感光ドラム151方向へ引っ張られ、感光ドラム151方向へ移動し現像処理が行われるように構成されている。
次に、帯電器156によって感光ドラム151が所定の極性に均一に帯電される。フォーマッタ制御部110においてデバイス依存ビットマップとして展開された印刷情報は、対応するパターンのビデオ信号に変換されレーザドライバに出力され半導体レーザ141を駆動する。
入力されたビデオ信号に応じて半導体レーザ141から発射されるレーザ光Lはオンオフ制御され、さらにスキャナモータ143によって高速回転するポリゴンミラー142で左右方向に振らされ、ポリゴンレンズ144、反射鏡145を介して感光ドラム151上を走査露光する。これにより、感光ドラム151上には画像パターンの静電潜像が形成されることになる。
次に、例えば、M(マゼンタ)色の静電潜像がM(マゼンタ)色の現像器Dmにより現像され、感光体ドラム151上にM(マゼンタ)色の第1のトナー像が形成される。
一方、所定のタイミングで転写紙Pが給紙され、トナーと反対極性(例えばプラス極性)の転写バイアス電圧が転写ドラム154に印加され、感光体ドラム151上の第1トナー像が転写紙Pに転写されると共に、転写紙Pが転写ドラム154の表面に静電吸着される。その後、感光ドラム151はクリーナー157によって残留するM(マゼンタ)色トナーが除去され、次の色の潜像形成及び現像行程に備える。
以下同様の手順によってC(シアン)、Y(イエロー)、B(ブラック)の順で第2、3、4色目のトナー像の転写が行われる。但し、各色の転写時には、転写ドラム154には前回よりも高いバイアス電圧が印加される点は異なる。
4色のトナー像が重畳転写された転写紙Pの先端部が分離位置に近づくと、分離爪158が接近してその先端が転写ドラム154の表面に接触し、転写紙Pを転写ドラム154から分離させる。分離された転写紙Pは定着ユニット155に搬送され、ここで転写紙上のトナー像が定着されて排紙トレイ160上に排出される。本実施形態のカラーレーザビームプリンタは、以上のような画像形成過程を経て600ドット/インチ(dpi)の解像度で画像出力を行う。
なお、本発明を適用可能なプリンタは、カラーLBPに限られるものではなく、インクジェットプリンタやサーマルプリンタ等、他のプリント方式のカラープリンタでもよい。
図2は、本発明の一実施形態を示すデータ処理装置および印刷装置を適用可能な印刷システムの構成を説明するブロック図であり、以下、図1に示した印刷装置100におけるフォーマッタ制御部110について説明する。
図2において、フォーマット制御部3102は、通常はPDLコントローラなどとも呼ばれている部分であり、ホストコンピュータ3000との接続手段であるところのインタフェース(I/F)部3101と、受信データ等を一時的に保持管理するための受信バッファ3103、送信データ等を一時的に保持管理するための送信バッファ3104、印刷データの解析を司るコマンド解析部3107、印刷制御処理実行部3109、描画処理実行部3105、ページメモリ3106より構成されている。
インタフェース(I/F)3101は、ホストコンピュータ3000との印刷データの送受信を行う通信手段あり、通信プロトコルとして、例えばIEEE−1284に準拠した通信を可能とするものである。ただし、本実施形態では、この通信手段に限定するものでなく、ネットワークを介してさまざまなプロトコルによる接続であってもよいし、IEEE−1394に準じた通信手段であってもよい。
このインタフェース3101を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ3103に逐次蓄積され、必要に応じてコマンド解析部3107または描画処理実行部3105によって読み出され処理される。
コマンド解析部3017は、印刷命令体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、文字印字、図形、イメージなどの描画に関する印刷データの解析結果は、描画処理実行部3105に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御処理実行部3109に指示を出し処理する。
描画処理実行部3105は、文字やイメージの各描画オブジェクトをページメモリ3106内のバンドメモリに逐次展開して行くレンダラである。図1で前述したカラーLBPに対しては、MCYKの面順次でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、そのために必要なメモリをすべて確保するわけではなく、1プレーン(1、2 or 4bit/pixel)の数分の1のバンド領域としてバンドメモリがページメモリ3106内に確保され、そのバンド領域を使ってレンダリング処理を行う。
描画処理実行部3105により、1バンド分の描画処理が終了すると、レンダリングしたビットマップイメージを圧縮して違うメモリ領域に移動することでバンドメモリを開放することでプリンタが必要とするメモリサイズを抑えている。
1ページ分の圧縮バンドビットマップが生成されたら、エンジン速度に同期して伸張してビデオ信号を生成することで印刷処理を実現している。
なお、一般的に、フォーマッタ制御部3102は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)などを用いたコンピュータ・システムによって構成されている。また、各部の処理は、マルチタスクモニタ(リアルタイムOS)のもとでタイムシェアリングに処理される構成であっても良いし、各機能ごとに専用のコントローラ・ハードウェアを用意して独立して処理される構成であっても構わない。
オペレーションパネル3120は、前述した通り印刷装置の各種状態を設定したり、表示したりするためのものである。出力制御部3108は、バンドメモリ(ページメモリ3106に確保される)の内容をビデオ信号に変換処理し、プリンタエンジン部3110へ画像転送を行う。プリンタエンジン部(プリンタエンジン)3110は、受け取ったビデオ信号を記録紙に永久可視画像形成するための印刷機構部であり、図1において前述したものである。
以上、印刷装置3100について説明したが、次にホストコンピュータ3000を含む本実施形態の印刷システムの全体構成について説明を加える。
図2において、3000はホストコンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置3100に出力するものである。ホストコンピュータ3000は、入力デバイスであるキーボード310やポインティングデバイスであるマウス311と、表示デバイスであるディスプレイモニタ320を合わせた一つのコンピュータシステムとして構成されている。ホストコンピュータ3000は、Windows(登録商標)XP、Windows(登録商標)Meなどの基本OSによって動作しているものとする。
ホストコンピュータ3000側について、本発明に関する機能的な部分にのみ注目し、基本OS上での機能を大きく分類すると、アプリケーションソフトウェア301、グラフィックサブシステム302、印刷情報格納手段および印刷装置との通信手段を含むスプーラ303に大別される。
アプリケーションソフトウェア(アプリケーション)301は、例えばワープロや表計算などの基本ソフトウエア上で動作する応用ソフトウエアを指すものである。グラフィックサブシステム302は、基本OSの機能の一部であるGraphic Device Interface (以後、GDIと記す)3021とそのGDIから動的にリンクされるデバイスドライバであるプリンタドライバ3022によって構成されている。
プリンタドライバ3022は、ドライバ初期化時にUI等で指定された印刷設定(用紙サイズ、解像度、カラーモード)とプリンタの機種依存情報からプリンタ内部で描画処理に使うバンディングサイズ、バンド数を算出する。
プリンタドライバ3022は、初期バンドスプーラを確保し、上記算出したバンド用スプール領域として管理を行う。
また、プリンタドライバ3022はGDIからDDI(Device Driver Interface)というインタフェースを介して初期化時に、プリンタドライバ3022の描画能力等のドライバ情報をOS(GDI)に伝える。その際、ドライバのグラフィックス描画能力は高く見せることで、本発明の目的であるレイアウト変換処理の高速化を実現する。
ここで、描画能力とは具体的には、パス形式の塗りつぶし処理や、クリップ処理が可能、またはイメージの拡縮処理が可能といったことを意味する。
初期化処理の後、GDI3021からDDII/Fを介してプリンタドライバ3022に描画が指示されると、逐次PDLコマンドを生成し、スプールファイル3031に書き込む。
本システムでは、DDI関数に渡された情報をプリンタ3100で高速に処理可能な印刷命令データ形式に変換し、生成した印刷命令を前記算出して獲得したバンドスプーラ領域3023に分割して格納していく。
ここでは、図3を用いて、例えばWindwos(登録商標)2000/XPのDrvFillPath()関数に渡された「PATHOBJ」6000(領域塗りつぶしを意味する)と「CLIPOBJ」6001(クリップ領域を意味する)が、バンド毎に分割された描画命令に変換されるまでを説明する。
図3は、本発明に係るデータ処理装置におけるバンド描画処理の一例を説明する模式図であり、PATHOBJ6000、CLIPOBJ6001をそれぞれ別々にレイアウト変換処理を行う例である。
なお、図3では、PATHOBJ6000を構成する6点のPATH点列と、CLIPOBJ6001の輪郭点列に対して、指定された一次変換処理6002を行うことで実現する。
また、本例では、右方向に90度回転のみをかけた状態を示しているが、縮小や拡大処理も同様の手段で実現可能である。
次に、グラフィックス分解処理6005で、座標変換後のPATH領域6004、CLIP領域6003をそれぞれスキャンラインに展開する。ここで、スキャンラインとは、描画オブジェクト高さのy軸テーブルを持ち、各y値からリンクされたx値のペアで構成されるデータ形式を意味している。パス点列情報からスキャンラインデータに展開する手段としては、Active Edge Table方式等が知られている。
次に、インターセクト処理6008で、PATHから生成したスキャンライン6007と、CLIPから生成したスキャンライン6006のインターセクトを取ることでPATH領域にクリップのかかったスキャンラインデータ6009が生成される
次に、バンディング処理6010で、スキャンラインデータ6009を、バンド毎に分けて印刷命令6011を生成する。
1ページ分の印刷データがバンドスプーラ3023にバンド毎に分割して格納されると、1バンド目のバンドスプーラ3023に格納されている印刷命令をコントローラで処理を行うバンド順にスプーラ303に送出する。
なお、バンドスプーラ3023から送り出す印刷命令の先頭には、バンドの位置を判定できるコマンドを付けることで、プリンタ3100で受信中の印刷データがどのバンドに属するのか判別することを可能とする。
しかしながら、プリンタドライバ3022が描画命令受信中に、高解像度、高階調カラーイメージが渡されると、初期化時に確保したバンドスプーラ3023に、1ページ分の印刷命令が格納できなくなる事がある。
その時は、さらにメモリを確保してバンドスプーラ3023を増やせれば正常出力可能だが、システム環境によっては仮想メモリへのアクセスが発生しパフォーマンス劣化につながりかねない。
そこで、本実施形態は、上記のような事態が発生した場合には、以下の手段をとる。
プリンタドライバ3022のDDI関数に渡ってきたデータのサイズが大きく、必要なバンドバッファ領域を物理メモリ空間で確保できないと判断した時(=ドライバの処理速度劣化)時、またはイメージを受け渡すDDI関数(Windows(登録商標)XPにおけるDrvCopyBits等)にA4全面サイズの24BPPイメージの描画指示がわたってくるようなケースでは、バンドバッファを使ってバンド分割するよりも、そのまま印刷命令を印刷装置3100に送出したほうが高速な場合が多い。
そこで、バンドバッファが確保できても、あるサイズ以上のイメージデータが渡されてきた時も以下の処理1)〜3)を行う。
1)既にバンドスプーラ3023にスプールされている印刷命令をバンド1から順に、バンドナンバを付けて印刷装置3100に送出する。
2)バンディングモードで動くのを停止し、プリンタ3100にはページモードで動くことを宣言するコマンド送出する。
3)その後の描画命令は、印刷命令を生成次第スプーラに書き込む。以上のように、バンドモードからページモードに移る。
これにより、ホストコンピュータ3000上で必要な分のバンドバッファが確保できない場合にも正常印字も可能となる。
また、コントローラに十分なメモリがある時には、高解像度、高階調イメージなどはホストで一旦確保するよりも高速な処理が可能である。
スプーラ303は、OSが管理しているスプールファイルシステムであり、設定により1ページ単位、またはジョブ単位で印刷データをスプールし、I/F3032を介して印刷装置3100に送出する。
スプールファイル3031に格納された印刷命令は、I/F3032を介してプリンタに送出される。
基本OSによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。
例えば、スプーラやスプールファイルと呼ばれるものは、別のOSにおいてプリント・キューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。
なお、一般的に、これらの各機能モジュールを含むホストコンピュータ3000は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、各種入出力制御部(I/O)などのハードウエアのもとで、基本ソフトと呼ばれるソフトウエアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、サブ・システム・プロセスが機能モジュールとして動作するようになっている。
(プリンタドライバの処理)
図4は、本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートであり、例えば図2に示したプリンタドライバ3022内の印刷命令生成処理手順に対応する。なお、(701)〜(714)は各ステップを示す。
まず、ステップ(701)で、ドライバ初期化時に、バンドスプーラ用のメモリをメモリ資源内で獲得(alloc)し、初期状態では、ドライバ処理モードは「バンディングモード」にセットする。
次に、ステップ(702)で、OSから受け取った描画データから印刷コマンドを作成したら、ステップ(714)で、印刷コマンドがしきい値を超えたサイズのイメージデータを取得しているかどうかを判断して、印刷コマンドがしきい値を超えたサイズのイメージデータを取得していると判断した場合は、ステップ(707)へ進む。
一方、ステップ(714)で、印刷コマンドがしきい値を超えたサイズのイメージデータを取得していないと判断した場合は、ステップ(703)で、作成した印刷コマンドが用意されているバンドスプールメモリ中に格納できるかチェックして、格納できないと判断した場合は、ステップ(704)へ進み、足りない分バンドスプールメモリの獲得を試み、ステップ(705)で、必要な分のバンドスプーラ用メモリを獲得できたかどうかを判断して、獲得に成功したと判断した場合は、ステップ(706)へ進む。
そして、ステップ(706)で、現バンドスプーラに、獲得したメモリをリンクし、バンドスプーラ領域を拡大して、ステップ(708)へ進む。
一方、ステップ(703)で、現バンドメモリに格納可能であると判断した場合は、ステップ(708)へ進み、印刷コマンドを対応するバンドスプールに格納する。
そして、ステップ(709)で、現ページにデータがまだあるかどうかを判断して、まだデータがあると判断した場合には、ステップ(702)へ戻る。
一方、ステップ(709)で、データがもうないと判断された場合には、ステップ(710)へ進み、バンドスプールメモリ内の印刷コマンドに、バンド位置と全バンドデータが終わったことを伝えるコマンドを付けて1バンド目からスプーラに書き込んで、処理を終了する。
一方、ステップ(705)で、獲得に失敗したと判断した場合は、ステップ(707)で、現バンドスプール内に格納されている印刷コマンドに、バンド位置が解るようにして1バンド目から順にシステムスプーラに書き込み。そして、ステップ(711)で、ドライバ内部処理を「バンディングモード」から「ページモード」に切り替える。
そして、ステップ(712)で、DDIから渡される描画命令から印刷コマンド生成して、システムスプーラに書き込む。次に、ステップ(713)で、1ページ分のデータが終わっているかどうかを判断して、終わっていないと判断した場合は、ステップ(712)へ戻り、終わっていると判断した場合は、処理を終了する。
(バンドスプーラのデータ構造)
図5は、図2に示したバンドスプーラ領域3023のデータ構造とその管理処理動作を説明する模式図であり、以下、バンドスプーラ管理構造体,バンドスプーラ等について説明する。
図5において、図4に示したステップ(701)におけるプリンタドライバ初期化時には、DDIからは、原稿用紙サイズ、UIの設定から解像度、出力用紙サイズから、プリンタで処理する際のバンドサイズ、個数を算出する。その情報から、以下のメモリ領域を確保する。
バンドスプーラ管理構造体をなすBDLBUFINF901は、バンドの個数を示すBandCnt、各バンドの情報を格納する構造体の配列BandInfo、バンドバッファ本体の先頭アドレスを示すlpBandBufTop、 バンドバッファ内の空き領域のアドレスを示すlpBandBufFreeで構成される。なお、上記BandInfoは、BandCnt分だけ確保される。
BDLBNDINFO構造体902、903、904は、バンド領域を示すbandrect、構造体が管理するメモリ空間の先頭アドレスを示すlpTop、現在書き込み可能なメモリ空間を示すlpCurBufで構成されている。
図5に示すように、バンドスプーラは、BDLBNDINFO構造体902、903、904とその領域から構成され、バンドスプーラ管理構造体によりスプール常置ステップが管理されている。
実際にバンド分割した印刷命令を格納するメモリ空間は、初期化時には一般的な印刷データが格納可能なサイズ分だけ獲得し、バンドスプーラ領域(バンドスプーラ)905のように内部を分割して利用する。
先頭には、別のバンドスプーラへのポインタ(nextp)906をセットする。なお、初期化時はNULLがセットされている。
続けて、本バンドスプーラ905のサイズは、サイズ(size)907に設定される。その先のメモリ空間908〜912は、BANDBUFDATA構造体とコマンド格納領域を1セットとしたセルで区切られている。
メモリ空間(領域)908〜912において、BANDBUFDATA構造体は、現セルの格納領域が足りなくなったときにリンクするセルへのポインタlpNextBuf(初期値NULL)、現在格納したデータオフセットnowoffset(初期値0)、格納領域サイズを示すbufsizeで構成されている。
初期状態では、各バンドにBANDBUFDATA領域を1つずつ割り当て、BDLBNDINFO配列のそれぞれのlpTop、lpCurBufにアドレスをセットしておく。
図5に示す例では、バンド1の管理構造体902は、メモリ空間908を、BDLBNDINFO構造体903はメモリ空間909を、BDLBNDINFO構造体904はメモリ空間910に割り当てられていたことを示している。
図5では、その後データを格納していくうちに、2バンド目のバンドスプーラ領域909にデータが入りきらなくなり、領域911、912も2バンド目の領域として使用している状態を示している。
1ページ分の印刷命令が、初期化時に獲得したバンドスプーラ内に収まらないときは、更にバンドスプーラを確保し、バンドスプーラのnextpに先頭アドレスを繋ぎ、BDLBUFINFのlpBandFreeも新たなバンドスプーラを示すように再設定する。
こうして、格納した印刷命令は以下の手順で出力される。
バンドスプーラ管理構造体901の、1バンド目のBandInfo構造体902のbandrectを参照し、バンド位置((leftX、topY)、(rightX、bottomY)、そのバンドに含まれる印刷命令サイズを算出指定バンド情報命令としてシステムスプーラに送出する。
続いて、lpTopが示す領域908に格納されている印刷命令を、BANDBUFDATAのnowoffset分だけシステムスプーラに出力する。同BANDBUFDATAのlpNextBufがNULLの時は次のBandInfo構造体に処理を移す。
2バンド目も同様にBDLBNDINFOのlpTopが示す領域909内部の印刷命令からシステムスプーラに出力するが、領域909のlpNextBufは領域911を、領域911のlpNextBufは領域912を示しているので、この順にシステムスプーラに出力する。
そして、出力し終わったバンドスプーラ領域は、lpNextBuf、nowoffsetを初期状態に戻す。
以下、印刷データの形式について説明する。
図6は、図5に示したバンドスプーラに格納される印刷命令データの構造を説明する図である。
図6において、500は1ジョブ分の印刷命令データを示している。通常のPDL言語と同様に、ジョブ開始命令5001で始まり、ページの開始を宣言するページ開始命令5002が続く。
本例は、初期状態は「バンディングモード」でデータ生成を行い、ページ途中で「ページモード」に切替わったときのデータを示す。
バンドモードで生成された印刷データは、バンド情報命令5003にバンドの位置を示すBandRect5010、印刷コマンドサイズ(BandDataSize)5011が含まれている。
生成されたバンド分の印刷命令5004,5006に続き、ページモードに移行することを指示するページモード移行命令5007が続く。
その後は、ページ単位の描画命令5008が続き、ページの最後はpageEnd5009でそのページのデータは終了する。
図7は、本発明に係る印刷装置におけるデータ処理手順の一例を示すフローチャートであり、図2に示した印刷装置3100のフォーマッタ制御部3102によるデータ処理に対応する。なお、(8001)〜(8015)は各ステップを示す。
まず、ステップ(8001)で、受信した処理モード命令を読み込み、「バンディングモード(バンドモード)」かどうかを判断して、「バンディングモード」であると判断した場合は、ステップ(8002)へ進み、ページモードであると判断した場合は、ステップ(8010)へ進む。
そして、ステップ(8002)で、バンドナンバを読み込み、ステップ(8003)で、既にレンダリングしたバンドイメージがあるかどうかを判断して、あると判断した場合は、ステップ(8004)で、処理済みバンドのイメージデータをレンダリング処理を行うワークバンドメモリ空間に再展開して、ステップ(8005)へ進む。
一方、ステップ(8003)で、既にレンダリングしたバンドイメージがないと判断した場合、すなわち、初めて処理するバンドであると判断した場合は、ステップ(8005)で、描画コマンドを解析し、ワークバンドメモリ上に描画処理を実行する。
そして、ステップ(8006)で、現バンドの描画データを終了しているかどうかを判断して、終了していないと判断した場合は、ステップ(8002)へ戻る。
一方、ステップ(8006)で、終了していると判断した場合は、ステップ(8007)で、ワークバンドメモリ上の描画処理済みビットマップデータは圧縮して保持する。
そして、ステップ(8008)で、現ページデータが終了しているかどうかを判断して、終了していないと判断した場合は、ステップ(8002)へ戻り、終了していると判断した場合は、ステップ(8009)で、上位バンドの圧縮イメージデータから順にビデオ信号に変換してエンジンに送信して、処理を終了する。
一方、ステップ(8001)で、「ページモード」であると判断した場合は、ステップ(8010)で、ページ全面を描画処理可能なサイズのワークページメモリを確保し、ステップ(8011)で、既にバンドモードで生成された圧縮バンドイメージデータがあるかどうかを判断して、圧縮バンドイメージデータがあると判断した場合は、ステップ(8012)へ進み、圧縮されたバンドイメージデータをステップ(8010)で確保したワークページメモリ上に伸張展開して、ステップ(8013)へ進む。
一方、ステップ(8011)で、圧縮バンドイメージデータがないと判断した場合は、ステップ(8013)で、描画コマンドを解析し、ワークページメモリに描画する。
そして、ステップ(8014)で、現ページのデータが終了しているかどうかを判断して、終了していないと判断した場合は、ステップ(8013)へ戻り、同様の処理を繰り返す。
一方、ステップ(8014)で、終了していると判断した場合は、ステップ(8015)で、ワークページメモリ上のイメージデータをビデオ信号に変換してエンジンに送出して、処理を終了する。
なお、本発明は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
以下、図8に示すメモリマップを参照して本発明に係るデータ処理装置,印刷装置を含む印刷システムで読み取り可能なデータ処理プログラムの構成について説明する。
図8は、本発明に係るデータ処理装置,印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図4,図7に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
上記実施形態では、印刷システムとして、ホストコンピュータ3000と面順次で色画像を重ねてカラー画像形成する印刷装置3100とが通信して印刷処理を行う場合について説明したが、エンジンは、これに限定されることなく、インクジェットエンジンや、4連タンデム方式のプリンタ等でも本発明を適用可能である。
本発明に係る印刷システムに適用可能な印刷装置の一例を示す概略断面図である。 本発明の一実施形態を示すデータ処理装置および印刷装置を適用可能な印刷システムの構成を説明するブロック図である。 本発明に係るデータ処理装置におけるバンド描画処理の一例を説明する模式図である。 本発明に係るデータ処理装置におけるデータ処理手順の一例を示すフローチャートである。 図2に示したバンドスプーラ領域のデータ構造とその管理処理動作を説明する模式図である。 図5に示したバンドスプーラに格納される印刷命令データの構造を説明する図である。 本発明に係る印刷装置におけるデータ処理手順の一例を示すフローチャートである。 本発明に係るデータ処理装置,印刷装置を含む印刷システムで読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。 従来の印刷装置とホストコンピュータとを含む印刷システムのデータ処理構成を説明するブロック図である。
符号の説明
301 アプリケーション
302 グラフィックサブシステム
303 スプーラ
310 キーボード
311 マウス
320 ディスプレイモニタ
3021 GDI
3022 プリンタドライバ
3023 バンドスプーラ
3024 積算データ
3031 スプールファイル
3100 印刷装置
3103 受信バッファ
3104 送信バッファ
3105 描画処理実行部
3106 ページメモリ
3107 コマンド解析部
3108 出力制御部
3109 印刷制御処理実行部
3110 プリンタエンジン
3120 オペレーションパネル

Claims (12)

  1. 搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置であって、
    描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成手段と、
    前記生成手段により生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出手段と、
    バンド単位で印刷命令の送出処理中に、前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替える制御手段と、
    を有することを特徴とするデータ処理装置。
  2. 前記送出手段は、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保手段を備え、
    前記確保手段により初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を1ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする請求項1記載のデータ処理装置。
  3. 前記制御手段は、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出手段による命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする請求項1記載のデータ処理装置。
  4. 前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする請求項3記載のデータ処理装置。
  5. 前記制御手段は、各ページ毎に前記生成手段により生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする請求項1記載のデータ処理装置。
  6. 搭載される有限のメモリ資源上に印刷命令を保持するメモリ領域を確保して、印刷装置と通信可能なデータ処理装置における印刷制御方法であって、
    描画情報から前記印刷装置が印刷可能な印刷命令を生成する生成ステップと、
    前記生成ステップにより生成される印刷命令をバンド単位あるいはページ単位で前記印刷装置に送出する送出ステップと、
    バンド単位で印刷命令の送出処理中に、前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替える制御ステップと、
    を有することを特徴とする印刷制御方法。
  7. 前記送出ステップは、バンド単位で印刷命令を送出する場合、初期化時に分割するバンド数分のメモリ領域を前記メモリ資源上に確保する確保ステップを含み、
    前記確保ステップにより初期化時に確保したメモリ領域内で印刷命令を格納出来ない場合、さらにメモリ領域を前記メモリ資源上に確保して、バンド単位で生成される印刷命令を1ページ分保持した後、各バンド毎に順次印刷命令を印刷装置に送出することを特徴とする請求項1記載の印刷制御方法。
  8. 前記制御ステップは、前記メモリ領域への格納状態または、イメージ描画指示状態を判別して、前記送出ステップによる命令送出単位をバンド単位からページ単位に切り替え可能とすることを特徴とする請求項6記載の印刷制御方法。
  9. 前記イメージ描画指示状態は、全面サイズの描画指示を含むことを特徴とする請求項8記載の印刷制御方法。
  10. 前記制御ステップは、各ページ毎に前記生成ステップにより生成される印刷命令の前記メモリ領域への格納状態を判別することを特徴とする請求項6記載の印刷制御方法。
  11. 請求項6〜10のいずれかに記載の印刷制御方法を実現するプログラムを記憶したことを特徴とするコンピュータが読み取り可能な記憶媒体。
  12. 請求項6〜10のいずれかに記載の印刷制御方法を実現することを特徴とするプログラムを。
JP2003409322A 2003-12-08 2003-12-08 データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム Pending JP2005169671A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003409322A JP2005169671A (ja) 2003-12-08 2003-12-08 データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003409322A JP2005169671A (ja) 2003-12-08 2003-12-08 データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Publications (1)

Publication Number Publication Date
JP2005169671A true JP2005169671A (ja) 2005-06-30

Family

ID=34730743

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003409322A Pending JP2005169671A (ja) 2003-12-08 2003-12-08 データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Country Status (1)

Country Link
JP (1) JP2005169671A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100472426C (zh) * 2006-05-25 2009-03-25 佳能株式会社 打印控制设备和打印控制方法
JP2011083918A (ja) * 2009-10-13 2011-04-28 Ricoh Co Ltd 画像形成装置、画像形成装置の制御方法及び制御プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100472426C (zh) * 2006-05-25 2009-03-25 佳能株式会社 打印控制设备和打印控制方法
JP2011083918A (ja) * 2009-10-13 2011-04-28 Ricoh Co Ltd 画像形成装置、画像形成装置の制御方法及び制御プログラム

Similar Documents

Publication Publication Date Title
JP3826038B2 (ja) 印刷システム及びその印刷方法並びに印刷装置
US20050275882A1 (en) Information processing apparatus and its control method
JP2006343955A (ja) 情報処理装置およびその制御方法
JP2005352691A (ja) 情報処理装置およびその制御方法
JP3962606B2 (ja) 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム
US7746494B2 (en) Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system
US20030011819A1 (en) Information processing device, information processing method, printing system, computer program and memory medium
US20050275883A1 (en) Information processing apparatus and its control method
US7023579B2 (en) Information processing apparatus, information processing method, and memory medium storing print control program therein
JP4418642B2 (ja) ホスト装置と印刷装置、及びそれらを有する印刷システムと印刷制御方法とそのプログラム
JP4018426B2 (ja) 画像処理システムおよびその制御方法
JP4095166B2 (ja) 画像処理装置およびその方法
JP2007140952A (ja) 分散処理システム及びその処理方法
JP2005169671A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006159738A (ja) 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
JP2006235813A (ja) 印刷システム
JP3755265B2 (ja) 印刷処理装置
JP4663140B2 (ja) データ処理装置および方法ならびに記憶媒体およびプログラム
JP2001047673A (ja) データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2004326266A (ja) 印刷制御方法、情報処理装置及び印刷装置
JP2005349772A (ja) 印刷装置、及びその制御方法
JP2003122521A (ja) 印刷システム、情報処理装置、それらの描画方法、プログラム及び記憶媒体
JP2005157857A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2005216031A (ja) 印刷制御装置および印刷装置およびデータ処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2006163870A (ja) 画像形成装置