JP2010238236A - 印刷システムおよび印刷システムの制御方法 - Google Patents

印刷システムおよび印刷システムの制御方法 Download PDF

Info

Publication number
JP2010238236A
JP2010238236A JP2010068730A JP2010068730A JP2010238236A JP 2010238236 A JP2010238236 A JP 2010238236A JP 2010068730 A JP2010068730 A JP 2010068730A JP 2010068730 A JP2010068730 A JP 2010068730A JP 2010238236 A JP2010238236 A JP 2010238236A
Authority
JP
Japan
Prior art keywords
graphic
rendering
partition
partitions
graphic object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010068730A
Other languages
English (en)
Inventor
Uoc H Nguyen
エイチ.ニュエン ウォク
James E Owen
イー.オーウェン ジェイムズ
Paul R Henerlau
アール.ヘナロー ポール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/413,684 external-priority patent/US20100245889A1/en
Priority claimed from US12/413,689 external-priority patent/US8339653B2/en
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of JP2010238236A publication Critical patent/JP2010238236A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

【課題】本発明は、効率よくグラフィックオブジェクトのレンダリングを行うことができる印刷システムの制御方法を提供する。
【解決手段】本発明に係る印刷システムの制御方法は、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する方法である。グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報(Z値)をそれぞれ判定する奥行き情報判定ステップと、上記奥行き情報判定ステップにおいて判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類ステップ(S292)と、分類ステップ(S292)により分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリングステップ(S294、S295、S296、S297)とを含む。
【選択図】図13

Description

本発明の実施形態は、概してデータをレンダリングする方法と、そのシステムに関するものであり、特には、印刷システムにおいてグラフィックオブジェクト(グラフィックリスト要素)をレンダリングする方法と、そのシステムに関する。
印刷システムにおける電子文書の処理には、印刷データを解釈し、レンダリングするために計算機による集約的作業が必要となる。グラフィック(グラフィカルやグラフィクスでも同じ)オブジェクトのストリームを、ホストオペレーティングシステムのグラフィックインターフェースサービスから、グラフィックオブジェクトを解析するグラフィクスレンダリングサービスに送信し、オブジェクトベースの情報を印刷用画素値に変換する。なお、本明細書では、グラフィックオブジェクトから印刷用画素値を作成する処理のことをレンダリングと称するものとする。現在、高速で効果的にレンダリングするシステムおよび方法が所望されている。効果的なレンダリングを行うシステムとして例えば、特許文献1に開示されたシステムが挙げられる。特許文献1では、印刷データにおいてオブジェクトの重なりの有無を判定し、複数の展開手段に分散させ並列処理を行う構成が開示されている。
特開平10−333852号公報(1998年12月18日公開)
しかしながら、上述のような従来技術は、効率よくグラフィックオブジェクトのレンダリングを行うことができないという問題が生じる。
すなわち、特許文献1に開示されたシステムでは、まず、グラフィックオブジェクト同士が重なっているか否か判断して、その判断結果に基づき優先順位を設定する。そして、この優先順位に従って、複数のレンダリング装置に順次グラフィックオブジェクトを配分する構成である。このため、グラフィックオブジェクトの配分に時間がかかり効率よくレンダリングを行うことができない。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、効率よくグラフィックオブジェクトのレンダリングを行うことができる、印刷システムの制御方法、および印刷システムを実現することにある。
本発明に係る印刷システムの制御方法は、上記した課題を解決するために、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定ステップと、上記奥行き情報判定ステップにおいて判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類ステップと、上記分類ステップにより分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリングステップとを含むことを特徴とする。
上記グラフィックオブジェクトとは、印刷ジョブから生成されるデータであって、描画出力可能なデータ(印刷用画素値)よりも抽象度が高い中間データである。グラフィックオブジェクトとしては、例えば、テキストオブジェクト、ベクターオブジェクト、およびビットマップオブジェクトなどが挙げられる。
上記した方法によると、奥行き情報判定ステップを含むため、各グラフィックオブジェクトの奥行き情報を判定することができる。また、上記分類ステップおよびレンダリングステップを含むため、奥行き情報が共通するグラフィックオブジェクトごとにパーティションに分類することができ、パーティションごとに一括してレンダリングを行うことができる。すなわち、奥行き情報が共通するグラフィックオブジェクトをまとめてレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができる。なお、奥行き情報が共通するグラフィックオブジェクトとは、奥行き情報の値が同じグラフィックオブジェクト、または奥行き情報の値がある範囲に含まれるグラフィックオブジェクトを意味する。
このように、奥行き情報が共通すグラフィックオブジェクトごとに、一括してレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができるため、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記印刷システムは、ホストコンピューティング・デバイス、プリントサーバ、クラウドコンピューティング・デバイスおよび印刷装置を備えており、上記奥行き情報判定ステップ、上記分類ステップ、および上記レンダリングステップをホストコンピューティング・デバイス、プリントサーバ、クラウドコンピューティング・デバイスおよび印刷装置のうちのいずれかの装置にて実行してもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記印刷システムは、グラフィックオブジェクトをレンダリングする複数のレンダリング部を備えており、上記レンダリング部それぞれを、複数の上記パーティションそれぞれに対応付ける対応付けステップをさらに含み、上記レンダリングステップでは、各パーティションに分類されたグラフィックオブジェクトを、上記対応付けステップにより対応付けられたレンダリング部によりレンダリングしてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記分類ステップと上記レンダリングステップとは異なる装置内で実行されてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記対応付けステップにより各パーティションに対応付けられたレンダリング部のうち、一部のレンダリング部は上記分類ステップを実行する装置に設けられ、該一部のレンダリング部以外のレンダリング部は上記分類ステップを実行する装置とは異なる別の装置に設けられていてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、グラフィックオブジェクトを分類するパーティションそれぞれには、固有の奥行き情報が関連付けられていてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記レンダリングステップでは、順不同に複数の上記パーティションを選択し、該パーティションに分類されたグラフィックオブジェクトをレンダリングしており、上記レンダリングステップによりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリットステップをさらに含み、ビットブリットステップでは、上記固有の奥行き情報に従って、パーティションに分類されたグラフィックオブジェクトを順次ビットブリットしてもよい。
上記した方法によると、上記した奥行き情報判定ステップにおいて、既に各グラフィックオブジェクトの奥行き情報が判定されている。このため、ビットブリットステップでは、既に判定されている奥行き情報に基づきビットブリットするグラフィックオブジェクトの順番を予め決定することができビットブリットの効率化を図ることができる。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記分類ステップによって複数のパーティションに分類したグラフィックオブジェクトを、該グラフィックオブジェクトの種類に基づきさらに副次パーティションに分類する再分類ステップを含み、上記レンダリングステップにおいて、上記再分類ステップによりグラフィックオブジェクトがさらに分類された副次パーティションごとに、それぞれ分散してグラフィックオブジェクトのレンダリングを行ってもよい。
上記した方法によると、さらに再分類ステップを含むため、グラフィックオブジェクトを該グラフィックオブジェクトの種類ごとにさら細く分類することができる。このため、さらに細分されたグラフィックオブジェクト群を分散して並列処理することができ、レンダリングの効率化を図ることができる。
本発明に係る印刷システムは、上記した課題を解決するために、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定部と、上記奥行き情報判定部が判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類部と、上記分類部により分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリング部とを備えることを特徴とする。
上記グラフィックオブジェクトとは、印刷ジョブから生成されるデータであって、描画出力可能なデータ(印刷用画素値)よりも抽象度が高い中間データである。グラフィックオブジェクトとしては、例えば、テキストオブジェクト、ベクターオブジェクト、およびビットマップオブジェクトなどが挙げられる。
上記した構成によると、奥行き情報判定部を備えるため、各グラフィックオブジェクトの奥行き情報を判定することができる。また、上記分類部およびレンダリング部を備えるため、奥行き情報が共通するグラフィックオブジェクトごとにパーティションに分類することができ、パーティションごとに一括してレンダリングを行うことができる。すなわち、奥行き情報が共通するグラフィックオブジェクトをまとめてレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができる。なお、奥行き情報が共通するグラフィックオブジェクトとは、奥行き情報の値が同じグラフィックオブジェクト、または奥行き情報の値がある範囲に含まれるグラフィックオブジェクトを意味する。
このように、奥行き情報が共通すグラフィックオブジェクトごとに、一括してレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができるため、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
また、本発明に係る印刷システムは、上記した構成において、上記分類部によりグラフィックオブジェクトが分類されたパーティションそれぞれに上記レンダリング部をそれぞれ対応付ける対応付け部をさらに備え、上記レンダリングス部は、上記対応付け部によって対応付けられたパーティションに分類されたグラフィックオブジェクトをレンダリングするように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記奥行き情報判定部、上記分類部、および対応付け部を有する第一装置を備え、上記第一装置は、複数の上記レンダリング部のうちの一部のレンダリング部をさらに有するように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記第一装置は、ホストコンピューティング・デバイス、プリンタサーバ、およびクラウドコンピューティング・デバイスのうちのいずれかの装置であってもよい。
また、本発明に係る印刷システムは、上記した構成において、上記印刷用画素値に基づき印刷を行う印刷装置をさらに備え、上記印刷装置は、複数の上記レンダリング部のうち、上記第一装置が有する上記レンダリング部以外のレンダリング部を有するように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、グラフィックオブジェクトを分類するパーティションそれぞれには、固有の奥行き情報が関連付けられていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記レンダリング部は、順不同に複数の上記パーティションを選択し、該パーティションに分類されたグラフィックオブジェクトをレンダリングしており、上記レンダリング部によりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリット部をさらに備え、上記ビットブリット部が、上記固有の奥行き情報に従って、パーティションに分類されたグラフィックオブジェクトを順次ビットブリットするように構成されていてもよい。
上記した構成によると、上記した奥行き情報判定部によって、既に各グラフィックオブジェクトの奥行き情報が判定されている。このため、ビットブリット部は、既に判定されている奥行き情報に基づきビットブリットするグラフィックオブジェクトの順番を予め決定することができビットブリットの効率化を図ることができる。
また、本発明に係る印刷システムは、上記した構成において、上記第一装置は、ホストコンピューティング・デバイス、プリンタサーバ、クラウドコンピューティング・デバイス、および印刷装置のうちのいずれかの装置であってもよい。
また、本発明に係る印刷システムは、上記した構成において、上記分類部によって複数のパーティションに分類したグラフィックオブジェクトを、該グラフィックオブジェクトのタイプに基づき、さらに副次パーティションに分類する再分類部を備え、上記レンダリング部は、上記再分類部によりグラフィックオブジェクトがさらに分類された上記副次パーティションごとに、それぞれ分散してグラフィックオブジェクトのレンダリングを行う構成であってもよい。
上記した構成によると、さらに再分類部を備えるため、グラフィックオブジェクトを該グラフィックオブジェクトの種類ごとにさら細く分類することができる。このため、さらに細分されたグラフィックオブジェクト群を分散して並列処理することができ、レンダリングの効率化を図ることができる。
本発明に係る印刷システムの制御方法は、上記した課題を解決するために、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定ステップと、上記重畳判定ステップにおける判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類ステップと、上記第一分類ステップにおいてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類ステップと、第一分類ステップによってパーティションに分類されたグラフィックオブジェクト群と、第二分類ステップによってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリングステップとを含むことを特徴とする。
ここで、重畳し合うグラフィックオブジェクト群では、各グラフィックオブジェクト同士は重畳しあっているが、重畳し合うグラフィックオブジェクト群と、他の重畳し合うグラフィックオブジェクト群とは、印刷ページにおいて互いに空間的に分離されている。
上記した方法によると、第一分類ステップを含むため、他のグラフィックオブジェクトと互いに重畳することのないグラフィックオブジェクト群をパーティションに分類し、それ以外のグラフィックオブジェクト群と分離することができる。
さらに、第二分類ステップを含むため、他のグラフィックオブジェクトと互いに重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類することができる。そして、上記レンダリングステップによって、それぞれパーティションに分類されたグラフィックオブジェクト群をレンダリングすることができる。
つまり、事前に他のグラフィックオブジェクトと重ならないグラフィックオブジェクト群、重畳し合うグラフィックオブジェクト群それぞれにグラフィックオブジェクトを整理してレンダリングすることができる。
したがって、印刷ジョブにおいて、重畳し合うグラフィックオブジェクト群が複数含まれる場合であっても、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記レンダリングステップでは、上記第一分類ステップによってパーティションに分類されたグラフィックオブジェクト群に対するレンダリングと、該グラフィックオブジェクト群以外のグラフィックオブジェクト群に対するレンダリングとを並列して実行してもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記レンダリングステップでは、上記第二分類ステップにより各パーティションに分類されたグラフィックオブジェクト群それぞれに対してレンダリングを順次実行してもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記レンダリングステップによりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリットステップをさらに含み、上記ビットブリットステップにおいて、上記第一分類ステップによってパーティションに分類された、レンダリング済みのグラフィックオブジェクトに対して順不同にビットブリットしてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、上記ビットブリットステップにおいて、上記第二分類ステップにより分類されたグラフィックオブジェクト群それぞれでは、レンダリング済みのグラフィックオブジェクトに対して順次ビットブリットしてもよい。
本発明に係る印刷システムは、上記した課題を解決するために、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定部と、上記重畳判定部による判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類部と、上記第一分類部においてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類部と、上記第一分類部によってパーティションに分類されたグラフィックオブジェクト群と、上記第二分類部によってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリング部とを備えることを特徴とする。
ここで、重畳し合うグラフィックオブジェクト群では、各グラフィックオブジェクト同士は重畳しているが、重畳し合うグラフィックオブジェクト群と、他の重畳し合うグラフィックオブジェクト群との関係は、印刷ページにおいて互いに空間的に分離される関係にある。
上記した構成によると、第一分類部を備えるため、他のグラフィックオブジェクトと互いに重畳することのないグラフィックオブジェクト群をパーティションに分類し、それ以外のグラフィックオブジェクト群と分離することができる。
さらに、第二分類部を備えるため、他のグラフィックオブジェクトと互いに重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類することができる。そして、上記レンダリング部によって、それぞれパーティションに分類されたグラフィックオブジェクト群をレンダリングすることができる。
つまり、事前に他のグラフィックオブジェクトと重ならないグラフィックオブジェクト群、重畳し合うグラフィックオブジェクト群それぞれにグラフィックオブジェクトを整理してレンダリングすることができる。
したがって、印刷ジョブにおいて、重畳し合うグラフィックオブジェクト群が複数含まれる場合であっても、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
また、本発明に係る印刷システムは、上記した構成において、上記レンダリング部は、上記第一分類部によってパーティションに分類されたグラフィックオブジェクト群をレンダリングする第一レンダリング部と、このグラフィックオブジェクト群以外のグラフィックオブジェクト群をレンダリングする第二レンダリング部とを備え、該第一レンダリング部と該第二レンダリング部とは並列してレンダリングを実行するように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記第二レンダリング部は、上記第二分類部により各パーティションに分類されたグラフィックオブジェクト群それぞれに対してレンダリングを順次実行するように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記レンダリング部によりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリット部をさらに備え、上記ビットブリット部は、上記第一分類部によってパーティションに分類された、レンダリング済みのグラフィックオブジェクトに対して順不同にビットブリットするように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、上記ビットブリット部は、上記第二分類部により分類されたグラフィックオブジェクト群それぞれについて、レンダリング済みのグラフィックオブジェクトに対して順次ビットブリットするように構成されていてもよい。
本発明に係る印刷システムの制御方法は、以上のように、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定ステップと、上記奥行き情報判定ステップにおいて判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類ステップと、上記分類ステップにより分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリングステップとを含むことを特徴とする。
このように、奥行き情報が共通すグラフィックオブジェクトごとに、一括してレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができるため、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
本発明に係る印刷システムは、以上のように、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定部と、上記奥行き情報判定部が判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類部と、上記分類部により分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリング部とを備えることを特徴とする。
このように、奥行き情報が共通すグラフィックオブジェクトごとに、一括してレンダリングすることができるとともに、パーティションごとにレンダリングを分散して行うことができるため、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
本発明に係る印刷システムの制御方法は、以上のように、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定ステップと、上記重畳判定ステップにおける判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類ステップと、上記第一分類ステップにおいてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類ステップと、第一分類ステップによってパーティションに分類されたグラフィックオブジェクト群と、第二分類ステップによってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリングステップとを含むことを特徴とする。
したがって、印刷ジョブにおいて、重畳し合うグラフィックオブジェクト群が複数含まれる場合であっても、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
本発明に係る印刷システムは、以上のように、印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定部と、上記重畳判定部による判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類部と、上記第一分類部においてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類部と、上記第一分類部によってパーティションに分類されたグラフィックオブジェクト群と、上記第二分類部によってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリング部とを備えることを特徴とする。
したがって、印刷ジョブにおいて、重畳し合うグラフィックオブジェクト群が複数含まれる場合であっても、効率よくグラフィックオブジェクトのレンダリングを行うことができるという効果を奏する。
本発明のいくつかの実施形態を示すものであり、印刷装置と通信可能に接続されたホストコンピューティングシステムを備える印刷システムの一例を示す図である。 本発明の実施形態を示すものであり、グラフィックリストを複数のパーティションに分割し、当該パーティションをレンダリングするステップを示すフローチャートである。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなる一連のグラフィックオブジェクトに基づき、グラフィックリストのパーティションを生成するステップを示すフローチャートである。 本発明の実施形態を示すものであり、複数のグラフィックオブジェクトを含むページ例を示す図である。 本発明の実施形態を示すものであり、複数のグラフィックオブジェクトを含むページ例を示す図である。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図5のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図5のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、グラフィックオブジェクトの重畳状態に基づいてグラフィックリストをパーティションに分割するステップを示すフローチャートである。 本発明の実施形態を示すものであり、グラフィックオブジェクトの重畳状態に基づいてグラフィックリストをパーティションに分割するステップを示すフローチャートである。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、同じグラフィックオブジェクトタイプとなるグラフィックオブジェクトに基づきグラフィックリストの分割処理の実行を行う、本発明の実施例に従って、図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態に係る一例を示すものであり、グラフィックリスト要素の、互いに分離された、重畳するグラフィックオブジェクト群への分割に基づいて、グラフィックリストをパーティションに分割する処理を示すフローチャートである。 グラフィックリスト要素の、互いに分離された、重畳するグラフィックオブジェクト群への分割に基づいて、グラフィックリストをパーティションに分割する本発明の実施の形態によって、図4に示すページ例をレンダリングする処理を示す図である。 グラフィックリスト要素の、互いに分離された、重畳するグラフィックオブジェクト群への分割に基づいて、グラフィックリストをパーティションに分割する本発明の実施の形態によって、図4に示すページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、Z値に基づいてグラフィックリストをパーティションに分割するステップを示すフローチャートである。 本発明の実施形態を示すものであり、Z値に基づいてグラフィックリストをパーティションに分割する、本発明の実施例に従って図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、Z値に基づいてグラフィックリストをパーティションに分割する、本発明の実施例に従って図4のページ例をレンダリングする処理を示す図である。 本発明の実施形態を示すものであり、グラフィックオブジェクトの一例と関連付けられたバウンディングボックスの一例を示す図である。 本発明の実施形態を示すものであり、グラフィックオブジェクトの一例と関連するバウンディング形状を加算した例を示す図である。 本発明の実施形態を示すものであり、グラフィックオブジェクトの一例と関連するバウンディング形状を減算する例を示す図である。 本発明の実施形態を示すものであり、グリッドページを用いてグラフィックオブジェクトの重畳状態を判断するステップを示すフローチャートである。 本発明の実施形態を示すものであり、グリッドページを用いてグラフィックオブジェクトの重畳状態を判断するステップを示すフローチャートである。 本発明の実施形態を示すものであり、バウンディングボックスとグリッド要素との一例を示す図である。 本発明の実施形態を示すものであり、グリッドページを用いて「重畳」パーティションと「非重畳」パーティションを判断するステップを示すフローチャートである。 本発明の実施形態を示すものであり、グリッドページを用いて「重畳」パーティションと「非重畳」パーティションを判断するステップを示すフローチャートである。 本発明の実施形態を示すものであり、グリッドページを用いて、奥行き情報に基づいてパーティションを判断するステップを示すフローチャートである。 本発明の実施形態を示すものであり、グリッドページを用いて、奥行き情報に基づいてパーティションを判断するステップを示すフローチャートである。 本発明のいくつかの実施形態で機能するマルチコアシステムの一例を示す図である。 本発明の実施形態を示すものであり、パーティションをレンダリング装置と関連付けるパーティション・レンダリング装置スケジューラを示す図である。 本発明の実施形態を示すものであり、カスケード式のパーティション分割の一例を示すフローチャートである。 本発明の実施形態を示すものであり、カスケード式のパーティション分割の一例を示すフローチャートである。 本発明の実施形態を示すものであり、本発明のいくつかの実施形態に従ってプリンタドライバでテキストパーティションをエンコードするステップを示すフローチャートである。 本発明の実施形態を示すものであり、本発明のいくつかの実施形態に従ってプリンタドライバでテキストパーティションをデコードするステップを示すフローチャートである。 本発明のいくつかの実施形態で機能する、印刷装置とプリンタサーバを介して通信可能に接続されたホストコンピューティングシステムからなる印刷システムの一例を示す図である。 本発明のいくつかの実施形態で機能する、クラウドコンピューティング環境の一部であり、印刷装置と通信可能に接続されたホストコンピューティングシステムを備えた印刷システムの一例を示す図である。 本発明のいくつかの実施形態で機能する、クラウドコンピューティング環境の一部であり、印刷装置と通信可能に接続されたホストコンピューティングシステムを備えた印刷システムの一例を示す図である。 本発明の実施形態を示すものであり、パーティションへの分割処理を示すフローチャートである。 本発明の実施形態を示すものであり、印刷データのデータ構造の一例を示す図である。
本発明の、前述した目的、特徴、利点およびその他の目的、特徴、利点は、以下の発明の詳細な説明と添付の図面を参照することによってさらに理解され得る。
また、本発明の実施の諸形態は、図面を参照することにより、よりよく理解されるであろう。すべての図面において、同じ部材には同じ番号が振られている。なお、この図面が以下の詳細な説明部分に含まれることは自明である。
図面にて概して記述し、図示した本発明の構成部材がさまざまの異なった構成を取り得ることは、容易に理解できるであろう。したがって、本発明の方法およびシステムの実施の諸形態を以下により詳細に述べるが、それらは本発明の範囲を限定するものではなく、本実施の諸形態の代表例にすぎない。
本発明の実施形態に係る構成部材は、少なくともハードウェア、ファームウェア、およびソフトウェアのうちのいずれか1つにより実現できる。本発明に係る実施形態ではこれらのうち一つを用いて説明されるが、当業者ならば、本発明の範囲において、これらのいずれであっても本発明の実施形態に係る構成部材を実現できる。
ところで、印刷システムにおいて電子文書を処理するためには、印刷データを解釈し、レンダリングするためのコンピュータによる集約的作業が要求される。つまり、グラフィック(グラフィカルやグラフィクスでも同じ)オブジェクトのストリームを、ホストオペレーティングシステムのグラフィックインターフェースサービスから、グラフィックオブジェクトを解析するグラフィクスレンダリングサービスに送信し、オブジェクトベースの情報を印刷用画素値に変換する。なお、グラフィックオブジェクトから印刷用画素値を作成する処理のことを本明細書においてレンダリングと称するものとする。また、本実施の形態に係るグラフィックオブジェクトは、印刷ジョブから生成されるデータであって、描画出力可能なデータ(印刷用画素値)よりも抽象度が高い中間データである。グラフィックオブジェクトは、少なくとも1種類の基本図形を含む形式で表現される。
また、本明細書においてグラフィックオブジェクトのストリームデータをグラフィックリストと称するものとする。グラフィックリストの例としては、表示リスト、DDI(Device Driver Interface;デバイスドライバーインターフェース)の呼び出しリスト、PDL(Page Description Language;ページ記述言語)要素のリスト、およびその他のグラフィックのリストが挙げられるが、これらに限定されるものではなく、グラフィックオブジェクトに関する様々なリストをグラフィックリストと称することができる。また、グラフィックリストはページと関連付けられていてもよいし、ページ群と関連付けられていてもよい。あるいは、グラフィックリストはグラフィックリストのパーティションと関連付けられていてもよい。
印刷システムの一例においては、ホストコンピューティング・デバイスで実行されるアプリケーションは、このデバイスが備えるホストオペレーティングシステム(OS)機能を用いて、このデバイスと通信可能に接続されている印刷装置に対して、OSグラフィクスコマンドを繰り返し実行する。つまり、プリンタドライバがこのOSグラフィクスコマンドを解釈し、修正し、このOS機能を利用する印刷装置に送る。印刷装置はそのグラフィクス指示を解析し、追加処理を行い、作成された出力ページを印刷する。
プリンタドライバは、OSコマンドを、印刷装置が理解できる形式で記述された指示ストリームに翻訳する。例えば、ある印刷システムでは、プリンタドライバがOSグラフィクスコマンドを印字ヘッドコマンドに翻訳する。これらの印刷システムは、ホストベースの印刷処理システムと見なすことができる。なお、ホストベースの印刷処理システムとは、印刷処理を、主としてホストコンピューティング・デバイスが行う印刷処理システムである。また、他の印刷処理システムとしては、プリンタドライバが「抄訳」を行い、OSグラフィクスコマンドとほぼ同じコマンドを生成する構成であってもよい。この印刷処理システムは、印刷装置ベースの印刷処理システムと見なすことができ、印刷処理を主として印刷装置で行う。ホストベースの印刷処理システムとも印刷装置ベースの印刷処理システムとも異なる印刷処理システムとしては、複合型印刷処理システムが挙げられる。この印刷処理システムでは、プリンタドライバが中間翻訳を行い、印刷処理をホストコンピューティング・デバイスと印刷装置との間で分散して行う。
グラフィックオブジェクトは、テキストオブジェクト、ベクターオブジェクト、およびビットマップオブジェクトに分類されるものである。テキストオブジェクトは、文字列と、それに関連するテキスト属性とを含む。テキスト属性の例としては、フォント、サイズ、色、ボールド体やイタリック体のような修飾子などがある。ベクターオブジェクト(ビジネスグラフィックやグラフィカルアートとも称される)では、アウトラインまたは塗りつぶし値と関連づけて一定の形状を含んでいる。なお、一定の形状としては、例えば、線、矩形、円、多角形、またはその他の一定形状が挙げられる。ベクターオブジェクトと関連する属性の例としては、線種、線の太さ、線の色、塗りつぶし色、塗りつぶしパターン、およびベクターオブジェクトを記述するその他の属性がある。ビットマップオブジェクト(イメージオブジェクトやピクトリアルオブジェクトとも称される)は、高さ値、幅値、および連続する画素の明度を含む。ビットマップオブジェクトと関連する属性の例としては、大きさ、色、およびその他のイメージ属性がある。
グラフィックオブジェクトは、関連する透明度のレベルを含んでいる。この透明度のレベルによって、当該グラフィックオブジェクトの下側に配置されるグラフィックオブジェクトの画素値と、当該グラフィックオブジェクトの画素値との混合を当該グラフィックオブジェクトのレンダリング時に調整する。混合動作には、画素値がRGB(赤・緑・青)色空間にあることが必要であり、このためCMYK(シアン・マゼンタ・黄色・黒)色空間にて混合オブジェクトを直接レンダリングすることが不可能となる。他の動作、たとえばラスタ動作(ROP)もまた、RGB色空間に限定される。
従来の印刷システムでは、ホストプロセッサ、または印刷装置の内蔵プロセッサのどちらか一方のみを用いてレンダリング動作を行うため、プロセッサ固有の性能に依存した限界範囲に制限される。さらに、コンピュータが有するプロセッサが進化するにつれて、多くのホストコンピューティング・デバイスや印刷装置は、少なくともマルチコアプロセッサ、および専用プロセッサのいずれか1つを備えるようになっている。専用プロセッサの例としては、グラフィクスカード、デジタル信号プロセッサ(Digital Signal Processors;DSP)、グラフィクスASIC(Application Specific Integrated Circuits)などがある。マルチプロセッサおよび専用プロセッサは、印刷処理やレンダリングを行う際に有効に用いられていない。さらに、データを「順序通りに」レンダリングしてしまうという制限により、マルチプロセッサに処理を分散させるシステムが非効率となる。このため、印刷システムにおける処理リソースが有効に使われない。それゆえ、別々の処理ユニットに渡ってレンダリング動作を分散させ、グラフィックオブジェクトを「順不同で」レンダリングし、かつ複数のグラフィックオブジェクトを同時に並列してレンダリングすることができる方法およびシステムが望まれる。
そこで、本実施の諸形態では、マルチプロセッサを利用する印刷システム環境においてリソースを有効に用いる方法とシステムとを提供する。図1を参照すると印刷処理システムの一例として、印刷処理システムは、ホストコンピューティング・デバイス10を備え、このホストコンピューティング・デバイス10はコミュニケーションリンク12を通じて印刷装置14と通信可能に接続されている。
ホストコンピューティング・デバイス10の例としては、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、携帯型コンピューティング・デバイス、ワークステーションコンピュータ、コンピュータサーバ、メインフレームコンピュータ、家庭用電化製品(デジタルカメラ、携帯情報端末(PDA)、自動車電話、携帯電話など)、および印刷ジョブデータを生成できるその他のコンピューティング・デバイスが挙げられるが、これらに限定されるものではない。
ホストコンピューティング・デバイス10は、コミュニケーションリンク12を通じて印刷装置14と通信可能に接続されている。この通信リンクによる接続例としては、ローカルエリアネットワーク(LAN)接続、ワイドエリアネットワーク(WAN)接続、インターネット接続、公衆交換電話網(PSTN)、シリアルケーブルなどを使ったネットワーク接続、あるいはその他の有線または無線通信リンクによる接続が挙げられるが、これらに限られるものではない。
印刷装置14の例としては、レーザープリンタ、インクジェットプリンタ、デジタルコピー機、ファクシミリ機、単機能画像装置、多機能周辺機器(MFP)画像装置、あるいは電子データを用いてハードコピーを生成できるその他の印刷装置が挙げられるが、それらに限られるものではない。
図2を参照すると、本発明の他の実施形態では、複数のグラフィックリスト要素からなるグラフィックリストを受付け(ステップS20)、当該グラフィックリストと関連する複数のパーティション(層とも称する)を生成し(ステップS22)、これらのパーティションに分類されたグラフィックリスト要素をレンダリングして(ステップS24)、中間ビットマップ層をビットブリットし(ステップS26)、出力ページに関連する画素値を出力する(ステップS28)。本発明に係る実施形態では、グラフィックリスト要素にはグラフィックオブジェクトが含まれている。なお、ステップS26にてビットブリットするとは、二つまたはそれ以上のビットマップを合わせることをいう。また、このビットブリット動作例としては、read-modify-writeメモリ動作、メモリ書き込み動作、メモリコピー動作などが挙げられる。
本発明のいくつかの実施形態では、各パーティションは他のパーティションから独立してレンダリングされている。また、本発明のいくつかの実施形態では、パーティションをさらに複数の副次パーティションに再分割することができる。また、本発明のいくつかの実施形態では、二つのパーティションを併合して、あるいは別の形で組み合わせ、一つのパーティションとすることができる。本発明のいくつかの実施形態では、パーティションを、パーティションのタイプ毎に適したプロセッサを用いてレンダリングすることができる。本発明のいくつかの実施形態では、専用のレンダリング装置を用いてパーティションをレンダリングする。本発明のいくつかの実施形態では、パーティションをレンダリングするプロセッサを、そのパーティションの複雑さに応じて選択してもよい。また、本発明のいくつかの実施形態では、パーティションをレンダリングするプロセッサを、そのパーティションに含まれるグラフィックオブジェクト数に応じて選択してもよい。また、本発明のいくつかの実施形態では、パーティションをレンダリングするプロセッサを、そのパーティション範囲のサイズに基づき選択してもよい。
本発明のいくつかの実施形態の一例では、パーティションは、そのパーティションと関連付けられたグラフィックリスト要素を記録したコピーを個別に有している。また、他の実施形態の一例では、パーティションは、オリジナルのグラフィックリスト中に、そのパーティションに関連づけられたグラフィックリスト要素を示すポインタを含んでいてもよい。さらに他の実施形態の一例では、グラフィックリスト要素がどのパーティションに属するかについては、そのグラフィックリスト要素の参照テーブルにより示す構成としてもよい。さらに他の実施形態の一例では、パーティションは、オリジナルのグラフィックリスト中に基準ポインタを含み、その基準ポイントから当該パーティションに属するグラフィックリスト要素までのオフセットのリストを含むように構成してもよい。当業者ならばわかるように、パーティションを記憶したり、あるいは示したりする方法やシステムには、様々なものがある。
(オブジェクトタイプ別にパーティション分割を実行する処理)
図2、3を参照し、本発明のいくつかの実施形態の一例について説明する。まず前提として、グラフィックリスト要素に関連付けられたグラフィックオブジェクトのタイプに応じて、ステップS22に示すように、グラフィックリストを分割し、複数のパーティションを生成しているものとする。これらの実施形態では、まず、グラフィックリストを受け付けると(ステップS30)、第一のグラフィックリスト要素を第一のパーティションに割り当てる(ステップS32)。そして、まだ割り当てられていないグラフィックリスト要素が残っているか判断する(ステップS34)。すべてのグラフィックリスト要素が各パーティションに割り当てられている場合(ステップS34において「NO」)、パーティションへの分割を終了する。もし、パーティションに割り当てられていないグラフィックリスト要素がある場合(ステップS34において「YES」)、続く次のグラフィックリスト要素を取得する(ステップS38)。新たに取得した次のグラフィックリスト要素のオブジェクトタイプを、現行のグラフィックリスト要素のオブジェクトタイプと同じであるか比較する(ステップS40)。もし両者のオブジェクトタイプが同じならば(ステップS40において「YES」)、新たに取得した次のグラフィックリスト要素を現行のグラフィックリスト要素と同じパーティションに加える(ステップS42)。新たに取得した次のグラフィックリスト要素を、次の比較に用いる現行のグラフィックリスト要素とする(ステップS44)。そして、グラフィックリストを調べて、まだ割り当てられていないグラフィックリスト要素が残っているか判断する(ステップS34)。もし新たに取得した次のグラフィックリスト要素のオブジェクトタイプと現行のグラフィックリスト要素のオブジェクトタイプとが異なる場合(ステップS40において「NO」の場合)、現行のパーティションとして新たなパーティションを形成し(ステップS46)、新たに取得した次のグラフィックリスト要素をこの新たに形成したパーティションに加える(ステップS48)。新たに取得した次のグラフィックリスト要素を次の比較に用いる現行のグラフィックリスト要素とする(ステップS50)。そして、グラフィックリストを調べて、まだ割り当てられていないグラフィックリスト要素が残っているどうか判断する(ステップS34)。本発明ではこの実施形態を、「オブジェクトタイプ別にパーティション分割を実行する処理」を示す実施形態と称することとする。なお、新たに取得したグラフィックリスト要素の比較対照となる、このグラフィックリスト要素よりも前に取得したグラフィックリスト要素を現行のグラフィックリスト要素と称する。また、グラフィックリスト要素を割り当てる対象となっているパーティションを現行のパーティションと称する。
本発明のいくつかの実施形態では、グラフィックオブジェクトのタイプをレンダリング装置機能に関連付けることができる。また、本発明のいくつかの実施形態では、グラフィックオブジェクトのタイプを、レンダリング装置機能と同様の処理用件に対応したグラフィックオブジェクト属性と関連付けてもよい。第一の専用プロセッサで処理されるグラフィックオブジェクトは、第一のグラフィックオブジェクトタイプに属するグラフィックオブジェクトに分類される。一方、第二の専用プロセッサで処理されるグラフィックオブジェクトは、第二のグラフィックオブジェクトタイプに属するグラフィックオブジェクトに分類される。本発明のいくつかの実施形態では、「オブジェクトタイプ別にパーティション分割を実行する処理」において、テキストグラフィックオブジェクトであるのか、ベクターグラフィックオブジェクトであるのか、それともピクトリアルグラフィックオブジェクトであるにかに基づいて、グラフィックリストをパーティション分割する。なお、これらの実施形態では、グラフィックオブジェクトタイプは、テキスト、ベクター、およびピクトリアルとなる。本発明の他の実施形態では、「オブジェクトタイプ別にパーティション分割を実行する処理」において、カラーグラフィックオブジェクトであるのか、あるいは、白黒グラフィックオブジェクトであるのかに基づいて、グラフィックリストをパーティション分割する。これらの実施形態では、グラフィックオブジェクトタイプは、カラーと白黒となる。本発明のさらなる他の実施形態では、「オブジェクトタイプ別にパーティション分割を実行する処理」において、輪郭付きのグラフィックオブジェクトなのか、あるいは輪郭なしのグラフィックオブジェクトなのかに基づいて、グラフィックリストをパーティション分割する。これらの実施形態では、グラフィックオブジェクトタイプは、輪郭付きと輪郭なしとなる。本発明のさらなる他の実施形態では、「オブジェクトタイプ別にパーティション分割を実行する処理」において、三次元グラフィックオブジェクトなのか非三次元グラフィックオブジェクトなのかに基づいて、グラフィックリストをパーティション分割する。これらの実施形態では、グラフィックオブジェクトタイプは、三次元と非三次元となる。
「オブジェクトタイプ別にパーティション分割を実行する処理」を示すいくつかの実施形態では、パーティションは次のような情報を含んでいる。すなわち、パーティションのタイプ(例えば、テキスト、ベクター、ピクトリアルなどが挙げられるが、これらに限られるものではない)、レンダリングのシーケンスにおいてパーティションがレンダリングされる順番、パーティションをレンダリングするために使われるプロセッサのタイプまたは番号、パーティションにおいて実施される機能のリスト、パーティションに関連付けられたグラフィックリスト要素を含むパーティションボディなどである。
「オブジェクトタイプ別にパーティション分割を実行する処理」を示す本発明のいくつかの実施形態では、パーティションを、該パーティションと関連付けられたグラフィックオブジェクトタイプに応じた専用のレンダリング装置でレンダリングする。例えば、テキストパーティションはテキストレンダリング装置でレンダリングされ、ベクターパーティションはグラフィカルアートレンダリング装置でレンダリングされ、ビットマップはピクトリアルレンダリング装置でレンダリングされる。また他の実施形態では、一以上のパーティションを、汎用レンダリング装置でレンダリングしてもよい。また、いくつかの実施形態では、レンダリング装置が利用可能かなど他の条件に基づいて、パーティションをレンダリング装置でレンダリングする。
「オブジェクトタイプ別パーティション分割を実行する処理」を、図4のページ60を参照して説明する。ページ60には、ページ60に最初に配置された第一テキストグラフィックオブジェクト62、ページ60に二番目に配置された第一ベクターグラフィックオブジェクト64、ページ60に三番目に配置された第二テキストグラフィックオブジェクト66、ページ60に四番目に配置された第二ベクターグラフィックオブジェクト68、ページ60に五番目に配置された第一ビットマップグラフィックオブジェクト70、ページ60に六番目に配置された第三ベクターグラフィックオブジェクト72、ページ60に七番目に配置された第二ビットマップグラフィックオブジェクト74を含んでいる。このページ60に関連付けられたグラフィックリスト例は次のようになる;
1. DrawText (Text1, Text2, Text3, Text4, Text5) 62
2. DrawRectangle (red) 64
3. DrawText (Text6, Text7) 66
4. DrawEllipse (blue) 68
5. DrawPatch (pictorial_image_1) 70
6. DrawRectangle (green) 72
7. DrawPatch (pictorial_image_2) 74
上記において、「Text4」は「赤色の矩形」64に覆われている。それぞれの色は階調を異ならせることによって示される。画像(第一ビットマップグラフィックオブジェクト)70と画像(第二ビットマップグラフィックオブジェクト)74とは異なるハッチング−マークによって区別して描かれている。グラフィックリスト要素には、各要素毎の配置場所情報がさらに含まれている。このグラフィックリストの一例では、本発明の「オブジェクトタイプ別にパーティション分割を実行する処理」を示す実施形態によると、グラフィックリスト要素を含む、七つのパーティションに分割される。本発明のいくつかの実施形態では、各パーティションに関連付けられた情報の一例として、表1の例を挙げることができる。
Figure 2010238236
本発明のいくつかの実施形態によれば、第一のパーティションには、グラフィックリストのうち、第一のグラフィックリスト要素、すなわち「DrawText (Text1, Text2, Text3, Text4, Text5)」が分類されている。そして、この第一のパーティションは、パーティションタイプとして、テキストタイプグラフィックオブジェクトと関連付けられている。次に第二のグラフィックリスト要素「DrawRectangle (Red)」はテキストタイプグラフィックオブジェクトではないので、第二のグラフィックリスト要素を調べた際に第二のパーティションが作成される。第二のパーティションは、パーティションタイプとして、ベクタータイプグラフィックオブジェクトに関連付けられており、第二のグラフィックリスト要素が分類されている。第三のグラフィックリスト要素「DrawText(Text6, Text7)」を調べると、オブジェクトタイプがベクターからテキストに変わっているので、第三のパーティションが作られる。第三のパーティションは、パーティションタイプとして、テキストタイプグラフィックオブジェクトと関連付けられており、第三のグラフィックリスト要素が分類されている。第四のグラフィックリスト要素「DrawEllipse(blue)」を調べると、第四のグラフィックリスト要素がベクタータイプオブジェクトであり現行(第三)のパーティションがテキストオブジェクトに関連付けられているので、第四のパーティションが作られることになる。第四のパーティションはパーティションタイプとして、ベクタータイプグラフィックオブジェクトと関連付けられており、第四のグラフィックリスト要素が分離されている。第五のグラフィックリスト要素「DrawPatch(pictorial_image_1)」を調べると、第五のグラフィックリスト要素はビットマップタイプオブジェクトなので、第五のパーティションが作られる。第五のパーティションは、パーティションタイプとして、ビットマップオブジェクトに関連付けられており、第五のグラフィックリスト要素が分類されている。第六のグラフィックリスト要素「DrawRectangle(green)」を受け付けると、オブジェクトタイプがビットマップからベクターに変わっているので、新たなパーティションが必要となる。第六のパーティションは、パーティションタイプとして、ベクターオブジェクトに関連付けられており、第六のグラフィックリスト要素が分類されている。第七のグラフィックリスト要素「DrawPatch(pictorial_image_2)」を調べると、オブジェクトタイプがベクターからビットマップに変わっているので、第七のパーティションが作られる。第七のパーティションは、ビットマップタイプオブジェクトと関連付けられており、第七のグラフィックリスト要素を含んでいる。
さらにまた「オブジェクトタイプ別パーティション分割を実行する処理」を、図5のページ80を参照しつつ説明する。ページ80には、ページ80に最初に配置された第一ベクターグラフィックオブジェクト82、ページ80に二番目に配置された第二ベクターグラフィックオブジェクト84、ページ80に三番目に配置された第一テキストグラフィックオブジェクト86、ページ80に四番目に配置された第三ベクターグラフィックオブジェクト88、ページ80に五番目に配置された第一ビットマップグラフィックオブジェクト90、ページ80に六番目に配置された第二ビットマップグラフィックオブジェクト92、ページ860に七番目に配置された第四ベクターグラフィックオブジェクト94を含んでいる。このページ80に関連付けられたグラフィックリスト例は次のようになる;
1. DrawEllipse (red) 82
2. DrawRectangle (red) 84
3. DrawText (Text6, Text7) 86
4. DrawEllipse (blue) 88
5. DrawPatch (pictorial_image_1) 90
6. DrawPatch (pictorial_image_2) 92
7. DrawRectangle (green) 94
上記において、それぞれの色は階調を異ならせることによって示される。画像(第二ビットマップグラフィックオブジェクト)92と画像(第四ベクターグラフィックオブジェクト)94とは異なるハッチング−マークによって区別して描かれている。グラフィックリスト要素には、各要素毎にその配置場所情報がさらに含まれている。このグラフィックリストの一例では、五つのパーティションに分割される。本発明のいくつかの実施形態によれば、各パーティションに関連付けられた情報の一例として、表2の例を挙げることができる。
Figure 2010238236
本発明のいくつかの実施形態によれば、第一のパーティションには、どちらの要素もベクタータイプ要素である、第一のグラフィックリスト要素「DrawEllipse(red)」と第二のグラフィックリスト要素「DrawRectangle(red)」とが分類される。つまり、第一のパーティションは、パーティションタイプとして、ベクタータイプグラフィックオブジェクトと関連付けられている。次に、第三のグラフィックリスト要素「DrawText(Text6, Text7)」が調べられると、第三のグラフィックリスト要素はベクタータイプグラフィックオブジェクトではないので、第二のパーティションが作られる。第二のパーティションは、パーティションタイプとして、テキストタイプグラフィックオブジェクトと関連付けられており、第三のグラフィックリスト要素が分類される。次に、第四のグラフィックリスト要素「DrawEllipse(blue)」が調べられると、オブジェクトタイプがテキストからベクターへと変わっているので、第三のパーティションが作られる。第三のパーティションは、パーティションタイプとして、ベクタータイプグラフィックオブジェクトと関連付けられており、第四のグラフィックリスト要素が分類される。次に、第五のグラフィックリスト要素「DrawPatch(pictorial_image_1)」が調べられると、第五のグラフィックリスト要素はビットマップタイプオブジェクトであり現行のパーティション(第三のパーティション)はベクターオブジェクトと関連付けられているので、第四のパーティションが作られる。第四のパーティションは、パーティションタイプとして、ビットマップグラフィックオブジェクトと関連付けられており、第五のグラフィックリスト要素が分類されている。次に、第六のグラフィックリスト要素「DrawPatch(pictorial_image_2)」が調べられると、第四のパーティションと関連付けられたオブジェクトタイプと同じオブジェクトタイプであるため、第六のグラフィックリスト要素は現行のパーティション(第4のパーティション)に加えられる。このように、第四のパーティションにはさらに第六のグラフィックリスト要素が分類される。次に、第七のグラフィックリスト要素「DrawRectangle(green)」が調べられると、このグラフィックリスト要素はベクタータイプオブジェクトであり現行のパーティション(第4のパーティション)は、パーティションタイプとして、ビットマップタイプグラフィックオブジェクトと関連付けられているため、新たに第五のパーティションが作られる。第五のパーティションは、パーティションタイプとして、ベクターオブジェクトと関連付けられており、第七のグラフィックリスト要素が分類される。
本発明の「オブジェクトタイプ別にパーティション分割を実行する処理」を示す実施形態にて、ステップS24に示す複数のパーティションのレンダリングは、複数のレンダリングプロセッサを利用して「同時」に行ってもよいし、「順不同」で行ってもよい。また、いくつかの実施形態では、パーティションに分類されたグラフィックオブジェクトをレンダリングするプロセッサを、そのプロセッサと関連付けられているグラフィックオブジェクトタイプに応じて選択する。レンダリングされたパーティションのグラフィックオブジェクトは、ステップS26に示すように、順次ビットブリットされるが、その際に中間のビットブリットを並行して行うことができる。例えば、P1、P2、・・・ ・・・P6と名付けられた、六つのレンダリングされたパーティションに対して、P1、P2、P3、P4,P5、P6の順序で順次ビットブリットを行う。あるいは、P1とP2とを順次ビットブリットして、P1P2というビットブリットの中間結果を生成する。P3とP4とを順次ビットブリットして、P3P4というビットブリットの中間結果を生成する。P5とP6とを順次ビットブリットして、P5P6というビットブリットの中間結果を生成する。三つのビットブリット装置がこれらの中間結果を同時に生成し、これらの中間ビットブリット結果が、P1P2、P3P4、P5P6の順番で順次ビットブリットされる。あるいは、P1、P2、P3が順次ビットブリットされて中間ビットブリット結果P1P2P3を生成し、P4、P5、P6が順次ビットブリットされて中間ビットブリット結果であるP4P5P6を生成してもよい。そして、これらの中間結果を、P1P2P3,P4P5P6の順番で順次ビットブリットする。なお、順次ビットブリットするとは、隣接するパーティション同士で順番にビットブリットする場合も、中間ビットブリット結果同士で順番にビットブリットする場合も指す。したがって、本発明のいくつかの実施形態では、順次ビットブリットを、中間ビットブリットを同時に行うことによって実施する。
図6a、図6b、図7a、図7bは、本発明のいくつかの実施形態に基づいて、図4、5にてそれぞれ示したページ60とページ80とに対して実行したレンダリング(ステップS24)とビットブリット(ステップS26)の例を示している。
図4および図6a、図6bを参照すると、パーティション生成装置100は、ページ60に関するグラフィックリストから、複数のパーティション101−107を生成する。図6aでは、パーティション101−107を、それぞれに関連するグラフィックオブジェクトの絵を用いて示している。各パーティション101−107は、パーティション101−107それぞれに関連するグラフィックオブジェクトタイプに適した専用のレンダリング装置111−117によってレンダリングされる。パーティションのレンダリングは、プロセッサが利用可能か否かといった条件などに基づき、さまざまなレベルで並列処理される。パーティション101−107はレンダリングされると、図6bに示すように、レンダリング済バッファ120、あるいはその他のメモリに入力される。パーティション配置順序に基づいて、レンダリング済パーティション121−127は、ビットブリット装置130によりそれぞれビットブリットされて、ページバッファ132、あるいはその他のメモリに入力される。なお、図6a、図6bにおいて、図6a中のアルファベット「A」から「G」それぞれは、図6b中のアルファベット「A」から「G」それぞれに対応しているものとする。なお、これ以降、スペースの関係で2図に分離した「図7a、図7b」、「図10a、図10b」、「図12a、図12b」、「図14a、図14b」、「図16a、図16b」、「図18a、図18b」、および「図19a、図19b」についても、図中のアルファベット「A」・・・は互いに対応するものとする。本発明のいくつかの実施形態では、すべてのパーティションがレンダリングされてからビットブリット装置130によるビットブリットが開始されてもよい。他の実施形態では、あるパーティションのビットブリットが始まるのは、そのパーティションがレンダリングされ、かつ配置順序においてそのパーティションよりも先行するすべてのパーティションがビットブリットされてからであってもよい。
図5および図7a、図7bを参照すると、パーティション生成装置100は、ページ80に関するグラフィックリストから、複数のパーティション141−145を生成する。図7aに示すパーティション141−145は、それぞれに関連するグラフィックオブジェクトの絵を用いて示している。各パーティション141−145は、パーティション141−145それぞれに関連するグラフィックオブジェクトタイプに適した専用のレンダリング装置151−155でレンダリングされる。パーティションのレンダリングは、プロセッサが利用可能か否かといった条件などに基づき、さまざまなレベルで並列処理される。パーティション141−145はレンダリングされると、図7bに示すようにレンダリング済バッファ120、あるいはその他のメモリに入力される。パーティション配置順序に基づいて、レンダリング済パーティション161−165は、ビットブリット装置130によりそれぞれビットブリットされて、ページバッファ132あるいはその他のメモリに入力される。本発明のいくつかの実施形態では、すべてのパーティションがレンダリングされてからビットブリット装置130によるビットブリットが開始されてもよい。また、他の実施形態では、あるパーティションのビットブリットが始まるのは、そのパーティションがレンダリングされ、かつ配置順序においてそのパーティションに先行するすべてのパーティションがビットブリットされてからであってもよい。
「オブジェクトタイプ別にパーティション分割を実行する処理」により、「並列処理」のレンダリングまたは「順不同の」レンダリングと、順次ビットブリットとが可能になる。本発明の他の実施形態では、「並列処理」のレンダリングまたは「順不同の」レンダリングと、「並列処理」のビットブリットまたは「順不同の」ビットブリットが行われてもよい。これらいくつかの実施形態では、グラフィックリストを二つのパーティションに分割する。一つ目は、「重畳」パーティションとも呼ばれる第一のパーティションで、ここに含まれるグラフィックリスト要素は、レンダリングされると他のグラフィックリスト要素に重なるか他のグラフィックリスト要素によって重ねられる。二つ目は、「非重畳」パーティションとも呼ばれる第二のパーティションで、ここに含まれるグラフィックリスト要素は、レンダリングされても、他のグラフィックリスト要素に重なったり他のグラフィックリスト要素によって重ねられたりすることがない。重畳という表現は、他のオブジェクトにより重ねられる場合と、他のオブジェクトに重ねる場合の双方の場合を指すのに用いるものとする。
(重畳別にパーティション分割を実行する処理)
次に、他の実施形態を、図8を参照して説明する。まず、グラフィックリストを受け付けると(ステップS180)、二つのパーティションを生成する(ステップS182)。一つ目は「重畳」パーティションで、ここに含まれるグラフィックリスト要素は、レンダリングされると、他のグラフィックリスト要素と重なるか、他のグラフィックリスト要素によって重ねられる。二つ目は「非重畳」パーティションで、ここに含まれるグラフィックリスト要素は、レンダリングされても、他のグラフィックリスト要素と重なったり他のグラフィック要素リストに重ねられたりすることがない。また、各パーティション(「重畳」パーティションと「非重畳」パーティション)を、汎用レンダリング装置によってそれぞれレンダリングする(ステップS183、S184)。なお、ステップS183、184に示すレンダリングは、レンダリング装置が利用可能か否かといった条件などに応じて、並列処理される。次に、レンダリングされたデータをそれぞれビットブリットし(ステップS185、S186)、ページを印刷エンジンに出力して(ステップS188)、印刷が行われる。なお、レンダリングされたパーティションは、他のパーティションの処理とは無関係にビットブリットされる。本発明のこれらの実施形態を、「重畳別にパーティション分割を実行する処理」と称する。「重畳別にパーティション分割を実行する処理」に係る実施形態のいくつかでは、パーティションには以下のような情報を含まれていてもよい。すなわち、パーティションタイプ(たとえば、「重畳」または「非重畳」)、プロセッサのタイプまたは番号、パーティションにおいて実施される機能のリスト、パーティションに関連付けられたグラフィックリスト要素を含むパーティションボディなどである。
「重畳別にパーティション分割を実行する処理」を含む本発明のいくつかの実施形態について、図9を参照しつつ説明する。まず前提として、グラフィックリスト要素が他のグラフィックリスト要素と重なる、あるいは他のグラフィックリスト要素により重ねられるかに応じて、ステップS182に示すように、グラフィックリストを分割し、複数のパーティションを生成しているものとする。グラフィックリストを受付けると(ステップS190)、パーティションに割り当てられていないグラフィックリスト要素が残っているかについて調べる(ステップS192)。割り当てられていないグラフィックリスト要素が残っていない場合(ステップS192おいて「NO」)、パーティションの分割を終了する。一方、割り当てられていないグラフィックリスト要素が残っている場合は(ステップS192において「YES」)、次のグラフィックリスト要素を取得する(ステップS196)。新たに取得した次のグラフィックリスト要素をすでに調べたグラフィックリスト要素と比較して、新たに取得した次のグラフィックリスト要素が、すでに調べたグラフィックリスト要素の少なくとも一つと重畳しているかについて判定する(ステップS198)。重畳していない場合(ステップS198において「NO」)、新たに取得した次のグラフィックリスト要素を「非重畳」パーティションに加える(ステップS200)。もし新たに取得した次のグラフィックリスト要素がすでに調べたグラフィックリスト要素の少なくとも一つと重畳する場合(ステップS198において「YES」)、新たに取得した次のグラフィックリスト要素を「重畳」パーティションに加える(ステップS202)。そして、ここで重ねられたグラフィックリスト要素が既に「重畳」パーティションに分類されているかについて判定する(S204)。重ねられた方のグラフィックリスト要素が、「非重畳」パーティションに分類されていた場合(ステップS204において「NO」)、そのグラフィックリスト要素を「非重畳」パーティションから「重畳」パーティションへと移動させる。すなわち、そのグラフィックリスト要素を「重畳」パーティションに追加し、「非重畳」パーティションから削除する(ステップS206)。そして、再度、ステップS192に戻って、割り当てられていないグラフィックリスト要素が残っていないかについて、グラフィックリストを調べる。一方、重ねられた方のグラフィックリスト要素がすでに「重畳」パーティションに分類されていた場合(ステップS207)、ステップS192に戻って、そのまま割り当てられていないグラフィックリスト要素が残っていないかについて、グラフィックリストを調べる。
再度、図4のページ60を参照しつつ、「重畳別にパーティション分割を実行する処理」について説明する。まず、「重畳」パーティションには以下のグラフィックリスト要素が分離されているものとする;
1. DrawText (Text1, Text2, Text3, Text4, Text5) 62
2. DrawRectangle (red) 64
4. DrawEllipse (blue) 68
6. DrawRectangle (green) 72
7. DrawPatch (pictorial_image_2) 74
そして、「非重畳」パーティションには以下のグラフィックリスト要素が分類されているものとする。
3. DrawText (Text6, Text7) 66
5. DrawPatch (pictorial_image_1) 70
図10a、図10bでは、「重畳別にパーティション分割を実行する処理」に係る本発明の実施形態に従ったページ60に対する処理例を示す。図10aに示すように、本実施形態では、二つのパーティション、すなわち「非重畳」パーティション221と「重畳」パーティション222とがパーティション生成装置220によって作られる。各パーティション221、222は汎用レンダリング装置223、224によってレンダリングされて、レンダリング済バッファ226、あるいは他のメモリに入力される。上述したレンダリングでは、レンダリング装置が利用可能か否かといった条件などに応じて、レンダリングを実行するレンダリング装置を選択し、並列処理する。レンダリングしたパーティション227、228をビットブリット装置229、230によってビットブリットして、ページバッファ232またはその他のメモリに入力する。図10bに示すように、ビットブリット装置229、230はレンダリング済の「重畳」パーティション228とレンダリング済の「非重畳」パーティション227とを並列処理する。ただし、「重畳」パーティション222に対するビットブリット装置230によるビットブリットは順次に行われる。
また、本発明のいくつかの実施形態では、同色で不透明な複数のグラフィックオブジェクトが重畳する場合は、それらのグラフィックオブジェクトを「非重畳」パーティションに分類する構成とすることもできる。それらのグラフィックオブジェクトは、互いにどのような順番でレンダリングされてもかまわないからである。しかし、同色の複数のグラフィックオブジェクトのうち、第一オブジェクトが、異なる色の他のグラフィックオブジェクトと重畳する場合、「非重畳」とは見なさないで、当該第一オブジェクトと当該異なる色のグラフィックオブジェクトとを「重畳」パーティションに分類する。ただし、同色の複数のグラフィックオブジェクトのうち、異なる色の他のグラフィックオブジェクトと重ならないオブジェクトについては、「非重畳」パーティションに分類されたままとする。
(分離・重畳別にパーティション分割を実行する処理)
また、他の実施形態では、「重畳」パーティションを複数の副次パーティションにさらに再分割する構成としてもよい。各副次パーティションに置かれるグラフィックオブジェクト(グラフィックリスト要素)同士は、印刷ページにおいて互いが空間的に分離している。なお、互いが空間的に分離された重畳するグラフィックリスト要素群とは、各グラフィックリスト要素が重畳しているグラフィックリスト要素群であって、他のグラフィックリスト要素群とは印刷レイアウトにおいて重なり合わない、すなわち重畳しないものを意味する。また、この実施形態を、「分離・重畳別にパーティション分割を実行する処理」と称する。図11を参照すると、この実施形態のいくつかでは、グラフィックリストを受け付け(ステップS240)、当該グラフィックリストから複数のパーティションを生成する(ステップS242)。これらのパーティションには、他のいかなるグラフィックリスト要素(グラフィックオブジェクト)とも重ならず、または重ねられることのないグラフィックリスト要素すべてが分類される第一のパーティションを含む。この第一のパーティションを「非重畳」パーティションと称する。また、重畳するグラフィックリスト要素が分類される複数のパーティションも生成される。これらのパーティションを「重畳」パーティションと呼ぶ。各「重畳」パーティションには重畳し合うグラフィックリスト要素群が分類されている。つまり、各「重畳」パーティションには、重畳し合うグラフィックリスト要素からなるグループであって、印刷ページにおいて互いに空間的に分離するグループがそれぞれ分類される。まず、「非重畳」パーティションと、印刷ページにおいて互いに空間的に分離するグラフィックリスト要素群がそれぞれ分類された複数の「重畳」パーティションとをそれぞれレンダリングする(ステップS244、S246、S248、・・・S250)。パーティションのレンダリング(ステップS244、S246、S248、・・・S250)は、レンダリング装置が利用可能か否かといった条件などに応じて、「並列処理」または「順不同で」処理される。また、互いに分離している、他の「重畳」パーティションのグラフィックリスト要素と「重畳」パーティションのグラフィックリスト要素とのレンダリングは順次行われる。レンダリングしたパーティションそれぞれをビットブリットし(ステップS252、S254、S256、・・・S258)、レンダリングしたページを出力する(ステップS260)。レンダリングしたパーティションのビットブリット(ステップS252、S254、S256、・・・S258)は、関連するパーティション同士が空間的に重畳していないので、「並列処理」してもよいし「順不同で」処理してもよい。一方、レンダリングした、パーティションに含まれるグラフィックリスト要素が他の「重畳」パーティションの要素と互いに分離している「重畳」パーティションでのビットブリットは順次行われる。つまり、一般的なレンダリング装置を備えるプリンタに合わせて送信されるプリンタデータは、後から送信されるグラフィックリスト要素が、既にレンダリングされたグラフィックリスト要素を上書きしても問題がないように作成されている。このため、「重畳」パーティションでは、グラフィックリスト要素を順次レンダリングし、ビットブリットすれば所望するビットマップのページ画像を取得することができる。
ここで図12a、図12bを参照して、「分離・重畳別にパーティション分割を実行する処理」に係る本発明の実施形態に従って図4のページ60を処理した例を説明する。図12aに示すように、この実施形態に係る例では、三つのパーティション、すなわち「非重畳」パーティション271と、印刷ページにおいて互いに分離した二つの「重畳」パーティション272と273とが、パーティション生成装置270によって生成される。各パーティション271、272、273を汎用レンダリング装置274、275、276によってレンダリングして、それぞれレンダリング済バッファ278、または他のメモリに入力する。パーティションのレンダリングは、汎用レンダリング装置274、275、276が利用可能か否かといった条件などに応じて、「並列処理」してもよいし、あるいは「順不同で」処理してもよい。図12bに示すように、レンダリングされたパーティション279、280、281を、ビットブリット装置282、283、284がビットブリットして、ページバッファ286またはその他のメモリに入力する。なお、ビットブリット装置282、283、284によるページへのビットブリットは「並列処理」により行われてもよいし、あるいは「順不同で」処理される構成であってもよい。
(Z値別にパーティション分割を実行する処理)
図13を参照して本発明の他の実施形態について説明する。この本発明の他の実施形態では、グラフィックオブジェクトのZ値(z-depth)すなわち、奥行き情報に基づいて、グラフィックリストをパーティションに分割する。なお、この実施形態を、「Z値別にパーティション分割を実行する処理」と称する。まず、グラフィックリストを受付け(ステップS290)、グラフィックリスト要素のZ値に応じてパーティションを生成する(ステップS292)。なお、同一パーティションに属するグラフィックリスト要素それぞれは、同じZ値を持つ。また、他の実施形態では、連続するZ値の範囲とパーティションとを関連付けており、パーティションは関連付けられた範囲内にあるZ値のグラフィックリスト要素を含む構成としてもよい。さらに他の実施形態では、二以上の、非連続となるZ値それぞれを、各パーティションに関連付ける構成としてもよい。各パーティション(第一のZ値パーティション、第二のZ値パーティション、第三のZ値パーティション、・・・第nのZ値パーティション)をレンダリングして(ステップS294、S295、S296、・・・S297)、レンダリング済バッファ、またはその他のメモリに入力する(ステップS298)。そして、レンダリングした各パーティションをZ値またはZ値範囲順に順次ビットブリットする(ステップS300、S301、S302、S303)。例えば、いくつかの実施形態では、Z値の値が0のグラフィックオブジェクトが分類されたレンダリング済パーティションを最初にビットブリットする(ステップS300)。次に、Z値の値が1のグラフィックオブジェクトが分類されたレンダリング済パーティションをビットブリットし(ステップS301)、レンダリング済パーティションをすべてビットブリットするまで、同様のビットブリットが続けられる。例えば、図13に示すようにステップS300、S301、S302、・・・S303と順次レンダリング済パーティションがビットブリットされる。また、他の実施形態では、順次行われるビットブリットにおいて、中間ビットブリットを並列して行う構成(図示せず)としてもよい。このようにビットブリッドして、レンダリングしたページを出力する(ステップS304)。
次に図14a、図14bを参照して、「Z値別にパーティション分割を実行する処理
」に係る本発明の実施形態に従って図4のページ60を処理した例を説明する。この処理例では、まず、図14aに示すように、パーティション生成装置310が、各グラフィックオブジェクトについてのZ値(奥行き情報)を判定する。ここで、各グラフィックオブジェクトについて、Z値が0、1、2となる3つのグループに分類できるものとする。パーティション生成装置(奥行き情報判定部、分類部、対応付け部、再分類部)310は、このZ値0、1、2それぞれの値に基づき、それぞれを対応付けた三つのパーティション311、312、313を生成し、生成したパーティションそれぞれにグラフィックオブジェクトを分類する。そして、各パーティション311、312、313それぞれを汎用レンダリング装置(レンダリング部)314、315、316がレンダリングし、図14bに示すように、レンダリング済バッファ318またはその他のメモリに入力する。汎用レンダリング装置314、315、316によるパーティションのレンダリングは、この汎用レンダリング装置314、315、316が利用可能か否かといった条件などに応じて、「並列処理」により処理されてもよいし、「順不同で」処理されてもよい。あるいは、グラフィックオブジェクトのレンダリングを行うレンダリング装置をパーティションごとに対応付けている構成であってもよい。このようにパーティションごとにレンダリング装置を対応付ける構成の場合、パーティションとレンダリング装置との対応付けは、パーティション生成装置310によって以下のように実行される。すなわち、まず、パーティション生成装置310は、グラフィックリストを受付ける際に、利用可能なレンダリング装置のリストと、例えば、レンダリング装置の配置場所、状態、タイプ、平均処理量、最大処理速度、およびその他のレンダリング装置の属性や情報などを含むレンダリング装置情報とを受付ける。そして、このレンダリング装置情報を参照して、パーティションごとに対応付けるレンダリング装置を決定する。次に、レンダリング済パーティション(レンダリング済Z値0のパーティション319、レンダリング済Z値1のパーティション320、レンダリング済Z値2のパーティション321)を、ビットブリット装置(ビットブリット部)322が、Z値別に順次ビットブリットし、ページバッファ324またはその他のメモリに入力する。なお、上記したレンダリング済Z値が0のパーティション319、レンダリング済Z値が1のパーティション320、レンダリング済Z値が2のパーティション321とは、Z値が0のグラフィックオブジェクトを分類したパーティション、Z値が1のグラフィックオブジェクトを分類したパーティション、Z値が2のグラフィックオブジェクトを分類したパーティションそれぞれを汎用レンダリング装置314、315、316によりレンダリングしたものである。
なお、上述したように、本実施形態では、パーティションをさらに複数の副次パーティションに再分割することができる。例えば、「Z値別にパーティション分割を実行する処理」において、さらなる副次パーティションへの再分割は、グラフィックオブジェクトのタイプに基づいて行う構成としてもよい。なお、Z値に基づいてグラフィックリストのパーティションへの分割後に、さらに各グラフィックオブジェクトのタイプに基づき副次パーティションへ再分割する場合、この再分割の処理は、「オブジェクトタイプ別にパーティション分割を実行する処理」と同様の処理を行う。
本発明のいくつかの実施形態において、グラフィックリストのパーティションへの分割(たとえば、「オブジェクトタイプ別にパーティション分割を実行する処理」、「重畳別にパーティション分割を実行する処理」、「分離・重畳別にパーティション分割を実行する処理」、「Z値別にパーティション分割を実行する処理」)では、二以上のグラフィックリスト要素間における重畳状態を判断する必要がある。本発明のいくつかの実施形態では、グラフィックリスト要素は、バウンディングボックス(Bounding Box)やバウンディング形状(Bounding Shape)と関連付けられている。バウンディングボックスあるいはバウンディング形状により、レンダリング済のページにおいて、空間領域内にレンダリング済グラフィックリスト要素に対応する境界線を引く。本発明のいくつかの実施形態では、複数のバウンディング形状が一つのグラフィックリスト要素と関連付けられている。図15aに、円330と関連したバウンディングボックス332の一例を示す。図15bには、円330と、複数の関連するバウンディング形状333−337の例を示す。この例では、レンダリングされた円330と、関連した複数のバウンディング形状333−337に対応するレンダリング済みの複数領域の総和とが関連付けられている。図15cには、円330と関連するバウンディングボックス332と、複数のバウンディング形状338−341とを組み合わせた例を示す。この例において、レンダリング済みの円330は、バウンディングボックス332と、バウンディング形状338−341と減法的な関係により関連付けられている。すなわち、レンダリングされた円330によって占められる空間領域は、正方形のバウンディングボックス332から三角形の領域(バウンディング形状338−341)を引いて得られる領域と近似する。
本発明のいくつかの実施形態では、二つのグラフィックリスト要素それぞれの近似したバウンディング形状が重なり合う場合、それら二つのグラフィックリスト要素は重畳していると見なすことができる。本発明のいくつかの実施形態では、関連する複数のバウンディング形状同士を直接比較する。すなわち、この実施形態では、これらバウンディング形状同士を解析して比較して、重畳状態を判断する。
また、他の実施形態では、ページグリッドを用いてグラフィックリスト要素の重畳を判断してもよい。図16a、図16bを参照してページグリッドを用いてグラフィックリスト要素の重畳を判断する処理について説明する。本発明の他の実施形態では、ページを複数のグリッド要素に分割し(ステップS350)、初期化して各グリッド要素を「空」にする(ステップS351)(「空」とは、グリッド要素に対応する空間領域を占有するグラフィックオブジェクトが無いことを示す)。そして、次に、グリッド要素を用いて重畳するグラフィックリスト要素があるかどうかを判断する。まず、各グラフィックリスト要素に関連付けられた重畳リストを初期化して「なし」にする(ステップS352)(「なし」とは、グラフィックリスト要素が他のグラフィックリスト要素と重なったり、他のグラフィックリスト要素によって重ねられたりしていないことを示す)。そして、グラフィックリスト要素間における重畳について、各グラフィックリスト要素を調べる。グラフィックリスト要素それぞれを調べて、まだ調べられていないグラフィックリスト要素が残っているかについて判断する(ステップS354)。すべてのグラフィックリスト要素について重畳状態を調べている場合(ステップS354において「NO」)、重畳判断処理を終了する。一方、重畳状態をまだ調べていないグラフィックリスト要素が残っている場合(ステップS354において「YES」)、次のグラフィックリスト要素と関連するバウンディング形状を取得する(ステップS358)。そして、取得したバウンディング形状をページグリッドに配置する(ステップS360)。そして、バウンディング形状が重なるグリッド要素が存在するかそれぞれ調べ、バウンディング形状が重なるグリッド要素が残っていないか判定する(ステップS362)。ここで、調べる必要のある、バウンディング形状が重なるグリッド要素が残っていない場合(ステップS362において「NO」)、ステップS354に戻って、まだ調べていないグラフィックリスト要素があるかについて、グラフィックリストをさらに調べる。一方、調べる必要のある重畳するグリッド要素が残っている場合(ステップS362において「YES」)であって、現行のグリッド要素に「空」が関連付けられているとき(図16bに示すステップS366において「YES」)、グリッド要素の関連性を「空」から「占有」へと変え、このグリッド要素「占有」をマークする(ステップS368)、そして、ステップS376に進み、グラフィックリスト要素とグリッド要素とを関連付ける。一方、現行のグリッド要素に「空」が関連付けられていない場合は(ステップS366において「NO」)、グリッド要素の関連性を調べて、このグリッド要素が「占有」と関連付けられているかについて判断する(ステップS370)。ここで、グリッド要素が「占有」と関連付けられていない場合(ステップS370において「NO」)、グリッド要素がすでに二以上のグラフィックリスト要素と重なっていることとなる。このため、グリッド要素と重畳するグラフィックリスト要素それぞれとの対応関係を示す重畳リストを更新する(ステップS372)。そして、重畳リストにおけるこれらグラフィックリスト要素と、今調べられたグラフィックリスト要素との重畳状態を示すとともに、今調べられたグラフィックリスト要素とグリッド要素との対応関係を示す。一方、グリッド要素が「占有」と関連付けられている場合(ステップS370において「YES」)、グリッド要素の関連性を「重畳」へと変え、このグリッド要素に「重畳」をマークする(ステップS374)。なお、この「重畳」状態は、このグリッド要素において、二つのグラフィックリスト要素が重なっていることを示している。グラフィックリスト要素が関連付けられた重畳リストを更新すると(ステップS372)、今調べられたグラフィックリスト要素を、グリッド要素と関連付ける(ステップS376)。そして、図16aに示すステップS362に戻り、すべてのグリッド要素について調べたか判定し(ステップ362)、ステップS362において「NO」の場合になると、ステップS354に戻り、グラフィックリストにおいて、調べられていないグラフィックリスト要素が残っているかについて判定する(ステップS354)。そして、すべてのグラフィックリスト要素について調べられると(ステップ354において「NO」)、処理を終了する。
ページグリッドを用いてグラフィックリスト要素の重畳を判断する、この実施形態は、図17に示すページグリッド例390を参照することでさらによりよく理解できるであろう。図17では、6つのグラフィックオブジェクト(オブジェクト1から6)と、それぞれ名付けた6つのグラフィックオブジェクト用のバウンディングボックス391−396を示す。説明の便宜上、バウンディングボックス391−396を示すページグリッドとは別に、ラベル付した6×6のグリッド要素401−436を含むページグリッド390を示す。まず、すべてのグリッド要素401−436に、「空」状態に関連するラベルが付される。表3では、グラフィックリスト要素一つ一つを調べた後における各グリッド要素401−436の状態を示す。また、グラフィックリスト要素を加えた際に調べたグリッド要素を、表中、灰色で示す。また、表4では、グラフィックリスト要素一つ一つを調べた後における各グリッド要素401−436と関連するオブジェクトを示す。また、グラフィックリスト要素を加えた際に調べたグリッド要素を、表中、灰色で示す。表5では、グラフィックリスト要素一つ一つを調べた後における各グラフィックリスト要素と関連する重畳リストを示す。
まず、オブジェクト1と関連する第一グラフィックリスト要素のバウンディングボックス(第一バウンディングボックス)391を、ページグリッド390上に配置する。そして、第一バウンディングボックス391が配置されているグリッド要素401−418を調べる。そして、これらグリッド要素401−418に付されたラベルを「空」から「占有」に変え、オブジェクト1をこれらのグリッド要素401−418と関連付ける。
次に、オブジェクト2と関連する第二グラフィックリスト要素のバウンディングボックス(第二バウンディングボックス)392を、ページグリッド390上に配置する。そして、第二バウンディングボックス392が配置されているグリッド要素404−406、410−412、416−418を調べる。そして、これらのグリッド要素404−406、410−412、416−418に付されたラベルを「占有」から「重畳」へと更新し、オブジェクト2をこれらのグリッド要素404−406、410−412、416−418と関連付ける。さらに、オブジェクト1とオブジェクト2との重畳リストを更新して、これらのオブジェクトが重畳していることを反映させる。
さらに、オブジェクト3と関連する第三グラフィックリスト要素のバウンディングボックス(第三バウンディングボックス)393を、ページグリッド390上に配置する。そして、第三バウンディングボックス393が配置されているグリッド要素409−412、415−418を調べる。そして、既に「占有」と印付けられているグリッド要素409、415のラベルを「重畳」へと変え、オブジェクト3を、第三バウンディングボックス393が重なっているグリッド要素409−412、415−418と関連付ける。さらに、オブジェクト1、オブジェクト2、およびオブジェクト3の重畳リストを更新し、これらのオブジェクトの重畳状態を反映させる。
オブジェクト4と関連する第四グラフィックリスト要素のバウンディングボックス(第四バウンディングボックス)394を、ページグリッド390上に配置する。そして、第四バウンディングボックス394が配置されているグリッド要素424、430を調べる。そして、既に「空」と印付けられているグリッド要素424、430のラベルを「占有」へと変え、オブジェクト4をこれらのグリッド要素と関連付ける。
オブジェクト5と関連する第五グラフィックリスト要素のバウンディングボックス(第五バウンディングボックス)395を、ページグリッド390上に配置する。第五バウンディングボックス395が配置されているグリッド要素421−423、427−429を調べる。そして、既に「空」と印付けられているグリッド要素421−423、427−429のラベルを「占有」へと変え、オブジェクト5をこれらのグリッド要素と関連付ける。
オブジェクト6と関連する第六グラフィックリスト要素のバウンディングボックス(第六バウンディングボックス)396を、ページグリッド390上に配置する。第六バウンディングボックス396が配置されているグリッド要素426−428、432−434を調べる。そして、既に「占有」と印付けられているグリッド要素427、428のラベルを「重畳」へと変え、また既に「空」と印付けられているグリッド要素426、432−434のラベルを「占有」へと変える。そして、オブジェクト6をこれらのグリッド要素426−428、432−434のすべてと関連付け、オブジェクト5とオブジェクト6との重畳リストを更新して、これらのオブジェクトが重なっていることを反映させる。
また、本発明に係る他の実施形態では、オブジェクトの配置毎に重畳リストの保守を行う構成でなくてもよい。すなわち、オブジェクトの重畳については、すべてのオブジェクトを配置した後、オブジェクトとグリッド要素との関連性を解析することにより判断することができる。
また、本発明に係る他の実施形態では、重畳の判断を逐次修正していく構成であってもよい。この実施形態では、複数のオブジェクトを含むグリッド要素を、グリッドサイズを順次微細にしながら調べる。例えば実施形態の一例としては、最初のページグリッドには八つのグリッド要素が含まれており、各グリッド要素について重畳の判断を繰り返す毎に、複数のオブジェクトを含むグリッド要素を、さらに四つのグリッド要素へと再分割する。このようにして、重畳しているかについての判断を、グリッドサイズを順次細かくして行っていく。また、本発明のいくつかの実施形態では、個々の画素グリッド要素を含んだページグリッドを用いてもよい。この実施形態では、グラフィックリスト要素と関連付けられた二値マスクをレンダリングするステップを含む。
(重畳別にパーティション分割を実行する処理の実施例)
次に、図18a、図18bを参照して本発明に係る「重畳別にパーティション分割を実行する処理」の実施例について説明する。この実施例では、グリッド要素ラベルを「占有」から「重畳」へと変化させ、グラフィックリスト要素と関連するバウンディング形状が「重畳」ラベルの付いたグリッド要素と重なる場合、そのグラフィックリスト要素を「重畳」パーティションに関連付ける。この実施例では、まず、ページを複数のグリッド要素に分割する(ステップS450)。そして各グリッド要素を、まず、「空」ラベルと関連付け、初期化する(ステップS451)。すなわち、初期状態では、「非重畳」パーティションに、グラフィックリスト内のすべてのグラフィックリスト要素を分類する(ステップS452)。グラフィックリストを調べて、まだ調べられていないグラフィックリスト要素が残っているかについて判断する(ステップS454)。ここで、すべてのグラフィックリスト要素について調べた場合(ステップS454において「NO」)、パーティション分割処理を終了する。一方、まだ調べていないグラフィックリスト要素が残っている場合(ステップS454において「YES」)、次のグラフィックリスト要素のバウンディング形状を取得し(ステップS458)、このバウンディング形状をページグリッド上に配置する(ステップS460)。そして、このバウンディング形状と重なり合うグリッド要素一つ一つを調べる。そして、調べるべきバウンディング形状と重なり合うグリッド要素が残っているかについて判断する(ステップS462)。ここで、調べる必要のあるバウンディング形状と重なり合うグリッド要素が無い場合(ステップS462において「NO」)、ステップS454に戻って、まだ調べていないグラフィックリスト要素の有無についてグラフィックリストを調べる。ここで、調べる必要のあるバウンディング形状と重なり合うグリッド要素がある場合(ステップS462において「YES」)であって、かつ現行のバウンディング形状のグリッド要素が「空」に関連付けられているとき(図18bに示すステップS466において「YES」)、バウンディング形状とグリッド要素との関連性を「空」から「占有」へと変え、グリッド要素に「占有」をマークする(ステップS468)。そして、現在、調べたグラフィックリスト要素を、現在、調べたグリッド要素に関連付ける(ステップS470)。そして、図18aに示すステップS462に戻って、バウンディング形状と重なり合うグリッド要素を調べ、調べるべきバウンディング形状と重なり合うグリッド要素が残っているかについて判断する。一方、ステップS466において、現行のバウンディング形状のグリッド要素に「空」とラベル付けされていない場合(ステップS466において「NO」)、そのラベルを「占有」と関連付けられているラベル値と比較する。そして、現行のバウンディング形状のグリッド要素に「占有」が関連づけられているか判断する(ステップS472)。Bounding Shapeのグリッド要素に「占有」が関連付けられていない場合(ステップS472において「NO」)、このグリッド要素はすでに、重畳する複数のオブジェクトと関連付けられたグリッド要素である。このため、現行のグラフィックリスト要素を「重畳」パーティションと関連付ける。つまり、現行のグラフィックリスト要素を「重畳」パーティションへ移動させる(ステップS474)。一方、グリッド要素に「占有」がマークされている場合、すなわち、現行のバウンディング形状のグリッド要素に「占有」が関連づけられている場合(ステップS472において「YES」)、このグリッド要素のラベルを「重畳」に変え、グリッド要素に「重畳」をマークし(ステップS476)、このグリッド要素と関連付けられたグラフィックリスト要素を、「重畳」パーティションと関連付ける(ステップS478)。また、現行のグラフィックリスト要素を「重畳」パーティションと関連付ける。すなわち、現行のグラフィックリスト要素を「重畳」パーティションへ移動させる(ステップS474)。そして、図18aに示すステップS462に戻り、調べるべきバウンディング形状と重なり合うグリッド要素が残っているかについて判断する。
なお、「分離・重畳別にパーティション分割を実行する処理」に係る実施形態の場合では、「重畳」ラベルを含むグリッド要素を解析して、重畳するグラフィクスオブジェクトのうち、互いに空間的に分離しているものから構成される複数のグループを探索する。いくつかの実施形態では、グリッド要素の解析として、連結成分分析を含んでもよい。
(Z値別にパーティション分割を実行する処理の実施例)
「Z値別にパーティション分割を実行する処理」に係る本発明のいくつかの実施形態では、グリッド要素と、グラフィックリスト要素のバウンディング形状の近似とを用いて、グラフィックリストをパーティションに分割していた。ここで、図19a、図19bを参照して、Z値別にパーティション分割を実行する処理の実施例について説明する。図19a、図19bに示す実施例では、まず、図19aに示すように、ページを複数のグリッド要素に分割する(ステップS500)。初期状態では、グリッド要素を、「空」ラベルと関連付ける。すなわち、初期化してグリッド要素ラベルを「空」にする(ステップS551)。なお、「空」ラベルは、グラフィックリスト要素と関連付けられているバウンディング形状の中でグリッド要素に重なられているものが無い状態を示す。次に、初期化してグリッド要素のZ値を「0」にする(ステップS552)。そして、グラフィックリスト要素すべてを、Z値「0」と関連付けたパーティションに分類する(ステップS553)。グラフィックリストにおいて、まだバウンディング形状内のグリッド要素のZ値を調べていないグラフィックリスト要素が残っているか判断する(ステップS554)。ここで、すべてのグラフィックリスト要素に関してグリッド要素のZ値を調べている場合(ステップS554において「NO」)、パーティション分割処理を終了する。まだ調べていないグラフィックリスト要素が残っている場合(ステップS554において「YES」)、次のグラフィックリスト要素のバウンディング形状を取得し(ステップS558)、このグラフィックリスト要素のバウンディング形状をページグリッドに配置する(ステップS560)。そして、次にバウンディング形状におけるグリッド要素のZ値の最大値を判定する。すなわち、バウンディング形状内にある複数のグリッド要素の各Z値のうちから最大値となるZ値を判定する。(ステップS562)。そして、この最大値が「0」である場合(ステップS564において「YES」)、バウンディング形状のグリッド要素に「占有」がマークされているかどうか判断するためのテストを行う。すなわち、いかなるバウンディング形状内のグリッド要素も「占有」とマークされているか判定する(図19bに示すステップS568)。いかなるバウンディング形状内のグリッド要素にも「占有」がマークされていない場合(ステップS568において「NO」)、バウンディング形状のすべてのグリッド要素に「占有」をマークする(ステップS574)。そして、図19aに示すステップS554に戻って、グラフィックリストを調べて、まだ調べられていないグラフィックリスト要素が残っているかどうか判断する。一方、ステップS568において、バウンディング形状の全てのグリッド要素に「占有」がマークされている場合(ステップS568において「YES」)、バウンディング形状の各グリッド要素のZ値に1を足す(ステップS570)。そして、グラフィックリスト要素を、バウンディング形状のグリッド要素の最大値に1をプラスした値と等しいZ値と関連付けたパーティションへ移す(ステップS572)。そして、バウンディング形状のすべてのグリッド要素に「占有」をマークする(ステップS574)。ステップS554に戻って、グラフィックリストを調べ、まだバウンディング形状内のグリッド要素のZ値を調べていないグラフィックリスト要素が残っているかどうか判断する(ステップS554)。一方、ステップS564にて、Z値の最大値が「0」ではないと判断された場合(ステップS564において「NO」)、ステップS570に進み、バウンディング形状内の各グリッド要素と関連するZ値に1をプラスする。そして、グラフィックリスト要素を、バウンディング形状内の各グリッド要素の最大値に1をプラスした値と等しいZ値と関連付けたパーティションに移す(ステップS572)。そして、バウンディング形状内のすべてのグリッド要素に「占有」をマークして(ステップS574)、グラフィックリストを調べ、まだ調べられていないグラフィックリスト要素が残っているかについて判断する(ステップS554)。
上述したパーティション分割を実行する処理を実現するための構成について説明する。本発明に係るいくつかの実施形態ではホストコンピューティング・デバイスを備えている。そして、ホストコンピューティング・デバイスは、一以上の中央演算処理回路(CPU)、マルチコアCPU、グラフィクス処理回路(GPU)カード、デジタル信号処理(DSP)エンジン、ハードウェアアクセラレータASICを備えている。また、本発明に係るいくつかの実施形態では、プリンタコントローラをさらに備えている。そして、プリンタコントローラは、一以上のCPU、マルチコアCPU,GPU,DSPエンジン、ハードウェアアクセラレータASICを備えている。
本発明の実施形態では、ホストコンピューティング・デバイス内のマルチ処理回路は複数の印刷データパーティションを並行してレンダリングするのに用いられる。本発明の実施形態では、ホストコンピューティング・デバイス内のマルチ処理回路はレンダリングされた複数のパーティションそれぞれに対するビットブリットを並列処理で実行するために用いられる。また、本発明の他の実施形態では、プリンタコントローラ内のマルチ処理回路が、複数の印刷データパーティションそれぞれに対するレンダリングを並列処理で実行するために用いられる構成であってもよい。また、本発明の他の実施形態では、プリンタコントローラ内のマルチ処理回路がレンダリングされた複数のパーティションそれぞれに対するビットブリットを並列処理で実行するために用いられる構成であってもよい。例えば、図20を参照して印刷環境の一例について説明する。ホストコンピューティング・デバイス580が、プリンタコントローラ584と例えば通信ネットワーク等により実現できる接続線582を通じて通信可能に接続されている。ホストコンピューティング・デバイス580は、四つのプロセシングコア587−590とL2キャッシュ592とを有するマルチコアCPU586を備えている。マルチコアCPU586は、チップセット594と、例えばバス等により実現できる接続線593を通じて動作可能に接続されており、また、チップセット594はメモリ596とグラフィックカード598とに、例えばバス等により実現できる接続線595、597を通じて動作可能に接続されている。プリンタコントローラ584は、二つのコア601、602とL2キャッシュ604とを有するマルチコア内蔵CPU600を備えている。マルチコア内蔵CPU600は、メモリ606とハードウェア(HW)アクセラレーション608とに、例えば、バス等により実現できる接続線605、607を通じて動作可能に接続されている。
また、本発明の他の実施形態では、複数のパーティションのレンダリングを、同じネットワーク、例えばクラウドコンピューティング内の複数のCPU間で分散して行う構成であってもよい。また、本発明のいくつかの実施形態では、レンダリングされた複数のパーティションのビットブリットを、同じネットワーク、例えばクラウドコンピューティング内の複数のCPU間で分散して行う構成であってもよい。
また、本発明に係るいくつかの実施形態では、パーティションのレンダリングおよびビットブリットを図21に示す構成を有するシステムにより実行することができる。図21を参照すると、本発明のいくつかの実施形態では、インタープリタ620を備えている。インタープリタ620はグラフィックリストを生成する。そして、このグラフィックリストをパーティション生成装置622が複数のパーティション630、631、・・・632にそれぞれ分割する。スケジューラ635は、レンダリング装置640、641・・・642それぞれの利用可能性や、その他の条件に応じて、パーティション630、631、・・・632をこのレンダリング装置640、641、・・・642に割り当てる。なお、その他の条件の一例としては、パーティションタイプ、パーティションの複雑さ、パーティションサイズ、一つのパーティションに含まれるオブジェクト数、パーティションの作用、およびその他のパーティションの特徴や条件が挙げられる。レンダリング装置640、641、・・・642それぞれは、受付けたパーティション630、631、・・・632をレンダリングし、レンダリングしたパーティション630、631、・・・632それぞれを、自身が有するパーティションビットブリット装置によりビットブリットする。ページビットブリット装置650は、レンダリングし、ビットブリットしたこれら複数のパーティション630、631、・・・632を、ビットブリットして、ページバッファ652に入力する。そして、このページバッファ652から印刷エンジン654に出力される。ページビットブリット装置650は、分割されたパーティション630、631、・・・632に対するページビットブリットをそれぞれ「順不同」に行ってもよいし、「順番どおり」に行ってもよい。なお、「順不同」にパーティション630、631、・・・632をビットブリットした場合、中間パーティションに変換してビットブリットすることなく、直接ページバッファ652に入力するようにビットブリットされる。
図21に示すシステムにおいて、本発明に係るいくつかの実施形態では、ホストコンピューティング・デバイスが、上述したインタープリタ620、パーティション生成装置622、およびスケジューラ635を備える構成であってもよい。この実施形態では、レンダリング装置640、641、・・・642の機能をホストコンピューティング・デバイスと、印刷装置に内蔵されたプリンタコントローラとの間で分散して実現する。また、印刷装置では、内蔵されたプリンタコントローラが、上述したページビットブリット装置650、ページバッファ652、印刷エンジン654それぞれのインタフェースを備える。また、他の実施形態では、レンダリング装置640、641、・・・642それぞれをホストコンピューティング・デバイスが備える構成であってもよい。また、他の実施形態では、レンダリング装置640、641、・・・642それぞれを、内蔵された印刷コントローラが備える構成としてもよい。
本発明のいくつかの実施形態では、カスケード式にパーティション分割を行う構成であってもよい。図22および図23に、カスケード式によりパーティション分割を行う本発明の実施形態の一例を示す。図22に示す実施形態の一例では、まず、パーティション生成装置622は、インタープリタ620からグラフィックリストを受け付け(S670)、「重畳別にパーティション分割を実行する処理」により「重畳」パーティション674と「非重畳」パーティション676とを生成する(ステップS672)。「重畳」パーティション674を、「オブジェクトタイプ別にパーティション分割を実行する処理」により、さらに、「テキスト」パーティション、「ベクター」パーティション、「ピクトリアル」パーティションそれぞれに分割する(ステップS678)。一方、「非重畳」パーティション676は、「オブジェクトタイプ別にパーティション分割を実行する処理」により、「テキスト」パーティション、「ベクター」パーティション、「ピクトリアル」パーティションに分割される(ステップS680)。
また、図23に示す実施形態の一例では、パーティション生成装置622は、インタープリタ620からグラフィックリストを受け付け(ステップS690)、「分離・重畳別にパーティション分割を実行する処理」によるパーティション分割によって、「非重畳」パーティション698と複数の「分離・重畳」パーティション694・・・、696を生成する。「非重畳」パーティション698と、複数の「分離・重畳」パーティション694、・・・696を、「オブジェクトタイプ別にパーティションの分割を実行する処理」によってさらにパーティションに分割する(ステップS700、S702、S704)。これらの実施形態では、最終的に得られたオブジェクトタイプ別の複数のパーティションを、各パーティションと関連するオブジェクトタイプに対応付けられたレンダリング装置によってレンダリングされ、「非重畳」パーティションに関連する、最終的に得られた複数のパーティションと、各「分離・重畳」パーティションと関連する、最終的に得られた複数のパーティションとを、並列処理によりビットブリットする。「非重畳」パーティションにおける複数のオブジェクトタイプのパーティションについは並列処理によりビットブリットされるが、「分離・重畳」パーティションにおける複数のオブジェクトタイプのパーティションは、順次ビットブリットしなければならない。
次に、図24を参照して、本発明の他の実施形態について説明する。他の実施形態のいくつかでは、ホストコンピューティング・デバイスが備えるパーティション生成装置622において、グラフィックリストを受付ける(ステップS720)。そして、「オブジェクトタイプ別にパーティションの分割を実行する処理」に従って複数のグラフィックリストのパーティションを生成する(ステップS722)。グラフィックリストのパーティションには、テキストパーティション724、ベクターパーティション726、ピクトリアルパーティション728がある。テキストパーティション724を、一以上の専用テキストレンダリング装置によってレンダリングする(ステップS726)。レンダリングしたテキストパーティション724をエンコードし(ステップS728)、エンコードしたテキストパーティション724、ベクターパーティション726、ピクトリアルパーティション728からパーティション印刷ストリームを生成する(ステップS730)。パーティション印刷ストリームをプリンタコントローラに送信する(ステップS732)。いくつかの実施形態では、パーティション印刷ストリームにパーティションファイルを含めてもよい。
ところで、ラスターイメージプロセッサ(RIP)の中には、オブジェクトリストを非常に小さなオブジェクトに、特に、非常に小さなイメージオブジェクトまたはピクトリアルオブジェクトに分割することができるものがある。そこで、この他の実施形態では、ピクトリアルパーティションを解析して、複数の小さなオブジェクトを合わせて一つのより大きなピクトリアルオブジェクトを生成できないか判断する。これらの実施形態では、このピクトリアルパーティションへの分割処理は、ピクトリアルパーティションをパーティションファイルコンポーザに送る前に行われる。
上述した図24では、ホストコンピューティング・デバイスがパーティション印刷ストリームをプリンタコントローラに送信するまでの実施形態の一例について説明した。以下において、図25を参照して、プリンタコントローラがパーティション印刷ストリームを受付けてからそれ以降の処理に関する実施形態について説明する。本発明に係るいくつかの実施形態では、プリンタコントローラでパーティション印刷ストリームを受け付け(ステップS740)、このパーティション印刷ストリームを、エンコードされたテキストパーティション744、ベクターパーティション746、ピクトリアルパーティション748に分解する(ステップS742)。なお、いくつかの実施形態では、パーティション印刷ストリームにパーティションファイルを含めてもよい。エンコードされたテキストパーティション744はデコードされて(ステップS750)、レンダリングされたテキストパーティションを再構成する。一方、ベクターパーティション746とピクトリアルパーティション748とは、一以上の専用レンダリング装置でレンダリングされる。再構成されたレンダリング済テキストパーティション、レンダリング済ベクターパーティション、レンダリング済ピクトリアルパーティションそれぞれをビットブリットし(ステップS756)、ページバッファに入力して、このページバッファから印刷エンジンに送信する(ステップS758)。なお、ステップS756において、上述したレンダリング済パーティションは、各パーティションに関連付けられているパーティション順序に従って、順次ビットブリットされる。
なお、本発明のいくつかの実施形態では、レンダリングされたテキストパーティションを、二値の圧縮によりエンコードするように構成されている。二値の圧縮例としては、JBIG(Joint Bi−level Image Expert Group),JBIG2,MR(Modified Read),MMR(Modified Modified Read)、またはその他のバイレベルエンコードが挙げられるが、これらの圧縮方式に限られるものではない。
上記では、印刷処理システムの一例として、図1に示すように印刷処理システムが、ホストコンピューティング・デバイス10と、このホストコンピューティング・デバイス10とコミュニケーションリンク12を通じて接続されている印刷装置14とを備えた構成を想定して説明した。しかしながら、印刷処理システムの構成はこれに限定されるものではない。ここで、図26を参照して、印刷処理システムに関する本発明の他の実施形態について説明する。この実施形態の一例において、印刷処理システムは、プリンタサーバ772とコミュニケーションリンク771を通じて通信可能に接続されている(771)ホストコンピューティング・デバイス770を備えている。また、プリンタサーバ772とコミュニケーションリンク773を通じて、通信可能に接続されている印刷装置774も備える。また、印刷処理システムの構成は以下の図27に示すような構成であってもよい。図27を参照して説明すると、本発明の他の実施形態では、印刷処理システムは、クラウドコンピューティング環境782の一部を構成するホストコンピューティング・デバイス780を備えている。そして、このホストコンピューティング・デバイス780は、コミュニケーションリンク783を通じて、印刷装置784と通信可能に接続されている。また、印刷処理システムの構成は以下の図28に示すような構成とすることもできる。図28を参照して説明すると、本発明のさらなる他の実施形態では、印刷処理システムは、クラウドコンピューティング環境792の一部を構成するホストコンピューティング・デバイス790を備えている。このホストコンピューティング・デバイス790は、コミュニケーションリンク793を通じて、プリンタサーバ794と通信可能に接続されている。また、プリンタサーバ794は、コミュニケーションリンク795を通じて、印刷装置796と通信可能に接続されている。
本発明のいくつかの実施形態において、印刷処理システムが、プリンタサーバを備えた構成の場合、このプリンタサーバは一以上の中央演算処理回路(CPU),マルチコアCPU,グラフィクス処理回路(GPU)カード、デジタル信号処理(DSP)エンジン、ハードウェアアクセラレータASICを備える。本発明のいくつかの実施形態では、プリンタサーバ内のマルチ処理回路を用いて、複数の印刷データパーティションのレンダリングを並列処理により実行する。また、本発明のいくつかの実施形態では、プリンタサーバ内のマルチ処理回路を用いて、レンダリングした複数のパーティションのビットブリットを並列処理により実行する。
また、本発明のいくつかの実施形態では、ホストコンピューティング・デバイスに関して上記した機能およびシステムを、このホストコンピューティング・デバイスではなくプリンタサーバが備える構成であってもよい。
このように構成される場合、たとえば、図21に示す実施形態の例では、プリンタサーバはインタープリタ620、パーティション生成装置622、スケジューラ635を備える。この実施形態では、レンダリング装置640、641、642は、ホストコンピューティング・デバイスと、プリンタサーバと、印刷装置に内蔵されたプリンタコントローラとの間で分散される。印刷装置は、内蔵するプリンタコントローラに、ページビットブリット装置650、ページバッファ652、印刷エンジン654のインタフェースを備える。また、他の実施形態では、レンダリング装置640、641、642を、ホストコンピューティング・デバイスに設ける構成であってもよい。さらなる他の実施形態では、レンダリング装置640、641、642を、内蔵するプリンタコントローラに設ける構成であってもよい。さらに他の実施形態では、レンダリング装置640、641、642をプリンタサーバに配置する構成であってもよい。
上述したホストコンピューティング・デバイスが備える機能をプリンタサーバが備える構成の場合、印刷処理について図24の例を挙げて説明すると以下の処理フローとなる。すなわち、図24を参照すると、プリンタサーバが備えるパーティション生成装置622において、グラフィックリストを受付ける(ステップS720)。そして、「オブジェクトタイプ別にパーティション分割を実行する処理」に従って複数のグラフィックリストパーティションを生成する(ステップS722)。グラフィックリストパーティションには、テキストパーティション724、ベクターパーティション726、ピクトリアルパーティション728がある。テキストパーティション724は、一以上の専用テキストレンダリング装置によってレンダリングされる(ステップS726)。レンダリングされたテキストパーティション724をエンコードし(ステップS728)、エンコードしたテキストパーティション724、ベクターパーティション726、ピクトリアルパーティション728からパーティション印刷ストリームを生成する(ステップS730)。そして、パーティション印刷ストリームをプリンタコントローラに送信する(ステップS732)。いくつかの実施形態では、パーティション印刷ストリームにパーティションファイルが含まれていてもよい。
(レンダリング装置の決定方法)
次に図29を参照して、本発明のいくつかの実施形態に係る印刷処理システムにおいてレンダリングを実行させるレンダリング装置の決定方法について説明する。まず、パーティション生成装置622は、グラフィックリストを受付けるとともに(ステップS800)、さらにレンダリング装置情報802も受付ける(S802)。レンダリング装置情報の例としては、レンダリング装置640、641、・・・642のリストと、リスト中の各レンダリング装置640、641、・・・642に関連するレンダリング装置情報(例えば、レンダリング装置の利用可能性、配置場所、状態、タイプ、平均処理量、最大処理速度、およびその他のレンダリング装置の属性や情報)とが挙げられる。いくつかの実施形態では、レンダリング装置情報は、印刷システムが備える、いかなるレンダリング装置640、641、・・・642に対してもアクセス可能な、印刷システムにおける中央格納位置に記憶されている。また、レンダリング装置が自装置に関連する情報を定期的に更新するようにも構成されている。そして、このような構成では、パーティション生成装置622は、ステップS802において、レンダリング装置情報を、中央格納位置から取得する。なお、他の実施形態では、ステップS802において、パーティション生成装置622は、レンダリング装置情報802を、レンダリング装置640、641、・・・642に対する問合せを受付けた場合に取得する構成としてもよい。さらに他の実施形態では、パーティション生成装置622は、レンダリング装置情報を、利用可能なレンダリング装置を管理するレンダリング装置マネージャから受け取る構成としてもよい。さらに他の実施形態では、レンダリング装置640、641、・・・642とレンダリング装置属性とについての固定データベースが整備されていてもよい。
上述のようにパーティション生成装置622がグラフィックリストとレンダリング装置情報とを受付けると、パーティション生成装置622が、本明細書で述べた一以上のパーティション生成パラダイムに従ってパーティションを生成し(ステップS804)、生成したパーティションを処理する(ステップS806)。本発明のいくつかの実施形態では、最適なレンダリング性能を実現するために利用可能なレンダリング装置で、ステップS806におけるパーティションへの分割処理を行う構成としてもよい。いくつかの実施形態では、第一パーティションと第二パーティションとを、両パーティションにおけるオブジェクト数、オブジェクトの複雑さ、両パーティションに関する推定処理時間、およびその他のパーティション属性に基づき併合する、もしくは組み合わせる。また、他の実施形態では、第一パーティションを、そのパーティション内のオブジェクト数、オブジェクトの複雑さ、そのパーティションに関する推定処理時間、およびその他のパーティション属性に応じて、複数の副次パーティションに再分割する構成であってもよい。このように、本発明のいくつかの実施形態では、ステップS806において、パーティションに対する所定の制限に従ってパーティションを処理する。パーティションに対する制限例としては、パーティションのサイズ、パーティションの複雑さ、パーティション領域、パーティションに対する処理時間などが挙げられる。ステップS806の分割処理の結果、得られたパーティションは、レンダリング装置と関連付けられる(ステップS808)。本発明のいくつかの実施形態では、このステップS808における関連付けは、レンダリング装置情報に基づいて行うことができる。
本発明のいくつかの実施形態では、パーティションを生成している間、パーティションに対応付けられたパーティション状態インジケータを観測するように構成されていてもよい。パーティション状態インジケータが第一の評価基準を満たす場合、現段階では利用不可能なこのパーティションに、グラフィックリスト要素は追加されない。同じタイプの新たなパーティションが作られ、利用不可能なパーティションに加えるべきグラフィックリスト要素を、この新たなパーティションに加える。
パーティション状態インジケータの一例としては、パーティションにおけるグラフィックオブジェクト数と関連する。すなわち、本発明のいくつかの実施例では、パーティションに入りうるグラフィックオブジェクト数の上限が定められている。これらの実施形態では、もしあるパーティションがいっぱいだと判断された場合に、そのパーティションに割り振られるはずだった次のグラフィックリスト要素と出会ったとき、新たなパーティションが作られ、そのグラフィックリスト要素は新たなパーティションに加えられることになる。例えば、「オブジェクトタイプ別にパーティション分割を実行する処理」において、上限数を超えた一連のグラフィックリスト要素がある場合、それらのグラフィックリスト要素は複数のパーティションに割り振られることになる。例えば、「重畳別にパーティション分割を実行する処理」において、他のオブジェクトにより重ねられたり、他のオブジェクトに重ねたりしないグラフィックオブジェクト数が上限を超える場合、複数の「非重畳」パーティションが作られる。
パーティション状態インジケータのその他の例としては、パーティションにおける第一グラフィックオブジェクトタイプのグラフィックオブジェクト数や、グラフィックオブジェクトの複雑さ、パーティションに対するレンダリング処理にかかる推定処理時間、およびその他のパーティションの特徴や属性と関連するインジケータが挙げられる。
本発明のいくつかの実施形態では、関連するレンダリング装置に対していかなるパーティションの送信を行うよりも前に、グラフィックリストに関連したすべてのパーティションを生成するように構成してもよい。本発明の他の実施形態では、パーティションの生成処理が完了する前に、あるパーティションを、関連するレンダリング装置に送信する構成としてもよい。例えば、「オブジェクトタイプ別にパーティション分割を実行する処理」に係る本発明のいくつかの実施形態では、次のパーティションが作られた後に、任意のタイミングで第一のパーティションを関連するレンダリング装置に送信し、第一のパーティションに関連する実行が完了したことを示す。また、本発明のいくつかの実施形態では、例えば、すべてのパーティションを生成し終えるよりも前に、利用できないパーティションを関連するレンダリング装置に送信する。
本明細書において述べられた印刷システムの構成はあくまでも例として挙げられたものであり、本発明の実施形態を限定するものではない。
Figure 2010238236
Figure 2010238236
Figure 2010238236
また、以上のように本発明に係る印刷システムの制御方法は以下のステップを含むものとも言える。
本発明に係る印刷システムの制御方法は、印刷システムにおいて、印刷ジョブをレンダリングする方法であって、(a)複数の第一グラフィックリスト要素からなるグラフィックリストを受付けるステップと、(b)前記複数の第一グラフィックリスト要素におけるグラフィックリスト要素ごとに奥行き情報(Z値)を決定するステップと、(c)前記決定された奥行き情報(Z値)に基づいて、前記複数の第一グラフィックリスト要素を複数のパーティションに分割するステップと、を含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記受付けるステップ、決定するステップ、および分割するステップを、ホストコンピューティング・デバイス、プリントサーバ、クラウドコンピューティング・デバイスおよび印刷装置のうちの選択された装置にて行われてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記複数のパーティションにおいて、各パーティションにレンダリング部を対応付けるステップをさらに含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記分割するステップは第一装置にて実行されており、(b)前記対応付けられたレンダリング部のうち、第一レンダリング部が前記第一装置に設けられていなくてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記分割するステップは第一装置で実行されており、(b)前記対応付けられたレンダリング部のうち、第一レンダリング部が前記第一装置に設けられており、(c)前記関連付けられたレンダリング部のうち、第二レンダリング部が前記第一装置に設けられていなくてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記複数のパーティションにおいて各パーティションが、固有の奥行き情報(Z値)に関連付けられていてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記複数のパーティションを順不同にレンダリングするステップと、(b)前記レンダーされた複数のパーティションを、前記複数のパーティションにおいてパーティションごとに関連付けられた前記固有の奥行き情報(Z値)に基づいて順次ビットブリットするステップとを含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記複数のパーティションにおける第一パーティションをさらに副次パーティションに再分割するステップを含み、前記第一パーティションは、前記複数の第一グラフィックリスト要素に複数の第二グラフィックリスト要素を含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記複数の第二グラフィックリスト要素において、グラフィックリスト要素ごとに対応するグラフィックオブジェクトタイプを有しており、(b)前記副次パーティションに再分割するステップを、前記対応するグラフィックオブジェクトタイプに基づいて行ってもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記複数の第二グラフィックリスト要素から複数の第三グラフィックリスト要素を決定するステップであって、該複数の第三グラフィックリスト要素は、前記複数の第二グラフィックリスト要素の中で、レンダリングされた場合にいかなる他のレンダリング済グラフィックリスト要素に重ねたり、あるいは重ねられたりしないすべての要素からなるステップと、(b)前記複数の第三グラフィックリスト要素を、第一パーティション非重畳副次パーティションと関連付けるステップと、(c)前期複数の第二グラフィックリスト要素に含まれかつ前記複数の第三グラフィックリスト要素には含まれないすべての要素を、第一パーティション重畳副次パーティションに関連付けるステップと、を含んでもよい。
また、以上のように本発明に係る印刷システムは以下の構成を備えるものとも言える。
本発明に係る印刷システムは、(a)複数の第一グラフィックリスト要素からなるグラフィックリストを受付けるグラフィックリスト受付け部と、(b)前記複数の第一グラフィックリスト要素におけるグラフィックリスト要素ごとに奥行き情報(Z値)を決定する奥行き情報(Z値)決定部と、(c)前記決定された奥行き情報(Z値)に基づいて、前記複数の第一グラフィックリスト要素を複数のパーティションに分割するパーティション割当部と、を備える構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、前記複数のパーティションにおいてパーティションごとにレンダリング部を対応付けるパーティション割当部をさらに備る構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)前記グラフィックリスト受付け部、前記奥行き情報(Z値)決定部、および前記パーティション割当部を第一装置に設け、(b)パーティションごとに対応付けられている前記レンダリング部のうち少なくとも1つが、前記第一装置に設けられていない構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)ホストコンピューティング・デバイス、プリンタサーバ、およびクラウドコンピューティング・デバイスから構成された群から選択した第一装置において、前記グラフィックリスト受付け部、前記奥行き情報(Z値)決定部、および前記パーティション割当部を設けており、(b)パーティションごとに対応付けられている前記レンダリング部のうち、第一レンダリング部が、前記第一装置に設けられ、(c)パーティションごとに対応付けられている前記レンダリング部のうち、第二レンダリング部が、印刷装置に設けられている構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、前記複数のパーティションにおいて各パーティションが、固有の奥行き情報(Z値)に関連付けられていてもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)前記複数のパーティションを順不同にレンダリングするステップと、(b)前記レンダリングされた複数のパーティションを、複数の該パーティションにおいてパーティションごとに関連付けられた前記固有の奥行き情報(Z値)に基づいて順次ビットブリットするステップとを含む構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、ホストコンピューティング・デバイス、プリンタサーバ、クラウドコンピューティング・デバイス、および印刷装置からなる群から選択された装置に、前記グラフィックリスト受付け装置、前記奥行き情報(Z値)決定装置、および前記パーティション割当装置が設けられている構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、前記複数のパーティションにおける第一パーティションを副次パーティションに再分割する副次パーティション割当装置をさらに備え、前記第一パーティションは、前記複数の第一グラフィックリスト要素に存在する複数の第二グラフィックリスト要素を含む構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)前記複数の第二グラフィックリスト要素においてグラフィックリスト要素ごとに関連するグラフィックオブジェクトタイプを有しており、(b)前記副次パーティションへの再分割が、前記関連するグラフィックオブジェクトタイプに基づいてなされるように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)前記複数の第二グラフィックリスト要素から複数の第三グラフィックリスト要素を決定する重畳決定装置をさらに備え、複数の該第三グラフィックリスト要素は、複数の前記第二グラフィックリスト要素の中で、レンダリングされた際に、いかなる他のレンダリング済グラフィックリスト要素に重なったり、あるいは他のレンダリング済グラフィックリスと重ねられたりしないすべてのグラフィックリスト要素を含んでおり、(b)前記副次パーティション割当装置が、(i)複数の前記第三グラフィックリスト要素を、第一パーティション非重畳副次パーティションと関連付け、(ii)前記第二グラフィックリスト要素に含まれ、かつ複数の前記第三グラフィックリスト要素には含まれないすべてのグラフィックリスト要素を、第一パーティション重畳副次パーティションに関連付けるように構成されていてもよい。
さらにまた、以上のように本発明に係る印刷システムの制御方法は以下のステップを含むものとも言える。
本発明に係る印刷システムの制御方法は、プリントジョブをレンダリングする印刷システムの制御方法であって、(a)複数の第一グラフィックリスト要素を含むグラフィックリストを受付けるステップと、(b)複数の前記第一グラフィックリスト要素から、複数の第二グラフィックリスト要素を決定するステップであって、該第二グラフィックリスト要素は、レンダリングされた際に、複数の前記第一グラフィックリスト要素の中で、他のいかなるレンダリング済グラフィックリスト要素に重ねたり、あるいはレンダリング済グラフィックリスト要素により重ねられたりしないすべてのグラフィック要素を有しているステップと、(c)複数の前記第二グラフィックリスト要素を第一パーティションと関連付けるステップと、(d)複数の前記第一グラフィックリスト要素に含まれ、かつ複数の前記第二グラフィックリスト要素に含まれないグラフィックリスト要素すべてを有する複数の第三グラフィックリスト要素の中から、レンダリングされた際に、複数の前記第三グラフィックリスト要素中における他のいかなるレンダリング済グラフィックリスト要素と重ならない複数の第四グラフィックリスト要素を決定するステップと、(e)複数の前記第四グラフィックリスト要素におけるグラフィックリスト要素を第二パーティションと関連付けるステップと、を含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記複数の第四グラフィックリスト要素において、各グラフィックリスト要素が、レンダリングされた際、少なくとも1つの他のグラフィックリスト要素と重畳している。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)第一レンダリング装置で前記第一パーティションをレンダリングするステップと、(b)第二レンダリング装置で前記第二パーティションをレンダリングするステップと、をさらに含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記第一パーティションをレンダリングするステップと、前記第二パーティションをレンダリングするステップとを実質的に同時に実行させてもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、(a)前記レンダリング済第一パーティションをページメモリにビットブリットするステップと、(b)前記レンダリング済第二パーティションを前記ページメモリにビットブリットするステップと、をさらに含んでもよい。
また、本発明に係る印刷システムの制御方法は、上記した方法において、前記レンダリング済第一パーティションをビットブリットするステップと前記レンダリング済第二パーティションをビットブリットするステップとを実質的に同時に実行させてもよい。
さらにまた、以上のように本発明に係る印刷システムは以下の構成を備えるものとも言える。
本発明に係る印刷システムは、(a)複数の第一グラフィックリスト要素を含むグラフィックリストを受付けるグラフィックリスト受付け装置と、(b)前記複数の第一グラフィックリスト要素の中で、第一のグラフィックリスト要素が他のグラフィックリスト要素と重なっているかどうかを判定する重畳判定装置と、(c)前記重畳判定装置が前記第一のグラフィックリスト要素が他のグラフィックリスト要素と重なっていないと判定している場合、前記第一のグラフィックリスト要素を第一パーティションと関連付ける非重畳分割パーティション関連付装置と、(d)複数の前記第一グラフィックリスト要素に含まれ、かつ複数の前記第二グラフィックリスト要素に含まれないグラフィックリスト要素すべてを含む複数の第三グラフィックリスト要素から、レンダリングされた際に前記第三グラフィックリスト要素の中の他のいかなるレンダリング済グラフィックリスト要素とも重ならない第四グラフィックリスト要素を決定する重畳群決定装置と、(e)複数の前記第四グラフィックリスト要素におけるグラフィックリスト要素を第二パーティションと関連付ける分離重畳分割パーティション関連付装置を備える構成であってもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)前記第一パーティションをレンダリングする第一レンダリング装置と、(b)前記第二パーティションをレンダリングする第二レンダリング装置とをさらに備えるように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、前記第一レンダリング装置と前記第二レンダリング装置とを実質的に同時に動作させるように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、(a)ページメモリと、(b)前記レンダリング済第一パーティションを前記ページメモリにビットブリットする第一ビットブリッタと、(c)前記レンダリング済第二パーティションを前記ページメモリにビットブリットする第二ビットブリッタとをさらに備えるように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、前記第一ビットブリッタと前記第二ビットブリッタとを実質的に同時に動作させるように構成されていてもよい。
また、本発明に係る印刷システムは、上記した構成において、前記重畳群決定装置がさらに、レンダリングされた際に、複数の前記第四グラフィックリスト要素において、各グラフィックリスト要素が少なくとも一つの他のグラフィックリスト要素と重なるように、複数の前記第四グラフィックリストにおける各グラフィックリスト要素を決定するように構成されていてもよい。
つまり、本発明のいくつかの実施形態では、グラフィックリスト要素を「同時」または「順不同に」レンダリングして、マルチコアプロセッシングプラットフォーム、専用プロセッサ、分散型処理システム、およびその他のコンピュータ処理環境を効果的かつ効率よく使用することができる方法、およびシステムを提供する。
また、本発明のいくつかの実施形態では、一つのグラフィックリストを、複数のグラフィックリスト要素に分割し、これらグラフィックリスト要素を一以上のパーティションに分類する。つまり、各パーティションは、当該グラフィックリストにおいてグラフィックオブジェクトタイプが同じである、一連のグラフィックリスト要素と関連付けられる。それぞれのパーティションに対して、「同時」に、あるいは「順不同」にグラフィックリスト要素のレンダリングを行い、そして順次ビットブリットしてページバッファへと送信する。いくつかの実施形態では、パーティションは、該パーティションに関連するグラフィックオブジェクトタイプに応じた専用のレンダリング装置によってレンダリングされるように構成されている。
また、本発明の他の実施形態では、グラフィックリストを、二つのパーティションに分割することができる。第一パーティションには、レンダリングされたときに、他のグラフィックリスト要素に重ねたり、あるいは他のグラフィックリスト要素により重ねられたりしないグラフィックリスト要素がすべて分類されている。一方、第二パーティションには、レンダリングされたときに、一以上の他のグラフィックリスト要素に重ねたり、あるいは他のグラフィック要素により重ねられたりするグラフィックリスト要素が分類される。そして、これら第一、第二パーティションに対して、同時に、あるいは様々な順番でグラフィックリスト要素のレンダリングを行い、そしてビットブリットする。つまり、第一パーティションのグラフィックリスト要素は、同時にまたは様々な順番でレンダリングがなされ、ビットブリットされる。また、第二パーティションのグラフィックリスト要素は、同時にまたは様々な順番でレンダリングがなされ、ビットブリットされる。
また、さらなる他の実施形態では、以下のような構成とすることもできる。すなわち、グラフィックリストを第一パーティションに分割する。なお、この第一パーティションは、レンダリングしたときに、グラフィックリストにある他のグラフィックリスト要素に重ねたり、あるいは他のグラフィック要素により重ねられたりしないグラフィックリスト要素すべてを含む。また、グラフィックリストに残ったそれ以外のグラフィックリスト要素、すなわち第一パーティションに対応づけたグラフィックリスト要素以外のものは、レンダリングするときに、グラフィックスリストにある一以上の他のグラフィックリスト要素に重ねたり、他のグラフィック要素により重ねられたりするものとなる。さらに、この第一パーティション分割後のグラフィックリストは、互いが空間的に分離された重畳するグラフィックリスト要素群それぞれがパーティションにさらに分割される。なお、互いが空間的に分離された重畳するグラフィックリスト要素群とは、各グラフィックリスト要素が重畳しているグラフィックリスト要素群であって、他のグラフィックリスト要素群とは印刷レイアウトにおいて重なり合わない、すなわち重畳しないものを意味する。グラフィックリストを分割したパーティション(第一パーティション等)は、同時にまたは様々な順番でレンダリングされ、ビットブリットされる。ただし、互いが空間的に分離した、グラフィックリスト要素が重畳するグラフィックリスト要素群に関連するパーティションの中では、グラフィックリスト要素は、それぞれ所定の順番で順次レンダリングされ、そしてビットブリットされる。
また、さらに他の実施形態では、グラフィックリストを、Z値(z-depth)すなわち、奥行き情報に関連付けられた複数のパーティションに分割する構成とすることもできる。これらの実施形態では、複数のパーティションに対して、同時に、または様々な順番でグラフィックリスト要素のレンダリングを行うことができるが、ビットブリットは順次行われる。
また、本発明のいくつかの実施形態では、グラフィックリストの分割を、一以上の分割スキームに従って、カスケード式に行ってもよい。
また、本発明のいくつかの実施形態では、パーティションが、一以上の分割スキームに従って、さらに再分割されてもよい。
本発明のいくつかの実施形態では、グラフィックリストのパーティションへの分割は、最適なレンダリング動作を実現するのに利用可能なレンダリング装置で行われる。
また、本発明の一態様によれば、レンダリング済グラフィックリスト要素の重畳状態を、これらのレンダリング済グラフィックリスト要素に関連付けられた空間領域の近似値と、ページグリッドとを用いて検出する構成としてもよい。
本発明のいくつかの実施形態では、プリンタドライバを備えている。そして、このプリンタドライバによって、グラフィックリスト要素のグラフィックオブジェクトタイプに応じてグラフィックリストをパーティションに分割し、一以上のテキストタイプのパーティションをレンダリングしてエンコードする構成であってもよい。この実施形態では、プリンタドライバは、エンコードされた一以上のレンダリング済テキストパーティションとその他のパーティションとから印刷ストリームを構成してプリンタコントローラに送信する。
また、本発明のいくつかの実施形態は、プリンタコントローラを備え、以下のような構成とすることができる。すなわち、このプリンタコントローラが、パーティションに分割した印刷ストリームを受け取って分解し、エンコードされた一以上のレンダリング済テキストパーティションをデコードする。また、他のパーティションをレンダリングして、すべてのレンダリング済パーティションのグラフィックオブジェクトをページバッファにビットブリットする。
以上の記述は網羅的なものではなく、また本発明の開示内容を厳密に限定するものでもない。上記の教示に照らして、さまざまな修正や変化が可能である。
上記の明細書において用いられた用語と表現は本発明を記述するためのものであり、限定するためのものではなく、そうした用語と表現の使用には、提示され記述された諸特徴の同等物またはその一部を除外する意図はなく、本発明の範囲は以下に述べる請求項によってのみ定義され限定される。
本発明に係る印刷システムの制御方法は、Z値に基づきグラフィックリストに含まれるグラフィックリスト要素(グラフィックオブジェクト)を複数のパーティションに分類し、この複数のパーティションに分類されたグラフィックリスト要素を「順不同に」あるいは並行してレンダリングすることができる。このため、印刷ジョブを受付けレンダリングする処理を効率的に行う場合に幅広く適用することができる。
10,580,770,780,790 ホストコンピューティング・デバイス
14,774,784,796 印刷装置
60,80,860 ページ(印刷ジョブ)
62,86 第一テキストグラフィックオブジェクト(グラフィックオブジェクト)
64,82 第一ベクターグラフィックオブジェクト(グラフィックオブジェクト)
66 第二テキストグラフィックオブジェクト(グラフィックオブジェクト)
68,84 第二ベクターグラフィックオブジェクト(グラフィックオブジェクト)
70,90 第一ビットマップグラフィックオブジェクト(グラフィックオブジェクト)
72,88 第三ベクターグラフィックオブジェクト(グラフィックオブジェクト)
74,92 第二ビットマップグラフィックオブジェクト(グラフィックオブジェクト)
94 第四ベクターグラフィックオブジェクト(グラフィックオブジェクト)
100 パーティション生成装置
101〜107,141〜145,221〜222,227,228,271,272,279,311,319〜321,630,674,676,694,698 パーティション
111〜117,151〜155,640 レンダリング装置(レンダリング部)
120,226,278,318 レンダリング済バッファ
121〜127,161〜165 レンダリング済パーティション
130,229〜230,282,322 ビットブリット装置(ビットブリット部)
220,270,310,622 パーティション生成装置(奥行き情報判定部、分類部、対応付け部、再分類部)
223,274,314 汎用レンダリング装置(レンダリング部)
132,232,286,324,652 ページバッファ
650 ページビットブリット装置
654,772,794 プリンタサーバ(第一装置)
724,744 テキストパーティション
726,746 ベクターパーティション
728,748 ピクトリアルパーティション

Claims (27)

  1. 印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、
    上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定ステップと、
    上記奥行き情報判定ステップにおいて判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類ステップと、
    上記分類ステップにより分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリングステップとを含むことを特徴とする印刷システムの制御方法。
  2. 上記印刷システムは、ホストコンピューティング・デバイス、プリントサーバ、クラウドコンピューティング・デバイスおよび印刷装置を備えており、
    上記奥行き情報判定ステップ、上記分類ステップ、および上記レンダリングステップをホストコンピューティング・デバイス、プリントサーバ、クラウドコンピューティング・デバイスおよび印刷装置のうちのいずれかの装置にて実行することを特徴とする請求項1に記載の印刷システムの制御方法。
  3. 上記印刷システムは、グラフィックオブジェクトをレンダリングする複数のレンダリング部を備えており、
    これらレンダリング部それぞれを、複数の上記パーティションのそれぞれに対応付ける対応付けステップをさらに含み、
    上記レンダリングステップでは、各パーティションに分類されたグラフィックオブジェクトを、上記対応付けステップにより対応付けられたレンダリング部によりレンダリングすることを特徴とする請求項1または2に記載の印刷システムの制御方法。
  4. 上記分類ステップと上記レンダリングステップとは異なる装置内で実行されることを特徴とする請求項1から3のいずれか1項に記載の印刷システムの制御方法。
  5. 上記対応付けステップにより各パーティションに対応付けられたレンダリング部のうち、一部のレンダリング部は上記分類ステップを実行する装置に設けられ、該一部のレンダリング部以外のレンダリング部は上記分類ステップを実行する装置とは異なる別の装置に設けられていることを特徴とする請求項3に記載の印刷システムの制御方法。
  6. グラフィックオブジェクトを分類するパーティションそれぞれには、固有の奥行き情報が関連付けられていることを特徴とする請求項1から5のいずれか1項に記載の印刷システムの制御方法。
  7. 上記レンダリングステップでは、順不同に複数の上記パーティションを選択し、該パーティションに分類されたグラフィックオブジェクトをレンダリングしており、
    上記レンダリングステップによりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリットステップをさらに含み、
    ビットブリットステップでは、上記固有の奥行き情報に従って、パーティションに分類されたグラフィックオブジェクトを順次ビットブリットすることを特徴とする請求項6に記載の印刷システムの制御方法。
  8. 上記分類ステップによって複数のパーティションに分類したグラフィックオブジェクトを、該グラフィックオブジェクトの種類に基づきさらに副次パーティションに分類する再分類ステップを含み、
    上記レンダリングステップにおいて、上記再分類ステップによりグラフィックオブジェクトがさらに分類された副次パーティションごとに、それぞれ分散してグラフィックオブジェクトのレンダリングを行うことを特徴とする請求項1から7のいずれか1項に記載の印刷システムの制御方法。
  9. 印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、
    上記グラフィックオブジェクトについて、奥行き方向におけるそれぞれの位置関係を示す情報である奥行き情報をそれぞれ判定する奥行き情報判定部と、
    上記奥行き情報判定部が判定した各グラフィックオブジェクトの奥行き情報に基づき、これら各グラフィックオブジェクトをそれぞれ複数のパーティションに分類する分類部と、
    上記分類部により分類されたパーティションごとに、それぞれ分散してグラフィックオブジェクトをレンダリングするレンダリング部とを備えることを特徴とする印刷システム。
  10. 上記分類部によりグラフィックオブジェクトが分類されたパーティションそれぞれに上記レンダリング部をそれぞれ対応付ける対応付け部をさらに備え、
    上記レンダリング部は、上記対応付け部によって対応付けられたパーティションに分類されたグラフィックオブジェクトをレンダリングすることを特徴とする請求項9に記載の印刷システム。
  11. 上記奥行き情報判定部、上記分類部、および対応付け部を有する第一装置を備え、
    上記第一装置は、複数の上記レンダリング部のうちの一部のレンダリング部をさらに有することを特徴とする請求項10に記載の印刷システム。
  12. 上記第一装置は、ホストコンピューティング・デバイス、プリンタサーバ、およびクラウドコンピューティング・デバイスのうちのいずれかの装置であることを特徴とする請求項11に記載の印刷システム。
  13. 上記印刷用画素値に基づき印刷を行う印刷装置をさらに備え、
    上記印刷装置は、複数の上記レンダリング部のうち、上記第一装置が有するレンダリング部以外のレンダリング部を有することを特徴とする請求項11または12のいずれかに記載の印刷システム。
  14. グラフィックオブジェクトを分類するパーティションそれぞれには、固有の奥行き情報が関連付けられていることを特徴とする請求項9から13のいずれか1項に記載の印刷システム。
  15. 上記レンダリング部は、順不同に複数の上記パーティションを選択し、該パーティションに分類されたグラフィックオブジェクトをレンダリングしており、
    上記レンダリング部によりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリット部をさらに備え、
    上記ビットブリット部が、上記固有の奥行き情報に従って、パーティションに分類されたグラフィックオブジェクトを順次ビットブリットすることを特徴とする請求項14に記載の印刷システム。
  16. 上記第一装置は、ホストコンピューティング・デバイス、プリンタサーバ、クラウドコンピューティング・デバイス、および印刷装置のうちのいずれかの装置であることを特徴とする請求項11に記載の印刷システム。
  17. 上記分類部によって複数のパーティションに分類したグラフィックオブジェクトを、該グラフィックオブジェクトのタイプに基づき、さらに副次パーティションに分類する再分類部を備え、
    上記レンダリング部は、上記再分類部によりグラフィックオブジェクトがさらに分類された副次パーティションごとに、それぞれ分散してグラフィックオブジェクトのレンダリングを行うことを特徴とする請求項9から16のいずれか1項に記載の印刷システム。
  18. 印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムの制御方法であって、
    上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定ステップと、
    上記重畳判定ステップにおける判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類ステップと、
    上記第一分類ステップにおいてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類ステップと、
    第一分類ステップによってパーティションに分類されたグラフィックオブジェクト群と、第二分類ステップによってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリングステップとを含むことを特徴とする印刷システムの制御方法。
  19. 上記レンダリングステップでは、上記第一分類ステップによってパーティションに分類されたグラフィックオブジェクト群に対するレンダリングと、該グラフィックオブジェクト群以外のグラフィックオブジェクト群に対するレンダリングとを並列して実行することを特徴とする請求項18に記載の印刷システムの制御方法。
  20. 上記レンダリングステップでは、上記第二分類ステップにより各パーティションに分類されたグラフィックオブジェクト群それぞれに対してレンダリングを順次実行することを特徴とする請求項18または19に記載の印刷システムの制御方法。
  21. 上記レンダリングステップによりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリットステップをさらに含み、
    上記ビットブリットステップにおいて、上記第一分類ステップによってパーティションに分類された、レンダリング済みのグラフィックオブジェクトに対して順不同にビットブリットすることを特徴とする請求項18から20のいずれか1項に記載の印刷システムの制御方法。
  22. 上記ビットブリットステップにおいて、上記第二分類ステップにより分類されたグラフィックオブジェクト群それぞれでは、レンダリング済みのグラフィックオブジェクトに対して順次ビットブリットする請求項21に記載の印刷システムの制御方法。
  23. 印刷ジョブから生成したグラフィックオブジェクトをレンダリングして描画出力可能なデータである印刷用画素値を作成する印刷システムであって、
    上記グラフィックオブジェクト同士が重畳するか否かを判定する重畳判定部と、
    上記重畳判定部による判定結果に基づき、他のグラフィックオブジェクトと重畳しないグラフィックオブジェクト群をパーティションに分類する第一分類部と、
    上記第一分類部においてパーティションに分類されなかった、他のグラフィックオブジェクトと重畳するグラフィックオブジェクト群を、重畳し合うグラフィックオブジェクト群ごとに異なるパーティションに分類する第二分類部と、
    上記第一分類部によってパーティションに分類されたグラフィックオブジェクト群と、上記第二分類部によってパーティションに分類されたグラフィックオブジェクト群とをそれぞれ別々にレンダリングするレンダリング部とを備えることを特徴とする印刷システム。
  24. 上記レンダリング部は、上記第一分類部によってパーティションに分類されたグラフィックオブジェクト群をレンダリングする第一レンダリング部と、
    このグラフィックオブジェクト群以外のグラフィックオブジェクト群をレンダリングする第二レンダリング部とを備え、
    該第一レンダリング部と該第二レンダリング部とは並列してレンダリングを実行することを特徴とする請求項23に記載の印刷システム。
  25. 上記第二レンダリング部は、上記第二分類部により各パーティションに分類されたグラフィックオブジェクト群それぞれに対してレンダリングを順次実行することを特徴とする請求項24に記載の印刷システム。
  26. 上記レンダリング部によりレンダリングされたパーティションのグラフィックオブジェクトをビットブリットするビットブリット部をさらに備え、
    上記ビットブリット部は、上記第一分類部によってパーティションに分類された、レンダリング済みのグラフィックオブジェクトに対して順不同にビットブリットすることを特徴とする請求項23から25のいずれか1項に記載の印刷システム。
  27. 上記ビットブリット部は、上記第二分類部により分類されたグラフィックオブジェクト群それぞれについて、レンダリング済みのグラフィックオブジェクトに対して順次ビットブリットすることを特徴とする請求項26に記載の印刷システム。
JP2010068730A 2009-03-30 2010-03-24 印刷システムおよび印刷システムの制御方法 Pending JP2010238236A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/413,684 US20100245889A1 (en) 2009-03-30 2009-03-30 Methods and Systems for Rendering Data
US12/413,689 US8339653B2 (en) 2009-03-30 2009-03-30 Methods and systems for rendering data based on overlap characteristics

Publications (1)

Publication Number Publication Date
JP2010238236A true JP2010238236A (ja) 2010-10-21

Family

ID=43092443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010068730A Pending JP2010238236A (ja) 2009-03-30 2010-03-24 印刷システムおよび印刷システムの制御方法

Country Status (1)

Country Link
JP (1) JP2010238236A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002591A (ja) * 2012-06-19 2014-01-09 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331191A (ja) * 2005-05-27 2006-12-07 Canon Inc 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム
JP2007094758A (ja) * 2005-09-29 2007-04-12 Canon Inc 画像処理装置および画像処理装置の制御方法および記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006331191A (ja) * 2005-05-27 2006-12-07 Canon Inc 画像形成装置、印刷装置、表示装置、描画処理方法、及びプログラム
JP2007094758A (ja) * 2005-09-29 2007-04-12 Canon Inc 画像処理装置および画像処理装置の制御方法および記憶媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014002591A (ja) * 2012-06-19 2014-01-09 Canon Inc 画像処理装置、画像処理方法、コンピュータプログラム
US9443174B2 (en) 2012-06-19 2016-09-13 Canon Kabushiki Kaisha Image processing apparatus, image processing method, and storage medium

Similar Documents

Publication Publication Date Title
JP5005789B2 (ja) 印刷システムおよび印刷システムの制御方法
US8339653B2 (en) Methods and systems for rendering data based on overlap characteristics
US8830506B2 (en) Image processing system utilizing plural parallel processors and image processing method utilizing plural parallel processors
JP5531531B2 (ja) 画像処理システム及び画像処理プログラム
JP5920135B2 (ja) 画像処理装置及びプログラム
US20100245918A1 (en) Methods and Systems for Rendering Data
US7835046B2 (en) Data processing apparatus, data processing method, computer program, and storage medium
US8339672B2 (en) Methods and systems for rendering data using graphic-list partitions and associated rendering processors
US8339671B2 (en) Methods and systems for rendering data by partitioning a graphics list
JP2010238236A (ja) 印刷システムおよび印刷システムの制御方法
JP5446916B2 (ja) 印刷画像処理システム
JP6323209B2 (ja) 画像処理装置及びプログラム
JP2006159738A (ja) 印刷制御装置およびそのデータ処理方法並びに記憶媒体。
US20100245889A1 (en) Methods and Systems for Rendering Data
US20100079817A1 (en) Method for optimizing the search for trapping regions
US8339670B2 (en) Methods and systems for rendering data based on graphic-list partitioning
JP5424546B2 (ja) 画像処理装置及び画像形成システム
JP4636145B2 (ja) 画像処理装置及びプログラム
JP3755265B2 (ja) 印刷処理装置
JP6129127B2 (ja) 画像処理装置、画像処理方法、プログラム
JP4853654B2 (ja) 画像処理装置、画像処理システムおよび画像処理プログラム
JP3968989B2 (ja) 画像処理装置、画像処理方法および画像処理プログラムを記録した記憶媒体
JPH11144062A (ja) 印刷処理装置
JP2004174964A (ja) 印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2006350802A (ja) 印刷装置および印刷制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120424