(57)【要約】  テレビから離れたコンピューティングデバイスのバックグラウンドにおいて実行する、テレビのためのジェスチャに基づくコントロールが提供され、コントロールは、ジェスチャによってアクティブ化される。有利には、ユーザは、テレビをコントロールするために、何らの作業を中断する必要がない。ジェスチャに基づくコントロールは、音声コントロールをアクティブ化するように構成され得、これは、ノイズが存在する状況にあってもロバストに動作し、テレビから発散する音声と競合するだろう。
2019528526.tif 000002
【特許請求の範囲】
【請求項１】
非推移的記憶媒体を備えるコンピュータプログラム製品であって、前記コンピュータプログラム製品は、処理回路によって実行されると前記処理回路に方法を行わせるコードを含み、前記方法は、
前記処理回路を含む第１の電子デバイスのカメラからビデオストリームを受信することを備え、前記カメラは、前記第１の電子デバイスのユーザの方向に向けられ、前記第１の電子デバイスは、第２の電子デバイスから離れてその近傍にあり、前記第２の電子デバイスは、知覚出力を作成するように構成され、前記方法はさらに、
前記ビデオストリームのフレームのセットにわたって、前記ユーザによって行われたジェスチャを検出することと、
前記ジェスチャを検出したことに応答して、前記第１の電子デバイス内のリモートコントロールを、前記リモートコントロールが非アクティブ状態からアクティブ状態に遷移するようにアクティブ化することとを備え、前記リモートコントロールが前記アクティブ状態にあるときに、前記リモートコントロールは、前記第２の電子デバイスによって作成された前記知覚出力に対して変化をトリガするように構成される、コンピュータプログラム製品。
【請求項２】
前記方法はさらに、
前記リモートコントロールが前記アクティブ状態にあるときに、前記ビデオストリームの別のフレームのセットにわたって、前記ユーザによって行われた第２のジェスチャを検出することと、
前記第２のジェスチャを検出したことに応答して、前記リモートコントロールを前記非アクティブ状態に遷移させるように、前記リモートコントロールを非アクティブ化することとを備える、請求項１に記載のコンピュータプログラム製品。
【請求項３】
前記第１の電子デバイスはマイクロフォンをさらに含み、前記マイクロフォンは、前記マイクロフォン上に入射する音波を、前記第１の電子デバイスのメモリ内に記憶される音データへと変換するように構成され、
前記リモートコントロールが前記アクティブ状態にあることに応答して、前記方法はさらに、
前記音データを、前記第２の電子デバイスの前記知覚出力を変化させるための予め定められたコマンドとして識別することと、
前記音データを、リモートコントロールデータに変換することとを備え、前記リモートコントロールデータが前記第２の電子デバイスによって受信されると、前記リモートコントロールデータは、前記第２の電子デバイスによって作成された前記知覚出力に対して前記変化を前記第２の電子デバイスにトリガさせ、前記方法はさらに、
前記リモートコントロールデータを前記第２の電子デバイスに送信することを備える、請求項１に記載のコンピュータプログラム製品。
【請求項４】
前記第２の電子デバイスによって作成された前記知覚出力は、発声音を含み、
前記音データを、前記第２の電子デバイスの前記知覚出力を前記変化させるための前記予め定められたコマンドとして識別することは、フィルタ演算を行うことを含み、前記フィルタ演算は、前記発声音を前記マイクロフォン上に前記入射する音波からフィルタリングするように構成される、請求項３に記載のコンピュータプログラム製品。
【請求項５】
前記フィルタ演算を行うことは、
前記リモートコントロールが前記アクティブ状態に遷移したことに応答して、前記第２の電子デバイスに音量低下コマンドを送信することを含み、前記音量低下コマンドは、前記第２の電子デバイスによって受信されると、前記第２の電子デバイスに、より小さい振幅において前記発声音を作成させ、
前記方法は、前記リモートコントロールが前記非アクティブ状態に遷移したことに応答して、音量増大コマンドを前記第２の電子デバイスに送信することをさらに備え、前記音量増大コマンドは、前記第２の電子デバイスによって受信されると、前記第２の電子デバイスに、より大きい振幅において前記発声音を作成させる、請求項４に記載のコンピュータプログラム製品。
【請求項６】
前記方法はさらに、前記第２の電子デバイスによって作成された前記発声音の周波数のセットを取得することを備え、
前記フィルタ演算を行うことは、
前記マイクロフォンへ入力された前記音データの周波数のセットを取得することと、
前記第２の電子デバイスによって作成された前記発声音の前記周波数のセットのうちのいくつかの前記周波数を、前記音データの前記周波数のセットから抑圧し、フィルタされた周波数のセットを形成することと、
前記フィルタされた周波数のセットから、リモートコントロールデータが作成されるフィルタされた音データを形成することとを含む、請求項４に記載のコンピュータプログラム製品。
【請求項７】
前記マイクロフォンへ入力された前記音データの前記周波数のセットを取得することは、
指定した時間の間入力された前記音データを記録し、音のタイムウィンドウを生成することと、
前記音のタイムウィンドウから周波数のセットを取得し、周波数のタイムウィンドウを形成することと、
前記リモートコントロールが前記アクティブ状態にあるときに、前記指定した時間の間、前記音データを記録することを繰り返し、周波数のセットを取得し、前記記録された音データのスペクトログラムを形成することとを含む、請求項６に記載のコンピュータプログラム製品。
【請求項８】
前記マイクロフォンへ入力された前記音データの前記周波数のセットを取得することは、前記マイクロフォンへ入力された前記音データについてフーリエ変換演算を行うことを含む、請求項６に記載のコンピュータプログラム製品。
【請求項９】
前記第２の電子デバイスによって作成された前記発声音の前記周波数のセットのうちのいくつかの前記周波数を抑圧することは、
前記第１の電子デバイスと前記第２の電子デバイスとの間の距離を生成することと、
前記第２の電子デバイスから前記発声音が伝播されたネットワーク信号の到来角（ＡＯＡ）を生成することと、
前記距離および前記ＡＯＡに基づき、前記第２の電子デバイスによって作成された前記発声音の前記周波数のセットのうちのいくつかの前記周波数の振幅および位相を作成することと、
前記音データ入力の前記周波数のセットのうち、前記第２の電子デバイスによって作成された前記発声音の前記周波数のセットのうちのいくつかの前記周波数の前記振幅および位相に十分に近い振幅および位相を有する周波数のものを識別することとを含む、請求項６に記載のコンピュータプログラム製品。
【請求項１０】
前記フィルタ演算はさらに、前記第１の電子デバイスおよび前記第２の電子デバイスが配置される部屋によって作成される、前記マイクロフォン上に前記入射する音波からの音響ノイズをフィルタリングするように構成される、請求項３に記載のコンピュータプログラム製品。
【請求項１１】
前記フィルタ演算を行うことは、ノイズ周波数閾値よりも低い周波数を、前記マイクロフォンへ入力された前記音データからフィルタリングすることを含む、請求項１０に記載のコンピュータプログラム製品。
【請求項１２】
前記第１の電子デバイスは、前記第１の電子デバイスの運動を検出し記録するように構成されるモーション検出器をさらに含み、
前記リモートコントロールが前記アクティブ状態にあることに応答して、前記方法はさらに、
前記第１の電子デバイスの運動を予め定められたジェスチャとして識別することと、
前記予め定められたジェスチャを前記第２の電子デバイスの前記知覚出力を変化させるためのそれぞれのコマンドにマッピングすることと、
前記それぞれのコマンドを、リモートコントロールデータとして前記第２の電子デバイスに送信することとを備え、前記リモートコントロールデータが前記第２の電子デバイスによって受信されると、前記第２の電子デバイスは、前記第２の電子デバイスによって作成された前記知覚出力に対して、前記それぞれのコマンドによって命令される変化をトリガさせる、請求項１に記載のコンピュータプログラム製品。
【請求項１３】
方法であって、
第１の電子デバイスのカメラからビデオストリームを受信することを備え、前記カメラは、前記第１の電子デバイスのユーザの方向に向けられ、前記第１の電子デバイスは、第２の電子デバイスから離れてその近傍にあり、前記第２の電子デバイスは、知覚出力を作成するように構成され、前記方法はさらに、
前記ビデオストリームのフレームのセットにわたって、前記ユーザによって行われたジェスチャを検出することと、
前記ジェスチャを検出したことに応答して、前記第１の電子デバイス内のリモートコントロールを、前記リモートコントロールが非アクティブ状態からアクティブ状態に遷移するようにアクティブ化することとを備え、前記リモートコントロールが前記アクティブ状態にあるときに、前記リモートコントロールは、前記第２の電子デバイスによって作成された前記知覚出力に対して変化をトリガするように構成される、方法。
【請求項１４】
前記リモートコントロールが前記アクティブ状態にあるときに、前記ビデオストリームの別のフレームのセットにわたって、前記ユーザによって行われた第２のジェスチャを検出することと、
前記第２のジェスチャを検出したことに応答して、前記リモートコントロールを前記非アクティブ状態に遷移させるように、前記リモートコントロールを非アクティブ化することとをさらに備える、請求項１３に記載の方法。
【請求項１５】
前記第１の電子デバイスは、マイクロフォンをさらに含み、前記マイクロフォンは、前記マイクロフォン上に入射する音波を、前記第１の電子デバイスのメモリ内に記憶される音データへと変換するように構成され、
前記リモートコントロールが前記アクティブ状態にあることに応答して、前記方法はさらに、
前記音データを、前記第２の電子デバイスの前記知覚出力を変化させるための予め定められたコマンドとして識別することと、
前記音データをリモートコントロールデータに変換することとを備え、前記リモートコントロールデータが前記第２の電子デバイスによって受信されると、前記リモートコントロールデータは、前記第２の電子デバイスによって作成された前記知覚出力に対する前記変化を前記第２の電子デバイスにトリガさせ、前記方法はさらに、
前記リモートコントロールデータを前記第２の電子デバイスに送信することを備える、請求項１３に記載の方法。
【請求項１６】
前記第２の電子デバイスによって作成された前記知覚出力は、発声音を含み、
前記音データを、前記第２の電子デバイスの前記知覚出力を前記変化させるための前記予め定められたコマンドとして識別することは、フィルタ演算を行うことを含み、前記フィルタ演算は、前記発声音を前記マイクロフォン上に前記入射する音波からフィルタリングするように構成される、請求項１５に記載の方法。
【請求項１７】
前記フィルタ演算を行うことは、
前記リモートコントロールが前記アクティブ状態に遷移したことに応答して、前記第２の電子デバイスに音量低下コマンドを送信することを含み、前記音量低下コマンドは、前記第２の電子デバイスによって受信されると、前記第２の電子デバイスに、より小さい振幅において前記発声音を作成させ、
前記方法は、前記リモートコントロールが前記非アクティブ状態に遷移したことに応答して、音量増大コマンドを前記第２の電子デバイスに送信することをさらに備え、前記音量増大コマンドは、前記第２の電子デバイスによって受信されると、前記第２の電子デバイスにより大きい振幅において前記発声音を作成させる、請求項１６に記載の方法。
【請求項１８】
前記第２の電子デバイスによって作成された前記発声音の周波数のセットを取得することをさらに備え、
前記フィルタ演算を行うことは、
前記マイクロフォンへ入力される前記音データの周波数のセットを取得することと、
前記音データの前記周波数のセットから、前記第２の電子デバイスによって作成された前記発声音の前記周波数のセットのうちのいくつかの前記周波数を抑圧し、フィルタされた周波数のセットを形成することと、
前記フィルタされた周波数のセットから、リモートコントロールデータが作成されるフィルタされた音データを形成することとを含む、請求項１６に記載の方法。
【請求項１９】
前記第１の電子デバイスは、前記第１の電子デバイスの運動を検出し記録するように構成されるモーション検出器をさらに含み、
前記リモートコントロールが前記アクティブ状態にあることに応答して、前記方法はさらに、
前記第１の電子デバイスの運動を、予め定められたジェスチャとして識別することと、
前記予め定められたジェスチャを、前記第２の電子デバイスの前記知覚出力を変化させるためのそれぞれのコマンドにマッピングすることと、
リモートコントロールデータとして、前記それぞれのコマンドを前記第２の電子デバイスに送信することとを備え、前記リモートコントロールデータが前記第２の電子デバイスによって受信されると、前記第２の電子デバイスは、前記第２の電子デバイスによって作成された前記知覚出力に対して、前記それぞれのコマンドによって命令される変化をトリガさせる、請求項１３に記載の方法。
【請求項２０】
システムであって、
第１の電子デバイスおよび第２の電子デバイスを備え、前記第１の電子デバイスは、前記第２の電子デバイスから離れてその近傍にあり、前記第２の電子デバイスは、知覚出力を作成するように構成され、前記第１の電子デバイスは、ネットワークインターフェース、カメラ、メモリ、および前記メモリに結合される処理回路を含み、前記処理回路は、
前記カメラからビデオストリームを受信するように構成され、前記カメラは、前記第１の電子デバイスのユーザの方向に向けられ、前記処理回路はさらに、
前記ビデオストリームのフレームのセットにわたって、前記ユーザによって行われたジェスチャを検出し、
前記ジェスチャを検出したことに応答して、前記第１の電子デバイス内のリモートコントロールを、前記リモートコントロールが非アクティブ状態からアクティブ状態に遷移するようにアクティブ化するように構成され、前記リモートコントロールが前記アクティブ状態にあるときに、前記リモートコントロールは、前記第２の電子デバイスによって作成された前記知覚出力に対して変化をトリガするように構成される、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
この出願は、２０１６年８月１６日付出願の「ＧＥＳＴＵＲＥ−ＡＣＴＩＶＡＴＥＤ  ＲＥＭＯＴＥ  ＣＯＮＴＲＯＬ」と題される米国特許出願第１５／２３８，３６４号に基づく優先権を主張し、その継続出願であり、その開示全体は、参照により本明細書に組み込まれる。
【０００２】
技術分野
この明細書は、リモートコントロールに関する。
【背景技術】
【０００３】
背景
典型的に、人々は、テレビのさまざまな態様（たとえば、チャンネル、音量、表示されるデバイス等）をコントロールするために、傍らにあるリモートコントロールを用い、テレビを視る。いくつかのリモートコントロールは、ラップトップコンピュータまたはタブレットコンピュータといった電子デバイス内に埋め込まれる。そのようなリモートコントロールは、これらの電子デバイス上で動作するソフトウェアとして実現されてもよく、これは、ユーザが標準的な入力（たとえば、キーボードおよびマウス／トラックパッド）を介してテレビをコントロールすることを可能とする。
【発明の概要】
【課題を解決するための手段】
【０００４】
概要
１つの一般的な態様では、方法は、第１の電子デバイスのカメラからビデオストリームを受信することを含み得、カメラは、第１の電子デバイスのユーザの方向に向けられ、第１の電子デバイスは、第２の電子デバイスから離れてその近傍にあり、第２の電子デバイスは、知覚出力を作成するように構成される。方法はまた、ビデオストリームのフレームのセットにわたって、ユーザによって行われたジェスチャを検出することを含み得る。方法はさらに、ジェスチャの検出に応答して、リモートコントロールを非アクティブ状態からアクティブ状態に遷移させるために、第１の電子デバイス内のリモートコントロールをアクティブ化することを含み得、リモートコントロールがアクティブ状態にあるときに、リモートコントロールは、第２の電子デバイスによって作成された知覚出力に対して変化をトリガするように構成される。
【０００５】
１つまたは複数の実装の詳細は、添付図面および以下の説明において明らかにされる。その他の特徴は、説明および図面から、および請求項から、明らかにされる。
【図面の簡単な説明】
【０００６】
【図１】ジェスチャに基づくリモートコントロールが実現され得る電子環境の例を示す図である。
【図２】図１内に示されるジェスチャに基づくリモートコントロールを実装する方法の例を示すフローチャートである。
【図３】図１内に示されるリモートコントロールの例を示す図である。
【図４】図１内に示されるリモートコントロールにおいて音声に基づくコマンドを使用するプロセスの例を示すフローチャートである。
【図５】図１内に示されるリモートコントロールにおいてジェスチャに基づくコマンドを使用するプロセスの例を示すフローチャートである。
【図６】ここで説明される回路とともに使用され得るコンピュータデバイスおよびモバイルコンピュータデバイスの例を図示する。
【発明を実施するための形態】
【０００７】
詳細な説明
多くの状況では、ユーザは、複数の作業を同時進行しており、テレビを視ている間にいくつかのその他の作業を行っている。その場合、リモートコントロールソフトウェアにアクセスするために、ユーザは、その他の作業を中断しなければならないだろう。
【０００８】
ここで説明される実装に従い、テレビから離れたコンピューティングデバイスのバックグラウンドにおいて動作する、テレビのためのジェスチャに基づくコントロールが提供され、コントロールは、ジェスチャによってアクティブ化される。有利には、ユーザは、テレビをコントロールするために、何ら作業を中断する必要がない。ジェスチャに基づくコントロールは、音声コントロールをアクティブ化するように構成され得、これは、ノイズが存在してもロバストに動作し、テレビから発散する音声、すなわち発声音と競合するだろう。
【０００９】
図１は、上述のジェスチャに基づくリモートコントロールが実現され得る電子環境１００の例を示す図である。示されるように、図１において、電子環境１００は、部屋１１０、ユーザデバイス１２０、テレビ１６０、およびネットワーク１７０を含む。
【００１０】
部屋１１０は、そこから音波が反射され得る少なくとも壁１１４の一部またはいくつかのその他の障害物を包含する、任意の空間であり得る。部屋１１０は、ユーザデバイス１２０およびテレビ１６０の両方を含む。しかし、いくつかの実現例では、部屋１１０は、壁を有さなくてもよく、開放領域としてより良好に説明され得る。
【００１１】
ユーザデバイス１２０は、ネットワーク１７０経由でテレビ１６０をコントロールするように構成され、同時にまたユーザ１１２による使用のために任意の数のアプリケーションを動作させる。いくつかの実装では、ユーザデバイス１２０は、ラップトップコンピュータであってもよいが、また、デスクトップコンピュータ、タブレットコンピュータ、スマートフォンなどであってもよい。ユーザデバイス１２０はまた、ユーザ１１２によって行われた１つまたは複数のジェスチャによってアクティブ化されるリモートコントロールアプリケーションを、バックグラウンドにおいて動作させるように構成される。
【００１２】
ユーザデバイス１２０は、ネットワークインターフェース１２２、１つまたは複数のプロセッシングユニット１２４、メモリ１２６、カメラ１３２、およびマイクロフォン１３４を含む。図１に示されるように、メモリ１２６は、ジェスチャ分類器１４０、アクティベーション状態１４２、記録されたフレーム１４４、予め定められたコマンド１４６、コマンド分類器１４８、および記録されたコマンド１５０を含む、さまざまなデータを格納するように構成される。
【００１３】
リモートコントロール１３０は、テレビ１６０によって作成された知覚出力に対して変化をトリガするように構成される。たとえばリモートコントロール１３０によって作成され変化される知覚出力は、テレビ１６０を電源オンまたは電源オフすること、テレビ１６０による音出力の音量を増加または減少させること、テレビ１６０によって出力される放送局コンテンツを変えること等を含む。リモートコントロール１３０はさらに、リモートコントロール１３０がアクティブ状態にあるときにそのような変化をトリガし、非アクティブ状態にあるときに変化をトリガしないように構成される。
【００１４】
リモートコントロール１３０は、ユーザによって行われたジェスチャ１１２を通して、アクティブ状態と非アクティブ状態との間をトグルする。たとえばリモートコントロール１３０が、音声コントロールされるものと仮定する。その場合、ユーザ１１２の取り得るジェスチャは、握りこぶしがユーザ１１２の口元に向かって移動される形態をとり得る（すなわち、ユーザ１１２が話すマイクロフォンを模擬する）。
【００１５】
ジェスチャ分類器１４０は、記録されたフレーム１４４を、トリガジェスチャであるのかトリガジェスチャではないのかを分類するように構成される。ジェスチャ分類器１４０は、機械学習プロセスを使用して構成されてもよい。
【００１６】
アクティベーション状態１４２は、リモートコントロール１３０がアクティブ（「ACTIVE」）状態であるか非アクティブ（「INACTIVE」）状態であるかを示すバイナリ値である。
【００１７】
記録されたフレーム１４４は、カメラ１３２によって記録されたユーザ１１２の画像を包含するフレームのセットである。これらのフレームは、例示的に、たとえば１０秒に等しいタイムウィンドウにわたって記録された直近のフレームである。 そしてこれらのフレームは、ジェスチャ分類器１４０によってトリガジェスチャを包含するものかトリガジェスチャを包含しないものとして分類される。ユーザデバイス１２０が、トリガジェスチャが存在すると判断すると、ユーザデバイス１２０は、アクティベーション状態１４２をACTIVEに設定する。ユーザデバイス１２０が、トリガジェスチャが存在しないと判断すると、ユーザデバイス１２０は、アクティベーション状態１４２をINACTIVEに設定する。このため、ある実装では、ユーザ１１２が彼のまたは彼女の握りこぶしを彼のまたは彼女の口元から外すと、ユーザデバイスは、アクティベーション状態をINACTIVEに設定する。
【００１８】
予め定められたコマンド１４６は、テレビ１６０の出力に対して変化をトリガするためのコマンドの定義を提供するように構成される。予め定められたコマンドの例は、「POWER ON（電源ＯＮ）」と、「POWER OFF（電源ＯＦＦ）」と、「INCREMENT VOLUME（音量を上げる）」と、「DECREMENT VOLUME（音量を下げる）」と、「INCREMENT STATION NUMBER（局番号を増やす）」と、「DECREMENT STATION NUMBER（局番号を減らす）」とを含む。そのようなコマンド１４６は、テレビが処理できる（たとえば、認識可能である）形態で、テレビへとネットワーク１７０経由で送信されるように構成される。
【００１９】
コマンド分類器１４８は、ユーザ１１２からのコミュニケーションを予め定められたコマンドへと分類するように構成される。たとえばリモートコントロール１３０が音声動作されるとき、ユーザ入力は、記録されたスピーチまたはスピーチの周波数スペクトルの形態を取り得る。その場合、各音声コマンドは、特定のコマンドへとパースされる、または分類される。この流れにそって、コマンド分類器１４８は、「Louder（もっと大きくして）」という音声コマンドを、INCREMENT VOLUME（音量を上げる）コマンドとして分類する等してもよい。
【００２０】
記録されたコマンド１５０は、直近のユーザ提供コマンドを表す。上記の例では、これらのコマンド１５０は、記録されたスピーチまたはその周波数スペクトルの形態を取り得る。
【００２１】
カメラ１３２は、ユーザ１１２によって行われたジェスチャを記録するように構成される。リモートコントロール１３０が音声コマンドを使用するとき、マイクロフォン１３４は、ユーザ１１２によって行われた音声コマンドを記録するように構成される。
【００２２】
テレビ１６０は、ユーザ１１２に任意のチャンネル番号（たとえば、局）のうちの１つからビデオおよび音響出力を提供するように構成される。テレビ１６０は、ネットワークインターフェース１６２（ネットワークインターフェース１２２と同様であってもよい）と、コマンドインタプリタ１６４と、スピーカ１６６とを含む。
【００２３】
コマンドインタプリタ１６４は、ネットワークインターフェース１６２を介して受信されたコマンドを取得するように構成され、それらを処理し、テレビ１６０上の物理効果を引き起こす。たとえばINCREMENT VOLUME（音量を上げる）コマンドがネットワークインターフェース１６２を経由して受信されると、コマンドインタプリタ１６４は、テレビの音量を固定量、たとえば固定量のデシベル分増加させる。
【００２４】
スピーカ１６６は、テレビ１６０によって作成される音響を、空気をわたって部屋１１４を通してユーザ１１２に対し送るように構成される。スピーカ１６６は、電気的入力に対して、音の特徴的スペクトルを作成する既知の応答を有する。さらに、スピーカ１６６は、いくらかの（未知の）距離だけユーザデバイス１２０から離れている。
【００２５】
ネットワーク１７０は、ユーザデバイス１２０とテレビ１６０との間にネットワーク接続を提供するために構成され、配置される。ネットワーク１７０は、インターネットまたはその他のネットワーク経由の通信のために一般に使用される任意のさまざまなプロトコルおよびトポロジを実装してもよい。さらに、ネットワーク１７０は、そのような通信において使用されるさまざまなコンポーネント（たとえば、ケーブル、スイッチ／ルータ、ゲートウェイ／ブリッジ、等。）を含んでもよい。
【００２６】
ネットワークインターフェース１２２は、ネットワーク１７０から受信された電子的および／または光学的信号を、ユーザデバイス１２０によって使用するための電子形態に変換するために、たとえば、イーサネット（登録商標）アダプタ、トーケンリングアダプタ等を含む。プロセッシングユニット１２４のセットは、１つまたは複数のプロセッシングチップおよび／またはアセンブリを含む。メモリ１２６は、揮発性メモリ（たとえば、ＲＡＭ）と、１つまたは複数のＲＯＭ、ディスクドライブ、ソリッドドライブ等の不揮発性メモリとの両方を含む。プロセッシングユニット１２４およびメモリ１２６のセットは、共にコントロール回路を形成し、これは、ここで説明されるようなさまざまな方法および機能を実装するために構成され、配置される。
【００２７】
ユーザデバイス１２０のコンポーネント（たとえば、モジュール、プロセッシングユニット１２４）は、１つまたは複数の種類のハードウェア、ソフトウェア、ファームウェア、オペレーティングシステム、ランタイムライブラリ、および／またはその他のものを含み得る、１つまたは複数のプラットフォーム（たとえば、１つまたは複数の同様のまたは異なるプラットフォーム）に基づき動作するように構成され得る。いくつかの実装では、ユーザデバイス１２０のコンポーネントは、デバイスのクラスタ（たとえば、サーバファーム）内で動作するように構成され得る。そのような実装では、ユーザデバイス１２０のコンポーネントの機能性および処理は、デバイスのクラスタのうちのいくつかのデバイスに分散され得る。
【００２８】
ユーザデバイス１２０のコンポーネントは、アトリビュートを処理するように構成される任意の種類のハードウェアおよび／またはソフトウェアであり得、またはそれらを含み得る。いくつかの実装では、図１内のユーザデバイス１２０のコンポーネントにおいて示されるコンポーネントの１つの部分または複数の部分は、ハードウェアベースモジュール（たとえば、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリ）、ファームウェアモジュール、および／またはソフトウェアベースモジュール（たとえば、コンピュータにおいて実行され得る、コンピュータコードのモジュール、コンピュータ可読命令のセット）であり得、またはそれらを含み得る。たとえば、いくつかの実装では、ユーザデバイス１２０のコンポーネントの１つの部分または複数の部分は、少なくとも１つのプロセッサ（図示しない）によって実行されるように構成されるソフトウェアモジュールであり得、またはそれらを含み得る。いくつかの実装では、コンポーネントの機能性は、図１内に示されるものとは異なるモジュールおよび／または異なるコンポーネント内に含まれ得る。
【００２９】
図示はしないが、いくつかの実装では、ユーザデバイス１２０のコンポーネント（またはその一部）は、たとえば、データセンター（たとえば、クラウドコンピューティング環境）、コンピュータシステム、１つまたは複数のサーバ／ホストデバイス、および／またはその他のものの内部で動作するように構成され得る。いくつかの実装では、ユーザデバイス１２０のコンポーネント（またはその一部）は、ネットワーク内で動作するように構成され得る。このため、ユーザデバイス１２０のコンポーネント（またはその一部）は、１つまたは複数のデバイスおよび／または１つまたは複数のサーバデバイスを含み得るさまざまな種類のネットワーク環境内で機能するように構成され得る。たとえばネットワークは、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、および／またはその他のものであり得、またはそれらを含み得る。ネットワークは、たとえば、ゲートウェイデバイス、ブリッジ、スイッチを使用して実装される１つおよび／または複数の無線ネットワーク、および／またはその他のものであり得、またはそれらを含み得る。ネットワークは、１つまたは複数のセグメントを含み得、および／またはインターネットプロトコル（ＩＰ）および／または独自プロトコルといったさまざまなプロトコルに基づく部分を有することができる。ネットワークは、インターネットの少なくとも一部を含み得る。
【００３０】
いくつかの実施形態では、１つまたは複数のユーザデバイス１２０のコンポーネントは、メモリ内に格納される命令を処理するように構成されるプロセッサであり得、またはそれらを含み得る。たとえばリモートコントロール１３０（および／またはその一部）は、プロセッサとメモリとの組み合わせであり得、１つまたは複数の機能を実装するプロセスに関する命令を実行するように構成される。
【００３１】
いくつかの実装では、メモリ１２６は、ランダムアクセスメモリ、ディスクドライブメモリ、フラッシュメモリ、および／またはその他のものといった任意の種類のメモリであり得る。いくつかの実装では、メモリ１２６は、ユーザデバイス１２０のコンポーネントに関連付けられた複数のメモリコンポーネント（たとえば、複数のＲＡＭコンポーネントまたはディスクドライブメモリ）として実装され得る。いくつかの実装では、メモリ１２６は、データベースメモリであり得る。いくつかの実装では、メモリ１２６は、非ローカルメモリであり得、またはそれを含み得る。たとえばメモリ１２６は、（図示しない）複数デバイスによって共有されるメモリであり得、またはそれを含み得る。いくつかの実装では、メモリ１２６は、ネットワーク内の（図示しない）サーバデバイスに関連付けられ得、ユーザデバイス１２０のコンポーネントに提供されるように構成され得る。
【００３２】
図２は、図１内に示されるジェスチャに基づくリモートコントロールを実装する方法２００を示すフローチャートである。方法２００は、図１に関連して説明されるソフトウェア構成によって行われてもよく、これは、ユーザデバイス１２０のメモリ１２６内に存在し、プロセッシングユニット１２４のセットによって動作される。
【００３３】
２０２において、第１の電子デバイスは、第１の電子デバイスのカメラからビデオストリームを受信し、カメラは、第１の電子デバイスのユーザの方向に向けられ（たとえば、狙っており）、第１の電子デバイスは、第２の電子デバイスから離れて近傍にあり、第２の電子デバイスは、知覚出力を作成するように構成される。たとえばユーザデバイス１２０は、ユーザ１１２によって行われたジェスチャを記録するためのカメラ１３２を有する。カメラ１３２は、これらのジェスチャの画像を、ユーザデバイス１２０によって受信されるビデオストリームのフレーム内に記録する。
【００３４】
２０４において、第１の電子デバイスは、ビデオストリームのフレームのセットにわたって、ユーザによって行われたジェスチャを検出する。ジェスチャ分類器１４０がジェスチャをアクティベーションジェスチャとして分類する場合、ユーザデバイス１２０は、ユーザがアクティベーションジェスチャを行ったと決定する。
【００３５】
２０６において、ジェスチャの検出に応答して、第１の電子デバイスは、第１の電子デバイス内のリモートコントロールをアクティブ化し、リモートコントロールを非アクティブ状態からアクティブ状態に遷移させ、リモートコントロールがアクティブ状態にあるときに、リモートコントロールは、第２の電子デバイスによって作成された知覚出力に対して変化をトリガするように構成される。これらの流れにそって、ユーザデバイス１２０は、ジェスチャ（たとえば、ユーザが彼のまたは彼女の握りこぶしを彼のまたは彼女の口元に置いたこと）を検出した際に、アクティベーション状態１２０をACTIVEに設定する。そしてリモートコントロール１３０は、ユーザが音声コマンドを発するときには、テレビにコマンドを送信可能に準備されている。リモートコントロールが音声コマンドをテレビ１６０によって認識されるコマンドに変換する方法の詳細については、図３および図４に関連して議論される。
【００３６】
図３は、リモートコントロール１３０の例を示す図である。図３に示されるように、リモートコントロール１３０は、マイクロフォン１３４（図１）において記録される音をテレビ１６０によって認識されるコマンドに変換するように構成されるいくつかのコンポーネント、すなわち、サウンド抽出マネージャ３１０、周波数解析マネージャ３２０、フィルタリングマネージャ３３０、およびコマンドマネージャ３４０を含む。
【００３７】
サウンド抽出マネージャ３１０は、音をマイクロフォン１３４から得るように構成される。サウンド抽出マネージャ３１０によってそのように得られた音は、必ずしもユーザ１１２によって話される純粋なスピーチではないことに留意すべきである。むしろ、音はまた、テレビ１６０のスピーカ１６６から発せられる発語並びに部屋１１０から放出されるノイズ（たとえば、壁１１４からの反射および部屋１１０内の暖房、冷房、および電気的デバイスからの低周波数ノイズ）を含んでもよい。
【００３８】
このため、リモートコントロール３１０は、リモートコントロール１３０がテレビ１６０にコマンドを正確に送信し得るように、ユーザ１１２によって話されるスピーチを分離するように構成される。そのような分離を行うための１つの方法は、得られた音の周波数分析を行い、ユーザ１１２のスピーチの部分ではないとわかる周波数のものをフィルタリングして除去することである。
【００３９】
周波数解析マネージャ３２０は、サウンド抽出マネージャ３１０によって得られた音から周波数スペクトルを生成するように構成される。このステップは、リモートコントロールがアクティブ状態にある間に起こってもよい。音データは、指定した時間の間記録され、これによって周波数のセットが取得される。１つの実装では、周波数解析マネージャ３２０は、得られた音のタイムウィンドウについて連続的フーリエ変換を行うことによって（たとえば、高速フーリエ変換を介して）周波数スペクトルを生成するように構成される。たとえば周波数解析マネージャ３２０は、記録された音の２０秒のセグメントを、４つの５秒のセグメントへと切り出してもよい。そしてその場合、周波数解析マネージャ３２０は、各５秒のセグメントについてフーリエ変換を行い、４つの周波数スペクトルを作成する。そして周波数解析マネージャ３２０は、これらの４つの周波数スペクトルを時間順に配置し、得られた音の周波数スペクトルを表すスペクトログラムを時間の関数として作成してもよい。
【００４０】
その他の実装では、周波数解析マネージャ３２０は、たとえば、ある種類のウェーブレット変換等のフーリエ変換以外の変換を使用して、スペクトログラムを生成するように構成されてもよいことに留意すべきである。いくつかの場合、そのようなウェーブレット変換は、フーリエ変換と比べて周波数スペクトルのよりコンパクトな表現を提供し得る。
【００４１】
フィルタリングマネージャ３３０は、ユーザ１１２によって提供されるスピーチのいずれの部分ではないものの周波数成分を抑圧するように構成される。これらの流れにそって、フィルタリングマネージャ３３０は、ユーザ１１２のスピーチが無い状態で部屋内に存在する周波数を決定し、そしてこれらの周波数を周波数解析マネージャ３２０によって生成されるスペクトログラムから抑圧する。フィルタリングマネージャ３３０がそのような周波数を決定する方法についてのさらなる詳細は、図４を参照して示されるが、いくつかの詳細は、ここで示される。
【００４２】
テレビ１６０は、スピーカ１６６を介して、ユーザデバイス１２０から離れた位置から音を出力する。フィルタリングマネージャ３３０はそして、テレビ１６０とユーザデバイス１２０との間の直接接続を介して送信されたデータパケットに対するラウンドトリップタイム（ＲＴＴ）を決定することによって、テレビ１６０またはスピーカ１６６とユーザデバイス１２０との間の距離を決定してもよい。さらに、フィルタリングマネージャ３３０はまた、ユーザデバイス１２０に相対的なスピーカの位置座標を決定するために、到来角／出発角を決定してもよい。これらの座標から、フィルタリングマネージャ３３０は、ある周波数成分の位相を決定してもよい。ユーザデバイス１２０に相対的なスピーカ１６６の配置によって決定されるそのような位相を有する周波数成分は、テレビ１６０によって生成されるものであってユーザ１１２によって生成されるものではないので、抑圧され得る。換言すると、音データ入力の周波数のセットのうちのこれらの周波数は、第２の電子デバイスによって作成された発声音の周波数のセットのうちのいくつかの周波数の振幅および位相に十分に近い振幅および位相を有することが識別される。その方法では、ユーザによって生成される音とスピーカ１６６によって生成される音との分離は改善されることができ、これによりスピーカによって生成されたかなりの音が存在しても、ユーザによって生成される音は、スピーチコマンドとして確実に認識され得る。
【００４３】
さらに、フィルタリングマネージャ３３０は、電気的システム、冷房システム、暖房システム等の部屋１１０からの低周波ハム（たとえば、６０Ｈｚ）を、フィルタリングして除去してもよい。しかし、人のスピーチの中には６０Ｈｚよりも低い周波数を有するものもあるので、注意を払う必要がある。しかし、この場合、ハムが概ね時間にわたって一定であるので、時間にわたって一定のスペクトログラム内の低周波数のスパイクは、抑圧され得る。
【００４４】
コマンドマネージャ３４０は、フィルタされるスペクトログラムを、コマンド分類器１４８によって分類されるべきコマンドへとまたはコマンドのセットへとパースするように構成される。これらの流れにそって、コマンドマネージャ３４０は、スペクトログラムを対応する特定のコマンドとして分類する。いくつかの実装では、コマンドマネージャ３４０は、ユーザ１１２からのスピーチを復元するために、マッピングを行う前に逆フーリエ変換を行う。
【００４５】
図４は、リモートコントロール１３０において音声に基づくコマンドを使用するプロセス４００を示すフローチャートである。プロセス４００は、図３に関連して説明されるソフトウェア構成によって行われてもよく、これは、ユーザデバイス１２０のメモリ１２６内に存在し、プロセッシングユニット１２４のセットによって動作される。
【００４６】
４０２において、ユーザデバイス１２０は、部屋１１０の周波数応答を生成する。周波数応答は、テレビ１６０によって生成された音の各周波数における振幅および位相を含む。１つの代替的な実装では、ネットワーク上で接続を確立し、そして受信された信号を測定した際に、周波数掃引（たとえば、チャープ）を行うことによって、部屋の周波数応答が取得されてもよい。別の代替的な実装では、リモートコントロール１３０が非アクティブ状態にあるときに、テレビ１６０によって作成された周波数が抽出される。この場合、プライバシーの懸念に対処するため、連続的な記録は必須ではなく、作成されるべき信号が前もって既知であるため、ユーザデバイス１２０は、観察されていない周波数が再生されることが予測されるときにのみ、記録することができる。
【００４７】
４０４において、ユーザデバイス１２０は、マイクロフォン１３４から組み合わされたサウンド入力を受信する。再び、サウンド入力は、テレビ１６０からの音並びに部屋１１０からのノイズと組み合わされたユーザ１１２のスピーチからの音を含む。
【００４８】
４０６において、ユーザデバイス１２０は、スペクトログラム、すなわち、連続的なタイムウィンドウにわたる周波数スペクトルを、組み合わされたサウンド入力から生成する。いくつかの実装では、スペクトログラムは、リモートコントロールがアクティブ状態にあるときに、指定した時間の間、音データの記録を繰り返すことと、周波数のセットを取得することとによって得られる。
【００４９】
４０８において、ユーザデバイス１２０は、ネットワーク１７０を経由してテレビ１６０から入力されるサウンドを受信する。部屋１１０内の空気をわたって受けられた音が部屋１１０からの歪みおよびノイズを含むので、これとネットワーク１７０経由で受信されるサウンド入力とは、同じではないということに留意すべきである。ユーザデバイス１２０は、そのような信号の振幅および位相を近似するために、テレビ１６０からの信号を運ぶネットワーク１７０の、ラウンドトリップタイム（ＲＴＴ）と、ＷｉＦｉ信号の到来角（ＡｏＡ）または出発角（ＡｏＤ）とを測定してもよいということが理解されるべきである。いくつかの場合、そのような位相は、テレビ１６０からの音における人の音声をユーザ１１２のスピーチから区別するために必要とされ得る。その方法では、人のスピーチは、より高精度に検出され得、このためテレビ１６０等に送信するために、スピーチからコマンドを上述のように生成すること向上させる。
【００５０】
４１２において、ユーザデバイス１２０は、部屋内の空気をわたって受けられた音におけるノイズを、周波数応答を使用して、組み合わされたサウンド入力からフィルタリングし、そうすることによって、スペクトログラムからスピーチに対応する周波数を選択する。１つの実装では、ユーザデバイス１２０は、スペクトログラムの各々ウィンドウから周波数応答フィルタされる周波数を差し引く。
【００５１】
４１４において、ユーザデバイス１２０は、スペクトログラムのうちの選択された周波数からコマンドを生成する。
【００５２】
４１６において、ユーザデバイス１２０は、テレビ１６０にネットワーク１７０を経由してコマンドを送信する。
【００５３】
上記のプロセス４００は、ユーザ１１２がコマンドを話している間に、テレビ１６０がスピーカ１６６を介して音を作成するということを仮定する。簡易化されるプロセスは、リモートコントロールがアクティブ状態にある間に、消音コマンドをテレビ１６０に送信することを伴うだろう。別の実施では、プロセスは、消音コマンドよりもむしろ音量低下コマンドを送信することを伴ってもよい。そのような音量低下コマンドは、よりスムーズなユーザエクスペリエンスを提供し得る。
【００５４】
代替的に、ユーザデバイス１２０がスマートフォン、タブレットコンピュータ、またはその他の軽量デバイスであるとき、リモートコントロール１３０は、ユーザデバイス１２０の運動を介して動作されてもよい。そのような場合では、ユーザデバイス１２０は、そのような運動を測定する加速度計を有してもよい。そしてユーザデバイス１２０は、そのような運動を、リモートコントロール１３０がテレビ１６０に送信するコマンドにマップしてもよい。
【００５５】
図５は、リモートコントロール１３０内のジェスチャに基づくコマンドを使用するプロセス５００を示すフローチャートである。プロセス５００は、図３に関連して説明されるユーザデバイス１２０のメモリ１２６内に存在するソフトウェア構成によって行われてもよく、プロセッシングユニット１２４のセットによって動作される。さらに、プロセス５００は、リモートコントロール１３０がアクティブ状態にある間に起こる。ユーザデバイス１２０内のリモートコントロールをアクティブ化することおよび非アクティブ化することは、上述のように、たとえば、図２内で図示される方法に従い起こってもよい。
【００５６】
５０２において、ユーザデバイス１２０は、リモートコントロール１３０がアクティブ状態にある間に、ユーザデバイス１２０のモーションを検出する。たとえば１つの実装では、ユーザ１１２は、ユーザデバイス１１２を上方向に動かし、これによりテレビ１６０の音量が大きくされる。
【００５７】
５０４において、ユーザデバイス１２０は、パーサ／分類器１４８を介してコマンドを作成するために、検出されるモーションを分類する。上記の例を続けると、ユーザデバイス１２０の上向モーションは、コマンド分類器１４８を介してINCREMENT VOLUME（音量を大きくする）コマンドとして分類される。
【００５８】
５０６において、ユーザデバイス１２０は、コマンドをテレビ１６０にネットワーク１７０を介して送信する。
【００５９】
図６は、ここで説明される技術とともに使用され得る、汎用コンピュータデバイス６００および汎用モバイルコンピュータデバイス６５０の例を図示する。
【００６０】
図６に示されるように、コンピューティングデバイス６００は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレードサーバ、メインフレーム、およびその他の適切なコンピュータといった、さまざまな形態のデジタルコンピュータを表すことを意図される。コンピューティングデバイス６５０は、パーソナルデジタルアシスタント、セルラーフォン、スマートフォン、およびその他の同様のコンピューティングデバイスといったさまざまな形態のモバイルデバイスを表すことを意図される。ここで示されるコンポーネントと、それらの接続および関係と、それらの機能とは、例示的なものにすぎず、本文において記載されおよび／または特許請求される本発明の実施形態を限定するものではない。
【００６１】
コンピューティングデバイス６００は、プロセッサ６０２と、メモリ６０４と、ストレージデバイス６０６と、メモリ６０４および高速拡張ポート６１０に接続される高速インターフェイス６０８と、低速インターフェイス６１２およびストレージデバイス６０６に接続される低速バス６１４とを含む。コンポーネント６０２、６０４、６０６、６０８、６１０、および６１２の各々は、さまざまなバスを使用して相互接続され、共通のマザーボード上にまたは適宜他の方法において取り付けられ得る。プロセッサ６０２は、メモリ６０４内またはストレージデバイス６０６上に記憶される命令を含む、コンピューティングデバイス６００内での実行のための命令を処理して、高速インターフェイス６０８に結合されるディスプレイ６１６などの外部入力／出力デバイス上のＧＵＩ用のグラフィック情報を表示することができる。その他の実装では、複数のプロセッサおよび／または複数のバスを複数のメモリおよび複数の種類のメモリとともに適宜用い得る。また、複数のコンピューティングデバイス６００が接続されるとともに、（たとえば、サーババンク、ブレードサーバの群、またはマルチプロセッサシステムとして）各々のデバイスは、必要な動作の一部を提供し得る。
【００６２】
メモリ６０４は、コンピューティングデバイス６００内に情報を記憶する。１つの実装では、メモリ６０４は、１つまたは複数の揮発性メモリユニットである。別の実装では、メモリ６０４は、１つまたは複数の不揮発性メモリユニットである。メモリ６０４は、磁気ディスクまたは光ディスクなどの別の形態のコンピュータ可読媒体でもあり得る。
【００６３】
ストレージデバイス６０６は、コンピューティングデバイス６００のためのマスストレージを提供する機能性を有する。１つの実装では、ストレージデバイス６０６は、フロッピー（登録商標）ディスクデバイス、ハードディスクデバイス、光ディスクデバイスもしくはテープデバイスなどのコンピュータ可読媒体、フラッシュメモリもしくは他の同様の固体メモリデバイス、またはストレージエリアネットワークもしくは他のコンフィグレーション内のデバイスを含むデバイスのアレイであり得、またはそれを包含し得る。コンピュータプログラム製品は、情報担体中に有形に具現化されることができる。コンピュータプログラム製品は、実行されると、上述のものなどの１つ以上の方法を実行する命令も包含し得る。情報担体は、メモリ６０４、ストレージデバイス６０６、またはプロセッサ６０２上のメモリなどの、コンピュータ可読媒体または機械可読媒体である。
【００６４】
高速コントローラ６０８は、コンピューティングデバイス５００の帯域消費型動作を管理する一方で、低速コントローラ６１２は、比較的帯域消費型ではない動作を管理する。そのような機能の割当ては例示にすぎない。１つの実装では、高速コントローラ６０８は、（たとえば、グラフィックプロセッサまたはアクセラレータを介して）メモリ６０４、ディスプレイ６１６に、およびさまざまな拡張カード（図示せず）を受け付け得る高速拡張ポート６１０に結合される。その実装では、低速コントローラ６１２は、ストレージデバイス５０６および低速拡張ポート６１４に結合される。さまざまな通信ポート（たとえば、ＵＳＢ、ブルートゥース（登録商標）、イーサネット（登録商標）、ワイヤレスイーサネット（登録商標））を含み得る低速拡張ポートは、たとえばキーボード、ポインティングデバイス、スキャナなどの１つ以上の入／出力デバイス、またはスイッチもしくはルータなどのネットワーキングデバイスに、たとえばネットワークアダプタを通して結合され得る。
【００６５】
図に示されるように、コンピューティングデバイス６００は、多数の異なる形態で実装され得る。たとえば、それは、標準的なサーバ６２０として、またはそのようなサーバグループ内で複数回実装され得る。それは、ラックサーバシステム６２４の一部としても実装され得る。加えて、それは、ラップトップコンピュータ６２２などのパーソナルコンピュータ内に実装され得る。代替的に、コンピューティングデバイス６００からのコンポーネントは、デバイス６５０といったモバイルデバイス（図示せず）内の他のコンポーネントと組合せられ得る。そのようなデバイスの各々は、１つまたは複数のコンピューティングデバイス６００、６５０を包含し得、システム全体は、互いに通信する複数のコンピューティングデバイス６００、６５０からなり得る。
【００６６】
コンピューティングデバイス６５０は、コンポーネントのうちとりわけ、プロセッサ６５２、メモリ６６４、ディスプレイ６５４といった入／出力デバイス、通信インターフェイス６６６、およびトランシーバ６６８を含む。デバイス６５０は、追加的なストレージを設けるために、マイクロドライブまたはその他のデバイスといったストレージデバイスを設けられ得る。コンポーネント６５０、６５２、６６４、６５４、６６６、および６６８の各々は、さまざまなバスを用いて相互接続され、コンポーネントのうちいくつかは、共通のマザーボード上にまたは適宜他の態様で実装され得る。
【００６７】
プロセッサ６５２は、コンピューティングデバイス６５０内で命令を実行することができ、当該命令は、メモリ６６４内に格納される命令を含む。プロセッサは、別個のおよび複数のアナログプロセッサおよびデジタルプロセッサを含むチップのチップセットとして実装され得る。プロセッサは、たとえば、ユーザインターフェイスの制御、デバイス６５０によって実行されるアプリケーション、デバイス６５０による無線通信などの、デバイス６５０のその他のコンポーネントの協調を提供し得る。
【００６８】
プロセッサ６５２は、ディスプレイ６５４に結合されるコントロールインターフェイス６５８とディスプレイインターフェイス６５６とを通して、ユーザとコミュニケーションし得る。ディスプレイ６５４は、たとえば、ＴＦＴ  ＬＣＤ（薄膜トランジスタ液晶ディスプレイ）またはＯＬＥＤ（有機発光ダイオード）ディスプレイまたはその他の適切なディスプレイ技術であり得る。ディスプレイインターフェイス６５６は、グラフィックおよびその他の情報をユーザに提示するために、ディスプレイ６５４を駆動するための適切な回路構成を備え得る。コントロールインターフェイス６５８は、ユーザからのコマンドを受け、それらを変換してプロセッサ６５２に送り得る。加えて、プロセッサ６５２と通信するための外部インターフェイス６６２が設けられ得、これにより、デバイス６５０によるその他のデバイスとの近距離通信を可能にする。外部インターフェイス６６２は、たとえば、いくつかの実装では有線通信を、または他の実装では無線通信を提供し得、複数のインターフェイスもまた用いられ得る。
【００６９】
メモリ６６４は、コンピューティングデバイス６５０内に情報を格納する。メモリ６６４は、１つまたは複数のコンピュータ可読媒体、１つまたは複数の揮発性メモリユニット、または１つまたは複数の不揮発性メモリユニットとして実装可能である。また、拡張メモリ６７４が設けられ、拡張インターフェイス６７２を通してデバイス６５０に接続され得る。これは、たとえば、ＳＩＭＭ（シングルインラインメモリモジュール）カードインターフェイスを含み得る。そのような拡張メモリ６７４は、デバイス６５０のための追加のストレージ容量を設け得、またはデバイス６５０のためのアプリケーションもしくはその他の情報も格納し得る。具体的には、拡張メモリ６７４は、上述のプロセスを実行するまたは補足する命令を含み得、セキュリティ情報も含み得る。このため、たとえば、拡張メモリ６７４は、デバイス６５０のためのセキュリティモジュールとして設けられ得、デバイス６５０のセキュアな使用を許可する命令を有してプログラミングされ得る。加えて、たとえばＳＩＭＭカード上にハッキングされない態様で識別情報を配置するなど、付加的な情報を加えたＳＩＭＭカードを介してセキュアな使用が提供され得る。
【００７０】
メモリは、たとえば、以下に論じるようにフラッシュメモリおよび／またはＮＶＲＡＭメモリを含み得る。１つの実装では、コンピュータプログラム製品は、情報担体の中に有形に具現化される。コンピュータプログラム製品は、実行されると、上述のものといった１つまたは複数の方法を行なう命令を含む。情報担体は、メモリ６６４、拡張メモリ６７４、プロセッサ６５２上のメモリなどのコンピュータまたは機械可読媒体であり、それは、たとえばトランシーバ６６８もしくは外部インターフェイス６６２上で受信され得る。
【００７１】
デバイス６５０は、必要な場合、デジタル信号処理回路を含み得る通信インターフェイス６６６を介して無線で通信し得る。通信インターフェイス６６６は、とりわけ、ＧＳＭ（登録商標）音声通話、ＳＭＳ、ＥＭＳもしくはＭＭＳメッセージング、ＣＤＭＡ、ＴＤＭＡ、ＰＤＣ、ＷＣＤＭＡ（登録商標）、ＣＤＭＡ２０００、またはＧＰＲＳなどのさまざまなモードまたはプロトコル下での通信を提供し得る。そのような通信は、たとえば無線周波数トランシーバ６６８を通して行なわれ得る。加えて、ブルートゥース（登録商標）、ＷｉＦｉ（登録商標）、またはそのような他のトランシーバ（図示せず）を用いるなどする短距離通信が行なわれ得る。さらに、ＧＰＳ（全地球測位システム）レシーバモジュール６７０は、追加的なナビゲーションおよび位置に関する無線データをデバイス６５０に提供し得、このデータは、デバイス６５０上で実行されるアプリケーションによって適宜用いられ得る。
【００７２】
デバイス６５０はまた、音声コーデック６６０を用いて聴覚を通じてコミュニケーションし得、これは、ユーザが話した情報を受け、それを使用可能なデジタル情報に変換し得る。音声コーデック６６０は同様に、スピーカを通してなど、たとえばデバイス６５０のハンドセットにおいて、ユーザに対して可聴音を生成し得る。そのような音は、音声電話からの音を含み得、記録される音（たとえば、音声メッセージ、音楽ファイルなど）を含み得、デバイス６５０上で動作するアプリケーションによって生成される音も含み得る。
【００７３】
コンピューティングデバイス６５０は、図に示されるように、いくつかの異なる形態で実装され得る。たとえば、それは、セルラーフォン６８０として実装され得る。それはまた、スマートフォン６８２、パーソナルデジタルアシスタント、またはその他の同様のモバイルデバイスの一部として実装され得る。
【００７４】
ここに記載されるシステムおよび技術のさまざまな実装は、デジタル電子回路、集積回路、特別に設計されるＡＳＩＣ（特定用途向け集積回路）、コンピュータハードウェア、ファームウェア、ソフトウェア、および／またはその組合せにおいて実現されることができる。これらのさまざまな実装は、特殊用途または汎用であり、ストレージシステムからおよびストレージシステムへとデータおよび命令を送受信するように結合され得る少なくとも１つのプログラマブルプロセッサ、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスを含むプログラマブルシステム上で実行可能なおよび／または解釈可能な１つまたは複数のコンピュータプログラム内の実装を含むことができる。
【００７５】
（プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても既知の）これらのコンピュータプログラムは、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型言語および／もしくはオブジェクト指向プログラミング言語ならびに／またはアセンブリ／機械言語において実装可能である。本明細書中で用いられるように、「機械可読媒体」「コンピュータ可読媒体」という用語は、機械可読信号として機械命令を受信する機械可読媒体を含む、機械命令および／またはデータをプログラマブルプロセッサに与えるために用いられる任意のコンピュータプログラム製品、機器および／またはデバイス（たとえば、磁気ディスク、光ディスク、メモリ、プログラマブル論理回路（ＰＬＤ））を指す。「機械可読信号」という用語は、機械命令および／またはデータをプログラマブルプロセッサに与えるために用いられる任意の信号を指す。
【００７６】
ユーザとの対話を提供するために、ここに記載されるシステムおよび技術は、情報をユーザに表示するためのディスプレイデバイス（たとえば、ＣＲＴ（陰極管）もしくはＬＣＤ（液晶ディスプレイ）モニタ）、それによってユーザが入力をコンピュータに与えることができるキーボードおよびポインティングデバイス（たとえば、マウスもしくはトラックボール）を有するコンピュータ上で実装されることができる。その他の種類のデバイスを用いてユーザとの対話を提供することもできる。たとえば、ユーザに与えられるフィードバックは、任意の形態の感覚的フィードバック（たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック）であることができ、ユーザからの入力は、音響、スピーチ、または触覚入力を含む任意の形態で受けられることができる。
【００７７】
ここに記載されるシステムおよび技術は、（たとえば、データサーバのような）バックエンドコンポーネントを含むか、ミドルウェアコンポーネント（たとえば、アプリケーションサーバ）を含むか、フロントエンドコンポーネント（たとえば、それを通してユーザがここに記載されるシステムおよび技術の実装と対話することができるグラフィックユーザインターフェイスもしくはウェブブラウザを有するクライアントコンピュータ）を含むか、そのようなバックエンド、ミドルウェア、フロントエンドコンポーネントの任意の組合せを含む、コンピューティングシステム内で実装されることができる。システムのコンポーネントは、デジタルデータ通信（たとえば、通信ネットワーク）の任意の形態または媒体によって相互接続されることができる。通信ネットワークの例は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、およびインターネットを含む。
【００７８】
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバとは、一般的に互いからリモートにあり、典型的には通信ネットワークを通してインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータで実行され互いに対してクライアント−サーバ関係を有するコンピュータプログラムによって発生する。
【００７９】
いくつかの実施形態が説明される。しかし、本明細書の精神および範囲から逸脱することなく、さまざまな変形がなされ得ることが理解されるだろう。
【００８０】
ある要素が別の要素の上にあるか、接続されるか、電気的に接続されるか、結合されるか、電気的に結合されると言及される場合は、それは、その別の要素の直接上にあるか、直接接続されるか、直接結合されてもよく、または、１つまたは複数の介在要素が存在してもよい。対照的に、ある要素が別の要素の直接上にあるか、直接接続されるか、直接結合されると言及されるとき、介在要素は存在しない。直接上に、直接接続され、または直接結合される、という用語は詳細な説明を通して使用されないかもしれないが、直接上に、直接接続され、または直接結合されるように示される要素は、そのように言及され得る。本願の特許請求の範囲は、本明細書に記載されるか図に示される例示的な関係を記載するように補正され得る。
【００８１】
説明される実施形態のある特徴がここに説明されるように例示されてきたが、当業者にとって、多くの変形、代替、変更および均等物が想起され得るであろう。したがって、添付される特許請求の範囲は、実施形態の範囲に含まれるすべてのそのような変形および変更を包含するように意図されることが理解されるべきである。それらは限定しない一例としてのみ提示されており、形態および詳細においてさまざまな変更がなされ得ることが理解されるべきである。本明細書に記載の装置および／または方法の任意の部分は、相互排他的な組み合わせを除いて、任意の組み合わせにおいて組み合わされ得る。本明細書で説明される実装形態は、説明されるさまざまな実装形態の機能、構成要素、および／または特徴のさまざまなコンビネーションおよび／またはサブコンビネーションを含み得る。
【００８２】
加えて、図に示される論理フローは、望ましい結果を達成するために、示される特定の順序または順番を必須としない。さらに、説明されるフローにさらに他のステップが提供されてもよく、またはそれからいくつかのステップが削除されてもよく、説明されるシステムにさらに他のコンポーネントが追加されてもよく、またはそこからいくつかのコンポーネントが除去されてもよい。したがって、さらに他の実施形態は、添付の特許請求の範囲内である。
【図１】
2019528526.tif 000003
【図２】
2019528526.tif 000004
【図３】
2019528526.tif 000005
【図４】
2019528526.tif 000006
【図５】
2019528526.tif 000007
【図６】
2019528526.tif 000008
【国際調査報告】
2019528526.tif 000009
2019528526.tif 000010
2019528526.tif 000011