(57)【要約】      （修正有）【課題】シーンの異なるビューにそれぞれ対応する少なくとも２つの奥行きバッファー部分を有する立体視レンダリングシステムを提供する。【解決手段】奥行きバッファーは、シーン内のピクセルの奥行きを示す奥行き値を記憶するように構成され、奥行きバッファー部分は異なる関連付けられた奥行き値範囲を有し、それによって異なる奥行きバッファー部分が互いに区別可能である。また、表示される画像を示す情報を記憶するように構成される画像バッファーを備える。シーンのビューごとに異なる奥行きテストを適用し、ビューと関連付けられた奥行きバッファー部分に空間的に対応するビューのピクセルのみが画像バッファーにレンダリングされるようにするよう構成される。画像バッファー内にレンダリングされる画像は、異なる奥行きバッファー部分及びシーンの異なるビューにそれぞれ空間的に対応する画像部分を含む。【選択図】図７
2014211871.tif 000002
【特許請求の範囲】
【請求項１】
立体視レンダリングシステムであって、
シーンの異なるビューにそれぞれ対応する少なくとも２つの奥行きバッファー部分を有する奥行きバッファーであって、該奥行きバッファーは、シーン内のピクセルの奥行きを示す奥行き値を記憶するように構成され、前記奥行きバッファー部分は異なる関連付けられた奥行き値範囲を有し、それによって前記異なる奥行きバッファー部分が互いに区別可能である、奥行きバッファーと、
表示される画像を示す情報を記憶するように構成される画像バッファーと、
を備え、
該システムは前記シーンのビューごとに異なる奥行きテストを適用し、前記ビューと関連付けられた前記奥行きバッファー部分に空間的に対応する前記ビューのピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成され、
それによって前記画像バッファー内にレンダリングされる画像は、前記異なる奥行きバッファー部分及び前記シーンの異なるビューにそれぞれ空間的に対応する画像部分を含む、立体視レンダリングシステム。
【請求項２】
前記奥行きバッファー部分は、奥行きバッファー部分の第１の組と、該奥行きバッファー部分の第１の組に対して交互に配置された奥行きバッファー部分の第２の組とを含む、請求項１に記載の立体視レンダリングシステム。
【請求項３】
前記交互の奥行きバッファー部分の第１の組及び第２の組は、複数のストライプを定義する、請求項２に記載の立体視レンダリングシステム。
【請求項４】
前記ストライプは垂直方向又は水平方向に延在する、請求項３に記載の立体視レンダリングシステム。
【請求項５】
シーンの左ビュー及び右ビューにそれぞれ対応する奥行きバッファー部分の２つの組が提供される、請求項１〜４のいずれか１項に記載の立体視レンダリングシステム。
【請求項６】
前記奥行きバッファー部分の第１の組の前記奥行き値範囲は、前記奥行きバッファー部分の第２の組の前記奥行き値範囲に数値的に隣接している、請求項２〜５のいずれか１項に記載の立体視レンダリングシステム。
【請求項７】
奥行きバッファー部分の第１の組の前記奥行き値範囲は０〜０．５であり、奥行きバッファー部分の第２の組の前記奥行き値範囲は０．５〜１である、請求項６に記載の立体視レンダリングシステム。
【請求項８】
請求項２〜７のいずれか１項に記載の立体視レンダリングシステムであって、該システムは、前記奥行きバッファー部分の第１の組における大きさが増大する奥行き値が、シーンの前記前景に対する増大する近接性を示し、前記奥行きバッファー部分の第２の組における大きさが減少する奥行き値が、シーンの前記前景に対する増大する近接性を示すように構成される、請求項２〜７のいずれか１項に記載の立体視レンダリングシステム。
【請求項９】
請求項８に記載の立体視レンダリングシステムであって、該システムは、シーンの第１のビューに奥行きテストを適用し、前記奥行きバッファー内の対応する奥行き値よりも大きくかつ前記奥行きバッファー部分の第１の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第１のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成される、請求項８に記載の立体視レンダリングシステム。
【請求項１０】
請求項８又は９に記載の立体視レンダリングシステムであって、該システムは、シーンの第２のビューに奥行きテストを適用し、前記奥行きバッファー内の対応する奥行き値未満でありかつ前記奥行きバッファー部分の第２の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第２のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成される、請求項８又は９に記載の立体視レンダリングシステム。
【請求項１１】
請求項１〜１０のいずれか１項に記載の立体視レンダリングシステムであって、該システムは、奥行きバッファー部分内の前記奥行き値を、シーンのビューのピクセルと関連付けられた奥行き値が該シーンの該ビューと関連付けられた奥行きテストにパスする場合、前記ピクセルと関連付けられた奥行き値と置き換えるように構成される、請求項１〜１０のいずれか１項に記載の立体視レンダリングシステム。
【請求項１２】
請求項１１に記載の立体視レンダリングシステムであって、該システムは、前記奥行きバッファー部分を、定義された初期奥行き値を用いて該奥行きバッファー部分をポピュレートすることによって初期化するように構成される、請求項１１に記載の立体視レンダリングシステム。
【請求項１３】
前記奥行きバッファー部分の第１の組の前記定義された初期奥行き値は０であり、前記奥行きバッファー部分の第２の組の前記定義された初期奥行き値は１である、請求項７に従属するときの請求項１２に記載の立体視レンダリングシステム。
【請求項１４】
請求項１〜１３のいずれか１項に記載の立体視レンダリングシステムであって、オーバーレイ奥行き値、又は、前記少なくとも２つの奥行きバッファー部分と関連付けられた前記奥行き値範囲と異なるオーバーレイ奥行き値範囲が定義され、該システムは、前記オーバーレイ奥行き値に対応するか又は前記オーバーレイ奥行き値範囲内にある奥行き値を有するピクセルを、前記ビューのうちの任意のものから前記画像バッファーにレンダリングするように構成される、請求項１〜１３のいずれか１項に記載の立体視レンダリングシステム。
【請求項１５】
前記オーバーレイ奥行き値範囲は、前記奥行きバッファー部分の第１の組と関連付けられた奥行き範囲と、前記奥行きバッファー部分の第２の組と関連付けられた奥行き範囲との間で定義される、請求項１４に記載の立体視レンダリングシステム。
【請求項１６】
アンチエイリアシングシステムを備え、該アンチエイリアシングシステムは、前記画像バッファー内にレンダリングされた第１の画像を用いて第２の画像を作成し、前記第１の画像及び前記第２の画像を用いて平滑化された画像を作成するように構成される、請求項１〜１５のいずれか１項に記載の立体視レンダリングシステム。
【請求項１７】
前記第２の画像は前記第１の画像を空間的にシフトすることによって作成される、請求項１６に記載の立体視レンダリングシステム。
【請求項１８】
前記アンチエイリアシングシステムは、空間的及び／又は時間的サンプリング間隔を組み合わせることによって平滑化された画像を作成するように構成される、請求項１６に記載の立体視レンダリングシステム。
【請求項１９】
複数の時間的に離間した画像が生成され、該複数の時間的に離間した画像を用いて平滑化された画像が生成される、請求項１６に記載の立体視レンダリングシステム。
【請求項２０】
立体視画像をレンダリングする方法であって、該方法は、
シーンの異なるビューにそれぞれ対応する少なくとも２つの奥行きバッファー部分を有する奥行きバッファーを提供することと、
シーン内のピクセルの前記奥行きを示す奥行き値を前記奥行きバッファーに記憶することであって、前記奥行きバッファー部分は異なる関連付けられた奥行き値範囲を有し、それによって前記異なる奥行きバッファー部分が互いに区別可能であり、前記奥行きバッファー部分は、関連付けられた３Ｄ表示システムのビュー構成と一致するように構成されることと、
表示される画像を示す情報を記憶するように構成される画像バッファーを提供することと、
前記シーンのビューごとに異なる奥行きテストを適用することであって、前記ビューと関連付けられた前記奥行きバッファー部分に空間的に対応する前記ビューのピクセルのみが前記画像バッファーにレンダリングされるようにすることと、
を含み、
それによって前記画像バッファー内にレンダリングされる画像は、前記異なる奥行きバッファー部分及び前記シーンの異なるビューにそれぞれ空間的に対応する画像部分を含む、立体視画像をレンダリングする方法。
【請求項２１】
前記奥行きバッファー部分は、奥行きバッファー部分の第１の組と、該奥行きバッファー部分の第１の組に対して交互に配置された奥行きバッファー部分の第２の組とを含む、請求項２０に記載の方法。
【請求項２２】
前記交互の奥行きバッファー部分の第１の組及び第２の組は、複数のストライプを定義する、請求項２１に記載の方法。
【請求項２３】
前記ストライプは垂直方向又は水平方向に延在する、請求項２２に記載の方法。
【請求項２４】
シーンの左ビュー及び右ビューにそれぞれ対応する奥行きバッファーの２つの組を提供することを含む、請求項２１〜２３のいずれか１項に記載の方法。
【請求項２５】
前記奥行きバッファー部分の第１の組の前記奥行き値範囲は、前記奥行きバッファー部分の第２の組の前記奥行き値範囲に数値的に隣接している、請求項２１〜２４のいずれか１項に記載の方法。
【請求項２６】
前記奥行きバッファー部分の第１の組と第２の組とのうちの一方の前記奥行き値範囲は０〜０．５であり、前記奥行きバッファー部分の第１の組と第２の組とのうちの他方の前記奥行き値範囲は０．５〜１である、請求項２５に記載の方法。
【請求項２７】
前記奥行きバッファー部分の第１の組における大きさが増大する奥行き値は、シーンの前記前景に対する増大する近接性を示し、前記奥行きバッファー部分の第２の組における大きさが減少する奥行き値は、シーンの前記前景に対する増大する近接性を示す、請求項２１〜２６のいずれか１項に記載の方法。
【請求項２８】
シーンの第１のビューに奥行きテストを適用することであって、前記奥行きバッファー内の対応する奥行き値よりも大きくかつ前記奥行きバッファー部分の第１の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第１のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにすることを含む、請求項２７に記載の方法。
【請求項２９】
シーンの第２のビューに奥行きテストを適用することであって、前記奥行きバッファー内の対応する奥行き値未満でありかつ前記奥行きバッファー部分の第２の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第２のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにすることを含む、請求項２７及び２８に記載の方法。
【請求項３０】
奥行きバッファー部分内の前記奥行き値を、シーンのビューのピクセルと関連付けられた奥行き値が該シーンの該ビューと関連付けられた前記奥行きテストにパスする場合、前記ピクセルと関連付けられた奥行き値と置き換えることを含む、請求項２０〜２９のいずれか１項に記載の方法。
【請求項３１】
前記奥行きバッファー部分を、定義された初期奥行き値を用いて該奥行きバッファー部分をポピュレートすることによって初期化することを含む、請求項３０に記載の方法。
【請求項３２】
前記奥行きバッファー部分の第１の組の前記定義された初期奥行き値は０であり、前記奥行きバッファー部分の第２の組の前記定義された初期奥行き値は１である、請求項２６に従属するときの請求項３１に記載の方法。
【請求項３３】
オーバーレイ奥行き値、又は、前記少なくとも２つの奥行きバッファー部分と関連付けられた前記奥行き値範囲と異なるはオーバーレイ奥行き値範囲を定義することと、前記オーバーレイ奥行き値に対応するか又は前記オーバーレイ奥行き値範囲内にある奥行き値を有するピクセルを、前記ビューのうちの任意のものから前記画像バッファーにレンダリングすることとを含む、請求項２０〜３２のいずれか１項に記載の方法。
【請求項３４】
前記奥行きバッファー部分の第１の組と関連付けられた奥行き範囲と、前記奥行きバッファー部分の第２の組と関連付けられた前記奥行き範囲との間で前記オーバーレイ奥行き値範囲を定義することを含む、請求項３３に記載の方法。
【請求項３５】
前記画像バッファー内にレンダリングされた第１の画像を用いて第２の画像を作成することと、前記第１の画像及び前記第２の画像を用いて平滑化された画像を作成することとを含む、請求項２０〜３４のいずれか１項に記載の方法。
【請求項３６】
前記第１の画像を空間的にシフトすることによって前記第２の画像を作成することを含む、請求項３５に記載の方法。
【請求項３７】
空間的及び／又は時間的サンプリング間隔を組み合わせることによって平滑化された画像を作成することを含む、請求項３５に記載の方法。
【請求項３８】
複数の時間的に離間した画像を生成することと、該複数の時間的に離間した画像を用いることであって、それにより平滑化された画像を生成することとを含む、請求項３５に記載の方法。
【請求項３９】
コンピューティングデバイス内にロードされると、該コンピューティングデバイスに、請求項１〜１９のいずれか１項に記載の立体視レンダリングシステムに従って動作させるように構成される、コンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は立体視レンダリングシステムと、立体視画像をレンダリングする方法とに関する。
【背景技術】
【０００２】
シーンの閲覧者に３Ｄの外観を与えるには、わずかに異なる観察点からシーンのビューを生成し、閲覧者のそれぞれの眼にビューを提示することが必要である。そのようなビューを提示する１つの方法は、左眼に関連付けられた部分と、右眼に関連付けられた部分とを有する画像を、例えば交互のストライプとして生成し、それぞれの左ビュー及び右ビューを正しい眼に向けるように構成された閲覧システムを提供することを伴う。通常、そのような閲覧システムは、視差バリアを用いて、正しいビューが正しい眼に向けられることを可能にする。
【０００３】
従来技術による例示的な立体視レンダリングシステムが図１及び図２に示され、立体視画像をレンダリングする従来技術による例示的な方法が図３及び図４に示されている。
【０００４】
従来技術によるシステムは、左眼ビューに関連付けられた部分と、右眼ビューに関連付けられた部分とを有する画像の生成を容易にするように構成された３Ｄ対応ディスプレイ１０を備える。ディスプレイ１０の拡大部分１２は、この例におけるディスプレイ１０が、交互の左垂直ストライプ１４及び右垂直ストライプ１６を含み、これらの垂直ストライプにおいて各ＲＧＢサブピクセルがそれぞれの左垂直ストライプ又は右垂直ストライプに対応するビュー番号を割り当てられていることを示す。
【０００５】
この例では、視差バリア１８を用いて、正しいビューが左眼及び右眼に向けられることを可能にする。
【０００６】
立体的にレンダリングすることが望まれるグラフィックスプリミティブ２２に関連して示される従来技術によるレンダリングシステム２０の概略図が図２に示されている。
【０００７】
レンダリングシステム２０は、第１の（左眼）視点からグラフィックスプリミティブ２２の画像を生成するように構成された左仮想カメラ２４と、画像が左ビュー２８としてレンダリングされる左オフスクリーンバッファー２６と、左ビューストライプと位置合わせされた左ビュー２８の部分のみが表示バッファー３２内にレンダリングされるようにストライプ状に構成された左マスク３０とを含む。
【０００８】
同様に、レンダリングシステム２０は、第２の（右眼）視点からグラフィックスプリミティブ２２の画像を生成するように構成された右仮想カメラ３４と、画像が右ビュー３８としてレンダリングされる右オフスクリーンバッファー３６と、右ビューストライプと位置合わせされた右ビュー３８の部分のみが表示バッファー３２内にレンダリングされるようにストライプ状に構成された右マスク４０とを含む。
【０００９】
レンダリングシステムは、左ビュー２８及び右ビュー３８のストライプ状の部分を合成して、表示バッファー３２内にレンダリングされる合成ビュー４２にするように構成されるインターリーバー４４も含む。
【００１０】
立体視画像をレンダリングする従来技術による方法のステップ５２〜７０を示すフロー図５０が図３に示され、図３に示される方法の一部として、２つ以上のオフスクリーンバッファー内の画像を合成して表示バッファーに入れる例示的なステップ８２〜９２を示すフロー図８０が図４に示されている。
【００１１】
フロー図５０、８０は、２つを超えるビューを生成する立体視レンダリングシステムを検討しているが、現在の裸眼３Ｄディスプレイ及び眼鏡式３Ｄディスプレイにより一般的には、閲覧者のそれぞれの左眼及び右眼に対して２つのビューのみが生成される。
【００１２】
図１〜図４に示す従来技術によるシステム及び方法を用いると、ビューをマスキング及びインターリーブして表示バッファーにレンダリングされる合成画像を生成する前に、まずシーンの２つの別個のビューを２つの別個のバッファー内にレンダリングすることが必要であることが理解されよう。結果として、立体視３Ｄにおいてレンダリングする計算負荷が、レンダリングシステムの作業能力を超え得るまで大きくなる可能性がある。これによって、フレームレートが低減し、最終的に、少なくともゲーム用途の場合、インタラクティブ性及び応答性が損なわれる可能性がある。
【００１３】
立体視３Ｄにおいてレンダリングの計算負荷を最小限にするために、シーンの左ビュー及び右ビューを表示バッファーに直接レンダリングようにステンシルバッファーが用いられてきた。このプロセスは、最終表示バッファーが必要とするピクセルのみがレンダリングされるので、図１〜図４に示す上記のシステム及び方法に対し性能改善を提供する。
【００１４】
しかしながら、この技法は、ステンシルバッファーが既に他の目的（例えばシャドー、反射等の描画）に用いられていない場合にしか可能でない。また、ステンシルバッファーをまだ含んでいないレンダリングシステムの場合、レンダリングシステムに追加のメモリが必要であり、これはすぐに入手可能でない場合がある。
【発明の概要】
【００１５】
本発明の第１の態様によれば、立体視レンダリングシステムであって、
シーンの異なるビューにそれぞれ対応する少なくとも２つの奥行きバッファー部分を有する奥行きバッファーであって、該奥行きバッファーは、シーン内のピクセルの奥行きを示す奥行き値を記憶するように構成され、前記奥行きバッファー部分は異なる関連付けられた奥行き値範囲を有し、それによって前記異なる奥行きバッファー部分が互いに区別可能である、奥行きバッファーと、
表示される画像を示す情報を記憶するように構成される画像バッファーと、
を備え、
該システムは前記シーンのビューごとに異なる奥行きテストを適用し、前記ビューと関連付けられた前記奥行きバッファー部分に空間的に対応する前記ビューのピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成され、
それによって前記画像バッファー内にレンダリングされる画像は、異なる奥行きバッファー部分及び前記シーンの異なるビューにそれぞれ空間的に対応する画像部分を含む。
【００１６】
一実施形態において、前記奥行きバッファー部分は、奥行きバッファー部分の第１の組と、該奥行きバッファー部分の第１の組に対して交互に配置された奥行きバッファー部分の第２の組とを含む。
【００１７】
一実施形態において、前記交互の奥行きバッファー部分の第１の組及び第２の組は、垂直方向又は水平方向に延在するストライプを含む。
【００１８】
一実施形態において、シーンの左ビュー及び右ビューにそれぞれ対応する奥行きバッファー部分の２つの組が提供される。
【００１９】
一実施形態において、前記奥行きバッファー部分の第１の組の前記奥行き値範囲は、前記奥行きバッファー部分の第２の組の前記奥行き値範囲に数値的に隣接している。
【００２０】
一実施形態において、前記奥行きバッファー部分の第１の組の前記奥行き値範囲は０〜０．５であり、前記奥行きバッファー部分の第２の組の前記奥行き値範囲は０．５〜１である。
【００２１】
一実施形態において、本システムは、前記奥行きバッファー部分の第１の組における大きさが増大する奥行き値が、シーンの前景に対する増大する近接性を示し、前記奥行きバッファー部分の第２の組における大きさが減少する奥行き値が、シーンの前景に対する増大する近接性を示すように構成される。
【００２２】
一実施形態において、本システムは、シーンの第１のビューに奥行きテストを適用し、前記奥行きバッファー内の対応する奥行き値よりも大きくかつ前記奥行きバッファー部分の第１の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第１のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成される。
【００２３】
一実施形態において、本システムは、シーンの第２のビューに奥行きテストを適用し、前記奥行きバッファー内の対応する奥行き値未満でありかつ前記奥行きバッファー部分の第２の組の前記奥行き範囲内にある奥行き値を有する前記シーンの前記第２のビューと関連付けられるピクセルのみが前記画像バッファーにレンダリングされるようにするよう構成される。
【００２４】
一実施形態において、本システムは、奥行きバッファー部分内の前記奥行き値を、シーンのビューのピクセルと関連付けられた前記奥行き値が該シーンの該ビューと関連付けられた前記奥行きテストにパスする場合、前記ピクセルと関連付けられた前記奥行き値と置き換えるように構成される。
【００２５】
一実施形態において、本システムは、前記奥行きバッファー部分を、定義された初期奥行き値を用いて該奥行きバッファー部分をポピュレートすることによって初期化するように構成される。
【００２６】
前記奥行きバッファー部分の第１の組の前記定義された初期奥行き値は０とすることができ、前記奥行きバッファー部分の第２の組の前記定義された初期奥行き値は１とすることができる。
【００２７】
一実施形態において、オーバーレイ奥行き値、又は、前記少なくとも２つの奥行きバッファー部分と関連付けられた前記奥行き値範囲と異なるオーバーレイ奥行き値範囲が定義され、本システムは、前記オーバーレイ奥行き値に対応するか又は前記オーバーレイ奥行き値範囲内にある奥行き値を有するピクセルを、前記ビューのうちの任意のものから前記画像バッファーにレンダリングするように構成される。
【００２８】
一実施形態において、前記オーバーレイ奥行き値範囲は、前記奥行きバッファー部分の第１の組と関連付けられた奥行き範囲と、前記奥行きバッファー部分の第２の組と関連付けられた前記奥行き範囲との間で定義される。
【００２９】
一実施形態において、本システムは、ディスプレイによって表示される画像を示す情報を記憶するように構成される表示バッファーを備え、前記画像バッファーは、画像情報が前記表示バッファーに移される前に最初にレンダリングされるバックバッファーを備える。
【００３０】
一実施形態において、立体視レンダリングシステムは、アンチエイリアシングシステムを備え、該アンチエイリアシングシステムは、前記画像バッファー内にレンダリングされた第１の画像を用いて第２の画像を作成し、前記第１の画像及び前記第２の画像を用いて平滑化された画像を作成するように構成される。
【００３１】
一実施形態において、前記第２の画像は前記第１の画像を空間的にシフトすることによって作成される。
【００３２】
一実施形態において、前記アンチエイリアシングシステムは、空間的及び／又は時間的サンプリング間隔を組み合わせることによって平滑化された画像を作成するように構成される。
【００３３】
一実施形態において、複数の時間的に離間した画像が生成され、該複数の時間的に離間した画像を用いて平滑化された画像が生成される。
【００３４】
本発明の第２の態様によれば、立体視画像をレンダリングする方法であって、
シーンの異なるビューにそれぞれ対応する少なくとも２つの奥行きバッファー部分を有する奥行きバッファーを提供することと、
シーン内のピクセルの前記奥行きを示す奥行き値を前記奥行きバッファーに記憶することであって、前記奥行きバッファー部分は異なる関連付けられた奥行き値範囲を有し、それによって前記異なる奥行きバッファー部分が互いに区別可能であり、前記奥行きバッファー部分は、関連付けられた３Ｄ表示システムのビュー構成と一致するように構成されることと、
表示される画像を示す情報を記憶するように構成される画像バッファーを提供することと、
前記シーンのビューごとに異なる奥行きテストを適用することであって、前記ビューと関連付けられた前記奥行きバッファー部分に空間的に対応する前記ビューのピクセルのみが前記画像バッファーにレンダリングされるようにすることと、
を含み、
それによって前記画像バッファー内にレンダリングされる画像は、前記異なる奥行きバッファー部分及び前記シーンの異なるビューにそれぞれ空間的に対応する画像部分を含む、立体視画像をレンダリングする方法が提供される。
【００３５】
本発明の第３の態様によれば、コンピューティングデバイス内にロードされると、該コンピューティングデバイスに、本発明の第１の態様による立体視レンダリングシステムに従って動作させるように構成される、コンピュータープログラムが提供される。
【００３６】
次に、本発明を、添付の図面を参照して例としてのみ説明する。
【図面の簡単な説明】
【００３７】
【図１】従来技術による立体視レンダリングシステムに従って用いられる３Ｄ対応ディスプレイの概略図である。
【図２】従来技術による立体視レンダリングシステムの概略図である。
【図３】従来技術による立体視レンダリング方法のステップを示すフロー図である。
【図４】図３に示す方法の一部として、２つ以上のオフスクリーンバッファー内のビューを合成して表示バッファーに入れる従来技術による方法のステップを示すフロー図である。
【図５】本発明の一実施形態による立体視レンダリングシステムを示すブロック図である。
【図６】本発明の一実施形態による立体視レンダリング方法のステップを示すフロー図である。
【図７】シーンの２つのビューを生成するシステムにおいて立体視画像をレンダリングする例示的な方法を示すフロー図である。
【図８】本発明の一実施形態による立体視レンダリングシステムの概略図である。
【図９】図５〜図８に示す立体視レンダリングシステムの例示的なアンチエイリアシングシステムの概略図である。
【発明を実施するための形態】
【００３８】
図面の図５を参照すると、この例では、１つ以上の３Ｄゲームを実装するように構成されたスマートフォン、ゲームシステムコンソール又はパーソナルコンピューティングデバイス等の３Ｄ対応デバイスの一部を形成する立体視レンダリングシステム１００が示されている。システム１００は、ゲームシステム又はコンピューティングデバイスの動作を制御するユーザーインターフェースデバイス１２６と、３Ｄ対応ディスプレイ１２８とに接続される。しかしながら、本実施形態はスマートフォン、ゲームシステムコンソール又はパーソナルコンピューティングデバイスに関連して説明されるが、本発明は、ディスプレイ上に立体視画像を生成するように構成された任意の適切な３Ｄ対応デバイスに適用可能であることが理解されよう。
【００３９】
システム１００は、例えば３Ｄ対応デバイスの基本動作及び３Ｄ対応ゲームの実装を制御することを含めて、システム１００における動作を制御及び調整するように構成された中央処理ユニット（ＣＰＵ）１０２と、ＣＰＵ１０２が３Ｄ対応デバイスにおける機能を実装するのに用いるプログラム及び／又はデータを記憶するように構成されたデータ記憶デバイス１０４と、ＣＰＵ１０２が用いるプログラム及び／又はデータを一時的に記憶するように構成されたＣＰＵメモリ１０６とを備える。
【００４０】
システム１００はまた、３Ｄアプリケーションのための立体視レンダリング動作を含むグラフィックスレンダリング動作を制御及び調整するように構成されたグラフィックス処理ユニット（ＧＰＵ）１０８と、ＧＰＵ１０８がグラフィックスレンダリングプロセスを実施するのに用いるプログラム及び／又はデータを記憶するように構成されるＧＰＵデータ記憶デバイス１１０と、ＧＰＵ１０８が用いるプログラム及び／又はデータを一時的に記憶するように構成されるＧＰＵメモリ１１２とを含む。
【００４１】
システム１００は、ＧＰＵメモリ１１２と別個の又は同じ構成要素であるビデオメモリ１１４も含む。ビデオメモリ１１４を用いて、ディスプレイ１２８が用いる立体視画像をレンダリングするのに用いられるいくつかの画像バッファーを記憶し、この例では、これらのバッファーは、ディスプレイ１２８によって表示される画像を示す情報を記憶するのに用いられる表示バッファー１１６と、画像情報が表示バッファーへの転送に先立って最初にレンダリングされ、これによりディスプレイ１２８に表示されるバックバッファー１１８と、奥行き（Ｚ）バッファー１２０とを含む。
【００４２】
ビデオメモリ１１４は、レンダリング動作に他の機能を加えるのに用いられる１つ以上のオフスクリーンバッファー１２２、例えば、レンダリングされる画像にシャドー等の特徴を加えるのに使用可能なステンシルバッファーも含む。
【００４３】
システム１００のＣＰＵ１０２、ＧＰＵ１０８、データ記憶装置、メモリと、インターフェースデバイス１２６との間の通信を調整するＩ／Ｏコントローラー１２４も提供される。
【００４４】
奥行き（Ｚ）バッファーを用いて、画像のレンダリング中にピクセルごとの奥行き情報を記憶し、シーンの前景内の物体のみが最終的にレンダリングされるようにすることが理解されよう。例えば、ゲームシステム又はコンピューティングデバイスによって実装されるゲームにおけるシーンのレンダリング中、シーンと関連付けられた各グラフィックスプリミティブが奥行きテストを受け、プリミティブの各ピクセルと関連付けられた奥行き値が、奥行きバッファー内の対応するロケーションに記憶された奥行き値と比較される。例えばプリミティブの奥行き値がＺバッファー内の奥行き値よりも大きい（又はいくつかの実施態様では小さい）ことに起因して、ピクセルが奥行きテストにパスすると、そのピクセルは表示バッファーに描画され、Ｚバッファー内の奥行き値がそのピクセルの奥行き値に置き換えられる。このようにして、レンダリングシステムは、シーン内で最も前にあるピクセルのみが表示バッファーに最終的にレンダリングされ、ディスプレイ上に示されることを確実にする。
【００４５】
システム１００は、ゲームシステム又はコンピューティングデバイスと関連付けられたハードドライブ上に記憶されることができる、又は、光ディスク等の取り外し可能な記憶媒体上に記憶されることができるグラフィックスリソース１３０も含み、ゲームシステム若しくはコンピューティングデバイスがゲーム若しくはアプリケーションを実装するための命令及びデータも含む。
【００４６】
立体視レンダリングシステム１００、この例ではＧＰＵ１０８は、Ｚバッファー１２０を用いて、Ｚバッファーの交互の部分が互いに区別され、３Ｄディスプレイのステレオビュー構成による要求に応じてシーンの異なる２つのビューにそれぞれ対応するようにＺバッファー内のデータを構成することによって、奥行き管理機能に加えてステンシルタイプの機能を実行する。この例では、交互の部分は垂直ストライプであるが、水平ストライプ又は斜めストライプ又は湾曲部分等、現在の及び将来の３Ｄディスプレイシステムの他の構成も可能であることが理解されよう。更なる代替として、左ビュー及び右ビューは、水平方向及び垂直方向に配置された部分において交互に配置し、合わせてチェッカーボードタイプの構成を定義することもできる。
【００４７】
この例における交互の垂直ストライプは、これらの交互のストライプに異なる範囲の奥行き値を割り当てることによって互いに区別される。本実施形態では、ストライプの第１の組は０〜０．５の奥行き値範囲を割り当てられ、ストライプの第１の組に対して交互に配置されるストライプの第２の組は、０．５〜１の奥行き値範囲を割り当てられる。
【００４８】
ストライプの第１の組と関連付けられた奥行き値は、より高い数値の奥行き値が、前景により近い物体に対応するようになっている。対照的に、ストライプの第２の組に関連付けられた奥行き値は、より低い数値の奥行き値が、前景により近い物体に対応するようになっている。
【００４９】
前景に対応し、かつそれぞれの奥行き範囲（０〜０．５又は０．５〜１）内にあるピクセルのみを描画するように奥行きテストを制御することによって、レンダリング中にシーンの交互のビューが処理されるので、シーンの２つの異なるビューを表示バッファー内に直接レンダリングすることができる。
【００５０】
本発明の一実施形態による、図５に示すような立体視レンダリングシステムを用いて立体視画像をレンダリングする例示的な方法が図６のフロー図１４０に示されている。
【００５１】
まず、グラフィックス環境がレンダリング用に構成され（１４２）、奥行き（Ｚ）バッファー１２０がクリアされ（１４４）、それぞれの異なる初期奥行き値を有するＺバッファーの交互の垂直部分をポピュレート（populate）することによって、ストライプがＺバッファー１２０内に描画される（１４６）。Ｚバッファーを初期化した後、複数のビューのうちの最初のものが選択され（１４８）、選択されたビューのための仮想カメラが構成される。
【００５２】
次に、選択されたビューに対応する奥行きテストが選択され（１５２）、選択されたビューと関連付けられたグラフィックスプリミティブがグラフィックスリソース１３０から取り出され、選択された奥行きテストに従ってＺバッファー内の奥行き値に対してテストされる。グラフィックスプリミティブの奥行き値が奥行きテストにパスし、かつ選択されたビューと関連付けられた奥行き範囲内にある場合、そのグラフィックスプリミティブは表示バッファー内に描画される（１５４）。
【００５３】
次に、ビューがインクリメントされ（１５６）、仮想カメラを構成するプロセス（１５０）、奥行き範囲を設定し適用するプロセス（１５２）、及びグラフィックスプリミティブを表示バッファーにレンダリングするプロセス（１５４）が、全てのビューが処理されるまで継続する。全てのビューが処理されると、プロセスは次のシーンに進み、立体視レンダリングプロセスが繰り返される。
【００５４】
重要なことに、ストライプ状の奥行きバッファーにおける奥行き値及び適用される奥行きテストは、ビューごとに、そのビューに対応し、かつ３Ｄ表示デバイスの特定のビュー構成に従う表示バッファーのエリアのみにおいて、グラフィックスプリミティブが最終的に表示バッファー内に描画されることを確実にする。
【００５５】
閲覧者の左眼及び右眼に対応する２つのビューを含む立体視レンダリングシステム２１０の例示的な立体視レンダリングプロセスが、図７に示すフロー図１７０及び図８に示す例示的なシステム２１０によって示される。
【００５６】
まず、シーンをレンダリングするためにグラフィックス環境が構成され（１７２）、奥行き（Ｚ）バッファー２１８がクリアされる（１７４）。次に、垂直ストライプがＺバッファー２１８内に描画され（１７６）、それによって（この例では左眼ビューに対応する）ストライプの第１の組が、０に等しい奥行き値を用いてポピュレートされ、（この例では右眼ビューに対応し、第１のストライプに対して交互に配置される）ストライプの第２の組が、１に等しい奥行き値を用いてポピュレートされる。
【００５７】
Ｚバッファー２１８を初期化した後、シーンの第１のグラフィックスプリミティブ２１２がグラフィックスリソース１３０から取り出され（１７８）、プリミティブの左ビューが選択され、左ビューのための仮想カメラ２１４が構成される（１８０）。
【００５８】
次に、左ビューに対応する奥行きテストが選択され（１８２）、左ビューの奥行き範囲が０〜０．５として定義される。左ビューの場合、奥行きテストは、奥行きバッファー内の対応する値よりも大きく、かつ０．５未満の奥行き値を有するグラフィックスプリミティブ２１２のピクセルのみが表示バッファー２２０に描画されるようになっている。これは、左ビューの場合、ピクセルが、Ｚバッファー２１８内の左ビューストライプに対応するストライプにおいてのみ表示バッファーに描画されることを確実にする。
【００５９】
グラフィックスプリミティブ２１２の左ビューの奥行き範囲及び奥行きテストを定義した後、選択された奥行きテストに従って、グラフィックスプリミティブ２１２のピクセルがＺバッファー２１８内の奥行き値に対しテストされる。グラフィックスプリミティブ２１２のピクセルの奥行き値が奥行きテストにパスし、かつ左ビューと関連付けられた０〜０．５の奥行き範囲内にある場合、ピクセルは表示バッファー２２０内に描画され（１８４）、Ｚバッファー内の奥行き値は描画されたピクセルの奥行き値に置き換えられる。
【００６０】
左ビューのレンダリングプロセスは、グラフィックスプリミティブ２１２の全てのピクセルがテストされるまで継続する。奥行きテストに従ってグラフィックスプリミティブ２１２の左ビューの全てのピクセルがテストされると、右ビューが選択され、右ビューのための仮想カメラ２１６が構成される（１９２）。
【００６１】
次に、右ビューに対応する奥行きテストが選択され（１９４）、右ビューの奥行き範囲が０．５〜１として定義される。右ビューの場合、奥行きテストは、奥行きバッファー２１８内の対応する値未満でありかつ０．５よりも大きい奥行き値を有するグラフィックスプリミティブ２１２のピクセルのみが表示バッファー２２０に描画されるようになっている。これは右ビューの場合、ピクセルが、Ｚバッファー２１８内の右ビューストライプに対応するストライプにおいてのみ表示バッファーに描画されることを確実にする。
【００６２】
グラフィックスプリミティブ２１２の右ビューの奥行き範囲及び奥行きテストを定義した後、選択された奥行きテストに従って、グラフィックスプリミティブのピクセルがＺバッファー２１８内の奥行き値に対しテストされる。グラフィックスプリミティブ２１２のピクセルの奥行き値が奥行きテストにパスし、かつ右ビューと関連付けられた０．５〜１の奥行き範囲内にある場合、ピクセルは表示バッファー内に描画され（１９６）、Ｚバッファー内の奥行き値は描画されたピクセルの奥行き値に置き換えられる。
【００６３】
右ビューのレンダリングプロセスは、グラフィックスプリミティブ２１２の全てのピクセルがテストされる（１９８、２００）まで継続する。
【００６４】
左ビュー及び右ビューの双方が表示バッファー２２０内にレンダリングされた後、それぞれ左ビュー及び右ビューに対応するインターリーブされたストライプを含む合成ビュー２２２が生成される。
【００６５】
シーン内に更なるプリミティブが存在する場合、次のプリミティブが選択され、上記のプロセスが次のプリミティブ及び後続のプリミティブに関連して実行される。左ビュー及び右ビューに対する奥行きテストに従って全てのグラフィックスプリミティブがテストされた後、プロセスは次のシーンに進み、繰り返される。
【００６６】
上記の例は、各プリミティブが左ビュー及び右ビューの双方について順番に処理される構成に関連して説明されているが、他の構成が可能であることが理解されよう。例えば、全てのプリミティブについて左ビューを最初に処理し、その後全てのプリミティブについて右ビューを処理することができる。
【００６７】
いくつかの状況では、物体が左ビュー又は右ビューの奥行きテストにパスするか否かにかかわらず、表示画像の上に物体をオーバーレイすることが望ましい。このために、オーバーレイ奥行き値、又は、少なくとも２つの奥行きバッファー部分と関連付けられた奥行き値範囲と異なるオーバーレイ奥行き値範囲が定義され、システムは、オーバーレイ奥行き値に対応する奥行き値を有するか、又はオーバーレイ奥行き値範囲内にあるピクセルを、ビューのうちの任意のものから画像バッファーにレンダリングするように構成される。一例において、オーバーレイ奥行き値範囲は、左ビューと関連付けられた奥行き範囲と、右ビューと関連付けられた奥行き範囲との間で定義することができ、上記の例では約０．５である。
【００６８】
本立体視レンダリングシステムを用いると、左ビュー及び右ビューが、いかなる中間バッファリングも有することなく表示バッファー内に直接レンダリングされるので、図１〜図４に示す従来技術によるシステム及び方法に対する性能改善が達成され、これはステンシルバッファー又はいかなる追加のＧＰＵメモリも用いることなく達成されることが理解される。
【００６９】
本システムを用いると、中間左ビュー及び中間右ビューが生成されないので、従来のアンチエイリアシング技法を用いることができないことも理解される。なぜなら、完全な左ビュー及び完全な右ビューはいかなるバッファー内にも存在せず、表示バッファーはインターリーブされた左ビュー及び右ビューを含むためである。
【００７０】
立体視レンダリングシステム１００とともに用いるのに適したアンチエイリアシングシステム２３０が図９に示されている。
【００７１】
アンチエイリアシングシステム２３０は、この例では、ＧＰＵ１０８と、ＧＰＵデータ記憶デバイス１１０及びＧＰＵメモリ１１２内に記憶される関連プログラムとを用いて実施されるが、他の実施態様も想定されることが理解されよう。
【００７２】
図９におけるアンチエイリアシングシステム２３０の図は、第１の時点Ｔ１におけるプリミティブ２３４の合成された左ビュー及び右ビューの表現２３２を示している。アンチエイリアシングシステム２３０は、第２の時点Ｔ２において、この例では表現を０．５ピクセルだけ右にシフトすることによって、プリミティブ２３４の合成された左ビュー及び右ビューの更なる表現２３６を生成するように構成される。
【００７３】
次に、表現２３２及び更なる表現２３６は、表示バッファー２４２にレンダリングされる合成ビューをなすそれぞれの左ビュー及び右ビューを平滑化させるために、表現２３２、２３６を平均するか又は他の方法で処理するように構成されたブレンダー２４０に入力される。例えば、空間サンプリング間隔及び／又は時間サンプリング間隔からの複数のピクセルを用いる線形演算又は非線形演算を組み合せて、レンダリングされるグラフィックスプリミティブの特性及び３Ｄ表示デバイスのビュー構成に依拠して最適なアンチエイリアシング方式を提供することができる。
【００７４】
本例は、更なるビューが、最初に生成された表現を右にシフトすることによって生成されるプロセスに関連して説明されているが、代替的に、最初に生成された表現を左にシフトすることもできることが理解されよう。
【００７５】
さらに、例えば、垂直部分の代わりに水平部分を用いることによって、左ビューと右ビューとを分離するのに他の構成を用いる立体視システムの場合、他のシフト演算が想定されるが、重要な態様は、作成された合成ビューの、最初に生成された表現に対してシフトされた少なくとも１つの更なる表現が生成され、最初に生成された表現と少なくとも１つの更なる表現とが混合されて、より平滑な画像が生成されることであることが理解されよう。
【００７６】
１つの構成において複数の時間サンプリング点を生成することができ、例えば時点Ｔ１、Ｔ２、Ｔ３、Ｔ４において、線形平均技術又は非線形平均技術等を用いて結果が平均される。
【００７７】
添付の特許請求の範囲及び本発明の上記の説明において、明確な言葉又は必然的な暗示に起因して文脈上別の解釈をする必要がある場合を除き、「含む、備える」又は「含んでいる、備えている」等のその変形は、包括的な意味で用いられ、すなわち述べた特徴の存在を指定するが、本発明の様々な実施形態における更なる特徴の存在又は追加を除外するものではない。
【００７８】
当業者に明らかな変更形態及び変形形態は本発明の範囲内にあるものとする。
【図１】
2014211871.tif 000003
【図２】
2014211871.tif 000004
【図３】
2014211871.tif 000005
【図４】
2014211871.tif 000006
【図５】
2014211871.tif 000007
【図６】
2014211871.tif 000008
【図７】
2014211871.tif 000009
【図８】
2014211871.tif 000010
【図９】
2014211871.tif 000011
【外国語明細書】
2014211871.tif 000012
2014211871.tif 000013
2014211871.tif 000014
2014211871.tif 000015
2014211871.tif 000016
2014211871.tif 000017
2014211871.tif 000018
2014211871.tif 000019
2014211871.tif 000020
2014211871.tif 000021
2014211871.tif 000022
2014211871.tif 000023
2014211871.tif 000024
2014211871.tif 000025
2014211871.tif 000026
2014211871.tif 000027
2014211871.tif 000028
2014211871.tif 000029
2014211871.tif 000030
2014211871.tif 000031
2014211871.tif 000032
2014211871.tif 000033
2014211871.tif 000034
2014211871.tif 000035
2014211871.tif 000036
2014211871.tif 000037
【図１】
2014211871.tif 000038
【図２】
2014211871.tif 000039
【図３】
2014211871.tif 000040
【図４】
2014211871.tif 000041
【図５】
2014211871.tif 000042
【図６】
2014211871.tif 000043
【図７】
2014211871.tif 000044
【図８】
2014211871.tif 000045
【図９】
2014211871.tif 000046