【文献】
SHIROTA, Y., et al.,"A TV Program Generation System Using Digest Video Scenes and a Scripting Markup Language",Proceedings of the 34th Hawaii International Conference on System Sciences 2001,2001年 1月 6日,<DOI: 10.1109/HICSS.2001.926510>
(58)【調査した分野】(Int.Cl.,DB名)
前記処理手段は、前記抽出されたシーンを統合して生成されたダイジェストが前記第1ユーザから指定された長さを超える場合、統合するシーンの長さを前記順位に応じて調整し、前記指定された長さのダイジェストを生成することを特徴とする請求項9に記載のサーバ。
【発明を実施するための形態】
【0010】
以下、図面を用いて、本願発明に係る実施形態について説明する。なお、以下に示す実施形態は一例であり、これに限定するものではない。そのため、本願発明の特徴的構成を適用できれば他の構成であってもよい。
【0011】
以下に、添付する図面を参照して本発明の1つの実施形態を説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0012】
<システム構成>
図1は、本実施形態に対応するコンテンツ提供システムの全体構成を示すブロック図である。当該コンテンツ提供システムは、ユーザ端末、サーバがネットワークに接続されて構成されている。サーバは、コンテンツの他にユーザ情報を管理する。サーバはポータルサイトを提供し、ユーザは当該ポータルサイトの登録ユーザであってもよい。
【0013】
クライアント101a、101b、101c(以下、これらを総称して「クライアント101」という。)は、ユーザが操作し、サーバによりユーザ認証を受けた後、サーバが管理するコンテンツを視聴し、評価することができるユーザ端末である。サーバ103は、クライアント101のユーザを認証し、認証されたユーザが使用するクライアント101に対してコンテンツを提供する装置である。クライアント101及びサーバ103はそれぞれネットワーク102に接続され、相互通信が可能となっている。ネットワーク102は例えばインターネット、ローカル・エリア・ネットワーク(LAN)、或いは、ワイド・エリア・ネットワーク(WAN)として構築することができる。インターネットは世界中のネットワークが互いに接続されたネットワークであるが、ネットワーク102は、これ以外にもイントラネットのように特定の組織内においてのみ接続可能なネットワークであってもよい。サーバ103には、ユーザ情報データベース104とコンテンツデータベース105とが接続されている。
【0014】
クライアント101は、ユーザが操作することで、サーバ103が提供するコンテンツを視聴することができる。コンテンツの視聴は、例えばダウンロードしながら同時に再生するストリーミングにより実行することができる。クライアント101はユーザ端末、情報処理装置、或いは、通信装置であって、例えば、ノートパソコン、デスクトップパソコン、携帯情報端末、携帯電話、スマートフォン、タブレット端末等を含む。クライアント101には、所謂インターネット・ブラウザのソフトウェア(プラグインでストリーミング・コンテンツを再生可能)、或いは、ストリーミング・コンテンツを再生するためのプレーヤアプリケーションがインストールされているものとする。クライアント101は、無線LAN、LTE等の無線データ通信手段によってネットワーク102に接続されている。尚、イーサネット(登録商標)等のネットワークケーブルを含むLANにより、ネットワーク102へアクセス可能に更に構成されていてもよい。
【0015】
サーバ103は、ユーザ情報データベース104を管理し、クライアント101の各ユーザの登録情報を保持しておき、各ユーザがコンテンツを視聴しようとする場合に、当該ユーザが当該ストリーミングサービスを受ける権限を有しているか否かを判定することができる。サーバ103は、また、コンテンツデータベース105に格納されているコンテンツデータを管理し、クライアント101からのストリーミング要求に応じて、指定されたコンテンツをクライアントに提供(送信)する。また、ユーザから得られたコンテンツに対する評価をコンテンツデータベース105に蓄積し、コンテンツの評価情報として管理する。サーバ103は当該評価情報を利用して、クライアント101のユーザのためのコンテンツのサジェスト(提案、推薦、レコメンドとも言う。)を生成し、クライアント101に送信することができる。サーバ103は、例えば、LANによってユーザ情報データベース104やコンテンツデータベース105と接続される。ユーザ情報データベース104及びコンテンツデータベース105は、それぞれ所定のデータベース・ソフトウェアがインストールされた情報処理装置であり、各種データの管理を行う。
【0016】
ユーザ情報データベース104は、ユーザごとの登録情報を管理する。具体的に、ユーザを一意に識別するためのユーザ識別子(ユーザID)、登録ユーザであるか否かを判定するためのユーザ登録情報(例えば、ユーザ名とパスワードのセット等)、ユーザが既に視聴したコンテンツ、評価したコンテンツを識別するコンテンツ識別情報(コンテンツID)を関連づけて格納する。ユーザ情報データベース104に登録される情報の一例については、
図5を参照して後述する。
【0017】
コンテンツデータベース105は、サーバ103からクライアント101に提供されるコンテンツデータを格納し管理する。コンテンツデータには、画像、動画、音声等のデータが含まれる。これらのコンテンツデータには、当該コンテンツデータを一意に識別するためのコンテンツIDが割当てられている。また、コンテンツデータベース105には、対応コンテンツを視聴したユーザが付与したレーティング、コメント、属性等の評価情報もコンテンツIDと関連づけて保存されている。評価情報の詳細は
図6を参照して後述する。
【0018】
尚、本明細書では、便宜上、サーバ103、ユーザ情報データベース104、及びコンテンツデータベース105は、それぞれ物理的に独立した情報処理装置によって実現されるものとして説明するが、本発明の実施形態はこれに限られるものではない。例えば、これらが単一の情報処理装置によって実現されてもよい。その一方で、サーバ103等の各装置が複数台の情報処理装置により冗長構成、或いは分散構成されても良い。また、ユーザ情報データベース104は、サーバ103とLAN等によって接続されているものとして説明するが、例えば、ネットワーク102や非図示のイントラネット経由でサーバ103と通信可能な形態をとってもよい。サーバ103とコンテンツデータベース105との関係についても同様である。また、ユーザ情報データベース104が管理するユーザ情報と、とコンテンツデータベース105が管理するコンテンツ関連のデータとは一体的に管理されていてもよい。
【0019】
<情報処理装置の構成>
次に、本実施形態に対応するコンテンツ提供システムを構成する情報処理装置の概略について説明する。
図2は、サーバ103の機器構成を示すブロック図である。
【0020】
図2において、CPU200は、ハードディスク装置(以下、HDと呼ぶ)205に格納されているアプリケーションプログラム、オペレーティングシステム(OS)や制御プログラム等を実行し、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。インターフェイス208を介した外部装置とのデータ送受信を制御するとともに、外部装置から受信したデータの分析・処理を実行し、また外部装置へ送信するデータ(処理要求やデータ要求を含む)の生成を行う。
【0021】
ROM201は、内部に基本I/Oプログラム、ストリーミングを実行するアプリケーションプログラム等の各種データを記憶する。RAM202は各種データを一時記憶し、CPU200の主メモリ、ワークエリア等として機能する。
【0022】
外部記憶ドライブ203は、記録媒体へのアクセスを実現するための外部記憶ドライブであり、メディア(記録媒体)204に記憶されたプログラム等を本コンピュータシステムにロードすることができる。尚、メディア204は、例えば、フロッピー(登録商標)ディスク(FD)、CD−ROM、CD−R、CD−RW、PCカード、DVD、Blu−ray(登録商標)、ICメモリカード、MO、メモリスティック等を利用することができる。
【0023】
外部記憶装置205は、本実施形態では大容量メモリとして機能するHD(ハードディスク)を用いている。HD205には、アプリケーションプログラム、OS、制御プログラム、関連プログラム等が格納される。なお、ハードディスクの代わりに、フラッシュ(登録商標)メモリ等の不揮発性記憶装置を用いても良い。
【0024】
指示入力装置206は、キーボードやポインティングデバイス(マウス等)、タッチパネル等がこれに相当する。出力装置207は、指示入力装置206から入力したコマンドや、それに対するサーバ103の応答出力等を出力する。出力装置207にはディスプレイ、スピーカ、ヘッドフォン端子等が含まれる。システムバス209は、情報処理装置内のデータの流れを司る。
【0025】
インターフェイス(以下、I/Fという)208は、外部装置とのデータのやり取りを仲介する役割を果たす。具体的に、I/F208は、無線通信モジュールを含むことができ、当該モジュールはアンテナシステム、RF送受信器、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュールカード、メモリなどを含む、周知の回路機構を含むことができる。また、有線接続のための有線通信モジュールを含むことができる。有線通信モジュールは1つ以上の外部ポートを介して他のデバイスとの通信を可能とする。また、データを処理する様々なソフトウェアコンポーネントを含むことができる。外部ポートは、イーサーネット、USBやIEEE1394等を介して、直接的に、又はネットワークを介して間接的に他のデバイスと結合する。尚、以上の各装置と同等の機能を実現するソフトウェアにより、ハードウェア装置の代替として構成することもできる。データベース210はシステムバス309に接続され、CPU200の制御下において所定のデータを保存、管理する。ここで、データベース210は、ユーザ情報データベース104、又は、コンテンツデータベース105を総称するものである。
【0026】
本実施形態に対応する処理を実行するために対応するプログラムを動作させる度に、既にプログラムがインストールされているHD205からRAM202にロードするようにしてもよい。また、本実施形態に係るプログラムをROM201に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU200で実行することも可能である。さらに、メディア204から対応プログラム及び関連データを直接RAM202にロードして実行させることもできる。
【0027】
図3は、クライアント101のハードウェア構成の一例を示すブロック図である。上述した情報処理装置としてのユーザ情報データベース104及びコンテンツデータベース105も、同様或いは同等のハードウェア構成として構成しても良い。CPU300、ROM301、RAM302、外部記憶ドライブ303、メディア304、HD305、指示入力装置306、出力装置307、I/F308、システムバス309の機能及び用途、更には、これらの関係は、
図2を用いて説明したものと同様或いは同等である。
【0028】
上記の説明に加えて、クライアント101のCPU300は、サーバ103からストリーミングにより提供され、RAM302に記憶されたコンテンツデータを展開し、出力装置307により出力可能な形式のデータに変換する。また、RAM302はサーバ103からストリーミングにより提供されたコンテンツデータを一時的に記憶する。さらに、指示入力装置306を用いて、ユーザは、クライアント101に対して、装置を制御するコマンド等を入力指示することができる。例えば、ストリーミングの開始指示や、視聴したコンテンツの評価等を入力することもできる。出力装置307は、サーバ103から提供されるコンテンツをストリーミングしている際に、CPU300が展開したコンテンツデータの映像をディスプレイで出力表示し、音声をスピーカやヘッドフォン端子から出力することができる。
【0029】
<コンテンツ提供処理>
次に、発明の実施形態に対応するコンテンツ提供処理について、添付の図面を参照して説明する。
図4は、発明の実施形態に対応する、サーバ103におけるコンテンツ提供処理の全体的流れの一例を示すフローチャートである。
図4に対応する処理は、サーバ103がHD205やデータベース210に保持する処理プログラムをCPU200で実行することで実現される。
図5は、ユーザ情報データベース104のデータ構成の一例を示す図である。
図6は、コンテンツデータベース105のデータ構成の一例を示す図である。
【0030】
クライアント101とサーバ103との間の通信は、クライアント101において実行されるウェブブラウザの通信機能、或いは、ウェブブラウザのプラグイン(拡張プログラム)の通信機能を利用して実現することができる。例えばJava(登録商標)Scriptを用いたHTTPプロトコルに従って実現することができる。その他に、Flash等を使ってもよいし、HTTPではない別のプロトコルに従った通信でもよい。
【0031】
図4において、S401では、CPU200は、クライアント101からネットワーク102を介してログイン要求を受信する。クライアント101が送信するログイン要求には、少なくともクライアント101を操作するユーザを特定するためのユーザ名とパスワードからなるユーザ登録情報が含まれる。S402では、CPU200は、ログイン要求から当該ユーザ登録情報を抽出する。次に、S403では、ログイン要求を行ったユーザがユーザ情報データベース104に登録されているか否かを判定する。具体的に、取得したユーザ登録情報に基づき、ユーザ名とパスワードからなる組み合わせに一致する登録情報がユーザ情報データベース104内に存在し、登録情報と関連づけられたユーザIDが特定できるか否かを判定する。
【0032】
ここで
図5のユーザ情報データベース104の構造について説明する。ユーザ情報データベース104は、各ユーザを一意に識別するためのユーザID501、登録ユーザであることを判定するためのユーザ名502及びパスワード503のセットからなるユーザ登録情報、各ユーザが過去に評価した評価済みコンテンツを識別する情報である評価済みコンテンツ504、各ユーザが視聴済みコンテンツを識別する情報である視聴済みコンテンツ505からなる。ユーザID501には各ユーザに対して一意に付与された所定のユーザ識別子が登録される。ユーザ名502及びパスワード503には、ユーザが任意に設定したユーザ名とパスワードが登録され、ユーザID501と関連づけられる。評価済みコンテンツ504には、当該ユーザが過去に評価を行ったコンテンツを識別するための識別情報が登録される。本実施形態では、コンテンツを一意に識別するための識別情報を「コンテンツID」と呼ぶことにする。コンテンツIDは、例えば、特定の音声データ、動画データ、画像データなどのデータ単位に付与される識別情報である。視聴済みコンテンツ505には、コメントを行なったか否かにかかわらず、ユーザが視聴した全てのコンテンツを識別する情報が登録される。
【0033】
図4の説明に戻り、S403の判定においてユーザIDが特定できた場合(S403で「YES」)には処理はS404に移行し、ユーザIDが特定できなかった場合は処理を終了する。
【0034】
続くS404では、CPU200は、ユーザが過去に行なったコンテンツに対する評価に基づき、ユーザに視聴を推薦するコンテンツのサジェストを生成し、当該サジェストを含めたコンテンツ選択画面をクライアント101宛てに送信する。サジェスト生成及びコンテンツ選択画面の送信処理については
図7を参照して後述する。次にS405では、CPU200は、コンテンツ選択画面に含まれるコンテンツのダイジェスト再生要求をクライアント101から受信したか否かを判定する。もし、ダイジェスト再生要求をクライアント101から受信しない場合(S405で「NO」)は、処理はS407に移行する。ダイジェスト再生要求を受信した場合(S405で「YES」)、CPU200はS406にてダイジェスト再生用画面をクライアント101へ送信し、当該画面を介してクライアント101から受付けた入力したがってダイジェストの生成及び送信を行なう。その後S405に戻って処理を継続する。S406における処理の詳細は
図15を参照して後述する。
【0035】
S407では、CPU200はクライアント101からコンテンツの視聴要求を受信したか否かを判定する。クライアント101のユーザは、S404で受信し、ディスプレイに表示されたコンテンツ選択画面を参照し、サジェストを参考に自分が視聴するコンテンツを選択して、その視聴要求をクライアント101からサーバ103へ送信する。S407の判定においてCPU200は視聴要求を受信したと判定した場合(S407で「YES」)、処理はS408に移行し、視聴要求を受信しない場合(S407で「NO」)はS405に戻って処理を継続する。
【0036】
S408では、CPU200は受信した視聴要求に含まれるコンテンツIDに基づき、ストリーミング対象のコンテンツ及びそのコンテンツデータを特定し、当該コンテンツのストリーミングを開始する。サーバ103は、特定したコンテンツデータをクライアント101に対し送信する。クライアント101は受信したコンテンツデータをデコードしてディスプレイに再生表示する。コンテンツ再生時には、再生コンテンツに対してユーザが評価等を入力することができ、ユーザによる評価等はクライアント101からサーバ103へ送信される。S409においてCPU200は、クライアント101からサーバ103へ送信された評価を受信する。
【0037】
S408におけるコンテンツのストリーミング再生において広告を表示する場合、ダイジェストを生成する際に使用したシーンの順位に関する情報を利用することができる。詳細は
図15との関連で記載されるが、本実施形態では、ダイジェストを生成する際に、コンテンツを構成するシーンのうちユーザの関心が高いと推定されるシーンが抽出され、それに順位が付与される。そこで、CPU200は広告表示をこのように順位付けされたシーンの一部に挿入したり、当該シーンの前後に挿入したりしてもよい。
【0038】
次に、S404における処理の詳細を
図7のフローチャートを参照して説明する。
図7は、実施形態に対応するサジェスト生成及びコンテンツ選択画面の送信に係る処理の一例を示すフローチャートである。
【0039】
まず、S701において、CPU200はユーザ情報データベース104を参照し、ユーザが過去に評価を行なったコンテンツを特定する。例えば、
図5に示すユーザ情報データベース104のデータ構成の一例では、評価済みコンテンツ504として、ユーザ毎の評価済みコンテンツの識別情報が登録されているで、この情報を取得する。続くS702では、CPU200は特定した各コンテンツに対してユーザが行なった評価の内容を示す評価情報を抽出する。
【0040】
図6は、実施形態に対応する評価情報テーブルのデータ構成の一例を示す。当該評価情報テーブル600はコンテンツデータベース105に保持される。評価情報テーブル600は、コンテンツデータベース105に登録されているコンテンツを一意に識別する識別情報であるコンテンツID601、ユーザを一意に識別する識別情報であるユーザID602、各コンテンツについて各ユーザが付与したコンテンツの評価を段階的に示すレーティング603、各コンテンツについて各ユーザが付与したコメント604、各コンテンツの属性605を含む。S702では、レーティング、コメント、属性の3つをコンテンツID及びユーザIDを関連づけて評価情報として抽出する。
【0041】
レーティング603は、複数段階でコンテンツ全体に対する評価或いは点数を示す。例えば5段階の評価の場合、最高評価を「5」、最低評価を「1」とする。ここで段階数は任意とすることができる。例えば10段階でもよいし、3段階でもよい。コメント604は、コンテンツについてユーザが任意に入力した情報であって、レーティングのような複数段階のいずれかを選択するのだけでなく、任意のテキスト入力結果を含むことができる。コメント604は、コンテンツ全体に対する評価として生成されてもよいし、コンテンツの特定のシーン(或いは、セグメント。以下同じ。)について生成されてもよい。後者の場合、コンテンツを複数のシーンに予め区切っておき、コンテンツの再生中にユーザが任意に入力したコメントと評価とをいずれかのシーンと関連づけておくことができる。
【0042】
属性605は、コンテンツの種類や内容に関連する任意の情報が登録される。属性605は、同一のコンテンツについて複数のユーザに共通に与えられる情報である。属性を、タグやメタデータと呼ぶこともできる。また、コメントで頻出する特定のキーワードを含むようにしてもよいし、コメントで頻出するかどうかに関わらず、予め与えられた情報と、後述する機械学習の手法等に基づきサーバ103がシーン毎に抽出した情報を含むようにしても良い。また、コンテンツのジャンルや、コンテンツが映画であれば映画の監督、出演者、公開年、その他、当該映画に関する任意の情報を含むことができる。
【0043】
また、属性はコンテンツに含まれるシーンと関連づけられて登録されてもよい。例えば、シーンに含まれる音声・映像から抽出した情報を属性として登録することができる。具体的には、シーンには効果音や環境音、BGM、セリフ等の音声が含まれるので、音声認識処理によりそのシーンの種別を特定することができる。より具体的には、車のエンジン音やブレーキ音、衝突音などが含まれているシーンは音声解析により「カーチェイス」のシーンと特定することができるので、当該シーンの属性として「カーチェイス」を登録することができる。また、シーンに人物のセリフが含まれる場合には、セリフ音声を文字変換し、得られた文字列からシーンの種別を特定しても良い。より具体的には、恋人同士が愛を語り合うシーンであればセリフから愛情表現を示す文字列を抽出することが可能となり、抽出された文字列に基づいて当該シーンを「ラブ」シーンと特定することができる。
【0044】
同様にしてシーンの映像を解析することにより、シーンの種別を特定することもできる。例えば、主人公が泣いているシーンであれば、顔認識処理により人物の顔を特定すると共に、人物の表情の変化や涙が流れたか否かを判定することにより、当該シーンを「悲しい」シーンと判定することができる。また、画像認識と音声認識とを組み合わせて、シーンの種別を更に細分化して特定することもできる。
【0045】
このようにして、「戦闘」シーン、「ダンス」シーン、「ラブ」シーン、「シリアス」シーン、「緊迫」シーン、「幸せな」シーン、「悲しい」シーン等といったシーンの種別を特定し、シーンの属性として登録することができる。当該シーンの自動特定は機械学習に基づいて実行しても良い。また、登録対象とするシーンは、全てのシーンではなく一部のシーンのみであっても良い。その場合、ユーザのシーン評価に基づき属性の登録対象を決定することができる。例えば、ユーザによる評価の平均値が一定以上(高評価)、或いは、一定以下(低評価)のシーンを登録対象とすることができる。
【0046】
また、機械学習に依らず、特定のシーンについてコメントで多く使用された語を、シーンと関連づけて属性として登録してもよい。例えば、コンテンツのあるシーンについて多数のユーザのコメント中に「ダンス」という語が登場していた場合、当該シーンに関連づけて「ダンス」を登録しておく。これにより、属性805についてキーワード「ダンス」で検索をかけた場合に、当該シーンを特定することが可能となる。
【0047】
図9は、コンテンツにおけるシーンとコメントとの関連づけの一例を示す図である。コンテンツ900は複数のシーン(シーン1からシーンn)に分割されており、各シーンに対してコメントとして任意の文字入力と評価(ここでは5段階)が付与されている。コメントは各ユーザが自由な文章を入力することができる。
【0048】
このコメント情報は、
図10に示すようなデータ構造において保持することができる。
図10において、コメント情報の全体は、コメントID1001と、全体コメント1002、シーンコメント部1003から構成される。コメントID1001は、コメントを一意に識別するための情報であって、対応するコンテンツと、コメントを生成したユーザとの関係で決定されてもよい。全体コメント1002は、コンテンツ全体に対するコメントが含まれる。シーンコメント部1003はコンテンツに含まれるシーン毎のコメント1004を含むように構成される。シーン毎のコメント1004には、コンテンツにおける各シーンを特定するための識別情報(シーン番号等)であるシーンID1005、当該シーンに対してユーザが入力したコメント1006、当該シーンに対してユーザが入力した評価1007が含まれる。評価1007の値はデフォルトとして中間値が与えられていてもよい。例えば、5段階評価の場合は「3」、3段階評価の場合は「2」とすることができる。
【0049】
図9及び
図10ではシーン毎の属性の記載を省略したが、属性はユーザ毎ではなくコンテンツ毎に与えられる情報である。そこでコンテンツ単位に
図10と同様のデータ構造においてシーン毎の属性として管理することができる。その場合、コメントID1001の代わりに属性IDが、全体コメント1002の代わりに全体属性が、シーン毎のコメント1004の代わりにシーン毎の属性として、シーンIDと関連づけてシーン毎の属性が登録されても良い。また、コンテンツの属性をユーザ毎のコメントと関連づけて
図10のデータ構造において管理してもよい。その場合、シーンID1004と関連づけて各シーンの属性を
図10に示したデータ構造に含めることができるので、各シーンのコメント、評価及び属性をシーンIDと関連づけて一元的に管理することができる。
【0050】
図7の説明に戻り、S703では、CPU200はS702で抽出した評価情報に従って、ユーザに視聴を勧める(サジェストする)コンテンツを決定する。サジェストするコンテンツの決定方法の詳細は
図11から
図13を参照して後段で説明する。サジェストするコンテンツが決定すると、続くS704において、CPU200はユーザが視聴するコンテンツを選択するためのコンテンツ選択画面を生成する。続くS705では、CPU200は生成したコンテンツ選択画面をクライアント101に送信する。
【0051】
コンテンツ選択画面の一例を
図8Aを参照して説明する。
図8Aは、サジェストされたコンテンツから視聴するコンテンツを選択するための画面である。画面800には、コンテンツ情報801と、対応するコンテンツのサムネイル画像802が表示されている。コンテンツ情報801は、属性605に含まれる情報から生成してもよいし、或いは、別途コンテンツデータベース105にコンテンツと関連づけて保存しておいてもよい。サムネイル画像802は、コンテンツデータベース105にコンテンツと関連づけて予め保存されている画像を使用することができる。ユーザが、コンテンツ情報801を選択(クリックやタップ)すると、クライアント101からサーバ103に対して視聴要求を送信することができる。また、別途再生ボタンを用意してもよい。また、サムネイル802はダイジェストの視聴開始を指示するために用いることができ、ユーザが、サムネイル802を選択(クリックまたはタップ)すると、クライアント101からサーバ103に対してダイジェスト視聴要求を送信することができる。ダイジェストは
図8Aのレイアウトにてサムネイル802が表示されている領域で再生されてもよいし、後述するように
図14に示すような画面が起動されて再生が行なわれてもよい。
【0052】
ここでクライアント101からサーバ103に送信されたコンテンツの視聴要求は、
図4のS407にてサーバ103のCPU200により認識され、続くS408で当該コンテンツのストリーミング視聴が開始されると
図8Bに示すようなコンテンツ視聴画面がクライアント101のディスプレイに表示される。画面810において、コンテンツ表示領域811には、クライアント101がサーバ103からストリーミングで受信した視聴コンテンツが表示される。スライドバー812a及びレーティング812bは、例えば5段階の評価を入力するための入力領域であり、コメント813はコメントを入力する文字入力領域である。レーティング及びコメントの入力は、再生中のコンテンツにおいてコンテンツ表示領域811に表示されているシーンと関連づけられ、クライアント101からサーバ103へ送信される。
【0053】
本実施形態では、画面810を利用して2種類の方法で評価(レーティング)の入力を可能としている。まず、スライドバー812aを使用する場合、スライドバーの位置に応じて5段階の評価入力が可能となっている。このとき、スライドバー812aの位置が高いほど評価を高くし、位置が低いほど評価を低くすることができる。また、評価に対応した色情報がスライドバーに与えられても良く、例えばスライドバーの位置が上であるほど赤い色になり、スライドバーの位置が下になるほど青い色になってもよい。ここで、位置と色との割当てはユーザが任意に設定可能とすることができる。さらに、表示領域811の縁815にもスライドバーの色に対応する色が与えられても良い。これにより、表示領域811はユーザがセットしたスライドバーの位置に応じた色により縁取られることとなり、シーンに対する自身の評価をより直感的に把握することが可能となる。
【0054】
また、ユーザが動かしたスライドバー812aの位置は、シーンが切り替る度に中心位置(評価では5段階のうちの3)に戻るようにしても良い。このときスライドバーは中心位置では白色や無色、或いは、ユーザが指定する任意の色とすることができる。よって、評価を行なう前にデフォルトとして表示領域811の縁815に与えられる色は白色、無色或いはユーザの好みの色となり、ユーザがコンテンツを鑑賞する際の妨げになりにくくなる。
【0055】
次に、レーティング812bを使用する場合、ユーザは評価に該当する数値を直接入力することができる。例えば、評価「5」を入力する場合、レーティング812bのコントロールをクリックすると1から5までが表示され、そのうち5を選択することができる。あるいは、コンテンツ視聴画面810が表示された状態で指示入力装置306のキーボードにおいて1から5のいずれかの数字キーが押下された場合には、レーティング812bに対する入力とみなして当該入力キーに対応する数値を表示することもできる。このとき、スライドバー812aの位置を、入力された数値と連動するように表示制御しても良い。また、スライドバー812aを使用して評価が入力される場合に、スライドバー812aの位置に応じた数値がレーティング812bの欄に表示されるようにしても良い。
【0056】
また、チェックボックス814は、コンテンツの途中までコメントを入力し、その後は省略したい場合に選択することができる。チェックボックス814を選択すると、ユーザと嗜好の類似する他のユーザの当該コンテンツに対するコメントがユーザのコメントとして補填され、コンテンツ全体について、
図10に示したようなコメント情報が生成される。このときコメントを補填元の他のユーザは、視聴ユーザがコメントしたシーンまでの評価が一致又は類似するユーザとすることができる。或いは、
図14を参照して後述するような嗜好の共通度の高い他のユーザとすることができる。
【0057】
次に、
図11から
図13を参照して、S703におけるユーザへサジェストするコンテンツを決定する処理の詳細を説明する。
図11及び
図13は、本実施形態に対応するユーザへサジェストするコンテンツを決定する処理の一例を示すフローチャートである。
図12は、コンテンツのサジェストの基準となる項目を指定するための表示画面の一例を示す図である。
【0058】
まず、
図11を参照して、ユーザの嗜好情報に基づいてサジェストするコンテンツを決定する方法を説明する。S1101では、CPU200はユーザが評価したコンテンツの評価情報を、コンテンツデータベース105の評価情報テーブル600から取得する。評価情報テーブル600にはユーザID602が登録されているため、ユーザIDを特定すれば、当該ユーザの評価情報を取得することができる。続くS1102では、CPU200は取得した評価情報のレーティング603の情報に従い、コンテンツをグループ化する。レーティングが5段階の場合、レーティングの値(点数)が「5」、「4」、「3」、「2」、「1」という5つのグループが生成される。続くS1103では、CPU200はS1102で生成したグループ内で、属性605の情報に基づいて、共通する属性を有するコンテンツのサブグループを作成する。コンテンツが映画の場合、映画のジャンルや、出演者、監督、その他、任意の属性の共通性に基づいてサブグループを作成する。ここでサブグループに含まれるコンテンツの数が所定値を超えない場合には、その属性に基づくサブグループを生成しなくてもよい。例えば、ユーザが特定の監督、特定の出演者、或いは、特定のジャンルを好んで評価している場合に、それらのサブグループが作成されることになる。
【0059】
次に、S1104では、CPU200はS1103で作成されたサブグループ内に含まれるコンテンツについて、コメント604の情報から共通するキーワードを抽出する。キーワードはサブグループ内に含まれるコンテンツの全てについて使われているキーワードであってもよいし、一定以上の割合のコンテンツについて使われているキーワードであってもよい。続くS1105では、CPU200は以上の処理により抽出されたレーティング、属性、キーワードの組み合わせに基づき嗜好情報を生成する。例えば、レーティングが「5」、属性「ミュージカル」、キーワード「ダンス」といった、嗜好情報を生成することができる。なお、属性及びキーワードに含まれる情報の種類、数は1つに限定されない。共通する情報が複数あれば、それらを含むことができる。含まれる情報が多くなるほど、サジェストの精度が高くなる。また、属性とキーワードとに重複する語が含まれる場合は、いずれか一方にだけ含めるようにしてもよい。例えば、重複する語については属性のみに含めるようにしてもよい。また、当該語が属性に基づくサブグループの作成に使用されている場合にのみ属性に含めることとし、それ以外の場合はキーワードに含めるようにしてもよい。S1101からS1105までの処理はリアルタイムではなく、予め実行され嗜好情報が各ユーザについて生成されていてもよい。次にS1106では、CPU200はS1105で生成された嗜好情報と関連づけられる評価情報を有するコンテンツを、評価情報テーブル600において探索する。
【0060】
ここで、例えば、嗜好情報が上記のように[レーティング、属性、キーワード]=[5、ミュージカル、ダンス]であった場合、属性がミュージカルで、コメントにダンスを含むコンテンツを特定し、レーティングとして「5」が付けられているものを選択する。その際、レーティングの平均点を算出し、平均点と5との差分が所定の閾値よりも小さければ対象としてよい。レーティングにはバラツキがあるため、平均した場合にはバラツキを考慮する必要があるためである。また、レーティングの最高点や、選択したユーザ数が最も多い点数、或いは、ユーザと類似する嗜好をもつ他のユーザが特定できる場合には、当該他のユーザの点数を参照してもよい。
【0061】
このとき、嗜好情報は同一ユーザについてレーティング、属性、キーワードの組み合わせに応じて複数個が生成される可能性もある。そのような場合、ユーザが予め何れの組み合わせに基づくサジェストを希望するかを指定可能とすることができる。例えば、
図12に示すような画面をユーザに表示し、コンテンツのサジェストの基準となる項目の指定を受付けることができる。
【0062】
図12において画面1200には、サジェストの作成基準として、嗜好情報に基づくか、ユーザが過去に視聴したコンテンツに基づくかをチェックボックス1201と1202により指定することができる。嗜好情報に基づくサジェストのチェックボックス1201が指定された場合は、更にレーティング、属性、キーワードを指定することができる。本実施形態では、レーティングのみ、属性のみ、キーワードのみを指定することもできるし、いずれかの組み合わせを指定してもよい。また、組み合わせパターンについては、生成済みの嗜好情報における組み合わせに限定してもよい。上記S1106の処理では、画面1200において指定された項目の組み合わせに応じた嗜好情報が選択され、コンテンツの探索が行なわれる。
【0063】
図12において、ユーザが過去に視聴したコンテンツに基づくサジェストのチェックボックス1202を指定した場合、ユーザは自分が過去に評価したコンテンツのいずれかを指定することができる。この場合は、指定されたコンテンツに基づいてユーザと嗜好の共通度の高い他のユーザを特定し、当該他のユーザが視聴済みのコンテンツの中からサジェスト対象を決定する。この時の処理について、
図13を参照して説明する。以下の説明においては、区別のためにコンテンツのサジェストを要求するユーザを第1ユーザと呼び、それ以外の他のユーザのことを第2ユーザと呼ぶ。
【0064】
図13において、S1301では、CPU200は、クライアント101から第1ユーザが入力したサジェストの基準となるコンテンツの指定を受信する。クライアント101のディスプレイには、
図12の画面1200が表示され、第1ユーザが入力したサジェストの基準となるコンテンツの指定を受付けることができる。クライアント101は受付けた指定をサーバ103に送信する。続くS1302では、CPU200は評価情報テーブル600を参照してS1301で指定されたコンテンツを評価済みの第2ユーザを抽出する。該当する第2ユーザが複数いる場合には全員抽出する。続くS1303では、CPU200は抽出した第2ユーザのうちから一人を選択する。これ以降CPU200は、選択された第2ユーザについて一人ずつ処理を行なう。
【0065】
まず、第1ユーザと第2ユーザとで評価済みのコンテンツの共通度を判定する。S1304では、CPU200は選択された第2ユーザが評価済みのコンテンツのうち、第1ユーザと第2ユーザとで共通して評価しているコンテンツの数(Ncc)を計数する。例えば、第1ユーザが10コンテンツを評価済みであり、選択第2ユーザがそのうちの5コンテンツを評価済みであれば、当該第2ユーザのNccは5となる。続くS1305では、CPU200はS1303で計数したNccが所定の閾値(Nth_cc)より大きいか否かを判定する。もし、閾値より大きいと判定されれば、評価済みのコンテンツの共通度が高いとして処理はS1306に進む。一方、閾値以下と判定されれば、処理はS1311に進む。
【0066】
続いて、第1ユーザと第2ユーザとで共通して評価していると判定されたコンテンツについて、レーティングの一致度を判定する。具体的にS1306では、CPU200はS1304で第1ユーザと第2ユーザとで共通して評価していると判定されたコンテンツについて、第1ユーザのレーティングと同一のレーティングを与えているコンテンツの数(Nsr)を計数する。上記の例では、第1ユーザと第2ユーザとで共通に評価している5つコンテンツのうち、3つのコンテンツについて第1ユーザと第2ユーザの評価が一致すれば、当該第2ユーザのNsrは3となる。このとき、レーティングが5段階評価である場合に、例えば「5」と「4」、「2」と「1」は同等とみなし、評価が一致するとして計数対象としてもよい。10段階評価も同様にして、レーティングは完全一致でなくてもよい。次に、S1307では、CPU200はS1305で計数したNsrが所定の閾値(Nth_sr)より大きいか否かを判定する。もし、閾値より大きいと判定されれば、第1ユーザと第2ユーザとのレーティングの一致度が高いとして処理はS1308に進む。一方、閾値以下と判定されれば、処理はS1311に進む。
【0067】
続いて、第1ユーザと第2ユーザとで共通して評価していると判定されたコンテンツについて、コメントの関連度を判定する。S1308では、CPU200はS1304で共通すると判定されたコンテンツについて、第1ユーザのコメントと第2ユーザのコメントのそれぞれに含まれるキーワードについて、コンテンツ毎の同一のキーワードの数(Nsk)を計数する。上記の例では、第1ユーザと第2ユーザとで共通に評価している5つコンテンツの各コメントに含まれるキーワードが、コンテンツ毎に2つずつ一致していると仮定すると、合計10個のキーワードが一致していることになる。よって、第2ユーザのNskは10となる。次に、S1309では、CPU200はS1308で計数したNskが所定の閾値(Nth_sk)より大きいか否かを判定する。もし、閾値より大きいと判定されれば、コメントの関連度が高いと判定され処理はS1310に進む。S1310では、CPU200は以上の処理においてNcc、Nsr、Nskがそれぞれ閾値を超えた第2ユーザが評価済みのコンテンツのうち、第1ユーザが未視聴のコンテンツを特定する。
【0068】
未視聴のコンテンツか否かは、ユーザ情報データベース104の視聴済みコンテンツ505の情報に基づいて判定することができる。ここで、未視聴のコンテンツをサジェスト対象としてもよいし、未視聴のコンテンツのうち、S1301で指定されたコンテンツと関連性のあるコンテンツに更に絞り込んでサジェスト対象としてもよい。関連性は、例えば、評価情報テーブル600を参照し、当該コンテンツの属性やコメントの一致度に基づき判定することができる。
【0069】
続くS1311では、CPU200はS1302で抽出された第2ユーザのうち未処理の第2ユーザがいるかどうかを判定し、未処理の第2ユーザが存在する場合はS1303に戻って処理を継続する。一方、未処理の第2ユーザが存在しない場合は、処理を終了する。このようにして嗜好の共通性が高いと判断された第2ユーザが特定できれば、第1ユーザが途中までしか評価していないコンテンツについて、当該第2ユーザの行なった評価を残りの部分の評価に転用してもよい。この点は、
図8Bのチェックボックス814に関する説明との関連で記載したとおりである。
【0070】
次に、
図4のS406におけるダイジェストの生成処理の詳細を
図14及び
図15を参照して説明する。
図14はコンテンツのダイジェストを再生する場合のダイジェスト再生画面の一例を示す。ダイジェスト再生時にはクライアント101のディスプレイにダイジェスト再生画面1400が表示される。画面1400において、ダイジェスト表示領域1401には、クライアント101がサーバ103から受信したコンテンツのダイジェストが表示される。スライダ1402は、ダイジェストの詳細度を設定するための入力部であって、詳細度の高さに応じてダイジェストの長さが変更される。詳細度が高いほどダイジェストは長く、詳細度が低いほどダイジェストを短くする。その際、最長と最短の長さを予め設定しておくことができる。また、詳細度の代わりに「長さ」を基準としてもよい。即ち、詳細度が高い方が長いダイジェストであり、詳細度が低い方が短いダイジェストに対応する。
【0071】
レーティング1403はダイジェストの内容を決定する際に参照する、コンテンツの各シーンに与えられているレーティングを設定するための領域である。レーティング1403は例えば5段階で入力することができ、「5」が入力された場合には、コンテンツにおいてレーティングが「5」と評価されたシーンのみからダイジェストを生成することができる。また、「1」が入力された場合には、コンテンツにおいてレーティングが「1」と評価されたシーンのみからダイジェストを生成することもできる。さらに、レーティングは単一の値だけでなく、範囲として指定することもできる。例えば、4以上、3以上、2以下といった指定も可能である。その場合は、その範囲に該当する評価を得たシーンからダイジェストを生成することができる。
【0072】
キーワード1404は、ダイジェストの内容を決定する際に参照する、コンテンツの各シーンに与えられている属性やコメントを検索するためのキーワードの入力領域である。ユーザは任意のキーワードをここに入力することができる。例えば、ダンスシーンの好きなユーザは、「ダンス」という語をキーワードとして入力することができ、これにより、コメントや属性に「ダンス」が含まれるシーンをダイジェストに含めることが可能となる。詳細度、レーティング、キーワードの入力はそれぞれ独立に設定することができ、全てを設定することも可能であるし、いずれか1つ以上を設定することもできる。例えば、詳細度として「高」、レーティングとして「5」、キーワードとして「ダンス」が入力することができる。
【0073】
チェックボックス1405は、ユーザが自分の嗜好に基づくダイジェストの生成を希望する場合に選択することができる。ダイジェストを視聴しようとするコンテンツが
図11のフローチャートに従って決定された場合、当該コンテンツを探索するのに用いられたユーザの嗜好情報が存在する。そこで、チェックボックス1405が選択された場合には、当該嗜好情報に基づき、対応する評価を有するシーンをコンテンツから抽出してダイジェストを生成することができる。また、
図11に従って予めユーザの嗜好情報が生成されている場合、生成された嗜好情報の中から任意のものを選択して指定することもできる。
【0074】
以下、
図15のフローチャートを参照して、
図14で設定された情報に従ったダイジェストの生成、送信処理の詳細を説明する。S1501では、CPU200は
図14の画面1400を介してクライアント101で入力されたユーザ設定の情報をクライアント101から受信する。ユーザは、項目1403から1405については、いずれか1つ、或いは、任意の組み合わせを入力することができる。続くS1502では、CPU200は受信したユーザ設定に従い、ダイジェストの長さを設定する。ここで詳細度「高」に基づくダイジェストの長さは、設定された最長の値となる。ダイジェストを例えば30秒から5分の間で作成することを考えると、5分に設定される。次に、S1503では、CPU200は指定されたレーティングに従って、コンテンツを構成するシーンから該当するシーンを抽出する。ここで、シーンのレーティングは、複数ユーザから評価を受けている場合にはその平均値としてもよいし、或いは最大値としてもよい、或いは、評価したユーザ数が最も多いレーティングをそのシーンの値としてもよい。例えば、「5」が一番多かった場合は、他に「2」や「1」があったとしても、そのシーンのレーティングは「5」とすることができる。
【0075】
次に、S1504では、CPU200は指定されたキーワードに従ってシーンを抽出する。キーワード検索は、
図10で示したような各シーンのコメント1006や、各シーンに与えられている属性について実施することができる。CPU200は評価情報テーブル600を参照してダイジェスト生成対象のコンテンツの評価情報を取得する。評価情報が複数あればそれを全部取得する。取得した各評価情報についてコメントID単位に、各シーンのコメントについて検索を行ない、複数のユーザからの評価において、あるシーンのコメントとしてキーワードが頻出する場合には、当該シーンを抽出する。例えば、10人のユーザからの10のコメント(10個のコメントID)がある場合を考える。対応コンテンツは10のシーンで構成されており、それぞれにコメントが付与されている。即ち、各シーンについて10人分のコメントが存在することになる。
【0076】
S1504では、CPU200は評価情報の各シーンのコメントについてキーワード検索を行ない、キーワードがヒットした率を計算する。もし10人分の全てに当該キーワードが含まれていれば、当然そのシーンは抽出対象に決定される。そして、ヒット率が一定の割合(例えば8割)を下回る場合には、当該シーンは抽出対象から除外することができる。このようにして、複数のシーンからキーワードのヒット率に基づきダイジェストに含めるべきシーンを抽出することができる。また、各シーンの属性について検索を行ない、シーンの属性にキーワードが含まれる場合には当該シーンを抽出することができる。また、属性にキーワードが含まれる場合には、コメントのヒット率を一定の係数N(1以上の数)をかけてヒット率の判定をやり直しても良い。例えば、あるシーンのコメントのヒット率が8割を下回る場合であっても、当該シーンの属性にキーワードが含まれる場合にはヒット率に係数Nをかけて、8割を超えるかどうか判定しても良い。
【0077】
続くS1505では、CPU200は評価情報の各シーンのコメントについて、ユーザの嗜好情報に含まれるレーティング、属性、キーワードに基づき検索を行ない、該当するシーンを抽出対象に決定する。ここでの処理はS1503、S1504における処理と同様に行なうことができる。
【0078】
続くS1506では、CPU200は以上により抽出されたシーンを順位付けする。例えば、レーティングがより高いシーンほど順位が高くなる。また、キーワードのヒット率が高いシーンほど順位が高くなる。レーティングとヒット率とを総合的に考慮して抽出されたシーンの順位を決定する。続くS1507では、CPU200は以上により抽出されたシーンを統合しダイジェストを作成する。例えば、上記の処理により抽出されたシーンをシーン番号順、或いは、ランダムに並べる。統合した結果、ダイジェストの長さがS1502で設定された長さに満たなかった場合には、予め用意されたダイジェストテンプレートを結合して、設定されたダイジェスト長に一致させる。また、統合した結果、設定されたダイジェスト長よりも長くなってしまった場合には、S1507で決定された順位で、順位がより低いシーンからシーン長を短縮するか、或いは、シーン自体を省略することでダイジェスト長が設定された長さに一致するように調整する。ダイジェストは抽出シーンの統合のみから生成するだけでなく、ダイジェストテンプレートを常に用いるようにしてもよい。これによりダイジェストの全体的な印象に統一感を持たせつつ、ユーザの嗜好に合わせたシーンを挿入して、ユーザの好みにあったダイジェストを生成することができる。
【0079】
以上によれば、ユーザが行なったコンテンツに対する評価内容に基づいて、当該ユーザに対して視聴を推薦するコンテンツのサジェストが可能となる。また、サジェストを提供する際には、ユーザの嗜好に対応したコンテンツのダイジェストを提供することができるので、そのコンテンツに対するユーザの関心を高めることが可能となる。また、ダイジェストの作成においてはシーン毎の評価が必要となるが、ユーザがコメント未入力のシーンについては、他のユーザのコメントにより補填することが可能となるので、ユーザの手間を軽減することができる。
【0080】
また、本実施形態によるサジェスト機能によれば、ユーザの嗜好にあったコンテンツを効率的に提供することが可能となり、クライアントとサーバ間の通信回数を削減して通信リソースを節約することが可能となる。また、サーバにおける検索回数を減少することも可能となるためサーバ処理負荷の軽減も図ることができる。
【0081】
[その他の実施形態]
本発明は上記実施の形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。また本発明に係る情報処理装置は、1以上のコンピュータを該情報処理装置として機能させるコンピュータプログラムによっても実現可能である。該コンピュータプログラムは、コンピュータが読み取り可能な記録媒体に記録されることにより、あるいは電気通信回線を通じて、提供/配布することができる。