JP2005178685A - 車載装置 - Google Patents

車載装置 Download PDF

Info

Publication number
JP2005178685A
JP2005178685A JP2003425777A JP2003425777A JP2005178685A JP 2005178685 A JP2005178685 A JP 2005178685A JP 2003425777 A JP2003425777 A JP 2003425777A JP 2003425777 A JP2003425777 A JP 2003425777A JP 2005178685 A JP2005178685 A JP 2005178685A
Authority
JP
Japan
Prior art keywords
scenario
scene
data
display
screen
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003425777A
Other languages
English (en)
Inventor
Tadashi Hirano
正 平野
Tomoki Kubota
智氣 窪田
Hiroaki Kondo
裕昭 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Equos Research Co Ltd
Original Assignee
Equos Research Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Equos Research Co Ltd filed Critical Equos Research Co Ltd
Priority to JP2003425777A priority Critical patent/JP2005178685A/ja
Publication of JP2005178685A publication Critical patent/JP2005178685A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】画面要素の画像の表示によって隠される車載機器の情報の量を少なくする。
ことを目的とする。
【解決手段】表示装置(2)にオーディオの操作ボタン等の情報部品が画像表示されている場合、情報部品の表示領域を取得して、シーン構成部品の表示可能領域を求める。そして、シーン構成部品に対して定義されている表示領域(表示位置とサイズ)に表示した場合に、この表示可能領域外となるシーン構成部品を表示位置を表示可能領域内に変更する。シーン構成部品の表示領域が表示可能領域よりも大きい場合には、最も多くの領域が表示可能領域と重なるようにシーン構成部品の位置を変更する。
【選択図】 図12

Description

本発明は、車載装置に係り、例えば、車両の搭乗者とのコミュニケーションにより会話をしたり機器操作等を自律的に行うエージェント機能を備えた車載装置に関する。
車室内においてナビゲーション装置等の機器操作の案内をしたり状況に応じた質問や提案等を行うことで搭乗者との対話や対応等のコミュニケーションをするエージェント装置が下記の特許文献1で提案されている。
このエージェント装置では、エージェントの挨拶や、給油時期のお知らせといったコミュニケーションをするようになっており、コミュニケーションの内容に応じた画像や動画が表示装置に表示される。
また、本出願人は、車載装置(エージェント装置)が行う各種処理を、各シーンが連続するシナリオを特定するシナリオデータ(一部プログラムを含む場合がある)によって指示された処理の実行であると捉え、シナリオデータの形式を規格化することで、プログラムの知識の有無に関係なくシナリオデータを容易に作成することができるようにしたデータ作成装置(シナリオエディタ)を特許文献2で提案している。
このデータ作成装置では、シナリオデータの各シーン毎に画像や音声内容を規定するようになっている。
そして、車載装置では、起動条件を満たしたシナリオが自動的に起動され、シナリオで規定されているキャラクタが画像表示されたり音声出力されたりする。
特開平11−37766号 特願2002−161744号
車両には、このようなエージェント装置の他に、オーディオ装置やナビゲーション装置等の各種装置が配置されるが、各装置で画像を表示する場合に共通した画像表示装置が使用される。
そして、エージェントシステムにおいて、ミドルウェア及びシナリオは仕様を変更せずに各社のナビゲーション上に搭載することができるが、規定されている画面、特に表示内容や表示要素の配置はメーカの違いや機能の違い(地図画面、オーディオ画面、メニュー画面等)によって異なっている。
このため、ナビゲーション機能やオーディオ機能による画像が表示装置に表示されている状態でシナリオが自動起動され、キャラクタ等のエージェントの構成部品の画像をシナリオで指定された位置に表示すると、既に表示されている画面の重要な情報を隠してしまう可能性がある。
そこで、本発明は、画面要素の画像の表示によって隠される車載機器の情報の量を少なくすることを目的とする。
(1)請求項1に記載した発明では、画像の表示位置が定義された画面要素を組み合わせて構成された画面要素推移体データを車外から取得し記憶する画面要素推移体記憶手段と、表示装置と、前記表示装置の表示領域で、車載機器の情報が表示される以外の領域を表示可能な領域として取得する表示可能領域取得手段と、前記画面要素に定義された前記画像の表示位置が前記表示装置の前記表示可能領域内であるか否かを判断する表示位置判断手段と、前記表示位置判断手段により、前記画像の表示位置が前記表示可能領域外である場合には、前記表示可能領域内に表示するように変更する表示位置調整手段と、を車載装置に具備させて前記目的を達成する。
(2)請求項2に記載した発明では、請求項1に記載の車載装置において、前記表示位置判断手段は、前記組み合わされた画面要素毎に定義された画像の表示位置が前記表示可能領域内であるか否かを判断することを特徴とする。
(3)請求項3に記載した発明では、請求項1に記載の車載装置において、前記画面要素推移体データは、各画面要素に定義された画像の表示位置を管理する管理データを備え、前記表示位置判断手段は、前記管理データに管理された画像の表示位置が前記表示可能領域内であるか否かを判断することを特徴とする。
(4)請求項4に記載した発明では、請求項1に記載の車載装置において、前記車載機器の情報は、ナビ表示情報、空調表示情報、オーディオ表示情報、平均車速表示情報、燃費表示情報のうちいずれか1つであることを特徴とする。
本発明によれば、画面要素に定義された画像の表示位置が表示装置の表示可能領域内であるか否かを判断し、表示可能領域外である場合には、表示可能領域内に表示するように変更するので、画面要素の画像の表示によって隠される車載機器の情報の量を少なくすることができる。
以下、本発明の車載装置の好適な実施形態であるエージェント装置について、図1から図21を参照して詳細に説明する。
(1)実施形態の概要
本実施形態のエージェント装置では、所定の容姿からなるエージェント(キャラクタ)の画像を表示装置に表示する。そして、センサ等の検出結果から周囲の状態(人の動きや音声を含む)を認識、判断し、その結果に応じたエージェント画像の動作や音声を出力する。
例えば、燃料の減少を検出した場合に画像表示されたエージェントが「給油の時期ですよ」と音声で提案する。これに対する運転者の肯定する回答を判断(音声認識や回答選択ボタンから)した場合、周辺のガソリンスタンドを検索して現在地周辺の地図と共に表示し、音声で案内をする。
このように、装置からの回答を要求する提案や問いかけと、その回答に応じて、所定の操作の実行を通して、ユーザは、あたかも擬似人格を備えたエージェントとコミュニケーションをしているように体感する。
以下の説明では、このようなエージェント装置の一連の機能の実行を、エージェントの行為や動作として説明する。
本実施形態のエージェント装置では、このエージェントに運転者との各種コミュニケーションや、操作を代行させ、そのエージェントの各行為を、所定の規格に従って定義、構成されたシナリオ(画面要素推移体)を実行することで実現する。
そして、エージェントによる一連の連続した行為の内容を規定した複数のシナリオと、各シナリオの展開を自律的に開始(起動)するための自律起動条件(起動条件)とにより規格化したシナリオデータを保存する。
各シナリオは、画面表示と同期して実行される処理内容が定義されたシーン(画面要素)を最小単位として、1又は連続する複数のシーンで構成される。車両搭載機器や装置に対する制御、エージェントの動作(画像の動き)、及びエージェントの音声内容のうちの1以上が1シーンの処理内容として定義される。
シナリオは、所定のシーンから次のシーンに移行するための1の移行条件(推移条件)又は複数の移行条件(分岐条件(複数の状態が発生する場合の各状態毎へのシーンに移行するための条件))と、各移行条件に対応して移行先のシーンを特定する移行先データとから、各シーンの展開構成が規定されている。
各シナリオを自動的に実行するために自律起動条件を所定の規格に従って設定する。自律起動条件は、年月日、時間、位置、道路種別、車両状態、ナビゲーション装置の稼動状態、使用者データによる個別条件の論理的組み合わせで構成される。
エージェント装置によるシナリオの実行は、一連の連続するシーンをその指示に従って順次展開することで行われる。
本実施形態では、実行するシナリオの各シーンで表示位置が定義されたキャラクタ画像(エージェント画像)等のシーン構成部品の表示位置を可変とする。そして、自律的に起動したシナリオに対しては、車載機器による情報の表示とシーン構成部品との重複部分が少なくなるように、シーン構成部品の表示位置を調節する(表示位置調整手段)。
表示装置に表示される車載機器の表示としては、ナビ表示情報、空調表示情報、オーディオ表示情報、平均車速表示情報、燃費表示情報等がある。オーディオ表示情報としては、CDプレーヤ、MDプレーヤ、カセットテーププレーヤ、ラジオ等の各種操作キーや状態表示情報がある。
例えば、表示装置にオーディオの操作ボタン(操作キー)等の情報部品が画像表示されている場合、情報部品の情報領域を取得して、シーン構成部品の表示可能領域を求める(表示可能領域取得手段)。
そして、シーン構成部品に対して定義されている表示領域(表示位置とサイズ)に表示した場合に、この表示可能領域外となるシーン構成部品を表示位置を表示可能領域内に変更する。シーン構成部品の表示領域が表示可能領域よりも大きい場合には、最も多くの領域が表示可能領域と重なるようにシーン構成部品の位置を変更する。
なお、シナリオがユーザの選択により手動で起動された場合には、ユーザにとってエージェント機能による表示が最も重要であると判断できるので、画像が重複していても、シナリオで規定された表示位置にシーン画面を表示する。
一方、エージェント装置のユーザ等は、規定された規格に従って独自のシナリオデータを、シナリオ作成装置を使用して作成する。シナリオ作成装置は、シナリオ編集プログラム(シナリオエディタ)やデータをパーソナルコンピュータにインストールすることで構成することができる。
作成したシナリオデータは、インターネット等のネットワークを介してエージェント装置に送信し、又はダウンロードしてもらうことにより、また、所定の半導体メモリを介してエージェント装置に格納することで、自己(第三者)の希望通りの行為(コミュニケーションや処理)をエージェントに行わせることが可能になる。
エージェント装置とシナリオ作成装置を以上のように構成することで、シナリオ作成装置では、プログラムの知識の有無に関係無く、特定の条件を満たしたときにエージェントが自動で登場して対応してくれるシナリオデータを容易に作成及び編集することができる。すなわち、ユーザは自分の思い通りにエージェントを機能させるシナリオを、所定の規格に従って独自にまた、容易に作成ことが可能になる。
例えば、オービスの設置してある2km手前の地点(東経北緯座標で指定)でかつ、道路種別が高速道路でかつ、車速が120km/h以上で走行している場合に自動で登場してオービスの警告をしてくれるシナリオの条件の中にある車速の条件を140km/h以上に変更するとか、毎年特定の日(例えばクリスマスイブ)に1回だけ起動するシナリオを作成する事が可能となる。
そして、エージェントが動作するシナリオは、自己が作成したシナリオや、他人が製作したシナリオであっても自己が選択したシナリオなので、エージェントの自律的な動作に対する抵抗や、一方的な押しつけの動作と感じたりすることがなくなる。
(2)実施形態の詳細
図1は、エージェント装置とシナリオ作成装置及びサーバからなる全体のシステム構成を表したものである。
このシステムでは、シナリオ作成プログラムであるシナリオエディタを組み込んだシナリオ作成装置(コンピュータ)2(2a、2b、…)と、例えばインターネット等のネットワークを介してシナリオを配信するサーバ3(A、B、…)と、エージェント装置1との構成の一例を示したものである。
シナリオ作成装置2は、ユーザ又は第三者であるシナリオデータ作成者の操作によって、シナリオ作成プログラムに従って指定された規格でシナリオデータが作成される。
シナリオ作成者は、所定形式のシナリオデータを、例えば、シナリオエディタを使用してシナリオ作成装置2aで作成してホームページに掲載し(サーバ3Aにアップロードし)、エージェント装置1を持ったユーザからダウンロード可能にする。
シナリオ作成装置2からアップロードするサーバはサーバ3Aに限定されるものでなく、シナリオ作成者が契約しているプロバイダ等インターネット上のどのサーバ3A、3B、…でもよい。また、別のシナリオ作成者が、シナリオ作成装置2bで作成し、ホームページに掲載してサーバBにアップロードし、エージェント装置1を持ったユーザからダウンロード可能にする。
このように、さまざまなシナリオ作成者が、さまざまなサーバに自身の作成したシナリオをアップロードする。
エージェント装置1のユーザは、エージェント装置1のブラウザを使用して、サーバ3群(A、B、…)の中から、自分が欲しいと思うシナリオをブラウズし、気に入ったシナリオがあればダウンロードし、装置内に組み込むことで、ダウンロードしたシナリオデータをエージェント装置1で動作させることが可能になる。
また、エージェント装置1のユーザは、自身が持っているシナリオ作成装置2aのブラウザを使用して、サーバ3(A、B、…)の中から、自分が欲しいと思うシナリオをブラウズし、ダウンロードしてもよい。
この場合、DVD−ROM、ICカード等の半導体記憶装置その他の記憶媒体に、ダウンロードしたシナリオデータを格納して、エージェント装置1に受け渡す。そして、シナリオデータを受け取ったエージェント装置1では、記憶媒体駆動装置により記憶媒体からシナリオデータを読み込んで、組み込むことで、ダウンロードしたシナリオデータをエージェント装置1で動作させることが可能になる。
次に、開発者やユーザによって作成されたシナリオに従ってエージェントが自律的に起動するエージェント装置1について、その構成と動作を説明する。
図1は、本実施形態におけるエージェント装置1の構成を表したブロック図である。
本実施形態におけるエージェント装置1は、車両に搭載されおり、車両内のユーザとの間でコミュニケーションを行なう機能や車両に対して所定の処理を行なう車両制御機能等のエージェント機能を実現するミドルウェアを搭載することで、ユーザに走行経路の案内等を行なうナビゲーション機能や、オーディオ機能等の各種機能と共存するようになっている。
本実施形態のエージェント装置では、エージェント機能および、ナビゲーション機能を実現するための中央処理装置(1)、表示装置(2)、音声出力装置(3)、音声入力装置(4)、入力装置(5)、各種状況検出装置(6)、各種車載装置(7)、通信制御装置(8)、通信装置(9)、情報記憶装置(10)を備えている。
中央処理装置(1)は、種々の演算処理を実行するCPU(1-1)、情報記憶装置(10)からプログラムを読み込んで格納するフラッシュメモリ(1-2)、フラッシュメモリ(1-2)のプログラムチェック、更新処理を行なうプログラム(プログラム読み込み手段)を格納したROM(1-3)、CPU(1-1)がワーキングメモリとして演算処理中のデータを一時的に格納するRAM(1-4)、時計(1-5)、表示装置(2)への画面表示に使用する画像データが記憶された画像メモリ(1-7)、CPU(1-1)からの表示出力制御信号に基づいて画像メモリ(1-7)から画像データを取り出し、画像処理を施して表示装置(2)に出力する画像プロセッサ(1-6)、CPU(1-1)からの音声出力制御信号をアナログ信号に変換して音声出力装置(3)に出力する処理と、音声入力装置(4)から入力されたアナログ信号をデジタルの音声入力信号に変換する処理を行なう音声プロセッサ(1-8)、入力装置(5)による入力内容を受け取る入力装置I/F部(1-9)、各種状況を検出するための検出器類から情報を受け取るための各種入力I/F部(1-10)、他の装置と情報のやり取りを行なう通信I/F部(1-11)、CD-ROMやICカード類、ハードディスク等といった情報記憶媒体(10-2)からデータ及びプログラムといった情報を読み込んだり、情報を書き込んだりする情報記憶装置(10)と情報のやり取りを行なうための情報記憶装置I/F部(1-12)を備えている。
この中央処理装置(1)は、経路探索処理や、経路案内に必要な表示案内処理や、インターネットの閲覧やメールを使用したシナリオのダウンロード等の、その他システム全体において必要な処理、本実施形態におけるエージェント処理(エージェントと運転者との各種コミュニケーションや操作代行、状況判断を行ないその結果に応じて自律的に行なう処理)を行なうようになっている。
本実施形態におけるプログラムを含め、CPU(1-1)で実行される全てのプログラムは、情報記憶媒体(10-2)であるCD-ROM等に格納されてもよいし、それらプログラムの一部または全てが本体側のROM(1-3)またはフラッシュメモリ(1-2)に格納するようにしてもよい。
この情報記憶媒体(10-2)に記憶されたデータやプログラムが外部信号として中央処理装置(1)に入力されて演算処理されることにより、種々のエージェント機能の他に、ナビゲーション機能、空調機能、オーディオ機能、平均車速算出機能、燃費表示機能等の各種機能が実現され、これに伴い、ナビ表示情報、空調表示情報、オーディオ表示情報、平均車速表示情報、燃費表示情報等の各種情報が表示装置(2)に表示されるようになっている。
本実施形態の中央処理装置(1)は、ROM(1-3)に格納された位置調整プログラムに従って、シナリオに従ってキャラクタ画像を表示装置2に表示するが、その際、オーディオ機能等による表示情報と重複するか否かを判断し、重複する場合には重複が最少となるキャラクタ画像の表示位置を決定することで、表示位置調整手段として機能する。
また、中央処理装置(1)は、ROM(1-3)に格納された自律起動判断プログラムに従って、各種状況検出装置からの入力が起動条件を満たしたか否かを判断することで、条件判断手段として機能する。
さらに、中央処理装置(1)は、ROM(1-3)に格納されたシナリオ実行プログラムに従って、自律起動条件を満たしたシナリオを実行し、その際に、位置調整プログラムで決定した表示位置にキャラクタ画像を表示することで、画面要素推移体実行手段として機能する。
表示装置(2)は、中央処理装置(1)の処理により、経路案内用の道路地図やナビ用の操作キー等の各種画像情報が表示されたり、キャラクタの各種行動(動画)及び画面構成のパーツで構成された画面要素推移体(シナリオ)が表示されたりするようになっている。
また、表示装置(2)には、空調表示情報、オーディオ表示情報、平均車速表示情報、燃費表示情報等の各種車載機器の情報が表示されるようになっている。
この表示装置(2)には、液晶表示装置、CRT等の各種表示装置が使用される。
なお、この表示装置(2)は、例えばタッチパネル等の、入力装置(5)としての機能を兼ね備えたものとすることができる。
音声出力装置(3)は、中央処理装置(1)の処理によって声による経路案内を行なう場合の案内音声や、エージェントによる運転者との通常のコミュニケーション用の会話や運転者情報取得のための質問による音声や音が出力されるようになっている。
音声出力装置(3)は、車内に配置された複数のスピーカで構成されている。これらは、オーディオ用のスピーカと兼用するようにしてもよい。
音声入力装置(4)は、入力された運転者の音声がアナログ信号からデジタル信号に変換され、CPU(1-1)で音声認識処理が実行されるようになっている。
音声認識の対象となる音声としては、例えば、ナビゲーション処理における目的地等の入力音声や、エージェントとの運転者の会話(運転者による応答を含む)等がある。
なお、音声認識が必要なシーンか否かについては各シーンデータにおいて、音声認識の指示が設定されている。そして、音声認識の指示が設定されているシーンのシーンデータには、音声認識の対象となる音声を認識するための辞書が指定されている。
入力装置(5)は、目的地設定、経路探索、経路案内の要求の他、エージェント機能による、エージェントとのコミュニケーションにおいて、エージェントからの問い合わせ等に対して運転者が応答するための1つの応答手段としても機能するようになっている。
入力装置(5)には、タッチパネル(スイッチとして機能)、キーボード、マウス、ライトペン、ジョイスティックなどの各種の装置が使用可能である。
なお、シナリオは自律起動条件を満たした場合に実行する場合の他、ユーザが入力装置(5)からシナリオを指定して手動で起動することが可能であり、この場合の入力装置(5)は、手動起動手段として機能する。
各種状況検出装置(6)は、特に図示しない1が、機器操作状況検出手段として、車両の絶対位置(緯度、経度による)を検出する現在位置検出装置、道路の混雑状況等を検出するための交通状況情報受信装置、運転操作等の状況を検出するためにブレーキ検出器、サイドブレーキ(パーキングブレーキ)検出器、アクセル開度検出器、A/Tのシフト位置検出器、ワイパ検出器、方向指示器検出器、ハザード検出器、イグニッション検出器、車両の速度を検出する車速検出器、ヘッドランプやルームランプ等のランプ類の操作状況を検出するライト検出器、運転者のシートベルト着脱操作を検出するシートベルト検出器、その他のさまざまな検出器を備えている。
現在位置検出装置としては、例えば人工衛星を利用して車両の位置を測定するGPS(Global Positioning System)受信装置、GPSの補正信号を受信するデータ送受信装置、方位センサ、舵角センサ、距離センサ等が使用される。
交通情報受信装置としては、例えば路上に配置されたビーコンから情報を受信するビーコン受信装置、FM放送電波を用いて情報を受信する装置等が使用される。
通信装置I/F部(1-11)には、他にも通信制御装置(8)が接続できるようになっている。この通信制御装置(8)には、通信装置(9)(各種無線通信機器からなる携帯電話等)が接続されるようになっている。
これらを使って電話回線による通話の他、例えば車内での通信カラオケのために使用するカラオケデータを提供するような情報提供局や、交通情報を提供する情報提供局との通信や、エージェント処理に用いるシナリオデータを提供する情報提供局と通信を、通信装置(9)と通信制御装置(8)を介して行なうことも可能になっている。
これら各情報提供局との通信を指示する際にも、各種操作をするための操作キーや、説明表示が表示装置に表示されるようになっている。
本実施形態において中央処理装置(1)は、通信制御装置(8)を介してシナリオが添付された電子メールを受信することができるようになっている。
また、中央処理装置(1)には、インターネット上のホームページを表示するブラウザソフトを組み込み、CPU(1-1)で処理させることが可能であり、通信制御装置(8)を介してホームページからシナリオを含めたデータをダウンロードすることができるようになっている。
なお、通信制御装置(8)は、通信装置(9)と一体になったものを使用してもよい。
また、中央処理装置(1)は、通信I/F部(1-11)を通して車内通信を行なうことで他の車載装置(7)の操作状況を受け取ったり、また、車載装置に対する各種制御を行なったりするようになっている。
例えば、中央処理装置(1)は、各種車載装置(7)であるエアコン装置から、運転者がエアコンの各種スイッチ等を操作中か否かの情報を受け取ったり、設定温度を変更するといったようにエアコン装置の制御を行なったりする。また、オーディオ装置から運転者がラジオ、CDプレーヤ、カセットプレーヤー等のオーディオ機器から音声が出力中か否かの情報を受け取ったり、出力音量を上げるや、下げるといったようにオーディオ装置の制御を行なったりするようになっている。
また、中央処理装置(1)は、これら各種車載装置(7)の機能によって表示装置(2)に表示されている表示情報とキャラクタ画像との重複量を最少にするために、表示情報による表示領域の情報を車載装置(7)から受け取るようになっている。
情報記憶装置(10)は、情報記憶媒体駆動部(10-1)とその情報記憶媒体(10-2)を備えている。情報記憶装置(10)は、CPU(1-1)からの指示で情報記憶装置I/F部(1-12)を通して情報記憶媒体駆動部を制御して、情報記憶媒体(10-2)からデータやプログラムの読み込み、及び情報記憶媒体(10-2)へのデータやプログラムの書き込みを行なうようになっている。
情報記憶媒体(10-2)には、例えば、フレキシブルディスク、ハードディスク、CD-ROM、DVD-ROM、光ディスク、磁気テープ、ICカード類、光カード等の各種記憶媒体が使用され、使用する媒体ごとにそれぞれの情報記憶媒体駆動装置(10-1)が使用される。
情報記憶装置(10)は、システムにおいて複数個所持してもよいものとする。例えば、収集した個人情報である、運転者情報データ(10-2-3-6)と、学習項目データ及び応答データ(10-2-3-7)を持ち運びが容易なICカードやフレキシブルディスクで構成し、その他のデータをDVD-ROMで構成するといった例が考えられる。こうすることで、他の車両を運転する場合にこれらを記憶させたICカードからデータを読み出させて使用し、自分が過去に応対した状況を学習した状態のエージェントとコミュニケーションすることが可能になる。つまり、車両毎のエージェントではなく、運転者毎に固有な学習内容のエージェントを車両内に出現させることが可能になる。
CPU(1-1)は各種エージェント機能やナビゲーション機能を実現するプログラム(10-2-1)や、演算処理に使用するエージェントデータ(10-2-3)とナビゲーションデータ(10-2-2)を、上記構成例で示すDVD-ROMやICカード等から別の情報記憶装置(例えばハードディスク装置等)に格納(インストール)し、この記憶装置から必要なプログラム等をフラッシュメモリ(1-2)に読み込んで(ロードして)実行するようにしてもよいし、演算処理に必要なデータをこの記憶装置からRAM(1-4)に読み込んで(ロードして)実行するようにしてもよい。
次に、実行されるソフトウエアの構成について説明する。
図3は、CPU(1-1)でプログラムが実行されることにより実現されるエージェント処理部(101)と、全体処理部(102)との関係を表したものである。
本実施例では、種々のナビゲーション機能を実現する全体処理部(102)に、エージェント機能を実現するエージェント処理部(101)を加えることでエージェント機能付きナビゲーション装置を実現する構成になっている。
エージェント処理部(101)と全体処理部(102)は、互いの処理データをやり取りするためのI/F部をそれぞれが持っており、互いの処理データを取得し合えるようになっている。
例えば、エージェント処理部(101)は、シナリオデータのダウンロードや、シナリオデータに従って運転者とのコミュニケーションを実行した結果、運転者が設定したい目的地データを取得した場合に、このデータを全体処理部(102)に供給するようになっている。
全体処理部(102)では、取得した目的地データにより経路探索をし、作成した走行経路データに基づく経路案内を行なう。この経路案内処理において、画像や音声による進路変更方向等の案内を行なう場合に、案内に必要なデータを全体処理部(102)からエージェント処理部(101)に供給し、走行経路案内をするシナリオをデータ化したシナリオデータに従ってエージェントが案内することも可能である。
エージェント処理部(101)については後述する。
全体処理部(102)は、図示しないが地図描画部、経路探索部、経路案内部、現在位置計算部、目的地設定操作制御部等からなりナビゲーションの信号出力処理を行なうアプリケーション部、及び地図表示や経路案内に必要な表示出力制御、音声案内に必要な音声出力制御を行なうためのプログラム等のOS部等で構成されている。
また、この全体処理部(102)には音声認識を行なう音声認識処理部、テキストデータを音声データに変換する処理部も存在する。ブラウザ機能やメール機能を追加する場合の当該処理部はこの全体処理部(102)に追加される。
もしくは、エージェント処理部(101)がブラウザ機能やメール機能を持つような構成にしてもよい。
また、本実施形態ではエージェント処理を実行するための拡張機能が全体処理部(102)に加えられている。この拡張機能には、例えばナビゲーションデータの中にある道路データと現在位置から、走行中の道路の種別(高速道路、国道、等)を検出する手段や走行中の道路のカーブ状況(カーブ手前、カーブ終了)を検出する手段等が存在する。
次に、エージェント処理部の構成について説明する。
図4は、エージェント処理部(101)の構成を表したものである。
エージェント処理部(101)は、シナリオ駆動部(101-1)と、自律起動判断部(101-2)と、学習部(101-3)と、キャラクタ心理部(101-4)と、描画・音声出力部(101-5)と、音声認識部(101-7)と、エージェントOS部(101-8)と、外部I/F部(101-9)とを備えている。
シナリオ駆動部(101-1)は、シナリオデータ(10-2-3-4)を読み込み、そのシナリオデータに基づいて各処理部にメッセージ通信等を使って指示(各処理部が提供する機能を使用)する。シナリオ駆動部(101-1)は、シナリオの実行を管理し運転者に各種エージェント機能を提供するといったエージェント処理部の中心的な処理を行なう。
自律起動判断部(101-2)は、シナリオデータ(10-2-3-4)にある各シナリオの自律起動条件データを保持し、エージェントOS部(101-8)から出される定期的な自律起動判断指示により、時間、位置、状態等の各種条件と各種状況との比較、判断を行なっている。
条件が一致した場合に、自律起動判断部(101-2)はシナリオ駆動部(101-1)に対し、条件が一致したシナリオの実行要求の指示を出す。
自律起動条件と比較するための各種状況はエージェントOS部(101-8)及び学習部(101-3)から入手している。
また、定期的な自律起動判断指示以外にも、状況の変化が大きいとされる場合は、エージェントOS部(101-8)から自律起動判断指示が出されるので、自律起動判断部(101-2)は、自律起動判断処理を行なうようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、ナビゲーション機能による走行案内経路をはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等がある。
また、自律起動判断部(101-2)は、手動起動キーが入力装置(2)で選択された場合にも、ユーザが選択したシナリオの実行要求をシナリオ駆動部(101-1)に対して出力する。
学習部(101-3)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によって入手した項目(実行結果や実行履歴)を運転者情報データ(10-2-3-6)や、学習項目データ及び応答データ(10-2-3-7)として格納する。
キャラクタ心理部(101-4)は、エージェントOS部(101-8)が管理している現在状況を入手し、メンタルモデル変更条件データに基づき、キャラクタの心理状態を表す5つのパラメータ(元気、友好、従順、自信、モラル)を自律的に変更する。
描画・音声出力部(101-5)は、シナリオ駆動部(101-1)からの指示で選択ボタンやタイトル等のパーツから構成される画面を表示するための制御信号を作成する。また、シナリオ駆動部(101-1)からの指示で、シーンデータによる表示状態に対応するキャラクタの各種行動(動作)を画像表示するための制御信号も作成する。
ただし、シナリオが自律起動判断部(101-2)によって起動された場合、キャラクタは必ずしもシナリオ駆動部(101-1)から指示された場所に表示されるとは限らない。
すなわち、描画・音声出力部(101-5)は、まず外部I/F部(101-9)に対して、キャラクタの表示可能領域の取得を要求する。外部I/F部(101-9)は、全体処理部(102)に通知し、全体処理部(102)は、その時点において、ナビゲーションやオーディオ等の各種表示情報が表示されていない領域をキャラクタの表示可能領域として決定する。そして、全体処理部(102)は、決定したキャラクタの表示可能領域を、外部I/F部(101-9)を通じて描画・音声出力部(101-5)へ通知する。
描画・音声出力部(101-5)は、取得した表示可能領域の中で、シナリオ駆動部(101-1)から指示された表示位置にもっとも近く、選択ボタンなどキャラクタ以外のシーン構成部品と重ならない箇所にキャラクタを表示する。
描画・音声出力部(101-5)は、キャラクタの表示領域よりも大きい表示可能領域が1つである場合にはその表示可能領域に、複数ある場合にはシナリオ駆動部(101-1)から指示された表示位置にもっとも近い表示可能領域を選択してキャラクタを表示する。
一方、描画・音声出力部(101-5)は、いずれの表示可能領域もキャラクタ表示領域よりも小さい場合には、最も大きな領域の表示可能領域を選択してシナリオを表示することで、量画像の重複を最も小さくする。
描画・音声出力部(101-5)は、また、シナリオ駆動部(101-1)からの指示でエージェントが運転者とコミュニケーションを行なう際の台詞を出力するための制御信号を作成する。また、シナリオ駆動部(101-1)からの指示で各種効果音を出力するための制御信号も作成する。
音声認識部(101-7)は、シナリオ駆動部(101-1)からの指示により、全体処理部(102)中の音声認識処理部に音声認識辞書を作成させるための制御信号を発する。また、音声認識部(101-7)は、シナリオ駆動部(101-1)からの指示で音声認識処理を開始させたり停止させたりする制御信号も発する。
エージェントOS部(101-8)は、時間、場所、各種入力等の状況の変化(シナリオの追加も含む)を取得して現在の状況を管理し、状況の変化に対して必要に応じてメッセージ通信にて各処理部に通知する。状況の変化は、外部I/F部(101-9)を通して全体処理部(102)から供給されたり、問い合わせたりして入手する。
エージェントOS部(101-8)は、自律起動判断部(101-2)に対して、定期的に自律起動判断指示を出すようになっている。この定期的な自律起動判断指示は、所定時間毎に出される。所定時間としては、定期的に出される自律起動判断指示によって定期的に処理される自律起動判断処理が、中央処理装置(1)全体の他の処理に影響しない範囲でできるだけ短い時間であることが望ましく、本実施形態では5秒間隔に設定されている。この所定時間は入力装置(5)からの操作によってユーザが当該所定時間を任意に変更することができるようにしてもよい。
また、エージェントOS部(101-8)は、状況の変化が大きいと判断された場合にも、自律起動判断部(101-2)に対して、自律起動判断指示を出すようになっている。状況の変化が大きいとされる場合とは、例えば運転者が目的地設定を行なった場合、案内経路から車両がはずれた場合、シナリオデータが追加された場合、シナリオデータが削除された場合等であり、あらかじめ該当する項目が規定されRAM(1-4)等に記憶されている。
外部I/F部(101-9)は、エージェント処理部(101)と全体処理部(102)との間のインターフェースになっている(全体処理部(102)には受け手であるエージェントI/F部が存在する)。エージェント処理において利用するナビゲーション情報等各種情報の取得と、エージェント処理部から全体処理部に制御信号を伝えてナビゲーションを制御したりする。
次に、データ構成(プログラムを含む)について説明する。本実施例では、これらは情報記憶媒体(10-2)に格納されている。
図5は、情報記憶媒体(10-2)に集録されている情報を概念的に表したものである。
情報記憶媒体(10-2)には本実施形態による各種エージェント機能やナビゲーション機能を実現するプログラム(10-2-1)、及び必要な各種データとして、エージェントデータ(10-2-3)とナビゲーションデータ(10-2-2)が格納されている。
ナビゲーションデータ(10-2-2)は、地図描画、経路探索、経路案内、目的地設定操作等に必要な各種データで構成されている。例としては、経路案内に必要な地図データ(道路地図、住宅地図、建造物形状地図等)、交差点データ、ノードデータ、道路データ、写真データ、登録地点データ、目的地点データ、案内道路データ、詳細目的地データ、目的地読みデータ、電話番号データ、住所データ、その他のデータのファイルからなりナビゲーション装置に必要なすべてのデータが記憶されている。また、必要に応じて通信地域データ等も記憶される。
エージェントデータ(10-2-3)は、メンタルモデルデータ(10-2-3-1)と、シナリオデータ(10-2-3-4)と、キャラクタデータ(10-2-3-5)と、運転者情報データ(10-2-3-6)と、学習項目データ及び応答データ(10-2-3-7)と、で構成されている。他にも、お勧めのレストラン提案を行なう等のお勧め提案データや知識データ等も、エージェントデータ(10-2-3)には存在する。
メンタルモデルデータ(10-2-3-1)は、キャラクタの心理状態を表す5つのパラメータ(友好度、従順度、自信度、モラル、元気度)及びメンタルモデル変更条件データとで構成されている。
学習項目データ及び応答データ(10-2-3-7)は、エージェントとのコミュニケーションにおいて運転者の選択や応答によってエージェントが学習した結果を格納するデータである。
図6は、車載装置で実行するシナリオデータの構成を表したものである。
シナリオデータ(10-2-3-4)は、複数のシナリオで構成されており、それらを管理するための集録シナリオ管理データと、個々のシナリオの内容を示すデータ(シナリオ本体)とで構成されている。
また、集録シナリオの管理データには、このシナリオデータの有効期限、作成された日や作成者等といった情報と、シナリオデータに収録されている個々のシナリオを全体的に管理するためのデータ(シナリオ番号、シナリオ名称、優先順位(プライオリティ))と、シナリオファイルに収録されているシナリオの自律起動条件データが記録さている。
さらに、集録シナリオの管理データには、シナリオファイルに収録されているシナリオの中で運転者が入力装置(5)等を使って手動起動させることができるシナリオ一覧データが記されている。
図6に示されるように、個々のシナリオの内容を示すデータには、それぞれのシナリオを管理する管理データと、シナリオを構成する個々のシーンの内容を示すシーンデータとで構成されている。
それぞれのシナリオを管理するシナリオ管理データには、シナリオに関する情報と、このシナリオで使用する音声認識辞書を作成するためのテキスト情報と、シナリオを構成する各シーンデータを全体的に管理するためのデータが記されている。
またシナリオ管理データには、各シーンにおいて表示されるキャラクタの表示位置を示す表示位置データが各シーン毎に格納されている。
シーンデータは、シーンを管理するシーン管理データと、画面構成データと、キャラクタ動作データと、各種処理データと、展開管理データとで構成されている。
シーン管理データには、そのシーンに関する情報とシーンデータに属する各データセクションを管理するデータが記されている。
画面構成データには、このシーンにおいて表示装置(2)に表示するキャラクタ画像や吹き出し画面等のシーン構成部品の構成と、各シーン構成部品の大きさや表示位置等を規定するデータが記されている。
キャラクタ動作データには、このシーンにおいてキャラクタが行なう動作の指示データと、話す内容に関する指示データが記されている。動作の指示データには、シナリオデータで直接各キャラクタの表現手段で指示するものと、キャラクタに表現させたい状態で指示するものの2種類のうちどちらかで指示データが記されている。
各種処理データには、このシーンにおいて外部機器を制御(処理をさせる)する情報や、ナビゲーションを制御する情報や、他のシナリオを実行する指示や、タイマー設定情報や、キャラクタ心理を示すメンタルモデルのパラメータを変化させる情報等が記されている。
展開管理データには、このシーンで何かイベントが発生した場合に、シナリオを終了するのか、次に進むシーンが何であるか、もしくは何も展開しないのか、といった情報が記述されている。
図5において、キャラクタデータ(10-2-3-5)には、複数のキャラクタのデータが格納されており、運転者の好みによって入力装置(5)等から選択することができるようになっている。
キャラクタデータ(10-2-3-5)は、各キャラクタA、B、…毎に、キャラクタ画像データ102351と、キャラクタ音声データ102352と、キャラクタ画像選択データ102353とを備えている。
キャラクタ画像データ102351は、シナリオにより指定された各シーンで表示されるキャラクタの状態を表す静止画像や、動作を表す動画(アニメーション)等が格納されている。例えば、キャラクタがお辞儀をする動画、うなずく動画、右手を挙げる動画等が格納されている。
シナリオデータ(10-2-3-4)のシナリオ本体では、キャラクタの種類によらない共通化した表示状態により各シーンの内容を規定している。
また、図5における運転者情報データ(10-2-3-6)は、運転者に関する情報で、エージェントのコミュニケーションをより運転者の希望や趣味、嗜好に合ったものとするために利用される。
運転者情報データ(10-2-3-6)には、運転者毎に情報を格納するための運転者のID(識別情報)、名前、年齢、性別、結婚(既婚か未婚か)、子供の有無と人数と年齢からなる運転者基礎データや、スポーツ、飲食等の趣味嗜好データとが格納されるようになっている。
本実施形態では、これら各運転者情報には優先順位が決められており、エージェントは、未だ格納されていない運転者情報のうち優先順位が高い順に運転者に質問をするようになっている。運転者基礎データは、趣味嗜好データよりも優先順位が高くなっている。
運転者情報データ(10-2-3-6)は、その車両を運転する運転者が複数存在する場合には、運転者毎に作成される。そして、運転者を特定して該当する運転者情報が使用される。
図7は、旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移をシーン毎に表したものである。
この案内シナリオは、複数のシーン画面のうち(a)〜(f)までのシーン画面で構成されている。
シーン画面(c)に対するユーザの選択結果によって次のシーン画面が4と6に分岐している。また、図7の例では分岐していないが、シーン画面(d)においても選択した料理の種類に応じた料理をシーン表示画面54に表示するようにシーン画面を分岐させるようにしてもよい。
まず、シナリオのシーンデータに基づいて表示装置(2)に表示されるシーン画面の画面構成について説明する。
シーン画面(a)に示されるように、エージェントの画像(静止画、動画)が表示されるエージェント表示画面51、エージェントの音声に対応した文字が表示される吹き出し画面52、タイトル画面53、及び、各シーン固有の画像データ(実画像データの画像や回答選択ボタン等)が表示されるシーン表示画面54から構成されている.
エージェント表示画面51に表示されるエージェントは、ユーザが選択したキャラクタ、又はデフォルトのキャラクタである.
以下図7に従って予約シナリオによるエージェントの各行為について説明する。
なお、以下に説明するシナリオの表示は、手動起動ボタンによりシナリオが起動された場合、及び、自律起動条件を満たした場合で、表示装置(2)にはエージェント機能による表示以外の画像が表示されていない場合について説明する。
以下の各シーン画面に対応して説明するエージェントの動作や画面の表示はいずれも、外部シナリオのシナリオデータに格納されているデータや画像及び指示に従って表示等されるものである。また、エージェントの動作として説明するが、実際にはエージェント処理部(101)のシナリオ駆動部(101-1)が処理を行う。
後述するシナリオ開始処理においてエージェント処理部(101)のシナリオ駆動部(101-1)は、案内シナリオを起動すると、最初にシーンヘッダで指定される番号1のシーンの画面構成データをシナリオデータから読み出して表示装置(2)に表示する。このシーンでは、エージェントOS部(101-8)で管理しているキャラクタのエージェントが、エージェント表示画面51に登場し、お辞儀をして音声による挨拶をする。音声による挨拶の内容は、吹き出し画面52に表示されている文章と同一である。
音声による挨拶は、旅館に代わってエージェントが代行して行うことになるが、旅館の女将の写真画像をシーン表示画面54に表示することで旅館からの挨拶であることが表現されている。この女将の画像は、外部シナリオの一部として受信し追加した画像で、シナリオデータ(10-2-3-4)の実画像データとして格納されている。
エージェントの動作に対する指示は、キャラクタ動作指示データに格納されている指示に従う。
エージェントによる挨拶が終了すると、次のシーン2に遷移する。
次のシーン2では、シーン表示画面54に露天風呂の画像が表示される。そして、この露天風呂の絵をエージェントが指し示して、旅館の名物(ここが売りだということ)を、エージェントが音声と吹き出し画面52の表示で説明する。
エージェントの話が終了すると、次のシーン3に遷移し、本日の食事の画像(懐石料理の画像)をシーン表示画面54に表示し、エージェントが料理の説明と、この料理で良いか否かを質問する。
そして、シーン3のシーンデータにタイマー設定時間と、タイマー設定条件「走行中のみ設定する」が規定されているものとする。この場合、走行中であることを条件に、シーン開始時にタイマーによる計時が開始される。走行中か否かは車速センサ(6-11)又は、距離センサ(6-1-5)において、車速v=0が検出された場合に停車中と判断され、車速v≠0が検出された場合に走行中と判断される。
そして、表示した料理でよいか否かの質問に対する回答としてユーザが「はい」を選択した場合にはシーン4に分岐し、「いいえ」を選択した場合にはシーン6に分岐する。
一方、タイマー設定時間内に、ユーザが音声による回答も、画面に表示された選択ボタンの選択による回答もせずにタイマー通知(設定時間の経過)した場合、シーン3のシーンデータで規定されているタイマー通知時の移行条件に従って、そのシナリオを終了させる。
このように、ユーザからの回答がない場合にも、無回答という選択がされたと判断して、無回答を移行条件とする次のシーン(図7の例では終了)に移行することで、擬人化されたキャラクタとのコミュニケーションをより人間同士のコミュニケーションに近づけることができる。
シーン4では、懐石料理以外の選択可能なリストをシーン表示画面54に表示する。エージェントは、シーン表示画面54のリストを指し示して、どの料理が良いかを質問する。
そして、ユーザがいずれか1つを選択したらシーン5に遷移する。
シーン5では、懐石料理から変更すべき人数のリストをシーン表示画面54に表示し、エージェントはこのリストを指し示して、人数の質問をする。
そしてユーザがいずれか1つを選択したらシーン6に遷移する。
シーン6では、シーン表示画面54に旅館の外観写真画像を表示し、エージェントがお辞儀をして挨拶をする。
そして、エージェントは、ユーザが選択してきた結果、図7の案内シナリオの場合には食事に関する回答結果を、通信装置I/F部(1-11)から通信制御装置(8)に接続されている通信装置(9)を介して実行中の外部シナリオを送信した第三者(旅館)に送信する。
このように、ユーザについての情報を取得したい場合には、外部シナリオの作成者は、取得したい情報が得られる質問のシーンをシナリオ中に設け、その回答を電子メールで送信するようにシナリオを作成する。なお、回答の送信が必要な場合には、作成者の電子メールアドレスをシナリオデータ中に含める。
最後のシーン(図7ではシーン6)でのエージェントの話が終了すると、シナリオを終了させる。
このようにして、シナリオ駆動部(101-1)は、シナリオに規定された各シーン画像と音声を最後のシーンまで順次表示、出力する。
起動したシナリオが終了すると、シナリオ駆動部(101-1)は、他のシナリオの実行についての起動要求が存在するかの判断を行う。
次に、このようなシナリオ駆動部(101-1)で実行される各種シナリオを自律的に起動するか否かの判断処理について説明する。
図8は、自律起動判断部(101-2)によるシナリオの自律起動判断処理について表したものである。
この自律起動判断処理では、自律起動判断部(101-2)が装置の負荷を軽減するために、位置と日付に関する情報を受け取り、その受け取った位置と日付に近似する起動条件の塊を、シナリオデータを保持している外部記憶装置(10)より読み出し(抽出手段)、ワークメモリ(RAM(1-4))に一時的に格納する処理を行う。
すなわち、自律起動判断部(101-2)は、今現在置かれている状況情報を取得するため、エージェントI/Fを介し、エージェントOS部(101-8)より現在位置、時間などの状況情報を取得する(ステップ11)。
そして、自律起動判断部(101-2)は、取得した位置、時間などの状況情報が所定単位の変化があるか否かを判断する(ステップ12)。
判断の結果、所定単位の変化がありと判断された場合(ステップ12;Yes)、自律起動判断部(101-2)は、その位置と時間などの条件に近似する条件を備えた自律起動条件群を外部記憶装置(10)より読み出し、ワークメモリ(RAM(1-4))に一時的に格納する(ステップ13)。
ここで、近似する条件とは、位置の場合、地図データの全範囲を所定単位の方形ブロックに区画し、車両が存在する位置が含まれているブロックと、そのブロックに隣接する8つのブロックに位置情報が含まれる条件をいい、日付の場合、その当日と翌日が該当する。そして、所定単位の変化とは、位置の場合には車両が他のブロックに移動した場合で、日付の場合には日付が変わった場合が該当する。
そして自律起動判断部(101-2)は、読み込まれた自律起動条件群に対して、状況情報が満たしているか否かについての条件判断処理を行う(ステップ14)。
なお、ステップ12の判断で所定単位の変化なしと判断された場合(ステップ12;No)、ワークメモリに一時保存している自律起動条件群を変更する必要がないため、ステップ14の処理に進む。
図9は、図8における条件判断処理(ステップ14)の処理内容を表したものである。
自律起動判断部(101-2)は、ワークメモリ(RAM(1-4))に一時的に格納された自律起動条件群から、最初の自律起動条件を取得し(ステップ21)、ステップ12で入手した各種状況情報による状況が、取得した自律起動条件を満たしているか否かを判断する(ステップ22)。
自律起動条件を満たしている場合(ステップ22;Yes)、自律起動判断部(101-2)は、その自律起動条件に対応するシナリオの実行要求メッセージを、シナリオ駆動部(101-1)に対して発行する(ステップ23)。
次に自律起動判断部(101-2)は、ワークメモリ(RAM(1-4))に一時的に格納された自律起動条件群に次の自律起動条件がまだ存在するか否かを判断し(ステップ24)、あれば(;Yes)、次の自律起動条件を取得し(ステップ21に戻る)、以後ステップ21〜24の各処理をワークメモリ(RAM(1-4))に一時的に格納された全ての自律起動条件に対する判断が終了するまで繰り返す。
ステップ24において、次の自律起動条件が存在しない(ワークメモリ(RAM(1-4))に一時的に格納した全ての自律起動条件に対する判断が終了した)場合(;No)、自律起動判断部(101-2)は、自律起動判断処理を終了する。
このように、図8のナリオの自律起動判断処理及び図9の条件判断処理により、車載された入力装置からの入力が起動条件を満たしたか否かを判断する条件判断手段が構成される。
次に、シナリオ駆動部(101-1)が、自律起動判断部(101-2)からシナリオ実行要求を受け取った場合のシナリオ実行処理について説明する。
図10は、シナリオ実行処理の流れの一例を表したものである。
ユーザの操作内容や、シナリオデータの記述内容によってシナリオ実行処理の流れは変わってくる。よって、図10では、シナリオを実行する場合の、エージェント処理部(101)の各部、及び全体処理部(102)による一連の代表的な動作を表したものであり、本実施例において、各部はそれぞれ独立した処理を行うようにし、ユーザの操作内容や、シナリオデータの記述内容によってシナリオ実行処理の流れを変えることを実現している。すなわち、各部の独立した処理が、連続することで図10に示した代表的な流れになる。
具体的には、エージェント処理部(101)の各部、及び全体処理部(102)は、メッセージを受け取ったら、そのメッセージに対する処理を行ない、処理が完了したら次のメッセージを待つようになっている。
シナリオ駆動部(101-1)は、自律起動判断部(101-2)からシナリオ実行要求を受け取ると、ワークメモリの確保、初期化によるエージェント開始準備処理を行う(ステップ505-1)。
そして、シナリオ駆動部(101-1)は、シナリオの実行要求が手動起動か自動起動かを確認する(ステップ505-2)。手動起動は、ユーザが表示装置(2)のメニューからシナリオ起動を選択した場合で、自動起動は、シナリオの自律起動条件を満たした場合である。
シナリオの実行要求が手動起動の場合はメニューシナリオの要求処理を行う(ステップ505-3)。その後、シナリオデータ取得処理(ステップ505-4)に移行する。
一方、自動起動の場合には、自律起動条件を満たすことで実行要求されているシナリオが存在するので、そのままシナリオデータ取得処理(ステップ505-4)に移行する。
次にシナリオ駆動部(101-1)は、実行すべきシナリオデータをシナリオデータ(10-2-3-4)からワークメモリ(RAM(1-4)に確保する)に読み込む(ステップ505-4)。シナリオデータを読み込む際、実行対象となっているシナリオが複数存在する場合(複数の自律起動条件が満たされた場合、手動起動要求と自動起動が重複した場合等)には、シナリオ駆動部(101-1)は、各シナリオに規定されている優先順位を判断し一番優先順位の高いシナリオデータを読み込む。
優先順位が同じである場合には、自律起動判断部(101-2)から実行要求を受けた順に優先順位が高いものとして決定する。シナリオの優先順位は、シナリオデータ(10-2-3-4)の収録シナリオの管理データに存在し、シナリオ実行要求と一緒にシナリオ駆動部(101-1)は取得しており、それを確認する。
シナリオデータの読み込みが完了すると、シナリオ駆動部(101-1)は、次に、シナリオ開始処理を行う(ステップ505-5)。
シナリオ開始処理においてシナリオ駆動部(101-1)は、まず、シナリオを開始するための初期化処理を行う。
シナリオ開始処理(ステップ505-5)の後に、シナリオ駆動部(101-1)は、シナリオを構成するシーンの内容に応じてキャラクタの描画や音声を処理するシーン処理を実行する(ステップ505-6)。
すなわち、シーン処理においてシナリオ駆動部(101-1)は、ステップ505-4で読み込んだシナリオデータが一時記憶されているRAM(1-4)を参照し、表示する画面構成やキャラクタの動作指示、等を解析する。
そして各シーンデータにおける規定に従って、シナリオ駆動部(101-1)は、出力する音声データやキャラクタ描画データを作成して描画・音声出力部(101-5)に描画の指示を行なう。この指示に従って描画・音声出力部(101-5)により、キャラクタがお辞儀をしたり、右方向や左方向を手で指したり、ユーザに話しかけたりするシーンが展開される。
また、処理中のシーンデータに音声認識についての指示ある場合、音声認識処理が行われる。
このシーン処理において、ナビゲーションやオーディオ等のエージェント以外の表示情報と、キャラクタ画像等のシーン構成部品の画像とが重複する場合に、シーン構成部品の表示位置を変更する表示位置調整処理が行われる。このキ表示位置調整処理については後述する。
シーン処理が完了すると、シナリオ駆動部(101-1)は、シナリオ終了か確認を行なう(ステップ505-7)。
シナリオ終了の場合、シナリオ駆動部(101-1)は、シナリオ終了処理を行なう(ステップ505-8)。このシナリオ終了処理において、学習部(101-3)が、終了の仕方を示すエンドIDを入手して応答データ(10-2-3-7)に格納する。
シナリオ終了でない場合(シナリオがまだ続く場合)、シナリオの終了位置まで、ステップ505-6に戻って次のシーン、次のシーン、…とシーン処理を繰り返す。
シナリオの終了処理の後、シナリオ駆動部(101-1)は、他にシナリオの実行要求が有るか否か確認し(ステップ505-9)、他のシナリオの実行要求が存在する場合は、シナリオデータの読み込み処理(ステップ505-4)に戻って同様に処理が実行される。
一方、他に実行するシナリオが存在しない場合、シナリオ駆動部(101-1)は、エージェント終了処理を実行する(ステップ505-10)。すなわち、エージェントOS部(101-8)に対して、要求された全てのシナリオの実行処理が終了したことを知らせる。
その後、表示装置(2)に表示される画面は通常のナビゲーション画面に戻るが、その後の処理はエージェントI/Fを介して全体処理部(102)に受け渡す。
次にシーン処理(ステップ505-6)におけるキャラクタ画像等のシーン構成部品の画像表示位置を調整する表示位置調整処理の動作について説明する。
図11は、キャラクタ表示位置調整処理を表したフローチャートである。
描画・音声出力部(101-5)は、シナリオ駆動部(101-1)で作成したキャラクタ描画データの描画の指示を受けると、シナリオの実行が自動起動によるのか、手動起動によるのかを判断する(ステップ505-6-1)。
シナリオの実行が手動起動であれば(ステップ505-6-1;N)、ユーザにとってキャラクタの表示が最も重要であると判断できるので、描画・音声出力部(101-5)は、位置調整をすることなく処理を終了する。この場合、描画・音声出力部(101-5)は、画像重複の有無に拘わらず、シナリオの各シーン画面の全構成要素を優先して(画面の最上位に)、シーンで指定された位置に表示する。
一方、シナリオの実行が自律起動条件を満たしたことによる自動起動である場合(ステップ505-6-1;Y)、描画・音声出力部(101-5)は、キャラクタの表示可能領域を取得する(ステップ505-6-2:表示可能領域取得手段)。すなわち、全体処理部(102)は、描画・音声出力部(101-5)からの要求により、要求時点において、ナビゲーションやオーディオ等の各種表示情報が表示されていず、一定以上の大きさの領域をキャラクタの表示可能領域として決定し、描画・音声出力部(101-5)へ通知する。
表示可能領域は、一定以上の大きさであれば複数の場合もあり、領域は表示画面上の座標点で表される。
次に描画・音声出力部(101-5)は、各シーン構成部品の各々について、その表示装置(2)における表示領域を画面構成データ(図6参照)から取得する(ステップ505-6-3)。
そして描画・音声出力部(101-5)は、シーン画面の各シーン構成部品のうち、車載機器の表示情報が表示されている画面に重畳して表示させた場合に、前記画像が前記表示装置の前記表示可能領域内であるか否かを判断する(表示位置判断手段)。
すなわち、描画・音声出力部(101-5)は、ステップ505-6-2で取得した表示可能領域に全体が含まれるシーン構成部品を抽出し、そのシーン構成部品の表示領域を表示可能領域から削除する(ステップ505-6-4)。
次に描画・音声出力部(101-5)は、残りのシーン構成部品(一部が表示可能領域からはみ出ているシーン構成部品)について、残った表示可能領域の中で、もとの表示位置に一番近くて、表示位置が決定済みの他のシーン構成部品と重複しない表示位置を順次決定し(位置調整手段)、処理を終了する(ステップ505-6-5)。
なお本実施形態において、シーン画面の残りのシーン構成部品についての表示位置を決定する順序については、表示可能領域と重複していない領域が多いシーン構成部品を先に決定するが、他の順番でもよい。例えば、キャラクタ画面を最後、または最初とし、他のシーン構成部品は重複領域が多い順とする。また、優先順位について予めシナリオデータで定義されているようにし、その順番に従うこともかのうである。さらに、エージェント装置で予めシーン構成部品の種類による優先順位を決めておき、その順位に従うようにしてもよい。
また、描画・音声出力部(101-5)は、取得した表示可能領域が複数存在する場合には次のようにして表示位置を決定する。
すなわち、シーン構成部品の表示領域よりも大きい表示可能領域が複数ある場合にはシナリオ駆動部(101-1)から指示された表示位置にもっとも近い表示可能領域を選択してシーン構成部品を表示する。
一方、描画・音声出力部(101-5)は、全ての表示可能領域がシーン構成部品の表示領域よりも小さい場合、最も大きな領域の表示可能領域を選択してシナリオを表示する。これにより、量画像の重複を最も小さくすることができる。
以上のシーン構成部品の表示位置調整処理の後、描画・音声出力部(101-5)は、シーン処理により、決定した表示位置にキャラクタ画像を表示する。
図12は、位置調整処理によるシーン構成部品の表示状態を表したものである。
この図12に例示したシーン画面は、エージェント処理により、特定の処理をスタートさせるシーンにおけるスタートシーンの画面である。
図12で例示したスタートシーンでは、キャラクタ画像81と、スタートボタン82のシーン構成部品で構成されている。
図12(a)は、オーディオ表示情報の表示画面上に重畳して、スタートシーンのシーン構成部品をその定義位置に表示した状態を表したものである。このように、各シーン構成部品をその定義位置に表示すると、オーディオ表示情報である各種操作キー83の一部がキャラクタ画像81で隠れてしまう。
そこで、図12(b)に示されるように、描画・音声出力部(101-5)は、キャラクタの表示可能領域84を座標点データで取得する。
そして、図12(c)に示されるように、シーン構成部品のうち、スタートボタン82の全体が表示可能領域85に含まれているので、スタートボタンの表示領域を削除すると表示可能領域85が残る。
その後、表示可能領域84外に表示されてしまうキャラクタ画像81を、画面構成データで定義されている元の表示位置から、残りの表示可能領域85内に移動する(図12(b))。
これにより、図12(e)は、最終的にオーディオ表示情報とスタートシーン画面とが表示される表示装置の画面を表したものである。スタートシーン画面を元々の定義位置に表示した(a)に比較すると、キャラクタ画像81の移動によって、隠れていた「MP3」キーと「DVD」キーが現れ、これら表示情報による操作が可能になる。
次に、ユーザや第三者が独自のシナリオを作成するシナリオ作成装置2の構成とその動作について説明する。
図13は、シナリオ作成装置の構成を表したものである。
シナリオ作成装置は、制御部(200)と、入力装置(210)と、出力装置(220)と、通信制御装置(230)と、記憶装置(240)と、記憶媒体駆動装置(250)と、入出力I/F(260)とを備えている。これら各装置は、データバスや制御バス等のバスラインにより接続されている。
制御部(200)は、CPU(200-1)と、メモリ(200-2)等から構成されており、シナリオ作成装置全体を制御する。
CPU(200-1)は、種々の演算処理を実行するプロセッサである。
メモリ(200-2)は、CPU(200-1)が種々の演算処理を実行する際にワーキングメモリとして使用される。
CPU(200-1)は、メモリ(200-2)にプログラムやデータなどを書き込んだり消去したりすることができる。
本実施の形態におけるメモリ(200-2)には、CPU(200-1)がシナリオエディタ(シナリオ編集プログラム)に従ってシナリオデータを作成、編集、記憶等するためのエリアが確保可能になっている。
入力装置(210)は、シナリオ作成装置に対して文字や数字その他の情報を入力するための装置であり、例えばキーボードやマウスなどにより構成されている。
出力装置(220)は、例えばCRTディスプレイ、液晶ディスプレイ等の表示装置や印刷装置などである。表示装置は、シナリオを作成するためのメイン画面や、各シーンにおけるシーン構成部品の表示領域を含めた画面構成を選択するための画面等の各種画面が表示される。また、各画面において選択された情報や入力された情報が表示されるようになっている。
通信制御装置(230)は、外部との間で各種データやプログラムを送受信するための装置であって、モデム、ターミナルアダプタその他の装置が使用され、例えばインターネットやLAN(Local Area Network)などに接続可能に構成されている。
通信制御装置(230)は、作成したシナリオデータを、これらのネットワークで接続されたいずれかのサーバ3にアップロードしたり、他のシナリオ作成装置との間でお互いに作成したシナリオデータの送受信したり、シナリオデータの作成に必要なデータの送受信をしたりすることができるようになっている。
通信制御装置(230)はCPU(200-1)によって制御され、例えば、TCP/IPなどの所定のプロトコルに従ってこれら端末装置やサーバ装置との信号及びデータの送受信を行なう。
なお、シナリオ作成装置2で作成したシナリオデータは、ICカード等の記憶媒体に書き込んでエージェント装置1に取り込むことも可能である。
記憶装置(240)は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
記憶装置(240)には、シナリオ編集プログラム(240-1)、シナリオ編集データ(240-2)、及びその他のプログラム・データ(240-3)が格納されている。その他のプログラムとして、例えば、通信制御装置(230)を制御し、シナリオ作成装置とネットワークでつながれた端末装置やサーバ装置との通信を維持する通信プログラムや、メモリ管理や入出力管理などのシナリオ作成装置を動作させるための基本ソフトウエアであるOS(Operating System)なども記憶装置(240)に格納されている。
記憶媒体駆動装置(250)は、着脱可能な記憶媒体を駆動してデータの読み書きを行なうための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、ICカード類、データをパンチした紙テープ、CD-ROMなどがある。
シナリオ作成装置2は、記憶媒体駆動装置(250)によって記憶媒体を駆動することにより、シナリオデータが格納された記憶媒体からシナリオを取得したり、あるいは、作成したシナリオデータを記憶媒体駆動装置から記憶媒体に格納したりすることができる。
入出力I/F(260)は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。
入出力I/F(260)に当該インターフェースに対応した外部機器を接続することにより、シナリオ作成装置の機能を拡張することができる。このような外部機器として例えば、ハードディスクなどの記憶装置、通信制御装置、スピーカ、マイクロフォンなどがある。
次に、シナリオ編集プログラム(240-1)と、シナリオ編集データ(240-2)の構成について説明する。
図14は、シナリオ編集プログラムとデータの構成を概念的に表したものである。
シナリオ編集プログラム(240-1)は、シナリオエディタ(240-1-1)と、シナリオコンパイラ(240-1-2)と、DB編集ツール(240-1-3)が存在する。
シナリオ編集データ(240-2)は、共通定義DB(240-2-1)と、ローカル定義DB(240-2-2)と、シナリオエディタで作成したSCE形式シナリオデータ(240-2-3)と、シナリオコンパイラで変換された実機形式(NAV形式)シナリオデータ(240-2-4)が存在する。
シナリオエディタ(240-1-1)は、シナリオデータを作成するアプリケーションプログラムである。
シナリオコンパイラ(240-1-2)は、シナリオエディタ(240-1-1)で作成されたSCE形式のシナリオデータ(240-2-3)を、エージェント装置で使用可能な実機形式のシナリオデータ(240-2-4)に変換するアプリケーションプログラムで、変換手段として機能する。
図15は、シナリオコンパイラ(240-1-2)によるシナリオデータのデータ形式を変更した状態を概念的に表したものである。
この図15に示されるように、シナリオコンパイラ(240-1-2)は、1個以上のSCE形式シナリオデータ(240-2-3)を、1個の実機形式(NAV形式)のシナリオデータ(240-2-4)に変換する。
図14において、DB編集ツール(240-1-3)は、共通定義DB(240-2-1)に格納されているデータを編集・更新するためのアプリケーションプログラムである。
共通定義DB(240-2-1)は、シナリオデータを作成する際の定義データが格納される。共通定義DB(240-2-1)には、後述する自動起動項目データの他、シーン展開をするアクション項目及び追加判断項目、キャラクタの表示状態指示テーブル等が格納される。この共通定義DB(240-2-1)は、シナリオ作成装置の記憶装置ではなく、ローカルエリアネットワーク(LAN)でつながっているサーバ上に存在してもよい。こうすることで、ローカルエリアネットワーク(LAN)でつながっている各シナリオ作成装置は共通の共通定義DB(240-2-1)を使ってシナリオデータの作成ができる。
ローカル定義DB(240-2-2)は、シナリオ作成者がシナリオデータを作成中に定義した画面構成が格納される。
SCE形式シナリオデータ(240-2-3)は、シナリオエディタ(240-1-1)で作成されたデータである。
実機形式(NAV形式)シナリオデータ(240-2-4)は、シナリオコンパイラ(240-1-2)によってSCE形式シナリオデータ(240-2-3)からエージェント装置で使用するためのデータ形式に変換されたデータである。
図16は、共通定義DB(240-2-1)に格納されている自動起動項目として設定可能な項目を例示したものである。
この自動起動項目は、エージェント装置で検出、認識、確認可能な各項目の種類のサンプルを概念的に一覧表示したものである。
この自動起動項目は、共通定義DB(240-2-1)に記述されており、シナリオエディタ(240-1-1)でシナリオを作成する際に、自律起動条件を設定するために、自動起動項目が共通定義DB(240-2-1)から読み出され、リスト表示される(提示手段)。作成者は、このリスト表示(一覧表示)された中から自動起動項目を選択する(選択手段)。
それぞれ選択された項目の種類に記されている内容によって数値入力を行なうウインドウが表示されたり、一覧から選択するウインドウが表示されたりして自動起動項目の判断条件を入力する。この操作を1又は複数回繰り返しシナリオを自律的に起動するための判断条件である自律起動条件のデータが作成される。
このように、画面要素推移体(シナリオ)の起動条件を設定することにより、起動条件設定手段が形成される。
図16(b)、図16(c)は、自動起動項目に対して、自律起動条件として選択可能な選択可能項目を例示したものである。
選択可能項目も共通定義DB(240-2-1)に記述されている。図16(a)に例示した自動起動項目を示したテーブルのうち、種別の欄に一覧から選択と表記された項目について、更に下位の概念として選択可能な項目が、選択可能項目として図16(b)、図16(c)に規定されている。選択可能項目に規定されたグループと、自動起動項目の項目とは、一番左側のNo.の項目で対応付けられている。
選択された自動起動項目と選択された選択可能項目及び入力された数値や時刻、距離等の組み合わせが、各シナリオに対する自律起動条件となる。例えば、ユーザによる選択が、自動起動項目「加速度」、選択可能項目「急減速状態」である場合、自律起動条件は「加速度−急減速」となる。
なお、本サンプルはあくまでもサンプルであり定義を変更してもよい。
例えば車速入力を一覧から選択にし、10km/h毎に区切られた項目の中から選択する形をとってもよい。
図14における共通定義DB(240-2-1)には、更に、1のシーン(画面要素)から次のシーンに展開するための移行条件(展開条件)や分岐条件が格納されている。
展開条件の各項目は、各シーンの展開構成を作成する際に読み出され、分岐条件指定ウインドウにリスト表示される。このリスト表示された中から展開条件項目を選択することにより、図7の(a)から(b)へ、(b)から(c)へと例示されるように、シーンの展開構成が作成される。
また、各シーンから条件を判断して、その判断結果から複数のシーンに分岐する場合の条件項目も選択可能である。図7の例では、(c)から(d)と(f)に分岐するシーンが展開されている。
このように通常シーンの後に分岐シーンを複数(直列、及び並列に)継続させることで、1の通常シーンに対して多彩な条件で分岐する複数の通常シーンを展開させることが可能になる。
共通定義DB(240-2-1)には、その他、音声認識に使用する音声認識用データと、キャラクタの動作指示に使用するデータ(別途台詞の指示データも存在する)と、各シーンで設定した指示をプレビューして確認するためのキャラクタ画像データ及びキャラクタ台詞データ及びキャラクタによらない統一の指示に対する各キャラクタの表現方法への変換テーブルと、表示装置(2)に表示する各パーツデータ及びそれらをどのように配置するかが記された画面構成データと、シーンにおける処理内容として選択可能な項目、例えば、エージェントが処理可能な行為である、オーディオ装置のオン・オフやチャンネル選択、エアコン装置のオン・オフと温度設定、全体処理部(102)に供給する目的地の設定等の各種処理内容項目データ等が格納されている。
これら全ての定義データも、各定義データと同様に、変更及び追加がDB編集ツール(240-1-3)を使って行なうことができるようになっている。
各シーンで設定した指示をプレビューして確認するためのキャラクタ画像データは、エージェント装置に格納されている各種キャラクタの画像データが格納されている。
次に、このように構成されたシナリオ作成装置によるシナリオ作成の各動作について、画面の遷移に従って説明する。
図17は、シナリオエディタ(240-1-1)を起動した場合に表示装置に表示されるメインウインドウの構成を表したものである。
以下に説明するように、このメインウィンドウからの各種設定により、車載装置の表示画面と同期して実行される処理内容が定義された画面要素を組み合わせて構成された画面要素推移体データを作成する画面要素推移体作成手段が構成される。
この図17に示されるように、メインウインドウは、作成中のシーン画面(エージェント装置1の表示装置(2)に表示されるシーン画面(図7参照))が表示されるシーン画面301と、各種設定を行う設定項目が表示された設定画面303と、シーンの展開構成(分岐の状態)が各シーンを表すシーンアイコン307のツリー構造により表示されるシーン展開画面305、及び処理アイコン表示部で構成されている。
シナリオエディタ(240-1-1)を起動すると、メインウインドウのシーン展開画面305には、スタートポイント308が表示される。このスタートポイント308を選択するとシナリオプロパティの編集ができる。選択は、例えば、マウスカーソルによるポイント位置を該当箇所に合わせて、マウスをダブルクリックすることで選択される。
画面構成の変更ボタン309は、表示したい画面構成を選択するボタン、効果音設定ボタン310は、シナリオのシーン毎に効果音を設定する画面を表示するボタンである。
エージェント表示画面311を選択すると、エージェント(キャラクタ)の動作の編集画面が表示される。
台詞編集ボタン313は、キャラクタの台詞の指示を編集するボタンである。
ボタンパーツとバックグラウンド音声認識辞書設定315を選択すると使用する音声認識辞書の編集ができる。シーン画面301の回答選択ボタン315aのマークで表示されている方を選択すると認識する単語の名称がシーン画面に表示され、バックグラウンドで認識する方315bを選択すると、音声認識の対象となるが認識する単語の名称は表示されない。
タイマー設定ボタン317は、タイマー設定情報を設定、及び変更するためのボタンである。
音声認識開始制御指示320aでは、作成中のシーンにおいて音声認識を行う場合に、音声認識の開始をどのようにするかを規定する音声認識の指示を設定する。音声認識の指示としては、音声認識を「自動で開始する」、「自動で開始しない」、「エージェント装置(車載装置)が判断する(おまかせ)」、のうちのいずれかを選択可能になっている。
コールバック制御指示320bでは、音声認識の結果を確認するためのコールバックを行うか否かについての指示を設定する。コールバックの指示としては、「コールバックする」、「コールバックしない」、エージェント装置が状況判断してコールバックをするかしないかを判断する「エージェント装置が判断(おまかせ)」のうちのいずれかを選択可能になっている。
AMMの変化の設定変更ボタン321は、作成中のシーンでエージェントの各長期的感情要素を変更するためのボタンである。
シーン展開表示部322は、シーン展開画面で指定された(アクティブ状態の)シーンに対して規定されている展開条件項目及び追加条件項目と、その条件項目を満たす場合に継続(接続)するシーンが表示される。
シーン展開表示部322の左側には、図17に示されるように、アクティブ状態のシーンに設定された展開条件や追加条件の分類がツリー構造で表示される。また、シーン展開表示部の右側には、移行条件の内容とその接続先(展開先のシーン番号)が表示される。
処理アイコン表示部には、シーン作成ボタン323、分岐シーン作成ボタン324、エンドIDボタン327、挿入ボタン329、シーン再生ボタン331、ビルドボタン332、その他の処理ボタンが表示されている。
シーン作成ボタン323は、新たに通常シーンを作成する場合に使用する。
シーン作成ボタン323をクリックするとシナリオの流れを編集できる(次のシーンを作成する)。シーン作成ボタン323をクリックすると、現在選択しているシーンの次に展開する通常シーンの作成が可能になる。
シーン作成ボタン323でシナリオの流れを分岐させることで、各通常シーンに対する展開構成が作成される。例えば、図17のシーン展開画面305に表示されているシーン展開構成に於いて、通常シーンのアイコン5を選択した状態(アクティブ表示されている状態)で、シーン作成ボタン323をクリックするとシーン5に続くシーンのアイコンが下層側に表示され、複数回クリック(複数回作成操作を行う)することでシーン5に続いて展開される通常シーン7、8、…が分岐して作成される。
すなわち、シーンm(通常シーン又は分岐シーン)を選択した状態でシーン作成ボタン323をクリックすることで、シーンmに続く次の通常シーンm1が作成される。そして、再度シーンmを選択した状態で、シーン作成ボタン323をクリックするとシーンmに続く次の通常シーンm2が、通常シーンm1と並列に分岐して作成される。同様に再度シーンmを選択した状態でシーン作成ボタン323をクリックすると通常シーンm3が作成される。
そして、作成した通常シーンm1に続くシーンを更に展開させたい場合には、通常シーンm1を選択した状態でシーン作成ボタン323をクリックすることで、通常シーンm1に続く次の通常シーンm1-1が作成される。通常シーンm1から分岐する別のシーンを作成する場合にはシーンm1を再度選択してシーン作成ボタン323をクリックすればシーンm1に続くシーンm1-2が作成される。
更に、作成した通常シーンm1-1アクティブにした状態でシーン作成ボタン323をクリックすれば、通常シーンm1-1に続く通常シーンm1-1-1が作成される。
分岐シーン作成ボタン324、新たに分岐シーンを作成する場合に使用する。
分岐シーン作成ボタン324をクリックするとシナリオの流れを編集できる(次の分岐シーンを作成する)。分岐シーン作成ボタン324をクリックすると、現在選択しているシーンの次に展開する分岐シーンの作成が可能になる。
分岐シーン作成ボタン324により、展開条件に続けてさらに複数の追加条件で分岐させることで、移行条件の論理演算(論理和、論理積)による各通常シーンに対する展開構成を作成することができる。
例えば、図17のシーン展開画面305に表示されているシーン展開構成において、通常シーン1から通常シーン2に展開する場合に、両通常シーン間に分岐シーン4と分岐シーン6を挿入することで、通常シーン1に規定する状態変化をした場合で、分岐条件4と分岐条件6の両者を満たした場合に通常シーン2が通常シーン1に続いて展開される。このように、分岐シーンを複数使用することで、多彩な条件設定により種々の展開をするシナリオを作成することができる。
図17において分岐シーンは符号333で表されている。分岐シーンの作成は、通常シーンに続けることも、分岐シーンに続けて作成することも可能である。例えば、図17のシーン展開画面305の通常シーン1をアクティブにした状態で分岐シーン作成ボタン324を選択することで分岐シーン4が作成され、この分岐シーンをアクティブにした状態で更に分岐シーン作成ボタン324を選択することで分岐シーン6が作成されている。
分岐シーンを階層的に作成する方法は、上で説明した通常シーンの作成方法と同様である。
終了位置作成ボタン327をクリックするとシナリオの終了位置340を作成できる。作成した各シナリオの終了位置340には、終了番号がエンドIDとして割り振られるようになっている。
作成したシナリオの終了位置340を選択すると、エンドプロパティ編集画面(図40参照)を表示し、この画面において、エージェントの各短期的感情要素を設定、及び変更することができる。
挿入ボタン329は、それぞれアクティブ状態のシーン(通常シーン、分岐シーン)又はエンドマークの前に通常シーン、分岐シーンを挿入するためのボタンである。各シーンの種類に応じたボタンを選択する。
シーン再生ボタン331は、アクティブな通常シーンを再生するためのボタンである。
ビルドボタン332は、作成したシナリオをエージェント装置で使うための実機形式(NAV形式)のフォーマットにコンパイルするためのボタンである。
なお、図17に示したメインウインドウは、シナリオの作成途中を例示したもので、シナリオエディタ(240-1-1)を起動した当初の画面は、シーン展開画面305にスタートポイント308だけが表示され、シーン画面301には何も表示されていず、設定画面303も未設定(デフォルト値は表示されている)の状態である。
シーン展開画面305において分岐シーン、例えば、図17の分岐シーン4を選択してアクティブにするとシーン画面301の領域に、追加条件分類表示欄と、追加条件項目欄が表示される。
分岐条件分類表示欄には、アクティブ状態の分岐シーンに対して選択されている追加条件項目の分類が表示され、分岐条件項目欄には、分岐先を指定する追加条件項目が表示される。
図18は、シナリオプロパティを編集する画面操作の流れを表したものである。
図17に示したメインウインドウにおいて、シーン展開画面305に表示されているスタートポイント308をダブルクリックすると、図18に示すシナリオプロパティの編集ウインドウがメインウインドウ上に重ねて表示される。
このシナリオプロパティの編集ウインドウにおいて、シナリオ名称入力、カナ名称入力、アイコン選択、ジャンル選択、プライオリティの設定、有効期限(開始条件を満たしてから実際に開始するまでのタイムラグの上限値)の設定、走行中実行条件の設定、シナリオの起動条件の設定(別ウインドウ)、スタンバイ処理使用条件の設定、作成者名称入力、コメント入力が行なえる。この画面で入力されるシナリオ名称入力、カナ名称入力は、実機形式のシナリオデータにおける管理データ等となる。
シナリオプロパティの編集ウインドウにおいて、決定ボタン402をクリックすると編集内容がデータに反映され、メインウインドウに戻る。一方、キャンセルボタン403をクリックするとデータに反映されなで、メインウインドウに戻る。
シナリオプロパティの編集ウィンドウ(図18)において、スタンバイ処理使用条件の設定ボタン409をクリックすると、スタンバイ処理の条件画面が表示され、スタンバイ処理を行うか否かを選択できるようになっている。
シナリオプロパティの編集ウインドウにおいて、起動条件の設定ボタン401を選択すると、図19(a)に示す、シナリオ開始条件(自動起動条件)のメイン編集ウインドウが表示される。
以下に説明する、このシナリオ開始条件のメイン編集ウィンドウによる設定処理により、画面要素推移体データを起動する起動条件を設定する起動条件設定手段が構成される。
シナリオ開始条件のメイン編集ウインドウ(図19(a))では、ユーザがシナリオを手動で開始できるように設定できる。この事例ではチェックボックス406のチェックを外して手動で起動しないに設定されている。
このシナリオ開始条件のメイン編集ウインドウ(a)の左側の自動起動条件(自律起動条件)一覧にはシステムがシナリオを自動で開始する条件が表示される。図19(a)の状態では、まだ何も設定されていないので空欄の状態である。
シナリオ開始条件のメイン編集ウインドウ(図19(a))において、新規作成ボタン405をクリックすると、自動開始条件選択ウインドウ(図19(b))が表示され、新しい開始条件の編集ができる。
自動開始条件選択ウインドウ(図19(b))において、設定したい判断条件項目(カテゴリ)を選択し、決定をクリックすると自動開始する条件範囲の選択ウインドウ(図19(c))へ進む。この図19(b)の例示では、高速道路走行中にシナリオを自動で開始(自律起動)したいので、「道路の状態がどのようなときに起動するか選択」の中の「種類を選択」の項目を選択し、決定をクリックする。
キャンセルをクリックするとシナリオ開始条件のメイン編集ウインドウ(図19(a))に戻る。
この自動開始条件選択ウインドウ(図19(b))に表示し、選択できる項目は、図16(a)に表示した自動起動項目である。図19(b)において、「いつ起動させるかを選択」のフォルダ内を選択すると図16(a)のNo.1〜10の条件項目が1つ下の階層に表示される。
同様に、「どこで起動させるかを選択」のフォルダを選択するとNo.10〜16が、「道路の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜23が、「車の状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.17〜20が、「ナビの状態がどのようなときに起動させるかを選択」のフォルダを選択するとNo.21〜28が、「ユーザがどのようなときに起動させるかを選択」のフォルダを選択するとNo.29〜30が、それぞれ1つ下の階層に表示される。
自動開始する条件範囲の選択ウインドウ(図19(c))では、前のウインドウ(b)で選択した判断条件項目(カテゴリ)によってウインドウの構成が変わる。図示した例では、道路の種類を選択する項目のウインドウが表示されている。
自動開始する条件範囲の選択ウインドウ(図19(c))で、選択可能な項目は、自動開始条件選択ウインドウ(図19(b))で選択した自動起動項目に対応する、選択できる項目(図16(b))である。この選択できる項目は、選択項目欄408右側のマークをクリックすることで、プルダウンメニュー表示される。
自動で開始しても良い条件範囲を一覧から選択(又は数字で入力)し、追加ボタンをクリックすると選択した項目が設定されて下の欄に表示される。図示した例では、「高速道路」を選択して追加ボタンをクリックした場合が表示されている。
自動開始する条件範囲の選択ウインドウ(図19(c))で決定ボタンをクリックするとその設定状態に決定し、シナリオ起動条件のメイン編集ウインドウ(図19(c))に戻る。
キャンセルをクリックすると自動開始条件選択ウインドウ(図19(b))に戻る。
図19(d)のシナリオ開始条件のメイン編集ウインドウでは、左側の自動起動条件一覧に、上記操作で設定した自動で開始する条件(道路の種類が高速道路だったら起動する)が表示されている。
また、自動起動の条件一覧画面に表示されている自動で開始する条件を選択して編集ボタンをクリックすると、選択した条件にさらに条件設定を追加するための自動開始条件選択ウインドウ(図19(b))が表示される。
次に、自律起動条件以外の、シナリオを作成する各種操作について説明する。
図20は、エージェント表示画面51(図7参照)に表示したい画面構成を選択する画面構成選択ウィンドウを表したものである。
このメインウィンドウ(図17)のシーン展開画面305に表示されているシーンアイコン307を選択してアクティブ状態にすると、選択したシーンアイコンに対応するシーン画面が表示される。
そして、設定画面303の画面構成の変更ボタン309をクリックすると、選択されているシーンの画面構成を選択するための画面構成選択ウインドウが表示される。
この画面構成選択ウインドウでは、シーン表示画面54(図7参照)に表示可能な画面構成が一覧表示される。図20に示した画面構成ウィンドウでは、キャラクタ画面と吹き出し画面以外何も表示されない基本画面、ボタンによる選択ボタンが2つ表示された2択画面、選択ボタンが複数表示されたボタン選択画面、例えば、都道府県名等の複数の項目がリスト表示されるリスト選択画面、画像データを表示する画像表示画面等の各種選択可能な画面が表示される。
さらに、画面をスクロールすることで、図12のスタートシーンの画面の様に吹き出し画面がなく、キャラクタ画面と選択ボタンだけの画面、その他各種画面がリスト表示される。
一覧表示された各画面構成の中から1の画面構成を選択し、決定ボタンをクリックすることで、メインウィンドウに戻ってシーン画面301が新たに選択した画面構成に変更されて表示される。
なお、リスト表示された画面構成に希望するものがない場合には、「新規画面構成作成ボタン」を選択するとで、新規画面構成作成ウィンドウが表示され、新たな画面構成を設定することができる。
新規画面構成ウィンドウでは、シーン画面枠と、シーン画面枠に配置するシーン構成部品欄が表示される。シーン構成部品欄には、キャラクタ画像、吹き出し画面、選択ボタン、リスト表示画面、写真画像画面等の各種シーン構成部品が画面右側に表示される。
ユーザは、希望するシーン構成部品を選択して、シーン画面枠にドラッグアンドドロップすることで、希望するシーン構成部品を希望位置に配置したシーン構成画面を作成することができる。
なお、シーン構成部品をシーン画面枠に配置したのち、そのサイズを変更することも可能である。また、画面構成選択ウィンドウにリスト表示された画面構成から選択した場合も、各シーン構成部品の位置とサイズを変更することも可能である。
一方、シーン画面の編集状態を表しているメインウィンドウ(図17)において、エージェント表示画面311をマウスでダブルクリックすると、キャラクタ動作(エージェントの動作)指示を編集する動作編集ダイアログが表示される。
この動作編集ダイアログにおいて、お辞儀をする、右を指す、右を見る等の個別の動作の一覧や、感謝、否定、誉める、挨拶等の表現内容の一覧が表示され、各シーン画面毎のキャラクタの動作を指定する。
キャラクタ(エージェント)の台詞は、台詞の編集ウィンドウで設定される。
台詞の編集ウィンドウは、シーン画面の編集状態を表しているメインウインドウ(図17)において、設定画面303の台詞編集ボタン313をクリックすることで表示される。
台詞の編集ウインドウでは、PCM(録音されて用意されている肉声データ)による設定と、TTS(合成音声)による設定が可能である。
PCMの場合、台詞を全角ひらがなで入力(上記入力用ボックス)し該当する台詞が有るか検索し、検索結果(検索結果一覧表示欄が存在する)から選択しキャラクタに話させる台詞を設定する。
一方、TTSの場合は台詞名称(吹き出し表示用データ)とフリガナ(合成音声を作成するためのデータ)を入力しキャラクタに話させる台詞を設定する。
台詞の編集ウインドウにおいて、設定された台詞の内容が吹き出し画面430のデータとしても反映される。
図21は、作成したシナリオをエージェント装置で使用可能な実機形式(NAV形式)のフォーマットにコンパイルするための画面操作の流れを表したものである。
メインウインドウ(a)において、シナリオコンパイルボタン325をクリックすると、シナリオコンパイラ(240−1−2)が起動して、シナリオコンパイラのウインドウ(b)が表示される。
このシナリオコンパイラのウインドウ(b)において、コンパイルしたデータを出力するファイルの名称を指定し、同時に変換するシナリオを選択(シナリオ一覧リストにチェックしたシナリオを同時に変換する)し、コンパイルボタンをクリックするとデータ変換を開始する。データ変換の状況を結果表示部に表示する。
またシナリオコンパイラは、データ変換を終了すると、実機形式(NAV形式)に変換後のシナリオデータ(240-1-3)を変換後のシナリオデータを記憶装置240のシナリオ編集データ(240−2)に格納する。
以上説明したように、本実施形態のエージェント装置によれば、シナリオ作成装置で作成されたシナリオデータに基づいてエージェントを自律的に起動させる(自動で登場させる)条件を満たしたかを判断する処理を定期的にもしくは特定の状態を満たしたときに実行し、条件を満たした場合にエージェントを自動で登場させることができる。
一方、本実施形態のシナリオ作成装置及びシナリオエディタによれば、プログラムの知識の有無に関係無く、シナリオエディタを持つことで特定の条件を満たしたときに自動で登場して対応してくれるエージェントのシナリオデータを容易に作成及び編集することができる。
以上、本発明の車載装置、データ作成装置、及びデータ作成プログラムにおける1実施形態について説明したが、本発明は説明した実施形態に限定されるものではなく、各種の変形を行うことが可能である。
例えば、説明した実施形態では、オーディオ等の車載機器の表示情報にシーン画面のシナリオ構成部品を重畳した場合に、重複するシナリオ構成部品を表示可能領域内に移動するようにしたが、移動後もまだ表示可能領域からはみ出す場合には、そのシナリオ構成部品を表示領域内に表示可能な大きさに縮小して表示するようにしてもよい。
また、シナリオ作成装置でシーン構成部品を定義する際に、車載器の表示情報と重複する場合であっても必ず表示する非消去対象か、車載器の表示情報と重複する場合には消去可能な消去対象かを指定する様にしてもよい。
この場合エージェント装置は、シーン処理(505-6)において、車載器の表示情報と重複する場合、消去対象となっているシーン構成部品は消去し、非消去対象となっているシーン構成部品に対して表示位置調整処理(図11)を行う。
なお、消去対象となっているシーン構成部品でも、重複しない場合には表示するようにするが、消去対象であるシーン構成部品は全て消去するようにしてもよい。
本発明の実施形態におけるエージェント装置とシナリオ作成装置及びサーバからなる全体のシステム構成図である。 本発明の一実施形態におけるエージェント装置の構成を示すブロック図である。 CPUでプログラムが実行されることにより実現されるエージェント処理部と、全体処理部との関係を表した説明図である。 エージェント処理部の構成を表した説明図である。 外部記憶媒体に集録されている情報を概念的に表した説明図である。 実機形式シナリオデータの構成を表したものである。 旅館が宿泊予定者に送信した案内シナリオによるシーン画面の遷移を各シーン毎に表した画面遷移図である。 自律起動判断部によるシナリオの自律起動判断処理について表したフローチャートである。 条件判断処理の処理内容を表したフローチャートである。 シナリオ実行処理の流れの一例を表したフローチャートである。 キャラクタ表示位置調整処理を表したフローチャートである。 位置調整処理によるシーン構成部品の表示状態を表した説明図である。 シナリオ作成装置の構成図である。 シナリオ編集プログラムとデータの構成を概念的に表したものである。 データ形式の変換を概念的に表したものである。 自動起動項目として設定可能な項目を例示したものである。 シナリオエディタを起動した場合に表示装置に表示されるメインウィンドウの構成を表したものである。 シナリオプロパティを編集する画面操作の流れを表したものである。 シナリオ開始条件のメイン編集ウィンドウから、シナリオ起動条件を編集する画面操作の流れを表したものである。 エージェント表示画面に表示したい画面構成を選択する画面構成選択ウィンドウを表したものである。 作成したシナリオをナビゲーションで使用可能な実機形式のフォーマットにコンパイルするための画面操作の流れを表したものである。
符号の説明
1 エージェント装置装置
2 シナリオ作成装置
3 サーバ
(1) 中央処理装置
(2) 表示装置
(3) 音声出力装置
(4) 音声入力装置
(5) 入力装置
(6) 各種状況検出装置
(7)各種車載装置
(8)通信制御装置
(9)通信装置
(10)外部記憶装置
(200) 制御部
(210) 入力装置
(220) 出力装置
(230) 通信制御装置
(240) 記憶装置
(250) 記憶媒体駆動装置
(260) 入出力I/F

Claims (4)

  1. 画像の表示位置が定義された画面要素を組み合わせて構成された画面要素推移体データを車外から取得し記憶する画面要素推移体記憶手段と、
    表示装置と、
    前記表示装置の表示領域で、車載機器の情報が表示される以外の領域を表示可能な領域として取得する表示可能領域取得手段と、
    前記画面要素に定義された前記画像の表示位置が前記表示装置の前記表示可能領域内であるか否かを判断する表示位置判断手段と、
    前記表示位置判断手段により、前記画像の表示位置が前記表示可能領域外である場合には、前記表示可能領域内に表示するように変更する表示位置調整手段と、
    を具備することを特徴とする車載装置。
  2. 前記表示位置判断手段は、前記組み合わされた画面要素毎に定義された画像の表示位置が前記表示可能領域内であるか否かを判断する
    ことを特徴とする請求項1に記載の車載装置。
  3. 前記画面要素推移体データは、各画面要素に定義された画像の表示位置を管理する管理データを備え、
    前記表示位置判断手段は、前記管理データに管理された画像の表示位置が前記表示可能領域内であるか否かを判断する
    ことを特徴とする請求項1に記載の車載装置。
  4. 前記車載機器の情報は、ナビ表示情報、空調表示情報、オーディオ表示情報、平均車速表示情報、燃費表示情報のうちいずれか1つである
    ことを特徴とする請求項1に記載の車載装置。
JP2003425777A 2003-12-22 2003-12-22 車載装置 Pending JP2005178685A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003425777A JP2005178685A (ja) 2003-12-22 2003-12-22 車載装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003425777A JP2005178685A (ja) 2003-12-22 2003-12-22 車載装置

Publications (1)

Publication Number Publication Date
JP2005178685A true JP2005178685A (ja) 2005-07-07

Family

ID=34785536

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003425777A Pending JP2005178685A (ja) 2003-12-22 2003-12-22 車載装置

Country Status (1)

Country Link
JP (1) JP2005178685A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193515A (ja) * 2007-02-06 2008-08-21 Ntt Docomo Inc 携帯端末及び表示制御方法
JP2013078969A (ja) * 2011-10-03 2013-05-02 Yupiteru Corp 運転支援システムおよび運転支援プログラム
WO2013171898A1 (ja) 2012-05-18 2013-11-21 トヨタ自動車株式会社 車両の情報表示装置
JP2021043977A (ja) * 2020-10-06 2021-03-18 株式会社ユピテル 装置及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008193515A (ja) * 2007-02-06 2008-08-21 Ntt Docomo Inc 携帯端末及び表示制御方法
JP2013078969A (ja) * 2011-10-03 2013-05-02 Yupiteru Corp 運転支援システムおよび運転支援プログラム
WO2013171898A1 (ja) 2012-05-18 2013-11-21 トヨタ自動車株式会社 車両の情報表示装置
JP2021043977A (ja) * 2020-10-06 2021-03-18 株式会社ユピテル 装置及びプログラム
JP7081841B2 (ja) 2020-10-06 2022-06-07 株式会社ユピテル 装置及びプログラム

Similar Documents

Publication Publication Date Title
JP6397067B2 (ja) サードパーティサービスをデジタルアシスタントと統合するシステム及び方法
JP5019145B2 (ja) 運転者情報収集装置
US20040225416A1 (en) Data creation apparatus
JP2007147439A (ja) ナビゲーション装置
JP4259054B2 (ja) 車載装置
JP4441939B2 (ja) 目的地設定装置
JP4207350B2 (ja) 情報出力装置
JP2012026750A (ja) 携帯端末および通信システム
JP2005190192A (ja) 車載装置
JP4356450B2 (ja) 車載装置
JP4284733B2 (ja) エージェント装置
JP4258607B2 (ja) 車載装置
JP2004037953A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP7274404B2 (ja) 情報提供装置、情報提供方法、およびプログラム
JP2005178685A (ja) 車載装置
JP2004054883A (ja) 車載用エージェントシステム及び対話型操作制御システム
JP2003157489A (ja) 操作制御装置
JP4449446B2 (ja) 車載装置及びデータ作成装置
JP4059019B2 (ja) 車載装置、及びデータ作成装置
JP2004301651A (ja) 車載装置及びデータ作成装置
JP2004053251A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP2004050975A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP2003106846A (ja) エージェント装置
JP2004051074A (ja) 車載装置、データ作成装置、及びデータ作成プログラム
JP2004061252A (ja) 車載装置、データ作成装置、及びデータ作成プログラム