(57)【特許請求の範囲】
【請求項１】
音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するためのシステムであって、
ネットワーク上でクライアントデバイスネットワークインターフェースを介してデータパケットを送信するためにクライアントデバイスのプロセッサによって実行されるデジタルアシスタントアプリケーションであって、前記データパケットが、前記クライアントデバイスのセンサーによって検出された第1の入力オーディオ信号と、第1のクライアントデバイス構成データとを含む、デジタルアシスタントアプリケーションと、
前記ネットワーク上で、データ処理システムのネットワークインターフェースを介して、前記データパケットを受信するために前記データ処理システムによって実行される自然言語プロセッサ構成要素であって、前記自然言語プロセッサ構成要素が、第1の要求と前記第1の要求に対応する第1のトリガキーワードとを識別するために前記第1の入力オーディオ信号をパースする、自然言語プロセッサ構成要素と、
前記クライアントデバイスに関連するディスプレイがオフ状態にあると前記第1のクライアントデバイス構成データから決定することと、
前記第1のトリガキーワードと前記ディスプレイの前記オフ状態とに部分的に基づいて、第1の応答データ構造を生成することであって、前記第1の応答データ構造が、前記第1の要求に応答する、オーディオデータを含み、ビデオデータを含まない、生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第1の応答データ構造を送信することと
を行うために前記データ処理システムによって実行されるクライアントデバイス構成機器と
を備える、システム。
【請求項２】
前記第1のクライアントデバイス構成データから、前記クライアントデバイスにおける少なくとも1つのスピーカーの現在のボリュームレベルを決定することと、
前記クライアントデバイスにおける前記少なくとも1つのスピーカーのための第1のボリュームレベルを含む第1のクライアントデバイス構成設定を生成することであって、前記第1のボリュームレベルが前記現在のボリュームレベルおよび最小応答オーディオレベルよりも大きい、生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第1のクライアントデバイス構成設定を送信することと
を行うために前記データ処理システムによって実行される前記クライアントデバイス構成機器
を備える、請求項1に記載のシステム。
【請求項３】
前記ネットワーク上で前記クライアントデバイスネットワークインターフェースを介してデータパケットを送信するために前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションであって、前記データパケットが、前記クライアントデバイスのセンサーによって検出された第2の入力オーディオ信号と、第2のクライアントデバイス構成データとを含む、前記デジタルアシスタントアプリケーションと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記データパケットを受信するために前記データ処理システムによって実行される前記自然言語プロセッサ構成要素であって、前記自然言語プロセッサ構成要素が、第2の要求と前記第2の要求に対応する第2のトリガキーワードとを識別するために前記第2の入力オーディオ信号をパースする、前記自然言語プロセッサ構成要素と、
前記クライアントデバイスに関連する前記ディスプレイがオフ状態にあると前記第2のクライアントデバイス構成データから決定することと、
前記クライアントデバイスに関連する前記ディスプレイのためのオン状態を含む第2のクライアントデバイス構成設定を生成することと、
第2の応答データ構造を生成することであって、前記第2の応答データ構造が、ビデオデータを含み、前記第2の要求と前記第2のクライアントデバイス構成設定とに応答する、生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第2の応答データ構造を送信することと
を行うために前記データ処理システムによって実行される前記クライアントデバイス構成機器と
を備える、請求項1に記載のシステム。
【請求項４】
前記ネットワーク上で、前記クライアントデバイスの前記ネットワークインターフェースを介して、前記第2の応答データ構造を受信することであって、前記第2の応答データ構造がビデオデータと前記第2のクライアントデバイス構成設定とを含む、受信することと、
前記クライアントデバイスに関連する前記ディスプレイがオン状態に切り替わることを引き起こすことと、
前記ビデオデータが前記ディスプレイ上に表示されることを引き起こすことと
を行うために前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーション
を備える、請求項3に記載のシステム。
【請求項５】
前記ネットワーク上で前記クライアントデバイスネットワークインターフェースを介してデータパケットを送信するために前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションであって、前記データパケットが、前記クライアントデバイスのセンサーによって検出された第3の入力オーディオ信号と、第3のクライアントデバイス構成データとを含む、前記デジタルアシスタントアプリケーションと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記データパケットを受信するために前記データ処理システムによって実行される前記自然言語プロセッサ構成要素であって、前記自然言語プロセッサ構成要素が、第3の要求と前記第3の要求に対応する第3のトリガキーワードとを識別するために前記第3の入力オーディオ信号をパースする、前記自然言語プロセッサ構成要素と、
前記クライアントデバイスに関連する前記ディスプレイがオン状態にあると前記第3のクライアントデバイス構成データから決定することと、
前記第3のトリガキーワードと前記ディスプレイの前記オン状態とに部分的に基づいて、第3の応答データ構造を生成することであって、前記第3の応答データ構造が、前記第3の要求に応答する、オーディオデータとビデオデータとを含む、生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第3の応答データ構造を送信することと
を行うために前記データ処理システムによって実行される前記クライアントデバイス構成機器と
を備える、請求項1に記載のシステム。
【請求項６】
ステータスビデオデータを生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記第3の応答データ構造の前記送信より前に前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記ステータスビデオデータを送信することと
を行うために前記データ処理システムによって実行される前記クライアントデバイス構成機器と、
前記クライアントデバイスに関連する前記ディスプレイ上に前記ステータスビデオデータを表示するために前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションと
を備える、請求項5に記載のシステム。
【請求項７】
前記クライアントデバイス上の発光ステータスインジケータの起動を示す構成設定を生成することと、
前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記第1の応答データ構造の前記送信より前に前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記構成設定を送信することと
を行うために前記データ処理システムによって実行される前記クライアントデバイス構成機器
を備える、請求項1に記載のシステム。
【請求項８】
前記クライアントデバイスの前記ネットワークインターフェースを介して、前記ネットワーク上で、前記クライアントデバイス上の発光ステータスインジケータの起動を示す前記構成設定を受信することと、
前記クライアントデバイス上の発光ステータスインジケータが起動することを引き起こすことと
を行うためにクライアントデバイスのプロセッサによって実行される前記デジタルアシスタントアプリケーション
を備える、請求項7に記載のシステム。
【請求項９】
前記クライアントデバイスが無線周波数チューナーを含む、請求項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のクライアントデバイス構成設定を前記ネットワーク上で送信するステップと
を含む、請求項11に記載の方法。
【請求項１３】
前記クライアントデバイスネットワークインターフェースを介して、前記ネットワーク上で、前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションによってデータパケットを送信するステップであって、前記データパケットが、前記クライアントデバイスの前記センサーによって検出された第2の入力オーディオ信号と、第2のクライアントデバイス構成データとを含む、ステップと、
前記データ処理システムによって実行される前記自然言語プロセッサ構成要素において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記データパケットを受信するステップであって、前記自然言語プロセッサ構成要素が、第2の要求と前記第2の要求に対応する第2のトリガキーワードとを識別するために前記第2の入力オーディオ信号をパースする、ステップと、
前記データ処理システムによって実行される前記クライアントデバイス構成機器において、前記クライアントデバイスに関連する前記ディスプレイがオフ状態にあると前記第2のクライアントデバイス構成データから決定するステップと、
前記クライアントデバイス構成機器において、前記クライアントデバイスに関連する前記ディスプレイのためのオン状態を含む第2のクライアントデバイス構成設定を生成するステップと、
前記クライアントデバイス構成機器において、前記第2のトリガキーワードに部分的に基づいて、第2の応答データ構造を生成するステップであって、前記第2の応答データ構造が、ビデオデータを含み、前記第2の要求と前記第2のクライアントデバイス構成設定とに応答する、ステップと、
前記クライアントデバイス構成機器において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第2の応答データ構造を送信するステップと
を含む、請求項11に記載の方法。
【請求項１４】
前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションにおいて、前記ネットワーク上で、前記クライアントデバイスの前記ネットワークインターフェースを介して、前記第2の応答データ構造を受信するステップであって、前記第2の応答データ構造がビデオデータと前記第2のクライアントデバイス構成設定とを含む、ステップと、
前記デジタルアシスタントアプリケーションによって、前記クライアントデバイスに関連する前記ディスプレイがオン状態に切り替わることを引き起こすステップと、
前記デジタルアシスタントアプリケーションによって、前記ビデオデータが前記クライアントデバイスに関連する前記ディスプレイ上に表示されることを引き起こすステップと
を含む、請求項13に記載の方法。
【請求項１５】
前記クライアントデバイスネットワークインターフェースを介して、前記ネットワーク上で、前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションによってデータパケットを送信するステップであって、前記データパケットが、前記クライアントデバイスの前記センサーによって検出された第3の入力オーディオ信号と、第3のクライアントデバイス構成データとを含む、ステップと、
前記データ処理システムによって実行される前記自然言語プロセッサ構成要素において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記データパケットを受信するステップであって、前記自然言語プロセッサ構成要素が、第3の要求と前記第3の要求に対応する第3のトリガキーワードとを識別するために前記第3の入力オーディオ信号をパースする、ステップと、
前記データ処理システムによって実行される前記クライアントデバイス構成機器において、前記クライアントデバイスに関連する前記ディスプレイがオン状態にあると前記第3のクライアントデバイス構成データから決定するステップと、
前記クライアントデバイス構成機器において、前記第3のトリガキーワードと前記ディスプレイの前記オン状態とに部分的に基づいて、第3の応答データ構造を生成するステップであって、前記第3の応答データ構造が、ビデオデータを含み、前記第3の要求と第3のクライアントデバイス構成設定とに応答する、ステップと、
前記クライアントデバイス構成機器において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記第3の応答データ構造を送信するステップと
を含む、請求項11に記載の方法。
【請求項１６】
前記クライアントデバイス構成機器において、ステータスビデオデータを生成するステップと、
前記クライアントデバイス構成機器において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記第3の応答データ構造の前記送信より前に前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記ステータスビデオデータを送信するステップと、
前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションによって、前記ステータスビデオデータが前記クライアントデバイスに関連する前記ディスプレイ上に表示されることを引き起こすステップと
を含む、請求項15に記載の方法。
【請求項１７】
前記クライアントデバイス構成機器において、前記クライアントデバイス上の発光ステータスインジケータの起動を示す構成設定を生成するステップと、
前記クライアントデバイス構成機器において、前記ネットワーク上で、前記データ処理システムの前記ネットワークインターフェースを介して、前記第1の応答データ構造の前記送信より前に前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションに前記構成設定を送信するステップと
を含む、請求項11に記載の方法。
【請求項１８】
前記クライアントデバイスにおける前記デジタルアシスタントアプリケーションにおいて、前記クライアントデバイス上の発光ステータスインジケータの起動を示す前記構成設定を受信するステップと、
前記デジタルアシスタントアプリケーションによって、前記クライアントデバイス上の前記発光ステータスインジケータが起動することを引き起こすステップと
を含む、請求項17に記載の方法。
【請求項１９】
前記クライアントデバイスが無線周波数チューナーを含む、請求項11に記載の方法。
【請求項２０】
前記クライアントデバイスの前記プロセッサによって実行される前記デジタルアシスタントアプリケーションにおいて、前記ネットワーク上で、前記クライアントデバイスの前記ネットワークインターフェースを介して、前記第1の応答データ構造を受信するステップであって、前記第1の応答データ構造が、前記第1の要求に応答する、オーディオデータを含み、ビデオデータを含まない、ステップと、
前記デジタルアシスタントアプリケーションによって、前記オーディオデータを決定するステップと、
前記デジタルアシスタントアプリケーションによって、前記オーディオデータが前記クライアントデバイスの少なくとも1つのスピーカー上で再生されることを引き起こすステップと
を含む、請求項11に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、レイテンシを考慮したディスプレイモード依存応答生成に関する。
【背景技術】
【０００２】
コンピューティングデバイス間のネットワークトラフィックデータの、パケットベースのまたはそれ以外の、過度のネットワーク送信は、コンピューティングデバイスが、ネットワークトラフィックデータを適切に処理すること、ネットワークトラフィックデータに関係する動作を完了すること、またはネットワークトラフィックデータに適時に応答することを妨げることがある。ネットワークトラフィックデータの過度のネットワーク送信はまた、データルーティングを複雑にするか、または、応答コンピューティングデバイスがその処理キャパシティ以上にある場合に応答の品質を劣化させることがあり、それにより、非効率的な帯域利用を生じ得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示の一態様によれば、音声起動された(voice activated)コンピュータネットワーク中のパケット化されたオーディオ信号を処理するためのシステム。本システムは、ネットワーク上でクライアントデバイスネットワークインターフェースを介してデータパケットを送信するためにクライアントデバイスのプロセッサによって実行されるデジタルアシスタントアプリケーションであって、データパケットが、クライアントデバイスのセンサーによって検出された第1の入力オーディオ信号と、第1のクライアントデバイス構成データとを含む、デジタルアシスタントアプリケーションを含む。本システムは、ネットワーク上で、データ処理システムのネットワークインターフェースを介して、データパケットを受信するためにデータ処理システムによって実行される自然言語プロセッサ構成要素であって、自然言語プロセッサ構成要素が、第1の要求と第1の要求に対応する第1のトリガキーワードとを識別するために第1の入力オーディオ信号をパースする、自然言語プロセッサ構成要素をも含む。本システムは、クライアントデバイスに関連するディスプレイがオフ状態にあると第1のクライアントデバイス構成データから決定するためにデータ処理システムによって実行されるクライアントデバイス構成機器をさらに含む。第1のトリガキーワードとディスプレイのオフ状態とに部分的に基づいて、第1の応答データ構造を生成することであって、第1の応答データ構造が、第1の要求に応答する、オーディオデータを含み、ビデオデータを含まない、生成することと、ネットワーク上で、データ処理システムのネットワークインターフェースを介して、クライアントデバイスにおけるデジタルアシスタントアプリケーションに第1の応答データ構造を送信することとを行うためにデータ処理システムによって実行される構成機器。
【０００４】
本開示の一態様によれば、音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための方法。本方法は、クライアントデバイスネットワークインターフェースを介して、ネットワーク上で、クライアントデバイスのプロセッサによって実行されるデジタルアシスタントアプリケーションによってデータパケットを送信するステップであって、データパケットが、クライアントデバイスのセンサーによって検出された第1の入力オーディオ信号と、第1のクライアントデバイス構成データとを含む、ステップを含む。本方法は、データ処理システムによって実行される自然言語プロセッサ構成要素において、ネットワーク上で、データ処理システムのネットワークインターフェースを介して、データパケットを受信するステップであって、自然言語プロセッサ構成要素が、第1の要求と第1の要求に対応する第1のトリガキーワードとを識別するために第1の入力オーディオ信号をパースする、ステップをさらに含む。本方法は、データ処理システムによって実行されるクライアントデバイス構成機器において、クライアントデバイスに関連するディスプレイがオフ状態にあると第1のクライアントデバイス構成データから決定するステップをも含む。本方法は、クライアントデバイス構成機器において、第1のトリガキーワードとディスプレイのオフ状態とに部分的に基づいて、第1の応答データ構造を生成するステップであって、第1の応答データ構造が、第1の要求に応答する、オーディオデータを含み、ビデオデータを含まない、ステップをさらに含む。本方法は、ネットワーク上で、データ処理システムのネットワークインターフェースを介して、クライアントデバイスにおけるデジタルアシスタントアプリケーションに第1の応答データ構造を送信するステップをさらに含む。
【０００５】
これらおよび他の態様および実装形態が、以下で詳細に説明される。上記の情報および以下の発明を実施するための形態は、様々な態様および実装形態の例示的な例を含み、請求される態様および実装形態の性質および特性を理解するための概観または枠組を与える。図面は、様々な態様および実装形態の例示およびさらなる理解を与え、本明細書の一部に組み込まれ、本明細書の一部を構成する。
【０００６】
添付の図面は、一定の縮尺で描かれるものではない。様々な図面における同様の参照番号および名称は、同様の要素を示す。明快のために、あらゆる構成要素があらゆる図面においてラベリングされるとは限らない。
【図面の簡単な説明】
【０００７】
【図１】音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための例示的なシステムを示す図である。
【図２】例示的なクライアントデバイスのブロック図である。
【図３】音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための方法の流れ図である。
【図４】音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための方法の流れ図である。
【図５】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【０００８】
音声起動されたデータパケット(または他のプロトコル)ベースのコンピュータネットワーク環境中のパケット化されたデータのマルチモード送信のための方法、装置、およびシステムに関係する様々な概念、ならびにそれらの方法、装置、およびシステムの実装形態のより詳細な説明が以下で続く。上記で紹介され、以下でより詳細に説明される様々な概念は、多数のやり方のいずれかで実装され得る。
【０００９】
本開示は、一般に、異種コンピューティングリソース上での情報送信および処理の効率および有効性を改善することを対象とする。異種コンピューティングリソースにとって、音声ベースのコンピューティング環境中でオーディオベースの命令に対する応答を効率的に処理することは難しい。たとえば、異種コンピューティングリソースは、ディスプレイとスピーカーの両方を含むクライアントデバイスのためのオーディオベースの命令を受信し得る。オーディオコンポーネントに加えて視覚コンポーネントを含む応答を生成し、クライアントデバイスに送信することは、コンピューティングリソースを消費することがあり、クライアントデバイスにおける命令に対する応答時間に影響を及ぼすことがある。
【００１０】
本ソリューションは、クライアントデバイスから受信された構成データに部分的に基づいて音声ベースの命令に対する応答を生成することによって、リソース消費、プロセッサ利用、バッテリー消費、または帯域利用を低減することができる。特に、データ処理システムは、クライアントデバイスのディスプレイがオフに切り替えられる場合、視覚応答を生成することを控えることができる。
【００１１】
本開示のシステムおよび方法は、一般に、コンピュータネットワークを介して、パケット化されたアクションをルーティングするデータ処理システムを対象とする。データ処理システムは、音声ベースの命令がそこから受信されるクライアントデバイスの構成に部分的に基づいて音声ベースの命令を処理することができる。たとえば、テレビジョン(TV)など、クライアントデバイス上で実行しているデジタルアシスタントは、ユーザから音声ベースの命令を収集し、TVのディスプレイがオン状態にあるのかオフ状態にあるのかなど、TVに関連する構成データに加えて音声ベースの命令を送信することができる。データ処理システムは、音声ベースの命令を処理し、ディスプレイの状態に部分的に基づいて応答を生成することができる。たとえば、ディスプレイの状態がオフである場合、データ処理システムは、オーディオコンポーネントを含むがビデオコンポーネントを含まない応答を生成し得る。
【００１２】
本ソリューションは、クライアントデバイスから受信された構成データに部分的に基づいて音声ベースの命令に対する応答を生成することによって、リソース消費、プロセッサ利用、バッテリー消費、または帯域利用を低減することができる。特に、データ処理システムは、クライアントデバイスのディスプレイがオフに切り替えられる場合、視覚応答を生成することを控えることができる。
【００１３】
図1は、音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための例示的なシステム100を示す。システム100は、少なくとも1つのデータ処理システム102と、1つまたは複数のクライアントコンピューティングデバイス128(「クライアントデバイス128」)とを含むことができる。データ処理システム102はインターフェース104を含むことができる。データ処理システム102は、オーディオベースの入力をパースするための自然言語プロセッサ(NLP)構成要素106を含むことができる。データ処理システム102は、システム100中の他のデバイスのインターフェースを検出し、管理するためのインターフェース管理構成要素108を含むことができる。データ処理システム102は、オーディオベースの信号を生成するためのオーディオ信号生成器構成要素110を含むことができる。データ処理システム102は、ビデオベースの信号を生成するためのビデオ信号生成器構成要素150を含むことができる。データ処理システム102は、ダイレクトアクションアプリケーションプログラミングインターフェース(API)112を含むことができる。データ処理システム102は、オーディオベースの入力信号に対する応答を選択するための応答選択器構成要素114を含むことができる。データ処理システム102は、クライアントデバイス構成機器116を含むことができる。データ処理システム102はデータリポジトリ118を含むことができ、データ処理システム102は、データリポジトリ118にパラメータ120と、ポリシー122と、応答データ124と、テンプレート126とを記憶することができる。クライアントデバイス128は、データ処理システム102の構成要素のインスタンスを含み、実行することができる。
【００１４】
クライアントデバイス128は、センサー130と、スピーカー132と、ディスプレイ140とを含むことができる。クライアントデバイス128はまた、NLP構成要素106のインスタンスを実行することができる。システム100は、1つまたは複数のデータプロバイダコンピューティングデバイス138をも含むことができる。システム100の構成要素はネットワーク142上で通信することができる。ネットワーク142は、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、メトロエリアネットワーク、または他のエリアネットワークなどのコンピュータネットワーク、イントラネット、衛星ネットワーク、音声またはデータモバイルフォン通信ネットワークなどの他のコンピュータネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、ウェブページ、ウェブサイト、ドメイン名、ユニフォームリソースロケータ、またはデータプロバイダ138などの情報リソースにアクセスするために、データ処理システム102およびクライアントデバイス128によって使用され得る。たとえば、データ処理システム102は、ネットワーク142を介して、クライアントデバイス128に関連するロケーションなど、特定のロケーションのための天気データを与えるデータプロバイダ138にアクセスすることができる。
【００１５】
ネットワーク142は、たとえば、ポイントツーポイントネットワーク、ブロードキャストネットワーク、ワイドエリアネットワーク、ローカルエリアネットワーク、電気通信ネットワーク、データ通信ネットワーク、コンピュータネットワーク、ATM(非同期転送モード)ネットワーク、SONET(同期光ネットワーク)ネットワーク、SDH(同期デジタルハイアラーキ)ネットワーク、ワイヤレスネットワークまたはワイヤラインネットワーク、およびそれらの組合せを含むことができる。ネットワーク142は、赤外チャネルまたは衛星帯域など、ワイヤレスリンクを含むことができる。ネットワーク142のトポロジーは、バス、スター、またはリングネットワークトポロジーを含み得る。ネットワーク142は、高度モバイルフォンプロトコル(AMPS)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、モバイル通信用グローバルシステム(GSM)、汎用パケット無線サービス(GPRS)、またはユニバーサルモバイルテレコミュニケーションズシステム(UMTS)を含む、モバイルデバイスの間で通信するために使用される任意の1つまたは複数のプロトコルを使用する携帯電話網を含むことができる。異なるタイプのデータが異なるプロトコルを介して送信され得るか、または、同じタイプのデータが異なるプロトコルを介して送信され得る。
【００１６】
クライアントデバイス128は、各々、ネットワーク142を介してデータ処理システム102と互いに通信するためのプロセッサを有するコンピューティングデバイスなど、少なくとも1つの論理デバイスを含むことができる。クライアントデバイス128は、データ処理システム102に関して説明される構成要素のいずれかのインスタンスを含むことができる。クライアントデバイス128は、テレビジョン、デスクトップコンピュータ、ラップトップ、タブレットコンピュータ、携帯情報端末、スマートフォン、モバイルデバイス、ポータブルコンピュータ、シンクライアントコンピュータ、仮想サーバ、スピーカーベースのデジタルアシスタント、または他のコンピューティングデバイスを含むことができる。クライアントデバイス128は、データ処理システム102またはデータプロバイダ138から受信されたオーディオデータならびに視覚データを再生することが可能であるコンピューティングデバイスを含むことができる。
【００１７】
クライアントデバイス128は、少なくとも1つのセンサー130と、少なくとも1つのスピーカー132と、少なくとも1つのディスプレイ140とを含むことができる。センサー130は、マイクロフォンまたはオーディオ入力センサーを含むことができる。センサー130は、GPSセンサー、近接度センサー、周辺光センサー、温度センサー、動きセンサー、加速度計、またはジャイロスコープのうちの少なくとも1つをも含むことができる。センサー130は、占有または重量センサーを含むことができる。スピーカー132は、電気信号を可聴波に変換することによってオーディオ信号をレンダリングすることができる。ディスプレイ140は、発光ダイオード(LED)ディスプレイ、有機LED(OLED)ディスプレイ、プラズマディスプレイ、プロジェクタディスプレイ、ホログラフィックディスプレイなどを含むことができる。ディスプレイ140は、クライアントデバイス128によって受信された画像およびビデオをレンダリングすることができる。
【００１８】
クライアントデバイス128はエンドユーザに関連することができ、エンドユーザは、(センサー130を介して)クライアントデバイス128に入力オーディオ信号として音声クエリを入力し、データ処理システム102から与えられ得るコンピュータ生成音声または画像の形態のオーディオまたはビデオ出力を受信する。入力オーディオ信号に応答して、クライアントデバイス128はまた、所定の機能またはアクションを実行するためのアクションデータ構造を受信することができる。クライアントデバイス128は、データメッセージを受信するか、またはデータメッセージをデータ処理システム102のダイレクトアクションAPI112に与え、システム100の構成要素間の通信を可能にすることができる。クライアントデバイス128は、ユーザがシステム100の構成要素と対話することを可能にするユーザインターフェースをも含むことができる。
【００１９】
システム100のデータ処理システム102は、少なくとも1つのプロセッサを有する少なくとも1つのサーバを含むことができる。たとえば、データ処理システム102は、少なくとも1つのデータセンターまたはサーバファーム中に配置された複数のサーバを含むことができる。データ処理システム102は、オーディオ入力信号から、要求とその要求に関連するトリガキーワードとを決定することができる。要求とトリガキーワードとに基づいて、データ処理システム102は、応答データを生成または選択することができる。応答データは、オーディオベースのデータ、ビデオベースのデータ、またはテキストベースのデータを含むことができる。たとえば、応答データは、レンダリングされたときにオーディオ出力または音響波を与える1つまたは複数のオーディオファイルを含むことができる。応答データ内のデータは、コンテンツアイテムと呼ばれることもある。
【００２０】
データ処理システム102は、複数の論理的にグループ化されたサーバを含み、分散コンピューティング技法を可能にすることができる。サーバの論理グループは、データセンター、サーバファームまたはマシンファームと呼ばれることもある。サーバは地理的に分散され得る。データセンターまたはマシンファームは単一のエンティティとして管理され得るか、または、マシンファームは複数のマシンファームを含むことができる。各マシンファーム内のサーバは異種であり得、すなわち、サーバまたはマシンのうちの1つまたは複数は、1つまたは複数のタイプのオペレーティングシステムプラットフォームに従って動作することができる。データ処理システム102は、たとえば企業データセンター中に配置された、関連するストレージシステムとともに、1つまたは複数の高密度ラックシステムに格納された、データセンター中のサーバを含むことができる。このようにして統合サーバをもつデータ処理システム102は、局所高性能ネットワーク上にサーバと高性能ストレージシステムとを配置することによって、システム管理性(manageability)と、データセキュリティと、システムの物理的セキュリティと、システム性能とを改善することができる。サーバとストレージシステムとを含む、データ処理システム102の構成要素の全部または一部の集中化と、それらを高度システム管理ツールと結合することとが、サーバリソースのより効率的な使用を可能にし、これは、電力要件および処理要件を節約し、帯域幅使用を低減する。データ処理システム102の構成要素の各々は、少なくとも1つの処理ユニット、サーバ、仮想サーバ、回路、エンジン、エージェント、機器、または、データリポジトリ118および他のコンピューティングデバイスと通信するように構成されたプログラマブル論理アレイなどの他の論理デバイスを含むことができる。
【００２１】
データ処理システム102はデータリポジトリ118を含むことができる。データリポジトリ118は、1つまたは複数のローカルまたは分散データベースを含むことができ、データベース管理システムを含むことができる。データリポジトリ118は、コンピュータデータストレージまたはメモリを含むことができ、データの中でも、1つまたは複数のパラメータ120と、1つまたは複数のポリシー122と、応答データ124と、テンプレート126とを記憶することができる。パラメータ120と、ポリシー122と、テンプレート126とは、クライアントデバイス128とデータ処理システム102との間の音声ベースのセッションに関するルールなどの情報を含むことができる。応答データ124は、オーディオ出力、画像/ビデオ出力、または関連するメタデータのためのコンテンツアイテム、ならびに、クライアントデバイス128との1つまたは複数の通信セッションの一部であり得る入力オーディオメッセージを含むことができる。
【００２２】
データ処理システム102に関連するアプリケーション、スクリプト、プログラム、または他の構成要素が、クライアントデバイス128においてインストールされ得る。アプリケーションは、クライアントデバイス128が入力オーディオ信号(および他のデータ)をデータ処理システム102のインターフェース104に通信することを可能にすることができる。アプリケーションは、クライアントデバイス128が、出力オーディオ、画像、またはビデオ信号をレンダリングするためにクライアントデバイス128の構成要素を駆動することを可能にすることができる。
【００２３】
データ処理システムのNLP構成要素106は、入力オーディオ信号を受信することができる。データ処理システム102は、クライアントデバイス128から入力オーディオ信号を受信することができる。NLP構成要素106は、入力オーディオ信号をオーディオ波形の記憶された代表的セットと比較し、最も近い一致を選定することによって、入力オーディオ信号を、認識されるテキストに変換することができる。代表的波形は、入力オーディオ信号の大きいセットにわたって生成され得る。入力オーディオ信号が、認識されるテキストに変換されると、NLP構成要素106は、そのテキストを、たとえば、学習段階を介してアクションまたは出力オーディオ信号に関連付けられたワードに一致させることができる。入力オーディオ信号から、NLP構成要素106は、少なくとも1つの要求あるいはその要求に対応する少なくとも1つのトリガまたはホットキーワードを識別することができる。要求は、入力オーディオ信号の意図または内容を示すことができる。トリガキーワードは、とられる可能性があるアクションのタイプを示すことができる。
【００２４】
応答選択器構成要素114は、データリポジトリ118から情報を取得することができ、ここで、情報は応答データ124の一部として記憶され得る。応答選択器構成要素114は、たとえば、応答データ124から、応答フレーズまたはコンテンツアイテムを選択するかまたは場合によっては識別するためにデータリポジトリ118を照会することができる。
【００２５】
オーディオ信号生成器構成要素110は、コンテンツアイテムを含む出力信号を生成するかまたは場合によっては取得することができる。データ処理システム102は、コンテンツアイテムまたは要求に対応する出力信号を生成または作成するために、オーディオ信号生成器構成要素110を実行することができる。たとえば、要求が遂行されると、オーディオ信号生成器構成要素110は、「アクションは完了しました(The action was completed)」というフレーズを含むオーディオ出力信号を生成することができる。
【００２６】
ビデオ信号生成器構成要素150は、コンテンツアイテムを含む出力信号を生成するかまたは場合によっては取得することができる。データ処理システム102は、コンテンツアイテムまたは要求に対応する出力信号を生成または作成するために、ビデオ信号生成器構成要素150を実行することができる。たとえば、要求が遂行されると、ビデオ信号生成器構成要素150は、画像またはビデオ出力信号を生成することができ、画像またはビデオ出力信号は、クライアントデバイスのディスプレイ140上に表示されるとき、「アクションは完了しました(The action was completed)」というフレーズを示すことができる。
【００２７】
データ処理システム102は、オーディオビジュアル出力を含む出力信号を生成または作成するために、オーディオ信号生成器構成要素110とビデオ信号生成器構成要素150の両方を実行することができる。
【００２８】
インターフェース104は、システム100の構成要素が互いと通信することを可能にするデータインターフェースまたはネットワークインターフェースであり得る。データ処理システム102のインターフェース104は、ネットワーク142を介して、応答データ構造、オーディオ、画像/ビデオ信号、または他のデータを含む1つまたは複数のデータパケットをクライアントデバイス128に与えるかまたは送信することができる。たとえば、データ処理システム102は、データリポジトリ118から、またはオーディオ信号生成器構成要素110からクライアントデバイス128に出力信号を与えることができる。データ処理システム102はまた、データパケット(または他のプロトコル)ベースのデータ送信を介して、クライアントデバイス128に、応答データ構造において示された機能を実行するように命令することができる。出力信号は、取得されるか、生成されるか、1つまたは複数のデータパケット(または他の通信プロトコル)に変換されるか、または、1つまたは複数のデータパケット(または他の通信プロトコル)としてデータ処理システム102(または他のコンピューティングデバイス)からクライアントデバイス128に送信され得る。
【００２９】
データ処理システム102のダイレクトアクションAPI112は、たとえば、要求に基づいて、応答データ構造を生成することができる。ダイレクトアクションAPI112は、クライアントデバイス128の構成にも基づいて、応答データ構造を生成することができる。応答データ構造は、要求を満たすための指定されたアクションの実行のためのデータまたは命令を含むことができる。応答データ構造は、JSONフォーマットされたデータ構造またはXMLフォーマットされたデータ構造を含むことができる。
【００３０】
クライアントデバイス構成機器116は、クライアントデバイス128の現在の構成を決定することができる。クライアントデバイス128から受信されたデータパケットは、クライアントデバイス128の構成データを含むことができる。構成データは、クライアントデバイス128の1つまたは複数の構成要素のステータスを含むことができる。たとえば、構成データは、クライアントデバイス128のディスプレイ140のオン状態またはオフ状態に関する情報を含むことができる。構成データは、クライアントデバイス128のスピーカーの現在のボリューム設定(「ミュート」または「ボリュームレベル」)をも含むことができる。要求において指定されたアクションと、構成データとに応じて、クライアントデバイス構成機器116は、要求を遂行するために必要とされるパラメータを識別するコードまたはダイアログスクリプトを実行することができる。クライアントデバイス構成機器116は、要求および構成データに応答する応答データ構造を生成することができる。応答データ構造は、クライアントデバイス128に送信されるか、またはクライアントデバイス128によって受信されるメッセージ中に含まれ得る。クライアントデバイス128の動作に関連したクライアントデバイス構成機器116の動作が、例示的なクライアントデバイスの説明の後に、以下でさらに説明される。
【００３１】
図2は、例示的なクライアントデバイス200のブロック図を示す。特に、クライアントデバイス200は、TVまたは他のディスプレイベースのデバイスを含むことができ、図1に示されているクライアントデバイス128を実装するために使用され得る。クライアントデバイス200は、フレームまたはベゼル232によって囲まれたディスプレイスクリーン202を含む。ディスプレイスクリーン202は、発光ダイオード(LED)、有機LED(OLED)、プラズマなどの発光要素を含むことができる。ディスプレイスクリーン202は、タッチインターフェースをも含み得る。クライアントデバイス200は、ディスプレイスクリーンの代わりに(たとえば、デジタル光プロジェクタ(DLP)などの)プロジェクタを含むことができる。プロジェクタは、クライアントデバイス200からリモートにある投影面上に画像またはビデオを投影することができる。クライアントデバイス200は、クライアントデバイス200の動作を制御するための制御モジュール204をさらに含むことができる。制御モジュール204は、プロセッサ208と、メモリ218と、スピーカー220と、マイクロフォン222と、ディスプレイコントローラ224と、ストレージ226と、ネットワークインターフェース228とを含むことができる。制御モジュール204の構成要素はデータバス206に接続され得、データバス206はデータモジュール間の通信を可能にする。しかしながら、制御モジュール204の様々な構成要素は、データバス206以外の通信チャネル上で他の構成要素と直接通信することができる。図2には示されていないが、クライアントデバイスは、無線周波数アンテナ、または同軸ケーブルなどの無線周波数コネクタをさらに含むか、または、それに接続可能であり得る。制御モジュール204は、無線周波数チャネルに同調し、無線周波数チャネル上で情報を受信するための無線周波数チューナーおよび無線周波数受信機回路をさらに含むことができる。たとえば、クライアントデバイスは、ディスプレイ202上に表示され得る、プログラミングの様々なチャネルを受信するための無線周波数チューナーおよび無線周波数を含むテレビジョンであり得る。クライアントデバイス200は、ベゼル232上に配設された発光ステータスインジケータ230をも含む。発光ステータスインジケータ230は、LED、OLED、白熱電球、または他の発光要素など、1つまたは複数の発光要素を含むことができる。発光ステータスインジケータ230はベゼル232上に配置されるものとして図2に示されているが、発光ステータスインジケータはまた、それらがユーザによって可視である限り、たとえば、クライアントデバイス200のスタンド上に、またはクライアントデバイス200の側部に沿ってなど、クライアントデバイス200上のどこにでも配置され得る。
【００３２】
プロセッサ208は、メモリ218に記憶された1つまたは複数のプログラム、ソフトウェアモジュール、またはアプリケーションに関連する命令を実行することができる1つまたは複数のマイクロプロセッサを含むことができる。メモリ218は、NLP106、デジタルアシスタントアプリケーション210、TVアプリケーション212、TVオペレーティングシステム214、およびTV構成データ216など、いくつかのソフトウェアモジュールを含むことができる。NLP106は、図1に示されているデータ処理システム102に関して上記で説明されたNLP106と同様であり得る。NLP106は、デジタルアシスタントアプリケーション210によって受信された音声コマンドを処理し、音声コマンドを処理するためにデジタルアシスタントアプリケーション210によって使用され得る、要求およびトリガキーワードを決定することができる。デジタルアシスタントアプリケーション210は、いくつかのタスクを実行するか、または音声コマンドに基づいてユーザに情報を与えることができる。デジタルアシスタントアプリケーション210は、音声コマンドを処理し、音声コマンドに応答するためにデータ処理システム102(図1)と通信することができる。たとえば、デジタルアシスタントは、音声コマンドに関連するオーディオ信号をデータパケットに処理し、それらのデータパケットをデータ処理システム102に送ることができる。デジタルアシスタントアプリケーション210はまた、データ処理システム102からオーディオまたはビデオ信号応答を受信し、クライアントデバイス200上でオーディオまたはビデオ信号を再生することができる。デジタルアシスタントアプリケーション210は、たとえば、会話様式で、データ処理システム102と通信することなしにユーザコマンドを処理し、それに応答することができる。たとえば、音声コマンドが、ローカルに遂行され得る要求を含む場合、デジタルアシスタントアプリケーション210は、データ処理システム102に要求を送る代わりにクライアントデバイス200においてローカルに要求を処理することができる。ローカルに遂行され得る要求の例は、「ライトをオフにしてください(turn off the lights)」、「TVをオフに切り替えてください(switch OFF the TV)」、「スピーカーをミュートにしてください(mute the speakers)」などを含むことができる。
【００３３】
TVアプリケーション212は、クライアントデバイス200上で実行され得る様々なアプリケーションを含むことができる。TVアプリケーションは、ユーティリティ、エンターテインメント、ビデオ、バンキング、設定、および他のそのようなアプリケーションを含むことができる。TVオペレーティングシステム214は、webOSスマートTV、Android TVなどのスマートTVオペレーティングシステムを含むことができる。TVオペレーティングシステム214は、リモートコントローラ、クライアントデバイス上のスイッチ/ボタン、ディスプレイ202上のタッチインターフェース、またはクライアントデバイス200とワイヤレス通信しているモバイルフォンなどの他のデバイスを介してユーザコマンドを受信するためのユーザインターフェースを与えることができる。TVオペレーティングシステムは、TVアプリケーション212と、デジタルアシスタントアプリケーション120と、TVアプリケーション212とをローンチまたは実行するためのプロセッサ、周辺機器、および処理リソースをも与えることができる。たとえば、TVオペレーティングシステム214は、デジタルアシスタントアプリケーション210が、スピーカー220と、マイクロフォン222と、ディスプレイコントローラ224と、ストレージ226と、ネットワークインターフェース228とにアクセスすることを可能にすることができる。
【００３４】
メモリ218は、TV構成データ216をも記憶することができ、TV構成データ216は、クライアントデバイス200の状態に関する情報を含むことができる。TV構成データ216は、クライアントデバイス200の様々な態様または構成要素の識別情報と、それらの対応する状態とを含むデータ構造を含むことができる。たとえば、TV構成データ216は、(たとえば、「ディスプレイ」などの)ディスプレイの識別情報と、(「オン」または「オフ」などの)ディスプレイの現在状態とを含むことができる。構成データ216は、他の構成要素の識別情報および対応する状態を含み得る。たとえば、構成データ216は、スピーカーの「オン」または「オフ」などの現在状態を記憶することに加えて、スピーカー220の現在設定されているボリュームを含むことができる。構成データ216はまた、デジタルアシスタントアプリケーション210がユーザと通信することができる、スピーカー220の最小ボリュームレベルを記憶し得る。いくつかの事例では、デジタルアシスタントアプリケーション210は、ユーザが、可聴応答、リマインダ、またはアラームをユーザに与えるためにデジタルアシスタントアプリケーション210が使用することができる、スピーカー220の好ましい最小ボリュームレベルを設定することを可能にすることができる。デジタルアシスタントアプリケーション210は、ユーザが、スピーカーのミュート状態を無効にし、可聴応答をユーザに与えるときにスピーカー220のボリュームを最小ボリュームレベルに設定するための許可をデジタルアシスタントアプリケーション210に与えることを可能にすることができる。デジタルアシスタントアプリケーション210は、音声コマンド要求とは別々に、または音声コマンド要求とともに、構成データ216をデータ処理システム102に送ることができる。
【００３５】
スピーカー220は、オーディオ信号を対応する可聴音に変換する1つまたは複数のトランスデューサを含むことができる。スピーカー220はオーディオコントローラからオーディオ信号を受信することができ、オーディオコントローラは、デジタルアナログ変換器と、増幅器と、ファイラーと、信号処理回路とを含むことができる。TVオペレーティングシステム214は、オーディオコントローラとインターフェースするために、クライアントデバイス200アプリケーションプログラマブルインターフェース(API)上で実行しているアプリケーションを与えることができる。たとえば、デジタルアシスタントアプリケーション210などのアプリケーションは、オーディオ信号をオーディオコントローラに送るためにAPIを使用することができ、オーディオコントローラは、音を生成するために、対応するアナログ信号をスピーカー220に送ることができる。デジタルアシスタントアプリケーション210はまた、スピーカー220のボリュームをミュートするための「ミュート」など、制御信号を送るか、または、スピーカー220のボリュームを設定するためのボリュームレベルを送ることができる。マイクロフォン222は、音エネルギーを入力オーディオ信号に変換するための1つまたは複数のトランスデューサを含むことができる。少なくとも1つのマイクロフォン222がクライアントデバイス200上に配置され得る。少なくとも1つのマイクロフォン222は、たとえば、リモートコントローラ、スマートフォン、または別のデバイス上など、クライアントデバイスからリモートに配置され得る。リモートに配置されたマイクロフォンによって生成されたオーディオ信号は、ネットワークインターフェース228を通してなど、ワイヤレスリンク上でクライアントデバイス200に送信され得る。TVオペレーティングシステム214は、APIと、マイクロフォン222を制御するためのオーディオコントローラとをも与えることができる。たとえば、デジタルアシスタントアプリケーション210は、構成パラメータをマイクロフォン222に送り、APIを介してマイクロフォン222から入力オーディオ信号を受信することができる。
【００３６】
ディスプレイコントローラ224は、ディスプレイ202を制御するためのハードウェアおよびソフトウェアを含むことができる。特に、ディスプレイコントローラ224は、ビデオまたは画像データを受信し、ビデオまたは画像データをディスプレイ202上の画像に変換することができる。TVオペレーティングシステム214は、ディスプレイコントローラ224からデータを送信および受信するためにクライアントデバイス200上で実行しているアプリケーションプログラムによって使用され得るAPIを与えることができる。たとえば、デジタルアシスタントアプリケーション210は、ディスプレイ202上でのレンダリングのために、データ処理システム102から受信されたビデオまたは画像信号をディスプレイコントローラ224に送ることができる。デジタルアシスタント210はまた、ディスプレイ202の動作を制御するために制御信号またはデータをディスプレイコントローラ224に送ることができる。たとえば、デジタルアシスタント210は、ディスプレイ202をオンに切り替えるかまたはオフに切り替えるために、ディスプレイオンコマンドまたはディスプレイオフコマンドを送ることができる。さらに、デジタルアシスタント210はディスプレイ202のステータスを要求することができ、ここで、要求されたステータスは、ディスプレイ202の現在状態、たとえば、オン状態またはオフ状態を含むことができる。ディスプレイコントローラ224は、要求されたステータスをデジタルアシスタントアプリケーション210に返すことができ、デジタルアシスタントアプリケーション210は、ディスプレイの受信されたステータスをTV構成データ216に記憶することができる。ディスプレイコントローラ224はまた、発光ステータスインジケータ230の動作を制御し得る。クライアントデバイス200は、発光ステータスインジケータ230を制御するための別個のコントローラを含み得る。デジタルアシスタントアプリケーション210は、ディスプレイコントローラ224または任意の他の適切なコントローラを介して発光ステータスインジケータ230のステータスおよび動作を制御することができる。デジタルアシスタントアプリケーション210は、対応するステータスを示す特定のパターンを表示するために発光ステータスインジケータ230を起動するようにとの命令を、データ処理システム102から受信することができる。たとえば、あるパターンは、データ処理システム102が要求を処理していることを示すことができる。別のパターンは、要求が完了したことを示すことができる。デジタルアシスタントアプリケーション210は、これらのパターンの各々に対応する命令のシーケンスおよびデータを記憶し、適切な命令およびデータをディスプレイコントローラ224または任意の他の適切なコントローラに送って、それに応じて発光ステータスインジケータ230を作動させることができる。
【００３７】
ストレージ226は、ハードディスクドライブ、ソリッドステートドライブ、フラッシュメモリなど、不揮発性メモリを含むことができる。ストレージ226は、オペレーティングシステムなどのアプリケーションプログラムと、クライアントデバイス200上で実行され得る様々なアプリケーションとを記憶することができる。ストレージ226は、クライアントデバイス200上で実行している1つまたは複数のアプリケーションによってアクセスまたは操作され得るエンターテインメントデータ、音楽データ、ビデオデータなどのデータをも記憶することできる。ネットワークインターフェース228は、ネットワーク接続性をクライアントデバイス200に与えることができるワイヤードおよびワイヤレスネットワークインターフェースを含むことができる。たとえば、ネットワークインターフェース228は、WIFI、ニアフィールド通信、ワイヤレス通信、および他のワイヤレスネットワークインターフェースを含むことができ、イーサネット、DOCSIS、および他のハードウェアネットワークインターフェースを含むことができる。TVオペレーティングシステム214は、ネットワークインターフェース228を利用してネットワーク上でデータを通信するために、クライアントシステム上で実行しているアプリケーションのためのAPIを与えることができる。たとえば、デジタルアシスタント210は、ネットワーク142(図1)上でデータ処理システム102と通信するために、ネットワークインターフェース228のためのAPIを使用することができる。
【００３８】
クライアントデバイス200は、ディスプレイ202が制御モジュール204および発光ステータスインジケータ230とは無関係にオフまたはオンに切り替えられ得るように構成され得る。すなわち、ディスプレイ202は、制御モジュール204を動作可能に維持しながらオフに切り替えられ得る。したがって、ディスプレイ202がオフに切り替えられる一方、デジタルアシスタントアプリケーション210は、クライアントデバイス200のプロセッサ208上で実行していることが可能である。デジタルアシスタントアプリケーションが、図1に示されているデータ処理システム102などのデータ処理システムからデータパケットを送信および受信することができる一方、ディスプレイはオフに切り替えられる。さらに、デジタルアシスタントアプリケーション210は、たとえばオン状態からオフ状態への、またはオフ状態からオン状態への、ディスプレイ202の状態の変更に影響を及ぼすことができる。
【００３９】
再び図1を参照すると、クライアントデバイス構成機器116は、音声コマンドに関連するオーディオ信号とクライアントデバイス200の構成データとを受信するために、クライアントデバイス200上のデジタルアシスタントアプリケーション210と通信することができる。上述のように、デジタルアシスタントアプリケーション210は、たとえば、ディスプレイデバイスの現在状態(「オン」または「オフ」)、スピーカー220の現在のボリューム設定(「ミュート」「ボリュームレベル」)など、構成データ216を送ることができる。構成データは、デジタルアシスタントアプリケーション210がクライアントデバイス200において音を再生する最小ボリュームレベルをも含み得る。NLP106は、音声コマンドに関連する要求およびトリガキーワードを生成するために、オーディオ信号をパースすることができる。クライアントデバイス構成機器116は、トリガキーワードと構成データとに基づいて応答データ構造を生成することができる。
【００４０】
図3は、音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための方法300の流れ図を示す。特に、方法300は、図1に示されているデータ処理システム102によって実行され得る。方法300の少なくとも一部分は、データ処理システム102のクライアントデバイス構成機器116によって実行され得る。方法300は、クライアントデバイスからデータパケットを受信することを含むことができ、ここで、データパケットはオーディオ信号と構成データとを含む(ブロック302)。図1および図2に関して上記で説明されたように、クライアントデバイス200におけるユーザは音声コマンドを話すことができ、音声コマンドは、マイクロフォン222によってキャプチャされ、入力オーディオ信号に変換される。これらのオーディオ信号は、デジタルアシスタントアプリケーション210に与えられる。デジタルアシスタントアプリケーション210はまた、クライアントデバイスの現在の構成、特に、ディスプレイ202のオン/オフ状態、現在のボリューム設定(「ミュート」またはボリュームレベル)、および、デジタルアシスタントアプリケーション210がスピーカー220から音を再生することができる最小ボリュームレベルを示す最小応答ボリュームレベルを決定するために、構成データ216にアクセスする。デジタルアシスタントアプリケーション210は、ネットワークインターフェース228およびネットワーク142を介して、音声コマンドに対応するオーディオ信号と構成データとをデータ処理システム102に送ることができる。
【００４１】
方法300は、オーディオ信号をパースすることを含むことができる(ブロック304)。NLP106は、要求とトリガキーワードとを決定するためにオーディオ信号をパースするために言語処理を使用することができる。たとえば、オーディオ信号が音声コマンド「天気はどうですか?(what’s the weather?)」に対応する場合、NLP106は、「天気(the weather)」というフレーズが要求に対応し、「どうですか(what)」というフレーズがトリガキーワードに対応すると決定し得る。方法300は、クライアントデバイスのディスプレイがオフ状態にあるかどうかを構成データから決定することを含むことができる(ブロック306)。上述のように、クライアントデバイス200から受信された構成データは、ディスプレイを識別する識別子と、ディスプレイの対応する状態とを含むことができる。クライアントデバイス構成機器116は、ディスプレイの識別情報をルックアップし、現在状態を決定することができる。ディスプレイの状態はオンまたはオフのいずれかであり得る。ディスプレイの状態がオフであるとクライアントデバイス構成機器116が決定すると最初に仮定すると、方法300は、ユーザから受信された音声コマンドに対する応答が非ビデオ応答を使用して生成され得るかどうかを決定することを含むことができる(ブロック308)。たとえば、クライアントデバイス構成機器116は、ユーザコマンド「天気はどうですか?(what’s the weather?)」に対する応答がビデオまたは画像出力なしに生成され得ると決定することができる。すなわち、応答は、クライアントデバイス200のロケーションにおける現在の天気を与えるオーディオ応答を含むことができる。
【００４２】
方法300は、非ビデオ応答に関連するオーディオ信号を生成することを含むことができる(ブロック310)。クライアントデバイス構成機器116は、天気データサービスプロバイダであり得るデータプロバイダ138と通信し、クライアントデバイス200のロケーションに関連する天気データを要求するために、トリガキーワードと要求とを使用することができる。天気データを受信すると、クライアントデバイス構成機器116は、オーディオ信号生成器構成要素110に、データプロバイダ138から受信された天気データに対応するオーディオ信号を生成するように命令することができる。たとえば、データプロバイダから受信されたデータが「72度および晴れ(72 degrees and sunny)」である場合、オーディオ信号生成器構成要素110は、天気データと、クライアントデバイス200の現在のロケーション情報とを利用し、「現在ニューヨークでは、72度、晴れです(Currently in New York it is 72 degrees and sunny)」などの応答のためのオーディオ信号を生成することができる。
【００４３】
方法300は、クライアントデバイスにおけるスピーカーのボリュームレベルを設定することを含むことができる(ブロック312)。上記で説明されたように、クライアントデバイス構成機器116は、構成データ中で、クライアントデバイス200におけるスピーカー220の現在のボリュームレベルを受信することができる。ボリュームレベルは、「ミュート」またはボリュームレベルの範囲内の(おおよそ、たとえば1から10の間の)特定のボリュームレベルのいずれかであり得る。構成データは、デジタルアシスタントアプリケーション210がスピーカー220から音を再生することができる最小ボリュームレベルを示す最小応答ボリュームレベルをも含むことができる。クライアントデバイス構成機器116は、生成された応答に対応するオーディオ信号がクライアントデバイス200におけるユーザに配信されることになるボリュームレベルになるように、現在のボリュームレベルおよび最小応答ボリュームレベルのうち、より高いものを選択することができる。クライアントデバイス構成機器116は、選択されたボリュームレベルに基づいてクライアント構成設定を生成することができる。たとえば、クライアントデバイス構成機器116は、スピーカーボリュームおよび関連するボリュームレベルに関連する識別子をクライアント構成設定中に含めることができる。
【００４４】
方法300は、クライアントデバイス200から受信された音声コマンドに対する応答に対応する応答データ構造を生成することを含むことができる(ブロック314)。クライアントデバイス構成機器116は、オーディオ信号と構成設定とを含むことができるデータ構造を生成することができる。オーディオ信号は、オーディオ信号生成器構成要素110によって生成されたオーディオ信号に対応することができ、構成設定は(ブロック312における)選択されたボリュームレベルを含むことができる。クライアントデバイス構成機器116は、それに応答してオーディオ信号が生成された、音声コマンドの識別情報をも含むことができる。方法300は、応答データ構造をクライアントデバイスに送信することを含むことができる(ブロック316)。クライアントデバイス構成機器116は、オーディオ信号と構成設定とを含むデータ構造をインターフェース104を介してクライアントデバイス200に送信することができる。インターフェース104は、データ構造をデータパケットに変換し、データパケットをネットワーク142上でクライアントデバイス200に送信することができる。クライアントデバイス200において、デジタルアシスタントアプリケーション210は、ネットワークインターフェース228を介してデータパケットを受信する。デジタルアシスタントアプリケーション210は、データパケットからオーディオ信号と構成設定とを再生成する。デジタルアシスタントアプリケーション210は、受信されたオーディオ信号が前に受信された音声コマンドに応答するものであることを音声コマンドの識別情報から識別することができる。デジタルアシスタントアプリケーション210は、受信された構成設定中に含まれるボリュームレベルに設定されるように、スピーカー220のボリュームレベルを制御することができる。デジタルアシスタント210は、スピーカー220からオーディオ信号を出力し、それにより、音声コマンドに対するオーディオ応答をユーザに与えることができる。
【００４５】
上述のように、ブロック308において、クライアントデバイス構成機器116は、ユーザから受信された音声コマンドに対する応答が非ビデオ応答を使用して生成され得るかどうかを決定する。いくつかの事例では、音声コマンドに対する応答には、クライアントデバイス構成機器116がビデオベースの応答を生成することが必要であり得る。たとえば、ユーザの音声コマンドが「今週の天気を私に見せてください(Show me the weather for this week)」である場合。NLP106は、「今週の天気(weather for this week)」というフレーズが要求に対応し、「私に見せてください(Show me)」というフレーズがトリガキーワードに対応すると決定することができる。トリガキーワードが「見せる(show)」であることに基づいて、クライアントデバイス構成機器116は、ユーザが少なくとも視覚応答を要求していると決定し得る。非ビデオ応答が生成されないことになるとクライアントデバイス構成機器116が決定すると仮定すると、方法300は、応答に対応するオーディオ信号またはビデオ信号を生成することを含むことができる(ブロック318)。クライアントデバイス構成機器116は、上記で説明されたように、データプロバイダ138から天気データを取得すると決定することができる。クライアントデバイス構成機器は、次いで、ビデオ信号生成器構成要素150に、データプロバイダ138によって与えられた天気データに対応する画像またはビデオ信号を生成するように命令することができる。随意に、クライアントデバイス構成機器116はまた、オーディオ信号生成器構成要素110に、天気データに対応するオーディオ信号を生成するように命令し得る。
【００４６】
方法300は、ディスプレイがオンになるための構成設定を設定することを含むことができる(ブロック320)。クライアントデバイス構成機器116は、ディスプレイの現在状態がオフであり、応答が視覚コンテンツを含むとき、クライアントデバイス200のディスプレイ202がオンに切り替えられるための構成設定を生成することができる。方法300は、クライアントデバイスにおけるスピーカーのボリュームレベルを設定することを含むことができる(ブロック322)。クライアントデバイス構成機器116は、ブロック312に関して上記で説明された様式と同様の様式で、クライアントデバイス200のスピーカー220のボリュームレベルを設定することができる。すなわち、クライアントデバイス構成機器116は、オーディオ信号を生成するためにスピーカー220のボリュームレベルとして、現在のボリュームレベルおよび最小応答ボリュームレベルのうち、より大きいものを選択する。応答がオーディオ信号を含まず、ビデオ信号のみを含む、いくつかの事例では、クライアントデバイス構成機器116は、ブロック322を実行することをスキップすることができる。
【００４７】
方法300は、クライアントデバイスから受信された音声コマンドに対する応答に対応する応答データ構造を生成することを含むことができる(ブロック324)。クライアントデバイス構成機器116は、音声コマンドに応答して、ビデオ信号生成器構成要素150によって生成されたビデオ信号と、オーディオ信号生成器構成要素110によって生成された任意のオーディオ信号とを含むように、応答データ構造を生成することができる。クライアントデバイス構成機器116はまた、ディスプレイ202をオンに切り替えるようにとの命令を含むことができ、スピーカー220のボリュームレベルを含むことができる構成設定を含むことができる。方法300は、応答データ構造をクライアントデバイスに送信することを含むことができる(ブロック326)。クライアントデバイス構成機器116は、ブロック316に関して上記で説明された様式と同様の様式で、生成された応答データ構造をクライアントデバイス200に送ることができる。デジタルアシスタントアプリケーション210は、構成データを受信し、ディスプレイ202がオンに切り替えられることになると決定することができる。この決定に応答して、デジタルアシスタントアプリケーション210は、ディスプレイコントローラ224に、ディスプレイ202をオンに切り替えるように命令することができる。デジタルアシスタントアプリケーション210はまた、構成設定からボリュームレベルを決定し、それに応じて、スピーカー220のボリュームレベルを、構成設定中で示されたボリュームレベルに設定し得る。その後、デジタルアシスタントアプリケーション210は、ディスプレイ202上でのレンダリングのためにビデオまたは画像信号をディスプレイコントローラ224に送ることができ、音再生のために任意のオーディオ信号をスピーカー220に送ることができる。
【００４８】
ブロック306に関して上記で説明されたように、クライアントデバイス構成機器116は、クライアントデバイス200のディスプレイ202がオフ状態にあるかどうかを決定する。ディスプレイデバイス202がオフ状態になく、代わりにオン状態にあるとクライアントデバイス構成機器116が決定すると仮定すると、方法300は、音声コマンドに対応するオーディオ信号およびビデオ信号を生成することを含むことができる(ブロック328)。クライアントデバイス200のディスプレイ202がすでにオン状態にあるとき、クライアントデバイス構成機器116は、視覚応答で音声コマンドに応答することができる。したがって、クライアントデバイス構成機器116は、ビデオ信号生成コマンドに、音声コマンドに対する視覚応答に対応するビデオ信号を生成するように命令することができる。クライアントデバイス構成機器116はまた、オーディオ信号生成器構成要素110に、音声コマンドに対する応答に対応するオーディオ信号を生成するように命令し得る。クライアントデバイス構成機器116は、オーディオ信号を生成することを控え得、音声コマンドに対する視覚応答を含むビデオ信号のみを生成し得る。方法300は、スピーカーのボリュームレベルを設定すること(ブロック330)と、応答データ構造を生成すること(ブロック332)と、応答データ構造をクライアントデバイスに送信すること(ブロック334)とを含むことができる。クライアントデバイス構成機器116は、ブロック312、322、314、324、316、および326に関して上記で説明された様式と同様の様式で、(ブロック330、332、および334を含む)方法300のこの部分を実行することができる。
【００４９】
クライアントデバイス構成機器116は、クライアントデバイスに、発光ステータスインジケータを起動するように命令することができる(ブロック336)。特に、クライアントデバイス構成機器116は、それが、音声コマンドを含むデータパケットを受信またはパースするとすぐに、これらの命令をクライアントデバイス200に送り得る。クライアントデバイス構成機器116は、発光ステータスインジケータ230の識別情報と、対応する「オン」設定とを含む構成設定をクライアントデバイス200に送ることができる。デジタルアシスタントアプリケーション210は、構成設定をパースし、発光ステータスインジケータ230がオンに切り替えられることになると決定することができる。この決定に応答して、デジタルアシスタントアプリケーション210は、ディスプレイコントローラ224、または発光ステータスインジケータ230を制御する任意の他の適切なコントローラに、発光ステータスインジケータ230をオンに切り替えるように命令することができる。発光ステータスインジケータ230をオンに切り替えることは、データ処理システム102がユーザによって与えられた音声コマンドを処理していることをユーザに示すことができる。クライアントデバイス構成機器116は、クライアントデバイス200から受信された構成データが、ディスプレイ202がオフ状態にあることを示す場合のみ、発光ステータスインジケータ230をオンに切り替えるようにとの命令を含むクライアント構成設定を送り得る。クライアントデバイス構成機器116は、構成データが、ディスプレイがオンであることを示す場合、発光ステータスインジケータ230をオンに切り替えるようにとの命令を送ることを控え得る。いくつかのそのような事例では、クライアントデバイス構成機器116は、代わりに、データ処理システムが音声コマンドを処理する間に、オンのディスプレイ202上での表示のために、ステータスビデオデータまたはステータス画像データをクライアントデバイス200に送ることができる。音声コマンドの処理のステータスを示すステータスビデオデータまたはステータス画像データは、どんなビデオまたは画像が現在ディスプレイ202上に表示されていても、その上にオーバーレイされ得る。ビデオ信号生成器構成要素150は、ステータスビデオまたはステータス画像信号を生成することができる。ビデオ信号生成器構成要素150は、ディスプレイ202のコーナー上に配置されるように構成され、ディスプレイ202のエリア全体の小さい部分(おおよそ10%未満)のみを占有するステータスビデオまたはステータス画像データまたは信号を生成することができる。
【００５０】
上記で説明されたように、クライアントデバイス構成機器116は、ディスプレイ202の状態に部分的に基づいて、クライアントデバイス200におけるユーザから受信された音声コマンドに対する応答を決定する。ディスプレイ202の状態にかかわらず応答が生成される事例では、そのような応答は、ビデオ信号とオーディオ信号の両方を含み得る。ディスプレイがオフ状態にあると決定されたときに非ビデオ応答を生成することによって、本来ならビデオベースの応答を生成することに割り振られていたであろう処理リソースが節約され得る。その上、ビデオ信号の生成のための処理時間は、オーディオ信号の生成のための処理時間よりもかなり大きくなり得る。ディスプレイのオフ状態を決定することと、ビデオ信号を生成することを控えることとによって、有利には、音声コマンドに対する応答を生成するための全体的な処理時間が低減され得る。したがって、ユーザは、音声コマンドに対する比較的高速な応答を受信することができる。さらに、ディスプレイ202がオフ状態にあると決定されたとき、ビデオ信号がネットワーク上でクライアントデバイスに送信されないので、ネットワーク142の帯域幅リソースは、より効率的に利用され得る。
【００５１】
ユーザから受信された音声コマンドの自然言語処理は、データ処理システム102においてではなく、クライアントデバイスにおいて行われ得る。たとえば、図2を参照すると、デジタルアシスタントアプリケーション210は、クライアントデバイス200上で実行しているNLP106に、ユーザから受信された音声コマンドを処理するように命令することができる。デジタルアシスタントアプリケーション210は、次いで、識別された要求およびトリガキーワードをデータ処理システム102に送り得る。クライアントデバイスにおいて音声コマンドを処理することによって、その送信が要求およびトリガキーワードフレーズの送信と比較して比較的大きい帯域幅を消費することがあるオーディオ信号は、ネットワーク上で送られず、それによりネットワーク142中の輻輳を低減する。
【００５２】
図4は、音声起動されたコンピュータネットワーク中のパケット化されたオーディオ信号を処理するための方法400の流れ図を示す。方法400は、データパケットを送信することを含むことができる(ブロック402)。たとえば、クライアントデバイス200は、データパケットをデータ処理システム102に送信することができる。データパケットは、入力オーディオ信号とクライアントデバイス構成データとを含むことができる。オーディオ信号は、クライアントデバイス200においてセンサーまたはマイクロフォン222によって検出され得る。クライアントデバイス200上のプロセッサ208によって実行されたデジタルアシスタントアプリケーション210は、ネットワーク142上で、クライアントデバイスネットワークインターフェース228を介してデータパケットを送信することができる。
【００５３】
方法400は、データパケットを受信することを含むことができる(ブロック302)。たとえば、自然言語プロセッサ構成要素106は、入力オーディオ信号とクライアントデバイス構成データとを含むデータパケットを受信することができる。自然言語プロセッサ構成要素106は、データ処理システム102によって実行され得、ネットワーク142上でデータ処理システム102のネットワークインターフェース104を介してデータパケットを受信することができる。自然言語プロセッサ構成要素106は、要求とその要求に対応するトリガキーワードとを識別するために、オーディオ信号をパースすることができる。
【００５４】
方法400は、ディスプレイの状態を決定することを含むことができる(ブロック306)。たとえば、データ処理システム102によって実行されるクライアントデバイス構成機器116が、クライアントデバイス構成データからディスプレイ202の状態を決定することができる。ディスプレイの状態は、オン状態またはオフ状態にあり得る。方法400は、応答データ構造を生成することを含むことができる(ブロック314)。たとえば、クライアントデバイス構成機器116は、トリガキーワードとディスプレイ202のオフ状態とに部分的に基づいて、要求に応答する、オーディオデータを含み、ビデオデータを含まない、応答データ構造を生成することができる。別の例として、クライアントデバイス構成機器116は、トリガキーワードとディスプレイ202のオフ状態とに部分的に基づいて、オーディオデータと、ビデオデータと、クライアントデバイス200のディスプレイ202をオンに切り替えるようにとの命令を含むクライアントデバイス構成設定とを含む応答データ構造を生成することができる。
【００５５】
方法400は、応答データ構造をクライアントデバイスに送信することを含むことができる(ブロック316)。たとえば、クライアントデバイス構成機器116は、ネットワーク142上で、データ処理システム102のネットワークインターフェース104を介して、クライアントデバイス200上で実行されるデジタルアシスタントアプリケーション210に応答データ構造を送信することができる。応答データ構造は、オーディオデータを含むことができ、ビデオデータを含まない。別の例として、応答データ構造は、オーディオデータと、ビデオデータと、クライアントデバイス200にクライアントデバイス200の1つまたは複数の構成要素の状態を変更するように命令する構成設定データとを含むことができる。
【００５６】
図5は、例示的なコンピュータシステム500のブロック図である。コンピュータシステムまたはコンピューティングデバイス500は、システム100、またはデータ処理システム102などのシステム100の構成要素を含むか、またはそれらを実装するために使用され得る。コンピューティングシステム500は、情報を通信するためのバス505または他の通信構成要素と、情報を処理するための、バス505に結合されたプロセッサ510または処理回路とを含む。コンピューティングシステム500は、情報を処理するための、バスに結合された1つまたは複数のプロセッサ510または処理回路をも含むことができる。コンピューティングシステム500は、情報と、プロセッサ510によって実行されるべき命令とを記憶するための、バス505に結合された、ランダムアクセスメモリ(RAM)または他のダイナミック記憶デバイスなど、メインメモリ515をも含む。メインメモリ515は、データリポジトリ118であるか、またはデータリポジトリ118を含むことができる。メインメモリ515はまた、プロセッサ510による命令の実行中に、位置情報、一時的変数、または他の中間情報を記憶するために使用され得る。コンピューティングシステム500は、プロセッサ510のための静的情報および命令を記憶するための、バス505に結合された読取り専用メモリ(ROM)520または他の静的記憶デバイスをさらに含み得る。固体デバイス、磁気ディスクまたは光ディスクなど、記憶デバイス525が、情報および命令を永続的に記憶するために、バス505に結合され得る。記憶デバイス525は、データリポジトリ118を含むか、またはデータリポジトリ118の一部であり得る。
【００５７】
コンピューティングシステム500は、ユーザに情報を表示するための、液晶ディスプレイまたはアクティブマトリックスディスプレイなど、ディスプレイ535に、バス505を介して結合され得る。英数字および他のキーを含むキーボードなど、入力デバイス530が、情報およびコマンド選択をプロセッサ510に通信するためにバス505に結合され得る。入力デバイス530は、タッチスクリーンディスプレイ535を含むことができる。入力デバイス530は、方向情報およびコマンド選択をプロセッサ510に通信するための、およびディスプレイ535上でのカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キーなど、カーソル制御をも含むことができる。ディスプレイ535は、たとえば、図1のデータ処理システム102、クライアントコンピューティングデバイス128または他の構成要素の一部であり得る。
【００５８】
本明細書で説明されるプロセス、システムおよび方法は、プロセッサ510がメインメモリ515中に含まれている命令の構成を実行したことに応答して、コンピューティングシステム500によって実装され得る。そのような命令は、記憶デバイス525など、別のコンピュータ可読媒体からメインメモリ515に読み込まれ得る。メインメモリ515中に含まれている命令の構成の実行は、コンピューティングシステム500が、本明細書で説明される例示的なプロセスを実行することを引き起こす。メインメモリ515中に含まれている命令を実行するために、多重処理構成における1つまたは複数のプロセッサも採用され得る。ハードワイヤード回路が、本明細書で説明されるシステムおよび方法とともに、ソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用され得る。本明細書で説明されるシステムおよび方法は、ハードウェア回路とソフトウェアとの特定の組合せに限定されない。
【００５９】
例示的なコンピューティングシステムが図5で説明されているが、本明細書で説明される動作を含む主題は、他のタイプのデジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、または、ハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。
【００６０】
本明細書で説明されるシステムがユーザに関する個人情報を収集するか、または個人情報を利用し得る状況では、ユーザは、個人情報(たとえば、ユーザのソーシャルネットワーク、社会活動、またはアクティビティ、ユーザの選好、あるいはユーザのロケーションに関する情報)を収集し得るプログラムまたは特徴かどうかを制御するための、あるいは、ユーザにより関連し得るコンテンツサーバまたは他のデータ処理システムからコンテンツを受信すべきかどうか、またはそれをどのように受信すべきかを制御するための機会を与えられ得る。さらに、あるデータは、パラメータを生成するときに個人識別可能情報が削除されるように、そのデータが記憶または使用される前に1つまたは複数のやり方で匿名化され得る。たとえば、個人識別可能情報がユーザについて決定され得ないように、ユーザの識別情報が匿名化され得るか、または、ユーザの特定のロケーションが決定され得ないように、ロケーション情報が取得されるユーザの地理的ロケーションが(都市レベル、郵便番号レベル、または州レベルなどに)一般化され得る。したがって、ユーザは、どのように情報がユーザに関して収集され、コンテンツサーバによって使用されるかを制御し得る。
【００６１】
本明細書で説明される主題および動作は、デジタル電子回路において、あるいは、本明細書で開示される構造およびそれらの構造等価物を含む、コンピュータソフトウェア、ファームウェア、またはハードウェアにおいて、あるいはそれらのうちの1つまたは複数の組合せにおいて実装され得る。本明細書で説明される主題は、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために1つまたは複数のコンピュータ記憶媒体上で符号化された1つまたは複数のコンピュータプログラム、たとえば、コンピュータプログラム命令の1つまたは複数の回路として実装され得る。代替的にまたは追加として、プログラム命令は、データ処理装置による実行のために、好適な受信機装置への送信のために情報を符号化するために生成された、人工的に生成された伝搬信号、たとえば、マシン生成の電気、光、または電磁信号上で符号化され得る。コンピュータ記憶媒体は、コンピュータ可読記憶デバイス、コンピュータ可読記憶基板、ランダムまたはシリアルアクセスメモリアレイまたはデバイス、あるいはそれらのうちの1つまたは複数の組合せであるか、またはその中に含まれ得る。コンピュータ記憶媒体は伝搬信号ではなく、コンピュータ記憶媒体は、人工的に生成された伝搬信号において符号化されたコンピュータプログラム命令のソースまたは宛先であり得る。コンピュータ記憶媒体はまた、1つまたは複数の別個の構成要素または媒体(たとえば、複数のCD、ディスク、または他の記憶デバイス)であるか、またはその中に含まれ得る。本明細書で説明される動作は、1つまたは複数のコンピュータ可読記憶デバイスに記憶されたか、または他のソースから受信されたデータに対して、データ処理装置によって実行される動作として実装され得る。
【００６２】
「データ処理システム」、「コンピューティングデバイス」、「構成要素」、または「データ処理装置」という用語は、例としてプログラマブルプロセッサ、コンピュータ、システムオンチップ、または上記のうちの複数のもの、あるいは上記の組合せを含む、データを処理するための様々な装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)を含むことができる。装置は、ハードウェアに加えて、当該のコンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサファームウェアを構成するコード、プロトコルスタック、データベース管理システム、オペレーティングシステム、クロスプラットフォームランタイム環境、仮想マシン、またはそれらのうちの1つまたは複数の組合せをも含むことができる。装置および実行環境は、ウェブサービス、分散コンピューティングおよびグリッドコンピューティングインフラストラクチャなど、様々な異なるコンピューティングモデルインフラストラクチャを実現することができる。システム100の構成要素は、1つまたは複数のデータ処理装置、システム、コンピューティングデバイス、またはプロセッサを含むかまたは共有することができる。
【００６３】
(プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、スクリプト、またはコードとしても知られる)コンピュータプログラムは、コンパイラ型またはインタープリタ型言語、宣言型または手続き型言語を含む、任意の形態のプログラミング言語で書かれ得、スタンドアロンプログラムとして、またはモジュール、構成要素、サブルーチン、オブジェクト、またはコンピューティング環境において使用するのに好適な他のユニットとしてを含む、任意の形態で展開され得る。コンピュータプログラムは、ファイルシステムにおけるファイルに対応することができる。コンピュータプログラムは、他のプログラムまたはデータ(たとえば、マークアップ言語ドキュメントに記憶された1つまたは複数のスクリプト)を保持するファイルの一部分に記憶されるか、当該のプログラムに専用の単一のファイルに記憶されるか、あるいは複数の協調ファイル(coordinated file)(たとえば、1つまたは複数のモジュール、サブプログラム、またはコードの部分を記憶するファイル)に記憶され得る。コンピュータプログラムは、1つのコンピュータ上で実行されるか、あるいは、1つのサイトに配置されるかまたは複数のサイトにわたって分散され、通信ネットワークによって相互接続される複数のコンピュータ上で実行されるように展開され得る。
【００６４】
本明細書で説明されるプロセスおよび論理フローは、入力データに対して動作し、出力を生成することによってアクションを実行するために、1つまたは複数のコンピュータプログラムを実行する1つまたは複数のプログラマブルプロセッサ(たとえば、データ処理システム102の構成要素)によって実行され得る。プロセスおよび論理フローは、専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によっても実行され得、装置が、同じく専用論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)として実装され得る。コンピュータプログラム命令およびデータを記憶するのに好適なデバイスは、例として半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD ROMおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補足されるか、または専用論理回路に組み込まれ得る。
【００６５】
本明細書で説明される主題は、たとえば、データサーバとして、バックエンド構成要素を含むか、あるいはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、あるいはフロントエンド構成要素、たとえば、ユーザが本明細書で説明される主題の実装形態とそれを通して対話することができるグラフィカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータを含むか、あるいは1つまたは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、またはフロントエンド構成要素の組合せを含む、コンピューティングシステムにおいて実装され得る。システムの構成要素は、デジタルデータ通信の任意の形態または媒体、たとえば、通信ネットワークによって相互接続され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)およびワイドエリアネットワーク(「WAN」)、インターネットワーク(たとえば、インターネット)、およびピアツーピアネットワーク(たとえば、アドホックピアツーピアネットワーク)を含む。
【００６６】
システム100またはシステム500など、コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントおよびサーバは、概して互いからリモートにあり、一般に通信ネットワーク(たとえば、ネットワーク142)を通して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行し、互いにクライアントサーバ関係を有するコンピュータプログラムによって生じる。いくつかの実装形態では、サーバは、(たとえば、クライアントデバイスと対話するユーザにデータを表示し、そのユーザからユーザ入力を受信する目的で)クライアントデバイスにデータ(たとえば、コンテンツアイテムを表すデータパケット)を送信する。クライアントデバイスにおいて生成されたデータ(たとえば、ユーザ対話の結果)は、サーバにおいてクライアントデバイスから受信され(たとえば、クライアントコンピューティングデバイスからデータ処理システム102によって受信され)得る。
【００６７】
動作は図面において特定の順序で示されているが、そのような動作は、示されている特定の順序で、または連続した順序で実行されることを必要とされず、すべての図示された動作が実行されることを必要とされるとは限らない。本明細書で説明されるアクションは、異なる順序で実行され得る。
【００６８】
様々なシステム構成要素の分離は、すべての実装形態において分離を必要とするとは限らず、説明されるプログラム構成要素は単一のハードウェアまたはソフトウェア製品中に含まれ得る。たとえば、NLP構成要素106およびクライアントデバイス構成機器116は、単一の構成要素、アプリ、またはプログラム、あるいは1つまたは複数の処理回路を有する論理デバイス、あるいはデータ処理システム102の1つまたは複数のサーバの一部であり得る。
【００６９】
ここでいくつかの例示的な実装形態について説明したが、上記のものが例示的であり、限定するものではなく、例として提示されたことは明らかである。特に、本明細書で提示される例の多くは方法行為またはシステム要素の特定の組合せを伴うが、それらの行為およびそれらの要素は、同じ目的を達成するために他のやり方で組み合わせられ得る。一実装形態に関して説明される行為、要素、および特徴は、他の実装形態または実装形態における同様の役割から除外されるものではない。
【００７０】
本明細書で使用される語法および用語は、説明の目的のためのものであり、限定するものと見なされるべきではない。本明細書における「含む(including)」、「含む、備える(comprising)」、「有する(having)」、「含んでいる(containing)」、「伴う(involving)」、「によって特徴づけられる(characterized by)」、「ことを特徴とする(characterized in that)」、およびそれらの変形態の使用は、その後にリストされる項目、それらの等価物、および追加の項目、ならびにその後にリストされる項目のみからなる代替実装形態を包含することを意図される。一実装形態では、本明細書で説明されるシステムおよび方法は、説明される要素、行為、または構成要素のうちの1つ、それらのうちの2つ以上の各組合せ、あるいはそれらのすべてからなる。
【００７１】
単数形で言及された本明細書におけるシステムおよび方法の実装形態または要素または行為への言及は、複数のこれらの要素を含む実装形態をも包含し得、本明細書における任意の実装形態または要素または行為への複数形での言及は、単一の要素のみを含む実装形態をも包含し得る。単数形または複数形での言及は、本開示のシステムまたは方法、それらの構成要素、行為、または要素を、単一の構成または複数の構成に限定するものではない。任意の情報、行為または要素に基づく任意の行為または要素への言及は、その行為または要素が任意の情報、行為、または要素に少なくとも部分的に基づく実装形態を含み得る。
【００７２】
本明細書で開示される任意の実装形態は、任意の他の実装形態または実施形態と組み合わせられ得、「実装形態(an implementation)」、「いくつかの実装形態(some implementations)」、「一実装形態(one implementation)」などへの言及は、必ずしも相互排他的であるとは限らず、実装形態に関して説明される特定の特徴、構造、または特性が少なくとも1つの実装形態または実施形態に含まれ得ることを示すものである。本明細書で使用されるそのような用語は、必ずしもすべて同じ実装形態に言及しているとは限らない。任意の実装形態は、本明細書で開示される態様および実装形態に従う任意の様式で、包括的にまたは排他的に、任意の他の実装形態と組み合わせられ得る。
【００７３】
「または(or)」への言及は、「または」を使用して説明される任意の用語が、説明される用語のうちの単一の用語、2つ以上の用語、およびすべての用語のいずれかを示し得るように、包含的なものとして解釈され得る。「’A’および’B’のうちの少なくとも1つ(at least one of ‘A’ and ‘B’)」への言及は、’A’のみ、’B’のみ、ならびに’A’と’B’の両方を含むことができる。「含む、備える(comprising)」または他のオープンな用語とともに使用されるそのような言及は、追加の項目を含むことができる。
【００７４】
図面、発明を実施するための形態、または任意の請求項における技術的特徴の後に参照符号が続く場合、それらの参照符号は、図面、発明を実施するための形態、および特許請求の範囲の了解度を増すために含まれている。したがって、参照符号もそれらの不在も、請求項要素の範囲を限定する効果を有しない。
【００７５】
本明細書で説明されるシステムおよび方法は、それの特性から逸脱することなく他の特定の形態で具現され得る。上記の実装形態は、説明されるシステムおよび方法を限定するものではなく、例示的なものである。本明細書で説明されるシステムおよび方法の範囲は、したがって、上記の説明ではなく、添付の特許請求の範囲によって示され、特許請求の範囲の等価の意味および範囲内に入る変更はその中に包含される。
【符号の説明】
【００７６】
100  システム
102  データ処理システム
104  インターフェース
106  自然言語プロセッサ(NLP)構成要素、NLP
108  インターフェース管理構成要素
110  オーディオ信号生成器構成要素
112  ダイレクトアクションアプリケーションプログラミングインターフェース(API)
114  応答選択器構成要素
116  クライアントデバイス構成機器
118  データリポジトリ
120  パラメータ
122  ポリシー
124  応答データ
126  テンプレート
128  クライアントコンピューティングデバイス、クライアントデバイス
130  センサー
132  スピーカー
138  データプロバイダコンピューティングデバイス、データプロバイダ
140  ディスプレイ
142  ネットワーク
200  クライアントデバイス
202  ディスプレイスクリーン、ディスプレイ、ディスプレイデバイス
204  制御モジュール
206  データバス
208  プロセッサ
210  デジタルアシスタントアプリケーション、デジタルアシスタント
212  TVアプリケーション
214  TVオペレーティングシステム
216  TV構成データ、構成データ
218  メモリ
220  スピーカー
222  マイクロフォン
224  ディスプレイコントローラ
226  ストレージ
228  ネットワークインターフェース
230  発光ステータスインジケータ
232  ベゼル
500  コンピュータシステム、コンピューティングデバイス、コンピューティングシステム
505  バス
510  プロセッサ
515  メインメモリ
520  読取り専用メモリ(ROM)
525  ストレージ記憶デバイス
530  入力デバイス
535  ディスプレイ
【図１】
0006862582.tif 000002
【図２】
0006862582.tif 000003
【図３】
0006862582.tif 000004
【図４】
0006862582.tif 000005
【図５】
0006862582.tif 000006