(57)【特許請求の範囲】
【請求項１】
コンピュータで実施される方法であって、
プロセッサを使用して、モバイルデバイスの向きを判定するステップと、
前記プロセッサを使用して、前記モバイルデバイスの前記判定された向きに基づいて前記モバイルデバイスの動作モードを決定するステップと、
前記モバイルデバイスの前記決定された動作モードに基づく音声検出パラメータを識別するステップと、を含み、前記識別された音声検出パラメータは、音声検出が終了する時を指定するための１つまたは複数の音声エネルギー閾値を定義し、
前記方法は、
検出された聴覚情報と、前記モバイルデバイスの決定された前記動作モードに基づいて識別された前記音声検出パラメータとの比較に基づいて前記モバイルデバイスのユーザーからの音声の終了を検出するステップを含む、方法。
【請求項２】
前記モバイルデバイスの前記向きを判定するステップは、前記モバイルデバイスの角度を検出するステップを含む、請求項1に記載の方法。
【請求項３】
前記モバイルデバイスの前記向きを判定するステップは、前記モバイルデバイスの前記ユーザーへの前記モバイルデバイスの近接度を検出するステップを含む、請求項1に記載の方法。
【請求項４】
前記モバイルデバイスの前記決定された動作モードは、パーソナルデジタルアシスタント動作モード、電話動作モード、またはトランシーバー動作モードのうちの1つで構成される、請求項1に記載の方法。
【請求項５】
前記モバイルデバイスの前記動作モードを決定するステップは、前記モバイルデバイスの移動を識別するように、ベイジアンネットワークを使用するステップを含む、請求項1に記載の方法。
【請求項６】
前記モバイルデバイスの前記動作モードを決定するステップは、前記モバイルデバイスの移動を識別するように、隠れマルコフモデルを使用するステップを含む、請求項1に記載の方法。
【請求項７】
前記モバイルデバイスの前記ユーザーに対して音声検出が開始または終了したことを示すステップをさらに含む、請求項1に記載の方法。
【請求項８】
前記モバイルデバイスの前記ユーザーに音声検出が開始または終了したことを示すステップは、視覚的もしくは聴覚的通知を含む、請求項7に記載の方法。
【請求項９】
1つまたは複数のコンピュータを備えたシステムであって、
前記コンピュータは、
モバイルデバイスの向きを検出する少なくとも1つのセンサーと、
前記モバイルデバイスの前記検出された向きに基づいて前記モバイルデバイスの姿勢を識別する姿勢識別器と、
前記モバイルデバイスの識別された姿勢に基づく、選択された音声検出パラメータを識別するスピーチエンドポインタとを有し、前記選択された音声検出パラメータは、音声検出が終了する時を指定するための１つまたは複数の音声エネルギー閾値を定義する、システム。
【請求項１０】
前記少なくとも1つのセンサーは、加速度計を備える、請求項9に記載のシステム。
【請求項１１】
前記少なくとも1つのセンサーは、近接センサーを備える、請求項9に記載のシステム。
【請求項１２】
前記モバイルデバイスの移動を分類するジェスチャー分類器をさらに備える、請求項9に記載のシステム。
【請求項１３】
前記識別される姿勢は、パーソナルデジタルアシスタント姿勢、電話姿勢、またはトランシーバー姿勢のうちの1つで構成される、請求項9に記載のシステム。
【請求項１４】
1つまたは複数のコンピュータを備えたシステムであって、
前記コンピュータは、
モバイルデバイスの向きを検出する少なくとも1つのセンサーと、
前記モバイルデバイスの前記検出された向きに基づいて前記モバイルデバイスの姿勢を識別する姿勢識別器と、
前記モバイルデバイスの識別された姿勢に基づく、選択された音声検出パラメータを識別する手段とを有し、前記音声検出パラメータは、前記モバイルデバイスのユーザーが前記モバイルデバイスに対する発声を終了したかどうかを判定するための１つまたは複数の音声エネルギー閾値を定義する、システム。
【請求項１５】
前記少なくとも1つのセンサーは、近接センサーを備える、請求項14に記載のシステム。
【請求項１６】
前記識別される姿勢は、パーソナルデジタルアシスタント姿勢、電話姿勢、またはトランシーバー姿勢のうちの1つで構成される、請求項14に記載のシステム。
【請求項１７】
前記モバイルデバイスの移動を分類するジェスチャー分類器をさらに備える、請求項14に記載のシステム。
【請求項１８】
前記少なくとも1つのセンサーは、カメラを備える、請求項14に記載のシステム。
【請求項１９】
前記少なくとも1つのセンサーは、加速度計を備える、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、2008年11月10日に出願した米国仮出願第61/113,061号、名称「Multisensory Speech Detection」の優先権を主張するものである。
【０００２】
本明細書は、音声検出に関するものである。
【背景技術】
【０００３】
コンピュータのプロセッサのサイズが縮小され、コストが低減されるとともに、モバイルコンピューティングデバイスの普及がますます拡大してきている。携帯できるように設計されている多くのモバイルコンピューティングデバイスは、軽量であり、着用したり、ポケットまたはハンドバッグに入れて運べるほどに小さい。しかし、現代的なモバイルコンピューティングデバイスの携帯性は高く付く、つまり、今日のモバイルコンピューティングデバイスは、多くの場合、デバイスのサイズを縮小し、重量を減らすために小さな入力デバイスを組み込んでいるということである。例えば、多くの現行のモバイルデバイスは、多くの人々(特にあまり器用でない人々)にとって使いにくい小型キーボードを採用している。
【０００４】
モバイルコンピューティングデバイスによっては、ユーザーが音声を使用してデバイスをインタラクティブに操作できるようにすることによってこのような問題に対処しているものもある。例えば、ユーザーは、自分の連絡先リストに載っている誰かに電話するのに、音声コマンド(例えば、「call」)とその人の名前を電話口に単純に発声するだけでよい。しかし、音声は、環境によっては背景雑音から区別しにくく、ユーザーにとって自然な形でユーザー音声をキャプチャすることが難しい場合がある。それに加えて、音声の記録を正しいタイミングで開始することも難題である。例えば、ユーザーが発声した後に記録が開始する場合、その結果として行われる記録に、ユーザーの音声コマンドが完全には含まれない可能性がある。さらに、ユーザーは、発声した後に発声したコマンドがデバイスによって認識されなかったという通知を受けることもあり、これは、ユーザーを苛立たせると思われる。
【発明の概要】
【課題を解決するための手段】
【０００５】
一般に、本明細書では、音声を検出するためのシステムおよび技術を説明する。いくつかの実装において、モバイルコンピューティングデバイスは、デバイスの向き(つまり、ユーザーからの距離もしくはユーザーとの近さ、および/または角度)の変化に基づいてユーザーがデバイスに向かって発声している(または発声しようとしている)かどうかを判定することができる。例えば、デバイスは、1つまたは複数のセンサーを使用して、ユーザーがデバイスを自分の顔の前からユーザーの耳のところのデバイスによる通常の通話位置に持ってくるなどデバイスを使った特定のジェスチャーをしたかどうかを判定することができる。ジェスチャーが検出された場合、デバイスは音を発して、ユーザーが発声を開始し、録音が開始できることを示すことができる。デバイスをユーザーの耳から遠ざける第2のジェスチャーを、録音を停止するトリガーとして使用することができる。
【０００６】
それに加えて、デバイスは、デバイスをインタラクティブに操作するモードに対応する指定された「姿勢」であるかどうかを判定することができる。デバイスが、事前定義済みの姿勢に置かれると、デバイスは、録音を開始することができる。デバイスがその姿勢から外れると、録音は停止するものとしてよい。場合によっては、聴覚、触覚、または視覚のフィードバック(もしくはこれら3つの組み合わせ)を与えることで、デバイスが録音を開始したか、または停止したかを示すことができる。
【０００７】
一実装において、多感覚応用音声検出(multisensory speech detection)をコンピュータで実施する方法が開示される。この方法は、モバイルデバイスの向きを判定するステップと、モバイルデバイスの向きに基づいてモバイルデバイス動作モードを決定するステップとを含む。この方法は、検出された動作モードに基づいて音声検出を開始するまたは終了した時を指定する音声検出パラメータを識別するステップと、それらの音声検出パラメータに基づいてモバイルデバイスのユーザーからの音声を検出するステップとをさらに含む。
【０００８】
いくつかの態様において、モバイルデバイスの向きを検出するステップは、モバイルデバイスの角度を検出するステップをさらに含む。さらに他の態様では、モバイルデバイスの向きを検出するステップは、モバイルデバイスからモバイルデバイスのユーザーへの近接度を検出するステップをさらに含む。また、モバイルデバイスの動作モードを決定するステップは、ベイジアンネットワークを使用してモバイルデバイスの移動を識別するステップを含む。
【０００９】
他の実装において、多感覚応用音声検出のためのシステムが開示される。システムは、モバイルデバイスのユーザーに関係するモバイルデバイスの向きを検出する少なくとも1つのセンサーを有する1つまたは複数のコンピュータを備えることができる。システムは、モバイルデバイスの検出された向きに基づいてモバイルデバイスの姿勢を識別する姿勢識別器をさらに備えることができる。それに加えて、システムは、音声検出が開始または終了した時を指定する選択された音声検出パラメータを識別するスピーチエンドポインタ(speech endpointer)を備えることができる。
【００１０】
いくつかの態様において、システムは、加速度計を備えることができる。このシステムは、近接センサーを備えることもできる。それに加えて、システムは、モバイルデバイスの移動を分類するジェスチャー分類器(gesture classifier)も備えることができる。
【００１１】
本明細書で説明されているシステムおよび技術は、以下の利点のうちの1つまたは複数を備えることができる。第1に、システムを使用することで、ユーザーは自然な形でモバイルデバイスをインタラクティブに操作することができる。第2に、録音された音声は、より高い信号対雑音比を有することができる。第3に、システムは、音声を途切れさせることなく録音することができる。第4に、システムは、ユーザーが発声を開始する前にオーディオ信号品質に関するフィードバックを供給することができる。多感覚応用音声検出機能の1つまたは複数の実施形態の詳細は、添付図面および以下の説明で述べられる。多感覚応用音声検出機能の他の特徴および利点は、説明および図面、さらに請求項から明白になるであろう。
【図面の簡単な説明】
【００１２】
【図１】多感覚応用音声検出の一例を示す概念図である。
【図２】例示的な多感覚応用音声検出システムを示すブロック図である。
【図３】多感覚応用音声検出の例示的なプロセスを示す図である。
【図４】多感覚応用音声検出の例示的な代替的プロセスを示す図である。
【図５Ａ】ジェスチャー認識のための座標系を示す図である。
【図５Ｂ】ジェスチャー認識のための座標系を示す図である。
【図６】ジェスチャー認識のための例示的な状態機械を示す図である。
【図７】ジェスチャー認識のための状態機械の他の実装を示す図である。
【図８Ａ】姿勢および音声検出のためのベイジアンネットワークを示す図である。
【図８Ｂ】姿勢および音声検出のためのベイジアンネットワークを示す図である。
【図９】エンドポインタ状態機械を示す図である。
【図１０】姿勢および音声検出のための動的ベイジアンネットワークを示す図である。
【図１１】オーディオ信号品質に関するフィードバックを返すための例示的なグラフィカルユーザーインターフェイスのスクリーンショットである。
【図１２】オーディオ信号品質に関するフィードバックを返すための例示的なグラフィカルユーザーインターフェイスのスクリーンショットである。
【図１３】背景雑音ベースのモード選択に対する例示的なプロセスを示す図である。
【図１４】背景雑音レベル推定の例示的な方法を示す図である。
【図１５】本明細書で説明されている多感覚応用音声検出方法の実施形態を実装する例示的なモバイルデバイスの概略表現図である。
【図１６】図15のデバイスの内部アーキテクチャを例示するブロック図である。
【図１７】図15のデバイスによって使用されるオペレーティングシステムの例示的なコンポーネントを例示するブロック図である。
【図１８】図17のオペレーティングシステムカーネルによって実装される例示的なプロセスを示すブロック図である。
【図１９】本明細書で説明されている技術を実装するために使用されうるコンピュータデバイスおよびモバイルコンピュータデバイスの一例を示す図である。
【発明を実施するための形態】
【００１３】
さまざまな図面内の類似の参照記号は、類似の要素を示す。
【００１４】
本明細書では、音声を検出するためのシステムおよび技術を説明する。いくつかの実装において、モバイルデバイスは、ユーザーからモバイルデバイスまで距離、さらにはユーザーとモバイルデバイスとがなす角度を判定することができる。この情報に基づいて、デバイスは、録音の開始または停止を行うことができる。図解例において、ユーザーは、デバイスを所定の位置に、例えば、耳の隣に置くことができる。デバイスは、この位置に入ったことを検出して、録音を開始することができる。ユーザーがデバイスを移動してこの位置から外すと、デバイスはユーザー入力の記録を停止することができる。録音された音声は、デバイス上で実行されているアプリケーションもしくは外部デバイス上で実行されているアプリケーションへの入力として使用することができる。
【００１５】
図1は、多感覚応用音声検出を示す概念図100である。図100は、モバイルデバイス110を手に持っているユーザー105を示している。モバイルデバイス110は、携帯電話、PDA、ラップトップコンピュータ、または他の適切なポータブルコンピューティングデバイスであってもよい。図1に示されている図解例において、ユーザー105は、モバイルデバイス110上で実行されているアプリケーションをインタラクティブに操作することを望んでいる場合がある。例えば、ユーザーは、GOOGLE MAPSなどのウェブベースのアプリケーションを使用して会社の住所を検索したい場合がある。典型的には、ユーザー105は、モバイルデバイス110を使用して、会社の名称を適切なウェブサイト上の検索ボックスに入力し、検索を実行する。しかし、ユーザー105は、デバイス110を使用して必要な情報をウェブサイトの検索ボックスに入力したくないか、または入力することができないことがある。
【００１６】
図1に示されている多感覚応用音声検出の図解例において、ユーザー105は、検索を実行するのに、モバイルデバイス110をただ単に自然な操作位置に置き、検索語を言うだけでよい。例えば、いくつかの実装において、デバイス110は、デバイス110の向きを識別することによって、録音を開始もしくは終了することができる。録音された音声(または録音された音声に対応するテキスト)を、選択された検索アプリケーションに入力として供給することができる。
【００１７】
図1の文字「A」、「B」、および「C」は、多感覚応用音声検出の図解例における異なる状態を表している。状態Aでは、ユーザー105は、デバイス110を非動作位置に保持している、つまり、所定の角度を外れる位置、またはユーザー105から離れすぎている位置、または場合によっては、その両方の位置に保持している。例えば、使用している間、ユーザー105は、デバイス110を図1に示されているように自分のそばに保持するか、またはデバイスをポケットもしくはバッグの中に入れておくことができる。デバイス110が、そのような向きである場合、デバイス110は、使用中でないと思われ、ユーザー105がモバイルデバイス110に向かって発声していることはありえない。そのようなものとして、デバイス110は、非録音モードに置かれるものとしてよい。
【００１８】
ユーザー105が、デバイス110を使用したい場合、ユーザー105は、デバイス110を動作モード/位置にすることができる。図100に示されている図解例において、デバイス110は、姿勢と称される、選択された動作位置に置かれる時を判定することができる。状態Bは、モバイルデバイス110がいくつかの例示的な姿勢にあることを示している。例えば、状態Bの一番左の図は、「電話姿勢」115を示している。電話姿勢は、いくつかの実装において、ユーザー105がモバイルデバイス110を電話口に発声するために一般に使用される位置に保持していることに対応しうる。例えば、図1に示されているように、デバイス110をユーザー105の頭部の横に保持し、デバイス110のスピーカーをユーザー105の耳の近くに保持するものとしてよい。デバイス110をこのように保持することで、ユーザー105がデバイス110から発せられる音声を聞き取り、デバイス110に接続されているマイクロホンに発声することがしやすくなるものとしてよい。
【００１９】
状態Bに示されている真ん中の図は、ユーザー105がデバイス110を「PDA姿勢」120に保持していることを表している。例えば、図1に示されているように、PDA姿勢120は、ユーザー105がモバイルデバイス110をほぼ腕の長さ分のところに保持し、ユーザー105がモバイルデバイス110を見て、インタラクティブに操作できる位置に保持していることに対応しているものとしてよい。例えば、この位置では、ユーザー105は、デバイス110のキーパッド上のボタン、またはデバイス110の画面上に表示される仮想キーボード上のボタンを押すことができる。場合によっては、ユーザー105は、この位置で音声コマンドをデバイス110に入力することもできる。
【００２０】
最後に、状態Bの一番右の図は、「トランシーバー姿勢」125を示している。場合によっては、トランシーバー姿勢125は、ユーザー105がモバイルデバイス110を自分の顔の前に持ってきて、デバイス110のマイクロホンをユーザー105の口に近づける状態を含むものとしてよい。この位置では、ユーザー105はデバイス110のマイクロホンに直接発声しつつ、デバイス110に結合されているスピーカーホンから発せられる音を聞くこともできる。
【００２１】
図1は3つの姿勢を示しているけれども、他の姿勢も使用することができる。例えば、代替的実装において、モバイルデバイスが開かれているのか、それとも閉じられているのかを考慮するできる姿勢であってもよい。例えば、図1に示されているモバイルデバイス110は、「折り畳み式携帯電話」、つまり、ヒンジを使用して折り畳んだり、拡げたりできる2つまたはそれ以上の部分(典型的には蓋と基部)を備えるフォームファクタを有する電話機とすることができる。これらのデバイスのうちのいくつかについて、姿勢に、電話機の向きに加えて(または代わりに)、電話機が開いているか、または閉じているかの状態を含めることができる。例えば、モバイルデバイス110が折り畳み式携帯電話である場合、図1に示されている電話姿勢115は、デバイスが開いているという状態を含むことができる。ここで取りあげている例は、折り畳み式携帯電話について説明しているけれども、他のタイプもしくはフォームファクタ(例えば、旋回する、もしくはスライドさせて開く電話機)を使用することもできる。
【００２２】
デバイス110が、所定の姿勢にあると識別された場合、デバイス110は、ユーザー115からの音声などの聴覚情報の記録を開始することができる。例えば、状態Cは、デバイス110が電話姿勢にある間にユーザーがデバイス110に向かって発声している状態を示している。いくつかの実装では、デバイス110は、デバイス110が電話姿勢115で検出されたときに聴覚情報の記録を開始することができるため、デバイス110は、ユーザー105が発声を開始する直前に(または開始したとたんに)録音を開始することができる。そのようなものとして、デバイス110は、ユーザーの発声の開始をキャプチャすることができる。
【００２３】
デバイス110が姿勢から外れると、デバイス110は録音を停止することができる。例えば、図1に示されている例では、ユーザー105がデバイス110への発声を終了した後、ユーザー105は、例えば、デバイス110を状態Aに示されているように自分の横に置くことによってデバイス110を非動作位置に戻すことができる。デバイス110が姿勢(この例では電話姿勢115)から外れると、デバイス110は録音を停止することができる。例えば、デバイス110が、選択された一組の角度の範囲外にあり、および/またはユーザー105から離れすぎた場合に、デバイス110は、その録音動作を停止することができる。場合によっては、この時点までにデバイス110によって記録された情報は、そのデバイス上で、またはリモートデバイス上で実行されているアプリケーションに供給することができる。例えば、上記のように、聴覚情報をテキストに変換し、デバイス110によって実行されている検索アプリケーションに供給することができる。
【００２４】
図2は、例示的な多感覚応用音声検出システムを示すブロック図200である。ブロック図200は、例示的なモバイルデバイス205を示している。デバイス205は、場合によってはユーザーへの出力の表示とユーザー入力の受け入れの両方を行うために使用できる画面207を備える。例えば、画面207は、英数字を入力するために使用できるキーパッドを表示することができるタッチスクリーンであってもよい。デバイス205は、情報をデバイスに入力するために使用することもできる物理的キーパッド209を備えていてもよい。場合によっては、デバイス205は、デバイス205上で実行されている音声アプリケーションの起動および停止を行うボタン(図示せず)を、電話機のキーパッド209または他の部分(例えば、電話機の片面にある)に備えることができる。最後に、デバイス205は、場合によっては、とりわけ、デバイス205のグラフィカルユーザーインターフェイス上に表示されるポインティング要素を操作するために使用できるトラックボール211を組み込むことができる。
【００２５】
デバイス205は、とりわけ発声の滑らかさを検出するために使用できる1つまたは複数のセンサーを備えることができる。例えば、デバイス205は、加速度計213を備えることができる。加速度計213は、デバイスの角度を測定するために使用することができる。例えば、加速度計213は、デバイス205の角度を測定し、この情報を他のデバイス205のコンポーネントに供給することができる。
【００２６】
加速度計213に加えて、デバイス205は、近接センサー215を備えることもできる。場合によっては、近接センサー215は、デバイス205がユーザーからどれだけ離れているかを判定するために使用することができる。例えば、近接センサー215は、赤外線を放射し、反射した信号を使用して、物体までの距離を計算する赤外線センサーを備えることができる。代替的実装において、他のタイプのセンサーを使用することもできる。例えば、センサーは、さまざまな種類のセンサーがあるが、特に、容量センサー、光電子センサー、または誘導センサーであるものとしてよい。
【００２７】
デバイスは、カメラ219を備えることもできる。カメラ219からの信号を処理して、デバイス205の姿勢に関する補足情報を導出することができる。例えば、カメラ219が、ユーザーの方を向いている場合、カメラ219は、ユーザーの近接度(proximity)を測定することができる。場合によっては、カメラ219は、水平線、車両、歩行者などの知られている角度を持つ特徴を使用してユーザーの角度を判定することができる。例えば、カメラ219が、ユーザーが含まれない一般的なシーンに焦点を合わせている場合、カメラ219は、絶対座標系においてシーン内の向きを決定することができる。しかし、カメラ219が、ユーザーの方を向いている場合、カメラ219は、ユーザーに関する向きを判定することができる。カメラ219が、一般的なシーンとユーザーの両方に向いている場合、カメラ219は、ユーザーとそのシーンに関する両方の向きを判定することができ、それに加えて、ユーザーがシーン内のどこにいるかを判定することができる。
【００２８】
デバイスは、メモリ231に格納されている命令を実行する中央演算処理装置233を備えることもできる。プロセッサ233は、I/Oインターフェイス235を介して他のデバイスコンポーネントとの間の双方向のやり取りと通信とを調整する役割を持つ複数のプロセッサを備えることもできる。デバイス205は、インターネット240を通じてリモートコンピューティングデバイス245と通信することができる。ジェスチャー分類器225、姿勢識別器227、音声検出器221、話者識別器223、およびスピーチエンドポインタ229によって実行される処理の一部または全部を、リモートコンピューティングデバイス245によって実行することができる。
【００２９】
マイクロホン217は、聴覚入力をキャプチャし、その入力を音声検出器221および話者識別器223の両方に供給することができる。いくつかの実装において、音声検出器221は、ユーザーがデバイス205に向かって発声しているかどうかを判定することができる。例えば、音声検出器221は、マイクロホン217によってキャプチャされた聴覚入力が閾値を超えているかどうかを判定することができる。その入力が閾値を超えている場合、音声検出器221は、音声が検出されたことを示す値を別のデバイス205のコンポーネントに渡すことができる。場合によっては、デバイス205は、将来使用するためにこの値をメモリ231(たとえは、RAMもしくはハードドライブ)に格納することができる。
【００３０】
場合によっては、音声検出器221は、ユーザーがいつ発声しているかを判定することができる。例えば、音声検出器221は、キャプチャされたオーディオ信号が音声を含むか、または背景雑音のみからなるかどうかを判定することができる。場合によっては、音声検出器221は、最初に検出された音声が雑音であると想定してもよい。最初に検出されたオーディオ信号より高い指定された大きさ(例えば、6dB)のオーディオ信号は、音声であると考えてよい。
【００３１】
デバイスが、カメラ219を備えている場合、カメラ219は、ユーザーが発声しているかどうかを判定するために使用されうる視覚信号を音声検出器221に供給することもできる。例えば、ユーザーの唇が、カメラに写っている場合、唇の動きは発声活動を示すと考えられ、唇の動きと音響信号との相関を示すものとしてよい。ユーザーの唇に動きがないことは、場合によっては、検出された音響エネルギーが別の話者または音源に由来するものであったことを示す証拠であるとすることもできる。
【００３２】
話者識別器223は、場合によっては、デバイス205に向かって発声している人の識別を決定することができることもある。例えば、デバイス205は、1人または複数のユーザーの聴覚プロフィール(例えば、音声信号)を格納することができる。マイクロホン217によって供給される聴覚情報がこれらのプロフィールと比較され、一致していれば、関連するユーザーがデバイス205に向かって発声しているものとしてよい。この一致を示すデータは、他のデバイス205コンポーネントに供給するか、メモリに格納するか、またはその両方とすることができる。いくつかの実装において、話者の識別は、音声が背景雑音でないことを確認するために使用できるが、記録されることが意図されている。
【００３３】
話者識別器223は、カメラ219によって取得されたバイオメトリック情報を使用して話者を識別することもできる。例えば、カメラによってキャプチャされたバイオメトリック情報は、顔の外見、唇の動き、耳の形状、または手形を(限定はしないが)含むことができる。カメラは、この情報を話者識別器223に供給することができる。話者識別器223は、カメラ219によって供給される情報のいずれか、またはすべてを音響情報と組み合わせて(または音響情報なしで)使用し、話者の素性を推論することができる。
【００３４】
デバイス205は、ジェスチャー分類器225を備えることもできる。ジェスチャー分類器225を使用して、デバイス205の移動を分類することができる。場合によっては、加速度計213は、移動情報をジェスチャー分類器225に供給し、ジェスチャー分類器225は、この移動情報を異なる分類項目に分けることができる。例えば、ジェスチャー分類器225は、電話の移動を「シェイク」および「フリップ」などのグループに分類することができる。それに加えて、ジェスチャー分類器225は、ジェスチャーに関連する動きを「口へ」、「口から」、「ユーザーの方を向いて」、「耳へ」、および「耳から」などに分類することができる。
【００３５】
デバイス205に備えられている姿勢識別器227は、デバイス205の異なる姿勢を推論/検出することができる。姿勢識別器227は、近接センサー215およびジェスチャー分類器225によって供給されるデータを使用して、姿勢を識別することができる。例えば、姿勢識別器227は、近接センサー215によって供給される情報を使用してデバイス205が物体(例えば、人)からどれだけ離れているかを測定することができる。姿勢識別器227は、この情報を、ジェスチャー分類器225によって供給されるジェスチャー分類結果と組み合わせて使用し、デバイス205がどの姿勢(もしあれば)をとっているかを判定することができる。一例において、ジェスチャー分類器225が、「耳へ」分類を姿勢識別器227に伝送し、近接センサー215が、そのデバイスがユーザーの近くに保持されていることを示した場合、姿勢識別器227は、デバイス205が電話姿勢をとっていると判定しうる。カメラ219は、移動に関する証拠を提供するために使用することもできる。例えば、カメラ219によって検出されるオプティカルフローは、移動の証拠となりうる。
【００３６】
デバイスは、スピーチエンドポインタ229を備えることもできる。スピーチエンドポインタ229は、いくつかの実装において、姿勢識別器227、話者識別器223、および音声検出器221からの出力を組み合わせて、とりわけ、ユーザーがデバイスに向かって発声しているか、デバイスに向かって発声し始めているか、またはデバイスに向かってすでに発声しているかを判定することができる。例えば、姿勢識別器227は、デバイスが動作位置にないことを示す情報をエンドポインタ229に伝送することができる。音声検出器221および話者識別器223からの入力は、ユーザーが現在発声していないことを示しうる。これらの入力の組み合わせは、ユーザーが発声を停止したことをエンドポインタ229に示すものとなりうる。
【００３７】
図3および4は、それぞれ、多感覚応用音声検出のための例示的なプロセス300および400の流れ図である。プロセス300および400は、例えば、図2に示されているシステムなどのシステムによって実行することができるが、わかりやすくするため、この後の説明では、そのシステムをプロセスを説明するための例の基礎として使用する。しかし、他のシステム、またはシステムを組み合わせを使用して、プロセス300および400を実行することもできる。
【００３８】
図3が、多感覚応用音声検出の例示的なプロセス300を示す図である。プロセス300はステップ305から始まり、そこで録音ボタンが押されたかどうかが判定される。例えば、上記のように、モバイルデバイス205は、ユーザーがボタンを押すことによって録音の開始または終了を行うことを可能にするボタンを備えることができる。ステップ305でボタン押下が検出された場合、プロセス300は、録音を開始し、ステップ315で録音が開始したという入力の開始(SOI)確認を表示することができる。例えば、デバイス205は、ボタンが押されたときにメモリ内に格納されている録音プログラムを実行することができる。それに加えて、デバイス205は、録音が開始したことを示すメッセージを画面に表示することができる。いくつかの実装において、デバイス205は、オンスクリーン確認を表示することに加えて、またはその代わりに、振動したり、または音を鳴らすことができる。
【００３９】
しかし、録音ボタン押下がステップ305で検出されない場合、プロセス300はステップ310に進むことができ、そこで、録音ジェスチャーが検出されたかどうかが判定される。例えば、ユーザーは、デバイス205をPDA姿勢に保持することができる。ユーザーがデバイス205を自分の口のところに持ってきたときに、ジェスチャー分類器225は、この動きを「口へ」ジェスチャーとして分類し、デバイス205に録音アプリケーションを実行させることができる。いくつかの実装において、電話をシェイクする、またはフリップするなどの他のジェスチャーは、録音ジェスチャーとすることができる。それに対する応答として、プロセス300はステップ315に進み、そこで、録音プロセスが開始され、録音確認が上述のように表示される。そうでない場合、プロセス300はステップ305に戻ることができ、そこで録音ボタンが押されたかどうかを判定する。
【００４０】
プロセス300は、ステップ320で設定をエンドポインタにロードすることができる。場合によっては、デバイス205は、音声を検出するために使用できる音声エネルギー閾値などの姿勢特有の音声検出パラメータをロードすることができる。例えば、場合によっては、姿勢に対する音声エネルギー閾値を、検出された聴覚情報と比較することができる。聴覚情報が、音声エネルギー閾値より大きい場合、これは、ユーザーがデバイスに向かって発声していることを示すものとしてよい。いくつかの実装において、姿勢は、デバイス205が指定された姿勢にあるときにデバイス205とユーザーとの間の距離に基づく関連付けられている音声エネルギー閾値を有することができる。例えば、デバイス205は、PDA姿勢のときに比べて電話姿勢のときの方がユーザーに近いものとしてよい。したがって、音声エネルギー閾値は、電話姿勢のときに比べてPDA姿勢のときの方が低い場合があるが、それは、ユーザーの口がPDA姿勢にあるデバイス205から遠いためである。
【００４１】
ステップ325で、エンドポインタを実行できる。例えば、デバイス205は、エンドポインタ229を実行することができる。それに対する応答として、エンドポインタ229は、ステップ320でロードされたパラメータを使用して、ユーザーがデバイスに向かって発声しているかどうかを判定し、発声の開始および終了などの関係イベントを判定することができる。例えば、エンドポインタ229は、音声エネルギー閾値を、姿勢識別器227、音声検出器221、および話者識別器223からの入力とともに使用して、ユーザーが発声しているかどうか、もしそうならば、発声が開始もしくは終了しつつあるのかを判定することができる。
【００４２】
ステップ330で、音声入力の終了を検出することができる。上述のように、エンドポインタ229は、他のデバイスコンポーネントからの入力および音声エネルギー閾値を使用して音声が終了しているかどうかを判定することができる。音声入力の終了が検出された場合、録音は停止し、録音が終了したことを示す入力終了(EOI)表示がステップ335において行われうる。例えば、デバイス205の画面上にメッセージを表示するか、または音を鳴らすことができる。場合によっては、触覚フィードバック(例えば、振動)を返すこともできる。
【００４３】
図4は、多感覚応用音声検出の例示的な代替的プロセス400を示す図である。このプロセスはステップ405で開始し、そこで、姿勢検出器から姿勢が読み取られる。例えば、姿勢識別器227は、デバイスの現在の姿勢をもたらすことができるか、または現在の姿勢の指示をメモリ231から読み出すことができる。
【００４４】
ステップ410で、デバイス205が電話姿勢にあるかどうかが判定される。例えば、姿勢識別器227は、近接センサー215およびジェスチャー分類器225からの入力を使用して、デバイスが電話姿勢にあるかどうかを判定することができる。場合によっては、デバイスの姿勢は、デバイスがユーザーからどれだけ離れているか、またデバイスが一組の所定の角度の範囲内にあるかどうかを判定することによって識別されうる。デバイス205が電話姿勢にある場合、ステップ415で、録音が開始したことを確認する音を鳴らすことができる。いくつかの実装において、他の種類のフィードバック(例えば、振動またはメッセージの表示)を、音響確認とともに、またはその代わり返すことができる。
【００４５】
ステップ420で、電話姿勢設定をエンドポインタにロードすることができる。例えば、電話姿勢に関連付けられている音声エネルギー閾値をメモリ231から読み出してエンドポインタ229に入れることができる。
【００４６】
同様に、ステップ425で、デバイスがトランシーバー姿勢にあるかどうかが判定される。上記のように、姿勢識別器227は、ジェスチャー分類器225および近接センサー215からの入力を使用して、デバイスの姿勢を判定することができる。デバイスがトランシーバー姿勢にある場合、録音の開始の確認が、ステップ430で、画面に表示され(場合によっては、確認は触覚的もしくは聴覚的なものであってもよい)、ステップ435で、トランシーバー姿勢設定がエンドポインタにロードされうる。
【００４７】
ステップ440で、デバイスがPDA姿勢にあるかどうかが判定される。場合によっては、デバイスの姿勢は、上のステップ410および425に関して説明されているように決定することもできる。デバイスがPDA姿勢にない場合、この方法はステップ405に戻ることができる。デバイスがPDA姿勢にある場合、ステップ445で、録音ボタンが押されたかどうかを判定することができる。録音ボタンが押されていない場合、この方法はステップ450に進み、そこで録音ジェスチャーが検出されたかどうかが判定される。例えば、上の図3のステップ310に関して説明されているように、デバイス205は、ユーザーの口に向かってデバイス205を移動したことを検出することができる。場合によっては、デバイス205は、この動きを録音ジェスチャーとして解釈することができる。
【００４８】
ステップ445で録音ボタンが押されたか、またはステップ450で録音ジェスチャーが検出された場合、ステップ455で、録音が開始したことを確認するメッセージをデバイス205の画面に表示することができる。場合によっては、デバイス205は振動するか、または音を鳴らして、録音が開始していることを示すことができる。その後、ステップ460で、PDA姿勢に関連付けられている設定をエンドポインタにロードすることができる。例えば、音声エネルギー閾値をエンドポインタ229にロードすることができる。
【００４９】
上述の姿勢のそれぞれについて、適切な姿勢設定がエンドポインタに読み込まれた後、ステップ465で、エンドポインタを実行することができる。例えば、デバイス205に関連付けられているプロセッサ233は、エンドポインタ229に対応する、メモリ内に格納されている命令を実行することができる。エンドポインタ229は、実行を開始した後、ステップ470で音声入力の終了が検出されたかどうかを判定することができる。例えば、エンドポインタ229は、姿勢識別器227、音声検出器221、話者識別器223、およびエンドポインタ229にロードされた姿勢に関連付けられているパラメータからの出力を使用して音声入力の終了が検出されているかどうかを判定することができる。例えば、エンドポインタ229は、前述の出力源からの出力を使用してデバイス205が指定されている姿勢のうちの1つの姿勢にもはやない場合にそのことを判定することができる。ステップ475で、プロセスは、録音が停止したことの確認を再生するか、または表示することができる。例えば、録音終了メッセージをデバイス205の画面に表示するか、または音を鳴らすことができる。場合によっては、デバイス205は振動するものとしてもよい。
【００５０】
図5Aおよび4Bは、ジェスチャー認識のための例示的な座標系500および505を示している。図5Aは、モバイルデバイスに対する例示的な直交座標系500を示している。例示的な座標系500は、図5Aに示されているようにX軸、Y軸、およびZ軸を持つ三次元座標系とすることができる。場合によっては、加速度計(図2に示されている加速度計213など)を使用して、図5Aに示されている座標系内のモバイルデバイスの角度を測定することができる。次いで、測定された角度を使用して、デバイスの姿勢を判定することができる。
【００５１】
例えば、加速度計213によって供給される加速度データは、例えば、デジタルフィルタ(例えば、無限インパルス応答フィルタ)を使用することによって平滑化することができる。場合によっては、加速度計は、10Hzのサンプル周波数を有することができる。それに加えて、無限インパルス応答フィルタは、0.6のフィルタ係数を有することができる。瞬間加速度の大きさは、フィルタの残差から計算することができる。その結果得られる重力ベクトルを、座標系のXY平面およびYZ平面上に射影し、成分の逆正接を使用して、射影された成分がなす角度を計算することができる。その結果得られる2つの角度を図5Bに示されているような新しい平面上に射影し、臨界角境界ボックス510と515をユーザーの耳に対する電話の左手および右手の位置の周りに定義することができる。以下でさらに詳しく説明するように、これらの境界ボックスは、とりわけ、ジェスチャーを検出するために使用できる。
【００５２】
図6は、ジェスチャー認識のための例示的な状態機械600を示す図である。状態機械600は、上述の臨界角境界ボックスを、近接度情報とともに使用して、ジェスチャーを分類することができる。例示的な状態機械は、指定された近接度が検出される、デバイス205が一組の臨界角の範囲内にある、または時間切れになっているといったいくつかのイベントによるクロック動作をすることができる。例えば、例示的な状態機械は、所定の近接度が状態605において検出されるのを待つことができる。場合によっては、状態機械600は、デバイスの瞬間加速度が閾値より高いか、またはデバイス205が一組の臨界角で置かれているときに近接センサー215をアクティブ化することができる。場合によっては、これらの臨界角は、図5Bに示されている境界ボックス内に収まる角度であってもよい。例えば、一番左の境界ボックス510は、XY平面内で-80度から-20度までの範囲、YZ平面内で-40度から30度までの範囲内の角度を含むものとしてよい。同様に、境界ボックス515は、XY平面内で20度から80度までの範囲、YZ平面内で-40度から30度までの範囲内の角度を含むものとしてよい。
【００５３】
近接センサーが、デバイス205のプリセットされた距離の範囲内で物体を検出した場合、状態機械600は状態610に遷移し、そこで、ある角度に達するのを待つ。場合によっては、近接センサー215が所定の距離の範囲内にいるユーザーを検出し、デバイス205が臨界角をなしているとすでに判定されていた場合(例えば、デバイス205が臨界角をなしたため状態機械がアクティブ化された場合)、状態機械600は次の状態615に遷移する。デバイス205が、すでに臨界角をなしていなかった場合、デバイス205は、臨界角をなすデバイスのプリセットされた期間の間待つことができ、このプリセットされた期間は、加速騒音が安定する猶予期間となりうる。場合によっては、プリセットされた期間は1秒としてよい。デバイスが所定の期間内に臨界角をなしていない場合、状態機械600は、状態605に遷移して戻るものとしてよい。しかし、デバイス205が所定の閾値範囲内に臨界角をなしていると検出された場合、状態機械は状態615に遷移し、そこでジェスチャーが検出される。場合によっては、ジェスチャー分類器225は、検出されたジェスチャーを分類することができる。例えば、ジェスチャーは、「口へ」、「口から」、「ユーザーの方を向いて」、「耳へ」、および「耳から」のカテゴリに分類することができる。いくつかの実装において、他のカテゴリも定義することができる。デバイス205がもはや臨界角をなしていないと判定される場合、状態機械600は状態620に遷移することができ、そこでジェスチャーが時間切れになる。いくつかの実装において、最小の跳ね返り抑制期間により、この遷移が角度の跳ね返りのため生じるのを防ぐことができる。例えば、最小の跳ね返り抑制期間は、1.7秒とすることができる。
【００５４】
図7は、ジェスチャー認識のための状態機械700の他の実装を示す図である。図7は、ジェスチャーの変化に対応する例示的な状態機械700を示しており、それらのジェスチャーは検出された加速度に応じて変化する(例えば、遅い、中程度、および速いジェスチャー)。例示的な状態機械700は、デバイス205がすでに表面に近いときに近接センサー215がアクティブ化される場合に近い状態を検出しない近接センサー215をデバイス205が備えるか、または近接検出器のアクティブ化が画面をオフにするなどの他のアクションのトリガーとなりうる実装において有用である場合がある。場合によっては、この問題に対処するために、瞬間加速度が閾値を超えた場合に近接センサー215をアクティブ化するとよい。場合によっては、近接センサー215を、センサー215がすべての軸について瞬間加速度を横切る場合にアクティブ化するとよい。
【００５５】
状態機械700は、初期状態705から始まる。閾値を超える加速度が検出された場合、状態機械700は状態710に遷移し、そこで、加速度検出の後に近接検出を待つ。いくつかの実装において、加速度閾値は、0.6gとすることができる。場合によっては、この待ち時間は0.5秒とすることができる。デバイス205がユーザーなどの物体に近い場合、状態機械700は状態715に遷移し、そこで、デバイスが臨界角をなすまで所定の時間の間待つ。場合によっては、この待ち時間は1秒とすることができる。デバイスが指定された時間内に臨界角をなさない場合、状態機械700は、初期状態705に戻る。しかし、デバイスが臨界角をなしている場合、状態機械700は状態720に遷移し、そこで上述の方法でジェスチャーが検出される。デバイスがもはや臨界角の範囲内にない場合、状態機械700は状態725に遷移し、そこでジェスチャーが時間切れになる。これらの遷移は速いジェスチャーに対応するものとしてよい。
【００５６】
場合によっては、加速度が検出された後、デバイス205は臨界角をなし、そのようなものとして、状態機械700は状態730に進み、そこで、近接検出を待つことができる。プリセットされた時間内に近接検出がなされない場合、状態機械700は状態735に遷移することができ、そこで、近接待ちの時間切れになり、その後、初期状態705に戻る。場合によっては、プリセットされた時間は1秒とすることができる。しかし、近接検出が、プリセット時間の時間切れ前になされた場合、状態機械700は上述のように状態720および725に遷移することができる。場合によっては、この一連の遷移は、中速のジェスチャーに対応するものとしてよい。
【００５７】
状態機械700が初期状態705にあり、デバイス205がそれらの臨界角をなしている場合、状態機械700は状態730に遷移することができ、そこで、状態機械700は近接検出を待つ。タイムアウト期間前に近接検出がなされる場合、状態機械700は状態720に進み、そこでジェスチャーが検出される。デバイス205が臨界角から移動した場合、状態機械700は状態725に遷移し、そこでジェスチャーが時間切れになっている。この一連の遷移は、比較的遅いペースで行われるジェスチャーに対応するものとしてよい。
【００５８】
図8Aおよび8Bは、姿勢および音声検出のためのベイジアンネットワークを示している。場合によっては、ジェスチャーを認識するためにベイジアンネットワーク800を使用することができる。図8Aに示されているように、近接センサー215、加速度計213、および音声検出器221からの出力を1つのベイジアンネットワークに組み合わせることができる。図8Aに示されているベイジアンネットワークは、分布
(1)  p(x_aud, x accel, x_prox | EPP) p (EPP)
を表すことができる。
式(1)において、x_audは音響特徴ベクトルを表し、x_accelは加速度特徴ベクトルを表し、x_proxは近接特徴ベクトルを表すものとしてよい。隠れ状態変数EPPは、エンドポインタ音声EPと姿勢状態変数Poseとの外積を表すものとしてよい。EPおよびPose変数は、離散確率変数とすることができる。
【００５９】
図8Bは、EPベクトルとPose状態変数への隠れ状態の因数分解850を示している。この因数分解は、学習データの利用を改善し、推論を高速化することができる。この分布は、
(2)  p(x_aud | EP, Pose) p(x accel | EP, Pose)p(x_prox | Pose)p(EP)p(Pose)
のように分解できる。
場合によっては、分布p(x_aud, x_accel | EP, Pose)およびp(x_aud, x_accel | EP, Pose)およびp (x_prox | Pose)はガウス混合モデルとすることができる。
【００６０】
いくつかの実装において、EPの事後確率を、エンドポインタ状態機械への入力として使用することができる。例えば、図9は、エンドポインタ状態機械900を示している。図9に示されている例示的な実装において、EP事後確率は閾値化され、タイムフレームは雑音または音声のいずれかを含むと判定されうる。この例では、雑音は値0によって表され、音声は値1によって表されうる。閾値の環状バッファを格納することができる。バッファ内の値1は、図9に示されているエンドポインタ状態機械を駆動するために使用することができる。例えば、初期状態905が音声発声前であり、環状バッファ内の値1の個数が閾値を超える場合、この状態機械は状態910「予想されるオンセット」に移動する。値1の個数が閾値より小さい場合、状態機械は「音声発声前」状態905に戻る。状態機械900は、同様にして、「音声存在」915、「予想されるオフセット」920、および「音声発声後」925状態の間を遷移して行き来する。
【００６１】
図10は、姿勢および音声検出のための動的ベイジアンネットワークを示している。図10は、隠れマルコフモデル1000において連鎖しているEPP状態の集合を示している。例示的な実装において、状態EPPは、EP状態とPose状態との外積とすることができ、状態間の遷移は、遷移行列によって定義することができる。図10の例示的なジェスチャー認識器の学習は、期待値最大化アルゴリズムを使用することによって行うことができる。音声/雑音状態を判定する推論は、ビタビアルゴリズムまたは前向き後ろ向きアルゴリズムによって実行されうる。場合によっては、より複雑な状態を使用することもできる。例えば、ユーザーの環境(例えば、通りにいる、自宅にいる、走行中の自動車の中にいる、レストランにいる、など)またはデバイスの環境を、センサーからの信号に基づいて推論し、これを姿勢およびエンドポインタ状態の判定に使用することができる。
【００６２】
図11〜12は、オーディオ信号品質に関するフィードバックを返すための例示的なグラフィカルユーザーインターフェイスのスクリーンショットを示している。いくつかの実装において、例示的なグラフィカルユーザーインターフェイスは、ユーザーがモバイルコンピューティングデバイスに向かってコマンドを発声する前、発声している間、および発声した後に、オーディオ信号品質に関するフィードバックを返すことができる。例えば、ユーザーが発声する前に、グラフィカルユーザーインターフェイスが、音声がデバイスによって正確にキャプチャされるかどうかを示しうる視覚または音響フィードバックを返すことができる。場合によっては、このフィードバックは、ユーザーが特定の方法でデバイスを使用すべきである(例えば、デバイスを特定の姿勢にすべきである)ことを指示するか、または背景雑音が音声の検出およびより正確な録音を損なう可能性のあることをユーザーに警告することができる。いくつかの実装において、このフィードバックは、ユーザーに利用可能な操作のモードを制限したり、または声のキャプチャに成功する確率を高めることができる動作モードを提案するために使用することができる。
【００６３】
場合によっては、ユーザーが発声しているときに、グラフィカルユーザーインターフェイスはデバイスがキャプチャした音響の品質に関するフィードバックを返すことができる。例えば、ユーザーの発声中に、録音された音響の振幅を視覚的に表したものを画面に表示することができる。これにより、ユーザーは、背景雑音が録音に干渉しているかどうか、またはユーザーのコマンドが適切に記録されているかどうかを知ることができる。ユーザーが発声を終了した後、グラフィカルユーザーインターフェイスは、キャプチャした音声コマンドの表現をユーザーに対して表示することができる。
【００６４】
図11は、オーディオ信号品質に関するフィードバックを返すための例示的なグラフィカルユーザーインターフェイス1100を示している。例示的なグラフィカルユーザーインターフェイス1100は、場合によっては、メッセージ領域1105を備えることもできる。テキストおよび波形などの視覚的インジケータを、メッセージ領域1105内に表示し、例えば、デバイスの操作のモードまたは録音の表現を示すことができる。例えば、図11に示されているように、デバイスが録音モードである場合、「今発声」メッセージをメッセージ領域1110に表示することができる。現在の雑音状態が音声録音に干渉する可能性があることを示すメッセージをメッセージ領域1105内に表示することができる。状況によっては、メッセージ領域1105は、ユーザーが録音操作を続行すること、またはキャンセルすることを許可するメッセージを表示することもできる。前の例は、例示的なものであり、他の種類のデータをメッセージ領域1105に表示することもできる。
【００６５】
例示的なグラフィカルユーザーインターフェイス1100は、視覚的音響レベルインジケータ1110を備えることもできる。例示的な一実装において、視覚的オーディオレベルインジケータ1110は、モバイルデバイスによってキャプチャされた音響の振幅を示すことができる。例えば、ユーザーが発声しているときに、インジケータ1110は検出された音声の振幅に関係する量だけ高くなるものとしてよい。状況によっては、インジケータ1110を使用することで、ユーザーは、背景雑音が音声録音に干渉しているかどうかを判定することができる。例えば、ユーザーが発声を開始する前に、インジケータ1110が高くなる場合、背景雑音が音声録音に干渉している可能性がある。インジケータ1110が、ユーザーが発声している間も高くならない場合、このことは、ユーザーの音声コマンドが適切に記録されていないことを示しているものとしてよい。
【００６６】
場合によっては、音響レベルインジケータ1110は、音響サンプルのフレームの二乗平均平方根(RMS)レベルの対数の表現を表示することができる。音響サンプルのフレームの対数RMSレベルは、背景雑音レベルを表すものとしてよい。場合によっては、RMSは
【００６７】
【数１】
0005538415.tif 000002
【００６８】
に等しいものとしてよい。場合によっては、音響サンプルのフレームの対数RMSレベルは、式
(3)  AL = 20 * log10(RMS)
によって決定することができる。
ここで、xtは、時刻tにおける音響サンプル値とすることができる。
【００６９】
場合によっては、音響レベルインジケータ1110は、信号対雑音比の表現、つまり、背景雑音に関する音声信号の強度を表示することができる。例えば、信号対雑音比は、式
【００７０】
【数２】
0005538415.tif 000003
【００７１】
を使用して計算することができる。
式(3)のように、xtは、時刻tにおける音響サンプル値とすることができ、NLは、雑音レベルの推定値とすることができる。
【００７２】
代替的一実装において、音響レベルインジケータ1110は、音響サンプルのフレームの対数RMSレベルと信号対雑音比の組み合わせの表現を表示することができる。例えば、この組み合わせは、
(5)  L=α(AL)+β(ALSNR)
として決定することができる。
この式において、αおよびβは、背景雑音と信号対雑音比をスケーリングできる変数であるものとしてよい。例えば、αは、デシベル値を表すように音響サンプルのフレームのRMSレベルをスケーリングすることができる(例えば、100dbが音響のフレームのフルスケールRMSレベルに等しくなるように)。βも、同様に、信号対雑音比をスケーリングするために使用することができる。
【００７３】
いくつかの実装では、背景雑音レベル、信号対雑音比、またはこれら2つの組み合わせのうちの1つまたは複数をグラフィカルユーザーインターフェイス1100に表示することができる。例えば、これらの尺度のうちの1つまたは複数を、色分けして画面上に、または画面の異なる領域に表示することができる。場合によっては、これらの尺度のうちの1つを他の尺度のうちの1つに重ね合わせることもできる。例えば、信号対雑音比を表すデータを、背景雑音レベルを表すデータ上に重ね合わせることができる。
【００７４】
図11は、視覚的波形インジケータ1150を含む例示的なグラフィカルユーザーインターフェイスも示している。例示的な視覚的波形インジケータ1150は、キャプチャされたオーディオ信号をユーザーに示すことができる。波形は、場合によっては、音声波形のエンベロープを表すキャプチャされた音響の定型化された表現とすることができる。他の場合には、波形は、アナログ音響波形のサンプリングバージョンを表すものとしてもよい。
【００７５】
この例示的な波形を使用すると、ユーザーはデバイスが録音に失敗したときにそのことを認識することができる。例えば、ユーザーが音声コマンドを発声した後に、アプリケーションがキャプチャされた音声を表す波形を示すことができる。波形が1本の平坦な線である場合、これは、録音されていなかったことを示しうる。
【００７６】
図12は、例示的なグラフィカルユーザーインターフェイスを異なる動作状態において示している。場合によっては、背景雑音のレベルに基づいてモバイルデバイスをインタラクティブに操作するためのオプションを調整するために有用であると思われる。例えば、ユーザーは、音声コマンドをモバイルデバイスに入力したい場合がある。背景雑音レベルによっては、デバイスに音声コマンドが認識されるように、ユーザーは自分の口をデバイスに近づける必要がある。しかし、静かな状況では、ユーザーは、腕を伸ばしてデバイスを持ち、音声コマンドを入力することができる。例示的なグラフィカルユーザーインターフェイスは、背景雑音が検出されるレベルである場合にデバイスが音声コマンドを正しく認識できる確率に基づいてインタラクティブ操作オプションをユーザーに対し提示することができる。例えば、図12に示されているように、静かな状態では、グラフィカルユーザーインターフェイスは、グラフィカル音声検索ボタン1205によって表される、音声検索オプションを提示することができる。背景雑音レベルが高い状況では、音声検索ボタン1205は取り除かれ、モバイルデバイスをユーザーの口に近づけるように指示するメッセージが、グラフィカルユーザーインターフェイス1210の一番右の画像によって示されているように、表示されうる。ユーザーがデバイスを自分に近づけて持つ(例えば、デバイスを電話姿勢に保持する)ことによって、音声パワーを15〜20デシベルほど高めることができ、これにより、正しい音声認識が行われる確率を高められる。
【００７７】
図13および14は、背景雑音ベースのモード選択のための例示的なプロセス1300および1400の流れ図である。プロセス1300および1400は、例えば、図2に示されているシステムなどのシステムによって実行することができるが、わかりやすくするため、この後の説明では、そのシステムをプロセスを説明するための例の基礎として使用する。しかし、他のシステム、またはシステムを組み合わせを使用して、プロセス1300および1400を実行することもできる。
【００７８】
図13は、背景雑音ベースのモード選択に対する例示的なプロセス1300を示している。例示的なプロセス1300はステップ1305から始まり、そこで、環境雑音および/または信号対雑音比が推定される。例えば、環境雑音および信号対雑音比は、上記の式(3)および(4)を使用して計算することができる。ステップ1310において、その環境(つまり、背景)雑音および/または信号対雑音比が背景雑音レベル閾値より高いかどうかが判定される。例えば、一実装において、デバイス205は、音響信号、さらには雑音および音声レベル推定値ならびに他の環境に関係するパラメータをサーバーに送信することができる。サーバーは、推定された雑音および音声レベル推定値が背景雑音レベル閾値を超えているかどうかを判定することができる。背景雑音レベル閾値は、サーバーに送信された事前の雑音および音声レベルの推定値、環境に関係するパラメータ、および音響レベル信号に基づくものとしてよい。
【００７９】
場合によっては、デバイス205は、特定の雑音レベルまたは種類の環境音と認識精度との相関を求めることができる。例えば、40dBのファン騒音の雑音レベル(NL)は、20%のワード誤り率(WER)に対応するものとしてよく、WERは、雑音が70dBのときには50%となる可能性がある(ユーザーが平均80dBで発声すると仮定する)。これらの値を統計量を収集することができるサーバー(例えば、リモートデバイス245)に伝送して、NLからWERへの換算表を作成することができる。
【００８０】
一方の種類の雑音が他の種類の雑音より悪いという場合もある。例えば、50dBのカフェテリアの雑音は、70dBのファン騒音と同じWERを持つ可能性がある。デバイス205は、モード決定のためその音響をサーバー(リモートデバイス245など)に送信することによってこの種類の環境特徴付けを実行することができる。
【００８１】
背景雑音および/または信号対雑音比が、背景レベル閾値を超える場合、プロセスはステップ1315に進み、そこで、図12に示されているように、音声検索ボタンが表示される。超えない場合、ステップ1320で、デバイス205を電話位置で使用するようユーザーにアドバイスするダイアログボックスもしくはメッセージが表示される。それと無関係に、この方法は、ステップ1315またはステップ1320の後に1305に戻る。
【００８２】
図14は、背景雑音レベル推定の例示的な方法1400を示している。方法1400はステップ1405から始まり、そこで、音響サンプルのRMSレベルが判定される。例えば、モバイルデバイス205の周辺の環境からオーディオ信号のフレーム(例えば、20ミリ秒の音響)をキャプチャするためにマイクロホン217を使用することができる。このフレームのRMSレベルは、上記の式(3)に従って決定することができる。
【００８３】
適宜、ステップ1410において、雑音および音声レベルを初期化することができる。例えば、雑音および音声レベルがすでに設定されている場合(方法1400が初めて実行される場合のように)、音響サンプルのRMSレベルを使用して雑音をおよび音声レベルを初期化することができる。図解例において、雑音および音声レベルは、式
(6)  NL=(α*NL)+((1-α)*RMS)
(7)  SL=(α*NL)+((1-α)*2RMS)
を使用して設定することができる。
式(6)および(7)において、RMSは、音響サンプルのRMSレベルとすることができ、αは、雑音または音声の前の推定値と現在の推定値との比である。この比は、最初に0に設定し、
【００８４】
【数３】
0005538415.tif 000004
【００８５】
まで大きくすることができるが、ただし、式中、kは、初期適応期間における時間ステップの数である。
【００８６】
ステップ1415で、雑音レベルを更新することができる。例えば、雑音レベルを音響サンプルのRMSレベルと比較し、式
(8)  NL=(UpdateRateNL*NL)+(UpdateRateRMS*RMS)
に従って雑音レベルを調整することができる。
式(7)と同様に、RMSは、音響サンプルのRMSレベルとすることができる。場合によっては、UpdateRateNLとUpdateRateRMSとの和は1に等しいものとすることができる。雑音レベルが音響サンプルのRMSレベルより小さい場合、UpdateRateNLは0.995、UpdateRateRMSは0.005であってもよい。雑音レベルが音響サンプルのRMSレベルより大きい場合、式(8)を使用して雑音レベルを調整することができるが、UpdateRateNLは0.95、UpdateRateRMSは0.05であってもよい。
【００８７】
ステップ1430で、音声レベルを更新することができる。例えば、音声レベルを音響サンプルのRMSレベルと比較し、式
(9)  SL=(UpdateRateSL*SL)+(UpdateRateRMS*RMS)
に従って音声レベルを調整することができる。
【００８８】
音声レベルが音響サンプルのRMSレベルより大きい場合、UpdateRateSLは0.995、UpdateRateRMSは0.005であってもよい。音声レベルが音響サンプルのRMSレベルより小さい場合、UpdateRateSLは0.995、UpdateRateRMSは0.005とすることができる。音声レベルが更新された後、方法1400はステップ1405に戻ることができる。
【００８９】
いくつかの実装において、他の背景雑音レベル推定方法を使用することができる。例えば、参照により本明細書に組み込まれている以下の論文において開示されている方法を使用することができる。
「Assessing Local Noise Level Estimation Methods: Application to Noise Robust ASR」、Christophe Ris、Stephane Dupont. Speech Communication、34 (2001年) 141〜158頁、「DySANA: Dynamic Speech and Noise Adaptation for Voice Activity Detection」、Ron J. Weiss、Trausti Kristjansson、ICASSP 2008年、
「Noise estimation techniques for robust speech recognition」、H.G. Hirsch、C Ehrlicher、Proc. IEEE Internat. Conf. Audio、Speech Signal Process、v12 i1、59〜67頁、および「Assessing Local Noise Level Estimation Methods」、Stephane Dupont、Christophe Ris、Workshop on Robust Methods For Speech Recognition in Adverse Conditions (Nokia、COST249、IEEE)、115〜118頁、Tampere、Finland、1999年5月。
【００９０】
次に図15を参照すると、上で説明されている多感覚応用音声検出方法を実装する例示的なデバイス1500の外観が示されている。さらに詳しく述べると、デバイス1500のハードウェア環境は、テキスト、画像、およびビデオをユーザーに対し表示するためのディスプレイ1501、テキストデータおよびユーザーコマンドをデバイス1500に入力するためのキーボード1502、ディスプレイ1501上に表示されているオブジェクトをポイントし、選択し、調節するためのポインティングデバイス1504、アンテナ1505、ネットワーク接続1506、カメラ1507、マイクロホン1509、およびスピーカー1510を備える。デバイス1500では、外部アンテナ1505が示されているけれども、デバイス1500は、ユーザーからは見えない、内部アンテナを備えることができる。
【００９１】
ディスプレイ1501は、デバイス1500により使用されるソフトウェアアプリケーション、およびデバイス1500を操作するために使用されるオペレーティングシステムプログラムのためのユーザーインターフェイスを構成するビデオ、グラフィックス、画像、およびテキストを表示することができる。ディスプレイ1501上に表示することができる可能な要素として、新着メッセージが存在することをユーザーに通報する新着メールインジケータ1511、電話呼び出し中であること、電話をかけていること、または通話中であることを示すアクティブ呼インジケータ1512、データを送受信するためにデバイス1500によって現在使用されているデータ規格を示すデータ規格インジケータ1514、信号強度バーなどを使用してアンテナ1505を介して受信された信号の強度の測定結果を示す信号強度インジケータ1515、電池残量の測定結果を示す電池残量インジケータ1516、または現在時刻を出力するクロック1517がある。
【００９２】
ディスプレイ1501は、ウェブブラウザアプリケーションアイコン1519、電話アプリケーションアイコン1520、検索アプリケーションアイコン1521、連絡先アプリケーションアイコン1522、地図表示アプリケーションアイコン1524、電子メールアプリケーションアイコン1525、または他のアプリケーションアイコンなどの、ユーザーから利用可能なさまざまなアプリケーションを表すアプリケーションアイコンを表示することもできる。例示的な一実装では、ディスプレイ1501は、16ビット以上のカラー表示をすることができるクォータービデオグラフィックスアレイ(QVGA)薄膜トランジスタ(TFT)液晶ディスプレイ(LCD)である。
【００９３】
ユーザーは、キーボード(または「キーパッド」)1502を使用して、多感覚応用音声検出機能を提供するオペレーティングシステムおよびアプリケーションを操作し、制御するためのコマンドおよびデータを入力する。キーボード1502は、単独で選択されたときに英数字「Q」および「W」に関連付けられるか、またはキー1529と組み合わせて押されたときに文字「*」および「1」に関連付けられるキー1526および1527などの英数字に関連付けられている標準のキーボードボタンまたはキーを備える。単一のキーを、オペレーティングシステムの状態に基づいて、またはオペレーティングシステムによって呼び出されるアプリケーションに基づいて、ラベルなし機能を含む、特殊文字または機能に関連付けることもできる。例えば、アプリケーションが数字の入力を必要とする場合、キー1527だけを選択すると、「1」が入力されうる。
【００９４】
英数字キーパッドに従来関連付けられていたキーに加えて、キーボード1502は、受け取った呼に応答するか、または新しく発呼する呼確立キー1530、アクティブ呼を終了させる呼終了キー1531、ディスプレイ1501内にメニューを表示させるドロップダウンメニューキー1532、すでにアクセスされているネットワークアドレスへの再アクセスを行わせるバックワードナビゲーションキー1534、アクティブウェブページをお気に入りサイトのブックマークフォルダに入れさせるか、またはブックマークフォルダを表示させるお気に入りキー1535、デバイス1500上で呼び出されたアプリケーションを所定のネットワークアドレスへナビゲートするホームページキー1536、または多方向ナビゲーション、アプリケーション選択、ならびに電力および音量調節を行う他のキーなどの、他の特殊機能キーも備える。
【００９５】
ユーザーは、デバイス1500およびデバイス1500上で呼び出されるアプリケーションのインタラクティブな操作および制御の一部として、ポインティングデバイス1504を使用して、ディスプレイ1501上に表示されるグラフィックスおよびテキストオブジェクトを選択し、調節する。ポインティングデバイス1504は、任意の適切なタイプのポインティングデバイスであり、ジョイスティック、トラックボール、タッチパッド、カメラ、音声入力デバイス、ディスプレイ1501と組み合わせて実装されるタッチスクリーンデバイス、または他の入力デバイスとすることができる。
【００９６】
外部アンテナもしくは内部アンテナとすることができるアンテナ1505は、2地点間無線通信、無線ローカルエリアネットワーク(LAN)通信、または測位を実装する高周波(RF)信号の送受信に使用される指向性または無指向性アンテナである。アンテナ1505を使用すると、特殊化移動体無線(SMR)、セルラー、またはパーソナル通信サービス(PCS)周波数帯を使用する2地点間無線通信が利用しやすくなり、またいくつものデータ標準を使用してデータの送信を実装することができる。例えば、アンテナ1505を使用することで、Wireless Broadband(WiBro)、Worldwide Interoperability for Microwave ACCess(WiMAX)、10GPP Long Term Evolution (LTE)、Ultra Mobile Broadband (UMB)、High Performance Radio Metropolitan Network (HIPERMAN)、iBurst or High Capacity Spatial Division Multiple Access (HC-SDMA)、High Speed OFDM Packet Access (HSOPA)、High-Speed Packet Access (HSPA)、HSPA Evolution、HSPA+、High Speed Upload Packet Access (HSUPA)、High Speed Downlink Packet Access (HSDPA)、Generic Access Network (GAN)、時分割同期符号分割多元接続(TD-SCDMA)、Evolution-Data Optimized (またはEvolution-Data Only)(EVDO)、時分割符号分割多元接続(TD-CDMA)、Freedom Of Mobile Multimedia Access (FOMA)、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、広帯域符号分割多元接続(W-CDMA)、Enhanced Data rates for GSM Evolution (EDGE)、Enhanced GPRS (EGPRS)、符号分割多元接続2000 (CDMA2000)、Wideband Integrated Dispatch Enhanced Network (WiDEN)、高速回線交換データシステム(HSCSD)、ジェネラルパケットラジオサービス(GPRS)、簡易型携帯電話(PHS)、回線交換データ(CSD)、パーソナルデジタルセルラー(PDC)、CDMAone、Digital Advanced Mobile Phone System (D-AMPS)、Integrated Digital Enhanced Network (IDEN)、モバイル通信用グローバルシステム(GSM)、DataTAC、Mobitex、Cellular Digital Packet Data (CDPD)、Hicap、高度携帯電話システム(AMPS)、Nordic Mobile Phone (NMP)、Autoradiopuhelin (ARP)、AutotelもしくはPublic Automated Land Mobile (PALM)、Mobiltelefonisystem D (MTD)、Offentlig Landmobil Telefoni (OLT)、Advanced Mobile Telephone System (AMTS)、Improved Mobile Telephone Service (IMTS)、移動体電話システム(MIS)、プッシュトゥトーク(PTT)、または他の技術などのデバイス1500と基地局との間でデータを送信することができる。WCDMA、HSUPA、GSM、GPRS、およびEDGEネットワークを介した通信は、例えば、QUALCOMM MSM7200AチップセットをQUALCOMM RTR6285(商標)トランシーバーおよびPM7540(商標)パワーマネージメント回路と一緒に使用することで行うことができる。
【００９７】
無線または有線コンピュータネットワーク接続1506は、モデム接続、Ethernet(登録商標)を含むローカルエリアネットワーク(LAN)接続、またはデジタル加入者回線(DSL)、ケーブル高速インターネット接続、ダイヤルアップ接続、T-1回線、T-10回線、光ファイバ接続、または衛星接続などのブロードバンドワイドエリアネットワーク(WAN)接続であってよい。ネットワーク接続1506は、LANネットワーク、企業または政府WANネットワーク、インターネット、電話網、または他のネットワークに接続することができる。ネットワーク接続1506は、有線または無線コネクタを使用する。例示的な無線接続としては、例えば、IrDA(赤外線通信協会)無線コネクタ、Wi-Fi無線コネクタ、光無線コネクタ、IEEE(電気電子技術者協会)標準802.11無線コネクタ、BLUETOOTH無線コネクタ(BLUETOOTH(登録商標)バージョン1.2または10.0コネクタなど)、近接場通信(NFC)コネクタ、直交周波数分割多重(OFDM)超広帯域(UWB)無線コネクタ、時間変調超広帯域(TM-UWB)無線コネクタ、または他の無線コネクタが挙げられる。例示的な有線コネクタとしては、例えば、IEEE-1394 FIREWIREコネクタ、ユニバーサルシリアルバス(USB)コネクタ(mini-B USBインターフェイスコネクタを含む)、シリアルポートコネクタ、パラレルポートコネクタ、または他の有線コネクタが挙げられる。他の実施形態では、ネットワーク接続1506およびアンテナ1505の機能は、単一コンポーネントに集積化される。
【００９８】
カメラ1507は、デバイス1500がデジタル画像をキャプチャすることを可能にするが、これは、スキャナ、デジタルスチルカメラ、デジタルビデオカメラ、他のデジタル入力デバイスとすることもできる。例示的な一実装において、カメラ1507は、相補型金属酸化膜半導体(CMOS)を利用する10メガピクセル(MP)カメラである。
【００９９】
マイクロホン1509は、デバイス1500が音声をキャプチャすることを可能にし、これは、無指向性マイクロホン、単一指向性マイクロホン、両指向性マイクロホン、ショットガンタイプのマイクロホン、または音声を電気信号に変換する他のタイプの装置とすることができる。マイクロホン1509は、例えば、ユーザーがデバイス1500で通話中に別のユーザーと話しているときに、ユーザーが発する音声をキャプチャするために使用することができる。逆に、スピーカー1510は、デバイスが、電気信号を電話アプリケーションプログラムによって生成される他のユーザーの声、または着信音アプリケーションプログラムから発せられる着信音などの音に変換することを可能にする。さらに、デバイス1500は、図10にハンドヘルドデバイスとして例示されているけれども、他の実装では、デバイス1500は、ラップトップコンピュータ、ワークステーション、ミッドレンジコンピュータ、メインフレーム、埋め込み型システム、電話機、デスクトップPC、タブレット型コンピュータ、PDA、または他のタイプのコンピューティングデバイスであってもよい。
【０１００】
図16は、デバイス1500の内部アーキテクチャ1600を例示するブロック図である。このアーキテクチャは、オペレーティングシステムまたはアプリケーションを含むコンピュータ命令が処理される中央演算処理装置(CPU)1601と、ディスプレイ1501上にビデオ、グラフィックス、画像、およびテキストをレンダリングするための通信インターフェイスおよび処理機能を備え、一組のビルトインコントロール(ボタン、テキスト、およびリストなど)を備え、多様な画面サイズをサポートする、ディスプレイインターフェイス1602と、キーボード1502との通信インターフェイスを備えるキーボードインターフェイス1604と、ポインティングデバイス1504との通信インターフェイスを備えるポインティングデバイスインターフェイス1605と、アンテナ1505との通信インターフェイスを備えるアンテナインターフェイス1606と、コンピュータネットワーク接続1506上でネットワークとの通信インターフェイスを備えるネットワーク接続インターフェイス1607と、カメラ1507からデジタル画像をキャプチャするための通信インターフェイスおよび処理機能を備えるカメラインターフェイス1608と、マイクロホン1509を使用して音声を電気信号に変換し、スピーカー1510を使用して電気信号を音声に変換するための通信インターフェイスを備えるサウンドインターフェイス1609と、CPU 1601による処理のためコンピュータ命令およびデータが揮発性メモリデバイスに格納される、ランダムアクセスメモリ(RAM)1610と、基本入出力(I/O)、起動、またはキーボード1502からのキーストロークを受け取ることなどの基本システム機能の不変な低レベルシステムコードまたはデータが不揮発性メモリデバイス内に格納される、読み取り専用メモリ(ROM)1611と、オペレーティングシステム1614、アプリケーションプログラム1615(必要に応じて、例えば、ウェブブラウザアプリケーション、ウィジェットまたはガジェットエンジンアプリケーション、および/または他のアプリケーションを含む)、およびデータファイル1616を含むファイルが格納される、記憶媒体1612または他の好適なタイプのメモリ(例えば、RAM、ROM、プログラム可能読み取り専用メモリ(PROM)、消去可能プログラム可能読み取り専用メモリ(EPROM)、電気的消去可能プログラム可能読み取り専用メモリ(EEPROM)、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク、ハードディスク、取り外し可能カートリッジ、フラッシュドライブなど)と、デバイス1500の現実世界もしくは相対的な位置または地理的な位置を供給するナビゲーションモジュール1617と、パワーコンポーネントに適切な交流(AC)または直流(DC)を供給する電源1619と、デバイス1500が電話網を介して音声を送受信することを可能にする電話サブシステム1620とを備える。構成要素であるデバイスとCPU 1601は、バス1621上で互いに通信する。
【０１０１】
CPU 1601は、多数のコンピュータプロセッサのうちの1つとすることができる。一配置構成において、コンピュータCPU 1601は、複数の処理演算装置である。RAM 1610は、オペレーティングシステムのアプリケーションプログラムおよびデバイスドライバなどのソフトウェアプログラムの実行時にCPU 1601によるRAMへの格納を高速化するようにコンピュータバス1621とインターフェイスする。より具体的には、CPU 1601は、ソフトウェアプログラムを実行するために、コンピュータ実行可能プロセスステップを記憶媒体1612または他の媒体からRAM 1610のフィールド内にロードする。データは、RAM 1610に格納され、そこで、実行時にコンピュータCPU 1601によってデータがアクセスされる。例示的な一構成では、デバイス1500は、少なくとも128MBのRAMおよび256MBのフラッシュメモリを備える。
【０１０２】
記憶媒体1612それ自体は、RAID(Redundant Array of Independent Disks)、フロッピー(登録商標)ディスクドライブ、フラッシュメモリ、USBフラッシュドライブ、外付けハードディスクドライブ、サムドライブ、ペンドライブ、キードライブ、高密度デジタル多用途ディスク(HD-DVD)光ディスクドライブ、内蔵ハードディスクドライブ、Blu-Ray光ディスクドライブ、またはホログラフィックデジタルデータストレージ(HDDS)光ディスクドライブ、外付けミニデュアルインラインメモリモジュール(DIMM)同期型ダイナミックランダムアクセスメモリ(SDRAM)、または外付けマイクロDIMM SDRAMなどの多数の物理的ドライブユニットを含みうる。このようなコンピュータ可読記憶媒体を使用することで、デバイス1500は、取り外し可能および取り外し不可能な記憶媒体に格納されているコンピュータ実行可能プロセスステップ、アプリケーションプログラムなどにアクセスし、デバイス1500のデータ負荷を軽減したり、またはデバイス1500上にデータをアップロードすることができる。
【０１０３】
コンピュータプログラム製品は、記憶媒体1612、つまり機械可読記憶媒体で明確に具現化される。コンピュータプログラム製品は、機械によって読み込まれたときに、データ処理装置にモバイルデバイスへの画像データの格納を行わせるように動作する命令を含む。いくつかの実施形態では、このコンピュータプログラム製品は、多感覚応用音声検出を実行する命令を備える。
【０１０４】
オペレーティングシステム1614は、GOOGLEモバイルデバイスプラットフォームなどのLINUXベースのオペレーティングシステム、APPLE MAC OS X、MICROSOFT WINDOWS(登録商標) NT/WINDOWS(登録商標) 2000/WINDOWS(登録商標) XP/WINDOWS(登録商標) MOBILE、さまざまなUNIX(登録商標)系オペレーティングシステム、またはコンピュータもしくは組み込みシステム向けの専用オペレーティングシステムとすることができる。オペレーティングシステム1614用のアプリケーション開発プラットフォームまたはフレームワークは、BINARY RUNTIME ENVIRONMENT FOR WIRELESS (BREW)、SUN MICROSYSTEMS JAVA(登録商標)SCRIPTプログラミング言語を使用するJAVA(登録商標) Platform, Micro Edition (JAVA(登録商標) ME)またはJAVA(登録商標) 2 Platform, Micro Edition (J2ME)、PYTHON(商標)、FLASH LITE、またはMICROSOFT .NET Compact、または他の適切な環境とすることができる。
【０１０５】
デバイスは、オペレーティングシステム1614用のコンピュータ実行可能コード、および電子メール、インスタントメッセージング、ビデオサービスアプリケーション、地図表示アプリケーション、文書処理、表計算、プレゼンテーション、ゲーム、地図表示、Web閲覧、JAVA(登録商標)SCRIPTエンジン、または他のアプリケーションなどのアプリケーションプログラム1615を格納する。例えば、一実装は、ユーザーがGOOGLE GMAIL電子メールアプリケーション、GOOGLE TALKインスタントメッセージングアプリケーション、YOUTUBE動画サービスアプリケーション、GOOGLE MAPSまたはGOOGLE EARTH地図作製アプリケーション、またはGOOGLE PICASA画像編集およびプレゼンテーションアプリケーションにアクセスすることを可能にする。アプリケーションプログラム1615は、TAFRI(商標)ウィジェットエンジンなどのウィジェットまたはガジェットエンジン、WINDOWS(登録商標) SIDEBARガジェットエンジンまたはKAPSULES(商標)ガジェットエンジンなどのMICROSOFTガジェットエンジン、KONFABULTOR(商標)ウィジェットエンジンなどのYAHOO!ウィジェットエンジン、APPLE DASHBOARDウィジェットエンジン、GOOGLEガジェットエンジン、KLIPFOLIOウィジェットエンジン、OPERA(商標)ウィジェットエンジン、WIDSETS(商標)ウィジェットエンジン、専用ウィジェットまたはガジェットエンジン、またはデスクトップ上に物理的にインスパイアされたアプレットに対するホストシステムソフトウェアを提供する他のウィジェットまたはガジェットエンジンも含む。
【０１０６】
上述の実装を使用して多感覚応用音声検出機能を提供することも可能であるけれども、本開示による機能をダイナミックリンクライブラリ(DLL)として、またはFOXFIREウェブブラウザ、APPLE SAFARIウェブブラウザ、またはMICROSOFT INTERNET EXPLORERウェブブラウザといったインターネットウェブブラウザなどの他のアプリケーションプログラムのプラグインとして実装することも可能である。
【０１０７】
ナビゲーションモジュール1617は、全地球測位システム(GPS)信号、GLObal NAvigation Satellite System(GLONASS)、ガリレオ測位システム、Beidou Satellite Navigation and Positioning System、慣性航法システム、自立航法システムなどを使用して、またはアドレス、インターネットアドレス(IP)アドレス、またはデータベース内の位置情報を使用して、デバイスの絶対位置または相対位置を判定することができる。ナビゲーションモジュール1617は、1つまたは複数の加速度計などを使用することによって、デバイス1500の角度変位、向き、または速度を測定するために使用することもできる。
【０１０８】
図17は、オペレーティングシステム1614がGOOGLEモバイルデバイスプラットフォームである場合のデバイス1500によって使用されるオペレーティングシステム1614の例示的なコンポーネントを例示するブロック図である。オペレーティングシステム1614は、関連する電話アプリケーションが応答すること、および気まぐれなアプリケーションがオペレーティングシステムのフォルト(または「クラッシュ」)を引き起こさないことを確実にしつつ、複数のプロセスを呼び出す。オペレーティングシステム1614では、タスク切り替えを使用することで、それぞれの関連するアプリケーションの状態を失うことなく、電話中にアプリケーションを切り替えることができる。オペレーティングシステム1614は、アプリケーションフレームワークを使用してコンポーネントの再利用を推進し、ポインティングデバイス入力とキーボード入力とを組み合わせ、旋回動作を行えるようにすることによって、スケーラブルなユーザーエクスペリエンスを実現する。そのため、オペレーティングシステム1614は、高度な標準ベースのウェブブラウザを使用しつつ、高機能なグラフィックスシステムおよびメディアエクスペリエンスをもたらすことができる。
【０１０９】
オペレーティングシステム1614は、一般に、カーネル1700、ライブラリ1701、オペレーティングシステムランタイム1702、アプリケーションライブラリ1704、システムサービス1705、およびアプリケーション1706の6つのコンポーネントにまとめることができる。カーネル1700は、オペレーティングシステム1614およびアプリケーションプログラム1715などのソフトウェアによるディスプレイインターフェイス1602を介したディスプレイ1501のインタラクティブな操作を可能にするディスプレイドライバ1707と、ソフトウェアによるカメラ1507のインタラクティブな操作を可能にするカメラドライバ1709と、BLUETOOTH(登録商標)ドライバ1710と、M-Systemsドライバ1711と、バインダ(IPC)ドライバ1712と、USBドライバ1714と、キーボードインターフェイス1604を介したソフトウェアによるキーボード1502のインタラクティブな操作を可能にするキーパッドドライバ1715と、WiFiドライバ1716と、サウンドインターフェイス1609を介したソフトウェアによるマイクロホン1509およびスピーカー1510のインタラクティブな操作を可能にするオーディオドライバ1717と、ソフトウェアによる電源1619のインタラクティブな操作および電源1619の管理を可能にするパワーマネージメントコンポーネント1719とを備える。
【０１１０】
一実装において、LINUX系オペレーティングシステム用のBlueZ BLUETOOTH(登録商標)スタックに基づく、BLUETOOTH(登録商標)ドライバは、ヘッドセットおよびハンズフリーデバイス、ダイヤルアップネットワーキング、パーソナルエリアネットワーキング(PAN)、またはオーディオストリーミング(A2DP(Advance Audio Distribution Profile)またはAVRCP(Audio/Video Remote Control Profile)など)に対するプロファイルをサポートする。BLUETOOTH(登録商標)ドライバは、スキャニング、ペアリング、およびペアリング解除のためのJAVA(登録商標)バインディング、ならびにサービスクエリを提供する。
【０１１１】
ライブラリ1701は、効率的なJAVA(登録商標)アプリケーションプログラミングインターフェイス(API)レイヤ、サーフェスマネージャ1721、二次元アプリケーションドローイング用のSGL(Simple Graphics Library)1722、ゲームおよび三次元レンダリング用のOpenGL ES(Open Graphics Library for Embedded Systems)1724、C標準ライブラリ(LIBC)1725、LIBWEBCOREライブラリ1726、FreeTypeライブラリ1727、SSL 1729、SQLiteライブラリ1730を使用する、標準のビデオ、オーディオ、および静止フレームフォーマット(MPEG(Moving Picture Experts Group)-11、H.264、MP3(MPEG-1 Audio Layer-10)、AAC(Advanced Audio Coding)、AMR(Adaptive Multi-Rate)、JPEG(Joint Photographic Experts Group)、および他のフォーマットなど)をサポートするメディアフレームワーク1720を含む。
【０１１２】
オペレーティングシステムランタイム1702は、コアJAVA(登録商標)ライブラリ1731およびDalvik仮想マシン1732を含む。Dalvik仮想マシン1732は、カスタマイズされたファイルフォーマット(.DEX)が走るカスタム仮想マシンである。
【０１１３】
オペレーティングシステム1614は、図17に示されているようなMIDP JSR(JAVA(登録商標) Specification Request)コンポーネント、MIDPランタイム、およびMIDPアプリケーションなどのMIDP(Mobile Information Device Profile)コンポーネントも備えることができる。MIDPコンポーネントは、デバイス1500上で実行するMIDPアプリケーションをサポートすることができる。
【０１１４】
グラフィックスレンダリングに関しては、システム規模のコンポーザが、サーフェスおよびフレームバッファを管理し、作成にOpenGL ES 1724および二次元ハードウェアアクセラレータを使用して、ウィンドウ遷移を取り扱う。
【０１１５】
Dlavik仮想マシン1732は、ランタイムメモリを非常に効率よく使用し、CPU最適化されたバイトコードインタプリタを実装し、デバイス1つにつき複数の仮想マシンプロセスをサポートするので、埋め込み型環境とともに使用することができる。カスタムファイルフォーマット(DEX)は、ランタイム効率を念頭において設計されたもので、共有定数プールを使用してメモリを削減し、読み取り専用構造を使用してクロスプロセス共有を改善し、固定幅命令を使用して構文解析時間を短縮しており、それにより、インストールアプリケーションをビルド時にカスタムファイルフォーマットに変換することができる。関連付けられているバイトコードは、スタックベースの命令ではなくレジスタベースの命令を使用してメモリおよびディスパッチオーバーヘッドを低減し、固定幅命令を使用して構文解析を簡素化し、16ビットコードユニットを使用して読み込みを最小限に抑えることで、直ちに解釈できるように設計されている。
【０１１６】
アプリケーションライブラリ1704は、ビューシステム1734、リソースマネージャ1735、およびコンテンツプロバイダ1737を含む。システムサービス1705は、ステータスバー1739、アプリケーションランチャー1740、すべてのインストール済みアプリケーションに対する情報を保持するパッケージマネージャ1741、アプリケーションレベルのJAVA(登録商標)インターフェイスを電話サブシステム1620に提供する電話マネージャ1742、すべてのアプリケーションによるステータスバーおよび画面上通知へのアクセスを可能にする通知マネージャ1744、複数のウィンドウを備える複数のアプリケーションがディスプレイ1501を共有することを可能にするウィンドウマネージャ1745、および別のプロセスでそれぞれのアプリケーションを実行し、アプリケーションライフサイクルを管理し、クロスアプリケーション履歴を維持する活動マネージャ1746を含む。
【０１１７】
アプリケーション1706は、ホームアプリケーション1747、ダイアラーアプリケーション1749、連絡先アプリケーション1750、ブラウザアプリケーション1751、および多重音声検出アプリケーション1752を含む。
【０１１８】
電話マネージャ1742は、イベント通知(電話状態、ネットワーク状態、加入者識別モジュール(SIM)ステータス、または音声メールステータス)を発し、状態情報(ネットワーク情報、SIM情報、または音声メールの有無)へのアクセスを許可し、呼を開始し、クエリを実行し、呼状態を制御する。ブラウザアプリケーション1751は、ウェブページを、ナビゲーション機能を含む、完全なデスクトップに似たマネージャにする。さらに、ブラウザアプリケーション1751では、単一カラムの小さな画面をレンダリングすることができ、他のアプリケーションにHTMLビューを埋め込むことができる。
【０１１９】
図18は、オペレーティングシステムカーネル1800によって実装される例示的なプロセスを示すブロック図である。一般に、アプリケーションおよびシステムサービスは、別々のプロセスで実行され、活動マネージャ1746はそれぞれのアプリケーションを別のプロセスで実行し、アプリケーションライフサイクルを管理する。アプリケーションはそれ専用のプロセスで実行されるが、多くの活動またはサービスも同じプロセスで実行されうる。プロセスは、アプリケーションのコンポーネントを実行するために必要に応じて、起動と停止を行い、またプロセスは、リソースを回収するために終了させることができる。それぞれのアプリケーションは、それ専用のプロセスを割り当てられ、その名前はアプリケーションのパッケージ名であり、アプリケーションの個別の部分には、別のプロセス名を割り当てることができる。
【０１２０】
いくつかのプロセスは、永続的なプロセスとすることができる。例えば、サーフェスマネージャ1816、ウィンドウマネージャ1814、または活動マネージャ1810などのコアシステムコンポーネントに関連するプロセスは、デバイス1500に電源が投入されている間、連続的に実行されうる。それに加えて、いくつかのアプリケーション特有のプロセスも永続的なプロセスとすることができる。例えば、ダイアラーアプリケーション1821に関連するプロセスも、永続的であるものとしてよい。
【０１２１】
オペレーティングシステムカーネル1800によって実装されるプロセスは、一般に、システムサービスプロセス1801、ダイアラープロセス1802、ブラウザプロセス1804、および地図プロセス1805として分類されうる。システムサービスプロセス1801は、ステータスバー1739に関連付けられているステータスバープロセス1806、アプリケーションランチャー1740に関連付けられているアプリケーションランチャープロセス1807、パッケージマネージャ1741に関連付けられているパッケージマネージャプロセス1809、活動マネージャ1746に関連付けられている活動マネージャプロセス1810、グラフィックス、ローカライズされた文字列、およびXMLレイアウト記述にアクセスできるようにするリソースマネージャ1735に関連付けられているリソースマネージャプロセス1811、通知マネージャ1744に関連付けられている通知マネージャプロセス1812、ウィンドウマネージャ1845に関連付けられているウィンドウマネージャプロセス1814、コアJAVA(登録商標)ライブラリ1731に関連付けられているコアJAVA(登録商標)ライブラリプロセス1815、サーフェスマネージャ1721に関連付けられているサーフェスマネージャプロセス1816、Dalvik仮想マシン1732に関連付けられているDalvik仮想マシンプロセス1817、LIBCライブラリ1725に関連付けられているLIBCプロセス1819、多重音声検出アプリケーション1752に関連付けられている多重音声検出プロセス1820を含む。
【０１２２】
ダイアラープロセス1802は、ダイアラーアプリケーション1749に関連付けられているダイアラーアプリケーションプロセス1821、電話マネージャ1742に関連付けられている電話マネージャプロセス1822、コアJAVA(登録商標)ライブラリ1731に関連付けられているコアJAVA(登録商標)ライブラリプロセス1824、Dalvik仮想マシン1732に関連付けられているDalvik仮想マシンプロセス1825、およびLIBCライブラリ1725に関連付けられているLIBCプロセス1826を含む。ブラウザプロセス1804は、ブラウザアプリケーション1751に関連付けられているブラウザアプリケーションプロセス1827、コアJAVA(登録商標)ライブラリ1731に関連付けられているコアJAVA(登録商標)ライブラリプロセス1829、Dalvik仮想マシン1732に関連付けられているDalvik仮想マシンプロセス1830、LIBWEBCOREライブラリ1726に関連付けられているLIBWEBCOREプロセス1831、およびLIBCライブラリ1725に関連付けられているLIBCプロセス1832を含む。
【０１２３】
地図プロセス1805は、地図アプリケーションプロセス1834、コアJAVA(登録商標)ライブラリプロセス1835、Dalvik仮想マシンプロセス1836、およびLIBCプロセス1837を含む。明らかに、Dalvik仮想マシンプロセスなどのいくつかのプロセスは、システムサービスプロセス1801、ダイアラープロセス1802、ブラウザプロセス1804、および地図プロセス1805のうちの1つまたは複数の中に存在しうる。
【０１２４】
図19は、本明細書で説明されている技術とともに使用されうる一般的なコンピュータデバイス1900および一般的なモバイルコンピュータデバイス1950の一例を示している。コンピューティングデバイス1900は、ラップトップ、デスクトップ、ワークステーション、パーソナルデジタルアシスタント、サーバー、ブレードサーバー、メインフレーム、および他の適切なコンピュータなどのさまざまな形態のデジタルコンピュータを表すことが意図されている。コンピューティングデバイス1950は、パーソナルデジタルアシスタント、携帯電話、スマートフォン、および他の類似のコンピューティングデバイスなどのさまざまな形態のモバイルデバイスを表すことが意図されている。ここに示されているコンポーネント、それらの接続および関係、ならびにそれらの機能は、例示することのみを意図されており、本明細書において説明され、および/または請求されている実装を制限することを意図されていない。
【０１２５】
コンピューティングデバイス1900は、プロセッサ1902、メモリ1904、ストレージデバイス1906、メモリ1904および高速拡張ポート1910に接続する高速インターフェイス1908、ならびに低速バス1914およびストレージデバイス1906に接続する低速インターフェイス1912を備える。コンポーネント1902、1904、1906、1908、1910、および1912のそれぞれは、さまざまなバスを使用して相互接続され、共通マザーボード上に取り付けられるか、または適宜他の仕方で取り付けられうる。プロセッサ1902は、高速インターフェイス1908に結合されているディスプレイ1916などの、外部入力/出力デバイス上にGUIのグラフィック情報を表示するためメモリ1904内に、またはストレージデバイス1906上に、格納されている命令を含む、コンピューティングデバイス1900内で実行する命令を処理することができる。他の実装では、複数のプロセッサおよび/または複数のバスを、適宜、複数のメモリおよび複数のタイプのメモリとともに使用することができる。また、複数のコンピューティングデバイス1900を、必要なオペレーションの一部を行うそれぞれのデバイスと接続することができる(例えば、サーバーバンク、ブレードサーバーのグループ、またはマルチプロセッサシステムとして)。
【０１２６】
メモリ1904は、コンピューティングデバイス1900内の情報を格納する。一実装では、メモリ1904は、1つまたは複数の揮発性メモリユニットである。他の実装では、メモリ1904は、1つまたは複数の不揮発性メモリユニットである。メモリ1904は、磁気ディスクまたは光ディスクなどのコンピュータ可読媒体の他の形態のものとすることもできる。
【０１２７】
ストレージデバイス1906は、コンピューティングデバイス1900用のマスストレージを構成することもできる。一実装では、ストレージデバイス1906は、ストレージエリアネットワークまたは他の構成のデバイスを含む、フロッピー(登録商標)ディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリもしくは他の類似のソリッドステートメモリデバイス、またはデバイスアレイなどのコンピュータ可読媒体であるか、またはコンピュータ可読媒体を含むことができる。コンピュータプログラム製品は、情報担体において明確に具現化されうる。コンピュータプログラム製品は、実行されると上述のような1つまたは複数の方法を実行する命令も格納することができる。情報担体は、メモリ1904、ストレージデバイス1906、プロセッサ1902上のメモリ、または伝搬信号などのコンピュータもしくは機械可読媒体である。
【０１２８】
高速コントローラ1908は、コンピューティングデバイス1900に対する帯域幅を集中的に使用するオペレーションを管理するが、低速コントローラ1912は、帯域幅を集中的に使用する程度の低いオペレーションを管理する。機能のこのような割り振りは例示的なものにすぎない。一実装では、高速コントローラ1908は、メモリ1904、ディスプレイ1916(例えば、グラフィックスプロセッサまたはアクセラレータを通じて)、およびさまざまな拡張カード(図示せず)を受け入れることができる高速拡張ポート1910に結合される。この実装では、低速コントローラ1912は、ストレージデバイス1906および低速拡張ポート1914に結合される。さまざまな通信ポート(例えば、USB、Bluetooth(登録商標)、Ethernet(登録商標)、無線Ethernet(登録商標))を含みうる、低速拡張ポートは、キーボード、ポインティングデバイス、スキャナ、または例えば、ネットワークアダプタを通じて、スイッチまたはルーターなどネットワーキングデバイスなどの1つまたは複数の入力/出力デバイスに結合することができる。
【０１２９】
コンピューティングデバイス1900は、図に示されているように、数多くの異なる形態で実装されうる。例えば、標準サーバー1920として、またはそのようなサーバーのグループとして何倍もの数で実装されうる。これは、ラックサーバーシステム1924の一部としても実装することができる。それに加えて、ラップトップコンピュータ1922などのパーソナルコンピュータで実装することもできる。あるいは、コンピューティングデバイス1900からのコンポーネントをデバイス1950などのモバイルデバイス(図示せず)内の他のコンポーネントと組み合わせることができる。このようなデバイスのそれぞれは、コンピューティングデバイス1900、1950のうちの1つまたは複数を含むことができ、システム全体が、互いに通信する複数のコンピューティングデバイス1900、1950で構成されうる。
【０１３０】
コンピューティングデバイス1950は、数ある中でもとりわけ、プロセッサ1952、メモリ1964、ディスプレイ1954などの入力/出力デバイス、通信インターフェイス1966、およびトランシーバー1968を備える。デバイス1950は、追加のストレージを構成するためにマイクロドライブまたは他のデバイスなどのストレージデバイスを備えることもできる。コンポーネント1950、1952、1964、1954、1966、および1968のそれぞれは、さまざまなバスを使用して相互接続され、これらのコンポーネントのうちのいくつかは、共通マザーボード上に取り付けられるか、または適宜他の仕方で取り付けられうる。
【０１３１】
プロセッサ1952は、メモリ1964内に格納されている命令を含む、コンピューティングデバイス1950内の命令を実行することができる。プロセッサは、個別の、および複数の、アナログおよびデジタルプロセッサを備えるチップのチップセットとして実装することができる。プロセッサは、例えば、ユーザーインターフェイスの制御、デバイス1950によるアプリケーション実行、デバイス1950による無線通信などの、デバイス1950の他のコンポーネントの調整を行うことができる。
【０１３２】
プロセッサ1952は、制御インターフェイス1958およびディスプレイ1954に結合されているディスプレイインターフェイス1956を通じてユーザーと通信することができる。ディスプレイ1954は、例えば、TFT LCD(薄膜トランジスタ液晶ディスプレイ)またはOLED(有機発光ダイオード)ディスプレイまたは他の適切なディスプレイ技術とすることができる。ディスプレイインターフェイス1956は、グラフィックおよび他の情報をユーザーに提示するようにディスプレイ1954を駆動するための適切な回路を備えることができる。制御インターフェイス1958は、ユーザーからコマンドを受け取り、それらをプロセッサ1952に送るために変換することができる。それに加えて、外部インターフェイス1962は、プロセッサ1952と通信するように構成され、デバイス1950と他のデバイスとの近距離通信を行うことを可能にする。外部インターフェイス1962は、例えば、いくつかの実装における有線通信、または他の実装における無線通信を行うことができ、複数のインターフェイスも使用できる。
【０１３３】
メモリ1964は、コンピューティングデバイス1950内の情報を格納する。メモリ1964は、1つまたは複数のコンピュータ可読媒体、1つまたは複数の揮発性メモリユニット、または1つまたは複数の不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ1974も、例えば、SIMM(シングルインラインメモリモジュール)カードインターフェイスを含むものとしてよい、拡張インターフェイス1972を通じて構成され、デバイス1950に接続されうる。このような拡張メモリ1974は、デバイス1950に対する付加的な記憶領域を設けることができるか、またはデバイス1950用のアプリケーションまたは他の情報を格納することもできる。特に、拡張メモリ1974は、上述のプロセスを実行するか、または補助する命令を格納することができ、またセキュア情報も格納することができる。したがって、例えば、拡張メモリ1974は、デバイス1950に対するセキュリティモジュールとして構成することができ、デバイス1950の安全な使用を可能にする命令でプログラムすることができる。それに加えて、安全なアプリケーションは、SIMMカードを介して、ハッキングできない形でSIMMカード上に識別情報を配置するなど、付加情報とともに提供することもできる。
【０１３４】
メモリとしては、例えば、後述のように、フラッシュメモリおよび/またはNVRAMが挙げられる。一実装では、コンピュータプログラム製品は、情報担体で明確に具現化される。コンピュータプログラム製品は、実行されると上述のような1つまたは複数の方法を実行する命令を格納する。情報担体は、メモリ1964、拡張メモリ1974、プロセッサ1952上のメモリ、または例えば、トランシーバー1968もしくは外部インターフェイス1962上で受信されうる伝搬信号などのコンピュータもしくは機械可読媒体である。
【０１３５】
デバイス1950は、必要ならば、デジタル信号処理回路を備えることができる、通信インターフェイス1966を通じて無線で通信することができる。通信インターフェイス1966は、とりわけ、GSM音声電話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA、CDMA2000、またはGPRSなどの、さまざまなモードもしくはプロトコルの下で通信を行うことができる。このような通信は、例えば、無線周波トランシーバー1968を通じて行うことができる。それに加えて、Bluetooth(登録商標)、WiFi、または他のトランシーバー(図示せず)などを使用して、短距離通信を実行することができる。それに加えて、GPS(全地球測位システム)受信機モジュール1970は、追加のナビゲーションおよび位置関係無線データをデバイス1950に送ることができ、これはデバイス1950上で実行するアプリケーションによって適宜使用されうる。
【０１３６】
デバイス1950は、オーディオコーデック1960を使用して音声で通信することもでき、ユーザーから発話情報を受け取り、それを使用可能なデジタル情報に変換することができる。オーディオコーデック1960は、例えば、デバイス1950のハンドセットのスピーカーなどを通じて、ユーザー向けに可聴音を発生することができる。このような音は、音声電話からの音を含み、録音された音を含み(例えば、音声メッセージ、音楽ファイルなど)、またデバイス1950上で動作するアプリケーションによって生成される音を含むこともできる。
【０１３７】
コンピューティングデバイス1950は、図に示されているように、数多くの異なる形態で実装されうる。例えば、携帯電話1980として実装することができる。また、スマートフォン1982、パーソナルデジタルアシスタント、または他の類似のモバイルデバイスの一部として実装することもできる。
【０１３８】
本明細書で説明されているシステムおよび技術のさまざまな実装は、デジタル電子回路、集積回路、専用設計ASIC(特定用途向け集積回路)、コンピュータのハードウェア、ファームウェア、ソフトウェア、および/またはこれらの組み合わせで実現することが可能である。さまざまな実装は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスからデータおよび命令を受け取り、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにデータおよび命令を送るように結合された、専用または汎用のものとしてよい、少なくとも1つのプログラム可能なプロセッサを備えるプログラム可能なシステム上で実行可能であり、および/または解釈可能である1つまたは複数のコンピュータプログラムによる実装を含むことができる。
【０１３９】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとも呼ばれる)は、プログラム可能なプロセッサ用の機械語命令を含み、高水準手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械語で実装されうる。本明細書で使用されているように、「機械可読媒体」、「コンピュータ可読媒体」という用語は、機械可読信号として機械語命令を受け取る機械可読媒体を含む、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用されるコンピュータプログラム製品、装置、および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能論理デバイス(PLD))を指す。「機械可読信号」という用語は、機械語命令および/またはデータをプログラム可能なプロセッサに供給するために使用される信号を指す。
【０１４０】
ユーザーと情報のやり取りを行うために、本明細書で説明されているシステムおよび技術は、ユーザーに情報を表示するための表示デバイス(例えば、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタ)およびキーボードおよびユーザーがコンピュータに入力を送るために使用できるポインティングデバイス(例えば、マウスもしくはトラックボール)を有するコンピュータ上で実装することができる。他の種類のデバイスも、ユーザーと情報をやり取りするために使用することができ、例えば、ユーザーに返されるフィードバックは、任意の形態の感覚フィードバック(例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバック)とすることができ、ユーザーからの入力は、音響、話し声、または触覚入力を含む、任意の形態で受け取ることができる。
【０１４１】
本明細書で説明されているシステムおよび技術は、バックエンドコンポーネントを含む(例えば、データサーバーとして)、またはミドルウェアコンポーネントを含む(例えば、アプリケーションサーバーとして)、またはフロントエンドコンポーネントを含む(例えば、ユーザーと本明細書で説明されているシステムおよび技術の実装との情報のやり取りに使用されるグラフィカルユーザーインターフェイスまたはウェブブラウザを有するクライアントコンピュータ)コンピューティングシステム、またはそのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせで実装することができる。システムのコンポーネントは、デジタルデータ通信の任意の形態または媒体(例えば、通信ネットワーク)によって相互接続することができる。通信ネットワークの例としては、ローカルエリアネットワーク(「LAN」)、ワイドエリアネットワーク(「WAN」)、およびインターネットが挙げられる。
【０１４２】
コンピューティングシステムは、クライアントおよびサーバーを備えることができる。クライアントおよびサーバーは、一般に、互いに隔てられており、典型的には、通信ネットワークを通じて情報のやり取りを行う。クライアントとサーバーとの関係は、コンピュータプログラムが各コンピュータ上で実行され、互いとの間にクライアント-サーバー関係を有することによって発生する。
【０１４３】
それに加えて、図に示されている論理の流れは、所望の結果を得るために、図示されている特定の順序、またはシーケンシャルな順序を必要としない。それに加えて、他のステップを与えるか、または説明されている流れからステップを取り除くこともでき、また他のコンポーネントを説明されているシステムに追加するか、または説明されているシステムから取り除くことができる。したがって、他の実装は、請求項の範囲内に収まる。
【符号の説明】
【０１４４】
100  概念図
105  ユーザー
110  モバイルデバイス
115  電話姿勢
120  PDA姿勢
125  トランシーバー姿勢
200  ブロック図
205  モバイルデバイス
207  画面
209  物理的キーパッド
211  トラックボール
213  加速度計
215  近接センサー
217  マイクロホン
219  カメラ
221  音声検出器
223  話者識別器
225  ジェスチャー分類器
227  姿勢識別器
229  スピーチエンドポインタ
231  メモリ
233  中央演算処理装置、プロセッサ
235  I/Oインターフェイス
240  インターネット
245  リモートコンピューティングデバイス
1511  新着メールインジケータ
1512  アクティブ呼インジケータ
1514  データ規格インジケータ
1515  信号強度インジケータ
1516  電池残量インジケータ
1517  クロック
1519  ウェブブラウザアプリケーションアイコン
1520  電話アプリケーションアイコン
1521  検索アプリケーションアイコン
1522  連絡先アプリケーションアイコン
1524  地図表示アプリケーションアイコン
1525  電子メールアプリケーションアイコン
1526、1527、1529  キー
1530  呼確立キー
1531  呼終了キー
1532  ドロップダウンメニューキー
1534  バックワードナビゲーションキー
1535  お気に入りキー
1536  ホームページキー
1900  コンピュータデバイス
1950  モバイルコンピュータデバイス
1902  プロセッサ
1904  メモリ
1906  ストレージデバイス
1908  高速インターフェイス
1910  高速拡張ポート
1912  低速インターフェイス
1914  低速バス
1916  ディスプレイ
1920  標準サーバー
1922  ラップトップコンピュータ
1924  ラックサーバーシステム
1950  デバイス
1952  プロセッサ
1954  ディスプレイ
1956  ディスプレイインターフェイス
1958  制御インターフェイス
1960  オーディオコーデック
1962  外部インターフェイス
1964  メモリ
1966  通信インターフェイス
1968  トランシーバー
1970  GPS(全地球測位システム)受信機モジュール
1972  拡張インターフェイス
1974  拡張メモリ
1980  携帯電話
1982  スマートフォン
【図１】
0005538415.tif 000005
【図２】
0005538415.tif 000006
【図３】
0005538415.tif 000007
【図４】
0005538415.tif 000008
【図５Ａ】
0005538415.tif 000009
【図５Ｂ】
0005538415.tif 000010
【図６】
0005538415.tif 000011
【図７】
0005538415.tif 000012
【図８Ａ】
0005538415.tif 000013
【図８Ｂ】
0005538415.tif 000014
【図９】
0005538415.tif 000015
【図１０】
0005538415.tif 000016
【図１１】
0005538415.tif 000017
【図１２】
0005538415.tif 000018
【図１３】
0005538415.tif 000019
【図１４】
0005538415.tif 000020
【図１５】
0005538415.tif 000021
【図１６】
0005538415.tif 000022
【図１７】
0005538415.tif 000023
【図１８】
0005538415.tif 000024
【図１９】
0005538415.tif 000025