(57)【特許請求の範囲】
【請求項１】
複数の外部ハードウェアと、
上記複数の外部ハードウェアの動作制御に用いられる複数のアプリケーションモジュールからなるアプリケーションモジュール群と、上記アプリケーションモジュール各々の実行をそれぞれ制御するのに用いられるアプリケーション統括モジュールとから構成されるソフトウェアを実行するマイクロプロセッサと、
上記マイクロプロセッサに実行されることにより、上記アプリケーション統括モジュールおよび各アプリケーションモジュールに共通する複数の機能をそれぞれ実現するプログラムを登録した複数のライブラリからなり、全ての上記ライブラリに共通のインタフェースを有するライブラリ群とを備え、
上記アプリケーション統括モジュールは、
上記マイクロプロセッサに実行されることにより、上記各アプリケーションモジュールを実行するプロセス空間で通信を行う通信インタフェース部と、上記マイクロプロセッサに実行されることにより、上記通信インタフェース部を除く上記アプリケーション統括モジュールの全ての機能が実現されるアプリケーション統括モジュールアプリケーション部とを有し、
上記アプリケーションモジュールは、
上記マイクロプロセッサに実行されることにより、上記アプリケーション統括モジュールまたは他の各アプリケーションモジュールを実行するプロセス空間で通信を行う通信インタフェース部と、上記マイクロプロセッサに実行されることにより、上記通信インタフェース部を除く該アプリケーションモジュールに固有の機能が実現されるアプリケーションモジュールアプリケーション部とを有し、
上記アプリケーション統括モジュールおよび上記アプリケーションモジュールは、
上記マイクロプロセッサに実行されることにより、相互のプロセス空間で直接に通信を行う共通通信インタフェース部を共通して有するとともに、
上記マイクロプロセッサは、
上記ソフトウェアを実行して上記外部ハードウェアの動作を制御するにあたり、上記アプリケーション統括モジュールおよび上記アプリケーションモジュールを、独立した別のプロセス空間で並列に実行し、
上記アプリケーション統括モジュールを実行して各アプリケーションモジュールの起動および終了を制御し、
上記アプリケーション統括モジュールおよび上記各アプリケーションモジュールを実行するにあたり、共通する機能に関して上記ライブラリ群の該当機能に関するライブラリから上記共通のインタフェースを介してプログラムを読み出して実行し、
上記アプリケーション統括モジュールを実行することにより、上記複数の外部ハードウェアからのデータを解析し、この解析結果に対応するアプリケーションモジュールまたは上記アプリケーション統括モジュールを実行するプロセス空間に上記データを配信することを特徴とする車載マルチメディア装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ナビゲーションサービス・ハイパーテキスト閲覧・ディジタルオーディオ再生等を実行し、その画面を表示する車載マルチメディア装置に関するものである。
【背景技術】
【０００２】
図１は従来の車載マルチメディア装置のソフトウェア構成を示すブロック図である。
図１において、１１０はアプリケーションプログラム層であり、アプリケーションプログラム群１１１と、ユーザからの操作を受け取り画面の遷移およびアプリケーションへの動作命令の発行を行うユーザインタフェース１１２と、プラットフォームおよび地図ディスクのデータフォーマットの違いを吸収するＤＢ依存部１１３と、外部装置からのイベントの取りこぼし防止のために設けられたイベントキュー１１４とから構成されている。１２０はハードウェアの違いを吸収するためのプラットフォーム依存部１２１を含むライブラリ層、１３０はプロセスおよびデバイスのスケジューリングを行うＯＳカーネル層、１４０はハードウェア・周辺機器を動作させるためのデバイスドライバ層、１５０はハードウェア・周辺機器である。
【０００３】
次に動作について説明する。
外部から入力されたリモコン等の操作イベントは、デバイスドライバ層１４０にて受理された後、ＯＳカーネル層１３０を通過してイベントキュー１１４に蓄えられる。イベントキュー１１４に蓄えられた操作イベントは、ユーザインタフェース１１２内部の操作命令に書き換えられ、アプリケーションプログラム群１１１にて実行される。この際に画面変異が伴う場合は、アプリケーションプログラム群１１１よりユーザインタフェース１１２に対して描画命令が発生し、画面の描画・更新が行われる。
【０００４】
次にプロセス構成について述べる。
従来の車載マルチメディア装置は、１プロセス・マルチスレッドで実行させる。並列動作が必要なモジュールはユーザインタフェースを含むメインスレッドとは別のスレッドにて動作する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来の車載マルチメディア装置は以上のように単一プロセスで構成されているので、車載マルチメディア装置全体が大きくなった際に新たな機能を追加するには、全体を修正・コンパイルしなおす必要があるため、新機能追加がし難く、コンパイル／デバッグの作業効率が落ちるという課題があった。
【０００６】
また、上記課題の解決のために、単にマルチプロセスにし、各プロセスの起動・終了の制御のみ行うシェルを採用した場合、各アプリケーション画面のフォーカス切り替えのみの制御しかできず、操作命令はフォーカスのあるアプリケーションにのみ渡され、その他のアプリケーションには操作命令が渡らないという不具合が生じる。
【０００７】
この発明は、上記のような課題を解決するためになされたもので、各アプリケーション機能を別プロセスに分離することで、車載マルチメディア装置全体が大きくなった場合にも、新たな機能を容易に追加可能にし、コンパイル／デバッグの作業効率を向上させることができる車載マルチメディア装置を得ることを目的とする。
【０００８】
また、この発明は、入出力の管理をアプリケーション統括モジュールにまかせることにより、各アプリケーションモジュール毎に特殊なイベント処理をさせずに、機能毎のアプリケーションモジュールの追加を容易にし、車載マルチメディア装置の開発効率を向上することができる車載マルチメディア装置を得ることを目的とする。
【０００９】
さらに、この発明は、各アプリケーションに共通な機能を共通ライブラリにまとめ、これを使用することで、各モジュールのサイズの減少および共通機能の開発・デバッグの作業効率を向上させることができる車載マルチメディア装置を得ることを目的とする。
【００１０】
さらに、この発明は、共通通信インタフェースを持つアプリケーション統括モジュールもしくは、共通通信インタフェースを持つアプリケーションモジュールであれば、自由にモジュールの入れ換えおよび追加を可能とすることができる車載マルチメディア装置を得ることを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係る車載マルチメディア装置は、複数の外部ハードウェアと、複数の外部ハードウェアの動作制御に用いられる複数のアプリケーションモジュールからなるアプリケーションモジュール群と、アプリケーションモジュール各々の実行をそれぞれ制御するのに用いられるアプリケーション統括モジュールとから構成されるソフトウェアを実行するマイクロプロセッサと、マイクロプロセッサに実行されることにより、アプリケーション統括モジュールおよび各アプリケーションモジュールに共通する複数の機能をそれぞれ実現するプログラムを登録した複数のライブラリからなり、全てのライブラリに共通のインタフェースを有するライブラリ群とを備え、アプリケーション統括モジュールが、マイクロプロセッサに実行されることにより、各アプリケーションモジュールを実行するプロセス空間で通信を行う通信インタフェース部と、マイクロプロセッサに実行されることにより、通信インタフェース部を除くアプリケーション統括モジュールの全ての機能が実現されるアプリケーション統括モジュールアプリケーション部とを有し、アプリケーションモジュールが、マイクロプロセッサに実行されることにより、アプリケーション統括モジュールまたは他の各アプリケーションモジュールを実行するプロセス空間で通信を行う通信インタフェース部と、マイクロプロセッサに実行されることにより、通信インタフェース部を除く該アプリケーションモジュールに固有の機能が実現されるアプリケーションモジュールアプリケーション部とを有し、アプリケーション統括モジュールおよび上記アプリケーションモジュールが、マイクロプロセッサに実行されることにより、相互のプロセス空間で直接に通信を行う共通通信インタフェース部を共通して有するとともに、マイクロプロセッサが、ソフトウェアを実行して外部ハードウェアの動作を制御するにあたり、アプリケーション統括モジュールおよびアプリケーションモジュールを独立した別のプロセス空間で並列に実行し、アプリケーション統括モジュールを実行して各アプリケーションモジュールの起動および終了を制御し、アプリケーション統括モジュールおよび各アプリケーションモジュールを実行するにあたり、共通する機能に関して上記ライブラリ群の該当機能に関するライブラリから共通のインタフェースを介してプログラムを読み出して実行し、アプリケーション統括モジュールを実行することにより、複数の外部ハードウェアからのデータを解析し、この解析結果に対応するアプリケーションモジュールまたはアプリケーション統括モジュールを実行するプロセス空間に上記データを配信するものである。
【発明の効果】
【００１２】
この発明によれば、複数の外部ハードウェアと、複数の外部ハードウェアの動作制御に用いられる複数のアプリケーションモジュールからなるアプリケーションモジュール群と、アプリケーションモジュール各々の実行をそれぞれ制御するのに用いられるアプリケーション統括モジュールとから構成されるソフトウェアを実行するマイクロプロセッサとを備え、マイクロプロセッサが、ソフトウェアを実行して外部ハードウェアの動作を制御するにあたり、アプリケーション統括モジュールおよびアプリケーションモジュールを、独立した別のプロセス空間で並列に実行するので、アプリケーション統括モジュール、アプリケーションモジュールの開発、試験を単体毎に行なうことができるようになり、コンパイル／デバッグの作業効率を向上できるという効果が得られ、車載マルチメディア装置の新規機能追加を容易に行なうことができるという効果が得られる。また、動作時に他のモジュールによってデータを破壊されることがなく、またソースコード中の変数・関数などの名前も他のモジュールと重複して使用することができるようになり、各モジュールの開発試験が容易になり、車載マルチメディア装置の新規機能追加を容易に行なうことができるという効果が得られる。さらに、各モジュール単体での開発が容易になり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【００１３】
また、この発明によれば、マイクロプロセッサに実行されることにより、アプリケーション統括モジュールおよび各アプリケーションモジュールに共通する複数の機能をそれぞれ実現するプログラムを登録した複数のライブラリからなり、全てのライブラリに共通のインタフェースを有するライブラリ群とを備えるので、アプリケーションモジュールの開発コード量を軽減することができ、車載マルチメディア装置の開発効率を向上することができるという効果が得られ、これらの共通機能の開発、デバッグの作業効率を向上することができるという効果が得られる。また、アプリケーション統括モジュールおよび各アプリケーションモジュールは同一の手順でライブラリを読み出すことができるという効果が得られる。
【００１４】
さらに、この発明によれば、アプリケーション統括モジュールを実行して各アプリケーションモジュールの起動および終了を制御するので、アプリケーションモジュールを不要に実行させることがなくなり、車載マルチメディア装置の動作時に資源を無駄に利用せずに済むという効果が得られる。
【発明を実施するための最良の形態】
【００１５】
実施の形態１．
図２はこの発明の実施の形態１による車載マルチメディア装置のハードウェア構成を示すブロック図である。
図２において、１は後述するアプリケーション統括モジュール／アプリケーションモジュール群等のプログラムを予め記録したＲＯＭ、２はアプリケーション統括モジュール／アプリケーションモジュール群等のプログラムを実行するためのマイクロプロセッサ、３はアプリケーション統括モジュール／アプリケーションモジュール群等のプログラムやデータをこれらプログラムの実行時に一時的に記憶するＲＡＭである。
【００１６】
また、図２において、４は地図データベース等を予め記憶した外部記憶メディア、５は外部記憶メディア４を起動してデータを読み出す外部記憶装置ドライブ、６は外部記憶装置ドライブ５とマイクロプロセッサ２との間でデータの授受を実行する外部記憶インタフェース（外部記憶Ｉ／Ｆ）である。外部記憶メディア４としては、ＤＶＤ−ＲＯＭ／ＣＤ−ＲＯＭ／メモリカード／ＭＤ（ミニディスク）等がある。その他、ハードディスク等が設けられている。
【００１７】
なお、ＲＯＭ１の代わりに、アプリケーション統括モジュール／アプリケーションモジュール群等のプログラムを外部記憶メディア４に記憶させ、これらのプログラムを外部記憶メディア４から読み取って使用しても良い。
【００１８】
また、アプリケーション統括モジュールや、後述の外部入出力制御モジュールおよびライブラリのみをＲＯＭ１に記憶させておき、その他のアプリケーションモジュールを外部記憶メディア４に記憶させ、これらを読み込んで使用するようにしても良い。
【００１９】
さらに、図２において、７はグラフィック制御回路であり、マイクロプロセッサ２からの画像データや描画命令データに応じて、フレームバッファ８に画像データを記憶させ、その画像データを液晶ディスプレイ等のディスプレイ９に描画する。１０はリモートコントローラや各種スイッチ等のユーザ操作部、１１はユーザ操作部１０とマイクロプロセッサ２との間でデータの授受を実行する操作部インタフェース（操作部Ｉ／Ｆ）である。
【００２０】
さらに、図２において、１２はＧＰＳ受信機、車速パルスセンサ、ジャイロ等のカーナビゲーションを行うための装置を含めた周辺機器であり、自車位置データを取得するＧＰＳ受信機、自車の速度データを取得する車速パルスセンサ、自車の向きを取得するジャイロに加えて、音声案内を出力するスピーカおよびその駆動回路、外部インフラストラクチャとの通信を実行するＦＭ多重放送受信機、電波ビーコン／光ビーコン受信機、携帯電話機等が設けられている。１３は周辺機器１２とマイクロプロセッサ２との間でデータの授受を実行する周辺機器インタフェース（周辺機器Ｉ／Ｆ）である。
【００２１】
図３はこの発明の実施の形態１による車載マルチメディア装置の構成を階層的に示す図である。図２と同一または相当する構成については同一の符号を付してある。
図３において、１４は車載マルチメディア装置、１５は車載マルチメディア装置１４の外部ハードウェア、１６は車載マルチメディア装置１４のソフトウェア全体をそれぞれ示している。
【００２２】
外部ハードウェア１５は車載マルチメディア装置１４に接続されており、ユーザは外部ハードウェア１５によって数値データや命令データをソフトウェア１６へ与え、ソフトウェア１６からのデータは外部ハードウェア１５からユーザへ出力される。外部記憶装置ドライブ５，表示画面８，ユーザ操作部１０，周辺機器１２等が外部ハードウェア１５に相当する。
【００２３】
また、ソフトウェア１６は、アプリケーション統括モジュール１７と、アプリケーション統括モジュール１７以外の複数のアプリケーションモジュール１９からなるアプリケーションモジュール群１８とから構成されている。各アプリケーションモジュール１９は固有の機能を別プロセスでそれぞれ実現しており、やはり各アプリケーションモジュール１９と別プロセスのアプリケーション統括モジュール１７によって制御されている。
図４はこの発明の実施の形態１による車載マルチメディア装置の動作状態を示す図である。
【００２４】
符号１９がそれぞれ付された各アプリケーションモジュール１，２，３は、別のプロセス１，２，３としてそれぞれ動作する。ここで、プロセスとはプログラムおよびその実行状態の両方を言う。実行時の状態には、全ての変数の値、ハードウェア状態およびアドレス空間が含まれる。プロセスは他のプロセスのアドレス空間を直接参照することができない。プログラムコンパイル時の名前の割り付けは、プロセス毎に行われる。
【００２５】
図５はこの発明の実施の形態１による車載マルチメディア装置の最小構成を示す図であり、アプリケーション統括モジュール１７および外部入出力制御モジュール２０のみで構成されている。外部入出力制御モジュール２０は図３に示したアプリケーションモジュール１９の一つであり、外部ハードウェア１５の周辺機器１２等によってユーザからの入力データを受け取り、必要な処理を施した後に、例えばアプリケーション統括モジュール１７へ描画命令データを送信し、アプリケーション統括モジュール１７がディスプレイ９に画面の表示を行う。
【００２６】
図６はこの発明の実施の形態１による車載マルチメディア装置の動作を示す図である。図２〜図６に従って車載マルチメディア装置の動作の説明を行う。
図６（ａ）において、ユーザ操作部１０より入力された数値データや命令データなどの入力データ（入力信号）は、操作部インタフェース１１を介して外部入出力制御モジュール２０にて一旦受け取られ、操作命令データに変換される。この変換された操作命令データは、外部入出力制御モジュール２０からアプリケーション統括モジュール１７へ伝えられる。アプリケーション統括モジュール１７は、受け取った操作命令データを解析し、この解析結果にしたがった処理を行なう。なお、入力データは、外部入出力制御モジュール２０によって操作命令データに変換されずにそのまま統括モジュールへ送信されても良い。
【００２７】
例えばディスプレイ９の描画命令データを受けた場合には、アプリケーション統括モジュール１７がディスプレイ９に描画を行う。また、これ以外の各アプリケーションモジュール１９向け操作命令データの場合は、操作命令データに該当するアプリケーションモジュール１９へ操作命令データを配信する。
アプリケーション統括モジュール１７から配信された操作命令データの種類に応じて、アプリケーションモジュール１９は各種動作を実行する（図６（ｂ））。
【００２８】
例えば描画を行なう場合には、アプリケーションモジュール１９はアプリケーション統括モジュール１７へ画面操作命令データを送り、アプリケーション統括モジュール１７によってディスプレイ９の画面処理が行なわれる。また、他のアプリケーションモジュール１９を操作する場合には、アプリケーションモジュール１９からアプリケーション統括モジュール１７へ操作命令データが配信され、アプリケーション統括モジュール１７がこの操作命令データに該当する他のアプリケーションモジュール１９を判断して操作命令データを配信する。
【００２９】
外部入出力制御モジュール２０は、外部記憶インタフェース６，操作部インタフェース１１，周辺機器インタフェース１３とデータのやりとりを行い、外部記憶装置ドライブ５，ユーザ操作部１０，周辺機器１２からのデータを全て受け取る。これらの外部入出力装置からの入力データは、操作命令データに変更されアプリケーション統括モジュール１７に送られる。
【００３０】
また、各アプリケーションモジュール１９が外部記憶装置ドライブ５，ユーザ操作部１０，周辺機器１２等へ出力する際は、外部入出力制御モジュール２０へ操作命令データを一旦送信し、外部入出力制御モジュール２０から外部記憶装置ドライブ５，ユーザ操作部１０，周辺機器１２等へ送信される。
アプリケーションモジュール１９の例について以下に示す。
【００３１】
＜カーナビゲーション機能＞
図７は車載マルチメディア装置１４の構成例を示す図であり、カーナビゲーション機能を実現したカーナビゲーション制御モジュール２１を図５の最小構成に追加している。図５と同一または相当する構成については同一符号を付してある。カーナビゲーション制御モジュール２１はアプリケーションモジュール１９の一例である。
【００３２】
カーナビゲーション制御モジュール２１の動作について説明する。
外部入出力制御モジュール２０によって周辺機器１２から取得されたＧＰＳ／ジャイロ／車速等の外部データは、アプリケーション統括モジュール１７へ一旦送信される。アプリケーション統括モジュール１７はこの外部データを解析し、該当するカーナビゲーション制御モジュール２１へ外部データを送信する。
【００３３】
カーナビゲーション制御モジュール２１は外部データを受け取り、カーナビゲーションシステムを操作するための内部命令データに変換し、この内部命令データを元にして、経路探索、誘導、案内等のカーナビゲーションシステムの動作を実行する。
【００３４】
＜開始画面制御機能＞
図８は車載マルチメディア装置１４の構成例を示す図であり、開始画面制御機能を実現した開始画面制御モジュール２２を図５の最小構成に追加している。図７と同一または相当する構成については同一符号を付してある。開始画面制御モジュール２２はアプリケーションモジュール１９の一例である。
【００３５】
開始画面制御モジュール２２の動作について説明する。
車載マルチメディア装置１４の電源を投入すると、アプリケーション統括モジュール１７やカーナビゲーション制御モジュール２１などの各アプリケーションモジュール１９は、立ち上がりの初期化に時間がかかるため、電源投入からディスプレイ９の開始画面の表示までに時間がかかる。開始画面制御モジュール２２は、アプリケーション統括モジュール１７，各アプリケーションモジュール１９の初期化が完了する前に起動し、ディスプレイ９を一時的に占有して開始画面の表示を行う。
【００３６】
アプリケーション統括モジュール１７，各アプリケーションモジュール１９の初期化が完了すると、ディスプレイ９の画面操作権の割り当て動作はアプリケーション統括モジュール１７が管理する。そして、他のアプリケーションモジュール１９が動作可能になった状態で、開始画面制御モジュール２２による開始画面から、他のアプリケーションモジュール１９に制御を変更する。
【００３７】
アプリケーション統括モジュール１７，各アプリケーションモジュール１９の初期化が終了するまでの間、開始画面制御モジュール２２によって開始画面を制御しているので、車載マルチメディア装置１４のユーザにとって無意味な画面表示をなくすことができる。つまり、初期化中に何らかの画面表示をユーザに提供することが可能になり、開始画面の有効活用ができるようになる。
【００３８】
＜ハイパーテキスト閲覧機能＞
図９は車載マルチメディア装置１４の構成例を示す図であり、ハイパーテキスト閲覧機能を実現したハイパーテキスト閲覧モジュール２３を図５の最小構成に追加している。図５と同一または相当する構成については同一符号を付してある。ハイパーテキスト閲覧モジュール２３はアプリケーションモジュール１９の一例である。
【００３９】
ハイパーテキスト閲覧モジュール２３の動作について説明する。
ユーザ操作部１０から入力されたデータは外部入出力制御モジュール２０にて受け取られ、アプリケーション統括モジュール１７へ渡される。アプリケーション統括モジュール１７は、受け取ったデータが画面操作に関するものでなく、現在フォーカスのあるアプリケーションモジュール１９がハイパーテキスト閲覧モジュール２３であれば、ハイパーテキスト閲覧モジュール２３に対して、データを配信する。
【００４０】
また、他のアプリケーションモジュール１９より、ハイパーテキスト閲覧の命令データを受けた際には、外部入出力制御モジュール２０に対して、ハイパーテキスト情報の要求をし、与えられたハイパーテキストをディスプレイ９に表示する。
【００４１】
もちろん、図７のカーナビゲーション制御モジュール２１や図８の開始画面制御モジュール２２を図９の構成に追加しても良い。
【００４２】
＜ディジタルオーディオ制御機能＞
図１０は車載マルチメディア装置１４の構成例を示す図であり、ディジタルオーディオ制御機能を実現したディジタルオーディオ制御モジュール２４を図５の最小構成に追加している。図５と同一または相当する構成については同一符号を付してある。ディジタルオーディオ制御モジュール２４はアプリケーションモジュール１９の一例である。
【００４３】
ディジタルオーディオ制御モジュール２４の動作について説明する。
他のアプリケーションモジュール１９やユーザ操作部１０からの再生・停止・早送り・巻き戻し・選曲等の命令データは、アプリケーション統括モジュール１７からディジタルオーディオ制御モジュール２４へ配信される。ディジタルオーディオ制御モジュール２４は、配信された命令データに応じて再生・停止・早送り・巻き戻し・選曲等の操作を行う。ディジタルオーディオ制御モジュール２４が再生する音楽情報は、外部入出力制御モジュール２０経由で、例えば周辺機器インタフェース１３に接続されたスピーカから出力する。
【００４４】
もちろん、図７のカーナビゲーション制御モジュール２１，図８の開始画面制御モジュール２２，図９のハイパーテキスト閲覧モジュール２３を図１０の構成に追加しても良い。
【００４５】
＜総合機能＞
図１１は車載マルチメディア装置１４の構成例を示す図であり、つまり、図７〜図１０の各種機能を全て実現しており、カーナビゲーション制御モジュール２１，開始画面制御モジュール２２，ハイパーテキスト閲覧モジュール２３，ディジタルオーディオ制御モジュール２４が図５の最小構成に追加されている。
【００４６】
このように、複数種類のアプリケーションモジュール１９を追加した場合であっても、各アプリケーションモジュール１９に対する外部ハードウェア１５からのデータのやりとりは、外部入出力制御モジュール２０を介して行なわれ、アプリケーション統括モジュール１７によって制御される。
【００４７】
以上、図７〜図１１の説明で見てきたように、様々な機能を別プロセスで実現したアプリケーションモジュール１９を図５の最小構成に追加することが可能である。新規機能を追加していく際に、アプリケーション統括モジュール１７，各アプリケーションモジュール１９はマルチプロセスで動作するので、従来とは異なって、アプリケーション統括モジュール１７，アプリケーションモジュール１９の各モジュールを単体で開発・試験することが可能である。
もちろん、アプリケーションモジュール１９の機能は、図７〜図１１の各例に限定されるわけではなく、車載マルチメディア装置１４の用途に応じて様々な機能を実現することができる。
【００４８】
以上のように、この実施の形態１によれば、異なる機能をそれぞれ実現する複数のアプリケーションモジュール１９からなるアプリケーションモジュール群１８と、各アプリケーションモジュール１９をそれぞれ制御するアプリケーション統括モジュール１７とから構成されるソフトウェア１６によって動作し、このソフトウェア１６で処理されるデータの入出力を行なう外部ハードウェア１５を備えるようにしたので、アプリケーション統括モジュール１７やアプリケーションモジュール１９の開発・試験を単体毎に行なうことができるようになり、コンパイル／デバッグの作業効率を向上できるという効果が得られ、車載マルチメディア装置の新規機能追加を容易に行なうことができるという効果が得られる。
【００４９】
また、この実施の形態１によれば、アプリケーション統括モジュール１７およびアプリケーションモジュール１９を保護された別プロセス空間でそれぞれ動作するようにしたので、動作時に他のモジュールによってデータを破壊されることがなく、またソースコード中の変数・関数などの名前も他のモジュールと重複して使用することができるようになり、各モジュールの開発・試験が容易になり、車載マルチメディア装置の新規機能追加を容易に行なうことができるという効果が得られる。
【００５０】
さらに、この実施の形態１によれば、外部ハードウェア１５との間でデータの入出力を行なう外部入出力制御モジュール２０をアプリケーションモジュール１９の一つとしてアプリケーションモジュール群１８に備えるようにしたので、外部ハードウェア１５の仕様変更に対して、外部入出力制御モジュール２０だけを変更すれば対応できるようになり、車載マルチメディア装置１４の開発効率を向上することができるという効果が得られる。
【００５１】
さらに、この実施の形態１によれば、カーナビゲーション機能を実現するカーナビゲーション制御モジュール２１をアプリケーションモジュール１９の一つとしてアプリケーションモジュール群１８に備えるようにしたので、車載マルチメディア装置１４にカーナビゲーション制御機能を容易に追加することができるという効果が得られる。
【００５２】
さらに、この実施の形態１によれば、アプリケーション統括モジュール１７およびアプリケーションモジュール１９の初期化が完了するまでの間で開始画面を制御する開始画面制御モジュール２２をアプリケーションモジュール１９の一つとしてアプリケーションモジュール群１８に備えるようにしたので、初期化中に何らかの画面表示を行なうことができ、ユーザにとって開始画面の有効な活用を行うことができるという効果が得られる。
【００５３】
さらに、この実施の形態１によれば、ハイパーテキスト閲覧機能を実現するハイパーテキスト閲覧モジュール２３をアプリケーションモジュール１９の一つとしてアプリケーションモジュール群１８に備えるようにしたので、車載マルチメディア装置１４にハイパーテキスト閲覧機能機能を容易に追加することができるという効果が得られる。
【００５４】
さらに、この実施の形態１によれば、ディジタルオーディオ制御機能を実現するディジタルオーディオ制御モジュール２４をアプリケーションモジュール１９の一つとしてアプリケーションモジュール群１８に備えるようにしたので、車載マルチメディア装置１４にディジタルオーディオ制御機能を容易に追加することができるという効果が得られる。
【００５５】
実施の形態２．
図１２はこの発明の実施の形態２による車載マルチメディア装置の構成を示す図である。図１１と同一符号は同一または相当する構成である。
図１２において、２５はヒューマンマシンインタフェース用のＨＭＩ装置であり、例えばキーボード２６，リモコン２７，音声マイク２８，文字読み取り装置２９が示されている。ＨＭＩ装置２５は、外部ハードウェア１５のユーザ操作部１０に相当するものである。
【００５６】
例えばキーボード２６から入力されるキーコードや文字コード等の入力データは、外部入出力制御モジュール２０を介してアプリケーション統括モジュール１７に一旦送られて解析され、アプリケーション統括モジュール１７で処理されたり、アプリケーション統括モジュール１７からアプリケーションモジュール１９へ配信処理される。
【００５７】
また、リモコン２７，音声マイク２８，文字読み取り装置２９からそれぞれ入力されるキーコード、音声データ、文字コード等の各種入力データも同様に、外部入出力制御モジュール２０を介してアプリケーション統括モジュール１７に一旦送られて解析され、アプリケーション統括モジュール１７で処理されたり、アプリケーション統括モジュール１７からアプリケーションモジュール１９に配信処理される。
【００５８】
このように、ＨＭＩ装置２５が変更されてデータの入力形式が異なる場合にも、外部入出力制御モジュール２０を介してアプリケーション統括モジュール１７へＨＭＩ装置２５からの入力データを一旦送信し、アプリケーション統括モジュール１７が入力データを解析して該当するアプリケーションモジュール１９やアプリケーション統括モジュール１７自身へ配信しているので、ＨＭＩ装置２５の変更が生じた場合にも、アプリケーション統括モジュール１７を変更するだけで対応することができる。
【００５９】
以上のように、この実施の形態２によれば、アプリケーション統括モジュール１７がＨＭＩ装置２５からの入力データを解析し、この解析結果に該当するアプリケーションモジュール１９やアプリケーション統括モジュール１７自身へ配信するようにしたので、ＨＭＩ装置２５の変更が生じた場合にも、アプリケーション統括モジュール１７を変更するだけで対応できるようになり、ＨＭＩ装置２５など外部ハードウェア１５の仕様を意識することなく、アプリケーションモジュール１９の開発を行なうことができ、コンパイル／デバッグの効率を向上できるという効果が得られる。
【００６０】
実施の形態３．
この実施の形態３では、アプリケーションモジュール１９の起動・終了をアプリケーション統括モジュール１７が制御する場合について説明する。
まず始めに、アプリケーション統括モジュール１７がアプリケーションモジュール１９を起動する様子について説明する。アプリケーション統括モジュール１７は、アプリケーションモジュール１９の起動命令の入力データがユーザからあった際に、アプリケーションモジュール１９を起動する。
【００６１】
アプリケーションモジュール１９の終了命令の入力データがユーザからあった際には、アプリケーション統括モジュール１７は、該当するアプリケーションモジュール１９を終了し、このアプリケーションモジュール１９が動作していない旨を記録する。
アプリケーション統括モジュール１７によってアプリケーションモジュール１９の起動・終了を制御しているので、不要なアプリケーションモジュール１９が実行されている状態を防ぐことができ、車載マルチメディア装置の動作時に資源を無駄に利用せずに済むようになる。
【００６２】
以上のように、この実施の形態３によれば、各アプリケーションモジュール１９の起動および終了をアプリケーション統括モジュール１７が制御するようにしたので、アプリケーションモジュール１９を不要に実行させることがなくなり、車載マルチメディア装置の動作時に資源を無駄に利用せずに済むという効果が得られる。
【００６３】
実施の形態４．
図１３はこの発明の実施の形態４による車載マルチメディア装置の構成を示す図である。図３と同一符号は同一または相当する構成である。
図１３において、３０は不図示の外部入出力制御モジュール２０を介して周辺機器１２から入力された音声データを解析（音声認識）しアプリケーションモジュール１９に対する操作命令データとして利用したり、音声データを解析して文章に変換したりするための音声認識部である。また、３１はアプリケーションモジュール１９より送信された文章データを解析して音声データに変換し、不図示の外部入出力制御モジュール２０を介して音声データを外部ハードウェア１５のスピーカーなどから読上げ出力する文章読上げ部である。図１３では、音声認識部３０，文章読上げ部３１をアプリケーション統括モジュール１７内に設けるようにしている。
【００６４】
音声認識部３０や文章読上げ部３１を設けることで、例えば車載マルチメディア装置に対して外部ハードウェア１５から入力された音声のデータを音声認識部３０によって認識し、車載マルチメディア装置から音声による応答を音声読上げモジュール３１によって出力することができる等、車載マルチメディア装置とユーザとの間で音声によるデータのやりとりが可能になる。
【００６５】
なお、音声認識部３０，文章読上げ部３１はアプリケーション統括モジュール１７内に限定される訳ではなく、これら音声認識部３０，文章読上げ部３１を１つのアプリケーションモジュール１９として一体化して備えても良く、また、音声認識部３０，文章読上げ部３１をそれぞれ別々のアプリケーションモジュール１９として備えるようにしても良い。いずれの場合であっても、同様の効果が得られる。
【００６６】
以上のように、この実施の形態４によれば、外部ハードウェア１５に入力された音声データを解析する音声認識部３０を備えるようにしたので、車載マルチメディア装置とユーザとの間で音声によるデータのやりとりができるという効果が得られる。
【００６７】
また、この実施の形態４によれば、アプリケーションモジュール１９からの文章データを解析して、この解析した文章データを外部ハードウェア１５によって読上げる文章読上げ部３１を備えるようにしたので、車載マルチメディア装置とユーザとの間で音声によるデータのやりとりができるという効果が得られる。
【００６８】
実施の形態５．
図１４はこの発明の実施の形態５による車載マルチメディア装置の構成を示す図である。図３と同一符号は同一または相当する構成である。
図１４において、３２はアプリケーション統括モジュール１７内に設けられた状態遷移検知部である。状態遷移検知部３２は、各アプリケーションモジュール１９の状態の遷移を検知する働きをしている。
【００６９】
アプリケーション統括モジュール１７は、外部ハードウェア１５などからのアプリケーションモジュール１９用の操作命令データを受け取ると、どのアプリケーションモジュール１９用の操作命令データであるかを解析し、該当するアプリケーションモジュール１９の状態を状態遷移検知部３２によって検知する。
【００７０】
そして、該当するアプリケーションモジュール１９が状態遷移検知部３２によって命令受取可能状態と検知されれば、アプリケーション統括モジュール１７はアプリケーションモジュール１９へ操作命令データを送信する。
また、該当のアプリケーションモジュール１９が状態遷移検知部３２によって命令受取不可能状態と検知された場合には、アプリケーション統括モジュール１７は、命令実行可能になるまで待機するか、または操作命令データを破棄する。
【００７１】
このように、アプリケーションモジュール１９に対する操作命令データの配信可否を、状態遷移検知部３２によってアプリケーション統括モジュール１７が検知しているので、アプリケーションモジュール１９は不必要な操作命令データを受け取らず、必要な操作命令データだけを受け取ることができる。したがって、必要な操作命令データのみを考慮してアプリケーションモジュール１９を開発すれば良く、アプリケーションモジュール１９の開発労力を軽減できる。
【００７２】
以上のように、この実施の形態５によれば、アプリケーションモジュール１９の状態の遷移を検知する状態遷移検知部３２をアプリケーション統括モジュール１７が備え、アプリケーションモジュール１９に対する操作命令データをアプリケーション統括モジュール１７が受けると、状態遷移検知部３２によってアプリケーションモジュール１９の受取可能状態を検知してから命令データを配信するようにしたので、アプリケーションモジュール１９の開発労力を軽減することができ、コンパイル／デバッグの効率を向上できるという効果が得られる。
【００７３】
実施の形態６．
図１５はこの発明の実施の形態６による車載マルチメディア装置の構成を示す図である。図１４と同一符号は同一または相当する構成である。
図１５のアプリケーション統括モジュール１７は、アプリケーションモジュール１９の起動や命令受取可否の状態の遷移を検知する状態遷移検知部３２と、どのアプリケーションモジュール１９で使われるどのような操作命令データであるかを解釈する命令解釈部３３と、外部ハードウェア１５からの入力データを該当のアプリケーションモジュール１９用の操作命令データに変換する命令変換部３４とを備えている。なお、命令解釈部３３および命令変換部３４の機能を状態遷移検知部３２として一つにまとめるようにしても良い。
【００７４】
図１５に沿って命令変換の動作を説明する。
外部ハードウェア１５などから入力された入力データは、不図示の外部入出力制御モジュール２０を介してアプリケーション統括モジュール１７にまず渡される。アプリケーション統括モジュール１７では、まず命令解釈部３３によって入力データの解釈がなされ、どのアプリケーションモジュール１９宛てのデータであるかが判別される。
次に、該当するアプリケーションモジュール１９の状態を状態遷移検知部３２によって検知する。該当するアプリケーションモジュール１９が起動しており、命令受取可能状態の場合には、アプリケーション統括モジュール１７は、入力データを該当するアプリケーションモジュール１９用の操作命令データへ命令変換部３４によって変換し、該当のアプリケーションモジュール１９へ送信する。
【００７５】
このように、アプリケーション統括モジュール１７は、他のアプリケーションモジュール１９や外部ハードウェア１５などから入力データを命令解釈部３３によってどのアプリケーションモジュール１９用のデータかを解釈し、該当するアプリケーションモジュール１９の起動・命令受取可能状態を状態遷移検知部３２によって検知してから、命令変換部３４によって入力データを操作命令データに変換して、この操作命令データを該当のアプリケーションモジュール１９へ配信するようにしているので、入力データとアプリケーションモジュール１９の操作との対応を意識することなく、アプリケーションモジュール１９を開発できるようになる。
【００７６】
また、外部ハードウェア１５が仕様変更された場合であっても、アプリケーション統括モジュール１７のみを仕様変更すれば対応することができ、複数のアプリケーションモジュール１９を変更せずにそのまま利用することができる。
【００７７】
なお、複数のアプリケーションモジュール１９へ複数の操作命令データを配信することも可能である。この場合、命令解釈部３３または命令変換部３４にて操作命令データを複製して、該当する複数のアプリケーションモジュール１９へ変換された操作命令データをそれぞれ送信する。
【００７８】
以上のように、この実施の形態６によれば、アプリケーションモジュール１９の状態の遷移を検知する状態遷移検知部３２と、入力データを解釈する命令解釈部３３と、命令解釈部３３によって解釈された入力データを該当のアプリケーションモジュール１９向けの操作命令データに変換して送信する命令変換部３４とをアプリケーション統括モジュール１７に備えるようにしたので、入力データとアプリケーションモジュール１９の操作との対応を意識することなく、アプリケーションモジュール１９を開発でき、アプリケーションモジュール１９のコンパイル／デバッグの効率を向上することができるという効果が得られ、また、外部ハードウェア１５が仕様変更された場合であっても、アプリケーション統括モジュール１７の変更だけで対応できるという効果が得られる。
【００７９】
実施の形態７．
図１６はこの発明の実施の形態７による車載マルチメディア装置の構成を示す図である。図１５と同一符号は同一または相当する構成である。
図１６において、符号３５はアプリケーション存在フラグであり、アプリケーションモジュール１９の有無を表している。アプリケーションモジュール１９の有無は、実施の形態５，６で述べた状態遷移検知部３２で記憶しても良い。
【００８０】
実施の形態５において、命令解釈部３３によって入力データを解釈した際に、例えば動作フラグを用意しておき、これによって該当するアプリケーションモジュール１９が起動していないと判定されると、実施の形態３に従ってアプリケーション統括モジュール１７が該当するアプリケーションモジュール１９を起動し、命令データを送信する。
【００８１】
また、実施の形態６において、命令解釈部３３によって入力データを解釈した際に、アプリケーション存在フラグ３５によって該当するアプリケーションモジュール１９が存在しないと判定されると、やはり実施の形態３に従ってアプリケーション統括モジュール１７が該当するアプリケーションモジュール１９を起動し、命令変換部３４にて入力データを該当するアプリケーションモジュール１９用の操作命令データに変換し、送信する。
【００８２】
以上のように、この実施の形態７によれば、アプリケーションモジュール１９の起動有無をアプリケーション統括モジュール１７が動作フラグまたは状態遷移検知部３２によって判定し、アプリケーションモジュール１９を起動させてから画面制御命令データや操作命令データなどをアプリケーション統括モジュール１７が配信するようにしているので、操作命令データの要不要を意識することなく、アプリケーションモジュール１９を開発することができるという効果が得られる。また、アプリケーションモジュール１９の有無を判定してから命令データを送信しているので、車載マルチメディア装置の実行時に不要な命令データを送信しなくて済むという効果が得られる。
【００８３】
実施の形態８．
図１７はこの発明の実施の形態８による車載マルチメディア装置の構成を示す図である。図３と同一符号は同一または相当する構成である。
図１７において、符号３６はアプリケーション統括モジュール１７に設けられた通信インタフェース部（通信Ｉ／Ｆ部）であり、アプリケーション統括モジュール１７は他のアプリケーションモジュール１９と通信インタフェース部３６によってデータの通信を行う。
【００８４】
図１８はこの実施の形態８におけるアプリケーション統括モジュール１７の構成を示す図である。
図１８において、アプリケーション統括モジュール１７は、通信インタフェース部３６と、アプリケーション統括モジュールアプリケーション部３７とを備えている。
通信インタフェース部３６は、各アプリケーションモジュール１９に共通して設けられる共通通信インタフェース部（共通通信Ｉ／Ｆ部）３８と、通信によって配信された操作命令データを解析するアプリケーション統括モジュール命令解析部３９とから構成されている。
【００８５】
アプリケーション統括モジュールアプリケーション部３７は、車載マルチメディア装置全体および各アプリケーションモジュール１９の状態を把握し、データの配信の制御、画面サイズや表示の制御、アプリケーションモジュール１９の起動・終了制御等のアプリケーション統括モジュール１７の機能を実現するものである。３２は車載マルチメディア装置全体の状態および各アプリケーションモジュール１９の有無および状態を保持している状態遷移検知部である。
【００８６】
外部ハードウェア１５のユーザ操作部１２などから入力された命令データは、まずアプリケーション統括モジュール１７の通信インタフェース部３６にて受け取られる。アプリケーション統括モジュール１７は、アプリケーション統括モジュールアプリケーション部３７によって入力命令データに必要な処理を施し、通信インタフェース部３６を用いて処理を施した操作命令データをアプリケーションモジュール１９へ配信する。同様に、各アプリケーションモジュール１９からの操作命令データも通信Ｉ／Ｆ部３６によって受信し、アプリケーション統括モジュールアプリケーション部３７で処理した後に通信インタフェース部３６から送信する。通信インタフェース部３６と、アプリケーション統括モジュールアプリケーション部３７とを設けることにより、アプリケーション統括モジュール１７の機能を変更する必要が生じた際に、通信インタフェース部３６をそのままにして、アプリケーション統括モジュールアプリケーション部３７を変更するだけで対応することができる。
なお、共通通信インタフェース部３８に関しては、実施の形態１０で述べる。
【００８７】
以上のように、この実施の形態８によれば、各アプリケーションモジュール１９と通信を行う通信インタフェース部３６と、アプリケーション統括モジュール１７の機能を実現するアプリケーション統括モジュールアプリケーション部３７とをアプリケーション統括モジュール１７が備えるようにしたので、アプリケーション統括モジュール１７の機能を変更する場合に、アプリケーション統括モジュールアプリケーション部３９を変更するだけで対応できるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【００８８】
実施の形態９．
図１９はこの発明の実施の形態８による車載マルチメディア装置の構成である。図１７と同一符号は同一または相当する構成である。
図１９において、符号４１は通信インタフェース部（通信Ｉ／Ｆ部）であり、アプリケーションモジュール１９はアプリケーション統括モジュール１７や他のアプリケーションモジュール１９からの操作命令データを通信インタフェース部４１によって受け取る。
図２０はこの実施の形態９におけるアプリケーションモジュール１９の構成を示す図である。
【００８９】
図２０において、アプリケーションモジュール１９は、通信インタフェース部４１およびアプリケーションモジュールアプリケーション部４２により構成されており、通信インタフェース部４１を通じて相互に通信が可能である。通信インタフェース部４１は、各アプリケーションモジュール１９に共通の共通通信インタフェース部（共通通信Ｉ／Ｆ部）３８と、通信のための命令解析部４４とから構成される。アプリケーションモジュールアプリケーション部４２は、各アプリケーションモジュール１９に個別の機能を実行する働きをする。
【００９０】
外部ハードウェア１５から入力された入力命令データは、まずアプリケーション統括モジュール１７によって受け取られる。アプリケーション統括モジュール１７は、入力命令データに対して必要な処理を施し、アプリケーションモジュール１９へ操作命令データを配信する。アプリケーションモジュール１９は配信された操作命令データに応じて適当な処理を施し、必要があればアプリケーション統括モジュール１７または他のアプリケーションモジュール１９内の通信インタフェース部４１を介して、必要な操作命令データを送信する。
【００９１】
次にアプリケーションモジュール１９の一般的な動作の説明を行う。
アプリケーションモジュール１９は、他のアプリケーションモジュール１９に対して操作命令データを発行できる。この操作命令データは、他のアプリケーションモジュール１９の通信インタフェース部４１内部の共通通信インタフェース部３８にて受け取られ、通信インタフェース部４１内の命令解析部４４にて、アプリケーションモジュール１９固有の操作命令データの解析を行う。解析された操作命令データは、アプリケーションモジュールアプリケーション部４２にて実行される。
【００９２】
ユーザ操作部１０より入力された入力データは、操作部インタフェース１１を介して外部入出力制御モジュール２０にて一旦受け取られ、操作命令データに変換される。もちろん、外部入出力制御モジュール２０で入力データを変換せずに、そのままアプリケーション統括モジュール１７へ入力データを送信しても良い。変換された操作命令データは、外部入出力制御モジュール２０の通信インタフェース部４１に設けられた共通通信インタフェース３８より各アプリケーション統括モジュール１７へ配信される。そして、この操作命令データはアプリケーション統括モジュール１７の通信インタフェース部３６より各アプリケーションモジュール１９の通信インタフェース部４１の共通通信インタフェース部３８に伝えられ、アプリケーションモジュール命令解析部４４によって解析された後に、アプリケーションモジュールアプリケーション部４２に伝えられる。アプリケーションモジュールアプリケーション部４２では操作命令データの種類に応じて、各種動作を実行する。
【００９３】
以下にアプリケーションモジュール１９の具体例を示す。
図２１は実施の形態１で示したカーナビゲーション制御モジュール２１の構成を示す図である。図２１において、４５はカーナビゲーション制御モジュール２１がアプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行うためのカーナビゲーション制御モジュールインタフェース部（通信インタフェース部）であり、アプリケーション統括モジュール１７，各アプリケーションモジュール１９に共通の共通通信インタフェース部３８とカーナビゲーション制御モジュール命令解析部４８とから構成される。４６はカーナビゲーション制御機能を実現するためのカーナビゲーション制御モジュールアプリケーション部である。図２２は実施の形態１で示した外部入出力制御モジュール２０の構成を示す図である。
【００９４】
図２２において、４９は外部入出力制御モジュール２０がアプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行うための外部入出力制御モジュールインタフェース部（通信インタフェース部）であり、アプリケーション統括モジュール１７，各アプリケーションモジュール１９に共通の共通通信インタフェース部３８と通信のための外部入出力制御モジュール命令解析部５３とから構成される。５０は外部入出力制御機能を実現するための外部入出力制御モジュールアプリケーション部である。また、５１は外部ハードウェア１５との通信を行う外部入出力装置インタフェース部である。
【００９５】
次に、カーナビゲーション制御モジュール２１の動作について説明する。
外部入出力制御モジュール２０にて周辺機器１２から取得したＧＰＳ／ジャイロ／車速等のデータは、外部入出力制御モジュール２０，アプリケーション統括モジュール１７を通じて外部データとしてカーナビゲーション制御モジュール２１に渡される。カーナビゲーション制御モジュール２１では、カーナビゲーション制御モジュールインタフェース部４５内部の共通通信インタフェース部３８にて外部データを受け取り、カーナビゲーション制御モジュール命令解析部４８にてカーナビゲーションシステムを操作するための内部の操作命令データに変換し、カーナビゲーション制御モジュールアプリケーション部４６へ渡す。カーナビゲーション制御モジュールアプリケーション部４６ではこれらの内部の操作命令データを元に、経路探索、誘導、案内等のカーナビゲーションシステムの動作を実行する。
【００９６】
図２３は実施の形態１で示した開始画面制御モジュール２２の構成を示す図である。
図２３において、５４は開始画面制御モジュール２２がアプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行うための開始画面制御モジュールインタフェース部（通信インタフェース部）であり、共通通信インタフェース３８および開始画面制御モジュール命令解析部５７より構成される。５５は開始画面制御機能を実現するための開始画面制御モジュールアプリケーション部である。
【００９７】
次に開始画面制御モジュール２２の動作について説明する。
電源投入後、アプリケーション統括モジュール１７や各アプリケーションモジュール１９は立ち上がりの初期化に時間がかかるため、電源投入から開始画面の表示までに時間がかかる。開始画面制御モジュール２２は、アプリケーション統括モジュール１７，他のアプリケーションモジュール１９の初期化が終了する前に起動し、ディスプレイ９を一時的に占有し、開始画面の表示を行う。アプリケーション統括モジュール１７，アプリケーションモジュール１９が動作可能に成った状態で、開始画面制御モジュール２２による開始画面から、他のアプリケーションモジュール１９に制御を変更する。
図２４は実施の形態１で示したハイパーテキスト閲覧モジュール２３の構成を示す図である。
【００９８】
図２４において、５８はハイパーテキスト閲覧モジュール２３がアプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行うためのハイパーテキスト閲覧モジュールインタフェース部（通信インタフェース部）であり、共通通信インタフェース部３８およびハイパーテキスト閲覧モジュール命令解析部６１から構成される。５９はハイパーテキスト閲覧機能を実現するためのハイパーテキスト閲覧モジュールアプリケーション部である。
【００９９】
次にハイパーテキスト閲覧モジュール２３の動作を説明する。
ユーザ操作部１０より入力されたユーザの入力データは外部入出力制御モジュール２０を介してアプリケーション統括モジュール１７にて受け取られ、ハイパーテキスト閲覧モジュール２３に対して、操作命令データを配信する。操作命令データは共通通信インタフェース部３８を通じて開始画面制御モジュール命令解析部５７によって解析され、この解析結果に応じてハイパーテキスト閲覧モジュールアプリケーション部５９はディスプレイ９にハイパーテキストを表示する。
図２５は実施の形態１で示したディジタルオーディオ制御モジュール２４の構成を示す図である。
【０１００】
図２５において、６２はディジタルオーディオ制御モジュール２４がアプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行うためのディジタルオーディオ制御モジュールインタフェース部（通信インタフェース部）であり、共通通信インタフェース３８およびディジタルオーディオ制御モジュール命令解析部６５から構成される。６３はディジタルオーディオ制御機能を実現するためのディジタルオーディオ制御モジュールアプリケーション部である。
【０１０１】
次にディジタルオーディオ制御モジュール２４の動作について説明する。
外部入出力制御モジュール２０およびアプリケーション統括モジュール１７を経由してユーザ操作部１０からの入力データを変換した再生・停止・早送り・巻き戻し・選曲等の操作命令データや、また、他のアプリケーションモジュール１９からの再生・停止・早送り・巻き戻し・選曲等の操作命令データは、ディジタルオーディオ制御モジュールインタフェース部６２の共通通信インタフェース部３８にて受信され、ディジタルオーディオ制御モジュール命令解析部６５にて各命令データに変更された後、ディジタルオーディオ制御モジュールアプリケーション部６３に送られる。ディジタルオーディオ制御モジュールアプリケーション部６３は、各操作命令データに応じて再生・停止・早送り・巻き戻し・選曲等の操作を行う。ディジタルオーディオ制御モジュールアプリケーション部６３にて再生された音楽情報は、外部入出力制御モジュール２０経由で、周辺機器インタフェース１３に接続されたスピーカなどから出力される。
【０１０２】
以上のように、この実施の形態９によれば、アプリケーション統括モジュール１７や他のアプリケーションモジュール１９と通信を行う通信インタフェース部４１と、このアプリケーションモジュール１９に個別の機能を実行する働きをするアプリケーションモジュールアプリケーション部４２とをアプリケーションモジュール１９に備えるようにしたので、アプリケーションモジュール１９の機能が増えた場合にも、アプリケーションモジュールアプリケーション部の変更のみで対応できるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１０３】
実施の形態１０．
図２６および図２７はこの発明の実施の形態１０による車載マルチメディア装置の構成を示す図である。図３、図１８、図２０と同一符号は同一または相当する構成である。
【０１０４】
図２６および図２７において、アプリケーション統括モジュール１７およびアプリケーションモジュール１９は、通信インタフェース部３６，４４およびアプリケーション部３７，４２により構成されており、アプリケーション統括モジュール１７の通信インタフェース部３６と、各アプリケーションモジュール１９の通信インタフェース部４１とは各々の共通通信インタフェース部３８によって相互に通信を行なっている。このように、共通通信インタフェース部３８を通じて相互に通信が可能である。
【０１０５】
この発明の実施の形態１０による車載マルチメディア装置では、外部入出力制御モジュール２０を含む１つ以上のアプリケーションモジュール１９が必要であり、共通通信インタフェース部３８を通信インタフェース部４１に持つアプリケーションモジュール１９であれば、アプリケーションモジュール群１８にいくつでも追加することができる。
【０１０６】
以上のように、この実施の形態１０によれば、アプリケーション統括モジュール１７およびアプリケーションモジュール１９の通信インタフェース部３６，４１に、相互に通信するための共通通信インタフェース部３８を共通して備えるようにしたので、車載マルチメディア装置に対してアプリケーションモジュールを容易に新規追加することができるという効果が得られる。
【０１０７】
実施の形態１１．
外部ハードウェア１５や他のアプリケーションモジュール１９から読出命令を受けたアプリケーションモジュール１９をアプリケーション統括モジュール１７が読み出すようにしたり、外部から消去命令データを受けたアプリケーションモジュール１９をアプリケーション統括モジュール１７が消去するようにしても良い。
【０１０８】
アプリケーション統括モジュール１７は、アプリケーションモジュール１９の読出命令データを受け取ると、例えばＲＯＭ１や外部記憶装置ドライブ５の外部記憶メディア４から該当のアプリケーションモジュール１９をＲＡＭ３などの主記憶に読み出す。アプリケーションモジュール１９は、動作可能になった際に、アプリケーション統括モジュール１７へ自身の動作可能状態を通知する。
【０１０９】
また、アプリケーション統括モジュール１７は、アプリケーションモジュール１９の削除命令データを受け取ると、アプリケーションモジュール１９をＲＡＭ３などの主記憶より削除する。この削除の際に、アプリケーションモジュール１９の内部状態およびデータの保存が必要であれば、アプリケーション統括モジュール１７はアプリケーションモジュール１９に状態およびデータ保存の命令データを発行し、アプリケーションモジュール１９が内部状態およびデータの保存を完了するまで、アプリケーションモジュール１９の削除を待機する。消去時の内部状態・データを保存することで、次回起動時のアプリケーションモジュール１９の初期化を早く行なうことができ、また前回終了状態からアプリケーションモジュール１９を立ち上げることができるという効果が得られる。
内部状態およびデータの保存は、アプリケーションモジュール１９があらかじめ行っておいて、保存の完了後にアプリケーションモジュール１９の削除命令データを発行しても良い。
【０１１０】
アプリケーション統括モジュール１７以外に入れ替えの制御を行うために専用のモジュールを設けても良い。このようにすることで、車載マルチメディア装置の機能の追加・削除が容易になるだけでなく、アプリケーション統括モジュール１７の負荷も軽減できる。図２８はこの発明の実施の形態１１による車載マルチメディア装置の構成を示す図である。図２６と同一符号は同一または相当する構成である。
【０１１１】
図２８の構成では、図１９の車載マルチメディア装置にアプリケーション入れ替え部６６を追加しており、アプリケーション入れ替え部６６によってアプリケーションモジュール１９の読出や消去などの入れ替えを行う。
【０１１２】
必要なアプリケーションモジュール１９を含めて、車載マルチメディア装置全体のコンパイルを行い、ＣＤ−ＲＯＭ／ＤＶＤ−ＲＯＭ等の外部記憶メディア４に書き込んでおき、車載マルチメディア装置の起動時に必要なアプリケーションモジュール１９が実行可能になるようにしておいても良い。
【０１１３】
以上のように、この実施の形態１１によれば、読出命令データを受けたアプリケーションモジュール１９をアプリケーション統括モジュール１７が主記憶へ読出すようにしたので、車載マルチメディア装置の機能を容易に追加することができるという効果が得られる。
【０１１４】
また、この実施の形態１１によれば、消去命令データを受けたアプリケーションモジュール１９をアプリケーション統括モジュール１７が主記憶から消去するようにしたので、車載マルチメディア装置の機能を容易に消去することができるという効果が得られる。
【０１１５】
さらに、この実施の形態１１によれば、アプリケーションモジュール１９を消去する前に、アプリケーションモジュール１９の内部状態およびデータをアプリケーションモジュール１９が保存するようにしたので、次回起動時のアプリケーションモジュール１９の初期化を早く行なうことができ、また前回終了状態からアプリケーションモジュールを立ち上げることができるという効果が得られる。
【０１１６】
さらに、この実施の形態１１によれば、読出命令データまたは消去命令データを受けたアプリケーションモジュール１９を主記憶へ読出または主記憶から消去するアプリケーション入れ替え部６６を設けるようにしたので、車載マルチメディア装置の機能の追加・削除を容易に行なうことができ、アプリケーション統括モジュール１７の負荷を軽減でき、メモリ資源、Ｉ／Ｏ資源を節約できるという効果が得られる。
【０１１７】
実施の形態１２．
この発明の実施の形態１２における車載マルチメディア装置は、実施の形態１におけるマルチプロセスをマルチスレッドに置き換えたものである。
スレッドは、同一のプロセス空間を共有しているため、コンパイル時の名前空間を同一プロセス内の全てのスレッドで共有する。またコンテキストスイッチの切り替えの際に保存するデータが少量である。
スレッドを、スレッドと同様の機能を持ったリアルタイムＯＳにおけるタスクに置き換えることも可能である。
【０１１８】
実施の形態１と同等の機能・動作を逐次実行で行う場合には、アプリケーション統括モジュール１７およびアプリケーションモジュール１９は全て逐次実行を行うための主プログラムから呼び出されるサブルーチンとなる。サブルーチンが呼び出された後、必要な処理を終えると主プログラムへリターンする。アプリケーション統括モジュール１７およびアプリケーションプログラム間での通信には、主プログラム内のメモリを利用して行う。
【０１１９】
以上のように、この実施の形態１２によれば、アプリケーション統括モジュール１７およびアプリケーションモジュール１９を並列動作させるようにしたので、各モジュール単体での開発が容易になり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１２０】
実施の形態１３．
図２９はこの発明の実施の形態１３による車載マルチメディア装置の構成を示す図である。図３、図２８と同一符号は同一または相当する構成である。
図２９中の符号６７はアプリケーション統括モジュール１７内のライブラリ群である。ライブラリ群６７は、通信／描画／画面レイアウト／数値計算等のアプリケーション統括モジュール１７およびアプリケーションモジュール１９に必要な機能を抜き出してライブラリ化したものがそれぞれまとめられており、例えばライブラリ化した通信インタフェース部３６，４１，描画ライブラリ６８，数値計算ライブラリ６９，画面レイアウトライブラリ７０等である。
【０１２１】
このように、アプリケーション統括モジュール１７にライブラリ群６７を設けることにより、アプリケーションモジュール１９のコンパイル時に、必要の無いライブラリは省き、必要なライブラリだけを含めたコンパイルを行うことが可能になる。各ライブラリは、特定の共通するインタフェースを有しており、どのアプリケーションモジュール１９からも同一の手順で呼び出すことが可能である。また、共通機能をライブラリ化することで、これらの共通機能の開発・デバッグの作業効率を向上することができる。なお、通信／描画／画面レイアウト／数値計算等のライブラリを一つにまとめても良い。
また、図３０に示すように、外部入出力制御モジュール２０に外部入出力ライブラリ（Ｉ／Ｏライブラリ）７１を設けて、外部との入出力の制御をアプリケーション統括モジュール１７以外のアプリケーションモジュール１９にまかせても良い。
さらに、図３１のように、各アプリケーションモジュール１９が、描画ライブラリ６８，外部入出力ライブラリ７１を使用して、直接外部ハードウェア１５とのやりとりを行っても良い。
【０１２２】
以上のように、この実施の形態１３によれば、アプリケーション統括モジュール１７および各アプリケーションモジュール１９に共通する複数の機能をそれぞれ実現した複数のライブラリからなるライブラリ群６７を備え、アプリケーション統括モジュール１７および各アプリケーションモジュール１９はライブラリ群６７から必要なライブラリを読み出すようにしたので、アプリケーション統括モジュール１７およびアプリケーションモジュールの開発コード量を軽減することができ、車載マルチメディア装置の開発効率を向上することができるという効果が得られ、これらの共通機能の開発・デバッグの作業効率を向上することができるという効果が得られる。
【０１２３】
また、この実施の形態１３によれば、ライブラリ群６７の全てのライブラリに共通のインタフェースを設けるようにしたので、アプリケーション統括モジュール１７および各アプリケーションモジュール１９は同一の手順でライブラリを読み出すことができるという効果が得られる。
【０１２４】
さらに、この実施の形態１３によれば、外部入出力制御モジュール２０に外部入出力ライブラリ（Ｉ／Ｏライブラリ）７１を設けて、入出力ライブラリ７１によって外部との入出力の制御を行なうようにしたので、アプリケーション統括モジュール１７の負荷を軽減することができるという効果が得られる。
【０１２５】
さらに、この実施の形態１３によれば、各アプリケーションモジュール１９が、描画ライブラリ６８および外部入出力ライブラリ７１をそれぞれ備え、描画ライブラリ６８によって外部ハードウェア１５のディスプレイ９に描画を行ない、外部入出力ライブラリ７１によって外部ハードウェア１５とのデータのやりとりを行なうようにしたので、アプリケーション統括モジュール１７の負荷を軽減することができるという効果が得られる。
【０１２６】
実施の形態１４．
実施の形態１３で示したライブラリ群６７をアプリケーションモジュール１９としても良いし、もしくはウインドウズ（登録商標）ＣＥのＤＬＬやＵＮＩＸ（登録商標）のシェアードライブラリのように、アプリケーションモジュール間で共有可能なライブラリで、実行時にリンクを可能にしても良い。
図３２はこの発明の実施の形態１４による車載マルチメディア装置の構成を示す図である。
【０１２７】
図３２中の符号７２はアプリケーションモジュール１９としての共通ライブラリ（ライブラリ群）を示している。共通ライブラリ７２は、描画ライブラリ６８，画面レイアウトライブラリ７０，数値計算ライブラリ６９，外部入出力ライブラリ７１等をアプリケーション統括モジュール１７およびアプリケーションモジュール１９から抜き出してそれぞれ一つにまとめたものである。もちろん通信インタフェース部ライブラリ３６，４１もライブラリ群７２に加えても良い。
【０１２８】
共通ライブラリ７２は、特定のインタフェースを有しており、どのアプリケーションモジュール１９からも同一の手順で呼び出すことが可能である。
また、図３３のように、通信インタフェース部のライブラリ／描画ライブラリ／画面レイアウトライブラリ／数値計算ライブラリ等をひとまとめにして、共通のライブラリ群７２としても良い。
【０１２９】
以上のように、この実施の形態１４によれば、アプリケーション統括モジュール１７および各アプリケーションモジュール１９に共通する複数の機能をそれぞれ実現した複数のライブラリからなるライブラリ群６７をアプリケーションモジュール１９の一つとして備えるようにしたので、アプリケーション統括モジュールおよびアプリケーションモジュール１９の実行時におけるサイズを減少することができ、これらのリンク時間を減少させることができるという効果が得られ、これらの共通機能の開発・デバッグの作業効率を向上することができるという効果が得られる。
【０１３０】
また、この実施の形態１４によれば、ライブラリ群６７が複数のアプリケーションモジュール１９から同一のライブラリに同一の手順で同時にアクセスされるようにしたので、メモリサイズとリンク時間の減少を行なうことができるという効果が得られる。
【０１３１】
実施の形態１５．
図３４はこの発明の実施の形態１５による車載マルチメディア装置の構成を示す図である。図３と同一符号は同一または相当する構成である。
図３４中の符号７３はアプリケーションモジュール１９からの描画命令およびアプリケーション統括モジュール１７自身の描画命令の制御を行うための描画権制御部である。
アプリケーションモジュール１９は、描画が発生した際にアプリケーション統括モジュール１７に対して描画命令データを発生する。アプリケーション統括モジュール１７は、描画命令データを受けると、描画権制御部７３によって、そのアプリケーションモジュール１９が描画可能かどうかを判定し、描画可能であれば描画を行う。
アプリケーション統括モジュール１７内部で描画要求が発生した際にも、描画可能かどうかの判定を同様に行い、描画可能であれば描画を行う。
【０１３２】
図示は省略するが、描画命令データの代わりに音声出力命令データの場合であっても、音声出力権制御部を設けるようにして同様に考えることができる。
つまり、アプリケーションモジュール１９は、音声出力が発生した際にアプリケーション統括モジュール１７に対して音声出力要求を発生する。アプリケーションモジュール１９は、音声出力要求を受けると、音声出力権制御部にて、そのアプリケーションモジュール１９が音声出力可能かどうかを判定し、音声出力可能であれば音声を出力する。
アプリケーション統括モジュール１７内部で音声出力要求が発生した際にも、音声出力可能かどうかの判定を同様に行い、音声出力可能であれば音声出力を行う。
【０１３３】
なお、描画権制御部７３と音声出力権制御部とを一体化しても良い。
また、アプリケーションが描画した画面上にアプリケーション統括モジュール１７が描画した内容を重畳表示することも可能である。
さらに、アプリケーション統括モジュール１７およびアプリケーションモジュール１９の描画順序を調整して、重畳表示を行うことも可能である。
さらに、描画する画像サイズは任意に調整することができる。
さらに、複数の描画を行なう際には、ディスプレイ９上の画面の分割しても良く、分割数や分割サイズは任意に調節することが可能であり、特に限定されるものではない。
音声出力権制御モジュールは、アプリケーション統括モジュール１７およびアプリケーションモジュール１９からの音声出力要求に対し、順序を調整して音声出力することも可能である。
【０１３４】
以上のように、この実施の形態１５によれば、アプリケーション統括モジュール１７またはアプリケーションモジュール１９から描画命令データを受けると、描画可否を判定し、この判定結果にしたがって描画可能であればディスプレイ９に描画を行う描画権制御部７３をアプリケーション統括モジュール１７に備えるようにしたので、描画の可否を意識することなくアプリケーションモジュール１９を開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１３５】
また、この実施の形態１５によれば、アプリケーション統括モジュール１７またはアプリケーションモジュール１９から音声出力要求を受けると、音声出力可否を判定し、この判定結果にしたがって音声出力可能であれば外部ハードウェア１５から音声を出力する音声出力権制御部をアプリケーション統括モジュール１７に備えるようにしたので、音声出力の可否を意識することなくアプリケーションモジュール１９を開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１３６】
実施の形態１６．
図３５はこの発明の実施の形態１６による車載マルチメディア装置の構成を示す図である。図１４、図３０〜図３２と同一符号は同一または相当する構成である。
図３５中の状態遷移検知部３２は、アプリケーションモジュール１９からの描画命令およびアプリケーション統括モジュール１７自身の描画命令の制御を行う。
【０１３７】
アプリケーションモジュール１９は描画が発生した際に、アプリケーション統括モジュール１７に対して描画権要求データを発生する。アプリケーション統括モジュール１７は描画権要求データを受けると、状態遷移検知部３２によってそのアプリケーションモジュール１９が描画可能かどうかを検知し、描画可能であればアプリケーションモジュール１９に描画可能通知データを発する。アプリケーションモジュール１９は描画可能通知データを受け取ると、描画ライブラリ６８に対して描画命令データを送って描画を命令する。描画命令データを受けた描画ライブラリ６８は、外部ハードウェア１５のディスプレイ９に描画を行う。
【０１３８】
アプリケーション統括モジュール１７内部で描画が発生した際にも同様に、状態遷移検知部３２が描画可能かどうかの検知を行う。描画可能であれば描画ライブラリ６８に描画命令データを発し、描画ライブラリ６８はディスプレイ９に描画を行う。
描画を音声出力に置き換えても良い。
【０１３９】
アプリケーションモジュール１９は音声出力が発生した際に、アプリケーション統括モジュール１７に対して音声出力権を要求する。アプリケーション統括モジュール１７は音声出力権要求データを受けると、状態遷移検知部３２によってそのアプリケーションモジュール１９が音声出力可能かどうかを判定し、音声出力可能であればアプリケーションモジュール１９に音声出力可能通知データを発する。アプリケーションモジュール１９は音声出力可能通知データを受け取ると、不図示の音声出力ライブラリに対して音声出力命令データを送信し、音声出力を命令する。音声出力命令データを受けた音声出力ライブラリは、外部ハードウェア１５の周辺機器１２から音声出力を行う。
アプリケーション統括モジュール１７内部で音声出力が発生した際も同様に、状態遷移検知部３２によって音声出力可能かどうかの判定を行い、音声出力可能であれば音声出力ライブラリに音声出力命令データを発する。
【０１４０】
なお、アプリケーション統括モジュール１７は、アプリケーションモジュール１９の描画画面上にアプリケーション統括モジュール１７が描画した内容を重畳表示することも可能である。もちろん逆の場合も可能である。
また、アプリケーション統括モジュール１７は、アプリケーション統括モジュール１７およびアプリケーションモジュール１９の描画順序を調整して、重畳表示を行うことも可能である。
【０１４１】
さらに、描画する画像サイズは任意に調整することができる。
さらに、複数の描画を行なう際には、ディスプレイ９上の画面を分割しても良く、分割数や分割サイズは任意に調節することが可能であり、特に限定されるものではない。
さらに、アプリケーション統括モジュール１７は、アプリケーション統括モジュール１７およびアプリケーションモジュール１９からの複数の音声出力権の要求に対し、順序を調整して音声出力することも可能である。
さらに、描画ライブラリ６８および音声出力ライブラリは、実施の形態１３におけるライブラリのように、アプリケーション統括モジュール１７やアプリケーションモジュール１９の内部に含まれていても良い。
【０１４２】
以上のように、この実施の形態１６によれば、アプリケーション統括モジュール１７またはアプリケーションモジュール１９から描画権要求データを受け取ると、このアプリケーション統括モジュール１７またはアプリケーションモジュール１９の描画可否を判定し、描画可能であればアプリケーション統括モジュール１７またはアプリケーションモジュール１９に描画可能通知データを発する状態遷移検知部３２をアプリケーション統括モジュール１７に設けるとともに、描画可能通知データを受けたアプリケーション統括モジュール１７またはアプリケーションモジュール１９からの描画命令データにしたがって外部ハードウェア１５に描画を行なう描画ライブラリを備えるようにしたので、描画の可否を意識することなくアプリケーションモジュールを開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１４３】
また、この実施の形態１６によれば、アプリケーション統括モジュール１７またはアプリケーションモジュール１９から音声出力権要求データを受け取ると、このアプリケーション統括モジュール１７またはアプリケーションモジュール１９の音声出力可否を判定し、音声出力可能であればアプリケーション統括モジュール１７またはアプリケーションモジュール１９に音声出力可能通知データを発する状態遷移検知部３２をアプリケーション統括モジュール１７に設けるとともに、音声出力可能通知データを受けたアプリケーション統括モジュール１７またはアプリケーションモジュール１９からの音声出力命令データにしたがって外部ハードウェア１５から音声を出力する音声出力ライブラリを備えるようにしたので、音声出力の可否を意識することなくアプリケーションモジュールを開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１４４】
実施の形態１７．
図３６はこの発明の実施の形態１７による車載マルチメディア装置の構成を示す図である。既出の図と同一符号は同一または相当する構成である。
図３６中の符号６８はアプリケーション統括モジュール１７または各アプリケーションモジュール１９からの描画命令の制御を行うための描画ライブラリである。
【０１４５】
アプリケーションモジュール１９は描画が発生した際に、描画ライブラリ６８対して描画命令データを発生する。描画ライブラリ６８は、描画命令データを受けると、描画制御部にて、そのアプリケーションモジュール１９が描画可能かどうかを判定し、描画可能であれば描画を行う。描画不可能の場合は、アプリケーションモジュール１９に対して描画不可能の通知を行い、アプリケーションモジュール１９に描画を待機させる。
【０１４６】
なお、描画不可能の場合には、アプリケーションモジュール１９への描画不可能通知を行わずに描画ライブラリ６８内部で描画の待機を行っても良いし、また描画不可能通知を行なわずに、描画要求を破棄しても良い。
もちろん、描画を音声出力に置き換えても良い。図３６において、符号７４はアプリケーション統括モジュール１７または各アプリケーションモジュール１９からの音声出力命令の制御を行うための音声出力ライブラリである。
【０１４７】
アプリケーションモジュール１９は音声出力が発生した際に、音声出力ライブラリ７４に対して音声出力命令データを発生する。音声出力ライブラリ７４は、音声出力命令データを受けると、そのアプリケーションモジュール１９が音声出力可能かどうかを判定し、音声出力可能であれば音声出力を行う。音声出力不可能の場合は、アプリケーションモジュール１９に対して音声出力不可能の通知を行い、アプリケーションモジュール１９に音声出力を待機させる。
【０１４８】
なお、音声出力不可能の場合は、アプリケーションモジュール１９に音声出力不可能の通知を行わずに、音声出力ライブラリ７４内部で音声出力の待機を行っても良い。
また、音声出力不可能の場合は、アプリケーションモジュール１９に音声出力不可能通知を行なわずに、音声出力命令データを破棄しても良い。
描画ライブラリ６８は、アプリケーションが描画した画面上にアプリケーション統括モジュール１７が描画した内容を重畳表示することも可能である。
描画ライブラリ６８は、アプリケーション統括モジュール１７およびアプリケーションモジュール１９の描画順序を調整して、重畳表示を行うことも可能である。
さらに、描画する画像サイズは任意に調整することができる。
さらに、複数の描画を行なう際には、ディスプレイ９上の画面の分割をしても良く、分割数や分割サイズは任意に調節することが可能であり、特に限定されるものではない。
音声出力ライブラリ７４は、アプリケーション統括モジュール１７およびアプリケーションモジュール１９からの音声出力要求に対し、順序を調整して音声出力することも可能である。
【０１４９】
以上のように、この実施の形態１７によれば、アプリケーション統括モジュールまたはアプリケーションモジュールから受けた描画命令データに対して、描画可否を判定して描画可能であれば、ディスプレイ９に描画を行なう描画ライブラリを備えるようにしたので、描画の可否を意識することなく各モジュールを開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１５０】
また、この実施の形態１７によれば、アプリケーション統括モジュールまたはアプリケーションモジュールから受けた音声出力命令データに対して、音声出力可否を判定して音声出力可能であれば、外部ハードウェア１５から音声出力を行なう音声出力ライブラリ７４を備えるようにしたので、音声出力の可否を意識することなく各モジュールを開発することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１５１】
実施の形態１８．
図３７はこの実施の形態１８におけるアプリケーション統括モジュール１７の構成を示す図であり、図３８はこの発明の実施の形態１８による車載マルチメディア装置の構成を示す図である。
【０１５２】
図３７、図３８において、符号７７は画面データ７８を元に画面の表示を行う描画コントロール部であり、符号７８はアプリケーション統括モジュール１７の表示を行うために必要な画面データ部である。
画面データ部７８には、アプリケーション統括モジュール１７を表示するために必要なボタン／メニュー等の画面部品、その描画位置やアニメーション等の画面データが含まれている。
【０１５３】
アプリケーション統括モジュール１７が起動すると、描画コントロール部７７は、画面データ部７８中の描画位置に画面部品を描画する。アプリケーション統括モジュール１７の内部状態遷移により画面部品の描画が発生すると、描画コントロール部７７は画面データ部７８中に示される位置に画面部品の描画を実行する。また、画面部品の消去が発生すると、描画コントロール部７７は該当する画面部品の消去を実行する。
【０１５４】
アプリケーション統括モジュール１７の内部状態変化により、画面部品のアニメーションが発生すると、描画コントロール部７７は画面データ部７８中に含まれるアニメーションデータに基づき、画面データ部７８中の画面部品の描画および消去を逐次繰り返してアニメーションを実行する。
描画コントロール部７７および画面データ部７８は、操作画面ビルダを用いて自動生成することも可能である。
【０１５５】
以上のように、この実施の形態１８によれば、外部ハードウェア１５のディスプレイ９に描画を行なう描画コントロール部と、アプリケーション統括モジュール１７の描画を行う際に必要な画面データを記憶した画面データ部とをアプリケーション統括モジュール１７に備えるようにしたので、アプリケーション統括モジュール１７のグラフィックユーザインタフェースをアプリケーション統括モジュール１７内のその他の機能から独立して作成することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【０１５６】
実施の形態１９．
図３９はこの実施の形態１９におけるアプリケーションモジュール１９の構成を示す図であり、図４０はこの発明の実施の形態１９による車載マルチメディア装置の構成を示す図である。図４０では、アプリケーション統括モジュール１７だけでなく、各アプリケーションモジュール１９にも描画コントロール部および画面データ部を設けるようにしている。
【０１５７】
図３９、図４０中の符号７５は画面データ７６を元に画面の表示を行う描画コントロール部であり、符号７６はアプリケーションモジュール１９の表示を行うために必要な画面データ部である。画面データ部７６には、アプリケーションモジュール１９を表示するために必要なボタン／メニュー等の画面部品、その描画位置やアニメーション等の画面データが含まれている。
【０１５８】
アプリケーションモジュール１９が起動すると、描画コントロール部７５は、画面データ部７６中の描画位置に画面部品を描画する。アプリケーションモジュール１９の内部状態遷移により画面部品の描画が発生すると、描画コントロール部７５は画面データ部７６中に示される位置に画面部品の描画を実行する。また、画面部品の消去が発生すると、描画コントロール部７５は該当する画面部品の消去を実行する。
【０１５９】
アプリケーションモジュール１９の内部状態変化により、画面部品のアニメーションが発生すると、描画コントロール部７５は画面データ部７６中に含まれるアニメーションデータに基づき、画面データ部７６中の画面部品の描画および消去を逐次繰り返してアニメーションを実行する。
描画コントロール部７５および画面データ部７６は、操作画面ビルダを用いて自動生成することも可能である。
描画ライブラリの構成は、実施の形態１３，実施の形態１４のどちらの方法を用いても良い。
【０１６０】
以上のように、この実施の形態１９によれば、外部ハードウェア１５のディスプレイ９に描画を行なう描画コントロール部と、アプリケーションモジュール１９の描画を行う際に必要な画面データを記憶した画面データ部とをアプリケーションモジュール１９に備えるようにしたので、アプリケーションモジュール１９のグラフィックユーザインタフェースをアプリケーションモジュール１９内のその他の機能から独立して作成することができるようになり、車載マルチメディア装置の開発効率を向上することができるという効果が得られる。
【産業上の利用可能性】
【０１６１】
以上のように、この発明に係る車載マルチメディア装置は、自動車などの移動体に搭載され、ナビゲーションサービスに加えて、ハイパーテキスト閲覧やディジタルオーディオ制御などの機能を追加できる総合情報端末システムに適している。
【図面の簡単な説明】
【０１６２】
【図１】従来の車載マルチメディア装置のソフトウェア構成を示すブロック図である。
【図２】この発明の実施の形態１による車載マルチメディア装置のハードウェア構成を示すブロック図である。
【図３】この発明の実施の形態１による車載マルチメディア装置の構成を階層的に示す図である。
【図４】この発明の実施の形態１による車載マルチメディア装置の動作状態を示す図である。
【図５】この発明の実施の形態１による車載マルチメディア装置の最小構成を示す図である。
【図６】この発明の実施の形態１による車載マルチメディア装置の動作を示す図である。
【図７】車載マルチメディア装置の構成例を示す図である。
【図８】車載マルチメディア装置の構成例を示す図である。
【図９】車載マルチメディア装置の構成例を示す図である。
【図１０】車載マルチメディア装置の構成例を示す図である。
【図１１】車載マルチメディア装置の構成例を示す図である。
【図１２】この発明の実施の形態２による車載マルチメディア装置の構成を示す図である。
【図１３】この発明の実施の形態４による車載マルチメディア装置の構成を示す図である。
【図１４】この発明の実施の形態５による車載マルチメディア装置の構成を示す図である。
【図１５】この発明の実施の形態６による車載マルチメディア装置の構成を示す図である。
【図１６】この発明の実施の形態７による車載マルチメディア装置の構成を示す図である。
【図１７】この発明の実施の形態８による車載マルチメディア装置の構成を示す図である。
【図１８】この発明の実施の形態８におけるアプリケーション統括モジュールの構成を示す図である。
【図１９】この発明の実施の形態８による車載マルチメディア装置の構成である。
【図２０】この発明の実施の形態９におけるアプリケーションモジュールの構成を示す図である。
【図２１】実施の形態１で示したカーナビゲーション制御モジュールの構成を示す図である。
【図２２】実施の形態１で示した外部入出力制御モジュールの構成を示す図である。
【図２３】実施の形態１で示した開始画面制御モジュールの構成を示す図である。
【図２４】実施の形態１で示したハイパーテキスト閲覧モジュールの構成を示す図である。
【図２５】実施の形態１で示したディジタルオーディオ制御モジュールの構成を示す図である。
【図２６】この発明の実施の形態１０による車載マルチメディア装置の構成を示す図である。
【図２７】この発明の実施の形態１０による車載マルチメディア装置の構成を示す図である。
【図２８】この発明の実施の形態１１による車載マルチメディア装置の構成を示す図である。
【図２９】この発明の実施の形態１３による車載マルチメディア装置の構成を示す図である。
【図３０】この発明の実施の形態１３による車載マルチメディア装置の構成を示す図である。
【図３１】この発明の実施の形態１３による車載マルチメディア装置の構成を示す図である。
【図３２】この発明の実施の形態１４による車載マルチメディア装置の構成を示す図である。
【図３３】この発明の実施の形態１４による車載マルチメディア装置の他の構成を示す図である。
【図３４】この発明の実施の形態１５による車載マルチメディア装置の構成を示す図である。
【図３５】この発明の実施の形態１６による車載マルチメディア装置の構成を示す図である。
【図３６】この発明の実施の形態１７による車載マルチメディア装置の構成を示す図である。
【図３７】この発明の実施の形態１８におけるアプリケーション統括モジュール１７の構成を示す図である。
【図３８】この発明の実施の形態１８による車載マルチメディア装置の構成を示す図である。
【図３９】この発明の実施の形態１９におけるアプリケーションモジュールの構成を示す図である。
【図４０】この発明の実施の形態１９による車載マルチメディア装置の構成を示す図である。
【符号の説明】
【０１６３】
１  ＲＯＭ、２  マイクロプロセッサ、３  ＲＡＭ、４  外部記憶メディア、５  外部記憶装置ドライブ、６  外部記憶インタフェース（外部記憶Ｉ／Ｆ）、７  グラフィック制御回路、８  フレームバッファ、９  ディスプレイ、１０  ユーザ操作部、１１  操作部インタフェース（操作部Ｉ／Ｆ）、１２  周辺機器、１３  周辺機器インタフェース（周辺機器Ｉ／Ｆ）、１４  車載マルチメディア装置、１５  外部ハードウェア、１６  ソフトウェア、１７  アプリケーション統括モジュール、１８  アプリケーションモジュール群、１９  アプリケーションモジュール、２０  外部入出力制御モジュール、２１  カーナビゲーション制御モジュール、２２  開始画面制御モジュール、２３  ハイパーテキスト閲覧モジュール、２４  ディジタルオーディオ制御モジュール、２５  ＨＭＩ装置、２６  キーボード、２７  リモコン、２８  音声マイク、２９  文字読み取り装置、３０  音声認識部、３１  文章読上げ部、３２  状態遷移検知部、３３  命令解釈部、３４  命令変換部、３５  アプリケーション存在フラグ、３６，４１  通信インタフェース部（通信Ｉ／Ｆ部）、３７  アプリケーション統括モジュールアプリケーション部、３８  共通通信インタフェース部、３９  アプリケーション統括モジュール命令解析部、４２  アプリケーションモジュールアプリケーション部、４４  命令解析部、４５  カーナビゲーション制御モジュールインタフェース部（通信インタフェース部）、４６  カーナビゲーション制御モジュールアプリケーション部、４８  カーナビゲーション制御モジュール命令解析部、４９  外部入出力制御モジュールインタフェース部（通信インタフェース部）、５０  外部入出力制御モジュールアプリケーション部、５１  外部入出力装置インタフェース部、５４  開始画面制御モジュールインタフェース部（通信インタフェース部）、５５  開始画面制御モジュールアプリケーション部、５８  ハイパーテキスト閲覧モジュールインタフェース部（通信インタフェース部）、５９  ハイパーテキスト閲覧モジュールアプリケーション部、６１  ハイパーテキスト閲覧モジュール命令解析部、６２  ディジタルオーディオ制御モジュールインタフェース部（通信インタフェース部）、６３  ディジタルオーディオ制御モジュールアプリケーション部、６５  ディジタルオーディオ制御モジュール命令解析部、６６  アプリケーション入れ替え部、６７  ライブラリ群、６８  描画ライブラリ、６９  数値計算ライブラリ、７０  画面レイアウトライブラリ、７４  音声出力ライブラリ、７５，７７  描画コントロール部、７６，７８  画面データ部。
【図１】
0004837594.tif 000002
【図２】
0004837594.tif 000003
【図３】
0004837594.tif 000004
【図４】
0004837594.tif 000005
【図５】
0004837594.tif 000006
【図６】
0004837594.tif 000007
【図７】
0004837594.tif 000008
【図８】
0004837594.tif 000009
【図９】
0004837594.tif 000010
【図１０】
0004837594.tif 000011
【図１１】
0004837594.tif 000012
【図１２】
0004837594.tif 000013
【図１３】
0004837594.tif 000014
【図１４】
0004837594.tif 000015
【図１５】
0004837594.tif 000016
【図１６】
0004837594.tif 000017
【図１７】
0004837594.tif 000018
【図１８】
0004837594.tif 000019
【図１９】
0004837594.tif 000020
【図２０】
0004837594.tif 000021
【図２１】
0004837594.tif 000022
【図２２】
0004837594.tif 000023
【図２３】
0004837594.tif 000024
【図２４】
0004837594.tif 000025
【図２５】
0004837594.tif 000026
【図２６】
0004837594.tif 000027
【図２７】
0004837594.tif 000028
【図２８】
0004837594.tif 000029
【図２９】
0004837594.tif 000030
【図３０】
0004837594.tif 000031
【図３１】
0004837594.tif 000032
【図３２】
0004837594.tif 000033
【図３３】
0004837594.tif 000034
【図３４】
0004837594.tif 000035
【図３５】
0004837594.tif 000036
【図３６】
0004837594.tif 000037
【図３７】
0004837594.tif 000038
【図３８】
0004837594.tif 000039
【図３９】
0004837594.tif 000040
【図４０】
0004837594.tif 000041