JP3907484B2 - 情報処理装置、その制御方法及びプログラム - Google Patents

情報処理装置、その制御方法及びプログラム Download PDF

Info

Publication number
JP3907484B2
JP3907484B2 JP2002010389A JP2002010389A JP3907484B2 JP 3907484 B2 JP3907484 B2 JP 3907484B2 JP 2002010389 A JP2002010389 A JP 2002010389A JP 2002010389 A JP2002010389 A JP 2002010389A JP 3907484 B2 JP3907484 B2 JP 3907484B2
Authority
JP
Japan
Prior art keywords
data
print
print target
data conversion
spooling
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
JP2002010389A
Other languages
English (en)
Other versions
JP2003216364A (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 JP2002010389A priority Critical patent/JP3907484B2/ja
Publication of JP2003216364A publication Critical patent/JP2003216364A/ja
Application granted granted Critical
Publication of JP3907484B2 publication Critical patent/JP3907484B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置、その制御方法及びプログラムに関するものである。
【0002】
【従来の技術】
従来、印刷データを生成する印刷データ生成部(プリンタドライバ)は、印刷アプリケーションから受ける印刷情報を逐次印刷コマンドへと変換していく非スプールコマンド生成機能のみを有するものが殆どであった。
【0003】
しかしながら近年、印刷装置の高解像度化、カラー化に伴い印刷コマンドが肥大化し、膨大な量の印刷コマンドを生成することが多くなり、印刷装置への転送経路や印刷装置の処理能力によっては印刷処理速度の低下の一因となっていた。
【0004】
そこで、上記欠点を解消するべく、印刷アプリケーションから受ける印刷情報を一旦ディスクなどの記憶装置内に格納しておき、この格納された印刷情報から印刷装置の処理速度を低下させるような非常に複雑なページは、ホストコンピュータ側でバンドビットマップを生成し印刷装置へ送るイメージ展開機能を用いて印刷装置へ転送し、また印刷装置の処理速度を維持できる程度のページに対しては従来のように印刷コマンドを生成し印刷装置へ転送するようなスプールコマンド生成機能が考案された。
【0005】
【発明が解決しようとする課題】
しかしながら、上記スプールコマンド生成機能は従来の非スプールコマンド生成機能に比べ、ホストコンピュータ側に負荷のかかる機能であり、低処理能力のホストコンピュータ上でスプールコマンド生成機能を実行すると、かえって非スプールコマンド生成機能を用いた印刷よりも印刷時間がかかってしまう場合が存在した。
【0006】
これは、スプール処理自体がホストコンピュータに対して大きな負荷となり、ユーザが印刷指示を出してから最初のページの印刷コマンドが印刷装置へ到達するまでに時間を要しているからである。
【0007】
もちろん、このような低処理能力のホストコンピュータではスプールコマンド生成機能のバンドビットマップイメージ生成処理も時間を要する処理となり、更に印刷パフォーマンスの低下を引き起こすこととなる。
【0008】
一方、高処理能力のホストコンピュータにおいては、スプール処理のオーバーヘッドは少なく、ビットマップイメージ生成時間は短時間で行えるため、スプールコマンド生成機能を有効に活用できる。
【0009】
また、スプールコマンド生成機能を用いてビットマップ展開されるページが存在すると、非スプールコマンド生成機能を使用するより印刷装置へ転送するデータサイズが大きくなる傾向にあるため、転送能力の低いI/Fを用いる場合も印刷時間の遅延の原因となる。例えば、標準的なホストコンピュータのローカルポートであるセントロニクスなどは低速なI/Fであり、LANを経由しLPRプロトコルを用いたダイレクト印刷などは高速なI/Fである。
【0010】
低速なI/Fで印刷装置が接続されていて、印刷装置への転送データサイズの大きくなるスプールコマンド生成機能を使用すると、データの転送に時間を要するため、印刷パフォーマンスが低下し、非スプールコマンド生成機能を使用すると、印刷装置側でのデータ待ち時間が短時間となるため印刷パフォーマンスが向上する。
【0011】
同様に、高速なI/Fで印刷装置が接続されている場合、スプールコマンド生成機能を使用すると印刷装置の印刷データ受信能力を充分に活用できるのと同時に、印刷装置内での負荷の少ないコマンドで出力することが可能であるためより高速な印刷が可能となる。
【0012】
本発明は以上の背景を鑑み考案されたものであり、その目的は、操作者の印刷指示からプリンタによる印刷処理までの全体の印刷処理に関して、より高速な印刷スループットの得られる印刷データを生成する情報処理装置、その制御方法及びプログラムを提供することにある。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明に係る装置は、
印刷装置に出力すべき印刷データを生成する情報処理装置であって、
入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換手段と、
入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換手段と、
前記情報処理装置に関する環境情報を取得する環境情報取得手段と、
前記環境情報取得手段により取得した前記環境情報に基づいて、前記第1データ変換手段と、
前記第2データ変換手段の何れに印刷対象データを入力するかを選択する選択手段と、
を備え
前記第2データ変換手段は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とする。
【0014】
上記目的を達成するため、本発明に係る他の装置は、
印刷装置に出力すべき印刷データを生成する情報処理装置であって、
入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換手段と、
入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換手段と、
前記情報処理装置に関する環境情報を取得する環境情報取得手段と、
前記環境情報取得手段により取得した前記環境情報に基づいて、前記第1データ変換手段と、前記第2データ変換手段の何れに印刷対象データを入力するかを選択する選択手段と、
を備え
前記第2データ変換手段は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換手段に出力するかを選択することを特徴とする。
【0015】
上記目的を達成するため、本発明に係る方法は、
印刷対象としての印刷対象データにデータ変換を施して印刷装置に出力する情報処理装置の制御方法であって、
前記情報処理装置に関する環境情報を取得する環境情報取得工程と、
前記環境情報取得工程により取得した前記環境情報に基づいて、入力した印刷対象データをスプールしてからデータ変換すべきか、スプールせずにデータ変換すべきかを判定する判定工程と、
前記判定工程で、スプールせずにデータ変換すべきと判定された印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換工程と、
前記判定工程で、スプールしてからデータ変換すべきと判定された印刷対象データを、スプールしてから印刷データへと変換する第2データ変換工程と、
を含み
前記第2データ変換工程は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とする。
【0016】
上記目的を達成するため、本発明に係る方法は、
印刷対象としての印刷対象データにデータ変換を施して印刷装置に出力する情報処理装置の制御方法であって、
前記情報処理装置に関する環境情報を取得する環境情報取得工程と、
前記環境情報取得工程により取得した前記環境情報に基づいて、入力した印刷対象データをスプールしてからデータ変換すべきか、スプールせずにデータ変換すべきかを判定する判定工程と、
前記判定工程で、スプールせずにデータ変換すべきと判定された印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換工程と、
前記判定工程で、スプールしてからデータ変換すべきと判定された印刷対象データを、スプールしてから印刷データへと変換する第2データ変換工程と、
を含み
前記第2データ変換工程は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換工程に移行するかを選択することを特徴とする。
【0017】
上記目的を達成するため、本発明に係るプログラムは、
プリンタと接続されたコンピュータに読み込まれることによってプリンタドライバとして機能するプログラムであって、
印刷対象データを入力する入力機能と、
入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換機能と、
入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換機能と、
読み込まれた前記コンピュータに関する環境情報を取得する環境情報取得機能と、
前記環境情報取得機能により取得した前記環境情報に基づいて、入力した印刷対象データを前記第1データ変換機能によるデータ変換と、前記第2データ変換機能によるデータ変換の何れの対象とするかを選択する選択機能と、
を実現し、
前記第2データ変換機能は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とする。
【0018】
上記目的を達成するため、本発明に係るプログラムは、
プリンタと接続されたコンピュータに読み込まれることによってプリンタドライバとして機能するプログラムであって、
印刷対象データを入力する入力機能と、
入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換機能と、
入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換機能と、
読み込まれた前記コンピュータに関する環境情報を取得する環境情報取得機能と、
前記環境情報取得機能により取得した前記環境情報に基づいて、入力した印刷対象データを前記第1データ変換機能によるデータ変換と、前記第2データ変換機能によるデータ変換の何れの対象とするかを選択する選択機能と、
を実現し、
前記第2データ変換機能は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換機能を実行するかを選択することを特徴とする。
【0023】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0024】
(第1の実施の形態)
図1は、本発明に係る情報処理装置に好適な第1実施形態としてのホストコンピュータを示すブロック図である。
【0025】
図1では、ホストコンピュータ100は、通信媒体により印刷装置200と接続され、印刷システムを形成している。この印刷システムでは、少なくともホストコンピュータ100から印刷装置200への通信が可能であるとする。
【0026】
ホストコンピュータ100は、不図示のCPU及び磁気ディスクやメモリ等の記憶装置を備えており、不図示のオペレーティングシステム(以下OS)がその磁気ディスクから読出されてCPUにより実行可能である。
【0027】
図1において、アプリケーション110、処理選択部120、環境情報取得部130、スプールコマンド生成部150、非スプールコマンド生成部160における処理は、何れもソフトウェアで実現されるものであり、ホストコンピュータ100内の記憶装置に格納されたプログラムコードをCPUが実行することにより、それぞれの機能を実現する。
【0028】
一方、印刷装置200は、不図示のプリンタエンジンコントローラ及びプリンタエンジンなどから構成されており。プリンタエンジンコントローラ側には不図示のCPUが搭載されプリンタエンジンコントローラのプログラムコードを格納するROM及び記憶領域としてのRAMなどが搭載されている。
【0029】
更にプリンタエンジン側には不図示の記録媒体の搬送機構、半導体レーザーユニット、感光ドラム、現像ユニット、定着ユニット、ドラムクローニングユニット、分離ユニット等で構成され、公知の電子写真プロセスで印刷を行う。
【0030】
以下に本発明の印刷時の動作について順を追って説明していく。
【0031】
本ホストコンピュータでは、印刷に先立って、ユーザに対し、使用しているホストコンピュータに関する環境情報を取得する機会を与える。
【0032】
プリンタドライバのUI画面上などに、図6のような画面300を表示し、印刷モード選択ボタン310を表示する。この印刷モード選択ボタン310は、図1の環境情報取得部140に対して環境情報取得の指示を送るためのボタンであり、画面上のボタン310がクリックされれば、ホストコンピュータ100は、それを検知して環境情報を取得する。
【0033】
また、320のように現在設定されている印刷モード、非スプールコマンド生成、スプールコマンド生成など、を排他的に表示できるものとする(図6では●印が現在選択されている印刷モードを示す)。
【0034】
もちろん、図6の320の「非スプールコマンド」とは非スプールコマンド生成手段にて印刷が行われる印刷モードを示し、「スプールコマンド」はスプールコマンド生成手段にて印刷が行われる印刷モードを示す。
【0035】
印刷モード選択ボタン310が押されると、同時にホストコンピュータ100の環境情報を取得する。ここで環境情報とは、ホストコンピュータのパフォーマンスに影響を及ぼすハードウェアの能力や容量を指すものとする。
【0036】
具体的には、CPU能力、RAM搭載量、RAMスピード、使用可能なハードディスク容量、ハードディスクスピード、及び印刷装置が接続されているI/Fのスピードなどの項目が挙げられる。
【0037】
次に、これらの指標が本印刷システムにおいて印刷パフォーマンスに係わる理由を述べる。
【0038】
CPU能力:
ホストコンピュータ100内のアプリケーション110、処理選択部120、環境情報取得部130、スプールコマンド生成部150、非スプールコマンド生成部160などのプログラムコードを実行するにあたり、CPU能力が高いものほど高速に処理することが可能である。特に、スプールコマンド生成部150で行なう処理には、描画コマンドをビットマップイメージに変換する処理が含まれており、スプールコマンド生成部150での処理時間は、CPU能力が高ければ高いほど短くなる。逆にCPU能力が低いと、スプールコマンド生成部150での処理に時間を要するため、非スプールコマンド生成部160を用いた方が高速である。
【0039】
RAM搭載量:
RAM搭載量に関してもホストコンピュータ100内の各プログラムコードを実行するにあたりその処理時間に係わるパラメータであるといえる。
【0040】
OSを含めたホストコンピュータ100内のシステム全体でRAM搭載量を超える記憶領域を必要とする場合、OSは使用頻度の低いRAM上の記憶領域をハードハードディスクなどに書き出しておき(ページアウト)、このスワップアウトされた領域内の情報が必要となった時に再度RAM上にロード(ページイン)することで見かけ上搭載RAM容量以上の記憶領域をハンドリングする。しかしながら、RAMに対するリード/ライトのスピードに比べ、ハードディスクに対する読み取り/書き込みは低速なため、頻繁にページアウト、ページインを繰り返すとシステム全体のパフォーマンス低下の原因となる。先のCPU能力の項目でも述べたように、スプールコマンド生成部150では描画コマンドをビットマップイメージに変換する処理を含んでおり、非スプールコマンド生成部160に比べより大量の記憶領域へのアクセスを必要とする。よって、RAM搭載量の多い環境ではスプールコマンド生成部150の方が高速に処理を行うことが可能であるが、RAM搭載量の少ない環境では非スプールコマンド生成部を選択した方が早く処理することが可能な場合もある。
【0041】
RAMスピード:
当然ながら、RAM上の情報へアクセスするが速ければ速いほど処理を高速に行うことが可能になる。また先に述べたページアウト、ページインに係わる時間もRAMスピードの影響を受けることになる。本システムではスプールコマンド生成部150での処理においては、非スプールコマンド生成部160での処理よりは大量のRAMアクセスが必要なため、RAMスピードが速い環境においてはスプールコマンド生成部150を選択した方がより高速な印刷を行うことが可能である。
【0042】
使用可能なハードディスク容量:
スプールコマンド生成部150は描画情報を一旦ハードディスクに格納するため、非スプールコマンド生成部160に比べ、未知数ではあるがある程度のハードディスクの空き容量が必要である。また、先にも述べたが、RAM搭載量を越える記憶領域をプログラムコードが必要とする場合、使用頻度の低い領域をページアウトする領域としてもハードディスクは使用されるため、スプールコマンド生成部150を選択する場合、ある程度の使用可能なハードディスク容量が必要となる。
【0043】
ハードディスクスピード:
スプールコマンド生成部150は描画情報を一旦ハードディスクに格納するため、非スプールコマンド生成部160に比べハードディスクを多用する処理である。ハードディスクへのアクセススピードが速いほどスプールコマンド生成部150は高速な処理が可能となる。また、ページアウト、ページインに係わる時間も高速なハードディスクの方がスムーズに行える。つまり、高速なハードディスクを使用できる環境ではスプールコマンド生成部150を選択することでよりパフォーマンスを発揮できるが、低速なハードディスク環境でスプールコマンド生成部150を用いると印刷時間の低下の原因になる。
【0044】
印刷装置が接続されているI/Fのスピード:
スプールコマンド生成部150を用いる場合、ページ単位で、そのページの複雑度によって、イメージ展開するページと文字や図形の描画コマンドで形成されるページとが存在することになる。一般的にイメージ展開したページは文字や図形のコマンドで形成されるページに比べ、印刷装置200への転送データ量が大きくなる傾向にあり、カラー印刷、高階調出力などの場合、更にその差は大きくなる。つまり高速なインタフェースでホストコンピュータ100と印刷装置200とが接続されている場合、積極的にスプールコマンド生成部150を選択することで印刷パフォーマンスの向上が見込まれ、接続されているインタフェースが低速であると判断される場合、非スプールコマンド生成部160を選択する方が好ましいパフォーマンスとなる場合がある。
【0045】
なお、双方向の通信が可能なインタフェースにおいては、実際にデータを印刷装置200に転送し、そのリバースを取得することでその通信速度を実測することは可能であるが、接続されているインタフェースのタイプを取得するだけもある程度の能力の把握は可能である。例えば、プリンタとの接続インタフェースが、セントロ(ニブルモード)であるか、セントロ(ECPモード)であるか、USBであるか、LPRであるか、IEEE1394であるかなどを判定し、インターフェースタイプを取得すれば、大まかな転送能力は把握できたことになる。
【0046】
図5は、これら6つの環境情報の値に対してスプールコマンド生成部150と非スプールコマンド生成部160とでどちらにアドバンテージがあるかをまとめた一覧表である。
【0047】
これらの環境変数の各値を総合的に評価し、動作モードを非スプールコマンド生成モードとするのかスプールコマンド生成モードとするのかを決定することになる。
【0048】
動作モードの決定方法としては、例えば、上に挙げた全ての環境変数値がある一定の能力を超えている場合にのみ非スプールコマンド生成モードとし、それ以外の場合はスプールコマンド生成モードを選択する方法や、各々の環境変数値をポイント化し、対象とする環境変数全てのポイントを合計した値がある一定基準を超えた場合は非スプールコマンド生成モードとし、それ以外の場合はスプールコマンド生成モードを選択するなど様々手法が考えられる。
【0049】
本発明を適応するシステムに適した判定基準を設けるようにすることで、本発明の効果は尚一層向上すると考えられる。
【0050】
図6の印刷モード選択ボタン310が押された場合、ホストコンピュータ100の環境情報を取得し、総合的に判断し、非スプールコマンド生成モード、スプールコマンド生成モードのいずれか、より好ましい印刷パフォーマンスを得られると予測される印刷モードを選択し、選択した印刷モードに選択印(●)を付け、ユーザに印刷モードが変更されたことを伝える。
【0051】
これ以降、処理選択部120はここで決定された印刷モードに従った処理系(スプールコマンド生成部または非スプールコマンド生成部)を選択する。
【0052】
すなわち、環境情報に基づいて、スプール後に印刷データに変換するべきか、或いはスプールせずに印刷データに変換するべきかを判定し、その判定結果を不図示のメモリに登録しておくことにより、処理選択部120は、その登録内容を参照して、印刷対象データをスプールコマンド生成部に入力するか、非スプールコマンド生成部に入力するか判断する。
【0053】
なお、印刷モードの選択は、少なくとも、ホストコンピュータ100の仕様、或いは、印刷装置200との通信インタフェースに変更がある度に、図6のダイアログを表示して行なうことが望ましい。
【0054】
以下に、処理選択部120で選択されるスプールコマンド生成部150及び非スプールコマンド生成部160の、それぞれの印刷時の動作について簡単に述べる。
【0055】
[スプールコマンド生成部]
図2は、スプールコマンド生成部150の動作を説明するためのブロック図である。
【0056】
処理選択部120によってスプールコマンド生成部150が選択される場合、アプリケーション110からOSの描画手段であるグラフィックエンジン(GDIと呼ばれる)に渡される描画情報(GDI関数:Graphic Device Interface)は、グラフィックエンジンにより出力先のモジュールが解釈可能な描画情報(DDI関数:Device Driver Interface)に変換され、変換された描画情報(DDI関数)は全て処理選択部120から、スプールコマンド生成部150内のスプール処理部151に渡され、描画情報152として、一旦ディスクなどの記憶装置内に格納される。1ページ分の描画情報152を格納し終わると、スプール処理部151はデスプール処理部153を起動し、デスプール処理部153に対してデスプールの開始を通告する。後続するページがあれば引き続きそれらのページをスプールし、ページが終了する度にページの開始をデスプール処理部153へ通告する。
【0057】
また、スプール処理部151はバンド単位で各描画命令の外接矩形や描画に関する統計情報も同様にスプールしておくようにする。このスプールされる情報をバンドスプールデータと呼ぶことにする。
【0058】
デスプール処理部153はデスプールの開始指示を受けると、先にスプールされた描画情報152やバンドスプールデータを参照し、ページまたはバンドごとに、文字やテキストなどのPDLコマンドに変換する場合と、イメージ展開してイメージ描画コマンドのみに変換する場合とで、どちらがホストコンピュータ100での処理時間、データ転送時間及び印刷装置200での処理時間のトータルが少なくなるかを判定する。
【0059】
つまり、PDLコマンドのみで構成される方が高速と判断される場合、PDLコマンド生成部154を選択し、イメージ描画コマンドのみで構成されるほうが高速と判断される場合はイメージ展開部155を選択する。
【0060】
また、バンド毎にPDLコマンド生成部153とイメージ展開処理部155を切り替えて使用する場合、バンドリストを生成し、描画情報152内の描画要素はそれぞれのバンドに登録される。勿論、複数のバンドに跨る描画命令は各バンドに対して登録する必要がある。
【0061】
デスプール処理部153によって、PDLコマンド生成部153が選択された場合、スプールされた描画情報152はPDLコマンド生成部153で、逐次、出力対象である印刷装置200が処理可能なプリンタコマンドへと置き換えられて印刷データが生成され、OS(オペレーションシステム)のプリントスプーラを介して印刷装置200へと出力される。
【0062】
なお、バンド単位でPDLコマンド生成部153とイメージ展開処理部155を切り替えて使用するのであれば、各バンドに対してクリップをかけたり、または描画自体を該当するバンド内に収めるような工夫を行ったりする必要がある。
【0063】
一方、デスプール処理部153によって、イメージ展開部154が選択される場合、スプールされた描画情報152及びバンドスプールデータはイメージ展開部155によって、必要であればバンディング処理が施され、イメージ展開される。但し、バンドごとの切り替えを行う場合、すでにデスプール処理部152においてバンディング処理が施されるため、この必要はない。
【0064】
更に、必要であればイメージ展開された画像に色変換処理を施した後に、ユーザが指定した出力階調まで落とすN値化処理(N=1、2..8)を行った後に、適切なイメージ描画コマンドの形式で印刷データが生成され、OSのプリントスプーラを介して印刷装置200へ転送される。
【0065】
1ページに対応するすべてのバンドに対する処理が終了すると1ページ分の処理が完了したことになる。
【0066】
後続するページが存在する場合も同様に、デスプール処理部153にて使用されるコマンド形態が選択し、選択された手段にてコマンド生成を行う。
【0067】
以上が処理選択部120によってスプールコマンド生成部150が選択される場合の処理であるが、上記PDLコマンド生成部153での変換処理は後述する非スプールコマンド生成部160での処理とほぼ同等の処理であることから、スプールコマンド生成部150を以下のように構成することでこれら二つの変換処理を一つにまとめることが可能である。図3は、スプールコマンド生成部150の他の構成例を説明するためのブロック図である。
【0068】
図3に示したようにデスプール処理部153はPDLコマンド生成部154を直接呼び出すのではなく、OSの提供する描画インタフェースを呼び出し、再度、処理選択部120を呼び出す。処理選択部120ではこれがデスプール処理部153からの呼び出しであることを認識し、処理系の選択などは行わずに、必ず非スプールコマンド生成部160を用いて印刷コマンドを生成する。つまりデスプール処理部は、スプールした印刷対象データの複雑さに応じて、非スプールコマンド生成部に印刷対象データを出力する。
【0069】
このように、同様のコマンド変換処理を分散させることなく、一箇所(非スプールコマンド生成部160)に集約することで、開発効率を集約できる。
【0070】
次に処理選択部120によって非スプールコマンド生成部160が選択される場合の処理について簡単に述べる。
【0071】
[非スプールコマンド生成部]
図4は、非スプールコマンド生成部の処理を示すブロック図である。
【0072】
処理選択部120によって非スプールコマンド生成部160が選択される場合、アプリケーション110からOSの描画手段であるグラフィックエンジンを介して渡される描画情報(DDI関数)は全て処理選択部120から非スプールコマンド生成部160へと渡される。
【0073】
非スプールコマンド生成部160では逐次渡されてくる描画情報を、出力対象の印刷装置200の処理可能なプリンタコマンドへと変換していき、これらを印刷装置200へ転送することで印刷を行う。
【0074】
つまり、こちらの処理経路は一般的なプリンタドライバによるコマンド生成処理といえる。
【0075】
以上に述べたように、本実施形態に係るホストコンピュータにおいては、そのホストコンピュータの処理能力及び印刷装置に接続されているインタフェースなどの環境情報を取得しておき、これらの情報に基づいて、スプールコマンド生成部及び非スプールコマンド生成部のうち最適な手段を選択する。すなわち、低処理能力のホストコンピュータ及び低速度の接続インタフェースにおいては、非スプールコマンド生成機能を選択して、スプールコマンド生成機能を用いた場合に生じるスプール処理のオーバーヘッド、イメージ展開処理の遅延及びデータ転送時間の遅延などを回避する。また、高処理能力のホストコンピュータ及び高速な接続インタフェースにおいて、積極的にスプールコマンド生成機能を活用して、更に高速な印刷環境をユーザに提供する。
【0076】
また、スプールコマンド生成機能が選択される場合であっても、可能な限り、ページまたはバンド単位でPDLコマンド生成を行いることで、イメージ展開機能にかかわるホストコンピュータ側の負荷を軽減することが可能となる。
【0077】
更に、ユーザに環境情報取得動作を行わせ、その結果を表示することで、印刷に使用するホストコンピュータの処理能力に適合した動作モードをユーザに提示することが可能となる。
【0078】
更に、UI上に選択された印刷モードを表示することにより、ホストコンピュータの処理能力に依存した現在の動作モードをユーザに提示することが可能となる。
【0079】
なお、上記実施形態では、ユーザインタフェースからユーザが指示することにより、スプール処理を行なうべきか行なわないべきかを判定しているが、本発明はこれに限定されるものではなく、所定のタイミングで自動的にその判定を行なっても良い。このタイミングとしては、例えば、印刷開始時などが挙げられる。
【0080】
更に、上記実施形態では、ホストコンピュータに関するハードウェア情報のみに基づいて、スプール処理を行なうべきか行なわないべきかを判定しているが、本発明はこれに限定されるものではなく、印刷対象となるデータの内容(容量、色、複雑さなど)をも考慮して判定しても良い。
【0081】
また、上記実施形態では、環境情報として、ハードウェアの能力をホストコンピュータから取得したが、本発明に係る環境情報は、これに限定されるものではなく、OSのバージョンやプリンタへの通信プロトコルなど、ソフトウェアの能力を含む情報であっても良い。
【0082】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。
【0083】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0084】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0085】
【発明の効果】
本発明によれば、より高速な印刷処理を行なうことのできる情報処理装置、その制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【図1】本発明の一実施形態としてのホストコンピュータを適用した印刷システムを示すブロック図である。
【図2】本発明の一実施形態としてのホストコンピュータのスプールコマンド生成部を示すブロック図である。
【図3】本発明の一実施形態としてのホストコンピュータのスプールコマンド生成部の他の例を示すブロック図である。
【図4】本発明の一実施形態としてのホストコンピュータの非スプールコマンド生成部の構成を示すブロック図である。
【図5】本発明の一実施形態としてのホストコンピュータの各環境情報と各コマンド生成部の効果との関係を示す図である。
【図6】本発明の一実施形態としてのホストコンピュータの環境情報取得ダイアログを示す図である。
【符号の説明】
100 ホストコンピュータ
110 アプリケーション
120 処理選択部
130 ホスト環境情報
140 環境情報取得部
150 スプールコマンド生成部
151 スプール処理部
152 描画情報
153 デスプール処理部
154 PDLコマンド生成部
155 イメージ展開部
160 非スプールコマンド生成部
200 印刷装置
300 モード判定結果をユーザに表示するダイアログの一例
310 環境情報取得ボタン
320 選択された動作モードを表示する領域

Claims (6)

  1. 印刷装置に出力すべき印刷データを生成する情報処理装置であって、
    入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換手段と、
    入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換手段と、
    前記情報処理装置に関する環境情報を取得する環境情報取得手段と、
    前記環境情報取得手段により取得した前記環境情報に基づいて、前記第1データ変換手段と、
    前記第2データ変換手段の何れに印刷対象データを入力するかを選択する選択手段と、
    を備え
    前記第2データ変換手段は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とする情報処理装置。
  2. 印刷装置に出力すべき印刷データを生成する情報処理装置であって、
    入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換手段と、
    入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換手段と、
    前記情報処理装置に関する環境情報を取得する環境情報取得手段と、
    前記環境情報取得手段により取得した前記環境情報に基づいて、前記第1データ変換手段と、前記第2データ変換手段の何れに印刷対象データを入力するかを選択する選択手段と、
    を備え
    前記第2データ変換手段は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換手段に出力するかを選択することを特徴とする情報処理装置。
  3. 印刷対象としての印刷対象データにデータ変換を施して印刷装置に出力する情報処理装置の制御方法であって、
    前記情報処理装置に関する環境情報を取得する環境情報取得工程と、
    前記環境情報取得工程により取得した前記環境情報に基づいて、入力した印刷対象データをスプールしてからデータ変換すべきか、スプールせずにデータ変換すべきかを判定する判定工程と、
    前記判定工程で、スプールせずにデータ変換すべきと判定された印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換工程と、
    前記判定工程で、スプールしてからデータ変換すべきと判定された印刷対象データを、スプールしてから印刷データへと変換する第2データ変換工程と、
    を含み
    前記第2データ変換工程は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とする情報処理装置の制御方法。
  4. 印刷対象としての印刷対象データにデータ変換を施して印刷装置に出力する情報処理装置の制御方法であって、
    前記情報処理装置に関する環境情報を取得する環境情報取得工程と、
    前記環境情報取得工程により取得した前記環境情報に基づいて、入力した印刷対象データをスプールしてからデータ変換すべきか、スプールせずにデータ変換すべきかを判定する判定工程と、
    前記判定工程で、スプールせずにデータ変換すべきと判定された印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換工程と、
    前記判定工程で、スプールしてからデータ変換すべきと判定された印刷対象データを、スプールしてから印刷データへと変換する第2データ変換工程と、
    を含み
    前記第2データ変換工程は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換工程に移行するかを選択することを特徴とする情報処理装置の制御方法。
  5. プリンタと接続されたコンピュータに読み込まれることによってプリンタドライバとして機能するプログラムであって、
    印刷対象データを入力する入力機能と、
    入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換機能と、
    入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換機能と、
    読み込まれた前記コンピュータに関する環境情報を取得する環境情報取得機能と、
    前記環境情報取得機能により取得した前記環境情報に基づいて、入力した印刷対象データを前記第1データ変換機能によるデータ変換と、前記第2データ変換機能によるデータ変換の何れの対象とするかを選択する選択機能と、
    を実現し、
    前記第2データ変換機能は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしての印刷コマンド、またはイメージデータのいずれかに変換することを特徴とするプログラム。
  6. プリンタと接続されたコンピュータに読み込まれることによってプリンタドライバとして機能するプログラムであって、
    印刷対象データを入力する入力機能と、
    入力した印刷対象データを、スプールせずに逐次印刷データへと変換する第1データ変換機能と、
    入力した印刷対象データを、スプールしてから印刷データへと変換する第2データ変換機能と、
    読み込まれた前記コンピュータに関する環境情報を取得する環境情報取得機能と、
    前記環境情報取得機能により取得した前記環境情報に基づいて、入力した印刷対象データを前記第1データ変換機能によるデータ変換と、前記第2データ変換機能によるデータ変換の何れの対象とするかを選択する選択機能と、
    を実現し、
    前記第2データ変換機能は、入力した印刷対象データを、その印刷対象データの特性に応じて、前記印刷データとしてのイメージデータに変換するか、或いは、前記第1データ変換機能を実行するかを選択することを特徴とするプログラム。
JP2002010389A 2002-01-18 2002-01-18 情報処理装置、その制御方法及びプログラム Expired - Fee Related JP3907484B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002010389A JP3907484B2 (ja) 2002-01-18 2002-01-18 情報処理装置、その制御方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002010389A JP3907484B2 (ja) 2002-01-18 2002-01-18 情報処理装置、その制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2003216364A JP2003216364A (ja) 2003-07-31
JP3907484B2 true JP3907484B2 (ja) 2007-04-18

Family

ID=27648142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002010389A Expired - Fee Related JP3907484B2 (ja) 2002-01-18 2002-01-18 情報処理装置、その制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP3907484B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7719537B2 (en) * 2006-08-22 2010-05-18 Monotype Imaging Inc. Method for reducing size and increasing speed for font generation of instructions
JP4617335B2 (ja) * 2007-05-16 2011-01-26 京セラミタ株式会社 画像形成システム、ホストコンピュータ及び画像形成プログラム

Also Published As

Publication number Publication date
JP2003216364A (ja) 2003-07-31

Similar Documents

Publication Publication Date Title
US8422046B2 (en) Print setting based reprinting
US6665081B1 (en) Print system printer driver and printer
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
US20070070403A1 (en) Information processing apparatus, information processing method, and program
CN103019631B (zh) 打印数据处理系统和打印数据处理方法
JP2009146251A (ja) 画像処理装置および画像形成システムとプログラム
US20040061897A1 (en) Printing control method and printing control apparatus
JP2002041261A (ja) 情報処理装置及び情報処理方法及びコンピュータ読み取り可能なプログラムを格納した記憶媒体
US20040125395A1 (en) Printing control method and apparatus
JP4174476B2 (ja) データ処理装置およびデータ処理方法およびプリンタドライバプログラムおよび印刷制御装置および印刷制御方法および印刷システム
US6999186B2 (en) Multi-copy printing apparatus and it's control method
JP3907484B2 (ja) 情報処理装置、その制御方法及びプログラム
US8289533B2 (en) Printing system and printing method for increasing efficiency by selectively rasterizing print data in either a host device or a print device
US20040012797A1 (en) Load balancing in image generation
US20040223188A1 (en) Printing control method and apparatus
US7310166B2 (en) Information processing apparatus and method, and print control program
JP3230516B2 (ja) プリンタ、記録媒体およびプリンタのメモリ管理方法
JP5966805B2 (ja) 印刷のための制御装置
JP2003280850A (ja) 高速印刷装置及びそれによる高速印刷方法
JP4467715B2 (ja) 画像出力制御装置及び方法
US6870635B1 (en) System and method for managing print objects using stacked objects queue
JP4367745B2 (ja) 画像描画処理装置及び画像処理システム
JP2003237147A (ja) 画像処理方法及びその装置
JP3679493B2 (ja) 画像処理装置および画像処理方法
JP2003036153A (ja) 印刷制御方法、印刷システム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040525

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060926

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070116

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120126

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130126

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20140126

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees