(57)【特許請求の範囲】
【請求項１】
第１のデータを第２のデータに変換する複数の変換手段と、
前記第１のデータに付加されている情報に基づいて、前記第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択手段と、
前記第２のデータを用いて印刷を行う印刷手段と、
を有し、
前記選択手段は、複数の分割オブジェクトに分割された１つのオブジェクトについて、前記第１のデータに付加されている情報に特定の情報が含まれている場合、前記複数の分割オブジェクトの第１のデータの変換に１つの変換手段を割り当てることを特徴とする画像形成装置。
【請求項２】
前記第１のデータは、印刷装置制御言語で記述されていることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記第１のデータは、
１つのオブジェクトを構成する前記複数の分割オブジェクトを特定する分割オブジェクト情報と、
前記複数の分割オブジェクト間の関連性を示すグループ情報と、
を含み、
前記選択手段は、前記グループ情報に基づいて前記１又は２以上の変換手段の選択を行うことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記グループ情報に基づいて、前記複数の分割オブジェクトを結合してオブジェクトを生成する結合手段を有することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記特定の情報は、前記複数の分割オブジェクトが、前記オブジェクトのクリップ処理により生成されたことを示すことを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項６】
前記特定の情報は、前記オブジェクトが、文字であることを示すことを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項７】
前記特定の情報は、前記オブジェクトが、グラデーションパターン又はタイルパターンで描かれたものであることを示すことを特徴とする請求項１乃至４の何れか１項に記載の画像形成装置。
【請求項８】
前記複数の分割オブジェクトのそれぞれは、複数の領域のそれぞれに対応するように、前記複数の領域の境界に沿って前記１つのオブジェクトが分割されることで得られ、
分割オブジェクトの前記変換の度に、該変換の対象となった分割オブジェクトに対応する領域と該変換を行った変換手段との関係を示す情報を保持する情報保持手段を有し、
前記選択手段は、
処理対象の分割オブジェクトの前記変換における前記変換手段の選択に際して、前記情報保持手段により保持されている情報を参照し、前記処理対象の分割オブジェクトに対応する領域が、直前に変換された分割オブジェクトに対応する領域である場合には、該直前の変換を行った変換手段を選択し、それ以外の場合には、残りの変換手段から選択することを特徴とする請求項１乃至７の何れか１項に記載の画像形成装置。
【請求項９】
アプリケーションからの描画命令で示されたオブジェクトを所定の領域に合わせて複数の分割オブジェクトに分割するオブジェクト分割手段と、
前記オブジェクト分割手段により分割されたオブジェクトに関する印刷装置制御言語で記述されたデータを生成する生成手段と、
前記複数の分割オブジェクト間の関連性を示すグループ情報を前記データに付加する付加手段と、
を有することを特徴とする情報処理装置。
【請求項１０】
前記所定の領域は、画像形成装置から送信される情報、または、所定の値に基づいて決定されることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記付加手段は、前記オブジェクト分割手段が前記オブジェクトのクリップ処理により前記分割を行った場合に、その旨の情報を前記グループ情報に含めることを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記付加手段は、前記オブジェクトが文字である場合に、その旨の情報を前記グループ情報に含めることを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１３】
前記付加手段は、前記オブジェクトがグラデーションパターン又はタイルパターンで描かれたものである場合に、その旨の情報を前記グループ情報に含めることを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１４】
アプリケーションからの描画命令で示されたオブジェクトを所定の領域に合わせて複数の分割オブジェクトに分割するオブジェクト分割手段と、
前記オブジェクト分割手段により分割されたオブジェクトに関する印刷装置制御言語で記述された第１のデータを生成する生成手段と、
前記複数の分割オブジェクト間の関連性を示すグループ情報を前記第１のデータに付加する付加手段と、
前記第１のデータを第２のデータに変換する複数の変換手段と、
前記第１のデータに付加されているグループ情報に基づいて、当該第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択手段と、
前記第２のデータを用いて印刷を行う印刷手段と、
を有し、
前記選択手段は、前記グループ情報に特定の情報が含まれている場合、当該第１のデータの変換に１つの変換手段を割り当てることを特徴とする画像形成システム。
【請求項１５】
第１のデータを第２のデータに変換する複数の変換手段を備えた画像形成装置を用いた画像形成方法であって、
前記第１のデータに付加されている情報に基づいて、前記第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択ステップと、
前記第２のデータを用いて印刷を行う印刷ステップと、
を有し、
前記選択ステップは、複数の分割オブジェクトに分割された１つのオブジェクトについて、前記第１のデータに付加されている情報に特定の情報が含まれている場合、前記複数の分割オブジェクトの第１のデータの変換に１つの変換手段を割り当てる割り当てステップを有することを特徴とする画像形成方法。
【請求項１６】
アプリケーションからの描画命令で示されたオブジェクトを所定の領域に合わせて複数の分割オブジェクトに分割するオブジェクト分割ステップと、
前記オブジェクト分割ステップにおいて分割したオブジェクトに関する印刷装置制御言語で記述されたデータを生成する生成ステップと、
前記複数の分割オブジェクト間の関連性を示すグループ情報を前記データに付加する付加ステップと、
を有することを特徴とする情報処理方法。
【請求項１７】
第１のデータを第２のデータに変換する複数の変換手段を備えた画像形成装置の制御をコンピュータに行わせるプログラムであって、
前記コンピュータに、
前記第１のデータに付加されている情報に基づいて、前記第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択ステップと、
前記第２のデータを用いて印刷を行う印刷ステップと、
を実行させ、
前記選択ステップは、複数の分割オブジェクトに分割された１つのオブジェクトについて、前記第１のデータに付加されている情報に特定の情報が含まれている場合、前記複数の分割オブジェクトの第１のデータの変換に１つの変換手段を割り当てる割り当てステップを有することを特徴とするプログラム。
【請求項１８】
コンピュータに、
アプリケーションからの描画命令で示されたオブジェクトを所定の領域に合わせて複数の分割オブジェクトに分割するオブジェクト分割ステップと、
前記オブジェクト分割ステップにおいて分割したオブジェクトに関する印刷装置制御言語で記述されたデータを生成する生成ステップと、
前記複数の分割オブジェクト間の関連性を示すグループ情報を前記データに付加する付加ステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速の印刷処理に好適な画像形成装置及び画像形成システム等に関する。
【背景技術】
【０００２】
セントロニクスインタフェース等のパラレル通信手段又はネットワーク通信手段を介して情報処理装置と印刷装置とが接続されて構成された種々の印刷システムが提案されている。このような印刷システムでは、ホストコンピュータ等の情報処理装置はプリンタドライバを用いて、アプリケーションからＯＳを介して依頼された描画データ（印刷命令）を印刷装置の解釈可能な印刷データに変換して印刷装置に送信する。印刷装置は、受信した印刷データを解釈してレンダリング（ラスタライズ）を行って画像を生成し、プリンタエンジンを用いて出力する。ここで、印刷データは複数種類のオブジェクトの集合で構成され、そのオブジェクトとしてはイメージ、テキスト、グラフィック等がある。
【０００３】
このような印刷システムにおける印刷時の画像生成に要する時間を削減する有効な方法として、複数の描画処理を並列に行うという方法がある。例えば、特許文献１には、入力された印刷データを所定のバンド数に分割して、それぞれのバンドでの描画処理を複数のプロセッサで並列実行する電子印刷装置が開示されている。特許文献２には、交差するオブジェクトをグループ化して、グループごとに描画処理をプロセッサに割り当てて並列実行する画像形成装置及び描画処理方法が開示されている。
【０００４】
【特許文献１】特開平１０−５８７７０号公報
【特許文献２】特開２００６−３３１１９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された技術のように、所定の領域に印刷データを分割する場合、各領域でのデータの複雑度（含まれる描画オブジェクト数の偏り）によって各領域での描画処理に要する時間にばらつきが生じることがある。この結果、処理の並列性が変動してしまう。そして、複雑度の高いバンドでの描画処理時間により、全体の処理時間が影響を受けるという問題が生じることがある。また、バンド単位にオブジェクトが分割されてしまうため、それぞれのオブジェクトの関連性が失われ、復元することができないという問題が生じることもある。
【０００６】
また、特許文献２に記載された技術のように、オブジェクトの重なりを判断して処理の割り当てを決める場合、サイズの大きいオブジェクトの影響を受けてしまい、処理の割り当てが均等に分散されないことがある。例えば、テンプレートを用いたプレゼンテーション資料のように、描画領域全体に跨るイメージ及びグラフィック等のオブジェクトを背景として、その上に文字等のオブジェクトを配置させるような場合に、このような問題が生じることがある。また、重なりの判断のために、少なくとも１ページ分のデータをスプールする必要があるため、処理の開始が遅れるという問題もある。
【０００７】
本発明は、印刷に要する時間をより短縮することができる画像形成装置及び画像形成システム等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本願発明者は、前記課題を解決すべく鋭意検討を重ねた結果、以下に示す発明の諸態様に想到した。
【０００９】
本発明に係る画像形成装置は、第１のデータを第２のデータに変換する複数の変換手段と、前記第１のデータに付加されている情報に基づいて、前記第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択手段と、前記第２のデータを用いて印刷を行う印刷手段と、を有し、前記選択手段は、複数の分割オブジェクトに分割された１つのオブジェクトについて、前記第１のデータに付加されている情報に特定の情報が含まれている場合、前記複数の分割オブジェクトの第１のデータの変換に１つの変換手段を割り当てることを特徴とする。
【００１０】
本発明に係る画像形成システムは、アプリケーションからの描画命令で示されたオブジェクトを所定の領域に合わせて複数の分割オブジェクトに分割するオブジェクト分割手段と、前記オブジェクト分割手段により分割されたオブジェクトに関する印刷装置制御言語で記述された第１のデータを生成する生成手段と、前記複数の分割オブジェクト間の関連性を示すグループ情報を前記第１のデータに付加する付加手段と、前記第１のデータを第２のデータに変換する複数の変換手段と、前記第１のデータに付加されているグループ情報に基づいて、当該第１のデータの変換を行う１又は２以上の変換手段を前記複数の変換手段のうちから選択する選択手段と、前記第２のデータを用いて印刷を行う印刷手段と、を有し、前記選択手段は、前記グループ情報に特定の情報が含まれている場合、当該第１のデータの変換に１つの変換手段を割り当てることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の変換手段を用いた変換の際に、第１のデータに付加されている情報に基づいて変換手段が適切に選択されるので、印刷を早期に開始することができ、印刷に要する時間をより短縮することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施形態について添付の図面を参照して具体的に説明する。
【００１３】
（印刷システムの概要）
先ず、各実施形態に共通の印刷システム（画像形成システム）の概要について説明する。図１は、印刷システムの構成を示すブロック図である。
【００１４】
この印刷システムでは、画像入出力装置１００（画像形成装置）が、ＬＡＮ（Local Area Network）１９０等のネットワークを介して、ホストコンピュータとして機能するＰＣ（ホストコンピュータ）１９１及び１９２に接続されている。
【００１５】
画像入出力装置１００は、例えばＭＦＰ（Multi Function Printer）であるが、ＳＦＰ（Single Function Printer）又はＬＢＰ（Laser Beam Printer）を用いてもよく、他のプリント方式のプリンタを用いてもよい。
【００１６】
画像入出力装置１００には、リーダー装置（リーダー部）２００、プリンタ装置（プリンタ部）３００、操作部１５０、画像記憶部１６０、及びこれらを制御する制御装置（コントローラ部）１１０が含まれている。制御装置１１０には、複数のＣＰＵ１１２、ＲＯＭ１１４及びＲＡＭ１１６等が設けられており、ＣＰＵ１１２がＲＯＭ１１４又は他の記憶媒体に格納されたプログラムに基づいて、画像入出力装置１００全体を統括制御する。なお、ＣＰＵ１１２の数は特に限定されず、例えば２個又は４個である。また、複数のＣＰＵ１１２に代えてマルチコアのＣＰＵを用いてもよい。つまり、複数のプロセッサコアを備えた１個のＣＰＵを用いてもよい。また、ＲＡＭ１１６は、例えばＣＰＵ１１２の作業領域として用いられる。リーダー装置２００は、画像データの読み取りを行う。プリンタ装置３００は、プリンタエンジンを用いて画像データの出力を行う。操作部１５０には、ユーザが画像データの入出力操作を行うキーボード、並びに画像データ及び各種機能の表示及び設定等を行う液晶パネルが設けられている。画像記憶部１６０は、画像データ及び印刷装置制御言語（例えば、ＥＳＣコード、ＰＤＬ（Page Description Language））で記述されたデータ等の格納及び保存ができる。
【００１７】
ＰＣ１９１及び１９２は、その内部のアプリケーションからＯＳを介して依頼された印刷命令を元にプリンタドライバを用いて印刷装置制御言語で記述されたデータ（例えばＰＤＬデータ）を生成し、ＬＡＮ１９０を介して画像入出力装置１００へ送信する。画像入出力装置１００では、印刷装置制御言語で記述されたデータを受信すると、このデータに基づいて、複数のＣＰＵ１１２が画像データの生成処理を行い、プリンタ装置３００が紙等の印刷媒体に出力する。この際に、詳細は後述するが、複数のＣＰＵ１１２は互いに並列に処理を行う。
【００１８】
（第１の実施形態）
次に、第１の実施形態について説明する。図２は、第１の実施形態におけるＰＣ１９１の処理（ＰＤＬデータの生成（作成）及び送信）の内容を示すフローチャートである。また、図３は、第１の実施形態における制御装置１１０の処理（ＰＤＬデータの処理）の内容を示すフローチャートである。
【００１９】
第１の実施形態では、先ず、ＰＣ１９１が、図２に示すように、ステップＳ２０１で、制御装置１１０内の各ＣＰＵ１１２での処理単位（バンド、パケット等）の領域情報（位置、サイズ等の情報）をセットする。例えば、図４（ａ）のように保持していたページ領域を、図４（ｂ）又は図４（ｃ）に示すように、バンド・パケットの単位の領域に分割する。以後、図４（ｃ）に示すように、パケットの単位で分割されたとして説明を行う。なお、上記の処理単位は、画像入出力装置１００に問い合わせて取得してもよく、また、予め定めておいた所定の値を用いてもよい。
【００２０】
次いで、ステップＳ２０２で、ＰＣ１９１は、ＯＳを介してアプリケーションからオブジェクトのデータを取得する。このとき、複数のオブジェクトが存在する場合には、そのうちの一つのデータを取得する。
【００２１】
その後、ステップＳ２０３で、ＰＣ１９１は、ステップＳ２０２で取得したオブジェクトのデータがステップＳ２０１でセットした複数の領域に跨っているかどうかを判断する。例えば、図５中の三角形のグラフィックのオブジェクト５０１及び文字「Ａ」のテキストのオブジェクト５０２は跨っていると判断され、略円形のグラフィックのオブジェクト５０３及び文字「Ｂ」のテキストのオブジェクト５０４は跨っていないと判断される。そして、跨っている場合はステップＳ２０４の処理を行い、跨っていない場合はステップＳ２１０の処理を行う。
【００２２】
ステップＳ２０４では、ＰＣ１９１が、オブジェクト分割手段として、ステップＳ２０１でセットした複数の領域に跨っているオブジェクトを、当該オブジェクトが跨っている複数の領域の境界に沿って分割する。例えば、グラフィックのオブジェクト５０１は、図６（ａ）に示すように、領域の境界に沿って、分割オブジェクト５０１１〜５０１４に分割する。また、テキストのオブジェクト５０２は、図６（ｂ）に示すように、領域の境界に沿ったクリップ情報をセットすることにより、分割オブジェクト５０２１〜５０２４に分割する。ここでは、クリップ領域としてステップＳ２０１でセットされた領域を用いているが、文字のバウンディングＢＯＸ等の情報とステップＳ２０１でセットされた領域の情報とを組み合わせてクリップ領域を設けてもよい。なお、領域の境界に沿ってオブジェクトの分割を指定することができれば、他の方法で分割を行ってもよい。
【００２３】
次いで、ステップＳ２０５で、ＰＣ１９１は、ステップＳ２０４で分割した分割オブジェクトからなるオブジェクト群の情報（分割オブジェクト情報）に、複数の分割オブジェクト間の関連性を示すグループ情報を付加したＰＤＬデータを生成する。グループ情報の付加に際しては、例えば、分割オブジェクトのそれぞれに描画コマンドに同一グループであることを示す情報を持たせたり、グループの開始・終了を表すコマンドで分割オブジェクトからなるオブジェクト群の前後を囲んだりする。なお、分割オブジェクトからなるオブジェクト群が同一グループであることを示すことができれば、他の方法でグループ情報を付加してもよい。
【００２４】
一方、ステップＳ２１０では、ＰＣ１９１が、ステップＳ２０２で取得したオブジェクトのＰＤＬデータを生成する。
【００２５】
ステップＳ２０５又はステップＳ２１０の後、ステップＳ２２０で、ＰＣ１９１は、ステップＳ２０５又はＳ２１０で生成したＰＤＬデータを画像入出力装置１００に送信する。
【００２６】
次いで、ステップＳ２２１で、ＰＣ１９１は、アプリケーションから得られるオブジェクトの全てについて処理が終了したかどうかを判断し、終了していなければステップＳ２０２へ戻り、終了していればＰＤＬデータの生成処理を終了する。
【００２７】
このように、ＰＣ１９１は、アプリケーションから得られる全てのオブジェクトについてのＰＤＬデータの生成処理を繰り返し行う。
【００２８】
ＰＤＬデータを受信した画像入出力装置１００では、先ず、複数のＣＰＵ１１２のうちの一つ（以下、主ＣＰＵという）が、ステップＳ３０１で、受信したＰＤＬデータの解釈処理を行う。設定等に関するコマンドに基づいて設定等の処理を行い、オブジェクト及びステップＳ２０５で付加したグループ情報を含むオブジェクト群のコマンドを解釈する。
【００２９】
次いで、ステップＳ３０２で、主ＣＰＵが、ステップＳ３０１で解釈したコマンドがステップＳ２０５で付加したグループ情報を含むかどうかの判断を行う。そして、グループ情報を含む場合はステップＳ３０３の処理を行い、含まない場合はステップＳ３０４の処理を行う。
【００３０】
ステップＳ３０３では、主ＣＰＵが、処理の空いているＣＰＵ１１２を探し、選択手段として、グループ情報及び分割オブジェクトの情報に基づいて、分割オブジェクトのそれぞれの処理をどのＣＰＵ１１２に割り当てるかを決定する。つまり、処理を行う１又は２以上のＣＰＵ１１２を選択する。このとき、主ＣＰＵは、自身を処理の割り当ての対象に含めてもよい。例えば、図６（ｂ）に示す分割オブジェクト５０２１〜５０２４のように、クリップ処理によって分割することが指定されているオブジェクト群については、単一のＣＰＵ１１２に処理を割り当てる。つまり、特定の情報が付加されているオブジェクト群については、単一のＣＰＵ１１２に処理を割り当てる。一方、図６（ａ）に示す分割オブジェクト５０１１〜５０１４のように、オブジェクトが明示的に分割されていれば、空いているＣＰＵ１１２から順に処理を割り当てる。なお、ＰＣ１９１がステップＳ２０５で、グループ情報を付加する際に、単一のＣＰＵに処理を割り当てるか否かの情報をグループ情報に含ませておき、この情報に基づいて、ＣＰＵ１１２の割り当てを行ってもよい。例えば、クリップ処理により分割されたことを特定の情報として含めてもよく、オブジェクトが文字であることを特定の情報として含めてもよい。また、オブジェクトがグラデーションパターン又はタイルパターンで描かれたものであることを特定の情報として含めてもよい。
【００３１】
ここで、このような処理の割り当てを行うことの効果について、図７を参照しながら説明する。図７（ａ）は、空いているＣＰＵから順に処理を割り当てた場合の処理を示し、図７（ｂ）は、グループを単一のＣＰＵに割り当てた場合の処理を示している。図７（ｂ）に示すように、グループを単一のＣＰＵに割り当てることで、ＣＰＵのキャッシュ内にデータ（この場合は文字「Ａ」の描画）を格納した状態で処理を進めることができ、ＣＰＵキャッシュを効果的に使用することができる。これにより、更に高速に処理を行うことが可能となる。
【００３２】
一方、ステップＳ３０４では、主ＣＰＵが、処理の空いているＣＰＵ１１２を探し、オブジェクトの処理を割り当てる。
【００３３】
ステップＳ３０３又はＳ３０４の後、ステップＳ３０５で、ステップＳ３０３又はＳ３０４で処理を割り当てられたＣＰＵ１１２が、変換手段として、ＰＣ１９１から受信したデータ（第１のデータ）を画像入出力装置１００での処理に適した中間データ（第２のデータ）に変換する。変換された中間データは、ＣＰＵ１１２の処理単位の領域毎に逐次ＲＡＭ１１６に格納される。この処理単位は、ステップＳ２０１においてセットした領域情報の処理単位と一致する。なお、処理が割り当てられたＣＰＵ１１２は、それぞれが互いに独立して並列的に処理を実行するため、他のＣＰＵ１１２の処理の終了を待たずにステップＳ３０６の処理を行う。
【００３４】
ステップＳ３０６では、主ＣＰＵが、ページ内のオブジェクトの解釈が全て終了したかどうかを判断し、終了していなければステップＳ３０１に戻り、終了していれば１ページ分の中間データが生成されるのを待ってステップＳ３０７の処理を行う。
【００３５】
ステップＳ３０７では、主ＣＰＵが、複数のＣＰＵ１１２に並列的に、ステップＳ３０６で生成された中間データに基づく画像生成処理を処理単位毎に行わせ、１ページ分の画像が生成したところで処理を終了する。その後、プリンタ装置３００が、生成された１ページ分の画像の印刷を実行する。
【００３６】
このように、第１の実施形態では、ＰＣ１９１がオブジェクトの分割処理及びＰＤＬデータの生成処理を行い、画像入出力装置１００の制御装置１１０（複数のＣＰＵ１１２）がＰＤＬデータの解釈処理及び画像生成処理を行う。なお、ＰＣ１９２がＰＣ１９１と同様の処理を行ってもよい。
【００３７】
ここで、第１の実施形態の効果について、図８のタイムチャートを参照しながら説明する。図８（ａ）は、並列処理を行わない通常処理を示すタイムチャートであり、図８（ｂ）は、ホストコンピュータで１ページ分のデータをスプールして分割した後、並列処理を行う処理（従来の技術）を示すタイムチャートである。また、図８（ｃ）は、第１の実施形態における処理を示すタイムチャートである。
【００３８】
図８（ａ）に示す処理では、並列処理を行わないため、中間データの生成処理に時間がかかってしまっている。図８（ｂ）に示す処理では、１ページ分のデータをスプールした後、分割処理を行う際に、データの並べ替え及び重なり除去等の処理を行うことが可能なため、中間データの生成処理は速くなる。しかし、１ページ分のデータをスプールする必要があるため、ホストＰＣ（ホストコンピュータ）におけるＰＤＬデータの生成及び分割を待たなければならず、印刷装置における処理開始が遅くなってしまう。これらに対し、図８（ｃ）に示す処理では、全体的な印刷時間が最も短くなる。つまり、図８（ａ）に示す例と比べて処理開始に若干の遅れはあるものの、図８（ｂ）に示す例ほどは遅くならず、中間データの生成処理の速度は図８（ｂ）に示す例より若干遅いものの、図８（ａ）に示すよりも速くなる。なお、図８（ｃ）に示す例では、オブジェクト単位で分割、ＰＤＬデータの生成、データ送信（ステップＳ２０４、Ｓ２０５、Ｓ２２０）が繰り返されるため、ホストＰＣ（ホストコンピュータ）の処理負荷が他の例と比べて大きくなるが、印刷時間への悪影響は皆無に等しい。
【００３９】
なお、ステップＳ３０３での処理の割り当てを、直前にどの領域の処理がどのＣＰＵ１１２に割り当てられたかというＡｐｐｌｙ情報を参考に行ってもよい。Ａｐｐｌｙ情報は、例えばＲＡＭ１１６に情報保持手段として保持させればよい。図９は、Ａｐｐｌｙ情報を参考にしたＣＰＵの割り当て方法を示す図である。なお、図９中のＣＰＵ１、ＣＰＵ２、ＣＰＵ３及びＣＰＵ４は、いずれもＣＰＵ１１２の一つである。ここでは、領域「１」、「２」、「５」及び「６」に文字「Ａ」が描画され、領域「２」及び領域「６」に文字「Ｂ」が描画され、領域「２」、「３」、「６」及び「７」に文字「Ｃ」が描画されるとする。また、描画は、文字「Ａ」、「Ｂ」及び「Ｃ」の順で行われるとする。
【００４０】
先ず、図９（ａ）に示すように、文字「Ａ」の描画を行う際には、最初の描画であるため、直前のＡｐｐｌｙ情報がない。このため、ＣＰＵ１にグループで囲まれたオブジェクト群の全ての処理を割り当て、直前Ａｐｐｌｙ情報に「ＣＰＵ１：１，２，５，６」の情報を入れる。次いで、図９（ｂ）に示すように、文字「Ｂ」の描画を行う際には、直前Ａｐｐｌｙ情報に、文字Ｂが描画される領域「２」及び「６」のが含まれている。そこで、ＣＰＵ１にそのまま処理を割り当て、直前Ａｐｐｌｙ情報に「ＣＰＵ１：２，６」の情報を入れる。次いで、図９（ｃ）に示すように、文字「Ｃ」の描画を行う際には、直前Ａｐｐｌｙ情報に、文字Ｃが描画される領域「２」及び「６」が含まれていると共に、領域「３」及び「７」は含まれていない。そこで、ＣＰＵ１に領域「２」及び「６」における処理をそのまま割り当てると共に、「２」及び「６」における処理は、直前Ａｐｐｌｙ情報に含まれている場合以外に該当するため、次のＣＰＵ２に割り当てる。そして、直前Ａｐｐｌｙ情報に「ＣＰＵ１：２，６、ＣＰＵ２：３，７」の情報を入れる。このような処理により、描画領域が重なるグループであっても並列処理を行いつつ、同一描画領域へのアクセス待ちがなくなり、高速に処理ができる。
【００４１】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態では、ＰＣ１９１に複数のＣＰＵが設けられている。また、第１の実施形態とは異なり、ＰＣ１９１が、ＰＤＬデータを生成することなく、中間データの生成を行う。そして、画像入出力装置１００の制御装置１１０がこの中間データを用いて画像生成処理を行う。他の構成は、第１の実施形態と同様である。図１０は、第２の実施形態におけるＰＣ１９１の処理（中間データの生成及び送信）の内容を示すフローチャートである。また、図１１は、第２の実施形態における制御装置１１０の処理（画像生成処理）の内容を示すフローチャートである。
【００４２】
第２の実施形態では、第１の実施形態と同様に、ＰＣ１９１内のＣＰＵの一つ（主ＣＰＵ）が、ステップＳ２０１で、制御装置１１０内の各ＣＰＵ１１２での処理単位の領域情報をセットし、ステップＳ２０２で、ＯＳを介してアプリケーションからオブジェクトのデータを取得する。
【００４３】
その後、ステップＳ７０１で、ＰＣ１９１内の主ＣＰＵは、ステップＳ２０２で取得したオブジェクトのデータがステップＳ２０１でセットした複数の領域に跨っているかどうかを判断する。そして、跨っている場合はステップＳ２０４の処理を行い、跨っていない場合はステップＳ７１０の処理を行う。
【００４４】
ステップＳ２０４では、ＰＣ１９１内の主ＣＰＵが、ステップＳ２０１でセットした複数の領域に跨っているオブジェクトを、当該オブジェクトが跨っている複数の領域の境界に沿って分割する。
【００４５】
次いで、ステップＳ７０２で、主ＣＰＵが、分割オブジェクトの処理を単一のＣＰＵに割り当てるかどうかの判断を行う。この判断の基準は、第１の実施形態におけるステップＳ３０３での基準と同様である。そして、単一のＣＰＵで処理する場合はステップＳ７０３の処理を行い、そうでない場合はステップＳ７０４の処理を行う。
【００４６】
ステップＳ７０３では、処理を割り当てられた単一のＣＰＵが、分割オブジェクトからなるオブジェクト群を中間データへ変換する。
【００４７】
一方、ステップＳ７０４では、主ＣＰＵが、処理の空いたＣＰＵに、順に処理を割り当てて、処理を割り当てられたＣＰＵが分割オブジェクトからなるオブジェクト群を中間データに変換する。
【００４８】
また、ステップＳ７１０では、主ＣＰＵが、処理の空いたＣＰＵに割り当ててオブジェクトを中間データに変換する。
【００４９】
ステップＳ７０３、Ｓ７０４又はＳ７１０の後、ステップＳ７２０で、主ＣＰＵは、生成した中間データを画像入出力装置１００に送信する。
【００５０】
次いで、ステップＳ７２１で、主ＣＰＵは、アプリケーションから得られるオブジェクトの全てについて処理が終了したかどうかを判断し、終了していなければステップＳ２０２へ戻り、終了していれば中間データの生成及び送信の処理を終了する。
【００５１】
このように、ＰＣ１９１は、アプリケーションから得られる全てのオブジェクトについて中間データの生成処理及び送信処理を繰り返し行う。
【００５２】
中間データを受信した画像入出力装置１００では、先ず、複数のＣＰＵ１１２のうちの一つ（以下、主ＣＰＵという）が、ステップＳ８０１で、中間データを１ページ分蓄積する。
【００５３】
次いで、ステップＳ８０２で、主ＣＰＵが、処理の空いているＣＰＵ１１２を探し出し、複数のＣＰＵ１１２が並列的に、ステップＳ８０１で蓄積された中間データを元に、画像生成処理を処理単位毎に行い、１ページ分の画像が生成したところで処理を終了する。この処理単位は、ステップＳ２０１においてセットした領域情報の処理単位と一致する。その後、プリンタ装置３００が、生成された１ページ分の画像の印刷を実行する。
【００５４】
このような第２の実施形態によれば、中間データの生成もＰＣ１９１で行うため、ＰＣ１９１が高速処理可能な端末である場合には印刷時間をさらに短縮することが可能となる。
【００５５】
なお、本実施形態では、ステップＳ７２０において、生成された中間データを随時、画像入出力装置１００へ送信することとしているが、１ページ分の蓄積が完了した後に送信してもよい。また、中間データでグループ情報が保持可能なデータ形式であれば、ステッププＳ７０３及びＳ７０４において、グループ情報を付加してもよい。
【００５６】
また、本実施形態では、アプリケーションからの描画命令から直接中間データを作成しているが、一度ＰＤＬデータを作成した上で中間データの作成を行ってもよい。また、ＰＣ１９２が複数のＣＰＵを備えて、ＰＣ１９１と同様の処理を行ってもよい。
【００５７】
（第３の実施形態）
次に、第３の実施形態について説明する。第３の実施形態では、分割オブジェクト及びグループ情報を含むＰＤＬデータを受信した際の、画像入出力装置１００の動作が、第１の実施形態と相違している。他の構成は、第１の実施形態と同様である。図１２は、第３の実施形態における制御装置１１０の処理（データ変換処理）の内容を示すフローチャートである。
【００５８】
第３の実施形態では、ＰＤＬデータを受信した画像入出力装置１００において、先ず、複数のＣＰＵ１１２のうちの一つ（以下、主ＣＰＵという）が、ステップＳ１００１で、受信したＰＤＬデータを画像記憶部１６０に格納する。
【００５９】
次いで、ステップＳ１００２で、主ＣＰＵは、ステップＳ１００１で格納したＰＤＬデータから編集用途として用いるデータの選択を促し、操作部１５０を用いた選択を受け付ける。
【００６０】
その後、ステップＳ１００３で、主ＣＰＵは、選択されたＰＤＬデータのグループ情報を元に、分割オブジェクトからなるオブジェクト群を元の１つのオブジェクトに結合する。
【００６１】
このような第３の実施形態によれば、１つのオブジェクトに結合されることで、画像入出力装置１００やＰＣ１９１等のアプリケーションでの再編集を行いやすくすることができる。再編集されたＰＤＬデータは、画像記憶部１６０に再度格納され、印刷処理を行うことができる。つまり、一旦画像記憶部１６０に格納されたＰＤＬデータについて、オブジェクトの移動等の編集作業を行うことが可能となり、編集されたＰＤＬデータを再格納した後に操作部１５０から当該ＰＤＬデータを選択することで、印刷処理を開始することができる。
【００６２】
なお、本実施形態では、画像入出力装置１００がＰＤＬデータを処理しているが、第２の実施形態のように中間データを受信した場合でも、グループ情報が付加されていれば、同様の処理を行うことができる。
【００６３】
なお、本発明の実施形態は、例えばコンピュータがプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記の印刷処理用のプログラムも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びプログラムプロダクトは、本発明の範疇に含まれる。
【図面の簡単な説明】
【００６４】
【図１】印刷システムの構成を示すブロック図である。
【図２】第１の実施形態におけるＰＣ１９１の処理の内容を示すフローチャートである。
【図３】第１の実施形態における制御装置１１０の処理の内容を示すフローチャートである。
【図４】領域の分割の例を示す図である。
【図５】オブジェクトの例を示す図である。
【図６】オブジェクトの分割の例を示す図である。
【図７】処理の割り当ての例を示す図である。
【図８】第１の実施形態の効果を示すタイムチャートである。
【図９】Ａｐｐｌｙ情報を参考にしたＣＰＵの割り当て方法を示す図である。
【図１０】第２の実施形態におけるＰＣ１９１の処理の内容を示すフローチャートである。
【図１１】第２の実施形態における制御装置１１０の処理の内容を示すフローチャートである。
【図１２】第３の実施形態における制御装置１１０の処理の内容を示すフローチャートである。
【符号の説明】
【００６５】
１００：画像入出力システム
１１０：制御装置（コントローラ部）
１１２：ＣＰＵ
１１４：ＲＯＭ
１１６：ＲＡＭ
１５０：操作部
１６０：画像記憶部
１９０：ＬＡＮ
１９１、１９２：ＰＣ（ホストコンピュータ）
２００：リーダー装置（リーダー部）
３００：プリンタ装置（プリンタ部）
５０１、５０２：複数の領域に跨るオブジェクト
５０３、５０４：複数の領域に跨らないオブジェクト
５０１１〜５０１４：オブジェクト５０１のオブジェクト群
５０２１〜５０２４：オブジェクト５０２のオブジェクト群
【図１】
0005268427.tif 000002
【図２】
0005268427.tif 000003
【図３】
0005268427.tif 000004
【図４】
0005268427.tif 000005
【図５】
0005268427.tif 000006
【図６】
0005268427.tif 000007
【図７】
0005268427.tif 000008
【図８】
0005268427.tif 000009
【図９】
0005268427.tif 000010
【図１０】
0005268427.tif 000011
【図１１】
0005268427.tif 000012
【図１２】
0005268427.tif 000013