(57)【要約】  レイトレーシングレンダラによって生成されるレイトレーシングサンプルを直接修正する方法。ラスタライズ画像のピクセルを操作する典型的な合成ワークフローと対照的に、サンプルに対する修正を、レンダリング後及びラスタライズ前に行うことができる。修正は、ユーザ入力に基づくことができる。ラスタライズは、例えば様々なディスプレイに適合するように、後で所望の任意の解像度で行うことができる。オブジェクト識別情報をサンプルにタグ付けし、オブジェクトマスクを必要とすることなしに、オブジェクトの選択を容易にすることができる。レンダラによって典型的に使用される擬似ランダム光線パターンを、直接サポートすることができる。色の変更、オブジェクトの再配置、及び異なるシーンからのサンプルのマージを含む、多くの操作をサンプルに対して直接行うことができる。スクランブルされた光線方向を有するセキュアサンプルを、直接修正することができる。修正済みのサンプルは、記憶又は伝送のために圧縮することができ、ことによると受信ストリームを解凍又は復号した後で、表示するためにサンプルをラスタライズする受信装置にストリームすることができる。
2020532816.tif 000002
【特許請求の範囲】
【請求項１】
レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法であって、
三次元シーンをレンダリングするレイトレーシングレンダラの１つ又は複数のパスから、複数のレイトレーシングサンプルを取得するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、前記三次元シーン内の光線に関連し、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、サンプルの色及びサンプル位置を含む、
取得するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、修正済みのレイトレーシングサンプルを形成するために、前記複数のレイトレーシングサンプルの１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正するステップであって、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、１つ又は複数のピクセルを含む前記三次元シーンのラスタライズされたフォーマットの画像に基づかず、
前記修正済みのレイトレーシングサンプルが、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まない、
修正するステップと、
前記１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、前記修正済みのレイトレーシングサンプルを前記複数のピクセルを含むラスタライズ画像へとラスタライズするステップと、
を含む、
方法。
【請求項２】
前記１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性が、前記サンプルの色、前記サンプル位置、外観の属性、テクスチャの属性、可視性の属性、透明性の属性及びオブジェクト識別情報の属性、の１つ又は複数を含む、
請求項１に記載の方法。
【請求項３】
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、並びに１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの前に、１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップを指示する入力をユーザから得るステップ、
を更に含み、
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップが、前記ユーザからの前記入力及び前記１つ又は複数のレイトレーシングサンプルに基づく、
請求項１に記載の方法。
【請求項４】
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップが、前記三次元シーンにアクセスすることなしに、及び、前記レイトレーシングレンダラによって又は別のプロセスによって、前記三次元シーンから導出される追加のデータを得ることなしに、行われる、
請求項１に記載の方法。
【請求項５】
前記レイトレーシングレンダラが、前記ラスタライズ画像のピクセル寸法に関する如何なる情報もなしに前記三次元シーンをレンダリングするように構成される、
請求項１に記載の方法。
【請求項６】
前記複数のレイトレーシングサンプルに関連する前記サンプル位置が、規則的なパターンで構成されず、規則的なグリッド上に整列されない、
請求項１に記載の方法。
【請求項７】
前記レイトレーシングレンダラが、前記光線の方向をランダム化し又は擬似ランダム化することによって、それぞれの前記レイトレーシングサンプルに関連する前記光線を生成するように構成される、
請求項６に記載の方法。
【請求項８】
前記複数のレイトレーシングサンプルのうちの少なくとも１つのレイトレーシングサンプルが、前記少なくとも１つのレイトレーシングサンプルに関連する前記光線と交差する前記三次元シーン内のオブジェクトのサンプルオブジェクト識別情報を更に含み、
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップが、
被選択オブジェクト識別情報を得るステップと、
前記複数のレイトレーシングサンプルのサブセットを選択するステップであって、前記サブセット内の各レイトレーシングサンプルは、前記被選択オブジェクト識別情報に対応する、関連するサンプルオブジェクト識別情報を有する、選択するステップと、
前記サブセット内のレイトレーシングサンプルの１つ又は複数の属性を修正するステップと、を含む、
請求項１に記載の方法。
【請求項９】
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、並びに前記修正済みのレイトレーシングサンプルを前記ラスタライズ画像へとラスタライズする前記ステップの前に、前記複数のレイトレーシングサンプルを、前記三次元シーンと異なる第２のシーンの全て又は一部のレンダリングから得られる第２の組のレイトレーシングサンプルとマージするステップ、
を更に含む、
請求項１に記載の方法。
【請求項１０】
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、及び前記修正済みのレイトレーシングサンプルを前記ラスタライズ画像へとラスタライズする前記ステップの前に、前記ラスタライズ画像のピクセル解像度を選択するステップ、
を更に含む、
請求項１に記載の方法。
【請求項１１】
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、第２のラスタライズ画像の第２のピクセル解像度を選択するステップであって、前記第２のピクセル解像度は、前記ピクセル解像度と異なる、選択するステップと、
前記修正済みのレイトレーシングサンプルを、前記第２のラスタライズ画像へとラスタライズするステップと、
を更に含む、
請求項１０に記載の方法。
【請求項１２】
プレビュー画像の品質レベルを選択するステップと、
前記品質レベルに基づいて前記修正済みのレイトレーシングサンプルのサブセットを選択するステップと、
前記修正済みのレイトレーシングサンプルの前記サブセットを前記プレビュー画像へとラスタライズするステップと、
前記プレビュー画像を表示するステップと、
を更に含む、
請求項１に記載の方法。
【請求項１３】
前記プレビュー画像を表示しながら、バックグラウンドプロセスを使用して、前記修正済みのレイトレーシングサンプルのより大きいサブセットから高品質のプレビュー画像を生成するステップと、
前記バックグラウンドプロセスが完了したとき、前記高品質のプレビュー画像を表示するステップと、
を更に含む、
請求項１２に記載の方法。
【請求項１４】
前記複数のレイトレーシングサンプルが、第１のデータ構造によって表され、前記第１のデータ構造は第１のサイズを有し、
前記方法が、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、前記第１のデータ構造を第２のデータ構造に変換するステップであって、
前記第２のデータ構造は、前記第１のサイズよりも小さい第２のサイズを有し、
前記第２のデータ構造は、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプル位置の圧縮表現と、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプルの色の表現と、を含み、
前記第１のデータ構造を、前記第２のデータ構造に変換する前記ステップは、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像に基づかず、
前記第２のデータ構造は、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まない、
変換するステップと、
前記第２のデータ構造を受信装置に出力するステップと、
を更に含む、
請求項１に記載の方法。
【請求項１５】
前記受信装置が記憶装置を含む、
請求項１４に記載の方法。
【請求項１６】
前記受信装置が、ディスプレイを含み、
前記第２のデータ構造から前記第１のデータ構造を再作成し、
前記第１のデータ構造から前記１つ又は複数のピクセルを含む前記ラスタライズされたフォーマットの前記画像を生成し、
前記画像を前記ディスプレイ上で表示する、
ように構成される、
請求項１４に記載の方法。
【請求項１７】
前記複数のレイトレーシングサンプルを取得する前記ステップの前に、前記複数のレイトレーシングサンプルを生成するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する元の光線方向を、スクランブルされた光線方向に変換するステップと、
前記スクランブルされた光線方向に基づいて、前記各レイトレーシングサンプルに関連する前記サンプル位置を決定するステップと、
を含む、
生成するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記修正済みのレイトレーシングサンプルを前記ラスタライズ画像へとラスタライズする前記ステップの前に、前記複数のレイトレーシングサンプルのスクランブルを解除するステップであって、
前記元の光線方向に対応するように、前記サンプル位置を修正するステップ、
を含む、
スクランブルを解除するステップと、
を更に含む、
請求項１に記載の方法。
【請求項１８】
前記複数のレイトレーシングサンプルのスクランブルを解除する前記ステップが、１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後で行われる、
請求項１７に記載の方法。
【請求項１９】
前記元の光線方向を、前記スクランブルされた光線方向に変換する前記ステップが、暗号アルゴリズムを用いて、及び暗号鍵を使用することによって、前記元の光線方向を暗号化するステップを含み、
前記複数のレイトレーシングサンプルのスクランブルを解除する前記ステップが、前記暗号アルゴリズムを用いて、及び前記暗号鍵と一致する復号鍵を使用することによって、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルを復号するステップを含む、
請求項１７に記載の方法。
【請求項２０】
レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法であって、
三次元シーンをレンダリングするレイトレーシングレンダラの１つ又は複数のパスから、複数のレイトレーシングサンプルを取得するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、前記三次元シーン内の光線に関連し、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、サンプルの色及びサンプル位置を含み、
前記レイトレーシングレンダラが、前記三次元シーンの前記画像のピクセル寸法に関する如何なる情報もなしに、前記三次元シーンをレンダリングするように構成される、
取得するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、ユーザから入力を得るステップと、
前記ユーザから前記入力を得る前記ステップの後、修正済みのレイトレーシングサンプルを形成するために、前記複数のレイトレーシングサンプルの１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正するステップであって、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像に基づかず、
前記修正済みのレイトレーシングサンプルが、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まず、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記ユーザからの前記入力、及び前記１つ又は複数のレイトレーシングサンプル、に基づき、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記三次元シーンにアクセスすることなしに、及び、前記レイトレーシングレンダラによって又は別のプロセスによって、前記三次元シーンから導出される追加のデータを得ることなしに、行われる、
修正するステップと、
前記１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、前記修正済みのレイトレーシングサンプルを複数のピクセルを含むラスタライズ画像へとラスタライズするステップと、
を含む、
方法。
【請求項２１】
前記１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性が、前記サンプルの色、前記サンプル位置、外観の属性、テクスチャの属性、可視性の属性、透明性の属性及びオブジェクト識別情報の属性、の１つ又は複数を含む、
請求項２０に記載の方法。
【請求項２２】
前記複数のレイトレーシングサンプルが第１のデータ構造によって表され、前記第１のデータ構造は第１のサイズを有し、
前記方法が、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、前記第１のデータ構造を第２のデータ構造に変換するステップであって、
前記第２のデータ構造は、前記第１のサイズよりも小さい第２のサイズを有し、
前記第２のデータ構造は、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプル位置の圧縮表現と、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプルの色の表現と、を含み、
前記第１のデータ構造を、前記第２のデータ構造に変換する前記ステップは、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像に基づかず、
前記第２のデータ構造は、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まない、
変換するステップと、
前記第２のデータ構造を、受信装置に伝送するステップと、
を更に含む、
請求項２０に記載の方法。
【請求項２３】
前記受信装置が記憶装置を含む、
請求項２２に記載の方法。
【請求項２４】
前記受信装置が、ディスプレイを含み、
前記第２のデータ構造から前記第１のデータ構造を再作成し、
前記第１のデータ構造から前記１つ又は複数のピクセルを含む前記ラスタライズされたフォーマットの画像を生成し、
前記画像を前記ディスプレイ上で表示する、
ように構成される、
請求項２２に記載の方法。
【請求項２５】
前記複数のレイトレーシングサンプルを取得する前記ステップの前に、前記複数のレイトレーシングサンプルを生成するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する元の光線方向を、スクランブルされた光線方向に変換するステップと、
前記スクランブルされた光線方向に基づいて、前記各レイトレーシングサンプルに関連する前記サンプル位置を決定するステップと、
を含む、
生成するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記修正済みのレイトレーシングサンプルを、前記ラスタライズ画像へとラスタライズする前記ステップの前に、前記複数のレイトレーシングサンプルのスクランブルを解除するステップであって、
前記元の光線方向に対応するように、前記サンプル位置を修正するステップ、
を含む、
スクランブルを解除するステップと、
を更に含む、
請求項２０に記載の方法。
【請求項２６】
前記複数のレイトレーシングサンプルのスクランブルを解除する前記ステップが、１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後で行われる、
請求項２５に記載の方法。
【請求項２７】
前記元の光線方向を、前記スクランブルされた光線方向に変換する前記ステップが、暗号アルゴリズムを用いて、及び暗号鍵を使用することによって、前記元の光線方向を暗号化するステップを含み、
前記複数のレイトレーシングサンプルのスクランブルを解除する前記ステップが、前記暗号アルゴリズムを用いて、及び前記暗号鍵と一致する復号鍵を使用することによって、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルを復号するステップを含む、
請求項２５に記載の方法。
【請求項２８】
レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法であって、
三次元シーンをレンダリングするレイトレーシングレンダラの１つ又は複数のパスから、複数のレイトレーシングサンプルを取得するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、前記三次元シーン内の光線に関連し、
前記複数のレイトレーシングサンプルが、不規則なパターン内にあり、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルは、サンプルの色及びサンプル位置を含み、
前記レイトレーシングレンダラが、前記三次元シーンの前記画像のピクセル寸法に関する如何なる情報もなしに、前記三次元シーンをレンダリングするように構成され、
前記複数のレイトレーシングサンプルが第１のデータ構造によって表され、前記第１のデータ構造は第１のサイズを有する、
取得するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、ユーザから入力を得るステップと、
前記ユーザから前記入力を得る前記ステップの後、修正済みのレイトレーシングサンプルを形成するために、前記複数のレイトレーシングサンプルの１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正するステップであって、
前記１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性が、前記サンプルの色、前記サンプル位置、外観の属性、テクスチャの属性、可視性の属性、透明性の属性及びオブジェクト識別情報の属性、の１つ又は複数を含み、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像に基づかず、
前記修正済みのレイトレーシングサンプルが、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まず、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記ユーザからの前記入力、及び前記１つ又は複数のレイトレーシングサンプル、に基づき、
前記１つ又は複数のレイトレーシングサンプルの前記１つ又は複数の属性を修正する前記ステップが、前記三次元シーンにアクセスすることなしに、及び、前記レイトレーシングレンダラによって又は別のプロセスによって、前記三次元シーンから導出される追加のデータを得ることなしに、行われる、
修正するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記レイトレーシングレンダラの前記１つ又は複数のパスの後、前記第１のデータ構造を第２のデータ構造に変換するステップであって、
前記第２のデータ構造は、前記第１のサイズよりも小さい第２のサイズを有し、
前記第２のデータ構造は、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプル位置の圧縮表現と、前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する前記サンプルの色の表現と、を含み、
前記第１のデータ構造を前記第２のデータ構造に変換する前記ステップは、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像に基づかず、
前記第２のデータ構造は、前記１つ又は複数のピクセルを含む前記三次元シーンの前記ラスタライズされたフォーマットの画像を含まない、
変換するステップと、
前記第２のデータ構造を、受信装置に伝送するステップと、
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、第１のラスタライズ画像の第１のピクセル解像度を選択するステップと、
１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後、第２のラスタライズ画像の第２のピクセル解像度を選択するステップであって、
前記第２のピクセル解像度は、前記ピクセル解像度と異なる、
選択するステップと、
前記第１のピクセル解像度を選択する前記ステップの後、前記修正済みのレイトレーシングサンプルを、前記第１のラスタライズ画像へとラスタライズするステップと、
前記第２のピクセル解像度を選択する前記ステップの後、前記修正済みのレイトレーシングサンプルを、前記第２のラスタライズ画像へとラスタライズするステップと、
を含む、
方法。
【請求項２９】
前記複数のレイトレーシングサンプルを取得する前記ステップの前に、前記複数のレイトレーシングサンプルを生成するステップであって、
前記複数のレイトレーシングサンプルの各レイトレーシングサンプルに関連する元の光線方向を、スクランブルされた光線方向に変換するステップと、
前記スクランブルされた光線方向に基づいて、前記各レイトレーシングサンプルに関連する前記サンプル位置を決定するステップと、
を含む、
生成するステップと、
前記複数のレイトレーシングサンプルを取得する前記ステップの後、及び前記修正済みのレイトレーシングサンプルを、前記第１のラスタライズ画像へとラスタライズする前記ステップの前、及び前記修正済みのレイトレーシングサンプルを、前記第２のラスタライズ画像へとラスタライズする前記ステップの前に、前記複数のレイトレーシングサンプルのスクランブルを解除するステップであって、
前記元の光線方向に対応するように、前記サンプル位置を修正するステップ、
を含む、
スクランブルを解除するステップと、
を更に含む、
請求項２８に記載の方法。
【請求項３０】
前記複数のレイトレーシングサンプルのスクランブルを解除する前記ステップが、１つ又は複数のレイトレーシングサンプルの１つ又は複数の属性を修正する前記ステップの後で行われる、
請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の１つ又は複数の実施形態は、コンピュータグラフィックス及び画像強調の技術分野に関する。限定ではないがより具体的には、本発明の１つ又は複数の実施形態は、レイトレーシングサンプルから直接画像を合成する方法、難読化された位置データを有するレイトレーシングサンプルを生成するセキュアレンダリングシステム、ビデオセキュリティ及びレイトレーシングサンプル圧縮システム、レイトレーシングサンプルを使用する非ラスタライズ画像ストリーミングシステム、並びにレンダリング後及びラスタライズ前のレイトレーシングサンプルを修正する方法を可能にする。
【背景技術】
【０００２】
視覚効果又はコンピュータグラフィックスプロジェクトで使用されるような画像制作パイプラインは、画像又はフレームを操作する合成操作を含むことが多い。例示的な合成操作は、例えば画像内の要素の色、外観、可視性、若しくは位置を修正することができ、又は様々な情報源からの要素を単一の画像若しくはフレームシーケンスへと結合することができる。多くの場合、レンダリング段階は合成の前に行われ、レンダリングは例えば合成操作によって操作される１つ又は複数の画像へとシーンの三次元モデルを変換することができる。レンダリングはしばしばレイトレーシング技法を使用し、レイトレーシング技法は画像の閲覧者の目とシーン内のオブジェクトとの間の光線の経路をシミュレートする。レイトレーシングレンダラは、多数のシミュレートされた光線を生成し、各光線とシーン内のオブジェクトとの交点に関するレイトレーシングサンプルを生成する。レイトレーシングサンプルは、例えば光線が当たるオブジェクトの識別情報、交点の位置、及び交点における色に関するデータを含み得る。
【０００３】
当技術分野で知られている従来の画像制作パイプラインでは、レイトレーシングによるレンダリングの後にラスタライズが続き、ラスタライズはレンダラからのレイトレーシングサンプルをピクセルのグリッドに変換する。その後、（ピクセルとして表される）ラスタライズ画像はパイプラインの合成段階への入力を与える。従って、当技術分野で知られている合成操作は、既にラスタライズされている画像のピクセルを操作する。
【０００４】
この既存のプロセスの欠点は、レンダラの出力をピクセルにラスタライズするとき、レンダラによって生成される大量の情報が破棄されることである。従って、合成操作は、レンダラのレイトレーシング出力を直接操作した場合よりも効果的でなく柔軟性が低い。歴史的に、合成よりも前にラスタライズが使用されてきたのは、レイトレーシングサンプルから直接コンポスティングすることをサポートするには記憶容量及び処理能力が不十分だったからである。しかし、現在の記憶容量と、グラフィックス処理ユニット（ＧＰＵ）及びマルチコアＣＰＵで利用可能な処理能力とを用いれば、レイトレーシングサンプルから直接合成することが可能になる。レイトレーシングサンプルはより多くの情報を含み、典型的にはより細かい粒度にあるので、レイトレーシングサンプルから直接合成することはラスタライズ画像から合成することと比較して幾つかの利点を与える。
【０００５】
既存のレンダリングシステムに対する別の課題は、レンダリングされた画像及びビデオの海賊版を作ることができないように又はそれを盗むことができないように、セキュリティを確立し強化することである。例えば映画スタジオ又は他のコンテンツ制作者は、自分がレンダリングしているコンテンツの海賊版が作られるリスクに直面することが多い。海賊版を作ることは従業員、契約者、又はサービスプロバイダによって行われ得る。具体的には、レンダリングされた画像及びビデオの海賊版が作られる可能性は、スタジオ及び制作者がサービスプロバイダにレンダリングを外部委託するのを思いとどまらせる可能性がある。それは、社内でレンダリングをし続けることによって、海賊版のリスクをより効果的に軽減できると期待するからである。このように外部委託を厭うことは非効率につながる可能性があり、それは現代のグラフィックス及びエフェクトを有する複雑なシーンをレンダリングするのに必要な大きなインフラ（例えば数百台又は数千台のサーバを有する）をスタジオ及び制作者が全て再現しなければならないからである。既存のレンダリングシステムは、レンダリングされた画像及びビデオの海賊版が作られないという保証を与えることはできない。レンダリングされた画像をレンダリング後に暗号化することは十分ではない可能性がある。それは例えば、レンダリングシステムが、暗号化されていないレンダリングされた画像を、暗号化ステップの前に依然として生成又は記憶し、それらの画像の海賊版を作りやすくし得るからである。レンダリングされた画像がセキュアレンダリングプロセスの不可欠な部分として難読化されるので、海賊版の作成者がセキュアレンダリングシステムの出力を使用することができない、本質的に安全なレンダリングソリューションを提供するシステムが求められている。
【０００６】
少なくとも上記の限定に関して、レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法が求められている。
【発明の概要】
【課題を解決するための手段】
【０００７】
本明細書に記載する１つ又は複数の実施形態は、レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法に関する。
【０００８】
本発明の１つ又は複数の実施形態は、レイトレーシングサンプルから直接画像を合成する方法に関する。本発明の実施形態は、画像をピクセルにラスタライズする前に、レイトレーシングレンダラからのデータに直接アクセスしそれを修正する合成操作を可能にする。この手法は、レンダリング後に画像をラスタライズし、ラスタライズした画像に対して合成操作を行う従来技術における典型的なワークフローと対照的である。１つ又は複数の実施形態では、レイトレーシングサンプルから直接画像を合成することは、例えば上記のセキュアレンダリングシステムとともに提供されてもよい。
【０００９】
本発明の１つ又は複数の実施形態は、シーンをレンダリングするレイトレーシングレンダラからレイトレーシングサンプルを取得し、それらのレイトレーシングサンプルに１つ又は複数の合成操作を適用することができる。各レイトレーシングサンプルは、レンダラによって生成されるシミュレートされた光線とシーン内のオブジェクトとの交点に関連する情報を含み得る。この情報は、例えばサンプルを生成する交点の位置、交差したオブジェクトの識別情報、及びその点における色を制限なしに含むことができる。位置情報は、例えば二次元又は三次元であり得る。１つ又は複数の実施形態では、サンプル情報がレンダラによって生成される、又は他の方法で生成される、若しくは取得される他の任意のデータ値を含み得る。
【００１０】
レイトレーシングサンプルに合成操作を直接適用した後、修正済みのサンプルをピクセル画像へとラスタライズすることができる。ラスタライズは、例えば各ピクセルの色を、ピクセル内又はピクセル付近の修正済みのレイトレーシングサンプルの色の混合に設定することができる。
【００１１】
レイトレーシングレンダラは、所望の任意のパターンでシミュレートされる光線の方向を生成することができる。これらのパターンは、１ピクセル当たり複数のサンプルを生成することができる。１ピクセル当たりのサンプル数は変化してもよく、例えばレンダラは、オブジェクトのエッジ付近で、１ピクセル当たりより多くのサンプルを生成することができる。１つ又は複数の実施形態は、規則的なグリッドパターンではなく、不規則な、ランダムな、又は擬似ランダムなパターンにあるレイトレーシングサンプルを取得し操作することができ、それらの不規則でランダム化された光線パターンは、干渉模様等のレンダリングアーティファクトを回避するためにレイトレーシングレンダラによってしばしば使用される。従って、面上に投影された光線は、一般的には、互いに等距離ではない。
【００１２】
１つ又は複数の実施形態は、レイトレーシングサンプルに対して任意の種類の合成操作を直接行うことができる。例えば限定ではないが、合成操作は１つ又は複数のオブジェクトを選択することを含むことができ、これらのオブジェクトに関連するレイトレーシングサンプルを選択することができる。従って、オブジェクトの選択は、オブジェクトマスクを必要とせず、対応する１組のサンプルを選択するために、直接且つ即座に作用する。被選択サンプルは、例えば移動され、再構成され、表示され、若しくは隠され、又は色若しくはテクスチャに関して修正され得る。１つ又は複数の実施形態では、合成操作は、様々なシーン又はシーンの様々な部分のレンダリングから得られるレイトレーシングサンプルをマージすることを含み得る。様々なシーンから生成されるサンプルのマージは、両方のシーンのレンダリングが完了した後の合成中に行われ得る。
【００１３】
１つ又は複数の実施形態は、三次元空間内のオブジェクトを再配置し又は再構成する合成操作をサポートすることができる。サンプル位置は、例えばシミュレートされた光線がシーン内のオブジェクトと交差する三次元の点と一致する。レイトレーシングサンプルは、三次元空間内の点群として操作され得る。合成操作はまた、異なる視点からのシーンを表す修正済みの画像を生成することも含み、例えば立体画像を生成するために使用することができる。異なる視点から全体シーンを再レンダリングする代わりに、１つ又は複数の実施形態は、修正済みの視点を反映するように合成操作によってサンプルを再配置し、新たな視点によって明るみに出される欠落した背景サンプルを埋めるのに必要なサンプルだけをレンダラに要求することができる。レイトレーシングサンプルに対する合成操作によって三次元空間内のオブジェクトを再配置するとき、オブジェクト又はオブジェクトの一部が、元の画像内では遮蔽されていなくても他のオブジェクトによって遮蔽されることがある。レイトレーシングサンプルから直接合成することは、これらの遮蔽効果を考慮に入れるように画像を正しくラスタライズすることをサポートする。例えばサンプルが、閲覧者により近い他のサンプルによって囲まれている又はその近くにある場合は、ラスタライズで無視することができる。
【００１４】
レイトレーシングサンプルに合成操作を適用した後、修正済みのサンプルを所望の任意の解像度で、又は複数の解像度で１つ又は複数のピクセル画像にラスタライズすることができる。解像度は、例えば画像が表示されるディスプレイの解像度に基づいて選択することができ、又は記憶若しくはネットワーク上での伝送のための所望の出力解像度に基づいて、例えばネットワークの利用可能な帯域幅に基づいて選択することができる。解像度は、レンダラ又は合成プロセスによって選択される必要はなく、或いはそれらに知られる必要さえない。
【００１５】
合成中又は合成後、合成操作の効果のプレビュー画像を生成することが望ましい場合がある。１つ又は複数の実施形態は、例えばこれらのプレビュー画像をより迅速に又はより効率的に生成するために、レイトレーシングサンプルのサブセットのみを使用してプレビュー画像を生成することができる。１つ又は複数の実施形態では、プレビュー画像の品質レベルを指定することができ、かかる指定は例えばプレビュー画像を生成するために１ピクセル当たり何個のサンプルが使用されるのかに影響し得る。高品質の又は完全な品質の画像は、低品質のプレビュー画像を表示しながらバックグラウンドで生成されてもよく、画像を動的に更新するために、準備ができたときに又は徐々に、低品質のプレビュー画像を置換してもよい。プレビュー画像又は最終画像の生成は、グラフィックス処理ユニットを使用して完全に又は部分的に行われ得る。
【００１６】
１つ又は複数の実施形態は、ピクセル画像の生成の代わりに又はそれに加えて、合成レイトレーシングサンプルからメッシュ（又は１組のメッシュ）を生成することができる。
【００１７】
合成操作は、これだけに限定されないが色、位置、外観、テクスチャ、可視性、透明性、及びオブジェクト識別情報を含む、レイトレーシングサンプルに関連する任意のデータ値又は属性にアクセスし又はそれを操作することができる。
【００１８】
１つ又は複数の実施形態では、レイトレーシングレンダラの１つ又は複数のパスの後、レイトレーシングサンプルの任意の属性の修正を行うことができる。これらの修正では、シーンの（ピクセルを含む）ラスタライズ画像にアクセスすることもなく、それを生成することもない。修正済みのレイトレーシングサンプルをラスタライズ画像（又はことによると異なる解像度をもつ複数のラスタライズ画像）へとラスタライズすることは、全てのこれらの修正の後で行われ得る。
【００１９】
１つ又は複数の実施形態では、レンダリング後にユーザ入力を得ることができ、レイトレーシングサンプルの修正はこのユーザ入力に完全に又は部分的に基づき得る。
【００２０】
１つ又は複数の実施形態では、レイトレーシングサンプルへの修正が、レンダリングされる三次元シーンにアクセスすることなしに、及びその三次元シーンから導出される如何なる追加のデータも得ることなしに行われ得る。例えば限定ではないが、レイトレーシングサンプルへの修正は、レンダラを再び呼び出すことなしに、及びレンダラから如何なる追加の情報も得ることなしに行われ得る。
【００２１】
１つ又は複数の実施形態では、レンダラは、レンダリング後に生成され得るラスタライズ画像のピクセル寸法に関する如何なる情報もなしにシーンをレンダリングすることができる。レンダラは、例えば光線の方向をランダム化し又は擬似ランダム化することにより、規則的なパターン内になく、規則的なグリッド上に整列されないサンプル位置を生成することができる。
【００２２】
１つ又は複数の実施形態は、例えばレンダリング画像の海賊版が作られることを防止し又は軽減し得る、難読化された位置データを有するレイトレーシングサンプルを生成するセキュアレンダリングシステムを可能にすることができる。セキュアレンダリングシステムは、例えばシーンのモデルに光線を投影することによってレイトレーシングサンプルの色を決定できるが、サンプルの色を収集し又は記憶する前に又はその間に光線の方向又は位置を難読化することができる。本発明の１つ又は複数の実施形態では、サンプルの色が収集される前に光線のキャスティング方向がスクランブルされるので、本発明のこれらの実施形態は攻撃ベクトルの可能性を軽減する。例えば本発明の１つ又は複数の実施形態は、サンプルが送り出される又は外にキャスティングされる方向をスクランブルするので、サンプルが最終的にオブジェクトに当たりオブジェクトの色を収集するとき、色のデータを収集する前でさえ方向は既に難読化されている。このことは順序付けられたサンプル及び色が共存するのを防ぎ、スクランブラ自体に対する中間者攻撃を排除する。事実上、色が収集される前にスクランブルすることにより、本発明の１つ又は複数の実施形態は順序付けられたサンプル及び色の同時発生を排除する。本発明の実施形態はまた、難読化された光線のキャスティング方向及び／又は色のストリーミングも可能にして、新規のやり方で海賊版が作成されることを防止する。セキュアレンダの承認されたコンシューマは、レンダリングされた画像を見るために、元の光線方向又は位置を回復することができる。
【００２３】
例えばセキュアレンダリングシステムの１つ又は複数の実施形態は、レンダリングパイプライン内に光線スクランブラを統合してサンプル位置を難読化することができる。レイトレーシングサンプル生成器は、元の光線方向を使用してレイトレーシングサンプルを最初に生成することができ、例えばレンダリングされるシーンの三次元モデル内のオブジェクトとの光線の交点に基づいてサンプルの色を割り当てることができる。１つ又は複数の実施形態では、色を収集する前に又はレンダリングされた出力を保存し若しくは記憶する前に、これらのレイトレーシングサンプルは、元の光線方向をスクランブルされた光線方向に変換する光線スクランブラに伝送されてもよい。スクランブルされた光線方向を有するサンプルは、セキュアレンダとして出力される。セキュアレンダは、元のスクランブルされていないレイトレーシングサンプルに回復し、それぞれの装置上での表示に適したラスタライズ画像を生成するために、スクランブルされた光線方向のスクランブルを解除できるセキュアレンダコンシューマに伝送されてもよい。
【００２４】
１つ又は複数の実施形態では、光線のスクランブルはレンダリングパイプラインの任意の段階で実行することができる。例えば光線方向のスクランブルは、サンプルの色を取得する前に又はサンプルの色を取得した後で行うことができる。サンプルの色を取得する前にスクランブルすることは、スクランブラに対する中間者攻撃をなくし、その結果１つの攻撃ベクトルを排除する。光線のスクランブルは、レイトレーサ若しくはレンズシェーダに、又はレンダリングパイプラインの他の任意のサブシステム内に組み込まれ得る。光線キャスティングレンダリング操作によって光線がキャストされるときに、１つ又は複数の実施形態では、光線はスクランブルされ得る。スクランブル及び他のレンダリング操作は所望の任意の順序で実行することができる。
【００２５】
１つ又は複数の実施形態では、セキュアレンダリングシステムの任意の又は全てのコンポーネントが、例えば１つ又は複数のグラフィックス処理ユニットを含む１つ又は複数のプロセッサ上で実行され、又はかかる１つ又は複数のプロセッサに組み込まれ得る。１つ又は複数の実施形態では、光線スクランブラの全て又は一部は、レンダリングパイプラインのレンズシェーダに組み込まれ、又は統合され得る。
【００２６】
１つ又は複数の実施形態では、光線スクランブラが、暗号アルゴリズム及び暗号鍵を使用して暗号化することによって元の光線方向をスクランブルすることができ、セキュアレンダコンシューマは、一致する暗号アルゴリズム及び復号鍵でセキュアレンダを復号することにより、スクランブルされていない光線方向を回復することができる。公開鍵暗号方式（例えば非対称公開復号鍵及び秘密復号鍵による）又は秘密鍵暗号方式（例えば対称暗号化及び復号鍵による）を使用することができる。公開鍵暗号方式を使用する１つ又は複数の実施形態は、公開鍵に対応する複数の秘密鍵を使用することができ、秘密鍵はセキュアレンダを復号するために個別に又は組み合わせて使用することができる。１つ又は複数の実施形態は、セキュアレンダから光線方向を完全に除去することによって、及びレイトレーシングサンプル生成器とセキュアレンダコンシューマとの間で擬似乱数生成器及びシードを共有することによって元の光線方向をスクランブルすることができ、そのためセキュアレンダコンシューマは元の光線方向を再現することができる。
【００２７】
１つ又は複数の実施形態は、セキュアレンダコンシューマに伝送する前に、セキュアレンダ内の特定のデータを操作することができるセキュアレンダコンポジッタを組み込むことができる。例えばセキュアレンダコンポジッタは、１つ又は複数のサンプルの色を修正することができ、これは一部の事例では元の光線方向を回復することなしに可能であり得る。１つ又は複数の実施形態では、セキュアレイトレーシングサンプルがオブジェクト識別子を含むことができ、セキュアレンダコンポジッタが例えばもう１つの標的オブジェクト識別情報に一致するサンプルをセキュアレンダから選択し、それらの被選択サンプル内の特定のサンプルの色を修正することができる。
【００２８】
１つ又は複数の実施形態は、光線方向を難読化することを超えて、セキュアレンダに対する１つ又は複数の追加のセキュリティ変換を組み込むことができる。例えば光線スクランブラ又は別のコンポーネントはサンプルの色を暗号化することができ、又はセキュアレンダ全体を暗号化することができる。１つ又は複数の実施形態は、例えば、光線方向のスクランブルと色の暗号化に、別個の鍵又は技術を使用することができる。
【００２９】
１つ又は複数の実施形態は、ビデオセキュリティ及びレイトレーシングサンプル圧縮システムを可能にすることができる。１つ又は複数の実施形態は、関連するメモリを備えたプロセッサ（又は複数のプロセッサ）を使用し、例えば記憶又は伝送のためにレイトレーシングサンプルを圧縮することができる。圧縮は、１つ又は複数の実施形態においてセキュリティと組み合わせることができる。レイトレーシングサンプルはレイトレーシングレンダラから得ることができ、それらのサンプルは例えば光線方向及びサンプルの色を含むことができる。光線方向は、シーンの三次元モデル内の光線に、又は光線方向とモデルとの交点に対応するサンプル位置に関連し得る。サンプルの色は、光線とシーン内の点との交点に対応することができる。レイトレーシングレンダラから得られるレイトレーシングサンプルは、第１のデータ構造によって表され得る。１つ又は複数の実施形態では、システムは、この第１のデータ構造を第１のデータ構造よりもサイズが小さい第２のデータ構造に変換することができる。この第２のデータ構造は、レイトレーシングサンプル内の光線方向又はサンプル位置の圧縮表現、並びにサンプルの色の表現（圧縮されていてもいなくてもよい）を含むことができる。第１のデータ構造を第２の（より小さい）データ構造に変換することは、シーンのラスタライズ画像にアクセスせずに又はそれを生成することなしに行うことができる。第２のデータ構造は受信装置に出力されてもよく、受信装置は例えば記憶装置、ネットワーク、又はディスプレイを有する装置であってもよい。
【００３０】
１つ又は複数の実施形態では、ディスプレイを有する受信装置が、システムによって出力される第２のデータ構造を受信し、第１のデータ構造を再現し、第１のデータ構造から（ピクセルを用いた）ラスタライズ画像を生成し表示することができる。
【００３１】
１つ又は複数の実施形態では、（第１のデータ構造を第２のデータ構造に変換することができるプロセッサに関連する）メモリが、レイトレーシングサンプルの光線方向又はサンプル位置を含む矩形領域を含むことができる。この矩形領域は１つ又は複数のタイルに区分化することができ、各タイルは矩形領域の一部に対応し、タイルは重複せず、矩形領域の各点は厳密に１つのタイルに含まれる。タイルは画像のピクセルに対応してもしなくてもよい。各タイル内の光線方向又はサンプル位置の数はタイルにわたって均一でなくてもよく、各タイル内の光線方向又はサンプル位置の位置はタイルにわたって均一でなくてもよい。第２のデータ構造は各タイルのタイル情報を含むことができ、タイル情報はタイル内の光線方向又はサンプル位置の圧縮表現を含み得る。
【００３２】
１つ又は複数の実施形態では、第２のデータ構造は、各タイルのエントリを有するテーブルと、タイルのタイル情報へのそのエントリ内の参照とを有することができる。
【００３３】
１つ又は複数の実施形態では、タイル内の各光線方向又はサンプル位置の圧縮表現が、その光線方向又はサンプル位置とタイルの原点位置との間のオフセット情報を含むことができる。タイルの原点位置は、例えばタイルの角又はタイルの中心とすることができる。オフセット情報は、第１のデータ構造での光線方向又はサンプル位置の範囲よりも小さい範囲をもつことができ、光線方向又はサンプル位置に関する第１のデータ構造での対応するビット数よりも少ないビットによって第２のデータ構造で表すことができる。１つ又は複数の実施形態では、オフセット情報が、切り捨てられた精度の浮動小数点数を含むことができる。
【００３４】
１つ又は複数の実施形態では、タイルが小領域に更に分割され、タイルのタイル情報は、タイル内の各小領域のビットを有するビットマスクを含むことができる。小領域のビットは、例えば１つ又は複数の光線方向又はサンプル位置が対応する小領域内にあるかどうかを表すことができる。タイル内の光線方向又はサンプル位置の圧縮表現はこのビットマスクを含むことができる。２つ以上の光線方向又はサンプル位置が小領域内にある場合、第２のデータ構造での対応する色情報は、対応するサンプルからの色情報を結合してもよい。
【００３５】
１つ又は複数の実施形態では、タイルのタイル情報は、タイル内の光線方向又はサンプル位置を生成するシード値を含むことができる。これらの光線方向又はサンプル位置の圧縮表現は、各光線方向又はサンプル位置が生成された順序を含むことができる。受信装置が、各タイル内の同じシードを使用して第１のデータ構造を再現することができ、例えばこの第１のデータ構造から生成されるラスタライズ画像を表示することができる。システムの１つ又は複数の実施形態は、１つ又は複数の受信装置を含むことができる。
【００３６】
システムの１つ又は複数の実施形態は、セキュリティ及び圧縮の両方を可能にすることができる。例えば１つ又は複数の実施形態は、第１のデータ構造を第２の（より小さい）データ構造に変換するプロセッサを有することができ、またスクランブルされた光線方向を生成するレイトレーシングレンダラも含むことができる。このレンダラは、各レイトレーシングサンプルに関連する元の光線方向を、サンプルの光線方向又はサンプル位置に対応し得るスクランブルされた光線方向に変換することができる。別の装置に出力され得る第２のデータ構造は、元の光線方向又はその元の光線方向に対応するサンプル位置を含まなくてもよい。元の光線方向を出力しないことにより、例えばレンダリングのセキュリティを維持することができる。
【００３７】
サンプルに対してスクランブルと圧縮の両方を行う実施形態から出力を受信する受信装置は、例えば元のレイトレーシングサンプルを得るために圧縮及びスクランブルのステップを逆に行ってもよい。例えば受信装置は、受信した第２のデータ構造から第１のデータ構造を再現することができ、第１のデータ構造でのスクランブルされたレイトレーシングサンプルを、サンプルの色及び元の光線方向又はサンプル位置を含むスクランブルされていないサンプルに変換することができる。ラスタライズ画像は、スクランブルされていないサンプルから生成され、ディスプレイ上に表示され得る。
【００３８】
光線方向をスクランブルするレイトレーシングレンダラは、例えば暗号化（例えば公開鍵暗号アルゴリズム若しくは秘密鍵暗号アルゴリズムによる）又はシードを有する擬似乱数生成器の使用を含む上記の技術の何れかを使用することができる。
【００３９】
１つ又は複数の実施形態は、レイトレーシングサンプルをスクランブルすること、それらのサンプルから合成すること、及び合成したサンプルを圧縮することによるセキュリティを可能にすることができる。合成操作は、例えば上記の操作の何れかを含むことができる。１つ又は複数の実施形態は、合成したサンプルからプレビュー画像を生成することを更に可能にし得る。
【００４０】
１つ又は複数の実施形態は、レイトレーシングサンプルを使用する非ラスタライズストリーミングシステムを可能にすることができる。システムは例えばレイトレーシングサンプルを取得し、ラスタライズ画像をストリーミング又は伝送することなしに、それらのサンプル又はそれらのサンプルの修正バージョン若しくは最適化バージョンを、ネットワークを介して受信装置にストリームすることができる。１つ又は複数の実施形態では、同じストリームを全ての受信装置に送信することができる。１つ又は複数の実施形態では、システムは、例えば装置の表示解像度、ストリームが伝送される装置へのネットワーク接続の品質、又は所望のストリーム品質のうちの１つ又は複数を含み得る受信装置に関する装置情報を取得することができ、この装置情報は各装置に送信されるサンプルのストリームを修正するために使用され得る。各装置に送信されるストリームはラスタライズ画像を含まなくてもよく、代わりに例えばレイトレーシングサンプル自体又はそのサブセットを含むことができ、サブセットはことによると装置情報に基づいて選択される。
【００４１】
１つ又は複数の実施形態では、ストリーミングのためにレイトレーシングサンプルを受信するプロセッサは、さらにサンプルを圧縮してもよく、又はサンプルに対して１つ又は複数の合成操作を行ってもよい（又はその両方を行ってもよい）。これらの操作は、ラスタライズ画像にアクセスせずに又はそれを生成することなく、レイトレーシングサンプルに直接作用することができる。圧縮又は合成（又はその両方）は上記の技術の何れかを使用することができる。
【００４２】
１つ又は複数の実施形態は、例えばストリーミングを開始した後にネットワーク品質情報に対する更新を受信することができ、それに応じて１つ又は複数の装置に送信されるストリームを修正することができる。
【００４３】
１つ又は複数の実施形態では、より低い表示解像度を有する装置よりも高い表示解像度（より多くのピクセル）を有する装置に、より大きなストリームが送信され得る。同様に、より低品質のネットワーク接続を有する装置よりも高品質のネットワーク接続を有する装置に、より大きなストリームが送信され得る。そして、より低い所望のストリーム品質に関連する装置よりも高い所望のストリーム品質に関連する装置に、より大きなストリームが送信され得る。
【００４４】
システムの１つ又は複数の実施形態は、１つ又は複数の受信装置を含むことができる。これらの装置は、ストリームで受信したレイトレーシングサンプルからラスタライズ画像を生成することができる。受信装置はまた、受信したレイトレーシングサンプルのサブセットを選択するためのフィルタを有することもできる。
【００４５】
１つ又は複数の実施形態は、セキュアレンダリングをストリーミングと組み合わせることができる。例えばシステムによって受信されるレイトレーシングサンプルは、元の光線方向から導出されるスクランブルされた光線方向を有することができ、これらのスクランブルされた方向は、例えば元のスクランブルされていない光線方向を再現し、その後ラスタライズ画像を生成する１つ又は複数の受信装置にストリームされ得る。光線方向のスクランブル及びスクランブル解除は、暗号化及び擬似乱数生成器の使用を含む上記の技術の何れかを使用することができる。
【００４６】
１つ又は複数の実施形態は、セキュアなレンダリング、合成、及びストリーミングを組み合わせることができる。１つ又は複数の実施形態では、合成操作は、スクランブルされたレイトレーシングサンプルに直接作用することができ、例えば元の光線方向を取得し又は生成することなしにサンプルの色を修正することができる。
【００４７】
１つ又は複数の実施形態は、セキュアなレンダリング、合成、圧縮、及びストリーミングを組み合わせることができる。レンダラは、修正（合成）され、圧縮され、受信装置にストリーミングされるセキュアレイトレーシングサンプルを生成することができる。受信装置は、表示するためにサンプルを解凍し、復号し、ラスタライズすることができる。
【００４８】
この特許又は出願書類は、少なくとも１つのカラー図面を含む。カラー図面を有するこの特許又は特許出願公開の複製は、要求に応じて必要な料金を支払うことで官庁によって提供される。
【００４９】
以下の図面と組み合わせて提示する、以下のより詳細な説明から、本発明の上記の及び他の態様、特徴、及び利点がより明らかになる。
【図面の簡単な説明】
【００５０】
【図１】合成前に画像をピクセルにラスタライズする、当技術分野で知られている典型的な画像処理パイプラインを示す。
【図２Ａ】レンダリングによって生成されるレイトレーシングサンプルが合成に直接入力され、合成後に画像がピクセルにラスタライズされる、本発明の１つ又は複数の実施形態のフローチャートを示す。
【図２Ｂ】図２Ａのパイプラインの改変形態を示す。合成レイトレーシングサンプルが（ことによると圧縮後に）記憶され又は伝送され、その後、表示時にラスタライズされる。
【図３】図２Ａのパイプラインの別の改変形態を示す。レイトレーシングサンプルから直接合成することの潜在的な利点の１つについても示す。ピクセル解像度は合成後に選択することができ、ディスプレイの機能又は他の目的に合致するように様々な解像度の画像を生成することができる。
【図４】レイトレーシングレンダラによって生成されるレイトレーシングサンプルの一例を示す。この例示的なレイトレーシングサンプルはサブピクセル解像度にあり、アーティファクトを防止するために不規則なパターン内にある。
【図５】図４の例の続きである。２つの例示的なピクセル内の個々のレイトレーシングサンプルを示す。そしてレイトレーシングサンプルに関連し得るデータの種類を示す。
【図６】当技術分野で知られている技術を用いた例示的な合成操作を示す。特定のオブジェクト（シャツ）がマスクによって選択され、マスク内のピクセルの色が修正される。この技術は、レイトレーシングサンプルの詳細が合成前のラスタライズによって廃棄されているので、不自然なエッジ効果をもたらす可能性がある。
【図７】本発明の１つ又は複数の実施形態を使用して、図６に示す変色合成操作をどのように行うことができるのかを示す。オブジェクトに関連するレイトレーシングサンプルは、選択され直接操作される。この手法は、全てのレイトレーシングサンプルが合成操作に使用されるので、より自然なエッジをもたらす。
【図８】本発明の１つ又は複数の実施形態を用いた画像の第２の視点の生成を示す。修正された視点は、元の画像ではレンダリングされていなかった新たな背景領域を明るみに出すので、本発明の１つ又は複数の実施形態はそれらの領域の新たなレイトレーシングサンプルを要求し、それらのサンプルを元の画像からのサンプルとマージして第２の視点の画像を形成することができる。
【図９】合成操作がオブジェクトの相対位置を変更した後、或るオブジェクトが別のオブジェクトをいつ遮蔽するのかを決定するためにレイトレーシングサンプルの三次元位置を使用する、本発明の１つ又は複数の実施形態を用いた合成操作を示す。
【図９Ａ】図９に示すレイトレーシングサンプルに対する修正を行うためにユーザによって使用され得る例示的なユーザインタフェースを示す。
【図１０】本発明の１つ又は複数の実施形態によって可能にされるプレビュー機能を示す。低品質のプレビュー画像はレイトレーシングサンプルのサブセットを使用して比較的迅速に生成することができ、高品質の画像はバックグラウンドで生成され、後で表示され得る。
【図１０Ａ】１ピクセルごとに使用するレイトレーシングサンプルの数を変えることによって画質を修正する別の例を示す。
【図１１】レイトレーシングサンプルに関連する点群からメッシュを生成することを示す。
【図１２Ａ】図４に示すシーンから選択したオブジェクトについてメッシュを生成する別の例を示す。
【図１２Ｂ】図４に示すシーンから選択したオブジェクトについてメッシュを生成する別の例を示す。
【図１３】合成画像を形成するために、レンダラの様々なパスから得られたレイトレーシングサンプルをマージすることを示す。
【図１４】如何なる記憶最適化もないレイトレーシングサンプルのシーケンスに関連するデータの一例を示す。この最適化されていないデータは、例えば各サンプルの座標のために浮動小数点値を記憶することを必要とし得る。
【図１５】各ピクセル内の座標オフセットを記憶し、浮動小数点の精度を切り捨てることができる、１つ又は複数の実施形態で利用可能なサンプル記憶最適化を示す。
【図１５Ａ】ピクセルの角ではなくピクセルの中心に対するオフセットを記憶する、図１５に示す最適化の改変形態を示す。
【図１６】ピクセル又はタイルを小領域に分割し、各小領域内のサンプルの有無を示すためにビットマスクを使用する、１つ又は複数の実施形態で使用され得る別のサンプル記憶最適化を示す。
【図１７】各サンプルに関連する色（及びことによるとオブジェクト識別情報等の他の情報）だけを記憶し、必要に応じてそれらの位置を再現するためにサンプル位置を生成するために使用されるランダムシードを記憶する、１つ又は複数の実施形態で使用され得る別のサンプル記憶最適化を示す。
【図１８】レンダリングサービスの従来技術を示し、レンダリングされた画像の海賊版が作られる可能性についてのリスクを示す。
【図１９】海賊版のレンダリング画像が使用できないように、位置データを難読化するセキュアレンダリングシステムを提供することにより、図１８の海賊版作成シナリオを防止する本発明の一実施形態を示す。
【図２０】光線及びレイトレーシングサンプルを生成するレイトレーシングサンプル生成器と、サンプル位置を難読化する光線スクランブラと、正しい位置を回復することができるセキュアレンダコンシューマとを含む、セキュアレンダリングシステムの一実施形態の例示的なコンポーネントを示す。
【図２１Ａ】光線を生成し、画像を閲覧するために直接使用することができるサンプルをクレートする従来技術のレンダリングシステムを示す。
【図２１Ｂ】元の光線方向を回復する前はシステムの出力が閲覧不能であるように、光線をスクランブルするセキュアレンダリングシステムの一実施形態を示す。
【図２２】セキュアレンダリングシステムの１つ又は複数の実施形態に使用され又は組み込まれる例示的なハードウェア及びコンポーネントを示す。
【図２３】セキュアレンダの光線方向を暗号化するために、公開鍵アルゴリズムか秘密鍵アルゴリズムかどちらかの暗号アルゴリズムを使用するセキュアレンダリングシステムの一実施形態を示す。
【図２４】光線方向を生成するためにシード及び擬似乱数生成器を使用し、位置データを除去するセキュアレンダから光線方向を回復するために同じシード及び擬似乱数生成器を使用する、セキュアレンダリングシステムの一実施形態を示す。
【図２５】位置又は光線方向データの回復前に、セキュアレンダに対して特定の合成操作を直接適用するセキュアレンダリングシステムの一実施形態を示す。
【図２６】色を暗号化し、レンダファイル全体を暗号化する追加のセキュリティ手段が組み込まれているセキュアレンダリングシステムの一実施形態を示す。
【図２７】放送ソリューションとしてセキュアサンプルのストリーミングを組み込み、セキュアレンダリングコンシューマがテレビ等の消費者装置に統合されているセキュアレンダリングシステムの一実施形態を示す。
【図２８】表示解像度及びストリーミング接続の品質に関する様々な要件及び機能に対応するために、ストリームするサンプルの数を動的に選択するサンプルストリーミングソリューションの使用を示す。
【発明を実施するための形態】
【００５１】
次に、レンダリング後及びラスタライズ前のレイトレーシングサンプルの修正方法について説明する。以下の例示的な説明では、本発明の実施形態のより完全な理解を提供するために多数の具体的な詳細を記載している。但し、本明細書に記載する具体的な詳細の全ての側面を組み込むことなしに本発明を実施できることが当業者には明らかである。他の例では、本発明を不明瞭にしないために、当業者によく知られている具体的な特徴、量、又は測定を詳細には説明していない。本発明の例を本明細書に記載するが、本発明の範囲を定めるのは特許請求の範囲及び任意の等価物の全範囲であることに読者は留意すべきである。
【００５２】
図１は、既存の技術で使用される典型的な画像又はビデオ制作パイプラインを示す。モデリングプロセス１０１は、三次元シーン１１１を作成する。このモデリングプロセスは、例えば幾何学的モデリング、テクスチャリング、照明、リギング、及びアニメーション化の何れか又は全てを含むことができる。シーン１１１は、１つ又は複数の視点からシーンをレンダリングするレンダリングプロセス１０２に入力される。複数のレンダリング技法が知られているが、現在の最先端のレンダリングはレイトレーシングを使用することが多い。当技術分野で知られているレイトレーシングレンダリングソフトウェアは、例えばＶｒａｙ（登録商標）、Ａｒｎｏｌｄ（登録商標）、Ｒｅｎｄｅｒｍａｎ（登録商標）、Ｒｅｄｓｈｉｆｔ（登録商標）、及びＯｃｔａｎｅ（登録商標）を含む。レンダリングプロセス１０２では、レンダリングソフトウェアが、視点からシーン１１１内の１つ又は複数のオブジェクトまでの、追跡を行う多くのシミュレートされた光線を生成する。多くの状況では、標的画像の各ピクセルについて複数の光線を追跡することができる。場合によっては、レイトレーシングレンダラは時に何千もの「サンプル」を各ピクセル内に送り、そのピクセルの色がどうあるべきかを見出すのを助けることができる。各サンプルは、三次元シーン１１１内のオブジェクトに接触する「指」のようなものである。例えば、サンプル光線が黄色のオブジェクトに当たると、そのサンプルは、その黄色をピクセルの色にすることに寄与する。レンダリングソフトウェアは数百のこれらの指をピクセル内に送ることができ、それはレンダリングソフトウェアが１つしか送らない場合、平均を適切に表せない可能性があるからである。例えばピクセルの半分が黄色のオブジェクトによって占められ、残りの半分が緑色のオブジェクトによって占められる場合、ソフトウェアが１つのサンプルしか送り込まない場合、ソフトウェアはピクセル全体を黄色と緑色との混合ではなく、黄色又は緑色の何れかとして示す可能性がある。半緑色及び半赤色の平均を示す成功した混合を得るために、レンダラは複数のサンプルをそこに送り込む必要がある。サンプルを多く送れば送るほど、平均がより優れより正確になる。全てのレンダリングソフトウェアはこのように機能し、これらのサンプルをピクセル内に送ってピクセルの平均色を得る。
【００５３】
レンダリングプロセス１０２の出力は、１組のレイトレーシングサンプル１１２であり、その各々はシミュレートされた光線とシーン１１１内の１つ又は複数のオブジェクトとの交点に関するデータを表す。上記のように、１ピクセル当たり複数のサンプルがあり得る。サンプル１１２は、サンプルをピクセル１１３に変換するラスタライズプロセス１０３に入力される。（本明細書で使用する「ラスタライズ」という用語は、レイトレーシングサンプル及び関連するデータをピクセルに変換することを意味する。本明細書で使用する「レンダリング」という用語はラスタライズを含まない。）例えばピクセル境界内のサンプル全ての色をラスタライザによって平均して各ピクセルの色を形成することができる。合成前のこのラスタライズの欠点は、レンダラによって生成されたサブピクセルレベルの細部の全てがラスタライズ中に失われることである。例えばレンダリングソフトウェアは、各ピクセル内で数百のサンプルを計算している可能性があるが、ラスタライズ後に残っている唯一の情報はピクセルごとの平均色である。従ってレンダリングエンジンは、ラスタライズ１０３後に合成に利用できるデータの何百倍ものデータを、潜在的に生成する。
【００５４】
当技術分野で知られている従来のパイプラインでは、ピクセル１１３が合成プロセス１０４に入力される。例えば限定ではないが、オブジェクトの色、サイズ、境界、テクスチャ、及び形状を変更すること、オブジェクトを追加し除去すること、様々なシーン又はシーンの様々な部分からレンダリングされている可能性があるオブジェクトをマージすること、及びコンピュータによって生成される要素を捕捉写真又はビデオと統合すること等、多くの種類の合成操作が行われ得る。従来のパイプラインでは、これらの合成操作はラスタライズ画像１１３上のピクセルレベルで行われる。その結果生じる合成ピクセル１１４が、例えば記憶媒体１１５に、ネットワーク１１６に、又は直接ディスプレイ１１７に出力される（１０５）。
【００５５】
図２Ａは、本発明の１つ又は複数の実施形態によって可能にされるパイプラインを示す。このパイプラインは、合成操作２０１がレイトレーシングサンプル１１２に対して直接行われる点で図１のパイプラインと異なる。コンポスティング操作２０１は、図１の流れ図にあるように修正済みのピクセル画像ではなく、合成レイトレーシングサンプル２１１を生成する。次いでこれらの合成レイトレーシングサンプル２１１は、図１にある合成前とは対照的に合成後に行われるラスタライズプロセス２０２に入力される。ピクセル２１２は、図１にあるように、記憶域、ネットワーク、又はディスプレイにプロセス１０５によって出力される。
【００５６】
本発明の１つ又は複数の実施形態で使用することができる図２Ａに示すパイプラインでは、シーン１１１の全てのレンダリング１０２が合成２０１の前に、及び全てのラスタライズ２０２の前に行われる。１つ又は複数の実施形態では、合成２０１は、シーン１１１にアクセスすることなしに、及びレンダリング１０２又はシーンに関する任意の追加情報を取得し若しくはそれにアクセスするための他の任意のプロセスを呼び出すことなしに、例えばサンプルの色、位置、又は他の属性を変更することによってレイトレーシングサンプル１１２を直接修正する。合成レイトレーシングサンプル２１１はレイトレーシングサンプル１１２に基づいて修正することができ（アーティスト又は作成者が下す合成の判断に基づくこともできる）、修正済みのレイトレーシングサンプル２１１はシーン１１１の任意の追加のレンダリングなしに生成することができる。作成者、アーティスト、又は任意の種類のユーザから入力を得ることができ、その入力はレイトレーシングサンプル１１２の修正を制御し指示することができる。（対照的にレンダリング１０２は概して重大なユーザ入力なしに行われる自動プロセスである。）レンダリング１０２は、例えば法線ベクトル、深度、陰影、又は照明情報等のレイトレーシングサンプル１１２に関連する任意の追加情報を生成し得る。レンダリング１０２は、ポイントサンプリング又はボリュームサンプリングの何れか又は両方を行うことができる。レンダリング１０２は、シーン１１１の任意の表現又はシーン１１１の複数の表現を使用することができる。レンダリング１０２は、面又はボリュームと交差するまで光線を投影することができ、代わりに又は加えてレイマーチング又は他の任意の反復サンプリングを使用してもよい。レンダリング１０２は、点、面のパッチ、又はボリューム要素を放射し、又は反射し、又は屈折する例えば円錐形の光のボリューム等のボリュームを追跡することができる。レンダリング１０２は任意の所望のやり方で光線を追跡することができ、例えばレンダリングは光線と交差する任意の面からの光線反射を追跡すること、任意のオブジェクトによる光線屈折を追跡すること、任意のオブジェクト又は粒子による光線の散乱を追跡すること、光源又は他のオブジェクトによって放たれる光線を追跡すること、及び任意のオブジェクト又は粒子による任意の光線の吸収を追跡することができる。光線及びその反射又は屈折は、例えば面の一部に関する照明及び陰影情報を得るためにことによると複数回追跡することができる。実行されるレンダリングの種類及び生成されるデータの種類にかかわらず、１つ又は複数の実施形態は、レンダリングが完了した後で、及び様々なレンダリングパス及び操作からのデータがマージされ、レイトレーシングサンプル１１２及び任意の関連データに統合された後で全ての合成操作を行うことができる。合成２０１は、レンダリング１０２からの又はシーン１１１から導出される任意の追加情報を取得することなしに、レイトレーシングサンプル１１２の１つ又は複数を修正することができる。本明細書で使用する「合成」という用語は、上記の例を含むがそれだけに限定されないレンダラによって行われる操作を含まない。具体的には、合成は、レイトレーシングサンプル１１２を作成するためのレンダラによるデータの統合又は混合（複数のレンダリングパスからのデータを結合すること等）は含まない。
【００５７】
図２Ａのプロセスフローを可能にする１つ又は複数の実施形態では、合成２０１が完了した後にラスタライズ２０２を行うことができる。これらの実施形態では、合成２０１がラスタライズ画像を一切作成し又は必要としない可能性があり、修正はこれらのレイトレーシングサンプルの任意のラスタライズされたバージョンではなく、専らレイトレーシングサンプル１１２に対して加えることができる。それらの修正の出力２１１も１組のレイトレーシングサンプルである。このプロセスフローは、図１に示すように合成前にラスタライズを実行する、当技術分野で使用されるグラフィックスパイプラインの逆である。ラスタライズ２０２が合成２０１の後で、従ってレンダリング１０２の後で行われ得るので、１つ又は複数の実施形態では、レンダリングプロセス１０２がラスタライズ画像２１２のピクセル解像度を知らない可能性がある。従ってレンダリング１０２は、ピクセル寸法を選択することなしに、及び画像内のピクセル数及びピクセルパターンを明らかにし又は知ることなしに行われ得る。従ってラスタライズ２０２は、レンダリング及び合成プロセスとは独立にこのピクセル解像度を選択することができる。１つ又は複数の実施形態では、ラスタライズ２０２が異なるピクセル寸法を有する複数の画像を生成することができ、レンダリング及び合成プロセスは、ラスタライズで選択されるこれらのピクセル寸法と完全に独立しそれを知らない可能性がある。ラスタライズ画像のピクセル寸法は、例えば画像を表示することができる装置の特性、又は装置へのネットワーク接続の特性に基づき得る。１つ又は複数の実施形態では、ラスタライズ２０２がこれらの装置によって行われ得る。
【００５８】
１つ又は複数の実施形態では、図２Ａに示すステップが、任意のプロセッサ上で又は任意のプロセッサの集合上で実行され得る。例えば１つ又は複数の実施形態では、ステップ１０１、１０２、２０１、２０２、及び１０５が単一のプロセッサ上で又はマルチプロセッサ上で実行され得る。或いは１つ又は複数の実施形態では、異なるステップを実行するために異なるプロセッサを使用することができ、各ステップから生成されるデータは、例えばネットワーク接続又は他のリンクによってプロセッサ間で伝送され得る。具体的には、合成２０１及びラスタライズ２０２は異なるシステム上で実行され得る。従って、例えば合成レイトレーシングサンプル２１１をネットワーク接続上で１つ又は複数の装置に伝送することができ、１つ又は複数の装置はラスタライズ２０２を行ってディスプレイ１１７上で表示するための表示可能な画像２１２を生成する。これらの装置は、例えば各装置の表示能力又は処理能力に基づいて画像ごとのピクセル寸法２１２を決定することができる。
【００５９】
図２Ｂは、本発明の１つ又は複数の実施形態で使用され得る図２Ａのパイプラインの改変形態を示し、ラスタライズ２０２が出力１０５の後まで更に先延ばしされている。具体的には、合成レイトレーシングサンプル２１１は、プロセス１０５で記憶域１１５又はネットワーク１１６に出力され、ディスプレイ１１７に送信されるラスタライズ画像２１２へと後で表示時にラスタライズされ得る。一部の状況では非常に詳細な情報を有する非常に多くのレイトレーシングサンプル２１１があり得るので、１つ又は複数の実施形態では、記憶域又はネットワークへの出力前にレイトレーシングサンプルのサイズを圧縮するための更なる圧縮ステップ２２１があってもよい。
【００６０】
図３は、解像度選択ステップ３０１がラスタライズ２０２の前に行われ得る、図２Ａのパイプラインの別の改変形態を示す。解像度は例えばオペレータによって選択されてもよく、又は例えば利用可能なディスプレイの最適な又は最大の解像度と一致するように自動で選択され得る。従ってラスタライズ２０２は、例えば中解像度画像２１２、低解像度画像２１２ａ、及び高解像度画像２１２ｂ等の様々な解像度のピクセル画像をもたらすことができる。この複数の解像度のサポートはレイトレーシングサンプルから直接合成する１つの潜在的な利点であり、それは（図１にあるように）画像が早期に低解像度にラスタライズされる場合、高解像度画像に使用可能であり得るこれらのサンプルの高度な詳細がさもなければ失われるからである。
【００６１】
図４及び図５は、現実的な画像について生成されたレイトレーシングサンプルを示す。これらの図面は更に画像及びレイトレーシングサンプルをカラーで示し、これは典型的な応用例である。図４では、画像４０１がシャツ及び時計を有する人等の幾つかのコンピュータモデリングされたオブジェクトを含む。画像４０２は、画像４０１内の領域４０１ａの拡大図を示す。画像４０１をラスタ画像に変換するとき、潜在的なピクセル境界を示すために画像４０２上にグリッドをオーバレイする。画像４０３は、領域４０２の領域４０２ａの更なる拡大図である。この画像４０３は、シーン４０１をレンダリングしたレイトレーシングレンダラによって生成された個々のレイトレーシングサンプルを示す。（サンプルは有色の点として示し、黒い背景はサンプルのない領域を表す。）各サンプルは、シミュレートされた光線がシーン４０１内のオブジェクトと交差する空間内の点に対応する。点の色は、交点に関してレンダラによって決定される色に対応する。
【００６２】
図５は、図４の画像を引き続き掘り下げる。領域４０３のピクセル５０１及び５０２の拡大図を示す。各ピクセル内には複数のレイトレーシングサンプルがある。例えばピクセル５０１内にサンプル５１１が示されており、ピクセル５０２内にサンプル５１２が示されている。各サンプルに関連付けられるのは、そのサンプルについてレンダラによって生成されるサンプル情報のデータ構造である。例えばサンプル情報５２１がサンプル５１１に関連付けられ、サンプル情報５２２がサンプル５１２に関連付けられる。サンプル情報は、例えば限定ではないが、サンプル光線が交差するオブジェクトの識別情報、二次元若しくは三次元の点又は所望の任意の座標系内の座標であり得る交点の位置、ＲＧＢ又は所望の任意の色空間内にあり得る点の色、及びレンダラがサンプルについて取得し又は生成することができる任意の値に対応する任意の補助データを含み得る。
【００６３】
図５は、本発明の１つ又は複数の実施形態で得ることができるレイトレーシングサンプルの重要な特性、つまりサンプルがピクセル全体にわたって不規則に分布し得ること、及びピクセル内で不規則に分布し得ることを示す。異なるピクセルは異なる数のサンプルを含むことができ、例えばピクセル５０１は９個のサンプルを含み、ピクセル５０２は２個のサンプルしか含まない。レイトレーシングレンダラは、例えばオブジェクトのエッジにおいて一層の詳細を得るために、１ピクセル当たりのサンプル数を意図的に変えることができる。ピクセル全体にわたる及びピクセル内のサンプルの位置は、任意の規則的なパターン又はグリッドに従わなくてもよい。レイトレーシングレンダラは、干渉模様等のアーティファクトを防ぐために、ランダム化された又は擬似ランダムな光線方向及びサンプル位置を意図的に生成することができる。その結果、本発明の１つ又は複数の実施形態は、不規則なサンプル位置を有するレイトレーシングサンプルを取得し操作するように構成される。サンプルがピクセル等の規則的なグリッド上に整列されないので、この特徴はサンプル記憶の組織化にとって重要な意味合いを有する。ピクセルへとラスタライズされた画像はメモリ内の又はディスク上の規則的なアレイ内に記憶することができるので、これはピクセルに対して合成操作を行う従来技術と大きな差を表す。レイトレーシングサンプルでは、ピクセル全体にわたる及びピクセル内の任意の潜在的に不規則なパターンの中の任意の位置にサンプルがあり得るので、より洗練された記憶及びアクセス方法が必要とされる。最初にラスタライズする従来技術のシステムは海賊版の作成に対して脆弱であり、全画像（即ち本発明の実施形態がデータを記憶するように不規則なパターン内の別個の光線及び色として記憶されない）を暗号化しなければならない。
【００６４】
例えば図５に示すようなレイトレーシングサンプルを取得し又は受信した後、本発明の１つ又は複数の実施形態は様々な合成操作によってそれらのサンプルを操作することができる。これらの合成操作は、サンプルに直接アクセスしてサンプルを修正することができ、コンポスティング後にラスタライズが行われる。この手法は、ピクセルレベルで画像にアクセスしそれを操作する、当技術分野で知られている典型的な合成操作とは対照的である。本発明者らは、特定の合成操作、つまりオブジェクトの選択及びオブジェクトの色の修正を用いて従来技術と本発明との間のこの対比を示す。この特定の操作は例示であり、本発明の１つ又は複数の実施形態は、レイトレーシングサンプルの直接アクセス及び操作によって所望の任意の合成操作を行うことができる。
【００６５】
図６は、この合成操作に関して当技術分野で知られている方法を示す。ステップ６０１で、合成サブシステムがレンダラからラスタライズ画像４０１を取得する。例示として、画像４０１内のシャツの色を変える操作を示す。ラスタライズ画像４０１は単にピクセルのアレイなので、シャツ自体は画像内で別個に識別されない。従って変色操作を行うために、コンポスティングサブシステムは、ステップ６０２でシャツのオブジェクトに関連するピクセルのリストを取得しなければならない。オブジェクトに関連するピクセルのリストは、典型的にはバイナリマスク６０３として取得される。合成において操作すべきオブジェクトは事前に分からないので、一般的には、１つ又は複数のオブジェクトマスクを生成するためのレンダラへの要求によって操作ごとにマスクを取得しなければならない。ラスタライズピクセルから合成する際のオブジェクトマスクに関するこの要件は、以下で説明するレイトレーシングサンプルの直接操作と比較して非効率である追加の時間及び処理を必要とする。マスク６０３を取得した後、合成サブシステムはマスクされたピクセルの色を修正するための操作６０４を実行し、修正済みのラスタライズ画像６０５をもたらす。
【００６６】
画像６０７は、シャツの色を変更する合成操作後の、修正済みのラスタライズ画像６０５のセクション６０６の拡大図である。この画像６０７は従来技術の別の制限、つまりピクセルから合成するときオブジェクトのエッジが不自然な外観を伴ってピクセル化されることを示す。このアーティファクトは、シャツの修正済みのピクセルと背景との間の非常に不自然なハードエッジを示す画像６０７内で明らかである。レイトレーシングレンダラは、典型的には１ピクセル当たり複数のサンプルを正確に生成してこの種のハードエッジアーティファクトを回避し、オブジェクトのエッジにおけるピクセル内で複数のサンプルを混合することにより、レンダラは画像６０７のピクセル化された外観ではなくより現実的な外観のエッジを作成することができる。しかし、（従来技術では）画像が合成前にラスタライズされているので、レンダラによって生成される情報は利用できず、レンダラによって生成される自然な外観は合成の際に失われる。合成の際に追加のピクセルフィルタリング操作を適用することによってこれらの問題をある程度補償することはできるが、それらの補償ステップは追加の作業を必要とし、最適な結果をもたらさない。
【００６７】
図６に示すステップとは対照的に、図７は、オブジェクト変色合成操作を行うために１つ又は複数の実施形態で使用することができる方法を示す。この方法は、レンダラによって得られるレイトレーシングサンプルに直接作用する。これらのサンプルは各サンプルに関連するオブジェクト識別情報を用いて直接タグ付けされ得るので、ステップ７０１でオブジェクトを効率的且つ直接的に選択することができ、この例ではシャツと一致するオブジェクト識別情報を有する全てのレイトレーシングサンプルが選択される。このステップは画像７０２内の１組のサンプル７０３を選択する。図６のワークフローとは対照的に、任意のオブジェクトを選択するために、レンダラから追加のマスクを得る必要はない。ステップ７０４で、合成サブシステムが被選択サンプルの色を直接修正し、修正済みの画像７０５をもたらす。画像７０７は、画像７０４の領域７０６の拡大図を示す。この事例では、シャツと背景との間のエッジが、図６の画像６０７のハードで不自然なエッジとは対照的にソフトな境界を有する自然な外観を保つ。この自然なエッジが可能なのは合成が各ピクセルに関するレイトレーシングサンプルの全てを保持するからであり、従って修正済みのシャツのサンプルはエッジ上のピクセルにおいて背景のサンプルと混合することができる。
【００６８】
図７はオブジェクトの色を変更する合成操作を示すが、１つ又は複数の実施形態は所望の任意の合成操作に同様の方法を適用することができる。オブジェクトは、所望のオブジェクト識別情報でタグ付けされたサンプルを選択することによって選択することができる。その後、所望の任意のやり方でサンプルを操作することができる。例えば限定ではないが、オブジェクトは各レイトレーシングサンプルに関連する情報を修正することによって移動し、サイズ変更し、形を作り直し、色を付け直し、リテクスチャし、隠し、又は表示することができる。異なるレンダリング又は異なるシーンからのレイトレーシングサンプルを所望の任意のやり方で組み合わせることもできる。
【００６９】
図８は、本発明の１つ又は複数の実施形態によってサポートされ得る別の合成操作、つまり異なる視点から画像を生成することを示す。この操作は、例えば立体画像を生成する際に又は画像若しくはビデオを２Ｄから３Ｄに変換する際に有用であり得る。この操作は異なる視点から全シーンを再レンダリングすることによって行われ得るが、サンプルを直接操作し、それにより完全な再レンダリングを回避することによる合成においても行われ得る。ステップ８０１で、画像４０１のレイトレーシングサンプルを元の視点から取得する。次いで合成サブシステムは、第２の視点に基づいてサンプル位置を移動するステップ８０２を実行し、修正済みの画像８０３をもたらす。この変換はサンプルのない背景領域を明るみに出す可能性があり、それはそれらの領域が元の視点では遮蔽されていたが新たな視点からは見えるからである。従ってシステムは、欠落した背景領域８０５を識別するステップ８０４を実行する。新たな視点からの新たな画像の生成を完了するために、これらの欠落した背景領域を埋めなければならない。ステップ８０６で、欠落した領域内の新たなサンプルをレンダラに要求し、新たなサンプル８０７をもたらし、ステップ８０８で、これらのサンプルを元の画像４０１とマージして新たな画像８０９を生成する。レンダラを呼び出す必要があるが、このレンダリング処理は欠落した背景の小領域８０６に限定される。従ってこのプロセスは、第２の視点からの完全な再レンダリングを行うよりも概してはるかに効率的である。
【００７０】
合成サブシステムによってアクセスされ操作されるレイトレーシングサンプルは関連する位置情報を有することができ、かかる位置情報は例えばレンダラによってサンプルが取得されたシーン内の点の三次元位置を含み得る。この三次元情報を用いて、合成サブシステムは三次元空間内のオブジェクトの再配置をサポートすることができる。三次元空間情報を有さない二次元ピクセルアレイとして画像が得られるので、従来の合成ソフトウェアではこの三次元の再配置は困難又は不可能である。図９は、本発明の１つ又は複数の実施形態によってサポートされる三次元の再配置合成操作を示す。シーン９０１が、レイトレーシングサンプル９０２を生成するレンダリングステップ１０２に入力される。シーン９０１は青色の球体及び赤色の立方体で構成される。レンダリングされたサンプル９０２は、各サンプルが三次元位置を有するサンプルの点群である。例えばサンプル９０４ａは立方体の点であり、サンプル９０５は球体の点である。各サンプルのｘ、ｙ、及びｚ座標に加えて、レンダラは各サンプルにオブジェクトの識別情報及び色を（及びことによると他のデータ値も）関連付ける。次いで立方体を選択し、それを空間内の異なる位置に移動する操作９０６を実行し、この例では立方体の一部が球体の背後にあるように立方体を左及び後ろに移動する。この操作は立方体のサンプルに関連する位置データを修正し、例えばサンプルデータ９０４ａが修正済みのｘ、ｙ、及びｚ値を有するデータ９０４ｂに更新される。
【００７１】
移動操作９０６の後、修正済みのサンプル９０７内の立方体及び球体の点群は、それらのｘ−ｙ座標において重複する。それにもかかわらず、各サンプルの完全な三次元位置が保持されているので、これらのサンプルを正しくラスタライズして、結果として生じる画像９０９内で閲覧者の眺めからのオブジェクトを正しく示すことができる。具体的には、立方体のサンプル９０４ｂ及び球体のサンプル９０５を検討し、サンプル９０４ｂ内のｚ値がサンプル９０５のｚ値よりも大きいので、ラスタライズ操作９０８は赤色の立方体の前の青色の球体を正しく示す。（より大きなｚ値は、この例では閲覧者から更に離れたオブジェクトに対応する。）従って、レイトレーシングサンプルから直接合成することは、情報を失うことなしにオブジェクトを三次元空間内で再配置することを可能にする。これに対して、合成サブシステムが利用可能な二次元ピクセル情報が三次元データを保持しないので、この種の三次元合成は従来技術では困難又は不可能である。
【００７２】
１つ又は複数の実施形態では、合成操作は、例えば限定ではないが合成者、アーティスト、監督、制作者、校閲者、編集者、又は特殊効果デザイナ等のユーザによって指示され得る。１人又は複数のユーザから入力を得ることができ、レイトレーシングサンプルに対する修正はその入力に基づき得る。図９Ａは、図９に示す修正９０６を行うためにユーザから入力を得るために使用され得る例示的なユーザインタフェースを示す。ユーザ９１０は、レイトレーシングサンプルの修正を制御するためのユーザインタフェースを提示するディスプレイを見る。図９Ａに示すユーザインタフェースは例示であり、１つ又は複数の実施形態は、レイトレーシングサンプルの修正を指示する入力を１人又は複数のユーザから受け付けるために、任意の種類のユーザインタフェースを有する任意の種類の装置を使用することができる。例えば限定ではないが、ユーザはデスクトップコンピュータ、ラップトップコンピュータ、グラフィックスパッド、タブレット、又は電話を使用してもよく、マウス、タッチパッド、タッチスクリーン、キーボード、ペン、又は音声入力を用いて入力を与えることができる。１つ又は複数の実施形態では、複数のユーザがレイトレーシングサンプルを修正するための入力を逐次的に又は並列に与えることができる。
【００７３】
最初にユーザ９１０は、レンダラから受信されるレイトレーシングサンプル９０２及び１つ又は複数のサンプルに関連するオブジェクトのリスト９１１を示す画面９２０ａを見る。次いでユーザは、例えばテーブル９１１内の立方体に触り又はそれを選択することによって立方体のオブジェクトを選択する。その結果生じる画面９２０ｂは、テーブル９１１内の立方体のエントリ９１２を（黄色で）強調表示し、サンプル９１３等の立方体に関連するレイトレーシングサンプルを同様に（黄色で）強調表示する。１つ又は複数の実施形態では、ユーザは、例えば１つ又は複数のオブジェクトを選択することによって、又は１つ又は複数のオブジェクトの１つ又は複数の部分を選択することによって、又は１組のサンプルを直接選択することによって（画面９０２内で選択するためのサンプルの周りに境界を描くこと等によって）、レイトレーシングサンプルの任意のサブセット又はレイトレーシングサンプルの全てを選択することができる。次いでユーザインタフェースは、ユーザが選択する図示の移動ボタン９１４を含むアクションコマンドをユーザに提示する画面９２０ｃを表示する。その結果生じる画面９２０ｄは、３軸に沿った三次元移動用のボタン９１５を表示する。ユーザ９１０が、まず立方体に関連するサンプルを左に移動する左ボタン９１６を押すと、結果として画面９２０ｅになる。。次いでユーザ９１０が、立方体に関連するサンプルを後ろに移動する（視点の前景から遠ざける）後ろボタン９１７を押すと、結果として画面９２０ｆになる。画面９２０ｆ内の最終的なサンプル位置９０７は、図９のサンプル位置に対応する。
【００７４】
図９Ａに示すユーザから得られたレイトレーシングサンプルに対する修正は例示である。１つ又は複数の実施形態は、１つ又は複数のレイトレーシングサンプルの任意の属性に対して所望の任意の修正を行うための入力をユーザから受け付けることができる。例えば限定ではないが、ユーザは二次元又は三次元内のサンプルを移動し、サンプルの色を変更し、サンプルの外観の任意の側面を変更し、サンプルをグループ化し、サンプルをマージし、サンプルを分割し、サンプルに陰影付けし、サンプルを表示し又は隠し、オブジェクトにサンプルを関連付け又はサンプルとのオブジェクトの関連付けを変更し、サンプルに関連するテクスチャを変更し、サンプルの可視性を変更し、サンプルを削除し、サンプルを回転させ、サンプルの透明度を修正し、サンプルを再配置し、サンプルを追加し、サンプルの属性を追加し又は削除し、サンプルに関連するオブジェクト識別情報を変更し、サンプルにタグ付けし、その後のラスタライズにおいてラスタライズ画像を作成するためにサンプルがどのように使用されるのかに影響を及ぼす属性を追加し又は修正するための入力を与えることができる。
【００７５】
図９Ａに示す合成操作は、ユーザによって指示され、レンダラによって生成されるものとは異なるサンプル９０７をもたらす。加えて図９Ａに示すレイトレーシングサンプルの修正は、全くレンダラを呼び出さずに、そして全く元の三次元シーンにアクセスすることなしに実行される。ユーザの入力は、例えば全てのレンダリング及び３Ｄモデリングが完了した後で合成において実施される芸術的な決定を反映することができる。この入力は、ラスタライズ画像を使用し又は修正することなしにレイトレーシングサンプルを直接修正することができる。ラスタライズ中に後で生成され得る１つ又は複数の最終的なラスタライズ画像のピクセル寸法についての如何なる知識もなしに、レイトレーシングサンプルに対して修正を行うことができる。
【００７６】
合成中、合成操作の効果を見るために、修正済みのサンプルから頻繁に又は繰り返し画像を生成することが望ましい場合がある。これらの画像を生成することは、概して修正済みのサンプルをラスタライズし、ラスタライズ画像をディスプレイに伝送することを必要とする。多数の、ことによると１ピクセル当たり数百個のレイトレーシングサンプルがあると、それらの画像を繰り返しラスタライズし表示するのに時間がかかることがあり、オペレータが画像の表示を待つ間、コンポスティングプロセスに遅延を生ぜしめる可能性がある。従って本発明の１つ又は複数の実施形態は、レイトレーシングサンプルのサブセットを使用してプレビュー画像を生成する最適化を使用することができる。図１０はこのプロセスを示す。図９に関して説明した合成操作によってレイトレーシングサンプル９０７が修正されており、オペレータは例えば結果を見ることを望んでいる。画像内の領域１００１は、ピクセル全体にわたって分布する利用可能なサンプルの拡大図を示す。多くのピクセルは複数のサンプルを含む。プレビュー画像の生成を加速するために、サンプルのサブサンプルを選択し、そのサブサンプルをプレビューに使用するためのステップ１００２を実行する。例えば限定ではないが、１ピクセル当たり単一のサンプルを選択してプレビューを生成することができる。この手法は、画像１００３に示されている。そこでは、領域１００１内のピクセルについて、１ピクセル当たり単一のサンプルが選択されている。１つ又は複数の実施形態は、所望の任意のやり方でサブサンプルを選択することができる。例えば限定ではないが、ピクセル内で又はピクセル全体にわたってサンプルをランダムに選択することができ、１ピクセル当たり単一の又は少数のサンプルを選択することができ、又はピクセル若しくは領域内の１つ又は複数のサンプルをアクセスの単純さ又は速度に基づいて選択することができる（ピクセル又は領域内のサンプルのリスト内の最初のサンプルを選択すること等）。
【００７７】
次いでサブサンプルからプレビュー画像が生成される。画像１００４は、フル画像の領域１００１に対応するサブサンプル１００３から生成されるプレビュー画像の一部を示す。９０７内のサンプルの幾つかはプレビュー１００４を生成する際に使用されないので、アーティファクトは、プレビュー画像に表示される。例えばピクセル１００６は、青色の球体の境界１００５内にあるのに赤色である。このようなアーティファクトは、合成中にプレビュー画像を素早く生成するためのトレードオフとして許容可能であり得る。１つ又は複数の実施形態では、オペレータ又はシステムがプレビュー画像の品質レベルを選択できてもよく、その品質レベルに対応するようにサブサンプルを生成することができる。例えばより高い品質レベルはプレビュー画像の１ピクセル当たりより多くのサンプルを選択することになり、それにより潜在的なアーティファクトの数や酷さを低減することができる。
【００７８】
１つ又は複数の実施形態では、低品質のプレビュー画像を表示しながら高品質の画像又は完全な品質の画像をバックグラウンドで生成することができる。この画像をバックグラウンドで並列に生成することは、例えばマルチプロセッサの１つ又は複数のコア上で又はグラフィックス処理ユニットハードウェアによって行うことができる。バックグラウンド処理が完了すると、このシステムはプレビュー画像をスワップアウトし、プレビュー画像を完全な品質の又は高品質の画像で置換することができる。図１０では、プロセス１０１０がバックグラウンド（例えばグラフィックス処理ユニット上）で行われ、１組の完全なサンプルから完全な品質の画像１０１１を生成する。この画像１０１１を利用できる場合、画像１０１１がプレビュー画像１００４の代わりに又はそれに加えて表示される。１つ又は複数の実施形態は、例えば漸進的に高い品質レベルにおいてバックグラウンドで複数の画像を生成することができ、利用できるようになったときそれぞれを表示することができる。
【００７９】
図１０Ａは、１ピクセルごとに使用するサンプルの数を変えることによって画質を選択する別の例を示す。例えば合成サブシステムに組み込むことができるユーザインタフェース制御部１０２１は、サンプルの数を選択するために使用され得る。制御部１０２１では１ピクセル当たりのサンプル数が１に設定され、粒状の外観を有する画像１０２２がもたらされる。制御部１０３１では１ピクセル当たりのサンプル数が１３に増やされており、より粒状でない外観を有するより自然な画像１０３２がもたらされる。
【００８０】
合成レイトレーシングサンプルからラスタ画像を生成することに加えて又はその代わりに、１つ又は複数の実施形態は、例えばメッシュの頂点としてサンプルを使用してメッシュを生成することができる。これを図１１に示し、ステップ１１０１はレイトレーシングサンプル９０２からメッシュ１１０２を生成する。メッシュ１１０２は、ピクセル画像の代わりに又はそれに加えて使用することができる。メッシュは、例えばサンプルの色に対応する各頂点の色を使って着色され得る。１１０２に示すように、異なるオブジェクトについて別個のメッシュを生成することができ、球体のオブジェクトに対して１つのメッシュが生成され、立方体のオブジェクトに対して異なるメッシュが生成される。
【００８１】
図１２Ａ及び図１２Ｂは、現実的なシーンのオブジェクト、とりわけ図４の画像４０１内に示すシーンのシャツのオブジェクトに関するメッシュの生成を示す。シーンについて得られるレイトレーシングサンプルは、サンプルごとに三次元位置情報を有することができ、この三次元サンプル情報は図１２Ａに示すように合成中に任意の眺めからシーンを見ることを可能にする。画像１２０１及び１２０２は、視点が左に向かって回転するときの図４の画像４０１のシーンの三次元サンプルの異なるビューを示す。これらのビューは、例えば上記のプレビュー手順を使用して生成することができる。図１２Ｂは、合成の際にシーンから選択されるシャツのオブジェクトの一部１２０３についての個々のサンプル及び結果として得られるメッシュを示す。サンプル情報がオブジェクト識別子を含み得るので、任意のオブジェクトに関連するサンプルを直接選択することができる。シャツのオブジェクトのサンプルを（図１２Ａの画像１２０２の領域１２０３に対応する）１２１１に示し、１２１２ｂは１２１１の一部１２１２ａの拡大図を示す。これらのサンプルに対してメッシュ生成１１０１を実行してシャツのメッシュ１２２１を生成することができ、１２２２ｂはそのメッシュの一部１２２２ａの拡大図を示す。
【００８２】
１つ又は複数の実施形態は、異なるレンダリングパスからのレイトレーシングサンプルを結合し又はマージする合成操作をサポートすることができる。これらのパスは単一のシーンの異なるパスとすることができ、又は異なるシーン若しくはシーンの異なる部分のレンダリングであり得る。ラスタライズされたピクセル画像から合成することとは対照的に、１つ又は複数の実施形態はレイトレーシングサンプルを直接取得しそれに直接アクセスすることができるので、サンプルのマージは簡単である。例えばサンプルのマージは、異なるレンダリングパスからのサンプルの単純な和集合として実行され得る。図１３は一例を示す。立方体及び球体１３０１を含むシーンが、最初にレイトレーシングレンダラによってレンダリングされる。画像１３１１は、球体１３０１の単一のピクセル１３０２についてレンダラから得られたサンプルを示す。異なるレンダリングパスにおいて、レンダラは同じピクセルに関するサンプル１３１２を生成する。球体のエッジの更なる詳細を取得するために、例えば第２のレンダリングパスが要求され得る。これらの２つのレンダリングパスからのサンプルを結合することは、サンプル１３１１とサンプル１３１２との和集合をとることによって実現され、結果として合成サンプル１３１３が得られる。異なるレンダリングパスからのピクセルを結合するために、より複雑且つ低精度の操作が必要なので、サンプルの和集合をとるというこの簡単な合成操作は、サンプルではなくピクセルを操作する従来の合成システムでは不可能である。従って、異なるレンダリングパスからのサンプルを単純に合成することは、従来技術に勝る本発明の重大な利点を表す。
【００８３】
レイトレーシングサンプルから直接合成することは、上述したものを含む幾つかの利点を提供するが、ラスタライズされたピクセルから合成することと比較し、より多くの情報を記憶しそれにアクセスしなければならないという技術的課題を提起する。従って、本発明の１つ又は複数の実施形態は、レイトレーシングサンプルデータの記憶、伝送、及び取り出しのための様々な最適化を組み込むことができる。
【００８４】
図１４は、潜在的に多数のレイトレーシングサンプルを記憶する課題を示す。サンプル１４０１は、この例では擬似ランダムパターンでレイトレーシングレンダラによって生成される。テーブル１４０３は、画像の領域１４０２内の例示的なサンプルを示す。説明のために、この例ではサンプルのｘ及びｙ座標が０から１０００までの範囲にある。サンプルはランダム化され、規則的なグリッド上に整列されていないので、各サンプルの厳密な位置を記憶し又は他の方法で利用可能にしなければならない。従ってテーブル１４０３では、サンプル点の色と共に、ｘ及びｙ座標の浮動小数点値がサンプルごとに記憶される。（図５に関して上記で説明したように各サンプル点に関連するオブジェクト識別情報等の他の情報があってもよく、説明を簡単にするために、テーブル１４０３内に示すデータはサンプルのｘ及びｙ位置並びにサンプルの色に限定される。）１ピクセル当たり潜在的に多くのサンプル、従って１つの画像について潜在的に何億ものサンプルがあり得るので、位置座標の完全な浮動小数点値を記憶することはメモリ、二次記憶域、又はネットワーク帯域幅に対する膨大な容量要件を生む可能性がある。対照的に、ラスタライズされたピクセル画像を記憶することは本質的にコンパクトであり、それはピクセルが規則的なグリッド上に配置され、従ってピクセル画像が例えば色の連続アレイとして記憶され、ピクセル座標がアレイ内のオフセット位置によって暗黙的に定められ得るからである。
【００８５】
図１５は、本発明の１つ又は複数の実施形態で使用することができる、図１４の例に関する記憶最適化を示す。この最適化では、サンプルごとに完全な浮動小数点座標を記憶するのではなく、画像をタイル又はピクセルに分割し、そのタイル又はピクセルに対して位置を記憶する。例えば画像の領域１４０２は、図１５に示すように３×３のピクセルグリッド（又は所望の任意のサイズのタイル）に分割することができる。各ピクセル又はタイル内で、各サンプルの浮動小数点座標は、ピクセル又はタイルの角に対する値に変換される。これにより座標の絶対的なサイズが小さくなり、座標をよりコンパクトに記憶できるようになる。従って図１５では、テーブル１５０１がピクセルのアレイに対応し、エントリ１５０２等のテーブル内の各エントリは、例えば対応するタイル又はピクセル内のサンプルデータを含むテーブルへのポインタ１５０３を有することができる。従って、テーブル１５０４内のｘオフセット値及びｙオフセット値は、０から１の範囲内にあり、図１４のテーブル１４０３内の元のｘ及びｙ位置よりも少ない桁数及び記憶空間を必要とする。
【００８６】
図１５は、１つ又は複数の実施形態で使用され得る別の記憶最適化を示し、サンプル位置又はオフセットを、精度を下げて記憶することができる。例えばテーブル１５０４は、図１４のテーブル１４０３に示すサンプル位置の元の小数点第５位までと比較して、オフセット値について小数点第３位までの精度しか保持していない。１つ又は複数の実施形態は、位置又はオフセットを任意の精度又は桁数を用いて所望の任意のやり方で表すことができる。例えば限定ではないが、６４ビットの倍精度浮動小数点値の代わりに３２ビット又は１６ビットの浮動小数点値を使用することができる。
【００８７】
図１５Ａは、図１５の最適化スキームの改変形態を示し、この改変形態では、サンプルの位置のオフセットが、図１５に示すように角に対してではなく、タイル又はピクセルの中心に対して計算される。例えばピクセル１５２０は、ピクセルの中心１５２１に原点をもつ、ピクセル内の座標系を有する。こうしてオフセットはテーブル１５０４ａ内で−０．５から０．５の範囲に低減され、このことは０から１の範囲内のオフセットと比較して記憶要件を更に低減することができる。１つ又は複数の実施形態は、サンプルの位置のオフセットを表すために、ピクセル又はタイル内の所望の任意の座標系又は基準系を使用することができる。
【００８８】
図１６は、１つ又は複数の実施形態で使用され得る別の最適化技法を示す。この最適化ではピクセル又はタイルを小領域のグリッドに分割し、小領域内のグリッドの位置によってサンプル位置を示す。更に、小領域内のサンプルを組み合わせることにより、どの小領域がサンプルを有するのかを示すビットマスクによってサンプルデータを非常にコンパクトに表すことができる。例えば図１６のピクセル１６０１は、４×４の小領域のグリッドに分割される。これらの小領域の幾つかは１つ又は複数のサンプルを有し、他のものはサンプルを有さない。各小領域について、１つ又は複数のサンプルが存在することが対応するビットマスク内の「１」によって示され、小領域内にサンプルが一切存在しないことがビットマスク内の「０」によって示される。ピクセル１６０１の小領域１６０３内の２つのサンプルのように、小領域内に複数のサンプルがある場合は、それらのサンプルは結合される。従ってテーブル１６０２は、ピクセル１６０１に関する圧縮サンプル情報を含む。このデータは、ピクセル１６０１に対応するテーブルエントリ１５０２に関連するデータ構造１６０３としてコンパクトに表すことができる。データ構造１６０３は、（例えば４桁の１６進数で表され得る）１６ビットのビットマスク１６０４及び１つ又は複数のサンプルを含む小領域に関連する色のリスト１６０５を有する。
【００８９】
図１７は、サンプル位置を再生成するために使用され得るシード値を記憶する、本発明の１つ又は複数の実施形態で使用され得る別の記憶最適化方法を示す。レイトレーシングレンダラは、例えば擬似乱数生成器１７０２（例えばモンテカルロサンプリング手順を用いる）を使用してサンプル位置を生成することができる。擬似ランダム値のシーケンスを初期化するために、シード値１７０１が擬似乱数生成器１７０２に与えられる。同じシードが後で生成器１７０２に提供される場合、生成器は同じ値のシーケンスを再生成する。生成された位置ではなくシード値だけを記憶すればよいため、この特性はサンプル位置を極めてコンパクトに記憶できるようにする。図１７の説明では、生成器１７０２が、位置１７１１から始まり位置１７１２に続く画像１４０１内の位置のシーケンスを生成する。（少数の位置しか示していないが、画像１４０１内で数千又は数百万のサンプルが生成され得る。）テーブル１７２１は、生成された位置及びレイトレーシングレンダラによって得られた対応する色を示す。このテーブルを直接記憶する代わりに、１つ又は複数の実施形態は、テーブル１７２１から取得された色のシーケンスと共にシード値１７０１を含むデータ構造１７２３を記憶するために、最適化１７２２を行うことができる。テーブル１７２１内のサンプル位置は、シード値を対応する生成器１７０２に与えることにより、又は同じ擬似乱数生成アルゴリズムを実装する別の生成器のインスタンスに与えることにより、データ構造１７２３から必要に応じて回復することができる。
【００９０】
１つ又は複数の実施形態で使用され得るこのスキームの改変形態は、画像のタイル又はピクセルごとに異なるシードを使用し、レイトレーシングレンダラによって得られた色（及びオブジェクト識別情報等の他の情報）と共にタイルごと又はピクセルごとのシードを記憶することである。
【００９１】
図１７に示す記憶最適化は、不正アクセスからレイトレーシングサンプルを保護するためのデータセキュリティメカニズムとして１つ又は複数の実施形態で使用することもできる。例えば攻撃者がデータ構造１７２３を取得した場合、その攻撃者はサンプル位置を生成した対応する擬似乱数生成器１７０２にもアクセスしない限りサンプル１４０１を再現することができない。１７２３の色のリストは、それ自体では画像１４０１を再現するには不十分である。攻撃者が生成器１７０２にアクセスできてもシード１７２３は暗号化することができ、この場合もやはりサンプルの再現が阻止される。このセキュリティメカニズムは、例えばクラウドベースサービスによるレンダリングに応用例を有し得る。例えばスタジオは、生成されたサンプルの海賊版が作られる恐れがあるので、遠隔サービスにレンダリングを外部委託したがらない可能性がある。しかし、遠隔レンダリングサービスがデータ構造１７２３だけを伝送し、シードが暗号化される場合又は擬似乱数生成器が非公開に保たれる場合、データ構造を取得した攻撃者はサンプルを再現することができない。
【００９２】
図１８は、既存のレンダリングソリューションが直面するセキュリティの課題を示す。映画スタジオ１８０１は、画像、ビデオ、ゲーム、又はより一般的に任意の種類のグラフィカルコンテンツをレンダリングする必要がある。スタジオ１８０１は、例えば映画スタジオ又はテレビスタジオ、ゲーム制作者、特殊効果プロバイダ、又はより一般的に任意のコンテンツ制作者であり得る。スタジオ１８０１は、レンダリングすべきシーンを記述するモデル１８０２を提供し又はそれにアクセスする。モデル１８０２は、例えばオブジェクト、背景、アクション、効果、人、光、反射、材料、又はレンダリングされる画像若しくはビデオに寄与し得る他の任意のアイテムの２Ｄモデル又は３Ｄモデルであり得る。モデル１８０２は、レンダリングされるコンテンツとマージされ得る既存の画像又はビデオにアクセスし又はそれらを組み込むこともできる。スタジオ１８０１は、外部のレンダリングサービス１８０４を使用して、モデル１８０２から画像又はビデオをレンダリングする。例えばスタジオ１８０１は、ネットワーク接続１８０３を介して、でレンダリングサービス１８０４にモデル１８０２を送信することができる。レンダリングサービスは、例えば１組のサーバ１８０５又は他のハードウェア及びソフトウェア資源にアクセスしてレンダリングを行うことができる。その結果生じるレンダ１８１０（例えば１つ又は複数の画像を含み得る）が、ネットワーク１８０３を介してスタジオ１８０１に返送される。しかし、海賊版の作成者１８２０は、レンダ１８１０にひそかにアクセスし、それを使用してスタジオの専有コンテンツの海賊版であり無許可の複製１８２１を作成する。海賊版の作成者１８２０は、例えばレンダリングサービスの従業員又は契約者である可能性があり、又はレンダリングサービスのシステムに侵入するハッカーであり得る。たとえ規模又は特殊資源による効率的なレンダリングを外部のレンダリングサービスが提供しても、従来技術のレンダリングシステムに関連するこのリスクは例えばスタジオが外部のレンダリングサービスを使用するのを妨げ得る。
【００９３】
図１９は、図１８に示す海賊版の作成のリスクを軽減することができる、本発明の１つ又は複数の実施形態によって提供され得るセキュアレンダリングシステムを示す。このシステムでは、セキュアレンダリングシステム１９０１が図１８にあるようにスタジオ１８０１からモデル１８０２を受信し、ハードウェア資源１８０５を使用してレンダリングを行う。しかし、このセキュアレンダリングプロセスの出力はセキュアレンダ１９０２であり、セキュアレンダ１９０２では特定のデータが難読化され、セキュアレンダにアクセスする海賊版の作成者１８２０にとって、セキュアレンダ１９０２を無益化する。例えば海賊版の作成者１８２０がセキュアレンダの画像を見る場合、ノイズ又は無意味なデータ１９１０しか表示されない。セキュアレンダ１９０２はスタジオ１８０１に返送され、スタジオ１８０１はセキュアレンダリングコンシューマ１９２０を使用してセキュアレンダ内の難読化情報を明らかにし、結果として正しいレンダリング画像１９２１が得られる。１つ又は複数の実施形態では、承認されたセキュアレンダコンシューマ１９２０だけが正しい画像を見ることができるように、セキュアレンダリングシステム１９０１は、１９２１等の画像を決して直接記憶、キャッシュ又は伝送しない可能性がある。
【００９４】
図２０は、レイトレーシングに使用される光線方向をスクランブルすることによってセキュアレンダを生成するセキュアレンダリングシステムの例示的な実施形態を示す。光線方向のスクランブルはセキュアレンダを生成するための例示的な手法であり、１つ又は複数の実施形態は、レンダリングデータの任意の側面をスクランブルし或いは難読化して、セキュアなレンダリング出力を所期の受信者以外の誰にも使用できなくすることができる。例えば限定ではないが、セキュアレンダリングシステムは、方向、位置、色、オブジェクト識別情報、陰影、照明、幾何学的配列、形状、サイズ、テクスチャ、又はより一般的にレンダリングによって生成され若しくはレンダリングで使用された任意の値の何れか又は全てを難読化することができる。図２０の説明のための例では、レイトレーシングサンプル生成器２００１が、カメラ位置からシーンのモデル１８０２に概念的に放射される光線を生成する。各光線に関連付けられるのは、元の光線方向である。例えば図２０は、３つの例示的な光線２００２ａ、２００２ｂ、及び２００２ｃを示す。実際にはレイトレーシングは画像ごとに数百又は数千又は更に多くの光線を使用することができる。光線方向が各光線に関連付けられる。図解を容易にするために、図２０では光線方向を二次元ベクトルとして示し、例えば光線２００２ａに関連する光線方向は（１，３）である。三次元シーンにおいて、光線方向は三次元ベクトルによって、又は角度、四元数、若しくは他の表現等の他の任意のパラメータ化によって示され得る。１つ又は複数の実施形態は、所望の任意のパラメータ化又は表現を使用して光線方向を表すことができる。
【００９５】
レイトレーシングサンプル生成器２００１は、例えばモデル１８０２内のオブジェクトとの各光線の交点を計算することができ、関連するサンプルの色として交点の色を計算することができる。１つ又は複数の実施形態では、レイトレーシングは例えば反射又は屈折等の他の任意の計算又は効果を組み込むことができる。レイトレーシングの結果は例えば１組のレイトレーシングサンプル２００３とすることができ、各サンプルは光線方向（又は例えば光線とモデル内のオブジェクトとの交差位置）及びサンプルの色を含む。１つ又は複数の実施形態では、サンプルが他の情報、例えば光線と交差するオブジェクトの識別情報又は仮想カメラからのこのオブジェクトの距離等を含むことができる。
【００９６】
レイトレーシングサンプル２００３を直接出力し又は記憶する代わりに、セキュアレンダリングシステムでは、光線のスクランブルが後で解除されない限りレンダリング出力を見ることができないように、１つ又は複数の実施形態が、サンプルの光線方向又は関係するサンプル位置データを修正する光線スクランブラ２０１０を使用することができる。このスクランブルはセキュアレンダ１９０２をもたらし、セキュアレンダ１９０２はスクランブルされた光線方向及びサンプルの色（及びことによると他のデータも）をそれぞれ含む１組のスクランブルされたサンプルを含む。スクランブルされた光線方向は、元の光線方向、光線とモデルのオブジェクトとの元の交点、又は光線若しくは光線のモデルとの交点の任意の表現又はパラメータ化から導出される任意のデータであり得る。方向をスクランブルすることはレンダをノイズ又は無意味なデータに見せるので、セキュアレンダ１９０２を取得した海賊版の作成者はレンダリングされた画像を閲覧し又は解釈することができない。セキュアレンダリングシステムは実行可能な画像を全く作成しなくてもよく、光線方向がスクランブルされているセキュアレンダだけを作成する。スクランブルはレンダリングプロセス自体に組み込まれ、そのためセキュアレンダリングシステム自体自らが何をレンダリングしているのかさえ知らないという意味で、レンダリングシステムは閲覧可能な画像の一時的な又はキャッシュされたバージョンさえも記憶せず、記憶することができない。このようにレンダリングシステムにセキュリティを統合することは、レンダリング後にレンダリングされた画像を暗号化するプロセスとは異なり、それは後者の場合、レンダリングシステムが実行可能な画像（海賊版が作られ得る画像）を生成し、それを後で暗号化しているからである。色のデータを収集し又は記憶する前に、例えばテーブル２００３の右側の色を得る前に、光線方向をスクランブルすることにより、スクランブラに対する中間者攻撃は不可能であり、その結果攻撃ベクトルを排除する。
【００９７】
セキュアレンダ１９０２を閲覧し又は使用するために、例えば光線方向のスクランブルを解除することを許可されているセキュアレンダコンシューマ１９２０は、スクランブルされたサンプルを処理して、スクランブルされていないレイトレーシングサンプル２０２０を得る。これらのスクランブルされていないサンプルは、元のレイトレーシングサンプル２００３を表し或いはそれに一致する。
【００９８】
図２１Ａ及び図２１Ｂは、（例えば従来技術にある）レイトレーシングを伴う通常のレンダリングプロセスと、図１９及び図２０に関して説明した光線のスクランブルを伴うセキュアレンダリングプロセスとの違いを示す。図２１Ａは、シーン内の仮想カメラ位置２１０１ａから光線を放つ通常のレンダリングプロセスを示す。各光線は、モデル内のオブジェクトとの光線の交点に基づいて色を取得する。光線は、例えばレンズシェーダ２１０２によって光線方向を修正する処理ステップを概念的に経ることができる。レイトレーシングの結果生じる画像２１２０ａは、仮想カメラ２１０１ａにおけるモデルの画像を描く。対照的に図２１Ｂは、仮想カメラ２１０１ｂから光線を放ち、光線方向をスクランブルしてセキュアにレンダリングされた画像２１２０ｂを得るセキュアレンダリングシステムを示す。画像２１２０ｂは画像２１２０ａと同じデータを含むが、正しい画像を回復するために光線位置のスクランブルを解除することができるセキュアレンダコンシューマを除き解釈不能である。１つ又は複数の実施形態では、光線スクランブラ２０１０は例えばレンズシェーダに組み込まれてもよいが、光線を単に曲げてレンズ効果を再現する代わりに、本発明の実施形態によって可能にされる新規のスクランブラはセキュリティ対策として光線方向を完全に変更する。
【００９９】
１つ又は複数の実施形態では、セキュアレンダリングシステムのコンポーネントの何れか又は全てが、例えばグラフィックス処理ユニット等の、１つ又は複数のプロセッサ上で実行され、又は１つ若しくは複数のプロセッサに組み込まれ得る。図２２は、レイトレーシングサンプル生成器２００１及び光線スクランブラ２０１０がコンピュータ２２０１（単一のコンピュータ又は例えばサーバのネットワーク全体であり得る）上で実行される例示的な実施形態を示す。コンピュータ２２０１は、レイトレーシングサンプル生成器２００１又は光線スクランブラ２０１０に関連する処理ステップの全て又は一部を実行し得る１つ又は複数のグラフィックス処理ユニット２２０２を含むことができる。これらのステップから生じるセキュアレンダは、例えばセキュアレンダコンシューマ１９２０を実行し得る異なるコンピュータ２２１１にネットワーク１８０３を介して伝送することができる。１つ又は複数の実施形態では、受信側のコンピュータ２２１１も１つ又は複数のグラフィックス処理ユニット２２１２を組み込み又はそれにアクセスすることができ、グラフィックス処理ユニット２２１２はセキュアレンダコンシューマ１９２０の処理ステップの全て又は一部を実行することができる。
【０１００】
１つ又は複数の実施形態は、所望の任意の方法又はアルゴリズムを使用して、光線方向又は関連する位置データをスクランブル及びスクランブル解除することができる。図２３は、スクランブル及びスクランブル解除を行うために暗号アルゴリズムを使用する例示的な実施形態を示す。例えば光線スクランブラ２０１０は、暗号化アルゴリズム又はサブシステム２３０１を使用して、レイトレーシングサンプル生成器２００１によって生成された光線をスクランブルし、それによりセキュアレンダを生成することができる。セキュアレンダコンシューマ１９２０は、一致する復号アルゴリズム又はサブシステム２３０２を使用して、セキュアレンダ内の光線又は位置データのスクランブルを解除することができる。１つ又は複数の実施形態は、例えば暗号化に使用される公開鍵２３１１及び復号に使用される１つ又は複数の秘密鍵２３１２を生成し得る公開鍵暗号システム２３１０を使用することができる。１つ又は複数の実施形態は、暗号化及び復号の両方に使用され得る共有秘密鍵２３２１を伴う対称（秘密）鍵暗号システム２３２０を使用することができる。
【０１０１】
非対称鍵を伴う公開鍵暗号システムを使用する潜在的な利点は、セキュアレンダリングシステム自体がスクランブルされた方向又は位置を復号できないことであり、システムを海賊行為から本質的に保護する。従って、例えばスタジオはセキュアレンダリングサービスに公開鍵を提供することができ、セキュアレンダリングサービスは鍵の提供者しか復号することができないセキュアレンダを暗号化することができる。セキュアレンダリングサービス自体は自らが何をレンダリングしているのか全く分からず、海賊版の作成を不可能又は極めて非現実的にする。共有秘密鍵の安全な交換が不要となるので、非対称鍵を使用することはまた、セキュアレンダリングシステムの使用を単純化する。例えばセキュアレンダリングサービスのユーザは、結果として得られるセキュアレンダを、そのユーザしか復号及び閲覧することができないことを知っているため、（ウェブサイトフォームに貼り付ける等）パブリックチャネル上で公開鍵を単純に提供することができる。
【０１０２】
１つ又は複数の実施形態では、２つ以上の秘密鍵が公開鍵に対応し得る。暗号化されたセキュアレンダを復号するために、これらの複数の秘密鍵は例えば個々に又は組み合わせて使用することができる。この技術は、当技術分野で「多重署名」として知られており、セキュアレンダ出力を使用するための所望の任意の種類のワークフローをサポートするために様々な構成で使用され得る。例えば１つ又は複数の実施形態では５０個の秘密鍵があってもよく、セキュアレンダのロックを解除するためにそれらの鍵のうちの任意の３個以上を提供することが要求され得る。１つ又は複数の実施形態では、セキュアレンダのロックを解除するために、例えば管理者及びアーティストの両方が自らの秘密鍵を提供する必要があり、従ってどのアーティストも単独でロック解除プロセスを開始することはできず、どの管理者もアーティストを選択することなしにプロセスを開始することはできない。１つ又は複数の実施形態では、例えば異なるアーティストにそれぞれ属する複数の秘密鍵があってもよく、各鍵はセキュアレンダを復号するために個別に使用され得る。
【０１０３】
１つ又は複数の実施形態では、例えば図１７に関して説明したように、光線方向の難読化は、擬似乱数生成器、及び、レイトレーシングサンプル生成器とセキュアレンダコンシューマとの間で共有されるシード、を使用して実現することができる。図２４は、図１７に示したデータを使用して、このプロセスを示している。レイトレーシングサンプル生成器２００１は、擬似乱数生成器１７０２及びシード１７０１を使用して光線方向を生成する。その結果、それぞれが光線方向及びサンプルの色を有するレイトレーシングサンプル１７２１がもたらされる。光線スクランブラ２０１０が、擬似乱数生成器１７０２によって光線が生成された順序を示すシーケンス番号２４０１だけを残してデータから光線方向を除去する。シーケンス番号２４０１は、例えば光線スクランブラのサンプル出力におけるデータの順序付けを意味する。セキュアレンダコンシューマ１９２０は、同じシード１７０１及び擬似乱数生成器１７０２を共有する。セキュアレンダコンシューマ１９２０は色データ２４０２を複製し、擬似乱数生成器を使用して光線方向を再現する。
【０１０４】
１つ又は複数の実施形態では、スクランブルされた光線方向のスクランブルを解除する前でさえ、セキュアレンダのデータに対する特定の合成操作が、サポート及び有効化される。例えば、或る色を別の色に置換すること又は被選択色の強さを低減すること等の画像内の色の全体的な変更が、元の光線方向を知ることなしにセキュアレンダに対して行われ得る。１つ又は複数の実施形態では、セキュアレンダのサンプルが例えば各サンプルに関連するオブジェクト識別子を含むことができ、これらの状況では、光線方向のスクランブルを解除する前に特定の合成操作をオブジェクトに対して行うことができる。図２５は、モデル１８０２が各オブジェクトの識別子を含み、レイトレーシングサンプル２００３ａが各サンプルのオブジェクト識別子２５０１を含む一例を示す。セキュアレンダ１９０２ａは、スクランブルされたサンプルのオブジェクト識別子も含む。セキュアレンダ画像２５０２内のサンプルの位置は認識不能だが、オブジェクト識別子は各サンプルを正しい元のオブジェクトに関連付ける。セキュアレンダコンポジッタ２５０１は、セキュアレンダコンシューマ１９２０による光線位置のスクランブル解除前に、例えばセキュアレンダを処理して特定のオブジェクトを選択し、それらのオブジェクトに対して色の操作を行うことができる。例えばステップ２５０３は特定のオブジェクト（ここでは識別子２を有する黄色い三角形のオブジェクト）を選択し、ステップ２５０４でそのオブジェクトの色を緑色に修正する。これらのステップは、スクランブルされていない光線方向を必要としないので、セキュアレンダ自体で行うことができる。ステップ１９２０で光線方向のスクランブルを解除した後、結果として生じる画像２５０５は、コンポジッタ２５０１によって色の変更が行われたことを示している。
【０１０５】
１つ又は複数の実施形態では、１つ又は複数の追加のセキュリティ変換をセキュアレンダに適用して、データを更に難読化することができる。例えば図２６は、光線スクランブラ２０１０ａがレイトレーシングサンプル２００３に対して３つのセキュリティ変換を行う一実施形態を示す。ステップ２６０１でまず光線方向をスクランブルし、出力１９０２をもたらす。次に、ステップ２６０２でサンプルの色を暗号化し、出力２６１２をもたらす。最後にステップ２６０３で、難読化された位置及び色を有する全サンプルセットを更に暗号化し、出力２６１３をもたらす。セキュアレンダコンシューマ１９２０は、正しいレンダデータ２０２０を回復するためにこれらの３つの変換を逆に行う。これらの特定の変換は例示であり、１つ又は複数の実施形態はデータの任意の部分を隠し又は難読化するためにレイトレーシングサンプルに対して任意の１組の変換を行うことができる。図２５に関して説明したような合成操作は、所望の合成を行うために特定の復号変換だけを適用すればよい。例えば、図２６の出力２６１３に適用されるならば、図２５の変換２５０３及び２５０４は、オブジェクトの色を変更するために暗号化ステップ２６０３と２６０２を逆に行う必要があるが、光線のスクランブルステップ２６０１は、この合成プロセス後に、後で実行することができる。
【０１０６】
１つ又は複数の実施形態は、セキュリティ保護されている又はされていないレイトレーシングサンプルを、表示用の装置に動的にストリームするストリーミングシステムを可能にし得る。例えばＮｅｔｆｌｉｘ（商標）等の現在のストリーミングソリューションは、事前にレンダリングされた画像のピクセルをサーバから消費者にストリームする。ピクセルの代わりにレイトレーシングサンプルをストリームし、サンプルの受信時に画像のピクセルを（例えばテレビのハードウェア内で）生成することには多くの潜在的な利点がある。利点は、例えば、様々な表示解像度又はネットワーク条件について、改善されたセキュリティ及び単純化された適合を含み得る。図２７は、サンプルの動的ストリーミングを組み込む例示的な実施形態を示す。スタジオ１８０１は、レイトレーシングサンプルを含むセキュアレンダ１９０２を生成し又は取得する。これらのサンプルは、例えばインターネット接続１８０３を介して、消費者にストリーミングするために放送事業者２７０１に提供される。一部の状況では、スタジオ及び放送事業者は、同じ実体でもよく、例えばスタジオがコンテンツを作成し、それをレイトレーシングサンプルとして消費者に直接ストリームすることができる。放送事業者は、特定の消費者又は消費者群のために、レイトレーシングサンプルのストリーム２７０３を出力する。このストリームは、例えば限定ではないがストリームの所望の品質、消費者が利用可能な解像度、及びネットワーク１８０３を介した接続の品質を含み得る要因２７０２に基づいて修正され又は構成され得る。ストリームの所望の品質は、受信装置によって、放送事業者によって、又はそれらの組み合わせによって設定され得る。ストリームの所望の品質は、例えば１フレーム当たりの所望のサンプル数、更新の所望の頻度、又は受信装置によってストリームから生成される画像のストリーム又は品質に影響を及ぼす可能性のある他の任意のパラメータを指定することができる。１つ又は複数の実施形態では、受信装置が所望のストリーム品質を指定することができ、放送事業者は、装置の優先度、ユーザのサブスクリプション若しくは支払い、又は利用可能な処理容量若しくはネットワーク容量等の要因に基づいて、その品質を提供するか、その品質を調節するかを、選択することができる。ストリームの所望の品質は例えばサービスのコスト又はレベルに関連する。例えば、一部のユーザは、（例えばより多くのサンプルを用いる）高品質のストリームを提供するプレミアムサービスに対価を支払い、他のユーザは（例えばより少ないサンプルを用いる）低品質のストリームを用いた安価な又は無料のサービスを選択する。１つ又は複数の実施形態では、放送事業者がストリームに広告を挿入することができ、広告は例えば無料のユーザに挿入し、有料の加入者又はプレミアム加入者には挿入しないことができる。１つ又は複数の実施形態では、ストリームがフィルタ２７０６を使用して受信機によって更にフィルタされてもよく、例えば低解像度ディスプレイを有する受信機は、ストリーム２７０３から、サンプルのサブセットだけを選択することができる。サンプルは、例えばテレビ、モニタ、電話、タブレット、ビルボード、キオスク、スマートウォッチ、仮想現実ゴーグル、又はストリームを表示し、記憶し、転送し、若しくは解釈することができる他の任意の装置、であり得る装置２７０４にストリームすることができる。１つ又は複数の実施形態では、サンプルのストリーム２７０３は、安全であり得る。すなわち、例えばかかるストリームは暗号化された位置データを有するレイトレーシングサンプルを含み得る。従って、装置２７０４はストリームを復号し、サンプルを表示可能な画像に変換することができる。例えば装置２７０４は、サンプルの安全なストリームを復号するために使用され得る秘密鍵２３１２を含み、又はそれにアクセスする、組込セキュアレンダコンシューマ１９２０を有することができる。この組込サンプルコンシューマは、例えば装置のハードウェアに含まれ、又はかかるハードウェアにアクセス可能なＡＳＩＣ又はＧＰＵ上で実行され得る。装置２７０４はサンプルストリーム２７０３から（又はフィルタ２７０６を介して装置によって選択されたサンプルの一部のサブセットから）画像２７０５を生成し、それらの画像を装置上に表示することができる。
【０１０７】
サンプルを装置にストリームする実施形態は、異なる状況のための異なるフォーマットを記憶する必要なしに、異なる装置又は異なるネットワーク条件について、ストリームを調節し又はフィルタすることができる。ストリームの品質はまた、ことによるとフレームごとに、ネットワーク接続の品質に基づいて動的に調節されてもよい。各装置に送信されるストリームに影響を及ぼす可能性のあるネットワーク接続品質の属性は、例えば限定ではないが、帯域幅、待ち時間、誤り率、再伝送率、接続のセットアップ時間、接続の安定性、アップタイム、信頼性、ネットワークを共有する伝送間の優先度、ネットワークトポロジ、パケットサイズ、及びコストを含み得る。受信装置はまた、各受信機にとってどのフォーマットが最適なのかを放送事業者に推測させるのではなく、自らが何を表示できるのかを決定し、それに応じてサンプルストリームから選択することもできる。
【０１０８】
図２８は、解像度又は帯域幅に基づいてサンプルのストリームを修正し又はフィルタすることを示す。サンプルストリームは要因２７０２に基づいて構成される（又はこれらの要因に基づいて伝送後にフィルタされる）。３つの例示的なシナリオを示す。シナリオ２８０１ａでは受信機が４Ｋ  ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）画像を表示することができる。そのためサンプルの全セット２８０２ａが装置２７０４ａに伝送される。シナリオ２８０１ｂでは受信機が（４Ｋ  ＨＤＲではない）高精細画像を表示することができる。そのためサンプルの４分の１  ２８０２ｂだけが装置２７０４ｂに伝送される。シナリオ２８０１ｃではネットワーク接続が不十分である。そのためサンプルの８分の１  ２８０２ｃしかネットワークを介して装置２７０４ｃに伝送されない。これらのシナリオは例示であり、１つ又は複数の実施形態は任意の要因に基づいてサンプルストリームを修正し又はフィルタすることができる。
【０１０９】
本明細書で開示した本発明は特定の実施形態及びその応用によって説明してきたが、添付の特許請求の範囲に記載する本発明の範囲から逸脱することなく、数多くの変形及び改変が当業者によって加えられ得る。
【図１】
2020532816.tif 000003
【図２Ａ】
2020532816.tif 000004
【図２Ｂ】
2020532816.tif 000005
【図３】
2020532816.tif 000006
【図４】
2020532816.tif 000007
【図５】
2020532816.tif 000008
【図６】
2020532816.tif 000009
【図７】
2020532816.tif 000010
【図８】
2020532816.tif 000011
【図９】
2020532816.tif 000012
【図９Ａ】
2020532816.tif 000013
【図１０】
2020532816.tif 000014
【図１０Ａ】
2020532816.tif 000015
【図１１】
2020532816.tif 000016
【図１２Ａ】
2020532816.tif 000017
【図１２Ｂ】
2020532816.tif 000018
【図１３】
2020532816.tif 000019
【図１４】
2020532816.tif 000020
【図１５】
2020532816.tif 000021
【図１５Ａ】
2020532816.tif 000022
【図１６】
2020532816.tif 000023
【図１７】
2020532816.tif 000024
【図１８】
2020532816.tif 000025
【図１９】
2020532816.tif 000026
【図２０】
2020532816.tif 000027
【図２１Ａ】
2020532816.tif 000028
【図２１Ｂ】
2020532816.tif 000029
【図２２】
2020532816.tif 000030
【図２３】
2020532816.tif 000031
【図２４】
2020532816.tif 000032
【図２５】
2020532816.tif 000033
【図２６】
2020532816.tif 000034
【図２７】
2020532816.tif 000035
【図２８】
2020532816.tif 000036
【国際調査報告】
2020532816.tif 000037