JP4235347B2 - 情報処理装置、情報処理方法、および記憶媒体 - Google Patents

情報処理装置、情報処理方法、および記憶媒体 Download PDF

Info

Publication number
JP4235347B2
JP4235347B2 JP2000170657A JP2000170657A JP4235347B2 JP 4235347 B2 JP4235347 B2 JP 4235347B2 JP 2000170657 A JP2000170657 A JP 2000170657A JP 2000170657 A JP2000170657 A JP 2000170657A JP 4235347 B2 JP4235347 B2 JP 4235347B2
Authority
JP
Japan
Prior art keywords
mode
image
pdl
processing
data
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
JP2000170657A
Other languages
English (en)
Other versions
JP2001071602A (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 JP2000170657A priority Critical patent/JP4235347B2/ja
Priority to US09/605,008 priority patent/US6963412B1/en
Publication of JP2001071602A publication Critical patent/JP2001071602A/ja
Application granted granted Critical
Publication of JP4235347B2 publication Critical patent/JP4235347B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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/1284Local printer device
    • 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
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/125Page layout or assigning input pages onto output media, e.g. imposition

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)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、所定のアプリケーションプログラムからの印刷データを、印刷装置が処理可能なデータ形式に変換処理し、印刷装置に出力する情報処理装置、情報処理方法、及び、記憶媒体に関する。
【0002】
【従来の技術】
従来の印刷システムにおける印刷制御方法および処理の流れについて図2を用いて説明する。
【0003】
一般的には、図2に示すようにセントロニクスインターフェースといったパラレル通信手段やネットワーク通信手段を介してホスト・コンピュータと印刷装置とが接続され印刷システムを構成している。
【0004】
ホスト・コンピュータ側では、ワードプロセッサや表計算のようなアプリケーションソフトウェア201(以下アプリと略称)がWindows(米国Microsoft社の登録商標) のようないわゆる基本ソフトの上で動作している。このアプリにおいて印刷を行う場合は、そのプログラム内から、基本ソフトが提供するいくつかのサブシステムのうちグラフィック・サブ・システム202の機能を用いて行う。このグラフィック・サブ・システムは、例えばWindowsでは、GDI(2021)(Graphic Device Interface)と呼ばれておりディスプレイやプリンタに対する画像情報の処理を司っている。このGDI(2021)は、ディスプレイやプリンタといった各デバイス毎の依存性を吸収するためにデバイスドライバと呼ばれるモジュールを動的にリンクし、それぞれのデバイスに対する出力処理を行う。プリンタに対するこのモジュールはプリンタ・ドライバ2022と呼ばれる。このプリンタ・ドライバ2022では、その能力や機能などに応じてあらかじめデバイスドライバに実装することが決められているDDI(Device Driver Interface)と呼ばれる関数群を用意する必要がある。アプリのAPI(Application Programing Interface)コールをGDI(2021)がデバイスドライバ用にデータ変換を行い、このDDI関数群が適宜GDI(2021)からコールされ所定の印刷処理が実行されるような仕組みになっている。GDI(2021)では、このようにプリンタ・ドライバを介してアプリからの印刷要求をシーケンシャルに処理している。
【0005】
このプリンタドライバの処理系は、PDLモードタイプ(2023)とイメージモードタイプ(2024〜2026)の2種類大別できる。
【0006】
PDLモードタイプとは、印刷装置側にPDL(Printer Description Language)と呼ばれる文字コード、図形コマンド、制御コマンド等からなるコードデータを処理し、イメージデータを生成可能なコントローラを搭載するもの向けで、プリンタドライバはシステムからDDIを介して渡されるデータをPDLのコマンドに変換し次第、GDI(2028)を介してプリンタに送出する。
【0007】
プリンタドライバの処理はDDIで受け取ったデータからコマンドを生成するだけなので、ドライバにとっては軽い処理といえる。PDLモードタイプの特徴として、プリンタのPDLコマンドを解析する能力が高ければGDIから抽象度の高いデータを受け取り、そのまま送出できるので通常のページ印刷においては転送するデータサイズを小さくすることが可能である。
【0008】
一方、イメージモードタイプでは、印刷装置側では高度な描画処理は行わないよう、プリンタドライバ側で確保したメモリ空間上に印刷イメージの展開を行い、それを印刷装置で直接印刷できる形態に変換し、印刷装置に送り印刷するものである。
【0009】
PDLモードタイプ同様に、GDIからDDIインターフェースを介して渡されたデータを使ってイメージモード用プリンタドライバ(2024〜2026)がバンドメモリ2027に描画処理を行い、1バンド分の描画処理が終了すると、GDI(2028)を介して印刷装置にビットマップデータを送出する。
【0010】
どちらの方式を取った場合も、プリンタまたはホストマシンでバンドメモリまたはフルページ分のメモリ空間上に描画処理を行う必要がある。
【0011】
しかし、カラープリンタではRGB各色8ビットで600DPI,A4フルページ分のメモリを確保しようとすると96Mbyte必要であり、現状ではホストマシン、プリンタどちらでも確保することは困難である。そこで、カラープリンタの描画処理はバンドメモリを使う方法が提案されている。
【0012】
また、プリンタエンジンに最終的に渡すデータ形式はRGBといった輝度値ではなく、YMCK値という印刷装置のトナー色を示す濃度値を各色1ビットまたは2ビットであるので、イメージモード、PDLモード共にメモリ削減の為にYMCK各色1ビットor2ビットで処理を行うのが一般的である。イメージモードではこのYMCK各色1ビットor2ビットデータを送ることで転送データサイズを小さく押さえ、印刷装置側の負荷を軽くするものがある。
【0013】
例えば、多角形図形の印字処理については、PDLタイプでは、印刷装置に折れ曲がる点座標と線幅、線の色情報、内塗り色情報等がコマンドとして転送され、プリンタ内部ではそのデータを解析し、内部のYMCK各色1ビットまたは2ビットの1バンド分のメモリ空間を用いて出力形態のイメージデータに展開処理を行う。PDL方式は1ページに無限に印刷データが発生する可能性があり、近年のアプリケーションが出力する印刷データは増加の一途をたどっている。ところが、バンディング処理で印刷を行う場合1ページ分の描画直前の中間データを保持する必要があるため、省メモリプリンタでは処理速度低下の要因になっている。
【0014】
イメージモード方式では、こういった問題を回避するために存在する。
【0015】
印刷装置に比べてメモリ構成に余裕のあるホストマシン上で動くプリンタドライバ側でバンド単位もしくはフルページの描画メモリを持ち、そこに多角形を展開する。1バンド分もしくはフルページ分の描画処理が終了すると、印刷装置に対してイメージデータとして描画メモリの内容が転送され所定の画像を印刷し、出力する。
【0016】
前述したように、PDLモード、イメージモード共に省メモリのために、YMCK各色1,2ビットというデバイス依存の色空間上で描画処理を行っているが、GDIが規定している論理演算描画処理は輝度空間上での処理であるため、描画不正が発生することがある。これを回避するため、YMCK値からrgb値に戻し(逆UCR(Under Color Remove)処理)論理演算処理することで対応しているが、完全な描画処理を保証しないばかりか、処理速度低下の原因になっている。
【0017】
そこで、ユーザは、通常はPDLモードで描画処理を行い、出力に時間が掛かりすぎる場合は、高速イメージモード(YMCK各色1ビットイメージモード)に切り替えて出力しなおす、不正出力結果が出た場合は、RGB24BPPイメージモードで出力しなおす。といった2度、3度手間をユーザにかけることに成っている。
【0018】
つまり、現状はこういった印刷モードの選択がユーザに任されており、全てのモードで印刷してみないと最適なモードが解らない。また、複数ページ印刷においてはタイプの異なるページが含まれていると、1モードでは出力時間が掛かる、または不正出力ページが混じる。といった問題も発生する。
【0019】
以上、各モードの特徴を図4にまとめた。
【0020】
こういった問題を解決するために、各々の方式の得意なデータだけが流れるように自動的に切り替える方式が求められている。
【0021】
【発明が解決しようとする課題】
▲1▼ 抽象度の高い印刷データ形式(PDLモード)では転送データサイズ、プリンタ内部で保持するデータサイズが大きくなることがあり、プリンタ処理速度が落ちることがある。
▲2▼ 抽象度の高い印刷データ形式(PDLモード)では複雑な図形が集中していると、描画速度がプリンタの排紙速度に間に合わないためバンディング処理不可能となり、特殊パスに入ることで処理速度が落ちることがある。
▲3▼ 省メモリのために、YMCK各色1,2bitのメモリ空間で描画処理を行う処理系(通常のPDLモード、高速イメージモード)では、輝度空間を想定した論理演算処理が不正になる場合がある。
▲4▼ 抽象度の低い印刷データ形式(イメージモード系処理)は簡単な文字または図形のみのページでも描画面積に比例したイメージデータがプリンタに転送されるため、エンジンの最大スループットがでない。
▲5▼複数ページ印刷時に、全てのページに最適なモードで印刷することが困難である。
【0022】
前述の課題のうち▲1▼〜▲4▼は各処理系の特徴であり、欠点とは言い難い。本特許は、各処理系の長所で他の処理系の短所を補うことでシステム全体としての改善を目指すものである。
【0023】
つまり、印刷データに応じて最適な変換手段を選択し、高速に印刷を行うことを目的とする。
【0024】
また、N−up印刷を高速に行うことを目的とする。
【0025】
【課題を解決するための手段】
上記目的を達成するため本発明の情報処理装置は、
PDLモードで不正印字発生が予測されるか否かを判別する判別手段と、
前記判別手段によりPDLモードで不正印字発生が予測されないと判別された場合、イメージモードでの処理時間がPDLモードでの処理時間より短いか否か判定する判定手段と、
前記判定手段によりイメージモードでの処理時間がPDLモードでの処理時間より短いと判定された場合、YMCKイメージモードに決定し、前記判定手段によりイメージモードでの処理時間がPDLモードでの処理時間より短くないと判定された場合、PDLモードに決定し、前記判別手段によりPDLモードで不正印字発生が予測されると判別された場合、RGBイメージモードに決定する決定手段と、
前記決定手段によりYMCKモードに決定された場合、RBGイメージをYMCKイメージに変換し、変換されたYMCKイメージで描画処理を行い、描画処理されたYMCKイメージをプリンタに出力し、前記決定手段によりRGBモードに決定された場合、RBGイメージで描画処理を行い、描画処理されたRGBイメージをYMCKイメージに変換し、変換されたYMCKイメージをプリンタに出力し、前記決定手段によりPDLモードに決定された場合、描画データをPDLデータに変換し、変換されたPDLデータをプリンタに出力する出力手段とを有することを特徴とする。
【0027】
【発明の実施の形態】
本実施の形態の構成を説明する前に、本実施の形態を適用する印刷システムの印刷を担うカラーレーザービームプリンタ(以下「カラーLBP」と記述)の構成について図1を参照しながら説明する。
【0028】
図1は、600ドット/インチ(dpi)の解像度を有し、各色成分各画素が8ビットで表現された多値データに基づいて画像記録を行うカラーLBPの構造を示す側断面図である。図1において、100はカラーLBP本体であり、外部に接続されているホスト・コンピュータなどから供給されるプリントデータ(文字コードや画像データ等)及び制御コードから成る印刷データを入力して記憶するとともに、それらの情報に従って対応する文字パターンやイメージ等を作成し記憶媒体である記録紙上に像を形成する装置である。
【0029】
110はホスト・コンピュータから供給される印刷データを解析し印刷イメージの生成処理を行うとともにカラーLBP本体100の制御を行うフォーマッタ制御部である。また、フォーマッタ制御部110は、ユーザによる操作およびユーザに対する状態通知のためのスイッチおよびLED表示器等が配されているオペレーション・パネル部120と接続されており、そのパネル部は印刷装置100の外装の一部として配設されている。フォーマッタ制御部110において生成された最終的な印刷イメージはビデオ信号として出力制御部130に送出され、出力制御部130は印刷装置100の不図示の各種センサからの状態入力とともに光学ユニット140および各種駆動系機構部に対し制御信号を出力し印刷装置100としての印刷処理を制御を司るものである。
【0030】
図1に示す印刷装置において、給紙カセット161から給紙された用紙Pはその先端をグリッパ154fにより狭持されて、転写ドラム154の外周に保持される。光学ユニット140により感光ドラム151上に形成された各色の潜像は、イエロー(Y),マゼンタ(M),シアン(C),ブラック(B)の各色現像器Dy,Dm,Dc,Dbにより現像化されて、転写ドラム外周の用紙に複数回転写されて多色画像が形成される。その後、用紙Pは転写ドラム154より分離されて、定着ユニット155で定着され、排紙部159より排紙トレー部160に排出される。ここで各色の現像器Dy,Dm,Dc,Dbは、その両端に回転支軸を有し、各々がその軸を中心に回転可能となるように現像器選択機構部152に保持される。これによって、各現像器Dy,Dc,Db,Dnは、図1に示すように現像器選択のために現像器選択機構部152が回転軸152aを中心にして回転しても、その姿勢を一定に維持できる構成をとっている。選択された現像器が現像位置に移動後、現像器選択機構部152は現像器と一体で支点153bを中心にして、選択機構保持フレーム153がソレノイド153aにより感光ドラム151方向へ引っ張られ、感光ドラム151方向へ移動し現像処理が行われるように構成されている。次に、帯電器156によって感光ドラム151が所定の極性に均一に帯電される。フォーマッタ制御部110において画像イメージとして展開された印刷情報は、対応するパターンのビデオ信号に変換されレーザドライバに出力され半導体レーザ141を駆動する。入力されたビデオ信号に応じて半導体レーザ141から発射されるレーザ光はオンオフ制御され、さらにスキャナモータ143によって高速回転するポリゴンミラー142で左右方向に振らされ、ポリゴンレンズ134、反射鏡144を介して感光ドラム151上を走査露光する。これにより、感光ドラム151上には画像パターンの静電潜像が形成されることになる。次に、例えば、M(マゼンタ)色の静電潜像がM(マゼンタ)色の現像器Dmにより現像され、感光体ドラム151上にM(マゼンタ)色の第1のトナー像が形成される。一方、所定のタイミングで転写紙Pが給紙され、トナーと反対極性(例えばプラス極性)の転写バイアス電圧が転写ドラム154に印加され、感光体ドラム151上の第1トナー像が転写紙Pに転写されると共に、転写紙Pが転写ドラム154の表面に静電吸着される。その後、感光ドラム151はクリーナー157によって残留するM(マゼンタ)色トナーが除去され、次の色の潜像形成及び現像行程に備える。以下同様の手順によってC(シアン)、Y(イエロ)、Bk(ブラック)の順で第2,3,4色目のトナー像の転写が行われる。但し、各色の転写時には、転写ドラム154には前回よりも高いバイアス電圧が印加される点は異なる。4色のトナー像が重畳転写された転写紙Pの先端部が分離位置に近づくと、分離爪158が接近してその先端が転写ドラム154の表面に接触し、転写紙Pを転写ドラム154から分離させる。分離された転写紙Pは定着ユニット155に搬送され、ここで転写紙上のトナー像が定着されて排紙トレイ160上に排出される。本実施の形態のカラーレーザビームプリンタは、以上のような画像形成過程を経て600ドット/インチ(dpi)の解像度で画像出力を行う。なお、本発明を適用可能なプリンタは、カラーLBPに限られるものではなく、インクジェットプリンタやサーマルプリンタ等、他のプリント方式のカラープリンタでもよい。
【0031】
次に、印刷装置100におけるフォーマッタ制御部110について図2を用いて説明する。このフォーマット制御部は、通常はPDLコントローラなどとも呼ばれている部分であり、ホスト・コンピュータとの接続手段であるところのインタフェース(I/F)部111と、受信データ等を一時的に保持管理するための受信バッファ1121、送信データ等を一時的に保持管理するための送信バッファ1122、印刷データの解析を司るコマンド解析部113、印刷制御処理実行部114、描画処理実行部115、ページメモリ116等より構成されている。
【0032】
インタフェース(I/F)部111は、ホスト・コンピュータ200との印刷データの送受信を行う通信手段あり、通信プロトコルとして IEEE-1284 に準拠した通信を可能とするものである。但し本発明では、この通信手段に限定するものでなく、ネットワークを介してさまざまなプロトコルによる接続であってもよいし、IEEE-1394に準じた通信手段であってもよい。このインタフェース部111を通して受信した印刷データは、そのデータを一時的に保持する記憶手段である受信バッファ1121に逐次蓄積され、必要に応じてコマンド解析部113または描画処理実行部115によって読み出され処理される。コマンド解析部113は、各PDLコマンド体系や印刷ジョブ制御言語に準じた制御プログラムにより構成されており、文字印字、図形、イメージなどの描画に関する印刷データの解析結果は、描画処理実行部115に指示を与えて処理し、給紙選択やリセット命令などの描画以外のコマンドは、印刷制御処理実行部114に指示を出し処理する。
【0033】
描画処理実行部115では、文字やイメージの各描画オブジェクトをページメモリ116に逐次展開して行くレンダラである。図1で前述したカラーLBPに対しては、MCYKの面順次でデバイス依存ビットマップデータを送出する必要があるが、標準状態では、そのために必要なメモリをすべて確保するわけではなく、1プレーン(1,2 or 4bit/pixel)の数分の1のバンド領域としてメモリが確保され、そのバンド領域を使いまわして画像をエンジン速度に同期して処理するするように構成されている。通常はこのようにYMCKレンダラによる展開処理とプリンタエンジンへのビデオ信号のシッピングの追いかけっこ、つまりバンディング制御によってページメモリ116は管理されているが、十分なメモリがある場合は1ページ分が展開可能な領域を確保しても良い。なお、一般的に、フォーマッタ制御部110は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)などを用いたコンピュータ・システムによって構成されている。また、各部の処理は、マルチタスクモニタ(リアルタイムOS)のもとでタイムシェアリングに処理される構成てあっても良いし、各機能ごとに専用のコントローラ・ハードウェアを用意して独立して処理される構成であってもかまわない。
【0034】
オペレーション・パネル120は、前述した通り印刷装置の各種状態を設定・表示するためのものである。出力制御部130は、ページメモリ116の内容をビデオ信号に変換処理し、プリンタ・エンジン部150へ画像転送を行う。プリンタ・エンジン部150は受け取ったビデオ信号を記録紙に永久可視画像形成するための印刷機構部であり、図1において前述したものである。以上、印刷装置100について説明したが、次にホスト・コンピュータ200を含む本実施例の印刷システムの全体構成について説明を加える。図2において200はホスト・コンピュータであり、プリントデータ及び制御コードから成る印刷情報を印刷装置100に出力するものである。ホスト・コンピュータ300は、入力デバイスであるところのキーボード310やポインティングデバイスであるところのマウス311と、表示デバイスであるディスプレイ・モニタ320を合わせた一つのコンピュータ・システムとして構成されている。ホスト・コンピュータ300は、Windows NTなどの基本OSによって動作しているものとする。
【0035】
ホスト・コンピュータ側について、本発明に関する機能的な部分にのみ注目し、基本OS上での機能を大きく分類すると、アプリケーションソフトウェア301、グラフィック・サブ・システム302、印刷情報格納手段および印刷装置との通信手段を含むスプール・サブ・システム303に大別される。
【0036】
アプリケーションソフトウェア301は、例えば、ワープロや表計算などの基本ソフトウェア上で動作する応用ソフトウェアを指すものである。グラフィック・サブ・システム302は、基本OSの機能の一部であるGraphic Device Interface(以後、GDIと記す)3021とそのGDIから動的にリンクされるデバイスドライバであるところのプリンタ・ドライバ3022によって構成されている。
【0037】
プリンタドライバ3022は、GDIからDDI(Device Driver Interface)というインターフェースを介してコールされ、デバイスに応じた処理を描画オブジェクト毎に行うものである。本システムでは、DDI関数に渡された情報をページ単位でPDF3031(ページデータファイル)としてスプールするわけだが、その際に、プリンタドライバ3022から描画情報をチェックするモジュールであるPreCheckモジュール3023をコールすることで、そのページに含まれるデータ解析を行う。1ページ分のデータ解析することによって、そのページに含まれる描画命令を種類別にコール回数、データサイズの集計結果が生成される。またページ内の描画領域を最外接矩形として求まる。以上の結果はGDIを通じて対応するPDF3031と関連付けられた名前をつけられてPCF3032(実体はRAMまたはハードディスク上)(プレチェックファイル)としてセーブする。
【0038】
スプール・サブ・システム303は、グラフィック・サブ・システム302の後段に位置するプリンタ・デバイスに特有のサブ・システムでありデスプーラと呼ばれている。
【0039】
一旦、刷情報をスプールすることによって、デスプール時に出力デバイスを変更したり、複数ページを扱ったページレイアウトを変更が可能になる。
【0040】
さらに、本実施例においては、出力デバイスの描画命令ごとの処理速度や不正印字が発生するコマンド等が記載されたデバイス情報3041、ホストマシンの環境情報(空きディスク容量、通信速度)、スプール時に生成したページ単位のチェック結果であるPCF3032を読み込み、出力に適したトランスレータ(3035〜3037)を、ページ単位、バンド単位、またはマトリクス単位に決定するものである。
【0041】
印字するのに適したトランスレータ選択とは、モードの自動切換えポリシーによって変化する.例えば、高速印字優先ならば、高速に処理が出来そうなトランスレータを選択、画質優先ならば、不正印字が発生しないことを前提として可能な限り高速な処理系を選択することを示す。
【0042】
選択されたトランスレータ3035〜3037は、イメージモード系処理(3034〜3037)であれば、バンドメモリ3038を用いてイメージ展開を行いデバイス依存ビットマップ形式のPDLコマンドを生成する。PDLモード系処理(3034)であればスプールファイルからPDLコマンドへの変換処理を行う。生成したPDLコマンドはGDI(3039)、I/F3040)を介してプリンタにデータを送出すされる。
【0043】
基本OSによって、上述したこれらの名称や機能的な枠組みは若干異なる場合があるが、本発明で言う各技術的手段が実現できるモジュールであれば、それらの名称や枠組みは本発明にとってあまり大きな問題ではない。例えば、スプーラやスプールファイルと呼ばれるものは、別のOSにおいてプリント・キューと呼ばれるモジュールに処理を組み込むことによっても実現可能である。なお一般的に、これらの各機能モジュールを含むホスト・コンピュータ300は、中央演算処理装置(CPU)、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、各種入出力制御部(I/O)などのハードウェアのもとで、基本ソフトと呼ばれるソフトウェアがその制御を司り、その基本ソフトの元で、それぞれの応用ソフト、サブ・システム・プロセスが機能モジュールとして動作するようになっている。
【0044】
図11の模式図を使って、本実施例の理想的な実施形態を説明する。
【0045】
(ホスト側プリンタドライバのさらに詳しい説明)
本発明を実現するためには、ホストマシンで動くプリンタドライバで最低限以下の機能が必要である。
1) 描画データスプール処理
2) チェック&ドライバ切替処理
3) 各種ドライバ
【0046】
以下にそれぞれについての説明を行う。
【0047】
1) 描画データスプール処理
WindowsNT4.0を例にとり、図9を用いて説明を行う。
【0048】
WindowsNT4.0においては、GDIからコールされる描画用DDI関数として、以下のものが挙げられる。
DrvCopyBits(),DrvBitBlt(),DrvStretchBlt(),DrvStrokePath(),DrvFillPath()
DrvStrokeAndFillPath(),DrvPaint(),DrvTextOut()
これらの関数には引数を介して、GDIから描画オブジェクトが渡される。
【0049】
例えば、イメージの描画処理関数であるDrvCopyBits()の引数は
Figure 0004235347
となっている。
【0050】
PDLモードでは、まず、pcoからクリップデータを獲得し、クリッピング指定データを発行し、その後、psoSrcと、pptlSrcが示す先のソースイメージデータを、psoDestと、prclDestが示す先に描画するようにイメージ描画データを生成して発行することになる。イメージモードでは、psoDestと、prclDestが示す先にpsoSrcとpptlSrcが示すイメージをpcoが示す領域に限りコピー処理を行えば良い。
【0051】
本発明を実現するためには、1ページ分の描画データを知った上で、最適な処理モードを決定し、そのモードで処理を実行する必要がある。そのためには、DDI関数に渡されたデータを一旦スプールし、その際に最適なモードを決定。決定した後に、スプールしたデータを決定したモードで実行することで実現可能である。
【0052】
そのためには、DDI関数に渡されるデータの中でデスプール時にどのモードに決定しても処理可能となるデータをスプールする必要がある。
【0053】
まず、スプールデータはページ単位で保持する必要がある。そこで、図9のPDF900は、ページを特定するためのpageID(901)に続いて、ページのサイズや、データサイズ、格納したオブジェクト数等を保持するページ情報(902)をヘッダとして持つ。
【0054】
その後ろに続いて、DDI関数でコールされた描画関数を示す番号903が入る。ここではDrvCopyBitsを例に説明を行う。
【0055】
datasize(904)はDrvCopyBitsのスプールにかかったサイズ、
soDset(905)はDrvCopyBits()関数に渡される描画先のサーフェースデータを示すpsoDestで獲得可能なデータを格納。
【0056】
SoSrc(906)はDrvCopyBits()関数に渡されるソースサーフェースデータを示すpsoDestで獲得可能なデータを格納。
【0057】
ソースイメージデータ(907)はpsoSrcから獲得可能なソースイメージデータの実態である。
【0058】
co(908)はDrvCopyBits()関数に渡される描画先のクリップデータを示すpcoから獲得可能なデータを格納。また、クリップデータが存在する場合は、その後ろにクリップデータ(909)を格納する。
【0059】
xlo(901)はDrvCopyBits()関数に渡される色変換データを示すpxolで獲得可能なデータを格納。
【0060】
rclDest(911)はDrvCopyBits()関数に渡される描画先のサーフェース上の矩形を示すprclDestから獲得可能なデータを格納。
【0061】
ptlSrc(913)はDrvCopyBits()関数に渡されるソースサーフェース上のどの位置から描画を行うかを示すpptlSrcから獲得可能なデータを格納。
【0062】
以降、描画関数毎にそれぞれに必要なデータのスプールが1ページ分続く。
【0063】
デスプール時には、デスプーラが選択されたドライバのDDI関数にスプールした情報に戻して渡すことで、DDI関数仕様のままでこれまでのプリンタドライバが動作可能である。
【0064】
2)のチェック&ドライバ切替処理
チェック&ドライバ切替手段は、プリンタドライバに渡される描画データをスプールする際に以下の点をチェックすることでスプールデータのデータを解析するものである。そこで、本実施の形態においては、(1)の描画データをスプールする際にモード切替にかかわるデータを獲得し、図10のPCF(プレチェックファイル)のようなデータ構造体にセットすることで実現するものである。
【0065】
▲1▼カラーデータチェック
チェック&ドライバ切替処理は、カラープリンタであっても、モノクロモードをデフォルト状態とし、描画データの中にカラーデータがひとつでもある時には、カラーモードとして動作するようにする。PCF1000においては、1003には設定カラーモードを登録するが、desiColMode1004、各バンド情報のcolflg(10098)には初期化時にモノクロモードであることを示す値をセットする。描画データをスプールする際に、有彩色を指定するオブジェクトがあった場合は、desiColMode(1004)と、対応するバンドのcolflg(10098)をカラーモードにセットしなおす。
【0066】
ページ全体のチェック終了後、ページのdesiColMode(1004)がモノクロモードであったら、そのページはモノクロモードとして動かすことでドラムの回転数を1回に押さえる。ページのdesiColMode(1004)はカラーモードでも、colflg(10098)がモノクロモードで、かつDeviceイメージモードでの出力に決定されていた場合は、そのバンドは、K1(2,4)BPPイメージモードでの描画処理を行うことで、同じバンドメモリサイズで大きなバンド領域の描画処理が可能となる。
【0067】
カラーLBPプリンタは、カラーモードで印刷時は感光ドラム154が4回、回ることでYMCKの色を乗せているが、モノクロモード時には、ブラックトナーのみを乗せるために1回、回るだけでり、モノクロデータしかないページであればカラーモード時でもモノクロモードで動くことで高速化に繋がる。
【0068】
▲2▼データサイズチェック
プリンタがPDLモードで動くときに、「内部メモリに1ページ分の描画オブジェクトが入りきらない」時にはバンディング処理不可能となるため、処理速度が極端に落ちる。
【0069】
そこで、本実施の形態は、PDLモード時のプリンタ内部のデータサイズを予測することで、回避するものである。
【0070】
そこで、PDLモードで送ったときのプリンタ内部でのデータタイプとデータサイズをスプールデータから予測し、ページ毎にPDLDataSize(1006)に積算していく。また、本実施の形態では、モード切替をバンド単位で行うために、チェック用に設定した小さめのバンド高さでページを区切りそれぞれのデータを格納するデータ構造体をPCF内にバンド数分持っている。1009
【0071】
ページ毎のPDLDataSize(1006)を関連するバンド領域で割って、それぞれのバンドのPDLDataSize(10096)にセットする。
【0072】
一方、イメージモードで送った場合のデータサイズを求めるために、その描画データの描画領域の最大矩形サイズを、各バンド情報のBandRendRectLに更新する。各バンドで全バンド領域BandRectL(10094)をイメージデータで送った場合よりも、PDLDataSize(10096)が大きく成った場合は、そのバンドはDeviceイメージモード(YMCK、各色1,2,4ビット)で処理するように決定し、desiMode(10092)にその旨記録する。
【0073】
▲3▼描画速度チェック
PDLモードでバンディング処理によって省メモリを実現しているプリンタは、描画オブジェクトが同一バンド内に沢山あると、描画時間がシップ時間に間に合わなくなり、バンディング処理による描画が不可能となる。通常プリンタではこういった場合、1ページ分のメモリサイズを獲得する特殊パスに入ることで出力しているが、プリンタ内部のメモリに余裕がないと、バンドメモリ上に描かれたイメージデータの圧縮、伸張処理が頻発し処理速度低下につながる。
【0074】
そこで、本実施の形態では、単位面積当りの描画処理時間の予測を行い、シップ時間に間に合わない領域はDeviceイメージモード(YMCK、各色1,2,4ビット)に展開して送ることに決定する。またはページ全体をDeviceイメージモードで送るといった方法でプリンタの処理を軽くすることが可能である。
【0075】
本実施の形態では、▲2▼と同様にPDLモードで送ったときのプリンタ内部でのデータタイプと描画処理予測時間を予測し、描画領域に対応するバンド毎にrendTime(10093)に積算していく。
【0076】
この値が、シップ時間よりも大きくなったバンドはdesiModeをDeviceイメージモード(YMCK、各色1,2,4ビット)にセットする。
【0077】
▲4▼論理演算値チェック
プリンタでの描画処理は、ディスプレーの出力結果と同じになることを目的としているものである。そのため、ディスプレーで用いられているRGB空間(輝度色空間)での論理演算処理や、αチャンネルを使った演算処理をプリンタドライバにそのまま指定してくるものが多々ある。ところが、プリンタはトナーやインクを使って印刷するために、濃度色空間値であるYMCK各色1または2ビットでバンドメモリまたはページメモリを確保し描画プレーンとして用いている。そのため、印刷結果が期待する論理演算結果にならないことがある。これを回避するためには、RGB各色8ビット以上のメモリ空間を使ったメモリ上で描画処理を行うRGB24BPPイメージモードまたは、プリンタ内部にRGBレンダリングパスを作る必要がある。
【0078】
本実施の形態では、こうしたケースではRGB24BPPイメージモードで処理するよう切りかえることで不正描画を回避するものである。
【0079】
WindowsNT4.0においては、DrvBitBlt()の第10引数にrop4というパラメータがあり、この値でソースデータ、デスティネーションデータ、マスクデータ、ブラシデータの論理演算処理を指定してくる。チェックシステムで、この値をチェックし、濃度値で演算すると不正描画が発生する番号が来た時は、そのオブジェクトを描画するバンド領域のdesiMode(10092)、またはページのdesiMode(1005)をRGB24BPPイメージモードで処理することに決定する。
【0080】
以上のチェックを描画オブジェクト毎に行うことによって、最適なモードを選択することが可能となる。モード切替の単位は最大ジョブ単位、最小オブジェクト単位が可能ではあるが、モードを切り替えることによる速度的効果を期待するならば、最低限ページ単位の切り替え処理が必要である。
【0081】
次に、バンド単位のモード決定方法をフローチャートを用いて説明する。
【0082】
ここでいうバンド単位とは、プリンタまはたドライバで描画処理に用いるバンドを示すものではなく、モード切替のチェック専用のバンドを示すものである。
【0083】
バンド高さサイズは、プリンタドライバで行う描画処理の中で最も小さなバンド高さ以下であることが望ましい。
【0084】
また、本実施の形態においては、プリンタ100は、プリンタドライバから1ページ内に複数種類のモード(イメージモード、PDLモード)の印刷データが送られた場合に処理可能でなくては成らない。
【0085】
図5は描画データがプリンタドライバに渡されたときに行う処理の流れを示していおり、描画データがコールされるたびに本処理が実行される。なお、図5のフローチャートに係わるプログラムはホストコンピュータ300のメモリに記憶され、CPUによって実行される。
S501:本オブジェクトにはカラーデータが入っているかチェック、カラーデータがある場合は、関係するバンドのカラーオブジェクトフラグをTRUEにセット。
S502:本オブジェクトを描画する範囲がかかる全バンドはRGB24BPPイメージモードに決定しているか。そうならS509へ、それ以外のモードがあればS503へ、
S503:本オブジェクトの描画論理はデバイス色空間上で可能か。可能であればS504へ、不可能ならS508へ、
S508:関係するバンド領域をRGB24BPPイメージモードで処理することに決定。S509へ、
S504:描画範囲がDeviceイメージモード(YMCK各色1,2,4ビットイメージモード)。YESならS509へ、それ以外(PDLモード)ならS505へ、
S505:本オブジェクトをPDLモードで転送した場合のプリンタ内部で生成されるデータサイズを計算し、PDLモードで転送した場合のトータルデータサイズに加算。S506へ、
S506:本オブジェクトをPDLモードで転送した場合に関係するバンドの描画時間を算出し、それまでのオブジェクトとの積算描画時間が排紙時間に間に合わない場合は、S507へ、間に合う場合は、S509へ、
S507:間に合わないバンド領域をDeviceイメージモードに決定する。S507では、ユーザの設定に基づきYMCK1ビットモード、2ビットモード、及び、4ビットモードのいずれかにセットし、S509へ、
S509:イメージモードで送った場合、関係するバンドの描画領域を更新する。
【0086】
次に、1ページ分の全オブジェクトのスプール処理と、チェック処理が終了したあと処理の説明を、図6のフローチャートを使って行う。なお、図6のフローチャートに係るプログラムはホストコンピュータ300のメモリに記憶され、CPUによって実行される。
S601:図7の700におけるチェック用バンドのカラーオブジェクトフラグが立っているかチェック。立っている場合はS602へ、立ってない場合は603へ、
S602:本ページをカラーモードにセット。S603へ
S603:本バンドはPDLモードか。YESならS604へ、それ以外ならS607へ、
S604:イメージモードで送った場合と、PDLモードで送った場合のプリンタ内部のデータサイズを比較。PDLモードで送ったほうが大きくなる場合はS606へ、イメージモードの方が大きいときはS607へ、
S606:本バンドをDeviceイメージモードにセットする。S606では、ユーザの設定に基づきYMCK1ビットモード、2ビットモード、及び、4ビットモードのいずれかにセットし、S607へ、
S607:本ページの全バンド終了。YESならS608へ、NOならS601へ、
S608:本ページの全バンドの決定したモードをページIDと結びつけてプレチェックファイル(PCF)としてスプール
【0087】
3)最後に、決定したモードに従って各種ドライバで行う描画処理について図7を用いて説明する。
【0088】
(2)で700のページをチェックすると、710のように判断されたとする。700、710のバンド区切りは、チェック用の仮想バンドである。
【0089】
701は高解像度のイメージデータであり、RGB各色8ビット値のままPDLコマンドに変換すると、それだけで数10メガバイトになってしまう。そこで、第二第三バンドはYMCK4BPP(各色1ビット)イメージモードで描画することに決定している。
【0090】
702は、YMCK描画処理では描画不正が発生する描画データであるため、対応するバンドはRGB24BPPイメージモードに決定している。それ以外のバンドはPDLモードで問題ないと判断されていることを710は示している。
【0091】
デスプーラ3033は、こうして渡された仮想バンドデータを元に、デスプールするためのバンド情報の作成を行う。
【0092】
イメージモードで処理するためのバンドメモリを確保し、確保できたバンドメモリサイズから各イメージモードで使用するバンド高さを算出し、バンド高さを設定しなおす。7201、7203
(同じメモリサイズでもRGB24BPPイメージモードとYMCK4BPPイメージモードではバンド高さが異なる)
【0093】
PDLモードはプリンタ内部でバンディング処理を行うため、プリンタドライバでは連続したPDL領域をつなぐ。7202
【0094】
こうして再構成したバンドの状態を720に示す。
【0095】
デスプーラ3033は、この情報に従ってバンドリストを作成し、各バンド毎に対応したドライバをコールすることで描画処理、またはPDLデータへの変換処理を行う。
【0096】
以上の処理を図8のフローチャートを使ってさらに詳しく説明する。
【0097】
なお、図8のフローチャートに係るプログラムはホストコンピュータ300に記憶され、CPUによって実行される。
【0098】
以下の処理は1ページ分の描画データがスプールされた後、そのページをデスプールする際の処理を示すものである。
vH = 仮想バンドの高さ(図7の710で示すバンド高さ)
maxH = 獲得できたバンド用メモリを各レンダラで使う場合に取れる最大高さ(図7の7201の上部分、7203で示すバンド高さ)
nowBH = 現在計算中の処理バンド高さ
S801:出力を行うページに対応するPCF(スプール時にチェックした結果を格納したファイル)をオープンする。S802へ、
S802:現ページの描画処理に必要とする描画モードを検出。現在計算中のバンド高さを格納するNowBHの初期化処理も行う。S803へ,
S803:PDLモードだけの場合は、S815へ、イメージモードがあった場合は、S804へ、
S804:イメージモードとして使用可能なバンドメモリを獲得、獲得したバンドメモリサイズと、ページ横幅サイズ、各モードのbit/pixel値から描画処理用バンド高さの最大値maxHを求める。S805へ、
S805:次仮想バンド情報獲得、S806へ、
S806:一つ前の仮想バンドと同じ処理モードか。同じならS808へ、違うならS807へ、
S807:nowBHに0以外の値が入っていたら、nowBH高さのバンドを描画位置、描画モードと共に登録,nowBH=0に初期化、nowBHに0が入っていたらスルーする。S808へ、
S808:maxH よりも仮想バンド高さvHとnowBHを合わせた値が大きい場合はS809へ、小さい場合はS810へ
S809:仮想バンド空間を(vH+nowBH)/maxH個(小数部分を切り捨てた整数個、例えば、256/100=2.56の2の部分)のmaxH高さのバンドに分割して描画モードと共に登録、nowBH = (vH + nowBH)%maxH (割り算のあまり部分、例えば、256/100=2あまり56の56の部分)をセット、S811へ、
S810:nowBH = vH ,S805へ、
S811:全仮想バンドの読みこみ終了したらS812へ、まだならS805へ、
S812:nowBHに0以外の値が入っていたら、nowBH高さのバンドを描画位置、描画モードと共に登録、nowBH=0に初期化、nowBHに0が入っていたらスルーする。S813へ、
S813:S807,S809で登録したバンドデータを元に、バンドリストを作成し、スプールされている描画データを、バンドバンドリストに繋ぐ。S814へ、
S814:バンドリストに登録された上位バンドから、描画処理、またはPDLデータへの変換処理を行い、生成されたデータをプリンタに送出する。
S815:スプールされている描画データを読みこみ、登録されている順にPDLコマンドに変換し、プリンタに送出する。
【0099】
なおS814では、S507でYMCKモードがセットされ、ユーザによりYMCK各色1BPPイメージモードが指定されていた場合、YMCKレンダラ3036でRGB24BPPイメージからYMCK1BPPイメージに変換し、YMCK1BPPイメージで演算、描画処理を行い、プリンタに出力する。
【0100】
また、S507でYMCKモードがセットされ、ユーザによりYMCK各色2BPPイメージモードがセットされていた場合、YMCKレンダラ3036で、RGB24BPPイメージからYMCK2BPPイメージに変換し、変換したYMCK2BPPイメージで演算、描画処理を行い、YMCK2BPPイメージをプリンタに出力する。また、S507でYMCKモードがセットされ、ユーザによりYMCK4BPPイメージモードがセットされていた場合、YMCKレンダラ3036で、RGB24BPPイメージからYMCK4BPPイメージに変換し、変換したYMCK4BPPイメージで演算、描画処理を行い、YMCK4BPPイメージをプリンタに出力する。また、S508でRGBモードがセットされた場合、RGBレンダラ3037で、RGB24BPPイメージモードで演算、描画処理を行い、ユーザにより指定されたYMCK各色1、2、4BPPイメージに変換しプリンタに出力する。
S813:スプールされている描画データをそのままロードし、順番にPDLデータに変換し、プリンタに送出する。
【0101】
(プリンタ側のさらに詳しい説明)
本発明を実現するためには、プリンタは以下の機能が必要である。
▲1▼ バンド単位、ページ単位の処理モード切替機能
PDLプリンタには、デフォルトパスであるPDLモードと別にイメージモードというデバイスに依存したイメージデータを受け取り、そのまま出力するモードを持っているものがある。しかし、イメージモードは大量のイメージデータを高速に処理するために特別なメモリ構成で処理するために、同一ジョブではPDLモードとイメージモードを切り換えることは困難である。
【0102】
本発明を実現するためには、ページ単位、さらにはバンド単位でPDLモードとイメージモードを切り替える必要がある。
【0103】
そこで、本実施の形態では、PDLモードのイメージ描画データのデータタイプにデバイス依存イメージデータを受け付ける口を作ることで、この問題を解決している。
【0104】
また、バンド単位で、描画処理を行うモードを切りかえるためには、バンド間に跨って描画されるオブジェクトがある場合に不連続線が出ないよう、描画アルゴリズムも揃えねば成らないことは言うまでもない。
【0105】
(第二の実施の形態)
次に図16を用いて第二の発明の実施の形態を説明する。
【0106】
バンド単位でイメージモード、PDLモードを切り替えるとつなぎ目に起きる場合が考えられるため、論理ページ単位で切り替える例を説明する。
【0107】
1601は一般的なドキュメント作成アプリケーションを使って作成した4ページのドキュメントを示している。1ページ目から3ページ目までは文字だけデータであり、プリンタにとっては高速な印字が可能なページである。ところが4ページ目に貼り付けられているイメージデータ1602は、高解像度のカラーイメージである。4ページを1ページに合わせた(4−up)をPDLモードで処理すると、高解像度イメージがそのままPDLコマンドとしてプリンタに送出され、プリンタの処理速度が大幅に低下する。
【0108】
これを回避するために本発明を使って処理系を自動的に切り替えるわけだが、N−up印刷時には、以下の二つの切り替え方法が考えられる。
【0109】
1)物理ページ単位で切り替える
高解像度イメージが含まれる物理ページ全体をイメージモードで処理するためには、ページ全体をいくつかのバンド領域に分割し1603、バンド単位で描画処理を実行し、生成したデバイスビットマップデータは、ページ全体のサイズとなる。(600DPI,出力階調数2,YMCK印刷,A4サイズの場合、非圧縮時のデータサイズは32Mbyteとなる。そのため、プリンタに搭載されているメモリサイズによっては、指定階調数で出力できない可能性が高い。)
2) 論理ページ単位で切り替える
1,2,3、ページはPDLモード系トランスレータで文字コードを利用した文字描画命令のみが生成される。4ページ目は、イメージモード系トランスレータが選択される。イメージモード系トランスレータは、縮小処理を行った時の領域のバンドメモリを用意し1605、そこに縮小したイメージを描画するため、バンド分割をする回数も、生成されるデバイスビットマップデータも(1)の1/4となる。その分搭載メモリサイズが少ない場合でもイメージモード系処理で高階調出力の可能性が高い。
【0110】
本発明は、(2)の方法をとるものである。以下に実現方式について詳しく説明する。
【0111】
(ホスト側プリンタドライバのさらに詳しい説明)
本発明を実現するためには、ホストマシンで動くプリンタドライバで最低限以下の機能が必要である。
【0112】
1)描画データスプール処理
2)スプール時の描画命令毎にチェック処理、描画領域保持処理
3)デスプール前に、デバイス情報、出力環境情報、レイアウト情報、チェック結果を読み込む処理
4)チェック結果から再生手段と出力階調数を論理ページ単位で選択する処理
5)選択した再生手段で論理ページ毎に選んだ処理系でデスプール処理を行い、物理ページ単位でページ排出を行う処理
【0113】
以下にそれぞれについての説明を行う。
【0114】
1)描画データスプール処理
WindowsNT4.0を例にとり、図9を用いて説明を行う。
【0115】
WindowsNT4.0においては、GDIからコールされる描画用DDI関数として、以下のものが挙げられる。
【0116】
DrvCopyBits(),DrvBitBlt(),DrvStretchBlt(),DrvStrokePath(),DrvFillPath()
DrvStrokeAndFillPath(),DrvPaint(),DrvTextOut()
【0117】
これらの関数には引数を介して、GDIから描画オブジェクトが渡される。
【0118】
例えば、イメージの描画処理関数であるDrvCopyBits()の引数は
Figure 0004235347
となっている。
【0119】
PDLモードでは、まず、pcoからクリップ情報を獲得し、クリッピング指定命令を発行し、その後、psoSrcと、pptlSrcが示す先のソースイメージデータを、psoDestと、prcIDestが示す先に描画するようにイメージ描画命令を生成して発行することになる。イメージモードでは、psoDestと、prcIDestが示す先にpsoSrcとpptlSrcが示すイメージをpcoが示す領域に限りコピー処理を行えば良い。
【0120】
本発明を実現するためには、1ページ分の描画情報を知った上で、最適な処理モードを決定し、その後デスプール処理を実行する必要がある。そのためには、DDI関数に渡されるデータの中でデスプール時にどのモードでも再生処理可能なデータ形式でスプールしなくてはならない。
【0121】
まず、スプールデータはページ単位で保持する必要がある。そこで、図9のPDF900は、ページを特定するためのpageID(901)に続いて、ページのサイズや、データサイズ、格納したオブジェクト数等を保持するページ情報(902)をヘッダとして持つ。
【0122】
その後ろに続いて、DDI関数でコールされた描画関数を示す番号903が入る。ここではDrvCopyBitsを例に説明を行う。
【0123】
datasize(904)はDrvCopyBitsのスプールにかかったサイズ、soDset(905)はDrvCopyBits()関数に渡される描画先のサーフェース情報を示すpsoDestで獲得可能な情報を格納。
【0124】
SoSrc(906)はDrvCopyBits()関数に渡されるソースサーフェース情報を示すpsoDestで獲得可能な情報を格納。
【0125】
ソースイメージデータ(907)はpsoSrcから獲得可能なソースイメージデータの実態である。
【0126】
co(908)はDrvCopyBits()関数に渡される描画先のクリップ情報を示すpcoから獲得可能な情報を格納。また、クリップデータが存在する場合は、その後ろにクリップデータ(909)を格納する。
【0127】
xlo(901)はDrvCopyBits()関数に渡される色変換情報を示すpxolで獲得可能な情報を格納。
【0128】
rclDest(911)はDrvCopyBits()関数に渡される描画先のサーフェース上の矩形を示すprclDestから獲得可能な情報を格納。
【0129】
ptlSrc(913)はDrvCopyBits()関数に渡されるソースサーフェース上のどの位置から描画を行うかを示すpptlSrcから獲得可能な情報を格納。
【0130】
以降、描画関数毎にそれぞれに必要なデータのスプールが1ページ分続く。
【0131】
デスプール時には、デスプーラが選択されたドライバのDDI関数にスプールした情報に戻して渡すことで、DDI関数仕様のままでこれまでのプリンタドライバが動作可能である。
【0132】
2)スプール時の描画命令毎にチェック処理、描画領域保持処理
スプール時の描画命令毎のチェック手段、描画領域保持手段は、プリンタドライバに渡される描画データをスプールする際に処理速度に関係する以下の点をチェックすることでスプールデータの情報を解析するものである。そこで、本実施例においては、(1)の描画命令をスプールする際にモード切替にかかわる情報を獲得し、ページ単位で図15のPCF(プレチェックファイル)1000のようなデータ構造体に格納、スプールすることで実現するものである。
【0133】
PCF1000のデータ構造は、そのファイルが属するジョブナンバー1001、ページナンバー1002で始まる構造体で、この二つの値により、対応するページを特定可能である。
【0134】
その他は、ページをY軸方向に分割したバンドを単位としたbandinf構造体1030で構成されている。
【0135】
仮想領域は、VbandSize1004に示されたサイズのバンドが、pageSize1003の中に、bandCnt1005分敷きつめられたバンド領域を仮想的に定義したものである。
【0136】
Bandlnfoは、その仮想バンドの領域を矩形情報で保持するBandRectL1010で始まる構造体であるが、この構造体には、BandRectL1010の領域内に関連する描画処理情報を記録するための物である。
【0137】
詳細は以下のとおりである。
【0138】
バンド内に描かれる描画処理の最大概説矩形領域DrawRectL1011、バンド内に描かれる描画領域の中の有彩色領域ColorRectL1012、YMCK印字では不正印字が発生する領域ROPRectL1013イメージ系関数による描画処理領域lmgRectL1014、グラフィックス系関数による描画領域GraphicRectL1014、文字系描画領域TextRectL1016。
【0139】
以上の各RectL構造体が示す領域をわかりやすく図示したものを図11にしめす。
【0140】
1101は、DrawRectL1011が保持している各仮想バンド内の描画領域を最外郭矩形領域を示すものである。
【0141】
1102は、ColorRectL1012が保持している各仮想バンド内の有彩色で描画処理を行う領域の最外郭矩形領域を示すものである。
【0142】
1103は、ROPRectL1013が保持している各仮想バンド内の描画領域の最外郭矩形領域を示す物である。
【0143】
1104は、ImgRectL1014が保持している各仮想バンド内のイメージ系描画領域の最外郭矩形領域を示す物である。
【0144】
1105は、GraphicRectL1015が保持している各仮想バンド内のグラフィックス系描画領域の最外郭矩形領域を示す物である。
【0145】
1106は、CharRectL1016が保持している各仮想バンド内の文字系描画領域の最外郭矩形領域を示す物である。
【0146】
以上の領域は、描画データスプール時に、描画命令から推測した描画領域の最外郭矩形領域を求め、それとbandRectLの重なり部分を示すものである。
【0147】
Bandlnfo構造体1030は、それ以外に、DDI関数毎の情報も1017〜1020に収集する。
【0148】
WindowsNT40のDDIを例にとって説明すると、ビットマップの拡縮指定可能なDDI関数であるStretchBlt関数についての情報は、StretchBlt1019に保存する。
【0149】
1019は、StretchBlt関数のコール回数callcnt10191、1BPPイメージの個数1BPPCnt10192、1BPPイメージのトータルデータサイズ1BPPTotalSize10193といったこのバンドに関連する情報を保持可能である。
【0150】
その他のDDI関数、CopyBits(1017),BitBlt(1018),Polygon(1020)も同様にそれぞれの関数I/Fに渡される情報を保持するようなデータ構造体を持っている。
【0151】
3)デスプール前に、デバイス情報、出力環境情報、レイアウト情報、プレチェック結果を読み込む処理
【0152】
デバイス情報:
スプール時に収集した情報から処理モードを決定する上で、プリンタの、グラフィックスデータの処理速度、イメージデータの処理速度、論理演算能力が異なると、予測結果が異なることがある。これらの値を、プリンタごとに求め、ファイル化したものをインストールファイルとしてシステムに保持しておく。
【0153】
出力環境情報:
プリンタドライバが動作するホストマシンの能力(CPUスピード、ディスク速度、ディスク空き容量)、プリンタとホスト間の転送速度を意味する。
【0154】
レイアウト情報:
pageSize1003を実際にはどのサイズで出力するかによって、イメージモードで処理した場合の転送データサイズが大きく変化する。
【0155】
また、N−up指定等の1ページ辺りに複数のページを配置する場合には、PDLモードで高速な処理が可能だったページが集まり、プリンタの負荷が増えることがある。
【0156】
スプール時のページを論理ページ、出力時に実際に描画処理を行うページを物理ページと定義し、物理ページ内に、論理ページが如何に配置されるかを示すのがレイアウト情報である。
【0157】
プレチェック結果:
スプーラでチェックした結果を格納したPCFを示す。
【0158】
物理ページ内にかかわる全論理ページのPCFを読み込み、演算対象とする。
【0159】
4)チェック結果から再生処理と出力階調数を論理ページ単位で選択する処理以下▲1▼〜▲3▼の判定を論理ページ単位に行い、結果を管理テーブルに保持する。
【0160】
▲1▼ カラーモノクロ判定
論理ページ単位でカラーモノクロモードを切り替える場合:
PCFの各バンドのColorRectL領域(有彩色オブジェクトの描画処理のあった領域)の有無をチェック、一つでも存在すれば、そのページはカラーモードで処理を行う。
【0161】
バンド単位で処理モードを切り替える場合:
PCFの各バンドのColorRectL領域(有彩色オブジェクトの描画処理のあった領域)の有無をチェック、存在するバンドはカラーモードで処理を行う。
【0162】
▲2▼ 不正印字回避
論理ページ単位で処理モードを切り替える場合:
PCFの各バンドのROPRectL領域(YMCK色空間では不正印字が発生する論理演算処理のあった領域)の有無をチェック、一つでも存在すれば、そのページはRGB24BPPイメージモードで処理を行う。
【0163】
バンド単位で処理モードを切り替える場合:
PCFの各バンドのROPRectL領域(YMCK色空間では不正印字が発生する論理演算処理のあった領域)の有無をチェック、存在するバンドはRGB24BPPイメージモードで処理を行う。
【0164】
▲3▼ 処理速度予測
イメージモード、PDLモードの処理速度は図6に示したような関係にある。
【0165】
「イメージモード処理速度予測」
イメージモード系処理600は、大きく分けると、プリンタドライバの処理時間と、プリンタの処理に分けられる。
【0166】
プリンタドライバの処理は、バンドメモリを使った描画処理時間1201であるが、色変換処理、2値化処理まで含んだ描画処理を行うため、PDLモードでのドライバの処理に比べて重い処理と言える。描画オブジェクト毎の描画処理情報に、ホストマシンのCPU速度、空きディスク容量を掛け合わせて処理時間の予測値を求める。
【0167】
プリンタ処理時間は、データ転送時間1202とプリンタ内部の中間データ生成時間1203、シップ時間1204を含んでいる。データ転送時間1202を求めるために、まず描画面積を求める。
【0168】
描画面積は図15で説明した各仮想バンドのDrawRectL領域とレイアウト情報を掛け合わせることで算出する。求めた描画面積に指定出力階調数をかけて非圧縮時のデータサイズが求まる。転送データサイズは、データ圧縮を行う場合、圧縮率が解らないと正確な値はわからないので、平均値を適用する。また、オブジェクト毎の描画領域はわかっているので、オブジェクト毎の圧縮率平均値を求めることで精度を向上させることは可能である。
【0169】
プリンタ内部の中間データ作成時間1203は、既にデバイスに依存したデータ形式にまで変換されているため、中間データの格納処理だけであり、処理時間は描画面積に比例しており、比例係数は機種依存値から取得する。
【0170】
シップ時間1204は、エンジンスループット速度に依存。
【0171】
以上の合計値を求めることでイメージモードの処理時間が求まる。
【0172】
「PDLモード処理速度予測」
PDL系処理1205も、イメージモード同様プリンタドライバの処理時間と、プリンタの処理に分けられる。
【0173】
まず、プリンタドライバの処理は、基本的にはシステムから渡された描画命令をそのままPDLコマンドに変換するコマンド生成処理1206だけなので、イメージモード系ドライバの処理に比べて高速である。そのため、ホストマシンのCPU速度、空きディスク容量の影響は受けにくい。
【0174】
各オブジェクト毎のコマンド生成予測係数を元に予測する。
【0175】
プリンタの処理時間に含まれるデータ転送時間1207はPDLコマンドサイズと、転送経路の速度に影響を受ける。PDLコマンドのサイズは、出力モード(カラー、モノクロ等)、機種、言語のバージョンによって異なるので、デスプーラで収集した機種情報を使ってオブジェクト毎のPDLコマンドサイズを算出する。また、レイアウト処理により縮小する場合もデータサイズは変化するものがあるので、レイアウト情報も加味して算出する。
【0176】
プリンタのエンジンスループットに間に合うように、受信したデータを加工する時間をシップ準備時間1208とした。プリンタのメモリ容量に中間データが収まる場合は、二つのバンドメモリを使って描画処理とシップ処理を交互に行う、いわゆるバンディング処理が可能であり、この場合プリンタの処理速度はエンジンスループットで連続ページ印刷が可能である。ところが、プリンタの中間データ格納許容量を超えるデータが送られる、または、複雑な演算が必要でバンディング処理が間に合わない場合に、プリンタはバンディング処理を諦め、1ページ分のメモリを確保する特殊処理モードに入る。この状態に入るとプリンタの処理速度は極端に落ちる。この時の時間予測は、搭載メモリサイズ、プリンタのCPU速度、プリンタのハードレンダラー能力に依存する。
【0177】
シップ時間1209は、エンジンスループット依存。
【0178】
5)選択した再生手段で、指定階調出力が可能かどうかを検証し、可能と判定した時には、出力階調数を落として再度再生手段を選択しなおす手段
【0179】
高階調出力可能なプリンタでも、搭載メモリサイズが少ない時は、指定された階調数、解像度で出力できない場合も依存する。こういった場合でも、ページプリンタはPDLモード時には解像度、または階調数をプリンタ内部で自動的に低下(デグレード)させることで、出力不可能なことが無いようにしている。
【0180】
ところが、イメージモード系処理で生成される印刷データの、デバイス依存ビットマップ(既に出力階調数、解像度のハーフトーニング処理を加えたデータ)はプリンタでデグレード処理を行うと画質低下が激しいため、プリンタのメモリ等裁量が出力が保証されない時は高階調指定が出来ないようになっている。
【0181】
本実施例では、PDLモードとイメージモードを動的に切り替えるシステムを提供するために、搭載メモリサイズが少ない時でもPDLモード時のように高階調指定を可能とするものである。
【0182】
これを実現するために、以下の方法を取っている。
【0183】
1)選択した処理系にイメージモードが含まれた場合は、物理ページ内に含まれる論理ページ全ての描画コマンドをプリンタ内部で中間データに変換した時のサイズ(DataSize)を予測
2)プリンタのメモリ搭載サイズを取得し、中間データ格納部のサイズ(WorkSize)を算出
3)DataSize>WorkSizeの時には、出力階調数を落として再度、再生手段を選択しなおす。
【0184】
以上の予測結果を組み合わせることで、最適な処理モードを選択する。
【0185】
プリンタドライバ内での物理ページ内における論理ページ判断の流れを図13、図14のフローチャートで説明する。なお、図13、14のフローチャートに係わるプログラムはホストコンピュータのメモリに記憶されており、CPUによって実行される。
【0186】
「物理ページの処理系決定の流れ」
S1301:物理ページ内の論理ページ毎に最適な処理モード決定、S1302へ進む。
S1302:デバイス依存ビットマップが出力コマンド内にある場合はS1303へ、ない場合は処理終了。
S1303:計算中の論理ページ内の印刷命令をプリンタ内部で中間データに変換した時のサイズを予測、それまでに算出したページの中間データサイズのトータル値(totalSize)に加算し、S1304へ進む。
S1304:プリンタに搭載されているメモリサイズから算出した中間データ格納領域サイズよりも、S1303で求めたデータサイズのほうが大きい時はS1305へ、小さい時は処理終了。
S1305:指定階調数よりも小さな階調数を設定。S1301へ戻る。
【0187】
「論理ページ毎の処理系決定の流れ」
S1401:論理ページ情報取得し、S1402へ進む。
S1402:PDLモードで不正印字発生が予測される場合はS1412へ、無い場合はS1403へ進む。
S1403:PDLモードで処理した時のプリンタ内部で保持する中間データの種類、個数、サイズ予測し、1404へ進む。
S1404:バンドレンダリングで処理不可能と判断した場合は、S1405へ、バンドレンダリング可能ならS1406へ進む。
S1405:サブクローズによって発生する遅延時間を算出し、PDLモード処理時間に加算、S1406へ進む。
S1406:イメージモードで処理した時のプリンタ内部で生成される中間データサイズ、処理時間(IMGTime)予測、S1407へ進む。
S1407:PDLモードで処理した時のプリンタ内部のデータサイズ、処理時間(PDLTime)予測、S1408へ進む。
S1408:IMGTime<PDLTimeならS1410へ、そうでなければS1409へ進む。
S1409:処理中の論理ページをPDLモードに決定し、結果をテーブルに登録し、S1411へ進む。
S1410:処理中の論理ページをYMCKイメージモードに決定し、結果をテーブルに登録し、S1411へ進む。
S1412:処理中の論理ページをRGBイメージモードに決定し、結果をテーブルに登録し、S1411へ進む。
S1411:論理ページがまだある場合はS1401へ、無い場合は処理終了する。
【0188】
6)選択した再生手段で論理ページ毎に選んだ処理系でデスプール処理を行い、物理ページ単位でページ排出を行う処理
1物理ページの印刷に必要な、論理ページ全ての、処理系、処理階調数が揃ったところで、デスプール処理を開始する。
【0189】
デスプーラは、最初にページの初期化命令を生成し、プリンタに送出する。
【0190】
後は、論理ページ毎にPDFファイルを読み込み、(5)で決定した処理系で描画命令の処理を行う。その際、レイアウト変換部(3034)で指定されたレイアウト変換処理を加えた描画命令を処理系に渡すことで描画位置の変更、拡大縮小処理といったレイアウト変換処理を実現している。
【0191】
次にサブクローズについて説明する。
【0192】
印刷命令のサイズが大きくて中間言語を1ページ分格納できなくなった時に、プリンタはサブクローズ状態となる。サブクローズ状態は、それまで蓄えた中間言語を、1ページ分のメモリ空間に描画処理を行うことで中間言語を格納していたメモリを開放し、新たに印刷命令を読み込むことを可能とするものである。このとき、プリンタの搭載メモリサイズが少ないと、指定階調数でサブクローズ処理が行えず、階調低下が発生する。こうした状態に入ると、プリンタの処理速度は極端に落ちる。そこでこれを予測し回避することが効果的な処理モード切替といえる。
【0193】
次にN−up印刷処理について説明する。
【0194】
N−up印刷とはアプリケーションソフトで作成された文書をプリンタドライバで1枚の用紙に何ページ印刷できるか指定できる機能であり、例えば1枚に4ページ印刷することを4−upと呼ぶ。N−up印刷は、物理ページ内のNページ分の変換処理が終わるまで、排紙コマンドを送らないことで、プリンタはNページ分の印刷命令を1ページ分の情報として処理することで実現している。
【0195】
論理ページ単位の処理系を決定した後の、N−up印刷の処理の流れを図17のフローチャートを用いて説明する。なお、このフローチャートに係るプログラムはホストコンピュータ200のメモリに記憶され、CPUによって実行される。
【0196】
S1701:次の論理ページの処理をすることに決定したトランスレータモジュールをロードし、S1702へ進む。
S1702:PDLモードならS1710へ、イメージモードならS1703へ進む。
S1703:描画処理に用いるバンドメモリを獲得、ページ幅からバンド高さを算出し、バンドリストを生成する。S1704へ進む。
S1704:PDF(中間データ)をS1703で生成したバンドリストにリンクする。S1705へ進む。
S1705:レイアウト変換モジュールをこれから処理するバンド領域に合わせて初期化し、S12706へ進む。
S1706:現バンド用バンドリストに繋がっている中間言語(PDF)を順にレイアウト変換モジュールに渡し、座標変換処理を行う。S1207へ進む。
S1707:座標変換された描画命令を、トランスレータ(イメージモードレンダラー)に渡して、用意したバンドメモリ空間上に描画処理を実施する。S1708へ進む。
S1708:バンドリストにデータがまだ繋がっているならS1706へ、ないならS1709へ進む。
S1709:バンドに描かれた結果からデバイスビットマップデータ(YMCK各色1,2or4bitイメージデータ)生成、論理ページ位置から求めたレイアウト情報を加味して印刷命令生成し、S1710へ進む。
S1710:全バンド処理終了ならS1715へ、まだなら1705へ進む。
S1711:レイアウト変換モジュールを論理ページ領域に合わせて初期化し、S1712へ進む。
S1712:PDF内の描画命令を順にレイアウト変換モジュールに渡し、座標変換処理実行する。S1213へ進む。
S1213:座標変換が加えられた描画命令を、PDLトランスレータに渡し、印刷命令生成し、S1714へ進む。
S1714:PDF内に描画命令がまだあれば、1712へ進む。
S1715:論理ページがまだあれば、S1701へ、なければ本ジョブの処理終了する。
【0197】
次に、図18の模式図を用いて、N−up処理時の印刷命令生成処理を説明する。1801は図18でも説明に用いた高解像度イメージが貼り付けられた処理の重いページとする。本ページをイメージモードで処理する場合、描画処理用メモリ領域1804を獲得し、これをバンドメモリ1805として使うことでページ全面のメモリ空間を持たずに描画処理が可能である。
【0198】
等倍出力する場合は、4Mbyteの描画用メモリで、RGB24BPPイメージレンダラーでA4ページの処理を行うためには17個の高さbandHのバンド領域に分割される。
【0199】
1803:スプールされているPDFは、元々、描画原点ページの左上(0,0)、幅W、高さHのページに描画するように指示されたものである。これを、分割されたバンドメモリ領域に描画処理を行うためには、各バンド用バンドリストを用意し、それぞれのバンドに関わりのあるPDFデータを描画指定順に繋ぎなおす。生成したバンドリストに繋がっている描画命令を、バンド毎にトランスレータ(レンダラー)に渡すことで描画処理を実現している。
【0200】
例えば、図18の1801の中のイメージデータは、左上描画位置(X1,Y1)、右下描画位置(X2,Y2)のイメージは、1803では2〜7バンド目にかかっている。描画処理は、PDFに格納されている描画位置情報のY座標値Y1を、処理中のバンド位置内の座標系に変換したものをトランスレータ(レンダーラ)にセットし、バンド領域でクリップ処理することで実現している。
【0201】
つまり、最初のバンドNoを0、現在処理しているバンドNoをbandNoとする時、
Y1′=Y1−bandH* bandno
Y2′=Y2−bandH* bandno
で示される。
【0202】
以上、生成されたピクセル辺りRGB24BPPのバンドメモリ空間に展開された出力結果は、バンド単位でYMCK各色8bitに色空間変換の後、ハーフトーニング処理により出力階調数(各色1,2or4)に落とす。データにイメージ描画命令のコマンドを付加することで、このページの描画命令となる。
【0203】
次に、4−up出力時の印刷処理時について説明を行う。本ページの処理を行う前に既に文字のみのページが3ページ分PDLトランスレータによって処理が終了しているものとする。
【0204】
本ページをRGB24BPPイメージレンダラーで処理する場合、A4ページの1/4処理をRG24BPPレンダラーで行うためには、等倍時と同じ4Mbyteのメモリ領域で4個のバンドしか必要としない。
【0205】
スプールされているPDFは、元々、幅W,高さHのページに描画するように指示されたもののため、4−up印刷するためには、1304に示された幅、高さを(w′,h′)の領域に領域に座標変換して描画処理を行わなくてはならない。等倍印刷時と同様に、各バンド用バンドリストを生成するが、その際に、PDF内の描画命令の座標値を描画先の座標空間に変換する。例えば1801の中のイメージデータの左上描画位置(X1,Y1)、右下描画位置(X2,Y2)はそれぞれ、
(X1′=X1* (w′/W),Y1′=Y1* (h′/H))、(X2′=X2* (w′/W),Y2′=Y2* (h′/H))に変換される。
【0206】
描画処理は、バンドリストにつながれたデータの上記変換された描画位置のY座標値を、さらに処理中のバンド位置内の座標系に変換したものをトランスレータ(レンダーラ)にセットし、バンド領域でクリップ処理することで実現している。
【0207】
以上、生成されたピクセル辺りRGB24BPPにバンドメモリ空間に展開された出力結果は、バンド単位でYMCK各色8bitに色空間変換の後、ハーフトーニング処理により出力階調数(各色1,2or4)に落とす。生成したデータに4−up用描画位置に変換したイメージ描画命令のコマンドを付加することで、本論理ページ分の描画命令となる。
【0208】
4ページ分の描画命令が全て送出された後、排紙コマンドをプリンタに送出する。
【0209】
(プリンタ側のさらに詳しい説明)
本発明を実現するためには、プリンタは以下の機能が必要である。
【0210】
「デバイスビットマップ直通描画機能」
RGB色空間のデータは、プリンタ内部で色変換処理が加えられ、デバイス依存色空間データ(YMCK)となり、中間データとして保持される。ページメモリに描画時に、前記中間データはハーフトーニング処理がかけられ階調を落としたデバイスビットマップ形式となる。本発明は、PDLコマンドにデバイスビットマップデータを追加することで、論理ページ単位の処理モード切替を実現するものである。プリンタはデバイスビットマップデータを受け取った時に、そのまま中間データとして保持し、ハーフトーニング処理を加えずにページメモリに描画処理を行う処理系を持つ必要がある。
【0211】
次に、図19、20を用いて、モード選択の説明、及びそのフローの説明を行なう。
【0212】
図19はプリンタドライバのグラフィックモード設定画面である。
【0213】
1901のオートモードが指定されれば、図5、または図14の最適モード決定処理によりモードを決定し、アプリケーションからのデータを解析し、イメージデータまたはPDLデータに変換し、プリンタに転送する。
【0214】
1902のイメージモードが指定されていれば、イメージレンダラ3036を選択し、アプリケーションからのデータをイメージデータに変換し、プリンタに転送する。
【0215】
1903のPDLモードが指定されていれば、PDL3035を選択し、アプリケーションからのデータをPDLデータに変換し、プリンタに転送する。
【0216】
次に、図20を用いてグラフィックモード選択処理について説明する。なお、図20のフローにかかわるプログラムはホストコンピュータ200のメモリに記憶されており、CPUによって実行される。
【0217】
S2001でオートモードが指定されているか否かを判別し、指定されていればS2002に進み、指定されていなければS2003に進む。
【0218】
S2002では、図5または図14の処理によりアプリケーションからのデータを解析し、最適なレンダラを選択し、選択されたレンダラを用いてアプリケーションからのデータをイメージデータまたはPDLデータに変換し、プリンタに転送する。
【0219】
S2004では、イメージモードが指定されているか否かを判別し、指定されていればS2005に進み、指定されていなければS2006に進む。
【0220】
S2005では、イメージレンダラ3036を選択し、選択されたレンダラを用いてアプリケーションからのデータをイメージデータに変換し、プリンタに転送する。
【0221】
S2006では、PDLモードが指定されているか否かを判別し、指定されていればS2007に進み、指定されていなければS2008に進む。
【0222】
S2007では、PDLレンダラ3035を選択し、選択されたレンダラを用いてアプリケーションからのデータをPDLデータに変換し、プリンタに転送する。
【0223】
(第三の実施の形態)
以下に、本発明における第二の実施の形態を説明する。なお本実施の形態において第一の実施の形態と構成については、その説明を省略する。
【0224】
第一の実施の形態では、カラープリンタのカラーモードにおける各印刷モードの切替方法について説明していたが、本発明は、モノクロプリンタ、またはカラープリンタのモノクロモードにも適用可能である。以下にモノクロモード時の切替方法について差分部分の説明を行う。モノクロモード時は、以下のチェック項目
▲1▼カラーデータチェック
▲2▼データサイズチェック
▲3▼描画速度チェック
▲4▼論理演算値チェック
のうち、カラーデータチェックは行う必要はないが、それ以外は同様にチェックし、同様にモード切替の情報として利用する。
【0225】
但し、モノクロモードにおいては、データサイズチェックはプリンタ内部ではモノクロデータでデータを保持する場合は、そのサイズを用いる。
【0226】
また、▲2▼、▲3▼のチェックによりPDLモードで処理すると速度が遅くなる場合に移行するDeviceイメージモードはBlack1,2 or 4bitのイメージモードに対応する。
【0227】
▲4▼の論理演算値チェックで引っかかった場合に逃げるRGB24BPPイメージモードはやはりそのままである。
【0228】
(第四の実施の形態)
以下に、本発明における第四の実施の形態を説明する。なお本実施の形態において第一の実施の形態と構成については、その説明を省略する。
【0229】
第一の実施の形態では、PDLモード、Deviceイメージモード、RGB24BPPイメージモード全てが揃った場合についてであったが、何かがかけた場合でも、スプールしてチェックすることによって最も高速で最も正確な出力可能なモードに切り替えるものであってもよい。
【0230】
(その他の実施の形態)
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
【0231】
また、本発明の目的は、前述した実施形態の機能を実現するプリンタドライバと呼ばれるソフトウエアプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0232】
この場合、記憶媒体から読み出されたプログラムコード事態が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0233】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM,CD-R,磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
【0234】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0235】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【0236】
本発明を記憶媒体に適応する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになる。
【0237】
以上説明したように、本発明の実施の形態によれば、プリンタドライバがOSから渡される印刷データを最低1ページ分保持する機構を持ち、保持する際に、印刷データのチェックを行い、そのページまたはバンドはどのモードで処理するのが最適かを判断し、決定したモードでページまたはバンド単位で処理し、高速に正確な描画処理を行うことを可能とする。
【0238】
また、複数のモードで1頁を出力する際、選択されたモードで処理できる最大のバンド高さで処理を行うことにより、効率的に出力処理を行うことができる。
【0239】
【発明の効果】
以上説明したように本発明によれば、印刷データに応じて最適な変換手段を選択することにより高速に印刷を行うことができる。
【0240】
また、本発明によれば、N−up指定時でも、論理ページ単位で変換手段を選択するので高速に印刷を行うことを可能とする。
【図面の簡単な説明】
【図1】本発明の実施の形態が適用可能なレーザビームカラープリンタの構造を示す側断面図である。
【図2】従来の描画方法を示す概念図である。
【図3】本発明の実施の形態である印刷システム全体の基本構成を示すブロック図である。
【図4】各モードの特徴を示す図である。
【図5】本発明のスプール時の各オブジェクトのチェック方法の流れを示すフローチャートを示す図である。
【図6】本発明のスプール時のページの全オブジェクトチェック終了後の処理の流れを示すフローチャートを示す図である。
【図7】本発明のデスプール時のバンドリストの作り方を示す模式図である。
【図8】本発明のデスプール時のバンドリストの作り方の流れを示すフローチャートを示す図である。
【図9】PDFの構造を示す図である。
【図10】PCFの構造を示す図である。
【図11】スプール時にチェックした結果を保持する仮想バンドについて説明する模式図。
【図12】イメージモード系処理とPDLモード系処理の処理時間の特徴を示す模式図。
【図13】本発明の物理ページ単位で見た、処理モード決定の流れを示すフローチャート。
【図14】本発明の論理ページ単位で見た、処理モード決定の流れを示すフローチャート。
【図15】PCFの構造を示す模式図。
【図16】本発明の理想的な実施例の模式図。
【図17】N−up時のデスプール処理を示す図である。
【図18】N−up処理時の印刷命令生成処理を説明する図である。
【図19】グラフィックモード選択画面を示す図である。
【図20】グラフィックモード選択処理を示す図である。
【符号の説明】
100 印刷装置(LBP)
110 フォーマッタ制御部
111 インタフェース
1121 受信バッファ
1122 送信バッファ
113 PDL解析部
114 印刷制御処理実行部
115 描画処理実行部(レンダラ)
116 ページメモリ
120 オペレーション・パネル
130 出力制御部
131 レーザドライバ
140 プリンタエンジン部
141 半導体レーザ
142 レーザ光
143 ポリゴンミラー
144 静電ドラム
145 現像ユニット
146 給紙カセット
147 給紙ローラ
148 搬送ローラ
149 搬送ローラ
200 ホスト・コンピュータ
201 アプリケーション・ソフト
202 グラフィック・サブ・システム
2021 GDI
2022 プリンタ・ドライバ
2023 PDLトランスレータ
2024 モノクロ1BPPイメージモード
2025 YMCK4BPPイメージモード
2026 RGB24BPPイメージモード
2027 イメージモード用バンドメモリ領域
2028 GDI
2029 インターフェース
210 キーボード
211 マウス
220 ディスプレイ・モニタ
300 ホスト・コンピュータ
301 アプリケーション・ソフト
302 グラフィック・サブ・システム
3021 GDI
3022 プリンタ・ドライバ
3023 プレチェックシステム
303 スプールサブシステム
3031 PDF(プリントデータファイル)
3032 PCF(プレチェックファイル)
3033 デスプーラー
3034 PDLトランスレータ
3035 モノクロ1BPPイメージモード
3036 YMCK4BPPイメージモード
3037 RGB24BPPイメージモード
3038 イメージモード用バンドメモリ領域
3039 インターフェース
210 キーボード
211 マウス
220 ディスプレイ・モニタ
900 PDF(ページデータファイル)の構造を示す模式図
901 pageID(ページを特定する番号)
902 PageInfo(ページサイズ、設定モードといった描画処理に必要な設定)
903 描画関数指定データ(DrvCopyBitsを指定)
904 dataSize(本描画データに掛かっているスプールサイズ)
905 soDest(psoDestから獲得した情報)
906 soSrc(psoSrcから獲得した情報)
907 ソースイメージデータ(psoSrcが示すソースイメージデータ本体)
908 co(pcoが示すクリップ情報)
909 クリップデータ(クリップ処理に必要なデータ)
910 xlo(pxloが示す色変換情報)
911 rclDest(prclDestが示す描画先矩形位置情報)
912 ptlSrc(ソースデータの位置を示す情報)
913 描画関数指定データ(DrvTextOutを指定)
1000 PCF(プレチェックファイル)の構造を示す模式図
1001 pageID(ページを特定する番号)
1002 dataSize(本ページのPCFのサイズ)
1003 setColMode(本ページの指定されたカラーモード)
1004 desiColMode(本ページの決定カラーモード)
1005 desiMode(本ページのモード)
1006 PDLDataSize(PDLデータで送った場合のプリンタ内部のデータサイズ予測値)
1007 ImageDataSize(イメージモードで送った場合のデータサイズ)
1008 bandCnt(チェック用バンドの数)
1009 チェック用バンドの情報構造体
10091 bandNo(バンドナンバー)
10092 desiMode(決定した処理モード)
10093 rendTime(本バンドをPDLモードで処理した場合の処理時間予測値)
10094 BandRectL(本バンドの領域)
10095 BandRendRectL(本バンドの描画領域の際外郭矩形)
10096 PDLDataSize(PDLモードで処理した場合の本バンド描画に掛かるデータ数)
10097 objflg(描画オブジェクトが一つでもあればフラグを立てる)
10098 colflg(描画データに有彩色が含まれる時はフラグを立てる)

Claims (6)

  1. PDLモードで不正印字発生が予測されるか否かを判別する判別手段と、
    前記判別手段によりPDLモードで不正印字発生が予測されないと判別された場合、イメージモードでの処理時間がPDLモードでの処理時間より短いか否か判定する判定手段と、
    前記判定手段によりイメージモードでの処理時間がPDLモードでの処理時間より短いと判定された場合、YMCKイメージモードに決定し、前記判定手段によりイメージモードでの処理時間がPDLモードでの処理時間より短くないと判定された場合、PDLモードに決定し、前記判別手段によりPDLモードで不正印字発生が予測されると判別された場合、RGBイメージモードに決定する決定手段と、
    前記決定手段によりYMCKモードに決定された場合、RBGイメージをYMCKイメージに変換し、変換されたYMCKイメージで描画処理を行い、描画処理されたYMCKイメージをプリンタに出力し、前記決定手段によりRGBモードに決定された場合、RBGイメージで描画処理を行い、描画処理されたRGBイメージをYMCKイメージに変換し、変換されたYMCKイメージをプリンタに出力し、前記決定手段によりPDLモードに決定された場合、描画データをPDLデータに変換し、変換されたPDLデータをプリンタに出力する出力手段とを有することを特徴とする情報処理装置。
  2. 前記PDLモードでの処理時間は、バンドレンダリング不可能な場合のサブクローズ時間を含むことを特徴とする請求項1記載の情報処理装置。
  3. PDLモードで不正印字発生が予測されるか否かを判別する判別ステップと、
    前記判別ステップによりPDLモードで不正印字発生が予測されないと判別された場合、イメージモードでの処理時間がPDLモードでの処理時間より短いか否か判定する判定ステップと、
    前記判定ステップによりイメージモードでの処理時間がPDLモードでの処理時間より短いと判定された場合、YMCKイメージモードに決定し、前記判定ステップによりイメージモードでの処理時間がPDLモードでの処理時間より短くないと判定された場合、PDLモードに決定し、前記判別ステップによりPDLモードで不正印字発生が予測されると判別された場合、RGBイメージモードに決定する決定ステップと、
    前記決定ステップによりYMCKモードに決定された場合、RBGイメージをYMCKイメージに変換し、変換されたYMCKイメージで描画処理を行い、描画処理されたYMCKイメージをプリンタに出力し、前記決定ステップによりRGBモードに決定された場合、RBGイメージで描画処理を行い、描画処理されたRGBイメージをYMCKイメージに変換し、変換されたYMCKイメージをプリンタに出力し、前記決定ステップによりPDLモードに決定された場合、描画データをPDLデータに変換し、変換されたPDLデータをプリンタに出力する出力ステップとを有することを特徴とする情報処理方法。
  4. 前記PDLモードでの処理時間は、バンドレンダリング不可能な場合のサブクローズ時間を含むことを特徴とする請求項3記載の情報処理方法。
  5. PDLモードで不正印字発生が予測されるか否かを判別する判別ステップと、
    前記判別ステップによりPDLモードで不正印字発生が予測されないと判別された場合、イメージモードでの処理時間がPDLモードでの処理時間より短いか否か判定する判定ステップと、
    前記判定ステップによりイメージモードでの処理時間がPDLモードでの処理時間より短いと判定された場合、YMCKイメージモードに決定し、前記判定ステップによりイメージモードでの処理時間がPDLモードでの処理時間より短くないと判定された場合、PDLモードに決定し、前記判別ステップによりPDLモードで不正印字発生が予測されると判別された場合、RGBイメージモードに決定する決定ステップと、
    前記決定ステップによりYMCKモードに決定された場合、RBGイメージをYMCKイメージに変換し、変換されたYMCKイメージで描画処理を行い、描画処理されたYMCKイメージをプリンタに出力し、前記決定ステップによりRGBモードに決定された場合、RBGイメージで描画処理を行い、描画処理されたRGBイメージをYMCKイメージに変換し、変換されたYMCKイメージをプリンタに出力し、前記決定ステップによりPDLモードに決定された場合、描画データをPDLデータに変換し、変換されたPDLデータをプリンタに出力する出力ステップとをコンピュータに実行させるためのプログラムを記憶した記憶媒体。
  6. 前記PDLモードでの処理時間は、バンドレンダリング不可能な場合のサブクローズ時間を含むことを特徴とする請求項5記載の記憶媒体。
JP2000170657A 1999-06-29 2000-06-07 情報処理装置、情報処理方法、および記憶媒体 Expired - Fee Related JP4235347B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000170657A JP4235347B2 (ja) 1999-06-29 2000-06-07 情報処理装置、情報処理方法、および記憶媒体
US09/605,008 US6963412B1 (en) 1999-06-29 2000-06-27 Information processing apparatus, information processing method, storage medium, and program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP18333299 1999-06-29
JP11-183332 1999-06-29
JP2000170657A JP4235347B2 (ja) 1999-06-29 2000-06-07 情報処理装置、情報処理方法、および記憶媒体

Publications (2)

Publication Number Publication Date
JP2001071602A JP2001071602A (ja) 2001-03-21
JP4235347B2 true JP4235347B2 (ja) 2009-03-11

Family

ID=26501822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000170657A Expired - Fee Related JP4235347B2 (ja) 1999-06-29 2000-06-07 情報処理装置、情報処理方法、および記憶媒体

Country Status (2)

Country Link
US (1) US6963412B1 (ja)
JP (1) JP4235347B2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100396548B1 (ko) * 2001-01-10 2003-09-03 삼성전자주식회사 프린팅 속도를 향상시키는 프린터 제어 장치 및 그 방법
JP4018426B2 (ja) * 2002-03-29 2007-12-05 キヤノン株式会社 画像処理システムおよびその制御方法
JP4141182B2 (ja) * 2002-05-31 2008-08-27 シャープ株式会社 情報処理装置と情報処理方法並びにコンピュータ・ソフトウエア
US20040012797A1 (en) * 2002-07-16 2004-01-22 Letellier Nolan Wayne Load balancing in image generation
US20040212825A1 (en) * 2002-10-03 2004-10-28 Seiko Epson Corporation Printing apparatus and printing method
JP2004193876A (ja) * 2002-12-10 2004-07-08 Canon Inc 画像処理方法
JP4325247B2 (ja) * 2003-03-28 2009-09-02 ブラザー工業株式会社 画像形成装置
JP3994984B2 (ja) * 2004-05-06 2007-10-24 コニカミノルタビジネステクノロジーズ株式会社 プリント支援モジュール、記録媒体及びプリントジョブ発行方法
US8437020B2 (en) * 2004-05-13 2013-05-07 Sharp Laboratories Of America, Inc. System and method for printer emulation
JP4604888B2 (ja) * 2005-07-12 2011-01-05 富士ゼロックス株式会社 位置情報管理装置、画像形成装置、位置情報管理方法、及びプログラム
JP2007044182A (ja) * 2005-08-09 2007-02-22 Pentax Corp 内視鏡用画像印刷システム
JP4646741B2 (ja) * 2005-08-30 2011-03-09 キヤノン株式会社 印刷システム、印刷装置、画像処理装置及びそれらの制御方法、プログラム
JP4646740B2 (ja) * 2005-08-30 2011-03-09 キヤノン株式会社 印刷装置及びその制御方法、ジョブ処理方法、印刷システム、プログラム
KR100725488B1 (ko) * 2005-09-16 2007-06-08 삼성전자주식회사 인쇄시스템 및 그 인쇄방법
EP1785838B1 (en) 2005-11-01 2017-07-05 Kyocera Mita Corporation Image-forming system and image-forming program
JP4693664B2 (ja) * 2006-03-13 2011-06-01 キヤノン株式会社 プリンタ装置及びプログラムと印刷方法
JP4204600B2 (ja) * 2006-04-03 2009-01-07 シャープ株式会社 画像処理装置、誤差拡散処理方法、及びプログラム
GB2441826B (en) * 2006-09-15 2011-03-23 Cametrics Ltd Industrial ink jet printing methods and apparatus
JP4301524B2 (ja) * 2007-03-27 2009-07-22 株式会社沖データ 印刷システム及び情報処理装置
JP4501959B2 (ja) * 2007-05-10 2010-07-14 セイコーエプソン株式会社 画像処理装置および画像処理方法
JP4912360B2 (ja) * 2008-06-25 2012-04-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
US8427693B2 (en) * 2009-03-24 2013-04-23 Kyocera Document Solutions Inc. Image processing apparatus and method
JP2010272005A (ja) * 2009-05-22 2010-12-02 Konica Minolta Business Technologies Inc 画像処理装置、印刷制御方法および印刷制御プログラム
JP2012174183A (ja) 2011-02-24 2012-09-10 Canon Inc プリンタドライバプログラム、印刷制御装置および印刷制御装置の制御方法
JP5849485B2 (ja) * 2011-07-15 2016-01-27 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
US9367294B2 (en) * 2011-09-12 2016-06-14 Xerox Corporation Systems and methods for disambiguating dialects in limited syntax languages to reduce system fragility
JP5895428B2 (ja) * 2011-09-30 2016-03-30 セイコーエプソン株式会社 印刷装置およびその制御方法
JP6221637B2 (ja) * 2013-02-19 2017-11-01 株式会社リコー 画像処理装置および画像処理方法、ならびに、画像形成装置
JP6226695B2 (ja) * 2013-10-24 2017-11-08 理想科学工業株式会社 画像処理装置
JP6218643B2 (ja) * 2014-03-03 2017-10-25 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP6458925B2 (ja) * 2014-09-11 2019-01-30 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
JP6939342B2 (ja) 2017-09-28 2021-09-22 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置
JP6881194B2 (ja) * 2017-09-28 2021-06-02 ブラザー工業株式会社 プリンタドライバおよび、情報処理装置
US10901669B2 (en) 2017-11-08 2021-01-26 Ricoh Company, Ltd. Mechanism to predict print performance using print metadata

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5509115A (en) * 1990-08-08 1996-04-16 Peerless Systems Corporation Method and apparatus for displaying a page with graphics information on a continuous synchronous raster output device
JPH04284284A (ja) * 1991-03-13 1992-10-08 Canon Inc 画像形成装置
US5337358A (en) 1992-11-20 1994-08-09 Pitney Bowes Inc. Apparatus for recording a transaction including authenticating an identification card
US5533175A (en) * 1994-03-04 1996-07-02 Destiny Technology Corporation Low cost page printer system and method
JPH0971013A (ja) * 1995-05-10 1997-03-18 Canon Inc 印刷制御装置及びメモリ制御方法及び印刷制御方法及び制御プログラムを記憶した記憶媒体
JP2993411B2 (ja) * 1995-10-19 1999-12-20 富士ゼロックス株式会社 画像形成装置
JP3175620B2 (ja) * 1996-06-21 2001-06-11 セイコーエプソン株式会社 印刷装置
US6346998B2 (en) * 1996-11-20 2002-02-12 Fuji Photo Film Co., Ltd. Picture image outputting method and photograph finishing system using the method
JPH10260798A (ja) * 1997-03-21 1998-09-29 Canon Inc 情報処理装置及び方法、出力制御装置及び方法、情報処理システム
JPH11129583A (ja) 1997-11-04 1999-05-18 Canon Inc 印刷制御装置および印刷制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JPH11177788A (ja) * 1997-12-11 1999-07-02 Toshiba Corp 印刷制御方法および印刷装置
JP3736126B2 (ja) * 1998-08-10 2006-01-18 セイコーエプソン株式会社 画像作成装置
JP4174140B2 (ja) * 1998-09-21 2008-10-29 キヤノン株式会社 画像形成装置、画像形成方法及び記憶媒体

Also Published As

Publication number Publication date
JP2001071602A (ja) 2001-03-21
US6963412B1 (en) 2005-11-08

Similar Documents

Publication Publication Date Title
JP4235347B2 (ja) 情報処理装置、情報処理方法、および記憶媒体
JP3826038B2 (ja) 印刷システム及びその印刷方法並びに印刷装置
US7023579B2 (en) Information processing apparatus, information processing method, and memory medium storing print control program therein
US7193744B2 (en) Image forming system and its control method
US7161702B2 (en) Method and apparatus for generating a print command capable of generating improved stable throughput
US7746494B2 (en) Data processing apparatus, data processing method, printer driver, print control apparatus, print control method, and printing system
US7038815B2 (en) Image processing apparatus and its method, and image processing system and its control method
JP4095166B2 (ja) 画像処理装置およびその方法
US7535589B2 (en) Print control apparatus, print control method and printing system
JP3880269B2 (ja) 画像形成システム及びその制御方法
JP2003122521A (ja) 印刷システム、情報処理装置、それらの描画方法、プログラム及び記憶媒体
JP2001282498A (ja) 情報処理装置、情報処理方法、および記憶媒体
JP3755265B2 (ja) 印刷処理装置
JP4663140B2 (ja) データ処理装置および方法ならびに記憶媒体およびプログラム
JP2001047673A (ja) データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2000200161A (ja) 情報処理装置、印刷制御装置、それらの装置からなる印刷システム、及びコンピュ―タ読み取り可能な記憶媒体
JP2004326266A (ja) 印刷制御方法、情報処理装置及び印刷装置
JP2000115554A (ja) 情報処理装置、情報処理システム、情報処理方法および媒体
JP2001236193A (ja) 情報処理システムおよびその処理方法
JP2005169671A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
JP2002007101A (ja) 情報処理装置、情報処理方法、および記憶媒体
JP2004334511A (ja) ホストベース印刷システム
JP2005349772A (ja) 印刷装置、及びその制御方法
JP2001243029A (ja) 画像処理システムおよび方法
JP2005157857A (ja) データ処理装置および印刷制御方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041214

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080725

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

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

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

Free format text: PAYMENT UNTIL: 20111219

Year of fee payment: 3

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131219

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees