(57)【要約】　　　（修正有）【課題】不透明で重なり合っているオブジェクトをレンダリングする際の速度と、メモリ使用量の双方において改善を提供する、改善されたレンダリング法を提供する。【解決手段】方法５００は画像２００のグラフィカルオブジェクト２０３、２０４および２０５表現するアレイを形成する。アレイは最上位置のグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされる。最上位置の寄与すジェクトが完全に不透明の場合、完全に不透明のオブジェクトに関するデータは中間調で表されて画素連を生成する。さもなければ、一つ以上の寄与するオブジェクトに関するデータは合成され、その合成されたデータは中間調で表されて画素連を生成する。【選択図】　　図２
2004122746.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する方法であって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成し、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表すことを特徴とする生成方法。
【請求項２】
前記合成は、前記画素連に対応する最上位に位置する寄与オブジェクトが不透明か否かを判定し、前記最上位に位置する寄与オブジェクトが不透明の場合、前記最上位に位置する寄与オブジェクトを表現して前記画素連を生成する画素データを中間調で表すことを特徴とする請求項１に記載された生成方法。
【請求項３】
さらに、前記オブジェクトを、対応するオブジェクトの少なくとも一つの縁を含む構成要素の特性に分解することを特徴とする請求項１に記載された生成方法。
【請求項４】
前記横断は、前記画素連を規定するオブジェクトの縁を判定するために、さらなるアレイを横断することを特徴とする請求項４に記載された生成方法。
【請求項５】
さらに、現行の走査線と交差する前記寄与オブジェクトの縁によって、オブジェクトの寄与を判定することを特徴とする請求項４に記載された生成方法。
【請求項６】
前記合成は、前記画素連を生成するために、予め中間調で表されたデータを使用することを特徴とする請求項１に記載された生成方法。
【請求項７】
それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する装置であって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成するアレイ形成手段と、
走査線の画素連に寄与するオブジェクトを判定するために前記アレイを横断する横断手段と、
一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す合成手段とを有することを特徴とする生成装置。
【請求項８】
前記合成手段は、前記画素連に対応する最上位に位置する寄与オブジェクトが不透明か否かを判定する判定手段、および、前記最上位に位置する寄与オブジェクトが不透明の場合、前記最上位に位置する寄与オブジェクトを表現して前記画素連を生成する画素データを中間調で表す中間調手段を有することを得幸とする請求項７に記載された生成装置。
【請求項９】
さらに、前記オブジェクトを、対応するオブジェクトの少なくとも一つの縁を含む構成要素の特性に分解する分解手段を有することを特徴とする請求項７に記載された生成装置。
【請求項１０】
さらに、前記画素連を規定するオブジェクトの縁を判定するために、さらなるアレイを横断する手段を有することを特徴とする請求項７に記載された生成装置。
【請求項１１】
さらに、現行の走査線と交差する前記寄与オブジェクトの縁によって、オブジェクトの寄与を判定する手段を有することを特徴とする請求項７に記載された生成装置。
【請求項１２】
それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するコンピュータプログラムであって、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とするプログラム。
【請求項１３】
それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するためのプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、
前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は一般にコンピュータグラフィクスに関し、とくに、グラフィカルオブジェクトのレンダリング、グラフィカルオブジェクトをレンダリングする方法および装置、グラフィカルオブジェクトをレンダリングするためのコンピュータプログラムを記録したコンピュータ可読媒体を含むコンピュータプログラムプロダクトに関する。
【０００２】
【従来の技術】
例えば、インクジェット技術に基づいた従来の印刷システムは、ページ上に極めて小さいインク滴（ドット）を形成することによって画像を印刷することが多い。関連技術で公知であるように、ほとんどの従来の印刷システムは連続階調プリンタを利用しない。すなわち、従来の印刷システムのうちの一つによって印刷される画像を形成するドットは、完全に存在するか全く存在しないかのどちらかである。広範囲の色を実現するために、このようなプリンタは、利用可能な二色以上のドットのパターンを所望の色に近似させる従来のディザリング法、すなわち中間調法を使用する。
【０００３】
プリンタを使用してページをレンダリングする一つの既知の方法は、プリンタに接続するコンピュータメモリ内に構成されたフレームバッファにおいてページの画像を生成し、ページのすべての画素について画像が完全に生成された後、画像上で中間調演算を実行するステップを含む。その後、画像を印刷するために、印刷ページの画像を表現するドットの構成を計算することが必要である。出力されるページ上のすべての画素について計算する必要がある場合、特にこのような計算は集中的な演算プロセスになる。この問題は、プリンタ装置が高解像度出力を有する場合、さらに深刻になる。
【０００４】
プリンタ上でページをレンダリングする別の既知の方法は、グラフィカルオブジェクトをフレームバッファ内でレンダリングする前に、画像の各グラフィカルオブジェクト上において中間調で表すことによってメモリの使用量を減少させるための方法で、これによってフレームバッファを非常に小さくすることができる。しかし、この方法には二つの主な欠点がある。第一に、グラフィカルオブジェクトが重なり合う場合があり、このため決して印刷されないであろうグラフィカルオブジェクトの中間調領域での多くの作業が必要になる可能性がある。第二に、グラフィカルオブジェクトが完全に不透明ではない（すなわち、多少の透明性を有する）場合および／または論理ラスタ演算を使用してレンダリングされる場合、ページ上の透明オブジェクトの下にあるグラフィカルオブジェクトデータが破壊され、このため、出力される画像において不正確な結果が生成される可能性がある。
【０００５】
それにより、不透明で重なり合っているオブジェクトをレンダリングする際の速度と、メモリ使用量の双方において改善を提供する、改善されたレンダリング法が確実に必要とされている。
【０００６】
【発明が解決しようとする課題】
本発明は、既存の構成における一つ以上の欠点を実質的に解決すること、または、少なくとも改善することを目的とする。
【０００７】
【課題を解決するための手段】
本発明の一つの側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する方法であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成し、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表すことを特徴とする。
【０００８】
本発明の別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成する装置であって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成するアレイ形成手段と、走査線の画素連に寄与するオブジェクトを判定するために前記アレイを横断する横断手段と、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す合成手段とを有することを特徴とする。
【０００９】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するコンピュータプログラムであって、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【００１０】
本発明のさらに別の側面は、それぞれ少なくとも一つの画素連からなる走査線ごとに複数のグラフィカルオブジェクトをレンダリングすることで画像を生成するためのプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、前記画像のグラフィカルオブジェクトを表現し、最上位に位置するグラフィカルオブジェクトから最下位に位置するグラフィカルオブジェクトへ順次ソートされるアレイを形成する処理を行うコードと、前記画像の各走査線および前記走査線の各画素連について、前記画素連に寄与するオブジェクトを判定するために前記アレイを横断し、一つ以上の寄与オブジェクトに関するデータを合成し、前記画素連を生成するために、合成されたデータを中間調で表す処理を行うコードとを有することを特徴とする。
【００１１】
また、本発明の他の面も開示される。
【００１２】
【発明の実施の形態】
本発明の一つ以上の実施形態は、添付の図面を参照して以下に説明される。
【００１３】
一つ以上の添付の図面において同じ図中符号のステップおよび／または特徴を参照する場合、特に指示のない限り、便宜上、それらのステップおよび／または特徴は同じ機能または動作を有する。
【００１４】
グラフィカルオブジェクトをレンダリングする方法５００は、図５Ａおよび図５Ｂを参照して以下に説明される。方法５００の原理は、グラフィカルオブジェクトのレンダリングに対する一般的な適用範囲を有する。しかしながら、説明を容易にするため、方法５００のステップはページ上に印刷するためのグラフィカルオブジェクトのレンダリングを参照して説明される。これは、本発明を記載の構成に限定することを意図しない。例えば、方法５００は、表示画像を有するドットが完全に存在するか全く存在しないかのどちらかであるという特徴を備える液晶表示装置または他の表示装置上で表示するためのグラフィカルオブジェクトのレンダリングに対する適用を有してもよい。このような表示装置は、極めて限定されたメモリおよび性能を有する組み込み型計算機システムによって駆動される場合が多い。
【００１５】
方法５００は、図１に示されるような汎用コンピュータシステム１００を用いて実施されるのが好ましい。このようなシステムにおいて、図２から図５Ｂのプロセスはコンピュータシステム１００内で実行するアプリケーションプログラムなどのソフトウェアとして実現されてもよい。特に、以下に記載の方法５００のステップはコンピュータによって実行されるソフトウェア中の命令により有効になる。命令は一つ以上の特定のタスクをそれぞれ実行するための一つ以上のコードモジュールとして形成されてもよい。またソフトウェアは、方法５００を実行する第一の部分と、第一の部分とユーザとのユーザインタフェイスを管理する第二の部分の二つの別々の部分に分割されてもよい。ソフトウェアは、例えば以下に記載される記憶装置を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアはコンピュータ可読媒体からコンピュータにロードされ、コンピュータによって実行される。このようなソフトウェアまたはコンピュータプログラムを記録するコンピュータ可読媒体はコンピュータプログラムプロダクトである。コンピュータにおけるコンピュータプログラムプロダクトの使用は、ここで説明される構成を実現するのに好都合な装置を達成することが好ましい。
【００１６】
コンピュータシステム１００は、コンピュータモジュール１０１、キーボード１０２およびマウス１０３などの入力装置、プリンタ１１５および表示装置１１４を含む出力装置を備える。変復調器（ＭＯＤＥＭ）トランシーバ装置１１６は、例えば電話回線１２１または他の機能媒体を介して接続可能な通信網１２０と通信を行うためにコンピュータモジュール１０１によって使用される。ＭＯＤＥＭ　１１６は、インターネットおよび構内通信網（ＬＡＮ）または広域網（ＷＡＮ）などの他のネットワークシステムへのアクセスを得るために使用することができる。
【００１７】
コンピュータモジュール１０１は、通常、少なくとも一つの処理ユニット１０５、例えば半導体のランダムアクセスメモリ（ＲＡＭ）および読出し専用記憶素子（ＲＯＭ）から形成したメモリユニット１０６、ビデオインタフェイス１０７ならびにキーボード１０２、マウス１０３、およびオプションとしてジョイスティック（不図示）用の入出力（Ｉ／Ｏ）インタフェイス１１３を含むＩ／ＯインタフェイスおよびＭＯＤＥＭ　１１６用のインタフェイス１０８を含む。さらに記憶装置１０９が設けられ、通常、ハードディスク装置１１０およびフロッピディスク装置１１１が含まれる。磁気テープ装置（不図示）を使用してもよい。ＣＤ−ＲＯＭ装置１１２は、通常、不揮発性データ源として設けられる。コンピュータモジュール１０１の構成要素１０５から１１３は、通常、相互接続バス１０４を介し、関連技術において公知のコンピュータシステム１００の従来型動作モードと結果的に同じ様式で通信を行う。記載の構成を実現できるコンピュータの例としてＩＢＭのＰＣおよび互換機、Ｓｕｎ（Ｒ）　Ｓｐａｒｃｓｔａｔｉｏｎｓ（Ｒ）またはそこから進化した同様のコンピュータシステムがあげられる。
【００１８】
通常、アプリケーションプログラムはハードディスク装置１１０に常駐しており、実行時に処理装置１０５によって読み出され、制御される。プログラムの中間記憶およびネットワーク１２０から取ってきた任意のデータは半導体メモリ１０６を用いて、あるいはハードディスク装置１１０とともに達成されてもよい。いくつかの例においては、アプリケーションプログラムをＣＤ−ＲＯＭまたはフロッピディスクに記録してユーザに供給し、対応する装置１１２または１１１を介して読み出すか、あるいはモデム装置１１６を介してユーザがネットワーク１２０から読み出してもよい。さらに、ソフトウェアは、他のコンピュータ可読媒体からコンピュータシステム１００にロードすることも可能である。ここで使用される「コンピュータ可読媒体」という用語は、実行および／または処理するためのコンピュータシステム１００に対する命令および／またはデータの提供に関連する任意の記憶媒体または伝送媒体を示す。コンピュータモジュール１０１の内部にあるか外部にあるかに関わらず、記憶媒体の例として、フロッピディスクと、磁気テープと、ＣＤ−ＲＯＭと、ハードディスク装置と、ＲＯＭまたは集積回路と、光磁気ディスクと、ＰＣＭＣＩＡカードなどのコンピュータ可読カードとがあげられる。伝送媒体の例として無線伝送チャネルまたは赤外線伝送チャネルがあげられる。それと同様に、伝送媒体の例として、別のコンピュータまたはネットワーク装置へのネットワーク接続と、電子メール伝送およびウェブサイト上などで記録された情報を含むインターネットおよびイントラネットとがあげられる。
【００１９】
方法５００のステップは、中間調プロセスを、コンピュータシステム１００上で実行する既存のホストレンダリングシステムと一体化する。方法５００において、同一色の領域は、大きさに関わらず任意の画像領域について中間調色を表現するために使用可能なタイル表現に変換される。それにより、方法５００は広範囲の出力ページに対するホストレンダリングシステムの性能を改善する。さらに方法５００においてビットマップ画像データは、必要に応じて、対応する中間調表現に変換することができ、それによって対応する画像のレンダリング中のメモリ容量をかなり節約できる。
【００２０】
方法５００のステップは、レンダリングシステムが一つの縁交差から次の縁交差へ画素データ連を生成する際、走査線ごとに必要に応じて実行される。方法５００において、画像は、オブジェクトをページ上に出力して印刷する前に中間調表現に変換する場合、画像を表現するグラフィカルオブジェクトの表示リストまたはアレイを利用してレンダリングされる。ディザリング法は出力前に画像のオブジェクト上で実行されるのが好ましい。あるいは、関連技術において公知のエラー拡散、二値化または他の中間調技術は画像のオブジェクト上で実行することができる。このように出力を生成することにより、オブジェクトの中間調領域で一般に必要とされる作業が減少し、フレームバッファの使用を必要としない。また方法５００は、必要であれば、グラフィカルオブジェクト上の色変換を実行する。
【００２１】
方法５００によってレンダリングすべきグラフィカルオブジェクトは、例えば変化のない色または混色のビットマップ画像データあるいはタイル表示画像データの領域を規定できる。方法５００において、中間調データは異なるオブジェクトタイプ（例えば、テキストオブジェクト、グラフィックオブジェクトおよび画像オブジェクト）について予め計算され、レンダリングすべきグラフィカルオブジェクトを表現する元の入力データとともに格納することができる。上述のとおり、中間調データは関連技術において公知の任意のディザリング技術に基づいて生成することができる。あるいは、中間調データは関連技術において公知のエラー拡散、二値化または他の中間調技術に基づいて生成することができる。画像のオブジェクトが完全に不透明であると分かっている場合、不透明なオブジェクトに関する中間調データは、従来のレンダリング法においてよく行われるようにレンダリング後の別のステップとして透明性を適用するのではなく、画像を直接レンダリングするのに使用することができる。方法５００によって色の変化がないオブジェクトをレンダリングすることにより、従来のレンダリング法と比較して、色変換され、かつ、中間調で表されるべき画素数が大幅に減少する。さらに、可視画像オブジェクトの領域のみが処理される。それにより、グラフィカルオブジェクトをレンダリングするためのメモリ使用量は、例えば一時フレームメモリを必要とする従来のプリンタレンダリング法のメモリ使用量よりも減少する。
【００２２】
またさらに、レンダリングすべきページ上のオブジェクトが不透明でない場合、オブジェクトの元の色または画像データは、データによる完全に正確な合成動作または論理ラスタ演算を施すことが可能である。しかし、ページ上のすべてのグラフィカルオブジェクトが完全に不透明であることが分かっている場合、このような元の入力データを破棄することができ、その結果、さらにメモリ容量が節約される。
【００２３】
またさらに、オブジェクトデータのリスト（例えば、表示リスト）がメモリ１０６に常駐し、方法５００に従ったオブジェクトデータのレンダリングがプリンタ１１５によって実行されるシステムにおいて、例えば、方法５００は関連するスプールファイルのサイズを大幅に減少させることができる。プリンタ１１５にディスプレイリストをスプールする前に元の連続階調ビットマップデータが同等の中間調データと交換されるため、スプールファイルのサイズが減少する。
【００２４】
図２を参照すると、方法５００において例えばオブジェクト２０３、２０４および２０５を備える画像２００は、画像２００の走査中に縁交差情報を生成することによってレンダリングされる。リスト２０２が予め深さにより順序付けられる（すなわち、ｚ順）場合、縁交差情報はグラフィカルオブジェクト２０２のリストから抽出され、画像２００を表現する。縁交差情報は、その後、ページ２１０上に印刷するためのプリンタ（例えば、プリンタ１１５）に出力すべき画素連を生成するために使用される。例えば、図３には走査線３０１が縁３２２、３２３および３２４と交差して画素連３２５、３２６、３２７および３２８になる画像２００の部分が示される。
【００２５】
上述のとおり、方法５００は色の変化がない領域（すなわち、同一色の領域）（例えば、オブジェクト２０３）、二つの端点間の色（例えば、オブジェクト２０４）およびビットマップ画像データ（例えば、ビットマップ画像２０５）のレンダリングに利用できる。また方法５００は、レンダリングされる領域にわたって繰り返されるかタイル張り構成とされるビットマップ画像データのレンダリングにも利用することができる。特に、同一色の領域は、その後の画像領域の中間調演算において使用されるタイル表現に変換される。
【００２６】
方法５００は、ハードディスク装置１１０に常駐し、処理装置１０５により実行中に読み出され、かつ、制御されるアプリケーションプログラムとして実現されるのが好ましい。方法５００はステップ５０１で開始し、処理装置１０５がレンダリングすべき第一のグラフィカルオブジェクトを検出する。次のステップ５０３では、グラフィカルオブジェクトは処理装置１０５によって分解され、オブジェクトを規定する一組の縁、オブジェクトの優先度情報、オブジェクトのラスタ演算およびオブジェクトの対応ワインディング規則になる。次のステップ５０５において方法５００は継続し、オブジェクトを規定する一組の縁がメモリ１０６内に構成された縁データベースに付加される。次のステップ５０７において、すべての画像オブジェクトが処理装置１０５によって受信された場合、方法５００は次のステップ５０９において継続する。さもなければ、方法５００はステップ５０１に戻る。
【００２７】
ステップ５０９において、メモリ１０６内に構成された縁データベースに格納された縁は、ｙ座標、ｘ座標および優先度順（すなわち、ｚ順）の昇順でソートされる。次のステップ５１１において、処理装置１０５はレンダリングすべき画像に対する走査線を選択する。次のステップ５１３では、ステップ５１１で選択された走査線上の各画素連について、走査線が入る縁を有するオブジェクトをアクティブとし、走査線が出る縁を有するオブジェクトを非アクティブとする。次のステップ５１４において方法５００は継続し、現行の画素連に関して最も優先順位の高いアクティブオブジェクトが不透明の場合、次のステップ５１５で継続する。さもなければ、方法５００はステップ５１７に進む。ステップ５１５において、最も優先順位の高いオブジェクトの塗りつぶしデータが中間調で表された場合、方法５００はステップ５１９に進む。さもなければ、方法５００はステップ５１６に進み、中間調情報がオブジェクトの塗り潰しデータに関して生成され、オブジェクトの元の塗り潰しデータとともにメモリ１０６に格納される。次のステップ５１９において方法５００は継続し、プリンタ（例えば、プリンタ１０５）上で印刷するためのオブジェクトに関する中間調塗り潰しデータを使用して画素連が出力される。
【００２８】
ステップ５１７において、現行の画素連に関するすべての可視オブジェクトの塗り潰しデータはともに合成され、画素連のデータを生成する。またステップ５１７において、現行の画素連に関するデータは中間調で表され、印刷するために出力される。次のステップ５２１において、現行の走査線についてすべての画素連が処理された場合、方法５００はステップ５２３で継続する。さもなければ、方法５００はステップ５１３に戻る。ステップ５２３において、レンダリングすべき画像についてすべての走査線が処理された場合、方法５００は終了する。さもなければ、方法５００はステップ５１１に戻り、次の走査線を処理装置１０５によって選択する。
【００２９】
ここで方法５００は、図２から図４の例を参照してさらに説明される。図４を参照して、走査線はレンダリングすべきページ２１０の上位置から下方に向かって生成されるのが好ましい。しかし、走査線がページ２１０の下位置からも生成できることは当業者に理解されるであろう。図４に示すように、画素連４３１、４５０および４５１は走査線４０１について生成され、画素連４３４、４３５、４３６および４３７は走査線４０２について生成される。走査線４０１に先立ついずれの走査線もグラフィカルオブジェクト２０３または２０５を横切らない。そのため、走査線４０１に先立つ走査線によって生成される画素連は中間調出力にはならない。これは画素連４３１に関しても真である。走査線の処理中に見出される第一の白色でないグラフィカルオブジェクトは、色の変化のない塗り潰しオブジェクト２０３である。方法５００において、オブジェクト２０３はオブジェクト２０３の部分を表現するタイル表示画像４３３に変換され、走査線４０１から前方に向かって色の変化のない塗り潰しオブジェクト２０３内のすべての連続する画素連はタイル表示画像４３３を使用し、プリンタ１１５で直接印刷するために中間調出力を生成する。このように画素連を生成することにより、タイル表示画像をコンピュータシステム（例えば、コンピュータシステム１００）によって少しのオーバヘッドでレンダリングすることができるため、従来のレンダリング法と比較して速度と効果の双方が改善される。
【００３０】
走査線４０２に関して、画素連４３４は白色であり、画素連４３５はタイル表示画像４３３を利用するであろう。方法５００において、画素連４３６について、画像オブジェクト２０５の一部は、画像オブジェクト２０５内に示すように、中間調画像４３８に変換される（すなわち、共有領域によって表現される）。中間調画像４３８は画像オブジェクト２０５内のすべての連続する画素連について使用され、オブジェクト２０３とオブジェクト２０５の間の重なり４５７（すなわち、想像線によって表現される）の範囲内で画像オブジェクト２０５が完全に不透明とされる。反対に画像オブジェクト２０５が完全に不透明ではない場合、重なり４５７の範囲は色の変化がない塗り潰しオブジェクト２０３および画像オブジェクト２０５の元のデータを使用して合成される。合成動作の結果は中間調で表される。しかし、このような合成は、重なり４５７の範囲内において、対応する合成動作または論理ラスタ演算がこのような動作を必要とする場合にのみ必要とされる。
【００３１】
図４の例を続けると、グラフィカルオブジェクト２０３、２０５または２０４が、すべてのオブジェクトが不透明であるために合成を必要としないことが予め分かっている場合、画像オブジェクト２０３に関する元のビットマップデータを、中間調画像が生成された後で破棄することができる。このような動作により、例えば２４ビットのＲＧＢ連続階調画像に関するメモリの使用量が大幅に減少する。例えばＲＧＢ画像の元のデータは一画素当り３バイトを使用するのに対し、同じ解像度での画像の一画素当り４ビットの中間調表現は１バイトに二画素を圧縮するため、六対一の改善を提供する。
【００３２】
方法５００のステップは、処理装置１０５が一つの縁交差から次の縁交差へ画素データ連を生成する際に実施されるのが好ましい。これにより、従来のレンダリング法と比較していくつかの利点を得る。第一に、一つ以上の画素連内の各可視グラフィカルオブジェクトの領域のみが処理される。第二に、オブジェクトが不透明でない場合、オブジェクトの元の塗り潰し色データまたは画像データは、オブジェクトによる完全に正確な合成動作または論理ラスタ演算において利用可能である。第三に、透明なグラフィカルオブジェクトがレンダリングすべきページ上に存在しないことが分かっている場合、隠れたオブジェクト（すなわち、優先順位の低いオブジェクト）に関するデータは、優先順位の低いオブジェクトに関するデータが中間調で表された後に破棄されてもよく、その結果、画像データに関してかなりのメモリ容量の節約になる。最後に、ビットマップ画像データは必要に応じて中間調表現に変換されることができ、そのため、かなりのメモリ容量の節約になる。
【００３３】
あるいは、方法５００は図５の機能またはサブ機能を実行する一つ以上の集積化回路などの専用ハードウェアにおいて実現することができる。このような専用ハードウェアはグラフィック処理装置、ディジタル信号処理装置または一つ以上のマイクロプロセッサと関連のメモリを含んでもよい。
【００３４】
上述の方法は特定の制御フローを備える。本発明の範囲から逸脱することなく異なる制御フローを使用する方法の多数の変更が可能である。さらに、方法の一つ以上のステップは、連続ではなく並行して実施されてもよい。
【００３５】
上述において、本発明のいくつかの実施形態だけが説明されたが、本発明の範囲を逸脱することなく、実施形態の変形および／または変更が可能であり、実施形態は例示であって本発明を限定するものではない。
【図面の簡単な説明】
【図１】記載の構成を実現できる汎用コンピュータの概略ブロック図、
【図２】画像をレンダリングする方法の概略を示すブロック図、
【図３】図２の画像について生成される画素連を示す図、
【図４】記載の構成に関して生成された図２の画像を示す図、
【図５Ａ】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャート、
【図５Ｂ】印刷するためのグラフィカルオブジェクトをレンダリングする方法のフローチャートである。
【図１】
2004122746.tif 000003
【図２】
2004122746.tif 000004
【図３】
2004122746.tif 000005
【図４】
2004122746.tif 000006
【図５Ａ】
2004122746.tif 000007
【図５Ｂ】
2004122746.tif 000008
【外国語明細書】
2004122746.tif 000009
2004122746.tif 000010
2004122746.tif 000011
2004122746.tif 000012
2004122746.tif 000013
2004122746.tif 000014
2004122746.tif 000015
2004122746.tif 000016
2004122746.tif 000017
2004122746.tif 000018
2004122746.tif 000019
2004122746.tif 000020
2004122746.tif 000021
2004122746.tif 000022
2004122746.tif 000023
2004122746.tif 000024
2004122746.tif 000025
2004122746.tif 000026
2004122746.tif 000027
2004122746.tif 000028
2004122746.tif 000029
2004122746.tif 000030
2004122746.tif 000031
2004122746.tif 000032
2004122746.tif 000033
2004122746.tif 000034
2004122746.tif 000035
2004122746.tif 000036
2004122746.tif 000037
2004122746.tif 000038
2004122746.tif 000039
2004122746.tif 000040
2004122746.tif 000041