(57)【要約】【課題】送信されてきたスクリプトに従って、条件を含んだ複合処理を自動的に行わせるようにする。【解決手段】所定の通信ポートから入力されたスクリプトは、逐次、構文／意味解析部２１によって解析され、次に、実行処理部２３によって、解析されたスクリプトが実行される。このとき、システムに依存する処理は、オペレーティングシステムを介して行われる。スクリプトライブラリ２２は、スクリプトで書かれた機能の集合体であり、適宜、構文／意味解析部２１によって参照される。データ領域２４には、スクリプト実行のためのトークンが格納される。【選択図】図２
2007109263.tif 000002
【特許請求の範囲】
【請求項１】
所定の条件に従って行われる処理を記述したスクリプトを受信する受信手段と、
前記受信手段によって受信された前記スクリプトを解釈する解釈手段と、
前記解釈手段によって解釈された前記スクリプトに従って、前記スクリプトに対応する処理を実行する実行手段と
を備えることを特徴とする制御装置。
【請求項２】
前記スクリプトは、少なくとも所定の実行条件と前記実行条件に対応する実行文、所定の繰り返し条件と前記繰り返し条件に対応する実行文、条件なしの実行文のうちのいずれか１つを含む
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記実行手段による実行結果を送信する送信手段
をさらに備えることを特徴とする請求項１に記載の制御装置。
【請求項４】
前記スクリプトが対応づけられたアイコンを表示するアイコン表示手段をさらに備え、
前記アイコンが選択されたとき、前記解釈手段は、前記アイコンに対応づけられた前記スクリプトを解釈し、前記実行手段は、前記解釈手段によって解釈された前記スクリプトに従って、前記スクリプトに対応する処理を実行する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
所定の条件に従って行われる処理を記述したスクリプトが対応づけられたアイコンを表示するアイコン表示手段と、
前記アイコンが選択されたとき、前記アイコンに対応する前記スクリプトを解釈する解釈手段と、
前記解釈手段によって解釈された前記スクリプトに従って、前記スクリプトに対応する処理を実行する実行手段と
を備えることを特徴とする制御装置。
【請求項６】
所定の条件に従って行われる処理を記述したスクリプトを受信し、
受信された前記スクリプトを解釈し、
解釈された前記スクリプトに従って、前記スクリプトに対応する処理を実行する
ことを特徴とする制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置および制御方法に関し、例えば、スクリプトで記述された一連の操作や手順を実行する制御装置および制御方法に関する。
【背景技術】
【０００２】
従来のナビゲーションシステムにおいて、例えば、ユーザの運転する自動車（以下、自車と略記する）が、出発地から目的地まで移動する間に、所定の時間間隔で地図上の自車の位置（緯度・経度）に所定のマークを貼り付けたり、所定の位置に自車が移動したとき、地図の縮尺を変更させたりするような場合、所定の時間間隔が経過した、あるいは、所定の位置に自車が移動したというイベントが発生する度に、ユーザ自身が所定のオペレーションを行い、所望の処理を行わせるようにすることが考えられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このように、所定のイベントに対して、所望の処理を行わせる場合、イベントが発生する度に、逐一、所望の処理を行わせるためのオペレーションをユーザ自身が行わなければならず、操作が煩雑である課題があった。
【０００４】
また、所望の結果を得るための一連の処理を自律的に行わせ、その結果を得るというようなことができない課題があった。
【０００５】
本発明はこのような状況に鑑みてなされたものであり、所定のイベントに対して、対応する処理を自動的に行わせるとともに、一連の処理を自律的に行わせることができるようにするものである。
【課題を解決するための手段】
【０００６】
請求項１に記載の制御装置は、所定の条件に従って行われる処理を記述したスクリプトを受信する受信手段と、受信手段によって受信されたスクリプトを解釈する解釈手段と、解釈手段によって解釈されたスクリプトに従って、スクリプトに対応する処理を実行する実行手段とを備えることを特徴とする。
【０００７】
請求項５に記載の制御装置は、所定の条件に従って行われる処理を記述したスクリプトが対応づけられたアイコンを表示するアイコン表示手段と、アイコンが選択されたとき、アイコンに対応するスクリプトを解釈する解釈手段と、解釈手段によって解釈されたスクリプトに従って、スクリプトに対応する処理を実行する実行手段とを備えることを特徴とする。
【０００８】
請求項６に記載の制御方法は、所定の条件に従って行われる処理を記述したスクリプトを受信し、受信したスクリプトを解釈し、解釈されたスクリプトに従って、スクリプトに対応する処理を実行することを特徴とする。
【０００９】
請求項１に記載の制御装置においては、受信手段が、所定の条件に従って行われる処理を記述したスクリプトを受信し、解釈手段が、受信手段によって受信されたスクリプトを解釈し、実行手段が、解釈手段によって解釈されたスクリプトに従って、スクリプトに対応する処理を実行する。
【００１０】
請求項５に記載の制御装置においては、アイコン表示手段が、所定の条件に従って行われる処理を記述したスクリプトが対応づけられたアイコンを表示し、アイコンが選択されたとき、解釈手段が、アイコンに対応するスクリプトを解釈し、実行手段が、解釈手段によって解釈されたスクリプトに従って、スクリプトに対応する処理を実行する。
【００１１】
請求項６に記載の制御方法においては、所定の条件に従って行われる処理を記述したスクリプトを受信し、受信したスクリプトを解釈し、解釈されたスクリプトに従って、スクリプトに対応する処理を実行する。
【発明の効果】
【００１２】
請求項１に記載の制御装置、および請求項６に記載の制御方法によれば、所定の条件に従って行われる処理を記述したスクリプトを受信し、受信したスクリプトを解釈し、解釈されたスクリプトに従って、スクリプトに対応する処理を実行するようにしたので、スクリプトを外部から転送することにより、スクリプトに従った複合処理を自動的に実行させることができ、機器の操作を簡便にすることができる。
【００１３】
請求項５に記載の制御装置によれば、アイコン表示手段が、所定の条件に従って行われる処理を記述したスクリプトが対応づけられたアイコンを表示し、アイコンが選択されたとき、解釈手段が、アイコンに対応するスクリプトを解釈し、実行手段が、解釈手段によって解釈されたスクリプトに従って、スクリプトに対応する処理を実行するようにしたので、アイコンを選択するだけで、スクリプトに従った複合処理を行わせることができる。
【発明を実施するための最良の形態】
【００１４】
図１は、本発明を適用したナビゲーションシステムの構成例を示すブロック図である。ナビゲーションシステムは、アプリケーション機能部分、汎用処理部分、および図示せぬ外部装置との間でデータやスクリプトの受け渡しを行うインタフェース（Ｉ／Ｆ）部１４（受信手段、送信手段）より構成されている。アプリケーション機能部分において、ＣＣＤ（Charge Coupled Device）部（カメラ）１は、所定の画像に対応する映像信号を出力するようになされている。画像フォーマット生成部２は、ＣＣＤ部１より供給された映像信号を所定の規則に従ってフォーマット化し、出力するようになされている。
【００１５】
表示部３（アイコン表示手段）は、所定の画像や文字を表示したり、後述するアイコン、カーソル、および所定の形状のマーク等を表示するようになされている。マイク部４は、所定の音声を入力し、対応する音声信号を出力する。Ａ／Ｄ部５は、マイク部４より供給されたアナログの音声信号を、ディジタルの音声信号に変換し、出力するようになされている。
【００１６】
Ｄ／Ａ部６は、ディジタルの音声信号をアナログの音声信号に変換するようになされている。スピーカ部７は、Ｄ／Ａ部６より供給されたアナログの音声信号に対応する音声を出力するようになされている。
【００１７】
位置データ取得部８は、例えば、複数のＧＰＳ（Global Positioning System）衛星からの電波を受信し、所定の演算を行うことにより、現在位置を取得し、対応する位置データを出力するようになされている。電子地図データ記憶部９は、所定の地図データを記憶し、必要に応じて出力するようになされている。
【００１８】
汎用処理部分において、操作部１０は、例えば、キーボード、ジョイスティック、あるいはタッチパネル等からなり、所定の動作を指示したり、所定のデータやスクリプト等を入力することができるようになされている。ＣＰＵ（Central Processing Unit）１１は、後述するメモリ１２に記憶されているアプリケーションプログラムに従って動作し、各種の処理を実行するようになされている。
【００１９】
メモリ１２は、アプリケーションプログラムや、ＣＰＵ１１が各種の処理を実行するとき必要な命令やデータ等を記憶するようになされている。蓄積用メモリ１３は、後述するスクリプトライブラリ等のデータを蓄積するようになされている。この蓄積用メモリ１３は、例えば、半導体メモリ、光ディスク等の記録媒体によって実現することができる。
【００２０】
インタフェース（Ｉ／Ｆ）部１４を介して、例えば、ＩＥＥＥ−４８８（ＧＰＩＢ（General Purpose Interface Bus））等のパラレル信号、ＲＳ２３２Ｃ等のシリアル信号で通信を行う方法が考えられるが、双方向で通信ができればよい。また、図示せぬ外部装置との接続についても、有線（例えば、フラットケーブル、ピンジャック、プラグ等）で行ってもよいし、無線（例えば、電波、赤外線等）で行ってもよい。
【００２１】
このように、このナビゲーションシステムは、単に地図を表示部３に表示し、目的地まで誘導するだけでなく、ＣＣＤ部１やマイク部４を備え、所定の被写体の画像を撮影したり、所定の音声を録音することができるようになされている。
【００２２】
図２は、スクリプトを逐次、解釈し、実行するソフトウェア（インタプリタ）の構成例を示す図である。スクリプトライブラリ２２は、スクリプトで書かれた機能の集合体であり、スクリプトに応じて蓄積用メモリ１３に蓄積されたり、蓄積用メモリ１３から呼び出されて使用される。
【００２３】
構文／意味解析部２１（解釈手段）は、Ｉ／Ｆ部１４を介して外部装置から入力されたスクリプトで記述された文を読み込み、定められた構文規則から外れていないかをチェックすることにより構文解析を行い、さらに後述する意味解析を行うようになされている。ここで、スクリプトのデータフォーマットは、バイナリコード、およびＡＳＣＩＩコード（文字列）のいずれも可能である。ただし、スクリプトはＡＳＣＩＩコードで記述されるため、バイナリコードの場合、ＡＳＣＩＩコードへの変換を行う必要がある。
【００２４】
構文解析の結果、文に誤りがなければ、実行処理部２３（実行手段）に文が渡される。従って、スクリプトの文法は、上記構文規則によって定められるところによる。また、構文／意味解析部２１から実行処理部２３に渡される文の単位を、単文にするか複文にするかは、実行処理部２３側に依存する。
【００２５】
実行処理部２３は、定められた規則に従い、文を実行するようになされている。ただし、システムに依存する制御は直接実行せず、オペレーティングシステム２６を介して行うようになされている。
【００２６】
データ領域２４は、スクリプト実行のためのトークン（予約語、識別子等）テーブルや、定数、変数等を格納するようになされている。また、ライブラリ２５は、入出力処理等のシステムに依存する、例えば、ハードウェアを直接制御するためのデバイスドライバ等のプログラムが格納されている。
【００２７】
なお、実行処理部２３によってスクリプトが実行された結果を出力する出力形態（データ形式等）については、特に限定しない。
【００２８】
また、ナビゲーションプログラム２７は、ナビゲーションシステムの本来の機能を動作させるためのプログラムである。
【００２９】
図３は、スクリプトの具体的な例を示す図である。説明上、
条件判断文は、
「ｉｆ  （実行条件）  ｔｈｅｎ  （実行文）  ｅｎｄｉｆ」、
繰り返し文は、
「ｗｈｉｌｅ  （繰り返し条件）  ｄｏ  （実行文）  ｅｎｄｗｈｉｌｅ」
の文法に従うものと仮定する。
【００３０】
この文法に従うと、図３に示したスクリプトは、「緯度・経度が××××である場合において、時刻が○○○○であるとき、所定のメッセージを出力する」という処理を表している。また、図４に示したスクリプトは、「◇◇時間まで、△△時間経過する毎に、緯度・経度を保存し、年・月・日・時・分・秒を保存する処理を繰り返す」という処理を表している。さらに、図５に示したスクリプトは、「△△時間経過する毎に、画像を取り込むとともに、音声を所定の時間だけ録音する処理を繰り返す」という処理を表している。ただし、図３乃至図５において、文字列「××××」には任意の緯度・経度を表す数字が入り、文字列「○○○○」、「△△」、「◇◇」には、それぞれ任意の時刻または時間を表す数字が入るものとする。
【００３１】
図３乃至図５に示したスクリプトは、例であってその他、様々な処理をスクリプトによって記述することができる。また、それらを組み合わせることにより、さらに複雑な処理をスクリプトで記述することも充分に可能である。
【００３２】
図６は、スクリプトを解析し、実行するまでの処理手順を示す図である。ここでは、図６（ａ）に示すように、図５に示したスクリプトに対応するものが入力されるものとする。即ち、
【００３３】
ｉｆ（ｔｉｍｅ＿ｂ−ｔｉｍｅ＿ａ）＞６０  ｔｈｅｎ
ｉｎｐ＿ｐｉｃｔｕｒｅ（）
ｒｅｃ＿ｖｏｉｃｅ（）
ｅｎｄｉｆ
【００３４】
入力された上記スクリプト（文字列（ＡＳＣＩＩコードからなる））は、構文／意味解析部２１により、字句解析処理が行われる。即ち、意味のある単語（予約語、識別子、演算子）の列に変換される。これらの単語は上述したようにトークンと呼ばれ、システムが予めトークンテーブルとしてデータ領域２４に保持しており、構文／意味解析部２１は、入力されたスクリプトを最初から見ていき、トークンテーブルにそれと合致するトークンがあれば、それをトークンと認識する。
【００３５】
次に、図６（ｂ）に示したように、構文／意味解析部２１によって、構文解析処理が行われる。単語（トークン）の出現する順序が、規定された文法に則っているか否かの解析が、単語列中の予約語（特に最初に出現した予約語）に注目して行われる。
【００３６】
この場合、最初に出現する予約語「ｉｆ」、その後出現する「ｔｈｅｎ」、さらにその後出現する「ｅｎｄｉｆ」が、ｉｆ文を構成し、予約後「ｉｆ」の後の「（ｔｉｍｅ＿ｂ−ｔｉｍｅ＿ａ）＞６０」が式として認識され、「ｉｎｐ＿ｐｉｃｔｕｒｅ（）」が文１、「ｒｅｃ＿ｖｏｉｃｅ（）」が文２としてそれぞれ認識される。
【００３７】
次に、図６（ｃ）に示すように、図６（ｂ）における構文解析で明らかにされた制御構造（条件分岐、繰り返し処理等）に基づいて、実行処理部２３により、意味解析処理が行われる。この場合、ｉｆ文の制御構造に従って、式の評価ルーチンが呼び出され、まず、式が評価され、式が「真」であれば、次に、文１の処理ルーチンが呼び出され、文１が実行される。この場合、ＣＰＵ１１の制御により、ＣＣＤ部１によって所定の画像が取り込まれ、取り込まれた画像は、蓄積用メモリ１３等に記録される。
【００３８】
その後、さらに、文２の処理ルーチンが呼び出され、文２が実行される。この場合、ＣＰＵ１１の制御により、マイク部４によって所定の時間だけ音声が入力され、Ａ／Ｄ部５によりディジタルの信号に変換された後、蓄積用メモリ１３に記録される。一方、式が「偽」である場合、何も処理がされず、終了する。
【００３９】
次に、図６（ｄ）に示すように、実行処理部２３により、オペレーティングシステム２６を介して、システムに依存する制御、例えば、入出力、メモリ操作等の処理が実行される。
【００４０】
このようにして、Ｉ／Ｆ部１４を介して入力されたスクリプトに従って、そこに記述された複合処理（条件を含む一連の操作や手順等）を、ユーザの介在なしに自動的に実行させることができる。
【００４１】
図７は、図３のスクリプトに従って実行される処理を示すフローチャートである。最初に、ステップＳ１において、位置データ取得部８により、自分の運転する自動車（以下、自車と略記する）の位置（緯度・経度）が検出される。これは、複数のＧＰＳ衛星からの電波を受信し、所定の演算を行うことにより行われる。次に、ステップＳ２おいて、自車の緯度・経度が、例えば、所定の緯度ｘ１，経度ｙ１であるか否かが判定される。
【００４２】
自車の緯度・経度が所定の緯度ｘ１，経度ｙ１ではないと判定された場合、ステップＳ１に戻り、ステップＳ１以降の処理が繰り返し実行される。一方、自車の緯度・経度が所定の緯度ｘ１，経度ｙ１であると判定された場合、ステップＳ３に進み、内蔵する時計回路（図示せず）から、またはＧＰＳ衛星からの電波を受信し、所定の処理を行うことにより、現在の時刻を取得する。そして、ステップＳ４において、現在の時刻が、所定の時刻Ｔ１であるか否かが判定される。現在の時刻が所定の時刻Ｔ１ではないと判定された場合、ステップＳ３に戻り、ステップＳ３以降の処理が繰り返し実行される。一方、現在の時刻が所定の時刻Ｔ１であると判定された場合、ステップＳ５に進み、所定のメッセージを出力し、処理を終了する。
【００４３】
図８は、図３に示したスクリプトの中の「ｉｆ  時刻＝○○○○  ｔｈｅｎ」を「ｉｆ  △△時間経過  ｔｈｅｎ」に置き換えた場合に、このスクリプトに従って実行される処理例を示すフローチャートである。最初に、ステップＳ１１において、位置データ取得部８により、自車の位置（緯度・経度）が検出される。次に、ステップＳ１２において、自車の緯度・経度は、所定の緯度ｘ２、経度ｙ２であるか否かが判定される。自車の緯度・経度が、所定の緯度ｘ２、経度ｙ２ではないと判定された場合、ステップＳ１１に戻り、ステップＳ１１以降の処理が繰り返し実行される。一方、自車の緯度・経度が、所定の緯度ｘ２、経度ｙ２であると判定された場合、ステップＳ１３に進み、現在の時刻が基準時刻とされる。
【００４４】
次に、ステップＳ１４に進み、現在の時刻から基準時刻を引き算し、その結果を経過時間とする。そして、ステップＳ１５において、時間Ｔ２だけ経過したか否かが判定される。即ち、経過時間が時間Ｔ２より大きいかまたは等しいか否かが判定される。時間Ｔ２だけ経過したと判定された場合、ステップＳ１６に進み、現在の時刻が基準時刻とされ、ステップＳ１７において、所定のメッセージの出力が行われる。その後、ステップ１４に戻り、ステップＳ１４以降の処理が繰り返し実行される。
【００４５】
一方、ステップＳ１５において、まだ、時間Ｔ２だけ経過していないと判定された場合、ステップＳ１４に戻り、ステップＳ１４以降の処理が繰り返し実行される。このようにして、一定の時間毎に、所定のメッセージを出力させることができる。
【００４６】
図９は、図４に示したスクリプトに従って実行される処理を示すフローチャートである。最初、ステップＳ２１において、処理を行う処理時間を設定し、現在の時刻を基準時刻とする。次に、ステップＳ２２において、現在の時刻に処理時間を加算した結果を終了時刻とする。
【００４７】
ステップＳ２３においては、現在の時刻が、終了時刻より大きいかまたは等しいか否かが判定される。終了時刻より小さいと判定された場合、ステップＳ２４に進み、現在の時刻から基準時刻を引いた時間が経過時間とされる。そして、ステップＳ２５に進み、所定の時間Ｔ３だけ経過したか否かが判定される。即ち、経過時間が所定の時間Ｔ３より大きいかまたは等しいか否かが判定される。
【００４８】
所定の時間Ｔ３だけ経過したと判定された場合、ステップＳ２６に進み、現在の時刻が基準時刻とされ、ステップＳ２７において、自車の緯度・経度が蓄積用メモリ１３に保存される。次に、ステップＳ２８において、現在の年・月・日・時・分・秒が蓄積用メモリ１３に保存される。また、ステップＳ２５において、まだ、時間Ｔ３だけ経過していないと判定された場合、ステップＳ２３に戻り、ステップＳ２３以降の処理が繰り返し実行される。
【００４９】
一方、ステップＳ２３において、現在の時刻が終了時刻より大きいかまたは等しいと判定された場合、処理を終了する。このようにして、自車の走行履歴を、蓄積用メモリ１３に記憶させることができる。
【００５０】
図１０は、図５に示したスクリプトに従って実行される処理を示すフローチャートである。最初に、ステップＳ３１において、現在の時刻が基準時刻とされる。次に、ステップＳ３２において、現在の時刻から基準時刻を引き算した結果を経過時間とする。ステップＳ３３においては、基準時刻から、所定の時間Ｔ４だけ経過したか否かが判定される。所定の時間Ｔ４だけ経過したと判定された場合、ステップＳ３４に進み、現在の時刻が基準時刻とされる。
【００５１】
次に、ステップＳ３５において、ＣＣＤ部１により、所定の画像が取り込まれ、画像フォーマット生成部２において、所定の画像フォーマットに変換された後、蓄積用メモリ１３等に保存される。また、ステップＳ３６において、マイク部４により、所定の音声が所定の時間だけ入力され、Ａ／Ｄ部５においてディジタルのデータに変換された後、蓄積用メモリ１３に保存される。その後、ステップＳ３２に戻り、ステップＳ３２以降の処理が繰り返し実行される。
【００５２】
一方、ステップＳ３３において、まだ、所定の時間Ｔ４だけ経過していないと判定された場合、ステップＳ３２に戻り、ステップＳ３２以降の処理が繰り返し実行される。このようにして、一定の時間毎に景色等を撮影し、それを蓄積用メモリ１３等に記憶させることができる。
【００５３】
これらのスクリプトは、所定のスクリプト名でスクリプトライブラリ２２に登録しておくことができる。例えば、図５に示したようなスクリプトをスクリプト名ｃａｍｅｒａ（）で定義すると、下記のようになる。
【００５４】
ｄｅｆｉｎｅ  ｃａｍｅｒａ（）
ｉｆ（ｔｉｍｅ＿ｂ−ｔｉｍｅ＿ａ）＞６０  ｔｈｅｎ
ｉｎｐ＿ｐｉｃｔｕｒｅ（）
ｒｅｃ＿ｖｏｉｃｅ（）
ｅｎｄｉｆ
ｅｎｄｆｕｎｃｔｉｏｎ
【００５５】
このスクリプトｃａｍｅｒａ（）を、スクリプトライブラリ２２に登録すると、以後、スクリプトの中に、スクリプト名ｃａｍｅｒａ（）が記述されていると、スクリプト名ｃａｍｅｒａ（）で登録されている上記スクリプトが、スクリプトライブラリ２２から読み出され、それが解釈され、実行される。
【００５６】
例えば、次のようなスクリプトを記述する。
【００５７】
ｉｆ  Ａ＋Ｂ＜１０  ｔｈｅｎ
ｃａｍｅｒａ（）
【００５８】
そして、上記スクリプトを、Ｉ／Ｆ１４を介してナビゲーションシステムに供給すると、構文／意味解析部２１によりスクリプトが解釈され、「Ａ＋Ｂ＜１０」という条件が満たされたとき、スクリプト名ｃａｍｅｒａ（）で登録されたスクリプトがスクリプトライブラリ２２より呼び出され、実行処理部２３により実行される。このように、頻繁に使用するスクリプト等を予めスクリプトライブラリ２２に登録しておくことができる。これにより、ユーザは作成したスクリプトを再利用することができ、スクリプトの作成が効率よく行える。
【００５９】
次に、アイコンにスクリプトを対応させ、そのアイコンに対応するスクリプトを実行させる例について説明する。このアイコンは、表示部３の画面上に表示される。以下では、このようにスクリプトが対応づけられたアイコンを、適宜、スクリプトアイコンと呼ぶことにする。また、「スクリプトアイコンを実行させる」は、所定のアイコンを選択し、そのアイコンに対応づけられたスクリプトを実行させることを意味するものとする。即ち、所定のスクリプトアイコンを選択することにより、そのスクリプトアイコンに対応づけられたスクリプトを実行させることができる。
【００６０】
ここで、スクリプトアイコンの選択は、次のようにして行うことができる。例えば、所定のカーソルを所望のスクリプトアイコンが表示されている位置に移動させ、そのスクリプトアイコンに重ねる。これにより、そのスクリプトアイコンが選択されたものとみなされるようにする。あるいは、所定のマーク（例えば、後述する自車位置を表すマーク）がスクリプトアイコンに重なったとき、そのスクリプトアイコンが選択されたものとみなす。また、スクリプトアイコンに対応づけられた日付および時刻の情報と現在の日付および時刻に基づいて、所定のタイミングでそのスクリプトアイコンが選択されたものとみなす。
【００６１】
図１１は、スクリプトアイコンテーブルを示しており、各アイコンに、所定のスクリプトが対応づけられている。緯度経度は、スクリプトアイコンが地図上に貼り付けられる位置を表し、年月日時分秒は、スクリプトアイコンを実行させたい、あるいは実行してもよい日付および時刻を表している。使用アイコンアドレスは、使用しているアイコンのビットマップデータが保存されている蓄積用メモリ１３上のアドレスを表し、スクリプトは、アイコンに対応づけられたスクリプトである。
【００６２】
従って、このスクリプトアイコンテーブルから、所定のアイコンの位置と自車の位置が一致するか、または、所定のアイコンの近辺に自車が移動したとき、例えば、表示部３の画面上で所定のアイコンと自車の位置を表すマークが重なったとき、あるいは、所定のアイコンにカーソルを重ねたとき、そのアイコンが選択されたものとみなし、そのアイコンに対応づけられたスクリプトが実行されるようにすることができる。
【００６３】
また、現在の時刻と、スクリプトアイコンテーブルの所定のアイコンに対応する年月日時分秒の関係が所定の条件に合致したとき、例えば、現在の時刻がスクリプトアイコンテーブルの所定のアイコンに対応する年月日時分秒より以降であるとき、そのアイコンが選択されたものとみなし、そのアイコンに対応づけられたスクリプトが実行されるようにすることもできる。
【００６４】
スクリプトアイコンテーブルの編集は、例えば、通信ポート（図１のＩ／Ｆ部１４）を介して、蓄積用メモリ１３に格納されたスクリプトアイコンテーブル（ＡＳＣＩＩコードからなる）を、パーソナルコンピュータ等の外部装置に取り込み、パーソナルコンピュータ上で、所定のエディタソフトを用いて行うことができる。また、ナビゲーション装置側で行う場合には、そのためのアプリケーションソフトをナビゲーション装置側に予め用意しておくようにすればよい。
【００６５】
図１２は、スクリプトアイコンに対応づけられたスクリプトを実行させるためのスクリプトの例を示している。この例の場合、自車の位置が、スクリプトアイコンＡ１の緯度・経度からスクリプトアイコンＡ３の緯度・経度まで、「スクリプトアイコンＡ１のスクリプトを実行し、もし、自車の緯度・経度がスクリプトアイコンＡ２の緯度・経度と等しい場合、スクリプトアイコンＡ２のスクリプトを実行する。また、もし、自車の緯度・経度がスクリプトアイコンＡ３の緯度・経度と等しい場合、スクリプトアイコンＡ３のスクリプトを実行する」という一連の処理を繰り返し実行するという処理が記述されている。
【００６６】
また、図１２に示したスクリプトにおいて、「ｉｆ  緯度・経度＝スクリプトアイコンＡ２の緯度・経度  ｔｈｅｎ」の代わりに、例えば、「ｉｆ  現在の年月日時分秒＞スクリプトアイコンＡ２の年月日時分秒  ｔｈｅｎ」とすることも可能である。この場合、現在の年月日時分秒が、スクリプトアイコンＡ２の年月日時分秒より以降であるとき、スクリプトアイコンＡ２が実行されることになる。
【００６７】
図１３は、スクリプトアイコンＡ１のスクリプトの例を表している。このスクリプトは、自車位置に所定のマークを貼り付ける動作を実行させるためのものである。図１４は、スクリプトアイコンＡ２のスクリプトの例を表している。このスクリプトは、地図のレベル、即ち、縮尺を切り換えるためのものである。
【００６８】
図１５は、スクリプトアイコンＡ３のスクリプトの例を表している。このスクリプトは、「終了」という表示メッセージを表示部３の画面に表示したり、「終了しました」という音声メッセージをスピーカ部７より出力するためのものである。
【００６９】
図１６は、ユーザが指定した範囲内のマーク情報を外部装置側で取り込むためのスクリプトの例を示している。このスクリプトは、自車が、スクリプトアイコンＡ１の緯度・経度から、スクリプトアイコンＡ３の緯度・経度まで移動する間、蓄積メモリ１３に蓄積されたマーク情報テーブル（図２３を参照して後述する）を通信ポート（Ｉ／Ｆ部１４）経由で、外部装置に送信するためのものである。
【００７０】
次に、図１７のフローチャートを参照して、図１２に示したスクリプトに従って、画面に表示された地図上の自車の位置にマークを貼り付け、自車の移動にともなって、地図を拡大したり、メッセージを出力する場合の動作について説明するが、図１７のフローチャートに示した処理が実行される前に、まず、図１８に示すように、ユーザは、操作部１０を構成するキーボード、ジョイスティック、またはタッチパネル等を操作して、地図上にスクリプトアイコンＡ１ないしＡ３を貼り付ける。この地図は、電子地図データ記憶部９に予め記憶させておいた地図データに基づいて、ＣＰＵ１１が表示部３に表示させたものである。
【００７１】
次に、Ｉ／Ｆ部１４を介して、外部装置から、図１２に示したスクリプトを取り込む。これにより、図１２に示したスクリプトは、実行状態となり、準備が完了する。この時点で、自車は、まだ、スクリプトアイコンＡ１の位置まで到達していない。
【００７２】
最初に、ステップＳ４１において、位置データ取得部８により、自車の位置（緯度・経度）が取得される。次に、ステップＳ４２において、自車の位置が、スクリプトアイコンＡ１からスクリプトアイコンＡ３までの間（経路範囲（図１９において、文字ａで示された範囲））にあるか否かが判定される。自車の位置が、スクリプトアイコンＡ１からスクリプトアイコンＡ３までの間にあると判定された場合、ステップＳ４３に進み、スクリプトアイコンＡ１に対応するスクリプトが実行される。
【００７３】
即ち、図１２に示したスクリプトに従って、自車が、スクリプトアイコンＡ１からスクリプトアイコンＡ３まで移動する間、図１３に示したスクリプトアイコンＡ１に対応するスクリプトが実行され、図１９に示すように、１５分経過する毎に、自車位置に所定のマーク（この場合、四角形のマーク（アイコン）「□」）が貼り付けられる。従って、四角形のマーク「□」は、自車の走行履歴を表している。ここで、図中のマーク「●」は、自車の位置を表している。
【００７４】
次に、ステップＳ４４に進み、自車の緯度・経度がスクリプトアイコンＡ２の緯度・経度と等しいか否かが判定される。自車の緯度・経度がスクリプトアイコンＡ２の緯度・経度と等しいと判定された場合、ステップＳ４５に進み、スクリプトアイコンＡ２に対応するスクリプトが実行される。
【００７５】
即ち、図２０に示すように、自車（マーク「●」で表されている）がスクリプトアイコンＡ２の位置に到達したとき、スクリプトアイコンＡ２に対応するスクリプト（図１４に示したスクリプト）が実行され、地図の縮尺が自動的に変更される。この場合、地図が拡大される。図２０は、すでに、地図の縮尺が変更され、地図が拡大された状態を示している。
【００７６】
その後、ステップＳ４６に進む。一方、ステップＳ４４において、自車の緯度・経度がスクリプトアイコンＡ２の緯度・経度と等しくないと判定された場合、ステップＳ４６に進む。
【００７７】
ステップＳ４６においては、自車の緯度・経度がスクリプトアイコンＡ３の緯度・経度と等しいか否かが判定される。自車の緯度・経度がスクリプトアイコンＡ３の緯度・経度と等しくないと判定された場合、ステップＳ４１に戻り、ステップＳ４１以降の処理が繰り返し実行される。一方、自車の緯度・経度がスクリプトアイコンＡ３の緯度・経度と等しいと判定された場合、ステップＳ４７に進み、スクリプトアイコンＡ３に対応するスクリプトが実行される。
【００７８】
即ち、図２１に示すように、自車がスクリプトアイコンＡ３の位置に到達したとき、スクリプトアイコンＡ３に対応するスクリプト（図１５に示したスクリプト）が実行される。即ち、表示メッセージ「終了」が表示部３の画面に表示され、音声メッセージ「終了しました」がスピーカ部７より出力される。
【００７９】
その後、処理を終了する。
【００８０】
次に、図２２のフローチャートを参照して、図１６に示したスクリプトに従って、指定された所定の範囲内におけるマーク情報を外部装置に送信する場合の動作について説明するが、図２２のフローチャートで示した処理が実行される前に、最初、外部装置から、図１６に示したスクリプトが通信ポート（Ｉ／Ｆ部）１４より取り込まれる。これにより、図１６に示したスクリプトが実行状態となる。
【００８１】
まず、ステップＳ５１において、マーク情報テーブルから、マーク情報の緯度・経度を取得する。次に、ステップＳ５２において、マーク情報の緯度・経度が、スクリプトアイコンＡ１の緯度・経度からスクリプトアイコンＡ３の緯度・経度までの間にあるか否かが判定される。マーク情報の緯度・経度が、スクリプトアイコンＡ１の緯度・経度からスクリプトアイコンＡ３の緯度・経度までの間にあると判定された場合、ステップＳ５３に進み、図２３に示すようなマーク情報テーブルの該当マーク情報がＩ／Ｆ１４を介して外部装置に送信される。
【００８２】
即ち、スクリプトアイコンＡ１の緯度・経度からスクリプトアイコンＡ３の緯度・経度の間に存在する、図２３に示すようなＡＳＣＩＩコードで作成されたマーク情報テーブルのマーク情報が、通信ポート（Ｉ／Ｆ部）１４経由で外部装置に送信される。
【００８３】
このマーク情報テーブルは、スクリプトアイコンＡ１に対応するスクリプトに従って１５分毎に、画面上の自車の位置にマーク「□」が貼り付けられたとき、そのマークが貼り付けられた緯度・経度、その時の年月日時分秒、使用アイコン番号（この場合、マーク（アイコン）「□」に対応するアイコン番号）、および、マークが貼り付けられた緯度・経度に近接する地名等の文字情報が蓄積用メモリ１３等に供給され、図２３に示すようなフォーマットで記憶されたものである。図２３に示したマーク情報テーブルのフォーマットは、現行のナビゲーションシステムにおけるテーブルのフォーマットとほぼ同様である。
【００８４】
ステップＳ５３の処理が終了すると、ステップＳ５１に戻り、ステップＳ５１以降の処理が繰り返し実行される。一方、ステップＳ５２において、マーク情報の緯度・経度が、スクリプトアイコンＡ１からスクリプトアイコンＡ３までの間にないと判定された場合、または、マーク情報テーブルの最後まで上記処理が終了したと判定された場合、処理を終了する。また、これらの判定を行わず、マーク情報テーブルをまとめて外部装置に送信することもできる。
【００８５】
例えば、パーソナルコンピュータ等の外部装置に供給されたマーク情報テーブルには、位置（緯度・経度）、年月日時分秒、および近接地名等の情報が含まれているので、それを自車の走行履歴として画面に表示し、編集したりすることができる。
【００８６】
また、パーソナルコンピュータの画面上に、電子地図データ記憶部９が記憶する地図データに対応する地図（図１８乃至図２１に示した地図と同様のもの）を表示させ、マーク情報テーブルの位置情報に対応する位置に、例えば、マーク（アイコン）「□」を貼り付けることができる。このマーク「□」が貼り付けられた位置は、過去における自車の走行履歴を表している。
【００８７】
以上のように、一連の操作や手順をスクリプトで記述し、それを解釈し、実行するプログラム（インタプリタ）を装置（ナビゲーションシステム）側に用意し、外部装置より、通信ポート（Ｉ／Ｆ部）１４を介してスクリプトを供給することにより、複合処理（条件を含む一連の操作や手順等）をユーザの介在なしに実行させることができるため、操作を簡便にすることができる。また、スクリプトを装置側に送信し、送信したスクリプトに従って装置を制御し、所定の情報やデータを取得したり、あるいは、逆に、装置から送信されてきたスクリプトに従って外部装置が所定の処理を行い、所定の情報やデータを装置側に送信したりすることができる。
【００８８】
また、予め、上記スクリプトアイコンを地図上に貼り付けておけば、例えば、自車がそのスクリプトアイコンが貼り付けられている位置（緯度・経度）に移動したとき、そのアイコンが選択されたものとみなし、自動的にそのスクリプトアイコンに対応するスクリプトで記述された処理が実行されるようにすることができる。
【００８９】
また、通信ポート１４を備えている装置であれば、どのような装置からでもスクリプトを転送することができるので、低コストかつ容易に実現可能である。
【００９０】
なお、上記実施例においては、本発明をナビゲーションシステムに応用する場合について説明したが、ＡＶ（Audio Visual）機器やその他の機器に応用することも可能である。
【００９１】
また、上記実施例においては、マークを貼り付けるようにしたが、スクリプトアイコンを貼り付けるようにすることも可能である。
【００９２】
また、上記実施例においては、スクリプトアイコンと自車位置を表すマークが重なったとき、そのスクリプトアイコンが実行されるようにしたが、所定のカーソルをスクリプトアイコンに重ねることにより、それを実行させるようにすることもできる。
【００９３】
また、上記実施例においては、ＧＰＩＢやＲＳ２３２Ｃ等の規格に基づいて、外部装置との間で通信を行うようにしたが、これらに限定されるものではなく、その他の規格に基づいて、外部装置との間で通信を行うようにすることが可能である。
【００９４】
さらに、通信ポートを備えていなくとも、スクリプトを解釈し、実行する仕組みを装置が持っていれば、スクリプトを記述／編集することができるアプリケーションを持つことによって、スタンドアローンのシステムでも実施可能である。
【図面の簡単な説明】
【００９５】
【図１】本発明を適用したナビゲーションシステムの構成例を示すブロック図である。
【図２】スクリプトを解釈し、実行するソフトウェア構成を示す図である。
【図３】スクリプトの例を示す図である。
【図４】スクリプトの例を示す図である。
【図５】スクリプトの例を示す図である。
【図６】スクリプトを解釈し、実行する手順を説明するための図である。
【図７】図３に示したスクリプトに従って実行される処理手順を表すフローチャートである。
【図８】図３に示したスクリプトの変形例に従って実行される処理手順を表すフローチャートである。
【図９】図４に示したスクリプトに従って実行される処理手順を表すフローチャートである。
【図１０】図５に示したスクリプトに従って実行される処理手順を表すフローチャートである。
【図１１】スクリプトアイコンテーブルを示す図である。
【図１２】スクリプトアイコンが実行されるためのスクリプトの例を示す図である。
【図１３】スクリプトアイコンＡ１のスクリプトの例を示す図である。
【図１４】スクリプトアイコンＡ２のスクリプトの例を示す図である。
【図１５】スクリプトアイコンＡ３のスクリプトの例を示す図である。
【図１６】指定範囲内のマーク情報を外部装置側で取り込むためのスクリプトの例を示す図である。
【図１７】図１２に示したスクリプトに従って実行される処理手順を示すフローチャートである。
【図１８】地図上にスクリプトアイコンが貼り付けられた様子を示す図である。
【図１９】地図上に、１５分毎に自車の位置を表すマークが表示された様子を示す図である。
【図２０】地図上のスクリプトＡ２の位置に自車が到達し、地図の縮尺が変更された様子を示す図である。
【図２１】地図上のスクリプトＡ３の位置に自車が到達し、終了メッセージが出力された様子を示す図である。
【図２２】図１６に示したスクリプトに従って実行される処理手順を示すフローチャートである。
【図２３】マーク情報テーブルの例を示す図である。
【符号の説明】
【００９６】
１  ＣＣＤ部，２  画像フォーマット生成部，３  表示部（アイコン表示手段），４  マイク部，５  Ａ／Ｄ部，６  Ｄ／Ａ部，７  スピーカ部，８  位置データ取得部，９  電子地図データ記憶部，１０  操作部，１１  ＣＰＵ，１２  メモリ，１３  蓄積用メモリ，１４  Ｉ／Ｆ部（受信手段、送信手段），２１  構文／意味解析部（解釈手段），２２  スクリプトライブラリ，２３  実行処理部（実行手段），２４  データ領域，２５  ライブラリ，２６  オペレーティングシステム，２７  ナビゲーションプログラム
【図１】
2007109263.tif 000003
【図２】
2007109263.tif 000004
【図３】
2007109263.tif 000005
【図４】
2007109263.tif 000006
【図５】
2007109263.tif 000007
【図６】
2007109263.tif 000008
【図７】
2007109263.tif 000009
【図８】
2007109263.tif 000010
【図９】
2007109263.tif 000011
【図１０】
2007109263.tif 000012
【図１１】
2007109263.tif 000013
【図１２】
2007109263.tif 000014
【図１３】
2007109263.tif 000015
【図１４】
2007109263.tif 000016
【図１５】
2007109263.tif 000017
【図１６】
2007109263.tif 000018
【図１７】
2007109263.tif 000019
【図１８】
2007109263.tif 000020
【図１９】
2007109263.tif 000021
【図２０】
2007109263.tif 000022
【図２１】
2007109263.tif 000023
【図２２】
2007109263.tif 000024
【図２３】
2007109263.tif 000025