JP2004122746A - 階調プリンタの性能を最適化するシステムおよびその方法 - Google Patents
階調プリンタの性能を最適化するシステムおよびその方法 Download PDFInfo
- Publication number
- JP2004122746A JP2004122746A JP2003083616A JP2003083616A JP2004122746A JP 2004122746 A JP2004122746 A JP 2004122746A JP 2003083616 A JP2003083616 A JP 2003083616A JP 2003083616 A JP2003083616 A JP 2003083616A JP 2004122746 A JP2004122746 A JP 2004122746A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- image
- contributing
- graphical
- scan line
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/30—Clipping
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
- Record Information Processing For Printing (AREA)
- Image Generation (AREA)
- Ink Jet (AREA)
Abstract
【課題】不透明で重なり合っているオブジェクトをレンダリングする際の速度と、メモリ使用量の双方において改善を提供する、改善されたレンダリング法を提供する。
【解決手段】方法500は画像200のグラフィカルオブジェクト203、204および205表現するアレイを形成する。アレイは最上位置のグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされる。最上位置の寄与すジェクトが完全に不透明の場合、完全に不透明のオブジェクトに関するデータは中間調で表されて画素連を生成する。さもなければ、一つ以上の寄与するオブジェクトに関するデータは合成され、その合成されたデータは中間調で表されて画素連を生成する。
【選択図】 図2
【解決手段】方法500は画像200のグラフィカルオブジェクト203、204および205表現するアレイを形成する。アレイは最上位置のグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされる。最上位置の寄与すジェクトが完全に不透明の場合、完全に不透明のオブジェクトに関するデータは中間調で表されて画素連を生成する。さもなければ、一つ以上の寄与するオブジェクトに関するデータは合成され、その合成されたデータは中間調で表されて画素連を生成する。
【選択図】 図2
Description
【0001】
【発明の属する技術分野】
本発明は一般にコンピュータグラフィクスに関し、とくに、グラフィカルオブジェクトのレンダリング、グラフィカルオブジェクトをレンダリングする方法および装置、グラフィカルオブジェクトをレンダリングするためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラムプロダクトに関する。
【0002】
【従来の技術】
例えば、インクジェット技術に基づいた従来の印刷システムは、ページ上に極めて小さいインク滴(ドット)を形成することによって画像を印刷することが多い。関連技術で公知であるように、ほとんどの従来の印刷システムは連続階調プリンタを利用しない。すなわち、従来の印刷システムのうちの一つによって印刷される画像を形成するドットは、完全に存在するか全く存在しないかのどちらかである。広範囲の色を実現するために、このようなプリンタは、利用可能な二色以上のドットのパターンを所望の色に近似させる従来のディザリング法、すなわち中間調法を使用する。
【0003】
プリンタを使用してページをレンダリングする一つの既知の方法は、プリンタに接続するコンピュータメモリ内に構成されたフレームバッファにおいてページの画像を生成し、ページのすべての画素について画像が完全に生成された後、画像上で中間調演算を実行するステップを含む。その後、画像を印刷するために、印刷ページの画像を表現するドットの構成を計算することが必要である。出力されるページ上のすべての画素について計算する必要がある場合、特にこのような計算は集中的な演算プロセスになる。この問題は、プリンタ装置が高解像度出力を有する場合、さらに深刻になる。
【0004】
プリンタ上でページをレンダリングする別の既知の方法は、グラフィカルオブジェクトをフレームバッファ内でレンダリングする前に、画像の各グラフィカルオブジェクト上において中間調で表すことによってメモリの使用量を減少させるための方法で、これによってフレームバッファを非常に小さくすることができる。しかし、この方法には二つの主な欠点がある。第一に、グラフィカルオブジェクトが重なり合う場合があり、このため決して印刷されないであろうグラフィカルオブジェクトの中間調領域での多くの作業が必要になる可能性がある。第二に、グラフィカルオブジェクトが完全に不透明ではない(すなわち、多少の透明性を有する)場合および/または論理ラスタ演算を使用してレンダリングされる場合、ページ上の透明オブジェクトの下にあるグラフィカルオブジェクトデータが破壊され、このため、出力される画像において不正確な結果が生成される可能性がある。
【0005】
それにより、不透明で重なり合っているオブジェクトをレンダリングする際の速度と、メモリ使用量の双方において改善を提供する、改善されたレンダリング法が確実に必要とされている。
【0006】
【発明が解決しようとする課題】
本発明は、既存の構成における一つ以上の欠点を実質的に解決すること、または、少なくとも改善することを目的とする。
【0007】
【課題を解決するための手段】
本発明の一つの側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する方法であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成し、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表すことを特徴とする。
【0008】
本発明の別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する装置であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成するアレイ形成手段と、走査線の画素連に寄与するオブジェクトを判定するために前記アレイを横断する横断手段と、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す合成手段とを有することを特徴とする。
【0009】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するコンピュータプログラムであって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【0010】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するためのプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【0011】
また、本発明の他の面も開示される。
【0012】
【発明の実施の形態】
本発明の一つ以上の実施形態は、添付の図面を参照して以下に説明される。
【0013】
一つ以上の添付の図面において同じ図中符号のステップおよび/または特徴を参照する場合、特に指示のない限り、便宜上、それらのステップおよび/または特徴は同じ機能または動作を有する。
【0014】
グラフィカルオブジェクトをレンダリングする方法500は、図5Aおよび図5Bを参照して以下に説明される。方法500の原理は、グラフィカルオブジェクトのレンダリングに対する一般的な適用範囲を有する。しかしながら、説明を容易にするため、方法500のステップはページ上に印刷するためのグラフィカルオブジェクトのレンダリングを参照して説明される。これは、本発明を記載の構成に限定することを意図しない。例えば、方法500は、表示画像を有するドットが完全に存在するか全く存在しないかのどちらかであるという特徴を備える液晶表示装置または他の表示装置上で表示するためのグラフィカルオブジェクトのレンダリングに対する適用を有してもよい。このような表示装置は、極めて限定されたメモリおよび性能を有する組み込み型計算機システムによって駆動される場合が多い。
【0015】
方法500は、図1に示されるような汎用コンピュータシステム100を用いて実施されるのが好ましい。このようなシステムにおいて、図2から図5Bのプロセスはコンピュータシステム100内で実行するアプリケーションプログラムなどのソフトウェアとして実現されてもよい。特に、以下に記載の方法500のステップはコンピュータによって実行されるソフトウェア中の命令により有効になる。命令は一つ以上の特定のタスクをそれぞれ実行するための一つ以上のコードモジュールとして形成されてもよい。またソフトウェアは、方法500を実行する第一の部分と、第一の部分とユーザとのユーザインタフェイスを管理する第二の部分の二つの別々の部分に分割されてもよい。ソフトウェアは、例えば以下に記載される記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアはコンピュータ可読媒体からコンピュータにロードされ、コンピュータによって実行される。このようなソフトウェアまたはコンピュータプログラムを記録するコンピュータ可読媒体はコンピュータプログラムプロダクトである。コンピュータにおけるコンピュータプログラムプロダクトの使用は、ここで説明される構成を実現するのに好都合な装置を達成することが好ましい。
【0016】
コンピュータシステム100は、コンピュータモジュール101、キーボード102およびマウス103などの入力装置、プリンタ115および表示装置114を含む出力装置を備える。変復調器(MODEM)トランシーバ装置116は、例えば電話回線121または他の機能媒体を介して接続可能な通信網120と通信を行うためにコンピュータモジュール101によって使用される。MODEM 116は、インターネットおよび構内通信網(LAN)または広域網(WAN)などの他のネットワークシステムへのアクセスを得るために使用することができる。
【0017】
コンピュータモジュール101は、通常、少なくとも一つの処理ユニット105、例えば半導体のランダムアクセスメモリ(RAM)および読出し専用記憶素子(ROM)から形成したメモリユニット106、ビデオインタフェイス107ならびにキーボード102、マウス103、およびオプションとしてジョイスティック(不図示)用の入出力(I/O)インタフェイス113を含むI/OインタフェイスおよびMODEM 116用のインタフェイス108を含む。さらに記憶装置109が設けられ、通常、ハードディスク装置110およびフロッピディスク装置111が含まれる。磁気テープ装置(不図示)を使用してもよい。CD−ROM装置112は、通常、不揮発性データ源として設けられる。コンピュータモジュール101の構成要素105から113は、通常、相互接続バス104を介し、関連技術において公知のコンピュータシステム100の従来型動作モードと結果的に同じ様式で通信を行う。記載の構成を実現できるコンピュータの例としてIBMのPCおよび互換機、Sun(R) Sparcstations(R)またはそこから進化した同様のコンピュータシステムがあげられる。
【0018】
通常、アプリケーションプログラムはハードディスク装置110に常駐しており、実行時に処理装置105によって読み出され、制御される。プログラムの中間記憶およびネットワーク120から取ってきた任意のデータは半導体メモリ106を用いて、あるいはハードディスク装置110とともに達成されてもよい。いくつかの例においては、アプリケーションプログラムをCD−ROMまたはフロッピディスクに記録してユーザに供給し、対応する装置112または111を介して読み出すか、あるいはモデム装置116を介してユーザがネットワーク120から読み出してもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム100にロードすることも可能である。ここで使用される「コンピュータ可読媒体」という用語は、実行および/または処理するためのコンピュータシステム100に対する命令および/またはデータの提供に関連する任意の記憶媒体または伝送媒体を示す。コンピュータモジュール101の内部にあるか外部にあるかに関わらず、記憶媒体の例として、フロッピディスクと、磁気テープと、CD−ROMと、ハードディスク装置と、ROMまたは集積回路と、光磁気ディスクと、PCMCIAカードなどのコンピュータ可読カードとがあげられる。伝送媒体の例として無線伝送チャネルまたは赤外線伝送チャネルがあげられる。それと同様に、伝送媒体の例として、別のコンピュータまたはネットワーク装置へのネットワーク接続と、電子メール伝送およびウェブサイト上などで記録された情報を含むインターネットおよびイントラネットとがあげられる。
【0019】
方法500のステップは、中間調プロセスを、コンピュータシステム100上で実行する既存のホストレンダリングシステムと一体化する。方法500において、同一色の領域は、大きさに関わらず任意の画像領域について中間調色を表現するために使用可能なタイル表現に変換される。それにより、方法500は広範囲の出力ページに対するホストレンダリングシステムの性能を改善する。さらに方法500においてビットマップ画像データは、必要に応じて、対応する中間調表現に変換することができ、それによって対応する画像のレンダリング中のメモリ容量をかなり節約できる。
【0020】
方法500のステップは、レンダリングシステムが一つの縁交差から次の縁交差へ画素データ連を生成する際、走査線ごとに必要に応じて実行される。方法500において、画像は、オブジェクトをページ上に出力して印刷する前に中間調表現に変換する場合、画像を表現するグラフィカルオブジェクトの表示リストまたはアレイを利用してレンダリングされる。ディザリング法は出力前に画像のオブジェクト上で実行されるのが好ましい。あるいは、関連技術において公知のエラー拡散、二値化または他の中間調技術は画像のオブジェクト上で実行することができる。このように出力を生成することにより、オブジェクトの中間調領域で一般に必要とされる作業が減少し、フレームバッファの使用を必要としない。また方法500は、必要であれば、グラフィカルオブジェクト上の色変換を実行する。
【0021】
方法500によってレンダリングすべきグラフィカルオブジェクトは、例えば変化のない色または混色のビットマップ画像データあるいはタイル表示画像データの領域を規定できる。方法500において、中間調データは異なるオブジェクトタイプ(例えば、テキストオブジェクト、グラフィックオブジェクトおよび画像オブジェクト)について予め計算され、レンダリングすべきグラフィカルオブジェクトを表現する元の入力データとともに格納することができる。上述のとおり、中間調データは関連技術において公知の任意のディザリング技術に基づいて生成することができる。あるいは、中間調データは関連技術において公知のエラー拡散、二値化または他の中間調技術に基づいて生成することができる。画像のオブジェクトが完全に不透明であると分かっている場合、不透明なオブジェクトに関する中間調データは、従来のレンダリング法においてよく行われるようにレンダリング後の別のステップとして透明性を適用するのではなく、画像を直接レンダリングするのに使用することができる。方法500によって色の変化がないオブジェクトをレンダリングすることにより、従来のレンダリング法と比較して、色変換され、かつ、中間調で表されるべき画素数が大幅に減少する。さらに、可視画像オブジェクトの領域のみが処理される。それにより、グラフィカルオブジェクトをレンダリングするためのメモリ使用量は、例えば一時フレームメモリを必要とする従来のプリンタレンダリング法のメモリ使用量よりも減少する。
【0022】
またさらに、レンダリングすべきページ上のオブジェクトが不透明でない場合、オブジェクトの元の色または画像データは、データによる完全に正確な合成動作または論理ラスタ演算を施すことが可能である。しかし、ページ上のすべてのグラフィカルオブジェクトが完全に不透明であることが分かっている場合、このような元の入力データを破棄することができ、その結果、さらにメモリ容量が節約される。
【0023】
またさらに、オブジェクトデータのリスト(例えば、表示リスト)がメモリ106に常駐し、方法500に従ったオブジェクトデータのレンダリングがプリンタ115によって実行されるシステムにおいて、例えば、方法500は関連するスプールファイルのサイズを大幅に減少させることができる。プリンタ115にディスプレイリストをスプールする前に元の連続階調ビットマップデータが同等の中間調データと交換されるため、スプールファイルのサイズが減少する。
【0024】
図2を参照すると、方法500において例えばオブジェクト203、204および205を備える画像200は、画像200の走査中に縁交差情報を生成することによってレンダリングされる。リスト202が予め深さにより順序付けられる(すなわち、z順)場合、縁交差情報はグラフィカルオブジェクト202のリストから抽出され、画像200を表現する。縁交差情報は、その後、ページ210上に印刷するためのプリンタ(例えば、プリンタ115)に出力すべき画素連を生成するために使用される。例えば、図3には走査線301が縁322、323および324と交差して画素連325、326、327および328になる画像200の部分が示される。
【0025】
上述のとおり、方法500は色の変化がない領域(すなわち、同一色の領域)(例えば、オブジェクト203)、二つの端点間の色(例えば、オブジェクト204)およびビットマップ画像データ(例えば、ビットマップ画像205)のレンダリングに利用できる。また方法500は、レンダリングされる領域にわたって繰り返されるかタイル張り構成とされるビットマップ画像データのレンダリングにも利用することができる。特に、同一色の領域は、その後の画像領域の中間調演算において使用されるタイル表現に変換される。
【0026】
方法500は、ハードディスク装置110に常駐し、処理装置105により実行中に読み出され、かつ、制御されるアプリケーションプログラムとして実現されるのが好ましい。方法500はステップ501で開始し、処理装置105がレンダリングすべき第一のグラフィカルオブジェクトを検出する。次のステップ503では、グラフィカルオブジェクトは処理装置105によって分解され、オブジェクトを規定する一組の縁、オブジェクトの優先度情報、オブジェクトのラスタ演算およびオブジェクトの対応ワインディング規則になる。次のステップ505において方法500は継続し、オブジェクトを規定する一組の縁がメモリ106内に構成された縁データベースに付加される。次のステップ507において、すべての画像オブジェクトが処理装置105によって受信された場合、方法500は次のステップ509において継続する。さもなければ、方法500はステップ501に戻る。
【0027】
ステップ509において、メモリ106内に構成された縁データベースに格納された縁は、y座標、x座標および優先度順(すなわち、z順)の昇順でソートされる。次のステップ511において、処理装置105はレンダリングすべき画像に対する走査線を選択する。次のステップ513では、ステップ511で選択された走査線上の各画素連について、走査線が入る縁を有するオブジェクトをアクティブとし、走査線が出る縁を有するオブジェクトを非アクティブとする。次のステップ514において方法500は継続し、現行の画素連に関して最も優先順位の高いアクティブオブジェクトが不透明の場合、次のステップ515で継続する。さもなければ、方法500はステップ517に進む。ステップ515において、最も優先順位の高いオブジェクトの塗りつぶしデータが中間調で表された場合、方法500はステップ519に進む。さもなければ、方法500はステップ516に進み、中間調情報がオブジェクトの塗り潰しデータに関して生成され、オブジェクトの元の塗り潰しデータとともにメモリ106に格納される。次のステップ519において方法500は継続し、プリンタ(例えば、プリンタ105)上で印刷するためのオブジェクトに関する中間調塗り潰しデータを使用して画素連が出力される。
【0028】
ステップ517において、現行の画素連に関するすべての可視オブジェクトの塗り潰しデータはともに合成され、画素連のデータを生成する。またステップ517において、現行の画素連に関するデータは中間調で表され、印刷するために出力される。次のステップ521において、現行の走査線についてすべての画素連が処理された場合、方法500はステップ523で継続する。さもなければ、方法500はステップ513に戻る。ステップ523において、レンダリングすべき画像についてすべての走査線が処理された場合、方法500は終了する。さもなければ、方法500はステップ511に戻り、次の走査線を処理装置105によって選択する。
【0029】
ここで方法500は、図2から図4の例を参照してさらに説明される。図4を参照して、走査線はレンダリングすべきページ210の上位置から下方に向かって生成されるのが好ましい。しかし、走査線がページ210の下位置からも生成できることは当業者に理解されるであろう。図4に示すように、画素連431、450および451は走査線401について生成され、画素連434、435、436および437は走査線402について生成される。走査線401に先立ついずれの走査線もグラフィカルオブジェクト203または205を横切らない。そのため、走査線401に先立つ走査線によって生成される画素連は中間調出力にはならない。これは画素連431に関しても真である。走査線の処理中に見出される第一の白色でないグラフィカルオブジェクトは、色の変化のない塗り潰しオブジェクト203である。方法500において、オブジェクト203はオブジェクト203の部分を表現するタイル表示画像433に変換され、走査線401から前方に向かって色の変化のない塗り潰しオブジェクト203内のすべての連続する画素連はタイル表示画像433を使用し、プリンタ115で直接印刷するために中間調出力を生成する。このように画素連を生成することにより、タイル表示画像をコンピュータシステム(例えば、コンピュータシステム100)によって少しのオーバヘッドでレンダリングすることができるため、従来のレンダリング法と比較して速度と効果の双方が改善される。
【0030】
走査線402に関して、画素連434は白色であり、画素連435はタイル表示画像433を利用するであろう。方法500において、画素連436について、画像オブジェクト205の一部は、画像オブジェクト205内に示すように、中間調画像438に変換される(すなわち、共有領域によって表現される)。中間調画像438は画像オブジェクト205内のすべての連続する画素連について使用され、オブジェクト203とオブジェクト205の間の重なり457(すなわち、想像線によって表現される)の範囲内で画像オブジェクト205が完全に不透明とされる。反対に画像オブジェクト205が完全に不透明ではない場合、重なり457の範囲は色の変化がない塗り潰しオブジェクト203および画像オブジェクト205の元のデータを使用して合成される。合成動作の結果は中間調で表される。しかし、このような合成は、重なり457の範囲内において、対応する合成動作または論理ラスタ演算がこのような動作を必要とする場合にのみ必要とされる。
【0031】
図4の例を続けると、グラフィカルオブジェクト203、205または204が、すべてのオブジェクトが不透明であるために合成を必要としないことが予め分かっている場合、画像オブジェクト203に関する元のビットマップデータを、中間調画像が生成された後で破棄することができる。このような動作により、例えば24ビットのRGB連続階調画像に関するメモリの使用量が大幅に減少する。例えばRGB画像の元のデータは一画素当り3バイトを使用するのに対し、同じ解像度での画像の一画素当り4ビットの中間調表現は1バイトに二画素を圧縮するため、六対一の改善を提供する。
【0032】
方法500のステップは、処理装置105が一つの縁交差から次の縁交差へ画素データ連を生成する際に実施されるのが好ましい。これにより、従来のレンダリング法と比較していくつかの利点を得る。第一に、一つ以上の画素連内の各可視グラフィカルオブジェクトの領域のみが処理される。第二に、オブジェクトが不透明でない場合、オブジェクトの元の塗り潰し色データまたは画像データは、オブジェクトによる完全に正確な合成動作または論理ラスタ演算において利用可能である。第三に、透明なグラフィカルオブジェクトがレンダリングすべきページ上に存在しないことが分かっている場合、隠れたオブジェクト(すなわち、優先順位の低いオブジェクト)に関するデータは、優先順位の低いオブジェクトに関するデータが中間調で表された後に破棄されてもよく、その結果、画像データに関してかなりのメモリ容量の節約になる。最後に、ビットマップ画像データは必要に応じて中間調表現に変換されることができ、そのため、かなりのメモリ容量の節約になる。
【0033】
あるいは、方法500は図5の機能またはサブ機能を実行する一つ以上の集積化回路などの専用ハードウェアにおいて実現することができる。このような専用ハードウェアはグラフィック処理装置、ディジタル信号処理装置または一つ以上のマイクロプロセッサと関連のメモリを含んでもよい。
【0034】
上述の方法は特定の制御フローを備える。本発明の範囲から逸脱することなく異なる制御フローを使用する方法の多数の変更が可能である。さらに、方法の一つ以上のステップは、連続ではなく並行して実施されてもよい。
【0035】
上述において、本発明のいくつかの実施形態だけが説明されたが、本発明の範囲を逸脱することなく、実施形態の変形および/または変更が可能であり、実施形態は例示であって本発明を限定するものではない。
【図面の簡単な説明】
【図1】記載の構成を実現できる汎用コンピュータの概略ブロック図、
【図2】画像をレンダリングする方法の概略を示すブロック図、
【図3】図2の画像について生成される画素連を示す図、
【図4】記載の構成に関して生成された図2の画像を示す図、
【図5A】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャート、
【図5B】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャートである。
【発明の属する技術分野】
本発明は一般にコンピュータグラフィクスに関し、とくに、グラフィカルオブジェクトのレンダリング、グラフィカルオブジェクトをレンダリングする方法および装置、グラフィカルオブジェクトをレンダリングするためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラムプロダクトに関する。
【0002】
【従来の技術】
例えば、インクジェット技術に基づいた従来の印刷システムは、ページ上に極めて小さいインク滴(ドット)を形成することによって画像を印刷することが多い。関連技術で公知であるように、ほとんどの従来の印刷システムは連続階調プリンタを利用しない。すなわち、従来の印刷システムのうちの一つによって印刷される画像を形成するドットは、完全に存在するか全く存在しないかのどちらかである。広範囲の色を実現するために、このようなプリンタは、利用可能な二色以上のドットのパターンを所望の色に近似させる従来のディザリング法、すなわち中間調法を使用する。
【0003】
プリンタを使用してページをレンダリングする一つの既知の方法は、プリンタに接続するコンピュータメモリ内に構成されたフレームバッファにおいてページの画像を生成し、ページのすべての画素について画像が完全に生成された後、画像上で中間調演算を実行するステップを含む。その後、画像を印刷するために、印刷ページの画像を表現するドットの構成を計算することが必要である。出力されるページ上のすべての画素について計算する必要がある場合、特にこのような計算は集中的な演算プロセスになる。この問題は、プリンタ装置が高解像度出力を有する場合、さらに深刻になる。
【0004】
プリンタ上でページをレンダリングする別の既知の方法は、グラフィカルオブジェクトをフレームバッファ内でレンダリングする前に、画像の各グラフィカルオブジェクト上において中間調で表すことによってメモリの使用量を減少させるための方法で、これによってフレームバッファを非常に小さくすることができる。しかし、この方法には二つの主な欠点がある。第一に、グラフィカルオブジェクトが重なり合う場合があり、このため決して印刷されないであろうグラフィカルオブジェクトの中間調領域での多くの作業が必要になる可能性がある。第二に、グラフィカルオブジェクトが完全に不透明ではない(すなわち、多少の透明性を有する)場合および/または論理ラスタ演算を使用してレンダリングされる場合、ページ上の透明オブジェクトの下にあるグラフィカルオブジェクトデータが破壊され、このため、出力される画像において不正確な結果が生成される可能性がある。
【0005】
それにより、不透明で重なり合っているオブジェクトをレンダリングする際の速度と、メモリ使用量の双方において改善を提供する、改善されたレンダリング法が確実に必要とされている。
【0006】
【発明が解決しようとする課題】
本発明は、既存の構成における一つ以上の欠点を実質的に解決すること、または、少なくとも改善することを目的とする。
【0007】
【課題を解決するための手段】
本発明の一つの側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する方法であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成し、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表すことを特徴とする。
【0008】
本発明の別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する装置であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成するアレイ形成手段と、走査線の画素連に寄与するオブジェクトを判定するために前記アレイを横断する横断手段と、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す合成手段とを有することを特徴とする。
【0009】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するコンピュータプログラムであって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【0010】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するためのプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【0011】
また、本発明の他の面も開示される。
【0012】
【発明の実施の形態】
本発明の一つ以上の実施形態は、添付の図面を参照して以下に説明される。
【0013】
一つ以上の添付の図面において同じ図中符号のステップおよび/または特徴を参照する場合、特に指示のない限り、便宜上、それらのステップおよび/または特徴は同じ機能または動作を有する。
【0014】
グラフィカルオブジェクトをレンダリングする方法500は、図5Aおよび図5Bを参照して以下に説明される。方法500の原理は、グラフィカルオブジェクトのレンダリングに対する一般的な適用範囲を有する。しかしながら、説明を容易にするため、方法500のステップはページ上に印刷するためのグラフィカルオブジェクトのレンダリングを参照して説明される。これは、本発明を記載の構成に限定することを意図しない。例えば、方法500は、表示画像を有するドットが完全に存在するか全く存在しないかのどちらかであるという特徴を備える液晶表示装置または他の表示装置上で表示するためのグラフィカルオブジェクトのレンダリングに対する適用を有してもよい。このような表示装置は、極めて限定されたメモリおよび性能を有する組み込み型計算機システムによって駆動される場合が多い。
【0015】
方法500は、図1に示されるような汎用コンピュータシステム100を用いて実施されるのが好ましい。このようなシステムにおいて、図2から図5Bのプロセスはコンピュータシステム100内で実行するアプリケーションプログラムなどのソフトウェアとして実現されてもよい。特に、以下に記載の方法500のステップはコンピュータによって実行されるソフトウェア中の命令により有効になる。命令は一つ以上の特定のタスクをそれぞれ実行するための一つ以上のコードモジュールとして形成されてもよい。またソフトウェアは、方法500を実行する第一の部分と、第一の部分とユーザとのユーザインタフェイスを管理する第二の部分の二つの別々の部分に分割されてもよい。ソフトウェアは、例えば以下に記載される記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアはコンピュータ可読媒体からコンピュータにロードされ、コンピュータによって実行される。このようなソフトウェアまたはコンピュータプログラムを記録するコンピュータ可読媒体はコンピュータプログラムプロダクトである。コンピュータにおけるコンピュータプログラムプロダクトの使用は、ここで説明される構成を実現するのに好都合な装置を達成することが好ましい。
【0016】
コンピュータシステム100は、コンピュータモジュール101、キーボード102およびマウス103などの入力装置、プリンタ115および表示装置114を含む出力装置を備える。変復調器(MODEM)トランシーバ装置116は、例えば電話回線121または他の機能媒体を介して接続可能な通信網120と通信を行うためにコンピュータモジュール101によって使用される。MODEM 116は、インターネットおよび構内通信網(LAN)または広域網(WAN)などの他のネットワークシステムへのアクセスを得るために使用することができる。
【0017】
コンピュータモジュール101は、通常、少なくとも一つの処理ユニット105、例えば半導体のランダムアクセスメモリ(RAM)および読出し専用記憶素子(ROM)から形成したメモリユニット106、ビデオインタフェイス107ならびにキーボード102、マウス103、およびオプションとしてジョイスティック(不図示)用の入出力(I/O)インタフェイス113を含むI/OインタフェイスおよびMODEM 116用のインタフェイス108を含む。さらに記憶装置109が設けられ、通常、ハードディスク装置110およびフロッピディスク装置111が含まれる。磁気テープ装置(不図示)を使用してもよい。CD−ROM装置112は、通常、不揮発性データ源として設けられる。コンピュータモジュール101の構成要素105から113は、通常、相互接続バス104を介し、関連技術において公知のコンピュータシステム100の従来型動作モードと結果的に同じ様式で通信を行う。記載の構成を実現できるコンピュータの例としてIBMのPCおよび互換機、Sun(R) Sparcstations(R)またはそこから進化した同様のコンピュータシステムがあげられる。
【0018】
通常、アプリケーションプログラムはハードディスク装置110に常駐しており、実行時に処理装置105によって読み出され、制御される。プログラムの中間記憶およびネットワーク120から取ってきた任意のデータは半導体メモリ106を用いて、あるいはハードディスク装置110とともに達成されてもよい。いくつかの例においては、アプリケーションプログラムをCD−ROMまたはフロッピディスクに記録してユーザに供給し、対応する装置112または111を介して読み出すか、あるいはモデム装置116を介してユーザがネットワーク120から読み出してもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム100にロードすることも可能である。ここで使用される「コンピュータ可読媒体」という用語は、実行および/または処理するためのコンピュータシステム100に対する命令および/またはデータの提供に関連する任意の記憶媒体または伝送媒体を示す。コンピュータモジュール101の内部にあるか外部にあるかに関わらず、記憶媒体の例として、フロッピディスクと、磁気テープと、CD−ROMと、ハードディスク装置と、ROMまたは集積回路と、光磁気ディスクと、PCMCIAカードなどのコンピュータ可読カードとがあげられる。伝送媒体の例として無線伝送チャネルまたは赤外線伝送チャネルがあげられる。それと同様に、伝送媒体の例として、別のコンピュータまたはネットワーク装置へのネットワーク接続と、電子メール伝送およびウェブサイト上などで記録された情報を含むインターネットおよびイントラネットとがあげられる。
【0019】
方法500のステップは、中間調プロセスを、コンピュータシステム100上で実行する既存のホストレンダリングシステムと一体化する。方法500において、同一色の領域は、大きさに関わらず任意の画像領域について中間調色を表現するために使用可能なタイル表現に変換される。それにより、方法500は広範囲の出力ページに対するホストレンダリングシステムの性能を改善する。さらに方法500においてビットマップ画像データは、必要に応じて、対応する中間調表現に変換することができ、それによって対応する画像のレンダリング中のメモリ容量をかなり節約できる。
【0020】
方法500のステップは、レンダリングシステムが一つの縁交差から次の縁交差へ画素データ連を生成する際、走査線ごとに必要に応じて実行される。方法500において、画像は、オブジェクトをページ上に出力して印刷する前に中間調表現に変換する場合、画像を表現するグラフィカルオブジェクトの表示リストまたはアレイを利用してレンダリングされる。ディザリング法は出力前に画像のオブジェクト上で実行されるのが好ましい。あるいは、関連技術において公知のエラー拡散、二値化または他の中間調技術は画像のオブジェクト上で実行することができる。このように出力を生成することにより、オブジェクトの中間調領域で一般に必要とされる作業が減少し、フレームバッファの使用を必要としない。また方法500は、必要であれば、グラフィカルオブジェクト上の色変換を実行する。
【0021】
方法500によってレンダリングすべきグラフィカルオブジェクトは、例えば変化のない色または混色のビットマップ画像データあるいはタイル表示画像データの領域を規定できる。方法500において、中間調データは異なるオブジェクトタイプ(例えば、テキストオブジェクト、グラフィックオブジェクトおよび画像オブジェクト)について予め計算され、レンダリングすべきグラフィカルオブジェクトを表現する元の入力データとともに格納することができる。上述のとおり、中間調データは関連技術において公知の任意のディザリング技術に基づいて生成することができる。あるいは、中間調データは関連技術において公知のエラー拡散、二値化または他の中間調技術に基づいて生成することができる。画像のオブジェクトが完全に不透明であると分かっている場合、不透明なオブジェクトに関する中間調データは、従来のレンダリング法においてよく行われるようにレンダリング後の別のステップとして透明性を適用するのではなく、画像を直接レンダリングするのに使用することができる。方法500によって色の変化がないオブジェクトをレンダリングすることにより、従来のレンダリング法と比較して、色変換され、かつ、中間調で表されるべき画素数が大幅に減少する。さらに、可視画像オブジェクトの領域のみが処理される。それにより、グラフィカルオブジェクトをレンダリングするためのメモリ使用量は、例えば一時フレームメモリを必要とする従来のプリンタレンダリング法のメモリ使用量よりも減少する。
【0022】
またさらに、レンダリングすべきページ上のオブジェクトが不透明でない場合、オブジェクトの元の色または画像データは、データによる完全に正確な合成動作または論理ラスタ演算を施すことが可能である。しかし、ページ上のすべてのグラフィカルオブジェクトが完全に不透明であることが分かっている場合、このような元の入力データを破棄することができ、その結果、さらにメモリ容量が節約される。
【0023】
またさらに、オブジェクトデータのリスト(例えば、表示リスト)がメモリ106に常駐し、方法500に従ったオブジェクトデータのレンダリングがプリンタ115によって実行されるシステムにおいて、例えば、方法500は関連するスプールファイルのサイズを大幅に減少させることができる。プリンタ115にディスプレイリストをスプールする前に元の連続階調ビットマップデータが同等の中間調データと交換されるため、スプールファイルのサイズが減少する。
【0024】
図2を参照すると、方法500において例えばオブジェクト203、204および205を備える画像200は、画像200の走査中に縁交差情報を生成することによってレンダリングされる。リスト202が予め深さにより順序付けられる(すなわち、z順)場合、縁交差情報はグラフィカルオブジェクト202のリストから抽出され、画像200を表現する。縁交差情報は、その後、ページ210上に印刷するためのプリンタ(例えば、プリンタ115)に出力すべき画素連を生成するために使用される。例えば、図3には走査線301が縁322、323および324と交差して画素連325、326、327および328になる画像200の部分が示される。
【0025】
上述のとおり、方法500は色の変化がない領域(すなわち、同一色の領域)(例えば、オブジェクト203)、二つの端点間の色(例えば、オブジェクト204)およびビットマップ画像データ(例えば、ビットマップ画像205)のレンダリングに利用できる。また方法500は、レンダリングされる領域にわたって繰り返されるかタイル張り構成とされるビットマップ画像データのレンダリングにも利用することができる。特に、同一色の領域は、その後の画像領域の中間調演算において使用されるタイル表現に変換される。
【0026】
方法500は、ハードディスク装置110に常駐し、処理装置105により実行中に読み出され、かつ、制御されるアプリケーションプログラムとして実現されるのが好ましい。方法500はステップ501で開始し、処理装置105がレンダリングすべき第一のグラフィカルオブジェクトを検出する。次のステップ503では、グラフィカルオブジェクトは処理装置105によって分解され、オブジェクトを規定する一組の縁、オブジェクトの優先度情報、オブジェクトのラスタ演算およびオブジェクトの対応ワインディング規則になる。次のステップ505において方法500は継続し、オブジェクトを規定する一組の縁がメモリ106内に構成された縁データベースに付加される。次のステップ507において、すべての画像オブジェクトが処理装置105によって受信された場合、方法500は次のステップ509において継続する。さもなければ、方法500はステップ501に戻る。
【0027】
ステップ509において、メモリ106内に構成された縁データベースに格納された縁は、y座標、x座標および優先度順(すなわち、z順)の昇順でソートされる。次のステップ511において、処理装置105はレンダリングすべき画像に対する走査線を選択する。次のステップ513では、ステップ511で選択された走査線上の各画素連について、走査線が入る縁を有するオブジェクトをアクティブとし、走査線が出る縁を有するオブジェクトを非アクティブとする。次のステップ514において方法500は継続し、現行の画素連に関して最も優先順位の高いアクティブオブジェクトが不透明の場合、次のステップ515で継続する。さもなければ、方法500はステップ517に進む。ステップ515において、最も優先順位の高いオブジェクトの塗りつぶしデータが中間調で表された場合、方法500はステップ519に進む。さもなければ、方法500はステップ516に進み、中間調情報がオブジェクトの塗り潰しデータに関して生成され、オブジェクトの元の塗り潰しデータとともにメモリ106に格納される。次のステップ519において方法500は継続し、プリンタ(例えば、プリンタ105)上で印刷するためのオブジェクトに関する中間調塗り潰しデータを使用して画素連が出力される。
【0028】
ステップ517において、現行の画素連に関するすべての可視オブジェクトの塗り潰しデータはともに合成され、画素連のデータを生成する。またステップ517において、現行の画素連に関するデータは中間調で表され、印刷するために出力される。次のステップ521において、現行の走査線についてすべての画素連が処理された場合、方法500はステップ523で継続する。さもなければ、方法500はステップ513に戻る。ステップ523において、レンダリングすべき画像についてすべての走査線が処理された場合、方法500は終了する。さもなければ、方法500はステップ511に戻り、次の走査線を処理装置105によって選択する。
【0029】
ここで方法500は、図2から図4の例を参照してさらに説明される。図4を参照して、走査線はレンダリングすべきページ210の上位置から下方に向かって生成されるのが好ましい。しかし、走査線がページ210の下位置からも生成できることは当業者に理解されるであろう。図4に示すように、画素連431、450および451は走査線401について生成され、画素連434、435、436および437は走査線402について生成される。走査線401に先立ついずれの走査線もグラフィカルオブジェクト203または205を横切らない。そのため、走査線401に先立つ走査線によって生成される画素連は中間調出力にはならない。これは画素連431に関しても真である。走査線の処理中に見出される第一の白色でないグラフィカルオブジェクトは、色の変化のない塗り潰しオブジェクト203である。方法500において、オブジェクト203はオブジェクト203の部分を表現するタイル表示画像433に変換され、走査線401から前方に向かって色の変化のない塗り潰しオブジェクト203内のすべての連続する画素連はタイル表示画像433を使用し、プリンタ115で直接印刷するために中間調出力を生成する。このように画素連を生成することにより、タイル表示画像をコンピュータシステム(例えば、コンピュータシステム100)によって少しのオーバヘッドでレンダリングすることができるため、従来のレンダリング法と比較して速度と効果の双方が改善される。
【0030】
走査線402に関して、画素連434は白色であり、画素連435はタイル表示画像433を利用するであろう。方法500において、画素連436について、画像オブジェクト205の一部は、画像オブジェクト205内に示すように、中間調画像438に変換される(すなわち、共有領域によって表現される)。中間調画像438は画像オブジェクト205内のすべての連続する画素連について使用され、オブジェクト203とオブジェクト205の間の重なり457(すなわち、想像線によって表現される)の範囲内で画像オブジェクト205が完全に不透明とされる。反対に画像オブジェクト205が完全に不透明ではない場合、重なり457の範囲は色の変化がない塗り潰しオブジェクト203および画像オブジェクト205の元のデータを使用して合成される。合成動作の結果は中間調で表される。しかし、このような合成は、重なり457の範囲内において、対応する合成動作または論理ラスタ演算がこのような動作を必要とする場合にのみ必要とされる。
【0031】
図4の例を続けると、グラフィカルオブジェクト203、205または204が、すべてのオブジェクトが不透明であるために合成を必要としないことが予め分かっている場合、画像オブジェクト203に関する元のビットマップデータを、中間調画像が生成された後で破棄することができる。このような動作により、例えば24ビットのRGB連続階調画像に関するメモリの使用量が大幅に減少する。例えばRGB画像の元のデータは一画素当り3バイトを使用するのに対し、同じ解像度での画像の一画素当り4ビットの中間調表現は1バイトに二画素を圧縮するため、六対一の改善を提供する。
【0032】
方法500のステップは、処理装置105が一つの縁交差から次の縁交差へ画素データ連を生成する際に実施されるのが好ましい。これにより、従来のレンダリング法と比較していくつかの利点を得る。第一に、一つ以上の画素連内の各可視グラフィカルオブジェクトの領域のみが処理される。第二に、オブジェクトが不透明でない場合、オブジェクトの元の塗り潰し色データまたは画像データは、オブジェクトによる完全に正確な合成動作または論理ラスタ演算において利用可能である。第三に、透明なグラフィカルオブジェクトがレンダリングすべきページ上に存在しないことが分かっている場合、隠れたオブジェクト(すなわち、優先順位の低いオブジェクト)に関するデータは、優先順位の低いオブジェクトに関するデータが中間調で表された後に破棄されてもよく、その結果、画像データに関してかなりのメモリ容量の節約になる。最後に、ビットマップ画像データは必要に応じて中間調表現に変換されることができ、そのため、かなりのメモリ容量の節約になる。
【0033】
あるいは、方法500は図5の機能またはサブ機能を実行する一つ以上の集積化回路などの専用ハードウェアにおいて実現することができる。このような専用ハードウェアはグラフィック処理装置、ディジタル信号処理装置または一つ以上のマイクロプロセッサと関連のメモリを含んでもよい。
【0034】
上述の方法は特定の制御フローを備える。本発明の範囲から逸脱することなく異なる制御フローを使用する方法の多数の変更が可能である。さらに、方法の一つ以上のステップは、連続ではなく並行して実施されてもよい。
【0035】
上述において、本発明のいくつかの実施形態だけが説明されたが、本発明の範囲を逸脱することなく、実施形態の変形および/または変更が可能であり、実施形態は例示であって本発明を限定するものではない。
【図面の簡単な説明】
【図1】記載の構成を実現できる汎用コンピュータの概略ブロック図、
【図2】画像をレンダリングする方法の概略を示すブロック図、
【図3】図2の画像について生成される画素連を示す図、
【図4】記載の構成に関して生成された図2の画像を示す図、
【図5A】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャート、
【図5B】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャートである。
Claims (13)
- それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する方法であって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成し、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表すことを特徴とする生成方法。 - 前記合成は、前記画素連に対応する最上位に位置する寄与オブジェクトが不透明か否かを判定し、前記最上位に位置する寄与オブジェクトが不透明の場合、前記最上位に位置する寄与オブジェクトを表現して前記画素連を生成する画素データを中間調で表すことを特徴とする請求項1に記載された生成方法。
- さらに、前記オブジェクトを、対応するオブジェクトの少なくとも一つの縁を含む構成要素の特性に分解することを特徴とする請求項1に記載された生成方法。
- 前記横断は、前記画素連を規定するオブジェクトの縁を判定するために、さらなるアレイを横断することを特徴とする請求項4に記載された生成方法。
- さらに、現行の走査線と交差する前記寄与オブジェクトの縁によって、オブジェクトの寄与を判定することを特徴とする請求項4に記載された生成方法。
- 前記合成は、前記画素連を生成するために、予め中間調で表されたデータを使用することを特徴とする請求項1に記載された生成方法。
- それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する装置であって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成するアレイ形成手段と、
走査線の画素連に寄与するオブジェクトを判定するために前記アレイを横断する横断手段と、
一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す合成手段とを有することを特徴とする生成装置。 - 前記合成手段は、前記画素連に対応する最上位に位置する寄与オブジェクトが不透明か否かを判定する判定手段、および、前記最上位に位置する寄与オブジェクトが不透明の場合、前記最上位に位置する寄与オブジェクトを表現して前記画素連を生成する画素データを中間調で表す中間調手段を有することを得幸とする請求項7に記載された生成装置。
- さらに、前記オブジェクトを、対応するオブジェクトの少なくとも一つの縁を含む構成要素の特性に分解する分解手段を有することを特徴とする請求項7に記載された生成装置。
- さらに、前記画素連を規定するオブジェクトの縁を判定するために、さらなるアレイを横断する手段を有することを特徴とする請求項7に記載された生成装置。
- さらに、現行の走査線と交差する前記寄与オブジェクトの縁によって、オブジェクトの寄与を判定する手段を有することを特徴とする請求項7に記載された生成装置。
- それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するコンピュータプログラムであって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とするプログラム。 - それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するためのプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPS1342A AUPS134202A0 (en) | 2002-03-25 | 2002-03-25 | System and method for optimizing halftoning printer performance |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004122746A true JP2004122746A (ja) | 2004-04-22 |
Family
ID=3834936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003083616A Pending JP2004122746A (ja) | 2002-03-25 | 2003-03-25 | 階調プリンタの性能を最適化するシステムおよびその方法 |
Country Status (7)
Country | Link |
---|---|
US (2) | US7286142B2 (ja) |
EP (1) | EP1351196B1 (ja) |
JP (1) | JP2004122746A (ja) |
KR (1) | KR100633874B1 (ja) |
CN (1) | CN1254772C (ja) |
AU (1) | AUPS134202A0 (ja) |
DE (1) | DE60335762D1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018842A (ja) * | 2004-06-30 | 2006-01-19 | Canon Inc | グラフィックオブジェクトを描画する方法 |
JP2007083720A (ja) * | 2005-09-19 | 2007-04-05 | Avago Technologies Imaging Ip (Singapore) Pte Ltd | ノズル発射の順序付け制御を省くことによる印刷速度の向上 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2005201930B2 (en) * | 2005-05-06 | 2009-02-19 | Canon Kabushiki Kaisha | Simplification of alpha compositing in the presence of transfer functions |
AU2007203061A1 (en) * | 2007-06-29 | 2009-01-15 | Canon Kabushiki Kaisha | Efficient banded hybrid rendering |
AU2009202377A1 (en) * | 2009-06-15 | 2011-01-06 | Canon Kabushiki Kaisha | Combining overlapping objects |
AU2009240860B2 (en) * | 2009-11-26 | 2011-12-22 | Canon Kabushiki Kaisha | Determining composite colour for dithered object and contone object |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5075779A (en) * | 1990-04-27 | 1991-12-24 | Intergraph Corporation | Apparatus and method for interpreting image data for use in a raster plotter |
ATE134272T1 (de) * | 1990-08-08 | 1996-02-15 | Peerless Group | Verfahren und vorrichtung zur bildwiedergabe |
EP0607136B1 (en) * | 1991-10-10 | 1998-04-29 | Hewlett-Packard Company | Graphics output system with bounded updating |
US5668931A (en) * | 1993-03-31 | 1997-09-16 | Dermer; Richard A. | Method for automatic trap selection for correcting for plate misregistration in color printing |
US5838334A (en) | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
DE19513105A1 (de) | 1995-04-07 | 1996-10-10 | Hell Ag Linotype | Verfahren zur Generierung einer Contone-Map |
US6268859B1 (en) | 1995-06-06 | 2001-07-31 | Apple Computer, Inc. | Method and system for rendering overlapping opaque graphical objects in graphic imaging systems |
JPH0918703A (ja) | 1995-06-29 | 1997-01-17 | Canon Inc | 画像形成装置 |
US6137589A (en) | 1995-09-20 | 2000-10-24 | Hewlett-Packard Company | Efficient storage of dithered raster image data in a printer or the like |
US6046748A (en) | 1996-06-27 | 2000-04-04 | Peerless Systems Corporation | Cooperative filter and raster operation evaluation model |
US5949964A (en) | 1997-06-17 | 1999-09-07 | Hewlett-Packard Company | Method and apparatus for halftoning of images in a printer |
US5966467A (en) | 1997-09-12 | 1999-10-12 | Xerox Corporation | System for compressing and decompressing binary representations of dithered images |
JP3413829B2 (ja) | 1997-11-18 | 2003-06-09 | 富士ゼロックス株式会社 | 描画処理装置および方法 |
US6313847B1 (en) * | 1997-12-22 | 2001-11-06 | Adobe Systems Incorporated | Blending graphics objects in a frame buffer |
US6049339A (en) * | 1997-12-22 | 2000-04-11 | Adobe Systems Incorporated | Blending with planar maps |
EP1092217B1 (en) | 1998-06-29 | 2005-09-14 | Honeywell Inc. | Method of and system for detecting and rendering of graphic elements |
JP4365950B2 (ja) | 1998-09-11 | 2009-11-18 | キヤノン株式会社 | 高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法および装置 |
JP4343344B2 (ja) | 1998-09-11 | 2009-10-14 | キヤノン株式会社 | ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法 |
US6201614B1 (en) * | 1998-12-24 | 2001-03-13 | Electronics For Imaging, Inc. | Dithered image compression system |
JP2000235643A (ja) | 1999-02-17 | 2000-08-29 | Victor Co Of Japan Ltd | 画像合成方法 |
US6369830B1 (en) | 1999-05-10 | 2002-04-09 | Apple Computer, Inc. | Rendering translucent layers in a display system |
DE10012521C2 (de) * | 2000-03-15 | 2002-12-19 | Heidelberger Druckmasch Ag | Verfahren zur Komprimierung von Druckdaten |
US6781600B2 (en) * | 2000-04-14 | 2004-08-24 | Picsel Technologies Limited | Shape processor |
US6850338B1 (en) * | 2000-05-12 | 2005-02-01 | International Business Machines Corporation | Method, system, program, and data structure for generating raster objects |
US6774913B1 (en) * | 2000-05-15 | 2004-08-10 | International Business Machines Corporation | System, method, and program for selectively merging partial objects |
AUPQ758000A0 (en) | 2000-05-17 | 2000-06-08 | Canon Kabushiki Kaisha | Processing pixels of a digital image |
US6891536B2 (en) | 2001-11-30 | 2005-05-10 | Canon Kabushiki Kaisha | Method of determining active priorities |
JP3855873B2 (ja) * | 2002-07-31 | 2006-12-13 | 株式会社日立製作所 | 直線駆動装置及びそれを用いた製造装置 |
-
2002
- 2002-03-25 AU AUPS1342A patent/AUPS134202A0/en not_active Abandoned
-
2003
- 2003-03-20 EP EP03251745A patent/EP1351196B1/en not_active Expired - Lifetime
- 2003-03-20 DE DE60335762T patent/DE60335762D1/de not_active Expired - Lifetime
- 2003-03-20 KR KR1020030017445A patent/KR100633874B1/ko active IP Right Grant
- 2003-03-21 US US10/393,249 patent/US7286142B2/en not_active Expired - Lifetime
- 2003-03-25 CN CNB03108236XA patent/CN1254772C/zh not_active Expired - Fee Related
- 2003-03-25 JP JP2003083616A patent/JP2004122746A/ja active Pending
-
2007
- 2007-01-05 US US11/620,283 patent/US7477265B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006018842A (ja) * | 2004-06-30 | 2006-01-19 | Canon Inc | グラフィックオブジェクトを描画する方法 |
JP2007083720A (ja) * | 2005-09-19 | 2007-04-05 | Avago Technologies Imaging Ip (Singapore) Pte Ltd | ノズル発射の順序付け制御を省くことによる印刷速度の向上 |
Also Published As
Publication number | Publication date |
---|---|
EP1351196A2 (en) | 2003-10-08 |
AUPS134202A0 (en) | 2002-05-09 |
US7477265B2 (en) | 2009-01-13 |
EP1351196B1 (en) | 2011-01-19 |
US20070103469A1 (en) | 2007-05-10 |
US7286142B2 (en) | 2007-10-23 |
US20030227463A1 (en) | 2003-12-11 |
KR20030077986A (ko) | 2003-10-04 |
DE60335762D1 (de) | 2011-03-03 |
CN1447286A (zh) | 2003-10-08 |
KR100633874B1 (ko) | 2006-10-13 |
CN1254772C (zh) | 2006-05-03 |
EP1351196A3 (en) | 2005-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5929866A (en) | Adjusting contrast in anti-aliasing | |
AU2003203331B2 (en) | Mixed raster content files | |
EP1577838B1 (en) | A method of rendering graphical objects | |
US6313847B1 (en) | Blending graphics objects in a frame buffer | |
US20050067498A1 (en) | Method for generating a display list | |
JPH11272252A (ja) | デジタルイメ―ジの脱ハ―フト―ン処理 | |
JPH08235367A (ja) | グレーマスキング技術によるアンチエリアシング方法 | |
US20040085559A1 (en) | Apparatus for printing using non-overlapping graphic objects | |
US7477265B2 (en) | System and method for optimising halftoning printer performance | |
JP3142550B2 (ja) | 図形処理装置 | |
US6738071B2 (en) | Dynamically anti-aliased graphics | |
US6591020B1 (en) | Antialiazed high-resolution frame buffer architecture | |
JP4143613B2 (ja) | 描画方法、描画装置 | |
JP4164215B2 (ja) | 画像処理方法、装置および記録媒体 | |
JP2009129342A (ja) | 画像処理装置及び方法 | |
AU2003201329B2 (en) | A System and Method for Optimising Halftoning Printer Performance | |
US5758044A (en) | Method and apparatus for rendering using a band by band depth adjustment | |
JP2000066658A (ja) | 画像処理装置および記録媒体 | |
JP3294249B2 (ja) | 画像処理装置 | |
JPH07250246A (ja) | 画像形成装置 | |
JPH0535879A (ja) | ベクトル画像描画装置 | |
AU2007240228A1 (en) | Improved hybrid rendering | |
JP2003283816A (ja) | 画像処理装置及び画像出力システム | |
JP2006050300A (ja) | 画像処理装置およびその方法 | |
AU2008264239A1 (en) | Text processing in a region based printing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060526 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061110 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070202 |