(57)【特許請求の範囲】
【請求項１】
相互に連結された制御機構、スイッチ機構、画像処理のための複数のサブセットおよびマージャを有し、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を実行する装置であって、
前記サブセットの各々は、それぞれアクセラレータを含んでおり、
前記アクセラレータは、複数のグラフィックプロセッサのセットを含んでおり、
前記複数のグラフィックプロセッサの各々は、画像データをフレーム画像データにレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作するものであり、
前記マージャは、１つ以上のマージユニットを含んでおり、
前記マージユニットは、複数のローカルマージユニット及びコアマージユニットを含んでおり、
前記複数のローカルマージユニットの各々は、それに結合された前記グラフィックプロセッサが前記ローカルフレームバッファに記憶したフレーム画像データを同期的に受領して、前記フレーム画像データを統合したローカルな統合フレーム画像データを同期的に生成するために動作するものであり、
前記コアマージユニットは、前記複数のローカルマージユニットの各々からローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するために動作するものであり、
前記制御機構は、画像データの処理に関与するいずれかの前記サブセットを選択するとともに選択されたサブセットに当該処理に関する命令を与えるために動作するものであり、
前記スイッチ機構は、いずれかの前記サブセットを他の前記サブセットに切り替えるとともに、少なくとも前記フレーム画像データを形成するためのデータ、前記フレーム画像データ、又は、前記統合フレーム画像データの伝送経路を選択するように動作するものであり、
前記フレーム画像データを個々の前記ローカルフレームバッファから前記ローカルマージユニットに開放するために、前記コアマージユニットが、いずれかの前記グラフィックプロセッサにより使用されるマージ同期信号を生成するように動作し、そのマージ同期信号は、前記統合フレーム画像データの一連のフレームが表示されるフレーム速度、及び統合フレーム画像データが何時更新されるのかを表すブランク期間の少なくとも１つにより当該統合フレーム画像データの個々のフレームがどのように表示されるのかを規定する表示プロトコルに従って同期される、画像処理装置。
【請求項２】
前記フレーム画像データの少なくとも１つの外部に供給されたフレームが前記表示プロトコルの１つに対応付けられており、
前記マージ同期信号はその表示プロトコルに従って同期されており、
これにより、前記コアマージユニットが、前記フレーム画像データの少なくとも１つの外部に供給されたフレームに基づいて前記統合フレーム画像データの一連のフレームを生成するために動作する、
請求項１記載の画像処理装置。
【請求項３】
相互に連結された制御機構、スイッチ機構、画像処理のための複数のサブセットおよびマージャを有し、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を実行する装置であって、
前記サブセットの各々は、それぞれアクセラレータを含んでおり、
前記アクセラレータは、複数のグラフィックプロセッサのセットを含んでおり、
前記複数のグラフィックプロセッサの各々は、画像データをフレーム画像データにレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作するものであり、
前記マージャは、１つ以上のマージユニットを含んでおり、
前記マージユニットは、複数のローカルマージユニット及びコアマージユニットを含んでおり、
前記複数のローカルマージユニットの各々は、それに結合された前記グラフィックプロセッサが前記ローカルフレームバッファに記憶したフレーム画像データを同期的に受領して、前記フレーム画像データを統合したローカルな統合フレーム画像データを同期的に生成するために動作するものであり、
前記コアマージユニットは、前記複数のローカルマージユニットの各々からローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するために動作するものであり、
前記制御機構は、画像データの処理に関与するいずれかの前記サブセットを選択するとともに選択されたサブセットに当該処理に関する命令を与えるために動作するものであり、
前記スイッチ機構は、いずれかの前記サブセットを他の前記サブセットに切り替えるとともに、少なくとも前記フレーム画像データを形成するためのデータ、前記フレーム画像データ、又は、前記統合フレーム画像データの伝送経路を選択するように動作するものであり、
少なくとも幾つかの前記アクセラレータは、前記グラフィックプロセッサのセットを形成するためにグループ化されており、
少なくとも幾つかの前記マージャは、前記グラフィックプロセッサの個々のセットと関連した個々のローカルマージユニットを含んでおり、
これにより個々のローカルマージユニットは個々のローカルフレームバッファからのフレーム画像データを同期的に受領するため、及びこれに基づいてローカルな統合フレーム画像データを同期的に生成するために動作し、
前記サブセットの少なくとも１つは、個々のローカルマージユニットからのローカルな統合フレーム画像データを同期的に受領するため、及びこれに基づいて統合フレーム画像データを同期的に生成するために動作するコアマージユニットを含んでおり、さらに、
前記複数のサブセットが複数の数値レベルで階層化されており、
前記制御機構は、ｎ（ｎは自然数）番目のレベルのサブセットを制御する制御機構であり、（ｉ）命令を含む情報セット、及び（ｉｉ）画像の生成において使用される種々のデータを含む情報セットの少なくとも一方であるｎ（ｎは自然数）番目のレベルの情報セットを、１つ以上の前記サブセットに対して、前記ｎ番目のレベルの制御機構が、送出するために動作する、
画像処理装置。
【請求項４】
相互に連結された制御機構、スイッチ機構、画像処理のための複数のサブセットおよびマージャを有し、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を実行する装置であって、
前記サブセットの各々は、それぞれアクセラレータを含んでおり、
前記アクセラレータは、複数のグラフィックプロセッサのセットを含んでおり、
前記複数のグラフィックプロセッサの各々は、画像データをフレーム画像データにレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作するものであり、
前記マージャは、１つ以上のマージユニットを含んでおり、
前記マージユニットは、複数のローカルマージユニット及びコアマージユニットを含んでおり、
前記複数のローカルマージユニットの各々は、それに結合された前記グラフィックプロセッサが前記ローカルフレームバッファに記憶したフレーム画像データを同期的に受領して、前記フレーム画像データを統合したローカルな統合フレーム画像データを同期的に生成するために動作するものであり、
前記コアマージユニットは、前記複数のローカルマージユニットの各々からローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するために動作するものであり、
前記制御機構は、画像データの処理に関与するいずれかの前記サブセットを選択するとともに選択されたサブセットに当該処理に関する命令を与えるために動作するものであり、
前記スイッチ機構は、いずれかの前記サブセットを他の前記サブセットに切り替えるとともに、少なくとも前記フレーム画像データを形成するためのデータ、前記フレーム画像データ、又は、前記統合フレーム画像データの伝送経路を選択するように動作するものであり、
前記フレーム画像データを個々のローカルフレームバッファから個々のローカルマージユニットに同期的に送出するため、及び、個々のローカルマージユニットからローカルな前記統合フレーム画像データを前記コアマージユニットに同期的に送出するために、当該コアマージユニットが、前記グラフィックプロセッサの個々のセットの少なくとも幾つかにより使用されるマージ同期信号を生成するために動作するものであり、
前記マージ同期信号は、前記統合フレーム画像データの個々のフレームがどのように表示されるかを規定する表示プロトコルに従って同期され、
前記表示プロトコルは、結合されたフレームデータの一連のフレームが表示されるフレーム速度、統合フレーム画像が何時更新されるのかを表すブランク期間の少なくとも１つを規定する、
画像処理装置。
【請求項５】
相互に連結された制御機構、スイッチ機構、画像処理のための複数のサブセットおよびマージャを有し、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を実行する装置であって、
前記サブセットの各々は、それぞれアクセラレータを含んでおり、
前記アクセラレータは、複数のグラフィックプロセッサのセットを含んでおり、
前記複数のグラフィックプロセッサの各々は、画像データをフレーム画像データにレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作するものであり、
前記マージャは、１つ以上のマージユニットを含んでおり、
前記マージユニットは、複数のローカルマージユニット及びコアマージユニットを含んでおり、
前記複数のローカルマージユニットの各々は、それに結合された前記グラフィックプロセッサが前記ローカルフレームバッファに記憶したフレーム画像データを同期的に受領して、前記フレーム画像データを統合したローカルな統合フレーム画像データを同期的に生成するために動作するものであり、
前記コアマージユニットは、前記複数のローカルマージユニットの各々からローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するために動作するものであり、
前記制御機構は、画像データの処理に関与するいずれかの前記サブセットを選択するとともに選択されたサブセットに当該処理に関する命令を与えるために動作するものであり、
前記スイッチ機構は、いずれかの前記サブセットを他の前記サブセットに切り替えるとともに、少なくとも前記フレーム画像データを形成するためのデータ、前記フレーム画像データ、又は、前記統合フレーム画像データの伝送経路を選択するように動作するものであり、
前記フレーム画像データを個々のローカルフレームバッファから個々のローカルマージユニットに同期的に送出するため、及び、個々のローカルマージユニットからローカルな前記統合フレーム画像データを前記コアマージユニットに同期的に送出するために、当該コアマージユニットが、前記グラフィックプロセッサの個々のセットの少なくとも幾つかにより使用されるマージ同期信号を生成するために動作するものであり、
前記マージ同期信号は、前記統合フレーム画像データの個々のフレームがどのように表示されるかを規定する表示プロトコルに従って同期され、
前記マージ同期信号は、ブランク期間を開始させ、あるいは終わらせるための遷移部を含んでおり、この遷移部により、少なくとも１つの前記マージユニットが、前記ブランク期間の少なくとも１つの終期において表示のために統合フレーム画像データを生成することを開始する、
画像処理装置。
【請求項６】
前記マージ同期信号の遷移部が、前記ブランク期間の終期と実質的に一致している、
請求項５記載の画像処理装置。
【請求項７】
１つ以上の前記グラフィックプロセッサが、前記ブランク期間の終期の前に、画像データを個々のフレームバッファ内でレンダリングすることを完了し、
１つ以上の前記グラフィックプロセッサが、複数のフレームバッファを含み、また１つ以上の前記グラフィックプロセッサが、対応するブランク期間の終期の前に個々のフレームバッファ内に画像データをレンダリングすることを完了する、
請求項４記載の画像処理装置。
【請求項８】
ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を、互いに結合された複数の処理機構の協働により実行する方法であって、
他の処理機構に命令を供給するとともに、表示用画像を生成するための画像データの処理に関与する処理機構を選択する制御プロセッサを含む制御機構が、
それぞれ前記画像データをフレーム画像データ内にレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作する複数のグラフィックプロセッサのセットを含む少なくとも１つのアクセラレータを、前記複数の処理機構の中から選択するステップと、
選択された前記グラフィックプロセッサのセットの各々がそれぞれローカルフレームバッファに記憶させたフレーム画像データを同期的に読み出してローカルな統合フレーム画像データを同期的に生成するローカルマージユニットを含む複数のローカルマージャを、前記複数の処理機構の中から選択するステップと、
前記複数のローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するコアマージユニットを含む少なくとも１つのコアマージャを、前記複数の処理機構の中から選択するステップと、
前記画像データ、前記フレーム画像データ、および前記統合フレーム画像データのいずれかをそれぞれグループ化して、これを複数の処理機構間で交換可能にするためのデータ交換機構を確立するステップとを有し、
前記処理機構が複数の数値レベルで階層化されており、
前記制御機構は、ｎ（ｎは自然数）番目のレベルの制御機構であり、
少なくとも１つの前記マージャはｎ番目のレベルのマージャであり、
前記データ交換機構はｎ番目のレベルのデータ交換機構であり、
少なくとも１つの前記アクセラレータはｎ−１番目のレベルの制御機構及びｎ−１番目のレベルのデータ交換機構を経て一緒に結合された複数のｎ−１番目のレベルのアクセラレータを含むｎ番目のレベルのアクセラレータであるように、前記処理機構の中から階層を確立する、
画像処理方法。
【請求項９】
（ｉ）命令を含む情報セット、（ｉｉ）画像の生成において使用される種々のデータを含む情報セット、の少なくとも一方である、ｎ番目のレベルの情報セットを、１つ以上の処理機構に対して送出する、
請求項８記載の画像処理方法。
【請求項１０】
前記グラフィックプロセッサ、前記ローカルマージユニット、及び前記コアマージユニットに対して、（ｉ）前記画像データがレンダリングされたとき、前記フレーム画像データが個々のローカルフレーム画像バッファから開放されたとき、及び前記フレーム画像データがマージされたときにおけるタイミング関係、（ｉｉ）前記統合フレーム画像データを同期的に生成するためにどのようにしてフレーム画像データがマージされるのか、の少なくとも１つに影響を与える１つ以上のモードで動作させるための情報を、前記命令が含んでいる、
請求項９記載の画像処理方法。
【請求項１１】
前記画像の生成に使用される種々のデータが、テクスチャデータ、ビデオデータ、及びフレーム画像データの外部に供給されるフレームの少なくとも１つを含んでいる、
請求項９記載の画像処理方法。
【請求項１２】
ｎ番目のレベルの情報セットのそれぞれが、
（ｉ）所定の情報セットがｎ番目のレベルの制御機構から発行されたことを示すｎ番目のレベルのヘッダ、（ｉｉ）それぞれ１つ以上のｎ番目のレベルに属する各機構のための情報を含む複数のｎ番目のレベルの情報ブロック、を含んでいる、
請求項９記載の画像処理方法。
【請求項１３】
複数のｎ番目のレベルの情報ブロックが、ｎ番目のレベルのアクセラレータのための情報を含み、この情報に基づいて、個々のｎ番目のレベルの機構へのデータ伝送経路を選択する、
請求項１２記載の画像処理方法。
【請求項１４】
ｎ番目のレベルのアクセラレータのためのｎ番目のレベルの情報ブロックが、個々のｎ−１番目の機構のための複数の個々のｎ−１番目の情報サブブロックを含み、この情報に基づいて個々のｎ−１番目の機構へのデータ伝送経路を選択する、
請求項１３記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、表示画面上で表示される画像を生成するための装置、特に、比較的大きな表示画面上に高品質画像を表示するための画像データを処理する装置に関するものである。
【０００２】
映画のような「大画面」上で表示用に生成されるもののような動画は、比較的大きな画面上で映し出されるように３５ｍｍフィルムにより供給される。動画を作成するために従来のグラフィックプロセッサ（コンピュータ、マイクロプロセッサなどを用いる）を使用することは、グラフィックプロセッサがより高性能になっており、また質の高い画像を作成できる現在の技術状態においては、益々一般的になっている。
実際には、しかしながら、従来のグラフィックプロセッサは、１７インチモニタのようなコンピュータの表示画面、あるいは従来型のテレビ画面上などで動画を生成するためにデザインされており、映画のような、比較的大きな画面上で動画を生成するためにはデザインされていない。
実際のところ、従来のグラフィックプロセッサは、特に比較的大画面上で表示されるときには、十分な品質の動画を十分な速度で生成するために画像データを処理することができない。
【０００３】
従来のグラフィックプロセッサの処理上の限界は、２つの根本的な基本的な事項、即ち解像度、例えば、画像データの各フレームに対して利用可能な全ピクセル数が比較的大きな表示画面に対して不十分であること、及びフレーム速度、例えば、各秒毎に生成される画像データのフレーム数が３５ｍｍフィルム映画のプロトコル用のフレーム速度に合致あるいは超えるために不十分であることにおいて、画質に影響を及ぼしている。
【０００４】
図１を参照すると、従来のグラフィックプロセッサ１０は、３つの基本的な構成要素、即ち、処理ユニット（プロセッサ）１２、レンダリングユニット１４，及びフレームバッファ１６を含んでいる。そのコア部分において、従来のグラフィックプロセッサ１０は、プリミティブ、例えば、表示される１以上の画像をモデリングするために使用されるポリゴンに関するデータを含む画像データを受領すると共に、画像データの一連のフレームを生成する。ここで、画像データの各フレームは、表示画面上の画像の１つのフレームを表示するために必要な情報を含んでいる。画像データのこれらのフレームを十分なフレーム速度で表示することにより、動きのある画像を表現できるようになる。
【０００５】
処理ユニット１２は、レンダリングユニット１４に対する入力のための、ポリゴン命令のような一連の命令を得るために画像データを操作する。レンダリングユニット１４は、一連の命令を受領し、例えば、ピクセルの位置、色、密度などを表す画像データを生成する。この画像データはフレームバッファ１６に記憶される。本明細書において、画像データの全体のフレームはフレーム画像データと称される。
フレームバッファ１６は、通常は表示画面の解像度に対応した大きさに作られており、これにより、表示画面の全体のフレームをカバーするために十分な画像データが記憶される。画像データのすべてのフレームがフレームバッファ１６に記憶されると、フレーム画像データは、表示画面上に表示されるために、フレームバッファ１６から解放される。
【０００６】
処理速度に影響を及ぼす図１の従来のグラフィックプロセッサ１０により起因する処理上のボトルネックは、処理ユニット１２及びレンダリングユニット１４がフレーム画像データを生成できる速度で動作しない点である。このボトルネックを改善するために、図２に例示したような並列的なソフトウェア／レンダリングのユニット１８を有するグラフィックプロセッサ２０を設けることが提案されている。
これらの並列的なユニット１８からの出力は、単一のフレームバッファ１６に入力され、ここからフレーム画像データが表示画面上での表示のために解放される。
図２のグラフィックプロセッサ２０は、画像データが処理され、レンダリングされる速度を高速にすることで、上記の処理上のボトルネックの一つは改善できるが、タマネギの皮を剥くのと同様に、別の処理上のボトルネックが生じる。
すなわち、フレーム画像データがフレームバッファ１６内に記憶され、且つ、ここから解放することができる速度は、比較的大きな表示画面上に高品質で動画を生成するためのデータ処理能力の各要求に十分に応える速度ではない。
【０００７】
従って、この分野においては、処理速度を著しく増大させて、高解像度の動画を大きな表示画面上に表示するために生成できるグラフィック処理を提供するための新規な装置及び／または方法に対する需要がある。
【０００８】
【課題を解決するための手段】
本発明の１つの特徴によれば、相互に連結された制御機構、スイッチ機構、画像処理のための複数のサブセットおよびマージャを有し、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を実行する装置が提供される。
この装置の基本部分は、以下のようなものである。すなわち、前記サブセットの各々は、それぞれアクセラレータを含んでおり、前記アクセラレータは、複数のグラフィックプロセッサのセットを含んでおり、前記複数のグラフィックプロセッサの各々は、画像データをフレーム画像データにレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作するものであり、前記マージャは、１つ以上のマージユニットを含んでおり、前記マージユニットは、複数のローカルマージユニット及びコアマージユニットを含んでおり、前記複数のローカルマージユニットの各々は、それに結合された前記グラフィックプロセッサが前記ローカルフレームバッファに記憶したフレーム画像データを同期的に受領して、前記フレーム画像データを統合したローカルな統合フレーム画像データを同期的に生成するために動作するものであり、前記コアマージユニットは、前記複数のローカルマージユニットの各々からローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するために動作するものであり、前記制御機構は、画像データの処理に関与するいずれかの前記サブセットを選択するとともに選択されたサブセットに当該処理に関する命令を与えるために動作するものであり、前記スイッチ機構は、いずれかの前記サブセットを他の前記サブセットに切り替えるとともに、少なくとも前記フレーム画像データを形成するためのデータ、前記フレーム画像データ、又は、前記統合フレーム画像データの伝送経路を選択するように動作するものである。
このような画像処理装置において、前記フレーム画像データを個々の前記ローカルフレームバッファから前記ローカルマージユニットに開放するために、前記コアマージユニットは、いずれかの前記グラフィックプロセッサにより使用されるマージ同期信号を生成するように動作し、そのマージ同期信号は、前記統合フレーム画像データの一連のフレームが表示されるフレーム速度、及び統合フレーム画像データが何時更新されるのかを表すブランク期間の少なくとも１つにより当該統合フレーム画像データの個々のフレームがどのように表示されるのかを規定する表示プロトコルに従って同期される。
【０００９】
ある実施の一態様では、前記フレーム画像データの少なくとも１つの外部に供給されたフレームが前記表示プロトコルの１つに対応付けられており、前記マージ同期信号はその表示プロトコルに従って同期されており、これにより、前記コアマージユニットが、前記フレーム画像データの少なくとも１つの外部に供給されたフレームに基づいて前記統合フレーム画像データの一連のフレームを生成するために動作する。
【００１０】
本発明の少なくとも１つの他の特徴によれば、上述した基本部分において、少なくとも幾つかの前記アクセラレータは、前記グラフィックプロセッサのセットを形成するためにグループ化されており、少なくとも幾つかの前記マージャは、前記グラフィックプロセッサの個々のセットと関連した個々のローカルマージユニットを含んでおり、これにより個々のローカルマージユニットは個々のローカルフレームバッファからのフレーム画像データを同期的に受領するため、及びこれに基づいてローカルな統合フレーム画像データを同期的に生成するために動作し、前記サブセットの少なくとも１つは、個々のローカルマージユニットからのローカルな統合フレーム画像データを同期的に受領するため、及びこれに基づいて統合フレーム画像データを同期的に生成するために動作するコアマージユニットを含んでおり、さらに、前記複数のサブセットが複数の数値レベルで階層化されており、前記制御機構は、ｎ（ｎは自然数）番目のレベルのサブセットを制御する制御機構であり、（ｉ）命令を含む情報セット、及び（ｉｉ）画像の生成において使用される種々のデータを含む情報セットの少なくとも一方であるｎ（ｎは自然数）番目のレベルの情報セットを、１つ以上の前記サブセットに対して、前記ｎ番目のレベルの制御機構が、送出するために動作する装置が提供される。
【００１１】
本発明の少なくとも１つの他の特徴によれば、上述した基本部分において、前記フレーム画像データを個々のローカルフレームバッファから個々のローカルマージユニットに同期的に送出するため、及び、個々のローカルマージユニットからローカルな前記統合フレーム画像データを前記コアマージユニットに同期的に送出するために、当該コアマージユニットが、前記グラフィックプロセッサの個々のセットの少なくとも幾つかにより使用されるマージ同期信号を生成するために動作するものであり、前記マージ同期信号は、前記統合フレーム画像データの個々のフレームがどのように表示されるかを規定する表示プロトコルに従って同期され、前記表示プロトコルは、結合されたフレームデータの一連のフレームが表示されるフレーム速度、統合フレーム画像が何時更新されるのかを表すブランク期間の少なくとも１つを規定する装置が提供される。
【００１２】
ある実施の一態様では、１つ以上の前記グラフィックプロセッサが、前記ブランク期間の終期の前に、画像データを個々のフレームバッファ内でレンダリングすることを完了し、１つ以上の前記グラフィックプロセッサが、複数のフレームバッファを含み、また１つ以上の前記グラフィックプロセッサが、対応するブランク期間の終期の前に個々のフレームバッファ内に画像データをレンダリングすることを完了する。
【００１３】
本発明の少なくとも１つの他の特徴によれば、上述した基本部分において、前記フレーム画像データを個々のローカルフレームバッファから個々のローカルマージユニットに同期的に送出するため、及び、個々のローカルマージユニットからローカルな前記統合フレーム画像データを前記コアマージユニットに同期的に送出するために、当該コアマージユニットが、前記グラフィックプロセッサの個々のセットの少なくとも幾つかにより使用されるマージ同期信号を生成するために動作するものであり、前記マージ同期信号は、前記統合フレーム画像データの個々のフレームがどのように表示されるかを規定する表示プロトコルに従って同期され、前記マージ同期信号は、ブランク期間を開始させ、あるいは終わらせるための遷移部を含んでおり、この遷移部により、少なくとも１つの前記マージユニットが、前記ブランク期間の少なくとも１つの終期において表示のために統合フレーム画像データを生成することを開始する装置が提供される。
【００１４】
ある実施の一態様では、前記マージ同期信号の遷移部が、前記ブランク期間の終期と実質的に一致する。
【００１５】
本発明の少なくとも１つの他の特徴によれば、ディスプレイの画像領域をカバーする画像を生成するための画像データに関わる処理を、互いに結合された複数の処理機構の協働により実行する方法が提供される。
この方法は、他の処理機構に命令を供給するとともに、表示用画像を生成するための画像データの処理に関与する処理機構を選択する制御プロセッサを含む制御機構が、それぞれ前記画像データをフレーム画像データ内にレンダリングするとともにこのフレーム画像データを所定のローカルフレームバッファに記憶するために動作する複数のグラフィックプロセッサのセットを含む少なくとも１つのアクセラレータを、前記複数の処理機構の中から選択するステップと、選択された前記グラフィックプロセッサのセットの各々がそれぞれローカルフレームバッファに記憶させたフレーム画像データを同期的に読み出してローカルな統合フレーム画像データを同期的に生成するローカルマージユニットを含む複数のローカルマージャを、前記複数の処理機構の中から選択するステップと、前記複数のローカルな統合フレーム画像データを同期的に受領すると共にこれに基づいて統合フレーム画像データを同期的に生成するコアマージユニットを含む少なくとも１つのコアマージャを、前記複数の処理機構の中から選択するステップと、前記画像データ、前記フレーム画像データ、および前記統合フレーム画像データのいずれかをそれぞれグループ化して、これを複数の処理機構間で交換可能にするためのデータ交換機構を確立するステップとを有する。この方法において、前記処理機構は、複数の数値レベルで階層化されており、前記制御機構は、ｎ（ｎは自然数）番目のレベルの制御機構であり、少なくとも１つの前記マージャはｎ番目のレベルのマージャであり、前記データ交換機構はｎ番目のレベルのデータ交換機構であり、少なくとも１つの前記アクセラレータはｎ−１番目のレベルの制御機構及びｎ−１番目のレベルのデータ交換機構を経て一緒に結合された複数のｎ−１番目のレベルのアクセラレータを含むｎ番目のレベルのアクセラレータであるように、前記処理機構の中から階層を確立する。
【００１６】
本発明の方法による、ある実施の一態様では、（ｉ）命令を含む情報セット、（ｉｉ）画像の生成において使用される種々のデータを含む情報セット、の少なくとも一方である、ｎ番目のレベルの情報セットを、１つ以上の処理機構に対して送出する。
【００１７】
本発明の方法による他の実施の一態様では、前記グラフィックプロセッサ、前記ローカルマージユニット、及び前記コアマージユニットに対して、（ｉ）前記画像データがレンダリングされたとき、前記フレーム画像データが個々のローカルフレーム画像バッファから開放されたとき、及び前記フレーム画像データがマージされたときにおけるタイミング関係、（ｉｉ）前記統合フレーム画像データを同期的に生成するためにどのようにしてフレーム画像データがマージされるのか、の少なくとも１つに影響を与える１つ以上のモードで動作させるための情報を、前記命令が含んでいる。
【００１８】
本発明の方法による他の実施の一態様では、前記画像の生成に使用される種々のデータが、テクスチャデータ、ビデオデータ、及びフレーム画像データの外部に供給されるフレームの少なくとも１つを含んでいる。
【００１９】
本発明の方法による他の実施の一態様では、ｎ番目のレベルの情報セットのそれぞれが、
（ｉ）所定の情報セットがｎ番目のレベルの制御機構から発行されたことを示すｎ番目のレベルのヘッダ、（ｉｉ）それぞれ１つ以上のｎ番目のレベルに属する各機構のための情報を含む複数のｎ番目のレベルの情報ブロック、を含んでいる。
【００２０】
上述した複数のｎ番目のレベルの情報ブロックは、ｎ番目のレベルのアクセラレータのための情報を含み、この情報に基づいて、個々のｎ番目のレベルの機構へのデータ伝送経路を選択する。
【００２１】
ｎ番目のレベルのアクセラレータのためのｎ番目のレベルの情報ブロックは、個々のｎ−１番目の機構のための複数の個々のｎ−１番目の情報サブブロックを含み、この情報に基づいて個々のｎ−１番目の機構へのデータ伝送経路を選択する。
【００２４】
本発明の他の特徴、特色、及び利点は、添付の図面と関連した、本明細書の開示内容から当業者には自明になるであろう。
【００２５】
【発明の実施の形態】
図３は、表示画面に表示される画像を生成するための画像データを処理するためのグラフィック装置１００のブロック図である。
画像データは、グラフィック装置１００のメモリ、あるいは、ハードディスク装置、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、通信ネットワークに関連したメモリのような補助記憶装置から読み取られる。この画像データは、表示されるオブジェクト画像に使用される、３Ｄ及び／または２Ｄのポリゴンモデルのような、オブジェクトモデルを表すためのデータ、あるいは、適切なプロセッサ上で動作するソフトウェアプログラムに従って生成されたシーケンシャルなポリゴン画像命令である。
【００２６】
グラフィック装置１００は、好ましくは、制御プロセッサ１０２（及び関連したメモリ）、複数のグラフィックプロセッサ１０４、少なくとも１つのマージユニット１０６、及び同期ユニット１０８を含んでいる。また、制御プロセッサ１０２は、好ましくは、バス１２６を介して、複数のグラフィックプロセッサ１０４、マージユニット１０６、及び同期ユニット１０８と通信する。
本発明の少なくとも１つの特徴によれば、別の独立したデータライン１２７が、各グラフィックプロセッサ１０４をマージユニット１０６に結合させ、これによって、個々のグラフィックプロセッサ１０４とマージユニット１０６との間で、他とは独立な通信を行えるようにしている。更に、好ましくは独立した同期ライン１２９が、同期ユニット１０８を各グラフィックプロセッサ１０４及びマージユニット１０６に結合させ、これにより、これらの間で、他とは独立な通信を行えるようにしている。
【００２７】
グラフィックプロセッサ１０４の少なくとも幾つか、好ましくはそれぞれは、画像データをフレーム画像データ、例えばフレーム毎のピクセルデータ群にレンダリングし、このフレーム画像データを個々のローカルフレームバッファ１１２に記憶するように動作する。
より詳しくは、グラフィックプロセッサ１０４の少なくとも幾つかは、レンダリング機能を実行するためのレンダリングユニット１１０と、フレーム画像データを少なくとも一時的に記憶するためのローカルフレームバッファ１１２とを含んでいる。
より好ましくは、処理ユニット１１４をもグラフィックプロセッサ１０４内に含める。処理ユニット１１４は、ポリゴン画像の変形、例えば、ポリゴン画像の平行移動、回転、拡大縮小、透視変換などによる３次元画像から２次元画像への変換、あるいは、ポリゴン画像のシーケンシャルな描画命令のような種々のプロセスを実行することを容易化するように動作するものである。
各グラフィックプロセッサ１０４は、好ましくは更に、バス１２６上での通信を容易化するのに適したＩ／Ｏ（入力／出力）インタフェース１１６と、後で詳細に説明する、付加的なローカル同期ユニット１１８を含んでいる。
【００２８】
なお、図３では、１つの好ましい態様で機能ブロックが区切られているが、本発明の技術思想及び範囲を逸脱しない複数の他のいずれかの態様で機能ブロックを区切ることができるものである。
【００２９】
フレーム画像データは、好ましくは、マージユニット１０６と同期ユニット１０８の一方により生成されたマージ同期信号によりマージユニット１０６に同期的に受領される。各グラフィックプロセッサ１０４は、同期ライン１２９を通じて同期的に画像データを受領する。
マージユニット１０６は、好ましくは、個々のローカルフレームバッファ１１２からフレーム画像データを同期的に受領するため、及びこれに基づいて統合されたフレーム画像データ（統合フレーム画像データ）を同期的に生成するために動作する。
グラフィックプロセッサ１０４は、好ましくは、マージ同期信号に応答して、フレーム画像データを個々のローカルフレームバッファ１１２から同期的に解放する。
【００３０】
マージ同期信号は、好ましくは、統合フレーム画像データの個々のフレームがどのように表示されるかを規定する表示プロトコルに従って生成される。この表示プロトコルは、公知のＮＴＳＣプロトコル、ＨＤＴＶプロトコル、３５ｍｍ映画プロトコル、ＰＡＬプロトコルなどを含む。
表示プロトコルは、他のものとの間で、統合フレーム画像データの一連のフレームが表示されるべきフレーム速度、統合フレーム画像データのフレームが更新される時点を決めるブランク期間を決定する。
このブランク期間は、ＮＴＳＣプロトコルの場合のように、例えば統合フレーム画像データの所定のフレームが更新前にどの位休止（ｄｗｅｌｌ）されるべきかを定める。あるいは、３５ｍｍ映画プロトコルの場合のように、統合フレーム画像データの所定のフレームが更新前に何時除去されるかを指示する。
【００３１】
表示画面が従来型のＣＲＴである場合、表示プロトコルはＮＴＳＣプロトコルであり、ブランク期間は垂直ブランキング期間となる。
ＮＴＳＣプロトコルでは、垂直ブランキング期間は、ＣＲＴの走査ビームが表示画面の右下部から左上部に戻るタイミングで周期的に生じる。本発明がＮＴＳＣプロトコルを採用して実施される場合、マージユニット１０６からの統合フレーム画像データは、ＣＲＴ表示画面の各垂直ブランキング期間が終了する前に次の表示のための準備がなされるようにすることが好ましい。
【００３２】
上記の説明は、ＣＲＴ表示画面での使用に関係した場合の例であるが、ブランク期間という用語は、例えば３５mm映画画像、あるいは他の表示プロトコルに利用されるブランク期間を示すような、より広い意味で使用される。
【００３３】
好都合なことに、所定の表示プロトコルのブランク期間と同期させてマージユニット１０６から統合フレーム画像データを生成することで、異なる表示プロトコル、及び／または、フレーム画像データの異なるソースからのフレーム画像データを統合することができる。
例えば、３５mmフィルムからのフレーム画像データは、コンピュータグラフィックスによって生成されるフレーム画像データと統合される。よって、広義において、マージ同期信号は、統合フレーム画像データが供給される所定のフレーム速度に従って生成することができる。あるいは所定のフレーム速度に定めることができる。
統合フレーム画像データがＣＲＴ画面上に表示されるとき、マージ同期信号は、好ましくは、ＣＲＴ表示画面の垂直ブランキング期間、つまりフレーム速度と同期される。あるいは、統合フレーム画像データがマージされ、あるいは３５mmフィルムの映画と一致する映画画像を生成するために利用されるとき、マージ同期信号は、当該プロトコルと一致するフレーム速度に同期される。
【００３４】
図４は、図３のグラフィック装置１００の動作と表示プロトコルの特定の特徴との関係を例示したタイミング図である。
図では、その上部から順に、ブランク期間、マージ同期信号、レンダリング期間、及びマージ期間の間における関係が示されている。
タイミング波形の上部に示したように、フレームは、画像フレームが表示もしくは更新される間の間隔（論理ローレベルで示される）と、画像フレームが表示のための準備がされる間の期間、例えばブランク期間（論理ハイレベルで示される）を有している。
【００３５】
本発明の少なくとも１つの特徴によれば、マージ同期信号１３２は、立ち上がり端部あるいは立ち下がり端部のような遷移部を有している。これらは、ブランク期間の端部１４２、１４４、すなわち、論理ハイレベルと論理ローレベルとの切り替わりをごく短時間で実現するものである。
マージ同期信号１３２は、このような遷移部により、ブランク期間を開始させ、あるいは、終わらせる。これらのタイミングは、好ましくは、表示プロトコルにより指示されるフレーム速度と同期しており、これにより、マージユニット１０６は、ブランク期間の少なくとも１つの終期において、表示のために統合フレーム画像データを生成し、または統合フレーム画像を解放する。
【００３６】
ブランク期間の端部１４２、１４４の終期において表示のために統合フレーム画像データを解放する準備をローカルフレームバッファ１１２にさせるために、１３６Ａ−Ｄのようなブランク期間の端部１４２、１４４の終期の前に、グラフィックプロセッサ１０４の少なくとも幾つかは、好ましくは、画像データのレンダリングを開始する。図示したように、時間１３６Ａ−Ｄにおいて４つのレンダリング処理が始まるが、本発明の範囲を逸脱することなく、いずれかの数のグラフィックプロセッサ１０４を使用していずれかの数のレンダリング処理を行うようにすることもできる。すなわち、各グラフィックプロセッサ１０４におけるレンダリング処理は、同時に開始されてもよく、あるいは異なる時間に開始されるようにしてもよい。本発明の少なくとも１つの特徴によれば、グラフィックプロセッサ１０４のレンダリングユニット１１０は、好ましくは、マージ同期信号１３２と非同期で、画像データを個々のローカルフレームバッファ１１２内にレンダリングすることを開始する。例えば、制御プロセッサ１０２は、グラフィックプロセッサ１０４に「レンダリング開始」命令、つまりトリガを発行する。このレンダリング開始命令は、マージ同期信号１３２に関して非同期なものである。このレンダリング開始命令には、「ＤＲＡＷＮＥＸＴ」のような適切な名前が与えられる。
処理ユニット１１４は、制御プロセッサ１０２からの特別なトリガなしにソフトウェアプログラムの実行の結果としてレンダリング処理を開始する。
グラフィックプロセッサ１０４のそれぞれ、あるいはグループは、いずれのとき、例えば１３８Ａ−Ｄの時間であっても、画像データの各ローカルフレームバッファ１１２内へのレンダリング処理を完了することができる。グラフィックプロセッサ１０４の少なくとも１つは、フレーム画像データの各フレームについてのレンダリング処理が完了すると、レンダリング完了信号を制御プロセッサ１０２に通知する。レンダリング完了信号には、「ＤＲＡＷＤＯＮＥ」のような適切な名前が与えられる。
【００３７】
マージ同期信号１３２に応答して、個々のグラフィックプロセッサ１０４は、
好ましくは、個々のローカルフレームバッファ１１２からマージユニット１０６にフレーム画像データを送出する。これにより、マージユニット１０６は、統合フレーム画像データを同期的に生成する。
統合画像フレーム画像データは、好ましくは、１つのブランク期間の終期と論理ハイレベルが維持される期間１４０で示される次のブランク期間の始期との間に、マージユニット１０６により生成される。
【００３８】
図３を参照すると、１つ以上のグラフィックプロセッサ１０４は、同期ユニット１０８またはマージユニット１０６から同期ライン１２９を介してマージ同期信号１３２を受け取るために動作するローカル同期ユニット１１８を含んでいる。
各ローカル同期ユニット１１８は、好ましくは更に、グラフィックプロセッサ１０４の各部分に同期信号を送るために動作する。これによって、同期信号が送られた部分がローカルフレームバッファ１１２からマージユニット１０６に送出するためにフレーム画像データを同期的に解放する。
ローカル同期ユニット１１８は、マージ同期信号１３２の個々の遷移部間の時間を計数するためのカウンタを備えている。
【００３９】
本発明の１つの特徴によれば、制御プロセッサ１０２は、好ましくは、（ｉ）画像データがレンダリングされるとき、フレーム画像データが個々のローカルフレームバッファ１１２から解放されるとき、及びフレーム画像データがマージされるときのタイミング関係、及び（ｉｉ）統合フレーム画像データを同期的に生成するためにフレーム画像データがどのようにマージされるか、の少なくとも１つに影響を与える１つ以上のモードで動作するために、個々のグラフィックプロセッサ１０４及びマージユニット１０６に指示するように動作する。
図４を示して説明したように、これらモードの１つは、各ブランク期間の終期の前に、グラフィックプロセッサ１０４の少なくとも幾つかが、画像データのレンダリング処理を完了させるようにする。
【００４０】
これらモードの他のものは、好ましくは、グラフィックプロセッサ１０４の１つ以上が、ブランク期間の終期の前に、画像データのレンダリング処理を完了させる。図５に例示されるのは、あるモードにおける、フレーム速度、ブランク期間、マージ同期信号１３２、レンダリング期間、及び図３のグラフィック装置１００により実行されるマージ期間の間の関係を示すタイミングダイアグラムである、複数のグラフィックプロセッサ１０４は、制御プロセッサ１０２または処理ユニット１１４などから送られるレンダリング開始命令（ＤＲＡＷＮＥＸＴ）に応答して、同期的または非同期的に、画像データのレンダリング処理を開始する（例えば、１３６Ａ−Ｄにおいて）。最も好ましくは、少なくともグラフィックプロセッサ１０４のグループ単位で、ブランク期間の間の特定の時点において、実質的に同時にレンダリング処理を開始する。各グラフィックプロセッサ１０４は、１３８Ａ−Ｄにより示される異なる時間にレンダリング処理を完了する。
【００４１】
このモードの動作では、しかしながら、レンダリング処理を各ブランク期間が終了する前に完了させておく必要はなく、むしろ、図示した２つのブランク期間の終期の前までに完了させるようにすることができる。
グラフィックプロセッサ１０４の少なくとも幾つかは、第１のブランク期間１４２の終期前にはレンダリング処理を完了していないが、第２のブランク期間１４４の終期前までにはレンダリング処理を完了させるのである。好都合なことに、このモードの動作においては、各グラフィックプロセッサ１０４は、画像データを各ローカルフレームバッファ１１２に描画するための付加的な時間を享受することができる。
マージ同期信号１３２に応答して、個々のグラフィックプロセッサ１０４は、好ましくは、符号１４４で示される２つのブランク期間毎に、個々のローカルフレームバッファ１１２からマージユニット１０６にフレーム画像データを解放する。新たな画像データは、例えば符号１４６において始まる期間内に、ローカルフレームバッファ１１２へのレンダリングがなされる。
なお、図５に示した例では、ブランク期間は２つであるが、このモードの動作において他のブランク期間も使用できる。
【００４２】
本発明の別の動作モードのタイミングダイヤグラムが図６Ａに示される。
図６Ａを参照すると、グラフィックプロセッサ１０４の１つ以上は、複数のローカルフレームバッファ１１２をそれぞれ含んでいる。例えば所謂ダブルバッファと称される２つのローカルフレームバッファがそれである。
表示プロトコルの所定のフレームにおいては、所定のグラフィックプロセッサ１０４の複数のローカルフレームバッファ１１２の１つだけがフレーム画像データの全フレームを含むことを必要とする。よって、グラフィックプロセッサ１０４は、対応する整数のブランク期間の終期がくる前に、複数のローカルフレームバッファ１１２の各々に、画像データをレンダリングすることを完了することだけが必要となる。
例えば、第１のグラフィックプロセッサ１０４は、２つのローカルフレームバッファ１１２Ａ、１１２Ａ’を含み、第２のグラフィックプロセッサ１０４も、２つのローカルフレームバッファ１１２Ｂ、１１２Ｂ’を含む。
この動作モードによれば、第１のグラフィックプロセッサ１０４は、第１のブランク期間１４２の終期(例えば１３８Ａ)の前、好ましくはレンダリング処理を開始するための次のトリガが受領される前に、ローカルフレームバッファ１１２Ａへのレンダリング処理を完了しておく必要がある。言い換えれば、第１のグラフィックプロセッサ１０４は、第２のブランク期間の終期１４４の前まで(例えば１３８Ａ’において)は、好ましくは、レンダリングを開始する更に別のトリガが受領されるまで、ローカルフレームバッファ１１２Ａ’内に画像データをレンダリングすることを完了させる必要はない。より具体的には、第１のグラフィックプロセッサ１０４は、画像データが第１のローカルフレームバッファ１１２Ａにレンダリングされる後まで、ローカルフレームバッファ１１２Ａ’内にレンダリングを開始する必要さえもない。
【００４３】
同様に、第２のグラフィックプロセッサ１０４は、第１のブランク期間１４２の終期１４２(例えば１３８Ｂにおいて)の前に画像データをローカルフレームバッファ１１２Ｂへのレンダリングを完了すべきである一方、第２のグラフィックプロセッサ１０４は、第２のブランク期間の終期１４４の前に画像データをローカルフレームバッファ１１２Ｂ’内へのレンダリングを完了させる必要はない。フレーム画像データが第１のブランク期間の終期１４２の前にローカルフレームバッファ１１２Ａ及びローカルフレームバッファ１１２Ｂから解放のために利用可能であるので、このようなフレーム画像データは、好ましくは、図６Ａにおいて符号１４０Ａで示されるように、マージユニット１０６へのマージ同期信号１３２に応答して解放される。第２のブランク期間の終期１４４の前にローカルフレームバッファ１１２Ａ’及びローカルフレームバッファ１１２Ｂ’のそれぞれにおいてフレーム画像データが利用可能であるで、このようなフレーム画像データは、好ましくは、１４０Ａ’Ｂ’に示したように、マージユニット１０６へのマージ同期信号１３２に応答して解放される。
【００４４】
図６Ｂは、第１及び第２のグラフィックプロセッサ１０４の一方または両方が、それぞれ、ブランク期間の終期１４４の前に、ローカルフレームバッファ１１２Ａ’及び１１２Ｂ’の一方または両方内へのレンダリングを完了することを失敗し、エラー状態が生じる状態を示している。この場合、ローカルフレームバッファ１１２Ａ’(及び／または１１２Ｂ’)からマージユニット１０６へのフレームデータの解放は許可されず、ローカルフレームバッファ１１２Ａと１１２Ｂの内容が、マージユニット１０６に再び送出される（１４０ＡＢ２において）。第１のグラフィックプロセッサ１０４が個々のローカルフレームバッファ１１２Ａ’、１１２Ｂ’へのレンダリングを完了したとき、その中のフレーム画像データは、次のブランク期間、つまり符号１４０Ａ’Ｂ’で示される期間において解放される。これにより、エラー状態の影響が最小化される。
【００４５】
なお、上記の例では、それぞれ２つのローカルフレームバッファ１１２を含む２つのグラフィックプロセッサ１０４について説明したが、本発明は、いくつかのローカルフレームバッファ１１２を含むグラフィックプロセッサ１０４を想定しているし、上記の動作モードは、それぞれ１つだけのローカルフレームバッファ１１２を含むグラフィックプロセッサ１０４のグループにも同様に適用できるものである。この場合、各グラフィックプロセッサ１０４は、この動作モードに関与するグラフィックプロセッサ１０４あるいはローカルフレームバッファ１１２の数に応じたレンダリングが行われる間の時間間隔を享受する。各グラフィックプロセッサ１０４は、この動作モードに関与するグラフィックプロセッサ１０４またはローカルフレームバッファ１１２の数に応じた整数のブランク期間の終期の前に、所定のローカルフレームバッファ１１２へのレンダリングを完了させる。
例えば、４つのグラフィックプロセッサ１０４がこの動作モードに関与し、また各グラフィックプロセッサ１０４が単一のローカルフレームバッファ１１２を備える場合、各グラフィックプロセッサ１０４は、表示プロトコルの４つのフレームに対応した、レンダリングが実行される間の時間期間を享受することができる。
【００４６】
図７Ａ−Ｅを参照すると、本発明の１つの特徴に従う動作モードは、領域分割、均一化、レイヤブレンディング、Ｚソート、レイヤブレンディング、及びフリップアニメーションの少なくとも１つの動作モードを含んでいる。
図７Ａは領域分割の動作モードを示すものである。この動作モードでは、好ましくは、ローカルフレームバッファ１１２の少なくとも２つ（例えば図示したような４つのローカルフレームバッファ１１２Ａ〜Ｄ）は、統合フレーム画像データ１２２によりカバーされる表示画面の４つの領域に対応する個々のレンダリング領域１２０Ａ−Ｄ、及びフレーム画像データを記憶するために利用されない非レンダリング領域１２４Ａ−Ｄに区切られる。
領域分割モードでは、レンダリング領域１２０Ａ−Ｄが集まる結果として、統合フレーム画像データ１２２によりカバーされる表示画面のすべてがレンダリング領域となる。このような動作モードにおいて、マージユニット１０６は、好ましくは、統合フレーム画像データを生成するために公知のαブレンディング技術に基づいてグラフィックプロセッサ１０４の個々のレンダリング領域１２０Ａ−Ｄから個々の画像データを同期的に集めるように動作する。
ローカルフレームバッファ１１２Ａ−Ｄは、別のグラフィックプロセッサ１０４のために使用されるか、あるいはより少ない数に分配されたグラフィックプロセッサ１０４のために使用される。
領域分割モードは、図４、５及び６Ａに関して、上述したタイミング関係の１つ以上の特徴を利用しており、好ましくは、各ブランク期間の終期の前に、ローカルフレームバッファ１１２Ａ−Ｄの個々のレンダリング領域１２０Ａ−Ｄへの画像データのレンダリングが完了するようにしておく（例えば、図４参照）。
【００４７】
図７Ｂは、平均化モードを表している。この平均化モードでは、好ましくは、グラフィックプロセッサ１０４の少なくとも２つのローカルフレームバッファ１１２（４つのローカルフレームバッファ１１２Ａ−Ｄが考えられる）が、統合フレーム画像データ１２２によりカバーされるすべての領域にそれぞれ対応するレンダリング領域１２０Ａ−Ｄとなる。平均化モードは、更に、表示のための統合フレーム画像データを作成するために、ローカルフレームバッファ１１２からの個々のフレーム画像データをマージユニット１０６で平均化させる。平均化の処理は、十分に当業者の知識内にあるものであるが、あるシーンのアンチエイリアス化、例えばシーン毎のαブレンディング、重み付け平均化などの少なくとも１つの手法を採用することができる。
平均化モードでも、図４、５及び６Ａに関して、上述した１つ以上のタイミング関係を利用しており、好ましくは、この動作モードに関与する各グラフィックプロセッサが、各ブランク期間の終期の前に、ローカルフレームバッファ１１２Ａ−Ｄの個々のレンダリング領域１２０Ａ−Ｄへの画像データのレンダリングを完了するようにしておく（例えば、図４参照）。
【００４８】
図７Ｃは、レイヤブレンディングモードを表している。レイヤブレンディングモードは、好ましくは、画像データの少なくとも幾つかが、少なくとも２つのグラフィックプロセッサ１０４のローカルフレームバッファ１１２（４つのローカルフレームバッファ１１２Ａ−Ｄが考えられる）内にレンダリングする。これにより、ローカルフレームバッファ１１２Ａ−Ｄのそれぞれが、統合フレーム画像データの少なくとも一部を表すフレーム画像データを含むようにする。統合フレーム画像データの各部が、最終的な画像のオブジェクトとなる。
レイヤブレンディングモードでは、好ましくは更に、統合フレーム画像データ領域が、奥行きを表すＺデータのようなものにより、それぞれ優先度が付けられる。レイヤブレンディングモードでは、好ましくは更に、マージユニット１０６が、個々のローカルフレームバッファ１１２Ａ−Ｄのフレーム画像データのそれぞれをその優先度の順序に階層化することで、統合フレーム画像データを同期的に生成するように動作する。
例えば、第１のフレーム画像データ上に第２のフレーム画像データを重畳することで、レイヤ（層）の優先度に基づいて第１のフレーム画像データの幾つかを上書きすることができる。レイヤの優先度は、統合フレーム画像データの一部、例えば、画像のオブジェクトの相対的な奥行きに対応する場合、フレーム画像データの１つのレイヤは、フレーム画像データの他のレイヤよりも視点に対して、より近くになるようにデザインされる。よって、奥行きの錯覚は、視点に対してより近い位置にあるようにデザインされたフレーム画像データのレイヤが視点からより遠くのフレーム画像データのレイヤの少なくとも一部分を上書きすることによって生じる（例えば、図７Ｃの１２２を参照）。
レイヤブレンディングモードは、図４，５に関して、上述した１つ以上のタイミング関係を利用しており、好ましくは、レイヤブレンディングモードに関与するグラフィックプロセッサ１０４が、各ブランク期間の終期の前に、個々のローカルフレームバッファ１１２Ａ−Ｄへの画像データのレンダリングを完了しておくようにする。
【００４９】
図７Ｄは、Ｚソート及びレイヤブレンディングモードを表している。このＺソート及びレイヤブレンディングモードでは、好ましくは、少なくとも幾つかの画像データが少なくとも２つのグラフィックプロセッサ１０４のローカルフレームバッファ（ローカルフレームバッファ１１２Ａ−Ｄの４つが考えられる）にレンダリングされるようにする。ローカルフレームバッファ１１２Ａ−Ｄは、統合フレーム画像データの少なくとも一部を示すフレーム画像データを含んでいる。
レイヤブレンディングモードでは、上述したように、統合フレーム画像データの各部は、表示される画像のオブジェクトとなっている。
Ｚソート及びレイヤブレンディングモードは、好ましくは、フレーム画像データが、ピクセル毎にその奥行きを示すＺ値を含む。また、マージユニット１０６が、奥行きに従って、フレーム画像データのそれぞれをＺソート及び階層化することにより、統合フレーム画像データを同期的に生成するように動作する。好都合なことには、図７Ｄに示したように、ローカルフレームバッファ１１２Ａ内に記憶されるような統合フレーム画像データの幾つかの部分が、ローカルフレームバッファ１１２Ｂ内に記憶されたフレーム画像データの他の部分を上書きし、Ｚ値により表される相対的な奥行きのデータがこのような上書きのために提供される。
Ｚソート及びレイヤブレンディングモードは、図４，５及び６Ａに関して、上述した１つ以上のタイミング関係を利用しており、好ましくは、各ブランク期間の終期の前に、個々のローカルフレームバッファ１１２内に画像データをレンダリングすることを完了させておく（例えば、図４参照）。
【００５０】
図７Ｅは、フリップアニメーションモードを表している。フリップアニメーションモードは、好ましくは、少なくとも２つのグラフィックプロセッサ１０４のローカルフレームバッファ１１２（４つのローカルフレームバッファ１１２Ａ−Ｄが考えられる）が、統合フレーム画像データによりカバーされるすべての領域をカバーするフレーム画像データを含み、また、マージユニット１０６が、グラフィックプロセッサ１０４のローカルフレームバッファ１１２からの個々のフレーム画像データを順次解放することにより統合フレーム画像データを生成するように動作する。フリップアニメーションモードは、図４，５，６Ａに関して、上述した時間関係を利用しており、好ましくは、整数のブランク期間の終期の前に、個々のローカルフレームバッファ１１２Ａ−Ｄに画像データのレンダリングを完了しておくようにする。
整数のブランク期間は、フリップアニメーションモード内に関与するグラフィックプロセッサ１０４の数に対応する（図５，６Ａ参照 ）。整数のブランク期間は、フィリップアニメーションモードにおいて関与するローカルフレームバッファ１１２の数に対応する。
【００５１】
図８を参照すると、本発明により採用されるマージユニット１０６を実施する際に適した回路もしくは機能構成が示されている。
マージユニット１０６は、好ましくは、シザリングブロック２０２、αテストブロック２０４、Ｚソートブロック２０６、及びαブレンディングブロック２０８を有している。
シザリングブロック２０２は、好ましくは、複数のサブシザリングブロック２０２Ａ、２０２Ｂ，２０２Ｃ、２０２Ｄなどを含み、受領したフレーム画像データ（あるいはパス）のそれぞれに対して１つのこのようなサブブロックを含んでいる。
シザリングブロック２０２全体、特にサブシザリングブロック２０２Ａ〜Ｄは、好ましくは、フレーム画像データの特定部分を価値があるものにし、フレーム画像データの他の部分を無価値なものにする。例えば、統合フレーム画像データを生成する際に使用するための所定の矩形領域に対応するフレーム画像データの一部を価値があるものとする。この機能は、領域分割モードの動作時に特に有効となる（図７Ａ及び対応する上記説明を参照）。
【００５２】
シザリングブロック２０２の出力は、αテストブロック２０４により受領され、ここで、フレーム画像データの中のあるものは、フレーム画像データのα値と定数との間の比較に基づいて無価値なものとされる。
αテストブロック２０４は、好ましくは、複数のサブαテストブロック２０４Ａ、２０４Ｂ、２０４Ｃ、２０４Ｄなどを含み、受領したフレーム画像データ、あるいはパスのそれぞれに対してαテストを行う。αテストブロック２０４の機能は、統合フレーム画像データを生成する際に利用される１つ以上のオブジェクトに関する有用な情報を含むときに特に効果的となる。この場合、フレーム画像データの他の部分は、有用な情報を含まないものとなる。
例えば、フレーム画像データが、木、すなわち、最終画像が表示される際に利用されるオブジェクトを表すとき、木のピクセルに関連するα値は、データが有効であることを示すのに非常に重要であるが、木以外の領域に関連するフレーム画像データのピクセルは重要でなく、また使用できないため、好適には破棄される。
【００５３】
Ｚソートブロック２０６は、好ましくは、ピクセル毎にフレーム画像データのＺソートを実行する。あるいは、Ｚソートブロック２０６は、フレーム画像データに基づいてＺソートを実行してもよい。例えば、最も近い画像を示すフレーム画像データの４つのソース、あるいはパスの１つを選択し、次に近い画像としてフレーム画像データのソースの次の１つを選択する、などである。
αブレンディングブロック２０８は、好ましくは、
（1-a’）・（pixel, n-1）＋a’・（pixel ,n）
のような既知の公式に従ってαブレンディングを実行する。図示したように、αブレンディングは、好ましくは、受領されたフレームデータのそれぞれの間で実行される。
【００５４】
図３，４と関連する図９を参照すると、本発明のグラフィック装置１００の１つ以上の特徴に関する付加的な詳細手順が詳細に示されている。
アクション１７０、１７２は、複数のグラフィックプロセッサ１０４、マージユニット１０６、及び同期ユニット１０８の初期化に関係する。特に、アクション１７０において、制御プロセッサ１０２は、好ましくは、グラフィックプロセッサ１０４にプログラムデータ及びフォーマットデータを送出する。本発明に従い、プログラムデータ及びフォーマットデータは、好ましくは、図４−図７に関して上述した１つ以上の動作モードを実行するために必要な機能をグラフィックプロセッサ１０４に与える。
【００５５】
例えば、プログラムデータは、画像データを処理するために、グラフィックプロセッサ１０４によって使用される１つ以上のソフトウェアアプリケーションプログラムの少なくとも一部を含んでいる。このようなソフトウェアアプリケーションプログラムは、ポリゴン化画像への変換、３次元画像と２次元画像との間の変換、画像の拡大／縮小（スケーリング）・回転・照明・陰影・着色などの特定の処理機能を容易にする。プログラムデータは、好ましくは、画像データから生成されると共にローカルフレームバッファ１１２へのレンダリングに適した一連のポリゴン命令のような、シーケンシャルな命令の生成を容易にする。好ましくは、このプログラムデータは、バス１２６を経由して複数のグラフィックプロセッサ１０４に送出される。
【００５６】
フォーマットデータは、好ましくは、少なくとも１つの動作モード（例えば、タイミング関係、領域分割、平均化、レイヤブレンディング、Ｚソート及びレイヤブレンディング、フィリップアニメーションなど）、ＮＴＳＣプロトコル、ＨＤＴＶプロトコル、３５mm映画撮影プロトコルなどの表示プロトコルに関するものである。より詳しくは、表示プロトコルは、所望のフレーム速度、ブランク期間、表示サイズ、アスペクト比（表示高さと幅の比）、画像の解像度などに関する情報を表している。
フォーマットデータは、一般的には、画像データをレンダリングし、またはフレーム画像データをマージユニット１０６へ解放するために呼び出される前に、グラフィックプロセッサ１０４に特定の動作モードを実行させる。好ましくは、このフォーマットデータは、バス１２６を経由して複数のグラフィックプロセッサ１０４に送出される。
【００５７】
アクション１７２では、初期のセットアップデータがマージユニット１０６に送出される。初期のセットアップデータは、好ましくは、フォーマットデータと実質的に類似するデータのセットを含んでいる。このようにして、グラフィックプロセッサ１０４とマージユニット１０６は、同様の動作モードを実行するように構成される。好ましくは、初期のセットアップデータはバス１２６を経由してマージユニット１０６に送出される。
【００５８】
グラフィックプロセッサ１０４は、好ましくは、プログラムデータとフォーマットデータに従って初期化されるとき、個々のローカル同期ユニット１１８と制御プロセッサ１０２の少なくとも１つにシステムレディ信号を送出する（アクション１７４）。システムレディ信号には、「ＳＹＳＲＥＡＤＹ」のようないずれかの適切な名前が付与される。システムレディ信号は、バス１２６を経由して制御プロセッサ１０２に送出される。
【００５９】
同期ユニット１０８は、好ましくは、制御プロセッサ１０２及びグラフィックプロセッサ１０４へ、マージ同期信号１３２を周期的に送出する。あるいは、マージユニット１０６は、マージ同期信号１３２をグラフィックプロセッサ１０４に周期的に送出する。いずれの場合でも、マージ同期信号１３２は、所定の表示プロトコルに関連するフレーム速度及びブランク期間と同期する（アクション１７６）。
マージ同期信号１３２は、好ましくは、専用の同期ライン１２９を経由して（もしくはマージユニット１０６を経由して）グラフィックプロセッサ１０４へ、及びバス１２６を経由して制御プロセッサ１０２へ送出される。
各グラフィックプロセッサ１０４は、ローカル同期ユニット１１８を有する場合、フレーム画像データが適切な時間に解放されることを確保するために、マージ同期信号１３２の遷移間で予め定められた数のクロック信号をカウントする（アクション１７８）。
【００６０】
アクション１８０において、制御プロセッサ１０２は、グラフィックプロセッサ１０４が画像データのローカルフレームバッファ１１２へのレンダリングを開始することを示すトリガであるレンダリング開始命令ＤＲＡＷＮＥＸＴを送出する。
好ましくは、トリガは、バス１２６を経由してグラフィックプロセッサ１０４へ送出される。好ましくは、トリガは同期ユニット１０８を通ってグラフィックプロセッサ１０４の個々のローカル同期ユニット１１８へ発行される。
上述したように、処理ユニット１１４上で局部的に実行されるアプリケーションソフトウェアプログラムがレンダリング命令自体を供給する場合、グラフィックプロセッサ１０４は、制御プロセッサ１０２からの明示的なトリガを受領する必要はない。しかしながら、個々のローカルフレームバッファ１１２への画像データのレンダリングを開始時点を示すトリガを少なくとも幾つかのグラフィックプロセッサ１０４へ発行するときには、ある特徴が得られる。アクション１８２において、個々のグラフィックプロセッサ１０４は、画像データに関するレンダリング機能を実行してフレーム画像データを生成し、また、これを個々のローカルフレームバッファ１１２に記憶する。
【００６１】
アクション１８４において、制御プロセッサ１０２は、例えば、フレーム毎に動作モードを変更するために、一連のセットアップデータをグラフィックプロセッサ１０４及びマージユニット１０６へ送出する。
【００６２】
アクション１８６において、グラフィックプロセッサ１０４の少なくとも１つは、好ましくは、レンダリング完了信号ＤＲＡＷＤＯＮＥを制御プロセッサ１０２に発行する。レンダリング完了信号は、バス１２６を経由して制御プロセッサ１０２へ送出され、制御プロセッサ１０２へ伝達される前にローカル同期ユニット１１８を介して同期ユニット１０８に伝達される。
【００６３】
アクション１８８において、適切なグラフィックプロセッサ１０４は、例えば、マージ同期信号１３２が適切なブランク期間の終期に達したことを示すときに、個々のローカルフレームバッファ１１２からマージユニット１０６へフレーム画像データを出力する。マージユニット１０６は、表示のために、統合フレーム画像データを生成する（アクション１９０）。これらの処理の少なくとも幾つかは、表示画面上での表示のための高品質の動画像を生成するためにフレーム毎に繰り返される。
【００６４】
好都合なことに、グラフィック装置１００は、付加的な処理能力が必要となるときにスケーラビリティが容易に対応できるようになってる。
図１０には、本発明の１つ以上の特徴に従って表示される画像を生成するために画像データを処理するグラフィック装置２００が示されている。
このグラフィック装置２００は、制御プロセッサ１０２、複数のグラフィック装置１００Ａ〜Ｄ、コアマージユニット１０６Ｎ、及びコア同期ユニット１０８Ｎを有している。図１０において、個々のグラフィック装置１００Ａ、１００Ｂ、１００Ｃなどは、好ましくは、図３に示したグラフィック装置１００のものと、好ましくは実質的に類似するものとされる。図３のマージユニット１０６は、グラフィックプロセッサ１０４の各セットと連結された、個々のローカルマージユニット１０６Ａ、１０６Ｂ，１０６Ｃなどに対応している。ローカルマージユニット１０６Ａ、１０６Ｂ、１０６Ｃなどは、好ましくは、それぞれ、上述した動作モードと一致するローカル統合フレーム画像データを生成する。各ローカルマージユニット１０６Ａ、１０６Ｂ、１０６Ｃなどは、好ましくは、コアマージユニット１０６Ｎに連結される。そして、ローカル統合フレーム画像データを同期的に受領するために、また、表示される統合フレーム画像データを同期的に生成するように動作する。
【００６５】
コアマージユニット１０６Ｎは、好ましくは、マージ同期信号を生成するために動作する。各グラフィック装置１００Ａ，１００Ｂ、１００Ｃなどは、好ましくは、それぞれローカル同期ユニット１０８Ａ、１０８Ｂ、１０８Ｃなど（図３の同期ユニット１０８に対応する）を含んでいる。個々のローカル同期ユニット１０８Ａ、１０８Ｂ、１０８Ｃなどは、好ましくは、フレーム画像データがローカルマージユニット１０６Ａ、１０６Ｂ、１０６Ｃと同期的に解放され、最終的にコアマージユニット１０６Ｎに出力されることを確定するためにマージ同期信号１３２を使用する。
【００６６】
好ましくは、グラフィックプロセッサ１０４Ａ−Ｄの各グループの各ローカルフレームバッファ１１２は、独立したデータライン１２７を経由して各ローカルマージユニット１０６Ａ−Ｄに機能的に連結されており、これにより、各ローカルフレームバッファと各ローカルマージユニットとの間で他のものとは独立した通信を行うことができる。例えば、ローカルマージユニット１０６Ａ、１０６Ｂ、１０６Ｃなどへのフレーム画像データの独立した送出が確保される。好ましくは、独立した各データライン１２７Ａ−Ｄは、各ローカルマージユニット１０６Ａ、１０６Ｂ、１０６Ｃをコアマージユニット１０６Ｎに連結しており、これにより、それらの間での独立な通信が確保される。例えば、各ローカルマージユニット１０６Ａ−Ｄからコアマージユニット１０６Ｎへの統合フレーム画像データの独立した送出が可能になる。更に、独立した各同期ラインは、好ましくは、各ローカル同期ユニット１０８Ａ−Ｄをコア同期ユニット１０８Ｎに連結しており、これにより、それらの間での独立した通信が確保される。明示していないが、図３のバス１２６と実質的に類似するバスが、制御プロセッサ１０２から、各グラフィックプロセッサ１０４Ａ、１０４Ｂ、１０４Ｃなど、コアマージユニット１０６Ｎ及びコア同期ユニット１０８Ｎまで延在している。
【００６７】
図９に関連して、グラフィック装置２００は、好ましくは、ハイレベルのフローダイヤグラムに従って動作する。これにより、上述した１つ以上の動作モード（図４−図７参照）が、好ましくはフレーム毎に実行される。より詳しくは、制御プロセッサ１０２は、好ましくは、後続のセットアップデータを、フレーム毎に、各グラフィック装置１００Ａ−Ｄのグラフィックプロセッサ１０４、ローカルマージユニット１０６Ａ−Ｄ及びコアマージユニット１０６Ｎに送出するように動作する。
好ましくは、コアマージユニット１０６Ｎ及び各ローカルマージユニット１０６Ａ−Ｄは、独立した制御ライン１３１によって制御プロセッサ１０２に機能的に連結されており、これにより、少なくとも１つのフレームから次のフレームへ異なるモードで動作するための命令に関して、制御プロセッサ１０２、コアマージユニット１０６Ｎ及び各ローカルマージユニット１０６Ａ−Ｄの間において独立した通信が確保される。
【００６８】
図１１を参照すると、各グラフィックプロセッサ１０４は、好ましくは、図示されたブロック図と一致するように実施される。上述した顕著な機能は、レンダリング機能１１７、フレームバッファリング機能１１５，処理機能１１３などのように分類されており、またこの構成の動作に関する具体的な詳細は、２０００年２月１１日出願の「GAME MACHINE WITH GRAPHICS PROCESSOR」の名称で、本発明の譲受人に譲渡された米国特許出願番号０９／５０２,６７１号に記載されており、その開示のすべてを本明細書に参考として組み入れる。
【００６９】
次に、本発明の１つ以上の特徴に従った、表示用画像を生成するために画像データを処理するグラフィック装置３００を例示した、図１２を参照する。
このグラフィック装置３００は、好ましくは、制御プロセッサ３０２、複数のグラフィックプロセッサ３０４、及びマージユニット３０６を含んで構成される。
制御プロセッサ３０２は、好ましくは、複数のグラフィックプロセッサ３０４に命令を供給するように動作する。制御プロセッサ３０２は、また、マスタータイミングジェネレータ３０８、コントローラ３１０、及びカウンタ３１２を含んでいる。
マスタータイミングジェネレータは、好ましくは上述した１つ以上の表示プロトコルのような表示プロトコルのブランク期間に同期した同期信号を生成するように動作する。
コントローラ３１０は、好ましくは複数のグラフィックプロセッサ３０４に、図３の制御プロセッサ１０２がグラフィック装置１００のグラフィックプロセッサ１０４に与える命令と類似した命令を提供するように動作する。制御プロセッサ３０２は、好ましくは、詳細は後述するが、マージユニット３０６へのフレーム画像データの解放を同期させるために、複数のグラフィックプロセッサ３０４にリセット信号を提供し、これが同期信号と合わせて利用されるように動作する。
【００７０】
各グラフィックプロセッサ３０４は、好ましくは、フレーム画像データ内に画像データをレンダリングし、このフレーム画像データを個々のローカルフレームバッファ（図示せず）に記憶するように動作するレンダリングユニット３１４を含んでいる。より具体的には、各グラフィックプロセッサ３０４は、好ましくは、図３のグラフィックプロセッサ１０４において採用された機能ブロックの少なくとも幾つかを有している。加えて、各グラフィックプロセッサ３０４は、好ましくは、フレーム画像データがローカルフレームバッファから解放される時点を示す同期カウンタを生成するように動作する同期カウンタ３１８を含んでいる。
個々の同期カウンタ３１８は、好ましくは、マスタータイミングジェネレータ３０８からの同期信号に基づいてそれらの個々の同期カウンタを増加または減少させる。
各グラフィックプロセッサ３０４は、好ましくは、個々のローカル同期カウントが所定のしきい値に達したときにマージユニットそられの個々のフレーム画像データを解放するように動作する。
制御プロセッサ３０２のコントローラ３１０により発行されたリセット信号は、好ましくは、個々のグラフィックプロセッサ３０４の同期カウンタをリセットする際に利用される。この方法において、制御プロセッサ３０２は、好ましくは、各レンダリングユニット３１４からのフレーム画像データの解放のタイミングを操作するように動作する。よって、グラフィック装置３００は、図４−図７に示した動作モード、例えば、タイミング関係、領域分割、均一化、レイヤブレンディング、Ｚソート及びレイヤブレンディング、及びフリップアニメーション、を容易にすることができる。
【００７１】
図１３Ａには、マスタータイミングジェネレータ３０８により発行される同期信号、リセット信号、及び同期カウンタ３１８の個々の１つの間における時間関係が示されている。
特に、同期カウンタ３１８は、同期信号が遷移する度に増加もしくは減少する。リセット信号は、ゼロ値のような、予め定められたレベルからの計数を開始するために同期カウンタ３１８をリセットする。
図１３Ｂを参照すると、この代替えの構成は、タイミング精度をより厳密にするために採用される。特に、同期カウンタ３１８は、サブ同期カウンタ（図示せず）によって代用され、あるいは共同で動作する。マスタータイミングジェネレータ３０８は、同期信号よりも高い周波数で動作するサブ同期信号を生成する。サブ同期カウンタは、好ましくは、サブ同期信号の遷移に応答して増加あるいは減少し、また制御プロセッサ３０２からのリセット信号の受領によりリセットされる。このようにアレンジメントすることで、グラフィックプロセッサ３０４は、好ましくは、各サブ同期カウンタが所定のしきい値（図１３Ａのタイミングを利用して採用されるしきい値よりも高い）に達したときに、それらの個々のフレーム画像データをマージユニット３０６に解放するように動作する。
【００７２】
図１０及び１２を参照すると、グラフィック装置３００は、図１０に示したものと実質的に同様な要素により構成される。すなわち、複数のグラフィックプロセッサ３０４は各セットにグループ化され、各セットはローカルマージユニットに連結され、また、各ローカルマージユニットはコアマージユニットに連結される。
コアマージユニットは、好ましくは、各ローカルマージユニットから統合フレーム画像データを同期的に受領し、この統合フレーム画像データを更に同期的に統合するように動作する。
【００７３】
次に、本発明の１つ以上の別の特徴に従って動作するグラフィック装置３５０のブロック図である、図１４を参照する。
いくつかの点において、グラフィック装置３５０は、図３のグラフィック装置３００と実質的に類似している。例えば、グラフィック装置３５０は、複数のグラフィックプロセッサ１０４を有しており、これらの１つ以上は、好ましくは、画像データをフレーム画像データへレンダリングし、このフレーム画像データを個々のローカルフレームバッファに記憶するように動作する。より具体的には、グラフィック装置３５０のグラフィックプロセッサ１０４は、好ましくは、図３のグラフィックプロセッサ１０４と実質的に同様なものとする。
グラフィック装置３５０は、また、複数のグラフィックプロセッサに機能的に連結されると共にグラフィックプロセッサ１０４の各ローカルフレームバッファからフレーム画像データを同期的に受領し、これに基づいて統合フレーム画像データを同期的に生成するために動作する少なくとも１つのマージユニット１０６を含んでいる。グラフィック装置３５０はまた、各グラフィックプロセッサ及びマージユニット１０６に作動的に連結された制御プロセッサ１０２を含んでいる。この点について説明したグラフィック装置３５０の各部は、実質的に図３のものと同様である。グラフィック装置３５０の機能は図３のグラフィック装置３５０の機能に実質的に同様であることが最も好ましい。
【００７４】
グラフィック装置３５０は、同様に、好ましくは、マージユニット１０６の出力に機能的に連結された、つまり、統合フレーム画像データの少なくとも１つのフレームを受領するように動作する、ビデオ転送ハブ（ＶＴＨ、あるいは単純にビデオハブ）３５２を含んでいる。
ビデオハブ３５２は、好ましくは更に、フレーム画像データ３５６の少なくとも外部に供給されたフレームを受領するように動作する。ビデオハブ３５２は、好ましくは、バス１２６を経て複数のグラフィックプロセッサ１０４及び制御プロセッサ１０２に連結されている。グラフィック装置３５０は、また、好ましくは、ビデオハブ３５２に機能的に連結されると共に、統合フレーム画像データの少なくとも１つのフレーム及び外部フレーム画像データ３５６の少なくとも１つのフレームのいずれかあるいは両方を受領し、記憶し、その後にこれを解放することができる、キャプチャメモリ３５４を含んでいる。
【００７５】
１つ以上のグラフィックプロセッサ１０４、あるいは制御プロセッサ１０２による命令があると、ビデオハブ３５２は、好ましくは、統合フレーム画像データの少なくとも１つのフレーム及び／または１以上のグラフィックプロセッサ１０４への外部フレーム画像データ３５６の少なくとも１つの送出を促進する。１以上のグラフィックプロセッサ１０４は、次いで、フレーム画像データの一連の連続したフレームを生成するために、ビデオハブ３５２により送出されたフレーム画像データを利用する。更に、マージユニット１０６は、このフレーム画像データのフレームを受領し、これに基づいて統合フレーム画像データの次のフレームを生成する。
【００７６】
一例として、ビデオハブ３５２は、外部ソース、例えば、デジタル化されたフィルム、別のグラフィック処理ユニットプロセッサ、ストリーミングビデオからのフレーム画像データを統合するために利用され、また１以上のフレーム画像データは、グラフィック装置３５０により処理される。この機能は、最終的な動画における所望の特殊効果を得るために、３５ｍｍ映画のようなフィルムがデジタル的に生成した画像と統合されるときに特に有用である。
【００７７】
グラフィック装置３５０が、外部フレーム画像データ３５６の表示プロトコルのような、表示プロトコルに従ってマージユニット１０６により達成されるマージ機能と同期できるので、高品質の統合画像が得られる。更に、グラフィック装置３５０が容易に基準化できるので、フィルムのような、外部画像の画像品質基準に適合あるいはそれを超える非常に高い品質のデータ出力が得られる。
ここで、図１４のグラフィック装置３５０は、図１０及び図３のグラフィック装置１００のものと実質的に同様な方法で規準化される。より具体的には、１以上のビデオハブ３５２及び１以上のキャプチャメモリ３５４が、より高い精度のデータ出力を達成するために図１０と実質的に同様な回路技術で採用される。
【００７８】
次に、本発明の１以上の別の特徴に従った使用に適したグラフィック装置３６０を例示した、図１５を参照する。
グラフィック装置３６０は、好ましくは、図３のものと実質的に同様な幾つかの機能及び／または回路ブロック、すなわち少なくとも１つのマージユニット１０６及び制御プロセッサ１０２に連結された複数のグラフィックプロセッサ１０４を含んでいる。
より具体的には、グラフィック装置３６０は、好ましくは、これらの機能ブロックに関しては図３のグラフィック装置１００と実質的に同様のものとする。グラフィック装置３６０は、しかしながら、共通画像データを例えば、バス１２６上で受領し、これを記憶するように動作するメモリ転送ハブ（ＭＴＨあるいは単にメモリハブ）３６２を更に含んでいる。
メモリ３６４は、好ましくはメモリハブ３６２に機能的に連結されており、これにより、共通画像データが記憶され、及びこれから検索される。共通画像データは、ポリゴンが個々のローカルフレームバッファにレンダリングされたときに使用されるテクスチャデータのような、いずれかの形態を採ることができる。
このようなテクスチャデータは、それが展開されたときには、メモリ量の比較的大きな部分を占有する。複数のグラフィックプロセッサ１０４のそれぞれにおいて必要とされるメモリ量を減じるため、テクスチャデータのような共通画像データが、好ましくはメモリ３６４内に記憶されることが重要である。１以上のグラフィックプロセッサ１０４が共通画像データを必要とするときには、メモリハブ３６２は、好ましくは、メモリ３６４から共通画像データを検索し、またこのデータを１以上のグラフィックプロセッサ１０４に転送する。
【００７９】
メモリハブ３６２及び関連するメモリ３６４は、アプリケーションの必要性に応じて、図１０及び／または図１４に示されたような基準化されたシステムにおいて利用される。
【００８０】
本発明の１以上の特徴に従って使用されるのに適合されたグラフィック装置４００を例示したブロック図である、図１６を次に参照する。
多くの点において、グラフィック装置４００は、図１０のグラフィック装置２００に実質的に類似している。特に、グラフィック装置４００は、制御プロセッサ１０２、複数のグラフィック装置１００Ａ−Ｄ、及びコアマージユニット１０６Ｎを含んでいる。このグラフィック装置４００は、図１０のグラフィック装置２００のように、コア同期ユニット１０８Ｎは必要としない。これらの機能及び／または回路ブロックの機能は、図３及び図１０において説明したものと実質的に類似しており、繰り返しの説明は省略する。
【００８１】
グラフィック装置４００のコアマージユニット１０６Ｎは、バス１２６と制御データバス４０４との間に機能的に連結されたバスコントローラ４０２を含んでいる。制御データバス４０４は、ローカルマージユニット１０６Ａ−Ｄ及びコアマージユニット１０６Ｎと通信する。ローカルマージユニット１０６Ａ−Ｄは、また、好ましくは、バスコントローラ４０２を有している。各バスコントローラ４０２は、図示したようにコアマージユニット１０６Ｎの内部及びローカルマージユニット１０６Ａ−Ｄの内部に組み込まれるが、これらの機能部は、本発明の範囲を逸脱することなしに、コアマージユニット１０６Ｎ及びローカルマージユニット１０６Ａ−Ｄから分離ないし独立させるようにしてもよい。
個々のローカルマージユニット１０６Ａ−Ｄは、別のデータライン１２７Ａ−Ｄによりコアマージユニット１０６Ｎに機能的に結合されており、これにより、個々のローカルマージユニット１０６Ａ−Ｄからコアマージユニット１０６Ｎへローカル統合フレーム画像データが他のものと独立に送出されるようになる。
【００８２】
図９に関して説明したように、グラフィック装置４００は、グラフィック装置２００と同様、好ましくは図９の詳細なフローチャートに従って動作する。これにより、好ましくはフレーム毎に、図４−図７に示した１つ以上の動作モードが実行される。特に、制御プロセッサ１０２は、好ましくは、フレーム毎に、個々のグラフィック装置１００Ａ−Ｄに次のセットアップデータを送出するために動作する。このセットアップデータは、グラフィックプロセッサ１０４及びマージユニット１０６の動作モードを確立する。制御プロセッサ１０２は、１以上の動作モードに関する命令、つまり、セットアップデータを、バスコントローラ４０２と制御データバス４０４を経由して各ローカルマージユニット１０６Ａ−Ｄ及びコアマージユニット１０６Ｎに送出する。
【００８３】
図１０のグラフィック装置２００及び図３のグラフィック装置１００に関して述べてきたように、コアマージユニット１０６Ｎは、好ましくは、フレーム画像データの同期的な解放、ローカル統合フレーム画像データ及び統合フレーム画像データの生成を容易にするため、マージ同期信号１３２を生成する。コアマージユニット１０６Ｎは、制御データバス４０４及びデータバス１２６を経て、マージ同期信号１３２を個々のグラフィックプロセッサ１０４へ送出する。
マージ同期信号１３２が迅速に送出され且つグラフィック装置１００Ａ−Ｄにより迅速に受領されることを確保するため、バスコントローラ４０２は、好ましくは、制御データバス４０４上でマージ同期信号１３２の受領の際にはデータバス１２６の制御を占有（seize）する。また、マージ同期信号１３２を個々のグラフィック装置１００Ａ−Ｄに優先度に基づいて送出する。このようにして、バスコントローラ４０２は、マスターバスコントローラの機能を提供する。
なお、コアマージユニット１０６Ｎは、制御データバス４０４及びローカルマージユニット１０６Ａ−Ｄを経由して、個々のグラフィックプロセッサ１０４にマージ同期信号１３２を送出するようにしてもよい。
【００８４】
図１６のグラフィック装置４００において実施された本発明の１以上の特徴によれば、共通の制御データバス４０４によって、制御プロセッサ１０２，ローカルマージユニット１０６Ａ−Ｄ及びコアマージユニット１０６Ｎの間における別の各制御データラインを省けるという特長が得られる。よって、全体の装置の規模が簡略化され、異なる方法による機能ブロックの分割の自由度が得られる。
【００８５】
本発明の１以上の更に別の特徴に従って使用するために適合したグラフィック装置５００を例示したブロック図である、図１７を次に参照する。
当業者にとっては、複数のグラフィックプロセッサ１０４、複数のローカルマージユニット１０６Ａ−Ｄ、コアマージユニット１０６Ｎ、及び制御プロセッサ１０２などの、共通の機能的及び／または回路ブロックに注意を払うことで、多くの点において、図１７のグラフィック装置５００は、図１０及び１６の装置に実質的に類似していることが自明である。従って、これら機能的及び／または回路ブロックに関する詳細は、便宜上省略する。
【００８６】
グラフィック装置５００は、好ましくは、特定の機能的及び／または回路ブロックの間のデータ伝送がパケット交換ネットワーク上で経路選択される、「コネクションレスネットワーク」の機能を利用して動作する。データは、パケット交換ネットワークの制御プロトコル（ＴＣＰ）レイヤに従ってパケットに編成される。各パケットは、特定のパケットのグループに関連していることを識別する識別番号、及びパケット交換ネットワーク上での機能的及び／または回路ブロックの着アドレス（宛先アドレス）を含んでいる。宛先において、ＴＣＰはパケットを元のデータに再構築する。
【００８７】
次に、グラフィック装置５００の特別な特徴に注目すると、スイッチ５０４は、コアマージユニット１０６Ｎ及び個々のローカルマージユニット１０６Ａ−Ｄ内において、制御プロセッサ１０２、各グラフィック装置１００Ａ−Ｄ、複数のグラフィックプロセッサ１０４及び１つ以上のパケット交換コントローラ５０２に機能的に連結されている。
ここで、パケット交換コントローラ５０２は、本発明の範囲を逸脱することなしに、コアマージユニット１０６Ｎ及び／またはローカルマージユニット１０６Ａ−Ｄとは別に実施される。
パケット交換ネットワークによって各グラフィックプロセッサ１０４が制御プロセッサ１０２に連結されているので、プログラムデータとフォーマットデータは、パケット化された形態でグラフィックプロセッサ１０４に送出される。よって、例えば、ポリゴン画像の変形、３次元画像−２次元画像の変換、その拡大・減少・回転・照明・陰影・色付けなどを容易にする１つ以上のソフトウェアプログラムがスイッチ５０４を介してグラフィックプロセッサ１０４に送出される。
【００８８】
ここで、グラフィック装置５００の機能的及び／または回路ブロック間での特定の相互連結は、パケット交換ネットワークによってなされてはいない。例えば、複数のグラフィックプロセッサ１０４は、専用のデータライン１２７によって各ローカルマージユニット１０６Ａ−Ｄに連結される。同様に、複数のローカルマージユニット１０６Ａ−Ｄは、専用のデータライン１２７Ａ−Ｄによってコアマージユニット１０６Ｎに連結される。更に、制御プロセッサ１０２からローカルマージユニット１０６Ａ−Ｄへのコアマージユニット１０６Ｎへの命令の転送は、図１６に関して説明した制御データバス４０４を介して少なくとも部分的に送出される。
【００８９】
制御プロセッサ１０２は、本発明の他の構成に関して詳細に述べたように、フレーム毎に１つ以上の動作モードにおいて動作する、グラフィックプロセッサ１０４、ローカルマージユニット１０６Ａ−Ｄ、及びコアマージユニット１０６Ｎに命令を与えるために動作する。
特に、制御プロセッサ１０２は、好ましくは、スイッチ５０４を経て各宛先の機能的及び／または回路ブロックに、１つ以上の動作モードに関する命令を送出する。各命令はＴＣＰレイヤに従ってパケット化される。更に、コアマージユニット１０６Ｎは、好ましくは、上述したように、マージ同期信号１３２を生成するように動作する。コアマージユニット１０６Ｎは、制御データバス４０４、パケット交換コントローラ５０２、及びスイッチ５０４を経て、種々の宛先の機能的及び／または回路ブロックにマージ同期信号１３２を送出するように動作する。
【００９０】
パケット交換コントローラ５０２は、制御データバス４０４上でコアマージユニット１０６Ｎがマージ同期信号１３２を送出するときに、スイッチ５０４の制御を占有することができる。これにより、マージ同期信号１３２が宛先の機能的及び／または回路ブロックに迅速に送出される。
ＴＣＰレイヤが所定の待ち時間（latency）内に宛先の機能的及び／または回路ブロックのいずれかに命令のすべてのパケットの非常に迅速な送出及び経路指定の保証を行うことができるときには、パケット交換コントローラ５０２は、スイッチ５０４を占有する必要がない。むしろ、マージ同期信号１３２が受容可能な許容範囲内で、宛先の機能的及び／またはグラフィックプロセッサ１０４のような回路ブロックに受領されるように、デザインの推定がなされる。あるいは、コアマージユニット１０６Ｎは、制御データバス４０４及びローカルマージユニット１０６Ａ−Ｄを経て各グラフィックプロセッサ１０４にマージ同期信号１３２を送出する。
【００９１】
次に、本発明の１以上の別の特徴による、表示装置上に画像を生成するために画像データを処理するためのグラフィック装置６００のブロック図である、図１８を参照する。
このグラフィック装置６００は、好ましくは、ローカルエリアネットワーク（ＬＡＮ）のような、パケット交換ネットワーク上で一緒に結合されており、少なくともその１つが制御ノードである、複数の処理ノードを含んでいる。
パケット交換ネットワーク（ここでは、ＬＡＮ）及び関連するＴＣＰレイヤは、画像を生成する上述の同期スキーマを支持するため、ソースノードから宛先ノードへの十分に高いデータ伝送速度を享受する。
【００９２】
制御ノード６０４は、好ましくは、表示用画像を生成するための画像データの処理に関与する複数の処理ノードの中から処理ノードのサブセットを選択するために機能する。処理ノードのサブセットは、好ましくは、少なくとも１つのアクセラレータノード６０６、少なくとも１つのマージノード６０８、少なくとも１つのスイッチノード６１０、及び少なくとも１つのコンフィグレーションノード６１２を含んでいる。
グラフィック装置６００は、付随的ないし付加的に、少なくとも１つのコアマージノード６１４、少なくとも１つのビデオハブノード６１６、及び少なくとも１つのメモリハブノード６１８を含んで構成される。
【００９３】
少なくとも一つのアクセラレータノード６０６は、好ましくは少なくとも図３、１０及び１４−１７に関して上述した１つ以上のグラフィックプロセッサ１０４を含んでいる。より詳しくは、少なくとも１つのアクセラレータノード６０６は、１つ以上のグラフィックプロセッサ１０４に関して上述した機能を享受するが、この機能に関しては、便宜上、繰り返して詳細に説明することは省略する。
少なくとも１つのマージノード６０８は、好ましくは、図３、１０及び１４−１７に関して上述した少なくとも１つのマージユニット１０６を有している。好ましくは、少なくとも１つのマージノード６０８は、少なくとも１つのマージユニット１０６の機能を享受するが、この機能の詳述は、便宜上、省略する。制御ノード６０４は、好ましくは、図３、１０及び１４−１７で上述した制御プロセッサ１０２を有するが、制御プロセッサ１０２の詳述は、便宜上、省略する。
スイッチノード６１０は、好ましくは、画像データ、フレーム画像データ、統合フレーム画像データ、いずれかの命令及び／または複数の処理ノード間でのいずれかの他のデータを経路選択するように動作する。
【００９４】
複数の処理ノードは、表示のための画像の生成を達成するためにタップ（ｔａｐ）されるリソースを示している。これらのリソースは、パケット交換ネットワークを介して分配されるので、画像生成に関与するためにこれらリソースサブセットを選択する処理を設けることが望ましい。より具体的には、幾つかのリソースは、画像生成に関与するために利用可能でないが、画像の生成に関与するための機能を持たない他のリソースが利用可能となる。
【００９５】
図１８及び図１９を参照すると、コンフィグレーションノード６１２は、好ましくは、１つ以上のノードコンフィグレーション要求をパケット交換ネットワークを介して複数の処理ノードへ発行するように動作する（アクション６５０）。
これらのノードコンフィグレーション要求は、好ましくは、処理ノードに対して、データ処理能力、利用可能性、宛先アドレスなどに関する少なくとも１つの情報を送出することを促す。より詳しくは、データ処理能力に関して求められた情報は、少なくとも以下にリストされるものを含んでいる。
（ｉ）画像データがフレーム画像データへ処理される速度（例えば、グラフィックプロセッサ１０４の能力）、
（ｉｉ）利用可能な多数のフレームバッファないし利用可能なフレームバッファの数（例えば、グラフィックプロセッサ１０４の能力）、
（ｉｉｉ）フレーム画像データの解像度（例えば、グラフィックプロセッサ１０４の能力）、
（ｉｖ）所定のノードの画像処理装置によって支持される各動作モードの表示ないし指示、
（ｖ）各フレーム画像データ（例えばマージノード６０８の能力）がマージされるために合成されたフレーム画像データへ入力される多数の対応するパス、
（ｖｉ）マージユニットによって支持される動作モードの表示ないし指示、
（ｖｉｉ）データを記憶するために利用可能なメモリのサイズ（例えば、メモリハブノード６１８の能力）、
（ｖｉｉｉ）メモリのアクセス速度（例えば、メモリハブノード６１８の能力）、及び（ｉｘ）メモリの処理能力（例えば、メモリハブノード６１８の能力）。
なお、上記リストは一例であり、完全なものではない。
【００９６】
アクション６５２において、好ましくは、少なくとも幾つかの処理ノードは、パケット交換ネットワークを介して、それらのデータ処理能力、宛先アドレス、またはコンフィグレーションノード６１２の利用可能性に関する情報を送出する。コンフィグレーションノード６１２は、好ましくは、受領した宛先アドレスをノードコンフィグレーション要求に応答する各処理ノードへ分配するように動作する（アクション６５４）。
【００９７】
アクション６５６において、コンフィグレーションノード６１２は、好ましくは、制御ノード６０４へのノードコンフィグレーション要求に応答して各処理ノードにより供給された情報を送出するように動作する。
アクション６５８では、制御ノード６０４は、好ましくは、表示のための画像を生成するために画像データを処理する際に関与するためにノードコンフィグレーション要求に応答する処理ノードの中から処理ノードのサブセットを選択するように動作する。この選択プロセスは、好ましくは、ノードコンフィグレーション供給に対する処理ノードからの応答に基づくものである。
アクション６６０において、制御ノード６０４は、好ましくは、画像データを処理する際に関与するための要求を処理ノードのサブセットに対して送出するために動作する。これにより、これらサブセットは、画像データの処理への関与を迅速に受諾する。
制御ノード６０４は、好ましくは更に、関与に対する要求に応答した処理ノードの１以上のサブセットに対して１以上の別のコンフィグレーション要求を送出するように動作する（アクション６６２）。好ましくは、この別のノードコンフィグレーション要求は、処理ノードが、画像データ、フレーム画像データ、統合フレーム画像データ、処理命令のようなデータを送出及び受領するために、処理ノードが期待するフォーマットに関する情報を提供するための当該処理ノードのための少なくとも１つの命令を含むようにする。
【００９８】
アクション６６４において、制御ノード６０４は、好ましくは、画像データを処理する際に関与する処理ノードのサブセットに処理ノードのどれを残すべきかを決定するように動作する。この決定は、好ましくは、ノードコンフィグレーション要求に応答して処理ノードによって提供される、データ処理能力、フォーマット情報、利用可能性（可用度）などの少なくとも１つに基づくものである。
アクション６６０において、グラフィック装置６００は、好ましくは、図９において述べた処理の流れに実質的に従って動作する。これは、特に、フレーム画像データ及び統合フレーム画像データの解放を少なくとも１つのマージノード６０８の１以上のマージユニット１０６に対して同期するためのマージ同期信号の使用に関して行われる。グラフィックプロセッサ１０４，マージユニット１０６，制御プロセッサ１０２，同期ユニット１０８などの間のデータ流れはパケット交換ネットワーク上で容易化されることは理解されよう。
更に、図１８のグラフィック装置６００は、好ましくは、上記した装置のいずれか、例えば、図３のグラフィック装置１００、図１０のグラフィック装置２００、図１４のグラフィック装置３５０，図１５のグラフィック装置３６０，図１６のグラフィック装置４００，図１７のグラフィック装置５００，あるいはこれらのいずれかの組み合わせ、を実施するために必要なリソースを提供するように動作する。
【００９９】
好都合なことに、図１８のグラフィック装置６００は、表示用の画像の所望の品質を達成するのに必要なソースを実質的に含むように容易に変更することができる。より具体的には、アクセラレータノード６０６、マージノード６０８、コアマージノード６１４、ビデオハブノード６１６、メモリハブノード６１８などは、画像生成に関与する処理ノードのサブセットに容易に付加あるいは除去されることから、どのようなレベルの処理能力が必要とされる場合であっても、所望の処理能力が、ケース毎に得られる。
【０１００】
表示用の画像イメージを生成するために画像データを処理するグラフィック装置７００のブロック図を示した図２０を、次に参照する。
グラフィック装置７００は、好ましくは、図１８に例示された処理ノードと実質的に同様な全体的な構成を有する。特に、グラフィック装置７００は、図１８に示したように、制御ノード６０４、アクセラレータノード６０６，マージノード６０８、スイッチノード６１０、コンフィグレーションノード６１２、及び付加的にコアマージノード６１４、ビデオハブノード６１６、及びメモリハブノード６１８を含んでいるが、明確化のためにこれらのノードの特定のものだけを図２０に示した。グラフィック装置７００は、図１８のグラフィック装置６００と図１９の処理フローに関して述べた機能を享受するが、この機能の詳細に関する詳細な記述は便宜上省略する。
【０１０１】
グラフィック装置７００の処理ノードは、インターネットのような開かれたパケット交換ネットワークに連結されるのが望ましい。
パケット交換ネットワークは、好ましくは、画像生成する上述した同期スキーマをサポートするために十分に高いデータ伝達速度を享受する適したハードウェア及びＴＣＰレイヤを使用する。
グラフィック装置７００は、処理ノードが階層毎に配置されることを意図しており、１以上のアクセラレータノード６０６（明確化のために、アクセラレータノード６０６を１つ図示した）は、n番目のレベルでパケットスイッチノードに連結されている。その延長として、制御ノード６０４、マージノード６０８、６１４（図示せず）、スイッチノード６１０、コンフィグレーションノード６１２（図示せず）、ビデオハブノード６１６（図示せず）、及びメモリハブノード６１８（図示せず）もまたn番目のレベルに配置される。
少なくともn番目のレベルのアクセラレータノード６０６の１つは、（n−1）番目のレベルのスイッチノード６１０によって連結される（n−1）番目のレベルの制御ノード６０４、及び複数の（n−1）番目のレベルのアクセラレータノード６０６を有する。
図２０に示したように、n番目のレベルのアクセラレータノード６０６は、（n−1）番目のレベルの制御ノード６０４Ａ、（n−1）番目のレベルのスイッチノード６１０Ａ、及び７（n−1）番目のレベルのアクセラレータノード６０６Ａ１−７を有している。
好ましくは、（n）番目のレベルのアクセラレータノードは、図１８のアクセラレータノード６０６の少なくとも１つに関して述べたように、集合体で実質的に同様に機能するが、n番目のレベルのアクセラレータノード６０６は、７つのアクセラレータノード６０６Ａ１−７を有するために、高レベルの処理能力を有している。各アクセラレータノードは、１以上のグラフィックプロセッサ１０４を有するものである。また、それぞれ１つ以上のグラフィックプロセッサ１０４などを有するので、（n−1）番目のレベルのアクセラレータノード６０６Ａ１−７は、好ましくは、図１８に関して述べたアクセラレータノード６０６の機能を有するものとなる。７（n−1）番目のレベルのアクセラレータノード６０６Ａ１−７が例示されているが、本発明の範囲を逸脱することなしに、（n−1）番目のレベルのアクセラレータノードをどのような数でも採用することができる。
【０１０２】
好ましくは、（n−1）番目のレベルのアクセラレータノード６０６Ａ６のような、１つ以上の（n−1）番目のレベルのアクセラレータノード６０６Ａ１−７は、（n−2）番目のレベルのスイッチノード６１０Ａ６により一緒に連結された、（n−2）番目のレベルの制御ノード６０４Ａ６と（n−2）番目のレベルの複数のアクセラレータノード６０６Ａ６、１−m（mは７のようないかなる数字でもよい）を有する。
（n−2）番目のレベルのアクセラレータノード６０６Ａ６、1−mは、図１８のアクセラレータノード６０６に関して上述した機能を享受する。本発明によれば、レベル数、n、は、いかなる整数でもよい。
【０１０３】
（n−2）番目のレベルのアクセラレータノード６０６Ａ６，４のような、１つ以上の（n−2）番目のレベルのアクセラレータノード６０６Ａ６、1-mは、（n−3）番目のレベルのスイッチノード６１０Ａ６、４によって連結される（n−3）レベルの制御ノード６０４Ａ６，４、及び（n−3）番目のレベルの複数のアクセラレータノード６０６Ａ６，４、1−m（m＝１〜７）を有している。
（n−3）番目のレベルのアクセラレータノード６０６Ａ６，４、1−m（m＝１〜７）は、図１８のアクセラレータノード６０６に関して上述した機能を享受する。この発明と同様、レベル数、n、はいかなる整数でもよい。
【０１０４】
図１８のグラフィック装置６００のように、制御ノード６０４は、好ましくは、複数の処理ノード間から、表示用の画像を生成するために画像データの処理に関与するために複数の処理ノードから処理ノードのサブセットを選択するように動作する（上記の図１９の説明を参照）。
図２０のグラフィック装置７００に関して、選択処理の結果は、ｎレベルを含む処理ノードのサブセットが得られる。
図２０及び２１Ａに関して、処理ノードのサブセットの選択が完了すると、ｎ番目のレベルの制御ノード６０４は、好ましくは、パケット交換ネットワークを介して、１つ以上のｎ番目のレベルの情報セット７５０を、１つ以上の処理ノードのサブセットへ送出する。情報セット７５０は、好ましくは、命令及び画像生成の際に使用されるデータの少なくとも１つを含む。例えば、命令は、好ましくは、上述したフレーム毎に動作する、グラフィックプロセッサ１０４、ローカルマージユニット１０６Ａ、コアマージユニット１０６Ｎなどの１つもしくはそれ以上の動作モードに関する情報を有している。データは、テクスチャデータ、ビデオデータ（最終的な画面を生成するために統合されるために外部から供給された画像データのフレームのような）などである。
【０１０５】
n番目のレベルの情報セット７５０のそれぞれは、好ましくは、所定の情報セットがn番目のレベルの制御ノード６０４から出力されることを示すn番目のレベルのヘッダ７５２を有する。ヘッダ７５２は、情報セットを命令情報、データ、あるいはこれらの組み合わせとして認識される。n番目のレベルの情報セット７５０は、好ましくは更に、複数のn番目のレベルのブロック７５４を有しており、各ブロックは、n番目のレベルのアクセラレータノード６０６、n番目のレベルのマージノード７５８、ｎ番目のレベルのビデオハブノード７６０、n番目のレベルのメモリハブノード７６２などのような、１つ以上のn番目のレベルのノードに関する情報及び／またはデータを有している。
n番目のレベルのスイッチノード６１０（図１８参照）は、好ましくは、情報セット７５０を分析する。その結果、各n番目のレベルの情報ブロック７５６−７６２は、各n番目のレベルのノードへ経路選択される。
【０１０６】
図２１Ｂを参照すると、情報セット７５０Ａのような１以上のn番目のレベルの情報ブロック７５６Ａは、複数の情報サブブロックを有する、n番目のレベルのアクセラレータノード６０６に関するn番目のレベルの情報ブロックを有する。
n番目のレベルの情報ブロック７５６Ａは、好ましくは更に、情報サブブロック７７２が命令、データなどを含むかどうかを示すヘッダ７７０を有している。
【０１０７】
図２０を参照すると、n番目のレベルのスイッチノード６１０は、情報セット７５０を受領し、そこからn番目のレベルのアクセラレータノード６０６に関するn番目のレベルの情報ブロック７５６Ａを分析し、及びn番目のレベルの情報ブロック７５６Ａを（n−1）番目のレベルの制御ノード６０４Ａへ送出するように動作する。
（n−1）番目のレベルの制御ノード６０４Ａは、好ましくは、n番目のレベルの情報ブロック７５６Ａの各（n−1）レベルの情報サブブロック７７２を（n−1）レベルのスイッチノード６１０Ａへ送出するために動作する。これにより、各（n−1）番目のレベルの情報サブブロック７７２は、各（n−1）番目のレベルのアクセラレータノード６０６Ａ１−ｍ（ｍ＝１〜７）へ送出される。この機能と処理は、アクセラレータノードの各レベルで好ましくは繰り返される。
【０１０８】
グラフィック装置７００は、上述したあらゆる装置を実施するのに必要なリソースを提供するように動作する。例えば、図３のグラフィック装置１００、図１０のグラフィック装置２００、図１４のグラフィック装置３５０、図１５のグラフィック装置３６０、図１６のグラフィック装置４００、図１７のグラフィック装置５００、図１８のグラフィック装置６００、及びこれらの組み合わせである。
【０１０９】
好都合なことに、図２０のグラフィック装置７００は、表示用の画面の所望の品質を得るために必要なこれらのソースを実質的に有するように容易に変更される。より具体的には、処理ノードの数とレベルを容易に増加もしくは減少できるので、どのレベルの処理能力が必要とされても、所望の量の処理能力がケース毎に得られる。
【０１１０】
本発明の少なくとも１つの別の特徴によれば、表示画面に表示する画像を生成するための画像データを生成する方法を実施することができる。この方法の実施に際しては、好ましくは、図３、８、１０〜１８、及び２０に例示された適切なハードウェア、及び／または手動もしくは自動処理を利用することができる。
自動処理は、ソフトウェアプログラムの命令を実行する公知のいずれかの処理装置を利用して実施される。ソフトウェアプログラムによって、プロセッサ（及び／または、いずれかの周辺装置システム）は、本発明の１つ以上の特徴に従って、特定の処理ステップを実行する。手動処理においては、各ステップ自体はマニュアルな技術手法を用いて実行される。いずれの場合でも、方法の処理ステップ及び／または動作は、図３、８、１０−１８または２０のハードウェアの少なくとも一部の上述した機能に対応する。
【０１１１】
以上、本発明をその特定の実施形態を参照して説明したが、これらの実施形態は、本発明の原理と応用を単に例示したものにすぎない。よって、これら例示した実施形態の多くの変更を行うことが可能であり、また、請求の範囲によって定められる本発明の技術思想及び範囲から逸脱しない他の構成を案出できるものである。
【図面の簡単な説明】
【図１】  従来技術によるグラフィックプロセッサのブロック図。
【図２】  従来技術による他のグラフィックプロセッサのブロック図。
【図３】  本発明の１つ以上の特徴による画像データを処理するための装置を例示したブロック図。
【図４】  図３の装置に一致した本発明の１つ以上の特徴を例示したタイミング図。
【図５】  図３の装置に一致した本発明の１つ以上の他の特徴を例示したタイミング図。
【図６Ａ】  図３の装置に一致した本発明の１つ以上の更に別の特徴を例示したタイミング図。
【図６Ｂ】  図３の装置に一致した本発明の１つ以上の更に別の特徴を例示したタイミング図。
【図７Ａ】  図３の画像データ処理のための装置を使用して実施するのに適合した本発明の１つ以上の特徴に一致した動作の種々のモードの各例を例示した説明図。
【図７Ｂ】  図３の画像データ処理のための装置を使用して実施するのに適合した本発明の１つ以上の特徴に一致した動作の種々のモードの各例を例示した説明図。
【図７Ｃ】  図３の画像データ処理のための装置を使用して実施するのに適合した本発明の１つ以上の特徴に一致した動作の種々のモードの各例を例示した説明図。
【図７Ｄ】  図３の画像データ処理のための装置を使用して実施するのに適合した本発明の１つ以上の特徴に一致した動作の種々のモードの各例を例示した説明図。
【図７Ｅ】  図３の画像データ処理のための装置を使用して実施するのに適合した本発明の１つ以上の特徴に一致した動作の種々のモードの各例を例示した説明図。
【図８】  図３に示された画像データを処理するための装置において採用されるマージユニットに関する追加の詳細を例示したブロック図。
【図９】  図３の装置により実施される動作を例示した工程の流れ図。
【図１０】  本発明の１つ以上の他の特徴による画像データを処理するための装置を例示したブロック図。
【図１１】  図３の装置において採用される本発明の１つ以上の特徴による好ましいグラフィックプロセッサのブロック図。
【図１２】  本発明の１つ以上の別の特徴による画像データを処理するための装置のブロック図。
【図１３Ａ】  図１２の装置において採用されるタイミング図。
【図１３Ｂ】  図１２の装置において採用されるタイミング図。
【図１４】  本発明の１つ以上の他の特徴による画像データを処理するための装置のブロック図。
【図１５】  本発明の１つ以上の他の特徴による画像データを処理するための装置のブロック図。
【図１６】  本発明の１つ以上の他の特徴による画像データを処理するための装置のブロック図。
【図１７】  本発明の１つ以上の他の特徴による画像データを処理するための装置のブロック図。
【図１８】  本発明の１つ以上の他の特徴による画像データを処理するためのシステムの説明図。
【図１９】  図１８のシステムにおいて使用されるのに適した工程の流れ図。
【図２０】  本発明の１つ以上の他の特徴による画像データを処理するための装置のブロック図。
【図２１Ａ】  図２０の装置において採用される命令のフォーマットのブロック図。
【図２１Ｂ】  図２０の装置において採用される命令のフォーマットのブロック図。
【符号の説明】
１２  処理ユニット
１４、１１０、３１４  レンダリングユニット
１６  フレームバッファ
１０２、３０２  制御プロセッサ
１０４、１０４Ａ〜１０４Ｄ、３０４  グラフィックプロセッサ
１０６  マージユニット
１０６Ａ  ローカルマージユニット
１０６Ｎ  コアマージユニット
１０８  同期ユニット
１０８Ａ、１１８  ローカル同期ユニット
１０８Ｎ  コア同期ユニット
１１２  ローカルフレームバッファ
１１３  処理機能
１１５  フレームバッファリング機能
１１７  レンダリング機能
２０２  シザリングブロック
２０４  αテストブロック
２０６  Ｚソートブロック
２０８  αブレンディングブロック
３１２、３１８  カウンタ
３５４  キャプチャメモリ
４０２  バスコントローラ
５０２  パケット交換コントローラ
５０４  スイッチ
６０４  制御ノード
６０６  アクセラレータノード
６０８  マージノード
６１０  スイッチノード
６１２  コンフィグレーションノード
６１４  コアマージノード
６１６  ビデオハブノード
６１８  メモリハブノード
【図１】
0003860034.tif 000002
【図２】
0003860034.tif 000003
【図３】
0003860034.tif 000004
【図４】
0003860034.tif 000005
【図５】
0003860034.tif 000006
【図６Ａ】
0003860034.tif 000007
【図６Ｂ】
0003860034.tif 000008
【図７Ａ】
0003860034.tif 000009
【図７Ｂ】
0003860034.tif 000010
【図７Ｃ】
0003860034.tif 000011
【図７Ｄ】
0003860034.tif 000012
【図７Ｅ】
0003860034.tif 000013
【図８】
0003860034.tif 000014
【図９】
0003860034.tif 000015
【図１０】
0003860034.tif 000016
【図１１】
0003860034.tif 000017
【図１２】
0003860034.tif 000018
【図１３Ａ】
0003860034.tif 000019
【図１３Ｂ】
0003860034.tif 000020
【図１４】
0003860034.tif 000021
【図１５】
0003860034.tif 000022
【図１６】
0003860034.tif 000023
【図１７】
0003860034.tif 000024
【図１８】
0003860034.tif 000025
【図１９】
0003860034.tif 000026
【図２０】
0003860034.tif 000027
【図２１Ａ】
0003860034.tif 000028
【図２１Ｂ】
0003860034.tif 000029