JP2005235205A - 形状チャネルを用いないクリップ・トゥ・セルフ(clip−to−self)機能を有する合成 - Google Patents

形状チャネルを用いないクリップ・トゥ・セルフ(clip−to−self)機能を有する合成 Download PDF

Info

Publication number
JP2005235205A
JP2005235205A JP2005036815A JP2005036815A JP2005235205A JP 2005235205 A JP2005235205 A JP 2005235205A JP 2005036815 A JP2005036815 A JP 2005036815A JP 2005036815 A JP2005036815 A JP 2005036815A JP 2005235205 A JP2005235205 A JP 2005235205A
Authority
JP
Japan
Prior art keywords
buffer
clipping path
group
clipping
compositing
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.)
Granted
Application number
JP2005036815A
Other languages
English (en)
Other versions
JP2005235205A5 (ja
JP4143613B2 (ja
Inventor
Craig Matthew Brown
マシュー ブラウン クレイグ
Alexander Vincent Danilo
ヴィンセント ダニーロ アレキサンダー
Craig William Northway
ウィリアム ノースウエイ クレイグ
Philip Doak Armstrong
ドーク アームストロング フィリップ
Matthew James Allen
ジェイムズ アレン マシュー
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.)
Canon Inc
Original Assignee
Canon Inc
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 AU2004900710A external-priority patent/AU2004900710A0/en
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2005235205A publication Critical patent/JP2005235205A/ja
Publication of JP2005235205A5 publication Critical patent/JP2005235205A5/ja
Application granted granted Critical
Publication of JP4143613B2 publication Critical patent/JP4143613B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

【課題】オブジェクトグループの形状に対応するクリッピングチャネルを形成することにより、合成を行う。
【解決方法】グラフィックオブジェクトグループ(B)を合成する方法(1000)。方法(1000)は、一時バッファ(W)内にオブジェクトグループ(B)を形成する。オブジェクトグループ(B)中の各オブジェクト(C、D)に対して、対応するクリッピングパスが提供される。クリッピングパスの結合により規定された合成クリッピングパス(Z)が計算される。合成クリッピングパス(Z)を介して、一時バッファ(W)からのオブジェクトグループを主バッファ(V)に合成する。
【選択図】図10

Description

本発明は、一般には、画像作成に関し、特に、グラフィックオブジェクトの重複グループの描画に関する。
グラフィックオブジェクトとは、線、曲線、テキスト、色等、画像全体を構成するある特徴を示す表現である。これは、一般にベクトルグラフィックスとして知られている。画像は、単一のオブジェクトで形成されても、定義された相互作用を有する複数のオブジェクトの組み合わせで形成されてもよい。通常はメモリ内又はページ上にグラフィックオブジェクトを、順次描画することにより、このグラフィックオブジェクトをビットマップ画像に変換し、ビットマップ画像を形成する。
1つの出力ビットマップのために組み合わせ可能なオブジェクトの種類には、以下のものが含まれる。
−形状(線、曲線、フィル及びストロークの色等)
−テキスト
−画像
−効果(ぼかし又は照明効果等)
上記オブジェクトのうち、2つ以上のオブジェクトをグループ化又は組み合わせることが一般的である。グループ化後は、オブジェクト群を単一の供給元オブジェクトとして扱う。グループ化及び組み合わせは、以下の理由により、行われていた。
−オブジェクトグループに効果を適用するため(例えば、グループ内の全ての項目をぼかすか、又はグループ全体を一部透明にする)。
−オブジェクトグループを再利用するため。
−オブジェクトをグループとして変換するため(例えば、グループ内のオブジェクトを単一のオブジェクトとしてアニメ化し、ページ上を共に移動させる)。
オブジェクトを描画する場合、メモリ内のページへの描画、又は印刷可能なページへの直接の描画のいずれの場合も、そのページ上に逐次描画することが最も一般的である。一部透明なオブジェクトが別のオブジェクト上にある場合、最終的な画素の色結果を得るために両方のオブジェクトの色情報を組み合わせる。この組み合わせは、合成として知られており、多様な効果の実現のために用いることができる。合成効果の一例は、色ガラスを通して見た画像を得ることである。
上述のように、オブジェクトを互いの上に置くことが一般的であるが、他の数学的方法を用いたオブジェクトの組み合わせが有用な場合がある。例えば、1つのオブジェクトを別のオブジェクトの影として用いたり、別のオブジェクトと交差させることが有用な場合もある。オブジェクトの組み合わせには2つの技術が一般に用いられる。第1の技術は、研究論文である「Compositing Digital Images」(T.Porter、T.Duff、Computer Graphics、第18巻、第3号、1984年7月、253〜259ページ)に掲載されている。この論文では、現在「Porter&Duff合成」として一般に知られる技術を記載している。別の合成技術は、Adobe systems社発行のPortable Document Format(PDF)の仕様書記載の「Adobe(登録商標) Blending Modes」と呼ばれるものである。
多くの場合、各オブジェクトが合成画像を形成するためにページ上に配置される際、そのオブジェクトは合成画像に追加される。Porter&Duff「in」動作のようないくつかの動作では、ページ上に配置された新しいオブジェクトはページ上の既存のオブジェクトと交差される。その結果、最終画像データが、新しいオブジェクトを描画する前の画像データより減少することがある。その後、ある動作を用いてオブジェクトを画像に合成すると、その画像からデータが削除される。
描画動作において、画像は、多くの場合描画されたオブジェクトの範囲内でのみ影響を受ける。例えば、このような描画動作の1つを用いて背景上に円を描画する場合、円の外側は、全く変更されない。Porter&Duff「in」動作のようないくつかの動作では、円等の範囲外の背景はクリアされる。オブジェクト内においてはPorter&Duff「in」動作の実行が望ましい一方で、描画されたオブジェクトの範囲外の背景がクリアされるという余分な副作用は、望ましくない場合がある。
Sun Microsystems(登録商標)社製のJava(登録商標)2Dのようないくつかの描画システムでは、この副作用を防止できる。単一のオブジェクトを背景上に合成する場合、Java(登録商標)2Dのようなシステムでは、どの画素がオブジェクトの範囲内か否かの判定により、どの出力画像画素をクリアするべきかあるいはか残すかを判定できる。Microsoft(登録商標) Windows(登録商標) Graphics Device Interface (GDI)のようないくつかの描画システムにおいても、規定のクリッピングパスを介して(Porter&Duff「over」動作と等価の動作を用いて)背景上のオブジェクトを合成可能とすることで、この副作用を防止する。しかしながら、Microsoft(登録商標) Windows(登録商標) GDIのような、従来の多くの描画システムは、残りのPorter&Duff合成動作をサポートしていないか、又は所定のクリッピングパスと連携してこの動作を行わない。
更に、多数のオブジェクトを共に組み合わせてグループ化する場合、従来の多くの描画システムは、組み合わせたオブジェクトの範囲のビットマップ表現(すなわち、「形状チャネル」)を格納せずに、どのエリア(すなわち、これらの画素)がオブジェクトグループの範囲内か否かを判定することは困難である。
従って、グラフィックオブジェクト合成方法の改善の必要性は明らかである。
本発明の目的は、既存の構成の1つ以上の欠点をほぼ解決する、あるいは、少なくとも改善することである。
本発明は、オブジェクトグループの形状に対応するクリッピングチャネルを形成することにより、上述の問題の解決を図る構成を開示する。
一構成例において、合成動作が変更されることにより、主バッファの代わりに既存の一時バッファに対して、新規の合成動作が行われる。このような構成により、合成結果バッファの必要性を排除し、メモリの使用とコピー動作を削減する。
1つの面によれば、本発明は、特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する方法であって、
一時バッファ内に前記オブジェクトグループを形成し、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供し、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算し、
前記特定の合成動作を使用して、前記合成クリッピングパスを介して前記一時バッファからの前記オブジェクトグループを主バッファに合成することを特徴とする方法を提供する。
別の面によれば、本発明は、グラフィックオブジェクトを合成する装置であって、
一時バッファ内に前記オブジェクトグループを形成するオブジェクト形成手段と、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するクリッピングパス提供手段と、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算する計算手段と、
前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成する合成手段とを備えることを特徴とする装置を提供する。
更に別の面によれば、本発明は、グラフィックオブジェクトグループを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記方法は、
一時バッファ内に前記オブジェクトグループを形成するためのコードと、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成するためのコードとを備えることを特徴とするコンピュータ可読媒体を提供する。
更に別の面によれば、本発明は、グラフィックオブジェクトグループを合成するためのコンピュータプログラムであって、
一時バッファ内に前記オブジェクトグループを形成するためのコードと、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成するためのコードとを備えることを特徴とするプログラムを提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する方法であって、
一時バッファ内に前記オブジェクトグループを形成し、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供し、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算し、
前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成し、
前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーすることを特徴とする方法を提供する。
更に別の面によれば、本発明は、不透明なグラフィックオブジェクトの境界の外側に固定の画素値を保持するように、特定の合成動作を使用して、第2の不透明なグラフィックオブジェクト上に前記不透明なグラフィックオブジェクトを合成する方法であって、少なくとも、前記特定の合成動作から導出された第2の合成動作を使用して、前記第2のグラフィックオブジェクト上に前記不透明なグラフィックオブジェクトを合成することを特徴とする方法を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する装置であって、
一時バッファ内に前記オブジェクトグループを形成するオブジェクト形成手段と、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するクリッピングパス提供手段と、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算する計算手段と、
前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成する合成手段と、
前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーするコピー手段とを備えることを特徴とする装置を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
一時バッファ内に前記オブジェクトグループを形成するためのコードと、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成するためのコードと、
前記合成クリッピングパスを介して、前記主バッファ上に前記一時バッファをコピーするためのコードとを備えることを特徴とするコンピュータ可読媒体を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成するためのコンピュータプログラムであって、
一時バッファ内に前記オブジェクトグループを形成するためのコードと、
前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成するためのコードと、
前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーするためのコードとを備えることを特徴とするコンピュータプログラムを提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する方法であって、少なくとも、
前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成し、
前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーすることを特徴とする方法を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する装置であって、
前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成する合成手段と、
前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするコピー手段とを備えることを特徴とする装置を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成するためのコードと、
前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするためのコードとを備えることを特徴とするコンピュータ可読媒体を提供する。
更に別の面によれば、本発明は、特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成するためのコンピュータプログラムであって、
前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成するためのコードと、
前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするためのコードとを備えることを特徴とするコンピュータプログラムを提供する。
本発明の他の面も開示される。
1つ以上の添付の図面において同一符号で示すステップ及び/又は特徴は、別途指示されない限り、同一の機能又は動作を表す。
尚、「背景技術」及び従来技術の構成に関連する以下の記載は、それぞれ出版物及び/又は使用法を通して公知の知見を構成する、文書又は装置の記載に関する。当該技術に共通の公知の知見の一部を何らかの形態で構成する文書又は装置は、本発明の発明者又は本特許出願人による表現と解釈するべきではない。
Porter&Duff「in」動作のようないくつかの合成動作では、背景(すなわち、描画供給元オブジェクトの境界の外側のエリア)はクリアされる。このような効果は、望ましくない場合がある。この効果の防止方法の1つは、供給元オブジェクトの境界内への合成動作のクリップ方法である。これは「クリップ・トゥ・セルフ」合成と呼ばれる。全てのPorter&Duff動作をサポートする必要がある場合、上述されたMicrosoft Windows(登録商標) GDIのような従来の多くの描画システムは、使用するバッファが3つ(すなわち、「供給元」バッファ、「背景」バッファ、「合成結果」バッファ)未満の場合、「クリップ・トゥ・セルフ」合成を実行できない。このような従来の描画システムによる供給元オブジェクトの描画には、合成結果バッファが背景バッファに初期化される。次に、対応するPorter&Duff合成動作が、供給元バッファの内容(例えばオブジェクト)及び合成結果バッファの内容に実行される。合成結果バッファは、クリップパスを介して「src」動作により背景バッファにコピーされる。このため、供給元オブジェクトを描画するには、合成結果バッファのための追加メモリが必要となる。更に、背景バッファを合成結果バッファへコピーするコピー動作が、合成動作ごとに必要である。
以下、オブジェクト合成方法1000(図10参照)を、図1から図14を参照して説明する。方法1000は、特定の合成動作を用いる背景と共に、単一のオブジェクト合成でも、オブジェクトグループの合成に用いてもよい。方法1000は、合成結果バッファを必要性を排除し、且つメモリ使用量及びコピー動作を減少させる。
方法1000は、図11に示されるような汎用コンピュータシステム1100を用いて実行されてもよい。図11において、図1から図10に示されるプロセスは、コンピュータ1100の内部で実行するアプリケーションプログラムのようなソフトウェアとして実現されてもよい。特に、方法1000のステップは、そのソフトウェアにおいて、コンピュータにより実行される指示に従って行われてもよい。これらの指示は、1つ以上の特定のタスクを実行するための1つ以上のコードモジュールとして構成されてもよい。ソフトウェアは2つの個別の区分に分割されてもよい。そのソフトウェアにおいて、第1の区分は合成方法を実行し、第2の区分は第1の区分とユーザとの間のユーザインタフェースを管理する。ソフトウェアは、例えば、以下で説明される記憶装置等を含むコンピュータ可読媒体に格納されてもよい。ソフトウェアは、コンピュータ可読媒体からコンピュータへ読み込まれ、その後コンピュータにより実行されてもよい。このようなソフトウェア又はそれに記録されたコンピュータプログラムを有するコンピュータ可読媒体は、コンピュータプログラム製品である。コンピュータにおけるこのコンピュータプログラム製品の使用により、オブジェクト合成に有用な装置に好ましい効果をもたらす。
コンピュータシステム1100は、コンピュータモジュール1101と、キーボード1102及びマウス1103等の入力装置と、プリンタ1115、表示装置1114及びスピーカ1117を含む出力装置とにより構成される。変復調装置(モデム)トランシーバ装置1116は、例えば電話線1121又は他の機能媒体を介して接続可能な通信ネットワーク1120と、コンピュータモジュール1101との通信を行うコンピュータモジュール1101によって用いられる。モデム1116は、インターネット、ローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)等他のネットワークシステムへのアクセスに用いられてもよい。また、いくつかの実現例において、モデム1116は、コンピュータモジュール1101内に組み込まれてもよい。
コンピュータモジュール1101は、通常、少なくとも1つのプロセッサユニット1105と、例えば、半導体ランダムアクセスメモリ(RAM)及び読み出し専用メモリ(ROM)から成るメモリユニット1106とを具備する。また、モジュール1101は、ビデオ表示装置1114及びスピーカ1117に接続するオーディオ−ビデオインタフェース1107を有する多数の入出力(I/O)インタフェースと、キーボード1102及びマウス1103及び任意のジョイスティック(不図示)用のI/Oインタフェース1113と、モデム1116及びプリンタ1115用のインタフェース1108とを具備する。いくつかの実現例において、モデム1116を、インタフェース1108等のコンピュータモジュール1101に内蔵してもよい。記憶装置1109は、通常、ハードディスクドライブ1110とフロッピディスクドライブ1111とを具備する。磁気テープドライブ(不図示)が用いられてもよい。CD−ROMドライブ1112は、通常、データの不揮発性供給元として取り付けられる。コンピュータモジュール1101の構成要素1105から構成要素1113は、当業者に知られるように、通常、相互接続バス1104を介して、コンピュータシステム1100が動作する従来の方法による態様で通信を行う。上述の構成が実現されるコンピュータの例として、IBM−PC及び互換機、Sun Sparcstations又はそれから派生した類似のコンピュータシステムが挙げられる。
アプリケーションプログラムは、通常、ハードディスクドライブ1110に内蔵され、ドライブ1110の作動時にプロセッサ1105により読み出され、制御される。このプログラム及びネットワーク1120から取り込まれた任意のデータの中間格納には、半導体メモリ1106を用いることにより遂行されてもよい。これは、ハードディスクドライブ1110との協働により行われてもよい。いくつかの例において、アプリケーションプログラムは、CD−ROM又はフロッピディスク上で符号化され、且つ対応するドライブ1112又は1111を介して読み取られた状態でユーザに提供されてもよい。あるいは、アプリケーションプログラムは、モデム装置1116を介してネットワーク1120からユーザに読み取られてもよい。更に、ソフトウェアは、複数の他のコンピュータ可読媒体からコンピュータシステム1100に読み込み可能でもある。ここで用いられる「コンピュータ可読媒体」とは、実行及び/又は処理のための指示及び/又はデータのコンピュータシステム1100への提供に関わる任意の記憶又は伝送媒体である。記憶媒体の例には、フロッピディスク、磁気テープ、CD−ROM、ハードディスクドライブ、ROM又は集積回路、光磁気ディスク、PCMCIAカードのようなコンピュータ可読カード等が含まれる。これらの装置は、コンピュータモジュール1101の内部又は外部のいずれに設けられてもよい。伝送媒体の例は、無線伝送チャネル、赤外線伝送チャネル並びに別のコンピュータ又はネットワーク装置とのネットワーク接続、及びウェブサイト上等に記録されたEメール伝送及び情報を含むインターネット又はイントラネットを含む。
方法1000は、上記アプリケーションプログラムとして実現され、通常、デスクトップパブリッシングシステム等のより大規模なアプリケーションの構成要素、若しくはサブプログラムを構成する。以下に、方法1000の例を説明する。この例において、方法1000は、図1に示す初期オブジェクトA及び図5に示すオブジェクトグループBを含む3つのオブジェクトに対し動作する。オブジェクトグループBは、第1のグループオブジェクトCと第2のグループオブジェクトDにより構成される。
まず、ステップ1002において、図1に示すように、初期オブジェクトAが主画像バッファVの背景上に描かれる(すなわち、描画される)。ステップ1002は、バッファVが空でもよく、あるいは前の合成結果又は他の動作結果を含んでもよいことを例証している。バッファVは、メモリ1106に形成されてもよいが、容量が制限される場合は、部分的又は全体的にHDD1110に形成されてもよい。所定の言語によってオブジェクトAの記述を解釈し、且つバッファVに画素色値を出力するプロセッサ1105によって描画される。背景は、画像要素を含んでも含まなくてもよい。この例では、オブジェクトA、オブジェクトC及びオブジェクトDは、図示の簡略化のためにそれぞれ矩形とする。しかしながら、テキストや画像と共に、どのような規則的形状、任意の形状を用いても良い。
ステップ1004において、図2に示すように、図5に示すオブジェクトグループBが描画される一時バッファWが生成される。バッファWは、バッファVと同様の形態で形成される。続くステップ1006において、空の「合成クリッピングパス」が生成される。この合成クリッピングパスは、次の動作後に合成グループクリッピングパスになる。合成クリッピングパス等のクリッピングパスは、エッジの配列として表される。エッジは、開始座標(start_x,start_y)及び1つ以上のセグメント記述によって記述される。各セグメント記述は、エッジにおける次のセグメントを示すメモリアドレスと、エッジを終了させるための終了セグメントを含む。エッジのセグメントは、各セグメントの開始点がその前のセグメントの終了点と一致するという意味で互いに隣接している。直線のセグメントは、セグメントの開始点と終了点との間の水平及び垂直の差(Dx,Dy)によって記述される。エッジの配列として表された合成クリッピングパスは、メモリ1106及び/又はHDD1110に格納される。クリッピングパスは、描画動作又は合成動作を実行する場合に、変更された画素を判定するのに用いられる。
次のステップ1008において、図3に示すように、第1のグループオブジェクトCがバッファWに描画される。
図4に示すように、ステップ1010において、オブジェクトCの範囲に対応するクリッピングパスXが生成される。クリッピングパスXは、単純なアウトラインのパスであることが好ましい。すなわち、クリッピングパスXは、一様な向き及びノンゼロワインディング規則を有する単一の連続パスであることが好ましい。図4に示すパスXは、この種類のパスである。クリッピングパスXは、メモリ1106に格納される。
次に、ステップ1012において、ステップ1010で形成されたクリッピングパスとステップ1006の合成クリッピングパス(最初は空)との結合を行う。ステップ1010で形成されたクリッピングパスとステップ1006の合成クリッピングパスとの結合は、各パスを記述するエッジの配列を連結することで決定される。ステップ1012の結合の結果は、メモリ1106に合成クリッピングパスとして格納される。
次に、ステップ1014において、処理すべきグループオブジェクトがまだ存在するか否かを検査し判定する。オブジェクトが存在する場合、ステップ1008に戻る。この例では、図5に示すように、2度目に実行するステップ1008において、グループオブジェクトDが、一時バッファWに描画される。ステップ1010において、グループオブジェクトDの範囲に対応するクリッピングパスYが、メモリ1106に生成される。これを図6に示す。
ステップ1012において、クリッピングパスXとクリッピングパスYとの結合を行う。この例では、図7に示すように、オブジェクトCとオブジェクトDの範囲を結合したアウトラインを示すクリッピングパスZを、メモリ1106に規定する。クリッピングパスZは、合成クリッピングパスとして、メモリ1106に格納される。
ステップ1014において、グループオブジェクトの存在を再び検査する。この例では、グループオブジェクトが存在しないので、ステップ1015に進む。
別の構成において、ステップ1010とステップ1012は、ステップ1008に先行してもよいので、ステップ1014からステップ1010へ戻り、続いてステップ1012、ステップ1008を実行し、次にステップ1014を再び実行してもよい。
以下に説明するように、続くステップ1015とステップ1016において、主バッファV及び一時バッファW上でクリップ・トゥ・セルフ合成を実行する。従来、そのようなクリップ・トゥ・セルフ合成を実行するために、Porter&Duff供給元オペランド(例えば、一時バッファWの1つ以上のオブジェクト)は、特定のPorter&Duff動作を用いて、メモリ1106に格納された合成クリッピングパスを介して、Porter&Duff供給先オペランド(例えば、主バッファVの背景)と合成される。しかしながら、前述したように、Windows(登録商標) GDI等の従来の描画システムは、個別の合成過程及びクリッピング過程をサポートするために、別のバッファ(すなわち、合成結果バッファ)を必要とする。
以下により詳細に説明するように、方法1000において、ステップ1015で合成されるべきPorter&Duffオペランドを逆にして、相補するPorter&Duff動作を選択し、逆オペランドを合成する。合成動作の結果は、前段落で説明した方法で元のオペランドを合成した結果と実質的に等価である。しかしながら、方法1000では、個別の合成過程とクリッピング過程とをサポートするのに、合成結果バッファを必要としない。
ステップ1015において、Porter&Duff合成動作が、供給元オぺランドとしての主バッファVの内容(すなわち、背景)及び供給先オペランドとしての一時バッファWの内容(すなわち、オブジェクトグループB)に対して実行される。この結果、一時バッファWは、Porter&Duff合成動作の結果を含むように変更される。ステップ1015で実行されたPorter&Duff合成動作は、主バッファVの内容(すなわち、背景)と一時バッファWの内容(すなわち、オブジェクトグループB)との合成のために特定された本来のクリップ・トゥ・セルフ合成動作と相補する動作である。例えば、以下の表1に示すように、特定のクリップ・トゥ・セルフ合成動作が「src」である場合、ステップ1015において、表1の「相補する」欄より対応する動作「dst」が選択され、逆オペランドが合成される。
表1
特定の合成動作 相補する合成動作
Clear Clear
Src Dst
Dst Src
Over Rover
Rover Over
In Rin
Rin In
Out Rout
Rout Out
Atop Ratop
Ratop Atop
Xor Xor
この例において、ステップ1015で表1を用いると、特定のクリップ・トゥ・セルフ動作は、動作「rin」と相補するべきPorter&Duff「in」動作である。
図8は、この例によるステップ1015において、相補する合成動作を実行した後の一時バッファWの状態を示す。
次に、ステップ1016において、一時バッファWの内容(すなわち、合成動作1015の結果)を主バッファVの内容(すなわち、オブジェクトA)の上に、合成クリッピングパスZを介してコピーする。その際、合成クリッピングパスZの外側の領域にある背景は、ステップ1016によって影響を受けない。図9に示すように、合成後の画素は、合成クリッピングパスZ内でオブジェクトAの画素と置き換わる。しかしながら、オブジェクトAは、合成クリッピングパスZの外側で影響を受けない。これを破線のアウトラインで示す。このような画像生成処理が終了後、ステップ1018を実行し、ビデオ画面1114へ表示するため、あるいはプリンタ1115を介してハードコピーを複製するために、図9に示す主バッファVの内容を出力する。更に別のオブジェクトを合成する場合、パス1020を介してステップ1004に戻る。ここで、この時点での主バッファVの内容は、初期オブジェクトAとして解釈される。
ステップ1010におけるクリッピングパスの生成は、以下のように実行される。
(a)図形及びテキストの場合、クリッピングパスとしてオブジェクトを定義するパスを用いる。
(b)ストロークオブジェクトの場合、ストロークパスをクリッピングパスに変換する。
(c)ビットマップ画像オブジェクトの場合、画像のエッジ又は境界を用いる。
(d)効果(例えば、ぼかし)の場合、効果が動作する領域が存在し、その領域の境界がクリッピングパスに変換される。
図12は、不透明な供給元(src又はA)オペランドと供給先(dest又はB)オペランドとの間の様々な基本Porter&Duff合成動作を示す。尚、図12は、表1の相補する動作は示さない。また、図12は、クリップ・トゥ・セルフ機能を実現する方法1000を用いて、同一の不透明なオブジェクトに対してPorter&Duff動作を実行した結果を示す。上記例は、図12の「A in B」で例示する「in」動作を参考としているが、上述の原理は、他の動作によって起こる問題に対処するために用いられる。これら動作は、以下を含む。
clear ; A ; A in B ; A rin B ; A out B ; A ratop B
前述で開示される方法は、1つ以上のグループオブジェクトが完全に不透明でない場合にも、同様に適用可能である。図14は、不透明なオブジェクトに対するPorter&Duff合成動作を示す。図13は、供給先オペランド(B)が不透明度70%の場合に、クリップ・トゥ・セルフ機能を用いたPorter&Duff合成動作及びクリップ・トゥ・セルフ機能を用いないPorter&Duff合成動作の両方の結果を示す。更に、ステップ1016の最終合成動作により、グループを含む一時バッファの不透明度は、100%未満となる。前述で開示される方法は、この場合にも同様に適用可能である。
前述の方法1000は、単一のオブジェクトの処理にも用いられる。この場合、方法1000のステップ1008からステップ1014の一度の繰り返しのみが必要となる。
方法1000は、オブジェクト又はオブジェクトグループが、追加バッファ及びクリップ・トゥ・セルフ動作ごとのコピーのオーバヘッドを用いない従来の合成動作と互換性を有するように、全クリップ・トゥ・セルフ合成機能を用いて処理される手法を提供する。上述したように、これは、一時バッファを供給先バッファとして利用するためにオペランドを逆にし、合成動作を、特定の合成動作と相補する動作に変更することによって達成される。これにより、各クリップ・トゥ・セルフ動作のための追加一時バッファの使用と、そのためのコピーのオーバヘッドが不要となる。単一のオブジェクト又はグループ化オブジェクトのためのクリップ・トゥ・セルフ機能は、合成機能が欠如するシステム上で、クリッピングパスと連携して実現される。方法1000を用いることにより、クリップ・トゥ・セルフ合成は、形状チャネルの使用、又は追加メモリバッファ及び対応するコピー動作のオーバヘッドの使用を必要とせずに実行される。
別の構成において、供給元オブジェクト(又は、オブジェクトグループの場合は、全ての供給元オブジェクト)及び供給先オブジェクト(又は、全ての供給先オブジェクト)が不透明であれば、特定のクリップ・トゥ・セルフ動作は、単純なPorter&Duff合成動作に置き換えることができる。この場合、合成クリッピングパスを保持する必要がなく、ステップ1006、ステップ1010、ステップ1012又はステップ1016を実行する必要もない。更に、ステップ1015において、以下に示す表2の対応する行の「不透明なクリップ・トゥ・セルフ合成動作」欄に示すように、単純なPorter&Duff合成動作を用いて、一時バッファWは、主バッファV上に合成される。
表2
特定の合成動作 不透明クリップ・トゥ・セルフ合成動作
Clear Rout
Src Over
Dst Dst
Over Over
Rover Rover
In Atop
Rin Dst
Out Xor
Rout Rout
Atop Atop
Ratop Rover
Xor Xor
例えば、特定のクリップ・トゥ・セルフ動作が、供給元オブジェクト(又は、グループの場合は、全ての供給元オブジェクト)及び供給先オブジェクト(又は、全ての供給先オブジェクト)が不透明である箇所を合成するためのPorter&Duff「in」動作である場合、ステップ1015において、供給元オブジェクト(又は、全ての供給元オブジェクト)と供給先オブジェクト(又は、全ての供給先オブジェクト)は、表2より、動作「atop」を用いて合成される。
方法1000の更に別の構成において、図15に示すように、ステップ1015及びステップ1016は、ステップ1516に置き換えることができる。ステップ1516において、一時バッファWの内容は、クリッピングパスZを介して主バッファVの内容の上に合成される。ここで、ステップ1516のクリップ・トゥ・セルフ合成の実行方法1700を示すフローチャートを、図17を参照して説明する。
方法1700は、ステップ1701から開始する。ステップ1701において、プロセッサ1105は、主バッファV(すなわち、オブジェクトA)のコピーUを作成する。次のステップ1703において、プロセッサ1105は、一時バッファWの内容(すなわち、オブジェクトグループB)を合成するために特定されたPorter&Duff合成動作を用いて、一時バッファWの内容を主バッファのコピーUの内容(すなわち、オブジェクトA)の内容の上に合成する。この例では、図12の「A in B」で例示される「src_in」動作がステップ1703で用いられる。次のステップ1705において、プロセッサ1105は、オブジェクトグループBを含む主バッファのコピーUの内容を、合成クリッピングパスZを介して、主バッファV上にコピーする。ステップ1516の結果を図16に示す。図16では、オブジェクトグループBがオブジェクトAと交差している。しかしながら、オブジェクトAは、合成クリッピングパスZの外側で影響されない。また、ステップ1516の結果は、合成クリッピングパスZのアウトラインを示す図9の描画と同一である。
図15から図17の例では、「src_in」動作を参考としているが、上述の原理は、他の動作によって起こる問題に対処するために用いられる。これら動作は、以下を含む。
clear ; A ; A in B ; A rin B ; A out B ; A ratop B
図15の構成は、上述したように、いくつかの従来の描画システムを用いる場合、Porter&Duff合成動作の全集合をサポートするために、合成結果バッファ(すなわち、主バッファのコピーU)を必要とする。このような従来の描画システムでは、合成結果バッファの使用の必要性を防止するために、図10に示すような方法1000を用いることができる。
説明した構成が、コンピュータグラフィックス及び画像処理産業に適用可能なことは、上述により明らかである。
上述では、本発明のいくつかの実施の形態を述べたのみである。また、本発明の趣旨の範囲から逸脱せずに変形及び/又は変更が可能であり、実施の形態は、例証するものであり制限するものではない。
主バッファにおける初期オブジェクトを示す図である。 一時バッファを示す図である。 一時バッファに描画された更なるオブジェクトを示す図である。 図3の更なるオブジェクトと関連付けられたクリッピングパスを示す図である。 一時バッファに描画された追加オブジェクトを示す図である。 図5の追加オブジェクトと関連付けられたクリッピングパスを示す図である。 図4及び図6のクリッピングパスの結合を示す図である。 図1の主バッファを図5の一時バッファ上に合成した結果を示す図である。 図7のクリッピングパスに基づいて、図5のオブジェクトを図1のオブジェクトに対して最終的に描画した状態を示す図である。 オブジェクト合成方法を示すフローチャートである。 説明した構成を実現可能な汎用コンピュータを概略的に示すブロック図である。 様々なPorter&Duff合成動作が、クリップ・トゥ・セルフ機能を用いずに実現された場合とクリップ・トゥ・セルフ機能を用いて実現された場合とを示す図である。 図12の様々なPorter&Duff合成動作が、不透明でない供給先オブジェクトに対して、クリップ・トゥ・セルフ機能を用いずに実現された場合とクリップ・トゥ・セルフ機能を用いて実現された場合とを示す図である。 不透明なオブジェクトに対する単純なPorter&Duff合成を示す図である。 オブジェクトの別の合成方法を示すフローチャートである。 図15の方法を用いて、図1の主バッファを図5の一時バッファ上に合成した結果を示す図である。 図15の方法のクリップ・トゥ・セルフ合成の実行方法を示すフローチャートである。

Claims (33)

  1. 特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する方法であって、
    一時バッファ内に前記オブジェクトグループを形成し、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供し、
    前記クリッピングパスの結合により規定される合成クリッピングパスを計算し、
    前記特定の合成動作を使用して、前記合成クリッピングパスを介して前記一時バッファからのオブジェクトグループを主バッファに合成する
    ことを特徴とする方法。
  2. 前記オブジェクトのうちの少なくとも1つは、100%未満の不透明度を有することを特徴とする請求項1に記載の方法。
  3. 前記オブジェクトグループは、100%未満の不透明度を有することを特徴とする請求項1又は2に記載の方法。
  4. 前記合成は、clear、A、A in B、A rin B、A out B、A ratop Bより成る群から選択された合成動作を使用して行われることを特徴とする請求項1乃至3の何れか1項に記載の方法。
  5. 前記形成は、前記グループ中の前記各オブジェクトを、前記一時バッファに描画することを含むことを特徴とする請求項1乃至3の何れか1項に記載の方法。
  6. 前記描画は、順次行われ、前記提供は、描画された前記各オブジェクトに対して行われることを特徴とする請求項5に記載の方法。
  7. 前記合成の前に、前記主バッファは、更なるグラフィックオブジェクトのうちの少なくとも1つを描画することを特徴とする請求項1乃至3の何れか1項に記載の方法。
  8. 前記クリッピングパスの前記提供は、形状及びテキストのうちの1つを規定する前記オブジェクトを規定しているパスを使用して行われることを特徴とする請求項1乃至3の何れか1項に記載の方法。
  9. 前記クリッピングパスの前記提供は、前記ストロークを行ったオブジェクトに対して、ストロークを行ったパスをクリッピングパスに変換することにより行われることを特徴とする請求項1乃至3の何れか1項に記載の方法。
  10. 前記クリッピングパスの前記提供は、ビットマップ画像オブジェクトに対して、ビットマップ画像オブジェクトのエッジ、又は範囲を使用して行われることを特徴とする請求項1乃至3の何れか1項に記載の方法。
  11. 前記オブジェクトのうちの1つが、効果を表す領域を有する効果オブジェクトである場合、前記クリッピングパスの前記提供は、前記領域の範囲をクリッピングパスに変換することを含むことを特徴とする請求項1乃至3の何れか1項に記載の方法。
  12. 前記合成では、
    前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成し、
    前記合成クリッピングパスを介して、前記主バッファ上に前記一時バッファをコピーすることを特徴とする請求項1に記載の方法。
  13. 前記合成では、
    前記主バッファをコピーし、
    前記特定の合成動作を使用して、前記一時バッファからの前記オブジェクトグループを前記主バッファのコピーに合成し、
    前記合成クリッピングパスを介して、前記主バッファのコピーを前記主バッファ上にコピーすることを特徴とする請求項1に記載の方法。
  14. 前記オブジェクトは不透明であり、前記合成では、前記特定の合成動作から導出された第2の合成動作を使用して、前記一時バッファからの前記オブジェクトグループを前記主バッファに合成することを特徴とする請求項1に記載の方法。
  15. グラフィックオブジェクトのグループを合成する装置であって、
    一時バッファ内に前記オブジェクトグループを形成するオブジェクト形成手段と、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するクリッピングパス提供手段と、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算する計算手段と、
    前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成する合成手段と
    を備えることを特徴とする装置。
  16. グラフィックオブジェクトグループを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記方法は、
    一時バッファ内に前記オブジェクトグループを形成するためのコードと、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
    前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成するためのコードと
    を備えることを特徴とするコンピュータ可読媒体。
  17. グラフィックオブジェクトグループを合成するためのコンピュータプログラムであって、
    一時バッファ内に前記オブジェクトグループを形成するためのコードと、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
    前記合成クリッピングパスを介して、前記一時バッファからの前記オブジェクトグループを主バッファに合成するためのコードと
    を備えることを特徴とするコンピュータプログラム。
  18. 特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する方法であって、
    一時バッファ内に前記オブジェクトグループを形成し、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供し、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算し、
    前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成し、
    前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーすることを特徴とする方法。
  19. 不透明なグラフィックオブジェクトの境界の外側に固定の画素値を保持するように、特定の合成動作を使用して、第2の不透明なグラフィックオブジェクト上に前記不透明なグラフィックオブジェクトを合成する方法であって、
    少なくとも、前記特定の合成動作から導出された第2の合成動作を使用して、前記第2のグラフィックオブジェクト上に前記不透明なグラフィックオブジェクトを合成することを特徴とする方法。
  20. 前記不透明なグラフィックオブジェクトは、複数の更なる不透明なグラフィックオブジェクトを有するグループであることを特徴とする請求項19に記載の方法。
  21. 前記特定の合成動作が「clear」動作である場合、前記第2の合成動作は、「rout」動作であることを特徴とする請求項19に記載の方法。
  22. 前記特定の合成動作が「src」動作である場合、前記第2の合成動作は、「over」動作であることを特徴とする請求項19に記載の方法。
  23. 前記特定の合成動作が「in」動作である場合、前記第2の合成動作は、「atop」動作であることを特徴とする請求項19に記載の方法。
  24. 前記特定の合成動作が「rin」動作である場合、前記第2の合成動作は、「dst」動作であることを特徴とする請求項19に記載の方法。
  25. 前記特定の合成動作が「out」動作である場合、前記第2の合成動作は、「xor」動作であることを特徴とする請求項19に記載の方法。
  26. 前記特定の合成動作が「ratop」動作である場合、前記第2の合成動作は、「rover」動作であることを特徴とする請求項19に記載の方法。
  27. 特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する装置であって、
    一時バッファ内に前記オブジェクトグループを形成するオブジェクト形成手段と、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するクリッピングパス提供手段と、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算する計算手段と、
    前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成する合成手段と、
    前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーするコピー手段と
    を備えることを特徴とする装置。
  28. 特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
    一時バッファ内に前記オブジェクトグループを形成するためのコードと、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
    前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成するためのコードと、
    前記合成クリッピングパスを介して、前記主バッファ上に前記一時バッファをコピーするためのコードと
    を備えることを特徴とするコンピュータ可読媒体。
  29. 特定の合成動作を使用して、主バッファ上にグラフィックオブジェクトグループを合成するためのコンピュータプログラムであって、
    一時バッファ内に前記オブジェクトグループを形成するためのコードと、
    前記オブジェクトグループ中の各オブジェクトに対して、対応するクリッピングパスを提供するためのコードと、
    前記クリッピングパスの結合により規定された合成クリッピングパスを計算するためのコードと、
    前記特定の合成動作と相補する合成動作を使用して、前記一時バッファ内の前記オブジェクトグループ上に前記主バッファを合成するためのコードと、
    前記合成クリッピングパスを介して、前記主バッファに前記一時バッファをコピーするためのコードと
    を備えることを特徴とするコンピュータプログラム。
  30. 特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する方法であって、少なくとも、
    前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成し、
    前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーすることを特徴とする方法。
  31. 特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する装置であって、
    前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成する合成手段と、
    前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするコピー手段と
    を備えることを特徴とする装置。
  32. 特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成する手順を、コンピュータに実行させるように構成されたプログラムが記録されたコンピュータ可読媒体であって、前記プログラムは、
    前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成するためのコードと、
    前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするためのコードと
    を備えることを特徴とするコンピュータ可読媒体。
  33. 特定の合成動作を使用して、クリッピングパスを介して第2のグラフィックオブジェクト上にグラフィックオブジェクトを合成するためのコンピュータプログラムであって、
    前記特定の合成動作と相補する第2の合成動作を使用して、前記グラフィックオブジェクトを含むバッファ上に前記第2のグラフィックオブジェクトを合成するためのコードと、
    前記クリッピングパスを介して、前記第2のグラフィックオブジェクトを含む第2のバッファ上に前記バッファの内容をコピーするためのコードと
    を備えることを特徴とするプログラム。
JP2005036815A 2004-02-13 2005-02-14 描画方法、描画装置 Expired - Fee Related JP4143613B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2004900710A AU2004900710A0 (en) 2004-02-13 Compositing with Clip-to-self Functionality without Using a Shape
AU2004902101A AU2004902101A0 (en) 2004-04-20 Clip-to-Self Compositing Functionality Optimisations

Publications (3)

Publication Number Publication Date
JP2005235205A true JP2005235205A (ja) 2005-09-02
JP2005235205A5 JP2005235205A5 (ja) 2007-11-15
JP4143613B2 JP4143613B2 (ja) 2008-09-03

Family

ID=34912952

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005036815A Expired - Fee Related JP4143613B2 (ja) 2004-02-13 2005-02-14 描画方法、描画装置

Country Status (2)

Country Link
US (1) US20050195220A1 (ja)
JP (1) JP4143613B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005229629B2 (en) * 2005-10-31 2008-12-18 Canon Kabushiki Kaisha Implementing compositing operations on images
US7965299B2 (en) * 2005-10-31 2011-06-21 Canon Kabushiki Kaisha Implementing compositing operations on images
US8264503B1 (en) * 2006-10-24 2012-09-11 Adobe Systems Incorporated Batch early engagement rules graphics processing
AU2015202359A1 (en) * 2015-05-05 2016-11-24 Canon Kabushiki Kaisha Parallelising per-pixel compositing

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4982343A (en) * 1988-10-11 1991-01-01 Next, Inc. Method and apparatus for displaying a plurality of graphic images
US5402530A (en) * 1991-08-20 1995-03-28 Island Graphics Corporation Method and system for color film separation preprocess using electronic object-based choking and spreading procedures including object combining operations
JPH07146931A (ja) * 1993-03-08 1995-06-06 Canon Inf Syst Res Australia Pty Ltd 画像創成方法
AUPM704294A0 (en) * 1994-07-25 1994-08-18 Canon Information Systems Research Australia Pty Ltd Method and apparatus for the creation of images
US5966136A (en) * 1995-04-12 1999-10-12 Hewlett-Packard Co. Efficient method for clipping numerous objects against an arbitrary clipping path
AUPP923799A0 (en) * 1999-03-16 1999-04-15 Canon Kabushiki Kaisha Method for optimising compilation of compositing expressions
US6369830B1 (en) * 1999-05-10 2002-04-09 Apple Computer, Inc. Rendering translucent layers in a display system
AUPQ697100A0 (en) * 2000-04-18 2000-05-11 Canon Kabushiki Kaisha Rendering graphic object based images
US7042467B1 (en) * 2000-05-16 2006-05-09 Adobe Systems Incorporated Compositing using multiple backdrops

Also Published As

Publication number Publication date
US20050195220A1 (en) 2005-09-08
JP4143613B2 (ja) 2008-09-03

Similar Documents

Publication Publication Date Title
JP4365950B2 (ja) 高速ラスタ形式レンダリングのためのグラフィックオブジェクト処理方法および装置
JP3919754B2 (ja) 画素順次描画システムにおいて実行される合成演算回数の削減法
EP1577838B1 (en) A method of rendering graphical objects
JP4343344B2 (ja) ラスタ形式のグラフィックオブジェクトを用いたイメージの高速レンダリング方法
KR100664632B1 (ko) 포터 및 더프 합성을 위한 배경컬러 제거 방법
US7538770B2 (en) Tree-based compositing system
JP4143613B2 (ja) 描画方法、描画装置
JP4646436B2 (ja) デジタル画像の画像処理装置
JP2005135415A (ja) 命令語基盤グラフィック出力加速機能の含まれたグラフィックデコーダ、そのグラフィック出力加速方法及び映像再生装置
JP4109740B2 (ja) 畳み込み走査ラインレンダリング
US10424084B2 (en) Digital content rendering that supports alpha is shape (AIS) as part of knockout groups
US7215342B2 (en) System and method for detecting and converting a transparency simulation effect
JP4911585B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
AU2005200528B2 (en) Compositing with clip-to-self functionality without using a shape channel
JP2018019212A (ja) 情報処理装置及び描画処理方法、コンピュータプログラム
AU746985B2 (en) Run-based compositing
JP2012133765A (ja) 画像処理装置、および画像処理方法
AU766452B2 (en) Method and apparatus for calculating Boolean combinations of regions in a plane
JP2010157041A (ja) 画像形成装置
JP2010086042A (ja) 画像処理装置、画像処理方法及び画像処理プログラム
AU2007240228A1 (en) Improved hybrid rendering
AU2008264239A1 (en) Text processing in a region based printing system
JP2006011639A (ja) グラフィックオブジェクト処理装置及びグラフィックオブジェクト処理方法
AU2008207665A1 (en) Retaining edges of opaque groups across bands
JP2005341418A (ja) 画像処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080424

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080606

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080616

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees