(57)【要約】【課題】印刷完了までに要する時間を短縮することができる印刷システム、印刷制御装置、印刷制御装置、印刷制御プログラム、およびそのプログラムを記録した記録媒体を提供すること。【解決手段】ＸＭＬパース部２２０は、ＸＭＬドキュメントを解釈して描画命令を取得する描画命令取得部２２１と、描画範囲が先頭バンドを含む複数バンドに跨る描画命令を分割して、単バンドを描画範囲とする複数の描画命令に変換する描画命令変換処理部２２２を有する。レンダリング部２３０は、ＸＭＬパース部２２０から受け渡された描画命令に基づいて順次描画する。これにより、複数バンドへの描画完了に先立ち、先頭バンドを確定して先頭バンドの印刷データをプリンタに出力するので、プリンタが印刷を開始するタイミングが早まり、印刷完了までに要する時間が短縮される。【選択図】図２
2009003833.tif 000002
【特許請求の範囲】
【請求項１】
印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置と、前記印刷装置を制御する印刷制御装置とを備える印刷システムであって、
前記印刷制御装置は、
前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段と、
前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段と、
前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成する印刷画像生成手段と、
前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力する出力手段とを備え、
前記描画命令取得手段は、
前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、
前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、
前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷システム。
【請求項２】
印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御する印刷制御装置であって、
前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段と、
前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段と、
前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成する印刷画像生成手段と、
前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力する出力手段とを備え、
前記描画命令取得手段は、
前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、
前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、
前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷制御装置。
【請求項３】
請求項２に記載の印刷制御装置において、
前記描画命令取得手段は、前記取得した描画命令のうち、複数のバンドに跨る範囲を描画する全描画命令について、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、
前記出力手段は、前記先頭バンド以降のバンドについて、バンド範囲内の全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記描画が完了したバンドの画像データを出力するようにして、バンドごとの画像データを順次出力することを特徴とする印刷制御装置。
【請求項４】
印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御する印刷制御方法であって、
前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受けるステップと、
前記入力データの記述を解釈して、前記複数の描画命令を順次取得するステップと、
前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成するステップと、
前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力するステップとを備え、
前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、
前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、
前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷制御方法。
【請求項５】
印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御するための印刷制御プログラムであって、
コンピュータを、
前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段、
前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段、
前記順次取得される描画命令に基づいて画像メモリに順次描画することにより、前記印刷画像を生成する印刷画像生成手段、
前記印刷画像をバンドごとに表す画像データを前記画像メモリから読み出し、前記印刷装置に出力する出力手段、として機能させ、
前記描画命令取得手段は、
前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、
前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、
前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記画像メモリから読み出して前記印刷装置に出力することを特徴とする印刷制御プログラム。
【請求項６】
請求項５に記載の印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
プリンタなどの印刷装置により印刷を行う印刷システム、印刷制御装置、印刷制御装置、印刷制御プログラム、およびそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年発売されたオペレーションシステム「Windows Vista（登録商標）」においては、ＸＭＬ（EXtensible Markup Language）ベースの言語で記述されるＸＰＳドキュメントの形式で、ドキュメントの生成、共有、印刷、アーカイブなどの処理を行うようになっている（非特許文献１参照）。例えば、印刷を行う場合、プリンタドライバには、印刷の対象とする内容をＸＭＬで記述したＸＰＳドキュメントが出力される。プリンタドライバは、ＸＰＳドキュメントに記述されたＸＭＬのコードを解釈して、描画などの画像処理を行うことにより印刷画像を生成し、印刷画像に基づいて印刷を制御する。
【０００３】
ここで、処理に要するメモリ容量を低減させるため、印刷画像を所定の高さで区画したバンドごとに処理するようにしたプリンタが知られている。例えば、図８に示すように、図形、テキスト、イメージなど複数のオブジェクトが描画された画像を印刷する場合、プリンタドライバは、印刷時の用紙搬送方向（Ｙ方向）に対応する上端から所定の高さごとに画像を区画するようにして複数のバンドに区分けし、プリンタにはバンドごとに印刷処理を行わせる。すなわち、区画されたバンドを上端から順にバンド０、バンド１、…、バンドＮと呼ぶことにすると、プリンタドライバは、バンド０から順番に画像データをプリンタに送信し、プリンタは、受信した画像データに従ってバンド０から順番に処理するようにして印刷画像を印刷する。
【０００４】
また、プリンタが、印刷の処理をバンドに分けて行うとした場合、プリンタドライバから先頭バンドの画像データを受け取るタイミングで、全バンドについての画像データを受け取ることなく、印刷を開始することができる。
【０００５】
【非特許文献１】“ＸＰＳ仕様書（XPS Paper Specification）”、マイクロソフト社、［online］、インターネット<URL:http://www.microsoft.com/japan/whdc/xps/xpsspec.mspx>
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＸＭＬドキュメントに記述された描画命令はバンドごとに記述されているとは限らないので、バンドの画像データをプリンタに出力するタイミングが遅れることがある。
【０００７】
例えば、ＸＭＬドキュメントの記述を順番に解釈して得られる描画命令に従って、図８に示す２つのオブジェクトＯＢ１，ＯＢ２を順番に描画する場合、２つのオブジェクトＯＢ１，ＯＢ２の描画範囲が共に先頭バンド（バンド０）に掛かっているため、オブジェクトＯＢ１を描画した時点で、先頭バンドのバンドデータを生成することはできない。先頭バンドのバンドデータを得るためには、描画範囲がバンド０〜２に跨るオブジェクトＯＢ２の描画完了を待たなくてはならない。
【０００８】
このように、ＸＭＬドキュメントに、描画範囲が複数のバンドに跨る描画命令が記述された場合、複数のバンドへの描画を完了するまで、描画中の複数のバンドについては画像データを出力することができない。このため、バンドの画像データをプリンタに出力するタイミングが遅れ、印刷完了までに要する時間が長くなってしまうという課題があった。
【課題を解決するための手段】
【０００９】
本発明は、上述の課題の少なくとも１つを解決するためになされたものであり、以下の形態または適用例として実現することが可能である。
【００１０】
［適用例１］印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置と、前記印刷装置を制御する印刷制御装置とを備える印刷システムであって、前記印刷制御装置は、前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段と、前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段と、前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成する印刷画像生成手段と、前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力する出力手段とを備え、前記描画命令取得手段は、前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷システム。
【００１１】
この構成によれば、先頭バンドを含む複数のバンドに跨る範囲を描画する描画命令に基づく描画が、各々の描画範囲が１つのバンド内に収まる複数の描画命令に基づいて行われ、先頭バンドについての描画が完了すると、入力データから取得される全描画命令についての描画完了を待つことなく、先頭バンドの画像データが印刷装置に出力される。これにより、分割した描画命令の全描画範囲を描画する前に先頭バンドの画像データを出力できるので、印刷を開始するタイミングが早まり、印刷完了までに要する時間を短縮することができる。
【００１２】
［適用例２］印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御する印刷制御装置であって、前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段と、前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段と、前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成する印刷画像生成手段と、前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力する出力手段とを備え、前記描画命令取得手段は、前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷制御装置。
【００１３】
この構成によれば、先頭バンドを含む複数のバンドに跨る範囲を描画する描画命令に基づく描画が、各々の描画範囲が１つのバンド内に収まる複数の描画命令に基づいて行われるので、分割した描画命令の全描画範囲を描画する前に先頭バンドの画像データを出力できるようになる。したがって、印刷装置に印刷を開始させるタイミングが早まり、印刷完了までに要する時間を短縮することができる。
【００１４】
［適用例３］上記印刷制御装置において、前記描画命令取得手段は、前記取得した描画命令のうち、複数のバンドに跨る範囲を描画する全描画命令について、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、前記出力手段は、前記先頭バンド以降のバンドについて、バンド範囲内の全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記描画が完了したバンドの画像データを出力するようにして、バンドごとの画像データを順次出力することを特徴とする印刷制御装置。
【００１５】
この構成によれば、先頭バンド以降のバンドについても、分割した描画命令の全描画範囲を描画する前に、画像データが順次出力されるので、各バンドについて印刷が行われるタイミングを早めることができる。これにより、印刷完了までに要する時間がさらに短縮する。
【００１６】
［適用例４］印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御する印刷制御方法であって、前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受けるステップと、前記入力データの記述を解釈して、前記複数の描画命令を順次取得するステップと、前記順次取得される描画命令に基づいて順次描画することにより、前記印刷画像を生成するステップと、前記印刷画像をバンドごとに表す画像データを前記印刷装置に出力するステップとを備え、前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記印刷装置に出力することを特徴とする印刷制御方法。
【００１７】
［適用例５］印刷すべき印刷画像を所定の高さで区画したバンドごとに順次処理して、印刷を行う印刷装置を制御するための印刷制御プログラムであって、コンピュータを、前記印刷画像を表す複数の描画命令をマークアップ言語により記述した入力データの入力を受ける入力手段、前記入力データの記述を解釈して、前記複数の描画命令を順次取得する描画命令取得手段、前記順次取得される描画命令に基づいて画像メモリに順次描画することにより、前記印刷画像を生成する印刷画像生成手段、前記印刷画像をバンドごとに表す画像データを前記画像メモリから読み出し、前記印刷装置に出力する出力手段、として機能させ、前記描画命令取得手段は、前記取得した描画命令のうち、前記バンドの処理順が先頭のバンドを含む複数のバンドに跨る範囲を描画する描画命令を分割して、各々の描画範囲が１つのバンド内に収まる複数の描画命令に変換し、前記印刷画像生成手段は、前記複数のバンドに跨る範囲を描画する描画命令に基づく描画を、前記変換された複数の描画命令に基づいて行い、前記出力手段は、前記先頭バンドの範囲内について全描画が完了してから、入力データから取得される全描画命令についての描画完了に先立ち、前記先頭バンドの画像データを前記画像メモリから読み出して前記印刷装置に出力することを特徴とする印刷制御プログラム。
【００１８】
［適用例６］上記印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明を実施するための最良の形態】
【００１９】
（第１の実施例）
以下、本発明の実施の形態に係る第１の実施例について図面を参照して説明する。
【００２０】
図１は、第１の実施例に係る印刷システムの構成を示したブロック図である。図１に示すように、印刷システム１は、ホストコンピュータ（印刷制御装置）２およびプリンタ（印刷装置）３を備えている。
【００２１】
ホストコンピュータ２は、例えば、汎用のパーソナルコンピュータである。ホストコンピュータ２は、図１に示すように、ＣＰＵ２０と、ＲＯＭ２１と、ＲＡＭ２２と、ハードディスク（以下、「ＨＤ」という）２３と、ＣＤ−ＲＯＭドライブ２４と、通信インターフェイス（以下、「通信Ｉ／Ｆ」という）２５とを備えている。通信Ｉ／Ｆ２５はケーブルを介してプリンタ３と相互にデータ通信可能に接続されている。
【００２２】
ＣＰＵ２０は、ホストコンピュータ２の主制御装置であり、ホストコンピュータ２の各構成の制御を司る。ＲＯＭ２１はホストコンピュータ２の各構成を制御するためのプログラムなどが記録された不揮発性のメモリである。ＲＡＭ２２はワーキングメモリなどとして用いられる汎用のメモリであり、ＲＡＭ２２のメモリ領域には、後述する中間コードメモリおよびページメモリが確保される。
【００２３】
ＨＤ２３は、アプリケーションプログラムやドライバプログラム（印刷制御プログラム）などを予め記録している。このドライバプログラムは、ＣＤ−ＲＯＭ４などの記録媒体に記録された形態で供給され、ＣＤ−ＲＯＭドライブ２４がＣＤ−ＲＯＭ４からプログラムを読み出し、読み出したプログラムをＣＰＵ２０がＨＤ２３に記録したものである。なお、ドライバプログラムを記録した記録媒体の例としては、ＣＤ−ＲＯＭに限られることなく、フレキシブルディスクや、ＤＶＤ−ＲＯＭなどの光ディスク、ＭＯなどの光磁気ディスク、メモリカードなど、コンピュータ読み取り可能な種々の媒体が挙げられる。もっとも、電気通信回線を介して外部のサーバからドライバプログラムをダウンロードして、ＨＤ２３に記録するようにしてもよい。
【００２４】
図２は、ホストコンピュータの機能構成を示したブロック図である。図２に示すように、ホストコンピュータ２は、アプリケーション１００とプリンタドライバ２００とを有する。
【００２５】
アプリケーション１００は、プリンタ３に対する印刷要求元であり、例えば、文書作成ソフトウェアや表計算ソフトウェアである。アプリケーション１００は、オペレーションシステムの下で、印刷内容をＸＭＬで記述したＸＭＬドキュメント（入力データ）をプリンタドライバ２００に受け渡す。ＸＭＬドキュメントの具体例としては、ＸＰＳドキュメントなどが挙げられる。
【００２６】
プリンタドライバ２００は、アプリケーション１００からＸＭＬドキュメントを受け取ると、ＸＭＬドキュメントをプリンタ３が処理可能なフォーマットの印刷データに変換し、プリンタ３に出力する。これらの処理を行うため、プリンタドライバ２００は、ドライバ内部の処理を制御する制御部２１０と、ＸＭＬドキュメントをパースするＸＭＬパース部（描画命令取得手段）２２０と、パースして得られた描画命令に基づいてレンダリングを行うレンダリング部（印刷画像生成手段）２３０とを有している。なお、これらの構成を有するプリンタドライバ２００は、オペレーションシステムの下で、ＣＰＵ２０がＨＤ２３に記録されたドライバプログラムを読み出して実行することにより機能している。
【００２７】
制御部２１０は、アプリケーション１００からＸＭＬドキュメントの入力を受けるドキュメント入力部（入力手段）２１１と、プリンタドライバ２００内のデータ制御を行うデータ制御部２１２と、印刷データをプリンタ３に出力する印刷データ出力部（出力手段）２１３とを有している。データ制御部２１２は、入力されたＸＭＬドキュメントをＸＭＬパース部２２０に受け渡すことによりＸＭＬパース部２２０にパースさせ、パースにより得られた描画命令をレンダリング部２３０に受け渡すことによりレンダリング部２３０にレンダリングを行わせる。レンダリングにより生成された印刷画像のデータは、印刷データ出力部２１３により印刷データの形式で通信Ｉ／Ｆ２５を介してプリンタ３に出力される。この印刷データは印刷画像を所定の高さごとに区画したバンドの画像データであり、バンド順にプリンタ３に出力される。
【００２８】
ＸＭＬパース部２２０は、描画命令取得部２２１と、描画命令変換処理部２２２と、を有している。描画命令取得部２２１は、ＸＭＬドキュメントをパースして、描画命令を取得する処理を行う。描画命令変換処理部２２２は、取得した描画命令のうち、描画範囲が複数バンドに跨る描画命令を分割して、描画範囲が１つのバンドに収まる複数の描画命令に変換する処理を行う。
【００２９】
例えば、図８に示す内容を記述したＸＭＬドキュメントを解釈した場合、ＸＭＬドキュメントの記述を先頭から順に解釈すると、図３（ａ）に示すように、バンド０を描画範囲とするオブジェクトＯＢ１の描画命令、バンド０〜２を描画範囲とするオブジェクトＯＢ２の描画命令が順番に取得される。このとき、オブジェクトＯＢ２の描画命令は、描画範囲が３つのバンドに跨っているので、描画範囲が単バンドの命令に分割する。すなわち、図３（ｂ）に示すように、オブジェクトＯＢ２の描画命令を、バンド０の範囲のオブジェクトＯＢ２ａを描画する描画命令、バンド１の範囲のオブジェクトＯＢ２ｂを描画する描画命令、バンド２の範囲のオブジェクトＯＢ２ｃを描画する描画命令に変換する。変換された描画命令は、データ制御部２１２によりレンダリング部２３０に受け渡される。
【００３０】
レンダリング部２３０は、データ制御部２１２から受け取る描画命令に基づいてレンダリングを行う。そのため、レンダリング部２３０は、中間コード登録部２３１と、中間コードメモリ２３２と、展開処理部２３３と、ページメモリ２３４とを有する。
【００３１】
中間コード登録部２３１は、データ制御部２１２から受け取る描画命令を、ドライバにとって処理し易いようバンドごとの中間コードに変換し、中間コードメモリ２３２に登録する。
【００３２】
展開処理部２３３は、登録された中間コードに従って描画して、ページメモリ２３４にビットマップ画像を展開する処理を行う。そして、中間コード登録部２３１、展開処理部２３３が描画命令を順次処理することにより、ページメモリ２３４にオブジェクトの画像が次々に書き込まれるようにして、ページメモリ２３４上に印刷画像が形成される。
【００３３】
印刷データ出力部２１３は、レンダリングにより生成された印刷画像を、バンド順に印刷データとしてプリンタ３に出力する。これにより、プリンタドライバ２００は、プリンタ３に印刷データに従う印刷を行わせるようにして印刷を制御する。
【００３４】
ここで、印刷データ出力部２１３は、内容が確定したバンドの印刷データを出力する。バンドを確定して印刷データを出力するタイミングについて図４を用いて説明する。図４は、図３（ｂ）で複数に分割された描画命令に従うレンダリングが行われる経過を示した図である。図３（ｂ）に示した描画命令の順番に従って、まず、オブジェクトＯＢ１の描画命令に従って描画すると、図４（ａ）に示すように、オブジェクトＯＢ１がバンド０の範囲に展開される。このとき、バンド０に掛かるオブジェクトＯＢ２が未展開であるためバンド０は確定しない。
【００３５】
次に、オブジェクトＯＢ２ａの描画命令に従って描画すると、図４（ｂ）に示すように、オブジェクトＯＢ２ａがバンド０の範囲に展開され、バンド０についてバンドが確定する。このとき、印刷データ出力部２１３は、確定したバンド０の印刷データをプリンタ３に出力し、プリンタ３に印刷を開始させる。
【００３６】
次に、オブジェクトＯＢ２ｂの描画命令に従って描画すると、図４（ｃ）に示すように、バンド１についてバンドが確定し、確定したバンドの印刷データがプリンタ３に出力される。さらに、オブジェクトＯＢ２ｃの描画命令に従って描画すると、図４（ｄ）に示すように、バンド２についてバンドが確定し、確定したバンドの印刷データがプリンタ３に出力される。こうして、プリンタ３は、バンド０で開始した印刷を以降のバンドについても継続して、バンドごと次々に印刷を行う。
【００３７】
このように、本実施例の印刷システム１では、複数のバンドを描画範囲とする描画命令を、単バンドを描画する描画命令に変換することにより、オブジェクトＯＢ２の全てを描画する前のタイミングで先頭バンドの印刷データを出力して、印刷データを出力するタイミングを早めるようにしている。
【００３８】
次に、ＸＭＬドキュメントをパースする処理の流れについて、図５のフローチャートに従って説明する。なお、図５の処理および後述する図６の処理は、ＣＰＵ２０が、ＨＤ２３に記録されたドライバプログラムを実行することにより行われるものである。
【００３９】
処理を開始して、アプリケーション１００からドキュメント入力部２１１にＸＭＬドキュメントが入力されると、描画命令取得部２２１は、制御部２１０からＸＭＬドキュメントを受け取る（ステップＳ１００）。そして、受け取ったＸＭＬドキュメントをパースして、描画命令を取得する（ステップＳ１１０）。次に、取得した描画命令の描画範囲が複数バンドに跨っているか否かを判断する（ステップＳ１２０）。描画範囲が複数バンドに跨っていれば（ステップＳ１２０：Ｙｅｓ）、描画命令変換処理部２２２が、描画範囲が複数バンドに跨る描画命令を分割して、単バンドを描画範囲とする複数の描画命令に変換し（ステップＳ１３０）、ステップＳ１４０に進む。一方、取得した描画命令の描画範囲が複数バンドに跨っていない、すなわち描画範囲が単バンドの場合（ステップＳ１２０：Ｎｏ）、描画命令を変換することなくステップＳ１４０に進む。
【００４０】
ステップＳ１４０に処理が進むと、ＸＭＬパース部２２０は、描画命令を制御部２１０に返す。このとき、データ制御部２１２は、ＸＭＬパース部２２０から受け取った描画命令をレンダリング部２３０に受け渡す。
【００４１】
次に、ＸＭＬパース部２２０は、入力されたＸＭＬドキュメントの全記述についてパースを行ったか否かを判断する（ステップＳ１５０）。全記述についてパースを行っていなければ（ステップＳ１５０：Ｎｏ）、ステップＳ１１０に戻って、続きの記述をパースして次の描画命令を取得する。全記述についてパースを行っていれば（ステップＳ１５０：Ｙｅｓ）、図５の処理を終了する。
【００４２】
図５の処理を行うことにより、図３（ｂ）に例として示したように、単バンドを描画範囲とする描画命令がレンダリング部２３０に次々に出力される。
【００４３】
次に、レンダリングの処理の流れについて、図６のフローチャートに従って説明する。
【００４４】
図６の処理を開始すると、まず、先頭バンドに注目する（ステップＳ２００）。なお、ここでいう先頭バンドとは、印刷データとしてプリンタに最初に出力され、プリンタによる処理が最初に行われるバンドであり、通常、バンド０である。もっとも、プリンタが、描画対象のオブジェクトがないバンドについては印刷の処理を行うことなく、描画対象のオブジェクトを含むバンドのみを順次処理するようにして印刷の効率化を図る場合、オブジェクトを最初に含むバンドが先頭バンドとなる。すなわち、バンド０，１の範囲に描画対象のオブジェクトがなく、バンド２の範囲に描画対象のオブジェクトがある場合、バンド２を先頭バンドとして処理してもよい。
【００４５】
次に、レンダリング部２３０が、制御部２１０より描画命令を受け取ると（ステップＳ２１０）、受け取った描画命令に従ってレンダリングし、描画命令に対応するオブジェクト画像をページメモリ２３４に書き込む（ステップＳ２２０）。
【００４６】
次に、レンダリング部２３０は、注目バンドが確定したか否かを判断する（ステップＳ２３０）。ここでは、ＸＭＬドキュメントに記述された描画命令のうち記述順が最後の描画命令について、注目バンドの範囲を描画していればバンドが確定したと判断する。すなわち、最後に記述された描画命令の描画範囲が注目バンドだけの単バンドの場合、この最後に記述された描画命令による描画が行われていれば注目バンドは確定する。最後に記述された描画命令の描画範囲が注目バンドを含む複数バンドの場合、最後に記述された描画命令を分割した複数の描画命令のうち、注目バンドを描画する描画命令に従う描画が行われていれば注目バンドは確定する。こうして注目バンドが確定しているか否かを判断し、注目バンドが確定しない場合（ステップＳ２３０：Ｎｏ）、ステップＳ２１０に戻って、次に受け取る描画命令について処理を行う。一方、注目バンドが確定した場合（ステップＳ２３０：Ｙｅｓ）、印刷データ出力部２１３は、ページメモリ２３４に格納された印刷画像のうちから確定した注目バンドに対応する部分の画像データを読み出して、印刷データとしてプリンタ３に出力する（ステップＳ２４０）。このステップＳ２４０において最初に印刷データを出力したとき、出力された先頭バンドの印刷データに従ってプリンタ３による印刷が開始される。
【００４７】
次に、レンダリング部２３０は、全バンドについて処理を終了したか否かを判断する（ステップＳ２５０）。全バンドについて処理を終えていなければ（ステップＳ２５０：Ｎｏ）、次のバンドに注目してから（ステップＳ２６０）、ステップＳ２１０に戻るようにして、以降に受け取る描画命令についてレンダリングを行う。全バンドについて処理を終了すると（ステップＳ２５０：Ｙｅｓ）、図６の処理を終了する。
【００４８】
以上に説明した印刷システム１によれば、ＸＭＬドキュメントに記述された描画命令のうち、描画範囲が複数バンドに跨る描画命令を、単バンドの描画範囲をもつ複数の描画命令に変換して、単バンドを描画範囲とする描画命令に従ってレンダリングが行われる。このため、複数バンドへの描画完了を待つことなく、単バンドごとに確定したバンドから順次印刷データをプリンタ３に出力することができる。これにより、各々のバンドについて印刷が開始される時間が早まり、印刷完了までに要する時間を短縮することができる。特に、先頭のバンドを出力するタイミングが早まることにより、プリンタが印刷を開始するタイミングを早め、印刷完了までに要する時間を短縮することができる。
【００４９】
（第２の実施例）
次に、第２の実施例について説明する。上記第１の実施例では、ホストコンピュータに備わるプリンタドライバ２００がパースおよびレンダリングを行って印刷データを生成する、いわゆるドライバページの態様をなしていたが、第２の実施例では、システムのプリンタ側でパースおよびレンダリングが行われる。なお、以下では、第１の実施例と同様の構成については同じ符号を付与し、詳細な説明を省略するものとする。
【００５０】
図７は、第２の実施例に係る印刷システムの構成を示したブロック図である。図７に示すように、印刷システム６は、ホストコンピュータ７と、プリンタ８とを備えている。ホストコンピュータ７は、アプリケーション１００と、プリンタドライバ３００とを備えている。プリンタドライバ３００は、アプリケーション１００から入力されたＸＭＬドキュメントを印刷データとしてプリンタ８に出力する処理を行う。
【００５１】
プリンタ８は、コントローラ（印刷制御装置）８０と、印刷エンジン（印刷装置）８１とを備えている。コントローラ８０は、制御部２１０、ＸＭＬパース部２２０、およびレンダリング部２３０を有しており、プリンタドライバ３００から受け取った印刷データ（入力データ）に対して、第１の実施例と同様にパースおよびレンダリングを行う。コントローラ８０は、確定したバンドの印刷画像を、印刷エンジン８１が処理可能な形式のデータに変換して、印刷エンジン８１に順次出力することにより、印刷エンジン８１に印刷画像を印刷させる。
【００５２】
第２の実施例によれば、プリンタ側でパースおよびレンダリングを行うシステムにおいても、第１の実施例と同様の効果を得ることができる。
【００５３】
本印刷制御装置は、第１の実施例および第２の実施例に限られることなく、以下に説明する変形例とすることもできる。
【００５４】
（変形例１）単バンドを描画する描画命令に変換してから、描画命令をバンドの順番に並び替えるようにしてもよい。もしくは、ＸＭＬドキュメントを解釈して、バンドの順番に描画命令を取得し、バンド順に取得した描画命令を単バンドを描画する描画命令に変換してもよい。このようにすれば、先頭バンドが確定するタイミングがさらに早くなるので、印刷完了までに要する時間をさらに短縮することができる。
【００５５】
（変形例２）上記第１，２の実施例では、描画範囲が複数バンドに掛かる全描画命令を分割するようにしたが、先頭バンドを含む複数バンドを描画範囲とする描画命令についてのみ分割するようにしてもよい。このようにしても、印刷開始のタイミングを早めることができる。また、ＸＭＬドキュメントの記述順が最後の描画命令についてのみ、複数バンドを描画範囲としていれば分割するようにしてもよい。
【００５６】
（変形例３）上記第１，２の実施例では、マークアップ言語であるＸＭＬにより記述されたＸＭＬドキュメントを処理する場合について説明したが、ＨＴＭＬ（HyperText Markup Language）やＸＨＴＭＬ（EXtensible HyperText Markup Language）で記述されたデータに対して処理するようにしてもよい。
【００５７】
（変形例４）上記第１，２の実施例では、プリンタを例にして説明したが、プリンタに限られることなく、複写機やファックスであってもよい。
【図面の簡単な説明】
【００５８】
【図１】第１の実施例に係る印刷システムの構成を示したブロック図。
【図２】ホストコンピュータの機能的構成を示したブロック図。
【図３】描画命令が取得される順番を説明する図であり、（ａ）は記述順に解釈したときに取得される描画命令、（ｂ）は描画範囲が複数バンドに跨る描画命令を変換したときの描画命令を示した図。
【図４】レンダリングの経過を示した図であり、（ａ）はオブジェクトＯＢ１描画後、（ｂ）はオブジェクトＯＢ２ａ描画後、（ｃ）はオブジェクトＯＢ２ｂ描画後、（ｄ）はオブジェクトＯＢ２ｃ描画後に確定されるバンドを示した図。
【図５】パース処理の流れを示したフローチャート。
【図６】レンダリング処理の流れを示したフローチャート。
【図７】第２の実施例に係る印刷システムの構成を示したブロック図。
【図８】従来の処理方法を説明するための図。
【符号の説明】
【００５９】
１…印刷システム、２…印刷制御装置としてのホストコンピュータ、３…印刷装置としてのプリンタ、４…記録媒体としてのＣＤ−ＲＯＭ、２０…ＣＰＵ、２１…ＲＯＭ、２２…ＲＡＭ、２３…ハードディスク、２４…ＣＤ−ＲＯＭドライブ、２５…通信インターフェイス、１００…アプリケーション、２００…プリンタドライバ、２１０…制御部、２１１…入力手段としてのドキュメント入力部、２１２…データ制御部、２１３…出力手段としての印刷データ出力部、２２０…描画命令取得手段としてのＸＭＬパース部、２２１…描画命令取得部、２２２…描画命令変換処理部、２３０…印刷画像生成手段としてのレンダリング部、２３１…中間コード登録部、２３２…中間コードメモリ、２３３…展開処理部、２３４…ページメモリ。
【図１】
2009003833.tif 000003
【図２】
2009003833.tif 000004
【図３】
2009003833.tif 000005
【図４】
2009003833.tif 000006
【図５】
2009003833.tif 000007
【図６】
2009003833.tif 000008
【図７】
2009003833.tif 000009
【図８】
2009003833.tif 000010