(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-09
(45)【発行日】2024-12-17
(54)【発明の名称】低解像度のデータ構造からテクスチャを表す高解像度のデータ構造を作成するための機械学習技術
(51)【国際特許分類】
G06T 15/04 20110101AFI20241210BHJP
G06T 9/00 20060101ALI20241210BHJP
【FI】
G06T15/04
G06T9/00 200
(21)【出願番号】P 2022568953
(86)(22)【出願日】2021-04-30
(86)【国際出願番号】 US2021030313
(87)【国際公開番号】W WO2021231110
(87)【国際公開日】2021-11-18
【審査請求日】2022-11-11
(32)【優先日】2020-05-11
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518187455
【氏名又は名称】ソニー・インタラクティブエンタテインメント エルエルシー
(74)【代理人】
【識別番号】100105924
【氏名又は名称】森下 賢樹
(72)【発明者】
【氏名】ホブソン、ジョシュア スコット
【審査官】▲高▼橋 真之
(56)【参考文献】
【文献】米国特許出願公開第2019/0304140(US,A1)
【文献】特開2020-064557(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 15/04
G06T 9/00
(57)【特許請求の範囲】
【請求項1】
アセンブリであって、
少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、
少なくとも1つのコンピュータグラフィックテクスチャを表す少なくとも第1のデータ構造を受信することであって、前記第1のデータ構造は第1の解像度を有する、前記受信することと、
前記コンピュータグラフィックテクスチャを表す第2のデータ構造を生成するために前記第1のデータ構造を処理することであって、前記第2のデータ構造は前記第1の解像度とは異なる第2の解像度を有する、前記処理することと、
前記第2のデータ構造を使用して、少なくとも1つのディスプレイにオブジェクトをレンダリングすることと、
を行う命令で構成され、
前記第2のデータ構造を生成するために前記第1のデータ構造を処理することは、
第1の機械学習モデルを用いて前記コンピュータグラフィックテクスチャにおける反射データを処理して前記第2のデータ構造で表された出力を生成することと、
第2の機械学習モデルを用いて前記コンピュータグラフィックテクスチャにおけるアルベドデータを処理して前記第2のデータ構造で表された出力を生成することと、
第3の機械学習モデルを用いて前記コンピュータグラフィックテクスチャにおける法線データと粗度データを一緒に処理して前記第2のデータ構造で表された出力を生成することとを含む、アセンブリ。
【請求項2】
前記第1のデータ構造はミップマップを含む、請求項1に記載のアセンブリ。
【請求項3】
前記第1の解像度は前記第2の解像度よりも低い、請求項1に記載のアセンブリ。
【請求項4】
前記第1の解像度は前記第2の解像度よりも高い、請求項1に記載のアセンブリ。
【請求項5】
前記コンピュータグラフィックテクスチャは、物理ベースレンダリング及びマテリアル(PBR)データを含む、請求項1に記載のアセンブリ。
【請求項6】
前記第1のデータ構造はブロック圧縮(BCn)を使用して圧縮され、nは整数である、請求項1に記載のアセンブリ。
【請求項7】
前記第1のデータ構造は入力ミップマップを含み、前記第2のデータ構造は前記入力ミップマップよりも1ミップレベル高いミップマップを含む、請求項1に記載のアセンブリ。
【請求項8】
前記入力ミップマップはテールミップマップを含む、請求項7に記載のアセンブリ。
【請求項9】
前記第1のデータ構造は、前記法線データと、前記粗度データとを含む、請求項1に記載のアセンブリ。
【請求項10】
アセンブリであって、
少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、
第1のミップマップを受信することと、
前記第1のミップマップから第2のミップマップを生成することと、
を行うことが実行可能である命令で構成され、
前記第1のミップマップから前記第2のミップマップを生成することは、
第1の機械学習モデルを用いてコンピュータグラフィックテクスチャにおける反射データを処理して前記第2のミップマップで表された出力を生成することと、
第2の機械学習モデルを用いて前記コンピュータグラフィックテクスチャにおけるアルベドデータを処理して前記第2のミップマップで表された出力を生成することと、
第3の機械学習モデルを用いて前記コンピュータグラフィックテクスチャにおける法線データと粗度データを一緒に処理して前記第2のミップマップで表された出力を生成することとによって行われる、アセンブリ。
【請求項11】
前記第2のミップマップは、機械学習エンジンを使用して前記第1のミップマップから生成される、請求項10に記載のアセンブリ。
【請求項12】
前記第1のミップマップは第1の解像度によって特徴付けられ、
前記第2のミップマップは第2の解像度によって特徴付けられ、
前記第1の解像度は前記第2の解像度よりも低い、請求項10に記載のアセンブリ。
【請求項13】
前記第1のミップマップは第1の解像度によって特徴付けられ、
前記第2のミップマップは第2の解像度によって特徴付けられ、
前記第1の解像度は前記第2の解像度よりも高い、請求項10に記載のアセンブリ。
【請求項14】
前記第1のミップマップは、物理ベースレンダリング及びマテリアル(PBR)データを含む、請求項10に記載のアセンブリ。
【請求項15】
前記第1のミップマップはブロック圧縮(BCn)を使用して圧縮され、nは整数である、請求項10に記載のアセンブリ。
【請求項16】
前記第2のミップマップは、前記第1のミップマップよりも1ミップレベル高い、請求項10に記載のアセンブリ。
【請求項17】
前記第1のミップマップはテールミップマップを含む、請求項16に記載のアセンブリ。
【請求項18】
前記第1のミップマップは、法線データを含む少なくとも第1のブロックと、粗度データを含む少なくとも第2のブロックとを含み、
前記命令は、法線データの少なくとも4つのブロック及び粗度データの4つのブロックを含む前記第2のミップマップを生成するために実行可能である、請求項10に記載のアセンブリ。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、必然的にコンピュータ技術が原因となり、具体的な技術的改善を生じさせる、技術的に発明性のある非定型な解決策に関する。
【背景技術】
【0002】
コンピュータゲーム等のコンピュータシミュレーションでは、オブジェクトの表面を表す「テクスチャ」データを使用して、オブジェクトの一部をレンダリングする。所与のオブジェクトのテクスチャデータが多くなるにつれて、レンダリングの解像度が高くなる可能性がある。しかしながら、帯域幅に関する目的で、大きなテクスチャデータ構造をレンダリングデバイスに送信しないことが望ましい。
【発明の概要】
【0003】
本明細書で理解されるように、いわゆる「ミップマップ(mipmap)」(ラテン語のmultum in parvo(入れ物は小さくても内容は豊富であること)から由来する)は、以下の方法で帯域幅を節約するために使用され得る。ミップマップは一連のテクスチャデータ構造であり、テクスチャデータ構造のそれぞれは、前のテクスチャデータ構造の解像度を徐々に下げて表現したものである。通常、この減少は各次元で2分の1になる。高解像度のミップマップを使用してビューアの近くのオブジェクトをレンダリングし、低解像度のミップマップを使用してビューアから離れたオブジェクトをレンダリングすることによって、帯域幅が節約される。通常、ミップマップレベルは、画像のピクセル密度に最もマッチするレベルに選ばれる。理想的には、スクリーンピクセルごとに1つのテクスチャピクセルが望まれる。テクスチャピクセルは、「テクセル」(テクスチャ及びピクセルの組み合わせ)とも呼ばれ得る。
【0004】
しかしながら、本明細書でも理解されるように、メモリを節約するために、テクスチャデータは、通常、GPUでネイティブにサンプル可能な様々なブロック圧縮(BCn)モードの1つに圧縮される。テクスチャの最大解像度は、通常、ストレージスペースの制約及びアーティストのオーサリング時間によって制限される。既存の機械学習ベースの技術等を使用して、低解像度から高解像度の画像を生成するには、最初に、BCn圧縮テクスチャデータを解凍し、アップサンプリングして再圧縮する必要がある。これは、低解像度画像及び高解像度画像の両方の非圧縮バージョンに余分なストレージスペースが必要であり、BCn圧縮のプロセスは非常に複雑で計算コストが高いため、望ましくない。
【0005】
したがって、アセンブリは、少なくとも1つのコンピュータグラフィックテクスチャを表す少なくとも第1のデータ構造を受信するための命令で構成された少なくとも1つのプロセッサを含む。第1のデータ構造は第1の解像度を有する。命令は、コンピュータグラフィックテクスチャを表す第2のデータ構造を生成するために少なくとも1つのニューラルネットワーク(NN)を使用して第1のデータ構造を処理するために実行可能であり、第2のデータ構造は第1の解像度よりも高い第2の解像度を有する。したがって、第2のデータ構造は、圧縮または解凍を使用しないで、第1のデータ構造から生成される。命令は、画面に直接表示されるか、または中間のレンダリング段階で表示されるかに関係なく、レンダリングに第2のデータ構造を使用するために実行可能である。
【0006】
コンピュータグラフィックテクスチャは、物理ベースレンダリング(PBR)マテリアルに使用されるデータを含み得、ブロック圧縮(BCn)を使用して圧縮され得る。ここで、nは整数である。
【0007】
いくつかの例では、第1のデータ構造は入力ミップマップを含み、第2のデータ構造は入力ミップマップよりも1ミップレベル高いミップマップを含む。入力ミップマップはテールミップマップを含み得る。
【0008】
非限定的な実施態様では、第1のデータ構造は、法線データの少なくとも第1のブロックと、粗度データの少なくとも第2のブロックとを含み得、命令は、法線データの少なくとも4つのブロック及び粗度データの4つのブロックの第2のデータ構造を一緒に生成するために実行可能であり得る。
【0009】
非限定的な実施態様では、第1のデータ構造は、機械学習に通知するのを助けるために、テクスチャデータの少なくとも第1のブロックと、近接するテクスチャデータの少なくとも第2のブロックとを含み得、命令は、テクスチャデータの少なくとも4つのブロックの第2のデータ構造を生成するために実行可能であり得る。
【0010】
別の態様では、レンダリングアセンブリは、第1の圧縮ミップマップを受信し、第1の圧縮ミップマップの圧縮または解凍を使用しないで、第1の圧縮ミップマップから第2の圧縮ミップマップを生成するために実行可能な命令で構成された少なくとも1つのプロセッサを含む。
【0011】
別の態様では、本方法は、少なくとも1つの機械学習(ML)エンジンにアクセスすることと、コンピュータディスプレイにオブジェクトを提示するために、MLエンジンを使用してテクスチャをアップスケーリングまたはダウンスケーリングすることと、を含む。
【0012】
本願の詳細は、その構造及び動作の両方について、添付図を参照して最も良く理解でき、図において、同様の参照符号が同様の部分を指す。
【図面の簡単な説明】
【0013】
【
図1】本発明の原理に従った例を含む例示的なシステムのブロック図である。
【
図3】PBRマテリアルのコンポーネントの例を示す。
【
図4】グラウンドトゥルーストレーニングデータを提供するための例示的なフローチャート形式の例示的なロジックを示す。
【
図5】テクスチャレンダリング機械学習エンジンをトレーニングするための例示的なフローチャート形式の例示的なロジックを示す。
【
図6】レンダラーにテクスチャを提供するための例示的なフローチャート形式の例示的なロジックを示す。
【
図7】機械学習エンジンを使用して入力テクスチャをアップスケーリングするための例示的なフローチャート形式の例示的なロジックを示す。
【
図8】2つのテクスチャデータタイプを一緒にアップスケーリングするための例示的なロジックをフローチャート形式で示す。
【発明を実施するための形態】
【0014】
本開示は、概して、コンピュータエコシステムで家電製品(CE)デバイスに基づくユーザー情報の態様を含むコンピュータエコシステムに関する。本明細書のシステムは、クライアントコンポーネントとサーバーコンポーネントとの間でデータが交換され得るようにネットワークを通じて接続されたサーバーコンポーネント及びクライアントコンポーネントを含み得る。クライアントコンポーネントは、ポータブルテレビ(例えば、スマートテレビ、インターネット対応テレビ)、ラップトップコンピュータ及びタブレットコンピュータ等のポータブルコンピュータ、ならびにスマートフォン及び下記に説明される追加の例を含む他のモバイルデバイスを含む、1つ以上のコンピューティングデバイスを含み得る。これらのクライアントデバイスは、様々な動作環境で動作し得る。例えば、クライアントコンピュータの一部は、例として、MicrosoftまたはUnix(登録商標)またはApple社またはGoogleから入手されたオペレーティングシステムを使用し得る。これらの動作環境を使用して、MicrosoftもしくはGoogleもしくはMozillaによって作成されたブラウザ、または下記に説明されるインターネットサーバーによってホストされたウェブアプリケーションにアクセスできる他のブラウザプログラム等の1つ以上の閲覧プログラムを実行し得る。
【0015】
サーバーは、インターネット等のネットワークを通じてデータを受信及び伝送するサーバーを構成する命令を実行する1つ以上のプロセッサを含み得る。または、クライアント及びサーバーは、ローカルイントラネットまたは仮想プライベートネットワークを通じて接続できる。サーバーまたはコントローラは、Sony PlayStation(登録商標)等のゲーム機、パーソナルコンピュータ等によってインスタンス化され得る。
【0016】
情報は、クライアントとサーバーとの間でネットワークを通じて交換され得る。この目的のために及びセキュリティのために、サーバー及び/またはクライアントは、ファイアウォール、ロードバランサ、テンポラリストレージ、及びプロキシ、ならびに信頼性及びセキュリティのための他のネットワークインフラストラクチャを含み得る。1つ以上のサーバーは、ネットワークメンバーにオンラインソーシャルウェブサイト等のセキュアコミュニティを提供する方法を実施する装置を形成し得る。
【0017】
本明細書で使用する場合、命令は、システム内の情報を処理するためのコンピュータ実施ステップを指す。命令は、ソフトウェア、ファームウェア、またはハードウェアで実施でき、システムのコンポーネントが実施する任意のタイプのプログラム化されたステップを含み得る。
【0018】
プロセッサは、アドレスライン、データライン、及び制御ライン等の様々なライン、ならびにレジスタ及びシフトレジスタによってロジックを実行できるシングルチッププロセッサまたはマルチチッププロセッサであり得る。プロセッサは、1つ以上のグラフィックス処理ユニット(GPU)によって実装され得る、またはそれを含み得る。
【0019】
本明細書でフローチャート及びユーザーインタフェースによって記述されるソフトウェアモジュールは、様々なサブルーチン、プロシージャー等を含み得る。本開示を限定することなく、特定のモジュールによって実行されるように規定されたロジックは、他のソフトウェアモジュールに再分配できる、及び/またはシングルモジュールに一緒に集約できる、及び/または共有可能ライブラリで利用可能になり得る。
【0020】
本明細書に説明される本発明の原理は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして実装できる。したがって、実例となるコンポーネント、ブロック、モジュール、回路、及びステップは、それらの機能性の観点から説明されている。
【0021】
さらに、上記に言及したものについて、下記に説明される論理ブロック、モジュール、及び回路は、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、または特定用途向け集積回路(ASIC)、離散ゲートもしくはトランジスタロジック、離散ハードウェアコンポーネント等の他のプログラマブルロジックデバイス、あるいは本明細書に説明される機能を実行するよう設計されたそれらのいずれかの組み合わせにより実装できるまたは行うことができる。プロセッサは、コントローラもしくはステートマシン、またはコンピューティングデバイスの組み合わせによって実装できる。
【0022】
下記に説明される機能及び方法は、ソフトウェアで実装されるとき、限定ではないが、Java(登録商標)、C#またはC++等の適切な言語で書き込みでき、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、コンパクトディスクリードオンリメモリ(CD-ROM)またはデジタル多用途ディスク(DVD)等の他の光ディスクストレージ、磁気ディスクストレージまたはリムーバブルサムドライブ等を含む他の磁気記憶デバイス等のコンピュータ可読記憶媒体に記憶し、またはそのコンピュータ可読記憶媒体によって伝送できる。接続によりコンピュータ可読媒体が確立し得る。そのような接続は、例として、光ファイバ及び同軸ワイヤを含むハードワイヤケーブル、ならびにデジタルサブスクライバーライン(DSL)及びツイストペア線を含み得る。
【0023】
一実施形態に含まれるコンポーネントは、他の実施形態では、任意の適切な組み合わせで使用できる。例えば、本明細書に説明される及び/または図に描かれる様々なコンポーネントのいずれかは、組み合わされ得る、交換され得る、または他の実施形態から排除され得る。
【0024】
「A、B、及びCのうちの少なくとも1つを有するシステム」(同様に「A、B、またはCのうちの少なくとも1つを有するシステム」及び「A、B、Cのうちの少なくとも1つを有するシステム」)は、A単独、B単独、C単独、A及びBを一緒に、A及びCを一緒に、B及びCを一緒に、ならびに/またはA、B、及びC等を一緒に有するシステムを含む。
【0025】
ここで具体的に
図1を参照すると、例示的なエコシステム10が示され、エコシステム10は、本発明の原理による、上述され及び下記に詳述される、例示的なデバイスの1つ以上を含み得る。システム10に含まれる第1の例示的なデバイスは、例示的なプライマリディスプレイデバイスであり、示される実施形態では、限定ではないが、インターネット対応TV等のオーディオビデオディスプレイデバイス(AVDD)12である。したがって、AVDD12は、代替として、電気器具または家庭用品、例えば、コンピュータ制御式インターネット対応冷蔵庫、洗濯機、または乾燥機であり得る。代替として、AVDD12は、また、コンピュータ制御式インターネット対応(「スマート」)電話、タブレットコンピュータ、ノートブックコンピュータ、ウェアラブルコンピュータ制御デバイス(例えば、コンピュータ制御式インターネット対応時計、コンピュータ制御式インターネット対応ブレスレット等)、他のコンピュータ制御式インターネット対応デバイス、コンピュータ制御式インターネット対応ミュージックプレイヤ、コンピュータ制御式インターネット対応ヘッドフォン、インプラント可能な皮膚デバイス等のコンピュータ制御式インターネット対応のインプラント可能なデバイス等であり得る。それにも関わらず、AVDD12は、本発明の原理を実施するように構成される(例えば、本発明の原理を実施するために他のCEデバイスと通信し、本明細書に説明されるロジックを実行して、本明細書に説明されるいずれかの他の機能及び/または動作を行う)ことを理解されたい。
【0026】
したがって、そのような原理を実施するために、AVDD12は、
図1に示されるコンポーネントの一部または全てによって確立できる。例えば、AVDD12は1つ以上のディスプレイ14を含み得、ディスプレイ14は、高解像度または超高解像度、すなわち、「4K」または「8K」(または高解像度)のフラットスクリーンによって実装され得、ディスプレイ上のタッチによりコンシューマ入力信号を受信するためにタッチ対応であり得る。AVDD12は、本発明の原理に従って音声を出力するための1つ以上のスピーカ16と、例えば、AVDD12を制御するようにAVDD12に可聴コマンドを入力するために、キーボードまたはキーパッドまたはオーディオ受信機/マイクロホン等の少なくとも1つの追加入力デバイス18とを含み得る。例示的なAVDD12は、また、1つ以上のプロセッサ24の制御の下、インターネット、WAN、LAN等の少なくとも1つのネットワーク22を通じて通信するための1つ以上のネットワークインタフェース20を含み得る。したがって、インタフェース20は、限定ではないが、Wi-Fi送受信機であり得、これは、無線コンピュータネットワークインタフェースの例である。プロセッサ24は、例えば、ディスプレイ14を制御して、画像をそれに提示すること、そこから入力を受信すること等を行う本明細書に説明されるAVDD12の他の要素を含む、本発明の原理を実施するようにAVDD12を制御することを理解されたい。さらに、ネットワークインタフェース20は、例えば、有線もしくは無線のモデムもしくはルータ、または、例えば、無線テレフォニ送受信機もしくは上述したWi-Fi送受信機等の他の適切なインタフェースであり得ることに留意されたい。
【0027】
前述に加えて、AVDD12は、また、例えば、別のCEデバイスに(例えば、有線接続を使用して)物理的に接続するためのUSBポート、及び/またはヘッドフォンを通してAVDD12からコンシューマに音声を提示するためにAVDD12にヘッドフォンを接続するためのヘッドフォンポート等の1つ以上の入力ポート26を含み得る。AVDD12は、さらに、ディスクベースストレージまたはソリッドステートストレージ(限定ではないが、フラッシュメモリを含む)等、一時的な信号ではない1つ以上のコンピュータメモリ28を含み得る。また、いくつかの実施形態では、AVDD12は、限定ではないが、例えば、少なくとも1つの衛星中継塔もしくは携帯電話中継塔から地理的位置情報を受信し、情報をプロセッサ24に提供し、及び/またはAVDD12がプロセッサ24と併せて配置される高度を判定するように構成される、携帯電話受信機、GPS受信機、及び/または高度計30等の位置受信機または場所受信機を含み得る。しかしながら、携帯電話受信機、GPS受信機、及び/または高度計以外の別の適切な位置受信機は、本発明の原理に従って、例えば、3次元の全てでAVDD12の場所を決定するために使用され得ることを理解されたい。
【0028】
AVDD12の説明を続けると、いくつかの実施形態では、AVDD12は1つ以上のカメラ32を含み得、カメラ32は、例えば、赤外線画像カメラ、ウェブカメラ等のデジタルカメラ、及び/またはAVDD12に統合され、本発明の原理に従って写真/画像及び/またはビデオを収集するために、プロセッサ24によって制御可能なカメラであり得る。また、AVDD12には、各々、ブルートゥース(登録商標)及び/または近距離無線通信(NFC)技術を使用して他のデバイスと通信するためにブルートゥース(登録商標)送受信機34及び他のNFC素子36も含まれ得る。例示的なNFC素子は、無線自動識別(RFID)素子であり得る。
【0029】
さらにまた、AVDD12は、プロセッサ24に入力を提供する1つ以上の補助センサ37(例えば、加速度計、ジャイロスコープ、サイクロメータ等の運動センサ、または磁気センサ、赤外線(IR)センサ、光学センサ、速度センサ及び/またはケイデンスセンサ、ジェスチャセンサ(例えば、ジェスチャコマンドを検知するためのセンサ等))を含み得る。AVDD12は、プロセッサ24に入力を提供する、例えば、1つ以上の気候センサ38(例えば、気圧計、湿度センサ、風センサ、光センサ、温度センサ等)及び/または1つ以上の生体認証センサ40等のさらに他のセンサを含み得る。前述に加えて、AVDD12は、また、赤外線(IR)データアソシエーション(IRDA)デバイス等のIR伝送機及び/またはIR受信機及び/またはIR送受信機42を含み得ることに留意されたい。AVDD12に給電するためのバッテリ(図示せず)が提供され得る。
【0030】
さらに
図1を参照すると、AVDD12に加えて、システム10は、1つ以上の他のCEデバイスタイプを含み得る。一例では、第1のCEデバイス44はメッセージを第2のCEデバイス46に送信するために使用され得、第2のCEデバイス46は第1のCEデバイス44と同様のコンポーネントを含み得るため、詳細には説明しない。示される例では、2つのCEデバイス44、46だけが示され、より少ない数またはより多い数のデバイスが使用され得ることを理解されたい。
【0031】
例示的な非限定的な第1のCEデバイス44は、上述のデバイス、例えば、ポータブル無線ラップトップコンピュータまたはタブレットコンピュータまたはノートブックコンピュータまたは携帯電話のいずれか1つによって確立され得、したがって、下記に説明される1つ以上のコンポーネントを有し得る。第2のCEデバイス46は、限定されることなく、無線電話によって確立され得る。第2のCEデバイス46は、携帯用ハンドヘルド遠隔制御(RC)を実装し得る。第2のCEデバイス46は、仮想現実(VR)及び/または拡張現実(AR)、ヘッドマウントディスプレイ(HMD)を実装し得る。CEデバイス44、46は、AVDD12の場合に示されたコンポーネントの一部または全てを含み得る。
【0032】
少なくとも1つのサーバー50は、少なくとも1つのサーバープロセッサ52、ディスクベースストレージまたはソリッドステートストレージ等の少なくとも1つのコンピュータメモリ54と、サーバープロセッサ52の制御の下、ネットワーク22を通じて
図1の他のデバイスとの通信を可能にし、実際に、本発明の原理に従ってサーバーとクライアントデバイスとの間の通信を容易にし得る少なくとも1つのネットワークインタフェース56とを含み得る。ネットワークインタフェース56は、例えば、有線もしくは無線のモデムもしくはルータ、Wi-Fi送受信機、または、例えば、無線テレフォニ送受信機等の他の適切なインタフェースであり得ることに留意されたい。
【0033】
したがって、いくつかの実施形態では、サーバー50は、インターネットサーバーであり得、システム10のデバイスが、例示的な実施形態では、サーバー50を介して「クラウド」環境にアクセスし得るような「クラウド」機能を含み、その機能を行い得る。または、サーバー50は、
図1に示される他のデバイスと同じ部屋またはその近くにあるゲーム機または他のコンピュータによって実装され得る。
【0034】
本明細書に説明されるデバイスは、必要に応じて、
図1に示される様々なコンポーネントの一部または全てを含み得る。
【0035】
図2を参照する前に、「テクスチャ」は、レンダリングされたオブジェクトの表面を特徴付けるために画像にマッピングできるデータ構造である。テクスチャデータ構造の基本的なデータ要素は、テクスチャ要素またはテクセル(テクスチャ及びピクセルの組み合わせ)である。テクスチャは、テクスチャ空間を表すテクセルの配列によって表される。テクセルは、レンダリングされる画像の表面を定義するためにレンダリングされる画像内のピクセルにマップされる。
【0036】
したがって、テクスチャはデータであり、画像ではないため、下記のニューラルネットワーク(NN)トレーニングは、必ずしも知覚エラーの原理に依存しているわけではない。アルベドについては例外があり得るが(下記でさらに説明する)、概して、テクスチャデータのトレーニングでは、特定のデータに関する目的に固有のエラーメトリックを使用する。
【0037】
法線及び粗度等のデータのいくつかのタイプは、それらが相互に関連しているため、2つのデータが互いのエラーを緩和できるため、一緒にペアにできる。より具体的には、PBRレンダリングでは、法線マップデータと粗度データ(グロスデータと呼ばれることもある)の間に関係が存在する。粗度は、本質的に、テクスチャピクセル全体にわたる法線の分散を表す。したがって、ミップマップを生成するときに法線マップの解像度を下げるときに失われるデータを考慮して粗度を修正し、本質的に法線マップをアンチエイリアス処理する技術が存在する。この場合、法線マップと対応する粗度マップとの間には密接な関係がある。
【0038】
テクスチャ、物理ベースレンダリング(PBR)及びマテリアルに関する追加の詳細は、テクスチャに記憶された様々なタイプのデータを使用することを含む、リアルなマテリアル及び光の相互作用をレンダリングするための一般的な一連の指針である。光は、拡散または反射のいずれかとしてモデル化される。散光は、概して、ビューに依存せず、概して、マテリアルをどの角度から見ても変化しない。一方、反射光は、エミュレートするためにビューに依存する。例えば、グレアである。
【0039】
概して、PBRテクスチャは、マテリアルの散光反応を特徴付ける「アルベド」のパラメータを含む。例えば、磨かれた木材のエミュレートされた表面の場合、アルベドテクスチャは木目パターン及び色の変化を含むが、形状情報を含まず、非常に平らである。金属の光反応は全て反射から生じるため、金属にアルベドがない。
【0040】
上述したように、PBRテクスチャは、また、「法線」のパラメータも含み得る。法線マップは、表面の小さな形状のディテールを定義し、下にある表面の表面法線を具体的に表す。これは、レンダリングで使用される三角形データの幾何法線から分離され得る、または分離されない場合がある。これはテクスチャとして記憶されたベクターデータであり、表示できるが、それ自体、画像ではない。木材の例では、これは木材が滑らかな場所でほとんど平らであるが、木材の表面にエッチングや彫刻のディテールが含まれ得る。
【0041】
また上述したように、PBRテクスチャは、また、レンダリングする表面の粗度の程度を定義するグロス/粗度のパラメータも含み得る。概して、これはサブピクセルの法線データ(法線マップのテクセルより小さいディテール)の分散と見なされる。木材の例では、これは、木材の擦り傷(サンドペーパーで木材をこすることを想像されたい)に関するデータを含み得る。研磨された木材の場合、比較的滑らかであるため、粗度が低くなる。
【0042】
別のPBRパラメータは反射率であり、反射光の反応を表す。ほとんどの非金属マテリアルについて、反射率は色がない。ほぼ全ての非金属の反射率は2%(直接反射する光の量)で一定である。鏡の場合、反射率が100%に近づく。
【0043】
いくつかのPBR技術では、非金属は一定の反射率を有することと、金属はアルベドがないこととの事実を利用することを試みる。これは、通常、表面が金属であるアルベドテクセルを別の目的で使い、代わりに、反射率(色、金、真ちゅう等)を表し、別のテクスチャチャネルに追加情報を記憶して、どのテクセルが金属であるか否かを識別することを含む。概して、この情報は「金属性」と呼ばれる。このエンコードは、概して、アルベド用の3つのチャネルと反射率用の別の3つのチャネルとを記憶しないことによって、テクスチャメモリを節約するために行われる。
【0044】
一般に、テクスチャは様々な目的があり得、ゲームエンジンごとに異なる可能性がある。
【0045】
テクスチャに関する上記の説明を考慮して、通常、様々な圧縮(ひいては、または様々な解像度)の同じテクスチャの複数のバージョンが生成される。具体的には、シングルテクスチャは、テクスチャのフルミップマップチェーンによって表され得る。ミップマッピングは画像を取得し、解像度を連続して2分の1に減らす。したがって、所与のテクスチャ(例えば、1024×1024等)について、その512×512バージョン及びその256×256バージョン等もメモリに記憶される。これにより、パフォーマンス、視覚的な忠実度が向上し、テクスチャストリーミングが容易になる。テクスチャストリーミングは、レンダリングされたオブジェクトの画面サイズに基づいて、所与のテクスチャに必要なミップマップの「テール」(低いミップレベル及びその下の全ての低解像度のミップレベル)だけをロードすることによって、メモリを節約することを試みる。例えば、256×256ミップレベル及び1024×1024テクスチャのミップチェーンよりも低いものは、遠くにあるオブジェクトのロードに必要な全てのものであり得る。どのミップレベルがロードされるかは、変化するゲーム環境及びビューアの位置に基づいてオンデマンドで変更される。オブジェクトが近づくにつれて、高解像度のミップレベルまたは「ディテールレベル」は、現在近くのオブジェクトをレンダリングするためにメモリにロードされる。
【0046】
テクスチャには様々なタイプの圧縮を使用し得る。1つのタイプはブロック圧縮であり、BCn圧縮と表現されることもある。これは、グラフィックスプロセッシングユニット(GPU)によってインプレースで解凍できる非可逆テクスチャ圧縮であり得る。ブロック圧縮は画像全体を解凍する必要がないため、GPUは、全く圧縮されないように、テクスチャをサンプリングしながらデータ構造を解凍できる。
【0047】
ブロック圧縮技術は、4×4ブロックのピクセルをシングル(より小さい)データパケットに圧縮する。概して、これは、(BC圧縮タイプに応じて)2つ以上の「エンドポイント」カラーを選択することを含み、この「エンドポイント」カラーは、各ピクセルでこれらの2つのカラーをブレンドする方法に関するピクセルごとの何らかの情報を伴う。エンドポイントカラーは、4×4ピクセルブロック全体で共有される。例えば、赤、青、紫のピクセルだけの画像の場合、コンプレッサーは一方の端点を赤に、他方の端点を青に選ぶ可能性が高い。紫色のピクセルは、2つを一緒にブレンドする値を有する。
【0048】
異なるBCタイプは、それらが有するテクスチャチャネルの数がほとんど異なる(例えば、BC4は1つのチャネルグレースケール、すなわち、「白黒」である)。BC6及びBC7が各ブロックの解釈を決定するモードの概念を導入するため、BC6及びBC7は特別である。他のBCモードについて、全てのブロックが同じ方法でエンコードされ、エンドポイントの色及びブレンド値に同じ数のビットが割り当てられる。BC6/7モードが異なると、ブロックごとにそのビットが異なって割り当てられる。これにより、コンプレッサーは、テクスチャの異なる領域で異なる品質のトレードオフを行うことが可能になる。
【0049】
図2は、テクスチャレンダラー204へのローカルデータバスまたは無線/有線ネットワークリンク等の通信パス202を介して上記の原理に従ってレンダリングするためのテクスチャを送信するテクスチャソース200を示す。テクスチャレンダラー204は、通常、ディスプレイ上の画像データ及びテクスチャデータに従って画像をレンダリングするために、メモリを伴う1つ以上のGPUを含む。
【0050】
図3は、本明細書の実施形態では、テールテクスチャ300だけがソース200からレンダラー204に送信される必要があることを示す。レンダラー204はテクスチャに対して機械学習エンジン302を実行して、デコーディング/エンコーディングを必要としないで、ひいては、コーデックを必要としないで、そのテクスチャを次に高いレベルの解像度のテクスチャ304にアップスケールできる。機械学習エンジン302は、生成的、ノイズベース、場合によっては敵対的ネットワーク等の1つ以上のトレーニング済みのニューラルネットワークを含み得る。
【0051】
したがって、機械学習を使用して、(例えば、ディスク上で作成されたミップマップチェーンからの)全てのストリーミングテクスチャの入力ミップマップよりも1レベル高いテクスチャのミップマップを生成する。新しい(高解像度の)ミップマップは、同様に、ディスク上に存在するかのように導入され、単に、代わりに手続き的に生成される。テクスチャはBCN圧縮形式でディスクに記憶できるため、ネットワークは、メモリ内の既存の圧縮ミップレベルの最高値から新しい圧縮ミップレベルを生成する。実行時にミップレベルを生成するコストが高すぎる場合、ミップレベルをオフラインで生成し、同じ方法を使用してディスクに記憶できる。
【0052】
図4は、
図3の機械学習エンジン302のトレーニング原理の例を示す。既存のテクスチャライブラリは、グラウンドトゥルーストレーニングのためにブロック400でアクセスされ、ブロック402で圧縮されて、次のミップレベルダウンを(再び半分ずつ)確立し得る。言い換えれば、ブロック400において、フル非圧縮(ひいては、最高解像度)ミップマップにアクセスして、ブロック402において、半分に圧縮され、圧縮(ひいては、低解像度)ミップマップをレンダリングし得る。ブロック402で生成されたミップマップは、ミップマップのフルセットをレンダリングするために、本明細書の原理に従って連続的に圧縮され得、ブロック404において、入力された非圧縮ミップマップごとにグラウンドトゥルースをレンダリングする。
【0053】
図5では、シンプルなネットワークが、ブロック500において、グラウンドトゥルースセットからの1つの圧縮されたBCブロックデータパケットにアクセスして、ブロック502において、例えば、4×4ブロックのピクセルから8×8ブロックのピクセルに効率的に進む、より高いミップレベルのための4つのBCブロックデータパケットを生成し得ることが示される。代替として、入力として1つのBCブロックを取り込む代わりに、またはそれに加えて、ブロックを囲むブロックの近傍(例えば、8つの周囲ブロック)も入力として提供され、ネットワークに特徴を良好に通知し得る。
【0054】
バックプロパゲーション、勾配降下法を使用してトレーニングを実施し得る。トレーニングは、80/20トレーニングテストスプリットを使用して実行され得、そのテストスプリットでは、グラウンドトゥルースデータの80%のランダムサンプルを使用して、NNで重みをトレーニングまたは設定し、次に、追加の20%のテストデータダウンスケールファイルが入力され、NNが生成したものと比較される。言い換えれば、NNの出力は、トレーニングセッション中に入力されなかったグラウンドトゥルースの20%のフル解像度ファイルと比較できる。
【0055】
異なるマテリアル属性テクスチャ間にほとんど異なるタイプのデータがあるため、マテリアル属性タイプごとに異なるネットワークをトレーニングし得る。例えば、1つのネットワークは、反射テクスチャデータをアップスケーリングするためにトレーニングされ得、別のネットワークは、アルベドをアップスケーリングするためにトレーニングされ得る。
【0056】
類似したデータが記憶され、ひいては何らかの相互関係がある法線及び粗度の場合、シングルネットワークをトレーニングして、それらを一緒にアップスケールし得る。同じ検討事項は、他の関連するペアまたはマテリアル属性のグループに適用され得る。共有された法線及び粗度のアップレゾネットワークの場合、法線データを伴う1つのBCブロックと、同じ関連場所にある粗度データの1つのBCブロックを入力し得、ネットワークは、法線データの4つのBCブロック及び粗度データの4つのBCブロックを出力し得る。
【0057】
図6は、テクスチャがブロック600で圧縮され、ブロック602において、レンダラーに送信され得ることを示す。一例では、ミップマップチェーンにおける最低解像度(最も大きく圧縮された)の「テール」テクスチャがレンダラーに送信される。レンダラーは、コーデックを必要としないで、本明細書に説明されるトレーニング済みの機械学習エンジンを使用してオンザフライでそれらをアップスケールできる。他の実施形態では、比較的ほぼ非圧縮の高解像度のテクスチャ(または、非圧縮の基本テクスチャ自体)は、機械学習を使用して、より圧縮された低解像度のテクスチャを生成できるレンダラーへの入力として提供され得る。
【0058】
図7は、レンダラーロジックを示す。状態700において、入力テクスチャは受信される。ブロック702において、テクスチャは、トレーニング済みの機械学習エンジンによって処理され、ブロック704において、入力テクスチャよりも圧縮率が高い(低解像度)または圧縮率が低い(高解像度)のいずれかの異なる圧縮テクスチャが出力される。ブロック704のテクスチャを使用して、ディスプレイ上に画像をレンダリングする。
【0059】
図8では、共有された法線及び粗度のアップレゾネットワークの場合、ブロック800において、法線データを伴う1つのBCブロックが機械学習エンジンによって受信され、ブロック802において、同じ関連場所にある粗度データの1つのBCブロックが受信されることが示される。ブロック804において、機械学習エンジンは、2つの入力ブロックを一緒にアップスケールして、法線データの4つのBCブロック及び粗度データの4つのBCブロックを出力する。
【0060】
特定の技術が本明細書に示され、詳細に説明されているが、本願によって包含される主題は、特許請求の範囲だけによって限定されることを理解されたい。