(57)【要約】【課題】バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる印刷制御プログラム、及び情報処理装置を提供する。【解決手段】印刷データを生成すためのラスタデータ（設定解像度のラスタデータ）を生成する前に、予め設定解像度より低解像度のラスタデータを生成して白紙ページであるか否かを判断する。白紙ページに応じた処理、及び白紙ページではないページに応じた処理のうちいずれか一方の処理のみでラスタデータを生成すればよく、また、生成した印刷データの出力を保留しなくてもよいので、処理を簡素にできる。【選択図】図３
2011138337.tif 000002
【特許請求の範囲】
【請求項１】
１ページ分の描画命令群に基づいて設定解像度より低解像度のラスタデータを生成する第１の生成手段と、
前記第１の生成手段によって生成された前記低解像度のラスタデータに基づいて前記ページが白紙ページであるか否かを判断する判断手段と、
前記１ページ分の描画命令群に基づいて前記設定解像度のラスタデータを生成する第２の生成手段であって、１ページを複数に分割した領域毎に当該領域分の描画命令群に基づいて順にラスタデータを生成する第２の生成手段と、
前記第２の生成手段によって１領域分のラスタデータが生成される毎に当該ラスタデータに基づいて印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段によって印刷データが生成される毎にその印刷データを画像形成装置に出力する出力手段としてコンピュータを機能させ、
前記第２の生成手段は、ラスタデータを生成する処理を前記判断手段による判断結果に応じて異ならせる、印刷制御プログラム。
【請求項２】
請求項１に記載の印刷制御プログラムであって、
前記第２の生成手段は、前記判断手段により白紙ページであると判断された場合はラスタデータを生成しない、印刷制御プログラム。
【請求項３】
請求項１又は請求項２に記載の印刷制御プログラムであって、
前記第１の生成手段は前記ページに設定されている印刷設定に替えてページ加工処理を伴わない印刷設定に基づいてラスタデータを生成し、
前記第２の生成手段は前記ページに設定されている前記印刷設定に基づいてラスタデータを生成する、印刷制御プログラム。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載の印刷制御プログラムであって、
前記第１の生成手段は、前記第２の生成手段に比べて１画素当たりのビット数が少ないラスタデータを生成する、印刷制御プログラム。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の印刷制御プログラムであって、
前記コンピュータは前記設定解像度より低解像度でデータを表示する表示装置を備え、
前記第１の生成手段は、前記低解像度のラスタデータとして、前記表示装置の解像度のラスタデータを生成する、印刷制御プログラム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載の印刷制御プログラムであって、
前記コンピュータは記憶部を有し、
前記判断手段は、ページ毎の判断結果を前記記憶部に記憶させ、
前記第２の生成手段は、前記判断手段により一つの印刷ジョブに含まれている全てのページについての判断が終了した後に、前記記憶部に記憶されている前記判断結果に応じてページ毎にラスタデータを生成する、印刷制御プログラム。
【請求項７】
１ページ分の描画命令群に基づいて設定解像度より低解像度のラスタデータを生成する第１の生成手段と、
前記第１の生成手段によって生成された前記低解像度のラスタデータに基づいて前記ページが白紙ページであるか否かを判断する判断手段と、
前記１ページ分の描画命令群に基づいて前記設定解像度のラスタデータを生成する第２の生成手段であって、１ページを複数に分割した領域毎に当該領域分の描画命令群に基づいて順にラスタデータを生成する第２の生成手段と、
前記第２の生成手段によって１領域分のラスタデータが生成される毎に当該ラスタデータに基づいて印刷データを生成する印刷データ生成手段と、
前記印刷データ生成手段によって印刷データが生成される毎にその印刷データを画像形成装置に出力する出力手段と、
を備え、
前記第２の生成手段は、ラスタデータを生成する処理を前記判断手段による判断結果に応じて異ならせる、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
従来、印刷対象ページが白紙ページであるか否かに応じて処理を異ならせる電子写真装置が知られている（例えば、特許文献１参照）。この電子写真装置では、印刷対象ページが白紙ページではない場合はその印刷対象ページを印刷し、白紙ページである場合はその印刷対象ページを印刷しないようにしている。
また、従来、印刷対象ページに基づいて印刷データを生成し、生成した印刷データを画像形成装置に出力するプリンタドライバにおいて、印刷対象ページを複数の領域（バンド）に分割して領域毎に順にラスタデータを生成し、ラスタデータを生成する毎に印刷データを生成する所謂バンディング処理を行うものが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−１２７４４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、バンディング処理を行うと、ラスタデータを生成する処理を印刷対象ページが白紙ページであるか否かに応じて異ならせる場合に、処理が複雑になるという問題がある。
【０００５】
具体的には、バンディング処理を行う場合、白紙ではないラスタデータが生成されるか又は全ての領域について白紙のラスタデータが生成されるまで白紙ページであるか否かを確定できない。このため、例えば白紙ページである場合はその印刷対象ページを印刷しないようにするとした場合は、ラスタデータに基づいて生成した印刷データの出力を保留しておき、白紙ページではないことが確定した場合はその印刷データを出力し、白紙ページであることが確定した場合はその印刷データを出力しない、といった処理を行わなければならず、処理が複雑になる。
【０００６】
また、例えば白紙ページである場合も印刷対象ページを印刷するようにし、その場合に、白紙ページについては所定の画像を合成して印刷するようにするとした場合、白紙のラスタデータに当該画像を合成して生成した印刷データと当該画像を合成せずに生成した印刷データとを両方生成してその出力を保留しておき、白紙ページであることが確定した場合は画像を合成した印刷データを出力し、白紙ページではない場合は画像を合成していない印刷データを出力する、といった処理を行わなければならず、処理が複雑になる。
【０００７】
本発明は上記のような事情に基づいて完成されたものであって、バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる印刷制御プログラム、及び情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、印刷制御プログラムであって、１ページ分の描画命令群に基づいて設定解像度より低解像度のラスタデータを生成する第１の生成手段と、前記第１の生成手段によって生成された前記低解像度のラスタデータに基づいて前記ページが白紙ページであるか否かを判断する判断手段と、前記１ページ分の描画命令群に基づいて前記設定解像度のラスタデータを生成する第２の生成手段であって、１ページを複数に分割した領域毎に当該領域分の描画命令群に基づいて順にラスタデータを生成する第２の生成手段と、前記第２の生成手段によって１領域分のラスタデータが生成される毎に当該ラスタデータに基づいて印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって印刷データが生成される毎にその印刷データを画像形成装置に出力する出力手段としてコンピュータを機能させ、前記第２の生成手段は、ラスタデータを生成する処理を前記判断手段による判断結果に応じて異ならせる。
【０００９】
この発明によると、印刷データを生成すためのラスタデータ（設定解像度のラスタデータ）を生成する前に予め設定解像度より低解像度のラスタデータを生成して白紙ページであるか否かを判断するので、印刷データを生成するためのラスタデータを生成する時点で印刷対象ページが白紙ページであるか否かが確定している。このため印刷制御プログラムは、白紙ページに応じた処理、及び白紙ページではないページに応じた処理のうちいずれか一方の処理のみでラスタデータを生成すればよく、また、生成した印刷データの出力を保留しなくてもよいので、処理を簡素にできる。
【００１０】
また、この発明によると、白紙ページであるか否かを設定解像度より低解像度のラスタデータに基づいて判断するので、設定解像度のラスタデータに基づいて判断する場合に比べて短時間で判断できる。
よってこの発明によると、バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる。
【００１１】
第２の発明は、第１の発明の印刷制御プログラムであって、前記第２の生成手段は、前記判断手段により白紙ページであると判断された場合はラスタデータを生成しない。
この発明によると、第２の生成手段でラスタデータを生成する時点で白紙ページか否かが確定しており、第２の生成手段は、白紙ページであると判断された場合はラスタデータを生成しない。従って、印刷データの出力を保留することなく白紙ページの出力を防ぐことができる。
【００１２】
第３の発明は、第１又は第２の発明の印刷制御プログラムであって、前記第１の生成手段は前記ページに設定されている印刷設定に替えてページ加工処理を伴わない印刷設定に基づいてラスタデータを生成し、前記第２の生成手段は前記ページに設定されている前記印刷設定に基づいてラスタデータを生成する。
【００１３】
ページ加工処理を伴う印刷設定でラスタデータを生成するとラスタデータの生成に長時間を要するので、結果として白紙ページであるか否かの判断に長時間を要する。
この発明によると、第１の生成手段でラスタデータを生成するときはページ加工処理を伴わない印刷設定でラスタデータを生成するので、第１の生成手段でラスタデータを生成するときにもページ加工処理を伴う印刷設定でラスタデータを生成する場合に比べ、白紙ページであるか否かを短時間に判断できる。
【００１４】
第４の発明は、第１〜第３のいずれかの発明の印刷制御プログラムであって、前記第１の生成手段は、前記第２の生成手段に比べて１画素当たりのビット数が少ないラスタデータを生成する。
１画素当たりのビット数を低減するとラスタデータのデータ量を低減できるので、白紙ページであるか否かをより短時間で判断することができる。
【００１５】
第５の発明は、第１〜第４のいずれかの発明の印刷制御プログラムであって、前記コンピュータは前記設定解像度より低解像度でデータを表示する表示装置を備え、前記第１の生成手段は、前記低解像度のラスタデータとして、前記表示装置の解像度のラスタデータを生成する。
【００１６】
低解像度で生成したラスタデータに基づいて白紙ページであるか否かを判断する場合、解像度が低過ぎると欠落する画素が多くなるので、白紙ページではないにもかかわらず白紙ページであると誤判断してしまう虞がある。逆に、生成したラスタデータの解像度が大きいと白紙ページであるか否かの判断に長時間を要する。一般にラスタデータを表示装置に表示した場合に何らかの情報が表示されていることをユーザが視認できない場合には、そのラスタデータは白紙とみなされる。このため表示装置の解像度は、低解像度で生成したラスタデータに基づいて白紙ページであるか否かを判断する場合の解像度として、大き過ぎず小さ過ぎず適切な解像度であるといえる。従って、表示装置の解像度のラスタデータを生成するようにすると、白紙ページであるか否かを適切な解像度に基づいて判断できる。
【００１７】
第６の発明は、第１〜第５のいずれかの発明の印刷制御プログラムであって、前記コンピュータは記憶部を有し、前記判断手段は、ページ毎の判断結果を前記記憶部に記憶させ、前記第２の生成手段は、前記判断手段により一つの印刷ジョブに含まれている全てのページについての判断が終了した後に、前記記憶部に記憶されている前記判断結果に応じてページ毎にラスタデータを生成する。
この発明によると、あるページの処理を次のページが白紙ページであるか否かによって異ならせる場合であっても当該あるページで生成した印刷データの出力を保留しなくてよいので、処理をより簡素にできる。
【００１８】
第７の発明は、情報処理装置であって、１ページ分の描画命令群に基づいて設定解像度より低解像度のラスタデータを生成する第１の生成手段と、前記第１の生成手段によって生成された前記低解像度のラスタデータに基づいて前記ページが白紙ページであるか否かを判断する判断手段と、前記１ページ分の描画命令群に基づいて前記設定解像度のラスタデータを生成する第２の生成手段であって、１ページを複数に分割した領域毎に当該領域分の描画命令群に基づいて順にラスタデータを生成する第２の生成手段と、前記第２の生成手段によって１領域分のラスタデータが生成される毎に当該ラスタデータに基づいて印刷データを生成する印刷データ生成手段と、前記印刷データ生成手段によって印刷データが生成される毎にその印刷データを画像形成装置に出力する出力手段と、を備え、前記第２の生成手段は、ラスタデータを生成する処理を前記判断手段による判断結果に応じて異ならせる。
【００１９】
この発明によると、バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる。
【発明の効果】
【００２０】
本発明によれば、バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる。
【図面の簡単な説明】
【００２１】
【図１】実施形態１に係るコンピュータ、及び情報処理装置の電気的構成を示すブロック図。
【図２】バンディング処理を概念的に説明するための模式図。
【図３】プリンタドライバの処理の流れを示すフローチャート。
【図４】実施形態２に係るプリンタドライバの処理の流れを示すフローチャート。
【発明を実施するための形態】
【００２２】
＜実施形態１＞
本発明の実施形態１を図１ないし図３によって説明する。
（１）情報処理装置の電気的構成
図１は、パーソナルコンピュータ１（コンピュータ、及び情報処理装置の一例、以下ＰＣという）の電気的構成を示すブロック図である。ＰＣ１は、ＣＰＵ１１（第１の生成手段、判断手段、第２の生成手段、及び印刷データ生成手段の一例）、ＲＯＭ１２、ＲＡＭ１３、記憶部１４、表示部１５、操作部１６、ネットワークインタフェース（Ｉ／Ｆ）１７などを備えて構成されている。
【００２３】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１４に記憶されている各種のプログラムを実行することによりＰＣ１の各部を制御する。ＲＯＭ１２はＣＰＵ１１が実行するための各種のプログラムやデータなどを記憶している。ＲＡＭ１３はＣＰＵ１１が各種の処理を実行するための主記憶装置として用いられる他、後述するラスタデータを一時的に記憶するバッファとしても用いられる。
【００２４】
記憶部１４は、ハードディスクやフラッシュメモリなどの不揮発性の記憶媒体を用いて各種のデータを記憶する外部記憶装置である。記憶部１４には、オペレーティングシステム（ＯＳ）、プリンタ２０用のプリンタドライバ（印刷制御プログラムの一例）、ＯＳを介してプリンタドライバに印刷対象ページの印刷を要求する各種のアプリケーションプログラムなどが記憶されている。
【００２５】
表示部１５は、ＣＲＴや液晶ディスプレイなどの表示装置で構成されている。
操作部１６は、マウスやキーボードなどの入力装置で構成されている。
Ｉ／Ｆ１７は、通信ネットワーク１８を介してプリンタ２０（画像形成装置の一例）などの外部の機器と接続される。なお、ＰＣ１は例えばＵＳＢやＲＳ−２３２Ｃなどによってプリンタ２０と直接接続される構成であってもよい。
【００２６】
（２）プリンタドライバ
プリンタドライバは、印刷対象ページに基づいて印刷データを生成し、生成した印刷データをプリンタ２０に出力するプログラムである。
プリンタドライバを実行するＣＰＵ１１（以下、単にプリンタドライバという）は、利用者がワードプロセッサなどのアプリケーションプログラムで印刷対象ページの印刷を指示すると、利用者に印刷設定を行わせるための図示しない設定ウィンドウを表示し、利用者が印刷設定を行うと、その印刷設定に基づいて印刷ジョブを生成する。
【００２７】
印刷ジョブとは、１以上のページデータや印刷設定などで構成される情報である。
ページデータは、アプリケーションプログラムから出力される１ページ分の描画命令群である。印刷対象ページは複数のオブジェクトで構成され、アプリケーションプログラムはユーザにより印刷が指示されるとページ毎に各オブジェクトを表す描画命令群を生成し、ＯＳが提供するインタフェースを介してその描画命令群をプリンタドライバに出力する。ここでオブジェクトとは、文字列、画像（写真、イラストなど）、図形（多角形、円、直線、曲線など）などのページ構成要素をいう。印刷ジョブには複数のページデータを含めることができ、各ページデータには１から順にページ番号が付与される。
【００２８】
印刷設定は、具体的には例えば、印刷部数、被記録媒体のサイズ（Ａ３、Ａ４、Ａ５など）、被記録媒体の縦／横、解像度、ビット数（ＲＧＢ各色の濃度を表現するビット数）、片面印刷／両面印刷、片面複数ページ印刷（片面１ページ印刷、片面２ページ印刷など）、ヘッダ／フッタの有無、透かし（所謂ウォーターマーク）の有無などである。
【００２９】
上述した印刷設定のうち、両面印刷、片面複数ページ印刷、ヘッダ／フッタ有り、及び、透かし有りは、生成された後のラスタデータに対して何らかの加工（ページ加工処理）を伴う印刷設定である。
例えば両面印刷の場合、被記録媒体の上辺が綴じられている状態で被記録媒体をめくって裏面を見たときに裏面の上下が正しくなるように両面印刷するよう設定される場合がある。この場合、プリンタドライバは裏面に印刷するページのラスタデータを上下反転させるページ加工処理を行う。
【００３０】
また、例えば片面複数ページ印刷の場合、２ページを縮小して１枚の被記録媒体の片面に印刷するとすると、プリンタドライバは２ページ分のラスタデータをそれぞれ１／２に縮小し、縮小した２ページ分のラスタデータから１つのラスタデータを生成するページ加工処理を行う。
また、例えばヘッダ／フッタ有りや透かし有りが設定された場合、プリンタドライバはラスタデータに何らかの画像を合成するページ加工処理を行う。
なお、ページ加工処理を伴う印刷設定は上述したものに限られるものではなく、ラスタデータに対して何らかの加工を伴うものであればよい。
【００３１】
これに対し、片面印刷、片面１ページ印刷、ヘッダ／フッタ無し、及び、透かし無しは、ページ加工処理を伴わない印刷設定である。これらは生成された後のラスタデータに対する加工が不要だからである。
【００３２】
プリンタドライバは、印刷ジョブを生成すると、生成した印刷ジョブに基づいて印刷データを生成する。印刷データの生成では、プリンタドライバは先ず１ページ分のラスタデータを記憶可能な容量のバッファをＲＡＭ１３に確保し、ページデータを構成する各描画命令が表すオブジェクトをバッファ上に順に描画することによって１ページ分のラスタデータを生成する。
【００３３】
ただし、他のプログラムによってＲＡＭ１３が大量に使用されていると、１ページ分のラスタデータを記憶可能な容量のバッファをＲＡＭ１３上に確保できない場合もある。そこで、プリンタドライバは、ラスタデータを生成するとき、始めに１ページ分のラスタデータを記憶可能な容量のバッファをＲＡＭ１３に確保できるか否かを判定する。そして、１ページ分の容量のバッファを確保できない場合は、プリンタドライバは１ページ分の容量より小さい容量のバッファを確保し、以下に説明するバンディング処理によってラスタデータを生成する。
【００３４】
図２は、バンディング処理を概念的に説明するための模式図である。バンディング処理とは、１ページを複数の領域（バンド）に分割した領域毎に当該領域分の描画命令群に基づいてバッファ３１上に１領域分のラスタデータを順に生成し、１領域分のラスタデータを生成する毎にそのラスタデータに基づいて印刷データを生成することにより、少ない容量のバッファ３１で１ページ分の印刷データを生成する処理である。
【００３５】
また、プリンタドライバは、印刷対象ページが白紙ページである場合は被記録媒体を無駄に使用しないようにするために白紙スキップを行い、その印刷対象ページのラスタデータを生成しない。白紙スキップは、ラスタデータを生成する処理を印刷対象ページが白紙ページであるか否かに応じて異ならせる一例である。
【００３６】
図３は、プリンタドライバの処理の流れを示すフローチャートである。本処理はユーザがアプリケーションプログラムで印刷を指示すると開始される。
ここで、バンディング処理を行うか否かは１ページ分のラスタデータを記憶可能な容量のバッファをＲＡＭ１３に確保できるか否かによって決定されるものであるが、以下の説明ではバンディング処理によってラスタデータを生成する場合についてのみ示し、バンディング処理を行うか否かを判断するステップは省略している。
【００３７】
また、プリンタドライバは複数ページを１枚の被記録媒体に印刷する印刷設定（両面印刷や片面複数ページ印刷）が可能であるが、複数ページを１枚の被記録媒体に印刷する処理は適宜実施可能な処理であり、その処理を記載するとフローチャートが複雑になるので、ここでは理解を容易にするためそれらの設定はされないものとする。
【００３８】
Ｓ１０１では、プリンタドライバは、アプリケーションプログラムから出力された描画命令と設定ウィンドウで設定された印刷設定とに基づいて印刷ジョブを生成する。この印刷ジョブに設定される解像度は前述した設定ウィンドウでユーザにより設定された解像度である。以降の説明ではこの印刷ジョブのことを「設定解像度の印刷ジョブ」という。
【００３９】
また、ここではＲＧＢ色空間で表される２５６階調（ＲＧＢ各８ビット）のラスタデータを生成するものとし、ビット数（ＲＧＢ各色の濃度を表現するビット数）として８ビットを設定する。
設定解像度の印刷ジョブには設定ウィンドウで設定された印刷設定が反映されるので、ユーザが設定ウィンドウでページ加工処理を伴う印刷設定(ここでは両面印刷、及び片面複数印刷は除く）をしていた場合、設定解像度の印刷ジョブはページ加工処理を伴う印刷設定であることになる。
【００４０】
Ｓ１０２では、プリンタドライバは低解像度の印刷ジョブを生成する。具体的には例えば、プリンタドライバは設定解像度の印刷ジョブを複製し、複製した印刷ジョブに、設定解像度より低解像度の解像度、５ビット（ＲＧＢ各色の濃度を表現するビット数）、ページ加工処理を伴わない印刷設定（片面印刷、片面１ページ印刷、ヘッダ／フッタ無し、透かし無し）を設定する。
【００４１】
上述した「設定解像度より低解像度」は、例えば表示装置の解像度であってもよい。低解像度で生成したラスタデータに基づいて白紙ページであるか否かを判断する場合、解像度が低過ぎると欠落する画素が多くなるので、白紙ページではないにもかかわらず白紙ページであると誤判断してしまう虞がある。逆に、生成したラスタデータの解像度が大きいと白紙ページであるか否かの判断に長時間を要する。
【００４２】
表示装置の解像度は一般に９６ｄｐｉ程度であり、一方、プリンタの解像度は一般に３００ｄｐｉ以上である。ユーザは設定解像度としてプリンタ２０の解像度を設定するので、表示装置の解像度は設定解像度より十分に低解像度であるといえる。そして、ラスタデータを表示装置に表示した場合に何らかの情報が表示されていることをユーザが視認できない場合には、そのラスタデータは一般に白紙とみなされる。このため表示装置の解像度は、低解像度で生成したラスタデータに基づいて白紙ページであるか否かを判断する場合の解像度として、大き過ぎず小さ過ぎず適切な解像度であるといえる。
【００４３】
５ビット（ＲＧＢ各色の濃度を表現するビット数）は、ＲＧＢ色空間で表される２５６階調（８ビット）のラスタデータを生成し、そのうちＲＧＢの各濃度の上位５ビットのみを用いることを示している。具体的には、ラスタデータを８ビットで表すと、ＲＧＢの各濃度はそれぞれ０（００００００００）〜２５５（１１１１１１１１）で表され、上位５ビットはそのうち左側の５ビットとなる。従って、低解像度の印刷ジョブに基づいて生成されるラスタデータは、設定解像度の印刷ジョブに基づいて生成されるラスタデータよりも１画素当たりのビット数が少ないラスタデータである。
【００４４】
Ｓ１０３では、プリンタドライバはページ番号を表す変数ｎに初期値として１を設定する。
Ｓ１０４では、プリンタドライバは低解像度の印刷ジョブからページ番号ｎのページデータと印刷設定（表示装置の解像度、５ビット、片面印刷、片面１ページ印刷、ヘッダ／フッタ無し、透かし無し）とを取得する。
なお、低解像度の印刷ジョブにはページデータを含めないようにし、設定解像度の印刷ジョブからラスタデータを取得するようにしてもよい。このようにすれば印刷ジョブを記憶するために必要な記憶容量を低減できる。
【００４５】
Ｓ１０５では、プリンタドライバは低解像度の印刷ジョブから取得した１ページ分の描画命令群と印刷設定とに基づいてバッファ上に低解像度のラスタデータを生成する。
【００４６】
Ｓ１０６では、プリンタドライバは生成したラスタデータに基づいて印刷対象ページが白紙ページであるか否かを判断する。
ラスタデータを２５６階調（８ビット）で表すと、白はＲＧＢ＝（２５５、２５５、２５５）である。これを２進数で表現すると（１１１１１１１１、１１１１１１１１、１１１１１１１１）である。上位５ビットのみを用いる場合、上位５ビットが全て１であれば元の濃度は２４８（１１１１１０００）〜２５５（１１１１１１１１）であることになる。従って、例えばＲＧＢの濃度がいずれも２４８以上であれば白とみなすとすると、ＲＧＢのビットがいずれも１１１１１であれば白と判断されることになる。プリンタドライバはラスタデータを構成する全ての画素について白であるか否か（ＲＧＢのビットがいずれも１１１１１であるか否か）を判定し、全ての画素が白であれば白紙ページであると判断する。
プリンタドライバは、印刷対象ページが白紙ページではない場合はＳ１０７に進み、白紙ページである場合はその印刷対象ページの処理をスキップしてＳ１０９に進む。
【００４７】
Ｓ１０７では、プリンタドライバは設定解像度の印刷ジョブからページ番号ｎのページデータと印刷設定とを取得する。
Ｓ１０８では、プリンタドライバは取得したページデータと印刷設定とに基づいて、バンディング処理により１領域毎に設定解像度のラスタデータを生成する。プリンタドライバは１領域分のラスタデータを生成する毎に当該ラスタデータに基づいて印刷データを生成し、印刷データを生成する毎にその印刷データをプリンタ２０に出力する。
【００４８】
ラスタデータに基づいて印刷データを生成する処理では、プリンタドライバは先ず生成したラスタデータに基づいて、プリンタ２０で形成されるドットのパターンを表す二値画像（所謂ハーフトーンデータ）をトナーの色毎に生成する。次に、プリンタドライバは、生成した各色の二値画像に基づいて、プリンタ２０が解釈可能なページ記述言語（ＰＤＬ）を生成する。ページ記述言語は印刷データの一例である。なお、印刷データのデータ形式はＰＤＬに限られるものではなく、例えば二値画像をそのまま印刷データとしてもよいし、二値画像を圧縮したデータを印刷データとしてもよい。
【００４９】
Ｓ１０９では、プリンタドライバはＳ１０５で生成した低解像度のラスタデータを破棄する。
Ｓ１１０では、プリンタドライバはページ番号を表す変数ｎに１を加算する。
Ｓ１１１では、プリンタドライバは低解像度の印刷ジョブに次のページデータがあるか否かを判定し、次のページデータがない場合は処理を終了し、次のページデータがある場合はＳ１０４に戻って処理を繰り返す。
【００５０】
（５）実施形態の効果
以上説明した本発明の実施形態１に係るプリンタドライバによると、印刷データを生成するためのラスタデータ（設定解像度の印刷ジョブに基づいて生成されるラスタデータ）を生成する前に予め設定解像度より低解像度のラスタデータ（低解像度の印刷ジョブに基づいて生成されるラスタデータ）を生成して白紙ページであるか否かを判断するので、印刷データを生成するためのラスタデータを生成する時点で印刷対象ページが白紙ページであるか否かが確定している。このためプリンタドライバは、白紙ページである場合はラスタデータ自体を生成しなくてよく、また、白紙ページではない場合は生成した印刷データの出力を保留しなくてもよいので、処理を簡素にできる。
【００５１】
ところで、このプリンタドライバによると、従来に比べて印刷データの出力を保留する処理が不要になる反面、低解像度のラスタデータを生成して白紙ページであるか否かを判断する分の処理が増えることになる。しかしながら、低解像度のラスタデータを生成して白紙ページであるか否かを判断する処理は、生成した印刷データの出力を保留する処理に比べて簡素な処理である。なぜなら、印刷データの出力を保留する処理では、生成した印刷データに様々なフラグを設定して正しい順番に出力されるように調整したり、どのような条件が成立したときにどの印刷データを出力するかを管理したりしなければならないので処理が複雑であるのに対し、低解像度のラスタデータを生成して白紙ページであるか否かを判断する処理は単に白紙ページであるか否かを判断するだけでよいので処理が簡単だからである。このため、白紙ページであるか否かを判断する分の処理が増えても従来に比べてプリンタドライバの処理を簡素にできる。
【００５２】
また、このプリンタドライバによると、白紙ページであるか否かを設定解像度より低解像度のラスタデータに基づいて判断するので、設定解像度のラスタデータに基づいて判断する場合に比べて短時間で判断できる。
よってこのプリンタドライバによると、バンディング処理によってラスタデータを生成する場合であって、ラスタデータを生成する処理を白紙ページであるか否かに応じて異ならせる場合に、簡素な処理でラスタデータを生成しつつ、処理を簡素にすることによる処理時間の増大を抑制できる。
【００５３】
更に、このプリンタドライバによると、低解像度のラスタデータを生成するときはページに設定されている印刷設定（設定ウィンドウで設定された印刷設定）に替えてページ加工処理を伴わない印刷設定でラスタデータを生成するので、低解像度のラスタデータを生成するときにもページ加工処理を伴う印刷設定でラスタデータを生成する場合に比べ、白紙ページであるか否かを短時間に判断できる。
【００５４】
更に、このプリンタドライバによると、低解像度のラスタデータを生成する場合は設定解像度のラスタデータを生成する場合に比べて１画素当たりのビット数が少ないラスタデータを生成するので、ラスタデータのデータ量を低減できる。これにより、白紙ページであるか否かをより短時間で判断することができる。
【００５５】
更に、このプリンタドライバによると、低解像度のラスタデータとして、表示装置の解像度のラスタデータを生成するので、白紙ページであるか否かを適切な解像度に基づいて判断できる。
【００５６】
＜実施形態２＞
次に、本発明の実施形態２を図４によって説明する。
実施形態２では、印刷対象の全てのページについて先に白紙ページであるか否かを判定し、その後に設定解像度のラスタデータを生成する。
【００５７】
図４は、実施形態２に係るプリンタドライバの処理の流れを示すフローチャートである。ここでは実施形態１と実質的に同一の処理には同一の符号を付して説明を省略する。
【００５８】
Ｓ２０１では、プリンタドライバは該当ページデータ(白紙ページではないページ）のページ番号をＲＡＭ１３に記憶する。
Ｓ２０２では、プリンタドライバはページ番号を表す変数ｎに初期値として１を設定する。
【００５９】
Ｓ２０３では、プリンタドライバはページ番号ｎが記憶されているか否かを判定し、記憶されている場合は白紙ページではないとしてＳ１０７に進み、記憶されていない場合は白紙ページであるとしてその印刷対象ページの処理をスキップしてＳ２０４に進む。
Ｓ２０４では、プリンタドライバはページ番号を表す変数ｎに１を加算する。
Ｓ２０５では、プリンタドライバは設定解像度の印刷ジョブに次のページデータがあるか否かを判定し、次のページデータがない場合は処理を終了し、次のページデータがある場合はＳ２０３に戻って処理を繰り返す。
【００６０】
以上説明した本発明の実施形態２に係るプリンタドライバによると、印刷対象の全てのページについて先に白紙ページであるか否かを判定し、その後に設定解像度のラスタデータを生成するので、あるページの処理を次のページが白紙ページであるか否かによって異ならせる場合であっても当該あるページで生成した印刷データの出力を保留しなくてよい。
【００６１】
例えば、次のページの印刷が速やかに開始されるようにするために前のページの印刷データを生成している途中で次のページが印刷される被記録媒体の搬送を指示する給紙コマンドを出力する場合がある。そして、次のページが白紙ページである場合には被記録媒体が無駄に出力されないようにするために給紙コマンドを出力しないようにする場合がある。この場合、次のページが白紙ページであるか否かが判っていないとすると、次のページが白紙ページであるか否かが確定するまで給紙コマンドや前のページの印刷データ（給紙コマンドの後に出力する印刷データ）の出力を保留しておかなければならない。
【００６２】
これに対し、このプリンタドライバによると、既に全てのページについて白紙ページであるか否かが確定しているので、給紙コマンドや印刷データの出力を保留しておかなくてもよい。よってこのプリンタドライバによると、処理をより簡素にできる。
【００６３】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００６４】
（１）上記実施形態では白紙ページであるか否かに応じて異ならせる処理として白紙スキップを例に説明したが、白紙ページであるか否かに応じて異ならせる処理は白紙スキップに限られるものではない。例えば白紙ページである場合にはラスタデータに所定の処理を施し、白紙ページではない場合には当該所定の処理を行わないという処理であってもよい。具体的には例えば、白紙ページである場合のみラスタデータに所定の画像（被記録媒体の白紙ページをメモ欄として利用するための罫線、イラストなど）を合成する処理であってもよい。
【００６５】
（２）上記実施形態では白紙ページであるか否かをＲＧＢの各濃度の上位５ビットを用いて判断する場合を例に説明したが、画素が白であるか否かを判断する方法は上述した方法に限られるものではない。例えば８ビット全てを用いて判断してもよい。８ビット全てを用いて判断する場合、例えばＲＧＢの濃度がいずれも２４０以上であれば白と判断してもよいし、ＲＧＢの濃度がいずれも２５５のときのみ白と判断してもよい。
【００６６】
（３）上記実施形態では低解像度のラスタデータが１画素毎にＲＧＢ３つの濃度を持つ場合を例に説明したが、低解像度のラスタデータは１画素毎に白であるか否かを示す１ビットの情報を持つようにしてもよい。具体的には例えば、ＲＧＢそれぞれが２５６階調（８ビット）の情報を持つラスタデータを生成し、画素の濃度が（２５５、２５５、２５５）であればビットを１、それ以外であれば０として低解像度のラスタデータを生成してもよい。このようにすれば、低解像度のラスタデータのデータ量をより低減することができるので、白紙ページであるか否かの判断をより短時間に行うことができる。
【符号の説明】
【００６７】
１・・・パーソナルコンピュータ
１１・・・ＣＰＵ
１２・・・ＲＯＭ
１３・・・ＲＡＭ
１４・・・記憶部
１５・・・表示部
１６・・・操作部
１７・・・ネットワークインタフェース
１８・・・通信ネットワーク
２０・・・プリンタ
【図１】
2011138337.tif 000003
【図２】
2011138337.tif 000004
【図３】
2011138337.tif 000005
【図４】
2011138337.tif 000006