(57)【要約】【課題】中間データのサイズが、中間データに基づく描画処理を実行する画像形成装置の受け入れ条件を満たさない場合であっても、高速、かつ画質を低下させることのない描画処理を実現できる仕組みを提供する。【解決手段】ホストコンピュータ１０が、ページ記述データから生成された中間データのサイズが、プリンタ１１による中間データの受け入れ条件を満たさない場合に、中間データから画像を分離して画像の分離後の中間データと画像とを別個にプリンタ１１に送信する特定の送信処理を実行するかを判断する。ホストコンピュータ１０が、上記特定の送信処理を実行すると判断した場合に、中間データから画像を分離し、画像の分離後の中間データと画像とを別個にプリンタ１１に送信する。【選択図】図１
2015184736.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述データから中間データを生成する生成手段と、
前記中間データのサイズが、当該中間データに基づく描画処理を実行する機能を有する画像処理手段による中間データの受け入れ条件を満たすかを判断する第１の判断手段と、
前記中間データのサイズが前記受け入れ条件を満たさない場合に、前記中間データから画像を分離して当該画像の分離後の中間データと当該画像とを別個に前記画像処理手段に送信する特定の送信処理を実行するかを判断する第２の判断手段と、
前記特定の送信処理を実行すると判断された場合に、前記中間データから画像を分離する分離手段と、
前記画像の分離後の中間データと当該画像とを別個に前記画像処理手段に送信する送信手段とを備える
ことを特徴とする情報処理システム。
【請求項２】
前記画像処理手段は、受信した中間データと画像とを格納する受信バッファを有し、
前記第２の判断手段は、
少なくとも前記中間データに含まれる画像のサイズと当該画像のページ内での位置を含む画像情報と、前記画像処理手段が有する前記受信バッファの空き容量とに基づいて、前記特定の送信処理を実行すれば前記画像処理手段が前記生成された中間データに基づく描画処理を実行できるかを判断し、
前記特定の送信処理を実行すれば前記画像処理手段が前記生成された中間データに基づく描画処理を実行できる場合に、前記特定の送信処理を実行すると判断する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記特定の送信処理を実行しないと判断された場合に、前記生成された中間データに基づく描画処理を実行する描画手段を備える
ことを特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記送信手段は、前記画像処理手段からの前記分離された画像の送信要求に応じて、前記分離された画像を送信する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
前記画像処理手段は、前記描画処理を所定の高さのバンド毎に実行し、
前記第２の判断手段は、
前記特定の送信処理を実行すれば前記画像処理手段が前記生成された中間データに基づく描画処理を実行できるかを前記バンド毎に判断する
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
前記送信手段は、画像処理手段からの前記バンド毎に実行される前記分離された画像の送信要求に応じて、前記分離された画像を送信する
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
前記画像処理手段は、前記送信手段から前記画像の分離後の中間データを受信し、各バンドの描画処理を実行する前に、前記中間データに含まれる情報に基づいて、当該バンドで前記画像の送信要求を行うかを判断する
ことを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記画像処理手段は、前記画像の分離後の中間データに含まれる、前記送信要求を行うバンドを示す、当該画像の塗り情報に基づいて、前記バンドで前記画像の送信要求を行うかを判断する
ことを特徴とする請求項７に記載の情報処理システム。
【請求項９】
ページ記述データから中間データを生成する生成手段と、
前記中間データのサイズが、当該中間データに基づく描画処理を実行する機能を有する画像処理装置による中間データの受け入れ条件を満たすかを判断する第１の判断手段と、
前記中間データのサイズが前記受け入れ条件を満たさない場合に、前記中間データから画像を分離して当該画像の分離後の中間データと当該画像とを別個に前記画像処理装置に送信する特定の送信処理を実行するかを判断する第２の判断手段と、
特定の送信処理を実行すると判断された場合に、前記中間データから画像を分離する分離手段と、
前記画像の分離後の中間データと当該画像とを別個に前記画像処理装置に送信する送信手段とを備える
ことを特徴とする情報処理装置。
【請求項１０】
請求項１乃至８のいずれか１項に記載の情報処理システムが備える前記画像処理手段として機能する画像処理装置。
【請求項１１】
ページ記述データから中間データを生成する工程と、
前記中間データのサイズが、当該中間データに基づく描画処理を実行する機能を有する画像処理装置による中間データの受け入れ条件を満たすかを判断する工程と、
前記中間データのサイズが前記受け入れ条件を満たさない場合に、前記中間データから画像を分離して当該画像の分離後の中間データと当該画像とを別個に前記画像処理装置に送信する特定の送信処理を実行するかを判断する工程と、
前記特定の送信処理を実行すると判断された場合に、前記中間データから画像を分離する工程と、
前記画像の分離後の中間データと当該画像とを別個に前記画像処理装置に送信する工程とを有する
ことを特徴とする情報処理方法。
【請求項１２】
請求項１１に記載の情報処理方法をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、画像処理装置、情報処理方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
ページ記述データ（ＰＤＬデータ）からラスターデータを生成する描画処理を実行する装置が提案されている。ページ記述データは、ページ記述言語（ＰＤＬ：Page Description Language）によって、ページ内の文字やイメージが記述されたデータである。上記の描画処理の高速化や、効率化を図るための提案が従来からなされている。例えば、入力されたＰＤＬデータをホストコンピュータで中間データに変換し、プリンタで該中間データをレンダリングする描画処理において、負荷分散やスケジューリング、処理の並列化を用いるシステムが提案されている。
【０００３】
また、上記のホストコンピュータとプリンタを用いた描画処理において、ホストコンピュータで生成された中間データが、プリンタの受け入れ条件を満たさない場合の対処方法が提案されている。特許文献１は、ホストコンピュータで生成した中間データが、プリンタで受信・記憶できない場合、ホストコンピュータが中間データに基づいてプレレンダリングしてラスターデータを生成する方法を開示している。また、特許文献２は、中間データを、バンド等の複数領域に分割し、プリンタへ転送するシステムを開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−９８６３６号公報
【特許文献２】特開２００８−２６２２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ホストコンピュータ（以下、「ホスト」とも記述する）で生成された中間データのサイズが大きいため、プリンタの受け入れ条件を満たさなかった場合の対処方法に関して、以下のような課題がある。
【０００６】
特許文献１が開示する方法では、ホストはプレレンダリング完了を待たなければプリンタへデータを送信する事ができないので、プリンタの処理開始までに時間がかかる。また、プレレンダリングにより生成されたラスターデータは、元の中間データよりサイズが大きくなるので、送信データサイズを小さくするために非可逆圧縮を用いて圧縮することが考えられる。しかし、ラスターデータを圧縮してプリンタに送信と、プレレンダリングを行わない場合に比べて画質が低下する。
【０００７】
一方、特許文献２が開示するように、中間データを複数バンド（領域）に分割するシステムでは、以下のような課題がある。
【０００８】
図１３は、中間データを複数バンドに分割する処理を説明する図である。
特許文献２が開示するシステムを適用して、図１３（Ａ）に示すＰＤＬデータに対し、図１３（Ｂ）に示す所定高さのバンドに分割すると、Ｉｍｇ６のように、複数バンドに跨る画像に対しては、この画像を展開し、各バンドに合わせて分割する必要がある。したがって、バンド単位の中間データ生成に時間がかかる。
【０００９】
更に、例えば、プリンタの中間データの受信可能サイズが１０ＭＢであった場合を想定する。図１３（Ｂ）に示すバンドＢ４については、中間データのデータサイズは、１０ＭＢである。したがって、プリンタは、バンドＢ３のレンダリング後に、バンドＢ４のデータの受信開始・完了を待つ必要がある。その結果、バンドのデータ送信に時間がかかり、プリンタでの待ち時間が長くなる。
【００１０】
また、例えば、図１３（Ｃ）に示すように、ページ内の画像区切に合わせて、バンド分割する方法が考えられる。しかし、この方法では、バンドＢ１のように、バンドのサイズが極端に大きくなる場合がある。したがって、この場合には、バンドのサイズがプリンタの中間データの受信可能サイズを超えてしまい、ホストでのプレレンダリングが必要となる。その結果、中間データの生成、送信に時間がかかる。
【００１１】
本発明は、中間データのサイズが、この中間データに基づく描画処理を実行する画像形成装置の受け入れ条件を満たさない場合であっても、高速、かつ画質を低下させることのない描画処理を実現できる仕組みの提供を目的とする。
【課題を解決するための手段】
【００１２】
本発明の一実施形態の情報処理システムは、ページ記述データから中間データを生成する生成手段と、前記中間データのサイズが、当該中間データに基づく描画処理を実行する機能を有する画像処理手段による中間データの受け入れ条件を満たすかを判断する第１の判断手段と、前記中間データのサイズが前記受け入れ条件を満たさない場合に、前記中間データから画像を分離して当該画像の分離後の中間データと当該画像とを別個に前記画像処理手段に送信する特定の送信処理を実行するかを判断する第２の判断手段と、特定の送信処理を実行すると判断された場合に、前記中間データから画像を分離する分離手段と、前記画像の分離後の中間データと当該画像とを別個に前記画像処理手段に送信する送信手段とを備える。
【発明の効果】
【００１３】
本発明の一実施形態の情報処理システムによれば、中間データのサイズが、この中間データに基づく描画処理を実行する画像形成装置の受け入れ条件を満たさない場合であっても、高速、かつ画質を低下させることない描画処理を実現できる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態の情報処理システムの構成を示す図である。
【図２】情報処理システムの機能ブロック図の一例である。
【図３】ＰＤＬデータに基づく中間データの生成を説明する図である。
【図４】ディレイド送信対象画像の分離を説明する図である。
【図５】ホストコンピュータの動作処理を説明する図である。
【図６】ＰＤＬデータと中間データとを示す図である。
【図７】ディレイド送信対象の画像を特定可能にする処理を示す図である。
【図８】プレレンダリング後の中間データの例を説明する図である。
【図９】ディレイド送信可否判断処理を説明する図である。
【図１０】ディレイド送信可否判断の具体例である。
【図１１】バンド送信関連情報の一例である。
【図１２】プリンタによるレンダリング処理の例を説明する図である。
【図１３】中間データを複数バンドに分割する処理を説明する図である。
【発明を実施するための形態】
【００１５】
図１は、本実施形態の情報処理システムの構成を示す図である。
図１に示す情報処理システムは、ホストコンピュータ１０とプリンタ１１とを備える。ホストコンピュータ１０とプリンタ１１とは、インターネットやＬＡＮ（Local Area Network)等のネットワークを介して通信する。ホストコンピュータ１０は、ページ記述データ（ＰＤＬデータ）に基づいて生成される中間データをネットワークを介してプリンタ１１に送信する。プリンタ１１は、受信した当該中間データに基づく描画処理を実行する機能を有する画像処理装置である。
【００１６】
ホストコンピュータ１０は、制御部１０１、通信部１０２、記憶部１０３、入力部１０４、処理部１０５とを備える。また、プリンタ１１は、制御部１１１、通信部１１２、記憶部１１３、印刷エンジン１１４、処理部１１５を備える。
【００１７】
制御部１０１、１１１は、例えば、ＣＰＵを用いて構成される。制御部１０１、１１１は、それぞれ、ホストコンピュータ１０、プリンタ１１を統括制御する。通信部１０２、１１２は、例えば通信インタフェースを用いて構成され、ホストコンピュータとプリンタとの間の中間データの送受信を含む通信を行う。記憶部１０３、１１３は、例えば、ＲＯＭ、ＲＡＭ及びＨＤＤ等を用いて構成される。記憶部１０３、１１３は、それぞれ、ホストコンピュータ１０、プリンタ１１における、データ及びプログラム等を記憶する。記憶部１１３は、中間データの受信バッファも有する。
【００１８】
入力部１０４は、例えばキーボード、マウス等を用いて構成され、ユーザによるホストコンピュータ１０に対する入力操作を受け付ける。処理部１０５は、例えば制御部１０１と同様のＣＰＵ、または異なるＣＰＵ等を用いて構成され、入力部１０４からのユーザによる入力に従い、中間データの生成処理を行う。
【００１９】
処理部１１５は、例えば制御部１１１と同様のＣＰＵ、または異なるＣＰＵ等を用いて構成され、通信部１１２により受信した中間データのレンダリング（描画処理）を行う。出力部１１４は、例えば印刷エンジンを用いて構成され、処理部１１５で生成されたラスターデータに対し、例えばハーフトーン処理等の画像処理を施し、出力画像の生成を行い、出力する。
【００２０】
図２は、情報処理システムの機能ブロック図の一例である。
なお、以下の説明では、ＰＤＬデータを単にＰＤＬとも記述する。ホストコンピュータ１０は、ＵＩモジュール１１０２乃至レンダリングモジュール１１０９を備える。ページ記述データであるＰＤＬ１１０１がユーザによりＵＩモジュール１１０２に入力されると、ＵＩモジュール１１０２が、ＰＤＬ１１０１を記憶部１０３にＰＤＬ１１０３として格納し、プリンタ１１に処理の開始指示を送信する。
【００２１】
ＵＩモジュール１１０２は、さらに、プリンタ１１から、プリンタ１１の中間データ受信バッファサイズＳｍａｘと、プリンタ１１のレンダリング高さＨの情報を受信し、これらの情報をプリンタ情報１１０７として記憶部１０３に記憶する。レンダリング高さＨは、プリンタ１１によるレンダリング処理の対象となる中間データの領域の単位である。プリンタ１１は、レンダリング高さＨのバンド毎にレンダリングを実行する。ＰＤＬ１１０１は、ＰＤＬ、ＸＰＳといったページ記述言語で記述されている。中間データ生成モジュール１１０４は、ＰＤＬ１１０３に基づいて、中間データ１１０５を生成する。生成された中間データは、記憶部１０３に記憶される。
【００２２】
図３は、ＰＤＬデータに基づく中間データの生成を説明する図である。
図３（Ａ）に示すように、ＰＤＬ１１０１には、画像１２０２、テキスト１２０３、グラフィック１２０４等の描画オブジェクトが含まれる。
【００２３】
図２に戻って、中間データ生成モジュール１１０４は、記憶部１０３に格納されたＰＤＬ１１０３を解析する。中間データ生成モジュール１１０４は、この解析により、ＰＤＬ１１０３に含まれる描画オブジェクトを取得し、プリンタ１１でレンダリングし易い形式である中間データ１１０５を作成し、記憶部１０３に格納する。
【００２４】
図３（Ｂ）は、中間データ１１０５を示す。
中間データ１１０５は、ページ内の描画オブジェクトの描画位置に関するレイアウト情報と、レイアウト情報が示す各領域の塗りに関する塗り情報とを含む。レイアウト情報には、例えば、図３（Ｃ）に示すように、各描画領域の描画位置座標、描画サイズ、塗り情報Ｉｎｄｅｘ、描画領域のエッジ座標配列が含まれる。
【００２５】
また、塗り情報には、例えば、図３（Ｄ）に示すように、塗り情報Ｉｎｄｅｘに対応するＩｎｄｅｘと、塗りタイプ、塗りに対する色値（ＲＧＢ値）とが含まれる。塗り情報には、更に、塗りタイプが画像であった場合には、画像サイズ、画像削除バンド、画像データの格納場所、画像データが含まれる。画像削除バンドは、プリンタ１１でのレンダリングにおいて、どのバンドのレンダリング終了時点で画像を削除できるかを示す。
【００２６】
図２に戻り、中間データ送信モジュール１１０６は、中間データ１１０５をプリンタ１１へ直ちに送信、画像を分離して送信、ホストコンピュータ１０でレンダリングして送信のうち、いずれの送信処理を実行するかを判断する。この判断手順について説明する。まず、中間データ送信モジュール１１０６は、中間データ１１０５の記憶部１０３での格納サイズＳ１を取得する。中間データ送信モジュール１１０６は、プリンタ情報１１０７に含まれる受信バッファサイズＳｍａｘを用いて、Ｓ１≦Ｓｍａｘであるかを判断する。Ｓ１≦Ｓｍａｘである場合、中間データ送信モジュール１１０６は、中間データ１１０５をプリンタ１１へ直ちに送信すると判断する。Ｓ１＞Ｓｍａｘである場合、中間データ送信モジュール１１０６は、中間データ１１０５に含まれる各画像の位置情報、サイズ情報を取得し、Ｓｍａｘとプリンタ情報１１０７に含まれるレンダリング高さＨを用いて、ディレイド送信可否判断処理を実行する。
【００２７】
ディレイド送信可否判断処理は、中間データ１１０５に含まれる画像データの一部、又は全部を分離して、別々に送信すれば、プリンタ１１が中間データに基づく描画処理を実行できるかを判断する処理である。別々に送信とは、画像データの分離後の中間データと、分離された画像データとを別々に送信する特定の送信処理を実行することである。本実施形態では、上記の特定の送信処理をディレイド送信と記述する。
【００２８】
ディレイド送信を実行すればプリンタ１１が中間データに基づく描画処理を実行できると判断した場合、中間データ送信モジュール１１０６は、ディレイド送信が可能であるので、ディレイド送信を実行すると判断する。そして、中間データ送信モジュール１１０６は、中間データ１１０５から、画像データをディレイド送信対象画像１１０８として分離し、記憶部１０３に格納する。ディレイド送信を実行しても、プリンタ１１が中間データに基づく描画処理を実行できないと判断した場合、中間データ送信モジュール１１０６は、ディレイド送信が可能でないので、ディレイド送信を実行しないと判断する。
【００２９】
図４は、ディレイド送信対象画像の分離を説明する図である。
例えば、図３（Ａ）に示すＰＤＬ１１０１に対して、画像１２０２がディレイド送信対象画像と判断されたとする。ＰＤＬ１１０１から画像１２０２が分離された後の中間データ１１０５では、図４（Ａ）、（Ｃ）に示すように、画像１２０２の塗りタイプがディレイド送信対象画像に変更される。
【００３０】
また、ディレイド送信対象画像については、塗り情報に、プリンタ１１がレンダリング開始前にディレイド送信要求を行うバンドが、ディレイド送信バンドとして情報付加される。ここで、中間データ１１０５のレイアウト情報詳細は、図３（Ｃ）と同様である。
【００３１】
図４（Ｂ）に示すように、ディレイド送信対象画像１１０８は、ヘッダ部と画像データとを有する。図４（Ｄ）は、ヘッダ部に格納される情報（ヘッダ情報）を示す。ヘッダ部には、ディレイド送信対象画像のＩｎｄｅｘ一覧と、各画像のサイズと、画像削除バンド、画像データにアクセスするための画像データの格納場所が格納される。
【００３２】
図２に戻って、ディレイド送信可否判断処理を行った結果、ディレイド送信を実行しないと判断された場合には、レンダリングモジュール１１０９が、中間データ１１０５をレンダリングし、再度中間データの形式に変換し、記憶部１０３に格納する。また、中間データ送信モジュール１１０６は、通信部１０２を用いて、中間データ１１０５をプリンタ１１へ送信する。
【００３３】
ディレイド送信対象画像１１０８がある場合は、中間データ送信モジュール１１０６は、プリンタ１１からのディレイド送信要求に応じて、ディレイド送信対象画像１１０８をプリンタ１１に送信する。ディレイド送信要求は、ディレイド送信対象画像の送信を求める要求である。
【００３４】
図２に戻って、プリンタ１１は、中間データ受信モジュール１１１１乃至印刷エンジン１１６を備える。中間データ受信モジュール１１１１は、ホストコンピュータ１０のＵＩモジュールから、処理の開始指示を受信する。そして、中間データ受信モジュール１１１１は、中間データ受信バッファサイズＳｍａｘ、レンダリング高さＨの情報を含むプリンタ情報１１１７をホストコンピュータ１０に送信する。中間データ受信バッファサイズＳｍａｘは、プリンタ１１のハードウェアスペック等により予め定められている。その後、中間データ受信モジュール１１１１は、ホストコンピュータ１０の中間データ送信モジュール１１０６から中間データを受信して、中間データ１１１２として記憶部１１３に格納する。
【００３５】
また、中間データ受信モジュール１１１１は、中間データ１１１２の塗り情報に基づいて、ディレイド送信対象画像があるかを判断する。塗り情報の塗りタイプにディレイド送信画像が設定されている場合、中間データ受信モジュール１１１１は、ディレイド送信対象画像があると判断する。ディレイド送信対象画像があると判断した場合、中間データ受信モジュール１１１１は、レンダリングモジュール１１１４の要求に基づいて、ホストコンピュータ１０にディレイド送信要求を行う。そして、ディレイド送信要求に応じたホストコンピュータ１０の中間データ送信モジュール１１０６からディレイド送信対象画像１１１３を受信し、記憶部１１３に格納する。
【００３６】
レンダリングモジュール１１１４は、記憶部１１３に格納された、中間データ１１１２とディレイド送信対象画像１１１３とに基づいて、レンダリング高さＨのバンド毎に、レンダリングを実行して、ラスターデータを生成する。レンダリングモジュール１１１４は、生成したラスターデータ１１１５を記憶部１１３に格納する。印刷エンジン１１１６は、ラスターデータ１１１５に対してハーフトーン処理等の画像処理を実行し、出力画像の生成を行う。
【００３７】
図５は、本実施形態におけるホストコンピュータの動作処理を説明するフローチャートである。
まず、ホストコンピュータ１０において、入力部１０４を介してＵＩモジュール１１０２にＰＤＬが入力され、描画が指示され処理が開始される。続いて、ＵＩモジュール１１０２が、プリンタ１１に対して処理の開始指示を行う（ステップＳ２０１）。
【００３８】
次に、ＵＩモジュール１１０２が、通信部１０２を介して、プリンタ１１の中間データ受信バッファサイズＳｍａｘ、プリンタ１１のレンダリング高さＨを含むプリンタ情報１１０７（図２）を取得する（ステップＳ２０２）。
【００３９】
次に、中間データ生成モジュール１１０４が、ＵＩモジュール１１０２からＰＤＬを受信する（ステップＳ２０３）。中間データ生成モジュール１１０４が、ＰＤＬを解析する（ステップＳ２０４）。続いて、中間データ生成モジュール１１０４が、ＰＤＬから処理対象ページの１ページ分の中間データＭ１を生成する（ステップＳ２０５）。
【００４０】
次に、中間データ送信モジュール１１０６が、中間データのサイズが、プリンタ１１による中間データの受け入れ条件を満たすかを判断する第１の判断手段として機能する。具体的には、中間データ送信モジュール１１０６は、中間データＭ１のサイズＳ１と、プリンタ１１の中間データ受信バッファのサイズＳｍａｘとを比較し、中間データＭ１がプリンタ１１で受信可能かを判断する（ステップＳ２０６）。Ｓ１＜＝Ｓｍａｘである場合、中間データ送信モジュール１１０６は、中間データＭ１がプリンタ１１で受信可能である（受け入れ条件を満たす）と判断して、処理がステップＳ２０７に進む。そして、中間データ送信モジュール１１０６が、通信部１０２を介して、処理対象ページの中間データＭ１をプリンタ１１へ送信し（ステップＳ２０７）、処理がステップＳ２１７に進む。
【００４１】
Ｓ１＞Ｓｍａｘである場合、中間データ送信モジュール１１０６は、中間データＭ１がプリンタ１１で受信可能でない（受け入れ条件を満たさない）と判断して、処理がステップＳ２０８に進む。そして、中間データ送信モジュール１１０６が、中間データに含まれる画像データのサイズ、レンダリング時の当該画像データのページ内での描画位置、描画サイズに関する情報を含む画像情報を取得する（ステップＳ２０８）。中間データ送信モジュール１１０６は、中間データに含まれるレイアウト情報と塗り情報とに基づいて上記画像情報を取得する。
【００４２】
次に、中間データ送信モジュール１１０６が、取得した画像情報と、Ｓｍａｘとに基づいて、ディレイド送信可否判断処理を実行する第２の判断手段として機能する（ステップＳ２０９）。ディレイド送信可否判断処理は、ディレイド送信すればプリンタ１１が中間データに基づく描画処理を実行できるかを判断する処理である。すなわち、中間データ送信モジュール１１０６は、中間データＭ１から画像を分離し、ディレイド送信すれば、プリンタ１１で中間データを受信でき、処理可能であるかを判断する。ディレイド送信すれば、プリンタ１１で中間データを受信でき、処理可能である場合、中間データ送信モジュール１１０６は、ディレイド送信を実行すると判断し、処理がステップＳ２１０に進む。ディレイド送信可否判断処理の詳細は図９を用いて後述する。中間データ送信モジュール１１０６が、中間データＭ１からディレイド送信対象画像を分離する（ステップＳ２１０）。そして、処理がステップＳ２１１に進む。
【００４３】
ディレイド送信しても、プリンタ１１で中間データを受信できず、処理可能でない場合、中間データ送信モジュール１１０６は、ディレイド送信を実行しないと判断し、処理がステップＳ２１５に進む。
【００４４】
図６は、ＰＤＬデータと中間データとを示す図である。
例えば、図６（Ａ）に示す画像Ｉｍｇ１乃至Ｉｍｇ８を含む入力ＰＤＬから、図５のステップＳ２０５において図６（Ｂ）に示す中間データＭ１が生成されたものとする。また、図５のステップＳ２０９において、画像Ｉｍｇ４、Ｉｍｇ５、Ｉｍｇ８がディレイド送信対象の画像に決定された場合を想定する。この場合、中間データ送信モジュール１１０６は、以下に説明するディレイド送信対象画像を特定可能にするための処理を実行する。
【００４５】
図７は、ディレイド送信対象画像を特定可能にするための処理を説明する図である。
分離前の中間データＭ１は、図７（Ａ）に示すディレイド送信対象画像の分離後の中間データＭ２と、図７（Ｂ）のディレイド送信対象画像ＤＩｍｇ１、ＤＩｍｇ２、ＤＩｍｇ３に分かれる。中間データＭ１からのディレイド送信対象画像の分離処理により、分離後の中間データＭ２のサイズを削減することができる。
【００４６】
中間データＭ２が含む情報のうち、Ｉｍｇ４、Ｉｍｇ５、Ｉｍｇ８の塗り情報には、ディレイド送信対象画像ＤＩｍｇ１、ＤＩｍｇ２、ＤＩｍｇ３であることを示す塗りタイプが設定される。また、分離後のディレイド送信対象画像については、ディレイド送信対象画像を特定する情報として、中間データＭ２内の塗り情報のＩｎｄｅｘに対応するＩｎｄｅｘが画像データに関連付けられている。
【００４７】
図５の説明に戻る。ステップＳ２１１において、中間データ送信モジュール１１０６が、処理対象ページの分離後の中間データＭ２を、通信部１０２を介してプリンタ１１へ送信する。そして、中間データ送信モジュール１１０６が、プリンタ１１からディレイド送信要求を受信する（ステップＳ２１３）。そして、中間データ送信モジュール１１０６が、ディレイド送信要求に含まれるＩｎｄｅｘに対応するディレイド送信対象画像（例えばＤＩｍｇ１）をプリンタ１１へ送信（ディレイド送信）する（ステップＳ２１３）。
【００４８】
次に、中間データ送信モジュール１１０６が、処理対象ページにおけるディレイド送信が完了したか、つまり、処理対象ページにおける未送信のディレイド送信対象画像がないかを判断する（ステップＳ２１４）。ディレイド送信が完了した場合は、処理がステップＳ２１７に進む。ディレイド送信が完了していない場合は、処理がステップＳ２１２に戻る。
【００４９】
ステップＳ２１７において、中間データ送信モジュール１１０６が、入力ＰＤＬの全ページに対して、中間データの送信処理が完了したかを判断する。全ページに対して中間データの送信処理が完了した場合は、処理が終了する。中間データの送信処理が完了していないベージがある場合は、処理がステップＳ２０４に戻る。そして、次のページに対し、ステップＳ２０４乃至Ｓ２１７の処理を繰り返す。
【００５０】
ステップＳ２１５において、レンダリングモジュール１１０９が、処理対象ページの中間データＭ１に対してレンダリング（プレレンダリング）を実行して、処理対象ページのラスターデータ（画像）を生成する。そして、レンダリングモジュール１１０９が、このラスターデータを、プリンタ１１で受信可能なサイズとなるように非可逆圧縮を含む圧縮方法により圧縮し、中間データの形式に変換する（ステップＳ２１６）。そして、この中間データを処理対象ページの中間データＭ１として、処理が、ステップＳ２０６に戻る。なおレンダリングモジュール１１０９は、Ｓ２１５において処理対象ページのプレレンダリングの実行回数を記憶しておき、Ｓ２１６においてその実行回数に応じたパラメータで処理対象ページのラスターデータを非可逆圧縮しても良い。このパラメータは、実行回数が多くなるにつれてラスターデータの圧縮率が高くなるようなパラメータである。
【００５１】
図８は、プレレンダリング後の中間データの例を説明する図である。
図８（Ａ）は、プレレンダリング後の中間データを示す。この中間データは、例えば、１つの領域を有するページのレイアウトに係る情報と、１つの塗りに係る塗り情報（Ｉｍｇ９）を持つ。図８（Ｂ）に示すように、塗り情報Ｉｍｇ９は、プレレンダリングにより生成され、圧縮された１ページ分の画像である。
【００５２】
図９は、図５のステップＳ２０９における、ディレイド送信可否判断処理を説明するフローチャートである。
説明の前提として、図６（Ａ）に示す入力ＰＤＬから、図５のステップＳ２０５において、図６（Ｂ）に示す中間データＭ１が生成されたものとする。この中間データＭ１のサイズＳ１は、図１０（Ａ）に示すように、Ｓ１＝「レイアウト情報（画像以外の塗り情報含む）」＋「画像データ」＝２＋２０＝２２ＭＢであるものとする。また、プリンタ１１の受信バッファのサイズＳｍａｘは、Ｓｍａｘ＝１０ＭＢとする。中間データ送信モジュール１１０６は、図１０（Ｂ）に示すように、プリンタ１１でのレンダリング単位であるレンダリング高さＨのバンド領域（Ｂ１〜Ｂ５）毎にディレイド送信可否判断処理を行う。そして、中間データ送信モジュール１１０６は、図１１に示すような、バンド毎のデータ送信に関する情報（バンド送信関連情報）を生成する。
【００５３】
まず、図９のステップＳ６０１において、中間データ送信モジュール１１０６が、各バンドのレンダリングに必要な画像（必要画像）、初めて必要になる画像（開始画像）、不要になる画像（終了画像）を生成して、バンド送信関連情報に設定する。中間データ送信モジュール１１０６は、図５のステップＳ２０８において取得された画像情報と、レンダリング高さＨとに基づいて、必要画像、開始画像、終了画像を生成する。
【００５４】
次に、図９のステップＳ６０２において、中間データ送信モジュール１１０６が、ｎ＝１に設定する。そして、中間データ送信モジュール１１０６が、以下のステップＳ６０３乃至Ｓ６０５の処理によって、バンドＢ１において送信する中間データ、バンドＢ２以降の各バンドでディレイド送信する画像（ディレイド送信対象画像）を選択する。
【００５５】
ステップＳ６０３において、中間データ送信モジュール１１０６が、各バンド開始前の使用バッファサイズ、送信レイアウト情報サイズ、受信バッファ空き容量を算出する。各バンド開始前の使用バッファサイズは、各バンドでの送信開始前に使用されているバッファのサイズである。送信レイアウト情報サイズは、各バンドで送信するレイアウト情報のサイズである。受信バッファ空き容量は、各バンドでのプリンタ１１の受信バッファの空き容量である。
【００５６】
例えば、先頭バンド（Ｂｎ：ｎ＝１）のレンダリングに必要なデータは、中間データとして送信される。したがって、プリンタ１１における中間データ１１１２の受信前の受信バッファの使用バッファサイズは０ＭＢである。
【００５７】
また、バンドＢ１では、中間データ送信モジュール１１０６は、１ページ分のレイアウト情報と画像データを除く塗り情報（２ＭＢ）を送信レイアウト情報として設定する。上記使用バッファサイズとレイアウト情報と塗り情報とを除く受信バッファの空き容量は、受信バッファサイズＳｍａｘから、使用バッファサイズ、送信レイアウト情報と塗り情報のサイズを引いたサイズ８ＭＢ（＝Ｓｍａｘ−０−２）となる。
【００５８】
また、バンドＢ２以降のバンドでは、使用バッファサイズは、前バンドＢｎ−１の使用バッファサイズと、前バンドの送信データサイズの和から、前バンドでの終了画像のサイズを引いたサイズとする。例えば、バンドＢ２では、Ｂ１において既にレイアウト情報、Ｉｍｇ１、Ｉｍｇ２、Ｉｍｇ６を送信しており、Ｂ１でＩｍｇ１が終了画像となる。したがって、バンドＢ２に対応する使用バッファサイズ＝レイアウト情報＋（Ｉｍｇ１＋Ｉｍｇ２＋Ｉｍｇ６）−Ｉｍｇ１＝７ＭＢとなる。
【００５９】
次に、中間データ送信モジュール１１０６が、Ｂｎバンドの開始画像（Ｂ１の場合はＩｍｇ１、６）を送信画像として選択する（ステップＳ６０４）。続いて、中間データ送信モジュール１１０６が、次のバンド（Ｂｎ＋１）以降の開始画像を、送信画像の合計データサイズが受信バッファ空き容量よりも小さくなる範囲で、送信画像として選択する（ステップＳ６０５）。具体的には、ｎ＝１の場合において、次のバンドＢ２に含まれる開始画像Ｉｍｇ２を送信画像とした場合を想定する。中間データ送信モジュール１１０６は、送信画像の合計サイズ（７ＭＢ＝Ｉｍｇ１＋Ｉｍｇ６＋Ｉｍｇ２）が、受信バッファ空き容量（８ＭＢ）以下となるかを判断する。そして、受信バッファ空き容量以下の場合、中間データ送信モジュール１１０６は、画像Ｉｍｇ２を送信画像として選択する。中間データ送信モジュール１１０６は、上記の方法でＢｎ＋１以降のバンドに含まれる画像を順（Ｂｎ＋１，Ｂｎ＋２，…）に判断し、バンド内の全ての開始画像を送信画像に含めることができなくなった時点で送信画像の選択処理を終了する。
【００６０】
ステップＳ６０５の送信画像の選択処理において、１つのバンドに複数の開始画像が含まれていた場合、中間データ送信モジュール１１０６は、画像サイズの大きい画像から順に選択処理を行う。また、各画像サイズは、画像が複数バンドに跨っているかに関わらず、各画像全体のサイズとする。
【００６１】
送信画像の選択が完了すると、中間データ送信モジュール１１０６は、送信レイアウト情報とステップＳ６０４、Ｓ６０５で選択された送信画像と送信データとし、該データの合計データサイズを送信データサイズとしてバンド送信関連情報に設定する。
【００６２】
Ｂ２以降のバンドでは、バンドＢ１で中間データとして１ページ分のレイアウト情報が送信されるので、レイアウト情報を送信する必要は無く、送信データサイズは送信画像の合計データサイズとなる。また、Ｂ２以降のバンドでは、中間データ送信モジュール１１０６は、送信画像選択時に、以前のバンドで既に送信画像として含まれた画像は送信画像には含めない。
【００６３】
次に、中間データ送信モジュール１１０６が、ページ内の最終バンド（Ｎバンド）まで処理が完了したかを判断する。Ｎバンドまで処理が完了していない場合は、処理がステップＳ６０３に戻る。Ｎバンドまで処理が完了した場合は、処理がステップＳ６０７に進む。ステップＳ６０２〜Ｓ６０６までの処理により、図１１に示すバンド送信関連情報が生成される。
【００６４】
次に、中間データ送信モジュール１１０６が、ディレイド送信が可能であるかを判断する（ステップＳ６０７）。具体的には、中間データ送信モジュール１１０６が、バンド送信関連情報に基づいて、各バンドの送信データサイズ＜＝Ｓｍａｘ、かつ、全ての画像が送信画像に含まれているという条件が満たされているかを判断する。この判断の結果、条件が満たされている場合、中間データ送信モジュール１１０６が、ディレイド送信可能と判断する。そして、中間データ送信モジュール１１０６が、バンドＢ１での送信レイアウト情報と送信画像を中間データ１１１２とする。また、中間データ送信モジュール１１０６は、バンドＢ２バンドについては、各バンドに対応する送信画像を、当該バンドで送信するディレイド送信対象画像とする。そして、処理が図５のステップＳ２０９に進む。上記条件を満たしていない場合は、中間データ送信モジュール１１０６が、ディレイド送信を不可と判断し、処理が図５のステップＳ２１４に進む。また、ステップＳ６０７では、中間データ送信モジュール１１０６は、さらに、各画像に対し、終了画像となっているバンドを、塗り情報の画像削除バンドとする。
【００６５】
図１２は、プリンタによるレンダリング処理の例を説明するフローチャートである。
説明の前提として、プリンタ１１のレンダリングモジュール１１１４は、中間データを、レンダリング高さＨのバンド（図１０（Ｂ）のＢ１〜Ｂ５）毎にレンダリングを実行するものとする。
【００６６】
まず、プリンタ１１の中間データ受信モジュール１１１１が、通信部１１２を介して、ホストコンピュータ１０からの処理開始指示を受信する。続いて、中間データ受信モジュール１１１１が、ホストコンピュータ１０から１ページ分の中間データを受信する（ステップＳ３０１）。
【００６７】
次に、レンダリングモジュール１１１４が、各バンドのレンダリング前に、ステップＳ３０１で受信された中間データから、処理対象のバンドでディレイド送信要求を行う画像があるかを判断する。具体的には、レンダリングモジュール１１１４は、中間データの塗り情報を参照し、当該バンドに対応するディレイド送信バンドが設定されている場合に、当該バンドでディレイド送信要求を行う画像があると判断して、処理がステップＳ３０５に進む。当該バンドに対応するディレイド送信バンドの情報が設定されていない場合、レンダリングモジュール１１１４は、当該バンドでディレイド送信要求を行う画像がないと判断して、処理がステップＳ３０３に進む。
【００６８】
ステップＳ３０３において、レンダリングモジュール１１１４が、処理対象のバンドに対応する中間データをレンダリングし、このバンド分のラスターデータを出力部１１４に送信する。
【００６９】
次に、１バンド分のレンダリングが完了すると、処理がステップ３０４に進み、レンダリングモジュール１１１４が、塗り情報（図４）を参照して、処理対象のバンドが画像削除バンドとなっているかを判断する。処理対象のバンドが画像削除バンドとなっている場合、レンダリングモジュール１１１４は、このバンドに対応する画像を受信バッファから削除する（ステップＳ３０４）。この削除処理によって、受信バッファの使用サイズが削減される。この時、レンダリングモジュール１１１４は、削除した画像データについて、塗り情報内の当該画像データの格納場所に、当該画像データが既に削除されたことを示す値（例えばＮＵＬＬ）を設定する。そして、処理がステップＳ３１０に進む。
【００７０】
ステップＳ３０５において、中間データ受信モジュール１１１１が、通信部１１２を介して、ホストコンピュータ１０に対し、ディレイド送信対象画像のＩｎｄｅｘを含むディレイド送信要求を行う。図７に示すように、中間データ１１１２には、ディレイド送信対象画像の実画像データを除く、１ページ分のオブジェクトの描画位置係るレイアウト情報と、各領域の塗り情報が含まれている。したがって、レンダリングモジュール１１１４は、中間データ１１１２に基づいて、ディレイド送信対象画像データを必要としない領域のレンダリングを実行することが可能である。ステップＳ３０６において、レンダリングモジュール１１１４は、バンド内のディレイド送信対象画像を含まない領域の一部、又は全部に対し、ディレイド送信対象画像の受信完了を待たずに、先行してレンダリングをする（先行レンダリングを実行する）。
【００７１】
例えば、図１０（Ｂ）に示すバンドＢ４において、Ｉｍｇ７がディレイド送信対象画像とすると、プリンタ１１がＩｍｇ７以外の領域については既にデータを受信している。したがって、レンダリングモジュール１１１４は、Ｉｍｇ７のデータ受信を待たずにレンダリングを開始する。所定のバンド単位に分割する従来の手法では、バンドＢ４に対し、バンドＢ４全体の中間データを受信する必要があった。しかし、本実施形態のシステムが実行するディレイド送信によれば、プリンタ１１は、バンドＢ４の処理については、ホストコンピュータ１０から、ディレイド送信対象画像Ｉｍｇ７のデータのみを受信すればよい。
【００７２】
上記ステップ３０６では、さらに、中間データ受信モジュール１１１１が、先行レンダリングと並行して、ホストコンピュータ１０から送信されるディレイド送信対象画像を受信し、受信バッファに格納する。
【００７３】
次に、レンダリングモジュール１１１４が、ディレイド送信対象画像の受信が完了したかを判断する（ステップＳ３０７）。ディレイド送信対象画像の受信が完了した場合は、処理がステップＳ３０９に進む。そして、レンダリングモジュール１１１４が、残る領域のレンダリングを行い（ステップＳ３０９）、処理がステップ３０４に進む。
【００７４】
ディレイド送信対象画像が受信が完了していない場合は、処理がステップＳ３０８に進む。そして、レンダリングモジュール１１１４は、ディレイド送信対象画像の受信完了を待ち（ステップＳ３０８）、受信完了後に処理がステップＳ３０９に進む。なお、ディレイド送信対象画像が、バンドのレンダリングに必要無い場合は、上記ステップＳステップ３０６において当該バンドのレンダリングは完了する。
【００７５】
ステップＳ３１０において、レンダリングモジュール１１１４が、１ページ分のレンダリングが完了したかを判断する。１ページ分のレンダリングが完了していない場合は、処理がステップＳ３０２に戻り、次バンドに対して上記ステップ３０２〜Ｓ３１０の処理が繰り返される。１ページ分のレンダリングが完了している場合は、処理がステップ３１１に進む。
【００７６】
次に、レンダリングモジュール１１１４が、入力ＰＤＬの全ページ分の処理が完了したかを判断する。処理が完了していないページがある場合は、処理がステップＳ３０１に戻る。入力ＰＤＬの全ページ分の処理が完了した場合は、処理が終了する。
【００７７】
本実施形態の情報処理システムによれば、入力ＰＤＬから生成された中間データ内に含まれる画像を分離し、当該画像を中間データとは別個に送信することにより、中間データのサイズをプリンタの中間データ受信バッファより小さくすることが可能となる。また、プリンタで不要になった中間データを適宜削除し受信バッファの使用サイズを削減することにより、分離された画像も該画像の使用までには受信可能となる。そのため、ホストでプレレンダリングを行う必要が無くなり、中間データの生成、送信開始までの時間を高速化することが出来る。更に、プレレンダリング後のラスターデータの非可逆圧縮による、画質の低下も回避できる。
【００７８】
また、本実施形態の情報処理システムは、分離画像を除く１ページ分の中間データを最初に送信するので、プリンタは、分離画像の受信前に、分離画像を除く領域の処理を開始することができる。したがって、各バンドのレンダリング開始迄の時間を高速化することが可能である。さらに、プリンタは、分離画像を除く中間データを受信した後は、各バンドに含まれる分離画像データのみを受信すればよいので、データ送受信にかかる時間も高速化できる。
【００７９】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、システム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８０】
１０  ホストコンピュータ
１１  プリンタ
【図１】
2015184736.tif 000003
【図２】
2015184736.tif 000004
【図３】
2015184736.tif 000005
【図４】
2015184736.tif 000006
【図５】
2015184736.tif 000007
【図６】
2015184736.tif 000008
【図７】
2015184736.tif 000009
【図８】
2015184736.tif 000010
【図９】
2015184736.tif 000011
【図１０】
2015184736.tif 000012
【図１１】
2015184736.tif 000013
【図１２】
2015184736.tif 000014
【図１３】
2015184736.tif 000015