(57)【要約】      （修正有）【課題】ポータブルコンピューティング装置を自動車のオーディオ出力システムに接続したときにオーディオ再生をインテリジェントに判断する技術を提供する。【解決手段】ポータブルコンピューティング装置は、オーディオ出力システムとの接続がなされたことを検出し、オーディオを最後に再生した第１のオーディオ再生アプリケーションを決定し、そしてその第１のオーディオ再生アプリケーションがオーディオを最後に再生したとき、その第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生している場合には、第１のオーディオ再生アプリケーションからオーディオ再生を遂行することをシグナリングする。【選択図】図１
2018050324.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ再生をインテリジェントにシグナリングするためのポータブルコンピューティング装置による方法において、
オーディオ出力システムとの接続がなされたことを検出し、
オーディオを最後に再生した第１のオーディオ再生アプリケーションを決定し、そしてその第１のオーディオ再生アプリケーションがオーディオを最後に再生したときに、
前記第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生したかどうか決定し、及び
前記第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生したとの決定に応答して、前記オーディオ出力システムとでなされた前記接続を通して、前記第１のオーディオ再生アプリケーションから前記オーディオ出力システムへオーディオ再生をシグナリングする、
ことを含む方法。
【請求項２】
前記第１のオーディオ再生アプリケーションからオーディオ再生をシグナリングしながら、前記第１のオーディオ再生アプリケーションから第２のオーディオ再生アプリケーションへオーディオ再生の変化をユーザが指示するためにユーザインターフェイスを設けることを更に含む、請求項１に記載の方法。
【請求項３】
前記第２のオーディオ再生アプリケーションは、前記ポータブルコンピューティング装置が前記オーディオ出力システムに以前に接続されたときにオーディオを最後に再生したオーディオ再生アプリケーションである、請求項２に記載の方法。
【請求項４】
前記ポータブルコンピューティング装置が前記オーディオ出力システムに以前に接続されたときオーディオを最後に再生した第２のオーディオ再生アプリケーションを決定し、及び
前記第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生しなかったとの決定に応答して、前記オーディオ出力システムとでなされた前記接続を通して、前記第２のオーディオ再生アプリケーションから前記オーディオ出力システムへオーディオ再生をシグナリングする、
ことを更に含む、請求項１に記載の方法。
【請求項５】
前記第２のオーディオ再生アプリケーションからオーディオ再生をシグナリングしながら、前記第２のオーディオ再生アプリケーションから前記第１のオーディオ再生アプリケーションへオーディオ再生の変化をユーザが指示するためにユーザインターフェイスを設けることを更に含む、請求項４に記載の方法。
【請求項６】
前記オーディオ出力システムは乗物のヘッドユニットである、請求項１に記載の方法。
【請求項７】
再生されたコンテンツの履歴、再生されたコンテンツの再生回数又はコンテキスト情報のうちの少なくとも１つの分析に基づいて前記第１のオーディオ再生アプリケーションを使用して再生されるべき推奨コンテンツを決定し、及び
前記推奨コンテンツを含む再生キューを発生する、
ことを更に含む、請求項１に記載の方法。
【請求項８】
再生されたコンテンツの履歴、再生されたコンテンツの再生回数又はコンテキスト情報のうちの少なくとも１つの分析に基づいて前記第２のオーディオ再生アプリケーションを使用して再生されるべき推奨コンテンツを決定し、及び
前記推奨コンテンツを含む再生キューを発生する、
ことを更に含む、請求項２に記載の方法。
【請求項９】
オーディオ再生をインテリジェントに遂行するためのポータブルコンピューティング装置による方法において、
オーディオ出力システムとの接続がなされたことを検出し、
コンテキスト情報を検索し、
予想モデルを使用して、前記コンテキスト情報に基づき前記ポータブルコンピューティング装置のユーザによりアクセスされる確率が最も高い第１のオーディオ再生アプリケーションを識別し、前記予想モデルは、ユーザと前記ポータブルコンピューティング装置との相互作用履歴に基づくものであり、及び
前記オーディオ出力システムを通して前記第１のオーディオ再生アプリケーションからのオーディオ再生を開始する、
ことを含む方法。
【請求項１０】
前記第１のオーディオ再生アプリケーションからオーディオ再生を開始しながら、オーディオ再生を開始すべき第２のオーディオ再生アプリケーションをユーザが選択するためにユーザインターフェイスを与えることを更に含む、請求項９に記載の方法。
【請求項１１】
前記第２のオーディオ再生アプリケーションは、前記コンテキスト情報に基づき前記予想モデルにより識別される、前記ポータブルコンピューティング装置のユーザによりアクセスされる確率が２番目に最も高いオーディオ再生アプリケーションである、請求項１０に記載の方法。
【請求項１２】
前記ユーザインターフェイスは、選択されるべき複数のオーディオ再生アプリケーションをユーザに与える、請求項１０に記載の方法。
【請求項１３】
前記コンテキスト情報は、前記ポータブルコンピューティング装置が接続される現在のオーディオ出力システムに関する情報を含む、請求項９に記載の方法。
【請求項１４】
前記コンテキスト情報は、前記ポータブルコンピューティング装置の現在位置に関する情報を含む、請求項９に記載の方法。
【請求項１５】
前記コンテキスト情報は、現在日時に関する情報を含む、請求項９に記載の方法。
【請求項１６】
プロセッサ、及び
前記プロセッサによる実行時に、オーディオ出力システムと接続がなされたときを検出し、次いで、オーディオを最後に再生した第１のオーディオ再生アプリケーションを決定し、そしてその第１のオーディオ再生アプリケーションがオーディオを最後に再生したとき、その第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生しているかどうか決定するインストラクションが記憶されたメモリ、
を備え、前記第１のオーディオ再生アプリケーションが過去に特定の時間内にオーディオを再生していないとの決定に応答して、前記プロセッサは、前記ポータブルコンピューティング装置が前記オーディオ出力システムに以前に接続されたとき、即ち前記接続の前に、オーディオを最後に再生した第２のオーディオ再生アプリケーションを決定し、そして前記第１のアプリケーションではなく、その第２のオーディオ再生アプリケーションから遂行されるべきオーディオ再生を、前記接続を通して前記オーディオ出力システムへシグナリングする、ポータブルコンピューティング装置。
【請求項１７】
オーディオ再生の変化を指示するユーザ入力を受信するためのユーザインターフェイスを更に備えた、請求項１６に記載のポータブルコンピューティング装置。
【請求項１８】
オーディオ再生をインテリジェントに遂行するためのポータブルコンピューティング装置において、
プロセッサ、及び
前記プロセッサによる実行時に、前記プロセッサが、
オーディオ出力システムとの接続がなされたことを検出し、
コンテキスト情報を検索し、
予想モデルを使用して、前記コンテキスト情報に基づき前記ポータブルコンピューティング装置のユーザによりアクセスされる確率が最も高い第１のオーディオ再生アプリケーションを識別し、前記予想モデルは、ユーザと前記ポータブルコンピューティング装置との相互作用履歴に基づくものであり、及び
前記オーディオ出力システムを通して前記第１のオーディオ再生アプリケーションからのオーディオ再生を開始する、
ようにさせるインストラクションが記憶されたメモリ、
を備えたポータブルコンピューティング装置。
【請求項１９】
前記メモリに記憶されたインストラクションは、前記プロセッサによる実行時に、前記プロセッサが、更に、
前記第１のオーディオ再生アプリケーションからオーディオ再生を開始しながら、オーディオ再生を開始すべき第２のオーディオ再生アプリケーションをユーザが選択するためにユーザインターフェイスを与える、
ようにさせる、請求項１８に記載のポータブルコンピューティング装置。
【請求項２０】
前記第２のオーディオ再生アプリケーションは、前記コンテキスト情報に基づき前記予想モデルにより識別される、前記ポータブルコンピューティング装置のユーザによりアクセスされる確率が２番目に最も高いオーディオ再生アプリケーションである、請求項１９に記載のポータブルコンピューティング装置。
【請求項２１】
前記コンテキスト情報は、
前記ポータブルコンピューティング装置が接続される現在のオーディオ出力システムに関する情報、
前記ポータブルコンピューティング装置の現在位置に関する情報、又は
現在日時に関する情報、
のうちの少なくとも１つを含む請求項１８に記載のポータブルコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照：本出願は、２０１５年６月５日に出願された米国プロビジョナル特許出願第６２／１７１，８４６号の３５Ｕ.Ｓ.Ｃ.１１９（ｅ）に従う利益を主張するもので、該出願は、参考としてここにそのまま援用される。
【０００２】
本発明の実施形態は、スマートホンのようなポータブルコンピューティング装置を自動車のラジオヘッドユニットのようなオーディオ出力システムに接続したときにオーディオ再生をインテリジェントに判断することに関する。他の実施形態も説明されそして請求される。
【背景技術】
【０００３】
近代的な自動車ヘッドユニットは、ワイヤード接続（例えば、ユニバーサルシリアルバスＵＳＢケーブル）又はワイヤレス接続（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）接続）を経てポータブルコンピューティング装置（例えば、スマートホン）に接続して、そのポータブルコンピューティング装置で実行されているアプリケーションからのオーディオコンテンツを再生することができ、そのオーディオコンテンツは、乗物のスピーカシステムを通して音に変換される。オーディオコンテンツのそのような再生は、ユーザが手動でポーズ又はストップボタンを選択し、次いで、プレイボタンを選択することにより、停止し、次いで、再開することができる。又、ポータブルコンピューティング装置がヘッドユニットから切り離されたときにも再生を自動的に停止することができる。ポータブルコンピューティング装置で実行されるプロセスは、フォアグランド及び現在再生中オーディオにあるアプリケーションを識別するデータ構造を更新することにより「最後に再生するオーディオアプリケーション」をモニタする。例えば、ミュージックプレーヤアプリケーション、ポッドキャストアプリケーション、及びミュージックストリーミングアプリケーションが含まれる。
【０００４】
ポータブルコンピューティング装置をヘッドユニットに接続するとき、ヘッドユニットは、オーディオの再生をスタートするコマンドをポータブルコンピューティング装置に送信する。多くの場合に、ポータブルコンピューティング装置は、それに応答して、フォアグランドで現在実行されているアプリケーションからのオーディオを再生する。あるヘッドユニットは、ポータブルコンピューティング装置のミュージックライブラリに記憶された歌のリストを要求し、次いで、リスト内の第１の歌（例えば、アルファベット順で第１の歌）を再生するコマンドをポータブルコンピューティング装置に送信する。これらの両方の場合に、どのアプリケーションからのオーディオを再生するかの判断は単純に決定され、そして大抵は、その判断がユーザの希望を満足しない。他のヘッドユニットは、ポータブルコンピューティング装置をヘッドユニットに接続するときオーディオ再生の開始を自動的に要求せず、むしろ、どのアプリケーションからのオーディオを再生するかユーザが手動で選択するのを待機し、これは、ユーザにとって不便である。
【０００５】
本発明の実施形態は、同じ参照番号で同様の要素を示す添付図面に一例として示されたもので、それに限定されない。本開示において本発明の「一」又は「１つの」実施形態とは、必ずしも同じ実施形態ではなく、少なくとも１つを意味することに注意されたい。又、所与の図面は、図面の合計数を減少するために本発明の２つ以上の実施形態の特徴を表すのに使用され、従って、所与の実施形態に対して図中の全ての要素が要求されることはない。
【図面の簡単な説明】
【０００６】
【図１】ある実施形態によりオーディオ再生をインテリジェントにシグナリングするためのプロセスを示すフローチャートである。
【図２】ある実施形態によりオーディオ再生をシグナリングするための別のプロセスを示すフローチャートである。
【図３】ある実施形態による装置、ポータブルコンピューティング装置、を示すブロック図である。
【図４】ある実施形態によりポータブルコンピューティング装置においてオーディオ出力システムとでなされる接続に対して利用できるオーディオ再生を示す。
【発明を実施するための形態】
【０００７】
添付図面を参照して本発明の幾つかの実施形態を以下に説明する。ここに述べる実施形態の観点が明確に定義されないとき、本発明の範囲は、単なる例示に過ぎない図示された部分だけに限定されない。又、多数の細部について述べるが、本発明の幾つかの実施形態は、それらの細部を伴わずに実施できることを理解されたい。他の点において、この説明の理解を妨げないようにするため、良く知られた回路、構造及び技術は、詳細に示されていない。
【０００８】
図１は、ある実施形態によりオーディオ再生をインテリジェントにシグナリングためのプロセスを示すフローチャートである。フローチャートのオペレーションは、ポータブルコンピューティング装置（例えば、スマートホン又はポータブルミュージックプレーヤ）により遂行される。１つの実施形態では、このプロセスは、オーディオ出力システムとの接続がなされたことをポータブルコンピューティング装置が検出したときに開始される（ブロック１１０）。オーディオ出力システムは、乗物のヘッドユニット（乗物の１つ以上のスピーカに結合される）、スピーカドック、又はポータブルコンピューティング装置から再生されるオーディオコンテンツを音に変換することのできるシステムである。１つの実施形態では、ポータブルコンピューティング装置とオーディオ出力システムとの間の接続は、ユニバーサルシリアルバス（ＵＳＢ）ケーブルを経てなされるワイヤード接続である。他の実施形態では、その接続は、Ｂｌｕｅｔｏｏｔｈ接続又はＷｉ−Ｆｉ接続のようなワイヤレス接続である。
【０００９】
オーディオ出力システムとの接続がなされたことを検出すると、ポータブルコンピューティング装置は、どのオーディオ再生アプリケーションがポータブルコンピューティング装置においてオーディオを最後に再生したか決定する（直近に再生したオーディオ）（ブロック１２０）。ここに使用するオーディオ再生アプリケーションとは、デジタルオーディオを（例えば、ミュージックファイル又は他のオーディオプログラムファイルから）発生することができ且つユーザがデジタルオーディオの発生を停止及び再開することによりデジタルオーディオの発生を制御するのを許すアプリケーションである。オーディオ再生アプリケーションは、例えば、ポータブルコンピューティング装置にローカルに記憶されたミュージックコンテンツを再生するミュージックプレーヤアプリケーション、ミュージックプロバイダーから（例えば、インターネットのようなデータネットワークを経て）受信したミュージックをストリーミングするミュージックストリーミングアプリケーション、及びビデオ再生アプリケーションを含む。ある場合には、ウェブブラウザも、オーディオ再生アプリケーションである（例えば、オーディオ又はビデオを再生するのに使用されるとき）。
【００１０】
１つの実施形態において、ポータブルコンピューティング装置は、ポータブルコンピューティング装置のためのオーディオ再生を管理するオーディオ再生コントローラプログラムを実行する。１つの実施形態において、オーディオ再生コントローラは、１）どのオーディオ再生アプリケーションがオーディオを最後に再生したか（幾つか例を挙げると、ポータブルコンピューティング装置の内蔵音響変換サブシステムを通して、或いはワイヤード／ワイヤレス接続のヘッドセット、スピーカドック又は乗物のヘッドユニットのような外部音響変換サブシステムを通して）、及び２）それがいつオーディオを最後に再生したか、を追跡する。ポータブルコンピューティング装置で実行される他のプログラムは、オーディオ再生コントローラプログラムからのこの記憶された情報にアクセスして、どのオーディオ再生アプリケーションがオーディオを最後に再生したか決定することができる。
【００１１】
ポータブルコンピューティング装置は、そのポータブルコンピューティング装置においてオーディオを最後に再生したオーディオ再生アプリケーションが過去に特定の時間内にそれを行っているかどうか決定する（ブロック１３０）。これは、ユーザがオーディオ再生アプリケーションからのオーディオを「最近」聴取したかどうか見出すためである。例えば、ポータブルコンピューティング装置は、最後に再生したオーディオ再生アプリケーションが最後の８分以内にそれを行ったかどうか決定することができる。８分という値は、例示であって、これに限定されず、従って、この時間インターバルは、必要に応じて構成することができる。上述したように、オーディオ再生コントローラは、例えば、記憶されたタイムスタンプをアプリケーションのための記憶された識別子に関連付けることにより、オーディオを最後に再生したオーディオ再生アプリケーションが、いつそれを行ったか追跡することができる。タイムスタンプは、オーディオ再生が何らかの理由で停止された時間を指示することができる。ポータブルコンピューティング装置は、オーディオ再生コントローラからこの記憶された情報にアクセスして、オーディオを最後に再生したオーディオ再生アプリケーションが過去に特定の時間内にそれを行ったかどうか決定することができる。
【００１２】
オーディオを最後に再生したオーディオ再生アプリケーションが過去に特定の時間内に（例えば、最後の８分以内に）それを行った場合には、これは、ユーザがおそらくそのオーディオ再生アプリケーションを最近聴取したことを指示する。従って、おそらく、ユーザは、そのオーディオ再生アプリケーションの聴取をここで続けたいであろう（オーディオ出力装置／システムに接続したとき）。従って、ポータブルコンピューティング装置で実行されるプロセスは、オーディオを最後に再生したオーディオ再生アプリケーションからオーディオ再生を開始すべきであることを信号する。このオーディオ再生は、オーディオ出力システムと最近なされた接続を通して行われる（ブロック１４０）。
【００１３】
オーディオ再生を開始することが信号されるアプリケーションは、その時点で、フォアグランドに既にあるか（この場合、進行中のオーディオ再生がオーディオ出力システムとの現在接続にルーティングされる）、或いはバックグランドにあるか（この場合、接続を通してオーディオを再生するためにフォアグランドへ移行される）、或いは閉止される（この場合、接続を通してオーディオを再生できるように起動される）ことに注意されたい。
【００１４】
例えば、自分の乗物まで歩きながら自分のスマートホンに接続されたヘッドセットのポッドキャストを聴取するユーザについて考える。ユーザが乗物に接近するにつれて、ユーザは、ヘッドセットを切断して、再生を停止し（及びポッドキャストを休止し）、そして乗物内が安定した後に数分以内に、スマートホンを乗物のヘッドユニットに接続する。この場合、おそらく、ユーザは、ポッドキャストの聴取を続けたいであろう。ここに述べる実施形態では、ユーザがスマートホンを乗物のヘッドユニットに接続したときに（乗物のスピーカシステムを通して）その休止していたポッドキャストの再生が自動的に再開される。
【００１５】
他方、オーディオを最後に再生したオーディオ再生アプリケーションが過去に特定の時間内（例えば、最後の８分以内）にそれを行っていない場合には、これは、ユーザがそのオーディオ再生アプリケーションを最近聴取していないことを指示する。従って、おそらく、ユーザのポータブルコンピューティング装置が（現在接続された）オーディオ出力システムに最後に接続されたときにユーザが聴取していたどちらかのオーディオ再生アプリケーションの聴取を続けたいであろう。その情報、即ちポータブルコンピューティング装置がオーディオ出力システムに最後に接続されたときに再生していたアプリケーションのアイデンティティは、オーディオ再生コントローラプログラム（例えば、ポータブルコンピューティング装置の他のプログラムによりアクセスするために以前に記憶された）によりモニタされる。従って、ポータブルコンピューティング装置で実行されるプロセスは、ポータブルコンピューティング装置がオーディオ出力システムに以前に接続されたときにオーディオを最後に再生したオーディオ再生アプリケーションからオーディオ再生を開始すべきであることを信号する。このオーディオ再生は、オーディオ出力システムと最近なされた接続を通して行われる（ブロック１５０）。例えば、（乗物のヘッドユニットに接続することにより）仕事に向かって運転する間に（スマートホンのポッドキャストアプリケーションからの）スマートホンのポッドキャストに聴取するユーザについて考える。オフィスに到着すると、ユーザは、乗物からスマートホンを切断し（ポッドキャストを休止し）、そして自分のデスクで仕事を開始する。２、３時間後のランチタイムの間に、例えば、ユーザは、（ポッドキャストアプリケーションとは異なるスマートホンのミュージック再生アプリケーションから）ミュージックを聴取するが、スマートホンの他のオーディオ再生アプリケーションは聴取しない。ユーザが車で家に帰るために午後遅くに乗物に戻り、そしてスマートホンを乗物のヘッドユニットに接続するとき、おそらく、ユーザは、（ミュージック再生アプリケーションからの）ランチタイムミュージックではなく、ポッドキャストアプリケーションの聴取を続けたいであろう。ここに述べる実施形態では、ユーザがスマートホンを乗物のヘッドユニットに接続したときにポッドキャストアプリケーションからの再生が自動的に再開される。
【００１６】
ポータブルコンピューティング装置を前記オーディオ出力システムに接続するときにどのオーディオ再生アプリケーションを再生するかの判断は、発見的なものであり、従って、そのプロセスは、ユーザの希望に一致しない判断を行う。従って、別の実施形態では、ポータブルコンピューティング装置は、ユーザがオーディオ再生判断の変更を選択するのを許すユーザのためのユーザインターフェイスを、最初に発見によって選択されたものとは異なるオーディオ再生アプリケーションに与える。従って、ユーザインターフェイスは、発見により選択された一次又は第１の選択肢がユーザの希望でない場合に備えて、ユーザが選択できる「第２の選択肢」を与える。図１は、この「別の選択」実施形態を示すために使用される。
【００１７】
例えば、図１を参照すれば、ポータブルコンピューティング装置で実行されるプロセスが、一次選択肢において、オーディオを最後に再生したオーディオ再生アプリケーションからのオーディオ再生を開始する（例えば、ブロック１４０のように）と判断した場合には、ポータブルコンピューティング装置は、ユーザがオーディオ再生判断を変更するためのユーザインターフェイスを、ポータブルコンピューティング装置がオーディオ出力システムに以前に接続されたときにオーディオを最後に再生したアプリケーションに与える（ブロック１６０）。換言すれば、再生は、ブロック１４０に関して最初に（且つ自動的に）判断されるが、ユーザは、次いで、ブロック１６０において、再生を第２の選択肢へ変更することが促される。
【００１８】
同様に、図１に示す第２の選択肢の別の例において、ポータブルコンピューティング装置で実行されるプロセスが、ポータブルコンピューティング装置がオーディオ出力システムに以前に接続されたときにオーディオを最後に再生したオーディオ再生アプリケーションからのオーディオ再生を行うべきである（例えば、ブロック１５０のように）ことを最初に判断した場合には、ポータブルコンピューティング装置は、ユーザがオーディオ再生判断を変更するためのユーザインターフェイスを第２の選択肢に与え、この場合の第２の選択肢は、オーディオを最後に再生したオーディオ再生アプリケーションからの再生である（ブロック１７０）。
【００１９】
より一般的に、１つの実施形態において、上述した第２の選択肢は、図１のブロック１６０、１７０に示すものとは異なってもよく、図２を参照して以下に述べる予想モデルのような予想モデルにより決定される。このように、ユーザインターフェイスは、（発見により最初になされた）オーディオ再生判断を変更して、発見により選択されたものとは異なるオーディオ再生アプリケーションから再生を開始する選択肢をユーザに与える。
【００２０】
１つの実施形態では、ポータブルコンピューティング装置は、オーディオ出力システムのディスプレイにユーザインターフェイスを与える。例えば、１つの実施形態では、ユーザインターフェイスは、乗物のヘッドユニットのディスプレイに表示されるプロンプト／バーチャルボタンとして与えられる。ユーザは、（ディスプレイがタッチスクリーンディスプレイである場合に）ディスプレイのバーチャルボタンをタップするか、又はヘッドユニットの物理的ボタンを作動して、一次選択肢ではなく二次選択肢からオーディオ再生を開始することができる。別の実施形態では、ユーザインターフェイスは、ポータブルコンピューティング装置に組み込まれたタッチスクリーンディスプレイに表示されるプロンプト／バーチャルボタンとして設けられる。ユーザは、タッチスクリーンディスプレイのバーチャルボタンをタップするか、又はポータブルコンピューティング装置の物理的ボタンを作動して、一次選択肢ではなく二次選択肢からオーディオ再生を開始することができる。１つの実施形態において、ユーザインターフェイスは、ボイスコマンドインターフェイスとして設けられる。例えば、ボイスコマンドアプリケーションは、ユーザが一次選択肢ではなく二次選択肢からオーディオ再生を開始することを望むかどうかについてユーザを促す。ユーザは、ボイスコマンドアプリケーションに応答して、ボイスコマンドアプリケーションにコマンドを話す（例えば、「イエス」又は「ノー」）。
【００２１】
図２は、ある実施形態によりオーディオ再生をインテリジェントに開始する別のプロセスを示すフローチャートである。フローチャートのオペレーションは、ポータブルコンピューティング装置（例えば、スマートホン又はポータブルミュージックプレーヤ）により遂行される。１つの実施形態では、このプロセスは、オーディオ出力システムとの接続がなされたことをポータブルコンピューティング装置が検出したときに開始される（ブロック２１０）。オーディオ出力システムは、乗物のヘッドユニット（乗物の１つ以上のスピーカに結合される）、スピーカドック、又はポータブルコンピューティング装置から再生され且つ受信されるオーディオコンテンツを音に変換できるシステムである。ポータブルコンピューティング装置とオーディオ出力システムとの間の接続は、ワイヤード又はワイヤレスである（図１に関連して述べた実施形態において上述した）。
【００２２】
接続がなされたことを検出すると、ポータブルコンピューティング装置は、コンテキスト情報を検索する（ブロック２２０）。１つの実施形態において、コンテキスト情報は、ポータブルコンピューティング装置の周囲状況（又はそのユーザコンテキスト）に関連している。例えば、コンテキスト情報は、１日の時刻、日付、曜日、現在位置、及び／又は現在の天候に関連している。１つの実施形態において、コンテキスト情報は、ポータブルコンピューティング装置が接続される現在オーディオ出力システムに関連した情報も含む。コンテキスト情報は、ポータブルコンピューティング装置の１つ以上のコンポーネントから得られる。例えば、コンテキスト情報は、内部のデジタルクロック、グローバルポジショニングシステム（ＧＰＳ）装置又はカレンダーとして動作するハードウェア装置及び／又はソフトウェアコードの組み合わせから得られる。１つの実施形態において、コンテキスト情報は、データネットワーク（例えば、インターネット）を経て情報にアクセスすることにより得られる。別の実施形態では、コンテキスト情報は、現在ユーザコンテキスト、例えば、ウォーキング、ランニング、運転及び運動を含む。
【００２３】
ポータブルコンピューティング装置は、予想モデルを使用して、コンテキスト情報に基づいて、ユーザによりアクセスされる確率が最も高いオーディオ再生アプリケーションを識別する（ブロック２３０）。予想モデルは、例えば、どれほど頻繁にそしてどんな環境の下でユーザが所与のオーディオ再生アプリケーションからオーディオを再生するかの記録を保持することにより、ユーザのオーディオ再生の好み及び振舞いのパターンを学習する。従って、予想モデルは、ユーザとポータブルコンピューティング装置との相互作用履歴に基づいている。予想モデルは、コンテキスト情報を、ユーザの学習されたオーディオ再生の好み及び振舞いのパターンと共に使用して、所与のオーディオ再生アプリケーションが現在の環境の下でユーザによりアクセスされる（特定のオーディオ出力システムに接続するときに）見込みを予想する。予想モデルは、任意の適当な予想モデリング技術及び／又はマシン学習技術に基づく。そのような技術は、例えば、“検出されたトリガーイベントに基づくアプリケーションの推薦（Application Recommendation Based on Detected Triggering Events）”と題するアペンディックスＡに示されている。
【００２４】
例えば、予想モデルは、ユーザが職場への朝の通勤にポッドキャストアプリケーションからのニュースポッドキャストをほぼ常時（例えば、１０のうち９回）再生するというユーザの過去の振舞いから学習される。従って、ユーザが自分のポータブルコンピューティング装置を朝乗物のヘッドユニットに接続するときに、予想モデルは、ポッドキャストアプリケーションが、ユーザによりアクセスされる確率が最も高い（ポータブルコンピューティング装置に記憶されたオーディオ再生アプリケーションの中で）と決定する。
【００２５】
ポータブルコンピューティング装置は、ユーザによりアクセスされる確率が最も高いオーディオ再生アプリケーションからオーディオ再生を開始する。このオーディオ再生は、オーディオ出力システムとの最近なされた接続を通して行われる（ブロック２４０）。従って、ポータブルコンピューティング装置は、どのオーディオ再生アプリケーションを再生するかの判断をコンテキスト情報及びユーザの学習された好み及び振舞いパターンに基づいてインテリジェントに行う。
【００２６】
ポータブルコンピューティング装置が前記オーディオ出力システムに接続されるときにどのオーディオ再生アプリケーションを再生するかの判断は、ユーザの希望に一致しない判断を行う予想である。従って、１つの実施形態において、ポータブルコンピューティング装置は、ユーザがオーディオ再生判断の変更を選択することを許すユーザのためのユーザインターフェイスを、予想モデルにより最初に選択されたものとは異なるオーディオ再生アプリケーションに与える。従って、ユーザインターフェイスは、予想モデルにより選択された一次又は第１の選択肢がユーザの希望でない場合に備えて、ユーザが選択できる「第２の選択肢」を与える。
【００２７】
例えば、１つの実施形態において、ポータブルコンピューティング装置は、予想モデルを使用して、コンテキスト情報に基づきユーザによりアクセスされる確率が２番目に最も高いオーディオ再生アプリケーションを識別することで第２の選択肢を決定する（ブロック２５０）。次いで、ポータブルコンピューティング装置は、ユーザによりアクセスされる確率が２番目に最も高いオーディオ再生アプリケーションからオーディオ再生を行わねばならないことを指示するユーザのためのユーザインターフェイスを与える（ブロック２６０）。１つの実施形態において、図１を参照して上述した発見のような発見により第２の選択肢が決定される。このように、ユーザインターフェイスは、発見により選択されたものとは異なるオーディオ再生アプリケーションからオーディオ再生を開始する選択肢をユーザに与える。１つの実施形態において、ユーザインターフェイスは、ユーザが選択するための２つ以上の選択肢を与える。図１を参照して上述したユーザインターフェイスと同様に、ポータブルコンピューティング装置は、オーディオ出力システムのディスプレイ（例えば、乗物のヘッドユニットのディスプレイ）に、又はポータブルコンピューティング装置に組み込まれるタッチスクリーンディスプレイにユーザインターフェイスを与える。又、ユーザインターフェイスは、ボイスコマンドインターフェイスとして設けられてもよい。
【００２８】
発見的及び予想モデルを組み合わせて使用して、ポータブルコンピューティング装置がオーディオ出力システムに接続されたときにオーディオ再生をインテリジェントにそして自動的に（例えば、ユーザからの再生コマンドを必要とせずに）スタートすることができる。例えば、予想モデルが、ユーザによりアクセスされる確率が高い（例えば、９０％以上）オーディオ再生アプリケーションを識別する場合には、ポータブルコンピューティング装置は、発見的手段に依存せずに、そのオーディオ再生アプリケーションからオーディオ再生をスタートすると判断する。予想モデルが、ユーザによりアクセスされる確率が充分高いオーディオ再生アプリケーションを識別できない場合には、ポータブルコンピューティング装置は、発見的手段に依存して、どのオーディオ再生アプリケーションを呼び出すか判断する。１つの実施形態において、ポータブルコンピューティング装置は、接続されたオーディオ出力システムから受信されるコマンドであって、特定のオーディオ再生アプリケーションからのオーディオを再生することを要求するコマンドを無効化し、それに代って、上述したように、発見的又は予想モデルに基づき選択されたオーディオ再生アプリケーションからのオーディオを再生する。ポータブルコンピューティング装置で実行されるこれらのプロセスは、オーディオ出力システムよりもインテリジェントな判断を与える。というのは、それらは、ポータブルコンピューティング装置のコンテキスト、例えば、そのユーザコンテキストを考慮に入れることができるからである。
【００２９】
又、１つの実施形態において、ポータブルコンピューティング装置は、オーディオ出力システムを経てユーザにより再生されるコンテンツも決定する。オーディオ再生アプリケーションが決定されると（例えば、ブロック１４０、１５０、２３０）、ポータブルコンピューティング装置のオペレーティングシステムは、再生中に再生されることが推奨されるコンテンツを決定する（例えば、ブロック１４０、１５０及び２４０）。又、オペレーティングシステムは、決定されたオーディオ再生アプリケーションに対して推奨されるコンテンツの再生キューも発生する（例えば、ブロック１４０、１５０，２３０）。又、オペレーティングシステムは、ユーザにとって代替物として提示されるオーディオ再生アプリケーションに対して推奨されるコンテンツの再生キューも発生する（例えば、ブロック１６０、１７０、２６０）。例えば、ブロック１６０、１７０、２６０において、オーディオ再生を開始したオーディオ再生アプリケーション（ブロック１４０、１５０及び２４０）とは異なるオーディオ再生アプリケーションからのオーディオ再生でなければならないことを指示するユーザインターフェイスがユーザに提示されたときに、オペレーティングシステムは、推奨されるコンテンツの再生キューを与えると共に、再生キューからの推奨されるコンテンツをユーザインターフェイスに表示する。
【００３０】
コンテンツは、例えば、歌、アルバム、アーティスト、ポッドキャストのエピソード、等である。ポータブルコンピューティング装置のオペレーティングシステムは、再生されるコンテンツを決定しそしてコンテンツの再生キュー（例えば、歌のキュー、プレイリスト、等）を構築する。オーディオ再生アプリケーションがコンテンツを再生すると、そのオーディオ再生アプリケーションは、オペレーティングシステムへ再生されるコンテンツを識別及び記述するキー及び値を含むディクショナリーを送信する。オペレーティングシステムは、再生中にディクショナリーを動的に更新する。キーは、コンテンツ（例えば、アーティスト名）を識別する高レベルメタデータであり、そして値は、コンテンツ（例えば、歌の題名、アルバム、歌の時間、等）を具体的に記述する。オペレーティングシステムは、ポータブルコンピューティング装置の他の部分にアクセス可能なポータブルコンピューティング装置のメモリ位置にディクショナリーを記憶する。例えば、ポータブルコンピューティング装置で実行される他のプログラム（例えば、オーディオ再生アプリケーション）は、そのメモリ位置にアクセスして、キー及び値を得、そしてユーザインターフェイス（例えば、タッチスクリーン）に表示されるこの情報（例えば、現在再生中の歌の題名及びアーティスト）をユーザに与える。又、このオーディオ再生アプリケーションは、コンテンツツリーもオペレーティングシステムに送信する。コンテンツツリーの根は、アーティストのコレクション又はリスト、アルバムのコレクション、歌のコレクション、プレイリストのコレクション、等である。根がプレイリストのコレクション（例えば、「全てのプレイリスト」）である場合には、コンテンツツリーの次のレベルは、全てのプレイリストのリスティング（例えば、「オン・ザ・ゴー(on-the-go)」、「ワークアウトミックス(workout mix)」、「スタディイング・ミュージック(studying music)」、等）を含む。選択されたプレイリストからのコンテンツツリーの次のレベル（例えば、「ワークアウトミックス」）は、このプレイリストにおける全ての歌のリストを含む。
【００３１】
オーディオ再生アプリケーションからのディクショナリー及びコンテンツツリーを使用する１つの実施形態において、オペレーティングシステムは、ユーザによって再生されるコンテンツの履歴及びコンテンツの再生頻度（例えば、歌、アルバム、アーティスト、ポッドキャスト、等の再生回数）をコンパイルする分析エンジンを含む。又、コンテンツの履歴は、ユーザが所与のコンテンツ（例えば、朝のワークアウトソング）を再生する日時もコンパイルする。分析エンジンは、再生されるコンテンツ及び再生頻度の履歴を使用して、推奨されるコンテンツを決定すると共に、推奨されるコンテンツの再生キューを発生することができる。再生されるコンテンツの推奨又は推奨されるコンテンツの再生キューは、ユーザインターフェイスを経てユーザに表示され、ユーザが再生されるコンテンツを選択できるようにする。
【００３２】
又、別の実施形態では、分析エンジンは、コンテキスト情報も使用して、推奨されるコンテンツを決定すると共に、推奨されるコンテンツの再生キューを発生することができる。例えば、分析エンジンは、コンテキスト情報から、ユーザがランニング中であり、ユーザがジムにいると決定し、そして１日の時間は、それが朝であることを指示する。このコンテキスト情報を使用して、分析エンジンは、「ワークアウトミックス」プレイリストからのユーザの最も頻繁に再生される歌が推奨コンテンツであると決定する。更に、分析エンジンは、「ワークアウトミックス」プレイリストを推奨コンテンツの再生キューとして与える。
【００３３】
図３は、ある実施形態によるポータブルコンピューティング装置である装置を示すブロック図である。この装置３００は、一般的に、コンピュータ読み取り可能な媒体３０２、処理システム３０４、入力／出力（Ｉ／Ｏ）サブシステム３０６、ワイヤレス回路３０８、及びオーディオ回路３１０を備え、このオーディオ回路は、スピーカ３５０及びマイクロホン３５２を含む。これらのコンポーネントは、１つ以上の通信バス又は信号線３０３により結合される。装置３００は、ハンドヘルドコンピュータ、タブレットコンピュータ、モバイルホン、ラップトップコンピュータ、タブレット装置、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、キーフォブ、車のキー、アクセスカード、マルチファンクション装置、ポータブルゲーム機、等を含む任意のポータブル電子装置で、これら品目の２つ以上を組み合わせて含んでもよい。
【００３４】
図３に示すアーキテクチャーは、装置３００のアーキテクチャーの一例に過ぎず、そして装置３００は、図示された以上又は以下のコンポーネントを有してもよいし或いは異なる構成のコンポーネントを有してもよいことが明らかであろう。図３に示す種々のコンポーネントは、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含めて、ハードウェア、ソフトウェア、又はそれら両方の組み合わせで実施することができる。
【００３５】
ワイヤレス回路３０８は、ワイヤレスリンク又はネットワークを経て、１つ以上の他の装置の従来の回路、例えば、アンテナシステム、ＲＦトランシーバ、１つ以上の増幅器、チューナ、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、メモリ、等へ情報を送信し及び受信するのに使用される。ワイヤレス回路３０８は、例えば、ここに述べるもののような種々のプロトコルを使用することができる。
【００３６】
ワイヤレス回路３０８は、周辺インターフェイス３１６を経て処理システム３０４に結合される。インターフェイス３１６は、周辺装置と処理システム３０４との間に通信を確立して維持するための従来のコンポーネントを含む。ワイヤレス回路３０８により受信されるボイス及びデータ情報（例えば、スピーチ認識又はボイスコマンドアプリケーションにおいて）は、周辺インターフェイス３１６を経て１つ以上のプロセッサ３１８に送信される。１つ以上のプロセッサ３１８は、媒体３０２に記憶された１つ以上のアプリケーションプログラム３３４に対する種々のデータフォーマットを処理するように構成できる。
【００３７】
周辺インターフェイス３１６は、装置の入力及び出力周辺装置をプロセッサ３１８及びコンピュータ読み取り可能な媒体３０２に結合する。１つ以上のプロセッサ３１８は、コントローラ３２０を経てコンピュータ読み取り可能な媒体３０２と通信する。コンピュータ読み取り可能な媒体３０２は、１つ以上のプロセッサ３１８により使用するためのコード及び／又はデータを記憶できる任意の装置又は媒体である。媒体３０２は、キャッシュ、メインメモリ及び二次メモリを含むメモリハイアラーキーを含むことができる。
【００３８】
又、装置３００は、種々のハードウェアコンポーネントに通電するための電源システム３４２も備えている。電源システム３４２は、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ（例えば、発光ダイオード（ＬＥＤ））、並びに移動装置における電力の発生、管理及び配電に典型的に関連した他のコンポーネントを備えている。
【００３９】
ある実施形態では、装置３００は、カメラ３４４を備えている。又、ある実施形態では、装置３００は、センサ３４６を備えている。センサは、加速度計、コンパス、ジャイロメータ、圧力センサ、オーディオセンサ、光センサ、気圧計、等を含む。センサ３４６は、位置の観点、例えば、位置の聴覚又は光特性を感知するのに使用される。
【００４０】
ある実施形態では、装置３００は、ＧＰＳユニット３４８とも称されるＧＰＳ受信器を備えている。移動装置は、衛星ナビゲーションシステム、例えば、グローバルポジショニングシステム（ＧＰＳ）を使用して、位置情報、タイミング情報、高度、又は他のナビゲーション情報を得ることができる。動作中に、ＧＰＳユニットは、地球を回るＧＰＳ衛星から信号を受信することができる。ＧＰＳユニットは、信号を分析して、通過時間及び距離の推定を行う。ＧＰＳユニットは、移動装置の現在位置（現在の場所）を決定することができる。これらの推定に基づき、移動装置は、ロケーションフィックス、高度、及び／又は現在速度を決定することができる。ロケーションフィックスは、緯度及び経度情報のような地理的座標である。
【００４１】
１つ以上のプロセッサ３１８は、媒体３０２に記憶された種々のソフトウェアコンポーネントを実行して、装置３００の種々の機能を遂行させる。ある実施形態では、ソフトウェアコンポーネントは、オペレーティングシステム３２２、通信モジュール（又はインストラクションのセット）３２４、位置モジュール（又はインストラクションのセット）３２６、オーディオ再生アプリケーション選択モジュール３２８、及び他のアプリケーション（又はインストラクションのセット）３３４、例えば、カーロケータアプリケーション及びナビゲーションアプリケーションを含む。
【００４２】
オペレーティングシステム３２２は、ｉＯＳ、Ｍａｃ  ＯＳ、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ（登録商標）、又は埋め込み型オペレーティングシステム、例えば、ＶｘＷｏｒｋｓを含む適当なオペレーティングシステムである。又、オペレーティングシステムは、一般的なシステムタスクを制御及び管理し（例えば、メモリ管理、ストレージ装置の制御、電力管理、等）、そして種々のハードウェア及びソフトウェアコンポーネント間の通信を容易にするために種々の手順、インストラクションのセット、ソフトウェアコンポーネント及び／又はドライバを備えている。
【００４３】
通信モジュール３２４は、１つ以上の外部ポート３３６又はワイヤレス回路３０８を経て他の装置と通信するのを容易にし、そしてワイヤレス回路３０８及び／又は外部ポート３３６から受信したデータを取り扱うための種々のソフトウェアコンポーネントを含む。外部ポート３３６（例えば、ＵＳＢ、ＦｉｒｅＷｉｒｅ、ライトニングコネクタ、６０ピンコネクタ、等）は、他の装置に直接結合するか又はネットワーク（例えば、インターネット、ワイヤレスＬＡＮ、等）を経て間接的に結合するためのものである。
【００４４】
位置／運動モジュール３２６は、装置３００の現在位置（例えば、座標又は他の地理的位置識別子）及び運動を決定する上で支援することができる。近代的なポジショニングシステムは、衛星ベースのポジショニングシステム、例えば、グローバルポジショニングシステム（ＧＰＳ）、「セルＩＤ」に基づくセルラーネットワークポジショニング及びＷｉ−Ｆｉネットワークに基づくＷｉ−Ｆｉポジショニング技術を含む。又、ＧＰＳは、屋内や「ビルの谷間」では見えない（又は信号が弱い）推定位置を決定するために複数の衛星の視野に依存する。ある実施形態では、位置／運動モジュール３２６は、ＧＰＳユニット３４８からデータを受信し、そして信号を分析して、移動装置の現在位置を決定する。ある実施形態では、位置／運動モジュール３２６は、Ｗｉ−Ｆｉ又はセルラー位置技術を使用して現在位置を決定することができる。例えば、移動装置の位置は、近傍のセルサイト及び／又はＷｉ−Ｆｉアクセスポイントの知識をそれらの位置の知識と共に使用して推定することができる。Ｗｉ−Ｆｉ又はセルラー送信器を識別する情報は、ワイヤレス回路３０８で受信され、そして位置／運動モジュール３２６へ通される。ある実施形態では、位置モジュールは、１つ以上の送信ＩＤを受信する。ある実施形態では、送信ＩＤのシーケンスが基準データベース（例えば、セルＩＤデータベース、Ｗｉ−Ｆｉ基準データベース）と比較され、これは、送信ＩＤを、対応する送信器の位置座標にマップ又は相関させ、そしてその対応する送信器の位置座標に基づいて装置３００の推定位置座標を計算する。使用する特定の位置技術に関わりなく、位置／運動モジュール３２６は、ロケーションフィックスを導出する情報を受信し、その情報を解釈し、そして位置情報、例えば、地理的座標、緯度／経度、又は他のロケーションフィックスデータを返送する。
【００４５】
オーディオ再生アプリケーション選択モジュール３２８は、１つ以上の実施形態について上述したいずれかのオペレーション又はプロセスを遂行して、装置３００がオーディオ出力システム（図示せず）に接続されたときにオーディオ再生のスタートをインテリジェントに信号する。
【００４６】
移動装置の１つ以上のアプリケーション３３４は、装置３００にインストールされる任意のアプリケーションを含むことができ、これは、ブラウザ、アドレスブック、連絡先リスト、ｅ−メール、インスタントメッセージング、ワードプロセス、キーボードエミュレーション、ウィジェット、ＪＡＶＡ（登録商標）イネーブルアプリケーション、暗号、デジタル権利の管理、音声認識、音声複写、ミュージックプレーヤ（ＭＰ３又はＡＡＣファイルのような１つ以上のファイルに記憶された記録音楽を再生する）、等を含むが、これに限定されない。
【００４７】
他のモジュール又はインストラクションのセット（図示せず）、例えば、グラフィックモジュール、タイマーモジュール、等もある。例えば、グラフィックモジュールは、ディスプレイの表面にグラフィックオブジェクト（テキスト、ウェブページ、アイコン、デジタル画像、アニメーション、等を含むが、これに限定されない）をレンダリングし、アニメーション化し及び表示するために種々の従来のソフトウェアコンポーネントを含むことができる。別の例では、タイマーモジュールは、ソフトウェアタイマーである。又、このタイマーモジュールは、ハードウェアで実施することもできる。又、タイマーモジュールは、多数のイベントに対して種々のタイマーを維持することができる。
【００４８】
Ｉ／Ｏサブシステム３０６は、タッチ感知（即ち、タッチスクリーン）ディスプレイであるディスプレイシステム（図示せず）に結合される。このディスプレイは、視覚出力をＧＵＩにおいてユーザに表示する。視覚出力は、テキスト、グラフィック、ビデオ、及びその組み合わせを含む。視覚出力の幾つか又は全部は、ユーザインターフェイスオブジェクトに対応する。ディスプレイは、ＬＥＤ（発光ダイオード）、ＬＣＤ（液晶ディスプレイ）技術、又はＬＰＤ（発光ポリマーディスプレイ）技術を使用できるが、他の実施形態では、他のディスプレイ技術を使用することもできる。
【００４９】
ある実施形態では、Ｉ／Ｏサブシステム３０６は、ディスプレイ及びユーザ入力装置、例えば、キーボード、マウス、及び／又はトラックパッドを含む。ある実施形態では、Ｉ／Ｏサブシステム３０６は、タッチ感知ディスプレイを含む。タッチ感知ディスプレイは、触覚及び／又は触感接触に基づいてユーザからの入力を受け容れることもできる。ある実施形態では、タッチ感知ディスプレイは、ユーザ入力を受け容れるタッチ感知表面を形成する。タッチ感知ディスプレイ／表面（その関連モジュール、及び媒体３０２におけるインストラクションのセットと共に）は、タッチ感知ディスプレイにおける接触（及び接触の移動又は解除）を検出し、そしてその検出された接触を、その接触が生じたときにタッチスクリーンに表示された１つ以上のソフトキーのようなユーザインターフェイスオブジェクトとの相互作用に変換する。ある実施形態では、タッチ感知ディスプレイとユーザとの間の接触点は、ユーザの１つ以上の指に対応する。ユーザは、スタイラス、ペン、指、等の適当な物体又は付属物を使用して、タッチ感知ディスプレイと接触する。タッチ感知ディスプレイの表面は、容量性、抵抗性、赤外線、及び表面音波技術を含む適当なタッチ感知技術、並びにタッチ感知ディスプレイとの１つ以上の接触点を決定するための他の接近センサアレイ又は他の素子を使用して、接触及びその移動又は解除を検出することができる。
【００５０】
更に、Ｉ／Ｏサブシステムは、種々の機能、例えば、電力制御、スピーカのボリューム制御、リングトーンの音量、キーボード入力、スクロール、ホールド、メニュー、スクリーンロック、通信クリア及び終了、等を制御又は遂行するために、１つ以上の他の物理的コントロール装置（図示せず）、例えば、プッシュボタン、キー、スイッチ、ロッカーボタン、ダイヤル、スライダースイッチ、スティック、ＬＥＤ、等に結合される。ある実施形態では、タッチスクリーンに加えて、装置３００は、特定の機能をアクチベート又はデアクチベートするためのタッチパッド（図示せず）も備えている。ある実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない装置のタッチ感知エリアである。タッチパッドは、タッチ感知ディスプレイ、又はタッチ感知ディスプレイで形成されたタッチ感知表面の延長部から分離されたタッチ感知表面である。
【００５１】
ある実施形態では、ここに述べるオペレーションの幾つか又は全部を、ユーザ装置で実行されるアプリケーションを使用して遂行することができる。ここに述べる種々のオペレーションを遂行するように回路、論理モジュール、プロセッサ、及び／又は他のコンポーネントが構成されてもよい。当業者であれば、具現化に基づき、そのような構成は、特定のコンポーネントの設計、設定、相互接続、及び／又はプログラミングを通して遂行することができ、そして再び具現化に基づき、構成されたコンポーネントは、異なるオペレーションに対して再構成可能であってもなくてもよいことが明らかであろう。例えば、プログラム可能なプロセッサは、適当な実行可能なコードを与えることにより構成することができ；専用の論理回路は、論理ゲート及び他の回路素子を適当に接続することにより構成することができ；等々である。
【００５２】
本書に述べるソフトウェアコンポーネント又は機能は、いずれも、プロセッサによって実行されるソフトウェアコードとして具現化され、ここで、ソフトウェアコードは、例えば、Ｊａｖａ、Ｃ、Ｃ＋＋、Ｃ＃、オブジェクティブ−Ｃ、Ｓｗｉｆｔのような適当なコンピュータ言語、或いは例えば、従来の又はオブジェクト指向の技術を使用するＰｅｒｌ又はＰｙｔｈｏｎのようなスクリプト言語である。ソフトウェアコードは、ストレージ及び／又は送信のためにコンピュータ読み取り可能な媒体に一連のインストラクション又はコマンドとして記憶される。適当な非一時的コンピュータ読み取り可能な媒体は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードドライブ又はフロッピーディスクのような磁気媒体、或いはコンパクトディスク（ＣＤ）又はＤＶＤ（デジタル多様性ディスク）のような光学的媒体、フラッシュメモリ、等を含む。コンピュータ読み取り可能な媒体は、そのようなストレージ又は送信装置の任意の組み合わせでよい。
【００５３】
一実施形態は、前記オペレーションを遂行するために１つ以上のデータ処理コンポーネント（一般的にここでは「プロセッサ」と称される）をプログラムするインストラクションがマシン読み取り可能なストレージ媒体に記憶された製造物品である。マシン読み取り可能なストレージ媒体は、例えば、リードオンリメモリ、ランダムアクセスメモリ、ＣＤ−ＲＯＭ、ＤＶＤ、磁気テープ、光学データストレージ装置及び搬送波を含む。又、マシン読み取り可能なストレージ媒体は、ソフトウェアインストラクションが分散形態で記憶され且つ実行されるようにネットワークにわたって分散することができる。他の実施形態では、これらオペレーションの幾つかは、ハードワイヤードロジックを含む特定のハードウェアコンポーネントにより遂行されてもよい。或いは又、これらのオペレーションは、プログラム型データ処理コンポーネント及び固定ハードワイヤード回路コンポーネントの組み合わせにより遂行されてもよい。
【００５４】
図４は、ある実施形態によりポータブルコンピューティング装置においてオーディオ出力システムとでなされる接続に対して利用できるオーディオ再生を示す。図示されたように、ポータブルコンピューティング装置３００は、オーディオ出力システム４００に接続される（例えば、ワイヤード接続又はワイヤレス接続を経て）。ポータブルコンピューティング装置３００は、複数のオーディオ再生アプリケーション４１０Ａ−Ｚを記憶する。ポータブルコンピューティング装置３００のコントローラ／セレクタコンポーネント４２０は、１つ以上の実施形態について上述したオペレーション及びプロセスを具現化して、ポータブルコンピューティング装置３００がオーディオ出力システム４００に接続されたときにどのオーディオ再生アプリケーションを（例えば、オーディオ再生アプリケーション４１０Ａ−Ｚの中で）呼び出すかインテリジェントに選択する。判断がなされると、ポータブルコンピューティング装置３００は、オーディオ出力システム４００との接続を通してその選択されたオーディオ再生アプリケーション４１０から再生を開始するようにオーディオ出力システム４００に通知する。
【００５５】
幾つかの実施形態を添付図面に示して説明したが、そのような実施形態は、単なる例示に過ぎず、広範な発明を限定するものではなく、且つ当業者であれば種々の他の変更がなされるであろうから、本発明は、図示して説明した特定の構造及び構成に限定されない。
【００５６】
−アペンディックス−
特許出願
検出されたトリガーイベントに基づくアプリケーションの推薦
発明者：
カリフォルニア州クパチーノ在住のアメリカ合衆国市民である
ジョンソンＪガウチ
カリフォルニア州サンノセ在住のスイス市民であるルカスＭマーチ
カリフォルニア州サンタクララ在住の大韓民国市民であるヒョゼオンシン
カリフォルニア州サンノセ在住のアメリカ合衆国市民である
デビッドＲスタイツ
カリフォルニア州サニーベール在住のルーマニア市民である
リビーＴポパスク
カリフォルニア州サニーベール在住の中華人民共和国市民である
リリカオ
譲受人：  アップルインク
１インフィニットループ
アメリカ合衆国９５０１４カリフォルニア州クパチーノ
企業体：  大
検出されたトリガーイベントに基づくアプリケーションの推薦
関連出願の相互参照
[0001]本願は、ガウチ氏等による“Segmentation Techniques for Learning User Pattern to Suggest Applications Responsive to an Event on a Device”と題する共通所有の米国特許出願（代理人管理番号９０９１１−Ｐ２６７１２ＵＳ１−９３９０８７）に関連しており、その開示を全ての目的でここにそのまま援用する。
背景技術
[0002]近代的な移動装置（例えば、スマートホン）は多数のアプリケーションを含む。各アプリケーションは、１つ以上の特定の機能を遂行するように設計される。例えば、アプリケーションは、音楽又はビデオを再生するように設計される。近代的な移動装置が近代の日常の生活と益々一体化されるにつれて、移動装置に記憶されるアプリケーションの数が増加する。近代的な移動電話が数百のアプリケーションをもつことは、稀ではない。多数のアプリケーションをもつことで、移動装置は、ユーザにとって特に有用となるが、ユーザが利用可能な全てのアプリケーションの中で希望のアプリケーションを見つけて実行することが困難で且つ時間のかかることである。
簡単な概要
[0003]トリガーイベントに基づいてアプリケーションを推薦するための改善された装置及び方法が実施形態により提供される。例えば、幾つかのイベントが装置によって検出されそしてトリガーイベントとして識別される。異なるトリガーイベントは、より正確な推薦を許す異なる予想モデルを有する。選択された予想モデルは、コンテキスト情報（例えば、イベントが検出される前又は後に収集される）を使用して、容易にアクセスするために、例えば、ロックスクリーン上でのアクセスを許すために、ユーザに提示するアプリケーションを識別する。
[0004]ある実施形態では、１つ以上の入力装置がトリガーイベントについて監視される。トリガーイベントが検出されると、１つ以上のソース（例えば、コンテキスト情報を既に得た装置の別のアプリケーション）からコンテキスト情報が収集される。コンテキスト情報は、位置又は１日の時刻のようなトリガーイベントの発生時又はその付近での装置のコンテキストに関連している。コンテキスト情報が受け取られると、履歴イベントデータベースから履歴情報が収集される。このデータベースは、ユーザと装置との間の履歴的相互作用の記録を維持する。トリガーイベントに鑑み、コンテキスト情報及び履歴情報を使用して、ユーザのための１つ以上のアプリケーションのセットを識別する。その識別されたアプリケーションは、次いで、その識別されたアプリケーションが、通常、どのように、いつ、又はどこで、アクセスされるかとは異なる仕方でユーザインターフェイスを（例えば、ホームスクリーン上に）与えることにより、ユーザに示唆され、それにより、必要に応じてアプリケーションを実行するための選択肢をユーザに与える。
[0005]他の実施形態は、ここに述べる方法に関連したシステム、ポータブル消費者装置、及びコンピュータ読み取り可能な媒体に向けられる。
[0006]本発明の実施形態の特徴及び効果を良く理解するために以下の詳細な説明及び添付図面を参照する。
図面の簡単な説明
[0007]図１は、本発明の実施形態によりトリガーイベントに基づいてアプリケーションを識別するための方法を示すフローチャートである。
[0008]図２は、本発明の実施形態によりトリガーイベントを決定するためのシステムのブロック図である。
[0009]図３は、本発明の実施形態によりトリガーイベントに基づいてユーザのアプリケーションを識別するためのシステムのブロック図である。
[0010]図４は、本発明の実施形態により複数の予想モデルをもつアプリケーションを識別するためのシステムのブロック図である。
[0011]図５は、本発明の実施形態による装置でトリガーイベントに基づいてアプリケーションを識別する方法のフローチャートである。
[0012]図６は、本発明の実施形態により音楽アプリケーションのためのユーザインターフェイスを有する装置の簡単な図である。
[0013]図７Ａ及び７Ｂは、本発明の実施形態によりユーザインターフェイスから識別されたアプリケーションを除去するための方法のフローチャートである。
[0014]図８は、本発明の実施形態による規範的装置のブロック図である。
用語
[0015]「ユーザインターフェイス」は、ユーザが装置と相互作用するためのインターフェイスに対応する。アプリケーションのためのユーザインターフェイスは、ユーザがアプリケーションと相互作用するのを許す。ユーザインターフェイスは、アプリケーションが実行されるときのアプリケーションのインターフェイスである。別の例として、ユーザインターフェイスは、ユーザがアプリケーションを使用し易くするようにユーザが選択するアプリケーションの減少セットを与えるシステムインターフェイスである。
[0016]「ホームスクリーン」は、装置が最初に電源オンされたときに現れる装置のスクリーンである。移動装置では、ホームスクリーンは、装置で実行できる種々のアプリケーションに対応するアイコンのアレイをしばしば示す。ホームスクリーン上に現れない他のアプリケーションにブラウズするために付加的なスクリーンにアクセスしてもよい。
[0017]「ロックスクリーン」は、ユーザが認証されないとき、それ故、装置がほとんどの使用からロックされたときに示されるスクリーンである。ある機能、例えば、カメラが露出される。幾つかの実施形態では、示唆されたアプリケーションに対応するユーザインターフェイスがロックスクリーンに露出される場合に、示唆されたアプリケーションに関連したある機能を得ることができる。例えば、アプリケーションを実行することができる。その機能は、アプリケーションがロックスクリーンから実行される場合には制限され、そしてその制限された機能は、ユーザが認証されたときに拡張される。
[0018]「コンテキスト情報」は、装置のコンテキストを定義するのに使用できるデータを総体的に指す。所与のコンテキストに対するコンテキスト情報は、装置の異なるプロパティに各々対応する１つ以上のコンテキストデータを含む。潜在的なプロパティは、時間カテゴリー又は位置カテゴリーのような異なるカテゴリーに属する。コンテキストデータがモデル（又はサブモデル）の特徴として使用されるときに、モデルを訓練するのに使用されるデータは、同じカテゴリーの異なるプロパティを含む。特定のコンテキストは、装置のプロパティの特定の組み合わせ又は１つのプロパティのみに対応する。
詳細な説明
[0019]現在の移動装置は、多数のアプリケーションをそのソリッドステートドライブに記憶している。あるケースでは、移動装置は、数百のアプリケーションをそのソリッドステートドライブに記憶している。ユーザは、自分の移動装置でアプリケーションを実行したいときに、装置をアンロックし、装置内の全てのアプリケーションをサーチして希望のアプリケーションを識別し、次いで、アプリケーションの実行を開始しなければならない。希望のアプリケーションを見つけるプロセスを進めることは、非常に時間がかかり、そして特に、他のものより頻繁に繰り返し使用されるアプリケーションについては、冗長なことである。
[0020]ユーザは、特定の条件が満足される（例えば、トリガーイベントが生じる）ときに所定のアプリケーションの特定アクションを自動的に遂行するように装置を事前にプログラムすることができる。例えば、装置は、トリガーイベントが生じるときに所定のアプリケーションを示唆するようにプログラムされる。しかし、そのようなオペレーションは、静的であり、ユーザによる構成を要求する。
[0021]所定のアプリケーションを自動的に示唆するのではなく、本発明の実施形態は、予想モデルを使用して、トリガーイベントが生じたときにユーザによりおそらく実行されるアプリケーションを所与のコンテキストにおいて示唆することができる。同じトリガーイベントの異なるコンテキストについて異なるアプリケーションが識別されてもよい。一例として、あるアプリケーションが第１のコンテキストにおいて示唆されるが、別のアプリケーションが第２のコンテキストにおいて示唆される。
[0022]おそらくユーザが使用するアプリケーションを識別することは、多数の利益がある。ユーザインターフェイスは、好都合なやり方で又は好都合なスクリーンでユーザに与えることができ、これは、時間を節約すると共に、装置の動作を合理化することができる。ユーザは、使用するアプリケーションを識別するために多数のアプリケーションをサーチする必要がない。アプリケーションのユーザインターフェイスは、ユーザがアプリケーションを使用する確率がどれほど高いかに基づき種々の仕方で与えることができる。更に、予想モデルは、特定のアクションが実行される確率が高い場合には特定のユーザインターフェイスを与えてもよい。従って、幾つかの実施形態では、使用する確率が高いほど、より積極的なアクションを取ることができ、例えば、アプリケーションをオープンし易いメカニズムを与えるだけではなくて、対応するユーザインターフェイス（例えば、視覚又は音声コマンド）でアプリケーションを自動的にオープンすることができる。
Ｉ．アプリケーションの予想
[0023]幾つかの実施形態では、トリガーイベントに基づいてアプリケーションを示唆することができる。例えば、ヘッドホンがヘッドホンジャックに挿入されたときには音楽アプリケーションを示唆することができる。幾つかの実施形態では、コンテキスト情報をトリガーイベントに関連して使用して、ユーザに示唆するアプリケーションを識別する。例えば、ヘッドホンのセットがヘッドホンジャックに挿入されたときには、位置に関連したコンテキスト情報が使用される。例えば、装置がジムにある場合には、ヘッドホンがヘッドホンジャックに挿入されると、アプリケーションＡが示唆される。或いは又、装置が家にある場合には、ヘッドホンがヘッドホンジャックに挿入されると、アプリケーションＢが示唆される。従って、あるコンテキストのもとでおそらく使用されるアプリケーションが好都合な時間に示唆され、従って、ユーザの経験を向上させる。
[0024]図１は、本発明の実施形態によりトリガーイベントに基づいてアプリケーションを示唆するための方法１００のフローチャートである。この方法１００は、移動装置（例えば、電話、タブレット）により遂行され、そして装置の１つ以上のユーザインターフェイスを使用する。
[0025]ブロック１０２において、トリガーイベントが検出される。装置において生じる全てのイベントがトリガーイベントではない。トリガーイベントは、充分な確率で装置の独特なオペレーションに相関するものとして識別することができる。トリガーイベントであるイベントのリストが装置に記憶される。そのようなイベントは、デフォールトリストであり、オペレーティングシステムの一部分として維持され、そしてユーザにより構成できてもできなくてもよい。
[0026]トリガーイベントは、ユーザ及び／又は外部装置により誘発されるイベントである。例えば、トリガーイベントは、付属装置を移動装置に接続するときである。例えば、ヘッドホンをヘッドホンジャックに挿入し、Ｂｌｕｅｔｏｏｔｈ接続を行い、等々である。この例において、それらの各々が異なるトリガーイベントとして分類されてもよいし、或いはトリガーイベントは、総体的に、付属装置を移動装置に接続することでもよい。例えば、ユーザは、移動装置をランニングと一貫した仕方で動かすことができ、この場合、装置のランニング状態がトリガーイベントである。そのようなランニング状態（又は他の状態）は、装置のセンサに基づいて決定される。
[0027]ブロック１０４において、トリガーイベントに関連したアプリケーションが識別される。例えば、ヘッドホンがヘッドホンジャックに挿入されたときには、音楽アプリケーションが識別される。ある実施形態では、２つ以上のアプリケーションが識別される。予想モデルは、関連アプリケーションを識別し、予想モデルは、特定のトリガーイベントについて選択される。予想モデルは、例えば、異なるアプリケーションがおそらく異なるコンテキストに使用されるので、コンテキスト情報を使用して、アプリケーションを識別する。幾つかの実施形態では、例えば、ユーザと装置との履歴的な相互作用から決定されるように、ユーザにより選択される確率が充分であるときだけアプリケーションが識別される。種々の形式の予想モデルが使用される。予想モデルは、例えば、ニュートラルネットワーク、判断ツリー、マルチレベル論理的回帰、及びその組み合わせを含む。
[0028]ブロック１０６において、アプリケーションに関連してアクションが遂行される。一実施形態では、アクションは、ユーザに対してユーザインターフェイスを与えてアプリケーションを実行することである。ユーザインターフェイスは、種々の仕方で与えられ、例えば、装置のスクリーンに表示し、表面に投影し、又は音声インターフェイスを与えることにより与えられる。
[0029]他の実施形態では、アプリケーションが実行され、そしてアプリケーション特有のユーザインターフェイスがユーザに与えられる。例えば、ロックスクリーン上でアプリケーションを識別するのに応答していずれかのユーザインターフェイスが与えられる。他の具現化では、ユーザが（例えば、パスワード又はバイオメトリックにより）認証された後に、アプリケーションと相互作用するユーザインターフェイスが与えられる。ユーザインターフェイスが表示されるとき、そのようなユーザインターフェイスは、ホームスクリーンのみよりも特定のものとなり、即ちホームスクリーン上よりも実行のために示唆されるリストが小さくなる。ユーザインターフェイスは、トリガーイベントが検出された後に装置のディスプレイに直ちに表示される。他の実施形態では、ユーザインターフェイスは、ユーザがある程度の入力（例えば、１つ以上のクリックジェスチャー）を与えた後に表示され、これでも、アプリケーションが示唆されない場合よりユーザ入力（例えば、クリックの数）は少ない。
II．イベント開始予想
[0030]トリガーイベントは、ユーザに与える１つ以上のアプリケーションの識別をトリガーするイベントの所定セットである。イベントは、装置のコンポーネントによって発生される信号を使用して検出される。トリガーイベントをどのように検出するかの詳細は、以下に述べる。
[0031]図２は、本発明の実施形態によりトリガーイベントを決定するための検出システム２００の簡単なブロック図である。検出システム２００は、トリガーイベントが決定される装置内に存在する。図示されたように、検出システム２００は、複数の異なるイベントを検出することができる。検出されたイベントの１つ以上は、検出システム２００により、トリガーイベントであると決定される。他の処理モジュールは、次いで、トリガーイベントを使用して処理を遂行する。
Ａ．イベントの検出
[0032]実施形態において、検出システム２００は、イベントを検出するためのハードウェア及びソフトウェアコンポーネントを含む。一例として、検出システム２００は、入力装置２０２のような複数の入力装置を備えている。入力装置２０２は、イベントに応答して信号を発生できる適当な装置である。例えば、入力装置２０２は、装置接続入力装置２０４、ユーザ相互作用入力装置２０６、及び位置入力装置２０８を含み、これらは、各々、装置接続イベント、ユーザ相互接続イベント、及び位置イベントを検出することができる。入力装置においてイベントが検出されると、入力装置は、特定のイベントを指示する信号を更なる分析のために送信する。
[0033]ある実施形態では、コンポーネントの集合体が単一のイベントに貢献する。例えば、ある個人が、モーションセンサ及びＧＰＳ位置装置に基づいて、ランニングしていると検出される。
１．装置接続イベント
[0034]装置接続イベントは、装置に他の装置が接続されたときに生じるイベントである。例えば、装置接続入力装置２０４は、装置が装置に通信結合された場合にイベントを検出することができる。外部装置へのワイヤード又はワイヤレス接続を形成する適当な装置コンポーネントを装置接続入力装置２０４として使用することができる。装置接続入力装置２０４は、例えば、ヘッドホンジャック２１０及びデータ接続部２１２、例えば、ワイヤレス接続回路（例えば、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ、等）又はワイヤード接続回路（例えば、イーサネット（登録商標）、等）を含む。
[0035]ヘッドホンジャック２１０は、ヘッドホンのセットを装置に結合するのを許す。例えば、ヘッドホンジャック２１０に挿入する再に電気的接続を生成することによりヘッドホンが結合されるときに信号が発生される。より複雑な実施形態では、ヘッドホンジャック２１０は、ヘッドホンジャックのタイプを識別する識別信号を装置に与える回路を含む。従って、イベントは、種々の仕方で検出され、そして信号は、種々の仕方で発生され及び／又は通信される。
[0036]データ接続部２１２は、例えば、ワイヤレス接続を経て外部装置と通信結合される。例えば、Ｂｌｕｅｔｏｏｔｈ接続部は、乗物のコンピュータ又はワイヤレスヘッドセットのコンピュータに結合される。従って、外部装置がデータ接続部２１２を経て移動装置に結合されたときに、外部装置が接続されたことが決定され、そしてそれに対応する装置接続イベント信号が発生される。
２．ユーザ相互作用イベント
[0037]ユーザ相互作用入力装置２０６は、ユーザ相互作用イベントの検出に使用される。ユーザ相互作用イベントは、ユーザが装置と相互作用するときに生じる。ある実施形態では、ユーザは、表示されるユーザインターフェイスを、ユーザ相互作用入力装置２０６の１つを経て直接アクチベートすることができる。他の実施形態では、ユーザインターフェイスは、表示されないが、例えば、ユーザが装置を振動させるか又は他の形式のジェスチャーを与えることにより、依然、ユーザにとってアクセス可能である。更に、相互作用は、例えば、状態エンジンが装置のセンサからの値を使用するときには、ユーザインターフェイスを含まない。
[0038]ユーザインターフェイスの適当な装置コンポーネントは、ユーザ相互作用入力装置２０６として使用される。適当なユーザ相互作用入力装置は、例えば、ボタン２１４（例えば、ホーム又は電源ボタン）、タッチスクリーン２１６、及び加速度計２１８である。例えば、移動装置のボタン２１４、例えば、ホームボタン、電源ボタン、ボリュームボタン、等は、ユーザ相互作用入力装置２０４である。更に、サイレントモードスイッチのようなスイッチは、ユーザ相互作用入力装置２０４である。ユーザが装置と相互作用するとき、ユーザがユーザ入力を与えたことが決定され、そしてそれに対応するユーザ相互作用イベントが発生される。そのようなイベントは、例えば、装置が最初にターンオンされたとき又は朝に（又は他の長いインアクティビティ期間に）アクチベートされたとき、装置の現在状態に依存する。そのような情報は、イベントがトリガーイベントであるかどうか決定するときにも使用される。
[0039]タッチスクリーン２１６は、ユーザがディスプレイスクリーンを経てユーザ入力を与えるのを許す。例えば、ユーザは、ディスプレイを横切って自分の指をスワイプさせ、ユーザ入力信号を発生する。ユーザがアクションを遂行するとき、それに対応するユーザ相互作用イベントが検出される。
[0040]加速度計２１８又は他のモーションセンサは、振動又は傾斜のような移動装置の動きを（例えば、ジャイロメータ又はコンパスを使用して）検出する受動的コンポーネントである。移動装置のそのような動きは、動きが特定形式のものであることを決定できるイベントマネージャー２３０により検出される。イベントマネージャー２３０は、装置の所与の状態においてユーザ相互作用イベントの特定形式に対応するイベント信号２３２を発生する。装置の状態は、状態エンジンによって決定され、その詳細は、参考としてここにそのまま援用する“Activity Detection”と題する米国特許公告第２０１２／０３１０５８７号及び“Determining Exit From A Vehicle”と題する米国特許公告第２０１５／００５０９２３号に見られる。
[0041]１つの例は、ユーザがランニングをしているときであり、加速度計は、振動を感知し、そしてイベントマネージャー２３０に送られる信号を発生する。イベントマネージャー２３０は、加速度計信号を分析して、イベントのタイプを決定する。イベントのタイプが決定されると、イベントマネージャー２３０は、イベントのタイプに対応するイベント信号２３２を発生する。移動装置は、ユーザがランニングしていることを指示するように動くことができる。従って、この特定のユーザ相互作用は、ランニングイベントとして識別される。イベントマネージャー２３０は、次いで、ランニングイベントが検出されたことを指示するイベント信号２３２を発生しそして送信する。
３．位置イベント
[0042]位置入力装置２０８は、位置イベントを発生するのに使用される。位置イベントを発生するのに適当なポジショニングシステムが使用される。例えば、位置イベントを発生するのにグローバルポジショニングシステム（ＧＰＳ）が使用される。位置イベントは、特定の地理的位置に対応するイベントである。例えば、移動装置が特定の位置に到着した場合には、ＧＰＳコンポーネントは、位置イベントに対応する入力信号を発生する。典型的に、移動装置は、１日当たり数十又は数百の位置へ移動し、そのほとんどは、位置イベントとして考えるに充分なほど重要ではない。従って、検出される各位置が位置イベントになるのではない。これらの実施形態において、位置イベントは、他のものより頻繁に生じる位置である。例えば、イベントは、ある期間に少なくともスレッシュホールド回数だけ頻繁に生じ、例えば、６ヶ月から１年のスパンで５回生じる場合に、位置イベントとなる。従って、重要な位置は、重要でない位置から分離され、そして位置イベントであると決定される。
Ｂ．トリガーイベントの決定
[0043]図２に更に示すように、入力装置２０２は、検出されたイベント２２２を、例えば、いずれかの対応イベントの結果として出力する。検出されたイベントは、検出されたイベント２２２に対する信号をどの入力装置が送信するかに関する情報、特定のイベントに対するサブタイプ（例えば、どのタイプのヘッドホンか又はどのタイプのデータ接続か）を含む。そのような情報は、検出されたイベント２２２がトリガーイベントであるかどうか決定するのに使用され、そして示唆されたアプリケーションに対してどの予想モデルを使用するか又はどのアクションを遂行するか決定するため後のモジュールへ送られる。
[0044]検出されたイベント２２２は、イベントマネージャー２３０によって受け取られる。イベントマネージャー２３０は、入力装置２０２から信号を受け取り、そしてどんなタイプのイベントが検出されるか決定する。イベントのタイプに基づいて、イベントマネージャー２３０は、信号（例えば、イベント信号２３２）を異なるエンジンへ出力する。異なるエンジンは、それらの機能にとって重要な特定のイベント信号２３２を受け取るようにイベントマネージャー２３０と契約する。例えば、トリガーイベントエンジン２２４は、入力装置２０２からの検出されたイベント２２２に応答して発生されるイベント信号２３２を受け取るように契約される。イベント信号２３２は、検出されたイベント２２２から決定されたイベントのタイプに対応する。
[0045]トリガーイベントエンジン２２４は、検出されたイベント２２２がトリガーイベントであるかどうか決定するように構成される。この決定を行うために、トリガーイベントエンジン２２４は、トリガーイベントエンジン２２４に結合される指定トリガーイベントデータベース２２６を参照する。この指定トリガーイベントデータベース２２６は、トリガーイベントとして指定される所定のイベントのリストを含む。
[0046]トリガーイベントエンジン２２４は、受け取った検出イベント２２２を所定イベントのリストと比較し、そして検出イベント２２２が指定トリガーイベントデータベース２２６にリストされた所定イベントに一致する場合にトリガーイベント２２８を出力する。例えば、所定イベントのリストは、（１）ヘッドホンをヘッドホンジャックに挿入すること、（２）Ｂｌｕｅｔｏｏｔｈ接続を経て外部装置を接続すること、（３）ある期間が経過した後に（例えば、朝目が覚めた際に）ボタンを押すこと、（４）装置のあるタイプの動きを感知すること、及び（５）ある位置に到着すること、の１つ以上を含む。（５）については、指定トリガーイベントデータベース２２６は、ある位置の仕様を含む。
[0047]ここに述べるように、本発明の技術の１つの観点は、ユーザにアプリケーションを示唆するために種々のソースから利用できるデータを収集して使用することである。本開示は、幾つかの例において、この収集されたデータが、特定の個人を独特に識別し或いは連絡又は探索するのに使用できる個人情報データを含むことを意図している。そのような個人的な情報データは、位置ベースのデータ、ホームアドレス、又は他の識別情報を含む。
[0048]本開示は、そのような個人的情報データを、本発明技術において、ユーザの利益のために使用できることを認識する。例えば、個人的情報データは、ユーザに非常に感心のあるアプリケーションを示唆するのに使用できる。従って、そのような個人的情報データの使用は、配信されるコンテンツの計算された制御を可能にする。更に、本開示では、ユーザに利益を与える個人的情報データの他の使用も意図される。
[0049]本開示は、更に、そのような個人的情報データを収集し、分析し、開示し、転送し、記憶し、又は他に使用する役割を果たすエンティティは、充分に確立されたプライバシーポリシー及び／又はプライバシー慣習に合致することを意図している。特に、そのようなエンティティは、個人的情報データを内密に且つ安全に維持するための工業的又は政治的要件を満足し又はそれを越えるものとして一般的に認識されるプライバシーポリシー及び慣例を具現化しそして一貫して使用しなければならない。例えば、ユーザからの個人的情報は、エンティティの合法的及び合理的使用のために収集されるべきであって、合法的使用以外の共有や販売があってはならない。更に、そのようなエンティティは、そのような個人的情報データへのアクセスを保護し且つ厳重保管し、そして個人的情報データにアクセスする他のものがそのプライバシーポリシー及び手順を遵守することを保証するのに必要なステップを取る。更に、そのようなエンティティは、広く受け容れられるプライバシーポリシー及び慣習に対する遵守を証明するために彼ら自身が第三者による評価を受けることができる。
[0050]以上のことにも関わらず、本開示は、ユーザが個人的情報データの使用又はそこへのアクセスを選択的に阻止する実施形態も意図している。即ち、本開示は、そのような個人的情報データへのアクセスを防止し又は阻止するためにハードウェア及び／又はソフトウェア要素が設けられることを意図している。例えば、ユーザは、ターゲットとするコンテンツ配信サービスに対して位置情報を与えないように選択することができる。更に別の例では、ユーザは、正確な位置情報を与えないが、位置ゾーン情報の転送は許すように選択することができる。
III．示唆されるアプリケーションの決定
[0051]トリガーイベントが検出されると、トリガーイベントに基づいてアプリケーションが識別される。ある実施形態では、アプリケーションの識別は、事前にプログラムされたアクションではない。むしろ、アプリケーションの識別は、付加的な情報に基づき変化する動的なアクションである。例えば、示唆されるアプリケーションの識別は、コンテキスト情報及び／又は履歴情報、並びに他の情報に基づいて決定される。
Ａ．トリガーイベントに基づきアプリケーションを決定するためのシステム
[0052]図３は、本発明の実施形態によりトリガーイベント及びコンテキスト情報に基づいてアプリケーション及びそれに対応するアクションコマンドを識別するための予想システム３００の簡単なブロック図である。予想システム３００は、アプリケーションを識別する装置内に存在する。予想システム３００は、ハードウェア及びソフトウェアコンポーネントを含む。
[0053]予想システム３００は、示唆されたアプリケーションを識別するための予想エンジン３０２を備えている。予想エンジン３０２は、図２に示すトリガーイベント２２８のようなトリガーイベントを受け取る。予想エンジン３０２は、トリガーイベント２２８から収集した情報を使用して、示唆されたアプリケーション３０４を識別する。図示されたように、予想エンジン３０２は、トリガーイベント２２８に加えて、コンテキストデータ３０６も受け取る。予想エンジン３０２は、トリガーイベント２２８及びコンテキスト情報３０６から収集した情報を使用して、示唆されたアプリケーション３０４を識別する。又、予想エンジン３０２は、実行すべきアクションも決定し、例えば、示唆されたアプリケーションと相互作用するためにユーザに対してユーザインターフェイスをいつどのように与えるかも決定する。
[0054]ある実施形態では、示唆されたアプリケーション３０４は、移動装置のソリッドステートドライブに存在するアプリケーションである。従って、予想エンジン３０２は、トリガーイベントが検出されたときにアプリケーションを示唆する能力を有する。或いは又、ある実施形態では、予想エンジン３０２は、トリガーイベントが検出されたとき全部より少ないアプリケーションを示唆する能力を有してもよい。例えば、ユーザは、予想エンジン３０２に対してアクセス不能な幾つかのアプリケーションを選択してもよい。従って、予想エンジン３０２は、トリガーイベントが検出されたときにそれらのアプリケーションを示唆することができない。
１．コンテキスト情報
[0055]コンテキスト情報は、コンテキストデータから収集される。ある実施形態において、コンテキスト情報は、いつでも受け取られる。例えば、コンテキスト情報は、トリガーイベント２２８が検出される前及び／又は後に受け取られる。それに加えて、コンテキスト情報は、トリガーイベント２２８の検出中に受け取られる。コンテキスト情報は、あるコンテキストに対して装置の１つ以上のプロパティを特定する。コンテキストは、トリガーイベント２２８が検出されたときの装置の周囲環境（コンテキストのタイプ）である。例えば、コンテキスト情報は、トリガーイベント２２８が検出された１日の時刻である。別の例では、コンテキスト情報は、トリガーイベント２２８が検出されたときの装置のある位置である。更に別の例では、コンテキスト情報は、トリガーイベント２２８が検出されたときの日付である。加えて、コンテキスト情報は、カレンダーから収集されたデータでもよい。例えば、現在時刻とイベント時刻との間の時間量（例えば、何日又は何時間）でもよい。そのようなコンテキスト情報は、予想エンジン３０２がそのコンテキストにおいてユーザによりおそらく使用されるアプリケーションを正確に示唆するように装置のコンテキストに関する有意義な情報を与える。従って、コンテキスト情報を使用する予想エンジン３０２は、コンテキスト情報が使用されない場合より正確にアプリケーションをユーザに示唆する。
[0056]コンテキストデータ３０６は、コンテキストソース３０８により発生される。コンテキストソース３０８は、移動装置の現在状態に関連したデータを与える移動装置のコンポーネントである。例えば、コンテキストソース３０８は、１日の時刻、装置の位置、及び年月日に各々関連した情報を与えるために内部デジタルクロック３１０、ＧＰＳ装置３１２及びカレンダー３１４として動作するハードウェア装置及び／又はソフトウェアコードである。他のコンテキストソースを使用してもよい。
[0057]予想エンジン３０２のためのコンテキストデータ３０６の収集は、電力効率的に遂行される。例えば、ＧＰＳ３１２を連続的にポーリングして装置の位置を決定することは、著しく電力集中的であり、バッテリ寿命を低下させる。バッテリ寿命の低下を回避するために、予想エンジン３０２は、ＧＰＳ３１２以外のソースから装置の位置を要求することにより装置の位置を決定する。位置情報のための別のソースは、装置の位置に対してＧＰＳ３１２を最近ポーリングしたアプリケーションである。例えば、アプリケーションＡが装置の位置に対してＧＰＳ３１２をポーリングした最も直近のアプリケーションである場合には、予想エンジン３０２は、ＧＰＳ３１２を個別にポーリングするのではなく、アプリケーションＡから位置データを要求しそして受け取る。
２．履歴情報
[0058]コンテキストソース３０８に加えて、ある実施形態では、履歴的イベントデータベース３１６も予想エンジン３０２により使用される。履歴的イベントデータベース３１６は、トリガーイベント２２８が検出された後のユーザと移動装置との間の以前の相互作用の履歴情報を含む。
[0059]履歴的イベントデータベース３１６は、あるトリガーイベントに続いてアプリケーションがオープンした回数の記録を保持する。例えば、データベース３１６は、ヘッドホンをヘッドホンジャックに差し込んだ後に１０回のうち８回ユーザがアプリケーションＡをオープンしたことを指示する記録を保持する。従って、予想エンジン３０２は、この情報を履歴的データ３１８として受け取って、ヘッドホンのセットがヘッドホンジャックに挿入されたときにユーザに対してアプリケーションＡを識別すべきであることを決定する。
[0060]又、履歴的イベントデータベース３１６は、トリガーイベントが検出されたときに異なるコンテキストのもとでアプリケーションがオープンした回数の記録も保持する。例えば、データベース３１６は、ユーザが家にいるときはヘッドホンをヘッドホンジャックに差し込んだ後に１０回のうち９回、そしてユーザがジムにいるときは１０回のうち１回、ユーザがアプリケーションＡをオープンしたことを指示する記録を保持する。従って、予想エンジン３０２は、この情報を履歴的データ３１８として受け取り、そして家にいてヘッドホンが装置に挿入されたときはアプリケーションＡを識別するが、ジムにいるときは識別しないと決定する。ここに述べる例は、「家」又は「ジム」として位置を示すが、「家」又は「ジム」を表すコンテキストデータ３０６は、数値座標の形態でもよいことが明らかである。又、当業者であれば、他のアプリケーションを識別するのと同様に位置に代って１日の時刻及び年月日に関する情報を使用してもよいことが理解されよう。
[0061]又、履歴的イベントデータベース３１６は、どれほど頻繁に、及びどんな環境のもとで、ユーザが識別されたアプリケーションをランニングしないと判断するかの記録も保持する。例えば、データベース３１６は、ユーザが家でヘッドホンを装置に挿入したときユーザに示唆されたアプリケーションＢを１０回のうち２回選択しなかったことを指示する記録を保持する。従って、予想エンジン３０２は、この情報を履歴的データ３１８として受け取って、ユーザが家でヘッドホンを装置に挿入したときにアプリケーションＢを示唆する確率を調整する。
[0062]ある実施形態では、コンテキスト情報３０６及び／又は履歴情報（ここで更に説明する）は、トリガーイベントが検出されたときに利用不能となるか又は制限される。そのようなケースでは、トリガーイベントが検出されたときデフォールトアプリケーションが示唆される。デフォールトアプリケーションは、トリガーイベントのタイプに通常関連したアプリケーションのタイプである。例えば、音楽アプリケーションは、ヘッドホンのセットがヘッドホンジャックに挿入される場合に、示唆される。或いは又、Ｂｌｕｅｔｏｏｔｈ接続が車でなされたときには、マップアプリケーションが示唆される。再度履歴情報が得られると、デフォールトアプリケーションに代って、示唆されるアプリケーションが与えられる。
Ｂ．複数の予想モデル
[0063]異なるトリガーイベントが異なるアプリケーションの示唆を生じるので、ある実施形態では、異なるトリガーイベントに対して異なる予想モデルが使用される。このように、予想モデルは、特定のトリガーイベントに対してより正確な示唆を与えるように洗練化される。
[0064]図４は、本発明の実施形態による予想エンジン３０２を詳細に示す。予想エンジン３０２は、メモリ装置に記憶されたプログラムコードである。ある実施形態において、予想エンジン３０２は、１つ以上の予想モデルを含む。例えば、予想エンジン３０２は、予想モデル１ないしＮを含む。各予想モデルは、特定のトリガーイベント２２８のためのアプリケーションを識別するように特に設計されたコード及び／又はデータのセクションである。例えば、予想モデル１は、ヘッドホンのセットがヘッドホンジャックに挿入されるトリガーイベントのためのアプリケーションを識別するように特に設計される。予想モデル２は、Ｂｌｕｅｔｏｏｔｈ装置が接続されるトリガーイベントのためのアプリケーションを識別するように設計される。
[0065]予想モデル３は、長い期間の後にユーザが装置のユーザインターフェイスと相互作用する場合にトリガーイベントのためのアプリケーションを識別するように設計される（例えば、朝目覚めた後にユーザが移動装置と最初に相互作用するとき）。他の予想モデルは、あるパターンの検出された動き（例えば、ユーザが移動装置と共にランニングしているとき）、特定位置への到着、及び特定のアプリケーションの選択（例えば、車のコンピュータと通信するアプリケーションの選択）に関連したトリガーイベントのためのアプリケーションを識別するように設計される。トリガーイベント２２８の数に基づいて予想エンジン３０２には多数の予想モデルが含まれる。
[0066]図示されたように、各予想モデル１ないしＮは、コンテキストソース及び履歴的イベントデータベースに結合されて、コンテキストデータ３０６及び履歴データ３１８を受け取る。従って、各予想モデルは、ここに述べる実施形態によれば、コンテキストデータ３０６及び履歴データ３１８を使用して、示唆されたアプリケーション３０４を識別する。
[0067]図３に戻ると、予想エンジン３０２は、示唆されたアプリケーション３０４を専門センターモデル３２０に送信する。ある実施形態において、イベントマネージャー３２０は、サーチスクリーン又は他のスクリーンがオープンするとき、装置、例えば、ロックスクリーンに何が表示されるか管理するコードのセクションである。例えば、専門センター３２０は、どの情報、例えば、示唆されたアプリケーション、示唆された連絡先、及び／又は他の情報がユーザに表示されるかを整合する。又、専門センター３２０は、そのような情報をユーザにいつ与えるかも決定する。
IV．ユーザインターフェイス
[0068]示唆されたアプリケーションをユーザへ出力するのに好都合な時間であることをイベントマネージャー３２０が決定した場合に、イベントマネージャー３２０は、アプリケーション３２２をユーザインターフェイス３２４へ出力する。ある実施形態において、出力されたアプリケーション３２２は、示唆されたアプリケーション３０４に対応する。ユーザインターフェイス３２４は、出力されたアプリケーション３２２をユーザに通信し、そして出力されたアプリケーション３２２に関してユーザから応答を求める。
[0069]ある実施形態において、ユーザインターフェイス３２４は、ユーザが相互作用する装置コンポーネントの組み合わせである。例えば、ユーザインターフェイス３２４は、ユーザに情報を出力し及び／又はユーザが装置に信号を入力できるようにする能力を有する装置コンポーネントの組み合わせである。
Ａ．ディスプレイ
[0070]ユーザインターフェイス３２４は、装置のディスプレイに表示される。ディスプレイは、ディスプレイとの物理的な相互作用により入力信号を発生できるように、タッチを感知する。そのような実施形態では、ディスプレイは、ディスプレイに対するユーザのタッチを検出するために画像表示層に重畳されたタッチ感知層を含む。従って、ディスプレイは、ユーザへ情報を出力すると共にユーザからの情報を入力することのできるユーザインターフェイス３２４の一部分である。例えば、ディスプレイは、ユーザがディスプレイパネルの対応位置をタップしたときに、示唆されたアプリケーションに対してアイコンを示し、そしてそのアプリケーションをランする信号を入力する。
[0071]近代的な装置は、装置の無断使用を防止するセキュリティ手段を有する。そのような装置は、装置に記憶された全てのアプリケーションにユーザがアクセスする前に装置をアンロックすることをユーザに要求する。装置は、装置のセキュリティ状態に基づいて全てのアプリケーションのアクセス性を制限する。例えば、装置は、装置が全てのアプリケーションへのアクセスを許す前に装置をアンロックするようにユーザに要求する。アンロックされた装置は、ホームスクリーンを示すディスプレイを有する。ホームスクリーンは、装置の全てのアプリケーションへのアクセスを表示し及び／又は与えることができる。しかしながら、ロックされた装置は、ロックスクリーンを示すディスプレイを有する。ディスプレイのある領域は、装置をアンロックするためにプロンプトにより占有される。従って、ロックスクリーンは、装置のセキュリティ増強状態及び表示スペース制限のためにホームスクリーンより少数のアプリケーションとの相互作用しか許さない。例えば、ロックスクリーンは、装置の全部より少ないアプリケーション、例えば、３つのうちの１つのアプリケーションへのアクセスしか許さない。ある実施形態では、図３を参照してここに述べる示唆されたアプリケーション３０４がロックスクリーンに表示される。
Ｂ．他の入力及び出力装置コンポーネント
[0072]ディスプレイは、ユーザへの情報の出力及びユーザからの情報の入力の両方を実行できるユーザインターフェイス３２４の一部分であるが、ユーザインターフェイス３２４の他の部分は、そのように制限されない。例えば、ここに示す実施形態では、ユーザから情報を入力できる他の装置コンポーネントも考えられる。例えば、ボタン及びスイッチは、ユーザインターフェイス３２４の一部分である。ボタンは、ユーザがそこに圧力を加えたときに入力を発生する装置コンポーネントである。スイッチは、ユーザがレバーを別の位置へ入れたときに入力を発生する装置コンポーネントである。従って、ボタン及び／又はスイッチは、ここに述べる実施形態に基づいて、示唆されたアプリケーション３０４をランさせるようにユーザによりアクチベートされる。
[0073]ここに示す実施形態では、ユーザから情報を出力する装置コンポーネントも考えられる。例えば、スピーカ又は触覚装置は、ユーザに情報を出力するユーザインターフェイスの部分である。スピーカは、指示されたアプリケーションが示唆されたことを示すために音声通知を出力する。触覚装置は、指示されたアプリケーションが示唆されたことを示すために触覚通知を出力する。そのような装置は、単なる実施形態に過ぎず、そして他の実施形態は、そのような装置に制限されないことが明らかである。
Ｃ．相互作用のレベル
[0074]ユーザインターフェイス３２４は、出力されたアプリケーション３２２をユーザがランするために異なるレベルの相互作用を要求する。種々のレベルは、示唆されたアプリケーション３０４をユーザがランする確率の程度に対応する。例えば、示唆されたアプリケーション３０４がユーザによりランされる確率がスレッシュホールド確率より高いことが予想エンジン３０２により決定された場合には、ユーザインターフェイス３２４は、ユーザが中間ステップをスキップすることによりアプリケーションをより迅速に実行するのを許すプロンプトを出力する。
[0075]一例として、示唆された音楽アプリケーションをユーザがランする確率が上限スレッシュホールド確率より高いことが予想エンジン３０２により決定された場合には、その示唆された音楽アプリケーションが自動的にランされ、従って、ユーザインターフェイス３２４は、音楽アプリケーションのためのコントロール、例えば、再生、休止及び早送り／逆転を表示する。それ故、ユーザは、アプリケーションをランするのに中間クリックステップを遂行する必要がない。
[0076]或いは又、音楽アプリケーションをユーザがランする確率が上限スレッシュホールド確率より低いが、下限スレッシュホールド確率よりは依然高いことが予想エンジン３０２により決定された場合には、音楽アプリケーションがアイコンとして表示される。下限スレッシュホールド確率は、基線スレッシュホールド確率より高い。基線スレッシュホールド確率は、対応するアプリケーションが示唆される最小確率を確立する。従って、ユーザは、示唆された音楽アプリケーションをランするためにアイコンにおいて余計なクリックステップを遂行しなければならない。しかしながら、クリックの回数は、ユーザにアプリケーションが示唆されないときに要求されるクリックの回数より依然少ない。これらの実施形態では、スレッシュホールド確率は、アプリケーションのタイプによって変化する。種々の実施形態において、上限スレッシュホールド確率は、７５％ないし１００％の範囲であり、下限スレッシュホールド確率は、５０％ないし７５％の範囲であり、そして基線スレッシュホールドは、２５％ないし５０％の範囲である。特定の実施形態では、上限スレッシュホールド確率が７５％であり、下限スレッシュホールド確率が５０％であり、そして基線確率が２５％である。
[0077]それら実施形態において、より高い確率は、より積極的なアプリケーション示唆を生じる。例えば、アプリケーションが約９０％の高い確率である場合には、予想エンジン３０２は、装置のロックスクリーンにアイコンを与え、ユーザがアイコンの１回のクリックでそのアプリケーションにアクセスするのを許す。アプリケーションが約９５％の更に高い確率である場合には、予想エンジン３０２は、ユーザが何のクリックもせずに、ユーザのための示唆されたアプリケーションを自動的にランすることができる。そのような場合に、予想エンジン３０２は、示唆されたアプリケーションの出力を行うだけでなく、そのアプリケーションに特有のコマンド、例えば、音楽アプリケーションにおいて選択された音楽を再生するコマンド、又はマップアプリケーションにおいて特定ルートの誘導を開始するコマンドの出力も行う。
[0078]本発明の実施形態によれば、予想エンジン３０２は、どんなレベルの相互作用が要求されるか決定し、そしてその情報をイベントマネージャー３２０に出力する。イベントマネージャー３２０は、次いで、この情報を、ユーザインターフェイス３２４へ送信して、ユーザに出力する。
[0079]これら実施形態において、ユーザインターフェイス３２４は、ディスプレイスクリーンにおいてユーザに通知を表示する。この通知は、例えば、プッシュ通知により送信される。この通知は、示唆されたアプリケーションをユーザに通知する絵及び／又はテキストを含む視覚通知でもよい。この通知は、ユーザが自分の余暇に選択してランするためのアプリケーションをユーザに示唆する。選択されると、アプリケーションが実行される。ある実施形態では、より積極的な予想のために、通知は、示唆されたアプリケーション内の示唆されたアクションも含む。即ち、通知は、示唆されたアプリケーション及び示唆されたアプリケーション内の示唆されたアクションをユーザに通知する。従って、ユーザには、示唆されたアプリケーションをランするか、又は示唆されたアプリケーション内の示唆されたアクションを遂行する選択肢が与えられる。一例として、通知は、示唆されたアプリケーションが音楽アプリケーションであり且つ示唆されたアクションが音楽アプリケーション内のある歌を再生することをユーザに通知する。ユーザは、示唆された歌を示すアイコンをクリックすることにより歌を再生したいことを指示する。或いは又、ユーザは、スクリーンを横切って通知をスワイプすることにより別の歌を再生するようにアプリケーションをランすることを指示してもよい。
[0080]示唆されたアプリケーション及び示唆されたアクションを１つの通知でユーザインターフェイス３２４へ出力するのではなく、予想エンジン３０２は、２つの示唆されたアクションを１つの通知でユーザインターフェイス３２４へ出力してもよい。例えば、予想エンジン３０２は、第１の歌を再生するための示唆されたアクション、及び第２の歌を再生するための第２の示唆されたアクションを出力してもよい。ユーザは、どの歌を再生するかを、通知の各アイコンをクリックすることで選択してもよい。それら実施形態において、示唆されたアクションは、異なる基準に基づいて決定される。例えば、１つの示唆されたアクションは、コンテキスト情報に関わりなく最も直近に再生された歌を再生するためのものであるが、他の示唆されたアクションは、同じ又は同様のコンテキスト情報のもとで最後に再生された歌を再生するためのものである。一例として、ユーザが自分の車に入りそしてトリガーイベントで予想エンジン３０２がある歌の再生に関連した２つのアクションを示唆するようにさせる環境では、歌Ａは、家で行われた最後の再生の歌であるが、歌Ｂは、ユーザが車で最後に再生した歌である。再生すべき歌をユーザが選択すると、歌は、始めから続くか、又は最後に停止されたところから（例えば、歌の中間点）から続く。
[0081]予想エンジン３０２がアクションを示唆できるようにするために、予想エンジン３０２は、装置のアクティブな状態に関する情報を記憶するメモリ装置にアクセスする。装置のアクティブな状態は、示唆されるアプリケーションの選択に続いて遂行されるアクションを表す。例えば、音楽アプリケーションのアクティブな状態は、ある歌を再生することである。アクティブな状態は、いつ歌が最後に停止されたかを追跡する。それら実施形態において、図３からの履歴的データベース３１６は、装置のアクティブな状態に関する履歴的データを記録する。従って、予想エンジン３０２は、示唆されたアプリケーションによりランされるアクションを示唆する。
Ｖ．示唆されるアプリケーションを決定する方法
[0082]図５は、本発明の実施形態によりトリガーイベントに基づいてアプリケーションを識別する方法５００のフローチャートである。この方法５００は、装置によって完全に又は部分的に遂行される。種々の例として、装置は、既に述べた電話、タブレット、ラップトップ、又は他の移動装置である。
[0083]ブロック５０２において、装置、例えば、移動装置がイベントを検出する。例えば、ヘッドホンのセットが装置のヘッドホンジャックに挿入される。別の例として、ワイヤレスハンドセットがＢｌｕｅｔｏｏｔｈ接続を経て装置に結合される。図２の入力装置２０２は、イベントを検出するのに使用される。イベントは、移動装置が外部装置又はユーザのような外部エンティティと相互作用するアクションである。
[0084]ブロック５０４において、装置は、検出されたイベントがトリガーイベントであるかどうか決定する。検出されたイベントがトリガーイベントであるかどうか決定するために、検出されたイベントは、所定のイベントリスト、例えば、図２の指定トリガーイベントデータベース２２６におけるイベントリストと比較される。検出されたイベントが所定のイベントリストの１つに一致する場合には、検出されたイベントは、トリガーイベントであると決定される。
[0085]ブロック５０６において、装置は、予想モデル、例えば、図４の予想モデル１ないしＮの１つを選択する。選択された予想モデルは、トリガーイベントに依存する。例えば、Ｂｌｕｅｔｏｏｔｈ接続のために設計された予想モデルは、トリガーイベントが外部装置とのＢｌｕｅｔｏｏｔｈ接続の確立に関連するときに選択される。別の例として、ヘッドホン接続のために設計された予想モデルは、トリガーイベントがヘッドホンジャックへのヘッドホンセットの挿入に関連するときに選択される。
[0086]ブロック５０８において、装置は、コンテキスト情報を受け取る。コンテキスト情報は、種々のソース、例えば、図３のコンテキストソース３０８から受け取られる。それらの実施形態において、コンテキスト情報は、装置の周囲状態に関連している。例えば、コンテキスト情報は、１日の時刻、年月日、又は装置の位置に関連している。更に、履歴情報も装置により受け取られる。履歴情報は、データベース、例えば、履歴的イベントデータベース３１６に記憶された装置とユーザとの間の相互作用の履歴に関連している。
[0087]ブロック５１０において、装置は、少なくともユーザによりアクセスされるスレッシュホールド確率を有する１つ以上のアプリケーションを識別する。ここに既に述べたように、複数のスレッシュホールドがある。ある実施形態では、スレッシュホールド確率は、基線スレッシュホールド確率、下限スレッシュホールド確率、又は上限スレッシュホールド確率である。例えば、１つ以上のアプリケーションは、スレッシュホールド確率より高い確率を各々有する。別の例において、１つ以上のアプリケーションは、スレッシュホールド確率より高い合成確率を有する。１つ以上のアプリケーションは、最上位確率を有するアプリケーションであり、種々の基準に対して選択される（例えば、全部がスレッシュホールドより高い確率を有し、必要とされる多数のアプリケーションがスレッシュホールドより高いが最大数に制限され、等々）。ある実施形態では、基線スレッシュホールド確率より低い確率を有するアプリケーションは、無視される。
[0088]ユーザによりアクセスされる確率は、予想モデルにより決定される。予想モデルは、コンテキスト情報及び履歴情報を使用することにより確率を決定する。これら実施形態では、識別されるアプリケーションは、図３及び４を参照してここに述べるアプリケーションである。
[0089]幾つかの実施形態では、アプリケーションが等しい確率を有する場合に、それらは無視され、即ち識別されない。それらの状態では、装置は、１つ以上のアプリケーションを適切に識別するために付加的な履歴情報を発生する必要がある。より多くの履歴情報が収集されるほど、装置が正しいアプリケーション、例えば、所与のコンテキストにおいてユーザがアクセスを希望するアプリケーションをより正確に識別することになる。他の実施形態では、例えば、両アプリケーションが最上位の２つの確率を有することで生じるが、それらの合成確率が充分に高い場合に、両アプリケーションが与えられる。
[0090]ブロック５１２において、装置は、ユーザにユーザインターフェイスを与える。例えば、装置は、ユーザが相互作用するインターフェイスを経て、識別されたアプリケーションをユーザに表示して、ユーザがその識別されたアプリケーションにアクセスしたいかどうか指示する。例えば、ユーザインターフェイスは、１つ以上の識別されたアプリケーションをユーザに示すタッチ感知ディスプレイを備え、これは、ユーザがそのタッチ感知ディスプレイとの相互作用で装置により識別される１つ以上のアプリケーションにアクセスするのを許す。
[0091]ある実施形態では、ユーザインターフェイスは、ロックスクリーン又はホームスクリーンに設けられる。ホームスクリーンは、アンロック状態においてホームボタンを押した後に表示されるスクリーンである。ロックスクリーンは、長いインアクティビティ期間の後に装置をウェイクアップするためにホームボタンを押した後に表示されるスクリーンである。それらの実施形態では、ロックスクリーンは、アプリケーションを表示するのに利用できる表示スペースがホームスクリーンより少ない。というのは、ロックスクリーンの一部分が、装置をアンロックするために予約されているからである。ある実施形態では、ユーザインターフェイスは、既にランニング中のアプリケーションに関連している。例えば、ユーザインターフェイスは、図６に示すように、ランニング中の音楽アプリケーションに関連した音声コントロールを有する音楽プレーヤインターフェイスである。
[0092]図６は、既にランニング中のアプリケーションに関連した装置６０２の規範的なユーザインターフェイス６００を示す。ユーザインターフェイス６００は、音楽アプリケーションのためのユーザインターフェイスであるが、異なるアプリケーションのための別のユーザインターフェイスも考えられる。ユーザインターフェイス６００は、タッチスクリーンディスプレイ６０４により設けられる。タッチスクリーンディスプレイ６０４は、音声コントロール６０８、ボリュームコントロール６１０、歌の題名６１２、及び／又はアルバムアート６１４を表示する。音声コントロール６０８は、歌を早送り、巻き戻し、再生及び休止するためのユーザインターフェイスをなす。ボリュームコントロール６１０は、ユーザが出力される音響のボリュームを調整するのを許す。歌の題名６１２及びアルバムアート６１４は、現在再生中の歌に関する情報を表示する。これらの実施形態では、タッチスクリーンディスプレイ６０４によりユーザインターフェイス６００が表示されると、装置６０２のバックライトが点灯される。バックライトの点灯で、ユーザは、ランニング中のアプリケーションを見ることができ、そして示唆されたアプリケーションを装置６０２がランさせたことに気付く。音楽アプリケーションを自動的にランさせそしてユーザインターフェイス６００をユーザに与えることで、装置６０２は、ユーザが１つ以上のアイコンをクリックすることなく自分の希望のアプリケーションにアクセスするのを許すことにより、ユーザの経験を向上させる。
[0093]ある状態においてユーザインターフェイス６００の幾つかの部分が隠される。例えば、装置６０２の専門センター、例えば、図３の専門センター３２０が、別のアプリケーションがその示唆されたアプリケーションより高いプライオリティを有すると判断した場合に、アルバムアート６１４が隠され、それに代って、他のアプリケーションが表示される。他のアプリケーションは、他のアプリケーションをランさせるためにディスプレイ６０４にアクセス可能なアイコンとして表示される。他の実施形態では、他のアプリケーションは、ユーザが通知をクリックしたときに他のアプリケーションのアイコンへのアクセスを許す通知として表示される。そのような状態では、通知は、アルバムアート６１４に変わって表示される。これら実施形態では、ユーザインターフェイスがロックスクリーンに表示される場合に、通知もロックスクリーンに表示される。従って、ユーザは、プライオリティが高いと思われるアプリケーションに気付き、そしてそれをランする機会が与えられる。
VI．アプリケーションをランする時間限界
[0094]これら実施形態において、識別されたアプリケーションがある期間内にアクセスされない場合に、装置は、第１の場所にユーザインターフェイスが設けられなかったかのようにユーザインターフェイスを除去する。ある期間内にユーザがアプリケーションにアクセスしない場合には、ユーザがアプリケーションのアクセスに関心がないと仮定する。従って、ユーザが識別されたアプリケーションにアクセスできないようにユーザインターフェイスが除去され、そしてユーザは、気を散らされることがない。
[0095]図７Ａ及び７Ｂは、幾つかの実施形態によりユーザインターフェイスを除去するための方法を示すフローチャートである。特に、図７Ａは、ある期間が経過した後にユーザインターフェイスを除去する方法７００を示すフローチャートである。図７Ｂは、スレッシュホールド期間内にトリガーイベントが除去された後にユーザインターフェイスを除去する方法７０３を示すフローチャートである。これら方法７００及び７０３は、装置により完全に又は部分的に遂行される。
[0096]図７Ａを参照すれば、方法７００は、ブロック７０１において、ユーザにユーザインターフェイスを与えることで開始される。ブロック７０１は、図５のブロック５１２で述べたように遂行される。
[0097]ブロック７０２において、装置は、ユーザインターフェイスがユーザに最初に与えられて以来、スレッシュホールド期間が経過したかどうか決定する。ユーザインターフェイスは、ロックされたスクリーン又はホームスクリーンのいずれかにおいてユーザに与えられる。これらの実施形態では、スレッシュホールド期間は、ユーザが装置と相互作用しない場合にユーザにユーザインターフェイスを与えた直後に始まる所定の期間を表す。
[0098]スレッシュホールド期間は、トリガーイベントのタイプに基づき変化する。例えば、トリガーイベントが直接的なユーザ相互作用を含むイベントのタイプ（例えば、イベントを生じることが意図されたユーザによる認識アクション）である場合には、スレッシュホールド期間が比較的短く、例えば、１５ないし３０秒である。そのようなトリガーイベントは、例えば、ヘッドホンのセットをヘッドホンジャックに挿入することを含む。別の例は、長い期間の後にボタンを押すことにより装置をウェイクアップすることを含む。スレッシュホールド期間は、ユーザが電話と直接相互作用しそして識別されて出力されたアプリケーションに直ちに気付くと仮定するために、比較的短いものである。ユーザはその識別されたアプリケーションに直ちに気付くので、その識別されたアプリケーションがアクセスされずに短い期間が経過することは、ユーザがその識別されたアプリケーションにアクセスするつもりがないことを示す。
[0099]或いは又、トリガーイベントが直接的なユーザ相互接続を含まないタイプのイベントである場合には、スレッシュホールド期間は、直接的なユーザ相互作用を含むトリガーイベントのスレッシュホールド期間より長い。一実施形態において、直接的なユーザ相互接続を含まないトリガーイベントのスレッシュホールド期間は、比較的長く、１５ないし３０分である。１つのそのような例は、ある位置に到着することを含む。装置が特定の位置に到着するとき、ユーザは、移動しており、装置に集中していないと仮定する。ユーザは、識別されて出力されたアプリケーションに直ちに気付かない。従って、ユーザが装置をチェックして、識別されたアプリケーションに気付くまでに、より長い時間が経過する。
[0100]ブロック７０４において、スレッシュホールド期間が経過した場合に、アプリケーションが示唆されたことをユーザが全く悟らないように、ユーザインターフェイスが除去される。しかしながら、スレッシュホールド期間が経過しない場合には、ブロック７０６において、装置は、ユーザがアプリケーションにアクセスしたいかどうか決定する。ユーザは、例えば、タッチスクリーンと相互作用するか、ボタンを押すか、スイッチを入れるか、又はバイオメトリック装置を使用することにより、ユーザインターフェイスを経て任意の形式のユーザ入力によりアプリケーションにアクセスしたいことを指示する。
[0101]ユーザがアプリケーションへのアクセスの希望をまだ指示していないと決定された場合には、装置は、ブロック７０１において、ユーザにユーザインターフェイスを与え続ける。しかしながら、ユーザがアプリケーションにアクセスしたいという指示を装置が受け取る場合には、ブロック７０８において、装置がアプリケーションをランさせる。従って、装置は、希望のアプリケーションへのショートカットを与えることでユーザの時間をセーブし、それにより、ユーザの経験を向上させる。
[0102]ある実施形態では、ユーザインターフェイスは、スレッシュホールド期間の前に除去される。図７Ｂに示すように、ブロック７１０において、装置は、トリガーイベントが除去されたかどうか、例えば、トリガーイベントの逆のアクションが検出されたかどうか決定する。例えば、トリガーイベントが、ヘッドホンのセットをヘッドホンジャックへ挿入することである場合には、トリガーイベントの除去は、ヘッドホンのセットをヘッドホンジャックから引き出すことである。別の例において、トリガーイベントがＢｌｕｅｔｏｏｔｈ接続を確立することである場合には、トリガーイベントの除去は、Ｂｌｕｅｔｏｏｔｈ接続を切断することである。トリガーイベントの除去は、ユーザが示唆された装置にアクセスしようとしないことを意味すると、装置により解釈される。従って、トリガーイベントが除去される場合には、ユーザインターフェイスは、ブロック７０４において、除去され、例えば、アプリケーションがクリアされ、そしてアプリケーションのためのユーザインターフェイスが隠される。
VII．トレーニングルーチン
[0103]移動装置の使用により履歴情報が累積するにつれて、予想モジュール（例えば、図４に示す予想モデル１−Ｎ）が新たな履歴情報を考慮して周期的にトレーニング（即ち、更新）される。トレーニングの後に、予想モデル１−Ｎは、ユーザと移動装置との間の最も直近の相互接続パターンに従ってアプリケーション及びアクションをより正確に示唆する。予想モデル１−Ｎのトレーニングは、多量の履歴情報が記録されたときに最も有効である。従って、トレーニングは、移動装置がユーザとの多数の相互作用を検出できるに充分長い時間間隔で生じる。しかしながら、トレーニングセッションとセッションとの間にあまり長い期間待機すると、予想エンジンの適応性を妨げる。従って、トレーニングセッションとセッションとの間の適当な期間は、１５ないし２０時間、例えば、１８時間である。
[0104]予想モデル１−Ｎのトレーニングは、時間がかかり、移動装置の使用を妨げることがある。従って、トレーニングは、ユーザが装置を使用する見込みが最も低いときに行われる。ユーザが装置を使用しないことを予想する１つの方法は、装置が使用されないとき、例えば、ボタンが押されないとき及び装置が動かないときに、ある期間待機することである。これは、近い将来のある期間中にユーザが電話と相互作用しない状態にあることを指示し、例えば、ユーザが眠っているときを指示する。適当な期間は、例えば、１ないし３時間の待機期間として使用される。特定の実施形態において、待機期間は、２時間である。
[0105]２時間の終わりに予想モデル１−Ｎが更新される。しかしながら、２時間が終る前にユーザが移動装置と相互作用する（例えば、ボタンを押すか又は装置を動かす）場合には、２時間の期間のカウントダウンが再スタートされる。２時間のインアクティビティに到達する前にその期間がコンスタントに再スタートする場合には、移動装置は、ある絶対的期間の後に予想モデル１−Ｎのトレーニングを強制する。一実施形態において、その絶対的期間は、移動装置についてのユーザの親しみが古い予想モデルであるために低下し始めるところのスレッシュホールド期間であると決定される。その絶対的期間は、１０から１５時間の範囲であるか、又は特定の実施形態では、１２時間である。従って、トレーニングとトレーニングとの間の最大時間は、２８時間（１８＋１０時間）ないし３３時間（１８＋１５時間）である。特定の実施形態では、最大時間量は、３０時間（１８＋１２時間）である。
VIII．規範的な装置
[0106]図８は、移動装置である規範的装置８００のブロック図である。この装置８００は、一般的に、コンピュータ読み取り可能な媒体８０２、処理システム８０４、入力／出力（Ｉ／Ｏ）サブシステム８０６、ワイヤレス回路８０８、及びオーディオ回路８１０を備え、このオーディオ回路は、スピーカ８５０及びマイクロホン８５２を含む。これらのコンポーネントは、１つ以上の通信バス又は信号線８０３により結合される。装置８００は、ハンドヘルドコンピュータ、タブレットコンピュータ、モバイルホン、ラップトップコンピュータ、タブレット装置、メディアプレーヤ、パーソナルデジタルアシスタント（ＰＤＡ）、キーフォブ、車のキー、アクセスカード、マルチファンクション装置、移動電話、ポータブルゲーム機、車のディスプレイユニット、等を含む任意のポータブル電子装置で、これら品目の２つ以上を組み合わせて含んでもよい。
[0107]図７に示すアーキテクチャーは、装置８００のアーキテクチャーの一例に過ぎず、そして装置８００は、図示された以上又は以下のコンポーネントを有してもよいし或いは異なる構成のコンポーネントを有してもよいことが明らかであろう。図７に示す種々のコンポーネントは、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含めて、ハードウェア、ソフトウェア、又はそれら両方の組み合わせで実施することができる。
[0108]ワイヤレス回路８０８は、ワイヤレスリンク又はネットワークを経て、１つ以上の他の装置の従来の回路、例えば、アンテナシステム、ＲＦトランシーバ、１つ以上の増幅器、チューナ、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、メモリ、等へ情報を送信し及び受信するのに使用される。ワイヤレス回路８０８は、例えば、ここに述べるもののような種々のプロトコルを使用することができる。
[0109]ワイヤレス回路８０８は、周辺インターフェイス８１６を経て処理システム８０４に結合される。インターフェイス８１６は、周辺装置と処理システム８０４との間に通信を確立して維持するための従来のコンポーネントを含む。ワイヤレス回路８０８により受信されるボイス及びデータ情報（例えば、スピーチ認識又はボイスコマンドアプリケーションにおいて）は、周辺インターフェイス８１６を経て１つ以上のプロセッサ８１８に送信される。１つ以上のプロセッサ８１８は、媒体８０２に記憶された１つ以上のアプリケーションプログラム８３４に対する種々のデータフォーマットを処理するように構成できる。
[0110]周辺インターフェイス８１６は、装置の入力及び出力周辺装置をプロセッサ８１８及びコンピュータ読み取り可能な媒体８０２に結合する。１つ以上のプロセッサ８１８は、コントローラ８２０を経てコンピュータ読み取り可能な媒体８０２と通信する。コンピュータ読み取り可能な媒体８０２は、１つ以上のプロセッサ８１８により使用するためのコード及び／又はデータを記憶できる任意の装置又は媒体である。媒体８０２は、キャッシュ、メインメモリ及び二次メモリを含むメモリハイアラーキーを含むことができる。
[0111]又、装置８００は、種々のハードウェアコンポーネントに通電するための電源システム８４２も備えている。電源システム８４２は、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ（例えば、発光ダイオード（ＬＥＤ））、並びに移動装置における電力の発生、管理及び配電に典型的に関連した他のコンポーネントを備えている。
[0112]ある実施形態では、装置８００は、カメラ８４４を備えている。又、ある実施形態では、装置８００は、センサ８４６を備えている。センサは、加速度計、コンパス、ジャイロメータ、圧力センサ、オーディオセンサ、光センサ、気圧計、等を含む。センサ８４６は、位置の観点、例えば、位置の聴覚又は光特性を感知するのに使用される。
[0113]ある実施形態では、装置８００は、ＧＰＳユニット８４８とも称されるＧＰＳ受信器を備えている。移動装置は、衛星ナビゲーションシステム、例えば、グローバルポジショニングシステム（ＧＰＳ）を使用して、位置情報、タイミング情報、高度、又は他のナビゲーション情報を得ることができる。動作中に、ＧＰＳユニットは、地球を回るＧＰＳ衛星から信号を受信することができる。ＧＰＳユニットは、信号を分析して、通過時間及び距離の推定を行う。ＧＰＳユニットは、移動装置の現在位置（現在の場所）を決定することができる。これらの推定に基づき、移動装置は、ロケーションフィックス、高度、及び／又は現在速度を決定することができる。ロケーションフィックスは、緯度及び経度情報のような地理的座標である。
[0114]１つ以上のプロセッサ８１８は、媒体８０２に記憶された種々のソフトウェアコンポーネントをランさせて、装置８００の種々の機能を遂行させる。ある実施形態では、ソフトウェアコンポーネントは、オペレーティングシステム８２２、通信モジュール（又はインストラクションのセット）８２４、位置モジュール（又はインストラクションのセット）８２６、トリガーイベントモジュール８２８、予想モジュール８３０、及び他のアプリケーション（又はインストラクションのセット）８３４、例えば、カーロケータアプリケーション及びナビゲーションアプリケーションを含む。
[0115]オペレーティングシステム８２２は、ｉＯＳ、Ｍａｃ  ＯＳ、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ、又は埋め込み型オペレーティングシステム、例えば、ＶｘＷｏｒｋｓを含む適当なオペレーティングシステムである。又、オペレーティングシステムは、一般的なシステムタスクを制御及び管理し（例えば、メモリ管理、ストレージ装置の制御、電力管理、等）、そして種々のハードウェア及びソフトウェアコンポーネント間の通信を容易にするために種々の手順、インストラクションのセット、ソフトウェアコンポーネント及び／又はドライバを備えている。
[0116]通信モジュール８２４は、１つ以上の外部ポート８３６又はワイヤレス回路８０８を経て他の装置と通信するのを容易にし、そしてワイヤレス回路８０８及び／又は外部ポート８３６から受信したデータを取り扱うための種々のソフトウェアコンポーネントを含む。外部ポート８３６（例えば、ＵＳＢ、ＦｉｒｅＷｉｒｅ、ライトニングコネクタ、６０ピンコネクタ、等）は、他の装置に直接結合するか又はネットワーク（例えば、インターネット、ワイヤレスＬＡＮ、等）を経て間接的に結合するためのものである。
[0117]位置／運動モジュール８２６は、装置８００の現在位置（例えば、座標又は他の地理的位置識別子）及び運動を決定する上で助けとなる。近代的なポジショニングシステムは、衛星ベースのポジショニングシステム、例えば、グローバルポジショニングシステム（ＧＰＳ）、「セルＩＤ」に基づくセルラーネットワークポジショニング及びＷｉ−Ｆｉネットワークに基づくＷｉ−Ｆｉポジショニング技術を含む。又、ＧＰＳは、屋内又は「ビルの谷間」では見えない（又は信号が弱い）推定位置を決定するために複数の衛星の視野に依存する。ある実施形態では、位置／運動モジュール８２６は、ＧＰＳユニット８４８からデータを受信し、そして信号を分析して、移動装置の現在位置を決定する。ある実施形態では、位置／運動モジュール８２６は、Ｗｉ−Ｆｉ又はセルラー位置技術を使用して現在位置を決定することができる。例えば、移動装置の位置は、近傍のセルサイト及び／又はＷｉ−Ｆｉアクセスポイントの知識をそれらの位置の知識と共に使用して推定することができる。Ｗｉ−Ｆｉ又はセルラー送信器を識別する情報は、ワイヤレス回路８０８で受信され、そして位置／運動モジュール８２６へ通される。ある実施形態では、位置モジュールは、１つ以上の送信ＩＤを受信する。ある実施形態では、送信ＩＤのシーケンスが基準データベース（例えば、セルＩＤデータベース、Ｗｉ−Ｆｉ基準データベース）と比較され、これは、送信ＩＤを、対応する送信器の位置座標にマップ又は相関させ、そしてその対応する送信器の位置座標に基づき装置８００の推定位置座標を計算する。使用する特定の位置技術に関わらず、位置／運動モジュール８２６は、ロケーションフィックスを導出する情報を受信し、その情報を解釈し、そして位置情報、例えば、地理的座標、緯度／経度、又は他のロケーションフィックスデータを返送する。
[0118]トリガーイベントモジュール８２８は、例えば、図２を参照して述べたように、種々のサブモジュール又はシステムを含む。更に、予想モジュール８３０は、例えば、図３を参照して述べたように、種々のサブモジュール又はシステムを含む。
[0119]移動装置の１つ以上のアプリケーション８３４は、装置８００にインストールされる任意のアプリケーションを含むことができ、これは、ブラウザ、アドレスブック、連絡先リスト、ｅ−メール、インスタントメッセージング、ワードプロセス、キーボードエミュレーション、ウィジェット、ＪＡＶＡイネーブルアプリケーション、暗号、デジタル権利の管理、音声認識、音声複写、ミュージックプレーヤ（ＭＰ３又はＡＡＣファイルのような１つ以上のファイルに記憶された記録音楽を再生する）、等を含むが、これに限定されない。
[0120]他のモジュール又はインストラクションのセット（図示せず）、例えば、グラフィックモジュール、タイムモジュール、等もある。例えば、グラフィックモジュールは、ディスプレイの表面にグラフィックオブジェクト（テキスト、ウェブページ、アイコン、デジタル画像、アニメーション、等を含むが、これに限定されない）をレンダリングし、アニメ化し及び表示するために種々の従来のソフトウェアコンポーネントを含む。別の例では、タイマーモジュールは、ソフトウェアタイマーである。又、このタイマーモジュールは、ハードウェアで実施することもできる。又、タイマーモジュールは、多数のイベントに対して種々のタイマーを維持することができる。
[0121]Ｉ／Ｏサブシステム８０６は、タッチ感知ディスプレイであるディスプレイシステム（図示せず）に結合される。このディスプレイは、視覚出力をＧＵＩにおいてユーザに表示する。視覚出力は、テキスト、グラフィック、ビデオ、及びその組み合わせを含む。視覚出力の幾つか又は全部は、ユーザインターフェイスオブジェクトに対応する。ディスプレイは、ＬＥＤ（発光ダイオード）、ＬＣＤ（液晶ディスプレイ）技術、又はＬＰＤ（発光ポリマーディスプレイ）技術を使用できるが、他の実施形態では、他のディスプレイ技術を使用することもできる。
[0122]ある実施形態では、Ｉ／Ｏサブシステム８０６は、ディスプレイ及びユーザ入力装置、例えば、キーボード、マウス、及び／又はトラックパッドを含む。ある実施形態では、Ｉ／Ｏサブシステム８０６は、タッチ感知ディスプレイを含む。タッチ感知ディスプレイは、触覚及び／又は触感接触に基づきユーザからの入力を受け容れることもできる。ある実施形態では、タッチ感知ディスプレイは、ユーザ入力を受け容れるタッチ感知表面を形成する。タッチ感知ディスプレイ／表面（その関連モジュール、及び媒体８０２におけるインストラクションのセットと共に）は、タッチ感知ディスプレイにおける接触（及び接触の移動又は解除）を検出し、そしてその検出された接触を、その接触が生じたときにタッチスクリーンに表示された１つ以上のソフトキーのようなユーザインターフェイスオブジェクトとの相互作用に変換する。ある実施形態では、タッチ感知ディスプレイとユーザとの間の接触点は、ユーザの１つ以上の指に対応する。ユーザは、スタイラス、ペン、指、等の適当な物体又は付属物を使用して、タッチ感知ディスプレイと接触する。タッチ感知ディスプレイの表面は、容量性、抵抗性、赤外線、及び表面音波技術を含む適当なタッチ感知技術、並びにタッチ感知ディスプレイとの１つ以上の接触点を決定するための他の接近センサアレイ又は他の素子を使用して、接触及びその移動又は解除を検出することができる。
[0123]更に、Ｉ／Ｏサブシステムは、種々の機能、例えば、電力制御、スピーカのボリューム制御、リングトーンの音量、キーボード入力、スクロール、ホールド、メニュー、スクリーンロック、通信クリア及び終了、等を制御又は遂行するために、１つ以上の他の物理的コントロール装置（図示せず）、例えば、プッシュボタン、キー、スイッチ、ロッカーボタン、ダイヤル、スライダースイッチ、スティック、ＬＥＤ、等に結合される。ある実施形態では、タッチスクリーンに加えて、装置８００は、特定の機能をアクチベート又はデアクチベートするためのタッチパッド（図示せず）も備えている。ある実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない装置のタッチ感知エリアである。タッチパッドは、タッチ感知ディスプレイ、又はタッチ感知ディスプレイで形成されたタッチ感知表面の延長部から分離されたタッチ感知表面である。
[0124]ある実施形態では、ここに述べるオペレーションの幾つか又は全部を、ユーザ装置で実行されるアプリケーションを使用して遂行することができる。ここに述べる種々のオペレーションを遂行するように回路、論理モジュール、プロセッサ、及び／又は他のコンポーネントが構成されてもよい。当業者であれば、具現化に基づき、そのような構成は、特定のコンポーネントの設計、設定、相互接続、及び／又はプログラミングを通して遂行することができ、そして再び具現化に基づき、構成されたコンポーネントは、異なるオペレーションに対して再構成可能であってもなくてもよいことが明らかであろう。例えば、プログラム可能なプロセッサは、適当な実行可能なコードを与えることにより構成することができ；専用の論理回路は、論理ゲート及び他の回路素子を適当に接続することにより構成することができ；等々である。
[0125]本書に述べるソフトウェアコンポーネント又は機能は、いずれも、例えば、Ｊａｖａ、Ｃ、Ｃ＋＋、Ｃ＃、オブジェクティブ−Ｃ、Ｓｗｉｆｔのような適当なコンピュータ言語、或いは例えば、従来の又はオブジェクト指向の技術を使用するＰｅｒｌ又はＰｙｔｈｏｎのようなスクリプト言語を使用してプロセッサによって実行されるソフトウェアコードとして具現化される。ソフトウェアコードは、ストレージ及び／又は送信のためにコンピュータ読み取り可能な媒体に一連のインストラクション又はコマンドとして記憶される。適当な非一時的コンピュータ読み取り可能な媒体は、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、ハードドライブ又はフロッピーディスクのような磁気媒体、或いはコンパクトディスク（ＣＤ）又はＤＶＤ（デジタル多様性ディスク）のような光学的媒体、フラッシュメモリ、等を含む。コンピュータ読み取り可能な媒体は、そのようなストレージ又は送信装置の任意の組み合わせでよい。
[0126]本発明の種々の特徴を合体するコンピュータプログラムは、種々のコンピュータ読み取り可能なストレージ媒体にエンコードされ、適当な媒体は、磁気ディスク又はテープ、コンパクトディスク（ＣＤ）又はＤＶＤ（デジタル多様性ディスク）のような光学的ストレージ媒体、フラッシュメモリ、等を含む。プログラムコードでエンコードされたコンピュータ読み取り可能なストレージ媒体は、互換性のある装置と共にパッケージされるか、又は他の装置とは個別に準備される。更に、プログラムコードは、インターネットを含む種々のプロトコルに合致するワイヤード光学的及び／又はワイヤレスネットワークを経てエンコードされそして送信される。そのようなコンピュータ読み取り可能な媒体は、単一のコンピュータ製品（例えば、ソリッドステートドライブ、ハードドライブ、ＣＤ、又は全コンピュータシステム）上又はその中に存在してもよく、そしてシステム又はネットワーク内の異なるコンピュータ製品上又はその中に存在してもよい。コンピュータシステムは、上述したいずれかの結果をユーザに与えるためのモニタ、プリンタ、又は他の適当なディスプレイを含む。
[0127]特定の実施形態を参照して本発明を説明したが、本発明は、特許請求の範囲内に含まれる全ての変更及び等効物も網羅することが明らかであろう。
特許請求の範囲
１．コンピューティング装置で実行される示唆されたアプリケーションと相互作用するためにユーザにユーザインターフェイスを与えるためのコンピュータ実施方法であって、前記コンピューティング装置において、
前記コンピューティング装置の入力装置においてイベントを検出し；
前記イベントが１つ以上の示唆されたアプリケーションを識別するために呼称されたトリガーイベントのグループのうちの１つに対応することを決定し；
前記イベントに対応する第１の予想モデルを選択し；
前記コンピューティング装置に関するコンテキスト情報を受け取り、そのコンテキスト情報は、第１のコンテキストに対する前記コンピューティング装置の１つ以上のプロパティを特定するものであり；
前記イベントが前記第１のコンテキストに関連して発生するときにユーザによりアクセスされるスレッシュホールド確率を少なくとも有する１つ以上のアプリケーションのセットを前記第１の予想モデルにより識別し、前記第１の予想モデルは、前記イベントが検出された後に前記コンピューティング装置とユーザとの履歴的相互作用を使用し；
前記１つ以上のアプリケーションのセットと相互作用するためにユーザに前記ユーザインターフェイスを与える；
ことを含む方法。
２．前記コンピューティング装置の入力装置においてイベントを検出することは、付属装置への前記コンピューティング装置の接続を検出することを含む、請求項１に記載の方法。
３．前記付属装置は、ヘッドホン又は乗物のコンピュータを含む、請求項２に記載の方法。
４．前記コンテキスト情報は、前記コンピューティング装置の位置を特定する、請求項１に記載の方法。
５．前記ユーザインターフェイスは、前記コンピューティング装置のホームスクリーンに与えられるものより少ないアプリケーションとのスクリーン上での相互作用を許す、請求項１に記載の方法。
６．前記コンピューティング装置の入力装置においてイベントを検出することは、
１つ以上の運動センサで前記コンピューティング装置の動きを検出し；及び
前記動きに基づいて前記コンピューティング装置の運動状態を決定する；
ことを含み、前記１つ以上の示唆されたアプリケーションを識別するために呼称されたトリガーイベントのグループのうちの１つは、前記コンピューティング装置の運動状態を含む、請求項１に記載の方法。
７．別のトリガーイベントが検出されたときに第２の予想モデルが選択され、前記別のトリガーイベントは、前記イベントとは異なり、前記第２の予想モデルは、前記第１の予想モデルとは異なる、請求項１に記載の方法。
８．前記１つ以上のアプリケーションのセットは、複数のアプリケーションを含み、そして前記１つ以上のアプリケーションのセットは、全体として、スレッシュホールド確率より高い確率を有する、請求項１に記載の方法。
９．前記ユーザインターフェイスは、前記コンピューティング装置のロックスクリーンに与えられ、前記ユーザインターフェイスは、前記ロックスクリーンから前記アプリケーションのセットのうちの１つを選択するのを許す、請求項１に記載の方法。
１０．前記１つ以上のアプリケーションのセットをランさせることを更に含み、前記ユーザインターフェイスは、そのランされる１つ以上のアプリケーションに特有のものである、請求項１に記載の方法。
１１．前記１つ以上のプロパティは、前記コンピューティング装置の位置、前記コンピューティング装置により決定された１日の時刻、及び前記コンピューティング装置により決定された年月日、のうちの少なくとも１つを含む、請求項１に記載の方法。
１２．スレッシュホールド期間が経過したかどうか決定し；
スレッシュホールド期間が経過したと決定されたときにユーザインターフェイスを除去し；
スレッシュホールド期間が経過していないと決定されたときには前記１つ以上のアプリケーションのセットへのアクセスをユーザが求めるかどうか決定し；及び
前記１つ以上のアプリケーションのセットへのアクセスをユーザが求めると決定されたときに前記１つ以上のアプリケーションのセットをランさせる；
ことを更に含む、請求項１に記載の方法。
１３．前記スレッシュホールド期間は、直接的なユーザ相互作用を含むトリガーイベントの方が、直接的なユーザ相互作用を含まないトリガーイベントより短い、請求項１２に記載の方法。
１４．実行されたときに１つ以上のプロセッサを含む装置を制御する複数のインストラクションを記憶する非一時的なコンピュータ読み取り可能な媒体を含むコンピュータ製品において、前記インストラクションは、
前記装置の入力装置においてイベントを検出し；
前記イベントが１つ以上の示唆されたアプリケーションを識別するために呼称されたトリガーイベントのグループのうちの１つに対応することを決定し；
前記イベントに対応する第１の予想モデルを選択し；
前記装置に関するコンテキスト情報を受け取り、そのコンテキスト情報は、第１のコンテキストに対する前記装置の１つ以上のプロパティを特定するものであり；
前記イベントが前記第１のコンテキストにおいて発生するときにユーザによりアクセスされるスレッシュホールド確率を少なくとも有する１つ以上のアプリケーションのセットを前記第１の予想モデルにより識別し、前記第１の予想モデルは、前記イベントが検出されたときに前記装置とユーザとの履歴的相互作用を使用し；
前記１つ以上のアプリケーションのセットと相互作用するためにユーザに前記ユーザインターフェイスを与える；
ことを含むものである、コンピュータ製品。
１５．前記装置の入力装置においてイベントを検出することは、付属装置へのコンピューティング装置の接続を検出することを含む、請求項１４に記載のコンピュータ製品。
１６．トリガーイベントを記憶するためのトリガーイベントストレージ；
履歴データを記憶するための履歴ストレージ；
１つ以上の入力装置；
１つ以上のコンテキストソース；及び
１つ以上のプロセッサであって、
前記１つ以上の入力装置においてイベントを検出し；
前記イベントが１つ以上の示唆されたアプリケーションを識別するために呼称されたトリガーイベントのグループのうちの１つに対応することを決定し；
前記イベントに対応する第１の予想モデルを選択し；
前記１つ以上のコンテキストソースから前記装置に関するコンテキスト情報を受け取り、そのコンテキスト情報は、第１のコンテキストに対する前記コンピューティング装置の１つ以上のプロパティを特定するものであり；
前記イベントが前記第１のコンテキストにおいて発生するときにユーザによりアクセスされるスレッシュホールド確率を少なくとも有する１つ以上のアプリケーションのセットを前記第１の予想モデルにより識別し、前記第１の予想モデルは、前記イベントが検出されたときに前記コンピューティング装置とユーザとの履歴的相互作用を使用し；
前記１つ以上のアプリケーションのセットと相互作用するためにユーザに前記ユーザインターフェイスを与える；
ように構成された１つ以上のプロセッサ；
を備えた装置。
１７．前記１つ以上の入力装置は、ヘッドホンジャック、Ｂｌｕｅｔｏｏｔｈ装置、ボタン、タッチスクリーン、加速度計、及びＧＰＳ、の少なくとも１つを含む、請求項１６に記載の装置。
１８．前記トリガーイベントは、所定のイベントである、請求項１６に記載の装置。
１９．前記ユーザインターフェイスは、前記コンピューティング装置のホームスクリーンに与えられるものより少ないアプリケーションとのスクリーン上での相互作用を許す、請求項１６に記載の装置。
２０．前記１つ以上のアプリケーションのセットは、複数のアプリケーションを含み、そして前記１つ以上のアプリケーションの各々は、スレッシュホールド確率より高い確率を有する、請求項１６に記載の装置。
要約書
入力装置によりイベントが検出される。イベントをトリガーイベントのグループと比較することにより、イベントがトリガーイベントであると決定される。次いで、イベントに対応する第１の予想モデルが選択される。次いで、第１のコンテキストにおいてコンピューティング装置の１つ以上のプロパティを特定する装置に関するコンテキスト情報が受け取られ、そして１つ以上のアプリケーションのセットが識別される。１つ以上のアプリケーションのセットは、第１のコンテキストにおいてイベントが発生するときユーザによりアクセスされるスレッシュホールド確率を少なくとも有する。その後、１つ以上のアプリケーションのセットと相互作用するためユーザにユーザインターフェイスが与えられる。
図面
図１
2018050324.tif 000003
図２
2018050324.tif 000004
図３
2018050324.tif 000005
図４
2018050324.tif 000006
図５
2018050324.tif 000007
図６
2018050324.tif 000008
図７Ａ
2018050324.tif 000009
図７Ｂ
2018050324.tif 000010
図８
2018050324.tif 000011
【符号の説明】
【００５７】
３００：ポータブルコンピューティング装置
３０２：コンピュータ読み取り可能な媒体
３０３：通信バス又は信号線
３０４：処理システム
３０６：Ｉ／Ｏサブシステム
３０８：ワイヤレス回路
３１０：オーディオ回路
３１６：周辺インターフェイス
３１８：プロセッサ
３２０：コントローラ
３２２：オペレーティングシステム
３２４：通信モジュール
３２６：位置／運動モジュール
３２８：オーディオ再生アプリケーション選択モジュール
３３４：アプリケーションプログラム
３３６：外部ポート
３４２：電源システム
３４４：カメラ
３４６：センサ
３４８：ＧＰＳユニット
３５０：スピーカ
３５２：マイクロホン
４００：オーディオ出力システム
４１０Ａ−Ｚ：オーディオ再生アプリケーション
４２０：コントローラセレクタコンポーネント
【図１】
2018050324.tif 000012
【図２】
2018050324.tif 000013
【図３】
2018050324.tif 000014
【図４】
2018050324.tif 000015
【外国語明細書】
2018050324000001.pdf