(57)【特許請求の範囲】
【請求項１】
車両の周辺内に位置するノマディック無線通信装置（ＮＷＣＤ：nomadic wireless communication device）に格納されたコンピュータアプリケーションを動作させるためのコンピュータ実行方法であって、
車両コンピュータシステム（ＶＣＳ：vehicle computer system）が、操作入力を受け、前記ＶＣＳを前記ＮＷＣＤとペアにして、前記ＶＣＳと前記ＮＷＣＤとの間で無線通信リンクを確立し、
前記ＶＣＳで、前記ＮＷＣＤにインストールされているインターネット・ラジオ・アプリケーションを開始するための１つ以上のユーザ命令を、入力手段を介して受け、
前記ＶＣＳが、前記ユーザ命令に応じて、前記無線通信リンクを介して、インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を前記ＮＷＣＤに送信し、前記ＮＷＣＤが、ルールを定義している１つ以上のＡＰＩ（Application Program Interface）を実行するものであり、
前記ルールは、
前記ＶＣＳから送信された、前記インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を受信して、当該命令に基づいて前記インターネット・ラジオ・アプリケーションの使用が開始されることと、
前記使用が開始された後に、前記ＶＣＳに前記インターネット・ラジオ・アプリケーションとの接続を確立するための命令を送信することと、
一旦接続されると、前記ＶＣＳに、１つ以上のインターネット・ラジオ・アプリケーション・イベントに対して、ユーザに入力を促すための命令を送信することと、
前記ＶＣＳから、前記インターネット・ラジオ・アプリケーションに対する前記１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を受信することと、
前記ＶＣＳからの前記命令に応答して、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を前記インターネット・ラジオ・アプリケーションに送信することである
ことを特徴とするコンピュータ実行方法。
【請求項２】
請求項１のコンピュータ実行方法において、
前記インターネット・ラジオ・アプリケーションが、前記１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行する
ことを特徴とするコンピュータ実行方法。
【請求項３】
請求項１のコンピュータ実行方法において、
前記ＡＰＩは、前記インターネット・ラジオ・アプリケーションから発行されたテキスト情報を表示するための命令を前記ＶＣＳに送信するためのルールを定義する
ことを特徴とするコンピュータ実行方法。
【請求項４】
請求項１のコンピュータ実行方法において、
前記ＶＣＳで、前記入力を促すための命令に基づいてインターネット・ラジオ・アプリケーション・イベントに対する入力を、ユーザに促す
ことを特徴とするコンピュータ実行方法。
【請求項５】
請求項３のコンピュータ実行方法において、
前記テキスト情報は、接続確認、少なくとも１つのラジオ放送局名、アーティスト名、および歌曲名のうち少なくとも１つを含んでいる
ことを特徴とするコンピュータ実行方法。
【請求項６】
請求項２のコンピュータ実行方法において、
前記インターネット・ラジオ・アプリケーション・イベントは、複数の歌曲を再生すること、１つ以上の歌曲を格納すること、前記インターネット・ラジオ・アプリケーションから再生される放送局を変更すること、前記インターネット・ラジオ・アプリケーションから再生される曲を変更すること、１つ以上の歌曲に結びつけられたフィードバックを受信して格納すること、およびインターネット・ラジオ・アプリケーションを終了することのうち、少なくとも１つを含んでいる
ことを特徴とするコンピュータ実行方法。
【請求項７】
請求項１のコンピュータ実行方法において、
前記ＶＣＳにおける前記ユーザ命令には、前記ＮＷＣＤで実行中のインターネット・ラジオ・アプリケーションを操作するためのリクエストが含まれる
ことを特徴とするコンピュータ実行方法。
【請求項８】
請求項７のコンピュータ実行方法において、
前記車両内のトリガに応じて、前記ＮＷＣＤが、前記ユーザからのリクエストを受信する
ことを特徴とするコンピュータ実行方法。
【請求項９】
請求項８のコンピュータ実行方法において、
前記トリガは、ボタンを押すこと、音声作動式トリガ、あるいはその両方である
ことを特徴とするコンピュータ実行方法。
【請求項１０】
請求項１のコンピュータ実行方法において、
前記ＡＰＩは、前記インターネット・ラジオ・アプリケーションと前記ＶＣＳとの間の接続を切断するための命令を、前記ＶＣＳから受信するルールを定義している
ことを特徴とするコンピュータ実行方法。
【請求項１１】
請求項１のコンピュータ実行方法において、
前記インターネット・ラジオ・アプリケーションとの接続を確立するための前記命令には、さらに、前記ＮＷＣＤを用いてインターネット接続を確立するための命令が含まれている
ことを特徴とするコンピュータ実行方法。
【請求項１２】
車両の周辺内に位置するノマディック無線通信装置（ＮＷＣＤ：nomadic wireless communication device）に格納されたコンピュータアプリケーションを動作させるためのコンピュータ実行システムであって、
車両コンピュータシステム（ＶＣＳ：vehicle computer system）は、
前記ＮＷＣＤとペアとなり、前記ＶＣＳと前記ＮＷＣＤとの間で無線通信リンクを確立し、
前記ＮＷＣＤにインストールされているインターネット・ラジオ・アプリケーションを開始するための１つ以上のユーザ命令を受信し、
前記ユーザ命令に応じて、前記無線通信リンクを介して、前記インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を前記ＮＷＣＤに送信し、前記ＮＷＣＤが、ルールを定義している１つ以上のＡＰＩ（Application Program Interface）を実行するものであり、
前記ルールは、
前記ＶＣＳから送信された、前記インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を受信して、当該命令に基づいて前記インターネット・ラジオ・アプリケーションの使用が開始されることと、
前記使用が開始された後に、前記ＶＣＳに前記インターネット・ラジオ・アプリケーションとの接続を確立するための命令を送信することと、
一旦接続されると、前記ＶＣＳに、１つ以上のインターネット・ラジオ・アプリケーション・イベントに対して、ユーザに入力を促すための命令を送信することと、
前記ＶＣＳから、前記インターネット・ラジオ・アプリケーションに対する前記１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を受信すること、
前記ＶＣＳからの前記命令に応答して、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を前記インターネット・ラジオ・アプリケーションに送信することである
ことを特徴とするコンピュータ実行システム。
【請求項１３】
請求項１２のコンピュータ実行システムにおいて、
前記ＶＣＳは、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するように構成されている
ことを特徴とするコンピュータ実行システム。
【請求項１４】
請求項１２のコンピュータ実行システムにおいて、
前記ＡＰＩは、前記インターネット・ラジオ・アプリケーションから発行されたテキスト情報を話すための命令を前記ＶＣＳに送信するためのルールを定義する
ことを特徴とするコンピュータ実行システム。
【請求項１５】
請求項１２のコンピュータ実行システムにおいて、
前記ＶＣＳは、前記促すための命令に基づいてインターネット・ラジオ・アプリケーション・イベントに対する入力を、ユーザに促すように構成されている
ことを特徴とするコンピュータ実行システム。
【請求項１６】
請求項１２のコンピュータ実行システムにおいて、
前記インターネット・ラジオ・アプリケーションとの接続を確立するための前記命令には、さらに、前記ＮＷＣＤを用いてインターネット接続を確立するための命令が含まれている
ことを特徴とするコンピュータ実行システム。
【請求項１７】
車両の周辺内に位置するノマディック無線通信装置（ＮＷＣＤ：nomadic wireless communication device）に格納されたコンピュータアプリケーションを動作させるためのコンピュータ実行方法であって、
車両コンピュータシステム（ＶＣＳ：vehicle computer system）が、前記ＮＷＣＤとペアになり、前記ＶＣＳと前記ＮＷＣＤとの間で無線通信リンクを確立し、
前記ＶＣＳに入力された、前記ＮＷＣＤにインストールされているインターネット・ラジオ・アプリケーションを開始するためのユーザ命令に応じて、前記ＶＣＳが、前記無線通信リンクを介して、インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を前記ＮＷＣＤに送信し、前記ＮＷＣＤで、前記無線通信リンクを介して、前記インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令を受信し、前記ＮＷＣＤが、ルールを定義している１つ以上のＡＰＩ（Application Program Interface）を実行するものであり、
前記ルールは、
受信した、前記インターネット・ラジオ・アプリケーションの使用を開始するための１つ以上の命令に基づいて前記インターネット・ラジオ・アプリケーションの使用を開始することと、
前記使用が開始された後に、前記ＶＣＳに前記インターネット・ラジオ・アプリケーションとの接続を確立するための命令を送信することと、
一旦接続されると、前記ＶＣＳに、１つ以上のインターネット・ラジオ・アプリケーション・イベントに対して、ユーザに入力を促すための命令を送信することと、
前記ＶＣＳから、前記インターネット・ラジオ・アプリケーションに対する前記１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を受信することと、
前記ＶＣＳからの前記命令に応答して、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するための命令を前記インターネット・ラジオ・アプリケーションに送信することである
ことを特徴とするコンピュータ実行方法。
【発明の詳細な説明】
【技術分野】
【０００１】
各種実施形態は、インターネット・ラジオ・アプリケーションを実行するための方法およびシステムを含んでいる。特に、それら実施形態は、車両からインターネット・ラジオ・アプリケーションを実行することを含む。
【背景技術】
【０００２】
通常、携帯機器（例えば携帯電話）に格納されたアプリケーションにおいて、そのアプリケーションの１つ以上の操作を実施するためには、手入力によるコマンドが必要となる。例えば、ユーザが自身の携帯機器のインターネット・ラジオ・アプリケーションを操作したい場合に、ユーザは、自身の携帯機器のキーパッドから聴きたい音楽のジャンルおよび／又は放送局を、物理的に入力することが要求される。このような技術における典型的なインターネット・ラジオ・アプリケーションとして、パンドラ・メディア社によって配布されたパンドラ・アプリケーションが知られている。さらに、ユーザは、携帯機器上のアプリケーションを操作するために、アプリケーションからの出力を視覚的に受け取ることがある。ユーザが安全運転できるようにするためには、ハンズフリーで携帯機器から１つ以上のアプリケーションを操作できることが望ましい。
【０００３】
インターネット・ラジオ・アプリケーションは、ユーザが望んでいる、自身の携帯機器からハンズフリーのアクセシビリティによって操作することができる典型的なアプリケーションである。インターネット・ラジオの各種実施形態は従来技術において存在している。ユーザがインターネット・ラジオ・アプリケーションを操作したくなる１つの典型的な環境は、フォード・モーター社によって製造されて、配信されるＳＹＮＣ通信システムを備えているユーザ自身の車両にある。
【０００４】
Ｂｏｙｓ氏に特許された米国特許第６，３１４，０９４号には、モバイルの無線インターネット携帯ラジオが開示されている。そのインターネット機能付ラジオは、モデムに接続するための通信ポート、および、モデムに接続されている間に、インターネット上に加入しているユーザに接続するための接続機能を有している。このラジオは、音声データパケットをアナログ音声出力としてインターネットを介して受信されるようにしたり、その音声出力を１つ以上のスピーカポートに配信するための音声回路類を有する。インターネットブロードキャストサーバの所在を示す、格納された２つ以上のハイパーリンクがあり、ユーザがその格納されたハイパーリンクの中で選択することができることは、ユーザ入力に適している。格納されたハイパーリンクの１つがユーザ入力によって選択されると、そのハイパーリンクを呼び出し、ハイパーリンクによって示されるブロードキャストサーバーに接続され、ブロードキャストサーバーからラジオに、データパケットとして音声データストリームが開始される。ラジオは、そのデータストリームをアナログ音声データとして１つ以上のスピーカポートに配信されるようにする。ユーザ入力は、ハイパーリンクに結びつけられた複数のプッシュボタンで構成され、１つのプッシュボタンを活性化することによって強調される。ディレクトリサーバーは、ユーザプロファイルを編集したり、インターネット機能付ラジオを接続するプログラミングのために使用される。
【０００５】
Ｑｕｒｅｓｈｙ氏その他による米国特許出願公開第２００２／００７２３２６号には、インテリジェント・ラジオが開示されている。インテリジェント・ラジオ装置は、ウェブ・ラジオ放送を受信するのに適している。ウェブ・ラジオは、よりコンピュータプログラムのようでなくて、より従来のラジオのようであるユーザインターフェースを提供する。インテリジェント・ラジオは、よく知られているラジオ形式のユーザ制御（例えばスイッチ、同調ノブ、ジョイスティック、カーソル制御および音声活性制御）を提供する。そのラジオ形式のユーザ制御によって、ユーザは、ウェブ・ラジオ放送局を選択できたり、より従来のラジオのようで、よりコンピュータプログラムのようでない方法でインテリジェント・ラジオの他の態様の動作を制御することができる。インテリジェント・ラジオは、インターネットにアクセスするために必要なソフトウェアを実行するように構成される。また、インテリジェント・ラジオは、インターネット電話、ボイスメールおよびボイスメールの機能を提供する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第６，３１４，０９４号明細書
【特許文献２】米国特許出願公開第２００２／００７２３２６号明細書
【発明の概要】
【０００７】
各種実施形態の一態様は、車両の周辺内に位置するノマディック装置（ＮＤ：nomadic wireless communication device）に保存されるコンピュータアプリーケーションを動作させるコンピュータ実行方法を含む。その方法は、車両コンピュータシステム（ＶＣＳ：vehicle computer system）で入力を受信し、ＶＣＳをＮＤとペアにして、ＶＣＳとＮＤとの間に無線通信リンクを確立することを含む。さらに、その方法は、ＶＣＳで、無線通信リンクを介してＮＤから１つ以上の第１の命令を受信することを含む。
【０００８】
一つ以上の第１の命令は、インターネット・ラジオ・アプリケーションとの接続を確立するための命令および一つ以上のインターネット・ラジオ・アプリケーション・イベントに対してユーザを促すための命令を含んでいてもよい。インターネット・ラジオ・アプリケーションとの接続を確立するための命令は、さらに、ＮＤを用いてインターネット接続を確立するための命令を含んでいてもよい。実施形態の一態様では、１つ以上の第１の命令は、さらに、インターネット・ラジオ・アプリケーションとＶＣＳとの接続を切るための命令を含んでいてもよい。
【０００９】
方法は、更に、ＶＣＳで一つ以上のインターネット・ラジオ・アプリケーション・イベントに対するユーザからのリクエストを受け取ることを含んでいてもよい。方法は、更に、一つ以上のインターネット・ラジオ・アプリケーション・イベントを実行することを含んでいてもよい。
【００１０】
いくつかの実施形態において、１つ以上のインターネット・アプリケーション・イベントを実行することは、リクエストに従って１つ以上のインターネット・アプリケーション・イベントを実行するために、１つ以上のメッセージを送信することを含んでいてもよい。１つ以上のインターネット・ラジオ・アプリケーション・イベントは、限定するものではないが、複数の歌曲を再生すること、１曲以上の歌曲を格納すること、インターネット・ラジオ・アプリケーションから再生される放送局を変更すること、インターネット・ラジオ・アプリケーションから再生される曲を変更すること、１曲以上の歌曲に関連するフィードバックを受信して格納すること、およびインターネット・ラジオ・アプリケーションを終了することを含んでいてもよい。
【００１１】
いくつかの実施形態において、方法を実行するステップは、ＮＤで実行しているインターネット・ラジオ・アプリケーションから１つ以上の第２の命令を受信することを含んでいてもよい。１つ以上の第２の命令は、インターネット・ラジオ・アプリケーションから発行されたテキスト情報を話すための命令を含んでいてもよい。そのテキスト情報は、限定するものではないが、接続確認、少なくとも１つのラジオ放送局名、アーティスト名、および歌曲名を含んでいてもよい。
【００１２】
いくつかの実施形態において、第１および第２の命令は、さらに、１つ以上の第１の命令又は１つ以上の第２の命令によって実行された動作の完了に関連する、少なくとも１つの追加的な命令を含んでいてもよい。方法は、さらに、識別子と少なくとも１つの追加的な命令とを、ＮＤで実行しているインターネット・ラジオ・アプリケーションに送信することを含んでもいてもよい。識別子によって、１つ以上の第１の命令又は１つ以上の第２の命令によって実行された動作の完了を識別することができる。
【００１３】
いくつかの実施形態において、方法はさらに、ＶＣＳと、ＮＤで実行しているインターネット・ラジオ・アプリケーションとの間で接続を確立し、ＶＣＳとインターネット・ラジオ・アプリケーションとの間でデータを送信するために、アプリケーション・プログラミング・インターフェース（ＡＰＩ）を利用することを含んでいてもよい。
【００１４】
いくつかの実施形態において、方法はさらに、ＮＤで実行しているインターネット・ラジオ・アプリケーションを動作させるために、ユーザからのリクエストをＶＣＳで受信することを含んでいてもよい。そのリクエストは、ボタンを押すこと、音声活性化トリガ、またはこれらの両方のような、車両内でのトリガに応じてユーザから受信されてもよい。
【００１５】
各種実施形態の別の態様は、車両の周辺内に位置するノマディック装置（ＮＤ：nomadic wireless communication device）に保存されるコンピュータアプリーケーションを動作させるコンピュータ実行システムを含む。そのシステムは、車両コンピュータシステム（ＶＣＳ：vehicle computer system）を含んでいてもよい。ＶＣＳは、ＶＣＳとＮＤとの間で無線通信リンクを確立するために、ＮＤとペアになるように構成されている。ＶＣＳはさらに、無線通信リンクを介して、ＮＤから１つ以上の第１の命令を受信するように構成されている。
【００１６】
一つ以上の第１の命令は、インターネット・ラジオ・アプリケーションとの接続を確立するための命令および一つ以上のインターネット・ラジオ・アプリケーション・イベントに対してユーザを促すための命令を含んでいてもよい。インターネット・ラジオ・アプリケーションとの接続を確立するための命令は、さらに、ＮＤを用いてインターネット接続を確立するための命令を含んでいてもよい。
【００１７】
ＶＣＳはさらに、１つ以上のインターネット・ラジオ・アプリケーション・イベントに対するユーザからのリクエストを受信し、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するように構成されていてもよい。
【００１８】
いくつかの実施形態において、ＶＣＳは、リクエストに従って、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するために、１つ以上のメッセージをＮＤに送信することによって、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行してもよい。
【００１９】
ＶＣＳはさらに、ＮＤから１つ以上の第２の命令を受信するように構成されていてもよい。１つ以上の第２の命令は、インターネット・ラジオ・アプリケーションから発行されたテキスト情報を話すための命令を含んでいてもよい。
【００２０】
第１および第２の命令は、さらに、１つ以上の第１の命令又は１つ以上の第２の命令によって実行された動作の完了に関連する、少なくとも１つの追加的な命令を含んでいてもよい。ＶＣＳはさらに、識別子と少なくとも１つの追加的な命令とを、ＮＤで実行しているインターネット・ラジオ・アプリケーションに送信するように構成されていてもよい。識別子によって、１つ以上の第１の命令又は１つ以上の第２の命令によって実行された動作の完了を識別することができる。
【００２１】
各種実施形態の別の態様は、車両の周辺内に位置するノマディック装置（ＮＤ：nomadic wireless communication device）に保存されるコンピュータアプリーケーションを動作させるコンピュータ実行システムを含む。システムは、車両コンピュータシステム（ＶＣＳ：vehicle computer system）とＮＤとの間で無線通信リンクを確立するために、ＶＣＳとＮＤとがペアとなり、ＶＣＳで入力を受信するための手段を含んでいてもよい。システムはさらに、ＮＤで実行しているインターネット・ラジオ・アプリケーションを操作するためにユーザからのリクエストを受信するための手段を含んでいてもよい。システムはさらに、ＮＤから無線通信リンクを介して、１つ以上の第１の命令をＶＣＳで受信するための手段を含んでいてもよい。
【００２２】
一つ以上の第１の命令は、インターネット・ラジオ・アプリケーションとの接続を確立するための命令および一つ以上のインターネット・ラジオ・アプリケーション・イベントに対してユーザを促すための命令を含んでいてもよい。
【００２３】
システムはさらに、ＶＣＳで、１つ以上のインターネット・ラジオ・アプリケーション・イベントに対するユーザからのリクエストを受信するための手段を含んでいてもよい。システムはさらに、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行する手段を含んでいてもよい。システムは、リクエストに従って、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行するために、１つ以上のメッセージをＮＤに送信することによって、１つ以上のインターネット・ラジオ・アプリケーション・イベントを実行してもよい。
【００２４】
これらおよび本発明の他の態様は、添付図面および以下の発明の詳細な説明を考慮して一層よく理解されるであろう。
【００２５】
新しいと考えられる本発明の特徴は、特に、添付の請求の範囲に記載される。本発明、その構成および動作の仕方の両方は、更なる目的およびその効果とともに、添付の図面と関連する以下の説明を参照して、最も理解されるであろう。
【図面の簡単な説明】
【００２６】
【図１】図１は、車両内でインターネット・ラジオ・アプリケーションの実行を可能にするための車両コンピュータシステムのためのブロック・トポロジの例を示す。
【図２】図２は、本発明の各種実施形態のうちの１つに従って車両内でインターネット・ラジオ・アプリケーションを実行する動作を例示する。
【図３】図３は、本発明の各種実施形態のうちの別の１つに従って車両内でインターネット・ラジオ・アプリケーションを実行する動作を例示する。
【図４】図４は、コンピューティング・システムが実装された車両と通信する一つ以上のアプリケーションを実行している、例示的で典型的な遠隔装置を示す。
【発明を実施するための形態】
【００２７】
本発明の詳細な実施形態は、以下において開示される。しかしながら、開示された実施形態は単に、発明の典型的な例であり、様々でかつ代わりの形態でも実施できるものと解釈すべきである。したがって、以下で開示される特定の機能的な詳細は、限定するものとしてではなく、単に、クレームの根拠を表すものとして、および／または種々の形で本発明を使用することを当業者に教示する根拠を表すものとして解釈されるものである。
【００２８】
今日の携帯機器は、ユーザにとって、単なる通信媒体であることを越えるものである。携帯機器は、従来他の手段によって実行されてきた動作にかかわる利益をユーザに提供する特徴を備える。社会において不可欠なものになりつつある携帯機器で、ユーザは、自身の機器のサービスや機能への連続的なアクセスを望んでいる。ユーザが車両を運転するときに、そのようなアクセスに対する問題および事象が生じる。特にドライバーは、運転の注意をそらすことができない。
【００２９】
例えば、ドライバーは、少し例を挙げるとオーディオファイル、テキストメッセージ、およびカレンダーのような、自身の電話の特定のアプリケーションにアクセスしたいことがある。通常、ユーザは、これらのアプリケーションを検索するために物理的に自身の携帯機器を操作する必要がある。このことは、ドライバーおよび／または乗客にとって危険であるだけでなく、道路上における他者にも同様に危険が生じる。
【００３０】
携帯機器には、例えばＰａｎｄｏｒａのようなインターネット・ラジオのためのアプリケーションを提供するものがある。従来のラジオのように、インターネット・ラジオによって、ユーザは多くのラジオ放送を聞くことができる。しかし、音楽はインターネット接続を介して携帯機器にストリームされる。携帯機器に実装されたインターネット・ラジオであっても、従来のラジオのように、ユーザは、例えばボタンを押すことによって、アプリケーションを物理的に操作してもよい。さらにまた、インターネット・ラジオは視覚的なインターフェースを備えているのみであるため、ユーザはインターネット・ラジオからの全ての出力を受け取って、アプリケーションとの視覚的な相互作用による全ての入力を提出する必要がある。
【００３１】
したがって、車両からインターネット・ラジオ・アプリケーションを管理するための方法とシステムは、一つ以上の実施形態に示される。開示された各種実施形態は、車両からインターネット・ラジオ・アプリケーションを操作するという状況を示しているが、これは単なる例としてのものである。本発明は、携帯機器のアプリケーションがハンズフリーのアクセシビリティであることが望まれる他のタイプの環境の範囲内で使用することができる。
【００３２】
図１は、車両からインターネット・ラジオ・アプリケーションの例えば管理と実行を可能にするための車両コンピュータシステム（vehicle computer system）１（以下、ＶＣＳ１として参照する）のブロック・トポロジの例を示すものである。車載コンピューティング・システムを有効にした車両には、車両内に位置するビジュアル・フロントエンド・インターフェース４が含まれうる。ユーザは、それが提供されている場合には、例えば、タッチセンシティブスクリーンを用いて、インターフェースと対話することもできる。実例となる別の実施形態において、対話は、ボタンを押すこと、可聴音声および音声合成によって発生する。
【００３３】
図１に示す実例となる実施形態において、プロセッサ３は、車載コンピューティング・システムの動作の少なくともいくつかの部分を制御する。車両内部に提供されていることで、プロセッサ３によりコマンドおよびルーチンを車内で処理することができる。さらに、プロセッサ３は、一時記憶装置５および永久記憶装置７の両方に接続される。この実例となる実施形態において、一時記憶装置は、ランダムアクセスメモリ（ＲＡＭ）であり、永久記憶装置はハードディスクドライブ（ＨＤＤ）またはフラッシュメモリである。
【００３４】
プロセッサ３には、ユーザがプロセッサ３とのインターフェースをとるための、複数の異なる入力も提供されている。この実例となる実施形態において、マイクロホン２９、補助入力２５（入力３３用）、ＵＳＢ入力２３、ＧＰＳ入力２４およびブルートゥース入力１５が全て提供されている。ユーザが各種の入力間で切り換えができるよう、入力セレクタ５１も提供されている。マイクロホンおよび補助コネクタの両方への入力は、プロセッサ３に渡される前に、コンバータ２７によりアナログからデジタルに変換される。
【００３５】
システムへの出力には、限定はされないものの、ビジュアル・ディスプレイ４およびスピーカー１３またはステレオシステム出力が含まれる。スピーカーは、アンプ（増幅器）１１に接続され、プロセッサ３からのその信号を、デジタル・アナログ変換器９を通して受信する。出力は、ＰＮＤ５４などのリモートブルートゥース装置または車両ナビゲーション装置６０などのＵＳＢ装置に対しても、それぞれ参照番号１９および２１に示した双方向データストリームに沿ってなすことができる。
【００３６】
実例となる一実施形態において、システム１は、ブルートゥース用アンテナ１７を使ってユーザのノマディック装置５３（例えば、携帯電話、スマートフォン、ＰＤＡ、など）（以下、ＮＤ５３と参照する）と通信するために、ブルートゥーストランシーバ１５を使用する。ＮＤ５３は、車両３１外のネットワーク６１と通信５９するために、例えば、セルラータワー５７との通信５５を使用できる。
【００３７】
ＮＤ５３とブルートゥーストランシーバ１５とのペアリングは、ボタン５２または類似した入力により、ＣＰＵ３に内蔵ブルートゥーストランシーバがノマディック装置内のブルートゥーストランシーバとペアとなることを知らせ、命令することができる。
【００３８】
データは、例えば、データプラン、データ・オーバー・ボイス、またはＮＤ５３に関連したＤＴＭＦトーンを利用して、ＣＰＵ３およびネットワーク６１の間で通信される。別の方法として、ＣＰＵ３とネットワーク６１との間でボイスバンドを介してデータを転送するためのオンボードモデム６３を含めることが望ましいことがある。実例となる一実施形態において、プロセッサ３は、モデムアプリケーションソフトウェアと通信するＡＰＩを含むオペレーティングシステムを備えている。モデムアプリケーションソフトウェアは、リモートブルートゥーストランシーバ（ノマディック装置にあるものなど）との無線通信を完了するために、ブルートゥーストランシーバ上の埋め込みモジュールまたはファームウェアにアクセス可能である。別の実施形態において、ノマディック装置５３には、ボイスバンドまたはブロードバンドデータ通信用のモデムが含まれる。データ・オーバー・ボイスの実施形態において、データの転送中にノマディック装置の所有者が装置を介して会話するときに、周波数分割多重伝送方式として知られている技術を導入することができる。また、所有者が装置を使用していないときには、データ転送は、帯域全体（一例で、３００Ｈｚ〜３．４ｋＨｚ）を使用できる。
【００３９】
ユーザが、ノマディック装置に関連したデータプランを有しているとき、データプランにより、ブロードバンド伝送ができるようにすることが可能で、またシステムは、より幅広い帯域を使用すること（データ転送をスピードアップすること）ができる。さらに別の実施形態において、ＮＤ５３は、車両３１に取り付けたセルラー通信装置（図示せず）と置き換えられる。
【００４０】
一実施形態において、受信データは、ノマディック装置を通し、データ・オーバー・ボイスまたはデータプランを経由し、内蔵ブルートゥーストランシーバを通し、そして車両内部のプロセッサ３内に伝えられる。例えば、特定の一時的なデータの場合、そのデータがもはや必要でなくなるときまで、そのデータをＨＤＤまたはその他の記憶媒体７に保存することができる。
【００４１】
車両とインターフェースをとることができる追加的なソースには、例えば、ＵＳＢ接続５６および／またはアンテナ５８を持つ個人用ナビゲーション装置５４、またはＵＳＢ  ６２またはその他の接続を持つ車両ナビゲーション装置６０、車載ＧＰＳ装置２４、またはネットワーク６１への接続性を持つリモートナビゲーションシステム（図示せず）が含まれる。
【００４２】
さらに、ＣＰＵ３は、様々なその他の補助装置６５と通信可能である。これらの装置は、無線６７または有線６９の接続で接続しうる。また、あるいは代替的に、ＣＰＵ３は、車載の無線ルータ７３と、例えばＷｉＦｉ（登録商標）７１トランシーバを使用して接続できる。これにより、ＣＰＵ３はローカルルータ７３の範囲にあるリモートネットワークに接続できるようになる。
【００４３】
本発明の１つ以上の実施形態に係る動作を、図２及び図３について説明する。ブロック８０のように、ＣＰＵ３とＮＤ５３とがペアになると、ユーザは、ブロック９２のように、車両からインターネット・ラジオ・コンピュータ・アプリケーション（以下、アプリケーションとして参照する）をアクティブにするトリガによって、アプリケーションの操作をリクエストすることができる。例えば、ユーザは車両のハンドルに設けられたボタン（例えばプッシュ・トゥ・トークボタン）を押したり、起動するためのコマンドを話せばよい。一実施形態において、アプリケーションに対するリクエストを受信するよりも前に、ＣＰＵ３は、ブロック８２に示すように、１つ以上のクライアント側ＡＰＩ、あるいは、アプリケーション・プログラミング・インタフェース（ＡＰＩ）を使っているＮＤ５３で実行しているアプレットと接続を確立してもよい。ＡＰＩは、以下、図４についてより詳細に説明する。
【００４４】
ＣＰＵ３は、ユーザからのトリガ（例えばボタンを押したり、音声コマンド、あるいはその両方）に基づいて接続を確立してもよい。例えば、ユーザは、車両のハンドルに設けられたプッシュ・トゥ・トークボタンを押して、「アプリケーション」と言うことができる。ＣＰＵ３がユーザから発行された命令を解釈して、処理することができるように、ＣＰＵ３は音声認識ソフトウェアを含んでいてもよい。例えば、ＣＰＵ３は、ＡＰＩを使用しているＮＤ５３と接続を確立するための命令を受信してもよい。音声認識ソフトウェアは、この出願の全体にわたって記述されるような他のコマンドを認識するかもしれないし、記載された例が実例となると解釈されるべきである。
【００４５】
その後、ＡＰＩを使用して、ＣＰＵ３は、動作対象のデバイスに存在するアプリケーションを決定するために、ＣＰＵ３を介してＮＤ５３にクエリを発行してもよい。そして、ユーザは、別のリクエストに対するプロンプトを受け取ってもよいし、受け取らなくてもよい。いずれの場合も、その後、ユーザは、ＮＤ５３で利用可能な１つ以上のアプリケーションに対して、別のリクエスト（例えば、ボタンを押すこと、および／または音声命令によって）を発行してもよい。ＣＰＵ３は、ユーザに（ディスプレイ４またはスピーカ１３から出力される話し言葉を介して）、ブロック８４のようにＮＤ５３で利用可能な１つ以上のアプリケーションを提供してもよい。
【００４６】
ブロック８６のように、リクエストされたアプリケーションは、ＮＤ５３で利用できるか否かが判定される。アプリケーションが利用できない場合、ブロック８８に示すように、ユーザはアプリケーションが利用不可能であることが通知される。その場合、ユーザは、アプリケーションを操作する前に、まず、外部のウェブサイトまたはＶＣＳ１のメモリ（例えばＨＤＤ７）からアプリケーションをダウンロードする必要がある。ＮＤ５３でアプリケーションが利用できる場合、ユーザは以下で説明するようにしてアプリケーションを操作する。
【００４７】
一実施形態において、ユーザは、ＣＰＵ３を介してアプリケーションを操作できるようにあらゆるアプリケーションに対するリクエストを生成する前に、ＣＰＵ３を（例えば、ボタンを押したり、音声コマンドによって）「ウェイク・アップ」状態にする。
【００４８】
ＮＤ５３でアプリケーションが利用できる場合、ＣＰＵ３によってアプリケーションのアクティブ化のためのリクエストが受信されるときに、ＣＰＵ３は、ブロック９０のように、リクエストされたＮＤ５３上のアプリケーションをアクティブにするか又は起動するために、ＮＤ５３にメッセージを伝えることができる。そのメッセージは、Ｕｎｉｃｏｄｅ（例えば、ＵＴＦ−８又はＵＴＦ−１６）に翻訳され、ＮＤ５３に送信される。１つの実例となる実施形態では、メッセージはＡＳＣＩＩコードに翻訳される。
【００４９】
ＣＰＵ３からのメッセージを受信すると、ＮＤ５３は、ブロック９０のようにアプリケーションを起動することができる。クライアント側ＡＰＩまたはアプレットを使用して、アプリケーションは、図２および図３について以下でより詳細に説明しているように、アプリケーションを動作させるための多くの命令をＣＰＵ３に出力することができる。一実施形態において、命令のフォーマットは、ＸＭＬ（extensible markup language）であってもよい。あるいは、または加えて、アプリケーションは、本発明の各種実施形態の１つ以上の動作を遂行するために、ＮＤ５３からＣＰＵ３にダイレクトに命令を出力してもよい。
【００５０】
一実施形態において、１つ以上の動作／命令は、同期していてもしていなくてもよい。ここで使用しているように、非同期動作は、命令が完了することを示すリターン・メッセージが、アプリケーションに送り返されるまで続いていてもよい。一実施形態において、アプリケーションの動作と管理に関連する命令は、アプリケーションが完了命令を受信する前に送信され、実行されてもよい。
【００５１】
動作を実行するための命令は、「プロシージャ(パラーメータ)」という形式であり、「プロシージャ」は、実行されるタスクまたはイベントを定義するものであり、「パラメータ」は、プロシージャがタスクまたはイベントを実行するために受け入れる、１つ以上の引数を定義するものである。このフォーマットは例であるため、以下で説明する１つ以上の動作を達成するために使用される他のフォーマットのように、限定して解釈すべきではない。
【００５２】
図３について補足すると、ＣＰＵ３から１つ以上のメッセージを受信すると、アプリケーションは、ブロック９２（図２参照）のように、ＣＰＵ３と接続するための命令を送信することができる。命令の一例は、「ClientAppConnect(appName)」である。ブロック９４に示すように、接続が確立される。
【００５３】
「AppName」は、操作されるアプリケーションを識別するものである。したがって、例えば、アプリケーションがインターネット・ラジオ・アプリケーション（例えば、Ｐａｎｄｏｒａ  Ｍｅｄｉａ社によって製造されて配布されている「Ｐａｎｄｏｒａ」）であれば、命令は「ClientAppConnect(Pandora)」のように書くことができる。もし、アプリケーションが予約リーダであるなら、命令のシンタックスは「ClientAppConnect(CalendarReader)」としてもよい。一実施形態において、アプリケーションは、ＣＰＵ３との接続ステータス（例えば接続完了）を識別するための返送命令を受信してもよい。返送命令の一例は「OnConnectionStatusReceived」である。ＣＰＵ３は、ブロック９６のように、接続動作が完了したかどうかを判定する。接続動作が完了していない場合、ＣＰＵ３は、ブロック９８に示すように、「OnConnectionStatusReceived」という命令の送信を遅延させることができる。接続動作が完了している場合、ＣＰＵ３は、ブロック１００のように、アプリケーションに命令を送信することができる。
【００５４】
アプリケーションは、ＣＰＵ３との接続ステータスを表す、ユニークな識別番号（ＩＤ）を受信してもよい。ＩＤは、接続期間（すなわち、接続が切断されるまで）においてのみ有効であればよい。
【００５５】
ＣＰＵ３と接続したあとは、アプリケーションは、ブロック１０２のように、インターネット・ラジオ・アプリケーションを起動してから、ＣＰＵ３によってアクティブとなって、動作することができる。接続を確立することは、通信ネットワーク（例えばインターネット）を介してアプリケーションと接続を確立することを含んでいてもよい。
【００５６】
ユーザは、ブロック１０４に示すように、アプリケーションの操作をいつでも切断するためのオプションを有していてもよい。ユーザがアプリケーションの利用を切断することを選択すれば、ユーザは、コマンドを話すことでアプリケーションを終了することができる。１つ以上のメッセージが、インターネット・ラジオのセッションを接続するために、ＣＰＵ３からＮＤ５３に送信される。それに応じて、ブロック１０６のように、ＣＰＵ３によって切断命令が受信される。ＣＰＵ３との接続を切るための命令は、「ClientAppDisconnect」で表されてもよい。したがって、一旦ＣＰＵ３への接続が終了すると、ブロック１０８のように、アプリケーションによる、それと同じ接続を利用しているＣＰＵ３への、それ以上のいかなる通信が無視されるようになる。
【００５７】
ユーザが切断しないことを選択すれば、ＣＰＵ３は、ブロック１１０のように、アプリケーションを動作させるための接続ステータスを伝えるために、ＮＤ５３からの命令を受信することができる。
【００５８】
アプリケーションの操作は、テキスト・トゥ・スピーチ、および／またはスピーチ・トゥ・テキストによる変換によって実行することができる。例えば、ユーザがアプリケーション（これとともに、自身のＮＤ５３に存在する他のアプリケーション）を利用したいとき、ユーザは、ボイス・アクティブコマンドを発行し、マイクロフォン２９がそれを受信することで、アプリケーションをアクティブにすることができる。ＣＰＵ３内のモジュールは、スピーチをテキストに変換するためのコンピュータ実行可能命令を含んでいてもよい。テキストは、リクエストされたアプリケーションをアクティブにするために、クライアント側ＡＰＩ、あるいは、ＮＤ５３のアプレットに、例えば、ＡＳＣＩＩコードで伝えられる。そして、アプリケーションは、クライアント側ＡＰＩからその命令を受信すると、アクティブになることができる。
【００５９】
その後、ＮＤ５３は、ブロック１２０のように、ユーザにシグナルを送っている、リクエストされたアプリケーションが識別されたことを伝えるために、ＣＰＵ３に返送命令を発行することができる。返送命令は、テキストとしてアプリケーションから生成される。したがって、命令は、ブロック１２０のように、指定されたテキストをユーザに伝えるために、アプリケーションによって発行されてもよい。例えば、ユーザが「Ｐａｎｄｏｒａ」というアプリケーションをリクエストする場合、Ｐａｎｄｏｒａアプリケーションは、ＮＤ５３を通じて命令をＣＰＵ３に送信し、これによりＣＰＵ３が例えば「Ｐａｎｄｏｒａへようこそ。接続中です・・」と言うようになる。そのようなメッセージは、ＮＤ５３（ＮＤ５３によってアプリケーションを操作している場合）のビジュアル・インターフェースに表示されてもよい。しかしながら、本発明の１つ以上の実施形態は、テキストをスピーチに変換するものを利用している。
【００６０】
返送命令のシンタックスの一例は、「SpeakText(text,completionCorrelationID)」（以下、「テキストを話す命令」として参照する）とすることができる。その命令は、ブロック１２８のように、イベント（すなわち、テキストを話すこと）の完了を識別するためのさらなる命令を含んでいてもよい。そのような命令のシンタックスの一例は、「OnSpeakComplete」とすることができる。ＣＰＵ３は、テキストを話す動作が完了したかどうかを判定する。ＣＰＵ３が、その動作が完了していないと判断すると、ＣＰＵ３は、ブロック１３０に示すように、「OnSpeakComplete」命令の送信を遅延させることができる。一方、接続動作が完了すれば、ＣＰＵ３は、ブロック１３２のように、アプリケーションに命令を送信することができる。「テキストを話す命令」は、ＶＣＳ１のスピーカ１３によって指定されたテキストを話すために使用してもよい。「SpeakText」は、発生するイベントを表しており、「text」は、ＣＰＵ３からＶＣＳ１によって話されるテキストを表している。そして、「completionCorrelationID」は、イベントが完了して返却される識別子を表している。識別子は、「OnSpeakComplete」イベントとともに送られてもよい。
【００６１】
一実施形態において、「テキストを話す命令」を完了させるために、アプリケーションは、ブロック１２２のように、「フォーカスされる」ことが要求されても、されなくてもよい。したがって、例えば、ＶＣＳ１から「Ｐａｎｄｏｒａへようこそ」というメッセージを受けたユーザに対して、システムは、アプリケーションとユーザとが同時に対話できることを確実にするようにプログラムされていてもよい。アプリケーションが「フォーカスされる」ことが必要でないようにシステムがプログラムされている実例では、アプリケーションは、同じまたは別々の命令を発行してもよい。別々の命令の一例は、「speakAlert(text,completionCorrelationID)」（以下、「警告を話す命令」として参照する）とすることができ、この命令は、ブロック１２４のように、アプリケーションがフォーカスされることを要求しない場合にＣＰＵ３に受信される。一方、アプリケーションがフォーカスされることを要求する場合、ブロック１２６のように、「テキストを話す命令」は受信される。「警告を話す命令」は、非同期であってもよく、アプリケーションへの「テキストを話す命令」イベントの完了を示す「OnSpeakAlertComplete」命令を含んでいてもよい。ＣＰＵ３は、ブロック１３４のように、「警告を話す動作」が完了したか否かを判定する。動作が完了していない場合、ＣＰＵ３は、ブロック１３６のように、「OnSpeakAlertComplete」命令の送信を遅延させることができる。一方、接続動作が完了している場合、ＣＰＵ３は、ブロック１３８のように、その命令を、アプリケーションに送信する。
【００６２】
「テキストを話す命令」は、アプリケーションに接続されていて、アプリケーションが動作している間に発行されるものであると解釈されるべきである。したがって、単に、アプリケーションを起動することに限られるものではない。その命令は、アプリケーションの動作を命じるために使用されてもよい。
【００６３】
例えば、ＣＰＵ３は、ＣＰＵ３からＶＣＳ１を通してユーザに再生される、１つ以上のラジオ局を提供するための命令をアプリケーションから受信することができる。これらの局は、ユーザに「テキストを話す命令」を用いて示される。例えば、アプリケーションから発行された命令によって、ＣＰＵ３が、「１つの放送局として：'９０年代のロック'、'７０年代のクラシック'、'トップ４０'のいずれかを言ってください。」と言うようにしてもよい。ユーザが、自分のアプリケーションから特に聴きたい音楽のジャンルやチャネルがあれば、例えば「トップ４０」と言うと、それがマイクロホン２９に受信されて、ＣＰＵ３に送信される。そして、ＣＰＵ３は、１つ以上のメッセージ（例えば、ＡＳＣＩＩコードで）をクライアント側ＡＰＩ、またはＮＤ５３のアプレットに送信し、これによって、アプリケーションは、「トップ４０」の放送局を起動することができる。すると、その局からの音声は、スピーカ１３を通して再生するためにＣＰＵ３にストリームされる。
【００６４】
限定するものではないが、アプリケーションを操作するための他の音声コマンドには、曲の間を移動すること（例えば「next track」コマンド）、歌曲を評価すること（例えば「vote down」コマンドや「vote up」コマンド）、歌曲を保存すること（例えば「bookmark songs」コマンド）、放送局の間を移動すること（例えば「change stations」コマンド）、放送局を一覧表示すること（例えば「list stations」コマンド）、およびアプリケーションを終了すること（例えば「exit」コマンド）などのコマンドを含んでいてもよい。
【００６５】
ＣＰＵ３は、ブロック１４０のように、アプリケーションを動作させるためのコマンドに対して、ユーザに入力を促すことができる。例えば、ユーザは、「１つの放送局として：'９０年代のロック'、'７０年代のクラシック'、'トップ４０'のいずれかを言ってください。」と聞くことができる。１つ以上のこれらのプロンプトは、複数のパラメータを含んでいてもよい。１つの典型的な命令は、ユーザに入力を促すためのものや、認識されたレスポンスをリッスンするためのものである。後述するように、認識されたレスポンスは、モジュールにプログラムされたさらなる命令に基づくものであってもよい。プロンプト命令と認識されたレスポンス命令とは、特定のシンタックスを有する。例えば、典型的な一つのシンタックスは、「PromptAndListen (initialPrompt,helpPrompt, rejectionPrompt, timeoutPrompt, recoPhraseSetHandleList, completionCorrelationID)」（以下、「プロンプト命令」として参照する）とすることができる。この命令は、このイベントの完了を示す追加命令に結び付いていてもよい。そのような命令のシンタックスの一例は、「OnPromptAndListenComplete」とすることができる。ＣＰＵ３は、ブロック１４２のように、プロンプトおよびリッスン動作が完了したか否かを判定する。動作が完了していない場合、そのとき、ＣＰＵ３は、ブロック１４４に示すように、「OnPromptAndListenComplete」命令の送信を遅延させることができる。一方、プロンプトおよびリッスン動作が完了した場合、そのとき、ＣＰＵ３は、ブロック１４６のように、その命令をアプリケーションに送信することができる。
【００６６】
「PromptAndListen」というプロンプト命令は、発生するイベント（すなわち、プロンプトとリッスン）を表し、「initialPrompt」は、リッスン動作が開始する前にユーザに話されるテキストを含んでいる。「helpPrompt」は、ユーザがイベントをリッスンしている間にヘルプを求める場合に、ユーザに話されるテキストを含んでいる。「rejectionPrompt」は、ユーザが認識可能なフレーズを話すことを失敗した場合に、ユーザに話されるテキストを含んでいる。「timeoutPrompt」は、ユーザが認識可能なフレーズを話すことを失敗した場合に、ユーザに話されるテキストを含んでいる。「recoPhraseSetHandleList」は、あらかじめプログラムされた１つ以上のフレーズを認識するためにイベントのセッションが確立している間に作成された、多くのフレーズ・セット・ハンドル（あるいは、フレーズ・セット・識別子）を含んでいる。一実施形態では、認識されたあらゆるフレーズは、「OnPromptAndListenComplete」命令を使って、アプリケーションに返送される。返送された命令は、「completionCorrelationID」命令イベントの中に含まれる識別子を含んでいてもよい。
【００６７】
プロンプトを出力することでＣＰＵ３によってリッスンされたレスポンスを認識することは、ブロック１４７のように、さらに多くの命令によって達成することができる。これらの命令は、「PromptAndListen」動作の間にリッスンされるフレーズのセットを生成してもよい。そのような命令の典型的なシンタックスは、「CreateRecoPhraseSet(phraseSetList, thresholdIgnore, thresholdReject, completionCorrelationID)」（以下、「認識されたレスポンス命令」として参照する）となる。認識されたレスポンス命令は、認識されたレスポンス・イベントの完了を示す、追加命令に結び付けられていてもよい。典型的な返送命令は、「OnRecoPhraseSetCreationComplete」である。返送命令は、後のプロンプト命令の用途のために、フレーズ・セット・識別子（すなわち、ハンドル）を含んでいてもよい。ＣＰＵ３は、ブロック１４８のように、認識されたレスポンス動作が完了したか否かを判定する。その動作が完了していない場合、ＣＰＵ３は、ブロック１５０に示すように、「OnRecoPhraseSetCreationComplete」命令の送信を遅延させることができる。一方、認識されたレスポンス動作が完了している場合、ＣＰＵ３は、ブロック１５２のように、アプリケーションに命令を送信する。
【００６８】
認識されたレスポンス命令である「CreatRecoPhraseSet」は、認識のために用いられるフレーズ・セット生成イベントを表す。「phraseSetList」は、ＣＰＵ３によって認識された多くのフレーズ文字列を含んでいてもよい。「thresholdIgnore」は、あらかじめ定められた範囲（例えば０〜１００）の間の数値を含んでいてもよい。その範囲は、信頼できる認識のレベルを示すものであり、そのレベルはユーザからのレスポンス（すなわち、フレーズ）が無視されないようにするために得られる。「thresholdReject」は、あらかじめ定められた範囲（例えば０〜１００）の間の数値を含んでいてもよい。その範囲は、信頼できる認識のレベルを示すものであり、そのレベルはユーザからのレスポンス（すなわち、フレーズ）が拒絶されないようにするために得られる。「completionCorrelationID」は、フレーズ・セット生成動作の完了を示す「OnRecoPhraseSetCreationComplete」命令の中に含まれる識別子である。
【００６９】
インターネット・ラジオ・アプリケーション・イベント（例えば、「トップ４０」の再生）に対するリクエストを受信すると、ＣＰＵ３は、ブロック１５４のように、１つ以上のメッセージ（例えば、ＡＳＣIIコードで）を、クライアント側ＡＰＩあるいはアプレットに送信することで、アプリケーションにインターネット・ラジオ・アプリケーション・イベントを実行させることができる。例えば、ユーザが「トップ４０」をリクエストすれば、アプリケーションは、「トップ４０」の放送局からメディアアイテム（例えば歌曲）を起動することができる。そして、ＣＰＵ３は、通信ネットワーク６１（例えばインターネット）を介して、ブロック１５８のように、リクエストされた放送局からメディアアイテム（例えば歌曲）を受信することができる。歌曲は、アプリケーションからメタデータとして受信されてもよい。一実施形態では、ＣＰＵ３は、歌曲のプレイリストを受信することができる。インターネット・アプリケーション・イベントは、例えば、ブロック１６０のように、局からの音声がユーザにストリームされるように、ＶＣＳ１で実行されてもよい。１つ以上のインターネット・ラジオ・アプリケーション・イベントは、アプリケーションの動作を終了するためのものである。ＣＰＵ３が、ブロック１５６のように、アプリケーションを終了する命令を受信すれば、ＣＰＵ３は、ブロック１６２のように、セッションを終了することができる。
【００７０】
限定するものではないが、インターネット・ラジオ・アプリケーションのイベントには、他に、曲の間を移動を移動すること、歌曲を評価すること、歌曲を保存すること、放送局の間を移動すること、および放送局を列挙することが含まれていてもよい。
【００７１】
一実施形態において、テキストは、ディスプレイ４に表示される。表示されたテキストは、あらかじめ定められた長さ（例えば１２文字）に制限される。一実施形態では、テキストは、ユーザに「マーキー・スタイル」で表示されてもよい。アプリケーションは、さらに、この動作を実行するために命令を発行してもよい。命令の一例は、「DisplayText(text)」であり、「text」は、ＣＰＵ３のラジオ・ヘッド（図示せず）に表示されるテキストを表す。放送局(例えば「トップ４０」)がユーザによって選択されている場合、アプリケーションはメディアアイテムに関する情報を表わすメタデータを送信してもよい。このことによって、いくつかの実施形態では、「プレイリスト」が生成されて、ユーザに表示されてもよい。１つの実施形態では、この命令が実行されるために、アプリケーションがフォーカスされるように、システムはプログラムされていてもよい。
【００７２】
いくつかの実施形態では、アプリケーションは、ＮＤ５３のモジュールに格納された、多くの実行可能なプログラム（すなわち、ダイナミック・リンク・ライブラリまたはＤＬＬ）と通信することができる。ＤＬＬは、ＣＰＵ３と通信するために、アプリケーション・プログラミング・インターフェース（ＡＰＩ）とのインターフェースをとるために使用される。さらに、アプリケーションは、ワールド・ワイド・ウェブ（ＷＷＷ）の動作（例えば、マイクロソフト社によって開発・配布される．Ｎｅｔアーキテクチャに基づく）を実行するために、１つ以上のＤＬＬと通信することができる。
【００７３】
図４は、車載コンピューティング・システム２４７と通信する一つ以上のアプリケーションを実行している、実例となる典型的なリモート装置２０９を示す。この実例となる実施形態では、リモート装置２０９（限定するものではないが、携帯電話、ＰＤＡ、ＧＰＳデバイスなど）は、それに格納された、１つ以上のリモート・アプリケーション２０１，２０５を有する。リモート・アプリケーションは、車両コンピューティングシステム（ＶＣＳ）のクライアント側ＡＰＩ２０３，２０７を使用して、車載コンピューティング・システム２４７と通信する。このＡＰＩは、例えば、前もって開発者に提供され、リモート装置２０９と車載コンピューティング・システム２４７との間で通信が可能となるように、送受信パケットのフォーマットを定義することができる。ディスパッチャ２１１は、複数のアプリケーションが同時に通信している場合に、それぞれを、リモート装置２０９に提供することができる。
【００７４】
データは、通信リンク２１３を介して、リモート装置から車両通信システムに通過する。これは、有線または無線リンクであってもよく、半二重または全二重通信であってもよい。実例となる一実施形態では、通信は、全二重通信である。限定するものではないが、一例としてリンクは、ブルートゥースリンクでもよい。
【００７５】
車両システム２４７は、自身に格納された様々なアプリケーションを有する。限定するものではないが、これらアプリケーションには、コミュニケーション・マネージャ２２３、ＡＰＩ抽象アプリケーション２１７、管理調停アプリケーション２１９、適合アプリケーション２２１などがある（これらのアプリケーションは、サービス・プロバイダ・アプリケーション２１５のように、１つまたは複数のアプリケーションの層であってもよい）。
【００７６】
コミュニケーション・マネージャ２２３は、受信メッセージを抽象アプリケーション（または層）２１７に転送したり、送信メッセージが適切なトランスポート・チャネルを経由して送信されることを確実にするように、全てのトランスポートを扱うことができる。
【００７７】
抽象アプリケーション２１７は、受信メッセージを、サービスによって実行されるアクションに変換することができ、ローカルモジュールからの情報やイベントから送信メッセージを生成することができる。
【００７８】
管理調停アプリケーション２１９は、ＨＭＩ要素の用途を管理したり、リソースの消費を決定することによって、それぞれのアプリケーションに対して、ローカルの車載コンピューティング・システムを仮想化することができる。
【００７９】
適合アプリケーション２２１は、ローカルＡＰＩをカプセル化することができて、コアのローカル・アプリケーションと共存することができる。このアプリケーションは、通信接続が、異なるバージョンの車載コンピューティング・システムのソフトウェアと互換性を持つことができるように、修正または置き換えることができる。
【００８０】
少なくとも１つの典型的な方法において、メッセージ・プロトコルは、モバイル・クライアントと車載コンピューティング・システムとの間でやり取りされるメッセージをエンコードするために使用される。車載コンピューティング・システムは、テキストを表示したり話すこと、リッスンすること、ボタンが押されたことを伝えることなどを目的として、ヒューマン・マシン・インターフェース（ＨＭＩ）を命令し、制御することができる。これらのメッセージは、少量のデータ（例えば、テキストフレーズ、ボタン識別子、ステータス、サムドライブのファイルデータ、コンフィグのデータなど）を含んでいてもよい。メッセージの内容によって提供される相補的なサポートを使用するこのプロトコルにより、複数のクライアント・アプリケーション・セッションが並行して単一のトランスポート・チャネルを使用することができる。
【００８１】
他のオープン・スタンダードなプロトコルは、音声を携帯機器から車両音声システム（携帯機器の全てがＡ２ＤＰをサポートしているわけではない）にストリーミングするためのＡ２ＤＰ  ＢＬＵＥＴＯＯＴＨプロファイルのように、適切でかつ利用可能なところで使用される。しかしながら、いくつかのオープン・スタンダードなプロトコルは、どの携帯機器でも、常に利用できるわけではないか、あるいは、常に一様に実装されるわけではない。さらに、これらのプロトコルの用途をサポートするＡＰＩは、全てのモバイルのプラットフォームにおいて、一様に実装されているわけではない。したがって、いくつかのオープン・スタンダードなプロトコル（例えばＯＢＥＸ）の機能は、メッセージ・プロトコルの一部として提供されるが、技術的には十分シンプルに実現できるため、プラットフォーム全体にわたって、かなりの増進で均一的に広がりつつある。
【００８２】
トランスポートは、クライアント・アプリケーションと車載コンピューティング・システムとの間で、プロンプト・イベントを伝えるために、全二重通信をサポートするように構成されている。また、トランスポートは、１つ以上のデバイスから同時接続ができるようにするために、複数の並列のチャネルをサポートすることもできる。
【００８３】
１つ以上の典型的なトランスポートは、シリアル（ＲＳ２３２）やＴＣＰ／ＩＰである。携帯機器と通信するシリアルトランスポートは、例えば、ＢＬＵＥＴＯＯＨ  Ｓｅｒｉａｌ  Ｐｒｏｆｉｌｅによって提供される。ほとんどの携帯機器は、このプロファイルをサポートしており、そのほとんどが、その用途に合う共通のプログラミング・モデルを提供している。シリアル・プログラミング・モデルは、幅広く利用されており、非常に均一である。車載コンピューティング・システムがSerial-over-USBをサポートしている場合、シリアル・トランスポートは、車載コンピューティング・システム（携帯機器がＵＳＢ接続でのシリアルをサポートしている場合）にＵＳＢ接続されたあらゆる携帯機器で利用することができる。
【００８４】
さらに、ＴＣＰ／ＩＰトランスポートによって、車載コンピューティング・システムで動作しているアプリケーションがローカルＨＭＩを使用することができる。将来、モジュールが、外部のＴＣＰ／ＩＰの接続性を提供すれば、このトランスポートによって、外部のクライアントがＴＣＰ／ＩＰの接続性を介して接続することができる。ＴＣＰ／ＩＰのためのソケット・プログラミング・モデル（ＡＰＩを含む）は、典型的に非常に携帯性が高い。そのような例として、ローカルにロードされたアプリケーション２２９は、クライアント側ＡＰＩ２２７を利用してローカル・ソケット２２５と通信するものである。
【００８５】
少なくとも１つの例示的な実施形態において、切断されているシステムの性質として、車載コンピューティング・システムは、クライアント・アプリケーションと接続されるまでその存在を知らないため、システムと、クライアントの携帯機器とが互いの存在および能力を発見することができるような発見メカニズムが必要となる。
【００８６】
クライアントの携帯機器は、環境を発見すること、プラットフォームをローカルおよびＨＭＩで利用できるようにすることによって、重複する発見があってもよい。そして、システムは、リモート装置で利用可能なアプリケーションを発見したり、それらアプリケーションを起動することができる。
【００８７】
実例となる実施形態において、ネィティブＡＰＩ２３１は、関数から呼び出されるリモート装置によってアクセスできるものに関連する様々なサービスを有する。例えば、表示機能２３３が提供される。
【００８８】
システムは、クライアント・アプリケーションが車両のディスプレイに書いたり、その特性を問い合わせることを可能とするＡＰＩを提供することができる。各ディスプレイの特性は一般的に、クライアント・アプリケーションがディスプレイのタイプ（Type 1 FDM, Type 3 GAP, Type 6 Navigationなど）のためのハードコーディングを必要としないように記載される。具体的には、システムは、各ディスプレイを列挙したり、各ディスプレイの意図された使用方法（プライマリまたはセカンダリのディスプレイ）を示すことができる。さらに、システムは、各ディスプレイの記入可能なテキストフィールドを列挙したり、それぞれの記入可能なテキストフィールドの次元を提供したり、各フィールドの意図された一般的な使用方法を示すことができる。現在のユーザ・インターフェースとの整合性を促進するために、長いテキストをスクロールすることをサポートしてもよく、そのことは、ドライバーの注意を引くルールによって可能としてもよい。
【００８９】
システムは、テキスト・トゥ・スピーチ機能２４１を含んでいてもよい。システムは、クライアント・アプリケーションが、車載コンピューティング・システムのテキスト・トゥ・スピーチの機能性に影響を及ぼすことができるようなＡＰＩを提供することができる。クライアント・アプリケーションは、オーディオ・アイコンの再生と口頭のテキストをインタリーブすることができてもよい。それらは、既存のオーディオ・アイコンを利用するかまたは自身の短いオーディオ・ファイルを提供することができてもよい。アプリケーションに提供されるオーディオ・ファイルのフォーマットはそれらがもともとサポートされるものに限られる。
【００９０】
実例となる実施形態のさらなる機能性として、１つ以上のボタン入力２４３を含んでいてもよい。その一例は、車両に組み込まれたボタン（ハンドルのボタンのように）を使うことによって、リモート装置でアプリケーションをコントロールすることである。
【００９１】
さらに別の機能として、スピーチ認識機能２４５があってもよい。システムは、クライアント・アプリケーションが、車載コンピューティング・システムのスピーチ認識機能に影響を及ぼすことができるようなＡＰＩを提供してもよい。システムは、クライアント・アプリケーション開発者により単純な開発モデルを提供するために、車載コンピューティング・システムの在来のスピーチ認識ＡＰＩを単純化することもできる。スピーチの文法ＡＰＩも在来のＡＰＩの柔軟性のうちのほとんどを保持しながら単純化される。例えば、システム（クライアント・アプリケーションを代表する）は、「BLUETOOTH Audio」または「USB」のようなグローバルな音声コマンドを認識して、適切なアプリケーションに制御を通過させる。
【００９２】
音声Ｉ／Ｏ２３７は、典型的な手法で提供されてもよい。システムは、コア・アプリケーションにコーディングされるインターフェースの取り決めを実施している間に、ＨＭＩへの調整されたアクセスを提供してもよい。フォーカスされた単独のクライアント・アプリケーションは、ディスプレイ、ボタン、オーディオ・キャプチャまたはスピーチ・エンジンへのプライマリ・アクセスができてもよい。フォーカスされていないクライアント・アプリケーション（例えばText Messaging，Turn By Turn Navigationなど）は、短いアナウンス（例えば「New Message Arrived」または、「Turn Left」）を生成することができる。ステレオ・オーディオは、携帯機器のオーディオ・アプリケーションの後で再生を続けてもよい。
【００９３】
システムは、クライアント・アプリケーションが、マイクロフォンを使って録音されたオーディオをキャプチャすることができるようなＡＰＩを提供することができる。キャプチャはいつでも中断可能であるが、クライアント・アプリケーションはキャプチャの期間を特定することができる。キャプチャされたオーディオは、クライアント・アプリケーションに返されるか、あるいは、ローカルもしくはポータブルドライブに格納される。
【００９４】
さらに、システムには、ファイルＩ／Ｏ２３５が提供されてもよい。例えば、システムは、クライアント・アプリケーションが、リモートドライブからファイルを読み込んだり、書き込んだり、生成および／または削除することができるようなＡＰＩを提供することができる。リモートドライブ・ファイルシステムへのアクセスは、クライアント・アプリケーションが自身に特有のディレクトリにあるデータのみを読み込む／編集することができるように制限される。
【００９５】
本発明を実施するためのベストモードを詳細に説明してきたが、本発明の技術分野の当業者は、以下の請求項によって定義されたような発明を実施するための、種々の代替のデザイン及び実施形態を認識するであろう。
【図１】
0005799010.tif 000002
【図２】
0005799010.tif 000003
【図３】
0005799010.tif 000004
【図４】
0005799010.tif 000005