【手続補正書】
【提出日】平成17年7月13日(2005.7.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の相互接続されたノードによって実行されるレンダリング計算を使用してグラフィックスをレンダリングする方法であって、
前記複数の相互接続されたノードのそれぞれのローカルメモリにスーパーサンプルバッファのインターリーブを割り当て、分散型のスーパーサンプルフレームバッファを作成するステップと、
グラフィックドライバコマンドのシーケンスを受信するステップと、
前記グラフィックドライバコマンドのシーケンスに従って、グラフィックコマンドを決定するステップと、
前記インターリーブの割当てとは独立に、前記グラフィックコマンドを前記複数の相互接続されたノードのうちの複数に割り当てるステップと、
それぞれの前記ノードに割り当てられた前記グラフィックコマンドに従って、前記複数の相互接続されたノードのうちの少なくとも1つによって、前記レンダリング計算のラスタ化パイプラインステージを実行するステップ、
ラスタ化を実行する前記ノードのうちの少なくとも1によって、前記レンダリング計算のサンプルフィルパイププラインステージに関するコマンドを前記複数の相互接続されたノードのうちの複数に、前記インターリーブの割当てとは独立に、送信するステップと、
サンプルフィルコマンジを受信する前記複数の相互接続されたノードのうちの複数によって、該受信されたそれぞれのサンプルフィルコマンドに従って、前記レンダリング計算のサンプルフィルパイププラインステージを実行し、その結果、それぞれの前記ノードに割り当てられた前記スーパーサンプルバッファのインターリーブにおける情報の更新が行われるステップと、
前記相互接続されたノードのうちの1つまたは複数によって、前記スーパーサンプルフレームバッファのインターリーブにおける情報に従って、前記レンダリング計算のたたみ込みステージを実行するステップと、
を具備した方法。
【請求項２】
グラフィックドライバコマンドのシーケンスを受信するステップが、前記複数の相互接続されたノードにおけるインターフェイスチップによって実行される請求項1の方法。
【請求項３】
前記グラフィックドライバコマンドのシーケンスに従ってグラフィックコマンドを決定するステップが、前記複数の相互接続されたノードにおけるインターフェイスチップによって実行される請求項1の方法。
【請求項４】
前記グラフィックコマンドを割り当てるステップが、前記複数の相互接続されたノードにおけるインターフェイスチップによって実行される請求項1の方法。
【請求項５】
前記レンダリング計算のラスタ化パイプラインステージが、前記複数の相互接続されたノードにおける少なくとも1つのグラフィックス用のチップによって実行される請求項1の方法。
【請求項６】
前記レンダリング計算の前記サンプルフィルパイプラインステージが、前記複数の相互接続されたノードにおける少なくとも1つのグラフィックス用のチップによって実行される請求項1の方法。
【請求項７】
前記レンダリング計算のたたみ込みステージが、前記複数の相互接続されたノードにおける少なくとも1つのグラフィックス用のチップによって実行される請求項1の方法。
【請求項８】
前記ラスタ化パイプラインステージ、前記パイプラインステージおよび前記たたみ込みステージが、前記複数の相互接続されたノードにおける少なくとも1つのグラフィックス用のチップによって実行される請求項1の方法。
【請求項９】
前記グラフィックコマンドを割り当てるステップが、負荷バランス方法を使用する請求項1の方法。
【請求項１０】
前記レンダリング計算のラスタ化パイプラインステージが、クリップチェック処理を含む請求項1の方法。
【請求項１１】
前記レンダリング計算のラスタ化パイプラインステージが、必要に応じて、クリップ処理を含む請求項1の方法。
【請求項１２】
前記レンダリング計算のラスタ化パイプラインステージが、ベルテックスシェイディングを含む請求項1の方法。
【請求項１３】
前記レンダリング計算のラスタ化パイプラインステージが、スキャン変換を含む請求項1の方法。
【請求項１４】
前記レンダリング計算のラスタ化パイプラインステージが、ベルテックスに対してプログラマブルシェイディングを実行することを含む請求項1の方法。
【請求項１５】
前記レンダリング計算のラスタ化パイプラインステージが、ピクセルに対してプログラマブルシェイディングを実行することを含む請求項1の方法。
【請求項１６】
前記レンダリング計算のラスタ化パイプラインステージが、マイクロポリゴンベルテックスに対してプログラマブルシェイディングを実行することを含む請求項1の方法。
【請求項１７】
前記レンダリング計算のラスタ化パイプラインステージが、テクスチャ処理を含む請求項1の方法。
【請求項１８】
前記レンダリング計算のラスタ化パイプラインステージが、変位マッピングを含む請求項1の方法。
【請求項１９】
前記レンダリング計算のラスタ化パイプラインステージが、プログラマブルシェイディングを実行する請求項1の方法。
【請求項２０】
前記相互接続されたノードの各々が、グラフィックスレンダリングパイプラインの相当部分を実行する請求項1の方法。
【請求項２１】
前記レンダリング計算処理のラスタ化パイプラインステージが、高次表面のモザイク処理を含む請求項1の方法。
【請求項２２】
前記レンダリング計算処理のラスタ化パイプラインステージが、グラフィックスプリミティブをモザイク処理しシェイディング処理した結果の”投射先画面空間境界”を前記相互接続されたノードのうちのターゲットとされたノードにマルチキャストすることを含む請求項1の方法。
【請求項２３】
前記たたみ込みステージを実行するステップが、インターフェィスチップによって、前記相互接続されたノードからの情報収集および処理を開始することを含む請求項1の方法。
【請求項２４】
前記相互接続されたノードのうちの複数が、テクスチァ情報を有する請求項1の方法。
【請求項２５】
前記テクスチァ情報が、テクスチァマップを含む請求項24の方法。
【請求項２６】
前記相互接続されたノードのすべてが、前記テクスチァ情報のコピーを有する請求項24の方法。
【請求項２７】
前記相互接続されたノードのうちの2つ以上が、同一のテクスチァ情報を有する請求項24の方法。
【請求項２８】
前記相互接続されたノードに対して、テクスチァとして使用されるよう、レンダリンクされたイメージを送るステップを更に含む請求項1の方法。
【請求項２９】
前記たたみ込みステージの後、前記相互接続されたノードに対して、テクスチァとして使用されるよう、レンダリンクされたイメージを送るステップを更に含む請求項1の方法。
【請求項３０】
前記相互接続されたノードが、単一のリング状に接続されている請求項1の方法。
【請求項３１】
前記相互接続されたノードが、二重のリング状に接続されている請求項1の方法。
【請求項３２】
前記相互接続されたノードが、少なくとも1つのショートカット接続を使用して接続されている請求項1の方法。
【請求項３３】
前記レンダリング計算処理のラスタ化パイプラインステージが、テクスチャマップをアクセスすることを含み、このアクセスは、該アクセスが情報を返す前に、テクスチャフィルタ技術を前記テクスチャマップに適用することを含む請求項19の方法。
【請求項３４】
前記テクスチャフィルタ技術は、直接アクセス、最近隣アクセス、バイリニアフィルタリング、トリリニアフィルタリング、バイリニアMIPPマッピング、トリリニアMIPPマッピング、異方性マッピング、加算領域フィルタリング、プロシージャテクスチャ、バンプマッピング、変位マッピング、近傍比率シャドウマッピング、ディープシャドウマッピングのうちの1つまたは複数を含む請求項33の方法。
【請求項３５】
前記レンダリング計算処理のラスタ化パイプラインステージが、表面モザイク処理を含む請求項1の方法。
【請求項３６】
前記表面モザイク処理が、表面プリミティブのモザイク処理を含む請求項35の方法。
【請求項３７】
前記表面プリミティブが、ポリゴン、高次表面プリミティブおよび陰関数面のうちの1つまたは複数を含む請求項36の方法。
【請求項３８】
前記高次表面プリミティブが、円錐面、線織面、回転面、ベジエパッチ、Bスプラインパッチ、NURBSパッチ、細分割面、エッジ/ベルテックス鮮映度制御細分割面のうちの1つまたは複数を含む請求項37の方法。
【請求項３９】
前記モザイク処理が、変位マップの適用を含む請求項35の方法。
【請求項４０】
前記サンプルフィルパイププラインステージが、条件付きサンプル更新関数を含む請求項1の方法。
【請求項４１】
前記相互接続されたノードのうちの少なくとも1つが、該ノードの外部での付加的な通信を行うことなく、該ノード内で局地的に、前記サンプルフィルパイププラインステージを実行する請求項1の方法。
【請求項４２】
前記レンダリング計算が、レンダリングされた画像、テクスチャ、テクスチャマップ、最終的なレンダリングされた画像およびシャドウマップのうちの1つまたは複数の生成を含む請求項1の方法。
【請求項４３】
前記たたみ込みステージが、各前記ノードから収集した情報に対してアンチエイリアス処理を行うことを含む請求項1の方法。
【請求項４４】
前記アンチエイリアス処理が、各ノードについて順次に実行される請求項43の方法。
【請求項４５】
前記相互接続されたノードのうちの少なくとも1つが、該ノードの外部での付加的な通信を行うことなく、該ノード内で局地的に、前記たたみ込みの一部を実行する請求項1の方法。
【請求項４６】
前記複数の相互接続されたノードが、任意の２つのノード間でのすべての直接的な情報伝送のために単一の物理的接続を使用する請求項1の方法。
【請求項４７】
前記複数の相互接続されたノードのすべてが、ポイントツーポイントで、一方向で、且つ短い物理的距離で接続されている請求項1の方法。
【請求項４８】
前記ノードに対するグラフィックドライバコマンドの送信のために、1つまたは複数のホストコンピュータへの接続を含む、前記ノードの外部での通信を更に具備する請求項1の方法。
【請求項４９】
前記ノードから少なくとも1つのホストコンピュータに対するレンダリングされたグラフィックドライバコマンドの送信のために、1つまたは複数のホストコンピュータへの接続を含む、前記ノードの外部での通信を更に具備する請求項1の方法。
【請求項５０】
前記ノードから1つまたは複数の物理的画像表示装置に対する最終的なレンダリングされた画像を送信するために、前記1つまたは複数の物理的画像表示装置への接続を含む、前記ノードの外部での通信を更に具備する請求項1の方法。
【請求項５１】
前記複数の相互接続されたノードと第2の複数の相互接続されたノードとの間の通信を更に具備する請求項1の方法。
【請求項５２】
少なくとも1つのノードが、1つのプロセッシングチップと少なくとも1つのメモリチツプとで構成されている請求項1の方法。
【請求項５３】
前記レンダリング計算のラスタ化が、1つのノードによって、他のノードに対する通信を行うことなく局地的に実行される請求項1の方法。
【請求項５４】
複数の相互接続されたノードによって実行されるレンダリング計算を使用してグラフィックスをレンダリングするシステムであって、
前記複数の相互接続されたノードのそれぞれのローカルメモリにスーパーサンプルバッファのインターリーブを割り当て、分散型のスーパーサンプルフレームバッファを作成する手段と、
グラフィックドライバコマンドのシーケンスを受信する手段と、
前記グラフィックドライバコマンドのシーケンスに従って、グラフィックコマンドを決定する手段と、
前記インターリーブの割当てとは独立に、前記グラフィックコマンドを前記複数の相互接続されたノードのうちの複数に割り当てる手段と、
それぞれの前記ノードに割り当てられた前記グラフィックコマンドに従って、前記複数の相互接続されたノードのうちの少なくとも1つによって、前記レンダリング計算のラスタ化パイプラインステージを実行する手段、
ラスタ化を実行する前記ノードのうちの少なくとも1によって、前記レンダリング計算のサンプルフィルパイププラインステージに関するコマンドを、前記インターリーブの割当てとは独立に、前記複数の相互接続されたノードのうちの複数に送信する手段と、
サンプルフィルコマンドを受信する前記複数の相互接続されたノードのうちの複数によって、該受信されたそれぞれのサンプルフィルコマンドに従って、前記レンダリング計算のサンプルフィルパイププラインステージを実行し、その結果、それぞれの前記ノードに割り当てられた前記スーパーサンプルバッファのインターリーブにおける情報の更新が行われる手段と、
前記相互接続されたノードのうちの1つまたは複数によって、前記スーパーサンプルフレームバッファのインターリーブにおける情報に従って、前記レンダリング計算のたたみ込みステージを実行する手段と、
を具備したシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１８３
【補正方法】変更
【補正の内容】
【０１８３】
グラフィックスプリミティブ
ジオメトリックグラフィックスプリミティブ
グラフィックスプリミティブおよびジオメトリックグラフィックスプリミティブは、サンプルまたはピクセルを直接レンダリングするオブジェクトの種類を指す用語である。ジオメトリックグラフィックスプリミティブは、例えば、光が相互作用する何らかのもの等、光を反射し、光を放射し、光をフィルタリングし、または光を曲げる、実世界の表面または体積に在ったものの各一部を通常に表すジオメトリック要素である。普通のグラフィックスプリミティブは三角形であり、他の例には、線と点、および高次表面表現、およびボクセルを含む様々な体積表現がある。グラフィックスプリミティブは他にも、例えば、文字およびテキストなど、もっと複雑なものでもよい。本明細書の目的にとっては、用語「グラフィックスプリミティブ」と「ジオメトリックグラフィックスプリミティブ」との間に意味の差はない。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０２１１
【補正方法】変更
【補正の内容】
【０２１１】
特定のフレームバッファは、内部のピクセルアレイのピクセル巾および高さにより特性付けることができ、これはフレームバッファの解像度とも呼ばれる。特性はまた、フレームバッファがサポートするピクセルのビットサイズも含む。こうして、「ｘ」により分けられた３つの数字は、フレームバッファの解像度、およびピクセルサイズ（ビット）を記述する標準用語となった。例えば、６４０ｘ４８０ｘ８は、各ピクセル毎の格納についての「６４０ピクセル巾」掛ける「４８０ピクセル高さ」掛ける「８ビット」のイメージを格納するフレームバッファである。この表現は３つの数字をもち、最初の２つの数字は巾と高さを指したので、ピクセルサイズは、ピクセル深さと呼ばれることもあり、あるいは、これがビットで表したピクセルサイズだったので、フレームバッファの「ビット深さ」とも呼ばれる。これは、先に説明されたもっと一般的な３Ｄ概念と混同すべきではない。フレームバッファも、フレームバッファ能力の特徴付けに含めてもよい２次属性をいくつか有し、次に最も普通の属性は、生成している最終ビデオ信号のビデオリフレッシュレートである。３つの数字の特性は、初期のフレームバッファを説明する良好で包括的な方法であったが、フレームバッファの複雑さが増してきたので、ほとんどすべてのフレームバッファは、２ピクセル以上のアレイ分解能、ビデオリフレッシュレート、または２ビットサイズ以上のピクセルさえサポートできる。従って、今日、普通になったのは、フレームバッファを、それがサポートする最高解像度で特徴付けるか、または、それがサポートするすべての重要な解像度、ピクセルサイズ、およびビデオリフレッシュレートを明示的にリストアップすることである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０２６２
【補正方法】変更
【補正の内容】
【０２６２】
ＳＲＡＭ
格納ビットがすべて、一個のメモリチップ上にあったとしても、各格納ビットは依然として、格納と、各ビットへの読み書きのアクセスとができるよういくつかの内部トランジスタを必要とする。このような格納デバイスのメモリチップを構築する別の方法がいくつかあるが、外部からアクセスされるこのような多数ビットのメモリチップは、スタティックランダムアクセスメモリ、または単にＳＲＡＭと呼ばれる。これらのメモリチップは、内部に格納できる合計ビット数（例えば、「２５６ＫビットＳＲＡＭ」）で特徴付けられるが、アドレスが提示されてから、メモリチップのピン上で一度にすべて利用可能なビット数（すなわち、メモリの語長）によっても特徴付けられる。従って、単一ビット幅のデバイスは、「２５６Ｋｘ１ ＳＲＡＭ」と記述してもよい。この用語は、フレームバッファ解像度を特徴付けるためのものと混同されることもある。主な違いは、メモリは常に、例えば、２５６Ｋまたは６４Ｋｘ４など、１個または２個の「乗算される」数字により特徴付けられ、フレームバッファ解像度は、例えば、６４０ｘ４８０ｘ１など、３個の「乗算される」数字により特徴付けられるのが普通である。時には、ピクセルサイズが重要でない場合、および、フレームバッファまたはビデオ解像度について述べていることが文脈から明らかな場合、例えば、ＶＧＡの解像度は、６４０ｘ４８０である、というように２個の「乗算される」数字を用いてもよい。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０２６５
【補正方法】変更
【補正の内容】
【０２６５】
ＶＲＡＭ
１９８０年代中頃に、ＤＲＡＭメーカー（ＴＩを含む）は、製品のかなりの割合をフレームバッファ業界に販売していた。しかし、１６Ｋｘ１容量のＤＲＡＭから６４Ｋｘ１容量のＤＲＡＭへの移行中に、奇妙なことが起きた。新しいＤＲＡＭのプロトタイプ部品を獲得できるようにいつも最優先で依頼を行ってきたフレームバッファ業界が、いずれの６４Ｋｘ１のＤＲＡＭ部品も依頼してこなかったのである。そうしたことから、最高級品のフレームバッファを製造する業界へ６４Ｋｘ１のＤＲＡＭ部品が販売される様子はなかった。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０３６８
【補正方法】変更
【補正の内容】
【０３６８】
ピクセルシェーダレートは、フレームの深さの複雑さと、ビデオのピクセル解像度との積、およびレンダリングフレームレートの最大値に制約を与える。深さの複雑さを６にして、ピクセルシェーダレートを１Ｇ（１ギガピクセル／秒）に保持すると、レンダリングフレームレート７６Ｈｚで１９２０・１２００ピクセルの物理的イメージディスプレイ装置をサポートできる。一方、１／２Ｇ（１／２ギガピクセル／秒）のピクセルシェーダレートは、レンダリングフレームレート６０Ｈｚでビデオ解像度が１２８０・１０２４ピクセルの物理的イメージディスプレイ装置、またはレンダリングフレームレート３８Ｈｚでビデオ解像度が１９２０・１２００ピクセルの物理的イメージディスプレイ装置をサポートする。深さの複雑さを１／２に、つまり３に低下させると、ピクセルビデオ解像度が２倍のビデオ出力フォーマット、または２倍のレンダリングフレームレートを要求するアプリケーションをサポートする（ある最大値までは）。表２は、一実施の形態のためのサポート可能な範囲の要約である。＋を伴うすべてのレンダリングフレームレートでは、物理的イメージディスプレイ装置が使用できる能力より高い能力をシステムが備えている。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０４５９
【補正方法】変更
【補正の内容】
【０４５９】
合計ＬｏｏｐＬｉｎｋのＬｏｏｐパケット帯域幅
最大数を加えると、ＧｒａｐｈｉｃｓＣｏｍｍａｎｄのＬｏｏｐパケットに対して１６ギガビット、ＤｒａｗＰｉｘｅｌのＬｏｏｐパケットに対して２５ギガビット、ＶｉｄｅｏＰｉｘｅｌのＬｏｏｐパケットに対して２３ギガビットであるから、これらを合計して、６４ギガビット／秒が得られる。しかし、６４ギガビット／秒は、３２０ＭＨｚで走る３２ビットデータバスを有する８並列ＤＲＡＭチップで、ローカルメモリサブシステムを創る場合に達成される実際の帯域幅より小さい（８・３２・３２０Ｍ＝８２ギガビット／秒）。実際、ＤＲＡＭ帯域幅の数字は、アドレスバスおよびコントロールバスがあるので、ここで説明したより高い。このＤＲＡＭのローカルメモリサブシステム用のコントロールピン全てを有する同一チップに、入力および出力ＬｏｏｐＬｉｎｋの両方があるのは言うまでもない。