(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0011】
以下、本発明の実施形態を添付図面に基づいて説明する。
【0012】
<システムの構成>
図1は、本発明の実施例を示し、対話システムの構成の一例を示すブロック図である。本実施例の対話システムは、空港や駅、あるいはショッピングモールなどの公共施設に設置されて、利用者に音声またはタッチによる入力を促して、施設の案内を提供する例を示す。
【0013】
対話システムは、利用者と対向する位置に設置されたタッチパネル4と、タッチパネル4を支持するクレードル8と、クレードル8に設置されたマイク6と、タッチパネル4に設けたスピーカ9とカメラ5と、クレードル8に設置された近接センサ7と、各装置を制御する制御部10を有する。
【0014】
制御部10は、プロセッサ1と、メモリ2と、ストレージ装置3と、を含む計算機で構成される。
【0015】
なお、
図1はあくまで本発明による対話システムの構成の一例であり、これに限定されるものではない。例えば、クレードル8と制御部10が一体の構成であってもよいし、クレードル8にもカメラやスピーカが搭載された構成であってもよい。なお、カメラ5と近接センサ7は、利用者の状況を検出するセンサとして機能する。
【0016】
メモリ2には、センサ情報取得部110と、入力内容解析部(入力データ生成部)120と、利用状況解析部130と、優先度算出部140とシナリオ制御部150と、出力内容取得部170と、出力部160が、それぞれプログラムとしてロードされ、プロセッサ1によって実行される。
【0017】
プロセッサ1は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ1は、センサ情報取得プログラムに従って処理することでセンサ情報取得部110として機能する。他のプログラムについても同様である。さらに、プロセッサ1は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0018】
制御部10の各機能を実現するプログラム、テーブル等の情報は、ストレージ装置3や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0019】
ストレージ装置3には、各プログラムが使用するデータが格納される。図示の例では、施設内の店舗の情報等を含む案内情報を予め格納した回答データベース210と、シナリオテーブル260などを含む会話データベース220と、利用者の入力情報を格納する入力履歴データベース230と、音声認識で使用する音声認識データベース240と、利用状況の解析結果を格納する利用状況履歴データベース250が格納される。各データの詳細については後述する。
【0020】
タッチパネル4は、タッチパネルディスプレイ40と、タッチセンサ41を含む。タッチパネルディスプレイ40は、制御部10が出力する情報を表示する表示部として機能する。タッチセンサ41は、タッチパネル4に対するタッチ入力を検出して、制御部10にタッチされた位置情報を送信する。マイク6は、利用者の発話や設置環境の騒音などを取得する。スピーカ9は、制御部10からの音声信号を出力する。カメラ5は、利用者を撮影する。近接センサ7は、利用者の有無を検出する。
【0021】
<機能の概要>
次に、各機能部の概要について説明する。
図2は、対話システムの機能の一例を示すブロック図である。
【0022】
センサ情報取得部110は、カメラ5と、マイク6と、近接センサ7と、タッチセンサ41からの出力(センサ情報)を受け付けて、入力内容解析部120と利用状況解析部130に出力する。
【0023】
入力内容解析部120は、マイク6に入力された音声情報を基に、周囲の環境音(雑音)と利用者の発話を適宜切り分け、利用者の発話データのみを入力データとして取得すると、音声認識データベース240を参照し、音声認識を実行して発話に対応するテキストを出力する。音声認識は、例えば、隠れマルコフモデルなど周知または公知の技術を用いれば良い。音声認識データベース240は、例えば、音響モデルと、辞書と、言語モデルなど音声認識に必要な情報が予め格納されている。
【0024】
また、入力内容解析部120は、タッチセンサ41からのタッチ入力を受け付けると、現在実行中のシナリオに応じて、利用者のタッチ入力に対応するテキストまたは値を生成する。
【0025】
入力内容解析部120は、音声認識結果のテキストと、タッチ入力に対応するテキストまたは値を入力データとして優先度算出部140へ出力する。
【0026】
利用状況解析部130は、マイク6が設置された環境の騒音を検出(例えば、音圧レベル)し、騒音情報として優先度算出部140へ出力する。また、利用状況解析部130は、カメラ5が撮影した利用者の画像を認識し、利用者の属性や状況を算出する。利用状況解析部130の画像認識は、例えば、周知または公知の画像識技術を利用して、利用者の属性として年齢や性別や所属などを識別する。また、利用状況解析部130は、撮影した利用者の画像から、利用者の人数や利用者の位置を検出する。
【0027】
また、利用状況解析部130は、利用者の視線や顔の向きや、口や手の動きを取得して、利用者の状況を示す情報とする。利用状況解析部130は、上記認識した利用者の属性や状況を優先度算出部140へ出力する。
【0028】
また、利用状況解析部130は、近接センサ7の出力から利用者の出現や立ち去り(利用の終了)を検出し、新たな利用者が出現した場合には、シナリオ制御部150へ処理の開始を通知しても良い。
【0029】
優先度算出部140は、入力内容解析部120から利用者の発話やタッチ入力に対応する入力データと、利用状況解析部130の認識結果から利用者の有無や属性や状況を受け付ける。
【0030】
優先度算出部140は、入力データの種類(音声入力またはタッチ入力)や入力データの内容や、入力履歴DB230に蓄積された過去の入力データや、利用状況解析部130で出力された利用者の状況や、入力データと現在実行中のシナリオとの関連度基づいて入力データ毎の優先度を算出する。優先度の算出については後述する。優先度算出部140は、算出した入力データ毎の優先度をシナリオ制御部150に出力する。
【0031】
シナリオ制御部150は、優先度算出部140から受け付けた入力データの優先度に応じて、シナリオテーブル260から実行するシナリオを選択し、選択したシナリオを出力部160に実行させる。
【0032】
出力部160は、シナリオ制御部150により出力されたシナリオに応じて、入力データに対応する画面出力や音声出力などの出力データを生成し、タッチパネル4やスピーカ9に出力する。また、出力部160は、出力データを出力内容取得部170へ出力する。出力内容取得部170は生成された出力データを優先度算出部140へフィードバックする。
【0033】
シナリオ制御部150は、一定の期間内に複数の入力データを受け付けた場合には、各入力データの優先度を比較して、優先度の高い順にシナリオの実行順序を入れ替える。あるいは、優先度の高い順にシナリオの実行結果の出力の順序や出力の比率(タッチパネルディスプレイ40上での出力サイズ比や出現時間比、スピーカー9から出力される出力時間比など)を変更する。
【0034】
シナリオ制御部150は、実行順序(または実行比率)を入れ替えたシナリオに基づく出力結果を出力部160へ通知する。なお、シナリオ制御部150は、一定の期間内に複数の入力データがなければ、入力データに対応する出力シナリオをシナリオテーブル260から選択して出力部160に実行させる。入力データに対応する出力シナリオは、入力データに含まれる単語でシナリオテーブル260を検索した結果や、入力データに含まれる単語とシナリオテーブル260の入力データに含まれる単語の類似度の高いものを検索した結果など、周知または公知の手法を用いてシナリオテーブル260から検索することができる。
【0035】
ここで、シナリオ制御部150は、入力データを受け付けて、出力部160へ入力データに対応するシナリオを実行させるまでの期間を一定の期間とする。
【0036】
シナリオ制御部150は、例えば、タッチセンサ41からの入力データと、マイク6からの入力データが一定の期間内に発生した場合、2つの入力データのうち優先度の高い入力データを出力部160に実行させ、優先度の低い入力データの実行を遅延または破棄させる。
【0037】
なお、出力部160が出力する表示または発話の選択は、シナリオ制御部150が騒音の大きさなどに応じて適宜変更しても良い。なお、本実施例では、出力データをタッチパネルディスプレイ40とスピーカ9の双方から同時に出力することができる。
【0038】
また、シナリオ制御部150は、入力データを入力履歴データベース230に格納する。
【0039】
以上のように、本実施例の対話システムでは、一定期間内に複数の入力を受け付けたときに、操作が煩雑になるのを防いで、利用者の意図に応じた出力を提供することができる。
【0040】
<データの詳細>
以下、制御部10が利用するデータについて説明する。
図11は、利用状況解析部130によって出力された利用状況履歴データベース250に格納されるデータの一例を示す図である。
【0041】
利用状況履歴データベース250は、入力時刻251や、人数252、年齢253、性別254、所属255、環境音256、視線方向257、口の動き258、手の動き259などの利用状況パラメータ(人数、性別、所属、環境音、利用者ごとの視線方向、利用者ごとの口の動き、利用者ごとの手の動きなど)ごとの解析結果をひとつのエントリに含む。
【0042】
利用状況パラメータごとの解析結果として、利用状況解析部130が解析した結果がそれぞれ記録される。
【0043】
利用状況パラメータごとの解析結果には、優先度算出部140の優先度算出に利用するため予め所定の重みが設定されている。例えば、所属パラメータの解析される値として、一般ユーザとスタッフ、保守員、その他(分類不明)に分類される場合、スタッフの入力を優先度が最も高い1.0、一般ユーザの入力が0.5、その他(分類不明)の入力が0.3、保守員の入力が0.1の用に優先度算出に寄与する重み付けが設定されている。
【0044】
なお、前記所属パラメータの解析結果とそれぞれの解析結果に対する重み付けはあくまで一例であり、その他の解析結果や重み付けを設定してもよい。
【0045】
図12は、会話データベース220に含まれるシナリオテーブル260の一例を示す図である。シナリオテーブル260の各行はリスト番号(図中#)261と対話リスト262から構成される。
【0046】
対話リスト262は対話システムが利用者に対して実施する対話のリストであり、図ではセミコロンで区切られて1以上の対話が表記されている。対話リスト262には、出力情報と入力情報と次のリスト番号が設定される。
【0047】
対話リスト262の出力情報としては、リスト番号261=「1」の「QUESTION」が、利用者への問い合わせを意味し、制御部10は「どの様なご用件は何でしょうか?」という対話の内容を表示または発話する。そして、「CASE」は出力する問い合わせ情報の選択肢として「レストラン」、「ショップ」と、次回に実行するシナリオのリスト番号261が設定される。
【0048】
例えば、利用者が「レストラン」をタッチ入力で選択したときには、次回の処理はリスト番号261=「2」となり、タッチ入力で取得した「レストラン」を示す値は変数「a」に格納される。
【0049】
リスト番号261=「2」の「QUESTION」では、食事に関するサブカテゴリ「和食」、「洋食」、「中華」、「その他」のいずれを選択するかを問い合わせる。いずれの選択においても、制御部10は問い合わせに対する回答(選択結果)を入力として、回答データベース210を検索し、選択結果に応じたさらなるサブカテゴリを表示するリスト番号261=「4」の「QUESTION」である「どのお店を紹介しましょう?」を問い合わせる。そして、制御部10は次回の処理はリスト番号261=「5」であるので、制御部10は回答に対応する検索結果である店舗案内情報の候補を「ANSWER」として出力する。
【0050】
図示の例では、リスト番号261=「5」で検索結果を出力(OUTPUT)した後には、GOTO(1)で、リスト番号261=「1」に復帰する例を示すが、これに限定されるものではない。例えば、出力した候補の中から利用者に所望の店舗を選択させて、さらに詳細な情報を提供したり、空席の照会などを実施させてもよい。
【0051】
対話リスト262は、リスト番号261=「10」の「ANSWER」では、トイレの場所をタッチパネルディスプレイ40へ出力する例を示す。この場合、シナリオ制御部150は、回答データベース210に予め格納された施設内の地図データなどを取得して案内情報として出力すればよい。
【0052】
なお、回答データベース210は、図示はしないが、例えば、店舗の識別子と、カテゴリと、店舗の営業時間などの詳細情報等で構成することができる。また、入力履歴データベース230についても図示はしないが、日付や時刻と入力された情報等を格納することができる。
【0053】
<処理の詳細>
図3は、制御部10で行われる対話処理の一例を示すフローチャートである。この処理は、制御部10のセンサ情報取得部110が、タッチ入力や音声入力を受け付けた時に実行される。
【0054】
まず、ステップS1で、制御部10は、マイク6からの音声入力またはタッチセンサ41からのタッチ入力と、カメラ5からの画像情報と近接センサ7からの近接情報をセンサ情報として取得する。
【0055】
ステップS2で、制御部10は、利用状況解析部130によってカメラ5が撮影した利用者の画像情報を認識し、利用者の属性(年齢、性別、所属)を識別し、利用者の人数や利用者の位置を検出する。また、利用状況解析部130は、上述したように利用者の視線や顔の向きや、口や手の動きを認識して、利用者の状況を示す情報とする。また、利用状況解析部130は、近接センサ7の出力から利用者の出現や立ち去り(利用の終了)を検出する。さらに、利用状況解析部130はマイク6から取得した音声データからクレードル8が設置された環境における雑音の大きさを検出する。
【0056】
ステップS3で、制御部10は、入力内容解析部120によって、音声入力に対して音声認識を実施して、利用者の発話に対応するテキストを入力データとして生成する。また、入力内容解析部120は、タッチ入力に対してシナリオテーブル260のシナリオに対応する入力データ(テキストまたはタッチした位置などの値)を生成する。
【0057】
ステップS3で、制御部10は、入力履歴データベース230を参照して、現在の入力データが前回の入力データと同一であるか否かを判定する。現在の入力データと前回の入力データが同一であればステップS6へ進み、同一でなければステップS5に進む。
【0058】
ステップS5では、制御部10は、現在の入力データの値を入力履歴データベース230に登録し、回数=1を設定する。一方、ステップS6では、制御部10が、入力履歴データベース230から現在の入力データの連続入力回数を取得し、入力履歴データベース230の連続入力回数をインクリメントしてから登録する。
【0059】
次に、ステップS7では、制御部10が、シナリオ制御部150で入力データに対応するシナリオをシナリオテーブル260から選択して、画面表示内容や音声再生などの出力内容を生成する。
【0060】
次に、ステップS8では、制御部10が、現在の入力データの優先度Pを次式により算出する。
【0062】
ただし、
α
i:利用状況パラメータごとの優先度に対する重み
β
i:入力種類(音声入力/タッチ入力)に応じた重み
γ
i:利用状況パラメータごとの利用状況に応じた値
δ:出力済みデータと生成中の出力内容との関連度
ε:同じ入力データの連続回数
である。
【0063】
なお、重みの値は予め設定されたものである。また、出力済みの出力内容(前回の入力データに対する出力結果)と、現在の入力データの関連度は、出力済みデータと現在の入力データに含まれる単語間の類似度を用いることができ、例えば、Word2vecやcos類似度などの周知の手法を用いて算出すればよい。
【0064】
次に、ステップS9では、制御部10が、出力部160で出力データを生成中(準備中)のシナリオがあるか否かを判定し、生成中のシナリオがあればステップS10へ進み、生成中のシナリオがなければステップS13へ進む。
【0065】
ステップS10では、ステップS8で算出した現在の入力データの優先度と、出力準備中の入力データ(前回の入力データとする)の優先度を比較し、現在の入力データの優先度が前回の入力データの優先度よりも高いか否かを判定する。現在の入力データの優先度が高い場合にはステップS11へ進み、そうでない場合にはステップS13に進む。
【0066】
ステップS11では、制御部10が、現在出力準備中のシナリオ出力方法を変更して、現在の入力データに対応するシナリオの出力データを加味したシナリオ出力を生成する。この処理は、例えば、出力データを生成するシナリオの実行順序を変更したり、タッチパネルディスプレイ40に出力する出力データのサイズや位置を優先度に応じて変更したり、あるいは、前回の入力データに対する出力データを破棄したりするなど、所定の処理を実行する。
【0067】
すなわち、制御部10は、現在の入力データに対応する出力データのみを出力するか、現在の入力データに対応する出力データと、前回の入力データに対応する出力データの双方を優先度に応じたサイズや、優先度に応じた位置で出力するかを決定する。
【0068】
ステップS12では、制御部10が、ステップS11で決定した出力内容に応じて、出力部160から出力するシナリオデータを生成させる。ステップS13では、制御部10が、上記ステップS7またはS12で出力部160に指令したシナリオの出力データを出力する。
【0069】
以上の処理によって、いずれかの入力が一定期間内に順次発生した場合、現在(最新)の入力データと前回(直前)の入力データの優先度を比較することで、どちらの入力データに対応する出力データを優先すれば良いかを制御部10が自動的に決定することができる。
【0070】
これにより、前記従来例のように、利用者が回答や指示を入力したのに、さらに選択肢を入力することを防ぐことができる。したがって、一定期間内に複数の入力を受け付けたときに、操作が煩雑になるのを防いで、利用者の意図に応じた出力を生成する対話システムを提供することができる。
【0071】
図4は、タッチパネルディスプレイ40に表示される案内画面300の一例を示す図で、出力データの順序を変更する場合である。案内画面300は、左下のアバター600が案内を行う想定で、タッチ入力と音声入力の双方を利用し、音声入力結果が入力欄700に表示される。案内画面300では、アバター600の発話が左側に表示され、利用者の入力データが右側に表示され、画面下方から上方に向けてスクロールして表示される例を示す。
【0072】
まず、対話システムの制御部10は、シナリオテーブル260に従って、タッチパネル4の前に到来した利用者に対して問い合わせを実施して、タッチパネルディスプレイ40に「どの様なご用件でしょうか」(401)を出力する。この時、スピーカ9から音声で出力してもよいし、画面と音声の両方を同時に出力してもよい。
図4に示す例では続けて、利用者が音声入力にて「ご飯が食べたい」(501)と応答する。
【0073】
制御部10は、シナリオテーブル260に従って「どのジャンルの料理を御希望ですか?」(402)という文章と、「和食」〜「その他」の選択肢をタッチパネルディスプレイ40(またはスピーカ9)に出力する。
【0074】
これに対して、利用者はタッチパネル4の「洋食」(502)をタッチ入力した後に、「やっぱり先にトイレに行きたい」(503)と音声で入力する。制御部10のシナリオ制御部150は、前回の入力データ=「洋食」に対する出力データが準備中であるので、前回の入力データ=「洋食」の優先度と、現在(最新)の入力データ=「〜トイレに行きたい」の優先度を比較する。
【0075】
制御部10は、現在の入力データの優先度が、直前の入力データの優先度よりも高いと判定した場合、回答データベース210を参照して、図示のように現在地からトイレまでの行き方を示した地図をタッチパネルディスプレイ40へ出力する(403)。このように、制御部10は、複数の入力データを一定期間内に受け付けた場合には、入力データの優先度に応じてシナリオの実行順序を変更することが可能となる。
【0076】
制御部10は、トイレまでの地図をタッチパネルディスプレイ40へ出力した後に、近接センサ7またはカメラ5の出力から利用者の利用状況として利用者の立ち去りを検出すると、出力データおよび出力準備中のデータを破棄することができる。
【0077】
一方、制御部10は、トイレまでの地図をタッチパネル4へ出力した後に、近接センサ7またはカメラ5の出力から利用者の存在を継続して検出すると、元のシナリオテーブル260に戻って、前回の入力データに対応するシナリオを実行して出力データを出力することができる。
【0078】
図5は、タッチパネルディスプレイ40に表示される案内画面300の一例を示す図で、
図4にて示したシナリオの実行順序を変更した場合に利用者が継続して検出された場合の一例である。案内画面300には、トイレまでの地図(403)を表示した後に、直前の入力データ=「洋食」(502)に対応する応答として店舗選択404が表示される。
【0079】
この場合、制御部10では、シナリオ制御部150が現在の入力データに対応するシナリオと、前回の入力データに対応するシナリオを入れ替えて出力部160に実行させることで、出力データの順序が変更される。
【0080】
そして、店舗選択404の中から、利用者がタッチ入力を行うことにより、制御部10は、回答データベース210から該当する店舗情報を検索してタッチパネル4に表示することができる。
【0081】
図6は、
図5に示した店舗選択404において、利用者が「店舗A」をタッチ入力で選択した場合の一例を示している。
図6に示す例では、「店舗A」に関する詳細な店舗情報405がタッチパネルディスプレイ40に出力される。
【0082】
図7は、タッチパネルディスプレイ40に表示される案内画面300の他の例を示す図で、複数の入力が一定期間内にあった場合に、複数の出力データ(選択肢)を並列して表示する場合である。
【0083】
制御部10は、「洋食」(502)のタッチ入力(前回の入力データ)に対応して「和食」〜「その他」の選択肢411をタッチパネルディスプレイ40に出力してから、現在の入力データ=「〜トイレに行きたい」(503)に対応する選択肢「トイレ」を並列的に出力する。なお、選択肢411のウィンドウは、ポップアップして表示してもよい。
【0084】
この場合、制御部10は、現在の入力データの優先度が、前回の入力データの優先度よりも高いので、前回の入力データに対する出力データに、現在の入力データに対する出力データを付加して出力することができる。
【0085】
制御部10は、前回の入力データと現在の入力データの双方に対して並列的に応答することで、優先度の高い入力データに対応する出力データを優先して表示し、利用者の意図に対応することができる。
【0086】
図8は、タッチパネルディスプレイ40に表示される案内画面300の他の例を示す図で、複数の出力データ(選択肢)をタブで分けて表示する場合である。
【0087】
制御部10は、「洋食」(502)のタッチ入力(直前の入力データ)に対応して「レストラン」のタブ421を出力し、現在の入力データに対応する「トイレ」のタブ422を選択肢420として出力する。なお、選択肢420のウィンドウは、ポップアップして表示してもよい。
【0088】
この場合、制御部10は、現在の入力データの優先度が、前回の入力データの優先度よりも高いので、前回の入力データに対する出力データ(タブ421)に、現在の入力データに対する出力データ(タブ422)を付加して出力することができる。
【0089】
そして、制御部10は、入力データの優先度が高い方のシナリオの出力データ(タブ422)を、前回の入力データのシナリオによる出力データ(タブ421)よりも前面に出力することで、優先して表示することができる。
【0090】
以上のように、優先度の高い入力データに対応する出力データを優先的に表示することで、利用者の意図に対応することができる。
【0091】
図9は、タッチパネルディスプレイ40に表示される案内画面300の他の例を示す図でである。
【0092】
制御部10は、現在の入力データの優先度が、前回の入力データの優先度よりも高いので、前回の入力データに対するシナリオ応答よりも、現在の入力データに対するシナリオの出力データを優先的に出力する。
【0093】
制御部10は、前回の入力データに対する出力データである「レストラン」の選択肢431の上に、現在の入力データに対する出力データである「トイレ」の選択肢432のウィンドウを表示する。
【0094】
従って、制御部10は、入力データの優先度が高い方のシナリオの出力データ(選択肢432)を、前回の入力データのシナリオによる出力データ(選択肢431)よりも前面に出力することで、優先して表示することができる。
【0095】
以上のように、優先度の高い入力データに対応する出力データを優先的に表示することで、利用者の意図に対応することができる。
【0096】
また、制御部10は、選択肢432からタッチ入力または音声入力を受け付けると、
図10で示すように、選択されたトイレの地図データを回答データベース210から取得してタッチパネル4に出力する。
【0097】
制御部10は、前回の入力データ(タッチ入力)と現在の入力データ(音声入力)の優先度に応じて出力データを表示することで、利用者の意図に対応することができる。
【0098】
<まとめ>
なお、上記実施例では、タッチパネルディスプレイ40に表示中の選択肢(ボタン等)に対して、利用者が選択肢以外を入力(主に発話)した場合は、制御部10が、選択肢と入力された内容の関連度を算出して、関連度に応じて実行するシナリオを変更しても良い。
【0099】
なお、制御部10は、入力データと表示中の関連度に応じてアバター600の演出を変えてもよい。例えば、関連度が高いと相槌を打って表示を切替え、関連度が低いと悩んで表示変更しないなど、所定の表示を行うことができる。また、関連度が低い場合は、画面だけ表示してアバター600の発話を禁止して、利用者の発話を受け付けても良い。
【0100】
また、上記実施例では、タッチ入力を受け付けるタッチセンサ41と、表示部としてのタッチパネルディスプレイ40が一体のタッチパネル4を用いる例を示したが、これに限定されるものではなく、表示部と入力部が分離する構成であってもよい。
【0101】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【0102】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0103】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。