JPH11327846A - 印刷制御装置及び印刷デ―タ生成装置、印刷制御方法及び印刷デ―タ生成方法、記憶媒体 - Google Patents

印刷制御装置及び印刷デ―タ生成装置、印刷制御方法及び印刷デ―タ生成方法、記憶媒体

Info

Publication number
JPH11327846A
JPH11327846A JP1765499A JP1765499A JPH11327846A JP H11327846 A JPH11327846 A JP H11327846A JP 1765499 A JP1765499 A JP 1765499A JP 1765499 A JP1765499 A JP 1765499A JP H11327846 A JPH11327846 A JP H11327846A
Authority
JP
Japan
Prior art keywords
print
print mode
printer
mode
storing
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.)
Granted
Application number
JP1765499A
Other languages
English (en)
Other versions
JP3689579B2 (ja
Inventor
Satoshi Nishikawa
智 西川
Yoshinobu Kuroi
慶信 黒井
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 JP01765499A priority Critical patent/JP3689579B2/ja
Priority to DE69924548T priority patent/DE69924548T2/de
Priority to EP99300659A priority patent/EP0935187B1/en
Priority to US09/244,475 priority patent/US6734986B1/en
Publication of JPH11327846A publication Critical patent/JPH11327846A/ja
Application granted granted Critical
Publication of JP3689579B2 publication Critical patent/JP3689579B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/126Job scheduling, e.g. queuing, determine appropriate 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/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device

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)

Abstract

(57)【要約】 【課題】 複数の印刷モードを選択可能にも関わらず、
プリンタでの印刷スループットや適正な印刷が行えるか
等が何ら考慮されずに、利用者が選択した印刷モードを
使用して印刷処理が実行される。 【解決手段】 プリンタに接続された印刷情報を処理す
る印刷制御装置は、設定された条件に従って、その条件
に最適な印刷モードを選択する。選択された印刷モード
で、グラフィックエンジンが生成した描画命令に応じ
て、印刷データをプリンタドライバに生成させる制御を
行い、プリンタの印刷スループットを向上させ適正な印
刷を可能とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、印刷制御装置及び
印刷データ生成装置、印刷制御方法及び印刷データ生成
方法,記憶媒体に関するもので、特にパーソナルコンピ
ュータ等の情報処理装置とプリンタからなるシステムに
おいて、印刷モードを制御したり、印刷制御コマンドを
生成する印刷制御装置及び印刷データ生成方法に関す
る。
【0002】
【従来の技術】従来、プリンタを用いて印刷する際に、
ホスト装置でラスタライズされたデータをプリンタに送
り付けて印刷するラスタグラフィック印刷モードや、ベ
クタデータをプリンタに送り付けてプリンタにおいてラ
スタライズして印刷するベクタグラフィックス印刷モー
ド等、複数の印刷モードを持つプリントシステムがあ
る。このような、ホストコンピュータとそれに接続され
たプリンタからなるプリントシステムにおいては、複数
の印刷モードを実行可能にも関わらず、印刷時に使用さ
れる印刷モードは、利用者が選択した印刷モードのみで
あった。
【0003】また、プリンタを制御するプリンタ制御コ
マンドを生成する方法として、一端中間コードデータを
生成した後、最終的なプリンタ制御コマンドを生成する
方法や、直接プリンタ制御コマンドを生成する方法等か
ら選択できるプリントシステムもある。このようなプリ
ントシステムにおいては、プリンタ制御コマンド生成方
法として、利用者が明示的に選択したプリンタ制御コマ
ンド生成手法が使用される。
【0004】また、選択された印刷モードに応じてプリ
ンタ制御コマンドを生成するに当たり、アプリケーショ
ンやOS等に用意されているグラフィックエンジンが生
成した描画命令からプリンタ制御コマンドを生成するプ
リントシステムがある。このようなプリントシステムに
おいては、選択された印刷モードとは無関係に、描画命
令がグラフィックエンジンにより生成される。
【0005】また、プリント制御コマンドの生成方法に
関して、プリンタと接続されたホストコンピュータにお
いて、各種アプリケーションが発行する描画命令を即座
に印刷イメージへ変換(ラスタライズ)しながらプリン
タ制御コマンドを生成できるプログラム(Raster
系プリンタドライバ)の存在が知られているが、このよ
うな動作をするプリンタドライバはプリンタ制御コマン
ドを生成する前に、ページイメージをイメージデータの
形式でメモリ等へ一時記憶する必要がある。しかし、近
年のプリンタ高解像度化により、状況によっては数メガ
バイト単位のメモリ領域が必要とされることがある。
【0006】従って、通常、このような動作をするプリ
ンタドライバは、ページをより小さいバンドと呼ばれる
矩形領域に分割し、印刷イメージへラスタライズされた
情報は、そのバンドに対応した情報としてメモリ領域
(バンドメモリ)へ保存される。分割された領域それぞ
れに対して同様の保存を繰り返し、ページ単位でラスタ
ライズされた情報が保存される。一つのバンド領域に対
するアプリケーションからの描画命令が終わると、バン
ドメモリを必要に応じて細分化してプリンタ制御コマン
ドを生成する。
【0007】尚、上記に示した一連の処理手順は、必要
に応じて改ページ処理等を行いながら、全印刷ページを
構成する全バンドを処理し終えるまで続けられる。
【0008】図17は、従来のRaster系プリンタ
ドライバの処理内容をフローチャートで示したものであ
る。
【0009】まず、プリンタドライバはアプリケーショ
ンからの描画命令を受け付ける(S1701)。次にそ
の描画命令が印刷開始を意味するものであるかどうかを
判定し(S1702)、もし印刷開始要求ならば(S1
702−Yes)、ラスタライズされた印刷イメージを
記憶しておくメモリ領域(バンドメモリ)をホストコン
ピュータのRAM上へ確保し、初期化を行い(S170
3)、再びアプリケーションからの描画命令を受け付け
る。
【0010】S1702において、アプリケーションか
ら受け付けた描画命令が印刷開始を意味するものではな
いと判定された場合には(S1702−No)、続い
て、印刷終了を意味するものかどうかを判定し(S17
04)、印刷終了でないと判定された場合には(S17
04−No)、描画要求の場合にのみ、その要求内容に
応じた印刷イメージを構築(ラスタライズ)し、バンド
メモリへ記憶する(S1705)。
【0011】S1705の処理は、処理中のバンド領域
に対するアプリケーションからの描画命令が終わったと
判定される(S1706)まで繰り返される。S170
6において、処理中のバンド領域に対する描画命令が終
わったと判定された場合には(S1706−Yes)、
S1707へ進み、バンド領域を適切に細分化し、細分
化されたそれぞれの領域に対応するプリンタ制御コマン
ドを生成する(S1707)。
【0012】尚、S1707を処理した後は、バンドメ
モリの初期化を行い(S1708)、再び、アプリケー
ションからの新しいバンド領域に対応する描画命令を受
け付け始める。前記S1704において、アプリケーシ
ョンから受け付けた描画命令が印刷終了を意味するもの
であると判断された場合には(S1704−Yes)、
バンドメモリをRAM上から解放し(S1709)、処
理を終了する。
【0013】
【発明が解決しようとする課題】このようなプリントシ
ステムでは、以下に示す4つの問題点があった。
【0014】即ち、複数の印刷モードを選択可能にも関
わらず、プリンタでの印刷スループットや適正な印刷が
行えるか等が何ら考慮されずに、利用者が選択した印刷
モードを使用して印刷処理が実行されるという第1の問
題点があった。
【0015】また、複数のプリンタ制御コマンド生成方
法を実行可能にも関わらず、プリンタでの印刷スループ
ットや適正な印刷が行えるか等が何ら考慮されずに、利
用者が明示的に選択したプリンタ制御コマンド生成手法
を用いて印刷処理が実行されるという第2の問題点があ
った。
【0016】また、プリンタでの印刷スループットや適
正な印刷が行えるか等が考慮されて、印刷モードが選択
されたにも関わらず、その印刷モードとは無関係に描画
命令が生成され、場合によってはその印刷モードに適さ
ない描画命令が生成される場合があるという第3の問題
点があった。
【0017】さらに、従来のRaster系プリンタド
ライバは、上記で示したように図17のステップ170
7において、実際に描画が行われていないバンド領域に
対応するプリンタ制御コマンドをも生成し、プリンタへ
送信していた。また、描画が行われたバンド領域に対応
するプリンタ制御コマンドのみを生成する場合でも、そ
れぞれの細分化領域へ描画が為されているかどうかを確
認する為に、逐一、そのバンドメモリ内容を全て確認し
なければならないという第4の問題点があった。
【0018】
【課題を解決するための手段】本発明は上記第1の問題
点を解決するために、予め設定した条件に応じて、その
条件に最適な印刷モードを選択でき、プリンタでの印刷
スループットを向上させ、また、適正な印刷結果を得る
ことができる印刷システム及び印刷制御装置及び方法を
提供することを目的とする。
【0019】また、本発明は上記第2の問題点を解決す
るために、予め設定した条件に応じて、その条件に最適
なプリンタ制御コマンド生成手法を選択できる、プリン
タでの印刷スループットを向上させ、また、適正な印刷
結果を得ることができる印刷システム及び印刷制御装置
及び方法を提供することを目的とする。
【0020】また、本発明は上記第3の問題点を解決す
るために、選択した印刷モードに適した形で描画命令を
受け取ることができる印刷システム及び印刷制御装置及
び方法を提供することを目的する。
【0021】また、本発明は上記第4の問題点を解決す
るために、バンド領域内の描画されていない領域に対応
するプリンタ制御コマンド生成処理を削減、もしくは削
除することができる印刷システム及び印刷制御装置及び
方法を提供することを目的とする。
【0022】上記目的を達成するため、本発明にかかる
印刷制御装置、印刷データ生成装置及び印刷制御方法及
び印刷データ生成方法、記憶媒体は主として以下の構成
からなることを特徴とする。
【0023】すなわち、プリンタに接続された印刷情報
を処理する印刷制御装置は、設定された条件に従って印
刷モードを選択する選択手段と、前記選択手段により選
択された前記印刷モードで、グラフィックエンジンが生
成した描画命令に応じて、印刷データをプリンタドライ
バに生成させる制御手段とを備える。
【0024】また、プリンタに接続された印刷情報を処
理する印刷制御装置は、設定された条件に従って印刷モ
ードを選択する選択手段と、前記選択手段により選択さ
れた前記印刷モードで、グラフィックエンジンが生成し
た描画命令に応じて、印刷データを生成する生成手段と
を備える。
【0025】また、印刷データ生成装置は、アプリケー
ションソフトウェアから受け付けた描画要求に基づき印
刷イメージを構築する印刷イメージ構築手段と、前記印
刷イメージ構築手段で構築された印刷イメージをバンド
メモリへ格納する格納手段と、前記印刷イメージ構築手
段により構築された印刷イメージの全てを包含する領域
情報を形成する領域形成手段と、前記バンドメモリをス
キャンライン単位に分割して、順番に前記保存されてい
る印刷イメージを読み出すバンドメモリ分割手段と、前
記分割されたスキャンラインと前記印刷イメージの全て
を包含する領域情報とが重複するか否かを判断する判断
手段と、前記判断に基づき、重複した部分の印刷イメー
ジに対応したプリンタ制御コマンドを生成する制御コマ
ンド生成手段とを備える。
【0026】また、印刷情報を処理する印刷制御方法
は、設定された条件に従って印刷モードを選択する選択
工程と、前記選択工程により選択された前記印刷モード
で、グラフィックエンジンが生成した描画命令に応じ
て、印刷データをプリンタドライバに生成させる制御工
程とを備える。
【0027】また、プリンタに接続された印刷情報を処
理する印刷制御方法は、設定された条件に従って印刷モ
ードを選択する選択工程と、前記選択工程により選択さ
れた前記印刷モードで、グラフィックエンジンが生成し
た描画命令に応じて、印刷データを生成する生成工程と
を備える。
【0028】また、印刷データ生成方法は、アプリケー
ションソフトウェアから受け付けた描画要求に基づき印
刷イメージを構築する印刷イメージ構築工程と、前記印
刷イメージ構築工程で構築された印刷イメージをバンド
メモリへ格納する格納工程と、前記印刷イメージ構築工
程により構築された印刷イメージの全てを包含する領域
情報を形成する領域形成工程と、前記バンドメモリをス
キャンライン単位に分割して、順番に前記保存されてい
る印刷イメージを読み出すバンドメモリ分割工程と、前
記分割されたスキャンラインと前記印刷イメージの全て
を包含する領域情報とが重複するか否かを判断する判断
工程と、前記判断に基づき、重複した部分の印刷イメー
ジに対応したプリンタ制御コマンドを生成する制御コマ
ンド生成工程とを備える。
【0029】また、印刷情報を処理する印刷制御プログ
ラムを格納する記憶媒体であって、前記プログラムが、
設定された条件に従って印刷モードを選択する選択工程
のコードと、前記選択工程により選択された前記印刷モ
ードで、グラフィックエンジンが生成した描画命令に応
じて、印刷データをプリンタドライバに生成させる制御
工程のコードとを備える。
【0030】また、印刷情報を処理する印刷制御プログ
ラムを格納する記憶媒体であって、前記プログラムが、
設定された条件に従って印刷モードを選択する選択工程
のコードと、前記選択工程により選択された前記印刷モ
ードで、グラフィックエンジンが生成した描画命令に応
じて、印刷データを生成する生成工程のコードとを備え
る。
【0031】また、印刷データ生成するプログラムを格
納する記憶媒体であって、前記プログラムが、アプリケ
ーションソフトウェアから受け付けた描画要求に基づき
印刷イメージを構築する印刷イメージ構築工程のコード
と、前記印刷イメージ構築工程で構築された印刷イメー
ジをバンドメモリへ格納する格納工程のコードと、前記
印刷イメージ構築工程により構築された印刷イメージの
全てを包含する領域情報を形成する領域形成工程のコー
ドと、前記バンドメモリをスキャンライン単位に分割し
て、順番に前記保存されている印刷イメージを読み出す
バンドメモリ分割工程のコードと、前記分割されたスキ
ャンラインと前記印刷イメージの全てを包含する領域情
報とが重複するか否かを判断する判断工程のコードと、
前記判断に基づき、重複した部分の印刷イメージに対応
したプリンタ制御コマンドを生成する制御コマンド生成
工程のコードとを備える。
【0032】
【発明の実施の形態】[第1の実施の形態]以下、本発
明を適用するのに好適である実施形態について説明を行
う。
【0033】<プリントシステムの構成>図1は本発明
の実施形態を示すプリンタ制御システムの構成を説明す
るブロック図である。なお、本発明の機能が実行される
のであれば、単体の機器であっても、複数の携帯からな
るシステムであっても、LAN,WAN等のネットワー
クを介して接続が為され処理が行われるシステムであっ
ても本発明を適用できることは言うまでもない。
【0034】図1において、ホストコンピュータ300
0は、ROM3のプログラム用ROMあるいは外部メモ
リ11に記憶された文書処理プログラム等に基づいて図
形、イメージ、文字、表(表計算等を含む)等が混在し
た文書処理を実行するCPU1を備え、システムバス4
に接続される各デバイスをCPU1が総括的に制御す
る。また、このROM3のプログラム用ROMあるいは
外部メモリ11には、CPU1の制御プログラムである
オペレーティングシステムプログラム(以下OS)等を
記憶し、ROM3のフォント用ROMあるいは外部メモ
リ11には上記文書処理の際に使用するフォントデータ
等を記憶し、ROM3のデータ用ROMあるいは外部メ
モリ11には上記文書処理等を行う際に使用する各種デ
ータを記憶する。
【0035】RAM2は、CPU1の主メモリ、ワーク
エリア等として機能する。キーボードコントローラ(K
BC)5は、キーボード9や不図示のポインティングデ
バイスからのキー入力を制御する。CRTコントローラ
(CRTC)6は、CRTディスプレイ(CRT)10
の表示を制御する。ディスクコントローラ(DKC)7
は、ブートプログラム、各種のアプリケーション、フォ
ントデータ、ユーザファイル、編集ファイル、プリンタ
制御コマンド生成プログラム(以下プリンタドライバ)
等を記憶するハードディスク(HD)、フロッピーディ
スク(FD)等の外部メモリ11とのアクセスを制御す
る。プリンタコントローラ(PRTC)8は、所定の双
方向性インターフェース(インターフェース)21を介
してプリンタ1500に接続されて、プリンタ1500
との通信制御処理を実行する。
【0036】なお、CPU1は、例えばRAM2上に設
定された表示情報RAMへのアウトラインフォントの展
開(ラスタライズ)処理を実行し、CRT10上でのい
わゆるWYSIWYG (What You See Is What You Ge
t)を可能としている。また、CPU1は、CRT10
上の不図示のマウスカーソル等で指示されたコマンドに
基づいて登録された種々のウィンドウを開き、種々のデ
ータ処理を実行する。ユーザは印刷を実行する際、印刷
の設定に関するウィンドウを開き、プリンタの設定や、
印刷モードの選択を含むプリンタドライバに対する印刷
処理方法の設定を行える。
【0037】一方、プリンタ1500において、プリン
タCPU12は、ROM13のプログラム用ROMに記
憶された制御プログラム等あるいは外部メモリ4に記憶
された制御プログラム等に基づいて、システムバス15
に接続される印刷部(プリンタエンジン)17に出力情
報としての画像信号を出力する。また、このROM13
のプログラムROMには、CPU12の制御プログラム
等を記憶する。ROM13のフォント用ROMには上記
出力情報を生成する際に使用するフォントデータ等を記
憶し、ROM13のデータ用ROMにはハードディスク
等の外部メモリ14がないプリンタの場合には、ホスト
コンピュータ上で利用される情報等を記憶している。C
PU12は入力部18を介してホストコンピュータとの
通信処理が可能となっており、プリンタ内の情報等をホ
ストコンピュータ3000に通知可能に構成されてい
る。
【0038】RAM19は、CPU12の主メモリ、ワ
ークエリア等として機能するRAMで、図示しない増設
ポートに接続されるオプションRAMによりメモリ容量
を拡張することができるように構成されている。なお、
RAM19は、出力情報展開領域、環境データ格納領
域、NVRAM等に用いられる。前述したハードディス
ク(HD)、ICカード等の外部メモリ14は、メモリ
コントローラ(MC)20によりアクセスを制御され
る。外部メモリ14は、オプションとして接続され、フ
ォントデータ、エミュレーションプログラム、フォーム
データ等を記憶する。また、操作パネル18には、操作
のためのスイッチおよびLED表示器等が配されてい
る。
【0039】また、前述した外部メモリは1個に限ら
ず、少なくとも1個以上備え、内蔵フォントに加えてオ
プションフォントカード、言語系の異なるプリンタ制御
言語を解釈するプログラムを格納した外部メモリを複数
接続できるように構成されていてもよい。さらに、図示
しないNVRAMを有し、操作パネル1501からのプ
リンタモード設定情報を記憶するようにしてもよい。
【0040】<プリントシステムの機能的な構成>図2
は、プリンタ等の印刷装置が直接、あるいはネットワー
ク経由で接続されているホストコンピュータにおけるプ
リントシステムの、機能ブロックによる構成図である。
図2のホストコンピュータ3000内の各ブロックは、
図1のシステムで、CPU1がプログラムを実行するこ
とで実現される機能ごとのブロックで示したものであ
る。アプリケーション201、グラフィックエンジン2
02、プリンタドライバ203、およびシステムスプー
ラ204は、外部メモリ11に保存されたファイルとし
て存在し、実行される場合にOSやそのモジュールを利
用するモジュールによってRAM2にロードされ実行さ
れるプログラムモジュールである。
【0041】また、アプリケーション201およびプリ
ンタドライバ203は、外部メモリ11のFDや不図示
のCD−ROM、あるいは不図示のネットワークを経由
して外部ディスク11のHDに追加することが可能とな
っている。外部メモリ11に保存されているアプリケー
ション201はRAM2にロードされて実行されるが、
このアプリケーション201からプリンタ1500に対
して印刷を行う際には、同様にRAM2にロードされ実
行可能となっているグラフィックエンジン202を利用
して出力(描画)を行う。
【0042】なお、グラフィックエンジン202として
は、マイクロソフト社のMS-Windowsにおけるグラフィッ
クデバイスインターフェイス(以下、GDI)などが挙げ
られる。GDIは、アプリケーションに対して、プリンタ
やディスプレイ等の出力デバイスに依存しない共通のグ
ラフィック用インターフェイスを提供するものである。
【0043】グラフィックエンジン202は、印刷装置
ごとに用意されたプリンタドライバ203を同様に外部
メモリ11からRAM2にロードし、アプリケーション
201の出力をプリンタドライバ203を用いてプリン
タの制御コマンドに変換する。変換されたプリンタ制御
コマンドはOSによってRAM2にロードされたシステ
ムスプーラ204を経てインターフェース21経由でプ
リンタ1500へ出力される仕組みとなっている。
【0044】本発明は、図2で示すプリンタとホストコ
ンピュータからなる印刷システムを前提としているが、
更に図3に示すように、アプリケーションからの印刷デ
ータを一旦中間コードデータでスプールするシステムで
実施することもできる。図3は、図2のシステムを拡張
したもので、グラフィックエンジン202からプリンタ
ドライバ203へ描画命令を送る際に、一旦中間コード
データからなるスプールファイル303を生成する構成
をとる。図2のシステムでは、アプリケーション201
が印刷処理から開放されるのは、プリンタドライバ20
3がグラフィックエンジン202からのすべての描画命
令をプリンタの制御コマンドヘ変換し終った時点であ
る。これに対し、図3のシステムでは、アプリケーショ
ン201が印刷処理から開放されるのは、スプーラ30
2がすべての描画命令を中間コードデータに変換し、ス
プールファイル303に出力した時点である。通常、後
者の方が短時間で済む。
【0045】また、図3で示すシステムにおいては、ス
プールファイル303の内容に対して加工することが可
能であり、これによりアプリケーションからの印刷デー
タに対して、拡大縮小や、複数ページを1ページに縮小
して印刷する等、アプリケーションの持たない機能を実
現することができる。これらの目的のために、図2のシ
ステムに対し、図3の様に中間コードデータでスプール
するようにシステムの拡張がなされてきている。なお、
印刷データの加工を行うためには、通常プリンタドライ
バ203が提供するウィンドウから設定を行い、プリン
タドライバ203がその設定内容をRAM2上あるいは
外部メモリ11上に保管する。
【0046】図3で示すシステムに本発明を実施するこ
とにより、前記したように、アプリケーションやプリン
タドライバ自身が持っていない機能を提供しながら、予
め設定した条件に応じて、その条件に最適な印刷モード
を選択でき、プリンタでの印刷スループットを向上さ
せ、また、適正な印刷結果を得ることができる印刷シス
テム及び印刷制御装置及び方法を提供することができ
る。
【0047】<プリント動作の概要>以下、図3のプリ
ントシステムの詳細を説明する。図3に示すとおり、こ
の拡張された処理方式では、グラフィックエンジン20
2からの描画命令をディスパッチャ301が受け取る。
ディスパッチャ301がグラフィックエンジン202か
ら受け取った描画命令が、アプリケーション201から
グラフィックエンジン202へ発行された描画命令の場
合には、ディスパッチャ301は、外部メモリ11に格
納されているスプーラ302をRAM2にロードし、プ
リンタドライバ203ではなくスプーラ302へ描画命
令を送付する。
【0048】スプーラ302は、受け取った描画命令を
中間コードに変換してスプールファイル303に出力す
る。また、スプーラ302は、プリンタドライバ203
に対して設定されている印刷データに関する加工設定を
プリンタドライバ203から取得し、スプールファイル
303に保存する。なお、スプールファイル303は外
部メモリ11上にファイルとして生成するが、RAM2
上に生成することも可能である。更にスプーラ302
は、外部メモリ11に格納されているスプールファイル
マネージャ304をRAM2にロードし、スプールファ
イルマネージャ304に対してスプールファイル303
の生成状況を通知する。
【0049】その後、スプールファイルマネージャ30
4は、スプールファイル303に保存された印刷データ
に関する加工設定の内容に従い、再度グラフィックエン
ジン202を利用して印刷を行えると判断した際には、
外部メモリ11に格納されているデスプーラ305をR
AM2にロードし、デスプーラ305に対して、スプー
ルファイル303に記述された中間コードデータの印刷
処理を行うように指示する。
【0050】デスプーラ305は、スプールファイル3
03に含まれる中間コードデータをスプールファイル3
03に含まれる加工設定の内容に従って加工し、もう一
度グラフィックエンジン202経由で出力する。ディス
パッチャ301がグラフィックエンジン202から受け
取った描画命令が、デスプーラ305からグラフィック
エンジン202へ発行された描画命令の場合には、ディ
スパッチャ301はスプーラ302ではなく、プリンタ
ドライバ203に処理を切り替える。プリンタドライバ
203はプリンタ制御コマンドを生成し、システムスプ
ーラ204経由でプリンタ1500に出力がなされる。
【0051】<印刷モード>本実施形態では、プリンタ
の持つ複数の印刷モードの切り換えの例として、次に示
すような大きく異なる2つのプリンタ制御コマンド生成
手法を動的に切り替える場合を示す。このプリンタ制御
コマンド生成手法が実行されるのは、プリンタドライバ
203上であり、プリンタドライバ203の生成したプ
リンタ制御コマンドの内容に従って、そのコマンドを受
け取ったプリンタ1500の印刷モードが決定されるこ
とになる。以下、まず、プリンタドライバ203におけ
る2つのプリンタ制御コマンド生成手法をフローチャー
ト等を用いて説明する。
【0052】なお、これらのフローチャートで示される
処理は、図2に示したホストコンピュータにおける標準
的な印刷システムのブロック図、および図3に示した図
2を拡張した印刷システムのブロック図で示される印刷
システム上で実行可能である。ホストコンピュータ30
00上において、OSの管理のもとに、ユーザ等の指示
によってRAM2ヘロードされて動作するアプリケーシ
ョン201が印刷処理を開始した際に、同じくRAM2
へロードされたプリンタドライバ203により、図4に
示すベクタグラフィック印刷モード、または図5に示す
ラスタグラフィック印刷モードのどちらかのモードでプ
リンタ制御コマンドが生成される。
【0053】ベクタグラフィック印刷モードにおいて
は、プリンタドライバ203は図4に示した手順で動作
する。
【0054】プリンタドライバ203は、グラフィック
エンジン202を介したアプリケーション201からの
描画命令を受け付け(ステップ401)、各々の描画命
令(例えば線の描画等)に対応したプリンタ制御(描
画)コマンドデータを生成する(ステップ402)。生
成されたプリンタ制御コマンドデータはRAM2または
外部メモリ11等ヘシステムスプーラ204によりスプ
ールされる(ステップ403)。これらの処理はアプリ
ケーション201及びグラフィックエンジン202によ
る描画処理が終了するまで繰り返し行われる(ステップ
404)。描画処理が終了すると、システムスプーラ2
04によりスプールされていたプリンタ制御コマンドデ
ータがプリンタ1500に対して送信される(ステップ
405)。
【0055】プリンタドライバ203によって実行され
るベクタグラフィックス印刷モードにおけるプリンタ制
御コマンド生成手法の特徴は、線等のベクタグラフィッ
クスに対応した幾何学的な画像を生成するためのプリン
タ制御(描画)コマンドをプリンタヘ送信するので、プ
リンタ1500のプログラムROM13からRAM19
ヘロードされたプログラムによって、印刷イメージの生
成(ラスタライズ)が行われることである。
【0056】次に、図5に示したラスタグラフィック印
刷モードにおける手法を説明する。プリンタドライバ2
03は、ホストコンピュータ3000上で同プリンタド
ライバ203によってラスタライズされる印刷イメージ
を格納しておくメモリ領域(以下、バンドメモリ)をR
AM2上へ確保してから(ステップ501)、グラフィ
ックエンジン202を介したアプリケーション201の
描画命令を受け付ける(ステップ502)。受け付けら
れた各描画命令(例えば、線の描画等)は、プリンタド
ライバ203によって、即座に印刷イメージヘラスタラ
イズされ(ステップ503)、バンドメモリ上へ記憶さ
れる。この処理はアプリケーション201及びグラフィ
ックエンジン202による描画処理が終了するまで繰り
返し行われる(ステップ504)。描画処理が終了する
と、バンドメモリヘ格納された印刷イメージは、プリン
タドライバ203が、必要があれば細分化等を行い、ビ
ットマップデータの描画に対応する複数のプリンタ制御
(描画)コマンドヘ変換し(ステップ505)、システ
ムスプーラ204に対して出力を行う(ステップ50
6)。システムスプーラ204はスプールしておいたプ
リンタ制御コマンドをプリンタに対して送信し(ステッ
プ507)、プリンタドライバ203はバンドメモリを
開放する(ステップ508)。
【0057】プリンタドライバ203によって実行され
る上記ラスタグラフィックス印刷モードにおけるプリン
タ制御コマンド生成手法の特徴は、線等の描画命令は、
ホストコンピュータ3000上のRAM2ヘロードされ
て動作するプリンタドライバ203によりラスタライズ
されるので、基本的に、プリンタ1500へはビットマ
ップイメージに対応したプリンタ制御(描画)コマンド
が大勢を占めて送信されるということである。
【0058】<ホストコンピュータのメモリマップ>図
6は、本実施形態における印刷モード制御プログラムを
含む印刷関連モジュールがホストコンピュータ3000
上のRAM2ヘロードされ、実行可能となった状態のメ
モリマップを示している。
【0059】図7は、外部メモリ11等に生成される中
間コードデータ一時保存ファイルの内容を示したもので
ある。尚、図中において、[ジョブ開始命令]、「改ペ
ージ命令]等の表記があるが、これらはファイル中の中
間コードを便宜的に分かり易くするための表記であり、
実際は、バイナリ形式で同中間コードは格納されてい
る。
【0060】<プリント制御手順>以下、フローチャー
ト等を用いて、本発明の一実施形態について詳しく述べ
る。図9は、本実施形態の印刷手順を示すホストコンピ
ュータのディスパッチャ301及びスプーラ302によ
る処理手順のフローチャートである。この手順は、図3
のプリントシステムにより実行されるものだが、図9に
おけるスプール処理要求をすべて”No”とした場合に
は、図2のシステムにおいても実行することができる。
【0061】まず、グラフィックエンジン202からの
初期化要求であるかの判定処理(ステップ901)が行
われる。初期化要求はジョブ開始要求に先立って、必ず
送られてくるものとする。また、プリンタドライバ20
3又はスプーラ302は現在の印刷モードに準じた出力
能力(ケーパビリティ)をグラフィックエンジン202に
知らせることにより、グラフィックエンジン202はそ
の出力能力に準じた形で印刷データを送ることになる。
例えば、現在の印刷モードがベクタグラフィック印刷モ
ードである場合には、プリンタドライバ203又はスプ
ーラ302は円描画や矩形描画などの出力能力がある旨
をグラフィックエンジン202へ通知する。一方、現在
の印刷モードがグラフィック印刷モードであれば、プリ
ンタドライバ203又はスプーラ302は円描画や矩形
描画などの出力能力がない旨をグラフィックエンジン2
02へ通知する。すると、グラフィックエンジン202
はその出力能力に適した形で描画命令を出力する。
【0062】ここで、グラフィックエンジン202から
の初期化要求である場合(S901−YES)、次のスプー
ル処理の要求があるかの判定(ステップ902)が行わ
れる。ここでいうスプール処理の要求とは、ユーザーが
明示的に指定するもので、ユーザーが何らかの目的(ア
プリケーションの開放促進、特殊印刷等)を持って選択
するものである。
【0063】もしスプール処理の要求がなければプリン
タドライバの初期化処理(ステップ908)を行い、グ
ラフィックエンジン202へと処理が戻される。ここで
はスプール処理の要求があったとする(S902−YE
S)。すると次に、予め登録されたアプリケーション名
称の取得処理(ステップ903)が行われる。本実施形
態では、デフォルトでベクタグラフィックス印刷モード
であるものと仮定している。このため、ラスタグラフィ
ックス印刷モードヘの切り替えを行った方が平均的に高
い印刷スループットが得ることができたり、または適正
な印刷結果を得ることができると思われるアプリケーシ
ョン名称を、スプール処理モジュールの内部で事前にテ
ーブル上に列挙しておく。ここからステップ903でア
プリケーション名称が取得される。
【0064】次に、アプリケーションよりその名称の取
得処理(ステップ904)が行われる。これは、グラフ
ィックエンジン202を介してアプリケーション名称を
取得する処理である。この処理により初期化要求を出し
ているアプリケーションの名称を取得することができ
る。そして、これらのアプリケーション名称が一致する
かの判定処理(ステップ905)が行われる。すなわ
ち、取得されたアプリケーション名称が、ステップ90
3において取得しておいたアプリケーション名称と一致
するかを判定する処理である。
【0065】ここで一致する、つまり、印刷モードをベ
クタグラフィックス印刷モードからラスタグラフィック
ス印刷モードヘ切り替えると判定された場合(S905
−YES)、次の印刷モードの変更処理(ステップ90
6)が行われる。ここでいう印刷モードの変更処理と
は、中間コードデータの保存ファイルを再度、プリンタ
制御コマンドヘデスプールする際に必要となる印刷モー
ドの切り替え処理であり、後のデスプールの際に使用さ
れる。プリンタドライバ203は、この印刷モードに応
じて図4または図5の手順でプリンタ制御コマンドを生
成する。
【0066】また、ここで、グラフィックエンジン20
2へ通知する出力能力(ケーパビリティ)を、ベクタグラ
フィックス印刷モードにおける出力能力からラスタグラ
フィックス印刷モードにおける出力能力へ変更する。こ
れにより、グラフィックエンジン202は後の描画命令
をラスタグラフィックス印刷モードに適した形で送るこ
とになる。
【0067】ここでは、予め登録されたアプリケーショ
ンはベクタグラフィックス印刷モードよりラスタグラフ
ィックス印刷モードの方が高いパフォーマンスを得るこ
とが出来る、また、正確な印字結果を得ることが出来る
と仮定されているので、この処理により、常に最適な印
刷データをもたらし、最適な印刷モードを選択すること
ができるようになる。
【0068】その後、スプール処理のための初期化処理
(ステップ907)が行われる。これにより、これ以降
のグラフィックエンジン202からの印刷処理要求をス
プールすることが可能となる。そして、ドライバの初期
化処理(ステップ908)がなされ、グラフィックエン
ジン202へとその処理が戻り、初期化時における処理
が終了する。
【0069】また、グラフィックエンジン202からの
初期化要求であるかの判定処理(ステップ901)によ
り、初期化処理要求ではないと判定された場合(S90
1−NO)、グラフィックエンジン202からのジョブ開
始要求であるかの判定処理(ステップ909)が行われ
る。ここではスプールの一連の処理を説明するために、
ジョブ開始要求であるとする(S909−YES)。ジョブ
開始要求である場合、スプール処理要求があるかの判定
処理(ステップ910)が行わる。ここではスプール処
理要求があったと判定されるとする(S910−YES)。
すると、ホストコンピュータ3000上の外部メモリ1
1等へ中間コードデータを作成し、中間コードデータを
一時保存するためのファイルをオープンする処理(ステ
ップ911)が行われる。
【0070】そして、ジョブ開始要求に対応する中間コ
ードを生成し、同ファイルヘ保存する処理(ステップ9
12)が行われる。これにより後のデスプールに必要な
中間コードデータの生成が始まるわけである。
【0071】また、グラフィックエンジン202からの
ジョブ開始要求であるかの判定処理(ステップ909)
において、ジョフ開始要求でないと判定された場合(S
909−NO)、次にジョブ終了要求かどうかの判定処理
(ステップ913)が行われる。ここではジョブ終了要
求ではないと判定されたとする(S913−NO)。する
と、その他各要求に伴う処理(ステップ919)が行わ
れる。これには、描画に必要な情報である中間コードデ
ータをファイルヘ保存する処理や、グラフィックエンジ
ン202へ情報を提供する処理等が含まれる。これによ
り、あるジョブの一連の描画命令が処理され、デスプー
ルに必要な中間コードデータが順次、生成される。
【0072】また、ここでは、送られてくる描画命令を
印刷モードに適した形へ変換することや、複数の描画命
令を1つのコマンドに生成し直す等の操作をする必要が
ない。前記のように、初期化時にグラフィックエンジン
202へ出力能力(ケーパビリティ)を通知しているた
め、ここで送られてくる描画命令は既に現在の印刷モー
ドに適した形になっているからである。
【0073】また、ジョブ終了要求かどうかの判定処理
ステップ(ステップ913)により、ジョブ終了要求で
あったと判定された場合(S913−YES)、スプール処
理要求があるかの判定処理ステップ(ステップ914)
が行われる。ここでは、スプール処理要求があったと判
定されるとする。すると、ジョブ終了要求に対応する中
間コードを生成し、ファイルヘ保存する処理(ステップ
915)が行われ、中間コードデータの保存ファイルの
クローズ処理(ステップ916)が行われる。これら一
連の処理が中間コードデータのスプールに関する処理で
ある。
【0074】このように、ベクタグラフィックス印刷モ
ードや、ラスタグラフィックス印刷モードを事前の登録
に応じて自動的に選択することにより、高い印刷パフォ
ーマンスと適正な印字結果を得ることができる。
【0075】本実施形態では、ラスタグラフィック印刷
モードの方が平均的に高い印刷スループットが得ること
ができたり、または適正な印刷結果を得ることができる
と思われるアプリケーション名称を登録することによ
り、それぞれのアプリケーションに適した印刷モードを
自動的に選択することが可能である。ただし、単にアプ
リケーション名称だけで印刷モードを決定するのではな
く、アプリケーション名称とその文書タイプの組み合わ
せや単なる文書タイプによって印刷モードを決定しても
よい。例えば、ある特定のアプリケーションによる図形
入り文書の場合は、印刷モードをラスタグラフィック印
刷モードにする旨を登録しておき、より的確に印刷モー
ドを決定しても良い。その際には、図9のステップS9
04では、アプリケーションの名称を取得するととも
に、印刷する文書に図形が入っているか否かも取得す
る。また、アプリケーションによらず、文書が図形入り
の場合には印刷モードをラスタグラフィック印刷モード
にする旨を登録してもよい。
【0076】また、図8は、図9をより一般化して本発
明の概略を説明した図である。図8では、アプリケーシ
ョンの名称に限らず、印刷モードの変更に関するより一
般的な条件をステップ803で取得する。そして、ステ
ップ805では、その一般化された条件にアプリケーシ
ョンが適合するか判定する。その他の処理は図9と同様
である。
【0077】尚、本実施形態に示した機能は、外部から
インストールされるプログラムによってホストコンピュ
ータ3000により遂行されても良い。その場合、その
機能が外部メモリ11であるCD−ROMやフラッシュ
メモリやFD等の記憶媒体により、或いは、電子メール
やパソコン通信等のネットワークを介して外部の記憶媒
体から、プログラムを含む情報群を出力装置やホストコ
ンピュータ3000を含むシステム内にロードすること
により、ホストコンピュータ3000或いは出力装置は
上述した機能を実現する。
【0078】[第2の実施の形態]第2の実施の形態
は、図1及び図3のシステムで実現される。本実施の形
態においては、例えば1枚ずつ印刷する機能の他に、フ
ォームデータと合成するオーバーレイ機能や、Nページ
のデータを縮小して1枚の用紙上に印刷するN−up機
能等、複数の印刷機能を有するプリントシステムを説明
する。そのようなプリントシステムにおいて、ホストコ
ンピュータ3000のRAM2上ヘロードされて動作す
るアプリケーション201からプリンタドライバ203
又はスプーラ302が有する特定の機能による印刷要求
があった場合、要求された機能に適した印刷モードを選
択して、その印刷モードで中間コードからプリンタ15
00へ送信するプリンタ制御コマンドを生成する。以
下、図10のフローチャートを用いて詳しく説明する。
図10は、第1の実施形態の図9に代えて本実施形態で
用いられる。
【0079】図10に示すように、上記実施形態と同様
に、グラフィックエンジン202からの初期化要求であ
るかの判定処理(ステップ1001)が行われる。初期
化要求はジョブ開始要求に先立って、必ず送られてくる
ものとする。ここで、グラフィックエンジン202から
の初期化要求でない場合は(S1001−NO)、その他
各要求に伴うスプール処理(ステップ1009)、つま
り、図9に示すステップS909からS919と同等の
処理が行われる。そして、グラフィックエンジン202
からの初期化要求である場合(S1001−YES)、次の
スプール処理の要求があるかの判定処理(ステップ10
02)が行われる。
【0080】もしスプール処理の要求がなければプリン
タドライバ203の初期化処理を行い(ステップ100
8)、グラフィックエンジン202へと処理が戻され
る。ここではスプール処理の要求があったとする(S1
002−YES)。すると次に、予め登録された特定の機
能の取得処理(ステップ1003)が行われる。ここで
いう特定の機能とは、例えば、スプーラ302が保有す
る、N−up機能(一枚の紙に複数ページを縮小して印
刷)、デバイスが保有するオーバーレイ機能(デバイス
に特別なエスケープを送ることにより実現されるグラフ
ィックの重ね合わせ機能)等のことを指す。
【0081】この予め登録された特定機能は、次のよう
な理由で選ばれる。すなわち、指定された機能によって
は、その機能に適した印刷モードが決定できる場合があ
る。例えば、大量ページを印刷するようなN−up機能
では、ベクタグラフィックス印刷モードよりラスタグラ
フィック印刷モードの方が印刷時間の短縮を図れる。ま
た、オーバーレイ機能はベクタグラフィック印刷モード
のみで有効ある等の条件がある場合もある。そこで、デ
フォルトでベクタグラフィック印刷モードであり、大量
ページを印刷するようなN−up機能が、ラスタグラフ
ィック印刷モードで印刷すべき機能として予め登録され
ている。
【0082】次に、ユーザから指定された機能の取得処
理(ステップ1004)が行われる。これはユーザーが
明示的に行う印刷設定を取得する処理である。これによ
り現在指定されている有効な特定機能を取得することが
できる。そして、ステップ1004で取得された特定機
能がステップ1003で取得された特定機能と−致する
かの判定処理(ステップ1005)が行われる。すなわ
ち、ステップ1004で取得された機能が、印刷モード
をラスタグラフィック印刷モードに切り替える条件とし
てステップ1003でテーブルより取得しておいた特定
機能と一致するかを判定する処理である。
【0083】大量ページを印刷するようなN−up機能
が指定されていれば、このN−up機能は予め登録され
ている特定機能であるため、両者は一致するものと判定
される。すなわち、印刷モードをベクタグラフィックス
印刷モードからラスタグラフィックス印刷モードヘ切り
替えると判定される。これにより、印刷モードの変更処
理(ステップ1006)が行われる。ここでいう印刷モ
ードの変更処理(ステップ1006)とは、中間コード
データを再度プリンタ制御コマンドヘデスプールする際
に必要となる印刷モードの切り替え処理であり、後のデ
スプールの際に使用される。
【0084】また、ここで、前記実施形態同様、グラフ
ィックエンジン202へ通知する出力能力(ケーパビリ
ティ)をベクタグラフィックス印刷モードにおける出力
能力からラスタグラフィックス印刷モードにおける出力
能力へ変更する。これにより、グラフィックエンジン2
02は後の描画命令をラスタグラフィックス印刷モード
に適した形で送ることになる。
【0085】ここでは、N−up機能印刷ではベクタグラ
フィックス印刷モードよりラスタグラフィックス印刷モ
ードの方が高いパフォーマンスを得ることが出来ると仮
定されているので、この処理により、常に最適な印刷デ
ータをもたらし、最適な印刷モードを選択することがで
きるようになる。
【0086】その後、スプール処理のための初期化処理
(ステップ1007)が行われる。これにより、これ以
降のグラフィックエンジン202からの印刷処理要求を
スプールすることが可能となる。そして、プリンタドラ
イバ203の初期化処理(ステップ1008)がなさ
れ、グラフィックエンジン202へとその処理が戻る。
【0087】いったん初期化時に印刷モードが決定され
れば、それ以降、印刷データは決定されたモードにした
がってプリンタに送出される。
【0088】このように、ベクタグラフィックス印刷モ
ードや、ラスタグラフィックス印刷モードといった印刷
モードを、ユーザに指定された特定機能と、予め登録さ
れた特定機能とを比較することにより選択することで、
高い印刷パフォーマンス、又は適正な印字結果を得ると
いう事が可能となる。
【0089】[第3の実施の形態]第3の実施の形態
は、図1及び図3のシステムで実現される。本実施の形
態によれば、印刷を行なおうとするプリントシステムが
複数のハードウェア特性を持つ場合に、コンピュータ3
000のRAM2上ヘロードされて動作するプリンタド
ライバ203から印刷要求があった場合、ハードウエア
特性に適した印刷モードを求め、その印刷モードで中間
コードデータからプリンタ1500へ送信するプリンタ
制御コマンドを生成する。なお図11は、第1の実施形
態の図9に代えて本実施形態で用いられる。
【0090】図11に示すように、まず、グラフィック
エンジン202からの初期化要求であるかの判定処理
(ステップ1101)が行われる。初期化要求はジョブ
開始要求に先立って必ず送られてくるものとする。ここ
で、グラフィックエンジン202からの初期化要求でな
い場合(S1101−NO)、その他各要求に伴うスプー
ル処理(ステップ1109)、つまり、図9に示すステ
ップ909から919と同等の処理が行われる。そし
て、グラフィックエンジン202からの初期化要求であ
る場合(S1101−YES)、次のスプール処理の要求が
あるかの判定処理(ステップ1102)が行われる。も
しスプール処理の要求がなければプリンタドライバ20
3の初期化処理(ステップ1108)を行い、グラフィ
ックエンジン202へと処理が戻される。ここではスプ
ール処理の要求があったとする(S1102−YES)。
【0091】すると次に、予め登録されたハードウェア
条件の取得処理(ステップ1103)が行われる。ここ
でいうハードウェア条件とは、例えば、プリンタが保有
するRAM容量、プリンタの有するフォント等のことを
指す。予め登録されるハードウエア条件とは、次のよう
に決定される。すなわち、例えば、プリンタがコマンド
を展開するのに必要なRAM容量が少ない場合、ベクタ
グラフィックス印刷モードよりラスタグラフィックス印
刷モードの方が印刷時間の短縮を図れるとする。この場
合には、RAM容量がある一定値以下の場合、ラスタグ
ラフィックス印刷モードで印刷すべき機能として予め登
録しておく。
【0092】次に、印刷を行うシステムにおけるハード
ウェア要素の取得処理(ステップ1104)が行われ
る。ここでは、現在印刷を行おうとしているプリンタの
ハードウェア要素、例えば、コマンドを展開するのに利
用できるメモリ容量を取得することができる。そして、
このハードウエア要素が、ステップ103で取得したハ
ードウエア条件を満たしているかの判定処理(ステップ
1105)が行われる。すなわち、取得されたハードウ
ェア要素が、先に印刷モードを切り替える条件としてテ
ーブルより取得しておいたハードウェア条件と一致する
かの処理である。ここで、プリンタは予め設定された条
件である容量以下のRAM容量しか持たないものとすれ
ば、ハードウエア要素は条件に適合する、つまり、印刷
モードをベクタグラフィックス印刷モードからラスタグ
ラフィックス印刷モードヘ切り替えると判定される。
【0093】これにより、印刷モードの変更処理(ステ
ップ1106)が行われる。ここでいう印刷モードの変
更処理(ステップ1106)とは、中間コードデータの
保存ファイルを再度プリンタ制御コマンドヘデスプール
する際に必要となる印刷モードの切り替え処理であり、
後のデスプールの際に使用される。その後、スプール処
理のための初期化処理(ステップ1107)が行われ
る。
【0094】また、ここで、前記実施形態同様、グラフ
ィックエンジン202へ通知する出力能力(ケーパビリ
ティ)をベクタグラフィックス印刷モードにおける出力
能力からラスタグラフィックス印刷モードにおける出力
能力へと変更する。これにより、グラフィックエンジン
202は後の描画命令をラスタグラフィックス印刷モー
ドに適した形で送ってくることになる。ここでは、取得
されたハードウェア要素ではベクタグラフィックス印刷
モードよりラスタグラフィックス印刷モードの方が高い
パフォーマンスを得ることが出来ると仮定されているの
で、この処理により、常に最適な印刷データをもたら
し、最適な印刷モードを選択することができるようにな
る。
【0095】これにより、これ以降のグラフィックエン
ジン202からの印刷処理要求をスプールすることが可
能となる。そして、プリンタドライバ203の初期化処
理(ステップ1108)がなされ、グラフィックエンジ
ン202へとその処理が戻る。
【0096】このように、印刷モードをベクタグラフィ
ックス印刷モードにするか、ラスタグラフィックス印刷
モードにするかを印刷を行うデバイスのハードウェア条
件により自動的に選択することにより、高い印刷パフォ
ーマンス、又は適正な印字結果を得るという事が可能と
なる。
【0097】[第4の実施の形態]本実施の形態によれ
ば、コンピュータ3000のRAM2上ヘロードされて
動作するプリンタドライバ203から印刷要求があった
場合、印刷処理に適した印刷モードを求めるために、そ
の印刷モードの決定のための条件をプリンタの特徴に依
存するプリンタドライバ203より取得する。この取得
された条件に応じて印刷モードを決定し、その印刷モー
ドで中間コードデータからプリンタ1500へ送信する
プリンタ制御コマンドを生成する。
【0098】本実施の形態では、図9のステップ903
に代えて図12の手順を行う。すなわち、適当と考えら
れる印刷モードを決定するために、印刷モードの決定条
件をプリンタドライバ203から取得する(ステップ1
201)。これは、プリンタ又はプリンタドライバ20
3により適切な印刷モードを得るための条件が与えら
れ、その条件を用いて印刷モードが切り替えられること
を意味する。ここで、その条件としては、第1の実施の
形態のように、アプリケーションによって印刷モードを
選択するようにしてもよい。つまり、印刷モードを変更
すべきアプリケーションの名称を登録しておき、この
後、ステップ905で条件に一致するかの判定処理に用
いられる。もちろんステップ1201で得られる条件は
アプリケーションの名称に限らず、第3の実施の形態の
ようにハードウェア特性、具体的にはプリンタのメモリ
容量等であってもよい。
【0099】このように判定条件を各デバイスの特徴に
依存するプリンタドライバ203より取得することで、
ディスパッチャ301又はスプーラ302自体はその判
定条件を持たず、ベクタグラフィックス印刷モード、ラ
スタグラフィックス印刷モードの切り替えを自動的に行
い、高い印刷パフォーマンス、又は適正な印字結果を得
るという事が可能となる。更に、各デバイスの特徴に依
存するプリンタドライバ203にデバイスのハードウェ
ア要素を記憶させておき、ハードウェア要素もプリンタ
ドライバ203から取得するようにしても良い。この場
合、ハードウェア特性を印刷モードの選択条件とするよ
うな場合、ハードウェア要素をデバイスから取得する必
要がなく、デバイスとの通信による処理速度の低下を防
ぐことができる。
【0100】[第5の実施の形態]本実施の形態は、図
3のプリントシステムにおいて実現される。図13は、
本発明の第5の実施の形態の概略を説明した図である。
図14は、図13のステップ1302及びステップ13
04における「条件」をより具体的に記載した、ディス
パッチャ301及びスプーラ302による処理手順のフ
ローチャートである。
【0101】以下、図14のフローチャート等を用い
て、本実施形態について詳しく述べる。
【0102】本実施形態では、図2で示すプリンタとホ
ストコンピュータからなる印刷システムと、図3に示す
アプリケーションからの印刷データを一旦中間コードデ
ータでスプールするシステムとが共存できることを前提
としている。そして、本実施形態では、後者のシステム
で印刷しようとした場合、アプリケーションやプリンタ
ドライバの持っていない機能を用いることが出来る反
面、ごく稀にアプリケーションによっては、パフォーマ
ンスの劣化を引き起こしたり、不正な印字を起こす場合
があると仮定する。よって、本実施の形態では、アプリ
ケーションによって、プリンタ制御コマンドを生成する
に当たり、中間コードをデータを生成するか、中間コー
ドデータを生成しないかが選択される。
【0103】まず、グラフィックエンジン202からの
初期化要求であるかの判定処理(ステップ1401)が
行われる。初期化要求はジョブ開始要求に先立って、必
ず送られてくるものとする。
【0104】グラフィックエンジン202からの初期化
要求である場合(S1401−YES)、予め登録され
てテーブル等に列挙されたアプリケーション名称の取得
処理(ステップ1402)が行われる。これは、図13
でいう中間コードデータを作成するかの判定条件(ステ
ップ1302)に相当する。これがもとになり、後に中
間コードデータを作成するかが決定される。本実施の形
態では、デフォルトで中間コードデータを作成するもの
とする。すなわち、中間コードデータを作成せずに直接
プリンタ制御コマンドを発行した方が平均的に高い印刷
スループットが得ることができる場合、または適正な印
刷結果を得ることができると思われる場合には、デフォ
ルトの設定から中間コードデータを生成しないプリンタ
制御コマンド生成手法に変更する処理を行う。デフォル
トが中間コードデータを作成しないとなっても同様の手
順が適用できることは言うまでもない。
【0105】次に、アプリケーションより、その名称の
取得処理(ステップ1403)が行われる。これはグラ
フィックエンジン202を介し、アプリケーション名称
を取得する処理である。この処理により初期化要求を出
しているアプリケーションの名称を取得することができ
る。そして、これらのアプリケーション名称が一致する
かの判定処理(ステップ1404)が行われる。すなわ
ち、取得されたアプリケーション名称が、ステップ14
02で印刷モードを切り替える条件としてテーブルより
取得しておいたアプリケーション名称と一致するかの処
理である。
【0106】ここで一致すると判定された場合(S14
04−YES)、プリンタ制御コマンドの生成処理にお
いて、中間コードデータを生成しないものと決定する。
そのために、プリンタ制御コマンド生成手法の変更処理
(ステップ1406)が行われる。ここでいうプリンタ
制御コマンド生成手法の変更処理(ステップ1406)
とは、この一連の初期化処理の後、スプール処理要求で
あるかの判定処理に用いられるフラグ等の処理である。
【0107】また、ここで一致しないと判定された場合
(S1404−NO)、つまり、プリンタ制御コマンド
の生成処理において中間コードデータを生成すると決定
された場合、スプール処理のための初期化処理(ステッ
プ1405)が行われる。これにより、これ以降のグラ
フィックエンジン202からの印刷処理要求をスプール
することが可能となる。そして、プリンタドライバ20
3の初期化処理(ステップ1407)がなされ、グラフ
ィックエンジン202へとその処理が戻り、初期化時に
おける処理が終了する。
【0108】また、グラフィックエンジン202からの
初期化要求であるかの判定処理(ステップ1401)に
より、初期化処理要求ではないと判定された場合には
(S1401−NO)、グラフィックエンジン202か
らのジョブ開始要求であるかの判定処理(ステップ14
08)が行われる。ここではスプールの一連の処理を説
明するために、ジョブ開始要求であるとする(S140
8−YES)。ジョブ開始要求である場合、スプール処
理要求があるかの判定処理(ステップ1409)が行わ
れる。ここでは、初期化時のプリンタ制御コマンド変更
の条件に一致するかの判定(ステップ1404)におい
て、一致しない、つまり、プリンタ制御コマンドの生成
処理において、中間コードデータを生成すると判定され
たとすると、スプール処理要求があったと判定される。
【0109】その場合、ホストコンピュータ3000上
の外部メモリ11等へ、作成された中間コードデータを
一時保存する為のファイルをオープンする処理(ステッ
プ1410)が行われる。そして、ジョブ開始要求に対
応する中間コードを生成し、同ファイルヘ保存する処理
(ステップ1411)が行われる。これにより後のデス
プールに必要な中間コードデータの生成が始まるわけで
ある。
【0110】また、前記の初期化時のプリンタ制御コマ
ンド変更の条件に一致するかの判定(ステップ140
4)において一致すると判定された場合、つまり、プリ
ンタ制御コマンドの生成処理において中間コードデータ
を生成しないと決定された場合には、スプール処理要求
があったかの判定処理(ステップ1409)において、
スプール処理要求がないと判定され(S1409−N
O)、中間コードデータを生成せずに直接プリンタ制御
コマンドを発行するためのプリンタドライバによるジョ
ブ開始処理(ステップ1412)が行われる。
【0111】また、グラフィックエンジン202からの
ジョブ開始要求であるかの判定処理(ステップ140
8)において、ジョブ開始要求でないと判定された場合
(S1408−NO)、次にジョブ終了要求かどうかの
判定処理(ステップ1413)が行われる。ここではジ
ョブ終了要求ではないと判定されたとする。すると、そ
の他各要求に伴う処理(ステップ1418)が行われ
る。これには、描画に必要な情報を中間コードデータフ
ァイルヘの保存処理や、グラフィックエンジン202へ
の情報の提供処理等が含まれ、これにより、あるジョブ
に関する一連の描画命令の処理が行われ、デスプールに
必要な中間コードデータの生成が順次なされていく。
【0112】また、ジョブ終了要求かどうかの判定処理
(ステップ1413)により、ジョフ終了要求であった
と判定された場合(S1413−YES)、ジョブ開始要求
時同様、スプール処理要求があるかの判定処理(ステッ
プ1414)が行われる。ここでも、初期化時のプリン
タ制御コマンド変更の条件に一致するかの判定(ステッ
プ1404)において、一致しないと判定された場合、
つまり、プリンタ制御コマンドの生成処理において中間
コードデータを生成すると決定された場合には、スプー
ル処理要求があったと判定される。すると、ジョブ終了
要求に対応する中間コードを生成し、ファイルへ保存処
理(ステップ1415)が行われ、中間コードデータの
保存ファイルのクローズ処理(ステップ1416)が行
われる。
【0113】また、同様に、初期化時のプリンタ制御コ
マンド変更の条件に一致するかの判定(ステップ140
4)において、一致すると判定された場合、つまり、プ
リンタ制御コマンドの生成処理において中間コードデー
タを生成しないと決定された場合、スプール処理要求が
あったかの判定処理(ステップ1414)においてはス
プール処理要求がないと判定され、中間コードデータを
生成せずに直接プリンタ制御コマンドを発行し終えたこ
との終了処理として、プリンタドライバ203によるジ
ョブ終了処理(ステップ1417)が行われる。
【0114】これら一連の処理が中間コードデータのス
プールに関する処理である。
【0115】このように、中間コードデータを作成して
後にデスプール処理を行うことによりプリンタ制御コマ
ンドを生成する手法と、中間コードデータを生成するこ
となくプリンタ制御コマンドを生成する手法とを、予め
登録しておいたアプリケーション名称より初期化時に自
動的に選択することにより、高い印刷パフォーマンスと
適正な印字結果を得るという事が可能となる。
【0116】尚、本実施形態に示した機能が外部からイ
ンストールされるプログラムによって、ホストコンピュ
ータ3000により遂行されても良い。そして、その場
合、その機能がCD−ROMやフラッシュメモリやFD
11等の記憶媒体により、或いは、電子メールやパソコ
ン通信等のネットワークを介して外部の記憶媒体から、
プログラムを含む情報群を出力装置やホストコンピュー
タ3000を含むシステム内にロードすることにより、
ホストコンピュータ3000或いは出力装置に供給され
る場合でも本発明は適用されるものである。
【0117】[第6の実施の形態]第6の実施の形態に
よれば、複数の印刷機能を有するプリンタである場合
で、ホストコンピュータ3000のRAM2上へロード
されて動作するプリンタドライバ203からプリンタド
ライバ203又はスプーラ302が保有する特定の機能
による印刷要求があった場合、印刷処理に適したプリン
ト制御コマンド生成方法を、特定の機能により決定し
て、最適なプリント制御コマンド生成手法を得る。
【0118】本実施形態では、前実施形態同様、図2で
示すプリンタとホストコンピュータからなる印刷システ
ム及び図3に示すアプリケーションからの印刷データを
一旦中間コードデータでスプールするシステムが共存で
きることを前提としている。そして、本実施形態では後
者で印刷しようとした時、特定の機能との併用を許さな
い場合を仮定している。
【0119】図15は本実施形態による処理のフローチ
ャートを示す図である。図15は、第5の実施の形態に
おける図14に代えて用いられる。
【0120】図15において、まずグラフィックエンジ
ン202からの初期化要求であるかの判定処理(ステッ
プ1501)が行われる。初期化要求はジョブ開始要求
に先立って、必ず送られてくるものとする。ここで、グ
ラフィックエンジン202からの初期化要求である場合
(S1501−YES)、予め登録された特定の機能の
取得処理(ステップ1502)が行われる。ここでいう
特定の機能とは、例えば、デバイスが保有するオーバー
レイ機能(デバイスに特別なエスケープを送ることによ
り実現されるグラフィックの重ね合わせ機能)等のこと
を指す。なお、オーバーレイ機能は中間コードデータを
生成し、後にこの中間コードデータをもとにデスプール
を行うようなプリンタ制御コマンド生成手法は有効でな
いといった条件があるものとする。この例では、オーバ
ーレイ機能が中間コードデータを生成しない機能として
予め登録されている。
【0121】次に、印刷のために用いようとする機能の
取得処理(ステップ1503)が行われる。これはユー
ザーが明示的に行う印刷設定を取得する処理である。こ
れにより現在設定されている有効な特定機能を取得する
ことができる。そして、これらの特定機能が一致するか
の判定処理(ステップ1504)が行われる。すなわ
ち、取得された特定機能が、予め印刷モードを切り替え
る条件としてテーブルより取得しておいた特定機能と一
致するかの処理である。
【0122】ここでオーバーレイ機能が指定されていれ
ば両者は一致すると判定され、中間コードデータを生成
せず、直接プリンタ制御コマンドを発行する手法を選択
すると決定される。これにより、プリンタ制御コマンド
生成手法の変更処理(ステップ1505)が行われる。
ここでいうプリンタ制御コマンド生成手法の変更処理と
は、この一連の初期化処理の後、スプール処理要求であ
るかの判定処理(ステップ1409、ステップ141
4)に用いられるフラグ等の処理である。
【0123】また、ステップ1503で取得された機能
が、予め印刷モードを切り替える条件としてステップ1
502でテーブルより取得しておいた特定機能と一致す
るかの処理(ステップ1504)において、ここに挙げ
られていない機能のみが選択されていた場合(S150
4−NO)、次のスプール処理のための初期化処理(ス
テップ1506)が行われる。これにより、これ以降の
グラフィックエンジン202からの印刷処理要求をスプ
ールすることが可能となる。そして、プリンタドライバ
203の初期化処理(ステップ1507)がなされ、グ
ラフィックエンジン202へとその処理が戻り、初期化
時における処理が終了する。
【0124】このように、中間コードデータを作成して
後にデスプール処理を行うことによりプリンタ制御コマ
ンドを生成する手法と、中間コードデータを生成するこ
となくプリンタ制御コマンドを生成する手法とを、予め
登録しておいた特定の機能情報により初期化時に自動的
に選択することにより、高い印刷パフォーマンスと適正
な印字結果を得ることができる。
【0125】[第7の実施の形態]本実施の形態によれ
ば、コンピュータ3000のRAM2上ヘロードされて
動作するプリンタドライバ203から印刷要求があった
場合、印刷処理に適した印刷コマンドの生成手法を決定
する際に、その印刷コマンド生成手法を決定するための
条件を、プリンタの特徴に依存するプリンタドライバ2
03より取得する。この取得された条件に応じて印刷コ
マンドの生成手法を決定し、その印刷コマンドの生成手
法でプリンタ1500へ送信するプリンタ制御コマンド
を生成する。
【0126】本実施形態では、前実施形態同様、図2で
示すプリンタとホストコンピュータからなる印刷システ
ム及び図3に示すアプリケーションからの印刷データを
一旦中間コードデータでスプールするシステムが共存で
きることを前提としている。そして、本実施形態では後
者で印刷しようとした場合、アプリケーションやプリン
タドライバの持っていない機能を用いることが出来る反
面、ごく稀にある条件のもとで、パフォーマンスの劣化
を引き起こしたり、不正な印字を起こす場合があること
を仮定している。
【0127】本実施の形態では、図14のステップ14
02に代えて図16の手順を行う。すなわち、適当と考
えられる印刷コマンドの生成手法を決定する際に、印刷
コマンドの生成手法の決定条件をプリンタドライバ20
3から取得する(ステップ1601)。これは、プリン
タ又はプリンタドライバ203により適切な印刷コマン
ドの生成手法を得るための条件が与えられ、その条件を
用いて印刷コマンドの生成手法が切り替えられることを
意味する。ここでは、条件として、アプリケーション名
称を用いること、及び条件として用いるアプリケーショ
ンの名称がステップ1601により得られるものとす
る。得られた条件は、この後、ステップ1404で条件
に一致するかの判定処理に用いられる。もちろんステッ
プ1601で得られる条件はアプリケーションの名称に
限らず、印刷に用いる機能等であってもよい。
【0128】このように判定条件を各デバイスの特徴に
依存するプリンタドライバ203より取得することで、
ディスパッチャ301又はスプーラ302自体はその判
定条件を持たず、中間コードデータを生成して後にデス
プールすることでプリンタ制御コマンドを生成する手法
と、直接プリンタ制御コマンドを生成する手法との切り
替えを自動的に行い、高い印刷パフォーマンス、又は適
正な印字結果を得ることができる。
【0129】[第8の実施の形態]本実施形態における
プリンタ制御コマンドを生成する際の処理フローを図1
8に示す。まず、グラフィックエンジン202から受け
取った描画命令を中間コードデータへ変換し、ファイル
へ保存する。この処理と同時に、スプーラ302は前記
描画命令に特殊な描画命令指定(例えば、特殊なラスタ
オペレーション)がないかをチェックし、その結果をR
AM2または外部メモリ11へ保存する(S180
1)。グラフィックエンジン202からの描画命令が終
了すると、前記ステップで保存された結果をもとに印刷
モードが決定され、プリンタドライバは、一時保存され
た中間コードデータから、グラフィックエンジン202
が生成する描画命令を介して、プリンタ制御コマンドを
生成する(S1802)。
【0130】Windows95上でサポートされているラスタ
オペレーションは最大256種類存在する。ラスタオペ
レーションとは、様々なオブジェクトにおいて指定され
ているピクセル間での論理的な演算操作のことである。
これにより、例えば、ソースデータに対して、デスティ
ネーションやブラシなどの操作を行ったときに、最終的
に描かれるイメージを論理演算により求めることができ
る。なお、本実施の形態では、このラスタオペレーショ
ンの全てをベクタグラフィック印刷モードでは保証でき
ないと仮定する。
【0131】具体的には、ベクタグラフィック印刷モー
ドにおいては、ラスタオペレーションは描画論理設定命
令なるプリンタ制御コマンドで表現される。しかし、Wi
ndows95上で使用可能な全てのラスターオペレーショ
ンに対応する同命令が用意されていない。
【0132】一方、ラスタグラフィック印刷モードで
は、全てのラスタオペレーションをサポートすることが
でき、適正な論理描画を施しながら印刷イメージを生成
可能である。その結果、正常な印刷結果が常に得られ
る。
【0133】この処理をさらに詳細に示すと図19とな
る。なお、ここではスプール処理を行うという前提で説
明をする。グラフィックエンジン202を介してアプリ
ケーションからの描画命令を受け付け(S1901)、
その描画命令がジョブ開始要求かどうかの判定を行う
(S1902)。
【0134】ジョブ開始要求であった場合には(S19
02−Yes)、中間コードデータを一時保存する為の
ファイルをホストコンピュータ3000上の外部メモリ
11等へ作成し、保存ファイルをオープンし、ジョブ開
始命令に対応する中間コードデータを同ファイルへ保存
する(S1903)。
【0135】続いて、印刷処理全体(印刷ジョブ)に適
した印刷モードを示すフラグ値を保存しておく為のメモ
リ領域をRAM2上等へ確保し、ベクタグラフィックス
印刷モードを示す値でフラグを初期化する(S190
4)。デフォルトの印刷モードをベクタグラフィックス
印刷モードとする。ステップS1904の処理後は再び
ステップS1901へ処理を戻し、グラフィックエンジ
ン202からの描画命令を受け付ける。
【0136】一方、ステップ1902において、ジョブ
開始要求でなかった場合には(S1902−No)、ジ
ョブ終了要求かどうかの判定を行う(S1905)。
【0137】ステップ1905において、グラフィック
エンジン202からの描画命令がジョブ終了要求でなか
った場合には(S1905−No)、描画命令に特殊な
描画処理指定がなされていないかの判定を行い(S19
07)、もし指定されていれば(S1907−Ye
s)、ステップ1904で確保した、印刷モードを示す
フラグ値をラスタグラフィックス印刷モードを示す値に
更新する(S1908)。
【0138】尚、本実施形態においては、印刷ジョブに
一つでも特殊な描画処理指定が行われていれば、ラスタ
グラフィックス印刷モードを選択するようにしている。
ステップ1908の実行後およびステップ1907で特
殊な描画指定が為されていなかった場合(S1907−
No)はステップ1909へ進み、描画命令を中間コー
ドデータへ変換し(S1909)、変換後の中間コード
データを一時保存ファイルへ書き込む(S1910)。
【0139】その後はステップ1901へ戻り、再び、
グラフィックエンジン202からの描画命令を受け付け
る。この一連のステップ1901から1910までの処
理はジョブ終了要求をグラフィックエンジン202から
受け取るまで続けられる。一方、ステップ1905の判
定において、ジョブ終了要求であった場合には、ジョブ
終了要求に対応する中間コードデータを生成し、一時保
存ファイルへ保存を行い、ファイルをクローズする(S
1906)。そして、次にプリンタ制御コマンドの生成
へと処理を移すことになる。
【0140】図20に示す通り、プリント制御コマンド
の生成ステップと印刷モードの指定ステップではまず、
中間コードデータの保存ファイルをオープンし(S20
01)、描画命令の単位で順次読み出しを行う(S20
02)。前述した通り、中間コードデータの保存ファイ
ルの内容は図7に示す通りであるが、これより、最初に
読み出される命令は[ジョブ開始命令]となる。次に
[ジョブ終了命令]ではないかを判定し(S200
3)、もし[ジョブ終了命令]でなかった場合には(S
2003−No)、続けて[ジョブ開始命令]ではない
かを判定する(S2005)。ここで[ジョブ開始命
令]であった場合には(S2005−Yes)、図19
に示した処理で保存しておいた、印刷モードを示すフラ
グ値を参照し(図19のステップ1904、190
8)、どの印刷モードでプリンタ1500へ送信するプ
リンタ制御コードを生成するかを決定する(S200
6)。具体的には、前述のフラグ値により、ベクタグラ
フィックス印刷モードかラスタグラフィックス印刷モー
ドのどちらかが選択されることとなる。
【0141】ステップS2005の判定で[ジョブ開始
命令]ではなかった場合(S2005−No)、および
ステップS2006の処理後はステップS2007へ進
む。ステップS2007では、中間コードデータからプ
リンタ1500へ送信するプリンタ制御コマンドを印刷
モードに応じて生成し出力を行う。この際、中間コード
データは、グラフィックエンジン202が生成する描画
命令を介してプリンタ制御コマンドに変換される。
【0142】ステップS2002からステップS200
7までの一連の処理は[ジョブ終了命令]が読み出され
るまで繰り返される。ステップS2003において、読
み出された描画命令が[ジョブ終了命令]と判断された
場合には(S2003−Yes)、中間コードデータの
保存ファイルをクローズした後、ファイルの削除を行う
と共に、RAM2上の前述フラグ値を保存しておいた領
域を開放する。
【0143】これまでに示した本実施形態により、印刷
モードとしてデフォルトでベクタグラフィックス印刷モ
ード、特殊な描画命令のあった場合にラスタグラフィッ
クス印刷モードが自動的に選択されるので、自動的に印
刷パフォーマンスが比較的高く、適正な印刷結果が得ら
れるプリンタ制御コマンドを生成することが可能とな
る。
【0144】[第9の実施の形態]第9の実施の形態と
して、ホストコンピュータ3000のRAM2上へロー
ドされて動作するプリンタドライバへ複数ページの印刷
要求があった場合には、上記実施形態で示した印刷処理
に適した印刷モードを求める工程と、同工程により求め
られた印刷モードで中間コードからプリンタ制御コマン
ドを生成する工程を各印刷ページ対して適用するという
改良が考えられる。
【0145】前記実施形態で示した処理を本実施形態に
改良したものが、図21と図22である。尚、図21と
図22の各フローチャートで示される符号で、図19と
図20と同じ番号のものは同一の処理内容を示してい
る。前記第8の実施形態に対する本実施形態の具体的な
改良内容は、図21のステップS2101、S2104
部分の処理である。図19のステップS1904及びS
1908の代わりに、ステップS2101,S2104
の処理が実行され、図19のステップS1905とS1
907の間にステップS2102及びS2103の処理
が実行される。
【0146】また、図22においては、図20のステッ
プS2006に代わりステップS2201の処理が実行
され、図20のステップS2007の後にステップS2
202からS2205までの一連の処理が追加される。
以降、具体的に改良を施した処理内容についてのみ、図
21と図22を用いて説明する。
【0147】まず、図21について、第8の実施形態で
示した通り、ステップ1902でグラフィックエンジン
202からの描画命令がジョブ開始要求であると判定さ
れた場合には(S1902−Yes)、中間コードデー
タを保存するファイルをオープンし、ジョブ開始要求に
対応する中間コードデータを同ファイルへ保存する(S
1903)。
【0148】続いて、図23に示すテーブル形式で、ペ
ージごとの印刷モード情報を保存する領域をRAM2上
へ確保する。また、ページ番号を示す変数nをRAM2
上で確保する。そして、変数nを1、ページ番号1に対
応する印刷モード情報をべクタグラフィックス印刷モー
ドを示す値に初期化する(S2101)。尚、図23に
示したテーブル領域は印刷ページ数の増加に伴い、テー
ブル最後部にnページ目の印刷モード情報を保存する領
域を追加していくものとする。
【0149】また、第8の実施の形態では、ステップ1
905において、ジョブ終了要求ではないと判断された
場合には、即座に特殊描画の指定が行われているか否か
を判定していたが、本実施形態ではその前に改ページ要
求であるか否かを判定し(S2102)、改ページ要求
が指定されている場合には(S2102−Yes)、前
記のステップ2101でRAM2上に確保したページ番
号を示す変数nを1だけインクリメントし、且つ新たな
ページに対応する印刷モード情報を保存する領域を図2
3のテーブルの最後部へ追加する(S2103)。尚、
新たな印刷ページに対応する印刷モード情報は、ベクタ
グラフィックス印刷モードを示す値で初期化される(S
2103)。
【0150】ステップ2102で改ページ要求が指定さ
れていないと判定された場合には(S2102−N
o)、続いて、グラフィックエンジン202からの描画
命令が特殊描画を指定するものでないかを判定し(S1
907)、指定するものである場合には(S1907−
Yes)、nページに対応する印刷モード情報をラスタ
グラフィックス印刷モードを示す値で更新する(S21
04)。特殊な描画指定を指定するものでない場合(S
1907−No)はnページに対応したフラグ情報を更
新せず、描画命令を中間コードの形式へ変換し、その中
間コードデータを保存ファイルへ書込む(S1909、
1910)。
【0151】図21で示した処理により、各印刷ページ
ごとに印刷モードがそれぞれ設定されたことになる。図
22の処理では、中間コードデータの保存ファイルから
読み出した命令がジョブ開始命令だった場合には(S2
005−Yes)、ページ番号を示す変数nをRAM2
上へ確保し、その変数nをn=1として初期化する(S
2201)。これと同時に前記図21の処理により求め
た1ページ目に対応する印刷モードを選択する(S22
01)。
【0152】この印刷モードで、プリンタ1500へ出
力するプリンタ制御コマンドが、描画命令を介して中間
コードデータから生成される(S2007)。この処理
は、ジョブ終了命令が検出されるまで繰り返し行われ
る。中間コードデータの読み出し処理で、改ページ命令
が読み出された場合には(S2202−Yes)、現在
の印刷ページ番号を示す変数nを1だけインクリメント
し(S2203)、今まで選択されていた印刷モードと
前記図21の処理で求められたnページ目に対応する印
刷モードが異なる場合にのみ(S2204−Yes)、
印刷モードを切り替える(S2205)。
【0153】本実施形態の図22で示した処理により、
適正な印刷モードが、それぞれの印刷ページに対して、
必要最小限の切り替え処理により設定される。例えば、
図23のように、5ページの印刷処理において、それぞ
れのページに対する印刷モードが求められ、1ページと
2ページがラスタグラフィックス印刷モード、3ページ
以降がベクタグラフィックス印刷モードである場合、実
際に印刷モードが指定、変更されるのは先頭ページの直
前と2ページ目の終わりの改ページ命令を受けた直後の
2回である。
【0154】[第10の実施の形態]第10の実施の形
態として、ホストコンピュータ3000のRAM2上へ
ロードされて動作するプリンタドライバおよびプリンタ
1500が、複数の印刷ページ(論理ページ)を縮小し
て、1ページ(物理ページ)にレイアウトして印刷する
機能(Nページ印刷)を有している場合には(図2
4)、上記実施形態で示した印刷処理に適した印刷モー
ドを、まず論理ページごとに選択し、その後物理ページ
ごとに選択して適用するという改良が考えられる。
【0155】例えば、ホストコンピュータ3000のR
AM2上へロードされて動作するアプリケーションによ
り4ページ印刷モード(物理ページ1に論理ページが4
つレイアウトされる印刷)が指定され、8ページ分の描
画命令がプリンタドライバに発行される場合に(図2
4)、本実施形態においては、前記の第9実施の形態に
示した図21のステップ1906の処理終了後に、図2
4の左側に示した8ページ分の論理ページ毎の印刷モー
ド情報に基づき、図24の右側に示した物理ページ毎の
印刷モード情報をRAM2上に生成する(図25のS2
501)。
【0156】図24に示す例では、論理ページ1と2に
対応する印刷モードのみがラスタグラフィックス印刷モ
ードとなっているので、物理ページ1の印刷モードをラ
スタグラフィックス印刷モード、物理ページ2の印刷モ
ードをベクタグラフィックス印刷モードと決定する。
【0157】これらの処理に、図22に示すプリンタ制
御コマンドの生成ステップが続くが、このステップの処
理は、基本的には上記第9の実施形態と同じであり、違
いは図22のステップS2201の処理に変えて、図2
6のステップS2601の処理を行い、またステップS
2204に変えて、図27のステップS2701〜S2
703の処理を行う。
【0158】本実施形態では、前記第8の実施の形態に
前記の処理を追加することにより、論理ページ単位で印
刷モードを切り替えるのではなく、物理ページ単位での
適正な印刷モードの切り替えを制御するので、同一物理
ページ上に複数の印刷モードが混在して指定される矛盾
を回避し、最適な印刷モードでNページ印刷を行うこと
を可能とする。
【0159】[第11の実施の形態]第11の実施の形
態として、プリンタ1500が両面印刷機能を有し、更
に両面印刷時のパフォーマンスを向上させるために、プ
リンタ内部に片面印刷した用紙を最大2枚一時的にプー
ルできる場合に、上記実施形態で示した印刷処理に適し
た印刷モードを求める工程と、同工程により求められた
印刷モードで中間コードからプリンタ制御コマンドを生
成する工程を前記プリンタ1500の紙搬送順序を考慮
して適用するという改良が考えられる。
【0160】図28が、両面印刷を実行した時のプリン
タ1500内部での紙搬送の状況を示したものである。
実際にプリンタ1500で連続した4ページデータを受
信すると、まず4ページ目の印刷を行い、プリンタ両面
ユニット内にプールし(図28中のステップ1)、続い
て、2ページ目の印刷を行い、4ページ目と同様に両面
ユニット内にプールする(図28中のステップ2)。
【0161】続いて、両面ユニットから、既に2ページ
目が印刷されている用紙を給紙して1ページ目の印刷を
行い、その紙を排紙トレイにフェイスダウンにて排紙す
る(図28中のステップ3)。更に続いて、4ページ目
が印刷されている用紙を両面ユニットから給紙して3ペ
ージ目の印刷を行い、前記と同様、その紙を排紙トレイ
にフェイスダウンにて排紙する(図28中のステップ
4)。
【0162】ここで、例えば、ホストコンピュータ30
00のRAM2上へロードされて動作するアプリケーシ
ョンから4ページを両面印刷する要求があった場合、本
実施形態においては、前記第9の実施の形態で示した図
21のステップ1906の処理終了後に、図29左側の
表に示した4ページ毎の印刷モード情報から、まず総ペ
ージ数を確認し、実際に印刷するページ順に図17左側
の表の印刷モード情報をソーティングし、図29真中の
表で示したテーブルを得る(第30図のステップ300
1)。
【0163】更に、印刷モードを頻繁に切り替えるとプ
リンタ1500におけるパフォーマンスの低下が発生す
るため、印刷モードの切り替え回数を考慮する。本実施
形態では、印刷モードの切り替えに伴うプリンタ150
0のパフォーマンス低下を考慮して、印刷モードを切り
替えるのは、同一処理モードによる印刷処理が2ページ
以上続く場合のみとする。
【0164】例えば、図29真中の印刷モード情報を見
るとページ毎に印刷モードが切り替わっているので、前
記条件を考慮すれば、図29の右側の印刷モードが選択
されることになる。つまり、図29真ん中のテーブルの
実ページ番号がリナンバリングされ、1ページ目(実ペ
ージの4)からラスタグラフィックス印刷モード、ベク
タグラフィックス印刷モード、ラスタグラフィックス印
刷モード、ベクタグラフィックス印刷モードという順番
で指定された印刷モードは、全てラスタグラフィックス
印刷モードに変更される。
【0165】[第12の実施の形態]図31は本発明が
適用されたプリンタドライバがホストコンピュータのR
AM上にロードされて実行可能となった状態のメモリマ
ップを示している図である。ホストコンピュータ300
0において(図1)、BIOS,OS、アプリケーショ
ン及び本発明によるプリンタ制御コマンド生成処理の最
適化手法が適用されたプリンタドライバはCPU1によ
り動作する。BIOSはプログラムROM3bに書き込
まれており、OSは外部メモリ11であるハードディス
ク(以下、HD)に書き込まれている。そして、ホスト
コンピュータ3000の電源がONされた時に、BIO
Sプログラム中のIPL(Initial Program Loading )
機能により、OS36がHD11からRAM2へ読み込
まれ、OS36は動作する。
【0166】そして、実際にプリンタドライバが動作可
能となるのは、ユーザ等の指示により、前記ホストコン
ピュータ3000上でOS管理のもとに動作するアプリ
ケーション32が印刷処理を開始した場合で、プリンタ
ドライバ35を記録している外部メモリ11等の媒体か
ら、OS36及びBIOS37の制御のもとに、プリン
タドライバ35が読み出され、RAM2上へロードされ
た時である。
【0167】本実施形態では、プリンタドライバは、バ
ンド領域内で描画が行われた領域を矩形情報にて記憶す
る為に、ホストコンピュータ3000のRAM2上へ図
32(a)に示すようなメモリ領域を一つ確保する。図
32(a)に示した4つの記憶領域へは、矩形の左上
隅、右下隅の水平座標値および垂直座標値が、バンド領
域全体を示す矩形の左上隅を原点(0,0)とした時の
相対座標値かつ整数単位で記憶される。
【0168】また、前記の矩形情報は、プリンタドライ
バ34がアプリケーションソフトウェア32から描画命
令を受け取るごとに、それぞれの描画命令によって描画
する指定を受けた領域が包含されるように、更新(拡
大)されていく。
【0169】尚、本実施形態においては、矩形状領域の
包含関係(描画済の領域情報を利用)によりバンド領域
を定義するという手段を適用したが、他の形状、例えば
楕円や多角形等を適用しても、本発明による効果が得ら
れることは言うまでもない。また、本実施形態では、前
記図17のステップ1707で行うバンド領域の細分化
手法として、高さ1ピクセルの水平ライン(以下、スキ
ャンライン)単位で分割するという手法が用いられる。
【0170】図33は、その分割の様子を示したもので
ある。51はページ領域を示し、52はバンド領域を示
す。これにより、プリンタドライバ34はスキャンライ
ン単位でプリンタ制御コマンドを生成することとなる。
【0171】尚、本実施形態では、前記のようにスキャ
ンライン単位でバンド領域を細分化する手法を適用した
が、他の細分化手法、例えば、バンド領域よりも小さな
矩形で細分化を行うといった手法などを適用しても、本
発明と同様な効果を得ることが可能である。
【0172】図34は、本発明が適用された実施形態の
詳細な処理内容を示している。しかし、図中で図17と
同一工程を示しているものには同一符号を付している。
図17は従来技術において説明済であるので、図34で
同一符号が付してある工程は重複説明を省略する。ま
た、図35は図34のS3403の処理内容を詳細に示
したフローチャートである。
【0173】まずは、図34を用いて、バンド領域内の
描画済である領域をどのようにして記憶するのかを説明
する。ステップ1702において、ホストコンピュータ
3000のRAM2上へロードされて、動作するアプリ
ケーションソフト32から受け付けた描画命令を判断し
(S1702)、印刷開始を意味するものであると判定
された場合には(S1702−Yes)、バンドメモリ
の取得/初期化(S1703)に続いて、矩形情報を保
持しておくメモリ領域をRAM2上で前記図32(a)
に示した形式にて確保し、全てを「0」として初期化す
る(S3401)。
【0174】この矩形情報は、プリンタドライバが描画
要求をアプリケーションから受け付け、同描画要求に応
じて印刷イメージをラスタライズし、バンドメモリへ保
存を行った(S1705)際に、同描画要求によりラス
タライズされた印刷イメージが全て矩形に納まるように
更新(拡大)されていく(S3402)。そして、バン
ド領域に対するアプリケーションの印刷要求が終わった
(S1706−Yes)場合には、同バンド領域に対応
した各プリンタ制御コマンドを生成した(S3403)
後に、矩形情報は全て「0」として初期化される(S3
404)。尚、前記矩形情報を記憶しておくメモリ領域
は、印刷終了時(S1704−Yes)にRAM2上に
おいて開放される(S3405)。
【0175】ここで矩形情報の更新されていく様子を示
した具体例を示す(図32(b))。あるバンド領域に
対して、次に示す3つの描画要求を順番にプリンタドラ
イバが受け付けた場合を想定する。尚、以下に示す点の
座標値は、バンド領域の左上隅を原点(0,0)とした
相対座標値であり、(水平方向の座標値、垂直方向の座
標値)という形で表現するものとする。また、矩形情報
の値は、図32(a)を引用すれば、(left,top,rig
ht,bottom)という形式にて、前記と同様に原点からの
相対座標値で表される。 (1)線描画の要求・・・始点(0,0)、終点(3,
3) (2)点描画の要求・・・座標(2,2) (3)ビットマップ描画の要求・・・始点(0,0)、
幅300、高さ100 まず、(1)の描画要求を受け付けると矩形情報は
((0,0),(3,3))に更新される。続いて、
(2)の描画命令を受け付けると描画処理は行われるの
だが、描画座標は既に記憶してある矩形の中に存在する
ので、矩形情報は更新されない。次に(3)の描画要求
を受け付けると、描画領域は記憶している矩形領域を包
含したより大きなものなので、矩形情報は((0,
0),(300,100))に更新される。従って、上
記の一連の描画要求を受け付けた場合には、矩形情報と
して((0,0),(300,100))が記憶される
ことになる。
【0176】次に、図34のステップ3403の処理内
容を図35を用いて説明する。特に、RAM2上へ記憶
しておいた矩形情報が、プリンタ制御コマンドを生成す
る際に、どのように利用され、最適化が図れるかを説明
する。
【0177】まず、ページイメージの一部を構成してい
るバンド領域をスキャンライン単位に分割し、それぞれ
を順番に取り出す(S3501)。本実施形態では、バ
ンド領域52の上部より、図33に示したような順番で
スキャンラインを取り出すこととする。次に、取り出し
たスキャンラインが記憶済みの矩形情報と交わるかどう
かを判定し(S3502)、交わる場合にのみ(S35
02−Yes)、そのスキャンラインに対応したプリン
タ制御コマンドを生成する(S3503)。
【0178】ステップ3502において交わらないと判
定された場合(S3502−No)、およびステップ3
503の後は、ステップ3504へ進み、全てのスキャ
ンラインを取り出したかどうかを判定する(S350
4)。ステップ3501から3503に示した一連の処
理は、ステップ3504において、全てのスキャンライ
ンが取り出されたと判定されるまで繰り返される。
【0179】尚、本実施形態のステップ3503におい
ては、スキャンラインに対応するプリンタ制御コマンド
を生成するとだけ示したが、同スキャンラインからプリ
ンタ制御コマンドを生成するまでに幾つかの処理過程が
必要な場合には、スキャンラインの左端と右端に描画さ
れていない領域がどれだけあるかという情報も利用し
て、無駄な処理を省くことが可能である。
【0180】例としては、赤、緑、青などの輝度成分で
表される色(以下、RGB値)からシアン、マゼンタ、
イエローなどの濃度成分で表現される色(以下、CMY
K値)への色変換処理やデータ圧縮処理などがあげられ
るが、これに限るものではない。
【0181】本発明を適用した本実施形態によれば、バ
ンド領域内の描画されていない領域に対応するプリンタ
制御コマンド生成処理を削減、もしくは削除することが
可能となるので、処理時間の短縮が可能となると共に、
プリンタドライバが生成する印刷データサイズをより小
さくすることも可能となる。
【0182】また、従来のプリンタドライバがバンド領
域内の描画されていない領域に対応するプリンタ制御コ
マンド生成処理を省く為に、逐一、バンドメモリの処理
対象領域を全て確認していた場合にも、本発明を適用す
れば、より効率的に印刷とは関係のない処理を省くこと
が可能となるために、プリンタドライバ処理を最適化す
ることが可能となる。
【0183】さらに、本実施形態の一例でも説明した
が、プリンタ制御コマンドを生成する際に幾つかの処理
過程が必要である場合には、例えば、本実施形態に示し
たスキャンラインの左端と右端に描画されていない領域
がどれだけあるかという情報を利用して、場合によって
は、無駄な処理を省くことも可能となるので、プリンタ
ドライバ処理に要する時間をより短縮可能となる。ま
た、本実施形態によれば、バンドメモリからそれぞれの
プリンタ制御コマンドを生成する際に幾つかの処理過程
が必要である場合には、プリンタ制御コマンドの生成対
象領域から更に描画とは関係のない領域を求め、これら
の領域に対応する処理過程をスキップすることにより、
プリンタドライバに関する処理時間の短縮が行えるとい
う効果がある。
【0184】尚、本実施形態に示した機能が外部からイ
ンストールされるプログラムによって、ホストコンピュ
ータにより遂行されても良い。そして、その場合、その
機能がCD−ROMやフラッシュメモリやFD等の記憶
媒体により、或いは、電子メールやパソコン通信等のネ
ットワークを介して外部の記憶媒体から、プログラムを
含む情報群を出力装置やホストコンピュータを含むシス
テム内にロードすることにより、ホストコンピュータ或
いは出力装置に供給される場合でも本発明は適用される
ものである。
【0185】[第13の実施の形態]第13の実施形態
として、バンド領域内の描画済である領域情報を、アプ
リケーションソフトウェアからの描画命令を受け付ける
際に、描画要求単位で記憶しておくという改良が考えら
れる。
【0186】本実施形態では、前記第12の実施形態の
処理内容を示している図34のステップ3401,34
02,3404,3405の代わりに、図36(a),
(b),(c),(d)として示すステップ3601,3
602,3604,3605の処理を行う。また、図3
4のステップ3403に関する処理内容を示している図
35のステップ3502の代わりに図37に示した処理
を行う。
【0187】まずは、図36(a),(b),(c),
(d)を用いて、バンド領域内の描画済である領域をど
のようにして記憶するのかを説明する。アプリケーショ
ンから受け付けた描画命令が印刷開始を意味するもので
あった場合には、描画済の領域情報を記憶する記憶領域
をRAM2上で確保し、初期化する(ステップ360
1、図36(a))。尚、描画済の領域情報は、図38
に示すような形式で、プリンタドライバが描画命令を受
け付けた際に、その描画命令の種類とその種類に応じた
座標等の追加情報とを組にして順次追加されていく(ス
テップ3602、図36(b))。
【0188】そして、バンド領域に対するアプリケーシ
ョンの描画命令が終わった場合には、同バンド領域に対
応した各プリンタ制御コマンドを生成した後に、前記記
憶領域は初期化される(ステップ3604,図36
(c))。
【0189】尚、描画済の領域情報を記憶しておく記憶
領域は、印刷終了時にRAM2上において開放される
(ステップ3605、図36(d))。
【0190】次に、RAM2上へ記憶しておいた領域情
報が、プリンタ制御コマンドを生成する際に、どのよう
に利用され、最適化が図れるか図37を用いて説明す
る。図35のステップ3501において取り出したスキ
ャンラインに対して描画が行われているかどうかを判定
するために、まず、前記工程にて記憶しておいた描画要
求を先頭から順に取り出し(S3701)、その描画要
求が同スキャンラインに対して描画を行っているかどう
かを判定する(S3702)。
【0191】すなわち、描画要求により描画された領域
とスキャンラインとが重複(交わる)するか否かを判断
する。重複する部分があれば、描画が行われたことにな
る。ステップ3702において、描画が行われたという
判定がされた場合には(S3702−Yes)、ステッ
プ3503へ進み、プリンタ制御コマンドの生成を行
う。
【0192】一方、ステップ3702において、描画が
行われていないという判定がされた場合には、ステップ
3703へ進み、描画要求が最後のものかどうかを判定
する。ステップ3703において、最後の描画要求では
ないと判定された場合は(ステップ3703−No)、
再びステップ3701に戻り、新たな描画要求を図38
のテーブルから取り出し、最後であると判定された場合
には(ステップ3703−Yes)、ステップ3504
へ進む。
【0193】本実施形態によれば、バンド領域内の描画
されていない領域に対応するプリンタ制御コマンド生成
処理を削除することが可能となるので、処理時間の短縮
が可能となると共に、プリンタドライバが生成する印刷
データサイズをより小さくすることも可能となる。
【0194】また、従来のプリンタドライバがバンド領
域内の描画されていない領域に対応するプリンタ制御コ
マンド生成処理を省く為に、逐一、バンドメモリの処理
対象領域を全て確認していた場合にも、本発明を適用す
れば、より効率的に印刷とは関係のない処理を省くこと
が可能となるために、プリンタドライバ処理を最適化す
ることが可能となる。
【0195】本実施形態においては、描画済の領域情報
をアプリケーションからの描画要求を単位として記憶し
たが、ある程度の図形形状分類を行いながら、それぞれ
の分類毎に記憶するという応用も可能である。例えば、
矩形描画やビットマップ描画、更にはテキスト描画など
といったものは矩形情報としてまとめながら記憶してお
けば、より効率的である。
【0196】[第14の実施の形態]第14の実施の形
態として、描画済である領域情報を、アプリケーション
ソフトウェアからの描画命令を受け付ける際に、細分化
されたスキャンラインごとに描画されたか否かを記憶す
るという改良が考えられる。この領域情報は図41のよ
うにスキャンライン番号に対応して描画済みであるか否
かの情報がテーブル形式で記憶される。
【0197】尚、本実施形態においては、バンドメモリ
を細分化してプリンタ制御コマンドを生成する単位が、
スキャンラインであると想定するが、これに限るもので
はない。
【0198】本実施形態では、第12の実施形態の処理
内容を示している図34のステップ3401,340
2,3404,3405の代わりに、図39(a),
(b),(c),(d)のステップ3901,390
2,3904,3905に示した処理を行う。また、図
34のステップ3403に関する処理内容を示している
図35のステップ3502の代わりに図40に示した処
理を行う。
【0199】まずは、図39を用いて、バンド領域内の
描画済である領域をどのようにして記憶するかを説明す
る。アプリケーションから受け付けた描画命令が印刷開
始を意味するものであった場合には、描画済の領域情報
をスキャンライン単位で記憶する領域をRAM2上で確
保し、初期化する(S3901、図39(a))。尚、
描画済の領域情報は図41に示すテーブル形式で記憶さ
れる。
【0200】即ち、バンド領域を構成するスキャンライ
ン全てに対応するだけのテーブルが用意され、初期化時
には全て描画されていない意味を示す値で初期化され
る。また、プリンタドライバが描画命令を受け付けた際
に影響が及んだ細分化領域に対応する値は、描画された
旨を意味する値で更新される(S3902,図39
(b))。
【0201】そして、バンド領域に対するアプリケーシ
ョンの描画命令が終わった場合には、同バンド領域に対
応した各プリンタ制御コマンドを生成した後に、前記記
憶領域は初期化される(S3904、図39(c))。
尚、描画済の領域情報を記憶しておいた領域は、印刷終
了時にRAM2上において開放される(S3905、図
39(d))。
【0202】次に、図40を用いて、前記工程にてRA
M2上へ記憶しておいた領域情報が、プリンタ制御コマ
ンドを生成する際に、どのように利用され、最適化が図
れるかを説明する。
【0203】前記図35のステップ3501において取
り出したスキャンラインに対して描画が行われているか
どうかを判定する為に、前記工程にて記憶しておいたテ
ーブル形式の領域情報で該当するスキャンラインに対応
する値を参照し、判定する(S4001)。ステップ4
001において、描画が行われたという判定がされた場
合には(S4001−Yes)、ステップ3503へ進
み、プリンタ制御コマンドの生成を行う。
【0204】一方、ステップ4001において、描画が
行われていないと判定された場合には(S4001−N
o)、ステップ3504へ進み、スキャンラインを全て
取り出したか否かを判定する。
【0205】本実施形態によれば、バンド領域内の描画
されていない領域に対応するプリンタ制御コマンド生成
処理を削除することが可能となるので、処理時間の短縮
が可能となると共に、プリンタドライバが生成する印刷
データサイズをより小さくすることも可能となる。
【0206】また、従来のプリンタドライバがバンド領
域内の描画されていない領域に対応するプリンタ制御コ
マンド生成処理を省く為に、逐一、バンドメモリの処理
対象領域を全て確認していた場合にも、本発明を適用す
れば、より効率的に印刷とは関係のない処理を省くこと
が可能となるために、プリンタドライバ処理を最適化す
ることが可能となる。
【0207】[第15の実施の形態]また、本発明の目
的は、第12乃至14の実施形態の機能を実現するソフ
トウェアのプログラムコードを記録した記憶媒体を、シ
ステムあるいは装置に供給し、そのシステムあるいは装
置のコンピュータ(またはCPUやMPU)が記憶媒体
に格納されたプログラムコードを読出し実行することに
よっても、達成されることは言うまでもない。
【0208】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0209】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0210】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0211】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0212】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図42のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。
【0213】すなわち、少なくとも「描画情報受け付け
4201」「印刷モード設定4202」および「印刷モ
ード判断4203」、「印刷モード更新4204」、
「読み出し4205」、「印刷データ生成4206」、
「ページ印刷モード設定4207」「ページ印刷モード
判断4208」「ページ印刷モード更新4209」、
「保存4210」、「物理ページ印刷モジュール作成4
211」、「ソーティング4212、「印刷モジュール
決定4213」、「印刷イメージ構築4214」、「バ
ンドメモリ格納4215」、「領域形成4216」、
「バンドメモリ分割4217」、「判断4218」、
「制御コマンド生成4219」、「描画情報テーブル記
憶4220」の各モジュールのプログラムコードを記憶
媒体に格納すればよい。
【0214】
【他の実施形態】なお、本発明は、複数の機器(例えば
ホストコンピュータ,インタフェイス機器,リーダ,プ
リンタなど)から構成されるシステムに適用しても、一
つの機器からなる装置(例えば、複写機,ファクシミリ
装置など)に適用してもよい。
【0215】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても達成される。
【0216】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0217】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0218】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれる。
【0219】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれる。
【0220】
【発明の効果】以上説明したように、本発明によれば、
予め設定した条件に応じて、その条件に最適な印刷モー
ドを選択でき、プリンタでの印刷スループットを向上さ
せ、また、適正な印刷結果を得ることができるという効
果がある。
【0221】また、予め設定した条件に応じて、その条
件に最適なプリンタ制御コマンド生成手法を選択でき
る、プリンタでの印刷スループットを向上させ、また、
適正な印刷結果を得ることができるという効果がある。
【0222】また、その条件の取得をプリンタドライバ
より取得できるようにしたことにより、その条件の汎用
性を増すことができる。
【0223】また、選択した印刷モードでプリンタ制御
コマンドを生成するに当たって、選択した印刷モードに
適した形で描画命令を受け取って、プリンタ制御コマン
ドを生成することができるという効果がある。
【0224】また、本発明によるプリンタ制御コマンド
の生成方法を用いれば、バンド領域内の描画されていな
い領域に対応するプリンタ制御コマンド生成処理を削
減、もしくは削除することが可能となるので、プリンタ
ドライバに関する処理時間の短縮が行えると共に、プリ
ンタドライバが生成する印刷データサイズをより小さく
する効果がある。
【0225】また、従来のプリンタドライバがバンド領
域内の描画されていない領域に対応するプリンタ制御コ
マンド生成処理を省く為に、逐一、バンドメモリの処理
対象領域を全て確認していた場合でも、本発明を用いれ
ば、より効率的に印刷とは関係のない処理を省くことが
可能となるので、プリンタドライバに関する処理時間の
短縮が行えるという効果がある。
【0226】また、アプリケーションソフトウェアから
の印刷要求を受け付ける際に、描画済である領域情報を
記憶しておき、その領域情報をもとにプリンタ制御コマ
ンド生成処理を最適化できるので、印刷処理のパフォー
マンス向上を得ることが可能になる。また、印刷結果に
対して意味を成さないプリンタ制御コマンドを削減もし
くは削除することが可能となるので、プリンタへの送信
データサイズを少なくできるという効果もある。
【図面の簡単な説明】
【図1】本発明の実施形態におけるプリンタ制御システ
ムの構成を説明するブロック図である。
【図2】本発明の実施形態における印刷処理システムの
構成図である。
【図3】本発明の実施形態における印刷処理システムの
詳細な構成図である。
【図4】本発明の実施形態におけるベクタグラフィック
ス印刷モードの処理手順の概略を示すフローチャートで
ある。
【図5】本発明の実施形態におけるラスタグラフィック
ス印刷モードの処理手順の概略を示すフローチャートで
ある。
【図6】本発明の実施形態における印刷モード自動制御
プログラムを含む印刷関連モジュールがホストコンピュ
ータ3000のRAM2上にロードされ、実行可能とな
った状態のメモリマップを示しているブロック図であ
る。
【図7】本発明の実施形態における中間コードデータの
保存ファイル内容例を示した図である。
【図8】第1の実施の形態における処理手順を示したフ
ローチャートである。
【図9】第1の実施の形態における処理手順の一例を示
したフローチャートである。
【図10】第2の実施の形態における印刷モードを選択
する部分のフローチャートである。
【図11】第3の実施の形態における印刷モードを選択
する部分のフローチャートである。
【図12】第4の実施の形態における印刷モードの決定
条件を取得する部分のフローチャートである。
【図13】第5の実施の形態における処理手順を示した
フローチャートである。
【図14】第5の実施の形態における処理手順の一例を
示したフローチャートである。
【図15】第6の実施の形態における印刷モードを選択
する部分のフローチャートである。
【図16】第7の実施の形態における印刷モードの決定
条件を取得する部分のフローチャートである。
【図17】ラスタグラフィック印刷モードにおける、従
来のプリンタドライバの処理内容を示すフローチャート
である。
【図18】第8の実施の形態における処理手順の概要を
示すフローチャートである。
【図19】第8の実施の形態における処理手順を示すフ
ローチャートである。
【図20】第8の実施の形態におけるプリンタ制御コマ
ンドの生成処理を示すフローチャートである。
【図21】第9の実施の形態における中間コードデータ
の生成処理を示すフローチャートである。
【図22】第9の実施の形態におけるプリンタ制御コマ
ンドの生成処理を示すフローチャートである。
【図23】第9の実施の形態における印刷モード情報の
テーブルを示す図である。
【図24】第10の実施の形態における印刷モード情報
のテーブルを示す図である。
【図25】第10の実施の形態における処理手順の特徴
部分を示すフローチャートである。
【図26】第10の実施の形態におけるプリンタ制御コ
マンドの生成処理の特徴部分を示すフローチャートであ
る。
【図27】第10の実施の形態におけるプリンタ制御コ
マンドの生成処理の特徴部分を示すフローチャートであ
る。
【図28】第11の実施の形態における、両面印刷を実
行したときのプリンタ1500内部での紙搬送の様子を
示す図である。
【図29】第11の実施の形態における印刷モード情報
のテーブルを示す図である。
【図30】第11の実施の形態における中間コードデー
タの生成処理の特徴部分を示すフローチャートである。
【図31】第12の実施の形態におけるメモリマップの
状態を示す図である。
【図32】第12の実施の形態における描画が行われた
領域を説明する図である。
【図33】バンド領域をスキャンライン単位で分割した
ときの様子を示す図である。
【図34】第12の実施の形態における印刷イメージを
ラスタライズする際の処理を示すフローチャートであ
る。
【図35】第12の実施の形態におけるバンド領域の細
分化処理を示すフローチャートである。
【図36】第13の実施の形態における処理手順の特徴
部分を示すフローチャートである。
【図37】第13の実施の形態におけるバンド領域の細
分化処理を示すフローチャートである。
【図38】第13の実施の形態における描画済み領域情
報のテーブルを示すフローチャートである。
【図39】第14の実施の形態における処理手順の特徴
部分を示すフローチャートである。
【図40】第14の実施の形態におけるバンド領域の細
分化処理を示すフローチャートである。
【図41】第14の実施の形態における描画済み領域情
報のテーブルを示すフローチャートである。
【図42】第15の実施の形態におけるメモリマップの
例を示す図である。
【符号の説明】
3000 ホストコンピュータ 1500 プリンタ 1501 操作パネル 1、12 CPU 2、19 RAM 3、13 ROM 4、15 バス 5 キーボードコントローラ 6 CRTコントーラ 7、20 ディスクコントローラ 8 プリンタコントローラ 9 キーボード 10 CRTディスプレイ 11、14 外部メモリ 16 印刷部インターフェイス 17 印刷部 18 入力部 201 アプリケーション 202 グラフィックエンジン 203 プリンタドライバ 204 システムスプーラ 301 ディスパッチャ 302 スプーラ 303 スプールファイル 304 スプールファイルマネージャ 305 デスプーラ 51 ページ領域 52 バンド領域

Claims (67)

    【特許請求の範囲】
  1. 【請求項1】 プリンタに接続された印刷情報を処理す
    る印刷制御装置であって、 設定された条件に従って印刷モードを選択する選択手段
    と、 前記選択手段により選択された前記印刷モードで、グラ
    フィックエンジンが生成した描画命令に応じて、印刷デ
    ータをプリンタドライバに生成させる制御手段と,を備
    えることを特徴とする印刷制御装置。
  2. 【請求項2】 前記条件は、前記描画命令の発行元であ
    るアプリケーションの名称であることを特徴とする請求
    項1に記載の印刷制御装置。
  3. 【請求項3】 前記条件は、前記描画命令により指示さ
    れた特定機能であることを特徴とする請求項1に記載の
    印刷制御装置。
  4. 【請求項4】 前記条件は、前記プリンタのハードウェ
    ア機能であることを特徴とする請求項1に記載の印刷制
    御装置。
  5. 【請求項5】 前記条件は、前記描画命令が特殊な描画
    命令であることを特徴とする請求項1に記載の印刷制御
    装置。
  6. 【請求項6】 前記印刷モードを選択するための前記条
    件は、前記プリンタに固有のプリンタドライバから取得
    することを特徴とする請求項1乃至5のいずれかに記載
    の印刷制御装置。
  7. 【請求項7】 前記描画命令を中間コードに変換し、前
    記中間コードを一時保存するスプール手段と、 前記スプール手段に保存されている前記中間コードをも
    とに、前記グラフィックエンジンに前記描画命令を再生
    成させるデスプール手段とを備え、 前記制御手段は、前記グラフィックエンジンが再生成し
    た前記描画命令に応じて、前記印刷データを前記プリン
    タドライバに生成させることを特徴とする請求項1乃至
    6のいずれかに記載の印刷制御装置。
  8. 【請求項8】 前記グラフィックエンジンに前記描画命
    令を再生成させるときには、前記選択手段により選択さ
    れた前記印刷モードにおける前記プリンタドライバの能
    力を前記グラフィックエンジンに通知し、前記グラフィ
    ックエンジンに前記能力に応じた前記描画命令を生成さ
    せることを特徴とする請求項7に記載の印刷制御装置。
  9. 【請求項9】 前記選択手段により選択されたページ単
    位の印刷モードを記憶する印刷モード記憶手段を備え、 前記制御手段は前記印刷モード記憶手段に記憶されてい
    る前記印刷モードにしたがって、ページ単位に前記印刷
    モードを変更することを特徴とする請求項1乃至8のい
    ずれかに記載の印刷制御装置。
  10. 【請求項10】 前記選択手段により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶手段を備
    え、 前記スプール手段は、前記プリンタが複数ページを1の
    用紙にレイアウト印刷する場合に、前記複数ページ分の
    描画命令から、前記1の用紙にレイアウト印刷するため
    の中間コードを生成し、前記制御手段は、前記中間コー
    ドに基づき前記印刷モード記憶手段に記憶されているペ
    ージ単位の印刷モードで、前記1の用紙に印刷する前記
    印刷データを前記プリンタドライバに生成させることを
    特徴とする請求項7或いは8のいずれかに記載の印刷制
    御装置。
  11. 【請求項11】 前記選択手段によりページ単位に選択
    された印刷モードをページ単位に記憶する印刷モード記
    憶手段と、 前記スプール手段が前記描画命令を中間コードに変換
    し、前記プリンタの実際の印刷順に並び替えたページ順
    に従い、前記印刷モード記憶手段に記憶されている前記
    印刷モードを並び替える印刷モード並び替え手段と、を
    備え、 前記制御手段は、前記印刷モード並び替え手段により並
    び替えられた順に、ページ単位で前記印刷モードを変更
    して、前記プリンタドライバに前記印刷データを生成さ
    せることを特徴とする請求項7或いは8のいずれかに記
    載の印刷制御装置。
  12. 【請求項12】 前記印刷モードは、前記印刷データを
    ラスタデータとするラスタグラフィック印刷モードと、
    前記印刷データをベクタデータとするベクタグラフィッ
    ク印刷モードとを含むことを特徴とする請求項1乃至1
    1のいずれかに記載の印刷制御装置。
  13. 【請求項13】 プリンタに接続された印刷情報を処理
    する印刷制御装置であって、 設定された条件に従って印刷モードを選択する選択手段
    と、前記選択手段により選択された前記印刷モードで、
    グラフィックエンジンが生成した描画命令に応じて、印
    刷データを生成する生成手段と、 を備えることを特徴とする印刷制御装置。
  14. 【請求項14】 前記条件は、前記描画命令の発行元で
    あるアプリケーションの名称であることを特徴とする請
    求項13に記載の印刷制御装置。
  15. 【請求項15】 前記条件は、前記描画命令により指示
    された特定機能であることを特徴とする請求項13に記
    載の印刷制御装置。
  16. 【請求項16】 前記条件は、前記プリンタのハードウ
    ェア機能であることを特徴とする請求項13に記載の印
    刷制御装置。
  17. 【請求項17】 前記条件は、前記描画命令が特殊な描
    画命令であることを特徴とする請求項13に記載の印刷
    制御装置。
  18. 【請求項18】 前記描画命令を中間コードに変換し、
    前記中間コードを一時保存するスプール手段と、 前記スプール手段に保存されている前記中間コードをも
    とに、前記グラフィックエンジンに前記描画命令を再生
    成させるデスプール手段とを備え、 前記生成手段は、前記グラフィックエンジンが再生成し
    た前記描画命令に応じて、前記印刷データを生成するこ
    とを特徴とする請求項13乃至17のいずれかに記載の
    印刷制御装置。
  19. 【請求項19】 前記グラフィックエンジンに前記描画
    命令を再生成させるときには、前記選択手段により選択
    された前記印刷モードにおける前記生成手段の能力を前
    記グラフィックエンジンに通知し、前記グラフィックエ
    ンジンに前記能力に応じた前記描画命令を生成させるこ
    とを特徴とする請求項18に記載の印刷制御装置。
  20. 【請求項20】 前記選択手段により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶手段を備
    え、 前記生成手段は、前記印刷モード記憶手段に記憶されて
    いる前記印刷モードにしたがって、ページ単位で前記印
    刷モードを変更することを特徴とする請求項13乃至1
    9のいずれかに記載の印刷制御装置。
  21. 【請求項21】 前記選択手段により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶手段を備
    え、 前記スプール手段は、前記プリンタが複数ページを1の
    用紙にレイアウト印刷する場合に、前記複数ページ分の
    前記描画命令から、前記1の用紙にレイアウト印刷する
    ための中間コードを生成し、前記生成手段は、前記中間
    コードに基づき前記印刷モード記憶手段に記憶されてい
    るページ単位の印刷モードで、前記1の用紙に印刷する
    印刷データを生成することを特徴とする請求項18或い
    は19のいずれかに記載の印刷制御装置。
  22. 【請求項22】 前記選択手段により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶手段と、 前記スプール手段が前記描画命令を中間コードに変換
    し、前記プリンタの実際の印刷順に並び替えたページ順
    に従い、前記印刷モード記憶手段に記憶されている前記
    印刷モードを並び替える印刷モード並び替え手段と、を
    備え、 前記生成手段は、前記印刷モード並び替え手段により並
    び替えられた順に、ページ単位で前記印刷モードを変更
    して、前記印刷データを生成することを特徴とする請求
    項18或いは19のいずれかに記載の印刷制御装置。
  23. 【請求項23】 前記印刷モードは、前記印刷データを
    ラスタデータとするラスタグラフィック印刷モードと、
    前記印刷データをベクタデータとするベクタグラフィッ
    ク印刷モードとを含むことを特徴とする請求項13乃至
    22のいずれかに記載の印刷制御装置。
  24. 【請求項24】 印刷データ生成装置であって、 アプリケーションソフトウェアから受け付けた描画要求
    に基づき印刷イメージを構築する印刷イメージ構築手段
    と、 前記印刷イメージ構築手段で構築された印刷イメージを
    バンドメモリへ格納する格納手段と、 前記印刷イメージ構築手段により構築された印刷イメー
    ジの全てを包含する領域情報を形成する領域形成手段
    と、 前記バンドメモリをスキャンライン単位に分割して、順
    番に前記保存されている印刷イメージを読み出すバンド
    メモリ分割手段と、 前記分割されたスキャンラインと前記印刷イメージの全
    てを包含する領域情報とが重複するか否かを判断する判
    断手段と、 前記判断に基づき、重複した部分の印刷イメージに対応
    したプリンタ制御コマンドを生成する制御コマンド生成
    手段と、 を備えることを特徴とする印刷データ生成装置。
  25. 【請求項25】 前記印刷イメージ構築手段により構築
    された印刷イメージの全てを包含する領域は矩形である
    ことを特徴とする請求項24に記載の印刷データ生成装
    置。
  26. 【請求項26】 描画要求単位に描画済みである領域情
    報を、それぞれ記憶しておく記憶手段と、 前記記憶手段より記憶された領域情報と、前記分割され
    たスキャンラインとの重複の有無を判断する第二の判断
    手段とを更に備え、 前記重複部分の印刷イメージに対応したプリンタ制御コ
    マンドを前記制御コマンド生成手段により生成すること
    を特徴とする請求項24に記載の印刷データ生成装置。
  27. 【請求項27】 前記スキャンラインは高さ1ピクセル
    の水平ライン単位で分割されることを特徴とする請求項
    24乃至26のいずれかに記載の印刷データ生成装置。
  28. 【請求項28】 前記領域は、前記印刷イメージが複数
    入力された場合、全てを包含するように拡大可能である
    ことを特徴とする請求項26に記載の印刷データ生成装
    置。
  29. 【請求項29】 前記印刷イメージ構築手段により構築
    された印刷イメージの全てを包含する領域は円形である
    ことを特徴とする請求項24に記載の印刷データ生成装
    置。
  30. 【請求項30】 前記印刷イメージ構築手段により構築
    された印刷イメージの全てを包含する領域は楕円である
    ことを特徴とする請求項24に記載の印刷データ生成装
    置。
  31. 【請求項31】 ラスタライズされた印刷イメージを細
    分化されたバンドメモリに保存し、前記細分化の単位ご
    とに描画済みであるか否かを判断するための情報を格納
    する描画情報テーブル記憶手段と、 前記格納された情報に基づき描画済みであるか否かを細
    分化されたバンドメモリ単位に判断する第三の判断手段
    とを備え、 前記格納された情報が描画済みである場合は前記印刷イ
    メージのプリンタ制御コマンドの生成を行うことを特徴
    とする請求項24に記載の印刷データ生成装置。
  32. 【請求項32】 前記のバンドメモリを細分化する単位
    は矩形であることを特徴とする請求項31に記載の印刷
    データ生成装置。
  33. 【請求項33】 印刷情報を処理する印刷制御方法であ
    って、 設定された条件に従って印刷モードを選択する選択工程
    と、 前記選択工程により選択された前記印刷モードで、グラ
    フィックエンジンが生成した描画命令に応じて、印刷デ
    ータをプリンタドライバに生成させる制御工程と,を備
    えることを特徴とする印刷制御方法。
  34. 【請求項34】 前記条件は、前記描画命令の発行元で
    あるアプリケーションの名称であることを特徴とする請
    求項33に記載の印刷制御方法。
  35. 【請求項35】 前記条件は、前記描画命令により指示
    された特定機能であることを特徴とする請求項33に記
    載の印刷制御方法。
  36. 【請求項36】 前記条件は、前記プリンタのハードウ
    ェア機能であることを特徴とする請求項33に記載の印
    刷制御方法。
  37. 【請求項37】 前記条件は、前記描画命令が特殊な描
    画命令であることを特徴とする請求項33に記載の印刷
    制御方法。
  38. 【請求項38】 前記印刷モードを選択するための前記
    条件は、前記プリンタに固有のプリンタドライバから取
    得することを特徴とする請求項33乃至37のいずれか
    に記載の印刷制御方法。
  39. 【請求項39】 前記描画命令を中間コードに変換し、
    前記中間コードを一時保存するスプール工程と、 前記スプール工程に保存されている前記中間コードをも
    とに、前記グラフィックエンジンに前記描画命令を再生
    成させるデスプール工程とを備え、 前記制御工程は、前記グラフィックエンジンが再生成し
    た前記描画命令に応じて、前記印刷データを前記プリン
    タドライバに生成させることを特徴とする請求項33乃
    至38のいずれかに記載の印刷制御方法。
  40. 【請求項40】 前記グラフィックエンジンに前記描画
    命令を再生成させるときには、前記選択工程により選択
    された前記印刷モードにおける前記プリンタドライバの
    能力を前記グラフィックエンジンに通知し、前記グラフ
    ィックエンジンに前記能力に応じた前記描画命令を生成
    させることを特徴とする請求項39に記載の印刷制御方
    法。
  41. 【請求項41】 前記選択工程により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶工程を備
    え、 前記制御工程は前記印刷モード記憶工程に記憶されてい
    る前記印刷モードにしたがって、ページ単位に前記印刷
    モードを変更することを特徴とする請求項33乃至40
    のいずれかに記載の印刷制御方法。
  42. 【請求項42】 前記選択工程により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶工程を備
    え、 前記スプール工程は、前記プリンタが複数ページを1の
    用紙にレイアウト印刷する場合に、前記複数ページ分の
    描画命令から、前記1の用紙にレイアウト印刷するため
    の中間コードを生成し、前記制御工程は、前記中間コー
    ドに基づき前記印刷モード記憶工程に記憶されているペ
    ージ単位の印刷モードで、前記1の用紙に印刷する前記
    印刷データを前記プリンタドライバに生成させることを
    特徴とする請求項39或いは40のいずれかに記載の印
    刷制御方法。
  43. 【請求項43】 前記選択工程によりページ単位に選択
    された印刷モードをページ単位に記憶する印刷モード記
    憶工程と、前記スプール工程が前記描画命令を中間コー
    ドに変換し、前記プリンタの実際の印刷順に並び替えた
    ページ順に従い、前記印刷モード記憶工程に記憶されて
    いる前記印刷モードを並び替える印刷モード並び替え工
    程とを備え、 前記制御工程は、前記印刷モード並び替え工程により並
    び替えられた順に、ページ単位で前記印刷モードを変更
    して、前記プリンタドライバに前記印刷データを生成さ
    せることを特徴とする請求項39或いは40のいずれか
    に記載の印刷制御方法。
  44. 【請求項44】 前記印刷モードは、前記印刷データを
    ラスタデータとするラスタグラフィック印刷モードと、
    前記印刷データをベクタデータとするベクタグラフィッ
    ク印刷モードとを含むことを特徴とする請求項33乃至
    43のいずれかに記載の印刷制御方法。
  45. 【請求項45】 印刷情報を処理する印刷制御方法であ
    って、 設定された条件に従って印刷モードを選択する選択工程
    と、 前記選択工程により選択された前記印刷モードで、グラ
    フィックエンジンが生成した描画命令に応じて、印刷デ
    ータを生成する生成工程と、 を備えることを特徴とする印刷制御方法。
  46. 【請求項46】 前記条件は、前記描画命令の発行元で
    あるアプリケーションの名称であるであることを特徴と
    する請求項45に記載の印刷制御方法。
  47. 【請求項47】 前記条件は、前記描画命令により指示
    された特定機能であることを特徴とする請求項45に記
    載の印刷制御方法。
  48. 【請求項48】 前記条件は、前記プリンタのハードウ
    ェア機能であることを特徴とする請求項45に記載の印
    刷制御方法。
  49. 【請求項49】 前記条件は、前記描画命令が特殊な描
    画命令であることを特徴とする請求項45に記載の印刷
    制御方法。
  50. 【請求項50】 前記描画命令を中間コードに変換し、
    前記中間コードを一時保存するスプール工程と、 前記スプール工程に保存されている前記中間コードをも
    とに、前記グラフィックエンジンに前記描画命令を再生
    成させるデスプール工程とを備え、 前記生成工程は、前記グラフィックエンジンが再生成し
    た前記描画命令に応じて、前記印刷データを生成するこ
    とを特徴とする請求項45乃至49のいずれかに記載の
    印刷制御方法。
  51. 【請求項51】 前記グラフィックエンジンに前記描画
    命令を再生成させるときには、前記選択工程により選択
    された前記印刷モードにおける前記生成工程の能力を前
    記グラフィックエンジンに通知し、前記グラフィックエ
    ンジンに前記能力に応じた前記描画命令を生成させるこ
    とを特徴とする請求項50に記載の印刷制御方法。
  52. 【請求項52】 前記選択工程により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶工程を備
    え、 前記生成工程は、前記印刷モード記憶工程に記憶されて
    いる前記印刷モードにしたがって、ページ単位で前記印
    刷モードを変更することを特徴とする請求項45乃至5
    1のいずれかに記載の印刷制御方法。
  53. 【請求項53】 前記選択工程により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶工程を備
    え、 前記スプール工程は、前記プリンタが複数ページを1用
    紙にレイアウト印刷する場合に、前記複数ページ分の前
    記描画命令から、前記1の用紙にレイアウト印刷するた
    めの中間コードを生成し、前記生成工程は、前記中間コ
    ードに基づき前記印刷モード記憶工程に記憶されている
    ページ単位の印刷モードで、前記1の用紙に印刷する印
    刷データを生成することを特徴とする請求項50或いは
    51のいずれかに記載の印刷制御方法。
  54. 【請求項54】 前記選択工程により選択されたページ
    単位の印刷モードを記憶する印刷モード記憶工程と、 前記スプール工程が前記描画命令を中間コードに変換
    し、前記プリンタの実際の印刷順に並び替えたページ順
    に従い、前記印刷モード記憶工程に記憶されている前記
    印刷モードを並び替える印刷モード並び替え工程と、を
    備え、 前記生成工程は、前記印刷モード並び替え工程により並
    び替えられた順に、ページ単位で前記印刷モードを変更
    して、前記印刷データを生成することを特徴とする請求
    項50或いは51のいずれかに記載の印刷制御方法。
  55. 【請求項55】 前記印刷モードは、前記印刷データを
    ラスタデータとするラスタグラフィック印刷モードと、
    前記印刷データをベクタデータとするベクタグラフィッ
    ク印刷モードとを含むことを特徴とする請求項45乃至
    54のいずれかに記載の印刷制御方法。
  56. 【請求項56】 印刷データ生成方法であって、 アプリケーションソフトウェアから受け付けた描画要求
    に基づき印刷イメージを構築する印刷イメージ構築工程
    と、 前記印刷イメージ構築工程で構築された印刷イメージを
    バンドメモリへ格納する格納工程と、 前記印刷イメージ構築工程により構築された印刷イメー
    ジの全てを包含する領域情報を形成する領域形成工程
    と、 前記バンドメモリをスキャンライン単位に分割して、順
    番に前記保存されている印刷イメージを読み出すバンド
    メモリ分割工程と、 前記分割されたスキャンラインと前記印刷イメージの全
    てを包含する領域情報とが重複するか否かを判断する判
    断工程と、 前記判断に基づき、重複した部分の印刷イメージに対応
    したプリンタ制御コマンドを生成する制御コマンド生成
    工程と、 を備えることを特徴とする印刷データ生成方法。
  57. 【請求項57】 前記印刷イメージ構築工程により構築
    された印刷イメージの全てを包含する領域は矩形である
    ことを特徴とする請求項56に記載の印刷データ生成方
    法。
  58. 【請求項58】描画要求単位に描画済みである領域情報
    を、それぞれ記憶しておく記憶工程と、 前記記憶工程より記憶された領域情報と、前記分割され
    たスキャンラインとの重複の有無を判断する第二の判断
    工程と、を更に備え、 前記重複部分の印刷イメージに対応したプリンタ制御コ
    マンドを前記制御コマンド生成工程により生成すること
    を特徴とする請求項56に記載の印刷データ生成方法。
  59. 【請求項59】 前記スキャンラインは高さ1ピクセル
    の水平ライン単位で分割されることを特徴とする請求項
    56乃至58のいずれかに記載の印刷データ生成方法。
  60. 【請求項60】 前記領域は、前記印刷イメージが複数
    入力された場合、全てを包含するように拡大可能である
    ことを特徴とする請求項58に記載の印刷データ生成方
    法。
  61. 【請求項61】 前記印刷イメージ構築工程により構築
    された印刷イメージの全てを包含する領域は円形である
    ことを特徴とする請求項56に記載の印刷データ生成方
    法。
  62. 【請求項62】 前記印刷イメージ構築工程により構築
    された印刷イメージの全てを包含する領域は楕円である
    ことを特徴とする請求項56に記載の印刷データ生成方
    法。
  63. 【請求項63】 ラスタライズされた印刷イメージを細
    分化されたバンドメモリに保存し、前記細分化の単位ご
    とに描画済みであるか否かを判断するための情報を格納
    する描画情報テーブル記憶工程と、 前記格納された情報に基づき描画済みであるか否かを細
    分化されたバンドメモリ単位に判断する第三の判断工程
    と、 を備え、前記格納された情報が描画済みである場合は前
    記印刷イメージのプリンタ制御コマンドの生成を行うこ
    とを特徴とする請求項56に記載の印刷データ生成方
    法。
  64. 【請求項64】 前記のバンドメモリを細分化する単位
    は矩形であることを特徴とする請求項63に記載の印刷
    データ生成方法。
  65. 【請求項65】 印刷情報を処理する印刷制御プログラ
    ムを格納する記憶媒体であって、前記プログラムが、 設定された条件に従って印刷モードを選択する選択工程
    のコードと、 前記選択工程により選択された前記印刷モードで、グラ
    フィックエンジンが生成した描画命令に応じて、印刷デ
    ータをプリンタドライバに生成させる制御工程のコード
    と,を備えることを特徴とする記憶媒体。
  66. 【請求項66】 印刷情報を処理する印刷制御プログラ
    ムを格納する記憶媒体であって、前記プログラムが、 設定された条件に従って印刷モードを選択する選択工程
    のコードと、 前記選択工程により選択された前記印刷モードで、グラ
    フィックエンジンが生成した描画命令に応じて、印刷デ
    ータを生成する生成工程のコードと、 を備えることを特徴とする記憶媒体。
  67. 【請求項67】 印刷データ生成するプログラムを格納
    する記憶媒体であって、前記プログラムが、 アプリケーションソフトウェアから受け付けた描画要求
    に基づき印刷イメージを構築する印刷イメージ構築工程
    のコードと、 前記印刷イメージ構築工程で構築された印刷イメージを
    バンドメモリへ格納する格納工程のコードと、 前記印刷イメージ構築工程により構築された印刷イメー
    ジの全てを包含する領域情報を形成する領域形成工程の
    コードと、 前記バンドメモリをスキャンライン単位に分割して、順
    番に前記保存されている印刷イメージを読み出すバンド
    メモリ分割工程のコードと、 前記分割されたスキャンラインと前記印刷イメージの全
    てを包含する領域情報とが重複するか否かを判断する判
    断工程のコードと、 前記判断に基づき、重複した部分の印刷イメージに対応
    したプリンタ制御コマンドを生成する制御コマンド生成
    工程のコードと、 を備えることを特徴とする記憶媒体。
JP01765499A 1998-02-05 1999-01-26 情報処理装置及び情報処理方法、記憶媒体 Expired - Fee Related JP3689579B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP01765499A JP3689579B2 (ja) 1998-02-05 1999-01-26 情報処理装置及び情報処理方法、記憶媒体
DE69924548T DE69924548T2 (de) 1998-02-05 1999-01-29 Druckdatenerzeugung und Drucksteuerungsverfahren und -gerät
EP99300659A EP0935187B1 (en) 1998-02-05 1999-01-29 Print data generation and print control method and apparatus
US09/244,475 US6734986B1 (en) 1998-02-05 1999-02-04 Print control apparatus, print data generating apparatus, print control method, print data generating method, and storage medium

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2488198 1998-02-05
JP6165398 1998-03-12
JP10-61653 1998-03-12
JP10-24881 1998-03-12
JP01765499A JP3689579B2 (ja) 1998-02-05 1999-01-26 情報処理装置及び情報処理方法、記憶媒体

Publications (2)

Publication Number Publication Date
JPH11327846A true JPH11327846A (ja) 1999-11-30
JP3689579B2 JP3689579B2 (ja) 2005-08-31

Family

ID=27281917

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01765499A Expired - Fee Related JP3689579B2 (ja) 1998-02-05 1999-01-26 情報処理装置及び情報処理方法、記憶媒体

Country Status (4)

Country Link
US (1) US6734986B1 (ja)
EP (1) EP0935187B1 (ja)
JP (1) JP3689579B2 (ja)
DE (1) DE69924548T2 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3711435B2 (ja) * 1998-02-10 2005-11-02 セイコーエプソン株式会社 印刷データのプレビュー方法および装置、記録媒体
US7172121B2 (en) 2000-11-03 2007-02-06 Claricom Limited System and method for applying codes onto packaged products
GB9926198D0 (en) 1999-11-05 2000-01-12 Claricom Ltd Improvements in printer systems
US7170617B1 (en) * 2000-04-17 2007-01-30 International Business Machines Corporation Method and apparatus for determining how to process incoming print jobs
JP4586241B2 (ja) * 2000-06-14 2010-11-24 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
ATE322053T1 (de) * 2000-06-16 2006-04-15 Seiko Epson Corp Drucker, der eine steuerungsvorrichtung und ein druckgerät umfasst
JP4298146B2 (ja) * 2000-08-22 2009-07-15 キヤノン株式会社 印刷データを生成する情報処理装置及び方法
KR100396548B1 (ko) * 2001-01-10 2003-09-03 삼성전자주식회사 프린팅 속도를 향상시키는 프린터 제어 장치 및 그 방법
US7003585B2 (en) * 2001-09-05 2006-02-21 Xerox Corporation High speed serial interface
US20030202209A1 (en) * 2002-04-30 2003-10-30 Mellor Douglas J. System and method for optimizing memory resources in printing devices
JP2004110127A (ja) * 2002-09-13 2004-04-08 Fuji Xerox Co Ltd プリンタアイコン生成装置、プリンタアイコン生成方法及びプログラム
JP4564732B2 (ja) * 2002-10-02 2010-10-20 キヤノン株式会社 印刷制御装置、印刷制御方法、プリントシステム、プログラム
US20040140986A1 (en) * 2003-01-16 2004-07-22 Boldon John Leland Systems and methods for facilitating printing through interface exportation
WO2004077287A1 (ja) * 2003-02-26 2004-09-10 Science Park Corporation 印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体
JP2006021407A (ja) * 2004-07-07 2006-01-26 Konica Minolta Business Technologies Inc 画像形成装置および画像形成装置の制御方法
JP4397752B2 (ja) * 2004-07-28 2010-01-13 株式会社リコー 通信端末装置
JP5473237B2 (ja) * 2008-03-10 2014-04-16 キヤノン株式会社 印刷装置、印刷装置の制御方法、及びコンピュータプログラム
JP5142872B2 (ja) * 2008-07-28 2013-02-13 キヤノン株式会社 印刷制御装置、印刷制御方法、及びコンピュータプログラム
JP5578975B2 (ja) * 2010-07-16 2014-08-27 キヤノン株式会社 情報処理装置、その処理方法及びプログラム
KR20150036973A (ko) * 2013-09-30 2015-04-08 삼성전자주식회사 화상 형성 장치 및 그 제어 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69117112T2 (de) * 1990-08-08 1996-06-27 Peerless Group Verfahren und Vorrichtung zur Bildwiedergabe
DE69325509T2 (de) * 1993-06-15 1999-12-23 Hewlett Packard Co Direktanschluss-Protokoll auf niederer Ebene für PCL-Drucker
US5699495A (en) * 1994-07-27 1997-12-16 Microsoft Corporation Point-and-print in a distributed environment
US5774720A (en) * 1995-08-18 1998-06-30 International Business Machines Corporation Personality neutral graphics subsystem
JP3250424B2 (ja) * 1995-08-22 2002-01-28 セイコーエプソン株式会社 印刷方式及び印刷方法
KR100212986B1 (ko) * 1996-06-14 1999-08-02 윤종용 프린터의 이미지 화일 직접 인쇄방법
JP3209102B2 (ja) * 1996-07-19 2001-09-17 セイコーエプソン株式会社 プリントシステム、プリンタドライバ及びプリンタ
US6039426A (en) * 1996-08-09 2000-03-21 Hewlett-Packard Company Simplified print mode selection method and apparatus

Also Published As

Publication number Publication date
US6734986B1 (en) 2004-05-11
DE69924548T2 (de) 2006-02-23
EP0935187B1 (en) 2005-04-06
EP0935187A2 (en) 1999-08-11
EP0935187A3 (en) 2000-08-16
DE69924548D1 (de) 2005-05-12
JP3689579B2 (ja) 2005-08-31

Similar Documents

Publication Publication Date Title
JP3689579B2 (ja) 情報処理装置及び情報処理方法、記憶媒体
US8422046B2 (en) Print setting based reprinting
JP4543340B2 (ja) 画像処理装置および画像形成システムとプログラム
US6493099B2 (en) Print control apparatus and method
US6025927A (en) Image processing apparatus and method
US6509977B1 (en) Printing control system, printing control method and storage medium
US6278524B1 (en) Printing control apparatus and method
US6320667B1 (en) Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information
US6975416B2 (en) Print control apparatus and method
US6310693B1 (en) Printing control apparatus and method, and printing system for reducing processing overhead
US7443519B1 (en) Printer system flexibly compatible with plurality of printer control languages (PCL) using intermediate and raster codes
US20040075859A1 (en) Printer instruction processing
KR20010104212A (ko) 래스터 오브젝트를 생성하기 위한 방법, 시스템, 정보저장 매체, 및 컴퓨터 판독가능 매체
US8098385B2 (en) Spool file modifying device
JP4100912B2 (ja) 情報処理装置及びその制御方法、プログラム並びに記憶媒体
JP2000335021A (ja) 画像処理装置及び画像処理方法
US6281982B1 (en) Information processing apparatus, information processing method, storage medium, and printing system
JP2000207147A (ja) 印刷デ―タ転送システム
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP4325339B2 (ja) 印刷システム、ホストコンピュータ及びプリンタドライバ
JP3996990B2 (ja) 印刷制御装置、印刷制御方法および印刷制御プログラムを格納した記憶媒体
JP3495877B2 (ja) プリンタ制御システム、プリンタ制御装置およびそれらの方法
JPH11110151A (ja) プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム
JP3968989B2 (ja) 画像処理装置、画像処理方法および画像処理プログラムを記録した記憶媒体
JP2000298565A (ja) 印刷制御方法及び装置と前記印刷制御方法を実行するプログラムを記憶した記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041015

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20041015

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20041015

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20041015

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20041112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041129

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050613

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090617

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100617

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110617

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120617

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130617

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees