(57)【要約】【解決手段】グラフィックスオブジェクトの裏向きパッチ（２００）は、レンダリング用の複雑なメッシュを確立するときに、単純なメッシュの変位（５００）を考慮して拡張されるパラメトリック接平面手法を使用して、テッセレーションからカリングされる（６１２）。【選択図】図１
2021511574.tif 000002
【特許請求の範囲】
【請求項１】
データ入力を受信して出力を生成するように構成される少なくとも１つの計算回路であって、
データを少なくとも１つのディスプレイスメントマップから、前記ディスプレイスメントマップが関連付けられるグラフィックスオブジェクトパッチをテッセレートする前に受信すること、
前記グラフィックスオブジェクトパッチの少なくとも１つの第一パッチについて、
前記パッチの４本の法線を、それぞれのパッチコーナー制御点に１本ずつ、前記それぞれのコーナー制御点と前記それぞれのコーナー制御点に最も近い前記パッチの制御点との間の外積を使用して計算すること、
各法線を使用して、前記ディスプレイスメントマップからのデータに従い、前記それぞれのコーナー制御点に最も近い前記パッチの前記制御点を変位させて、１つが正の変位であり、１つが負の変位である２つの新規のパッチを作成すること、
いずれか一方の新規のパッチのパラメトリック接平面のいずれかの係数が正面であるかどうかを判定すること、
いずれか一方の新規のパッチの係数が正面であると判定することに応答して、前記第一パッチをテッセレートすること、
いずれか一方の新規のパッチの係数が正面ではないと判定することに応答して、前記第一パッチをテッセレートしないこと、
を行うように構成される、前記計算回路、
を備える、デバイス。
【請求項２】
前記計算回路は、グラフィックスプログラムの複数のフレームのそれぞれについて前記グラフィックスオブジェクトの複数のパッチをテッセレートするべきかどうかを判定する、請求項１に記載のデバイス。
【請求項３】
前記計算回路は、計算シェーダによって少なくとも部分的に確立される、請求項１に記載のデバイス。
【請求項４】
前記計算シェーダは、グラフィックスカードによって実装される、請求項３に記載のデバイス。
【請求項５】
前記グラフィックスカードを含むコンピュータゲームコンソールを備える、請求項４に記載のデバイス。
【請求項６】
前記コーナー制御点は、変位せず、それぞれのコーナー制御点に最も近い制御点のみが変位する、請求項１に記載のデバイス。
【請求項７】
少なくとも１つのグラフィックスプロセッシングユニット（ＧＰＵ）と関連する少なくとも１つのグラフィックスカードであって、前記ＧＰＵが、
グラフィックスオブジェクトの複数の部分を受信することと、
各部分について、第一変位情報を前記部分のすべてではないがいくつかの制御点に適用して第一変位範囲を計算することと、
各部分について、第二変位情報を前記部分のすべてではないがいくつかの制御点に適用して第二変位範囲を計算することと、
前記変位範囲のうちの少なくとも１つのパラメトリック接平面（ＰＴＰ）が正面であると判定することに応答して、前記部分にシェーディングを適用することと、
両方の変位範囲のＰＴＰが正面ではないと判定することに応答して、前記部分にシェーディングを適用しないことと、
を含むプロセスを実行するように構成される、前記少なくとも１つのグラフィックスカード、
を備える、コンピュータゲームコンソール。
【請求項８】
計算シェーダを実行することによってロジックが実行される、請求項７に記載のコンピュータゲームコンソール。
【請求項９】
前記部分は、パッチである、請求項７に記載のコンピュータゲームコンソール。
【請求項１０】
前記第一変位情報は、正であり、前記第二変位情報は、負である、請求項７に記載のコンピュータゲームコンソール。
【請求項１１】
前記プロセスは、
少なくとも１つの第一パッチについて、
前記第一パッチの４本の法線を、それぞれのパッチコーナー制御点に１本ずつ、前記それぞれのコーナー制御点と前記それぞれのコーナー制御点に最も近い前記パッチの制御点との間の外積を使用して計算することと、
各法線を使用して、前記第一変位情報に従って、前記それぞれのコーナー制御点に最も近い前記パッチの前記制御点を変位させることと、
各法線を使用して、前記第二変位情報に従って、前記それぞれのコーナー制御点に最も近い前記パッチの前記制御点を変位させることと、
を備える、請求項９に記載のコンピュータゲームコンソール。
【請求項１２】
前記変位範囲のうちの少なくとも１つのＰＴＰが正面であると判定することは、前記変位範囲のうちの少なくとも１つのいずれかの係数が正面を示すかどうかを判定することを備える、請求項７に記載のコンピュータゲームコンソール。
【請求項１３】
各部分のコーナー制御点は、変位せず、それぞれのコーナー制御点に最も近い制御点のみが変位する、請求項７に記載のコンピュータゲームコンソール。
【請求項１４】
変位情報を受信することと、
前記変位情報を考慮して拡張されるパラメトリック接平面（ＰＴＰ）手法を使用して、グラフィックスオブジェクトの背面パッチをテッセレーションからカリングすることと、
を備える、コンピュータ実装方法。
【請求項１５】
前記グラフィックスオブジェクトをレンダリングするために、実行時前に前記変位情報を受信することを備える、請求項１４に記載のコンピュータ実装方法。
【請求項１６】
テッセレーションからカリングすることは、
グラフィックスオブジェクトパッチの少なくとも１つの第一パッチについて、
前記パッチの４本の法線を、それぞれのパッチコーナー制御点に１本ずつ計算すること、
を備える、請求項１４に記載のコンピュータ実装方法。
【請求項１７】
前記４本の法線を計算することは、前記それぞれのコーナー制御点と、前記それぞれのコーナー制御点に最も近い前記パッチの制御点との間の外積を使用して実行される、請求項１６に記載のコンピュータ実装方法。
【請求項１８】
各法線を使用して、ディスプレイスメントマップからのデータに従い、前記それぞれのコーナー制御点に最も近い前記パッチの前記制御点を変位させて、１つが正の変位であり、１つが負の変位である２つの新規のパッチを作成することを備える、請求項１７に記載のコンピュータ実装方法。
【請求項１９】
いずれか一方の新規のパッチのパラメトリック接平面のいずれかの係数が正面であるかどうかを判定することを備える、請求項１８に記載のコンピュータ実装方法。
【請求項２０】
いずれか一方の新規のパッチにおける係数が正面であると判定することに応答して、前記第一パッチをテッセレートすることと、
いずれか一方の新規のパッチにおける係数が正面ではないと判定することに応答して、前記第一パッチをテッセレートしないことと、
を備える、請求項１９に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、より低い周波数の詳細度を有するメッシュからより高い周波数の詳細度への変位条件下で、背面グラフィックスパッチをカリングすることに関する。
【背景技術】
【０００２】
グラフィックスオブジェクトを例えば、コンピュータゲームでレンダリングする場合、オブジェクトは、グラフィックスアーティストが提供するモデルに従ってレンダリングされる。レンダリング時のパフォーマンス、メモリ使用量、及び柔軟性をより良く向上させるために、アーティストは、スカラー変位データ構造（または「テクスチャ」）とともにオブジェクトの単純なモデルを提供することができ、このスカラー変位データ構造は、この単純なモデルにおいてオブジェクトのさまざまな部分についての面法線の方向における変位を示し、オブジェクトの最終的で、より複雑なモデルに到達する。「スカラー」とは、変位に対する単一の値を意味し、この単一な値は、変位の方向と大きさが３Ｄベクトルに符号化されているベクトル変位とは対照的に、面法線の方向に変位する量を黙示的に意味する。
【０００３】
変位前に、単純なモデルの曲面を通常小さな三角形によって塗りつぶし、または「テッセレート」し、次に、この変位を単純なモデルに適用し、アーティストが想定するオブジェクトの複雑な最終モデルに到達する。
【０００４】
オブジェクトの一部（「パッチ」）は、グラフィックスのエミュレートされたバンテージポイント（または「カメラ位置」）から見えるが、他のパッチは、ビューから隠されている。特に、閉じたオブジェクトの場合、カメラ位置に向いているメッシュの側にあるパッチは、カメラ位置とは反対に向いているこれらのパッチをふさぐ。このコンテキストでは、見えるパッチは、正面と称され、見えないパッチは、背面と称される。より一般的に、パッチの向きは、法線がカメラへのビューベクトルと同じ方向にあるかどうかを指す。巻き順も通常、時計回りまたは反時計回りのいずれかに指定されることにより、正面を計数する法線の側を決定するために外積を行う方法を決定することに留意する。
【０００５】
背面パッチをテッセレートする必要がないことを認識して、処理時間を節約するために、テッセレーションから背面パッチをカリングするための手法が提供されている。そのように行うことは、テッセレーション係数が高い場合にいずれかのパッチはドメインシェーダの作業が潜在的に大量に発生する可能性があるため、ハードウェアテッセレーションによってレンダリングするときに特に有利である。
【０００６】
テッセレーションの前に背面パッチをカリングする２つの手法は、法線の円錐、及びパラメトリック接平面（ＰＴＰ）である。
【発明の概要】
【０００７】
本明細書で理解されるように、ＰＴＰは、通常、法線の円錐を使用するよりもより多くのパッチのカリングをもたらす。ＰＴＰを使用して、オブジェクトのどのパッチが背面（カリング用）であり、どのパッチが正面（したがって、テッセレーションからカリングされない）であるかを示す。ＰＴＰ手法は、Ｌｏｏｐらによる「Ｅｆｆｅｃｔｉｖｅ  Ｂａｃｋ−Ｐａｔｃｈ  Ｃｕｌｌｉｎｇ  ｆｏｒ  Ｈａｒｄｗａｒｅ  Ｔｅｓｓｅｌｌａｔｉｏｎ」、Ｖｉｓｉｏｎ、Ｍｏｄｅｌｉｎｇ、ａｎｄ  Ｖｉｓｕａｌｉｚａｔｉｏｎ（２０１１）に説明され、これは、本発明のファイル履歴に開示されており、参照により本明細書に援用される。
【０００８】
本明細書でさらに理解されるように、変位が単純モデルに適用されると、ＰＴＰによってテッセレーションからカリングされた単純モデルにおける背面パッチは、パッチの境界が変位したときに変化するため、実際には変位の適用後にいくつかの正面部分を含む可能性がある。これが意味することは、変位が適用されるとカリングが過剰になったため、最終的にレンダリングされたオブジェクトに顕著なギャップまたはホールが現れる可能性があるということである。したがって、本発明の原理は、ＰＴＰ手法を拡張して、変位後に正面部分を含む可能性があるパッチをカリングすることなく変位によって機能し、それにもかかわらず、有意な実行時コストなしで、他の手法と比較してより高いカリング率を有利に提供する。
【０００９】
したがって、デバイスは、データ入力を受信し、出力を生成するように設定される少なくとも１つの計算回路を含む。この回路は、ディスプレイスメントマップが関連付けられているグラフィックスオブジェクトパッチをテッセレートする前に、少なくとも１つのディスプレイスメントマップからデータを受信するように設定される。この回路は、グラフィックスオブジェクトパッチの少なくとも１つの第一パッチについて、それぞれのコーナー制御点と、それぞれのコーナー制御点に最も近いパッチの制御点との間の外積を使用して、パッチの４本の法線をそれぞれのパッチコーナー制御点に１本ずつ計算するように設定される。各法線を使用して、ディスプレイスメントマップからのデータに従いそれぞれのコーナー制御点に最も近いパッチの制御点を変位させて、１つが正の変位範囲の境界であり、１つが負の変位範囲の境界である２つの新規のパッチを作成する。この回路は、いずれか一方の新規のパッチのパラメトリック接平面のいずれかの係数が正面であるかどうかを判定し、いずれか一方の新規のパッチにおける係数が正面であると判定することに応答して、第一パッチをテッセレートするように設定される。一方、いずれか一方の新規のパッチにおける係数が正面ではないと判定することに応答して、第一パッチをテッセレーションからカリングする。
【００１０】
例では、計算回路は、グラフィックスプログラムの複数のフレームのそれぞれについて、グラフィックスオブジェクトの複数のパッチをテッセレートするべきかどうかを判定する。
【００１１】
例では、計算回路は、計算シェーダによって少なくとも部分的に確立される。計算シェーダは、グラフィックスカード、例えば、コンピュータゲームコンソールのグラフィックスカード上で実行するように実装されることができる。
【００１２】
実装において、コーナー制御点は、変位せず、それぞれのコーナー制御点に最も近い制御点のみが変位する。
【００１３】
別の態様では、コンピュータゲームコンソールは、少なくとも１つのグラフィックスプロセッシングユニット（ＧＰＵ）と関連する少なくとも１つのグラフィックスカードを含む。ＧＰＵは、グラフィックスオブジェクトの複数の部分を受信すること、及び各部分について、第一変位情報をこの部分のすべてではないがいくつかの制御点に適用して第一変位範囲を計算することを備えるプロセスを実行するように設定される。また、ＧＰＵによって実行されるプロセスは、各部分について、第二変位情報をこの部分のすべてではないがいくつかの制御点に適用して第二変位範囲を計算することを備える。このプロセスは、変位範囲のうちの少なくとも１つのＰＴＰが正面であると判定することに応答してこの部分にシェーディングを適用すること、及び両方の変位範囲のＰＴＰが正面ではないと判定することに応答してこの部分にシェーディングを適用しないことを備える。
【００１４】
別の態様では、方法は、変位情報を受信すること、及びこの変位情報を考慮して拡張されるＰＴＰ手法を使用して、グラフィックスオブジェクトの背面パッチをテッセレーションからカリングすることを備える。
【００１５】
本出願の詳細は、その構造及び動作の両方に関して、添付の図面を参照して最もよく理解されることができ、これらの図面では、同様の参照番号は同様の部品を指す。
【図面の簡単な説明】
【００１６】
【図１】本発明の原理による一例を含む例示的なシステムのブロック図である。
【図２】テッセレーション後の双三次ベジエパッチの概略図である。
【図３】図２に示されるパッチの概略図であり、太い線で制御ケージを示している。
【図４】回転させて背面にしたため、ＰＴＰ手法によってカリングされたものとしてテッセレートされない図２中のパッチの概略図である。
【図５】変位が適用されている図２のパッチの概略図である。
【図６】本発明の原理による例示的なロジックのフローチャートである。
【図７】説明を容易にするために番号が付けられた制御点を概略的に示す。
【図８】図２に示されるように、パッチの向きから、正の変位範囲及び負の変位範囲を示す。
【図９】図４の向きからの正及び負の変位範囲を示し、拡張されたＰＴＰ手法は、パッチをカリングしなくなる。
【発明を実施するための形態】
【００１７】
一般に、本開示は、分散型コンピュータゲームネットワーク、ビデオ放送、コンテンツ配信ネットワーク、仮想マシン、及び機械学習アプリケーションなどであるがこれらに限定されない家庭用電化製品（ＣＥ）デバイスネットワークの態様を含むコンピュータエコシステムに関する。
【００１８】
本明細書のシステムは、クライアントとサーバコンポーネントとの間でデータを交換することができるように、ネットワーク経由で接続される、サーバ及びクライアントコンポーネントを含むことができる。クライアントコンポーネントは、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ（登録商標）などのゲームコンソール及び関連したマザーボードを含む１つ以上のコンピューティングデバイス、ポータブルテレビ（例えば、スマートＴＶ、インターネット対応ＴＶ）、ラップトップ及びタブレットコンピュータなどのポータブルコンピュータ、ならびにスマートフォン及び下記の追加の例を含む他のモバイルデバイスを含むことができる。これらのクライアントデバイスは、さまざまな動作環境で動作することができる。例えば、一部のクライアントコンピュータは、例として、ＯｒｂｉｓもしくはＬｉｎｕｘ（登録商標）オペレーティングシステム、Ｍｉｃｒｏｓｏｆｔのオペレーティングシステム、Ｕｎｉｘ（登録商標）オペレーティングシステム、またはＡｐｐｌｅ，Ｉｎｃ．もしくはＧｏｏｇｌｅが作成したオペレーティングシステムを採用することができる。これらの動作環境を使用して、Ｍｉｃｒｏｓｏｆｔか、Ｇｏｏｇｌｅか、Ｍｏｚｉｌｌａか、以下に考察されるインターネットサーバによってホストされるウェブサイトにアクセスすることができる他のブラウザプログラムなどの１つ以上のブラウジングプログラムを実行することができる。また、本発明の原理による動作環境を使用して、１つ以上のコンピュータゲームプログラムを実行することができる。
【００１９】
サーバ及び／またはゲートウェイは、インターネットなどのネットワークを介してデータを送受信するようにサーバを設定するインストラクションを実行する１つ以上のプロセッサを含むことができる。あるいは、クライアント及びサーバをローカルイントラネットまたは仮想プライベートネットワーク経由で接続することができる。サーバまたはコントローラは、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ（登録商標）、パーソナルコンピュータなどのような、ゲームコンソール及び／またはその１つ以上のマザーボードによってインスタンス化されることができる。
【００２０】
情報は、クライアントとサーバとの間でネットワークを介して交換されることができる。このため、そしてセキュリティのために、サーバ及び／またはクライアントは、ファイアウォール、ロードバランサ、一時ストレージ、及びプロキシ、ならびに信頼性及びセキュリティのための他のネットワークインフラストラクチャを含むことができる。１つ以上のサーバは、オンラインソーシャルウェブサイトなどの安全なコミュニティをネットワークメンバーに提供する方法を実装する装置を形成することができる。
【００２１】
本明細書に使用される場合、インストラクションは、システムにおいて情報を処理するためのコンピュータ実装ステップを指す。インストラクションは、ソフトウェア、ファームウェアまたはハードウェアに実装され、システムのコンポーネントによって実行される任意のタイプのプログラムされたステップを含むことができる。
【００２２】
プロセッサは、アドレスライン、データライン及び制御ラインなどのさまざまなラインとレジスタとシフトレジスタによってロジックを実行することができる、いずれかの従来の汎用シングルチップまたはマルチチッププロセッサであることができる。
【００２３】
本明細書のフローチャート及びユーザインタフェースを用いて説明されるソフトウェアモジュールは、さまざまなサブルーチン、プロシージャなどを含むことができる。本開示を限定することなく、特定のモジュールによって実行されると述べられたロジックは、他のソフトウェアモジュールに再分配される、及び／または単一のモジュールに結合される、及び／または共有可能なライブラリに利用可能にされることができる。
【００２４】
本明細書に説明される本発明の原理は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして実装されることができるため、例示的なコンポーネント、ブロック、モジュール、回路、及びステップは、それらの機能性の観点から説明されている。
【００２５】
上記で言及されたことに加えて、下記の論理ブロック、モジュール及び回路は、本明細書に説明される機能を実行するように設計される、汎用プロセッサ、デジタルシグナルプロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）もしくは特定用途向け集積回路（ＡＳＩＣ）などの他のプログラム可能な論理デバイス、離散ゲートもしくはトランジスタ論理、離散ハードウェアコンポーネント、またはそれらのいずれかの組み合わせによって実装される、または実行されることができる。プロセッサは、コントローラ、またはステートマシン、またはコンピューティングデバイスの組み合わせによって実装されることができる。
【００２６】
以下に説明される機能及び方法は、ハードウェア回路またはソフトウェア回路に実装されることができる。ソフトウェアに実装される場合、関数及びメソッドは、Ｊａｖａ（登録商標）、Ｃ＃またはＣ＋＋などであるがこれらに限定されない、適切な言語で書き込まれることができ、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的に消去可能なプログラム可能な読み取り専用メモリ（ＥＥＰＲＯＭ）、コンパクトディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）またはデジタル多用途ディスク（ＤＶＤ）などの他の光ディスクストレージ、磁気ディスクストレージまたはリムーバブルサムドライブを含む他の磁気ストレージデバイスなどのようなコンピュータ可読記憶媒体上に格納される、またはこのコンピュータ可読記憶媒体を介して送信されることができる。接続は、コンピュータ可読媒体を確立することができる。それらのような接続は、例として、光ファイバと、同軸ワイヤと、デジタル加入者線（ＤＳＬ）と、ツイストペアワイヤを含むハードワイヤードケーブルを備えることができる。これらのような接続は、赤外線及びラジオを有する無線通信接続を含むことができる。
【００２７】
一実施形態に含まれるコンポーネントは、他の実施形態に、任意の適切な組み合わせで使用されることができる。例えば、本明細書に説明されている、及び／または図に描かれているさまざまなコンポーネントのいずれも、組み合わされる、交換される、または他の実施形態から除外されることができる。
【００２８】
「Ａ、Ｂ、及びＣの少なくとも１つを有するシステム」（「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」及び「Ａ、Ｂ、Ｃの少なくとも１つを有するシステム」も同様に）は、Ａだけ、Ｂだけ、Ｃだけ、Ａ及びＢを合わせて、Ａ及びＣを合わせて、Ｂ及びＣを合わせて、及び／またはＡ、Ｂ、及びＣを合わせてなどを有するシステムを含む。
【００２９】
ここで図１を具体的に参照して、本発明の原理に従って上記に言及され、以下にさらに記述される例示的なデバイスのうちの１つ以上を含むことができる、例示的なシステム１０を示す。システム１０に含まれる例示的なデバイスの最初のものは、限定されないがＴＶチューナを備えるインターネット対応ＴＶ（同等に、ＴＶを制御するセットトップボックス）などの、オーディオビデオデバイス（ＡＶＤ）１２などの家庭用電化製品（ＣＥ）デバイスである。しかしながら、代わりに、ＡＶＤ１２は、電化製品または家庭用品、例えば、コンピュータ化されたインターネット対応の冷蔵庫、洗濯機、または乾燥機であってもよい。あるいは、ＡＶＤ１２は、コンピュータ化されたインターネット対応（「スマート」）電話、タブレットコンピュータ、ノートブックコンピュータ、例えばコンピュータ化されたインターネット対応ウォッチ、コンピュータ化されたインターネット対応ブレスレット、他のコンピュータ化されたインターネット対応デバイス、コンピュータ化されたインターネット対応音楽プレーヤー、コンピュータ化されたインターネット対応ヘッドホン、埋め込み型スキンデバイスなどのコンピュータ化されたインターネット対応埋め込み型デバイスのようなコンピュータ化されたウェアラブルデバイスなどであってもよい。それにもかかわらず、ＡＶＤ１２が本発明の原理を実行するように設定されること（例えば、他のＣＥデバイスと通信して、本発明の原理を実行すること、本明細書に説明されるロジックを実行すること、及び本明細書に記載されるいずれかの他の機能及び／または操作を実行すること）を理解されたい。
【００３０】
したがって、それらのような原理を実行するために、ＡＶＤ１２は、図１に示されるコンポーネントの一部またはすべてによって確立されることができる。例えば、ＡＶＤ１２は、高精細または超高精細「４Ｋ」またはそれ以上のフラットスクリーンによって実装されることができ、ディスプレイ上でのタッチを介してユーザ入力信号を受信するためにタッチ対応であることができる、１つ以上のディスプレイ１４を含むことができる。ＡＶＤ１２は、本発明の原理に従ってオーディオを出力するための１つ以上のスピーカー１６と、可聴コマンドをＡＶＤ１２に入力してＡＶＤ１２を制御するなどのために、例えば、オーディオレシーバ／マイクロホンなどの少なくとも１つの追加の入力デバイス１８とを含むことができる。例示的なＡＶＤ１２は、１つ以上のプロセッサの制御下で、インターネット、ＷＡＮ、ＬＡＮなどのような少なくとも１つのネットワーク２２を介して通信するための１つ以上のネットワークインタフェース２０も含むことができる。したがって、インタフェース２０は、メッシュネットワークトランシーバなどであるがこれに限定されない、無線コンピュータネットワークインタフェースの例であるＷｉ−Ｆｉトランシーバであるが、これに限定されないことができる。さらに、ネットワークインタフェース２０が例えば、有線もしくは無線のモデムもしくはルータ、または例えば、上述されるようなワイヤレステレフォニートランシーバもしくはＷｉ−Ｆｉトランシーバのような他の適切なインタフェースなどであってもよいことに留意する。
【００３１】
１つ以上のプロセッサが例えば、ディスプレイ１４を制御してその上に画像を提示すること、及びそこから入力を受信することなど、本明細書に記載されるＡＶＤ１２の他の要素を含む、本発明の原理を実行するようにＡＶＤ１２を制御することを理解されたい。１つ以上のプロセッサは、中央処理装置（ＣＰＵ）２４、及びグラフィックスカード２５Ａ上のグラフィックスプロセッシングユニット（ＧＰＵ）２５を含むことができる。ＧＰＵは、ＤｉｒｅｃｔＸ１１スタイルの高レベルシェーディング言語などを使用してソフトウェアに実装される計算シェーダと関連付けられることができる。
【００３２】
前述に加えて、ＡＶＤ１２は、ＡＶＤ１２からヘッドホンを介してユーザにオーディオを提示するために、別のＣＥデバイス及び／またはヘッドホンポートに物理的に接続して（例えば、有線接続を使用する）ヘッドホンをＡＶＤ１２に接続する、例えば、高精細マルチメディアインタフェース（ＨＤＭＩ（登録商標））ポートまたはＵＳＢポートなどの１つ以上の入力ポート２６をも含むことができる。例えば、入力ポート２６は、有線または無線を介して、オーディオビデオコンテンツのケーブルまたは衛星ソース２６ａに接続されることができる。したがって、このソース２６ａは、例えば、別個の、もしくは統合されたセットトップボックス、または衛星受信器であることができる。あるいは、ソース２６ａは、以下でさらに説明されるチャネル割り当て目的のためにユーザがお気に入りと見なされることができるコンテンツを含むゲームコンソールまたはディスクプレーヤーであってもよい。ソース２６ａは、ゲームコンソールとして実装される場合、ＣＥデバイス４４に関連して以下で説明されるコンポーネントの一部またはすべてを含むことができ、本明細書に説明されるロジックの一部またはすべてを実装することができる。
【００３３】
さらに、ＡＶＤ１２は、一時的な信号ではない、場合によっては、ＡＶＤのシャーシ中のスタンドアロンデバイスとして、またはＡＶプログラムを再生するためのＡＶＤのシャーシの内部の、もしくは外部のいずれか一方のパーソナルビデオ記録デバイス（ＰＶＲ）もしくはビデオディスクプレーヤーとして、またはリムーバブルメモリメディアとして具現化される、ディスクベースの、またはソリッドステートストレージなどの１つ以上のコンピュータメモリ２８を含むことができる。また、いくつかの実施形態では、ＡＶＤ１２は、例えば、少なくとも１つの衛星またはセルフォンタワーから地理的位置情報を受信し、その情報をプロセッサ２４に提供する、及び／またはＡＶＤ１２がプロセッサ２４と共に配置される高度を決定するように設定される、限定ではないが、携帯電話受信器、ＧＰＳ受信器及び／または高度計３０などの位置決めまたは位置選定受信器を含むことができる。しかしながら、本発明の原理に従い携帯電話受信器、ＧＰＳ受信器及び／または高度計以外の別の適切な位置受信器を使用して、例えば、すべての３次元におけるＡＶＤ１２の位置を決定することができることを理解されたい。
【００３４】
ＡＶＤ１２の説明を続けて、いくつかの実施形態では、ＡＶＤ１２は、例えば、本発明の原理に従い写真／画像及び／またはビデオを収集するために、熱撮像カメラ、ウェブカメラなどのデジタルカメラ、及び／またはＡＶＤ１２に統合され、プロセッサ２４によって制御可能なカメラであることができる１つ以上のカメラ３２を含むことができる。また、ＡＶＤ１２上に含まれるのは、それぞれＢｌｕｅｔｏｏｔｈ（登録商標）及び／またはＮＦＣ技術を使用する他のデバイスと通信するためのＢｌｕｅｔｏｏｔｈ（登録商標）トランシーバ３４及び他の近距離無線通信（ＮＦＣ）素子３６であることができる。ＮＦＣ素子の例は、無線周波数識別（ＲＦＩＤ）素子であることができる。
【００３５】
またさらに、ＡＶＤ１２は、プロセッサ２４に入力を提供する、１つ以上の補助センサ３７（例えば、加速度計、ジャイロスコープ、サイクロメーター、または磁気センサなどのモーションセンサ、赤外線（ＩＲ）センサ、光学センサ、速度センサ及び／またはケイデンスセンサ、ジェスチャセンサ（例えば、ジェスチャコマンドを感知するための）など）を含むことができる。ＡＶＤ１２は、プロセッサ２４への入力を提供するＯＴＡ  ＴＶ放送を受信するための無線ＴＶブロードキャストポート３８を含むことができる。前述に加えて、ＡＶＤ１２がＩＲデータ関連付け（ＩＲＤＡ）デバイスなどの、赤外線（ＩＲ）トランスミッタ及び／またはＩＲレシーバ及び／またはＩＲトランシーバ４２も含むことができることに留意する。ＡＶＤ１２に電力を供給するためにバッテリ（図示せず）を提供することができる。
【００３６】
さらに図１を参照して、ＡＶＤ１２に加えて、システム１０は、１つ以上の他のＣＥデバイスタイプを含むことができる。一例では、第一ＣＥデバイス４４を使用して以下に説明されるサーバを通して送信されるコマンドを介してディスプレイを制御することができ、第二ＣＥデバイス４６は、第一ＣＥデバイス４４と同様のコンポーネントを含むことができるため、詳細には説明されない。示される例では、２つのＣＥデバイス４４、４６のみが示され、より少ない、またはより多いデバイスを使用することができることが理解される。上記で触れたように、ＣＥデバイス４４／４６及び／またはソース２６ａは、ゲームコンソールによって実装されてもよい。あるいは、１つ以上のＣＥデバイス４４／４６は、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅｃａｓｔ（商標）の商標、Ｒｏｋｕ（登録商標）の下で販売されているデバイスによって実装されることができる。ＣＥデバイスは、デジタルアシスタントによって確立されてもよく、その例が以下にさらに示され、説明される。
【００３７】
示されている例では、本発明の原理を示すために、３つのデバイス１２、４４、４６は、すべて、自宅などの内のエンターテインメントネットワークのメンバーである、または少なくとも家などの位置で互いに近接して存在すると仮定される。しかしながら、本発明の原理については、別に明示的に主張されない限り、破線４８で示される特定の位置に限定されない。
【００３８】
非限定的な第一ＣＥデバイス４４の例は、上述のデバイス、例えば、デジタルアシスタント、ポータブルワイヤレスのラップトップコンピュータまたはノートブックコンピュータまたはゲームコントローラ（「コンソール」とも呼ばれる）のいずれか１つによって確立されてもよく、したがって、以下に説明されるコンポーネントの１つ以上を含むことができる。第二ＣＥデバイス４６は、限定ではないが、Ｂｌｕ−ｒａｙ（登録商標）プレーヤー、ゲームコンソールなどのようなビデオディスクプレーヤーによって確立されることができる。第一ＣＥデバイス４４は、ＡＶＤ１２にＡＶ再生コマンド及び一時停止コマンドを発行するなどのためのリモートコントロール（ＲＣ）であることができる。または、それは、タブレットコンピュータ、有線もしくは無線リンクを介して第二ＣＥデバイス４６によって実装されたゲームコンソールと通信してＡＶＤ１２上のビデオゲームプレゼンテーションを制御するゲームコントローラ、パーソナルコンピュータ、無線電話などのようなより洗練されたデバイスであることができる。
【００３９】
したがって、第一ＣＥデバイス４４は、１つ以上のディスプレイ５０を含むことができ、これらのディスプレイは、ディスプレイ上のタッチを介してユーザ入力信号を受信するためにタッチ対応であることができる。第一ＣＥデバイス４４は、本発明の原理に従ってオーディオを出力するための１つ以上のスピーカー５２と、可聴コマンドを第一ＣＥデバイス４４に入力してデバイス４４を制御するなどのために、例えば、オーディオレシーバ／マイクロホンなどの少なくとも１つの追加の入力デバイス５４とを含むことができる。例示的な第一ＣＥデバイス４４は、１つ以上のＣＥデバイスプロセッサ５８の制御下でネットワーク２２を介して通信するための１つ以上のネットワークインタフェース５６も含むことができる。したがって、インタフェース５６は、メッシュネットワークインタフェースを含む、無線コンピュータネットワークインタフェースの例であるＷｉ−Ｆｉトランシーバであるが、これに限定されないことができる。プロセッサ５８が例えば、ディスプレイ５０を制御してその上に画像を提示すること、及びそこから入力を受信することなど、本明細書に記載される第一ＣＥデバイス４４の他の要素を含む、本発明の原理を実行するように第一ＣＥデバイス４４を制御することを理解されたい。さらに、ネットワークインタフェース５６が例えば、有線もしくは無線のモデムもしくはルータ、または例えば、上述されるようなワイヤレステレフォニートランシーバもしくはＷｉ−Ｆｉトランシーバのような他の適切なインタフェースなどであってもよいことに留意する。
【００４０】
前述に加えて、第一ＣＥデバイス４４は、第一ＣＥデバイス４４からヘッドホンを介してユーザにオーディオを提示するために、別のＣＥデバイス及び／またはヘッドホンポートに物理的に接続して（例えば、有線接続を使用する）ヘッドホンを第一ＣＥデバイス４４に接続する、例えば、ＨＤＭＩ（登録商標）ポートまたはＵＳＢポートなどの１つ以上の入力ポート６０をも含むことができる。さらに、第一ＣＥデバイス４４は、ディスクベースの、またはソリッドステートストレージなどの１つ以上の有形のコンピュータ可読記憶媒体６２を含むことができる。また、いくつかの実施形態では、第一ＣＥデバイス４４は、例えば、三角測量を使用して少なくとも１つの衛星及び／またはセルタワーから地理的位置情報を受信し、その情報をこのＣＥデバイスプロセッサ５８に提供する、及び／または第一ＣＥデバイス４４がこのＣＥデバイスプロセッサ５８と共に配置される高度を決定するように設定される、限定ではないが、携帯電話及び／またはＧＰＳ受信器及び／または高度計６４などの位置決めまたは位置選定受信器を含むことができる。しかしながら、本発明の原理に従い携帯電話及び／またはＧＰＳ受信器及び／または高度計以外の別の適切な位置受信器を使用して、例えば、すべての３次元などにおける第一ＣＥデバイス４４の位置を決定することができることを理解されたい。
【００４１】
第一ＣＥデバイス４４の説明を続けて、いくつかの実施形態では、第一ＣＥデバイス４４は、１つ以上のカメラ６６を含むことができ、これらのカメラは、例えば、本発明の原理に従い写真／画像及び／またはビデオを収集するために、熱撮像カメラ、ウェブカメラなどのデジタルカメラ、及び／または第一ＣＥデバイス４４に統合され、ＣＥデバイスプロセッサ５８によって制御可能なカメラであることができる。また、第一ＣＥデバイス４４上に含まれるのは、それぞれＢｌｕｅｔｏｏｔｈ（登録商標）及び／またはＮＦＣ技術を使用する他のデバイスと通信するためのＢｌｕｅｔｏｏｔｈ（登録商標）トランシーバ６８及び他の近距離無線通信（ＮＦＣ）素子７０であることができる。ＮＦＣ素子の例は、無線周波数識別（ＲＦＩＤ）素子であることができる。
【００４２】
またさらに、第一ＣＥデバイス４４は、ＣＥデバイスプロセッサ５８に入力を提供する、１つ以上の補助センサ７２（例えば、加速度計、ジャイロスコープ、サイクロメーター、または磁気センサなどのモーションセンサ、赤外線（ＩＲ）センサ、光学センサ、速度センサ及び／またはケイデンスセンサ、ジェスチャセンサ（例えば、ジェスチャコマンドを感知するための）など）を含むことができる。第一ＣＥデバイス４４は、例えば、ＣＥデバイスプロセッサ５８に入力を提供する、１つ以上の気象センサ７４（例えば、気圧計、湿度センサ、風力センサ、照度センサ、温度センサなど）及び／または１つ以上のバイオメトリックセンサ７６などのさらに他のセンサを含むことができる。前述に加えて、いくつかの実施形態において、第一ＣＥデバイス４４がＩＲデータ関連付け（ＩＲＤＡ）デバイスなどの、赤外線（ＩＲ）トランスミッタ及び／またはＩＲレシーバ及び／またはＩＲトランシーバ７８も含むことができることに留意する。第一ＣＥデバイス４４に電力を供給するためにバッテリ（図示せず）を提供することができる。ＣＥデバイス４４は、上述の通信モード及び関連したコンポーネントのいずれかを介してＡＶＤ１２と通信することができる。
【００４３】
第二ＣＥデバイス４６は、ＣＥデバイス４４について示されるコンポーネントの一部またはすべてを含むことができる。一方の、または両方のいずれかのＣＥデバイスは、１つ以上のバッテリから電力を供給されることができる。
【００４４】
ここで、前述の少なくとも１つのサーバ８０を参照して、そのサーバは、少なくとも１つのサーバプロセッサ８２、ディスクベースの、またはソリッドステートストレージなどの少なくとも１つの有形のコンピュータ可読記憶媒体８４を含む。一実施態様では、媒体８４は、１つ以上のソリッドステートストレージドライブ（ＳＳＤ）を含む。サーバは、ネットワーク２２を介して図１の他のデバイスとの通信を可能にし、本発明の原理に従ってサーバとクライアントデバイスとの間の通信を実際に容易にすることができる、少なくとも１つのネットワークインタフェース８６も含む。ネットワークインタフェース８６が例えば、有線もしくは無線のモデムもしくはルータ、Ｗｉ−Ｆｉトランシーバ、または例えば、ワイヤレステレフォニートランシーバなどの他の適切なインタフェースであってもよいことに留意する。ネットワークインタフェース８６は、サーバプロセッサ８２を通過することなく、媒体８４をいわゆる「ファブリック」などのネットワークに直接接続するリモートダイレクトメモリアクセス（ＲＤＭＡ）インタフェースであってもよい。ネットワークは、イーサネット（登録商標）ネットワーク及び／またはファイバチャネルネットワーク及び／またはＩｎｆｉｎｉＢａｎｄネットワークを含んでもよい。通常、サーバ８０は、物理サーバ「スタック」に配置されることができる「ブレード」と呼ばれる複数のコンピュータに複数のプロセッサを含む。
【００４５】
したがって、いくつかの実施形態では、サーバ８０は、インターネットサーバまたは「サーバファーム」全体であることができ、例えば、ネットワークゲームアプリケーション、デジタルアシスタントアプリケーションなどについての例示的な実施形態においてシステム１０のデバイスがサーバ８０を介して「クラウド」環境にアクセスすることができるように「クラウド」機能を含み、実行することができる。あるいは、サーバ８０は、図１に示される他のデバイスと同じ部屋の中の、またはこの近くの１つ以上のゲームコンソールまたは他のコンピュータによって実装されてもよい。
【００４６】
図２以降を参照する前に、「パッチ」（基本的に、レンダリングされるオブジェクトモデルの一部）は、パッチのパラメトリック接平面のどの部分も正面ではない場合、背面として分類されることができる。したがって、パラメトリック接平面（ＰＴＰ）手法を使用して、パッチが正面であるか背面であるかを判定することができる。このテストは、接平面を直接評価するのではなく、接平面のいずれかの係数が正面であるかどうかをチェックすることで、例えば図１のＧＰＵ２５上で効率的に実行されることができる。パラメトリック接平面の係数は、パッチの制御点の重み付き総和を実行することによって計算される。この手法は、上記の論文に記載されており、有利に高いカリング率を有し、高速になるように最適化されることができる。
【００４７】
上記を念頭に置いて、ここでテッセレーション（三角形２０２で示される）後の標準的な双三次ベジエ正面パッチ２００を示す、図２を参照する。通常、パッチ２００は、アーティストによって提供される単純なモデルのパッチであり、アーティストは、単純なモデルを変更して（通常はテッセレーション後に）レンダリング用のオブジェクトの複雑なモデルを作成する方法を定義する変位「テクスチャ」も提供することができる。
【００４８】
図３では、制御ケージ３００は、パッチ２００上にオーバーレイされて概略的に示されている。制御ケージ３００は、比較的太い線３０２で表され、テッセレートされた曲面の形状に影響する。制御ケージライン３０２の交点３０４は、パッチ２００の制御点を定義する。示される例では、十六（１６）個の制御点３０４を定義する。これらの制御点は、以下でさらに詳しく説明されるように、パラメトリック接平面の計算への入力である。非限定的な実装例では、パッチは、アーティストによって作成されたメッシュの単純なバージョンを細分割し、細分割の極限曲面からパッチを抽出することによって記述される。直接レンダリングされる、またはベジエなどの他の形式に変換されることができる１セットの双三次Ｂスプラインパッチとして極限曲面を解釈することができるため、抽出が可能である。制御ケージを手動で定義することもできる。
【００４９】
例示のために、図４は、背面であるように回転したパッチ２００を示す。パッチが背面であるためテッセレーションからカリングされていることを示す、パラメトリック接平面の係数をチェックすることによってパッチをカリングすることができたため、テッセレートされたパーツが描画されないことに留意する。
【００５０】
本発明の原理がどのようにＰＴＰカリング手法を拡張して変位で機能するかを理解しやすくするために、図５は、変位例が適用されているパッチ２００を示す。示されている例では、変位は、図３に示されている元の制御ケージ３００の境界の外側に比較的遠くに広がる部分５００を含むため、パラメトリック接平面の計算を実行するときに考慮されることができない（計算への入力のみが元の制御点であることから）。
【００５１】
図６は、変位を考慮するロジックの例を示す。ブロック６００で開始して、所望のディスプレイスメントマップ（典型的にはモデルを作成したアーティストによって提供される）を前処理でサンプリングして、パッチごとの変位の範囲を決定することができる。これは、パッチごとの変位がわからない場合、カリング率が非常に低い可能性があることにより、カリング時にタイトな境界を確立するためである。示されている例では、新しいパッチを作成して変位範囲を制限するために、法線方向におけるパッチ上の最大変位と、法線の反対方向におけるパッチ上の最大変位とをそれぞれ見つけることによって、各パッチについての正及び負の変位を取得することに留意する。
【００５２】
実行時に、例えば、本明細書に記載されているもののいずれかなどのコンピュータゲームコンソールによるコンピュータゲームなどのグラフィックスプログラムのレンダリング中に、ブロック６０２において、描画する前に計算シェーダなどの中に、レンダリングされる各パッチをロードする。前述されるように、計算シェーダをグラフィックスカード２５Ａ上に実装することができる。
【００５３】
ブロック６０４において、計算シェーダなどによって、パッチの４本の法線を計算する。実装では、４つのコーナー制御点のそれぞれに対して４本の法線を計算する。一例では、これは、コーナー制御点ベクトルと、コーナーのすぐ隣の制御点ベクトルとの間の単純な外積によって実行されてもよい。
【００５４】
図７を示す。図３に示される元のケージ３００を使用すると仮定し、１６個の制御点を定義する。説明のために、図７では、示されるようにこれらの制御点に番号を付ける。０、３、１２、及び１５の番号が付けられた制御点は、コーナー制御点である。コーナー０における法線は、制御点０、１、及び４の外積を使用して計算される。点３、１２、及び１５についての法線は、点２、３、７（制御点３について）、１１、１４、１５（制御点１５について）、ならびに８、１２、及び１３（制御点１２について）と関連する外積をそれぞれ使用して同様に計算される。
【００５５】
制御点の法線が決定されると、図６のロジックは、ブロック６０６に移動し、このブロック６０６においてコーナー制御点の法線を使用して、それらのそれぞれの最も近い非コーナー制御点をブロック６００で識別された変位範囲だけ変位させる。最も近い非コーナー制御点は、２回（正の方向の後に負の方向の両方の方向に）変位し、元のパッチ２００の周囲に凸包を形成する２つの新しいパッチを作成する。上述のように、ブロック６０６において、法線方向におけるパッチ上の最大変位、及び法線の反対方向におけるパッチ上の最大変位を使用することができる。
【００５６】
したがって、コーナー制御点０について、コーナー制御点０は、そのまま残され、点４、５、及び１（コーナー制御点０に最も近い隣接制御点）は、コーナー制御点０での法線方向における範囲だけ変位する。同様に、コーナー制御点３は、そのまま残され、点２、６、及び７（コーナー制御点３に最も近い隣接制御点）は、コーナー制御点３での法線方向における範囲だけ変位し、コーナー制御点１５は、そのまま残され、点１０、１１、及び１４（コーナー制御点１５に最も近い隣接制御点）は、コーナー制御点１５での法線方向における範囲だけ変位し、コーナー制御点１２は、そのまま残され、点８、９、及び１３（コーナー制御点１２に最も近い隣接制御点）は、コーナー制御点１２での法線方向における範囲だけ変位する。
【００５７】
したがって、コーナー制御点は、変位前と同じように「固定」されたままであり、それぞれのコーナー制御点に最も近い内部制御点のみが変位する。
【００５８】
図８及び図９は、説明のために、制御点を２つの異なる向きから正及び負の範囲の両方で変位させて、ケージ描画８００を第一向きから、そしてケージ描画９００を第二向きからレンダリングした結果を示す。正の範囲がバンプの周りに広がる大きなケージであることに留意する。負の範囲は、示されているパッチの例でははるかに小さいが、図８のパッチ平面の下に向かいわずかに小さいことがわかることができる。図９では、正の範囲は、面法線に対して正または負であるため、まだ大きなバンプのある側にある。負の範囲は、パッチが法線の反対側にわずかに小さく変位していることを示す、図９でより明確にわかることができる。いずれの場合でも、図９は、パッチを回転させたときに、もはや誤ってカリングされないことを示す。
【００５９】
図６に戻り、ＰＴＰを使用して元のケージ２００をチェックするのではなく、変位によるカリングを行うことは、図８及び９に示される新しいケージの両方に対してチェックすることによって行われることができる。考察のために、新しいパッチを図中の新しいケージの制御点によって定義することを強調するためにここで「ケージ」を参照することに留意する。これらの図でテッセレートされているパッチは、元のパッチのままである。新しいパッチがカリングを計算する際の中間としてのみ使用され、実際には曲面として描画されることはないため、図は、新しいパッチのテッセレーションを示さない。
【００６０】
より具体的には、判定ひし形６０８に進み、ＰＴＰを第一変位上に実施し、正の変位パッチのＰＴＰのいずれかの係数が正面を示すかどうかを判定する。正の変位をチェックする際の係数が正面を示さない場合、ロジックは、判定ひし形６１０に移動して、負の変位パッチ上で実施されるＰＴＰのいずれかの係数が正面を示すかどうかを判定することができる。負の変位における係数が正面を示さない場合、ロジックは、ブロック６１２に移動して、テッセレーションからパッチをカリングすることができる。一方、いずれか一方の変位のいずれかの制御点のいずれかの係数が正面を示す場合、パッチは、ブロック６１２においてカリングされないため、テッセレートされる。フレームのすべてのパッチが判定ひし形６１４で判定されるように処理される場合に、次のフレームは、ブロック６１６に示されるように処理され、それ以外の場合に、フレーム内の次のパッチは、ブロック６１８でアクセスされ、プロセスは、ループしてブロック６０２に戻り、次のパッチをロードする。
【００６１】
したがって、実行時にプロセスは、一例では、ＰｌａｙＳｔａｔｉｏｎ（登録商標）などのゲームコンソール上の計算シェーダによって実行されることができる。各フレームの開始時に、各パッチをカリングについてチェックする。これにより、カメラがシーンの至る所で移動する、またはメッシュがシーン内を移動するときに、計算シェーダが動的にカリングすることができる。ブロック６１２に描画されるように、カリングをパスしたパッチのみを送信する。
【００６２】
本明細書の方法は、プロセッサ、適切に設定された特定用途向け集積回路（ＡＳＩＣ）もしくはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）モジュール、または当業者によって理解されるような任意の他の便利な方式によって実行される、ソフトウェアインストラクションとして実装されることができる。そこで使用される場合、ソフトウェアインストラクションは、ＣＤ  ＲＯＭまたはフラッシュドライブなどの非一時的なデバイスに具現化されることができる。代替に、ソフトウェアコードインストラクションは、ラジオもしくは光信号などの一時的な配置で、またはインターネット経由のダウンロードを介して具現化されてもよい。
【００６３】
本発明の原理がいくつかの例示的な実施形態を参照して説明されているが、これらは限定を意図するものではなく、さまざまな代替構成を使用して本明細書に請求される発明の主題を実装することができることが理解されよう。
【図１】
2021511574.tif 000003
【図２】
2021511574.tif 000004
【図３】
2021511574.tif 000005
【図４】
2021511574.tif 000006
【図５】
2021511574.tif 000007
【図６】
2021511574.tif 000008
【図７】
2021511574.tif 000009
【図８】
2021511574.tif 000010
【図９】
2021511574.tif 000011
【国際調査報告】
2021511574.tif 000012
2021511574.tif 000013
2021511574.tif 000014