(57)【要約】【課題】一般的に嗜好度の高い番組を排除し、特定のユーザの嗜好に特化した番組を推薦する。【解決手段】番組推薦サーバ３の予約情報受信部２３０は、番組視聴端末によって送信された予約情報を受信し、予約情報ＤＢ２３５は、予約情報をユーザ毎に記憶し、コミュニティ予約情報統計部２３６は、受信された予約情報と、記憶されているユーザ毎の予約情報とに基づいて、ユーザを第１のグループにグルーピングし、全ユーザ予約情報統計部２３７は、第１のグループを包含する第２のグループにユーザをグルーピングし、推薦番組作成部２３９は、第１のグループに属するユーザの予約情報の集計結果と、第２のグループに属するユーザの予約情報の集計結果とに基づいて、第１のグループに特有の推薦情報を生成し、推薦送信部２４０は、推薦情報を番組視聴端末に送信し、番組視聴端末は、推薦情報に基づいて番組を再生する。【選択図】図４
2010259105.tif 000002
【特許請求の範囲】
【請求項１】
放送波又は通信データに含まれる番組を受信する番組受信部と、
前記番組受信部によって受信された前記番組に対するユーザの選択操作を表す前記操作情報の入力を受け付ける操作受付部と、
前記番組受信部によって受信された前記番組の前記操作受付部で受け付けた選択操作に基づいて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出部と、
前記番組位置情報抽出部によって抽出された前記選択位置情報を記憶する選択位置記憶部と、
前記選択位置記憶部に記憶されている前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信部と、
前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信部と、
前記推薦情報受信部によって受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御部とを備えることを特徴とする番組視聴端末。
【請求項２】
前記番組位置情報抽出部は、前記番組内の位置を時間軸で選択し、前記選択位置情報として、前記番組内の時間位置情報を抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御部は、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項１記載の番組視聴端末。
【請求項３】
前記番組位置情報抽出部は、前記番組の視聴画面の少なくとも一部を選択し、前記選択位置情報として、視聴画面の少なくとも一部が選択された番組内の時間位置と、選択された前記視聴画面の座標位置とを抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御部は、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項１記載の番組視聴端末。
【請求項４】
放送波又は通信データに含まれる番組を受信する番組受信部と、
前記番組受信部によって受信された前記番組に対するユーザの選択操作を表す前記操作情報の入力を受け付ける操作受付部と、
前記番組受信部によって受信された前記番組の前記操作受付部で受け付けた選択操作に基づいて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出部と、
前記番組位置情報抽出部によって抽出された前記選択位置情報を記憶する選択位置記憶部と、
前記選択位置記憶部に記憶されている前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信部と、
前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信部と、
前記推薦情報受信部によって受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御部としてコンピュータを機能させることを特徴とする番組視聴プログラム。
【請求項５】
前記番組位置情報抽出部は、前記番組内の位置を時間軸で選択し、前記選択位置情報として、前記番組内の時間位置情報を抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御部は、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項４記載の番組視聴プログラム。
【請求項６】
前記番組位置情報抽出部は、前記番組の視聴画面の少なくとも一部を選択し、前記選択位置情報として、視聴画面の少なくとも一部が選択された番組内の時間位置と、選択された前記視聴画面の座標位置とを抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御部は、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項４記載の番組視聴プログラム。
【請求項７】
番組視聴端末の番組視聴方法であって、
放送波又は通信データに含まれる番組を受信する番組受信ステップと、
前記番組受信ステップにおいて受信された前記番組に対するユーザの選択操作を受け付けて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出ステップと、
前記番組位置情報抽出ステップにおいて抽出された前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信ステップと、
前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信ステップと、
前記推薦情報受信ステップにおいて受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御ステップとを含むことを特徴とする番組視聴方法。
【請求項８】
前記番組位置情報抽出ステップは、前記番組内の位置を時間軸で選択し、前記選択位置情報として、前記番組内の時間位置情報を抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御ステップは、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項７記載の番組視聴方法。
【請求項９】
前記番組位置情報抽出ステップは、前記番組の視聴画面の少なくとも一部を選択し、前記選択位置情報として、視聴画面の少なくとも一部が選択された番組内の時間位置と、選択された前記視聴画面の座標位置とを抽出し、
前記推薦情報に含まれる前記番組内の位置情報は、番組内の時間位置情報を含み、
前記番組制御ステップは、前記推薦情報に含まれる前記番組識別情報に応じて前記番組視聴端末に記録されている番組を選択するとともに、前記推薦情報に含まれる前記時間位置情報が示す時間位置で前記選択した番組の再生及び消去の少なくとも１つを行うことを特徴とする請求項７記載の番組視聴方法。
【請求項１０】
ネットワークを介して互いに通信可能に接続され、受信した番組を視聴する番組視聴端末によって送信された前記番組に対するユーザの操作を表す操作情報を受信する操作情報受信部と、
前記操作情報受信部によって受信された前記操作情報を前記ユーザ毎に記憶する操作情報記憶部と、
前記操作情報記憶部に記憶された前記ユーザごとの前記操作情報の類似度を算出する操作情報類似度算出部と、
前記操作情報類似度算出部によって算出された前記操作情報の類似度に基づいて、前記ユーザを第１のグループにグルーピングする第１のグルーピング部と、
前記第１のグルーピング部によってグルーピングされた前記第１のグループを包含する第２のグループに前記ユーザをグルーピングする第２のグルーピング部と、
前記第１のグルーピング部によってグルーピングされた前記第１のグループに属するユーザの前記操作情報の集計結果と、前記第２のグルーピング部によってグルーピングされた前記第２のグループに属するユーザの前記操作情報の集計結果とに基づいて、前記第１のグループに特有の前記推薦情報を生成する推薦情報生成部と、
前記推薦情報生成部によって生成された前記推薦情報を前記番組視聴端末に送信する推薦情報送信部とを備えることを特徴とする番組推薦サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、番組の視聴、番組の録画、録画した番組の再生、録画した番組の消去及び番組の録画予約などのユーザ操作を蓄積し、協調フィルタリング処理に基づいてユーザに番組を推薦する番組推薦サーバに関するものである。また、本発明は、受信した番組を録画または再生する番組視聴端末、番組視聴プログラム及び番組視聴方法に関するものである。
【背景技術】
【０００２】
近年、テレビ視聴形態として従来のテレビ放送だけではなく、ケーブルテレビ放送、衛星テレビ放送、これらのデジタルテレビ放送及びＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）放送など多様化されるに従って、ユーザが選択しうるチャンネル数が激増している。よって、ユーザは、従来のようにザッピングによって自身に最適な番組を選択することが困難となっている。
【０００３】
この問題を解決するために、従来、ユーザの選択した番組情報を収集してランキングすることによって、一般的に嗜好度の高い番組を自動的に判別可能とし、これをユーザに推薦する方法が知られている。
【０００４】
しかしながら、この方法では、一般的に嗜好度の高い番組の抽出には貢献できるが、すべてのユーザが一般的な嗜好を有しているわけではない。そのため、各ユーザに個別に最適な番組を推薦することは不可能であり、結局は、ユーザ自身で自身の嗜好番組を検索するという煩雑な処理が必要となる。
【０００５】
そこで、ユーザの過去の番組選択状況を蓄積して、これをサーバ側で管理し、蓄積されているユーザ毎の番組選択状況を比較して、類似した選択状況であるユーザをグルーピングして、このグループ内の選択状況に基づいてユーザにお勧め番組を紹介する方法が開示されている（例えば、特許文献１参照）。
【０００６】
また、番組の視聴履歴情報、コンテンツ記録再生に関連する機器操作履歴情報、ユーザ属性情報を含んだユーザ情報を複数のユーザから取得、集計し、集計したユーザを複数のグルーピング方法に従いユーザ・グループに仕分け、特定のユーザ・グループにおける統計情報を作成することでユーザにお勧め番組を紹介する方法が開示されている（例えば、特許文献２参照）。
【０００７】
これらいずれの方法でも、膨大なユーザの視聴履歴情報を収集し、いわゆる協調フィルタリングによって、同一嗜好を持ったユーザをグルーピングして、グループ内でユーザに対する推薦番組を抽出することが可能となる。したがって、ユーザにとって嗜好番組を選択するという煩雑な操作を無くして、ユーザにとってメリットのあるシステムを提供することが可能である。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００１−２９８６７７号公報
【特許文献２】特開２００５−３３６００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記、いずれの方法でも、下記に示す場合には、これらの推薦する番組情報は、まったく意味を成さない。
【００１０】
まず、１点目として、数年に一度のスポーツ番組や年に一度の音楽番組など、個々のユーザの内面的な嗜好に関係なく、圧倒的に視聴される番組がある場合には、ユーザを嗜好パターンでグルーピングしたとしても、いずれのグループでもほぼ同一の推薦番組しか抽出されない。そのため、ユーザの嗜好パターンでのグルーピングそのものが意味を成さない。そもそも圧倒的に視聴され得る番組は、このような推薦番組を抽出するシステムを使用することなく、ユーザ自身で選択できることは容易に想像できるので、システムの意味が無い。
【００１１】
２点目に、例えばニュース番組などのように、番組内の特定ニュース、特定シーンのみを推薦できない点である。これによって、番組を推薦されたとしても、ユーザがその番組内のどのシーンを推薦されているのかが判断できない。結局、ユーザは、その番組を全て自身で視聴して判断する必要があり、ユーザにとって煩雑な処理が残ってしまう。
【００１２】
本発明は、上記の問題を解決するためになされたもので、一般的に嗜好度の高い番組を排除し、特定のユーザの嗜好に特化した番組を推薦することができる番組視聴端末、番組視聴プログラム、番組視聴方法及び番組推薦サーバを提供することを目的とするものである。
【課題を解決するための手段】
【００１３】
本発明の一局面に係る番組視聴端末は、放送波又は通信データに含まれる番組を受信する番組受信部と、前記番組受信部によって受信された前記番組に対するユーザの選択操作を表す前記操作情報の入力を受け付ける操作受付部と、前記番組受信部によって受信された前記番組の前記操作受付部で受け付けた選択操作に基づいて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出部と、前記番組位置情報抽出部によって抽出された前記選択位置情報を記憶する選択位置記憶部と、前記選択位置記憶部に記憶されている前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信部と、前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信部と、前記推薦情報受信部によって受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御部とを備える。
【００１４】
本発明の他の局面に係る番組視聴プログラムは、放送波又は通信データに含まれる番組を受信する番組受信部と、前記番組受信部によって受信された前記番組に対するユーザの選択操作を表す前記操作情報の入力を受け付ける操作受付部と、前記番組受信部によって受信された前記番組の前記操作受付部で受け付けた選択操作に基づいて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出部と、前記番組位置情報抽出部によって抽出された前記選択位置情報を記憶する選択位置記憶部と、前記選択位置記憶部に記憶されている前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信部と、前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信部と、前記推薦情報受信部によって受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御部としてコンピュータを機能させる。
【００１５】
本発明の他の局面に係る番組視聴方法は、番組視聴端末の番組視聴方法であって、放送波又は通信データに含まれる番組を受信する番組受信ステップと、前記番組受信ステップにおいて受信された前記番組に対するユーザの選択操作を受け付けて、前記番組内の少なくとも前記選択操作の開始位置及び終了位置を含む選択位置情報を抽出する番組位置情報抽出ステップと、前記番組位置情報抽出ステップにおいて抽出された前記番組の前記選択位置情報を、ネットワークを介して通信可能に接続され、前記ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を前記選択位置情報に応じて作成する番組推薦サーバに送信する操作情報送信ステップと、前記番組推薦サーバによって送信された前記推薦情報を受信する推薦情報受信ステップと、前記推薦情報受信ステップにおいて受信された前記推薦情報に基づいて、番組の再生及び消去の少なくとも１つを行う番組制御ステップとを含む。
【００１６】
これらの構成によれば、放送波又は通信データに含まれる番組が受信され、受信された番組に対するユーザの選択操作を表す操作情報の入力が受け付けられる。受信された番組の選択操作に基づいて、番組内の少なくとも選択操作の開始位置及び終了位置を含む選択位置情報が抽出され、抽出された選択位置情報が記憶される。そして、記憶されている前記番組の選択位置情報が、ネットワークを介して通信可能に接続され、ユーザの嗜好に合った番組に関する、番組識別情報と番組内の位置情報とを含む推薦情報を選択位置情報に応じて作成する番組推薦サーバに送信される。その後、番組推薦サーバによって送信された推薦情報が受信され、受信された推薦情報に基づいて、番組の再生及び消去の少なくとも１つが行われる。
【００１７】
したがって、ユーザの嗜好に応じた番組が番組推薦サーバにより推薦されるので、ユーザの嗜好に応じた番組の再生及び消去の少なくとも１つを行うことができる。
【００１８】
本発明の他の局面に係る番組推薦サーバは、ネットワークを介して互いに通信可能に接続され、受信した番組を視聴する番組視聴端末によって送信された前記番組に対するユーザの操作を表す操作情報を受信する操作情報受信部と、前記操作情報受信部によって受信された前記操作情報を前記ユーザ毎に記憶する操作情報記憶部と、前記操作情報記憶部に記憶された前記ユーザごとの前記操作情報の類似度を算出する操作情報類似度算出部と、前記操作情報類似度算出部によって算出された前記操作情報の類似度に基づいて、前記ユーザを第１のグループにグルーピングする第１のグルーピング部と、前記第１のグルーピング部によってグルーピングされた前記第１のグループを包含する第２のグループに前記ユーザをグルーピングする第２のグルーピング部と、前記第１のグルーピング部によってグルーピングされた前記第１のグループに属するユーザの前記操作情報の集計結果と、前記第２のグルーピング部によってグルーピングされた前記第２のグループに属するユーザの前記操作情報の集計結果とに基づいて、前記第１のグループに特有の前記推薦情報を生成する推薦情報生成部と、前記推薦情報生成部によって生成された前記推薦情報を前記番組視聴端末に送信する推薦情報送信部とを備える。
【００１９】
この構成によれば、ネットワークを介して互いに通信可能に接続され、受信した番組を視聴する番組視聴端末によって送信された番組に対するユーザの操作を表す操作情報が受信され、受信された操作情報が操作情報記憶部にユーザ毎に記憶され、記憶されたユーザごとの操作情報の類似度が算出される。そして、算出された操作情報の類似度に基づいて、ユーザが第１のグループにグルーピングされ、第１のグループを包含する第２のグループにユーザがグルーピングされる。第１のグループに属するユーザの操作情報の集計結果と、第２のグループに属するユーザの操作情報の集計結果とに基づいて、第１のグループに特有の推薦情報が生成され、生成された推薦情報が番組視聴端末に送信される。
【００２０】
したがって、第１のグループに属するユーザの操作情報の集計結果に基づいて、１のユーザと同一嗜好の他のユーザによって操作されている番組が抽出され、第１のグループを包含する第２のグループに属するユーザの操作情報の集計結果に基づいて、全体的に嗜好されている番組が抽出され、第１のグループに基づいて抽出された番組から第２のグループに基づいて抽出された番組の影響が排除されるので、一般的に嗜好度の高い番組を排除し、特定のユーザの嗜好に特化した番組を推薦することができる。
【発明の効果】
【００２１】
本発明によれば、一般的に嗜好度の高い番組を排除し、特定のユーザの嗜好に特化した番組を推薦することができる。
【００２２】
また、ユーザの嗜好に応じた番組が番組推薦サーバにより推薦されるので、ユーザの嗜好に応じた番組の再生及び消去の少なくとも１つを行うことができる。
【図面の簡単な説明】
【００２３】
【図１】第１の実施形態の推薦番組の抽出方法を表した概念図である。
【図２】第１の実施形態の番組推薦システムの全体構成を示すブロック図である。
【図３】第１の実施形態の番組視聴端末の構成を示すブロック図である。
【図４】第１の実施形態の番組推薦サーバの構成を示す図である。
【図５】第１の実施形態に係る番組視聴端末における予約情報を送信するまでの処理の流れを示すフローチャートである。
【図６】第１の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートである。
【図７】第１の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示すフローチャートである。
【図８】（Ａ）は、番組推薦サーバの予約情報ＤＢに記憶される情報のデータ構造の一例を示す図であり、（Ｂ）は、番組Ａの予約情報を持ったユーザをグルーピングした結果を示す図であり、（Ｃ）は、番組Ａを予約した全てのユーザをグルーピングしたグループ内において、番組Ａ以外の番組の予約率を示す図である。
【図９】第２の実施形態のマーキング方法とマーキングの集計方法とについて説明するためのタイミングチャートである。
【図１０】第２の実施形態のマーキング度数を示したグラフである。
【図１１】第２の実施形態の番組聴端末の構成を示すブロック図である。
【図１２】第２の実施形態の番組推薦サーバの構成を示すブロック図である。
【図１３】第２の実施形態に係る番組視聴端末におけるマーキング情報を送信するまでの処理の流れを示すフローチャートである。
【図１４】第２の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートである。
【図１５】第２の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示すフローチャートである。
【図１６】第２の実施形態のマーキング情報のデータ構造の一例を示す図である。
【図１７】第２の実施形態のマーキングＤＢのデータ構造の一例を示す図である。
【図１８】第２の実施形態のマーキング情報を時間軸で示したタイミングチャートである。
【図１９】第２の実施形態の第１の応用例のマーキングＤＢのデータ構造の一例を示す図である。
【図２０】第２の実施形態の第１の応用例のマーキング情報の集計方法を説明するための概念図である。
【図２１】第２の実施形態の第２の応用例のマーキングＤＢのデータ構造の一例を示す図である。
【図２２】第２の実施形態の第２の応用例のマーキング情報の集計方法を説明するための概念図である。
【図２３】第３の実施形態の番組推薦システムの概略構成を示す概念図である。
【図２４】第３の実施形態の番組視聴端末の構成を示すブロック図である。
【図２５】第３の実施形態の番組推薦サーバの構成を示すブロック図である。
【図２６】第３の実施形態に係る番組視聴端末におけるユーザクラスタ情報を送信するまでの処理の流れを示すフローチャートである。
【図２７】第３の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートである。
【図２８】第３の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示す第１のフローチャートである。
【図２９】第３の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示す第２のフローチャートである。
【図３０】第４の実施形態に係るコミュニティ予約情報統計部の処理の流れを示すフローチャートである。
【図３１】第４の実施形態に係る全ユーザ予約情報統計部の処理の流れを示すフローチャートである。
【図３２】第４の実施形態に係るコミュニティ特化部の処理の流れを示すフローチャートである。
【図３３】ｔｆ・ｉｄｆ値を用いた推薦番組の抽出について説明するための図である。
【図３４】番組βに対するコミュニティグループｃ１〜ｃ４に属するユーザＡ〜Ｐの予約状況を示す図である。
【発明を実施するための形態】
【００２４】
以下、本発明の一実施の形態に係る番組推薦システムについて図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定する性格のものではない。
【００２５】
（第１の実施形態）
図１は、本発明の第１の実施形態の推薦番組の抽出方法を表した概念図である。本実施形態では、説明の簡略化のためにユーザの番組操作として、録画予約操作を用いて説明する。
【００２６】
図１のグラフ１００ａは、“ドラマＡ”を予約したユーザをグルーピングした後、グルーピングしたグループＡに属する全ユーザのその他の予約を行っている番組の予約率ランキングを示したものである。すなわち、“ドラマＡ”を予約したユーザのその他の予約番組のランキングである。従って、本来であれば、“ドラマＡ”を共通に予約しているという嗜好条件の一致によって、その他のユーザの嗜好の協調フィルタリングによって、“ドラマＡ”以外のその他の予約率ランキングの上位番組をユーザに推薦番組として提供することができる。
【００２７】
しかしながら、本実施形態では、例えばワールドカップサッカーの日本戦のように、多数のユーザが、本来のユーザの趣味嗜好と関係の無い特定番組へ一時的に予約が集中している場合を示している。このような場合においては、“ドラマＡ”を予約したユーザも、その他のニュースや音楽番組に対して嗜好を持っているユーザであったとしても、一時的にこのような特定番組に予約が集中している。そのため、その番組を視聴しているユーザにも、予約した番組でグルーピングしているにもかかわらず同じ特定番組しか推薦できない事態となる。グラフ１００ａでは、推薦番組を生成するための予約率の閾値１０４を超えたワールドカップ２試合のみが推薦番組１０１として生成されてしまう。
【００２８】
よって、本実施形態では、“ドラマＡ”を予約したユーザのグループＡだけではなく、グループＡのユーザを包含する、グループＢを抽出して、このグループＢの予約率ランキングを生成する（図１のグラフ１００ｂ）。グループＢは、グループＡに属する全ユーザを全て包含するグループであればどのようなグルーピングでもかまわないが、処理の軽減のために、番組推薦システムを利用する全てのユーザがグループＢとしてグルーピングされる。
【００２９】
よって、番組推薦システムでは、“ドラマＡ”を予約したグループＡの予約率ランキング（図１のグラフ１００ａ）と、全ユーザからなるグループＢの予約率ランキング（図１のグラフ１００ｂ）とがともに生成される。そして、グループＡの予約率ランキングからグループＢの予約率ランキングが減算処理されることによって、グループＡに特化した予約率ランキングが生成される（図１のグラフ１００ｃ）。ここで、各予約率ランキングを番組の予約数ではなく、予約率としたのは、グループＡ及びグループＢで互いに所属するユーザ数が異なるため、それぞれのグループに属するユーザ数で予約数を正規化していることと同等の処理とするためである。また、グラフ１００ｃに示すように、減算後、グループＡに特化した予約率ランキングを閾値１０５によって、閾値判定して、閾値１０５を上回った番組を推薦番組１０３としてユーザに推薦する。従って、この推薦番組１０３は、グループＡに特化した推薦番組として提供可能である。
【００３０】
この減算処理を用いることによって、グループＡの各番組の予約率を、ユーザ全体が一般的に予約している番組の予約率に基づいて低下させて、一般的に視聴されている番組ではなく、グループＡに属するユーザが特に嗜好している番組を抽出することが可能となる。
【００３１】
なお、上記、グループＡが特許請求の範囲の第１のグループに相当し、グループＢが特許請求の範囲の第２のグループに相当する。
【００３２】
図２は、第１の実施形態に係る番組推薦システムの全体構成を示すブロック図である。番組推薦システムは、例えば番組録画装置などの複数の番組視聴端末２と、番組推薦サーバ３とを備える。複数の番組視聴端末２と番組推薦サーバ３とは、インターネットなどの汎用のネットワーク４を介して互いに通信可能に接続される。なお、図２に示すように、本来、番組推薦サーバ３には、複数の番組視聴端末２が接続されるが、本実施形態では、説明の簡易化のために１台の番組視聴端末２が接続されている場合について説明する。
【００３３】
番組視聴端末２は、放送波又はＩＰ網から番組を受信して、番組を視聴したり、番組を録画したり、録画した番組を再生したり、録画した番組を消去したり、番組の録画予約をしたりする。番組推薦サーバ３は、番組視聴端末２とネットワーク４を介して互いに通信可能に接続され、番組に対するユーザの操作を表す操作情報を番組視聴端末２から取得し、ユーザの嗜好に合った番組に関する推薦情報を操作情報に応じて作成する。
【００３４】
まず、本実施形態の番組推薦システムにおける番組視聴端末２の構成について説明する。図３は、第１の実施形態の番組視聴端末の構成を示すブロック図である。
【００３５】
番組視聴端末２は、アンテナ２０１、チューナ２０２、ＴＳ（トランスポート・ストリーム）デコーダ２０３、ＣＡＳ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ）２０４、暗号解除部２０５、デマルチプレクサ２０６、ＭＰＥＧ  Ｖｉｄｅｏデコーダ２０７、ＭＰＥＧ  Ａｕｄｉｏデコーダ２０８、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子２０９、記録用暗号化部２１３、記録制御部２１４、記録媒体２１５、再生制御部２１６、記録用復号化部２１７、ＰＳＩ（Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ）抽出部２１８、ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）記憶部２１９、キー２２０、予約管理部２２１、予約メモリ２２２、ユーザ識別部２２３、ユーザ情報ＤＢ（データベース）２２４、予約情報送信部２２５、推薦受信部２２６、推薦番組情報抽出部２２７、番組予約判定部２２８及び推薦番組抽出部２２９から構成される。
【００３６】
チューナ２０２は、例えば地上波デジタル放送やＢＳデジタル放送などの放送波から所定チャンネルの放送波を受信して、放送波をＴＳデコーダ２０３に出力する。ＴＳデコーダ２０３は、受信した一般的なトランスポート・ストリーム形式の放送波を復調して暗号解除部２０５に出力する。
【００３７】
ＣＡＳ２０４は、一般的なＣｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍであり、ユーザの登録情報及び番組の暗号鍵の記録されたＩＣカードから暗号鍵情報を読み出し、暗号解除部２０５に出力する。
【００３８】
暗号解除部２０５は、ＴＳデコーダ２０３によって復調された、暗号化された放送信号を、ＣＡＳ２０４からの暗号鍵をもとに復号化し、暗号化された番組情報の暗号を解除してデマルチプレクサ２０６に出力する。
【００３９】
デマルチプレクサ２０６は、番組情報として多重化されている情報を分離する。番組情報には、少なくともビデオ情報、オーディオ情報及び番組管理情報が多重化され、これらを分離後、ビデオ情報をＭＰＥＧ  Ｖｉｄｅｏデコーダ２０７へ、オーディオ情報をＭＰＥＧ  Ａｕｄｉｏデコーダ２０８へ、番組管理情報をＰＳＩ抽出部２１８へ出力する。
【００４０】
ＭＰＥＧ  Ｖｉｄｅｏデコーダ２０７は、デマルチプレクサ２０６からのビデオ情報を復調して映像データに変換し、ＨＤＭＩ端子２０９に出力する。ＭＰＥＧ  Ａｕｄｉｏデコーダ２０８は、デマルチプレクサ２０６から入力されたオーディオ情報を復調してオーディオデータに変換し、ＨＤＭＩ端子２０９に出力する。ＨＤＭＩ端子２０９は、ＨＤＭＩケーブルを介して外部のＨＤＭＩ端子２１０と接続されており、ＨＤＭＩ端子２１０は、モニタ２１１及びスピーカ２１２と接続されている。
【００４１】
ＨＤＭＩ端子２０９，２１０は、一般的な映像情報用及び音声情報用のインタフェースであり、番組視聴端末２とモニタ２１１及びスピーカ２１２とを互いに相互認証するとともに、暗号鍵の共通化を行い、共通化した暗号鍵で、映像データや音声データを暗号化して、モニタ２１１やスピーカ２１２に出力する。
【００４２】
モニタ２１１は、一般的な番組の映像情報の表示装置であって、ＨＤＭＩ端子２１０で受信した暗号化された映像データを復号して番組の映像データを出力する。スピーカ２１２は、一般的な番組の音声情報の出力装置であって、ＨＤＭＩ端子２１０で受信した暗号化された音声データを復号して番組の音声データを出力する。
【００４３】
記録用暗号化部２１３は、受信した番組情報を記録媒体に記録するための暗号処理を施す。記録用暗号化部２１３は、デマルチプレクサ２０６から入力された番組情報を暗号化して記録制御部２１４に出力する。従って、記録用暗号化部２１３は、番組情報を記録する記録媒体に特有の暗号化処理を行う。例えば、ＤＶＤ−ＲＡＭではＣＰＲＭ（Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ  ｆｏｒ  Ｒｅｗｒｉｔａｂｌｅ  Ｍｅｄｉａ）、Ｂｌｕ−ｒａｙディスクやＨＤ−ＤＶＤでは、ＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）が用いられる。
【００４４】
記録制御部２１４は、記録用暗号化部２１３によって暗号化された番組情報の記録媒体への記録を制御する。記録制御部２１４は、記録媒体特有の変調処理や誤り訂正符号化処理を行うことによって記録媒体に番組情報を記録する。
【００４５】
記録媒体２１５は、番組情報を記録するコンピュータ読み取り可能な記録媒体であって、例えば、ハードディスクのような磁気記録ディスクやＤＶＤ、Ｂｌｕ−ｒａｙディスクなどの光ディスク、ＳＤカードのような半導体メモリ、及びＭＯ／ＭＤのような光磁気記録媒体が用いられる。なお、記録媒体２１５には、番組視聴プログラムが記録されており、番組視聴プログラムがＣＰＵ（中央演算処理装置）等によって読み出されて実行される。
【００４６】
再生制御部２１６は、記録媒体２１５に記録されている番組情報を読み出す。なお、記録制御部２１４、記録媒体２１５及び再生制御部２１６は、ドライブシステムとして構成されるのが一般的である。
【００４７】
記録用復号化部２１７は、記録用暗号化部２１３の暗号化に対応する復号を行う。記録用復号化部２１７は、暗号化して記録媒体２１５に記録された番組情報を復号化してＴＳデコーダ２０３に出力する。なお、ＴＳデコーダ２０３に出力された番組情報の再生処理は、上述のアンテナ２０１で受信した番組の再生処理と同様である。
【００４８】
ＰＳＩ抽出部２１８は、デマルチプレクサ２０６で抽出した番組管理情報からＰＳＩ（Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ）を抽出する。ＰＳＩの中には、主に、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＥＩＴ（Ｅｖｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）及びＴＯＴ（Ｔｉｍｅ  Ｏｆｆｓｅｔ  Ｔａｂｌｅ）などの情報が含まれる。
【００４９】
ＰＭＴは、番組に含まれる画像や音声などの各パケット識別情報を格納している。よって、ＰＭＴから画像や音声などのパケット識別情報を得ることが出来れば、それらパケット識別情報のついたパケットを抽出することで番組を再生できる。
【００５０】
ＥＩＴは、番組の名称、放送日時及び放送内容などの番組に関連する情報が含まれる。ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）は主にこの情報を用いて作成される。
【００５１】
ＥＰＧ記憶部２１９は、ＰＳＩ抽出部２１８で抽出したＰＳＩ中のＥＩＴを用いてＥＰＧ情報を作成して、記憶する。キー２２０は、ユーザからの入力を受け付け、リモコンやフロントパネルで構成される。
【００５２】
予約管理部２２１は、キー２２０で入力されるコマンドに従って録画予約する番組を受け付け、予約番組情報を作成する。予約番組情報には、番組を識別するための番組識別情報が含まれる。予約番組情報は、ＥＰＧ記憶部２１９に記憶したＥＰＧ情報を用いて作成される。予約メモリ２２２は、予約管理部２２１によって作成された予約番組情報を蓄積するメモリで構成される。なお、予約番組情報は、番組識別情報ではなく、番組の放送日時、チャンネル情報及び放送局識別情報を含んでもよい。すなわち、番組の放送日時、チャンネル情報及び放送局識別情報により、番組を識別することが可能となる。
【００５３】
ユーザ識別部２２３は、番組視聴端末２を使用するユーザを識別する。ユーザ識別部２２３は、キー２２０を用いて入力されるユーザ情報に基づいて、番組視聴端末２を使用するユーザを識別する。
【００５４】
ユーザ情報ＤＢ２２４は、番組視聴端末２を使用する全ユーザのユーザ情報が登録されているデータベースである。ユーザ識別部２２３は、キー２２０を用いて入力されるユーザ情報と、ユーザ情報ＤＢ２２４に予め記憶されているユーザ情報とに基づいてユーザを識別する。また、ユーザ識別部２２３は、ユーザの認証に成功すると現在使用中のユーザのユーザ情報を予約情報送信部２２５に出力する。
【００５５】
予約情報送信部２２５は、一般的なネットワークインタフェースであり、汎用のネットワーク４を介して接続される番組推薦サーバ３とのネットワークを確立した後、予約メモリ２２２に記憶した予約番組情報とユーザ識別部２２３から入力されたユーザ情報とを含む予約情報を番組推薦サーバ３に送信する。
【００５６】
なお、予約メモリ２２２は、ユーザ識別部２２３と連動して予約したユーザを対応付けて記憶するとともに、予約情報送信部２２５によって番組推薦サーバ３に送信済みの予約番組情報と未送信の予約番組情報とを識別可能に管理する。
【００５７】
推薦受信部２２６は、汎用のネットワーク４を介して、番組推薦サーバ３の推薦する番組に関する推薦情報を受信する。推薦番組情報抽出部２２７は、推薦受信部２２６によって受信された推薦情報から、推薦番組情報を抽出する。推薦番組情報は、推薦する番組を一意に識別できる情報であり、例えば、番組を識別するための番組識別情報、又は番組の放送日時、チャンネル情報及び放送局を識別するための放送局識別情報を含む。抽出した推薦番組情報は、番組予約判定部２２８に出力される。
【００５８】
なお、推薦情報は、推薦番組情報と人気番組情報とを含む。推薦番組情報は、番組視聴端末２を使用するユーザの嗜好に特化した番組を表す情報であり、人気番組情報は、全てのユーザに人気のある番組を表す情報である。
【００５９】
番組予約判定部２２８は、推薦番組情報で示された推薦番組が、過去に放送された番組であるか否かを判定する。すなわち、番組予約判定部２２８は、推薦番組の放送日時が現在の日時よりも前である場合、過去に放送された番組であると判定する。推薦番組が過去に放送された番組ではないと判定された場合、番組予約判定部２２８は、予約メモリ２２２に記憶している予約番組情報と、推薦番組情報抽出部２２７から入力された推薦番組情報とに基づいて、該当する番組が既に予約されているかどうかを判定する。
【００６０】
予約されていないと判定された場合、番組予約判定部２２８は、推薦番組情報を予約管理部２２１に出力して、推薦番組情報に該当する予約処理を行う。予約されていると判定された場合、番組予約判定部２２８は、推薦番組が既に予約されている旨をユーザに通知し、処理を終了する。また、番組予約判定部２２８は、推薦番組情報で示された推薦番組が、過去に放送された番組であると判定された場合、推薦番組抽出部２２９に推薦番組情報を出力する。
【００６１】
推薦番組抽出部２２９は、推薦番組情報で指定された番組が、記録媒体２１５に記録されているかどうかを判定する。記録されていない場合、推薦番組抽出部２２９は、推薦番組が記録されていない旨をユーザに通知し、処理を終了する。記録されていると判定された場合、推薦番組抽出部２２９は、推薦番組が存在することをユーザに通知し、ユーザからの再生を促す。キー２２０を用いてユーザが再生を選択した場合、再生制御部２１６は、推薦番組情報に示された番組情報を記録媒体２１５から呼び出して、番組の再生を行う。
【００６２】
なお、推薦番組抽出部２２９は、推薦番組情報で指定された番組が、記録媒体２１５に記録されているかどうかを、番組推薦サーバ３からの推薦番組情報に含まれる推薦番組の番組識別情報、又は推薦番組の放送日時、チャンネル情報及び放送局識別情報を基に判定する。
【００６３】
次に、本実施形態の番組推薦システムにおける番組推薦サーバ３の構成について説明する。図４は、第１の実施形態の番組推薦サーバの構成を示す図である。
【００６４】
番組推薦サーバ３は、予約情報受信部２３０、ユーザ管理部２３１、ユーザ属性ＤＢ（データベース）２３２、予約情報登録部２３４、予約情報ＤＢ（データベース）２３５、特化生成部３０、推薦番組作成部２３９及び推薦送信部２４０から構成される。また、番組推薦サーバ３の特化生成部３０は、コミュニティ予約情報統計部２３６、全ユーザ予約情報統計部２３７及びコミュニティ特化部２３８で構成される。
【００６５】
予約情報受信部２３０は、汎用のネットワーク４に接続された複数の番組視聴端末２の予約情報送信部２２５から、各ユーザによって予約された番組の予約番組情報と、予約を行ったユーザを識別するためのユーザ情報とを含む予約情報を受信する。なお、予約番組情報は、予約を行った番組を一意に識別可能な番組識別情報、又は予約された番組の番組放送日時、チャンネル情報及び放送局識別情報を含む。受信した予約情報は、ユーザ管理部２３１に出力される。
【００６６】
ユーザ属性ＤＢ２３２は、登録ユーザのユーザ情報と、必要であれば、ユーザ氏名、性別、住所／電話番号、番組視聴端末のメーカ／機種、接続するモニタの解像度および番組視聴端末のネットワークＩＤなどのユーザ属性情報とをユーザ登録リストとして管理する。ユーザは、予め番組推薦サーバ３に、番組推薦を行うためのユーザ登録処理を行う。ユーザ登録処理には、ユーザ名の設定、住所／電話番号の通知などユーザ登録情報の通知を行った後、番組推薦サーバ３側で、該ユーザにユーザ情報を生成して通知し、ユーザ属性ＤＢ２３２で生成したユーザ情報に対応付けて、ユーザから通知されたユーザ属性情報を記憶／管理する。
【００６７】
ユーザ管理部２３１は、受信したユーザ情報により特定されるユーザが、番組推薦サーバ３の登録ユーザであるか否かを判定する。ユーザ管理部２３１は、ユーザ属性ＤＢ２３２に記憶されているユーザ登録リストの中から、受信したユーザ情報に一致するユーザ情報を検索する。受信したユーザ情報がユーザ属性ＤＢ２３２に登録されていると判断された場合、番組推薦サーバ３の登録ユーザであると判断して、処理を継続する。
【００６８】
一方、受信したユーザ情報がユーザ属性ＤＢ２３２に登録されていないと判断された場合、番組推薦サーバ３への未登録ユーザであるとして、当該ユーザの使用する番組視聴端末２に登録ユーザでない旨のエラーメッセージを送信して以後の処理を中断する。エラーメッセージを受信した番組視聴端末２は、当該エラーメッセージをモニタ２１１に表示する。
【００６９】
予約情報登録部２３４は、ユーザ管理部２３１によってユーザが番組推薦サーバ３の登録ユーザであると判定された場合、予約情報受信部２３０によって受信されたユーザ毎の予約番組情報を、受信したユーザ情報に対応付けて、予約情報ＤＢ２３５に記憶する。予約情報ＤＢ２３５は、番組視聴端末２によって送信された予約番組情報をユーザ情報に対応付けて記憶するデータベースである。
【００７０】
コミュニティ予約情報統計部２３６は、予約情報受信部２３０によって受信された予約番組情報に基づいて、当該予約番組情報と同じ予約番組情報を持った全ユーザをコミュニティグループとしてグループ化する。また、コミュニティ予約情報統計部２３６は、当該コミュニティグループに属する全ユーザの当該予約番組情報以外の予約番組情報を番組毎に集計してランキングを生成するとともに、コミュニティグループに所属する全ユーザ数でランキングを正規化し、コミュニティグループ内の各番組の予約率ランキングを算出する。コミュニティ予約情報統計部２３６は、正規化したランキング（予約率ランキング）をコミュニティ特化部２３８に出力する。
【００７１】
全ユーザ予約情報統計部２３７は、予約情報受信部２３０によって受信された予約番組情報を持った全ユーザをコミュニティグループとしてグループ化するコミュニティ予約情報統計部２３６とは異なり、ユーザ属性ＤＢ２３２に登録されている全ユーザ、すなわち番組推薦サーバ３の全登録ユーザを、コミュニティグループを包含する全ユーザグループとしてグルーピングする。また、全ユーザ予約情報統計部２３７は、全ユーザのグルーピング後、全ユーザの予約番組情報を統計処理して、番組毎の予約率ランキングを作成する。すなわち、全ユーザ予約情報統計部２３７は、全登録ユーザの予約番組情報を番組毎に集計してランキングを生成するとともに、全登録ユーザ数でランキングを正規化し、全登録ユーザで形成されるグループ内の各番組の予約率ランキングを算出する。作成した予約率ランキングは、コミュニティ特化部２３８と推薦番組作成部２３９とに出力される。
【００７２】
コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって算出された予約率ランキングから、全ユーザ予約情報統計部２３７によって算出された予約率ランキングを減算することによって、コミュニティ予約情報統計部２３６でグルーピングしたコミュニティグループに特化した予約率ランキングを作成して、推薦番組作成部２３９に出力する。なお、ランキングの減算は、番組毎の予約率を、同一番組ごとに減算する。
【００７３】
推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された予約率ランキングを基に、予め設定された閾値よりも予約率の高い番組を推薦番組として抽出し、当該推薦番組を識別するための番組識別情報、又は当該推薦番組の放送日時、当該推薦番組が放送されるチャンネル情報及び当該推薦番組が放送される放送局を識別するための放送局識別情報を含む推薦番組情報を作成する。これによって、推薦番組作成部２３９は、コミュニティグループに特化した推薦番組情報を作成する。
【００７４】
なお、本実施形態では、予め設定された閾値よりも予約率の高い番組を推薦番組として抽出しているが、本発明は特にこれに限定されず、コミュニティ特化部２３８によって生成された予約率ランキングの上位所定数の番組を推薦番組として抽出してもよい。
【００７５】
また、推薦番組作成部２３９は、全ユーザ予約情報統計部２３７によって生成された予約率ランキングを基に、予め設定された閾値よりも予約率の高い番組を人気番組として抽出し、当該人気番組を識別するための番組識別情報、又は当該人気番組の放送日時、当該人気番組が放送されるチャンネル情報及び当該人気番組が放送される放送局を識別するための放送局識別情報を含む人気番組情報を作成する。
【００７６】
なお、本実施形態では、予め設定された閾値よりも予約率の高い番組を人気番組として抽出しているが、本発明は特にこれに限定されず、全ユーザ予約情報統計部２３７によって生成された予約率ランキングの上位所定数の番組を人気番組として抽出してもよい。
【００７７】
推薦送信部２４０は、推薦番組作成部２３９によって作成された推薦番組情報と人気番組情報とを含む推薦情報を番組視聴端末２に送信する。
【００７８】
番組推薦サーバ３は、コンピュータ読み取り可能な記録媒体からプログラム及びデータを読み出す再生制御部（不図示）を備えている。記録媒体としては、例えば、ハードディスクのような磁気記録ディスクやＤＶＤ、Ｂｌｕ−ｒａｙディスクなどの光ディスク、ＳＤカードのような半導体メモリ、及びＭＯ／ＭＤのような光磁気記録媒体が用いられる。この記録媒体には、番組推薦プログラムが記録されており、番組推薦プログラムがＣＰＵ（中央演算処理装置）等によって読み出されて実行される。
【００７９】
以下、本実施形態における番組推薦システムの動作について説明する。例えば、ユーザＡが、ユーザＡの所有する番組視聴端末２によって、番組Ａを予約する。番組視聴端末２は、ユーザＡを識別するためのユーザ情報と、番組Ａを特定するための予約番組情報を番組推薦サーバ３に送信する。番組推薦サーバ３の予約情報受信部２３０は、ユーザＡの所有する番組視聴端末２から、ユーザＡを識別するためのユーザ情報と番組Ａを特定するための予約番組情報とを受信する。ユーザ管理部２３１は、受信したユーザ情報がユーザ属性ＤＢ２３２に記憶されているか否かを判定し、記憶されていれば、ユーザＡが番組推薦サーバ３の登録ユーザであるとして、処理を継続する。
【００８０】
予約情報登録部２３４は、ユーザＡを識別するためのユーザ情報に対応付けて、番組Ａを特定するための予約番組情報を予約情報ＤＢ２３５に登録する。コミュニティ予約情報統計部２３６は、番組Ａを特定するための予約番組情報が対応付けられている全ユーザを予約情報ＤＢ２３５から抽出してコミュニティグループを形成する。コミュニティ予約情報統計部２３６は、コミュニティグループ内における番組Ａ以外の番組を統計的に処理する。そして、コミュニティ予約情報統計部２３６は、コミュニティグループ内において番組Ａ以外の番組の予約率を算出して、予約率の高い順に番組を並べた予約率ランキングを生成し、生成した予約率ランキングをコミュニティ特化部２３８に出力する。
【００８１】
全ユーザ予約情報統計部２３７は、番組推薦サーバ３のユーザ属性ＤＢ２３２に登録されている全ユーザを予約情報ＤＢ２３５から抽出してコミュニティ予約情報統計部２３６で形成したコミュニティグループを包含する全ユーザグループを形成する。全ユーザ予約情報統計部２３７は、全ユーザグループ内のユーザ情報に対応付けられている予約番組情報を、予約情報ＤＢ２３５から抽出して、番組Ａ以外の番組を統計処理する。そして、全ユーザ予約情報統計部２３７は、全ユーザグループ内において番組Ａ以外の番組の予約率を算出して、予約率の高い順に番組を並べた予約率ランキングを生成し、生成した予約率ランキングをコミュニティ特化部２３８と推薦番組作成部２３９とに出力する。
【００８２】
コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって作成された番組の予約率ランキングから、全ユーザ予約情報統計部２３７によって作成された番組の予約率ランキングを減算する。これにより、コミュニティ特化部２３８は、番組Ａを予約したユーザのコミュニティグループに特化した番組の予約率ランキングを作成して推薦番組作成部２３９に出力する。
【００８３】
推薦番組作成部２３９は、コミュニティ特化部２３８によって作成された、コミュニティグループに特化した予約率ランキングに基づき、閾値よりも予約率の高い番組の予約番組情報又はランキング上位の予約番組情報を抽出して推薦番組情報を作成する。また、推薦番組作成部２３９は、全ユーザ予約情報統計部２３７によって作成された、全登録ユーザの一般化された予約率ランキングに基づき、閾値よりも予約率の高い番組の予約番組情報又はランキング上位の予約番組情報を抽出して人気番組情報を作成する。推薦送信部２４０は、推薦番組作成部２３９によって作成された推薦番組情報及び人気番組情報をユーザＡの番組視聴端末２に出力する。
【００８４】
次に、番組推薦システムの処理の流れについてさらに説明する。図５〜７は、第１の実施形態に係る番組推薦システムの処理の流れを示したフローチャートであり、図５は、第１の実施形態に係る番組視聴端末における予約情報を送信するまでの処理の流れを示すフローチャートであり、図６は、第１の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートであり、図７は、第１の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示すフローチャートである。
【００８５】
図５において、まず、キー２２０は、ユーザによるユーザ情報の入力を受け付け、番組視聴端末２へのログインを受け付ける（ステップＳ１）。次に、ユーザ識別部２２３は、ユーザ認証が成功したか否か、すなわち、入力されたユーザ情報がユーザ情報ＤＢ２２４に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ２）。ここで、入力されたユーザ情報が誤っており、登録ユーザでないと判断された場合（ステップＳ２でＮＯ）、ユーザ識別部２２３は、エラー通知をモニタ２１１に出力して処理を終了する（ステップＳ３）。
【００８６】
一方、入力されたユーザ情報に誤りがなく、登録ユーザであると判断された場合（ステップＳ２でＹＥＳ）、チューナ２０２は、アンテナ２０１から放送波を受信する（ステップＳ４）。
【００８７】
次に、ＴＳデコーダ２０３は、チューナ２０２によって受信された放送波を復調する。次に、暗号解除部２０５は、ＣＡＳ２０４からの復号鍵を利用して、放送波に含まれる番組情報の暗号化を解除する。次に、デマルチプレクサ２０６は、多重化されている番組情報を、ビデオ信号、オーディオ信号および番組制御信号に分離する。次に、ＰＳＩ抽出部２１８は、分離された番組制御信号に含まれるＰＳＩを抽出する（ステップＳ５）。
【００８８】
次に、ＰＳＩ抽出部２１８は、抽出したＰＳＩを基に、受信可能な全チャンネルのＥＰＧを作成し、ＥＰＧ記憶部２１９に記憶する（ステップＳ６）。次に、ＰＳＩ抽出部２１８は、モニタ２１１に作成したＥＰＧをユーザから個々の番組を選択可能に表示する（ステップＳ７）。
【００８９】
次に、予約管理部２２１は、ユーザからの予約操作が有ったか否かを判断する（ステップＳ８）。予約管理部２２１は、番組を選択可能に表示したＥＰＧから、ユーザによる予約操作を受け付ける。ここで、ユーザによる予約操作がないと判断された場合（ステップＳ８でＮＯ）、予約管理部２２１は、ユーザによる予約操作が行われるまで待機する。
【００９０】
一方、ユーザからの予約操作があると判断された場合（ステップＳ８でＹＥＳ）、予約管理部２２１は、予約操作の対象となった番組に対応した番組識別情報、又は番組放送日時、チャンネル情報及び放送局識別情報をＥＰＧから抽出し、予約メモリ２２２に予約番組情報として記憶する。これにより、予約管理部２２１は、番組の予約の設定を行う（ステップＳ９）。以後、本実施形態では、ステップＳ９において予約の設定を行った番組を番組Ａとして説明する。
【００９１】
ステップＳ９において番組Ａの予約の設定が完了すると、予約情報送信部２２５は、番組Ａに対応した予約番組情報Ａと、番組Ａの予約を行ったユーザを識別するためのユーザ情報とを予約情報として番組推薦サーバ３に送信する（ステップＳ１０）。
【００９２】
図６において、次に、番組推薦サーバ３の予約情報受信部２３０は、番組視聴端末２によって送信された予約情報を受信する（ステップＳ１１）。次に、ユーザ管理部２３１は、ユーザ認証が成功したか否か、すなわち、受信した予約情報に含まれるユーザ情報が番組推薦サーバ３のユーザ属性ＤＢ２３２に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ１２）。ここで、ユーザ認証に失敗し、登録ユーザでないと判断された場合（ステップＳ１２でＮＯ）、ユーザ管理部２３１は、その旨を示すエラーメッセージを作成して、番組視聴端末２にエラーメッセージを送信し、処理を終了する（ステップＳ１３）。なお、エラーメッセージを受信した番組視聴端末２は、ユーザ認証に失敗した旨を表すエラー通知をモニタ２１１へ出力する。
【００９３】
一方、ユーザ認証に成功し、登録ユーザであると判断された場合（ステップＳ１２でＹＥＳ）、予約情報登録部２３４は、予約情報受信部２３０によって受信されたユーザ情報に対応付けて、予約番組情報Ａを予約情報ＤＢ２３５に登録する（ステップＳ１４）。
【００９４】
次に、予約情報登録部２３４は、予約情報ＤＢ２３５に記憶された全登録ユーザの予約番組情報を基に、番組Ａの予約番組情報Ａを有する全ユーザを抽出し、コミュニティグループとしてグルーピングする（ステップＳ１５）。
【００９５】
次に、コミュニティ予約情報統計部２３６は、グルーピングされたコミュニティグループのユーザのユーザ情報に対応付けられている番組Ａ以外の番組の予約番組情報を集計して、番組毎の予約数のランキングを生成する（ステップＳ１６）。
【００９６】
次に、コミュニティ予約情報統計部２３６は、集計された番組毎の予約数を、グルーピングされたユーザ数によって正規化して、番組毎の予約率を生成して、予約率の高い番組から順に並べた予約率ランキングを生成する（ステップＳ１７）。
【００９７】
次に、全ユーザ予約情報統計部２３７は、ユーザ属性ＤＢ２３２に登録されているユーザ、すなわち番組推薦サーバ３の全登録ユーザを抽出し、全ユーザグループとしてグルーピングする（ステップＳ１８）。なお、ステップＳ１８において作成される全ユーザグループは、全ての登録ユーザで構成されるので、ステップＳ１５において作成された番組Ａの予約番組情報を持ったユーザのグループを包含したグループとなる。
【００９８】
次に、全ユーザ予約情報統計部２３７は、グルーピングされた全ユーザグループにおいて、番組Ａ以外の番組の全ユーザの予約番組情報を集計して、番組毎の予約数のランキングを生成する（ステップＳ１９）。
【００９９】
次に、全ユーザ予約情報統計部２３７は、集計された番組毎の予約数を、グルーピングされたユーザ数、すなわち番組推薦サーバ３に登録されている全ユーザ数で正規化して、番組毎の予約率を生成して、予約率の高い番組から順に並べた予約率ランキングを生成する（ステップＳ２０）。
【０１００】
次に、コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって生成された番組Ａを予約したユーザの番組Ａ以外の番組の予約率ランキングから、全ユーザ予約情報統計部２３７によって生成された全ユーザの番組Ａ以外の番組の予約率ランキングを、番組ごとに減算することによって、番組Ａを予約したユーザに特化した予約率ランキングを生成する。そして、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された予約率ランキングの中から、予め定められた閾値よりも予約率の高い番組を抽出して推薦番組情報を作成する（ステップＳ２１）。なお、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された予約率ランキングのうちの上位の番組から所定数の番組を抽出して推薦番組情報を作成してもよい。
【０１０１】
次に、推薦番組作成部２３９は、全ユーザ予約情報統計部２３７によって生成された全ユーザの予約率ランキングの中から、予め定められた閾値よりも予約率の高い番組を抽出して人気番組情報を作成する（ステップＳ２２）。なお、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された予約率ランキングのうちの上位の番組から所定数の番組を抽出して人気番組情報を作成してもよい。
【０１０２】
次に、推薦送信部２４０は、推薦番組作成部２３９によって作成された推薦番組情報及び人気番組情報を含む推薦情報を番組視聴端末２に送信する（ステップＳ２３）。
【０１０３】
図７において、次に、番組視聴端末２の推薦受信部２２６は、番組推薦サーバ３の推薦送信部２４０によって送信された推薦番組情報及び人気番組情報を含む推薦情報を受信する（ステップＳ３１）。
【０１０４】
次に、推薦番組情報抽出部２２７は、推薦受信部２２６によって受信された推薦情報から推薦番組情報が抽出されたか否かを判断する（ステップＳ３２）。推薦番組情報抽出部２２７は、ユーザに推薦番組情報及び人気番組情報のうちのいずれかの選択を促す。キー２２０を用いて、推薦番組情報が選択された場合には推薦番組情報を抽出し、人気番組情報が選択された場合には人気番組情報を抽出する。なお、推薦番組情報及び人気番組情報の両方を抽出する設定を設けてもかまわない。これによって、ユーザに対してより多くの選択肢を提供することができる。
【０１０５】
推薦番組情報が抽出されたと判断された場合（ステップＳ３２でＹＥＳ）、番組予約判定部２２８は、推薦番組情報抽出部２２７によって抽出された推薦番組情報に含まれる番組識別情報、又は番組放送日時、チャンネル情報及び放送局識別情報を利用して、番組視聴端末２によって既に予約が完了しているか否かを判断する（ステップＳ３３）。例えば、番組予約判定部２２８は、推薦番組情報に含まれる番組識別情報と、予約メモリ２２２に記憶されている予約番組情報に含まれる番組識別情報とが一致するか否かを判断する。
【０１０６】
推薦番組の予約が完了していないと判断された場合（ステップＳ３３でＮＯ）、予約管理部２２１は、推薦番組の予約設定を行う（ステップＳ３４）。推薦番組の予約設定が完了した後、又は推薦番組の予約設定が予め完了していた場合（ステップＳ３３でＹＥＳ）、番組予約判定部２２８は、推薦情報に含まれる全ての推薦番組情報について予約設定が完了しているか否かを判断する（ステップＳ３５）。
【０１０７】
全ての推薦番組情報の予約が完了していないと判断された場合（ステップＳ３５でＮＯ）、ステップＳ３３の処理へ戻り、残りの推薦番組情報における予約設定処理を繰り返し実行する。全ての推薦番組情報の予約が完了したと判断された場合（ステップＳ３５でＹＥＳ）、処理を終了する。
【０１０８】
一方、推薦番組情報が抽出されていないと判断された場合、すなわち、人気番組情報が抽出されたと判断された場合（ステップＳ３２でＮＯ）、番組予約判定部２２８は、推薦番組情報抽出部２２７によって抽出された人気番組情報に含まれる番組識別情報、又は番組放送日時、チャンネル情報及び放送局識別情報を利用して、番組視聴端末２によって、既に予約が完了しているか否かを判断する（ステップＳ３６）。例えば、番組予約判定部２２８は、人気番組情報に含まれる番組識別情報と、予約メモリ２２２に記憶されている予約番組情報に含まれる番組識別情報とが一致するか否かを判断する。
【０１０９】
人気番組の予約が完了していないと判断された場合（ステップＳ３６でＮＯ）、予約管理部２２１は、人気番組の予約設定を行う（ステップＳ３７）。人気番組の予約設定が完了した後、又は人気番組の予約設定が予め完了していた場合（ステップＳ３６でＹＥＳ）、番組予約判定部２２８は、推薦情報に含まれる全ての人気番組情報について予約設定が完了しているか否かを判断する（ステップＳ３８）。
【０１１０】
全ての人気番組情報の予約が完了していないと判断された場合（ステップＳ３８でＮＯ）、ステップＳ３６の処理へ戻り、残りの人気番組情報における予約設定処理を繰り返し実行する。全ての人気番組情報の予約が完了したと判断された場合（ステップＳ３８でＹＥＳ）、処理を終了する。
【０１１１】
なお、本実施形態では、番組推薦サーバ３によって送信された推薦番組を全て予約しているがこれに限定されない。推薦番組が既に放送された後であると判断された場合には、番組視聴端末２の推薦番組抽出部２２９は、推薦番組が記録媒体２１５に記録済みか否かを判定する。記録済みである場合、推薦番組抽出部２２９は、ユーザに再生を促すメッセージをモニタ２１１に出力すればよい。近年のデジタルレコーダは、ＥＰＧのキーワード検索により自動的に番組を録画するものや、２４時間全チャンネルを録画し続けているものまで存在する。よって、ユーザが意図的に予約設定を行わなかったり、録画を行わなかったりしても、推薦番組が録画されていることは容易に考えられるので、これによってユーザに視聴を見逃した番組の再生を促すシステムを同様のシステムで提供しうる。
【０１１２】
また、ユーザが視聴済みである番組については、番組の視聴を促す必要はないので、記録媒体２１５に記録されている番組に視聴か未視聴かを示すフラグを設け、推薦番組が視聴済みである場合には、番組の再生を促す処理を実施しないようにしてもよい。
【０１１３】
また、本実施形態では、ユーザ操作として番組の録画予約操作を用いて説明したが、本発明はこれに限られない。ユーザ操作は、ユーザが番組に対する嗜好に関する動作であればどんな操作でもかまわない。例えば、ユーザ操作は、番組の再生操作、録画操作及び消去操作などでもかまわない。
【０１１４】
ユーザ操作が番組の再生操作である場合、番組視聴端末２は、再生した番組の識別情報を番組推薦サーバ３に送信する。番組推薦サーバ３の予約情報登録部２３４は、ユーザ毎に再生した番組を管理しており、コミュニティ予約情報統計部２３６は、同一番組を再生したユーザをグルーピングして、グループ内のユーザの再生した番組の再生率ランキングを生成する。また、全ユーザ予約情報統計部２３７は、全ての登録ユーザをグルーピングして、全ての登録ユーザの再生率ランキングを生成する。コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって作成された番組の再生率ランキングから全ユーザ予約情報統計部２３７によって作成された番組の再生率ランキングを減算する。これにより、コミュニティ特化部２３８は、特定番組を再生したユーザに特化した再生率ランキングを生成し、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された再生率ランキングに基づいて推薦番組情報を生成する。
【０１１５】
また、ユーザ操作が録画操作である場合も同様である。ユーザ操作が番組の録画操作である場合、番組視聴端末２は、録画した番組の識別情報を番組推薦サーバ３に送信する。番組推薦サーバ３の予約情報登録部２３４は、ユーザ毎に録画した番組を管理しており、コミュニティ予約情報統計部２３６は、同一番組を録画したユーザをグルーピングして、グループ内のユーザの録画した番組の録画率ランキングを生成する。また、全ユーザ予約情報統計部２３７は、全ての登録ユーザをグルーピングして、全ての登録ユーザの録画率ランキングを生成する。コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって作成された番組の録画率ランキングから全ユーザ予約情報統計部２３７によって作成された番組の録画率ランキングを減算する。これにより、コミュニティ特化部２３８は、特定番組を録画したユーザに特化した録画率ランキングを生成し、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された録画率ランキングに基づいて推薦番組情報を生成する。
【０１１６】
また、ユーザ操作が番組の消去操作である場合も応用可能である。ユーザ操作が番組の消去操作である場合、番組視聴端末２は、消去した番組の識別情報を番組推薦サーバ３に送信する。番組推薦サーバ３の予約情報登録部２３４は、ユーザ毎に消去した番組を管理しており、コミュニティ予約情報統計部２３６は、同一番組を消去したユーザをグルーピングして、グループ内のユーザの消去した番組の消去率ランキングを生成する。また、全ユーザ予約情報統計部２３７は、全ての登録ユーザをグルーピングして、全ての登録ユーザの消去率ランキングを生成する。コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって作成された番組の消去率ランキングから全ユーザ予約情報統計部２３７によって作成された番組の消去率ランキングを減算する。これにより、コミュニティ特化部２３８は、特定番組を消去したユーザに特化した消去率ランキングを生成し、推薦番組作成部２３９は、コミュニティ特化部２３８によって生成された消去率ランキングに基づいて推薦番組情報を生成する。
【０１１７】
また、これらの操作の組み合わせも同様に可能である。例えば、再生した番組情報を集計して、将来放送される番組の予約動作を促すこともできる。このときは、同一の予約情報を持つユーザをグルーピングして、グループ内で再生された番組を集計することで再生を促すための推薦情報を作成することが可能となる。逆に、ユーザの再生した番組情報でグループ化を行い、グループ内で予約情報を集計すれば、同じ番組を再生した類似嗜好を持つユーザの予約情報に基づいて、ユーザの嗜好に合致する番組の予約動作を自動で行うことも可能となる。
【０１１８】
また、ユーザ操作として、異なる操作を組み合わせてもよい。例えば、ユーザ操作として、再生操作を伴った番組と、録画操作を伴った番組とをともに集計してランキングを作成してもよい。このときには、異なる操作に基づいて、集計するときの重み付けを変更しても良い。例えば、録画されたけれども、再生されなかった番組よりも、再生された番組のほうがユーザの嗜好度は高いと判断される。そこで、これに基づいた重み付けでランキングを作成する。例えば、特定番組に対して録画のみされている場合には、１ポイント、再生されている場合には２ポイント、消去動作を伴っているものは−１ポイントとして集計する。これにより、ユーザの嗜好に対してより精度の高いランキングを生成することが可能となる。
【０１１９】
本実施形態では、番組視聴端末２毎（ユーザ毎）に番組への嗜好操作情報を、番組推薦サーバ３で集計して、ユーザ嗜好の類似したユーザをグルーピングして、グループ内の協調フィルタリングによってユーザに対して嗜好度の高いと思われる番組を推薦して、この推薦された番組を自動的に録画したり、再生を促したり、消去を促したりして、ユーザの番組視聴を支援する。ただし、これだけでは、本明細書の発明が解決しようとする課題に示した課題が解決できない。そこで、圧倒的な人気番組が存在したとしても、操作対象となった番組に基づいてユーザをグループ化して第１のグループを作成し、この第１のグループを包含するような第２のグループをさらに作成し、第１のグループ特有の推薦番組情報を生成できるように、第１のグループのランキングから第２のグループのランキングを減算、すなわち圧倒的に人気のある番組を雑音として抹消することによって、第１のグループに特化した推薦番組を生成することができ、ユーザの嗜好番組の検索動作等の煩雑な操作を回避し、嗜好度の高い番組視聴を支援する。
【０１２０】
次に、番組推薦システムの予約情報ＤＢ２３５のデータ構造と、コミュニティ予約情報統計部２３６による統計処理とについて説明する。図８は、第１の実施形態の予約情報ＤＢ２３５のデータ構造を示す図である。
【０１２１】
まず、図８（Ａ）は、番組推薦サーバ３の予約情報ＤＢ２３５に記憶される情報のデータ構造の一例を示す図である。なお、図８（Ａ）には、番組推薦サーバ３の予約情報受信部２３０によって、ユーザＡが番組Ａを予約したことを示す予約情報が受信されて、予約情報登録部２３４によって、予約情報ＤＢ２３５のユーザＡのリスト４０１に番組Ａの予約番組情報４０２が登録されたときの予約情報ＤＢ２３５のデータ構造を示している。予約情報ＤＢ２３５は、番組推薦サーバ３の全登録ユーザのユーザ識別情報（ユーザＩＤ）を管理するユーザ識別情報が列方向に登録され、個々のユーザ識別情報に対応して、ユーザが録画予約している予約番組情報が行方向に登録されたデータ構造である。リスト４０３には、ユーザＢ，Ｃ，Ｄが登録されている。ユーザＢ，Ｃ，Ｄは、ユーザＡ以外の登録ユーザを示し、このユーザＢ，Ｃ，Ｄに対応した予約番組情報が、個々のユーザの行方向に登録されている。
【０１２２】
例えば、ユーザＢには、番組Ａ、番組Ｃ、番組Ｄ及び番組Ｅという予約番組情報が対応付けられており、ユーザＣには、番組Ｘ、番組Ｙ、番組Ｚ及び番組Ｓという予約番組情報が対応付けられており、ユーザＤには、番組Ａ、番組Ｂ、番組Ｃ及び番組Ｅという予約番組情報が対応付けられている。
【０１２３】
図８（Ｂ）は、番組Ａの予約情報を持ったユーザをグルーピングした結果を示す図である。図８（Ｂ）の例では、コミュニティ予約情報統計部２３６によって、番組Ａの予約情報を持ったユーザがグルーピングされた結果を示している。図８（Ｂ）に示すように、ユーザＣ以外のユーザ全てが番組Ａの予約情報を持っているので、ユーザＣ以外の、ユーザＡ、Ｂ、Ｄがグルーピングされる。
【０１２４】
図８（Ｃ）は、番組Ａを予約した全てのユーザをグルーピングしたグループ内において、番組Ａ以外の番組の予約率を示す図である。図８（Ｃ）では、コミュニティ予約情報統計部２３６によって、番組Ａを予約したユーザで構成されるグループにおいて、番組Ａ以外の番組の予約頻度がランキングされる。図８（Ｃ）において、番組Ａを予約したユーザのグループでは、番組Ａの他に番組Ｃが一番多く予約されており、ついで番組Ｂ、番組Ｄ及び番組Ｅが予約されている。
【０１２５】
以降、番組の予約率ランキングは、グルーピングされたユーザ数、すなわち３人で正規化され、番組Ｃの予約率は１００％、番組Ｂ、番組Ｄ及び番組Ｅは６７％と算出される。
【０１２６】
なお、正規化方法としては、ランキングの全度数で正規化してもよい。本例では、各ユーザＡ，Ｂ，Ｄが番組Ａ以外の３つの予約番組情報を有しているので全度数は９となる。よって、番組Ｃの確率は３３％、番組Ｂ、番組Ｄ及び番組Ｅの確率は２２％と正規化される。この正規化方法は、ユーザの予約番組情報が異なったとしても、グループ内の番組毎の予約確率を求めることになるので正確なランキングが生成可能である。
【０１２７】
（第２の実施形態）
続いて、本発明における第２の実施形態について説明する。第１の実施形態では、番組毎に対するユーザ操作情報を、番組推薦サーバにおいて収集するとともに、同一の番組に対するユーザ操作をもとにユーザをグルーピングして、グループ内でのユーザの嗜好番組をランキングして、グループに特化した推薦番組を抽出してユーザに推薦番組を提供している。第２の実施形態では、番組ごとに対するユーザ操作情報を収集するのではなく、番組内の時間軸で指定される一部分に対するユーザ操作を集計することによって、番組内の推薦シーンや推薦時間帯を提供する。
【０１２８】
本実施形態では、番組内の時間軸で指定される一部分に対するユーザ操作として、番組中にユーザの嗜好シーンをマーキングするユーザ操作を用いて説明する。マーキングとは、ユーザが放送番組の視聴中、あるいは録画番組の視聴中に、お気に入りのシーンをマーキングすることであり、例えば、お気に入りシーンの間で所定のお気に入りシーンボタンを押し続けることによるマーキング、お気に入りシーンの開始時間と終了時間とを入力することによるマーキング、お気に入りシーンの開始時間でボタン操作を行いお気に入りシーンの継続時間を指定するマーキング、お気に入りシーンの終了時間でボタン操作を行いお気に入りシーンの継続時間を指定するマーキングなどが挙げられる。
【０１２９】
本実施形態では、ユーザ毎の番組視聴端末において、ユーザ毎に番組にマーキングを行い、マーキング情報と番組の識別情報とを番組推薦サーバに送信する。番組推薦サーバは、同一時間にマーキングしたユーザ、マーキングの時間的な類似性を持ったユーザ、又はマーキング時間に重なりを有するユーザをグループ化して、グループ内でマーキング情報を集計し、グループ内で特化したお勧めシーンを生成して、ユーザにお勧めシーンを提供する。
【０１３０】
図９は、ユーザＡ及びユーザＢの特定番組に対するマーキング方法と、マーキングの集計方法とについて説明するためのタイミングチャートである。
【０１３１】
図９に示す番組ストリーム５００は、図面の右方向に向かって進行する放送番組の時間経過を示している。また、番組ストリーム５００は、連続した番組のフレームで構成される。
【０１３２】
図９において、ユーザＡは、本特定番組に対してマーキングを行っている。ユーザＡは、本特定番組内で、時刻Ｔ１〜時刻Ｔ３までの間のシーンをマーキング（第１のマーキング５０１）し、時刻Ｔ６〜時刻Ｔ８までの間のシーンをマーキング（第２のマーキング５０２）している。
【０１３３】
同様に、図９において、ユーザＢは、本特定番組に対してマーキングを行っている。ユーザＢは、本特定番組内で、時刻Ｔ２〜時刻Ｔ４までの間のシーンをマーキング（第１のマーキング５０３）し、時刻Ｔ５〜時刻Ｔ７までの間のシーンをマーキング（第２のマーキング５０４）し、時刻Ｔ９〜時刻Ｔ１０までの間のシーンをマーキング（第３のマーキング５０５）している。
【０１３４】
特定番組の再生が終了した後、ユーザＡの番組視聴端末は、番組推薦サーバに対して、ユーザＡのユーザ情報、特定番組の番組識別情報及びユーザＡのマーキング情報を送信する。なお、マーキング情報は、特定番組においてマーキングされた時間を表し、例えばマーキングが開始された時刻とマーキングが終了された時刻とを含む。図９のユーザＡの場合、第１のマーキング５０１におけるマーキング開始時刻Ｔ１及びマーキング終了時刻Ｔ３と、第２のマーキング５０２におけるマーキング開始時刻Ｔ６及びマーキング終了時刻Ｔ８とがマーキング情報として生成される。
【０１３５】
また、特定番組の再生が終了した後、ユーザＢの番組視聴端末は、番組推薦サーバに対して、ユーザＢのユーザ情報、特定番組の番組識別情報及びユーザＢのマーキング情報を送信する。図９のユーザＢの場合、第１のマーキング５０３におけるマーキング開始時刻Ｔ２及びマーキング終了時刻Ｔ４と、第２のマーキング５０４におけるマーキング開始時刻Ｔ５及びマーキング終了時刻Ｔ７と、第３のマーキング５０５におけるマーキング開始時刻Ｔ９及びマーキング終了時刻Ｔ１０とがマーキング情報として生成される。なお、ユーザＢは、ユーザＡよりも時間的に早く本特定番組を視聴し、マーキング情報を送信しているので、ユーザＡがマーキング情報を送信する時点では、ユーザＢのマーキング情報が番組推薦サーバ内に既に登録されているとして、以後の説明を行う。
【０１３６】
なお、ユーザ情報は、番組推薦サーバにユーザ情報を登録することによって番組推薦サーバからユーザに対して付与され、ユーザの使用する番組視聴端末内で管理される。
【０１３７】
また、番組識別情報は、番組ごとに付与されている番組を識別するための番組識別情報、及び、番組の放送日時、チャンネル情報及び放送局識別情報で示される識別情報のいずれであってもかまわない。
【０１３８】
また、マーキング情報は、マーキングの開始時刻とマーキングの終了時刻とが含まれる。例えば、ユーザＡの第１のマーキング５０１の場合は、マーキング開始時刻として時刻Ｔ１が含まれ、マーキング終了時刻として時刻Ｔ３が含まれる。また、ユーザによってマーキング時間が、マーキング開始時刻とマーキング幅とで指定される場合は、マーキング開始時刻とマーキング終了時刻とに変更して送信する。
【０１３９】
番組推薦サーバは、ユーザＡの番組視聴端末から、ユーザＡのマーキング情報を受信すると受信したマーキング情報を解析し、類似のマーキング情報を有するユーザをグループ化する。なお、類似のマーキング情報を有するユーザとは、マーキング位置が時間的に一致しているユーザ、及びマーキング位置に重なりを持つユーザである。また、マーキング位置の重なりを判定する場合には、ユーザの嗜好の同一性の判定を精度良く行うため、全マーキング時間に対して５０％以上の重なりを持つか否かを判定し、５０％以上の重なりを持つユーザをグルーピングする。
【０１４０】
図９において、第１の重なり５０６及び第２の重なり５０７は、ユーザＡのマーキング情報とユーザＢのマーキング情報との重なりを示している。この場合、第１の重なり５０６と第２の重なり５０７との合計時間は、ユーザＡの総マーキング時間（ユーザＡの第１のマーキング５０１と第２のマーキング５０２との合計時間）に対して５０％以上なので、ユーザＡ及びユーザＢは同一のグループとしてグループ化される。なお、本実施形態では、ユーザＡ及びユーザＢのみでグループが構成されるとして説明するが、マーキング時間の重なりが５０％以上あるユーザはすべて同一グループにグループ化される。
【０１４１】
このように、本実施形態では、ユーザの番組へのマーキング操作に基づいてユーザをグループ化する。
【０１４２】
図１０は、グループ化したユーザの特定番組以外の番組において、類似するマーキング情報が存在した番組Ｂ及び番組Ｃのそれぞれのマーキング度数を示したグラフである。
【０１４３】
図１０の度数分布グラフ６００ａは、ユーザＡの特定番組のマーキング情報と類似のマーキング情報を持ったユーザをグループ化して、特定番組以外の番組でマーキング情報が類似している番組Ｂ及び番組Ｃが抽出され、番組Ｂ及び番組Ｃ内のグループ内のユーザのマーキング情報の重なりを示した度数分布である。この例では、番組Ｂに対して、第１のピーク６０１と第２のピーク６０２において高い度数を示している。また、番組Ｃでは、第１のピーク６０３、第２のピーク６０４において高い度数を示している。これは、ユーザＡの特定番組へのマーキング情報と類似するマーキング情報を持ったユーザのグループにおいて、番組Ｂの第１のピーク６０１、番組Ｂの第２のピーク６０２、番組Ｃの第１のピーク６０３及び番組Ｃの第２のピーク６０４で多くのマーキングが行われていることを示している。
【０１４４】
また、図１０の度数分布グラフ６００ｂは、ユーザＡの特定番組のマーキング情報と類似のマーキング情報を持ったユーザのグループを包含するグループとして、番組推薦サーバの全登録ユーザの番組Ｂ及び番組Ｃにおけるマーキング情報の重なりを示した度数分布である。全ユーザの度数分布グラフ６００ｂでは、番組Ｂにおける第１のピーク６０５及び第２のピーク６０６で、比較的多くのマーキングが行われている。しかしながら、番組Ｃでは、全体的にマーキング度数は低く、第１のピーク６０７及び第２のピーク６０８においてもそれほどマーキングが行われていない。
【０１４５】
図１０の度数分布グラフ６００ｃは、ユーザＡのマーキング情報に類似するマーキング情報を持ったユーザで構成されるグループのマーキング度数をグループ内の全ユーザの総マーキング時間で正規化した度数分布グラフ６００ａから、全ユーザのマーキング度数を全ユーザの総マーキング時間で正規化した度数分布グラフ６００ｂを減算した結果を示す。この結果、番組Ｂにおけるグループ内の第１のピーク６０１と全ユーザの第１のピーク６０５とに時間的なずれが生じているため、番組Ｂの第１の差分のピーク６０９が生成される。
【０１４６】
また、番組Ｂのグループ内の第２のピーク６０２は、全ユーザの第２のピーク６０６とほぼ同等のマーキング度数を有しているので、差分の結果、第２の差分のピーク６１０は、大きなマーキング度数を有していない。
【０１４７】
番組Ｃにおいては、グループ内の度数分布では、第１のピーク６０３及び第２のピーク６０４が高いマーキング度数を有しているにもかかわらず、全ユーザの度数分布では、第１のピーク６０７及び第２のピーク６０８とも高い度数を有していない。従って、番組Ｃでは、第１の差分のピーク６１１及び第２の差分のピーク６１２とも高い度数を有している。
【０１４８】
図１０の差分の度数分布グラフ６００ｃは、番組毎の差分のマーキング度数と予め定められた閾値６２０とに基づいて閾値判定を行い、閾値６２０より高いマーキング度数を有するシーンを推薦シーンとして生成する。本例では、番組Ｂにおいては、番組Ｂの時刻Ｔ１〜時刻Ｔ２までのシーンを推薦シーン１として生成し、番組Ｃにおいては、番組Ｃの時刻Ｔ３〜時刻Ｔ４までを推薦シーン２として生成するとともに、番組Ｃの時刻Ｔ５〜時刻Ｔ６までを推薦シーン３として抽出する。
【０１４９】
なお、番組毎の推薦度は、差分の度数分布において抽出した各推薦シーンの番組毎の時間軸でのマーキング度数の積分値の大きい番組から優先することが望ましい。
【０１５０】
図１１は、第２の実施形態の番組視聴端末の構成を示すブロック図であり、図１２は、第２の実施形態の番組推薦サーバの構成を示すブロック図である。第２の実施形態の番組推薦システムは、例えば番組録画装置などの番組視聴端末５と、複数の番組視聴端末５とインターネットなどの汎用のネットワーク７を介して通信可能に接続される番組推薦サーバ６とで構成される。なお、第２の実施形態の番組推薦システムの構成は、図２に示す番組推薦システムの構成と同じである。本来、番組推薦サーバ６には、複数の番組視聴端末５が接続されるが、説明の簡易化のために１台の番組視聴端末５が接続された形態について説明する。
【０１５１】
番組視聴端末５は、放送波又はＩＰ網から番組を受信して、番組を視聴したり、番組を録画したり、録画した番組を再生したり、録画した番組を消去したり、番組の録画予約をしたりする。番組視聴端末５は、アンテナ７０１、チューナ７０２、ＴＳデコーダ７０３、ＣＡＳ７０４、暗号解除部７０５、デマルチプレクサ７０６、ＭＰＥＧ  Ｖｉｄｅｏデコーダ７０７、ＭＰＥＧ  Ａｕｄｉｏデコーダ７０８、ＨＤＭＩ端子７０９、記録用暗号化部７１３、記録制御部７１４、記録媒体７１５、再生制御部７１６、記録用復号化部７１７、ＰＳＩ抽出部７１８、ＥＰＧ記憶部７１９、キー７２０、赤外線通信部７２１、マーキング管理部７２２、マーキング記憶部７２４、ユーザ識別部７２５、ユーザ情報ＤＢ７２６、マーキング送信部７２７、推薦受信部７２８、推薦番組情報抽出部７２９、番組記録判定部７３０、予約管理部７３１、予約メモリ７３２及び特定シーン抽出部７３３から構成される。
【０１５２】
また、番組推薦サーバ６は、マーキング受信部７５０、ユーザ管理部７５１、ユーザ属性ＤＢ７５２、マーキング登録部７５４、マーキングＤＢ７５５、特化生成部７０、推薦シーン作成部７５９及び推薦送信部７６０から構成される。
【０１５３】
また、番組推薦サーバ６の特化生成部７０は、コミュニティマーキング統計部７５６、全ユーザマーキング統計部７５７及びコミュニティ特化部７５８で構成される。
【０１５４】
チューナ７０２は、例えば地上波デジタル放送やＢＳデジタル放送などの放送波、あるいはマルチキャストで送信されるＩＰ放送から、所定チャンネルの放送波を受信して、放送波をＴＳデコーダ７０３に出力する。ＴＳデコーダ７０３は、受信した一般的なトランスポート・ストリーム形式の放送波を復調して暗号解除部７０５に出力する。
【０１５５】
ＣＡＳ７０４は、一般的なＣｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍであり、ユーザの登録情報及び番組の暗号鍵の記録されたＩＣカードから暗号鍵情報を読み出し、暗号解除部７０５に出力する。
【０１５６】
暗号解除部７０５は、ＴＳデコーダ７０３によって復調された、暗号化された放送信号を、ＣＡＳ７０４からの暗号鍵をもとに復号化し、暗号化された番組情報の暗号を解除してデマルチプレクサ７０６に出力する。
【０１５７】
デマルチプレクサ７０６は、番組情報として多重化されている情報を分離する。番組情報には、少なくともビデオ情報、オーディオ情報及び番組管理情報が多重化され、これらを分離後、ビデオ情報をＭＰＥＧ  Ｖｉｄｅｏデコーダ７０７へ、オーディオ情報をＭＰＥＧ  Ａｕｄｉｏデコーダ７０８へ、番組管理情報をＰＳＩ抽出部７１８へ出力する。
【０１５８】
ＭＰＥＧ  Ｖｉｄｅｏデコーダ７０７は、デマルチプレクサ７０６からのビデオ情報を復調して映像データに変換し、ＨＤＭＩ端子７０９に出力する。ＭＰＥＧ  Ａｕｄｉｏデコーダ７０８は、デマルチプレクサ７０６からのオーディオ情報を復調してオーディオデータに変換し、ＨＤＭＩ端子７０９に出力する。ＨＤＭＩ端子７０９は、ＨＤＭＩケーブルを介して外部のＨＤＭＩ端子７１０と接続されており、ＨＤＭＩ端子７１０は、モニタ７１１及びスピーカ７１２と接続されている。
【０１５９】
ＨＤＭＩ端子７０９，７１０は、一般的な映像情報用及び音声情報用のインタフェースであり、番組視聴端末５とモニタ７１１及びスピーカ７１２とを互いに相互認証するとともに、暗号鍵の共通化を行い、共通化した暗号鍵で、映像データや音声データを暗号化して、モニタ７１１やスピーカ７１２に出力する。
【０１６０】
モニタ７１１は、一般的な番組の映像情報の表示装置であって、ＨＤＭＩ端子７１０で受信した暗号化された映像データを復号して番組の映像データを出力する。スピーカ７１２は、一般的な番組の音声情報の出力装置であって、ＨＤＭＩ端子７１０で受信した暗号化された映像データを復号して番組の音声データを出力する。
【０１６１】
記録用暗号化部７１３は、受信した番組情報を記録媒体に記録するための暗号処理を施す。記録用暗号化部７１３は、デマルチプレクサ７０６から入力された番組情報を暗号化して記録制御部７１４に出力する。従って、記録用暗号化部７１３は、番組情報を記録する記録媒体に特有の暗号化処理を行う。例えば、ＤＶＤ−ＲＡＭではＣＰＲＭ（Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ  ｆｏｒ  Ｒｅｗｒｉｔａｂｌｅ  Ｍｅｄｉａ）、Ｂｌｕ−ｒａｙディスクやＨＤ−ＤＶＤでは、ＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）が用いられる。
【０１６２】
記録制御部７１４は、記録用暗号化部７１３によって暗号化された番組情報の記録媒体７１５への記録を制御する。記録制御部７１４は、記録媒体特有の変調処理や誤り訂正符号化処理を行うことによって記録媒体に番組情報を記録する。
【０１６３】
記録媒体７１５は、番組情報を記録するコンピュータ読み取り可能な記録媒体であって、例えば、ハードディスクのような磁気記録ディスクやＤＶＤ、Ｂｌｕ−ｒａｙディスクなどの光ディスク、ＳＤカードのような半導体メモリ、及びＭＯ／ＭＤのような光磁気記録媒体が用いられる。
【０１６４】
再生制御部７１６は、記録媒体７１５に記録されている番組情報を読み出す。なお、記録制御部７１４、記録媒体７１５及び再生制御部７１６は、ドライブシステムとして構成されるのが一般的である。
【０１６５】
記録用復号化部７１７は、記録用暗号化部７１３の暗号化に対応する復号を行う。記録用復号化部２１７は、暗号化して記録媒体７１５に記録された番組情報を復号化してＴＳデコーダ７０３に出力する。なお、ＴＳデコーダ７０３に出力された番組情報の再生処理は、上述のアンテナ７０１で受信した番組の再生処理と同様である。
【０１６６】
ＰＳＩ抽出部７１８は、デマルチプレクサ７０６で抽出した番組管理情報からＰＳＩ（Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ）を抽出する。ＰＳＩの中には、主に、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＥＩＴ（Ｅｖｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）及びＴＯＴ（Ｔｉｍｅ  Ｏｆｆｓｅｔ  Ｔａｂｌｅ）などの情報が含まれる。
【０１６７】
ＰＭＴは、番組に含まれる画像や音声などの各パケット識別情報を格納している。よって、ＰＭＴから画像や音声などのパケット識別情報を得ることが出来れば、それらパケット識別情報のついたパケットを抽出することでプログラムを再生できる。
【０１６８】
ＥＩＴは、番組の名称、放送日時及び放送内容などの番組に関連する情報が含まれる。ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）は主にこの情報を用いて作成される。
【０１６９】
ＥＰＧ記憶部７１９は、ＰＳＩ抽出部７１８で抽出したＰＳＩ中のＥＩＴを用いてＥＰＧ情報を作成して、記憶する。キー７２０は、ユーザからの入力を受け付け、リモコンやフロントパネルで構成される。また、キー７２０は、視聴する番組に対して、ユーザが行うマーキング部として機能する。実際には、リモコンに、マーキングボタンが設けられ、ユーザがマーキングボタンを押している間、番組に対してマーキングが行われる。または、キー７２０は、ユーザからマーキングを行う番組内の時間情報の入力を受け付ける。
【０１７０】
赤外線通信部７２１は、一般的なリモートコントローラからの赤外線信号の受光部である。赤外線通信部７２１は、キー７２０に付随したマーキングボタンの押下中、マーキングボタン押下信号を生成して、マーキング管理部７２２に出力する。
【０１７１】
マーキング管理部７２２は、赤外線通信部７２１からマーキングボタン押下信号を受け取り、マーキングボタン押下信号によってマーキングボタンが押されていると判断したときには、現在再生中の番組の番組内の時間情報をＰＳＩ抽出部７１８から受け取り、マーキング記憶部７２４に出力する。
【０１７２】
ＰＳＩ抽出部７１８は、内部に時間抽出部７１８１とＰＩＤ抽出部７１８２とを備える。時間抽出部７１８１は、ＰＳＩ内のタイムオフセットテーブル（ＴＯＴ）を確認することによって、番組内の再生時間を抽出する。また、ＰＩＤ抽出部７１８２は、現在再生中の映像コンテンツのパケットのパケット識別情報であるＰＩＤを抽出して、現在再生中のパケットを特定する。
【０１７３】
マーキング記憶部７２４は、マーキング管理部７２２によって抽出された番組内においてマーキングされた時間情報、あるいはマーキング中の番組のパケット識別情報群を記憶する。マーキング記憶部７２４は、マーキング開始時の番組内の時刻及びマーキング終了時の番組内の時刻の２つを対応させて時間情報として記憶しても良いし、マーキング開始時の番組のパケットのパケット識別情報とマーキング終了時の番組のパケットのパケット識別情報とを対応付けてパケット識別情報群として記憶してもいい。また、マーキング中の全パケットのパケット識別情報を１つの群として記憶してもかまわない。また、これらの時間情報やパケット情報は、再生している番組の番組識別情報に対応付けてマーキング記憶部７２４に記憶される。番組識別情報は、ＰＳＩ抽出部７１８で抽出したＰＳＩ内に含まれる。これらの番組識別情報に対応したマーキング位置の時間情報やパケット識別情報は、マーキング情報としてマーキング記憶部７２４に記憶される。
【０１７４】
ユーザ識別部７２５は、番組視聴端末５を使用するユーザを識別する。ユーザ識別部７２５は、キー７２０を用いて入力されるユーザ情報に基づいて、番組視聴端末５を使用するユーザを識別する。
【０１７５】
ユーザ情報ＤＢ７２６は、番組視聴端末５を使用する全ユーザのユーザ情報が登録されているデータベースである。ユーザ識別部７２５は、キー７２０を用いて入力されるユーザ情報と、ユーザ情報ＤＢ７２６に予め記憶されているユーザ情報とに基づいてユーザを識別する。また、ユーザ識別部７２５は、ユーザの認証に成功すると現在使用中のユーザのユーザ情報をマーキング送信部７２７に出力する。
【０１７６】
マーキング送信部７２７は、一般的なネットワークインタフェースであり、汎用のネットワーク７を介して接続される番組推薦サーバ６とのネットワークを確立した後、マーキング記憶部７２４に記憶したマーキング情報とユーザ識別部７２５から入力されたユーザ情報とをともに番組推薦サーバ６に送信する。
【０１７７】
なお、マーキング記憶部７２４は、ユーザ識別部７２５と連動してマーキングしたユーザを対応付けて記憶するとともに、マーキング送信部７２７によって番組推薦サーバ６に送信済みのマーキング情報と未送信のマーキング情報とを識別可能に管理する。
【０１７８】
推薦受信部７２８は、汎用のネットワーク７を介して、番組推薦サーバ６の推薦する番組に関する推薦情報を受信する。推薦番組情報抽出部７２９は、推薦受信部７２８で受信した推薦情報から、推薦番組情報を抽出する。推薦番組情報は、推薦する番組を一意に識別できる情報であり、例えば、番組を識別するための番組識別情報、又は番組の放送日時、チャンネル情報及び放送局を識別するための放送局識別情報を含む。さらに、推薦番組情報は、番組内の推薦シーンを一意に指定可能な時間情報又はパケット識別情報を含んでいる。抽出した推薦番組情報は、番組記録判定部７３０に出力される。
【０１７９】
番組記録判定部７３０は、受信した推薦番組情報で示される番組識別情報に基づいて、番組識別情報が示す番組が記録媒体７１５に記録されているか否かを確認する。また、番組記録判定部７３０は、推薦番組情報で示される番組が記録されていると判断した場合、推薦番組情報の示す番組内の時間情報あるいはパケット識別情報で表された推薦シーンが記録されているか否かを判定する。番組記録判定部７３０は、推薦シーンが記録されていると判断した場合、特定シーン抽出部７３３に推薦番組情報を出力する。さらに、番組記録判定部７３０は、推薦番組情報で示される番組が記録されていないと判断した場合、又は番組の推薦シーンが記録されていないと判断した場合、番組の番組識別情報とＥＰＧ記憶部７１９に記憶されているＥＰＧ情報とに基づいて、現在以降の番組であるか否かを判断する。番組記録判定部７３０は、現在以降に放送予定の番組であると判断された場合、予約管理部７３１に番組識別情報を出力する。
【０１８０】
予約管理部７３１は、番組記録判定部７３０からの番組識別情報に基づいて、番組識別情報の示す番組の録画予約処理を行う。予約メモリ７３２は、予約管理部７３１で予約を行う番組の番組識別情報をユーザ識別部７２５から入力されるユーザ情報に対応付けて記憶する。
【０１８１】
特定シーン抽出部７３３は、番組記録判定部７３０から推薦番組情報が入力されると、番組識別情報の示す番組を記録媒体７１５から抽出して、推薦番組情報の示す推薦シーンの開始時刻から終了時刻までの番組の再生を行う。
【０１８２】
次に、本実施形態の番組推薦システムにおける番組推薦サーバ６の構成について説明する。マーキング受信部７５０は、汎用のネットワーク７に接続された複数の番組視聴端末５のマーキング送信部７２７から、各ユーザによってマーキングされた番組のマーキング情報とマーキングを行ったユーザのユーザ情報とを受信する。なお、マーキング情報は、マーキングを行った番組を一意に識別可能な番組識別情報、又は予約された番組の番組放送日時、チャンネル情報及び放送局識別情報を含む。また、マーキング情報は、マーキングの行われた番組内の時間情報あるいはパケット識別情報を含む。受信したマーキング情報及びユーザ情報は、ユーザ管理部７５１に出力される。
【０１８３】
ユーザ属性ＤＢ７５２は、登録ユーザのユーザ情報と、必要であれば、ユーザ氏名、性別、住所／電話番号、番組視聴端末のメーカ／機種、接続するモニタの解像度および番組視聴端末のネットワークＩＤなどのユーザ属性情報とをユーザ登録リストとして管理する。ユーザは、予め番組推薦サーバ６に、番組推薦を行うためのユーザ登録処理を行う。ユーザ登録処理には、ユーザ名の設定、住所／電話番号の通知などユーザ登録情報の通知を行った後、番組推薦サーバ６側で、該ユーザにユーザ情報を生成して通知し、ユーザ属性ＤＢ７５２で生成したユーザ情報に対応付けて、ユーザから通知されたユーザ属性情報を記憶／管理する。
【０１８４】
ユーザ管理部７５１は、受信したユーザ情報により特定されるユーザが、番組推薦サーバ６の登録ユーザであるか否かを判定する。ユーザ管理部７５１は、ユーザ属性ＤＢ７５２に記憶されているユーザ登録リストの中から、受信したユーザ情報に一致するユーザ情報を検索する。受信したユーザ情報がユーザ属性ＤＢ７５２に登録されていると判断された場合、番組推薦サーバ６の登録ユーザであると判断して、処理を継続する。
【０１８５】
一方、受信したユーザ情報がユーザ属性ＤＢ７５２に登録されていないと判断された場合、番組推薦サーバ６の未登録ユーザであるとして、当該ユーザの使用する番組視聴端末５に登録ユーザでない旨のエラーメッセージを送信して以後の処理を中断する。エラーメッセージを受信した番組視聴端末５は、当該エラーメッセージをモニタ７１１に表示する。
【０１８６】
マーキング登録部７５４は、ユーザ管理部７５１によってユーザが番組推薦サーバ６の登録ユーザであると判断された場合、マーキング受信部７５０によって受信されたユーザ毎のマーキング情報を、受信したユーザ情報に対応付けて、マーキングＤＢ７５５に記憶する。
【０１８７】
コミュニティマーキング統計部７５６は、マーキング受信部７５０によって受信されたマーキング情報に基づいて、当該マーキング情報と類似したマーキング情報を持った全ユーザをコミュニティグループとしてグループ化する。また、コミュニティマーキング統計部７５６は、当該コミュニティグループに属する全ユーザの当該マーキング情報の対象番組以外のマーキング情報を集計するとともに、コミュニティグループに所属する全ユーザ数で集計結果を正規化し、コミュニティグループ内の各番組のマーキング率を算出する。コミュニティマーキング統計部７５６は、正規化したマーキング率をコミュニティ特化部７５８に出力する。
【０１８８】
なお、前述の類似したマーキング情報とは、マーキング受信部７５０によって受信されたマーキング情報の示す番組内のマーキング位置と、マーキングＤＢ７５５に記憶されているマーキング情報の示す番組内のマーキング位置とに重なりを有すること、あるいは受信したマーキング情報の示す番組内のパケット識別情報と、マーキングＤＢ７５５に記憶されているマーキング情報の示す番組内のパケット識別情報とに重なりを有することである。望ましくは、受信したマーキング情報の示す番組内のマーキング位置と、マーキングＤＢ７５５に記憶されているマーキング情報の示す番組内のマーキング位置との重なりが、受信したマーキング情報の総マーキング時間に対して５０％以上であることが好ましい。また、受信したマーキング情報の示す番組内のパケット識別情報群と、マーキングＤＢ７５５に記憶されているマーキング情報の示す番組内のパケット識別情報群との重なりが、受信したマーキング情報の総マーキングパケット数に対して５０％以上であることが好ましい。
【０１８９】
全ユーザマーキング統計部７５７は、マーキング受信部７５０によって受信されたマーキング情報の類似した全ユーザをコミュニティグループとしてグループ化するコミュニティマーキング統計部７５６とは異なり、ユーザ属性ＤＢ７５２に登録されている全ユーザ、すなわち番組推薦サーバ６への全登録ユーザを、コミュニティグループを包含する全ユーザグループとしてグルーピングする。
【０１９０】
また、全ユーザマーキング統計部７５７は、全ユーザのグルーピング後、マーキング受信部７５０で受信したマーキング情報が示す番組以外の番組で、全ユーザのマーキング情報を統計処理して、番組毎のマーキング度数を作成する。また、このマーキング度数は、登録ユーザの全マーキング総時間、あるいはマーキングパケット総数で正規化される。作成したマーキング度数は、コミュニティ特化部７５８と推薦シーン作成部７５９とに出力される。
【０１９１】
コミュニティ特化部７５８は、コミュニティマーキング統計部７５６によって算出されたマーキング度数から、全ユーザマーキング統計部７５７によって算出されたマーキング度数を減算することによって、コミュニティマーキング統計部７５６でグルーピングしたコミュニティグループに特化したマーキング度数を作成して、推薦シーン作成部７５９に出力する。なお、マーキング度数の減算は、番組毎のマーキング度数を、同一番組ごとに減算する。
【０１９２】
推薦シーン作成部７５９は、コミュニティ特化部７５８によって生成されたマーキング度数を基に、予め設定された閾値よりも高いマーキング度数を有する番組を推薦番組として抽出する。また、推薦シーン作成部７５９は、各番組内でマーキング度数が閾値を上回ったシーンの開始時刻及び終了時刻、あるいは開始パケットのパケット識別情報及び終了パケットのパケット識別情報を推薦シーン情報として抽出する。推薦シーン作成部７５９は、推薦番組を識別するための番組識別情報、又は推薦番組の放送日時、推薦番組が放送されるチャンネル情報及び推薦番組が放送される放送局を識別するための放送局識別情報と、推薦シーン情報とを含む推薦番組情報を作成する。これによって、推薦シーン作成部７５９は、コミュニティグループに特化した推薦シーンを作成する。
【０１９３】
また、推薦シーン作成部７５９は、全ユーザマーキング統計部７５７によって生成されたマーキング度数を基に、予め設定された閾値よりも高いマーキング度数を有する番組を人気番組として抽出する。また、推薦シーン作成部７５９は、各番組内でマーキング度数が閾値を上回ったシーンの開始時刻及び終了時刻、あるいは開始パケットのパケット識別情報及び終了パケットのパケット識別情報を人気シーン情報として抽出する。推薦シーン作成部７５９は、人気番組を識別するための番組識別情報、又は人気番組の放送日時、人気番組が放送されるチャンネル情報及び人気番組が放送される放送局を識別するための放送局識別情報と、人気シーン情報とを含む人気番組情報を作成する。これによって、コミュニティグループに特化した推薦シーンの開始時刻と終了時刻とを含み、かつ推薦シーンを含む番組の番組識別情報を含んだ推薦番組情報が生成されるとともに、人気シーンの開始時刻と終了時刻とを含み、かつ人気シーンを含む番組の番組識別情報を含んだ人気番組情報が生成されて、推薦送信部７６０に出力される。
【０１９４】
推薦送信部７６０は、推薦シーン作成部７５９によって作成された、推薦シーン情報を含む推薦番組情報と、人気シーン情報を含む人気番組情報とを含む推薦情報を番組視聴端末５に送信する。
【０１９５】
以下、本実施形態における番組推薦システムの動作について説明する。例えば、ユーザＡが、ユーザＡの所有する番組視聴端末５によって、番組Ａの一部をマーキングする。番組視聴端末５は、ユーザＡを識別するためのユーザ情報と、番組Ａを識別するための番組識別情報と、番組内におけるマーキングされた位置を特定するためのマーキング情報とを番組推薦サーバ６に送信する。
【０１９６】
番組推薦サーバ６のマーキング受信部７５０は、ユーザＡの所有する番組視聴端末５から、ユーザＡを識別するためのユーザ識別情報と、番組Ａを識別するための番組識別情報と、番組内におけるマーキングされた位置を特定するためのマーキング情報とを受信する。ユーザ管理部７５１は、受信したユーザ情報がユーザ属性ＤＢ７５２に記憶されているか否かを判定し、記憶されていれば、ユーザＡが番組推薦サーバ６の登録ユーザであるとして、処理を継続する。
【０１９７】
マーキング登録部７５４は、ユーザＡを識別するためのユーザ情報に対応付けて、番組Ａを識別するための番組識別情報と、番組内におけるマーキングされた位置を特定するためのマーキング情報とをマーキングＤＢ７５５に登録する。コミュニティマーキング統計部７５６は、番組Ａのマーキング情報と類似したマーキング情報を持った全ユーザをマーキングＤＢ７５５から抽出してコミュニティグループを形成する。コミュニティマーキング統計部７５６は、コミュニティグループ内における番組Ａ以外の番組のマーキング情報を統計的に処理する。そして、コミュニティマーキング統計部７５６は、コミュニティグループ内における番組Ａ以外の番組のマーキング度数を算出して、コミュニティ特化部７５８に出力する。
【０１９８】
全ユーザマーキング統計部７５７は、番組推薦サーバ６のユーザ属性ＤＢ７５２に登録されている全ユーザをマーキングＤＢ７５５から抽出してコミュニティマーキング統計部７５６で形成したコミュニティグループを包含する全ユーザグループを形成する。全ユーザマーキング統計部７５７は、全ユーザグループ内のユーザ情報に対応付けられているマーキング情報をマーキングＤＢ７５５から抽出して、番組Ａ以外の番組のマーキング情報を統計処理する。そして、全ユーザマーキング統計部７５７は、全ユーザグループ内において番組Ａ以外の番組のマーキング度数を算出して、コミュニティ特化部７５８と推薦シーン作成部７５９とに出力する。
【０１９９】
コミュニティ特化部７５８は、コミュニティマーキング統計部７５６によって作成された番組Ａ以外の番組のマーキング度数から、全ユーザマーキング統計部７５７によって作成された番組Ａ以外の番組のマーキング度数を減算する。これにより、コミュニティ特化部７５８は、番組Ａにおける所定の位置をマーキングしたユーザの属するコミュニティグループに特化した番組のマーキング度数を作成して推薦シーン作成部７５９に出力する。
【０２００】
推薦シーン作成部７５９は、コミュニティ特化部７５８によって作成された、コミュニティグループに特化したマーキング度数に基づき、閾値よりもマーキング度数の高い番組の番組識別情報と、閾値よりもマーキング度数の高いシーンの開始時刻及び終了時刻を表す推薦シーン情報とを抽出して推薦番組情報を作成する。また、推薦シーン作成部７５９は、全ユーザマーキング統計部７５７によって作成された、全登録ユーザの一般化されたマーキング度数に基づき、閾値よりもマーキング度数の高い番組の番組識別情報と、閾値よりもマーキング度数の高いシーンの開始時刻及び終了時刻を表す人気シーン情報とを抽出して人気番組情報を作成する。推薦送信部７６０は、推薦シーン作成部７５９によって作成された推薦番組情報及び人気番組情報をユーザＡの番組視聴端末５に送信する。
【０２０１】
次に、本実施形態の番組推薦システムの処理の流れについてさらに説明する。図１３〜１５は、第２の実施形態に係る番組推薦システムの処理の流れを示したフローチャートであり、図１３は、第２の実施形態に係る番組視聴端末におけるマーキング情報を送信するまでの処理の流れを示すフローチャートであり、図１４は、第２の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートであり、図１５は、第２の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示すフローチャートである。
【０２０２】
図１３において、まず、ユーザ識別部７２５は、ユーザに対するユーザ認証のためのユーザ認証画面をモニタ７１１に表示し、キー７２０は、ユーザによるユーザ情報の入力を受け付け、番組視聴端末５へのログインを受け付ける（ステップＳ４１）。次に、ユーザ識別部７２５は、ユーザ認証が成功したか否か、すなわち、入力されたユーザ情報がユーザ情報ＤＢ７２６に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ４２）。
【０２０３】
ここで、入力されたユーザ情報がユーザ情報ＤＢ７２６に登録されていない、すなわち番組視聴端末５の登録ユーザでないと判断された場合、又は入力されたユーザ情報に誤りがある場合（ステップＳ４２でＮＯ）、ユーザ識別部７２５は、モニタ７１１にエラーメッセージを出力して以後の処理を終了する（ステップＳ４３）。
【０２０４】
一方、入力されたユーザ情報に誤りがなく、番組視聴端末５の登録ユーザであると判断された場合（ステップＳ４２でＹＥＳ）、再生制御部７１６は、記録媒体７１５に記録済みの番組に対する再生指示操作があったか否かを判断する（ステップＳ４４）。ここで、再生指示操作がないと判断された場合（ステップＳ４４でＮＯ）、再生制御部７１６は、ユーザからの再生指示操作があるまで待機する。
【０２０５】
ユーザからの再生指示操作があったと判断された場合（ステップＳ４４でＹＥＳ）、再生制御部７１６は、ユーザによって選択された番組を記録媒体７１５から再生してモニタ７１１に出力する再生処理を実行する（ステップＳ４５）。
【０２０６】
次に、番組の再生中、マーキング管理部７２２は、ユーザによるマーキング操作が開始されたか否かを判断する（ステップＳ４６）。なお、赤外線通信部７２１は、リモートコントローラのマーキングボタンを押下された際に出力される赤外線信号を感知したとき、マーキングボタン押下信号を生成して、マーキング管理部７２２に出力する。マーキング管理部７２２は、マーキングボタン押下信号が入力されるとマーキング操作が開始されたと判断する。
【０２０７】
マーキング操作が開始されたと判断された場合（ステップＳ４６でＹＥＳ）、時間抽出部７１８１は、番組放送に多重化されているＰＳＩから番組内の再生時間を抽出して、マーキング操作が開始されたマーキング開始時刻としてマーキング記憶部７２４に一時記憶する（ステップＳ４７）。一方、マーキング操作が開始されていないと判断された場合（ステップＳ４６でＮＯ）、再生している番組が終了したか否かの判定処理に移る（ステップＳ５０）。
【０２０８】
次に、マーキング管理部７２２は、ユーザによるマーキング操作が終了したか否かを判断する（ステップＳ４８）。赤外線通信部７２１は、リモートコントローラのマーキングボタンの押下が解除されると、マーキングボタン押下信号の生成を終了する。マーキング管理部７２２は、マーキングボタン押下信号が入力されなくなるとマーキング操作が終了したと判断する。
【０２０９】
マーキング操作が終了したと判断された場合（ステップＳ４８でＹＥＳ）、時間抽出部７１８１は、マーキング開始時刻を抽出した時と同様に、番組に多重化されているＰＳＩから番組内の再生時間を抽出して、マーキング操作が終了したマーキング終了時刻としてマーキング記憶部７２４に一時記憶する（ステップＳ４９）。一方、マーキング操作が終了していないと判断された場合（ステップＳ４８でＮＯ）、マーキング管理部７２２は、マーキング操作が終了されるまで待機する。
【０２１０】
次に、マーキング送信部７２７は、再生している番組が終了したか否かを判断する（ステップＳ５０）。再生している番組が終了したと判断された場合（ステップＳ５０でＹＥＳ）、マーキング送信部７２７は、マーキング記憶部７２４に記憶されているマーキング開始時刻、マーキング終了時刻及び再生した番組の番組識別情報と、ユーザ識別部７２５によって識別されたユーザのユーザ情報とをマーキング情報として番組推薦サーバ６に送信する（ステップＳ５１）。一方、再生している番組が終了していないと判断された場合（ステップＳ５０でＮＯ）、ステップＳ４５の再生処理を継続する。
【０２１１】
図１４において、次に、番組推薦サーバ６のマーキング受信部７５０は、番組視聴端末５のマーキング送信部７２７によって送信されたマーキング情報を受信する（ステップＳ６１）。
【０２１２】
次に、ユーザ管理部７５１は、ユーザ認証が成功したか否か、すなわち、マーキング受信部７５０によって受信されたマーキング情報に含まれるユーザ情報が番組推薦サーバ６のユーザ属性ＤＢ７５２に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ６２）。ここで、ユーザ認証に失敗し、登録ユーザでないと判断された場合（ステップＳ６２でＮＯ）、ユーザ管理部７５１は、その旨を示すエラーメッセージを作成して、番組視聴端末５にエラーメッセージを送信し、以後の処理を終了する（ステップＳ６３）。なお、エラーメッセージを受信した番組視聴端末５は、ユーザ認証に失敗した旨を表すエラー通知をモニタ７１１へ出力する。
【０２１３】
一方、ユーザ認証に成功し、登録ユーザであると判断された場合（ステップＳ６２でＹＥＳ）、マーキング登録部７５４は、マーキング受信部７５０によって受信されたマーキング情報を、当該ユーザのユーザ情報に対応付けてマーキングＤＢ７５５に登録する（ステップＳ６４）。
【０２１４】
次に、コミュニティマーキング統計部７５６は、マーキング受信部７５０によって受信されたマーキング情報に類似するマーキング情報を持った全ユーザを、マーキングＤＢ７５５から抽出し、コミュニティグループとしてグループ化する（ステップＳ６５）。なお、類似するマーキング情報とは、マーキング受信部７５０で受信したマーキング情報の示す番組識別情報と同一の番組識別情報であり、番組内のマーキングされた時間やマーキングされた番組のパケット識別情報に重なりがあるマーキング情報のことである。望ましくは、同じ番組内でユーザ毎のマーキングされた時間やマーキングされたパケット識別情報のうち５０％以上の重なりのあるマーキング情報を類似のマーキング情報として判定する。
【０２１５】
次に、コミュニティマーキング統計部７５６は、類似したマーキング情報を有するユーザで構成されるコミュニティグループ内の全ユーザに登録されているマーキング情報のうち、マーキング受信部７５０によって受信されたマーキング情報の示す番組以外のマーキング情報を番組ごとに集計する（ステップＳ６６）。コミュニティマーキング統計部７５６は、各番組において、単位時間毎にマーキングしているユーザがいればカウントし、番組毎に時間軸での度数分布を算出する。あるいは、コミュニティマーキング統計部７５６は、各番組において、パケット毎にマーキングを行ったユーザがいればカウントし、番組毎にパケット単位で度数分布を算出する。
【０２１６】
次に、コミュニティマーキング統計部７５６は、集計された結果を、コミュニティグループ内におけるグループ化された全ユーザの総マーキング時間、あるいは総マーキングパケット数で正規化する（ステップＳ６７）。コミュニティマーキング統計部７５６は、正規化した結果をコミュニティ特化部７５８に出力する。
【０２１７】
次に、全ユーザマーキング統計部７５７は、ユーザ属性ＤＢ７５２に登録されているユーザ、すなわち番組推薦サーバ６に登録されている全ユーザを抽出し、類似したマーキング情報を有するユーザで構成されるコミュニティグループを包含する全ユーザグループとしてグルーピングする（ステップＳ６８）。
【０２１８】
次に、全ユーザマーキング統計部７５７は、全ユーザのマーキング情報をマーキングＤＢ７５５から抽出して、マーキング受信部７５０によって受信されたマーキング情報の示す番組以外の番組のマーキング情報を集計する（ステップＳ６９）。全ユーザマーキング統計部７５７は、各番組において、単位時間毎にマーキングしているユーザがいればカウントし、番組毎に時間軸での度数分布を算出する。あるいは、全ユーザマーキング統計部７５７は、各番組において、パケット毎にマーキングを行ったユーザがいればカウントし、番組毎にパケット単位で度数分布を算出する。
【０２１９】
次に、全ユーザマーキング統計部７５７は、集計された結果を、登録されている全ユーザの総マーキング時間あるいは総マーキングパケット数で正規化する（ステップＳ７０）。正規化した結果は、コミュニティ特化部７５８および推薦シーン作成部７５９に出力される。
【０２２０】
次に、コミュニティ特化部７５８は、類似したマーキング情報を有するユーザで構成されるコミュニティグループ内における正規化されたマーキング集計結果（マーキング度数）から、全ユーザグループ内における正規化されたマーキング集計結果（マーキング度数）を減算する。そして、推薦シーン作成部７５９は、減算結果を閾値判定し、閾値よりもマーキング度数の高い番組の番組識別情報と、閾値よりもマーキング度数の高いシーンの開始時刻及び終了時刻を表す推薦シーン情報とを抽出して推薦番組情報を作成する（ステップＳ７１）。開始時刻は、マーキング度数が閾値を上回った時間位置であり、終了時刻は、マーキング度数が閾値を下回った時間位置である。抽出された全推薦シーンの開始時刻及び終了時刻は、対応する番組識別情報と対応付けられて、推薦番組情報として推薦送信部７６０に出力される。
【０２２１】
次に、推薦シーン作成部７５９は、全ユーザマーキング統計部７５７によって作成された全ユーザグループ内における正規化されたマーキング集計結果を閾値判定し、閾値よりもマーキング度数の高い番組の番組識別情報と、閾値よりもマーキング度数の高いシーンの開始時刻及び終了時刻を表す人気シーン情報とを抽出して人気番組情報を作成する（ステップＳ７２）。抽出された全人気シーンの開始時刻及び終了時刻は、対応する番組識別情報と対応付けられて、人気番組情報として推薦送信部７６０に出力される。
【０２２２】
次に、推薦送信部７６０は、推薦シーン作成部７５９によって作成された推薦番組情報と人気番組情報とを推薦情報として、番組視聴端末５に送信する（ステップＳ７３）。
【０２２３】
図１５において、次に、番組視聴端末５の推薦受信部７２８は、番組推薦サーバ６によって送信された推薦番組情報及び人気番組情報を含む推薦情報を受信する（ステップＳ８１）。
【０２２４】
次に、推薦番組情報抽出部７２９は、推薦受信部７２８によって受信された推薦情報から推薦番組情報が抽出されたか否かを判断する（ステップＳ８２）。推薦番組情報抽出部７２９は、ユーザに推薦番組情報及び人気番組情報のうちのいずれかの選択を促す。キー７２０を用いて推薦番組情報が選択された場合、推薦番組情報抽出部７２９は推薦番組情報を抽出し、人気番組情報が選択された場合、推薦番組情報抽出部７２９は人気番組情報を抽出する。なお、推薦番組情報及び人気番組情報の両方を抽出する設定を設けてもかまわない。これによって、ユーザに対してより多くの選択肢を提供することができる。
【０２２５】
推薦番組情報が抽出されたと判断された場合（ステップＳ８２でＹＥＳ）、番組記録判定部７３０は、推薦番組情報抽出部７２９によって抽出された推薦番組情報に含まれる推薦シーン情報に付随する推薦シーンに対応した番組識別情報に基づいて、推薦シーンを含む番組が記録媒体７１５に記録済みであるか否かを判断する（ステップＳ８３）。なお、ステップＳ８３では、番組の記録だけではなく、推薦シーンの開始時刻及び終了時刻に基づいて推薦シーン自体が記録媒体７１５に記録されるか否かを判断するほうが好適である。ここで、推薦シーンを含む番組、あるいは推薦シーンそのものが記録媒体７１５に記録されていないと判断された場合（ステップＳ８３でＮＯ）、ステップＳ８８の処理に移行する。
【０２２６】
一方、推薦シーンを含む番組、あるいは推薦シーンそのものが記録媒体７１５に記録済みであると判断された場合（ステップＳ８３でＹＥＳ）、特定シーン抽出部７３３は、推薦番組をモニタ７１１に表示する（ステップＳ８４）。このとき、特定シーン抽出部７３３は、番組の名称と同時に、推薦シーンの開始時刻及び終了時刻、推薦シーンの時間的長さ、及び推薦シーン内のキャプチャ画像又は映像を表示するとよい。
【０２２７】
また、番組推薦サーバ６において、推薦シーン作成部７５９によって作成された各推薦シーンの度数分布に従って、推薦シーン毎の度数分布を積分した値、あるいは度数分布のピーク度数に基づいて推薦シーン毎に優先度を付与して番組視聴端末５に送信してもよい。この場合、特定シーン抽出部７３３は、推薦シーンの表示を行う場合、優先度に比例したテキストの大きさ、又はキャプチャの大きさで推薦シーンを表示するとなお良い。これによって、ユーザは一目で番組シーンの優先度を判断できる。
【０２２８】
ステップＳ８４において推薦シーンをモニタ７１１に表示したら、特定シーン抽出部７３３は、ユーザによる推薦シーンの選択及び再生指示が発行されたか否かを判断する（ステップＳ８５）。ここで、推薦シーンの再生指示が発行されていないと判断された場合（ステップＳ８５でＮＯ）、ステップＳ８８の処理へ移行する。一方、推薦シーンの再生指示が発行されたと判断された場合（ステップＳ８５でＹＥＳ）、特定シーン抽出部７３３は、推薦番組情報から、ユーザにより選択された番組の番組識別情報と推薦シーンの開始時刻とを抽出する。そして、再生制御部７１６は、記録媒体７１５から、特定シーン抽出部７３３によって抽出された番組識別情報に対応した番組情報を読み出して、特定シーン抽出部７３３によって抽出された開始時刻から推薦シーンの再生を行う（ステップＳ８６）。
【０２２９】
次に、特定シーン抽出部７３３は、推薦シーンの再生処理が終了したか否かを判断する（ステップＳ８７）。推薦シーンの再生処理が終了していないと判断された場合（ステップＳ８７でＮＯ）、特定シーン抽出部７３３は、推薦シーンの再生処理が終了するまで待機する。
【０２３０】
一方、推薦シーンの再生処理が終了したと判断された場合（ステップＳ８７でＹＥＳ）、特定シーン抽出部７３３は、番組推薦サーバ６によって送信された推薦番組情報に含まれる全ての推薦シーン情報の再生処理が終了したか否かを判断する（ステップＳ８８）。全ての推薦シーン情報の再生処理が終了していないと判断された場合（ステップＳ８８でＮＯ）、ステップＳ８３の処理に戻り、残りの推薦シーン情報についての処理が行われる。一方、全ての推薦シーン情報の再生処理が終了したと判断された場合（ステップＳ８８でＹＥＳ）、全ての処理を終了する。
【０２３１】
一方、推薦番組情報が抽出されていないと判断された場合、すなわち、人気番組情報が抽出されたと判断された場合（ステップＳ８２でＮＯ）、番組記録判定部７３０は、推薦番組情報抽出部７２９によって抽出された人気番組情報に含まれる人気シーン情報に付随する人気シーンに対応した番組識別情報に基づいて、人気シーンを含む番組が記録媒体７１５に記録済みであるか否かを判断する（ステップＳ８９）。なお、ステップＳ８９では、番組の記録だけではなく、人気シーンの開始時刻及び終了時刻に基づいて人気シーン自体が記録媒体７１５に記録されるか否かを判断するほうが好適である。ここで、人気シーンを含む番組、あるいは人気シーンそのものが記録媒体７１５に記録済みでないと判断された場合（ステップＳ８９でＮＯ）、ステップＳ９４の処理に移行する。
【０２３２】
一方、人気シーンを含む番組、あるいは人気シーンそのものが記録媒体７１５に記録済みであると判断された場合（ステップＳ８９でＹＥＳ）、特定シーン抽出部７３３は、人気番組をモニタ７１１に表示する（ステップＳ９０）。このとき、特定シーン抽出部７３３は、番組の名称と同時に、人気シーンの開始時刻及び終了時刻、人気シーンの時間的長さ、及び人気シーン内のキャプチャ画像又は映像を表示するとよい。
【０２３３】
また、番組推薦サーバ６において、推薦シーン作成部７５９によって作成された各人気シーンの度数分布に従って、人気シーン毎の度数分布を積分した値、あるいは度数分布のピーク度数に基づいて人気シーン毎に優先度を付与して番組視聴端末５に送信してもよい。この場合、特定シーン抽出部７３３は、人気シーンの表示を行う場合、優先度に比例したテキストの大きさ、又はキャプチャの大きさで人気シーンを表示するとなお良い。これによって、ユーザは一目で番組シーンの優先度を判断できる。
【０２３４】
ステップＳ９０において人気シーンをモニタ７１１に表示したら、特定シーン抽出部７３３は、ユーザによる人気シーンの選択及び再生指示が発行されたか否かを判断する（ステップＳ９１）。ここで、人気シーンの再生指示が発行されていないと判断された場合（ステップＳ９１でＮＯ）、ステップＳ９４の処理へ移行する。一方、人気シーンの再生指示が発行されたと判断された場合（ステップＳ９１でＹＥＳ）、特定シーン抽出部７３３は、人気番組情報から、ユーザにより選択された番組の番組識別情報と人気シーンの開始時刻とを抽出する。そして、再生制御部７１６は、記録媒体７１５から、特定シーン抽出部７３３によって抽出された番組識別情報に対応した番組情報を読み出して、特定シーン抽出部７３３によって抽出された開始時刻から人気シーンの再生を行う（ステップＳ９２）。
【０２３５】
次に、特定シーン抽出部７３３は、人気シーンの再生処理が終了したか否かを判断する（ステップＳ９３）。人気シーンの再生処理が終了していないと判断された場合（ステップＳ９３でＮＯ）、特定シーン抽出部７３３は、人気シーンの再生処理が終了するまで待機する。
【０２３６】
一方、人気シーンの再生処理が終了したと判断された場合（ステップＳ９３でＹＥＳ）、特定シーン抽出部７３３は、番組推薦サーバ６によって送信された人気番組情報に含まれる全ての人気シーン情報の再生処理が終了したか否かを判断する（ステップＳ９４）。全ての人気シーン情報の再生処理が終了していないと判断された場合（ステップＳ９４でＮＯ）、ステップＳ８９の処理に戻り、残りの人気シーン情報についての処理が行われる。一方、全ての人気シーン情報の再生処理が終了したと判断された場合（ステップＳ９４でＹＥＳ）、全ての処理を終了する。
【０２３７】
なお、ステップＳ８３において、番組記録判定部７３０は、推薦シーンを含む番組が記録されているかの判断に加え、推薦シーンを含む番組あるいは推薦シーンが既に当該ユーザによって再生されたと判断した場合には、その推薦シーンの再生を行わず、次の推薦シーンの再生へと移行してもよい。これには、記録媒体７１５に記録されている番組に対して再生された部分には、再生したユーザのユーザ情報とともに既再生フラグを時間軸に対応させて付与する。これにより、ユーザ毎に番組内のどのシーンを閲覧したかの判定が可能となるので、推薦シーンが既に再生されている場合は、ステップＳ８４で推薦シーンを表示させなくしても良い。
【０２３８】
以上、説明したように本番組推薦システムを利用すれば、ユーザが番組の嗜好シーンに直接マーキングを施し、ユーザ毎の嗜好シーンを番組推薦サーバ６で管理し、類似したマーキング情報を持ったユーザをグルーピングし、当該グループの中でマーキング度数を生成して、このマーキング度数を基にして、ユーザにその他の嗜好に関するシーンを推薦できる。よって、ユーザは、番組自体を紹介されるときよりも、必要最低限のシーンのみを効率的に視聴することが可能となる。また、人気番組などのほぼ全てのユーザがマーキングしてしまう番組があったとしても、グループ内の推薦番組情報を生成するときにユーザ全体の視聴傾向を削除して、真にグループ内のユーザに特化した番組内のシーンの推薦を可能とする。
【０２３９】
次に、第２の実施形態における番組推薦システムの応用例について説明する。図１６は、マーキング送信部７２７とマーキング受信部７５０との間で送受信されるマーキング情報のデータ構造の一例を示す図である。図１６に示すマーキング情報は、ユーザ情報“Ａ”で特定されるユーザが、番組ＩＤ“１”で特定される番組を、番組開始から７分間マーキングしたときのデータ構造である。番組視聴端末５は、ユーザ情報“Ａ”と、番組ＩＤ“１”と、番組を開始から７分間マーキングしたことを表す時間情報とを含むマーキング情報を番組推薦サーバ６に送信する。
【０２４０】
図１７は、マーキングＤＢ７５５に記憶されている番組推薦サーバ６の登録ユーザごとのマーキング情報のデータ構造の一例を示す図である。今、ユーザＩＤ“Ａ”及び番組ＩＤ“１”を含むマーキング情報が送付されてきたので、ユーザＩＤ“Ａ”がユーザ属性ＤＢ７５２に登録されているか否かがユーザ管理部７５１によって確認される。ユーザＩＤ“Ａ”が登録されている場合、受信した図１６に示すマーキング情報がマーキングＤＢ７５５に登録される。これにより、図１６に示すように、ユーザＩＤ“Ａ”に関するマーキング情報１００１がマーキングＤＢ７５５に追加される。
【０２４１】
本例では、ユーザＩＤ“Ａ”以外に予めユーザＩＤ“Ｂ”、“Ｃ”、“Ｄ”が番組ＩＤ“１”に対して対応付けられている。マーキング情報１００２は、ユーザＩＤ“Ｂ”と、番組ＩＤ“１”と、番組を２〜８分までマーキングしたことを表す時間情報とを含み、マーキング情報１００３は、ユーザＩＤ“Ｃ”と、番組ＩＤ“１”と、番組を５〜１２分までマーキングしたことを表す時間情報とを含み、マーキング情報１００４は、ユーザＩＤ“Ｃ”と、番組ＩＤ“１”と、番組を１〜８分までと１６〜２５分までの２回マーキングしたことを表す時間情報とを含む。
【０２４２】
コミュニティマーキング統計部７５６は、このように受信したマーキング情報と同じ番組へマーキングを行っているユーザを抽出し、グルーピングのための各マーキング情報の類似度の判定を行う。
【０２４３】
図１８は、図１７で示したマーキング情報を時間軸で示したタイミングチャートである。ユーザ“Ａ”の番組“１”におけるマーキング時間１１０１は、番組の開始位置から７分後までの７分間である。マーキングＤＢ７５５に記憶されているユーザ“Ｂ”の番組“１”におけるマーキング時間１１０２は、番組開始位置の２分後から９分後までの７分間である。よって、ユーザ“Ａ”のマーキング時間１１０１と、ユーザ“Ｂ”のマーキング時間１１０２とは互いに５０％以上の重なりを有し、ユーザ“Ａ”とユーザ“Ｂ”とは同じグループにグループ化される。
【０２４４】
また、マーキングＤＢ７５５に記憶されているユーザ“Ｃ”の番組“１”におけるマーキング時間１１０３は、番組開始位置の５分後から１２分後までの７分間である。よって、ユーザ“Ａ”のマーキング時間１１０１と、ユーザ“Ｃ”のマーキング時間１１０３とは互いに５０％以上の重なりを有さず、ユーザ“Ａ”のグループにユーザ“Ｃ”をグループ化しない。
【０２４５】
さらに、マーキングＤＢ７５５に記憶されているユーザ“Ｄ”の番組“１”におけるマーキング時間１１０４は、番組開始位置の１分後から８分後までの７分間であり、マーキング時間１１０５は、番組開始位置の１６分後から２５分後までの７分間である。よって、ユーザ“Ａ”のマーキング時間１１０１と、ユーザ“Ｄ”のマーキング時間１１０４とは５０％以上の重なりを有し、ユーザ“Ａ”のグループにユーザ“Ｄ”をグループ化する。
【０２４６】
以上のように、コミュニティマーキング統計部７５６は、マーキング受信部７５０によって受信されたマーキング情報を基準として、当該マーキング情報に類似するマーキング情報を有するユーザを、マーキングＤＢ７５５に登録されているマーキング情報の中から抽出してグループ化する。
【０２４７】
図１９は、番組ＩＤ“１”以外の番組ＩＤを含むマーキング情報が記憶されるマーキングＤＢ７５５のデータ構造の一例を示す図である。図１９に示すマーキングＤＢ７５５のデータ構造は、上述のようにユーザ“Ａ”のマーキング情報と類似のマーキング情報を持っていてグループ化されたユーザ“Ｂ”及びユーザ“Ｄ”のマーキング情報に加え、ユーザ“Ｚ”のマーキング情報を記憶しており、番組ＩＤ“１”以外の番組ＩＤを含むマーキング情報を記憶している。
【０２４８】
ユーザＩＤ“Ａ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”及び番組ＩＤ“４”が対応付けられている。マーキング情報１２０１は、ユーザＩＤ“Ａ”と、番組ＩＤ“２”と、番組を０〜４０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２０２は、ユーザＩＤ“Ａ”と、番組ＩＤ“４”と、番組を３０〜７０分及び９０〜１１０分までマーキングしたことを表す時間情報とを含む。
【０２４９】
ユーザＩＤ“Ｂ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”、番組ＩＤ“３”及び番組ＩＤ“４”が対応付けられている。マーキング情報１２０３は、ユーザＩＤ“Ｂ”と、番組ＩＤ“２”と、番組を１０〜５０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２０４は、ユーザＩＤ“Ｂ”と、番組ＩＤ“３”と、番組を１０〜５０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２０５は、ユーザＩＤ“Ｂ”と、番組ＩＤ“４”と、番組を３０〜７０分までマーキングしたことを表す時間情報とを含む。
【０２５０】
ユーザＩＤ“Ｚ”には、番組ＩＤ“１”以外に、番組ＩＤ“３”及び番組ＩＤ“４”が対応付けられている。マーキング情報１２０６は、ユーザＩＤ“Ｚ”と、番組ＩＤ“３”と、番組を１０〜５０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２０７は、ユーザＩＤ“Ｚ”と、番組ＩＤ“４”と、番組を２０〜６０分までマーキングしたことを表す時間情報とを含む。
【０２５１】
ユーザＩＤ“Ｄ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”、番組ＩＤ“３”及び番組ＩＤ“４”が対応付けられている。マーキング情報１２０８は、ユーザＩＤ“Ｄ”と、番組ＩＤ“２”と、番組を２０〜４０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２０９は、ユーザＩＤ“Ｄ”と、番組ＩＤ“３”と、番組を２０〜３０分までマーキングしたことを表す時間情報とを含み、マーキング情報１２１０は、ユーザＩＤ“Ｄ”と、番組ＩＤ“４”と、番組を４０〜５０分及び１００〜１２０分までマーキングしたことを表す時間情報とを含む。
【０２５２】
次に、本グループ内のマーキング情報の集計方法について説明する。図２０は、本番組推薦システムの番組推薦サーバ６のコミュニティマーキング統計部７５６でのグループ内のマーキング情報の集計方法を説明するための概念図である。図２０の横軸方向において、先頭の０〜６０分までが番組ＩＤ“２”の再生時間、ついで０〜６０分までが番組ＩＤ“３”の再生時間、ついで０〜１２０分までが番組ＩＤ“４”の再生時間を表している。
【０２５３】
図２０に示すマーキング時間１３０１，１３０２，１３０３は、ユーザ“Ａ”のマーキング時間を示している。マーキング時間１３０１は、図１９のマーキング情報１２０１で示す番組“２”の番組開始から４０分後までの４０分間である。マーキング時間１３０２は、図１９のマーキング情報１２０２で示す番組“４”の番組開始位置の３０分後から７０分後までの４０分間である。マーキング時間１３０３は、図１９のマーキング情報１２０２で示す番組“４”の番組開始位置の９０分後から１１０分後までの２０分間である。
【０２５４】
図２０に示すマーキング時間１３０４，１３０５，１３０６は、ユーザ“Ｂ”のマーキング時間を示している。マーキング時間１３０４は、図１９のマーキング情報１２０３で示す番組“２”の番組開始位置の１０分後から５０分後までの４０分間である。マーキング時間１３０５は、図１９のマーキング情報１２０４で示す番組“３”の番組開始位置の１０分後から５０分後までの４０分間である。マーキング時間１３０６は、図１９のマーキング情報１２０５で示す番組“４”の番組開始位置の３０分後から７０分後までの４０分間である。
【０２５５】
図２０に示すマーキング時間１３０７，１３０８は、ユーザ“Ｚ”のマーキング時間を示している。マーキング時間１３０７は、図１９のマーキング情報１２０６で示す番組“３”の番組開始位置の１０分後から５０分後までの４０分間である。マーキング時間１３０８は、図１９のマーキング情報１２０７で示す番組“４”の番組開始位置の２０分後から６０分後までの４０分間である。
【０２５６】
図２０に示すマーキング時間１３０９，１３１０，１３１１，１３１２は、ユーザ“Ｄ”のマーキング時間を示している。マーキング時間１３０９は、図１９のマーキング情報１２０８で示す番組“２”の番組開始位置の２０分後から４０分後までの２０分間である。マーキング時間１３１０は、図１９のマーキング情報１２０９で示す番組“３”の番組開始位置の２０分後から３０分後までの１０分間である。マーキング時間１３１１は、図１９のマーキング情報１２１０で示す番組“４”の番組開始位置の４０分後から５０分後までの１０分間である。マーキング時間１３１２は、図１９のマーキング情報１２１０で示す番組“４”の番組開始位置の１００分後から１２０分後までの２０分間である。
【０２５７】
図２０のマーキング度数分布は、コミュニティグループの番組“２”、“３”および“４”のマーキング情報の統計結果を示している。本実施形態における統計処理は、単位時間（本例では１０分）で、ユーザ毎のマーキング数をカウントして度数分布を形成するように集計される。また、この度数分布は、コミュニティグループ内のユーザの総マーキング時間で正規化された後、全ユーザグループの正規化したマーキング統計結果を減算して、コミュニティグループに特化したマーキング度数分布が生成される。本例では、番組“２”、“３”および“４”での正規化統計結果は、どの単位時間でも限りなく“０”に近い分布として算出された例であるので、全ユーザグループの統計結果を減算しても、コミュニティグループ内のマーキング度数分布とほぼ変わらない。
【０２５８】
次に、推薦シーン作成部７５９によって、コミュニティグループ内の正規化されたマーキング度数分布に基づいて、予め定められた閾値１３１６を用いて閾値判定することにより推薦シーンが作成される。
【０２５９】
本例では、閾値１３１６を上回った番組“２”の２０〜４０分の番組シーン１３１３、番組“３”の２０〜３０分の番組シーン１３１４および番組“４”の３０〜５０分の番組シーンが推薦シーンとして作成される。そして、推薦シーンを特定するための時間情報と、推薦シーンを含む番組を識別するための番組識別情報とを含む推薦情報が番組視聴端末５に送信される。また、各番組シーンの度数分布の積分値の高い、番組シーン１３１５、番組シーン１３１３及び番組シーン１３１４の順で、優先度が付与される。
【０２６０】
番組視聴端末５の推薦受信部７２８は、この推薦情報を受け取り、番組記録判定部７３０は、各推薦シーンが記録媒体７１５に記録済みか否かを判定して、記録媒体７１５に記録されていないものは推薦情報から削除する。また、記録媒体７１５は、既に該当ユーザによって再生された推薦シーンも同じように削除して推薦シーンを表示しない。本例では、推薦シーン１３１３及び推薦シーン１３１５は、既にユーザ“Ａ”によって再生済みであるので、推薦シーン１３１３及び推薦シーン１３１５はユーザ“Ａ”には推薦されない。
【０２６１】
本応用例により、番組推薦システムによって、ユーザ“Ａ”が未視聴であって、かつ他のユーザの視聴結果からユーザ“Ａ”の嗜好度の高いと想定される番組シーン１３１４をユーザ“Ａ”に推薦することができる。
【０２６２】
次に、本実施形態の番組推薦システムの第２の応用例について説明する。図２１は、第２の実施形態の第２の応用例のマーキングＤＢのデータ構造の一例を示す図である。図２１では、図１９と同様に、マーキング受信部７５０によって受信したユーザの番組“１”に対するマーキング情報と類似したマーキング情報を持ったユーザをグループ化して、グループ内の全ユーザの番組“１”以外の番組のマーキング情報を示している。ただし、図２１に示すデータ構造は、図１９のデータ構造と比べて、ユーザ操作の種類を示したフラグ１４００を備えるところが異なる。
【０２６３】
マーキングＤＢ７５５のデータ構造は、前述のようにフラグ１４００を有している。すなわち、番組視聴端末５から番組推薦サーバ６に送信されるマーキング情報には、番組への操作の種別を表したフラグが付与される。例えば、番組“Ａ”の１０〜５０分をマーキングした場合には、番組“Ａ”を示す番組識別情報と、１０〜５０分を示すマーキング時間情報あるいはパケット識別情報と、マーキング操作を示す識別情報とで構成されたマーキング情報が送信される。また、この場合、ユーザ操作は、マーキング操作だけに限られない。再生、消去又は早送りなどの操作情報を識別するための識別情報が付加されてもよい。
【０２６４】
図２１のデータ構造は、マーキング受信部７５０によって受信されたユーザ“Ａ”の番組“１”へのマーキングを表すマーキング情報と類似したマーキング情報を持ったユーザ“Ｂ”、“Ｃ”及び“Ｄ”をグループ化して、グループ内で番組“１”以外のマーキング情報をマーキングＤＢ７５５から抽出した結果である。
【０２６５】
ユーザＩＤ“Ａ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”が対応付けられている。マーキング情報１４０１は、番組“２”の０〜５分、１５〜３５分及び５０〜８０分が早送り操作され、５〜１５分、３５〜５０分及び８０〜９５分が再生操作されたというマーキング時間及びフラグを有する。なお、図２１のフラグ１４００において、“Ｆ”は早送り操作を表し、“Ｐ”は再生操作を表し、“Ｍ”はマーキング操作を表し、“Ｄ”は消去操作を表している。
【０２６６】
ユーザＩＤ“Ｂ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”が対応付けられている。マーキング情報１４０２は、番組“２”の３０〜３５分、４５〜６５分及び７０〜９５分が再生操作され、３５〜４５分がマーキング操作され、６５〜７０分が早送り操作されたというマーキング時間及びフラグを有する。
【０２６７】
ユーザＩＤ“Ｃ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”が対応付けられている。マーキング情報１４０３は、番組“２”の０〜１０分、２０〜３５分、４０〜８５分及び９０〜１２５分が再生操作され、１０〜２０分、３５〜４０分及び８５〜９０分がマーキング操作されたというマーキング時間及びフラグを有する。
【０２６８】
ユーザＩＤ“Ｄ”には、番組ＩＤ“１”以外に、番組ＩＤ“２”が対応付けられている。マーキング情報１４０４は、番組“２”の０〜２５分、３０〜６５分、７０〜８５分及び９０〜１２５分が再生操作され、２５〜３０分及び６５〜７０分が削除操作され、８５〜９５分がマーキング操作されたというマーキング時間及びフラグを有する。
【０２６９】
なお、マーキング受信部７５０によって受信されたユーザ“Ａ”のマーキング情報に類似するマーキング情報を抽出してグループを形成する際に、マーキングの時間軸上の重なりあるいはパケットの重なりだけで類似を判断するのではなく、番組に対する操作が一致しているか否かをさらに判断しても良い。すなわち、同じ番組の同一シーンで同じ操作を行ったユーザは、ほぼ同一の嗜好を持っていると判断して、グループ化を行っても良い。
【０２７０】
図２２は、図２１のようにグループ化されたマーキング情報の集計方法を説明するための概念図である。
【０２７１】
図２２に示すストリームは、番組“２”の時間軸でのストリームを仮想的に示している。番組開始位置１５０１から２５〜３０分、及び６５〜７０分にＣＭ（コマーシャルメッセージ）が挿入されて放送されている。
【０２７２】
図２２に示すマーキング時間１５０４は、図２１のマーキング情報１４０１に示すユーザ“Ａ”の番組“１”以外の番組である番組“２”におけるマーキング時間を示している。マーキング時間１５０４において、０〜５分、１５〜３５分及び５０〜８０分は早送り操作が行われ、５〜１５分、３５〜５０分及び８０〜９５分は再生操作が行われている。
【０２７３】
図２２に示すマーキング時間１５０５は、図２１のマーキング情報１４０２に示すユーザ“Ｂ”の番組“１”以外の番組である番組“２”におけるマーキング時間を示している。マーキング時間１５０５において、３０〜３５分、４５〜６５分及び７０〜９５分は再生操作が行われ、３５〜４５分はマーキング操作が行われ、６５〜７０分は早送り操作が行われている。
【０２７４】
図２２に示すマーキング時間１５０６は、図２１のマーキング情報１４０３に示すユーザ“Ｃ”の番組“１”以外の番組である番組“２”におけるマーキング時間を示している。マーキング時間１５０６において、０〜１０分、２０〜３５分、４０〜８５分及び９０〜１２５分は再生操作が行われ、１０〜２０分、３５〜４０分及び８５〜９０分はマーキング操作が行われている。
【０２７５】
図２２に示すマーキング時間１５０７は、図２１のマーキング情報１４０４に示すユーザ“Ｄ”の番組“１”以外の番組である番組“２”におけるマーキング時間を示している。マーキング時間１５０７において、０〜２５分、３０〜６５分、７０〜８５分及び９０〜１２５分は再生操作が行われ、２５〜３０分及び６５〜７０分は削除操作が行われ、８５〜９５分はマーキング操作が行われている。
【０２７６】
図２２のマーキング度数分布は、コミュニティグループのマーキング情報の集計結果を示している。本実施形態における集計処理は、番組の単位時間でのマーキング情報の示す操作情報ごとに異なるポイントを加算することによって集計する。ここでは、例えば、消去フラグ“Ｄ”には“−２”ポイント、早送りフラグ“Ｆ”には“−１”ポイント、再生フラグ“Ｐ”には“＋１” ポイント、マーキングフラグ“Ｍ”には“＋２” ポイントが、単位時間ごとに重み付け加算される。また、集計結果は、コミュニティグループ内の全ユーザの操作フラグの付与されているマーキング時間の総時間で正規化される。
【０２７７】
また、コミュニティグループを包含する番組推薦サーバ６の全登録ユーザで構成される全ユーザグループでも同様に番組“１”以外の番組のマーキング情報が集計され、全ユーザの操作フラグの付与されているマーキング時間の総時間で正規化される。そして、コミュニティグループの正規化された集計結果から全ユーザグループの正規化された集計結果を減算することによって、コミュニティグループに特化した集計結果が作成される。本例では、全ユーザグループでの正規化統計結果は、いずれの単位時間でもほぼ“０”付近となり、減算結果も減算結果前もほぼ同じ集計結果となっている。
【０２７８】
また、減算された集計結果は、予め定められた閾値を用いて閾値判定することによって推薦シーンが生成される。本例では、２つの閾値を用いて、番組シーンの視聴推薦情報と、番組シーンの削除推薦情報を作成する。
【０２７９】
推薦シーン作成部７５９は、正規化して減算された集計結果が上側の第１の閾値１５０８を上回るマーキング時間情報を抽出して番組シーンの視聴推薦シーン１５１０，１５１１，１５１２の視聴推薦情報を生成する。また、推薦シーン作成部７５９は、正規化して減算された集計結果が下側の第２の閾値１５０９を下回るマーキング時間情報を抽出して番組シーンの削除推薦シーン１５１３，１５１４の削除推薦情報を生成する。
【０２８０】
このように作成した視聴推薦情報と削除推薦情報とは、それぞれの番組の番組識別情報と各番組シーンの開始時刻及び終了時刻とを含めて推薦情報として、推薦送信部７６０によって番組視聴端末５に送信される。
【０２８１】
送信された推薦情報は、番組視聴端末５の推薦受信部７２８によって受信され、推薦情報に含まれる番組識別情報に基づいて、番組が記録媒体７１５に記録されているか否かの判定が行われる。記録されていると判定された場合、さらに各番組の番組シーンが記録されているか否かの判定が各番組シーンの開始時刻及び終了時刻に基づいて、番組記録判定部７３０によって行われる。また、番組記録判定部７３０は、番組シーンが記録済みであると判定され、且つその番組シーンが削除推薦シーンであった場合には、自動的に当該番組シーンを削除する。また、番組記録判定部７３０は、番組シーンが記録済みであると判定され、且つその番組シーンが視聴推薦シーンであった場合には、その番組シーンの開始時刻に基づいて番組情報を抽出し、サムネイルを作成してモニタ７１１に表示し、ユーザへの視聴を促す。
【０２８２】
よって本例においては、番組“２”がＣＭであるときに、ＣＭ位置で各ユーザが早送りしたり、削除したりするので、削除推薦シーンとして番組内におけるＣＭ部分が選択されることとなる。
【０２８３】
なお、番組視聴端末５は、番組シーンの削除推薦情報を受信して、当該番組シーンを削除した場合、削除が開始された番組内の時間位置と削除が終了した番組内の時間位置とをつなぎ合わせることが望ましい。
【０２８４】
以上のように、本応用例では、ユーザ操作の種類に応じた重み付け加算によって各ユーザのマーキング情報を集計することによって、番組シーンの視聴推薦だけではなく、番組シーンの削除推薦や早送り推薦などが可能となるとともに、応用例を適用しない本実施形態よりも精度の高い番組推薦を行うことができる。
【０２８５】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。図２３は、第３の実施形態の番組推薦システムの概略構成を示す概念図である。
【０２８６】
第３の実施形態において、放送波あるいはＩＰ網を利用して配信される番組は、番組内の１画面１６００が複数のクラスタ１６０１〜１６０４に分割されている。そして、各クラスタ１６０１〜１６０４は、レーザポインタやマウスなどのポインティングデバイス１６０５によって選択可能に放送される。また、クラスタ１６０２〜１６０４は、番組内の例えば俳優や商品など１つのオブジェクトを包含する形で放送されている。また、これらの各クラスタの座標情報は、番組情報に多重化されている。なお、座標情報は、番組の放送と同期して、クラスタの座標情報を提供するクラスタ情報提供サーバからネットワーク１０を利用して番組視聴端末８に配信される形態でもかまわない。このときは、番組視聴端末８が、受信中の放送の番組識別情報を、図示しないクラスタ情報提供サーバに送信して、送信した番組識別情報に対応したクラスタ情報を受信する。
【０２８７】
ユーザは、ポインティングデバイス１６０５を用いて、画面に表示されるオブジェクトの中から嗜好のオブジェクトを選択する。例えばポインティングデバイスとしてレーザポインタを用いる場合は、番組視聴端末８に接続されたモニタの画面の表面に感光フィルムを付着させて、レーザの照射された座標情報を抽出する。マウスの場合は、画面上に矢印などのマーカーを表示して、ユーザがクリックした場所の座標情報を抽出する。番組に多重化されたクラスタ情報は、クラスタＩＤ記憶部１６０６に記録されている。番組視聴端末８は、ポインティングデバイス１６０５で選択された座標情報に基づいて、その座標情報がどのクラスタに属するかを判定して、多重化されたクラスタ情報に基づいてクラスタ識別情報を獲得して、クラスタ識別情報を、汎用のネットワーク１０によって接続される番組推薦サーバ９に送信する。
【０２８８】
番組推薦サーバ９は、受信したクラスタ識別情報から、同一のクラスタ識別情報をもったユーザを自身のもつクラスタＤＢから抽出して、グループ化する。また、番組推薦サーバ９は、グループ化したユーザに対応付けられているその他の選択されたクラスタ識別情報を、グループ内の全ユーザに対して集計してランキングを形成し、ランキングに基づいて、推薦クラスタを生成する。そして、番組推薦サーバ９は、推薦クラスタを番組視聴端末８に送信する。
【０２８９】
番組視聴端末８のクラスタ検索部１６０８は、推薦されたクラスタ識別情報に基づいて、そのクラスタを含む番組を記録媒体（録画手段）１６０７から検索して、お勧めクラスタとして選択画面１６０９に表示して、ユーザからの選択を促す。お勧めクラスタが選択されるとお勧めクラスタを含む番組の所定の再生時間位置から番組の再生が行われる。また、お勧めクラスタは、お勧めの優先度に基づいた表示形態、例えば、サムネイルの大きさを変える、色を変える等して表示してもよい。図２３では、お勧めクラスタを選択したユーザの数に応じてサムネイルの大きさが変化されて表示されている。
【０２９０】
次に、第３の実施形態の番組推薦システムの構成について説明する。図２４は、第３の実施形態の番組視聴端末の構成を示すブロック図であり、図２５は、第３の実施形態の番組推薦サーバの構成を示すブロック図である。第３の実施形態の番組推薦システムは、例えば番組録画装置などの番組視聴端末８と、複数の番組視聴端末８とインターネットなどの汎用のネットワーク１０を介して互いに通信可能に接続される番組推薦サーバ９とで構成される。なお、第３の実施形態の番組推薦システムの構成は、図２に示す番組推薦システムの構成と同じである。本来、番組推薦サーバ９には、複数の番組視聴端末８が接続されるが、説明の簡易化のために１台の番組視聴端末８が接続された形態について説明する。
【０２９１】
番組視聴端末８は、放送波又はＩＰ網から番組を受信して、番組を視聴したり、番組を録画したり、録画した番組を再生したり、録画した番組を消去したり、番組の録画予約をしたりする。番組視聴端末８は、アンテナ１７０１、チューナ１７０２、ＴＳデコーダ１７０３、ＣＡＳ１７０４、暗号解除部１７０５、デマルチプレクサ１７０６、ＭＰＥＧ  Ｖｉｄｅｏデコーダ１７０７、ＭＰＥＧ  Ａｕｄｉｏデコーダ１７０８、ＨＤＭＩ端子１７０９、記録用暗号化部１７１３、記録制御部１７１４、記録媒体１７１５、再生制御部１７１６、記録用復号化部１７１７、ＰＳＩ抽出部１７１８、ＥＰＧ記憶部１７１９、ポインタ受光部１７２０、座標抽出部１７２１、クラスタ識別情報抽出部１７２２、クラスタ記憶部１７２３、キー１７２４、ユーザ識別部１７２５、ユーザ情報ＤＢ１７２６、クラスタ送信部１７２７、推薦受信部１７２８、推薦番組情報抽出部１７２９、クラスタ検索部１７３０、推薦再生制御部１７３２及び拡大制御部１７３３から構成される。
【０２９２】
また、番組推薦サーバ９は、クラスタ受信部１７５０、ユーザ管理部１７５１、ユーザ属性ＤＢ１７５２、クラスタ登録部１７５４、クラスタ再生時間管理部１７５５、クラスタＤＢ１７５６、コミュニティクラスタ統計部１７５７、全ユーザクラスタ統計部１７５８、コミュニティ特化部１７５９、推薦クラスタ作成部１７６０及び推薦送信部１７６１から構成される。
【０２９３】
チューナ１７０２は、例えば地上波デジタル放送やＢＳデジタル放送などの放送波から所定チャンネルの放送波を受信して、放送波をＴＳデコーダ１７０３に出力する。ＴＳデコーダ１７０３は、受信した一般的なトランスポート・ストリーム形式の放送波を復調して暗号解除部１７０５に出力する。
【０２９４】
ＣＡＳ１７０４は、一般的なＣｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍで、ユーザの登録情報及び番組の暗号鍵の記録されたＩＣカードから暗号鍵情報を読み出し、暗号解除部１７０５に出力する。
【０２９５】
暗号解除部１７０５は、ＴＳデコーダ１７０３によって復調された、暗号化された放送信号を、ＣＡＳ１７０４からの暗号鍵をもとに復号化し、暗号化された番組情報の暗号を解除してデマルチプレクサ１７０６に出力する。
【０２９６】
デマルチプレクサ１７０６は、番組情報として多重化されている情報を分離する。番組情報には、少なくともビデオ情報、オーディオ情報及び番組管理情報が多重化され、これらを分離後、ビデオ情報をＭＰＥＧ  Ｖｉｄｅｏデコーダ１７０７へ、オーディオ情報をＭＰＥＧ  Ａｕｄｉｏデコーダ１７０８へ、番組管理情報をＰＳＩ抽出部１７１８へ出力する。
【０２９７】
ＭＰＥＧ  Ｖｉｄｅｏデコーダ１７０７は、デマルチプレクサ１７０６からのビデオ情報を復調して映像データに変換し、ＨＤＭＩ端子１７０９に出力する。ＭＰＥＧ  Ａｕｄｉｏデコーダ１７０８は、デマルチプレクサ１７０６からのオーディオ情報を復調してオーディオデータに変換し、ＨＤＭＩ端子１７０９に出力する。ＨＤＭＩ端子１７０９は、ＨＤＭＩケーブルを介して外部のＨＤＭＩ端子１７１０と接続されており、ＨＤＭＩ端子１７１０は、モニタ１７１１及びスピーカ１７１２と接続されている。
【０２９８】
ＨＤＭＩ端子１７０９，１７１０は、一般的な映像情報、音声情報用のＨＤＭＩインタフェースであり、番組視聴端末８とモニタ１７１１及びスピーカ１７１２とを互いに相互認証するとともに、暗号鍵の共通化を行い、共通化した暗号鍵で、映像データや音声データを暗号化して、モニタ１７１１やスピーカ１７１２に出力する。
【０２９９】
モニタ１７１１は、一般的な番組の映像情報の表示装置であって、ＨＤＭＩ端子１７１０で受信した暗号化された映像データを復号して番組の映像データを出力する。スピーカ１７１２は、一般的な番組の音声情報の出力装置であって、ＨＤＭＩ端子１７１０で受信した暗号化された映像データを復号して番組の音声データを出力する。
【０３００】
記録用暗号化部１７１３は、受信した番組情報を記録媒体に記録するための暗号処理を施す。記録用暗号化部１７１３は、デマルチプレクサ１７０６から入力された番組情報を暗号化して記録制御部１７１４に出力する。従って、記録用暗号化部１７１３は、番組情報を記録する記録媒体に特有の暗号化処理を行う。例えば、ＤＶＤ−ＲＡＭではＣＰＲＭ（Ｃｏｎｔｅｎｔ  Ｐｒｏｔｅｃｔｉｏｎ  ｆｏｒ  Ｒｅｗｒｉｔａｂｌｅ  Ｍｅｄｉａ）、Ｂｌｕ−ｒａｙディスクやＨＤ−ＤＶＤでは、ＡＡＣＳ（Ａｄｖａｎｃｅｄ  Ａｃｃｅｓｓ  Ｃｏｎｔｅｎｔ  Ｓｙｓｔｅｍ）が用いられる。
【０３０１】
記録制御部１７１４は、記録用暗号化部１７１３によって暗号化された番組情報を記録媒体１７１５への記録を制御する。記録制御部１７１４は、記録媒体特有の変調処理や誤り訂正符号化処理を行うことによって記録媒体に番組情報を記録する。
【０３０２】
記録媒体１７１５は、番組情報を記録するコンピュータ読み取り可能な記録媒体であって、例えば、ハードディスクのような磁気記録ディスクやＤＶＤ、Ｂｌｕ−ｒａｙディスクなどの光ディスク、ＳＤカードのような半導体メモリ、及びＭＯ／ＭＤのような光磁気記録媒体が用いられる。
【０３０３】
再生制御部１７１６は、記録媒体１７１５から記録媒体に記録されている番組情報を読み出す。なお、記録制御部１７１４、記録媒体１７１５及び再生制御部１７１６は、ドライブシステムとして構成されるのが一般的である。
【０３０４】
記録用復号化部１７１７は、記録用暗号化部１７１３の暗号化に対応する復号を行う。記録用復号化部１７１７は、暗号化して記録媒体１７１５に記録された番組情報の暗号を復号化してＴＳデコーダ１７０３に出力する。なお、ＴＳデコーダ１７０３に出力された番組情報の再生処理は、上述のアンテナ１７０１で受信した番組の再生処理と同様である。
【０３０５】
ＰＳＩ抽出部１７１８は、デマルチプレクサ１７０６で抽出した番組管理情報からＰＳＩ（Ｐｒｏｇｒａｍ  Ｓｐｅｃｉｆｉｃ  Ｉｎｆｏｒｍａｔｉｏｎ）を抽出する。ＰＳＩの中には、主に、ＰＭＴ（Ｐｒｏｇｒａｍ  Ｍａｐ  Ｔａｂｌｅ）、ＥＩＴ（Ｅｖｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔａｂｌｅ）やＴＯＴ（Ｔｉｍｅ  Ｏｆｆｓｅｔ  Ｔａｂｌｅ）などの情報が含まれる。
【０３０６】
ＰＭＴは、番組に含まれる画像や音声などの各パケット識別情報を格納している。よって、ＰＭＴから画像や音声などのパケット識別情報を得ることが出来れば、それらパケット識別情報のついたパケットを抽出することでプログラムを再生できる。
【０３０７】
ＥＩＴは、番組の名称、放送日時及び放送内容などの番組に関連する情報が含まれる。ＥＰＧ（Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ）は主にこの情報を用いて作成される。
【０３０８】
ＥＰＧ記憶部２１９は、ＰＳＩ抽出部２１８で抽出したＰＳＩ中のＥＩＴを用いてＥＰＧ情報を作成して、記憶する。ポインタ受光部１７２０は、例えばポインティングデバイスがレーザポインタで構成される場合に、レーザポインタで指示された位置を抽出する。なお、ポインティングデバイスがマウスで構成されるときには、このポインタ受光部１７２０は必要ない。
【０３０９】
座標抽出部１７２１は、ポインタ受光部１７２０でレーザポインタの照射された位置情報を画面内の座標情報に変換する。座標抽出部１７２１は、モニタ１７１１の画面内の横方向をｘ軸、縦方向をｙ軸とした２次元座標情報を獲得する。
【０３１０】
クラスタ識別情報抽出部１７２２は、デマルチプレクサ１７０６によって分離された、番組データに多重化されていた番組管理情報からクラスタ情報を抽出する。クラスタ情報は、番組内に定義されているクラスタのクラスタ識別情報と、クラスタ毎の座標情報とが示されている。クラスタは、動画フレーム内の２次元座標で指定された、ユーザによって選択可能に分割された番組の部分情報である。例えば、フレーム内の出演俳優などのオブジェクトを包含するようなクラスタが定義される。また、時間軸で連続したフレームに出現する同一オブジェクトは、同一のクラスタ識別情報が付与されるとともに、番組フレーム単位にオブジェクトの存在位置に同期して座標を変化させて定義される。また、本実施形態におけるクラスタは、矩形状である。クラスタの座標情報は、クラスタの左上端部の画素に対応する座標と、右下端部の画素に対応する座標とを含む。
【０３１１】
また、クラスタ識別情報抽出部１７２２は、ユーザによってポインティングデバイスで選択された番組の座標情報を抽出して、座標情報と、番組に多重化されているクラスタ情報とを比較することによって、ユーザが選択したクラスタを識別して、そのクラスタ識別情報を抽出してクラスタ記憶部１７２３に出力する。
【０３１２】
なお、クラスタ情報は、番組内に多重化されている形態について説明したがこれに限られない。クラスタ情報は、汎用のネットワーク１０に接続されたクラスタ情報提供サーバなどから入手してもよい。この場合、番組視聴端末８は、ユーザが視聴及び選択された番組の番組識別情報をクラスタ情報提供サーバに送信して、ユーザに視聴及び選択された番組に対応したクラスタ情報を入手する。また、ユーザによってクラスタが選択されると、対象の番組の番組識別情報および番組の時間情報、選択されたクラスタの座標情報をクラスタ情報提供サーバに送信して、選択されたクラスタに対応するクラスタ情報を入手してもかまわない。
【０３１３】
クラスタ記憶部１７２３は、クラスタ識別情報抽出部１７２２によって抽出されたユーザによりポインティングデバイスを用いて選択されたクラスタを識別するためのクラスタ識別情報と、ＰＳＩ抽出部１７１８によって抽出されたクラスタ選択時の番組の時間情報と、フレームごとのクラスタの座標情報とを、当該番組の番組識別情報に対応付けて記憶する。ユーザが複数のクラスタを選択した場合でも、クラスタ記憶部１７２３は、複数のクラスタ識別情報を記憶する。
【０３１４】
キー１７２４は、ユーザからの入力を受け付ける部分であり、リモコンやフロントパネルで構成される。ユーザ情報ＤＢ１７２６は、番組視聴端末８を使用する全ユーザのユーザ情報の登録されているデータベースである。ユーザ識別部１７２５は、キー１７２４を用いて入力されるユーザ情報と、ユーザ情報ＤＢ１７２６に記憶されているユーザ情報とに基づいて、番組視聴端末８を使用するユーザを識別する。また、ユーザ識別部１７２５は、ユーザの認証に成功すると現在使用中のユーザのユーザ情報をクラスタ送信部１７２７に出力する。
【０３１５】
クラスタ送信部１７２７は、汎用のネットワーク１０によって接続される番組推薦サーバ９との接続を確立して、クラスタ記憶部１７２３に記憶されているユーザが選択したクラスタのクラスタ識別情報と、クラスタ選択時における番組の時間情報と、当該番組を識別するための番組識別情報と、フレームごとのクラスタの座標情報とを、ユーザ識別部１７２５からのユーザ識別情報と対応付けて、ユーザクラスタ情報として番組推薦サーバ９に送信する。
【０３１６】
推薦受信部１７２８は、汎用のネットワーク１０を介して、番組推薦サーバ９の推薦する番組に関する推薦情報を受信する。推薦番組情報抽出部１７２９は、推薦受信部１７２８で受信した推薦情報から、推薦番組情報を抽出する。推薦番組情報は、推薦する番組を一意に識別できる情報であり、例えば、番組識別情報や、番組の放送日時及びチャンネル情報である。また、推薦番組情報抽出部１７２９は、推薦番組情報に付与されている推薦番組内の推薦クラスタのクラスタ識別情報と、当該推薦クラスタの番組内の時間を示したクラスタ時間情報と、推薦クラスタの座標情報とを抽出する。
【０３１７】
クラスタ検索部１７３０は、推薦番組情報抽出部１７２９によって抽出された推薦番組の番組識別情報に基づいて記録媒体１７１５を検索し、当該番組が記録されているか否かを判定する。当該番組が記録されていると判定された場合、クラスタ検索部１７３０は、番組推薦サーバ９によって推薦された推薦クラスタのクラスタ識別情報あるいは推薦クラスタの開始時間情報から、推薦クラスタが記録媒体１７１５に記録されているか否かを判定する。推薦クラスタが記録媒体１７１５記録されていると判定された場合、クラスタ検索部１７３０は、推薦再生制御部１７３２に推薦クラスタ情報を出力する。
【０３１８】
推薦再生制御部１７３２は、クラスタ検索部１７３０から入力される推薦クラスタ情報に基づいて、推薦される番組を、推薦クラスタの再生開始位置から再生する。また、推薦再生制御部１７３２は、再生する前に、推薦クラスタの最初のフレーム画面を記録媒体１７１５から呼び出して、サムネイル表示を行い、ユーザに再生を促す。この場合、推薦再生制御部１７３２は、複数の推薦クラスタ情報から、推薦クラスタを呼び出してサムネイル画像を作成してリスト表示を行う。ユーザによってサムネイル画像が選択された場合、推薦再生制御部１７３２は、サムネイル画像に対応する推薦クラスタの再生開始位置から番組を再生する。
【０３１９】
拡大制御部１７３３は、ユーザからの設定操作に従って、番組内の推薦クラスタを拡大して表示する。この場合、番組推薦サーバ９からの推薦クラスタ情報に、クラスタの座標情報が付加されており、この座標情報をもとに番組の推薦クラスタを拡大して表示する。これによって、ユーザは、嗜好のクラスタを拡大して再生することができる。また、拡大制御部１７３３は、ＭＰＥＧ  Ｖｉｄｅｏデコーダ１７０７からの出力に対して、推薦クラスタ情報が示す座標範囲を拡大して表示する。拡大制御部１７３３は、推薦クラスタが画面内に最大となるように拡大する。
【０３２０】
次に、本実施形態の番組推薦システムにおける番組推薦サーバ９の構成について説明する。
【０３２１】
クラスタ受信部１７５０は、汎用のネットワーク１０に接続された複数の番組視聴端末８のクラスタ送信部１７２７から、各ユーザによって選択された番組を識別するための番組識別情報と、番組内において選択されたクラスタを識別するためのクラスタ識別情報と、選択を行ったユーザのユーザ情報と、クラスタ選択時における番組の時間情報と、フレームごとのクラスタの座標情報とを含むユーザクラスタ情報を受信する。番組識別情報は、選択を行った番組を一意に識別可能な番組識別情報、あるいは選択された番組の番組放送日時、チャンネル情報及び放送局識別情報である。受信したユーザクラスタ情報は、ユーザ管理部１７５１に出力される。
【０３２２】
ユーザ属性ＤＢ１７５２は、登録ユーザのユーザ識別情報と、必要であれば、ユーザ氏名、性別、住所／電話番号、番組視聴端末のメーカ／機種、接続するモニタの解像度および番組視聴端末のネットワークＩＤなどのユーザ属性情報とをユーザ登録リストとして管理する。ユーザは、予め番組推薦サーバ９に、番組推薦を行うためのユーザ登録処理を行う。ユーザ登録処理には、ユーザ名の設定、住所／電話番号の通知などユーザ登録情報の通知を行った後、番組推薦サーバ９側で、該ユーザにユーザ情報を生成して通知し、ユーザ属性ＤＢ１７５２で生成したユーザ情報に対応付けて、ユーザから通知されたユーザ属性情報を記憶／管理する。
【０３２３】
ユーザ管理部１７５１は、受信したユーザ情報により特定されるユーザが、番組推薦サーバ９の登録ユーザであるか否かを判定する。ユーザ管理部１７５１は、ユーザ属性ＤＢ１７５２に記憶されているユーザ登録リストの中から、受信したユーザ情報に一致するユーザ情報を検索する。受信したユーザ情報がユーザ属性ＤＢ１７５２に登録されていると判断された場合、番組推薦サーバ９の登録ユーザであると判断して、処理を継続する。
【０３２４】
一方、受信したユーザ情報がユーザ属性ＤＢ１７５２に登録されていないと判断された場合、番組推薦サーバ９の未登録ユーザであるとして、当該ユーザの使用する番組視聴端末８に登録ユーザでない旨のエラーメッセージを送信して以後の処理を中断する。エラーメッセージを受信した番組視聴端末８は、当該エラーメッセージをモニタ１７１１に表示する。
【０３２５】
クラスタ登録部１７５４は、ユーザ管理部１７５１によってユーザが番組推薦サーバ９の登録ユーザであると判断された場合、クラスタ受信部１７５０によって受信されたユーザ毎のユーザクラスタ情報を、受信したユーザ情報に対応付けて、クラスタＤＢ１７５６に記憶する。
【０３２６】
また、クラスタ登録部１７５４は、ユーザクラスタ情報内に含まれる選択されたクラスタのクラスタ識別情報と、当該クラスタの番組内の時間位置情報と、当該クラスタが含まれる番組を識別するための番組識別情報とを抽出して、クラスタ再生時間管理部１７５５に記憶する。クラスタ再生時間管理部１７５５は、クラスタ識別情報と、時間位置情報と、番組識別情報とを対応付けて記憶／管理する。なお、時間位置情報に対応付けられた各フレーム内の当該クラスタの画面内の座標情報がユーザクラスタ情報に含まれる場合、クラスタ再生時間管理部１７５５は、クラスタ識別情報と、時間位置情報と、座標情報とを記憶する。
【０３２７】
コミュニティクラスタ統計部１７５７は、クラスタ受信部１７５０によって受信されたユーザクラスタ情報に含まれるクラスタ識別情報と同じクラスタ識別情報を持ったユーザを、クラスタＤＢ１７５６から選択してグループ化する。同一クラスタ識別情報を持ったユーザは、クラスタＤＢ１７５６にユーザ情報に対応付けて管理されているクラスタ識別情報をもとにグループ化される。また、コミュニティクラスタ統計部１７５７は、グループ化されたグループに属する全ユーザのクラスタ識別情報に基づいて、クラスタ受信部１７５０で受信したクラスタ識別情報の示すクラスタ以外の全てのクラスタを集計し、集計結果を、グループ内のユーザの選択した全クラスタ数で正規化する。
【０３２８】
全ユーザクラスタ統計部１７５８は、クラスタ受信部１７５０によって受信されたクラスタ識別情報を持った全ユーザをコミュニティグループとしてグループ化するコミュニティクラスタ統計部１７５７とは異なり、ユーザ属性ＤＢ１７５２に登録されている全ユーザ、すなわち番組推薦サーバ９への全登録ユーザを、コミュニティグループを包含する全ユーザグループとしてグルーピングする。
【０３２９】
また、全ユーザクラスタ統計部１７５８は、全ユーザのグルーピング後、全ユーザのクラスタ識別情報に基づいて、クラスタ受信部１７５０で受信したクラスタ識別情報の示すクラスタ以外の全てのクラスタを集計し、集計結果を番組推薦サーバ９の登録ユーザの選択した全クラスタ数で正規化する。
【０３３０】
コミュニティ特化部１７５９は、コミュニティクラスタ統計部１７５７によって正規化された集計結果から、全ユーザクラスタ統計部１７５８によって正規化された集計結果を減算して、当該コミュニティグループに特化したクラスタのコミュニティグループ内の集計ランキングを作成する。作成したコミュニティグループ内の集計ランキングは、推薦クラスタ作成部１７６０に出力される。
【０３３１】
推薦クラスタ作成部１７６０は、コミュニティ特化部１７５９からのコミュニティグループ内の集計ランキングの上位クラスタ、あるいは集計ランキングの度数を閾値判定して閾値以上の度数のあるクラスタを推薦クラスタとして抽出する。推薦クラスタ作成部１７６０は、推薦クラスタに対応するクラスタ識別情報に基づいて、クラスタ再生時間管理部１７５５から、番組内の推薦クラスタの出現時間（再生時間）を表す時間情報と、その時間情報に対応して１フレーム毎の推薦クラスタの座標情報とを呼び出す。推薦クラスタ作成部１７６０は、推薦クラスタを識別するためのクラスタ識別情報と、推薦クラスタの時間情報と、推薦クラスタの座標情報と、推薦クラスタを含む番組を識別するための番組識別情報とをセットとして、推薦番組情報を作成する。
【０３３２】
また、推薦クラスタ作成部１７６０は、全ユーザクラスタ統計部１７５８からの全ユーザのクラスタの正規化された集計結果を入力し、集計結果をクラスタ数の多い順番にランキングしてランキング上位のクラスタ、あるいは集計結果を閾値判定して閾値以上のクラスタ数を有するクラスタを人気クラスタとして抽出する。推薦クラスタ作成部１７６０は、人気クラスタに対応するクラスタ識別情報に基づいて、クラスタ再生時間管理部１７５５から、番組内の人気クラスタの出現時間（再生時間）を表す時間情報と、その時間情報に対応して１フレーム毎の人気クラスタの座標情報とを呼び出す。推薦クラスタ作成部１７６０は、人気クラスタを識別するためのクラスタ識別情報と、人気クラスタの番組内の時間情報と、人気クラスタの座標情報と、人気クラスタを含む番組を識別するための番組識別情報とをセットとして、人気番組情報を作成する。推薦クラスタ作成部１７６０によって作成された推薦番組情報と人気番組情報とは、推薦情報として推薦送信部１７６１に出力される。
【０３３３】
推薦送信部１７６１は、汎用のネットワーク１０で接続された番組視聴端末８との接続を確立して、推薦クラスタ作成部１７６０で作成した推薦番組情報及び人気番組情報を含む推薦情報を番組視聴端末８に送信する。
【０３３４】
以下、本実施形態における番組推薦システムの動作について説明する。例えば、ユーザＡが、ユーザＡの所有する番組視聴端末８によって、番組Ａ内のクラスタを選択する。番組視聴端末８は、ユーザＡを識別するためのユーザ情報と、番組Ａに多重化されているクラスタを識別するためのクラスタ識別情報と、クラスタの出現時間情報と、フレームごとのクラスタの座標情報と、クラスタを含む番組を識別するための番組識別情報とをユーザクラスタ情報として番組推薦サーバ９に送信する。
【０３３５】
番組推薦サーバ９のクラスタ受信部１７５０は、ユーザＡの所有する番組視聴端末８から、ユーザ情報と、クラスタ識別情報と、時間情報と、座標情報と、番組識別情報とを含むユーザクラスタ情報を受信する。ユーザ管理部１７５１は、受信したユーザ情報がユーザ属性ＤＢ１７５２に記憶されているか否かを判定し、記憶されていれば、ユーザＡが番組推薦サーバ９の登録ユーザであるとして、処理を継続する。
【０３３６】
クラスタ登録部１７５４は、ユーザＡを識別するためのユーザ情報に対応付けて、クラスタ識別情報と、時間情報と、座標情報と、番組識別情報とをクラスタＤＢ１７５６に登録する。コミュニティクラスタ統計部１７５７は、受信したユーザクラスタ情報に含まれるクラスタ識別情報と同じクラスタ識別情報を持った全ユーザをクラスタＤＢ１７５６から抽出してコミュニティグループを形成する。また、コミュニティクラスタ統計部１７５７は、コミュニティグループ内における番組Ａ以外の番組に含まれるクラスタを統計的に処理する。そして、コミュニティクラスタ統計部１７５７は、コミュニティグループ内における番組Ａ以外の番組に含まれるクラスタのうち、選択されたクラスタの数が多い順番にランキングを形成し、形成したランキングをコミュニティ特化部１７５９に出力する。
【０３３７】
全ユーザクラスタ統計部１７５８は、番組推薦サーバ９のユーザ属性ＤＢ１７５２に登録されている全ユーザをコミュニティクラスタ統計部１７５７で形成したコミュニティグループを包含する全ユーザグループとして形成する。全ユーザクラスタ統計部１７５８は、全ユーザグループ内のユーザ情報に対応付けられているクラスタ識別情報をクラスタＤＢ１７５６から抽出して、番組Ａ以外の番組に含まれるクラスタを統計処理する。そして、全ユーザクラスタ統計部１７５８は、全ユーザグループ内における番組Ａ以外の番組に含まれるクラスタのうち、選択されたクラスタの数が多い順番にランキングを形成し、形成したランキングをコミュニティ特化部１７５９と推薦クラスタ作成部１７６０とに出力する。
【０３３８】
コミュニティ特化部１７５９は、コミュニティクラスタ統計部１７５７によって作成されたクラスタのランキングから、全ユーザクラスタ統計部１７５８によって作成されたクラスタのランキングを減算する。これにより、コミュニティ特化部１７５９は、番組Ａ内における所定のクラスタを選択したユーザのコミュニティグループに特化したランキング情報を作成して推薦クラスタ作成部１７６０に出力する。
【０３３９】
推薦クラスタ作成部１７６０は、コミュニティ特化部１７５９によって作成された、コミュニティグループに特化した選択クラスタのランキング情報に基づき、閾値よりもクラスタ数の多いクラスタ、あるいはランキング上位の所定数のクラスタを推薦クラスタとして抽出する。そして、推薦クラスタ作成部１７６０は、推薦クラスタに対応する、クラスタ識別情報、番組識別情報、時間情報及び座標情報を含む推薦番組情報を作成する。
【０３４０】
また、推薦クラスタ作成部１７６０は、全ユーザクラスタ統計部１７５８によって作成された、全登録ユーザの選択クラスタのランキング情報に基づき、閾値よりもクラスタ数の多いクラスタ、あるいはランキング上位の所定数のクラスタを人気クラスタとして抽出する。そして、推薦クラスタ作成部１７６０は、人気クラスタに対応する、クラスタ識別情報、番組識別情報、時間情報及び座標情報を含む人気番組情報を作成する。推薦送信部１７６１は、推薦クラスタ作成部１７６０によって作成された推薦番組情報及び人気番組情報をユーザＡの番組視聴端末８に送信する。
【０３４１】
次に、本実施形態の番組推薦システムの処理の流れについてさらに説明する。図２６〜２９は、第３の実施形態に係る番組推薦システムの処理の流れを示したフローチャートであり、図２６は、第３の実施形態に係る番組視聴端末におけるユーザクラスタ情報を送信するまでの処理の流れを示すフローチャートであり、図２７は、第３の実施形態に係る番組推薦サーバにおける処理の流れを示すフローチャートであり、図２８及び図２９は、第３の実施形態に係る番組視聴端末における推薦情報を受信してからの処理の流れを示すフローチャートである。
【０３４２】
図２６において、まず、ユーザ識別部１７２５は、ユーザに対するユーザ認証のためのユーザ認証画面をモニタ１７１１に表示し、キー１７２４は、ユーザによるユーザ情報の入力を受け付け、番組視聴端末８へのログインを受け付ける（ステップＳ１０１）。次に、ユーザ識別部１７２５は、ユーザ認証が成功したか否か、すなわち、入力されたユーザ情報がユーザ情報ＤＢ１７２６に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ１０２）。
【０３４３】
ユーザ認証の結果、ユーザ認証に失敗した場合（ステップＳ１０２でＮＯ）、ユーザ識別部１７２５は、モニタ１７１１にエラーメッセージを表示して以降の処理を終了する（ステップＳ１０３）。
【０３４４】
一方、ユーザ認証に成功した場合（ステップＳ１０２でＹＥＳ）、再生制御部１７１６は、記録媒体１７１５に記録済みの番組に対する再生指示操作があったか否かを判断する（ステップＳ１０４）。ここで、再生指示操作がないと判断された場合（ステップＳ１０４でＮＯ）、再生制御部１７１６は、ユーザからの録画番組の再生指示操作があるまで待機する。
【０３４５】
ユーザからの再生指示操作があったと判断された場合（ステップＳ１０４でＹＥＳ）、再生制御部１７１６は、ユーザによって選択された番組を記録媒体１７１５から再生してモニタ１７１１に出力する再生処理を実行する（ステップＳ１０５）。再生処理中において、デマルチプレクサ１７０６は、番組に多重化された番組管理情報を分離し、ＰＳＩ抽出部１７１８は、番組管理情報からＰＳＩを抽出し、クラスタ識別情報抽出部１７２２は、番組管理情報からクラスタ情報を抽出する。クラスタ情報は、番組の動画フレームの単位で、フレーム内のクラスタのクラスタ識別情報およびその座標情報を含む。
【０３４６】
次に、座標抽出部１７２１は、再生中の番組に対してユーザがポインティングデバイスを用いて、番組内のクラスタを選択したかを判断する（ステップＳ１０６）。すなわち、ポインタ受光部１７２０によってレーザポインタによる光が受光された場合、座標抽出部１７２１は、番組内のクラスタが選択されたと判断する。ここで、ポインティングデバイスによってクラスタが選択されたと判断された場合（ステップＳ１０６でＹＥＳ）、座標抽出部１７２１は、ポインティングデバイスで選択された画面内の座標情報を抽出する（ステップＳ１０７）。
【０３４７】
座標情報を抽出した後、クラスタ識別情報抽出部１７２２は、座標抽出部１７２１によって抽出された座標情報に対応したクラスタのクラスタ識別情報を抽出する（ステップＳ１０８）。抽出したクラスタ識別情報は、当該クラスタの番組に多重化されている番組内の時間情報及び座標情報とともに、当該番組の番組識別情報に対応付けてクラスタ記憶部１７２３に記憶される。
【０３４８】
クラスタ識別情報が抽出されてクラスタ記憶部１７２３に記憶された後、又は、クラスタが選択されていないと判断された場合（ステップＳ１０６でＮＯ）、再生制御部１７１６は、番組の再生処理を継続し、再生中の番組が終了したか否かを判断する（ステップＳ１０９）。ここで、再生中の番組が終了していないと判断された場合（ステップＳ１０９でＮＯ）、ステップＳ１０５の処理に戻り、再生制御部１７１６は、番組の再生処理を継続して実行する。
【０３４９】
一方、再生中の番組が終了したと判断された場合（ステップＳ１０９でＹＥＳ）、クラスタ送信部１７２７は、クラスタ記憶部１７２３に記憶されている、ユーザにより選択されたクラスタを識別するためのクラスタ識別情報と、ＰＳＩ抽出部１７１８によって抽出されたクラスタ選択時の番組の時間情報と、フレームごとのクラスタの座標情報と、クラスタを含む番組の番組識別情報と、ユーザ識別部１７２５によって識別されたユーザのユーザ情報とをユーザクラスタ情報として番組推薦サーバ９に送信する（ステップＳ１１０）。
【０３５０】
図２７において、次に、番組推薦サーバ９のクラスタ受信部１７５０は、番組視聴端末８によって送信されたユーザクラスタ情報を受信する（ステップＳ１１１）。
【０３５１】
次に、ユーザ管理部１７５１は、クラスタ受信部１７５０によって受信されたユーザクラスタ情報に含まれるユーザ情報が番組推薦サーバ９のユーザ属性ＤＢ１７５２に予め登録されているユーザ情報と一致するか否かを判断する（ステップＳ１１２）。ユーザ認証の結果、登録ユーザでないと判断された場合（ステップＳ１１２でＮＯ）、ユーザ管理部１７５１は、その旨を示すエラーメッセージを作成して、番組視聴端末８にエラーメッセージを送信して、以後の処理を終了する（ステップＳ１１３）。
【０３５２】
一方、ユーザ認証の結果、登録ユーザであると判断された場合（ステップＳ１１２でＹＥＳ）、クラスタ登録部１７５４は、クラスタ受信部１７５０によって受信されたユーザクラスタ情報に含まれるクラスタ識別情報を、同じくユーザクラスタ情報に含まれるユーザ情報に対応付けてクラスタＤＢ１７５６に登録する（ステップＳ１１４）。また、クラスタ登録部１７５４は、受信したユーザクラスタ情報に含まれるクラスタ識別情報と、そのクラスタの番組内の時間情報と、動画フレーム毎のクラスタの座標情報とをクラスタ再生時間管理部１７５５に登録する。
【０３５３】
ステップＳ１１４でユーザクラスタ情報をクラスタＤＢ１７５６及びクラスタ再生時間管理部１７５５に登録した後、コミュニティクラスタ統計部１７５７は、クラスタＤＢ１７５６の中から、現在登録したクラスタ識別情報を持つ全ユーザを抽出して、抽出したユーザをコミュニティグループとしてグループ化する（ステップＳ１１５）。
【０３５４】
ユーザをグループ化すると、コミュニティクラスタ統計部１７５７は、グループ化した全ユーザのユーザ情報に対応して記憶されている、クラスタ受信部１７５０によって受信されたユーザクラスタ情報の示す番組以外の番組におけるクラスタ識別情報を集計する（ステップＳ１１６）。なお、コミュニティクラスタ統計部１７５７は、ユーザごとに記憶されたクラスタ識別情報をカウントする。
【０３５５】
次に、コミュニティクラスタ統計部１７５７は、コミュニティグループ内で集計した集計結果を、コミュニティグループ内の全ユーザの全クラスタ数で正規化する（ステップＳ１１７）。これによって、クラスタごとにユーザが選択したかどうかの確率を算出することができ、クラスタへの選択確率を示したランキング情報が生成される。
【０３５６】
次に、全ユーザクラスタ統計部１７５８は、ユーザ属性ＤＢ１７５２に登録されているユーザ、すなわち番組推薦サーバ９に登録されている全ユーザを抽出し、受信したクラスタ識別情報と同じクラスタ識別情報を有するユーザで構成されるコミュニティグループを包含する全ユーザグループとしてグルーピングする（ステップＳ１１８）。
【０３５７】
次に、全ユーザクラスタ統計部１７５８は、全登録ユーザのユーザ情報に対応して記憶されている、クラスタ受信部１７５０によって受信されたユーザクラスタ情報の示す番組以外の番組におけるクラスタ識別情報を集計する（ステップＳ１１９）。
【０３５８】
次に、全ユーザクラスタ統計部１７５８は、集計した全登録ユーザのクラスタ識別情報の集計結果を、全登録ユーザの全クラスタ数で正規化する（ステップＳ１２０）。これによって、全ユーザグループ内のユーザのクラスタの選択率をクラスタごとに算出したランキングを生成することができる。
【０３５９】
次に、コミュニティ特化部１７５９は、コミュニティグループ内における正規化されたクラスタ識別情報の集計結果から、全ユーザグループ内における正規化されたクラスタ識別情報の集計結果を減算して、コミュニティグループに特化したクラスタを集計する。そして、推薦クラスタ作成部１７６０は、減算結果をクラスタ数の多い順にランキングし、ランキングの上位の所定数のクラスタを推薦クラスタとし、推薦クラスタを識別するためのクラスタ識別情報と、推薦クラスタの番組内の時間情報と、番組の動画フレーム毎の推薦クラスタの座標情報と、番組を識別するための番組識別情報とを含む推薦番組情報を作成する（ステップＳ１２１）。
【０３６０】
なお、推薦クラスタ作成部１７６０は、推薦クラスタのクラスタ識別情報に対応する時間情報及び座標情報をクラスタ再生時間管理部１７５５から抽出し、推薦番組情報を作成する。また、推薦クラスタ作成部１７６０は、減算結果を閾値判定し、閾値を上回ったクラスタを推薦クラスタとしてもよい。
【０３６１】
次に、推薦クラスタ作成部１７６０は、全ユーザクラスタ統計部１７５８によって作成された全ユーザグループ内における正規化されたクラスタ識別情報の集計結果をクラスタ数の多い順にランキングし、ランキングの上位の所定数のクラスタを人気クラスタとし、人気クラスタを識別するためのクラスタ識別情報と、人気クラスタの番組内の時間情報と、番組の動画フレーム毎の人気クラスタの座標情報と、番組を識別するための番組識別情報とを含む人気番組情報を作成する（ステップＳ１２２）。なお、推薦クラスタ作成部１７６０は、全ユーザクラスタ統計部１７５８による集計結果を閾値判定し、閾値を上回ったクラスタを人気クラスタとしてもよい。
【０３６２】
次に、推薦送信部１７６１は、推薦クラスタ作成部１７６０によって作成された推薦番組情報及び人気番組情報を推薦情報として番組視聴端末８に送信する（ステップＳ１２３）。
【０３６３】
図２８において、次に、番組視聴端末８の推薦受信部１７２８は、番組推薦サーバ９の推薦送信部１７６１によって送信された推薦番組情報及び人気番組情報を含む推薦情報を受信する（ステップＳ１３１）。
【０３６４】
次に、推薦番組情報抽出部１７２９は、推薦受信部１７２８によって受信された推薦情報から推薦番組情報が抽出されたか否かを判断する（ステップＳ１３２）。推薦番組情報抽出部１７２９は、ユーザに推薦番組情報及び人気番組情報のうちのいずれかの選択を促す。キー１７２４を用いて推薦番組情報が選択された場合、推薦番組情報抽出部１７２９は推薦番組情報を抽出し、人気番組情報が選択された場合、推薦番組情報抽出部１７２９は人気番組情報を抽出する。なお、推薦番組情報及び人気番組情報の両方を抽出する設定を設けてもかまわない。これによって、ユーザに対してより多くの選択肢を提供することができる。
【０３６５】
推薦番組情報が抽出されたと判断された場合（ステップＳ１３２でＹＥＳ）、クラスタ検索部１７３０は、推薦番組情報抽出部１７２９によって抽出された推薦番組情報に含まれる番組識別情報に基づいて、記録媒体１７１５に当該番組識別情報と同じ番組識別情報を有する番組が記録されているか否かを判断する（ステップＳ１３３）。ここで、推薦クラスタを含む番組が記録媒体１７１５に記録されていないと判断された場合（ステップＳ１３３でＮＯ）、ステップＳ１４０の処理に移行する。
【０３６６】
一方、推薦クラスタを含む番組が記録されていると判断された場合（ステップＳ１３３でＹＥＳ）、クラスタ検索部１７３０は、記録媒体１７１５から番組識別情報に対応する番組情報を呼び出すとともに、受信した推薦番組情報に含まれる推薦クラスタの番組内の時間情報と座標情報とを抽出し、推薦再生制御部１７３２に出力する。推薦再生制御部１７３２は、クラスタ検索部１７３０によって抽出された時間情報と座標情報とに基づいて推薦クラスタのサムネイル画像をモニタ１７１１に表示させる（ステップＳ１３４）。
【０３６７】
次に、推薦再生制御部１７３２は、ユーザによるサムネイル画像の選択及び再生指示が発行されたか否かを判断する（ステップＳ１３５）。ここで、サムネイル画像の再生指示が発行されていないと判断された場合（ステップＳ１３５でＮＯ）、ステップＳ１４０の処理へ移行する。一方、再生指示が発行されたと判断された場合（ステップＳ１３５でＹＥＳ）、再生制御部１７１６は、記録媒体１７１５から、クラスタ検索部１７３０によって抽出された番組識別情報に対応した番組を読み出して、クラスタ検索部１７３０によって抽出された時間情報に含まれる推薦クラスタの再生開始時刻から番組を再生する（ステップＳ１３６）。
【０３６８】
次に、拡大制御部１７３３は、ユーザによる推薦クラスタを拡大するための拡大指示が発行されたか否かを判断する（ステップＳ１３７）。なお、拡大指示は、キー１７２４により入力が受け付けられるとともに発行される。ここで、拡大指示が発行されたと判断された場合（ステップＳ１３７でＹＥＳ）、拡大制御部１７３３は、ユーザから推薦クラスタの拡大指示を受けて、クラスタ検索部１７３０によって抽出された当該推薦クラスタの動画フレーム単位の座標情報に基づいて、番組の表示画像上から推薦クラスタを切り出して拡大表示を行う（ステップＳ１３８）。
【０３６９】
推薦クラスタが拡大表示された後、又は、拡大指示が発行されていないと判断された場合（ステップＳ１３７でＮＯ）、再生制御部１７１６は、選択された推薦クラスタを含む番組の再生処理が終了したか否かを判断する（ステップＳ１３９）。なお、再生制御部１７１６は、クラスタ検索部１７３０によって抽出された時間情報に含まれる推薦クラスタの再生終了時刻に達すると、自動的に番組の再生処理を終了する。ここで、番組の再生処理が終了していないと判断された場合（ステップＳ１３９でＮＯ）、再生制御部１７１６は、再生処理を継続する。
【０３７０】
一方、番組の再生処理が終了したと判断された場合（ステップＳ１３９でＹＥＳ）、クラスタ検索部１７３０は、番組推薦サーバ９によって送信された推薦番組情報に含まれる全ての推薦クラスタの再生処理が終了したか否かを判断する（ステップＳ１４０）。なお、ステップＳ１４０において、クラスタ検索部１７３０は、受信した推薦番組情報に含まれる推薦クラスタの全てにおいてステップＳ１３３〜Ｓ１３９の処理が完了したか否かを判断する。
【０３７１】
ここで、全ての推薦クラスタの再生処理が終了していないと判断された場合（ステップＳ１４０でＮＯ）、ステップＳ１３３の処理に戻り、残りの推薦クラスタについての処理が行われる。一方、全ての推薦クラスタの再生処理が終了したと判断された場合（ステップＳ１４０でＹＥＳ）、全ての処理を終了する。
【０３７２】
一方、推薦番組情報が抽出されていないと判断された場合、すなわち、人気番組情報が抽出されたと判断された場合（ステップＳ１３２でＮＯ）、クラスタ検索部１７３０は、推薦番組情報抽出部１７２９によって抽出された人気番組情報に含まれる番組識別情報に基づいて、記録媒体１７１５に当該番組識別情報と同じ番組識別情報を有する番組が記録されているか否かを判断する（ステップＳ１４１）。ここで、人気クラスタを含む番組が記録媒体１７１５に記録されていないと判断された場合（ステップＳ１４１でＮＯ）、ステップＳ１４８の処理に移行する。
【０３７３】
一方、人気クラスタを含む番組が記録されていると判断された場合（ステップＳ１４１でＹＥＳ）、クラスタ検索部１７３０は、記録媒体１７１５から番組識別情報に対応する番組情報を呼び出すとともに、受信した人気番組情報に含まれる人気クラスタの番組内の時間情報と座標情報とを抽出し、推薦再生制御部１７３２に出力する。推薦再生制御部１７３２は、クラスタ検索部１７３０によって抽出された時間情報と座標情報とに基づいて人気クラスタのサムネイル画像をモニタ１７１１に表示させる（ステップＳ１４２）。
【０３７４】
次に、推薦再生制御部１７３２は、ユーザによるサムネイル画像の選択及び再生指示が発行されたか否かを判断する（ステップＳ１４３）。ここで、サムネイル画像の再生指示が発行されていないと判断された場合（ステップＳ１４３でＮＯ）、ステップＳ１４８の処理へ移行する。一方、再生指示が発行されたと判断された場合（ステップＳ１４３でＹＥＳ）、再生制御部１７１６は、記録媒体１７１５から、クラスタ検索部１７３０によって抽出された番組識別情報に対応した番組を読み出して、クラスタ検索部１７３０によって抽出された時間情報に含まれる人気クラスタの再生開始時刻から番組を再生する（ステップＳ１４４）。
【０３７５】
次に、拡大制御部１７３３は、ユーザによる人気クラスタを拡大するための拡大指示が発行されたか否かを判断する（ステップＳ１４５）。なお、拡大指示は、キー１７２４により入力が受け付けられるとともに発行される。ここで、拡大指示が発行されたと判断された場合（ステップＳ１４５でＹＥＳ）、拡大制御部１７３３は、ユーザから人気クラスタの拡大指示を受けて、クラスタ検索部１７３０によって抽出された当該人気クラスタの動画フレーム単位の座標情報に基づいて、番組の表示画像上から人気クラスタを切り出して拡大表示を行う（ステップＳ１４６）。
【０３７６】
人気クラスタが拡大表示された後、又は、拡大指示が発行されていないと判断された場合（ステップＳ１４５でＮＯ）、再生制御部１７１６は、選択された人気クラスタを含む番組の再生処理が終了したか否かを判断する（ステップＳ１４７）。なお、再生制御部１７１６は、クラスタ検索部１７３０によって抽出された時間情報に含まれる人気クラスタの再生終了時刻に達すると、自動的に番組の再生処理を終了する。ここで、番組の再生処理が終了していないと判断された場合（ステップＳ１４７でＮＯ）、再生制御部１７１６は、再生処理を継続する。
【０３７７】
一方、番組の再生処理が終了したと判断された場合（ステップＳ１４７でＹＥＳ）、クラスタ検索部１７３０は、番組推薦サーバ９によって送信された人気番組情報に含まれる全ての人気クラスタの再生処理が終了したか否かを判断する（ステップＳ１４８）。なお、ステップＳ１４８において、クラスタ検索部１７３０は、受信した人気番組情報に含まれる人気クラスタの全てにおいてステップＳ１４１〜Ｓ１４７の処理が完了したか否かを判断する。
【０３７８】
ここで、全ての人気クラスタの再生処理が終了していないと判断された場合（ステップＳ１４８でＮＯ）、ステップＳ１４１の処理に戻り、残りの人気クラスタについての処理が行われる。一方、全ての人気クラスタの再生処理が終了したと判断された場合（ステップＳ１４８でＹＥＳ）、全ての処理を終了する。
【０３７９】
以上のように、本実施形態の番組推薦システムを利用すれば、番組視聴端末８は、番組を空間的にクラスタに分割された放送番組を受信し、ユーザがポインティングデバイスによって選択したクラスタを番組推薦サーバ９に送信する。番組推薦サーバ９では、選択されたクラスタをユーザ毎に管理するとともに、選択されたクラスタに従ってユーザをグルーピングし、グループ内の協調フィルタリングによって、ユーザに推薦番組を提供することができる。
【０３８０】
また、本実施形態の番組推薦システムでは、同一のクラスタを選択したユーザで構成されるコミュニティグループ内で特有の番組を推薦可能とするように、コミュニティグループを包含するグループ、例えば全ユーザからなるグループを作成して、全ユーザから嗜好されている一般的な人気番組の影響を、コミュニティグループ内で推薦される番組から削除することによってコミュニティグループ内で特有の番組の推薦が可能となる。一般的に人気のある番組は、このような推薦システムを利用することなくユーザは容易に知りえるので、コミュニティグループに特化した番組の推薦は有用である。また、一般的に人気のある番組の推薦方法は、公知の方法を用いて実現することができる。
【０３８１】
なお、本実施形態では、ユーザによって選択されたクラスタを１つ送信する方法を説明しているが、本発明はこれに限られない。ユーザからのクラスタの選択履歴として複数のユーザクラスタ情報を番組推薦サーバ９に送信しても良い。この場合は、ユーザ毎のクラスタの選択履歴と、その他のユーザの選択履歴の一致度を見てユーザをグループ化する。例えば、送信されてきたクラスタの選択履歴に含まれる全クラスタを、選択履歴として有するユーザをグループ化する。また、この場合の選択履歴は、１つの特定番組内でのクラスタの選択履歴の類似度を判定してもよいし、例えば履歴が数個保持されたときに送信するようにしてもよい。このようにクラスタの選択履歴によるグルーピングによって、より嗜好の一致したグループ化が可能となるので、推薦する番組やクラスタの精度向上に繋がる。
【０３８２】
なお、上記のクラスタの選択履歴を送信する形態は、前述の第１の実施形態及び第２の実施形態においても適用可能である。第１の実施形態であれば、番組視聴端末２は、番組の予約情報の履歴を送信して、番組推薦サーバ３は、送信されてきた番組の予約情報の履歴と類似する予約情報履歴を持ったユーザをグループ化する。この場合でも類似する予約情報は、履歴の完全一致でもいいし、送信される履歴情報の半数以上が合致したユーザをグループ化してもいい。また、第２の実施形態でも同様であり、番組視聴端末５は、マーキングされた番組シーンの履歴を複数、番組推薦サーバ６に送信し、番組推薦サーバ６は、マーキングされた番組の履歴の類似度によってユーザをグループ化する。
【０３８３】
これら第１の実施形態や第２の実施形態の適用例においても、履歴情報の比較でユーザをグループ化できるため、より嗜好の一致したユーザのグループ化が可能となる。よって、グループ内で生成する推薦情報の精度の向上に繋がる。
【０３８４】
また、全ての実施形態において、グループ内のユーザの番組への操作情報の集計を行って、グループ内における推薦番組を生成するが、送信されてくる履歴情報の類似度（履歴情報の重複度など）に応じた集計を行ってもよい。例えば、番組推薦サーバ６は、５つの履歴情報を受信して、５つとも履歴が合致するユーザに対して、３つの履歴しか合致しないユーザは、全て合致するユーザに対して５分の３の重み付けで集計を行う。このようにすれば、類似度に応じた重み付けによって集計が行われるので、より精度の高い推薦番組を抽出することが可能となる。
【０３８５】
また、全ての実施形態で、番組推薦サーバにおいて、グループ化したユーザを全て包含するグループとして、全ユーザをグループ化する方法で説明したがこれに限られない。ユーザ情報として、性別や、年齢、住まいなどのユーザ属性情報を管理して、これらのユーザ属性情報に基づいて、コミュニティグループ（第１のグループ）を包含する全ユーザグループ（第２のグループ）を形成して、コミュニティグループ内の集計結果から、この全ユーザグループの集計結果を減算して推薦情報を生成してもよい。このようにすれば、例えば性別、年代、又は住所によって人気番組に偏りが生じている場合にでも、この影響を排除して、よりコミュニティグループ内に特化した推薦情報を作成することが可能となる。
【０３８６】
なお、第１の実施形態では、予約を行ったユーザ数で予約率の正規化を行うとしていたが、例えば、ニュース番組のように放送頻度が高いジャンルの放送に関しては、放送頻度や放送時間で正規化を行ってもよい。
【０３８７】
また、第２の実施形態で述べたマーキングに関して、例えば、スポーツ番組などのマーキングをつけられる頻度の高いジャンルの番組に対しては、マーキングの重み付けを軽くしてもよいし、ユーザによるマーキングをつける頻度の高さに応じて、マーキングの重み付けを変更してもよい。
【０３８８】
また、全ての実施形態で、グループ内の集計を行う際に、推薦情報の信頼度が高いとされる特定のユーザの重み付けを重くして、集計を行っても良い。推薦情報の信頼度が高いとされるユーザは、ユーザの予約番組と、グループ内の推薦情報の一致度によって自動的に抽出されても良いし、他のユーザまたは番組推薦システムを管理する管理者等から人為的に選ばれても良い。
【０３８９】
また、例えば大晦日などの特定の日や数年に１度のスポーツ大会の開催期間などは、予約率の集計対象から除外したり、重み付けの変更を行っても良い。
【０３９０】
なお、第２の実施形態において、番組シーンのマーキング方法として、ボタン押下時間によるマーキング、番組シーンの開始時刻及び終了時刻の入力によるマーキング、番組シーンの開始時刻と継続時間とを指定するマーキング、シーンの終了時刻と継続時間とを指定するマーキングを挙げたが、これらに限定されるものではない。例えば、ユーザによるお気に入りシーンボタン押下時刻から所定時間戻った時間をお気に入りシーン開始時刻として番組シーンのマーキングを行ってもよく、お気に入りシーンボタン押下時刻から所定時間進んだ時間をお気に入りシーン終了時刻として番組シーンのマーキングを行ってもよい。
【０３９１】
また、ユーザによるお気に入りシーンボタン押下時刻の直前および直後のシーンチェンジを自動的に検出し、これらのシーンチェンジをそれぞれお気に入りシーン開始時刻および終了時刻として、番組シーンのマーキングを行ってもよい。このようにすれば、お気に入りシーンをマーキングするユーザの負担を軽減することができる。なお、シーンチェンジの判定は、番組のフレームごとに抽出するヒストグラムの変化からシーンが変わったことを判定したり、画像認識により映し出される出演者の変化を判定したりする、映像ベースのシーンチェンジの判定や、音声のトーン変化、音量の変化、又は音声認識を利用した出演者の変化を判定する音声ベースのシーンチェンジの判定を用いる。
【０３９２】
また、第２の実施形態において、ユーザ操作の種類に応じた重み付け加算によりマーキング情報を集計する方法について述べたが、操作の種類だけでなく操作の内容に応じて重み付け加算を行ってもよい。例えば、番組の録画予約操作に対しては、高画質モードや長時間モードといった録画画質の指定に応じて重み付けを変えてもよい。
【０３９３】
なお、第１の実施形態におけるコミュニティ予約情報統計部２３６において、ユーザＡが予め用意された複数のコミュニティグループの中から、参加するコミュニティグループをユーザ自身が選択し、このコミュニティグループを全体集合として、ユーザＡが予約した番組との統計を計算してもよい。これによって、ユーザニーズにマッチしたコミュニティグループおよびユーザＡが録画予約した番組と類似性が高いグループを生成することができる。
【０３９４】
なお、第１の実施形態におけるコミュニティ予約情報統計部２３６において、ユーザＡが所属するグループをユーザＡが選択することもできる。これによって、番組推薦サーバは、ユーザＡ自身が選択したグループの嗜好およびユーザＡが録画予約した番組と類似性が高い番組を推薦することが可能となる。
【０３９５】
なお、ユーザはコミュニティグループの入会／脱会を選択することが可能となる。これによって、ユーザの嗜好が変わった場合や、その場のユーザの気分に合わせた番組推薦が可能となる。
【０３９６】
なお、このコミュニティグループの選択においては、ユーザが選択可能なコミュニティグループの一覧を表示させることが望ましい。これによって、ユーザは簡易な手続きでコミュニティグループへの参加が可能となる。
【０３９７】
なお、ユーザはコミュニティグループを検索できるようにしてもよい。これによってユーザは多数のコミュニティグループからユーザが望むコミュニティグループを捜し出すことができる。この検索における検索クエリはユーザの検索キーワードの入力による方法が望ましいが、その他の検索クエリ、例えば、カテゴリからの選択、画像情報、映像情報、音楽情報、及び音声などを検索クエリとする方法や、ユーザのジェスチャなどを利用しても同等の効果を得ることができる。
【０３９８】
なお、ユーザのコミュニティグループ選択時において、過去にユーザが選択したことのある、コミュニティグループグループの履歴を表示しても良い。これによって、ユーザは過去に選択したことのあるコミュニティグループを容易に選択することができる。
【０３９９】
なお、ユーザのコミュニティグループ選択時において、他のユーザが選択しているコミュニティグループのランキングを表示させてもよい。好ましくは他のユーザによって選択された数の多いコミュニティグループのランキングを表示させることが望ましい。これによって、より人気度の高いコミュニティグループをユーザは選択することができる。また、その他の例としては、他のユーザの選択度が急増したコミュニティグループのランキングを表示させても良い。これによって、瞬間的に人気が上がってきているコミュニティグループを選択することが可能となる。
【０４００】
なお、推薦番組作成部２３９における閾値判定基準を、ユーザが指定することがきるようにしてもよい。例えばユーザが閾値判定基準をあげることによって、よりグループ内での予約率が高い番組のみを推薦させることができる。反対に、閾値判定基準を下げることによってより多くの番組を推薦させることができる。
【０４０１】
なお、全ての実施形態で、グループ内の集計を行う際に、ユーザの選択した番組に重み付けを行っても良い。例えば、ユーザが録画した番組の日時を保存しておき、時間が経過するにつれて重みが減少するような仕組みが考えられる。これによって、例えば、ある一定時期に特定の番組を多く録画予約していたユーザの嗜好が変わり、以前予約していた番組と嗜好が異なる番組を録画予約したときに、過去のユーザの録画した番組の嗜好の影響が小さくなり、より最近のユーザの嗜好にあった番組を推薦することが可能となる。
【０４０２】
なお、全ての実施形態で、グループ内の集計を行う際に、ユーザが過去に録画した番組だけでなく、ユーザが録画せずに生で見た番組をグループの集計に利用しても良い。これによって、ユーザが選択した番組のサンプル数を増やすことが可能となるため、よりユーザの嗜好にマッチした番組を推薦することが可能となる。
【０４０３】
なお、全ての実施形態における、録画方式において、ユーザの録画予約した番組と類似度の高い番組の一覧を表示し、その中からユーザが録画したい番組を選択するようにしても良い。これによって、例えば番組を記憶する記録媒体の容量に上限がある場合に、記録媒体の容量を節約することができる。
【０４０４】
なお、この予約番組の選択において、他のユーザ全体の予約率や視聴率が高い、一般的な人気番組と、本発明で開示されたユーザの録画予約番組との嗜好度が近い推薦番組を同じ画面に表示させてもよいし、ユーザが一般的な人気番組と、嗜好度の高い推薦番組とのうちのいずれを表示するかを選択できる仕組みを取り入れても良い。これによって、ユーザは自身の嗜好に合致した番組だけでなく、所謂人気番組も容易に録画予約することが可能となる。
【０４０５】
（第４の実施形態）
第４の本実施形態では、第１の実施形態で説明した図４に示す番組推薦サーバ３における特化生成部３０において、ｔｆ・ｉｄｆ（ｔｅｒｍ  ｆｒｅｑｕｅｎｃｙ・ｉｎｖｅｒｓｅ  ｄｏｃｕｍｅｎｔ  ｆｒｅｑｕｅｎｃｙ）値を算出して、ユーザの予約番組情報群から推定されるユーザの属するコミュニティグループに特化した推薦番組を作成する方法について説明する。
【０４０６】
ｔｆ・ｉｄｆ値は、番組の予約番組情報の出現頻度から重み付けする手法であり、ｔｆは、対象となるコミュニティグループにおける特定の予約番組情報の出現頻度を表し、ｉｄｆは、全ユーザの予約番組情報の中で特定番組の予約番組情報が含まれているユーザの数の逆数を表す。もし、ある予約番組情報が一つのコミュニティグループ内に頻出するものであり、その予約番組情報が出現するユーザ数がわずかな場合であれば、それはｔｆ・ｉｄｆ値が高く、コミュニティグループの特徴的な予約番組情報と言える。そこで、この特徴的な予約番組情報をコミュニティグループに特化した推薦番組として生成する。
【０４０７】
ｔｆ・ｉｄｆ値を利用して推薦番組を生成する第４の実施形態の構成は、図４の番組推薦サーバ３の特化生成部３０と同様の構成であり、コミュニティ予約情報統計部２３６、全ユーザ予約情報統計部２３７およびコミュニティ特化部２３８で構成される。
【０４０８】
コミュニティ予約情報統計部２３６は、ｔｆ・ｉｄｆ値のｔｆを算出し、コミュニティグループ内で出現頻度の高い予約番組情報を抽出する。実際には、コミュニティ予約情報統計部２３６は、コミュニティグループに属するユーザ毎に保持している予約番組情報群から、１つ１つの予約番組情報ごとに、コミュニティグループ内でカウントアップし、出現頻度の高い予約番組情報を抽出し、出現頻度をｔｆとして算出する。
【０４０９】
図３０は、第４の実施形態に係るコミュニティ予約情報統計部２３６の処理の流れを示すフローチャートである。
【０４１０】
まず、コミュニティ予約情報統計部２３６は、ユーザ管理部２３１によって認証されたユーザ（認証ユーザ）が属するコミュニティグループにおける全てのユーザの予約番組情報を予約情報ＤＢ２３５から取得する（ステップＳ１６１）。ここで取得する予約番組情報は、ユーザ管理部２３１でユーザ情報が認証されたユーザと同じコミュニティグループに属するユーザが送信した予約番組情報、すなわち認証ユーザのコミュニティグループ内で予約された番組の予約番組情報である。
【０４１１】
次に、コミュニティ予約情報統計部２３６は、認証ユーザの属するコミュニティグループ内の全ての予約番組情報の総数を取得する（ステップＳ１６２）。次に、コミュニティ予約情報統計部２３６は、１つ１つの予約番組情報ごとに、コミュニティグループ内での予約数をカウントする（ステップＳ１６３）。
【０４１２】
次に、コミュニティ予約情報統計部２３６は、認証ユーザの属するコミュニティグループにおける各予約番組情報の出現頻度ｔｆを算出する（ステップＳ１６４）。具体的に、コミュニティ予約情報統計部２３６は、コミュニティグループにおける予約番組情報の数を、コミュニティグループにおける全ての予約番組情報の総数で除算することにより、予約番組情報の出現頻度ｔｆを算出する。
【０４１３】
次に、コミュニティ予約情報統計部２３６は、コミュニティグループ内の全ての予約番組情報の出現頻度ｔｆを算出したか否かを判断する（ステップＳ１６５）。ここで、全ての予約番組情報の出現頻度ｔｆを算出していないと判断された場合（ステップＳ１６５でＮＯ）、コミュニティ予約情報統計部２３６は、ステップＳ１６３の処理へ戻り、コミュニティグループ内の他の予約番組情報の予約数をカウントする。
【０４１４】
一方、全ての予約番組情報の出現頻度ｔｆを算出したと判断された場合（ステップＳ１６５でＹＥＳ）、コミュニティ予約情報統計部２３６は、認証ユーザが属する全てのコミュニティグループの予約番組情報の出現頻度ｔｆを算出したか否かを判断する（ステップＳ１６６）。すなわち、認証ユーザが複数のコミュニティグループに所属している場合は、認証ユーザが所属する全てのコミュニティグループについて、予約番組情報の出現頻度ｔｆを算出する。
【０４１５】
ここで、全てのコミュニティグループの予約番組情報の出現頻度ｔｆを算出していないと判断された場合（ステップＳ１６６でＮＯ）、コミュニティ予約情報統計部２３６は、ステップＳ１６１の処理へ戻り、認証ユーザが属する他のコミュニティグループにおける全てのユーザの予約番組情報を予約情報ＤＢ２３５から取得する。一方、全てのコミュニティグループの予約番組情報の出現頻度ｔｆを算出したと判断された場合（ステップＳ１６６でＹＥＳ）、処理を終了する。
【０４１６】
全ユーザ予約情報統計部２３７は、ｔｆ・ｉｄｆ値のｉｄｆを算出し、予約情報ＤＢ２３５に登録されている全ユーザの予約番組情報の中で、コミュニティグループ内の全予約番組情報の１つ１つの出現頻度を算出する。コミュニティグループ内の予約番組情報が、全ユーザの予約番組情報においても出現頻度が高い場合には、ｉｄｆは小さくなり、コミュニティグループに代表される予約番組情報ではないと判定される。一方、コミュニティグループ内の予約番組情報が、全ユーザの予約番組情報においても出現頻度が低い場合には、ｉｄｆは大きくなり、コミュニティグループに代表される予約番組情報であると判定される。
【０４１７】
実際には、全ユーザ予約情報統計部２３７は、ある特定の予約番組情報ｋについて、ｌｏｇ（（全ユーザ数）÷（予約番組情報ｋを有するユーザ数））＋１によってｉｄｆを算出する。
【０４１８】
図３１は、第４の実施形態に係る全ユーザ予約情報統計部２３７の処理の流れを示すフローチャートである。
【０４１９】
まず、全ユーザ予約情報統計部２３７は、ユーザ管理部２３１及び予約情報登録部２３４を介してユーザ属性ＤＢ２３２に登録されているユーザの総数を取得する（ステップＳ１７１）。次に、全ユーザ予約情報統計部２３７は、認証ユーザのコミュニティグループ内の各予約番組情報について、予約を行ったユーザ数をカウントする（ステップＳ１７２）。
【０４２０】
次に、全ユーザ予約情報統計部２３７は、認証ユーザの属するコミュニティグループにおける各予約番組情報のｉｄｆを算出する（ステップＳ１７３）。具体的に、全ユーザ予約情報統計部２３７は、下記の（１）式に基づいて各予約番組情報のｉｄｆを算出する。
【０４２１】
ｉｄｆ＝ｌｏｇ（（全ユーザ数）÷（各予約番組情報を有するユーザ数））＋１・・・（１）
次に、全ユーザ予約情報統計部２３７は、コミュニティグループ内の全ての予約番組情報についてｉｄｆを算出したか否かを判断する（ステップＳ１７４）。ここで、全ての予約番組情報のｉｄｆを算出していないと判断された場合（ステップＳ１７４でＮＯ）、全ユーザ予約情報統計部２３７は、ステップＳ１７２の処理へ戻り、コミュニティグループ内の他の予約番組情報について、予約を行ったユーザ数をカウントする。一方、全ての予約番組情報のｉｄｆを算出したと判断された場合（ステップＳ１７４でＹＥＳ）、処理を終了する。
【０４２２】
なお、本実施形態では、全ユーザ数と、各予約番組情報を有するユーザ数とを用いてｉｄｆを算出しているが、本発明は特にこれに限定されず、全コミュニティグループ数と、各予約番組情報を有するコミュニティグループ数とを用いてｉｄｆを算出してもよい。
【０４２３】
コミュニティ特化部２３８は、コミュニティ予約情報統計部２３６によって算出された出現頻度ｔｆと、全ユーザ予約情報統計部２３７によって算出されたｉｄｆとに基づき、コミュニティグループ内の全ユーザの予約番組情報ごとにｔｆ・ｉｄｆ値を算出して、推薦番組作成部２３９に出力する。なお、ｔｆ・ｉｄｆ値は、ｔｆ×ｉｄｆで算出される。
【０４２４】
推薦番組作成部２３９は、ｔｆ・ｉｄｆ値が高く、かつ、推薦を行うユーザが未だ予約していない推薦対象の番組を、推薦番組として抽出する。したがって、コミュニティグループ内で出現頻度が高く、全ユーザで出現頻度の高くない、すなわちｉｄｆが大きい番組で、かつ、推薦を行うユーザが未だ予約を行っていない番組が推薦される。これによって、ユーザには、コミュニティグループに特化した、すなわち、ユーザの嗜好にマッチしていると考えられる番組が推薦される。
【０４２５】
図３２は、第４の実施形態に係るコミュニティ特化部２３８の処理の流れを示すフローチャートである。
【０４２６】
まず、コミュニティ特化部２３８は、認証ユーザが属するコミュニティグループ内の予約番組情報について、コミュニティ予約情報統計部２３６で取得したｔｆと、全ユーザ予約情報統計部２３７で取得したｉｄｆとを用いて、ｔｆ・ｉｄｆ値を算出する（ステップＳ１８１）。
【０４２７】
次に、コミュニティ特化部２３８は、認証ユーザが属するコミュニティグループ内の全ての予約番組情報のｔｆ・ｉｄｆ値を算出したか否かを判断する（ステップＳ１８２）。ここで、全ての予約番組情報のｔｆ・ｉｄｆ値を算出していないと判断された場合（ステップＳ１８２でＮＯ）、コミュニティ特化部２３８は、ステップＳ１８１の処理へ戻り、認証ユーザが属するコミュニティグループ内の他の予約番組情報のｔｆ・ｉｄｆ値を算出する。
【０４２８】
一方、全ての予約番組情報のｔｆ・ｉｄｆ値を算出したと判断された場合（ステップＳ１８２でＹＥＳ）、コミュニティ特化部２３８は、推薦対象となる番組を判定するための推薦閾値を求める。この推薦閾値としては、例えば、コミュニティグループ内の予約番組情報におけるｔｆ・ｉｄｆ値の平均値といった、容易に計算可能な値が好ましい。そのため、コミュニティ特化部２３８は、コミュニティグループ内における全ての予約番組情報のｔｆ・ｉｄｆ値の平均値を算出する（ステップＳ１８３）。
【０４２９】
次に、コミュニティ特化部２３８は、推薦閾値（平均値）以上のｔｆ・ｉｄｆ値を持つ予約番組情報を推薦対象予約番組情報として抽出する。次に、コミュニティ特化部２３８は、推薦対象予約番組情報の中に認証ユーザが予約していない予約番組情報があるか否かを判断する（ステップＳ１８５）。ここで、認証ユーザが予約していない予約番組情報はないと判断された場合（ステップＳ１８５でＮＯ）、処理を終了する。
【０４３０】
一方、認証ユーザが予約していない予約番組情報があると判断された場合（ステップＳ１８５でＹＥＳ）、コミュニティ特化部２３８は、認証ユーザが未予約の予約番組情報の中から、ｔｆ・ｉｄｆ値が高いものから順に所定数の予約番組情報を推薦番組として抽出し、当該推薦番組を識別するための番組識別情報を含む推薦番組情報を作成する（ステップＳ１８６）。
【０４３１】
ここで、ｔｆ・ｉｄｆ値を用いた推薦番組の抽出の一例を、図３３を用いてさらに具体的に説明する。図３３は、ｔｆ・ｉｄｆ値を用いた推薦番組の抽出について説明するための図である。図３３に示す表３０１中の横軸は、予約された番組α〜ζを表し、縦軸は、コミュニティグループｃ１〜ｃ４と、各コミュニティグループに所属するユーザＡ〜Ｐを表している。表３０１中の丸印は、ユーザがどの番組を予約したか示すものである。ここで、ユーザＡは、ユーザ管理部２３１でユーザ情報を認証された認証ユーザである。
【０４３２】
まず、コミュニティ予約情報統計部２３６は、ユーザＡが所属するコミュニティグループｃ１及びｃ２において、各予約番組情報のｔｆを算出する。例えば、コミュニティグループｃ１内の予約番組情報の総数は１１件であり、番組αはユーザＡ及びＣによって２件の予約が行われているので、コミュニティグループｃ１における番組αのｔｆは２／１１＝０．１８となる。同様にして、コミュニティ予約情報統計部２３６は、コミュニティグループｃ１及びｃ２内の全ての予約番組情報のｔｆを算出する。
【０４３３】
次に、全ユーザ予約情報統計部２３７は、コミュニティグループｃ１及びｃ２において、各予約番組情報（番組α〜ζ）のｉｄｆを算出する。例えば、番組αは、ユーザＡ〜Ｐの全１５名のユーザの内、１１名のユーザによって予約が行われているので、番組αのｉｄｆは、ｌｏｇ（１５／１１）＋１＝１．１３となる。同様にして、全ユーザ予約情報統計部２３７は、他の予約番組情報についてもｉｄｆを算出する。
【０４３４】
さらに、コミュニティ特化部２３８は、ｔｆ・ｉｄｆ値を求め、このｔｆ・ｉｄｆ値を基に推薦番組を抽出する。ｔｆ・ｉｄｆ値は、コミュニティグループｃ１及びｃ２のそれぞれの予約番組情報について算出する。例えば、コミュニティグループｃ１の番組αのｔｆ・ｉｄｆ値は、２÷１１×（ｌｏｇ（１５／１１）＋１）＝０．２０となる。コミュニティ特化部２３８は、他の番組についても同様にｔｆ・ｉｄｆ値を算出する。そして、コミュニティ特化部２３８は、算出した１０個のｔｆ・ｉｄｆ値の平均値を算出し、この平均値以上のｔｆ・ｉｄｆ値を持つ予約番組情報を推薦対象予約番組情報とする。
【０４３５】
図３３の一例では、コミュニティグループｃ１における番組β及び番組δが推薦対象予約番組となり、コミュニティグループｃ２における番組α、番組δ及び番組εが推薦対象予約番組となる。ここで、番組α及び番組δは、ｔｆ・ｉｄｆ値が平均値よりも高いが、ユーザＡがすでに予約を行っている番組であるので、残りの番組の内の番組β及び番組εが推薦対象予約番組として抽出される。このとき、番組βのｔｆ・ｉｄｆ値は番組εのｔｆ・ｉｄｆ値よりも大きいので、番組βが１番に推薦され、番組εが２番目に推薦される。
【０４３６】
なお、本実施形態では、認証ユーザが属するコミュニティグループに特徴的な予約番組情報を、ユーザ属性ＤＢ２３２に登録されている全てのユーザに対して抽出しているが、全ユーザではなく所定の複数コミュニティグループに所属するユーザに対して予約番組情報を抽出してもよい。この所定の複数コミュニティグループは、例えば以下のような方法により設定することができる。
【０４３７】
まず、認証ユーザに最初の番組推薦を行う際は、本実施形態で説明したとおり全ユーザ数を用いてｉｄｆ値を求める。次に、初回の処理で推薦された番組のコミュニティ予約率（コミュニティグループ内の推薦番組の予約数÷そのコミュニティグループ内のユーザ数）が所定の閾値（例えば０．５）以上であるコミュニティグループを近傍コミュニティグループとする。
【０４３８】
認証ユーザに推薦した番組の予約率が高いコミュニティグループは、認証ユーザの所属するコミュニティグループに番組予約傾向が類似しているコミュニティグループ（近傍コミュニティグループ）と言える。二回目以降の番組推薦を行う際には、この近傍コミュニティグループおよび認証ユーザが所属するコミュニティグループのユーザ総数を用いてｉｄｆ値を求める。すなわち、予約番組情報ｋのｉｄｆ値は、下記の（２）式に基づいて算出される。
【０４３９】
ｉｄｆ＝ｌｏｇ（（近傍コミュニティグループのユーザ数＋認証ユーザが所属するコミュニティグループのユーザ数）÷予約番組情報ｋが出現するユーザ数）＋１・・・（２）
図３３で説明した一例では、認証ユーザＡに番組βが（１位で）推薦されている。ここで、図３４に示すように、認証ユーザＡが所属していないコミュニティグループｃ３とｃ４とにおける推薦番組βのコミュニティ予約率は、それぞれ０．５と０．３となり、コミュニティ予約率の閾値（０．５）以上であるコミュニティグループｃ３が近傍コミュニティグループとなる。
【０４４０】
したがって、二回目以降の番組推薦処理においては、認証ユーザＡが所属するコミュニティグループｃ１，ｃ２及び近傍コミュニティグループｃ３の３つのコミュニティグループのユーザ総数１２名を用いて、予約番組情報ｋのｉｄｆ値をｌｏｇ（１２÷予約番組情報ｋが出現するユーザ数）＋１と算出する。
【０４４１】
このように、全ユーザではなく近傍コミュニティグループに所属するユーザに限定してｉｄｆを求めて番組推薦を行うことで、よりコミュニティグループに特化した番組を推薦することができる。また、二回目以降の番組推薦処理にかかる計算負荷を、初回の計算負荷よりも小さくすることができる。
【０４４２】
さらに、番組推薦処理を繰り返し行っていく際に、定期的に初回の番組推薦と同様の処理を行うことで、近傍コミュニティグループを更新する構成としてもよい。このようにすれば、コミュニティグループの番組予約傾向が時間経過とともに変化する場合でも、コミュニティグループに特化した番組推薦を行うことができる。
【０４４３】
なお、この近傍コミュニティグループは、比較的嗜好が近いコミュニティグループと判断することができる。このため、ユーザに近傍コミュニティグループへの加入を推薦する仕組みを持たせることも可能である。これによって、ユーザは自分の嗜好に近いコミュニティグループを発見しやすくなるという効果が期待できる。
【０４４４】
なお、本実施形態では、番組の推薦閾値としてｔｆ・ｉｄｆ値の平均値を用いたが、これに限定されない。例えば、ｔｆ・ｉｄｆ値のばらつきが大きい傾向がある場合には、相乗平均や中央値を推薦閾値として用いることで、ユーザが納得する番組推薦を高精度に行うことができる。
【０４４５】
また、本実施形態では、コミュニティ特化部２３８は、推薦対象予約番組情報と認証ユーザの予約済みの予約番組情報との比較を行っているが、コミュニティ予約情報統計部２３６及び全ユーザ予約情報統計部２３７で、処理の対象となる予約番組情報と認証ユーザの予約番組情報との比較を行い、認証ユーザの予約番組情報を処理の対象から除外する構成としてもよい。このような構成にすることで、コミュニティ予約情報統計部２３６及び全ユーザ予約情報統計部２３７における処理対象予約番組情報が少なくなり、計算処理量を減らすことが可能となる。
【０４４６】
なお、本実施形態では、番組の予約番組情報からｔｆ・ｉｄｆ値を算出する例に関して述べたが、番組の予約番組情報以外の情報を用いてｔｆ・ｉｄｆ値を算出してもよい。例えば、ユーザの作成したブログや日記などのコンテンツのタイトルやコンテンツ内に出現する単語などからｔｆ・ｉｄｆ値を算出し、ｔｆ・ｉｄｆ値が高い単語をコミュニティグループに代表される単語として、その単語が番組情報のタイトルや詳細情報（ＥＰＧから得られる情報や番組に関連付けられたタグなど）に含まれる番組を推薦しても良い。
【０４４７】
また、コミュニティグループに代表される番組情報や単語をコミュニティグループの詳細情報として関連付けを行なっても良い。そうすることにより、コミュニティグループを検索する際のタグ情報として使用することが可能になったり、コミュニティグループ名を表示する際に同時に一覧を出力することで、ユーザがコミュニティグループを選択する際によりユーザの嗜好に合ったコミュニティグループを選択しやすくするという効果が得られる。
【産業上の利用可能性】
【０４４８】
本発明に係る番組推薦システム、番組視聴端末、番組視聴プログラム、番組視聴方法、番組推薦サーバ、番組推薦プログラム及び番組推薦方法は、一般的に嗜好度の高い番組を排除し、特定のユーザの嗜好に特化した番組を推薦することができ、受信した番組を視聴する番組視聴端末、番組視聴プログラム及び番組視聴方法、ユーザの嗜好に合った番組に関する推薦情報を操作情報に応じて作成する番組推薦サーバ、番組推薦プログラム及び番組推薦方法、並びに番組視聴端末と番組推薦サーバとを備える番組推薦システムとして有用である。
【符号の説明】
【０４４９】
２，５，８    番組視聴端末
３，６，９    番組推薦サーバ
４，７，１０    ネットワーク
３０，７０    特化生成部
２０１，７０１，１７０１    アンテナ
２０２，７０２，１７０２    チューナ
２０３，７０３，１７０３    ＴＳデコーダ
２０４，７０４，１７０４    ＣＡＳ
２０５，７０５，１７０５    暗号解除部
２０６，７０６，１７０６    デマルチプレクサ
２０７，７０７，１７０７    ＭＰＥＧ  Ｖｉｄｅｏデコーダ
２０８，７０８，１７０８    ＭＰＥＧ  Ａｕｄｉｏデコーダ
２０９，２１０，７０９，７１０，１７０９，１７１０    ＨＤＭＩ端子
２１１，７１１，１７１１    モニタ
２１２，７１２，１７１２    スピーカ
２１３，７１３，１７１３    記録用暗号化部
２１４，７１４，１７１４    記録制御部
２１５，７１５，１７１５    記録媒体
２１６，７１６，１７１６    再生制御部
２１７，７１７，１７１７    記録用復号化部
２１８，７１８，１７１８    ＰＳＩ抽出部
２１９，７１９，１７１９    ＥＰＧ記憶部
２２０，７２０，１７２４    キー
２２１，７３１    予約管理部
２２２，７３２    予約メモリ
２２３，７２５，１７２５    ユーザ識別部
２２４，７２６，１７２６    ユーザ情報ＤＢ
２２５    予約情報送信部
２２６，７２８，１７２８    推薦受信部
２２７，７２９，１７２９    推薦番組情報抽出部
２２８    番組予約判定部
２２９    推薦番組抽出部
２３０    予約情報受信部
２３１，７５１，１７５１    ユーザ管理部
２３２，７５２，１７５２    ユーザ属性ＤＢ
２３４    予約情報登録部
２３５    予約情報ＤＢ
２３６    コミュニティ予約情報統計部
２３７    全ユーザ予約情報統計部
２３８，７５８，１７５９    コミュニティ特化部
２３９    推薦番組作成部
２４０，７６０，１７６１    推薦送信部
７２１    赤外線通信部
７２２    マーキング管理部
７２４    マーキング記憶部
７２７    マーキング送信部
７３０    番組記録判定部
７３３    特定シーン抽出部
７５０    マーキング受信部
７５４    マーキング登録部
７５５    マーキングＤＢ
７５６    コミュニティマーキング統計部
７５７    全ユーザマーキング統計部
７５９    推薦シーン作成部
１６０５    ポインティングデバイス
１６０６    クラスタＩＤ記憶部
１６０７    記録媒体
１６０８    クラスタ検索部
１７２０    ポインタ受光部
１７２１    座標抽出部
１７２２    クラスタ識別情報抽出部
１７２３    クラスタ記憶部
１７２７    クラスタ送信部
１７３０    クラスタ検索部
１７３２    推薦再生制御部
１７３３    拡大制御部
１７５０    クラスタ受信部
１７５４    クラスタ登録部
１７５５    クラスタ再生時間管理部
１７５６    クラスタＤＢ
１７５７    コミュニティクラスタ統計部
１７５８    全ユーザクラスタ統計部
１７６０    推薦クラスタ作成部
７１８１    時間抽出部
７１８２    ＰＩＤ抽出部
【図１】
2010259105.tif 000003
【図２】
2010259105.tif 000004
【図３】
2010259105.tif 000005
【図４】
2010259105.tif 000006
【図５】
2010259105.tif 000007
【図６】
2010259105.tif 000008
【図７】
2010259105.tif 000009
【図８】
2010259105.tif 000010
【図９】
2010259105.tif 000011
【図１０】
2010259105.tif 000012
【図１１】
2010259105.tif 000013
【図１２】
2010259105.tif 000014
【図１３】
2010259105.tif 000015
【図１４】
2010259105.tif 000016
【図１５】
2010259105.tif 000017
【図１６】
2010259105.tif 000018
【図１７】
2010259105.tif 000019
【図１８】
2010259105.tif 000020
【図１９】
2010259105.tif 000021
【図２０】
2010259105.tif 000022
【図２１】
2010259105.tif 000023
【図２２】
2010259105.tif 000024
【図２３】
2010259105.tif 000025
【図２４】
2010259105.tif 000026
【図２５】
2010259105.tif 000027
【図２６】
2010259105.tif 000028
【図２７】
2010259105.tif 000029
【図２８】
2010259105.tif 000030
【図２９】
2010259105.tif 000031
【図３０】
2010259105.tif 000032
【図３１】
2010259105.tif 000033
【図３２】
2010259105.tif 000034
【図３３】
2010259105.tif 000035
【図３４】
2010259105.tif 000036