JP2022111966A - 音声及びビデオ会議アプリケーションの音量調節 - Google Patents
音声及びビデオ会議アプリケーションの音量調節 Download PDFInfo
- Publication number
- JP2022111966A JP2022111966A JP2021033337A JP2021033337A JP2022111966A JP 2022111966 A JP2022111966 A JP 2022111966A JP 2021033337 A JP2021033337 A JP 2021033337A JP 2021033337 A JP2021033337 A JP 2021033337A JP 2022111966 A JP2022111966 A JP 2022111966A
- Authority
- JP
- Japan
- Prior art keywords
- participant
- user
- representation
- volume level
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1822—Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1813—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
- H04L12/1827—Network arrangements for conference optimisation or adaptation
Abstract
【課題】音声及びビデオ会議アプリケーションの音量調節を提供する。【解決手段】ローカルユーザが、ビデオ会議アプリケーションのインスタンスを開始するとき、ユーザは、ユーザに対応するアイコン並びにビデオ会議アプリケーションのインスタンスの参加者に対応するいくつかの他のアイコンを表示するUIを提供される。ユーザが会話をするとき、ローカルユーザは、特定の参加者がその他のリモートユーザと比べて大声で話していることを見つける。ローカルユーザは、その特定の参加者に対応するアイコンを選択し、そのアイコンをUI内でローカル・ユーザのアイコンから離す。リモートユーザのアイコンをローカルユーザのアイコンから離すことに基づいて、その参加者の音声データの出力音量を下げる。ローカルユーザが、参加者アイコンをローカルユーザのアイコンの近くに移動した場合、その参加者の音量は、上げられる。【選択図】図1
Description
本発明は、音声及びビデオ会議アプリケーションの音量調節に関するものである。
マルチパーティ・アプリケーション- たとえば、オンライン・ビデオ会議、ゲーム・ストリーミング・サービス、ビデオ・ストリーミング・サービスなど- のユーザは、複数の参加者が同時に話しているとき、又は異なる参加者が異なる音量レベルで話すときに、1人のスピーカ又は参加者に集中することが難しいと思うことがしばしばある。たとえば、2人の参加者が、同時に話しているが、1人が、より静かな参加者と比較して、非常に大声で話すことがある。その場合、特に、両方の参加者が、同時に話している場合、音声ストリームを受信するユーザは、より静かな参加者を聞く及び/又は理解するのが難しいことがある。ユーザは、ストリーム内のすべての参加者の出力音量を上げる又は下げることができるが、ストリームにおける各個々の参加者の音量が、ユーザの制御の枠外の要因- たとえば、どのくらい大声で参加者が話すか及び/又はその他の参加者が彼ら自身に対してマイクロフォンをどこに配置するか- によって決定される。結果として、受信しているユーザは、クロストークの解読を試みる、より静かな参加者にもっと大声で話すように求める若しくはより大声の参加者にもっと静かに話すように求める、及び/又はクロストークが少なくなるように参加者の話す順番を制御することを試みる必要がある。しかしながら、これらのオプションは、ユーザにとって不快であることがあり、又は、ユーザが他の参加者の音量レベルでの彼らの体験を伝達するためのマイクロフォン機能若しくは他の通信手段へのアクセスを有しない参加者である場合などに、利用不可能なことがある。
本開示の実施例は、音声及びビデオ会議の、位置に基づく音量調節に関する。参加者アイコンへの操作に基づいてアプリケーション参加者に更新された音声設定を適用する、システム及び方法が、開示される。たとえば、従来のシステム、たとえば、前述のもの、とは対照的に、本開示のシステム及び方法は、ローカル・ユーザが、リモート参加者に関連付けられたアイコン(たとえば、サムネイル、タイル、ビデオ・フィード、写真、アバタ、グラフィック画像、若しくは他の表現)を移動する(たとえば、ローカル・ユーザに関連付けられたアイコンの方へ又はそれから遠くへ)又は他の方法で操作する(たとえば、音量を下げるために縮小する、音量を上げるために拡大する)とき、リモート参加者(たとえば、アプリケーションのインスタンス内の他のユーザ)に対応する音声データの音量出力を自動的に修正する。
非限定的一実例として、ローカル・ユーザが、ビデオ会議アプリケーションのインスタンスを開始するとき、ユーザは、ユーザに対応するアイコン(又は他の表現又はインジケータ)並びにビデオ会議アプリケーションのインスタンスの参加者に対応する1つ又は複数の他のアイコンを表示するユーザ・インターフェイス(UI:user interface)を提供され得る。しかしながら、ユーザが会話をするとき、ローカル・ユーザは、特定の参加者が、その他の参加者と比べて、非常に大声で話していることに気付くことがある。ローカル・ユーザは、次いで、その特定の参加者に対応するアイコンを選択し、UIにおいてそのアイコンをローカル・ユーザのアイコンから離すことができる。特定の参加者のアイコンをローカル・ユーザのアイコンから離すことに基づいて、本システムは、特定の参加者に対応する1サブセットの音声データを識別し(たとえば、音声データのストリーム内から)、その参加者の音声データの出力音量を下げることができる。さらに、又は別法として、ローカル・ユーザが、参加者のアイコンをローカル・ユーザのアイコンの近くに移動した場合、その参加者の音声データの音量が、上げられ得る。有利に、ローカル・ユーザは、ローカル・ユーザのアイコンに対して各リモート・ユーザのアイコンを配置すること(又は他の方法で操作すること)によって、各リモート・ユーザに対応する出力音量を調整することができる- それにより、ローカル・ユーザがビデオ会議アプリケーション内の会話をより明確に理解する及び追跡することを可能にする。
音声及びビデオ会議のための位置に基づく音量調節のためのシステム及び方法について、以下のような添付の図面を参照して、詳しく後述する。
音声及びビデオ会議のための位置に基づく音量調節に関するシステム及び方法が、開示される。主にビデオ会議実装形態に関して本明細書では説明されているが、これは、限定を意図しておらず、本開示のシステム及び方法は、アイコンへの操作に基づいて音声設定を更新するための任意の実装形態において実装され得る。非限定的実例として、本明細書に記載のシステム及び方法は、ビデオ・ストリーミング・アプリケーション、ゲーム・ストリーミング・アプリケーション、仮想学習アプリケーション、ソーシャル・メディア・コンテンツ共用アプリケーション、ビデオ共用アプリケーション、及び/又は、1人又は複数の参加者への音量調節が行われ得る他のアプリケーション・タイプのために実装され得る。
いくつかの実施例において、ローカル・ユーザが、ビデオ会議アプリケーションのインスタンスを開始するとき、ユーザは、ユーザに対応するアイコン(又は他の表現又はインジケータ)並びにビデオ会議アプリケーションのインスタンスの参加者に対応するいくつかの他のアイコン(又は他の表現又はインジケータ)を表示するユーザ・インターフェイス(UI)を提供され得る。最初に、音量レベルは、各リモート・ユーザについて設定され得る- たとえば、アプリケーションによって設定された又は特定の参加者に対応する学習された若しくはユーザ設定された音量レベルに基づくデフォルト・レベル。加えて又は別法として、ローカル・ユーザは、特定の参加者のデフォルト音量レベルを手動で選択する又は事前に指定することができる(たとえば、ビデオ会議の初期化の前にユーザ・アイコンを選択すること及び特定のユーザの音量レベルを設定することによって)。しかしながら、ユーザが会話をするとき、ローカル・ユーザは、特定の参加者がその他の参加者と比較して非常に大声で話している又は非常に静かに話しているのを見つけることがあり、すべての参加者に同じ一般音量レベルが適用されるとき、その不一致は、聴取の難しさ又は不快感につながる。ローカル・ユーザは、次いで、特定の参加者に対応するアイコンを選択し、アイコンを移動する又は他の方法で操作すること(たとえば、音量を下げるためにアイコン・サイズを縮小する、音量を上げるためにアイコン・サイズを拡大する)によって、特定の参加者に対応する(たとえば、特有の)音声データの音量出力を修正することができる。たとえば、ローカル・ユーザは、UIにおいて、より大声の参加者のアイコンをローカル・ユーザのアイコンから離すことができる。より大声の参加者のアイコンをローカル・ユーザのアイコンから離すことに基づいて、本システムは、より大声の参加者のアイコンの更新された音量レベルを決定する(たとえば、音量を下げる)ことができる。その後、本システムは、より大声の参加者に対応する1サブセットの音声データを識別し(たとえば、音声データの1つ又は複数のストリーム内から)、より大声の参加者の音声データの出力音量を下げることができる。さらに、ローカル・ユーザが、参加者のアイコンをローカル・ユーザのアイコンの近くに移動した場合、参加者の音声データ出力の音量は、自動的に上げられ得る。1つ又は複数の実施例において、ローカル・ユーザは、1人又は複数の参加者のアイコン又は他の表現を特定の効果に関連付けられたユーザ・インターフェイス内の(事前)指名エリアに配置又は再配置することができる。たとえば、ローカル・ユーザは、そのエリアに配置された表現を有する参加者に対応する音声データの音量レベルを増幅するように指名されるエリアに1つ又は複数の参加者アイコンを再配置することができる。類似して、ローカル・ユーザは、そのエリアに配置された表現を有する参加者に対応する音声データの音量レベルを下げる(又はミュートする)ように指名されるエリアに1つ又は複数の参加者アイコンを再配置することができる。有利に、ローカル・ユーザは、ローカル・ユーザのアイコンに対して各参加者のアイコンを配置することによって、各参加者(同時に何人かを含む)に対応する出力音量を調整する- それにより、参加者ごとの音声設定(たとえば、音量、トレブル、バス、雑音消去など)への動的調節を可能にすることによってローカル・ユーザのユーザ体験を高める- ことができる。
他の実施例において、ユーザは、参加者に対応する参加者アイコンのサイズを操作することによって、参加者に対応する音声データの音量レベルを調節することができる。たとえば、タッチスクリーン・モバイル・デバイス(たとえば、スマートフォン、タブレットなど)- 画面サイズが、距離に基づくアイコン操作にあまり適していないことがある- のアプリケーションにおいて、ユーザは、参加者アイコンにピンチ・トゥ・ズーム・イン/アウト・ジェスチャを実行することができ、それによって、ジェスチャが、ピンチ・トゥ・ズーム・イン・ジェスチャ(たとえば、2本の指を使用してアイコンを選択すること及びそれらの指を外側へ広げること)であるか、ピンチ・トゥ・ズーム・アウト・ジェスチャ(たとえば、2本の指を使用してアイコンを選択すること及びそれらの指を互いに向けて移動すること)であるかに応じて、参加者アイコンのサイズを大きくする又は小さくすることができる。したがって、音量レベルは、参加者アイコンの相対的サイズに関連付けられ得る。たとえば、ユーザが、参加者アイコンのサイズを大きくするとき、その参加者に関連付けられた音声データの音量レベルは、上げられ得、ユーザが、参加者アイコンのサイズを小さくするとき、音声データの音量レベルは、下げられ得る、或いは逆もまた同様である。類似して、アイコン・サイズは、デスクトップ・アプリケーションにおいて音量レベルを上げる/下げるために使用され得る。しかしながら、タッチスクリーンが利用不可能な場合、ユーザは、参加者のアイコンの角又は辺を選択し、角又は辺を操作して参加者のアイコンのサイズ又は次元を調節することができる。
いくつかの実施例において、ユーザの第1のデバイスでの参加者アイコンの構成は、ユーザの第2のデバイスに動的にポートされ得る。たとえば、ユーザは、ユーザのパーソナル・コンピュータ(PC:personal computer)でのアプリケーション・セッションのインスタンスに参加しながら1つ又は複数の参加者アイコンを構成し、ユーザのモバイル・デバイスでのアプリケーション・セッションの新しいインスタンスを開始する(たとえば、アプリケーション・セッションの2つのインスタンスの共通のログイン情報を使用して)ことができる。ユーザのモバイル・デバイスでアプリケーション・セッションの新しいインスタンスを開始したとき、本システムは、ユーザのPCでのアプリケーション・セッションのインスタンスからの1つ又は複数の参加者アイコンの構成、及び/又は音量レベルにアクセスし、それぞれの対応する参加者の音量レベルに一致するようにモバイル・デバイス上の1つ又は複数の参加者アイコンを調節することができる。音量レベルは、アプリケーション・セッションの新しいユーザ・インターフェイスにおいて構成を再作成するために使用され得る。たとえば、各参加者に対応する音量レベルは、モバイル・デバイスで参加者アイコンのサイズを調節するために使用され得る。
いくつかの実施例において、音量レベルは、アプリケーション内の距離/位置に基づいてアプリケーションを横断して調節され得る。たとえば、2つ以上のプレーヤ・アバタが、仮想環境において- たとえば、ビデオ・ゲームにおいて- 互いにリンクされ得る(たとえば、API、プラグインなどを介して)。仮想環境内のユーザ・アバタに対する1つ又は複数の参加者アバタの距離/位置は、参加者アバタの、空間音量レベル(たとえば、左、右、前、後ろ、上、下など)を含む、音量レベルを調節するために使用され得る。出力音量設定は、現実世界の環境を模倣するために、較正され得る。たとえば、ユーザ・アバタの位置から離れている、及びユーザ・アバタに関して方向付けられている参加者アバタに基づいて、本システムは、ユーザへの参加者アバタ出力(たとえば、ユーザのステレオ・ヘッドフォン、ステレオ・スピーカ、サラウンド・サウンド・スピーカ、スピーカ・アレイなどを介する)に対応する音量レベルを調節することができる。距離及び/又は位置が、アプリケーション・セッション中に変化するとき、本システムは、それに応じて、音量レベルを調節することができる。ユーザ・アバタ及び1つ又は複数の参加者アバタの相対的位置に基づいて音量レベルを調節することによって、ユーザは、仮想環境において1つ又は複数の参加者アバタをさらに速く、簡単に位置付けることができる。
いくつかの実施例において、アプリケーション・セッションに参加する各ユーザは、彼らのローカル・デバイスで異なる構成のアイコンを形成することができる。たとえば、第1のユーザは、第1のユーザのデバイスで第2のユーザのアイコンを第1のユーザのアイコンの非常に近くに移動することができ、その一方で、第2のユーザは、第2のユーザのデバイスで第1のユーザのアイコンを第2のユーザのアイコンから遠くに移動することができる。そのようなものとして、第2のユーザの音量レベルは、第1のユーザのデバイスで上げられることになり、そして、第1のユーザの音量レベルは、第2のユーザのデバイスで下げられることになる。いくつかの実施例において、各ユーザは、彼らのアイコンがその他のユーザのデバイスでどのように構成されるか(たとえば、離される又は近づけられる)に関するリアルタイムのフィードバックを提供され得る。たとえば、ユーザの音量レベルが下げられる(たとえば、閾値未満に)ように、そのアイコンが別のユーザのアイコンから離されたユーザは、他のユーザがそのユーザの言うことをもはや聞くことができないことをそのユーザに知らせるために、インジケータ- たとえば、そのユーザの言うことを聞くことができない又はおそらく聞くことができないユーザのリスト- を提供され得る。この情報は、彼らがアプリケーション・セッションにおいてどのように知覚されているか(たとえば、大きすぎる/小さすぎる声で話している又はクロストークに関与している)をユーザに通知するために有用になり得る。いくつかの実施例において、ユーザは、アプリケーション・セッションに参加するユーザにユーザ・アイコン移動/構成に関する情報を提供したいかどうかを選択する(たとえば、オプト・イン/アウト)ことができる。
いくつかの実施例において、たとえば、第1のユーザが、第2のユーザの音量レベルを閾値未満に下げ、第1のユーザが、第2のユーザの言うことをもう聞くことができない場合、第2のユーザは、いくつかのやり方で第1のユーザを再び引き入れることができ得る。たとえば、第2のユーザは、手を上げること、メッセージ、ポップアップ・インジケータ、及び/又は非言語通信の他の手段の形で、非言語フィードバックを第1のユーザに提供することができる。さらに、いくつかの実施例において、本システムは、いつユーザの名が話されるかを判定することができる自然言語プロセッサ(NLP:natural language processor)を使用することができる。前述の実例に続いて、第2のユーザが第1のユーザの名を言ったと判定することに基づいて、本システムは、第1のユーザが、第2のユーザの言うことを聞くことができ、第2のユーザが第1のユーザを再び引き入れることを可能にすることができるように、第2のユーザの音量レベルを上げることができる。
さらなる実施例において、本システムは、通常のユーザ行動を判定するために、ローカルに又はリモート・サーバにおいて、1つ又は複数の機械学習モデル、1つ又は複数のディープ・ニューラル・ネットワーク(DNN:deep neural network)、及び/又は1つ又は複数の他のアルゴリズム・タイプによって処理されることになるアプリケーションの任意の数のアプリケーション・セッションからのデータを収集及び記録することができる。たとえば、減衰データ、ユーザのリスト、時刻、会議の議題、及び/又は他のコンテキスト・データは、所与のコンテキストの通常のユーザ行動予測を生成するために使用され得る。これらの予測は、ユーザのための自動化された減衰動作を実行するために使用され得る。たとえば、ユーザが、通常、毎週の予算会議中には穏やかな話し方のユーザに関連付けられたユーザ・アイコンを操作又は他の方法でユーザのアイコンに近づけるが、毎月の仮想サービス・タイム中には穏やかな話し方のユーザのアイコンを操作又は他の方法でユーザのアイコンから離す場合、本システムは、この行動を学習し、その後の予算会議及び仮想サービス・タイムにおいて穏やかな話し方のユーザのアイコンの場所を自動的に調節することができる。
図1を参照すると、図1は、本開示のいくつかの実施例による、例示的音声操作システム100(或いは本明細書で「システム100」と称される)である。本明細書に記載のこの及び他の配列は単に実例として説明されていることを理解されたい。他の配列及び要素(たとえば、機械、インターフェイス、機能、順番、機能のグループなど)が、示されているものに加えて又はその代わりに使用され得、いくつかの要素は、ともに省略され得る。さらに、本明細書に記載の要素の多数は、個別の若しくは分散された構成要素として又は他の構成要素と併せて、及び任意の適した組合せ及び場所で実装され得る機能エンティティである。エンティティによって実行されているものとして本明細書に記載された様々な機能は、ハードウェア、ファームウェア、及び/又はソフトウェアによって、実施され得る。たとえば、様々な機能は、メモリに記憶されたプロセッサ実行命令によって実施され得る。いくつかの実施例において、システム100は、図5の例示的コンテンツ・ストリーミング・システム500、図6の例示的コンピューティング・デバイス600、及び/又は図7の例示的データ・センタ700のそれらと類似の構成要素、特徴、及び/又は機能性を含み得る。
音声操作システム100は、特に、クライアント・デバイス102A及び102B(本明細書で「クライアント・デバイス102」と総称される)とアプリケーション・サーバ104とを含み得る。クライアント・デバイス102A及び102Bが、図1には示されているが、これは、限定を意図していない。任意の実例において、任意の数(たとえば、1つ又は複数)のクライアント・デバイス102が存在し得る。音声操作システム100の構成要素は、ネットワーク106を介して通信し得る。ネットワークは、ワイド・エリア・ネットワーク(WAN:wide area network)(たとえば、インターネット、公衆交換電話網(PSTN:public switched telephone network)など)、ローカル・エリア・ネットワーク(LAN:local area network)(たとえば、Wi-Fi、ZigBee、Z-Wave、ブルートゥース(登録商標)、ブルートゥース(登録商標)・ロー・エネルギ(BLE:Bluetooth(登録商標) Low Energy)、イーサネット(登録商標)、ウルトラ・ワイドバンド(UWB:Ultra-Wideband)など)、低電力ワイド・エリア・ネットワーク(LPWAN:low-power wide-area network)(たとえば、LoRaWAN、Sigfoxなど)、全地球的航法衛星システム(GNSS:global navigation satellite system)ネットワーク(たとえば、全地球測位システム(GPS:Global Positioning System))、及び/又は別のネットワーク・タイプを含み得る。任意の実例において、音声操作システム100の構成要素のそれぞれは、ネットワーク106のうちの1つ又は複数を介して他の構成要素のうちの1つ又は複数と通信し得る。
クライアント・デバイス102は、スマートフォン、ラップトップ・コンピュータ、タブレット・コンピュータ、デスクトップ・コンピュータ、ウェアラブル・デバイス、ゲーム機、仮想/拡張/複合現実システム(たとえば、ヘッドセット、コンピュータ、ゲーム機、リモート、コントローラ、及び/又は他の構成要素)、ストリーミング・デバイス(たとえば、NVIDIA SHIELD)、インテリジェント・パーソナル・アシスタントを含み得るスマート・ホーム・デバイス、ビデオ会議若しくは他のアプリケーション・タイプ(たとえば、ゲーム・プレイ、ビデオ・チャット、カスタマ・サービス・チャットなど)をサポートする能力を有する別のタイプのデバイス、及び/又はその組合せを含み得る。
クライアント・デバイス102A/102Bは、クライアント・アプリケーション108A/108B、ディスプレイ110A/110B、通信インターフェイス112A/112B、入力デバイス114A/114B、及び/又はローカル・ストレージ116A/116Bを含み得る。クライアント・デバイス102のほんの少数の構成要素及び/又は特徴だけが、図1には示されているが、これは限定を意図していない。たとえば、クライアント・デバイス102は、付加的又は代替構成要素、たとえば、図6及び/又は7に関して後述されるもの、を含み得る。
クライアント・アプリケーション108A及び108B(本明細書で「クライアント・アプリケーション108」と総称される)は、モバイル・アプリケーション、コンピュータ・アプリケーション、コンソール・アプリケーション、及び/又は別のタイプのアプリケーションを含み得る。クライアント・アプリケーション108は、プロセッサによって実行されるとき、限定なしに、1つ又は複数の入力デバイス114へのユーザ入力を表す入力データを受信する、入力データをアプリケーション・サーバ104に送信する、メモリ又はローカル・ストレージ116からアプリケーション・データを取得する、アプリケーション・サーバ104から通信インターフェイス112を使用してアプリケーション・データを受信する、及びディスプレイ110でアプリケーションを表示させることをプロセッサに行わせる、命令を含み得る。たとえば、クライアント・アプリケーション108は、クライアント・デバイス102のクライアント・アプリケーションに関連付けられたビデオ会議セッションのストリーミングを可能にするためのファシリテータとして動作し得る。クライアント・アプリケーション108はまた、プロセッサによって実行されるとき、プロセッサにアプリケーション・サーバ104へデータを送信させる及びアプリケーション・サーバ104からデータを受信させる、命令を含み得る。たとえば、クライアント・アプリケーション108Aは、クライアント・アプリケーション108Aで実行されたアイコン操作に関するリアルタイムのフィードバックをアプリケーション・サーバ104に送信し、クライアント・アプリケーション108Bで実行されたアイコン操作に関するリアルタイムのフィードバックをアプリケーション・サーバ104から受信することができる。他の実例において、クライアント・アプリケーション108Aは、任意の数のアプリケーション・セッションからアプリケーション・サーバ104にセッション・データ(たとえば、減衰データ、ユーザのリスト、時刻、会議の議題、及び/又は他のコンテキスト・データ)を送信することができる。そのような実例において、ホスト・アプリケーション118は、所与のコンテキストの通常ユーザ行動予測を生成することができる(たとえば、機械学習モデル、ディープ・ニューラル・ネットワーク(DNN)、又は別のアルゴリズム・タイプによって)。
ディスプレイ110A及び110B(本明細書で「ディスプレイ110」と総称される)は、アプリケーションを表示する能力を有する任意のタイプのディスプレイ(たとえば、発光ダイオード・ディスプレイ(LED:light-emitting diode diplay)、有機LEDディスプレイ(OLED:organic LED display)、液晶ディスプレイ(LCD:liquid crystal display)、アクティブ・マトリックスOLEDディスプレイ(AMOLED:active matrix OLED display)、量子ドットディスプレイ(QDD:quantum dot display)、プラズマ・ディスプレイ、LED/LCDディスプレイ、及び/又は別のタイプのディスプレイ)を含み得る。いくつかの実例において、ディスプレイ110は、複数のディスプレイ(たとえば、コンピュータのデュアル・モニタ・ディスプレイ)を含み得る。いくつかの実例において、ディスプレイは、タッチスクリーン・ディスプレイ、たとえば、スマートフォン、タブレット・コンピュータ、ラップトップ・コンピュータなどのタッチスクリーン、であり、そこで、タッチスクリーンは、クライアント・デバイス102の入力デバイス114のうちの少なくとも1つである。
入力デバイス114A及び114B(本明細書で「入力デバイス114」と総称される)は、アプリケーションにユーザ入力を提供する能力を有する任意のタイプのデバイスを含み得る。入力デバイスは、キーボード、マウス、マイクロフォン、タッチスクリーン・ディスプレイ、コントローラ、リモート、ヘッドセット(たとえば、仮想/拡張/複合現実ヘッドセットのセンサ)、及び/又は他のタイプの入力デバイスを含み得る。
通信インターフェイス112A、112B、112C(本明細書で「通信インターフェイス112」と総称される)は、1つ又は複数のネットワーク、たとえば、ネットワーク106、を横断して通信するための1つ又は複数の構成要素及び特徴を含み得る。通信インターフェイス112は、本明細書に記載の、任意の数のネットワーク106を介して通信するように構成され得る。たとえば、図1の音声操作システム100において通信するために、クライアント・デバイス102は、アプリケーション・サーバ104と及び/又は他のクライアント・デバイス102と通信するために、ルータを介してイーサネット(登録商標)又はWi-Fi接続を使用してインターネットにアクセスすることができる。
ローカル・ストレージ116A及び116B(本明細書で「ローカル・ストレージ116」と総称される)は、様々なコンピュータ可読媒体のいずれかを含み得る。コンピュータ可読媒体は、クライアント・デバイス102によってアクセスすることができる任意の利用可能な媒体でもよい。コンピュータ可読媒体は、揮発性媒体及び不揮発性媒体の両方、並びに取り外し可能な媒体及び取り外し不可能な媒体を含み得る。実例として、そして限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。ローカル・ストレージ116は、付加的又は代替構成要素、たとえば、図6のメモリ604に関して記載されるもの、を含み得る。本開示のいくつかの実施例によれば、クライアント・アプリケーション108の部分は、ローカル・ストレージ116に記憶され得る。いくつかの実施例において、アプリケーション・セッション・データ- たとえば、減衰データ、ユーザのリスト、時刻、会議の議題、及び/又は他のコンテキスト・データ- は、ローカル・ストレージ116に記憶され得る。
アプリケーション・サーバ104は、ホスト・アプリケーション118及び通信インターフェイス112Cを含み得る。ホスト・アプリケーション118は、クライアント・アプリケーション108に対応し得る。しかしながら、クライアント・デバイス102でローカルに音声操作動作を実行する(たとえば、リモート参加者に対応する音声データの音量出力を修正する)のではなくて、ホスト・アプリケーション118は、アプリケーション・サーバ104で本明細書に記載の音声操作動作を実行し、修正された音声データをクライアント・デバイス102に通信することができる。上述したように、通信インターフェイス112Cは、1つ又は複数のネットワークを横断して通信するための1つ又は複数の構成要素及び特徴を含み得る。アプリケーション・サーバ104のほんの少数の構成要素及び/又は特徴だけが、図1には示されているが、これは限定を意図していない。たとえば、アプリケーション・サーバ104は、付加的又は代替構成要素、たとえば、図5の例示的コンテンツ・ストリーミング・システム500、図6の例示的コンピューティング・デバイス600、及び/又は図7の例示的データ・センタ700に関して後述されるもの、を含み得る。
動作中、クライアント・デバイス102が、クライアント・アプリケーション108を介してビデオ会議セッションの一部としてビデオ会議アプリケーションのインスタンスを開始するとき、クライアント・デバイス102は、ビデオ会議アプリケーションのインスタンスに参加する各ユーザに対応するアイコンを表示するグラフィックUIをそれぞれ提供され得る。アイコンは、サムネイル、タイル、ビデオ・フィード(たとえば、特定のユーザのカメラからキャプチャされたものなどの、ライブ・ビデオを有するウインドウ)、静止画像写真、仮想背景、アバタ、グラフィック画像、又は他の表現を含み得るが、これらに限定されない。最初に、音量レベルは、ユーザについて設定され得る- たとえば、クライアント・アプリケーション108によって設定された、又は学習された音量レベル若しくは特定のユーザに対応するユーザ設定された音量レベルに基づく、デフォルト・レベル。たとえば、クライアント・デバイス102Aは、ローカル・ユーザによって操作され得、複数のクライアント・デバイス102Bは、複数のリモート・ユーザによってそれぞれ操作され得る。そのような実例において、ユーザが会話をするとき、ローカル・ユーザは、その他のリモート・ユーザと比較して特定のリモート・ユーザ又は参加者が非常に大声で話していることを見つけ得る。クライアント・デバイス102Aは、次いで、その特定のリモート・ユーザに対応するアイコン選択並びに入力デバイス114Aを介するその特定のリモート・ユーザに対応するアイコンの操作を、ローカル・ユーザから、受信し得る。たとえば、ローカル・ユーザは、UIにおいて視覚的に(たとえば、グラフィックで)提示されるものとしてのローカル・ユーザのアイコンから特定のリモート・ユーザ・アイコンをさらに遠くに移動するように操作し、又は他の方法で移動させることができる。UIに視覚的に提示されるものとしてのローカル・ユーザのアイコンから特定のリモート・ユーザのアイコンがさらに遠くに移動されることに基づいて、クライアント・アプリケーション108Aは、特定のリモート・ユーザに関連付けられたクライアント・デバイス102Bから受信された少なくとも1サブセットの音声データを識別し、少なくともそのサブセットの音声データの音量出力をクライアント・デバイス102Aによって減らすことができる。
一実例として、図2A~2Cを参照すると、図2A~2Cは、本開示の少なくともいくつかの実施例の実装において使用するのに適した、ユーザ・アイコンを操作するための例示的UIを示す。図2Aは、アプリケーションUI200A、プレゼンテーション202、ユーザ・アイコン204、並びに参加者アイコン206、208、210、及び212を含む。動作中、ユーザ・アイコン204に関連付けられたユーザ及び参加者アイコン206、208、210、及び212のそれぞれに関連付けられたユーザは、アプリケーション・セッションに参加し得る。アプリケーションUI200Aは、ユーザ・アイコン204に関連付けられたローカル・ユーザの視点からのアプリケーションのインスタンス- たとえば、オンライン・ビデオ会議、ゲーム・ストリーミング・サービス、ビデオ・ストリーミング・サービスなど- に対応し得る。最初に、ユーザ・アイコン204に関連付けられたユーザは、参加者アイコン206、208、210、及び212のそれぞれに関連付けられたそれぞれのユーザの音量レベルを設定することができる。加えて又は別法として、デフォルト・レベルは、アプリケーションによるアプリケーション・セッションについて又は特定の参加者に対応する学習された音量レベルに基づいて設定され得る。
いくつかの実施例において、参加者アイコン206、208、210、及び212の出力音声レベルは、ユーザ・アイコン204と参加者アイコン206、208、210、及び212との間の距離に反比例し得る。たとえば、図2Bを見ると、ユーザが会話をするとき、ユーザ・アイコン204に関連付けられたユーザは、参加者アイコン206、208、210、及び/又は212に関連付けられた1人又は複数のユーザがその他のユーザと比べて非常に大声で/静かに話していることを見つけ得る。アプリケーション・セッションに参加しているユーザの言うことをより快適に聞く及び理解するために、ユーザ・アイコン204に関連付けられたユーザは、次いで、参加者アイコン208を選択し、参加者アイコン208をユーザ・アイコン204の近くに移動することができ、それによって、参加者アイコン208に関連付けられたユーザの出力音量を上げることができる。同様に、ユーザ・アイコン204に関連付けられたユーザは、参加者アイコン212を選択し、参加者アイコン212をユーザ・アイコン204から離すことができ、それによって、参加者アイコン212に関連付けられたユーザの出力音量を下げることができる。しかしながら、音量又は他の音声設定の変更は、実施例及び/又は特定のユーザの設定に応じて、近くに移動することで音量を下げることができ、その一方で、さらに遠くに移動することで音量を上げることができるような、異なる関係を有し得る。
いくつかの実施例において、参加者アイコン206、208、210、及び212の出力音声レベルは、参加者アイコン206、208、210、及び212のサイズに直接関連し得る。たとえば、図2Cを見ると、ユーザが会話をするとき、ユーザ・アイコン204に関連付けられたユーザは、参加者アイコン206、208、210、及び/又は212に関連付けられた1人又は複数のユーザがその他のユーザと比べて非常に大声で/静かに話していることを見つけ得る。ユーザ・アイコン204に関連付けられたユーザは、次いで、参加者アイコン206を選択し、「ピンチ・トゥ・ズーム」イン・ジェスチャ212A(たとえば、2本の指を使用してアイコン206を選択すること及びそれらの指を外側へ広げること)を使用して、参加者アイコン206を拡大する(又は拡大を引き起こす)ことができ、それによって、参加者アイコン206のサイズ並びに参加者アイコン206に関連付けられたユーザの出力音量を大きくすることができる。同様に、ユーザ・アイコン204に関連付けられたユーザは、参加者アイコン210を選択し、「ピンチ・トゥ・ズーム」アウト・ジェスチャ212B(たとえば、2本の指を使用してアイコン210を選択すること及びそれらの指を互いに向けて閉じること)を使用して参加者アイコン210を縮小する(又はその縮小を引き起こす)ことができ、それによって、参加者アイコン210のサイズ並びに参加者アイコン210に関連付けられたユーザの出力音量を小さくすることができる。いくつかの実施例において、出力音量は、参加者アイコン206、208、210、及び212のサイズをデフォルト・サイズ(たとえば、アプリケーション・セッションの開始時の初期サイズ)と比較することによって、判定され得る。他の実施例において、出力音量は、参加者アイコン206、208、210、及び/又は212のそれぞれのサイズをその他の参加者アイコン206、208、210、及び/又は212のそれぞれと比較することによって、判定され得る。たとえば、最大である、参加者アイコン206は、100%の出力音量を有し得、そして、参加者アイコン206のサイズのおおよそ25%である、参加者アイコン208及び212は、25%の出力音量を有し得る。しかしながら、参加者アイコン206のサイズが、参加者アイコン208及び212のサイズと一致するように小さくされた場合、参加者アイコン206、208、及び212のそれぞれは、今度は、アプリケーションUI200Cにおける最大の参加者アイコンになるので、参加者アイコン206、208、及び212のそれぞれが、100%の出力音量を有し得る。
図3を参照すると、図3は、本開示のいくつかの実施例の実装に使用するのに適した、ユーザ・アイコンを操作するための例示的UIを示す。図3は、アプリケーションUI300、ユーザ・アイコン304、並びに参加者アイコン306、308、310、312及び314を含む。動作中、最初に、参加者アイコン306、308、310、312及び314のそれぞれは、ユーザ・アイコン304の周りに等間隔で配置され得る。たとえば、参加者アイコン306、308、310、312及び314のそれぞれは、半径方向距離線302A、302B、302C、302D、及び302Eのうちの1つに配置され得る。ユーザが会話をするとき、ユーザ・アイコン304に関連付けられたユーザは、参加者アイコン306、308、310、312及び314に関連付けられた1人又は複数のユーザがその他のユーザと比べて非常に大声で/静かに話していることを見つけ得る。そのようなものとして、ユーザ・アイコン304に関連付けられたユーザは、次いで、参加者アイコン306、308、310、312及び314のうちの1つ又は複数を選択し、1つ又は複数の参加者アイコンをユーザ・アイコン304からより遠くに又はより近くに移動することができる。半径方向距離線302A、302B、302C、302D、及び302Eは、音量出力レベルに対応し得、音量出力レベルは、アプリケーションUI300の中心にあるユーザ・アイコン304までの距離に反比例する。たとえば、ユーザ・アイコン304に最も近い参加者アイコンである、参加者アイコン306は、参加者アイコン308、310、312及び314と比べて最も高い音量出力に関連付けられ得る。以下のように、参加者アイコン314は、参加者アイコン306、308、310、及び312と比べて最も低い音量出力に関連付けられ得る。図3は、半径方向距離線302A、302B、302C、302D、及び302Eを示しているが、これは、例示を目的としたものであり、限定を意図していない。ユーザ・アイコン304と参加者アイコン306、308、310、312及び314のそれぞれとの間の距離は、任意の数の半径方向距離線を使用して及び/又は距離を直接測定することによって、測定され得る。さらに、アプリケーションUI300の実施例は、2次元に限定されず、3次元(3D)で実装することができ、ユーザ・アイコン304に関連付けられたユーザがユーザ・アイコン304に対して3Dにおいて参加者アイコン306、308、310、312、及び314を球状に配置することを可能にする。
ここで図4を参照すると、本明細書に記載の方法400の各ブロックは、ハードウェア、ファームウェア、及び/又はソフトウェアの任意の組合せを使用して実行することができる計算プロセスを含む。たとえば、様々な機能は、メモリに記憶されたプロセッサ実行命令によって実施され得る。方法400はまた、コンピュータ記憶媒体に記憶されたコンピュータ使用可能命令として実施され得る。方法400は、いくつか例を挙げると、スタンドアロン・アプリケーション、サービス若しくはホスト型サービス(スタンドアロンの若しくは別のホスト型サービスと組み合わせた)、又は別の製品へのプラグインによって提供され得る。加えて、方法400は、例として、図1のシステムに関して説明される。しかしながら、この方法は、本明細書に記載のものを含むがこれらに限定されない、任意の1つのシステム、又は任意の組合せのシステムによって、加えて又は別法として、実行され得る。
図4は、本開示のいくつかの実施例の実装に使用するのに適した、アイコンへの操作に基づいて音声設定を更新するための方法400を示す流れ図である。方法400は、ブロックB402において、ユーザのクライアント・デバイスでアプリケーションのインスタンスを開始することを含む。たとえば、ユーザは、アイコンを選択してアプリケーションを開くこと、リンクを選択してアプリケーション・セッションに参加すること、ウェブ・ページを訪ねること、及び/又はアプリケーションのインスタンスを開始する他の手段によって、ユーザのデバイスでアプリケーションのインスタンスを開始することができる。
方法400は、ブロックB404において、ユーザに対応するユーザ・アイコン及びアプリケーションのアプリケーション・セッションの1人又は複数の参加者に対応する1つ又は複数の参加者アイコンの、アプリケーションのインスタンスのユーザ・インターフェイス内での、表示を引き起こすことを含む。たとえば、ローカル・ユーザが、ビデオ会議アプリケーションのインスタンスを開始するとき、そのユーザは、そのユーザに対応するアイコン並びにビデオ会議アプリケーションのインスタンスの参加者に対応するいくつかの他のアイコンを表示するユーザ・インターフェイス(UI)を提供され得る。
方法400は、ブロックB406において、1つ又は複数の参加者アイコンのうちの参加者アイコンを操作する1つ又は複数の入力を表す入力データを受信することを含む。たとえば、ローカル・ユーザは、特定の参加者に対応するアイコンを選択し、そのアイコンをユーザ・インターフェイス内でローカル・ユーザのアイコンから遠くへ移動する(又はその移動を引き起こす)ことができる。
方法400は、ブロックB408において、参加者アイコンに関連付けられた参加者に対応する更新された音声設定を、1つ又は複数の入力に応答して、決定することを含む。たとえば、リモート・ユーザのアイコンをローカル・ユーザのアイコンから離すこと(又はその移動を引き起こすこと)に基づいて、本システムは、リモート・ユーザのアイコンのための更新された音量レベルを決定する(たとえば、音量を下げる)ことができる。
方法400は、ブロックB410において、参加者に対応するアプリケーション・セッションから音声データの少なくとも一部分を識別する。たとえば、リモート・ユーザのアイコンをローカル・ユーザのアイコンから離すことに基づいて、本システムは、リモート・ユーザに対応する1サブセットの音声データを識別することができる(たとえば、音声データのストリーム内から)。
方法400は、ブロックB412において、更新された音声設定を音声データの少なくとも一部に適用することを含む。たとえば、リモート・ユーザに対応する1サブセットの音声データを識別することに基づいて、本システムは、リモート・ユーザの音声データの出力音量を上げる/下げることができる。
例示的コンテンツ・ストリーミング・システム
ここで図5を参照すると、図5は、本開示のいくつかの実施例による、コンテンツ・ストリーミング・システム500の例示的システム図である。図5は、アプリケーション・サーバ502(図6の例示的コンピューティング・デバイス600に類似の構成要素、特徴、及び/又は機能性を含み得る)、クライアント・デバイス504(図6の例示的コンピューティング・デバイス600に類似の構成要素、特徴、及び/又は機能性を含み得る)、及びネットワーク506(本明細書に記載のネットワークに類似し得る)を含む。本開示のいくつかの実施例において、システム500が、実装され得る。アプリケーション・セッションは、ゲーム・ストリーミング・アプリケーション(たとえば、NVIDIA GeFORCE NOW)、リモート・デスクトップ・アプリケーション、シミュレーション・アプリケーション(たとえば、自律又は半自律車両シミュレーション)、コンピュータ支援設計(CAD:computer aided design)アプリケーション、仮想現実(VR:virtual reality)及び/又は拡張現実(AR:augmented reality)ストリーミング・アプリケーション、深層学習アプリケーション、及び/又は他のアプリケーション・タイプに対応し得る。
ここで図5を参照すると、図5は、本開示のいくつかの実施例による、コンテンツ・ストリーミング・システム500の例示的システム図である。図5は、アプリケーション・サーバ502(図6の例示的コンピューティング・デバイス600に類似の構成要素、特徴、及び/又は機能性を含み得る)、クライアント・デバイス504(図6の例示的コンピューティング・デバイス600に類似の構成要素、特徴、及び/又は機能性を含み得る)、及びネットワーク506(本明細書に記載のネットワークに類似し得る)を含む。本開示のいくつかの実施例において、システム500が、実装され得る。アプリケーション・セッションは、ゲーム・ストリーミング・アプリケーション(たとえば、NVIDIA GeFORCE NOW)、リモート・デスクトップ・アプリケーション、シミュレーション・アプリケーション(たとえば、自律又は半自律車両シミュレーション)、コンピュータ支援設計(CAD:computer aided design)アプリケーション、仮想現実(VR:virtual reality)及び/又は拡張現実(AR:augmented reality)ストリーミング・アプリケーション、深層学習アプリケーション、及び/又は他のアプリケーション・タイプに対応し得る。
システム500において、アプリケーション・セッションについて、クライアント・デバイス504は、単に、入力デバイスへの入力に応答して入力データを受信し、入力データをアプリケーション・サーバ502に送信し、エンコードされたディスプレイ・データをアプリケーション・サーバ502から受信し、ディスプレイ・データをディスプレイ524に表示することができる。そのようなものとして、よりコンピュータ負荷の重い計算及び処理は、アプリケーション・サーバ502にオフロードされる(たとえば、アプリケーション・セッションのグラフィック出力のレンダリング- 特に光線又はパス・トレース- は、ゲーム・サーバ502のGPUによって実行される)。言い換えれば、アプリケーション・セッションは、アプリケーション・サーバ502からクライアント・デバイス504にストリーミングされ、それによって、グラフィックス処理及びレンダリングのためのクライアント・デバイス504の要件を減らす。
たとえば、アプリケーション・セッションのインスタンス化に関して、クライアント・デバイス504は、ディスプレイ・データをアプリケーション・サーバ502から受信することに基づいてディスプレイ524にアプリケーション・セッションのフレームを表示し得る。クライアント・デバイス504は、入力デバイスのうちの1つへの入力を受信し、応答して入力データを生成することができる。クライアント・デバイス504は、通信インターフェイス520を介して及びネットワーク506(たとえば、インターネット)を介してアプリケーション・サーバ502に入力データを送信することができ、アプリケーション・サーバ502は、通信インターフェイス518を介して入力データを受信することができる。CPUは、入力データを受信し、入力データを処理し、アプリケーション・セッションのレンダリングをGPUに生成させるデータをGPUへ送信することができる。たとえば、入力データは、ゲーム・アプリケーションのゲーム・セッションにおけるユーザのキャラクタの移動、武器を発砲すること、リローディング、ボールをパスすること、車両を回転させることなどを表し得る。レンダリング構成要素512は、アプリケーション・セッション(たとえば、入力データの結果を表す)をレンダリングすることができ、レンダリング・キャプチャ構成要素514は、アプリケーション・セッションのレンダリングをディスプレイ・データとして(たとえば、アプリケーション・セッションのレンダリングされたフレームをキャプチャする画像データとして)キャプチャすることができる。アプリケーション・セッションのレンダリングは、アプリケーション・サーバ502の1つ又は複数の並列処理装置- たとえば、1つ又は複数の専用ハードウェア・アクセラレータ又は処理コアの使用をさらに用いて光線又はパス・トレース技法を実行し得る、GPU- を使用して計算される、光線又はパス・トレース照明及び/又は陰効果を含み得る。いくつかの実施例において、1つ又は複数の仮想機械(VM:virtual machine)- たとえば、1つ又は複数の仮想構成要素、たとえば、vGPU、vCPUなど、を含む- は、アプリケーション・セッションをサポートするために、アプリケーション・サーバ502によって使用され得る。エンコーダ516は、次いで、ディスプレイ・データをエンコードして、エンコードされたディスプレイ・データを生成することができ、エンコードされたディスプレイ・データは、通信インターフェイス518を介してネットワーク506を介してクライアント・デバイス504に送信され得る。クライアント・デバイス504は、エンコードされたディスプレイ・データを通信インターフェイス520を介して受信することができ、デコーダ522は、エンコードされたディスプレイ・データを復号してディスプレイ・データを生成することができる。クライアント・デバイス504は、次いで、ディスプレイ524を介してディスプレイ・データを表示することができる。
例示的コンピューティング・デバイス
図6は、本開示のいくつかの実施例の実装において使用するのに適した例示的コンピューティング・デバイス600のブロック図である。コンピューティング・デバイス600は、以下のデバイスを直接に又は間接に結合する相互接続システム602を含み得る:メモリ604、1つ又は複数の中央処理装置(CPU:central processing unit)606、1つ又は複数のグラフィックス・プロセッシング・ユニット(GPU:graphics processing unit)608、通信インターフェイス610、入力/出力(I/O:input/ouput)ポート612、入力/出力構成要素614、電力供給装置616、1つ又は複数のプレゼンテーション構成要素618(たとえば、ディスプレイ)、及び1つ又は複数の論理ユニット620。少なくとも1つの実施例において、コンピューティング・デバイス600は、1つ又は複数の仮想機械(VM)を含み得る、及び/又は、その構成要素のいずれかは、仮想構成要素(たとえば、仮想ハードウェア構成要素)を含み得る。非限定的実例として、GPU608のうちの1つ又は複数は、1つ又は複数のvGPUを含み得、CPU606のうちの1つ又は複数は、1つ又は複数のvCPUを含み得、及び/又は論理ユニット620のうちの1つ又は複数は、1つ又は複数の仮想論理ユニットを含み得る。そのようなものとして、コンピューティング・デバイス600は、個別の構成要素(たとえば、コンピューティング・デバイス600専用の完全なGPU)、仮想構成要素(たとえば、コンピューティング・デバイス600専用のGPUの一部分)、又はその組合せを含み得る。
図6は、本開示のいくつかの実施例の実装において使用するのに適した例示的コンピューティング・デバイス600のブロック図である。コンピューティング・デバイス600は、以下のデバイスを直接に又は間接に結合する相互接続システム602を含み得る:メモリ604、1つ又は複数の中央処理装置(CPU:central processing unit)606、1つ又は複数のグラフィックス・プロセッシング・ユニット(GPU:graphics processing unit)608、通信インターフェイス610、入力/出力(I/O:input/ouput)ポート612、入力/出力構成要素614、電力供給装置616、1つ又は複数のプレゼンテーション構成要素618(たとえば、ディスプレイ)、及び1つ又は複数の論理ユニット620。少なくとも1つの実施例において、コンピューティング・デバイス600は、1つ又は複数の仮想機械(VM)を含み得る、及び/又は、その構成要素のいずれかは、仮想構成要素(たとえば、仮想ハードウェア構成要素)を含み得る。非限定的実例として、GPU608のうちの1つ又は複数は、1つ又は複数のvGPUを含み得、CPU606のうちの1つ又は複数は、1つ又は複数のvCPUを含み得、及び/又は論理ユニット620のうちの1つ又は複数は、1つ又は複数の仮想論理ユニットを含み得る。そのようなものとして、コンピューティング・デバイス600は、個別の構成要素(たとえば、コンピューティング・デバイス600専用の完全なGPU)、仮想構成要素(たとえば、コンピューティング・デバイス600専用のGPUの一部分)、又はその組合せを含み得る。
図6の様々なブロックは、線を有する相互接続システム602を介して接続されるものとして示されているが、これは限定を意図しておらず、単に明確にすることを目的としている。たとえば、いくつかの実施例において、プレゼンテーション構成要素618、たとえば、ディスプレイ・デバイス、は、I/O構成要素614と考えられ得る(たとえば、ディスプレイがタッチスクリーンである場合)。別の実例として、CPU606及び/又はGPU608は、メモリを含み得る(たとえば、メモリ604は、GPU608、CPU606、及び/又は他の構成要素のメモリに加えた記憶デバイスを表し得る)。言い換えれば、図6のコンピューティング・デバイスは、単に、例示である。「ワークステーション」、「サーバ」、「ラップトップ」、「デスクトップ」、「タブレット」、「クライアント・デバイス」、「モバイル・デバイス」、「ハンドヘルド・デバイス」、「ゲーム機」、「電子制御ユニット(ECU)」、「仮想現実システム」、及び/又は他のデバイス又はシステムタイプのようなカテゴリは、すべて、図6のコンピューティング・デバイスの範囲内にあることが企図されているので、区別されない。
相互接続システム602は、1つ又は複数のリンク又はバス、たとえば、アドレス・バス、データ・バス、制御バス、又はその組合せ、を表し得る。相互接続システム602は、1つ又は複数のバス又はリンク・タイプ、たとえば、業界標準アーキテクチャ(ISA:industry standard Architecture)バス、拡張業界標準アーキテクチャ(EISA:extended industry standard Architecture)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:video electronics standards association)バス、周辺構成要素相互接続(PCI:peripheral component interconnect)バス、周辺構成要素相互接続エクスプレス(PCIe:peripheral component interconnect express)バス、及び/又は別のタイプのバス若しくはリンク、を含み得る。いくつかの実施例において、構成要素間の直接接続が存在する。一実例として、CPU606は、メモリ604に直接接続され得る。さらに、CPU606は、GPU608に直接接続され得る。構成要素間に直接、又は2地点間接続があるとき、相互接続システム602は、接続を実施するためのPCIeリンクを含み得る。これらの実例において、PCIバスは、コンピューティング・デバイス600に含まれる必要はない。
メモリ604は、様々なコンピュータ可読媒体のいずれかを含み得る。コンピュータ可読媒体は、コンピューティング・デバイス600によってアクセスされ得る任意の利用可能な媒体でもよい。コンピュータ可読媒体は、揮発性媒体及び不揮発性媒体の両方、並びに取り外し可能な媒体及び取り外し不可能な媒体を含み得る。実例として、そして限定ではなく、コンピュータ可読媒体は、コンピュータ記憶媒体及び通信媒体を含み得る。
コンピュータ記憶媒体は、情報、たとえば、コンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は他のデータ・タイプ、を記憶するための任意の方法又は技術において実装される揮発性媒体及び不揮発性媒体の両方及び/又は取り外し可能な媒体及び取り外し不可能な媒体を含み得る。たとえば、メモリ604は、コンピュータ可読命令(たとえば、プログラム及び/又はプログラム要素、たとえば、オペレーティング・システム、を表すを記憶し得る。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:digital versatile disk)又は他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶デバイス、或いは、所望の情報を記憶するために使用され得る及びコンピューティング・デバイス600によってアクセスされ得る任意の他の媒体を含み得るが、これらに限定されない。本明細書では、コンピュータ記憶媒体は、信号それ自体を含まない。
コンピュータ記憶媒体は、変調されたデータ信号、たとえば、搬送波又は他のトランスポート機構、においてコンピュータ可読命令、データ構造、プログラム・モジュール、及び/又は他のデータ・タイプを実施し得、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号において情報をエンコードするための方式などで設定又は変更されたそれの特徴のうちの1つ又は複数を有する信号を指し得る。実例として、及び限定ではなく、コンピュータ記憶媒体は、有線媒体、たとえば、有線ネットワーク又は直接有線接続、とワイヤレス媒体、たとえば、音響、RF、赤外線及び他のワイヤレス媒体、とを含み得る。前述のうちのいずれかの組合せもまた、コンピュータ可読媒体の範囲に含まれるべきである。
CPU606は、コンピューティング・デバイス600の1つ又は複数の構成要素を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するためのコンピュータ可読命令のうちの少なくともいくつかを実行するように構成され得る。CPU606は、多数のソフトウェア・スレッドを同時に処理する能力を有する1つ又は複数のコア(たとえば、1、2、4、8、28、72など)をそれぞれ含み得る。CPU606は、任意のタイプのプロセッサを含み得、実装されるコンピューティング・デバイス600のタイプ(たとえば、モバイル・デバイスのためのより少数のコアを有するプロセッサ及びサーバのためのより多数のコアを有するプロセッサ)に応じて、異なるタイプのプロセッサを含み得る。たとえば、コンピューティング・デバイス600のタイプに応じて、プロセッサは、縮小命令セット・コンピューティング(RISC:Reduced Instruction Set Computing)を使用して実装されるアドバンストRISC機械(ARM:Advanced RISC Machine)プロセッサ又は複合命令セット・コンピュータ(CISC:Complex Instruction Set Computing)を使用して実装されるx86プロセッサでもよい。コンピューティング・デバイス600は、1つ又は複数のマイクロプロセッサ又は補足のコプロセッサ、たとえば、数値演算コプロセッサ、に加えて、1つ又は複数のCPU606を含み得る。
CPU606に加えて、又はその代わりに、GPU608は、コンピューティング・デバイス600の1つ又は複数の構成要素を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するためのコンピュータ可読命令のうちの少なくともいくつかを実行するように構成され得る。GPU608のうちの1つ又は複数は、統合型GPUでもよく(たとえば、CPU606のうちの1つ又は複数を有する、及び/或いは、GPU608のうちの1つ又は複数は、個別のGPUでもよい。実施例において、GPU608のうちの1つ又は複数は、CPU606のうちの1つ又は複数のCPUのコプロセッサでもよい。GPU608は、グラフィックス(たとえば、3Dグラフィックス)をレンダリングする又は汎用計算を実行するために、コンピューティング・デバイス600によって使用され得る。たとえば、GPU608は、GPUでの汎用計算(GPGPU:General-Purpose computing on GPU)のために使用され得る。GPU608は、数百又は数千のソフトウェア・スレッドを同時に処理する能力を有する数百又は数千のコアを含み得る。GPU608は、レンダリング・コマンド(たとえば、ホスト・インターフェイスを介して受信されるCPU606からのレンダリング・コマンド)に応答して出力画像の画素データを生成し得る。GPU608は、画素データ又は任意の他の適したデータ、たとえば、GPGPUデータ、を記憶するためのグラフィックス・メモリ、たとえば、ディスプレイ・メモリ、を含み得る。ディスプレイ・メモリは、メモリ604の一部として含まれ得る。GPU608は、並行して(たとえば、リンクを介して)動作する2つ以上のGPUを含み得る。リンクは、GPUを直接接続する(たとえば、NVLINKを使用して)ことができる、又はスイッチを介して(たとえば、NVSwitchを使用して)GPUを接続することができる。ともに結合されるとき、各GPU608は、出力の異なる部分の又は異なる出力の画素データ又はGPGPUデータ(たとえば、第1の画像の第1のGPU及び第2の画像の第2のGPU)を生成することができる。各GPUは、それ自体のメモリを含むことができる、又は他のGPUとメモリを共用することができる。
CPU606及び/又はGPU608に加えて又はその代わりに、論理ユニット620は、コンピューティング・デバイス600の1つ又は複数の構成要素を制御して本明細書に記載の方法及び/又はプロセスのうちの1つ又は複数を実行するためのコンピュータ可読命令のうちの少なくともいくつかを実行するように構成され得る。実施例において、CPU606、GPU608、及び/又は論理ユニット620は、方法、プロセス及び/又はそれの部分の任意の組合せを別個に又はともに実行することができる。論理ユニット620のうちの1つ又は複数は、CPU606及び/又はGPU608のうちの1つ又は複数の部分でもよい及び/又はそれに統合することができ、及び/又は、論理ユニット620のうちの1つ又は複数は、個別の構成要素でもよい又は他の方法でCPU606及び/又はGPU608の外部でもよい。実施例において、論理ユニット620のうちの1つ又は複数は、CPU606のうちの1つ又は複数及び/又はGPU608のうちの1つ又は複数のコプロセッサでもよい。
論理ユニット620の実例は、1つ又は複数の処理コア及び/又はその構成要素、たとえば、テンソル・コア(TC:Tensor Core)、テンソル・プロセッシング・ユニット(TPU:Tensor Processing Unit)、画素ビジュアル・コア(PVC:Pixel Visual Core)、ビジョン・プロセッシング・ユニット(VPU:Vision Processing Unit)、グラフィックス・プロセッシング・クラスタ(GPC:Graphics Processing Cluster)、テクスチャ・プロセッシング・クラスタ(TPC:Texture Processing Cluster)、ストリーミング・マルチプロセッサ(SM:Streaming Multiprocessor)、木の走査ユニット(TTU:Tree Traversal Unit)、人工知能アクセラレータ(AIA:Artificial Intelligence Accelerator)、深層学習アクセラレータ(DLA:Deep Learning Accelerator)、演算論理ユニット(ALU:Arithmetic-Logic Unit)、特定用途向け集積回路(ASIC:Application-Specific Integrated Circuit)、浮動小数点ユニット(FPU:Floating Point Unit)、入力/出力(I/O)要素、周辺構成要素相互接続(PCI)又は周辺構成要素相互接続エクスプレス(PCIe)要素、及び/又は同類のものを含む。
通信インターフェイス610は、有線及び/又はワイヤレス通信を含む、電子通信ネットワークを介してコンピューティング・デバイス600が他のコンピューティング・デバイスと通信することを可能にする1つ又は複数の受信器、送信器、及び/又は送受信器を含み得る。通信インターフェイス610は、いくつかの異なるネットワーク、たとえば、ワイヤレス・ネットワーク(たとえば、Wi-Fi、Z-Wave、ブルートゥース(登録商標)、ブルートゥース(登録商標)LE、ZigBee(登録商標)など)、有線ネットワーク(たとえば、イーサネット(登録商標)又はInfiniBandを介して通信する)、低電力ワイド・エリア・ネットワーク(たとえば、LoRaWAN、SigFoxなど)、及び/又はインターネット、のいずれかを介する通信を可能にするための構成要素及び機能性を含み得る。
I/Oポート612は、それらのうちのいくつかはコンピューティング・デバイス600に組み込む(たとえば、統合する)ことができる、I/O構成要素614、プレゼンテーション構成要素618、及び/又は他の構成要素を含む他のデバイスに、コンピューティング・デバイス600が論理的に結合されることを可能にし得る。例示的I/O構成要素614は、マイクロフォン、マウス、キーボード、ジョイスティック、ゲーム・パッド、ゲーム・コントローラ、サテライト・ディッシュ、スキャナ、プリンタ、ワイヤレス・デバイスなどを含む。I/O構成要素614は、ユーザによって生成されるエア・ジェスチャ、音声、又は他の生理的入力を処理するナチュラル・ユーザ・インターフェイス(NUI:natural user interfac)を提供し得る。いくつかの事例において、入力は、さらに処理するために適切なネットワーク要素に送信され得る。NUIは、音声認識、スタイラス認識、顔認識、生体認識、画面上の及び画面付近両方でのジェスチャの認識、エア・ジェスチャ、頭部及び視標追跡、及びコンピューティング・デバイス600のディスプレイに関連するタッチ認識(さらに詳しく後述するような)の任意の組合せを実装し得る。コンピューティング・デバイス600は、ジェスチャ検出及び認識のための深度カメラ、たとえば、ステレオ・カメラ・システム、赤外線カメラ・システム、RGBカメラ・システム、タッチスクリーン技術、及びこれらの組合せを含み得る。加えて、コンピューティング・デバイス600は、動きの検出を可能にする加速度計又はジャイロスコープ(たとえば、慣性測定ユニット(IMU:inertia measurement unit)の一部としての)を含み得る。いくつかの実例において、加速度計又はジャイロスコープの出力は、没入型拡張現実又は仮想現実をレンダリングするためにコンピューティング・デバイス600によって使用され得る。
電力供給装置616は、ハードワイヤード電力供給装置、バッテリ電力供給装置、又はその組合せを含み得る。電力供給装置616は、コンピューティング・デバイス600の構成要素が動作することを可能にするために、コンピューティング・デバイス600に電力を提供することができる。
プレゼンテーション構成要素618は、ディスプレイ(たとえば、モニタ、タッチスクリーン、テレビジョン画面、ヘッドアップディスプレイ(HUD:heads-up-display)、他のディスプレイ・タイプ、又はその組合せ)、スピーカ、及び/又は他のプレゼンテーション構成要素を含み得る。プレゼンテーション構成要素618は、他の構成要素(たとえば、GPU608、CPU606など)からデータを受信し、データを出力する(たとえば、画像、ビデオ、サウンドなどとして)ことができる。
例示的データ・センタ
図7は、本開示の少なくとも1つの実施例において使用され得る例示的データ・センタ700を示す。データ・センタ700は、データ・センタ・インフラストラクチャ層710、フレームワーク層720、ソフトウェア層730、及び/又はアプリケーション層740を含み得る。
図7は、本開示の少なくとも1つの実施例において使用され得る例示的データ・センタ700を示す。データ・センタ700は、データ・センタ・インフラストラクチャ層710、フレームワーク層720、ソフトウェア層730、及び/又はアプリケーション層740を含み得る。
図7に示すように、データ・センタ・インフラストラクチャ層710は、資源オーケストレータ712、グループ化された計算資源714、及びノード計算資源(「ノードC.R.」)716(1)~716(N)を含むことができ、そこで、「N」は、任意の完全な、正の整数を表す。少なくとも1つの実施例において、ノードC.R.716(1)~716(N)は、任意の数の中央処理装置(CPU)又は他のプロセッサ(アクセラレータ、フィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate array)、グラフィックス・プロセッサ又はグラフィックス・プロセッシング・ユニット(GPU)などを含む)、メモリ・デバイス(たとえば、ダイナミック・リードオンリ・メモリ)、記憶デバイス(たとえば、ソリッド・ステート又はディスク・ドライブ)、ネットワーク入力/出力(NW I/O:network input/output)デバイス、ネットワーク・スイッチ、仮想機械(VM)、電力モジュール、及び/又は冷却モジュールなどを含み得るが、これらに限定されない。いくつかの実施例において、ノードC.R.716(1)~716(N)のうちの1つ又は複数のノードC.R.は、前述の計算資源のうちの1つ又は複数を有するサーバに対応し得る。加えて、いくつかの実施例において、ノードC.R.716(1)~7161(N)は、1つ又は複数の仮想構成要素、たとえば、vGPU、vCPU、及び/又は同類のもの、を含み得る、及び/又は、ノードC.R.716(1)~716(N)のうちの1つ又は複数は、仮想機械(VM)に対応し得る。
少なくとも1つの実施例において、グループ化された計算資源714は、1つ又は複数のラック(図示せず)に格納された別個のグループのノードC.R.716、或いは様々な地理的場所にあるデータ・センタに格納された多数のラック(やはり図示せず)を含み得る。グループ化された計算資源714内のノードC.R.716の別個のグループは、1つ又は複数のワークロードをサポートするために構成され得る又は割り当てられ得るグループ化された計算、ネットワーク、メモリ又はストレージ資源を含み得る。少なくとも1つの実施例において、CPU、GPU、及び/又は他のプロセッサを含むいくつかのノードC.R.716は、1つ又は複数のワークロードをサポートするための計算資源を提供するために、1つ又は複数のラック内にグループ化され得る。1つ又は複数のラックはまた、任意の数の電力モジュール、冷却モジュール、及び/又はネットワーク・スイッチを、任意の組合せで、含み得る。
資源オーケストレータ722は、1つ又は複数のノードC.R.716(1)~716(N)及び/又はグループ化された計算資源714を構成又は他の方法で制御することができる。少なくとも1つの実施例において、資源オーケストレータ722は、データ・センタ700のためのソフトウェア設計インフラストラクチャ(SDI:software design infrastructure)管理エンティティを含み得る。資源オーケストレータ722は、ハードウェア、ソフトウェア、又はその何らかの組合せを含み得る。
少なくとも1つの実施例において、図7に示すように、フレームワーク層720は、ジョブ・スケジューラ732、構成マネージャ734、資源マネージャ736、及び/又は分散型ファイル・システム738を含み得る。フレームワーク層720は、ソフトウェア層730のソフトウェア732及び/又はアプリケーション層740の1つ若しくは複数のアプリケーション742をサポートするために、フレームワークを含み得る。ソフトウェア732又はアプリケーション742は、ウェブベースのサービス・ソフトウェア又はアプリケーション、たとえば、アマゾン・ウェブ・サービス、グーグル・クラウド及びMicrosoft Azureによって提供されるもの、をそれぞれ含み得る。フレームワーク層720は、大規模データ処理(たとえば、「ビッグ・データ」)のための分散型ファイル・システム738を使用し得るApache Spark(商標)(以下「Spark」)などのフリー及びオープン・ソース・ソフトウェア・ウェブ・アプリケーション・フレームワークのタイプでもよいが、これに限定されない。少なくとも1つの実施例において、ジョブ・スケジューラ732は、データ・センタ700の様々な層によってサポートされるワークロードのスケジューリングを容易にするために、Sparkドライバを含み得る。構成マネージャ734は、異なる層、たとえば、ソフトウェア層730と、大規模データ処理をサポートするためのSpark及び分散型ファイル・システム738を含むフレームワーク層720、を構成する能力を有し得る。資源マネージャ736は、分散型ファイル・システム738及びジョブ・スケジューラ732のサポートのためにマップされた又は割り当てられたクラスタ化された又はグループ化された計算資源を管理する能力を有し得る。少なくとも1つの実施例において、クラスタ化された又はグループ化された計算資源は、データ・センタ・インフラストラクチャ層710にグループ化された計算資源714を含み得る。資源マネージャ1036は、資源オーケストレータ712と調整してこれらのマップされた又は割り当てられた計算資源を管理することができる。
少なくとも1つの実施例において、ソフトウェア層730に含まれるソフトウェア732は、ノードC.R.716(1)~716(N)の少なくとも部分、グループ化された計算資源714、及び/又はフレームワーク層720の分散型ファイル・システム738によって使用されるソフトウェアを含み得る。1つ又は複数のタイプのソフトウェアは、インターネット・ウェブ・ページ検索ソフトウェア、電子メール・ウイルス・スキャン・ソフトウェア、データベース・ソフトウェア、及びストリーミング・ビデオ・コンテンツ・ソフトウェアを含み得るが、これらに限定されない。
少なくとも1つの実施例において、アプリケーション層740に含まれるアプリケーション742は、ノードC.R.716(1)~716(N)の少なくとも部分、グループ化された計算資源714、及び/又はフレームワーク層720の分散型ファイル・システム738によって使用される1つ又は複数のタイプのアプリケーションを含み得る。1つ又は複数のタイプのアプリケーションは、任意の数のゲノミクス・アプリケーション、認知計算、並びに、トレーニング若しくは推論ソフトウェア、機械学習フレームワーク・ソフトウェア(たとえば、PyTorch、TensorFlow、Caffeなど)、及び/又は1つ又は複数の実施例と併せて使用される他の機械学習アプリケーションを含む、機械学習アプリケーションを含み得るが、これらに限定されない。
少なくとも1つの実施例において、構成マネージャ734、資源マネージャ736、及び資源オーケストレータ712のうちのいずれかは、任意の技術的に可能な方式で取得される任意の量及びタイプのデータに基づいて任意の数及びタイプの自己書換え型アクションを実装することができる。自己書換え型アクションは、よくない可能性のある構成決定を行うこと及びデータ・センタの十分に活用されていない及び/又は実行の不十分な部分をおそらく回避することからデータ・センタ700のデータ・センタ・オペレータを解放し得る。
データ・センタ700は、1つ又は複数の機械学習モデルをトレーニングする或いは本明細書に記載の1つ又は複数の実施例による1つ又は複数の機械学習モデルを使用して情報を予測する又は推論するために、ツール、サービス、ソフトウェア或いは他の資源を含み得る。たとえば、機械学習モデルは、データ・センタ700に関して前述されたソフトウェア及び/又は計算資源を使用するニューラル・ネットワーク・アーキテクチャによる重量パラメータの計算によって、トレーニングされ得る。少なくとも1つの実施例において、1つ又は複数のニューラル・ネットワークに対応するトレーニングされた又は配備された機械学習モデルは、たとえば、本明細書に記載のものに限定されない、1つ又は複数のトレーニング技法を介して計算された重量パラメータを使用することによって、データ・センタ700に関して前述された資源を使用する情報の推論又は予測のために使用され得る。
少なくとも1つの実施例において、データ・センタ700は、前述の資源を使用するトレーニング及び/又は推論の実行のために、CPU、特定用途向け集積回路(ASIC)、GPU、FPGA、及び/又は他のハードウェア(若しくはそれに対応する仮想計算資源)を使用することができる。さらに、前述の1つ又は複数のソフトウェア及び/又はハードウェア資源は、情報の推論をユーザがトレーニング又は実行することを可能にするためのサービス、たとえば、画像認識、音声認識、又は他の人工知能サービス、として構成され得る。
例示的ネットワーク環境
本開示の実施例の実装において使用するのに適したネットワーク環境は、1つ又は複数のクライアント・デバイス、サーバ、ネットワーク接続型ストレージ(NAS:network attached storage)、他のバックエンド・デバイス、及び/又は他のデバイス・タイプを含み得る。クライアント・デバイス、サーバ、及び/又は他のデバイス・タイプ(たとえば、各デバイス)は、図6のコンピューティング・デバイス600の1つ又は複数のインスタンスで実装され得る- たとえば、各デバイスは、コンピューティング・デバイス600の類似の構成要素、特徴、及び/又は機能性を含み得る。加えて、バックエンド・デバイス(たとえば、サーバ、NASなど)が、実装される場合、バックエンド・デバイスは、データ・センタ700の一部として含まれ得、その実例は、図7に関して本明細書でさらに詳述される。
本開示の実施例の実装において使用するのに適したネットワーク環境は、1つ又は複数のクライアント・デバイス、サーバ、ネットワーク接続型ストレージ(NAS:network attached storage)、他のバックエンド・デバイス、及び/又は他のデバイス・タイプを含み得る。クライアント・デバイス、サーバ、及び/又は他のデバイス・タイプ(たとえば、各デバイス)は、図6のコンピューティング・デバイス600の1つ又は複数のインスタンスで実装され得る- たとえば、各デバイスは、コンピューティング・デバイス600の類似の構成要素、特徴、及び/又は機能性を含み得る。加えて、バックエンド・デバイス(たとえば、サーバ、NASなど)が、実装される場合、バックエンド・デバイスは、データ・センタ700の一部として含まれ得、その実例は、図7に関して本明細書でさらに詳述される。
ネットワーク環境の構成要素は、有線、ワイヤレス、又はその両方でもよい、ネットワークを介して互いに通信し得る。ネットワークは、複数のネットワーク、又はネットワークのネットワークを含み得る。実例として、ネットワークは、1つ又は複数のワイド・エリア・ネットワーク(WAN)、1つ又は複数のローカル・エリア・ネットワーク(LAN)、1つ又は複数のパブリック・ネットワーク、たとえば、インターネット及び/又は公衆交換電話網(PSTN)、及び/又は1つ又は複数のプライベート・ネットワークを含み得る。ネットワークが、ワイヤレス電気通信ネットワークを含む場合、構成要素、たとえば、基地局、通信塔、又はアクセス・ポイントなどさえも(他の構成要素と同様に)、ワイヤレス接続を提供し得る。
互換性のあるネットワーク環境は、1つ又は複数のピア・ツー・ピア・ネットワーク環境- サーバがネットワーク環境に含まれないことがある場合- と、1つ又は複数のクライアント・サーバ・ネットワーク環境- 1つ又は複数のサーバがネットワーク環境に含まれ得る場合- とを含み得る。ピア・ツー・ピア・ネットワーク環境では、サーバに関して本明細書に記載した機能性は、任意の数のクライアント・デバイスに実装され得る。
少なくとも1つの実施例において、ネットワーク環境は、1つ又は複数のクラウドベースのネットワーク環境、分散された計算環境、その組合せなどを含み得る。クラウドベースのネットワーク環境は、フレームワーク層、ジョブ・スケジューラ、資源マネージャ、並びに、1つ又は複数のコア・ネットワーク・サーバ及び/又はエッジ・サーバを含み得る、サーバのうちの1つ又は複数に実装された分散型ファイル・システムを含み得る。フレームワーク層は、ソフトウェア層のソフトウェア及び/又はアプリケーション層の1つ又は複数のアプリケーションをサポートするために、フレームワークを含み得る。ソフトウェア又はアプリケーションは、それぞれ、ウェブベースのサービス・ソフトウェア又はアプリケーションを含み得る。実施例において、クライアント・デバイスのうちの1つ又は複数は、ウェブベースのサービス・ソフトウェア又はアプリケーションを使用し得る(たとえば、1つ又は複数のアプリケーション・プログラミング・インターフェイス(API:application programming interface)を介してサービス・ソフトウェア及び/又はアプリケーションにアクセスすることによって)。フレームワーク層は、たとえば大規模データ処理(たとえば、「ビッグ・データ」)のための分散型ファイル・システムを使用し得る、フリー及びオープン・ソース・ソフトウェア・ウェブ・アプリケーション・フレームワークのタイプでもよいが、これに限定されない。
クラウドベースのネットワーク環境は、本明細書に記載の計算及び/又はデータ・ストレージ機能(又は1つ若しくは複数のその部分)の任意の組合せを実施するクラウド計算及び/又はクラウド・ストレージを提供し得る。これらの様々な機能のいずれも、セントラル又はコア・サーバ(たとえば、州、領域、国、世界に分散され得る1つ又は複数のデータ・センタなどの)から複数の場所に分散され得る。ユーザ(たとえば、クライアント・デバイス)への接続が、エッジ・サーバに比較的近い場合、コア・サーバは、機能性の少なくとも一部分をエッジ・サーバに任じ得る。クラウドベースのネットワーク環境は、プライベート(たとえば、単一の組織に限定される)でもよく、パブリック(たとえば、多数の組織に利用可能)、及び/又はその組合せ(たとえば、ハイブリッド・クラウド環境)でもよい。
クライアント・デバイスは、図6に関して本明細書に記載の例示的コンピューティング・デバイス600の構成要素、特徴、及び機能性のうちの少なくともいくつかを含み得る。実例として、及び限定ではなく、クライアント・デバイスは、パーソナル・コンピュータ(PC)、ラップトップ・コンピュータ、モバイル・デバイス、スマートフォン、タブレット・コンピュータ、スマート・ウォッチ、ウェアラブル・コンピュータ、パーソナル・デジタル・アシスタント(PDA:Personal Digital Assistant)、MP3プレーヤ、仮想現実ヘッドセット、全地球測位システム(GPS)又はデバイス、ビデオプレーヤ、ビデオカメラ、監視デバイス又はシステム、車両、船、飛行船、仮想機械、ドローン、ロボット、ハンドヘルド通信デバイス、病院デバイス、ゲーミング・デバイス又はシステム、娯楽システム、車両コンピュータ・システム、組み込み型システム・コントローラ、リモート制御、器具、民生用電子デバイス、ワークステーション、エッジ・デバイス、これらの描写されたデバイスの任意の組合せ、或いは任意の他の適切なデバイスとして実施され得る。
本開示は、コンピュータ又は他の機械、たとえば、パーソナル・データ・アシスタント又は他のハンドヘルド・デバイス、によって実行されている、プログラム・モジュールなどのコンピュータ実行可能命令を含む、コンピュータ・コード又は機械使用可能命令との一般的関連において説明され得る。一般に、ルーティン、プログラム、オブジェクト、構成要素、データ構造などを含む、プログラム・モジュールは、特定のタスクを実行する又は特定の抽象データ・タイプを実装するコードを指す。本開示は、ハンドヘルド・デバイス、民生用電子機器、汎用コンピュータ、より専門的コンピューティング・デバイスなどを含む、様々なシステム構成において実施され得る。本開示はまた、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散型計算環境において実施され得る。
本明細書では、2つ以上の要素に関する「及び/又は」の記述は、1つのみの要素、又は要素の組合せを意味すると解釈されるべきである。たとえば、「要素A、要素B、及び/又は要素C」は、要素Aのみ、要素Bのみ、要素Cのみ、要素A及び要素B、要素A及び要素C、要素B及び要素C、或いは要素A、B、及びCを含み得る。加えて、「要素A又は要素Bのうちの少なくとも1つ」は、要素Aのうちの少なくとも1つ、要素Bのうちの少なくとも1つ、或いは要素Aのうちの少なくとも1つ及び要素Bのうちの少なくとも1つを含み得る。さらに、「要素A及び要素Bのうちの少なくとも1つ」は、要素Aのうちの少なくとも1つ、要素Bのうちの少なくとも1つ、或いは要素Aのうちの少なくとも1つ及び要素Bのうちの少なくとも1つを含み得る。
本開示の主題は、法的要件を満たすために、本明細書に記載の特異性を有して説明されている。しかしながら、その説明自体は、本開示の範囲を限定することを意図していない。そうではなくて、本発明者により、他の現在又は未来の技術と併せて、本文書に記載されているものと類似の異なるステップ又はステップの組合せを含むために、本請求の主題は他のやり方でも実施され得ることが企図されている。さらに、「ステップ」及び/又は「ブロック」という用語が、用いられる方法の異なる要素を含意するために、本明細書で使用され得るが、それらの用語は、個々のステップの順番が明示的に記載されていない限り及びそのように記載されているときを除いて、本明細書に記載の様々なステップの間の任意の特定の順番を暗示するものとして解釈されるべきではない。
Claims (27)
- ユーザのクライアント・デバイスを使用して実行されるアプリケーションのインスタンスのユーザ・インターフェイス内で、前記ユーザの表現及び前記アプリケーションのアプリケーション・セッションの1人又は複数の参加者に対応する1つ又は複数の参加者表現を表示させることと、
前記1つ又は複数の参加者表現のうちの少なくとも1つの参加者表現の操作に対応する1つ又は複数の入力を表す入力データを受信することと、
前記1つ又は複数の入力に応答して、前記少なくとも1つの参加者表現に関連付けられた少なくとも1人の参加者に対応する更新された音声設定を決定することと、
前記少なくとも1人の参加者に対応する前記アプリケーション・セッションから音声データの少なくとも一部分を識別することと、
前記更新された音声設定を前記音声データの少なくとも前記部分に適用することと
を含む、方法。 - 前記少なくとも1つの参加者表現の操作に対応する前記1つ又は複数の入力が、前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現の位置に対して前記少なくとも1つの参加者表現を再配置することに対応する、請求項1に記載の方法。
- 前記更新された音声設定が、前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現の位置に関して前記少なくとも1つの参加者表現が再配置されるときに、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項2に記載の方法。
- 前記音量レベルを調節することが、
前記少なくとも1つの参加者表現が、前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現の位置のより近くに再配置されるときに、前記音量レベルを上げること、又は
前記少なくとも1つの参加者表現が、前記ユーザ・インターフェイス内の前記ユーザ表現の位置からさらに遠くに再配置されるときに、前記音量レベルを下げること
のうちの少なくとも1つを含む、請求項3に記載の方法。 - 前記少なくとも1つの参加者表現の操作に対応する前記1つ又は複数の入力が、前記少なくとも1つの参加者表現のサイズを調節することに対応する、請求項1に記載の方法。
- 前記更新された音声設定が、前記ユーザ・インターフェイスを使用して表されるように前記少なくとも1つの参加者表現のサイズが調節されるときに、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項5に記載の方法。
- 音量レベルを前記調節することが、
前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現のサイズに対して前記少なくとも1つの参加者アイコンの前記サイズが大きくされるときに、前記音量レベルを上げること、又は、
前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現のサイズに対して前記少なくとも1つの参加者アイコンの前記サイズが小さくされるときに、前記音量レベルを下げること
のうちの少なくとも1つを含む、請求項6に記載の方法。 - 前記アプリケーションが、会議アプリケーション、ゲーム・ストリーミング・アプリケーション、コンテンツ・ストリーミング・アプリケーション、又は電話サービス・アプリケーションのうちの少なくとも1つに対応する、請求項1に記載の方法。
- 前記少なくとも1人の参加者が前記ユーザに関与しているという指示を表すデータを受信することと、
前記少なくとも1人の参加者が前記ユーザに関与していることに少なくとも部分的に基づいて、新しく更新された音声設定に前記更新された音声設定を調節することと
をさらに含む、請求項1に記載の方法。 - 前記ユーザの前記表現に関する場所或いは前記1つ又は複数の参加者表現のうちの少なくとも1つの参加者表現の前記ユーザ・インターフェイス内のサイズのうちの少なくとも1つが、1つ又は複数の過去のアプリケーション・セッションから前記1つ又は複数の参加者アイコン表現への過去の操作に少なくとも部分的に基づいて、初期化される、請求項1に記載の方法。
- 前記アプリケーション・セッション内の前記ユーザに対応する表現を操作する前記参加者のうちの少なくとも1人を表すデータを受信することと、
前記ユーザに対応する前記表現を前記操作することの指示の、前記ユーザ・インターフェイス内での、表示を引き起こすことと
をさらに含む、請求項1に記載の方法。 - ユーザに対応するユーザの表現及びアプリケーション・セッションの1人又は複数の参加者に対応する1つ又は複数の参加者表現の、アプリケーションのユーザ・インターフェイス内での、表示を引き起こすこと、
前記ユーザ・インターフェイスへの1つ又は複数の入力であり、前記1つ又は複数の参加者表現のうちの少なくとも1つの参加者表現の操作に対応する前記1つ又は複数の入力を表す入力データを受信すること、
前記1つ又は複数の入力に応答して、前記少なくとも1つの参加者表現に関連付けられた少なくとも1人の参加者に対応する受信された音声データの少なくとも一部分に関連付けられた音量レベルを調節することに少なくとも部分的に基づいて、更新された音声データを生成すること、及び、
前記更新された音声データの出力を引き起こすこと
を行うための1つ又は複数の回路
を備える、プロセッサ。 - 前記1つ又は複数の入力が、前記ユーザ・インターフェイスを使用して表されるような前記ユーザの前記表現に関して前記少なくとも1つの参加者表現を再配置することに対応する、請求項12に記載のプロセッサ。
- 音量レベルを前記調節することが、前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザ表現の位置に関して前記少なくとも1つの参加者表現が再配置されるときに、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項13に記載のプロセッサ。
- 前記音量レベルを調節することが、
前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザの前記表現のさらに近くに前記参加者表現が再配置されるときに、前記音量レベルを上げること、又は
前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザの前記表現からさらに遠くに前記参加者表現が再配置されるときに、前記音量レベルを上げること
のうちの少なくとも1つを含む、請求項14に記載のプロセッサ。 - 前記1つ又は複数の入力が、前記ユーザ・インターフェイスを使用して表されるものとしての前記少なくとも1つの参加者表現のサイズを調節することに対応する、請求項12に記載のプロセッサ。
- 音量レベルを前記調節することが、前記ユーザ・インターフェイスを使用して表されるように前記少なくとも1つの参加者表現のサイズが調節されるときに、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項16に記載のプロセッサ。
- 音量レベルを前記調節することが、
前記参加者表現のサイズが、前記ユーザ・インターフェイスを使用して表されるように大きくされるときに、前記音量レベルを上げること、又は、
前記参加者表現のサイズが、前記ユーザ・インターフェイスを使用して表されるように小さくされるときに、前記音量レベルを下げること
のうちの少なくとも1つを含む、請求項17に記載のプロセッサ。 - 深層学習動作を実行するためのシステム、
エッジ・デバイスを使用して実装されたシステム、
1つ又は複数の仮想機械(VM)を組み込むシステム、
少なくとも部分的にデータ・センタにおいて実装されたシステム、或いは、
少なくとも部分的にクラウド計算資源を使用して実装されたシステム
のうちの少なくとも1つに含まれる、請求項12に記載のプロセッサ。 - システムであって、
1つ又は複数のプロセッシング・ユニットと、
命令を記憶するための1つ又は複数のメモリ・ユニットであって、前記命令は、前記1つ又は複数のプロセッシング・ユニットによって実行されるとき、
ユーザのクライアント・デバイスでアプリケーションのインスタンスを開始すること、
前記アプリケーションのアプリケーション・セッションの1人又は複数の参加者に対応する前記ユーザに対応する前記ユーザの表現及び1つ又は複数の参加者表現の、前記アプリケーションの前記インスタンスのユーザ・インターフェイス内での、表示を引き起こすこと、
前記1つ又は複数の参加者表現のうちの少なくとも1つの参加者表現を操作する1つ又は複数の入力を表す入力データを受信すること、
前記少なくとも1つの参加者表現に関連付けられた少なくとも1人の参加者に対応する更新された音声設定を、前記1つ又は複数の入力に応答して、決定すること、
前記参加者に対応する前記アプリケーション・セッションからの音声データの少なくとも一部分を識別すること、及び、
前記更新された音声設定を前記音声データの少なくとも前記部分に適用すること
を含む動作を、前記1つ又は複数のプロセッシング・ユニットに実行させる、1つ又は複数のメモリ・ユニットと
を備える、システム。 - 前記少なくとも1つの参加者表現を操作する前記1つ又は複数の入力が、前記ユーザ・インターフェイスを使用して表されるものとしての前記ユーザの前記表現に関して前記少なくとも1つの参加者表現を再配置することに対応する、請求項20に記載のシステム。
- 前記更新された音声設定が、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項21に記載のシステム。
- 前記前記少なくとも1人の参加者に対応する音量レベルを前記調節することが、
前記少なくとも1つの参加者表現が、前記ユーザ・インターフェイス内の前記ユーザの前記表現のより近くに再配置されるときに、前記音量レベルを上げること、又は
前記少なくとも1つの参加者表現が、前記ユーザ・インターフェイス内の前記ユーザの前記表現からさらに遠くに再配置されるときに、前記音量レベルを下げること
のうちの少なくとも1つを含む、請求項22に記載のシステム。 - 前記少なくとも1つの参加者表現を操作する前記1つ又は複数の入力が、前記少なくとも1つの参加者表現のサイズを調節することに対応する、請求項20に記載のシステム。
- 前記更新された音声設定が、前記少なくとも1人の参加者に対応する音量レベルを調節することを含む、請求項24に記載のシステム。
- 音量レベルを前記調節することが、
前記少なくとも1つの参加者表現が前記ユーザ・インターフェイス内でサイズを大きくされるときに、前記音量レベルを上げること、又は
前記少なくとも1つの参加者表現が前記ユーザ・インターフェイス内でサイズを小さくされるときに、前記音量レベルを下げること
のうちの少なくとも1つを含む、請求項25に記載のシステム。 - 深層学習動作を実行するためのシステム、
エッジ・デバイスを使用して実装されたシステム、
1つ又は複数の仮想機械(VM)を組み込むシステム、
少なくとも部分的にデータ・センタにおいて実装されたシステム、或いは、
少なくとも部分的にクラウド計算資源を使用して実装されたシステム
のうちの少なくとも1つに含まれる、請求項20に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/153,466 | 2021-01-20 | ||
US17/153,466 US11487498B2 (en) | 2021-01-20 | 2021-01-20 | Volume control for audio and video conferencing applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022111966A true JP2022111966A (ja) | 2022-08-01 |
Family
ID=82217894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021033337A Pending JP2022111966A (ja) | 2021-01-20 | 2021-03-03 | 音声及びビデオ会議アプリケーションの音量調節 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11487498B2 (ja) |
JP (1) | JP2022111966A (ja) |
CN (1) | CN114816315A (ja) |
DE (1) | DE102022100815A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11689696B2 (en) | 2021-03-30 | 2023-06-27 | Snap Inc. | Configuring participant video feeds within a virtual conferencing system |
US11943072B2 (en) | 2021-03-30 | 2024-03-26 | Snap Inc. | Providing a room preview within a virtual conferencing system |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006616B1 (en) * | 1999-05-21 | 2006-02-28 | Terayon Communication Systems, Inc. | Teleconferencing bridge with EdgePoint mixing |
US8190438B1 (en) * | 2009-10-14 | 2012-05-29 | Google Inc. | Targeted audio in multi-dimensional space |
US10979671B1 (en) * | 2020-05-20 | 2021-04-13 | Leo McElroy | Internet communication system that modifies users' perceptions based on their proximity within a virtual space |
US11575531B2 (en) * | 2020-06-02 | 2023-02-07 | Preciate Inc. | Dynamic virtual environment |
-
2021
- 2021-01-20 US US17/153,466 patent/US11487498B2/en active Active
- 2021-03-03 JP JP2021033337A patent/JP2022111966A/ja active Pending
-
2022
- 2022-01-14 DE DE102022100815.0A patent/DE102022100815A1/de active Pending
- 2022-01-17 CN CN202210050547.7A patent/CN114816315A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220229626A1 (en) | 2022-07-21 |
DE102022100815A1 (de) | 2022-07-21 |
US11487498B2 (en) | 2022-11-01 |
CN114816315A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210120054A1 (en) | Communication Sessions Between Computing Devices Using Dynamically Customizable Interaction Environments | |
US20130271560A1 (en) | Conveying gaze information in virtual conference | |
US20210358188A1 (en) | Conversational ai platform with rendered graphical output | |
US11456887B1 (en) | Virtual meeting facilitator | |
US11836282B2 (en) | Method and device for surfacing physical environment interactions during simulated reality sessions | |
US20230335121A1 (en) | Real-time video conference chat filtering using machine learning models | |
US20180295158A1 (en) | Displaying group expressions for teleconference sessions | |
US11831814B2 (en) | Parallel video call and artificial reality spaces | |
CN114816315A (zh) | 用于音频和视频会议应用的音量控制 | |
JP2021523437A (ja) | 顔面表情による遠隔アバターの操縦 | |
US20230017111A1 (en) | Spatialized audio chat in a virtual metaverse | |
US20230412670A1 (en) | Document-sharing conferencing system | |
KR20220123576A (ko) | 3차원(3d) 환경에 대한 통합된 입/출력 | |
WO2021257868A1 (en) | Video chat with spatial interaction and eye contact recognition | |
US11405589B1 (en) | Interactive video conferencing interface | |
CN115220906A (zh) | 音频/视频合成应用的云执行 | |
US11818192B2 (en) | Encoding output for streaming applications based on client upscaling capabilities | |
US20230236792A1 (en) | Audio configuration switching in virtual reality | |
US20240098303A1 (en) | Encoding output for streaming applications based on client upscaling capabilities | |
US11954404B2 (en) | Verbal communication in a virtual world | |
US11972173B2 (en) | Providing change in presence sounds within virtual working environment | |
KR102396060B1 (ko) | 전자 게임에서 카메라 뷰 변경 | |
US20240106875A1 (en) | Dynamically assigning participant video feeds within virtual conferencing system | |
US20240073364A1 (en) | Recreating keyboard and mouse sounds within virtual working environment | |
JP2023037566A (ja) | ストリーミング・アプリケーションのためのニューラル・ネットワークを使用するエントロピベースのプレフィルタ処理 |