(57)【要約】【課題】高速印刷の実現を図る。【解決手段】オブジェクトを含むページを表現する画像ファイルを取得する画像取得部と、前記ページ内のバンド毎に、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開するか否かを判定する判定部と、前記バンド単位のラスター形式の画像データへ展開すると判定されたバンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従ってバンド単位のラスター形式の画像データへ展開する画像展開部と、前記バンド単位のラスター形式の画像データへ展開されたバンドについては、当該展開されたバンド単位の画像データを印刷部へ転送し、前記バンド単位のラスター形式の画像データへ展開されなかったバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドを前記印刷部へ転送する転送部とを備える。【選択図】図２
2015032238.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトを含むページを表現する画像ファイルを取得する画像取得部と、
前記ページを複数のバンドに分け、バンド毎に、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開するか否かを判定する判定部と、
前記バンド単位のラスター形式の画像データへ展開すると判定されたバンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従ってバンド単位のラスター形式の画像データへ展開する画像展開部と、
前記バンド単位のラスター形式の画像データへ展開されたバンドについては、当該展開されたバンド単位の画像データを印刷部へ転送し、前記バンド単位のラスター形式の画像データへ展開されなかったバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドを前記印刷部へ転送する転送部と、を備えることを特徴とする印刷制御装置。
【請求項２】
前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトがラスター形式の画像データで表されかつ第一の基準値よりも多い場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、ことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドが第二の基準値よりも多いものである場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、ことを特徴とする請求項１または請求項２に記載の印刷制御装置。
【請求項４】
前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドにおいて設定されている二項演算による論理演算の回数が第三の基準値よりも多いものである場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、ことを特徴とする請求項１〜請求項３のいずれかに記載の印刷制御装置。
【請求項５】
オブジェクトを含むページを表現する画像ファイルを取得する画像取得工程と、
前記ページを複数のバンドに分け、バンド毎に、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開するか否かを判定する判定工程と、
前記バンド単位のラスター形式の画像データへ展開すると判定されたバンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従ってバンド単位のラスター形式の画像データへ展開する画像展開工程と、
前記バンド単位のラスター形式の画像データへ展開されたバンドについては、当該展開されたバンド単位の画像データを印刷部へ転送し、前記バンド単位のラスター形式の画像データへ展開されなかったバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドを前記印刷部へ転送する転送工程と、を備えることを特徴とする印刷制御方法。
【請求項６】
オブジェクトを含むページを表現する画像ファイルを取得する画像取得機能と、
前記ページを複数のバンドに分け、バンド毎に、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開するか否かを判定する判定機能と、
前記バンド単位のラスター形式の画像データへ展開すると判定されたバンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従ってバンド単位のラスター形式の画像データへ展開する画像展開機能と、
前記バンド単位のラスター形式の画像データへ展開されたバンドについては、当該展開されたバンド単位の画像データを印刷部へ転送し、前記バンド単位のラスター形式の画像データへ展開されなかったバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドを前記印刷部へ転送する転送機能と、をコンピューターに実行させることを特徴とする印刷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷制御方法および印刷制御プログラムに関する。
【背景技術】
【０００２】
より短時間でより多くの印刷をプリンターで実行する、いわゆる高速印刷が求められている。
ここで、１ページを等分したバンドを仮想し、仮想バンド内に存在する文字や図形などの印刷情報を解析して中間コードを作成し、その過程で所定の基準に従って圧縮が必要か否かを判定し、圧縮が必要な場合はビットイメージに展開し、圧縮して圧縮ビットイメージデータを作成し、一方、圧縮が不要な場合は中間コードのままＲＡＭに保存し、その後、個々の仮想バンドに存在する中間コードを基に、圧縮ビットイメージデータの場合は伸張を行いビットイメージとし、そうでない場合は中間コードによって管理されるデータを展開してビットイメージとし、これらビットイメージを印刷装置へ転送する印刷情報処理装置が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６‐１７１１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
高速印刷を実現するための一つの重要な要素として、プリンターに画像の印刷をさせるために必要な情報をプリンターへ転送する際に要する時間（転送時間）を短縮することが挙げられる。このような観点から、プリンターに対する印刷指示をプリンターが解釈可能なページ記述言語（ＰＤＬ；Page Description Language）によって記述したものをホストコンピューター側からプリンターへ転送することにより、転送する情報量の低減を図り、もって転送時間の短縮に資する構成が採られている。しかしながら前記文献１は、常に展開後のビットイメージデータを印刷装置へ転送するものであるため、前記転送時間の短縮による高速印刷の実現という点で不十分であった。
また、前記高速印刷を実現するための他の重要な要素として、印刷に必要な情報の転送を受けたプリンター側で実行すべき処理量を軽減することが挙げられる。従って、転送時間の短縮を図りつつも、転送を受ける側の処理負担も軽減することで、真に高速印刷の実現に資する技術が必要とされている。
【０００５】
本発明は少なくとも上述の課題を解決するためになされたものであり、前記転送を受ける側の処理負担を軽減するための処置を効果的に取り入れることで、より的確に高速印刷を実現させることが可能な印刷制御装置、印刷制御方法および印刷制御プログラムを提供する。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、印刷制御装置は、オブジェクトを含むページを表現する画像ファイルを取得する画像取得部と、前記ページを複数のバンドに分け、バンド毎に、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開するか否かを判定する判定部と、前記バンド単位のラスター形式の画像データへ展開すると判定されたバンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従ってバンド単位のラスター形式の画像データへ展開する画像展開部と、前記バンド単位のラスター形式の画像データへ展開されたバンドについては、当該展開されたバンド単位の画像データを印刷部へ転送し、前記バンド単位のラスター形式の画像データへ展開されなかったバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドを前記印刷部へ転送する転送部と、を備える。
ここで言うオブジェクトとは、印刷されるページ内に表現された対象あるいは客体であり、具体的には、写真、文字（文書）、図形等、それぞれにある程度のまとまりを持って表現された領域である。
【０００７】
本発明の構成によれば、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開すると判定されたバンドについてのみ、バンド単位のラスター形式の画像データへ展開され、その画像データが印刷部へ転送され、それ以外のバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンドが印刷部へ転送される。つまり、描画コマンドの転送を受けた印刷部側でラスター形式の画像データへ展開する際の処理負担がある程度大きいと予測されるバンドについてのみ、前記転送前にラスター形式の画像データへ展開しておくことができる。これにより、描画コマンドの転送によって印刷部への転送量の低減（転送時間の短縮化）を図りつつも、印刷部側の処理負担を効果的に減らすことができる。
【０００８】
前記判定部による判定の基準は多岐に渡る。
一例として、前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトがラスター形式の画像データで表されかつ第一の基準値よりも多い場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、としてもよい。
当該構成によれば、バンド内のラスター形式の画像データ（オブジェクト）が多いためにそのバンド全体に対応するラスター形式の画像データへ展開する際の処理負担が大きいと予測される状況において、印刷部にそのような負担を負わせないようにすることができる。
【０００９】
また他の例として、前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドが第二の基準値よりも多いものである場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、としてもよい。
当該構成によれば、バンド内のオブジェクトを描画するための描画コマンドが多いためにそのバンド全体に対応するラスター形式の画像データへ展開する際の処理負担が大きいと予測される状況において、印刷部にそのような負担を負わせないようにすることができる。
【００１０】
また他の例として、前記判定部は、少なくとも、判定対象としたバンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドにおいて設定されている二項演算による論理演算の回数が第三の基準値よりも多いものである場合に、当該判定対象のバンドを前記バンド単位のラスター形式の画像データへ展開すると判定する、としてもよい。
当該構成によれば、バンド内のオブジェクトを描画するための描画コマンドにおいて設定されている二項演算による論理演算の回数が多いためにそのバンド全体に対応するラスター形式の画像データへ展開する際の処理負担が大きいと予測される状況において、印刷部にそのような負担を負わせないようにすることができる。
【００１１】
本発明にかかる技術的思想は印刷制御装置という形態のみで実現されるものではなく、他の物によって具現化されてもよい。また、上述したいずれかの態様の印刷制御装置の特徴に対応した工程を備える方法（印刷制御方法）の発明や、当該方法を所定のハードウェア（コンピューター）に実行させる印刷制御プログラムの発明や、当該プログラムを記録したコンピューター読取可能な記録媒体の発明も把握することができる。また、印刷制御装置は、単体の装置によって実現されてもよいし、複数の装置の組み合せによって実現されてもよい。さらに、印刷制御装置を複数の装置の組み合わせによって実現する場合、当該複数の装置で構成するシステムや、当該システムに相当する方法の発明も把握することができる。
【図面の簡単な説明】
【００１２】
【図１】ハードウェア構成およびソフトウェア構成を概略的に示す図である。
【図２】第１実施例において第１装置側で実行される処理を示すフローチャートである。
【図３】指定ファイルの一例を模式的に示す図である。
【図４】一つのバンドに含まれる各オブジェクトを例示する図である。
【図５】一つのバンドについてのレンダリングを説明する図である。
【図６】第２装置側で実行される処理を示すフローチャートである。
【図７】第２実施例において第１装置側で実行される処理を示すフローチャートである。
【図８】オブジェクトにかかる描画コマンドの数を説明するための図である。
【図９】第３実施例において第１装置側で実行される処理を示すフローチャートである。
【図１０】二項演算によりオブジェクトが描画される様子を例示する図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照しながら本発明の実施形態を説明する。
１．装置の概略
図１は、本実施形態にかかるハードウェア構成およびソフトウェア構成を概略的に示している。図１では、第１装置１０と第２装置５０とを示している。第１装置１０は、第２装置５０を制御して第２装置５０に印刷を実行させる機能を有し、例えば、パーソナルコンピューター（ＰＣ）や、サーバー、携帯型端末装置等が該当する。第２装置５０は、プリンターである。プリンター（ｐｒｉｎｔｅｒ）とは、あらかじめ定められた一つ又は複数の文字集合に属する離散的な図形文字の列を主な様式として、データのハードコピー記録を作る出力装置、である（ＪＩＳ  Ｘ００１２−１９９０）。多くの場合、プリンターはプロッターとしても使用できる。プロッター（ｐｌｏｔｔｅｒ）とは、取外し可能な媒体上に、二次元図形の様式でデータのハードコピー記録を直接作り出す出力装置、である（ＪＩＳ  Ｘ００１２−１９９０）。第２装置５０は、プリンターとして機能し得るものであればよく、スキャナーやコピー機としても機能するいわゆる複合機であってもよい。
【００１４】
第１装置１０は、印刷制御装置の一例に該当する。あるいは、第１装置１０および第２装置５０からなるシステム１００を印刷制御装置と捉えてもよいし、第２装置５０のみを印刷制御装置と捉えることも可能である。第２装置５０は、その全体あるいは少なくともその一部が、印刷部に該当する。また、第１装置１０と第２装置５０は、それぞれが別個の装置であることのみを前提としたものではない。第１装置１０と第２装置５０は、一体的に構成された一つの製品内における各部に該当するとしてもよく、当該製品の一部が第１装置１０として機能し、他の部が第２装置５０として機能する構成も本実施形態に含まれる。
【００１５】
第１装置１０においては、ＣＰＵ１１が、ハードディスクドライブ（ＨＤＤ）２０等に記憶されたプログラムデータ２１をＲＡＭ１２等のメモリーに展開してＯＳの下でプログラムデータ２１に従った演算を行なうことにより、第２装置５０を制御する。プログラムデータ２１は、第２装置５０を制御するためのプリンタードライバー１３であるとも言える。プリンタードライバー１３は、画像取得部１３ａ、判定部１３ｂ、印刷指示生成部１３ｃ、転送部１３ｄ等の各機能をＣＰＵ１１に実行させるためのプログラムである。これら各機能については後述する。なお、印刷指示生成部１３ｃは、画像展開部を兼ねている。 
【００１６】
第１装置１０には、表示部としてのディスプレー３０が接続されており、ディスプレー３０には各処理に必要なユーザーインターフェイス（ＵＩ）画面が表示される。また、第１装置１０は、例えば、キーボードやマウスや各種ボタンやタッチパッドやタッチパネル等により実現される操作部４０を適宜備え、各処理に必要な指示がユーザーにより操作部４０を介して入力される。第１装置１０は、第２装置５０と転送路７０を介して通信可能に接続されている。転送路７０は、有線あるいは無線による通信経路の総称である。上述したように第１装置１０と第２装置５０が一体的な製品である場合は、転送路７０は当該製品内における通信経路である。後述するように、第１装置１０においては、プリンタードライバー１３の機能により、バンド単位の印刷指示が転送路７０を介して第２装置５０へ送信される。バンド単位の印刷指示の内容については後述する。
【００１７】
第２装置５０においては、ＣＰＵ５１が、ＲＯＭ５３等に記憶されたプログラムデータ５４をＲＡＭ５２等のメモリーに展開してＯＳの下でプログラムデータ５４に従った演算を行なうことにより、自機を制御する。プログラムデータ５４は、第２装置５０を制御するためのファームウェアＦＷであるとも言える。ファームウェアＦＷは、第１装置１０から送信された印刷指示に基づいて、圧縮データの解凍やコマンドの解釈等を適宜実行し、印刷データを生成する。そして、当該印刷データをＡＳＩＣ５５に送ることにより、印刷データに基づいた印刷を実行させることができる。
【００１８】
ＡＳＩＣ５５は印刷データを取得し、印刷データに基づいて、例えば、搬送機構５６や、印刷ヘッド５７を駆動するための駆動信号を生成する。印刷ヘッド５７は、パーマネントヘッド（ｐｅｒｍａｎｅｎｔ  ｈｅａｄ）に該当し、インク滴を連続的又は断続的に生成する、プリンター本体の機械部又は電気部である（ＪＩＳ  Ｚ８１２３−１：２０１３）。第２装置５０は、複数種類のインク毎のカートリッジ５８を搭載している。図１の例では、シアン（Ｃ）、マゼンダ（Ｍ）、イエロー（Ｙ）、ブラック（Ｋ）、の各種液体に対応したカートリッジ５８が搭載されている。ただし、第２装置５０が使用するインクの具体的な種類や数は上述したものに限られず、例えば、ライトシアン、ライトマゼンダ、オレンジ、グリーン、グレー、ライトグレー、ホワイト、メタリック…等、種々のインクを使用可能である。また、第２装置５０は、各カートリッジ５８から供給されるインクを多数のノズル５７ａから吐出（噴射）する前記印刷ヘッド５７を備える。従って、第２装置５０は、インクジェットプリンターに該当する。インクジェットプリンター（ｉｎｋ  ｊｅｔ  ｐｒｉｎｔｅｒ）とは、非衝撃式印字装置であって、文字が用紙上にインクの粒子又は小滴の噴射によって形成されるもの、である（ＪＩＳ  Ｘ００１２−１９９０）。
【００１９】
本実施形態における印刷ヘッド５７は、長尺形状をしたライン型印刷ヘッドである。印刷ヘッド５７は、例えば、第２装置５０内の所定位置に固定されている。印刷ヘッド５７では、被印刷物が動かされる方向（搬送方向）と交差する方向が長手方向であり、長手方向に複数のノズル５７ａを連ねたノズル列を備える。当該長手方向は、ノズル列方向と表現することもできる。ここで言う“交差”とは直交の意である。ただし、本明細書で言う直交とは、厳密な角度（９０°）のみを意味するのではなく、製品の品質上許容される程度の角度の誤差を含む意味である。ノズル列は、前記長手方向における被印刷物の幅のうちの少なくとも被印刷物上の印刷可能な領域の幅に対応した長さを有する。また、ノズル列は、第２装置５０が使用するインク種類毎に設けられている。図１では、印刷ヘッド５７のノズル開口面５７ｂ（ノズル５７ａの開口が形成された面）におけるＣＭＹＫ毎の各ノズル列の一部を、鎖線で囲った範囲内に例示している。ＣＭＹＫ毎の各ノズル列は、前記搬送方向に沿って並列している。ＣＭＹＫ毎の各ノズル列は、前記長手方向に沿ってノズル５７ａが並んだ一列のノズル列のみで構成されてもよいし、図１に例示するように、平行であって且つ前記長手方向に所定ピッチずれた複数のノズル列で構成（いわゆる千鳥状に構成）されてもよい。
【００２０】
印刷ヘッド５７内においては、各ノズル５７ａに対応して、ノズル５７ａからインク（インク滴）を噴射させるための圧電素子が設けられている。圧電素子は、前記駆動信号が印加されると変形し、対応するノズル５７ａからインクを吐出させる。搬送機構５６は、図示しない紙送りモーターや紙送りローラーを備え、ＡＳＩＣ５５に駆動制御されることにより、搬送方向に沿って被印刷物を搬送する。被印刷物（ｐｒｉｎｔ  ｓｕｂｓｔｒａｔｅ）とは、印刷画像を保持する素材のことである。形状は長方形のものが一般的であるが、円形（例えばＣＤ−ＲＯＭ、ＤＶＤ等の光ディスク）、三角形、四角形、多角形などがあり、少なくとも、日本工業規格「ＪＩＳ  Ｐ０００１：１９９８  紙・板紙及びパルプ用語」に記載の紙・板紙の品種及び加工製品のすべてを含む。
【００２１】
第２装置５０は、さらに操作パネル５９を備える。操作パネル５９は、表示部（例えば液晶パネル）や、表示部内に形成されるタッチパネルや、各種ボタンやキーを含み、ユーザーからの入力を受け付けたり、必要なＵＩ画面を表示部に表示したりする。
第２装置５０は、前記のようにライン型印刷ヘッドを備えたラインプリンターに限られない。例えば、第２装置５０は、前記搬送方向と交差する方向（主走査方向）に沿って移動するキャリッジに印刷ヘッド５７が搭載された、いわゆるシリアルプリンターであってもよい。また、ノズルからインクを吐出させる手段も、前記圧電素子に限られず、発熱素子によりインクを加熱してノズルからインクを吐出させる手段を採用してもよい。さらに、プリンター（第２装置５０）が採用する印刷方式は、前記のようなインクジェット方式に限る必要はなく、レーザー方式やサーマル方式であってもよい。
【００２２】
２．印刷制御処理
上述の構成下で実行される本実施形態に含まれる実施例を以下に複数説明する。
第１実施例：
図２は、第１実施例にかかる印刷制御処理であって第１装置１０側で実行される処理をフローチャートにより示している。ここでは、プリンタードライバー１３（印刷制御プログラムの一種）によりＣＰＵ１１が当該フローチャートを実行するものとして説明をする（後述の図７，９のフローチャートについても同様）。当該フローチャートが立ち上がる前提として、ユーザーが操作部４０を操作することにより、任意のアプリケーションソフトウェアが第１装置１０内で起動され、第２装置５０に印刷させるためのファイルがユーザーにより任意に選択された状態であるとする。
【００２３】
ここで、画像（ｉｍａｇｅ）とは、人間の目に見える写真、絵、イラスト、図、文字などで、オリジナルの形、色、遠近感を適切に表現するものである。また、画像データとは、画像を表現するデジタルデータを意味する。画像データに該当するものとして、ベクトルデータやビットマップ画像等が挙げられる。ベクトルデータ（ｖｅｃｔｏｒ  ｄａｔａ）とは、直線、円、円弧などの幾何学的図形を表現するコマンド及びパラメーターのセットとして保存される画像データをいう。ビットマップ画像（ｂｉｔ−ｍａｐｐｅｄ  ｉｍａｇｅ）とは、画素（ｐｉｘｅｌ）の配列によって記述される画像データである。ビットマップ画像は、「ラスター形式の画像データ」と呼ぶこともできる。画素とは、色又は輝度を独立に割り当てることができる、画像を構成する最小要素のことである。
【００２４】
以下では、ユーザーにより任意に選択されたファイルを、指定ファイルと呼ぶ。またユーザーは、操作部４０を操作して印刷条件設定用のＵＩ画面をディスプレー３０に表示させる。この状態において、プリンタードライバー１３は、指定ファイルを第２装置５０に印刷させる際の印刷条件の選択および指定画像の印刷開始指示を、ユーザー入力に従って受け付ける。例えば、プリンタードライバー１３は、印刷モード（印刷速度や印刷解像度）、被印刷物の種類、印刷の向き、紙面に対する割り付け、両面印刷の要否など、様々な印刷条件をユーザー入力に応じて受け付けることができる。
【００２５】
ステップＳ１００では、画像取得部１３ａが、前記アプリケーションソフトウェアから指定ファイルとしての画像ファイル２２を取得する。画像ファイル２２は前記アプリケーションソフトウェアによって生成されたものであり、例えばＨＤＤ２０や、図示しない外部接続用のコネクタに装着されたメモリー装置等、所定の格納領域から取得する。
【００２６】
図３は、前記画像ファイル２２が表現するある１つのページＰを模式的に例示する図である。指定ファイルは、例えば、ページＰ内にオブジェクトを複数有する。指定ファイルは、例えば、ページＰ内にオブジェクトとして、写真画像１、写真画像２、写真画像３、写真画像４および図形画像５を含む。各オブジェクトは、互いに重なっていることもある。写真画像１，２，３，４は、ユーザーが撮像機器（デジタルスチルカメラ）により撮影した写真であり、それぞれラスター形式の画像データＩＭ１，ＩＭ２，ＩＭ３，ＩＭ４により表現されている。画像データＩＭ１，ＩＭ２，ＩＭ３，ＩＭ４は、ある被写体を画素毎の色情報（例えば、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ））で階調表現したデータである。Ｒ，Ｇ，Ｂの各値は、例えば、０〜２５５の２５６階調で表現される。図形画像５はＣＧ（コンピューターグラフィックス）であり、ベクトルデータＶ５で表現されている。
【００２７】
ステップＳ１１０では、判定部１３ｂが、指定ファイルのページＰの画像領域を一定方向に分割することにより、複数の短冊状の画像領域（バンド）を想定し、複数のバンドの中から１つのバンドを選択する。ステップＳ１１０で選択したバンドを「対象バンド」と呼ぶ。図３では理解容易とするために、各バンドを鎖線にて区画して例示している。バンドの数は特に限定されないが、図３の例では、ページＰの画像領域が４つのバンドに分けられている。また、判定部１３ｂは、対象バンドに含まれるオブジェクトの特徴を解析する。
【００２８】
ステップＳ１２０では、判定部１３ｂが、対象バンドに含まれるオフジェクトに関する上記解析結果に基づいて、「バンド単位のラスター形式の画像データ」へ展開するか否かを判定する。「バンド単位のラスター形式の画像データ」とは、１つのバンド全体を表現する１つのラスター形式の画像データである。第１実施例では、判定部１３ｂは、対象バンドに含まれるオブジェクトが、ラスター形式の画像データで表され、かつ、第一の基準値よりもオブジェクトが多い場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定し（ステップＳ１２０において“Ｙｅｓ”）、ステップＳ１３０へ進む。ここで、対象バンド内においてオブジェクト（ラスター形式の画像データ）が多いとは、このようなオブジェクトの重なりがある程度多い、或いは、存在する、と表現することもできる。
【００２９】
図４は、対象バンドとされた１つのバンドＢ（図３参照）に、それぞれラスター形式の画像データで表現された複数のオブジェクト（画像データＩＭ１１，ＩＭ２１，ＩＭ３１）が含まれており、それらが重なっている状態を例示している。画像データＩＭ１１は、図３に例示した画像データＩＭ１のうちバンドＢに含まれる範囲である。同様に、画像データＩＭ２１は、画像データＩＭ２のうちバンドＢに含まれる範囲であり、画像データＩＭ３１は、画像データＩＭ３のうちバンドＢに含まれる範囲である。図３，４から分かるように、画像データＩＭ１，ＩＭ２，ＩＭ３（ＩＭ１１，ＩＭ２１，ＩＭ３１）はそれらの一部が重なっている（ＩＭ１（ＩＭ１１）の上にＩＭ２（ＩＭ２１）が重なり、さらにその上にＩＭ３（ＩＭ３１）が重なっている）。言い換えると、前記画像ファイル２２には、画像データＩＭ１，ＩＭ２，ＩＭ３と、画像データＩＭ１，ＩＭ２，ＩＭ３をこのように重ねて配置させる描画コマンドが含まれている。
【００３０】
前記ステップＳ１２０では、判定部１３ｂは、対象バンドであるバンドＢに関し、画像データＩＭ１１，ＩＭ２１，ＩＭ３１それぞれの画素数を算出し、それらを合計する。この場合、画像データが重なる範囲の画素は、むろん、重なる各画像データの画素数の集計に重複して算入される。そして、画像データＩＭ１１，ＩＭ２１，ＩＭ３１の画素数の合計値と、予め設定されたしきい値ＴＨ１とを比較し、当該合計値がしきい値ＴＨ１を上回る場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定する。しきい値ＴＨ１は、第一の基準値の一例に該当する。しきい値ＴＨ１は、例えば、バンドのサイズ（縦×横の画素数）よりも大きい値に設定されている。かかる設定とすれば、バンド内の少なくとも一部で複数のラスター形式の画像データが重なっている（重なりが発生するほどオブジェクトが多い）ことが判る。なお、しきい値ＴＨ１は、バンドのサイズに対するバンド内の前記ラスター形式の各画像データの画素数の合計値の比率、と比較するために設定された値であってもよい。この場合、当該比率がしきい値ＴＨ１を上回る場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定する。
【００３１】
あるいは、判定部１３ｂは、判定対象のバンド内で前記ラスター形式の各画像データ（画像データＩＭ１１，ＩＭ２１，ＩＭ３１）が重なっている範囲の面積比率（バンドの面積に対する比率）を、予め設定されたしきい値（第一の基準値の一例）と比較し、当該面積比率がしきい値を上回る場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定してもよい。また、判定部１３ｂは、単純に、対象バンド内で重なっているラスター形式の画像データの数（図４の例では、ＩＭ１１，ＩＭ２１，ＩＭ３１の計３個）が、予め設定されたしきい値（第一の基準値の一例）を上回る場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定してもよい。
【００３２】
ステップＳ１３０では、印刷指示生成部１３ｃが、バンド単位のラスター形式の画像データへ展開すると判定された対象バンドについて、バンドに含まれるオブジェクトを描画するための描画コマンドに従って、バンド単位のラスター形式の画像データ（ＲＧＢデータ）へ展開する（レンダリングする）。
図５を参照して、前記バンドＢが対象とされている場合を例に、ステップＳ１３０の処理を説明する。この場合、バンドＢに含まれるオブジェクトを描画するための描画コマンドとは、オブジェクト（画像データＩＭ１，ＩＭ２，ＩＭ３）を描画するための描画コマンドであり、例えば、画像データＩＭ１，ＩＭ２，ＩＭ３それぞれを配置するための座標位置や配置する際の重ね方を規定したコマンドである。図５の上段左に示すように、まず、バンドのサイズに対応するディスティネーションＤがメモリーに用意される。ディスティネーションＤとは、背景（画面や被印刷物）の色の画像領域であって、ここでは全画素が白（Ｒ，Ｇ，Ｂ）＝（２５５，２５５，２５５）のラスター形式の画像データである。
【００３３】
前記画像ファイル２２においては、画像データＩＭ１，ＩＭ２，ＩＭ３を、順にＣｏｐｙ（上書）して描画することが描画コマンドによって規定されているものとする。従って、印刷指示生成部１３ｃは、ディスティネーションＤに対して、ソース（描画される画像）としての画像データＩＭ１１を、前記画像ファイル２２において規定されている画像データＩＭ１の座標位置に従って配置（上書）する。次に、印刷指示生成部１３ｃは、画像データＩＭ１１が配置された状態に対して、ソースとしての画像データＩＭ２１を、前記画像ファイル２２において規定されている画像データＩＭ２の座標位置に従って配置（上書）し、さらに、画像データＩＭ２１が配置された状態に対して、ソースとしての画像データＩＭ３１を、前記画像ファイル２２において規定されている画像データＩＭ３の座標位置に従って配置（上書）する。このように得られた図５の下段左の画像データが、バンドＢ全体を表現する一つの（バンド単位の）ラスター形式の画像データである。なお、図５に示す処理を行う場合、印刷指示生成部１３ｃは、メモリー上で、画像データＩＭ１，ＩＭ２，ＩＭ３を先ず上述の順序で重ねた後で、バンドＢに該当する部分を抜き出すようにしてもよいし、画像データＩＭ１，ＩＭ２，ＩＭ３それぞれから、バンドＢに含まれる部分（画像データＩＭ１１，ＩＭ２１，ＩＭ３１）を先に抽出した後に重ねるとしてもよい。
【００３４】
ステップＳ１４０においては、印刷指示生成部１３ｃは、直近のステップＳ１３０でレンダリングしたバンド単位のラスター形式の画像データを第２装置５０に描画（印刷）させるための印刷コマンドを作成する。ここで作成する印刷コマンドは、転送を受ける側の第２装置５０が解釈可能なＰＤＬ形式で記述されるものであり、バンド単位のラスター形式の画像データを描画すべき座標位置等を規定している。なお、印刷指示生成部１３ｃは、直近のステップＳ１３０でレンダリングしたバンド単位のラスター形式の画像データについて、圧縮を施してデータ量を低減するようにしてもよい。 
【００３５】
ステップＳ１４０の後のステップＳ１６０では、転送部１３ｄが、直近のステップＳ１４０で作成されたバンド単位の印刷コマンドを、直近のステップＳ１３０で展開されたバンド単位のラスター形式の画像データ（圧縮されていれば圧縮されている状態のデータ）とともに、転送路７０を介して印刷部（第２装置５０）へ転送する。
ステップＳ１６０で、バンド単位で第２装置５０へ転送される情報が、前記バンド単位の印刷指示に該当する。また、第１装置１０から第２装置５０へ転送される印刷指示の中には、前記ユーザーにより選択された印刷条件にかかる情報等も含まれる。
【００３６】
一方、ステップＳ１２０において、対象バンドについてバンド単位のラスター形式の画像データへ展開しないと判定した場合（ステップＳ１２０において“Ｎｏ”）、処理はステップＳ１５０へ進む。ステップＳ１５０においては、印刷指示生成部１３ｃは、バンド単位のラスター形式の画像データへ展開しないと判定された対象バンドに含まれる各オブジェクトを第２装置５０に描画（印刷）させるための印刷コマンドをオブジェクト毎に作成する。なお、オブジェクト毎の描画コマンドは、既に前記画像ファイル２２に規定されている（後述の図８も参照のこと。）。そのため、ステップＳ１５０では、前記画像ファイル２２に規定されているオブジェクト毎の描画コマンドのうち対象バンドに含まれるオブジェクトにかかる描画コマンドの少なくとも一部を、転送を受ける側の第２装置５０が解釈可能なＰＤＬ形式の指示（印刷コマンド）に変換する処理を実行する。印刷指示生成部１３ｃは、対象バンドにラスター形式の画像データによるオブジェクトが含まれる場合は、そのオブジェクト単位の画像データについて、圧縮を施してデータ量を低減するようにしてもよい。
【００３７】
ステップＳ１５０の後のステップＳ１６０では、転送部１３ｄが、直近のステップＳ１５０で作成された、対象バンドに含まれるオブジェクト毎の印刷コマンドを、転送路７０を介して印刷部（第２装置５０）へ転送する。むろん、対象バンドに含まれるオブジェクトがラスター形式の画像データである場合は、そのオブジェクト単位のラスター形式の画像データ（圧縮されていれば圧縮されている状態のデータ）も併せて転送する。このようなステップＳ１５０の後のステップＳ１６０では、対象バンドに含まれるオブジェクト毎の印刷コマンドは、バンド単位で一まとまりとされたＰＤＬデータとして転送される。そして、当該ＰＤＬデータには、対象バンドに含まれるオブジェクト毎のラスター形式の画像データ（圧縮されていれば圧縮されている状態のデータ）を含ませる。ここで言う「含ませる」とは、オブジェクト毎のラスター形式の画像データを、ＰＤＬデータ内に、挿入する、張り付ける、或いは、埋め込む、などと表現することも可能である。また、「埋め込む」とは、ＰＤＬデータ内にラスター形式の画像データの実体が埋め込まれている場合と、当該実体はＰＤＬデータ内に存在せず、当該実体の存在位置を示したリンク情報（当該実体にアクセス可能なリンク情報）が埋め込まれている場合との両方を意味する。あるいは、前記「含ませる」ラスター形式の画像データをＰＤＬ形式のデータに変換した上で、前記バンド単位で一まとまりとされたＰＤＬデータに含ませるとしてもよい。
【００３８】
ステップＳ１７０では、判定部１３ｂが、前記ページＰの画像領域を構成する全てのバンドについてステップＳ１１０〜Ｓ１６０の処理を終えたか否か判定する。全てのバンドについて処理を終えていない場合は、ステップＳ１１０に戻り、それまでに未選択のバンドを新たな対象バンドとして選択する。一方、全てのバンドについて処理を終えた場合は、当該フローチャートを終了する。
【００３９】
図６は、本実施形態にかかる印刷制御処理であって第２装置５０側で実行される処理をフローチャートにより示している。ここでは、ファームウェアＦＷによりＣＰＵ５１が当該フローチャートを実行するものとして説明をする。
ステップＳ２００では、ファームウェアＦＷは、第１装置１０側から転送路７０を介してバンド単位で転送された印刷指示を受信する。ファームウェアＦＷは、受信した印刷指示を解析し（ステップＳ２１０）、各バンド単位で、それがバンド単位で展開されたラスター形式の画像データか否か、圧縮されたラスター形式の画像データか否か、等といったことを判定する。
【００４０】
ステップＳ２２０では、ファームウェアＦＷは、ステップＳ２１０の解析結果に応じて、圧縮されたデータの解凍（伸張とも言う。）や、印刷コマンドに従ったレンダリングを実行する。つまり、ステップＳ１３０，Ｓ１４０（図２）を経て転送されたバンド単位の印刷指示であれば、それは既にバンド単位で展開されたラスター形式の画像データであるため、解凍が必要であれば（圧縮されていれば）解凍する。
【００４１】
一方、ステップＳ１５０を経て転送されたバンド単位の印刷指示であれば、それはバンド単位で展開されたラスター形式の画像データではない。そのため、印刷指示に含まれている各オブジェクトの印刷コマンドに従って、バンド単位のラスター形式の画像データへ展開する（レンダリングする）。このとき、レンダリングの対象となるオブジェクトを表す画像データが圧縮されている場合には、解凍した上でレンダリングする。なお、当該ステップＳ２２０で実行する場合のレンダリングは、バンドがラスター形式の画像データを多く有するような領域ではないため、ステップＳ１３０（図２）で実行する場合のレンダリング（例えば、図５で説明した、複数回の画像の上書を伴うようなレンダリング）と比較して演算量が少ないものとなる。
【００４２】
ステップＳ２３０では、ファームウェアＦＷは、ステップＳ２２０までの処理によって得たバンド単位のラスター形式の画像データに基づいて、指定ファイルが表現するページを印刷するための印刷データを生成する。ファームウェアＦＷは、１ページ分の全バンドにかかるラスター形式の画像データが揃った段階で、当該全バンドにかかるラスター形式の画像データ全体を処理対象としてステップＳ２３０以下を実行しても良いし、バンド単位のラスター形式の画像データを取得次第、バンド単位のラスター形式の画像データを処理対象としてステップＳ２３０以下を順次実行するとしてもよい。ステップＳ２３０では、ファームウェアＦＷは、処理対象の画像データの解像度を印刷解像度に一致させる解像度変換処理を実行する。
【００４３】
また、ファームウェアＦＷは、必要に応じて処理対象の画像データの色変換処理を実行する。つまり、画像データの表色系を第２装置５０が印刷に使用するインク表色系に変換する。例えば、上述したように処理対象の画像データが各画素の色情報をＲＧＢで表現する場合、画素毎にＲＧＢをＣＭＹＫ毎の階調値に変換することによりインク量データを得る。色変換処理は、任意の色変換ルックアップテーブルを参照することにより実行可能である。ＣＭＹＫの夫々は例えば２５６階調で表現される。さらに、ファームウェアＦＷは、色変換後の画像データ（インク量データ）に、ハーフトーン処理（ハーフトーニング）を施す。ハーフトーン処理の具体的手法は特に問わない。ファームウェアＦＷは、例えば、所定の記憶領域に予め保存されたディザマスクを用いたディザリングによりハーフトーン処理を実行してもよいし、誤差拡散法によりハーフトーン処理を実行してもよい。ハーフトーン処理により、画素毎にＣＭＹＫインクの吐出あるいは非吐出を規定したハーフトーン（印刷データ）が生成される。インクの吐出あるいは非吐出とは、被印刷物へのドットの形成あるいは非形成、と言い換えることもできる。ドットとは、被印刷物に付着した状態のインク滴を意味する。
【００４４】
ステップＳ２４０では、ファームウェアＦＷは、ステップＳ２３０の処理により生成された印刷データを印刷ヘッド５７に転送すべき順に並べ替える処理を行う。当該並べ替えの処理により、印刷データに規定された各インクは、その画素位置およびインク種類に応じて、いずれのノズル５７ａによって、どのタイミングで吐出されるかが確定される。かかる並べ替えの処理後の印刷データを、ファームウェアＦＷは、ＡＳＩＣ５５に順次送信することにより、各ノズル５７ａからのインクの吐出を実行させる。これにより、指定ファイルが表現するページ（図３参照）が印刷データに基づいて被印刷物上に再現される。
【００４５】
このように本実施形態によれば、第１装置１０は、バンドに含まれるオブジェクトの特徴に基づいてバンド単位のラスター形式の画像データへ展開すべきと判定したバンドについてのみ、バンド単位のラスター形式の画像データへ展開し、展開済みの画像データを第２装置５０へ転送する。また、バンド単位のラスター形式の画像データへ展開しないと判定したバンドについては、バンドに含まれるオブジェクトを描画するための描画コマンド（第２装置５０が解釈可能な印刷コマンド）を第２装置５０へ転送し、第２装置５０側でバンド単位のラスター形式の画像データへの展開を実行させる。また、ステップＳ１２０からステップＳ１３０またはステップＳ１５０への分岐は、ページ内のある領域に関して、当該領域の全体を表現する１つのラスター形式の画像データを第２装置５０に送信するのか、当該領域に含まれる個々のオブジェクト毎の描画コマンド（第２装置５０が解釈可能な印刷コマンド）および当該個々のオブジェクト毎のラスター形式の画像データを第２装置５０に送信するのか、を選択しているとも言える。特に、第１実施例では、バンドにラスター形式の画像データがある程度多く含まれている場合に、第２装置５０へ転送する前に第１装置１０側でバンド単位のラスター形式の画像データへ展開（レンダリング）しておく。そのため、描画コマンド（第２装置５０が解釈可能な印刷コマンド）の転送を受けた第２装置５０側でレンダリングを行った場合に処理負担がかなり大きいと予測されるバンドについて第２装置５０側にレンダリングを実行させることを、回避できる。その結果、第２装置５０側の処理負担が大幅に減り、第２装置５０による印刷の高速化が図られる。
【００４６】
特に、プリンターとしての第２装置５０は演算処理能力が第１装置５０よりも劣る場合が多い実情を鑑みると、このように第２装置５０側の処理負担を軽減することは高速印刷の実現のために非常に有用である。同時に、本実施形態では、第２装置５０側でレンダリングを行った場合に処理負担がそれほど大きくないと予測されるバンドについては、レンダリング済みのバンド単位のラスター形式の画像データを第２装置５０へ転送せず、各オブジェクト単位での描画コマンド（第２装置５０が解釈可能な印刷コマンド）やラスター形式の画像データを転送する。これにより、転送する情報量の低減（転送時間の短縮化）を図り、高速印刷の実現に寄与している。
【００４７】
第２実施例：
図７は、第２実施例にかかる印刷制御処理であって第１装置１０側で実行される処理をフローチャートにより示している。図７は、図２のステップＳ１２０の替わりに、ステップＳ１２２を実行する点で、図２と異なる。
ステップＳ１２２では、判定部１３ｂは、対象バンドに含まれるオフジェクトの特徴に関する解析結果に基づいて、バンド単位のラスター形式の画像データへ展開するか否かを判定する。具体的には、判定部１３ｂは、対象バンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドが第二の基準値よりも多いものである場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定し（ステップＳ１２２において“Ｙｅｓ”）、ステップＳ１３０へ進む。
【００４８】
図８は、ステップＳ１２２の判定において考慮すべき描画コマンドの数を説明するための例である。図８の左側には、指定画像に含まれるオブジェクトの一例として、グラテーション状のカラー画像と、それに上書される黒色の文字「Ｔ」とからなる画像を示している。
このようなオブジェクトの、グラテーション状のカラー画像部分および文字「Ｔ」をラスター形式の画像データにより表現する場合の、当該オブジェクトの描画に必要な描画コマンド（描画コマンドの束）は、例えば、図８内における「描画コマンドが少ない場合」のように説明できる。コマンド「ＲＯＰ」とは、描画操作（ラスターオペレーション）における論理演算の設定を意味し、論理演算としての「Ｃｏｐｙ」は、これ以降のコマンドはＣｏｐｙ（上書）で描画すること、を意味する。
【００４９】
コマンド「Ｉｍｇ」は、ラスター形式のＲＧＢ画像の描画を意味し、描画すべきラスター形式の画像（例えば、画像データＩＭ６）、描画の始点座標および描画時の拡大率を規定している。
コマンド「ＢＭＰ」は、文字をラスター形式で描画することを意味し、描画すべき文字「Ｔ」、描画の始点座標および文字の色（Ｒ，Ｇ，Ｂ）を規定している。
すなわち、図８に例示したオブジェクトを、グラテーション状のカラー画像部分および文字「Ｔ」にそれぞれ対応するラスター形式の画像データにより描画するための描画コマンド数は、わずか３という少ない数で足りる。
【００５０】
一方、図８に例示したオブジェクトを、ベクトルデータによって描画することも可能である。この場合に必要な描画コマンド（描画コマンドの束）は、例えば、図８内における「描画コマンドが多い場合」のように説明できる。コマンド「Ｒｅｃｔ」は、図形としての矩形の描画を意味し、描画の始点座標、終点座標および図形の色（Ｒ，Ｇ，Ｂ）を規定している。コマンド「Ｌｉｎｅ」は、線の描画を意味し、描画の始点座標、終点座標および線の色（Ｒ，Ｇ，Ｂ）を規定している。前記グラテーション状のカラー画像部分を図形（矩形）の集合によって描画するためには、色が異なる多数の小さな矩形を描画するための多数のコマンド「Ｒｅｃｔ」が必要となる。また、文字「Ｔ」を線の集合によって描画するためには、多数の線を描画するための多数のコマンド「Ｌｉｎｅ」が必要となる。このように、図８に例示したオブジェクトを、ベクトルデータで描画するには、極めて多くの（例えば、数百の）描画コマンドが必要となる。つまり、多数の描画コマンドを用いて描画されるオブジェクトを含むバンドについてのレンダリングは、演算量が多くなる。
【００５１】
前記画像ファイル２２が、オブジェクトの描画のためにどのような描画コマンドを採用しているかは、画像ファイル２２を生成したアプリケーションソフトウェアに依存する。そのため、判定部１３ｂは、対象バンドに含まれるオブジェクトを描画するために画像ファイル２２に記述されている描画コマンドの数を集計し、その数が予め設定されたしきい値ＴＨ２を上回る場合に、描画コマンド数が多いとして、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定する。しきい値ＴＨ２は、第二の基準値の一例に該当する。例えば、図８に示したオブジェクトが対象バンドに含まれており、描画コマンドの態様が図８に示した「描画コマンドが少ない場合」であれば、対象バンドをバンド単位のラスター形式の画像データへ展開しないと判定し（ステップＳ１５０へ進み）、図８に示した「描画コマンドが多い場合」であれば、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定する（ステップＳ１３０へ進む）。
ステップＳ１３０以降、あるいはステップＳ１５０以降の処理は、第１実施例と同様である。また、第２装置５０側の処理も、第１実施例と同様（図６）である。
【００５２】
このように第２実施例によれば、バンドに含まれるオブジェクトを描画するための描画コマンドがある程度多い場合に、第２装置５０へ転送する前に第１装置１０側でバンド単位のラスター形式の画像データへ展開（レンダリング）しておく。そのため、描画コマンド（第２装置５０が解釈可能な印刷コマンド）の転送を受けた第２装置５０側でレンダリングを行った場合に演算量がかなり多いと予測されるバンド（図８の「描画コマンドが多い場合」のような多数の描画コマンドで表現されるオブジェクトを含むバンド）について第２装置５０側にレンダリングを実行させることを、回避できる。その結果、第２装置５０側の処理負担が大幅に減り、第２装置５０による印刷の高速化が図られる。むろん、第２実施例においても、第１実施例と同様の構成に基づいて第１実施例と同様の効果を奏する。
【００５３】
第３実施例：
図９は、第３実施例にかかる印刷制御処理であって第１装置１０側で実行される処理をフローチャートにより示している。図９は、図２，図７のステップＳ１２０，Ｓ１２２の替わりに、ステップＳ１２４を実行する点で、図２，図７と異なる。
ステップＳ１２４では、判定部１３ｂは、対象バンドに含まれるオフジェクトの特徴に関する解析結果に基づいて、バンド単位のラスター形式の画像データへ展開するか否かを判定する。具体的には、判定部１３ｂは、対象バンドに含まれるオブジェクトが、当該オブジェクトを描画するための描画コマンドにおいて設定されている二項演算による論理演算の回数が第三の基準値よりも多いものである場合に、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定し（ステップＳ１２４において“Ｙｅｓ”）、ステップＳ１３０へ進む。
【００５４】
ラスターオペレーションにおける論理演算としては、上述の「Ｃｏｐｙ」の他、「ＡＮＤ（論理積）」、「ＯＲ（論理和）」、「ＮＯＴ（否定）」、「ＸＯＲ（排他的論理和）」等が挙げられる。そして、論理演算のうち、２つの入力から１つの出力を得る演算を、二項演算と呼ぶ。二項演算としては、ＡＮＤ、ＯＲ、ＸＯＲ等が挙げられる。二項演算は、Ｃｏｐｙ（上書）やＮＯＴといった単純な処理と比較して負担が大きい演算であると言える。
【００５５】
図１０は、二項演算の繰り返しの結果、あるオブジェクトが描画される様子を例示している。ここでは、ある色（例えば、赤。（Ｒ，Ｇ，Ｂ）＝（２５５，０，０）。）の画像（ラスター形式の画像データＩＭ７）が透過処理されたものが、オブジェクトであると仮定する。図１０の左下には、当該オブジェクトを例示しており、図１０の右側には、このオブジェクトを最終的に得るための描画コマンド（描画コマンドの束）を例示している。図１０に示すように、まず、ディスティネーションＤ（２５５，２５５，２５５）の一部と画像データＩＭ７（２５５，０，０）とのＸＯＲ（排他的論理和）が取得される。次に、現在取得されている画像（０，２５５，２５５）と透過処理のためのパターンを表現した画像（ラスター形式の画像データＩＭ８）とのＡＮＤ（論理積）が取得される。透過処理のためのパターンは、例えば、黒（０，０，０）の領域と白（２５５，２５５，２５５）の領域とが縦横それぞれに交互に配置された透過率５０％のパターンである。
【００５６】
次に、現在取得されている画像（黒（０，０，０）の領域と所定色（０，２５５，２５５）の領域とが縦横それぞれに交互に配置された画像）と画像データＩＭ９（２５５，０，０）とのＸＯＲ（排他的論理和）により、図１０の左下に示したオブジェクトが最終的に得られる。なお、ＩＭ７とＩＭ９は同じデータである。このようなオブジェクトは、オブジェクトを構成する全画素について、二項演算を複数回実行することで描画されるものであるから、このようなオブジェクトを含むバンドについてのレンダリングは、演算量が多くなる。
【００５７】
そこで、判定部１３ｂは、対象バンドに含まれるオブジェクトを描画するために画像ファイル２２に記述されている描画コマンドにおいて設定されている二項演算の回数を集計し、その数が予め設定されたしきい値ＴＨ３を上回る場合に、二項演算の回数が多いとして、対象バンドをバンド単位のラスター形式の画像データへ展開すると判定する。しきい値ＴＨ３は、第三の基準値の一例に該当する。例えば、図１０に示したオブジェクトが対象バンドに含まれることを想定すると、二項演算の回数は、オブジェクトの画素数×３回（ＸＯＲとＡＮＤとＸＯＲ）である。あるいは、もっと単純に、判定部１３ｂは、二項演算の対象となる画素数（オブジェクトの画素数）を二項演算の回数と見なして所定のしきい値（第三の基準値の一例）と比較したり、画素数を無視した二項演算の回数（上記の例で言えば３回）と所定のしきい値（第三の基準値の一例）と比較したりして、二項演算の回数が多いか否かを判定してもよい。あるいは、判定部１３ｂは、描画に際して二項演算を１回でも実行するオブジェクトが存在する場合に、直ちに二項演算の回数が多い（０ではない）と判定してもよい。
ステップＳ１３０以降、あるいはステップＳ１５０以降の処理は、第１，第２実施例と同様である。また、第２装置５０側の処理も、第１，第２実施例と同様（図６）である。
【００５８】
このように第３実施例によれば、バンドに含まれるオブジェクトを描画するための描画コマンドにおいて二項演算がある程度多い場合に、第２装置５０へ転送する前に第１装置１０側でバンド単位のラスター形式の画像データへ展開（レンダリング）しておく。そのため、描画コマンド（第２装置５０が解釈可能な印刷コマンド）の転送を受けた第２装置５０側でレンダリングを行った場合に演算量がかなり多いと予測されるバンド（図１０に例示したような二項演算の繰り返しにより表現されるオブジェクトを含むバンド）について第２装置５０側にレンダリングを実行させることを、回避できる。その結果、第２装置５０側の処理負担が大幅に減り、第２装置５０による印刷の高速化が図られる。むろん、第３実施例においても、第１実施例と同様の構成に基づいて第１実施例と同様の効果を奏する。
【００５９】
３．変形例
本発明は上述の実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、上述の各実施例を適宜組み合わせた内容も、本発明の開示範囲である。
【００６０】
例えば、判定部１３ｂは、上述したステップＳ１２０（図２），Ｓ１２２（図７），Ｓ１２４（図９）の各判定のうち２種類以上の判定を実行し、いずれか１つ以上の判定において“Ｙｅｓ”である場合に、ステップＳ１３０へ進むとしてもよい。つまり、異なる複数の判定基準に従って、レンダリング時の処理量がある程度多いバンドであるか否かを総合的に判定するとしてもよい。
【００６１】
図２，図７，図９（あるいはそれらの組み合わせ）の印刷制御処理がプリンター（第２装置５０）内で行なわれるとしてもよい。例えば、ＣＰＵ５１が画像取得部１３ａ、判定部１３ｂ、印刷指示生成部１３ｃ、転送部１３ｄといった上述の各機能を実現するとともに、プリンター内の他の制御部に対して転送部１３ｄにより転送された情報に基づいて、当該他の制御部が図６の処理を実行するとしてもよい。この場合、ＣＰＵ５１は、指定画像についての印刷条件や印刷指示のための操作を、操作パネル５９や、第２装置５０と通信可能な外部の携帯型端末等を介してユーザーから受け付ける。あるいは、図２，図７，図９（あるいはそれらの組み合わせ）のフローチャートを、プリンタードライバー１３とファームウェアＦＷとで分担して実現するとしてもよい。
【符号の説明】
【００６２】
１０…第１装置、１１…ＣＰＵ、１２…ＲＡＭ、１３…プリンタードライバー、１３ａ…画像取得部、１３ｂ…判定部、１３ｃ…印刷指示生成部（画像展開部）、１３ｄ…転送部、２０…ＨＤＤ、２１…プログラムデータ、２２…画像ファイル、３０…ディスプレー、４０…操作部、５０…第２装置、５１…ＣＰＵ、５２…ＲＡＭ、５３…ＲＯＭ、５６…搬送機構、５７…印刷ヘッド、５７ａ…ノズル、５８…カートリッジ、５９…操作パネル、１００…システム、ＩＭ１，ＩＭ２，ＩＭ３，ＩＭ４，ＩＭ６，ＩＭ７，ＩＭ８，ＩＭ９，…画像データ
【図１】
2015032238.tif 000003
【図２】
2015032238.tif 000004
【図３】
2015032238.tif 000005
【図４】
2015032238.tif 000006
【図５】
2015032238.tif 000007
【図６】
2015032238.tif 000008
【図７】
2015032238.tif 000009
【図９】
2015032238.tif 000010
【図１０】
2015032238.tif 000011
【図８】
2015032238.tif 000012