(57)【要約】【課題】ユーザに所望のシーンを効率よく視聴させる。【解決手段】受信部２６は、番組から抽出された特徴量に基づいて、情報処理装置１２に集積させることが割り当てられた番組情報を受信し、リスト記憶部２８は、受信部２６が受信した番組情報を記憶する。また、受信部２６は、他の装置に入力された検索キーワードが特徴量として抽出された番組を特定する番組情報を要求する検索要求であって、検索キーワードに基づいて情報処理装置１２が送信先とされた検索要求を受信する。そして、検索要求により要求された番組情報が、リスト記憶部２８に記憶されていると判定された場合、送信部２５は、検索要求により要求された番組情報を、検索要求を送信してきた他の装置に送信する。本発明は、例えば、番組情報を共有する情報処理システムに適用できる。【選択図】図２
2008288694.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置において、
前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信する番組情報受信手段と、
前記番組情報受信手段が受信した前記番組情報を記憶する番組情報記憶手段と、
前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信する検索要求受信手段と、
前記検索要求受信手段が受信した前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定する判定手段と、
前記判定手段により、前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する送信手段と
を備える情報処理装置。
【請求項２】
前記番組情報には、前記番組が放送されるチャンネルを示す情報、前記番組が放送される日時を示す情報、または前記番組情報を送信した装置を特定する情報が含まれる
請求項１に記載の情報処理装置。
【請求項３】
前記検索要求受信手段が受信した検索要求が登録される検索要求リストを記憶する検索要求リスト記憶手段をさらに備え、
前記判定手段は、前記番組情報受信手段が受信した前記番組情報が、前記検索要求リストに既に登録されている検索要求において要求されているか否かをさらに判定し、
前記送信手段は、前記判定手段により、前記番組情報受信手段が受信した前記番組情報が、前記検索要求リストに既に登録されている検索要求において要求されていると判定された場合、前記検索要求において要求されている番組情報を、前記検索要求を送信してきた前記他の装置に送信する
請求項１に記載の情報処理装置。
【請求項４】
前記検索要求には、前記番組情報の要求が有効である期限を指定するタイムアウト時刻が含まれており、
前記検索要求リスト記憶手段に記憶されている前記検索要求リストを参照し、前記タイムアウト時刻により指定された期限が経過した前記検索要求を、前記検索要求リストから削除する検索要求削除手段
をさらに備える請求項３に記載の情報処理装置。
【請求項５】
前記検索要求リスト記憶手段に記憶されている前記検索要求リストに登録された検索要求の件数が、所定の上限値以上になったとき、前記検索要求リストから検索要求の一部を抜き出した代理転送リストを作成する代理転送リスト作成手段と、
前記検索要求リストに登録されている検索要求を送信してきた前記他の装置のうちの、いずれか１つの他の装置に、前記代理転送リストを送信する代理転送リスト送信手段と
をさらに備える請求項３に記載の情報処理装置。
【請求項６】
ユーザにより入力された検索キーワードを取得するキーワード取得手段と、
前記キーワード取得手段が取得した前記検索キーワードを入力値としてハッシュ関数を演算し、ハッシュ値を出力する演算手段と、
前記演算手段が出力したハッシュ値に基づいて、前記検索キーワードが特徴量として抽出された番組を特定する番組情報を集積することが割り当てられた装置を特定する特定手段と
をさらに備え、
前記送信手段は、前記特定手段により特定された装置に、前記検索キーワードが特徴量として抽出された番組を特定する番組情報を要求する検索要求をさらに送信する
請求項１に記載の情報処理装置。
【請求項７】
前記番組、および前記番組を特定する番組情報を受信する番組受信手段と、
前記番組受信手段が受信した番組から特徴量を抽出する特徴量抽出手段と、
前記特徴量抽出手段が抽出した特徴量を入力値としてハッシュ関数を演算し、ハッシュ値を出力する演算手段と、
前記演算手段が出力したハッシュ値に基づいて、前記特徴量抽出手段が特徴量を抽出した前記番組を特定する番組情報を集積することが割り当てられた装置を特定する特定手段と
をさらに備え、
前記送信手段は、前記特定手段により特定された装置に、前記特徴量抽出手段が特徴量を抽出した前記番組を特定する番組情報をさらに送信する
請求項１に記載の情報処理装置。
【請求項８】
ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理方法において、
前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信し、
前記番組情報を記憶する番組情報記憶手段に、前記情報処理装置に集積させることが割り当てられた前記番組情報を記憶させ、
前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信し、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定し、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する
ステップを含む情報処理方法。
【請求項９】
ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理をコンピュータに実行させるプログラムにおいて、
前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信し、
前記番組情報を記憶する番組情報記憶手段に、前記情報処理装置に集積させることが割り当てられた前記番組情報を記憶させ、
前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信し、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定し、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する
ステップを含む情報処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、ユーザに所望のシーンを効率よく視聴させることができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、デジタルテレビジョン放送による放送番組の多チャンネル化に伴い、ユーザ（視聴者）の視聴可能な番組数が増加している。
【０００３】
これに対し、ユーザが番組の視聴に費やすことができる視聴時間は限られている。従って、ユーザは、その限られた視聴時間中に、所望のシーン、例えば、お気に入りの出演者が出演しているシーンが放送されていれば、そのシーンが放送されているチャンネルを選択して、所望のシーンを効率よく視聴したいと考える。
【０００４】
しかしながら、放送中の番組は数多くあり、ユーザが、放送中の全ての番組の中から所望のシーンを探し出すことは、困難であった。
【０００５】
ここで、特許文献１には、映像から特徴量や属性情報を抽出し、これらの特徴量や属性情報を利用することで、映像を効率的に検索する検索システムが開示されている。
【０００６】
また、特許文献２には、ピアツーピアで構築されたネットワークにおいて、分散ハッシュテーブルによって定義された理論空間上に、オブジェクトからなるデータオーバレイをデータ構造として構築する方法が開示されている。
【０００７】
【特許文献１】特開２００６−１８８３１号公報
【特許文献２】特開２００５−３５３０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上述したように、ユーザが、放送中の数多くの番組の中から所望のシーンを探し出すことは困難であり、従って、所望のシーンを効率よく視聴することは困難であった。
【０００９】
本発明は、このような状況に鑑みてなされたものであり、ユーザに所望のシーンを効率よく視聴させることができるようにするものである。
【課題を解決するための手段】
【００１０】
本発明の一側面の情報処理装置は、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置であって、前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信する番組情報受信手段と、前記番組情報受信手段が受信した前記番組情報を記憶する番組情報記憶手段と、前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信する検索要求受信手段と、前記検索要求受信手段が受信した前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定する判定手段と、前記判定手段により、前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する送信手段とを備える。
【００１１】
本発明の一側面の情報処理方法またはプログラムは、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理方法、または、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理をコンピュータに実行させるプログラムであって、前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信し、前記番組情報を記憶する番組情報記憶手段に、前記情報処理装置に集積させることが割り当てられた前記番組情報を記憶させ、前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信し、前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定し、前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信するステップを含む。
【００１２】
本発明の一側面においては、番組から抽出された特徴量に基づいて、情報処理装置に集積させることが割り当てられた番組情報が受信され、その番組情報が、番組情報記憶手段に記憶される。また、他の装置に入力された検索キーワードが特徴量として抽出された番組を特定する番組情報を要求する検索要求であって、検索キーワードに基づいて情報処理装置が送信先とされた検索要求が受信されると、検索要求により要求された番組情報が、番組情報記憶手段に記憶されているか否かが判定される。そして、検索要求により要求された番組情報が、番組情報記憶手段に記憶されていると判定された場合、検索要求により要求された番組情報が、検索要求を送信してきた他の装置に送信される。
【発明の効果】
【００１３】
本発明の一側面によれば、ユーザに所望のシーンを効率よく視聴させることができる。
【発明を実施するための最良の形態】
【００１４】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１５】
本発明の一側面の情報処理装置は、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置であって、
前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信する番組情報受信手段（例えば、図２の受信部２６）と、
前記番組情報受信手段が受信した前記番組情報を記憶する番組情報記憶手段（例えば、図２のリスト記憶部２８）と、
前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信する検索要求受信手段（例えば、図２の受信部２６）と、
前記検索要求受信手段が受信した前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定する判定手段（例えば、図４のステップＳ２８の処理を実行する図２の制御部２９）と、
前記判定手段により、前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する送信手段（例えば、図２の送信部２５）と
を備える。
【００１６】
また、本発明の一側面の情報処理装置は、
前記検索要求受信手段が受信した検索要求が登録される検索要求リストを記憶する検索要求リスト記憶手段（例えば、図２のリスト記憶部２８）をさらに備え、
前記判定手段は、前記番組情報受信手段が受信した前記番組情報が、前記検索要求リストに既に登録されている検索要求において要求されているか否かをさらに判定し、
前記送信手段は、前記判定手段により、前記番組情報受信手段が受信した前記番組情報が、前記検索要求リストに既に登録されている検索要求において要求されていると判定された場合、前記検索要求において要求されている番組情報を、前記検索要求を送信してきた前記他の装置に送信することができる。
【００１７】
また、本発明の一側面の情報処理装置は、
前記検索要求には、前記番組情報の要求が有効である期限を指定するタイムアウト時刻が含まれており、
前記検索要求リスト記憶手段に記憶されている前記検索要求リストを参照し、前記タイムアウト時刻により指定された期限が経過した前記検索要求を、前記検索要求リストから削除する検索要求削除手段（例えば、図４のステップＳ２２の処理を実行する図２のリスト管理部２７）
をさらに備えることができる。
【００１８】
また、本発明の一側面の情報処理装置は、
前記検索要求リスト記憶手段に記憶されている前記検索要求リストに登録された検索要求の件数が、所定の上限値以上になったとき、前記検索要求リストから検索要求の一部を抜き出した代理転送リストを作成する代理転送リスト作成手段（例えば、図５のステップＳ４２の処理を実行する図２のリスト管理部２７）と、
前記検索要求リストに登録されている検索要求を送信してきた前記他の装置のうちの、いずれか１つの他の装置に、前記代理転送リストを送信する代理転送リスト送信手段（例えば、図５のステップＳ４３の処理を実行する図２の送信部２５）と
をさらに備えることができる。
【００１９】
また、本発明の一側面の情報処理装置は、
ユーザにより入力された検索キーワードを取得するキーワード取得手段（例えば、図２の操作部２１）と、
前記キーワード取得手段が取得した前記検索キーワードを入力値としてハッシュ関数を演算し、ハッシュ値を出力する演算手段（例えば、図２の演算処理部２４）と、
前記演算手段が出力したハッシュ値に基づいて、前記検索キーワードが特徴量として抽出された番組を特定する番組情報を集積することが割り当てられた装置を特定する特定手段（例えば、図６のステップＳ５３の処理を実行する図２の制御部２９）と
をさらに備え、
前記送信手段は、前記特定手段により特定された装置に、前記検索キーワードが特徴量として抽出された番組を特定する番組情報を要求する検索要求をさらに送信することができる。
【００２０】
また、本発明の一側面の情報処理装置は、
前記番組、および前記番組を特定する番組情報を受信する番組受信手段（例えば、図２のチューナ２２）と、
前記番組受信手段が受信した番組から特徴量を抽出する特徴量抽出手段（例えば、図２の特徴量抽出部２３）と、
前記特徴量抽出手段が抽出した特徴量を入力値としてハッシュ関数を演算し、ハッシュ値を出力する演算手段（例えば、図２の演算処理部２４）と、
前記演算手段が出力したハッシュ値に基づいて、前記特徴量抽出手段が特徴量を抽出した前記番組を特定する番組情報を集積することが割り当てられた装置を特定する特定手段（例えば、図３のステップＳ１５の処理を実行する図２の制御部２９）と
をさらに備え、
前記送信手段は、前記特定手段により特定された装置に、前記特徴量抽出手段が特徴量を抽出した前記番組を特定する番組情報をさらに送信することができる。
【００２１】
本発明の一側面の情報処理方法またはプログラムは、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理方法、または、ネットワークを介して接続される他の装置と、番組を特定する番組情報を共有する情報処理装置の情報処理をコンピュータに実行させるプログラムであって、
前記番組から抽出された特徴量に基づいて、前記情報処理装置に集積させることが割り当てられた前記番組情報を受信し（例えば、図４のステップＳ２１）、
前記番組情報を記憶する番組情報記憶手段に、前記情報処理装置に集積させることが割り当てられた前記番組情報を記憶させ（例えば、図４のステップＳ３２）、
前記他の装置に入力された検索キーワードが前記特徴量として抽出された番組を特定する番組情報を要求し、前記検索キーワードに基づいて前記情報処理装置が送信先とされた検索要求を受信し（例えば、図４のステップＳ２１）、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されているか否かを判定し（例えば、図４のステップＳ２８）、
前記検索要求により要求された番組情報が、前記番組情報記憶手段に記憶されていると判定された場合、前記検索要求により要求された番組情報を、前記検索要求を送信してきた前記他の装置に送信する（例えば、図４のステップＳ２９）
ステップを含む。
【００２２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２３】
図１は、本発明を適用した情報処理システム（システムとは、複数の装置が論理的に集合した物をいい、各構成の装置が同一筐体中にあるか否かは問わない）の一実施の形態の構成例を示す図である。
【００２４】
図１において、情報処理システムは、ネットワーク１１、および５つの情報処理装置１２Ａ乃至１２Ｅから構成される。
【００２５】
ネットワーク１１は、Internetや、LAN（Local Area Network）、電話回線、CATV（cable television）などを含む各種のネットワークであり、ネットワーク１１には、情報処理装置１２Ａ乃至１２Ｅがそれぞれ接続されている。
【００２６】
情報処理装置１２Ａ乃至１２Ｅは、それぞれのユーザにより選択（選局）されたチャンネルで放送されている番組を受信し、その番組を表示部（例えば、後述する図２の表示部３２）に表示するとともに、それぞれが受信した番組から特徴量を抽出する処理を行う。
【００２７】
また、情報処理装置１２Ａ乃至１２Ｅは、番組から抽出した特徴量と、その特徴量が抽出された番組を特定する番組情報とを含む特徴情報を、互いに送受信し、所定の特徴量が抽出された番組の番組情報を、その特徴量に基づいて特定される装置に集積させる。
【００２８】
例えば、情報処理装置１２Ａおよび１２Ｂが受信している番組に、出演者Ａが出演しているとき、情報処理装置１２Ａおよび１２Ｂは、その番組から、出演者Ａの名前を特徴量として抽出し、特徴量である出演者Ａの名前を用いて、特徴情報の送信先となる装置を特定する。そして、例えば、特徴情報の送信先が情報処理装置１２Ｃであった場合、情報処理装置１２Ａおよび１２Ｂは、番組から抽出した特徴量と、その特徴量を抽出した番組の番組情報とを含む特徴情報を、情報処理装置１２Ｃに送信する。これにより、情報処理装置１２Ｃには、出演者Ａが出演している番組の番組情報が集積される。
【００２９】
また、情報処理装置１２Ａ乃至１２Ｅは、ユーザが、ある出演者が出演している番組を検索するために、その出演者の名前を検索キーワードとして入力すると、その出演者の名前に基づいて特定される装置に、その出演者が出演している番組の番組情報を要求する検索リクエストを送信する。
【００３０】
例えば、出演者Ｂが出演している番組の番組情報を集積している装置が、情報処理装置１２Ｅであるときに、情報処理装置１２Ｄのユーザが、出演者Ｂの名前を検索キーワードとして情報処理装置１２Ｄに入力したとする。この場合、情報処理装置１２Ｄは、出演者Ｂの名前を用いて、検索リクエストの送信先として特定される情報処理装置１２Ｅに、出演者Ｂが出演している番組の番組情報を要求する検索リクエストを送信する。そして、情報処理装置１２Ｅは、出演者Ｂが出演している番組の番組情報を記憶していれば、その番組情報を情報処理装置１２Ｄに送信する。情報処理装置１２Ｄは、情報処理装置１２Ｅからの番組情報に基づいて、出演者Ｂが出演している番組のチャンネルをユーザに通知し、これにより、ユーザは、そのチャンネルを選択して、出演者Ｂが出演している番組を視聴することができる。
【００３１】
ここで、情報処理装置１２Ａ乃至１２Ｅは、ネットワーク１１に接続されている全ての装置について、それぞれの装置を特定するための情報（以下、装置ＩＤ（Identification）という）を記憶していなくても、DHT（Distributed Hash Table：分散ハッシュテーブル）アルゴリズムを用いることにより、所定の装置に特徴情報を集積させることができる。
【００３２】
情報処理装置１２Ａ乃至１２Ｅは、ネットワーク１１に接続する（以下、適宜、クラスタに参加するという）にあたり、DHTアルゴリズムに従って、特徴情報を伝送する経路を求めるときに参照されるルーティングテーブルを、それぞれ作成して記憶する。ルーティングテーブルには、クラスタに参加している装置のうちの、DHTアルゴリズムに従って求められる特定の装置の装置ＩＤが登録されている。
【００３３】
例えば、DHTアルゴリズムにおいては、所定の装置のルーティングテーブルには、その装置の装置ＩＤに近い装置ＩＤが多く登録され、その装置の装置ＩＤから遠い装置ＩＤが少なく登録されるようになっており、所定の装置は、クラスタに参加するにあたり、クラスタに既に参加している特定の装置から、ルーティングテーブルに登録すべき装置ＩＤを取得するようになっている。そして、クラスタに参加している各装置は、番組から抽出した特徴量を入力値としてハッシュ関数を演算してハッシュ値を算出し、ルーティングテーブルを参照して、特徴量から算出されたハッシュ値に最も近い装置ＩＤの装置を、特徴情報の送信先として特定する。
【００３４】
また、特徴情報を受信した装置は、自身が記憶しているルーティングテーブルを参照し、自身の装置ＩＤが、送信されてきた特徴情報に含まれる特徴量から算出されるハッシュ値に最も近ければ、その特徴情報を蓄積する。一方、自身の装置ＩＤよりもハッシュ値に近い装置ＩＤが、ルーティングテーブルに登録されていれば、その特徴情報を受信した装置は、ハッシュ値に最も近い装置ＩＤの装置に、その特徴情報を転送する。
【００３５】
このように、DHTアルゴリズムを用いることで、特徴情報を伝送する経路が求められ、ある番組から特徴量が抽出されると、その番組の番組情報が、特徴量から求められたハッシュ値に最も近い装置ＩＤの装置に集積される。
【００３６】
また、特徴情報を伝送する経路が求められるのと同様に、検索リクエストを伝送する経路も、DHTアルゴリズムを用いて求められる。例えば、ユーザが、検索キーワードとして出演者の名前を入力すると、検索リクエストが、DHTアルゴリズムを用いて求められた経路を介して、その出演者が出演している番組の番組情報が蓄積された装置に送信される。
【００３７】
例えば、情報処理装置１２Ａのユーザが入力した検索キーワードを入力値としてハッシュ関数が演算され、その結果得られたハッシュ値に最も近い装置ＩＤが、情報処理装置１２Ａのルーティングテーブルに登録されていた情報処理装置１２Ｂの装置ＩＤであった場合、情報処理装置１２Ａは、情報処理装置１２Ｂに検索リクエストを送信する。そして、情報処理装置１２Ｂのルーティングテーブルに、情報処理装置１２Ａからの検索リクエストに含まれる検索キーワードから得られるハッシュ値に最も近い装置ＩＤとして、情報処理装置１２Ｄの装置ＩＤが登録されていた場合、情報処理装置１２Ｂは、情報処理装置１２Ｄに検索リクエストを転送する。
【００３８】
ここで、情報処理装置１２Ｄに蓄積される特徴情報は、この検索リクエストが伝送される経路と同様にして求められた経路を介して情報処理装置１２Ｄに送信されてくるので、情報処理装置１２Ｄには、情報処理装置１２Ａが送信した検索リクエストにより要求される番組情報が集積される。従って、情報処理装置１２Ｄは、情報処理装置１２Ａが送信した検索リクエストに対するレスポンスとして、番組情報を送信することができる。
【００３９】
なお、情報処理装置１２Ａ乃至１２Ｅは、ネットワーク的に近い装置（例えば、通信処理において通信遅延時間が短い装置）を特定する装置ＩＤが登録された近隣装置テーブルを、それぞれ記憶することができる。そして、情報処理装置１２Ａ乃至１２Ｅは、DHTアルゴリズムを用いるとともに、近隣装置テーブルを利用することで、通信に要する時間が短くなるような経路を求めて、特徴情報や検索リクエストの伝送を、より迅速に行うことができる。
【００４０】
ここで、情報処理装置１２Ａ乃至１２Ｅの構成は、いずれも同一であり、以下、情報処理装置１２Ａ乃至１２Ｅのそれぞれを個々に区別する必要がない場合、情報処理装置１２と称する。
【００４１】
次に、図２は、図１の情報処理装置１２の構成例を示すブロック図である。
【００４２】
図２において、情報処理装置１２は、操作部２１、チューナ２２、特徴量抽出部２３、演算処理部２４、送信部２５、受信部２６、リスト管理部２７、リスト記憶部２８、および制御部２９から構成される。また、情報処理装置１２のチューナ２２には、映像ケーブル３１を介して、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などからなる表示部３２が接続されている。
【００４３】
操作部２１は、図示しないスイッチボタンなどで構成されており、ユーザによって操作され、ユーザの操作に対応した操作信号を、制御部２９に供給する。
【００４４】
チューナ２２には、図示せぬアンテナで受信された放送信号が供給される。チューナ２２は、制御部２９の制御に従い、そこに供給される放送信号から所望のチャンネルの放送信号を選択し、放送信号を復調する。そして、チューナ２２は、放送信号を復調した結果得られる番組を、映像ケーブル３１を介して表示部３２に供給して表示させるとともに、特徴量抽出部２３に供給する。また、チューナ２２は、放送信号を復調することにより、番組を特定する番組情報を取得し、その番組情報を、制御部２９に供給する。
【００４５】
特徴量抽出部２３は、チューナ２２から供給された番組を解析し、解析結果である特徴量を番組から抽出する。例えば、特徴量抽出部２３は、番組の映像に重ね合わされているテロップを抜き出し、そのテロップをテキスト化したテキストデータや、番組に出演している出演者の顔を認識し、その顔に基づいて所定のデータベースを参照して得られる出演者の名前のテキストデータなどを、特徴量として番組から抽出する。そして、特徴量抽出部２３は、番組から抽出した特徴量を、演算処理部２４および制御部２９に供給する。
【００４６】
演算処理部２４は、特徴量抽出部２３から供給された特徴量を入力値としてハッシュ関数を演算し、その結果得られたハッシュ値を、制御部２９に供給する。
【００４７】
また、演算処理部２４には、ユーザが操作部２１を操作し、例えば、ある出演者の名前を検索キーワードとして情報処理装置１２に入力すると、操作部２１から制御部２９を介して、その出演者の名前が供給される。この場合、演算処理部２４は、ユーザにより入力された出演者の名前を入力値としてハッシュ関数を演算し、その結果得られたハッシュ値を、制御部２９に供給する。
【００４８】
送信部２５は、制御部２９の制御に従い、例えば、チューナ２２が受信している番組の番組情報と、その番組から特徴量抽出部２３が抽出した特徴量とを含む特徴情報を、演算処理部２４が算出したハッシュ値に応じて制御部２９が送信先として特定した装置に、図１のネットワーク１１を介して送信する。また、送信部２５は、制御部２９の制御に従い、例えば、ユーザが入力した出演者の名前から演算処理部２４が算出したハッシュ値に応じて制御部２９が送信先として特定した装置に、その出演者が出演している番組の番組情報を要求する検索リクエストを送信する。
【００４９】
ここで、送信部２５が送信する特徴情報には、番組情報や特徴量の他、特徴情報を送信した情報処理装置１２を特定する装置ＩＤが含まれる。また、番組情報としては、番組を放送しているチャンネルを特定するチャンネルＩＤ、その番組の放送が開始された時刻を示す番組開始時刻、その他、ARIB（Association of Radio Industries and Businesses：社団法人電波産業会）の運用規格tr-b14や、標準規格STD-B10などの規格により定められている情報などが含まれる。また、特徴量としては、上述したように特徴量抽出部２３が番組から抽出したテキストデータの他、番組の内容に応じて予め設定されている所定のＩＤや、番組から特徴量が抽出された区間を示す情報、または、抽出が開始された時刻を示す情報などが含まれる。
【００５０】
また、送信部２５が送信する検索リクエストには、ユーザにより入力された検索キーワード、検索リクエストに対するレスポンスの送信先となる情報処理装置１２の装置ＩＤ、または、検索リクエストによる番組情報の要求が有効である期限を指定するタイムアウト時刻が含まれる。なお、タイムアウト時刻は、情報処理装置１２のユーザが、例えば、番組の視聴に費やすことができる視聴時間などに応じて、任意に設定することができる。具体的には、ユーザは、現在の時刻から１時間ほど番組を視聴しようと考えているときには、検索キーワードの入力とともに、１時間後の時刻を、タイムアウト時刻として設定することができる。または、情報処理装置１２にデフォルトで設定されている時刻を、タイムアウト時刻として用いてもよい。
【００５１】
受信部２６は、情報処理装置１２を送信先として、他の装置から送信されてくる特徴情報や検索リクエストなどを受信して、制御部２９に供給する。
【００５２】
リスト管理部２７は、時刻を計時するタイマを内蔵しており、そのタイマや、制御部２９の制御に従い、リスト記憶部２８に記憶されているリストの作成または更新を行い、リストを管理する。
【００５３】
リスト記憶部２８には、情報処理装置１２に集積させることが割り当てられた特徴情報を登録する特徴情報リストや、他の装置から検索が要求された検索リクエストを登録する検索要求リストが記憶される。
【００５４】
特徴情報リストの各エントリ（レコード）には、番組から抽出された特徴量、その特徴量が抽出された番組の番組情報、および、その特徴情報を記憶しておく期間を示す生存期間などが登録される。ここで、生存期間は、リスト記憶部２８に記憶されるデータが増え続け付ことを防ぐために設けられており、リスト記憶部２８の記憶容量に応じて適宜設定される。
【００５５】
検索要求リストの各エントリには、情報処理装置１２に送信されてきた検索リクエストに含まれている検索キーワード、検索リクエストに対するレスポンスの送信先を特定する装置ＩＤ、および、検索リクエストによる番組情報の要求が有効である期限を指定するタイムアウト時刻などが登録される。
【００５６】
制御部２９は、メモリ３０を内蔵しており、情報処理装置１２を構成する各部を制御する。メモリ３０には、図１のルーティングテーブルや近隣装置テーブルなどが記憶される。
【００５７】
例えば、制御部２９には、チューナ２２から、チューナ２２が受信している番組の番組情報が供給される。そして、特徴量抽出部２３が、チューナ２２が受信している番組から抽出した特徴量を制御部２９に供給し、演算処理部２４が、その特徴量から算出したハッシュ値を制御部２９に供給すると、制御部２９は、メモリ３０に記憶されているルーティングテーブルを参照し、演算処理部２４が算出したハッシュ値に最も近い装置ＩＤの装置を送信先として特定する。そして、制御部２９は、送信部２５を制御して、特徴量抽出部２３が抽出した特徴量と、その特徴量が抽出された番組の番組情報とが含まれる特徴情報を、送信先として特定した装置に送信させる。
【００５８】
また、受信部２６が、他の装置から送信されてきた特徴情報を受信して制御部２９に供給すると、制御部２９は、特徴情報をリスト管理部２７に供給して、リスト記憶部２８に記憶されている特徴情報リストに登録させる。
【００５９】
さらに、受信部２６が、他の装置から送信されてきた検索リクエストを受信して制御部２９に供給すると、制御部２９は、リスト記憶部２８に記憶されている特徴情報リストに、検索リクエストにより要求されている番組情報が登録されていれば、その番組情報を、リスト管理部２７を介して読み出し、送信部２５を制御して、検索リクエストを送信してきた装置に送信させる。一方、検索リクエストにより要求されている番組情報が登録されていなければ、その検索リクエストを、リスト記憶部２８に記憶されている検索要求リストに登録させる。
【００６０】
また、操作部２１が、ユーザが入力した検索キーワードを制御部２９に供給し、演算処理部２４が、ユーザが入力した検索キーワードから算出したハッシュ値を制御部２９に供給すると、制御部２９は、メモリ３０に記憶されているルーティングテーブルを参照し、演算処理部２４が算出したハッシュ値に最も近い装置ＩＤの装置を送信先として特定する。そして、制御部２９は、送信部２５を制御して、検索キーワードに応じた番組の番組情報を要求する検索リクエストを、送信先として特定した装置に送信させる。
【００６１】
なお、制御部２９は、情報処理装置１２において、レスポンスを送信する処理が集中して、その処理にかかる負荷が大きくならないように、リスト記憶部２８に記憶されている検索要求リストの登録件数が、所定の上限値以上になったとき、他の装置に、情報処理装置１２を代理してレスポンスを返信する処理を行わせるようにすることができる。
【００６２】
例えば、制御部２９は、リスト記憶部２８に記憶されている検索要求リストの登録件数が、所定の上限値以上になったとき、リスト管理部２７を制御して、検索要求リストに登録されている検索リクエストの一部を抜き出して代理転送リストを作成させ、送信部２５を制御して、検索要求リストに登録されている所定の装置に代理転送リストを送信させる。そして、代理転送リストを受信した装置の装置ＩＤは、情報処理装置１２の検索要求リストに登録されているので、情報処理装置１２に、検索リクエストにより要求されている番組情報が送信されてくると、情報処理装置１２は、代理転送リストを受信した装置に、その番組情報をレスポンスとして送信し、その装置は、代理転送リストに登録されている装置に、情報処理装置１２から送信されてきたレスポンスを転送する。
【００６３】
次に、図３は、図２の情報処理装置１２が、特徴情報を送信する処理を説明するフローチャートである。
【００６４】
例えば、チューナ２２が、あるチャンネルの放送信号を受信しており、そのチャンネルで番組の放送が開始されると、処理が開始され、ステップＳ１１において、チューナ２２は、特徴量抽出部２３に、その番組の供給を開始する。
【００６５】
ステップＳ１１の処理後、処理はステップＳ１２に進み、特徴量抽出部２３は、チューナ２２から供給された番組から特徴量を抽出する処理を行う。番組から特徴量を抽出する処理は、例えば、番組の映像を構成するフレームごとに行われ、ある１つのフレームに対する処理が行われると、処理はステップＳ１３に進む。
【００６６】
ステップＳ１３において、特徴量抽出部２３は、直前のステップＳ１２における処理で、番組から特徴量が抽出されたか否かを判定する。
【００６７】
ステップＳ１３において、特徴量抽出部２３が、番組から特徴量が抽出されたと判定した場合、処理はステップＳ１４に進み、一方、番組から特徴量が抽出されなかったと判定した場合、処理はステップＳ１４およびＳ１５をスキップして、ステップＳ１６に進む。
【００６８】
ステップＳ１４において、特徴量抽出部２３は、直前のステップＳ１２で番組から抽出した特徴量を、演算処理部２４および制御部２９に供給する。演算処理部２４は、特徴量抽出部２３から供給された特徴量を入力値としてハッシュ関数を演算し、その結果得られたハッシュ値を、制御部２９に供給する。
【００６９】
ステップＳ１４の処理後、処理はステップＳ１５に進み、制御部２９は、メモリ３０に記憶されているルーティングテーブルを参照して、ステップＳ１４で演算処理部２４から供給されたハッシュ値に最も近い装置ＩＤを検索し、その装置ＩＤの装置を、特徴情報の送信先として特定する。そして、制御部２９は、送信部２５を制御して、ステップＳ１４で特徴量抽出部２３から供給された特徴量と、その特徴量が抽出された番組の番組情報とを含む特徴情報を、送信先として特定した装置に送信させる。
【００７０】
ステップＳ１５の処理後、処理はステップＳ１６に進み、制御部２９は、ステップＳ１１で放送が開始された番組の放送が終了したか否かを判定する。
【００７１】
ステップＳ１６において、制御部２９が、番組の放送が終了していないと判定した場合、処理はステップＳ１２に戻り、特徴量抽出部２３は、直前のステップＳ１２において特徴量を抽出する処理の対象となったフレームの次のフレームに対して特徴量を抽出する処理を行い、以下、同様の処理が繰り返される。
【００７２】
一方、ステップＳ１６において、制御部２９が、番組の放送が終了したと判定した場合、処理は終了する。
【００７３】
次に、図４は、図２の情報処理装置１２が、他の装置から送信されてきたデータ（リクエストまたはコマンドを含む）を受信したときの処理を説明するフローチャートである。
【００７４】
情報処理装置１２が、図１のネットワーク１１に接続されてクラスタに参加すると、処理が開始され、ステップＳ２１において、情報処理装置１２は、他の装置からデータが送信されてくるまで処理を待機する。そして、他の装置からデータが送信されてくると、受信部２６が、そのデータを受信して制御部２９に供給し、処理はステップＳ２１からステップＳ２２に進む。
【００７５】
ステップＳ２２において、リスト管理部２７は、リスト記憶部２８に記憶されている検索要求リストに登録されているタイムアウト時刻に基づき、内蔵するタイマを参照して、現在の時刻より過去の時刻となっているタイムアウト時刻があれば、そのタイムアウト時刻が登録されているエントリを削除する。即ち、リスト管理部２７は、番組情報の要求が有効である期限を経過した検索リクエストを削除し、検索要求リストを更新する。
【００７６】
ステップＳ２２の処理後、処理はステップＳ２３に進み、制御部２９は、ステップＳ２１で受信部２６から供給されたデータ、即ち、他の装置から送信されてきたデータが、検索リクエストであるか否かを判定する。
【００７７】
ステップＳ２３において、制御部２９が、他の装置から送信されてきたデータは検索リクエストであると判定した場合、処理はステップＳ２４に進む。
【００７８】
ステップＳ２４において、制御部２９は、リスト管理部２７を制御して、他の装置から送信されてきた検索リクエストを、リスト記憶部２８の検索要求リストに追加する。即ち、制御部２９は、リスト管理部２７を制御して、ステップＳ２１で受信部２６が受信した検索リクエストに含まれる、検索キーワード、装置ＩＤ、およびタイムアウト時刻を、リスト記憶部２８の検索要求リストに新たに登録させる。
【００７９】
ステップＳ２４の処理後、処理はステップＳ２５に進み、制御部２９は、リスト記憶部２８に記憶されている検索要求リストに登録されている検索リクエストの件数が、所定の上限値以上になったか否かを判定する。
【００８０】
ステップＳ２５において、制御部２９が、検索要求リストに登録されている検索リクエストの件数が、所定の上限値以上になったと判定した場合、処理はステップＳ２６に進み、代理転送処理（後述する図５の処理）が行われる。
【００８１】
ステップＳ２６の代理転送処理では、リスト記憶部２８に記憶されている検索要求リストの一部が抜き出されて代理転送リストが作成され、その代理転送リストが、他の情報処理装置１２に送信される。ステップＳ２６の代理転送処理の処理後、処理はステップＳ３８に進む。
【００８２】
一方、ステップＳ２５において、制御部２９が、検索要求リストに登録されている検索リクエストの件数が、所定の上限値以上になっていない（未満である）と判定した場合、処理はステップＳ２７に進む。
【００８３】
ステップＳ２７において、リスト管理部２７は、リスト記憶部２８に記憶されている特徴情報リストに登録されている生存期間に基づき、内蔵するタイマを参照して、現在の時刻を経過している生存期間があれば、その生存期間が登録されているエントリを削除する。即ち、リスト管理部２７は、生存期間が経過した特徴情報を削除し、特徴情報リストを更新する。
【００８４】
ステップＳ２７の処理後、処理はステップＳ２８に進み、制御部２９は、ステップＳ２１で受信部２６が受信した検索リクエストにより要求された番組情報が、リスト記憶部２８の特徴情報リストに登録されているか否かを判定する。
【００８５】
例えば、検索リクエストには、検索キーワードとして出演者の名前が含まれており、その出演者の名前が、特徴情報リストに登録されている特徴量と一致していれば、例えば、番組から抜き出されたテロップや、番組に出演している出演者の顔から認識された名前などと一致していれば、その特徴量が抽出された番組の番組情報が、検索リクエストにより要求された番組情報である。
【００８６】
従って、制御部２９は、リスト管理部２７を介してリスト記憶部２８を参照し、検索リクエストに含まれる検索キーワードに一致する特徴量が、特徴情報リストに登録されていれば、検索リクエストにより要求された番組情報が、特徴情報リストに登録されていると判定する。一方、制御部２９は、検索リクエストに含まれる検索キーワードに一致する特徴量が、特徴情報リストに登録されていなければ、検索リクエストにより要求された番組情報が、特徴情報リストに登録されていないと判定する。
【００８７】
ステップＳ２８において、制御部２９が、検索リクエストにより要求された番組情報がリスト記憶部２８の特徴情報リストに登録されていると判定した場合、処理はステップＳ２９に進み、一方、検索リクエストにより要求された番組情報がリスト記憶部２８の特徴情報リストに登録されていないと判定した場合、処理はステップＳ２９をスキップして、ステップＳ３８に進む。
【００８８】
ステップＳ２９において、制御部２９は、リスト管理部２７を介して、検索リクエストにより要求された番組情報を、リスト記憶部２８から読み出す。そして、制御部２９は、送信部２５を制御して、リスト記憶部２８から読み出した番組情報を、ステップＳ２１で受信部２６が受信した検索リクエストに対するレスポンスとして、検索リクエストを送信してきた装置、即ち、検索リクエストに含まれていた装置ＩＤにより特定される装置に送信させる。ステップＳ２９の処理後、処理はステップＳ３８に進む。
【００８９】
一方、ステップＳ２３において、制御部２９が、他の装置から送信されてきたデータは検索リクエストでないと判定した場合、処理はステップＳ３０に進み、制御部２９は、他の装置から送信されてきたデータが、特徴情報であるか否かを判定する。
【００９０】
ステップＳ３０において、制御部２９が、他の装置から送信されてきたデータは、特徴情報であると判定した場合、処理はステップＳ３１に進む。
【００９１】
ステップＳ３１において、リスト管理部２７は、ステップＳ２７での処理と同様に、検索要求リストを更新し、処理はステップＳ３２に進む。
【００９２】
ステップＳ３２において、制御部２９は、リスト管理部２７を制御して、ステップＳ２１で受信部２６が受信した特徴情報を、リスト記憶部２８に記憶されている特徴情報リストに登録させる。
【００９３】
ステップＳ３２の処理後、処理はステップＳ３３に進み、制御部２９は、ステップＳ３２でリスト記憶部２８の特徴情報リストに登録された特徴情報に含まれる番組情報を要求する検索リクエストが、リスト記憶部２８の検索要求リストに登録されているか否かを判定する。即ち、制御部２９は、新たに特徴情報リストに登録した番組情報が、他の装置から既に要求されていた番組情報であるか否かを判定する。
【００９４】
ステップＳ３３において、制御部２９が、ステップＳ３２でリスト記憶部２８の特徴情報リストに登録された特徴情報に含まれる番組情報を要求する検索リクエストは、リスト記憶部２８の検索要求リストに登録されていると判定した場合、処理はステップＳ３４に進み、一方、リスト記憶部２８の検索要求リストに登録されていないと判定した場合、処理はステップＳ３４をスキップして、ステップＳ３８に進む。
【００９５】
ステップＳ３４において、制御部２９は、送信部２５を制御して、ステップＳ２１で受信部２６が受信した特徴情報を、その特徴情報を要求する検索リクエストに含まれる装置ＩＤの装置に送信させ、処理はステップＳ３８に進む。
【００９６】
一方、ステップＳ３０において、制御部２９が、他の装置から送信されてきたデータは、特徴情報でないと判定した場合、処理はステップＳ３５に進み、制御部２９は、他の装置から送信されてきたデータが、検索リクエストによる番組情報の要求のキャンセルを指示するコマンドである検索キャンセルコマンドであるか否かを判定する。
【００９７】
ステップＳ３５において、制御部２９が、他の装置から送信されてきたデータは、検索キャンセルコマンドであると判定した場合、処理はステップＳ３６に進み、制御部２９は、リスト管理部２７を制御して、ステップＳ２１で受信部２６が受信した検索キャンセルコマンドに基づいて、番組情報の要求がキャンセルされた検索キーワードが登録されているエントリを、リスト記憶部２８の検索要求リストから削除させる。ステップＳ３６の処理後、処理はステップＳ３８に進む。
【００９８】
一方、ステップＳ３５において、制御部２９が、他の装置から送信されてきたデータは、検索キャンセルコマンドでないと判定した場合、処理はステップＳ３７に進む。
【００９９】
ここで、制御部２９が、他の装置から送信されてきたデータは、検索キャンセルコマンドでないと判定した場合、即ち、制御部２９が、他の装置から送信されてきたデータは、検索リクエスト、特徴情報、または検索キャンセルコマンドのいずれでもないと判定した場合、他の装置から送信されてきたデータは、他の装置において代理転送処理（後述する図５の処理）が行われることにより送信される代理転送リストである。
【０１００】
ステップＳ３７において、制御部２９は、リスト管理部２７を制御し、ステップＳ２１で受信部２６が受信した代理転送リストを、リスト記憶部２８に記憶させ、処理はステップＳ３８に進む。
【０１０１】
ステップＳ３８において、制御部２９は、クラスタへの参加を終了するか否かを判定する。例えば、ユーザが、図１のネットワーク１１への接続を解除するように操作部２１を操作すると、制御部２９は、クラスタへの参加を終了すると判定する。
【０１０２】
ステップＳ３８において、制御部２９が、クラスタへの参加を終了しない（クラスタに参加し続ける）と判定した場合、処理はステップＳ２１に戻り、以下、同様の処理が繰り返される。
【０１０３】
一方、ステップＳ３８において、制御部２９が、クラスタへの参加を終了すると判定した場合、処理は終了される。
【０１０４】
次に、図５は、図４のステップＳ２６における代理転送処理を説明するフローチャートである。
【０１０５】
ステップＳ４１において、リスト管理部２７は、リスト記憶部２８に記憶されている検索要求リストの各エントリを、タイムアウト時刻に従って並べたとしたときに、例えば、その並びの（ほぼ）中央に位置するエントリを選択する。
【０１０６】
ステップＳ４１の処理後、処理はステップＳ４２に進み、リスト管理部２７は、ステップＳ４１で選択したエントリのタイムアウト時刻よりも、タイムアウト時刻までの時間が短いエントリを全て選択する。そして、リスト管理部２７は、ステップＳ４２で選択したエントリからなる代理転送リストを作成し、その代理転送リストを制御部２９に供給する。また、リスト管理部２７は、代理転送リストに登録したエントリを、リスト記憶部２８の検索要求リストから削除し、処理はステップＳ４３に進む。
【０１０７】
ステップＳ４３において、制御部２９は、送信部２５を制御して、ステップＳ４２でリスト管理部２７から供給された代理転送リストを、ステップＳ４１でリスト管理部２７が選択したエントリに登録されている装置ＩＤの装置に送信させ、代理転送処理は終了する。
【０１０８】
次に、図６は、図２の情報処理装置１２が、検索リクエストを送信する処理を説明するフローチャートである。
【０１０９】
ユーザが操作部２１を操作して、例えば、出演者の名前を検索キーワードとして入力すると、処理が開始され、ステップＳ５１において、操作部２１は、検索キーワードの入力を受け付け（取得し）、その検索キーワードを制御部２９に供給し、処理はステップＳ５２に進む。
【０１１０】
ステップＳ５２において、制御部２９は、ステップＳ５１で操作部２１から供給された検索キーワードを演算処理部２４に供給する。演算処理部２４は、制御部２９から供給された検索キーワードを入力値としてハッシュ関数を演算し、その結果得られたハッシュ値を、制御部２９に供給する。
【０１１１】
ステップＳ５２の処理後、処理はステップＳ５３に進み、制御部２９は、メモリ３０に記憶されているルーティングテーブルを参照して、ステップＳ５２で演算処理部２４から供給されたハッシュ値に最も近い装置ＩＤを検索し、その装置ＩＤの装置を、検索リクエストの送信先として特定する。そして、制御部２９は、送信部２５を制御して、検索キーワードとして入力された名前の出演者が出演している番組の番組情報を要求する検索リクエストを、送信先として特定した装置に送信させる。
【０１１２】
ステップＳ５３の処理後、処理はステップＳ５４に進み、制御部２９は、ステップＳ５３で送信した検索リクエストによる番組情報の要求をキャンセルするか否かを判定する。
【０１１３】
例えば、ユーザが、検索リクエストを送信するときに入力した検索キーワードを指定して、番組情報の要求をキャンセルするように操作部２１を操作した場合、制御部２９は、ステップＳ５３で送信した検索リクエストによる番組情報の要求をキャンセルすると判定する。
【０１１４】
ステップＳ５４において、制御部２９が、番組情報の要求をキャンセルしないと判定した場合、処理はステップＳ５５に進む。
【０１１５】
ステップＳ５５において、制御部２９は、ステップＳ５３で送信した検索リクエストに対するレスポンスが送信されてきたか否かを判定する。
【０１１６】
ステップＳ５５において、制御部２９が、検索リクエストに対するレスポンスが送信されてきたと判定した場合、例えば、受信部２６が、検索リクエストに対するレスポンスを受信して制御部２９に供給した場合、処理はステップＳ５６に進む。一方、制御部２９が、レスポンスが送信されてきていないと判定した場合、処理はステップＳ５６およびＳ５７をスキップして、ステップＳ５８に進む。
【０１１７】
ステップＳ５６において、制御部２９は、受信部２６から供給されたレスポンスである番組情報に基づいて、チューナ２２および映像ケーブル３１を介して、検索を要求した番組が放送されているチャンネルを表示部３２に表示し、所望の番組が放送されていることをユーザに通知する。そして、例えば、制御部２９は、その番組を視聴するか、視聴しないか、または、その番組を図示しない録画装置に録画させるかなどを、ユーザに選択させるためのGUI（Graphical User Interface）などを表示部３２に表示し、ユーザの選択に応じた処理を行う。
【０１１８】
ステップＳ５６の処理後、処理はステップＳ５７に進み、制御部２９は、受信部２６が受信したレスポンスである番組情報を要求する検索リクエストが登録されている代理転送リストが、リスト記憶部２８に記憶されていれば、送信部２５を制御して、その代理転送リストに登録されている装置ＩＤにより特定される装置に、受信部２６が受信したレスポンスを転送させ、処理はステップＳ５８に進む。
【０１１９】
ステップＳ５８において、制御部２９は、現在の時刻が、ステップＳ５３で送信した検索リクエストに含まれていたタイムアウト時刻を経過したか否かを判定する。
【０１２０】
ステップＳ５８において、制御部２９が、現在の時刻はタイムアウト時刻を経過していないと判定した場合、処理はステップＳ５４に戻り、以下、同様の処理が繰り返される。
【０１２１】
一方、ステップＳ５４において、制御部２９が、ステップＳ５３で送信した検索リクエストによる番組情報の要求をキャンセルすると判定した場合、処理はステップＳ５９に進む。
【０１２２】
ステップＳ５９において、制御部２９は、ステップＳ５３で送信した検索リクエストに対するレスポンスを、そのレスポンスを送信する装置に代理して送信するための代理転送リストが、リスト記憶部２８に記憶されているか否かを判定する。
【０１２３】
ステップＳ５９において、制御部２９が、代理転送リストがリスト記憶部２８に記憶されていると判定した場合、処理はステップＳ６０に進み、一方、代理転送リストがリスト記憶部２８に記憶されていないと判定した場合、処理はステップＳ６０およびＳ６１をスキップして、ステップＳ６２に進む。
【０１２４】
ステップＳ６０において、制御部２９は、リスト管理部２７を制御して、リスト記憶部２８に記憶されている代理転送リストを読み出させる。そして、制御部２９は、送信部２５を制御し、リスト管理部２７から読み出した代理転送リストに登録されているタイムアウト時刻のうちの、タイムアウト時刻までの時間が最も長いタイムアウト時刻のエントリに登録されている装置ＩＤの装置に、代理転送リストを送信させる。
【０１２５】
ステップＳ６０の処理後、処理はステップＳ６１に進み、制御部２９は、送信部２５を制御して、情報処理装置１２に代理転送リストを送信してきた装置に対し、ステップＳ６０で代理転送リストを送信した装置の検索リクエスト（即ち、代理転送リストに登録されていた、その装置の装置ＩＤなどを含む検索リクエスト）を転送する。これにより、情報処理装置１２に代理転送リストを送信してきた装置では、レスポンスの送信先を、情報処理装置１２から、情報処理装置１２が代理転送リストを送信した装置（即ち、代理転送リストが転送された装置）に変更することができる。ステップＳ６１の処理後、処理はステップＳ６２に進む。
【０１２６】
ここで、情報処理装置１２に代理転送リストを送信してきた装置は、ステップＳ５３で検索リクエストを送信した装置である。即ち、ステップＳ５３で検索リクエストを送信した装置では、その検索リクエストの登録件数が所定の上限値以上となったため、その装置の検索要求リストに登録されていた情報処理装置１２に代理転送リストを送信しており、従って、リスト記憶部２８に記憶されている代理転送リストは、ステップＳ５３で検索リクエストを送信した装置から送信されてきたものである。
【０１２７】
ステップＳ６２において、ステップＳ５３で検索リクエストを送信した装置に、その検索リクエストによる番組情報の要求のキャンセルを指示するコマンドを送信し、処理は終了される。
【０１２８】
また、ステップＳ５８において、制御部２９が、現在の時刻はタイムアウト時刻を経過したと判定した場合、処理は終了される。
【０１２９】
以上のように、情報処理装置１２Ａ乃至１２Ｅが接続された情報処理システムでは、番組情報を共有することで、ある番組の番組情報を集積することが割り当てられた装置に、その番組の番組情報を要求する検索リクエストが送信され、その装置は、検索リクエストにより要求された番組情報を、検索リクエストを送信してきた装置に送信することができる。これにより、検索リクエストを送信した装置は、ユーザに、所望の番組が放送されているチャンネルを通知することができ、ユーザは、所望の番組を効率的に視聴することができる。
【０１３０】
また、例えば、１台の装置で、多数のチャンネルで放送されている番組を解析して、所望の番組が放送されているチャンネルをユーザに通知する場合においては、多数の番組から特徴量を抽出する処理を行わなければならず、装置にかかる負荷が大きくなる。また、多数のチューナを備えなければならず、コストが高くなる。これに対し、情報処理装置１２Ａ乃至１２Ｅからなる情報処理システムを構成する場合においては、１台の装置にかかる負荷は少なく、また、１台の装置は、少なくとも１つのチューナを備えるだけでよい。
【０１３１】
なお、情報処理装置１２Ａ乃至１２Ｅが接続された情報処理システムでは、番組情報の送受信をするだけでなく、例えば、番組そのものを配信するようにしてもよい。例えば、特徴情報を送信する装置は、特徴情報とともに装置ＩＤを送信し、その特徴情報に含まれる番組情報を要求した装置は、特徴情報とともに装置ＩＤを取得することができる。これにより、番組情報を要求した装置は、特徴量を抽出した装置と通信することができ、その装置に番組の配信を要求することができる。
【０１３２】
また、番組から抽出する特徴量としては、番組に出演している出演者の名前の他、例えば、番組の盛り上がりの度合いを示す指数などを用いることができる。例えば、ユーザが、スポーツの盛り上がっているシーンを要求した場合には、その装置は、スポーツの種類や、番組の盛り上がりの度合いを示す指数を含む検索リクエストを送信する。そして、そのスポーツが放送されている番組から、所定の指数以上の盛り上がりを抽出した装置があれば、その装置から送信された番組情報が、スポーツの盛り上がっているシーンを要求したユーザの装置に送信されてくる。
【０１３３】
なお、番組から特徴量を抽出する処理は、ユーザが番組の視聴を開始したときだけでなく、例えば、タイマ録画が開始されたときなど、チューナ２２が番組を受信したときに、開始することができる。
【０１３４】
また、DHTアルゴリズムにおいて用いるテーブルとしては、Chord（円状スキップリスト）やCAN（N次元トーラス）、または、その他の種類を用いることができる。
【０１３５】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１３６】
図７は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０１３７】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３は、バス１０４により相互に接続されている。
【０１３８】
バス１０４には、さらに、入出力インタフェース１０５が接続されている。入出力インタフェース１０５には、キーボード、マウス、マイクロホンなどよりなる入力部１０６、ディスプレイ、スピーカなどよりなる出力部１０７、ハードディスクや不揮発性のメモリなどよりなる記憶部１０８、ネットワークインタフェースなどよりなる通信部１０９、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア１１１を駆動するドライブ１１０が接続されている。
【０１３９】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、記憶部１０８に記憶されているプログラムを、入出力インタフェース１０５及びバス１０４を介して、RAM１０３にロードして実行することにより、上述した一連の処理が行われる。
【０１４０】
コンピュータ（CPU１０１）が実行するプログラムは、例えば、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア１１１に記録して、あるいは、ローカルエリアネットワーク、インタネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
【０１４１】
そして、プログラムは、リムーバブルメディア１１１をドライブ１１０に装着することにより、入出力インタフェース１０５を介して、記憶部１０８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１０９で受信し、記憶部１０８にインストールすることができる。その他、プログラムは、ROM１０２や記憶部１０８に、あらかじめインストールしておくことができる。
【０１４２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０１４３】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【０１４４】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０１４５】
【図１】本発明を適用した情報処理システムの一実施の形態の構成例を示す図である。
【図２】情報処理装置１２の構成例を示すブロック図である。
【図３】情報処理装置１２が、特徴情報を送信する処理を説明するフローチャートである。
【図４】情報処理装置１２が、他の装置から送信されてきたデータを受信したときの処理を説明するフローチャートである。
【図５】代理転送処理を説明するフローチャートである。
【図６】情報処理装置１２が、検索リクエストを送信する処理を説明するフローチャートである。
【図７】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０１４６】
１１  ネットワーク，  １２Ａ乃至１２Ｅ  情報処理装置，  ２１  操作部，  ２２  チューナ，  ２３  特徴量抽出部，  ２４  演算処理部，  ２５  送信部，  ２６  受信部，  ２７  リスト管理部，  ２８  リスト記憶部，  ２９  制御部，  ３０  メモリ，  ３１  映像ケーブル，  ３２  表示部
【図１】
2008288694.tif 000003
【図２】
2008288694.tif 000004
【図３】
2008288694.tif 000005
【図４】
2008288694.tif 000006
【図５】
2008288694.tif 000007
【図６】
2008288694.tif 000008
【図７】
2008288694.tif 000009