[0027]以下の説明では、様々な実施形態が説明される。説明の目的で、実施形態の完全な理解を提供するために、特定の構成および詳細が示される。しかしながら、実施形態が特定の詳細なしで実施され得ることも当業者には明らかであろう。さらに、説明されている実施形態を不明瞭にしないために、周知の形態は省略または簡略化されている場合がある。
[0028]本開示の実施形態は、本明細書では音声制御デバイスとも呼ばれる音声制御マルチメディアデバイス(VCMD)のための、とりわけシステム、方法、コンピュータ可読媒体、技術、および方法論に関する。実施形態は、音声制御され、可聴命令に応答することができるデバイスを含む。可聴命令に応答して、VCMDは、VCMDの内部スピーカで、または別の外部デバイス、例えばユーザのテレビ、または、本明細書では、広くTV−AVRシステムと呼ばれる音声ビデオ受信機に接続された1つまたは複数の外部スピーカで提示するためのデジタルコンテンツを出力できる。いくつかの実施形態では、VCMDは、ユーザの要求に従ってデジタルコンテンツを提示するために、ユーザの他の電子デバイス、例えばテレビおよび音声ビデオシステムを制御することができる。結果として、VCMDの実施形態は、それぞれのデバイスを操作したり、指し示すことなく、周囲環境で複数の電子デバイスを制御するように構成可能であり、音声ベースの命令に反応するように構成可能であり、それにより典型的な遠隔制御の場合と同様に、ユーザがデバイスを物理的に操作する必要性を低減し、または取り除くことができる。
[0029]他の電子デバイスを制御するために、VCMDの特定の実施形態は、TV−AVRシステムの他の電子デバイスと無線通信するためにIR信号を送信するために使用され得る、発光ダイオード(LED)などの1つまたは複数の赤外線(IR)光源のセットを含むことができる。他の実施形態では、VCMDは、1つまたは複数のAVポートを介して、例えば1つまたは複数の高解像度マルチメディアインターフェース(HDMI(登録商標))ポートを介して制御コマンドを発する性能もまた含むことができる。
[0030]図1は、本開示の1つまたは複数の実施形態による例示的な使用事例100およびVCMD130の概略図を示す。ユーザ110は、音声システム150、テレビ160、無線制御照明(図示せず)、および遠隔制御されるように構成された他の電子デバイスなどの複数の電子デバイスを有する周囲環境の中にいることができる。VCMD130は、テーブル上、キャビネット内、または周囲環境内の他の場所など、ユーザ110の周囲環境内にあることができる。
[0031]ユーザ110は、VCMD130と口頭で対話して、VCMDからのコンテンツを要求することができ、VCMDは、それ自体が1つまたは複数のデジタルコンテンツソースに、例えば、広域またはローカルコンピュータネットワークを介して、1つまたは複数の音声コンテンツソースおよび/またはビデオコンテンツソースに接続され得る。例えば、ユーザ110は、「アレクサ、今日の天気予報は?」などの命令、コマンド、または要求を含むフレーズ120(本明細書では、ユーザ発話または音声入力とも呼ばれる)を発することができる。
[0032]VCMD130は、ユーザ110からの音声入力を検出することができ、フレーズ120の意味を決定することができる。例えば、VCMD130は、「アレクサ」のトリガーワードまたはウェイクワード、または別のトリガーワードを検出することができ、その後、1つまたは複数のマイクロフォンを使用して音声コマンドの監視を開始することができる。いくつかの実施形態では、音声入力の検出および/または処理は、VCMD130でローカルに行われることができ、一方、他の実施形態では、VCMD130は、1つまたは複数のリモートサーバコンピュータと通信して、音声入力が1つまたは複数の音声コマンドを含むかどうかを決定することができる。いくつかの実施形態では、トリガーワードは、ローカルで検出および決定されることができ、潜在的な音声コマンドを含む完全な音声入力は、リモートで処理され得る。他の実施形態では、図3を参照して以下でさらに詳細に説明するように、完全な音声入力は、完全にローカルに処理されることができ、あるいはローカルおよび/またはリモート音声処理サービスの任意の組み合わせを使用して処理され得る。
[0033]図1の例におけるフレーズ120の意味を決定または受信した後、VCMD130は、1つまたは複数の応答動作を開始することができる。この例では、VCMD130は、ユーザ110が地域の天気予報に関連する音声ストリームを聞きたいと決定することができる。この決定に応答して、次いでVCMD130は、外部AVシステムの状態を検出して、任意の開いている音声チャネル、つまり電源が入っており、音声を送信できるスピーカ、例えばテレビ160の内部スピーカまたは音声システム150のスピーカを所有する何らかの外部デバイスかどうかを決定することができる。場合によっては、VCMD130が、外部デバイス上に開いている音声チャネルがないことを検出した場合、VCMDはVCMD130の内部スピーカを使用して、音声コンテンツをローカルに提示できる。場合によっては、テレビにオープン音声チャネルが含まれていることをVCMD130が検出した場合、例えば、テレビがオン状態でミュートにされていない場合、VCMD130は制御信号を送信して、テレビのAV入力を切り替えることができ、音声コンテンツをテレビ160の内部スピーカに提示することができる。例えば、VCMD130は、AVポートを介してコンテンツソースに接続し、例えば、高解像度マルチメディアインターフェース(HDMI(登録商標))ポートなどを介して、VCMD130とテレビ160との間のAV接続を使用して、コンテンツをテレビ160にストリームすることができる。
[0034]他の例では、図2に示すように、ユーザ110は、例えば、ユーザが天気予報を見たいと示している「アレクサ、天気を教えて」と言うことによって、発話に関連するビデオコンテンツを見たいという欲求を意味するフレーズを発することができる。以前と同様に、フレーズ120の意味を決定または受信した後、VCMD130は、1つまたは複数の応答動作を開始することができる。この例では、VCMD130は、ユーザ110が天気予報に関連するビデオストリームを見たいと決定することができる。次に、VCMD130は、外部AVシステムの状態を決定して、任意の外部デバイスがオープンビデオチャネルを含むかどうか、例えば、テレビ160がオン状態であり、ストリーミングビデオコンテンツがVCMD130から表示されることを可能にする入力に設定されているかどうかを決定することができる。場合によっては、テレビ160がオフ状態にあることをVCMD130が検出した場合、VCMD130は、最初にテレビ160をオンにし、次にテレビAV入力をVCMD130に関連する入力に設定できる制御シーケンスを開始できる。次に、VCMD130は、例えば、HDMI(登録商標)ポートなどを介して、図2に示されるように、テレビ160の画面にビデオコンテンツをストリームすることができる。
[0035]応答動作を実行するために、VCMD130は、例えば、HDMI(登録商標)などのAVインターフェースを介して、1つまたは複数のコマンドまたは命令を送信することができ、またはユニバーサルリモコンデバイスと同様に、赤外光チャネルなどのワイヤレスチャネルを使用することができる。したがって、VCMD130は、多数の側壁、1つまたは複数の側壁を介してアクセス可能な1つまたは複数のAV出力ポート、および1つまたは複数の側壁を通って赤外光を発するように構成された1つまたは複数のIR LEDのセットを備えたハウジングを含むことができる。例えば、図12〜図14は、IR LEDを含むVCMDの一例を示す。いくつかの実施形態では、赤外光は、周囲環境の比較的大部分の赤外到達範囲を提供するように、VCMD130を中心として360度に放出され得る。いくつかの実施形態では、VCMD130は、周囲環境の赤外線LED到達範囲を増加させるように、反対方向に配向または配置された赤外線LEDを含み得る。
[0036]VCMD130はまた、例えば、標準解像度コンテンツ、高精細コンテンツ、超高精細デジタルコンテンツ(例えば、4K解像度、UHD解像度など)などのビデオコンテンツを出力するように構成されたAVインターフェースポート、例えば、VGAポート、DVIポート、および/またはHDMI(登録商標)ポートを含み得る。VCMD130は、無線でまたはAVポートを介してテレビ160に接続可能であり、テレビ160でのコンテンツの視覚的提示と共に、要求されたコンテンツのストリーミングを引き起こし得る。
[0037]図3は、特定の実施形態によるVCMD300のブロック図を示す。VCMD300の内部アーキテクチャは、ユーザの発話またはコマンドなどの音声入力の受信で始まり、VCMD300および/またはTV−AVRシステム303の1つまたは複数の出力システムにコンテンツが配信されることで終了する、マルチステップのユーザ入力およびコンテンツ配信プロセスを提供するように構成される。上記に紹介したように、VCMD300は、テレビシステム(TV)に直接接続することができ、または音声ビデオ受信システム(AVR)を介してテレビに間接的に接続することもでき、AVRは1つまたは複数の外部スピーカを有する。簡潔にするために、本明細書では、独立型TV、および1つまたは複数の外部スピーカを備えたAVRに接続されたTVなど、より複雑なトポロジを有するシステムの両方を言及するために、頭字語を組み合わせたTV−AVRが使用される。
[0038]TV−AVRシステム303への接続を提供するために、VCMD300は、1つまたは複数のAVポート、例えば、HDMI(登録商標)ポート301を含むことができる。HDMI(登録商標)ポート301は、HDMI(登録商標)ケーブルなどの1つまたは複数の電気相互接続を受け取ることができる。簡単にするために、HDMI(登録商標)ポート301の相互接続および関連する回路は、ビデオブロック301c、音声ブロック301b、および監視/制御ブロック301aを含む3つの論理サブブロックにグループ化される。HDMI(登録商標)ポート301のビデオブロック301cは、ビデオデータを受信し、そのビデオデータをTV−AVRシステム303に送信することができる。同様に、音声ブロック301bは、音声データを受信し、音声データをTV−AVRシステム303に送信することができる。監視/制御ブロック301aは、HDMI(登録商標)ポートの1つまたは複数のデータラインを監視して、TV−AVRシステム303の状態を決定することができる。モニタ/制御ブロック301aはまた、例えば、家庭用電化製品制御(CEC)コマンドの形態で、HDMI(登録商標)データをTV−AVRシステム303に提供して、TV−AVRシステム303の状態を制御するために使用され得る。オン/オフ、ボリュームコントロール、ミュート/ミュート解除、AV入力選択など、様々なCECコマンドが使用可能である。
[0039]加えて、システムの構成要素がCEC互換でない可能性がある場合に、TV−AVRシステム303の状態を制御するために、VCMD300は1つまたは複数のIR送信機、例えばIR LED311を装備することができる。TV−AVRシステム303の1つまたは複数の構成要素を制御するために、IR送信機は、TV−AVR(図示せず)に動作可能に接続されている1つまたは複数のIR受信機によって受信されるIRコード/信号の形式でデータを出力することができる。オン/オフ、ボリュームコントロール、ミュート/ミュート解除、AV入力選択など、様々なコントロール機能が使用可能である。
[0040]VCMD300は、VCMD300の周りの領域内、例えば家の部屋内の周囲音を監視し、周囲音が音声入力、例えばユーザ307からのユーザ発話305を含むかどうかを検出するように構成されるマイクロフォンシステム313を含む。ユーザ発話305に応答して、VCMD300は、VCMD300の内部にある出力システム、例えば内部スピーカ309でコンテンツを再生することができ、または外部システム、例えばTV−AVRシステム303でコンテンツを再生することができる。発話に関連付けられたコンテンツは、純粋にビジュアル、純粋に音声、または音声ビジュアルコンテンツなどのマルチメディアであることができる。コンテンツは、1つまたは複数のリモートサーバコンピュータから供給され、1つまたは複数のメディアプレイヤ304によって再生され得る。コンテンツソースは、例えば、リモート音声認識サービス321および/またはリモートコンテンツソース308に配置されることができ、そのどちらもユーザのローカルエリアネットワークを介して、またはインターネットを介してアクセス可能である。
[0041]VCMD300は、ユーザ発話305の詳細と、例えばTV−AVRシステム303が現在オンまたはオフのどちらかなど、TV−AVRシステム303の現在の状態との両方に応じて、ユーザ要求コンテンツをVCMD300の内部スピーカ309またはTV−AVRシステム303のいずれかにルーティングするように構成される。VCMD300がユーザ要求のコンテンツをスピーカ309またはTV−AVRシステム303のいずれかにルーティングする機能は、VCMD300が、そうでない場合は促進するために2つの別のデバイスが必要となる2つのモードで動作することを可能にするので、本明細書では「デュアルモード機能」と呼ばれる。第1のモードでは、VCMD300は、音声のみの出力を含む音声再生音声制御デバイスのように動作することができる。第2のモードでは、VCMD300は、1つまたは複数のディスプレイ(例えば、TV)に動作可能に結合されるストリーミングデジタルメディアプレイヤとして動作することができ、音声制御されたリモートによって操作され得る。
[0042]本明細書で使用される場合、オン電源状態およびオフ電源状態という用語は、TV−AVRシステムの1つまたは複数の構成要素の電源状態を指す。例えば、オン電源状態は、テレビの画面でコンテンツを視聴するために必要なすべての構成要素に電力が供給されている状態を指す。同様に、オフ状態は、テレビが最初にオン状態にある場合に、ユーザが電源スイッチをトグルで切り替えるときに発生するテレビの電源状態である。したがって、「オフ状態」という用語は、テレビのディスプレイの電源を切ることができる非給電状態および/またはいわゆるスタンバイ状態の両方を含むことができるが、テレビ内の他のいくつかの限られた数の構成要素は依然として電力を受け取っている。例えば、スタンバイ状態では、テレビ構成要素のサブセットがCEC制御コマンドを聞き取っている可能性があり、「テレビをオンにする」CECコマンドに関連付けられたHDMI(登録商標)データが受信されると、テレビはオフ状態からオン状態に切り替えられ得る。
[0043]本明細書で使用する場合、「フォーカスされている」および「フォーカスされていない」という用語は、TV−AVRシステムの状態、特にアクティブなAV入力ポートがVCMDに設定された状態で、TV−AVRシステムの電源がオンになっているかどうかを指す。例えば、図3に示されるシステムにおいて、TV−AVRシステム303は、TV、コンピュータモニタ、DLPプロジェクタなどのような音声ビデオディスプレイデバイス、および1つまたは複数の外部スピーカを備えたAVRを含むと想定されたい。さらに、VCMD300(VCMD_OUT_1)のAV出力ポートが、HDMI(登録商標)を介してAVR(AVR_IN_1)の入力ポートに接続され、次いでAVR(AVR_OUT_1)の出力ポートが、TV(TV_IN_1)の入力ポートに接続され、すなわち、システム全体のHDMI(登録商標)接続は、VCMD_OUT_1→AVR_IN_1→AVR_OUT_1→TV_IN_1として記述され得ると想定されたい。この接続トポロジでは、「フォーカスされている」と見なされるには、AVRのアクティブな入力ポートをAVR_IN_1に設定すべきであり、AVRのアクティブな出力ポートをAVR_OUT_1に設定すべきであり、TVのアクティブな入力ポートをTV_IN_1に設定すべきである。このような場合、TVおよびAVRの両方の電源設定がオン状態に設定されていれば、VCMDは「フォーカスされている」と見なすことができる。一方、AVRまたはTVのいずれかが電源オフ状態に設定されている場合、VCMDは「フォーカスされていない」と見なすことができる。同様に、TVとAVRの両方が電源オン状態であるが、TV−AVRシステム構成要素のいずれかの現在アクティブな入力/出力ポートがVCMD_OUT_1→AVR_IN_1→AVR_OUT_1→TV_IN_1以外に設定されている場合、その時VCMDは、やはり「フォーカスされていない」と見なすことができる。以下でより詳細に説明するように、ユーザの発話がTV−AVRシステムでコンテンツを再生したいという意志を示唆する場合、VCMDは適切な制御信号を提供して、例えばIR LED311および/またはHDMI(登録商標)ポート301を介して、VCMD300を「フォーカスされていない」状態から「フォーカスされている」状態に移動させることができ、そのような制御信号は、一般に、オン/オフ制御信号ならびにアクティブ入力切り替え/アクティブ化信号を含むことができる。
[0044]図3に戻ると、VCMD300は、マイクロフォンシステム313および入力音声処理システム315を含む音声入力部を含むことができる。マイクロフォンシステム313は、VCMD300が、例えばマルチマイクロフォンビーム形成技術を使用することによって、さもなければ騒々しい部屋でユーザを見つけることを可能にするように協働するマイクロフォンの配置を採用するマイクロフォンアレイシステムであり得る。マイクロフォンシステム313はまた、例えば、エコー消去をもたらす検出スキームによって、検出された音声信号の品質を改善するために協働することができる。特定の実施形態によるマイクロフォンシステム313内のマイクロフォンの1つの可能な配置は、図13を参照して以下でさらに詳細に説明される。
[0045]VCMD300の音声入力部は、マイクロフォンシステム313から音声信号を受信し、追加の信号処理を実行する入力音声処理システム315をさらに含む。加えて、音声処理システムは、マイクロフォンアレイのビーム形成およびエコー消去機能を制御することができる。入力音声処理システム315は、本明細書ではマイクロフォン信号とも呼ばれるマイクロフォンシステム313から音声入力信号を受信し、ウェイクワードが、マイクロフォンシステム313によって受信された音声入力内に存在したかどうかを検出するように構成されるウェイクワード検出サービスもまた含む。入力音声処理システム315は、ウェイクワードの検出時に、ユーザ発話に関連する音声入力を捕捉し、例えば、本明細書では発話データとも呼ばれるPCMデータなどのデジタル音声データの形態で、それをデジタル化できる音声捕捉サブシステム317を含む。
[0046]入力音声処理システム315は、マイクロフォンシステム313の1つまたは複数のマイクロフォンからマイクロフォン信号を受信することができ、マイクロフォン信号のコンテンツに基づいて、TV−AVRシステムの状態を決定できる状態モニタサブシステム319を有するデバイスコントローラ325をさらに含む。例えば、VCMD300は、音声プローブ信号をTV−AVRシステムの1つまたは複数のスピーカに送信することができ、VCMDが現在オン/オフになっているかどうか、またはTV−AVRシステムにフォーカスされているか/フォーカスされていないかどうかを決定する努力の中で、状態モニタサブシステム319は、プローブ信号がマイクロフォン信号に存在するかどうかを決定するために使用することができる。
[0047]VCMD300はさらに、VCMD300のサブシステム間の1つまたは複数の対話を調整でき、またVCMD300と1つまたは複数の外部システムとの対話を調整できる音声対話マネージャ(SIM)320を含む。特定の実施形態によれば、SIM320は、アマゾンアレクサなどのクラウドベースの音声認識サービス(VRS)321とデータを交換することができる。SIM320はまた、本明細書ではTV−AVRシステム「コンテキスト」とも呼ばれる、TV−AVRシステムの現在の状態を取得するために、デュアルモードコントローラ(DMC)324と調整することもできる。例えば、ユーザ発話305に応答して、SIM320は、TV−AVRシステム状態についてDMC324に問い合わせることができる。次に、DMC324は、システム状態を提供することができ、またはそれをデバイスコントローラ325から取得することができる。SIM320は、TV−AVRシステム状態を受信した後、TV−AVRシステム状態および発話データの両方を含むイベントメッセージ322をVRS321に送信することができる。次に、VRS321は、複数の音声処理技術を使用して、ユーザ発話データからユーザの意図を識別することができる。
[0048]特定の実施形態によれば、VRS321は、複数の音声認識サービス、自然言語処理(NLP)サービス、自然言語理解(NLU)サービスなどを実行する1つまたは複数のリモートサーバコンピュータであり得る。特定の実施形態によれば、クラウドベースのシステムではなく、VRS321は、VCMDの内部であることができる。VRS321は、発話データに対して自動音声認識(ASR)を実行し、認識結果データを生成することができ、それにより、PCMデータを発話の単語を表すテキスト文字列に変換する。次に、認識結果データは、VRS321内のNLUモジュール(図示せず)に渡され、そこで、NLU処理が、認識結果データからユーザの意図を決定するように適用される。次に、VRS321は、決定されたユーザの意図と現在のTV−AVR状態の両方を取得し、SIM320に送り返されるディレクティブのセットとして構造化され得るデジタル応答データ323を生成する。
[0049]以下でより詳細に説明するように、ディレクティブは、VCMD300の構成要素が、VRS321によって決定されるユーザの意図に応じてコンテンツを提供できるようにするコンテンツ、命令、コマンド、またはその他のデータを表すコマンドおよび/またはデータのセットを含むことができる。例えば、ディレクティブは、要求されたコンテンツがビデオコンテンツであることを示す、本明細書ではTV−AVR要求表示と呼ばれるデータ要素を提供するデータを含むことができる。ディレクティブは、TVをオンにしてTVのアクティブ入力をVCMD300に設定する命令を含むデバイス制御ディレクティブを含むこともできる。加えて、ディレクティブは、ユーザの発話に応答してVRS321によって生成されるテキスト/スピーチ(TTS)音声データなどの埋め込みコンテンツを含むことができる。例えば、「アレクサ、Interstellarを再生して」という発話に応答して、VRS321は「オッケー、こちらがInterstellarです」などの応答を含むTTS音声ファイルを生成できる。
[0050]ディレクティブ内に埋め込まれたコンテンツは、TV−AVRシステム303で再生されるメディアを表す1つまたは複数のメディアペイロード、例えば、TV−AVRシステム303の画面に表示されるカードなどの1つまたは複数のビジュアルグラフィックスに関連付けられたデータを含むこともできる。場合によっては、ディレクティブは、メディアプレイヤモジュール304内のメディアプレイヤに起動させ、URLにあるコンテンツのストリーミングを開始するように命令するURLなどのコンテンツソース位置識別子と組み合わせた再生命令を含むこともできる。
[0051]特定の実施形態によれば、以下で図4〜図9を参照してさらに詳細に説明するように、SIM320は、ディレクティブのセットを実行し、DMC324と1つまたは複数のメッセージを交換して、どの出力箇所(VCMD内部スピーカ309またはTV−AVRシステム303)が使用されるべきかを調整することができる。
[0052]特定の実施形態によれば、ディレクティブ323は、要求されたコンテンツがビデオコンテンツである、またはビデオコンテンツではないという、本明細書ではTV−AVR要求表示と呼ばれる表示を含むことができる。この表示は、例えば、「VIDEO」または「AUDIO」を読み取る文字列などのデータ要素、または要求されたコンテンツの性質を識別するのに適したその他のデータ型の形態を取ることができる。本明細書で使用する用語「TV−AVR要求」は、TV画面でビデオを再生するユーザ要求を含む発話だけでなく、TV−AVRシステムの高品質スピーカで高品質の音声コンテンツ(音楽など)を再生するユーザ要求を含む発話も指す。いくつかの実施形態では、発話は、発話の言語によって1)要求されたコンテンツが必然的にビデオコンテンツであるためにビデオ出力を必要とする場合、2)高品質の音声コンテンツへの要求を意味する場合、3)ネイティブVCMD対話を意味する場合、または4)発話の言語が、要求された出力がビデオであることを意味する場合のTV−AVR要求を含むディレクティブを引き起こす可能性がある。
[0053]上記の場合1)の例として、発話は、発話における言語の意味に従って、他の可能な出力モダリティが可能ではない状況でビデオ出力を要求すると決定され得る。例えば、「アレクサ、高い城の男を観察して」または「アレクサ、高い城の男を演じて」などの発話には、ビデオコンテンツ、テレビ番組「高い城の男」への明確な参照を含む。同様に、「アレクサ、YouTube(登録商標)で猫の動画を再生して」などの発話には、動画コンテンツ、猫の動画、および動画コンテンツのみを提供するコンテンツソースであるYouTube(登録商標)が必要である。
[0054]上記の場合2)の例として、TV−AVR要求は、「アレクサ、90年代のロックミュージックを再生して」など、高品質のスピーカから音楽を聞きたいというユーザの要望に基づいて識別され得る。この場合、目的のコンテンツは音楽であるため、VCMDはこの要求をTV−AVR要求として解釈することができる。いくつかの実施形態では、これらのスピーカは、VCMDの内部スピーカに優れた音声品質を提供できるため、VCMDは、TV−AVRスピーカを通して音楽固有のTV−AVR要求を再生することをデフォルトにすることができる。それに比べて、「アレクサ、私のTo−Doリストを再生して」などの発話は、要求された音声をTV−AVRシステムの高品質スピーカで再生する必要がないため、TV−AVR要求として解釈されないであろう。加えて、ユーザは、TV−AVRシステムがオンになり、VCMDがフォーカスされるのを待ってから、To−Doリストの音声を聞くことを望まない場合がある。したがって、このタイプのシナリオでは、VCMDの内部スピーカを使用して、要求された音声の再生をできるだけ早く開始するようにVCMDは構成され得る。
[0055]上記を考慮して、音楽固有のTV−AVR要求の場合、VCMDには、デフォルトの出力ソースを示す1つまたは複数のユーザ選好設定を含むことができる。例えば、ユーザが常に使用可能な最高品質の出力デバイスで音楽を再生したい場合、その時ユーザ選好設定は、VCMDが音楽固有のTV−AVR要求をTV−AVRスピーカにルーティングするように指定することができる。ただし、ユーザが音声品質よりも再生速度と信頼性を好む場合、ユーザは、VCMDの内部スピーカを通して常に音楽固有のTV−AVR要求を再生するように選好を設定することができる。この機能のカテゴリは、図11を参照して以下でさらに詳細に説明される。
[0056]上記のケース3)の例として、発話が、「私のウォッチリストへ移動して」や「パッセンジャーズ(Passengers)を借りて」など、本来のVCMD相互作用の何らかの形態を暗示する場合、TV−AVR要求を含むと決定され得る。これらの場合、システムは、何らかの形態の音声ビデオプラットフォームまたはサブスクリプションサービスに本質的に関連付けられているコンテンツにアクセスする必要がある可能性があり、または、それが完了され得る前に、例えばリモートなどのユーザ入力デバイスを介して、画面上に表示されるコンテンツとユーザが相互作用する必要があるユーザ入力/相互作用のいくつかの形態を意味する可能性がある。
[0057]上記の場合4)の例として、望ましい出力がビデオコンテンツであることを発話の言語が意味するため、TV−AVR要求が識別され得る。このような場合では、発話内の特定の単語は、ビデオまたはビジュアルコンテンツを取得するユーザの意図に関連付けられていると認識され得る。例えば、ウェイクワードの後の発話では、「アレクサ、私の通勤を見せて」や「アレクサ、私のカレンダを見せて」のように「示す」という単語を使用できる。
[0058]VCMD300はまた、デバイスコントローラ325も含む。デバイスコントローラ325は、様々なTV−AVRシステムデバイスを監視し、それらの現在の状態を決定し、次いで状態をメモリに格納するか、または状態情報を定期的および/または非同期的にDMC324に送信することができる状態モニタ319を含む。加えて、デバイスコントローラ325は、VCMD300の様々なデバイス相互接続、例えば、IR LED311および/またはHDMI(登録商標)ポート301の監視/制御ブロック301aを介して、TV−AVRシステムに送信され得るデバイス制御信号を生成できるデバイスコントロールサービスを含む。一般に、デバイスコントローラ325は、ユニバーサルリモコンと同様の方法でIRコントロール信号を生成することができ、CECコマンドなどの形態でHDMI(登録商標)制御信号を生成することもできる。当業者によって理解されるように、本開示の範囲から逸脱することなく、IRおよびCEC制御に加えて、多くの異なるタイプの制御信号およびチャネルが可能である。
[0059]VCMD300はまた、SIM320およびDMC324の両方から音声およびビデオデータおよび/またはコマンドを受信することができるスピーカコントローラ327およびビデオコントローラ302を含む。スピーカコントローラ327は、音声コンテンツに関連するデータを受信し、VCMD300の内部スピーカ309および/またはHDMI(登録商標)ポート301の音声サブブロック301cに音声信号を提供するインターフェースハードウェアおよびソフトウェアを含むことができる。
[0060]特定の実施形態によれば、スピーカコントローラ327は、VRS321から、またはクラウドベースのストリーミング音楽サービスなどの外部音声コンテンツソース308から音声データを供給することができる。例えば、「アレクサ、今日の天気予報は?」のようなユーザの発話の場合、音声応答データは、VRS321によって生成され、1つまたは複数の音声ディレクティブとしてVCMD300に送信される。この特定の例では、SIM320は、デュアルモードコントローラ324に、この比較的低品質の音声(天気予報)をVCMDの内部スピーカ309にルーティングするようにスピーカコントローラ327に命令させるディレクティブのセットを実行する。他の音声データもまた、発話に応答してVRS321によって生成されるTTS応答などの応答データと共に送信され得る。
[0061]「アレクサ、音楽を再生して」のような発話などの他の例では、VRS321は、SIM320に渡される音楽再生ディレクティブを含むことができる。次に、SIM320は、音声プレイヤを起動させ、ストリーミング音楽サービスなどのリモートコンテンツソース308に接続させる、1つまたは複数のメッセージをメディアプレイヤモジュール304に送信することができる。次に、音楽ストリームは、音声プレイヤによってスピーカコントローラ327に提供される。この場合、音声データは音楽を表すので、スピーカコントローラ327は、TV−AVRシステム303に動作可能に接続されている外部スピーカに音声信号を転送する。例えば、スピーカコントローラ327は、HDMI(登録商標)301の音声サブブロック301bを介して適切に符号化された音声信号を送信することができる。
[0062]上記には示されていないが、ビデオコントローラ302は、VRS321またはコンテンツソース308のいずれかからビデオコンテンツを供給することができ、加えて、SIM320は、例えば、ビデオサブブロック301cを介してHDMI(登録商標)ポート301の1つまたは複数のビデオデータラインにコンテンツを直接提供することができる。例えば、「アレクサ、天気を教えて」などの発話の場合、VRS321からの応答データは、テレビ画面に表示される1つまたは複数のカードを含む、関連付けられたビデオデータに対応する視覚的なディレクティブを含むことができる。したがって、この場合、SIM320は、HDMI(登録商標)ポート301と直接通信することができる。「アレクサ、NetflixでThe Crownを再生して」のような発話などの他の例では、VRS321からの応答データはビデオ再生ディレクティブを含むことができる。この場合、ビデオ再生ディレクティブにより、SIM320は、メディアプレイヤモジュール304にNetflixメディアプレイヤを起動し、リモートNetflixコンテンツソースに接続して、ビデオコンテンツのストリーミングを開始するように命令する。
[0063]図4〜図7は、例えば、図3を参照して上記で示し、説明したVCMD300など、特定の実施形態によるVCMDの動作方法をさらに例示するシーケンス図を示す。より具体的には、シーケンス図は、VCMDの様々なサブシステム間の相互作用を示す。異なるシーケンス図のそれぞれは、ユーザの発話の性質、および発話を受信する時点でのTV−AVRシステムの状態に応じて、サブシステムがどのように相互作用するかの例を示す。図4に示す例では、TV−AVRシステムはTVであると想定されている。これらのシーケンス図は、単に例として本明細書に提供されており、当業者の一人は、ユーザ発話、トポロジ、およびTV−AVRシステムの現在の状態に応じて、多くの異なるシーケンスが可能であることを理解するであろう。
[0064]図4は、非TV−AVR要求、およびオフ状態または不明状態のいずれかにある初期TV−AVRシステム状態を含む発話の場合について例示的なシーケンス図を示す。非TV−AVR要求の例には、「アレクサ、天気予報は?」などの発話を含む。このタイプの非TV−AVR要求について、ユーザの意図は、TV−AVRシステムが最初にオフになっている場合、VCMDをオンにしないことであると想定される。その代わりに、VCMDは要求された音声をVCMDの内部スピーカに転送する。場合によっては、非TV−AVR要求が、例えば、様々な気象関連データを示す1つまたは複数のカードのディスプレイなどのデフォルトのビデオコンテンツと対になることができることに留意されたい。ただし、要求のTV−AVR以外の性質のために、TV−AVRシステムが既にオンになっている場合、TV−AVRシステムはそのようなビデオのみを表示する。別の言い方をすると、非TV−AVR要求への応答は、純粋な音声である必要はない。ただし、応答が音声およびビデオを含まない場合、VCMDのいくつかの実施形態は、TV−AVRシステムが既にオンになっている場合にのみ、ビデオを表示するように構成され得る。この方法で(TV−AVRシステムの状態に関係なく)ビデオコンテンツを送信すると、TV−AVRの状態が誤って報告された場合の不快なユーザ体験の問題を軽減するのに役立つ。
[0065]ここで図4のシーケンス図に戻ると、最初に、図3に示される入力音声処理システム315上で実行している検出サービスであり得るウェイクワードサービスは、マイクロフォンによって検出される周囲音声の中のウェイクワードの存在を検出する。ウェイクワードの検出に応答して、ウェイクワードサービスは、新しい発話が検出中であることをSIMに通知する。この通知に応じて、SIMは音声ビデオの電源状態ステータス要求をDMCに送信して、ここでは「デバイス状態を入手せよ」というメッセージとして示される、現在のTV−AVRシステム状態を取得する。いくつかの実施形態では、DMCは、デバイス状態の現在の記述を格納するように構成される。デバイス状態は、デバイスコントローラによって提供される状態情報に応答して定期的に更新され得る。特定の実施形態によれば、デバイスコントローラは、定期的なメッセージを介して定期的にDMCにデバイス状態を提供することによってこれを達成することができる。別法として、DMCからの要求に応答して、デバイスコントローラによって非同期でデバイスの状態が提供され得る。
[0066]図4に示す特定の例に戻ると、デバイスコントローラは、TVが電源オフ状態または不明状態のいずれかであるとデバイスコントローラが決定したため、TV<オフ|不明>のデバイス状態をDMCに提供する。
[0067]DMCは、デバイスコントローラから現在のデバイス状態情報を受信すると、次いで、Set_Device_ContextメッセージをSIMに送信して、TVがオフまたは不明の状態であることを示すDevice_Contextを作成するようにSIMに命令する。次に、SIMは、Device_Context、および発話データを含むPCM音声ストリームの両方をVRSに提供する。上述のように、VRSはDevice_ContextおよびPCM情報を取得し、例えば、ディレクティブ[D1、D2、...、Dn]などのディレクティブのセットを生成することができる。特定の実施形態によれば、ディレクティブは、コマンドのリストならびに1つまたは複数の音声および/またはビデオデータの形態を取ることができる。この例では、ディレクティブは、天気予報を示す1つまたは複数のカードから構成されるビデオを再生するコマンドを含み、VCMDの内部スピーカでTTS応答を再生する命令もまた含む。いくつかの実施形態では、TTS応答は、ユーザの発話に対するVRSの応答を表す、事前にレンダリングされたPCM音声の一部として、ディレクティブ内に渡すことができる。
[0068]ディレクティブのセットの受信に応答して、SIMはディレクティブをDMCに渡し、DMCに、ディレクティブに従って相互作用するように命令する。いくつかの実施形態では、DMCは、ディレクティブに含まれる情報に基づいて出力ソースを決定できるロジックでプログラムされることができ、またはVRSは、ディレクティブ自体に出力ソースを含むことができる。
[0069]この場合、これはTV−AVR以外の要求であり、TV−AVRの状態はTV<オフまたは不明>であるため、デバイス制御ロジックは、その制御ターゲットを<内部スピーカ>に設定して、TTSまたは要求された音声が、VCMDの内部スピーカで再生される予定であることを示すようにDMCに命令することができる。
[0070]次に、SIMは、Play_TTSメッセージをスピーカコントローラに送信して、TTS音声の再生を開始するようスピーカコントローラに命令することができる。例えば、「天気は?」などの発話の場合、TTS音声は「今日の天気予報は...です」のようになり得る。Play_TTSメッセージに応答して、スピーカコントローラはGet_Control_TargetメッセージをDMCに送信し、Control_Target変数について現在の値を取得し、要するにTTS音声をどの出力システムで再生すべきかをDMCに尋ねる。Get_Control_Targetメッセージに応答して、DMCは<Current_Control_Target>メッセージをスピーカコントローラに送信して、現在選択されている出力デバイスのスピーカコントローラに通知することができる。この場合、VCMDの内部スピーカが現在の制御対象であるため、それでDMCはスピーカコントローラに内部スピーカを出力デバイスとして使用するように命令する。次いでスピーカコントローラは、VCMDの内部スピーカでTTS音声を再生する。
[0071]上記のように、いくつかの非TV−AVR要求は、TVの状態に関係なく、付随するビデオを含むことができる。図4はそのような例を示しており、したがってスピーカコントローラが内部スピーカでTTS音声を再生した後、SIMはHDMI(登録商標)ポートにビデオデータを送信させることができる。図4に示される特定のケースでは、TVはオフであり、したがって、ビデオコンテンツは表示から隠される。しかしながら、TVの状態が誤って報告された場合、ビデオデータが表示されるため、したがってTV−AVRの状態が誤っている可能性がある場合、全体的なユーザ体験を向上させる。この開示の利点を有する当業者によって理解されるように、本開示の範囲から逸脱することなく、非TV−AVR要求に応答して視覚的ディレクティブが送信されない代替構成が存在し得る。
[0072]図5は、オンである非TV−AVR要求および初期TV−AVRシステム状態を含む発話の場合について例示的なシーケンス図を示す。シーケンスは、概ね図4を参照して上記に説明されるように進行する。ただし、テレビは既にオン状態になっているため、DMCはそのコントロールターゲットを<内部スピーカ>ではなく、<HDMI(登録商標)>に設定する。その結果、スピーカコントローラはTTS音声をVCMDのHDMI(登録商標)ポートに転送し、TTSはTVスピーカで再生される。加えて、テレビは既にオン状態であるので、発話に関連するビデオデータがあれば、テレビに表示され得る。いくつかの実施形態では、ディレクティブ自体はビデオデータを含むことができ、他の実施形態では、ディレクティブは、外部ソースからコンテンツを取得するための命令を伴うURLを含むことができる。
[0073]図6は、TV−AVR要求を含む発話、すなわち、ユーザの意図がビデオコンテンツを見ること、およびオフまたは未知である初期のTV−AVRシステム状態(例えば、TVは最初はオフ電源状態である)の場合、例示的なシーケンス図を示す。シーケンスは最初は図4〜図5のように進行するが、この場合、TVは最初はオフになっているため、VRSは、要求されたビデオコンテンツを再生するためにTVをオンにするようにVCMDに命令する。したがって、VRSからの応答は、TVをオンにするためのVCMDへの命令を含む追加のDevice_Controlディレクティブを含む。上記と同様に、ディレクティブは、ユーザの発話を表す音声入力データに基づいてVRSによって生成される応答データである。ディレクティブがVRSからSIMに渡されると、VCMDとTV−AVRシステムの1つまたは複数の構成要素との相互作用が開始する。
[0074]ディレクティブはこれがTV−AVR要求であることを示しているため、DMCは、TVのHDMI(登録商標)入力にビデオを提供する準備として、ControlTargetをHDMI(登録商標)に設定する。次に、SIMはTVをオンにする命令とともにDeviceControlディレクティブをDMCに送信する。TVがオンになるプロセス中であることをユーザに通知するために、次いでSIMはVCMDの内部スピーカで、ハンドオーバテキスト読み上げ(HOTTS)応答メッセージの再生をトリガーする。例えば、「アレクサ、Interstellarを再生して」などの発話に応答して、VCMDは「オッケー、それをテレビで再生します」と述べるTTS応答を生成することができる。いくつかのTV−AVRシステムでは、VCMDがTV−AVRシステムを適切な再生状態にするのに数秒から数十秒かかる可能性があり、ユーザに通知されない場合は、この時間に何が起こっているのか、かつシステムが応答しているかどうかをユーザは疑問に思う可能性があるので、そのようなハンドオーバ音声メッセージはユーザ体験を改善できる。いくつかの実施形態では、HOTTSメッセージは、VCMDによって生成され、VCMDに格納され、TV−AVRシステムの初期状態に基づいてトリガーされる。例えば、発話にTV−AVR要求が含まれ、TV−AVRシステムがオフ状態であることをディレクティブが示している場合、VCMDのSIMにより、VCMDの内部スピーカでHOTTSメッセージが再生される。他の例では、HOTTSをディレクティブの形式でVRSから渡すことができる。
[0075]図6に戻って、TVの電源を入れることを開始するために、DMCは、最初に、ここではTurn_On_TVコマンドとして示される、電源状態コマンドおよび/またはAV入力状態コマンドをデバイスコントローラに送信する。この段階で、デバイスコントローラは、TV−AVRシステムのトポロジおよび初期状態に応じて、複数の様々なコマンドを送信できる。例えば、デバイスコントローラはIRおよび/またはHDMI(登録商標) CECコマンドをTV−AVRシステムの1つまたは複数の構成要素に送信して、まだフォーカスされていない場合、VCMDはフォーカスされていることを確認できる。Turn_On_TVコマンドを送信した後、DMCはPendingTVNotification(テレビ通知保留)メッセージをSIMに送信して、電源オンプロセスが開始されたことをSIMに通知できる。
[0076]次に、SIMは残りのディレクティブを待ち行列に入れ、デバイスコントローラがTV−AVRシステムをオンにし、VCMDシステムにフォーカスを移すために必要な動作を実行するのを待つ。電源オンプロセスが完了すると、デバイスコントローラはSIMに応答を送信し、ここでTVがオン状態になっていることを示す。応答が受信されると、シーケンスは図4〜図5で既に説明したように進行する。
[0077]図7は、TV−AVR要求およびオン状態にある初期TV−AVRシステム状態を含む発話の別の例を示す。シーケンスは通常、図6のように進行するが、この場合、ウェイクワードを検出すると、SIMはデバイスコントローラにテレビ音声をミュートするよう命令する。テレビ音声をミュートするために、デュアルモードコントローラは、TV−AVRシステムの現在のアクティブな入力状態を調べ、例えばIRを介してミュートコマンドを送信して、TVをミュートするか、またはVCMDに音声フォーカスを取得するように要求を送信する。より具体的には、TV−AVRシステムの現在アクティブな入力がVCMDでない場合、これは、ユーザが他の何らかの入力デバイスからのTVコンテンツを見ていることを示している。この場合、デュアルモードコントローラはデバイスコントローラに対して、ミュートコマンドをIRを介して、またはHDMI(登録商標) CECコマンド(サポートされている場合)を介して、TVに送信するように命令する。次に、プロセスは図6で考察したように概ね進行する。ディレクティブがすべて処理され、新しいビデオデータを再生する準備ができると、SIMはミュート解除コマンド要求をデュアルモードコントローラに送信し、デュアルモードコントローラは適切なメッセージをテレビまたはメディアプレイヤ(IRまたはHDMI(登録商標)を介して)に送信して、ミュート解除し、または音声フォーカスを解除する。
[0078]他のケースでは、発話が受信された場合に、TV−AVRシステムの現在のアクティブな入力はVCMDであり、これはユーザがVCMDからTVコンテンツをストリーミングしていることを示す。この場合、IR/HDMI(登録商標)ミュートコマンドは使用されないが、しかし音声フォーカス要求コマンドが使用される。一般に、音声フォーカス要求コマンドは、適切なアプリケーションに音声をミュートする/それらの音声を回避するよう通知する。例えば、ユーザが現在アマゾンプライムビデオから映画をストリーミングしている場合、デュアルモードコントローラからの音声フォーカス要求コマンドにより、デバイスコントローラがメディアプレイヤでの再生を一時停止することができる。上記と同様に、メディアプレイヤが一時停止されると、SIMは残りのディレクティブを実行し、次いで最終的にミュート解除要求コマンドをデュアルモードコントローラに送信する。次に、デュアルモードコントローラは音声フォーカス解除コマンドをデバイスコントローラに送信し、最終的に、デバイスコントローラが要求されたコンテンツを再生するために必要なステップを実行する。
[0079]図8〜図11は、本開示の例によるVCMDの動作を概念的に示すフローチャートであり、ユーザの意図を実現するためにVCMDの1つまたは複数のコントローラによって適用されるロジックに重点を置く。いくつかの例によれば、VCMDは「デュアルモード」デバイスとして動作でき、デュアルモードロジックでプログラム可能である。本明細書で使用する「デュアルモードデバイス」という用語は、少なくとも1つの2つの異なる出力システムで音声を再生できるVCMD、すなわちVCMDの内部スピーカおよびTV−AVRシステムの音声システム、例えば、TVスピーカおよび/またはTV−AVRシステムの1つまたは複数の外部スピーカを指す。上記のように、VCMDのデュアルモードロジックは、2つの入力、1)VCMDのマイクロフォンで受信されたユーザ発話から決定されたユーザの意図、2)TV−AVRシステム、例えば、テレビおよび/または音声−ビデオ受信機に接続されているテレビの状態(電力および/またはAV入力の両方)に少なくとも部分的に基づいて、どちらの出力システムが要求された音声を再生すべきかを決定できる。特定の実施形態によれば、使用されるHDMI(登録商標)プロトコルおよび/またはマイクロフォンアレイの正確なデバイス構成および制限に応じて、デバイス状態は確実に決定可能ではなく、むしろ一貫して「不明」状態である可能性がある。これらのタイプのシナリオでは、現在のデバイス状態を示す変更された音声発話を使用でき、および/またはデバイス状態を示すために1つまたは複数の他の信号を監視できる。いくつかの状況では、例えば、図4を参照して上述したように、VCMDロジックを修正して、未知の状態を直接処理することができる。
[0080]図8から開始して、ステップ810で、ユーザ発話がVCMDのマイクロフォンで受信される。発話は通常、例えば、VCMDによって検出されると、ユーザの音声コマンドが近づいていることをVCMDに示す「アレクサ」などのウェイクワードで始まる。例えば、ユーザの発話は、「アレクサ、ジャズミュージックを再生して」または「アレクサ、私のフラッシュブリーフィングを再生して」などの音声コンテンツを聞くユーザの意図を伝える発言であることができる。他の例では、ユーザの発話は、「アレクサ、私の買い物リストを見せて」または「アレクサ、私のフラッシュブリーフィングを教えて」など、ユーザのビデオコンテンツを見る意図を伝える発言であることができる。
[0081]ステップ820において、VCMDは、VCMDに動作可能に接続されているTV−AVRシステムの電源状態を決定する。例えば、テレビはVCMDのHDMI(登録商標)ポートを介して接続され得る。いくつかの例では、音声ビデオレシーバおよびテレビの両方、ならびに1つまたは複数の外部スピーカが接続され得る。適切なデバイス制御コマンドを生成して、TV−AVRシステムでユーザの発話の意図を実現するには、VCMDがTV−AVRシステムの電源状態を認識する必要がある。いくつかの実施形態では、TV−AVRシステムの状態は、HDMI(登録商標)ポートなどのAV相互接続の1つまたは複数のピンから読み取ることができる信号を介して決定され得る。他の例では、TV−AVRシステムの状態は、AV相互接続を介してサブ可聴音声信号をTV−AVRシステムに送信し、次に、サブ可聴信号を VCMDの1つまたは複数のマイクロフォンで聞くことによって決定され得る。いずれの場合も、1つまたは複数の実施形態は、音声ビデオ電源状態ステータス要求メッセージを開始して、状態検出プロセスを開始することができる。
[0082]ステップ830で、VCMDは、発話音声データから、ユーザの意図を表すディレクティブのセットを決定する。いくつかの実施形態では、発話音声データは音声認識サービスに渡され、そこでユーザの意図を抽出し、ディレクティブのセットを構築するために、発話音声データに対して音声認識プロセスが実行され得る。図3〜図7を参照して上記で説明したように、ディレクティブは一連のコマンドであることができ、デジタル音声および/またはビデオデータを含む音声および/またはビデオディレクティブもまた含むことができる。ディレクティブは、例えば「ジャズミュージック」など、再生されるべきコンテンツ、および例えば、ユーザの意図がTV−AVR要求または非TV−AVR要求を反映しているかどうかなど、要求に使用する予定の意図される出力システムの両方を示すことができる。いくつかの実施形態では、図3を参照して上記でも説明したように、音声認識プロセスは、1つまたは複数の音声認識サーバを含む外部音声認識システムで、VCMDからリモートで実行され得る。他の実施形態では、音声認識プロセスの全部または一部は、VCMDでローカルに実行され得る。
[0083]ステップ840では、TV−AVRシステムの状態に基づいて、VCMDによって決定が行われる。TV−AVRシステムがオフ状態にある場合、方法は、図4を参照して以下でさらに詳細に説明されるように進行する。TV−AVRシステムがオン状態にある場合、方法は、図5〜図6を参照して以下でさらに詳細に説明されるように進行する。
[0084]TV−AVRシステムの最初の電源オフ状態でのデュアルモードの動作
VCMDが、TV−AVRシステムがオフ状態にあることを検出した場合、VCMDを操作する方法は、次に、図9に示されるように進行することができる。ステップ910において、VCMDは、ディレクティブがTV−AVR要求を含むかどうかを決定する。
[0085]ディレクティブがTV−AVR要求を含むとVCMDが決定した場合、次いでステップ920で、ハンドオーバ音声メッセージがVCMDの内部スピーカで再生される。本明細書で使用されるように、ハンドオーバ音声メッセージは、VCMDがTV−AVRシステム上で要求されたコンテンツを再生しようとしていることをユーザに示すためにVCMDによって再生される音声メッセージである。例えば、VCMDは、「アレクサ、Interstellarを再生して」というユーザの発話に応答して、「オッケー、それをテレビで再生します」と迅速に述べることができる。いくつかのTV−AVRシステムでは、VCMDがTV−AVRシステムを適切な再生状態にするのに数秒から数十秒かかる可能性があるので、そのようなハンドオーバ音声メッセージはユーザ体験を改善できる。例えば、場合によっては、VCMDは最初にTVをオンにする必要があり、次にAVRをオンにし、最後に、何らかのTTS応答表示がTV−AVRシステムのスピーカで再生され得る前に、TVおよびAVRの両方のアクティブな入力をVCMDに切り替える必要がある。このような場合、このプロセスが完了する(または完了するのに失敗する)最中にユーザが黙って座っているのではなく、むしろVCMDからのハンドオーバ音声メッセージは、発話が受信され、VCMDがTV−AVRシステムのコンテンツを再生するプロセスを開始したことをユーザに通知する。さらに、ハンドオーバ音声メッセージの使用は、ハンドオーバ音声メッセージが再生された後、TV−AVRシステムによって長時間、例えば1分以上、何の動作も行われない場合、TV−AVRシステムに問題がある可能性があることを認識するユーザの能力を改善する。
[0086]次に、ステップ930において、VCMDは、システムの構成要素をオンにするために、制御信号をTV−AVRシステムに送信する。例えば、VCMDはHDMI(登録商標)ポートを介して、TV−AVRシステムのテレビに接続されることができ、HDMI(登録商標)−CECを介して、テレビをオンにするように「電源オン」コマンドを送信することができる。他の状況では、VCMDはIR送信機を使用して、ユニバーサルリモコンと同様に、IRを介して1つまたは複数の制御信号を送信できる。いくつかの実施形態では、制御信号は、テレビのみをオンにするように定式化されることができ、またはTV−AVRシステムの他の構成要素も同様にオンにすることができる。例えば、音声ビデオ受信機とTVの両方を含むTV−AVRシステムの場合、制御要求は、例えば、最初に受信機をオンにし、次いでTVをオンにするなどの制御信号の組み合わせを含むことができる。この開示の恩恵を受ける当業者によって理解されるように、TV−AVRシステムのトポロジに応じて、いくつかの異なる形態の制御信号が可能である。
[0087]ステップ940において、VCMDは、TV−AVRシステムのAV入力が適切な入力ポートに設定されているかどうか、すなわち、TV−AVRシステムのアクティブなAV入力が現在VCMDに接続されているAVポートに切り替えられているかどうかをテストする。そのようなテストは、例えば、図4〜図7を参照して上述したように、VCMDがデバイス状態取得メッセージと共に音声ビデオ入力状態ステータス要求を送信することによって達成され得る。例えば、VCMDがテレビのHDMI(登録商標)_1ポートに接続されている場合、VCMDは最初にTV−AVRシステムに問い合わせて、現在アクティブなAV入力ポートがHDMI(登録商標)_1であるかどうかを識別する。
[0088]ステップ950において、アクティブなAVポートがまだHDMI(登録商標)_1に設定されていない場合、VCMDは制御信号を送信して、TV−AVRシステムのAV入力をHDMI(登録商標)_1に切り替える。別の例では、VCMDはアクティブなHDMI(登録商標)ポートを検出する必要はないが、代わりに、例えばCECワンタッチプレイなどのテクノロジーを採用することにより、TV−AVRシステムのアクティブなAVポートを適切なポートに切り替える制御信号をすぐにTV−AVRシステムに送信することができる。
[0089]次に、ステップ960で、VCMDは、要求された音声ビデオコンテンツをTV−AVRシステムに送信し、それによって、ユーザの要求を完了する。
[0090]ステップ940に戻り、TV−AVRシステムのAVポートがVCMDに接続されているポート、例えばこの例ではHDMI(登録商標)_1に既に設定されている場合、その時、プロセスはAV入力を切り替える必要がなく、その代わりにステップ460に進行し、完了する。
[0091]ステップ910に戻ると、VCMDが、ディレクティブが音声コンテンツのみを再生する要求を含むと決定した場合、次いでステップ911において、VCMDは、要求された音声コンテンツをVCMDの内部スピーカで再生することができる。いくつかの実施形態では、VCMDは、ステップ911でデフォルトの動作を無効にすることができ、その代わりに音声要求をTV−AVR要求のように扱うことができるユーザ選好設定を含むことができ、その場合、VCMDは、上述したようにステップ920〜960を通って進行することができる。このような場合、ユーザがユーザ選好設定を設定して、特定の音声要求のみをTV−AVR要求として処理することもでき、例えば、「アレクサ、90年代のロックミュージックを再生して」などの発話は、TV−AVRシステムの高品質スピーカで再生される音楽要求としてVCMDによって解釈され得るが、「アレクサ、私のTo−Doリストを再生して」などの発話は、やはりVCMDの内部スピーカで再生され得る。ユーザ選好機能を有する実施形態は、図11を参照して以下でさらに詳細に説明される。
[0092]最初は電源オン状態のTV−AVRシステムのデュアルモードの動作、TV−AVR要求
VCMDが、TV−AVRシステムが最初にオン状態にあることを検出した場合、それは、図10に示されるように、TV−AVRシステムと相互作用することができる。図10は、ステップ1010において、ディレクティブがTV−AVR要求を含むとVCMDが決定する場合を示す。図11は、ディレクティブが非TV−AVR要求を含むとVCMDが決定した場合を示す。
[0093]図10に戻ると、VCMDがディレクティブを受信した時点でTV−AVRシステムが既にオン状態にある場合、本明細書に示される方法ステップは、「アレクサ、Interstellarを再生して」などのユーザ発話に応答して実行され得る。ステップ1020において、VCMDは、TV−AVRシステムのAV入力が適切な入力ポートに設定されているかどうか、すなわち、TV−AVRシステムのアクティブなAV入力が現在VCMDに接続されているAVポートに切り替えられているかどうかをテストする。例えば、VCMDがテレビの「HDMI(登録商標)_1」ポートに接続されている場合、VCMDは第1にTV−AVRシステムに問い合わせて現在アクティブなAV入力を識別する。「はい」の場合、次いでステップ2013で、VCMDはそのメディアプレイヤを一時停止して、現在TV−AVRシステムに送信されているコンテンツを一時停止することができる。
[0094]次に、ステップ1040で、VCMDは、TV−AVRシステムの現在アクティブなスピーカ、例えば、TVの内部スピーカでTTS応答を再生する。例えば、「アレクサ、Interstellarを再生して」などの受信するユーザの発話に応答して、VCMDは意図メッセージ「オッケー、Interstellarを再生します」をテレビの内部スピーカで再生できる。いくつかの実施形態では、コンテンツが再生されようとしていることを示すために、TVのディスプレイ上に視覚的表示もまた表示され得る。その間、VCMDの適切なメディアプレイヤが、ソースからコンテンツを取得できる。
[0095]ステップ1050で、コンテンツプロバイダへの接続が取得されると、VCMDはVCMDのメディアプレイヤの一時停止を解除し、ステップ1060で、例えば映画「Interstellar」のストリームなどの新しいAV出力を、TV−AVRシステムでコンテンツを再生させるためにTV−AVRシステムに送信することができる。
[0096]一方、ステップ1020において、TV−AVRシステムのアクティブ入力ポートがVCMDに現在接続されているAVポートに現在設定されていないと決定された場合、VCMDはミュートコマンドをテレビに送信することができる。この場合、入力ポートはまだVCMDの入力ポートに設定されていないため、もしあればTV−AVRシステムで再生されている現在のコンテンツは、VCMDの内部ビデオプレイヤ以外のどこかから供給されていると想定される。この場合、コンテンツはVCMDによって一時停止できない可能性があるため、その代わりに、ステップ1031で、VCMDはミュートコマンドをTV−AVRシステムに送信することができる。ミュートコマンドは、ユニバーサルリモコンと同様に赤外線通信チャネルを介して送信されることが可能であり、またはCECコマンドなどのHDMI(登録商標)を介して送信されることが可能である。例えば、ミュートコマンドは、図13を参照して以下に示され、説明される1つまたは複数のIR LEDから送信され得る。これにより、TV−AVRのスピーカをミュートして、テレビ音声は、ユーザの発話に応答してVCMDによって再生されるTTS/ハンドオーバメッセージに干渉しない。
[0097]ステップ1041で、VCMDは、図9のステップ920を参照して既に上述したように、VCMDの内部スピーカで、ハンドオーバ音声メッセージを再生することができる。
[0098]ステップ1051で、VCMDは、図9のステップ950を参照して既に上述したのと同様の方法で、TV−AVRシステムのアクティブなAVポートをVCMDに切り替えることができる。
[0099]次に、ステップ1061で、VCMDは、例えば、ステップ1060で新しいAV出力ストリームを開始する前に、IR通信チャネルを介してTV−AVRシステムにミュート解除コマンドを送信することにより、TV−AVRシステムをミュート解除することができる。
[0100]TV−AVRシステムの最初の電源オン状態でのデュアルモードの動作、非TV−AVR要求
図11は、VCMDがTV−AVRシステムがオンであると決定し、ディレクティブが非TV−AVR要求を含む場合を示す。いくつかの実施形態では、VCMDは、非TV−AVR要求がシステム上でどのように再生されるかに影響を及ぼし得るユーザ選好を含むことができる。例えば、VCMDのデフォルト設定は、VCMDの内部スピーカですべての非TV−AVR要求を再生するように設定され得る。別法として、ユーザは、非TV−AVR要求のすべてまたはいくつかのカテゴリを最終的にTV−AVRシステムスピーカで再生されるTV−AVR要求として扱うように、その選好を設定することができる。例えば、ユーザは「アレクサ、私の再生リストを再生して」などの音楽発話をTV−AVR要求として扱うように設定することができる。これは、可能な限り最高品質のスピーカで音楽を聞くことがユーザのデフォルト設定であるからである。加えて、いくつかの実施形態では、音楽要求についてでも、出力システムは、VCMDがフォーカスされているかどうかに基づいて決定され得るように、ユーザ選好をより粒度の細かいものにすることができる。フォーカスされていない場合、ユーザ選好は、音声がTV−AVRのスピーカではなく、VCMDの内部スピーカで再生されるように示すことができる。図11は、このより粒度の細かいユーザ選好機能の場合に、VCMDによって採用される論理の一例を示す。
[0101]ステップ1110において、現在のユーザ選好が決定される。すべての非TV−AVR要求が内部スピーカで再生されるべきであることをユーザ選好が示している場合、システムはステップ1130に進行することができる。別法として、すべてまたはいくつかの非TV−AVR要求がTV−AVRシステムのスピーカで再生されるべきであることをユーザ選好が示している場合、その時システムはステップ1120に進行することができる。
[0102]ステップ1130において、VCMDは、TV−AVRシステムのAV入力が適切な入力ポートに設定されているかどうか、すなわち、TV−AVRシステムのアクティブなAV入力が現在VCMDに接続されているAVポートに切り替えられているかどうかをテストする。例えば、VCMDがテレビの「HDMI(登録商標)_1」ポートに接続されている場合、VCMDは第1にTV−AVRシステムに問い合わせて現在アクティブなAV入力を識別する。「はい」の場合、ステップ1140で、VCMDはそのメディアプレイヤを一時停止して、現在TV−AVRシステムに送信されているコンテンツを一時停止することができる。
[0103]次に、ステップ1150で、VCMDは、要求された音声コンテンツをVCMDの内部スピーカで再生する。音声コンテンツは、ユーザの発話で具体的に言及されたコンテンツだけでなく、適切なTTS応答を含むこともできる。
[0104]ステップ1160で、要求された音声コンテンツの再生が終了すると、VCMDは、VCMDのメディアプレイヤの一時停止を解除することができ、元々再生されていたコンテンツを再開することができる。
[0105]一方、ステップ1130において、TV−AVRシステムのアクティブ入力ポートがVCMDに現在接続されているAVポートに現在設定されていないと決定された場合、ステップ1170で、VCMDはミュートコマンドをテレビに送信することができる。この場合、入力ポートはまだVCMDの入力ポートに設定されていないため、もしあればTV−AVRシステムで再生されている現在のコンテンツは、VCMDの内部ビデオプレイヤ以外のどこかから供給されていると想定される。この場合、コンテンツはVCMDによって一時停止できない可能性があるため、その代わりに、VCMDは、ユニバーサルリモコンと同様の赤外線通信チャネルを使用して、ミュートコマンドをTV−AVRシステムに送信することができる。例えば、ミュートコマンドは、図13を参照して以下に示され、説明される1つまたは複数のIR LEDから送信され得る。これは、図10を参照して上述したように、TV−AVRのスピーカをミュートすることができる。
[0106]次に、ステップ1180で、VCMDは、要求された音声コンテンツをVCMDの内部スピーカで再生する。音声コンテンツは、ユーザの発話で具体的に言及されたコンテンツだけでなく、適切なTTS応答を含むこともできる。
[0107]次に、ステップ1190で、VCMDは、例えば、IR通信チャネルを介して別のミュート解除コマンドを送信することにより、TV−AVRシステムをミュート解除することができる。
[0108]ステップ1120に戻ると、VCMDは、TV−AVRシステムのAV入力が上述のステップ1130のように適切な入力ポートに設定されているかどうかをテストする。「はい」の場合、ステップ1191で、VCMDはそのメディアプレイヤを一時停止して、現在TV−AVRシステムに送信されているコンテンツを一時停止することができる。
[0109]次に、ステップ1192で、VCMDは、要求された音声コンテンツをTV−AVRシステムのスピーカで再生する。音声コンテンツは、ユーザの発話で具体的に言及されたコンテンツだけでなく、適切なTTS応答を含むこともできる。
[0110]ステップ1193で、要求された音声コンテンツの再生が終了すると、VCMDは、VCMDのメディアプレイヤの一時停止を解除することができ、元々再生されていたコンテンツを再開することができる。
[0111]図12は、本開示の1つまたは複数の実施形態による、VCMD1200を概略的に示す様々な図である。斜視図1210に示されているように、VCMD1200は、箱状のハウジング1202を有することができる。具体的には、ハウジング1202は、デバイスの側面を形成し、ならびに上面および底面を形成する複数の側壁を有することができる。VCMD1200は、側壁のそれぞれを通って、およびいくつかの実施形態では、ハウジング1202の上面および底面を通って赤外線を放射するように構成された赤外光LEDのセットを含むことができる。他の実施形態は、異なるフォームファクタを有することができる。いくつかの実施形態では、VCMD1200は、耐水性コーティングで処理され得る。
[0112]VCMD1200は、ボタン、スイッチ、および他の制御デバイスなどの1つまたは複数の物理的制御を含むことができる。例えば、VCMD1200は、VCMD1200または接続されたデバイスのスピーカボリュームを制御するボリューム制御ボタン1212を含むことができる。VCMD1200は、アクションボタン1214、ミュートボタンまたはプライバシーボタン1216、および他のボタンを含むことができる。いくつかの実施形態では、VCMD1200は、ディスプレイまたは他の構成要素を含むことができる。
[0113]VCMD1200は、ハウジング1202内に配置された1つまたは複数のマイクロフォンによる周囲音の検出を容易にするために使用され得る1つまたは複数のマイクロフォン穴1218を含むことができる。
[0114]VCMD1200は、ライトバー構成要素1220を含むことができる。ライトバー構成要素1220は、光学的に透明または着色された細長い構成要素1222を含むことができ、それを通って1つまたは複数のLEDからの光を見ることができる。ライトバー構成要素1220は、VCMD1200の前側1230に配置され得る。例示された実施形態などのいくつかの実施形態では、ライトバー構成要素1220は、線状または直線であることができ、ハウジング1202の縁部1232に沿って配置され得る。したがって、細長い構成要素1222は、ハウジング1202に取り付けられるか、または一体化されてもよく、ハウジング1202の縁部を形成することができる。ライトバー構成要素1220は、VCMD1200によって検出された音の場所を示すように構成され得る。例えば、VCMD1200のマイクロフォンがVCMD1200の左側から来る音または声を検出する場合、VCMD1200の左側にある1つまたは複数のLEDを点灯させて、ユーザにVCMD1200の左側から音が検出されていることを示すことができる。ライトバー構成要素1220は、音または声が検出されている間に照明されるLEDを動的に変更することができ、また視覚的に情報をユーザに伝達するために使用され得る。例えば、処理中、ライトバー構成要素1220は、特定の照明状態を有することができ、デバイスがミュートにされている間、ライトバー構成要素1220は、異なる照明状態などを有することができる。ライトバー構成要素1220は、線状または直線のライトバー構成要素であることができ、かつユーザに可視であり得る。いくつかの実施形態では、ライトバー構成要素1220は、異なる縁部または表面に沿って他の場所に配置されてもよく、それぞれデバイスのハウジングに対して対角線上に、または別の配向で配置され得る。
[0115]VCMD1200の後側1240が、図12に示されている。VCMD1200の後側1240は、1つまたは複数のポート、入力、出力などを含むことができる。例えば、後側1240は、イーサネットポート、USB、またはマイクロUSB入力1242、電源入力ジャック1244、高解像度ビデオおよび音声を出力するように構成されたHDMI(登録商標)ポート1246、外部赤外線光ブラスタ接続ポート1248(例えば、赤外光センサ入力または出力ジャックなど)などを含むことができる。いくつかの実施形態では、VCMD1200は、充電式電池を含むことができる。
[0116]VCMD1200の底面1250は、底壁1252によって形成されることができ、ゴム足、滑り止め材料、およびデバイスを支持する他の構成要素などの構成要素を含むことができる。底壁1252は、VCMD1200の1つまたは複数のスピーカからの音出力を促進するためにスピーカ穴1254を含むことができる。
[0117]図13は、特定の実施形態によるVCMDの別の図を示す。ライトバー構成要素を含む内部構成要素アセンブリ1340は、ハウジング1300の内側に配置され得る。第1の赤外LED1350および第2の赤外LED1360は、ハウジング1300の壁を通って赤外光を放射するように構成され得る。したがって、側面発光LEDによって放射された光は、透明な細長い構成要素1310を通して見ることができる。
[0118]マイクロフォン回路基板1341は、1つまたは複数のマイクロフォンを含むことができる。例えば、8つのマイクロフォンが、マイクロフォン回路基板1341の第2の表面上に配置され得る。第1のマイクロフォン1370は、第1の方向に角度を調整することができる。第2のマイクロフォン1372は、第2の方向に角度を調整することができる。第3のマイクロフォン1374は第1の方向に角度を調整することができ、第4のマイクロフォン1376は第2の方向に角度を調整することができる。第5のマイクロフォン1378、第6のマイクロフォン1380、第7のマイクロフォン1382、および第8のマイクロフォン1384は、第3の方向に角度を調整することができる。マイクロフォンのセットは、列または異なる配置で配置され得る。マイクロフォンのセットは、音を検出し、音声信号を生成するために、また、マイクロフォンのいずれかによって捕捉された音の位置を検出するために使用され得る。
[0119]図4〜図11を参照して上記で説明したプロセスのいくつかまたはすべて(または本明細書で説明した他のプロセス、変形、および/またはそれらの組み合わせ)は、実行可能命令で構成された1つまたは複数のコンピュータシステムの制御下で実行され、コード(例えば、実行可能命令、1つまたは複数のコンピュータプログラム、または1つまたは複数のアプリケーション)として実行されることができ、ハードウェアまたはそれらの組み合わせによって、1つまたは複数のプロセッサで集合的に実行される。コードは、例えば、1つまたは複数のプロセッサによって実行可能な複数の命令を含むコンピュータプログラムの形態で、コンピュータ可読記憶媒体に格納され得る。コンピュータ可読記憶媒体は、非一時的であり得る。
[0120]図14は、本開示の1つまたは複数の例示的な実施形態によるVCMDの概略ブロック図である。VCMD1400は、サーバシステム、スマートフォン、タブレット、電子リーダー、ウェアラブルデバイスなどのモバイルデバイス、デスクトップコンピュータ、ラップトップコンピュータ、コンテンツストリーミングデバイス、セットトップボックス、スキャンデバイス、バーコードスキャンワンドなどを含むがこれらに限定されない任意の適切なコンピューティングデバイスを含むことができる。VCMD1400は、図1〜図3のVCMDデバイスの例示的なデバイス構成に対応することができる。
[0121]VCMD1400は、1つまたは複数のサーバ、ユーザデバイスなどと通信するように構成され得る。VCMD1400は、音声コマンドを決定し、ウェイクワード発話を決定し、他のデバイスおよび他の操作を決定および/または制御するように構成され得る。VCMD1400は、光を反射し、音を検出し、デジタルコンテンツを出力し、および他の機能を実行するように構成され得る。いくつかの実施形態では、単一のリモートサーバまたはリモートサーバの単一のグループは、バーコードスキャンデバイスと組み合わせて2つ以上のタイプの機能を実行するように構成され得る。
[0122]VCMD1400は、1つまたは複数のネットワークを介して通信するように構成され得る。そのようなネットワークは、限定されないが、例えば、ケーブルネットワーク、公衆ネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、フレーム中継ネットワーク)、ワイヤレスネットワーク、セルラネットワーク、電話ネットワーク(例えば、公衆交換電話網)、または他の任意の適切なプライベートまたは公衆パケット交換または回線交換ネットワークのような、任意の1つまたは複数の異なるタイプの通信ネットワークを含むことができる。さらに、そのようなネットワークは、それに関連する任意の適切な通信範囲を有することができ、例えば、グローバルネットワーク(例えば、インターネット)、メトロポリタンエリアネットワーク(MAN)、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、またはパーソナルエリアネットワーク(PAN)を含むことができる。加えて、そのようなネットワークは、同軸ケーブル、ツイストペア線(例えば、ツイストペア銅線)、光ファイバ、ハイブリッドファイバ同軸(HFC)媒体、マイクロ波媒体、無線周波数通信媒体、衛星通信媒体、またはそれらの任意の組み合わせを含むがこれらに限定されない任意の適切なタイプの媒体によってネットワークトラフィックを送信するための通信リンクおよび関連するネットワークデバイス(例えば、リンク層スイッチ、ルータなど)を含むことができる。
[0123]例示的な構成では、VCMD1400は、1つまたは複数のメモリデバイス1404(本明細書ではメモリ1404とも呼ばれる)、1つまたは複数の入力/出力(I/O)インターフェース1406、1つまたは複数のネットワークインターフェース1408、1つまたは複数のセンサまたはセンサインターフェース1410、1つまたは複数のトランシーバ1412、1つまたは複数の任意選択のカメラ1414、1つまたは複数の任意選択のマイクロフォン1416、およびデータ記憶1420を含むことができる。VCMD1400は、VCMD1400の様々な構成要素を機能的に結合する1つまたは複数のバス1418をさらに含むことができる。VCMD1400は、セルラーネットワークインフラストラクチャに信号を送信し、またはセルラーネットワークインフラストラクチャから信号を受信するためのセルラーアンテナ、アクセスポイント(AP)からWi−Fi信号を送信し、またはアクセスポイント(AP)からWi−Fi信号を受信するためのアンテナを含み得るが、これらに限定されない1つまたは複数のアンテナ1434、グローバルナビゲーション衛星システム(GNSS)衛星からGNSS信号を受信するためのGNSSアンテナ、Bluetooth信号を送信または受信するためのBluetoothアンテナ、近距離無線通信(NFC)信号を送信または受信するためのNFCアンテナなどをさらに含むことができる。これらの様々な構成要素は、以下でより詳細に説明される。
[0124]バス1418は、システムバス、メモリバス、アドレスバス、またはメッセージバスのうちの少なくとも1つを含むことができ、情報(例えば、データ(コンピュータ実行可能コードを含む)、シグナリングなど)の交換をVCMD1400の様々な構成要素間で可能にする。バス1418は、限定はしないが、メモリバスまたはメモリコントローラ、周辺バス、加速グラフィックスポートなどを含むことができる。バス1418は、業界標準アーキテクチャ(ISA)、マイクロチャネルアーキテクチャ(MCA)、拡張ISA(EISA)、ビデオエレクトロニクス標準協会(VESA)アーキテクチャ、加速グラフィックスポート(AGP)アーキテクチャ、周辺構成要素相互接続(PCI)アーキテクチャ、PCIイクスプレスアーキテクチャ、パーソナルコンピュータメモリカード国際協会(PCMCIA)アーキテクチャ、ユニバーサルシリアルバス(USB)アーキテクチャなどを含むがこれらに限定されない、任意の適切なバスアーキテクチャに関連付けることができる。
[0125]VCMD1400のメモリ1404は、ランダムアクセスメモリ(RAM)などの揮発性メモリ(電力が供給されている場合にその状態を維持するメモリ)および/または読み取り専用メモリ(ROM)、フラッシュメモリ、強誘電体RAM(FRAM(登録商標))などの不揮発性メモリ(電力が供給されない場合でもその状態を維持するメモリ)を含むことができる。永続的データ記憶は、その用語が本明細書で使用される場合、不揮発性メモリを含むことができる。特定の例示的な実施形態では、揮発性メモリは、不揮発性メモリよりも高速な読み取り/書き込みアクセスを可能にすることができる。しかしながら、特定の他の例示的な実施形態では、特定のタイプの不揮発性メモリ(例えば、FRAM(登録商標))は、特定のタイプの揮発性メモリよりも高速の読み取り/書き込みアクセスを可能にすることができる。
[0126]様々な実施では、メモリ1404は、様々なタイプのスタティックランダムアクセスメモリ(SRAM)、様々なタイプのダイナミックランダムアクセスメモリ(DRAM)、様々なタイプの変更不可能なROM、および/または電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、フラッシュメモリなどの様々な書き込み可能なROMなどの複数の様々なタイプのメモリを含むことができる。メモリ1404は、メインメモリ、ならびに命令キャッシュ(複数可)、データキャッシュ(複数可)、変換索引バッファ(TLB)などの様々な形態のキャッシュメモリを含むことができる。さらに、データキャッシュなどのキャッシュメモリは、1つまたは複数のキャッシュレベル(L1、L2など)の階層として編成されたマルチレベルキャッシュであり得る。
[0127]データ記憶1420は、磁気記憶、光ディスク記憶、および/またはテープ記憶を含むが、これらに限定されないリムーバブル記憶および/または非リムーバブル記憶を含むことができる。データ記憶1420は、コンピュータ実行可能命令および他のデータの不揮発性記憶を提供することができる。リムーバブルおよび/または非リムーバブルのメモリ1404およびデータ記憶1420は、その用語が本明細書で使用される場合、コンピュータ可読記憶媒体(CRSM)の例である。
[0128]データ記憶1420は、メモリ1404にロード可能であり、プロセッサ1402によって実行可能であって、プロセッサ1402に様々な動作を実行または開始させることができるコンピュータ実行可能コード、命令などを格納することができる。加えて、データ記憶1420は、コンピュータ実行可能命令の実行中にプロセッサ1402によって使用するためにメモリ1404にコピーされ得るデータを格納することができる。さらに、プロセッサ1402によるコンピュータ実行可能命令の実行の結果として生成された出力データは、最初にメモリ1404に格納されることができ、最終的に不揮発性記憶のためにデータ記憶1420にコピーされ得る。
[0129]より具体的には、データ記憶1420は、1つまたは複数のオペレーティングシステム(O/S)1422、1つまたは複数のデータベース管理システム(DBMS)1424、および1つまたは複数のプログラムモジュール、アプリケーション、エンジン、コンピュータ実行可能コード、スクリプトなど、例えば、1つまたは複数の音検出モジュール1426、1つまたは複数の通信モジュール1428、1つまたは複数のライトバー制御モジュール1430、および/または1つまたは複数の遠隔制御モジュール1432を格納することができる。これらのモジュールの一部またはすべてがサブモジュールである可能性がある。データ記憶1420に格納されているものとして示されている任意の構成要素は、ソフトウェア、ファームウェア、および/またはハードウェアの任意の組み合わせを含むことができる。ソフトウェアおよび/またはファームウェアは、プロセッサ1402のうちの1つまたは複数による実行のためにメモリ1404にロードされ得るコンピュータ実行可能コード、命令などを含むことができる。データ記憶1420に格納されているものとして示されている構成要素のいずれも、本開示で上記に挙げた、対応する構成要素を参照して説明した機能をサポートすることができる。
[0130]データ記憶1420は、VCMD1400の構成要素によって利用される様々なタイプのデータをさらに格納することができる。データ記憶1420に格納された任意のデータは、コンピュータ実行可能コードを実行する際にプロセッサ1402によって使用するために、メモリ1404にロードされ得る。加えて、データ記憶1420に格納されているように示されている任意のデータは、1つまたは複数のデータストアに潜在的に格納されることができ、DBMS1424を介してアクセスされることができ、コンピュータ実行可能コードを実行する際にプロセッサ1402によって使用されるために、メモリ1404にロードされ得る。データストアは、データベース(例えば、リレーショナル、オブジェクト指向など)、ファイルシステム、フラットファイル、コンピュータネットワークの2つ以上のノードにデータが格納されている分散データストア、ピアツーピアネットワークデータストアなどを含むが、これらに限定されない。図14では、例示的なデータストアは、例えば、以前に識別された製品の履歴データ、購入または注文履歴、ユーザプロファイル情報、および/または他の情報を含むことができる。
[0131]プロセッサ1402は、メモリ1404にアクセスし、そこにロードされたコンピュータ実行可能命令を実行するように構成され得る。例えば、プロセッサ1402は、VCMD1400の様々なプログラムモジュール、アプリケーション、エンジンなどのコンピュータ実行可能命令を実行して、本開示の1つまたは複数の実施形態に従って様々な動作を実施させ、または実施を促進するように構成され得る。プロセッサ(単数または複数)1402は、データを入力として受け入れ、格納されたコンピュータ実行可能命令に従って入力データを処理し、出力データを生成することができる任意の適切な処理ユニットを含むことができる。プロセッサ(単数または複数)1402は、中央処理装置、マイクロプロセッサ、縮小命令セットコンピュータ(RISC)マイクロプロセッサ、複合命令セットコンピュータ(CISC)マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、システムオンチップ(SoC)、デジタルシグナルプロセッサ(DSP)などを含むがこれらに限定されない任意のタイプの適切な処理ユニットを含むことができる。さらに、プロセッサ1402は、例えば、レジスタ、マルチプレクサ、演算論理装置、キャッシュメモリへの読み取り/書き込み操作を制御するためのキャッシュコントローラ、分岐予測器など、任意の数の構成要素を含む任意の適切なマイクロアーキテクチャ設計を有することができる。プロセッサ1402のマイクロアーキテクチャ設計は、様々な命令セットのいずれかをサポートすることが可能であり得る。
[0132]ここで、図14に示す様々なプログラムモジュールによってサポートされる機能を参照すると、音検出モジュール1426は、1つまたは複数のプロセッサ1402(複数)による実行に応答して、限定されないが、音の検出、音の意味の決定、音声信号および音声データの生成、音の場所の決定などを含む機能を実行することができるコンピュータ実行可能命令、コードなどを含むことができる。
[0133]通信モジュール1428は、1つまたは複数のプロセッサ1402による実行に応答して、コンテンツを含むデータの送信および/または受信、命令とコマンドなどの送信および/または受信などを含むが、これに限定されない機能を実行することができるコンピュータ実行可能な命令、コードなどを含むことができる。ライトバー制御モジュール1430は、1つまたは複数のプロセッサ1402による実行に応答して、ライトバー照明状態の決定、照明するLEDの決定、照明状態の変更などを含むが、これに限定されない機能を実行することができるコンピュータ実行可能命令、コードなどを含むことができる。
[0134]遠隔制御モジュール1432は、1つまたは複数のプロセッサ1402による実行に応答して、他の電子デバイスの制御、赤外線信号の送信、デジタル音声またはビデオ信号の送信または出力などを含むが、これに限定されない機能を実行することができるコンピュータ実行可能命令、コードなどを含むことができる。
[0135]次に、データ記憶1420に格納されているものとして示されている他の例示的な構成要素を参照すると、O/S1422はデータ記憶1420からメモリ1404にロードされることができ、VCMD1400で実行されている他のアプリケーションソフトウェアとVCMD1400のハードウェアリソースとの間のインターフェースを提供することができる。より具体的には、O/S1422は、VCMD1400のハードウェアリソースを管理し、他のアプリケーションプログラムに共通のサービスを提供するための(例えば、様々なアプリケーションプログラム間のメモリ割り当ての管理)コンピュータ実行可能命令のセットを含むことができる。特定の例示的な実施形態では、O/S1422は、他のプログラムモジュールの実行を制御することができる。O/S1422には、現在知られている、または将来開発される可能性のあるすべてのオペレーティングシステムを含むことができ、限定されないが、これには、サーバオペレーティングシステム、メインフレームオペレーティングシステム、またはその他の専有または非専有のオペレーティングシステムが含まれる。
[0136]DBMS1424は、メモリ1404にロードされることができ、メモリ1404に格納されたデータおよび/またはデータ記憶1420に格納されたデータにアクセス、検索、格納、および/または操作する機能をサポートすることができる。DBMS1424は、様々なデータベースモデル(例えば、リレーショナルモデル、オブジェクトモデルなど)のいずれかを使用することができ、様々なクエリ言語のいずれかをサポートすることができる。DBMS1424は、1つまたは複数のデータスキーマで表され、データベース(例えば、リレーショナル、オブジェクト指向など)、ファイルシステム、フラットファイル、コンピュータネットワークの2つ以上のノードにデータが格納されている分散データストア、ピアツーピアネットワークデータストアなどを含むが、これらに限定されない任意の適切なデータレポジトリの中に格納されるデータにアクセスできる。VCMD1400がモバイルデバイスであるこれらの例示的な実施形態では、DBMS1424は、モバイルデバイスでのパフォーマンスのために最適化された任意の適切な軽量DBMSであることができる。
[0137]ここで、VCMD1400の他の例示的な構成要素を参照すると、入力/出力(I/O)インターフェース1406は、1つまたは複数のI/OデバイスからのVCMD1400による入力情報、ならびにVCMD1400から1つまたは複数のI/Oデバイスへの出力情報の受信を促進することができる。I/Oデバイスは、タッチ表面またはタッチスクリーンを有するディスプレイまたはディスプレイスクリーン、スピーカなど、音を出すための音声出力デバイス、マイクロフォンなどの音声捕捉デバイス、カメラなどの画像および/またはビデオ捕捉デバイス、触覚ユニットなどの様々な構成要素のいずれかを含むことができる。これらの構成要素はいずれもVCMD1400に統合することも、別個にすることもできる。I/Oデバイスは、例えば、データ記憶デバイス、印刷デバイスなどのような任意の数の周辺デバイスをさらに含むことができる。
[0138]I/Oインターフェース1406は、ユニバーサルシリアルバス(USB)、FireWire、Thunderbolt、イーサネットポート、あるいは1つまたは複数のネットワークに接続することができる他の接続プロトコルなどの外部周辺デバイス接続のためのインターフェースを含むこともできる。I/Oインターフェース1406は、ワイヤレスローカルエリアネットワーク(WLAN)(Wi−Fiなど)無線、Bluetooth、ZigBee、および/またはロングタームエボリューション(LTE)ネットワーク、WiMAXネットワーク、3Gネットワーク、ZigBeeネットワークなどの無線通信ネットワークと通信可能な無線などのワイヤレスネットワーク無線を介して、1つまたは複数のネットワークに接続するための1つまたは複数のアンテナ1434への接続もまた含むことができる。
[0139]VCMD1400は、1つまたは複数のネットワークインターフェース1408をさらに含むことができ、それを介してVCMD1400が様々な他のシステム、プラットフォーム、ネットワーク、デバイスなどのいずれかと通信することができる。ネットワークインターフェース1408は、例えば、1つまたは複数のネットワークを介して、1つまたは複数のワイヤレスルータ、1つまたは複数のホストサーバ、1つまたは複数のウェブサーバなどとの通信を可能にすることができる。
[0140]アンテナ(単数または複数)1434は、例えば、アンテナ(単数または複数)1434を介して、信号を送信または受信するために使用される通信プロトコルに応じて、任意の適切なタイプのアンテナを含むことができる。適切なアンテナの非限定的な例は、指向性アンテナ、非指向性アンテナ、ダイポールアンテナ、折り返しダイポールアンテナ、パッチアンテナ、マルチ入力マルチ出力(MIMO)アンテナなどを含むことができる。アンテナ(単数または複数)1434は、信号が送信または受信され得る1つまたは複数のトランシーバ1412または無線構成要素に通信可能に接続され得る。
[0141]前述のように、アンテナ(単数または複数)1434は、移動通信用グローバルシステム(GSM)、3G標準(例えば、ユニバーサル移動体通信システム(UMTS)、広帯域符号分割多元接続(W−CDMA)、CDMA2000など)、4G標準(例えば、ロングタームエボリューション(LTE)、WiMaxなど)、直接衛星通信など、確立された標準およびプロトコルに従って、信号を送信または受信するように構成された携帯電話用アンテナを含むことができる。
[0142]アンテナ(単数または複数)1434は、追加的に、または別法として、2.4GHzチャネル(例えば、802.11b、802.11g、802.11n)、5GHzチャネル(例えば、802.11n、802.11acなど)、または60GHzチャネル(例えば、802.11ad)を介することを含むIEEE802.11規格ファミリなどの確立された規格およびプロトコルに従って、信号を送信または受信するように構成されるWi−Fiアンテナを含むことができる。代替の例示的な実施形態では、アンテナ(単数または複数)1434は、無線スペクトルの無認可部分の一部を形成する任意の適切な周波数範囲内で無線周波数信号を送信または受信するように構成され得る。
[0143]アンテナ(単数または複数)1434は、時間位置情報を運ぶ3つ以上のGNSS衛星からGNSS信号を受信して、そこから位置を三角測量するように構成されたGNSSアンテナを追加的に、または別法として含むことができる。そのようなGNSSアンテナは、例えば、全地球測位システム(GPS)、GLONASSシステム、コンパス航法システム、ガリレオシステム、またはインド地域航法システムなど、任意の現在の、または計画されたGNSSからGNSS信号を受信するように構成され得る。
[0144]トランシーバ(単数または複数)1412は、アンテナ(単数または複数)1434と協働して、他のデバイスと通信するためのVCMD1400によって利用される通信プロトコルに対応する帯域幅および/またはチャネルで無線周波数(RF)信号を送信または受信するための任意の適切な無線構成要素を含むことができる。トランシーバ1412は、アンテナ1434のいずれかと潜在的に協働して、限定されないが、IEEE802.11標準で標準化されている1つまたは複数のWi−Fiおよび/またはWi−Fiダイレクトプロトコル、1つまたは複数の非Wi−Fiプロトコル、あるいは1つまたは複数のセルラー通信プロトコルまたは標準を含む、上記に考察される任意の通信プロトコルに従って、通信信号を変調、送信、または受信するためのハードウェア、ソフトウェア、および/またはファームウェアを含むことができる。トランシーバ1412は、GNSS信号を受信するためのハードウェア、ファームウェア、またはソフトウェアをさらに含むことができる。トランシーバ1412は、VCMD1400によって利用される通信プロトコルを介して通信するのに適した任意の既知の受信機およびベースバンドを含むことができる。トランシーバ1412は、低雑音増幅器(LNA)、追加の信号増幅器、アナログデジタル(AID)変換器、1つまたは複数のバッファ、デジタルベースバンドなどをさらに含むことができる。
[0145]センサ/センサインターフェース1410は、例えば、慣性センサ、力センサ、熱センサ、フォトセルなどの任意の適切なタイプの検知デバイスを含むことができ、またはそれらとインターフェースで接続することが可能であり得る。慣性センサの例示的なタイプは、加速度計(例えば、MEMSベースの加速度計)、ジャイロスコープなどを含むことができる。
[0146]カメラ1414は、周囲光または画像を捕捉するように構成された任意のデバイスであり得る。マイクロフォン1416は、アナログ音声入力または音声データを受信するように構成された任意のデバイスであり得る。
[0147]データ記憶1420に格納されるものとして図14に示されるプログラムモジュール、アプリケーション、コンピュータ実行可能命令、コードなどは、単なる例示であり、網羅的ではなく、任意の特定のモジュールによってサポートされると記載されるその処理は、別法として、複数のモジュールにわたって分散され、または異なるモジュールによって実行され得ることを理解されたい。加えて、様々なプログラムモジュール、スクリプト、プラグイン、アプリケーションプログラミングインターフェース(API)、またはVCMD1400でローカルにホストされ、および/または1つまたは複数のネットワークを介してアクセス可能な他のコンピューティングデバイス上でホストされるその他の適切なコンピュータ実行可能コードは、図14に示すプログラムモジュール、アプリケーション、またはコンピュータ実行可能コード、および/または追加的または代替的機能によって提供される機能をサポートするために提供され得る。さらに、機能は、異なってモジュール化されて、図14に示されるプログラムモジュールの集合によって集合的にサポートされると説明された処理が、より少ないまたはより多い数のモジュールによって実施可能であり、あるいは特定のモジュールによってサポートされると説明された機能は、少なくとも一部は別のモジュールによってサポートされ得る。加えて、本明細書で説明する機能をサポートするプログラムモジュールは、例えば、クライアントサーバモデル、ピアツーピアモデルなどの適切なコンピューティングモデルに従って、任意の数のシステムまたはデバイスにわたって実行可能な1つまたは複数のアプリケーションの一部を形成することができる。加えて、図14に示されるプログラムモジュールのいずれかによってサポートされるとして説明される機能のいずれかは、任意の数のデバイスにわたってハードウェアおよび/またはファームウェアで、少なくとも部分的に実行され得る。
[0148]VCMD1400は、本開示の範囲から逸脱することなく、説明または図示されたものを超える代替および/または追加のハードウェア、ソフトウェア、またはファームウェア構成要素を含み得ることをさらに理解されたい。より具体的には、VCMD1400の一部を形成するものとして示されるソフトウェア、ファームウェア、またはハードウェア構成要素は単なる例示であり、いくつかの構成要素が存在しないか、または様々な実施形態で追加の構成要素が提供され得ることを理解されたい。様々な例示的なプログラムモジュールがデータ記憶1420に格納されたソフトウェアモジュールとして示され、説明されたが、プログラムモジュールによってサポートされると説明された機能は、ハードウェア、ソフトウェア、および/またはファームウェアの任意の組み合わせによって有効にできることを理解されたい。上述のモジュールのそれぞれは、様々な実施形態において、サポートされている機能の論理区画を表すことができることをさらに理解されたい。この論理区画は、機能の説明を簡単にするために表現されており、機能を実施するためのソフトウェア、ハードウェア、および/またはファームウェアの構造を表していない可能性がある。したがって、特定のモジュールによって提供されるものとして説明された機能は、様々な実施形態において、少なくとも部分的には1つまたは複数の他のモジュールによって提供され得ることを理解されたい。さらに、1つまたは複数の図示されたモジュールが特定の実施形態に存在しない可能性があり、一方、他の実施形態では、図示されていない追加モジュールが存在し、説明した機能および/または追加機能の少なくとも一部をサポートすることができる。さらに、特定のモジュールは別のモジュールのサブモジュールとして図示および説明され得るが、特定の実施形態では、そのようなモジュールは、独立したモジュールとして、または他のモジュールのサブモジュールとして提供され得る。
[0149]図1〜図7の方法、プロセスフロー、および使用事例の1つまたは複数の動作は、図14に図示される例示的な構成を有するデバイスによって、またはより具体的には、1つまたは複数のエンジン、プログラムモジュール、アプリケーション、またはそのようなデバイスで実行可能なものによって実行され得る。しかしながら、そのような動作は、多数の他のデバイス構成に関連して実施され得ることを理解されたい。
[0150]図15は、特定の実施形態によるTV−AVR状態モニタが可能なVCMD1500を示す。より具体的には、VCMD1500は、本明細書ではサブ可聴チャネル監視(SCM)と呼ばれるプロセスを採用するように構成されている。SCMは、接続されたTV−AVRシステムの状態、例えば、VCMD1500がTV−AVRシステム1503にフォーカスされているかどうか、およびTV−AVRシステムのボリュームが可聴レベルに設定されているかどうかを決定するために、例えば、図3に示されるVCMD300などのVCMDによって使用され得るプロセスである。特定の実施形態によれば、SCMを採用するVCMDは、白色雑音のように聞こえる擬似ランダム音声信号などのサブ可聴プローブ信号を、TV−AVRシステムの1つまたは複数のスピーカから再生させることができる。次に、VCMDは、例えば内部マイクロフォンシステム1513などの1つまたは複数の内部マイクロフォンを使用して、プローブ信号のサブ可聴音シグネチャを検出することができる。SCMを採用することができるVCMDシステムをさらに説明するために、図15は、明確にするためにSCM関連システムブロックのみが示され、他のすべてのシステムブロックが除去されているVCMD1500を示す。完全なVCMDの例は、図3を参照して上述されている。
[0151]特定の実施形態によれば、SCMモジュール1519は、デバイスコントローラ1525の一部であり得る。SCMモジュール1519は、図3を参照して上記で最初に紹介された状態モニタ319の一実施形態である。デュアルモードコントローラ1521およびデバイスコントローラ1525の両方は、音声対話マネージャ(図示せず)、および最終的には音声認識サービス(図示せず)に接続することができ、図3〜図11を参照して上記でより詳細に説明される。VCMD1500は、例えば、HDMI(登録商標)ケーブルなどのような電気的相互接続1523を介して、TV−AVRシステム1503のAVポート1529に接続することができるAVポート1501を含む。VCMD1500は、例えば、図3を参照して上述された方法で、VCMDの近くの周囲音を検出することができる内部マイクロフォンシステム1513をさらに含む。
[0152]いくつかの実施形態では、SCMモジュール1519上で実行されるSCMプロセスは、TV−AVRシステムの状態を、例えば毎秒数回など自動的に、反復的および/または同期的に監視することができる。いくつかの実施形態では、SCMプロセスは、非同期的に動作することができ、例えば、SCMプロセスは、SCMモジュール1519に送信されるコマンドによって開始され得る。例えば、ウェイクワードのVCMD1500による検出に応答して、デュアルモードコントローラ1521は、SCMモジュール1519にコマンドを送信して、SCMプロセスを開始することができる。同期的または非同期的に動作するかどうかにかかわらず、SCMモジュール1519が電気的相互接続1523を介してSCMプローブ信号を生成および送信すると、SCMが開始する。
[0153]プローブ信号は、例えば、HDMI(登録商標)接続を介して送信される電気信号、無線接続を介して送信される無線信号、または任意の有線または無線接続を使用して送信される任意の他の適切な信号であり得る。一例では、SCMモジュール1519は、例えば非圧縮PCM音声などの音声データとしてプローブ信号を生成でき、例えばHDMI(登録商標)仕様に含まれるものなどのデジタル音声データ転送プロトコルを使用して、利用可能な音声チャネルを介して音声データを送信できる。音声スピーカの現在の出力符号化が既知である場合、PCM音声を使用するのではなく、SCMモジュールは、例えば、ドルビー符号化された音声など、適切に符号化された音声信号を生成できる。
[0154]プローブ信号は、TV−AVRスピーカ1533によって出力される所定の波形を含むことができる。例えば、プローブ信号は、擬似ランダム音声信号を含むことができ、これは、ユーザにとって、TV−AVRスピーカ1533から再生される場合、白色雑音のように聞こえる。特定の実施形態によれば、プローブ信号は、最大長シーケンス(MLS)などの擬似ランダムビットシーケンスを含むことができる。
[0155]内部マイクロフォンシステム1513は、室内の周囲音を検出し、SCMモジュール1519に提供される対応するマイクロフォン信号を生成することができる。図16を参照して以下でさらに詳細に説明するように、SCMモジュール1519は、対応するマイクロフォン信号を処理して、所定の波形が室内の周囲音の中の何らかの検出可能なレベルで存在するかどうかを決定することができる。そうである場合、SCMモジュール1519は、デュアルモードコントローラ1521に、TV−AVR状態、例えば、TV_STATE=ONまたはTV_STATE=OFFを通知することができる。加えて、SCMモジュール1519は、TV−AVRシステムの様々な構成要素の1つまたは複数の統計値を記述する全体的なTV−AVR System_Contextの一部として、TV−AVRをメモリに格納することができる。
[0156]図15では、少なくとも1つのAVポート1529、スピーカコントローラ1532、およびTV−AVRスピーカ1533を含むTV−AVRシステムの一般化された形態が示されている。AVポート1501と同様に、AVポート1529は、例えば、光学音声、HDMI(登録商標)、DVI、DisplayPort、VGAなどの任意のタイプの音声またはマルチメディア相互接続に関連する任意のポートであり得る。スピーカコントローラ1532は、AVポート1529で受信された信号を受け取り、出力音声1535をTV−AVRスピーカ1533によって再生させるための回路およびソフトウェアを含む。TV−AVRシステム1503は、図3を参照して上記で既に述べたように、複雑さを回避するために簡略化したブロック図として図15に示されているが、TV−AVRシステムは任意の形態を取ることができる。例えば、VCMD1500は、内部スピーカのみを有するTV、外部スピーカまたはサウンドバーに接続されたTVに直接接続されることができ、あるいは、1つまたは複数の外部スピーカにVCMD1500自体が接続されているAVRを介して、テレビに間接的に接続され得る。したがって、本開示の範囲から逸脱することなく、任意のTV−AVRトポロジが可能である。
[0157]図16は、1つまたは複数の実施形態によるSCMモジュール1600の例示的な例を示し、例えば、SCMモジュール1600は、図15を参照して上述した例えばSCMモジュール1519などのSCMモジュールの追加の内部詳細を示す。SCMモジュール1600は、信号検出器1601、再生コントローラ1603、および再生サブシステム1605を含む。図15を参照して上述したように、SCMモジュール1600は、プローブ信号音1635をTV−AVRスピーカ1607から出力させるように、TV−AVRスピーカ1607に接続され得る。特定の実施形態によれば、プローブ信号音1635を生成するための所定のプローブ信号音声データは、SCMモジュール1600の任意のサブ構成要素内に配置されるか、またはそれに動作可能に接続される非一時的コンピュータ可読メモリに格納されることができ、またはさらにはSCMモジュール1600の外に配置されるメモリに格納され得る。別法として、メモリサイズを削減するために、SCMプロセスがトリガーされるたびにプローブ信号音声が再生成され得る。
[0158]マイクロフォンシステム1609は、周囲の部屋のノイズを含むマイクロフォン信号を検出でき、TV−AVRシステムの状態に応じて、検出可能なレベルのプローブ信号音1635を含む場合があり、または含まない場合がある。信号検出器1601は、ベクトル命令セットの有無にかかわらず中央処理装置、1つまたは複数のデジタル信号プロセッサ(DSP)、1つまたは複数のARMチップまたはグラフィック処理装置GPUなどを含む一般化された計算が可能な1つまたは複数のプロセッサを含むことができ、これらは、元のプローブ信号および検出されたマイクロフォン信号を使用して相互相関測定プロセスを実行するようにプログラムされている。図14は、SCMモジュール1600の1つまたは複数のシステム構成要素のために採用され得るハードウェアの追加の説明を提供する。信号検出器1601のハードウェアは、マイクロフォン信号に対して信号処理を実行して、図17を参照して以下でさらに詳細に説明するように、マイクロフォン信号内のプローブ信号の電力レベルを決定するようにプログラムされる。決定された電力レベルに基づいて、信号検出器1601は、他のシステムブロックによって、例えば、図15を参照して上述したようなデュアルモードコントローラまたはデバイスコントローラによって使用されるTV−AVR状態の表示を出力することができる。
[0159]いくつかの実施形態では、図18を参照して以下でさらに詳細に説明するように、SCMモジュール1600は、フィードバックループ内で動作して、プローブ信号のボリュームを制御し、正確なTV−AVR状態検出の可能性を改善することができ、一方で不快なユーザ体験を回避するために、プローブ信号のボリュームは可聴レベルを下回る状態にとどまることを保証することもできる。
[0160]フィードバックループの一例では、信号検出器1601がマイクロフォン信号内のプローブ信号の存在を検出しない場合、それは、1)TV−AVRシステムが電源オフ(より一般的には「フォーカスされていない状態」)である、または2)TVは電源オン状態であるが、プローブ信号のボリュームが小さすぎて検出できない、という2つの可能な状況が原因である可能性がある。2)の場合、信号検出器1601は、プローブ信号が検出されなかったという表示を再生コントローラ1603に送信することができる。それに応答して、再生コントローラ1603は、TV−AVRシステムに出力される前に、プローブ信号の利得を増加させるために、再生サブシステムにコマンドを送信することができる。
[0161]SCMモジュール1600で採用されている利得係数がTV−AVRスピーカ1607からの既知のサウンド出力レベルに対応するように適切に較正されていることを保証するために、VCMDはセットアップ中に、セットアッププロセスの一部としてのボリューム較正手順を自動的に実行する(またはユーザに実行するように誘導する)ことができる。ボリューム較正プロセスは、TV−AVRシステムボリュームの様々な値のプローブボリュームを測定できる。システムを完全に特徴付け、したがって様々なTVボリュームレベルおよび様々な利得係数に対する出力プローブのサウンドレベルを知るために、VCMDは、セットアップ中に、利得係数/プローブレベルの様々な値に対して図17に示すような曲線をサンプリングできる較正手順を実行できる。より具体的には、図17は、一般的に入手可能な家庭用テレビを使用して、フルスケールより34.5dB低いレベル(−34.5dBfs)を有する白色雑音プローブを使用するTVボリューム(0〜100%)の関数としてのTVスピーカ音圧レベル(SPL)の測定のテスト結果を示す。
[0162]いくつかの実施形態では、完全な較正曲線をサンプリングする必要はないが、代わりに、プローブ信号のボリュームが、ユーザの知覚の閾値より高いデシベルレベルを超えないように、再生コントローラ1603によってアクセス可能なメモリ内に最大利得閾値が格納され得る。静かな家の騒音レベルは約40dB SPLであり、一般的な会議室の騒音レベルは約50dB SPLである。さらに、点音源の音圧レベルが部屋の騒音レベルよりも約20dB低い、または高い場合、1メートル離れた場所にいる人間によって白色雑音の点音源が検出されることができ、すなわち一般的な家屋内の静かな室内で人間が検出するための閾値は約20dB SPLである。図17で測定されたシステムについて、プローブ信号(−34.5dBfsの利得を有する)は、約12%のTVボリューム設定で検出可能(可聴)になる可能性がある。したがって、スピーカから1メートル離れた場所にいるユーザによる検出を避けるために、−35.5dBfsよりはるかに低いプローブ利得レベルが使用されるべきである。追加のテストでは、−90dBfsのプローブ利得により、100%のテレビボリュームで約27dB SPLのプローブレベルが測定される結果になることが示された。したがって、ユーザがボリューム設定の下限でのみボリュームレベルを使用することが想定されている場合は、−90dBfsのプローブ利得が使用され得る。例えば、図17に示されるデータをもたらした試験では、TVの増幅は、20%のボリュームで約45dB減少する。このレベルでは、最大ボリュームで27dB SPLであったプローブ信号が、ここで−18dB SPLに減少する。ただし、すべてのボリュームレベルでプローブ信号が聞こえないことを保証するには、−90dBfs未満のプローブ利得が使用され得る。SCMモジュールの追加の実証的研究では、約40dB SPLで自己雑音を示すマイクロフォンを使用しても、プローブ信号レベルが−18dB SPLという低いプローブサウンドレベルでプローブ信号は検出され得ることを示した。したがって、特定の実施形態によれば、プローブ信号の最大利得閾値を設定して、約−18dB SPLより高いが、一般的なTVモデルの最大TVボリュームの範囲にわたって20dB SPLを超えないプローブレベルを生成するように設定され得る(ソースTVスピーカから1メートルの距離で測定)。いくつかの実施形態では、最大利得閾値は、プローブレベルが15dB SPL以下であることを保証するように設定され得る。
[0163]図18は、本開示の例によるSCMのためのプロセスを概念的に示すフローチャートである。例えば、VCMD300などのVCMDは、図15〜図16を参照して上述したように、SCMモジュール1519および1600などの1つまたは複数のSCMモジュールを含むことができる状態モニタ319を採用することができる。
[0164]ステップ1810において、VCMDは、ユーザによる可聴検出のための利得閾値を下回る第1の利得レベルを有する電気信号を生成することができる。いくつかの実施形態では、電気信号は、擬似ランダム数列などの所定の波形を含むことができる。例えば、再生コントローラ1603は、MLSに対応するPCM音声を生成することができる。いくつかの実施形態では、プローブ信号は、広帯域信号、例えば、12〜24kHzのより高い周波数の帯域制限信号、例えば、0〜100Hzの低周波数の帯域制限信号、または重み付き周波数応答を有する広帯域信号であり得る。いくつかの実施形態では、プローブ信号は、スピーカから出力される場合、白色雑音に似ている任意の信号または所定の波形であり得る。
[0165]ステップ1820において、電気信号は、例えば、HDMI(登録商標)接続によって、TV−AVRシステムのディスプレイに動作可能に結合されている1つまたは複数のスピーカに送信される。特定の実施形態によれば、電気信号の受信に応答して、1つまたは複数のスピーカは、電気信号(例えば、MLS)の所定の波形に対応する音声信号を発することができる。いくつかの実施形態では、プローブ信号は、スピーカから、白色騒音のような音であり得るプローブ音声信号を生成するために使用され得る。
[0166]ステップ1830において、マイクロフォンは、周囲騒音とプローブ音声信号との組み合わせを含む音声信号を検出する。周囲騒音は、VCMDのローカル環境(VCMDが配置されている部屋など)からの任意の背景雑音を含むことができる。VCMDの内部マイクロフォンによって検出された音声信号は、本明細書ではマイクロフォン信号とも呼ばれる。簡潔にするために、ローカル環境は本明細書では部屋と呼ばれるが、任意のローカル環境であることができる。図16を参照して上述したように、検出された音声信号は、図16を参照して上述したように、信号検出器、例えば、SCMモジュール1600の信号検出器1601によってさらに処理され得る電気信号である。
[0167]相互相関は、本開示の範囲から逸脱することなく任意の方法で計算することができるが、図18は、相互相関が周波数領域で計算される一例を示す。したがって、ステップ1840では、フーリエ変換された電気信号が計算され、ステップ1850では、フーリエ変換された音声信号が計算される。この開示の利点を有する当業者によって理解されるように、電気信号のフーリエ変換は、リアルタイムで計算される必要はなく、SCMプロセスの前に計算され、メモリに格納され得るが、この場合、ステップ1840は除去され得る。
[0168]ステップ1860において、信号検出器は、電気信号と音声信号との相互相関を計算する。上記のように、この例では周波数領域で相互相関を計算するが、相互相関は次のように時間領域で直接計算され得る。
ここで、mは音声信号、xは電気信号、Tはサンプルの相互相関の長さ、tは受信した音声信号の指標、例えば最新のサンプルの指標である。図20A〜図20Bは、直接相互相関計算の結果を示す。図20Aに示されるように、相互相関のピーク2001が見ることができ、プローブ音声信号は、原則として、音声信号内で検出され得るが、実質的に周期的である高振幅干渉信号2003もまた存在する。干渉信号2003の振幅が大きすぎる場合、干渉信号の振幅は、プローブピークの振幅を容易に超える可能性があり、それにより、単純なピーク検出プロセスを利用してプローブ音声信号の存在を検出することが困難になる。
[0169]いくつかの実施形態では、プローブ信号は、相互相関における干渉騒音信号の除去を可能にするように設計され得る。例えば、いくつかの実施形態では、擬似ランダムプローブ信号は、特定の範囲にわたってフラットな周波数応答を有するように選択され得る。次に、騒音抑制方法は、予想範囲外にある時間周波数ビンは干渉源によって引き起こされる可能性が高いという知識を利用できる。騒音を低減する1つの方法は、周波数領域で位相変換を適用することである。位相変換M’は、位相情報を保持しながら各時間−周波数ビンのエネルギーを正規化する変換であり、次のように計算され得る。
ここで、M(t,f)は、時間tと周波数fでの音声信号の複合短時間フーリエ変換(STFT)である。この場合、位相変換された相互相関信号は次のように計算され得る。
y
pt(t)=F
−1(X・M’(t,f))(3)
ここで、F
−1(f)は関数fの逆フーリエ変換であり、Xは電気信号の短時間フーリエ変換であり、M’(t,f)は位相変換された音声信号であり、本明細書では正規化された音声信号とも呼ばれる。
[0170]いくつかの実施形態では、位相変換された信号は、時間領域で計算された裸の相互相関よりも良好に機能することができる。例えば、図20の下のパネルは、サンプルデータの位相変換された相互相関を示す。データから明らかなように、干渉騒音信号が除去され、それにより、特定の実施形態による信号検出器の信号検出機能が改善される。
[0171]いくつかの実施形態では、音声信号に位相変換を適用することに加えて、またはその代わりに、信号検出器は、室内のローカルな音響状態に起因する反射および他の影響によるプローブ信号の歪みを補償することもできる。例えば、部屋の効果は、部屋のインパルス応答(RIR)関数hを介してモデル化できて、受信した音声信号mは、次のようにhとの畳み込みによって計算され得る。
ここで、m
0は、部屋に起因する歪みがないと仮定した、時間領域で補正された音声信号である。したがって、周波数領域では、式(4)の畳み込みは次のように乗算の形を取ることができる。
M(k)=H・M
0(k)(5)
ここで、M(k)は音声信号m(t)のフーリエ変換、例えばSTFTであり、M
0(k)は歪みのない音声信号のフーリエ変換、例えばSTFTであり、Hは対角行列であり、対角線はhの周波数領域を表すものである。いくつかの実施形態では、信号検出器は、逆RIR関数を測定された音声信号に適用して、本明細書では周波数領域補正音声信号とも呼ばれる歪みのない音声信号M
0(k)を近似することができる。
M
0(k)=H
−1・M(k)(6)
したがって、改善された相互相関を決定するために、測定された音声信号の代わりに、理想化された音声信号への近似が使用され得る。別法として、式(3)を参照して上述した位相変換データを活用するために、いくつかの実施形態では、RIRを考慮に入れる補正された相互相関信号は、次のように変換された位相変換信号の相互相関に整合フィルタを適用することによって計算され得る。
[0172]さらに別の例では、時間領域補正音声信号m0(t)は、式(6)の逆フーリエ変換を計算することによって生成され得る。次に、この時間領域補正音声信号を使用して、式(1)を適用することにより、つまり、時間領域補正音声信号m0(t)と電気信号x(t)の相互相関を取ることにより、相互相関信号を生成できる。
[0173]図21Aは、本発明の実施形態による、電気信号と位相変換された音声信号との相互相関のプロットである。図21Bは、本発明の実施形態による、整合フィルタによる位相変換された音声信号の相互相関のプロットである。プローブピーク2101が見える図21Bに示されるように、位相変換された音声信号をRIR関数と相互相関させると、信号対雑音が大幅に増加し、したがって感度が増す。対照的に、プローブピークは図21Aでは見ることができず、図21Aは、周囲騒音の影響および/または部屋の環境の影響、スピーカおよびマイクロフォンの伝達関数などを含まないデータを提示している。
[0174]いくつかの実施形態では、RIRの長さが、適用される任意のSTFTのウィンドウよりも長い場合があり得るので、その場合、重複加算法は、以下のように適用され得る。
[0175]ステップ1870では、相互相関信号yと共にピーク検出器を利用することにより、プローブ信号の電力レベルが決定され得る。いくつかの実施形態では、ピーク検出器は、以下のように相互相関の最大値を見つけることができる。
[0176]いくつかの実施形態では、例えば、非常に低レベルのプローブ信号について、複数の異なる技法を採用して、ピーク検出器の検出効率を改善することができる。例えば、場合によっては、ユーザによるプローブ信号の検出を回避するために、プローブ信号のレベルを−90dBfsまで低く設定できる。このような低レベル(−90dBfsは符号付き16ビット整数の最後の桁に対応する)では、式(1)〜(8)を参照して上記で考察した処理を使用してy
maxを識別することが難しい可能性がある。この問題を克服するために、複数の異なる技法を採用できる。例えば、相互相関計算のために、より長い相関時間(より大きなT)を選択できる。別法として、またはより長い相関時間に加えて、1つまたは複数の無限インパルス応答(IIR)または有限インパルス応答(FIR)フィルタを採用できる。例えば、相互相関は次のように複数の反復でフィルタリングされ得る。
ここで、a
iはフィルタの係数である。他の実施形態によれば、相互相関の実行値は、次の形式の再帰型積算器を適用することによって維持され得る。
ここで、y(t)はi番目の反復で測定された相互相関の値、
は最後の(i−1番目)の反復中に計算されたフィルタ処理された値、および
はi番目の反復で計算されたフィルタ処理された更新された値である。積分定数0<β<1は、新しく取得したデータと比較して履歴値にどの程度の重みを付けるかによって選択され、βの値が大きいほど、新しい値と比較して履歴値に高い重みが適用される(例えば、β=1の場合、更新された値は常に履歴値と等しくなり、同様に、β=0の場合、履歴値の大きさに関係なく、更新された値は常に最新の値になる)。
[0177]図18に戻ると、ステップ1870において、TV−AVRシステムのディスプレイの状態が決定される。いくつかの実施形態では、システムは、TV−AVRディスプレイ電源状態(オン/オフ)、AVチャネル待機時間、および/またはTV−AVRシステムのボリュームを決定することができる。TV−AVR表示電源状態に関連して、検出されたピークy
maxの最大値は、検出閾値電力レベルと比較され得る。検出閾値電力レベルは、ユーザには聞こえないプローブ音声信号の電力レベルである。いくつかの実施形態では、状態検出器は、相互相関ピークの正規化された値が検出閾値電力レベルaに等しいかそれを超えるかどうかをテストすることによって実行され得る。例えば、信号検出器は次の状態検出器(SD)を実行できる。
この場合
および相互相関信号の平均値は、
によって得られる。
[0178]プローブ音声信号は、AVチャネル待機時間ならびにTV−AVRボリュームの決定に役立つ情報を含む。例えば、スピーカから出力される電気信号とプローブ音声信号との間の時間シフトとして定義されるAVチャネル待機時間lは、相互相関信号yから次のように計算され得る。
l=argmaxiy(i)(15)
いくつかの実施形態では、AVチャネルの平均待機時間よりも短いプローブ信号を採用することが有利な場合がある。例えば、48kHzで、プローブシーケンスの長さ1024のサンプルの再生持続時間は0.02秒であるが、HDMI(登録商標)での一般的な待機時間値は0.1秒から0.2秒まで変化し得る。待機時間がプローブ信号の再生持続期間よりも長いそのような場合、複数の方法を使用して、検出されたどの音声信号が適切なプローブ信号に対応するか(「アンラッピング」とも呼ばれる)を識別することができる。1つの方法は、同じプローブ信号の複数のタイムシフトされたバージョンを再生することを含み、その場合、相互相関のピーク間の時間差を使用して、アンラッピングを決定することができる。
[0179]ステップ1870でTV−AVRシステムのボリュームもまた推定される場合、1つまたは複数の実施形態は、ステップ1860を参照して上述したように、セットアップ中に達成され得る初期ボリューム較正を活用することができる。相互相関の最大値y
maxは、次の関係に従ってTV−AVRボリュームレベルvに依存する。
したがって、TV−AVRシステムの相対ボリュームレベル(0〜100%)は、以下を使用して相互相関の最大値から計算され得る。
ここで、v
refはセットアッププロセス中に決定される基準利得である。一般に、TV−AVRボリュームとプローブ信号ボリュームとの間のマッピングは、例えば、図17に示されるように線形ではない可能性があるので、式(17)に示される線形関係はすべての場合に当てはまらない可能性がある。ただし、セットアッププロセス中に、必要に応じて、プローブボリュームからTV−AVRボリュームへの完全なマッピングが決定され、メモリに格納され、式(17)の代わりに使用され得る。
[0180]図19は、本開示の例による、プローブボリュームレベルを追跡および制御するためのプロセスを概念的に示すフローチャートを示す。より具体的には、特定の実施形態によれば、システムは、プローブ信号が信号検出器によって検出可能であるには十分に大きいが、サブ可聴であるには十分静かであり、すなわちユーザが聞こえないほど静かにプローブ信号を保つという目的のバランスをとることができる。以下で説明する方法では、プローブ信号の最大レベルは、プローブgprobeの利得を何らかの値gmaxに制限することによって上限を定められ、ここで、gmaxは、プローブ信号が信号検出器によって確実に検出できるが、やはりユーザにとってはサブ可聴であることを保証するように設定される。システムが、プローブがタイムアウトタイマによって測定された所定の期間(本明細書では「タイムアウト時間」と呼ばれる)の間最大利得レベルにあったことを検出し、システムがまだプローブ信号の存在を検出していない場合には、信号検出器はTV−AVRシステムがオフ状態であると決定し、少なくとも一時的にSCMを終了する。この方法の詳細については、以下で説明される。
[0181]ステップ1910〜1914は、それぞれ図18のステップ1810〜1830に対応する。同様に、ステップ1916は、ステップ1840〜1870に対応し、図18を参照して上述したように、信号検出器によってプローブ電力レベルPが計算される結果となる。この例では、プローブ信号の利得gprobeは、最初に下限ginitに設定され、次いで、プローブが検出されるか、またはgmaxにあるプローブ信号に関連する時間がタイムアウト値を超えるまで、反復的に増加されることに留意すること以外は、これらのステップの詳細は本明細書では再現されない。一例では、システムは、プロセスの任意の時点で、例えば、ステップ1910〜1920のいずれかと同時にタイマーを開始することができる。
[0182]ステップ1920では、プローブ電力レベルP(式(13)を参照して上記のind(t)とも呼ばれる)がSCM検出閾値電力αと比較される。Pがα以上の場合、信号検出器はプローブが検出されたと見なし、それに応じてTV−AVR状態を更新する。例えば、SCMモジュールは、2つから成るTV−AVR状態パラメータを「オン」などに設定することができる。他の実施形態では、SCMモジュールは、図18を参照して上述したように、TV−AVRシステムのボリュームレベルも追跡するようにPの値を格納することもできる。Pが検出閾値αよりも小さい場合、方法はステップ1924に進行する。
[0183]ステップ1924では、プローブ信号の利得gprobeが最大利得gmaxに達したかどうかの決定が行われる。gprobeがgmaxに等しい場合、方法はステップ1930に進む。プローブ信号がまだgmaxにない場合、方法はステップ1928に進行し、プローブ信号の利得が増分される。例えば、利得は、所定の増分で増加させることができる。この開示の恩恵を受けて当業者によって理解されるように、gmaxは、TV−AVRシステムの性質に応じて、いくつかの異なる値に設定され得る。例えば、gmaxは、−90dB fs、−96dB fsに設定可能であり、または非常に高い増幅器利得を持つ一部のハイエンド音声システムでは−140dB fsにさえ設定され得る。いくつかの実施形態では、gmaxは、プローブ信号電力レベルが可聴レベル、すなわち、図17を参照して上述したように、ユーザによって検出可能なレベルに決して到達しないことを保証するために望ましい任意の値に設定され得る。
[0184]いくつかの実施形態では、ステップ1928は、利得を増加させるだけでなく、プローブ電力レベルの測定値に基づいて利得を増加および減少させることができる利得制御ループを実行することができる。そのような場合、利得の修正は、測定プローブ電力が1つまたは複数の範囲内にあるかどうかに依存することができ、その範囲は、1つまたは複数のプローブ電力閾値によって定められる。例えば、相互相関の正規化されたピーク値に依存する次の複数の閾値更新手順に従って、利得が更新され得る。
当業者には理解できるように、本開示の範囲から逸脱することなく、任意のタイプの更新手順が採用され得る。加えて、図19に示される手順は、任意のタイプのコントローラを使用して、例えば、PIコントローラ、PIDコントローラ、任意のタイプのファジー論理タイプのコントローラなどを使用して実行され得る。
[0185]gprobeがgmaxに等しくなると、システムがタイムアウト時間Ttimeoutよりも長い間その最大プローブ信号利得設定gmaxにあったかどうかが1930で判断される。システムがgmaxに達し、Ttimeoutが経過した場合、ステップ1932で、信号検出器はTV−AVR状態パラメータを「オフ」に設定し、次いで現在のSCMプロセスループを終了できる。いくつかの実施形態では、プローブ信号は聞こえないため、SCMループを終了する必要はなく、プローブ信号は、ユーザによる検出のリスクなしに連続的に再生され得る。そのような場合、タイムアウト時間が経過した後、信号検出器はTV−AVR状態パラメータを「オフ」に設定でき、プローブ信号は出力され続ける。
[0186]いくつかの実施形態では、ステップ1928は、相互相関が計算される積分時間(T)が増加するプロセスを伴うか、またはそのプロセスによって置き換えることができる。例えば、一実施形態では、gがgmaxに達しても、信号検出器による十分に大きなピークの検出がまだない場合、次いで信号対騒音を増加させる意図で、相互相関を計算するための積分時間が増加され得る。このような場合、タイムアウト時間もまた修正されて、新しく増加した積分時間よりも長い時間に設定されることを保証することができる。
[0187]図22は、特定の実施形態による、TV−AVR状態検出および監視が可能なVCMD2200を示す。より具体的には、VCMD2200は、本明細書でHDMI(登録商標)プリミティブベースの状態検出(PBSD)と呼ばれるプロセスを採用するように構成されている。PBSDは、接続されたTV−AVRシステムの状態、例えば、VCMD2200がTV−AVRシステム2203にフォーカスを合わせているかどうか、およびTV−AVRシステムのボリュームが可聴レベルに設定されているかどうかを決定するために、VCMD、例えば、図3に示されるVCMD300によって使用され得るプロセスである。特定の実施形態によれば、PBSDを採用するVCMDは、VCMD2200のHDMI(登録商標)ポート2201から本明細書で「HDMI(登録商標)プリミティブ」と呼ばれる1つまたは複数のHDMI(登録商標)プリミティブ信号を測定し、次に、TV−AVRシステム2203の状態を判定することができる。PBSDを採用することができるVCMDシステムをさらに説明するために、図22は、明確にするためにVCMDの他のすべての要素が除去された、HDMI(登録商標)状態検出サブシステム2202を有するVCMD2200を示す。
[0188]PBSDサブシステム2202は、デュアルモードコントローラ2221およびデバイスコントローラ2225の両方に動作可能に接続されるHDMI(登録商標)状態検出モジュール2219を含む。デュアルモードコントローラ2221およびデバイスコントローラ2225の両方は、音声対話マネージャ(図示せず)、および最終的には音声認識サービス(図示せず)に接続することができ、図3〜図11を参照して上記でより詳細に説明される。PBSDサブシステム2202は、例えば、HDMI(登録商標)ケーブルなどのような電気的相互接続2223を介して、TV−AVRシステム2203のHDMI(登録商標)ポート2229に接続することができるHDMI(登録商標)ポート2201をさらに含む。図22に示す例では、TV−AVRシステム2203は、AVR2204およびTV2206を含む。TV2206は、HDMI(登録商標)ポート2208、ディスプレイ2210、およびTVスピーカ2212を含む。AVR2204は、HDMI(登録商標)トポロジに関して、VCMD2200がソースとして機能し、AVR2204がリピータとして機能し、TV2206がシンクとして機能するように、TV2206に動作可能に接続される。AVR2204はまた、VCMD2200から供給されるコンテンツに高品質の音を提供するために、1つまたは複数の外部スピーカ(単数または複数)2214に接続される。
[0189]いくつかの実施形態では、HDMI(登録商標)状態検出モジュール2219上で実行されるPBSDプロセスは、TV−AVRシステム2203の状態を自動的に、例えば、毎秒数回、反復的および/または同期的に監視することができる。いくつかの実施形態では、PBSDプロセスは、非同期的に動作することができ、例えば、PBSDプロセスは、HDMI(登録商標)状態検出モジュール2219に送信されるコマンドによって開始され得る。例えば、VCMD2200によるウェイクワードの検出に応答して、デュアルモードコントローラ2221は、HDMI(登録商標)状態検出モジュール2219にコマンドを送信して、PBSDプロセスを開始することができる。同期または非同期に動作しているかどうかに関係なく、HDMI(登録商標)状態検出モジュールがTV−AVRシステム2203に関連付けられた1つまたは複数のHDMI(登録商標)プリミティブをHDMI(登録商標)ポート2201から読み取るとき、PBSDプロセスが開始される。
[0190]図23〜図26を参照して以下でさらに詳細に説明するように、HDMI(登録商標)状態検出モジュール2219は、1つまたは複数のHDMI(登録商標)プリミティブの値に基づいてTV−AVR状態を決定するPBSDプロセスを実行することができる。
[0191]図22では、TV−AVRシステムの一般化された形態が示されているが、図3および図15を参照して既に上述したように、TV−AVRシステムは、本開示の範囲から逸脱することなく任意の形態を取ることができる。
[0192]以下でさらに詳細に説明するように、HDMI(登録商標)状態検出モジュールは、複数のプリミティブに関連する値および/またはデータを読み取ることができる。プリミティブの例は、ホットプラグ検出プリミティブ(HPD)、高帯域幅デジタルコンテンツ保護プリミティブ(HDCP)、拡張ディスプレイ識別データプリミティブ(EDID)、およびIS_REPEATERプリミティブ(IR)を含む。
[0193]HPDプリミティブは、別のデバイスがHDMI(登録商標)ケーブルを介して接続されているかどうかを示すように設計されている。いくつかの実施形態では、HPDは、HDMI(登録商標)ポートのピンに印加される電圧値を介して通信される。HPDピンの電圧値が高い場合は、別のデバイスがHDMI(登録商標)ケーブルに接続されていることを示す。場合によっては、HPDピンに印加される正確な電圧値が接続されたデバイスの電源状態を示すことができるが、これは一般にすべての製造業者に当てはまるわけではない。
[0194]EDIDは、シンクデバイスのメディア機能を記述する。例えば、シンクデバイスがTVの場合、図22に示すように、TVがオンの場合、EDIDはTVおよびTVのメディア機能の両方を記述する。例えば、EDIDは、メーカー名とシリアル番号、製品タイプ、蛍光体またはフィルタタイプ、ディスプレイによってサポートされるタイミング、ディスプレイサイズ、輝度データ、およびピクセルマッピングデータ(デジタルディスプレイのためにのみ)を含むことができる。図22に示すように、AVRがリピータとして機能するいくつかのトポロジでは、TVがオフの場合、EDIDは、AVRおよびAVRのメディア機能を記述することができる。ただし、他の場合では、接続されたデバイスがオフ状態の場合にEDIDが使用できなくなる可能性がある。
[0195]EDIDは、VCMD2200によって使用される物理アドレス情報も伝えることができる。物理アドレスは、HDMI(登録商標)トポロジツリーでのデバイスの配置を示す。図22に示されるように、AVR2204およびTV2206を含む複雑なトポロジでは、物理アドレスの変化は、TV2206の電源状態の変化を示すことができる。例えば、1.1.0.0から1.0.0.0へのアドレス変更は、VCMD2200の配置がレベル2からレベル1に昇格され、AVR2204がシンクデバイスになったことを意味する可能性がある。これは、例えば、テレビの電源状態がオフに切り替えられた場合に発生する。同様に、1.0.0.0から1.1.0.0への変更は、TV2206がオフからオンに切り替わり、したがって再びシンクデバイスになった、反対のシナリオを示す可能性がある。
[0196]HDCPは、デジタル著作権管理(DRM)メディアコンテンツを1つまたは複数のシンクデバイス(例えば、テレビなど)に送信するための安全なメディアパスが存在するかどうかを、接続されたコンテンツソースに示すように設計されている。HDCPスキームでは、DRMコンテンツを保護するために、コンテンツがシンクデバイスで再生され得る前に、デバイスはソースに対して認証する必要がある。認証されると、暗号化されたコンテンツはHDMI(登録商標)ケーブルを介して送信され、シンクで復号化され得る。暗号化の方法を決定するには、シンクはソースによって使用されているHDCPのバージョンを認識する必要がある。したがって、HDMI(登録商標)接続を介して送信されるHDMI(登録商標)データは、本明細書ではHDCP_versionと呼ばれ、使用されているHDCPのバージョンを識別するHDCPデータ要素を含む。さらに、HDMI(登録商標)接続を介して送信されるHDMI(登録商標)データは、シンクが認証されたかどうかを識別する、本明細書でHDCP_authと呼ばれる別のHDCPデータ要素を含む。いくつかの実行では、HDCP_authは二進値を取ることができ、例えば、シンクが認証されている場合はTRUEに設定され、シンクが認証されていない場合はFALSEに設定される。場合によっては、HDCP_versionデータは、使用されているHDCPプロトコルのバージョンを示す文字列を含むことができる。したがって、HDCP_versionの値がNULLの場合は、ソースデバイスとシンクデバイスとの間に安全なメディアパスがないことを示す。ほとんどの場合、HDCP_AuthとHDCP_versionは一緒に変化するが、しかし何らかの音声ビジュアル機器は、シンクデバイスがオフになった後でも、HDCP_Authの値をtrueに設定した状態に維持することができる。このような場合、HDCP_versionは通常NULLに切り替わる。そのため、HDCP_Auth値がまだtrueであっても、null以外からnullに、HDCP_versionからの切り替えは、シンクのスイッチを切ることを示す。
[0197]図22に示すようなAVRを含むトポロジでは、IRの値は、AVR2204がTV2206への信号を繰り返しているかどうかを示すことができる。そうでない場合は、TV2206が電源を切られているか、オフ状態であることを示す。物理アドレスの変更と組み合わせると、IRは、複雑なトポロジでTVの状態を決定するのに特に役立つことができる。
[0198]図23は、特定の実施形態によるPBSDの一例を示す。より具体的には、図23に示される方法は、特定の実施形態による組み合わされたプリミティブハッシュに依存する。この手法では、VCMDのセットアップ手順中に、プリミティブHPD、HDCP、EDID、およびIS_REPEATERの値が収集され、同時にユーザのTV−AVRシステムの構成要素が様々な状態で誘導される。例えば、図22に示すような、AVR2204とTV2206の両方を含むTV−AVRシステムでは、TV−AVRシステムの16の可能な状態は、TV電源状態(オン/オフ)、TV入力状態(VCMDポートアクティブ/非VCMDポートアクティブ)、AVR電源状態(オン/オフ)、およびAVR入力状態(VCMDポートアクティブ/非VCMDポートアクティブ)の間のすべての組み合わせを含むことができる。TV−AVRシステムの16の可能な状態のそれぞれについて、プリミティブ値が結合され、次にハッシュされる。特定の実施形態によれば、ハッシュは、最初にプリミティブ値を連結し、増分ハッシュ関数または当技術分野で既知の他の適切なハッシュ技法を使用して、連結された結果を暗号学的に強力なハッシュに通すことによって達成され得る。
[0199]理想的には、16個の個別の組み合わされたプリミティブの値が一意のハッシュ値につながるため、したがってハッシュ値はTV−AVRシステムの状態を一意的に識別する。いくつかの例ではこれが当てはまらない場合があるため、1つまたは複数の実施形態では、技術に加えて他の状態検出技術/ロジックを採用できるが、これが当てはまる場合でも、テストにより、やはりTVオフ状態が高い信頼度で報告され得ることが判明する。
[0200]図23は、特定の実施形態によるPBSDプロセスを示す。このプロセスは、以下に説明するように、TV−AVRの状態を決定するために、1つまたは複数の組み合わされたハッシュ値に依存する。このプロセスはVCMDで実行されて、ディスプレイに接続されたTV−AVRシステムの状態を決定することができる。例えば、図22を参照すると、図23のPBSDプロセスは、HDMI(登録商標)状態検出モジュール2219で実行できる。特定の実施形態によれば、HDMI(登録商標)状態検出モジュールは、1つまたは複数のプロセッサおよびコンピュータメモリを含むことができるHDMI(登録商標) ICまたはHDMI(登録商標)システムオンチップ(SOC)を含むことができる。PBSDプロセスは、上述のSCMと同様の方法で、上述のように同期または非同期で実行できる。
[0201]ステップ2310で、HDMI(登録商標)状態検出モジュール2219は、TV−AVRシステム2203に接続されているHDMI(登録商標)ポートからプリミティブ値のセットを取得することができる。特定の実施形態によれば、プリミティブのセットは、HPD、HDCP、EDIDおよびIRなどのプリミティブからの値であり得る。
[0202]ステップ2330では、単一のハッシュ値が、VCMDの初期設定手順中に取得され、メモリに格納された特徴的なハッシュ値のセットと比較される。
[0203]ステップ2340で、HDMI(登録商標)状態検出モジュール2219は、単一のハッシュ値が、TV−AVRオン状態を含む任意の格納されたTV−AVR状態にマッピングするかどうかを決定する。「はい」の場合、方法はステップ2350に進行する。「いいえ」の場合、方法はステップ2350に進行し、TV−AVRシステムがオフ状態であることを報告する。次いで、プロセスが呼び出されて、TV−AVRシステム状態を更新する次の時に初めて、PBSDプロセスは終了する。
[0204]ステップ2350で、HDMI(登録商標)状態検出モジュール2219は、TV−AVRオン状態が、単一のハッシュ値を格納された特性ハッシュ値とマッチングすることによって得られるTV−AVR状態のセットで表される唯一の状態であるかどうかを決定する。「いいえ」の場合、プロセスが呼び出されて、TV−AVRシステム状態を更新する次の時に初めて、PBSDプロセスは終了する。「はい」の場合、方法は、TV−AVRシステムがオン状態であることを報告し、次いで、プロセスが呼び出されて、TV−AVRシステム状態を更新する次の時に初めて終了する。
[0205]図24は、特定の実施形態によるPBSDプロセスを示す。このプロセスは、HDP、HDCP_Auth、およびHDCP_versionを使用したTV−AVR状態の検出に依存する。このプロセスは、HPDとHDCPの両方を定期的に監視し、これらのプリミティブのいずれかの変更が検出された場合にTV−AVR状態の更新を開始できる。
[0206]したがって、方法は、ステップ2410で開始し、HPDまたはHDCPのいずれかの値が最近変更されたことを、HDMI(登録商標)状態検出モジュール2219によって検出する。
[0207]ステップ2420で、HDMI(登録商標)状態検出モジュール2219は、HPDが高状態にあるか、またはHDCP_Authが高状態にあるかどうかを決定する。どちらも高状態でない場合、方法はステップ2430に進行し、TV−AVRシステムがオフ状態であることを報告する。次いでこの方法は、HDPまたはHDCPのいずれかの変化が検出される次の時に初めて終了する。HPDが高いか、またはHDCP_Authが高い場合、方法はステップ2440に進行する。
[0208]ステップ2440で、HDMI(登録商標)状態検出モジュール2219は、HDCP_VersionがNULLでないかどうかを検出する。HDCP_VersionがNULLの場合、方法はステップ2450に進行し、TV−AVRシステムがオフ状態であることを報告する。次いでこの方法は、HDPまたはHDCPのいずれかの変化が検出される次の時に初めて終了する。HDCP_VersionがNULLでない場合、方法は終了し、以前のTV−AVRシステム状態を維持する。以前と同様に、HDPまたはHDCPのいずれかの変更が検出された場合、方法は後で再度実行できる。
[0209]図1〜図24の例示的な方法およびプロセスフローにおいて説明および描写される動作は、本開示の様々な例示的な実施形態において所望されるように、任意の適切な順序で実行され、または実施され得る。加えて、特定の例示的な実施形態では、動作の少なくとも一部は並行して実行され得る。さらに、特定の例示的な実施形態では、図1〜図24に示されるものよりも少ない、多い、または異なる操作が実行され得る。
[0210]したがって、明細書および図面は、限定的な意味ではなく例示的な意味で見なされるべきである。しかしながら、特許請求の範囲に記載されている本開示のより広い趣旨および範囲から逸脱することなく、様々な修正および変更を行うことができることは明らかであろう。
[0211]他の変形形態は、本開示の精神の範囲内である。したがって、開示された技術は、様々な修正形態および代替構造の影響を受けやすいが、その特定の例示的な実施形態が図面に示され、詳細に上述されている。しかしながら、本開示を開示された特定の形態(単数または複数)に限定する意図はないことを理解すべきであるが、しかし反対に、その意図は、添付の特許請求の範囲で定義されている本開示の精神および範囲に含まれるすべての修正形態、代替構造、および均等物を包含することである。
[0212]開示された実施形態を説明する文脈において(特に、以下の特許請求の範囲において)用語「a」および「an」および「the」および同様の参照対象の使用は、本明細書に別段の記載がなく、または文脈によって明らかに矛盾しない限り、単数および複数の両方を包含すると解釈されるべきである。「備える」、「有する」、「含む」、および「含む」という用語は、特に断りのない限り、制限のない用語(すなわち、「含むがこれに限定されない」を意味する)として解釈されるべきである。「接続されている」という用語は、たとえ何かが介入したとしても、部分的または完全に内部に含まれる、取り付けられる、または一体に結合されるとして解釈されるべきである。本明細書での値の範囲の列挙は、本明細書で別段の指示がない限り、範囲内の各個別の値を個別に参照する簡略法として機能することのみを意図し、各個別の値は、本明細書で個別に列挙されているものとして本明細書に組み込まれる。本明細書に記載されるすべての方法は、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾しない限り、任意の適切な順序で実行され得る。本明細書で提供されるありとあらゆる例または例示的な言語(例えば、「など」)の使用は、本開示の実施形態をよりよく明らかにすることだけを意図しており、別段の請求がない限り、本開示の範囲を限定するものではない。本明細書中の言語は、任意の特許請求されていない要素を本開示の実施に不可欠であると示すものと解釈されるべきではない。
[0213]フレーズ「X、Y、またはZの少なくとも1つ」などの分離語は、特に明記されていない限り、一般的に使用される文脈内で理解され、項目、用語などが、X、Y、またはZであり、あるいはそれらの任意の組み合わせ(例えば、X、Y、および/またはZなど)であることを示すことを意図するものである。したがって、そのような分離語は、特定の実施形態が少なくとも1つのX、少なくとも1つのY、または少なくとも1つのZのそれぞれが存在することを必要とすることを意味すると一般的に意図されるのではなく、意味すべきものではない。
[0214]この開示の好ましい実施形態は、本明細書に記載されており、開示を実行するために発明者に知られている最良の形態を含む。これらの好ましい実施形態の変形形態は、前述の説明を読むと当業者に明らかになる可能性がある。本発明者らは、当業者がそのような変形形態を適切なものとして採用することを期待し、本発明者らは、本明細書に具体的に記載された以外の方法で本開示が実施されることを意図する。したがって、この開示は、適用される法律によって許可されるように、本明細書に添付された特許請求の範囲に列挙された主題のすべての修正形態および均等物を含む。さらに、そのすべての可能な変形形態における上述の要素の任意の組み合わせは、本明細書で別段の指示がない限り、または文脈によって明らかに矛盾しない限り、本開示によって包含される。
[0215]本明細書に引用される、出版物、特許出願、および特許を含むすべての参考文献は、各参考文献が個別にかつ具体的に参照により組み込まれることが示され、その全体が本明細書に記載された場合と同程度に、参照により本明細書に組み込まれる。
[0216]本開示の実施形態の例は、以下の条項を考慮して説明され得る。
[0217]条項1.内部スピーカを有する音声制御デバイスのマイクロフォンで、ユーザからの最初の音声入力を受信するステップを含む、コンピュータ実施方法。音声制御デバイスは、テレビの第1のHDMI(登録商標)ポートに動作可能に接続される。第1の音声入力はウェイクワードを含む。コンピュータ実施方法はまた、音声制御デバイスのマイクロフォンで、第2の音声入力を受信するステップであって、第2の音声入力が、映画および映画に関連する動作に関する情報を含む、ステップと、音声制御デバイスによって、テレビがオンかオフかを決定するステップであって、テレビがオンの場合:音声制御デバイスによって、テレビのアクティブなHDMI(登録商標)ポートが第1のHDMI(登録商標)ポートではないことを決定するステップと、音声制御デバイスのIR送信機を介して、音声制御デバイスからテレビに、テレビをミュートするデータを送信するステップと、音声制御デバイスの内部スピーカ上にハンドオーバ音声メッセージを再生するステップであって、ハンドオーバ音声メッセージは、映画がテレビで再生されることをユーザに示す、ステップと、ハンドオーバメッセージを再生した後、音声制御デバイスのIR送信機を介して、音声制御デバイスからテレビに、テレビをミュート解除するデータを送信するステップと、音声制御デバイスのIR送信機を介して、音声制御デバイスからテレビに、テレビのアクティブなHDMI(登録商標)ポートを第1のHDMI(登録商標)ポートに設定するデータを送信するステップとを含む。テレビがオフの場合:音声制御デバイスの内部スピーカ上にハンドオーバ音声メッセージを再生するステップと、音声制御デバイスのIR送信機を介して、音声制御デバイスからテレビにテレビをオンにするデータを送信するステップと、音声制御デバイスのIR送信機を介して、音声制御デバイスからテレビに、テレビのアクティブなHDMI(登録商標)ポートを第1のHDMI(登録商標)ポートに切り替えるデータを送信するステップとを含む。コンピュータ実施方法はさらに、映画に関連するビデオデータを音声制御デバイスで受信するステップと、第1のHDMI(登録商標)ポートを介して、テレビにビデオデータを送信するステップとを含む。
[0218]条項2.テレビがオンであるかオフであるかを決定するステップが、音声制御デバイスによって、およびユーザからの第1の音声入力の受信に応答して、擬似ランダム数列を表す電気信号を生成するステップと、電気信号をテレビの第1のHDMI(登録商標)ポートに送信するステップと、音声制御デバイスのマイクロフォンによって、周囲の部屋のノイズを含むマイクロフォン信号および電気信号に基づいてテレビによって生成された擬似ランダム音声信号を検出するステップとを含む、条項1に記載のコンピュータ実施方法。
[0219]条項3.テレビがオンであるかオフであるかを決定するステップが、音声制御デバイスによって、テレビの第1のHDMI(登録商標)ポートからのホットプラグ検出(HPD)信号の第1の電圧値を検出するステップと、音声制御デバイスによって、テレビの第1のHDMI(登録商標)ポートからの高帯域幅デジタルコンテンツ保護(HDCP)信号に関連付けられたデータを検出するステップとを含む、条項1または2に記載のコンピュータ実施方法。
[0220]条項4.内部スピーカを有する音声制御デバイスのマイクロフォンで、ユーザからの第1の音声入力を受信するステップを含む、コンピュータ実施方法。音声制御デバイスは、AVディスプレイデバイスの第1の音声ビデオ(AV)ポートに動作可能に接続されている。第1の音声入力はウェイクワードを含む。コンピュータ実施方法はまた、音声制御デバイスのマイクロフォンで、第2の音声入力を受信するステップであって、第2の音声入力が、コンテンツを再生するユーザコマンドを含む、ステップと、音声制御デバイスによって、AVディスプレイデバイスの電源状態が、AVディスプレイデバイスがオフ状態であることを示すことを決定するステップと、音声制御デバイスによって、少なくともユーザコマンドおよび電源状態に関連付けられたデータをリモートサーバコンピュータに送信するステップと、音声制御デバイスにより、リモートサーバコンピュータからの応答データを受信するステップとを含む。応答データは、要求されたコンテンツがビデオコンテンツを含むという表示と、AVディスプレイデバイスをオンにする命令と、ビデオコンテンツのコンテンツソース位置を示すコンテンツソース位置識別子とを含む。コンピュータ実施方法は、AVディスプレイデバイスをオンにする命令に基づいて、音声制御デバイスから、AVディスプレイデバイスにデータを送信して、AVディスプレイデバイスをオン状態に切り替えるステップと、音声制御デバイスによって、コンテンツソース位置からコンテンツを受信するステップと、第1のAVポートを介してコンテンツをAVディスプレイデバイスに送信するステップとをさらに含む。
[0221]条項5.音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスをオン状態に切り替えるデータを送信するステップが、音声制御デバイスから、AVディスプレイデバイスに動作可能に接続されているIR受信機にIR信号を送信するステップを含む、条項4に記載のコンピュータ実施方法。
[0222]条項6.音声制御デバイスからAVディスプレイデバイスに、IR信号を介して、AVディスプレイデバイスのアクティブなAV入力を第1のAVポートに設定するデータを送信するステップをさらに含む、条項4または5に記載のコンピュータ実施方法。
[0223]条項7.音声制御デバイスとAVディスプレイデバイスとの間のHDMI(登録商標)接続によって、AVディスプレイデバイスのアクティブなAV入力を第1のAVポートに設定するHDMI(登録商標)コマンドデータを送信するステップをさらに含む、条項4から6のいずれか一項に記載のコンピュータ実施方法。
[0224]条項8.第1のAVポートが、HDMI(登録商標)ポートであり、AVディスプレイデバイスがオフ状態にあることを決定するステップが、音声制御デバイスによって、HDMI(登録商標)ポートからのホットプラグ検出(HPD)信号に関連付けられた電圧値を検出するステップと、音声制御デバイスによって、HDMI(登録商標)ポートから受信したHDCPデータ要素を検出するステップであって、HDCPデータ要素には、HDCP_Authデータ要素およびHDCP_versionデータ要素が含まれる、ステップと、電圧値およびHDCPデータ要素に基づいて、AVディスプレイデバイスがオフ状態にあると決定するステップとを含む、条項4から7のいずれか一項に記載のコンピュータ実施方法。
[0225]条項9. AVディスプレイデバイスの電源状態がオフ状態にあることを決定するステップは、電圧値、HDCP_Auth値、およびHDCP_version番号に基づいて、AVディスプレイデバイスの状態がオフ状態にあることを決定するステップをさらに含む、条項4から8のいずれか一項に記載のコンピュータ実施方法。
[0226]条項10.AVディスプレイデバイスの状態がオフ状態であることを報告するステップは、電圧値が高くなく、HDCP_Auth値が高くないという決定に基づく、条項4から9のいずれか一項に記載のコンピュータ実施方法。
[0227]条項11.内部スピーカを有する音声制御デバイスのマイクロフォンで、ユーザからの第1の音声入力を受信するステップを含む、コンピュータ実施方法。音声制御デバイスは、AVディスプレイデバイスの第1の音声ビデオ(AV)ポートに動作可能に接続されている。第1の音声入力はウェイクワードを含む。コンピュータ実施方法はまた、音声制御デバイスによって、AVディスプレイデバイスの電源状態が、AVディスプレイデバイスがオン状態であることを示すことを決定するステップと、音声制御デバイスによって、AVディスプレイデバイスのアクティブなAV入力ポートが第1のAV入力ポート以外のAV入力ポートであることを決定するステップと、音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスをミュートするデータを送信するステップと、音声制御デバイスのマイクロフォンで、第2の音声入力を受信するステップであって、第2の音声入力が、コンテンツを再生するユーザコマンドを含む、ステップと、音声制御デバイスによって、少なくともユーザコマンドおよび電源状態に関連付けられたデータをリモートサーバコンピュータに送信するステップと、音声制御デバイスにより、リモートサーバコンピュータからの応答データを受信するステップとを含む。応答データは、要求されたコンテンツがビデオコンテンツを含むという表示、AVディスプレイデバイスのアクティブAV入力ポートを第1のAVポートに設定するための命令、およびビデオコンテンツのコンテンツソース位置を示すコンテンツソース位置識別子を含む。コンピュータ実施方法は、AVディスプレイデバイスのアクティブなAV入力ポートを第1のAVポートオンに設定する命令に基づいて、音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスのアクティブなAV入力ポートを第1のAV入力ポートに設定するデータを送信するステップと、音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスをミュート解除するデータを送信するステップとをさらに含む。
[0228]条項12.音声制御デバイスによって、コンテンツソース位置からコンテンツを受信するステップと、第1のAVポートを介して、コンテンツをAVディスプレイデバイスに送信するステップとをさらに含む、条項11に記載の方法。
[0229]条項13.音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスのアクティブなAV入力ポートを第1のAVポートに設定するデータを送信するステップが、音声制御デバイスから、AVディスプレイデバイスに動作可能に接続されているIR受信機にIR信号を送信するステップを含む、条項11または12に記載のコンピュータ実施方法。
[0230]条項14.音声制御デバイスからAVディスプレイデバイスに、AVディスプレイデバイスのアクティブなAV入力ポートを第1のAVポートに設定するデータを送信するステップが、音声制御デバイスとAVディスプレイデバイスとの間のHDMI(登録商標)接続によって、HDMI(登録商標)データを送信するステップを含む、条項11から13のいずれか一項に記載のコンピュータ実施方法。
[0231]条項15.要求されたコンテンツがビデオコンテンツを含むという表示を受け取った後、音声制御デバイスの内部スピーカ上でハンドオーバ音声メッセージを再生するステップであって、ハンドオーバ音声メッセージが、ビデオコンテンツがAVディスプレイデバイス上で再生されることをユーザに示す、ステップを含む、条項11から14のいずれか一項に記載のコンピュータ実施方法。
[0232]条項16. AVディスプレイデバイスをミュートおよびミュート解除するデータを送信するステップが、音声制御デバイスから、AVディスプレイデバイスに動作可能に接続されているIR受信機に、IR信号を送信するステップを含む、条項11から15のいずれか一項に記載のコンピュータ実施方法。
[0233]条項17.第1のAVポートがHDMI(登録商標)ポートであり、AVディスプレイデバイスをミュートおよびミュート解除するためのデータを送信するステップが、第1のAVポートにHDMI(登録商標)データを送信するステップを含む、条項11から16のいずれか一項に記載のコンピュータ実施方法。
[0234]条項18.AVポートが、HDMI(登録商標)ポートであり、AVディスプレイデバイスがオフ状態にあることを決定するステップが、音声制御デバイスによって、HDMI(登録商標)ポートからのホットプラグ検出(HPD)信号に関連付けられた電圧値を検出するステップと、音声制御デバイスによって、HDMI(登録商標)ポートから受信したHDCPデータ要素を検出するステップであって、HDCPデータ要素には、HDCP_Authデータ要素およびHDCP_versionデータ要素が含まれる、ステップと、電圧値およびHDCPデータ要素に基づいて、AVディスプレイデバイスがオフ状態にあると決定するステップとを含む、条項11から17のいずれか一項に記載のコンピュータ実施方法。
[0235]条項19.AVディスプレイデバイスの電源状態がオフ状態にあることを決定するステップは、電圧値、HDCP_Auth値、およびHDCP_version番号に基づいて、AVディスプレイデバイスの状態がオフ状態にあることを決定するステップをさらに含む、条項11から18のいずれか一項に記載のコンピュータ実施方法。
[0236]条項20.AVディスプレイデバイスの状態がオフ状態であることを報告するステップは、電圧値が高くなく、HDCP_Auth値が高くないという決定に基づく、条項11から19のいずれか一項に記載のコンピュータ実施方法。
[0237]条項21.室内に配置されたテレビの状態を決定するためのコンピュータ実施方法であって、音声制御デバイスのマイクロフォンで、ユーザからの第1の音声入力を受信するステップを含み、音声制御デバイスがテレビのHDMI(登録商標)ポートに動作可能に接続され、第1の音声入力がウェイクワードを含む、方法。この方法は、音声制御デバイスによって、第1の音声入力を受信するステップに応答して、擬似ランダム数列を表し、第1の利得によって特徴付けられる電気信号を生成するステップをさらに含むことができる。この方法は、HDMI(登録商標)ポートを介して、テレビに電気信号を送信するステップをさらに含むことができる。この方法は、音声制御デバイスのマイクロフォンによって、周囲の部屋の雑音を含む音声信号と、電気信号に基づいてテレビによって生成された擬似ランダムプローブ音声信号とを検出するステップをさらに含むことができる。この方法は、電気信号のフーリエ変換を計算することによって変換された電気信号を生成するステップと、音声信号のフーリエ変換を計算することによって変換された音声信号を生成するステップと、変換された音声信号の位相変換を計算することによって正規化された音声信号を生成するステップと、正規化された音声信号に室内インパルス応答逆関数を適用することによって修正された音声信号を生成するステップと、変換された電気信号と修正された音声信号との間の相互相関を計算することによって、相互相関信号を生成するステップと、相互相関信号の最大値を突き止め、相互相関信号の最大値を相互相関信号の平均値で割ることにより、擬似ランダムプローブ音声信号の電力レベルを決定するステップとによって、テレビの状態を決定するステップをさらに含むことができる。いくつかの実施形態では、擬似ランダムプローブ音声信号の電力レベルが検出閾値電力レベル以上であり、検出閾値値電力レベルが、擬似ランダムプローブ音声信号がユーザに聞こえない電力レベルである場合、テレビがオンであると表示される可能性があり、電気信号を送信するステップが停止される可能性がある。
[0238]条項22.擬似ランダムプローブ音声信号の電力レベルが検出閾値未満である場合、第1の利得よりも高い第2の利得によって特徴付けられる更新された電気信号を送信するステップと、音声制御デバイスのマイクロフォンによって、周囲の部屋のノイズを含む更新された音声信号、および更新された電気信号に基づいてテレビによって生成された更新された擬似ランダムプローブ音声信号を検出するステップと、更新された擬似ランダムプローブ音声信号の電力レベルを決定するステップとをさらに含む、条項22に記載のコンピュータ実施方法。いくつかの実施形態では、更新された擬似ランダムプローブ音声信号の電力レベルが検出閾値よりも大きい場合、テレビがオンであることを示し、電気信号を送信するステップを停止する。いくつかの実施形態では、更新された擬似ランダムプローブ音声信号の電力レベルが検出閾値未満である場合、テレビがオフであることを示し、更新された電気信号を送信するステップを停止する。
[0239]条項23.音声制御デバイスのマイクロフォンで音声入力を受信するステップであって、音声制御デバイスは、スピーカに接続されたディスプレイに動作可能に接続されている、ステップを含む、コンピュータ実施方法。この方法は、ユーザによる可聴検出のために、利得閾値を下回る第1の利得レベルを有する電気信号を生成するステップをさらに含むことができる。この方法は、電気信号をスピーカに送信するステップをさらに含むことができる。この方法は、マイクロフォンによって、周囲騒音とプローブ音声信号との組み合わせを含む音声信号を検出するステップをさらに含むことができ、プローブ音声信号は、電気信号に基づいてスピーカによって出力される。この方法は、プローブ音声信号の電力レベルを決定するステップをさらに含むことができる。この方法は、プローブ音声信号の電力レベルに基づいてディスプレイの状態を決定するステップをさらに含むことができる。
[0240]条項24.所定の波形が擬似ランダムビットシーケンスを表す、条項23に記載のコンピュータ実施方法。
[0241]条項25.プローブ音声信号の電力レベルを決定するステップが、電気信号と音声信号との間の相互相関を計算することによって、相互相関信号を生成するステップを含み、ディスプレイの状態を決定するステップが、相互相関信号の最大値を検出閾値電力レベルと比較するステップをさらに含み、検出閾値電力レベルが、プローブ音声信号がユーザに聞こえない電力レベルである、条項23または24に記載のコンピュータ実施方法。
[0242]条項26.検出閾値電力レベルが、スピーカから1メートルの距離で測定した場合、−18dBから20dB SPLまでのプローブ音声信号音圧レベルに対応する、条項23から25のコンピュータ実施方法。
[0243]条項27.電気信号とプローブ音声信号との間のタイムラグを、相互相関信号の最大値をもたらす時間シフトであると決定するステップをさらに含む、条項26のコンピュータ実施方法。
[0244]条項28.相互相関信号の最大値および少なくとも1つの基準利得に基づいて、スピーカのボリューム設定を決定するステップをさらに含む、条項26に記載のコンピュータ実施方法。
[0245]条項29.プローブ音声信号の電力レベルを決定するステップが、電気信号のフーリエ変換を計算することによって変換された電気信号を生成するステップと、音声信号のフーリエ変換を計算することによって変換された音声信号を生成するステップと、変換された音声信号の位相変換を計算することによって正規化された音声信号を生成するステップと、変換された電気信号と正規化された音声信号との間の相互相関を計算することによって相互相関信号を生成するステップとを含む、条項23から28のいずれか一項に記載のコンピュータ実施方法。いくつかの実施形態では、ディスプレイの状態を決定することが、相互相関信号の最大値を検出閾値電力レベルと比較するステップをさらに含み、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルである。
[0246]条項30.プローブ音声信号の電力レベルを決定するステップが、音声信号のフーリエ変換を計算することによって変換された音声信号を生成するステップと、室内インパルス応答逆関数を変換された音声信号に適用することによって、訂正された音声信号周波数領域を生成するステップと、逆フーリエ変換を訂正された音声信号周波数領域に適用することによって、訂正された音声信号の時間領域を生成するステップと、電気信号と訂正された音声信号の時間領域との間の相互相関を計算することによって相互相関信号を生成するステップとを含む、条項23から29のいずれか一項に記載のコンピュータ実施方法。いくつかの実施形態では、ディスプレイの状態を決定するステップが、相互相関信号の最大値を検出閾値電力レベルと比較するステップをさらに含み、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルである。
[0247]条項31.プローブ音声信号の電力レベルを決定するステップが、電気信号のフーリエ変換を計算することによって変換された電気信号を決定するステップと、音声信号のフーリエ変換を計算することによって変換された音声信号を決定するステップと、変換された音声信号の位相変換を計算することによって、正規化された音声信号を決定するステップと、変換された電気信号と正規化された音声信号との積の逆フーリエ変換を適用することによって、位相変換された相互相関信号を決定するステップと、位相変換された相互相関信号と室内インパルス応答関数との間の相互相関を計算することによって、訂正された相互相関信号を決定するステップと含む、条項23から30のいずれか一項に記載のコンピュータ実施方法。いくつかの実施形態では、ディスプレイの状態を決定するステップが、訂正された相互相関信号の最大値を検出閾値電力レベルと比較するステップをさらに含み、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルである。
[0248]条項32.プローブ音声信号の電力レベルが検出閾値電力レベルよりも低く、検出閾値電力レベルがプローブ音声信号がユーザに聞こえない電力レベルである、条項23から31のいずれか一項に記載のコンピュータ実施方法。いくつかの実施形態では、方法は、ディスプレイの状態をオフ状態にあると決定するステップと、増加した利得レベルを電気信号に適用することによって電気信号を修正するステップとをさらに含む。
[0249]条項33.プローブ音声信号の電力レベルが検出閾値電力レベルよりも低く、検出閾値電力レベルが、プローブ音声信号がユーザに聞こえない電力レベルである、条項23から32のいずれか一項に記載のコンピュータ実施方法。いくつかの実施形態では、方法は、ディスプレイの状態をオフ状態であると決定するステップと、相互相関を計算する期間を増加させるステップとをさらに含む。
[0250]条項34.相互相関信号の実行値を格納するステップと、実行値から相互相関の最大値を決定するステップとをさらに含み、実行値が再帰的に計算され、相互相関の実行値のi番目の反復
が、
の形式の再帰型積算器を使用して計算され、
ここで、aは0と1との限定の定数であり、y
i(t)はi番目の反復中に取得された相互相関値であり、
は前の(i−1)番目の反復中に計算された実行値である、条項25に記載のコンピュータ実施方法。
[0251]条項35.プローブ音声信号の電力レベルが検出閾値電力レベルより低く、増加した利得レベルが最大値に等しく、タイムアウトタイマの現在の値がタイムアウト値以上である、条項32に記載のコンピュータ実施方法。いくつかの実施形態では、方法は、ディスプレイの状態をオフ状態にあると決定するステップと、電気信号の生成を終了するステップとをさらに含む。
[0252]条項36.マイクロフォンシステムと、音声制御マルチメディアデバイスを、スピーカに接続されたディスプレイに接続するように構成された音声ビデオポートと、少なくとも1つのプロセッサを含み、音声ビデオポートおよびマイクロフォンシステムに動作可能に接続されているサブ可聴チャネル監視モジュールと、少なくとも1つのプロセッサと通信するデータ記憶デバイスとを含む音声制御マルチメディアデバイスであって、データ記憶デバイスが、少なくとも1つのプロセッサによって実行される場合、少なくとも1つのプロセッサに操作を実行させる、格納された命令を含む、音声制御マルチメディアデバイス。操作は、ユーザによる可聴検出のために、利得閾値を下回る第1の利得レベルを有する電気信号を生成するステップをさらに含むことができる。操作は、電気信号をスピーカに送信するステップを含むことができる。操作は、マイクロフォンによって、周囲騒音とプローブ音声信号との組み合わせを含む音声信号を検出するステップをさらに含むことができ、プローブ音声信号は、電気信号に基づいてスピーカによって出力される。操作は、プローブ音声信号の電力レベルを決定するステップを含むことができる。操作は、プローブ音声信号の電力レベルに基づいてディスプレイの状態を決定するステップを含むことができる。
[0253]条項37.電気信号と音声信号との間の相互相関を計算することによって相互相関信号を生成するステップによって、命令が、プロセッサにプローブ音声信号の電力レベルを決定させる、条項36に記載の音声制御マルチメディアデバイス。いくつかの実施形態では、ディスプレイの状態を決定することが、相互相関信号の最大値を検出閾値電力レベルと比較するステップをさらに含み、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルである。
[0254]条項38.電気信号のフーリエ変換を計算することによって変換された電気信号を生成するステップと、音声信号のフーリエ変換を計算することによって変換された音声信号を生成するステップと、変換された音声信号の位相変換を計算することによって正規化された音声信号を生成するステップと、変換された電気信号と正規化された音声信号との間の相互相関を計算することによって、相互相関信号を計算するステップとによって、命令が、プロセッサにプローブ音声信号の電力レベルを決定させる、条項36または37のいずれか一項に記載の音声制御マルチメディアデバイス。いくつかの実施形態では、命令が、プロセッサに、相互相関信号の最大値を検出閾値電力レベルと比較するステップによってディスプレイの状態を決定させるステップであって、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルである。
[0255]条項39.プローブ音声信号の電力レベルは、検出閾値電力レベルよりも低く、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルであり、命令は、さらに、プロセッサに、ディスプレイの状態をオフ状態にあると決定させ、増加した利得レベルを電気信号に適用することによって電気信号を修正させる、条項36から38のいずれか一項に記載の音声制御マルチメディアデバイス。
[0256]条項40.プローブ音声信号の電力レベルは、検出閾値電力レベルよりも低く、検出閾値電力レベルは、プローブ音声信号がユーザに聞こえない電力レベルであり、命令はさらに、プロセッサに、ディスプレイの状態をオフ状態にあると決定し、相互相関を計算する期間を増加させる、条項36から39のいずれか一項に記載の音声制御マルチメディアデバイス。