JP2008147973A - Content reproduction system - Google Patents
Content reproduction system Download PDFInfo
- Publication number
- JP2008147973A JP2008147973A JP2006332542A JP2006332542A JP2008147973A JP 2008147973 A JP2008147973 A JP 2008147973A JP 2006332542 A JP2006332542 A JP 2006332542A JP 2006332542 A JP2006332542 A JP 2006332542A JP 2008147973 A JP2008147973 A JP 2008147973A
- Authority
- JP
- Japan
- Prior art keywords
- time
- content
- reproduction
- synchronization information
- playback
- 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.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
本発明は、サーバからクライアントにコンテンツを配信するコンテンツ再生システムであり、クライアントにおけるコンテンツ再生時刻を調整するコンテンツ再生システムに関する。 The present invention relates to a content reproduction system that distributes content from a server to a client, and relates to a content reproduction system that adjusts the content reproduction time in the client.
近年、インターネットの発展により、サーバからクライアントへのコンテンツ(音楽又は映像データ)の配信が、ダウンロード形式ではなく、リアルタイム性の高いストリーミング形式で行われるようになっている。音切れ等の再生コンテンツの枯渇の問題を解消するために、クライアントはバッファにコンテンツを蓄積しながら再生する。その結果、正確にはリアルタイムではなく、サーバの運営者が想定しているクライアントにおけるコンテンツの再生時刻と、実際のクライアントにおけるコンテンツの再生時刻との間に少なくとも数秒程度のずれが生じる。また、クラアイント同士の間でも、各クライアントのネットワーク状況等に応じて、再生時刻に多少のずれが生じる。この問題は、コンテンツとしてTV放送やラジオ放送等のように特にリアルタイム性を必要とするサービスをクライアントに提供する上で顕著な問題になる。 In recent years, with the development of the Internet, distribution of content (music or video data) from a server to a client has been performed in a streaming format with high real-time characteristics, not a download format. In order to solve the problem of exhaustion of reproduced content such as sound interruption, the client reproduces while accumulating the content in the buffer. As a result, there is a difference of at least about several seconds between the playback time of the content on the client assumed by the server operator and the playback time of the content on the actual client, not precisely in real time. In addition, even between clients, there is a slight difference in playback time depending on the network status of each client. This problem becomes a significant problem in providing a client with a service that requires real-time characteristics such as TV broadcasting and radio broadcasting.
また、RTP(Realtime
Transport Protcol)では、コンテンツのヘッダの中に、そのコンテンツの再生時刻を記述して配信を行うことが提案されている。しかし、この方法で再生時間を指定した場合、パケット到着時には、すでに、指定時刻を過ぎている場合がたぶんにあり、実用的ではない。
RTP (Realtime
Transport Protocol (Protocol) proposes to distribute the content by describing the playback time of the content in the header of the content. However, when the playback time is designated by this method, the designated time is probably already passed when the packet arrives, which is not practical.
また、SMIL (Synchronized
Multimedia Integration Language)では、再生開始からのタイミングを同期させることはできるが、あくまで相対的なタイミングであり、実際の時刻との絶対的な同期ではない。また、タイミングがずれた場合の対処方法については記述されていない。
SMIL (Synchronized
Multimedia Integration Language) can synchronize the timing from the start of playback, but it is a relative timing, not an absolute synchronization with the actual time. Also, there is no description about how to deal with the timing deviation.
本発明の目的は、より確実にクライアントが指定時刻にコンテンツを再生できるコンテンツ再生システムを提供することである。 An object of the present invention is to provide a content reproduction system in which a client can reproduce content at a specified time more reliably.
本発明の好ましい実施形態によるコンテンツ再生システムは、サーバと、該サーバに接続可能なクライアントとを備える。該サーバは、複数のコンテンツを蓄積する蓄積手段と、該コンテンツを該クライアントにパケット単位で送信するコンテンツ送信手段と、再生時刻を調整すべきパケットのシーケンス番号と、該シーケンス番号で特定されるパケットの指定時刻とを含む同期情報を送信する同期情報送信手段とを有する。該クライアントは、該コンテンツ及び該同期情報を受信する受信手段と、該コンテンツを再生する再生手段と、該シーケンス番号で特定されるパケットの再生開始予定時刻を算出する手段と、該再生開始予定時刻と該指定時刻とを比較する比較手段と、該比較手段の比較結果に応じて、該再生開始予定時刻が該指定時刻よりも早い場合、該シーケンス番号で特定されるパケットの再生開始時刻を該指定時刻まで遅らせ、該再生開始予定時刻が該指定時刻よりも遅い場合、該シーケンス番号で特定されるパケットの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する。 A content reproduction system according to a preferred embodiment of the present invention includes a server and a client connectable to the server. The server includes storage means for storing a plurality of contents, content transmission means for transmitting the contents to the client in units of packets, a sequence number of a packet whose reproduction time is to be adjusted, and a packet specified by the sequence number Synchronization information transmitting means for transmitting synchronization information including the designated time. The client includes a receiving unit that receives the content and the synchronization information, a reproducing unit that reproduces the content, a unit that calculates a scheduled reproduction start time of a packet specified by the sequence number, and the scheduled reproduction start time. And a comparison means for comparing the designated time with the designated time, and if the scheduled reproduction start time is earlier than the designated time according to the comparison result of the comparison means, the reproduction start time of the packet specified by the sequence number is A time adjustment unit for delaying the reproduction start time of the packet specified by the sequence number to the designated time when the scheduled reproduction start time is later than the designated time.
サーバは、シーケンス番号と指定時刻とを含む同期情報をクライアントに送信する。クライアントは、同期情報を受信すると、シーケンス番号で特定されるパケットの再生開始予定時刻を現在再生中のパケットや各パケットのサイズを参照することで算出する。クライアントは、再生開始予定時刻と指定時刻とを比較し、これらが一致しない場合、シーケンス番号で特定されるパケットの再生開始時刻を指定時刻に同期させる。従って、同期情報をシーケンス番号で特定されるパケットよりも前にクライアントに送信することにより、クライアントはシーケンス番号で特定されるパケットの再生開始時刻をサーバの運営者が意図する時刻に合わせることができる。さらに、パケットのシーケンス番号で再生時刻を合わせるデータ位置を特定しているので、コンテンツ単位ではなく、パケット単位(すなわち、コンテンツの途中からでも)で再生時刻の同期をとることができる。 The server transmits synchronization information including the sequence number and the specified time to the client. When the client receives the synchronization information, the client calculates the scheduled reproduction start time of the packet specified by the sequence number by referring to the currently reproduced packet and the size of each packet. The client compares the scheduled reproduction start time with the designated time, and if they do not match, synchronizes the reproduction start time of the packet specified by the sequence number with the designated time. Therefore, by transmitting the synchronization information to the client before the packet specified by the sequence number, the client can adjust the reproduction start time of the packet specified by the sequence number to the time intended by the server operator. . Furthermore, since the data position to match the reproduction time is specified by the packet sequence number, the reproduction time can be synchronized not in the content unit but in the packet unit (that is, even from the middle of the content).
本発明の別の好ましい実施形態によるコンテンツ再生システムは、サーバと、該サーバに接続可能なクライアントとを備える。該サーバは、複数のコンテンツを蓄積する蓄積手段と、各々がヘッダ情報を含むコンテンツを該クライアントに送信するコンテンツ送信手段と、再生時刻を調整すべきコンテンツの指定時刻を含む同期情報を、再生時刻を調整すべきコンテンツの1つ前に送信されるコンテンツのヘッダ情報に含めて送信する同期情報送信手段とを有する。該クライアントは、該コンテンツ及び該同期情報を受信する受信手段と、該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始予定時刻を算出する手段と、該再生開始予定時刻と該指定時刻とを比較する比較手段と、該比較手段の比較結果に応じて、該再生開始予定時刻が該指定時刻よりも早い場合、該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始時刻を該指定時刻まで遅らせ、該再生開始予定時刻が該指定時刻よりも遅い場合、該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する。 A content reproduction system according to another preferred embodiment of the present invention includes a server and a client connectable to the server. The server includes a storage unit that stores a plurality of contents, a content transmission unit that transmits content including header information to the client, and synchronization information including a designated time of the content whose playback time is to be adjusted. Information is included in the header information of the content transmitted immediately before the content to be adjusted. The client includes receiving means for receiving the content and the synchronization information, means for calculating a reproduction start scheduled time of the content next to the content in which the synchronization information is included in the header information, the reproduction start scheduled time, Comparing means for comparing with the designated time, and when the scheduled reproduction start time is earlier than the designated time according to the comparison result of the comparing means, the synchronization information is next to the content included in the header information. When the reproduction start time of the content is delayed until the designated time and the scheduled reproduction start time is later than the designated time, the reproduction start time of the content next to the content in which the synchronization information is included in the header information is set to the designated time. Time adjustment means for accelerating the time.
サーバは、指定時刻を含む同期情報を、再生時刻を調整すべきコンテンツの1つ前のコンテンツのヘッダ情報に含めて送信する。クライアントは、同期情報を受信すると、同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツ(同期対象コンテンツという)の再生開始予定時刻を、同期情報がヘッダ情報に含まれているコンテンツの再生開始時刻と当該コンテンツの長さとに基づいて、算出する。クライアントは、再生開始予定時刻と指定時刻とを比較し、これらが一致しない場合、同期対象コンテンツの再生開始時刻を指定時刻に同期させる。従って、同期情報を同期対象コンテンツの1つ前のコンテンツのヘッダ情報に含めて送信することにより、RTPのように指定時刻より遅れて同期情報が届くことがなく、確実にクライアントは同期対象コンテンツの再生開始時刻をサーバの運営者が意図する時刻に合わせることができる。また、同期対象コンテンツを同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツとしたことにより、同期情報内で同期対象コンテンツを特定する情報を含める必要がない。 The server transmits the synchronization information including the designated time in the header information of the content immediately before the content whose playback time is to be adjusted. When the client receives the synchronization information, the client reproduces the scheduled playback start time of the content next to the content whose synchronization information is included in the header information (referred to as synchronization target content), and plays the content whose synchronization information is included in the header information. Calculation is performed based on the start time and the length of the content. The client compares the scheduled playback start time with the specified time, and if they do not match, synchronizes the playback start time of the synchronization target content with the specified time. Therefore, by sending the synchronization information included in the header information of the content immediately before the synchronization target content, the synchronization information does not arrive later than the specified time as in RTP, so that the client can be sure of the synchronization target content. The reproduction start time can be set to the time intended by the server operator. In addition, since the synchronization target content is the content next to the content whose synchronization information is included in the header information, it is not necessary to include information for specifying the synchronization target content in the synchronization information.
本発明の別の好ましい実施形態によるコンテンツ再生システムは、サーバと、該サーバに接続可能なクライアントとを備える。該サーバは、複数のコンテンツ及び時刻調整コンテンツを蓄積する蓄積手段と、該コンテンツ、及び、再生時刻を調整すべきコンテンツの1つ前に送信され、ビットレート及びサンプリング周波数の組合せが他のコンテンツとは重複しない該時刻調整コンテンツを該クライアントに送信するコンテンツ送信手段と、該時刻調整コンテンツのビットレート及びサンプリング周波数と、時刻補正精度とを含む同期情報を送信する同期情報送信手段とを有する。該クライアントは、該コンテンツ、該時刻調整コンテンツ及び該同期情報を受信する受信手段と、該時刻調整コンテンツの再生終了予定時刻を算出する手段と、該時刻調整コンテンツの再生終了予定時刻と、該時刻補正精度とに基づいて、指定時刻を算出する手段と、該再生終了予定時刻と該指定時刻とを比較する比較手段と、該比較手段の比較結果に応じて、該再生終了予定時刻が該指定時刻よりも早い場合、該時刻調整コンテンツの次のコンテンツの再生開始時刻を該指定時刻まで遅らせ、該再生終了予定時刻が該指定時刻よりも遅い場合、該時刻調整コンテンツの次のコンテンツの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する。 A content reproduction system according to another preferred embodiment of the present invention includes a server and a client connectable to the server. The server stores a plurality of contents and time-adjusted contents, and the content and the content to be reproduced are transmitted immediately before the contents to be adjusted. The combination of the bit rate and the sampling frequency is different from that of other contents. Includes content transmission means for transmitting the time adjustment content that does not overlap to the client, and synchronization information transmission means for transmitting synchronization information including the bit rate and sampling frequency of the time adjustment content and time correction accuracy. The client includes a receiving unit that receives the content, the time adjustment content, and the synchronization information, a unit that calculates a scheduled reproduction end time of the time adjustment content, a scheduled reproduction end time of the time adjustment content, and the time Based on the correction accuracy, a means for calculating the designated time, a comparing means for comparing the reproduction end scheduled time with the designated time, and the reproduction end scheduled time according to the comparison result of the comparison means If it is earlier than the time, the playback start time of the next content after the time adjustment content is delayed to the specified time, and if the scheduled playback end time is later than the specified time, the playback start of the next content after the time adjustment content is started. Time adjustment means for advancing the time to the designated time.
サーバは、時刻調整コンテンツと、時刻調整コンテンツのビットレート、サンプリング周波数及び時刻補正精度を含む同期情報をクライアントに送信する。クライアントは、これらを受信すると、時刻調整コンテンツの再生終了予定時刻を、時刻調整コンテンツの再生開始時刻と時刻調整コンテンツの長さとに基づいて、算出する。クライアントは、時刻調整コンテンツの再生終了予定時刻と、時刻補正精度とに基づいて、指定時刻を算出する。クライアントは、時刻調整コンテンツの再生終了予定時刻と指定時刻とを比較し、これらが一致しない場合、時刻調整コンテンツの次のコンテンツ(同期対象コンテンツという)の再生開始時刻を指定時刻に同期させる。従って、クライアントは同期対象コンテンツの再生開始時刻をサーバの運営者が意図する時刻に合わせることができる。指定時刻を時刻調整コンテンツの再生終了時刻に基づいてその都度算出するので、同期情報を1回だけクライアントに送信すれば、クライアントは時刻調整コンテンツを受信する毎に同期対象コンテンツの再生開始時刻を調整できる。従って、サーバからクライアントにヘッダ情報を1回しか送れないマルチキャスト方式において再生時刻の同期をとることができる。 The server transmits time adjustment content and synchronization information including the bit rate, sampling frequency, and time correction accuracy of the time adjustment content to the client. Upon receipt of these, the client calculates the scheduled playback end time of the time adjustment content based on the playback start time of the time adjustment content and the length of the time adjustment content. The client calculates the designated time based on the scheduled reproduction end time of the time adjustment content and the time correction accuracy. The client compares the scheduled playback end time of the time adjustment content with the specified time, and if they do not match, the client synchronizes the playback start time of the content next to the time adjustment content (referred to as synchronization target content) to the specified time. Therefore, the client can adjust the reproduction start time of the synchronization target content to the time intended by the server operator. Since the specified time is calculated each time based on the playback end time of the time adjustment content, if the synchronization information is transmitted to the client only once, the client adjusts the playback start time of the synchronization target content every time the time adjustment content is received. it can. Therefore, the reproduction time can be synchronized in a multicast method in which header information can be sent only once from the server to the client.
本発明によると、より確実に、クライアントが再生時刻の同期をとることができる。 According to the present invention, the client can synchronize the playback time more reliably.
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図1は、本発明の好ましい実施形態によるコンテンツ再生システム1の構成を示すブロック図である。コンテンツ再生システム1は、サーバSV、及び、一または複数のクライアントCL(本例では、3つのクライアントCL1〜CL3)を備える。サーバSV、及び、クライアントCLは例えばインターネット50等のネットワークを介して接続されている。クライアントCLはサーバSVにコンテンツを要求する。サーバSVは、クライアントCLからの要求に応じて、時刻と当該時刻に再生すべきコンテンツとを関連づけた番組表などのコンテンツリストに基づいて、コンテンツをクライアントCLに送信する。クライアントCLは、サーバSVからコンテンツを受信して再生する。
Hereinafter, preferred embodiments of the present invention will be specifically described with reference to the drawings. However, the present invention is not limited to these embodiments. FIG. 1 is a block diagram showing a configuration of a
図2はサーバSVの構成を示す概略ブロック図である。サーバSVは、HDD(ハードディスクドライブ)等の蓄積手段21、CPU処理部等の制御手段22、及び通信部23を備える。HDD21は、複数のコンテンツや時刻調整コンテンツ(後述)を蓄積する。コンテンツとは、曲(音楽)、映像及び/又は静止画等のデータの総称であるが、本例では曲データの場合を例に説明する。
FIG. 2 is a schematic block diagram showing the configuration of the server SV. The server SV includes a
CPU処理部22は、サーバSV全体の動作を制御するものであり、データベース管理部24、ネットワークプロトコル処理部25およびシステム動作部26を有する。データベース管理部24は、HDD21を管理する。具体的には、データベース管理部24は、図3に示すサーバSVの運営者によって生成されたコンテンツリスト(番組表)に基づいて、HDD21内のコンテンツを選択する。ネットワークプロトコル処理部25は、入出力されるデータに対してプロトコル処理を実行する。システム動作部26は、HDD21に蓄積されたサーバプログラムを読み出し、後述するサーバSVの各種処理を実行する。例えば、システム動作部26は、後述する各同期情報を生成して、クライアントCLに送信する。通信部23は、サーバSVとインターネットとの間で信号を送受信する。
The CPU processing unit 22 controls the operation of the entire server SV, and includes a database management unit 24, a network protocol processing unit 25, and a system operation unit 26. The database management unit 24 manages the
図4はクライアントCLの構成を示す概略ブロック図である。クライアントCLは、マイコン処理部31等の制御手段と、バッファ32と、ROM及びRAM等のメモリ33と、圧縮デジタルコンテンツをデコードして非圧縮デジタルコンテンツを生成する音声処理部34と、デジタルコンテンツをアナログコンテンツに変換するD/A変換器(DAC)35と、通信部36と、ユーザ操作を受け付ける入力装置37と、コンテンツ情報等を表示するLCDなどの表示装置38とを備える。
FIG. 4 is a schematic block diagram showing the configuration of the client CL. The client CL includes control means such as a
マイコン処理部31は、クライアントCL全体の動作を制御するものであり、ネットワークプロトコル処理部39およびシステム動作部30を有する。ネットワークプロトコル処理部39は、入出力されるデータに対してプロトコル処理を実行する。システム動作部30は、例えばメモリ33に格納されたクライアントプログラムに基づいて、後述するクライアントの各種処理を実行する。例えば、システム動作部30は、サーバから同期情報を受信して、同期情報に基づいて後述の再生時刻の同期処理を実行する。また、システム動作部30は、NTPサーバにアクセスすることにより、図示しない内部システム時計を正確な時刻に調整する。通信部36は、クライアントCLとインターネット50との間で信号を送受信する。
The
以上の構成を有するコンテンツ再生システムの動作を説明する。
[実施例1]
本例では、サーバSVからクライアントCLへ送信されるコンテンツは、パケット単位で送信され、各データパケットの先頭にはそのパケットの詳細を示すヘッダ情報(以下、ヘッダという)が設けられている。図5は、ヘッダのデータ構造を示す図である。ヘッダは、シーケンス番号(Sequence number)と、パケットID(Packet
ID)と、UDP Sequence/TCP
flagsと、パケットの長さ(すなわち、再生時間)(Packet
length)とを含む。シーケンス番号は、パケット毎に順番に付与される通し番号である。
The operation of the content reproduction system having the above configuration will be described.
[Example 1]
In this example, the content transmitted from the server SV to the client CL is transmitted in packet units, and header information (hereinafter referred to as a header) indicating the details of the packet is provided at the head of each data packet. FIG. 5 shows the data structure of the header. The header includes a sequence number (Sequence number) and a packet ID (Packet
ID) and UDP Sequence / TCP
flags and packet length (ie, playback time) (Packet
length). The sequence number is a serial number assigned in order for each packet.
サーバSVは、コンテンツのストリームとは別に、同期情報を含むパケットをクライアントCLに対して送信する。同期情報は、同期対象コンテンツよりも十分前に(少なくとも同期情報を解析する時間が取れる程度)送信される。同期情報は、同期情報内で指定されるシーケンス番号のパケットを再生開始する時刻を調整するための情報であり、つまり、クライアントCLの再生時刻の同期をとるための情報である。同期情報を受信したクラアイントCLは、指定されたシーケンス番号のパケットを指定時刻に再生することで、コンテンツ全体の再生時刻の同期をとる。同期情報は全てのパケットについて送信されるのではなく、適当な間隔を空けて一部のパケットについて送信されれば十分である。 The server SV transmits a packet including synchronization information to the client CL separately from the content stream. The synchronization information is transmitted sufficiently before the content to be synchronized (at least enough time to analyze the synchronization information). The synchronization information is information for adjusting the time to start reproducing the packet having the sequence number specified in the synchronization information, that is, information for synchronizing the reproduction time of the client CL. The client CL that has received the synchronization information synchronizes the reproduction time of the entire content by reproducing the packet of the designated sequence number at the designated time. It is sufficient that the synchronization information is not transmitted for all packets, but is transmitted for some packets with an appropriate interval.
図6は、同期情報を示す図である。同期情報は、有効期限と、チャンネル情報と、指定時刻と、シーケンス番号と、最大補正時間と、最大補正時間を超える際の処理とを含む。有効期限は、当該同期情報を使ってクライアントCLが指定されたパケットの再生時刻を合わせる処理の有効期限(時刻)であり、例えば、有効期限よりも遅れて同期情報を受信した場合には、当該同期情報を無視して、同期処理を実行しない。チャンネル情報は、サーバSVからクラアイントCLに送信されるコンテンツが複数のチャンネルを含む場合に、どのチャンネルに対する同期情報であるかを示すものである。指定時刻は、シーケンス番号で特定されるパケットの再生開始時刻をサーバ側から指定するものである。シーケンス番号は、再生時刻を調整するパケットを特定する情報であり、図5に示すヘッダ内のシーケンス番号に対応している。 FIG. 6 is a diagram showing the synchronization information. The synchronization information includes an expiration date, channel information, a specified time, a sequence number, a maximum correction time, and processing when the maximum correction time is exceeded. The expiry date is the expiry date (time) of processing for matching the playback time of the packet designated by the client CL using the synchronization information. For example, when the synchronization information is received later than the expiry date, Ignore the synchronization information and do not execute the synchronization process. The channel information indicates which channel is the synchronization information when the content transmitted from the server SV to the client CL includes a plurality of channels. The designated time designates the reproduction start time of the packet specified by the sequence number from the server side. The sequence number is information for specifying a packet for adjusting the reproduction time, and corresponds to the sequence number in the header shown in FIG.
最大補正時間は、シーケンス番号で特定されるパケットの再生開始予定時刻と、同期情報内の指定時刻との差の最大値である。最大補正時間を超える際の処理は、当該パケットの再生開始予定時刻と、同期情報内の指定時刻との差が最大補正時間を越える場合の処理を示し、本例では、バッファ32に蓄積されたコンテンツのパケットを一旦全てクリアし、サーバSVからコンテンツを取得し直す等である。当該パケットの再生開始予定時刻と指定時刻との差が大きすぎる場合、バッファ32への蓄積を一度リセットし、その時刻からのコンテンツを新たに取得し直した方が、再生時刻の同期がとり易いからである。 The maximum correction time is the maximum value of the difference between the scheduled reproduction start time of the packet specified by the sequence number and the specified time in the synchronization information. The process when the maximum correction time is exceeded indicates the process when the difference between the scheduled reproduction start time of the packet and the designated time in the synchronization information exceeds the maximum correction time. In this example, the process is stored in the buffer 32. For example, all the content packets are once cleared and the content is acquired again from the server SV. If the difference between the scheduled playback start time of the packet and the specified time is too large, it is easier to synchronize the playback time if the accumulation in the buffer 32 is reset once and content is newly acquired from that time. Because.
図7は、クラアイントCLの再生開始時刻の同期処理を示すフローチャートである。CPU処理部22は、同期情報パケットの受信を待機しており(S11)、同期情報パケットを受信した場合(S11:YES)、同期情報は有効か否かを判断する(S12)。すなわち、現在時刻が同期情報に含まれる有効期限の時刻を過ぎていないかを判断する。有効でなければ(S12:NO)、処理を終了する。有効であれば(S12:YES)、CPU処理部22は、NTPサーバにアクセスすることにより、クライアントCLのシステム時刻を補正する(S13)。 FIG. 7 is a flowchart showing a synchronization process of the reproduction start time of the client CL. The CPU processing unit 22 waits for reception of the synchronization information packet (S11), and when receiving the synchronization information packet (S11: YES), the CPU processing unit 22 determines whether or not the synchronization information is valid (S12). That is, it is determined whether the current time has passed the expiration date included in the synchronization information. If not valid (S12: NO), the process is terminated. If valid (S12: YES), the CPU processing unit 22 corrects the system time of the client CL by accessing the NTP server (S13).
続いて、CPU処理部22は、現在再生中のパケットのシーケンス番号を確認する(S14)。現在再生中のシーケンス番号とは、バッファ32に蓄積されたパケットのうちバッファ32から取り出され、音声処理部34及びDAC35で処理されているパケットのシーケンス番号である。
Subsequently, the CPU processing unit 22 confirms the sequence number of the packet currently being reproduced (S14). The sequence number currently being reproduced is the sequence number of a packet that is taken out of the buffer 32 and processed by the audio processing unit 34 and the
次に、CPU処理部22は、同期情報に含まれているシーケンス番号で特定されるパケットの再生開始予定時刻を算出する(S15)。詳細には、例えば、1つのパケットのサイズが全て同一(例えば、4バイト)である場合、CPU処理部22は、現在再生中のパケットから同期情報に含まれているシーケンス番号で特定されるパケットまでの間に存在するパケット数をカウントする。現在再生中のシーケンス番号が10で同期情報内のシーケンス番号が20であれば、20−10で10となる。そして、パケット数に1パケットの再生時間(例えば、4バイトの場合、0.3秒)を乗算する。最後に、算出した時間を現在時刻に加算することにより、同期情報に含まれているシーケンス番号の再生開始予定時刻が算出される。また、パケット毎に長さが異なる場合、図5に示すヘッダに含まれるパケットの長さに基づいて、再生開始予定時刻が算出される。 Next, the CPU processing unit 22 calculates the scheduled reproduction start time of the packet specified by the sequence number included in the synchronization information (S15). Specifically, for example, when all the sizes of one packet are the same (for example, 4 bytes), the CPU processing unit 22 determines the packet specified by the sequence number included in the synchronization information from the packet currently being reproduced. Count the number of packets that exist until. If the sequence number currently being reproduced is 10 and the sequence number in the synchronization information is 20, it will be 10 at 20-10. Then, the number of packets is multiplied by the reproduction time of one packet (for example, 0.3 seconds for 4 bytes). Finally, by adding the calculated time to the current time, the scheduled reproduction start time of the sequence number included in the synchronization information is calculated. In addition, when the length is different for each packet, the scheduled reproduction start time is calculated based on the length of the packet included in the header shown in FIG.
次に、CPU処理部22は、同期情報内の指定時刻を抽出する(S16)。そして、CPU処理部22は、再生開始予定時刻と指定時刻とを比較する(S17、S18、S20、S22)。 Next, the CPU processing unit 22 extracts a designated time in the synchronization information (S16). Then, the CPU processing unit 22 compares the scheduled reproduction start time with the designated time (S17, S18, S20, S22).
まず、再生開始予定時刻と指定時刻との差が、同期情報に含まれている最大補正時間を超える場合(S18:YES)、CPU処理部22は、バッファ32に蓄積されているパケットの全てを消去して、サーバSVから現在配信されている曲のパケットを取得し直す。先述の通り、再生開始予定時刻と指定時刻との際があまり大きすぎる場合には、再生時刻の同期を取るために、指定されたシーケンス番号のパケットの再生時刻をかなりの時間早める又は遅らせる必要あり、ユーザに不快感を与える可能性があるからである。 First, when the difference between the scheduled reproduction start time and the specified time exceeds the maximum correction time included in the synchronization information (S18: YES), the CPU processing unit 22 deletes all the packets stored in the buffer 32. Erase and re-acquire the packet of the song currently distributed from the server SV. As described above, if the scheduled playback start time and the specified time are too large, it is necessary to advance or delay the playback time of the packet with the specified sequence number by a considerable time in order to synchronize the playback time. This is because the user may feel uncomfortable.
以下、再生開始予定時刻と指定時刻との差が、同期情報に含まれている最大補正時間を超えない場合を説明する。 Hereinafter, a case will be described in which the difference between the scheduled reproduction start time and the specified time does not exceed the maximum correction time included in the synchronization information.
再生開始予定時刻が指定時刻よりも早い場合(S20:YES)、このまま再生を継続すると指定時刻よりも早くシーケンス番号のパケットが再生されてしまう。そのため、CPU処理部22は、同期情報内のシーケンス番号のパケットの再生を、指定時刻まで待って再生を開始する(再生時刻を指定時刻まで遅らせる)(S21)。例えば、再生開始予定時刻が18時59分55秒であり、指定時刻が19時00分00秒であれば、18時59分55秒から19時00分00秒までの間は何も再生しないか、あるいは、前のパケットを5秒間繰り返して再生する。そして、19時00分00秒になっときに、CPU処理部22は同期情報に含まれているシーケンス番号で特定されるパケットの再生を開始する。その結果、コンテンツの再生時刻が5秒間早い場合に、再生時刻5秒遅らせて、シーケンス番号で特定されるパケットを再生することで、コンテンツ全体の再生時刻の同期をとることができる。 When the scheduled reproduction start time is earlier than the designated time (S20: YES), if the reproduction is continued as it is, the packet with the sequence number is reproduced earlier than the designated time. Therefore, the CPU processing unit 22 waits for the reproduction of the packet having the sequence number in the synchronization information until the designated time and starts the reproduction (the reproduction time is delayed until the designated time) (S21). For example, if the reproduction start scheduled time is 18:59:55 and the specified time is 19:00:00, nothing is reproduced between 18:59:55 and 19:00:00. Alternatively, the previous packet is played back repeatedly for 5 seconds. Then, at 19:00:00, the CPU processing unit 22 starts reproducing the packet specified by the sequence number included in the synchronization information. As a result, when the reproduction time of the content is earlier by 5 seconds, the reproduction time of the entire content can be synchronized by delaying the reproduction time by 5 seconds and reproducing the packet specified by the sequence number.
一方、再生開始予定時刻が指定時刻よりも遅い場合(S22:YES)、このまま再生を継続すると指定時刻よりも遅れてシーケンス番号のパケットが再生されてしまう。そのため、CPU処理部22は、前のシーケンス番号のパケットを再生しないことにより、同期情報内のシーケンス番号のパケットを指定時刻に再生開始できるようにする(再生開始時刻を指定時刻まで早める)(S23)。例えば、再生開始予定時刻が19時00分05秒であり、指定時刻が19時00分00秒であれば、本来19時00分00秒から19時00分05秒までに再生する予定であったパケットをバッファ32からクリアする。そして、19時00分00秒になっときに、CPU処理部22は同期情報に含まれているシーケンス番号で特定されるパケットの再生を開始する。その結果、コンテンツの再生時刻が5秒間遅い場合に、再生時刻5秒早めて、シーケンス番号で特定されるパケットの再生時刻を調整することにより、コンテンツ全体の再生時刻の同期をとることができる。 On the other hand, if the scheduled reproduction start time is later than the designated time (S22: YES), if the reproduction is continued as it is, the packet with the sequence number is reproduced later than the designated time. Therefore, the CPU processing unit 22 does not reproduce the packet with the previous sequence number, so that the reproduction of the packet with the sequence number in the synchronization information can be started at the designated time (the reproduction start time is advanced to the designated time) (S23). ). For example, if the scheduled playback start time is 19:00:05 and the specified time is 19:00:00, the playback is originally scheduled to start from 19:00:05 to 19:00:05. The received packet is cleared from the buffer 32. Then, at 19:00:00, the CPU processing unit 22 starts reproducing the packet specified by the sequence number included in the synchronization information. As a result, when the playback time of the content is delayed by 5 seconds, the playback time of the entire content can be synchronized by adjusting the playback time of the packet specified by the sequence number by increasing the playback time by 5 seconds.
なお、再生開始予定時刻と指定時刻とが同じである場合(S22:NO)、指定されているシーケンス番号のパケットの同期がとれており、コンテンツ全体の再生時刻の同期がとれているので、CPU処理部22はそのまま再生を継続する。 If the scheduled reproduction start time and the designated time are the same (S22: NO), the packet of the designated sequence number is synchronized, and the reproduction time of the entire content is synchronized, so the CPU The processing unit 22 continues the reproduction as it is.
以上のように、本例ではコンテンツのストリームとは別にサーバから送信される同期情報に基づいて、同期情報に含まれるシーケンス番号で特定されるパケットを同期情報に含まれる指定時刻に再生開始するように制御することで、再生時刻の同期をとることができる。 As described above, in this example, based on the synchronization information transmitted from the server separately from the content stream, the reproduction of the packet specified by the sequence number included in the synchronization information is started at the specified time included in the synchronization information. By controlling the playback time, the playback time can be synchronized.
[実施例2]
本例は、サーバSVとクライアントCLとが1対1で通信するユニキャストに好適に採用される。ユニキャストでは、図8に示すとおり、サーバSVからクライアントCLへ送信されるコンテンツのストリームには、各コンテンツの先頭に、各コンテンツの詳細を示すヘッダ情報(以下、ヘッダという)が設けられている。ヘッダは、例えば、フォーマット情報(Format Tag)と、チャンネル情報(Channels)と、サンプリング周波数(Samples/Seconds)と、平均ビットレート(Average Bitrate)と、タイトル(Title)と、アーティスト名(Author)と、タイムスタンプ(Time
Stump)と、再生時間(Play Time)とを含む。
[Example 2]
This example is suitably used for unicast in which the server SV and the client CL communicate one-on-one. In the unicast, as shown in FIG. 8, the content stream transmitted from the server SV to the client CL is provided with header information (hereinafter referred to as a header) indicating details of each content at the head of each content. . The header includes, for example, format information (Format Tag), channel information (Channels), sampling frequency (Samples / Seconds), average bit rate (Average Bitrate), title (Title), artist name (Author), , Timestamp (Time
Stump) and playback time (Play Time).
サーバSVは、同期情報パケットを図8のストリームのヘッダに含めて、クライアントCLに送信する。詳細には、同期情報パケットは、再生開始時刻を調整すべきコンテンツの1つ前のコンテンツのヘッダに含めて送信される。これにより、再生開始時刻を調整すべきコンテンツを再生開始するときに、確実に同期情報を解析しておくことができる。すなわち、同期情報は、同期情報がヘッダに含まれているコンテンツの次のコンテンツを再生開始する時刻を調整するための情報であり、クライアントCLの再生時刻の同期をとるための情報である。同期情報は全てのコンテンツのヘッダに含まれるのではなく、適当な間隔を空けて一部のコンテンツのヘッダに含めて送信すればよい。また、必要に応じて、再生時刻の同期を取る際の確認用として、再生開始時刻を調整すべきコンテンツのヘッダにも同期情報を含めてもよい。 The server SV includes the synchronization information packet in the header of the stream in FIG. 8 and transmits it to the client CL. Specifically, the synchronization information packet is transmitted by being included in the header of the content immediately before the content whose playback start time is to be adjusted. Accordingly, the synchronization information can be reliably analyzed when starting the reproduction of the content whose reproduction start time is to be adjusted. That is, the synchronization information is information for adjusting the time to start playback of the content next to the content whose synchronization information is included in the header, and is information for synchronizing the playback time of the client CL. The synchronization information is not included in the headers of all contents, but may be included in the headers of some contents with appropriate intervals. If necessary, the synchronization information may also be included in the header of the content whose playback start time is to be adjusted for confirmation when the playback time is synchronized.
図9は、本例の同期情報を示す図であり、(a)は再生開始時刻を調整すべきコンテンツの1つ前のコンテンツのヘッダに含まれる同期情報、(b)は再生開始時刻を調整すべきコンテンツのヘッダに含まれる確認用の同期情報である。まず、(a)の同期情報は、有効期限と、指定時刻と、コンテンツの長さ(再生時間)と、非同期時の処理とを含む。有効期限は、当該同期情報を使ってクライアントCLが指定されたコンテンツの再生時刻を合わせる処理の有効期限(時刻)であり、例えば、有効期限よりも遅れて同期情報を受信した場合には、当該同期情報を無視して、同期処理を実行しない。指定時刻は、当該同期情報を含むコンテンツの次のコンテンツのサーバ側によって指定された再生開始時刻であり、つまり、当該同期情報を含むコンテンツの再生終了時刻である。コンテンツの長さ(時間)は、当該同期情報を含むコンテンツの再生時間であり、次のコンテンツの再生開始予定時刻を算出するために使用される。非同期時の処理は、再生開始予定時刻と指定時刻とが異なる場合の処理を示す。例えば、非同期時の処理は、再生開始予定時刻が指定時刻よりも早い場合、指定時刻まで何も再生しない、又は、指定時刻まで当該コンテンツを繰り返して再生する等である。又は、再生開始予定時刻が指定時刻よりも遅い場合、当該コンテンツの一部(最後でも、中間でも良い)を再生しない、又は、指定時刻までにフェードアウトする等である。 FIG. 9 is a diagram showing the synchronization information of this example, where (a) is the synchronization information included in the header of the content immediately before the content whose playback start time is to be adjusted, and (b) is the playback start time being adjusted. It is the synchronization information for confirmation contained in the header of the content to be. First, the synchronization information in (a) includes an expiration date, a specified time, a content length (playback time), and processing in asynchronous time. The expiry date is the expiry date (time) of processing for matching the playback time of the content designated by the client CL using the synchronization information. For example, when the synchronization information is received later than the expiry date, Ignore the synchronization information and do not execute the synchronization process. The designated time is the reproduction start time designated by the server side of the content next to the content including the synchronization information, that is, the reproduction end time of the content including the synchronization information. The length (time) of the content is a reproduction time of the content including the synchronization information, and is used to calculate a reproduction start scheduled time for the next content. Asynchronous processing indicates processing when the scheduled reproduction start time is different from the designated time. For example, in the asynchronous process, when the scheduled reproduction start time is earlier than the designated time, nothing is reproduced until the designated time, or the content is reproduced repeatedly until the designated time. Alternatively, when the scheduled reproduction start time is later than the designated time, a part of the content (which may be the last or middle) is not reproduced or faded out by the designated time.
図9(b)に示す同期情報は、指定時刻を含む。指定時刻は、当該同期情報を含むコンテンツのサーバによって指定された再生開始時刻であり、当該コンテンツの再生開始時刻を調整する際に、図9(a)の指定時刻と一致するか否かを確認するための情報である。 The synchronization information shown in FIG. 9B includes a designated time. The designated time is a reproduction start time designated by the server of the content including the synchronization information. When adjusting the reproduction start time of the content, it is confirmed whether or not it coincides with the designated time in FIG. It is information to do.
図10は、クラアイントCLの再生開始時刻の同期処理を示すフローチャートである。本例では、図3に示すコンテンツリストのコンテンツDの再生開始時刻を調整する場合を例に説明する。CPU処理部22は、同期情報の受信を待機しており(S31)、コンテンツCのヘッダを受信したときそのヘッダの中に含まれている図9(a)に示す同期情報を受信する(S31:YES)。次に、CPU処理部22は、同期情報は有効か否かを判断する(S32)。すなわち、現在時刻が同期情報に含まれる有効期限の時刻を過ぎていないかを判断する。有効でなければ(S32:NO)、処理を終了する。有効であれば(S32:YES)、CPU処理部22は、NTPサーバにアクセスすることにより、クライアントCLのシステム時刻を補正する(S33)。 FIG. 10 is a flowchart showing the synchronization processing of the playback start time of the client CL. In this example, the case where the reproduction start time of the content D in the content list shown in FIG. 3 is adjusted will be described as an example. The CPU processing unit 22 waits for reception of synchronization information (S31), and when receiving the header of the content C, receives the synchronization information shown in FIG. 9A included in the header (S31). : YES). Next, the CPU processing unit 22 determines whether or not the synchronization information is valid (S32). That is, it is determined whether the current time has passed the expiration date included in the synchronization information. If it is not valid (S32: NO), the process is terminated. If valid (S32: YES), the CPU processing unit 22 corrects the system time of the client CL by accessing the NTP server (S33).
CPU処理部22は、同期情報がヘッダに含まれているコンテンツCの再生開始を待機する(S34)。コンテンツCが再生開始したとき(S34:YES)、CPU処理部22は、コンテンツCの再生開始時刻をメモリに記憶する(S35)。次に、CPU処理部22は、同期情報の中からコンテンツの長さ(時間)を抽出する(S36)。 The CPU processing unit 22 waits for the reproduction start of the content C including the synchronization information included in the header (S34). When the content C starts to be reproduced (S34: YES), the CPU processing unit 22 stores the reproduction start time of the content C in the memory (S35). Next, the CPU processing unit 22 extracts the length (time) of the content from the synchronization information (S36).
次に、CPU処理部22は、コンテンツDの再生開始予定時刻、すなわち、コンテンツCの再生終了予定時刻を算出する(S37)。詳細には、S35で記憶したコンテンツCの再生開始時刻にS36で取得したコンテンツCの長さ(再生時間)を加算することで、コンテンツDの再生開始予定時刻が得られる。 Next, the CPU processing unit 22 calculates the scheduled playback start time of the content D, that is, the scheduled playback end time of the content C (S37). Specifically, the reproduction start time of the content D is obtained by adding the length (reproduction time) of the content C acquired in S36 to the reproduction start time of the content C stored in S35.
次に、CPU処理部22は、同期情報内の指定時刻を抽出する(S38)。そして、CPU処理部22は、コンテンツDの再生開始予定時刻と同期情報から抽出した指定時刻とを比較する(S39、S41、S43)。 Next, the CPU processing unit 22 extracts a designated time in the synchronization information (S38). Then, the CPU processing unit 22 compares the scheduled reproduction start time of the content D with the designated time extracted from the synchronization information (S39, S41, S43).
なお、コンテンツDのヘッダを受信したときに、ヘッダに含まれる図9(b)に示す同期情報を抽出して、当該同期情報に含まれる指定時刻がS38でコンテンツCのヘッダに含まれている同期情報から抽出した指定時刻と同じであるかを確認する(S40)。指定時刻が異なる場合(S40:NO)、コンテンツDの再生時刻を指定時刻に合わせずに、そのまま再生を継続する(S45)。 Note that when the header of the content D is received, the synchronization information shown in FIG. 9B included in the header is extracted, and the specified time included in the synchronization information is included in the header of the content C in S38. It is confirmed whether it is the same as the specified time extracted from the synchronization information (S40). When the designated times are different (S40: NO), the reproduction is continued without changing the reproduction time of the content D to the designated time (S45).
以下は、指定時刻が同じである場合(S40:YES)について説明する。 Hereinafter, a case where the designated times are the same (S40: YES) will be described.
コンテンツDの再生開始予定時刻が指定時刻よりも早い場合(S41:YES)、このまま再生を継続すると指定時刻よりも早くコンテンツDが再生されてしまう。そのため、CPU処理部22は、コンテンツDの再生を指定時刻まで待って再生を開始する(再生開始時刻を指定時刻まで遅らせる)(S42)。例えば、再生開始予定時刻が18時59分55秒であり、指定時刻が19時00分00秒であれば、18時59分55秒から19時00分00秒までの間は何も再生しない、あるいは、前のコンテンツCを5秒間繰り返して再生する。これらの処理の選択は、同期情報内の「非同期時の処理」に基づいて実行される。そして、19時00分00秒になっときに、CPU処理部22はコンテンツDの再生を開始する。その結果、コンテンツの再生時刻が5秒間早い場合に、再生時刻5秒遅らせてることで、全コンテンツの再生時刻の同期をとることができる。 When the scheduled playback start time of the content D is earlier than the specified time (S41: YES), if the playback is continued as it is, the content D is played earlier than the specified time. Therefore, the CPU processing unit 22 waits for the reproduction of the content D until the designated time and starts the reproduction (delays the reproduction start time until the designated time) (S42). For example, if the reproduction start scheduled time is 18:59:55 and the specified time is 19:00:00, nothing is reproduced between 18:59:55 and 19:00:00. Alternatively, the previous content C is reproduced repeatedly for 5 seconds. The selection of these processes is executed based on the “process when asynchronous” in the synchronization information. Then, at 19:00:00, the CPU processing unit 22 starts the reproduction of the content D. As a result, when the playback time of the content is earlier by 5 seconds, the playback time of all the content can be synchronized by delaying the playback time by 5 seconds.
一方、再生開始予定時刻が指定時刻よりも遅い場合(S43:YES)、このまま再生を継続すると指定時刻よりも遅れてコンテンツDが再生されてしまう。そのため、CPU処理部22は、前のコンテンツCの一部を再生しないことにより、コンテンツDを指定時刻に再生開始できるようにする(再生開始時刻を指定時刻まで早める)(S44)。例えば、再生開始予定時刻が19時00分05秒であり、指定時刻が19時00分00秒であれば、本来19時00分00秒から19時00分05秒までに再生する予定であったコンテンツCの一部をバッファ32からクリアする。これらの処理の選択は、同期情報内の「非同期時の処理」に基づいて実行される。そして、19時00分00秒になっときに、CPU処理部22はコンテンツDの再生を開始する。その結果、コンテンツの再生時刻が5秒間遅い場合に、再生時刻5秒早めて、全コンテンツの再生時刻の同期をとることができる。 On the other hand, when the scheduled reproduction start time is later than the designated time (S43: YES), if the reproduction is continued as it is, the content D is reproduced with a delay from the designated time. Therefore, the CPU processing unit 22 does not reproduce a part of the previous content C so that the content D can be reproduced at the designated time (the reproduction start time is advanced to the designated time) (S44). For example, if the scheduled playback start time is 19:00:05 and the specified time is 19:00:00, the playback is originally scheduled to start from 19:00:05 to 19:00:05. A part of the content C is cleared from the buffer 32. The selection of these processes is executed based on the “process when asynchronous” in the synchronization information. Then, at 19:00:00, the CPU processing unit 22 starts the reproduction of the content D. As a result, when the playback time of the content is delayed by 5 seconds, the playback time of all the content can be synchronized by advancing the playback time by 5 seconds.
なお、再生開始予定時刻と指定時刻とが同じである場合(S43:NO)、コンテンツ再生の同期がとれているので、CPU処理部22はそのまま再生を継続する(S45)。 If the scheduled playback start time and the designated time are the same (S43: NO), since the content playback is synchronized, the CPU processing unit 22 continues the playback as it is (S45).
以上のように、本例では再生開始時刻を合わすべきコンテンツの1つ前のコンテンツのヘッダに含まれる同期情報に基づいて、同期情報に含まれる指定時刻にコンテンツを再生開始するように制御することで、再生時刻の同期をとることができる。 As described above, in this example, based on the synchronization information included in the header of the content immediately before the content to be matched with the playback start time, control is performed to start playback of the content at the specified time included in the synchronization information. Thus, the playback time can be synchronized.
[実施例3]
本例は、サーバSVが複数のクラアイントCLと同時通信するマルチキャストに採用される。マルチキャストでは、実施例2のようにコンテンツ毎にヘッダを送信することができず、クライアントCLがサーバSVに接続したときにNSCファイル(マルチキャスト情報ファイル)にヘッダを含めてクライアントCLに送信する。本例では、図11に示すとおり、再生時刻を調整すべきコンテンツDの1つ前に時刻調整コンテンツが送信される。時刻調整コンテンツは、コンテンツDの再生時刻を調整するために、再生時刻を遅らせる場合には繰り返して再生され、再生時刻を早める場合には一部が再生されないコンテンツである。時刻調整コンテンツは、例えば放送局自身の広告等であるので、このような処理が行われても、視聴者に不快感を与えることはない。時刻調整コンテンツのビットレート及びサンプリング周波数の組合せは、他のコンテンツのそれと重複しないようになっており、コンテンツが時刻調整コンテンツであるか否かは、コンテンツのビットレート及びサンプリング周波数で判別できるようになっている。
[Example 3]
This example is employed for multicast in which the server SV communicates with a plurality of clients CL simultaneously. In multicast, the header cannot be transmitted for each content as in the second embodiment, and when the client CL connects to the server SV, the header is included in the NSC file (multicast information file) and transmitted to the client CL. In this example, as shown in FIG. 11, the time adjustment content is transmitted immediately before the content D whose reproduction time is to be adjusted. In order to adjust the reproduction time of the content D, the time adjustment content is content that is repeatedly reproduced when the reproduction time is delayed, and is partially not reproduced when the reproduction time is advanced. Since the time adjustment content is, for example, an advertisement of the broadcasting station itself, even if such processing is performed, viewers will not be uncomfortable. The combination of the bit rate and sampling frequency of the time adjustment content does not overlap with that of other content so that whether the content is time adjustment content can be determined by the bit rate and sampling frequency of the content. It has become.
図12は同期情報を示す図であり、同期情報はNSCファイルの中に含まれている。これにより、再生開始時刻を調整すべきコンテンツDを再生開始するときに、確実に同期情報を解析しておくことができる。同期情報は、時刻調整コンテンツの次のコンテンツを再生開始する時刻を調整するための情報であり、クライアントCLの再生時刻の同期をとるための情報である。同期情報はNSCファイル内に1つしか存在しないが、サーバSVから時刻調整コンテンツが複数配信されることにより、各時刻調整コンテンツの次のコンテンツの再生開始時刻が同じ同期情報を参照して調整されるようになっている。すなわち、詳細後述するが、本例の同期情報には指定時刻が含まれておらず、クライアント側がその都度指定時刻を算出する。 FIG. 12 is a diagram showing the synchronization information, and the synchronization information is included in the NSC file. Thus, the synchronization information can be reliably analyzed when the reproduction of the content D whose reproduction start time is to be adjusted is started. The synchronization information is information for adjusting the time to start playback of the next content after the time adjustment content, and is information for synchronizing the playback time of the client CL. Although there is only one synchronization information in the NSC file, when a plurality of time adjustment contents are distributed from the server SV, the reproduction start time of the next content of each time adjustment content is adjusted with reference to the same synchronization information. It has become so. That is, as will be described in detail later, the synchronization time in this example does not include the specified time, and the client side calculates the specified time each time.
同期情報は、ビットレートと、サンプリング周波数と、時刻補正精度と、最大補正時間と、コンテンツの長さ(再生時間)と、非同期時の処理とを含む。ビットレート及びサンプリング周波数は、上記の通り、時刻調整コンテンツを特定するために使用される、時刻調整コンテンツのビットレート及びサンプリング周波数である。 The synchronization information includes a bit rate, sampling frequency, time correction accuracy, maximum correction time, content length (reproduction time), and asynchronous processing. As described above, the bit rate and the sampling frequency are the bit rate and the sampling frequency of the time adjustment content used for specifying the time adjustment content.
時刻補正精度は、指定時刻をその都度算出するための情報であり、時間単位、分単位、又は秒単位のいずれかである。ここで、時刻補正精度を使った指定時刻の算出方法を、図13を参照して詳細に説明する。指定時刻は、時刻調整コンテンツの再生終了予定時刻を、時刻補正精度以下の単位を00にするような最も近い時刻である。例えば、時刻調整コンテンツの再生終了予定時刻が19時00分50秒であるとき、時刻補正精度が秒単位であれば、指定時刻は秒が00になる時刻のうち時刻調整コンテンツの終了予定時刻から最も近い時刻となり、この場合(1)のように19時01分00秒になる。(一方、時刻調整コンテンツの終了予定時刻が19時00分20秒の場合は、指定時刻が19時00分00秒になる)。次に、時刻補正精度が分単位であれば、指定時刻は分及び秒が00になる時刻のうち時刻調整コンテンツの終了予定時刻から最も近い時刻となり、この場合(2)のように19時00分00秒になる。次に、時刻補正精度が時間単位であれば、指定時刻は時間、分及び秒が00になる時刻のうち時刻調整コンテンツの終了予定時刻から最も近い時刻となり、この場合(3)のように00時00分00秒になる。なお、時刻補正精度に日単位を含めてもよい。 The time correction accuracy is information for calculating the designated time each time, and is either a time unit, a minute unit, or a second unit. Here, a method of calculating the designated time using the time correction accuracy will be described in detail with reference to FIG. The designated time is the closest time such that the scheduled playback end time of the time adjustment content is set to 00 in units of time correction accuracy or less. For example, when the reproduction end time of the time adjustment content is 19:00:50, and the time correction accuracy is in seconds, the designated time is from the scheduled end time of the time adjustment content among the times when the second becomes 00. It is the closest time, and in this case, it becomes 19:01:00 as in (1). (On the other hand, if the scheduled end time of the time adjustment content is 19:00:20, the specified time is 19:00:00). Next, if the time correction accuracy is in minutes, the designated time is the time closest to the scheduled end time of the time adjustment content among the times when the minutes and seconds become 00, and in this case, 19:00 as in (2) It becomes 00 minutes. Next, if the time correction accuracy is a time unit, the designated time is the time closest to the scheduled end time of the time-adjusted content among the times at which the hour, minute, and second become 00. In this case, 00 is set as 00. It becomes 00:00. Note that the time correction accuracy may include a day unit.
コンテンツの長さ(時間)は、時刻調整コンテンツの再生時間であり、再生時刻を調整すべきコンテンツの再生開始予定時刻を算出するために使用される。非同期時の処理は、再生開始予定時刻と指定時刻とが異なる場合の処理を示す。例えば、非同期時の処理は、再生開始予定時刻が指定時刻よりも早い場合、指定時刻まで何も再生しない、又は、指定時刻まで時刻調整コンテンツを繰り返して再生する等である。又は、再生開始予定時刻が指定時刻よりも遅い場合、時刻調整コンテンツの一部(最後でも、中間でも良い)を再生しない、又は、指定時刻までにフェードアウトする等である。 The length (time) of the content is the reproduction time of the time adjustment content, and is used to calculate the scheduled reproduction start time of the content whose reproduction time should be adjusted. Asynchronous processing indicates processing when the scheduled reproduction start time is different from the designated time. For example, in the asynchronous process, when the scheduled reproduction start time is earlier than the designated time, nothing is reproduced until the designated time, or the time-adjusted content is reproduced repeatedly until the designated time. Alternatively, when the scheduled reproduction start time is later than the designated time, a part of the time adjustment content (which may be the last or middle) is not reproduced or faded out by the designated time.
図14は、クラアイントCLの再生開始時刻の同期処理を示すフローチャートである。本例では、図11に示すようにコンテンツリストのコンテンツDの前に時刻調整コンテンツが含まれており、コンテンツDの再生開始時刻を調整する場合を例に説明する。 FIG. 14 is a flowchart showing synchronization processing of the reproduction start time of the client CL. In this example, as shown in FIG. 11, a case where the time adjustment content is included before the content D of the content list and the reproduction start time of the content D is adjusted will be described as an example.
CPU処理部22は、時刻調整コンテンツの再生開始を待機している(S51)。時刻調整コンテンツが再生開始したことは、再生中のコンテンツのビットレート及びサンプリング周波数をチェックすることで判断される。時刻調整コンテンツが再生開始したとき(S51:YES)、CPU処理部22は、時刻調整コンテンツの再生開始時刻をメモリに記憶する(S52)。次に、CPU処理部22は、同期情報の中から時刻調整コンテンツの長さ(再生時間)を抽出する(S53)。 The CPU processing unit 22 stands by for the start of reproduction of the time adjustment content (S51). The start of reproduction of the time adjustment content is determined by checking the bit rate and sampling frequency of the content being reproduced. When the time adjustment content starts to be reproduced (S51: YES), the CPU processing unit 22 stores the reproduction start time of the time adjustment content in the memory (S52). Next, the CPU processing unit 22 extracts the length (reproduction time) of the time adjustment content from the synchronization information (S53).
次に、CPU処理部22は、コンテンツDの再生開始予定時刻、すなわち、時刻調整コンテンツの再生終了予定時刻を算出する(S54)。詳細には、S52で記憶した時刻調整コンテンツの再生開始時刻にS53で取得した時刻調整コンテンツの長さ(再生時間)を加算することで、コンテンツDの再生開始予定時刻が得られる。 Next, the CPU processing unit 22 calculates the scheduled playback start time of the content D, that is, the scheduled playback end time of the time adjusted content (S54). Specifically, the reproduction start scheduled time of the content D is obtained by adding the length (reproduction time) of the time adjustment content acquired in S53 to the reproduction start time of the time adjustment content stored in S52.
次に、CPU処理部22は、時刻補正精度及び時刻調整コンテンツの再生終了予定時刻に基づいて指定時刻を算出する(S55)。詳細には、まず、同期情報内の時刻補正精度を抽出する。上記の通り、図13を参照して、S54で算出した時刻調整コンテンツの再生終了予定時刻が19時00分50秒であり、時刻補正精度が例えば分単位であれば、指定時刻は19時00分00秒になる。そして、CPU処理部22は、コンテンツDの再生開始予定時刻とS55で算出した指定時刻とを比較する(S56、S57、S58)。 Next, the CPU processing unit 22 calculates a designated time based on the time correction accuracy and the scheduled reproduction end time of the time adjustment content (S55). Specifically, first, the time correction accuracy in the synchronization information is extracted. As described above, with reference to FIG. 13, if the scheduled end time of reproduction of the time adjustment content calculated in S54 is 19:00:50 and the time correction accuracy is, for example, minutes, the designated time is 19:00. It becomes 00 minutes. Then, the CPU processing unit 22 compares the scheduled reproduction start time of the content D with the designated time calculated in S55 (S56, S57, S58).
コンテンツDの再生開始予定時刻が指定時刻よりも早い場合(S57:YES)、このまま再生を継続すると指定時刻よりも早くコンテンツDが再生されてしまう。そのため、CPU処理部22は、指定時刻まで待ってコンテンツDの再生を開始する(S58)。例えば、図13の(1)に示すとおり、再生開始予定時刻が19時00分50秒であり、算出した指定時刻が19時01分00秒であれば、19時00分50秒から19時01分00秒までの間は何も再生しないか、あるいは、時刻調整コンテンツを10秒間繰り返して再生する。これらの処理の選択は、同期情報内の「非同期時の処理」に基づいて実行される。そして、19時01分00秒になっときに、CPU処理部22はコンテンツDの再生を開始する。その結果、コンテンツの再生時刻が10秒間早い場合に、再生時刻10秒遅らせて、コンテンツの再生時刻の同期をとることができる。 If the scheduled playback start time of the content D is earlier than the specified time (S57: YES), if the playback is continued as it is, the content D is played earlier than the specified time. Therefore, the CPU processing unit 22 waits until the designated time and starts reproducing the content D (S58). For example, as shown in (1) of FIG. 13, if the scheduled reproduction start time is 19:00:50 and the calculated specified time is 19:01:00, 19:00:50 to 19:00 Nothing is played back until 01:00, or the time-adjusted content is played back repeatedly for 10 seconds. The selection of these processes is executed based on the “process when asynchronous” in the synchronization information. Then, at 19:01:00, the CPU processing unit 22 starts reproducing the content D. As a result, when the playback time of the content is 10 seconds earlier, the playback time of the content can be synchronized by delaying the playback time by 10 seconds.
一方、再生開始予定時刻が指定時刻よりも遅い場合(S59:YES)、このまま再生を継続すると指定時刻よりも遅れてコンテンツDが再生されてしまう。そのため、CPU処理部22は、時刻調整コンテンツの一部を再生しないことにより、コンテンツDを指定時刻に再生開始できるようにする(S60)。例えば、図3の(2)のように再生開始予定時刻が19時00分50秒であり、指定時刻が19時00分00秒であれば、本来19時00分00秒から19時00分50秒までに再生する予定であった時刻調整コンテンツの一部をバッファ32からクリアする。これらの処理の選択は、同期情報内の「非同期時の処理」に基づいて実行される。そして、19時00分00秒になっときに、CPU処理部22はコンテンツDの再生を開始する。その結果、コンテンツの再生時刻が50秒間遅い場合に、再生時刻50秒早めて、コンテンツの再生時刻の同期をとることができる。 On the other hand, when the scheduled reproduction start time is later than the designated time (S59: YES), if the reproduction is continued as it is, the content D is reproduced with a delay from the designated time. Therefore, the CPU processing unit 22 does not reproduce part of the time adjustment content so that the reproduction of the content D can be started at the specified time (S60). For example, as shown in (2) of FIG. 3, if the scheduled reproduction start time is 19:00:50 and the specified time is 19:00:00, it is originally 19:00:00 to 19:00 A part of the time adjustment content scheduled to be played back by 50 seconds is cleared from the buffer 32. The selection of these processes is executed based on the “process when asynchronous” in the synchronization information. Then, at 19:00:00, the CPU processing unit 22 starts the reproduction of the content D. As a result, when the playback time of the content is delayed by 50 seconds, the playback time of the content can be synchronized by advancing the playback time by 50 seconds.
なお、再生開始予定時刻と指定時刻とが同じである場合(S59:NO)、コンテンツ再生の同期がとれているので、CPU処理部22はそのまま再生を継続する(S61)。 If the scheduled reproduction start time is the same as the designated time (S59: NO), the content reproduction is synchronized, so the CPU processing unit 22 continues the reproduction as it is (S61).
以上のように、本例ではNSCファイルに含まれる同期情報に基づいて、時刻調整コンテンツを識別して、時刻調整コンテンツの再生を制御することで、時刻調整コンテンツの次のコンテンツを算出した指定時刻に再生開始する。その結果、マルチキャストのようにコンテンツ毎にヘッダを付与できない場合でも、再生時刻の同期を取ることができる。指定時刻を時刻調整コンテンツの終了予定時刻と時刻補正精度とからその都度算出しているので、1つの同期情報で複数回に渡り再生時刻を調整することができるからである。 As described above, in this example, the time adjustment content is identified based on the synchronization information included in the NSC file, and the reproduction of the time adjustment content is controlled to control the designated time at which the next content of the time adjustment content is calculated. Start playing. As a result, even when a header cannot be assigned for each content as in multicast, it is possible to synchronize playback times. This is because the designated time is calculated each time from the scheduled end time of the time adjustment content and the time correction accuracy, so that the reproduction time can be adjusted multiple times with one synchronization information.
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。本発明は、上記のサーバ及びクライアントを動作させるためのコンピュータプログラムまたはそのコンピュータプラグラムを記録した記録媒体という形態で提供されてもよい。 As mentioned above, although preferable embodiment of this invention was described, this invention is not limited to these embodiment. The present invention may be provided in the form of a computer program for operating the above server and client or a recording medium recording the computer program.
本発明はインターネットのストリーミングを使用した放送に好適に適用され得る。 The present invention can be suitably applied to broadcasting using Internet streaming.
1 コンテンツ再生装置
21 HDD
22 CPU処理部
23 通信部
31 マイコン処理部
32 バッファ
33 メモリ
34 音声処理部
35 DAC
36 通信部
37 入力装置
38 表示装置
SV サーバ
CL クラアイント
1
22
36
Claims (5)
該サーバが、
複数のコンテンツを蓄積する蓄積手段と、
該コンテンツを該クライアントにパケット単位で送信するコンテンツ送信手段と、
再生時刻を調整すべきパケットのシーケンス番号と、該シーケンス番号で特定されるパケットの指定時刻とを含む同期情報を送信する同期情報送信手段とを有し、
該クライアントが、
該コンテンツ及び該同期情報を受信する受信手段と、
該コンテンツを再生する再生手段と、
該シーケンス番号で特定されるパケットの再生開始予定時刻を算出する手段と、
該再生開始予定時刻と該指定時刻とを比較する比較手段と、
該比較手段の比較結果に応じて、該再生開始予定時刻が該指定時刻よりも早い場合、該シーケンス番号で特定されるパケットの再生開始時刻を該指定時刻まで遅らせ、該再生開始予定時刻が該指定時刻よりも遅い場合、該シーケンス番号で特定されるパケットの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する、コンテンツ再生システム。 A server and a client connectable to the server,
The server
Storage means for storing a plurality of contents;
Content transmitting means for transmitting the content to the client in units of packets;
Synchronization information transmitting means for transmitting synchronization information including a sequence number of a packet whose reproduction time is to be adjusted and a designated time of the packet specified by the sequence number;
The client
Receiving means for receiving the content and the synchronization information;
Playback means for playing back the content;
Means for calculating a scheduled reproduction start time of the packet specified by the sequence number;
A comparison means for comparing the scheduled reproduction start time with the designated time;
If the scheduled playback start time is earlier than the specified time according to the comparison result of the comparison means, the playback start time of the packet specified by the sequence number is delayed to the specified time, and the scheduled playback start time is A content reproduction system comprising: time adjustment means for advancing the reproduction start time of the packet specified by the sequence number to the designated time when it is later than the designated time.
該サーバが、
複数のコンテンツを蓄積する蓄積手段と、
各々がヘッダ情報を含むコンテンツを該クライアントに送信するコンテンツ送信手段と、
再生時刻を調整すべきコンテンツの指定時刻を含む同期情報を、再生時刻を調整すべきコンテンツの1つ前に送信されるコンテンツのヘッダ情報に含めて送信する同期情報送信手段とを有し、
該クライアントが、
該コンテンツ及び該同期情報を受信する受信手段と、
該コンテンツを再生する再生手段と、
該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始予定時刻を算出する手段と、
該再生開始予定時刻と該指定時刻とを比較する比較手段と、
該比較手段の比較結果に応じて、該再生開始予定時刻が該指定時刻よりも早い場合、該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始時刻を該指定時刻まで遅らせ、該再生開始予定時刻が該指定時刻よりも遅い場合、該同期情報がヘッダ情報に含まれているコンテンツの次のコンテンツの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する、コンテンツ再生システム。 A server and a client connectable to the server,
The server
Storage means for storing a plurality of contents;
Content transmitting means each transmitting content including header information to the client;
Synchronization information transmitting means for transmitting the synchronization information including the specified time of the content whose playback time is to be adjusted included in the header information of the content transmitted immediately before the content whose playback time is to be adjusted,
The client
Receiving means for receiving the content and the synchronization information;
Playback means for playing back the content;
Means for calculating a scheduled reproduction start time of the content next to the content whose synchronization information is included in the header information;
A comparison means for comparing the scheduled reproduction start time with the designated time;
If the scheduled playback start time is earlier than the specified time according to the comparison result of the comparison means, the playback start time of the content next to the content whose synchronization information is included in the header information is delayed to the specified time. When the scheduled reproduction start time is later than the designated time, the content reproduction has time adjustment means for advancing the reproduction start time of the content next to the content whose synchronization information is included in the header information to the designated time. system.
該サーバが、
複数のコンテンツ及び時刻調整コンテンツを蓄積する蓄積手段と、
該コンテンツ、及び、再生時刻を調整すべきコンテンツの1つ前に送信され、ビットレート及びサンプリング周波数の組合せが他のコンテンツとは重複しない該時刻調整コンテンツを該クライアントに送信するコンテンツ送信手段と、
該時刻調整コンテンツのビットレート及びサンプリング周波数と、時刻補正精度とを含む同期情報を送信する同期情報送信手段とを有し、
該クライアントが、
該コンテンツ、該時刻調整コンテンツ及び該同期情報を受信する受信手段と、
該コンテンツを再生する再生手段と、
該時刻調整コンテンツの再生終了予定時刻を算出する手段と、
該時刻調整コンテンツの再生終了予定時刻と、該時刻補正精度とに基づいて、指定時刻を算出する手段と、
該再生終了予定時刻と該指定時刻とを比較する比較手段と、
該比較手段の比較結果に応じて、該再生終了予定時刻が該指定時刻よりも早い場合、該時刻調整コンテンツの次のコンテンツの再生開始時刻を該指定時刻まで遅らせ、該再生終了予定時刻が該指定時刻よりも遅い場合、該時刻調整コンテンツの次のコンテンツの再生開始時刻を該指定時刻まで早める時刻調整手段とを有する、コンテンツ再生システム。 A server and a client connectable to the server,
The server
Storage means for storing a plurality of contents and time adjustment contents;
Content transmitting means for transmitting to the client the content and the time-adjusted content that is transmitted before the content whose playback time is to be adjusted, and whose combination of bit rate and sampling frequency does not overlap with other content;
Synchronization information transmitting means for transmitting synchronization information including the bit rate and sampling frequency of the time adjustment content and time correction accuracy;
The client
Receiving means for receiving the content, the time adjustment content and the synchronization information;
Playback means for playing back the content;
Means for calculating a scheduled reproduction end time of the time adjustment content;
Means for calculating a designated time based on the scheduled reproduction end time of the time adjustment content and the time correction accuracy;
A comparison means for comparing the reproduction end scheduled time with the designated time;
If the scheduled playback end time is earlier than the specified time according to the comparison result of the comparing means, the playback start time of the next content after the time adjustment content is delayed to the specified time, and the scheduled playback end time is A content reproduction system comprising time adjustment means for advancing the reproduction start time of the next content after the time adjustment content to the designated time when the time is later than the designated time.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006332542A JP2008147973A (en) | 2006-12-08 | 2006-12-08 | Content reproduction system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006332542A JP2008147973A (en) | 2006-12-08 | 2006-12-08 | Content reproduction system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008147973A true JP2008147973A (en) | 2008-06-26 |
Family
ID=39607658
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006332542A Pending JP2008147973A (en) | 2006-12-08 | 2006-12-08 | Content reproduction system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008147973A (en) |
-
2006
- 2006-12-08 JP JP2006332542A patent/JP2008147973A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7346698B2 (en) | Webcasting method and system for time-based synchronization of multiple, independent media streams | |
US10880620B2 (en) | Playback synchronization across playback devices | |
US7945688B1 (en) | Methods and apparatus for reducing streaming media data traffic bursts | |
US6990512B1 (en) | Method and system for using live time shift technology to control a multimedia file | |
US10575042B2 (en) | Media content synchronization | |
KR102536652B1 (en) | Dynamic reduction of alternative content playback to support aligning the end of the alternative content with the end of the substitute content. | |
US9509739B2 (en) | Method and apparatus for playing live content | |
CN102857796B (en) | Synchronization and automation in an ITV enviroment | |
US7912920B2 (en) | Stream sourcing content delivery system | |
US9438657B2 (en) | Efficient video delivery | |
JP2019050636A (en) | Synchronizing multiple over the top streaming clients | |
KR102469142B1 (en) | Dynamic playback of transition frames while transitioning between media stream playbacks | |
CN106470352B (en) | Live channel playing method, device and system | |
US10503460B2 (en) | Method for synchronizing an alternative audio stream | |
KR20210078985A (en) | Method of display playback synchronization of digital contents in multiple connected devices and apparatus using the same | |
JP3906712B2 (en) | Data stream processing device | |
JP4042396B2 (en) | Data communication system, data transmission apparatus, data reception apparatus and method, and computer program | |
JP2006157278A (en) | Information distribution system | |
JP2008147973A (en) | Content reproduction system | |
JP3906678B2 (en) | Data communication system, data transmission apparatus, data reception apparatus and method, and computer program | |
JP4967945B2 (en) | Terminal device and data distribution system | |
US9124921B2 (en) | Apparatus and method for playing back contents | |
US20130129112A1 (en) | Contents reproducing system, receiving apparatus and receiving method | |
KR20230154051A (en) | Method for providing time-synchronized multi-stream data transmission |