【手続補正書】
【提出日】平成17年7月29日(2005.7.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
地理的なプリミティブを含むシーンをレンダリングするための装置であって、
ビニング・エンジンと
レンダリング・エンジンと
前記ビニング・エンジンと前記レンダリング・エンジンとの間のメモリページを管理する自動メモリマネージャと
を備え、
前記ビニング・エンジンと前記レンダリング・エンジンが、
メモリページを格納するメモリ領域と、
第１レジスタおよび第２レジスタを含む複数のメモリ領域レジスタと、
を備え、
前記第１レジスタが、再利用コマンドを含むバッファ命令によって開始されたバッファを構築するために、前記ビニング・エンジンがメモリページを検索することができるメモリ領域中の記憶場所を示すための情報を備え、
前記第２レジスタが、レンダリングされたバッファに関する前記再利用コマンドに応じてメモリページを前記レンダリング・エンジンが自動的に返す事が出来るメモリ領域中の記憶場所を示すための情報を備える、
装置。
【請求項２】
前記ビニング・エンジンが、ゾーンに対応するバッファを形成するために前記メモリページを使用する、請求項１に記載の装置。
【請求項３】
前記ビニング・エンジンが、どのゾーンにおいて幾何学的なオブジェクトが交差するかを判断し、ゾーンに対応するオブジェクト命令を前記交差したゾーンに対応するバッファへと複製する、請求項２に記載の装置。
【請求項４】
前記第１のレジスタに応じた前記ビニング・エンジンが、前記ゾーンに対応するビンを形成するために利用可能なメモリページを抽出する、請求項１に記載の装置。
【請求項５】
前記ビニング・エンジンが、グラフィック・ビニング・エンジンである、請求項１に記載の装置。
【請求項６】
前記バッファ命令が、物理アドレスおよび再利用ビットを含む、請求項１に記載の装置。
【請求項７】
前記レンダリング・エンジンが各バッファをレンダリングする場合、前記レンダリング・エンジンが前記バッファ命令を復号し実行する、請求項１に記載の装置。
【請求項８】
前記レンダリング・エンジンが、前記バッファ命令で開始されたバッファの処理の終了の際に前記メモリ領域にフリーページを挿入し、これによってバッファが自動的に再利用されることを可能にする、請求項１に記載の装置。
【請求項９】
前記第２レジスタが、次に利用可能なバッファのページ数を書き込む位置のオフセットを前記レンダリング・エンジンに通知する、請求項１に記載の装置。
【請求項１０】
前記レンダリング・エンジンが、前記メモリ・プールにバッファの前記ページを返すために、次に利用可能な前記バッファのページ数を書き込む位置のオフセットについて前記レンダリング・エンジンへの通知の実行の完了に伴って前記オフセットを使用する、請求項９に記載の装置。
【請求項１１】
前記メモリ領域が複数のビン・リストを保持し、各ビン・リストが、最初のビン・バッファ用に使用される物理ページ数のリストである、請求項１に記載の装置。
【請求項１２】
前記ビニング・エンジンが、複数のシーンをキューイングするために前記複数のビン・リストを利用する、請求項１１に記載の装置。
【請求項１３】
前記ビニング・エンジンが、第１シーンをビニングしている間に第２シーンのビニングを開始するために前記複数のビン・リストを利用する、請求項１２に記載の装置。
【請求項１４】
ビニングされたシーン数をカウントするために、前記ビニング・エンジンと前記レンダリング・エンジンと通信可能なシーン・カウンタを更に備える、請求項１に記載の装置。
【請求項１５】
シーンがビニングされる毎に、前記シーン・カウンタがインクリメントされる、請求項１４に記載の装置。
【請求項１６】
ビニングされたシーンがレンダリングされる毎に、前記シーン・カウンタがディクリメントされる、請求項１４に記載の装置。
【請求項１７】
前記シーン・カウンタが、シーンがレンダリングされた後に実行された命令に応じてディクリメントされる、請求項１４に記載の装置。
【請求項１８】
保留のビニングされたシーンが存在せず、利用可能なメモリページを前記メモリ領域へ割り振る事が可能である事を前記シーン・カウンタが示す場合、前記メモリ領域が追加のメモリページを格納する、請求項１４に記載の装置。
【請求項１９】
保留のビニングされたシーンが存在せず、利用可能なメモリページが前記メモリ領域へ割り振る事が不可能である事を前記シーン・カウンタが示す場合、前記レンダリング・エンジンが部分的にビニングされたシーンをレンダリングする、請求項１４に記載の装置。
【請求項２０】
前記部分的にビニングされたシーンをレンダリングした後、前記レンダリング・エンジンが、前記部分的にビニングされたシーンのバッファの処理の終了に際して対応するバッファを前記メモリ領域に対して返し、これによって、バッファが自動的に再利用されることが可能になる、請求項１９に記載の装置。
【請求項２１】
バッファが再利用された後、前記部分的ビニングされたシーンのビニングを再開するために再開ビットを供給するコントロール・レジスタを更に備える、請求項２０に記載の装置。
【請求項２２】
シーンをビニングし、レンダリングするためにメモリを自動管理する方法であって、
メモリページを割り振るステップと、
タイルベースでレンダリングされるイメージのビニングとレンダリングのために、アクセス可能なメモリ領域を定義するステップと、
前記メモリ領域に前記メモリページを格納するステップと、
前記シーンのビニングを簡便化するために前記メモリページを検索するステップと、
前記メモリページが自動的に再利用されるように、前記シーンをレンダリングした後に検索されたメモリページを前記メモリ領域へ返すステップと
を備える、方法。
【請求項２３】
ビニングとレンダリングのために前記アクセス可能なメモリ領域を定義するステップが、
次に利用可能なメモリページのページ数が利用される箇所である第１オフセットを定義するステップと、
次に開放されるメモリページのページ数が書き込まれる箇所である第２オフセットを定義するステップと
を更に備える、請求項２２に記載の方法。
【請求項２４】
シーンのビニングを簡便化するためにメモリページを検索するステップが、
ビニングに必要な前記メモリページを取得するために前記第１オフセットを利用するステップを更に備える、
請求項２３に記載の方法。
【請求項２５】
前記メモリページが自動的に再利用されるように、前記シーンをレンダリングした後に検索されたメモリページを前記メモリ領域へ返すステップが、
実行に際して、前記メモリ領域にメモリページを返すために前記第２オフセットを利用するステップを更に備える、
請求項２３に記載の方法。
【請求項２６】
ビニングとレンダリングのために前記アクセス可能なメモリ領域にメモリページを格納するステップが、
物理ページ数および対応するメモリ容量セレクションによって格納された各メモリページを識別するステップを更に備える、請求項２２に記載の方法。
【請求項２７】
各シーンのビニングに続いて保留シーン・カウンタの値をインクリメントするステップと、
ビニングされたシーンのレンダリングを開始するステップと
を更に備える、請求項２２に記載の方法。
【請求項２８】
ビニングされたシーンのレンダリングを開始するステップが、
前記シーンに対応するレンダリング・リストをフォーマットするステップと、
前記シーン・レンダリング・リストを処理した後に保留シーン・カウンタをディクリメントするステップと
を備える、請求項２２に記載の方法。
【請求項２９】
シーンのビニング中に、利用可能なフリーメモリページが存在するかどうかを判断するステップを更に備える、請求項２２に記載の方法。
【請求項３０】
保留シーン・カウンタが０でない場合にフリーページを待機するステップと、
前記メモリ領域から、利用可能となる場合にメモリページを抽出するステップと、
前記シーンのビニングを再開するステップと
を更に備える、請求項２９に記載の方法。
【請求項３１】
保留シーン・カウンタが０で、かつフリーメモリが利用可能である場合、前記メモリ領域を増加させるステップと、
前記メモリ領域に追加のフリーページを挿入するステップと、
前記シーンのビニングを再開するステップと
を更に備える、請求項２９に記載の方法。
【請求項３２】
保留シーン・カウンタが０で、かつフリーメモリが利用可能でない場合に、ビニングされたシーンの一部分をレンダリングするステップと、
レンダリングされていないシーンの残りの一部分のビニングを再開するステップと
を備える、請求項２９に記載の方法。
【請求項３３】
前記メモリ領域が複数のビン・リストを保持し、各ビン・リストが、最初のビン・バッファ用に使用されるメモリページのリストである、請求項２２に記載の方法。
【請求項３４】
複数のシーンをキューイングするために前記複数のビン・リストを利用するステップを更に備える、請求項３３に記載の方法。
【請求項３５】
第１シーンをビニングしている間に第２シーンのビニングを開始するために前記複数のビン・リストを利用するステップを更に備える、請求項３４に記載の方法。
【請求項３６】
シーンをビニングおよびレンダリングするために自動的にメモリを管理するプロセッサによって実行可能な複数の機械可読命令を格納する機械可読メディアであって、
メモリページを割り振らせる命令と、
タイルベースでレンダリングされるイメージのビニングとレンダリングのために、アクセス可能なメモリ領域を定義させる命令と、
前記メモリ領域に前記メモリページを格納させる命令と、
前記シーンのビニングを簡便化するために前記メモリページを検索させる命令と、
前記メモリページが自動的に再利用されるように、前記シーンをレンダリングした後に検索されたメモリページを前記メモリ領域へ返させる命令と
を備える、機械可読メディア。
【請求項３７】
ビニングとレンダリングのためにアクセス可能なメモリ領域を定義させる命令が、
次に利用可能なメモリページのページ数が利用される箇所である第１オフセットを定義させる命令と、
次に開放されるメモリページのページ数が書き込まれる箇所である第２オフセットを定義させる命令と
を更に備える、請求項３６に記載の機械可読メディア。
【請求項３８】
シーンのビニングを簡便化するためにメモリページを検索させる命令が、
ビニングに必要な前記メモリページを取得するために前記第１オフセットを利用させる命令を更に備える、
請求項３７に記載の機械可読メディア。
【請求項３９】
前記メモリページが自動的に再利用されるように、前記シーンをレンダリングした後に検索されたメモリページを前記メモリ領域へ返させる命令が、
実行に際して、前記メモリ領域にメモリページを返すために前記第２オフセットを利用させる命令を更に備える、
請求項３７に記載の機械可読メディア。
【請求項４０】
ビニングとレンダリングのためにアクセス可能なメモリ領域にメモリページを格納させる命令が、
物理ページ数および対応するメモリ容量セレクションによって格納された各メモリページを識別させる命令を更に備える、請求項３６に記載の機械可読メディア。
【請求項４１】
各シーンのビニングに続いて保留シーン・カウンタの値をインクリメントさせる命令と、
ビニングされたシーンのレンダリングを開始させる命令と
を更に備える、請求項３６に記載の機械可読メディア。
【請求項４２】
ビニングされたシーンのレンダリングを開始させる命令が、
前記シーンに対応するレンダリング・リストをフォーマットさせる命令と、
前記シーン・レンダリング・リストを処理した後に保留シーン・カウンタをディクリメントさせる命令と
を備える、請求項３６に記載の機械可読メディア。
【請求項４３】
シーンのビニング中に、利用可能なフリーメモリページが存在するかどうかを判断させる命令を更に備える、請求項３６に記載の機械可読メディア。
【請求項４４】
保留シーン・カウンタが０でない場合にフリーページを待機させる命令と、
前記メモリ領域から、利用可能となる場合にメモリページを抽出させる命令と、
前記シーンのビニングを再開させる命令と
を更に備える、請求項４３に記載の機械可読メディア。
【請求項４５】
保留シーン・カウンタが０で、かつフリーメモリが利用可能である場合、前記メモリ領域を増加させる命令と、
前記メモリ領域に追加のフリーページを挿入させる命令と、
前記シーンのビニングを再開させる命令と
を更に備える、請求項４３に記載の機械可読メディア。
【請求項４６】
保留シーン・カウンタが０で、かつフリーメモリが利用可能でない場合に、ビニングされたシーンの一部分をレンダリングさせる命令と、
レンダリングされていないシーンの残りの一部分のビニングを再開させる命令と
を備える、請求項４３に記載の機械可読メディア。
【請求項４７】
前記メモリ領域が複数のビン・リストを保持し、各ビン・リストが、最初のビン・バッファ用に使用されるメモリページのリストである、請求項３６に記載の機械可読メディア。
【請求項４８】
複数のシーンをキューイングするために前記複数のビン・リストを利用させる命令を更に備える、請求項４７に記載の機械可読メディア。
【請求項４９】
第１シーンをビニングしている間に第２シーンのビニングを開始するために前記複数のビン・リストを利用させる命令を更に備える、請求項４８に記載の機械可読メディア。
【請求項５０】
プリミティブを含むゾーンをレンダリングするための装置であって、
スクリーンを細分化した複数のゾーン毎に設けられた複数のビンメモリと、
前記プリミティブを前記複数のゾーンにビニングして、前記プリミティブをレンダリングするのに必要な命令を前記複数のビンメモリに保持させるビニング・エンジンと、
前記複数のゾーンにビニングされた前記プリミティブをレンダリングするレンダリング・エンジンと、
次に解放されるビンメモリの位置を前記ビニング・エンジンに通知する手段とを備え、 
前記ビニング・エンジンは、前記解放されるビンメモリを利用して、次のビニングを開始する
装置。
【請求項５１】
シーンをビニングして、レンダリングするためにメモリを自動管理する方法であって、
スクリーンを細分化した複数のゾーン毎に複数のビンメモリを設けるステップと、
プリミティブを前記複数のゾーンにビニングして、前記プリミティブをレンダリングするのに必要な命令を保持するステップと、
前記複数のゾーンにビニングされた前記プリミティブをレンダリングするステップと、
次に解放されるビンメモリの位置をビニング・エンジンに通知するステップと、
前記ビニング・エンジンに、前記解放されるビンメモリを利用して、次のビニングを開始させるステップと
を備える方法。
【請求項５２】
シーンをビニングおよびレンダリングするために自動的にメモリを管理するプロセッサによって実行可能な複数の機械可読命令からなるプログラムであって、
スクリーンを細分化した複数のゾーン毎に複数のビンメモリを設ける命令と、
プリミティブを前記複数のゾーンにビニングして、前記プリミティブをレンダリングするのに必要な命令を保持させる命令と、
前記複数のゾーンにビニングされた前記プリミティブをレンダリングする命令と、
次に解放されるビンメモリの位置を前記ビニング・エンジンに通知する命令と、
前記解放されるビンメモリを利用して、次のビニングを開始する命令と
を備える、プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
コンピュータグラフィック・システムは、２次元のビデオ表示装置・スクリーンにオブジェクトの図形表現を表示するために一般に使用される。現在のコンピュータグラフィック・システムは高度に詳細な描写を提供し、様々なアプリケーションにおいて使用される。典型的なコンピュータグラフィック・システムにおいて、表示画面上で表わされるオブジェクトはグラフィック・プリミティブへと分類される。プリミティブは、グラフィック表示装置の基本的な構成要素であり、点、線、ベクトル、および三角形や四角形のような多角形を備えていて良い。典型的には、表示画面上で表わされている１つ以上のオブジェクトの視界を表わすグラフィック・プリミティブをレンダリング即ち描写するために、ハードウェア／ソフトウェアスキームが実施される。なお、本出願の国際調査、又は対応米国出願の米国での審査において、下記の文献が発見されている。
【特許文献１】米国特許第６０４６７５２号明細書
【特許文献２】米国特許第６３４４８５２号明細書
【特許文献３】米国特許第６３８０９３５号明細書
【特許文献４】米国特許第６３９６４７３号明細書
【特許文献５】国際公開第０１／３７２２０号パンフレット
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００４９
【補正方法】変更
【補正の内容】
【００４９】
以上、特許法の必要条件に従って本発明を記載したが、当業者は、これらの特定の要求または条件を満たすために本発明に対して特定の改変および変更を実行する方法を理解する。この種の改変および変更は、添付の特許請求の範囲にて説明される本発明の範囲および精神から逸脱する事無く為され得るものである。なお、本発明に係る装置は、地理的なプリミティブを含むシーンをレンダリングするための装置であって、ゾーンへプリミティブを割り振るビニング・エンジンと、シーンをレンダリングするレンダリング・エンジンと、ビニング・エンジンとレンダリング・エンジンとの間のメモリページを管理する自動メモリマネージャとを備え、ビニング・エンジンとレンダリング・エンジンが、メモリページを格納するメモリ領域と、第１レジスタおよび第２レジスタを含む複数のメモリ領域レジスタとを備え、第１レジスタが、再利用コマンドを含むバッファ命令によって開始されたバッファを構築するために、ビニング・エンジンがメモリページを検索することができるメモリ領域中の記憶場所を示すための情報を備え、第２レジスタが、レンダリングされたバッファに関する再利用コマンドに応じてメモリページをレンダリング・エンジンが自動的に返す事が出来るメモリ領域中の記憶場所を示すための情報を備える。また、ビニング・エンジンが、ゾーンに対応するバッファを形成するためにメモリページを使用してもよい。また、バッファ命令が、物理アドレスおよび再利用ビットを含んでもよい。そして、レンダリング・エンジンが各バッファをレンダリングする場合、レンダリング・エンジンがバッファ命令を復号し実行してもよく、更に、レンダリング・エンジンが、バッファ命令で開始されたバッファの処理の終了の際にメモリ領域にバッファを挿入し、これによってバッファが自動的に再利用されることを可能にしてもよい。そして、ビニング・エンジンが、複数のシーンをキューイングするために複数のビン・リストを利用してもよい。また、本発明に係る実施形態は、シーンをビニングし、レンダリングするためにメモリを自動管理する方法であってよく、メモリページを割り振るステップと、タイルベースでレンダリングされるイメージのビニングとレンダリングのために、アクセス可能なメモリ領域を定義するステップと、メモリ領域にメモリページを格納するステップと、シーンのビニングを簡便化するためにメモリページを検索するステップと、メモリページが自動的に再利用されるように、シーンをレンダリングした後に検索されたメモリページをメモリ領域へ返すステップとを備えてもよい。また、ビニングとレンダリングのためにアクセス可能なメモリ領域を定義するステップが、次に利用可能なメモリページのページ数が利用される箇所である第１オフセットを定義するステップと、次に開放されるメモリページのページ数が書き込まれる箇所である第２オフセットを定義するステップとを更に備えてもよい。そして、シーンのビニングを簡便化するためにメモリページを検索するステップが、ビニングに必要なメモリページを取得するために第１オフセットを利用するステップを更に備えてもよい。