説明

グラフィックオブジェクト処理方法

【課題】 辺処理、アクティブ・オブジェクト決定、スパン内画素値決定および最終画素値決定の各専用ハードウェアのパイプライン接続によって構成されたレンダリング装置において、任意のモジュールまたは機能への処理集中によるパイプラインストールが引き起こす処理速度の低下を緩和する。
【解決手段】 パイプラインを構成するそれぞれのモジュールによるバスアクセス時の調停アルゴリズムを前期各モジュール間の負荷関係に応じて変更することにより、ストールを回避または軽減するか、またはストールの影響を軽減させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、オブジェクト・グラフィック要素のラスタ画素画像へのレンダリング装置に関し、具体的には、レンダリング処理の一部としての画素データのフレーム記憶装置またはライン記憶装置を使用しない、そのようなオブジェクト・グラフィック要素の画素画像データへの効率的なレンダリングを行うレンダリング装置に関する。
【背景技術】
【0002】
ほとんどのオブジェクト・ベース・グラフィックス・システムでは、ページまたは画面の画素ベース画像を保持するためにフレーム・ストアまたはページ・バッファが使用される。通常、グラフィック・オブジェクトの輪郭は、計算され、塗り潰され、フレーム・ストアに書き込まれる。二次元グラフィックスの場合、他のオブジェクトの手前にあるオブジェクトは、単純に背景オブジェクトの書込み後にフレーム・ストアに書き込まれ、これによって、画素単位で背景を置換する。これは、当技術分野では、「ペインタのアルゴリズム(Painter’s algorithm)」として一般に知られている。オブジェクトは、最も奥のオブジェクトから最も手前のオブジェクトという優先順位で検討され、通常は、各オブジェクトが、スキャン・ラインの順序でラスタ化され、画素が、各スキャン・ラインに沿ったシーケンシャルな並びでフレーム・ストアに書き込まれる。
【0003】
この技法には、基本的に2つの問題がある。第1の問題は、フレーム・ストア内のすべての画素への高速なランダム・アクセスが必要であることである。これは、新たに検討されるオブジェクトのそれぞれが、フレーム・ストア内のどの画素にも影響する可能性があるからである。このため、フレーム・ストアは、通常は半導体のランダム・アクセス・メモリ(RAM)内に保持される。高解像度カラー・プリンタの場合、必要なRAMの量は非常に多くなり、通常は100Mバイトを超えるが、これは、コストがかかり、高速での動作が困難である。第2の問題は、多数の画素がペイント(レンダリング)され、時間的に後のオブジェクトによって上塗り(再レンダリング)されることである。時間的に前のオブジェクトによる画素のペイントは、時間の浪費になる。
【0004】
大量のフレーム・ストアの問題を克服するための方法の1つが、「バンディング(banding)」の使用である。バンディングを使用する時には、一時にフレーム・ストアの一部だけがメモリ内に存在する。描画されるオブジェクトのすべてが、「表示リスト・ストア」に保存される。画像全体は上記と同様にレンダリングされるが、存在するフレーム・ストアの部分の外側をペイント(レンダリング)しようとする画素ペイント(レンダリング)動作は、「クリップ」アウトされる。オブジェクトのすべてが描画された後に、フレーム・ストアの部分を、プリンタ(または他の位置)に送り、フレーム・ストアの別の部分を選択し、この処理を繰り返す。この技法には、ペナルティが伴う。たとえば、描画されるオブジェクトは検討され、何度も(バンドごとに1回)再検討されなければならない。バンドの数が増えるにつれて、レンダリングが必要なオブジェクトの検査が繰り返されるし回数も増える。バンディングの技法は、上塗りのコストという問題を解決しない。
【0005】
いくつかの他のグラフィック・システムでは、スキャン・ラインの順で画像が検討される。やはり、描画されるオブジェクトのすべてが、表示リスト・ストアに保存される。各スキャン・ライン上で、そのスキャン・ラインと交差するオブジェクトが優先順位の順でオブジェクトごとに検討され、オブジェクトの辺の交差点の間の画素のスパンが、ライン・ストアにセットされる。この技法も、大量のフレーム・ストアの問題を克服するが、やはり上塗りの問題をこうむる。
【0006】
これらのほかに、大きいフレーム・ストアの問題と上塗りの問題の両方を解決する技法がある。そのような技法の1つでは、各スキャン・ラインが順番に作られる。やはり、描画されるオブジェクトのすべてが、表示リスト・ストアに保存される。各スキャン・ラインでは、そのスキャン・ラインと交差するオブジェクトの辺が、スキャン・ラインとの交差の座標の昇順で保持される。これらの交差の点または辺の交点が、順番に検討され、アクティブ・フラグの配列のトグルに使用される。そのスキャン・ライン上での対象となるオブジェクト優先順位ごとに1つのアクティブ・フラグがある。検討される辺の対のそれぞれの間で、最初の辺と次の辺の間にある各画素の色データが、アクティブ・フラグに対する優先順位エンコーダを使用して、どの優先順位が最も上にあるかを判定すること、および2つの辺の間のスパンの画素に関するその優先順位に関連する色を使用することによって生成される。次のスキャン・ラインに備えて、各辺の交差の座標が、各辺の性質に応じて更新される。この更新の結果として誤ってソートされた状態になった隣接する辺は、交換される。新しい辺も、辺のリストに合併される。
【0007】
この技法は、フレーム・ストアまたはライン・ストアがなく、上塗りがなく、位数N倍(このNは優先順位の数)ではなく定数位数の時間でオブジェクト優先順位が処理されるという大きい長所を有する。ただし、この技法は既存のグラフィック記述言語が必要とする多数の機能を実施できないので、その使用が極度に制限されている。
【0008】
この技法に伴う1つ又は複数の欠陥を、実質的に克服するか、少なくとも改善する技法が提案されている(例えば、特許文献1参照)。
【0009】
この技法においても各スキャン・ラインが順番に作られる。まず描画される全てのオブジェクトが、それぞれのオブジェクトの描画が開始されるスキャン・ライン順にソートされて表示リスト・ストアに保存される。各スキャン・ラインでは、そのスキャン・ラインと交差するオブジェクトの辺が交差座標の昇順に保持され、これら辺交差の隣接する対のそれぞれについて、対応するオブジェクトに関連する情報を検査して、辺交差の対応する対の間の画素位置のスパンに関するアクティブ・オブジェクトの組を決定し、画素位置のスパンのそれぞれについて、アクティブ・オブジェクトの対応する組を使用して、スパン内の位置のそれぞれの値を決定する。
【特許文献1】特開2000−149035号公報
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、前述の技術を実施するにあたっては辺処理、アクティブ・オブジェクトの決定、スパン内の画素値の決定および複数アクティブ・オブジェクトの画素値から唯一の画素値の決定のそれぞれを専用ハードウェアによって実現し、それらのハードウェア接続してパイプラインを構成することによって実現するか、または全処理をソフトウェアによってホスト上に実現していた。この場合、ハードウェアによる実装においては、与えられた画素シーケンシャル・レンダリング装置のハードウェアによってある画像を描画する場合に、画像の特徴によっては任意のモジュールまたは機能に処理が集中し、パイプラインストールが発生し、処理速度が律速する可能性があった。
【0011】
本発明は前述のような問題点を解決するためになされたものであり、その目的は描画処理において負荷が集中する機能の処理をハードウェアとソフトウェアとで並列に処理することによりストールを回避または軽減し、より高速な画素シーケンシャル・レンダリング装置を提供することである。
【課題を解決するための手段】
【0012】
上記課題を解決するために、請求項1記載の発明に係るグラフィックオブジェクト処理方法では、ラスター画素イメージを形成するべくグラフィックオブジェクトの表示リストを処理する方法において、前記表示リストを解析し前記表示リストにフラグを付加する手段と、表示リストに付加されたフラグを判定する手段と、前記判定の結果フラグが立っていない場合に前記表ジリスとに対する処理を実行する第一の処理手段と、前記判定の結果フラグが立っている場合は前記第一の処理手段と同等の手段を実行する第二の処理手段とを有することを特徴とする。
【0013】
請求項2記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップがソフトウェアによって実行されることを特徴とする。
【0014】
請求項3記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段はハードウェアであり、第二の処理手段はプロセッサと前記プロセッサで実行可能なソフトウェアであることを特徴とする。
【0015】
請求項4記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特に表示リストと第一の処理手段の構成を解析してフラグを付加することを特徴とする。
【0016】
請求項5記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストはグラフィックオブジェクトのプロパティ情報と前記グラフィックオブジェクトのプロパティ情報に対する処理を規定する命令ストリームとから構成されることを特徴とする。
【0017】
請求項6記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特にグラフィックオブジェクトのプロパティ情報を解析することを特徴とする。
【0018】
請求項7記載の発明に係るグラフィックオブジェクト処理方法では、さらに、フラグを付加する手段は特に命令ストリームを解析することを特徴とする。
【0019】
請求項8記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意の命令に対してフラグを設定することを特徴とする。
【0020】
請求項9記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意のグラフィックオブジェクトのプロパティ情報に対してフラグを設定することを特徴とする。
【0021】
請求項10記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は表示リストを読み込む手段と、表示リストに設定されたフラグのon/offを判定する手段と、第二の処理手段に前記フラグに関連する表示リストのレコードを転送する手段とを有しており、第二の処理手段は第一の処理手段から前記表示リストのレコードを受信する手段を有することを特徴とする。
【0022】
請求項11記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段はさらに複数の処理手段によって構成されることを特徴とする。
【0023】
請求項12記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は複数の処理手段がパイプライン接続されることにより構成されることを特徴とする。
【0024】
請求項13記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段は表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とする。
【0025】
請求項14記載の発明に係るグラフィックオブジェクト処理方法では、さらに、内部コマンドはフラグのために予約されたフィールドを有することを特徴とする。
【0026】
請求項15記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とする。
【0027】
請求項16記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段を構成する複数の処理手段のうちの少なくとも一つは内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有しており、第二の処理手段は第一の処理手段から内部コマンドを受信する手段と、第一の処理手段から受信したコマンドに対する処理を実行する手段を有することを特徴とする。
【0028】
請求項17記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第一の処理手段を構成する複数の処理手段のうち内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有する処理手段は、さらに第二の処理手段から前記内部コマンドに対する応答を受信する手段を有しており、第二の処理手段は前記内部コマンドに対する処理実行後に前記処理に対する応答を発行する手段を有することを特徴とする。
【0029】
請求項18記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は表示リストを読み込み第一の処理手段および第二の処理手段の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とする。
【0030】
請求項19記載の発明に係るグラフィックオブジェクト処理方法では、さらに、内部コマンドはフラグのために予約されたフィールドを有することを特徴とする。
【0031】
請求項20記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストを読み込み第一の処理手段および第二の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とする。
【0032】
請求項21記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて第二の処理手段自身に処理を割当てる手段と、内部コマンドの種類に応じて第一の処理手段を構成する処理手段のうちの任意の処理手段を選択する手段と、前記フラグに応じて第一の処理手段の前記選択された処理手段に処理を割当てる手段と、第一の処理手段の前記選択された処理手段に前記内部コマンドを転送する手段とを有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から内部コマンドを受信する手段を有することを特徴とする。
【0033】
請求項22記載の発明に係るグラフィックオブジェクト処理方法では、さらに、第二の処理手段は自身に割当てた内部コマンドに対する処理を実行後に第一の処理手段の前記選択された処理手段に内部コマンドに対する処理終了通知を発行する手段を有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から前記内部コマンドに対する処理終了通知を受信する手段を有することを特徴とする。
【0034】
請求項23記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストにフラグを付加する手段は表示リスト内の順序を入れ替えることを特徴とする。
【0035】
請求項24記載の発明に係るグラフィックオブジェクト処理方法では、さらに、表示リストにフラグを付加する手段は命令の順序を入れ替えることを特徴とする。
【発明の効果】
【0036】
以上説明したように本発明に寄れば、表示リスト・ストアをプリスキャンしてハードウェア構成と処理対象の画像の特徴とからボトルネックとなる処理機能を推定して表示リスト・ストア中の任意の命令に対して付加情報を追加し、付加情報付命令に対応する処理をソフトウェア実行することにより、描画処理におけるボトルネック処理をハードウェアとソフトウェアとで並列に実行して描画処理時間を短縮することが可能な画素シーケンシャル・レンダリング装置を提供する。
【発明を実施するための最良の形態】
【0037】
以下で本発明の装置及びその動作について詳細に説明する。
【0038】
図1は、コンピュータ・グラフィック・オブジェクト画像のレンダリングおよびプレゼンテーションのために構成されたコンピュータ・システム10を概略的に示す図である。このシステムには、システム・ランダム・アクセス・メモリ(RAM)12に関連するホスト・プロセッサ11が含まれ、システムRAM12には、不揮発性のハード・ディスク・ドライブまたは類似の装置と、揮発性の半導体RAMを含めることができる。システム10には、システム読取専用メモリ(ROM)13も含まれ、システムROM13は、通常は半導体ROMを基礎とし、多くの場合に、コンパクト・ディスク装置(CD−ROM)によって補足することができる。システム10には、ラスタ式に動作するビデオ表示装置(VDU)またはプリンタなどの、画像を表示するための手段14も組み込むことができる。
【0039】
システム10に関して上で説明した構成要素は、バス・システム15を介して相互接続され、IBM PC/ATタイプのパーソナル・コンピュータおよびそれから発展した構成、Sun Sparcstationsおよび類似物など、当技術分野で周知のコンピュータ・システムの通常動作モードで動作可能である。
【0040】
やはり図1に図示されているように、画素シーケンシャル・レンダリング装置16は、バス15に接続され、システム10からバス15を介して命令およびデータを供給されるグラフィック・オブジェクト・ベースの記述から導出される画素ベースの画像のシーケンシャル・レンダリングのために構成される。画素シーケンシャル・レンダリング装置16は、オブジェクト記述のレンダリングのためにシステムRAM12を使用することができるが、専用のローカルメモリを実装・使用してもよい。
【0041】
図2は基本的な機能データ流れを示す図である。図2の機能流れ図は、オブジェクト・グラフィック記述21から始まる。このオブジェクト・グラフィック記述21は、ホスト・プロセッサ11によって生成されるか、システムRAM12内に記憶されるかシステムROM13によって提供され、グラフィック・オブジェクトのパラメータを記述するのに使用され、そこから画素ベース画像をレンダリングするために、画素シーケンシャル・レンダリング装置16によって解釈され得る。たとえば、オブジェクト・グラフィック記述21には、ディスプレイ上の1点から別の点まで横断する直線の辺(単純ベクトル)または、直交する線を含む複数の辺によって二次元オブジェクトが定義される直交辺フォーマットを含むいくつかのフォーマットで辺を有するオブジェクトを組み込むことができる。これ以外に、連続曲線によってオブジェクトが定義されるフォーマットも、適当であり、これらには、乗算を実行する必要なしに二次曲線を単一の出力空間内でレンダリングできるようにするいくつかのパラメータによって単一の曲線を記述できる二次多項式の線分を含めることができる。三次スプラインや類似物などのそれ以外のデータ・フォーマットを使用することもできる。オブジェクトには、多数の異なる辺タイプの混合物を含めることができる。通常、すべてのフォーマットに共通するのは、それぞれの線(直線であれ曲線であれ)の始点と終点の識別子であり、通常は、これらは、スキャン・ライン番号によって識別され、したがって、その曲線をレンダリングすることのできる特定の出力空間が定義される。
【0042】
レンダリングされるグラフィック・オブジェクトの記述に必要なデータを識別したので、グラフィック・システム10は、表示リスト生成ステップ22を実行する。
【0043】
表示リスト生成22は、取り付けられたROM13およびRAM12を有するホスト・プロセッサ11上で実行されるソフトウェア・モジュールとして実施されることが好ましい。表示リスト生成22では、周知のグラフィック記述言語、グラフィック・ライブラリ呼出しまたは他のアプリケーション固有フォーマットのうちの1つまたは複数で表現されたオブジェクト・グラフィック記述を表示リストに変換する。表示リストは、通常は、表示リスト・ストア23に書き込まれる。表示リスト・ストア23は、一般にRAM12内で形成されるが、その代わりに画素シーケンシャル・レンダリング装置16がローカルに有するメモリ内で形成することもできる。表示リスト・ストア23には、複数の構成要素を含めることができ、その1つは命令ストリームであり、もう1つは辺情報であり、ラスタ画像画素データを含めることができる。
【0044】
命令ストリームには、特定の画像内で所望される特定のグラフィック・オブジェクトをレンダリングするために画素シーケンシャル・レンダリング装置16によって読み取られる、命令として解釈可能なコードが含まれる。
【0045】
表示リスト・ストア23は、画素シーケンシャル・レンダリング装置16によって読み取られる。画素シーケンシャル・レンダリング装置16は、表示リストをラスタ画素のストリームに変換し、このストリームは、たとえばプリンタ、ディスプレイまたはメモリ・ストアなどの別の装置に転送することができる。
【0046】
図3はオブジェクト・グラフィック記述21から得られた表示リストを処理して画素を生成する画素シーケンシャル・レンダリング装置の構成図である。
【0047】
図3の画素シーケンシャル・レンダリング装置は基本構成に対して複数のハードウェアモジュールの追加を選択することによって複数通りの構成をとり得ると共に、基本構成と追加拡張をしたハードウェア構成との機能互換性および異なる追加拡張をしたハードウェア構成相互の機能互換性を保証する仕組を有する。より具体的には、ハードウェア構成の差分を自律的にソフトウェア実行するための仕組を有する。図3においては301〜308が基本構成モジュールであり、310〜313が追加拡張モジュールである。
【0048】
表示リストにはオリジナルのオブジェクト・グラフィック記述に含まれる描画オブジェクトが副走査線方向(y座標)の昇順にソートされて記録されており、その他に各オブジェクトの辺情報は辺テーブルとして、各辺と対応づけられたレベル情報と他のレベルの同一座標の画素との関係(演算方法)がレベルテーブルとして、さらにオブジェクト内部の色を決定するための情報がフィルテーブルとして含まれる。また、オブジェクトの色を決定するための情報としては、色を生成するためのデータや処理が指定されており、ビットマップの読込みや圧縮画像を伸張し、その結果から任意の画素を取り込むことを指定している場合もある。
【0049】
図3において300は画素シーケンシャル・レンダリング装置であり後述する301〜308および310〜313のモジュールから構成されており(そのうち301〜306をパイプラインモジュールと呼ぶものとする)、301はシステムバスにアクセスして該表示リストを読み込み、命令ストリームを解釈して、後述の302〜305からなる後段のパイプラインモジュールに対する内部コマンドを発行する命令実行部であり、302は命令実行部301によって発行された内部コマンドに従って該表示リストに含まれる辺情報を読み取り、走査線単位で描画オブジェクトの辺情報を抽出し、該辺情報を走査線方向(x座標)の昇順にソートした後、後述するパイプライン後段に位置する303のレベル優先度決定部に該辺情報をメッセージとして転送する辺処理部であり、303は命令実行部301によって発行された命令に従って該表示リストに含まれるレベルテーブルと辺処理部302によって生成された該辺情報とを読み込み、各走査線毎に各レベルの優先度と活性化された(描画に影響する)画素範囲を決定し、各走査線の該活性化された画素範囲の情報を優先度順にソートして他のレベルの画素との関係情報とともに画素範囲情報とし、後述するパイプライン後段に位置する304の塗りつぶしデータ決定部に該画素範囲情報を転送するレベル優先度決定部であり、304は命令実行部301によって発行された内部コマンドに従って該表示リストに含まれるフィルテーブルとレベル優先度決定部303によって生成された該画素範囲情報とを読み込み、レベル毎に活性化された画素の色を決定し、後述するパイプライン後段に位置する305の色合成部に該活性化された画素の色情報を303から転送されてきた画素範囲情報とともに転送する塗りつぶしデータ決定部であり、305は命令実行部301によって発行された内部コマンドに従ってレベル優先度決定部303によって生成された各レベルの画素範囲情報と塗りつぶしデータ決定部304によって決定された画素の色情報をもとに画素単位に色を決定する演算を実行し、画素の最終的な色を生成する色合成部であり、
306は色合成部305によって生成された最終画素を接続された外部機器に送出する画素出力部であり、307は該表示リストに前述の辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305に実装されていない機能を要する内部コマンドが命令実行部301によって発行されたときに、該内部コマンドをソフトウェアの介在によって処理する互換性保証部であり、308は辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304、色合成部305および互換性保証部307によるシステムバスへのアクセスに対する調停、順序付けを行いシステムバスへアクセスを中継するバスアクセス調停部である。
【0050】
辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305それぞれに対して拡張部品を追加することが可能であり、かつ塗りつぶしデータ決定部304に対しては画像伸張部310を追加することもでき、画像伸張部310はさらに拡張部品を追加することが可能である。以上のような拡張はシステムに要求される性能およびコストに応じてなされる。
【0051】
310は画素色決定の際に圧縮画像を扱うことを可能にする例えばJPEGをサポートする拡張モジュールであるところの画像伸張部であり、311はPostScriptに対応する拡張モジュールであるところの辺処理拡張部であり、312はGDIに対応する拡張モジュールであるところの辺処理拡張部であり、313はJBIGに対応する拡張モジュールであるところの画像伸張拡張部である。
【0052】
さらに画像伸張部310は自身が対応している伸張処理であれば自ら処理を行い、対応していない処理であれば互換性保証部307へコマンドを発行し、発行したコマンドに対する終了コマンドを受信し、最後に処理の終了通知を塗りつぶしデータ決定部304に発行する。
【0053】
以下、図4のような画像に対応するオブジェクト・グラフィック記述を処理する場合を例に取り、図3の画素シーケンシャル・レンダリング装置の動作の概要を説明する。図4は先ず三角形のオブジェクト41が描かれ(レベル1)、その上に重ねて楕円のオブジェクト42が描かれている(レベル2)描画画面を示している。また、レベル0は例えば画像を印刷する場合の紙に相当する最も視点から遠いデフォルトのレベルを表しており、白などのデフォルトのバックグラウンド色を有するものとする。
【0054】
図3の画素シーケンシャル・レンダリング装置による処理に先立ってオブジェクト・グラフィック記述はソフトウェアによって表示リストに変換される。表示リストは少なくとも以下に示す情報を含む。
(1)y=30からy=140の描画を行う。
(2)y=30からy=140までオブジェクト41の領域開始を示す直線の辺がある。傾きも含む。
(3)y=30からy=140までオブジェクト41の領域終端を示す直線の辺がある。傾きも含む。
(4)y=70からy=115までオブジェクト42の領域開始を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。
(5)y=70からy=115までオブジェクト42の領域終端を示す楕円弧の辺がある。正確には楕円弧は短い直線セグメントに分割され、各セグメントの開始位置と傾きの情報とともに含まれる。
(6)オブジェクト41のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、レベル内でどのように色が決定されるか(フィルタイプ)。
(7)オブジェクト42のレベル(z座標)情報および他のレベルの同一座標の画素との関係(演算)、下位レベル(視点を基準にして遠い側)のオブジェクトの色情報が必要か(即ち透過か不透過か)、レベル内でどのように色が決定されるか(フィルタイプ)。
(8)(2)から(6)へのポインタ情報。
(9)(3)から(6)へのポインタ情報。
(10)(4)から(7)へのポインタ情報。
(11)(5)から(7)へのポインタ情報。
(12)オブジェクト41の色を決定する(フィル)ための情報。
(13)オブジェクト42の色を決定する(フィル)ための情報。
(14)(6)から(12)へのポインタ情報
(15)(7)から(13)へのポインタ情報
(16)辺テーブルアドレス
(17)レベルテーブルアドレス
(18)フィルテーブルアドレス
【0055】
以上のうち(2)、(3)、(4)、(5)、(8)、(9)、(10)および(11)は辺テーブルに含まれ、(6)、(7)、(12)および(13)はレベルテーブルに含まれ、(14)および(15)はフィルテーブルに含まれる。表示リスト・ストアは所定のアドレスを先頭とするメモリ領域に格納される。
【0056】
画素シーケンシャル・レンダリング装置300が起動指示を受け付けると、命令実行部301は所定のアドレスから表示リストを読み込む。処理開始および描画領域がパイプライン下流の各モジュールに内部コマンドによって通知され、さらに辺処理部302には辺テーブルアドレス(16)が内部コマンドによって通知され、レベル優先度決定部303にはレベルテーブルアドレス(17)が内部コマンドによって通知され、塗りつぶしデータ決定部304にはフィルテーブルアドレス(18)が内部コマンドによって通知される。この時点でパイプラインの各モジュール、即ち辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305はパイプライン上流に位置するモジュールから所定の内部コマンドが転送されてくるまで待機状態となる。次に命令実行部301は辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305に対して描画開始コマンドを発行する。
【0057】
辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305ではy=0からy=30までは必要であればデフォルト(バックグラウンド色)画素を生成する。この間辺処理部302およびレベル優先度決定部303ではy=30からの処理を開始しており、塗りつぶしデータ決定部304ではy=0からy=30の領域の処理として、デフォルト即ちバックグラウンドのレベルに対して走査線方向の全画素にバックグラウンド色を生成し、該バックグラウンド色を有する画素が色合成部305を通り(画素間演算処理されずに)最終画素として画素出力部306を介して出力される。
【0058】
辺処理部302ではy=30までスキップし、y=30からオブジェクト41に属する2つの辺が発生することを検出し、辺テーブルに該2つの辺を登録して追跡を開始する。該2つの辺は同一オブジェクトに属するため既にxオーダーでソートされた状態であり、そのままレベル優先度決定部303に内部コマンドで通知される。
【0059】
レベル優先度決定部303は該2つの辺間でレベル1を活性状態にして、レベルテーブルからレベル1の属性を読み込み、内部コマンドを発行して2つの辺のx座標とレベル1の属性を塗りつぶしデータ決定部304に通知する。
【0060】
塗りつぶしデータ決定部304はレベル1の属性に従ってフィルテーブルを検索し、フィルテーブルの情報とレベル属性に従って該2つの辺間の画素の色を決定し、各画素を色合成部305に通知する。また該2つの辺間にない領域に対してはy=0からy=30までと同様にデフォルト色を生成して色合成部305に通知する。
【0061】
色合成部305では複数レベル間の画素の演算処理が必要ないため、塗りつぶしデータ決定部304から受信した画素をそのまま最終画素として出力する。
【0062】
辺処理部302はy=70から楕円のオブジェクトに属する2つの辺の追跡を開始する。ここでは後から加わった2つの辺は三角形オブジェクト41の辺よりもxが大きな座標に位置しているため、辺のソートを行う必要はない。また2つのオブジェクト41と42は重なっていないため、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305はy=30からy=69までとほぼ同様に動作する。
【0063】
三角形オブジェクト41の辺と楕円オブジェクト42の辺が交差したあとの走査線では辺情報のソートが必要となる。またオブジェクトが重なりを持つため、同一画素に対して複数のレベルが活性状態になり、画素を決定するための演算が行われるようになる。この様子をy=85の走査線に対する処理を例に挙げて説明する。
【0064】
辺処理部302は辺を追跡していく過程で、辺の交差を監視しており、一度交差するとそれ以降は交差した後の順序に従って追跡を続けるものとする。従ってy=85では既に三角形オブジェクト41の辺と楕円オブジェクト42の辺は交差しており、辺のx座標はx0、x1、x2およびx3の順に更新され、レベル優先度決定部303に通知される。
【0065】
レベル優先度決定部303は楕円オブジェクト42の透過率が0でなければ、x0からx1ではレベル1のみを活性状態にし、x1からx2ではレベル1とレベル2を活性状態にし、x2からx3ではレベル2のみを活性状態にする。また、楕円オブジェクト42の透過率が0であれば、x0からx1ではレベル1のみを活性状態にし、x1からx3ではレベル2のみを活性状態にする。以降は楕円オブジェクト42の透過率が0でない場合について説明を続ける。活性状態となっているレベルと両端の辺情報は塗りつぶしデータ決定部304に通知される。
【0066】
塗りつぶしデータ決定部304はx=0からx=x0まではデフォルトレベルのデフォルト色を生成し、x0からx1まではレベル1の属性に従ってレベル1の画素の色を生成し、x1からx2まではレベル1の属性に従ってレベル1の画素の色を生成すると共に、レベル2の属性に従ってレベル2の画素の色を生成し、x2からx3まではレベル2の属性に従ってレベル2の画素の色を生成し、x3から描画サイズの右端までの画素に対してはデフォルトレベルのデフォルト色を生成し、画素オーダーで色合成部305に転送する。
【0067】
色合成部305はx=0からx1の間は塗りつぶしデータ決定部304より受け取った画素色をそのまま出力し、x1からx2に対してはレベル1の色に対してレベル2の色をレベルテーブルに記された所定のオペレーションを適用して重ねあわせることにより最終的な画素の色を出力し、x2から描画サイズ右端までの画素に対しては再び塗りつぶしデータ決定部304より受け取った画素色をそのまま出力する。ただし、以上の処理においてデフォルト色に対しては何もしない場合もあり得る。
【0068】
以上のような処理がパイプライン的に実行される。即ち、命令実行部301、辺処理部302、レベル優先度決定部303、塗りつぶしデータ決定部304および色合成部305の各モジュールは、自分の処理が終了すると次の処理を実行するモジュールに内部コマンドを発行して処理を依頼し、次の処理が可能になると前の処理を実行するモジュールからの内部コマンドを受け付ける状態になる。内部で処理を実行しているか、バッファがフルとなり新たな処理を受け付けられない場合は、前の処理を実行するモジュールとのパスを通じてビジー状態を通知し、処理を受け付けないことを通知する。ビジー状態を通知されたモジュールは内部コマンドを後の処理を実行するモジュールに転送することはできず、ストールが発生する。
【0069】
以上の説明では、図3に示す基本構成のハードウェアが対応している機能のみが要求される画像を処理する場合について述べてきた。例えば、辺処理部302がOpenPageにのみ対応しているとすれば、OpenPageの描画情報に基づいて生成された表示リスト・ストアが処理されていた。ここで、例えばPostScriptの描画情報に基いて生成された表示リスト・ストアが指定された場合には、ハードウェア即ち辺処理部302では正しく処理することができないため、互換性保証部307に内部コマンドが転送される。互換性保証部307はシステムバスを介して接続されている図示されていないシステムメモリに格納されているハードウェアが対応していない内部コマンドの処理ルーチンのセットから適切なルーチンを読み出して該内部コマンドに対する処理を実行し、実行結果をシステムメモリか内部コマンド転送元のモジュールに転送し、処理の終了を内部コマンド転送元モジュールに通知する。内部コマンド転送元のモジュールは該処理の終了の通知を受けると、あたかも自分が処理したように後の処理を実行するモジュールに対して内部コマンドを発行して処理を継続させる。以上のように必ずしもハードウェアが全ての描画機能をサポートしていなくても、任意の表示リスト・ストアを処理することが可能となっている。
【0070】
ここで、図5に示すように、同一走査線を始点として描かれた複数のオブジェクト51〜55が描かれており、かつ各オブジェクトのフィルがJPEG画像で行われる場合、該走査線(図5において点線で示される)の処理において、各オブジェクトの画素毎のフィル情報を決定するために伸張処理が行われなければならない。しかしながらJPEG伸張処理はハードウェアを用いても数クロックサイクルで処理することは難しいため、図5のような画像を扱う場合には、塗りつぶしデータ決定部304の入力がビジーとなりパイプラインがストールする可能性が高い。51〜55の全画像に対する伸張を同一ハードウェアで逐次実行するよりも、例えば55の伸張処理だけはソフトウェアで並列に実行した方が高速に処理できる場合もある。このような判断は画素シーケンシャル・レンダリング装置のハードウェア構成情報と入力画像データとからある程度解析または推測可能である。
【0071】
このときの機能の流れを図6に示す。さらにプリスキャンの流れの詳細を図7に示し、命令実行部301の処理の流れを図8に示し、画像伸張部310の処理の流れを図9に示し、表示リスト、コマンド、メモリ間の参照関係を図10に示す。また、表示リストの命令ストリームの各命令および画素シーケンシャル・レンダリング装置の内部コマンドには少なくとも1−bitのフラグフィールドが予約され、かつフラグは立っていない状態に初期化されるよう拡張されているものとする。
【0072】
ハードウェアとソフトウェアによる並列実行に対応するために、コンピュータシステム10はさらに、表示リストをプリスキャンし同一走査線上で開始され、かつ伸張処理を要するオブジェクトを抽出し、該オブジェクトのフィル情報の伸張命令に対してソフトウェアで伸張することを指示するフラグを付加する手段と(図6の61および図7)、命令実行部301においては、該フラグが付加された伸張命令を読み取った場合に同等の意味のフラグを付加した画像伸張のための内部コマンドをパイプラインモジュールに出力する手段と(図8)、画像伸張部310においては、該フラグが付加された画像伸張コマンドを互換性保証部307に転送する手段および該画像伸張コマンドに対する応答を互換性保証部307から受け取る手段と(図9)、互換性保証部307においては、該画像伸張コマンドを処理し応答を画像伸張部310に発行する手段とをさらに有する。
【0073】
表示リストにソフトウェア処理フラグを付加する手順を図7を用いて説明する。先ず画素シーケンシャル・レンダリング装置300のハードウェア構成を記したファイルをシステムRAM12またはシステムROM13からバス15を介して読み込み(71)、表示リスト23をシステムRAM12またはローカルメモリから読み込み(72)、オブジェクトの数や位置関係を抽出し(73)、71および73をもとに負荷が集中しそうな機能を推定し(74)、負荷が集中する機能が発生する場合(75)対象となるオブジェクトとその処理を特定する命令ストリーム中の命令を決定して(76)、ソフトウェア処理フラグを付加し(77)、付加が集中する機能が発生しない場合(75)そのまま終了する。
【0074】
このときの表示リスト23、内部コマンドおよびシステムRAM12の参照関係を図10に示す。表示リスト23には命令ストリーム101と辺情報102と塗りつぶし情報103とを有しているものとする。命令ストリーム中の各命令は処理種別と、処理種別によって辺レコードであるか塗りつぶしレコードであるところの処理対象と、処理のためのパラメータと、ソフトウェア処理フラグとを有する。辺情報は複数のレコードでひとつのグラフィック・オブジェクトを表現するセグメントレコードから構成され、各セグメントレコードは辺情報を生成するために必要な開始(x,y)座標と終端y座標とセグメントの傾きdxと、そのセグメントが属するレベルと、終端座標から連続しかつ同一グラフィック・オブジェクトを表現するセグメントへのポインタと、その他の色、座標を決定するためのアルゴリズムで使用するパラメータとを含む。塗りつぶし情報の各レコードは塗りつぶしタイプと、同一色による塗りつぶしの場合はその色情報と、ビットマップの場合前記ビットマップが格納されているアドレスと、圧縮された画像の場合前記圧縮画像が格納されているアドレスと、伸張後のデータを格納するためのバッファのアドレスと、伸張パラメータなどのプロパティから構成される。例えば図10におけるシステムRAM12にマッピングされた圧縮画像で塗りつぶしを行う場合には、表示リスト23には塗りつぶし情報のレコードとして前記圧縮画像が格納されたアドレスをソースとして与えられており、かつ伸張データ格納アドレスを与えられた塗りつぶしレコードと、前記塗りつぶしレコードと関連付けられたセグメントレコードと、前記塗りつぶしレコードを処理対象とする伸張命令と塗りつぶし命令とが含まれる。これらのデータを元に前記圧縮画像が格納されているアドレスをソースアドレスとして与えられ、前記伸張データを格納するためのバッファの先頭アドレスをデスティネーションアドレスとして与えられた伸張コマンドと、前記伸張データを格納するためのバッファの先頭アドレスをソースアドレスとして与えられた塗りぶつしコマンドを生成することにより、処理対象となるグラフィック・オブジェクトを所望の色で塗りつぶすことが可能となる。伸張命令にソフトウェア処理フラグが設定されている場合には、伸張コマンドのソフトウェア処理フラグ・フィールドにフラグが設定され、前記伸張処理は互換性保証部107に転送され処理される。
【0075】
命令実行部301における処理のソフトウェア処理フラグに関わる動作の流れを図8を用いて説明する。まず、表示リスト23から命令ストリームを読み込み(81)、読み込んだ命令にソフトウェア処理フラグがついていれば(82)ソフトウェア処理フラグ付コマンドを生成し(83)、読み込んだ命令にソフトウェア処理フラグがついていなければ(82)通常コマンドを生成する(84)。
【0076】
画像伸張部310における処理のソフトウェア処理フラグに関わる動作の流れを図9を用いて説明する。ただし受信したコマンドの内容が画像伸張部310がサポートする機能で実現可能なものである場合について述べる。まず画素データ決定部304からコマンドを受信し(91)、通常コマンドであれば(92)自身で処理を行い(93)、ソフトウェア処理フラグ付コマンドであれば(92)互換性保証部307に該コマンドを転送し(94)、互換性保証部からの応答コマンドを受信し(95)、最後に画素データ決定部304に応答コマンドを返す(96)。
【0077】
以上のような機能を追加することにより、該フラグなしの画像伸張コマンドは塗りぶつしデータ決定部304から画像伸張部310に転送されハードウェア処理されると共に、該フラグ付の画像伸張コマンドはさらに互換性保証部307に転送されソフトウェア処理される。該フラグが適当に付加されることにより画像伸張処理がハードウェアとソフトウェアとで並列に実行され、全体の処理時間が短縮される。
【0078】
さらに、プリスキャンにおいて、ソフトウェア処理をするようにスケジュールした命令に関しては、ハードウェアによる処理に比べて時間を要することを考慮し、可能な限り早期にコマンドが発行されるように命令の順序を入れ替えることによって、性能を向上させることが可能な場合もあり得る。
【0079】
表示リストに対しソフトウェアによる画像伸張を指示するフラグを付加する手段は、表示リスト生成時に同時に実行することも可能であるが、実質的にはオブジェクトの数および相互の位置関係を抽出可能なレベルにまで処理しなければならないため、このような場合もプリスキャンに含むものとする。
【0080】
画像伸張は他のパイプライン処理と非同期に、ページ描画処理の開始と共に開始してもよい。この場合JPEG画像のオブジェクトが同一走査線で開始されるものでなくてもソフトウェアによる伸張を混在させることも有り得る。
【図面の簡単な説明】
【0081】
【図1】レンダリング・システムの構成図
【図2】レンダリング・システムにおける機能の流れ
【図3】画素シーケンシャル・レンダリング装置の構成図
【図4】描画オブジェクトの例
【図5】描画オブジェクトの例
【図6】レンダリング・システムにおける機能の流れ
【図7】ソフトウェア処理フラグ生成の流れ
【図8】ソフトウェア処理フラグ付コマンド生成の流れ
【図9】ソフトウェア処理フラグ付コマンドによる制御の流れ
【図10】表示リストと内部コマンドとシステムRAMの参照関係
【符号の説明】
【0082】
10 レンダリング・システム
11 CPU
12 RAM
13 ROM
14 画像出力装置
15 バス
16 画素シーケンシャル・レンダリング装置
21 オブジェクト・グラフィック記述
22 表示リスト生成
23 表示リスト・ストア
24 −
25 画素出力
300 画素シーケンシャル・レンダリング装置
301 命令実行部
302 辺処理部
303 優先度決定部
304 画素データ決定部
305 色合成部
306 画素出力部
307 互換性保証部
308 バスアクセス調停部
309 −
310 画像伸張部
311 PostScript対応辺処理拡張部
312 GDI対応辺処理拡張部
313 JBIG対応画像伸張拡張部
41 描画オブジェクト
42 描画オブジェクト
51 JPEG描画オブジェクト
52 JPEG描画オブジェクト
53 JPEG描画オブジェクト
54 JPEG描画オブジェクト
55 JPEG描画オブジェクト
61 プリスキャン
71 ハードウェア構成読込みステップ
72 表示リスト・ストア読込みステップ
73 オブジェクト情報解析ステップ
74 高負荷機能推定ステップ
75 高負荷機能有無判定ステップ
76 高負荷機能・オブジェクト決定ステップ
77 ソフトウェア処理フラグ付加ステップ
81 命令読込みステップ
82 ソフトウェア処理フラグ判定ステップ
83 ソフトウェア処理フラグ付コマンド生成ステップ
84 通常コマンド生成ステップ
91 コマンド受信ステップ
92 ソフトウェア処理フラグ判定ステップ
93 画像伸張処理ステップ
94 互換性保証部へのコマンド転送ステップ
95 補完性保証部からの応答コマンド受信ステップ
96 画像伸張コマンドに対する応答コマンド発行ステップ
101 命令ストリーム
102 辺情報
103 塗りつぶし情報
104 伸張コマンド
105 塗りつぶしコマンド

【特許請求の範囲】
【請求項1】
ラスター画素イメージを形成するべくグラフィックオブジェクトの表示リストを処理する方法において、前記表示リストを解析し前記表示リストにフラグを付加する手段と、表示リストに付加されたフラグを判定する手段と、前記判定の結果フラグが立っていない場合に前記表ジリスとに対する処理を実行する第一の処理手段と、前記判定の結果フラグが立っている場合は前記第一の処理手段と同等の手段を実行する第二の処理手段とを有することを特徴とするグラフィックオブジェクト処理方法。
【請求項2】
請求項1に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加する手段がソフトウェアとして実装されることを特徴とするグラフィックオブジェクト処理方法。
【請求項3】
請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段はハードウェアであり、第二の処理手段はプロセッサと前記プロセッサで実行可能なソフトウェアであることを特徴とするグラフィックオブジェクト処理方法。
【請求項4】
請求項3に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特に表示リストと第一の処理手段の構成を解析してフラグを付加することを特徴とするグラフィックオブジェクト処理方法。
【請求項5】
請求項1に記載のグラフィックオブジェクト処理方法において、表示リストはグラフィックオブジェクトのプロパティ情報と前記グラフィックオブジェクトのプロパティ情報に対する処理を規定する命令ストリームとから構成されることを特徴とするグラフィックオブジェクト処理方法。
【請求項6】
請求項5に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特にグラフィックオブジェクトのプロパティ情報を解析することを特徴とするグラフィックオブジェクト処理方法。
【請求項7】
請求項5に記載のグラフィックオブジェクト処理方法において、フラグを付加する手段は特に命令ストリームを解析することを特徴とするグラフィックオブジェクト処理方法。
【請求項8】
請求項5に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意の命令に対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。
【請求項9】
請求項5に記載のグラフィックオブジェクト処理方法において、表示リストを解析しグラフィックオブジェクトにフラグを付加するステップにおいて、任意のグラフィックオブジェクトのプロパティ情報に対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。
【請求項10】
請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段は表示リストを読み込む手段と、表示リストに設定されたフラグのon/offを判定する手段と、第二の処理手段に前記フラグに関連する表示リストのレコードを転送する手段とを有しており、第二の処理手段は第一の処理手段から前記表示リストのレコードを受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。
【請求項11】
請求項1に記載のグラフィックオブジェクト処理方法において、第一の処理手段はさらに複数の処理手段によって構成されることを特徴とするグラフィックオブジェクト処理方法。
【請求項12】
請求項11に記載のグラフィックオブジェクト処理方法において、第一の処理手段は複数の処理手段がパイプライン接続されることにより構成されることを特徴とするグラフィックオブジェクト処理方法。
【請求項13】
請求項11および請求項12に記載のグラフィックオブジェクト処理方法において、第一の処理手段は表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とするグラフィックオブジェクト処理方法。
【請求項14】
請求項13に記載のグラフィックオブジェクト処理方法において、内部コマンドはフラグのために予約されたフィールドを有することを特徴とするグラフィックオブジェクト処理方法。
【請求項15】
請求項14に記載のグラフィックオブジェクト処理方法において、表示リストを読み込み第一の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。
【請求項16】
請求項15に記載のグラフィックオブジェクト処理方法において、第一の処理手段を構成する複数の処理手段のうちの少なくとも一つは内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有しており、第二の処理手段は第一の処理手段から内部コマンドを受信する手段と、第一の処理手段から受信したコマンドに対する処理を実行する手段を有することを特徴とするグラフィックオブジェクト処理方法。
【請求項17】
請求項16に記載のグラフィックオブジェクト処理方法において、第一の処理手段を構成する複数の処理手段のうち内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて処理手段自身に処理を割当てる手段と、前記フラグに応じて第二の処理手段に処理を割当てる手段と、第二の処理手段に前記内部コマンドを転送する手段とを有する処理手段は、さらに第二の処理手段から前記内部コマンドに対する応答を受信する手段を有しており、第二の処理手段は前記内部コマンドに対する処理実行後に前記処理に対する応答を発行する手段を有することを特徴とするグラフィックオブジェクト処理方法。
【請求項18】
請求項11および請求項12に記載のグラフィックオブジェクト処理方法において、第二の処理手段は表示リストを読み込み第一の処理手段および第二の処理手段の動作を規定する内部コマンドを生成する処理手段を含むことを特徴とするグラフィックオブジェクト処理方法。
【請求項19】
請求項18に記載のグラフィックオブジェクト処理方法において、内部コマンドはフラグのために予約されたフィールドを有することを特徴とするグラフィックオブジェクト処理方法。
【請求項20】
請求項19に記載のグラフィックオブジェクト処理方法において、表示リストを読み込み第一の処理手段および第二の処理手段内の動作を規定する内部コマンドを生成する処理手段は表示リストに含まれるレコードのうち前記フラグが設定されたレコードに関連する内部コマンドに対してフラグを設定することを特徴とするグラフィックオブジェクト処理方法。
【請求項21】
請求項20に記載のグラフィックオブジェクト処理方法において、第二の処理手段は内部コマンドが有するフラグのために予約されたフィールドを読む手段と、前記フラグを判定する手段と、前記フラグに応じて第二の処理手段自身に処理を割当てる手段と、内部コマンドの種類に応じて第一の処理手段を構成する処理手段のうちの任意の処理手段を選択する手段と、前記フラグに応じて第一の処理手段の前記選択された処理手段に処理を割当てる手段と、第一の処理手段の前記選択された処理手段に前記内部コマンドを転送する手段とを有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から内部コマンドを受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。
【請求項22】
請求項21に記載のグラフィックオブジェクト処理方法において、第二の処理手段は自身に割当てた内部コマンドに対する処理を実行後に第一の処理手段の前記選択された処理手段に内部コマンドに対する処理終了通知を発行する手段を有しており、第一の処理手段を構成する複数の処理手段は第二の処理手段から前記内部コマンドに対する処理終了通知を受信する手段を有することを特徴とするグラフィックオブジェクト処理方法。
【請求項23】
請求項1に記載のグラフィックオブジェクト処理方法において、表示リストにフラグを付加する手段は表示リスト内の順序を入れ替えることを特徴とするグラフィックオブジェクト処理方法。
【請求項24】
請求項5に記載のグラフィックオブジェクト処理方法において、表示リストにフラグを付加する手段は命令の順序を入れ替えることを特徴とするグラフィックオブジェクト処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−31160(P2006−31160A)
【公開日】平成18年2月2日(2006.2.2)
【国際特許分類】
【出願番号】特願2004−205954(P2004−205954)
【出願日】平成16年7月13日(2004.7.13)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】