(57)【要約】【課題】  ページ間のプリントオーバーランを抑制しつつ、レンダリングデータを格納するメモリを効率的に使用することができていなかった。【解決手段】  取得したレンダリング処理時間及び印刷時間に基づいて、レンダリングしたレンダリングデータをプリントエンジンに供給する際に、供給するタイミングを必要な量だけ遅らせるようにスケジューリングすることで、プリントオーバーランを抑制する可能な量だけ印刷開始に先立ってレンダリングする。【選択図】  図２
2011207121.tif 000002
【特許請求の範囲】
【請求項１】
複数のページデータを入力する入力手段と、
前記複数のページデータの各々を描画データに変換する描画手段と、
印刷装置に前記複数の描画データを供給する供給手段と、
前記複数の描画データの夫々について、１つ前のページの印刷が終了してから次のページの印刷に用いる描画データの変換が終了するまでの遅延時間を取得する取得手段と、
前記複数のページデータのうち最初に前記描画手段が変換した描画データの供給タイミングを前記複数の描画データの遅延時間に基づいて遅らせるスケジュール手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記複数の描画データの遅延時間の全ての合計を総遅延時間として、前記スケジュール手段は当該総遅延時間だけ前記複数のページデータのうち最初に前記描画手段が変換した描画データの供給タイミングを遅らせる請求項１に記載の画像処理装置。
【請求項３】
前記スケジュール手段は、前記描画手段が前記最初に前記描画手段が変換した描画データの描画を終了した時点から少なくとも前記複数の描画データの遅延時間だけ間隔を空けて、前記供給手段に前記最初に前記描画手段が変換した描画データを供給させることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記供給手段は前記複数の描画データを、前記描画手段によって変換された順で前記印刷装置へ供給することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記取得手段は前記印刷装置による印刷を開始する前に前記遅延時間を取得することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項６】
前記描画手段は前記供給手段が前記複数のページデータのうち最初に前記描画手段が変換した描画データの供給を遅らせている間も、前記複数のページデータの一部を描画データに変換することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記取得手段は、前記描画手段が各ページデータの描画に要する描画時間を取得する第１取得手段と、前記印刷装置が前記描画データの夫々について印刷に要する印刷時間を取得する第２取得手段と、を備え、前記複数のページデータについて求めた描画時間と印刷時間とに基づいて前記遅延時間を算出することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
前記取得手段は、前記ページデータから作成した描画データを記録媒体に印刷する際に、印刷する領域の搬送方向の長さに基づいて前記印刷時間を取得することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
所定の印刷形式におけるページあたりの描画時間を保持する処理時間情報を格納する保持手段と、
前記入力手段の入力するページデータを解析し、当該ページデータに設定されている印刷形式を解析する解析手段とを更に有し、
前記入力手段の入力するページデータに設定されている印刷形式が前記所定の印刷形式である場合に、前記取得手段は前記処理時間情報を参照して描画処理時間を取得することを特徴とする請求項７又は８に記載の画像処理装置。
【請求項１０】
前記描画時間が前記印刷時間より小さいページデータに設定されている印刷形式を示す処理時間情報にスキップフラグを付加する付加手段を更に有し、前記入力手段の入力したページデータに設定されている印刷形式が前記処理時間情報でスキップフラグを付加されている印刷形式である場合に、前記取得手段の処理をスキップし、前記供給手段は前記描画データをそのまま前記印刷装置に供給することを特徴とする請求項９に記載の画像処理装置。
【請求項１１】
前記ページデータは所定のページ記述言語の描画命令を含んでおり、前記描画手段は前記描画命令に従って前記描画データを作成することを特徴とする請求項１乃至１０のいずれか１項に記載の画像処理装置。
【請求項１２】
前記印刷装置は印刷後に裁断処理を要するロールシートに画像を形成することを特徴とする請求項１乃至１１のいずれか１項に記載の画像処理装置。
【請求項１３】
前記取得手段は前記ページデータの一部を前記描画手段に描画させることで、ページデータの描画時間を取得することを特徴とする請求項１乃至１２のいずれか１項に記載の画像処理。
【請求項１４】
複数のページデータを入力する入力工程と、
前記複数のページデータの各々を描画データに変換する描画工程と、
印刷装置に前記複数の描画データを供給する供給工程と、
前記複数の描画データの夫々について、１つ前のページの印刷が終了してから次のページの印刷に用いる描画データの変換が終了するまでの遅延時間を取得する取得工程と、
前記複数のページデータのうち最初に変換した描画データの供給タイミングを前記複数の描画データの遅延時間に基づいて遅らせるスケジュール工程と
を有することを特徴とする画像処理装置。
【請求項１５】
コンピュータを、
複数のページデータを入力する入力手段と、
前記複数のページデータの各々を描画データに変換する描画手段と、
印刷装置に前記複数の描画データを供給する供給手段と、
前記複数の描画データの夫々について、１つ前のページの印刷が終了してから次のページの印刷に用いる描画データの変換が終了するまでの遅延時間を取得する取得手段と、
前記複数のページデータのうち最初に前記描画手段が変換した描画データの供給タイミングを前記複数の描画データの遅延時間に基づいて遅らせるスケジュール手段と
して機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はプリンタ用の画像を処理する画像処理装置及びその制御方法、又はプログラムに関するものである。
【背景技術】
【０００２】
印刷内容や印刷形式に関する印刷データを受信して、その印刷データを元に実際に出力するビットマップイメージを作成（レンダリング）し、そのビットマップイメージを紙などの記録媒体面上に画像を形成する印刷装置（プリンタ）が広く用いられている。
【０００３】
特許文献１は、１ページ分の印刷データを複数のバンドに分割し、各バンドの印刷データをレンダリングするレンダリング所要時間と、各バンドの印刷データを記録媒体に印刷出力する際の印刷所要時間に基づいてプリントオーバーランを回避する技術を示している。ここで、プリントオーバーランとは、レンダリングと画像形成を並行して行う場合に、レンダリング処理が、印刷開始（画像形成のためのビットマップデータの転送開始に相当する）に間に合わず、正常に印刷出力できないことを示す。
【０００４】
特許文献１ではプリントオーバーランを回避するために、レンダリング処理が印刷開始に間に合わないバンドの印刷データを、印刷開始前に予めレンダリングして一時的に増やした一時的バンドメモリに格納させている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１９８４６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、複数のページ分の印刷データを扱い、ロールシート（ロール状の記録媒体）上に複数のページを印刷するプリンタで発生するプリントオーバーランについて説明する。
【０００７】
このようなプリンタではロールシートを搬送しながら印刷するため、ビットマップデータの転送が間に合わない場合は、ロールシートが無駄に消費される（白紙が出力され続ける）又はロールシート停止のための時間を要する。なお、ロールシートの停止とはロールシートを無駄に出力しないために、正常に印刷したページの直前までロールシートを巻き戻して、次の印刷開始に備えてロールシートを待機位置まで戻す処理である。以上のように、ロールシートを扱うプリンタではページ間でも特許文献１のバンド間で生じるようなプリントオーバーランを起こさせない処理をすることが好ましい。
【０００８】
しかし、ロールシート上に印刷するプリンタにおいてページ間のオーバーランを発生させないため特許文献１の方法を用いると、レンダリングしたビットマップデータを格納するメモリの使用効率が良くない。
【０００９】
まず、レンダリング所要時間の要するバンドが大量にあるページの最後のページに含まれるものであっても、ページ間のプリントオーバーランを防ぐために先行してレンダリングしたビットマップデータをメモリに格納し続ける必要がある。しかし、先行してレンダリングしたビットマップデータをメモリから開放するタイミング（印刷し終えたタイミング）が遅くなるほど、メモリに保存しておくデータの保存期間が長くなるため、メモリの使用効率は良くない。
【００１０】
以上のように、特許文献１の方法をロールシート用のプリンタ等に適用すると、扱う印刷データに含まれるページ数が増えれば増えるほどビットマップデータを格納するメモリ（上述の一時的バンドメモリ）が多く必要になり使用効率が良くない。
【００１１】
そこで、本発明はビットマップデータを格納するメモリを効率的に使用できる画像処理装置、及びその制御方法、又はプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するため、本発明に係る装置は、複数のページデータを入力する入力手段と、前記複数のページデータの各々を描画データに変換する描画手段と、印刷装置に前記複数の描画データを供給する供給手段と、前記複数の描画データの夫々について、１つ前のページの印刷が終了してから次のページの印刷に用いる描画データの変換が終了するまでの遅延時間を取得する取得手段と、前記複数のページデータのうち最初に前記描画手段が変換した描画データの供給タイミングを前記複数の描画データの遅延時間に基づいて遅らせるスケジュール手段とを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、印刷用のビットマップデータを格納するメモリを効率的に使用しながら効率良く印刷することができる。
【図面の簡単な説明】
【００１４】
【図１】画像処理装置の構成を示す概略図である。
【図２】画像処理装置の機能構成を示すブロック図である。
【図３】印刷処理の概略を示すフローチャートである。
【図４】レンダリング処理時間と印刷時間を取得する処理を示すフローチャートである。
【図５】レンダリング部の処理を示すフローチャートである。
【図６】スケジュールテーブルを用いた並列処理のフローチャートである。
【図７】本実施形態で作成したスケジュールテーブルを示す。
【図８】遅延時間を求めるための処理を示すフローチャートである。
【図９】総遅延時間を用いてスケジューリングする処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照して本発明の好適な実施の形態を例示的に詳細に説明する。但し、この実施の形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１６】
また、本明細書において「プリンタ」とは、印刷機能に特化した専用機に限らず、印刷機能とその他の機能を複合した複合機や、記録紙上に画像やパターンを形成する製造装置等も含むものとする。
【００１７】
図１は、記録媒体としてロールシート（搬送方向において印刷単位よりも長い長さを有する連続した連続シート）を用いた画像処理装置としてのプリンタ１００の概略構成図であり、内部構成が分かるように部分的に断面を表示している。プリンタ１００は、搬送系としてロールシート部１０１、搬送部１０２、搬送用エンコーダ１０３、回転ローラ１０４、カッタ部１１０、シート巻取り部１１３、仕分け部１１４を備える。また、印刷系としてヘッド部１０５、印刷ヘッド１０６、スキャナ部１０７、制御部１０８、インクタンク１０９、裏面印刷部１１１、乾燥部１１２、さらに操作系として操作部１１５を備える。
【００１８】
制御部１０８は、コントローラやユーザーインターフェース、各種Ｉ／Ｏインターフェースを備えた制御部を内蔵し、装置全体の各種制御を司る。ページを印刷した後に連続して印刷可能な状態でビットマップデータが転送されて来ない場合はロールシートが無駄に消費される（白紙が出力され続ける）ために、制御部１０８がロールシートの搬送系を停止させる。
【００１９】
ロールシート部１０１は上段シートカセット１０１ａと下段シートカセット１０１ｂの２基のカセットを備える。使用者はロールシート（以下、シート）を容器に装着してプリンタのカセットに正面から挿入して装着する。ロールシート部によって上段シートカセット１０１ａ、下段シートカセット１０１ｂから引き出されたシートは夫々図中ａ方向、ｂ方向に搬送される。ロールシート部１０１からのシートは図中ｃ方向に進行して搬送部１０２に到達する。搬送部１０２は複数の回転ローラ１０４を有し、シートを図中ｄ方向（水平方向）に搬送する。ロールシートの種類に応じて２基以上のカセットを用意してもよい。
【００２０】
ヘッド部１０５は搬送されているシートの片面に対向するように配置され、印刷データに基づいて搬送されているシートに印刷ヘッド１０６のノズルからインクを吐出することでシート上に画像を形成する。本実施形態の構成では７種類までのインクを用いた印刷まで可能な様に印刷ヘッド１０６がｄ方向に沿って７個配置されている。インクタンク１０９は各色のインクを独立して貯蔵する。ノズルからインクを吐出する方式は、発熱素子を用いた方式、ピエゾ素子を用いた方式、静電素子を用いた方式、ＭＥＭＳ素子を用いた方式等を採用することができる。また、印刷ヘッド１０６の吐出タイミングは搬送用エンコーダ１０３の出力信号によって決定される。
【００２１】
スキャナ部１０７は、シート上の印刷画像や特殊パターン（マーカー）を読取って印刷が正常に行われているかの確認や、装置の状態の確認を行う。
【００２２】
スキャナ部１０７から搬送されたシートはｅ方向に搬送され、シートに裁断が必要ならばカッタ部１１０が所定の印刷単位の長さ毎に切断する。印刷単位は予め印刷モードや使用者の指定もしくは印刷する画像サイズに応じて決定されている。例えば、両面印刷モードで片面の印刷しか完了していない場合はシートを切断しない。また、Ｌ版写真では搬送方向の長さは１３５ｍｍ、Ａ４サイズでは搬送方向の長さは２９７ｍｍとなるようにシートを切断する。
【００２３】
カッタ部１１０で切断されたシートは図中ｆ方向に搬送され、裏面印刷部１１１がシートの印刷面と反対の裏面に印刷画像毎の情報（例えば、オーダー管理用番号等）を印刷する。
【００２４】
乾燥部１１２は、インクが付与されたシートを短時間で乾燥させるためにシートを温風で加熱する。仕分け部１１４は複数のトレーを有し（本実施形態では２２段）し、搬送されてくるシートをセンサで確認しながら設定されたトレーに仕分けして積載していく。仕分け部１１４は、例えば印刷単位の長さに応じて積載するトレーを分別する。また、積載中や積載完了等の状態表示を用いて行う（例えば、ＬＥＤで表示）。仕分け部１１４の詳細については後述する。
【００２５】
シート巻取り部１１３は、両面印刷モードの場合に片面の印刷が完了したシートを巻取り、片面の印刷が完了した後、巻き取ったシートを、図中ｋ方向に搬送して裏面の印刷を行わせる。
【００２６】
操作部１１５は、また、ユーザーからの指示を受け付けて、プリンタの設定を変更したり、状態を確認したりする。例えば、出力した印刷物がどのトレーに積載されているか、プリンタ１００の印刷モードとその状態（レディ、印刷中、完了など）、メンテナンス情報（インク残量、紙の残量、最近のヘッドクリーニングからの時間等）をユーザーに通知する。
【００２７】
なお、以上の説明ではインクジェット方式の画像処理装置について説明したが、本発明はインク以外にもトナーを用いた印刷方式にも適用できることは勿論、種々の印刷方式に適用できる。例えば、サーマルプリンタ（昇華型、熱転写型など）、ドットインパクトプリンタ、ＬＥＤプリンタ、レーザープリンタなどが挙げられる。
【００２８】
また、図１のように印刷後のロールシートをカット（裁断処理）する位置（カッタ部１１０）が画像形成位置（ヘッド部１０５）より搬送方向下流側にあるので、前述のページ間のプリントオーバーランが生じ易い。
【００２９】
次に図２を用いて、本実施形態のプリンタの機能構成について説明する。図２は、本実施形態のプリンタの機能ブロック図である。プリンタ２０２はコントロール部２０３、レンダリング部２０４、プリンタエンジン部２０５を備え、外部のホストコンピュータ２０１からジョブデータを受信して処理を開始する。またコントロール部２０３とレンダリング部２０４は送受信部２０６、２０９を介して相互に通信できるように構成されている。
【００３０】
なお、ジョブデータは印刷対象のページ毎の内容を記述しているページデータと、各ページデータを印刷する際に用いるパラメータとを含んでいる。各ページは所定の記述言語（例えば、ＰＤＬ：ｐａｇｅ  ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）で記載され、各ページデータのページの順序が識別可能なＩＤが割り当てられている。ページデータを印刷する際に用いるパラメータは、印刷する用紙の情報、印刷モード（拡大・縮小率、解像度、両面・片面、印刷枚数など）を示す値である。
【００３１】
コントロール部２０３は、送受信部２０６、入力バッファ２０７、アウトプットスプール２０８、第１解析部２１１、処理時間テーブル２１２、スケジュール部２１３、スケジュールテーブル２１４、ユーザーインターフェース部２１５を備える。
【００３２】
入力バッファ２０７はプリンタ２０２の受け付けたジョブデータを一旦格納するとともに、入力順にＩＤ（ジョブＩＤ）を割り当て、ジョブデータを第１解析部２１１へ入力する。第１解析部２１１（第２取得手段）は入力バッファ２０７の格納しているジョブデータを取り出してデータ種別を判断する。
【００３３】
アウトプットスプール２０８はレンダリング処理部２１７により描画されたビットマップデータ（描画データ）をレンダリング部２０４から受信し、受信したビットマップデータを保持しつつプリンタエンジン部２０５へ受信した順に供給する。
【００３４】
第１解析部２１１は入力バッファ２０７の保持しているジョブデータを解析し、スケジュールテーブルの作成が完了していないジョブデータであればスケジュールテーブルを作成する処理を開始させる。さらに、レンダリング処理時間の見積もり処理と印刷時間の取得処理を開始させる（処理の詳細は後述）。なお、以降の説明の一部では簡便のため、レンダリング処理を単にＲＩＰ処理（ＲＩＰはＲａｓｔｅｒ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇの略）と称し、同様に、レンダリング処理時間をＲＩＰ時間（描画時間）、レンダリング処理時間の見積もり処理をＲＩＰ時間取得処理と称す。
【００３５】
処理時間テーブル２１２（処理時間情報）は予め登録されている記録媒体を用いて印刷をする場合の印刷処理時間や、予め登録されている印刷形式のＲＩＰ時間を取得するために用いるテーブルである。印刷形式は、少なくとも印刷用紙サイズ又は解像度が一意に決定されているものとする（さらに印刷属性：テキスト、画像を含むようにしも良い）。例えば、４インチ×６インチの写真用紙（但し、ロール状の時は６インチ余り幅のロール紙）に写真を高解像度で印刷する時の、１つのページデータあたりのＲＩＰ時間と印刷処理時間とを処理時間テーブル２１２として格納している。また、ジョブデータに所定の印刷形式が設定されると、各ページの印刷時間がレンダリング時間以上になることが明らかな場合（レンダリング時間が印刷時間より小さくなる場合）は、この所定の印刷形式のスケジューリングを省略するようにしてもよい。詳細には、レンダリング時間及び印刷時間の取得及びスケジュールテーブルの作成を省略するフラグ（スキップフラグ）を格納する処理時間テーブル２１２に設ける。なお、本実施形態では処理時間テーブル２１２の様にテーブル形式の例を示しているが、印刷時間やＲＩＰ時間を算出する際に参照できる情報であればテーブル形式でなくてもよい。
【００３６】
スケジュール部２１３はアウトプットスプール２０８からプリンタエンジン部２０５へビットマップデータを送付するタイミングを示すスケジュールテーブル２１４を生成する。なお、スケジュール部２１３は印刷時間とレンダリング時間を取得した後に、（印刷時間）≧（レンダリング時間）のジョブデータに設定されている印刷形式にスキップフラグを付加して前述の処理時間テーブルに追加するようにしてもよい。ユーザーインターフェース部２１５（以降、ＵＩ部と称す）は、スケジュール部２１３のアルゴリズムの指定、若しくは変更を受け付けるためのインターフェースである。
【００３７】
レンダリング部２０４は、送受信部２０９、第２解析部２１６、処理部２１０を備える。第２解析部２１６は、コントロール部２０３から受信したジョブデータを解析する。処理部２１０は、ジョブデータの有するページデータをレンダリング（ＰＤＬ記述に基づいて描画）するレンダリング処理部２１７と、ＲＩＰ時間の取得をするＲＩＰ時間取得部２１８（第１取得手段）を有する。プリンタエンジン部２０５は図１に示す搬送系と印刷系および制御部１０８を有する。
【００３８】
図２の機能構成を有するプリンタ２０２によるジョブデータの処理を図３に示すフローチャートを用いて説明する。まず、プリンタ２０２はステップＳ３０１でジョブデータを受信する。実際には図２におけるホストコンピュータ２０１から送信されたジョブデータを入力バッファ２０７が格納する処理である。
【００３９】
ステップＳ３０２において、プリンタ２０２の第１解析部２１１がステップＳ３０１で受信したジョブデータを解析し、このジョブデータのパラメータの示す印刷形式が処理時間テーブル２１２にスキップフラグ付きで登録されているかどうかを判断する。スキップフラグ付きで登録されていれば、スケジューリングは不要なのでそのままステップＳ３０４に遷移する。スキップフラグ付きで登録されていなければステップＳ３０３に遷移する。
【００４０】
ステップＳ３０３において、プリンタ２０２は入力されたジョブデータを解析してスケジュールテーブルの作成を行う。次に、プリンタ２０２はステップＳ３０４において、作成したスケジュールテーブルに従って、ジョブデータをレンダリング部２０４でビットマップデータに変換する一方で、作成したビットマップデータをプリンタエンジン部２０５へ送付して印刷処理をする。
【００４１】
次に図４（ａ），図４（ｂ）に示すフローチャートを用いてコントロール部２０３によるスケジュールテーブルに作成に用いる「レンダリング時間」と「印刷時間」の取得処理の詳細を説明する。
【００４２】
まず、図４（ａ）のステップＳ４０１においてコントロール部２０３がジョブデータを受信する（図３、ステップＳ３０１と同様）。次に、ステップＳ４０２で第１解析部２１１が入力バッファ２０７の保持するジョブデータを解析し、ジョブデータの有するパラメータの示す印刷形式が予め処理時間テーブル２１２に登録されているかどうかを判断する。
【００４３】
予め登録されている印刷形式（例、サイズ：４×６インチ、属性：写真）でなければ、ステップＳ４０３に遷移してＲＩＰ時間取得部２１８にレンダリング処理時間の見積もり処理を実行させる。なお、第１解析部２１１がレンダリング部２０４にレンダリング処理時間の見積もりを実行させることを判断した場合、第１解析部２１１はジョブデータをコピーして、見積もり用のデータであることを示すフラグを付加してレンダリング部２０４に送信する。ＲＩＰ時間取得部２１８における処理時間見積りの詳細については後述する。
【００４４】
一方で、予め登録されている印刷形式であれば、ステップＳ４０４に遷移して第１解析部２１１が処理時間テーブル２１２を用いてジョブデータの有する各ページデータのレンダリング時間を取得する。
【００４５】
ステップＳ４０５ではＲＩＰ時間取得部２１８（Ｓ４０３の場合）もしくは第１解析部２１１（Ｓ４０４の場合）が、ジョブデータの有する複数のページデータについてページ毎のレンダリング時間をスケジュール部２１３に通知する。
【００４６】
図４（ｂ）のステップＳ４０６ではコントロール部２０３がジョブデータを受信する（Ｓ４０１と同様）。次に、ステップＳ４０７で第１解析部２１１が入力バッファ２０７の保持するジョブデータを解析し用紙サイズと印刷モードに関する情報を抽出し、処理時間テーブル２１２を用いて印刷に要する時間（印刷時間）をページ毎に算出して、スケジュール部２１３に通知する（Ｓ４０８）。ロールシートの場合、搬送方向へ単位長さ印刷する際の印刷処理時間を処理時間テーブル２１２として格納しておけば、印刷面積が変化しても印刷する領域の搬送方向の長さが分かれば印刷処理時間を取得できる。
【００４７】
なお、ロールシートにＢ５サイズの印刷領域が設定されていても、印刷形式がＡ４サイズであれば、Ｂ５サイズの画像形成と残りの余白分の紙搬送とに要する時間が印刷時間となる。例えば、ヘッド部１０５があるＡ４サイズのページの先端に到達してから印刷し、次のページの先端に到達するまでの間が印刷時間に相当する。（また、カッタ部１１０によるロールシートの切断に要する時間を印刷時間に含めてスケジューリングしてもよい。）  次に図５に示すフローチャートを用いてレンダリング部２０４の処理を説明する。まずステップＳ５０１において、レンダリング部２０４はコントロール部２０３からジョブデータを受信する。次にステップＳ５０２においてジョブデータを解析して見積もり用のフラグの有無を検出し、フラグが無い場合はレンダリング処理を要求するものであり、一方でフラグがある場合はＲＩＰ時間の取得処理を要求するものであると判断する。
【００４８】
ステップＳ５０２においてレンダリング処理を要求していると判断されたジョブデータはレンダリング処理部２１７へ転送され、ステップＳ５０３においてレンダリング処理部２１７がジョブデータのジョブＩＤ（およびＰＡＧＥ  ＩＤ）に基づいて順番にレンダリング処理を行う。なお、レンダリング処理は送付されたジョブデータの有する所定のページ技術言語に基づいて論理描画や色変換等の処理を行い、レンダリングデータとしてのビットマップデータを作成する処理である。
【００４９】
一方で、ステップＳ５０２においてＲＩＰ時間の取得処理を要求していると判断されたジョブデータはステップＳ５０４においてＲＩＰ時間の取得処理を行う。
【００５０】
次に、ＲＩＰ時間取得部２１８によるレンダリング時間の見積り処理について説明する。レンダリング時間の見積りはジョブデータで指定された処理内容に基づいて取得する形で行う。処理時間に影響する要因としては、ビットマップデータの解像度、テキスト、グラフィクス、イメージ画像といった描画種別、および描画面積があげられる。描画命令のＲＩＰ時間を取得するためには、描画命令の種別毎に単位面積（ｉｎｃｈ２）当たりの描画処理時間を予め求め、テーブル化しておく。描画命令の処理時間は次式で算出する。
【００５１】
描画命令の処理時間（ｓｅｃ）  ＝  特定解像度（ｄｐｉ）での描画命令の１ｉｎｃｈ２あたりの処理時間（ｓｅｃ）×  描画領域（  ｉｎｃｈ２  ）
さらに、ＲＩＰ時間取得部２１８はジョブデータの有するページデータの描画命令の処理時間をページ毎に合計し、ページ毎の処理時間を取得する。１頁内に複数の描画命令がある場合でも、ページ記述言語による記述から各描画命令の種類と描画領域を取得して合計すればよい。
【００５２】
なおレンダリング時間の見積り処理については、上記の方法のほかに、実際にジョブデータの一部を用いてレンダリング処理部２１７によってレンダリング処理を実行させて、ＲＩＰ時間取得部２１８で処理時間を計測した結果から算出してもよい。
【００５３】
図５におけるステップＳ５０５では、上記ステップＳ５０３もしくはステップＳ５０４の処理結果（Ｓ５０３：各ビットマップイメージ、Ｓ５０４：ページ毎のＲＩＰ時間）を、レンダリング部２０４の送受信部２０９がコントロール部２０３へ送信する。なお、ＲＩＰ時間を取得するために用いたジョブデータは破棄して良い。
【００５４】
次に、図６を用いてスケジュール部２１３がスケジュールテーブル２１４を扱う処理について説明する。スケジュール部２１３は、テーブル作成処理６０とアウトプット処理６１のプロセスを並列に処理することでコントロール部２０３の処理効率を上げている。また、プロセス間でテーブルがバッティングしないように、スケジュールテーブル２１４は２つ以上用意され、夫々のテーブルに作業用のメモリ領域が割り当てられる。
【００５５】
テーブル作成処理６０では、ステップＳ６０１においてテーブル１が使用されているか否かを確認する。テーブル１が使用されていない場合（アウトプット処理６１がテーブル２を使用している場合に相当する）はテーブル１にスケジュール情報を書き込んでカレントテーブルとしてスケジュールテーブルを作成する。ステップＳ６０１でアウトプット処理６１がテーブル１を使用中であれば、ステップＳ６０３でテーブル２にスケジュール情報を書き込んでカレントテーブルとしてスケジュールテーブルを作成する。
【００５６】
アウトプット処理６１では、ステップＳ６０５においてカレントテーブルがテーブル１であるか否かを確認する。テーブル１の場合は、テーブル１に記載されたスケジュールに基づきレンダリング処理やアウトプットスプールへのビットマップデータの書き込み処理を行う。ステップＳ６０５においてカレントテーブルがテーブル１でない場合は、ステップＳ６０７においてテーブル２に記載されたスケジュールに基づきレンダリング処理やアウトプットスプールへのビットマップデータの書き込み処理を行う。
【００５７】
次に、スケジュールテーブルの作成処理について図７（ａ）、図７（ｂ）を用いて説明する。図７（ａ）、図７（ｂ）において「ＰＡＧＥ  ＩＤ」の列には、プリンタ２０２が処理する順に割り当てるユニークなＩＤが格納されている。（複数のジョブデータを格納するスケジュールテーブルの場合は、ジョブＩＤの小さいジョブからページ順にＩＤを割り当てればよい。）また「ＲＩＰ処理」の列には、ステップＳ４０３又はＳ４０４で求めた各ページデータのレンダリング処理時間の見積りが格納されている。「印刷時間」の列には、ステップＳ４０７で第１解析部求めた各ページデータの印刷時間を格納されている。
【００５８】
なお、「ＲＩＰ終了（レンダリング終了時刻・描画終了時刻）」、「送付開始（ビットマップデータの送付開始時刻）」、「印刷終了（印刷終了時刻）」はスケジュール部２１３が「ＲＩＰ時間」、「印刷時間」に基づいて決定する。（詳細は後述する。）
受信したスケジュールをする対象の複数のページデータのうち最初のページデータのレンダリングを開始するタイミングを零（ゼロ）として、「ＲＩＰ終了」はプリンタ２０２のレンダリング処理部２１７がレンダリングを終了する時刻をページ毎に示す。「送付開始」はスケジュール部２１３がアウトプットスプール２０８にプリンタエンジン部２０５へのビットマップデータの供給を開始させる時刻をページ毎に示している。「印刷終了」はプリンタ２０２のプリンタエンジン部２０５がビットマップデータを印刷し終える時刻をページ毎に示している。
【００５９】
実際に、スケジュール部２１３がビットマップデータの送付開始タイミングを参照する際に用いるスケジュールテーブルは図７（ｂ）であり、図７（ａ）は図７（ｂ）に示すスケジュールテーブルを作成する処理を説明するために示している。
【００６０】
スケジュール部２１３はＰＡＧＥ  ＩＤが００１のページデータ（以降、単にページ００１と称す）から順に図８に示す処理によって、「ＲＩＰ終了」、「送付開始」、「印刷終了」とを図７（ａ）のように決めて、さらに、「総遅延時間（不図示）」を決定する。なお、総遅延時間の詳細は後述する。
【００６１】
図８において、ステップＳ８０１ではページ００１（１頁目）の「ＲＩＰ終了」、「送付開始」の夫々に、ページ００１の「ＲＩＰ処理：３０」をそのまま代入する。次にページ００１の「印刷終了」にページ００１の「送付開始：３０」に、ページ００１の「印刷時間：５０」を加算した“８０”が代入される。
【００６２】
ステップＳ８０２でＰＡＧＥ  ＩＤを参照して、次のページ（ページ００１を処理していたので次のページはページ００２）に着目する。以降、処理中のページを着目ページと称す。
【００６３】
ステップＳ８０３では、ページ００２の「ＲＩＰ終了」として、着目ページの１つ前のページ００１の「ＲＩＰ終了：３０」にページ００２の「ＲＩＰ処理：３０」を加算した“６０”を代入する。
【００６４】
ステップＳ８０４では、着目ページ（ページ００２）の「送付開始」に着目ページの１つ前のページ（ページ００１）の「印刷終了：８０」をそのまま代入する。
【００６５】
ステップＳ８０５では、着目ページ（ページ００２）の「ＲＩＰ処理」が着目ページの「送付開始」より大きいか判断する。
【００６６】
ページ００２に着目している時点ではＮＯと判断し、ステップＳ８０６に遷移して、着目ページ（ページ００２）の「印刷終了」として、着目ページ（ページ００２）の「送付開始：８０」に「印刷時間：４０」を加算した値を代入する。
【００６７】
ステップＳ８０７では未処理のページがあるか判断する。以降、同様に決定していくと、ページ００５の「送付開始：２３０」まで求められる。
【００６８】
ページ００５に着目すると、ステップＳ８０５において「ＲＩＰ終了」が「送付開始」より大きいので、ＲＩＰ処理がビットマップデータの送付に間に合っていないことが分かる。
【００６９】
そこでステップＳ８０９に遷移し、着目ページ（ページ００５）の「ＲＩＰ終了：２５０」から「送付開始：２３０」を減算して差分の値を計算して「遅延（遅延時間を示す）：２０」とする。
【００７０】
さらにステップＳ８１０で、着目ページ（ページ００５）の「送付開始」に「ＲＩＰ処理：２５０」を代入して、同様にスケジューリングをしていく。なお、「遅延」はＲＩＰ処理がビットマップデータの送付に間に合わないページが出現する度に計算される。
【００７１】
ページ００８に着目している場合もステップＳ８０５において「ＲＩＰ終了：４２０」＞「送付開始：４００」であるので、ページ００８においてもＲＩＰ処理がビットマップデータの送付に間に合っていない。そこでステップＳ８０９に遷移して、ページ００８の「遅延」として“２０”を計算する。
【００７２】
ステップＳ８０２〜Ｓ８０７までの処理を繰り返して全てのページの仮のスケジューリングを終えた場合には、ステップＳ８０７からステップＳ８０８に遷移して、各ページの「遅延」を合計して「総遅延時間」を算出する。図７（ａ）の例では、総遅延時間は“２０＋２０＝４０”となる。
【００７３】
ここで、スケジュール対象のページデータ群のうち最初にレンダリング処理部２１７がレンダリングしたビットマップデータ（描画データ）を先頭ビットマップデータ（先頭描画データ）とする。アウトプットスプール２０８は先頭ビットマップデータの受信を開始した時点で、プリンタエンジン部２０５へビットマップデータの供給を開始することができる。
【００７４】
従って、この総遅延時間が０より大きい場合、このまま印刷するとプリントオーバーランが発生する可能性が高い。少なくとも図７（ａ）ではページ００５とページ００８をレンダリングしている間にプリントオーバーランが発生する見込みになっている。
【００７５】
そこで次にスケジュール部２１３は、図７（ａ）で求めた「総遅延時間」を用いて図９の処理によって図７（ｂ）に示すスケジュールテーブルを作成する。図９では、アウトプットスプール２０８がビットマップデータの供給を可能になった時点（レンダリング処理部２１７が先頭ビットマップデータのレンダリング処理を終了した時点）から、総遅延時間の示す時間だけ間隔を空けてアウトプットスプール２０８に先頭ビットマップデータの供給を開始させるようにスケジュールする。（すなわち、先頭ビットマップデータの供給タイミングを総遅延時間だけ遅らせる。）
まず図９のステップＳ９０１では、ページ００１の「ＲＩＰ処理：３０」に図８で求めた「総遅延時間：４０」を加算した値“７０”をページ００１の「送付開始」に代入する。以降の処理は図８の処理と同様なので省略する。詳細には、ステップＳ９０２〜Ｓ９０４とＳ８０２〜Ｓ８０４が夫々同様の処理であり、ステップ９０５がステップＳ８０６、ステップＳ９０６がステップＳ８０７と同様の処理である。
【００７６】
以上の処理によって図７（ｂ）のスケジュールテーブルが作成できる。
【００７７】
図７（ｂ）のテーブルでは説明の為に「遅延」の列を設けているが、「ＲＩＰ終了」が「送付開始」より大きくなることはないので「遅延」を算出する必要は無い。
【００７８】
以上のアルゴリズムによって作成した図７（ｂ）のスケジュールテーブルを用いることで、ページデータの順序を変更せずにＲＩＰ処理がビットマップデータの送付に間に合う様にスケジューリングすることができる。従って、ＲＩＰ処理がビットマップデータの送付に間に合わせられる必要な量だけＲＩＰしてから印刷を開始することができる。この時に、ジョブの順序を変更せず、レンダリングしたビットマップデータをレンダリングした順にメモリから開放できるので、ビットマップデータを長くメモリに保持し続けることを減らし、ビットマップデータを格納するメモリを効率良く使うことができる。
【００７９】
また、上述の説明では、各ページの印刷が終了するまでプリンタエンジン部２０５が次のページのビットマップデータを受信しない構成について説明した。しかし、プリンタエンジン部２０５にバッファを配置している構成では、プリンタエンジン部２０５は印刷しながらコントロール部２０３からのビットマップデータの受信が可能となる。例えば、プリンタエンジン部２０５が２つ分のページデータを保持できるように構成した場合、コントロール部２０３からプリンタエンジン部２０５へのビットマップデータの送付開始のタイミングを２つ前のページの印刷終了時とすればよい。同様に、Ｎ個分のページデータを保持できるバッファをプリンタエンジン部２０５が有している場合、アウトプットスプール２０８のスケジュール時にビットマップデータの「送付開始」のタイミングはＮ個前のページをプリンタエンジン部２０５が印刷終了した時点とする。
【００８０】
また、上述の説明では、単一のジョブデータについてスケジュールする例しか示していないが、ジョブデータは１つのページデータを有している場合は、複数のジョブをスケジュールすればよい。スケジュール対象のページデータを決定する場合、例えば、印刷終了時間が所定の値に達するまで、次に受信しているジョブもまとめてスケジューリングし一度に印刷するようにしてもよい。この場合は、スケジュールテーブルに「ジョブＩＤ」の列を設けて、複数のジョブデータが有するページデータを扱うスケジュールテーブルを作成すればよい。
【００８１】
なお、上述の実施例では説明を簡略化するために、ページＩＤの順にレンダリングして印刷する形態を用いた。しかし、実際には第１解析部２１１がジョブデータに関連づけられている製本種別（中綴じ、平綴じ、無線綴じ等）を解析し、製本種別に応じて入力バッファ２０７がレンダリング部２０４へ供給するページデータの順序を変えるようにしてもよい。例えば、無線綴じの場合は逆順に並び替え、中綴じの場合は中綴じ製本用の順に並び替える。また、製本種別ではなく単に印刷順序を示す情報（逆順）に基づいて並び替えても良い。
【００８２】
また、印刷対象のページデータが１つしかない場合はスケジュール対象のページデータも１つしかなく、スケジュールをする必要がないので、スケジュールテーブルの作成をスキップするようにしてもよい。
【００８３】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011207121.tif 000003
【図２】
2011207121.tif 000004
【図３】
2011207121.tif 000005
【図４】
2011207121.tif 000006
【図５】
2011207121.tif 000007
【図６】
2011207121.tif 000008
【図７】
2011207121.tif 000009
【図８】
2011207121.tif 000010
【図９】
2011207121.tif 000011