(57)【要約】ハイブリッドアンチエイリアシング動作を実行するためのシステム、装置及び方法が開示される。ハイブリッドアンチエイリアシング解像動作は、マルチサンプリングアンチエイリアシング及び後処理アンチエイリアシングを組み合わせて、計算上より効率的な方法で高品質な画像を生成する。一実施形態では、プロセッサは、メモリに記憶された画像に対してアンチエイリアシング解像動作を実行する要求を検出する。プロセッサは、要求を検出したことに応じて、画像の寸法を拡張して、後処理アンチエイリアシングフィルタを用いて画像をフィルタリングする。プロセッサは、画像をフィルタリングした後に、アンチエイリアシング解像動作の結果となる画像の平均化を実行する。画像の寸法を拡張することは、画像のサブピクセルを通常のピクセルに変換することを含む。プロセッサは、画像をフィルタリングする前に、画像を回転して、サブピクセルを、垂直及び水平グリッドパターン内に整列することができる。また、回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成することであって、回転量は回転グリッドに対して指定されることと、複数の実行ユニットによってレンダリングされる画像の各ピクセル内の複数のサブピクセルサンプリング座標によって示されるサブピクセル位置をサンプリングすることと、サブピクセル位置の値をメモリに記憶するように構成されたプロセッサの実施形態も考えられる。【選択図】図１３
2019505939.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
プロセッサと、を備え、
前記プロセッサは、
前記メモリに記憶された第１画像に対してアンチエイリアシング解像動作を実行する要求を検出することであって、前記第１画像は、ピクセル当たり複数のサブピクセルサンプルを含み、第１セットの寸法を有する、ことと、
前記要求を検出したことに応じて、
前記第１画像の寸法を拡張して、ピクセル当たり単一のサンプルを含む第２画像であって、前記第１セットの寸法よりも大きい第２セットの寸法を有する第２画像を生成することと、
前記第２画像に対して後処理アンチエイリアシングを実行して、前記第２セットの寸法を有する第３画像を生成することと、
前記第３画像の寸法を縮小して第４画像を生成することであって、前記第４画像は前記アンチエイリアシング解像動作の結果である、ことと、
を行うように構成されている、
システム。
【請求項２】
後処理アンチエイリアシングを実行することは、周囲のピクセルの値に基づいてピクセルをフィルタリングすることを含み、前記アンチエイリアシング処理は、平均化の前に実行される、請求項１のシステム。
【請求項３】
前記第１画像の寸法を拡張することは、前記第１画像のサブピクセルを、前記第２画像の通常のピクセルに変換することを含む、請求項１のシステム。
【請求項４】
前記第２画像は、前記第１画像を拡張して回転させることによって生成される、請求項３のシステム。
【請求項５】
前記プロセッサは、前記第１画像を回転して、前記サブピクセルを、前記第２画像内の垂直及び水平グリッドパターン内に整列するように構成されている、請求項４のシステム。
【請求項６】
前記プロセッサは、
複数の三角形部分を、前記第１画像から前記第２画像内の新たな位置に再配置することと、
前記第１画像の残りの部分を、再配置された前記複数の三角形部分の間の前記第２画像内の新たな位置に再配置することと、
を行うように構成されている、
請求項５のシステム。
【請求項７】
前記プロセッサは、
第１三角形部分を、前記第１画像の左側から前記第２画像の右側に移動することと、
第２三角形部分を、前記第１画像の右側から前記第２画像の左側に移動することと、
前記第１画像の第３部分を、前記第２画像内の前記第１三角形部分と前記第２三角形部分との間に適合するように移動することと、
を行うように構成されている、
請求項６のシステム。
【請求項８】
コンピューティングデバイスにおける使用のための方法であって、
ピクセル当たり複数のサブピクセルサンプルを含む第１画像であって、第１セットの寸法を有する第１画像に対してアンチエイリアシング解像動作を実行する要求を検出することと、
前記要求を検出したことに応じて、
前記第１画像の寸法を拡張して、ピクセル当たり単一のサンプルを含む第２画像であって、前記第１セットの寸法よりも大きい第２セットの寸法を有する第２画像を生成することと、
前記第２画像に対して後処理アンチエイリアシングを実行して、前記第２セットの寸法を有する第３画像を生成することと、
前記第３画像の寸法を縮小して第４画像を生成することであって、前記第４画像は前記アンチエイリアシング解像動作の結果である、ことと、を含む、
方法。
【請求項９】
後処理アンチエイリアシングを実行することは、周囲のピクセルの値に基づいてピクセルをフィルタリングすることを含み、前記アンチエイリアシング処理は、平均化の前に実行される、請求項８の方法。
【請求項１０】
前記第１画像の寸法を拡張することは、前記第１画像のサブピクセルを、前記第２画像の通常のピクセルに変換することを含む、請求項８の方法。
【請求項１１】
前記第２画像は、前記第１画像を拡張して回転させることによって生成される、請求項１０の方法。
【請求項１２】
前記第１画像を回転して、前記サブピクセルを、前記第２画像内の垂直及び水平グリッドパターン内に整列することを含む、請求項１１の方法。
【請求項１３】
複数の三角形部分を、前記第１画像から前記第２画像内の新たな位置に再配置することと、
前記第１画像の残りの部分を、再配置された前記複数の三角形部分の間の前記第２画像内の新たな位置に再配置することと、を含む、
請求項１２の方法。
【請求項１４】
第１三角形部分を、前記第１画像の左側から前記第２画像の右側に移動することと、
第２三角形部分を、前記第１画像の右側から前記第２画像の左側に移動することと、
前記第１画像の第３部分を、前記第２画像内の前記第１三角形部分と前記第２三角形部分との間に適合するように移動することと、を含む、
請求項１３の方法。
【請求項１５】
メモリと、
複数の実行ユニットと、を備え、
前記複数の実行ユニットは、
前記メモリに記憶された第１画像に対してアンチエイリアシング解像動作を実行する要求を検出することであって、前記第１画像は、ピクセル当たり複数のサブピクセルサンプルを含み、第１セットの寸法を有する、ことと、
前記要求を検出したことに応じて、
前記第１画像の寸法を拡張して、ピクセル当たり単一のサンプルを含む第２画像であって、前記第１セットの寸法よりも大きい第２セットの寸法を有する第２画像を生成することと、
前記第２画像に対して後処理アンチエイリアシングを実行して、前記第２セットの寸法を有する第３画像を生成することと、
前記第３画像の寸法を縮小して第４画像を生成することであって、前記第４画像は前記アンチエイリアシング解像動作の結果である、ことと、
を行うように構成されている、
プロセッサ。
【請求項１６】
後処理アンチエイリアシングを実行することは、周囲のピクセルの値に基づいてピクセルをフィルタリングすることを含み、前記アンチエイリアシング処理は、平均化の前に実行される、請求項１５のプロセッサ。
【請求項１７】
前記第１画像の寸法を拡張することは、前記第１画像のサブピクセルを、前記第２画像の通常のピクセルに変換することを含む、請求項１５のプロセッサ。
【請求項１８】
前記第２画像は、前記第１画像を拡張して回転させることによって生成される、請求項１７のプロセッサ。
【請求項１９】
前記プロセッサは、前記第１画像を回転して、前記サブピクセルを、前記第２画像内の垂直及び水平グリッドパターン内に整列するように構成されている、請求項１８のプロセッサ。
【請求項２０】
前記プロセッサは、
複数の三角形部分を、前記第１画像から前記第２画像内の新たな位置に再配置することと、
前記第１画像の残りの部分を、再配置された前記複数の三角形部分の間の前記第２画像内の新たな位置に再配置することと、
を行うように構成されている、
請求項１９のプロセッサ。
【請求項２１】
メモリと、
複数の実行ユニットと、を備えるプロセッサであって、
前記プロセッサは、
回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成することであって、回転量は前記回転グリッドに対して指定される、ことと、
前記複数の実行ユニットによってレンダリングされる前記画像の各ピクセル内の前記複数のサブピクセルサンプリング座標によって示されるサブピクセル位置をサンプリングすることと、
前記サブピクセル位置の値をメモリに記憶することと、
を行うように構成されている、
プロセッサ。
【請求項２２】
前記回転グリッドに基づいて、前記複数のサブピクセルサンプリング座標を生成することは、
前記画像の所定の位置を斜めに通過する第１セットの平行線に対応する位置を計算することと、
前記第１セットの平行線に垂直な第２セットの平行線に対応する位置を計算することであって、前記第１セット及び第２セットの平行線が前記回転グリッドを形成する、ことと、
前記回転グリッドをシフトして、前記第１セット及び第２セットの平行線の頂点に対応する各ピクセルの中心に存在する重心を持たせることと、
前記画像のピクセル内の前記第１セット及び第２セットの平行線の頂点の位置と一致するように、前記複数のサブピクセルサンプリング座標を指定することと、を含む、
請求項２１のプロセッサ。
【請求項２３】
前記所定の位置は、前記ピクセルの角部又は前記ピクセルの中心の何れかである、請求項２２のプロセッサ。
【請求項２４】
前記サブピクセルサンプリング座標は、水平方向及び垂直方向の両方に規則的な間隔で配置されている、請求項２１のプロセッサ。
【請求項２５】
前記画像を横断する所定の水平線又は垂直線上にピクセル当たり１つのサブピクセルサンプリング位置のみが存在している、請求項２１のプロセッサ。
【請求項２６】
前記第１セットの平行線の各線の傾きは、２つの互いに素な数の比に等しい、請求項２１のプロセッサ。
【請求項２７】
コンピューティングデバイスにおける使用のための方法であって、
回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成することであって、回転量は前記回転グリッドについて指定される、ことと、
レンダリングされる前記画像の各ピクセル内の前記複数のサブピクセルサンプリング座標によって示されるサブピクセル位置をサンプリングすることと、
前記サブピクセル位置の値をメモリに記憶することと、を含む、
方法。
【請求項２８】
前記回転グリッドに基づいて、前記複数のサブピクセルサンプリング座標を生成することは、
前記画像の所定の位置を斜めに通過する第１セットの平行線に対応する位置を計算することと、
前記第１セットの平行線に垂直な第２セットの平行線に対応する位置を計算することであって、前記第１セット及び第２セットの平行線が前記回転グリッドを形成する、ことと、
前記回転グリッドをシフトして、前記第１セット及び第２セットの平行線の頂点に対応する各ピクセルの中心に存在する重心を持たせることと、
前記画像のピクセル内の前記第１セット及び第２セットの平行線の頂点の位置と一致するように、前記複数のサブピクセルサンプリング座標を指定することと、を含む、
請求項２７の方法。
【請求項２９】
前記所定の位置は、前記ピクセルの角部又は前記ピクセルの中心の何れかである、請求項２８の方法。
【請求項３０】
前記サブピクセルサンプリング座標は、水平方向及び垂直方向の両方に規則的な間隔で配置されている、請求項２７の方法。
【請求項３１】
前記画像を横断する所定の水平線又は垂直線上にピクセル当たり１つのサブピクセルサンプリング位置のみが存在している、請求項２７の方法。
【請求項３２】
前記第１セットの平行線の各線の傾きは、２つの互いに素な数の比に等しい、請求項２７の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
（関連出願の相互参照）
本願は、２０１６年１月１８日に出願された、発明者がEvgene Fainstainである「Advanced Multisampling Techniques For Realtime 3D Graphics」と題する米国仮特許出願第６２／２７９，８８９号の優先権の利益を主張するものであり、本明細書に十分且つ完全に記載されているかのように、その全体が参照により本明細書に援用される。
【０００２】
３次元（３Ｄ）レンダリングは、計算集約型プロセスであり、現実的（すなわち、映画的）な高品質のリアルタイムレンダリングを生成するために、相当量の計算能力を必要とする。３Ｄハードウェア製造業者は、レンダリングタスクを実行するために、処理能力がより高いデバイス（例えば、グラフィックス処理ユニット（ＧＰＵ））を継続的に製造する。ＧＰＵは、グラフィックス処理タスクを実行するように構成された複雑な集積回路である。例えば、ＧＰＵは、ビデオゲームアプリケーション等のエンドユーザアプリケーションに必要なグラフィックス処理タスクを実行することができる。ＧＰＵは、ディスクリートデバイスであってもよく、中央処理装置（ＣＰＵ）等の別のプロセッサと同じデバイス内に含まれてもよい。
【０００３】
残念なことに、現代のリアルタイム３Ｄレンダリングハードウェアは、物理世界をリアルタイムに適切にシミュレーションするほど処理能力が高くない。例えば、レイトレーシング等のアルゴリズムは計算コストが高すぎて、リアルタイムで実装することが困難である。したがって、画像が全体的に物理的に正確ではないが実際に十分に見える画像を生成するために、様々な効率改善技術が用いられる。３Ｄ生成画像の共通の問題は、固有の「ジッパー」効果（すなわち、「ジャギー」又は「エイリアシング」）である。これまで、レンダリングされた画像に対するこれらのエイリアシング効果を最小にするために開発された技術は、効果が無く、及び／又は、計算コストが高すぎる。
【発明の概要】
【課題を解決するための手段】
【０００４】
アンチエイリアシングに関連する動作を実行するシステム及び方法の様々な実施形態が考えられる。一実施形態では、少なくとも１つのメモリとプロセッサとを備えるシステムが考えられる。プロセッサは、メモリに記憶された第１画像に対してアンチエイリアシング解像動作（resolve operation）を実行する要求を検出するように構成されている。第１画像は、ピクセル当たり複数のサブピクセルサンプルを含み、第１寸法セットを有する。プロセッサは、要求を検出したことに応じて、第１画像の寸法を拡張して、ピクセル当たり単一のサンプルを含む第２画像であって、第１寸法セットより大きい第２寸法セットを有する第２画像を生成し、第２画像に対して後処理アンチエイリアシングを実行して、第２寸法セットを有する第３画像を生成し、第３画像の寸法を縮小して第４画像を生成するように構成されている。ここで、第４画像は、アンチエイリアシング解像動作の結果である。様々な実施形態では、後処理アンチエイリアシングを実行することは、平均化の前に実行され、周囲のピクセルの値に基づいてピクセルをフィルタリングすることを含む。様々な実施形態において、第１画像の寸法を拡張することは、第１画像のサブピクセルを第２画像の通常の（regular）ピクセルに変換することを含む。さらに、いくつかの実施形態では、第２画像は、第１画像を拡張して回転させることによって生成される。いくつかの実施形態では、プロセッサは、第１画像を回転させて、サブピクセルを第２画像内の垂直及び水平グリッドパターンに整列させるように構成されている。さらなる実施形態では、複数の三角形部分を第１画像から第２画像内の新たな位置に再配置し、第１画像の残りの部分を、再配置された複数の三角形部分の間の第２画像内の新たな位置に再配置するプロセッサを含む。また、上記の機能を実行する方法も考えられる。
【０００５】
また、メモリと複数の実行ユニットとを備えるプロセッサが考えられる。かかる実施形態では、プロセッサは、回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成することであって、回転量は回転グリッドに対して指定される、ことと、複数の実行ユニットによってレンダリングされる画像の各ピクセル内の複数のサブピクセルサンプリング座標によって示されるサブピクセル位置をサンプリングすることと、サブピクセル位置の値をメモリに記憶することと、を行うように構成されている。いくつかの実施形態では、複数のサブピクセルサンプリング座標を生成する場合に、プロセッサは、画像の所定の位置を斜めに通過する第１セットの平行線に対応する位置を計算することと、第１セットの平行線に垂直な第２セットの平行線に対応する位置を計算することと、を行うように構成されている。ここで、第１セット及び第２セットの平行線は、回転グリッドを形成する。また、様々な実施形態では、プロセッサは、回転グリッドをシフトして、第１セット及び第２セットの平行線の頂点が、対応する各ピクセルの中心にある重心を有するようにすることと、複数のサブピクセルサンプリング座標を、画像のピクセル内の第１セット及び第２セットの平行線の頂点の位置と一致するように指定することと、を行うように構成されている。様々な実施形態では、所定の位置は、ピクセルの角部又はピクセルの中心の何れかである。さらに、様々な実施形態では、上記の１つ以上を実行することによって、以下の条件、すなわち、サブピクセルサンプリング座標が水平方向及び垂直方向に間隔をおいて規則的に配置されること、ピクセル当たり１つのサブピクセルサンプリング位置のみが、画像を横断する所定の水平線又は垂直線上に存在することと、第１セットの平行線の各線の傾きが、２つの互いに素な数の比に等しいことと、のうち１つ以上を満たすことが保証される実施形態が考えられる。また、上記の機能を実行する方法も考えられる。
【０００６】
本明細書に記載された方法及びメカニズムの利点は、添付の図面と併せて以下の説明を参照することによって、より良く理解されるであろう。
【図面の簡単な説明】
【０００７】
【図１】コンピューティングシステムの一実施形態のブロック図である。
【図２】グラフィックス処理パイプラインの一実施形態のブロック図である。
【図３】一実施形態によるサブピクセルサンプリングパターンを示す図である。
【図４】一実施形態による５×ＭＳＡＡサンプリングパターンを示す図である。
【図５】一実施形態による１０×ＭＳＡＡサブピクセルサンプリングパターンを示す図である。
【図６】一実施形態による１３×ＭＳＡＡサブピクセルサンプリングパターンを示す図である。
【図７】一実施形態による１７×ＭＳＡＡサブピクセルサンプリングパターンを示す図である。
【図８】一実施形態による、元のピクセル当たり８つのサブピクセルサンプリングポイントを有するサンプリングパターンを示す図である。
【図９】様々な実施形態によるピクセル共有パターンを示す図である。
【図１０】ハイブリッドアンチエイリアシングスキームの一実施形態を示す図である。
【図１１】ハイブリッドアンチエイリアシングスキームの別の実施形態を示す図である。
【図１２】拡張された画像のサイズを縮小する技術を示す図である。
【図１３】ハイブリッドアンチエイリアシング解像動作を実行する方法の一実施形態を示す一般化されたフロー図である。
【図１４】画像を拡張して回転させる場合に画像部分を再配置する方法の一実施形態を示す一般化されたフロー図である。
【図１５】画像を拡張して回転させる場合に画像部分を再配置する方法の別の実施形態を示す一般化されたフロー図である。
【図１６】画像のサブピクセル位置をサンプリングする方法の一実施形態を示す一般化されたフロー図である。
【図１７】レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成する方法の一実施形態を示す一般化されたフロー図である。
【図１８】サブピクセルサンプリング座標を生成する方法の一実施形態を示す一般化されたフロー図である。
【図１９】アンチエイリアシング動作を実行する方法の一実施形態を示す一般化されたフロー図である。
【図２０】サンプリンググリッドを生成する方法の一実施形態を示す一般化されたフロー図である。
【発明を実施するための形態】
【０００８】
以下の説明では、本明細書で示される方法及びメカニズムの完全な理解を提供するために、多くの特定の詳細が示されている。しかしながら、当業者であれば、これらの具体的な詳細無しに様々な実施形態を実施可能であることを認識するであろう。いくつかの実施例では、周知の構造、コンポーネント、信号、コンピュータプログラム命令及び技術は、本明細書に記載のアプローチを不明瞭にすることを避けるために、詳細に示されていない。説明を簡単且つ明瞭にするために、図面に示される要素が必ずしも原寸大で描写されていないことを理解されたい。例えば、いくつかの要素の寸法は、他の要素と比較して誇張されていてもよい。
【０００９】
ハイブリッドアンチエイリアシング動作をプロセッサ上で実行するための様々なシステム、装置、方法及びコンピュータ可読媒体が開示される。一実施形態では、プロセッサは、少なくとも１つのメモリと、複数の実行ユニットと、を含む。一実施形態では、プロセッサはＧＰＵである。他の実施形態では、プロセッサは、様々な他のタイプのプロセッサ（例えば、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）、マルチコアプロセッサ等）の何れかである。プロセッサは、メモリに記憶された第１画像に対してアンチエイリアシング解像動作を実行する要求を検出する。プロセッサは、この要求を検出したことに応じて、第１画像の寸法を拡張して第２画像を生成し、第２画像を後処理アンチエイリアシングフィルタでフィルタリングして第３画像を生成し、第３画像の平均化を実行して第４画像を生成する。ここで、第４画像は、アンチエイリアシング動作の結果である。第１画像の寸法を拡張することは、第１画像のサブピクセルを、第２画像の通常のピクセルに変換することを含む。また、プロセッサは、第１画像を回転させて、サブピクセルを、第２画像内の垂直及び水平グリッドパターンに整列させることができる。
【００１０】
一実施形態では、プロセッサは、第２画像の未使用領域を記憶及び／又は処理するメモリオーバヘッドを低減するように、複数の三角形部分を第１画像から第２画像内の新たな位置に再配置する。ここで、未使用領域は、第１画像を回転させた結果として生成される。また、プロセッサは、第１画像の残りの部分を、再配置された複数の三角形部分の間の第２画像内の新たな位置に再配置する。一実施形態では、プロセッサは、第１画像の第１三角形部分を第２画像の右側に移動させる。また、プロセッサは、第１画像の第２三角形部分を第２画像の左側に移動させる。さらに、プロセッサは、第１画像の第３部分を、第２画像内の第１三角形部分と第２三角形部分との間に移動させる。
【００１１】
図１を参照すると、コンピューティングシステム１００の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム１００は、メモリ１５０に接続されたシステムオンチップ（ＳｏＣ）１０５を含む。ＳｏＣ１０５は、集積回路（ＩＣ）と呼ぶこともできる。一実施形態では、ＳｏＣ１０５は、処理ユニット１１５Ａ〜Ｎと、入出力（Ｉ／Ｏ）インタフェース１１０と、共有キャッシュ１２０Ａ〜Ｂと、ファブリック１２５と、グラフィックス処理ユニット（ＧＰＵ）１３０と、メモリコントローラ１４０と、を含む。また、ＳｏＣ１０５は、図を不明瞭にするのを避けるために、図１に示されていない他のコンポーネントを含むこともできる。処理ユニット１１５Ａ〜Ｎは、任意の数及びタイプの処理ユニットを表している。一実施形態では、処理ユニット１１５Ａ〜Ｎは、中央処理装置（ＣＰＵ）コアである。別の実施形態では、１つ以上の処理ユニット１１５Ａ〜Ｎは、他のタイプの処理ユニット（例えば、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、デジタル信号プロセッサ（ＤＳＰ）等）である。処理ユニット１１５Ａ〜Ｎは、共有キャッシュ１２０Ａ〜Ｂと、ファブリック１２５と、に接続されている。
【００１２】
一実施形態では、処理ユニット１１５Ａ〜Ｎは、特定の命令セットアーキテクチャ（ＩＳＡ）の命令を実行するように構成されている。各処理ユニット１１５Ａ〜Ｎは、１つ以上の実行ユニットと、キャッシュメモリと、スケジューラと、分岐予測回路と、等を含む。一実施形態では、処理ユニット１１５Ａ〜Ｎは、オペレーティングシステム等のシステム１００の主制御ソフトウェアを実行するように構成されている。一般に、使用中に処理ユニット１１５Ａ〜Ｎによって実行されるソフトウェアは、システム１００の所望の機能を実現するために、システム１００の他のコンポーネントを制御することができる。また、処理ユニット１１５Ａ〜Ｎは、アプリケーションプログラム等の他のソフトウェアを実行することができる。
【００１３】
ＧＰＵ１３０は、少なくともサブピクセル座標テーブル１３５と、グラフィックス又は汎用処理に使用される任意の数及びタイプのコンピュートユニットを表すコンピュートユニット１４５Ａ〜Ｎと、を含む。サブピクセル座標テーブル１３５は、ＧＰＵ１３０によってレンダリングされる画像のピクセル内のサブピクセルサンプリング位置の座標を記憶するプログラム可能なテーブルである。「サブピクセルサンプリング位置」という用語は、レンダリングされる画像の所定のピクセル内のパラメータ（例えば、色、深度、ステンシル、透明度等）の値をサンプリングするための複数の位置として定義されていることに留意されたい。「サブピクセルサンプリング位置」という用語は、レンダリングされる画像の各ピクセル内に複数のサンプリング位置が存在することを示している。様々な異なるタイプのサブピクセルサンプリングパターンの何れかを、異なる実施形態で利用することができる。サブピクセルサンプリングパターンは、所定の画像を処理する場合にピクセル内の何れの位置がサンプリングされるのかを指定するために、サブピクセル座標テーブル１３５内に生成され、プログラミングされる。
【００１４】
コンピュートユニット１４５Ａ〜Ｎは、「シェーダアレイ」、「シェーダエンジン」、「シェーダユニット」、「単一命令多重データ（ＳＩＭＤ）ユニット」又は「ＳＩＭＤコア」と呼ぶこともできる。各コンピュートユニット１４５Ａ〜Ｎは、複数の実行ユニットを含む。ＧＰＵ１３０は、共有キャッシュ１２０Ａ〜Ｂと、ファブリック１２５と、に接続されている。一実施形態では、ＧＰＵ１３０は、グラフィックスパイプライン操作（例えば、描画コマンド、ピクセル操作、幾何学的計算、及び、画像をディスプレイにレンダリングするための他の操作等）を実行するように構成されている。別の実施形態では、ＧＰＵ１３０は、グラフィックスに無関係な操作を実行するように構成されている。さらなる実施形態では、ＧＰＵ１３０は、グラフィックス操作及び非グラフィックス関連操作の両方を実行するように構成されている。
【００１５】
一実施形態では、ＧＰＵ１３０は、第１画像に対してアンチエイリアシング解像動作を実行する要求を検出するように構成されている。一実施形態では、「解像動作」という用語は、サブピクセルがサンプリングされた表面を、ピクセル当たり１つのサンプルを有する表面に変換すること、として定義されている。ＧＰＵ１３０は、この要求を検出したことに応じて、第１画像の寸法を拡張して第２画像を生成し、第２画像を後処理アンチエイリアシングフィルタでフィルタリングして第３画像を生成し、第３画像の平均化を実行して第４画像を生成する。ここで、第４画像は、アンチエイリアシング動作の結果である。第１画像の寸法を拡張することは、第１画像のサブピクセルを、第２画像の通常のピクセルに変換することを含む。また、ＧＰＵ１３０は、第１画像を回転させて、サブピクセルを、第２画像内の垂直及び水平グリッドパターンに整列させることもできる。
【００１６】
Ｉ／Ｏインタフェース１１０は、ファブリック１２５に接続されており、任意の数及びタイプのインタフェース（例えば、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス、ＰＣＩ拡張（ＰＣＩ‐Ｘ）、ＰＣＩＥ（ＰＣＩエクスプレス）バス、ギガビットイーサネット（登録商標）（ＧＢＥ）バス、ユニバーサルシリアルバス（ＵＳＢ）等）を表している。様々なタイプの周辺機器を、Ｉ／Ｏインタフェース１１０に接続することができる。かかる周辺機器には、ディスプレイ、キーボード、マウス、プリンタ、スキャナ、ジョイスティック若しくは他のタイプのゲームコントローラ、メディア記録デバイス、外部ストレージデバイス、ネットワークインタフェースカード等が含まれるが、これらに限定されない。
【００１７】
ＳｏＣ１０５は、１つ以上のメモリモジュールを含むメモリ１５０に接続されている。各メモリモジュールは、メモリモジュールに搭載された１つ以上のメモリデバイスを含む。いくつかの実施形態では、メモリ１５０は、マザーボードに搭載された１つ以上のメモリデバイス、又は、ＳｏＣ１０５が搭載された他のキャリアに搭載された１つ以上のメモリデバイスを含む。一実施形態では、メモリ１５０は、動作中にＳｏＣ１０５と共に用いられるランダムアクセスメモリ（ＲＡＭ）を実装するために使用される。実装されるＲＡＭは、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、抵抗変化メモリ（ＲｅＲＡＭ）、相変化ＲＡＭ（ＰＣＲＡＭ）、又は、任意の他の揮発性若しくは不揮発性ＲＡＭであってもよい。メモリ１５０を実装するために使用されるＤＲＡＭのタイプは、ダブルデータレート（ＤＤＲ）ＤＲＡＭ、ＤＤＲ２  ＤＲＡＭ、ＤＤＲ３  ＤＲＡＭ等を含むが、これらに限定されない。図１には明示されていないが、ＳｏＣ１０５は、処理ユニット１１５Ａ〜Ｎ及び／又はコンピュートユニット１４５Ａ〜Ｎの内部にある１つ以上のキャッシュメモリを含むこともできる。いくつかの実施形態では、ＳｏＣ１０５は、処理ユニット１１５Ａ〜Ｎ及びコンピュートユニット１４５Ａ〜Ｎによって利用される共有キャッシュ１２０Ａ〜Ｂを含む。一実施形態では、キャッシュ１２０Ａ〜Ｂは、キャッシュコントローラを含むキャッシュサブシステムの一部である。
【００１８】
ここで、様々な構造の次に表示された「Ｎ」という文字は、その構造（例えば、任意の数の処理ユニット１１５Ａ〜Ｎ）の要素を含む任意の数の要素を包括的に示すのを意味することに留意されたい。また、「Ｎ」という文字（例えば、処理ユニット１１５Ａ〜Ｎ及びコンピュートユニット１４５Ａ〜Ｎ）を使用する図１内の異なる符号は、異なる要素が等しい数で提供されるのを示すことを意図していない（例えば、処理ユニット１１５Ａ〜Ｎの数は、コンピュートユニット１４５Ａ〜Ｎの数と異なっていてもよい）。
【００１９】
様々な実施形態では、コンピューティングシステム１００は、コンピュータ、ラップトップ、モバイルデバイス、サーバ、又は、様々な他のタイプのコンピューティングシステム若しくはデバイスであってもよい。コンピューティングシステム１００及び／又はＳｏＣ１０５のコンポーネントの数は、実施形態毎に異なり得ることに留意されたい。図１に示された数より多い又は少ない各コンポーネント／サブコンポーネントが存在し得る。例えば、別の実施形態では、ＳｏＣ１０５は、複数のメモリに接続された複数のメモリコントローラを含むことができる。コンピューティングシステム１００及び／又はＳｏＣ１０５は、図１に示されていない他のコンポーネントを含むことができることにも留意されたい。さらに、他の実施形態では、コンピューティングシステム１００及びＳｏＣ１０５を、図１に示されている以外の方法で構成することができる。
【００２０】
図２を参照すると、グラフィックス処理パイプライン２００の一実施形態のブロック図が示されている。一実施形態では、グラフィックス処理パイプライン２００は、ＧＰＵ１３０（図１）によって実装されている。他の実施形態では、グラフィックス処理パイプライン２００を、他のタイプの処理ハードウェア（例えば、ＦＰＧＡ、ＡＳＩＣ、ＤＳＰ、マルチコアプロセッサ等）を使用して実装することができる。一般に、グラフィック処理パイプライン２００は、ソフトウェア及び／又はハードウェアの任意の適切な組み合わせを使用して実装され得る。パイプラインアーキテクチャは、動作を複数のステージに分割し、各ステージの出力が後続のパイプラインステージの入力として供給されることによって、長いレイテンシの動作をより効率的に実行することができる。パイプライン２００内のシェーダユニット２０５Ａ〜Ｎは、頂点シェーダ、ジオメトリシェーダ、フラグメントシェーダ、ピクセルシェーダ、及び／又は、キャッシュ／メモリ２１０に接続された１つ以上の他のシェーダを含むことができる。キャッシュ／メモリ２１０は、任意のタイプ及び数のキャッシュ又はメモリデバイスを表している。パイプライン２００に示されているシェーダユニット２０５Ａ〜Ｎのうち１つ以上のシェーダユニットは、以下に詳細に説明するハイブリッドアンチエイリアシング解像動作を実行するように構成されている。このシェーダユニットは、画像、テクスチャ又は他の入力ピクセルデータを受信し、画像に対してハイブリッドアンチエイリアシング解像動作を実行し、アンチエイリアシングされた画像を出力として生成する。実施形態に応じて、アンチエイリアシングされた画像は、ディスプレイに送られてもよいし、メモリに書き戻されてもよいし、１つ以上の追加のシェーダユニットによって処理されてもよい。
【００２１】
図３を参照すると、サブピクセルサンプリングパターンの一実施形態の図が示されている。ダイアグラム３０５は、図３の最上部に示されており、ピクセルの境界を示す水平線及び垂直線を含む４×４ピクセルの正方形のグリッドを有している。グリッド内の各正方形は、ソース画像のピクセルを表している。一実施形態では、サブピクセルサンプリングパターンは、ピクセルの角部を通過して２×１の傾きを有する第１セットの線を描画することによって生成される。２×１の傾きを有する第１セットの線は、幅が２ピクセルで高さが１ピクセルの矩形の対角線に平行であることに留意されたい。本明細書で使用される場合、「２×１の傾き」という用語は、従来の数学的定義による−１／２の傾きに対応する。概して、第１セットの線がＮ×Ｍの傾きを有すると記載された場合には、これらの線の傾きの従来的な定義は、−Ｍ／Ｎとなる。次に、第２セットの線が第１セットの線に対して垂直に描画され、第１セット及び第２セットの線は、４×４ピクセルの正方形のグリッドの上方に回転グリッドを形成する。サブピクセルサンプリング位置は、回転グリッドの第１セット及び第２セットの線の頂点（すなわち、交点）と一致するように選択される。ここでは、サンプリングパターンを生成するために線を「描画」することについて説明しているが、サブピクセルサンプリングパターンを生成するために、回転グリッドの第１セット及び第２セットの平行線を実際に描画する必要がないことに留意されたい。むしろ、サブピクセルサンプリングパターンを生成するために、これらの線を数学的に決定する（例えば、これらの線の方程式を計算する）ことができる。
【００２２】
次に、一実施形態では、ダイアグラム３１０に示すように、元のピクセル毎のサブピクセルサンプリング位置の重心が元のピクセルの中心となるように、回転グリッドをシフトする。例えば、一実施形態では、（Ｘ１＋Ｘ２＋…ＸＮ）／Ｎ（Ｎは、サブピクセルのサンプル数）の値がｘ座標についての元のピクセルの中心に等しくなるように、及び、サブピクセルのＹ座標についても同様の式を使用して、グリッドをシフトさせる。元のピクセル毎のサブピクセルサンプリング位置の重心が元のピクセルの中心となるように回転グリッドをシフトするステップは、他の実施形態では省略可能であることに留意されたい。サブピクセルサンプリング位置は、第１セット及び第２セットの線の交点における円によってダイアグラム３１０内に示されている。別の実施形態では、サブピクセルサンプリングパターンは、元のピクセルの中心を通る回転した通常のサンプリンググリッドを描画し、次に任意にシフトすることによって生成される。グリッドがピクセルの中心を通って描画される場合、１つのサブピクセルサンプルがピクセルの中心に存在し、サブピクセルサンプルの重心がピクセルの中心に存在し、サブピクセルサンプリングパターンは、ピクセルの中心の周りで対称である。例えば、ピクセルの中心が座標（０，０）を有する場合、座標（ａ，ｂ）のサブピクセルサンプルについては、座標（−ａ，−ｂ）に別のサブピクセルサンプルが存在する。単一のピクセルについてのサブピクセルサンプリング位置を、ダイアグラム３１５に示す。
【００２３】
一実施形態では、ダイアグラム３１０に示すサブピクセルサンプリングパターンを使用して、下方に存在する画像のサブピクセルサンプリング座標を生成する。次に、これらの座標を使用して、プロセッサ（例えば、ＧＰＵ）によってレンダリングされる画像内の何れのサブピクセル位置をサンプリングするかを決定する。一実施形態では、座標は、デカルト座標系に従って生成され、各サンプリング点は、一対の数値座標によって特定される。一実施形態では、数値座標は、浮動小数点（例えば、単精度浮動小数点、倍精度浮動小数点）値として記憶される。他の実施形態では、数値座標は、他のタイプの表現（例えば、固定小数点、整数）を使用して記憶される。
【００２４】
単一のピクセル内の複数の別個の位置をサンプリングする技術は、「サブピクセルサンプリング」又は「マルチサンプリングアンチエイリアシング」（ＭＳＡＡ）と呼ぶことができる。場合によっては、単一のピクセル内の複数の別個の位置をサンプリングすることを「サブサンプリング」と呼ぶことができる。この文脈における「サブサンプリング」は、信号処理技術を説明するために「サブサンプリング」という用語が使用される場合とは異なる意味を有することを理解されたい。信号処理の分野では、「サブサンプリング」という用語は、信号のサンプリングレートを低減することとして定義されている。本開示における「サブピクセルサンプリング」という用語は、混乱を避けるために、単一のピクセル内の複数の別個の位置をサンプリングすることを説明するために使用される。
【００２５】
例えば、ダイアグラム３１５に示すパターンは、５×ＭＳＡＡサンプリングパターンと呼ぶことができる。このパターンは、元のピクセルの正方形のグリッドを通って描画された第１セットの線の各線が垂直ピクセル毎に２つの水平ピクセルを横断するように、２×１の傾きを有する第１セットの線を描画することによって構成されている。次に、線の交点がサブピクセルサンプリング位置を決定するように、第２セットの線が第１セットの線に対して垂直に描画され、結果として、ピクセル当たり２＾２＋１＾２＝５のサブピクセルサンプルが得られる。このサンプリングパターンは、シフトされ、９０度回転され、ミラーリングされてもよい。このサンプリングパターン及び任意の調整は、時間的な（temporal）アンチエイリアシングにおける様々な用途に利用することができる。
【００２６】
図４を参照すると、５×ＭＳＡＡサンプリングパターンのダイアグラム４００が示されている。図４の説明は、図３の説明の続きである。図４のダイアグラム４００に示すドットは、画像の様々なパラメータ（例えば、色、深度、ステンシル、透明度等）のうち何れかの値を計算する位置を決定するためのサブピクセルサンプリング位置を表している。ダイアグラム４００に示すように、これらのサブピクセルサンプリング位置と交差するように描画された垂直線及び水平線は、サンプルが水平方向及び垂直方向の両方に規則的な間隔で配置されているため、５×ＭＳＡＡサンプリングパターンが通常の矩形グリッド条件を満たすことを示している。また、５×ＭＳＡＡサンプリングパターンは、画像を横断する所定の水平線又は垂直線上でピクセル当たり１つのサブピクセル位置のみがサンプリングされるため、水平線／垂直線当たり１つのサンプルの条件を満たす。水平線／垂直線当たり１つのサンプルの条件を満たすことは、画像内のサブピクセルレベルでの垂直線及び水平線の表現の改善を可能にすることによって、パターンのアンチエイリアシング特性を向上させることができる。
【００２７】
５×ＭＳＡＡサンプリングパターンは、標準的な２×２回転グリッドスーパーサンプリング（ＲＧＳＳ）パターンよりも複数の点で優れている。例えば、５×ＭＳＡＡパターンは、水平線及び垂直線について、３つではなく４つの中間色を生成する。また、５×ＭＳＡＡサンプリングパターンは、画像全体に亘って均一なサブピクセルサンプリングを保証する。５×ＭＳＡＡサンプリングパターンは、ピクセル境界を越えてシフトされたものを含めてシフトすることができ、通常のグリッド品質と、水平線／垂直線毎の１サンプルの品質との両方を維持しながらミラーリングすることができる。５×ＭＳＡＡサンプリングパターンは、様々な時間的なアンチエイリアシング技術を実装する場合に有利になり得る。
【００２８】
図５を参照すると、１０×ＭＳＡＡサブピクセルサンプリングパターンの図が示されている。ダイアグラム５０５，５１０，５１５は、図３に示すダイアグラム３０５，３１０，３１５と同様に生成される。ダイアグラム５０５，５１０，５１５に示された１０×ＭＳＡＡサンプリングパターンは、３×１の傾きを有する第１セットの線と、第１セットの線に対して垂直な第２セットの線と、から構成されており、結果として、画像のピクセル毎に３＾２＋１＾２＝１０のサンプルが得られる。
【００２９】
ダイアグラム５０５を生成するために、先ず、画像の元のピクセルの正方形のピクセルグリッドが生成される。グリッドは、ソース画像のピクセルの境界において垂直線及び水平線を含む。次に、第１セットの線が−１／３の傾きでピクセルグリッドの角部を通過するように描画され、各線は垂直ピクセル毎に３つの水平ピクセルを通過する。次いで、第１セットの線に垂直な第２セットの線が、ピクセルグリッドの角部を通過するように描画される。第２セットの線は３の傾きを有し、各線が水平ピクセル毎に３つの垂直ピクセルを通過する。第１セット及び第２セットの線は、回転グリッドと呼ぶことができる。
【００３０】
次に、ダイアグラム５１０に示すように、元のピクセル内の第１セット及び第２セットの線の頂点（すなわち、交点）が元のピクセルの中心において重心を有するように、回転グリッドをシフトさせる。次いで、頂点の座標は、グラフィックスハードウェア（例えば、ＧＰＵ）内にプログラミングされ、画像のサブピクセルサンプリング座標として利用される。ダイアグラム５１５は、単一のピクセルのサブピクセルサンプリング位置を示している。別の実施形態では、第１セット及び第２セットの線は、ピクセルグリッドの角部を通過するのではなく、グリッドのピクセルの中心を通過するように描画される。
【００３１】
図６を参照すると、１３×ＭＳＡＡサブピクセルサンプリングパターンの図が示されている。ダイアグラム６０５，６１０，６１５は、図３に示すダイアグラム３０５，３１０，３１５及び図５に示すダイアグラム５０５，５１０，５１５と同様に生成される。ダイアグラム６０５，６１０に示す１３×ＭＳＡＡサンプリングパターンは、３×２の傾きを有する線に基づいて構成され、画像の各ピクセル内で３＾２＋２＾２＝１３のサンプルが得られる。ダイアグラム６１５は、単一のピクセルの１３個のサブピクセルサンプル位置を示している。
【００３２】
図７を参照すると、１７×ＭＳＡＡサブピクセルサンプリングパターンの図が示されている。ダイアグラム７０５，７１０，７１５は、前の図と同様に生成される。ダイアグラム７０５，７１０に示す１７×ＭＳＡＡサンプリングパターンは、４×１の傾きを有する線に基づいて構成され、画像の各ピクセル内で４＾２＋１＾２＝１７のサンプルが得られる。ダイアグラム７１５は、単一のピクセルの１７個のサブピクセルサンプル位置を示している。
【００３３】
追加のパターンは、図３及び図５〜７に示すパターンと同様に生成することができる。一実施形態では、追加のパターンを生成する場合に、パターンが水平線／垂直線当たり１つのサンプルの条件を満たすように、傾きを生成する数値（例えば、３×１）が互いに素（co-prime）である。換言すれば、傾きを生成する数値間の最大公約数は１でなければならない。例えば、この条件を満たす追加のパターンのオプションは、ピクセル当たり２５個のサブピクセルサンプル（ｓｓｐｐ：sub-pixel samples per pixel）を有する４×３、２６ｓｓｐｐを有する５×１、２９ｓｓｐｐを有する５×２、３４ｓｓｐｐを有する５×３、４１ｓｓｐｐを有する５×４、６５ｓｓｐｐを有する６×１等を含む。
【００３４】
図８を参照すると、元のピクセル当たり８個のサブピクセルサンプリングポイントを有するサンプリングパターンの図が示されている。ダイアグラム８０５，８１０は、互いに素ではない傾きを生成する数値２×２を有するサブピクセルサンプリングパターンを示している。したがって、ダイアグラム８０５，８１０に示す８×ＭＳＡＡサンプリングパターンは、２×２の傾きを有する線に基づいて構成される。得られたパターンは、ダイアグラム８１５に示すように、ピクセル当たり８個のサブピクセルサンプルを含む。この８個のサブピクセルサンプリングパターンの場合、垂直線及び水平線毎にピクセル当たり２個のサンプルが存在する。この結果、ソース画像内に表される水平線及び垂直線をアンチエイリアシングする場合、図３に示す５×ＭＳＡＡパターンによって生成される４つの中間トーンよりも少ない３つの中間トーンのみが生成される。しかしながら、８×ＭＳＡＡパターンは、以下により詳細に説明するように、ハイブリッドアンチエイリアシング解像動作のために効率的に実施することができる。別のバージョンの８×ＭＳＡＡパターンは、非回転矩形グリッド４×２から生成することができ、この別のバージョンもハイブリッドアンチエイリアシング解像動作のために効率的に実施することができる。
【００３５】
図９を参照して、ピクセル共有パターンの図が示されている。図３及び図５〜８に示す前述のパターンは、１つのサブピクセルサンプリング位置がソースピクセルの角部又は中心に位置するようにシフトすることができる。例えば、ダイアグラム９０５は、２×１の傾きに基づく５×サブピクセルサンプリングパターンを示しており、サブピクセルサンプリング位置がシフトされ、これらの位置のうち１つがソースピクセルの右下角部と一致するようになっている。このパターンのシフトは、ピクセルの右下角部のサブピクセル位置が４つの隣接ピクセル間で共有されるのを可能にする。ダイアグラム９１０は、５×サブピクセルサンプリングパターンの代替の構成を示している。ダイアグラム９１０は、１つのサブピクセルがピクセルの中心に位置合わせされるようにシフトされた５×サブピクセルサンプリングパターンを示している。
【００３６】
ダイアグラム９１５は、３×１の傾きを有する１０×サブピクセルサンプリングパターンを示しており、１つのサブピクセルサンプリング位置がピクセルの右下角部に位置するように、サブピクセルサンプリングパターンがシフトされている。ダイアグラム９２０は、３×２の傾きを有する１３×サブピクセルサンプリングパターンを示しており、１つのサブピクセルサンプリング位置がピクセルの右下角部に位置するように、サブピクセルサンプリングパターンがシフトされている。ダイアグラム９２５は、４×１の傾きを有する１７×サブピクセルサンプリングパターンを示しており、１つのサブピクセルサンプリング位置がピクセルの右下角部に位置するように、サブピクセルサンプリングパターンがシフトされている。これらのサンプリングパターンの各々は、１つのサブピクセルサンプリング位置を、４つの隣接ピクセル間で共有されるのを可能にする。したがって、解像動作中に、１つのフラグメントではなく４つのフラグメントがアクセスされる。
【００３７】
いくつかの実施形態では、フラグメント当たり５、１０、１３又は１７個のサンプルを含む表面を生成することは、実際のハードウェア実装の観点から最適ではない可能性がある。しかしながら、異なるタイプの回避策を実装することによって、フラグメント当たり５、１０、１３又は１７個のサンプルのパターンを、既存又は将来のハードウェアに効率的に実装することができる。例えば、８×カバレッジサンプリングアンチエイリアシング（ＣＳＡＡ）パターン、又は、４×高品質アンチエイリアシング（ＥＱＡＡ）パターンの各々は、８つのカバレッジサンプルを含む。一実施形態では、８×ＣＳＡＡパターン又は４×ＥＱＡＡパターンを実装して、図３のダイアグラム３１０，３１５に示す５×サブピクセルサンプリングパターンを生成することができる。８×ＣＳＡＡパターン又は４×ＥＱＡＡパターンの場合、追加の３つのカバレッジサンプルは、５×パターンの最初の５つの位置のうち３つの位置と一致するように配置される。次に、これらの追加のサブピクセルサンプルは、レンダリングパイプラインの初期ステージにおいてデプスカリング（depth-culled）されるので、レンダリング時間を無駄にしない。或いは、ハードウェアは、不要なサブピクセルサンプルを計算しないように構成されている。この同じアプローチは、１０×又は１３×サブピクセルサンプリングパターンをサポートするために、既存の１６×サブピクセルサンプリングモード（例えば、１６×ＣＳＡＡ、１６×ＱＣＳＡＡ（Quincunx CSAA）、１６×ＥＱＡＡ）を使用することによって実施することができる。
【００３８】
別の実施形態では、５×サブピクセルサンプリングパターンを実装する場合に２つの表面がストレージのために利用され、一方の表面が４×サブピクセルサンプリングパターンを実装し、他方の表面が１×サブピクセルサンプリングパターンを実装する。同様に、１０×サブピクセルサンプリングパターンは、８×サブピクセルサンプリングパターンの表面、及び、２×サブピクセルサンプリングパターンの表面を実装することによって利用することができる。また、１３×サブピクセルサンプリングパターンは、１２×サブピクセルサンプリングパターンの表面、及び、１×サブピクセルサンプリングパターンの表面から構成することができ、１３×サブピクセルサンプリングパターンは、８×サブピクセルサンプリングパターンの表面と、４×サブピクセルサンプリングパターンの表面と、１×サブピクセルサンプリングパターンの表面と、から構成することができる。さらに、１７×サブピクセルサンプリングパターンは、１６×サブピクセルサンプリングパターンの表面、及び、１×サブピクセルサンプリングパターンの表面を使用して実装することができる。
【００３９】
さらなる実施形態では、サブピクセルサンプリングパターン内の１つのサンプルを、このパターンから省略することができる。例えば、１７×サブピクセルサンプリングパターンの場合、１６個のサブピクセルサンプル位置のみを計算することができる。サンプリング位置を省略すると、通常のグリッドパターンに穴ができるが、この穴を解像動作中にプログラムによって補間することができる。一実施形態では、ＧＰＵは、サブピクセルサンプリングパターンをプログラム的に変更することができるが、サンプル位置に特定の粒度が存在する場合がある。例えば、一実施形態では、ピクセルの内部に１６×１６の可能な位置のグリッドを利用することができる。したがって、本明細書で説明するパターンのいくつかは、絶対的な処理では実施不可能な可能性があるが、サンプル位置が最も近いグリッドポイントに調整された近似パターンを実施して、適切な結果をもたらすことができる。
【００４０】
図１０を参照すると、ハイブリッドアンチエイリアシングスキームの一実施形態の図が示されている。一般に、アンチエイリアシングアルゴリズムには、マルチサンプリングアンチエイリアシング及び後処理アンチエイリアシングの２つのファミリが存在する。これらの２つの方法は、通常、互いに排他的である。後処理アンチエイリアシングのパスは、マルチサンプリングされた画像から解像された画像に適用することができる。一般に、得られた画像は不鮮明になり、おそらく以前よりも悪化する。しかしながら、ハイブリッドアンチエイリアシングスキームを実装するために本明細書に記載された技術は、従来技術に対する改良である。
【００４１】
一実施形態では、ハイブリッドアンチエイリアシングスキームは、サブピクセルサンプリングパターンが画像内に通常のグリッド（regular grid）を生成するマルチサンプリング画像から開始する。上述したサブピクセルサンプリングパターン（例えば、５×、１０×、１３×、１７×）の何れかを利用することができる。次に、マルチサンプリング画像は、サブピクセルサンプリング解像度の画像に拡張される。次いで、後処理アンチエイリアシングアルゴリズムを使用して、拡張画像をフィルタリングする。最後に、フィルタリングされた拡張画像を平均化し、元の解像度の画像に戻す。このアプローチは、現在のグラフィックス処理ハードウェア（例えば、ＧＰＵ）上で実施することができる。例えば、サブピクセルサンプリング位置をＧＰＵにプログラミングして、新たなサブピクセルサンプリングパターンをサポートすることができる。このアプローチは、回転したグリッドパターン及び回転していないグリッドパターンで動作する。いくつかの実施形態では、このアプローチは、再投影技術と同様に、時間的な（temporal）フィルタ技術と組み合わせることができる。一実施形態では、既存のゲームは、グラフィックスドライバソフトウェアを更新することによって、ハイブリッドアンチエイリアシングスキームを利用することができる。
【００４２】
一実施形態では、ハイブリッドアンチエイリアシングスキームを、図１０のブロック図に示すシナリオのために実装することができる。この実施形態では、幅（Ｗ）×高さ（Ｈ）の寸法を有する画像１００５は、ダイアグラム１０１０に示すように、２×２順序付きグリッド（ＯＧ）に基づくマルチサンプリング（すなわち、サブピクセルサンプリング）を利用する。画像１００５は、サブピクセルを通常のピクセルであるかのように扱うことによって拡張される。得られた画像１０１５は、２Ｗ×２Ｈの寸法を有する。一実施形態では、ハイダイナミックレンジ（ＨＤＲ）テクスチャのトーンマッピングが拡張ステップに統合される。
【００４３】
次に、画像１０１５は、画像１０２０を生成するために、後処理アンチエイリアシングフィルタによって処理される。また、いくつかの実施形態では、シャープネス等の追加の後処理が、拡張画像１０１５に適用される。次いで、平均化フィルタを利用して、画像１０２０から画像１０２５が生成される。画像１００５，１０１５，１０２０，１０２５はテクスチャとも呼ばれることに留意されたい。一実施形態では、平均化フィルタは、ボックス平均化フィルタ（例えば、２×２ボックス平均化フィルタ）である。他の実施形態では、他のタイプの平均化フィルタ（例えば、テントフィルタ）を利用することができる。さらに、平均化フィルタは、ハイダイナミックレンジ（ＨＤＲ）テクスチャ、シャープ化及び／又はその他のための逆トーンマッピングを含むことができる。画像１０２５は、元の画像１００５と同じ寸法Ｗ×Ｈを有することに留意されたい。他の実施形態では、平均化フィルタは、画像１０２５の解像度を、元の画像１００５と異なる解像度に変更することができる。或いは、平均化フィルタを使用するダウンスケーリングステップを省略することができ、得られた画像は、開始画像よりも高い解像度を有する。
【００４４】
次に、図１１を参照すると、ハイブリッドアンチエイリアシングスキームの別の実施形態の図が示されている。一実施形態では、ハイブリッド後処理、アンチエイリアシングスキームが、何れかのタイプの画像、テクスチャ、表面又は他のピクセルデータを表す画像１１０５に適用される。画像１１０５は、Ｗ×Ｈの寸法を有しており、ダイアグラム１１１０に示すように、２×１の傾きに基づく×５ＭＳＡＡサブピクセルサンプリングパターンを利用する。画像１１０５のサブピクセルサンプルは、拡張された後に、位置合わせのために回転されて、マルチサンプリングされない自然な解像度の画像である画像１１１５を生成する。換言すれば、画像１１０５のサブピクセルは、画像１１１５のピクセルとして扱われる。また、画像１１１５のピクセルが通常の矩形グリッドを形成するように、ピクセルが回転される。
【００４５】
次いで、画像１１２０を生成するために、画像１１１５に対して後処理アンチエイリアシングフィルタリングステップが実行される。次に、画像１１２０に対して平均化フィルタステップが実行され、元の画像１１０５と同じ寸法Ｗ×Ｈを有する画像１１２５が生成される。別の実施形態では、平均化フィルタステップを省略することができ、画像１１２０を、ハイブリッドアンチエイリアシング解像動作の結果とすることができる。或いは、さらなる実施形態では、平均化フィルタは、画像１１２５の解像度が画像１１０５の元の解像度Ｗ×Ｈより大きくなるように、画像１１２０を平均化することができる。
【００４６】
図１２を参照すると、拡張画像のサイズを縮小する技術の図が示されている。画像１２０５は、図１１の画像１１１５と同様に拡張された画像の一例である。画像１２０５は、サブピクセルサンプリングされた画像（図示省略）から生成された、拡張され回転された画像を含む。しかしながら、画像１２０５内の「Ｘ」を含む領域の各々は、追加のメモリを消費する未使用空間に対応する。
【００４７】
したがって、一実施形態では、現在の状態の画像１２０５を処理する代わりに、画像１２０５の一部が、空間のより効率的な使用をもたらす画像１２１０を生成するために再配置される。一部を空間効率のよい画像１２１０に再配置するために、三角形部分１２１５が、画像１２０５の右側から画像１２１０の左側に移動される。また、三角形部分１２２０が、画像１２０５の最上部から画像１２１０の右下部に移動される。画像１２１０の右上部には、「Ｘ」でマークされた未使用空間の小さな部分がまだ存在している。しかしながら、これは、画像１２０５内の未使用スペースの量よりもはるかに小さい。画像１２１０において、部分１２１５，１２２０，１２２５は、無駄なスペースがより少なく、さらに効率的な配置で組み合わされる。これにより、次の後処理アンチエイリアシングステップを、画像１２０５に対して実行するよりもさらに効率的に画像１２１０に対して実行することができる。
【００４８】
周囲の部分を移動させることによって画像を再配置する場合に、後処理アルゴリズムを実行できるように、各部分においてある程度のオーバーラップが含まれ得ることに留意されたい。例えば、後処理アルゴリズムが中心ピクセルの周囲の５ピクセルをサンプリングする場合に、部分１２１５，１２２０，１２２５が組み合わされるときに、５ピクセルのオーバーラップがこれらの部分に加えられて、画像１２１０が形成される。部分１２１５，１２２０，１２２５の再配置を、サブピクセルステージの拡張中に実行可能であることにも留意されたい。したがって、部分１２１５，１２２０，１２２５の再配置は、追加のレンダリングパスを必要としない。代替の三角形分割、及び／又は、代替の再配置パターンの使用が可能であり、意図されていることにさらに留意されたい。
【００４９】
図１３を参照すると、ハイブリッドアンチエイリアシング解像動作を実行する方法１３００の一実施形態が示されている。説明のために、この実施形態のステップ及び図１４〜１７のステップは、順番に示されている。しかしながら、記載された方法の様々な実施形態において、記載された要素のうち１つ以上は、同時に実行されてもよいし、図示された順序と異なる順序で実行されてもよいし、完全に省略されてもよいことに留意されたい。他の追加の要素も所望に応じて実行される。本明細書で説明される様々なシステム、装置又はコンピューティングデバイスの何れかは、方法１３００を実行するように構成されている。
【００５０】
プロセッサは、ピクセル当たり複数のサブピクセルサンプル及び第１セットの寸法を有する第１画像に対してアンチエイリアシング解像動作を実行する要求を検出する（ブロック１３０５）。一実施形態では、プロセッサはＧＰＵである。他の実施形態では、プロセッサは、他の様々なタイプのプロセッサ（例えば、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣ、マルチコアプロセッサ等）の何れかである。実施形態に応じて、第１画像は、プロセッサによって処理されるテクスチャ、表面又は他のタイプのピクセルデータであってもよい。
【００５１】
プロセッサは、要求を検出したことに応じて、第１画像の寸法を拡張して、ピクセル当たり単一のサンプルを含み、第１セットの寸法より大きな第２セットの寸法を有する第２画像を生成する（ブロック１３１０）。一実施形態では、第１画像の寸法を拡張することは、第１画像のサブピクセルを第２画像の通常のピクセルに変換することを含む。換言すれば、第１画像のサブピクセルは、それらが第２画像の実際のピクセルであるかのように扱われる。第１画像の寸法の拡張は、第１画像のピクセル当たりのサブピクセルサンプリング位置の数に応じて変化する。第１画像の寸法を拡張して第２画像を生成することは、拡張を実際に行わず、第２画像を生成せずに第１画像を拡張するかのように後続の計算を実行することによって仮想的に実行可能であることに留意されたい。いくつかの実施形態では、第１画像の寸法を拡張することに加えて、第１画像が回転される。これらの実施形態では、この回転は、第１画像のサブピクセルを、第２画像内の垂直及び水平グリッドパターンに整列するために実行される。
【００５２】
次に、プロセッサは、第２画像に対して後処理アンチエイリアシングを実行して、第２セットの寸法を有する第３画像を生成する（ブロック１３１５）。いくつかの実施形態では、ブロック１３１５は、第３画像を実際に生成することなく仮想的に実行することが可能である。プロセッサは、アンチエイリアシングフィルタを利用してアンチエイリアシング処理を実行する。また、アンチエイリアシングフィルタは、後処理アンチエイリアシングフィルタと呼ぶことができる。一実施形態では、アンチエイリアシングフィルタは、高速近似アンチエイリアシング（ＦＸＡＡ）アルゴリズムに基づいている。他の実施形態では、アンチエイリアシングフィルタは、第２画像をフィルタリングして第３画像を生成するための他のアルゴリズムを利用することができる。概して、アンチエイリアシングフィルタは、中央のピクセル、次いで周囲のピクセルを分析して、中央のピクセルの近傍に表示される不要なエイリアシング効果（すなわち、ジャギー）が存在するか否かを判別する。アンチエイリアシングフィルタが中央のピクセルについてアーティファクトの存在を検出した場合に、中央のピクセル値を、隣接するピクセルと平均化することができる。
【００５３】
次に、プロセッサは、第３画像の寸法を縮小して、所望の解像度で第４画像を生成する（ブロック１３２０）。一実施形態では、寸法を縮小することは、第３画像の平均化を実行して第４画像を生成することを含む。一実施形態では、第３画像の平均化を、第４画像を生成せずにインプレースで実行することができる。実施形態に応じて、ブロック１３２０に続いて、第４画像をメモリへ書き戻し、第４画像に対して追加の処理を行い、及び／又は、第４画像をディスプレイに送ることができることに留意されたい。一実施形態では、第４画像は、第１画像と同じ解像度を有する。別の実施形態では、第４画像は、第１画像よりも高い解像度を有する。いくつかの実施形態では、ブロック１３２０を方法１３００から省略して、第３画像をアンチエイリアシング解像動作の結果とすることができる。例えば、いくつかのアプリケーション（例えば、仮想現実（ＶＲ）アプリケーション）において、より高い解像度の画像にアクセスすることは、レンダリング後に発生したヘッドの動きを補正するために、レンダリングされた画像を、ディスプレイに送信する前にワーピングする（すなわち、再投影する）場合に有用となり得る。ブロック１３２０の後に方法１３００は終了する。
【００５４】
方法１３００を説明するのに利用される第１画像、第２画像、第３画像及び第４画像の用語は、方法１３００の異なるステップを区別するのを意図していることを理解されたい。かかる各用語は、ある種の処理がソース画像に適用され、修正されたソース画像を生成することを示すことを意味する。例えば、プロセッサは、第１画像の寸法を拡張して第２画像を生成する場合に、第２画像を実際に生成することなく第１画像を拡張するかのように、後続の計算を実行することによって仮想的に寸法を拡張することができる。さらに、プロセッサは、第３画像の平均化を実行する場合に、第３画像の平均化されたバージョンによって第３画像を上書きすることができる。この観点から、第３画像を平均化することができ、平均化の出力を第３画像と呼ぶことができる。しかしながら、明確さのために、第３画像の平均化の出力を、方法１３００では第４画像と呼ぶこととし、平均化ステップの入力と出力とを明確に区別する。同様に、方法１３００の他のステップでは、実際には、新たな画像を生成するのではなく、ソース画像を上書き又は修正することができる。
【００５５】
図１４を参照すると、画像を拡張して回転させる場合に画像部分を再配置する方法１４００の一実施形態が示されている。プロセッサは、複数の三角形部分を、第１画像から第２画像内の新たな位置に再配置する（ブロック１４０５）。一実施形態では、プロセッサは、ハイブリッドアンチエイリアシング解像動作の一部として、複数の三角形部分を第１画像から第２画像内の新たな位置に再配置する。プロセッサは、ハイブリッドアンチエイリアシング解像動作の一部として、第１画像を第２画像に拡張して回転させる場合に、複数の三角形部分を第１画像から第２画像内の新たな位置に再配置する。また、プロセッサは、第１画像の残りの部分を、複数の三角形部分の間の第２画像内の新たな位置に再配置する（ブロック１４１０）。ブロック１４１０の後に、方法１４００は終了する。第１画像の画像部分を第２画像内の新たな位置に再配置することによって、第２画像に対する後続の処理動作を、グラフィックスハードウェアによってさらに効率的に実行することができる。
【００５６】
図１５を参照すると、画像を拡張して回転させる場合に画像部分を再配置する方法１５００の別の実施形態が示されている。プロセッサは、第１三角形部分を、ソース画像の左側から、ソース画像の拡張されたバージョンの右側に移動する（ブロック１５０５）。また、プロセッサは、第２三角形部分を、ソース画像の右側から、ソース画像の拡張されたバージョンの左側に移動する（ブロック１５１０）。さらに、プロセッサは、ソース画像の第３部分を、ソース画像の拡張されたバージョン内の第１三角形部分と第２三角形部分との間に適合するように移動する（ブロック１５１５）。一実施形態では、プロセッサは、第１部分、第２部分及び第３部分を、ソース画像の拡張されたバージョン内の新たな位置に移動する場合に、第１部分、第２部分及び第３部分のエッジにおいてサブピクセルのオーバーラップを有することに留意されたい。ブロック１５１５の後に、方法１５００は終了する。
【００５７】
図１６を参照すると、画像のサブピクセル位置をサンプリングする方法１６００の一実施形態が示されている。プロセッサは、回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成し、回転角が回転グリッドに対して指定される（ブロック１６０５）。回転角は、より一般的には回転量と呼ぶことができる。次に、プロセッサは、レンダリングされる画像のピクセル毎の複数のサブピクセルサンプリング座標によって示されるサブピクセル位置をサンプリングする（ブロック１６１０）。次いで、プロセッサは、サブピクセル位置の値をメモリに記憶する（ブロック１６１５）。メモリは、キャッシュ、ローカルデータ共有、グローバルデータ共有、メモリデバイス、又は、ストレージ素子の任意の他の適切な集合を表すことに留意されたい。ブロック１６１５の後に、方法１６００は終了する。
【００５８】
図１７を参照すると、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成する方法１７００の一実施形態が示されている。プロセッサは、画像の所定の位置を斜めに通過する第１セットの平行線に対応する位置を計算する（ブロック１７０５）。「斜めに通過する」とは、９０度又は１８０度以外の角度で画像を横断することとして定義されることに留意されたい。換言すれば、第１セットの平行線は、画像のピクセルの境界を示す正方形グリッドの水平線又は垂直線の何れかと平行ではない。一実施形態では、所定の位置は、ピクセルの角部である。別の実施形態では、所定の位置は、ピクセルの中心である。様々な実施形態では、第１セットの平行線の各線の傾きは、２つの互いに素な数の比から生成される。例えば、一実施形態では、第１セットの平行線の各線の傾きは、２ピクセル×１ピクセルである。他の実施形態では、傾きは、他の適切な比であってもよい。一実施形態では、隣接する線間の距離は、第１セットの平行線の隣接する線の各ペアに対して一定である。
【００５９】
次に、プロセッサは、第１セットの平行線に垂直な第２セットの平行線に対応する位置を計算し、第１セット及び第２セットの平行線は、回転グリッドを形成する（ブロック１７１０）。一実施形態では、隣接する線間の距離は、第２セットの平行線の隣接する線の各ペアに対して一定である。一実施形態では、第１セットの平行線の隣接する線間の距離は、第２セットの平行線の隣接する線間の距離に等しい。次に、プロセッサは、回転グリッドをシフトさせて、第１セット及び第２セットの平行線の頂点が、対応する各ピクセルの中心にある重心を有するようにする（ブロック１７１５）。次いで、プロセッサは、第１セット及び第２セットの平行線の頂点の位置を利用して、画像のピクセル内の複数のサブピクセルサンプリング座標を特定する（ブロック１７２０）。ブロック１７２０の後に、方法１７００は終了する。実施する方法１７００は、サブピクセルサンプリング座標を、水平方向及び垂直方向の両方において規則的な間隔で配置する。さらに、方法１７００を実行することによって、画像を横断する所定の水平線又は垂直線上にピクセル当たり１つのサブピクセルサンプリング位置のみが存在することがもたらされる。他の実施形態では、方法１７００によって生成されるサブピクセルサンプリングパターンと同様のサブピクセルサンプリングパターンを達成するために、他の方法を実装することができることに留意されたい。一般に、ピクセル当たり「ａ＾２＋ｂ＾２」のサブサンプルの密度を有する（ａ及びｂは整数である）正方形グリッドの場合に、当該グリッドが「ａｔａｎ（ａ／ｂ）＋９０＊ｎ」（ｎは整数である）の角度で回転又はミラーリングされている場合には、各ピクセル内のサンプリングパターンは同一になる。
【００６０】
図１８を参照すると、サブピクセルサンプリング座標を生成する方法の一実施形態が示されている。プロセッサは、回転グリッドの角度を指定する（ブロック１８０５）。例えば、プロセッサは、回転グリッドの第１セットの線が２×１の傾きを有するように指定することができる。この傾きは、幅が２ピクセル及び高さが１ピクセルの矩形の対角線に平行な線であることを示している。回転グリッドの第２セットの線は、第１セットの線に垂直である。次に、プロセッサは、回転グリッドを、レンダリングされる画像上に重ね合わせる（ブロック１８１０）。次いで、プロセッサは、回転グリッドに基づいて、レンダリングされる画像のピクセル毎に複数のサブピクセルサンプリング座標を生成する（ブロック１８１５）。ブロック１８１５の後に、方法１８００は終了する。
【００６１】
図１９を参照すると、アンチエイリアシング動作を実行する方法の一実施形態が示されている。プロセッサは、画像に対してアンチエイリアシング動作を実行する要求を検出する（ブロック１９０５）。アンチエイリアシング動作は、アンチエイリアシング解像動作と呼ぶこともできることに留意されたい。プロセッサは、要求を検出したことに応じて、画像の寸法を拡張する（ブロック１９１０）。一実施形態では、プロセッサは、ブロック１９１０において画像の仮想拡張を実行する。仮想拡張は、より大きな新たな画像を生成することによって、又は、元の画像をより大きな画像として扱うことによって、実行され得る。一実施形態では、プロセッサは、元の画像を、回転されたより大きな画像として扱う。一実施形態では、画像の寸法を拡張することは、サブピクセルを通常のピクセルに変換することとして定義される。いくつかの実施形態では、画像を回転させて、通常のピクセルを矩形グリッド内に整列させる。次に、プロセッサは、画像に対してアンチエイリアシング処理を実行する（ブロック１９１５）。そして、プロセッサは、画像の平均化を実行して、所望の解像度でアンチエイリアシング動作の最終結果を生成する（ブロック１９２０）。ブロック１９２０の後に、方法１９００は終了する。
【００６２】
図２０を参照すると、サンプリンググリッドを生成する方法の一実施形態が示されている。サンプリンググリッドに対して傾き（例えば、２×１）が選択される（ブロック２００５）。次に、選択された傾きの線が、ピクセルグリッドの全てのグリッド交点を通過するように描画される（ブロック２０１０）。別の実施形態では、選択された傾きの線が、ブロック２０１０において、ピクセルグリッドの全てのピクセルの中心を通過するように描画される。次いで、ピクセルグリッドの全てのグリッド交点を通過する垂線が描画される（ブロック２０１５）。或いは、別の実施形態では、ブロック２０１５において、ピクセルグリッドの全てのピクセルの中心を通過する垂線が描画される。ブロック２０１０，２０１５において描画される線は、回転した通常のグリッドを生成する。この回転した通常のグリッドは、サンプリンググリッドと呼ぶこともできる。
【００６３】
次に、任意のステップにおいて、サンプリンググリッドがシフトされ、９０度の倍数だけ回転され、及び／又は、ミラーリングされる（ブロック２０２０）。単一のピクセル内のサンプリンググリッドのグリッド交点によって生成されたパターンは、画像のサンプリングパターンとして利用される（ブロック２０２５）。単一のピクセル内のサンプリングパターンは、方法２０００によって生成されたサンプリングパターンの画像内の全てのピクセルについて同一である。ブロック２０２５の後に、方法２０００は終了する。本明細書で説明するシステム及び／又は装置の何れかが方法２０００を実行するように構成され得ることに留意されたい。
【００６４】
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、前述の方法及び／又はメカニズムを実装する。プログラム命令は、Ｃ等の高水準プログラミング言語におけるハードウェアの動作を記述する。または、Ｖｅｒｉｌｏｇ等のハードウェア設計言語（ＨＤＬ）が使用される。プログラム命令は、非一時的なコンピュータ可読記憶媒体に記憶される。複数のタイプの記憶媒体が利用可能である。記憶媒体は、プログラム命令及び付随するデータをプログラム実行用のコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。コンピューティングシステムは、少なくとも１つ以上のメモリと、プログラム命令を実行するように構成された１つ以上のプロセッサと、を含む。
【００６５】
上述した実施形態は、実装の非限定的な例に過ぎないことを強調したい。上記の開示が完全に理解されると、当業者には数多くの変形及び修正が明らかになるであろう。以下の特許請求の範囲は、かかる変形及び修正の全てを包含するものと解釈されることが意図される。
【図１】
2019505939.tif 000003
【図２】
2019505939.tif 000004
【図３】
2019505939.tif 000005
【図４】
2019505939.tif 000006
【図５】
2019505939.tif 000007
【図６】
2019505939.tif 000008
【図７】
2019505939.tif 000009
【図８】
2019505939.tif 000010
【図９】
2019505939.tif 000011
【図１０】
2019505939.tif 000012
【図１１】
2019505939.tif 000013
【図１２】
2019505939.tif 000014
【図１３】
2019505939.tif 000015
【図１４】
2019505939.tif 000016
【図１５】
2019505939.tif 000017
【図１６】
2019505939.tif 000018
【図１７】
2019505939.tif 000019
【図１８】
2019505939.tif 000020
【図１９】
2019505939.tif 000021
【図２０】
2019505939.tif 000022
【国際調査報告】
2019505939.tif 000023