(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-26
(54)【発明の名称】適応型オーディオミキシング
(51)【国際特許分類】
G10K 15/04 20060101AFI20240119BHJP
G06N 3/08 20230101ALI20240119BHJP
A63F 13/60 20140101ALI20240119BHJP
A63F 13/54 20140101ALI20240119BHJP
A63F 13/79 20140101ALI20240119BHJP
【FI】
G10K15/04 302F
G06N3/08
A63F13/60
A63F13/54
A63F13/79
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023537494
(86)(22)【出願日】2021-12-16
(85)【翻訳文提出日】2023-08-08
(86)【国際出願番号】 US2021063751
(87)【国際公開番号】W WO2022140146
(87)【国際公開日】2022-06-30
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】カール キトリッジ ウェイクランド
(72)【発明者】
【氏名】メディー サフェディ
(72)【発明者】
【氏名】トーマス ダニエル ペリー
(72)【発明者】
【氏名】ガボール シネス
【テーマコード(参考)】
5D208
【Fターム(参考)】
5D208DA06
5D208DD01
(57)【要約】
適応型オーディオミキシングを実行するためのシステム、装置及び方法が開示される。訓練されたニューラルネットワークは、相互に互換性のあるセットとして構成された、事前に記録された人間が構成した音楽ステムを動的に選択し、ミキシングする。ニューラルネットワークによって生成されるステム及びトラック選択、音量ミキシング、フィルタリング、動的圧縮、音響/残響特性、セグエ、テンポ、ビートマッチング、並びに、クロスフェードパラメータは、ゲームシーン特性及び他の動的に変化する要因から推測される。訓練されたニューラルネットワークは、アーティストの事前に記録されたステムを選択し、ステムをリアルタイムで、固有の方法でミキシングして、ゲームシナリオ、プレイヤの固有のストーリーライン、シーン要素、プレイヤのプロファイル、関心、パフォーマンス、ゲーム制御に対して行われる調整(例えば、音楽音量)、視聴者の数、受信されたコメント、プレイヤの人気、プレイヤの母国語、プレイヤの影響力、及び/又は、他の要因等の要因に基づいて、バックグラウンド音楽を動的に調整及び変更する。訓練されたニューラルネットワークは、リアルタイムの状況に従って動的に変化する固有の音楽を生成する。
【選択図】
図8
【特許請求の範囲】
【請求項1】
装置であって、
複数の事前に記録された音楽ステムを記憶するメモリと、
機械学習エンジンと、を備え、
前記機械学習エンジンは、
ビデオゲームアプリケーションをプレイしているユーザの1つ以上のユーザ固有パラメータを受信することと、
前記ビデオゲームアプリケーションをプレイしているユーザのリアルタイムシナリオの1つ以上の指標を受信することと、
前記1つ以上のユーザ固有パラメータ及び前記リアルタイムシナリオの1つ以上の指標に基づいて、前記複数の事前に記録された音楽ステムを組み合わせることによって、非決定性音楽ミックスを生成することと、
前記非決定性音楽ミックスを、リアルタイムで前記ビデオゲームアプリケーションをプレイしているユーザに対するオーディオ出力とすることと、
を行うように構成されている、
装置。
【請求項2】
前記1つ以上のユーザ固有パラメータは、前記ユーザのプレイヤプロファイル、前記ユーザのプレイヤ関心、前記ユーザのプレイヤパフォーマンス、ゲーム制御の調整、視聴者の数、前記ユーザのプレイヤの人気、及び、前記ユーザの母国語を含む、
請求項1の装置。
【請求項3】
前記リアルタイムシナリオの1つ以上の指標は、前記ユーザのプレイヤのストーリーライン、1つ以上のシーン要素、及び、1つ以上のゲームシーン特性を含む、
請求項1の装置。
【請求項4】
前記機械学習エンジンは、訓練されたニューラルネットワークであり、前記訓練されたニューラルネットワークは、前記ユーザからの1つ以上のフィードバックインジケータに基づいて更新される、
請求項1の装置。
【請求項5】
前記1つ以上のフィードバックインジケータは、ゲーム設定に対するユーザ調整、前記ユーザの活動レベル、及び、前記ユーザのパフォーマンスを含む、
請求項4の装置。
【請求項6】
前記訓練されたニューラルネットワークの更新されたバージョンは、前記ビデオゲームアプリケーションの後続の反復において、更新された非決定性音楽ミックスを生成するように構成されている、
請求項5の装置。
【請求項7】
前記ユーザの活動レベルは、前記ユーザが前記ビデオゲームアプリケーションをプレイしている間にユーザの動きを追跡することによって決定され、前記訓練されたニューラルネットワークは、前記ユーザの活動レベルが閾値よりも大きいことを検出したことに応じて、前記非決定性音楽ミックスのテンポを増加させるように構成されている、
請求項5の装置。
【請求項8】
方法であって、
機械学習エンジンが、ビデオゲームアプリケーションをプレイしているユーザの1つ以上のユーザ固有パラメータを受信することと、
前記ビデオゲームアプリケーションをプレイしているユーザのリアルタイムシナリオの1つ以上の指標を受信することと、
前記1つ以上のユーザ固有パラメータ及び前記リアルタイムシナリオの1つ以上の指標に基づいて、複数の事前に記録された音楽ステムを組み合わせることによって、非決定性音楽ミックスを生成することと、
前記非決定性音楽ミックスを、リアルタイムで前記ビデオゲームアプリケーションをプレイしているユーザに対するオーディオ出力とすることと、を含む、
方法。
【請求項9】
前記1つ以上のユーザ固有パラメータは、前記ユーザのプレイヤプロファイル、前記ユーザのプレイヤ関心、前記ユーザのプレイヤパフォーマンス、ゲーム制御の調整、視聴者の数、前記ユーザのプレイヤの人気、及び、前記ユーザの母国語を含む、
請求項8の方法。
【請求項10】
前記リアルタイムシナリオの1つ以上の指標は、前記ユーザのプレイヤのストーリーライン、1つ以上のシーン要素、及び、1つ以上のゲームシーン特性を含む、
請求項8の方法。
【請求項11】
前記機械学習エンジンは、訓練されたニューラルネットワークであり、前記訓練されたニューラルネットワークは、前記ユーザからの1つ以上のフィードバックインジケータに基づいて更新される、
請求項8の方法。
【請求項12】
前記1つ以上のフィードバックインジケータは、ゲーム設定に対するユーザ調整、前記ユーザの活動レベル、及び、前記ユーザのパフォーマンスを含む、
請求項11の方法。
【請求項13】
前記訓練されたニューラルネットワークの更新されたバージョンが、前記ビデオゲームアプリケーションの後続の反復において、更新された非決定性音楽ミックスを生成することを含む、
請求項12の方法。
【請求項14】
前記ユーザの活動レベルは、前記ユーザが前記ビデオゲームアプリケーションをプレイしている間にユーザの動きを追跡することによって決定され、前記方法は、前記ユーザの活動レベルが閾値よりも大きいことを検出したことに応じて、前記非決定性音楽ミックスのテンポを増加させることを含む、
請求項12の方法。
【請求項15】
システムであって、
機械学習エンジンと、
オーディオミキシングエンジンと、を備え、
前記機械学習エンジンは、
ビデオゲームアプリケーションをプレイしているユーザの1つ以上のユーザ固有パラメータを受信することと、
前記ビデオゲームアプリケーションをプレイしているユーザのリアルタイムシナリオの1つ以上の指標を受信することと、
前記1つ以上のユーザ固有パラメータ及び前記リアルタイムシナリオの1つ以上の指標に基づいて、重みのミキシングアレイを生成することと、
を行うように構成されており、
前記オーディオミキシングエンジンは、
前記重みのミキシングアレイを複数の事前に記録された音楽ステムに適用することによって、非決定性音楽ミックスを生成することと、
前記非決定性音楽ミックスを、リアルタイムで前記ビデオゲームアプリケーションをプレイしているユーザに対するオーディオ出力とすることと、
を行うように構成されている、
システム。
【請求項16】
前記1つ以上のユーザ固有パラメータは、前記ユーザのプレイヤプロファイル、前記ユーザのプレイヤ関心、前記ユーザのプレイヤパフォーマンス、ゲーム制御の調整、視聴者の数、前記ユーザのプレイヤの人気、及び、前記ユーザの母国語を含む、
請求項15のシステム。
【請求項17】
前記リアルタイムシナリオの1つ以上の指標は、前記ユーザのプレイヤのストーリーライン、1つ以上のシーン要素、及び、1つ以上のゲームシーン特性を含む、
請求項15のシステム。
【請求項18】
前記機械学習エンジンは、訓練されたニューラルネットワークであり、前記訓練されたニューラルネットワークは、前記ユーザからの1つ以上のフィードバックインジケータに基づいて更新される、
請求項15のシステム。
【請求項19】
前記1つ以上のフィードバックインジケータは、ゲーム設定に対するユーザ調整、前記ユーザの活動レベル、及び、前記ユーザのパフォーマンスを含む、
請求項18のシステム。
【請求項20】
前記訓練されたニューラルネットワークの更新されたバージョンは、前記ビデオゲームアプリケーションの後続の反復において、更新された非決定性音楽ミックスを生成するように構成されている、
請求項19のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
(関連技術の説明)
ビデオゲームの音楽は、知覚される品質及びユーザエンゲージメントにおいて重要な役割を果たす。現在、市販のビデオゲームは、アーティストによって構成された、事前に記録されたオーディオトラックを使用する。しかしながら、これらの事前に記録されたオーディオトラックは、同じビデオゲームをプレイし、同じゲームシーンを横断するユーザにとって反復的になり得る予測可能なオーディオ経験をもたらす。
【0002】
本明細書に記載の方法及び機構の利点は、添付の図面と併せて以下の説明を参照することによってより良く理解され得る。
【図面の簡単な説明】
【0003】
【
図1】コンピューティングシステムの一実施形態のブロック図である。
【
図2】ニューラルネットワークの一実施形態のブロック図である。
【
図3】ニューラルネットワークの別の実施形態のブロック図である。
【
図4】適応型オーディオミキシングニューラルネットワーク訓練(トレーニング)システムの一実施形態のブロック図である。
【
図5】適応型オーディオミキシングニューラルネットワーク訓練システムの一実施形態のブロック図である。
【
図6】適応型オーディオミキシングシステムの一実施形態のブロック図である。
【
図7】適応型オーディオミキシングを実行するための方法の一実施形態を示す一般化されたフロー図である。
【
図8】機械学習エンジンによってオーディオ出力を動的に生成するための方法の一実施形態を示す一般化されたフロー図である。
【
図9】ビデオゲームアプリケーションのための動的非決定性オーディオミックスを生成するようにニューラルネットワークを訓練するための方法の一実施形態を示す一般化されたフロー図である。
【
図10】ユーザの動きを介してキャプチャされた人間の感情の尺度に基づいて適応型オーディオミキシングニューラルネットワークに影響を与えるための方法の一実施形態を示す一般化されたフロー図である。
【発明を実施するための形態】
【0004】
以下の説明では、本明細書に提示される方法及び機構の十分な理解を提供するために、多数の具体的な詳細が記載されている。しかしながら、当業者は、これらの具体的な詳細なしで様々な実施形態が実施され得ることを認識すべきである。いくつかの例では、本明細書に記載のアプローチを不明瞭にすることを避けるために、周知の構造、構成要素、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素は必ずしも縮尺どおりに描かれているわけではないことが理解されよう。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている場合がある。
【0005】
適応型オーディオミキシングを実行するための様々なシステム、装置及び方法が本明細書で開示される。一実施形態では、訓練されたニューラルネットワークは、相互に互換性のあるセットとして構成された、事前に記録された人間が構成した音楽ステムを動的に選択し、ミキシングする。ニューラルネットワークによって生成されるステム及びトラック選択、音量ミキシング、フィルタリング、動的圧縮、音響/残響特性、セグエ(segues)、テンポ(tempo)、ビートマッチング、並びに、クロスフェードパラメータは、ゲームシーン特性及び他の動的に変化する要因から推測される。訓練されたニューラルネットワークは、アーティストの事前に記録されたトラック及び/又はステムを選択し、ステムをリアルタイムで、固有の方法でミキシングして、ゲームシナリオ、プレイヤの固有のストーリーライン、シーン要素、プレイヤのプロファイル、関心、パフォーマンス、ゲーム制御に対して行われる調整(例えば、音楽音量)、視聴者の数、受信されたコメント、プレイヤの人気、プレイヤの母国語、プレイヤの影響力、及び/又は、他の要因等の要因に基づいて、バックグラウンド音楽を動的に調整及び変更する。訓練されたニューラルネットワークは、リアルタイムの状況に従って動的に変化する固有の音楽を生成する。
【0006】
一実施形態では、システムは、ユーザがビデオゲームをプレイしている場合に動的オーディオミックスを生成し、ミックスは反復的ではない。一実施形態では、システムは、事前に記録されたステムがゲーム内の異なるシナリオにおいてミキシングされる方法のランダムなばらつきを構成者が導入することを可能にする発見的アルゴリズム(heuristic algorithm)を採用する。これらの異なるシナリオは、ユーザがゲーム内で何をしているか、シーン要素、プレイヤプロファイル、関心、ユーザがどれだけうまく実行しているか、ユーザが音量を調整しているかどうか、ゲーム内の視聴者の数等に基づく。次に、ユーザがゲームとどのように対話しているかというこれらの要因を使用して、動的オーディオミックスを生成するミキシングパラメータを変化させる。
【0007】
一実施形態では、適応型人工知能(artificial intelligence、AI)エンジンが、相互に互換性のあるセットとして構成された、事前に記録された人間が構成した音楽ステムを受信する。また、AIは、ユーザのゲームとの対話の指標を受信する。AIエンジンは、ステム及びトラック選択、音量ミキシング/フィルタリング、動的圧縮、並びに、他のステップを実行して、動的オーディオミックスを生成する。一実施形態では、AIエンジンは、開発者が、ユーザが肯定的/好意的に反応すると予想するものに基づいて訓練される。例えば、ビートトラックが入るのが少し早すぎた場合、テスタは、これが望ましい結果ではなかったことを示し得る。しかしながら、ビートトラックが適切な時間に入った場合、テスタは、これが良好な結果であったことを示し得る。このフィードバックは、AIエンジンに提供されて、AIエンジンがその設定を調整し、経時的に改善することを可能にする。この訓練方法は、強化学習の一種である。
【0008】
図1を参照すると、コンピューティングシステム100の一実施形態のブロック図が示されている。一実施形態では、コンピューティングシステム100は、少なくともプロセッサ105A~105N、入力/出力(input/output、I/O)インターフェース120、バス125、メモリコントローラ130、ネットワークインターフェース135、メモリデバイス140、表示コントローラ150、ディスプレイ155、及び、スピーカ/ヘッドホン160を含む。他の実施形態では、コンピューティングシステム100は、他の構成要素を含み、及び/又は、コンピューティングシステム100は、別様に配置される。プロセッサ105A~105Nは、システム100に含まれる任意の数のプロセッサを表す。
【0009】
一実施形態では、プロセッサ105Aは、中央処理ユニット(central processing unit、CPU)等の汎用プロセッサである。この実施形態では、プロセッサ105Aは、システム100内の他のプロセッサのうち1つ以上と通信するための、及び/又は、それらのプロセッサのうち1つ以上の動作を制御するためのドライバ110(例えば、グラフィックドライバ)を実行する。実施形態に応じて、ドライバ110は、ハードウェア、ソフトウェア及び/又はファームウェアの任意の好適な組み合わせを使用して実装することができることに留意されたい。一実施形態では、プロセッサ105Nは、専用ニューラルネットワークアクセラレータ、又は、ディスプレイ155に送られるように表示コントローラ150へピクセルを提供するグラフィックス処理ユニット(graphics processing unit、GPU)等のように、高度並列アーキテクチャを有するデータ並列プロセッサである。
【0010】
GPUは、グラフィックス処理タスクを実行する複雑な集積回路である。例えば、GPUは、ビデオゲームアプリケーション等のように、エンドユーザアプリケーションによって必要とされるグラフィックス処理タスクを実行する。また、GPUは、グラフィックスに関連しない他のタスクを実行するためにもますます使用されている。GPUは、個別のデバイスであってもよいし、又は、CPU等の別のプロセッサと同じデバイスに含まれていてもよい。システム100に含まれ得る他のデータ並列プロセッサには、デジタル信号プロセッサ(digital signal processor、DSP)、フィールドプログラマブルゲートアレイ(field programmable gate array、FPGA)、及び、特定用途向け集積回路(application specific integrated circuit、ASIC)等が含まれる。いくつかの実施形態では、プロセッサ105A~105Nは、複数のデータ並列プロセッサを含む。
【0011】
新興の技術分野は機械学習であり、ニューラルネットワークは、機械学習モデルの一種である。ニューラルネットワークは、手書き数字分類及び顔検出等のタスクにおいて優れた性能を実証している。ニューラルネットワークの他のアプリケーションには、音声認識、言語モデリング、感情分析、テキスト予測等が含まれる。一実施形態では、プロセッサ105Nは、ビデオゲームアプリケーションの一部としてスピーカ/ヘッドホン160上に出力される動的に適応型オーディオミックスを生成するためにニューラルネットワークアプリケーションを実行するようにプログラムされたデータ並列プロセッサである。この実施形態では、オーディオミックスは、様々なリアルタイムゲームシナリオ及びユーザパラメータに基づいて事前に記録されたオーディオステムを組み合わせることによってゲームシナリオに適応する。本明細書で使用される場合、「オーディオステム」という用語は、個々のオーディオトラックとして定義される。
【0012】
一実施形態では、リアルタイムゲームシナリオ及びユーザパラメータは、事前に記録されたオーディオステムに適用するための重みのミキシングアレイを生成する訓練されたニューラルネットワークに入力される。訓練されたニューラルネットワークのためのネットワークトポロジの例には、敵対的生成ネットワーク(generative-adversarial network、GAN)、アテンションモデル、トランスフォーマネットワーク、回帰型ニューラルネットワーク(recurrent neural network、RNN)-トランスデュースネットワーク、及び、それらの派生物等が含まれる。訓練されたニューラルネットワークの出力は、リアルタイムでビデオゲームアプリケーションに統合される非決定性音楽ミックスである。一実施形態では、訓練されたニューラルネットワークは、プロセッサ105A~105Nのうち1つ以上で実行される。本明細書で使用される場合、「非決定性」という用語は、ビデオゲームアプリケーションの同じシーンを通して異なる反復において異なる特性を有するものとして定義される。
【0013】
メモリコントローラ130は、プロセッサ105A~105Nによってアクセス可能な任意の数及びタイプのメモリコントローラを表す。メモリコントローラ130は、プロセッサ105A~105Nから分離されているものとして示されているが、これは、単に1つの可能な実施形態を表すことを理解されたい。他の実施形態では、メモリコントローラ130は、プロセッサ105A~105Nのうち1つ以上に埋め込むことができ、及び/又は、メモリコントローラ130は、プロセッサ105A~105Nのうち1つ以上と同じ半導体ダイ上に位置することができる。メモリコントローラ130は、任意の数及びタイプのメモリデバイス140に結合される。メモリデバイス140は、任意の数及びタイプのメモリデバイスを表す。例えば、メモリデバイス140内のメモリのタイプは、ダイナミックランダムアクセスメモリ(Dynamic Random Access Memory、DRAM)、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)、NANDフラッシュメモリ、NORフラッシュメモリ、強誘電体ランダムアクセスメモリ(Ferroelectric Random Access Memory、FeRAM)等を含む。
【0014】
I/Oインターフェース120は、任意の数及びタイプのI/Oインターフェース(例えば、ペリフェラルコンポーネントインターコネクト(peripheral component interconnect、PCI)バス、PCI-Extended(PCI-X)、PCIE(PCI Express)バス、ギガビットイーサネット(登録商標)(gigabit Ethernet、GBE)バス、ユニバーサルシリアルバス(universal serial bus、USB))を表す。様々なタイプの周辺デバイス(図示せず)が、I/Oインターフェース120に結合される。そのような周辺デバイスには、ディスプレイ、キーボード、マウス、プリンタ、スキャナ、ジョイスティック、他のタイプのゲームコントローラ、メディア記録デバイス、外部記憶デバイス等が含まれる(が、これらに限定されない)。ネットワークインターフェース135は、ネットワークを介してネットワークメッセージを受信及び送信することができる。
【0015】
様々な実施形態では、コンピューティングシステム100は、コンピュータ、ラップトップ、モバイルデバイス、ゲームコンソール、サーバ、ストリーミングデバイス、ウェアラブルデバイス、又は、様々な他のタイプのコンピューティングシステム若しくはデバイスのうち何れかである。コンピューティングシステム100の構成要素の数は、実施形態ごとに変化することに留意されたい。例えば、他の実施形態では、
図1に示される数よりも多い又は少ない各構成要素が存在する。また、他の実施形態では、コンピューティングシステム100は、
図1に示されていない他の構成要素を含むことにも留意されたい。加えて、他の実施形態では、コンピューティングシステム100は、
図1に示される以外の方法で構造化される。
【0016】
次に、
図2を見ると、ニューラルネットワーク200の一部の一実施形態のブロック図が示されている。
図2に示されるニューラルネットワーク200の部分は、畳み込み層202、サブサンプリング層204、畳み込み層206、サブサンプリング層208、及び、全結合層210を含む。ニューラルネットワーク200は、一緒に挟まれてネットワークの構造全体を生成している、示されているものと同様の層の複数のグルーピングを含み得る。ニューラルネットワーク200の一部である層の他のグルーピングは、
図2に示されるもの以外の他の層の数及び配置を含み得る。層202~210は、1つの特定の実施形態において連続的な様式で実装され得る層のグルーピングの一例として意図されているにすぎないことに留意されたい。
図2に示される層202~210の配置は、層を一緒に積み重ねる他の方法が、他のタイプのニューラルネットワークを生成するために使用されることを除外しない。
【0017】
コンピューティングシステム(例えば、
図1のシステム100)上でニューラルネットワーク200を実装した場合、ニューラルネットワーク200は、リアルタイムゲームシナリオパラメータ、及び、ビデオゲームアプリケーションをプレイしているユーザのユーザ固有パラメータに基づいて、複数のオーディオステムを使用して適応型非決定性オーディオミックスを生成する。次いで、適応型非決定性オーディオミックスは、ビデオゲームアプリケーションに統合され、ヘッドホン、スピーカ又は他のオーディオ出力デバイスを介してユーザに提供される。
【0018】
図3を参照すると、ニューラルネットワーク300の別の実施形態のブロック図が示されている。ニューラルネットワーク300は、コンピューティングシステム(例えば、
図1のシステム100)上に実装され得るニューラルネットワークの別の例を示している。一実施形態では、ニューラルネットワーク300は、回帰型ニューラルネットワーク(RNN)であり、少なくとも入力層310、隠れ層320及び出力層330を含む。隠れ層320は、任意の数の隠れ層を表し、各層は、任意の数のニューロンを有する。RNNに使用されるニューロンは、長-短期記憶(long short-term memory、LSTM)、及び、ゲート付き回帰ユニット(gated recurrent unit、GRU)等を含む。また、隠れ層のニューロン間に任意の数及びタイプの接続が存在し得る。加えて、隠れ層320間の逆方向接続の数は、ネットワークごとに異なり得る。他の実施形態では、ニューラルネットワーク300は、
図3に示されているものとは異なる層の他の配置及び/又は層間の他の接続を含む。場合によっては、ニューラルネットワーク300は、(
図2の)ニューラルネットワーク200の層のうち何れかを含み得る。換言すれば、畳み込みニューラルネットワーク(convolutional neural network、CNN)の一部又は全部をRNNの一部又は全部と組み合わせて、単一のニューラルネットワークを生成することができる。
【0019】
一実施形態では、ニューラルネットワーク300は、入力データセットを処理して結果データを生成する。一実施形態では、入力データセットは、複数のリアルタイムゲームシナリオパラメータ、及び、ビデオゲームをプレイしているユーザのユーザ固有パラメータを含む。この実施形態では、入力データセットは、複数の事前に記録されたオーディオステムを含む。この実施形態では、結果データは、ビデオゲームをプレイしている間にユーザに対して再生される適応型非決定性オーディオミックスを生成するために、事前に記録されたオーディオステムをどのように組み合わせるかを示す。他の実施形態では、入力データセット及び/又は結果データは、様々な他のタイプのデータのうち何れかを含む。
【0020】
次に
図4を見ると、適応型オーディオミキシングニューラルネットワーク訓練システム400の一実施形態のブロック図が示されている。システム400は、展開前ニューラルネットワーク420から訓練されたニューラルネットワークを生成する際に使用するための展開前訓練システムの一例を表す。他の実施形態では、訓練されたニューラルネットワークを生成する他の方法が採用され得る。
【0021】
一実施形態では、ゲームクリップ410Aがニューラルネットワーク420への入力として提供され、ゲームクリップ410Aは、ビデオゲームをプレイしているユーザの現実の例又はビデオゲームをプレイしているユーザのシミュレーションを表す。ニューラルネットワーク420は、ゲームクリップ410Aにおいて遭遇したゲームシナリオに基づいて、オーディオステム415A~415Nからオーディオ出力430を生成する。オーディオ出力430は、オーディオ出力430の品質の指標としてニューラルネットワーク420に提供されるフィードバック450を生成する強化学習エンジン440に提供される。一実施形態では、強化学習エンジン440は、ニューラルネットワーク420によって生成されたオーディオ出力430を評価する人間のテスタ(すなわち、音楽家、構成者)を含む。他の実施形態では、強化学習エンジン440は、フィードバック450を生成するためにGANにおいて使用される訓練された弁別器(discriminator)又はアクタークリティック(actor-critic)等のように、人間の関与及び/又は機械解釈技術の任意の組み合わせを含み得る。
【0022】
一実施形態では、ニューラルネットワーク420が比較的高品質のオーディオ出力430を生成した場合、強化学習エンジン440は、ニューラルネットワーク420の層の既存のパラメータ(すなわち、重み)を強化することとなる、比較的高いスコアを有するフィードバック450を生成することとなる。一方、ニューラルネットワーク420が比較的低品質のオーディオ出力430を生成した場合、フィードバック450は比較的低いスコアを有することとなり、これにより、ニューラルネットワーク420は、生み出された「誤差」を打ち消すようにパラメータを調整することによって層を訓練することとなる。後続のゲームクリップ410B~410Nは、様々な層のパラメータを精緻化することによってニューラルネットワーク420の訓練を継続するために、同様に処理される。訓練は、一連のエポックにわたって行われてもよく、各エポックについて、訓練データセットの全体又はサブセットが、多くの場合、提示のランダムな順序で繰り返され、繰り返される訓練エポックのプロセスは、ネットワークの精度が満足のいくレベルに達するまで継続される。本明細書で使用される場合、「エポック」は、訓練データの完全なセットを通る1つのパスとして定義される。また、「サブセット」は、検証及び試験ベクトルのために使用するために訓練データの一部を取っておく一般的な慣行を指す。
【0023】
図5を参照すると、適応型オーディオミキシングニューラルネットワーク訓練システム500の一実施形態のブロック図が示されている。システム500は、ニューラルネットワーク520がフィールドにおけるビデオゲームアプリケーション540の一部として展開されて、適応型オーディオミキシングアルゴリズムを改善するためにニューラルネットワーク520の層の重みを適応させ続ける場合のリアルタイム使用環境を表す。これらの更新された重みは、クラウドにアップロードされて、これらの更新が他のニューラルネットワークに適用されることを可能にし得る。したがって、ニューラルネットワーク520が展開された後、ニューラルネットワーク520の特性を精緻化するように、増分訓練を継続し得る。これにより、ニューラルネットワーク520は、全体的なユーザ体験を向上させるようにオーディオ出力530の生成を改善することができる。
【0024】
リアルタイムパラメータ510A~510Nは、ユーザによるビデオゲームアプリケーション540の使用中にリアルタイムで収集されるこれらのパラメータである。ニューラルネットワーク520は、オーディオステム515A~515Nからオーディオ出力530を生成するように、リアルタイムパラメータ510A~510Nをニューラルネットワーク520の層への入力として使用する。オーディオ出力530は、次いで、ビデオゲームアプリケーション540に提供され、ユーザに提示される。ユーザがビデオゲームをプレイしている間、ユーザがビデオゲームアプリケーション環境をナビゲートすること、ユーザのパフォーマンス、ユーザが任意のゲーム設定を変更すること、及び、ユーザの動き等のユーザ対話550がキャプチャされることとなる。これらのユーザ対話データシーケンスは、ユーザエンゲージメントのレベル測定エンジン555に提供される。一実施形態では、ビデオゲームアプリケーション540は、ゲームコンソール545上で実行される。ゲームコンソール545は、(
図1の)システム100に示される構成要素のうち何れか、及び、システム100に示されていない他の構成要素を含む。別の実施形態では、ビデオゲームアプリケーション540は、クラウドゲーミングシナリオの一部としてクラウド内で実行される。
図5に示される他の構成要素のうち何れかが、ゲームコンソール545若しくはユーザにとってローカルな他のコンピュータハードウェア上にローカルに実装され、及び/又は、これらの構成要素のうち1つ以上がクラウド内に実装され得る。
【0025】
エンジン555は、ユーザエンゲージメントのレベルの測定値を生成し、これは、エンゲージメントのレベルメトリック560として示される。一実施形態では、エンジン555は、訓練されたニューラルネットワークである。実施形態に応じて、エンゲージメントのレベルメトリックは、0~1、0~10、0~63の範囲、又は、特定の訓練アルゴリズムに対応する任意の他の好適な範囲を有し得る。エンゲージメントのレベルメトリック560は、オーディオ出力530の良好度の尺度の指標としてニューラルネットワーク520に提供される。様々な実施形態では、エンゲージメントのレベルメトリック560は周期的に生成され、更新がニューラルネットワーク520に提供される。
【0026】
エンゲージメントのレベルメトリック560は、フィールドでの展開後にニューラルネットワーク520を増分的に訓練するために使用される。一実施形態では、エンゲージメントのレベルメトリック560の値が高いほど、ニューラルネットワーク520がオーディオステム515A~515Nの正しい組み合わせ及び処理技術の正しい組み合わせを選択してオーディオ出力530を生み出したことを示すニューラルネットワーク520に提供される正のフィードバックが高くなる。また、この実施形態では、エンゲージメントのレベルメトリック560の値が低いほど、ニューラルネットワーク520がオーディオステム515A~515Nの組み合わせを選択し、技術を処理してオーディオ出力530を生み出す不十分な仕事をしたことを示すニューラルネットワーク520に提供される負のフィードバックが多くなる。ユーザがビデオゲームアプリケーション540をプレイしている時間全体にわたって変化し得る、正又は負の何れかのこのフィードバックは、ニューラルネットワーク520がその訓練を継続し、オーディオ出力530を動的に生成するときの将来の反復においてより良好に実行することを可能にすることとなる。一実施形態では、ニューラルネットワーク520の学習レートは、プログラム可能な範囲内に保持されて、フィールドにおける訓練されたパラメータに過度に積極的な変更を加えることを回避する。学習レートは、これらの増分訓練パス中に訓練されたパラメータに適用される変化量を調整する可変スケール要因である。
【0027】
ニューラルネットワーク520は、異なるシーン、異なるビデオゲーム、異なるプレイヤ/ユーザに対して異なる設定を有し、これらの設定は、ゲーム内のどこをユーザがナビゲートしているか、どのビデオゲームをユーザがプレイしているか等に基づいてプリロードされ得る。例えば、ゲームのより危険な部分の間、ニューラルネットワーク520は、その層に対するパラメータの第1のセットを有する。ゲームのあまり危険でない段階の間、例えば、ユーザが車に乗っている場合、レストラン若しくは店で待っている場合、又は、本を読んでいる場合等において、ニューラルネットワーク520は、その層に対するパラメータの第2のセットを有する。ニューラルネットワーク520は、個々のゲームのためのパラメータの任意の数の異なるセットを有し、これらは、ゲームの異なる段階に遭遇すると、リアルタイムで層にロードされ、プログラムされ得る。パラメータの各セットは、パラメータの他のセットがゲームのそれぞれの部分においてどのように訓練されるかとは独立して、ゲームの対応する部分の間に受信されたエンゲージメントのレベルメトリック560に基づいて訓練される。また、異なるシーンは、これらの異なるパラメータに基づいて、ニューラルネットワーク520が特定のシーンのためのサウンドミックスを生成するためにそこから選択を行う、ステムの異なるセットを使用し得る。
【0028】
次に、
図6を見ると、適応型オーディオミキシングシステム600の一実施形態のブロック図が示されている。一実施形態では、システム600は、少なくともオーディオミキシングエンジン620及び訓練されたニューラルネットワーク640を含む。FMOD(登録商標)及びWWise(商標)は、ゲーム内で使用されるオーディオミキシングエンジンの市販の例である。オーディオミキシングエンジン620及び訓練されたニューラルネットワーク640は、ハードウェア及び/又はプログラム命令の任意の組み合わせを使用して実装され得る。例えば、一実施形態では、オーディオミキシングエンジン620及び訓練されたニューラルネットワーク640は、1つ以上のGPU上に実装されている。別の実施形態では、オーディオミキシングエンジン620及び訓練されたニューラルネットワーク640は、別のタイプの並列プロセッサ(例えば、FPGA、ASIC)上に実装されている。他の実施形態では、オーディオミキシングエンジン620及び訓練されたニューラルネットワーク640は、他のタイプのハードウェアデバイス(例えば、CPU)及び/又はプログラム命令を使用して実装され得る。
【0029】
一実施形態では、訓練されたニューラルネットワーク640は、複数のゲームシナリオパラメータ630A~630N及び複数のプレイヤプロファイルパラメータ635A~635Nを受信する。ゲームシナリオパラメータ630A~630Nは、プレイされているビデオゲームの特性、及び、ユーザがゲーム内にいる場所に固有である。ゲームシナリオパラメータ630A~630Nは、プレイヤが経験した固有のストーリーライン、シーン要素等のゲームシーン特性を含み得る。プレイヤプロファイルパラメータ635A~635Nは、プレイヤの関心、プレイヤのパフォーマンス、プレイヤによるゲーム制御の調整、プレイヤの視聴者の数、プレイヤが受信しているコメントのタイプ、プレイヤの人気、プレイヤの母国語、及び、プレイヤの影響力等の特性を含み得る。プレイヤプロファイルパラメータ635A~635Nのうちいくつかは静的であり、プレイヤプロファイルパラメータ635A~635Nのうちいくつかはゲーム全体を通して変化する。
【0030】
複数のゲームシナリオパラメータ630A~630N及び複数のプレイヤプロファイルパラメータ635A~635Nは、訓練されたニューラルネットワーク640への入力として提供される。これらの入力は、訓練されたニューラルネットワーク640の様々な層によって処理されて、オーディオミキシング重み645A~645Nのセットを生成する。オーディオミキシング重み645A~645Nは、訓練されたニューラルネットワーク640によって生成される任意の数の出力を表す。一実施形態では、オーディオミキシング重み645A~645Nは、オーディオステム610A~610Nに適用される値のアレイである。この実施形態では、各オーディオステム610A~610Nに対応し、オーディオ出力650を生み出すためにこれらのオーディオステム610A~610Nがオーディオミキシングエンジン620によってどのように一緒にミキシングされるかを定義する、出力645A~645Nが存在する。他の実施形態では、重み645A~645Nは、他の様式でオーディオミキシングエンジン620によって適用されて、オーディオステム610A~610Nからオーディオ出力650を生成する。いくつかの実施形態では、重み645A~645Nは、オーディオステム610A~610Nが一緒にミキシングされてオーディオ出力650を生み出す場合のタイミングを指定するタイミングパラメータを含む。
【0031】
一実施形態では、オーディオステム610A~610Nは、構成者によって生成された事前に記録されたオーディオトラックである。オーディオミキシングエンジン620は、訓練されたニューラルネットワーク640によって生成された重み645A~645Nに基づいて、オーディオステム610A~610Nをどのように組み合わせるかを決定する。例えば、一実施形態では、各重み645A~645Nは、対応するオーディオステム610A~610Nに適用され、これにより、オーディオステムがミックス内に含まれるかどうかを決定する。例えば、この実施形態では、重み645A~645Nとオーディオステム610A~610Nとの間に1対1の対応が存在する。オーディオミキシング重み645A~645Nは、時間の経過とともに変化し得ることに留意されたい。一実施形態では、各重み645A~645Nは、0又は1のバイナリ値であるが、他の実施形態では、各重み645A~645Nは、所定の範囲内の任意の値をとることができる。他の実施形態では、オーディオミキシングエンジン620は、オーディオステム610A~610Nに重み645A~645Nを他の様式で適用して、オーディオ出力650を生み出す。次いで、オーディオ出力650が、スピーカ、ヘッドホン又は別のオーディオ出力デバイスを介してユーザに提供される。
【0032】
図7を参照すると、適応型オーディオミキシングを実行するための方法700の一実施形態が示されている。説明の目的で、この実施形態におけるステップ及び
図8~
図10のステップは、順番に示されている。しかしながら、記載された方法の様々な実施形態では、記載された要素のうち1つ以上が、示された順序とは異なる順序で同時に実行されるか、又は、完全に省略されることに留意されたい。必要に応じて、他の追加の要素も実行される。本明細書に記載の様々なシステム又は装置の何れも、方法700を実施するように構成される。
【0033】
システムは、事前に記録されたオーディオステムを受信して記憶する(ブロック705)。システムは、ビデオゲームの状態をリアルタイムで監視する(ブロック710)。システムは、リアルタイムで監視されている1つ以上のビデオゲームの状態を表す数値を生成する(ブロック715)。例えば、ユーザのパフォーマンスを監視し、所定の範囲のスコアに変換することができる。所定の範囲は、一実施形態では0~63であってもよく、訓練されたニューラルネットワークは、ユーザのパフォーマンスを所定の範囲に変換し、0は最低のパフォーマンスであり、63は最高のパフォーマンスである。他のビデオゲームの状態も同様の様式で数値に変換することができる。
【0034】
数値は、訓練されたニューラルネットワークへの入力として提供される(ブロック720)。次に、訓練されたニューラルネットワークは、重みのミキシングアレイを生成するように入力を処理する(ブロック725)。次いで、訓練されたニューラルネットワークは、重みのミキシングアレイを事前に記録されたオーディオステムに適用して、適応型オーディオミックスを生成する(ブロック730)。次に、オーディオ出力が、ビデオゲーム体験の一部としてユーザのために再生される(ブロック735)。ブロック735の後、方法700はブロック710に戻り、システムはリアルタイムのビデオゲームの状態を監視し続ける。適応型オーディオミックスへの更新が生成される粒度は、実施形態ごとに異なり得る。一実施形態では、閾値よりも大きいビデオゲームの状態への変化が検出された場合、方法700を通して別のパスをとることによって適応型オーディオミックスが更新される。
【0035】
一例では、訓練されたニューラルネットワークは、数値で表されるビデオゲームの状態によって決定されるプレイヤの興奮レベルの増加を強化するために、パーカッション効果を含むステム(stems)の音量レベル又は鮮明さを増加させ得る。又は、別のシーンでは、弦楽器又は木管楽器の音のミキシングを増加させて、数値から推測されるプレイヤの感情的反応を強化し得る。別の例では、訓練されたニューラルネットワークは、数値がプレイヤの気が散っていることを示すと推測される場合、音量を低減し得る。
【0036】
次に、
図8を見ると、機械学習エンジンによってオーディオ出力を動的に生成するための方法800の一実施形態が示されている。機械学習エンジンは、1つ以上のユーザ固有パラメータを受信又は抽出する(ブロック805)。一実施形態では、機械学習エンジンは、訓練されたニューラルネットワークである。他の実施形態では、機械学習エンジンは、他のタイプの人工知能又は強化学習モデルに基づいて実装される。ユーザ固有パラメータは、プレイヤの関心、プレイヤのパフォーマンス、プレイヤによるゲーム制御の調整、プレイヤの視聴者の数、プレイヤが受信しているコメントのタイプ、プレイヤの人気、プレイヤの母国語、及び、プレイヤの影響力を含むが、これらに限定されない。また、機械学習モデルは、ビデオゲームアプリケーションをプレイしているユーザのリアルタイムシナリオの1つ以上の指標を受信又は抽出する(ブロック810)。ビデオゲームアプリケーションをプレイしているユーザのリアルタイムシナリオの1つ以上の指標は、プレイヤが経験した固有のストーリーライン、シーン要素、シーンキャラクタ、及び、ゲーム構造内のシーンの全体的なレベルを含むが、これらに限定されない。
【0037】
次に、機械学習エンジンは、1つ以上のユーザ固有パラメータ及びリアルタイムシナリオの1つ以上の指標に基づいて、複数の事前に記録された音楽ステムを組み合わせることによって非決定性音楽ミックスを生成する(ブロック815)。次いで、ホストコンピューティングシステム又は装置は、非決定性音楽ミックスを、ビデオゲームをプレイしているユーザに対するオーディオ出力にする(ブロック820)。ブロック820の後、方法800は終了する。方法800は、ユーザのために生成される非決定性音楽ミックスを更新するために、周期的又はプログラム可能な間隔で繰り返され得ることに留意されたい。また、ミックスレベルは時間の経過とともに変化し得る。例えば、ミックスレベルは、個々のステム又はグローバルミックスに対する音量及び/又はイコライゼーションのレベルの漸増又は漸減を有し得る。
【0038】
図9を参照すると、ビデオゲームアプリケーションのための動的非決定性オーディオミックスを生成するようにニューラルネットワークを訓練するための方法900の一実施形態が示されている。ニューラルネットワークは、ビデオゲームをプレイしているユーザから複数のゲームクリップを受信する(ブロック905)。ニューラルネットワークは、任意の数及びタイプの層を含み、層の数及びタイプは、実施形態に従って変化する。ゲームクリップは、過去のビデオゲームプレイから記録されたゲームクリップであり得るか、又は、ビデオゲームをプレイしているユーザからリアルタイムで受信されたゲームクリップであり得る。場合によっては、過去及びリアルタイムのゲームクリップの組み合わせがニューラルネットワークによって受信され得る。また、ニューラルネットワークは、ゲームクリップに関連付けられた様々なゲームシナリオパラメータ及びユーザ固有パラメータを受信及び/又は生成する(ブロック910)。また、ニューラルネットワークは、複数の事前に記録されたオーディオステムを受信する(ブロック915)。一実施形態では、事前に記録されたオーディオステムは、音楽構成者によって生成され、特定のビデオゲームアプリケーションとともに使用される。
【0039】
次に、ニューラルネットワークを通して順方向伝搬パスが実行されて、ゲームシナリオパラメータ及びユーザ固有パラメータに基づいてオーディオステムを組み合わせることによって動的非決定性オーディオミックスが生成される(ブロック920)。次に、ニューラルネットワークは、動的非決定性オーディオミックスに関するフィードバックを受信する(ブロック925)。一実施形態では、フィードバックは、動的非決定性オーディオミックスを聴いて評価するテスタ、ゲーム構成者又は他の人によって生成される。フィードバックは、テスタによって生成されたスコアを含み、テスタは、オーディオミックスの全体を通して異なる瞬間にスコアを調整し得る。別の実施形態では、フィードバックは、ビデオゲームアプリケーションをプレイしているユーザによってとられたアクションに基づいてリアルタイムで生成される。この実施形態では、フィードバックは、音量の調整、及び、パフォーマンスの改善又は低下等のユーザアクションに基づいて推測される。更なる実施形態では、弁別ネットワークは、強化学習パスのための初期開始点を生成するために、シーンのための適切な音楽ミックスにおいて使用されるパラメータを認識する監督方法によって事前に訓練される。
【0040】
次に、フィードバックに基づいてニューラルネットワーク層内の重みを調整するために、ニューラルネットワークを通して逆方向伝搬パスが実行される(ブロック930)。ブロック930の後、方法900は終了する。方法900は、ニューラルネットワーク層の重みを反復的に精緻化するために、異なる訓練セットを用いて任意の回数繰り返され得ることに留意されたい。
【0041】
次に、
図10を見ると、ユーザの動きを介してキャプチャされた人間の感情の尺度に基づいて適応型オーディオミキシングニューラルネットワークに影響を与えるための方法1000の一実施形態が示されている。ユーザがビデオゲームをプレイしている間、1つ以上のセンサがユーザの動きを追跡する(ブロック1005)。次に、ユーザエンゲージメントのレベル測定エンジン(例えば、
図5のユーザエンゲージメントのレベル測定エンジン555)は、追跡されているユーザの動きに基づいて人間の感情の尺度を生成する(ブロック1010)。例えば、ユーザの腕及び/又は脚が追跡されている場合、腕及び/又は脚の相対的な動き量は、ユーザによる以前の動き量又は他のユーザの動き量と比較して、ユーザの感情の指標を提供する。一実施形態では、ユーザの感情の尺度は、スケールの一端においてユーザがどの程度無感動であるか、又は、スケールの他端においてユーザがどの程度楽しんでいるかを表すことが意図されている。
【0042】
次に、人間の感情の尺度は、適応型オーディオミキシングニューラルネットワークへの入力として提供される(ブロック1015)。適応型オーディオミキシングニューラルネットワークは、人間の感情の尺度及び1つ以上の他の入力パラメータに基づいて適応型オーディオミックスを生成する(ブロック1020)。例えば、人間の感情の尺度が閾値よりも大きい場合、適応型オーディオミキシングニューラルネットワークは、適応型オーディオミックスのテンポを増加させる。人間の感情の尺度及び他の入力パラメータに基づく適応型オーディオミックスへの他の変更も実装され得る。他の入力パラメータは、実施形態に従って変化し、上記で列挙されたシーン及び/又はユーザ固有パラメータのうち何れかであり得る。ブロック1020の後、方法1000は終了する。方法1000は、ビデオゲームプレイ中に繰り返され、ニューラルネットワークによって生成される適応型オーディオミックスを更新し得ることに留意されたい。
【0043】
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、本明細書に記載の方法及び/又は機構を実装する。例えば、汎用又は専用プロセッサによって実行可能なプログラム命令が企図される。様々な実施形態では、そのようなプログラム命令は、高レベルプログラミング言語によって表される。他の実施形態では、プログラム命令は、高レベルプログラミング言語からバイナリ、中間又は他の形式にコンパイルされる。代替的に、ハードウェアの挙動又は設計を説明するプログラム命令が書かれる。そのようなプログラム命令は、C等の高レベルプログラミング言語によって表される。代替的に、Verilog等のハードウェア設計言語(hardware design language、HDL)が使用される。様々な実施形態では、プログラム命令は、様々な非一時的なコンピュータ可読記憶媒体の何れかに記憶される。記憶媒体は、プログラム実行のためにプログラム命令をコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。一般的に言えば、そのようなコンピューティングシステムは、少なくとも1つ以上のメモリと、プログラム命令を実行するように構成された1つ以上のプロセッサと、を含む。
【0044】
上記の実施形態は、実施形態の非限定的な例にすぎないことを強調しておきたい。上記の開示が十分に理解されると、多数の変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、全てのそのような変形及び修正を包含すると解釈されることが意図されている。
【国際調査報告】