(57)【要約】【課題】印刷データを連続的に印刷装置に出力することで、トータルの印刷処理時間を短縮することができる印刷システムを提供する。【解決手段】アプリケーション２１から出力された印刷命令を受け付ける印刷命令受付部５１、印刷命令受付部５１で受け付けた印刷命令に基づいて印刷命令ファイルを生成する印刷命令生成部５２、印刷命令生成部５２で印刷命令ファイルを生成した後に印刷命令に対する処理完了をアプリケーションに応答する処理完了応答部５４、および印刷命令生成部５２で生成した印刷命令ファイルを出力してレンダリング処理を要求するレンダリング処理要求部５３を有するプリンタードライバー２３と、レンダリング処理要求部５３から出力された印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成するレンダリング処理部６２を有するレンダリングモジュール２４と、を備えた。【選択図】図２
2014032452.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションから出力された印刷命令を受け付ける印刷命令受付部、前記印刷命令受付部で受け付けた前記印刷命令に基づいて印刷命令ファイルを生成する印刷命令生成部、前記印刷命令生成部で前記印刷命令ファイルを生成した後に前記印刷命令に対する処理完了を前記アプリケーションに応答する処理完了応答部、および前記印刷命令生成部で生成した前記印刷命令ファイルを出力してレンダリング処理を要求するレンダリング処理要求部を有するプリンタードライバー実行モジュールと、
前記レンダリング処理要求部から出力された前記印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成するレンダリング処理部を有するレンダリングモジュールと、
を備えたことを特徴とする情報処理装置。
【請求項２】
前記印刷命令生成部は、前記印刷命令受付部で受け付けた前記印刷命令を前記レンダリングモジュールの前記レンダリング処理部で処理される形式の印刷命令ファイルに変換する請求項１に記載の情報処理装置。
【請求項３】
前記レンダリング処理要求部は、前記印刷命令ファイルを複数出力し、
前記レンダリング処理部は、前記レンダリング処理要求部から出力された複数の前記印刷命令ファイルに基づいて、前記レンダリング処理を並列に実行する請求項２に記載の情報処理装置。
【請求項４】
アプリケーションから出力された印刷命令を受け付ける印刷命令受付部、前記印刷命令受付部で受け付けた前記印刷命令に基づいて印刷命令ファイルを生成する印刷命令生成部、前記印刷命令生成部で前記印刷命令ファイルを生成した後に前記印刷命令に対する処理完了を前記アプリケーションに応答する処理完了応答部、および前記印刷命令生成部で生成した前記印刷命令ファイルを出力してレンダリング処理を要求するレンダリング処理要求部を有するプリンタードライバー実行モジュールと、前記レンダリング処理要求部から出力された前記印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成するレンダリング処理部を有するレンダリングモジュールと、を備えた情報処理装置と、
前記情報処理装置で生成した前記印刷データを受信する印刷データ受信部、および受信した前記印刷データに基づいて印刷処理を実行する印刷処理部を有する印刷装置と、
を備えたことを特徴とする印刷システム。
【請求項５】
アプリケーションから出力された印刷命令を取得し、
取得された印刷命令に基づいて、プリンタードライバーで印刷命令ファイルを生成し、
前記印刷命令ファイルを生成した後、前記印刷命令に対する処理完了を前記アプリケーションに応答すると共に、生成した前記印刷命令ファイルをレンダリングモジュールに出力し、
前記レンダリングモジュールに入力された前記印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成することを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷命令に基づいて印刷データを生成する情報処理装置、印刷システムおよび印刷制御方法に関するものである。
【背景技術】
【０００２】
従来、アプリケーションが生成したデータを処理し、出力対象となる印刷装置がサポートしているフォーマットに従った印刷データ（変換印刷データ）を生成するプリンタードライバー（印刷ドライバー）が知られている（例えば、特許文献１参照）。このプリンタードライバーは、レンダリングモジュールを有しており、このレンダリングモジュールの処理により印刷データを生成する。そして、プリンタードライバーは生成した印刷データを印刷装置に送信し、印刷装置で印刷処理が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−６４４０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プリンタードライバーの処理の中で、特に、レンダリング処理は処理負荷が大きく、多くの処理時間がかかる。このため、連続して印刷処理を行う場合、プリンタードライバーでのレンダリング処理がボトルネックとなり、次の処理開始までに時間がかかる。この結果、印刷装置側で印刷データの入力待ちによる停止等が発生し、トータルの印刷処理時間が長くなるという問題がある。
【０００５】
本発明は、上記の問題に鑑み、印刷データを連続的に印刷装置に出力することで、トータルの印刷処理時間を短縮することができる情報処理装置、印刷システムおよび印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の情報処理装置は、アプリケーションから出力された印刷命令を受け付ける印刷命令受付部、印刷命令受付部で受け付けた印刷命令に基づいて印刷命令ファイルを生成する印刷命令生成部、印刷命令生成部で印刷命令ファイルを生成した後に印刷命令に対する処理完了をアプリケーションに応答する処理完了応答部、および印刷命令生成部で生成した印刷命令ファイルを出力してレンダリング処理を要求するレンダリング処理要求部を有するプリンタードライバー実行モジュールと、レンダリング処理要求部から出力された印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成するレンダリング処理部を有するレンダリングモジュールと、を備えたことを特徴とする。
【０００７】
本発明の印刷制御方法は、アプリケーションから出力された印刷命令を取得し、取得された印刷命令に基づいて、プリンタードライバーで印刷命令ファイルを生成し、印刷命令ファイルを生成した後、印刷命令に対する処理完了をアプリケーションに応答すると共に、生成した印刷命令ファイルをレンダリングモジュールに出力し、レンダリングモジュールに入力された印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成することを特徴とする。
【０００８】
本発明の構成によれば、プリンタードライバーは、印刷命令に基づいて印刷命令ファイルを作成した後、当該印刷命令に対する処理を完了し、プリンタードライバーとは別プロセスで動作するモジュール（レンダリングモジュール）によってレンダリング処理を実行して印刷データを生成する。これにより、レンダリングモジュールによるレンダリング処理実行中でも、プリンタードライバーは次の印刷命令に対する処理を開始することができる。よって、連続して印刷処理を行う場合、印刷データを途切れることなく印刷装置に出力することができ、トータルの印刷処理時間を短縮することができる。
【０００９】
上記の情報処理装置において、印刷命令生成部は、印刷命令受付部で受け付けた印刷命令をレンダリングモジュールのレンダリング処理部で処理される形式の印刷命令ファイルに変換することを特徴とする。
【００１０】
本発明の構成によれば、プリンタードライバー実行モジュール側で、アプリケーションからの印刷命令をレンダリングモジュール（レンダリング処理部）で処理される形式に変換することにより、レンダリングモジュールはアプリケーションから出力される印刷命令の形式を意識せずに処理することができる。
【００１１】
上記の情報処理装置において、レンダリング処理要求部は、印刷命令ファイルを複数出力し、レンダリング処理部は、レンダリング処理要求部から出力された複数の印刷命令ファイルに基づいて、レンダリング処理を並列に実行することを特徴とする。
【００１２】
本発明の構成によれば、レンダリング処理を並列実行できるため、レンダリング処理に係る時間を短縮できる。
【００１３】
本発明の印刷システムは、アプリケーションから出力された印刷命令を受け付ける印刷命令受付部、印刷命令受付部で受け付けた印刷命令に基づいて印刷命令ファイルを生成する印刷命令生成部、印刷命令生成部で印刷命令ファイルを生成した後に印刷命令に対する処理完了をアプリケーションに応答する処理完了応答部、および印刷命令生成部で生成した印刷命令ファイルを出力してレンダリング処理を要求するレンダリング処理要求部を有するプリンタードライバー実行モジュールと、レンダリング処理要求部から出力された印刷命令ファイルに基づいてレンダリング処理を行って印刷データを生成するレンダリング処理部を有するレンダリングモジュールと、を備えた情報処理装置と、情報処理装置で生成した印刷データを受信する印刷データ受信部、および受信した印刷データに基づいて印刷処理を実行する印刷処理部を有する印刷装置と、を備えたことを特徴とする。
【００１４】
本発明の構成によれば、印刷データを途切れることなく印刷装置に出力し、連続して印刷処理を行うことができる印刷システムを提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る印刷システムの制御構成を示すブロック図である。
【図２】印刷システムの機能構成を示すブロック図である。
【図３】印刷システムの印刷制御手順について説明するシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、添付の図面を参照して、本発明の一実施形態に係る情報処理装置、印刷システムおよび印刷制御方法について説明する。図１は、印刷システムＳＹの制御ブロック図である。印刷システムＳＹは、情報処理装置１と、情報処理装置１と接続される印刷装置２により構成される。情報処理装置１と印刷装置２の接続形態は、ネットワーク（有線接続もしくは無線接続）を介して接続する構成でも良いし、ＵＳＢケーブル等を介して接続する構成でも良い。
【００１７】
情報処理装置１は、主要部として制御部１１、記憶部１２および通信部１３を有している。制御部１１は、ＣＰＵ（Central  Processing  Unit）、ＲＯＭ（Read  Only  Memory）およびＲＡＭ（Random  Access  Memory）等により構成され、情報処理装置１全体を制御する。通信部１３は、印刷装置２と通信するインターフェースである。
【００１８】
記憶部１２は、アプリケーション２１、印刷制御部２２、プリンタードライバー２３（プリンタードライバー実行モジュール）、およびレンダリングモジュール２４を記憶している。印刷制御部２２は、アプリケーション２１からの印刷要求を受け付け、この要求に基づく印刷命令（描画命令）をプリンタードライバー２３に出す。
【００１９】
プリンタードライバー２３は、印刷制御部２２からの印刷命令を受け、この印刷命令に基づくレンダリング処理をレンダリングモジュール２４に要求する。レンダリングモジュール２４は、レンダリング処理を行うサービス（レンダリングサービス）としてプリンタードライバー２３の処理とは別のプロセスで起動され、プリンタードライバー２３からの処理要求に基づいてレンダリング処理を行い、印刷装置２で処理される形式の印刷データを生成する。なお、これら各ソフトウェアの処理（機能）の詳細は後述する。
【００２０】
印刷装置２は、主要部として制御部３１、印刷機構３２および通信部３３を有している。制御部３１は、ＣＰＵ、ＲＯＭ、ＲＡＭ等により構成され、印刷装置２全体を制御する。印刷機構３２は、用紙送り機構、印刷ヘッド、用紙切断機構などを含み、制御部３１の制御の下で印刷動作を行う。なお、印刷方式は、インクジェット方式やレーザー方式など、その種類を問わない。通信部３３は、情報処理装置１と通信するインターフェースである。
【００２１】
次に、図２の機能ブロック図を参照して、印刷システムＳＹの機能構成について説明する。情報処理装置１は、主に印刷制御部２２、プリンタードライバー２３およびレンダリングモジュール２４によって印刷制御に係る機能を提供する。
【００２２】
印刷制御部２２は、主要部として印刷命令部４１を有している。印刷命令部４１は、アプリケーション２１からの印刷要求に基づいて、一連の印刷命令を生成し、プリンタードライバー２３に印刷命令を出す。また、印刷命令部４１は、プリンタードライバー２３から印刷命令に対する処理が完了した旨を示す応答（以下、「処理完了応答」と称す。）を受け取る。
【００２３】
プリンタードライバー２３は、主要部として印刷命令受付部５１、印刷命令生成部５２、レンダリング処理要求部５３および処理完了応答部５４を有している。印刷命令受付部５１は、印刷制御部２２（印刷命令部４１）からの印刷命令を受け付ける。
【００２４】
印刷命令生成部５２は、印刷命令受付部５１が受け付けた印刷命令を、レンダリングモジュール２４で処理可能な形式に変換し、変換したデータをファイル（以下、「印刷命令ファイル」と称す。）を生成して保存する。この印刷命令ファイルは、ジョブ単位で生成される。
【００２５】
レンダリング処理要求部５３は、印刷命令生成部５２によりジョブ単位の印刷命令ファイルの生成後、このファイルに基づくレンダリング処理を、レンダリングモジュール２４に要求する。
【００２６】
処理完了応答部５４は、印刷命令ファイルの生成後、印刷制御部２２に対して印刷命令に対する処理完了応答を返す。これにより、プリンタードライバー２３と印刷制御部２２の間の一連の処理が完了するため、後述のレンダリング処理部６２によるレンダリング処理の最中であっても、印刷制御部２２は、プリンタードライバー２３に対して次の印刷命令を出すことができ、プリンタードライバー２３は、印刷制御部２２からの次の印刷命令に対する処理を開始できる。
【００２７】
レンダリングモジュール２４は、レンダリングサービスとして起動するものであり、レンダリング処理要求受付部６１、レンダリング処理部６２および印刷データ出力部６３を有している。レンダリング処理要求受付部６１は、プリンタードライバー２３（レンダリング処理要求部５３）からの処理要求を受け付ける。
【００２８】
レンダリング処理部６２は、レンダリング処理要求受付部６１により受け付けた処理要求に基づき、対象となる印刷命令ファイルに基づいてレンダリング処理を実行し、印刷データを生成する。このレンダリング処理は、１の印刷ジョブに１のスレッド（レンダリング処理スレッド）が生成され、スレッド単位で並列に実行される。
【００２９】
印刷データ出力部６３は、レンダリング処理部６２により生成された印刷データを、印刷制御部２２を経由せずに印刷装置２に出力する。また、印刷データ出力部６３は、印刷データをキューイングし、印刷データの出力順を管理する。この印刷データの管理は、印刷装置２に対応して生成されるスレッド（キューイングスレッド）で実行される。
【００３０】
印刷装置２は、印刷データ受信部７１、印刷処理部７２を有している。印刷データ受信部７１は、情報処理装置１（印刷データ出力部６３）から印刷データを受信する。印刷処理部７２は、受信した印刷データに基づいて印刷機構３２を制御し、印刷用紙に印刷を行う。
【００３１】
次に、図３のシーケンス図を参照し、印刷システムＳＹの印刷制御手順について説明する。ここでは、印刷制御部２２は、アプリケーション２１から２つの印刷要求（印刷ジョブ）を受け付けているものとする。また、以下で説明するアプリケーション２１、印刷制御部２２、プリンタードライバー２３、レンダリングモジュール２４（レンダリングサービス、レンダリング処理スレッド、キューイングスレッド）は、情報処理装置１の制御部１１による制御の元で実行される。
【００３２】
まず、印刷制御部２２は、プリンタードライバー２３に対して、１つ目の印刷ジョブ（ＪＯＢ１）に対する印刷命令を出す（Ｓ０１）。プリンタードライバー２３は、印刷制御部２２からの印刷命令を変換して、印刷命令ファイルＡを生成する（Ｓ０２）。そして、レンダリングサービスに対して、生成した印刷命令ファイルＡに基づくレンダリング処理を、要求する（Ｓ０３）。
【００３３】
次に、プリンタードライバー２３は、印刷命令ファイルＡを生成後、印刷制御部２２に対して処理完了応答を返す（Ｓ０４）。
【００３４】
一方、レンダリングサービス（レンダリングモジュール２４）は、プリンタードライバー２３からジョブ単位でレンダリング処理の要求を受け、レンダリング処理スレッドを生成し、各スレッドで並列してレンダリング処理を実行して印刷データを生成する。ここでは、レンダリングサービスは、印刷命令ファイルＡに基づくレンダリング処理要求を受け付けると、レンダリング処理スレッド１を生成してレンダリング処理を行い、印刷データＡを生成する（Ｓ０５、Ｓ０６）。
【００３５】
次に、レンダリングサービスは、印刷装置２に対応したキューイングスレッドを生成する。キューイングスレッドは、レンダリング処理スレッドの処理で生成した印刷データＡを順次受け取り、印刷装置２が印刷中の場合は、印刷データＡを保持（蓄積）する。そして、キューイングスレッドは、印刷装置２が印刷データを受信可能な状態になった時点で、印刷データＡを受け取った順に印刷装置２に送信する（Ｓ０７）。印刷装置２は、レンダリングモジュール２４から受信した印刷データＡに基づいて印刷を実行する（Ｓ０８）。
【００３６】
一方、上記の処理と並行して、印刷制御部２２は、Ｓ０４でプリンタードライバー２３から処理完了応答を受け取ると、即座に次の印刷ジョブ（ＪＯＢ２）に対する印刷命令をプリンタードライバー２３に出す（Ｓ０９）。すなわち、前の印刷命令（ＪＯＢ１）に対するレンダリング処理（Ｓ０６）の完了を待つことなく、次の印刷命令をプリンタードライバー２３に出す。
【００３７】
プリンタードライバー２３は、印刷制御部２２からの印刷命令を変換して、印刷命令ファイルＢを生成する（Ｓ１０）。そして、レンダリングサービスに対して、生成した印刷命令ファイルＢに基づくレンダリング処理を要求すると共に（Ｓ１１）、印刷制御部２２に対して処理完了応答を返す（Ｓ１２）。
【００３８】
レンダリングサービスは、プリンタードライバー２３から印刷命令ファイルＢに基づくレンダリング処理の要求を受け付けると、新たにレンダリング処理スレッド２を生成してレンダリング処理を行い、印刷データＢを生成する（Ｓ１３、Ｓ１４）。すなわち、レンダリング処理スレッド１、２により２つの印刷命令に対するレンダリング処理が並列に実行される。
【００３９】
次に、レンダリングサービスは、レンダリング処理スレッド２の処理で生成した印刷データＢを、印刷装置２に対応したキューイングスレッドに順次出力する。キューイングスレッドは、印刷データＢを受け取り、印刷装置２が印刷中の場合、または、他のジョブに対する印刷データを既に保持（蓄積）している場合は、印刷データＢを保持（蓄積）する。そして、キューイングスレッドは、印刷装置２が印刷データを受信可能になった時点で、受け取ったジョブの順番、かつジョブの中でも印刷データを受け取った順に、印刷データを印刷装置２に送信する（Ｓ０７）。この場合、まずは印刷データＡを、続いて印刷データＢを印刷装置２に送信する。これにより、印刷装置２は、印刷データＡの印刷処理が完了した後、続けて印刷データＢの印刷を実行することとなる（Ｓ１５）。
【００４０】
以上説明したとおり、本実施形態によれば、プリンタードライバー２３は、印刷制御部２２からの印刷命令に基づいて印刷命令ファイルを作成した後、当該印刷命令に対する処理を完了し、プリンタードライバー２３とは別プロセスで動作するレンダリングモジュール２４によってレンダリング処理を実行して印刷データを生成する。これにより、レンダリングモジュール２４によるレンダリング処理実行中でも、プリンタードライバー２３は次の印刷命令を即座に受け付けて処理を開始することができる。よって、連続して印刷処理を行う場合、印刷データを途切れることなく印刷装置に出力することができ、トータルの印刷処理時間を短縮することができる。
【００４１】
なお、本実施形態では、印刷命令生成部５２によって印刷命令を処理可能な形式に変換し、印刷命令ファイルを生成している。しかしながら、印刷命令の記述形式のままで処理が可能な場合は、変換することなく印刷命令ファイルを生成しても良い。
【００４２】
また、本実施形態では、ジョブ単位で印刷命令ファイルの生成およびレンダリング処理を行うようにしているが、これに限るものではない。情報処理装置１で動作する各ソフトウェアの仕様に応じた最適な単位で処理を行えば良い。
【００４３】
また、上記の印刷システムＳＹ（情報処理装置１および印刷装置２）の各構成要素をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体（図示省略）に格納して提供することも可能である。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【００４４】
また、上記の実施例によらず、印刷システムＳＹの装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。
【符号の説明】
【００４５】
１…情報処理装置  ２…印刷装置  ２３…プリンタードライバー  ２４…レンダリングモジュール  ５１…印刷命令受付部  ５２…印刷命令生成部  ５３…レンダリング処理要求部  ５４…処理完了応答部  ６２…レンダリング処理部  ７１…印刷データ受信部  ７２…印刷処理部  ＳＹ…印刷システム
【図１】
2014032452.tif 000003
【図２】
2014032452.tif 000004
【図３】
2014032452.tif 000005