(57)【要約】【課題】  ユーザの嗜好を反映したコンテンツを的確に選択し、ユーザに提示すること。【解決手段】  コンテンツ記録再生装置は、受信・記録した番組から顔画像を検出し、予め顔画像データベースに記憶した顔画像と照合を行って当該顔画像に対応する人物を識別して、識別した情報を、当該人物の番組における登場時間を反映したポイントとともに登場人物データベースとして管理する。ユーザが番組の視聴を所望する際には、登場人物データベース及びポイントを参照して、ユーザの嗜好に合致した番組を提示する。【選択図】  図８
2006033659.tif 000002
【特許請求の範囲】
【請求項１】
放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶する記憶手段と、
前記コンテンツを受信する受信手段と、
前記受信されたコンテンツを記録する記録手段と、
前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出する検出手段と、
前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別する識別手段と、
前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出する算出手段と、
前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示する提示手段と
を具備することを特徴とするコンテンツ記録再生装置。
【請求項２】
請求項１に記載のコンテンツ記録再生装置において、
前記コンテンツは連続する複数のフレームで構成され、
前記検出手段は、前記顔画像を前記フレーム毎に検索し、
前記識別手段は、前記人物を前記フレーム毎に識別し、
前記算出手段は、前記コンテンツを構成するフレームの総数に対する前記人物が前記コンテンツ中に登場するフレームの割合を算出し、
前記提示手段は、前記記録手段により前記人物が登場しているコンテンツが複数記録された場合に、当該複数のコンテンツを前記算出された割合が高い順に提示することを特徴とするコンテンツ記録再生装置。
【請求項３】
請求項２に記載のコンテンツ記録再生装置において、
前記検出手段により一のフレームに前記顔画像が検出された場合に、当該一のフレームの前後のそれぞれ連続する所定数のフレームに当該前記顔画像が存在するか否かを検出する手段を更に具備することを特徴とするコンテンツ記録再生装置。
【請求項４】
請求項２に記載のコンテンツ記録再生装置において、
前記識別手段により複数のフレームに前記人物が登場することが識別された場合に、当該複数のフレーム中に同一のフレームがあるか否かを判断する手段を更に具備し、
前記算出手段は、前記同一のフレームがあると判断された場合に、当該同一の複数のフレームのうちの一のフレームのみを上記割合の算出対象とするように制御する手段を有することを特徴とするコンテンツ記録再生装置。
【請求項５】
請求項２に記載のコンテンツ記録再生装置において、
前記提示手段は、前記コンテンツを前記割合が高い順にリストとして表示し、当該リストから一のコンテンツを前記ユーザに選択させる手段を有し、
当該コンテンツ記録再生装置は、前記選択されたコンテンツを再生する手段を更に具備することを特徴とするコンテンツ記録再生装置。
【請求項６】
請求項５に記載のコンテンツ記録再生装置において、
前記再生されたコンテンツの再生履歴情報を、当該コンテンツに登場している人物毎に蓄積する手段を更に具備し、
前記提示手段は、前記蓄積された再生履歴情報中、蓄積されている割合が高い人物が登場しているコンテンツを当該割合が高い順に提示することを特徴とするコンテンツ記録再生装置。
【請求項７】
請求項６に記載のコンテンツ記録再生装置において、
前記再生履歴情報には前記コンテンツが再生された日時に関する情報が含まれ、
前記提示手段は、前記記録手段により前記コンテンツが記録された日時と当該コンテンツが再生された前記日時との時間間隔の長さに応じて前記提示する順番を変更することを特徴とするコンテンツ記録再生装置。
【請求項８】
請求項１に記載のコンテンツ記録再生装置において、
前記記憶手段は、前記人物に関する情報を当該人物が発する音声データと更に対応付けて記憶し、
当該コンテンツ記録再生装置は、
前記記録されたコンテンツから、当該コンテンツに登場する人物の音声を検出する手段と、
前記記憶された情報を基に、前記検出された音声に対応する人物を識別する手段と、
前記識別された人物の音声が前記コンテンツ中に登場している割合を算出する手段とを更に具備し、
前記提示手段は、前記顔画像データ及び音声データが登場している割合を基にコンテンツを提示することを特徴とするコンテンツ記録再生装置。
【請求項９】
請求項８に記載のコンテンツ記録再生装置において、
前記提示手段は、前記画像データと音声データのうち少なくとも一方のデータを他のデータに優先して用いるように設定する手段を更に有することを特徴とするコンテンツ記録再生装置。
【請求項１０】
放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶するステップと、
前記コンテンツを受信するステップと、
前記受信されたコンテンツを記録するステップと、
前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出するステップと、
前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別するステップと、
前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出するステップと、
前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示するステップと
を具備することを特徴とするコンテンツ記録再生方法。
【請求項１１】
コンテンツ記録再生装置に、
放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶するステップと、
前記コンテンツを受信するステップと、
前記受信されたコンテンツを記録するステップと、
前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出するステップと、
前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別するステップと、
前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出するステップと、
前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示するステップと
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テレビ番組等の放送されるコンテンツを記録し、再生させることが可能なコンテンツ記録再生装置、コンテンツ記録再生方法及びそのプログラムに関する。
【背景技術】
【０００２】
従来から、ユーザが視聴を所望するテレビ番組等の放送を自動録画する技術としては、例えばＥＰＧ（Electronic Program Guide）に記載されたデータ及びユーザが指定した検索キーワードを用いて、上記ＥＰＧデータ中、当該検索キーワードを含む番組を自動録画するというものがある（例えば、特許文献１参照）。
【０００３】
また、ある番組の総時間に対するユーザの視聴時間の比率等を算出し、当該比率が高い番組ほど当該番組に対するユーザの嗜好度が高いものとみなして、ユーザが番組を視聴する毎に嗜好度を学習していき、嗜好度の高い番組を優先して録画するという技術も存在する（例えば、特許文献２参照）。  
【特許文献１】特開２０００−１７５１４１号公報（段落[００４１]等）
【特許文献２】特開２００３−２３５８９号公報（段落[０１２３]等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１に記載の技術においては、上記検索キーワードに関連する番組が録画されるか否かは、もっぱら当該キーワードがＥＰＧに記載されているか否かに依るため、実際にはキーワードに関連する番組があっても録画されない場合があり、そのような場合には、ユーザは所望の番組を見逃してしまうことになる。一方、実際に録画された番組でも、ユーザのキーワードに関連する部分は番組中のわずかの時間帯にしかない場合もあるため、結局ユーザは、記録した番組が自らの嗜好に合致するものであるかを、視聴して確認しなければならない。
【０００５】
また、上記特許文献２に記載の技術においては、あくまで特定の番組に対するユーザの嗜好度、すなわち、特定の番組をユーザが頻繁に視聴するかといった情報に基づいて番組を録画しているため、ユーザが視聴したことの無い多数の番組の中からユーザの嗜好に合致した番組を自動的に選択して録画することはできない。
【０００６】
以上のような事情に鑑み、本発明の目的は、ユーザの嗜好を反映したコンテンツを的確に選択し、ユーザに提示することが可能なコンテンツ記録再生装置、コンテンツ記録再生方法及びそのプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上述の課題を解決するため、本発明のコンテンツ記録再生装置は、放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶する記憶手段と、前記コンテンツを受信する受信手段と、前記受信されたコンテンツを記録する記録手段と、前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出する検出手段と、前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別する識別手段と、前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出する算出手段と、前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示する提示手段とを具備する。
【０００８】
上記コンテンツとは、テレビ放送・ラジオ放送やインターネット放送等の番組等、一連の映像情報または音声情報、静止画、グラフィックス等をいう。この構成によれば、上記記録されたコンテンツ中から、上記記憶された顔データに対応する人物が登場しているコンテンツを選択し、その登場している割合に応じて当該コンテンツをユーザに提示することとしたため、ＥＰＧ及びキーワード等を用いる場合に比べて、ユーザの人物に関する嗜好を反映したコンテンツを漏れなく記録し、かつ当該コンテンツを反映の度合いに応じてユーザに提示することができる。よって、ユーザは、記録したコンテンツに所望の人物が登場しているか、または当該人物がどのくらいの時間登場しているか等を逐一確認する必要もなくなる。
【０００９】
上記コンテンツ記録再生装置において、前記コンテンツは連続する複数のフレームで構成され、前記検出手段は、前記顔画像を前記フレーム毎に検索し、前記識別手段は、前記人物を前記フレーム毎に識別し、前記算出手段は、前記コンテンツを構成するフレームの総数に対する前記人物が前記コンテンツ中に登場するフレームの割合を算出し、前記提示手段は、前記記録手段により前記人物が登場しているコンテンツが複数記録された場合に、当該複数のコンテンツを前記算出された割合が高い順に提示するようにしてもよい。上記人物をフレーム毎に識別し、識別された人物が番組中にどの程度の割合で登場しているかを上記フレームの割合によって認識しているため、例えばユーザが好きな人物が登場しているコンテンツを、登場時間が多い順にユーザに提示することができ、ユーザは、好きな人物が長時間登場しているコンテンツを優先して視聴することができる。
【００１０】
上記コンテンツ記録再生装置は、前記検出手段により一のフレームに前記顔画像が検出された場合に、当該一のフレームの前後のそれぞれ連続する所定数のフレームに当該前記顔画像が存在するか否かを検出する手段を更に具備していてもよい。上記検出手段により上記人物が登場しているフレームの検出漏れが生じた場合でも、あるフレームにおいて一度検出された顔画像をその前後のフレームにおいて追跡して検出することで、上記検出漏れを極力防いで検出精度を向上させることができ、ユーザの嗜好をより反映させることができる。
【００１１】
上記コンテンツ記録再生装置は、前記識別手段により複数のフレームに前記人物が登場することが識別された場合に、当該複数のフレーム中に同一のフレームがあるか否かを判断する手段を更に具備し、前記算出手段は、前記同一のフレームがあると判断された場合に、当該同一の複数のフレームのうちの一のフレームのみを上記割合の算出対象とするように制御する手段を有していてもよい。
【００１２】
上記同一のフレームがある場合としては、例えばニュース番組等において、あるシーンを繰り返し放送するような場合が挙げられる。ユーザの好きな人物が登場している番組でもその人物の実質的な情報量としては少ないような場合には、上記割合の算出対象から除外することで、ユーザの人物に対する嗜好を実質的に反映した番組をユーザに提示することが可能となる。
【００１３】
上記コンテンツ記録再生装置において、前記提示手段は、前記コンテンツを前記割合が高い順にリストとして表示し、当該リストから一のコンテンツを前記ユーザに選択させる手段を有し、当該コンテンツ記録再生装置は、前記選択されたコンテンツを再生する手段を更に具備していてもよい。これにより、ユーザは上記リストから自身の嗜好に合致するコンテンツを容易に選択し、再生させることができる。
【００１４】
上記コンテンツ記録再生装置は、前記再生されたコンテンツの再生履歴情報を、当該コンテンツに登場している人物毎に蓄積する手段を更に具備し、前記提示手段は、前記蓄積された再生履歴情報中、蓄積されている割合が高い人物が登場しているコンテンツを当該割合が高い順に提示するようにしてもよい。上記履歴情報を蓄積して、登場人物に対するユーザの嗜好傾向を学習することで、例えばユーザが好きな登場人物順にコンテンツを提示することができ、ユーザの利便性も向上する。
【００１５】
上記コンテンツ記録再生装置において、前記再生履歴情報には前記コンテンツが再生された日時に関する情報が含まれ、前記提示手段は、前記記録手段により前記コンテンツが記録された日時と当該コンテンツが再生された前記日時との時間間隔の長さに応じて前記提示する順番を変更するようにしてもよい。上記日時に関する情報を利用することで、例えばユーザが最近頻繁に視聴している人物が登場している番組を優先して提示したり、また、合計の再生回数は多いものの、最近はあまり視聴していないような人物が登場している番組は重要度を下げたりするといったように、ユーザの嗜好傾向の時間的な変化にも対応することが可能となる。
【００１６】
上記コンテンツ記録再生装置において、前記記憶手段は、前記人物に関する情報を当該人物が発する音声データと更に対応付けて記憶し、当該コンテンツ記録再生装置は、前記記録されたコンテンツから、当該コンテンツに登場する人物の音声を検出する手段と、前記記憶された情報を基に、前記検出された音声に対応する人物を識別する手段と、前記識別された人物の音声が前記コンテンツ中に登場している割合を算出する手段とを更に具備し、前記提示手段は、前記顔画像データ及び音声データが登場している割合を基にコンテンツを提示するようにしてもよい。
【００１７】
上記音声データとは例えば上記人物の声の特徴をパターンとして表した声紋データである。上記顔画像とともに音声データも用いることで、番組中に人物の画像だけでなく音声が含まれるような場合にも当該人物を識別することができ、ユーザの人物に対する嗜好をより詳細に反映したコンテンツを提示することができる。また、ユーザが好きな歌手が登場している番組はもちろん、当該歌手の歌が流れている番組も提示するようなことも可能となる。
【００１８】
上記コンテンツ記録再生装置において、前記提示手段は、前記画像データと音声データのうち少なくとも一方のデータを他のデータに優先して用いるように設定する手段を更に有していてもよい。これにより、例えばユーザが好きなスポーツ選手が登場している番組を提示する場合に、その選手がプレイしている場面、インタビューを受けている場面等、人物の登場態様によって提示の仕方をカスタマイズすることが可能となる。すなわち、選手がプレイしている場面の視聴をユーザが所望する場合には顔画像の方を優先して用い、選手がインタビューを受けている場面の視聴をユーザが所望する場合には音声の方を優先して用いればよい。
【００１９】
本発明のコンテンツ記録再生方法は、放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶するステップと、前記コンテンツを受信するステップと、前記受信されたコンテンツを記録するステップと、前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出するステップと、前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別するステップと、前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出するステップと、前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示するステップとを具備する。
【００２０】
また、本発明のプログラムは、コンテンツ記録再生装置に、放送されるコンテンツに登場する可能性のある人物に関する情報を、少なくとも当該人物の顔画像データと対応付けて記憶するステップと、前記コンテンツを受信するステップと、前記受信されたコンテンツを記録するステップと、前記記録されたコンテンツから、当該コンテンツに登場する人物の顔画像を検出するステップと、前記記憶された情報を基に、前記検出された顔画像に対応する人物を識別するステップと、前記識別された人物の顔画像が前記コンテンツ中に登場している割合を算出するステップと、前記算出された割合を基に、前記識別された人物が登場しているコンテンツをユーザに提示するステップとを実行させるためのものである。
【発明の効果】
【００２１】
本発明によれば、ユーザの嗜好を反映したコンテンツを的確に選択し、ユーザに提示することができる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を図面に基づき説明する。
【００２３】
（第１の実施形態）  
まず、本発明の第１の実施形態について説明する。図１は、本実施形態におけるコンテンツ記録再生装置の構成を示した図である。
【００２４】
同図に示すように、本実施形態に係るコンテンツ記録再生装置１００は、放送受信部１０１、圧縮復号化部１０２、映像フレームメモリ部１０３、表示部１０４、音響部１０５、操作入力部１０６、制御部１０７、外部記憶装置１０８で構成され、各部はバス１１２を介して接続されている。
【００２５】
放送受信部１０１はアンテナ及びチューナからなり、衛星放送波、地上波等の映像信号及び音声信号を受信し、所定チャンネルの放送波の選局を行う。当該放送波がデジタル放送におけるＭＰＥＧ（Moving Picture Experts Group）−２等の圧縮符号化ストリームの場合には、当該ストリームは圧縮復号化部１０２へ送られ、復号化される。なお、コンテンツ記録再生装置１００は、例えばいわゆる裏番組の録画を可能とするために、当該放送受信部１０１を複数有していてもよい。
【００２６】
映像フレームメモリ部１０３は、例えばＲＡＭ（Random Access Memory）であり、上記制御部１０７が後述する顔画像検出処理等をリアルタイムで行う場合に、上記映像信号により構成される番組の映像フレームを一時的に記憶し、または上記制御部１０７が上記番組を上記外部記憶装置１０８へ一旦記憶した後に上記顔画像検出処理等を行う場合に、当該外部記憶装置１０８から当該番組の映像フレームをロードする。
【００２７】
制御部１０７は、顔画像検出部１１３、顔画像識別部１１４、顔画像管理部１１５及び顔画像追跡部１１６を有する。
【００２８】
顔画像検出部１１３は、上記番組を構成する各映像フレームから、当該番組に登場している人物の顔画像をフレーム毎に検出して、当該フレームに、顔画像が検出されたことを示すタグ付けを行うとともに、当該顔画像の顔全体及び各部（目、鼻、口、耳、まゆげ等）の位置座標やサイズ、形、色等の情報をフレーム毎に関連付けて、登場人物データベース１１０へ登録する。顔画像検出の具体的手法としては、例えば一枚のフレーム中の肌色の領域とそれを囲むエッジから顔の領域を推定し、その領域内でより詳細に目や鼻の位置等を検出する。
【００２９】
顔画像識別部１１４は、上記顔画像検出部１１３が検出した顔画像を有するフレームから、上記登場人物データベースに登録されたデータを基に、顔画像データベース１１１に存在する顔画像との一致を検出することにより、データベースに登録された顔画像であるか否かを識別する。
【００３０】
顔画像管理部１１５は、上記顔画像データベース１１１を管理し、データの更新等を行う。なお、当該顔画像データベース１１１及び登場人物データベース１１０の詳細については後述する。
【００３１】
顔画像追跡部１１６は、順方向動き検出部１１７と逆方向動き検出部１１８からなり、上記顔画像検出部１１３において顔画像が検出されたフレームの順方向及び逆方向それぞれ所定枚数のフレームを上記映像フレームメモリ部１０３から呼び出して、当該各フレームから上記顔画像の動きを追跡して検出する。
【００３２】
すなわち、上記顔画像検出部１１３の検出処理においては、例えば顔の向きや色、隠れ度合い等により顔画像の検出漏れが生じることが考えられるため、顔画像検出部１１３が顔画像を検出したフレームを基準として、順方向動き検出部１１７が順方向、逆方向動き検出部１１８が逆方向の所定枚数のフレームからそれぞれ上記顔画像を検出することで、顔画像検出部１１３の処理を補完し、フレームの検出漏れを防ぐ機能を担う。上記所定枚数は、例えば５枚、１０枚等であり、当該顔画像追跡部１１６自体の処理能力や上記映像フレームメモリ部１０３の容量等によって決定される。
【００３３】
外部記憶装置１０８は、例えばＨＤＤ（Hard Disk Drive）、ＤＶＤ±ＲＷ等の光ディスク等であり、上記番組の映像・音声データ及び記録日時や番組名、ジャンル等の関連情報を記録する番組データベース１０９や、登場人物データベース１１０及び顔画像データベース１１１その他のデータやプログラムを格納する。また、記録した番組を再生する場合には、映像信号を表示部１０４へ、音声信号を音響部１０５へ出力する。
【００３４】
図２は上記顔画像データベース１１１の例を示した図である。同図に示すように、顔画像データベース１１１には、顔画像ＩＤ２０１、人物情報２０２、顔画像データ２０３、顔情報２０４及び嗜好情報履歴２０５が含まれる。これらの情報が、登録された人物毎に存在する。データベースへの登録方法としては、ユーザの入力によるものでもよいし、例えばインターネット等からダウンロードするものであっても構わない。また、上記顔画像管理部１１５の処理により、一度登録した情報を更新したり、未登録の情報を新たに登録したりすることも可能である。
【００３５】
顔画像ＩＤは顔画像データベース１１１に登録されている各顔画像を識別するためのＩＤであり、顔画像認識処理の際には、当該顔画像ＩＤにより登場人物データベース１１０との関連付けが行われる。
【００３６】
人物情報２０２としては、当該顔画像に対応する人物の名前、性別、生年月日、出身地等を登録する。顔画像データ２０３は、例えば正面を向いた画像を少なくとも１枚登録するが、識別精度の点からは、一人の人物に対してできるだけ多く登録した方が好ましい。
【００３７】
顔情報２０４は上記顔画像の特徴を示す情報であり、例えば顔全体のサイズ、向き等、左右の目、まゆ、左右の耳、鼻、口、髪等の顔の各部分の顔全体に対する座標位置、サイズ（縦横）、色、状態（目や口の開閉等）等が登録される。また嗜好情報履歴２０５は、登場人物に対するユーザの嗜好をコンテンツ記録再生装置１００が学習して、嗜好度に応じてユーザに番組を提示する際に参照される情報であり、当該顔画像に対応する人物が登場する番組をユーザが視聴した日時、番組名等の番組情報及び嗜好評価ポイント等が履歴として登録される。当該嗜好評価ポイント及び学習処理の詳細については後述する。
【００３８】
図３は、登場人物データベース１１０の例を示した図である。同図に示すように、登場人物データベース１１０は、顔検出フレーム情報３０１、番組データ３０２及び顔画像ＩＤ３０３とから構成される。
【００３９】
顔検出フレーム情報３０１には、顔画像検出処理により顔画像を検出したフレームのフレーム番号と、当該フレームにおいて検出された顔画像の顔情報（顔全体、目、まゆ等の位置、サイズ等）が登録される。また、検出状況は顔の各部の検出の態様及びその範囲を表す。具体的には、顔の各部が上記顔画像検出部１１３により検出されたものである場合には「顔検出」、顔画像追跡部１１６により検出（動き検出）された場合には「動き検出」と登録し、また各部の全てが検出されている場合には「全部」、一部検出の場合には「一部」、検出されていない場合には「未検出」と登録する。同図においては、フレーム番号１０のフレームにおいて顔画像検出部１１３により顔画像が検出され、当該顔画像のうち、左まゆが一部検出、両耳が未検出であり、それ以外の各部は全部検出である。
【００４０】
番組データ３０２には、顔画像を検出したフレームが属する番組の番組名、放送日時、番組のジャンル等、上記番組データベース１０９と関連付けた情報が登録される。
【００４１】
顔画像ＩＤは、上記顔画像検出部１１３の検出処理の後に、顔画像識別部１１４が顔画像データベース１１１を参照して識別した人物の顔画像のＩＤを示している。すなわち、顔画像識別部１１４は、顔画像データベース１１１中、検出された顔画像と一致する顔画像に関するデータを上記顔画像ＩＤにより登場人物データベースと関連付けて登録する。
【００４２】
次に、本実施形態におけるコンテンツ記録再生装置１００の動作を説明する。
【００４３】
まず、上記顔画像検出部１１３の顔画像検出処理及び顔画像追跡部１１６による顔画像追跡処理について説明する。
【００４４】
図４は、一のフレームにおいて顔画像検出部１１３が顔画像を検出する様子の例を示した図である。同図に示すように、顔画像検出部１１３は、例えば一のフレーム４０１から肌色の領域とそれを囲むエッジから顔の輪郭を推定し、当該領域について更に画像解析して、目、鼻、口等の部分の位置関係に矛盾がないと判断した領域４０２を顔画像として切り出す。
【００４５】
図５（ａ）、（ｂ）、（ｃ）は、一の番組を構成する複数のフレームから顔画像を含むフレームを検出する様子を示した図である。各図において手前のフレームほど時間軸方向で先のフレームを示している。
【００４６】
同図（ａ）に示すように、顔画像検出部１１３による検出処理の際には、登場人物の顔の向きや隠れ度合い、背景色等の要因により、検出方法によっては顔画像の検出漏れが生じる場合が考えられる。同図の例においては、検出の対象人物の登場範囲に属する計８つのフレームのうち４枚に検出漏れが生じている。
【００４７】
そこで、同図（ｂ）に示すように、顔画像追跡部１１６は、顔画像検出部１１３が一のフレームから顔画像を検出すると、当該一のフレーム５０１を基準として、そのフレームの前後それぞれ予め指定された枚数（ｓ枚）のフレームから上記顔画像領域の動きを追跡検出する。上記フレーム５０１のフレーム番号がｆである場合、当該フレーム５０１から時間軸に対して順方向にｓ枚先のフレーム（フレーム番号ｆ＋ｓ）、逆方向にｓ枚前のフレーム（フレーム番号ｆ−ｓ）までの各フレームが追跡範囲となる。同図においてはｓの値は３である。上述したように当該ｓの値は例えば顔画像追跡部１１６の処理能力及び上記映像フレームメモリ部１０３の容量に応じて決定される。
【００４８】
当該処理は、顔画像検出部１１３により顔画像が検出された全てのフレームについて、各フレームを基準とした順方向及び逆方向のｓ枚のフレームについて行われる。その結果、同図（ｃ）に示すように、上記図５（ａ）において検出漏れが生じていたフレーム全てについて顔画像領域が追跡検出され、対象人物の登場範囲のフレームにおいて漏れなく顔画像が検出される。
【００４９】
上記処理を以下具体的に説明する。図６は、上記顔画像追跡処理のうち、逆方向動き検出部１１８の動作の流れを示すフローチャートである。
【００５０】
同図に示すように、まず逆方向動き検出部１１８は、顔画像検出部１１３の処理により、番組を構成するフレームのうちいずれかのフレームにおいて顔画像が検出された場合（ステップ６０１のＹＥＳ）には、当該フレームのフレーム番号をｆと設定し（以下当該フレームを単にフレームｆと称する。）、一のフレームを基準として追跡を行ったフレームの枚数を示すカウンタ値ｉを０に初期化する（ステップ６０２）。
【００５１】
続いて逆方向動き検出部１１８は、予め定めた追跡を行う範囲を示す値ｓが上記ｉの値より大きいか否か（すなわちｓ枚分まで追跡したか）を確認し（ステップ６０３）、ｓ>ｉである場合（ステップ６０３のＹＥＳ）にはフレーム番号ｆ−１のフレーム（以下当該フレームを単にフレームｆ−１と称する。）が登場人物データベース１１０に登録されているか否かを確認する（ステップ６０４）。
【００５２】
そして、逆方向動き検出部１１８は、映像フレームメモリ部１０３からフレームｆ及びフレームｆ−１を呼び出して、両フレーム間で顔画像の動きを検出する（ステップ６０５）。当該検出の結果、フレームｆ−１に上記フレームｆで検出された顔画像と同一の顔画像が存在した場合（ステップ６０６のＹＥＳ）、すなわち上記顔画像検出部１１３の処理では検出されなかった顔画像が検出された場合には、当該フレームｆ−１に関する情報を、顔画像データベース１１１と関連付けながら登場人物データベース１１０へ登録する（ステップ６０７）。
【００５３】
上記登録処理を終了すると、上記設定したｉの値をｉ＋１、ｆの値をｆ−１として、次のフレームについて以上の処理を繰り返し、カウンタ値ｉがｓに達するまで追跡を行った場合（ステップ６０３）には終了する。また上記ステップ６０４においてフレームｆ−１が登場人物データベース１１０に登録されている場合（ステップ６０３のＮＯ）、すなわちフレームｆ−１において既に顔画像が検出されている場合、及びステップ６０６においてフレームｆ−１に顔画像が無かった場合（ステップ６０６のＮＯ）、すなわち検出漏れではなく実際に登場人物が存在しなかった場合にも終了する。
【００５４】
以上の処理は、顔画像検出部１１３により顔画像が検出されたフレーム全てについて行われる。また、順方向動き検出部１１７の処理も上記逆方向動き検出部１１８と同様に行うことができる。この場合、上記ステップ６０４〜６０８におけるフレームｆ−１をフレームｆ＋１と置き換えればよい。なお、上記動き検出をリアルタイムに行う場合、すなわちテレビ番組の録画と同時に行う場合には、より多くの演算処理を行う必要があるため、処理量を減らすために例えばその時点で放送及び記録中のフレームと、その一つ前のフレーム間でのみ動き検出処理を行うようにしてもよい。
【００５５】
以上の処理により、上記顔画像検出部１１３により検出漏れが生じた場合でも、顔画像追跡部１１６による動き検出処理により当該検出漏れを極力防ぐことが可能となる。
【００５６】
次に、嗜好評価ポイントについて説明する。嗜好評価ポイントとは、フレームにおける顔画像の検出態様に応じて各フレームに付与され、当該フレームに対するユーザの嗜好度合いを評価するためのポイントである。フレーム毎に算出された嗜好評価ポイントは番組単位で集計され、集計されたポイントを基にユーザに対して番組が提示される。図７は、当該嗜好評価ポイントの付与例を示した図である。同図では登場人物Ａの顔画像を検出した場合のポイント付与例を示している。
【００５７】
同図に示すように、嗜好評価ポイントは、映像フレーム番号毎に、当該フレームが顔検出による検出フレームか、顔画像識別による人物Ａの検出フレームか、顔追跡による人物Ａの検出フレームかによってそれぞれ付与される。
【００５８】
顔検出による検出フレームとは、上記顔画像検出部１１３により顔画像を検出したフレームであり、当該フレームには、顔画像を検出したときにタグ付けのみを行い（同図の○印）、この段階ではポイントは付与しない。
【００５９】
顔識別による人物Ａ検出フレームとは、上記顔検出による検出フレームのうち、上記顔画像識別部１１４により当該顔画像が人物Ａであると識別できたフレームであり、当該フレームにはタグ付けを行うとともに、フレーム毎に３ポイントを付与する。
【００６０】
顔追跡による人物Ａ検出フレームとは、上記顔検出による検出フレームから、上記顔画像追跡部１１６による顔画像の動き追跡処理により顔画像を検出したフレームであり、当該フレームには、例えば１ポイントを付与する。上記顔識別による人物Ａ検出フレームに比べてポイントが低いのは、顔画像識別処理に比べて顔画像追跡処理の方が検出精度が落ちることが考えられるからである。
【００６１】
人物Ａ登場範囲とは、上記各検出処理により最終的に人物Ａが登場していると判断されたフレームである。そして人物Ａ登場累積ポイントとは、各フレームについて上記方法で付与したポイントをフレーム毎に累計した値を示したものである。同図においては、フレーム番号１５のフレームまでに２９ポイントが累計されている。
【００６２】
コンテンツ記録再生装置１００は、当該ポイントを番組毎に最終フレームまで累計して各番組の累計ポイントを求めておき、当該累計ポイントを参照して例えばポイントの高い順にユーザに番組を提示する。ポイントの付与の仕方は上記態様に限られず、例えば顔識別と顔追跡でポイントに差を設けないようにしても構わない。当該評価ポイントのデータは例えば外部記憶装置１０８に保存され、番組データベース１０９、登場人物データベース１１０及び顔画像データベース１１１と関連付けられる。また同一の番組に、顔画像データベース１１１に登録された複数の登場人物が検出された場合には、当該登場人物毎に嗜好評価ポイントを加算及び累計する。
【００６３】
次に、本実施形態においてコンテンツ記録再生装置１００が番組を記録し、記録した番組から登場人物データベース１１０を作成する際の動作を説明する。図８は当該処理の流れを示すフローチャートである。
【００６４】
同図に示すように、まず、コンテンツ記録再生装置１００は、例えばＥＰＧ等の番組ジャンルデータを利用して、例えばスポーツ、ニュース、バラエティ等を指定して複数の番組の録画予約を行っておき、それぞれの番組の録画予約時刻になると、放送受信部１０１により番組を受信する（ステップ７０１）。そして受信した番組を上記外部記憶装置１０８の番組データベース１０９へ記録する（ステップ７０２）とともに、当該番組データベース１０９に、当該番組に関する情報を登録する。
【００６５】
次に、顔画像検出部１１３は、記録した番組の映像フレームを外部記憶装置１０８から映像フレームメモリ部１０３へ呼び出し、上述した顔画像検出処理を行う（ステップ７０３）。顔画像検出処理により各フレームにおいて顔画像を検出した場合には、登場人物データベース１１０へフレーム毎の情報（フレーム番号、顔の各部の位置、サイズ、検出状況等）を登録する（ステップ７０４）。また、当該検出処理とともに、顔画像追跡部１１６は、顔画像検出部１１３が顔画像を検出した各フレームについて上述した顔画像追跡処理を行い、顔画像の動きを検出した場合には、登場人物データベース１１０に検出した情報を登録する。
【００６６】
そして、顔画像識別部１１４は、上記検出された各フレームについて、顔画像データベース１１１を参照して顔画像識別処理を行う（ステップ７０５）。当該処理の結果、検出された顔画像が顔画像データベース１１１へ登録された人物の顔画像であった場合（ステップ７０６のＹＥＳ）には、登場人物データベース１１０へ顔画像ＩＤを登録して、登場人物データベース１１０と顔画像データベース１１１との関連付け処理を行う（ステップ７０８）。なお、検出された顔画像が上記顔画像データベース１１１に登録されていない人物の顔画像であった場合（ステップ７０６のＮＯ）には、顔画像管理部１１５は、当該人物に関する情報を顔画像データベース１１１へ新たに登録する（ステップ７０７）。
【００６７】
続いて、フレーム毎に上記処理を繰り返し、上述した嗜好評価ポイントの更新を行う（ステップ７０９）。以上の処理を、記録した番組全てについて行う。なお、上記ステップ７０３における顔検出処理は、番組の記録とほぼ同時（リアルタイム）に行っても構わない。
【００６８】
そして、コンテンツ記録再生装置１００は、ユーザが番組の視聴を望む場合に、上記累計した嗜好評価ポイントに応じてユーザに番組を提示する（ステップ７１０）。
【００６９】
図９は、番組をユーザに提示する場合の表示部１０４の例を示した図である。同図に示すように、コンテンツ記録再生装置１００は、録画した番組のうち、ある特定の人物が登場する番組の視聴をユーザが所望する場合には、上記登場人物データベース１１０を参照して、例えば当該登場人物の出演シーンを番組名、登場人物の名前等の関連情報とともに上記嗜好評価ポイント順（出演時間が長い順）に分割表示する。ユーザは例えば操作入力部１０６を介して番組を選択し、再生する。この場合、上記登場人物の出演シーンを早送り再生するようにしてもよい。
【００７０】
以上の動作により、記録された番組に登場する人物に関する情報が上記嗜好評価ポイントとともに登録され、ユーザの嗜好により適合した番組を提示することができる。
【００７１】
図１０は、コンテンツ記録再生装置１００が記録した２つの番組において、上記処理により検出された登場人物の登場範囲の例を示した図である。同図に示すように、番組１と番組２においては同一の登場人物Ａが登場している。番組１における登場人物Ａの登場範囲８０１、８０２、８０３及び８０４の合計と番組２における登場人物Ａの登場範囲８０５とを比較すると、番組１の方が登場範囲が長いため、上記嗜好評価ポイントを累積した場合には、登場人物Ａに対する嗜好評価ポイントは番組１の方が高くなる。
【００７２】
しかしながら、番組によっては、同一シーンを繰り返し使用しているものもあるため、上記嗜好評価ポイントが高いからといって、その番組に登場人物Ａに関する情報が実質的に多く含まれているとは一概に言えない場合もある。特に、ニュース番組等においては同一番組内または複数番組間で同一の映像が使用されることが多々ある。
【００７３】
図１１は、番組１及び番組２における登場人物Ａの登場範囲について同一シーンの検出を行った例を示した図である。同図に示すように、番組１においてシーン８０１、８０２及び８０４は同一シーンであり、またシーン８０３は同一シーンであるシーン８０８と８０９で構成され、更にシーン８０８及び８０９には上記シーン８０１、８０２、８０４と同一シーン８０６及び８０７が使用されている。
【００７４】
また、番組２において、シーン８０５は上記シーン８０８及び８０９と同一シーンであるシーン８１０を含んでいる。したがって、登場人物Ａの登場範囲としては番組１の方が長いものの、登場人物Ａに関する実質的な情報量としては番組２の方が多いことになる。よって、そのような場合には、上記嗜好評価ポイントをそのまま使用してユーザに番組を提示しても、ユーザの嗜好を真に反映していないことになる。
【００７５】
そこで、このような場合には、コンテンツ記録再生装置１００は、重複シーンに関する嗜好評価ポイントのうち、一のシーンに対する嗜好評価ポイントのみを用いて、その他の重複するシーンに対する嗜好評価ポイントを番組の評価対象から除外するようにすればよい。これにより、ユーザの嗜好により実質的に適合した番組の提示が可能となる。
【００７６】
また、コンテンツ記録再生装置１００は、ユーザが実際に視聴した番組の視聴履歴を蓄積することで、ユーザの嗜好を学習していくこともできる。図１２は、当該学習処理の動作を示すフローチャートである。
【００７７】
同図に示すように、コンテンツ記録再生装置１００は、番組の再生が終了すると（ステップ９０１）、番組データベース１０９と登場人物データベース１１０との関連付けにより、当該再生した番組の登場人物を検索する（ステップ９０２）。そして、登場人物データベース１１０と顔画像データベース１１１との関連付けにより、当該登場人物に対応する顔画像データベース１１１中の嗜好情報履歴を更新する（ステップ９０３）。具体的には、上記ユーザが視聴した番組の視聴日時、番組名等を追加し、上記登場人物に対する番組の嗜好履歴ポイントを加算する。
【００７８】
そして、視聴した番組に登場する全ての登場人物について嗜好履歴情報を更新するまで上記処理を繰り返し（ステップ９０４のＮＯ）、全て更新したら終了する（ステップ９０４のＹＥＳ）。
【００７９】
コンテンツ記録再生装置は、ポイントが高いほどユーザの嗜好度が高い人物であると判断して、次回ユーザに番組を提示する場合には、当該ポイントが高い人物が登場している番組を優先して提示する。また、上記視聴日時の履歴情報により、例えば新たな番組の記録日時と視聴日時の間隔が短い人物ほどユーザがその時点で興味のある人物であると判断して当該人物が登場する番組を優先して提示したり、逆に上記間隔が長いほどユーザの興味が薄れている人物であると判断して提示の優先度を低くしたりするようなこともできる。すなわち、上記嗜好情報履歴を利用することで、ユーザの嗜好傾向の時間的な変化にも柔軟に対応することが可能である。
【００８０】
以上説明したように、本実施形態によれば、ユーザの嗜好を反映したコンテンツを的確に選択し、ユーザに提示することができ、ユーザが記録された全番組を視聴して自身の嗜好に合った番組があるか否かを確認するような手間を省くことができる。またユーザの嗜好を学習することで、より嗜好に合った番組を選択して、かつユーザの嗜好傾向の変化にも追従しながらユーザに番組を提示することができる。更に、番組提示時には実際に映像を分割表示させてユーザに選択させることで、ユーザの利便性が向上し、複雑な操作をすることなくより直感的にコンテンツを選択することができる。
【００８１】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。以下、本発明の第２の実施形態について説明する。
【００８２】
（第２の実施形態）  
図１３は、本発明の第２の実施形態におけるコンテンツ記録再生装置５０の構成を示した図である。なお、同図及び以下に説明する図において、上述の第１実施形態におけるコンテンツ記録再生装置１００と同一の構成となる部分については同一の符号を付し、説明を省略または簡略化する。
【００８３】
本実施形態におけるコンテンツ記録再生装置５０は、上述の第１実施形態における構成に加えて、音声データメモリ部５５を有し、また制御部１０７に音声検出部５１、音声識別部５２及び音声管理部５３、外部記憶装置１０８に音声データベース５４を有する。
【００８４】
音声データメモリ部５９は、映像フレームメモリ部１０３と同様に例えばＲＡＭ（Random Access Memory）で構成され、上記制御部１０７が、後述する音声検出処理等をリアルタイムで行う場合に、上記番組の音声データを一時的に記憶し、または上記制御部１０７が上記番組を上記外部記憶装置１０８へ一旦記憶した後に上記音声検出処理等を行う場合に、当該外部記憶装置１０８から当該番組の音声データをロードする。
【００８５】
音声検出部５１は、上記番組の音声データから、当該番組に登場している人物の音声を検出して、当該音声を検出した箇所に相当するフレームに、人物の音声が検出されたことを示すタグ付けを行うとともに、当該音声の特徴を示すデータ（例えば声紋を示す周波数、波形データ）をフレーム毎に関連付けて登場人物データベース１１０へ登録する。
【００８６】
音声識別部５２は、上記音声検出部５１が検出した音声データから、上記登場人物データベース１１０に登録されたデータを基に、音声データベース５４に存在する音声データとの一致を検出することにより、上記検出された音声の発声元である人物を識別する。また音声管理部５３は、上記音声データベース５４を管理し、音声データの更新等を行う。
【００８７】
図１４は、音声データベース５４の例を示した図である。同図に示すように、音声データベースには、声紋ＩＤ５６、人物情報５７、声紋データ５８及び嗜好情報履歴５９が含まれる。これらの情報が、登録された人物毎に存在する。
【００８８】
声紋ＩＤ５６は音声データベース５４に登録されている声紋を識別するためのＩＤであり、上述の顔画像ＩＤと同様、音声認識処理の際には、当該声紋ＩＤにより登場人物データベース１１０との関連付けが行われる。
【００８９】
人物情報５７としては、上述の第１実施形態における顔画像データベース１１１と同様、当該声紋に対応する人物の名前、性別、生年月日、出身地等を登録する。声紋データ５８は、口腔や鼻腔の構造、声帯の大きさの違い等によって生じる声の特徴を時間、周波数、強度等によりグラフで表したデータである。
【００９０】
嗜好情報履歴５９は、上述の顔画像データベース１１１における嗜好情報履歴２０５と同様、上記声紋データ５８で識別された人物が登場している番組をユーザが視聴した日時及びその番組情報等の履歴情報と、当該番組における人物の嗜好評価ポイントが登録される。
【００９１】
図１５は、本実施形態における登場人物データベース１１０の例を示した図である。同図に示すように、本実施形態においては、上述の第１実施形態における場合（図３参照）と比較して、音声検出情報６０及び上記声紋ＩＤ５６が追加されている。
【００９２】
音声検出情報６０は、具体的には音声データから検出された声紋データ（波形または周波数等のデータ）である。音声検出部５１は、音声データから人物の声紋を検出した段階で、例えば当該検出箇所のタイムスタンプ及び映像データのタイムスタンプを取得し、声紋を検出した箇所のタイムスタンプと一致する映像フレームのフレーム番号とを関連付けることにより登場人物データベース１１０に登録する。
【００９３】
声紋ＩＤは、上記音声検出部５１の検出処理の後に、音声識別部５２が上記音声データベース５４を参照して識別した人物の声紋のＩＤを示している。すなわち、音声識別部５２は、音声データベース５４中、上記検出された声紋と一致する声紋に関するデータを上記声紋ＩＤにより登場人物データベース１１０と関連付けて登録する。
【００９４】
登場人物データベース１１０に顔画像ＩＤと声紋ＩＤの両方が登録されているフレームには、当該登場人物の顔の映像と音声の両方が含まれていることになる。なお、顔画像と声紋とが同一人物のものである場合には例えば同一のＩＤが付与されるが、顔画像と声紋とが関連付けられて同一人物であることが判断できれば必ずしも同一のＩＤでなくともよい。
【００９５】
図１６は、本実施形態における嗜好評価ポイントの付与例を示した図である。同図においては、上述の第１実施形態の場合（図７参照）と比較して、音声検出による検出範囲及び音声識別による人物Ａ検出範囲が嗜好評価ポイントの付与対象として追加されている。
【００９６】
音声検出による検出範囲とは、上記音声データのうち上記音声検出部５１により声紋が検出された箇所に対応するフレームの範囲である。声紋の検出箇所とフレーム番号との対応付けは、上述したように映像と音声の各タイムスタンプ情報を参照することにより可能である。当該フレームには、声紋が検出されたときにタグ付けのみを行い（同図の○印）、この段階ではポイントは付与しない。
【００９７】
音声識別による人物Ａ検出範囲とは、上記音声検出による検出フレームのうち、上記音声識別部５２により人物Ａの声紋と合致する音声に対応するフレームであり、当該フレームにはタグ付けを行うとともに、フレーム毎に例えば２ポイントを付与する。
【００９８】
人物Ａ登場範囲には、顔検出処理及び音声検出処理により検出されたフレームのうち、顔識別処理、顔追跡処理及び上記音声識別処理によって、人物Ａの顔画像が存在し、または人物Ａの音声に対応することが検出されたフレームである。そして人物Ａ登場累計ポイントは、各フレームについて付与されたポイントをフレーム毎に累計した値を示したものであり、同図においてはフレーム番号１５のフレームまでに４４ポイントが累計されている。一の番組を構成するフレームについてポイントの付与が終了すると、各フレームのポイントが累計されて、一の番組のポイントとして記憶される。
【００９９】
ポイントの付与の仕方は上記態様に限られず、例えばユーザが人物の映像重視か音声重視かによって顔識別及び顔追跡によるポイントと音声識別によるポイントの割り当て比率を調整するようにしても構わない。
【０１００】
図１７は、ユーザの嗜好に応じた嗜好評価ポイントの割り当て比率の変更例について示した図である。
【０１０１】
同図に示すように、例えばスポーツ番組においてユーザが人物Ａ（選手）のプレイしている様子を視聴することを望む場合には、顔識別及び顔追跡による人物Ａ検出フレームにそれぞれ５ポイントを付与し、音声識別による人物Ａ検出範囲のフレームには１ポイントも付与しない。また、ユーザが人物Ａの音声インタビューの様子の視聴を望む場合には、例えば顔識別及び顔追跡による人物Ａ検出フレームにそれぞれ１ポイントを付与し、音声識別による人物Ａ検出範囲のフレームには８ポイントを付与する。更に、ユーザが人物Ａのスタジオ出演の様子の視聴を望む場合には、顔識別、顔追跡、音声識別それぞれの検出フレームに３ポイントずつ付与する。
【０１０２】
このように、顔識別、顔追跡及び音声識別による各検出フレームへ付与する嗜好評価ポイントに差を設けることにより、同一の人物であっても、顔のみ、声のみ、顔と声の両方等、その登場態様によってユーザへ提示の仕方を変更することができ、ユーザのより詳細な嗜好パターンに応じた番組の提示が可能となる。当該各フレームへのポイントの付与方法は、例えば番組記録予約時にユーザに選択させるようにしてもよいし、また設定後もユーザが操作入力部１０６等を操作することにより自由にカスタマイズできるようにしても構わない。
【０１０３】
次に、本実施形態におけるコンテンツ記録再生装置５０の動作について説明する。図１８は、本実施形態においてユーザに番組を提示するまでの動作の流れを示したフローチャートである。
【０１０４】
同図に示すように、コンテンツ記録再生装置５０は、上述の第１実施形態における動作（図８参照）と同様に放送受信部により番組を受信して、外部記憶装置１０８へ記録する（ステップ６１及び６２）。そして、記録した映像フレームから、顔画像検出部１１３により顔画像を検出するとともに、音声データを音声データメモリ部５９へ呼び出して、音声検出部５１により音声を検出する（ステップ６３）。
【０１０５】
続いて、上記顔検出処理により各フレームにおいて顔画像を検出した場合及び音声検出処理により音声データから人物の音声を検出した場合には、登場人物データベース１１０へ検出した音声データ（声紋データ）を登録する（ステップ６４）。
【０１０６】
次に、上記顔画像識別部１１４により上記検出されたフレームについて顔画像データベース１１１を参照して顔画像識別処理を行うとともに、音声識別部５２により音声データベース５４を参照して声紋の照合による音声識別処理を行う（ステップ６５）。当該顔画像識別処理及び音声識別処理により検出された顔画像及び音声が顔画像データベース１１１及び音声データベース５４に登録された人物のものであった場合（ステップ６６のＹＥＳ）には、登場人物データベース１１０へ顔画像ＩＤ及び声紋ＩＤを登録して登場人物データベース１１０と顔画像データベース１１１及び音声データベース５４との関連付け処理を行う（ステップ６８）。検出された顔画像または音声が、顔画像データベース１１１または音声データベース５４に登録されていない人物のものであった場合（ステップ６６のＮＯ）には、顔画像管理部１１５及び音声管理部５３により両データベースへの新たな登録処理が行われる（ステップ６７）。
【０１０７】
その後は、上記図８の場合と同様、フレーム毎に上記処理を繰り返し、嗜好評価ポイントの更新を行い、番組毎に累積した嗜好評価ポイントに応じてユーザに番組を提示する（ステップ７０）。この際、上記図９で示したように、表示部１０４に各番組に関する情報が映像とともに嗜好評価ポイント順に分割表示されるが、その際、映像だけでなく、識別した登場人物の音声も音響部１０５を介して出力するようにしてもよい。
【０１０８】
以上の動作により、本実施形態においては、登場人物の顔画像に加えて音声も認識することにより、番組中のある登場人物の登場範囲をより正確に把握して、それを基にユーザの嗜好に合った番組を提示することができる。また、顔画像と音声による嗜好評価ポイントの割り当てを変更することによって、ある登場人物が登場している番組を多面的に捉えることが可能となり、それによりユーザの嗜好パターンに応じて様々な観点から番組を提示することができる。
【０１０９】
なお本実施形態においては、顔画像と音声の両方を人物の識別に用いているが、音声のみを用いて人物を識別するようにしても構わない。
【０１１０】
また、顔画像から更に唇の動き（口唇動）を検出して、当該口唇動により顔画像と音声との関連付けを行うようにしても構わない。この場合は、口唇動が検出されたフレームと音声とを関連付けることにより、検出されたフレームにおいて人物が登場して、かつ喋っていることを判別することが可能である。また、口唇動が検出されたフレームについても別途嗜好評価ポイントを付与して、ユーザの嗜好パターンに応じた嗜好評価ポイントの割り当てを行うようにしてもよい。更に、音声の検出処理においてノイズの影響により検出漏れまたは誤検出が懸念される場合に、音声認識の精度向上手段及び補助手段として上記口唇動検出を行うようにしても構わない。
【０１１１】
口唇動の検出方法としては、例えば口唇動を表す画像とそれに対応する音声を記憶したデータベースを予め作成しておき、顔画像からエッジや輝度等の検出により唇領域を切り出して、データベース中の唇画像と照合することにより対応する音声を認識する。
【０１１２】
また、上記第１及び第２の実施形態においては番組に登場する人物を検出及び識別していたが、検出対象は人物に限られず、例えば動物やキャラクター、ロゴ等であってもよい。これによりユーザの多様な嗜好に対応することができる。
【０１１３】
また、上記第１及び第２の実施形態において、顔画像追跡処理を行う際には、順方向及び逆方向に顔画像を追跡するため、特にデジタル放送の圧縮符号化ストリームを扱う場合には、順方向動き検出部１１７と逆方向動き検出部１１８がそれぞれフレームを圧縮復号化部１０２により復号化して映像フレームメモリ部１０３に読み込まなくてはならず、映像フレームメモリ部１０３には大容量が必要となる。
【０１１４】
そこで、その必要容量を削減するために、例えば逆方向動き検出部１１８が追跡処理を行う際には、全てのストリームを圧縮復号化部１０２で復号化するのではなく、ストレージメディア（図示せず）を用意しておき、ストリームを一旦そこに蓄積して、逆方向動き検出部１１８のための復号化が必要となったときにのみストレージメディアからストリームを呼び出して復号化するようにしても構わない。
【０１１５】
また、上記第１及び第２の実施形態においては、コンテンツとしてテレビ番組を提示する場合を説明したが、コンテンツとしては、テレビ番組以外にも、インターネット放送やラジオ放送の番組、音楽、静止画やグラフィックス等、様々なものを適用することができる。
【０１１６】
更に、本発明を以下の実施形態において説明するネットワークシステムに適用することも可能である。
【０１１７】
（第３の実施形態）  
まず、本実施形態において前提となるネットワークシステムについて説明する。図１９は、当該ネットワークシステムの一例を示し、ネットワーク９を介して複数の情報処理装置１、２、３、４が接続されたものである。情報処理装置１、２、３、４は、例えばオーディオ機器や上述の実施形態におけるコンテンツ記録再生装置等である。
【０１１８】
情報処理装置１について示すと、情報処理装置１は、コンピュータ機能部として情報処理コントローラ１１を備える。情報処理コントローラ１１は、メインプロセッサ２１−１、サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ（ダイレクトメモリアクセスコントローラ）２５−１及びＤＣ（ディスクコントローラ）２７−１を有する。
【０１１９】
メインプロセッサ２１−１は、サブプロセッサ２３−１，２３−２，２３−３によるプログラム実行（データ処理）のスケジュール管理と、情報処理コントローラ１１（情報処理装置１）の全般的な管理とを行う。ただし、メインプロセッサ２１−１内で管理のためのプログラム以外のプログラムが動作するように構成することもできる。その場合には、メインプロセッサ２１−１はサブプロセッサとしても機能することになる。メインプロセッサ２１−１は、ＬＳ（ローカルストレージ）２２−１を有する。
【０１２０】
サブプロセッサは、１つでもよいが、望ましくは複数とする。本例は、複数の場合である。各サブプロセッサ２３−１，２３−２，２３−３は、メインプロセッサ２１−１の制御によって並列的かつ独立にプログラムを実行し、データを処理する。更に、場合によってメインプロセッサ２１−１内のプログラムがサブプロセッサ２３−１，２３−２，２３−３内のプログラムと連携して動作するように構成することもできる。後述する機能プログラムもメインプロセッサ２１−１内で動作するプログラムである。各サブプロセッサ２３−１，２３−２，２３−３も、ＬＳ（ローカルストレージ）２４−１，２４−２，２４−３を有する。
【０１２１】
ＤＭＡＣ２５−１は、情報処理コントローラ１１に接続されたＤＲＡＭ（ダイナミックＲＡＭ）などからなるメインメモリ２６−１に格納されているプログラム及びデータにアクセスするものであり、ＤＣ２７−１は、情報処理コントローラ１１に接続された外部記録部２８−１，２８−２にアクセスするものである。
【０１２２】
外部記録部２８−１，２８−２は、固定ディスク（ハードディスク）でも、リムーバブルディスクでもよく、また、ＭＯ，ＣＤ±ＲＷ，ＤＶＤ±ＲＷなどの光ディスク、メモリディスク、ＳＲＡＭ（スタティックＲＡＭ）、ＲＯＭなど、各種のものを用いることができる。したがって、ＤＣ２７−１は、ディスクコントローラと称するが、外部記録部コントローラである。図１９の例のように、情報処理コントローラ１１に対して外部記録部２８を複数接続できるように、情報処理コントローラ１１を構成することができる。
【０１２３】
メインプロセッサ２１−１、各サブプロセッサ２３−１，２３−２，２３−３、ＤＭＡＣ２５−１及びＤＣ２７−１は、バス２９−１によって接続される。
【０１２４】
情報処理コントローラ１１には、当該の情報処理コントローラ１１を備える情報処理装置１を、ネットワーク全体を通して一意的に識別できる識別子が、情報処理装置ＩＤとして割り当てられる。
【０１２５】
メインプロセッサ２１−１及び各サブプロセッサ２３−１，２３−２，２３−３に対しても同様に、それぞれを特定できる識別子が、メインプロセッサＩＤ及びサブプロセッサＩＤとして割り当てられる。
【０１２６】
情報処理コントローラ１１は、ワンチップＩＣ（集積回路）として構成することが望ましい。他の情報処理装置２、３、４も、上記と同様に構成される。ここで、図１９において親番号が同一であるユニットは枝番号が異なっていても、特に断りがない限り同じ働きをするものとする。また、以下の説明において枝番号が省略されている場合には、枝番号の違いにいる差異を生じないものとする。
【０１２７】
上述したように、１つの情報処理コントローラ内の各サブプロセッサ２３は、独立にプログラムを実行し、データを処理するが、異なるサブプロセッサがメインメモリ２６内の同一領域に対して同時に読み出しまたは書き込みを行った場合には、データの不整合を生じ得る。そこで、サブプロセッサ２３からメインメモリ２６へのアクセスは、以下のような手順によって行う。
【０１２８】
図２０（Ａ）に示すように、メインメモリ２６は、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、データの状態を示す情報を格納するための追加セグメントが割り振られる。追加セグメントは、Ｆ／Ｅビット、サブプロセッサＩＤ及びＬＳアドレス（ローカルストレージアドレス）を含むものとされる。また、各メモリロケーションには、後述のアクセスキーも割り振られる。Ｆ／Ｅビットは、以下のように定義される。
【０１２９】
Ｆ／Ｅビット＝０は、サブプロセッサ２３によって読み出されている処理中のデータ、または空き状態であるため最新データではない無効データであり、読み出し不可であることを示す。また、Ｆ／Ｅビット＝０は、当該メモリロケーションにデータ書き込み可能であることを示し、書き込み後に１に設定される。
【０１３０】
Ｆ／Ｅビット＝１は、当該メモリロケーションのデータがサブプロセッサ２３によって読み出されておらず、未処理の最新データであることを示す。当該メモリロケーションのデータは読み出し可能であり、サブプロセッサ２３によって読み出された後に０に設定される。また、Ｆ／Ｅビット＝１は、当該メモリロケーションがデータ書き込み不可であることを示す。
【０１３１】
更に、上記Ｆ／Ｅビット＝０（読み出し不可／書き込み可）の状態において、当該メモリロケーションについて読み出し予約を設定することは可能である。Ｆ／Ｅビット＝０のメモリロケーションに対して読み出し予約を行う場合には、サブプロセッサ２３は、読み出し予約を行うメモリロケーションの追加セグメントに、読み出し予約情報として当該サブプロセッサ２３のサブプロセッサＩＤ及びＬＳアドレスを書き込む。
【０１３２】
その後、データ書き込み側のサブプロセッサ２３によって、読み出し予約されたメモリロケーションにデータが書き込まれ、Ｆ／Ｅビット＝１（読み出し可／書き込み不可）に設定されたとき、予め読み出し予約情報として追加セグメントに書き込まれたサブプロセッサＩＤ及びＬＳアドレスに読み出される。
【０１３３】
複数のサブプロセッサによってデータを多段階に処理する必要がある場合、このように各メモリロケーションのデータの読み出し／書き込みを制御することによって、前段階の処理を行うサブプロセッサ２３が、処理済みのデータをメインメモリ２６上の所定のアドレスに書き込んだ後に即座に、後段階の処理を行う別のサブプロセッサ２３が前処理後のデータを読み出すことが可能となる。
【０１３４】
図２０（Ｂ）に示すように、各サブプロセッサ２３内のＬＳ２４も、複数のアドレスを指定できるメモリロケーションによって構成される。各メモリロケーションに対しては、同様に追加セグメントが割り振られる。追加セグメントは、ビジービットを含むものとされる。
【０１３５】
サブプロセッサ２３がメインメモリ２６内のデータを自身のＬＳ２４のメモリロケーションに読み出すときには、対応するビジービットを１に設定して予約する。ビジービットが１であるメモリロケーションには、他のデータは格納することができない。ＬＳ２４のメモリロケーションに読み出し後、ビジービットは０になり、任意の目的に使用できるようになる。
【０１３６】
図２０（Ａ）に示すように、さらに、各情報処理コントローラと接続されたメインメモリ２６には、複数のサンドボックスが含まれる。サンドボックスは、メインメモリ２６内の領域を画定するものであり、各サンドボックスは、各サブプロセッサ２３に割り当てられ、そのサブプロセッサが排他的に使用することができる。すなわち、各々のサブプロセッサ２３は、自身に割り当てられたサンドボックスを使用できるが、この領域を超えてデータのアクセスを行うことはできない。メインメモリ２６は、複数のメモリロケーションから構成されるが、サンドボックスは、これらのメモリロケーションの集合である。
【０１３７】
更に、メインメモリ２６の排他的な制御を実現するために、図２０（Ｃ）に示すようなキー管理テーブルが用いられる。キー管理テーブルは、情報処理コントローラ内のＳＲＡＭ等の比較的高速のメモリに格納され、ＤＭＡＣ２５と関連付けられる。キー管理テーブル内の各エントリには、サブプロセッサＩＤ、サブプロセッサキー及びキーマスクが含まれる。
【０１３８】
サブプロセッサ２３がメインメモリ２６を使用する際のプロセスは、以下の通りである。まず、サブプロセッサ２３はＤＭＡＣ２５に、読み出しまたは書き込みのコマンドを出力する。このコマンドには、自身のサブプロセッサＩＤと、使用要求先であるメインメモリ２６のアドレスが含まれる。
【０１３９】
ＤＭＡＣ２５は、このコマンドを実行する前に、キー管理テーブルを参照して、使用要求元のサブプロセッサのサブプロセッサキーを調べる。次に、ＤＭＡＣ２５は、調べた使用要求元のサブプロセッサキーと、使用要求先であるメインメモリ２６内の図２０（Ａ）に示したメモリロケーションに割り振られたアクセスキーとを比較して、２つのキーが一致した場合にのみ、上記のコマンドを実行する。
【０１４０】
図２０（Ｃ）に示したキー管理テーブル上のキーマスクは、その任意のビットが１になることによって、そのキーマスクに関連付けられたサブプロセッサキーの対応するビットが０または１になることができる。例えば、サブプロセッサキーが１０１０であるとする。通常、このサブプロセッサキーによって１０１０のアクセスキーを持つサンドボックスへのアクセスだけが可能になる。しかし、このサブプロセッサキーと関連付けられたキーマスクが０００１に設定されている場合には、キーマスクのビットが１に設定された桁のみにつき、サブプロセッサキーとアクセスキーとの一致判定がマスクされ、このサブプロセッサキー１０１０によってアクセスキーが１０１０または１０１１のいずれかであるアクセスキーを持つサンドボックスへのアクセスが可能となる。
【０１４１】
以上のようにして、メインメモリ２６のサンドボックスの排他性が実現される。すなわち、１つの情報処理コントローラ内の複数のサブプロセッサによってデータを多段階に処理する必要がある場合、以上のように構成することによって、前段階の処理を行うサブプロセッサと、後段階の処理を行うサブプロセッサのみが、メインメモリ２６の所定アドレスにアクセスできるようになり、データを保護することができる。
【０１４２】
例えば、以下のように使用することが考えられる。まず、情報処理装置の起動直後においては、キーマスクの値は全てゼロである。メインプロセッサ内のプログラムが実行され、サブプロセッサ内のプログラムと連携動作するものとする。第１のサブプロセッサにより出力された処理結果データを一旦メインメモリに格納し、第２のサブプロセッサに入力したいときには、該当するメインメモリ領域は、当然どちらのサブプロセッサからもアクセス可能である必要がある。そのような場合に、メインプロセッサ内のプログラムは、キーマスクの値を適切に変更し、複数のサブプロセッサからアクセスできるメインメモリ領域を設けることにより、サブプロセッサによる多段階的な処理を可能にする。
【０１４３】
より具体的には、他の情報処理装置からのデータ→第１のサブプロセッサによる処理→第１のメインメモリ領域→第２のサブプロセッサによる処理→第２のメインメモリ領域、という手順で多段階処理が行われるときには、
第１のサブプロセッサのサブプロセッサキー：０１００、
第１のメインメモリ領域のアクセスキー    ：０１００、
第２のサブプロセッサのサブプロセッサキー：０１０１、
第２のメインメモリ領域のアクセスキー    ：０１０１
というような設定のままだと、第２のサブプロセッサは第１のメインメモリ領域にアクセスすることができない。そこで、第２のサブプロセッサのキーマスクを０００１にすることにより、第２のサブプロセッサによる第１のメインメモリ領域へのアクセスを可能にすることができる。
【０１４４】
図１９のネットワークシステムでは、情報処理装置１、２、３、４間での分散処理のために、情報処理装置１、２、３、４間でソフトウェアセルが伝送される。すなわち、ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、コマンド、プログラム及びデータを含むソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置に送信することによって、処理を分散することができる。
【０１４５】
図２１に、ソフトウェアセルの構成の一例を示す。この例のソフトウェアセルは、全体として、送信元ＩＤ、送信先ＩＤ、応答先ＩＤ、セルインターフェース、ＤＭＡコマンド、プログラム及びデータによって構成される。
【０１４６】
送信元ＩＤには、ソフトウェアセルの送信元である情報処理装置のネットワークアドレス及び当該情報処理装置の情報処理装置ＩＤ、更に、その情報処理装置内の情報処理コントローラが備えるメインプロセッサ２１及び各サブプロセッサ２３の識別子（メインプロセッサＩＤ及びサブプロセッサＩＤ）が含まれる。
【０１４７】
送信先ＩＤ及び応答先ＩＤには、それぞれ、ソフトウェアセルの送信先である情報処理装置、及びソフトウェアセルの実行結果の応答先である情報処理装置についての、同じ情報が含まれる。
【０１４８】
セルインターフェースは、ソフトウェアセルの利用に必要な情報であり、グローバルＩＤ、必要なサブプロセッサの情報、サンドボックスサイズ及び前回のソフトウェアセルＩＤから構成される。
【０１４９】
グローバルＩＤは、ネットワーク全体を通して当該ソフトウェアセルを一意的に識別できるものであり、送信元ＩＤ及びソフトウェアセルの作成または送信の日時（日付及び時刻）に基づいて作成される。
【０１５０】
必要なサブプロセッサの情報は、当該ソフトウェアセルの実行に必要なサブプロセッサの数を設定する。サンドボックスサイズは、当該ソフトウェアセルの実行に必要なメインメモリ２６内及びサブプロセッサ２３のＬＳ２４内のメモリ量を設定する。前回のソフトウェアセルＩＤは、ストリーミングデータなどのシーケンシャルな実行を要求する１グループのソフトウェアセル内の、前回のソフトウェアセルの識別子である。
【０１５１】
ソフトウェアセルの実行セクションは、ＤＭＡコマンド、プログラム及びデータから構成される。ＤＭＡコマンドには、プログラムの起動に必要な一連のＤＭＡコマンドが含まれ、プログラムには、サブプロセッサ２３によって実行されるサブプロセッサプログラムが含まれる。ここでのデータは、このサブプロセッサプログラムを含むプログラムによって処理されるデータである。
【０１５２】
更に、ＤＭＡコマンドには、ロードコマンド、キックコマンド、機能プログラム実行コマンド、ステータス要求コマンド、及びステータス返信コマンドが含まれる。
【０１５３】
ロードコマンドは、メインメモリ２６内の情報をサブプロセッサ２３内のＬＳ２４にロードするコマンドであり、ロードコマンド自体のほかに、メインメモリアドレス、サブプロセッサＩＤ及びＬＳアドレスを含む。メインメモリアドレスは、情報のロード元であるメインメモリ２６内の所定領域のアドレスを示す。サブプロセッサＩＤ及びＬＳアドレスは、情報のロード先であるサブプロセッサ２３の識別子及びＬＳ２４のアドレスを示す。
【０１５４】
キックコマンドは、プログラムの実行を開始するコマンドであり、キックコマンド自体のほかに、サブプロセッサＩＤ及びプログラムカウンタを含む。サブプロセッサＩＤは、キック対象のサブプロセッサ２３を識別し、プログラムカウンタは、プログラム実行用プログラムカウンタのためのアドレスを与える。
【０１５５】
機能プログラム実行コマンドは、後述のように、ある情報処理装置が他の情報処理装置に対して、機能プログラムの実行を要求するコマンドである。機能プログラム実行コマンドを受信した情報処理装置内の情報処理コントローラは、後述の機能プログラムＩＤによって、起動すべき機能プログラムを識別する。
【０１５６】
ステータス要求コマンドは、送信先ＩＤで示される情報処理装置の現在の動作状態（状況）に関する装置情報を、応答先ＩＤで示される情報処理装置宛に送信要求するコマンドである。機能プログラムについては後述するが、図２４に示す情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成図において機能プログラムにカテゴライズされるプログラムである。機能プログラムは、メインメモリ２６にロードされ、メインプロセッサ２１により実行される。
【０１５７】
ステータス返信コマンドは、上記のステータス要求コマンドを受信した情報処理装置が、自身の装置情報を当該ステータス要求コマンドに含まれる応答先ＩＤで示される情報処理装置に応答するコマンドである。ステータス返信コマンドは、実行セクションのデータ領域に装置情報を格納する。
【０１５８】
図２２に、ＤＭＡコマンドがステータス返信コマンドである場合におけるソフトウェアセルのデータ領域の構造を示す。
【０１５９】
情報処理装置ＩＤは、情報処理コントローラを備える情報処理装置を識別するための識別子であり、ステータス返信コマンドを送信する情報処理装置のＩＤを示す。情報処理装置ＩＤは、電源投入時、その情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１によって、電源投入時の日時、情報処理装置のネットワークアドレス及び情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３の数などに基づいて生成される。
【０１６０】
情報処理装置種別ＩＤには、当該情報処理装置の特徴を表す値が含まれる。情報処理装置の特徴とは、例えば、オーディオプレーヤや、上述のコンテンツ記録再生装置等である。また、情報処理装置種別ＩＤは、音響再生、動画記録再生等の機能を表すものであってもよい。情報処理装置の特徴や機能を表す値は予め決定されているものとし、情報処理装置種別ＩＤを読み出すことにより、当該情報処理装置の特徴や機能を把握することが可能である。
【０１６１】
ＭＳ（マスター／スレーブ）ステータスは、後述のように情報処理装置がマスター装置またはスレーブ装置のいずれで動作しているかを表すもので、これが０に設定されている場合にはマスター装置として動作していることを示し、１に設定されている場合にはスレーブ装置として動作していることを示す。
【０１６２】
メインプロセッサ動作周波数は、情報処理コントローラ内のメインプロセッサ２１の動作周波数を表す。メインプロセッサ使用率は、メインプロセッサ２１で現在動作している全てのプログラムについての、メインプロセッサ２１での使用率を表す。メインプロセッサ使用率は、対象メインプロセッサの全処理能力に対する使用中の処理能力の比率を表した値で、例えばプロセッサ処理能力評価のための単位であるＭＩＰＳを単位として算出され、または単位時間あたりのプロセッサ使用時間に基づいて算出される。後述のサブプロセッサ使用率についても同様である。
【０１６３】
サブプロセッサ数は、当該の情報処理コントローラが備えるサブプロセッサ２３の数を表す。サブプロセッサＩＤは、当該の情報処理コントローラ内の各サブプロセッサ２３を識別するための識別子である。
【０１６４】
サブプロセッサステータスは、各サブプロセッサ２３の状態を表すものであり、ｕｎｕｓｅｄ，ｒｅｓｅｒｖｅｄ，ｂｕｓｙなどの状態がある。ｕｎｕｓｅｄは、当該のサブプロセッサが現在使用されてなく、使用の予約もされていないことを示す。ｒｅｓｅｒｖｅｄは、現在は使用されていないが、予約されている状態を示す。ｂｕｓｙは、現在使用中であることを示す。
【０１６５】
サブプロセッサ使用率は、当該のサブプロセッサで現在実行している、または当該のサブプロセッサに実行が予約されているプログラムについての、当該サブプロセッサでの使用率を表す。すなわち、サブプロセッサ使用率は、サブプロセッサステータスがｂｕｓｙである場合には、現在の使用率を示し、サブプロセッサステータスがｒｅｓｅｒｖｅｄである場合には、後に使用される予定の推定使用率を示す。
【０１６６】
サブプロセッサＩＤ、サブプロセッサステータス及びサブプロセッサ使用率は、１つのサブプロセッサ２３に対して一組設定され、１つの情報処理コントローラ内のサブプロセッサ２３に対応する組数が設定される。
【０１６７】
メインメモリ総容量及びメインメモリ使用量は、それぞれ、当該の情報処理コントローラに接続されているメインメモリ２６の総容量及び現在使用中の容量を表す。
【０１６８】
外部記録部数は、当該の情報処理コントローラに接続されている外部記録部２８の数を表す。外部記録部ＩＤは、当該の情報処理コントローラに接続されている外部記録部２８を一意的に識別する情報である。外部記録部種別ＩＤは、当該の外部記録部の種類（例えば、ハードディスク、ＣＤ±ＲＷ、ＤＶＤ±ＲＷ、メモリディスク、ＳＲＡＭ、ＲＯＭなど）を表す。
【０１６９】
外部記録部総容量及び外部記録部使用量は、それぞれ、外部記録部ＩＤによって識別される外部記録部２８の総容量及び現在使用中の容量を表す。
【０１７０】
外部記録部ＩＤ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量は、１つの外部記録部２８に対して一組設定されるものであり、当該の情報処理コントローラに接続されている外部記録部２８の数の組数だけ設定される。すなわち、１つの情報処理コントローラに複数の外部記録部が接続されている場合、各々の外部記録部には異なる外部記録部ＩＤが割り当てられ、外部記録部種別ＩＤ、外部記録部総容量及び外部記録部使用量も別々に管理される。
【０１７１】
ある情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、以上のような構成のソフトウェアセルを生成し、ネットワーク９を介して他の情報処理装置及び当該装置内の情報処理コントローラに送信する。送信元の情報処理装置、送信先の情報処理装置、応答先の情報処理装置、及び各装置内の情報処理コントローラは、それぞれ、上記の送信元ＩＤ、送信先ＩＤ及び応答先ＩＤによって識別される。
【０１７２】
ソフトウェアセルを受信した情報処理装置内の情報処理コントローラに含まれるメインプロセッサ２１は、そのソフトウェアセルをメインメモリ２６に格納する。さらに、送信先のメインプロセッサ２１は、ソフトウェアセルを読み出し、それに含まれるＤＭＡコマンドを処理する。具体的には、送信先のメインプロセッサ２１は、まず、ロードコマンドを実行する。これによって、ロードコマンドで指示されたメインメモリアドレスから、ロードコマンドに含まれるサブプロセッサＩＤ及びＬＳアドレスで特定されるサブプロセッサ内のＬＳ２４の所定領域に、情報がロードされる。ここでロードされる情報は、受信したソフトウェアセルに含まれるサブプロセッサプログラムまたはデータ、あるいはその他の指示されたデータである。
【０１７３】
次に、メインプロセッサ２１は、キックコマンドを、これに含まれるサブプロセッサＩＤで指示されたサブプロセッサに、同様にキックコマンドに含まれるプログラムカウンタと共に出力する。指示されたサブプロセッサは、そのキックコマンド及びプログラムカウンタに従って、サブプロセッサプログラムを実行する。そして、実行結果をメインメモリ２６に格納した後、実行を完了したことをメインプロセッサ２１に通知する。
【０１７４】
なお、送信先の情報処理装置内の情報処理コントローラにおいてソフトウェアセルを実行するプロセッサはサブプロセッサ２３に限定されるものではなく、メインプロセッサ２１がソフトウェアセルに含まれる機能プログラムなどのメインメモリ用プログラムを実行するように指定することも可能である。
【０１７５】
この場合には、送信元の情報処理装置は、送信先の情報処理装置宛に、サブプロセッサプログラムの代わりに、メインメモリ用プログラム及びそのメインメモリ用プログラムによって処理されるデータを含み、ＤＭＡコマンドがロードコマンドであるソフトウェアセルを送信し、メインメモリ２６にメインメモリ用プログラム及びそれによって処理されるデータを記憶させる。次に、送信元の情報処理装置は、送信先の情報処理装置宛に、送信先の情報処理装置内の情報処理コントローラについてのメインプロセッサＩＤ、メインメモリアドレス、メインメモリ用プログラムを識別するための後述の機能プログラムＩＤなどの識別子、及びプログラムカウンタを含み、ＤＭＡコマンドがキックコマンドまたは機能プログラム実行コマンドであるソフトウェアセルを送信して、メインプロセッサ２１に当該メインメモリ用プログラムを実行させる。
【０１７６】
以上のように、この発明のネットワークシステムでは、送信元の情報処理装置は、サブプロセッサプログラムまたはメインメモリ用プログラムをソフトウェアセルによって送信先の情報処理装置に送信するとともに、当該サブプロセッサプログラムを送信先の情報処理装置内の情報処理コントローラに含まれるサブプロセッサ２３にロードさせ、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置に実行させることができる。
【０１７７】
送信先の情報処理装置内の情報処理コントローラでは、受信したソフトウェアセルに含まれるプログラムがサブプロセッサプログラムである場合には、当該サブプロセッサプログラムを指定されたサブプロセッサにロードさせる。そして、ソフトウェアセルに含まれるサブプロセッサプログラムまたはメインメモリ用プログラムを実行させる。したがって、ユーザが送信先の情報処理装置を操作しなくても自動的に、当該サブプロセッサプログラムまたは当該メインメモリ用プログラムを送信先の情報処理装置内の情報処理コントローラに実行させることができる。
【０１７８】
このようにして情報処理装置は、自装置内の情報処理コントローラがサブプロセッサプログラムまたは機能プログラムなどのメインメモリ用プログラムを有していない場合には、ネットワークに接続された他の情報処理装置からそれらを取得することができる。更に、各サブプロセッサ間ではＤＭＡ方式によりデータ転送を行い、また上述したサンドボックスを使用することによって、１つの情報処理コントローラ内でデータを多段階に処理する必要がある場合でも、高速かつ高セキュリティに処理を実行することができる。
【０１７９】
ソフトウェアセルの使用による分散処理の結果、図２３の上段に示すようにネットワーク９に接続されている複数の情報処理装置１、２、３、４は、図２３の下段に示すように、仮想的な１台の情報処理装置７として動作する。ただし、そのためには、以下のような構成によって、以下のような処理が実行される必要がある。
【０１８０】
図２４に、個々の情報処理コントローラのメインメモリ２６が記憶するソフトウェアの構成を示す。これらのソフトウェア（プログラム）は、情報処理装置に電源が投入される前においては、当該の情報処理コントローラに接続される外部記録部２８に記録されているものである。各プログラムは、機能または特徴によって、制御プログラム、機能プログラム及びデバイスドライバにカテゴライズされる。
【０１８１】
制御プログラムは、各情報処理コントローラが同じものを備え、各情報処理コントローラのメインプロセッサ２１が実行するもので、後述のＭＳ（マスター／スレーブ）マネージャ及び能力交換プログラムを含む。
【０１８２】
機能プログラムは、メインプロセッサ２１が実行するもので、記録用、再生用、素材検索用など、情報処理コントローラごとに情報処理装置に応じたものが備えられる。
【０１８３】
デバイスドライバは、情報処理コントローラ（情報処理装置）の入出力（送受信）用で、放送受信、モニタ出力、ビットストリーム入出力、ネットワーク入出力など、情報処理コントローラ毎に情報処理装置に応じたものが備えられる。
【０１８４】
情報処理装置が物理的にネットワーク９に接続された状態で、情報処理装置に主電源が投入され、情報処理装置が電気的・機能的にもネットワーク９に接続されると、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、制御プログラムに属する各プログラム、及びデバイスドライバに属する各プログラムを、メインメモリ２６にロードする。
【０１８５】
ロード手順としては、メインプロセッサ２１は、まず、ＤＣ２７に読み出し命令を実行させることによって、外部記録部２８からプログラムを読み出し、次に、ＤＭＡＣ２５に書き込み命令を実行させることによって、そのプログラムをメインメモリ２６に書き込む。
【０１８６】
機能プログラムに属する各プログラムについては、必要なときに必要なプログラムだけをロードするように構成してもよく、または、他のカテゴリに属するプログラムと同様に、主電源投入直後に各プログラムをロードするように構成してもよい。
【０１８７】
ここで、機能プログラムに属する各プログラムは、ネットワークに接続された全ての情報処理装置の外部記録部２８に記録されている必要はなく、いずれか１つの情報処理装置の外部記録部２８に記録されていれば、前述の方法によって他の情報処理装置からロードすることができるので、結果的に図２３の下段に示すように、仮想的な１台の情報処理装置７として機能プログラムを実行することができる。
【０１８８】
また、前述したようにメインプロセッサ２１によって処理される機能プログラムは、サブプロセッサ２３によって処理されるサブプロセッサプログラムと連携動作する場合がある。そこでメインプロセッサ２１が外部記録部２８から機能プログラムを読み出し、メインメモリ２６に書き込む際に対象となる機能プログラムと連携動作するサブプロセッサプログラムが存在する場合には、当該サブプロセッサプログラムも併せて同じメインメモリ２６に書き込むものとする。この場合、連携動作するサブプロセッサプログラムは１個である場合もあるし、複数個であることもあり得る。複数個である場合には、全ての連携動作するサブプロセッサプログラムをメインメモリ２６に書き込むことになる。メインメモリ２６に書き込まれたサブプロセッサプログラムはその後、サブプロセッサ２３内のＬＳ２４に書き込まれ、メインプロセッサ２１によって処理される機能プログラムと連携動作する。
【０１８９】
図２１のソフトウェアセルに示したように、機能プログラムには、プログラムごとにプログラムを一意的に識別できる識別子が、機能プログラムＩＤとして割り当てられる。機能プログラムＩＤは、機能プログラムの作成の段階で、作成日時や情報処理装置ＩＤなどから決定される。
【０１９０】
そしてサブプロセッサプログラムにもサブプロセッサプログラムＩＤが割り当てられ、これによりサブプロセッサプログラムを一意的に識別可能である。割り当てられるサブプロセッサプログラムＩＤは、連携動作する相手となる機能プログラムの機能プログラムＩＤと関連性のある識別子、例えば機能プログラムＩＤを親番号とした上で最後尾に枝番号を付加させたもの等であることもあり得るし、連携動作する相手となる機能プログラムの機能プログラムＩＤとは関連性のない識別子であってもよい。いずれにしても機能プログラムとサブプロセッサプログラムが連携動作する場合には、両者とも相手の識別子であるプログラムＩＤを自プログラム内に互いに記憶しておく必要がある。機能プログラムが複数個のサブプロセッサプログラムと連携動作する場合にも、当該機能プログラムは複数個ある全てのサブプロセッサプログラムのサブプロセッサプログラムＩＤを記憶しておくことになる。
【０１９１】
メインプロセッサ２１は、自身が動作する情報処理装置の装置情報（動作状態に関する情報）を格納するための領域をメインメモリ２６に確保し、当該情報を自装置の装置情報テーブルとして記録する。ここでの装置情報は、図２２に示した情報処理装置ＩＤ以下の各情報である。
【０１９２】
上述したネットワークシステムでは、ある情報処理装置への主電源投入時、その情報処理装置の情報処理コントローラのメインプロセッサ２１は、マスター／スレーブマネージャ（以下、ＭＳマネージャ）をメインメモリ２６にロードし、実行する。
【０１９３】
ＭＳマネージャは、自身が動作する情報処理装置がネットワーク９に接続されていることを検知すると、同じネットワーク９に接続されている他の情報処理装置の存在を確認する。ここでの「接続」または「存在」は、上述したように、情報処理装置が物理的にネットワーク９に接続されているだけでなく、電気的・機能的にもネットワーク９に接続されていることを示す。また、自身が動作する情報処理装置を自装置、他の情報処理装置を他装置と称する。当該装置も、当該情報処理装置を示すものとする。
【０１９４】
ＭＳマネージャが同じネットワーク９に接続されている他の情報処理装置の存在を確認する方法を以下に示す。
【０１９５】
ＭＳマネージャは、ＤＭＡコマンドがステータス要求コマンドであり、送信元ＩＤ及び応答先ＩＤが当該情報処理装置で、送信先ＩＤを特定しないソフトウェアセルを生成して、当該情報処理装置が接続されたネットワーク上に送信して、ネットワーク接続確認用のタイマーを設定する。タイマーのタイムアウト時間は、例えば１０分とされる。
【０１９６】
当該ネットワークシステム上に他の情報処理装置が接続されている場合、その他の装置は、上記ステータス要求コマンドのソフトウェアセルを受信し、上記応答先ＩＤで特定されるステータス要求コマンドを発行した情報処理装置に対して、ＤＭＡコマンドがステータス返信コマンドであり、かつデータとして自身（その他装置）の装置情報を含むソフトウェアセルを送信する。このステータス返信コマンドのソフトウェアセルには、少なくとも当該他装置を特定する情報（情報処理装置ＩＤ、メインプロセッサに関する情報、サブプロセッサに関する情報など）及び当該他装置のＭＳステータスが含まれる。
【０１９７】
ステータス要求コマンドを発行した情報処理装置のＭＳマネージャは、上記ネットワーク接続確認用のタイマーがタイムアウトするまで、当該ネットワーク上の他装置から送信されるステータス返信コマンドのソフトウェアセルの受信を監視する。その結果、ＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信された場合には、自装置の装置情報テーブルにおけるＭＳステータスを１に設定する。これによって、当該装置は、スレーブ装置となる。
【０１９８】
一方、上記ネットワーク接続確認用のタイマーがタイムアウトするまでの間にステータス返信コマンドが全く受信されなかった場合、またはＭＳステータス＝０（マスター装置）を示すステータス返信コマンドが受信されなかった場合には、自装置の装置情報テーブルにおけるＭＳステータスを０に設定する。これによって、当該装置は、マスター装置となる。
【０１９９】
すなわち、いずれの装置もネットワーク９に接続されていない状態、またはネットワーク９上にマスター装置が存在しない状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にマスター装置として設定される。一方、ネットワーク９上に既にマスター装置が存在する状態において、新たな情報処理装置がネットワーク９に接続されると、当該装置は自動的にスレーブ装置として設定される。
【０２００】
マスター装置及びスレーブ装置のいずれについても、ＭＳマネージャは、定期的にステータス要求コマンドをネットワーク９上の他装置に送信してステータス情報を照会することにより、他装置の状況を監視する。その結果、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されることにより、予め判定用に設定された所定期間内に特定の他装置からステータス返信コマンドが返信されなかった場合や、ネットワーク９に新たな情報処理装置が接続された場合など、ネットワーク９の接続状態に変化があった場合には、その情報を後述の能力交換プログラムに通知する。
【０２０１】
メインプロセッサ２１は、ＭＳマネージャから、ネットワーク９上の他装置の照会及び自装置のＭＳステータスの設定完了の通知を受けると、能力交換プログラムを実行する。
【０２０２】
能力交換プログラムは、自装置がマスター装置である場合には、ネットワーク９に接続されている全ての他装置の装置情報、すなわち各スレーブ装置の装置情報を取得する。他装置の装置情報の取得は、上述したように、ＤＭＡコマンドがステータス要求コマンドであるソフトウェアセルを生成して他装置に送信し、その後、ＤＭＡコマンドがステータス返信コマンドで、かつデータとして他装置の装置情報を含むソフトウェアセルを他装置から受信することによって可能である。
【０２０３】
能力交換プログラムは、マスター装置である自装置の装置情報テーブルと同様に、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を格納するための領域を自装置のメインメモリ２６に確保し、これら情報を他装置（スレーブ装置）の装置情報テーブルとして記録する。すなわち、マスター装置のメインメモリ２６には、自装置を含むネットワーク９に接続されている全ての情報処理装置の装置情報が、装置情報テーブルとして記録される。
【０２０４】
一方、自装置がスレーブ装置である場合には、能力交換プログラムは、ネットワーク９に接続されている全ての他装置の装置情報、すなわちマスター装置及び自装置以外の各スレーブ装置の装置情報を取得し、これら装置情報に含まれる情報処理装置ＩＤ及びＭＳステータスを、自装置のメインメモリ２６に記録する。すなわち、スレーブ装置のメインメモリ２６には、自装置の装置情報が、装置情報テーブルとして記録されるとともに、自装置以外のネットワーク９に接続されているマスター装置及び各スレーブ装置についての情報処理装置ＩＤ及びＭＳステータスが、別の装置情報テーブルとして記録される。
【０２０５】
また、マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、新たにネットワーク９に情報処理装置が接続されたことが通知されたときには、その情報処理装置の装置情報を取得し、上述したようにメインメモリ２６に記録する。
【０２０６】
なお、ＭＳマネージャ及び能力交換プログラムは、メインプロセッサ２１で実行されることに限らず、いずれかのサブプロセッサ２３で実行されてもよい。また、ＭＳマネージャ及び能力交換プログラムは、情報処理装置の主電源が投入されている間は常時動作する常駐プログラムであることが望ましい。
【０２０７】
マスター装置及びスレーブ装置のいずれについても、能力交換プログラムは、上記のようにＭＳマネージャから、ネットワーク９に接続されている情報処理装置の主電源が遮断され、またはネットワーク９から情報処理装置が切り離されたことが通知されたときには、その情報処理装置の装置情報テーブルを自装置のメインメモリ２６から削除する。
【０２０８】
更に、このようにネットワーク９から切断された情報処理装置がマスター装置である場合には、以下のような方法によって、新たにマスター装置が決定される。
【０２０９】
具体的には、例えば、ネットワーク９から切断されていない情報処理装置は、それぞれ、自装置及び他装置の情報処理装置ＩＤを数値に置き換えて、自装置の情報処理装置ＩＤを他装置の情報処理装置ＩＤと比較し、自装置の情報処理装置ＩＤがネットワーク９から切断されていない情報処理装置中で最小である場合、そのスレーブ装置は、マスター装置に移行して、ＭＳステータスを０に設定し、マスター装置として、上述したように、ネットワーク９に接続されている全ての他装置（各スレーブ装置）の装置情報を取得して、メインメモリ２６に記録する。
【０２１０】
図２３の下段に示したようにネットワーク９に接続されている複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させるためには、マスター装置がユーザの操作及びスレーブ装置の動作状態を把握する必要がある。
【０２１１】
図２５に、４台の情報処理装置が仮想的な１台の情報処理装置７として動作する様子を示す。情報処理装置１がマスター装置、情報処理装置２、３、４がスレーブ装置Ａ、Ｂ、Ｃとして、動作しているものとする。
【０２１２】
ユーザがネットワーク９に接続されている情報処理装置を操作した場合、操作対象がマスター装置１であれば、その操作情報は、マスター装置１において直接把握され、操作対象がスレーブ装置であれば、その操作情報は、操作されたスレーブ装置からマスター装置１に送信される。すなわち、ユーザの操作対象がマスター装置１とスレーブ装置のいずれであるかにかかわらず、その操作情報は常にマスター装置１において把握される。操作情報の送信は、例えば、ＤＭＡコマンドが操作情報送信コマンドであるソフトウェアセルによって行われる。
【０２１３】
そして、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その操作情報に従って、実行する機能プログラムを選択する。その際、必要であれば、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、上記の方法によって自装置の外部記録部２８−１、２８−２からメインメモリ２６−１に機能プログラムをロードするが、他の情報処理装置（スレーブ装置）がマスター装置１に機能プログラムを送信してもよい。
【０２１４】
機能プログラムには、その実行単位毎に必要となる、図２２に示した各情報として表される情報処理装置種別ＩＤ、メインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件等の、装置に関する要求スペックが規定されている。
【０２１５】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、各機能プログラムについて必要となる上記要求スペックを読み出す。また、予め能力交換プログラムによってメインメモリ２６−１に記録された装置情報テーブルを参照し、各情報処理装置の装置情報を読み出す。ここでの装置情報は、図２２に示した情報処理装置ＩＤ以下の各情報を示し、メインプロセッサ、サブプロセッサ、メインメモリ及び外部記録部に関する情報である。
【０２１６】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ネットワーク９上に接続された各情報処理装置の上記装置情報と、機能プログラム実行に必要となる上記要求スペックとを順次比較する。
【０２１７】
そして、例えば、機能プログラムが録画機能を必要とする場合には、情報処理装置種別ＩＤに基づいて、録画機能を有する情報処理装置のみを特定して抽出する。更に、機能プログラムを実行するために必要なメインプロセッサまたはサブプロセッサの処理能力、メインメモリ使用量、外部記録部に関する条件を確保できるスレーブ装置を、実行要求候補装置として特定する。ここで、複数の実行要求候補装置が特定された場合には、当該候補装置から１つの実行要求候補装置を特定して選択する。
【０２１８】
実行要求するスレーブ装置が特定されたら、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その特定されたスレーブ装置について、自装置内の情報処理コントローラ１１に含まれるメインメモリ２６−１に記録されている当該スレーブ装置の装置情報テーブルを更新する。
【０２１９】
更に、マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、ＤＭＡコマンドが機能プログラム実行コマンドであるソフトウェアセルを生成し、当該ソフトウェアセルのセルインターフェースに、機能プログラムに関する必要なサブプロセッサの情報及びサンドボックスサイズ（図２１参照）を設定して、上記実行要求されるスレーブ装置に対して送信する。
【０２２０】
機能プログラムの実行を要求されたスレーブ装置は、その機能プログラムを実行するとともに、自装置の装置情報テーブルを更新する。その際、必要であれば、スレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、上記の方法によって自装置の外部記録部２８からメインメモリ２６に機能プログラムおよび当該機能プログラムと連携動作するサブプロセッサプログラムをロードする。
【０２２１】
機能プログラムの実行を要求されたスレーブ装置の外部記録部２８に、必要な機能プログラムまたは当該機能プログラムと連携動作するサブプロセッサプログラムが記録されていない場合には、他の情報処理装置が当該機能プログラムまたはサブプロセッサプログラムを、その機能プログラム実行要求先スレーブ装置に送信するように、システムを構成すればよい。
【０２２２】
サブプロセッサプログラムについては、前述のロードコマンドおよびキックコマンドを利用して他の情報処理装置に実行させることもできる。
【０２２３】
機能プログラムの実行終了後、機能プログラムを実行したスレーブ装置内の情報処理コントローラに含まれるメインプロセッサ２１は、終了通知をマスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１に送信するとともに、自装置の装置情報テーブルを更新する。マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、その終了通知を受信して、機能プログラムを実行したスレーブ装置の装置情報テーブルを更新する。
【０２２４】
マスター装置１内の情報処理コントローラ１１に含まれるメインプロセッサ２１−１は、自装置及び他装置の装置情報テーブルの参照結果から、当該の機能プログラムを実行することができる情報処理装置として、自身を選択する場合もあり得る。その場合には、マスター装置１が当該機能プログラムを実行する。
【０２２５】
図２５の例で、ユーザがスレーブ装置Ａ（情報処理装置２）を操作し、当該操作に応じた機能プログラムを別のスレーブ装置Ｂ（情報処理装置３）が実行する場合について、図２６を用いてその分散処理の例を説明する。
【０２２６】
図２６の例では、ユーザがスレーブ装置Ａを操作することによって、スレーブ装置Ａを含むネットワークシステム全体の分散処理が開始して、まず、スレーブ装置Ａは、ステップ８１で、その操作情報をマスター装置１に送信する。
【０２２７】
マスター装置１は、ステップ７２で、その操作情報を受信し、さらにステップ７３に進んで、自装置のメインメモリ２６−１に記録されている自装置及び他装置の装置情報テーブルから、各情報処理装置の動作状態を調べて、受信した操作情報に応じた機能プログラムを実行することができる情報処理装置を選択する。この例は、スレーブ装置Ｂが選択される場合である。
【０２２８】
次に、マスター装置１は、ステップ７４で、その選択したスレーブ装置Ｂに対して機能プログラムの実行を要求する。
【０２２９】
スレーブ装置Ｂは、ステップ９５で、その実行要求を受信し、さらにステップ９６に進んで、実行要求された機能プログラムを実行する。
【０２３０】
以上のように、ユーザは、１台の情報処理装置のみを操作することによって、他の情報処理装置を操作することなく、複数の情報処理装置１、２、３、４を仮想的な１台の情報処理装置７として動作させることができる。
【０２３１】
次に、本実施形態において、以上説明したネットワークシステムに本発明を適用した場合の実施の形態について説明する。図２７は、本実施形態におけるコンテンツ記録再生システムの構成を示した図である。同図においては、上述の図１９における情報処理装置１にホームサーバ１０を、情報処理装置２、３及び４にそれぞれコンテンツ記録再生装置２０、３０及び４０を採用している。コンテンツ記録再生装置２０の数は３つに限定されるものではない。ネットワーク９は例えば家庭内のＬＡＮ（Local Area Network）である。
【０２３２】
本システムにおいては、各コンテンツ記録再生装置は、上述の第２実施形態と同様、放送される番組を受信、記録及び再生することが可能であり、ホームサーバ１０は、上記第２実施形態における顔画像識別処理及び音声識別処理と、登場人物データベースの管理とを各コンテンツ記録再生装置の代わりに行うことが可能である。各機器の動作については後述する。
【０２３３】
同図に示すように、ホームサーバ１０は、上記図１９の情報処理装置１におけるメインプロセッサとして顔画像識別部２１−１を有し、またサブプロセッサとして顔画像管理部２３−１、音声識別部２３−２及び音声管理部２３−３を有する。これら各部の機能は上述の第２実施形態の場合と同様である。また、ホームサーバ１０は、上記情報処理装置１の外部記憶部２８−１に、上述の第２実施形態における場合と同様の登場人物データベース１１０、顔画像データベース１１１及び音声データベース５４を有する。登場人物データベース１１０は、登場人物に関するデータをフレーム及び番組毎に記憶するとともに、それらのデータがどのコンテンツ記録再生装置において記録された番組に関するものであるかも判別可能なように、コンテンツ記録再生装置毎に区分されて記憶されている。
【０２３４】
コンテンツ記録再生装置２０は、上記図１９の情報処理装置２におけるメインプロセッサとして顔画像検出部２１−２を有し、またサブプロセッサとして顔画像追跡部２３−４及び音声検出部２３−５を有する。これら各部の機能も、上述の第２実施形態の場合と同様である。また、コンテンツ記録再生装置２０は、上記情報処理装置２の外部記憶部２８−３に、上記第２実施形態の場合と同様の番組データベース１０９を有している。
【０２３５】
更にコンテンツ記録再生装置２０は、情報処理コントローラ１２のバス２９−２に接続されたバスに、上述の第２実施形態の場合と同様の放送受信部１０１、圧縮復号化部１０２、表示部１０４、音響部１０５及び操作入力部１０６を有している。図示しないが、コンテンツ記録再生装置３０及び４０の構成もコンテンツ記録再生装置２０と同様である。
【０２３６】
ホームサーバ１０、コンテンツ記録再生装置２０、３０及び４０は、上記メインプロセッサ、サブプロセッサとしての各部を含む情報処理コントローラをそれぞれ有し、上記ＤＭＡコマンド等によりソフトウェアセルを実行したり、各種データをやり取りしたりすることが可能である。よって、各機器には、それぞれを識別するための上記情報処理装置ＩＤが付与されている。
【０２３７】
次に、本実施形態においてホームサーバ１０と各コンテンツ記録再生装置との間でやり取りされるソフトウェアセルについて説明する。
【０２３８】
図２８は、各コンテンツ記録再生装置が検出した顔画像の識別をホームサーバ１０へ要求する際に送信されるソフトウェアセルの例を示した図である。
【０２３９】
同図に示すように、このソフトウェアセルにおいて、送信元ＩＤ及び応答先ＩＤは各コンテンツ記録再生装置の情報処理装置ＩＤ（以下、単にＩＤと記述する）、送信先ＩＤはホームサーバのＩＤである。また、ＤＭＡコマンドとして顔画像識別要求コマンドを送信し、データとして、各コンテンツ記録再生装置の顔画像検出部が検出し、または顔画像追跡部が追跡検出した顔画像データ及び当該顔画像データが含まれる番組の番組データを送信する。
【０２４０】
更に、このソフトウェアセルの送信以前に、各コンテンツ記録再生装置がホームサーバ１０へ当該顔画像識別要求コマンドを送信している場合には、セルインターフェース中、前回のソフトウェアセルＩＤとして、当該送信の際のソフトウェアセルのグローバルＩＤを送信する。当該ソフトウェアセルは、例えば顔画像が検出されたフレーム毎に各コンテンツ記録再生装置から送信される。
【０２４１】
図２９は、ホームサーバ１０が、上記各コンテンツ記録再生装置が送信した上記顔画像識別要求コマンドに応答して、各コンテンツ記録再生装置に対して送信するソフトウェアセルの例を示した図である。
【０２４２】
同図に示すように、このソフトウェアセルにおいて、送信元ＩＤはホームサーバ１０のＩＤ、送信先ＩＤ及び応答先ＩＤは各コンテンツ記録再生装置のＩＤである。ＤＭＡコマンドとして顔画像識別応答コマンドを送信し、また、このソフトウェアセルの送信以前に、上記ホームサーバ１０が各コンテンツ記録再生装置に当該顔画像識別応答コマンドを送信している場合には、前回のソフトウェアセルＩＤとして、当該送信の際のソフトウェアセルのグローバルＩＤを送信する。
【０２４３】
ホームサーバ１０は、上記顔画像識別要求コマンドに応じて、受信した顔画像と顔画像データベース１１１中の顔画像とを顔画像識別部２１−１の処理により照合し、顔画像に対応する人物を識別して、登場人物データベース１１０を更新すると、その旨を上記顔画像識別応答コマンドにより各コンテンツ記録再生装置へ通知する。
【０２４４】
なお、図示しないが、各コンテンツ記録再生装置が、自身が検出した音声データからの人物の識別処理をホームサーバ１０へ要求する際には、顔画像識別要求コマンドと同様に、音声識別要求コマンドをホームサーバ１０へ送信し、ホームサーバ１０は音声データベース５４を参照して音声識別部２３−２の処理により人物を識別して登場人物データベース１１０を更新すると、その旨を音声識別応答コマンドにより各コンテンツ記録再生装置へ通知する。
【０２４５】
図３０は、各コンテンツ記録再生装置においてユーザに番組を提示する際に、当該提示に必要な情報をホームサーバ１０から取得するために送信するソフトウェアセルの例を示した図である。
【０２４６】
同図に示すように、このソフトウェアセルにおいて、送信元ＩＤ及び応答先ＩＤは各コンテンツ記録再生装置の情報処理装置ＩＤであり、送信先ＩＤはホームサーバのＩＤである。また、ＤＭＡコマンドとして番組提示情報要求コマンドを送信する。更に、このソフトウェアセルの送信以前に、各コンテンツ記録再生装置がホームサーバ１０へ当該番組提示情報要求コマンドを送信している場合には、前回のソフトウェアセルＩＤとして、当該送信の際のソフトウェアセルのグローバルＩＤを送信する。
【０２４７】
当該ソフトウェアセルの送信は、例えばユーザが操作入力部１０６等の操作により番組提示を各コンテンツ記録再生装置へ指示したときに行われる。
【０２４８】
図３１は、上記番組提示情報要求コマンドに応答して、ホームサーバ１０が各コンテンツ記録再生装置へ番組提示情報を送信する際のソフトウェアセルの例を示した図である。
【０２４９】
このソフトウェアセルにおいて、送信元ＩＤはホームサーバ１０のＩＤ、送信先ＩＤ及び応答先ＩＤは各コンテンツ記録再生装置のＩＤである。ＤＭＡコマンドとして番組提示情報応答コマンドを送信し、データとして、登場人物データベース１１０から抽出した、番組の登場人物に関するデータ及び当該番組に付与された嗜好評価ポイント等の番組情報を送信する。
【０２５０】
また、このソフトウェアセルの送信以前に、上記ホームサーバ１０が各コンテンツ記録再生装置に当該番組提示情報応答コマンドを送信している場合には、前回のソフトウェアセルＩＤとして、当該送信の際のソフトウェアセルのグローバルＩＤを送信する。
【０２５１】
ホームサーバ１０は、上記データを、コンテンツ記録再生装置毎に記憶された番組全てについて、例えば番組毎またはまとめて送信する。各コンテンツ記録再生装置は、上記番組提示情報応答コマンドにより取得したデータを基に、例えば表示部に番組情報のリストを嗜好評価ポイント順に分割表示することによりユーザに番組を提示し、ユーザは当該表示部の画面から所望の番組を選択することにより当該番組を視聴することができる。
【０２５２】
次に、本実施形態におけるホームサーバ１０及び各コンテンツ記録再生装置の動作について説明する。図３２は、当該動作の流れを示したシーケンス図である。同図においては例としてホームサーバ１０とコンテンツ記録再生装置２０の動作について説明するが、ホームサーバ１０とコンテンツ記録再生装置３０及びコンテンツ記録再生装置４０の動作も同様である。また、各処理ステップ中、上述の第２実施形態における場合（図１８参照）と同様の部分については説明を簡略化する。
【０２５３】
同図に示すように、まず、コンテンツ記録再生装置２０は、上述の第２実施形態の場合（図１８参照）と同様、番組を受信及び記録し、記録した番組の映像フレームから人物の顔画像を、また音声データから人物の音声を検出する（ステップ１００１〜１００３）。
【０２５４】
次に、当該検出した顔画像及び音声から人物を識別してもらうために、ソフトウェアセルにより、ホームサーバ１０へ上記顔画像識別要求コマンド及び音声識別要求コマンドを送信する（ステップ１００４）。
【０２５５】
ホームサーバ１０は、当該顔画像識別要求コマンド及び音声識別コマンドを受信すると（ステップ１００５）、ソフトウェアセルのデータ中に含まれる顔画像及び音声データと、顔画像データベース１１１及び音声データベース５４との照合を行って人物を識別し（ステップ１００６）、顔画像ＩＤ及び声紋ＩＤ等、両データベースに中の識別した人物に関する情報を登場人物データベース１１０に関連付けて登録する（ステップ１００７）。また、顔画像及び音声から人物を識別した旨及び登場人物データベース１１０を作成した旨を上記顔画像識別応答コマンド及び音声識別応答コマンドによりコンテンツ記録再生装置２０へ送信する（ステップ１００８）とともに、識別した人物が登場するフレームに対して、上記第２実施形態の場合と同様に（図１６参照）嗜好評価ポイントを付与し、その累計ポイントにより各番組の嗜好評価ポイントを更新する（ステップ１０１０）。
【０２５６】
コンテンツ記録再生装置２０は、上記顔画像識別応答コマンド及び音声識別応答コマンドを受信し（ステップ１００９）、その後にユーザが番組の提示を指示した場合には、上記番組提示情報要求コマンドをホームサーバ１０へ送信する（ステップ１０１１）。ホームサーバ１０は、当該番組提示情報要求コマンドを受信すると（ステップ１０１２）、上記作成した登場人物データベース１１０及び嗜好評価ポイントを参照して、コンテンツ記録再生装置２０に記録された全ての番組について、番組の提示に必要な登場人物データ、嗜好評価ポイントデータを含む番組データを、上記番組提示情報応答コマンドにより送信する（ステップ１０１３）。
【０２５７】
そして、コンテンツ記録再生装置２０は、当該番組提示情報応答コマンドを受信すると（ステップ１０１４）、当該コマンドとともに送信された上記登場人物データ及び嗜好評価ポイントデータを用いて、自身の番組データベース１０９中のデータと関連付けながら、表示部１０４に上述したような番組リストの分割表示を行うことにより、ユーザに番組を提示する（ステップ１０１５）。
【０２５８】
以上の動作により、顔画像識別処理及び音声識別処理、登場人物データベース１１０等の処理をホームサーバ１０が各コンテンツ記録再生装置の代わりに行うことで、画像認識や音声認識といった比較的負荷の高い処理を複数台の機器で分散して効率よく処理することができ、ユーザに対してよりスムーズに番組を提示することができる。
【０２５９】
なお、本実施形態においてホームサーバ１０と各コンテンツ記録再生装置が家庭内のＬＡＮで接続されている例を説明したが、各機器が接続可能ならばネットワークの種類はＬＡＮに限られるものではなく、例えば各機器がインターネットのような広域ネットワークを介して接続されているような形態であっても構わない。
【０２６０】
また、ネットワークを介さずに、本実施形態におけるメインプロセッサ及びサブプロセッサを有するコンテンツ記録再生装置が、各プロセッサに顔画像及び音声検出、顔画像及び音声識別等の処理を分散処理させ、スタンドアローンで処理を行うような形態であっても構わない。
【図面の簡単な説明】
【０２６１】
【図１】第１の実施形態におけるコンテンツ記録再生装置の構成を示した図である。
【図２】顔画像データベース１１１の例を示した図である。
【図３】登場人物データベース１１０の例を示した図である。
【図４】一のフレームにおいて顔画像を検出する様子の例を示した図である。
【図５】一の番組を構成する複数のフレームから顔画像を含むフレームを検出する様子を示した図である。
【図６】逆方向動き検出部１１８の動作の流れを示すフローチャートである。
【図７】嗜好評価ポイントの付与例を示した図である。
【図８】記録した番組から登場人物データベース１１０を作成し、番組をユーザに提示する際の動作の流れを示すフローチャートである。
【図９】番組をユーザに提示する場合の表示部１０４の例を示した図である。
【図１０】コンテンツ記録再生装置１００が記録した２つの番組における登場人物の登場範囲の例を示した図である。
【図１１】２つの番組における登場人物Ａの登場範囲について同一シーンの検出を行った例を示した図である。
【図１２】学習処理の動作を示すフローチャートである。
【図１３】第２の実施形態におけるコンテンツ記録再生装置の構成を示した図である。
【図１４】音声データベースの例について説明した図である。
【図１５】第２実施形態における登場人物データベース１１０の例を示した図である。
【図１６】第２実施形態における嗜好評価ポイントの付与例を示した図である。
【図１７】嗜好評価ポイントの割り当ての変更例について示した図である。
【図１８】第２実施形態においてユーザに番組を提示するまでの動作の流れを示したフローチャートである。
【図１９】第３の実施形態において前提となるシステムの構成を示した図である。
【図２０】情報処理装置が備える情報処理コントローラの説明に供する図である。
【図２１】ソフトウェアセルの一例を示す図である。
【図２２】ＤＭＡコマンドがステータス返信コマンドである場合のソフトウェアセルのデータ領域を示す図である。
【図２３】複数の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図２４】情報処理コントローラのソフトウェア構成の一例を示す図である。
【図２５】４台の情報処理装置が仮想的な１台の情報処理装置として動作する様子を示す図である。
【図２６】図２５のシステムにおける分散処理の例を示す図である。
【図２７】第３実施形態におけるコンテンツ記録再生システムの構成を示す図である。
【図２８】各コンテンツ記録再生装置がホームサーバ１０へ顔画像識別要求コマンドを送信する際のソフトウェアセルの例を示した図である。
【図２９】ホームサーバ１０が各コンテンツ記録再生装置へ顔画像識別応答コマンドを送信する際のソフトウェアセルの例を示した図である。
【図３０】各コンテンツ記録再生装置がホームサーバ１０へ番組提示情報要求コマンドを送信する際のソフトウェアセルの例を示した図である。
【図３１】ホームサーバ１０が各コンテンツ記録再生装置へ番組提示情報応答コマンドを送信する際のソフトウェアセルの例を示した図である。
【図３２】第３の実施形態におけるホームサーバ１０及び各コンテンツ記録再生装置の動作の流れを示したシーケンス図である。
【符号の説明】
【０２６２】
１００、５０、２０、３０、４０…コンテンツ記録再生装置
１０９…番組データベース
１１０…登場人物データベース
１１１…顔画像データベース
１１３、２１−２…顔画像検出部
１１４、２１−１…顔画像識別部
１１５、２３−１…顔画像管理部
１１６、２３−４…顔画像追跡部
１１７…順方向動き検出部
１１８…逆方向動き検出部
５１、２３−５…音声検出部
５２、２３−２…音声識別部
５３、２３−３…音声管理部
５４…音声データベース
【図１】
2006033659.tif 000003
【図２】
2006033659.tif 000004
【図３】
2006033659.tif 000005
【図４】
2006033659.tif 000006
【図５】
2006033659.tif 000007
【図６】
2006033659.tif 000008
【図７】
2006033659.tif 000009
【図８】
2006033659.tif 000010
【図９】
2006033659.tif 000011
【図１０】
2006033659.tif 000012
【図１１】
2006033659.tif 000013
【図１２】
2006033659.tif 000014
【図１３】
2006033659.tif 000015
【図１４】
2006033659.tif 000016
【図１５】
2006033659.tif 000017
【図１６】
2006033659.tif 000018
【図１７】
2006033659.tif 000019
【図１８】
2006033659.tif 000020
【図１９】
2006033659.tif 000021
【図２０】
2006033659.tif 000022
【図２１】
2006033659.tif 000023
【図２２】
2006033659.tif 000024
【図２３】
2006033659.tif 000025
【図２４】
2006033659.tif 000026
【図２５】
2006033659.tif 000027
【図２６】
2006033659.tif 000028
【図２７】
2006033659.tif 000029
【図２８】
2006033659.tif 000030
【図２９】
2006033659.tif 000031
【図３０】
2006033659.tif 000032
【図３１】
2006033659.tif 000033
【図３２】
2006033659.tif 000034