(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-16
(45)【発行日】2023-11-27
(54)【発明の名称】自動アシスタント要求に従って、デバイスロケーションおよび/またはインターフェースの向きを自律的に調整する、モーター付きコンピューティングデバイス
(51)【国際特許分類】
G06F 3/16 20060101AFI20231117BHJP
G06F 3/01 20060101ALI20231117BHJP
【FI】
G06F3/16 650
G06F3/01 510
(21)【出願番号】P 2021542493
(86)(22)【出願日】2019-04-29
(86)【国際出願番号】 US2019029606
(87)【国際公開番号】W WO2020222735
(87)【国際公開日】2020-11-05
【審査請求日】2021-09-21
【前置審査】
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】スコット・スタンフォード
(72)【発明者】
【氏名】クン-ヨン・パク
(72)【発明者】
【氏名】ヴィタリー・トムキヴ
(72)【発明者】
【氏名】ヒデアキ・マツイ
(72)【発明者】
【氏名】アンガド・シドゥ
【審査官】岩橋 龍太郎
(56)【参考文献】
【文献】米国特許出願公開第2010/0180709(US,A1)
【文献】特開2018-067785(JP,A)
【文献】特開2014-013494(JP,A)
【文献】特開2001-300874(JP,A)
【文献】特開2018-185362(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048-3/04895
G06F 3/16
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンへの入力に基づいて、ユーザが口頭発話を提供したと決定するステップであって、前記モバイルコンピューティングデバイスが、エリアにわたって、前記モバイルコンピューティングデバイスを動かす、1つまたは複数の第1のモーター
と、前記モバイルコンピューティングデバイスのディスプレイパネルを動かす、1つまたは複数の第2のモーターとを含む、ステップと、
前記1つまたは複数のマイクロフォンへの前記入力に基づいて、自動アシスタントが前記モバイルコンピューティングデバイスの1つまたは複数のスピーカー、および/あるいは
前記ディスプレイパネルを介して、コンテンツをレンダリングすることに関連付けられる、アクションを実施するように、前記ユーザが前記モバイルコンピューティングデバイスに要求中であると決定するステップと、
前記1つまたは複数のマイクロフォンへの前記入力、前記1つまたは複数のマイクロフォンへの追加の入力、および/あるいは前記モバイルコンピューティングデバイスの1つまたは複数の他のセンサーに基づいて、前記モバイルコンピューティングデバイスに対する、前記ユーザのロケーションを決定するステップと、
前記ユーザが、前記モバイルコンピューティングデバイスにおいてレンダリングされるグラフィカルコンテンツを要求したと決定し、前記ロケーションが、特定の距離条件を満たすと決定することに応答して、
前記モバイルコンピューティングデバイスの前記第1のモーターが、前記ユーザの前記ロケーションのほうへ、前記モバイルコンピューティングデバイスを動かすことを引き起こ
し、かつ
前記ディスプレイパネルが、前記アクションを実施することを促進するために、前記グラフィカルコンテンツをレンダリングすることを引き起こす
、ステップと
、
前記モバイルコンピューティングデバイスの前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが動作中であるとき、前記ユーザが後続の口頭発話を提供中であるか否かを決定するステップと、
前記モバイルコンピューティングデバイスの前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが動作中である間に、前記後続の口頭発話が受信されているとき、
前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが、低減電力状態に遷移することを引き起こすステップであって、前記低減電力状態が、前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが、前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターの、別の状態および/または前の状態よりも低い電力を消費する状態に対応する、ステップと
を含む、モバイルコンピューティングデバイスによって実行される方法。
【請求項2】
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、オーディオコンテンツを含むとき、
前記モバイルコンピューティングデバイスが、前記ユーザのための前記オーディオコンテンツを可聴的にレンダリングするための、前記ユーザからの距離内であるか否かを決定するステップと、
前記モバイルコンピューティングデバイスが、前記ユーザのための前記オーディオコンテンツを可聴的にレンダリングするための、前記ユーザからの前記距離内ではないとき、
前記モバイルコンピューティングデバイスが、前記ユーザからの前記距離内ではないとの決定に基づいて、前記モバイルコンピューティングデバイスの前記1つまたは複数の第1のモーターが、前記ユーザの前記ロケーションのほうへ、前記モバイルコンピューティングデバイスを動かすことを引き起こすステップと、
前記モバイルコンピューティングデバイスの1つまたは複数のスピーカーが、前記アクションを実施することを促進するために、前記オーディオコンテンツをレンダリングすることを引き起こすステップと
をさらに含む、請求項1に記載の方法。
【請求項3】
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、前記グラフィカルコンテンツを含むとき、および、前記決定されたロケーションが、前記距離条件を満たすとき、
前記モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、前記ユーザのほうへ、前記グラフィカルコンテンツをレンダリングすることを促進するために、前記モバイルコンピューティングデバイスの前記ディスプレイパネルを動かすことを引き起こすステップ
をさらに含む、請求項1または2に記載の方法
。
【請求項4】
前記モバイルコンピューティングデバイスの前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが動作中である間に、前記後続の口頭発話がもはや受信されていないとき、
前記1つまたは複数の第1のモーター、および/あるいは前記1つまたは複数の第2のモーターが、前記ユーザの前記ロケーションのほうへ、前記ディスプレイパネルを動かすこと、および/または前記モバイルコンピューティングデバイスを動かすことを促進するために、前記低減電力状態から他の動作状態に遷移することを引き起こすステップ
をさらに含む、請求項
1に記載の方法。
【請求項5】
前記マイクロフォンへの前記入力の受信に応答して、および前記モバイルコンピューティングデバイスのカメラを使用して、前記ユーザの解剖学的特徴を識別するステップであって、前記1つまたは複数の第2のモーターが、前記ディスプレイパネルを動かすことを引き起こすステップが、前記ディスプレイパネルが、前記ユーザの前記解剖学的特徴に向けられることを引き起こすステップを含む、ステップ
をさらに含む、請求項3
または4に記載の方法。
【請求項6】
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、
前記ユーザによって要求された前記コンテンツの、グラフィカルコンテンツおよび/またはオーディオコンテンツへの対応に基づいて、前記モバイルコンピューティングデバイスの1つまたは複数の第3のモーターが、前記ユーザのほうへ向けられるように、前記モバイルコンピューティングデバイスのカメラを動かすことを引き起こすステップ
をさらに含む、請求項1から
5のいずれか一項に記載の方法。
【請求項7】
前記ディスプレイパネルが、前記モバイルコンピューティングデバイスの第1のハウジングエンクロージャに搭載され、前記カメラが、前記モバイルコンピューティングデバイスの第2のハウジングエンクロージャに搭載され、前記1つまたは複数の第3のモーターが、前記モバイルコンピューティングデバイスの第3のハウジングエンクロージャ内に少なくとも部分的に封入される、請求項
6に記載の方法。
【請求項8】
前記モバイルコンピューティングデバイスの前記1つまたは複数の第3のモーターが、前記ユーザの方向に、前記モバイルコンピューティングデバイスの前記カメラを動かすことを引き起こすステップが、
前記モバイルコンピューティングデバイスの前記第2のハウジングエンクロージャが、前記モバイルコンピューティングデバイスの前記第3のハウジングエンクロージャと交差する軸の周りを回転することを引き起こすステップ
を含む、請求項
7に記載の方法。
【請求項9】
第4のモーターが、前記第2のハウジングエンクロージャにおいて少なくとも部分的に封入され、前記第3のハウジングエンクロージャに対する、前記第2のハウジングエンクロージャの半径方向の動きを制御し、前記方法が、
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、
前記第4のモーターが、前記第2のハウジングエンクロージャが前記第3のハウジングエンクロージャとの分離の角度を変更するように、前記第2のハウジングエンクロージャの前記半径方向の動きを実現することを引き起こすステップ
をさらに含む、請求項
7または
8に記載の方法。
【請求項10】
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、
前記マイクロフォンへの前記入力の受信に応答して、および前記モバイルコンピューティングデバイスの前記カメラを使用して、前記ユーザの解剖学的特徴を識別するステップと、
前記ユーザの前記解剖学的特徴の識別に基づいて、前記第3のハウジングエンクロージャに対する、前記第2のハウジングエンクロージャの前記分離の角度を決定するステップであって、前記分離の角度が、前記カメラが前記ユーザの前記解剖学的特徴に向けられる角度に対応する、ステップと
をさらに含む、請求項
9に記載の方法。
【請求項11】
第5のモーターが、前記第1のハウジングエンクロージャにおいて少なくとも部分的に封入され、前記第2のハウジングエンクロージャに対する、前記第1のハウジングエンクロージャの別の半径方向の動きを制御し、前記方法が、
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、
前記第5のモーターが、前記第1のハウジングエンクロージャが前記第2のハウジングエンクロージャとの別の分離の角度に到達するように、前記第1のハウジングエンクロージャの前記別の半径方向の動きを実現することを引き起こすステップ
をさらに含む、請求項
7または
8に記載の方法。
【請求項12】
前記モバイルコンピューティングデバイスにおいてレンダリングされるように、前記ユーザによって要求された前記コンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、
前記マイクロフォンへの前記入力の受信に応答して、および前記モバイルコンピューティングデバイスの前記カメラを使用して、前記ユーザの解剖学的特徴を識別するステップと、
前記ユーザの前記解剖学的特徴の識別に基づいて、前記第2のハウジングエンクロージャに対する、前記第1のハウジングエンクロージャの前記別の分離の角度を決定するステップであって、前記別の分離の角度が、前記ディスプレイパネルが前記ユーザの前記解剖学的特徴に向けられる別の角度に対応する、ステップと
をさらに含む、請求項
11に記載の方法。
【請求項13】
前記モバイルコンピューティングデバイスに対する、前記ユーザの前記ロケーションを決定するステップが、
前記モバイルコンピューティングデバイスの複数のマイクロフォンからの出力を使用して、前記ロケーションが複数の異なる人々を含むと決定するステップと、
前記モバイルコンピューティングデバイスのカメラからの他の出力を使用して、前記ユーザが前記複数の異なる人々のうちの前記人々のうちの1人であると決定するステップと
を含む、請求項1から
12のいずれか一項に記載の方法。
【請求項14】
ディスプレイコンテンツおよび/または前記オーディオコンテンツをレンダリングした後に、前記1つまたは複数の第2のモーターが、前記モバイルコンピューティングデバイスの第2のハウジングエンクロージャのほうへ、前記モバイルコンピューティングデバイスの第1のハウジングエンクロージャおよび前記ディスプレイパネルを動かすことによって、前記モバイルコンピューティングデバイスの高さを低減することを引き起こすステップ
をさらに含む、請求項2または請求項2に従属する請求項3から
13のいずれか一項に記載の方法。
【請求項15】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサが請求項1から
14のいずれか一項に記載の方法を行うことを引き起こす命令を備える、コンピュータプログラム。
【請求項16】
1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサが請求項1から
14のいずれか一項に記載の方法を行うことを引き起こす命令を備える、コンピュータ可読記憶媒体。
【請求項17】
請求項1から
14のいずれか一項に記載の方法を行うための1つまたは複数のプロセッサを備える、システム。
【発明の詳細な説明】
【背景技術】
【0001】
人間は、本明細書では「自動アシスタント」と呼ぶ(「デジタルエージェント」、「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「会話エージェント」などとも呼ぶ)、対話型ソフトウェアアプリケーションとのヒューマンコンピュータダイアログに携わることがある。たとえば、人間(自動アシスタントと対話するとき、「ユーザ」と呼ぶことがある)は、場合によってはテキストに変換され、次いで処理され得る、口頭自然言語入力(すなわち、発話)を使用して、および/またはテキストの(たとえば、タイピングされた)自然言語入力を提供することによって、コマンドおよび/または要求を提供することがある。自動アシスタントの使用によって、情報へのより容易なアクセス、および周辺デバイスを制御するためのより好都合な手段を可能にすることができるが、ディスプレイコンテンツおよび/またはオーディオコンテンツを知覚することが、いくつかの状況では困難になり得る。
【0002】
たとえば、ユーザが、自宅のある部屋において、いくつかのタスクに没頭しており、異なる部屋にあるコンピューティングデバイスを介して、タスクについての有用な情報を取得することを望むとき、ユーザは、コンピューティングデバイスに無理なく、および/または安全にアクセスすることができないことがある。このことは、ユーザが熟練した仕事を実施中であり、かつ/またはさもなければ、ユーザの現在の状況(たとえば、はしごの上に立っている、車両の下で作業中である、自宅にペンキを塗っているなど)になるために、エネルギーを費やした状況において、特に明らかになり得る。そのような状況において作業中である間に、ユーザがある情報を要求するならば、ユーザは、レンダリングされたコンテンツを好適に聞く、かつ/または見ることができないことがある。たとえば、ユーザは、自分のガレージにおいて作業中であるとき、有用なコンテンツを閲覧するために、自分のガレージにおいてコンピューティングデバイスを有し得るが、ユーザは、ガレージ内のいくつかのロケーションに立っているとき、コンピューティングデバイスのディスプレイパネルを見ることができないことがある。結果として、ユーザは、残念ながら、コンピューティングデバイスを介して提供された情報を知覚するために、ディスプレイパネルを閲覧するために、自分の作業の進行を休止させる必要があり得る。さらに、コンテンツがレンダリングされる時間量に応じて、特定のユーザは、コンピューティングデバイスに到達するために、最初に様々な備品および/または人々を避けてナビゲートしなければならないと仮定すると-コンテンツを好適に知覚するための時間を有していないことがある。そのような状況では、ユーザがコンテンツを知覚する機会を得ない場合、ユーザは、結局、コンテンツを再要求しなければならないことになり、それによって、コンピューティングデバイスの計算リソースおよび電力を消耗することがある。
【発明の概要】
【課題を解決するための手段】
【0003】
本明細書で記載される実装形態は、ユーザに対してあるコンテンツをレンダリングするために、ユーザまで選択的にナビゲートし、ユーザの相対位置に従って、モバイルコンピューティングデバイスのディスプレイパネルの閲覧角を調整する、モバイルコンピューティングデバイスに関する。モバイルコンピューティングデバイスは、複数のセクション(すなわち、ハウジングエンクロージャ)を含むことがあり、各セクションは、1つまたは複数のセクションの物理的位置および/または配置を調整するための、1つまたは複数のモーターを含み得る。一例として、ユーザは、「アシスタント、今日の私の予定はどうなっている?」などの口頭発話を提供することができ、それに応答して、モバイルコンピューティングデバイスは、ユーザのロケーションのほうへナビゲートし、モバイルコンピューティングデバイスのディスプレイパネルの角度を調整し、ユーザの予定を特徴付けるディスプレイコンテンツをレンダリングすることができる。しかしながら、ユーザが、オーディオコンテンツ(たとえば、対応するディスプレイコンテンツを伴わない、オーディオコンテンツ)を要求し、モバイルコンピューティングデバイスが、モバイルコンピューティングデバイスの現在のロケーションが、オーディオコンテンツがユーザにとって可聴になる距離に対応すると決定するとき、モバイルコンピューティングデバイスは、ユーザまでナビゲートすることをバイパスすることができる。モバイルコンピューティングデバイスが、可聴オーディオコンテンツをレンダリングするための距離内ではないときの事例では、モバイルコンピューティングデバイスは、ユーザのロケーションを決定し、少なくとも、モバイルコンピューティングデバイスが可聴オーディオコンテンツをレンダリングするための特定の距離内になるまで、ユーザのほうへナビゲートすることができる。
【0004】
モバイルコンピューティングデバイスが、コンテンツをレンダリングするための、モバイルコンピューティングデバイスの部分を配置するために、モバイルコンピューティングデバイスのモーターをどのように動作させるかを決定するために、モバイルコンピューティングデバイスは、1つまたは複数のセンサーに基づくデータを処理することができる。たとえば、モバイルコンピューティングデバイスは、異なる方向から発生する音に応答する、1つまたは複数のマイクロフォン(たとえば、マイクロフォンのアレイ)を含み得る。1つまたは複数のプロセッサは、マイクロフォンからの出力を処理して、モバイルコンピューティングデバイスに対する音の出所を決定することができる。このようにして、モバイルコンピューティングデバイスが、ユーザにより近接してレンダリングされるべきであるコンテンツを、ユーザが要求したと決定するならば、モバイルコンピューティングデバイスは、マイクロフォンからの出力に基づいて決定されるような、ユーザのロケーションまでナビゲートすることができる。モバイルコンピューティングデバイスがこのように動くことを可能にすることによって、情報および/または他のメディアのために、コンピューティングデバイスまで効率的にナビゲートすることができないことがある、障害のあるユーザに安心感を与えることができる。さらに、モバイルコンピューティングデバイスが、いつユーザまでナビゲートするか、およびいつそうしないかに関して、決定することができるので、少なくとも、コンテンツをレンダリングするとき、モバイルコンピューティングデバイスは、電力および他の計算リソースを保護することができる。たとえば、モバイルコンピューティングデバイスが、レンダリングされることになるコンテンツのタイプに関して無差別にユーザまでナビゲートした場合、モバイルコンピューティングデバイスは、ユーザまでナビゲートせずに、コンテンツをレンダリングすることのみと比較して、ユーザまでナビゲートするのにより電力を消費し得る。その上、そのようにする必要がないとき、最初にユーザまでナビゲートすることなく、コンテンツをレンダリングすることによって、そのコンテンツのレンダリングにおいて、必要とされない遅延を回避することができる。
【0005】
いくつかの実装形態では、モバイルコンピューティングデバイスは、上部ハウジングエンクロージャモーターを介して調整可能である閲覧角を有し得る、ディスプレイパネルを含む、上部ハウジングエンクロージャを含み得る。たとえば、モバイルコンピューティングデバイスが、ユーザが口頭発話を提供しており、ディスプレイパネルがユーザに向けられるために、ディスプレイパネルの閲覧角が調整されるべきであると決定するとき、上部ハウジングエンクロージャモーターは、ディスプレイパネルの位置を調整することができる。モバイルコンピューティングデバイスが、特定のコンテンツのレンダリングを完了したとき、上部ハウジングエンクロージャモーターは、静止位置に戻るように、ディスプレイパネルを動かすことができ、それによって、ディスプレイパネルがユーザの方向のほうへ調整されたときよりも、少ないスペースを消費することができる。
【0006】
いくつかの実装形態では、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスの1つまたは複数の部分を各々収容することができる、中間ハウジングエンクロージャ、および/または下部ハウジングエンクロージャをさらに含み得る。たとえば、中間ハウジングエンクロージャ、および/または下部ハウジングエンクロージャは、モバイルコンピューティングデバイスの周囲環境の画像を取り込むための、1つまたは複数のカメラを含み得る。モバイルコンピューティングデバイスのカメラの出力に基づいて生成された画像データは、ユーザがモバイルコンピューティングデバイスにいくつかのコマンドを提供するとき、モバイルコンピューティングデバイスがそのロケーションのほうへナビゲートすることを可能にするために、ユーザのロケーションを決定するために使用され得る。いくつかの実装形態では、中間ハウジングエンクロージャ、および/または下部ハウジングエンクロージャは、モバイルコンピューティングデバイスがスリープモードにおいて動作中であるとき、上部ハウジングエンクロージャの下に位置することができ、中間ハウジングエンクロージャ、および/または下部ハウジングエンクロージャは、スリープモードから出るように遷移するとき、上部ハウジングエンクロージャを含む、モバイルコンピューティングデバイスを再配置するための、1つまたは複数のモーターを含み得る。たとえば、ユーザによる「アシスタント...」などの呼出しフレーズの提供に応答して、モバイルコンピューティングデバイスは、スリープモードから出て、動作モードに入るように遷移する。遷移中に、モバイルコンピューティングデバイスの1つまたは複数のモーターは、カメラおよび/またはディスプレイパネルが、ユーザのほうへ向けられることを引き起こすことができる。いくつかの実装形態では、1つまたは複数のモーターのうちのモーターの第1のセットは、カメラの向きを制御することができ、1つまたは複数のモーターのうちのモーターの第2のセットは、ディスプレイパネルの別個の向きを制御することができる。このようにして、カメラは、ディスプレイパネルの向きに対して、別個の向きを有し得る。追加または代替として、カメラは、1つまたは複数のモーターの動きに従って、ディスプレイパネルの向きに対して、同じ向きを有し得る。
【0007】
さらに、モバイルコンピューティングデバイスのコンパクト配置から、モバイルコンピューティングデバイスの拡張配置への遷移中に、モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンは、ユーザからのさらなる入力について監視することができる。モバイルコンピューティングデバイスの1つまたは複数のモーターの動作中に、さらなる入力が、ユーザによって提供されるとき、モーターからのノイズが、ユーザからの口頭入力のいくつかの周波数を妨害することがある。したがって、モバイルコンピューティングデバイスのマイクロフォンによって取り込まれた音の品質への悪影響を除去するために、モバイルコンピューティングデバイスは、ユーザが後続の口頭発話を提供中である間、モバイルコンピューティングデバイスの1つまたは複数のモーターの動作を修正し、かつ/または休止させることができる。
【0008】
たとえば、ユーザが「アシスタント...」という呼出しフレーズを提供した後に、および、モバイルコンピューティングデバイスのモーターが、ユーザの方向のほうへ、ディスプレイパネルを拡張するように動作中である間、ユーザは、後続の口頭発話を提供することができる。後続の口頭発話は、「...家の前のセキュリティカメラを見せて」であることがあり、それによって、自動アシスタントが、セキュリティカメラからのライブストリーミングビデオを閲覧するためのアプリケーションを呼び出すことを引き起こすことができる。しかしながら、ユーザが後続の口頭発話を提供中である間に、モバイルコンピューティングデバイスのモーターが動作中であるので、モバイルコンピューティングデバイスは、ユーザが口頭発話を提供中であると決定し、それに応答して、モバイルコンピューティングデバイスの1つまたは複数のモーターの1つまたは複数の動作を修正することができる。たとえば、モバイルコンピューティングデバイスは、口頭発話を特徴付けるオーディオデータを生成するとき、モバイルコンピューティングデバイスを妨害するようになるモーターノイズを除去するために、ディスプレイパネルがユーザの方向に拡張することを引き起こしているモーターの動作を停止することができる。モバイルコンピューティングデバイスが、口頭発話がもはやユーザによって提供されていない、かつ/またはさもなければ完了していると決定するとき、モバイルコンピューティングデバイスの1つまたは複数のモーターの動作は、継続することができる。
【0009】
モバイルコンピューティングデバイスの各モーターは、モバイルコンピューティングデバイスのいくつかの動作を実現するために、様々なタスクを実施することができる。いくつかの実装形態では、モバイルコンピューティングデバイスの下部ハウジングエンクロージャは、モバイルコンピューティングデバイスをロケーションまでナビゲートするための、1つまたは複数のホイール(たとえば、円筒形ホイール、ボールホイール、メカナムホイールなど)に接続されている、1つまたは複数のモーターを含み得る。下部ハウジングエンクロージャはまた、モバイルコンピューティングデバイスの中間ハウジングエンクロージャを動かす(たとえば、中間ハウジングエンクロージャを、下部ハウジングエンクロージャの表面に垂直である軸の周りで回転させる)ための、1つまたは複数の他のモーターを含み得る。
【0010】
いくつかの実装形態では、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスがユーザからの入力を受信中であることを示すために、1つまたは複数の異なる応答ジェスチャーを実施し、それによって、入力に確認応答することができる。たとえば、ユーザからの口頭発話の検出に応答して、モバイルコンピューティングデバイスは、ユーザがモバイルコンピューティングデバイスのカメラの閲覧範囲内であるか否かを決定することができる。ユーザがカメラの閲覧範囲内である場合、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスによる物理的な動きを呼び出すために、1つまたは複数のモーターを動作させ、それによって、モバイルコンピューティングデバイスが入力に確認応答中であることを、ユーザに示すことができる。
【0011】
上記の説明は、本開示のいくつかの実装形態の概観として提供される。それらの実装形態、および他の実装形態のさらなる説明について、以下でより詳細に説明する。
【0012】
他の実装形態は、上記および/または本明細書の他の場所で説明する方法のうちの1つまたは複数などの方法を実施するために、1つまたは複数のプロセッサ(たとえば、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、および/またはテンソル処理ユニット(TPU))によって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体を含み得る。また他の実装形態は、上記および/または本明細書の他の場所で説明する方法のうちの1つまたは複数などの方法を実施するために、記憶された命令を実行するように動作可能な、1つまたは複数のプロセッサを含む、1つまたは複数のコンピュータ、および/あるいは1つまたは複数のロボットのシステムを含み得る。
【0013】
本明細書でより詳細に説明する上記の概念および追加の概念のすべての組合せが、本明細書で開示する主題の一部であるとして企図されることを諒解されたい。たとえば、本開示の最後に現れる請求される主題のすべての組合せが、本明細書で開示する主題の一部であるとして企図される。
【図面の簡単な説明】
【0014】
【
図1A】1人または複数のユーザからのコマンドに応答して、自律的および選択的にナビゲートする、モバイルコンピューティングデバイスの図である。
【
図1B】1人または複数のユーザからのコマンドに応答して、自律的および選択的にナビゲートする、モバイルコンピューティングデバイスの図である。
【
図1C】1人または複数のユーザからのコマンドに応答して、自律的および選択的にナビゲートする、モバイルコンピューティングデバイスの図である。
【
図2】ユーザが、モバイルコンピューティングデバイスを介してアクセス可能である自動アシスタントからの応答を呼び出すために、モバイルコンピューティングデバイスに口頭発話を提供する図である。
【
図3】ユーザが、モバイルコンピューティングデバイスがユーザまでナビゲートすること、およびグラフィカルコンテンツを保護するために、モバイルコンピューティングデバイスの異なるハウジングエンクロージャをユーザのほうへ配置することを引き起こす、口頭発話を提供する図である。
【
図4】ユーザが、ユーザから任意の追加の口頭発話を取り込むために、ナビゲーション中に間欠的に休止することができる、モバイルコンピューティングデバイスに、口頭発話を提供する図である。
【
図5】自動アシスタントへのアクセスを提供し、口頭発話に応答して、ユーザのほうへ、および/またはユーザから離れるように自律的に移動する、コンピューティングデバイスを動作させるためのシステムをさらに示す図である。
【
図6】口頭発話に応答して、ユーザまで選択的および自律的にナビゲートする、モバイルコンピューティングデバイスにおいて、コンテンツをレンダリングするための方法を示す図である。
【
図7】例示的なコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0015】
図1A、
図1B、および
図1Cは、1人または複数のユーザからのコマンドに応答して、自律的および選択的にナビゲートする、モバイルコンピューティングデバイス102の図を示す。具体的には、
図1Aは、モバイルコンピューティングデバイス102のハウジングエンクロージャが、互いに最も近接することができる、折り畳み状態における、モバイルコンピューティングデバイス102の斜視
図100を示す。いくつかの実装形態では、モバイルコンピューティングデバイス102は、限定はしないが、第1のハウジングエンクロージャ106、第2のハウジングエンクロージャ108、および/または第3のハウジングエンクロージャ110のうちの1つまたは複数を備える、1つまたは複数のハウジングエンクロージャを含み得る。ハウジングエンクロージャのうちの1つまたは複数は、特定の位置に、および/または特定の行き先のほうへ、特定のハウジングエンクロージャを動かすための、1つまたは複数のモーターを含み得る。
【0016】
いくつかの実装形態では、第1のハウジングエンクロージャ106は、モバイルコンピューティングデバイス102のディスプレイパネル104の向きを調整するように動作する、1つまたは複数の第1のモーター(すなわち、単一のモーター、または複数のモーター)を含み得る。第1のハウジングエンクロージャ106の第1のモーターは、モバイルコンピューティングデバイス102の1つまたは複数のプロセッサによって制御されることがあり、モバイルコンピューティングデバイス102のポータブル電源によって電力供給され得る。ポータブル電源は、バッテリーおよび/またはキャパシタなど、充電式電源であることがあり、モバイルコンピューティングデバイス102の電力管理回路は、モバイルコンピューティングデバイス102の第1のモーター、および/または任意の他のモーターに、電力を提供するために、ポータブル電源の出力を調整することができる。モバイルコンピューティングデバイス102の動作中に、モバイルコンピューティングデバイス102は、ユーザからの入力を受信し、ユーザに提供するための応答を決定することができる。応答がディスプレイコンテンツを含むとき、第1のモーターは、ディスプレイパネル104を、ユーザに向けられるように調整することができる。たとえば、
図1Bの
図120に示されているように、ディスプレイパネル104は、第1のハウジングエンクロージャ106と第2のハウジングエンクロージャ108との間の分離の角度124を増大させる方向に動かされ得る。しかしながら、応答が、対応するディスプレイコンテンツを提供することなく、オーディオコンテンツを含むとき、モバイルコンピューティングデバイス102は、第1のモーターがディスプレイパネル104の向きを調整することなく、(
図1Aに示されるような)圧縮状態のままであり得る。
【0017】
いくつかの実装形態では、第2のハウジングエンクロージャ108は、第3のハウジングエンクロージャ110に対して、第1のハウジングエンクロージャ106、および/または第2のハウジングエンクロージャ108の向きを動かすための、1つまたは複数の第2のモーターを含み得る。たとえば、
図1Cの
図130に示されているように、1つまたは複数の第2のモーターは、第2のハウジングエンクロージャ108の表面に垂直である軸132の周りで、第1のハウジングエンクロージャ106を動かす、モーターを含み得る。したがって、第1のハウジングエンクロージャ106において組み入れられた第1のモーターは、第1のハウジングエンクロージャ106と第2のハウジングエンクロージャ108との間の分離の角度を修正することができ、第2のハウジングエンクロージャ108において組み入れられた第2のモーターは、軸132の周りで、第1のハウジングエンクロージャ106を回転させることができる。
【0018】
いくつかの実装形態では、モバイルコンピューティングデバイス102は、第1のハウジングエンクロージャ106、第2のハウジングエンクロージャ108、および/もしくは第3のハウジングエンクロージャ110を動かし、かつ/または1つもしくは複数の異なる行き先まで、モバイルコンピューティングデバイス102をナビゲートすることも行う、1つまたは複数の第3のモーターを含む、第3のハウジングエンクロージャ110を含み得る。たとえば、第3のハウジングエンクロージャ110は、別の軸134の周りで、第2のハウジングエンクロージャ108を動かすための、1つまたは複数のモーターを含み得る。別の軸134は、第3のハウジングエンクロージャ110内に封入されている第3のモーターに取り付けられ得る、回転可能プレート128と交差することができる。さらに、回転可能プレート128は、アーム126に接続されることがあり、その上に、第2のハウジングエンクロージャ108が搭載され得る。いくつかの実装形態では、第2のハウジングエンクロージャ108内に封入された第2のモーターは、アーム126に接続されることがあり、アーム126は、第3のハウジングエンクロージャ110と第2のハウジングエンクロージャ108との間の分離の角度136が調整されることを可能にするための支点として動作することができる。
【0019】
いくつかの実装形態では、モバイルコンピューティングデバイス102は、別のアーム126を含むことがあり、別のアーム126は、第1のハウジングエンクロージャ106と第2のハウジングエンクロージャ108との間の分離の角度124を調整することで、第2のモーターを支援する、別の支点、または他の装置として動作することができる。モバイルコンピューティングデバイス102の配置は、モバイルコンピューティングデバイス102、および/または別のコンピューティングデバイスが入力を受信した環境に依存し得る。たとえば、いくつかの実装形態では、モバイルコンピューティングデバイス102は、異なる方向に向けられている、1つまたは複数のマイクロフォンを含み得る。たとえば、モバイルコンピューティングデバイス102は、第1の方向に向けられた、1つまたは複数のマイクロフォン114の第1のセットと、第1の方向とは異なる第2の方向に向けられた、1つまたは複数のマイクロフォン116の第2のセットとを含み得る。マイクロフォンは、第2のハウジングエンクロージャ108、および/または任意の他のハウジングエンクロージャ、もしくはハウジングエンクロージャの組合せに取り付けられ得る。
【0020】
モバイルコンピューティングデバイス102が、ユーザから入力を受信するとき、1つまたは複数のマイクロフォンからの信号は、モバイルコンピューティングデバイス102に対するユーザのロケーションを決定するために、処理され得る。ロケーションが決定されるとき、モバイルコンピューティングデバイス102の1つまたは複数のプロセッサは、モバイルコンピューティングデバイス102の1つまたは複数のモーターが、マイクロフォン116の第2のセットがユーザに向けられるように、ハウジングエンクロージャを配置することを引き起こすことができる。さらに、いくつかの実装形態では、モバイルコンピューティングデバイス102は、1つまたは複数のカメラ112を含み得る。カメラ112は、第2のハウジングエンクロージャ、および/または任意の他のハウジングエンクロージャ、もしくはハウジングエンクロージャの組合せに取り付けられ得る。モバイルコンピューティングデバイス102による、入力の受信、およびユーザのロケーションの決定に応答して、1つまたは複数のプロセッサは、1つまたは複数のモーターが、カメラ112がユーザに向けられるように、モバイルコンピューティングデバイス102を配置することを引き起こすことができる。
【0021】
非限定的な一例として、モバイルコンピューティングデバイス102は、モバイルコンピューティングデバイスが、子供よりも高いことがあるテーブルの上にある間に、子供が口頭発話をモバイルコンピューティングデバイス102に向けたと決定することができる。口頭発話の受信に応答して、モバイルコンピューティングデバイス102は、モバイルコンピューティングデバイス102に対する子供のロケーションを決定するために、マイクロフォン114、マイクロフォン116、および/またはカメラ112のうちの1つまたは複数からの信号を使用することができる。いくつかの実装形態では、オーディオ信号および/またはビデオ信号の処理は、モバイルコンピューティングデバイス102が接続されるネットワークを介して、リモートサーバなどのリモートデバイスにオフロードされ得る。モバイルコンピューティングデバイス102は、その処理に基づいて、解剖学的特徴(たとえば、目、耳、顔、口、および/または任意の他の解剖学的特徴)がテーブルの下に位置すると決定することができる。したがって、ディスプレイパネル104をユーザに向けるために、モバイルコンピューティングデバイス102の1つまたは複数のモーターは、テーブルの下である方向に、ディスプレイパネル104を配置することができる。
【0022】
図2は、ユーザ202が、モバイルコンピューティングデバイス204を介してアクセス可能である自動アシスタントからの応答を呼び出すために、モバイルコンピューティングデバイス204に口頭発話を提供する
図200である。具体的には、ユーザ202は、口頭発話210を提供することができ、口頭発話210は、モバイルコンピューティングデバイス204の1つまたは複数のマイクロフォンを介して取り込まれ得る。モバイルコンピューティングデバイス204、および/またはモバイルコンピューティングデバイス204と通信しているコンピューティングデバイスは、口頭発話210を特徴付けるオーディオデータを処理することができる。その処理に基づいて、モバイルコンピューティングデバイス204は、ユーザ202によって要求されている1つまたは複数のアクションを決定することができる。さらに、モバイルコンピューティングデバイス204は、1つまたは複数のアクションの実行が、モバイルコンピューティングデバイス204のディスプレイパネルにおいて、グラフィカルコンテンツをレンダリングすることを伴うか否かを決定することができる。1つまたは複数のアクションが、ユーザ202のためのグラフィカルコンテンツをレンダリングすることを伴わないとき、モバイルコンピューティングデバイス204は、いくつかの実装形態では、ユーザ202が位置する部屋206内で、カウチ208などの障害物を避けてナビゲートすることを、バイパスすることができる。
【0023】
代わりに、モバイルコンピューティングデバイス204は、1つまたは複数のアクションが、オーディオコンテンツをレンダリングすることを伴うと決定し、ユーザ202が、ユーザ202のための可聴コンテンツを有効にレンダリングするための距離内に位置するか否かをさらに決定することができる。言い換えれば、モバイルコンピューティングデバイス204は、ユーザ202が、モバイルコンピューティングデバイス204において生成された任意のオーディオ出力を聞くために、モバイルコンピューティングデバイス204に十分に近接して位置するか否かを決定することができる。ユーザ202が、オーディオコンテンツを可聴的にレンダリングするための距離内である場合、モバイルコンピューティングデバイス204は、ユーザ202により近づくようにナビゲートすることをバイパスすることができる。しかしながら、ユーザが、オーディオコンテンツを可聴的にレンダリングするための距離内ではない場合、モバイルコンピューティングデバイス204は、ユーザ202のロケーションにより近づくようにナビゲートするために、モバイルコンピューティングデバイス204の1つまたは複数のモーターを制御することができる。
【0024】
モバイルコンピューティングデバイス204が、ユーザ202のためのオーディオコンテンツを可聴的にレンダリングするための距離に到達するか、またはさもなければ、モバイルコンピューティングデバイス204が、すでにオーディオコンテンツを可聴的にレンダリングするための距離内であると決定するとき、モバイルコンピューティングデバイス204は、応答出力212を提供することができる。たとえば、口頭発話が、「アシスタント、今日の私の予定はどうなっている?」などの自然言語コンテンツを含むとき、自動アシスタントは、「オーケー、あなたは、A.M.9:00に、コーヒーを飲むためにレニーと会う予定で、A.M.11:30に、ソルおよびダレンとゲームをプレイする予定です」などの応答出力を提供することができる。このようにして、ユーザ202によって要求された1つまたは複数のアクションに応じて、ユーザ202まで選択的にナビゲートすること、またはナビゲートしないことによって、電力が、モバイルコンピューティングデバイス204において節約され得る。さらに、ユーザ202が、モバイルコンピューティングデバイス204に到達することができないとき、ユーザ202までナビゲートし、応答を提供するための、モバイルコンピューティングデバイス204の能力によって、ユーザ202がいくつかの状況において行っていることを停止する必要をなくすことができる。
【0025】
図3は、ユーザ302が、モバイルコンピューティングデバイス304がユーザ302までナビゲートすること、およびグラフィカルコンテンツを保護するために、モバイルコンピューティングデバイス304の異なるハウジングエンクロージャをユーザ302のほうへ配置することを引き起こす、口頭発話310を提供する
図300を示す。モバイルコンピューティングデバイス304は、ユーザ302が、特定のタイプのコンテンツがユーザ302に提供されることを要求中であるか否かに従って、ユーザ302まで選択的にナビゲートすることができる。たとえば、
図2において提供されたように、モバイルコンピューティングデバイス204は、ユーザがオーディオコンテンツを要求しており、モバイルコンピューティングデバイス204が、ユーザ202がユーザ202のためのオーディオコンテンツを可聴的にレンダリングするためのしきい値距離内であると決定したとき、ユーザ202までナビゲートすることをバイパスすることができる。しかしながら、ユーザが、
図3におけるものなど、グラフィカルコンテンツを要求するとき、モバイルコンピューティングデバイス304は、モバイルコンピューティングデバイス304のディスプレイパネルにおいて、グラフィカルコンテンツを提示するために、ユーザ302までナビゲートすることができる。
【0026】
たとえば、
図3において提供されたように、ユーザ302は、「アシスタント、昨日のセキュリティビデオを見せて」などの口頭発話310を提供することができる。口頭発話310の受信に応答して、モバイルコンピューティングデバイス304は、口頭発話を特徴付けるオーディオデータを生成し、モバイルコンピューティングデバイス304において、オーディオデータを処理し、かつ/または処理のために、別のコンピューティングデバイスにオーディオデータを送信することができる。オーディオデータの処理に基づいて、モバイルコンピューティングデバイス304は、ユーザ302が、モバイルコンピューティングデバイス304、および/または任意の他のディスプレイ対応デバイスがユーザ302のためのセキュリティビデオの再生を提供することを要求中であると決定することができる。この決定に基づいて、モバイルコンピューティングデバイス304は、モバイルコンピューティングデバイス304に対するユーザ302のロケーションを決定することができる。追加として、または場合によっては、モバイルコンピューティングデバイス304は、モバイルコンピューティングデバイス304がユーザ302に到達するために良好にナビゲートする、部屋306において存在する、1つまたは複数の障害物を識別することができる。たとえば、モバイルコンピューティングデバイス304のカメラを介して取り込まれた画像データを使用することによって、カウチ308が、ユーザ302をモバイルコンピューティングデバイス304から分離していると決定することができる。この画像データを使用して、モバイルコンピューティングデバイス304、および/または画像データを処理するリモートコンピューティングデバイスは、ユーザ302に到達するためのルート312を生成することができる。
【0027】
いくつかの実装形態では、モバイルコンピューティングデバイス304は、他のコンピューティングデバイスが接続される先のローカルネットワークに接続され得る。モバイルコンピューティングデバイス304が、モバイルコンピューティングデバイス304が1つまたは複数の障害物のために、ユーザ302までナビゲートすることができない、かつ/または、しきい値時間量内にユーザまでナビゲートすることができないと決定するとき、モバイルコンピューティングデバイス304を介してアクセス可能な自動アシスタントは、ローカルエリアネットワーク上で接続される他のディスプレイ対応デバイスを識別することができる。たとえば、自動アシスタントは、テレビ314がユーザ302と同じ部屋に位置すると決定し、また、モバイルコンピューティングデバイス304がユーザに到達することができないと決定することができる。これらの決定に基づいて、自動アシスタントは、要求されたディスプレイコンテンツが、テレビ314、および/または部屋306内に位置し、ディスプレイ対応である、任意の他のコンピューティングデバイスにおいてレンダリングされることを引き起こすことができる。
【0028】
しかしながら、モバイルコンピューティングデバイス304が、ユーザ302に到達するために、ルート312までナビゲートすることができるとき、モバイルコンピューティングデバイス304は、ユーザ302に到達するとき、および/または、モバイルコンピューティングデバイス304がユーザ302のロケーションへ向かう途中であるとき、ユーザ302の1つまたは複数の解剖学的特徴を識別することができる。たとえば、モバイルコンピューティングデバイス304が、ユーザ302に到達するために、ルート312をナビゲート中であるとき、モバイルコンピューティングデバイス304は、ユーザ302がモバイルコンピューティングデバイス304のカメラの閲覧ウィンドウ内であると決定することができる。この決定に応答して、モバイルコンピューティングデバイス304は、ユーザ302の目、口、および/または耳を識別するために、カメラを介して取り込まれた画像データを使用することができる。ユーザ302のこれらの解剖学的特徴のうちの1つまたは複数の識別に基づいて、モバイルコンピューティングデバイス304は、モバイルコンピューティングデバイス304の1つまたは複数のモーターが、ユーザ302の方向のほうへ、モバイルコンピューティングデバイス304のディスプレイパネルを動かすことを引き起こすことができる。
【0029】
たとえば、ディスプレイパネルが、モバイルコンピューティングデバイス304の第1のハウジングエンクロージャに接続されるとき、モバイルコンピューティングデバイス304の1つまたは複数の第1のモーターは、第1のハウジングエンクロージャと第2のハウジングエンクロージャとの間の分離の角度が増大することを引き起こすことができる。さらに、モバイルコンピューティングデバイス304に対する、ユーザ302の解剖学的特徴の決定されたロケーションに基づいて、モバイルコンピューティングデバイス304の1つまたは複数のモーターは、ディスプレイパネルがユーザ302によってより容易に閲覧可能であるように、モバイルコンピューティングデバイス304の高さをさらに上げることができる。たとえば、モバイルコンピューティングデバイス304の1つまたは複数の第2のモーターは、モバイルコンピューティングデバイス304の第2のハウジングエンクロージャが、モバイルコンピューティングデバイス304の第3のハウジングエンクロージャに対する、増大された分離の角度を有することを引き起こすことができる。これらの分離の角度における増大によって、モバイルコンピューティングデバイス304が圧縮状態から展開状態であるように変形することを引き起こし、それによって、モバイルコンピューティングデバイス304の高さを上げることができる。モバイルコンピューティングデバイス304が、口頭発話310に従って、グラフィカルコンテンツのレンダリングを完了したとき、モバイルコンピューティングデバイス304は、モバイルコンピューティングデバイス304の充電式電源の蓄積されたエネルギーを蓄えておくために、折り畳み状態に戻ることができる。
【0030】
図4は、ユーザ402が、ユーザ402から任意の追加の口頭発話を取り込むために、ナビゲーション中に間欠的に休止することができる、モバイルコンピューティングデバイス404に、口頭発話を提供する
図400を示す。モバイルコンピューティングデバイス404は、自動アシスタントへのアクセスを提供することができ、自動アシスタントは、1人または複数のユーザからの様々な異なる入力に応答することができる。ユーザ402は、口頭発話を提供することができ、口頭発話は、モバイルコンピューティングデバイス404、および/またはモバイルコンピューティングデバイス404に関連付けられる別のコンピューティングデバイスにおいて処理され得る。モバイルコンピューティングデバイス404は、1つまたは複数のマイクロフォンを含むことがあり、1つまたは複数のマイクロフォンは、ユーザからの口頭入力に応答して、出力信号を提供することができる。さもなければ口頭入力に影響を及ぼすことがあるノイズを除去するために、モバイルコンピューティングデバイス404は、モバイルコンピューティングデバイス404の1つまたは複数のモーターが動作中であるとき、ユーザ402が口頭入力を提供中であるか否かを決定することができる。1つまたは複数のモーターが動作中である間に、口頭発話が提供されているとの決定に応答して、モバイルコンピューティングデバイス404は、1つまたは複数のモーターによって生成されるノイズの量を低減するために、1つまたは複数のモーターが低電力状態に入ることを引き起こすことができる。
【0031】
たとえば、ユーザ402は、「アシスタント、私の兄弟にビデオ通話をかけて...」などの口頭発話410を提供することができ、モバイルコンピューティングデバイス404は、口頭発話410を受信し、口頭発話410がカメラおよび/またはグラフィカルコンテンツのレンダリングを伴うアクションに対応すると決定することができる。アクションが、モバイルコンピューティングデバイス404のカメラ、およびグラフィカルコンテンツのレンダリングを伴うとの決定に応答して、モバイルコンピューティングデバイス404は、ユーザ402のロケーションのほうへナビゲートすることができる。モバイルコンピューティングデバイス404がルートの第1の部分412を通過するとき、ユーザ402は、「...そしてまた、家のアラームをしっかりかけて」など、後続の口頭発話410を提供することができる。ルートの第1の部分412を通過しながら、モバイルコンピューティングデバイス404は、ユーザ402が後続の口頭発話を提供中であると決定することができる。それに応答して、モバイルコンピューティングデバイス404は、モバイルコンピューティングデバイス404の1つまたは複数のモーターが、モバイルコンピューティングデバイス404がルートの第1の部分412を通過中であったときに、それにおいて1つまたは複数のモーターが動作中であった電力状態と比較して、低電力状態に入ることを引き起こすことができる。たとえば、1つまたは複数のモーターは、それらのそれぞれの動作を休止させ、それによって、モバイルコンピューティングデバイス404が、ユーザ402のためのルートの第1の部分412の後に休止することを引き起こすことができる。
【0032】
モバイルコンピューティングデバイス404、および/または自動アシスタントは、後で口頭発話が完了した、かつ/またはさもなければ、もはやモバイルコンピューティングデバイス404に向けられていないと決定し、モバイルコンピューティングデバイス404は、ユーザ402のロケーションのほうへ、ルートの第2の部分414を通過することに進むことができる。ルートの第2の部分414は、カウチ408および/または他の障害物を含む、部屋406中をナビゲートすることを含み得る。モバイルコンピューティングデバイス404は、カメラを使用して、そのような障害物、ならびにユーザからの事前許可とともに、ユーザ402を識別することができる。いくつかの実装形態では、モバイルコンピューティングデバイス404が、ルートの第2の部分414を通過中である間に、自動アシスタントは、ユーザ402によって要求された他のアクションの実施を初期化することができる。具体的には、モバイルコンピューティングデバイス404が、ユーザ402のロケーションのほうへ、ルートの第2の部分414を通過中である間に、モバイルコンピューティングデバイス404は、家のアラームをしっかりかけることを初期化することができる。このアクションは、アクションが、ユーザが見ることを望むようになるグラフィカルコンテンツのレンダリングを伴わない、かつ/または、オーディオコンテンツがユーザ402にとって可聴になることを可能にするようになる距離において、モバイルコンピューティングデバイス404がレンダリングするように試みた、オーディオデータのレンダリングを伴わないとの決定に基づいて、初期化され得る。
【0033】
図5は、ユーザに対してあるコンテンツをレンダリングするために、ユーザまで選択的にナビゲートすること、および、ユーザがコンピューティングデバイス518に口頭発話を提供中であるか否かに従って、モーター動作をトグルすることを行うように、コンピューティングデバイス518を動作させるためのシステム500を示す。自動アシスタント504は、コンピューティングデバイス518、および/またはサーバデバイス502など、1つまたは複数のコンピューティングデバイスにおいて提供される、アシスタントアプリケーションの一部として動作することができる。ユーザは、アシスタントインターフェースを介して、自動アシスタント504と対話することができ、アシスタントインターフェースは、マイクロフォン、カメラ、タッチスクリーンディスプレイ、ユーザインターフェース、および/または、ユーザとアプリケーションとの間のインターフェースを提供することが可能な任意の他の装置であり得る。
【0034】
たとえば、ユーザは、口頭の、テキストの、および/またはグラフィカル入力をアシスタントインターフェースに提供することによって、自動アシスタント504を初期化して、自動アシスタント504が機能を実施する(たとえば、データを提供する、周辺デバイスを制御する、エージェントにアクセスする、入力および/または出力を生成するなどの)ことを引き起こすことができる。コンピューティングデバイス518は、ディスプレイデバイスを含むことがあり、ディスプレイデバイスは、ユーザがタッチインターフェースを介して、コンピューティングデバイス518のアプリケーションを制御することを可能にするための、タッチ入力および/またはジェスチャーを受信するためのタッチインターフェースを含む、ディスプレイパネルであり得る。いくつかの実装形態では、コンピューティングデバイス518は、ディスプレイデバイスを欠くことがあるが、それによって、グラフィカルユーザインターフェース出力を提供することなく、可聴ユーザインターフェース出力を提供することができる。さらに、コンピューティングデバイス518は、ユーザからの口頭自然言語入力を受信するために、マイクロフォンなどのユーザインターフェースを提供することができる。いくつかの実装形態では、コンピューティングデバイス518は、タッチインターフェースを含むことがあり、カメラがないことがあるが、場合によっては、1つまたは複数の他のセンサーを含み得る。
【0035】
コンピューティングデバイス518、および/または他のコンピューティングデバイスは、インターネットなどのネットワーク536上で、サーバデバイス502と通信中であり得る。追加として、コンピューティングデバイス518、および他のコンピューティングデバイスは、WiFiネットワークなどのローカルエリアネットワーク(LAN)上で、互いに通信中であり得る。コンピューティングデバイス518は、コンピューティングデバイス518における計算リソースを保護するために、計算タスクをサーバデバイス502にオフロードすることができる。たとえば、サーバデバイス502は、自動アシスタント504をホストすることができ、コンピューティングデバイス518は、1つまたは複数のアシスタントインターフェース520において受信された入力を、サーバデバイス502に送信することができる。しかしながら、いくつかの実装形態では、自動アシスタント504は、クライアント自動アシスタント522として、コンピューティングデバイス518においてホストされ得る。
【0036】
様々な実装形態では、自動アシスタント504のすべてまたはすべてに満たない態様は、コンピューティングデバイス518上で実装され得る。それらの実装形態のうちのいくつかでは、自動アシスタント504の態様は、コンピューティングデバイス518のクライアント自動アシスタント522を介して実装され、自動アシスタント504の他の態様を実装する、サーバデバイス502とインターフェースする。サーバデバイス502は、場合によっては、複数のスレッドを介して、複数のユーザ、およびユーザの関連付けられたアシスタントアプリケーションにサービスすることができる。自動アシスタント504のすべてまたはすべてに満たない態様が、コンピューティングデバイス518におけるクライアント自動アシスタント522を介して実装される実装形態では、クライアント自動アシスタント522は、(たとえば、オペレーティングシステムの「上に」インストールされた)コンピューティングデバイス518のオペレーティングシステムとは別個であるアプリケーションであり得るか-または代替的に、コンピューティングデバイス518のオペレーティングシステムによって直接実装され(たとえば、オペレーティングシステムのアプリケーションであるが、オペレーティングシステムと一体であると考えられ)得る。
【0037】
いくつかの実装形態では、自動アシスタント504および/またはクライアント自動アシスタント522は、入力処理エンジン506を含むことがあり、入力処理エンジン506は、コンピューティングデバイス518および/またはサーバデバイス502のための入力および/または出力を処理するために、複数の異なるモジュールを採用することができる。たとえば、入力処理エンジン506は、オーディオデータにおいて組み入れられたテキストを識別するために、アシスタントインターフェース520において受信されたオーディオデータを処理することができる、音声処理モジュール508を含み得る。オーディオデータは、たとえば、コンピューティングデバイス518における計算リソースを保護するために、コンピューティングデバイス518からサーバデバイス502に送信され得る。
【0038】
オーディオデータをテキストに変換するためのプロセスは、音声認識アルゴリズムを含むことがあり、音声認識アルゴリズムは、ニューラルネットワーク、および/または、語もしくはフレーズに対応するオーディオデータのグループを識別するための統計モデルを採用することができる。オーディオデータから変換されたテキストは、データパーシングモジュール510によってパースされ、ユーザからのコマンドフレーズを生成および/または識別するために使用され得るテキストデータとして、自動アシスタントにとって利用可能にされ得る。いくつかの実装形態では、データパーシングモジュール510によって提供された出力データは、パラメータモジュール512に提供されて、ユーザが、自動アシスタント504、および/または、自動アシスタント504によってアクセスされることが可能であるアプリケーションもしくはエージェントによって実施されることが可能な、特定のアクションおよび/またはルーチンに対応する入力を提供したか否かが決定され得る。たとえば、アシスタントデータ516は、サーバデバイス502および/またはコンピューティングデバイス518において、クライアントデータ538として記憶されることがあり、自動アシスタント504および/またはクライアント自動アシスタント522によって実施されることが可能な1つまたは複数のアクションを定義するデータ、ならびに、それらのアクションを実施するために必要なパラメータを含み得る。
【0039】
図5は、自動アシスタント504へのアクセスを提供し、口頭発話に応答して、ユーザのほうへ、および/またはユーザから離れるように自律的に移動する、コンピューティングデバイス518を動作させるためのシステム500をさらに示す。コンピューティングデバイス518は、1つまたは複数の電源526によって電力供給されることがあり、1つまたは複数の電源526は、再充電可能であることがあり、かつ/または、コンピューティングデバイス518がポータブルになることを可能にすることができる。モーター制御エンジン532は、電源526によって電力供給されることがあり、いつコンピューティングデバイス518の1つまたは複数のモーターを制御するかを決定することができる。たとえば、モーター制御エンジン532は、コンピューティングデバイス518の1つまたは複数の動作ステータスを決定し、1つまたは複数の動作ステータスを反映するために、コンピューティングデバイス518の1つまたは複数のモーターを制御することができる。たとえば、コンピューティングデバイス518が、コンピューティングデバイス518のアシスタントインターフェース520において、口頭発話を受信したとき、モーター制御エンジン532は、ユーザが口頭発話を提供中であると決定し、1つまたは複数のモーターが、コンピューティングデバイス518が口頭発話に確認応答中であることを示すことを促進するために動作することを、引き起こすことができる。1つまたは複数のモーターは、たとえば、コンピューティングデバイス518が、口頭発話を受信するとき、振動および/またはダンスすることを引き起こすことができる。代替または追加として、モーター制御エンジン532は、1つまたは複数のモーターが、コンピューティングデバイス518の接地ホイール(ground wheel)を介して、コンピューティングデバイス518を前後に動かすことを引き起こして、コンピューティングデバイス518がネットワーク上でデータをダウンロードおよび/またはアップロード中であることを示すことができる。代替または追加として、モーター制御エンジン532は、1つまたは複数のモーターが、コンピューティングデバイス518のハウジングエンクロージャを、圧縮または弛緩状態になるように配置することを引き起こし、コンピューティングデバイス518が低電力モードおよび/またはスリープモードにおいて動作中であることを示すことができる。
【0040】
スリープモードにおいて動作中であるとき、コンピューティングデバイス518は、呼出しフレーズがユーザによって話されることについて監視することができ、かつ/またはボイスアクティビティ検出を実施することができる。コンピューティングデバイスがボイスアクティビティ検出を実施中であるとき、コンピューティングデバイス518は、マイクロフォンへの入力が人間に対応するか否かを決定することができる。さらに、ボイスアクティビティ検出は、コンピューティングデバイス518が、コンピューティングデバイス518の1つまたは複数のモーターによって制御されているとき、実施され得る。いくつかの実装形態では、人間音声が検出されたか否かを決定するためのしきい値は、1つまたは複数のモーターが動作中であるときのためのしきい値と、1つまたは複数のモーターが動作中ではないときのための別のしきい値とを含み得る。たとえば、コンピューティングデバイス518がスリープモードであるとき、ボイスアクティビティ検出は、第1のしきい値に従って実施されることがあり、第1のしきい値は、入来ノイズの第1の割合が人間音声に対応するとき、満たされ得る。しかしながら、コンピューティングデバイス518がアウェイクモードであるとき、ボイスアクティビティ検出は、第2のしきい値に従って実施されることがあり、第2のしきい値は、入来ノイズの第2の割合が人間音声に対応するとき、満たされることがあり、入来ノイズの第2の割合は、入来ノイズの第1の割合よりも高い。さらに、コンピューティングデバイス518がウェイクモードであり、1つまたは複数のモーターが、コンピューティングデバイス518を再配置するため、および/またはコンピューティングデバイス518をナビゲートするために動作中であるとき、ボイスアクティビティ検出は、第3のしきい値に従って実施されることがあり、第3のしきい値は、入来ノイズの第3の割合が人間音声に対応するとき、満たされ得る。入来ノイズの第3の割合は、入来ノイズの第2の割合、および/または入来ノイズの第1の割合よりも大きい、かつ/またはそれに等しくなり得る。
【0041】
いくつかの実装形態では、コンピューティングデバイス518による、人間音声が検出されたとの決定に応答して、空間処理エンジン524は、1つまたは複数のセンサーからの入来データを処理して、どこから人間音声が来ているかを決定することができる。ユーザなど、人間音声のソースのロケーションを特徴付ける空間データは、空間処理エンジン524によって生成され、ロケーションエンジン530に通信され得る。ロケーションエンジン530は、空間データを使用して、コンピューティングデバイス518における自分の現在のロケーションから、人間音声のソースのロケーションまで、コンピューティングデバイス518をナビゲートするためのルートを生成することができる。ルートデータは、ロケーションエンジン530によって生成され、モーター制御エンジン532に通信され得る。モーター制御エンジン532は、ルートデータを使用して、ユーザおよび/または人間音声のソースのロケーションまでナビゲートするために、コンピューティングデバイス518の1つまたは複数のモーターを制御することができる。
【0042】
いくつかの実装形態では、空間処理エンジン524は、コンピューティングデバイス518の1つまたは複数のセンサーからの入来データを処理して、コンピューティングデバイス518が、可聴オーディオをレンダリングするための、人間音声のソースからの距離内に位置するか否かを決定することができる。たとえば、自動アシスタントは、ユーザからの要求を受信することができ、ユーザによって要求されている1つまたは複数のアクションを決定することができる。1つまたは複数のアクションは、コンテンツレンダリングエンジン534に通信されることがあり、コンテンツレンダリングエンジン534は、ユーザが、オーディオコンテンツがレンダリングされること、グラフィックコンテンツがレンダリングされること、および/またはオーディオコンテンツもしくはグラフィカルコンテンツのいずれかがレンダリングされることを要求中であるか否かを決定することができる。ユーザが、オーディオコンテンツがレンダリングされることを要求したとの決定に応答して、空間処理エンジン524は、コンピューティングデバイス518が、ユーザにとって可聴になるオーディオコンテンツを生成するための、ユーザからの距離内に位置するか否かを決定することができる。コンピューティングデバイス518が、コンピューティングデバイス518が可聴コンテンツを生成するための距離内ではないと決定するとき、コンピューティングデバイス518は、可聴コンテンツを生成するための距離内になるように、コンピューティングデバイス518をナビゲートするために、1つまたは複数のモーターを制御することができる。
【0043】
代替的に、ユーザが、グラフィカルコンテンツがレンダリングされることを要求したとの決定に応答して、空間処理エンジン524は、コンピューティングデバイス518が、ユーザにとって可視になるグラフィカルコンテンツを生成するための、ユーザからの別の距離内に位置するか否かを決定することができる。コンピューティングデバイス518が、コンピューティングデバイス518が可視のグラフィカルコンテンツを生成するための別の距離内ではないと決定するとき、コンピューティングデバイス518は、可視のグラフィカルコンテンツを生成するための別の距離内になるように、コンピューティングデバイス518をナビゲートするために、1つまたは複数のモーターを制御することができる。いくつかの実装形態では、ユーザとコンピューティングデバイス518との間の距離の量は、コンピューティングデバイス518がグラフィカルコンテンツをレンダリング中であるとき、グラフィカルコンテンツの特定の性質に基づき得る。たとえば、グラフィカルコンテンツが、Xサイズであるテキストを含むとき、コンピューティングデバイス518は、ユーザからのm距離内になるようにナビゲートすることができる。しかしながら、グラフィカルコンテンツが、Xサイズ未満である、Yサイズであるテキストを含むとき、コンピューティングデバイス518は、M未満である、ユーザからN距離内になるようにナビゲートすることができる。代替または追加として、ユーザとコンピューティングデバイス518との間の距離は、生成されることになるコンテンツのタイプに基づき得る。たとえば、コンピューティングデバイス518は、レンダリングされることになるグラフィカルコンテンツがビデオコンテンツを含むとき、ユーザからのH距離までナビゲートすることができ、レンダリングされることになるグラフィカルコンテンツが静止画像を含むとき、ユーザからのK距離までナビゲートすることができ、ただし、HはK未満である。
【0044】
図6は、口頭発話に応答して、ユーザまで選択的および自律的にナビゲートする、モバイルコンピューティングデバイスにおいて、コンテンツをレンダリングするための方法600を示す。方法600は、口頭発話に応答することが可能な、1つまたは複数のコンピューティングデバイス、アプリケーション、および/または任意の他の装置もしくはモジュールによって実施され得る。方法600は、口頭発話がユーザから受信されたか否かを決定する動作602を含み得る。モバイルコンピューティングデバイスは、それとともにモバイルコンピューティングデバイスがユーザからの口頭入力を検出することができる、1つまたは複数のマイクロフォンを含み得る。さらに、モバイルコンピューティングデバイスは、自動アシスタントへのアクセスを提供することができ、自動アシスタントは、ユーザによる1つまたは複数の入力の提供に応答して、アクションを初期化し、かつ/またはコンテンツをレンダリングすることができる。たとえば、ユーザは、「アシスタント、ミーガンにビデオメッセージを送って」などの口頭発話を提供することができる。モバイルコンピューティングデバイスは、口頭発話に基づいて、オーディオデータを生成し、ユーザによって要求されている1つまたは複数のアクション(たとえば、連絡先へのビデオ通話を初期化すること)を識別するために、オーディオデータが処理されることを引き起こすことができる。
【0045】
口頭発話が、モバイルコンピューティングデバイスにおいて検出されなかったとき、モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンが、口頭入力について監視され得る。しかしながら、口頭発話が受信されるとき、方法600は、動作602から動作604に進むことができる。動作604は、要求されたアクションが、グラフィカルコンテンツをレンダリングすることを伴うか否かを決定することを含み得る。グラフィカルコンテンツは、限定はしないが、アプリケーションによって提供されたメディア、ストリーミングデータ、ユーザにとってアクセス可能なカメラによって記録されたビデオ、および/または、対応するオーディオデータに関連付けられてもそうでなくてもよい、任意の他のビデオデータであり得る。たとえば、ユーザが、ビデオメッセージが別の人に提供されることを要求するとき、モバイルコンピューティングデバイスは、要求されたアクションが、グラフィカルコンテンツをレンダリングすることを伴うと決定することができ、その理由は、ビデオメッセージを生成することが、ビデオメッセージのビデオプレビューをレンダリングすること、および受信者(たとえば、「ミーガン」)のビデオストリームをレンダリングすることを伴い得るからである。
【0046】
要求されたアクションが、グラフィカルコンテンツをレンダリングすることを伴うと決定されるとき、方法600は、動作604から動作608に進むことができる。動作608は、ユーザが、グラフィカルコンテンツを知覚するための距離内、または距離にいるか否かを決定することを含み得る。すなわち、動作は、モバイルコンピューティングデバイスに対するユーザのロケーションが、距離条件を満たすか否かを決定し得る。距離条件は、あらかじめ決定されることがあり、たとえば、すべてのグラフィカルコンテンツについて固定され得る。代替的に、距離条件は、特定のグラフィカルコンテンツに応じて変動し得る(すなわち、距離条件は、グラフィカルコンテンツに基づいて決定され得る)。たとえば、大きいフォントにおいて表示され得る、基本的コンテンツのディスプレイは、詳細な、または密に提示されたコンテンツの表示と比較して、異なる距離条件に関連付けられ得る。言い換えれば、モバイルコンピューティングデバイス、および/またはモバイルコンピューティングデバイスと通信しているサーバは、データを処理して、ユーザが、モバイルコンピューティングデバイスにおいて表示されることになるグラフィカルコンテンツを知覚することができるか否かを決定することができる。たとえば、モバイルコンピューティングデバイスは、画像データを取り込むカメラを含むことがあり、画像データは、モバイルコンピューティングデバイスに対するユーザのロケーションを特徴付けることができる。モバイルコンピューティングデバイスは、画像データを使用して、モバイルコンピューティングデバイスに対するユーザの近接性を決定し、それによって、ユーザがモバイルコンピューティングデバイスのディスプレイパネルを無理なく見ることができるか否かを決定することができる。モバイルコンピューティングデバイスが、ユーザがグラフィカルコンテンツを知覚するための距離内ではない(すなわち、コンテンツに関連付けられた距離条件が満たされる)と決定するとき、方法600は、動作610に進むことができる。
【0047】
動作610は、モバイルコンピューティングデバイスが、グラフィカルコンテンツを知覚するための距離内で動くことを引き起こすことを含み得る。言い換えれば、モバイルコンピューティングデバイスは、少なくともモバイルコンピューティングデバイスが、ユーザがグラフィカルコンテンツを知覚するための距離に到達するか、または距離内に来るまで、モバイルコンピューティングデバイスをユーザのほうへナビゲートするために、1つまたは複数のモーターを動作させることができる。ユーザが、グラフィカルコンテンツを知覚する(たとえば、見る、かつ/または読むことができる)ための距離内であると決定されるとき、方法600は、動作608から動作612に進むことができる。
【0048】
要求されたアクションが、グラフィカルコンテンツをレンダリングすることを伴わないと決定されるとき、方法600は、動作604から動作606に進むことができる。動作606は、要求されたアクションが、オーディオコンテンツをレンダリングすることを伴うか否かを決定することを含み得る。オーディオコンテンツは、1人または複数のユーザにとって可聴であり得る、モバイルコンピューティングデバイス、および/または任意の他のコンピューティングデバイスからの任意の出力を含み得る。要求されたアクションが、オーディオコンテンツをレンダリングすることを伴うと決定されるとき、方法600は、606における動作から動作616に進むことができる。そうでない場合、要求されたアクションが、オーディオコンテンツおよび/またはグラフィカルコンテンツをレンダリングすることを伴わないと決定されるとき、方法600は、動作614に進むことができ、そこにおいて、1つまたは複数の要求されたアクションが、口頭発話に応答して初期化される。
【0049】
動作616は、ユーザが、オーディオコンテンツを知覚するための距離内であるか否かを決定することを含み得る。言い換えれば、モバイルコンピューティングデバイスは、ユーザが、モバイルコンピューティングデバイス、または口頭発話に応答して、オーディオコンテンツをレンダリングすることができる、別のコンピューティングデバイスにおいて生成される、オーディオを聞くことを、ユーザの現在のロケーションが可能にするようになるか否かを決定することができる。たとえば、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスに対する、ユーザのロケーションがそれから推定され得る、オーディオデータおよび/または画像データを生成することができる。モバイルコンピューティングデバイスからのユーザの推定された距離が、オーディオコンテンツを知覚するための距離内ではないとき、方法600は、動作616から動作618に進むことができる。
【0050】
動作618は、モバイルコンピューティングデバイスが、オーディオコンテンツを知覚するための距離内で動くことを引き起こすことを含み得る。代替または追加として、動作618は、1つまたは複数の他のコンピューティングデバイスが、オーディオコンテンツをレンダリングするための、ユーザからの距離内であるか否かを決定することを含み得る。したがって、別のコンピューティングデバイスが、ユーザのための可聴オーディオコンテンツをレンダリングするための距離内に位置する場合、動作616における決定は、肯定的に満たされ得るものであり、方法600は、動作620に進むことができる。そうでない場合、モバイルコンピューティングデバイスは、モバイルコンピューティングデバイスが、ユーザがモバイルコンピューティングデバイスによって生成されたオーディオコンテンツを知覚するための距離内になるように、ユーザにより近くなるように動くことができる。モバイルコンピューティングデバイスが、ユーザがオーディオコンテンツを受信するための距離内であるとき、方法600は、動作616から動作620に進むことができる。
【0051】
要求されたアクションが、グラフィカルコンテンツを伴い、モバイルコンピューティングデバイスが、ユーザがグラフィカルコンテンツを知覚するための距離内まで動いた事例では、方法600は、動作608から動作612に進むことができる。動作612は、モバイルコンピューティングデバイスが、ユーザに向けられるようにディスプレイパネルを動かすことを引き起こすことを含み得る。ディスプレイパネルは、モバイルコンピューティングデバイスの1つまたは複数のハウジングエンクロージャに取り付けられている、1つまたは複数のモーターによって制御され得る。たとえば、1つまたは複数のモーターは、第1のハウジングエンクロージャに取り付けられることがあり、ディスプレイパネルの角度を調整するように動作することができる。ユーザからの許可とともに、モバイルコンピューティングデバイス、および/または任意の他のコンピューティングデバイスにおいて取り込まれた、画像データおよび/またはオーディオデータは、ユーザの目など、ユーザの1つまたは複数の解剖学的特徴を識別するために処理され得る。解剖学的特徴の識別に基づいて、ディスプレイパネルの角度を制御する1つまたは複数のモーターは、ディスプレイパネルがユーザの解剖学的特徴のほうへグラフィカルコンテンツを投影するように、ディスプレイパネルを動かすために動作され得る。いくつかの実装形態では、モバイルコンピューティングデバイスの1つまたは複数の他のモーターは、モバイルコンピューティングデバイスのディスプレイパネルの高さをさらに調整することができる。したがって、1つまたは複数のモーター、および/あるいは1つまたは複数の他のモーターは、ユーザの視野内になるように、および/またはユーザの解剖学的特徴に向けられるように、ディスプレイパネルを動かすために、同時に動作することができる。
【0052】
モバイルコンピューティングデバイスが、ユーザに向けられるように、ディスプレイパネルを動かすことを完了したとき、方法600は、612における動作から動作620に進むことができる。動作620は、要求されたコンテンツがレンダリングされることを引き起こすこと、および/または、要求されたアクションが実施されることを引き起こすことを含み得る。たとえば、ユーザが、家におけるライトをオンにするように、自動アシスタントに要求する口頭発話を提供するとき、このアクションは、オーディオコンテンツおよび/またはディスプレイコンテンツをレンダリングすることなく、IoTデバイスを制御することを伴うことがあり、それによって、モバイルコンピューティングデバイスが、ユーザの方向のほうへ動くことをバイパスすることを可能にすることができる。しかしながら、口頭発話が、オーディオストリームおよび/またはビデオストリームがモバイルコンピューティングデバイスを介して提供されるための要求を含むとき、モバイルコンピューティングデバイスは、ユーザのほうへ動くこと、および/または、ユーザがコンテンツを知覚するための距離内であることを確認することができる。その後、モバイルコンピューティングデバイスは、次いで、ユーザのためのコンテンツをレンダリングすることができる。このようにして、さもなければ、モバイルコンピューティングデバイスがコンテンツをレンダリングすることより前に、ユーザまでナビゲートすることを、ユーザに最初に要求させることによって引き起こされ得る遅延。さらに、モバイルコンピューティングデバイスは、ユーザのためにレンダリングされることになるコンテンツのタイプに応じて、ユーザまでナビゲートするか否かを選択することによって、計算リソースを保護することができる。電力および処理帯域幅など、そのような計算リソースは、さもなければ、モバイルコンピューティングデバイスが、要求されているアクションを顧慮せずに、ユーザのほうへ無差別にナビゲートした場合、消耗され得る。
【0053】
図7は、例示的なコンピュータシステム710のブロック図である。コンピュータシステム710は、典型的には、バスサブシステム712を介していくつかの周辺デバイスと通信する、少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリ725およびファイル記憶サブシステム726を含む記憶サブシステム724と、ユーザインターフェース出力デバイス720と、ユーザインターフェース入力デバイス722と、ネットワークインターフェースサブシステム716とを含み得る。入力デバイスおよび出力デバイスは、コンピュータシステム710とのユーザ対話を可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステム内の対応するインターフェースデバイスに結合される。
【0054】
ユーザインターフェース入力デバイス722は、キーボード、およびマウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、および音声認識システム、マイクロフォンなどのオーディオ入力デバイス、ならびに/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム710に、または通信ネットワーク上に情報を入力するための、すべての可能なタイプのデバイスおよび方法を含むものとする。
【0055】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視の画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介してなど、非視覚的ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピュータシステム710からユーザに、または別のマシンもしくはコンピュータシステムに情報を出力するための、すべての可能なタイプのデバイスおよび方法を含むものとする。
【0056】
記憶サブシステム724は、本明細書で説明するモジュールの一部または全部の機能を提供する、プログラミングおよびデータ構造を記憶する。たとえば、記憶サブシステム724は、方法600の選択された態様を実施するため、かつ/あるいは、システム500、モバイルコンピューティングデバイス102、モバイルコンピューティングデバイス204、モバイルコンピューティングデバイス304、モバイルコンピューティングデバイス404、自動アシスタント、コンピューティングデバイス518、サーバデバイス502、ならびに/または、本明細書で説明する任意の他のアプリケーション、デバイス、装置、および/もしくはモジュールのうちの1つまたは複数を実装するための論理を含み得る。
【0057】
これらのソフトウェアモジュールは、一般に、プロセッサ714によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム724内で使用されるメモリ725は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)730と、固定された命令が記憶される読取り専用メモリ(ROM)732とを含む、いくつかのメモリを含み得る。ファイル記憶サブシステム726は、プログラムおよびデータファイルのための永続的記憶を提供することができ、ハードディスクドライブ、関連付けられたリムーバブル媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学ドライブ、またはリムーバブル媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、記憶サブシステム724内のファイル記憶サブシステム726によって、またはプロセッサ714によってアクセス可能な他のマシン内に記憶され得る。
【0058】
バスサブシステム712は、コンピュータシステム710の様々な構成要素およびサブシステムを、意図されるように互いに通信させるための機構を提供する。バスサブシステム712は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は、複数のバスを使用し得る。
【0059】
コンピュータシステム710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、異なるタイプのものであり得る。コンピュータおよびネットワークの常に変化し続ける性質のために、
図7に示されたコンピュータシステム710についての説明は、いくつかの実装形態を例示するための具体例にすぎないものである。
図7に示されたコンピュータシステムよりも多いかまたは少ない構成要素を有する、コンピュータシステム710の多数の他の構成が可能である。
【0060】
本明細書で説明するシステムが、ユーザ(または、本明細書では「参加者」と呼ぶことが多い)についての個人情報を収集するか、または個人情報を利用することがある状況では、ユーザには、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在の地理的ロケーションについての情報)を収集するか否かを制御するため、あるいは、ユーザにより関連があり得る、コンテンツサーバからのコンテンツを受信するか否か、および/またはどのように受信するかを制御するための機会が提供され得る。また、あるデータは、個人を特定可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で扱われ得る。たとえば、ユーザのアイデンティティは、ユーザについて個人を特定可能な情報を決定することができないように扱われることがあり、または、ユーザの地理的ロケーションが一般化されることがあり、その場合、地理的ロケーション情報は、ユーザの特定の地理的ロケーションを決定することができないように(市、郵便番号、または州レベルなどまで)取得される。したがって、ユーザは、情報がユーザについてどのように収集および/または使用されるかに対する制御を有し得る。
【0061】
いくつかの実装形態について、本明細書で説明および例示したが、機能を実施し、かつ/あるいは、結果および/または本明細書で説明する利点のうちの1つもしくは複数を取得するための、様々な他の手段および/または構造が利用されてもよく、そのような変形形態および/または変更形態の各々は、本明細書で説明する実装形態の範囲内であると見なされる。より一般的には、本明細書で説明するすべてのパラメータ、寸法、材料、および構成は、例示的であるものであり、実際のパラメータ、寸法、材料、および/または構成は、そのために教示が使用される1つまたは複数の特定の適用例に依存することになる。
【0062】
当業者は、本明細書で説明する特定の実装形態の多数の均等物を認識するようになるか、またはせいぜい日常の実験を使用して確認することが可能になる。したがって、上記の実装形態は、例として提示されるにすぎず、添付の特許請求の範囲およびその均等物の範囲内で、実装形態が、具体的に説明および請求するもの以外で実施される場合があることを理解されたい。本開示の実装形態は、本明細書で説明する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法のいかなる組合せも、そのような特徴、システム、物品、材料、キット、および/または方法が互いに矛盾しない場合、本開示の範囲内に含まれる。
【0063】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンへの入力に基づいて、ユーザが口頭発話を提供したと決定することであって、モバイルコンピューティングデバイスが、エリアにわたって、モバイルコンピューティングデバイスを動かす、1つまたは複数の第1のモーターを含む、決定することなどの動作を含むものとして記載される。方法は、1つまたは複数のマイクロフォンへの入力に基づいて、自動アシスタントがモバイルコンピューティングデバイスの1つまたは複数のスピーカー、および/あるいはディスプレイパネルを介して、コンテンツをレンダリングすることに関連付けられる、アクションを実施するように、ユーザがモバイルコンピューティングデバイスに要求中であると決定することをさらに含み得る。方法は、1つまたは複数のマイクロフォンへの入力、1つまたは複数のマイクロフォンへの追加の入力、および/あるいはモバイルコンピューティングデバイスの1つまたは複数の他のセンサーに基づいて、モバイルコンピューティングデバイスに対する、ユーザのロケーションを決定することをさらに含み得る。方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツを含むとき、および、決定されたロケーションが、特定の距離条件を満たすとき、モバイルコンピューティングデバイスの第1のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを引き起こすこと、および、ディスプレイパネルが、アクションを実施することを促進するために、グラフィカルコンテンツをレンダリングすることを引き起こすことをさらに含み得る。
【0064】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、オーディオコンテンツを含むとき、モバイルコンピューティングデバイスが、ユーザのためのオーディオコンテンツを可聴的にレンダリングするための、ユーザからの距離内であるか否かを決定することをさらに含み得る。方法は、モバイルコンピューティングデバイスが、ユーザのためのオーディオコンテンツを可聴的にレンダリングするための、ユーザからの距離内ではないとき、モバイルコンピューティングデバイスが、ユーザからの距離内ではないとの決定に基づいて、モバイルコンピューティングデバイスの1つまたは複数の第1のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを引き起こすこと、および、モバイルコンピューティングデバイスの1つまたは複数のスピーカーが、アクションを実施することを促進するために、オーディオコンテンツをレンダリングすることを引き起こすことをさらに含み得る。
【0065】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツを含むとき、および、決定されたロケーションが、距離条件を満たすとき、モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、ユーザのほうへ、グラフィカルコンテンツをレンダリングすることを促進するために、モバイルコンピューティングデバイスのディスプレイパネルを動かすことを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、モバイルコンピューティングデバイスの1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが動作中であるとき、ユーザが後続の口頭発話を提供中であるか否かを決定すること、ならびに、モバイルコンピューティングデバイスの1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが動作中である間に、後続の口頭発話が受信されているとき、1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが、低減電力状態に遷移することを引き起こすことであって、低減電力状態が、1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが、1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターの、別の状態および/または前の状態よりも低い電力を消費する状態に対応する、引き起こすことをさらに含み得る。
【0066】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスの1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが動作中である間に、後続の口頭発話がもはや受信されていないとき、1つまたは複数の第1のモーター、および/あるいは1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、ディスプレイパネルを動かすこと、および/またはモバイルコンピューティングデバイスを動かすことを促進するために、低減電力状態から他の動作状態に遷移することを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、マイクロフォンへの入力の受信に応答して、およびモバイルコンピューティングデバイスのカメラを使用して、ユーザの解剖学的特徴を識別することであって、1つまたは複数の第2のモーターが、ディスプレイパネルを動かすことを引き起こすことが、ディスプレイパネルが、ユーザの解剖学的特徴に向けられることを引き起こすことを含む、識別することをさらに含み得る。いくつかの実装形態では、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、ユーザによって要求されたコンテンツの、グラフィカルコンテンツおよび/またはオーディオコンテンツへの対応に基づいて、モバイルコンピューティングデバイスの1つまたは複数の第3のモーターが、ユーザのほうへ向けられるように、モバイルコンピューティングデバイスのカメラを動かすことを引き起こすことをさらに含み得る。
【0067】
いくつかの実装形態では、ディスプレイパネルは、モバイルコンピューティングデバイスの第1のハウジングエンクロージャに搭載され、カメラは、モバイルコンピューティングデバイスの第2のハウジングエンクロージャに搭載され、1つまたは複数の第3のモーターは、モバイルコンピューティングデバイスの第3のハウジングエンクロージャ内に少なくとも部分的に封入される。いくつかの実装形態では、モバイルコンピューティングデバイスの1つまたは複数の第3のモーターが、ユーザの方向に、モバイルコンピューティングデバイスのカメラを動かすことを引き起こすことは、モバイルコンピューティングデバイスの第2のハウジングエンクロージャが、モバイルコンピューティングデバイスの第3のハウジングエンクロージャと交差する軸の周りを回転することを引き起こすことを含む。いくつかの実装形態では、第4のモーターが、第2のハウジングエンクロージャにおいて少なくとも部分的に封入され、第3のハウジングエンクロージャに対する、第2のハウジングエンクロージャの半径方向の動きを制御し、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、第4のモーターが、第2のハウジングエンクロージャが第3のハウジングエンクロージャとの分離の角度を変更するように、第2のハウジングエンクロージャの半径方向の動きを実現することを引き起こすことをさらに含む。
【0068】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、マイクロフォンへの入力の受信に応答して、およびモバイルコンピューティングデバイスのカメラを使用して、ユーザの解剖学的特徴を識別すること、ならびに、ユーザの解剖学的特徴の識別に基づいて、第3のハウジングエンクロージャに対する、第2のハウジングエンクロージャの分離の角度を決定することであって、分離の角度が、カメラがユーザの解剖学的特徴に向けられる角度に対応する、決定することをさらに含み得る。いくつかの実装形態では、第5のモーターが、第1のハウジングエンクロージャにおいて少なくとも部分的に封入され、第2のハウジングエンクロージャに対する、第1のハウジングエンクロージャの別の半径方向の動きを制御し、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、第5のモーターが、第1のハウジングエンクロージャが第2のハウジングエンクロージャとの別の分離の角度に到達するように、第1のハウジングエンクロージャの別の半径方向の動きを実現することを引き起こすことをさらに含む。
【0069】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスにおいてレンダリングされるように、ユーザによって要求されたコンテンツが、グラフィカルコンテンツおよび/またはオーディオコンテンツに対応するとき、マイクロフォンへの入力の受信に応答して、およびモバイルコンピューティングデバイスのカメラを使用して、ユーザの解剖学的特徴を識別すること、ならびに、ユーザの解剖学的特徴の識別に基づいて、第2のハウジングエンクロージャに対する、第1のハウジングエンクロージャの別の分離の角度を決定することであって、別の分離の角度が、ディスプレイパネルがユーザの解剖学的特徴に向けられる別の角度に対応する、決定することをさらに含み得る。いくつかの実装形態では、モバイルコンピューティングデバイスに対する、ユーザのロケーションを決定することは、モバイルコンピューティングデバイスの複数のマイクロフォンからの出力を使用して、ロケーションが複数の異なる人々を含むと決定すること、および、モバイルコンピューティングデバイスのカメラからの他の出力を使用して、ユーザが複数の異なる人々のうちの人々のうちの1人であると決定することを含む。いくつかの実装形態では、方法は、ディスプレイコンテンツおよび/またはオーディオコンテンツをレンダリングした後に、1つまたは複数の第2のモーターが、モバイルコンピューティングデバイスの第2のハウジングエンクロージャのほうへ、モバイルコンピューティングデバイスの第1のハウジングエンクロージャおよびディスプレイパネルを動かすことによって、モバイルコンピューティングデバイスの高さを低減することを引き起こすことをさらに含み得る。
【0070】
他の実装形態では、方法は、モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンへの入力に基づいて、ユーザがモバイルコンピューティングデバイスに口頭発話を提供したと決定することなどの動作を含むものとして記載される。方法は、モバイルコンピューティングデバイスへの口頭発話の提供に応答して、モバイルコンピューティングデバイスの1つまたは複数のモーターが、モバイルコンピューティングデバイスの第2のハウジングエンクロージャから離れるように、モバイルコンピューティングデバイスの第1のハウジングエンクロージャに取り付けられているディスプレイパネルを動かすことを引き起こすことをさらに含み得る。方法は、1つまたは複数のモーターが、第2のハウジングエンクロージャから離れるように、第1のハウジングエンクロージャを動かしている間に、別の口頭発話がモバイルコンピューティングデバイスに向けられているか否かを決定することをさらに含み得る。方法は、別の口頭発話が、モバイルコンピューティングデバイスに向けられると決定されるとき、別の口頭発話がモバイルコンピューティングデバイスに向けられている間に、1つまたは複数のモーターが、低電力状態に遷移することを引き起こすことと、モバイルコンピューティングデバイスを介してアクセス可能である自動アシスタントが、別の口頭発話に基づいて、アクションの実施を初期化することを引き起こすこととをさらに含み得る。方法は、別の口頭発話が完了し、かつ/または、もはやモバイルコンピューティングデバイスに向けられていないとき、1つまたは複数のモーターが、第2のハウジングエンクロージャから離れるように、第1のエンクロージャを動かすことを完了することを引き起こすことをさらに含み得る。
【0071】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスへの口頭発話の提供に応答して、モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを駆動することを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、別の口頭発話が、モバイルコンピューティングデバイスに向けられると決定されるとき、モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを駆動することを休止することを引き起こすこと、および、別の口頭発話が完了し、かつ/または、もはやモバイルコンピューティングデバイスに向けられていないとき、モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを駆動することを継続することを引き起こすことをさらに含み得る。
【0072】
いくつかの実装形態では、方法は、1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを駆動することを完了したとき、口頭発話および/または別の口頭発話に基づいて、モバイルコンピューティングデバイスの1つまたは複数の第3のモーターが、モバイルコンピューティングデバイスの第3のハウジングエンクロージャから離れるように、第2のハウジングエンクロージャを動かすこと、およびユーザのほうへ、モバイルコンピューティングデバイスのカメラを動かすことを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、1つまたは複数の第2のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを駆動することを完了したとき、口頭発話および/または別の口頭発話に基づいて、1つまたは複数の第4のモーターが、ディスプレイパネルをユーザに向けることを促進するために、第3のハウジングエンクロージャの表面と交差する軸の周りで、第1のハウジングエンクロージャを回転させることを引き起こすことをさらに含み得る。
【0073】
また他の実装形態では、方法は、モバイルコンピューティングデバイスの1つまたは複数のマイクロフォンへの入力に基づいて、ユーザがモバイルコンピューティングデバイスに口頭発話を提供したと決定することなどの動作を含むものとして記載される。方法は、モバイルコンピューティングデバイスへの口頭発話の提供に応答して、モバイルコンピューティングデバイスの1つまたは複数のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを引き起こすことをさらに含み得る。方法は、1つまたは複数のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かしている間に、別の口頭発話がモバイルコンピューティングデバイスに向けられているか否かを決定することをさらに含み得る。方法は、別の口頭発話が、モバイルコンピューティングデバイスに向けられると決定されるとき、別の口頭発話がモバイルコンピューティングデバイスに向けられている間に、1つまたは複数のモーターが、低電力状態に遷移することを引き起こすことと、モバイルコンピューティングデバイスを介してアクセス可能である自動アシスタントが、別の口頭発話に基づいて、アクションの実施を初期化することを引き起こすこととをさらに含み得る。方法は、別の口頭発話が完了し、かつ/または、もはやモバイルコンピューティングデバイスに向けられていないとき、1つまたは複数のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを継続することを引き起こすことをさらに含み得る。
【0074】
いくつかの実装形態では、方法は、モバイルコンピューティングデバイスへの口頭発話の提供に応答して、モバイルコンピューティングデバイスの1つまたは複数の第2のモーターが、モバイルコンピューティングデバイスの第2のハウジングエンクロージャから離れるように、モバイルコンピューティングデバイスの第1のハウジングエンクロージャに取り付けられているディスプレイパネルを動かすことを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、別の口頭発話が、モバイルコンピューティングデバイスに向けられると決定されるとき、別の口頭発話がモバイルコンピューティングデバイスに向けられている間に、1つまたは複数の第2のモーターが、低電力状態に遷移することを引き起こすことと、モバイルコンピューティングデバイスを介してアクセス可能である自動アシスタントが、別の口頭発話に基づいて、アクションの実施を初期化することを引き起こすこととをさらに含み得る。いくつかの実装形態では、方法は、別の口頭発話が完了し、かつ/または、もはやモバイルコンピューティングデバイスに向けられていないとき、1つまたは複数のモーターが、第2のハウジングエンクロージャから離れるように、第1のエンクロージャを動かすことを完了することを引き起こすことをさらに含み得る。
【0075】
いくつかの実装形態では、方法は、1つまたは複数のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを完了したとき、口頭発話および/または別の口頭発話に基づいて、モバイルコンピューティングデバイスの1つまたは複数の第3のモーターが、モバイルコンピューティングデバイスの第3のハウジングエンクロージャから離れるように、第2のハウジングエンクロージャを動かすこと、およびユーザのほうへ、モバイルコンピューティングデバイスのカメラを動かすことを引き起こすことをさらに含み得る。いくつかの実装形態では、方法は、1つまたは複数のモーターが、ユーザのロケーションのほうへ、モバイルコンピューティングデバイスを動かすことを完了したとき、口頭発話および/または別の口頭発話に基づいて、1つまたは複数の第4のモーターが、ディスプレイパネルをユーザに向けることを促進するために、モバイルコンピューティングデバイスの第3のハウジングエンクロージャの表面と交差する軸の周りで、第1のハウジングエンクロージャを回転させることを引き起こすことをさらに含み得る。
【符号の説明】
【0076】
102、204、304、404 モバイルコンピューティングデバイス
104 ディスプレイパネル
106 第1のハウジングエンクロージャ
108 第2のハウジングエンクロージャ
110 第3のハウジングエンクロージャ
112 カメラ
114、116 マイクロフォン
124、136 分離の角度
126 アーム、別のアーム
128 回転可能プレート
132 軸
134 別の軸
202、302、402 ユーザ
206、306、406 部屋
208、308、408 カウチ
210、310 口頭発話
212 応答出力
312 ルート
314 テレビ
410 口頭発話、後続の口頭発話
412 第1の部分
414 第2の部分
500 システム
502 サーバデバイス
504 自動アシスタント
506 入力処理エンジン
508 音声処理モジュール
510 データパーシングモジュール
512 パラメータモジュール
514 出力生成エンジン
516 アシスタントデータ
518 コンピューティングデバイス
520 アシスタントインターフェース
522 クライアント自動アシスタント
524 空間処理エンジン
526 電源
528 電力エンジン
530 ロケーションエンジン
532 モーター制御エンジン
534 コンテンツレンダリングエンジン
536 ネットワーク
538 クライアントデータ
710 コンピュータシステム
712 バスサブシステム
714 プロセッサ
716 ネットワークインターフェースサブシステム
720 ユーザインターフェース出力デバイス
722 ユーザインターフェース入力デバイス
724 記憶サブシステム
725 メモリ
726 ファイル記憶サブシステム
730 メインランダムアクセスメモリ(RAM)
732 読取り専用メモリ(ROM)