(57)【要約】【課題】ユーザインタフェースを円滑に実施することができるナビゲーション装置を提供すること。【解決手段】オペレーティングシステム２００は、入力されるメッセージを保持するメッセージキュー２１０と、操作部３２０の操作に対応して出力されたメッセージがメッセージキュー２１０から読み出されたときに所定のユーザインタフェースを実現するＧＵＩ処理部２１２とを有し、メッセージキュー２１０に保持されたメッセージを入力順に読み出して処理する。メッセージスケジューリング処理部１２０は、複数の処理部１１０〜１１６からメッセージが出力されたときに、各処理部のそれぞれについて、メッセージをオペレーティングシステム２００に向けて出力するタイミングを調整する。【選択図】        図１
2004294143.tif 000002
【特許請求の範囲】
【請求項１】
入力されるメッセージを保持するメッセージキューと、操作部の操作に対応して出力されたメッセージが前記メッセージキューから読み出されたときに所定のユーザインタフェースを実現するユーザインタフェース手段とを有し、前記メッセージキューに保持された前記メッセージを入力順に読み出して処理するオペレーティングシステムと、
それぞれが所定の処理を実行し、互いに非同期に前記メッセージを出力する複数の処理手段と、
前記複数の処理手段から前記メッセージが出力されたときに、前記複数の処理手段のそれぞれについて、前記メッセージを前記オペレーティングシステムに向けて出力するタイミングを調整するメッセージスケジューリング処理手段と、
を備えることを特徴とするナビゲーション装置。
【請求項２】
請求項１において、
前記メッセージスケジューリング処理手段は、前記複数の処理手段のそれぞれについて、一の前記メッセージが出力されてから所定時間経過するまで次の前記メッセージの出力を停止することを特徴とするナビゲーション装置。
【請求項３】
請求項２において、
前記メッセージスケジューリング処理手段によって前記メッセージの出力が停止される前記所定時間は、ディスプレイ装置の表示画面を切り替える時間間隔と同じであることを特徴とするナビゲーション装置。
【請求項４】
請求項１〜３のいずれかにおいて、
前記メッセージスケジューリング処理手段は、前記複数の処理手段のそれぞれから出力される複数の前記メッセージの内容が同じであるときに、これらのメッセージの内容を加工した一のメッセージを生成して、これらのメッセージの代わりに前記オペレーティングシステムに向けて出力することを特徴とするナビゲーション装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の処理において発生する各種のメッセージを処理する機能を有するナビゲーション装置に関する。
【０００２】
【従来の技術】
最近のナビゲーション装置の中には、インターネット等の通信機能を備えたり、ラジオ受信機やオーディオ装置としての機能を併せ持ったものがあり、高機能化および多機能化が進んでいる。このようなナビゲーション装置は、ＲＯＭやＲＡＭあるいはハードディスク装置等に格納されたプログラムをプロセッサで実行することにより所定の処理を行うコンピュータとして動作するものであり、車載機としての特殊な仕様を実現するために専用のオペレーティングシステム（ＯＳ）が用いられる場合が多い。
【０００３】
しかし、最近では、操作性をできるだけ一般のパソコン（パーソナルコンピュータ）等と共通にするとともに、パソコン等で用いられるソフトウエアをそのまま使うために、汎用のオペレーティングシステムを使いたいという要求がある。例えば、オペレーティングシステムとしてマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）を採用することにより、インターネットの閲覧ソフトやその他のソフトウエアは、パソコン用に開発したものをそのままあるいは少しの改良で車載のナビゲーション装置でも使えるようになる。
【０００４】
ところで、このような汎用のオペレーティングシステムで各種の処理を並列に実行するために、各処理において発生したメッセージをメッセージキューに格納し、これらのメッセージを格納順に処理する手法が知られている（例えば、特許文献１参照。）。メッセージキューに保持されたメッセージをオペレーティングシステムによって順番に処理することにより、複数の処理を擬似的に並列に実行することができる。この手法を用いることにより、汎用のオペレーティングシステムを用いた車載のナビゲーション装置においても、経路探索処理や車両の走行状態監視処理等と並行して各種のメニュー画面の表示処理等を実行することが可能になる。
【０００５】
【特許文献１】
特開２００１−２４３０９２号公報（第４−５頁、図１−３）
【０００６】
【発明が解決しようとする課題】
ところで、特許文献１などに開示されたメッセージキューを用いて各種の処理において発生したメッセージを処理する手法では、ユーザインタフェースとしてのメニュー画面の表示を指示する操作（例えばリモコンユニットの特定キーを押下してメニュー画面の表示を指示する操作）と、経路探索処理等のユーザインタフェースと直接関係しない処理とが並列に扱われ、それぞれにおいて発生するメッセージが同等にメッセージキューに保持されて処理される。このため、ユーザインタフェースに直接関連しない処理に対応して頻繁にメッセージが出力されると、ユーザインタフェースの操作に関連するメッセージが実際に処理されるまでの時間が長くなり、例えばメニュー画面の表示を指示しても実際に表示されるまでに時間がかかることになり、ユーザインタフェースの円滑な実施が困難になるという問題があった。
【０００７】
本発明は、このような点に鑑みて創作されたものであり、その目的は、ユーザインタフェースを円滑に実施することができるナビゲーション装置を提供することにある。
【０００８】
【課題を解決するための手段】
上述した課題を解決するために、本発明のナビゲーション装置は、オペレーティングシステムと複数の処理手段とメッセージスケジューリング処理手段とを備えている。オペレーティングシステムは、入力されるメッセージを保持するメッセージキューと、操作部の操作に対応して出力されたメッセージがメッセージキューから読み出されたときに所定のユーザインタフェースを実現するユーザインタフェース手段とを有し、メッセージキューに保持されたメッセージを入力順に読み出して処理する。複数の処理手段は、それぞれが所定の処理を実行し、互いに非同期にメッセージを出力する。メッセージスケジューリング処理手段は、複数の処理手段からメッセージが出力されたときに、複数の処理手段のそれぞれについて、メッセージをオペレーティングシステムに向けて出力するタイミングを調整する。これにより、複数の処理手段のそれぞれから多数のメッセージが連続して出力された場合であっても、メッセージスケジューリング処理手段において、各処理手段毎にオペレーティングシステムに向けてメッセージを出力するタイミングが調整されるため、オペレーティングシステムにおいてユーザインタフェース手段に対応するメッセージを短い時間間隔で確実に処理することが可能になり、ユーザインタフェースを円滑に実施することができる。
【０００９】
また、上述したメッセージスケジューリング処理手段は、複数の処理手段のそれぞれについて、一のメッセージが出力されてから所定時間経過するまで次のメッセージの出力を停止することが望ましい。これにより、所定時間内に各処理手段からオペレーティングシステムに向けて出力されるメッセージの最大数を処理手段の数と同じにすることができるため、メッセージキューに保持された未処理のメッセージが増加しすぎてユーザインタフェース用のメッセージの処理が遅れる事態を回避することができる。
【００１０】
また、上述したメッセージスケジューリング処理手段によってメッセージの出力が停止される所定時間は、ディスプレイ装置の表示画面を切り替える時間間隔と同じであることが望ましい。これにより、操作部が操作されてから操作画面を表示するまでの時間を、表示画面を切り替える時間間隔に合わせることが可能になり、操作画面を表示するまでの遅延をなくすことができる。
【００１１】
また、上述したメッセージスケジューリング処理手段は、複数の処理手段のそれぞれから出力される複数のメッセージの内容が同じであるときに、これらのメッセージの内容を加工した一のメッセージを生成して、これらのメッセージの代わりにオペレーティングシステムに向けて出力することが望ましい。これにより、オペレーティングシステムに向けて出力されるメッセージの数自体を減らすことができ、オペレーティングシステムにおいてユーザインタフェース手段に対応するメッセージをさらに短い時間間隔で処理することが可能になり、ユーザインタフェースをさらに円滑に実施することができる。
【００１２】
【発明の実施の形態】
以下、本発明を適用した一実施形態の車載用のナビゲーション装置について、図面を参照しながら説明する。
図１は、一実施形態のナビゲーション装置の構成を示す図である。図１に示すナビゲーション装置は、地図表示や経路探索処理、施設検索処理等の通常のナビゲーション装置の機能の他に、オーディオ装置として必要な処理機能が追加されたものであり、アプリケーション処理部１００、オペレーティングシステム２００、デバイスドライバ３００、３１０、操作部３２０、ディスプレイ装置３３０を含んで構成されている。
【００１３】
なお、アプリケーション処理部１００やオペレーティングシステム２００、デバイスドライバ３００、３１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を用いて所定の動作プログラムを実行することによりその機能が実現される。また、オペレーティングシステム２００は、例えば、汎用されているマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）が用いられている。
【００１４】
アプリケーション処理部１００は、所定のアプリケーションプログラムを実行することにより各種の処理を実施するためのものであり、カーナビゲーション処理部１１０、オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６、メッセージスケジューリング処理部１２０を含んで構成されている。カーナビゲーション処理部１１０は、ナビゲーション装置としての動作に必要な地図描画処理、経路探索処理、経路誘導処理、施設検索処理等の各種の処理を行う。なお、地図描画処理によって作成された地図画像の描画データは、オペレーティングシステム２００を介さずにディスプレイ装置３３０に送られ、ディスプレイ装置３３０の表示画面上に地図画像が表示される。オーディオ処理部１１２は、オーディオ装置としての動作に必要なボリュームコントロール処理、ＣＤプレーヤやＭＤプレーヤ等における選曲処理等の各種の処理を行う。ドア開閉処理部１１４は、このナビゲーション装置が搭載された車両の左右ドアの開閉状態を検出する処理を行う。車両走行処理部１１６は、車両の走行状態を検出する処理を行う。
【００１５】
メッセージスケジューリング処理部１２０は、カーナビゲーション処理部１１０、オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６のそれぞれから出力される各種のメッセージを受け付けて、それぞれの処理部から受け付けたメッセージを所定の時間間隔でオペレーティングシステム２００に向けて出力する。例えば、カーナビゲーション処理部１１０から、オペレーティングシステム２００に対する処理要求として多数のメッセージが連続して出力されたときに、メッセージスケジューリング処理部１２０は、この多数のメッセージを入力順に一つずつ抽出し、所定間隔でこのメッセージをオペレーティングシステム２００に向けて出力する。オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６についても同様であり、メッセージスケジューリング処理部１２０は、それぞれの処理部から多数のメッセージが連続して出力されたときに、各処理部毎にメッセージを一つずつ入力順に抽出し、所定間隔でこのメッセージをオペレーティングシステム２００に向けて出力する。
【００１６】
また、オペレーティングシステム２００は、アプリケーション処理部１００の機能を実施するために各種のアプリケーションプログラムを実行したり、デバイスドライバ３００を介して操作部３２０からメッセージを受け付けてこのメッセージに応じた処理を実行したり、デバイスドライバ３１０を介してディスプレイ装置３３０に操作画面等を表示する。また、このオペレーティングシステム２００は、メッセージキュー２１０とＧＵＩ（グラフィカル・ユーザ・インタフェース）処理部２１２を備えている。メッセージキュー２１０は、アプリケーション処理部１００内のメッセージスケジューリング処理部１２０等からオペレーティングシステム２００に入力されるメッセージを入力順に保持する。この保持されたメッセージは入力順に読み出され、各メッセージに対応する処理が実行される。ＧＵＩ処理部２１２は、画像を用いたユーザインタフェースを実現するためのものであり、ＧＵＩ用のメッセージがメッセージキュー２１０に入力されて実行されると、このメッセージに対応する操作画面が作成される。
【００１７】
デバイスドライバ３００は、操作部３２０を用いた入力動作を制御するものであり、操作部３２０が操作されるとその操作内容に応じたメッセージを出力する。このメッセージは、メッセージスケジューリング処理部１２０から出力されるメッセージとともに、オペレーティングシステム２００のメッセージキュー２１０に入力順に保持される。操作部３２０は、ナビゲーション装置に対して利用者が各種の動作指示を与えるためのものであり、例えばリモコンユニットやタッチパネル等が用いられる。
【００１８】
デバイスドライバ３１０は、ディスプレイ装置３３０による画像の表示動作を制御するものであり、オペレーティングシステム２００のＧＵＩ処理部２１２によって作成された操作画面をディスプレイ装置３３０に表示する。なお、上述したように、カーナビゲーション処理部１１０によって作成された地図画像は、オペレーティングシステム２００を通さずに直接ディスプレイ装置３３０に表示される。
【００１９】
上述したカーナビゲーション処理部１１０、オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６が複数の処理手段に、メッセージスケジューリング処理部１２０がメッセージスケジューリング処理手段に、ＧＵＩ処理部２１２がユーザインタフェース手段にそれぞれ対応する。
【００２０】
本実施形態のナビゲーション装置はこのような構成を有しており、次に、各種のメッセージが並行して入力されるメッセージスケジューリング処理部１２０の動作について説明する。
図２は、メッセージスケジューリング処理部１２０の動作手順を示す流れ図である。メッセージスケジューリング処理部１２０は、各処理部（カーナビゲーション処理部１１０、オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６）からメッセージを取り込み（ステップ１００）、この取り込んだメッセージを各処理部毎に保持する（ステップ１０１）。
【００２１】
次に、メッセージスケジューリング処理部１２０は、各処理部毎に取り込んだメッセージの内容を調べ、同じものがあるか否かを判定する（ステップ１０２）。同じ内容のメッセージがある場合には肯定判断が行われ、次に、メッセージスケジューリング処理部１２０は、これらを一つのメッセージに加工する処理を行う（ステップ１０３）。例えば、メッセージの内容にこのメッセージの繰り返し回数を追加する加工が行われる。これにより、各処理部から同じ内容のメッセージが繰り返し出力された場合に、メッセージスケジューリング処理部１２０からオペレーティングシステム２００に向けて出力されるメッセージの数を減らすことができる。
【００２２】
メッセージの加工が終了した後、あるいは、同じ内容のメッセージがない場合にはステップ１０２の判定において否定判断が行われた後、メッセージスケジューリング処理部１２０は、各処理部毎に、前回のメッセージ出力から所定時間が経過したか否かを判定する（ステップ１０４）。例えば、ディスプレイ装置３３０における画面の更新タイミングである垂直同期信号の出力間隔である１６．７ｍｓの時間が経過したか否かが判定される。所定時間が経過していない場合にはステップ１０４の判定において否定判断が行われ、上述したステップ１００に戻ってメッセージの取り込み動作以降の処理が繰り返される。また、前回のメッセージ出力から所定時間が経過している場合にはステップ１０４の判定において肯定判断が行われ、次に、メッセージスケジューリング処理部１２０は、各処理部毎に一つのメッセージをオペレーティングシステム２００に向けて出力する（ステップ１０５）。
【００２３】
このように、複数の処理部１１０〜１１６のそれぞれから多数のメッセージが連続して出力された場合であっても、メッセージスケジューリング処理部１２０において、各処理部毎にオペレーティングシステム２００に向けてメッセージを出力するタイミングが調整されるため、オペレーティングシステム２００においてＧＵＩ処理部２１２に対応するメッセージを短い時間間隔で確実に処理することが可能になり、ユーザインタフェースを円滑に実施することができる。
【００２４】
また、メッセージスケジューリング処理部１２０によって、複数の処理部のそれぞれについて、一のメッセージが出力されてから所定時間経過するまでオペレーティングシステム２００に向けた次のメッセージの出力を停止することにより、所定時間内に各処理部からオペレーティングシステム２００に向けて出力されるメッセージの最大数を処理部の数と同じにすることができるため、メッセージキュー２１０に保持された未処理のメッセージが増加しすぎてＧＵＩ処理部２１２用のメッセージの処理が遅れる事態を回避することができる。
【００２５】
特に、メッセージスケジューリング処理部１２０によってメッセージの出力が停止される所定時間を、ディスプレイ装置３３０の表示画面を切り替える時間間隔と同じにすることにより、操作部３２０が操作されてから操作画面を表示するまでの時間を、表示画面を切り替える時間間隔に合わせることが可能になり、操作画面を表示するまでの遅延をなくすことができる。
【００２６】
また、複数の処理部のそれぞれから出力される複数のメッセージの内容が同じであるときに、これらのメッセージの内容を加工した一のメッセージが生成されるため、メッセージスケジューリング処理部１２０からオペレーティングシステム向けて出力されるメッセージの数自体を減らすことができ、オペレーティングシステム２００においてＧＵＩ処理部２１２に対応するメッセージをさらに短い時間間隔で処理することが可能になり、ユーザインタフェースをさらに円滑に実施することができる。
【００２７】
なお、本発明は上記実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形実施が可能である。例えば、上述した実施形態では、アプリケーション処理部１００に４つの処理部（カーナビゲーション処理部１１０、オーディオ処理部１１２、ドア開閉処理部１１４、車両走行処理部１１６）が備わっている場合を説明したが、処理部の数および内容は適宜変更可能である。
【００２８】
また、上述した実施形態では、メッセージスケジューリング処理部１２０から各処理部のそれぞれについてメッセージをオペレーティングシステム２００に向けて出力する間隔を表示画面の切り替えタイミングに合わせたが、この間隔はオペレーティングシステム２００による各メッセージの処理時間等を考慮して変更するようにしてもよい。例えば、オペレーティングシステム２００による各メッセージの処理時間が短い場合には、表示画面の切り替え間隔に対応させて２つあるいはそれ以上のメッセージの出力を許容するようにしてもよい。反対に、オペレーティングシステム２００による各メッセージの処理時間が遅い場合には、２画面あるいはそれ以上の表示画面の表示間隔毎に一つのメッセージが出力されるようにしてもよい。
【００２９】
【発明の効果】
上述したように、本発明によれば、複数の処理手段のそれぞれから多数のメッセージが連続して出力された場合であっても、メッセージスケジューリング処理手段において、各処理手段毎にオペレーティングシステムに向けてメッセージを出力するタイミングが調整されるため、オペレーティングシステムにおいてユーザインタフェース手段に対応するメッセージを短い時間間隔で確実に処理することが可能になり、ユーザインタフェースを円滑に実施することができる。
【図面の簡単な説明】
【図１】一実施形態のナビゲーション装置の構成を示す図である。
【図２】メッセージスケジューリング処理部の動作手順を示す流れ図である。
【符号の説明】
１００  アプリケーション処理部
１１０  カーナビゲーション処理部
１１２  オーディオ処理部
１１４  ドア開閉処理部
１１６  車両走行処理部
１２０  メッセージスケジューリング処理部
２００  オペレーティングシステム（ＯＳ）
２１０  メッセージキュー
２１２  ＧＵＩ（グラフィカル・ユーザ・インタフェース）処理部
３００、３１０  デバイスドライバ
３２０  操作部
３３０  ディスプレイ装置
【図１】
2004294143.tif 000003
【図２】
2004294143.tif 000004