以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(1)本実施の形態として示す電子機器群の相互成長システムの構成例
複数の電子機器が学習した情報を互いに伝達しあい、かつその情報を融合し、また共有する関係を構築する電子機器間の相互成長システムの構成例を図1に示す。
図1の電子機器800において、ユーザ情報取得部801は、ユーザからの操作や働きかけの情報を取得する。学習部802は、ユーザ情報取得部801で取得した情報から、ユーザの嗜好やユーザプロファイルに関する情報を分析及び学習して、その学習結果である学習情報を学習情報・学習レベル生成部803に出力する。学習情報・学習レベル生成部803は、学習部802からの学習情報と、記憶部806に蓄積された過去の学習情報とを融合して、新規学習情報及びその学習情報の更新度合いを示す学習レベル情報を生成する。新しく生成された学習情報と学習レベル情報は、記憶部806に格納される。これらは、内部バス807にて互いに接続されている。
ここで学習レベル情報とは、知識量や習熟度であったり、あるいは学習を重ねる毎に高くなる数値として表すことができる知能指数(IQ)や偏差値の概念に相当する。これに対して、学習情報は、電子機器が学習した具体的な情報の内容を示している。
記憶部806に記憶された学習レベル情報の例を図2に示す。学習レベル情報は、電子機器に対応付けてテーブルとして記憶されている。例えば、図2に示す学習レベル情報テーブルには、電子機器自身の学習レベルと他の電子機器の学習レベルとが記憶されている。また、このほかにも最後に学習レベルが更新された更新時刻等が記憶されてもよい。ここでは、電子機器800の学習レベルは60で更新時刻は2003年7月24日17:22、電子機器900の学習レベルは70で更新時刻が2003年7月26日15:21になっている。ここでは、電子機器800の記憶部806に記憶された学習レベル情報テーブルを説明の便宜上、学習レベル情報テーブルAとする。
記憶部806に記憶された学習情報の例を図3に示す。学習情報は、実際に学習した情報の内容を示しており、食べ物、音楽、テレビ番組等のカテゴリに分類されて学習情報テーブルとして記憶されている。学習情報テーブルには、例えば、複数の項目が用意されており、この項目は、電子機器の特性に応じてテレビ番組のジャンルであったり、俳優・女優名であったり、コンテンツのサイト名及び提供される情報の種類であったりする。そして、これら学習された情報の内容に対して「嗜好の度合い」や「登録時間」等の情報が付加されている場合もある。ここでは、電子機器800の記憶部806に記憶された学習情報テーブルを説明の便宜上、学習情報テーブルAとする。図3に示すように、学習情報テーブルAには、ユーザの嗜好情報aとして音楽が、嗜好情報bとしてテレビ番組が記述されており、項目1にはジャンルが、項目2にはアーティスト名や出演者名が記述されている。
図3に示した学習情報の「嗜好の度合い」は、各項目に対するユーザの嗜好の強さを表している。制御部805は、記憶部806の学習情報とユーザ情報取得部801で取得したユーザ情報等に基づいて、ユーザの嗜好に合致するように駆動部808を駆動する。また制御部805には、図4と図5に示す処理のプログラムも格納されている。図4及び図5の処理の詳細は後述する。
電子機器900は、説明の便宜上異なる番号を付しているが、実際は、上記で説明した電子機器800と同一構成の電子機器であって、この相互成長システムを構築するにあたっては、両者を区別なく使用できる。したがって、記憶部906には、図2に示した学習レベル情報テーブルAに相当する学習レベル情報テーブルB(図6に示す。)と、学習情報テーブルAに相当する学習情報テーブルB(図7に示す。)が格納されている。学習情報テーブルBには、電子機器800の記録部806には記憶されていない学習情報である嗜好情報cとして映画コンテンツがあり、項目1にはジャンル、項目2には俳優名が記述されている。
制御部905には、図4、図5に示す処理のプログラムも格納されている。電子機器800の通信部804と電子機器900の通信部904は、双方向に通信することが可能になっている。
次に、図4と図5を参照して、電子機器800と電子機器900が互いの学習情報と学習レベル情報を伝達しあい、これらの情報を共有する関係を構築する処理について説明する。この例では、各機器が学習した内容は、ユーザによる操作を介することなく、定期的あるいは何らかのトリガによって相互に伝達しあう処理がなされる。本具体例では場合によって、これを「自動的」あるいは「自動」という表現を用いて説明する。
ここでは、最初、それぞれの学習レベル情報テーブル及び学習情報テーブルには、自身の学習レベル及び自らが学習した内容のみが記録されているものとする。
図4に示すように、電子機器800の制御部805は、学習情報送信処理(RT1)に入ると、ステップS11において、記憶部806の学習レベル情報テーブルAにおける学習レベルが更新されたかどうか判別する。更新されていない場合は、更新されるまで待機する。例えば新規情報が学習されて学習レベルが1から2にあがる、59から1ポイントあがって60になるなどして更新された場合は、続くステップS12に移り、制御部805は、学習レベルを更新して図8に示す新たな学習レベル情報テーブルAを生成する。また、ここで更新された学習レベル情報テーブルAを電子機器900へ送信し、次のステップS13に移る。
ステップS13において、電子機器800の制御部805は、電子機器900が電子機器800にて作成された学習レベル情報テーブルAを取得したとの通知を受信すると、続くステップS14に移る。ステップS14において、電子機器800は、図3に示す学習情報テーブルAの送信要求を電子機器900から受けると、続くステップS15に移る。ステップS15において制御部805は、学習情報テーブルAを電子機器900へ送信し、次のステップS16に移る。
ステップS16において電子機器800は、電子機器900が電子機器800の学習情報を取得したことの通知を受けると続くステップS17に移る。ステップS17において電子機器900から、電子機器900の学習レベル情報テーブルB(例えば、図9に示す。)が送信されるのを待機する。
電子機器800は、学習レベル情報テーブルBを受信したら、続くステップS18に移る。ステップS18において、学習レベル情報テーブルBを受信したことを電子機器900へ連絡する。また制御部805は、受信した学習レベル情報テーブルB(図8)に基づいて、記憶部806の学習レベル情報テーブルAの学習レベルの項目に電子機器900の学習レベルを追加して、続くステップS19に移る。ステップS19において、電子機器800の電源がオフになった場合、処理RT1を終了するが、オンである間は、ステップS11に戻り、ステップS11〜S19を繰り返す。またステップS13、S14、S16、S17の判別でNOの場合、一定時間経過しても電子機器900からの応答がないときは、ステップS11に戻る処理になっていてもよい。
続いて、電子機器800において他の電子機器(電子機器900)より学習情報を受信して記憶部806の学習情報テーブルAを更新する処理を図5を用いて説明する。
電子機器800の制御部805は、学習情報受信処理(RT2)に入ると、ステップS21において、電子機器900からの図9に示す学習レベル情報テーブルBの送出の有無を判別する。学習レベル情報テーブルBの送出があった場合、続くステップS22へ移る。ステップS22において、制御部805は、学習レベル情報テーブルBを取得し、かつ取得が完了できたことを電子機器900へ通知して、続くステップS23に移る。ステップS23において、制御部805は、取得した学習レベル情報テーブルBと、記憶部806に記憶された学習レベル情報テーブルAに記載されている電子機器900の学習レベルとを比較して、更新されていない場合は、ステップS21に戻る。更新されている場合は、続くステップS24に移り、学習レベル情報テーブルAに記載されている電子機器900の学習レベルを更新する。また、電子機器900が学習レベル情報テーブルAにない場合は、新規機器として項目に電子機器900を加える。
また、電子機器900の学習情報テーブルB(図7)を送信するように電子機器900へ要求し、ステップS25に移る。ステップS25において、制御部805は、学習情報テーブルBを受信するまで待機する。電子機器900の学習情報テーブルBを受信した場合は、続くステップS26に移る。ステップS26において、電子機器900の学習情報テーブルBを受信したことを電子機器900へ通知する。また制御部805は、学習情報学習レベル部803へ学習情報テーブルBを出力する。学習情報学習レベル部803は、記憶部806に格納されている学習レベル情報と学習情報、取得した電子機器900の学習レベル情報と学習情報とに基づいて、学習情報テーブルAに新規学習情報を加えて更新する。例えば、電子機器800の記憶部806には、図10に示すように、学習情報テーブルAになかった学習情報テーブルBの「ユーザの嗜好情報c」が追加され、学習情報テーブルBの「ユーザの嗜好情報b」の内容が更新時間のより新しいものに更新される。すなわち、B22からB23に更新される。ここでは説明上、記号にて示しているが、実際には名称や人名といった情報がテキストデータ等にて直接記述されている。
制御部805は、更新された学習レベル情報テーブルAと更新した学習情報テーブルAを再度記憶部806に格納して、続くステップS27に移る。ステップ27において、更新された学習レベル情報テーブルAを電子機器900へ送信してステップS28に移る。このとき、更新された学習レベルのみを選択して取り出し電子機器900へ送信してもよい。
ステップS28において、電子機器900が電子機器800の学習レベル情報テーブルAを取得したことの通知を、電子機器800が電子機器900から受信したら、続くステップS29に移る。ステップS29において、電子機器800の電源がオフになった場合は、処理RT2を終了するが、オンである間は、ステップS21に戻り、ステップS21からステップS29の工程を繰り返す。また、ステップS25、S28の判別でNOの場合に、一定時間経過しても電子機器900からの応答がない場合は、ステップS21に戻る処理でもよい。
ここまで電子機器800での処理RT1及びRT2を説明したが、電子機器900も同様に処理RT1及びRT2を行うことによって、電子機器800と電子機器900は各々が学習した情報を互いに自動的に伝達しあい、かつその情報を融合し共有する関係を構築することが可能である。
上記説明は、2つの電子機器間で実施されているが、複数の電子機器の間で実施することも可能である。また、各々が学習した情報に限定することなく、一般的なデータの双方向通信も可能である。
(2)本実施の形態として示す電子機器の相互自動成長システムに適用可能な電子機器の例
続いて、本具体例に示す電子機器の相互成長システムを構成する電子機器の例としてハードディスクレコーダをあげて説明する。
このハードディスクレコーダは、自らが学習した情報の内容である学習情報と、学習情報が更新されることで変更される学習の習熟度の度合いを表す学習レベル情報とを記憶するユーザ情報記憶部を備えることが特徴である。ユーザ情報記憶部は、上述した電子機器800の記憶部806に相当するものであり、学習レベル情報及び学習情報が学習レベル情報テーブル、学習情報テーブルとして格納されている。なお、ここでは学習情報テーブルC、学習レベル情報テーブルCと表す。
図11に示すハードディスクレコーダ100は、大容量のHDD(ハードディスクドライブ(Hard Disk Drive))270に映像データ及び音声データを含むコンテンツデータを記録できる。なお、ハードディスクレコーダ100は、一般的なAV機器に実装することができ、例えば、セットトップボックス(STB)のようなテレビジョン受信機と一体構成にしてもよい。
ハードディスクレコーダ100において、図示しないアンテナで受信された放送波は、チューナ110に供給される。ここで放送波は、所定のフォーマットに基づくものであり、この放送波には、例えばEPG(Electronic Program Guide:電子番組表)データを含んでいてもよい。放送波は、衛星放送波、地上波、有線又は無線、ディジタル放送波又はアナログ放送波の区別は問わない。
チューナ110は、CPU220の制御に基づいて、所定チャンネルの放送波のチューニングすなわち選局を行い、受信データを復調部120に出力する。なお、チューナ110の構成は、送信されてくる放送波がアナログであるかデジタルであるかに応じて、適宜変更又は拡張することができる。復調部120は、デジタル変調されている受信データを復調し、分離部130に出力する。
例えば、受信される放送がデジタル衛星放送の場合、チューナ110により受信され、復調部120により復調されたデジタルデータは、MPEG2方式で圧縮されたAVデータ及び放送用データが多重化されているトランスポートストリームである。前者のAVデータは、放送コンテンツ本体を構成する映像データ及び音声データであり、後者の放送用データは、この放送コンテンツ本体に付随するコンテンツ記述データ(例えば、EPGデータ)を含むものである。
分離部130は、復調された受信データから、例えばEPGデータなどの、コンテンツに付随するコンテンツ記述データと、AVデータとを分離する。AVデータは、デコーダ140に出力される。コンテンツ記述データは、バス200を介して、ユーザ情報生成部280に入力され、ユーザ情報生成部280において、必要なキーワードが抽出され、バス200及びHDDインターフェイス(I/F(Interface))260を介して、HDD270内部のコンテンツ記述データ蓄積部630(図12)に蓄積される。
デコーダ140は、ユーザにより、受信されたコンテンツのリアルタイムの出力が指示されている場合、CPU220から入力される制御信号にしたがって、分離部130より供給されたAVデータを、圧縮された映像データ及び圧縮された音声データとに分離する。分離された音声データは、PCM(Pulse Code Modulation)デコードされた後、ミキサ(MUX)160を介してスピーカ320に出力される。また、分離された映像データは、伸張された後、コンポーザ180に供給される。
デコーダ140は、ユーザにより、受信されたコンテンツのHDD270への記録が指示された場合(すなわち、コンテンツの録画が指示された場合)、CPU220から入力される制御信号にしたがって、分離される以前のAVデータを、バス200及びHDDインターフェイス260を介してHDD270に出力する。
また、デコーダ140は、ユーザにより、HDD270に録画されているコンテンツの再生が指示されている場合、CPU220から入力される制御信号にしたがって、HDDインターフェイス260及びバス200を介して、HDD270からAVデータの入力を受け、圧縮映像データと圧縮音声データに分離し、それぞれコンポーザ180若しくはミキサ160に出力する。
RAM(Random Access Memory)230は、デコーダ140が行ったこれらの作業データを保存することができる。
コンポーザ180は、必要に応じて、デコーダ140より入力された映像データと、グラフィック処理コントローラ190から入力された画像データとを合成して、ディスプレイ330に出力する。ディスプレイ330は、コンポーザ180より供給された映像信号を表示(再生)する。スピーカ320は、ミキサ160より供給された音声信号を出力する。
U/I(ユーザインターフェース)制御部170は、ユーザからの入力操作を処理するモジュールであり、例えば、ユーザにより、操作ボタン又はスイッチから構成されるリモートコマンダ310が操作されることにより、赤外線発光部(図示せず)から発光された操作信号(IR信号)を受光部170aで受光し、バス200を介して、CPU220に出力する。
CPU220は、ハードディスクレコーダ100全体の動作を制御するメインコントローラであり、オペレーティングシステム(OS)により提供されるプラットフォーム上で各種のアプリケーションを実行する。CPU220は、例えば、U/I制御部170及びバス200を介して、リモートコマンダ310から入力された操作信号に基づいて、チューナ110、復調部120、分離部130、デコーダ140、HDD270などを制御することにより、コンテンツの録画又は再生を実行する。また、CPU220は、ROM240に格納された図4及び図5に示した処理と、図13に示す処理のプログラムに基づいてユーザ情報生成部280やHDD270などを制御する。
HDD270は、プログラムやデータなどを所定フォーマットのファイル形式で蓄積することができるランダムアクセスが可能な記憶装置であり、例えば、数十GB程度(又は100GB以上)の大容量を備えている。HDD270はまた、HDDインターフェイス260を介してバス200に接続されており、デコーダ140、ユーザ情報生成部280、若しくは通信制御部210から放送コンテンツ、コンテンツ記述データ等の入力を受け、これらの情報を記録するとともに、必要に応じて記録されたデータを出力する。
HDD270は、その内部にコンテンツ記述データ蓄積部630(図12)を有し、入力されるコンテンツ記述データを記録する。コンテンツ記述データ蓄積部630に蓄積されるコンテンツ記述データは、必要に応じてバス200を介してCPU220若しくはユーザ情報生成部280に読み込まれる。これにより、CPU220若しくはユーザ情報生成部280は、所定のアプリケーションにしたがって所定の処理を実行し、例えば視聴中のコンテンツに関するキーワードをHDD270から読み出して、グラフィック処理コントローラ190に供給することにより、後述する嗜好情報登録ウィンドウに対応するデータを作成させることができる。
グラフィック処理コントローラ190は、画像データを生成する専用コントローラであり、例えば、SVGA(Super Video Graphic Array)、又はXGA(extended Graphic Array)相当の高精細な描画機能を備えている。グラフィック処理コントローラ190は、例えば、ユーザが各種設定を入力することができるGUI(Graphical User Interface)操作画面や、図14に示す嗜好情報登録ウィンドウのデータを生成する。
通信制御部210は、電話回線やケーブルなどによる有線の通信を制御する。この通信制御部210を介して、図示しないサーバシステムと通信を行うことにより、放送コンテンツ、あるいは、EPGデータの授受が行われる。通信制御部210に入力された放送コンテンツは、バス200を介して分離部130に入力され、チューナ110及び復調部120を介して入力された放送データと同様に処理される。
また、通信制御部210を介して、外部の機器と通信を行うことにより、例えば、地上波放送などのEPGデータを含まないコンテンツに関するコンテンツ記述データの入力を受けることができる。通信制御部210に入力されたコンテンツ記述データは、バス200を介して、ユーザ情報生成部280に入力されて、必要なキーワードが抽出される。抽出されたキーワードは、バス200及びHDDインターフェイス260を介して、HDD270のコンテンツ記述データ蓄積部630に蓄積される。
RAM(Random Access Memory)230は、CPU220の実行プログラムをロードしたり、実行プログラムの作業データを書き込むために使用される、書き込み可能な揮発性メモリである。ROM(Read Only Memory)240は、ハードディスクレコーダ100の電源オン時に実行する自己診断・初期化プログラムや、ハードウェア操作用の制御コードなどを格納する読み出し専用メモリである。
無線送受信部250は、数10MBps程度のデータ送受信が可能な、例えばIEEE802.11aに準拠したワイヤレスインターフェイスである。無線制御部290は、無線送受信部250を介して、外部の無線機器と通信する。例えばHDD27に蓄積されたデータや、後述するユーザ情報記憶部610に格納されたデータを外部の無線機器へ送信したり、また外部の無線機器からデータを受信して、その受信データをHDD27やユーザ情報記憶部610に格納したりする。
ユーザ情報生成部280は、デコーダ140若しくは通信制御部210から、バス200を介して入力されたコンテンツ記述データから必要なキーワードなどを抽出し、抽出したキーワードをバス200を介してHDD270のコンテンツ記述データ蓄積部630に出力する。コンテンツ記述データは、図15を用いて説明する。
また、ユーザ情報生成部280は、バス200を介して、U/I制御部170から入力されるユーザの操作を示す信号に基づいて、コンテンツ記述データ蓄積部630から必要なキーワードを抽出し、バス200を介してグラフィック処理コントローラ190に出力することにより、後述する嗜好情報登録ウィンドウに対応するデータを生成させて、ディスプレイ330に表示させる。さらに、ユーザ情報生成部280は、U/I制御部170から、嗜好情報登録ウィンドウを参照して、ユーザが登録するキーワードの入力を受け、重み付け演算を施して、演算結果を記録する。
図12は、図11におけるユーザ情報生成部280の構成を示す図である。実際には、ユーザ情報生成部280と各部のデータの授受においてバス200を介してのデータの授受がなされているが、図12では、バス200を省略して記載している。
キーワード抽出部510は、分離部130若しくは通信制御部210から入力されたコンテンツ記述データからキーワードを抽出し、HDD270のコンテンツ記述データ蓄積部630にキーワードを登録するとともに、キーワード保持部520から入力される信号にしたがって、コンテンツデータ記述部から必要なデータを読み出して、キーワード保持部520に出力する。
コンテンツ記述データは、例えば、図15に示されるようにコンテンツに関する様々なキーワードが記述されているデータである。図15に示す<TVProgram data-id=”1”>は、コンテンツのIDが1であることを示す。<shortTitle>は、コンテンツのタイトルを示し、<longTitle>は、コンテンツのサブタイトルを示している。<description>には、コンテンツの解説が記載されている。<category>は、例えば、ドラマ、ドキュメンタリ、バラエティなど、コンテンツの番組種別を示すものである。そして、コンテンツの素材となるキーワードを示すものには、例えば出演者を示す<character>や、番組の舞台となる場所を示す<place>などがある。それ以外の全てのキーワードは、<other>として記述される。
キーワード保持部520は、ユーザが嗜好情報登録ウィンドウ(図14)の表示を指示した場合、若しくはコンテンツの録画操作(若しくは録画予約操作)を行った場合、U/I制御部170から入力される信号を基に対応するコンテンツのキーワードを呼び出すための制御信号を生成して、キーワード抽出部510に出力し、キーワード抽出部510から入力された対応するコンテンツのキーワードを「番組種別」、「番組素材」、及び「その他」の3つの階層に分類してグラフィック処理コントローラ190に出力する。
例えば、図15に示すコンテンツ記述データに対応するコンテンツの視聴中(リアルタイムの放送データを出力する場合であっても、HDD270に録画されたコンテンツを再生する場合であっても構わない。)に、ユーザが嗜好情報登録ウィンドウの表示を指示した場合、キーワード抽出部510は、キーワード抽出部510から入力される制御信号を基にコンテンツ記述データ蓄積部630から図15を用いて説明したコンテンツ記述データに記載されている各キーワードを抽出してキーワード保持部520に出力する。キーワード保持部520は、入力されたキーワードを分類してグラフィック処理コントローラ190に出力する。
グラフィック処理コントローラ190は、キーワード保持部520から入力されたコンテンツのキーワードを基に嗜好情報登録ウィンドウ72に対応するデータを生成し、バス200を介してコンポーザ180に出力する。コンポーザ180は、デコーダ140から入力される映像信号とグラフィック処理コントローラ190から入力される嗜好情報登録ウィンドウに対応するデータを合成し、図14に示す表示画面71を生成してディスプレイ330に出力して表示させる。
嗜好情報登録ウィンドウ72には、「番組種別」、「番組素材」、及び「その他」の3つの階層に区別されて、対応するコンテンツのキーワードが表示される。すなわち、図15を用いて説明したコンテンツ記述データに対応するコンテンツを視聴している場合に表示される嗜好情報登録ウィンドウ72には、キーワード「ドキュメンタリ」が、番組種別エリア81に分類されて表示され、キーワード「鈴木美紀」「石井さとし」「山田みのる」及び「チベット」が2つ目の階層である番組素材エリア82に分類されて表示され、キーワード「民族」「自然」が3つ目の階層であるその他エリア83に分類されて表示される。
ユーザは、図14の表示画面71を参照して、現在視聴しているコンテンツ、若しくは現在録画しようとしているコンテンツのどの点が自分自身の嗜好に合致しているのかを示すキーワードを嗜好情報登録ウィンドウ72のなかから、リモートコマンダ310の図示しないカーソルキーなどを用いてカーソル91を移動することにより選択する。選択されたキーワードは、例えば反転表示されたり、文字囲みされるなどして、他のキーワードと区別して表示される。ユーザは、選択したキーワードを登録しようとする場合に、リモートコマンダ310の図示しない決定キーなどを押下して登録するキーワードを決定する。
ユーザが嗜好情報登録ウィンドウ72のなかからキーワードを選択した場合、U/I制御部170から、キーワード保持部520へ、ユーザの選択を示す信号が入力される。キーワード保持部520は、U/I制御部170から入力された信号を基に、選択されたキーワードを、ユーザの嗜好情報として、ユーザ情報管理部530のユーザ情報獲得部620に出力する。
ユーザ情報獲得部620は、その内部に嗜好情報に対する重み付け情報を有しており、キーワード保持部520から入力される嗜好情報(ユーザの選択したキーワード)を基に重み付け演算を実行し重み付け情報を更新するとともにキーワード保持部520から入力される嗜好情報及び演算結果をユーザ情報記憶部610に出力する。例えば、図17に示す学習情報テーブルCをユーザ情報記憶部610に出力する。また、学習情報が更新されると変更される学習レベル情報テーブルもまたユーザ情報記憶部610に出力する。
ここで、ユーザ情報記憶部610に記憶された学習レベル情報の例を図16に示す。図16に示す学習レベル情報テーブルCには、このハードディスクレコーダ100自身の学習レベルと他の電子機器の学習レベルとが記憶されている。ここでは、他の電子機器としてペットロボットが記憶されている。また、このほかにも最後に学習レベルが更新された更新時刻等が記憶されている。ここでは、ハードディスクレコーダ100の学習レベルは50で更新時刻は2003年7月27日14:00、ペットロボットの学習レベルは60で更新時刻は2003年7月25日12:12になっている。
また、ユーザ情報記憶部610に記憶された学習情報の例を図17に示す。学習情報は、実際に学習した情報の内容を示しており、ハードディスクレコーダ100の場合、番組のジャンル、役者等のカテゴリに分類されて学習情報テーブルCとして記憶されている。ここでは、項目1は番組ジャンルであって、項目2は役者名である。これら学習された情報の内容に対して「嗜好の度合い」や「登録時間」等の情報が付加されている。
ユーザ情報記憶部610に記録された学習レベル情報テーブルCと学習情報テーブルCは、必要に応じてCPU220に読み出され、例えば、ユーザの嗜好に合致したコンテンツの自動録画などを行うような場合などに利用される。
ユーザがリモートコマンダ310を用いて、例えば図14に示される嗜好情報登録ウィンドウ72のキーワード「自然」をカーソル91によって選択し、登録するキーワードとして決定した場合、キーワード保持部520は、U/I制御部170から入力される信号を基にキーワード「自然」をユーザ情報管理部530のユーザ情報獲得部620に出力する。上記説明した処理により、ユーザ情報管理部530のユーザ情報獲得部620は、ユーザの嗜好情報(すなわち、ユーザが選択し登録を指示したキーワード)の入力を受ける。
次に、図13のフローチャートを参照して、ユーザ情報獲得部620が獲得したユーザの嗜好情報に重み付けを施して、ユーザ情報記憶部610に記憶する処理について説明する。
ステップS31において、ユーザ情報獲得部620は、キーワード保持部520が出力し、ユーザによって選択確定されたキーワードの入力を受ける。
ステップS32において、ユーザ情報獲得部620は、ユーザ情報記憶部610に記憶されている学習情報テーブルCを参照して、ステップS31において入力されたキーワードが新規の嗜好情報であるか否かを判断する。ステップS32において、入力されたキーワードが新規の嗜好情報ではないと判断された場合、ステップS34に進む。
ステップS32において、入力されたキーワードが新規の嗜好情報であると判断された場合、ステップS33において、ユーザ情報獲得部620は、入力されたキーワードを新たな嗜好情報としてユーザ情報記憶部610の学習情報テーブルCに書き込む。
ステップS32において、入力されたキーワードが新規の嗜好情報ではないと判断された場合、若しくはステップS33の処理の終了後、ステップS34において、ユーザ情報獲得部620は、例えばそれぞれのキーワードの登録回数などを基に入力されたキーワードの重み付け計算を実施する。
キーワードの重み付け計算の方法は、キーワードの登録回数に限らず、他のパラメータを用いて計算するようにしてもよいし、例えば、ユーザの嗜好が経過期間とともに変更することを想定して、かなり過去の嗜好情報の登録回数を参照せずに、過去1ヶ月間や半年間といった比較的近い期間における登録回数を用いて計算するようにしてもよい。
ステップS35において、ユーザ情報獲得部620は、ユーザ情報記憶部610の学習情報テーブルCの「嗜好の度合い」へ、ステップS34の重み付けの計算結果を書き込んで処理が終了される。また、図示しないが、ステップS33又はステップS35において学習情報テーブルCが更新された場合、学習レベル情報テーブルCの内容も更新される。
以上説明した処理により、ユーザの興味、趣味、関心などの対象を示すキーワードが、例えばユーザの嗜好情報の入力頻度などに基づいて重み付けされて記録される。ユーザの嗜好情報は、ユーザの嗜好性が強いと考えられるものと、それほど強くないと考えられるものとが区別されて参照されるため、ユーザの嗜好に基づいた自動録画処理などを行う場合、ユーザの嗜好に合致した、より細かい制御が可能となる。
(3)本実施の形態として示す電子機器の相互自動成長システムに適用可能なロボット装置の例
本実施の形態として示す電子機器の相互自動成長システムに適用可能なロボット装置の例を図18を用いて説明する。図18に示すペットロボット1は、胴体部ユニット2の前後左右にそれぞれ脚部ユニット3A〜3Dが連結されるとともに、胴体部ユニット2の前端部及び後端部にそれぞれ頭部ユニット4及び尻尾部ユニット5が連結されることにより構成されている。
このペットロボット1は、後述する情報記憶部55に、自らが学習した情報の内容である学習情報と、学習情報が更新されることで変更される学習の習熟度の度合いを表す学習レベル情報とを記憶することが特徴である。情報記憶部55は、上述した電子機器800の記憶部806に相当するものであり、学習レベル情報及び学習情報が学習レベル情報テーブル、学習情報テーブルとして格納されている。なお、ここでは学習情報テーブルD、学習レベル情報テーブルDと表す。
ここでペットロボット1は、図19に示すように、胴体部ユニット2に、このペットロボット1全体の動作を制御するコントローラ10と、このペットロボット1の動力源となるバッテリ11と、バッテリセンサ12及び熱センサ13からなる内部センサ部14と、外部の無線機器と無線通信するための通信部15及び無線送受信部16と、PC(Personal Computer)カードインターフェイス17などが収納されている。
また頭部ユニット4には、「耳」に相当するマイクロホン25と、「目」に相当するCCDカメラ26と、タッチセンサ27と、「口」に相当するスピーカ30となどがそれぞれ所定位置に配設されている。
さらに各脚部ユニット3A〜3Dの関節部分や、各脚部ユニット3A〜3D及び胴体部ユニット2の各連結部分、頭部ユニット4及び胴体部ユニット2の連結部分、並びに尻尾部ユニット5及び胴体部ユニット2の連結部分などにはそれぞれアクチュエータ3AA1〜3AAK、3BA1〜3BAK、3CA1〜3CAK、3DA1〜3DAK、4A1〜4AL、5A1〜5AMが配設されている。
そして頭部ユニット4のマイクロホン25は、ユーザから図示しないサウンドコマンダ(操作内容に応じて異なる音階の音を発生するコマンダ)により音階として与えられる「歩け」、「伏せ」又は「ボールを追いかけろ」等の指令音を集音し、得られた音声信号S1をコントローラ10に送出する。またCCDカメラ26は、周囲の状況を撮像し、得られた画像信号S2をコントローラ10に送出する。
さらにタッチセンサ27は、頭部ユニット4の上部に設けられており、ユーザからの「撫でる」や「たたく」といった物理的な働きかけにより受けた圧力を検出し、検出結果を圧力検出信号S3としてコントローラ10に送出する。
胴体部ユニット2のバッテリセンサ12は、バッテリセンサ11の残量を5段階に分けて検出し、当該各段階の検出結果をバッテリ残量検出信号S4として順次コントローラ10に送出する。この場合、バッテリセンサ12は、バッテリ11に残量が80[%]以上、80〜50[%]、50〜25[%]、25〜20[%]及び20[%]以下のとき、それぞれ「Full」、「Middle−Full」、「Middle」、「Low」及び「Low−Low」として段階的に分類して検出するようになされている。
胴体部ユニット2の熱センサ13は、ペットロボット1の内部温度を検出し、検出結果を熱検出信号S5としてコントローラ10に送出する。
通信部15は、所定の通信回路を収納してなり、コントローラ10の制御に基づいて無線送受信部16を介して外部の無線機器との間で通信を行うことができる。
PCカードインターフェイス17は、胴体部ユニット2の図示しないPCカードスロットにメモリーカード28が装填されると、当該メモリーカード28に格納されているデータを読み出し、これをコントローラ10に送出する。
コントローラ10は、マイクロホン25、CCDカメラ26、タッチセンサ27、バッテリセンサ12及び熱センサ13から与えられる音声信号S1、画像信号S2、圧力検出信号S3、バッテリ残量検出信号S4及び熱検出信号S5や、通信部15やPCカードインターフェイス17から与えたれるデータなどに基づいて、周囲の状況や、ユーザからの指令、ユーザからの働きかけなどの有無を判断する。
そしてコントローラ10は、この判断結果とメモリ10Aに予め入力される制御プログラムとに基づいて続く行動を決定し、決定結果に基づいて必要なアクチュエータ3AA1〜3AAK、3BA1〜3BAK、3CA1〜3CAK、3DA1〜3DAK、4A1〜4AL、5A1〜5AMを駆動させることにより、頭部ユニット4を上下左右に振らせたり、尻尾部ユニット5を動かせたり、各脚部ユニット3A〜3Dを駆動して歩行させるなどの行動を行わせる。
またこの際コントローラ10は、必要に応じて所定の音声信号S6をスピーカ30に与えることにより当該音声信号S6に基づく音声を外部に出力させたり、このペットロボット1の「目」の位置に設けられた図示しないLED(Light Emitting Diode)を点灯、消灯又は点滅させる。
このようにしてペットロボット1は、周囲の状況及び制御プログラム等に基づいて自律的に行動することができる。
続いて示す図20は、図19に示したコントローラ10の機能的構成例を示している。なお、図20に示す機能的構成は、CPU10Aがメモリ10Bに記憶された制御プログラムを実行することで実現される。例えばCPU10Aは、メモリ10Bに格納された図4、図5、図13に示す処理を実行するプログラムに基づいて情報記憶部55や通信制御部56などを制御する。
センサ入力処理部50は、マイク25や、CCDカメラ26、タッチセンサ27等から与えられる音声信号、画像信号、圧力検出信号等に基づいて、特定の外部状態やユーザからの特定の働きかけ、ユーザからの指示等を認識し、その認識結果を表す状態認識情報をモデル記憶部51及び行動決定機構部52に通知する。
すなわち、センサ入力処理部50は、音声認識部50Aを有しており、音声認識部50Aは、マイク25から与えられる音声信号について音声認識を行う。そして、音声認識部50Aは、その音声認識結果としての、例えば、「歩け」、「伏せ」、「ボールを追いかけろ」等の指令その他を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
また、センサ入力処理部50は、画像認識部50Bを有しており、画像認識部50Bは、CCDカメラ26から与えられる画像信号を用いて画像認識処理を行う。画像認識部50Bは、その処理の結果、例えば、「赤い丸いもの」や「地面に対して垂直なかつ所定高さ以上の平面」等を検出したときには、「ボールがある」や、「壁がある」等の画像認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
さらに、センサ入力処理部50は、圧力処理部50Cを有しており、圧力処理部50Cは、タッチセンサ27から与えられる圧力検出信号を処理する。そして、圧力処理部50Cは、その処理の結果、所定の閾値以上で、かつ短時間の圧力を検出したときには、「たたかれた(しかられた)」と認識し、所定の閾値未満で、かつ長時間の圧力を検出したときには、「撫でられた(ほめられた)」と認識して、その認識結果を状態認識情報としてモデル記憶部51及び行動決定機構部52に通知する。
通信制御部56は、PCカードインターフェイス17の制御を行って、メモリーカード28に格納されたデータの獲得やメモリーカード28へのデータ転送を行う。また通信制御部56は、通信部15の制御を行って、無線送受信部16を介して外部の無線機器等からデータを獲得したり、外部の無線機器へデータを転送したりする。通信制御部56がメモリーカード28と外部の無線機器から獲得したデータは、情報記憶部55に格納される。
情報記憶部55に格納されるデータには、例えば、ペットロボット1を所有するユーザの嗜好情報を示す学習情報や学習情報の更新度合いを示す学習レベル情報がある。この情報記憶部55には、このほかに種々のデータが格納できる。
ここで、情報記憶部55に記憶された学習レベル情報の例を図21に示す。図21に示す学習レベル情報テーブルDには、このペットロボット1自身の学習レベルと他の電子機器の学習レベルとが記憶されている。ここでは、他の電子機器としてハードディスクレコーダが記憶されている。また、このほかにも最後に学習レベルが更新された更新時刻等が記憶されている。ここでは、ペットロボット1の学習レベルは60で更新時刻は2003年7月25日12:12、ハードディスクレコーダの学習レベルは50で更新時刻は2003年7月27日14:00になっている。
また、情報記憶部55に記憶された学習情報の例を図22に示す。学習情報は、実際に学習した情報の内容を示しており、ペットロボット1の場合、料理、テレビ番組等のカテゴリに分類されて学習情報テーブルDとして記憶されている。ここでは、項目1は料理のジャンルであって、項目2は食物名である。これら学習された情報の内容に対して「嗜好の度合い」や「登録時間」等の情報が付加されている。
情報記憶部55に格納されたデータは、モデル記録部51と行動決定機構部52に通知される。
モデル記憶部51は、ロボットの感情、本能、成長の状態を表現する感情モデル、本能モデル、成長モデルをそれぞれ記憶、管理している。
ここで、感情モデルは、例えば、「うれしさ」、「悲しさ」、「怒り」、「楽しさ」等の感情の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報や時間経過等に基づいてその値を変化させる。本能モデルは、例えば、「食欲」、「睡眠欲」、「運動欲」等の本能による欲求の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報、情報記憶部55からのデータや時間経過等に基づいてその値を変化させる。成長モデルは、例えば、「幼年期」、「青年期」、「熟年期」、「老年期」等の成長の状態(度合い)を所定の範囲の値によってそれぞれ表し、センサ入力処理部50からの状態認識情報、情報記憶部55からのデータや時間経過等に基づいてその値を変化させる。
モデル記憶部51は、上述のようにして感情モデル、本能モデル、成長モデルの値で表される感情、本能、成長の状態を、状態情報として、行動決定機構部52に送出する。
なお、モデル記憶部51には、センサ入力処理部50から状態認識情報や情報記憶部55からのデータが供給されるほか、行動決定機構部52からロボットの現在又は過去の行動、具体的には、「長時間歩いた」などの行動の内容を示す行動情報が供給されるようになっており、モデル記憶部51は、同一の状態認識情報が与えられても、行動情報が示すロボットの行動に応じて、異なる状態情報を生成するようになっている。
すなわち、例えば、ロボットがユーザに挨拶をし、ユーザに頭を撫でられた場合には、ユーザに挨拶をしたという行動情報と頭を撫でられたという状態認識情報とがモデル記憶部51に与えられ、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値が増加される。
一方、ロボットが何らかの仕事を実行中に頭を撫でられた場合には、仕事を実行中であるという行動情報と頭を撫でられたという状態認識情報とがモデル記憶部51に与えられるが、この場合、モデル記憶部51では、「うれしさ」を表す感情モデルの値は変化されない。
このようにモデル記憶部51は、状態認識情報や情報記憶部55からのデータだけでなく、現在又は過去のロボットの行動を示す行動情報も参照しながら、感情モデルの値を設定する。これにより、例えば何らかのタスクを実行中に、ユーザがいたずらするつもりでロボットの頭を撫でたときに、「うれしさ」を表す感情モデルの値を増加させるといった不自然な感情変化が生じることを回避できる。
なお、モデル記憶部51は、本能モデル及び成長モデルについても、感情モデルにおける場合と同様に、状態認識情報及び行動情報と情報記憶部55からのデータに基づいてその値を増減させる。また、モデル記憶部51は、感情モデル、本能モデル、成長モデルそれぞれの値を、他のモデルの値にも基づいて増減させる。
行動決定機構部52は、センサ入力処理部50からの状態認識情報や、モデル記憶部51からの状態情報、情報記憶部55からのデータや、時間経過等に基づいて、次の行動を決定し、決定された行動の内容を行動指令情報として姿勢遷移機構部53に送出する。
すなわち、行動決定機構部52は、ロボットがとり得る行動をステート(状態)(state)に対応させた有限オートマトンをロボットの行動を規定する行動モデルとして管理しており、この行動モデルとしての有限オートマトンにおけるステートをセンサ入力処理部50からの状態認識情報や、情報記憶部55からのデータや、モデル記憶部51における感情モデル、本能モデル、又は成長モデルの値、時間経過等に基づいて遷移させ、遷移後のステートに対応する行動を次にとるべき行動として決定する。
ここで、行動決定機構部52は、所定のトリガ(trigger)があったことを検出するとステートを遷移させる。すなわち、行動決定機構部52は、例えば、現在のステートに対応する行動を実行している時間が所定時間に達したときや、特定の状態認識情報を受信したとき、モデル記憶部51から供給される状態情報が示す感情や、本能、成長の状態の値が所定の閾値以下又は以上になったとき等に、ステートを遷移させる。
なお、行動決定機構部52は、上述したように、センサ入力処理部50からの状態認識情報だけでなく、情報記憶部55からのデータやモデル記憶部51における感情モデル、本能モデル、成長モデルの値等に基づいて行動モデルにおけるステートを遷移させることから、同一の状態認識情報が入力されても情報記憶部55からのデータや、感情モデル、本能モデル、成長モデルの値(状態情報)によってはステートの遷移先は異なるものとなる。
その結果、行動決定機構部52は、例えば、状態情報が「怒っていない」こと、及び「お腹がすいていない」ことを表している場合であって、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「お手」という行動をとらせる行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
また、行動決定機構部52は、例えば、状態情報が「怒っていない」こと及び「お腹がすいている」ことを表している場合であって、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、目の前に手のひらが差し出されたことに応じて、「手のひらをぺろぺろなめる」ような行動を行わせるための行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
また、行動決定機構部52は、例えば、状態情報が「怒っている」ことを表している場合であって、状態認識情報が「目の前に手のひらが差し出された」ことを表しているときには、状態情報が「お腹がすいている」ことを表していても、また「お腹がすいていない」ことを表していても、「ぷいと横を向く」ような行動を行わせるための行動指令情報を生成し、これを姿勢遷移機構部53に送出する。
なお、行動決定機構部52には、情報記憶部55からのデータ、モデル記憶部51から供給される状態情報が示す感情、本能、成長の状態に基づいて、遷移先のステートに対応する行動のパラメータとしての歩行の速度や手足を動かす際の動きの大きさ及び速度などを決定させることができる。この場合、それらのパラメータを含む行動指令情報が姿勢遷移機構部53に送出される。
行動決定機構部52では、上述したように、ロボットの頭部や手足等を動作させる行動指令情報のほか、ロボットに発話を行わせる行動指令情報も生成される。ロボットに発話を行わせる行動指令情報は、音声合成部57に供給されるようになっており、音声合成部57に供給される行動指令情報には、音声合成部57に生成させる合成音に対応するテキスト等が含まれる。そして、音声合成部57は、行動決定機構部52から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づき、合成音を生成し、音声出力部58を介して、スピーカ30に供給して出力させる。これにより、スピーカ30からは、例えば、ロボットの鳴き声、さらには、「お腹がすいた」等のユーザへの各種の要求、「何?」等のユーザの呼びかけに対する応答その他の音声出力が行われる。
また、行動決定機構部52では、上述したように、センサ入力処理部50からの状態認識情報だけでなく、情報記憶部55からのデータ、モデル記憶部51における感情モデル、本能モデル、成長モデルの値等に基づいて、ユーザの嗜好情報を獲得する。
以下、行動決定機構部52が獲得したユーザの嗜好情報に重み付けを施して情報記憶部55に記憶させる処理の一例について説明する。行動決定機構部52における処理は、図13に示したユーザ情報獲得部620が獲得したユーザの嗜好情報に重み付けを施して、ユーザ情報記憶部610に記憶する処理に準ずる。
すなわち、ステップS31において、例えば、画像認識部50BがCCDカメラ26を介してユーザを認識し、また音声認識部50Aがマイク25を介してユーザから発声される“和食のさしみ大好き”を認識した場合、センサ入力処理部50は、「和食」、「さしみ」、「大好き」を状態認識情報として行動決定機構部52及びモデル記憶部51へ出力する。行動決定機構部52は、その状態認識情報のなかからユーザに関するキーワードとして、「和食」、「さしみ」を検出する。
ステップS32において行動決定機構部52は、情報記憶部55に記憶された図22に示す学習情報テーブルDを参照し、ステップS31で入力されたキーワードが新規の嗜好情報であるか否かを判断する。入力されたキーワードが新規の嗜好情報ではないと判断された場合、ステップS34に進む。
一方、ステップS32において、入力されたキーワードが新規の嗜好情報であると判断された場合、行動決定機構部52は、ステップS33にて、入力されたキーワードを新たな嗜好情報として情報記憶部55の学習情報テーブルDに書き込む。
ステップS32において、入力されたキーワードが新規の嗜好情報ではないと判断された場合、若しくはステップS33の処理の終了後、行動決定機構部52は、ステップS34において、例えばそれぞれのキーワードの登録回数などを基に入力されたキーワードの重み付け計算を実施する。
キーワードの重み付け計算の方法は、キーワードの登録回数に限らず、他のパラメータを用いて計算するようにしてもよいし、例えば、ユーザの嗜好が経過期間とともに変更することを想定して、かなり過去の嗜好情報の登録回数を参照せずに、過去1ヶ月間や半年間といった比較的近い過去における登録回数を用いて計算してもよい。
ステップS35において、行動決定機構部52は、ステップS34の重み付けの計算結果を情報記憶部55の学習情報テーブルDの「嗜好の度合い」へ書き込んで処理が終了される。また、ステップS33又はステップS35で学習情報テーブルDが更新された場合、学習レベル情報テーブルDの内容も更新される。
以上説明した処理により、ユーザの興味、趣味、関心などの対象を示すキーワードが、例えば、ユーザの嗜好情報の入力頻度などに基づいて重み付けされて記録される。ユーザの嗜好情報は、ユーザの嗜好性が強いと考えられるものと、それほど強くないと考えられるものとが区別されて参照されるため、ユーザの嗜好に基づいた動作を行う場合に、ユーザの嗜好に合致したより細かい制御が可能となる。
姿勢遷移機構部53は、行動決定機構部52から供給される行動指令情報に基づいてロボットの姿勢を現在の姿勢から次の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部54に送出する。ここで、現在の姿勢から次に遷移可能な姿勢は、例えば、胴体や手や足の形状、重さ、各部の結合状態のようなロボットの物理的形状、関節が曲がる方向や角度のようなアクチュエータ3AA1乃至5A1及び5A2の機構とによって決定される。また、次の姿勢としては、現在の姿勢から直接遷移可能な姿勢と、直接には遷移できない姿勢とがある。例えば、4本足のロボットは、手足を大きく投げ出して寝転んでいる状態から「伏せ」の状態へ直接遷移することはできるが、「立つ」状態へ直接遷移することはできない、そのためこの場合は、一旦手足を胴体近くに引き寄せて伏せた姿勢になり、それから立ち上がるという2段階の動作が必要である。また、安全に実行できない姿勢も存在する。例えば、4本足のロボットは、その4本足で立っている姿勢から両前足をあげてバンザイをしようとすると、転倒してしまう。
このため、姿勢遷移機構部53は、直接遷移可能な姿勢を予め登録しておき、行動決定機構部52から供給される行動指令情報が直接遷移可能な姿勢を示す場合、その行動指令情報を姿勢遷移情報として制御機構部54にそのまま送出する。一方、行動指令情報が直接遷移不可能な姿勢を示す場合、姿勢遷移機構部53は、遷移可能なほかの姿勢に一旦遷移した後に、目的の姿勢まで遷移させるような姿勢遷移情報を生成し、制御機構部54に送出する。これによりロボットが遷移不可能な姿勢を無理に実行しようとする事態や転倒するような事態を回避することができるようになっている。
制御機構部54は、姿勢遷移機構部53からの姿勢遷移情報にしたがって、アクチュエータ3AA1乃至5A1及び5A2を駆動するための制御信号を生成し、これをアクチュエータ3AA1乃至5A1及び5A2に送出する。これにより、アクチュエータ3AA1乃至5A1及び5A2は、制御信号にしたがって駆動し、ロボットは、自律的に行動を起こす。
(4)本発明の具体例として示すハードディスクレコーダとペットロボットとの間における相互自動成長システム
続いて、(2)で説明したハードディスクレコーダ100と(3)で説明したペットロボット1とから構成され、各々が独自に学習した内容を図4と図5の処理にしたがって相互に伝達しあい、かつその学習内容を融合し共有する相互成長システムについて説明する。この例では、各機器が学習した内容は、ユーザによる操作を介することなく、定期的あるいは何らかのトリガによって相互に伝達しあう処理がなされる。本具体例では、場合によって、これを「自動的」という表現を用いて説明する。
このシステムでは、ペットロボット1は無線送受信部16を所有し、ハードディスクレコーダ100も無線送受信部250を所有しているため、図23に示すように互いに無線通信が可能である。
ハードディスクレコーダ100が図16に示した学習情報テーブルCをペットロボット1へ送信する手順について説明する。この処理は、上述の図4に示した処理に準ずる。したがって、それぞれの学習レベル情報テーブル及び学習情報テーブルには、最初は、自身の学習レベル及び自らが学習した内容のみが記録されているものとする。
図11に示すCPU220は、学習情報送信処理(RT1)を開始すると、ステップS11において、図12に示したユーザ情報記憶部610に格納された学習レベル情報テーブルの学習レベルが更新されたかどうか判別する。更新されていない場合は、更新されるまで待機する。例えば、学習レベルが1から2に上がるなどして、更新された場合は、続くステップ12に移り、CPU220は、図24に示す学習レベル情報テーブルCを生成し、これをペットロボット1へ送信し、次のステップS13に移る。
ステップS13において、ハードディスクレコーダ100のCPU220は、ペットロボット1がハードディスクレコーダ100の学習レベル情報テーブルCを取得したことの通知をペットロボット1から受信したら、続くステップS14に移る。ステップS14において、ハードディスクレコーダ100のCPU220は、ペットロボット1からハードディスクレコーダ100に記録された学習情報テーブルCの送信要求を受けると、続くステップS15に移る。ステップS15において、CPU220は、学習情報テーブルCをペットロボット1へ送信し、次のステップS16に移る。
ステップS16において、ハードディスクレコーダ100のCPU220は、ペットロボット1がハードディスクレコーダ100の学習情報テーブルCを取得したことの通知をハードディスクレコーダ100が受けたら、続くステップS17に移る。ステップS17において、ハードディスクレコーダ100のCPU220は、ペットロボット1からペットロボット1の学習レベル情報、例えば、図25に示す学習レベル情報テーブルDが送信されるのを待機する。学習レベル情報テーブルDを受信したら、続くステップS18に移る。ステップS18において、ハードディスクレコーダ100のCPU220は、学習レベル情報テーブルDを受信したことをペットロボット1へ連絡する。また、CPU220は、学習レベル情報テーブルDに基づいて、ユーザ情報記憶部610の学習レベル情報テーブルCにおけるペットロボット1の学習レベルを更新して、続くステップS19に移る。ステップS19において、電源がオフである場合は、処理RT1を終了するが、オンである間は、ステップS11に戻り、ステップS11〜S19を繰り返す。
続いて、ペットロボットのコントローラ10において、学習情報テーブル及び学習情報レベルテーブルを受信する処理について説明する。この処理は、上述の図5に示した処理に準ずる。
ペットロボット1のコントローラ10は、学習情報受信処理RT2に入ると、ステップS21において、ハードディスクレコーダ100から図24に示す学習レベル情報テーブルCの送出の有無を判別する。学習レベル情報テーブルCの送出があった場合、続くステップS22へ移る。ステップS22において、コントローラ10は、学習レベル情報テーブルCを取得し、かつ取得が完了できたことをハードディスクレコーダ100へ通知して、続くステップS23に移る。
ステップS23において、コントローラ10は、学習レベル情報テーブルCと、情報記憶部55に格納された学習レベル情報テーブルDに記載されているハードディスクレコーダ100の学習レベルとを比較し、更新されていない場合は、ステップS21に戻る。更新されている場合は、続くステップS24に移り、学習レベル情報テーブルDに記載されているハードディスクレコーダ100の学習レベルを更新する。
また、ハードディスクレコーダ100の学習情報テーブルC(図16)を送信するようにハードディスクレコーダ100へ要求し、ステップS25に移る。ステップS25において、コントローラ10は、学習情報テーブルCを受信するまで待機する。ハードディスクレコーダ100の学習情報テーブルCを受信した場合は、続くステップS26に移る。ステップS26において、ハードディスクレコーダ100の学習情報テーブルCを受信したことの通知をハードディスクレコーダ100へ連絡する。またコントローラ10は、情報記憶部55に格納されている学習レベル情報及び学習情報と、取得したハードディスクレコーダ100の学習レベル情報及び学習情報に基づいて、図26に示すように学習情報テーブルDを更新する。すなわち、学習情報テーブルDにはなかった学習情報テーブルCの「お好みコンテンツ」が新たに学習情報テーブルDに追加され、コントローラ10は、生成した学習情報テーブルDと更新された学習レベル情報テーブルDとを再度情報記憶部55に格納し、続くステップS27に移る。
ステップ27において、更新された学習レベル情報テーブルDから図25に示す学習レベル情報テーブルDを生成し、ハードディスクレコーダ100へ送信して、ステップS28に移る。ステップS28において、ハードディスクレコーダ100がペットロボット1の学習レベル情報テーブルDを取得したことの通知をペットロボット1がハードディスクレコーダ100から受信したら、続くステップS29に移る。ステップS29において、電源がオフの場合は、処理RT2を終了するが、オンである間は、ステップS21に戻りステップS21からステップS29の工程を繰り返す。
上記説明で、ペットロボット1がハードディスクレコーダ100から学習情報を取得し、取得した学習情報とペットロボット1の学習情報とを融合する処理を説明したが、ハードディスクレコーダ100がペットロボット1から学習情報を取得する処理も同様に、RT1とRT2にしたがって、ペットロボット1の学習情報を取得し、取得した学習情報とハードディスクレコーダ100の学習情報を融合することが可能である。
例えば、ペットロボット1は、処理RT1及びRT2によって、ハードディスクレコーダ100の学習情報テーブルCを取得し、図26に示す学習情報テーブルDを生成したとする。またペットロボット1は、無線送受信部16を介してハードディスクレコーダ100のHDD270に記録されたEPGデータを受信し、情報記憶部55にそのまま格納する。コントローラ10は、生成した学習情報テーブルDをモデル記憶部51と行動決定機構部52に通知する。モデル記憶部51は、生成した学習情報テーブルDとセンサ入力処理部50からの状態認識情報や時間経過等に基づいて、例えば、ユーザへの献身欲の度合いを増加させて、その状態情報を行動決定機構部52に出力する。行動決定機構部52は、モデル記憶部51からの「ユーザへの献身欲増加」の状態情報と学習情報Rに基づいて、EPGデータの記述データのなかからお好みコンテンツと適合するものを検索して、適合する番組がEPGデータにあった場合は、例えば「適合する番組情報についての情報をユーザへ連絡する」という行動をとらせる行動指令情報を生成し、音声合成部57に供給する。
音声合成部57は、行動決定部52から行動指令情報を受信すると、その行動指令情報に含まれるテキストに基づいて合成音を生成し、音声出力部58を介してスピーカ30に供給して出力させる。これによりスピーカ30からは、例えば「番組XXXが始まるよ!」、「番組XXXにタレントAが出ているよ!」等、ユーザお好みの番組コンテンツに関連する様々な音声出力が行われる。
また、ユーザがお好み番組の閲覧に集中できるようにするために、同時に「静かにする」という行動をとらせる行動指令情報を生成し、これを姿勢遷移機構部53に送出してもよい。姿勢遷移機構部53は、行動決定機構部52から供給される行動指令情報に基づいてペットロボットの姿勢を現在の姿勢から「伏せる」等の姿勢に遷移させるための姿勢遷移情報を生成し、これを制御機構部54に送出する。制御機構部54は、各種アクチュエータへ制御信号を送出して「伏せる」姿勢に移行させる。
また、例えばハードディスクレコーダ100は、処理RT1及びRT2によってペットロボット1の学習情報テーブルDを取得し、図16の学習情報を更新して図27の学習情報テーブルCを生成するとき、CPU220がこの更新した最新の学習情報テーブルCを参照することで、ユーザの嗜好に合致したより細かい制御が可能になる。例えば、ペットロボット1から得た学習情報によってユーザが和食を好きであることを認識しており、さらにハードディスクレコーダ100がHDD270に記録したコンテンツ記述データから番組種別「レストラン紹介」、番組素材「和食」である放送番組を検出した場合、ペットロボット1から受け取ったユーザの嗜好に合致した番組であると判断して、この番組を自動的に記録又は再生してもよい。
このように、ペットロボット1とハードディスクレコーダ100とは、各々が学習した情報を自動的に伝達しあうことができ、かつその情報を融合し共有することができる。なお、ここでは各々が学習した情報の送受信に限定することなく一般的なデータの双方向通信をすることも可能である。