以下に、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらの説明は繰り返さない。
<システム構成>
図1は、本実施の形態にかかる支援システムの具体例を示す図である。図1を参照して、本実施の形態にかかる支援システムは、コンテンツを出力可能な通信可能な端末装置300A,300B,300Cと、端末装置300A,300B,300Cでのコンテンツの再生を支援するための支援装置の一例としてのサーバ100とを含む。端末装置300A,300B,300Cを代表させて端末装置300とも称する。
端末装置300は、コンテンツを出力可能な装置であればどのような装置であってもよい。本実施の形態におけるコンテンツは、映像(静止画または動画)、音声、およびその組み合わせ、などを含むものであって、コンテンツの再生位置を、少なくとも1つの変数を用いて表現可能なものを指す。たとえば、コンテンツは、時系列に再生されるものを指す。具体例として、複数ページから構成される文書データや、複数の画像から構成される、プレゼンテーション用のスライド、文書作成アプリケーションなどで作成された文書データ、動画、データ、および複数ページから構成される電子書籍、ならびに、テキストファイルなどの、行番号や文字の位置などによって再生位置を特定できるデータがコンテンツに該当する。
上記の変数は、たとえば、ファイルのバージョンであってもよい。すなわち、ファイルのバージョンの変化によって、コンテンツの内容の変化が示されてもよい。
端末装置300は、映像および/または音声を出力するための機能(ディスプレイ、スピーカ)を含む装置であればよい。また、好ましくは端末装置300は、コンテンツに対するユーザ指示を受け付けるための、マウスやタッチディスプレイなどの指示機能を含む装置であればよい。端末装置300は、図示されたように、ディスプレイを有するPC(パーソナルコンピュータ)やいわゆるタブレットなどと呼ばれる携帯端末であってもよい。
たとえば、コンテンツは、いわゆるコマと呼ばれる複数枚の画像を含むものであってもよい。この場合、端末装置300では、当該コンテンツにさらに含まれる、各画像の表示のタイミングを規定した情報に従うタイミングで上記複数枚の画像それぞれを表示させたり、ユーザからの指示に従う画像を表示させたりすることで、当該コンテンツが再生される。
以降の説明では、コンテンツが表示を伴うものであり、端末装置300に表示されたコンテンツに対してユーザ操作が行なわれる場合が例として挙げられている。しかしながら、コンテンツ管理システムにて管理する対象のコンテンツは必ずしも表示を必須とするものではなく、音声のみであってもよい。ただし、コンテンツに対する操作を受け付けるための画面は表示される。
<装置構成>
図2は、サーバ100の装置構成の具体例を示すブロック図である。サーバ100は、一般的なPCで構成されてよい。そのため、図2は、一般的なPCで構成された場合のサーバ100の装置構成を表わしている。
図2を参照して、サーバ100は、装置全体を制御するためのCPU(Central Processing Unit)10と、CPU10で実行されるプログラムを記憶するためのメモリであ
るROM(Read Only Memory)11と、CPU10でプログラムを実行する際の作業領域となったり計算値を記憶したりするためのメモリであるRAM(Random Access Memory)12と、大容量の記憶装置の一例としてのHDD(Hard Disk Drive)13と、通
信ネットワークを介した端末装置300との通信を制御するためのネットワークコントローラ14とを含む。
図3は、端末装置300の装置構成の具体例を示すブロック図である。上記のように、端末装置300もまた一般的なPCなどで構成されてよい。そのため、図3は、一般的なPCで構成された場合の端末装置300の装置構成を表わしている。
図3を参照して、端末装置300は、装置全体を制御するためのCPU30と、CPU30で実行されるプログラムを記憶するためのメモリであるROM31と、CPU30でプログラムを実行する際の作業領域となったり計算値を記憶したりするためのメモリであるRAM32と、大容量の記憶装置の一例としてのHDD33と、ディスプレイ34と、マウスなどのポインティングデバイス35と、ネットワークコントローラ36とを含む。
[第1の実施の形態]
<動作概要>
本実施の形態にかかる支援システムでは、支援装置であるサーバ100が端末装置300でのコンテンツの再生(出力)を支援する。支援は、端末装置300でのコンテンツの再生位置を特定の位置とする制御を含む。
コンテンツの再生は、サーバ100自身で行なって出力情報(画面、音声の情報)がサーバ100から端末装置300に渡されることによって端末装置300で出力されてもよいし、コンテンツがサーバ100から端末装置300に渡されて端末装置300で再生されてもよい。また、端末装置300のメモリまたは端末装置300が他の装置にアクセスしてコンテンツ情報を取得し、サーバ100から指定された位置を再生するものであってもよい。以降の説明での端末装置300でのコンテンツの再生は、上記のいずれの形態も含む。すなわち、サーバ100側で再生されて端末装置300では出力のみを行なう場合も、端末装置300で再生する場合も、以降の説明での端末装置300でのコンテンツの再生、という表現に含まれるものとする。
図4は、本実施の形態にかかる支援システムでの動作概要を表わした図である。また、図5〜図9は、端末装置300での画面例を表わした図である。
図4を参照して、端末装置300Aにログインしているユーザがコンテンツの再生を端末装置300Aに対して指示すると(ステップS1)、端末装置300Aはサーバ100に対して再生を要求する(ステップS2)。サーバ100は、端末装置300Aから要求されたコンテンツを再生し、当該端末装置300Aにログインしているユーザの再生状況をメモリに記憶する(ステップS3)。
再生状況は、当該ユーザが、現在、再生しているコンテンツ、および当該コンテンツの現在の再生位置を含む。つまり、再生状況は、ユーザごとに、今、どのコンテンツのどの位置を再生しているか、という情報を含む。言い換えると、再生状況は、ユーザが現在再生しているコンテンツを表わすと共に、現在再生していないコンテンツも表わすことになる。その他、再生状況は、当該ユーザがコンテンツの再生に用いている端末装置を特定する情報を含んでもよい。また、再生状況は、再生速度が可変の場合には現在の再生速度や、音量や輝度などが可変の場合には現在の音量や輝度などの情報を含んでもよい。さらに、再生状況は、ある時点からの再生状況を蓄積してもよい。この場合、再生状況は、上記ある時点からの当該ユーザのコンテンツの再生履歴を表わすことになる。
サーバ100は、コンテンツを再生することで得られるコンテンツ情報を端末装置300Aに対して送信し(ステップS4)、端末装置300Aに表示(出力)させる(ステップS5)。これにより、端末装置300Aでコンテンツが再生される。
サーバ100は、他の端末装置300Bからも同様にコンテンツの再生の要求を受け付けると、当該端末装置300Bにログインしているユーザの再生状況をメモリに記憶する。そして、サーバ100は、コンテンツ情報を端末装置300Bに対して送信することで、端末装置300Bでもコンテンツを再生させる。このようにすることで、サーバ100は、各端末装置300でのコンテンツの再生を支援すると共に、各端末装置300にログインしているユーザのコンテンツの再生状況をメモリに記憶していく。
端末装置300Aは、ログインしているユーザから、ポインティングデバイス35等を用いた、再生中のコンテンツに対する情報の入力を受け付けることができる。再生中のコンテンツに対して入力される情報は、たとえばポインティングデバイス35で指定された位置(タッチ位置)の軌跡で表わされる図形を表わした画像や、文字情報や、端末装置300Aがマイク(不図示)を含む場合には音声情報などを含む。
端末装置300Aは上記情報の入力を受け付けると共に、当該情報を関連付けるコンテンツの位置の指定も受け付ける。そして、端末装置300Aは、それらの情報をサーバ100に対して送信し、サーバ100に記憶させる。
サーバ100は、これらの情報をユーザおよびコンテンツに関連付けてメモリに記憶する。また、サーバ100は、少なくともこれら情報を入力したユーザのログインしている端末装置300Aに対して当該情報に基づいた出力情報(表示画面、音声)を送信することで、当該コンテンツの再生に重ねてこれら情報を出力させる。
たとえば、端末装置300Aにログインしているユーザがポインティングデバイス35を用いて再生中のコンテンツに対して図形を描き込んだ場合、当該図形を表わす画像情報と描き込まれたコンテンツ上の位置を表わす情報とが端末装置300Aからサーバ100に送信される。これら情報は、当該ユーザおよび当該コンテンツに関連付けてメモリに記憶される。そして、この情報に基づく画像情報がサーバ100から端末装置300Aに渡されることで、端末装置300Aではコンテンツの再生画面に、さらに、ポインティングデバイス35を用いて描き込まれた図形が重ねて表示されることになる。
さらに、サーバ100は、この情報を特定のユーザ(ユーザグループ)の属する他の端末装置300にも送信してもよい。このようにすることで、所定のユーザの間で、いずれか1人が入力した情報が共有されることになる。コンテンツに対してユーザによって入力される情報を、以降の説明において「書き込み」とも称する。
端末装置300Aでコンテンツが再生されると、サーバ100は、他の端末装置300にログインしているユーザそれぞれのコンテンツの再生状況をメモリから読み出す。サーバ100は、他の端末装置300にログインしているユーザや、予め登録されているユーザ等のコンテンツの再生状況をメモリから読み出してもよい。
サーバ100は、メモリに記憶されているコンテンツの再生状況から、複数の端末装置300のうちから、端末装置300Aのコンテンツの再生位置と同じ位置でコンテンツを再生することが可能な、つまり、端末装置300Aと同期して当該コンテンツを再生可能な他の端末装置300Bを抽出する(ステップS6)。同期して再生可能な端末装置300Bは、たとえば、端末装置300Aで再生中のコンテンツを再生中の端末装置であってもよい。または、端末装置300Bは、端末装置300Aで再生中のコンテンツを再生した履歴を有するユーザのログインしている端末装置であってもよい。または、端末装置300Bは、ユーザごとにコンテンツの再生予定を予め登録している場合、端末装置300Aで再生中のコンテンツを所定期間内に再生予定であるユーザのログインしている端末装置であってもよい。または、端末装置300Bは、上記予め登録されている他のユーザのうちの現在コンテンツを再生していない端末装置であってもよい。
サーバ100は、複数の端末装置300のうちから端末装置300Aと同期してコンテンツの再生が可能な端末装置300Bを抽出すると、当該端末装置300Bにログインしているユーザを表わす情報を端末装置300Aに対して送信する(ステップS7)。この情報を受け付けた端末装置300Aは、同期してコンテンツを再生することが可能なユーザとして、サーバ100から受け付けたユーザをディスプレイ34に提示する(ステップS8)。
図5(A)は、上記ステップS8でのコンテンツの再生画面の具体例を表わした図である。図5(A)を参照して、端末装置300Aでのコンテンツの再生画面は、コンテンツの表示に加えて、当該コンテンツ全体を表わすライン1001と、端末装置300Aにログインしているユーザ(ユーザAA)のコンテンツの再生状況として、現在の再生位置をライン1001上で表わすための画像1002と、端末装置300Aと同期してコンテンツを再生することが可能な端末装置にログインしているユーザ(ユーザBB、ユーザCC)を表わすための画像1003とを含む。画像1003には、たとえば、予めユーザごとに登録されている、当該ユーザを表わすアバター画像などが該当する。
対象のコンテンツが動画など、予め規定されたタイムスケジュールに従って時系列に再生されるものである場合、ライン1001の長さは、当該コンテンツをすべて再生するために必要な再生時間を表わす。もちろん、ライン1001はすべてコンテンツの再生画面に表示されていなくてもよく、一部のみが表示されていてもよい。画像1002は、ライン1001上の、端末装置300Aにログインしているユーザ(ユーザAA)の当該コンテンツの再生開始からの経過時間と、再生終了までに要する時間との比率に応じた位置に配置される。
対象のコンテンツがスライドやドキュメントなど、区切られた小コンテンツ(スライドの1枚、ドキュメント1ページ、等)の再生順が規定されたものである場合、ライン1001の長さは、当該コンテンツを構成するすべての小コンテンツの数を表わす。画像1002は、ライン1001上の、端末装置300Aにログインしているユーザ(ユーザAA)の当該コンテンツの再生開始から再生された小コンテンツの数と、再生終了までにさらに再生を要する小コンテンツの数との比率に応じた位置に配置される。
好ましくは、画像1003は、端末装置300Aと同期してコンテンツを再生することが可能な端末装置にログインしているユーザのコンテンツの再生状況として、現在の再生位置をライン1001上で表わす。
サーバ100が端末装置300Aの再生画面にライン1001を表示させることによって、端末装置300Aにログインしているユーザは、同期して当該コンテンツを再生することが可能な他のユーザの再生状況を容易に把握することができる。つまり、上記他のユーザの再生状況として、当該コンテンツを再生中であるか否か、当該コンテンツを再生中の場合には再生位置、などを容易に把握することができる。そのため、後述する、同期してコンテンツを再生するユーザを指定する際に他のユーザの再生状況を考慮しやすくなる。
なお、他の例として、図5(B)に表わされたように、ライン1001は、端末装置300Aにログインしているユーザがすでに再生した部分(未視聴)と未再生の部分(既視聴)とが異なる表示態様であってもよい。たとえば、図5(B)のように、好ましくは、サーバ100は、再生中のコンテンツの再生に要する時系列を表わすライン1001のうちの、端末装置300Aにログインしているユーザが未視聴の位置を表わす再生時間に該当する部分を、すでに視聴した位置を表わす再生時間に該当する部分とは異なる色を付した色付きライン1001−1として、端末装置300Aに表示させる。図5(B)では、色付きライン1001−1は、ライン1001のうちの右上がりの方向のハッチングが付されたものとして示されている。
サーバ100が端末装置300Aの再生画面にライン1001を図5(B)のように表示させることによって、端末装置300Aにログインしているユーザは、自身の当該コンテンツの再生履歴を容易に把握することができる。そのため、後述する、同期してコンテンツを再生するユーザを指定する際に、自身の当該コンテンツの再生履歴も考慮しやすくなる。
さらに、当該コンテンツの既視聴、未視聴に関わらず、図5(B)に表わされたように、端末装置300Aにログインしているユーザが未確認の書き込みがされている部分が他の部分とは異なる表示態様とされてもよい。端末装置300Aにログインしているユーザが他のユーザによる書き込みを確認したか否かは、端末装置300Aにログインしているユーザの当該コンテンツの再生履歴と当該コンテンツに関連付けられた書き込みの入力タイミングとを比較することで判断され得る。
たとえば、図5(B)のように、好ましくは、サーバ100は、再生中のコンテンツの再生に要する時系列を表わすライン1001のうちの、端末装置300Aにログインしているユーザが未確認の書き込みがされている位置を表わす再生時間に該当する部分を、すでにその他の再生時間に該当する部分とは異なる色を付した色付きライン1001−2として、端末装置300Aに表示させる。図5(B)では、色付きライン1001−2は、ライン1001のうちの右下がりの方向のハッチングが付されて示されている。
サーバ100が端末装置300Aの再生画面にライン1001を図5(B)のように表示させることによって、端末装置300Aにログインしているユーザは、自身の当該コンテンツの再生履歴を容易に把握することができる。そのため、後述する、同期してコンテンツを再生するユーザを指定する際に、自身の当該コンテンツの再生履歴も考慮しやすくなる。
さらに、他の例として、図5(C)に表わされたように、サーバ100は、端末装置300Aにログインしているユーザの再生予定のコンテンツの登録を受け付けて、所定期間に再生予定とされているコンテンツを合わせて1つのライン1001で表わしてもよい。
図5(C)の例の場合、端末装置300Aにログインしているユーザが再生予定のコンテンツとしてコンテンツXX1とコンテンツXX2との2つのコンテンツをサーバ100に対して登録しているものとする。この場合、好ましくは、サーバ100は、図5(C)のように、コンテンツXX1すべてを再生するために必要な時間を表わすライン1001AとコンテンツXX2すべてを再生するために必要な時間を表わすライン1001Bとを合わせたライン1001を端末装置300Aの再生画面に表示させる。
サーバ100が端末装置300Aの再生画面にライン1001を図5(C)のように表示させることによって、端末装置300Aにログインしているユーザは、同期して当該コンテンツを再生することが可能な他のユーザの、自身が再生を予定している他のコンテンツについての再生状況も容易に把握することができる。そのため、後述する、同期してコンテンツを再生するユーザを指定する際に他のユーザの上記他のコンテンツの再生状況も考慮しやすくなる。
さらに、他の例として、図6(A)に表わされたように、好ましくは、サーバ100は、ライン1001に替えて、当該コンテンツ全体を各再生位置での再生画面を表わすサムネイル画像を再生される順に配列することで表わしたライン1001’を、端末装置300Aの再生画面に表示させてもよい。サムネイル画像の表示される再生位置は、コンテンツがタイムスケジュールに従って時系列に再生されるものである場合には所定の再生時間間隔での再生画面であってもよいし、コンテンツが上記のように再生順の規定された小コンテンツが連続するものである場合には所定の小コンテンツごとなどの、予め規定された再生画面であってもよい。
サーバ100が端末装置300Aの再生画面にライン1001’を図6(A)のように表示させることによって、端末装置300Aにログインしているユーザは、同期して当該コンテンツを再生することが可能な他のユーザの再生状況と共に、当該コンテンツの概要も把握しやすくなる。
なお、当該コンテンツ全体をサムネイル画像で表わす場合にも、図5(B)のように、未視聴・既視聴の区別、未確認の書き込みの有無が併せて表わされてもよい。たとえば、サーバ100は、未視聴である再生画面のサムネイル画像と、既視聴である再生画面のサムネイル画像と、未確認の書き込みに関連付けられた再生画面のサムネイル画像とに、それぞれ異なる色の枠を付して配置したライン1001’を端末装置300Aの再生画面に表示させてもよい。
さらに、好ましくは、サーバ100は、端末装置300Aで再生中のコンテンツの位置を表わすサムネイル画像、および同期してコンテンツを再生することが可能な他の端末装置で再生中のコンテンツの位置を表わすサムネイル画像を、他のサムネイル画像とは異なる表示態様としてもよい。たとえば、サーバ100は、図6(B)に表わされたように、端末装置300Aで再生中のコンテンツの位置を表わすサムネイル画像、および同期してコンテンツを再生することが可能な他の端末装置で再生中のコンテンツの位置を表わすサムネイル画像を、他のサムネイル画像よりも大きなサイズで表示してもよい。このようにすることで、端末装置300Aにログインしているユーザは、各ユーザが視聴中の内容を容易に把握することができる。
図4に戻って、端末装置300Aは、上記ステップS8で提示された、端末装置300Aと同期してコンテンツを再生することが可能な端末装置300Bにログインしているユーザの中から、ユーザを指定する操作を受け付けると(ステップS9)、当該ユーザを表わす情報をサーバ100に対して送信する(ステップS10)。
図7は、上記ステップS9での指定操作の一例を表わした図である。図7を参照して、一例として、端末装置300Aは、同期してコンテンツ再生するユーザを指定するための操作として、コンテンツの再生画面に表示されているライン1001上に表わされたユーザCCを表わすための画像1003を、ユーザAAを表わすための画像1002を含む所定領域まで移動させるポインティングデバイス35の操作(たとえばドラッグアンドドロップ操作)を受け付ける。この操作を受け付けると、端末装置300Aは、ユーザCCを表わす情報をサーバ100に対して送信する。これにより、サーバ100は、ユーザAAとユーザCCとを、同期して当該コンテンツを再生するユーザ群からなるユーザグループ(同期グループとも称する)と特定する。つまり、サーバ100は、ユーザCCのログインしている端末装置300Bを、端末装置300Aでのコンテンツの再生と同期して当該コンテンツを再生する端末装置と特定する。
サーバ100は、指定されたユーザのログインしている端末装置300Bを特定すると、端末装置300Aと端末装置300Bとで同期して当該コンテンツを再生するための処理を行なう(ステップS11)。具体的には、サーバ100は、上記の同期グループに属する各ユーザの属する端末装置300での当該コンテンツの再生位置をそれぞれ同じにして、当該位置のコンテンツ情報を各端末装置300A,300Bに対して送信する(ステップS12−1,S12−2)。また、サーバ100は、同期グループに属するいずれかのユーザのログインする端末装置からコンテンツの再生位置の変更が要求されると、各ユーザの属する端末装置300での当該コンテンツの再生位置を上記要求に応じた位置とする。
好ましくは、サーバ100は、端末装置300Aでのコンテンツの再生と同期して当該コンテンツを再生する端末装置300Bを特定すると、図8に表わされたように、ユーザを指定する操作を受け付けた端末装置300Aに同期グループに属することを表わす画像1004を表示する。これにより、端末装置300Aにログインしているユーザは、自身の属する当該コンテンツについての同期グループを容易に把握することができる。
なお、好ましくは、上記ステップS10の情報を受け付けたサーバ100は、指定されたユーザのログインしている端末装置100Bに対して同期してコンテンツを再生することが要求されていることを通知し、端末装置100Bから許可/不許可(許否)を受け付ける。図9は、端末装置100Bに表示される通知の具体例を表わした図である。この場合、サーバ100は、端末装置300Bから許可がある場合にのみ端末装置300Aと同期してコンテンツを再生する処理を行なう。そうでない場合には、サーバ100は当該処理を行なわない。サーバ100が端末装置300Bから許否を受け付けた上で同期してコンテンツを再生する処理を行なうことで、端末装置300Bにログインしているユーザは、他のユーザと同期して当該コンテンツを再生することについて許否を指定することができる。
なお、他の例として、サーバ100に対して予めユーザごとに、他のユーザと同期してコンテンツを再生することを許可するか否かを表わした情報がメモリに登録されていてもよい。サーバ100は、同期してコンテンツを再生するユーザを指定する操作が行なわれる前に上記の登録を受け付けて、ユーザと関連付けて(たとえばユーザ情報として)メモリに記憶しておく。この場合、サーバ100は、端末装置300Aから同期してコンテンツを再生するユーザとして端末装置300Bにログインしているユーザの指定を受け付けると、端末装置300Bにログインしているユーザについて登録されている上記情報を読み出す。そして、サーバ100は、指定されたユーザについて同期してコンテンツを再生することが許可されている場合にのみ、端末装置300Aと同期してコンテンツを再生する処理を行なう。そうでない場合には、サーバ100は上記処理を行なわない。サーバ100が同期を指定された端末装置300Bから同期してコンテンツを再生することの許否を予め受け付けておくことで、端末装置300Bにログインしているユーザは、他のユーザと同期して当該コンテンツを再生することについて許否を指定することができると共に、同期してコンテンツを再生するユーザとして指定される度に許否を指定する操作を行なう必要がない。
なお、端末装置300Aで指定されたユーザとの間で同期して当該コンテンツを再生できない場合には、好ましくは、サーバ100は、端末装置300Aの画面に、たとえば「指定されたユーザと同期させることができません」などのメッセージを表示する。これにより、端末装置300Aにログインしているユーザは、同期の設定の成功/不成功を知ることができる。
<機能構成>
図10は、上記動作を行なうための端末装置300の機能構成の具体例を示すブロック図である。図10の各機能は、端末装置300のCPU30がROM31に記憶されているプログラムをRAM32上に読み出して実行することで、主に、CPU30によって実現される。しかしながら、少なくとも一部機能が図3に示された他のハードウェア構成、または図示されていない電気回路などのハードウェア構成によって実現されてもよい。
図10を参照して、CPU30は、ネットワークコントローラ14を介してサーバ100から、再生中のコンテンツの再生位置と同じ位置でコンテンツを再生することが可能な他の端末装置にログインしているユーザの情報、つまり、同期してコンテンツを再生することが可能な他のユーザの情報の入力を受け付けるための同期可能ユーザ情報入力部301と、同期して当該コンテンツを再生することが可能な他のユーザを表わす情報をディスプレイ34で提示するための提示部302と、提示されたユーザのうちから同期して当該コンテンツを再生するユーザの指定を受け付けるための指定部303と、指定されたユーザまたは当該ユーザのログインしている端末装置を特定する情報をネットワークコントローラ14を介してサーバ100に対して送信するための送信部304と、コンテンツを再生する処理を行なうための再生部305とを含む。
再生部305は、さらに、サーバ100からコンテンツを再生することで得られるコンテンツ情報(画像情報等)の入力を受け付けるためのコンテンツ情報入力部306と、当該画像情報をディスプレイ34に表示させる処理などの、コンテンツ情報に基づいてコンテンツを出力する処理を行なうための表示処理部307とを含む。これにより、再生部305は、サーバ100から指定された位置からコンテンツを再生して、ディスプレイ34で当該コンテンツを出力(表示)する。
好ましくは、提示部302は、サーバ100からの情報に基づいて、同期してコンテンツを再生することが可能な他のユーザを、それぞれのログインしている端末装置での当該コンテンツの再生位置と共に提示する。このとき、より好ましくは、提示部302は、サーバ100からの情報に基づいて、図5(A)に表わされたような、コンテンツ全体を表わすライン1001をコンテンツの再生画面に表示し、さらに、同期してコンテンツを再生することが可能な他のユーザとしての、当該コンテンツを再生中の端末装置それぞれにログインしているユーザを表わす画像1003を、ライン1001のそれぞれでの再生位置に相当する位置に配置する。
一例として、指定部303は、ライン1001に配置された画像1003を、同じくライン1001に配置された画像1002を含む所定領域まで移動させる、ポインティングデバイス35での操作に従って、同期して当該コンテンツを再生するユーザの指定を受け付ける。
図11は、上記動作を行なうためのサーバ100の機能構成の具体例を示すブロック図である。図11の各機能は、サーバ100のCPU10がROM11に記憶されているプログラムをRAM12上に読み出して実行することで、主に、CPU10によって実現される。しかしながら、少なくとも一部機能が図2に示された他のハードウェア構成、または図示されていない電気回路などのハードウェア構成によって実現されてもよい。
図11を参照して、上記動作を行なうために、メモリの一例としてHDD13は、コンテンツ本体を記憶するための記憶領域であるコンテンツ記憶部131と、予め登録されているユーザについてのコンテンツの再生状況を記憶するための再生状況記憶部132と、コンテンツに関連付けて同期グループを記憶するための同期グループ記憶部133とを含む。再生状況記憶部132は、ユーザごとの現在ログインしている端末装置でのコンテンツの再生状況を記憶すると共に、以前の再生状況、つまり、再生履歴も記憶する。
さらに図11を参照して、サーバ100のCPU10は、複数の端末装置300それぞれでコンテンツを再生する処理を行なうための再生処理部101と、各端末装置300にログインしているユーザごとに、コンテンツの再生状況を再生状況記憶部132に登録するための再生状況登録部102と、複数の端末装置300それぞれにログインしているユーザの再生状況に基づいて、複数の端末装置300のうちの端末装置300Aでのコンテンツの再生位置と同じ位置でコンテンツを再生することが可能な端末装置、つまり、端末装置300Aと同期してコンテンツを再生することが可能な端末装置を、端末装置300Aで提示する処理を行なうための提示部103と、端末装置300Aから同期してコンテンツを再生する他の端末装置の指定を受け付けるための指定部104と、指定されたユーザを当該コンテンツの同期グループとしてメモリに登録するためのグループ登録部105とを含む。
再生処理部101は、該当するコンテンツの再生位置を特定するための再生位置特定部106と、該当するコンテンツを再生するための再生部107と、当該コンテンツの特定された位置を再生するための情報であるコンテンツ情報を端末装置300に対して送信するためのコンテンツ情報送信部108とを含む。指定部104が端末装置300Aと同期してコンテンツを再生する端末装置300Bの指定を受け付けると、再生処理部101は、端末装置300A,300Bの再生位置を同じにしてそれぞれでコンテンツを再生する処理を行なう。
提示部103は、抽出部109と同期可能ユーザ情報送信部110とを含む。抽出部109は、再生状況記憶部132に記憶されている各ユーザの再生状況を参照して、複数の端末装置300のうちから、端末装置300Aのコンテンツの再生位置と同じ位置でコンテンツを再生することが可能な、つまり、端末装置300Aと同期してコンテンツを再生することが可能な他の端末装置300Bを抽出する。同期可能ユーザ情報送信部110は、抽出された、端末装置300Bにログインしているユーザの情報を、端末装置300Aに対して送信する。一例として、抽出部109は、複数の端末装置300のうちの、端末装置300Aで再生中のコンテンツと同じコンテンツを再生中の端末装置300Bを抽出する。この場合、より好ましくは、同期可能ユーザ情報送信部110は、抽出された端末装置300Bでのコンテンツの再生位置を表わす情報を端末装置300Aに対して送信することで、端末装置300Aは、端末装置300Bの情報と共に当該端末装置300Bでのコンテンツの再生位置も提示部103で提示する処理を行なう。
好ましくは、CPU10は、さらに、同期してコンテンツを再生すると指定された端末装置300Bから、端末装置300Aと同期してコンテンツを再生することを許可するか否かの選択を受け付けるための選択入力部111を含む。この場合、グループ登録部105は、同期してコンテンツを再生することを許可すると選択したユーザのみを同期グループに登録し、許可しないと選択したユーザを同期グループに登録しない。
なお、他の端末装置と同期してコンテンツを再生することを許可するか否かは、予めユーザ情報としてメモリに登録されていてもよい。この場合、メモリの一例であるHDD13は、さらに、上記ユーザ情報を記憶するためのユーザ情報記憶部134を含む。グループ登録部105はユーザ情報記憶部134からユーザ情報を読み出して、同期してコンテンツを再生することを許可すると登録しているユーザのみを同期グループに登録し、許可しないと登録していないユーザを同期グループに登録しない。
<動作フロー>
図12は、端末装置300での動作の流れを表わしたフローチャートである。図12のフローチャートに表わされた動作は、端末装置300のCPU30がROM31に記憶されているプログラムをRAM32上に読み出して実行し、図10の各機能を発揮することによって実現される。
図12を参照して、端末装置300がコンテンツの再生を指示するユーザ操作を受け付けると(ステップS101でYES)、CPU30は、コンテンツの再生をサーバ100に対して要求する(ステップS103)。上記要求に応じたサーバ100から、コンテンツ情報を受信すると(ステップS105でYES)、CPU10はディスプレイ34に再生画面を表示する(ステップS107)。
このとき、端末装置300は、サーバ100から、当該コンテンツについて、同期してコンテンツを再生することが可能なユーザに関する情報を受信していると(ステップS109でYES)、CPU10は、図5(A)のように、コンテンツの再生画面に同期してコンテンツを再生することが可能なユーザを表わす情報を提示する(ステップS111)。このとき、さらに、端末装置300がサーバ100からユーザそれぞれでの当該コンテンツの再生位置を表わす情報も受信している場合には、併せて、それぞれの再生位置も提示する。
端末装置300が、ユーザを指定するユーザ操作を受け付けると(ステップS113でYES)、CPU10は、指定されたユーザを表わす情報をサーバ100に対して送信する(ステップS115)。ユーザを指定する操作は、たとえば図7に表わされたような、ポインティングデバイス35でコンテンツの再生画面上のユーザを表わす表示(画像1003)を、当該端末装置300にログインしているユーザを表わす表示(画像1002)を含む所定領域に移動させるドラッグアンドドロップ操作などが該当する。
図13は、サーバ100での動作の流れを表わしたフローチャートである。図13のフローチャートに表わされた動作は、サーバ100のCPU10がROM11に記憶されているプログラムをRAM12上に読み出して実行し、図11の各機能を発揮することによって実現される。
図13を参照して、端末装置300Aから再生するコンテンツの位置の指定を受け付けると(ステップS201でYES)、CPU10は、指定された再生位置でコンテンツを再生する処理を実行する(ステップS203)。また、CPU10は、指定された再生位置を当該端末装置300にログインしているユーザの当該コンテンツの再生状況としてメモリに登録する(ステップS205)。そして、CPU10は、指定された位置のコンテンツ情報を端末装置300Aに対して送信する(ステップS207)。これにより、上記位置のコンテンツの再生を要求した端末装置300Aでは、指定した位置のコンテンツが再生される。上記の位置の指定は、コンテンツの再生の要求であってもよいし、再生中のコンテンツの位置を変更する指示(たとえばページめくり等)であってもよい。
CPU10は、さらに、当該ユーザの再生状況と他のユーザの再生状況とに基づいて、端末装置300Aと同期して当該コンテンツを再生することが可能な他のユーザを抽出し(ステップS209)、当該ユーザの情報を端末装置300Aに対して送信する(ステップS211)。これにより、端末装置300Aでは、再生中のコンテンツについて、同期して当該コンテンツを再生することが可能な他のユーザの情報が提示される。
端末装置300Aから、上記ステップS209で抽出された他のユーザの中から同期して当該コンテンツを再生するユーザの指定を受け付けると(ステップS213でYES)、CPU10は、指定されたユーザを、端末装置300Aにログインしているユーザと共に当該コンテンツについての同期グループに登録する(ステップS215)。好ましくは、CPU10は、上記指定を受け付けると、指定されたユーザのログインしている端末装置300Bに端末装置300Aと同期して当該コンテンツを再生することの可否を問い合わせ、許可された場合にのみ指定されたユーザを同期グループに登録する。または、CPU10は、指定されたユーザのユーザ情報から、他のユーザと同期してコンテンツを再生することの可否に関する情報を読み出して、許可が登録されている場合にのみ指定されたユーザを同期グループに登録してもよい。
一方、端末装置300Aにログインしているユーザが、すでに当該コンテンツの同期グループに所属している場合(ステップS217でYES)、つまり、すでに、同期して当該コンテンツを再生すると指定したユーザが登録されている場合、CPU10は、同期グループの他のユーザのログインしている端末装置で同期してコンテンツを再生する処理を行なう(ステップS219)。すなわち、CPU10は、同期グループに属する他のユーザそれぞれのログインしている端末装置での当該コンテンツの再生位置を、上記ステップS201で端末装置300Aのユーザから指示された位置とする処理を行なう。
CPU10は、端末装置300Aでの当該コンテンツの再生が終了するまで、再生位置を指定する操作を受け付ける度に上記の処理を繰り返す。そして、端末装置300Aから当該コンテンツの再生を終了する指示を受け付けると(ステップS221でYES)、CPU10は一連の動作を終了する。
<第1の実施の形態の効果>
本実施の形態にかかる支援システムにおいて上記の動作が行なわれることで、複数の端末装置300のいずれかにログインしているユーザは、複数の端末装置300のうちの自身のログインしている端末装置300Aと同期してコンテンツを再生する他の端末装置300Bを、容易な操作で指定することができる。このため、本支援システムでは、ユーザから指定された特定のユーザの間でのみ同期して当該コンテンツを再生するという、柔軟なコンテンツの再生を支援することができる。
[第2の実施の形態]
なお、第1の実施の形態では、図5(A)に表わされたように、サーバ100は、コンテンツを再生中の端末装置300Aに、同期して当該コンテンツを再生することが可能な他のユーザを表わす情報として当該コンテンツを端末装置300Bにて再生中のユーザを、それぞれの再生位置と共に提示させるものとしている。しかしながら、各ユーザでの当該コンテンツの再生位置を提示することは必ずしも必須ではない。そのため、サーバ100は、たとえば図14に表わされたように、端末装置300Aのコンテンツの再生画面に、該当するユーザを表わす画像1003’(たとえばアバター画像)を表示することで同期して当該コンテンツを再生することが可能な他のユーザを提示し、それぞれの再生位置を提示しなくてもよい。この場合、端末装置300Aにログインしているユーザは、たとえばポインティングデバイス35で画像1003’をタッチしたり、当該画像1003’に含まれている(図示されていない)チェックボックスにチェックを入れたりすることによって、同期して当該コンテンツを再生するユーザを指定してもよい。
このような表示がなされることでも、複数の端末装置300のいずれかにログインしているユーザは、複数の端末装置300のうちの自身のログインしている端末装置300Aと同期してコンテンツを再生する他の端末装置300Bを、容易な操作で指定することができる。
[第3の実施の形態]
第1の実施の形態では、画像1003を当該端末装置300Aにログインしているユーザを表わす画像1002を含む所定領域まで移動させる操作(たとえばドラッグアンドドロップ操作)を受け付けることで、サーバ100が、当該端末装置300Aにログインしているユーザと移動の対象となった画像1003で表わされたユーザとを当該コンテンツの同期グループに属するよう登録するものとしている。この場合、サーバ100は、同期グループに属するいずれかのユーザのコンテンツの再生位置に指示に応じて、同期グループに属するすべてのユーザの端末装置でのコンテンツの再生位置を変更することで、これらユーザ間のコンテンツの再生位置を同一のものとする。
他の例として、サーバ100は、上記操作での移動先であるユーザのログインしている端末装置300Aでのコンテンツの再生位置に応じて、同期グループに属するすべての他のユーザのログインしている端末装置300Bでの当該コンテンツの再生位置を変更してもよい。この場合、端末装置300Aにおいて、当該端末装置300Aにログインしているユーザを表わす画像1002を画像1003を含む所定領域まで移動させる操作(たとえばドラッグアンドドロップ操作)を受け付けることで、サーバ100は、端末装置300Aでの当該コンテンツの再生位置と、他のユーザのログインしている端末装置300Bでの当該コンテンツの再生位置とを同じ位置にすることになる。従って、第3の実施の形態では、サーバ100は、同期グループの指定に加えて、当該同期グループのうちの、当該コンテンツの再生位置を指定するユーザの指定を受け付けるようにしてもよい。
このような指示を受け付けるようにすることで、本支援システムでは、複数の端末装置の間での、より柔軟なコンテンツの再生を支援することができる。
[第4の実施の形態]
本支援システムでの支援は、たとえば、予め登録された部や課などのユーザグループに属する各ユーザのログインしている端末装置300での、コンテンツの再生などが想定される。たとえば、サーバ100は、各端末装置300でのコンテンツの再生状況をリアルタイムでメモリに登録していき、各端末装置300に当該端末装置300で再生されているコンテンツと他の端末装置でのコンテンツの再生状況に応じて、同期して当該コンテンツを再生することが可能な他のユーザを提示する。
この例では、たとえば、ユーザは、ログインしている端末装置300Aで現在コンテンツを再生していると、同じコンテンツを再生しているユーザや、以前に当該コンテンツを再生したことのあるユーザや、当該コンテンツを再生予定であるユーザや、現在、端末装置でコンテンツを再生していないユーザなど、同期して当該コンテンツを再生することが可能なユーザを、コンテンツの再生画面で確認することができる。当該ユーザは、たとえば再生中のコンテンツについてディスカッションするユーザとして、提示されている他のユーザの中から所望するユーザを指定することができる。
したがって、この例の場合、好ましくは、サーバ100は、指定されたユーザのログインしている端末装置300Bとの間で同期してコンテンツを再生すると共に、端末装置300Aと端末装置300Bとで、チャットプログラムなどのディスカッション用のプログラムも起動させる。すなわち、サーバ100は、同期してコンテンツを再生する処理と共に、予め規定されているプログラムを起動させてもよい。
このように、同期してコンテンツを再生する処理と共に所定のプログラムも実行されることで、上記の例のような複数のユーザの間で当該コンテンツの再生と共にディスカッションを行なう場合に、ディスカッションの開催も支援することができる。
[第5の実施の形態]
なお、以上の例では、図1に表わされたように、支援装置であるサーバ100が端末装置300とは異なる装置であるものとしているが、複数の端末装置300のうちの少なくとも1つの端末装置がサーバ100の機能を有していてもよい。
[第6の実施の形態]
さらに、上述の動作をサーバ100のCPU10に実行させるためのプログラム、および端末装置300のCPU30に実行させるためのプログラムを提供することもできる。
上記のように、サーバ100も端末装置300も、一般的なコンピュータで構成されてよい。そのため、上記プログラムを提供することで、汎用のコンピュータを本実施の形態にかかるサーバ100および端末装置300として動作させることができる。それにより、汎用のコンピュータを利用して本支援システムを容易に構築することができる。
このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM、RAMおよびメモリカードなどのコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
なお、本発明にかかるプログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。
<まとめ>
本発明の局面は、次のように表わすことができる。
(1)それぞれがディスプレイ(ディスプレイ34)を有する複数の端末装置(端末装置300)での、コンテンツの再生を支援するための支援システムであって、前記複数の端末装置それぞれでコンテンツを再生する処理を行なうための再生手段(再生処理部101、再生部305)と、前記複数の端末装置それぞれのユーザの再生状況に基づいて、前記複数の端末装置のうちの第1の端末装置(端末装置300A)での前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な端末装置を、前記第1の端末装置の前記ディスプレイで提示するための提示手段(提示部103、提示部302)と、前記第1の端末装置から、前記提示手段によって提示された端末装置のうちから第2の端末装置(端末装置300B)の指定を受け付けるための指定手段(指定部104、指定部303)とを備え、前記指定手段において前記第2の端末装置の指定を受け付けると、前記再生手段は前記第1の端末装置と前記第2の端末装置との再生位置を同じにしてそれぞれで前記コンテンツを再生する処理を行なう、支援システム。
(2)前記提示手段は、前記複数の端末装置のうちの前記コンテンツを再生中の端末装置を提示する、(1)に記載の支援システム。
(3)前記提示手段は、前記コンテンツを再生中の端末装置それぞれに関連する情報を、前記コンテンツの再生位置と共に提示する、(2)に記載の支援システム。
(4)前記コンテンツは時系列で再生可能なコンテンツであって、前記提示手段は前記コンテンツ全体をライン(ライン1001)で表わし、さらに、前記コンテンツを再生中の端末装置それぞれにログインしているユーザを表わす画像(画像1003)を、前記ラインの前記コンテンツを再生中の端末装置それぞれでの再生位置に相当する位置に配置する、(3)に記載の支援システム。
(5)前記指定手段は、前記ラインに配置された前記第2の端末装置にログインしている第2のユーザを表わす画像(画像1003)を、前記ラインに配置された前記第1の端末装置にログインしている第1のユーザを表わす画像(画像1002)を含む所定領域まで移動させる操作に従って前記第2の端末装置の指定を受け付ける、(4)に記載の支援システム。
(6)前記再生手段は、前記指定手段で指定された前記第2の端末装置から許可がある場合に、前記第1の端末装置と前記第2の端末装置との再生位置を同じにして前記コンテンツを再生する処理を行なう、(1)〜(5)のいずれかに記載の支援システム。
(7)前記指定手段で指定を受け付けると、前記第2の端末装置から、前記第1の端末装置と前記コンテンツの再生位置を同じにすることを許可するか否かの選択を受け付けるための入力手段(選択入力部111)をさらに備える、(6)に記載の支援システム。
(8)前記複数の端末装置それぞれのユーザごとに、他のユーザのログインする端末装置とコンテンツの再生位置を同じすることを許可するか否かの情報をメモリに登録しておくための登録手段(ユーザ情報記憶部134)をさらに備え、前記再生手段は、前記指定手段で指定された前記第2の端末装置にログインしている第2のユーザについて、前記コンテンツを他のユーザのログインする端末装置とコンテンツの再生位置を同じすることを許可する情報が前記メモリに登録されている場合に、前記第1の端末装置と前記第2の端末装置との再生位置を同じにして前記コンテンツを再生する処理を行なう、(6)記載の支援システム。
(9)それぞれがディスプレイを有する複数の端末装置(端末装置300)での、コンテンツの再生を支援するための支援装置(サーバ100)であって、前記複数の端末装置それぞれでコンテンツを再生する処理を行なうための再生手段(再生処理部101)と、前記複数の端末装置それぞれのユーザの再生状況に基づいて、前記複数の端末装置のうちの第1の端末装置(端末装置300A)での前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な端末装置を、前記第1の端末装置の前記ディスプレイで提示するための提示手段(提示部103)と、前記第1の端末装置から、前記提示手段によって提示された端末装置のうちから第2の端末装置(端末装置300B)の指定を受け付けるための指定手段(指定部104)とを備え、前記指定手段において前記第2の端末装置の指定を受け付けると、前記再生手段は、前記複数の端末装置のうちの前記第1の端末装置と前記第2の端末装置との再生位置を同じにしてそれぞれで前記コンテンツを再生する処理を行なう、支援装置。
(10)支援装置(サーバ100)と通信可能な、ディスプレイ(ディスプレイ34)を有する端末装置(端末装置300)であって、コンテンツを再生する処理を行なうための再生手段(再生部305)と、前記支援装置から入力された情報に基づいて、前記再生手段での前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な他の端末装置を、前記ディスプレイで提示するための提示手段(提示部302)と、前記提示手段によって提示された前記他の端末装置のうちから第1の端末装置(端末装置300B)の指定を受け付けるための指定手段(指定部303)と、前記指定手段によって指定された前記第1の端末装置を特定する情報を、前記支援装置に対して送信するための送信手段(送信部304)とを備え、前記再生手段は、前記コンテンツの、前記支援装置から指定された位置を再生する、端末装置。
(11)それぞれがディスプレイ(ディスプレイ34)を有する複数の端末装置(端末装置300)での、コンテンツの再生を支援する方法であって、前記複数の端末装置のうちの第1の端末装置(端末装置300A)でコンテンツを再生するステップ(S3〜S5)と、前記複数の端末装置それぞれのユーザの再生状況に基づいて、前記第1の端末装置での前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な端末装置を、前記第1の端末装置の前記ディスプレイで提示するステップ(S6〜S8)と、前記第1の端末装置から、前記ディスプレイに提示された端末装置のうちから第2の端末装置(端末装置300B)の指定を受け付けるステップ(S9)と、前記第1の端末装置と前記第2の端末装置との再生位置を同じにしてそれぞれで前記コンテンツを再生するステップ(S11)とを備える、支援方法。
(12)それぞれがディスプレイを有する複数の端末装置(端末装置300)での、コンテンツの再生を支援する処理をコンピュータ(CPU10)に実行させて、前記コンピュータを支援装置(サーバ100)として機能させるためのプログラムであって、前記複数の端末装置のうちの第1の端末装置(端末装置300A)でコンテンツを再生するステップ(S203)と、前記複数の端末装置それぞれのユーザの再生状況に基づいて、前記第1の端末装置での前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な端末装置を、前記第1の端末装置の前記ディスプレイで提示するステップ(S209、S211)と、前記第1の端末装置から、前記ディスプレイに提示された端末装置のうちから第2の端末装置(端末装置300B)の指定を受け付けるステップ(S213)と、前記第1の端末装置と前記第2の端末装置との再生位置を同じにしてそれぞれで前記コンテンツを再生するステップ(S219)とを前記コンピュータに実行させる、支援プログラム。
(13)ディスプレイを有する端末装置(端末装置300)に搭載されるコンピュータ(CPU30)に、コンテンツの再生を支援する処理を実行させるためのプログラムであって、コンテンツを再生するステップ(S107)と、支援装置から入力された情報に基づいて、前記コンテンツの再生位置と同じ位置で前記コンテンツを再生することが可能な他の端末装置を、前記ディスプレイで提示するステップ(S111)と、前記ディスプレイに提示された前記他の端末装置のうちから第1の端末装置の指定を受け付けるステップ(S113)と、指定された前記第1の端末装置を特定する情報を、前記支援装置に対して送信するステップ(S115)とを前記コンピュータに実行させ、前記再生するステップは、前記支援装置から前記コンテンツの再生位置が指定された場合には指定された位置を再生する、支援プログラム。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。