(57)【要約】【課題】  適応的レンダリングを行う方法及びグラフィックスシステムを提供すること。【解決手段】  本発明による方法及びグラフィックスシステムは、以前フレームに続く現在フレームのピクセルの動きを決定し、決定された動きにより、適応的レンダリングを行うことができる。【選択図】      図２
2016012354.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックス・プロセッシングを行う方法において、
以前フレームと現在フレームとの比較により、前記現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、
前記決定に基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
前記分類に基づいて、前記各タイルに適用されるサンプリングを決定する段階と、
前記決定されたサンプリングに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含む方法。
【請求項２】
前記既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、前記準静的スピードカテゴリーである場合、
前記以前フレームでのピクセルのデータをコピーする段階と、
前記ピクセルと対応する前記現在フレームでのピクセルのデータとして、前記コピーされたデータを再使用する段階と、をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記コピーする段階は、
レンダリングされるピクセルと、レンダリングされていないピクセルとの既設定の比率に基づいて、前記以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることを特徴とする請求項２に記載の方法。
【請求項４】
前記以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェックを行う段階をさらに含むことを特徴とする請求項２に記載の方法。
【請求項５】
前記客体の相対的なスピードは、前記以前フレームと前記現在フレームとの間において、レンダリングされたジオメトリのためのバーテックス位置データの差から決定されることを特徴とする請求項１〜４のうち何れか１項に記載の方法。
【請求項６】
前記既定義のスピードカテゴリーは、高スピードカテゴリーを含み、
前記高スピードカテゴリーである場合、前記サンプリングを決定する段階は、
タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階をさらに含むことを特徴とする請求項１〜５のうち何れか１項に記載の方法。
【請求項７】
前記各タイルに係わるエッジ探知を行う段階をさらに含み、
前記サンプリングを決定する段階は、
前記各タイルにエッジが探知されるか否かに基づいて、前記各タイルに適用されるサンプリングを決定する段階を含むことを特徴とする請求項１〜６のうち何れか１項に記載の方法。
【請求項８】
前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知されない場合、前記各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知される場合、少なくともピクセル当たり１つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記サンプリングを決定する段階は、
前記各タイルに対してスーパーサンプリングを行うか否かを決定する段階をさらに含むことを特徴とする請求項１〜８のうち何れか１項に記載の方法。
【請求項１０】
前記スーパーサンプリングは、エッジを含むタイルに対して行われることを特徴とする請求項９に記載の方法。
【請求項１１】
グラフィックス・プロセッシングを行う方法において、
以前フレームと現在フレームとの比較により、前記現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、
前記各タイルがエッジを含むか否かを決定する段階と、
前記決定されたスピードに基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
前記分類及び前記各タイルがエッジを含むか否かに基づいて、前記各タイルに適用されるサンプリングレートを決定する段階と、
前記決定されたサンプリングレートに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含む方法。
【請求項１２】
前記既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、前記準静的スピードカテゴリーである場合、
前記以前フレームでのピクセルのデータをコピーする段階と、
前記ピクセルと対応する前記現在フレームでのピクセルのデータとして、前記コピーされたデータを再使用する段階と、をさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記コピーする段階は、
レンダリングされるピクセルと、レンダリングされていないピクセルとの既設定の比率に基づいて、前記以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェックを行う段階をさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記既定義のスピードカテゴリーは、中間スピードカテゴリーを含み、前記中間スピードカテゴリーである場合、
前記各タイルに含まれた全ピクセルが少なくとも１フレームごとにサンプリングされることを特徴とする請求項１１〜１４のうち何れか１項に記載の方法。
【請求項１６】
前記既定義のスピードカテゴリーは、高スピードカテゴリーを含み、
前記高スピードカテゴリーである場合、
タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
サンプリングされないピクセルに対する色を決定する補間を行う段階と、をさらに含むことを特徴とする請求項１１〜１５のうち何れか１項に記載の方法。
【請求項１７】
前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知されない場合、前記各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、
前記既定義のスピードカテゴリーが高スピードカテゴリーであり、前記各タイルにエッジが探知される場合、少なくともピクセル当たり１つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含むことを特徴とする請求項１１〜１６のうち何れか１項に記載の方法。
【請求項１８】
グラフィックスパイプラインを含むグラフィックスシステムにおいて、
適応デサンプリング（ＡＤ）サンプル生成部と、
前記ＡＤサンプル生成部と連結されたピクセルシェーダと、を含み、
前記ＡＤサンプル生成部は、
各タイル内の客体のスピードに基づいて、前記各タイルに係わるサンプリングレートを決定し、前記決定されたサンプリングレートに基づいて、サンプリングパターンを選択するグラフィックスシステム。
【請求項１９】
前記ＡＤサンプル生成部は、
前記客体のスピード、及び前記各タイルがエッジを含むか否かに基づいて、前記各タイルに係わるサンプリングパターン及びサンプリングレートを決定することを特徴とする請求項１８に記載のグラフィックスシステム。
【請求項２０】
前記ＡＤサンプル生成部は、
以前フレームで前記客体を構成するバーテックスの座標と、現在フレームで前記バーテックスの座標に対応する座標とを比較し、前記各タイル内のピクセルごとにそれぞれ速度を決定する速度バッファと、
前記各タイル内にエッジが存在するか否かを探知するエッジ探知部と、
前記各タイル内にエッジが存在するか否か、及び前記各タイル内のピクセルそれぞれの速度に基づいて、サンプリングパターン及びサンプリングレートを決定するサンプル生成部と、を含むことを特徴とする請求項１９に記載のグラフィックスシステム。
【請求項２１】
前記各タイルの客体のスピードが、所定の臨界スピード値以上であり、前記各タイルがエッジを含まない場合、
前記各タイルに対して、低下したサンプリングレートが選択されることを特徴とする請求項１９に記載のグラフィックスシステム。
【請求項２２】
復元モジュールをさらに含み、
前記各タイルが準静的スピード値以下であるスピードを有する場合、低下したサンプリングレートを有するサンプリングパターンが選択され、
前記復元モジュールは、移送を介して以前フレームのピクセルデータを再使用し、レンダリングされていないピクセルに係わるデータを生成することを特徴とする請求項１９に記載のグラフィックスシステム。
【請求項２３】
前記復元モジュールは、ピクセル座標での変化をマッピングし、前記以前フレームのピクセルの位置を認識することを特徴とする請求項２２に記載のグラフィックスシステム。
【請求項２４】
前記各タイルの客体のスピードが、所定の準静的スピード限界値以下である場合、前記各タイルのピクセルの一部がレンダリングされ、他の一部は所定の比率によって以前フレームから再使用されることを特徴とする請求項２２に記載のグラフィックスシステム。
【請求項２５】
グラフィックス・プロセッシングを行う方法において、
以前フレームと現在フレームとの比較により決定されたスピードに基づいて、現在フレームの各タイルに係わる適応的レンダリングを行う段階を含む方法。
【請求項２６】
前記適応的レンダリングを行う段階は、
前記以前フレームと前記現在フレームとの座標比較により、前記現在フレームの各タイルに含まれる客体の相対的なスピードを決定する段階と、
前記決定に基づいて、前記各タイルを、既定義のスピードカテゴリーに分類する段階と、
前記分類に基づいて、前記各タイルに適用されるサンプリングを決定する段階と、
前記決定されたサンプリングに基づいて、前記各タイルに係わるレンダリングを行う段階と、を含むことを特徴とする請求項２５に記載の方法。
【請求項２７】
請求項１ないし１７、２５、２６のうちいずれか１項に記載の方法をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィックスシステムが行う適応的レンダリングに関する。
【背景技術】
【０００２】
図１は、OpenＧＬ３．０仕様を基盤とする既存のグラフィックスパイプライン１００の主な領域を示す。既存のグラフィックスパイプライン１００は、バーテックスシェーダ（vertex  shader）１０５、プリミティブ・アセンブリ及びラスタ化部（primitive  assembly  and  rasterizer）１１０、フラグメント／ピクセルシェーダ（fragment/pixel  shader）１１５、及びフレームバッファ（frame  buffer）１２０を含んでもよい。また、既存のグラフィックスパイプライン１００は、テクスチャメモリ（texture  memory）１２５を含んでもよい。既存のグラフィックスパイプライン１００において、バーテックスシェーダ１０５は、バーテックスデータ（vertex  data）を受信するように動作し、プリミティブ・アセンブリ及びラスタ化部１１０は、バーテックスをシェーディングするように動作し、プリミティブをラスタ化するように動作し、フラグメント／ピクセルシェーダ１２０は、フラグメント／ピクセルに対するシェーディングを行うように動作することができる。
【０００３】
既存のグラフィックスパイプライン１００の一側面によれば、イメージの全領域が互いに同じ最小解像度（minimum  resolution）でレンダリングされる。特に、既存のグラフィックスパイプラインによれば、ピクセル当たり平均的なサンプルの個数を意味するサンプリングレート（sampling  rate）は、典型的に、イメージの各ピクセルごとに少なくとも１つのサンプルになる。
【０００４】
既存グラフィックスパイプラインの一側面によれば、多くのピクセルシェーディング・オペレーションが要求される一方でそれら全てが必ずしも適切に利用されず浪費となってしまうことが懸念される。従って、モバイルデバイスの側面では、多量のエネルギーが消耗してしまうことが懸念される。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、適応的レンダリングを行うグラフィックスシステム及び方法を提供するところにある。本実施形態がなすべき技術的課題は、前述のところのような技術的課題に限定されるものではなく、以下の実施形態から他の技術的課題が類推される。
【課題を解決するための手段】
【０００６】
一側面によって、グラフィックス・プロセッシングを行う方法において、以前フレームと現在フレームとの比較を介して、現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、該決定に基づいて、各タイルを、既定義のスピードカテゴリーに分類する段階と、該分類に基づいて、各タイルに適用されるサンプリングを決定する段階と、決定されたサンプリングに基づいて、各タイルに対するレンダリングを行う段階と、を含んでもよい。
【０００７】
また、既定義のスピードカテゴリーは、準静的スピードカテゴリーを含み、該方法は、準静的スピードカテゴリーである場合、以前フレームでのピクセルのデータをコピーする段階と、ピクセルと対応する現在フレームでのピクセルのデータとしてコピーされたデータを再使用する段階と、をさらに含んでもよい。
【０００８】
また、コピーする段階は、レンダリングされるピクセルとレンダリングされないピクセルとの既設定の比率に基づいて、以前フレームのタイルの一部のピクセルを、前記現在フレームのタイルにコピーすることができる。
【０００９】
また、該方法は、以前フレームでのピクセルのデータを再使用する条件として、以前フレームのピクセルカラー値に対する不一致チェック（discrepancy  check）を行う段階をさらに含んでもよい。
【００１０】
また、客体の相対的なスピードは、以前フレームと現在フレームとの間において、レンダリングされたジオメトリのためのバーテックス位置データの差から決定されもする。
【００１１】
また、既定義のスピードカテゴリーは、高スピードカテゴリー（又はハイスピードカテゴリ）を含み、サンプリングを決定する段階は、高スピードカテゴリーである場合、タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階をさらに含んでもよい。
【００１２】
また、該方法は、各タイルに対するエッジ探知（edge  detection）を行う段階をさらに含み、サンプリングを決定する段階は、各タイルにエッジが探知されるか否かということをさらに考慮し、各タイルに適用されるサンプリングを決定する段階を含んでもよい。
【００１３】
また、該方法は、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知されない場合、各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知される場合、少なくともピクセル当たり１つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含んでもよい。
【００１４】
また、サンプリングを決定する段階は、各タイルに対してスーパーサンプリング（super  sampling）を行うか否かということを決定する段階をさらに含んでもよい。
【００１５】
また、該スーパーサンプリングは、エッジを含むタイルに対して行われる。
【００１６】
他の側面によって、グラフィックス・プロセッシングを行う方法は、以前フレームと現在フレームとの比較を介して、現在フレームの各タイルに含まれた客体の相対的なスピードを決定する段階と、各タイルがエッジを含むか否かということを決定する段階と、決定されたスピードに基づいて、各タイルを、既定義のスピードカテゴリーに分類する段階と、分類及び各タイルがエッジを含むか否かということに基づいて、各タイルに適用されるサンプリングレートを決定する段階と、決定されたサンプリングレートに基づいて、各タイルに対するレンダリングを行う段階と、を含んでもよい。
【００１７】
また、既定義のスピードカテゴリーは、中間スピードカテゴリーを含み、中間スピードカテゴリーである場合、各タイルに含まれた全てのピクセルが少なくとも１フレームごとにサンプリングされてもよい。
【００１８】
また、既定義のスピードカテゴリーは、高スピードカテゴリーを含み、該方法は、高スピードカテゴリーである場合、タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、サンプリングされないピクセルに対する色を決定する補間（interpolation）を行う段階と、をさらに含んでもよい。
【００１９】
また、該方法は、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知されない場合、各タイルに含まれたピクセルの個数より、サンプルの個数がさらに少ないサンプリングパターンを選択する段階と、既定義のスピードカテゴリーが高スピードカテゴリーでありながら、各タイルにエッジが探知される場合、少なくともピクセル当たり１つのサンプルである個数を有するサンプリングパターンを選択する段階と、を含んでもよい。
【００２０】
さらに他の側面によって、グラフィックスパイプラインを含むグラフィックスシステムは、適応デサンプリング（adaptive  desampling:AD）サンプル生成部（AD  sample  generator）と、ＡＤサンプル生成部と連結されたピクセルシェーダ（pixel  shader）と、を含み、ＡＤサンプル生成部は、各タイル内の客体のスピードに基づいて、前記各タイルに対するサンプリングレートを決定し、前記決定されたサンプリングレートに基づいて、サンプリングパターンを選択することができる。
【００２１】
また、ＡＤサンプル生成部は、客体のスピード及び各タイルがエッジを含むか否かということに基づいて、各タイルに対するサンプリングパターン及びサンプリングレートを決定することができる。
【００２２】
また、ＡＤサンプル生成部は、以前フレームにおいて、前記客体を構成するバーテックスの座標と、現在フレームにおいて、前記バーテックスの座標と対応する座標とを比較し、各タイル内のピクセルそれぞれごとに速度を決定する速度バッファ（velocity  buffer）と、各タイル内にエッジが存在するか否かということを探知するエッジ探知部（edge  detector）と、各タイル内にエッジが存在するか否かということ、及び各タイル内のピクセルそれぞれの速度に基づいて、サンプリングパターン及びサンプリングレートを決定するサンプル生成部（sample  generator）と、を含んでもよい。
【００２３】
また、各タイルの客体のスピードが、所定の臨界スピード値以上であり、各タイルがエッジを含まない場合、各タイルに対して低下したサンプリングレートが選択されてもよい。
【００２４】
また、該グラフィックスシステムは、復元モジュール（reconstruction  module）をさらに含み、各タイルが準静的スピード値以下であるスピードを有する場合、低下したサンプリングレートを有するサンプリングパターンが選択され、該復元モジュールは、移送を介して、以前フレームのピクセルデータを再使用し、レンダリングされていないピクセルに係わるデータ（missing  pixel  data）を生成することができる。
【００２５】
また、該復元モジュールは、ピクセル座標での変化をマッピングし、以前フレームのピクセルの位置を認識することができる。
【００２６】
また、各タイルの客体のスピードが所定の準静的スピード限界値以下である場合、各タイルのピクセルの一部は、レンダリングされ、他の一部は、所定の比率によって、以前フレームから再使用されてもよい。
【００２７】
さらに他の側面によって、グラフィックス・プロセッシングを行う方法は、以前フレームと現在フレームとの比較を介して決定されたスピードに基づいて、現在フレームの各タイルに対する適応的レンダリングを行う段階を含んでもよい。
【００２８】
さらに他の側面によって、グラフィックス・プロセッシングを行う方法を具現するためのプログラムが記録されたコンピュータで読み取り可能な記録媒体が提供される。
【図面の簡単な説明】
【００２９】
【図１】既存のグラフィックスパイプラインを図示する図面である。
【図２】本開示によるグラフィックスパイプラインを図示する図面である。
【図３】一実施形態によって、ＡＤサンプル生成部を図示する図面である。
【図４】一実施形態によるスピード体制（speed  regime）を図示する図面である。
【図５】一実施形態によって、適応的レンダリングを示すフローチャートである。
【図６Ａ】サンプリングパターンとディザリングの実施形態とを図示する図面である。
【図６Ｂ】一実施形態によるディザリング方法を図示する図面である。
【図７Ａ】移送の一実施形態を図示する図面である。
【図７Ｂ】グラフィックスパイプラインが移送を行う方法を図示する図面である。
【図８】グラフィックスパイプラインが復元及び補間を行う一実施形態を図示する図面である。
【図９】補間に係わるサンプリングパターンの実施形態を図示する図面である。
【図１０】補間に係わるサンプリングパターンの実施形態を図示する図面である。
【図１１】一実施形態によって、グラフィックスパイプラインが適応的デサンプリング及びスプライン補間を行う方法を図示する図面である。
【図１２】一実施形態によって、グラフィックスパイプラインがスプライン補間を行う方法を図示する図面である。
【図１３】一実施形態によって、グラフィックスパイプラインがステンシルを活用する方法を図示する図面である。
【図１４】三次元スプラインを介した移送及び復元の一実施形態を図示する図面である。
【図１５Ａ】フレームの互いに異なる領域に、適応的レンダリングが適用される実施形態を図示する図面である。
【図１５Ｂ】フレームの互いに異なる領域に、適応的レンダリングが適用される実施形態を図示する図面である。
【図１６】両眼視差映像に移送が適用される実施形態を図示する図面である。
【図１７】本開示による適応的レンダリングがフォビエティドレンダリング（foveated  rendering）に適用される実施形態を図示する図面である。
【発明を実施するための形態】
【００３０】
以下、添付された図面を参照しながら、ただ例示のための実施形態について詳細に説明する。下記実施形態は、技術的思想を具体化するためのものであるのみ、権利範囲を制限したり限定したりするものではないということは言うまでもない。詳細な説明及び実施形態から、当該技術分野に属する当業者が容易に類推することができることは、権利範囲に属すると解釈される。
【００３１】
本明細書で使用される「構成される」または「含む」というような用語は、明細書上に記載されたさまざまな構成要素、あるいはさまざまな段階を必ずしもいずれも含むものであると解釈されてはならず、そのうち一部の構成要素、または一部の段階は、含まれないこともあり、または追加的な構成要素または段階をさらに含んでもよいと解釈されなければならない。
【００３２】
また、本明細書で使用される「第１」または「第２」というような序数を含む用語は、多様な構成要素の説明に使用することができるが、かような用語は、１つの構成要素を他の構成要素から区別したり、あるいは説明の便宜を図ったりする目的に使用される。
【００３３】
以下では、図面を参照し、本開示による実施形態について詳細に説明する。
【００３４】
図２は、本開示によるグラフィックスパイプライン２００を示す。グラフィックスパイプライン２００は、グラフィックス・ハードウェアを含むグラフィックス・プロセッシングユニット（ＧＰＵ：graphics  processing  unit）を利用して遂行される。また、グラフィックスパイプライン２００は、グラフィックスシステム（graphics  system）に含まれてもよい。グラフィックスパイプライン２００は、タイル内の全てのピクセルがサンプリングされたりレンダリングされたりするように要求しないフレーム内の領域を、自動的に決定するための新たな段階及び機能を含んでもよい。すなわち、グラフィックスパイプライン２００は、ユーザの受容可能な（受け入れることが可能な）視覚的経験を考慮し、タイルそれぞれのうちの全ピクセルがサンプリングされるようには要求しないフレーム内の領域を決定することができる。タイルという用語は、イメージ内の隣接したピクセルセットを意味し、一実施形態によってタイルは、四角形状のブロックになる。フレームという用語は、既設定の頻度で見られるイメージをレンダリングするために遂行されるオペレーションのセットを意味する。また、フレームという用語は、オペレーションのセットから生成されるレンダリングされたイメージを意味することもできる。
【００３５】
一実施形態によって、ＡＤサンプル生成部（adaptive  desampling  sample  generator）２０５は、イメージの領域に係わるサンプリングパターン（sampling  pattern）を調整することができる。イメージの領域は、４Ｘ４ピクセルブロックまたは１６Ｘ１６ピクセルブロックのようなピクセルブロックに対応するタイルになる。デサンプリング（desampling）は、現在フレームにおいてレンダリングまたはサンプリングされる各タイル当たりサンプルの個数を減らすことを意味する。例えば、デサンプリングは、平均的に、各タイル当たり１より小さいサンプルに対してサンプリングすることを意味する。また、デサンプリングという用語は、サブサンプリング（sub-sampling）という用語とも混用される（代替的に使用されてもよい）。フルイメージ解像度（full  image  resolution）を維持するために、レンダリングされていないピクセルのデータ（missing  pixel  data）の値を獲得するのに、二種の異なるアプローチが利用されてもよい。復元及び移送モジュール（reconstruction  and  advection  module）２１０は、ユーザのための視覚的クオリティが維持される間、タイル内でサンプリングされたりレンダリングされたりするピクセルの個数を減らす互いに異なる二種の方法を提供することができる。一実施形態によって、復元及び移送モジュール２１０は、復元モジュール２１１と移送モジュール２１２とを含んでもよい。一実施形態によって、互いに異なる二種の方法のうち最初の方法は、高次数の多項式補間法を介した復元と、レンダリングされていないピクセルデータを生成するためのタイル内でのフィルタリングとである。２番目の方法は、以前フレーム（previous  frame）での少なくとも１つのピクセルの位置を認識し、タイル内の一部選択されたピクセルのために認識された少なくとも１つのピクセルを再使用することである。
【００３６】
一実施形態によって、ｎ番目フレームにおいて、客体に係わるピクセルデータが、（ｎ＋１）番目フレームで再使用される（２１５）。また、ｎ番目フレームにおいて、客体に係わるピクセルデータは、（ｎ＋１）番目フレームで再使用される可能性のために保存される。また、ｎ番目フレームのバーテックス座標データは、（ｎ＋１）番目フレームにおいて、ピクセルのフレーム間モーションベクトルを決定するために利用される（２２０）。一実施形態によって、ｎ番目フレームにおいて、ピクセルデータ及びバーテックス座標データは、（ｎ＋１）番目フレームでの使用のためにバッファメモリに保存される。
【００３７】
図３は、一実施形態によるＡＤサンプル生成部２０５を示す。一実施形態によって、速度（velocity）及びエッジ探知（edge  detection）に基づいて、タイル領域内でのデサンプリング決定がなされる。例えば、エッジ探知は、深さ（depth／Ｚ）でのエッジ探知を意味する。速度バッファ３１０は、現在フレーム及び以前フレームから、各バーテックス当たり座標情報を受信することができる。各ピクセルの速度は、現在フレーム及び以前フレームから受信された各バーテックス当たり座標情報を比較して決定される。一実施形態によって、シーン（scene）からのプリミティブと共に、速度イメージ（velocity  image）をレンダリングするために、フォワードスプラッティング（forward  splatting）・アプローチが利用される。また、バーテックス特性（vertex  attribute）である各バーテックス当たり速度を利用するために、フォワードスプラッティング・アプローチが利用される。レンダリングが進められる間、多くのグラフィックス・アプリケーションは、ピクセルシェーダインスタンスの個数を減少させるためのテクニックとして、深さバッファ（Ｚ−buffer）を生成することができる。速度バッファまたは速度イメージは、深さバッファと共に生成される。深さバッファが生成されるＺ−passが進められる間、深さ値に対するアップデート及びスプラッティングと共に、各ピクセルごとに速度もアップデートされる。スクリーン空間上において、各ピクセル当たり速度値が速度バッファでもって生成され、速度値の大きさは、スピードに対応する。該タイルは、各ピクセルと関連するピクセルスピードを有することができる。該タイルは、最大ピクセルスピード、平均ピクセルスピードまたは最小ピクセルスピードを有することができる。すなわち、該タイルは、タイルに含まれたピクセルそれぞれのスピードのうち最大値であるピクセルスピードを最大ピクセルスピードとして、中間値であるピクセルスピードを中間ピクセルスピードとして、最小値であるピクセルスピードを最小ピクセルスピードとして有することができる。一実施形態によって、中間ピクセルスピードがデサンプリング決定に利用され、最大ピクセルスピード及び平均ピクセルスピードも、デサンプリング決定に利用される。
【００３８】
視覚的アーチファクト（visual  artifacts）は、動く客体内において、肉眼にあまり認知されない。従って、サンプリングレートがタイル内で低下するか否かということを決定する要因は、ピクセルスピードが所定の臨界値を超えるか否かということになる。
【００３９】
しかし、一部視覚的アーチファクトは、色エッジ（color  edge）でさらに認知されやすい。厳格な意味において、まず、イメージをレンダリングせずしては、色エッジを最終イメージで探知することは不可能である。しかし、レンダリングする前に、高い可能性（likelihood）で色エッジを探知することは可能である。従って、一実施形態によって、エッジ探知モジュール３０５は、ピクセルブロックに対する色エッジの可能性を探知することができる。すなわち、客体に係わる色変化の高い可能性を予測することにより、色エッジの高い可能性を有する領域が探知される。一実施形態によって、現在フレームでのラスタ化からの深さ値が、エッジ探知を行うために分析される。ラプラスエッジ探知部（Laplace  edge  detector）は、現在ピクセル上において、中心に位置したステンシル（stencil）として定義される。タイル内のあるピクセルは、あるピクセルにおいて、深さバッファのラプラシアン（Laplacian）が、あるピクセルの深さ値が乗じられた臨界値より大きい場合、エッジを有すると表示される。タイル内のあるピクセルが、エッジを有するか否かということを、タイル内の１ビット値で定義することができる。また、エッジ探知のいかなるタイプでも利用される。
【００４０】
一実施形態によって、エッジマスク（edge  mask）が各タイルごとに生成され、タイルが、少なくとも１つのエッジを含むか否かということを示す。エッジ状態ビット（edge  state  bit）が生成される。例えば、４Ｘ４ピクセルブロックに対するエッジマスクが生成されるが、ピクセルブロックのサイズは、それに制限されるものではない。速度及びエッジの存在に係わる情報は、タイルに係わるサンプルパターンを決定するために、サンプル生成部３１５によって利用される。一実施形態によって、エッジが探知される場合、フルサンプリング解像度が活用される。また、エッジが探知されず、タイルが第１臨界速度より速い速度を有する場合、第１低下サンプリングレートが利用される。また、エッジが探知されず、タイルが第２臨界速度より速い速度を有する場合、第２低下サンプリングレートが利用される。また、サンプリングレートの決定に、他の付加的な要素が考慮される。サンプルパターンの例としては、各ピクセル当たり少なくとも１つのサンプルであるフルサンプル解像度、各タイル内のピクセルの半分がサンプリングされる２分の１解像度（one-half  resolution）、各タイル内のピクセルの４分の１がサンプリングされる４分の１解像度（one-quarter  resolution）になる。また、各サンプリングレートのために、臨界パラメータによって調節される複数のサンプリングレートが提供される。さらに、選択されたサンプリングレートは、選択されたブロック／タイルサイズに対して最適化される。例えば、４Ｘ４ブロックについては、４サンプル、８サンプルまたは１６サンプルのサンプリングレートが適用される。また、一実施形態によって、１セットに含まれたサンプリングレートそれぞれは、臨界パラメータによって調節される。従って、サンプリングレートの個数Ｎは、ブロック／タイルの大きさ、または他の要素のような細部事項に基づいて決定される。
【００４１】
一実施形態によって、ディザリングモジュール（dithering  module）３２０は、同一の効果を示すサンプリングレートを有するサンプリングパターンの選択から、サンプリングパターンを調整するために提供される。ディザリングは、反復的なシーケンスまたはランダムな側面を含んでもよい。反復的なシーケンスの例としては、サンプルパターン１、サンプルパターン２、サンプルパターン３、サンプルパターン４になる。
【００４２】
ディザリングモジュール３２０によるサンプリングパターンのディザリングは、人間であるユーザによるサンプリングアーチファクトの視覚的認知を低減させることができる。サンプリングレートが生体臨界よりさらに高い場合、人間の目と脳は、イメージをビデオシーケンスと混ぜ始める。すなわち、イメージが生体臨界よりさらに高いレートに変わる場合、肉眼は、経時的にイメージを混ぜ、イメージを、ビデオのような連続的に変わるシーケンスとして認知する。秒当たり１２フレームであるフレームレートにおいて、人間の目と脳は、イメージシーケンスを個別的なイメージではなく、動くイメージとして見始める。しかし、相対的に流動的な動き（滑らかな動き）として見えるためには、秒当たり１５フレーム以上のフレームレートが要求される。しかし、イメージ自体の特性は、人間である観察者が、与えられたフレームレートにおいて、流動的な動きを認知するか否かということに係わるさらなる要因になる。秒当たり１２フレーム以上のフレームレートにおいて、肉眼は、ディザリングされた視覚的アーチファクトを平均化させる傾向がある。一実施形態によって、肉眼が、各イメージを見分けることができるさらに早い、少なくとも超当たり１５フレームで各ピクセルがレンダリングされるために、ディザリングが行われる。秒当たり６０フレームにおいて、毎４フレームごとに、タイルのサンプルパターンをディザリングすることは、少なくとも超当たり１５フレームにおいて、各ピクセルをレンダリングすることと対応する。
【００４３】
図４は、一実施形態によるスピード体制（speed  regimes）を示す。スピード体制という用語は、スピードカテゴリーという用語と混用される（代替的に使用されてもよい）。モーション（すなわち、動き）は、客体のモーションとカメラのモーションとの組み合わせにもなる。スピードは、タイル内のモーションベクトルの大きさ（magnitude）に対応する。例えば、該スピードは、受容可能な視覚的クオリティを有するピクセルブロックで必要とするサンプルの個数を示す指示子（indicator）でもある。肉眼は、動く客体において、高い頻度（frequency）を認知することができないために、ピクセルブロックにおいて、モーションが所定の臨界スピードＫｆａｓｔ１より速い場合、サンプルの個数は減少する。例えば、４Ｘ４タイルにおいて、８個のサンプルになる。また、スピードが、所定の臨界スピードＫｆａｓｔ２より速い場合、サンプルの個数はさらに減少する。例えば、４Ｘ４タイルにおいて４個のサンプルになる。一方、モーションがタイル内で非常に遅い場合、すなわち、モーションが所定のスピードＫｓｔａｔより遅い場合、以前フレームからのピクセルデータが再使用される可能性がある。例えば、モーションが、所定のスピードＫｓｔａｔより遅いか、あるいはモーションがない場合、以前フレームの４Ｘ４タイルにおいて８個のサンプルをレンダリングし、移送（advection）を介して、以前フレームでレンダリングされた８個のカラー値を再使用することができる。以前フレームからのピクセルデータの再使用は、以前フレームと現在フレームとの間のグラフィックス状態の変化がないということを必要とする。一実施形態によって、グラフィックス状態は、使用されたシェーダ、シェーダに提供された定数（contants）、及びフレームに提供されたジオメトリ（例えば、幾何学的形状、配置、配列など）を含んでもよい。また、フルサンプリング解像度が要求されるスピード体制が存在する。一実施形態によって、ＫｓｔａｔとＫｆａｓｔ１との間である中間スピード体制で、高い視覚的クオリティを獲得するために、フルサンプリング解像度が要求される。さらに、スーパーサンプリング（super-sampling）が各タイルに適用される。また、一実施形態によって、Ｚ−edgeの場合のスーパーサンプリングのためのオプションが提供される。
【００４４】
一実施形態によって、スピードが、第１臨界スピードＫｆａｓｔ１より速い場合、デサンプリングが許容される。デサンプリングは、一実施形態によって、ピクセル当たり１つのサンプル以下にサンプリングレートを低下させるために、サンプルパターンを変更することを意味する。一実施形態によって、スピードが、第２臨界スピードＫｆａｓｔ２を超える場合、サンプリングレートがさらに低下するように許容される。デサンプリングを行うか否かということに係わる決定は、エッジが探知されるか否かというような条件に基づく。
【００４５】
一実施形態によって、現在フレームと以前フレームとのバーテックス位置データの差分（differencing）によって、カメラスクリーン空間での動きが獲得される。客体のピクセルが、フレーム間でいかほど動いたかということに基づいたモーションベクトルの大きさを計算し、タイルのスピード体制を、タイル対タイル基盤に分類することができる。一実施形態によって、ピクセル当たり動きベクトルを決定するために、Ｚ−passにおいて、スプラッティング（splatting）が利用される。一実施形態によって、適応的デサンプリング（adaptive  desampling）または移送（advection）が、現在フレームで利用されるか否かということに係わる決定のために、スピード臨界が定義され、入力として利用される。一実施形態によって、速度体制は、準静的体制（quasi-static  regime）でもあり、準静的体制内において、客体は、以前フレームに比べ、大きくは異ならない程度に遅く動く。スピードが準静的スピード限界内である場合、以前フレームのピクセルを再使用するために、移送の遂行いかんが決定される。一実施形態によって、準静的スピードの上限であるＫｓｔａｔにおいて、ｎ番目フレーム内の所定タイルのピクセルが、（ｎ＋１）番目フレーム内の同一タイルでそのまま維持される。一実施形態によって、スピードがＫｓｔａｔ以下である場合、以前フレームでのピクセルが、現在フレームで使用されるか否かということを決定するために、さらなる事項がチェックされる。チェックされるさらなる事項としては、移送が以前フレームで受容可能な結果を提供するか否かということに係わる確認になる。また、現在フレーム内のタイルのピクセル値が、以前フレームに比べ、小さい動きに一貫するか否かということをチェックし、それを不一致チェック（discrepancy  check）という。移送不一致状態ビット（advection  discrepancy  check  state  bit）は、タイルと関連し、タイルが少なくとも一部のピクセルデータの移送のために適するか否かということを示すことができる。
【００４６】
図５は、スピード、エッジ探知、ディザリング、スプライン復元及び移送に基づいた適応的レンダリング選択の一例示を説明するフローチャートである。既存のグラフィックスパイプラインの特徴は、本開示の明確性のために省略されている。図５は、４Ｘ４タイルに係わる一例示を示す。グラフィックスパイプライン２００は、初期プリパス（pre-pass）を行った後、ピクセルデータをレンダリングするために、カラーパスを行う。グラフィックスパイプライン２００は、深さバッファを計算し（５１０）、エッジ探知を行う（５１５）。また、グラフィックスパイプライン２００は、シーンジオメトリ（scene  geometry）のために、モーションベクトルを計算する（５２０）。また、グラフィックスパイプライン２００は、ピクセル当たりモーションベクトルを計算する（５２５）。グラフィックスパイプライン２００は、タイル内でモーションの範囲を計算する（５３０）。段階５３５では、グラフィックスパイプライン２００は、以前の段階から獲得された情報に基づいて、１）４Ｘ４ブロック内において、４サンプル、８サンプルまたは１６サンプルに対するレンダリング及び補間（interpolation）を行うか、２）４Ｘ４ブロック内において、８個サンプルに対するレンダリング及び８個サンプルに対する移送を行うか否かということを決定することができる。ピクセルデータを復元するために、スプライン復元（spline  reconstruction）が活用される（５４５）。移送が行われた場合、８個のピクセル値が移送され、残りはレンダリングされる（５５０）。
【００４７】
図６Ａは、サンプリングパターンとディザリングの実施形態とを示す。図６Ａでは、一実施形態によって、タイルの大きさを４Ｘ４ピクセルブロックに図示してあるが、それに制限されるものではない。フル解像度は、１６個のサンプルと対応する。８個のサンプルと対応する２分の１解像度、及び４個のサンプルと対応する４分の１解像度は、サンプルのパターンによって多様になる。すなわち、８個のサンプルの場合、サンプルの配列が、第１サンプルパターン、第２サンプルパターン、第３サンプルパターンのように多様になる。既設定のサンプリングパターンを有するということは、時間的色平均化（temporal  color  averaging）のためのサンプルパターンのディザリングを可能にすることができる。全ピクセルが所定のフレームごとにレンダリングされるために、サンプリングを循環させる既設定のサンプリングパターンが選択される。サンプルパターンのディザリングは、異なるテクニックによってなされる。一実施形態によって、各フレームでのサンプルパターンが、ディザリングモジュール３２０によって選択される。また、サンプルパターンは、モジュロ（modulo）ｋカウンタによるシーケンスになる。複数のフレームにわたる時間の間、サンプル位置をディザリングすることにより、レンダリングの間、人間が観察し難いエラーが発生する。一実施形態によって、各ピクセルが、少なくともｋフレームごとに１回ずつはレンダリングされるように、サンプルパターンが選択される。その場合、ｎＸｎタイルにおいて、（ｎ＊ｎ）／ｋは、サンプルの最小個数になる。他の実施形態によって、サンプルパターンを選択するために、確率論的アプローチ（stochastic  approach）を利用して、時間的ディザリング（temporal  dithering）が行われる。
【００４８】
図６Ｂは、一実施形態によるディザリング方法を示す。段階６０５において、グラフィックスパイプライン２００は、低下した平均サンプリングレートにおいて、サブサンプリングのために、現在フレームのタイルを選択することができる。段階６１０において、グラフィックスパイプライン２００は、各タイルにおいて、サンプリングパターンのセットからサンプリングパターンを選択し、選択されたサンプリングパターンは、以前フレームに比べて変化している。段階６１５において、グラフィックスパイプライン２００は、フレームに対するレンダリング及び復元を行う。さらなるフレームがレンダリングされる場合、プロセスは続く。段階６２０において、グラフィックスパイプライン２００は、次のフレームを進める。
【００４９】
図７Ａは、移送（advection）の一実施形態を示す。４Ｘ４タイル７００のようなタイル領域において、該移送は、以前フレームでの与えられた位置のピクセルからのピクセルデータが、現在フレームでの対応する位置(corresponding  location)のピクセルにコピーされるということを意味する。例えば、個別的な客体がスクリーン内で動き、該客体の全ピクセルが所定の速度で動く。次に、あるフレームから他のフレームに動く客体のピクセル間には、高レベルの時間的一貫性（temporal  coherence）がある。変化の主な要因は、動きにもなる。フレーム内において、客体の各ピクセルの動きが決定されることにより、ピクセルデータは、フレーム内でコピーされる。例えば、ピクセルデータが現在ピクセル位置において、以前フレームでの対応する位置にマッピングされるほどに動きが遅いことがある。以前フレームでのピクセルの位置は、ｘ（ｎ−１）＝ｘ（ｎ）−ｍｖ（ｘ）のように計算される。すなわち、ｘ（ｎ−１）は、以前フレームでのピクセルの位置を意味し、ｘ（ｎ）は、現在フレームでのピクセルの位置を意味し、ｍｖ（ｘ）は、動きベクトルを意味する。結果として、ピクセルデータは、ｘ（ｎ−１）からｘ（ｎ）にコピーされる。ピクセルの動きがフレームの間で小さい場合、現在フレームでのピクセル位置が、以前フレームでのピクセル位置に投影され、以前フレームでのピクセルデータがコピーされる。ｘ（ｎ−１）がデシマル要素（decimal  component）を有しているならば、そこから、または高次数の補間法が利用される。
【００５０】
図７Ａにおいて、移送は、レンダリングと共に行われる。一実施形態によって、タイルのピクセルのうち半分は移送が行われ（７０５）、残りの半分は、レンダリングが行われる（７１０）。１フレーム内において、移送とレンダリングとを共に行うことは、移送だけ行うことによって生成される視覚的アーチファクトを減らすことができる。すなわち、移送とレンダリングとを共に行うことは、典型的な、人間によって感知される移送による視覚的エラーの可能性を最小化させることができる。また、時間的ディザリングを共に行うことは、経時的にエラーを蓄積させず、典型的な、人間によって認知される視覚的エラーの可能性を最小化させることができる。レンダリングされるピクセルと、移送されるピクセルとの比率が１：１であるということは、一例であるにすぎず、他の比率でもよい。
【００５１】
一実施形態によって、最大スピードは、移送が許容されるか否かということに係わる条件に利用される。一実施形態によって、臨界スピードが低く設定されることにより、小規模のピクセルのうち一部のピクセルの位置の局所的変形は、剛体変換（rigid  transformation）に分類され、該剛体変換は、ピクセルの位置の変化が、全体ピクセルセットを基に、１回の回転（rotation）、及び１回の並進（translation）を利用して表現されることを意味する。例えば、移送のための最大スピードは、ピクセルモーションの大きさがｋピクセルの臨界より低い場合にもなる。該剛体変換は、いかなるスピドでも生じる可能性があり、その可能性は、スピードが増大しながら低下する。スピード臨界値は、移送の発生可能性に対する基準（criterion）にもなる。不一致チェックは、該移送が、適する結果を生産するか否かということを決定するために、各タイルに対して行われる。かような不一致チェックは、現在フレームに行われ、１ビット値で各タイルごとに書き込まれ、かような１ビット値は、次フレームであるタイル周辺において、移送が不可であるか否かということに係わる決定を可能にする。すなわち、該移送が、ｎ番目フレーム内のタイルに行われ、ｎ番目フレームに対する不一致チェックが行われ、不一致チェックは、（ｎ＋１）番目フレームで使用されることができる。（ｎ＋１）番目フレームは、ｎ番目フレームで計算された不一致チェックを利用して、（ｎ＋１）番目フレーム内のタイル周辺に対する移送を行うか否かということを決定する。ｎ番目フレームの不一致チェックが、移送結果が受容可能であると示されれば、（ｎ＋１）番目フレームで移送が許容される。ｎ番目フレームの不一致チェックが、移送結果が受容可能ではないと示されれば、選択されたフレームに対する移送はなされない。不一致チェックは、タイルのピクセル値に重大な変化があるか否かということに基づくチェックである。客体のピクセルが遅く動く場合、タイルは、２個のフレーム間において、重大に変化しないと予測される。従って、タイルの状態が重大に変わる場合、不一致チェックは失敗する。０または１の値を有するタイル状態不一致ビット（tile  state  discrepancy  bit）は、不一致チェックがパスするか否かということを示すのに利用される。タイル状態の変化が許容される程度は、経験的に（empirically）または発見的（heuristically）に決定され、移送による計算的利益（computational  benefit）と、視覚的アーチファクトの発生を最小化することとのトレードオフを考慮して決定される。
【００５２】
不一致チェックを行う他の方法が利用される。現在ｎ番目フレームのタイルでの移送を行うのに計算的利益があり、不一致チェックを行うのに計算的利益があり、（ｎ＋１）番目フレームで移送を行うか否かということを決定するために、不一致チェックを利用するのに計算的利益がある。また、不一致チェックは、ｎ番目フレームで行われ、以前フレームからのピクセルを再使用するために、ｎ番目フレームで移送を活用するか否かということを決定するのに利用される。
【００５３】
正確度を向上させるために、多様なエンハンスメント（enhancement）が利用される。一実施形態によって、ＢＦＥＣＣ（back  and  forth  error  correction  and  compensation）が利用される。ＢＦＥＣＣは、セミラグランジュ移送（semi-Lagrangian  advection）から決定された位置を活用し、現在フレームでの新たな位置を獲得するために、決定された位置の座標に速度を付加することができる。エラーがなければ、座標は、本来の座標（ｘ，ｙ）と同一でなければならない。そうではなければ、（ｘ−ｖｘ，ｙ−ｖｙ）からエラーの半分を減算することにより、二次正確予測された位置が獲得される。速度が正確であるならば、二次正確予測された位置は、ピクセルの半分ほど正確である。
【００５４】
図７Ｂは、一実施形態によって移送を行う方法を示す。段階１４０５において、グラフィックスパイプライン２００は、タイルが移送に適するか否かということを決定する。一実施形態によって、適するか否かということは、タイルのスピード範囲が、準静的範囲内にあるか否かということが決定され、共にさらなる不一致チェックが行われる。段階１４１０において、グラフィックスパイプライン２００は、タイルが移送に適するならば、以前フレームにおいて、客体のピクセル位置を決定する。段階１４１５において、グラフィックスパイプライン２００は、移送及び不一致チェックを行う。段階１４２０において、グラフィックスパイプライン２００は、以前フレームから、タイルの一部選択されたピクセルを再使用することができる。段階１４２５で、グラフィックスパイプライン２００は、残りのピクセルをレンダリングすることができる。
【００５５】
図８は、一実施形態によって、デサンプリング状況において、ピクセルのカラー値の復元及びイメージ補間（image  interpolation）を示す。一実施形態によって、カラー値の加重化された和（weighted  summation）が、レンダリングされていないピクセルの復元に利用される。既設定の加重関数ｗにおいて、正規化された加重値セットが、特定サンプリングパターンから示される各ピクセルに対して、あらかじめ計算される。例えば、４Ｘ４ブロックにおいて、４個のピクセルがレンダリングされる場合、残った１２個のピクセルは、同じブロックでレンダリングされたピクセル、または周辺ブロックでレンダリングされたピクセルの加重化された和を利用して表現される。また、周辺ブロックにおいて、可能なピクセル構成のセットがサンプリングパターンのセットによって制限されるために、全ての可能な加重値セットがあらかじめ計算される。
【００５６】
一般的に、ＧＰＵは、二重線形補間を活用することができる。しかし、二重線形補間は、多様な短所を含む。一実施形態によって、少なくとも三次以上の高次数の多項式がスパースサンプル（sparse  samples）の効果的な復元のために利用される。高次数の多項式の例としては、三次スプライン（cubic  spline）と呼ばれる近似三次多項式を有することができる。
【００５７】
三次スプラインのような高次数の多項式は、二重線形補間よりさらに広い周波数スペクトルをマッピングし、サブサンプリングされたブロックから復元されたデータの高い正確度を提供することができる。また、二重線形補間が利用される場合、ピクセルの両側面に対するサンプルが好まれ、一側面線形外挿（one-sided  linearextrapolation）は、不正確な可能性があり、色スペクトル範囲を超える。それと対照的に、１つのピクセル以上の広いサポートを使用する高次数の多項式は、レンダリングされたイメージデータの関数的な形態（functional  form）に正確に近似する。多様な高次数の多項式が利用されるが、三次スプラインは、四次多項式よりはるかに連続性（continuity）特性を有する。デサンプリングの前に遂行されるエッジ探知段階のために、復元されるタイルは、鋭い不連続性を有さない可能性が高い。鋭い不連続性において、高次数の多項式復元は、低調に行われる。
【００５８】
サブサンプリングを行う一側面は、ランタイム（runtime）中に、スパースサンプルデータ（sparse  sample  data）があるというものである。ｋＸｋピクセル領域のようなブロック領域において、デサンプリングを介して、ブロック内の一部のピクセルがレンダリングされる。従って、残りのピクセルについては、復元が必要である。既定のサンプルパターンによって、可能なサンプル位置の有限なセットが決定される。それにより、ランタイムの前に、ローカルステンシルの固定されたセットが生成され、保存され、三次スプライン、または他の高次数の多項式を利用して、ピクセルデータの復元に利用される。既存には、高次数の多項式をハードウェアで評価するのに、計算的なロードが多かった。それに反して、本開示では、あらかじめ計算されたステンシルの固定されたセットを利用することにより、ランタイム中に、高次数の多項式評価（higher  order  polynomial  evaluation）を行うことによって生じる計算的なオーバーヘッドを除去することができる。サンプルの固定されたセットの使用は、復元が必要なピクセルの可能な構成を決定させる。それにより、要求されるステンシルがあらかじめ計算される。
【００５９】
一実施形態によって、既計算の加重値を利用して、高次数の多項式補間が固定的ステンシルオペレーションのように実行される。一実施形態によって、ステンシルテーブルは、保存され、空間的復元のために使用可能にもなる。ステンシルテーブルは、知られたサンプル位置に基づいた加重値を提供することができる。一実施形態によって、ステンシルテーブルは、既定義のサンプルパターン内の各ピクセル位置に対する既計算のステンシル加重値をいずれも含んでもよい。既計算の加重値は、固定的ステンシルオペレーションを利用して、高次数の多項式復元が行われるように許容することができる。
【００６０】
一実施形態によって、ランタイム中に補間が必要な、タイルの全ての可能なピクセル位置のために、５Ｘ５ステンシルセットが決定される。各５Ｘ５ステンシルは、各ピクセル位置及び周辺構成のために計算される。各ステンシルは、各ステンシルと対応する加重値リストを提供することができる。ステンシルは、復元目的のために使用可能な一時的なメモリテーブルに保存される。一実施形態によって、ランタイム中に、補間される各ピクセルにおいて、インデックスが計算され、ピクセル座標及びサンプリングマスクを利用するテーブルに保存される。各ステンシルは、タイル内のピクセルの位置、及びレンダリングのために使用されるサンプリングマスクを使用してアドレスされる。従って、ディザリングが適用されるならば、選択されたステンシルは、サブサンプリングの与えられた程度のために選択されるサンプルパターンに基づく。
【００６１】
一実施形態によって、高次数の多項式補間は、加重値とサンプルカラー値との乗算を蓄積するために、乗算器／加算器を使用して行われる。蓄積された値は、整数形式（integer  format）のためのビットシフト（bit  shift）によって行われる乗算によって正規化され、浮動小数点形式（floating  point  format）のための減算によって正規化される。従って、既計算の加重値及びステンシルの使用は、相対的にさらに少ない計算的ロードで、ランタイム中に高次数の多項式補間が計算されるようにする。
【００６２】
一実施形態によって、復元に利用され、知られたピクセルカラー値の加重化された和によるピクセルカラー値を計算するための三次スプライン関数は、下記数式（１）による。
【００６３】
【数１】
2016012354.tif 000003
前記数式（１）で、ｃ（ｉ，ｊ）は、（ｉ，ｊ）に位置したピクセルのカラー値であり、ｗは、二次元スプライン関数であり、「Filled」は、レンダリングされたピクセルのセットである。一実施形態によって、二次元スプライン関数は２個の一次元スプライン関数の積であるｗ（ｉ，ｊ）＝ｋ（ｉ）ｋ（ｊ）と表現される。一実施形態によって、一次元スプライン関数は、著者であるDon  P.  Mitchell  and  Arun  N.  Netravaliの「Reconstruction  Filters  in  Computer  Graphics」,  Computer  Graphics,  Volume  22,  Number  4,  August  1988,  pp.  221-228で説明される三次元フィルタフォーミュラに基づく。例えば、一次元スプライン関数ｋは、下記数式（２）による。
【００６４】
【数２】
2016012354.tif 000004
一実施形態によって、Ｂ＝Ｃ＝１／３である。
【００６５】
サンプルポイントの相対的な位置を制限することにより、加重値及びステンシルは、あらかじめ計算される。すなわち、前記数式１において、分母があらかじめ計算される。スプライン関数がエッジによって制限される方式であるために、前記数式２において、ｘの大きさ調整が、２ピクセル半径のような所定の半径に、前記数式２を拡張させるところに利用される。
【００６６】
ｎＸｎサイズのタイルにおいて、ｋＸｋピクセルを、（ｎ／ｋ）＊（ｎ／ｋ）個の可能な構成に配することができる。ｓピクセルを要求するサンプリングレート４＊ｓの場合、（ｎ＊ｎ）／（ｋ＊ｋ＊ｓ）個のサンプリングパターンが可能である。
【００６７】
図９は、４Ｘ４タイルでのサンプリングパターンの実施形態を示す。４Ｘ４タイルにおいて、Ｘマークは、レンダリングされたサンプルを意味し、Ｏマークは、補間位置を示す。５Ｘ５ステンシルがＯマークを中心にして利用される。４Ｘ４タイル以外のアクセスが不可能であると仮定すれば、４Ｘ４タイル以外の位置においてステンシルは、０値の加重値を有し、４Ｘ４タイル以外の位置は、ステンシルテーブルから消される。図９の４Ｘ４タイルにおいて、左側上端のピクセルの位置を（０，０）であるとすれば、Ｘマークに該当する位置は、（０，０）、（２，０）、（０，２）、（２，２）になり、各位置に対応する加重値は、ｗ０、ｗ１、ｗ２、ｗ３になり、加重値に係わる正規化された要素は、ｗになる。それによって、加重化された和は、１／ｗ（ｗ０＊ｃ（０，０）＋ｗ１＊ｃ（２，０）＋ｗ２＊ｃ（０，２）＋ｗ３＊ｃ（２，２））のように計算される。ただし、４Ｘ４タイル周辺によるステンシルの影響によって加重化された和が計算されもする。
【００６８】
５Ｘ５ステンシルは、２４個の既計算の値を含み、中心部は、カラー値を有していないために、０の値を有する。４Ｘ４タイル当たり８個のサンプルが使用される場合、半分がレンダリングされ、１２個の値を残しておくことになる。一実施形態によって、各ステンシルは、０ではない加重値の数字を示す４ビットカウントを含んで実行され、１つのチャンク（chunk）として保存された８ビット加重値に続き、中心を基準に、ｘ，ｙ座標に係わる３ビット座標オフセットの２つのチャンクに続く。
【００６９】
一実施形態によって、サンプリングパターン順に、ステンシルが保存される。一実施形態によって、同じサンプリングレートに係わる互いに異なるサンプリングパターンは、互いに対するローテーションにもなり、それにより、２セットのパターンになる。２セットのパターンは、ピクセル（ｉ，ｊ）に係わるデータを示すインデックスリストと共に、４Ｘ４内において、行優先順（row-major  order）で保存される。サンプリングマスクのローテーションのために、座標が適するように変換される。
【００７０】
図１０では、４Ｘ４タイルの場合、１６個のピクセルのうち８個のサンプルがレンダリングされる。４Ｘ４タイルにおいて、Ｘマークは、４個のピクセルである最初のグループのうちレンダリングされるサンプルを意味し、Ｏマークは、レンダリングされた４個のピクセルに係わる２番目グループを意味する。一実施形態によって、ステンシルは、加重値関数が与えられ、知られていないピクセルそれぞれについて定義される。かようなステンシルは、既定義のステンシルセットから、ランタイム中に獲得される。２ピクセルに係わる半径を有する三次元ステンシルの場合、スーパーサンプリングが行われないならば、ステンシルの大きさは、５Ｘ５になる。ｋＸｋタイル領域に対するアクセスが制限されるならば、該ステンシルは、タイル外に位置したピクセルについては、０である加重値を有するように修正される。また、サンプルの個数は、ピクセルの個数よりも多い。アンチエイリアシング（anti-aliasing）のためにスーパーサンプリングが行われる領域では、サンプルの個数がピクセルの個数よりも多い。例えば、４Ｘ４タイルにおいて、サンプルの個数が３２個にもなる。かような場合も、既計算のステンシルが付加される。
【００７１】
一実施形態によって、各サンプリングパターンは、スパーススクエアパターン（sparse  square  pattern）の組み合わせで定義される。例えば、４個のサンプルがスクエアパターンにレンダリングされる。スクエアパターンの選択は、４個のピクセルのグループを基本単位として処理するアプリケーションに有用である。しかし、さらに一般的に、サンプリング位置の他の配列がサンプリングパターンで利用される。例えば、４Ｘ４タイル内において、３Ｘ３サイズを有するスクエアは、サンプリングパターンになる。従って、近接したバーテックスは、各軸に沿って分離された２ピクセルになる。
【００７２】
一実施形態によって、既設定のサンプリングレートでサブサンプリングされる各フレームの全領域に対して、同一のサンプリングパターンが利用される。一実施形態によって、毎フレームにおいて、サンプル位置の間隔が一貫しており、それによって、復元ルーチンを単純化することができるために、既設定のサンプリングレートでサブサンプリングされる全タイルに、同一のサンプリングパターンが利用される。
【００７３】
一実施形態によって、サンプリングパターンは、ＳＩＭＤ（single  instruction  multiple  data）プロセッシングユニットを利用するために、４個のピクセルグループ（quads）に基づく。サンプル間隔の一貫性は、強靭な補間（robust  interpolation）を提供し、最終イメージでのフルピクセル解像度の獲得に一助となる。
【００７４】
図１１は、一実施形態によって、適応的デサンプリング方法及びスプライン補間方法を示す。段階１５０５において、グラフィックスパイプライン２００は、タイルのスピード範囲がサブサンプリングのためのスピード範囲内にあるか否かということを決定し、エッジが存在するか否かということに係わるチェックを行う。段階１５１０において、グラフィックスパイプライン２００は、サブサンプリングレート及びサンプリングパターンを決定する。段階１５１５において、グラフィックスパイプライン２００は、サンプリングパターンを基に、タイルのピクセルに対するシェーディングを行う。段階１５２０において、グラフィックスパイプライン２００は、レンダリングされていないピクセル値に対する補間のための復元を行う。一実施形態によって、スプライン補間が行われる。
【００７５】
図１２は、一実施形態によって、スプライン補間を行う方法を示す。段階１７０５において、グラフィックスパイプライン２００は、スパースサンプリングのためのタイルを選択することができる。段階１７１０において、グラフィックスパイプライン２００は、サンプリングパターンを選択することができる。段階１７１５において、グラフィックスパイプライン２００は、サンプル位置にあるピクセルに対するレンダリングを行う。段階１７２０において、グラフィックスパイプライン２００は、既計算の加重値に基づいて、三次元スプライン補間を介して、レンダリングされていないピクセルデータに対する復元を行う。
【００７６】
図１３は、一実施形態によって、既計算の加重値を含むステンシルを活用する方法を示す。段階１８０５において、グラフィックスパイプライン２００は、サンプルパターンでレンダリングされていないピクセルそれぞれに係わる既計算の加重値を生成することができる。段階１８１０において、グラフィックスパイプライン２００は、既計算の加重値を含むステンシルを保存することができる。段階１８１５において、グラフィックスパイプライン２００は、保存されたステンシルに、ランタイム中にアクセスすることができる。段階１８２０において、グラフィックスパイプライン２００は、三次元スプライン補間のためにステンシルを利用することができる。
【００７７】
本開示によるグラフィックスパイプライン２００は、イメージの各領域内において、サンプリングレートを自動的に減らすための戦略的選択が可能である。すなわち、グラフィックスパイプライン２００は、サブサンプリングまたはデサンプリングのように、各ピクセル当たり１つのサンプル以下のサンプルレートをイメージ内の領域ごとにそれぞれ適用するか否かということを判断する戦略的選択が可能である。
【００７８】
図１４は、三次元スプラインを介した移送及び復元の一実施形態を示す。図１４によれば、タイルは、４Ｘ４サイズのタイルにおいて、以前フレームでのピクセルパターンは、チェックボードパターンである。左側の例を見れば、４Ｘ４タイルである以前フレームでの半分のピクセルカラーデータが再使用されるために、移送が行われる。タイルに係わる速度が非常に遅いから、以前フレームでの半分のピクセルに対する移送が行われ、半分のピクセルのピクセル値がコピーされる。図１４において、タイルに係わる４個の矢印は、以前フレームでのピクセルデータが再使用されるということを意味する。右側の例は、有意のタイルスピードが存在する場合を示し、タイルスピードは、フレーム当たりピクセル半分の変位（half-pixel  displacement）に該当する。それにより、三次元スプライン補間に基づいた復元が行われる。フレーム当たりピクセル半分の変位に該当する速度である＋０．５Ｘにより、各レンダリングされたピクセルが、黒色と白色との中間色である灰色を有する。また、復元されたピクセルも、同様に灰色を有する。従って、カラー値が正確であるならば、フル解像度レンダリングも、同じ値を生成することができる。
【００７９】
図１５Ａは、互いに異なるピクセル速度を有する領域を含むシーンに対応するフレームの一実施形態を示し、一部領域では、エッジを含んでもよい。例えば、シーンは、風によって揺れる植物のような準静的な物体、静的な物体及び動くバイクのような動的な物体を含んでもよい。従って、互いに異なるスピード体制に分類される領域が存在する。結果として、図１５Ｂにおいて、ボックスに表示される領域は、互いに異なるピクセル速度を有し、領域は、適応的レンダリングに係わる互いに異なる機会を提供される。すなわち、各フレームについて、グラフィックスパイプライン２００は、自動的に各タイルを分析し、各タイルに対してデサンプリング及び移送を行うか、デサンプリング及び三次元スプライン補間を行うか、あるいは基本的なサンプリングを行うかということを決定する。また、グラフィックスパイプライン２００は、各タイルに対して、スーパーサンプリングを行うか否かということに係わる決定を行う。グラフィックスパイプライン２００は、自動的に前記のような決定を行うことにより、アプリケーション開発者による別途の入力が必要ではなくなる。
【００８０】
本開示は、仮想現実アプリケーションのための両眼視差映像にも適用される。図１６によれば、左目及び右目それぞれに係わる映像が図示されている。移送は、両眼視差映像に対するレンダリングをさらに効率的なものにするために適用される。一実施形態により、まず左目映像がレンダリングされる。左目映像の一部が、右目映像に移動される変換として、変換モーションｍｏｔｉｏｎｔｒａｎｓが定義される。一実施形態により、図２のＡＤサンプル生成部２０５は、左目映像からのピクセル値を移送するために、右目映像に対するサンプリング決定を行う。一実施形態により、サンプリングは、深さ値に基づいて決定され、移送は、左目映像及び右目映像のうち最小深さ値が所定の臨界深さ値より大きいか否かということによって行われる。すなわち、左目映像及び右目映像のうち最小深さ値が所定の臨界深さ値より大きければ（ｍｉｎ（Ｚleft，Ｚright）＞Ｚｔｈｒｅｓｈ）、変換モーションｍｏｔｉｏｎｔｒａｎｓを利用して、左目映像から右目映像にピクセルに対する移送が行われる。そうではなければ、モーション基盤サンプリングレートに基づいて、レンダリングが行われる。結果として、図１６でのように、右目映像は、レンダリングされたピクセルと、移送されたピクセルとの組み合わせで構成される。
【００８１】
図１７は、本開示による適応的レンダリングが、フォビエティドレンダリング（foveated  rendering）に適用される実施形態を示す。肉眼の網膜構造は、中心窩（fovea）部分が最も高い視力（visual  acuity）を提供することができる。すなわち、肉眼の最も高い視力は、網膜の中心部分であり、中心から遠くなるほど視力は低下する。フォビエティドレンダリングは、ユーザが見る焦点については、高いディテールでレンダリングが行われ、焦点から遠くなるほど、低いディテールでレンダリングを行うということを。図１７によれば、焦点１７２５は、（ｘ，ｙ）と表示される。焦点から遠くなるほど、サンプリングレートは低下する。サンプリングレートの低下は、焦点からの特定半径で段階的に行われる。例えば、円形領域１７２０、すなわち、半径ｒ０では、所定の個数のサンプルによってレンダリングが行われる。また、円形領域１７１０、すなわち、半径ｒ０とｒ１との間では、円形領域１７２０よりさらに少ない個数のサンプルによってレンダリングが行われる。また、半径ｒ１以上では、円形領域１７１０よりさらに少ない個数のサンプルによってレンダリングが行われる。例えば、円形領域１７２０では、１６個のサンプルがレンダリングされ、円形領域１７２０では、８個のサンプルがレンダリングされ、半径ｒ１以上では、４個のサンプルがレンダリングされる。また、半径によってサンプリング関数が多様に適用される。
【００８２】
前述の本実施形態による装置は、プロセッサ；プログラムデータを保存して実行するメモリ、ディスクドライブのような永久保存部（permanent  storage）；及び外部装置と通信する通信ポート、タッチパネル、キー、ボタンのようなユーザインターフェース装置などを含んでもよい。ソフトウェアモジュールまたはアルゴリズムで具現される方法は、前記プロセッサ上で実行可能なコンピュータで読み取り可能なコードまたはプログラム命令であり、コンピュータが読み取り可能な記録媒体上に保存される。ここで、コンピュータで読み取り可能な記録媒体として、マグネチック記録媒体（例えば、ＲＯＭ（read  only  memory）、ＲＡＭ（random  access  memory）、フロッピー（登録商標）ディスク、ハードディスクなど）、及び光学的判読媒体（例えば、ＣＤ（compact  disc）−ＲＯＭ、ＤＶＤ（digital  versatile  disc）などがある。コンピュータで読み取り可能な記録媒体は、ネットワークに連結されたコンピュータシステムに分散され、分散方式でコンピュータで読み取り可能なコードが保存されて実行される。媒体は、コンピュータによって読み取り可能であり、メモリに保存され、プロセッサで実行される。
【００８３】
本実施例は、機能的なブロック構成及び多様な処理段階で示される。かような機能ブロックは、特定機能を実行する多様な個数のハードウェア構成または／及びソフトウェア構成で具現される。例えば、実施例は、１以上のマイクロプロセッサの制御、または他の制御装置によって多様な機能を実行するメモリ、プロセッシング、ロジック（logic）、ルックアップテーブル（look-up  table）のような直接回路構成を採用することができる。構成要素がソフトウェア・プログラミングまたはソフトウェア要素で実行されることと類似して、本実施例は、データ構造、プロセス、ルーチンまたは他のプログラミング構成の組み合わせによって具現される多様なアルゴリズムを含み、Ｃ、Ｃ＋＋、ジャバ（Java（登録商標））、アセンブラ（assembler）のようなプログラミング言語またはスクリプティング言語によって具現される。機能的な側面は、１以上のプロセッサで実行されるアルゴリズムによって具現される。また、本実施例は、電子的な環境設定、信号処理、及び／またはデータ処理などのために従来技術を採用することができる。「メカニズム」、「要素」、「手段」、「構成」のような用語は、広く使用され、機械的であって物理的な構成として限定されるものではない。前記用語は、プロセッサなどと連繋し、ソフトウェアの一連の処理（routines）の意味を含んでもよい。
【００８４】
また、本明細書で開示される構成要素、プロセッサ段階、データ構造は、多様な運営体制、プログラミング言語、コンピュータプラットホーム、コンピュータプログラム、コンピュータマシンによって遂行される。さらに、当該技術分野に広く使用される技術として、ハードウェア機器、フィールドプログラマブルゲートアレイ（ＦＰＧＡｓ）、アプリケーション特定内臓回路（ＡＳＩＣｓ）などは、前述の発明の概念の範囲を外れない範囲で利用される。
【００８５】
本実施形態で説明する特定の実施例は例示であり、いかなる方法でも、技術的範囲を限定するものではない。明細書の簡潔さのために、従来電子的な構成、制御システム、ソフトウェア、前記システムの他の機能的な側面の記載は省略される。また、図面に図示された構成要素間の線の連結または連結部材は、機能的な連結、及び／または物理的または回路的な連結を例示的に示したものであり、実際の装置では、代替可能であったり追加されたりする多様な機能的な連結、物理的な連結、または回路的な連結として示される。
【００８６】
本明細書（特に、特許請求範囲）において、「前記」の用語、及びそれと類似した指示用語の使用は、単数及び複数のいずれもに該当する。また、範囲（range）を記載した場合、前記範囲に属する個別的な値を含むものであり、（それに反する記載がなければ）、詳細な説明に前記範囲を構成する各個別的な値を記載した通りである。最後に、方法を構成する段階について、明白に順序を記載したり、あるいはそれと反する記載がなければ、前記段階は、適切な順序で行われる。必ずしも前記段階の記載順序に限定されるものではない。全ての例または例示的な用語（例えば、「など」など）の使用は、単純に技術的思想について詳細に説明するためのものであり、特許請求の範囲によって限定されない以上、前記例または例示的な用語によって範囲が限定されるものではない。また、当業者は、多様な修正、組み合わせ及び変更が付加された特許請求の範囲またはその均等物の範疇内で、設計条件及びファクタによって構成されるということを理解することができるであろう。
【産業上の利用可能性】
【００８７】
本発明の適応的レンダリングを行う方法及びグラフィックスシステムは、例えば、映像処理関連の技術分野に効果的に適用可能である。
【符号の説明】
【００８８】
１００，２００    グラフィックスパイプライン
１０５    バーテックスシェーダ
１１０    プリミティブ・アセンブリ及びレスタ化部
１１５    プリミティブ／ピクセルシェーダ
１２０    フレームバッファ
１２５    テクスチャメモリ
２０５    ＡＤサンプル生成部
２１０    復元及び移送モジュール
２１１    復元モジュール
２１２    移送モジュール
３０５    エッジ探知モジュール
３１０    速度バッファ
３１５    サンプル生成部
３２０    ディザリングモジュール
７００    ４Ｘ４タイル
１７１０，１７２０    円形領域
１７２５    焦点
【図１】
2016012354.tif 000005
【図２】
2016012354.tif 000006
【図３】
2016012354.tif 000007
【図４】
2016012354.tif 000008
【図５】
2016012354.tif 000009
【図６Ａ】
2016012354.tif 000010
【図６Ｂ】
2016012354.tif 000011
【図７Ａ】
2016012354.tif 000012
【図７Ｂ】
2016012354.tif 000013
【図９】
2016012354.tif 000014
【図１０】
2016012354.tif 000015
【図１１】
2016012354.tif 000016
【図１２】
2016012354.tif 000017
【図１３】
2016012354.tif 000018
【図１７】
2016012354.tif 000019
【図８】
2016012354.tif 000020
【図１４】
2016012354.tif 000021
【図１５Ａ】
2016012354.tif 000022
【図１５Ｂ】
2016012354.tif 000023
【図１６】
2016012354.tif 000024