[go: up one dir, main page]

JP6156145B2 - コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置 - Google Patents

コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置 Download PDF

Info

Publication number
JP6156145B2
JP6156145B2 JP2013535861A JP2013535861A JP6156145B2 JP 6156145 B2 JP6156145 B2 JP 6156145B2 JP 2013535861 A JP2013535861 A JP 2013535861A JP 2013535861 A JP2013535861 A JP 2013535861A JP 6156145 B2 JP6156145 B2 JP 6156145B2
Authority
JP
Japan
Prior art keywords
inquiry
content
time
response
control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013535861A
Other languages
English (en)
Other versions
JPWO2013046571A1 (ja
Inventor
健夫 大西
健夫 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2013046571A1 publication Critical patent/JPWO2013046571A1/ja
Application granted granted Critical
Publication of JP6156145B2 publication Critical patent/JP6156145B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、複数のコンテンツ再生装置でのコンテンツ制御を同期させるコンテンツ同期システム、および、そのコンテンツ同期システムに適用されるコンテンツ同期制御装置、コンテンツ再生装置、コンテンツ同期方法、コンテンツ同期制御方法、コンテンツ再生方法、コンテンツ同期制御プログラム、コンテンツ再生プログラムに関する。
複数の情報処理装置間で同一のコンテンツを同期させて再生させる技術が種々提案されている(例えば、特許文献1〜3参照)。
例えば、特許文献1に記載された技術では、マスタ端末が、符号化された映像の復号化開始時刻を算出する。このとき、マスタ端末は、そのマスタ端末からスレーブ端末に復号化開始指示が届くまでの最大時間を電波時計の時刻に加えた時刻を、復号化開始時刻として計算する。また、マスタ端末は、全スレーブ端末に復号化開始時刻を送信する。そして、全スレーブ端末は、電波時計の示す時刻が復号化開始時刻になったときに、符号化された映像の復号化を開始する。
また、例えば、特許文献2に記載された技術では、1台の親局が複数の端末局に対して、コンテンツID、制御種別情報、制御開始情報、制御開始指示を送信する。そして、端末局は、制御開始情報で指定される時刻にコンテンツIDで指定されるコンテンツの制御を開始する。このとき、端末局は、制御種別情報で指定される制御内容に従ってコンテンツを制御する。制御種別情報として、例えば、「コンテンツデータを再生する」、「コンテンツデータを早送りする」等が挙げられている。
また、例えば、特許文献3には、コンテンツを再生するユーザコンピュータが他のユーザコンピュータに対して、ビデオデータの「停止」、「休止」、「巻き戻し」、および「早送り」の少なくとも1つの機能を有効にすることによって、ビデオデータの流れを変えるように命令することが記載されている。このとき、ユーザコンピュータが他のユーザコンピュータに対して、ピア・ツー・ピアで命令を送信する態様や、サーバ等のコンテンツ提供デバイスを介して命令を送信する態様が記載されている。
また、特許文献3には、コンピュータネットワークにおけるデータ送信の規格として、HTTP(hypertext transfer protocol )が記載されている。
特開2011−35503号公報(段落0012,0013,0032) 特開2009−268141号公報(段落0051,0034,0038〜0050) 特表2011−501260号公報(段落0030,0039,0040,図1,段落0032)
特許文献1に記載の技術では、マスタ端末からスレーブ端末に復号化開始指示が届くまでの最大時間を電波時計の時刻に加えることによって、全スレーブ端末における復号開始時刻を算出する。この結果、全スレーブ端末で映像の再生を同時に開始することができる。
しかし、HTTPサーバとHTTPクライアントとを含むサーバ・クライアントシステムに特許文献1に記載の技術を適用した場合、各クライアントが同時にコンテンツ再生に関する種々のコマンド(例えば、再生、停止等)を実行する時刻(再生制御時刻)をサーバが適切に決定することができないという問題があった。以下、この点について具体的に説明する。
HTTPのサーバ・クライアントシステムで、いずれかのクライアントにおける操作に従って各クライアントでのコンテンツ再生を同期させるためには、個々のクライアントがそれぞれサーバに対してポーリングを行う必要がある。ポーリングとは、サーバからクライアントに送信すべき情報の有無をクライアントがサーバに定期的に問い合わせ、サーバがその問い合わせに応じて、送信すべき情報をクライアントに送信する通信方式である。すなわち、いずれかのクライアントにおける操作に従って各クライアントでのコンテンツ再生を同期させるためには、サーバが再生制御時刻を決定したとしても、サーバは、クライアントからのHTTPリクエストに応答する態様でしか再生制御情報を送信できない。従って、サーバからクライアントに再生制御情報が届くまでの最大時間に基づいて再生制御時刻を決定しても、クライアントがサーバにHTTPリクエストを行うタイミングの方が再生制御時刻よりも遅くなることがあり、クライアントが問い合わせを行った時点で、再生制御時刻が経過している場合が生じ得る。
この場合、サーバからクライアントに再生制御情報が届くまでの最大時間に基づいて定めた時刻にポーリング周期を加算した時刻を、再生制御時刻として定めることで、クライアントがHTTPリクエストを行うタイミングが再生制御時刻よりも遅れることを防止できる。しかし、この場合には、ポーリング周期を加算する分だけ、再生制御時刻が遅くなる。
また、ユーザコンピュータが他のユーザコンピュータに対してビデオデータに関する命令を送信する技術(特許文献3)にHTTPを適用する場合、サーバ等のコンテンツ提供デバイスを介して命令を送信する態様では、命令を送信する側のユーザコンピュータは、命令を受信する側のコンピュータがサーバにHTTPリクエストを行う時刻を認識できない。そのため、命令を送信する側のユーザコンピュータは再生制御時刻を算出することができない。
そこで、本発明は、HTTPのもとで、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができるコンテンツ同期システム、および、そのコンテンツ同期システムに適用されるコンテンツ同期制御装置、コンテンツ再生装置、コンテンツ同期方法、コンテンツ同期制御方法、コンテンツ再生方法、コンテンツ同期制御プログラム、コンテンツ再生プログラムを提供することを目的とする。
本発明によるコンテンツ同期制御装置は、コンテンツ同期制御装置であって、コンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、問い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と、前記待機時間の情報を含む問い合わせ応答を前記コンテンツ再生装置に送信する問い合わせ応答送信手段と、を備えることを特徴とする。
本発明によるコンテンツ同期制御方法は、コンピュータが、コンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信し、問い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、受信した問い合わせに対する前記コンピュータからの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定し、前記待機時間の情報を含む問い合わせ応答を、前記コンテンツ再生装置に送信することを特徴とする。
本発明によるコンテンツ同期制御プログラムは、コンピュータに、コンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、問い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンピュータからの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と、前記待機時間の情報を含む問い合わせ応答を、前記コンテンツ再生装置に送信する問い合わせ応答送信手段と、を実現させることを特徴とする。
本発明によるコンテンツ同期システムは、コンテンツ同期制御装置と、複数のコンテンツ再生装置と、を備え、前記コンテンツ同期制御装置は、前記複数のコンテンツ再生装置の少なくとも1つから、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、問い合わせの受信周期の基準として定められる周期基準値に基づいて、前記複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と、
前記待機時間の情報を含む前記問い合わせ応答を、前記コンテンツ再生装置に送信する問い合わせ応答送信手段と、を備え、前記複数のコンテンツ再生装置の少なくとも1つは、前記待機時間の情報を含む前記問い合わせ応答を受信する問い合わせ応答受信手段と、前記待機時間の情報に応じて、前記コンテンツ同期制御装置に前記問い合わせを送信する問い合わせ送信手段と、を備えることを特徴とする。
本発明によるコンテンツ同期制御方法は、ンテンツ同期制御装置が、複数のコンテンツ再生装置の少なくとも1つから、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信し、問い合わせの受信周期の基準として定められる周期基準値に基づいて、前記複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定し、前記待機時間の情報を含む前記問い合わせ応答を、前記コンテンツ再生装置に送信し、前記複数のコンテンツ再生装置の少なくとも1つが、前記待機時間の情報を含む前記問い合わせ応答を受信し、前記待機時間の情報に応じて、前記コンテンツ同期制御装置に前記問い合わせを送信することを特徴とする。
本発明によれば、HTTPのもとで、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができる。
本発明の第1の実施形態のコンテンツ同期システムの例を示すブロック図である。 第1の実施形態におけるコンテンツ同期制御装置の構成例を示すブロック図である。 通信遅延管理手段104が保持する通信遅延情報の例を示す説明図である。 再生制御コマンドの例を示す説明図である。 制御時刻決定手段106が生成する再生制御情報の例を示す説明図である。 制御情報管理手段107が記憶する情報の例を示す説明図である。 第1の実施形態におけるコンテンツ再生装置の構成例を示すブロック図である。 サーバ10が再生制御情報を含まない問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。 サーバ10が再生制御情報を含む問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。 サーバ10が再生制御情報を含む問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。 ステップS29における更新後の情報の例を示す説明図である。 本発明の第2の実施形態のコンテンツ同期システムの例を示すブロック図である。 第2の実施形態におけるコンテンツ同期制御装置の構成例を示すブロック図である。 第2の実施形態における動作の例を示すシーケンス図である。 本発明のコンテンツ同期システムの最小構成を示すブロック図である。 本発明のコンテンツ同期制御装置の最小構成を示すブロック図である。 本発明のコンテンツ再生装置の最小構成を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
実施形態1.
図1は、本発明の第1の実施形態のコンテンツ同期システムの例を示すブロック図である。第1の実施形態のコンテンツ同期システムは、コンテンツ同期制御装置10と、複数のコンテンツ再生装置20a,20bとを備える。なお、図1では、2台のコンテンツ再生装置20a,20bを図示しているが、コンテンツ再生装置は3台以上設けられていてもよい。コンテンツ同期制御装置10と複数のコンテンツ再生装置20a,20bとは、ネットワーク30を介して接続されている。コンテンツ同期制御装置10と、複数のコンテンツ再生装置20a,20bとは、HTTPに従って通信を行う。コンテンツ同期制御装置10は、サーバ・クライアントシステムにおけるサーバであり、以下、サーバ10と記す。また、各コンテンツ再生装置20a,20bは、サーバ・クライアントシステムにおけるクライアントであり、以下、クライアント端末20a,20bと記す。
クライアント端末20a,20bは、例えば、互いに離れた地点に存在する端末であるが、クライアント端末同士の物理的な距離は特に限定されない。
クライアント端末20a,20bは、例えば、汎用のブラウザ上でコンテンツの再生を行う。
クライアント端末20a,20bは、例えば、サーバ10から同一のコンテンツをダウンロードし、それぞれ再生する。なお、コンテンツは、動画であっても音声であってもよい。サーバ10は、各クライアント端末20a,20bがコンテンツ再生に関する種々のコマンド(例えば、再生開始、一時停止等のコマンド)を同時に実行するように各クライアント端末20a,20bを制御する。以下、コンテンツの再生制御に関するコマンドを再生制御コマンドと記す。サーバ10は、各クライアント端末20a,20bが再生制御コマンドによるコンテンツ制御を開始する時刻(以下、制御開始時刻を記すことがある。)を決定し、その制御開始時刻および再生制御コマンドを含む情報である再生制御情報を各クライアント端末20a,20bに送信する。ただし、サーバ10およびクライアント端末20a,20b間の通信はHTTPに従う。従って、サーバ10は、個々のクライアント端末から再生制御コマンドの有無の問い合わせ(HTTPリクエスト)を受信し、そのときに問い合わせ元のクライアント端末への再生制御コマンドがあれば、問い合わせに対する応答に再生制御情報(再生制御コマンドおよび制御開始時刻の情報)を含めて、問い合わせに対する応答を問い合わせ元のクライアント端末に送信する。クライアント端末20a,20bは、サーバ10への問い合わせに対してサーバ10が送り返した応答に再生制御情報が含まれていれば、再生制御情報で指定されている制御開始時刻に再生制御コマンドによるコンテンツ制御を開始する。この結果、各クライアント端末20a,20bでの再生、一時停止等、再生に関する種々の動作が同期される。以下、クライアント端末からの再生制御コマンドの有無の問い合わせに対するサーバ10の応答を問い合わせ応答と記す。なお、コンテンツ制御とは、コンテンツの再生状態の制御と称することもできる。
また、サーバ10は、問い合わせ応答に、クライアント端末がその問い合わせ応答を受信してから次に問い合わせを送信するまでの待機時間を含める。クライアント端末20a,20bは問い合わせ応答を受信後、指定された待機時間が経過したときに、再生制御コマンドの有無の問い合わせを再度、サーバ10に送信する。この結果、クライアント端末20a,20bはそれぞれ、再生制御コマンドの有無の問い合わせを繰り返しサーバ10に送信する。
図2は、第1の実施形態におけるサーバ(コンテンツ同期制御装置)10の構成例を示すブロック図である。サーバ10は、問い合わせ受信手段101と、待機時間決定手段102と、問い合わせ応答送信手段103と、通信遅延管理手段104と、制御要求受信手段105と、制御時刻決定手段106と、制御情報管理手段107と、時刻同期手段108と、データ記憶手段109と、データ送信手段110とを備える。サーバ10は、ネットワーク30を介してクライアント端末(図2において図示略)に接続される。
問い合わせ受信手段101は、個々のクライアント端末20a,20bから、そのクライアント端末に対する未送信の再生制御コマンドの有無の問い合わせを受信する。なお、各クライアント20a,20bは、例えば、HTTPのGETメソッドにより、サーバ10への問い合わせを送信すればよい。
待機時間決定手段102は、再生制御コマンドの有無の問い合わせを送信したクライアント端末に関して、そのクライアント端末が問い合わせ応答を受信してから次回の問い合わせを送信するまでの待機時間を決定する。待機時間決定手段102は、問い合わせ受信手段101がクライアント端末から問い合わせを受信した時刻に基づいて、次回の問い合わせの受信時刻が他のクライアント端末からの問い合わせの受信時刻と揃うように待機時間を決定する。待機時間の決定方法については、後述する。
問い合わせ応答送信手段103は、問い合わせ受信手段101が受信した問い合わせに対する応答を、問い合わせの送信元のクライアント端末に送信する。問い合わせ応答送信手段103は、問い合わせ応答に、少なくとも、待機時間決定手段102によって決定された待機時間の情報を含める。また、問い合わせ応答送信手段103は、問い合わせの送信元のクライアント端末に対して送信する再生制御コマンドが未送信であれば、その再生制御コマンドを問い合わせ応答に含める。なお、再生制御コマンドは、再生制御情報として問い合わせ応答に含められる。また、再生制御情報は、制御時刻決定手段106によって生成される。
通信遅延管理手段104は、通信遅延情報を保持する。通信遅延情報は、少なくとも、クライアント端末の識別子と、そのクライアント端末とサーバ10との間の通信遅延とを含む。通信遅延は、クライアント端末とサーバ10との間の往復の通信に要する時間である。本発明の説明では、「通信遅延」と、通信遅延を含む「通信遅延情報」とを区別する。図3は、通信遅延管理手段104が保持する通信遅延情報の例を示す説明図である。図3では、通信遅延情報が、クライアント端末毎に、クライアント端末の識別子と、通信遅延と、そのクライアント端末に対する前回の問い合わせ応答送信時刻とを対応付けた情報である場合を例示している。図3に示す第1列は、クライアント端末の識別子である。本例では、図1に示した符号“20a”,“20b”を識別子として示している。図3に示す第2列は、通信遅延であり、本例ではミリ秒単位で示している。図3に示す第3列は、クライアント端末に対する前回の問い合わせ応答送信時刻である。この時刻は、通信遅延を測定するために用いられる。また、本実施形態では、予め定めた所定の基準時点からの経過時間によって時刻を表す。本例では、グリニッジ標準時の1970年1月1日0時0分0秒を基準時点とし、その基準時点からの経過時間をミリ秒で表すことにより時刻を表現する場合を例にする。ただし、基準時点として他の時刻を用いてもよい。また、基準時点からの経過時間は、ミリ秒以外の単位で表されてもよい。ただし、通信遅延の単位と、基準時点からの経過時間との単位は同じ単位(本例ではミリ秒)にすることが好ましい。
通信遅延管理手段104は、例えば、クライアント端末からの問い合わせと、その問い合わせに対する応答とを利用して通信遅延を測定する。この測定方法を具体例を用いて説明する。例えば、サーバ10の問い合わせ受信手段101がクライアント端末20aから問い合わせを受信すると、問い合わせ応答送信手段103がクライアント端末20aに問い合わせ応答を送信する。そして、問い合わせ応答送信手段103が問い合わせ応答を送信する際に、通信遅延管理手段104は、その送信時刻で、クライアント端末20aに対応する「前回の問い合わせ応答送信時刻」を更新する。このように、通信遅延管理手段104は、個々のクライアント端末への問い合わせ応答の送信の度に、通信遅延情報のうち、そのクライアント端末に対応する「前回の問い合わせ応答送信時刻」を更新する。更新後、通信遅延情報の内容が図3に示す内容になったとする。そして、クライアント端末20aは、サーバ10から問い合わせ応答を受信すると、その受信時刻を記憶する。その後、クライアント端末20aは、再度、サーバ10に対して問い合わせを送信する。その際、クライアント端末20aは、問い合わせ応答を受信してから問い合わせを送信するまでの経過時間を問い合わせに付与する。この経過時間は、問い合わせ応答に含まれる待機時間と等しい。この経過時間は、例えば、URL(Uniform Resource Locator)パラメータとして送信される。例えば、経過時間が121ミリ秒であったとすると、クライアント端末20aは、問い合わせ送信時のURLに「time=121」を付与し、「http://example.com/GetMessage?time=121」とすることで、経過時間が121ミリ秒であった事をサーバ10に伝達すればよい。
サーバ10の問い合わせ受信手段101がクライアント端末20aから問い合わせを受信すると、通信遅延管理手段104は、問い合わせを受信した時刻を確認する。例えば、この時刻が「1308637151453」であったとする。通信遅延管理手段104は、クライアント端末20aに対応する「前回の問い合わせ応答送信時刻」を参照する。本例では、この時刻は、「1308637151322」である(図3参照)。通信遅延管理手段104は、クライアント端末20aから問い合わせを受信した時刻から、前回の問い合わせ応答送信時刻と、クライアント端末20aから通知された経過時間(上記の例では、121ミリ秒)とを差し引いた値として、通信遅延を算出することができる。すなわち、本例では、以下に示す式(1)の計算により、クライアント端末20aに関する通信遅延を10ミリ秒として算出することができる。
1308637151453−1308637151322−121=10
式(1)
通信遅延管理手段104は、通信遅延を算出すると、保持している通信遅延情報に含まれる通信遅延を更新する。このように、問い合わせ受信手段101がクライアント端末から問い合わせを受信すると、通信遅延管理手段104は、そのクライアント端末に関する通信遅延を算出し、通信遅延情報を更新する。
なお、通信遅延管理手段104は、上記の方法によって通信遅延を測定し、複数回の測定結果の平均値を通信遅延として定め、通信遅延情報に含まれる通信遅延をその平均値で更新してもよい。このように通信遅延を定めれば、パケットロス等の影響によって例外的に通信遅延が大きくなり、正常時の通信遅延が正しく測定できなかった場合の影響を軽減することができる。
制御要求受信手段105は、各クライアント端末20a,20bから再生制御要求を受信する。再生制御要求は、指定した再生制御コマンドが各クライアント端末で同期して実行されるように各クライアント端末を制御することを要求するリクエスト情報である。各クライアント端末は、使用者の操作に応じて定まる再生制御コマンドを、再生制御要求としてサーバ10に送信すればよい。再生制御コマンドの例として、例えば、再生、一時停止、早送り、巻き戻し、頭出し再生等の種々の処理に応じた再生制御コマンドが挙げられる。ただし、再生制御コマンドの種類は、これらに限定されない。また、再生制御コマンドには、付帯情報が付加されていてもよい。付帯情報は、例えば、コマンドの実行態様を指定する情報である。付帯情報の例として、再生を指示する再生制御コマンドにおける再生速度や、頭出し再生を指示する再生制御コマンドにおける頭出し位置等が挙げられる。付帯情報の種類も、これらに限定されない。
図4は、再生制御コマンドの例を示す説明図である。図4に示す例では、各行が「パラメータ名=パラメータの値」の形式で記述される。また、パラメータ名が「command」で示されるパラメータの値が再生制御コマンドを表す。そして、その他のパラメータ名は再生制御コマンドの付帯情報を表す。図4に示す例1では、第1行でコマンド名「command」が指定され、そのパラメータの値が「pause」であり、例1は、一時停止の開始を指示するコマンドである。図4に示す例2では、第1行でコマンド名「command」が指定され、そのパラメータの値が「seek」であり、例2は、頭出し再生の開始を指示するコマンドである。また、例2では、第2行に付帯情報として、「position=2300」という記述があり、動画の先頭から2300ミリ秒後の位置で頭出し再生を実施することを示している。図4に示す例3では、第1行でコマンド名「command」が指定され、そのパラメータの値が「forward」であり、例3は、早送りの開始を指示するコマンドである。また、例3では、第2行に付帯情報として、「speed=4」という記述があり、4倍速で早送りを行うことを示している。
付帯情報を付加することで、コマンドの実行態様を指定することができ、各クライアント端末でのコンテンツ制御の開始タイミングだけでなく、実行態様も揃えることができる。従って、コマンドの実行態様が可変である場合であっても、各クライアント端末は、同一コンテンツの同一箇所を同期して出力することができる。例えば、各クライアント端末は、頭出し再生を行う場合に、同じ箇所からコンテンツの再生を開始し、同一の時刻にコンテンツの同一の箇所を出力することができる。
再生制御コマンドおよび付帯情報は、図4に示す例に限定されない。また、再生制御コマンドおよび付帯情報の記述形式も図4に示す例に限定されず、他の形式で記述されていてもよい。
制御時刻決定手段106は、制御要求受信手段105が再生制御要求として受信した再生制御コマンドによるコンテンツ制御を各クライアント端末20a,20bが開始する制御開始時刻を決定する。そして、制御時刻決定手段106は、その再生制御コマンドに制御開始時刻の情報を付加することによって、再生制御情報を生成する。すなわち、再生制御情報は、再生制御コマンドおよび制御開始時刻の情報を含む。また、再生制御コマンドには、付帯情報が付加されていてもよい。なお、制御開始時刻の決定方法については後述する。
図5は、制御時刻決定手段106が生成する再生制御情報の例を示す説明図である。図5に示す例において、再生制御コマンドおよび付帯情報の記述は図4に示す例と同様である。図5に示す再生制御情報では、パラメータ名を「time」として、制御開始時刻が追加されている点が、図4に例示する記述と異なる。図5に示す例1では、制御開始時刻として「1308637152032」が指定されている。例1は、グリニッジ標準時の1970年1月1日0時0分0秒から、1308637152032ミリ秒経過した時刻に制御(例1では一時停止)を開始することを意味する。同様に、図5に示す例2は、時刻「1308637165983」に、コンテンツの先頭から2300ミリ秒後の位置からの頭出し再生を開始することを意味する。同様に、図5に示す例3は、時刻「1308637178111」に、4倍速で早送りを開始することを意味する。
制御情報管理手段107は、制御要求受信手段105が再生制御要求(すなわち、再生制御コマンド)を受信したときには、その再生制御コマンドを記憶する。また、その再生制御コマンドに制御開始時刻を追加した再生制御情報が制御時刻決定手段106に生成された場合には、制御情報管理手段107は、再生制御コマンドおよび制御開始時刻を含む再生制御情報を記憶する。また、制御情報管理手段107は、その再生制御コマンドや再生制御情報が未だ再生制御情報として送信されていないクライアント端末の識別子を、その再生制御コマンドや再生制御情報に対応付けて記憶する。図6は、制御情報管理手段107が記憶する情報の例を示す説明図である。図6に示す例では、まだ制御開始時刻が付加されていない再生制御コマンドを記憶している場合を例示している。この再生制御コマンドは、制御開始時刻が追加されて再生制御情報とされた後、クライアント端末20a,20bに送信されることになるが、現時点では再生制御情報としてクライアント端末20a,20bに送信されていない。従って、それらのクライアント端末の識別子“20a”,“20b”とともに制御情報管理手段107に記憶される。
時刻同期手段108は、サーバ10が持つ時計の時刻を所定の時刻に同期させることで、サーバ10の時計の時刻を正しい時刻に同期させる。例えば、時刻同期手段108は、NTPサーバ(network time protocol サーバ、図示せず。)を参照し、ネットワークタイムプロトコルによってNTPサーバから提供される時刻に、サーバ10が持つ時計の時刻を同期させてもよい。
後述のクライアント端末の時刻同期手段206(図7参照。)も、クライアント端末が持つ時計の時刻を所定の時刻に同期させることで、クライアント端末の時計の時刻を正しい時刻に同期させる。従って、サーバ10および各クライアント端末の時計の時刻は同期し、同一の時刻を指し示すことになる。そして、全てのクライアント端末20a、20bは、制御時刻決定手段106によって決定された時刻に再生制御コマンドに応じたコンテンツ制御(例えば、再生、一時停止等)を開始するので、全てのクライアント端末20a、20bは再生制御コマンドに応じたコンテンツ制御を同時に開始することができる。
データ記憶手段109は、各クライアント端末20a,20bにおいて再生されるコンテンツのデータを記憶する。データ記憶手段109は、例えば、動画、音声等のデータを記憶する。
データ送信手段110は、各クライアント端末20a,20bにコンテンツのデータを送信する。
問い合わせ受信手段101、待機時間決定手段102、問い合わせ応答送信手段103、通信遅延管理手段104、制御要求受信手段105、制御時刻決定手段106、制御情報管理手段107、時刻同期手段108およびデータ送信手段110は、例えば、コンテンツ同期制御プログラムに従って動作するコンピュータのCPUによって実現される。この場合、例えば、コンピュータのプログラム記憶手段(図示略)がコンテンツ同期制御プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、上記の各要素101,102,103,104,105,106,107,108,110として動作すればよい。また、上記の各要素が、それぞれ別々のユニットで実現されていてもよい。
図7は、第1の実施形態におけるクライアント端末(コンテンツ再生装置)20の構成例を示すブロック図である。なお、図7では、クライアント端末を符号“20”で表す。図1に示す各クライアント端末20a,20bは、いずれも、図7に示すクライアント端末20と同様である。
クライアント端末20は、問い合わせ送信手段201と、問い合わせ応答受信手段202と、問い合わせ制御手段203と、制御要求送信手段204と、再生手段205と、時刻同期手段206と、再生制御手段207と、データ受信手段208と、データ蓄積手段209とを備える。クライアント端末20は、ネットワーク30を介してサーバ10(図7において図示略)に接続される。
問い合わせ送信手段201は、問い合わせ制御手段203に従って、サーバ10に対して、自端末(クライアント端末20)に対して未だ送信されていない再生制御コマンドの有無の問い合わせを送信する。
問い合わせ応答受信手段202は、問い合わせ送信手段201がサーバ10に送信した問い合わせに対する応答(問い合わせ応答)を、サーバ10から受信する。既に説明したように、この問い合わせ応答には、待機時間決定手段102によって決定された待機時間の情報が含まれる。また、クライアント端末20に対して送信されていなかった再生制御コマンドがサーバ10に存在していた場合には、その再生制御コマンドおよび制御開始時刻を含む再生制御情報も、問い合わせ応答に含まれる。
問い合わせ送信手段201は、問い合わせ応答受信手段202が問い合わせ応答を受信した時刻から待機時間が経過した時に、再度、自端末(クライアント端末20)に対して未だ送信されていない再生制御コマンドの有無の問い合わせを送信する。従って、問い合わせ送信手段201は、サーバ10に対する問い合わせを繰り返し送信する。問い合わせ送信手段201は、サーバ10に対する問い合わせに、問い合わせ応答の受信時刻から新たな問い合わせの送信時刻までの経過時間(すなわち、上記の待機時間)を含める。
問い合わせ制御手段203は、問い合わせ送信手段201がサーバ10に対する問い合わせを送信するタイミングを制御する。すなわち、問い合わせ制御手段203は、問い合わせ応答受信手段202が問い合わせ応答を受信したときに、その受信時刻の値に、問い合わせ応答が示す待機時間を加算することによって、次回の問い合わせを送信する時刻を算出する。そして、問い合わせ制御手段203は、その時刻に、問い合わせ送信手段201にサーバ10への問い合わせを送信させる。
制御要求手段204は、クライアント端末20の使用者の操作に対応した再生制御コマンドを再生制御要求としてサーバ10に送信する。例えば、クライアント端末20の使用者が、再生開始を指示する操作を行った場合、制御要求手段204は、再生開始を指示する再生制御コマンドを再生制御要求として送信する。同様に、制御要求手段204は、使用者の操作に応じて、一時停止、早送り、巻き戻し、頭出し再生等の種々の再生制御コマンドを再生制御要求としてサーバ10に送信する。
再生手段205は、再生制御手段207の指示に基づいてコンテンツの再生、一時停止、早送り、巻き戻し、頭出し再生等を実施する。再生手段205は、例えば、汎用的なブラウザ上でコンテンツの再生等を行えばよい。
時刻同期手段206は、クライアント端末20が持つ時計の時刻を所定の時刻に同期させることで、クライアント端末20の時計の時刻を正しい時刻に同期させる。この動作は、サーバにおける時刻同期手段108と同様である。
再生制御手段207は、問い合わせ応答受信手段202が受信した再生制御情報に基づいて、再生手段205におけるコンテンツの再生状態を制御する。
データ受信手段208は、再生手段205において再生するコンテンツをサーバ10から受信する。
データ蓄積手段209は、データ受信手段208が受信したコンテンツを蓄積し、再生手段205にコンテンツを引き渡す。
問い合わせ送信手段201、問い合わせ応答受信手段202、問い合わせ制御手段203、制御要求送信手段204、再生手段205、時刻同期手段206、再生制御手段207、データ受信手段208およびデータ蓄積手段209は、例えば、コンテンツ再生プログラムに従って動作するコンピュータのCPUによって実現される。この場合、例えば、コンピュータのプログラム記憶手段(図示略)がコンテンツ再生プログラムを記憶し、CPUがそのプログラムを読み込んで、そのプログラムに従って、上記の各要素201〜209として動作すればよい。また、上記の各要素が、それぞれ別々のユニットで実現されていてもよい。
なお、本実施の形態では、各クライアント端末が再生するコンテンツは、サーバ10のデータ記憶手段109(図2参照)に記憶され、各クライアント端末のデータ受信手段208がサーバ10からコンテンツを受信する場合を例示している。コンテンツは、サーバ10とは別の装置に記憶され、各クライアント端末のデータ受信手段208がその装置からコンテンツを受信してもよい。また、いずれかのクライアント端末がコンテンツを記憶し、そのクライアント端末と他の各クライアント端末とがコンテンツを送受信する構成であってもよい。
次に、動作について説明する。以下の説明では、サーバ10の時刻同期手段108、および各クライアント端末20a,20bの時刻同期手段206が、それぞれ自装置の時計の時刻を所定の時刻(例えば、NTPサーバの時刻)に同期させているものとする。すなわち、サーバ10および各クライアント端末20a,20bの時計の時刻は全て正しい時刻に同期済みであるものとする。また、各クライアント端末20a,20bにおいて、データ受信手段208は、サーバ10のデータ送信手段101からコンテンツを受信し、データ蓄積手段209がそのコンテンツを蓄積済みであるものとする。
以下、クライアント端末からの問い合わせに対して、サーバ10が再生制御情報を含まない問い合わせ応答を送信する場合の動作と、クライアント端末からの問い合わせに対して、サーバ10が再生制御情報を含む問い合わせ応答を送信する場合の動作についてそれぞれ説明する。
図8は、クライアント端末からの問い合わせに対して、サーバ10が再生制御情報を含まない問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。いずれのクライアント端末20a,20bにおいてもユーザの操作が行われていない場合に、図8に示す処理が行われる。
図8では、クライアント端末20aがサーバ10に対して問い合わせを送信する場合を例示している。図8では、クライアント端末20bに関する動作の図示を省略しているが、サーバ10とクライアント端末20aとの間の処理と同様の処理が、サーバ10とクライアント端末20bとの間でも並列に実行される。
クライアント端末20aの問い合わせ送信手段201は、クライアント端末20aに対する未送信の再生制御コマンドの有無の問い合わせをサーバ10に送信する(ステップS1)。具体的には、前回の問い合わせ応答受信時刻に、その問い合わせ応答が示す待機時間を加算した時刻を問い合わせ制御手段203が算出しておき、その時刻に、問い合わせ制御手段203が、問い合わせ送信手段201にサーバ10への問い合わせを送信させる。このとき、問い合わせ送信手段201は、サーバ10に送信する問い合わせに、前回の問い合わせ応答受信時刻から、ステップS1における問い合わせの送信時刻までの経過時間(すなわち、待機時間)を付加する。
サーバ10の問い合わせ受信手段102は、クライアント端末20aが送信した問い合わせを受信する(ステップS2)。
次に、サーバ10の通信遅延管理手段104は、保持している通信遅延情報のうち、クライアント端末20aに対する前回の問い合わせ応答送信時間を参照する。そして、通信遅延管理手段104は、その問い合わせ応答送信時間と、ステップS2において問い合わせを受信した時刻と、その問い合わせに付加されている経過時間とに基づいて、サーバ10とクライアント端末20aとの間の通信遅延を算出する。さらに、通信遅延管理手段104は、保持している通信遅延情報のうち、クライアント端末20aに対応する通信遅延の値を、新たに算出した通信遅延の値に更新する(ステップS3)。
次に、サーバ10の待機時間決定手段102は、クライアント端末20aがサーバ10からの問い合わせ応答を受信してから次に問い合わせを送信するまでの待機時間を決定する(ステップS4)。待機時間決定手段102は、例えば、以下に例示する方法で待機時間を決定すればよい。待機時間決定手段102は、同一のクライアント端末からの問い合わせの受信周期を予め記憶する。この問い合わせの受信周期を符号Tで表す。問い合わせの受信周期Tは、例えば、サーバ10の管理者が予め定め、待機時間決定手段102に記憶させておけばよい。また、問い合わせの受信周期Tは、各クライアント端末20a,20bで共通であり、管理者はTの値として1つの値を定めておけばよい。なお、通信遅延のばらつきのため実際の問い合わせの受信周期にはばらつきが生じるが。予め定められたTは、問い合わせの受信周期の基準値であるということができる。
待機時間決定手段102は、現在時刻を取得する。そして、待機時間決定手段102は、T×nが現在時刻に最も近くなる整数nを求める。なお、本発明では、T×nが示す時刻は、現在時刻の近辺の時刻となる。T×nと現在時刻が一致することが理想的であるが、同一のクライアント端末とサーバ10との通信遅延にばらつきが生じるため、T×nが表す時刻は現在時刻よりも前になったり後になったりし得る。なお、待機時間決定手段102は、例えば、ステップS2における問い合わせ受信時刻を現在時刻として用いてもよい。あるいは、ステップS3を終了し、ステップS4を開始するときの時刻を現在時刻として用いてもよい。コンピュータの処理上、ステップS2における受信時刻と、ステップS4の開始時刻とでほとんど差はなく、待機時間決定手段102は、ステップS4実行時の近傍の時刻を現在時刻とすればよい。待機時間決定手段102は、通信遅延管理手段104から、問い合わせの送信元のクライアント端末20aの通信遅延の値を読み込み、以下の式(2)の計算を行うことによって、クライアント端末20aの待機時間を決定する。
待機時間=T×(n+1)−現在時刻−通信遅延の値 式(2)
上記のように待機時間を決定することにより、クライアント端末20aから次回の問い合わせを受信する時刻は、ほぼT×(n+1)となる。ここで、「ほぼT×(n+1)」としたのは、通信遅延のばらつきを考慮したためである。
ステップS4の後、サーバ10の制御情報管理手段107は、問い合わせの送信元のクライアント端末20aに対して送信する再生制御コマンドを記憶しているか否かを確認する(ステップS5)。図8に示す例では、問い合わせの送信元に対して送信する再生制御コマンドは存在しない(すなわち、制御情報管理手段107が記憶していない)ものとする。そのような再生制御コマンドがある場合の処理経過については、後述の図9および図10を参照して説明する。
問い合わせの送信元に対して送信する再生制御コマンドが存在しない場合、サーバ10の問い合わせ応答送信手段103は、ステップS4で決定された待機時刻を記述した問い合わせ応答を、問い合わせの送信元のクライアント端末20aに送信する(ステップS6)。このとき、クライアント端末20aへの再生制御コマンドは存在しないので、問い合わせ応答に再生制御情報は付加されない。また、このとき、通信遅延管理手段104は、問い合わせ応答の送信時刻で、クライアント端末20aに対応する「前回の問い合わせ応答送信時刻」を更新する。
問い合わせの送信元であるクライアント端末20aにおいて、問い合わせ応答受信手段202は、ステップS6でサーバ10が送信した問い合わせ応答を受信する(ステップS7)。
次に、クライアント端末20aの問い合わせ制御手段203は、問い合わせ応答に記述された待機時間を読み込み、その待機時間が経過するまで、問い合わせ送信手段201を、問い合わせの送信を行わないまま待機させる。問い合わせ送信手段201は、問い合わせ制御手段203に従って、待機時間が経過するまで待機する(ステップS8)。具体的には、問い合わせ制御手段203は、ステップS7における問い合わせ応答の受信時刻に待機時間を加算した時刻を算出し、その時刻まで問い合わせ送信手段201を待機させる。
そして、問い合わせ制御手段203は、問い合わせ応答の受信時刻に待機時間を加算した時刻になったときに、問い合わせ送信手段201にサーバ10への問い合わせを送信させる。問い合わせ送信手段201は、問い合わせ制御手段203に従って、サーバ10に対して、再度、問い合わせを送信する(ステップS9)。このとき、問い合わせ送信手段201は、前回の問い合わせ応答受信時刻から、ステップS9における問い合わせの送信時刻までの経過時間を、問い合わせに付加して送信する。
この結果、ステップS9で送信された問い合わせをサーバ10が受信する時刻は、ほぼT×(n+1)となる。
ステップS9は、ステップS1と同様の処理であり、ステップS9以降の処理は、ステップS1以降の処理と同様である。
既に説明したように、サーバ10とクライアント端末20aとの間の処理と同様の処理が、サーバ10とクライアント端末20bとの間でも並列に実行される。従って、上記の例と同様に、クライアント端末20bがステップS9として送信した問い合わせも、ほぼ時刻T×(n+1)に、サーバ10によって受信される。
以上のように、各クライアント端末20a,20bが送信する問い合わせは、ほぼ同時刻にサーバ10に到達するように調整される。
図9および図10は、クライアント端末からの問い合わせに対して、サーバ10が再生制御情報を含む問い合わせ応答を送信する場合の動作の例を示すシーケンス図である。図9では、クライアント端末20aの使用者がコンテンツの再生開始や一時停止等の操作を行った場合の例にして説明する。
まず、クライアント端末20aの使用者がコンテンツの再生制御の操作を行う。本例では、動画の再生中に使用者が一時停止操作を行ったとする。クライアント端末20aにおいて、ユーザによる再生制御の操作が行われると、クライアント端末20aの制御要求送信手段204は、サーバ10に再生制御要求を送信する(ステップS21)。ここでは、図4の例1に示す再生制御コマンド(一時停止の開始を指示するコマンド)を再生制御要求として送信する場合を例にする。
サーバ10の制御要求受信手段105は、ステップS21で送信された再生制御要求を受信する(ステップS22)。そして、サーバ10の制御情報管理手段107は、再生制御要求として受信した再生制御コマンド(本例では、図4の例1に示すコマンド)を記憶する(ステップS23)。このとき、制御情報管理手段107は、コンテンツ制御を同期させる対象となる各クライアント端末の識別子とともに、再生制御コマンドを記憶する。本例では、クライアント端末20a、20bの識別子(“20a”,“20b”)とともに再生制御コマンドを記憶する。すなわち、制御情報管理手段107は、図6に例示する情報を記憶する。制御情報管理手段107が記憶した情報(図6参照)は、再生制御コマンド(command=pause)がまだ再生制御情報としてクライアント端末20a、20bに送信されていないことを表す。
なお、コンテンツ制御を同期させる対象となる各クライアント端末の識別子は、予め制御情報管理手段107に保持させておけばよい。
ここでは、クライアント端末20aの使用者が操作を行い、クライアント端末20aが再生制御要求を送信した場合を例に説明した。クライアント端末20bの使用者が操作を行い、クライアント端末20bが再生制御要求を送信した場合のサーバ10の動作も、上記のステップS22,S23と同様である。
次に、クライアント端末20aの問い合わせ送信手段201が、クライアント端末20aに対する未送信の再生制御コマンドの有無の問い合わせをサーバ10に送信する(ステップS24)。そして、サーバ10の問い合わせ受信手段102は、その問い合わせを受信する(ステップS25)。ステップS24,S25の動作は、ステップS1,S2(図8参照)の動作と同様である。また、図9では図示を省略しているが、ステップS25の後、通信遅延管理手段104が通信遅延情報の更新を行い、待機時間決定手段102が待機時間を決定する。この動作は、前述のステップS3,S4の動作と同様である。
その後、サーバ10の制御情報管理手段107は、問い合わせの送信元のクライアント端末20aに対して送信する再生制御コマンドを記憶しているか否かを確認する(ステップS26)。本例では、制御情報管理手段107は、図6に例示する情報を保持している。従って、制御情報管理手段107は、クライアント端末20aに対して送信する再生制御コマンド(command=pause)が存在すると判定する。
クライアント端末20aに対して送信する再生制御コマンドが存在する場合、制御時刻決定手段106は、その再生制御コマンドに関する制御開始時刻が決定されていないことを条件に、その再生制御コマンドに関する制御開始時刻を決定する(ステップS27)。既に制御開始時刻が決定されている場合には、ステップS27の処理を実行しなくてよい。
制御時刻決定手段106は、例えば、以下に例示する方法で制御開始時刻を決定すればよい。制御時刻決定手段106は、現在時刻を取得する。また、制御時刻決定手段106は、遅延情報管理手段104が記憶している通信遅延情報(図3に例示する情報)を参照し、コンテンツ制御を同期させる対象となる各クライアント端末20a,20bの通信遅延を読み込む。以下、その各クライアント端末20a,20bの通信遅延の最大値をRmaxと表す。また、各クライアント端末内での再生制御処理時間をαとする。再生制御処理時間αは、再生制御手段207が、再生制御コマンドに応じたコンテンツ制御を開始する前に要するマージン時間である。制御時刻決定手段106は、以下の式(3)の計算を行うことによって、制御開始時刻を決定する。
制御開始時刻=現在時刻+(Rmax/2)+α 式(3)
式(3)において、Rmax/2を用いる理由について説明する。既に説明したように、通信遅延は、クライアント端末とサーバ10との間の往復の通信に要する時間である。一方、制御開始時刻の導出に必要となるのは、サーバ10からクライアント端末に再生制御情報を送信し、クライアント端末が再生制御情報に応じて再生、一時停止等の処理を実行するのに要する時間である。そして、Rmax/2は、サーバ10から各クライアント端末までの片道の通信時間の最大値に相当する。そのため、式(3)では、通信遅延の最大値Rmaxそのものではなく、Rmax/2を加算することとしている。
再生制御処理時間αは、サーバ10の管理者が予め定めておき、制御時刻決定手段106に記憶させておけばよい。なお、各クライアント端末20a,20bにおける再生制御処理時間が共通である場合には、その共通の値をαとして定めればよい。クライアント端末20a,20b間で再生制御処理時間にばらつきがある場合には、その最大値をαとして定めればよい。
また、制御時刻決定手段106は、ステップS27実行時の近傍の時刻を現在時刻として用いればよい。例えば、ステップS26が終了し、ステップS27が開始する時点の時刻を現在時刻として用いればよい。
式(3)の計算例を示す。例えば、現在時刻が「1308637151832」であるとする。また、図3に示すように、クライアント端末20aの通信遅延が10ミリ秒であり、クライアント端末20bの通信遅延が200ミリ秒であるとする。このとき、Rmax=200である。また、再生制御処理時間αが100ミリ秒として定められているとする。この場合、制御時刻決定手段106は、以下の計算により、制御開始時刻「1308637152032」を算出すればよい。
1308637151832+200/2+100=1308637152032
式(3)におけるRmax/2は、サーバ10とクライアント端末間の片道の通信時間の最大値を表す。サーバ10とクライアント端末間の片道の通信時間の最大値を表す値として、Rmax/2以外の値を用いてもよい。通信方式によっては、サーバ10とクライアント端末間の片道の通信時間の最大値が、2以外の値kを用いてRmax/kと表される場合もある。kは通信方式に応じた値である。従って、通信方式によっては、その通信方式に応じた値kを用いて、式(3)におけるRmax/2をRmax/kに置き換えればよい。
制御時刻決定手段106は、制御開始時刻を算出した後、ステップS26で存在すると判定された再生制御コマンドと組み合わせることにより、再生制御情報を生成する。
次に、問い合わせ応答送信手段103は、待機時刻を記述した問い合わせ応答に、制御時刻決定手段106によって生成された再生制御情報を含め、問い合わせの送信元のクライアント端末20aに問い合わせ応答を送信する(ステップS28)。このとき、通信遅延管理手段104は、問い合わせ応答の送信時刻で、クライアント端末20aに対応する「前回の問い合わせ応答送信時刻」を更新する。
続いて、制御情報管理手段107は、記憶している情報を更新する(ステップS29)。具体的には、ステップS26で存在すると判定された再生制御コマンドを、制御時刻決定手段106に生成された再生制御情報の内容で更新する。この結果、制御情報管理手段107は、制御開始時刻を記憶せずに再生制御コマンドを記憶している状態から、制御開始時刻および再生制御コマンドを記憶する状態に移行する。また、その再生制御コマンドに対応するクライアント端末の識別子のうち、再生制御情報(問い合わせ応答)の送信先であるクライアント端末の識別子を削除する。ステップS29における更新後の情報の例を図11に示す。図6に示す更新前の情報と比較すると、再生制御情報の送信先であるクライアント端末20aの識別子“20a”が削除されている。また、制御開始時刻が追加され、再生制御情報として再生制御コマンドが記憶されている。
また、クライアント端末20aの問い合わせ応答受信手段103は、ステップS28で送信された問い合わせ応答を受信する(ステップS30)。そして、クライアント端末20aの再生制御手段207は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻に応じて、コンテンツ再生制御を行わずに待機する(ステップS31)。以後の動作は、図10を参照して説明する。
また、クライアント端末20bの問い合わせ送信手段201は、クライアント端末20bに対する未送信の再生制御コマンドの有無の問い合わせをサーバ10に送信する(ステップS32)。そして、サーバ10の問い合わせ受信手段102は、その問い合わせを受信する(ステップS33)。なお、各クライアント端末20a,20bからの問い合わせをサーバ10が受信する時刻はほぼ同時刻になるように調整されているが、図9および図10に示す例では、クライアント端末20aからの問い合わせを先に受信した場合を例示している。
ステップS32,S33の動作は、ステップS24,S25(図9参照)の動作や、ステップS1,S2(図8参照)の動作と同様である。また、図10では図示を省略しているが、ステップS33の後、通信遅延管理手段104が通信遅延情報の更新を行い、待機時間決定手段102が待機時間を決定する。この動作は、前述のステップS3,S4の動作と同様である。
その後、サーバ10の制御情報管理手段107は、問い合わせの送信元のクライアント端末20bに対して送信する再生制御コマンドを記憶しているか否かを確認する(ステップS34)。本例では、制御情報管理手段107は、図11に例示する情報を保持している。従って、制御情報管理手段107は、クライアント端末20bに対して送信する再生制御コマンド(command=pause)が存在すると判定する。なお、図11に示す例では、再生制御コマンドは、制御開始時刻とともに再生制御情報として記憶されている。
ステップS34は、ステップS26と同様の処理であるが、ステップS34の時点で、再生制御コマンドに対応する制御開始時刻は既に決定されている。従って、ステップS34の後には、制御時刻決定手段106は制御開始時刻の決定を行わなくてよい。よって、ステップS34の後、問い合わせ応答送信手段103は、図11に例示する再生制御情報を含めた問い合わせ応答を、問い合わせの送信元のクライアント端末20bに送信する(ステップS35)。なお、問い合わせ応答送信手段103は、問い合わせ応答に待機時間の情報も含めておく。また、このとき、通信遅延管理手段104は、問い合わせ応答の送信時刻で、クライアント端末20bに対応する「前回の問い合わせ応答送信時刻」を更新する。
続いて、制御情報管理手段107は、記憶している情報を更新する(ステップS36)。ここでは、制御情報管理手段107は、ステップS35で問い合わせ応答に含めた再生制御情報に対応するクライアント端末の識別子のうち、再生制御情報(問い合わせ応答)の送信先であるクライアント端末の識別子を削除する。そして、再生制御情報に対応するクライアント端末の識別子が全て削除された場合には、その再生制御情報も削除する。本例では、ステップS35で、クライアント端末20bに再生制御情報を送信したので識別子“20b”を削除する。すると、図11に示す再生制御情報に対応するクライアント端末の識別子が全て削除された状態になるので、制御情報管理手段107は、その再生制御情報も削除する。
また、クライアント端末20bの問い合わせ応答受信手段103は、ステップS35で送信された問い合わせ応答を受信する(ステップS37)。そして、クライアント端末20bの再生制御手段207は、問い合わせ応答に含まれる再生制御情報が示す制御開始時刻に応じて、コンテンツ再生制御を行わずに待機する(ステップS38)。
クライアント端末20a,20bが受信した再生制御情報に含まれている制御開始時刻は、同一時刻である。クライアント端末20a,20bの再生制御手段207はそれぞれ、その制御開始時刻に、再生制御情報内の再生制御コマンドが示すコンテンツ制御を実行する(ステップS39,S40)。各クライアント端末20a,20bの再生手段205は、再生制御手段207の制御の応じた動作を行う。本例では、再生中の動画を一時停止する処理を行う。この結果、クライアント端末20a,20bで再生されていた動画は同期して一時停止する。ここでは、一時停止を例にして説明したが、再生開始、早送り、巻き戻し、頭出し再生等の場合でも同様である。
また、図9および図10に示す例では、クライアント端末20aが先に問い合わせを送信する場合を例示しているが、クライアント端末20bが先に問い合わせを送信してもよい。
なお、図9および図10では、クライアント端末20a,20bが問い合わせ応答を受信した後、次の問い合わせを送信する動作の図示を省略しているが、各クライアント端末20a,20bが問い合わせ応答受信後に次の問い合わせを送信する動作は、図8に示した場合と同様である。
本実施形態によれば、サーバ10が、コンテンツ制御を同期させる対象となる複数のクライアント端末20a,20bからの問い合わせをほぼ同時に受信するように調整する。そして、サーバ10は、それらのクライアント端末20a,20bのうちの任意の一つのクライアント端末から問い合わせを受信したときに、全てのクライアント端末で同時にコンテンツ制御を実行する時刻(制御開始時刻)を決定する。さらに、サーバ10が、ほぼ同時に受信する各クライアント端末20a、20bからの問い合わせに対応する応答として、その制御開始時刻を含む問い合わせ応答を送信する。従って、サーバ10が、HTTPに従って通信を行う環境で、各クライアント端末20a、20bにおけるコンテンツ制御を同期させることができる。
また、サーバ10は、制御開始時刻を決定する際に、問い合わせ受信周期Tを加算しなくてもよい(式(3)参照)。従って、制御開始時刻を早い時刻として定めることができる。
また、特許文献3に記載された技術のうち、ユーザコンピュータ間でビデオデータに関する命令をピア・ツー・ピアで送信する態様では、NAT(network address translation)やファイアウォールのもとにあるユーザコンピュータに命令直接を送信することは困難である。この問題は、TCP(transmission control protocol )に適応した専用アプリケーションソフトウェアをユーザコンピュータにインストールすることで解決可能である。しかし、専用アプリケーションソフトウェアが必要となる。これに対し、本発明では、HTTPに従って通信を行うので、サーバ10はNAT等のもとにあるクライアント端末に対する制御を行うことができる。また、TCPに適応した専用アプリケーションソフトウェアを用いる必要もなく、汎用的なブラウザでコンテンツを再生することができる。
実施形態2.
図12は、本発明の第2の実施形態のコンテンツ同期システムの例を示すブロック図である。第2の実施形態のコンテンツ同期システムは、コンテンツ同期制御装置11と、複数のコンテンツ再生装置20a,20bとを備える。コンテンツ同期制御装置10と各コンテンツ再生装置20a,20bとは、ネットワーク30を介して接続されている。コンテンツ再生装置20a,20bは、第1の実施形態におけるコンテンツ再生装置20a,20bと同様であり、詳細な説明を省略する。以下、第1の実施形態と同様に、コンテンツ同期制御装置をサーバと記し、コンテンツ再生装置をクライアント端末と記す。
サーバ11は、第1の実施形態におけるサーバ10の動作に加え、クライアント端末からの問い合わせの受信周期Tを更新する処理も行う。問い合わせの受信周期Tの更新条件については後述する。
図13は、第2の実施形態におけるサーバ(コンテンツ同期制御装置)11の構成例を示すブロック図である。第1の実施形態におけるサーバ10の要素と同様の要素については、図2と同一の符号を付し、説明を省略する。サーバ11は、第1の実施形態におけるサーバ10の各要素に加え、問い合わせ受信周期調整手段121を備える。
問い合わせ受信周期調整手段121は、所定の条件が満たされた場合に、クライアント端末からの問い合わせの受信周期Tを更新することによって、Tの値を調整する。問い合わせの受信周期Tの初期値は、例えば、サーバ11の管理者が予め定め、待機時間決定手段102に記憶させておけばよい。そして、問い合わせ受信周期調整手段121は、待機時間決定手段102に記憶されたTを更新する。
問い合わせ受信周期調整手段121は、通信遅延の値の更新処理の後、その更新後の通信遅延(以下、daとする。)と、問い合わせの受信周期Tとを比較する。そして、問い合わせ受信周期調整手段121は、更新後の通信遅延daが問い合わせ受信周期Tよりも大きいことを条件に、Tをdaよりも大きな値に更新する。例えば、問い合わせ受信周期調整手段121は、T=da×1.1の計算を行うことによって、更新後のTの値を計算する。ただし、この計算は、新たなTの値の計算の一例であり、T>daという関係を満足するようにTを更新すれば、更新後のTの値の計算方法は、上記の計算方法に限定されない。
問い合わせ受信周期調整手段121は、例えば、例えば、コンテンツ同期制御プログラムに従って動作するコンピュータのCPUによって実現される。また、問い合わせ受信周期調整手段121および他の各要素が、それぞれ別々のユニットで実現されていてもよい。
図14は、第2の実施形態における動作の例を示すシーケンス図である。図8に示す処理と同様の処理に関しては、図8と同一の符号を付し、詳細な説明を省略する。
クライアント端末20aの問い合わせ送信手段201は、クライアント端末20aに対する未送信の再生制御コマンドの有無の問い合わせをサーバ11に送信する(ステップS1)。サーバ11の問い合わせ受信手段102は、クライアント端末20aが送信した問い合わせを受信する(ステップS2)。次に、サーバ11の通信遅延管理手段104は、クライアント端末20aとサーバ11との間の通信遅延を算出する。そして、サーバ11の通信遅延管理手段104は、保持している通信遅延情報のうち、クライアント端末20aとサーバ11との間の通信遅延の値を更新する(ステップS3)。ステップS1〜S3の動作は、第1の実施形態における動作と同様である。
第2の実施形態では、ステップS3の後、問い合わせ受信周期調整手段121は、ステップS3で算出されたクライアント端末20aとサーバ11との間の通信遅延daと、問い合わせの受信周期Tとを比較し、da>Tであることを条件に、Tの値をdaよりも大きな値に更新する(ステップS10)。ステップS10において、da≦Tであれば、問い合わせ受信周期調整手段121はTを更新しない。
問い合わせ受信周期調整手段121が上記のステップS10の処理を行うことにより、問い合わせの受信周期Tは、それまでに求められた通信遅延の最大値よりも大きな値に調整される。
ステップS10の後の動作(ステップS4以降の動作)は、第1の実施形態と同様である。なお、ステップS4において、待機時間決定手段102は、最新のTの値を用いて待機時間を計算する。
なお、図13では、クライアント端末20aがサーバ11に対して問い合わせを送信する場合を例示しているが、クライアント端末20bがサーバ11に対して問い合わせを送信する場合の動作も同様である。また、どのクライアント端末に関する待機時間を計算する場合であっても、サーバ11は共通のTを用いる。すなわち、サーバ11は、クライアント端末毎に問い合わせの受信周期Tを区別することはない。そして、待機時間決定手段102は、クライアント端末に依らず、ステップS4実行時におけるTの値を用いて、待機時間を計算する。
以上のような動作により、各クライアント端末20a,20bが送信する問い合わせは、ほぼ同時刻にサーバ11に到達するように調整される。
第2の実施形態において、クライアント端末からの問い合わせに対してサーバ11が再生制御情報を含む問い合わせ応答を送信する場合の動作について説明する。前述の第1の実施形態において、図9では図示を省略しているが、ステップS25,S26の間でステップS3,S4と同様の処理が行われると説明した。同様に、図10では図示を省略しているが、ステップS33,S34の間でステップS3,S4と同様の処理が行われると説明した。第2の実施形態では、サーバ11は、ステップS25,S26の間でステップS3,S10,S4と同様の動作を行う。また、サーバ11は、ステップS33,S34の間でもステップS3,S10,S4と同様の動作を行う。その他の点に関しては、第1の実施形態と同様である。
第2の実施形態においても、第1の実施形態と同様の効果が得られる。さらに、第2の実施形態では、問い合わせ受信周期調整手段121が、問い合わせの受信周期Tを過去における通信遅延の最大値よりも大きな値に調整する。従って、通信遅延が増大した場合であっても、サーバ11は、各クライアント端末20a,20bからの問い合わせを、ほぼ共通の周期で、ほぼ同一時刻に受信することができる。その結果、通信遅延が増大した場合であっても、第1の実施形態と同様の効果を得ることができる。
また、上記の第2の実施形態では、da>Tであることを条件に、Tの値をdaよりも大きな値に更新する。この更新処理に加えて、問い合わせ受信周期調整手段121は、da>Tとは異なる他の条件が満たされた場合にTをより小さな値に更新してもよい。例えば、「ステップS3で更新された通信遅延daの値が所定の値以下である」という条件が満たされた場合には、問い合わせ受信周期調整手段121は、ステップS10でTの値を初期値に戻してもよい。この所定の値として、Tの初期値未満の値(例えば、0.8×T)を用いればよい。
第2の実施形態では、通信状態が悪くなり通信遅延daの値が大きくなると、Tの値も大きくなる。その結果、通信状態が悪くなった場合であっても、サーバ11は、各クライアント端末20a,20bからの問い合わせを、ほぼ共通の周期でほぼ同一時刻に受信することができる。ただし、Tの値が大きくなると、クライアント端末の使用者が再生に関する種々の操作を行った際、操作に応じたコンテンツ制御が行われるまでのレスポンス期間が長くなる。上記のように、ステップS3で更新された通信遅延daの値がTの初期値未満の値であるという条件が満たされた場合に、問い合わせ受信周期調整手段121がTの値を初期値に戻すことで、通信状態が良好な状態に回復したときに操作に対するレスポンス期間を短くすることができる。
なお、上記の各実施形態において、時刻同期手段108,206は、それぞれ原子時計による時刻情報を電波によって受信し、自装置の時計の時刻を、その時刻情報が示す時刻に同期させてもよい。
次に、本発明の最小構成について説明する。図15は、本発明のコンテンツ同期システムの最小構成を示すブロック図である。図16は、本発明のコンテンツ同期制御装置の最小構成を示すブロック図である。図17は、本発明のコンテンツ再生装置の最小構成を示すブロック図である。図16および図17において、図15に示す要素と同一の要素には、図15と同一の符号を付している。
本発明のコンテンツ同期システムは、コンテンツを再生する複数のコンテンツ再生装置90と、複数のコンテンツ再生装置90におけるコンテンツ制御を同期させるコンテンツ同期制御装置80とを備える。
コンテンツ同期制御装置80は、要求情報受信手段81と、問い合わせ受信手段82と、待機時間決定手段83と、開始時刻決定手段84と、問い合わせ応答送信手段85とを備える(図15および図16参照)。
要求情報受信手段81(例えば、制御要求受信手段105)は、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置90で同期して実行されることを要求する要求情報(例えば、再生制御要求)を各コンテンツ再生装置90から受信する。
問い合わせ受信手段82(例えば、問い合わせ受信手段101)は、各コンテンツ再生装置90から、そのコンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する。
待機時間決定手段83(例えば、待機時間決定手段102)は、問い合わせの受信周期の基準として定められる周期基準値(例えば、T)に基づいて、各コンテンツ再生装置90からの問い合わせの受信時刻が揃うように、問い合わせの送信元のコンテンツ再生装置が問い合わせに対するコンテンツ同期制御装置80からの応答である問い合わせ応答を受信してから次の問い合わせを送信するまでの待機時間を決定する。
開始時刻決定手段84(例えば、制御時刻決定手段106)は、問い合わせ受信手段82が問い合わせを受信したときに、要求情報受信手段81が要求情報を受信済みであり、その要求情報が示す再生制御コマンドに応じた各コンテンツ再生装置によるコンテンツ制御の開始時刻が未決定である場合に、当該開始時刻を決定する。
問い合わせ応答送信手段85(例えば問い合わせ応答送信手段103)は、問い合わせの送信元のコンテンツ再生装置に関して決定された待機時間を含む問い合わせ応答をそのコンテンツ再生装置に送信する。そして、問い合わせ応答送信手段85は、問い合わせ受信手段82が問い合わせを受信したときに、要求情報受信手段81が要求情報を受信済みであり、開始時刻が決定されている場合に、その要求情報が示す再生制御コマンドおよび開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信する。
また、コンテンツ再生装置90は、要求情報送信手段91と、問い合わせ送信手段92と、問い合わせ応答受信手段93と、問い合わせ送信制御手段94と、再生制御手段95とを備える。
要求情報送信手段91(例えば、制御要求送信手段204)は、コンテンツ同期制御装置80に要求情報を送信する。
問い合わせ送信手段92(例えば、問い合わせ送信手段201)は、コンテンツ同期制御装置80に問い合わせを送信する。
問い合わせ応答受信手段93は、問い合わせに応じて問い合わせ応答送信手段85が送信した問い合わせ応答を受信する。
問い合わせ送信制御手段94(例えば、問い合わせ制御手段203)は、問い合わせ応答が示す待機時間に応じたタイミングで問い合わせ送信手段92に次の問い合わせを送信させる。
再生制御手段95(例えば、再生制御手段207)は、問い合わせ応答が再生制御情報を含んでいる場合に、再生制御情報が示す開始時刻に、再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する。
以上のような構成により、HTTPのもとで、複数のコンテンツ再生装置でのコンテンツ制御を同期させるようにコンテンツ同期制御装置が各コンテンツ再生装置を制御することができる。
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)コンテンツを再生する複数のコンテンツ再生装置と、前記複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置とを備え、前記コンテンツ同期制御装置は、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信部と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信部と、問い合わせの受信周期の基準として定められる周期基準値に基づいて、各コンテンツ再生装置からの問い合わせの受信時刻が揃うように、問い合わせの送信元のコンテンツ再生装置が問い合わせに対する当該コンテンツ同期制御装置からの応答である問い合わせ応答を受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定部と、前記問い合わせ受信部が問い合わせを受信したときに、要求情報受信部が前記要求情報を受信済みであり、前記要求情報が示す再生制御コマンドに応じた各コンテンツ再生装置によるコンテンツ制御の開始時刻が未決定である場合に、当該開始時刻を決定する開始時刻決定部と、問い合わせの送信元のコンテンツ再生装置に関して決定された待機時間を含む問い合わせ応答を前記コンテンツ再生装置に送信する問い合わせ応答送信部とを備え、前記問い合わせ応答送信部は、前記問い合わせ受信部が問い合わせを受信したときに、要求情報受信部が前記要求情報を受信済みであり、前記開始時刻が決定されている場合に、前記要求情報が示す再生制御コマンドおよび前記開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信し、各コンテンツ再生装置は、前記コンテンツ同期制御装置に前記要求情報を送信する要求情報送信部と、前記コンテンツ同期制御装置に前記問い合わせを送信する問い合わせ送信部と、前記問い合わせに応じて前記問い合わせ応答送信部が送信した問い合わせ応答を受信する問い合わせ応答受信部と、前記問い合わせ応答が示す待機時間に応じたタイミングで問い合わせ送信部に次の問い合わせを送信させる問い合わせ送信制御部と、前記問い合わせ応答が再生制御情報を含んでいる場合に、当該再生制御情報が示す開始時刻に、当該再生制御情報が示す再生制御コマンドによるコンテンツ制御を開始する再生制御部とを備えることを特徴とするコンテンツ同期システム。
(付記2)コンテンツ同期制御装置は、問い合わせ受信部が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の通信遅延を計算する通信遅延計算部と、前記通信遅延が周期基準値よりも大きな値であることを条件に、周期基準値を前記通信遅延よりも大きな値に更新する周期基準値更新部とを備える付記1に記載のコンテンツ同期システム。
(付記3)周期基準値更新部は、通信遅延計算部によって計算された通信遅延が所定の値以下になったことを条件に、周期基準値を初期値に戻す付記2に記載のコンテンツ同期システム。
(付記4)各コンテンツ再生装置の問い合わせ送信部は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間の情報を問い合わせに含めて送信し、コンテンツ同期制御装置の通信遅延計算部は、問い合わせ応答の送信間隔から前記経過時間を減算することにより、問い合わせの送信元のコンテンツ再生装置に関する通信遅延を計算する付記2または付記3に記載のコンテンツ同期システム。
(付記5)待機時間決定部は、問い合わせ受信部が問い合わせを受信したときに、少なくとも、コンテンツ同期制御装置から各コンテンツ再生装置までの片道の通信時間の最大値分、現在時刻よりも後の時刻を開始時刻として決定する付記1から付記4のうちのいずれかに記載のコンテンツ同期システム。
(付記6)待機時間決定部は、予め定められた基準時点から周期基準値の整数倍の期間が経過した時刻にコンテンツ再生装置からの問い合わせを受信するように、待機時間を決定する付記1から付記5のうちのいずれかに記載のコンテンツ同期システム。
(付記7)コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を各コンテンツ再生装置から受信する要求情報受信部と、各コンテンツ再生装置から、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを受信する問い合わせ受信部と、問い合わせの受信周期の基準として定められる周期基準値に基づいて、各コンテンツ再生装置からの問い合わせの受信時刻が揃うように、問い合わせの送信元のコンテンツ再生装置が問い合わせに対する当該コンテンツ同期制御装置からの応答である問い合わせ応答を受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定部と、前記問い合わせ受信部が問い合わせを受信したときに、要求情報受信部が前記要求情報を受信済みであり、前記要求情報が示す再生制御コマンドに応じた各コンテンツ再生装置によるコンテンツ制御の開始時刻が未決定である場合に、当該開始時刻を決定する開始時刻決定部と、問い合わせの送信元のコンテンツ再生装置に関して決定された待機時間を含む問い合わせ応答を前記コンテンツ再生装置に送信する問い合わせ応答送信部とを備え、前記問い合わせ応答送信部は、前記問い合わせ受信部が問い合わせを受信したときに、要求情報受信部が前記要求情報を受信済みであり、前記開始時刻が決定されている場合に、前記要求情報が示す再生制御コマンドおよび前記開始時刻の情報を含む再生制御情報を含めた問い合わせ応答を送信することを特徴とするコンテンツ同期制御装置。
(付記8)問い合わせ受信部が問い合わせを受信したときに、当該問い合わせの送信元のコンテンツ再生装置と当該コンテンツ同期制御装置との間の通信遅延を計算する通信遅延計算部と、前記通信遅延が周期基準値よりも大きな値であることを条件に、周期基準値を前記通信遅延よりも大きな値に更新する周期基準値更新部とを備える付記7に記載のコンテンツ同期制御装置。
(付記9)コンテンツを再生するコンテンツ再生装置であって、コンテンツの再生制御に関するコマンドである再生制御コマンドが各コンテンツ再生装置で同期して実行されることを要求する要求情報を、複数のコンテンツ再生装置におけるコンテンツ制御を同期させるコンテンツ同期制御装置に送信する要求情報送信部と、当該コンテンツ再生装置に送信する再生制御コマンドの有無の問い合わせを前記コンテンツ同期制御装置に送信する問い合わせ送信部と、前記問い合わせに応じて前記コンテンツ同期制御装置が送信した問い合わせ応答であって、当該問い合わせ応答受信後の待機時間の情報を含む問い合わせ応答を受信する問い合わせ応答受信部と、前記待機時間に応じたタイミングで問い合わせ送信部に次の問い合わせを送信させる問い合わせ送信制御部と、前記問い合わせ応答が再生制御コマンドと、当該再生制御コマンドに応じたコンテンツ制御の開始時刻の情報とを含んでいる場合に、前記開始時刻に、再生制御コマンドによるコンテンツ制御を開始する再生制御部とを備えることを特徴とするコンテンツ再生装置。
(付記10)問い合わせ送信部は、問い合わせ応答の受信時から問い合わせの送信時までの経過時間の情報を問い合わせに含めてコンテンツ同期制御装置に送信する付記9に記載のコンテンツ再生装置。
この出願は、2011年9月26日に出願された日本特許出願2011−208492を基礎とする優先権を主張し、その開示の全てをここに取り込む。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、複数のコンテンツ再生装置でのコンテンツ制御を同期させる用途に好適に適用される。
10,11 サーバ(コンテンツ同期制御装置)
20,20a,20b クライアント端末(コンテンツ再生装置)
101 問い合わせ受信手段
102 待機時間決定手段
103 問い合わせ応答送信手段
104 通信遅延管理手段
105 制御要求受信手段
106 制御時刻決定手段
107 制御情報管理手段
108 時刻同期手段
109 データ記憶手段
110 データ送信手段
121 問い合わせ受信周期調整手段
201 問い合わせ送信手段
202 問い合わせ応答受信手段
203 問い合わせ制御手段
204 制御要求送信手段
205 再生手段
206 時刻同期手段
207 再生制御手段
208 データ受信手段
209 データ蓄積手段

Claims (18)

  1. コンテンツ同期制御装置であって、
    ンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、
    問い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と
    前記待機時間の情報を含む問い合わせ応答を前記コンテンツ再生装置に送信する問い合わせ応答送信手段とを備える、
    ンテンツ同期制御装置。
  2. 前記待機時間決定手段は、
    予め定められた基準時点から前記周期基準値の整数倍の間が経過した時刻にコンテンツ再生装置からの問い合わせを受信するように、前記待機時間を決定する
    請求項1に記載のコンテンツ同期制御装置
  3. 前記待機時間決定手段は、
    前記周期基準値をTと、nを整数とした場合に、T×nが最も現在時刻の値に近くなるnによって定まるT×(n+1)から、現在時刻の値及び前記問い合わせ受信手段が受信した問い合わせの送信元であるコンテンツ再生装置と前記コンテンツ同期制御装置との間の通信遅延に関する値を減算することにより、前記待機時間を決定する、
    請求項1又は2に記載のコンテンツ同期制御装置
  4. 前記問い合わせ受信手段が受信した問い合わせの送信元であるコンテンツ再生装置と前記コンテンツ同期制御装置との間の通信遅延に関する値に基づいて、複数のコンテンツ再生装置での前記コマンドに応じたコンテンツの再生状態の制御の開始時刻が揃うように、当該開始時刻を決定する開始時刻決定手段を備え、
    前記問い合わせ応答送信手段は、
    前記コマンド及び前記開始時刻の情報を含む問い合わせ応答を送信する、
    請求項1乃至3のいずれかに記載のコンテンツ同期制御装置
  5. 前記開始時刻決定手段は
    少なくとも、前記コンテンツ同期制御装置から前記複数のコンテンツ再生装置のそれぞれまでの片道の通信時間の最大値分、前記問い合わせ受信手段が問い合わせを受信した時刻より後の時刻を前記開始時刻として決定する
    請求項4に記載のコンテンツ同期制御装置
  6. 前記問い合わせ受信手段が受信した問い合わせの送信元であるコンテンツ再生装置と前記コンテンツ同期制御装置との間の通信遅延に関する値を計算する通信遅延管理手段と、
    前記通信遅延に関する値前記周期基準値よりも大きことを条件に、前記周期基準値を前記通信遅延に関する値り大値に更新する周期基準値更新手段とを備える
    請求項1乃至5のいずれかに記載のコンテンツ同期制御装置
  7. 前記問い合わせ受信手段は、問い合わせとともに当該問い合わせの送信元のコンテンツ再生装置が問い合わせ応答を受信してから当該問い合わせを送信するまでの時間を示す経過時間を受信し
    前記通信遅延管理手段は、
    問い合わせ応答の送信間隔から前記経過時間の値を減算することにより、前記通信遅延に関する値を計算する
    請求項6に記載のコンテンツ同期制御装置
  8. 前記周期基準値更新手段は、
    前記通信遅延に関する値が所定の値以下になったことを条件に、前記周期基準値を初期値に戻す
    請求項6又は7に記載のコンテンツ同期制御装置
  9. コンピュータが、
    ンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信し、
    い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、受信した問い合わせに対する前記コンピュータからの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定し、
    前記待機時間の情報を含む問い合わせ応答を、前記コンテンツ再生装置に送信する、
    ンテンツ同期制御方法。
  10. 前記コンピュータが、
    予め定められた基準時点から前記周期基準値の整数倍の間が経過した時刻にコンテンツ再生装置からの問い合わせを受信するように、前記待機時間を決定する
    請求項9に記載のコンテンツ同期制御方法
  11. 前記コンピュータが、
    前記周期基準値をTと、nを整数とした場合に、T×nが最も現在時刻の値に近くなるnによって定まるT×(n+1)から、現在時刻の値及び受信した問い合わせの送信元であるコンテンツ再生装置と前記コンピュータとの間の通信遅延に関する値を減算することにより、前記待機時間を決定する、
    請求項9又は10に記載のコンテンツ同期制御方法
  12. 前記コンピュータが、
    受信した問い合わせの送信元であるコンテンツ再生装置と前記コンピュータとの間の通信遅延に関する値に基づいて、複数のコンテンツ再生装置での前記コマンドに応じたコンテンツの再生状態の制御の開始時刻が揃うように、当該開始時刻を決定し、
    前記コマンドに関する情報及び前記開始時刻の情報を含む問い合わせ応答を送信する、
    請求項9乃至11に記載のコンテンツ同期制御方法
  13. 前記コンピュータが
    少なくとも、前記コンピュータから前記複数のコンテンツ再生装置のそれぞれまでの片道の通信時間の最大値分、問い合わせを受信した時刻より後の時刻を前記開始時刻として決定する
    請求項9乃至12のいずれかに記載のコンテンツ同期制御方法
  14. 前記コンピュータが、
    受信した問い合わせの送信元であるコンテンツ再生装置と前記コンピュータとの間の通信遅延に関する値を計算し、
    前記通信遅延に関する値前記周期基準値よりも大きことを条件に、前記周期基準値を前記通信遅延に関する値り大値に更新する
    請求項9乃至13のいずれかに記載のコンテンツ同期制御方法
  15. コンピュータに、
    ンテンツ再生装置から、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、
    問い合わせの受信周期の基準として定められる周期基準値に基づいて、複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンピュータからの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と
    前記待機時間の情報を含む問い合わせ応答を、前記コンテンツ再生装置に送信する問い合わせ応答送信手段と、を実現させるための、
    ンテンツ同期制御プログラム
  16. 前記コンピュータに、
    前記問い合わせ受信手段が受信した問い合わせの送信元であるコンテンツ再生装置と前記コンピュータとの間の通信遅延に関する値に基づいて、複数のコンテンツ再生装置での前記コマンドに応じたコンテンツの再生状態の制御の開始時刻が揃うように、当該開始時刻を決定する開始時刻決定手段、を実現させるプログラムであって、
    前記問い合わせ応答送信手段は、
    前記コマンドに関する情報及び前記開始時刻の情報を含む問い合わせ応答を送信する、
    請求項15に記載のコンテンツ同期制御プログラム。
  17. コンテンツ同期制御装置と、
    数のコンテンツ再生装置と
    備え、
    前記コンテンツ同期制御装置は
    前記複数のコンテンツ再生装置の少なくとも1つから、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信する問い合わせ受信手段と、
    問い合わせの受信周期の基準として定められる周期基準値に基づいて、前記複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、前記問い合わせ受信手段が受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定する待機時間決定手段と
    前記待機時間の情報を含む前記問い合わせ応答を前記コンテンツ再生装置に送信する問い合わせ応答送信手段と
    を備え、
    前記複数のコンテンツ再生装置の少なくとも1つは、
    前記待機時間の情報を含む前記問い合わせ応答を受信する問い合わせ応答受信手段と
    前記待機時間の情報に応じて、前記コンテンツ同期制御装置に前記問い合わせを送信する問い合わせ送信手段と、
    備える
    ンテンツ同期システム。
  18. ンテンツ同期制御装置が、
    複数のコンテンツ再生装置の少なくとも1つから、コンテンツの再生状態の制御に関するコマンドの有無の問い合わせを受信し、
    い合わせの受信周期の基準として定められる周期基準値に基づいて、前記複数のコンテンツ再生装置からの問い合わせの受信時刻が揃うように、受信した問い合わせに対する前記コンテンツ同期制御装置からの応答である問い合わせ応答を当該問い合わせの送信元のコンテンツ再生装置が受信してから次の問い合わせを送信するまでの待機時間を決定し
    前記待機時間の情報を含む前記問い合わせ応答を、前記コンテンツ再生装置に送信し、
    前記複数のコンテンツ再生装置の少なくとも1つが、
    前記待機時間の情報を含む前記問い合わせ応答を受信し、
    前記待機時間の情報に応じて、前記コンテンツ同期制御装置に前記問い合わせを送信する、
    ンテンツ同期方法。
JP2013535861A 2011-09-26 2012-09-12 コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置 Expired - Fee Related JP6156145B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011208492 2011-09-26
JP2011208492 2011-09-26
PCT/JP2012/005797 WO2013046571A1 (ja) 2011-09-26 2012-09-12 コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置

Publications (2)

Publication Number Publication Date
JPWO2013046571A1 JPWO2013046571A1 (ja) 2015-03-26
JP6156145B2 true JP6156145B2 (ja) 2017-07-05

Family

ID=47994660

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013535861A Expired - Fee Related JP6156145B2 (ja) 2011-09-26 2012-09-12 コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置

Country Status (3)

Country Link
US (1) US9118977B2 (ja)
JP (1) JP6156145B2 (ja)
WO (1) WO2013046571A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013046573A1 (ja) * 2011-09-26 2013-04-04 日本電気株式会社 コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置
US20150095985A1 (en) * 2013-09-27 2015-04-02 Alcatel-Lucent Usa Inc. Parental Control System For Controlling Access To Online Store Contents
EP2961126A1 (en) * 2014-06-26 2015-12-30 Thomson Licensing Method, server, and system for synchronizing a plurality of devices
JP2016192743A (ja) * 2015-03-31 2016-11-10 株式会社バンダイナムコライツマーケティング ストリーミング動画配信システム
US10778742B2 (en) * 2016-10-10 2020-09-15 Sony Corporation System and method for sharing multimedia content with synched playback controls
US11025982B2 (en) * 2019-03-29 2021-06-01 Twizted Design, Inc. System and method for synchronizing content and data for customized display
US11265301B1 (en) * 2019-12-09 2022-03-01 Amazon Technologies, Inc. Distribution of security keys
WO2021172578A1 (ja) 2020-02-27 2021-09-02 アトモフ株式会社 画像表示装置、システム及び方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4555072B2 (ja) * 2002-05-06 2010-09-29 シンクロネイション インコーポレイテッド ローカライズされたオーディオ・ネットワークおよび関連するディジタル・アクセサリ
JP2008071258A (ja) * 2006-09-15 2008-03-27 Matsushita Electric Ind Co Ltd 情報表示システムおよびそのプログラム
JP4935345B2 (ja) * 2006-12-25 2012-05-23 ソニー株式会社 コンテンツ再生システム、再生装置、再生制御方法及びプログラム
JP5151211B2 (ja) * 2007-03-30 2013-02-27 ソニー株式会社 多画面同期再生システム、表示制御端末、多画面同期再生方法、及びプログラム
WO2009047750A2 (en) 2007-10-12 2009-04-16 Rony Zarom System and method for synchronized video sharing
JP2010206349A (ja) * 2009-03-02 2010-09-16 Nec Corp 動画コンテンツの再生制御方法、動画コンテンツ再生システム、コンピュータ端末、サーバ、及びプログラム
JP4785088B2 (ja) 2009-07-06 2011-10-05 株式会社メガチップス 端末間における同期制御方法
JP5183591B2 (ja) 2009-07-30 2013-04-17 日本電信電話株式会社 同期再生方法、他再生端末選択領域映像再生方法、同期再生停止方法、同期再生システムおよびプログラム
US10712771B2 (en) * 2010-08-13 2020-07-14 Netflix, Inc. System and method for synchronized playback of streaming digital content

Also Published As

Publication number Publication date
US20140237523A1 (en) 2014-08-21
US9118977B2 (en) 2015-08-25
WO2013046571A1 (ja) 2013-04-04
JPWO2013046571A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
JP6156145B2 (ja) コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置
JP6410286B2 (ja) コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置
EP3304851B1 (en) Audio data buffering
US9787523B2 (en) Managing data in a data queue including synchronization of media on multiple devices
CN102170584B (zh) 同步hs终端设备之间媒体播放的方法、装置和系统
US9832507B2 (en) System and method for synchronizing media output devices connected on a network
US9843825B1 (en) Distributed and synchronized media switching
KR20140066641A (ko) 서버, 멀티미디어 기기 및 그들의 제어방법
WO2016127687A1 (zh) 一种同步媒体文件播放进度的方法、装置及系统
CN104464767A (zh) 同步多个播放装置的音频播放的方法及音频播放系统
CN102137130A (zh) 基于http的同步方法和装置
EP4191585A1 (en) Systems and methods for generating a cleaned version of ambient sound
JP2005244605A (ja) ストリーミングコンテンツ配信制御システム、プログラム及び該プログラムを格納した記録媒体
JP6116240B2 (ja) 送信装置、送信方法、及びプログラム
JP5394307B2 (ja) 同期再生システム、同期再生方法及び同期再生プログラム
JP5183591B2 (ja) 同期再生方法、他再生端末選択領域映像再生方法、同期再生停止方法、同期再生システムおよびプログラム
WO2013046572A1 (ja) コンテンツ同期システム、コンテンツ同期制御装置およびコンテンツ再生装置
JP2019075604A (ja) 情報処理装置、動画配信方法、及び動画配信プログラム
KR20190073058A (ko) Mmt 프로토콜 기반의 다채널 환경에서 콘텐츠 동기화 방법 및 장치
JP7014956B2 (ja) 情報処理システム、情報処理方法、及びプログラム
JP2005323268A (ja) コンテンツ再生方法、コンテンツ再生装置、コンテンツ再生プログラム、および記録媒体
JP2002354029A (ja) データ送受信システム、データ送信方法、データ再生方法、データ送信プログラムおよびデータ再生プログラム
JP2019211638A (ja) 処理装置、出力装置、同期制御システム、及びこれらの制御方法、並びにプログラム
JP2019075606A (ja) 情報処理端末、動画再生同期方法、及び動画再生同期プログラム
JP2013197716A (ja) 送信制御装置、フィードバック情報送信装置、協調送信システム、送信制御方法、フィードバック情報送信方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150805

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170522

R150 Certificate of patent or registration of utility model

Ref document number: 6156145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees