JP2004295900A - グラフィカルオブジェクトグループマネージメントシステム - Google Patents

グラフィカルオブジェクトグループマネージメントシステム Download PDF

Info

Publication number
JP2004295900A
JP2004295900A JP2004096967A JP2004096967A JP2004295900A JP 2004295900 A JP2004295900 A JP 2004295900A JP 2004096967 A JP2004096967 A JP 2004096967A JP 2004096967 A JP2004096967 A JP 2004096967A JP 2004295900 A JP2004295900 A JP 2004295900A
Authority
JP
Japan
Prior art keywords
object group
group
detection scheme
received
objects
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
JP2004096967A
Other languages
English (en)
Other versions
JP2004295900A5 (ja
JP3970256B2 (ja
Inventor
Ian Richard Beaumont
イアン  リチャード  ボーモンド
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
Application filed by Canon Inc filed Critical Canon Inc
Publication of JP2004295900A publication Critical patent/JP2004295900A/ja
Publication of JP2004295900A5 publication Critical patent/JP2004295900A5/ja
Application granted granted Critical
Publication of JP3970256B2 publication Critical patent/JP3970256B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Computer And Data Communications (AREA)
  • Processing Or Creating Images (AREA)

Abstract

【課題】既存装置における非効率性を削減するグラフィックスシステムを提供する。
【解決手段】複数の優先度を付けたオブジェクトを受信し、受信したオブジェクトが関連付けられたオブジェクトグループの一部を形成するかどうかを検出し、1以上のオブジェクトグループが完全に形成されたかどうかを決定し、形成されたオブジェクトグループを優先度に基づいてレンダリングするための出力工程を備える。
【選択図】図3

Description

本発明は、オブジェクトレンダリングシステムにおけるオブジェクトのマネジメントに概ね関連し、より詳細には、オブジェクトレンダリングシステムにおけるグラフィカルオブジェクト検出スキームのマネージメントに関連する。
レンダリングは、グラフィックオブジェクトを画素に変換する処理である。グラフィックレンダリングシステムは、基本的にペインターズアルゴリズムスタイル(painters algorithm style)のレンダリング手法を利用するが、かかるスタイルでは、各オブジェクトが到達した順に(as it arrives)フレームバッファに描画される。他のグラフィックレンダリングシステムは2段階手法を利用する。ここでグラフィックレンダリングシステムは、まず、入力される全てのオブジェクトを幾つかの中間フォーマットに各ページについて変換する。次に、同時に走査線をレンダリングする(the second stage renders a scanline at a time.)。
グラフィックレンダリングシステムのタイプを問わず、アプリケーションプログラムから受信するグラフィックコマンドのいくつかの性質により、効率の問題を被ることとなる。例えば、一般的な描画アプリケーションプログラムは、スムーズなグラデーション(gradient fill)の印象を与えるために、わずかに異なる単調な色(slightly different flat colour)を有する隣接し重なり合った長方形のグループとして、グラデーションをグラフィックレンダリングシステムに送信される。この場合、オリジナルのオブジェクトの性質に忠実なものにはなるが、グラフィックオブジェクトは冗長なデータが多く含まれることとなる。
上述の非効率性を削減する試みにおいて、より複雑なグラフィックオブジェクトと結合されるであろうシンプルなグラフィックオブジェクトを検出し、そのようなグラフィックオブジェクトを、オブジェクトグループと結合し、それによって冗長なデータを削減すると共に、ラスタオペレーション(raster operations)の数を減少させるものが提案されている。
オブジェクトグループは、この文脈において、1以上のオブジェクトのグループを記述するために用いられる。当該グループは、結合されて、より効率的で、そのグラフィックレンダリングシステムに特有のオブジェクト(のセット)を構成する。結合されたオブジェクトは、単一のオブジェクトのグループと比較して、より複雑であっても良いが、グラフィックレンダリングシステムは、オブジェクトグループをより効率的に扱うことができるであろう。もし、グラフィックレンダリングシステムにとって、それらが描かれていた元々のフォーマットよりもより好ましいフォーマットに変換されることが可能であれば、単一オブジェクトを一つのオブジェクトグループとして分類してもよい。
オブジェクトグループ検出スキーム(object group detection schemes)は、典型的に、オブジェクトをグループ化して、より効率的/望ましいオブジェクトのセットを構成することができるかどうかを決定するために利用される。システム設計者は、特に検出スキームを調整して、これらのオブジェクトの非効率性を検出し、修正する。”修正された”グラフィックオブジェクトデータは、オリジナルよりも、より複雑化しがちであるが、特定のグラフィックレンダリングシステムに対して最適化されており、そのようなレンダリングシステムを含むシステムをより効率的なものとするであろう。
各検出スキームは、グラフィックオブジェクトの異なるグループを検出し、結合して、複雑なグラフィックオブジェクトを形成する。検出スキームでは、しばしば1以上の同一オブジェクトが利用されるために、レンダリングシステムが複数の検出スキームを含んでいる場合には検出スキームにおける摩擦が生ずる可能性がある。
[発明の概要]
本発明の目的は、既存の装置における1以上の不利益を実質的に克服する、或いは、少なくとも改善することである。
本発明の第1の側面によれば、オブジェクトグループを、複数の受信したオブジェクトから形成するための方法が提供される。当該方法は、前記受信したオブジェクトを記述するデータを少なくとも一つの検出スキームへ送信する工程であって、各検出スキームは、優先度と関連づけられたオブジェクトグループタイプとを有し、前記受信したオブジェクトが前記関連づけられたオブジェクトグループタイプのオブジェクトグループの一部を形成するかどうかを検出するように動作する工程と、前記少なくとも一つの検出スキームから、前記受信したオブジェクトが前記オブジェクトグループの一部を形成するかどうかの通知を受信する工程と、1以上の前記オブジェクトグループが、完全に形成されたかどうかを決定する工程であって、少なくとも部分的に形成されたオブジェクトグループがリストを形成する工程と、完全に形成されたオブジェクトグループを前記優先度に基づいてレンダリングのために出力する工程とを、前記受信したオブジェクトのそれぞれについて備えることを特徴とする。
本発明の第2の側面によれば、複数の受信したオブジェクトからオブジェクトグループを構成するためのグラフィックレンダリングシステムが提供される。当該グラフィックレンダリングシステムは、複数の検出スキームであって、各検出スキームが優先度及び関連づけられたオブジェクトグループタイプを有し、前記関連づけられたオブジェクトグループタイプのオブジェクトグループの部分を形成するオブジェクトであるかを検出するように動作する複数の検出スキームと、受信したオブジェクトを記述するデータを少なくとも一つの検出スキームへ送信し、前記少なくとも一つの検出スキームから、前記受信されたオブジェクトが前記オブジェクトグループの一部を形成するかどうかの通知を受信し、少なくとも部分的に形成されたオブジェクトグループがリストを形成する場合に1以上の前記オブジェクトグループが完全に形成されたかどうかを決定し、前記優先度に基づいて完全に形成されたオブジェクトグループをレンダリングモジュールへ送信するためのマネージングモジュールとを備えることを特徴とする。
本発明の別の側面によれば、上述の方法を実行するためのコンピュータプログラムが記録されたコンピュータで読み取り可能な記録媒体を含むコンピュータプログラム製品が提供される。
本発明の1以上の実施形態は、添付する図面を参照して記述されるものである。
[最良の実施形態を含む詳細な記述]
処理ステップや特徴を説明するために添付図面の何れかを引用するところ、かかる図面において同一の参照番号が付された処理ステップ及び/又は特徴は、特に断りがない限りは、同一の機能や処理を表すものである。
図1は、多目的のコンピュータシステム100を示しており、コンピュータシステム100の1以上の出力装置に対してオブジェクトのレンダリングを行うために利用される。当該出力装置には、例えば、ディスプレイ114やプリンタ115がある。コンピュータシステム100は、コンピュータモジュール101、キーボード102及びマウス103のような入力装置、プリンタ115及びディスプレイ114を含む出力装置から構成されるものである。
コンピュータモジュール101は、少なくとも一つのプロセッサユニット105、メモリーユニット106、ハードディスクドライブ110及びフロッピー(登録商標)ディスクドライブ111を典型的に含むところの記憶装置109、及び、多くの入出力(I/O)インタフェースを含むものである。入出力インタフェースは、ディスプレイ114と組み合わされるビデオインタフェース107、キーボード102及びマウス103用のI/Oインタフェース113、及び、プリンタ115用のインタフェース108を含む。コンピュータシステム100内で実行されるオペレーティングシステムは、キーボード102及びマウス103からの入力を認識する、ディスプレイ114及びプリンタ115に出力を送信する、ファイルやディレクトリの記録を、記憶装置109に保存する、及び、ハードディスクドライブ110及びフロッピー(登録商標)ディスクドライブ111をを制御する、といった基本的なタスクを実行する。オペレーティングシステムはまた、アプリケーションプログラムを実行するためのソフトウェアプラットフォームを提供する。
図2は、出力装置114又は115の何れかにオブジェクトをレンダリングする処理に含まれる図1のコンピュータシステム100のモジュールを示す図である。アプリケーションプログラム210はプロセッサ105内で実行され、例えばワードプロセッサのようなプログラムである。このプログラムにより、ページベースの文書データが生成され、各ページ内にはグラフィックオブジェクトが含まれる。グラフィックオブジェクトは典型的には、テキスト、ライン、フィルリージョン(fill regions)、画像データを含む。
文書が出力装置114や115上にレンダリングされる場合、アプリケーションプログラム210は、文書の各ページを連続するグラフィックコマンドとして、コンピュータシステム100の元々のオペレーティングシステムにより提供されるグラフィックインタフェースサービス220へ送信する。グラフィックコマンドは、当該ページのグラフィックオブジェクトを記述する。グラフィックインタフェースサービス220のセットは、グラフィックデバイスインタフェース(GDI)レイヤーとして既知であり、全てのアプリケーションプログラムにグラフィックス機能のリッチセットを提供する一般的なアプリケーションプログラミングインタフェースである。
GDIレイヤー220は、デバイスドライバ230が最も効率的に処理を行うであろうとGDIレイヤー220が判断するフォーマットと、出力装置114又は115の解像度とにおいて、グラフィックオブジェクトをデバイスドライバ230へ提供する。実際、GDIレイヤー220は、アプリケーションプログラム210と出力装置114又は115との間を仲介するものであり、それによりデバイスドライバ230は、例えば、長方形ブロックの画像データを描画したり、シンプルな領域を単一色で塗りつぶしたりするといった、より小さな機能セット(a much smaller set of functionality)をサポートすることが可能となる。
デバイスドライバ230は、グラフィックレンダリングシステムとしても公知であるが、GDIレイヤー220から受け付けたグラフィックオブジェクトをレンダリングする。レンダリングは、GDIレイヤー220から受け付けたグラフィックオブジェクトをデバイスドライバ230により画素に変換する処理である。当該画素は出力装置114又は115へ送られる。アプリケーションプログラム210とグラフィックインタフェースサービス220はソフトウェアにより構成されるが、デバイスドライバ230はソフトウェア、ハードウエア又はそれらの組み合わせにおいて実現されても良い。
好適な実施形態において、グラフィックレンダリングシステム230によるレンダリング処理は、多目的コンピュータ100のプロセッサ105により実行されるソフトウェアにおける命令により有効化される。当該ソフトウェアは、例えば、記憶手段109を含めた、コンピュータ可読媒体に格納されていてもよい。そのようなソフトウェアやコンピュータプログラムが格納されたコンピュータ可読媒体は、コンピュータプログラム製品である。
図3は、グラフィックレンダリングシステム310を示しており、そこには、4つの検出スキーム311から314が含まれている。検出スキーム311から314のそれぞれは、シンプルなグラフィックオブジェクトの異なるコンビネーションを結合して、それぞれに複雑なグラフィックオブジェクトを生成する。例えば、検出スキーム311は、水平線321と垂直線322とを結合して、十字323を形成している。
しかしながら、入力オブジェクト331が、グラフィックレンダリングシステム310により受け付けられた場合、オブジェクト331は、検出スキーム311から313までによりそれぞれ形成される複雑なグラフィックオブジェクトの一部を形成し得るシンプルなオブジェクトとして、検出スキーム311から313の3つにより検出されることになる。なお、このオブジェクト331は、垂直線である。検出スキーム311から313はシンプルなグラフィックオブジェクトを共有しているが、各手法311から313は、共通のオブジェクトを共有するかもしれない他の全ての検出スキーム311から314と通信して、当該オブジェクトの出力が1度だけ行われるようにしなければならない。そこで、各検出スキーム311から314は優先度を有している必要がある。ここで優先度とは、オブジェクトグループタイプについて与えられた順位付けである。特定の検出スキーム311から314に割り当てられる優先順位の番号が小さくなればなるほど、当該特定の検出スキームによって検出されるオブジェクトグループタイプに対する優先度が上がることとなる。検出スキーム311から314において最も高い優先度を有するものが、その検出スキームがオブジェクトグループタイプを形成するのに必要とするオブジェクトを全て入手することとなる。
優先度ベースではなく、検出スキームの完全なインタラクションとする場合、グラフィックレンダリングシステム310において、個々の検出スキーム311から314は、他のいずれかの検出スキーム311から314と同一のオブジェクトを利用することができないので、グラフィックレンダリングシステムにおいて最も効率的にグループ化されたグラフィックオブジェクトのセットを出力することはほとんど不可能となるであろう。
検出スキーム311から314が互いに通信しあうことを必要とする上述の要求は、新しい検出スキームが実行される際の容易性を損なうものである。より多くの検出スキームがグラフィックレンダリングシステムに追加されると、通信プロトコルは典型的に複雑化し、レンダリングシステム310内における実行速度が減少したり、符号の複雑さが増大したりといった逆の効果がもたらされることとなる。さらに、新しい検出スキームを導入するための適切なベースがない場合には、新たなオブジェクトグループ検出スキームを実施するための容易性が損なわれ、ソフトウェアの再利用性に影響が及ぶこととなる。
図4は、本発明に対応するグラフィックレンダリングシステム400の好適な実施形態を示す図である。グラフィックレンダリングシステム400は、レンダリングモジュール405、オブジェクトグループマネージングモジュール410及び複数の検出スキーム421から423を含み、これらの全てが好ましくは、プロセッサ105により実行される命令によって有効化される。
検出スキーム421から423の目的は、グラフィックオブジェクトをオブジェクトグループにグループ化することにより、図2のGDIレイヤー220から受け付けたグラフィックオブジェクトの”デザイラビリティ(desirability)”を向上させることにある。これにより、レンダリングモジュール405に、グラフィックオブジェクトから画素への変換をより効率的に行わせることができる。異なるレンダリングモジュール405におけるデザイラビリティは、いくつかのレンダリングモジュール405がコンパクトなオブジェクトを選択するのに対し、他のレンダリングモジュール405が、より単純化されたオブジェクトのセットを選択する点で、異なるかもしれない。421から423の各検出スキームは、ある特定のオブジェクトグループを形成するために必要とされるグラフィックオブジェクトを"認識する(recognises)"。それゆえに、各検出スキーム421から423は、それぞれに特有のオブジェクトグループを形成するために必要とされる所定数のオブジェクトを格納する。
大抵の場合、検出スキーム421から423、特に検出スキーム422及び423は、同一のグラフィックオブジェクトを利用してそれぞれのオブジェクトグループを形成する。これらの2つのオブジェクトグループは、オーバラップしていると呼ばれる。オブジェクトグループマネージングモジュール410は、グラフィックレンダリングシステム400により受信された各オブジェクトを、現在のオブジェクトタイプと関連する個々の検出スキームに送信し、検出されたオブジェクトグループの正否についての応答を格納する。各オブジェクトタイプは、0以上の検出スキームと所定の関連性を有する。オブジェクトグループマネージングモジュール410は、個々の検出スキーム421から423までからの結果を利用してマネージングを行い、グループ化されたオブジェクト又は単一オブジェクトを含んでもよい現在アクティブなオブジェクトグループ(これは、個々の検出スキームによって保持されている)の出力を制御する。
このようにするために、オブジェクトグループマネージングモジュール410は、オーバラップしているオブジェクトを有する検出スキーム421から423の間を仲介し、どのオブジェクトグループがどのオブジェクトに割り当てられるかを決定する。オブジェクトグループマネージングモジュール410は、検出スキーム421から423とレンダリングモジュール405との間でコミュニケータ及びオーガナイザとして効果的に振る舞い、個々の検出スキーム421から423が互いに通信し合う必要性を低減する。
オブジェクトグループマネージングモジュール410はまた、各検出スキーム421から423によって形成されるオブジェクトグループのいずれにも属しないオブジェクトの出力を扱い、また、オブジェクトグループには属しているかもしれないが、オブジェクトグループが完結しないようないかなるオブジェクトの出力も扱う。オブジェクトグループマネージングモジュール410は、この意味において、個々の検出スキーム421から423を制御し、組織化する(organize)マネージャとして動作し、グラフィックレンダリングシステム400への及び、当該システム400からのオブジェクトの流れをも制御する。
検出スキーム423が最も高い優先度を割当られており、それに続くのが421である。この例において、検出スキーム422及び423はオーバラップしているので、検出スキーム423はそのオブジェクトグループを、検出スキーム422に優先して形成することとなる。
以下のように、レンダリングモジュール405は、始動すると(upon initiation)、コンフィギュレーションデータをオブジェクトグループマネージングモジュール410へ送信する。コンフィギュレーションデータには、典型的には、グラフィックレンダリングシステム400内に実装されている検出スキーム421から423の優先度、コールバック機能(callback functions)のリスト、及び、検出スキーム421から423のそれぞれに関するコンフィギュレーションデータのリストが含まれている。コンフィギュレーションデータは、オブジェクトグループが形成されるかどうかを検出スキーム421から423のそれぞれがどのように決定するかにつき、所定の制限を設定するために利用される。特に、"Always Formed(常に形成される)"とのフラグは、設定されるか又は設定されない。設定される場合、このフラグは、オブジェクトグループがいかなる数(1以上)のオブジェクトからでも完成されるオブジェクトグループであることを示す。そのようなオブジェクトグループはそれ故に、後述するように、例えより高い優先度のオブジェクトグループが共通する幾つかのオブジェクトを有していたとしても、出力の目的のために完成されたグループとして扱われる。コールバック機能は、検出スキーム421から423を読み出すために利用される。
2つのコールバック機能が、検出スキーム421から423のそれぞれと関連して存在する。即ち、認識コールバック機能(a recognize callback function)と、フラッシュコールバック機能(a flush callback function)である。認識コールバック機能に呼応して、検出スキーム421から423は、ステータスフラグを送り返すことにより、オブジェクトグループの検出ステータスをオブジェクトグループマネージングモジュール410に通知する。このステータスフラグは、以下のいずれかの意味を有することができる。
オブジェクトグループが完成したこと(現在のオブジェクトも含む)(object group complete (including the current object))
オブジェクトグループが完成し(現在のオブジェクトは含まず)、現在のオブジェクトが新しいグループに受け入れられたこと(object group complete (not including the current object) and current object has been accepted into a new group)
オブジェクトグループが完成し(現在のオブジェクトは含まず)、現在のオブジェクトが新しいグループに受け入れられていないこと(object group complete (not including the current object) and current object has not been accepted into a new group)
現在のオブジェクトにより新しいオブジェクトグループが開始され、完成したこと(new object group started and complete, by the current object)
オブジェクトグループが依然として形成中であること(”削除された”)(object group still forming ("detected"))
オブジェクトグループが失敗したこと(現在のオブジェクトを含む)(object group failed (including the current object))
オブジェクトグループが失敗し(現在のオブジェクトを含まず)、現在のオブジェクトが新しいオブジェクトグループに受け入れられていないこと(object group failed (not including the current object) and current object is not accepted into a new object group)
オブジェクトグループが失敗し(現在のオブジェクトを含まず)、現在のオブジェクトが新しいオブジェクトグループに受け入れられていること(object group failed (not including the current object) and current object is accepted in a new object group)
オブジェクトが受け入れられていないこと(object not accepted)
新しいオブジェクトグループが開始されたこと(”ポジティブ”ステータス)(new object group started ("positive" status))
フラッシュコールバック機能は、検出スキーム421から423に、完成したオブジェクトグループ若しくは単一オブジェクトを出力させる。
その動作において、レンダリングモジュール405は、グラフィックオブジェクト431から438をGDIレイヤー220(図2)から一つずつ受信する。オブジェクト431から438は、レンダリングモジュール405によりオブジェクトグループマネージングモジュール410へ送信される。レンダリングモジュール405は特に、特定のオブジェクトが属するであろうオブジェクトグループタイプ、これらのオブジェクトタイプの数及びオブジェクト自体をオブジェクトグループマネージングモジュール410に提供する。オブジェクトは、所定の構造においてラッピングされ、当該構造のヘッダは、オブジェクトのオブジェクトグループタイプとそのようなタイプの数とを含む。オブジェクトはまた、レンダリングモジュール405によりメモリー106(図1)内にセーブされる。
図5A、図5Bは、オブジェクトグループマネージングモジュール410によって実行されるプロセス500のフロー図である。プロセス500の処理工程は、メモリー106へロードされ、プロセッサ105によって実行されるたソフトウェアによって有効化される。オブジェクトグループマネージングモジュール410は、プロセス500を開始し、ステップ510において、オブジェクトグループマネージングモジュール410はオブジェクト及び関連するデータをレンダリングモジュール405からを受け付け、それをオブジェクトリストに格納する。オブジェクトグループマネージングモジュール410はまた、オブジェクトに対するポインタをメモリー106へセーブする。
ステップ512では、オブジェクトグループマネージングモジュール410は、オブジェクトグループ認識フラグ(object group recognition flag)がセットされているかどうかを決定する。オブジェクトグループ認識フラグは、オブジェクトグループマネージングモジュール410のオン/オフステータスを制御する。もしオブジェクトグループ認識フラグがセットされていない場合、オブジェクトグループマネージングモジュール410はステップ520において、"検出されていない(not detected)"とのステータスメッセージをレンダリングモジュール405へ送信することにより、レンダリングモジュール405へコントロールを返す。レンダリングモジュール405は、通常の手法によりオブジェクトをレンダリングする。
また、もしオブジェクトグループマネージングモジュール410が、オブジェクトグループ認識フラグがセットされていると決定した場合には、オブジェクトグループマネージングモジュール410はステップ514において、受け付けたオブジェクトに関連する検出スキーム421から423のそれぞれの認識機能(a recognise function)を呼び出す。もし現在トラックされているオブジェクトグループが存在する場合、即ち、検出スキームが、アクティブオブジェクトグループリストにおいてアクティブなステータスを有する場合、アクティブな検出スキームの認識機能もまた呼び出される。アクティブオブジェクトグループリストは、オブジェクトグループマネージングモジュール410が現在トラッキングしている現在アクティブなオブジェクトグループのリストである。当該リストにおける各アイテムには、オブジェクトグループのタイプ、オブジェクトグループの優先度、オブジェクトグループがアクティブであるオブジェクト、及び、オブジェクトグループのステータスが含まれる。ステータスは"アクティブ"、"完成(complete)"、又は"失敗(failed)"のいずれかであっても良く、リスト中のいかなるアイテムも、"失敗"フラグが立っている場合には、直ちに削除される。
各検出スキーム421から423は、受け付けたグラフィックオブジェクトが、それ以前に受け付けたオブジェクトとグループ化される可能性のあるオブジェクトの一つであるかどうかを、もしそれがある場合により複雑なグラフィックオブジェクトを形成するために決定し、その結果として、オブジェクトグループマネージングモジュール410へ応答を送信する。オブジェクトグループマネージングモジュール410は、このようにしてステップ516において、検出スキーム421から423より検出ステータスを受信する。
ステップ518において、オブジェクトグループマネージングモジュール410は、現在トラッキングされているオブジェクトグループが存在するかどうかを、アクティブオブジェクトグループリストにおいて"アクティブ"なステータスを有するオブジェクトグループが現在存在するかどうか、或いは、検出スキーム421から423のいずれかが肯定的な検出ステータスをステップ516において返してきたかどうか、により決定する。もし現在トラッキングされているオブジェクトが存在しない場合、プロセス500はステップ520へ移行して、"検出されていない(not detected)"とのステータスメッセージがレンダリングモジュール405へ送信される。このようにして、単一グラフィックオブジェクトがいかなるオブジェクトグループタイプにも属しないことが決定され、メモリースペースの浪費を防止するために当該オブジェクトが通常の手法によりレンダリングモジュール405によってレンダリングされても良い。
もし、ステップ518においてオブジェクトグループマネージングモジュール410が、少なくとも一つのオブジェクトグループがアクティブオブジェクトグループリストにおいて現在"アクティブ"なステータスにあるかどうか、又は、検出スキーム421から423の少なくとも一つが肯定的な検出ステータスを返してきたかどうか、を決定した場合、オブジェクトグループマネージングモジュール410は、ステップ522においてアクティブオブジェクトグループリストを更新する。このことは、各検出スキーム421から423が"肯定的な(positive)"検出ステータスを返した各オブジェクトグループに関して"アクティブ"なステータスを有するエントリーを生成すること、各検出スキーム421から423が"検出した(detected)"との検出ステータスを返した現在のオブジェクトを含むように、既存のエントリーのオブジェクトリストを修正すること、及び、各検出スキームが、オブジェクトグループが失敗(object group failed)との検出ステータスのいずれかを返した、正しく形成することに失敗した全てのオブジェクトグループを削除すること、を含むものである。検出スキームは、それがトラッキングするようにデザインされているオブジェクトグループにフィットしないオブジェクトを受け付けた場合に、オブジェクトグループが失敗(object group failed)とのステータスフラグのうちの1つを戻すであろう。ステップ522では、対応する検出スキーム421から423が"完成"の検出ステータスのいずれかのフォームを返すところの、アクティブオブジェクトグループリストにおける各オブジェクトグループに関してステータスを"完成(complete)"に設定することが含まれる。
プロセス500はステップ524に移行し、オブジェクトグループマネージングモジュール410は、このステージにおいて出力されるべきオブジェクトグループ又は独立のオブジェクトが存在するかどうかを決定する。オブジェクトグループ又は単一オブジェクトは、もしアクティブオブジェクトグループリストにおいて最も高い優先度のオブジェクトグループが"完成"のステータスを有する場合に出力される。
もし、オブジェクトグループマネージングモジュール410が、オブジェクトグループ又は単一オブジェクトが出力されるべきであると決定した場合、プロセス500はステップ526へ移行する。そうでない場合は、プロセス500はステップ536に移行する。
ステップ526では、オブジェクトグループマネージングモジュール410が、"完成"のステータスを有するアクティブオブジェクトグループリストにおける優先度が最も高いオブジェクトグループのデータを、アクティブオブジェクトグループリストから出力リストへ転送する。ここで、出力リストとは、出力されるべきオブジェクトグループ及び単一オブジェクトのリストである。出力リストには、出力されるオブジェクトグループのタイプ、出力されるオブジェクトの範囲、及び、オブジェクトグループ又は単一オブジェクトのいずれを出力するかが含まれている。
ステップ528では、オブジェクトグループマネージングモジュール410が、オブジェクトグループまたはオブジェクトがリストから削除されたことを受けて、アクティブオブジェクトグループリストを更新する。ここでは、ステップ526で転送されたオブジェクトグループにオーバラップするオブジェクトグループを見つける(locate)ために、アクティブなオブジェクトグループにおけるエントリを優先度の降順にトラバース(traversing)することを含む。そのようなオブジェクトグループのそれぞれに対応する検出スキームの"常に形成(Always Formed)"のフラグがチェックされる。もし、このフラグが設定されている場合、出力リストに既に登録されているどのオブジェクトに対するポインタも、当該エントリのオブジェクトリストから削除される。もし、フラグがセットされていない場合は、当該オブジェクトグループはアクティブなオブジェクトグループから削除される。
プロセス500は、ステップ528からステップ529へ移行して、オブジェクトグループマネージングモジュール410が、アクティブなオブジェクトグループ中に出力リストに転送されるべき更なるオブジェクトグループ又は単一オブジェクトが存在するかどうかを決定する。一旦オブジェクトグループマネージングモジュール410が、オブジェクトグループ又は単一オブジェクトが出力されるべきであると決定すると、現在オブジェクトグループマネージングモジュール410がトラッキングしている全てのオブジェクトは、出力される必要が出てくるであろう。但し、新しいオブジェクトグループに受け入れられ、他のグループには受け入れられていないことを条件として現在のオブジェクトは除外される。このことは、オブジェクトの順番は、レンダリング時に維持されることを保証するものである。もしオブジェクトグループマネージングモジュール410がステップ529において、より多くのオブジェクトが出力リストに転送される必要があると決定した場合、プロセス500はステップ526へ戻る。そうでなければ、ステップ532へ移行する。
このように、オブジェクトグループマネージングモジュール410が、アクティブなオブジェクトグループから出力リストへ転送すべきオブジェクトグループ及び単一オブジェクトが存在しないと決定した場合、ステップ532において、オブジェクトグループマネージングモジュール410は、出力リストに応じてレンダリングモジュール405における適当なレンダリング機能を(検出スキームの一部として提供されるフラッシュコールバック機能を介して)呼び出す。オブジェクトがグラフィックレンダリングシステム400へ入力された順番を維持するために、出力リストはリストの最後のオブジェクト/オブジェクトグループから最初へとたどられる。レンダリング機能を呼び出すことにより、対応するオブジェクト又はオブジェクトグループが出力装置114又は115へレンダリングされる。出力リストが一度完全に処理されると、オブジェクトグループマネージングモジュール410はステップ534においてオブジェクトリストをクリアする。
オブジェクトグループマネージングモジュール410は、次にステップ536において受け付けたオブジェクトが処理されたことをレンダリングモジュール405に通知する。例え出力リストが空であるためにレンダリングされるオブジェクトが存在しない場合であっても、この通知は送信され、最新に受け付けられたグラフィックオブジェクトがオブジェクトグループに包含されたか、部分的にオブジェクトグループを形成しているかを意味することとなる。プロセス500は、次のオブジェクトの受信に応じて再度実行される。
グラフィックレンダリングシステム400、特にオブジェクトグループマネージングモジュール410の処理を、図6Aから図6Gを参照して以下により詳細に説明する。例えば、グラフィックレンダリングシステム400はテキストオブジェクトをGDIレイヤー220から受信し、テキストオブジェクトをレンダリングし、ディスプレイ114へ画素を出力する。
例に示すグラフィックレンダリングシステム400は、2つの検出スキームを含む。第1の検出スキームは、オブジェクトグループ"The"を構成するテキストオブジェクトを検出し、"THE"との語を形成する画素を出力する。第2の検出スキームは、オブジェクトグループ"These"を構成するテキストオブジェクトを検出し、"THESE"との語を形成する画素を出力する。この例において、オブジェクトグループ"These"はより高い優先度を与えられている。更に、検出スキームには"常に形成(Always Formed)"のフラグがセットされていない。レンダリングシステム400のレンダリングモジュール405によって受信されたテキストオブジェクトは、"These "との語を形成しており、ここでは、文字"e"の後にスペースが続いている。テキストオブジェクトは、1つずつオブジェクトグループマネージングモジュール410へ送信され、各オブジェクトはそのオブジェクトグループタイプにより組合わされる。
ここで図6Aを参照すると、オブジェクトグループマネージングモジュール410の第1の状態601が示されている。オブジェクトグループマネージングモジュール410は、まずオブジェクト"T"をレンダリングモジュール405から受け付け、当該オブジェクトをオブジェクトリストに格納する。よって、オブジェクトリストには、この時点で"T"が含まれている。オブジェクトグループマネージングモジュール410は、受信したオブジェクト"T"に関連するそれぞれの検出スキームの認識機能を呼び出す。
各検出スキームは、受信したグラフィックオブジェクトが、より複雑なグラフィックオブジェクトを形成するためにグループ化される可能性のあるオブジェクトの一部であるかどうかを決定し、その結果に応じた検出ステータスをオブジェクトグループマネージングモジュール410へ送信する。図6Aは、2つの検出スキームについての状態602及び603を示している。各検出スキームは、オブジェクト"T"を認識し、"new object group started(新しいオブジェクトグループの開始)"のステータスをオブジェクトグループマネージングモジュール410へ戻す。これは、オブジェクトグループマネージングモジュール410に、当該検出スキームに送信されたオブジェクトが、将来的にオブジェクトグループの一部として受け入れられる可能性があることを伝えるものである。
"new object group started"のステータスを受信した後、オブジェクトグループマネージングモジュール410は、2つの検出スキームが肯定的な検出ステータスを返したと決定することにより、現在トラッキングされている2つのアクティブなオブジェクトグループが存在することを決定する。オブジェクトグループマネージングモジュール410は、検出スキームから受信した情報を、"アクティブ"なステータスを有する2つの新しいエントリ(それぞれは各検出スキームに関連づけられている)を生成することにより、(現在は空である)アクティブオブジェクトグループリストに追加する。オブジェクトグループマネージングモジュール410の状態601はまた、更新されたアクティブオブジェクトグループリストを示している。
アクティブオブジェクトグループリストにおいて現在最も優先度が高いオブジェクトグループ、この例ではオブジェクトグループタイプ"THESE"は、"完成(complete)"のステータスを有していないので、このステージにおいてはオブジェクトの出力はなされない。
オブジェクトグループマネージングモジュール410は次に、受信したオブジェクトが処理され、この時点においてレンダリングのためにオブジェクトが出力される必要がないことをレンダリングモジュール405へ通知する。
図6Bは、その後の状態を示しており、ここではオブジェクトグループマネージングモジュール410がオブジェクト"h"を、第2のオブジェクトとしてレンダリングモジュール405から受け付け、状態611に示されるように当該オブジェクトをオブジェクトグループマネージングモジュール410のオブジェクトリストに格納している状態を示している。オブジェクトグループマネージングモジュール410は、各検出スキームの認識機能を呼び出す。これは、両方の検出スキームがオブジェクト"h"に関連しているためだけではなく、両方の検出スキームのオブジェクトグループタイプがアクティブオブジェクトグループリストにリストされているからでもある。各検出スキームは、各オブジェクトにつき一度は呼び戻されることになる点は注意すべきである。
検出スキームの状態612及び613において示されるように、各検出スキームは、受信したグラフィックオブジェクト"h"が、オブジェクト"T"とグループ化されてより複雑なグラフィックオブジェクトを形成する可能性があるオブジェクトの一つであるかどうかを決定する。この結果に従って、各検出スキームは"検出(detected)"との検出ステータスをオブジェクトグループマネージングモジュール410へ送信する。ここで、もし、検出スキームがオブジェクト"T"を従前のオブジェクトとして検出していない場合には、"検出"の検出ステータスを戻すことはない。検出スキームは、隣接するオブジェクトを順序に従わずに扱うこともできるが、その場合であってもモジュールはいかなる異なる機能も必要としない。
オブジェクトグループマネージングモジュール410は、検出スキームから受信した情報によりアクティブオブジェクトグループリストのエントリを更新する。オブジェクトグループマネージングモジュール410の状態611は、両方のオブジェクトグループタイプが、"アクティブ"なステータスを有し、オブジェクト1及び2、即ち"T"及び"h"とそれぞれが関連していることを示している。
アクティブオブジェクトグループリストにおいて最も優先度の高いオブジェクトグループが、"完成(complete)"のステータスを依然として有していない場合、このステージにおいてオブジェクトは出力されない。オブジェクトグループマネージングモジュール410は、レンダリングモジュール405へ、受信したオブジェクトが処理されたことを通知する。
オブジェクトグループマネージングモジュール410は次に、レンダリングモジュール405からオブジェクト"e"を受け付け、オブジェクトリスト内に当該オブジェクトを格納する。さらに、受信したオブジェクト"e"と関連する検出スキーム及びアクティブオブジェクトグループリストにおけるオブジェクトグループタイプと関連する全ての検出スキーム、本例においては両方の検出スキーム、の認識機能を呼び出す。
両方の検出スキームは、オブジェクト"e"が各オブジェクトグループを形成するためのグループ化される可能性のあるオブジェクトの一つであると決定する。さらに、オブジェクトグループ"The"を構成するテキストオブジェクトを検出する検出スキームは、そのオブジェクトグループを形成するために必要とされる全てのオブジェクトが受信されたと決定し、オブジェクトグループマネージングモジュール410に"完成(complete)"のステータスを戻す。図6Cは、検出スキームの状態622及び623を示す。
オブジェクトグループマネージングモジュール410は、検出スキームから受信した情報を、既存の2つのエントリを更新することにより、アクティブオブジェクトグループリストに追加する。オブジェクトグループマネージングモジュール410の状態621は、オブジェクトグループタイプ"THE"が現在"完成(complete)"状態にあることを示している。
アクティブオブジェクトグループリストにおいて最も優先度の高いオブジェクトグループが依然として"完成(complete)"のステータスを有していないので、このステージにおいてもオブジェクトは出力されない。オブジェクトグループマネージングモジュール410は、レンダリングモジュール405へ、受信したオブジェクトが処理されたことを通知する。
図6Dを参照すると、オブジェクトグループマネージングモジュール410はオブジェクト"s"をレンダリングモジュール405から次に受け付け、当該オブジェクトをオブジェクトリストに格納する。オブジェクトグループマネージングモジュール410は、オブジェクトグループタイプ"THESE"に関連する検出スキームのみの認識機能を呼び出す。これは、オブジェクトグループタイプ"THE"に関連する検出スキームが受信したオブジェクト"s"に関連しないだけでなく、アクティブオブジェクトグループリスト内にアクティブなオブジェクトグループタイプに関連する検出スキームが存在しないからでもある。オブジェクトタイプ"THE"は"完成(complete)"ステータスを有している。
オブジェクトグループタイプ"THESE"に関連する検出スキームは、オブジェクト"s"がオブジェクトグループを形成するためにグループ化される可能性のあるオブジェクトの一つであると決定し、"検出(detected)"の検出ステータスをオブジェクトグループマネージングモジュール410へ再度返す。図6Dはまた、検出スキームの状態632及び633を示している。オブジェクトグループマネージングモジュール410は、オブジェクトグループタイプ"THESE"のエントリを更新することにより、アクティブオブジェクトグループリストへ受信した情報を追加する。オブジェクトグループマネージングモジュール410の状態631は、オブジェクトグループタイプ"THESE"が、依然として"アクティブ"なステータスを有しており、オブジェクト1から4と関連していることを示している。完成したオブジェクトグループタイプ"THE"のエントリは不変のままである。
アクティブオブジェクトグループリストにおいて最も優先度が高いオブジェクトグループが依然として"完成(complete)"の状態を有していないので、このステージでもオブジェクトは出力されない。オブジェクトグループマネージングモジュール410は、レンダリングモジュール405へ受信したオブジェクトが処理されたことを通知する。
本例は図6Eに継続し、オブジェクトグループマネージングモジュール410は、レンダリングモジュール405からオブジェクト"e"を受け付け、当該オブジェクトをオブジェクトリスト内にオブジェクト5として格納する。オブジェクトグループマネージングモジュール410は、オブジェクト"e"が両方のオブジェクトグループタイプに関連するので、両方の検出スキームの認識機能を呼び出す。
オブジェクトグループタイプ"THESE"に関連する検出スキームは、オブジェクト"e"が、それ以前に受信したオブジェクトとグループ化されてオブジェクトグループを形成する可能性があるオブジェクトの一つであると決定し、オブジェクトグループマネージングモジュール410へ"完成(complete)"の検出ステータスを返す。
オブジェクトグループタイプ"THE"に関連する検出スキームは、先行するオブジェクトがオブジェクト"h"でないために、オブジェクト"e"をそれ以前に受信したオブジェクトとグループ化される可能性のあるオブジェクトの一つとは認識せず、"受け付けず(not accepted)"の検出ステータスをオブジェクトグループマネージングモジュール410へ返す。図6Eはまた、検出スキームの状態642及び643を示している。
オブジェクトグループマネージングモジュール410は、オブジェクトグループタイプ"THESE"のエントリを更新することにより、アクティブオブジェクトグループリストに受信した情報を追加する。オブジェクトグループマネージングモジュール410の状態641は、オブジェクトグループタイプ"THESE"が、現時点で"完成(complete)"のステータスを有し、オブジェクト1から5と関連づけられていることを示している。完成したオブジェクトグループタイプ”THE”のエントリは不変のままである。
オブジェクトグループマネージングモジュール410は、アクティブオブジェクトグループリストにおいて、"完成(complete)"のステータスを有する最も優先度の高いオブジェクトグループタイプと、このステージにおいて出力されるべきオブジェクトグループ又は単一オブジェクトとを決定する。そのために、また、図6Fに示されるように、オブジェクトグループマネージングモジュール410はオブジェクトグループタイプ"THESE"のデータをアクティブオブジェクトグループリストから出力リストへ転送する。オブジェクトグループマネージングモジュール410はまた、アクティブオブジェクトグループリストを更新してオブジェクトグループタイプ"THESE"がリストから削除された事実を反映するとともに、オブジェクトグループタイプ"THE"が、出力リストに移されたオブジェクトグループタイプ"THESE"とオーバラップしており、ゆえに"failed"ステータスを取得しているので、これをアクティブオブジェクトグループリストから削除する。
オブジェクトグループマネージングモジュール410は、次にアクティブオブジェクトグループリストが空になり、出力されるべきオブジェクトグループ又は単一オブジェクトが最早存在しないと決定する。オブジェクトグループマネージングモジュール410は、出力リストに従ってレンダリングモジュール405内の適切なレンダリング機能を呼び出す。出力リストにはただ1つのオブジェクトグループが存在している。オブジェクトグループタイプ"THESE"のレンダリング機能を呼び出すことにより、"THESE"の語を形成する画素が出力装置114又は115へレンダリングされる。オブジェクトグループマネージングモジュール410は、その時点でトラッキングしているオブジェクトを有しておらず、よって、アクティブオブジェクトグループリストにはオブジェクトグループタイプが存在しないが、レンダリングモジュール405へ受信したオブジェクトを処理したことを通知する。
最後に、オブジェクトグループマネージングモジュール410は" "(空白(space character))のオブジェクトをレンダリングモジュール405から受け付け、図6Gの状態661に示されるオブジェクトリストに当該オブジェクトを格納する。当該オブジェクト" "は、どの検出スキームとも関連していないので、検出スキームは呼び出されない。
次に、アクティブオブジェクトグループリストは空であるので、オブジェクトグループマネージングモジュール410は"検出されず(not detected)"とのステータスのメッセージをレンダリングモジュール405へ送信する。レンダリングモジュール405は、単一オブジェクトグループタイプのオブジェクト" "を、通常の手法においてレンダリングする。これにより図6Aから図6Gまでに示す例が完結する。
ステップ526(図5B)における、オブジェクトグループマネージングモジュール410による、アクティブオブジェクトグループリストから出力リストへのデータ転送について、以下に他の例を用いてより詳細に説明する。図7Aは、14個のオブジェクトと、それらと関連づけられたアクティブなオブジェクトグループタイプを示している。4つのオブジェクトグループタイプを含むアクティブオブジェクトグループリストが示され、それらは"完成(complete)"のステータスを有している。ここで、オブジェクトグループタイプ1と関連づけられた検出スキームは、"常に形成(Always Formed)"のフラグセットを有している点に注意すべきである。アクティブオブジェクトグループリストを生成したステップのシーケンスを経ない場合、各オブジェクトグループタイプは完成となるので、より高い優先度を有する他のアクティブなオブジェクトグループタイプが、オブジェクト又はオブジェクトグループが出力されるのを妨げる。
しかしながら、この例における現在のステージでは、アクティブオブジェクトグループリストにおいて最も優先度の高いオブジェクトグループタイプであるオブジェクトグループタイプ4が"完成(complete)"のステータスを有する。よって、オブジェクト9から14にかかるオブジェクトグループタイプ4のデータは、図示されるように出力リストへ転送される。
もし、同一の優先度を有する1以上の完成したオブジェクトグループが存在する(このことはオブジェクトグループタイプが同一であることを意味するであろう)場合、より後にオブジェクトグループ化された(the later object grouping)オブジェクトグループが、まず出力リストへ転送されるであろう。
ステップ528において、オブジェクトグループマネージングモジュール410は、オブジェクトグループタイプ4とオーバラップするオブジェクトグループについて、アクティブなリストをスキャンする。図7Bに示すように、オブジェクトグループタイプ3はオブジェクトグループタイプ4とオーバラップしており、"Always Formed"のフラグがセットされていないので、オブジェクトグループタイプ3はアクティブオブジェクトグループリストから削除される。
オブジェクトグループタイプ3を削除した後、オブジェクトグループマネージングモジュール410は、次に優先度が高い完成したオブジェクトグループをアクティブオブジェクトグループリスト内において探索する。これにより、優先度8を有するオブジェクトグループタイプ2が探索される。このオブジェクトグループが出力リストに追加される前に、オブジェクトグループマネージングモジュール410は、このオブジェクトグループと出力リストに追加されたばかりのオブジェクトグループとの間にオブジェクトのギャップが存在しないことチェックして確認する。
図7Cに示す場合はオブジェクト8のように、もしギャップが存在する場合には、当該単一オブジェクトは、次のオブジェクトグループが転送される前に、出力リストへ移される。隣接して存在する複数の単一オブジェクトについては、一つのエントリが出力リストに挿入されるだけでよい。このエントリは特に出力されるべきオブジェクトの番号のリストを含むであろう。
図7Dは、アクティブオブジェクトグループリスト内で最も高い優先度を有する完成されたオブジェクトグループ(この場合は、オブジェクトグループタイプ2である)のデータが出力リストへ転送される場合を示している。オブジェクト4から7をカバーするオブジェクトグループタイプ2が出力リストへ一旦転送されると、アクティブオブジェクトグループリストが未完成のオブジェクトグループのために再度スキャンされる。図7Eを参照すると、オブジェクトタイプ1に関連する検出スキームは"常に形成(Always Formed)"のフラグセットを有するので、オブジェクト4はオブジェクトグループ1のオブジェクトリストから削除される。そして、オブジェクト1から3をカバーするオブジェクトグループタイプ1が、出力リストへ転送される。
全てのオブジェクトが一度出力リストへ移動されると、オブジェクトグループマネージングモジュール410は、フラッシュ機能の呼び出しを開始し、オブジェクトグループと単一オブジェクトの出力を行う。出力リストと連携して、オブジェクトグループマネージングモジュール410はリストの最後のアイテムから最初のアイテムへ向かって動作する。これは、リストの最後のアイテムがオブジェクトグループマネージングモジュール410を通過する最初のオブジェクトであったためであり、それ故に出力リストは出力タスクのスタックとなる。出力リストの後ろから処理するので、オブジェクトグループマネージングモジュール410は、オブジェクトグループタイプ1からスタートし、オブジェクトグループタイプ2、単一オブジェクト8、最後にオブジェクトグループタイプ4の順となる。以上により、図7Aから図7Eまでに示す例が完結する。
上述のように、グラフィックレンダリングシステム400は、既存の検出スキームとは独立に、グラフィックレンダリングシステム400内における通信の複雑性を増加させることなく、新しい検出スキームを導入できるという利点を有することが理解される。特に、オブジェクトグループマネージングモジュール410は、グラフィックオブジェクト、検出スキーム及びそれらの優先度のマネージメントを通じたスキーム間の複雑な通信の必要性を排除して、優先度ベースのオブジェクトグループ検出スキームを効果的に実施するための基礎を提供するものである。
上述した構成は、コンピュータグラフィックス及び印刷業界に適用可能なものであることは明らかである。
上述の内容は本発明のいくつかの実施形態に過ぎず、それらに対する修正及び/若しくは変更は本発明の範囲及び精神から逸脱することなく行うことが可能であり、実施形態は単に例示的なものであって、限定的な意味を有するものではない。
多目的のコンピュータシステムの構成の一例を示す図である。 コンピュータシステムの出力装置にオブジェクトをレンダリングする際に利用されるコンピュータシステムのモジュールの一例を示す図である。 複数の検出スキームを含むグラフィックレンダリングシステムの一例を示す図である。 本発明に対応するグラフィックレンダリングシステムの好適な実施形態を示す図である。 オブジェクトグループマネジングモジュールにより実行される処理のフローチャートである。 オブジェクトグループマネジングモジュールにより実行される処理のフローチャートである。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 グラフィックレンダリングシステムの処理の一例を示す図である。 アクティブなオブジェクトグループリストから出力リストへのデータの転送の一例を示す図である。 アクティブなオブジェクトグループリストから出力リストへのデータの転送の一例を示す図である。 アクティブなオブジェクトグループリストから出力リストへのデータの転送の一例を示す図である。 アクティブなオブジェクトグループリストから出力リストへのデータの転送の一例を示す図である。 アクティブなオブジェクトグループリストから出力リストへのデータの転送の一例を示す図である。

Claims (14)

  1. オブジェクトグループを、複数の受信したオブジェクトから形成するための方法であって、
    前記受信したオブジェクトを記述するデータを少なくとも一つの検出スキームへ送信する工程であって、各検出スキームは、優先度と関連づけられたオブジェクトグループタイプとを有し、前記受信したオブジェクトが前記関連づけられたオブジェクトグループタイプのオブジェクトグループの一部を形成するかどうかを検出するように動作する工程と、
    前記少なくとも一つの検出スキームから、前記受信したオブジェクトが前記オブジェクトグループの一部を形成するかどうかの通知を受信する工程と、
    1以上の前記オブジェクトグループが、完全に形成されたかどうかを決定する工程であって、少なくとも部分的に形成されたオブジェクトグループがリストを形成する工程と、
    完全に形成されたオブジェクトグループを前記優先度に基づいてレンダリングのために出力する工程と
    を、前記受信したオブジェクトのそれぞれについて備えることを特徴とする方法。
  2. 前記完全に形成されたオブジェクトグループが、最も優先度の高い前記検出スキームと関連づけられたタイプの前記リスト内のオブジェクトグループである場合に、前記出力工程では前記完全に形成されたオブジェクトグループが出力されることを特徴とする請求項1に記載の方法。
  3. 前記受信したオブジェクトは、関連するオブジェクトグループタイプを有する検出スキームへ送信され、前記受信したオブジェクトは、前記関連づけられたオブジェクトグループタイプのオブジェクトグループの潜在的な構成要素であり、前記検出スキームは前記リスト内のオブジェクトグループを有することを特徴とする請求項1に記載の方法。
  4. 前記オブジェクトグループの部分を形成しない受信したオブジェクトをレンダリングのために出力する工程をさらに備えることを特徴とする請求項1に記載の方法。
  5. 前記完全に形成されたオブジェクトグループのオブジェクトが少なくとも1つ出力されている場合に、出力されていない1以上のオブジェクトグループの部分を形成する以前に受信したオブジェクトをレンダリングするために出力する工程をさらに備えることを特徴とする請求項1に記載の方法。
  6. 前記以前に受信したオブジェクトが部分を形成するオブジェクトグループのタイプと関連づけられた検出スキームの属性に応じて、(i)個別に又は(ii)グループとしてレンダリングするために前記以前に受信したオブジェクトが出力されることを特徴とする請求項5に記載の方法。
  7. 複数の受信オブジェクトからオブジェクトグループを形成するグラフィックレンダリングシステムであって、
    複数の検出スキームであって、各検出スキームが優先度及び関連づけられたオブジェクトグループタイプを有し、前記関連づけられたオブジェクトグループタイプのオブジェクトグループの部分を形成するオブジェクトであるかを検出するように動作する複数の検出スキームと、
    受信したオブジェクトを記述するデータを少なくとも一つの検出スキームへ送信し、前記少なくとも一つの検出スキームから、前記受信されたオブジェクトが前記オブジェクトグループの一部を形成するかどうかの通知を受信し、少なくとも部分的に形成されたオブジェクトグループがリストを形成する場合に1以上の前記オブジェクトグループが完全に形成されたかどうかを決定し、前記優先度に基づいて完全に形成されたオブジェクトグループをレンダリングモジュールへ送信するためのマネージングモジュールと
    を備えることを特徴とするグラフィックレンダリングシステム。
  8. 前記完全に形成されたオブジェクトグループが、最も優先度の高い前記検出スキームと関連づけられたタイプの前記リスト内のオブジェクトグループである場合に、前記マネージングモジュールは、前記完全に形成されたオブジェクトグループを前記レンダリングモジュールへ送信することを特徴とする請求項7に記載のグラフィックレンダリングシステム。
  9. 前記受信したオブジェクトが、関連するオブジェクトグループタイプを有する検出スキームへ送信され、前記受信したオブジェクトが、前記関連づけられたオブジェクトグループタイプのオブジェクトグループの潜在的なメンバーであり、検出スキームが前記リスト内のオブジェクトグループを有することを特徴とする請求項7に記載のグラフィックレンダリングシステム。
  10. 前記マネージングモジュールはさらに、前記オブジェクトグループの部分を形成しない受信したオブジェクトを前記レンダリングモジュールへ送信することを特徴とする請求項7に記載のグラフィックレンダリングシステム。
  11. 前記マネージングモジュールは、以前に受信したオブジェクトを前記レンダリングモジュールへ送信し、前記以前に受信したオブジェクトはレンダリングされていない1以上のオブジェクトグループの部分を形成し、前記完全に形成されたオブジェクトグループの少なくとも1つはレンダリングされていることを特徴とする請求項7に記載のグラフィックレンダリングシステム。
  12. 前記以前に受信したオブジェクトが一部を形成するオブジェクトグループのタイプと関連づけられた検出スキームの属性に応じて、前記以前に受信されたオブジェクトは(i)個別に又は(ii)グループとして前記レンダリングモジュールへ送信されることを特徴とする請求項11に記載のグラフィックレンダリングシステム。
  13. オブジェクトグループを、複数の受信したオブジェクトから形成するためのコンピュータプログラムを記録したコンピュータで読み取り可能な記録媒体を含むコンピュータプログラム製品であって、前記コンピュータプログラムは、
    前記受信したオブジェクトを記述するデータを少なくとも一つの検出スキームへ送信するコードであって、各検出スキームは、優先度と、関連づけられたオブジェクトグループタイプとを有し、前記受信したオブジェクトが、前記関連づけられたオブジェクトグループタイプのオブジェクトグループの一部を形成するかどうかを検出するように動作するコードと、
    前記少なくとも一つの検出スキームから、前記受信したオブジェクトが前記オブジェクトグループの一部を形成するかどうかの通知を受信するコードと、
    1以上の前記オブジェクトグループが、完全に形成されたかどうかを決定するコードであって、少なくとも部分的に形成されたオブジェクトグループはリストを形成するコードと、
    完全に形成されたオブジェクトグループを前記優先度に基づいてレンダリングのために出力するコードと
    を、受信したオブジェクトのそれぞれについて備えることを特徴とするコンピュータプログラム製品。
  14. 前記完全に形成されたオブジェクトグループが、最も優先度の高い前記検出スキームと関連づけられたタイプの前記リスト内のオブジェクトグループである場合に、前記出力するコードは、前記完全に形成されたオブジェクトグループを出力することを特徴とする請求項13に記載のコンピュータプログラム製品。
JP2004096967A 2003-03-27 2004-03-29 グラフィカルオブジェクトグループマネージメントシステム Expired - Fee Related JP3970256B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
AU2003901416A AU2003901416A0 (en) 2003-03-27 2003-03-27 Graphical object group management system

Publications (3)

Publication Number Publication Date
JP2004295900A true JP2004295900A (ja) 2004-10-21
JP2004295900A5 JP2004295900A5 (ja) 2006-12-28
JP3970256B2 JP3970256B2 (ja) 2007-09-05

Family

ID=31500459

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004096967A Expired - Fee Related JP3970256B2 (ja) 2003-03-27 2004-03-29 グラフィカルオブジェクトグループマネージメントシステム

Country Status (3)

Country Link
US (1) US7274379B2 (ja)
JP (1) JP3970256B2 (ja)
AU (1) AU2003901416A0 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009002555A3 (en) * 2007-06-27 2009-02-26 Hewlett Packard Development Co Arranging graphic objects on a page with relative area based control

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7755629B2 (en) * 2004-06-30 2010-07-13 Canon Kabushiki Kaisha Method of rendering graphic objects
JP5079480B2 (ja) * 2007-12-07 2012-11-21 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4737980A (en) * 1985-07-19 1988-04-12 Amtelco Computer data entry method and apparatus
US4965742A (en) * 1987-09-30 1990-10-23 E. I. Du Pont De Nemours And Company Process control system with on-line reconfigurable modules
US5345587A (en) * 1988-09-14 1994-09-06 Digital Equipment Corporation Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
JPH05135025A (ja) 1991-11-14 1993-06-01 Matsushita Electric Ind Co Ltd 文書編集装置
US5748946A (en) * 1995-02-17 1998-05-05 International Business Machines Corporation Method and apparatus for improved graphics picking using auxiliary buffer information
US5600768A (en) * 1995-06-06 1997-02-04 Apple Computer, Inc. Image generation with dynamically consolidated list of image data
US6343309B1 (en) * 1996-09-30 2002-01-29 International Business Machines Corporaton Method and apparatus for parallelizing a graphics pipeline
US6320667B1 (en) * 1996-12-27 2001-11-20 Canon Kabushiki Kaisha Information processing apparatus and method for transmitting printing information, and recording medium readable by a computer storing a program for transmitting printing information
GB9800900D0 (en) * 1998-01-17 1998-03-11 Philips Electronics Nv Graphic image generation and coding
JP2000112693A (ja) 1998-10-09 2000-04-21 Canon Inc データ処理装置およびデータ処理装置のデータ処理方法および印刷制御装置および印刷制御装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
US6809731B2 (en) * 2002-01-08 2004-10-26 Evans & Sutherland Computer Corporation System and method for rendering high-resolution critical items
AU2002952382A0 (en) * 2002-10-30 2002-11-14 Canon Kabushiki Kaisha Method of Background Colour Removal for Porter and Duff Compositing
US7145578B2 (en) * 2004-03-18 2006-12-05 Canon Kabushiki Kaisha Scalable object recognition architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009002555A3 (en) * 2007-06-27 2009-02-26 Hewlett Packard Development Co Arranging graphic objects on a page with relative area based control
JP2010532042A (ja) * 2007-06-27 2010-09-30 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. 相対エリア・ベースの制御を用いてのページ上のグラフィック・オブジェクトの配置

Also Published As

Publication number Publication date
AU2003901416A0 (en) 2003-04-10
US20040207651A1 (en) 2004-10-21
US7274379B2 (en) 2007-09-25
JP3970256B2 (ja) 2007-09-05

Similar Documents

Publication Publication Date Title
US5781711A (en) Document server for processing a distribution job in a document processing system
US6879409B2 (en) Printing method and apparatus having multiple raster image processors
US7466441B2 (en) Apparatus and methods for distributing print jobs
US5761396A (en) Document server for processing a distribution job in a document processing system
US6825943B1 (en) Method and apparatus to permit efficient multiple parallel image processing of large jobs
US5627658A (en) Automatic networked facsimile queuing system
US5920685A (en) Printing machine with merging/annotating/signaturizing capability
JPH0646244A (ja) フォームまたはシートの自動生成におけるフォームからの画像の使用法
JPH11259262A (ja) 資源制限型クライアント・システムのためにローカル印刷動作を行う方法、計算機ネットワーク、印刷レンダリング・サーバ、資源制限型クライアント・システム、プログラム製品
JP2008276407A (ja) 画像処理装置及びその方法
JPH09198211A (ja) 画像処理システム
JP3970256B2 (ja) グラフィカルオブジェクトグループマネージメントシステム
US7710602B2 (en) Systems and methods for context-based adaptive image processing using segmentation
JP2007152623A (ja) 描画制御装置、描画制御方法、記憶媒体およびプログラム
AU2004201227B2 (en) Graphical Object Group Management System
JP2001222396A (ja) プリンタコントローラ及びプリンタ言語切替方法
US7145578B2 (en) Scalable object recognition architecture
JP3740179B2 (ja) 画像表示制御装置とその方法および画像表示制御システム
JP2003280850A (ja) 高速印刷装置及びそれによる高速印刷方法
JPH11191055A (ja) 印刷システムおよび印刷システムのデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP3997808B2 (ja) 描画処理装置および描画処理方法
JP2004030386A (ja) 画像処理方法および画像処理装置
JP2003274110A (ja) 画像処理システム、画像処理方法および画像処理プログラム
CN101582017A (zh) 用于对可变位置的数据进行数据提取的机制
JP3039136B2 (ja) マルチウインドウ通信方法および通信装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070425

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: 20070521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070605

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: 20110615

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees