以下の詳細な記載は、本発明の様々な実施形態を説明する。こうした実施形態は単なる例示であって、当業者であれば他の実施形態も本発明の範囲内に入ることを理解するであろう。
図1Aを次に参照すると、例示的な自動車1が示されている。本明細書に記載の実施形態の特徴は、自動車1等の車両用に実装されてもよい。本明細書に記載の実施形態は、自動車1の運転者又は乗客に改善された表示機能を有利に提供する。実施形態は、自動車1の様々な電子及び機械システム上で自動車1の運転者又は乗客に改善された制御を更に提供してもよい。
図1Bを次に参照すると、本発明の一部の実施形態による、オーディオビジュアルシステム100の単純化されたブロック図が示されている。図示のように、オーディオビジュアルシステム100は、入力装置110、処理モジュール120、及び出力装置130を含む。オーディオビジュアルシステム100は、他のコンポーネントを更に含んでもよい。オーディオビジュアルシステム100は、自動車1に搭載されたハードウェア及び/又はハードウェアを制御するためのソフトウェアを含むシステムとして実装されてもよい。
図1Cを次に参照すると、本発明の一部の実施形態による、オーディオビジュアルシステム100のシステムアーキテクチャが示されている。図示のように、オーディオビジュアルシステム100は、水平レイヤ化関係及び垂直コンパートメント化関係を有する様々なハードウェア及びソフトウェア構造を含んでもよい。
低レベルでは、オーディオビジュアルシステム100は、システム・オン・チップ(「SoC」)レイヤ140、又はハードウェアプロセッサ、メモリ装置、グラフィックス処理装置及び他の電子機器を含む何らかの他のハードウェアレイヤを含んでもよい。図1Cの例示のハードウェアアーキテクチャでは、SoCレイヤ140は、オーディオビジュアルシステム100の一部としてデジタル信号を実行することができる4つのプロセッサコア(A、B、、C及びDとして示されている)を含む。他の実施形態では、SoCレイヤ140は、他のハードウェア構成によって実装されてもよい。例えば、SoCレイヤ140の機能は、汎用コンピュータ装置の単一の又は複数のマザーボードに設けられる1つ以上のプロセッサ、オーディオビジュアルシステム100にコンピュータ情報を伝達するサーバ等の遠隔コンピュータ資源等を使用して実行されてもよい。
ハードウェア仮想化レイヤ142がSoCレイヤ140で実行されている。ハードウェア仮想化レイヤ142は、SoCレイヤ140及びそのプロセッサコアへのアクセスを制御するためのソフトウェアを含んでもよい。高レベルソフトウェアレイヤが、SoCレイヤ140の他のプロセッサコアで実行される他のコンパートメント化ソフトウェアの動作を中断せずに単一のプロセッサコアでコンパートメント化されて実行され得る。
オペレーティングシステムレイヤ144がSoCレイヤ142で実行されている。オペレーティングシステムレイヤ144は、同時に実行されるオペレーティングシステムの複数の独立したインスタンスを含んでもよい。この機能は、高レベルソフトウェア動作をコンパートメント化するハードウェア仮想化レイヤ142の上記機能に基づいて使用可能にされてもよい。例として、オペレーティングシステムレイヤ144は、Linux(登録商標)オペレーティングシステムの第1のインスタンス、Linuxオペレーティングシステムの第2のインスタンス、Androidオペレーティングシステムのインスタンス、及びQNX自動車用オペレーティングシステムを含んでもよい。各オペレーティングシステムは、同時に且つ互いから独立して実行されてもよい。ハードウェア仮想化レイヤ142は、SoCレイヤ140において自身のプロセッサコアで独立して及び排他的に実行されるように各オペレーティングシステムを機能的にコンパートメント化することにより、4つのオペレーティングシステムインスタンスの同時且つ独立の動作を促進してもよい。
機能レイヤ146がオペレーティングシステムレイヤ144で実行されている。機能レイヤ146は、自動車1、自動車1の乗客、娯楽コンテンツ、又はオーディオビジュアルシステム100の様々な他の機能に関する機能を実行する様々なソフトウェアアプリケーションを含んでもよい。機能レイヤ146は、同様の又は様々なタイプのソフトウェアアプリケーションが互いにグループ化されるようにコンパートメント化されてもよい。例えば、第1の機能アプリケーション(機能アプリケーションA)は、計器クラスタ又はヘッドアップディスプレイ装置に関するソフトウェアアプリケーションを含んでもよい。第2の機能アプリケーション(機能アプリケーションB)は、自動車1の機械的動作に関するソフトウェアアプリケーションを含んでもよい。第3の機能アプリケーション(機能アプリケーションC)は、娯楽コンテンツに関するソフトウェアを含んでもよい。第4の機能アプリケーション(機能アプリケーションD)は、自動車1又は自動車1の乗客にネットワーク又はクラウドベースのサービスを提供することに関するソフトウェアを含んでもよい。
図1Cの例示のオーディオビジュアルシステム100は、ユーザと相互作用するための様々な機能を提供するユーザインターフェースレイヤ148を含む。ユーザインターフェースレイヤ148は、タッチセンサ入力の受信、音声コマンドの受信等のユーザインターフェース技術を含んでもよい。図1Cのオーディオビジュアルシステム100は、自動車1の乗客に出力の様々な手段を提供するためのディスプレイ装置150を更に含む。
一部の実施形態では、オーディオビジュアルシステム100は、本明細書で検討される他の一般タスク(例えば、カスタム化メニューのために、コードを実行すること、入力を処理すること、出力を生成すること等、携帯型コンピュータ装置、サーバ等のオーディオビジュアルシステム100以外の装置と通信すること)を実行するための追加のコンピュータハードウェアを含んでもよい。他の実施形態では、本明細書に記載の一般タスクは、1つ以上のプロセッサコアによって行われてもよい。
図1D−1Eを次に参照すると、本発明の一部の実施形態による、オーディオビジュアルシステム100を使用するための例示の処理が示されている。図1Dに示されているように、処理はステップ180で開始し、オーディオビジュアルシステム100がディスプレイの第1の機能領域及びディスプレイの第2の機能領域を含む情報の表示を生成する。ステップ181において、オーディオビジュアルシステム100は、ディスプレイの第1の機能領域に関するユーザ入力を受信する。ステップ182において、オーディオビジュアルシステム100は、第1の機能領域に割り当てられる第1の処理コア及びオペレーティングシステムでユーザ入力を処理する。ステップ183において、オーディオビジュアルシステム100は、第2の機能領域の機能を中断せずに第1の機能領域に対する情報の新しい表示を生成する。
図1Eに示されているように、処理はステップ190で開始し、オーディオビジュアルシステム100は、複数の機能領域を含む情報の表示を生成する。ステップ191において、オーディオビジュアルシステム100は、まだ情報の表示の一部ではない新しい機能領域に関するユーザ入力を受信する。ステップ192において、オーディオビジュアルシステム100は、新しい機能領域を含むように情報の表示のための新しい構成を決定する。
次に図1Fを参照すると、例示的な実施形態による、車両インターフェースシステム301が示されている。車両インターフェースシステム301は、マルチコア処理環境400及び入出力装置、接続、及び/又は要素の間の接続を含む。マルチコア処理環境400は、先に記載された車載オーディオビジュアルシステム用のシステムアーキテクチャを提供してもよい。マルチコア処理環境400は、様々なコンピュータハードウェアコンポーネント(例えば、プロセッサ、集積回路、印刷回路基板、ランダムアクセスメモリ、ハードディスク記憶装置、ソリッドステートメモリ記憶装置、通信装置等)を含んでもよい。一部の実施形態では、マルチコア処理環境400は、システムアーキテクチャによって、マルチコア処理環境400内で実行中のアプリケーション及び/又は様々な周辺装置(例えば、装置303‐445)の間で交換される様々な入力及び出力を管理する。マルチコア処理環境400は、例えば、計算を行い、アプリケーションを実行し、車両インターフェースシステム301を管理し、汎用処理タスクを行い、オペレーティングシステムを実行してもよい。
マルチコア処理環境400は、マルチコア処理環境400が他の装置又はソースから情報を受信し及び/又は他の装置又はソースに情報を送信することを可能にするコネクタハードウェアに接続されてもよい。例えば、マルチコア処理環境400は、コネクタハードウェアを介してマルチコア処理環境400に接続される携帯型メディア装置、データ記憶装置、サーバ、携帯電話等にデータを送信し又はこれらからデータを受信してもよい。一部の実施形態では、マルチコア処理環境400は、アップル認定コネクタ303に接続される。アップル認定コネクタ303は、APPLE(R)製品に接続するための任意のコネクタであってもよい。例えば、アップル認定コネクタ303は、ファイアワイアコネクタ、30ピンAPPLE(R)装置互換コネクタ、ライトニングコネクタ等であってもよい。
一部の実施形態では、マルチコア処理環境400は、「USB2.0」(Universal Serial Bus version 2.0)コネクタ305に接続される。USB2.0コネクタ305は、1つ以上の装置又はデータソースの接続を可能にしてもよい。例えば、USB2.0コネクタ305は、4つのメスコネクタを含んでもよい。他の実施形態では、USB2.0コネクタ305は、1つ以上のオスコネクタを含む。一部の実施形態では、マルチコア処理環境400は、「USB3.0」(Universal Serial Bus version 3.0)コネクタ307に接続される。USB2.0コネクタ305を参照して記載されたように、USB3.0コネクタ307は、互換装置が接続することを可能にする1つ以上のオス又はメス接続を含んでもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上の無線通信接続309に接続される。無線通信接続309は、追加の無線通信装置(例えば、プロセッサ、アンテナ等)と共に実装されてもよい。無線通信接続309は、マルチコア処理環境400と他の装置又はソースとの間のデータ転送を可能にする。例えば、無線通信接続309は、赤外線通信、Bluetooth(登録商標)3.0等のBluetooth(登録商標)通信、ZigBee通信、Wi−Fi通信、ローカルエリアネットワーク及び/又は無線ローカルエリアネットワークを介する通信等を使用してデータ転送を可能にしてもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のビデオコネクタ311に接続される。ビデオコネクタ311は装置/ソース間のビデオデータの送信を可能にし、マルチコア処理環境400が接続される。例えば、ビデオコネクタ311は、HDMI(登録商標)(High−Definition Multimedia Interface)、MHL(Mobile High−definition Link)等の標準に準拠するコネクタ又は接続であってもよい。一部の実施形態では、ビデオコネクタ311は、データ転送を促進する及び/又は標準に準拠するハードウェアコンポーネントを含む。例えば、ビデオコネクタ311は、補助プロセッサ、集積回路、メモリ、MIPI(mobile Industry Processor Interface)等を使用する標準を実装してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上の有線通信接続313に接続される。有線通信接続313は、ハードウェア及び/又はネットワーク装置間の接続を含んでもよい。例えば、有線通信接続313は、Ethernet(登録商標)スイッチ、ルータ、ハブ、ネットワークブリッジ等であってもよい。
マルチコア処理環境400は、車両コントロール315に接続されてもよい。一部の実施形態では、車両コントロール315は、マルチコア処理環境400が車両によって使用されるプロセッサ、メモリ、センサ等の車両制御設備と接続することを可能にする。例えば、車両コントロール315は、マルチコア処理環境400をエンジン制御装置、エアバッグモジュール、身体制御器、走行制御モジュール、トランスミッション制御器等に接続してもよい。他の実施形態では、マルチコア処理環境400は、列挙されているようなコンピュータシステムに直接接続される。このような場合、車両コントロール315は、エンジン制御装置、搭載プロセッサ、搭載メモリ等の要素を含む車両制御システムである。車両コントロール315は、車両コントロール315に接続される追加のソースからの情報をルーティングしてもよい。情報は、追加のソースからマルチコア処理環境400へ及び/又はマルチコア処理環境400から追加のソースへルーティングされてもよい。
一部の実施形態では、車両コントロール315は、1つ以上のLIN(Local Interconnect Networks)317、車両センサ319、及び/又はCAN(Controller Area Networks)321に接続される。LIN317は、LINプロトコルに準拠し、車両コンポーネント間の通信を可能にしてもよい。車両センサ319は、車両テレメトリを決定するためのセンサを含んでもよい。例えば、車両センサ319は、ジャイロスコープ、加速度計、3次元加速度計、傾斜計等の1つ以上であってもよい。CAN321は、CANバスによって車両コントロール315に接続されてもよい。CAN321は、車内のセンサからのフィードバックを制御又は受信してもよい。また、CAN321は、車両の電子制御装置と通信してもよい。他の実施形態では、車両コントロール315の機能は、マルチコア処理環境400によって実装されてもよい。例えば、車両コントロール315は省略されてもよく、マルチコア処理環境400はLIN317、車両センサ319、CAN321又は車両の他のコンポーネントと直接接続してもよい。
一部の実施形態では、車両インターフェースシステム301は、システムモジュール323を含む。システムモジュール323は、電源を含み、及び/又は他のやり方で車両インターフェースシステム301に電力を供給してもよい。システムモジュール323は、プラットフォーム温度を監視又は制御するコンポーネントを含んでもよい。また、システムモジュール323は、起動及び/又はスリープ機能を実行してもよい。
図1Fを更に参照すると、マルチコア処理環境400は、チューナコントロール325に接続されてもよい。一部の実施形態では、チューナコントロール325は、マルチコア処理環境400が無線信号受信機と接続することを可能にする。チューナコントロール325は、マルチコア処理環境400とFMアンテナ、AMアンテナ等の無線伝送受信機との間のインターフェースであってもよい。チューナコントロール325は、マルチコア処理環境400が信号を受信し、及び/又は受信機を制御することを可能にしてもよい。他の実施形態では、チューナコントロール325は、無線信号受信機及び/又はアンテナを含む。チューナコントロール325は、マルチコア処理環境400によって制御される無線信号を受信してもよい。例えば、マルチコア処理環境400は、チューナコントロール325に特定の周波数に同調するように命令してもよい。
一部の実施形態では、チューナコントロール325は、1つ以上のFM及びAMソース327、DAB(Digital Audio Broadcasting)ソース329、及び/又は1つ以上のHD(High Definition)ラジオソース331に接続されるFM及びAMソース327は無線信号であってもよい。一部の実施形態では、FM及びAMソース327は、受信機、アンテナ等のハードウェアを含んでもよい。DABソース329は、DAB技術及び/又はプロトコルを利用する無線信号であってもよい。他の実施形態では、DABソース329は、アンテナ、受信機、プロセッサ等のハードウェアを含んでもよい。HDラジオソース331は、HDラジオ技術及び/又はプロトコルを利用する無線信号であってもよい。他の実施形態では、HDラジオソース331は、アンテナ、受信機、プロセッサ等のハードウェアを含んでもよい。
一部の実施形態では、チューナコントロール325は、1つ以上のアンプ333に接続される。アンプ333は、チューナコントロール325からオーディオ信号を受信してもよい。アンプ333は、信号を増幅して、それを1つ以上のスピーカに出力する。例えば、アンプ333は、1つ以上のスピーカ(例えば、4つのスピーカ)に接続される4チャネルパワーアンプであってもよい。一部の実施形態では、マルチコア処理環境400は、(例えば、マルチコア処理環境400内のアプリケーションによって生成される)オーディオ信号を、今度はアンプ333に信号を送信するチューナコントロール325に送信してもよい。
図1Fを更に参照すると、マルチコア処理環境400は、マルチコア処理環境400がメディアソースから情報を受信し及び/又はメディアソースに情報を送信することを可能にするコネクタハードウェア335−445に接続されてもよい。他の実施形態では、マルチコア処理環境400は、メディアソースに直接接続され、マルチコア処理環境400内に組み込まれるメディアソースを有し、及び/又は他のやり方でメディア情報を送受信してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のDVDドライブ335に接続される。DVDドライブ335は、DVDドライブ335に挿入されたDVDディスクからマルチコア処理環境400にDVD情報を提供する。マルチコア処理環境400は、接続を介してDVDドライブ335を制御してもよい(例えば、DVDディスクを読み込み、DVDディスクを排出し、情報を再生し、情報を停止する等)。更なる実施形態では、マルチコア処理環境400は、DVDディスクにデータを書き込むためにDVDドライブ335を使用する。
一部の実施形態では、マルチコア処理環境400は、1つ以上のSSD(Solid State Drives)337に接続される。一部の実施形態では、マルチコア処理環境400は、SSD337に直接接続される。他の実施形態では、マルチコア処理環境400は、SSD337の取り外しを可能にする接続ハードウェアに接続される。SSD337はデジタルデータを含んでもよい。例えば、SSD337は、デジタル的に記憶された画像、ビデオ、テキスト、オーディオ、アプリケーション等を含んでもよい。更なる実施形態では、マルチコア処理環境400は、SSD337に情報を記憶するためにSSD337との接続を使用する。
一部の実施形態では、マルチコア処理環境400は、1つ以上のSD(Secure Digital)カードスロット339に接続される。SDカードスロット339は、SDカードを受け入れるように構成される。一部の実施形態では、異なるサイズのSDカード(例えば、マイクロ、フルサイズ等)を受け入れる複数のSDカードスロット339がマルチコア処理環境400に接続される。SDカードスロット339は、マルチコア処理環境400がSDカードから情報を取得し、及び/又はSDカードに情報を書き込むことを可能にする。例えば、マルチコア処理環境400は、上記のソースからアプリケーションデータを取得し、及び/又は上記のソースにアプリケーションデータを書き込んでもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のビデオデコーダ441に接続される。ビデオデコーダ441は、マルチコア処理環境400にビデオ情報を提供してもよい。一部の実施形態では、マルチコア処理環境400は、情報を復号して、マルチコア処理環境400にそれを送信するビデオデコーダ441に情報を提供してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のコーデック443に接続される。コーデック443は、デジタルデータストリーム又は信号を符号化又は復号することを可能にする情報をマルチコア処理環境400に提供してもよい。コーデック443は、追加のハードウェア(例えば、プロセッサ、メモリ等)で実行されるコンピュータプログラムであってもよい。他の実施形態では、コーデック443は、マルチコア処理環境400のハードウェアで実行されるプログラムであってもよい。更なる実施形態では、コーデック443は、マルチコア処理環境400によって使用される情報を含む。一部の実施形態では、マルチコア処理環境400は、コーデック443から情報を取得し、及び/又はコーデック443に情報(例えば、追加のコーデック)を提供してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上の衛星ソース445に接続される。衛星ソース445は、衛星から受信した信号及び/又はデータであってもよい。例えば、衛星ソース445は、衛星ラジオ及び/又は衛星テレビ信号であってもよい。一部の実施形態では、衛星ソース445は信号又はデータである。他の実施形態では、衛星ソース445は、アンテナ、受信機、プロセッサ等のハードウェアコンポーネントを含んでもよい。
図1Fを更に参照すると、マルチコア処理環境400は、入出力装置441−453に接続されてもよい。入出力装置441−453は、マルチコア処理環境400がユーザに情報を表示することを可能にしてもよい。また、入出力装置441−453は、ユーザがマルチコア処理環境400に制御入力を提供することを可能にしてもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のCIDディスプレイ447に接続される。マルチコア処理環境400は、CIDディスプレイ447に画像、データ、ビデオ等を出力してもよい。例えば、マルチコア処理環境400内で実行中のアプリケーションがCIDディスプレイ447に出力されてもよい。一部の実施形態では、CIDディスプレイ447は、マルチコア処理環境400に入力情報を送信してもよい。例えば、CIDディスプレイ447は、タッチ対応であり、マルチコア処理環境400に入力情報を送信してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のICDディスプレイ449に接続される。マルチコア処理環境400は、ICDディスプレイ449に画像、データ、ビデオ等を出力してもよい。例えば、マルチコア処理環境400内で実行中のアプリケーションがICDディスプレイ449に出力されてもよい。一部の実施形態では、ICDディスプレイ449は、マルチコア処理環境400に入力情報を送信してもよい。例えば、ICDディスプレイ449は、タッチ対応であり、マルチコア処理環境400に入力情報を送信してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のHUDディスプレイ451に接続される。マルチコア処理環境400は、HUDディスプレイ451に画像、データ、ビデオ等を出力してもよい。例えば、マルチコア処理環境400内で実行中のアプリケーションがHUDディスプレイ451に出力されてもよい。一部の実施形態では、HUDディスプレイ451は、マルチコア処理環境400に入力情報を送信してもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上の後部座席ディスプレイ453に接続される。マルチコア処理環境400は、後部座席ディスプレイ453に画像、データ、ビデオ等を出力してもよい。例えば、マルチコア処理環境400内で実行中のアプリケーションが後部座席ディスプレイ453に出力されてもよい。一部の実施形態では、後部座席ディスプレイ453は、マルチコア処理環境400に入力情報を送信してもよい。例えば、後部座席ディスプレイ453は、タッチ対応であり、マルチコア処理環境400に入力情報を送信してもよい。
更なる実施形態では、マルチコア処理環境400は、他のソースから入力を受信してもよい。例えば、マルチコア処理環境400は、ハードキーコントロール(例えば、ボタン、ノブ、スイッチ等)から入力を受信してもよい。一部の実施形態では、マルチコア処理環境400は、パーソナルメディア装置、携帯電話等の接続装置からも入力を受信してもよい。追加の実施形態では、マルチコア処理環境400は、こうした装置に出力してもよい。
図1Gを次に参照すると、例示的な実施形態によるマルチコア処理環境400内で実行される様々な動作モジュールが示されている。動作モジュールは、車両内のディスプレイ装置で表示するためのアプリケーション画像(例えば、グラフィックス出力)を生成するために使用される。アプリケーション画像はフレームバッファコンテンツを含んでもよい。動作モジュールは、メモリに記憶されて、マルチコア処理環境400のコンピュータコンポーネント及び/又はハードウェアコンポーネントにより実行されるコンピュータコードであってもよい。動作モジュールは、ハードウェアコンポーネントであり又はハードウェアコンポーネントを含んでもよい。一部の実施形態では、図1Gに示された動作モジュールは、マルチコア処理環境400の単一コアで実装される。
一部の実施形態では、マルチコア処理環境400は、システム構成モジュール341を含む。システム構成モジュール341は、システム構成に関連する情報を記憶してもよい。例えば、システム構成モジュール341は、接続ディスプレイの数、接続ディスプレイのタイプ、ユーザ設定(例えば、お気に入りのアプリケーション、好みのアプリケーション場所等)、デフォルト値(例えば、アプリケーションのデフォルト表示場所)等の情報を含んでもよい。
一部の実施形態では、マルチコア処理環境400は、アプリケーションデータベースモジュール343を含む。アプリケーションデータベースモジュール343は、マルチコア処理環境400にロードされる及び/又は実行される各アプリケーションに関連する情報を含んでもよい。例えば、アプリケーションデータベースモジュール343は、特定のアプリケーションに関連する表示情報(例えば、アイテム/ディスプレイ構成、色、相互作用可能要素、関連画像及び/又はビデオ等)、デフォルト又は設定情報(例えば、「ホワイトリスト」又は「ブラックリスト」情報、デフォルト表示場所、お気に入りの状態等)等を含んでもよい。
一部の実施形態では、マルチコア処理環境400は、オペレーティングシステムモジュール345を含む。オペレーティングシステムモジュール345は、マルチコア処理環境400で実行される1つ以上のオペレーティングシステムに関連する情報を含んでもよい。例えば、オペレーティングシステムモジュール345は、実行可能コード、カーネル、メモリ、モード情報、割り込み情報、プログラム実行命令、デバイスドライバ、ユーザインターフェースシェル等を含んでもよい。一部の実施形態では、オペレーティングシステムモジュール345は、マルチコア処理環境400の他の全てのモジュールを管理するために使用されてもよい。
一部の実施形態では、マルチコア処理環境400は、1つ以上のプレゼンテーションコントローラモジュール347を含む。プレゼンテーションコントローラモジュール347は、1つ以上のコンポーネントモジュール349と1つ以上のアプリケーションモジュール351との間の通信リンクを提供してもよい。プレゼンテーションコントローラモジュール347は、コンポーネントモジュール349とアプリケーションモジュール351との間の入力及び/又は出力を処理してもよい。例えば、プレゼンテーションコントローラ347は、コンポーネントモジュール349から適切なアプリケーションへと情報をルーティングしてもよい。同様に、プレゼンテーションコントローラ347は、アプリケーションモジュール351から適切なコンポーネントモジュール349へと出力命令をルーティングしてもよい。一部の実施形態では、プレゼンテーションコントローラモジュール347は、データをルーティングする前にマルチコア処理環境400がデータを前処理することを許可してもよい。例えば、プレゼンテーションコントローラ347は、アプリケーションモジュール351又はコンポーネントモジュール349の何れかにより処理され得る形態に情報を変換してもよい。
一部の実施形態では、コンポーネントモジュール349は、マルチコア処理環境400に接続されるコンポーネント(例えば、携帯電話、DVDドライブ等の娯楽装置、アンプ、信号チューナ等)に関連する入力及び/又は出力を処理する。例えば、コンポーネントモジュール349は、コンポーネントから入力を受信するための命令を提供してもよい。コンポーネントモジュール349は、コンポーネント及び/又は処理入力から入力を受信してもよい。例えば、コンポーネントモジュール349は、入力を命令に変換してもよい。同様に、コンポーネントモジュール349は、出力命令をコンポーネント用の出力又は出力コマンドに変換してもよい。他の実施形態では、コンポーネントモジュール349は、上記のタスクを行うために使用される情報を記憶する。コンポーネントモジュール349は、プレゼンテーションコントローラモジュール347によりアクセスされてもよい。次に、プレゼンテーションコントローラモジュール347は、アプリケーションモジュール351及び/又はコンポーネントとインターフェース接続してもよい。
アプリケーションモジュール351はアプリケーションを実行してもよい。アプリケーションモジュール351は、プレゼンテーションコントローラ347、ウィンドウマネージャ355、レイアウトマネージャ357、及び/又はユーザ入力マネージャ359から入力を受信してもよい。また、アプリケーションモジュール351は、プレゼンテーションコントローラ347、ウィンドウマネージャ355、レイアウトマネージャ357、及び/又はユーザ入力マネージャ359に情報を出力してもよい。アプリケーションモジュール351は、入力に基づいて計算を行って、出力を生成する。次に、出力は異なるモジュールに送信される。アプリケーションの例は、天気情報を取得してそれをユーザに表示する天気情報アプリケーション、携帯装置から通知を取得してユーザに表示する通知アプリケーション、他の入力装置を使用してユーザが携帯装置を制御することを可能にする携帯装置インターフェースアプリケーション、ゲーム、カレンダ、ビデオプレーヤ、音楽ストリーミングアプリケーションを含む。一部の実施形態では、アプリケーションモジュール351は、計算、処理、入力、及び/又は出力により引き起こされるイベントを処理する。アプリケーションモジュール351は、ユーザ入力を処理し、及び/又はそれに応じて表示される画像(例えば、レンダリング面353)を更新してもよい。アプリケーションモジュール351は、アプリケーションを終了する、アプリケーション等を立ち上げる等の他の動作を処理してもよい。
アプリケーションモジュール351は、1つ以上のレンダリング面353を生成してもよい。レンダリング面は、ユーザに表示される情報である。一部の実施形態では、レンダリング面353は、ディスプレイ上に位置する仮想動作フィールドを介してアプリケーションの表示を可能にする情報を含む。例えば、レンダリング面353は、表示される要素のレイアウト、表示される値、表示されるラベル、表示されるフィールド、色、形状等を含む。他の実施形態では、レンダリング面353は、ユーザに表示される画像内に含まれる情報のみを含んでもよい。例えば、レンダリング面353は、値、ラベル及び/又はフィールドを含み得るが、レイアウト(例えば、情報の位置、色、サイズ等)は、他のモジュール(例えば、レイアウトマネージャ357、ウィンドウマネージャ355等)によって決定されてもよい。
ウィンドウマネージャ355は、1つ以上のディスプレイ347における情報の表示を管理する。一部の実施形態では、ウィンドウマネージャ355は、他のモジュールから入力を受け取る。例えば、ウィンドウマネージャ355は、レイアウトマネージャ357及びアプリケーションモジュール351(例えば、レンダリング面353)からの入力を使用して、ディスプレイ347に表示するための画像を作成してもよい。ウィンドウマネージャ355は、表示情報を適切なディスプレイ347にルーティングしてもよい。レイアウトマネージャ357からの入力は、システム構成モジュール341、アプリケーションデータベースモジュール343からの情報、ユーザ入力マネージャ359からの表示レイアウトを変更するためのユーザ入力命令、レイアウトヒューリスティックによる単一ディスプレイ347上のアプリケーション表示のレイアウト、又はディスプレイ347に関係付けられる仮想動作フィールドを管理するためのルール等を含んでもよい。同様に、ウィンドウマネージャ355は、入力を処理して、他のモジュールにルーティングしてもよい(例えば、命令を出力する)。例えば、ウィンドウマネージャ355は、ユーザ入力を受信して、適切なクライアント又はアプリケーションモジュール351にリダイレクトしてもよい。一部の実施形態では、ウィンドウマネージャ355は、X、Y、又はZオーダーに基づいて異なるクライアント又はアプリケーション面(例えば、表示画像)を作成し得る。ウィンドウマネージャ355は、ユーザ入力を介してユーザにより制御されてもよい。ウィンドウマネージャ355は、シェル(例えば、Wayland shell)を介してクライアント又はアプリケーションと通信してもよい。例えば、ウィンドウマネージャ355は、X−Serverウィンドウマネージャ、Windowsウィンドウマネージャ、Waylandウィンドウマネージャ、Waylandサーバ等であってもよい。
レイアウトマネージャ357は、1つ以上のディスプレイ347上に表示されるアプリケーションのレイアウトを生成する。レイアウトマネージャ357は、アプリケーションデータのレイアウトを生成するのに使用されるシステム構成情報を取得してもよい。例えば、レイアウトマネージャ357は、ディスプレイ347の解像度及び場所を含むディスプレイ347の数、システム内のウィンドウマネージャの数、モニタのスクリーンレイアウトスキーム(bining)、車両状態等のシステム構成情報を取得してもよい。一部の実施形態では、システム構成情報は、システム構成モジュール341からレイアウトマネージャ357によって取得されてもよい。
また、レイアウトマネージャ357は、アプリケーションデータのレイアウトを生成するのに使用されるアプリケーション情報を取得してもよい。例えば、レイアウトマネージャ357は、どのアプリケーションがどのディスプレイ347(例えば、HUD、CID、ICD等)に表示されることができるか、各アプリケーションによってサポートされるディスプレイ解像度、アプリケーション状態(例えば、どのアプリケーションが実行中であり又はアクティブであるか)、トラックシステム及び/又は非システムアプリケーション(例えば、タスクバー、設定メニュー、エンジニアリングスクリーン等)等のアプリケーション情報を取得してもよい。
一部の実施形態では、レイアウトマネージャ357は、アプリケーションデータベースモジュール343からアプリケーション情報を取得してもよい。更なる実施形態では、レイアウトマネージャ357は、アプリケーションモジュール351からアプリケーション情報を取得してもよい。また、レイアウトマネージャ357は、ユーザ入力情報を受信してもよい。例えば、ユーザ入力から生じる情報及び/又は命令は、ユーザ入力マネージャ359からレイアウトマネージャ357に送信されてもよい。例えば、ユーザ入力は、あるディスプレイ347から別のディスプレイ347へアプリケーションを移動させ、アプリケーション画像をサイズ変更し、追加のアプリケーションアイテムを表示し、アプリケーションを終了する命令等を生じてもよい。レイアウトマネージャ357は、ユーザ入力に完全に又は部分的に基づいて新しい表示レイアウトを生成するように命令を実行し及び/又は情報を処理してもよい。
レイアウトマネージャ357は、1つ以上のディスプレイに表示されるアプリケーションデータ(例えば、レンダリング面353)用のレイアウトを決定するために上記の情報又は他の情報を使用してもよい。多くのレイアウトが可能である。レイアウトマネージャ357は、本明細書に記載のレイアウトを生成するために様々な技術を使用してもよい。こうした技術は、例えば、サイズ最適化、アプリケーションの優先順位付け、ユーザ入力への応答、ルール、ヒューリスティック、レイアウトデータベース等を含んでもよい。
レイアウトマネージャ357は、他のモジュールに情報を出力してもよい。一部の実施形態では、レイアウトマネージャ357は、アプリケーション情報及び/又はアイテムを所定の設定(例えば、所定のサイズ、所定のディスプレイ347、所定の表示場所(例えば、仮想動作フィールド)等でレンダリングするためにアプリケーションモジュール351に命令及び/又はデータを送信する。例えば、レイアウトマネージャ357は、レイアウトマネージャ357によって取得された情報及び/又は命令に基づいてレンダリング面353を生成するようにアプリケーションモジュール351に命令してもよい。
一部の実施形態では、レンダリング面353又は他のアプリケーションデータは、レイアウトマネージャ357に戻されてもよく、これは次にウィンドウマネージャ355にそれを転送してもよい。例えば、アプリケーション及び/又は仮想動作フィールドの方向、アプリケーション及び/又は仮想動作フィールドのサイズ、アプリケーション及び/又は仮想動作フィールドをどのディスプレイ347に表示すべきか等の情報が、レイアウトマネージャ357によってウィンドウマネージャ355に渡されてもよい。他の実施形態では、レイアウトマネージャ357からの命令に応答してアプリケーションモジュール351によって生成されるレンダリング面353又は他のアプリケーションデータが、ウィンドウマネージャ355に直接送信されてもよい。更なる実施形態では、レイアウトマネージャ357は、ユーザ入力マネージャ359に情報を伝達してもよい。例えば、レイアウトマネージャ357は、所定のユーザ入力を防ぐためにインターロック情報を提供してもよい。
マルチコア処理環境400は、ユーザ入力361を受信してもよい。ユーザ入力361は、タッチスクリーン入力(例えば、プレス、スワイプ、ジェスチャ等)、ハードキー入力(例えば、ボタンを押すこと、ノブを回すこと、スイッチをアクティブ化すること等)、音声コマンド等のユーザ入力に応じたものであってもよい。一部の実施形態では、ユーザ入力361は入力信号又は命令であってもよい。例えば、入力ハードウェア及び/又は中間制御ハードウェア及び/又はソフトウェアがユーザ入力を処理して、マルチコア処理環境400に情報を送信してもよい。他の実施形態では、マルチコア処理環境400は、車両インターフェースシステム301からユーザ入力361を受信する。更なる実施形態では、マルチコア処理環境400は、直接ユーザ入力(例えば、電圧の変化、測定キャパシタンス、測定抵抗等)を受信する。マルチコア処理環境400は、直接ユーザ入力を処理し又は他のやり方で取り扱ってもよい。例えば、ユーザ入力マネージャ359及び/又は追加のモジュールが直接ユーザ入力を処理してもよい。
ユーザ入力マネージャ359はユーザ入力361を受信する。ユーザ入力マネージャ359はユーザ入力361を処理してもよい。例えば、ユーザ入力マネージャ359は、ユーザ入力361を受信して、ユーザ入力361に基づいて命令を生成してもよい。例えば、ユーザ入力マネージャ359は、CIDディスプレイ上のキャパシタンスの変化から成るユーザ入力361を処理し、CIDディスプレイ上の左から右のスワイプに対応する入力命令を生成してもよい。また、ユーザ入力マネージャは、ユーザ入力361に対応する情報を決定してもよい。例えば、ユーザ入力マネージャ359は、どのアプリケーションモジュール351がユーザ入力361に対応するかを決定してもよい。ユーザ入力マネージャ359は、レイアウトマネージャ357から受信したアプリケーションレイアウト情報及びユーザ入力361、ウィンドウマネージャ355からのウィンドウ情報、及び/又はアプリケーションモジュール351から受信したアプリケーション情報に基づいてこの決定を行ってもよい。
ユーザ入力マネージャ359は、ユーザ入力361に対応する情報及び/又は命令を出力してもよい。情報及び/又は命令は、レイアウトマネージャ357に出力されてもよい。例えば、あるディスプレイ347から別のディスプレイ347へとアプリケーションを移動させるための命令が、対応するディスプレイ347に対して更新されたレンダリング面353を生成するようにアプリケーションモジュール351を命令するレイアウトマネージャ357に送信されてもよい。他の実施形態では、情報及び/又は命令は、ウィンドウマネージャ355に出力されてもよい。例えば、情報及び/又は命令はウィンドウマネージャ355に出力されてもよく、これは次に情報及び/又は命令を1つ以上のアプリケーションモジュール351に転送してもよい。更なる実施形態では、ユーザ入力マネージャ359は、情報及び/又は命令をアプリケーションモジュール351に直接出力する。
レンダリング面353及び/又はアプリケーション情報は、1つ以上のディスプレイ347に表示されてもよい。ディスプレイ347は、ICD、CID、HUD、後部座席ディスプレイ等であってもよい。一部の実施形態では、ディスプレイ347は、統合型入力装置を含んでもよい。例えば、CIDディスプレイ347は容量性タッチスクリーンであってもよい。1つ以上のディスプレイ347がディスプレイシステム(例えば、拡張デスクトップ)を形成してもよい。ディスプレイシステムのディスプレイ347は、マルチコア処理環境400の1つ又は複数のモジュールにより調整されてもよい。例えば、レイアウトマネージャ357及び/又はウィンドウマネージャ355は、どのアプリケーションがディスプレイシステムのどのディスプレイ347に表示されるかを決定してもよい。同様に、1つ以上のモジュールが、複数のディスプレイ347間での相互作用を調整してもよい。例えば、マルチコア処理環境400は、あるディスプレイ347から別のディスプレイ347へのアプリケーションの移動を調整してもよい。
上記の図面について先に検討されたオーディオビジュアルシステム100の特徴の説明は例示であり、他の実施形態も予測し得る。
図2A−2Cを次に参照すると、本発明の一部の実施形態による、複数のディスプレイ装置を有するオーディオビジュアルシステム100が示されている。図2Aは、自動車1の例示的な室内を示している。図示のように、3つのディスプレイ装置、中央情報ディスプレイ(「CID」)210、計器クラスタディスプレイ(「ICD」)220、及びヘッドアップディスプレイ(「HUD」)230が設けられている。図2Aに示された例では、CID210は中央コンソールに設けられ、ICD220はハンドルの後ろのダッシュボード内に配置して設けられ、HUD230はフロントガラス上に表示されて設けられている。図2Bは、図2Aの例示の自動車1及びディスプレイ装置の別の斜視図を示している。図2Cは、オーディオビジュアルシステム100の一部である出力装置130の一部としてブロック図の形態で、CID210、ICD220及びHUD230を示している。
先の図面に示されたオーディオビジュアルシステム100の記述は例示であり、他の実施形態も予測し得る。例えば、オーディオビジュアルシステム100は、第2列の乗客がディスプレイ装置を閲覧できるように前列用のヘッドレストの後ろに差し込まれたディスプレイ装置等の更なるディスプレイ装置を含んでもよい。更なる例として、HUD230は、ヘッドアップディスプレイの原理の範囲内にある様々な形態で提供されてもよい。例えば、HUD230は自動車1のフロントガラス上に投影される画像から成ってもよく、又はHUD230はダッシュボードから上方に突出し且つその上に情報が投影され若しくは他のやり方で表示される剛性の透明スクリーンから成ってもよい。オーディオビジュアルシステム100は、3つよりも少ないディスプレイ装置、より多くのディスプレイ装置、異なるディスプレイ装置、自動車1における又は隣接する異なる場所のディスプレイ装置の配置、又は本発明の範囲内の他の変化を含んでもよい。更に、オーディオビジュアルシステム100は、後でさらに詳細に検討される処理コンポーネント及び入力コンポーネント等の非ディスプレイコンポーネントを含んでもよい。
図3A−3Fを次に参照すると、本発明の一部の実施形態による、オーディオビジュアルシステムのための複数の入力装置が示されている。図3Aは、オーディオビジュアルシステム100用の入力装置の形態であり得るタッチスクリーンディスプレイ300を示している。図3Bは、少なくとも1つのユーザ入力装置310を含むハンドルアセンブリを示している。図3Cは、ハンドルアセンブリに取り付けられるユーザ入力装置310を更に詳細に示している。
図3Dは、ユーザ入力装置310を更に詳細に示している。図示のように、ユーザ入力装置310は、タッチセンサ320、ハードキー330、及びハードキー340を含む。タッチセンサ320は、特に、ユーザの指との物理的接触又は近接性を検出して、検出された情報を電気信号に処理するように構成される装置であってもよい。ハードキー330及びハードキー340は、任意の種類の物理ボタン又はキーであってもよい。一部の実施形態では、ハードキー330及びハードキー340は、ユーザ入力装置310内で電気信号を生成するためにユーザによって押され得る物理ボタンである。
図3Eは、オーディオビジュアルシステム100と通信するために使用され得るハンドヘルド装置350を示す。一部の実施形態では、ハンドヘルド装置350は、オーディオビジュアルシステム100に制御信号を送信して、オーディオビジュアルシステム100の機能を制御するために使用されてもよい。
図3Fは、ブロック図の形態で検討されたオーディオビジュアルシステム100の特徴を示している。図示のように、オーディオビジュアルシステム100の入力装置110は、タッチスクリーン300、ユーザ入力装置310、タッチセンサ320、ハードキー330、及びハードキー340を含んでもよい。更に、入力装置110は、ハンドヘルド装置350から信号を受信するための有線受信機370及び無線受信機360を含んでもよい。更に、入力装置110は、ユーザからの可聴ボイス入力を検出および処理するためにボイス受信機380を含んでもよい。更に、入力装置110は、特定の手の動き又は腕のジェスチャ等、自動車1内のユーザによるジェスチャを検出する赤外線検出器390を含んでもよい。このような場合、入力装置110は、赤外線検出器390が赤外線フィールドの撹乱を介してユーザのジェスチャを検出するために赤外線送信機を更に含んでもよい。
先の図面に示されたオーディオビジュアルシステム100の記述は例示であり、他の実施形態も予測し得る。例えば、オーディオビジュアルシステム100は、先の特徴に示されたよりも少ない又は多くの入力装置を有してもよい。更なる例として、オーディオビジュアルシステム100は、当技術分野で周知の異なるタイプの入力装置を有してもよい。ユーザ入力装置310は、より多くの又は少ないハードキー、より多くの又は少ないタッチセンサ等を有するように異なって構成されてもよい。ハンドヘルド装置350は、オーディオビジュアルシステム100と電子的に通信することができる任意の電子装置として実装されてもよい。例えば、ハンドヘルド装置350は、スマートフォン、PDA、タブレットコンピュータ、ラップトップコンピュータ等であってもよい。無線受信機360は、ハンドヘルド装置350と通信するために当技術分野で周知の様々な技術を使用して提供されてもよい。例えば、無線受信機360は、赤外線通信、Bluetooth(登録商標)通信、ZigBee通信、Wi−Fi通信等をサポートしてもよい。有線受信機370は、ハンドヘルド装置350と通信するために当技術分野で周知の様々な技術を使用して提供されてもよい。例えば、有線受信機370は、USBインターフェースをサポートしてもよい。
本発明の一部の実施形態によれば、オーディオビジュアルシステム100は、単一のディスプレイ装置で同時に並列的に実行される複数のアプリケーションからの出力を同時に表示するように構成されてもよい。オーディオビジュアルシステム100は、各アプリケーションが、アプリケーションに関係付けられる情報を表示することができるディスプレイ装置の専用部分を有することを可能にしてもよい。このような部分が、この開示を通じて仮想動作フィールド又は動作フィールドとして検討される。以下の実施形態は、このようなディスプレイ装置がこのような同時表示を可能にするように構成され得る様々なやり方を開示する。
図4A−4Fを次に参照すると、本発明の一部の実施形態による、ディスプレイ装置上の仮想動作フィールドが示されている。こうした図面は、例示的なCID210に基づいてこのような構成を示している。CID210に関して、こうした図面に示されている3つの仮想動作フィールド等の複数の仮想動作フィールドをサポートすることは有利であってもよい。しかしながら、1つのアプリケーションのみが実行されている又は1つのアプリケーションのみがそれ以外のやり方でディスプレイ装置に情報を出力している場合、単一の仮想動作フィールドのみが必要とされてもよい。
図4Aは、基本的にCID210の表示フィールド全体を覆う単一の仮想動作フィールド410が提供される状況を示している。この場合、1つのアプリケーションのみがCID210に情報を出力しているので、より多くの情報又は同じ情報のより詳細な表示を可能にするように、そのアプリケーションの仮想動作フィールド410がディスプレイ装置の全空間を覆うことを有利に可能にする。
図4Bは、2つのアプリケーションがCID210に情報を表示している状況を示している。ここで、2つの仮想動作フィールド410が提供されている。図示のように、1つの仮想動作フィールドがCID210の表示フィールド全体の約2/3を覆う一方で、他の仮想動作フィールド411がCID210の表示フィールド全体の約1/3を覆っている。
図4Cは、3つのアプリケーションがCID210に情報を表示している状況を示している。ここで、3つの仮想動作フィールド410、411、及び412が提供されている。図示のように、各仮想動作フィールド410、411及び412は、CID210の表示フィールド全体の約1/3を覆う。
先の図面における仮想動作フィールドの開示は例示であり、他の実施形態も予測し得る。例えば、CID210等のディスプレイ装置は、4つ、5つ又はそれ以上等、3つより多くの仮想動作フィールドをサポートしてもよい。更に、複数の仮想動作フィールドがディスプレイ装置上に存在する場合、各仮想動作フィールドに提供される合計表示フィールドの部分は、上記のものとは異なってもよい。例えば、2つの仮想動作フィールドがディスプレイ装置に提供される場合、各仮想動作フィールドは、表示フィールド全体の約1/2を覆ってもよい。更なる例として、先の図面には表示フィールドの垂直パーティション化が示されているが、仮想動作フィールドは、表示フィールドの水平パーティション化、水平及び垂直パーティション化の混合、又は他の技術等の他のパーティション化技術を使用して提供され得る。
図4D−4Fは、ソフトウェアアプリケーションにより提供される情報を有する仮想動作フィールドの使用の例を示す。図4Dでは、単一のアプリケーションが、CID210に表示される情報を提供している。このアプリケーションはラジオアプリケーションであり、表示される情報はFM帯域におけるラジオ周波数を探索するためのラジオダイヤルである。図示のように、ラジオアプリケーションのみがCID210に表示される情報を提供している場合、単一の動作フィールド410が、CID210の表示フィールドの実質的に全てを覆うように提供される。
図4Eでは、ラジオアプリケーション及びナビゲーションアプリケーションの両方がCID210に表示される情報を提供している。このように、ラジオアプリケーション情報が仮想動作フィールド410に表示される一方で、仮想動作フィールド411にはナビゲーションアプリケーション情報が表示される。
図4Fでは、ラジオアプリケーション、ナビゲーションアプリケーション及び(現在のトリップに関する詳細を提供する)トリップアプリケーションが、CID210に表示される情報を提供している。このように、仮想動作フィールド410にラジオアプリケーション情報が表示され、仮想動作フィールド412にナビゲーションアプリケーション情報が表示され、仮想動作フィールド412にトリップアプリケーション情報が表示される。
図4G−4Hは、本発明の一部の実施形態による、ディスプレイ装置に表示されるアプリケーションを変更するための処理を示す。図4Gの処理はステップ450で開始し、オーディオビジュアルシステム100が、0個以上のアプリケーションのために情報の表示を生成する。このステップでは、アプリケーションの何らかの事前の選択が行われており、こうしたアプリケーションがディスプレイ装置上の仮想動作フィールドに割り当てられて、こうしたアプリケーション用の情報が表示されている。場合によっては、アプリケーションが表示されておらず、この場合は、ディスプレイ装置には0個の仮想動作フィールドが有る。
ステップ451では、オーディオビジュアルシステム100は、ディスプレイ装置に現在表示されていないアプリケーション用の情報を表示するようにオーディオビジュアルシステム100に命令する入力を受信する。この入力は、ユーザ入力、システムトリガ、何らかの他のシステムからの入力、又はそれ以外に基づいてもよい。例えば、入力は、運転者がナビゲーション支援を受けること、ラジオ局等を変更すること等を望むことにより提供されてもよく、車両警告に基づいてトリガされてもよく、ハンドヘルド装置350における着信電話呼び出しによってトリガされてもよく、又はこれら以外であってもよい。オーディオビジュアルシステム100は、入力を受信し且つ処理して、現在表示されていない追加のアプリケーションが表示されるべきであると決定する。
ステップ452では、オーディオビジュアルシステム100は、ディスプレイ装置用の既定最大数の仮想動作フィールドが既に使用されているかどうかを決定する。オーディオビジュアルシステム100は、メモリから仮想動作フィールドの既定最大数を取得して、それを現在使用されている仮想動作フィールドの数と比較することによりこの決定を行ってもよい。仮想動作フィールドの最大数にまだ到達していない場合、オーディオビジュアルシステム100は、既に表示されている全てのアプリケーションに加えて新しいアプリケーションを表示するであろう。
ステップ453では、オーディオビジュアルシステム100は、新しいアプリケーション用に別の仮想動作フィールドの追加を受け入れるために既に使用されている仮想動作フィールドをどのようにサイズ変更及び再配置するかを決定する。このステップは、オーディオビジュアルシステム100が既存の仮想動作フィールドをどのようにサイズ変更及び再配置するかに関する既定のルールセットを適用することに関してもよい。例えば、オーディオビジュアルシステム100は、ディスプレイ装置用の有限個の可能な構成の1つとして仮想動作フィールドの現在の配置を特定してもよい。次に、オーディオビジュアルシステム100は、現在の構成及び別の仮想動作フィールドを追加するアクションに基づいてどのような構成に移行すべきかを定義する遷移テーブルを検討してもよい。
一部の実施形態では、ステップ453は、様々なアプリケーションの重要性(例えば、アプリケーションの1つが警告に関するか、一部のアプリケーションが他よりも車両動作にクリティカルであるか等)に基づいて構成を決定することを含む。この分析に基づいて、オーディオビジュアルシステム100は、ディスプレイ装置上の仮想動作フィールドがどのように配置されるべきか、及びどの仮想動作フィールドでどのアプリケーションが情報を表示するかを決定する。こうした決定に基づいて、オーディオビジュアルシステム100は、次にステップ450において、アプリケーションの表示を再生成する。
ステップ452で仮想動作フィールドの最大数に既に到達している場合、オーディオビジュアルシステム100は、新しいアプリケーションを表示する仮想動作フィールドを解放するために現在表示されている1つのアプリケーションの表示を終了してもよい。
ステップ454では、オーディオビジュアルシステム100は、現在表示されているどのアプリケーションがもはや表示されるべきでないかを決定する。この決定は、どのアプリケーションがユーザとの相互作用無しで最も長い時間経過したか、どのアプリケーションが最も低い既定の優先レベルを有するか、どのアプリケーションが新しいアプリケーションと機能領域を共有すべきか、どのアプリケーションが現在アイドル状態であるかを決定すること、どのアプリケーションをもはや表示すべきでないかをユーザに問い合わせること、又は何らかの他の決定機構等、ルール又はヒューリスティックのアプリケーションに関与してもよい。この分析に基づいてオーディオビジュアルシステム100は、現在表示されているが次の表示生成では表示されることを止めるアプリケーションを特定する。
ステップ455では、オーディオビジュアルシステム100は、使用中の仮想動作フィールドに表示され続けるアプリケーションをどのように再割り当てするかを決定する。オーディオビジュアルシステム100は、現在未使用の仮想動作フィールドを特定するためにディスプレイが終了されるアプリケーションのステップ454における決定を使用する。オーディオビジュアルシステム100は、表示され続けるアプリケーション及び新しいアプリケーションを仮想動作フィールドにどのように再割り当てするかを決定するためにルール又はヒューリスティックを適用してもよい。例えば、オーディオビジュアルシステム100は、未使用の動作フィールドに表示される未使用の仮想動作フィールドの右側にアプリケーションの割り当てをシフトして、アプリケーションの左シフトを行ってもよい。オーディオビジュアルシステム100は、最も右側の仮想動作フィールドが未使用になるまでディスプレイ装置上で表示されるアプリケーションのこの左シフトを継続してもよい。次に、オーディオビジュアルシステム100は、最も右側の仮想動作フィールドに表示される新しいアプリケーションを割り当てるであろう。代替的に、オーディオビジュアルシステム100は、現在未使用であるが除去されたアプリケーションによって以前使用されていた仮想動作フィールドに表示される新しいアプリケーションを単純に割り当ててもよい。様々な他の技術が使用されてもよい。アプリケーションの仮想動作フィールドへの新しい割り当てが決定されると、オーディオビジュアルシステム100は、次にステップ450において、アプリケーションの表示を再生成する。
図4Hの処理はステップ460で開始し、オーディオビジュアルシステム100が、1個以上のアプリケーションのために情報の表示を生成する。このステップでは、アプリケーションの何らかの事前の選択が行われており、こうしたアプリケーションがディスプレイ装置上の仮想動作フィールドに割り当てられて、こうしたアプリケーション用の情報が表示されている。
ステップ461では、オーディオビジュアルシステム100は、ディスプレイ装置に現在表示されている特定のアプリケーション用の情報の表示を終了するようにオーディオビジュアルシステム100に命令する入力を受信する。この入力は、ユーザ入力、システムトリガ、何らかの他のシステムからの入力、又はそれ以外に基づいてもよい。例えば、入力は、(電話アプリケーションが表示されている場合)電話呼び出し、(ユーザが車両設定、ラジオチャネル等を選択した場合)ユーザからのメニュー選択、車両警告のユーザ確認、又はこれら以外の結果に基づいてもよい。オーディオビジュアルシステム100は、入力を受信し且つ処理して、現在表示されているアプリケーションがもはや表示されるべきではないと決定する。
ステップ462では、オーディオビジュアルシステム100は、仮想動作フィールドの1つが一旦除去されると使用中のままになる仮想動作フィールドをどのようにサイズ変更及び再配置するかを決定する。このステップは、オーディオビジュアルシステム100が残りの仮想動作フィールドをどのようにサイズ変更及び再配置するかに関する既定のルールセットを適用することに関してもよい。例えば、オーディオビジュアルシステム100は、ディスプレイ装置用の有限個の可能な構成の1つとして仮想動作フィールドの現在の配置を特定してもよい。次に、オーディオビジュアルシステム100は、現在の構成及び仮想動作フィールドを除去するアクションに基づいてどのような構成に移行すべきかを定義する遷移テーブルを検討してもよい。
一部の実施形態では、オーディオビジュアルシステム100は、1つより多くの仮想動作フィールドが残る場合に、残りの仮想動作フィールドのどれが除去された仮想動作フィールドによって解放される空間を消費するかを決定する。このような場合、オーディオビジュアルシステム100は、ユーザによって最も最近相互作用された又は現在フォーカスを有するアプリケーション用に仮想表示フィールドを選択してもよい。この分析に基づいて、オーディオビジュアルシステム100は、ディスプレイ装置上の仮想動作フィールドがどのように配置されるべきか、及びどの仮想動作フィールドでどのアプリケーションが情報を表示するかを決定する。別の例として、オーディオビジュアルシステム100は、典型的な車両アプリケーションの使用に基づいて、空いた仮想動作フィールドに挿入する新しいアプリケーションを決定してもよい。こうした決定に基づいて、オーディオビジュアルシステム100は、次にステップ460において、アプリケーションの表示を再生成する。
図5A−5Cを次に参照すると、本発明の一部の実施形態による、ディスプレイ装置上の仮想動作フィールドが示されている。こうした図面は、例示的なICD220に基づいてこのような構成を示している。ICD220に関して、こうした図面に示されている3つの仮想動作フィールド等の複数の仮想動作フィールドと共に予約空間をサポートすることは有利であってもよい。しかしながら、1つのアプリケーションのみが実行されている又は1つのアプリケーションのみがそれ以外のやり方でディスプレイ装置に情報を出力している場合、単一の仮想動作フィールドのみが必要とされてもよい。それにもかかわらず、予約空間は、1つ以上の仮想動作フィールドの存在と共に維持されてもよい。
図5Aは、ICD220の表示フィールドの約1/3を覆う単一の仮想動作フィールド510が提供される状況を示している。ICD220の表示フィールドの残りの部分は、予約空間501及び予約空間502によって覆われている。予約空間501及び予約空間502は、自動車1の運転者に重要な情報を表示するために使用されてもよく、そのためアプリケーションがICD220に表示される情報を提供しているとしても、空間は表示のために予約されていてもよい。そのため、1つのアプリケーションのみがICD220に情報を出力しているとしても、アプリケーションの仮想動作フィールド510は、予約空間501及び予約空間502が他の情報を表示できるように表示フィールドの約1/3だけを覆う。
図5Bは、2つのアプリケーションがICD220に情報を表示している状況を示している。ここで、2つの仮想動作フィールド510及び511が提供されている。図示のように、各仮想動作フィールド510及び511は、ICD220の表示フィールド全体の約1/3を覆う。ICD220の表示フィールドの残りの1/3は予約空間501と予約空間502とに分割され、各々がICD220の表示フィールド全体の約1/6を覆う。
図5Cは、3つのアプリケーションがICD220に情報を表示している状況を示している。ここで、3つの仮想動作フィールド510、511、及び512が提供されている。図示のように、各仮想動作フィールド510、511及び512は、ICD220の表示フィールド全体の約1/3を覆う。この状況では、予約空間501及び予約空間502は、これらを表示するための十分な空間が無いのでもはや表示されない。
先の図面における仮想動作フィールドの開示は例示であり、他の実施形態も予測し得る。例えば、ICD220等のディスプレイ装置は、4つ、5つ又はそれ以上等、3つより多くの仮想動作フィールドをサポートしてもよい。更に、複数の仮想動作フィールドがディスプレイ装置上に存在する場合、各仮想動作フィールドに提供される合計表示フィールドの部分は、上記のものとは異なってもよい。例えば、2つの仮想動作フィールドがディスプレイ装置に提供される場合、各仮想動作フィールドは、表示フィールド全体の約1/2を覆ってもよい。更なる例として、先の図面には表示フィールドの垂直パーティション化が示されているが、仮想動作フィールドは、表示フィールドの水平パーティション化、水平及び垂直パーティション化の混合、又は他の技術等の他のパーティション化技術を使用して提供され得る。更なる例として、3つ以上の仮想動作フィールドがICD220等のディスプレイ装置に表示されるとしても、予約空間501及び502は表示され続けてもよい。更に、仮想表示フィールドの最大数が1つ又は2つ等に設定されてもよく、その結果、予約空間501及び502を表示するための十分な空間が常に有る。
図5D−5Fを次に参照すると、例示的な実施形態による、ソフトウェアアプリケーションによって提供される情報を有する仮想動作フィールドの使用の複数の例が示されている。図5Dでは、単一の第1のアプリケーションが、ICD220に表示されるトリップ情報を提供している。図示のように、第1のアプリケーションのみがICD220に表示されるトリップ情報を提供している場合、単一の動作フィールド510が、ICD220の表示フィールドの約1/3を覆うように提供される。予約空間501は、速度計ダイヤルを使用して道路速度情報を表示する。予約空間502は、毎分回転数ダイヤルを使用してエンジン速度情報を表示する。更に、ICD220の表示フィールドの上部に沿って水平に状態バー520が提供される。状態バー520は、自動車1の運転者に追加情報を表示してもよい。
図5Eでは、トリップアプリケーション及びナビゲーションアプリケーションの両方がICD220に表示される情報を提供している。このように、トリップアプリケーション情報が仮想動作フィールド510に表示される一方で、仮想動作フィールド511にはナビゲーションアプリケーション情報が表示される。更に、予約空間501は、予約空間501に提供される縮小された表示空間に適合するようにより小型の視覚表現を使用して、道路速度情報を表示し続ける。同様に、予約空間502は、予約空間502に提供される縮小された表示空間に適合するようにより小型の視覚表現を使用して、エンジン速度情報を表示し続ける。また、この例では状態バー520も提供されている。
図5Fでは、トリップアプリケーション、ナビゲーションアプリケーション及び電話アプリケーションがICD220に表示される情報を提供している。このように、仮想動作フィールド510にトリップアプリケーション情報が表示され、仮想動作フィールド512にナビゲーションアプリケーション情報が表示され、仮想動作フィールド511に電話アプリケーション情報が表示される。また、この例では状態バー520も提供されている。この例では、道路速度及びエンジン速度情報が他のやり方で表示されないので、情報が自動車1の運転者に利用可能であり続けるように、一方又は両方が状態バー520に表示されてもよい。
図5G−5Hを次に参照すると、本発明の一部の実施形態による、ディスプレイ装置に表示されるアプリケーションを変更するための処理が示されている。図5Gの処理はステップ550で開始し、オーディオビジュアルシステム100が、0個以上のアプリケーションのために情報の表示を生成する。情報の表示は、0個以上の予約空間部分を含んでもよい。このステップでは、アプリケーションの何らかの事前の選択が行われており、こうしたアプリケーションがディスプレイ装置上の仮想動作フィールドに割り当てられて、こうしたアプリケーション用の情報が表示されている。場合によっては、アプリケーションが表示されておらず、この場合は、ディスプレイ装置には0個の仮想動作フィールドが有るが、予約空間部分は他の情報を表示してもよい。
ステップ551では、オーディオビジュアルシステム100は、ディスプレイ装置に現在表示されていないアプリケーション用の情報を表示するようにオーディオビジュアルシステム100に命令する入力を受信する。この入力は、ユーザ入力、システムトリガ、何らかの他のシステムからの入力、又はそれ以外に基づいてもよい。例えば、入力は、運転者がナビゲーション支援を受けること、ラジオ局等を変更すること等を望むことにより提供されてもよく、車両警告に基づいてトリガされてもよく、ハンドヘルド装置350における着信電話呼び出しによってトリガされてもよく、又はこれら以外であってもよい。オーディオビジュアルシステム100は、入力を受信し且つ処理して、現在表示されていない追加のアプリケーションが表示されるべきであると決定する。
ステップ552では、オーディオビジュアルシステム100は、ディスプレイ装置用の既定最大数の仮想動作フィールドが既に使用されているかどうかを決定する。オーディオビジュアルシステム100は、メモリから仮想動作フィールドの既定最大数を取得して、それを現在使用されている仮想動作フィールドの数と比較することによりこの決定を行ってもよい。仮想動作フィールドの最大数にまだ到達していない場合、オーディオビジュアルシステム100は、既に表示されている全てのアプリケーションに加えて新しいアプリケーションを表示するであろう。
ステップ553では、オーディオビジュアルシステム100は、新しいアプリケーション用に別の仮想動作フィールドの追加を受け入れるために既に使用されている仮想動作フィールドをどのようにサイズ変更及び再配置するかを決定する。このステップは、オーディオビジュアルシステム100が既存の仮想動作フィールドをどのようにサイズ変更及び再配置するかに関する既定のルールセットを適用することに関してもよい。
一部の実施形態では、ステップ553は、可能な予約空間の任意のサイズ変更又は再配置を考慮することを含む。例えば、オーディオビジュアルシステム100は、ディスプレイ装置用の有限個の可能な構成の1つとして仮想動作フィールド及び予約空間の現在の配置を特定してもよい。次に、オーディオビジュアルシステム100は、現在の構成及び別の仮想動作フィールドを追加するアクションに基づいてどのような構成に移行すべきかを定義する遷移テーブルを検討してもよい。
一部の実施形態では、ステップ553は、様々なアプリケーションの重要性(例えば、アプリケーションの1つが警告に関するか、一部のアプリケーションが他よりも車両動作にクリティカルであるか)に基づいて構成を決定することを含む。この分析に基づいて、オーディオビジュアルシステム100は、ディスプレイ装置上の仮想動作フィールドがどのように配置されるべきか、及びどの仮想動作フィールドでどのアプリケーションが情報を表示するかを決定する。こうした決定に基づいて、オーディオビジュアルシステム100は、次にステップ550において、アプリケーションの表示を再生成する。
ステップ552で仮想動作フィールドの最大数に既に到達している場合、オーディオビジュアルシステム100は、新しいアプリケーションを表示する仮想動作フィールドを解放するために現在表示されている1つのアプリケーションの表示を終了してもよい。
ステップ554では、オーディオビジュアルシステム100は、現在表示されているどのアプリケーションがもはや表示されるべきでないかを決定する。この決定は、どのアプリケーションがユーザとの相互作用無しで最も長い時間経過したか、どのアプリケーションが最も低い既定の優先レベルを有するか、どのアプリケーションが新しいアプリケーションと機能領域を共有すべきか、どのアプリケーションが現在アイドル状態であるかを決定すること、どのアプリケーションをもはや表示すべきでないかをユーザに問い合わせること、又は何らかの他の決定機構等、ルール又はヒューリスティックのアプリケーションに関与してもよい。この分析に基づいてオーディオビジュアルシステム100は、現在表示されているが次の表示生成では表示されることを止めるアプリケーションを特定する。
一部の実施形態では、所定の仮想動作フィールドは変更されなくてもよく、及び/又は仮想動作フィールドに関係付けられるアプリケーションは終了されなくてもよい。例えば、道路速度、エンジン速度、警告等のクリティカル情報を表示するアプリケーションは、ユーザが情報の表示を終了できないように構成されてもよい。一部の実施形態では、ユーザは、クリティカル情報に関係付けられる仮想動作フィールドを再配置することが可能であるが、全てのディスプレイから仮想動作フィールドを除去しなくてもよい。
ステップ555では、オーディオビジュアルシステム100は、使用中の仮想動作フィールドに表示され続けるアプリケーションをどのように再割り当てするかを決定する。オーディオビジュアルシステム100は、現在未使用の仮想動作フィールドを特定するためにディスプレイが終了されるアプリケーションのステップ554における決定を使用する。オーディオビジュアルシステム100は、表示され続けるアプリケーション及び新しいアプリケーションを仮想動作フィールドにどのように再割り当てするかを決定するためにルール又はヒューリスティックを適用してもよい。例えば、オーディオビジュアルシステム100は、未使用の動作フィールドに表示される未使用の仮想動作フィールドの右側にアプリケーションの割り当てをシフトして、アプリケーションの左シフトを行ってもよい。
一部の実施形態では、オーディオビジュアルシステム100は、最も右側の仮想動作フィールドが未使用になるまでディスプレイ装置上で表示されるアプリケーションのこの左シフトを継続する。次に、オーディオビジュアルシステム100は、最も右側の仮想動作フィールドに表示される新しいアプリケーションを割り当てるであろう。代替的に、オーディオビジュアルシステム100は、現在未使用であるが除去されたアプリケーションによって以前使用されていた仮想動作フィールドに表示される新しいアプリケーションを単純に割り当ててもよい。様々な他の技術が使用されてもよい。アプリケーションの仮想動作フィールドへの新しい割り当てが決定されると、オーディオビジュアルシステム100は、次にステップ550において、アプリケーションの表示を再生成する。
図5Hの処理はステップ560で開始し、オーディオビジュアルシステム100が、1個以上のアプリケーションのために情報の表示を生成する。このステップでは、アプリケーションの何らかの事前の選択が行われており、こうしたアプリケーションがディスプレイ装置上の仮想動作フィールドに割り当てられて、こうしたアプリケーション用の情報が表示されている。更に、情報は、ディスプレイ装置上の予約空間に表示されてもよい。
ステップ561では、オーディオビジュアルシステム100は、ディスプレイ装置に現在表示されている特定のアプリケーション用の情報の表示を終了するようにオーディオビジュアルシステム100に命令する入力を受信する。この入力は、ユーザ入力、システムトリガ、何らかの他のシステムからの入力、又はそれ以外に基づいてもよい。例えば、入力は、(電話アプリケーションが表示されている場合)電話呼び出し、(ユーザが車両設定、ラジオチャネル等を選択した場合)ユーザからのメニュー選択、車両警告のユーザ確認、又はこれら以外の結果に基づいてもよい。オーディオビジュアルシステム100は、入力を受信し且つ処理して、現在表示されているアプリケーションがもはや表示されるべきではないと決定する。
ステップ562では、オーディオビジュアルシステム100は、仮想動作フィールドの1つが除去されると使用中のままになる仮想動作フィールドと共に仮想動作フィールドの1つが除去されると使用中のままになるか又は使用され得る予約空間をどのようにサイズ変更及び再配置するかを決定する。このステップは、オーディオビジュアルシステム100が残りの仮想動作フィールド及び予約空間をどのようにサイズ変更及び再配置するかに関する既定のルールセットを適用することに関してもよい。例えば、オーディオビジュアルシステム100は、ディスプレイ装置用の有限個の可能な構成の1つとして仮想動作フィールド及び予約空間の現在の配置を特定してもよい。次に、オーディオビジュアルシステム100は、現在の構成及び仮想動作フィールドを除去するアクションに基づいてどのような構成に移行すべきかを定義する遷移テーブルを検討してもよい。
一部の実施形態では、オーディオビジュアルシステム100は、1つより多くの仮想動作フィールド及び/又は予約空間が残る場合に、残りの仮想動作フィールド又は予約空間のどれが除去された仮想動作フィールドによって解放される空間を消費するかを決定する。このような場合、オーディオビジュアルシステム100は、ユーザによって最も最近相互作用された又は現在フォーカスを有するアプリケーション用に仮想表示フィールドを選択してもよく、又は予約空間の間の新しく解放された空間を分割することを選択してもよい。この分析に基づいて、オーディオビジュアルシステム100は、ディスプレイ装置上の仮想動作フィールド及び予約空間がどのように配置されるべきか、及びどの仮想動作フィールドでどのアプリケーションが情報を表示するかを決定する。別の例として、オーディオビジュアルシステム100は、典型的な車両アプリケーションの使用に基づいて、空いた仮想動作フィールドに挿入する新しいアプリケーションを決定してもよい。こうした決定に基づいて、オーディオビジュアルシステム100は、次にステップ560において、アプリケーションの表示を再生成する。
図6Bを次に参照すると、本発明の一部の実施形態による、ディスプレイ装置上の仮想動作フィールドが示されている。こうした図面は、例示的なHUD230に基づいてこのような構成を示している。HUD230に関して、こうした図面に示されている少なくとも1つの仮想動作フィールドと共に予約空間をサポートすることは有利であってもよい。
図6Aは、HUD230の表示フィールドの約1/3を覆う単一の仮想動作フィールド610が提供される状況を示している。HUD230の表示フィールドの残りの部分は、予約空間230、予約空間602及び予約空間603によって覆われている。予約空間601、602及び603は、自動車1の運転者に重要な情報を表示するために使用されてもよく、そのためアプリケーションがHUD230に表示される情報を提供しているとしても、空間は表示のために予約されていてもよい。
図6Bでは、単一のナビゲーションアプリケーションが、HUD230に表示される情報を提供している。図示のように、ナビゲーションアプリケーションのみがHUD230に表示される情報を提供している場合、単一の動作フィールド610が、HUD230の表示フィールドの約1/3を覆うように提供される。予約空間601は、運転者が認識すべき自動車の潜在的な問題についての警告情報を表示する。予約空間601は、存在したままであるが、任意の時点で警告が利用可能でなければ空になってもよい。予約空間602は、自動車が進行しているマイル時速の数値を表示することにより道路速度情報を表示する。予約空間603は、自動車のエンジンの毎分回転数の数値を表示することによりエンジン速度情報を表示する。
先の図面における仮想動作フィールドの開示は例示であり、他の実施形態も予測し得る。例えば、警告情報が利用可能でない場合、予約空間601は消えて、予約空間602及び予約空間603が拡大されることを可能にしてもよい。更なる例として、HUD230に表示される情報を提供しているアプリケーションが無い場合、仮想動作空間610は消えて、予約空間602及び予約空間603が拡大されることを可能にしてもよい。他の実施形態では、仮想動作空間610及び予約空間601、602及び603は、情報がこうした部分のディスプレイに提供されない場合であっても、サイズ及び位置が固定されてもよい。これは、さもなければHUD230の表示フィールドのサイズ変更及び再配置により引き起こされる自動車1の運転者の注意が逸れることを減らすのに有利であり得る。更に、HUD230に提供される仮想動作フィールド及び予約空間は、異なる比率及び異なる位置で配置されてもよい。HUD230は、先に示されたようにCID210及びICD220と同様に制御されてもよい。図4G−4H及び図5G−5Hの処理は、HUD230ディスプレイを制御するように適合されてもよい。
図7A−7Dを次に参照すると、本発明の一部の実施形態による、アプリケーションへの仮想動作フィールドの割り当てが示されている。特に、この図面のセットは、新しいアプリケーションがディスプレイ装置、この場合、例示のCID210に表示されるコンテンツを提供し始めるときの進行を示している。図7Aは、単一のアプリケーション、アプリケーション1がCID210に表示される情報を提供して、単一の仮想動作フィールド410が提供されることを示している。
図7Bは、第2のアプリケーション、アプリケーション2がCID210に表示される情報を今度は提供して、2つの仮想動作フィールド410及び411が提供されることを示している。特に、アプリケーション1はより大きな仮想動作フィールド410を有しており、仮想動作フィールド410は仮想動作フィールド411の左にシフトしている。他の実施形態では、仮想動作フィールド410及び411は、同じサイズ又は異なる構成を有してもよい。
図7Cにおいて、第3のアプリケーション、アプリケーション3がCID210に表示される情報を今度は提供して、3つの仮想動作フィールド410、411及び412が提供されることを示している。特に、アプリケーション1は、最も左にシフトしている仮想動作フィールド410に割り当てられる。アプリケーション2は、中央の位置にシフトしている仮想動作フィールド411に割り当てられる。アプリケーション3は仮想動作フィールド412に割り当てられ、仮想動作フィールド412は最も左側の位置に入っている。
図7Dでは、第4のアプリケーション、アプリケーション4が、CID210に表示される情報を今度は提供している。この例では、第4の仮想動作フィールドは許可されず、3つの仮想動作フィールド410、411及び412が提供されたままである。アプリケーション1は最も古く導入されていたので、アプリケーションがCID210にもはや表示されないことに関して、仮想動作フィールド、ひいては情報がもはや提供されない。アプリケーション2及びアプリケーション3の各々は1つの仮想動作フィールドを左にシフトさせて、アプリケーション4が最も右側の仮想動作フィールドに割り当てられる。このようにして、本発明の一部の実施形態では、ディスプレイ装置が、アプリケーションがディスプレイ装置に表示される情報の提供を開始及び終了するときにどのようにアプリケーションが同時に表示されるかについて予測可能な挙動を提供するように構成され得る。
先の図面におけるディスプレイ装置の開示は例示であり、他の実施形態も予測し得る。例えば、仮想動作フィールドの最大数が3つとは異なっていてもよく、又は最大数が提供されなくてもよい。更なる例として、どのアプリケーションが仮想動作フィールドにもはや割り当てられないかを選択するとき、この決定を行うのに、例えば、どれが最初に仮想動作空間を提供されたか、どれが最も最近仮想動作空間を提供されたか、どれがユーザによって最も長い時間相互作用されていないか、ユーザはもはや表示されないためにどれを選択するか、どれが新しく表示されたアプリケーションと機能領域を共有するか、どれが最も高い又は最も低い優先度を有するか等の様々な要因が考慮され得る。
本発明の一部の実施形態によれば、仮想動作空間、仮想動作空間内のアイテム、又はオーディオビジュアルシステム100のディスプレイ装置に表示される任意の他の仮想オブジェクトは、ある時点におけるフォーカスを有してもよい。システムにおけるフォーカスは、ユーザが現在相互作用し得る仮想動作空間、アイテム又は他の仮想オブジェクトを示すグラフィカル要素である。このように、フォーカスは、入力が入力される場合に、どのアイテムがユーザにより入力されたこのような入力を受信するかについてのカーソル又は他の指示に類似している。ユーザ及びシステムは、本開示において後で検討される様々なやり方でフォーカスを変更してもよい。
図8A−8Cを次に参照すると、本発明の一部の実施形態による、仮想動作空間及びこうした空間内のアイテムに対するフォーカスの変更が示されている。図8Aは、仮想動作空間410、411及び412を有する例示的なCID210を示している。各仮想動作空間410、411及び412は、その表示空間内に様々なアイテムを含んでいる。この例では、フォーカスは、何れの仮想動作空間にも無く、従って非アクティブである。
図8Bでは、図面で異なる破線で示されているように、フォーカスは仮想動作空間412に有る。フォーカスは、ユーザ又はシステムの何らかのアクション(例えば、センサ又はハードキーへのユーザタップ)により何も無いところから仮想動作空間412へと変化してもよい。
図8Cでは、フォーカスは、仮想動作空間412の表示空間におけるアイテム1 810に有る。フォーカスは、ユーザ又はシステムの何らかのアクション(例えば、センサ上でのユーザの上方又は下方のスワイプ)によりアイテム1 810に変化している。
先の図面におけるディスプレイ装置についての開示は例示であり、他の実施形態も予測し得る。例えば、フォーカスが任意の時点でどこにあるかを示すために、テキスト色付け、影付け、テキストハイライト、色付きオブジェクトでの囲み、明るさ、テキストサイズ等の様々な技術が使用されてもよい。例えば、フォーカスされているアイテム又は動作空間は、他のアイテムと比較してより明るくてもよく、異なる色であってもよく、境界又は他のアイテム及び空間とは異なる境界を特徴としてもよく、拡大テキスト等を有してもよい。
図9A−9Eを次に参照すると、本発明の一部の実施形態による、タッチセンサにおけるユーザ入力が示されている。図9Aに示されているように、ユーザは、タッチセンサ320の表面で又はその付近で水平スワイプを行ってもよい。図9Bに示されているように、ユーザは、タッチセンサ320の表面で又はその付近で垂直スワイプを行ってもよい。図9Cに示されているように、ユーザは、タッチセンサ320の表面で又はその付近で回転スワイプを行ってもよい。図9Dに示されているように、ユーザは、タッチセンサ320の表面で又はその付近でシングルタップを行ってもよい。図9Eに示されているように、ユーザは、タッチセンサ320の表面で又はその付近でダブルタップを行ってもよい。ユーザは、後の図面に記載されるように様々なディスプレイと相互作用するため(例えば、メニューオプション間を上下に移動するため、ディスプレイ又はディスプレイ内のコンポーネントを選択するため等)、タッチセンサ320と相互作用してもよい。
先の図面におけるユーザ入力についての開示は例示であり、他の実施形態も予測し得る。例えば、ハードキーを押すこと、タッチスクリーンディスプレイ装置の表面に又はその付近に接触すること、ボイス入力等を含む様々な他のユーザ入力がシステムに提供されてもよい。
本発明の一部の実施形態によれば、オーディオビジュアルシステム100は、様々な入力インターフェースを介してユーザから入力を受信する。こうした入力は、オーディオビジュアルシステム100の一部として提供されるアプリケーションにおいてユーザがアイテムの選択を行うことを可能にするように作用する。このような入力は、(図9A−9Eに示されている)タッチセンサ、(図3B−3Dに示されている)1つ以上のハードキー又は他のボタン、(図3Eに示されている)ハンドヘルド装置350、マイクロホンからの1つ以上のオーディオ入力、又はこれら以外とのユーザ相互作用を介して受信されてもよい。
図10A−10Iを次に参照すると、本発明の様々な実施形態による、ユーザ入力を受信して、その入力に基づいて選択を行うための複数の方法が示されている。特に図10Aを参照すると、ユーザがアプリケーションのディスプレイインターフェースにおいて物品を選択することができる例示の処理が示されている。ステップ1010で開始して、ユーザはオーディオビジュアルシステム100におけるフォーカスをアクティブ化する必要があってもよい。上記のようにフォーカスは、ユーザが既定の期間オーディオビジュアルシステム100と相互作用しなければ非アクティブになってもよい。また、他のイベントがフォーカスが非アクティブになることを引き起こしてもよい。フォーカスが非アクティブである場合、ユーザはフォーカスをアクティブ化する何らかの入力を提供してもよい。フォーカスがアクティブ化されると、フォーカスが最も最近アクティブになった表示特徴等、デフォルトの何らかのアプリケーション又はアプリケーションにおけるアイテムになってもよい。他の実施形態では、フォーカスは、ユーザが特定のアプリケーション表示インターフェースにフォーカスを合わせることによりアクティブになってもよい。このような場合、フォーカスが適用される表示特徴は、ユーザがフォーカスを合わせた表示特徴である。更なる実施形態では、フォーカスは非アクティブにならない。一実施形態では、フォーカスはアクティブのままであるが、所定期間の非アクティブの後、フォーカスの視覚的区別がディスプレイから取り除かれる。ユーザがフォーカスを変更すると、フォーカスの視覚的に区別できる特徴が再び表示されてもよい。
ステップ1011では、アクティブ化後のフォーカスがアプリケーション内のアイテムに有る場合、ステップ1012において、それはアクティブ化レベルに変更されなければならない。例えば、図8Cを再び参照すると、ステップ1011は、アイテム1 810から仮想動作空間412にフォーカスを変更することを含む。アクティブ化後のフォーカスがアプリケーションに有る場合、このステップは不要である。フォーカスがアプリケーションに有ると、処理はステップ1013に進む。
ステップ1013では、ユーザが相互作用を望まないアプリケーションにフォーカスが無い場合に、ユーザはアプリケーション間でフォーカスを変更する必要があってもよい。このような場合、ユーザは、現在のアプリケーションからユーザが相互作用を望むアプリケーションにフォーカスを変更させる何らかの入力を提供しなければならない。例えば、ユーザは、アプリケーションを変更するためにタッチセンサ上で左又は右スワイプを行ってもよい。
ステップ1014では、アプリケーション間で変化した後のフォーカスがまだ所望のアプリケーションに無い場合、ステップ1013は繰り返されなければならない。アプリケーション間で変化した後のフォーカスが所望のアプリケーションに有る場合、処理はステップ1015に進む。
ステップ1015では、フォーカスがユーザが相互作用を望むアプリケーションに有ると、ユーザはアプリケーションを選択する。アプリケーションを選択することにより、フォーカスは、アプリケーションの仮想動作フィールド内のアイテムに移動する。アプリケーションの選択は、入力装置、例えば、ハードキーとの相互作用に基づいてユーザにより行われてもよい。
ステップ1016では、ユーザが相互作用を望まないアイテムにフォーカスが無い場合に、ユーザはアイテム間でフォーカスを変更する必要があってもよい。このような場合、ユーザは、現在のアイテムからユーザが相互作用を望むアイテムにフォーカスを変更させる何らかの入力を提供しなければならない。例えば、このような入力は、タッチセンサ上の上下のスワイプ、又は1つ以上のボタンプレスを含んでもよい。
ステップ1017では、アイテム間で変化した後のフォーカスがまだ所望のアイテムに無い場合、ステップ1016は繰り返されなければならない。アイテム間で変化した後のフォーカスが所望のアイテムに有る場合、処理はステップ1018に進む。
ステップ1018では、フォーカスがユーザが相互作用を望むアイテムに有ると、ユーザはアイテムを選択する。アイテムを選択することにより、オーディオビジュアルシステム100は、何らかのシステムオブジェクトの状態を変更すること、ディスプレイ装置における状態の変化を示すこと、何らかの外部システムとの相互作用を変更すること等、様々なやり方で応答してもよい。例えば、選択は、ラジオ局を変更し、ナビゲーションアプリケーションの目的地を変更し、電話呼び出しを開始又は中止し、又はこれら以外であってもよい。この時点で、ユーザは所望のアイテムを選択しているので、処理は完了する。
特に図10Bを参照すると、ユーザがアプリケーションのディスプレイインターフェースにおいて物品を選択することができるユーザ入力を受信する例示の処理が示されている。この例では、図3Dのユーザ入力装置310に設けられるタッチセンサ320及びハードキー330等の第1のタッチセンサ及び第1のハードキーが参照される。
ステップ1020で開始して、ユーザは、オーディオビジュアルシステム100におけるフォーカスをアクティブ化するために第1のタッチセンサにシングルタップを提供する。この時点で、フォーカスは、何らかのアプリケーション又はアプリケーション内のアイテムに有る。
ステップ1021において、フォーカスがアプリケーションに有るかどうかについての決定が行われる。フォーカスがアプリケーションには無いがアプリケーションにおけるアイテムに有る場合、ユーザはステップ1022で第1のハードキーを押して、フォーカスが現在位置しているどのようなアイテム又はメニュー階層においても1階層レベル上にフォーカスを移動させる。これは、フォーカスがアプリケーション上に有るようになるまで繰り返される。
ステップ1023において、ユーザは、左又は右に水平スワイプを行って、フォーカスをアプリケーション間で移動させる。オーディオビジュアルシステム100は、スワイプの方向性を認識してもよく、その結果、左側への水平スワイプはフォーカスを次のアプリケーションへと左に移動させ、右側への水平スワイプはフォーカスを次のアプリケーションへの右に移動させる。
ステップ1024において、ユーザが相互作用することを望むアプリケーションにフォーカスが有るかどうかについての決定が行われる。フォーカスがそのように配置されていない場合、ユーザは、フォーカスが所望のアプリケーションに到達するまでステップ1023の水平スワイプを繰り返す。
ステップ1025において、フォーカスが所望のアプリケーションに有り、ユーザは第1のタッチセンサのシングルタップを行う。そうすることにより、フォーカスは、アプリケーションの仮想動作フィールド内のアイテムに移動する。
ステップ1026において、ユーザは、上又は下に垂直スワイプを行って、フォーカスをアイテム間で移動させる。オーディオビジュアルシステム100は、スワイプの方向性を認識してもよく、その結果、上方への垂直スワイプはフォーカスを次のより高いアイテムへと移動させ、下方への垂直スワイプはフォーカスを次のより低いアイテムへと移動させる。
ステップ1027において、ユーザが相互作用することを望むアイテムにフォーカスが有るかどうかについての決定が行われる。フォーカスがそのように配置されていない場合、ユーザは、フォーカスが所望のアイテムに到達するまでステップ1026の垂直スワイプを繰り返す。
ステップ1028では、フォーカスがユーザが相互作用を望むアイテムに有ると、ユーザは第1のタッチセンサのシングルタップを行うことによりアイテムを選択する。アイテムを選択することにより、オーディオビジュアルシステム100は、何らかのシステムオブジェクトの状態を変更すること、ディスプレイ装置における状態の変化を示すこと、何らかの外部システムとの相互作用を変更すること等、様々なやり方で応答してもよい。この時点で、ユーザは所望のアイテムを選択しているので、処理は完了する。
一部の実施形態では、フォーカスは、様々なユーザ入力を介して操作されてもよい(例えば、アプリケーション間で変更され、アプリケーションのアイテム間で変更され、非アクティブ化される等)。一実施形態では、ユーザは、図9A−9Eを参照して記載されたような様々なタッチ入力を使用してフォーカスを操作してもよい。例えば、水平又は垂直スワイプは、アプリケーション間でフォーカスをサイクルさせてもよい。一部の実施形態では、スクリーンに行われるジェスチャが全てのディスプレイを通じてフォーカスをサイクルさせてもよい。例えば、1つのディスプレイへの水平スワイプが、フォーカスをCID210に表示されたアプリケーションからICD220へと移動させてもよい。
一部の実施形態では、フォーカスは、一連のハードキーで操作されてもよい。例えば、ボタン、ノブ、ダイヤル、方向パッド、ジョイスティック等によって、ユーザはフォーカスを操作することができてもよい。ハードキーコントロールは、例えば、ハンドルに、ダッシュボード上に又はその近くに、計器クラスタ上に又はその近くに、中央カウンセル上に又はその近くに、乗客に使用される座席内に埋め込まれて、肘掛に、ヘッドレストに設けられてもよい。一部の実施形態では、タッチコントロールも、同様の場所に設けられてもよい。更なる実施形態では、タッチ入力及び/又はハードキー入力は、フォーカスを制御するために交互に使用されてもよい。一実施形態では、ユーザは、その特徴にフォーカスが有ることが望まれるアプリケーション及び/又はアイテム上でタッチ可能ディスプレイをタップしてもよい。ユーザは、アプリケーションにフォーカスを合わせるためにアプリケーションを押し、アイテムにフォーカスを合わせるためにアイテムを押してもよい。更なる実施形態では、ユーザは、オーディオビジュアルシステム100に接続される携帯装置で音声コマンド又は入力を使用してフォーカスを操作してもよい。
特に図10C−10Iを参照すると、ユーザが電話キーボードにおいて数字「1」を選択することができるユーザ入力の例示的な処理が示されている。図10C−10Iに示された処理は、図10A−10Bの処理によって実行されてもよい。この例では、電話アプリケーション1032及び電話キーボードアプリケーション1034を有する例示のCID210が示されている。更に、天気アプリケーション1036を有する例示のICD220が示されている。
図10Cは、フォーカスが非アクティブのオーディオビジュアルシステム100を示している。図10Dでは、ユーザは、天気アプリケーション1036に位置するようにデフォルトに戻っているフォーカス1050をアクティブ化している。図10Eでは、ユーザは水平方向1に右にフォーカス1050をシフトさせており、それはICD220の右側からCID210の左側へと移動している。結果として、フォーカス1050は、電話アプリケーション1032に有る。図10Fでは、ユーザは水平方向に右にフォーカス1050を移動させており、その結果、それは所望のアプリケーションである電話キーボードアプリケーション1034に位置している。フォーカス1050のシフトは、図9Aに示されているように水平スワイプ及び/又は先に記載された他のジェスチャ又はハードキー入力を介して達成されてもよい。
図10Gでは、ユーザは電話キーボードアプリケーション1034を選択しており、フォーカス1050は電話キーボードアプリケーションの仮想動作フィールド内のアイテムにシフトされている。この場合、フォーカス1050は、電話キーボードの数字「0」にシフトしている。図示のように、フォーカスが電話キーボードアプリケーション内のアイテムに有るが、フォーカスは電話キーボードアプリケーション自体には無いことをユーザに強調するようにCID210上で二次フォーカス1055が示されてもよい。二次フォーカス1055は、フォーカスを示すことを参照して先に記載された任意の技術により示されてもよい。一部の実施形態では、1つ又は複数の二次フォーカスが異なる技術で示される。他の実施形態では、1つ又は複数の二次フォーカスは同じ技術を使用して示されてもよい。
図10Hでは、ユーザは、フォーカスを上方に、電話キーボード上の数字「1」へと右にシフトさせている。例えば、これは、図9Bに示されている垂直スワイプ、上方移動として指定されるハードキーのボタンプレス、方向パッドを上方に押すこと等を介して達成されてもよい。これは所望のアイテムであるので、(例えば、図9Dに示されたタップ、選択と指定されたハードキーボタンを押すこと等により)ユーザはそれを選択する。図10Iでは、ユーザは数字「1」のアイテムを選択しており、それに応じて、電話キーボードアプリケーションは仮想表示フィールドの中央に表示された電話番号に数字「1」を追加している。この時点で、ユーザは所望のアイテムを選択しているので、処理は完了する。
オーディオビジュアルシステム100においてアイテムを選択するためのユーザ入力についての先の図面の開示は例示であり、他の実施形態も予測可能である。例えば、フォーカスをアクティブ化するために第1のハードキーを押すこと、アプリケーション間をナビゲートするために垂直スワイプを使用すること、アイテム間をナビゲートするために水平スワイプを使用すること等、上記の機能を行うために他のユーザ入力が使用されてもよい。更なる例として、CID210及びICD220がCID210の左にICD220を有するように先に表示されているが、ICD220における最も左側のアプリケーションからの左への水平スワイプがCID210における最も右側のアプリケーションにフォーカスがシフトすることを引き起こしてもよく、それによりアプリケーション間のナビゲートが回路を形成するように所謂ラップアラウンド効果をもたらす。
本発明の実施形態は、使用される入力装置に基づいてユーザ入力を更に可能にしてもよい。例えば、アプリケーションの仮想動作フィールドが階層メニュー等のアイテムの階層を含む場合、ユーザは、第1のタッチセンサのシングルタップを使用することにより階層を「下方」に(ルートから離れて)移動し、第1のハードキーを押すことにより「上方」に(ルートに向かって)移動してもよい。更なる例として、第1のタッチセンサに関係付けられる第2のハードキーが、「お気に入り」と見なされるアプリケーションの事前選択のセットの任意の1つを表示するためのオプション等、特別なオプションを提供するメニューにフォーカスを即座にシフトさせてもよい。
一部の実施形態では、第1のタッチセンサ上で回転スワイプを行うことは、フォーカスがアプリケーション間をシフトすることを引き起こしてもよいが、こうしたアプリケーションは様々なディスプレイ装置で現在表示されており且つお気に入りと見なされるアプリケーションのみである。更に、オーディオビジュアルシステム100は回転スワイプの方向を認識していてもよく、その結果、時計回りの回転スワイプがお気に入りアプリケーションを通じて左から右にフォーカスを移動させ、反時計回りの回転スワイプがお気に入りアプリケーションを通じて右から左にフォーカスを移動させる。
一部の実施形態では、第2のタッチセンサに関係付けられる第3のハードキーがステレオ音量コントロールにフォーカスを即座にシフトさせてもよく、その結果、第2のタッチセンサへの後続の水平又は垂直スワイプはステレオ音量を増加又は減少させるように作用する。同様に、第2のタッチセンサに関係付けられる第4のハードキーが所定のヘッドホンポートに対する音量コントロールにフォーカスを即座にシフトさせてもよく、その結果、第2のタッチセンサへの後続の水平又は垂直スワイプはヘッドホンポートに伝達されるオーディオ信号の音量を増加又は減少させるように作用する。
図11A−11Bを次に参照すると、本発明の一部の実施形態による、ポップアップ及び警告通知の提示が示されている。本発明の一部の実施形態によれば、オーディオビジュアルシステム100は、ユーザからの入力無しで様々なディスプレイ装置における仮想動作フィールドに割り当てられるアプリケーションを変更してもよい。例えば、オーディオビジュアルシステム100は、ユーザに特定の状態の重要性を通知するための警告メッセージを表示してもよい。
図11Aは、中央に配置された仮想動作フィールド1110に情報を表示するために割り当てられた天気アプリケーションを有する例示のICD220を示している。速度計及びタコメータが、仮想動作フィールド1110のそれぞれ右及び左の予約空間に情報を表示している。
図11Bでは、オーディオビジュアルシステム100は、警告ポップアップ1120のための情報を表示するために仮想動作フィールド1110の割り当てを変更する。図示のように、警告ポップアップ1120は、自動車の燃料が低下していることをユーザに知らせる。警告は、何らかの現在の状態に関する情報をユーザに提供する任意のタイプの一般的な警告であってもよい。ユーザは、例えば、第1のタッチセンサに対してシングルタップを行うことにより警告ポップアップ1120を閉じることを選択してもよい。警告ポップアップ1120を閉じると、仮想動作フィールド1110は、過去に表示された天気アプリケーション用の情報を再び表示してもよい。
先の図面における警告ポップアップについての開示は例示であり、他の実施形態も予測し得る。例えば、ポップアップは、低タイヤ圧、着信電話呼び出し等の他の目的で提供されてもよい。更なる例として、警告情報は、先に検討された状態バー520に類似の状態バー等の他の形態で提示されてもよい。更に、警告情報及びポップアップは、CID210及びHUD230上で様々な形態で提示されてもよい。先に検討されたように、HUD230の予約空間601は、提示される警告指示のために特に予約されていてもよい。
一部の実施形態では、ユーザによる警告の選択、又は警告自体の生成は、1つ以上のディスプレイが警告に関する更なる情報で更新されることを引き起こしてもよい。例えば、低燃料レベルは、燃料レベルを強調して表示される仮想動作フィールドをもたらしてもよい。このような例では、図4G又は5Gに示されたような処理が、ディスプレイにおいて仮想動作フィールドをサイズ変更及び再配置するために開始されてもよい。
一部の実施形態では、警告情報及び/又はポップアップは、既定量の時間の後で閉じてもよい。これはユーザによってカスタマイズ可能であってもよい。更なる実施形態では、警告情報及び/又はポップアップは、イベントの発生に応じて閉じてもよい。例えば、低燃料のポップアップは、追加の燃料が検出されるまで(例えば、ユーザが自動車1を追加の燃料で満たすまで)アクティブのままであってもよい。
図12Aを次に参照すると、本発明の一部の実施形態による、アプリケーションを管理してディスプレイ装置にアプリケーションの表示を分配するための処理が示されている。図12Aの処理はステップ1210で開始して、ユーザは、アプリケーションを表示することを望む特定のディスプレイ装置と共に表示することを望むアプリケーションを決定する。他の実施形態では、ユーザはアプリケーションの選択のみを提供してもよく、ディスプレイシステムが適切なディスプレイ装置を選択してもよい。ステップ1212では、ユーザは、所望のアプリケーションが所望のディスプレイ装置に対してお気に入りリストにあるかどうかを決定する。
ステップ1212で決定されたように所望のアプリケーションが所望のディスプレイ装置に対してお気に入りリストに有る場合、ユーザは、ステップ1214において、所望のディスプレイ装置に対してお気に入りメニューから所望のアプリケーションを選択する。これは、ユーザがお気に入りのリスト内を検索して所望のアプリケーションを選択するために、所望のディスプレイ装置に関係付けられるタッチセンサ上で回転スワイプを行うことを含んでもよい。この選択に基づいて、オーディオビジュアルシステム100は、ステップ1216において、所望のディスプレイ装置上で所望のアプリケーションを表示する。
ステップ1212で決定されたように所望のアプリケーションが所望のディスプレイ装置に対してお気に入りリストに無い場合、ユーザは、ステップ1218において、オーディオビジュアルシステム100の何らかの他のディスプレイ装置に対してお気に入りリストに所望のアプリケーションが有るかどうかを決定する。
ステップ1218で決定されたように何らかの他のアプリケーションが所望のディスプレイ装置に対してお気に入りリストに有る場合、ユーザは、ステップ1220において、所望のディスプレイ装置に対してお気に入りメニューから他のアプリケーションを選択する。これは、ユーザがお気に入りのリスト内を検索して所望のアプリケーションを選択するために、他のディスプレイ装置に関係付けられるタッチセンサ上で回転スワイプを行うことを含んでもよい。次に、ユーザは、所望のアプリケーション用のサブメニューを開くために他のディスプレイ装置に関係付けられるタッチセンサ上でダブルタップを行ってもよい。次に、ユーザは、ディスプレイ装置のリストを下に検索して、所望のディスプレイ装置をシングルタップで選択してもよい。この選択に基づいて、オーディオビジュアルシステム100は、ステップ1216において、所望のディスプレイ装置上で所望のアプリケーションを表示する。
ステップ1218で決定されたように所望のアプリケーションが何らかの他のディスプレイ装置に対してお気に入りリストに無い場合、ユーザは、ステップ1222において、所望のアプリケーションがオーディオビジュアルシステム100にロードされているかどうかを決定する。
ステップ1222で決定されるように所望のアプリケーションがオーディオビジュアルシステム100にロードされていない場合、ユーザは、ステップ1224において、オーディオビジュアルシステム100にロードする所望のアプリケーションを選択して、オーディオビジュアルシステム100は所望のアプリケーションをロードする。これは、ユーザがオーディオビジュアルシステム100のディスプレイ装置に提供されるメニュー内でアプリケーションストアを検索し、アプリケーションを検索し、それがロードされることを選択することを含んでもよい。これは、アプリケーションに対する購入価格を支払う合意を更に含んでもよい。また、これは、ユーザ又はユーザのアカウントに関係付けられる認証又は承認情報の入力を含んでもよい。
アプリケーションがオーディオビジュアルシステム100にロードされると、ユーザは、ステップ1226において、オーディオビジュアルシステム100の何らかのディスプレイ装置に対してお気に入りリストに追加される所望のアプリケーションを選択する。この時点で、処理はステップ1212から基本的に現在の処理に続くように継続し、所望のアプリケーションが、ステップ1214又はステップ1220の何れかを介してステップ1216で所望のディスプレイ装置に表示される。
図12Bを次に参照すると、本発明の一部の実施形態による、アプリケーション管理用の例示のインターフェースが示されている。インターフェースは、例えば、CIDに提供されてもよい。図示のように、第1のディスプレイ装置の表示フィールド1250がメニュー1252を表示している。メニュー1252は、第1のディスプレイ装置用のお気に入りリストにおける各アプリケーションに対するアイテム及びアプリケーションストアアイテムを含む様々なアイテムを含む。図示のように、メニュー1252からのナビゲーションアプリケーションアイテムが選択され、それによりナビゲーションアプリケーション用のサブメニュー1254の表示がもたらされる。サブメニュー1254は、他のディスプレイ装置のリスト1256を含む。この1256を使用して、ユーザは、オーディオビジュアルシステム100に選択された他のディスプレイ装置(例えば、ICD又はHUD)にナビゲーションアプリケーションを表示させるために別のディスプレイ装置を選択し得る。
一部の実施形態では、ユーザは、表示されるアプリケーションを選択するためにインターフェースを使用する。また、ユーザは、どのディスプレイ装置にアプリケーションを表示するかを選択してもよい。ユーザは、1つ以上のICD、HUD、CID、乗客ディスプレイ、接続された携帯装置等にアプリケーションを表示してもよい。更なるアプリケーションにおいて、ユーザは、どの仮想動作フィールドにアプリケーションが表示されるか及び/又は仮想動作フィールドのサイズ及び特性を選択してもよい。利用可能オプションは制限されてもよい。例えば、ユーザは、クリティカル情報を表示する仮想動作フィールドを除去する又は他のやり方で変更することができなくてもよい。
一部の実施形態では、ユーザがアプリケーションが表示されるディスプレイ装置を選択して、オーディオビジュアルシステム100は、仮想動作フィールド及び/又はアプリケーションが表示される仮想動作フィールドの特徴を決定する。更なる実施形態では、ユーザは、異なる仮想動作フィールドにそれを割り当てることによりアプリケーションを再配置してもよい。更なる実施形態では、ユーザは、仮想動作フィールドを移動させ、又はアプリケーションを表示する仮想動作フィールドを他のやり方で変更してもよい。仮想動作フィールド割り当て及び仮想動作フィールドの変更の組合せは、1つ以上のディスプレイをカスタマイズするために使用されてもよい。
一部の実施形態では、アプリケーションは、ユーザ入力に従ってスクリーン間で移動されてもよい。例えば、メインスクリーン(例えば、ICD)で、全てのアクティブアプリケーションに対してサムネール画像が表示されてもよい。サムネール画像は、ディスプレイの上部にあるリボンに表示されてもよい。仮想動作領域におけるICDで実行中のアクティブアプリケーションは、リボンに隣接して(例えば、下に)表示されてもよい。一部の実施形態では、ユーザは、ディスプレイスクリーン(例えば、HUD、ICD、CID、後方乗客ディスプレイ等)間でアクティブアプリケーションを移動させるための入力と合わせてアクティブアプリケーションのリボンを使用する。例えば、ユーザはアプリケーションにフォーカスを合わせていてもよい(例えば、ディスプレイ装置のアプリケーションに接触する、ハードキーコントロールでアプリケーションを強調する、サムネールリボンにおけるアプリケーション画像に接触する、又は先に記載されたようにアプリケーションにフォーカスを与える)。
次に、ユーザは、オーディオビジュアルシステム100が特定のディスプレイにアプリケーションを移動させる入力を与えてもよい。例えば、ユーザは、CIDにアプリケーションを移動させるためにCID上で下にスワイプしてもよい。続く例として、ユーザは、HUDにアプリケーションを移動させるためにアプリケーションにフォーカスを合わせたあとで上にスワイプしてもよい。更なる例として、ユーザは、ICDにアプリケーションを移動させるためにアプリケーションにフォーカスを合わせたあとで左にスワイプしてもよい。更なる実施形態では、代替的な入力がアプリケーションを移動させてもよい。例えば、ユーザは、メニュー選択、ハードキーコントロール、接続された装置等を通じてアプリケーションを移動させてもよい。
オーディオビジュアルシステム100におけるアプリケーション管理についての先の図面の開示は例示であり、他の実施形態も予測可能である。例えば、アプリケーションが何らかのディスプレイ装置に対するお気に入りリストに関係付けられるかどうかに関わらず、所望のディスプレイ装置において所望のアプリケーションを表示することは、ロードされたアプリケーションのマスタリストからアプリケーションを選択することにより行われてもよい。
図13を次に参照すると、本発明の一部の実施形態による、入出力装置へのアプリケーションの提供を可能にするためのオーディオビジュアルシステムの例示的な構成が示されている。図13は、図1Cで以前に紹介された一部の特徴を示す。図1Cにおけるように、オペレーティングシステムレイヤ144及び機能レイヤ146が有る。他の特徴も図1Cのものと同様であるが図示されていない。
図13では、機能レイヤ146が機能アプリケーションA 1310を含み、次にこれはアプリケーションA 1312及びアプリケーションB 1314を含む。アプリケーションA 1312及びアプリケーションB 1314は別のアプリケーションであってもよく、又は並行して実行中の同じアプリケーションの異なるインスタンスであってもよい。インターフェース/ディスプレイ装置マッパ1320が更に提供される。インターフェース/ディスプレイ装置A 1330及びインターフェース/ディスプレイ装置B 1332が更に提供される。
図13の例示的なオーディオビジュアルシステム100では、インターフェース/ディスプレイ装置マッパ1320は、アプリケーションから入出力装置に入力及び出力信号をマッピングするために提供される。図示のように、インターフェース/ディスプレイ装置マッパ1320は、アプリケーションA 1312をインターフェース/ディスプレイ装置A 1330にマッピングする。インターフェース/ディスプレイ装置マッパ1320は、アプリケーションB 1314をインターフェース/ディスプレイ装置1332にマッピングする。このようにして、インターフェース/ディスプレイ装置マッパ1320は、他の入出力装置が何をしているかとは無関係に、異なる入力/出力装置が異なるアプリケーションのために入力を表示及び受信することを可能にする。
一部の実施形態では、インターフェース/ディスプレイ装置マッパ1320は、オーディオビジュアルシステム100の要素間で入力及び出力を管理してもよい。例えば、インターフェース/ディスプレイ装置マッパ1320は、入力がディスプレイ装置上で又はハードキーコントロールを通じて登録されるときに、どのアプリケーションが入力を受信するかを決定してもよい。インターフェース/ディスプレイ装置マッパ1320は、どの仮想動作フィールドが入力を受信したかを決定して、その入力を対応するアプリケーションに送信してもよい。同様に、インターフェース/ディスプレイ装置マッパ1320は、ディスプレイ装置がそのアプリケーションに対応する仮想動作フィールドにアプリケーション出力を表示することを制御し又は他のやり方で引き起こしてもよい。
一部の実施形態では、インターフェース/ディスプレイ装置マッパ1320は、自動車1の前方に提供されるCID210にインターネットラジオストリーミングアプリケーションをマッピングし、それによりオーディオストリーミングデータを自動車1のステレオで再生してもよい。同時に、インターフェース/ディスプレイ装置マッパ1320は、自動車1の後部座席の乗客に提供される関連オーディオ出力ポート装置及びタッチスクリーンディスプレイにインターネットビデオストリーミングアプリケーションをマッピングしてもよく、それにより後部座席の乗客が提供された装置でインターネットビデオストリーミングを見ることができる。このようにして、オーディオビジュアルシステム100は、自動車1の異なる乗客が異なるアプリケーションと独立して相互作用することを可能にしてもよい。
一部の実施形態では、インターフェース/ディスプレイ装置マッパ1320は、第1の乗客に提供される出力オーディオポートにインターネットラジオストリーミングアプリケーションの1つのインスタンスをマッピングしながら、第2の乗客に提供される出力オーディオポートに同じインターネットラジオストリーミングアプリケーションの第2のインスタンスをマッピングする。このようにして、オーディオビジュアルシステム100は、自動車1の異なる乗客が、並行して実行中の同じアプリケーションの異なるインスタンスと独立して相互作用することを可能にしてもよい。
一部の実施形態では、インターフェース/ディスプレイ装置マッパ1320は、ハンドヘルド装置350にナビゲーションアプリケーションへの入力をマッピングしながら、HUD230にナビゲーションアプリケーションの出力をマッピングする。このようにして、オーディオビジュアルシステム100は、出力が提供されるソースとは異なる入力ソースからアプリケーションが制御されることを可能にしてもよい。これは、自動車1の運転者がナビゲーションアプリケーションからの出力の主要観察者であり、そのため、HUD230がナビゲーションアプリケーション用の最良の出力装置であり得るナビゲーションアプリケーション設定において有利であり得る。しかしながら、自動車1の運転者は、運転中に注意を逸らされないように、目的地住所等の情報をナビゲーションアプリケーションに入力することを望まなくてもよい。この状況では、ナビゲーションアプリケーションに入力を提供する最良の乗客は、前方の非運転者座席の乗客又は後部座席の乗客であってもよい。何れの場合も、乗客は、入力情報をナビゲーションアプリケーションに提供するためにオーディオビジュアルシステム100との無線接続を介して通信するハンドヘルド装置350等の装置を使用してもよい。
図14を次に参照すると、本発明の一部の実施形態による、複数の車両間でオーディオビジュアルシステム情報を共有するための処理が示されている。一部の状況では、第1の車両のオーディオビジュアルシステム100のユーザが、第2の車両にオーディオビジュアルシステム100の構成及び設定を転送できるようにすることが有利であり得る。
このようにする処理はステップ1410で開始して、構成情報、設定情報及び表示レイアウト情報等の関連情報が第1の車両のオーディオビジュアルシステム100に記憶される。ステップ1412において、記憶された情報は、次に、サーバ又は他のネットワークベースの装置等の中間場所に転送されてもよい。ステップ1414において、記憶された情報は、次に、第2の車両のオーディオビジュアルシステム100にロードされてもよい。この転送は、記憶ディスク等の物理転送媒体を介して又は無線通信を介して行われてもよい。
この処理は、第1の車両がユーザの主要車両でありながら、第2の車両がユーザのレンタル車両である場合に有利であってもよい。それによって、この処理は、第2の車両で何らの再構成無しで第2の車両にいる間、ユーザが慣れたやり方でオーディオビジュアルシステム100を使用し続けることを可能にするであろう。この処理は、第1の車両がユーザの主要車両でありながら、第2の車両がユーザの新規購入車両である他のシナリオで有利であってもよい。それによって、この処理は、新規車両で何らの再構成無しで新規車両にいる間、ユーザが慣れたやり方でオーディオビジュアルシステム100を使用し続けることを可能にするであろう。
この処理は、レンタカー会社にとって第1の車両がマスター車両、潜在的には仮想車両であり、第2の車両がレンタカー会社の顧客にレンタルされる任意の車両である他のシナリオで有利であってもよい。それによって、この処理は、車両をレンタルする次の顧客のためにオーディオビジュアルシステム100の標準設定を確実にするように、顧客によるレンタルの後で、レンタカー会社がレンタルされた車両をデフォルト設定又は複数のデフォルト設定の1つにリセットすることを可能にするであろう。
一部の実施形態では、レイアウト情報は、自動車キー、フォブ、又は他の同様の装置内に設けられるメモリ内に記憶される。自動車1は、キー又はフォブが自動車1の対応するレセプタクルに挿入されるとレイアウト情報を取得するように構成されてもよい。例えば、キー又はフォブは、USB又は同様の接続等の有線の接触を介してレイアウト情報を転送してもよい。他の実施形態では、自動車1は、無線プロトコルを使用してキー又はフォブに記憶された情報を取得してもよい。更なる実施形態では、キー又はフォブは、識別コードを記憶していてもよい。この識別コードは、無線で又は有線接続を介して(例えば、無線自動識別、Bluetooth(登録商標)、USB接続等により)自動車1によって取得されてもよい。オーディオビジュアルシステム100は、遠隔記憶場所(例えば、サーバ)からキー又はフォブの識別コードに対応するレイアウト情報を取得して、レイアウト情報を自動車1に適用してもよい。
様々な例示的な実施形態に示されたシステム及び方法の構造及び配置は単なる例示である。本開示には少数の実施形態のみが詳細に記載されているが、多くの修正(例えば、サイズ、寸法、構造、形状及び様々な要素の比率、パラメータの値、取り付け配置、材料の使用、色、方向の変更)が可能である。例えば、要素の配置は反転され又は他のやり方で変更されてもよく、個々の要素の性質又は数又は位置が変更又は変形されてもよい。従って、このような全ての修正が、本開示の範囲内に含まれることが意図される。任意の処理又は方法のステップの順番又は順序が、代替的な実施形態に従って変更され又は再順序付けされてもよい。他の置換、修正、変更及び省略が、本開示の範囲から逸脱することなく、例示的な実施形態の設計、動作条件及び配置で行われてもよい。
本開示は、様々な動作を遂行するための任意の機械可読媒体上のプログラム製品、システム及び方法を考慮している。本開示の実施形態は、既存のコンピュータプロセッサを使用して、又はこの若しくは別の目的で組み込まれる、適切なシステムのための専用コンピュータプロセッサによって、又は配線システムによって実装されてもよい。本開示の範囲内の実施形態は、機械実行可能命令又はそれに記憶されるデータ構造を伝送する又は有する機械可読媒体を含むプログラム製品を含む。このような機械可読媒体は、汎用又は専用コンピュータ又はプロセッサを有する他の機械によりアクセスされ得る任意の利用可能な媒体であってもよい。例えば、このような機械可読媒体は、RAM、ROM、EPROM、EEPROM、CD−ROM又は他の光学ディスク記憶装置、磁気ディスク記憶装置又は他の磁気記憶装置、又は機械実行可能命令又はデータ構造の形態で所望のプログラムコードを伝送又は記憶するために使用され得る且つ汎用又は専用コンピュータ又はプロセッサを有する他の機械によりアクセスされ得る任意の他の媒体を含んでもよい。情報が機械とのネットワーク又は別の通信接続(有線、無線、又は有線若しくは無線の組み合わせ)を介して伝送又は提供される場合、機械は適切に接続を機械可読媒体と見なす。従って、任意のこのような接続は、適切に機械可読媒体と呼ばれる。上記の組み合わせも、機械可読媒体の範囲内に含まれる。例えば、機械実行可能命令は、汎用コンピュータ、専用コンピュータ、又は専用処理機械に所定の機能若しくは機能グループを実行させる命令及びデータを含む。
図面は方法ステップの特定の順番を示しているが、ステップの順番は描かれたものと異なっていてもよい。また、2つ以上のステップが同時に又は部分的に同時に行われてもよい。このような変形は、選択されたソフトウェア及びハードウェアシステムに及び設計者の選択に依存するであろう。このような全ての変形は、本開示の範囲内である。同様に、ソフトウェアの実装は、様々な接続ステップ、処理ステップ、比較ステップ及び決定ステップを遂行するためのルールベース論理及び他の論理を有する標準プログラミング技術によって達成され得る。