(57)【要約】【課題】プリンタの印刷動作を高速化する。【構成】ＰＤＬ処理部１２１は、プリンタコントローラ１１のジョブコントローラ１１２からレンダリング要求が発行されるのを待たずに、ＰＤＬデータの画像への展開と、展開した画像のイメージデータの、プリンタコントローラ１１のメモリ１１３上に確保されたバッファ領域への転送を行う。プリンタコントローラ１１のマスタ側先行処理制御部１１５は、ジョブコントローラ１１２からレンダリング要求が発行されると、レンダリング要求で指定されたメモリ１１３上の領域へ、バッファ領域からのイメージデータの転送を行い、ジョブコントローラ１１２にレンダリング完了を応答する。【選択図】図１
2004334489.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置から印刷データを受け入れ当該印刷データについての印刷動作を制御する主制御装置と、印刷データの解析及び画像への展開を行う印刷データ処理装置とを備えたプリンタであって、
前記主制御装置は、前記印刷データ処理装置に印刷データの解析の要求を発行し、前記解析の要求の応答として前記印刷データ処理装置から得られた解析結果が、当該印刷データを当該プリンタで印刷可能であることを示す場合に、印刷データの画像への展開の要求を発行し、前記展開の要求の応答として提供された画像の印刷を制御する印刷動作制御部を有し、
前記印刷データ処理装置は、前記解析の要求を前記印刷動作制御部より発行された場合に前記印刷データの解析を行い解析結果を前記解析の要求に対する応答として前記印刷動作制御部に提供する解析手段と、前記印刷動作制御部が発行する前記展開の要求の応答として当該印刷動作制御部に提供する画像の、前記解析を行った印刷データからの展開を行う画像展開手段とを有し、
前記画像展開手段は、前記解析手段の前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を開始することを特徴とするプリンタ。
【請求項２】
請求項１記載のプリンタであって、
前記主制御装置は、バッファメモリと、先行転送処理部とを有し、
前記画像展開手段は、前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を行って、前記バッファメモリに展開した画像を転送し、
前記先行転送処理部は、前記印刷動作制御部より前記展開の要求が発行された場合に、当該展開の要求に対する応答として、前記バッファメモリに格納された画像を前記印刷動作制御部に提供することを特徴とするプリンタ。
【請求項３】
請求項１記載のプリンタであって、
前記主制御装置は、前記印刷動作制御部に前記展開の要求の応答として提供される画像を格納するメモリと、バッファメモリと、先行転送処理部とを有し、
前記画像展開手段は、前記解析手段の前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を行って、展開した画像のデータを、前記印刷動作制御部より前記展開の要求が発行されるまでは前記バッファメモリへ転送すると共に、前記バッファメモリへの画像データの転送完了前に前記印刷動作制御部より前記展開の要求が発行された場合には、以降、前記バッファメモリへ未転送の画像のデータを前記メモリ上の前記展開の要求で指定された領域に転送し、
前記先行転送処理部は、前記印刷動作制御部より前記展開の要求が発行された場合に、バッファメモリに画像データが格納されている場合には、当該バッファメモリに格納された画像のデータを前記メモリ上の前記展開の要求で指定された領域内に転送することを特徴とするプリンタ。
【請求項４】
プリンタの印刷動作を制御する印刷制御装置であって、
ホスト装置から印刷データを受け入れ当該印刷データについての印刷動作を制御する主制御装置と、印刷データの解析及び画像への展開を行う印刷データ処理装置とを備え、
前記主制御装置は、前記印刷データ処理装置に印刷データの解析の要求を発行し、前記解析の要求の応答として前記印刷データ処理装置から得られた解析結果が、当該印刷データを当該プリンタで印刷可能であることを示す場合に、印刷データの画像への展開の要求を発行し、前記展開の要求の応答として提供された画像のプリントエンジンにおける印刷を制御する印刷動作制御部を有し、
前記印刷データ処理装置は、前記解析の要求を前記印刷動作制御部より発行された場合に前記印刷データの解析を行い解析結果を前記解析の要求に対する応答として前記印刷動作制御部に提供する解析手段と、前記印刷動作制御部が発行する前記展開の要求の応答として当該印刷動作制御部に提供する画像の、前記解析を行った印刷データからの展開を行う画像展開手段とを有し、
前記画像展開手段は、前記解析手段の前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を開始することを特徴とするプリンタの印刷制御装置。
【請求項５】
ホスト装置から印刷データを受け入れ当該印刷データについての印刷動作を制御する主制御装置と、印刷データの解析及び画像への展開を行う印刷データ処理装置とを備えたプリンタの、印刷動作を制御する方法であって、
前記主制御装置において、前記印刷データ処理装置に印刷データの解析の要求を発行するステップと、
前記印刷データ処理装置において、前記解析の要求を前記主制御装置より発行された場合に前記印刷データの解析を行い解析結果を前記解析の要求に対する応答として前記主制御装置に提供し、前記主制御装置よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を開始するステップと、
前記主制御装置において、前記解析の要求の応答として前記印刷データ処理装置から得られた解析結果が、当該印刷データを当該プリンタで印刷可能であることを示す場合に、印刷データの画像への展開の要求を発行するステップと、
前記印刷データ処理装置が展開した画像を、前記主制御装置が発行した前記画像への展開の要求の応答として、前記主制御装置に提供するステップと、
前記主制御装置において、前記展開の要求の応答として提供された画像の印刷を制御するステップとを有することを特徴とするプリンタの印刷動作制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタにおける印刷速度向上の技術に関するものである。
【０００２】
【従来の技術】
プリンタにおける印刷速度を向上する技術としては、プリンタに、主制御部のスレーブとして動作するアクセラレータを設け、アクセラレータに印刷データの画像へのレンダリング（ラスタライズ）を行わせることにより、印刷速度を向上する技術が知られている（たとえば、特開２００２−２１１０５０号公報）。
【０００３】
図６に、このようなアクセラレータを備えたプリンタの一構成例を示す。
図示するように、このプリンタ１は、それぞれ、適当なインタフェースを介して接続されたプリンタコントローラ１１と、アクセラレータ１２と、用紙の給排紙や用紙上への画像形成を行うプリントエンジン１３を備えている。
また、プリンタコントローラ１１は、ホスト装置２から印刷データとしてＰＤＬデータ（ページ記述言語データ）の受信を行うデータ送受信部１１１と、プリンタ１における印刷ジョブを統括するジョブコントローラ１１２と、メモリ１１３と、プリントエンジン１３における実際の用紙上への印刷動作を制御するエンジン制御部１１４とを有する。
【０００４】
そして、アクセラレータ１２は、ＰＤＬデータの解析や画像へのレンダリングなどのＰＤＬデータの処理を担うＰＤＬ処理部１２１と、アクセラレータメモリ１２２とを備えている。
次に、図７は、このようなプリンタ１における印刷シーケンス例を示すものである。
さて、データ送受信部１１１は、ホスト装置２からＰＤＬデータを受信するとメモリ１１３に格納し、印刷ジョブ発生をジョブコントローラ１１２に通知する。
印刷ジョブが発生すると、ジョブコントローラ１１２は、まず、アクセラレータ１２のＰＤＬ処理部１２１にジョブ開始要求を発行する（７０１）。ジョブ開始要求を受けたＰＤＬ処理部１２１は、ジョブ処理可能な状態にあれば、ジョブコントローラ１１２にＰＤＬデータ要求を発行する（７０２）。ＰＤＬデータ発行要求を受けたジョブコントローラ１１２は、メモリ１１３に格納されているＰＤＬデータをアクセラレータメモリ１２２に転送し（７０３）、ＰＤＬ解析要求をＰＤＬ処理部１２１に発行する（７０４）。
【０００５】
ＰＤＬ解析要求を受けたＰＤＬ処理部１２１は、アクセラレータメモリ１２２に格納されているＰＤＬデータの解析を行い、所定の中間言語によるデータの作成を、たとえばアクセラレータメモリ１２２上に行い、中間言語データの作成の完了や作成の失敗を解析結果としてジョブコントローラ１１２に応答する（７０５）。
【０００６】
ジョブコントローラ１１２は、中間言語データ作成の完了を示す解析結果応答を受け取ると、レンダリング要求をＰＤＬ処理部１２１に発行する（７０６）。ただし、ＰＤＬ処理部１２１による解析結果の応答の送信から、ジョブコントローラ１１２によるレンダリング要求の送信までの間には、その時点での各種処理状況などに応じて比較的大きな遅延が生じることがある。
【０００７】
レンダリング要求を受けたＰＤＬ処理部１２１は、先に作成した中間言語データが規定する画像をイメージデータとしてアクセラレータメモリ１２２上に展開し、展開した画像のイメージデータを、プリンタコントローラ１１のメモリ１１３に転送する（７０７）。そして、転送の終了や転送の失敗を、ジョブコントローラ１１２に応答する（７０８）。
【０００８】
応答を受けたジョブコントローラ１１２は、エンジン制御部１１４に、メモリ１１３にイメージデータが格納された画像のプリントエンジン１３における印刷を行わせる。
この出願の発明に関連する先行技術文献情報としては以下のものがある。
【０００９】
【特許文献１】
特開２００２−２１１０５０号公報
【００１０】
【発明が解決しようとする課題】
図６、７に示した従来のプリンタ１の動作によれば、図７より理解されるように、ＰＤＬ処理部１２１がＰＤＬデータの解析を行って解析結果応答をジョブコントローラ１１２に返した後、ジョブコントローラ１１２からＰＤＬ処理部１２１がレンダリング要求を受け取るまでの期間Ｔは、ＰＤＬ処理部１２１にとってはジョブコントローラ１１２の処理完了待ち時間となっており、この期間、ＰＤＬ処理部１２１は有意な処理を行っていない。
【００１１】
したがって、このような処理待ち期間を有効利用することができれば、プリンタの印刷速度をより向上することができる。
そこで、本発明は、印刷ジョブ処理中におけるアクセラレータの処理待ち時間を有効利用することにより、プリンタの印刷速度を向上することを課題とする。
【００１２】
【課題を解決するための手段】
前記課題達成のために、本発明は、ホスト装置から印刷データを受け入れ当該印刷データについての印刷動作を制御する主制御装置と、印刷データの解析及び画像への展開を行う印刷データ処理装置とを備えたプリンタにおいて、前記主制御装置に、前記印刷データ処理装置に印刷データの解析の要求を発行し、前記解析の要求の応答として前記印刷データ処理装置から得られた解析結果が、当該印刷データを当該プリンタで印刷可能であることを示す場合に、印刷データの画像への展開の要求を発行し、前記展開の要求の応答として提供された画像の印刷を制御する印刷動作制御部を備え、前記印刷データ処理装置に、前記解析の要求を前記印刷動作制御部より発行された場合に前記印刷データの解析を行い解析結果を前記解析の要求に対する応答として前記印刷動作制御部に提供する解析手段と、前記印刷動作制御部が発行する前記展開の要求の応答として当該印刷動作制御部に提供する画像の、前記解析を行った印刷データからの展開を行う画像展開手段とを備え、前記画像展開手段において、前記解析手段の前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を開始するようにしたものである。
【００１３】
このようなプリンタによれば、印刷データ処理装置において、印刷データの解析後、即座に印刷データの展開を、主制御装置からの印刷データの画像への展開要求の発行に先行して開始することによって印刷データ処理部の待ち時間を有効利用することにより、画像への展開要求の発行を待ってから画像の展開を行う従来のプリンタに比べ、プリンタの印刷動作を高速化することができる。
【００１４】
ここで、このようなプリンタにおいては、前記主制御装置に、バッファメモリと、先行転送処理部とをさらに備え、前記画像展開手段において、前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を行って、前記バッファメモリに展開した画像を転送するようにし、前記先行転送処理部において、前記印刷動作制御部より前記展開の要求が発行された場合に、当該展開の要求に対する応答として、前記バッファメモリに格納された画像を前記印刷動作制御部に提供するようにしてもよい。
【００１５】
このようにすることにより、画像の展開に加え、画像の主制御装置への転送までの処理を、主制御装置からの印刷データの画像への展開要求の発行に先行して行うことができ、かつ、バッファメモリからの印刷動作制御部への画像の提供は、同装置内での処理であって高速に行うことができることより、プリンタの印刷動作をより高速化することができる。
【００１６】
また、以上のプリンタにおいては、前記主制御装置に、前記印刷動作制御部に前記展開の要求の応答として提供される画像を格納するメモリと、バッファメモリと、先行転送処理部とを、さらに備え、前記画像展開手段において、前記解析手段の前記印刷動作制御部への前記解析の結果の応答後、前記印刷動作制御部よりの前記展開の要求の発行を待たずに、当該解析を行った印刷データの画像への展開を行って、展開した画像のデータを、前記印刷動作制御部より前記展開の要求が発行されるまでは前記バッファメモリへ転送すると共に、前記バッファメモリへの画像データの転送完了前に前記印刷動作制御部より前記展開の要求が発行された場合には、以降、前記バッファメモリへ未転送の画像のデータを前記メモリ上の前記展開の要求で指定された領域に転送し、前記先行転送処理部において、前記印刷動作制御部より前記展開の要求が発行された場合に、バッファメモリに画像データが格納されている場合には、当該バッファメモリに格納された画像のデータを前記メモリ上の前記展開の要求で指定された領域内に転送するようにしてもよい。
【００１７】
このようにすることにより、主制御装置からの印刷データの画像への展開要求の発行に先行して画像の転送を主制御装置のバッファメモリに対して行うことにより生じてしまうバッファメモリからメモリ上の指定領域へのデータ転送のオーバーヘッド量を低減することができる。
【００１８】
【発明の実施の形態】
以下、本発明の実施形態について説明する。
図１に、本実施形態に係るプリンタ１の構成を示す。
図示するように、このプリンタ１は、それぞれ、適当なインタフェースを介して接続されたプリンタコントローラ１１と、アクセラレータ１２と、用紙の給排紙や用紙上への画像形成を行うプリントエンジン１３を備えている。
また、プリンタコントローラ１１は、ホスト装置２から印刷データとしてＰＤＬデータ（ページ記述言語データ）の受信を行うデータ送受信部１１１と、プリンタ１における印刷ジョブを統括するジョブコントローラ１１２と、メモリ１１３と、プリントエンジン１３における実際の用紙上への印刷動作を制御するエンジン制御部１１４と、マスタ側先行処理制御部１１５とを有する。
【００１９】
そして、アクセラレータ１２は、ＰＤＬデータの解析や画像へのレンダリングなどのＰＤＬデータの処理を担うＰＤＬ処理部１２１と、アクセラレータメモリ１２２と、スレーブ側先行処理制御部１２３とを備えている。
すなわち、本実施形態に係るプリンタ１は、図６に示したプリンタ１において、プリンタコントローラ１１にマスタ側先行処理制御部１１５を備え、アクセラレータ１２側にスレーブ側先行処理制御部１２３とを備えた構成となっている。
なお、プリンタコントローラ１１とアクセラレータ１２は、たとえば、それぞれ別回路基盤上に構成されたＣＰＵ回路である。そして、プリンタコントローラ１１とアクセラレータ１２の各部は、ＣＰＵ回路のプログラム実行によりプロセスや各プロセスが利用可能な記憶空間として、プリンタコントローラ１１やアクセラレータ１２上に実現されるものであってよいし、ＣＰＵ回路内に組み込まれたＣＰＵの周辺回路やＬＳＩによって実現されるものであってもよい。また、プリンタコントローラ１１とアクセラレータ１２が別回路基盤上に構成されていることより、プリンタコントローラ１１内のデータ転送やアクセラレータ１２内のデータ転送は、プリンタコントローラ１１とアクセラレータ１２間のデータ転送よりも高速に行えるように構成されている。
【００２０】
以下、このようなプリンタ１の印刷動作について説明する。
なお、ジョブコントローラ１１２とＰＤＬ処理部１２１間のデータの送受は、全てマスタ側先行処理制御部１１５とスレーブ側先行処理制御部１２３とを中継して行われる。
まず、第１の印刷動作例を示す。
図２に、本印刷動作例による動作シーケンスを示す。
データ送受信部１１１は、ホスト装置２からＰＤＬデータを受信するとメモリ１１３に格納し、印刷ジョブ発生をジョブコントローラ１１２に通知する。
印刷ジョブが発生すると、ジョブコントローラ１１２は、まず、アクセラレータ１２のＰＤＬ処理部１２１にジョブ開始要求を発行する（７０１）。ジョブ開始要求を受けたＰＤＬ処理部１２１は、ジョブ処理可能な状態にあれば、ジョブコントローラ１１２にＰＤＬデータ要求を発行する（７０２）。ＰＤＬデータ発行要求を受けたジョブコントローラ１１２は、メモリ１１３に格納されているＰＤＬデータをアクセラレータメモリ１２２に転送し（７０３）、ＰＤＬ解析要求をＰＤＬ処理部１２１に発行する（７０４）。
【００２１】
ＰＤＬ解析要求を受けたＰＤＬ処理部１２１は、アクセラレータメモリ１２２に格納されているＰＤＬデータの解析を行い、所定の中間言語によるデータの作成を、たとえばアクセラレータメモリ１２２上に行い、中間言語データの作成の完了や作成の失敗を解析結果としてジョブコントローラ１１２に応答する（７０５）。ここまでのシーケンスは、図７を用いて説明した従来のシーケンスと同様である。
【００２２】
さて、このＰＤＬ処理部１２１からの、中間言語データ作成の完了を示す解析結果応答が発生すると、スレーブ側先行処理制御部１２３は、ＰＤＬ処理部１２１に、アクセラレータメモリ１２２上へのレンダリング処理を求めるレンダリング要求を発行する（２０１）。レンダリング要求を受けたＰＤＬ処理部１２１は、先に作成しておいた中間言語データが規定する画像をイメージデータとしてアクセラレータメモリ１２２上に展開し、スレーブ側先行処理制御部１２３に応答を返す（２０３）。
【００２３】
一方、ジョブコントローラ１１２は、中間言語データ作成の完了を示す解析結果応答を受け取ると、レンダリング要求をＰＤＬ処理部１２１に発行する（２０２）。ただし、ＰＤＬ処理部１２１による解析結果の応答の送信から、ジョブコントローラ１１２によるレンダリング要求の送信までの間には、その時点での各種処理状況などに応じて比較的大きな遅延が生じることがある。
【００２４】
スレーブ側先行処理制御部１２３は、このレンダリング要求をトラップし、その時点でＰＤＬ処理部１２１から応答（２０３）が返されていれば即座に、その時点でＰＤＬ処理部１２１から応答が返されていなければ応答（２０３）が返されるのを待ってから、アクセラレータ１２上に展開された画像のイメージデータをプリンタコントローラ１１のメモリ１１３に転送する（２０４）。そして、転送が完了したならば、応答をジョブコントローラ１１２に返す（２０５）。
【００２５】
応答を受けたジョブコントローラ１１２は、エンジン制御部１１４に、メモリ１１３に格納された画像のプリントエンジン１３における印刷を行わせる。
なお、スレーブ側先行処理制御部１２３は、ジョブコントローラ１１２から、レンダリング要求に代えてジョブキャンセル要求を受け取った場合には、イメージデータの転送は行わず、アクセラレータメモリ１２２のイメージデータが格納された領域の解放処理を行って、ジョブコントローラ１１２にキャンセル成功の応答を返し、そのまま、この印刷ジョブについての処理を終了する。
【００２６】
以上のように、本第１の印刷動作例によれば、ＰＤＬ処理部１２１に、ＰＤＬデータの解析結果応答後、即座にＰＤＬデータの画像への展開を開始させることができるので、従来よりもプリンタ１の印刷動作速度を向上することができる。また、ジョブコントローラ１１２の処理に一切の変更が必要なく、ＰＤＬ処理部１２１のレンダリング要求に対して行う処理をアクセラレータメモリ１２２に画像を展開するだけの処理に変更するたけで実現することができる。なお、本第１の印刷動作例においては、マスタ側先行処理制御部１１５は必ずしも必要ではない。
【００２７】
さて、以上の第１の印刷動作例によれば、ＰＤＬ処理部１２１による画像の展開終了前に、ジョブコントローラ１１２からのレンダリング要求が発行されない場合、ＰＤＬ処理部１２１による画像の展開終了からレンダリング要求発行までの期間が空き時間となる。そこで、次に、第２の印刷動作例として、この空き時間を低減する印刷動作例を示す。
【００２８】
図３に、本第２の印刷動作例における印刷動作のシーケンスを示す。
図示するように、ＰＤＬ処理部１２１が解析結果をジョブコントローラ１１２に応答するまでのシーケンス（７０１−７０５）は、第１の印刷動作例と同様である。
さて、この解析結果の応答（７０５）が発生すると、マスタ側先行処理制御部１１５は、ＰＤＬ処理部１２１に、プリンタコントローラ１１のメモリ１１３上に確保したバッファ領域へのレンダリング処理を求めるレンダリング要求を発行する（３０１）。レンダリング要求を受けたＰＤＬ処理部１２１は、アクセラレータメモリ１２２に格納されているＰＤＬデータを画像としてアクセラレータメモリ１２２上に展開し、展開した画像のイメージデータをプリンタコントローラ１１のメモリ１１３上のバッファ領域に転送し（３０２）、応答を返す（３０３）。
【００２９】
一方、ジョブコントローラ１１２は、中間言語データ作成の完了を示す解析結果応答を受け取ると、レンダリング要求をＰＤＬ処理部１２１に発行する（３０４）。ただし、ＰＤＬ処理部１２１による解析結果の応答の送信から、ジョブコントローラ１１２によるレンダリング要求の送信までの間には、その時点での各種処理状況などに応じて比較的大きな遅延が生じることがある。
【００３０】
マスタ側先行処理制御部１１５は、このレンダリング要求をトラップし、その時点でＰＤＬ処理部１２１から応答（３０３）が返されていれば即座に、その時点でＰＤＬ処理部１２１から応答（３０３）が返されていなければ応答が返されるのを待ってから、バッファ領域上に転送されたイメージデータを、レンダリング要求でジョブコントローラ１１２から指定されたメモリ１１３上の領域に転送する（３０５）。そして、転送が完了したならば、応答をジョブコントローラ１１２に返す（３０６）。
【００３１】
応答を受けたジョブコントローラ１１２は、エンジン制御部１１４に、メモリ１１３のレンダリング要求で指定したイメージデータの領域に格納された画像のプリントエンジン１３における印刷を行わせる。
なお、マスタ側先行処理制御部１１５は、ジョブコントローラ１１２から、レンダリング要求に代えてジョブキャンセル要求を受け取った場合には、バッファ領域の解放処理を行って、イメージデータの転送は行わず、ジョブコントローラ１１２にキャンセル成功の応答を返し、そのまま、この印刷ジョブについての処理を終了する。
【００３２】
以上のように、本第２の印刷動作例によれば、ジョブコントローラ１１２からのレンダリング要求発行を待たずに、イメージデータのプリンタコントローラ１１のメモリ１１３のバッファ領域への転送までの処理を行う。ここで、バッファ領域からジョブコントローラ１１２のレンダリング要求によって指定されたメモリ１１３の領域への転送は、プリンタコントローラ１１内の転送であり、アクセラレータ１２とプリンタコントローラ１１間のデータ転送より高速に行うことができる。したがって、プリンタ１の印刷動作をより高速化することができる。また、ジョブコントローラ１１２の処理にも、ＰＤＬ処理部１２１の処理にも、一切変更を加える必要がない。なお、本第２の印刷動作例においては、スレーブ側先行処理制御部１２３は必ずしも必要ではない。
【００３３】
さて、以上の第２の印刷動作例によれば、ＰＤＬ処理部１２１の、イメージデータのプリンタコントローラ１１のメモリ１１３のバッファ領域への転送の完了前に、ジョブコントローラ１１２からレンダリング要求が発行された場合、その後もバッファ領域へイメージデータを転送することは効率的ではない。最終的にイメージデータを転送するメモリ１１３上の領域が既知であるにもかかわず、それと異なるバッファ領域に一旦イメージデータに転送し、その後に最終的なメモリ１１３上の領域にイメージデータを転送することになるためである。
【００３４】
そこで、次に、第３の印刷動作例として、レンダリング要求発行後のイメージデータの転送の効率を向上することのできる印刷動作例を示す。
図４に、本第３の印刷動作例による印刷動作のシーケンスを示す。
図示するように、ＰＤＬ処理部１２１が解析結果をジョブコントローラ１１２に応答するまでのシーケンス（７０１−７０５）は、第１の印刷動作例と同様である。
さて、この解析結果の応答（７０５）が発生すると、スレーブ側先行処理制御部１２３は、ＰＤＬ処理部１２１に、アクセラレータメモリ１２２上へのレンダリング処理を求めるレンダリング要求を発行する（４０１）。レンダリング要求を受けたＰＤＬ処理部１２１は、アクセラレータメモリ１２２に格納されているＰＤＬデータを画像としてアクセラレータメモリ１２２上に展開し、スレーブ側先行処理制御部１２３に応答を返す（４０２）。
【００３５】
応答を受けた、スレーブ側先行処理制御部１２３は、アクセラレータメモリ１２２上に展開されたイメージデータを、所定データサイズのブロックに分割し、各ブロックを順次、ジョブコントローラ１１２からレンダリング要求が発行されるまで、プリンタコントローラ１１のメモリ１１３上のバッファ領域へ転送する（４０３）。
【００３６】
一方、ジョブコントローラ１１２は、中間言語データ作成の完了を示す解析結果応答を受け取ると、レンダリング要求をＰＤＬ処理部１２１に発行する（４０４）。
【００３７】
スレーブ側先行処理制御部１２３は、このレンダリング要求をトラップし、イメージデータのブロックの転送先を、レンダリング要求でジョブコントローラ１１２から指定されたメモリ１１３上のイメージデータの領域内の、当該ブロックに対応する領域に切り替えた上で、以降のイメージデータのブロックの転送を行う（４０５）。そして、イメージデータの全てのブロックの転送が終了したならば、マスタ側先行処理制御部１１５に、転送の終了と、イメージデータのどのブロックまでバッファ領域に転送したかと、レンダリング要求でジョブコントローラ１１２から指定されたメモリ１１３上のイメージデータの領域とを通知する転送通知を発行する（４０６）。
【００３８】
転送通知を受けたマスタ側先行処理制御部１１５は、転送通知に基づき、メモリ１１３のバッファ領域に転送されているイメージデータのブロックを、レンダリング要求でジョブコントローラ１１２が指定したメモリ１１３上のイメージデータの領域内の、当該ブロックに対応する領域に転送し（４０７）、応答をジョブコントローラ１１２に送る（４０８）。
【００３９】
応答を受けたジョブコントローラ１１２は、エンジン制御部１１４に、メモリ１１３のレンダリング要求で指定したイメージデータの領域に格納された画像のプリントエンジン１３における印刷を行わせる。
なお、スレーブ側先行処理制御部１２３は、ジョブコントローラ１１２から、レンダリング要求に代えてジョブキャンセル要求を受け取った場合には、その時点でまだブロックの転送を行っている場合には、イメージデータのブロックの転送を中止し、アクセラレータメモリ１２２のイメージデータが格納された領域の解放処理を行って、マスタ側先行処理制御部１１５にキャンセル通知を行い、そのまま、この印刷ジョブについての処理を終了する。一方、キャンセル通知を受けたマスタ側先行処理部は、バッファ領域の解放処理を行って、そのまま、ジョブコントローラ１１２にキャンセル成功の応答を返し、そのまま、この印刷ジョブについての処理を終了する。
【００４０】
さて、このような第３の印刷動作例によれば、イメージデータの転送は、たとえば、図５に示すように行われる。
いま、イメージデータが５つのブロックに分割されてスレーブ側先行処理制御部１２３によって転送されるものとすると、まず、図５ａのようにスレーブ側先行処理制御部１２３によってバッファ領域のＢ１にイメージデータの最初のブロックが転送される（４０３）。次に、図５ｂに示すようにスレーブ側先行処理制御部１２３がバッファ領域のＢ２にイメージデータの２番目のブロックの転送中に、ジョブコントローラ１１２からレンダリング要求（４０４）が発行されると、図５ｃに示すようにスレーブ側先行処理制御部１２３は、まず、バッファ領域のＢ２へのイメージデータの２番目のブロックの転送を完了させる（４０３）。
【００４１】
そして、次のイメージデータの３番目のブロックからは、図５ｄ、ｅに示すように、スレーブ側先行処理制御部１２３は、メモリ１１３上のレンダリング要求によって指定されたイメージデータの領域の、転送するブロック（３番目、４番目、５番目のブロック）に対応する領域Ｍ３、Ｍ４、Ｍ５に、ブロックを転送する（４０５）。
【００４２】
そして、スレーブ側先行処理制御部１２３が全てのブロックの転送を終了し、転送通知をマスタ側先行処理制御部１１５に送ると（４０６）、これを受けたマスタ側先行処理制御部１１５は、図５ｆに示すように、バッファ領域のＢ１、Ｂ２に格納されているイメージデータの１番目と２番目のブロックを、メモリ１１３上のレンダリング要求によって指定されたイメージデータの領域の、１番目、２番目のブロックに対応する領域Ｍ１、Ｍ２に転送し（４０７）、応答をジョブコントローラ１１２に送る（４０８）。
【００４３】
したがって、この例では、３番目、４番目、５番目のブロックをバッファ領域から、メモリ１１３上のレンダリング要求によって指定されたイメージデータの領域に転送する必要がなくなり、その分、前記第２の印刷動作例よりも、プリンタ１の印刷動作を高速化できることになる。また、この第３の印刷動作例は、ジョブコントローラ１１２の処理に一切の変更が必要なく、ＰＤＬ処理部１２１のレンダリング要求に対して行う処理をアクセラレータメモリ１２２に画像を展開するだけの処理に変更するだけで実現することができる。
【００４４】
以上、本発明の実施形態について説明した。
なお、図２、３、４に示した印刷動作のシーケンスは、複数のジョブについて平行して行われるものであってかまわない。また、マスタ側先行処理制御部１１５の処理のうち以上の印刷動作の高速化のメカニズムを損なわずにスレーブ側先行処理制御部１２３で行うことができるものはスレーブ側先行処理制御部１２３で行うようにしてもよく、スレーブ側先行処理制御部１２３の処理のうち以上の印刷動作の高速化の効果のメカニズムを損なわずにマスタ側先行処理制御部１１５で行うことができるものはマスタ側先行処理制御部１１５で行うようにしてもよい。また、スレーブ側先行処理制御部１２３の処理はＰＤＬ処理部１２１の処理として実現するようにしてもよく、マスタ側先行処理制御部１１５の処理はジョブコントローラ１１２の処理として実現するようにしてもかまわない。
【００４５】
【発明の効果】
以上のように、本発明によれば、印刷ジョブ処理中におけるアクセラレータの処理待ち時間を先行処理に用いることにより、プリンタの印刷速度を向上することができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るプリンタの構成を示すブロック図である。
【図２】本発明の実施形態に係るプリンタの第１の印刷動作例による印刷動作を示すシーケンス図である。
【図３】本発明の実施形態に係るプリンタの第２の印刷動作例による印刷動作を示すシーケンス図である。
【図４】本発明の実施形態に係るプリンタの第３の印刷動作例による印刷動作を示すシーケンス図である。
【図５】本発明の実施形態に係るプリンタの第３の印刷動作例によるイメージデータの転送のようすを示す図である。
【図６】従来のプリンタの構成を示すブロック図である。
【図７】従来のプリンタの第１の印刷動作例による印刷動作を示すシーケンス図である。
【符号の説明】
１…プリンタ、２…ホスト装置、１１…プリンタコントローラ、１２…アクセラレータ、１３…プリントエンジン、１１１…データ送受信部、１１２…ジョブコントローラ、１１３…メモリ、１１４…エンジン制御部、１１５…マスタ側先行処理制御部、１２１…ＰＤＬ処理部、１２２…アクセラレータメモリ、１２３…スレーブ側先行処理制御部。
【図１】
2004334489.tif 000003
【図２】
2004334489.tif 000004
【図３】
2004334489.tif 000005
【図４】
2004334489.tif 000006
【図５】
2004334489.tif 000007
【図６】
2004334489.tif 000008
【図７】
2004334489.tif 000009