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