(57)【要約】【課題】  複雑な処理を要することなく、各受信装置のコンテンツデータの再生開始時刻をほぼ一致させる。【解決手段】  送信装置は、基準時刻と、受信装置にパケットを送信する送信時刻との差である時刻差情報を算出し、時刻差情報をパケットのヘッダに付加する。受信装置は、所定の遅延時間から時刻差情報を減算し、再生遅延時間を算出する。所定の遅延時間は、一般的には、各受信装置において共通の値であるが、各受信装置の再生処理にかかる時間の誤差に応じて適宜設定可能である。受信装置は、受信時刻から再生遅延時間経過するまでの間は、パケットの再生を待機する。受信装置は、受信時刻から再生遅延時間経過した時にはじめて、パケットを再生開始する。【選択図】図８
2013121029.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、
前記送信装置が、前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信部と、
基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出部と、
送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加部とを有し、
前記各受信装置が、
前記送信装置からコンテンツデータを受信する受信部と、
受信したコンテンツデータを再生する再生部と、
コンテンツデータを受信した受信時刻を特定する受信時刻特定部と、
所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出部と、
前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御部とを有する、コンテンツ再生システム。
【請求項２】
前記送信装置が、
送信するコンテンツデータに識別情報を付加する識別情報付加部と、
所定条件を満足したときに、前記識別情報を変更する識別情報変更部とをさらに有し、
前記受信装置が、
受信したコンテンツデータに付加されている識別情報が、１つ前に受信したコンテンツデータに付加されている識別情報から変更されているか否かを判断する識別情報変更判断部をさらに有し、
識別情報が変更されていると判断された場合、前記再生制御部が、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる、請求項１に記載のコンテンツ再生システム。
【請求項３】
前記送信装置が、
前記送信部が実際に前記受信装置にコンテンツデータを送信した実送信時刻と、前記送信時刻との差である送信時刻差を算出する送信時刻差算出部と、
算出された送信時刻差を次のコンテンツデータに付加する送信時刻差付加部とをさらに有し、
前記受信装置が、
次のコンテンツデータに付加されている送信時刻差を使用して、前のコンテンツデータの前記再生遅延時間を補正する再生遅延時間補正部をさらに有する、請求項１または２に記載のコンテンツ再生システム。
【請求項４】
送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、前記各受信装置が、前記送信装置からコンテンツデータを受信する受信部と、受信したコンテンツデータを再生する再生部と、コンテンツデータを受信した受信時刻を特定する受信時刻特定部と、所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出部と、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御部とを有する、コンテンツ再生システムにおける前記送信装置であって、
前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信部と、
基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出部と、
送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加部とを有する、送信装置。
【請求項５】
送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、前記送信装置が、前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信部と、基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出部と、送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加部とを有するコンテンツ再生システムにおける前記受信装置であって、
前記送信装置からコンテンツデータを受信する受信部と、
受信したコンテンツデータを再生する再生部と、
コンテンツデータを受信した受信時刻を特定する受信時刻特定部と、
所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出部と、
前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御部とを有する、受信装置。
【請求項６】
送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、前記各受信装置が、前記送信装置からコンテンツデータを受信する受信部と、受信したコンテンツデータを再生する再生部と、コンテンツデータを受信した受信時刻を特定する受信時刻特定部と、所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出部と、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御部とを有する、コンテンツ再生システムにおける前記送信装置の動作プログラムであって、
前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信ステップと、
基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出ステップと、
送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加ステップとを前記送信装置に実行させる送信装置の動作プログラム。
【請求項７】
送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、前記送信装置が、前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信部と、基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出部と、送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加部とを有するコンテンツ再生システムにおける前記受信装置の動作プログラムであって、
前記送信装置からコンテンツデータを受信する受信ステップと、
受信したコンテンツデータを再生する再生ステップと、
コンテンツデータを受信した受信時刻を特定する受信時刻特定ステップと、
所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出ステップと、
前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御ステップとを前記受信装置に実行させる、受信装置の動作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、送信装置と受信装置とを備えるコンテンツ再生システムに関する。
【背景技術】
【０００２】
送信装置からネットワーク経由で複数の受信装置に対して、ほぼ同じ時刻に同じコンテンツデータを送信することで、各受信装置でほぼ同じ時刻に同じコンテンツデータを一斉に再生するコンテンツ再生システムが提案されている。このシステムは、パーティーモードと言われることがある。ここで、通信プロトコルとしてＵＤＰが使用され、ユニキャストが使用される場合、送信装置は、各受信装置に対して、順番にコンテンツデータのパケットを送信する。つまり、あるパケットＡを受信装置Ｘ１に送信し、その後、同じパケットＡを受信装置Ｘ２に送信し、さらにその後、同じパケットＡを受信装置Ｘ３に送信する。その後、次のパケットＢを受信装置Ｘ１に送信し、その後、同じパケットＢを受信装置Ｘ２に送信し、さらにその後、同じパケットＢを受信装置Ｘ３に送信する。このように、各受信装置に同じコンテンツデータのパケットを送信する時刻が少しずつ異なっており、その結果、各受信装置が同じコンテンツデータのパケットを受信して再生する時刻が少しずつ異なる。従って、各受信装置が受信したパケットをそのまま再生すると、各受信装置が再生するコンテンツデータの再生位置にずれが生じてしまう。この問題を解決するために、送信装置と各受信装置との間でクロックの同期を行い、送信されるパケットにタイムスタンプを含め、タイムスタンプに従って各受信装置が同じ時刻に同じパケットを再生することによって、コンテンツ再生を同期させる技術が提案されている。しかし、この技術によると、クロック同期処理や通信プロトコルが非常に複雑になってしまう。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】ＵＳ２００７／００３８９９９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は上記従来の課題を解決するためになされたものであり、その目的は、複雑な処理を要することなく、各受信装置のコンテンツデータの再生開始時刻をほぼ一致させることができるコンテンツ再生システムを提供することである。
【課題を解決するための手段】
【０００５】
本発明の好ましい実施形態によるコンテンツ再生システムは、送信装置と、前記送信装置とネットワーク経由で接続可能な複数の受信装置とを備え、前記送信装置が、前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信部と、基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出部と、送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加部とを有し、前記各受信装置が、前記送信装置からコンテンツデータを受信する受信部と、受信したコンテンツデータを再生する再生部と、コンテンツデータを受信した受信時刻を特定する受信時刻特定部と、所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出部と、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御部とを有する。
【０００６】
送信装置は、基準時刻と、受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出し、時刻差情報をコンテンツデータ（特に限定されないが例えばパケット）に付加する。受信装置は、所定の遅延時間から時刻差情報を減算し、再生遅延時間を算出する。所定の遅延時間は、一般的には、各受信装置において共通の値であるが、各受信装置の再生処理にかかる時間の誤差に応じて適宜設定可能である。受信装置は、受信時刻から再生遅延時間経過するまでの間は、コンテンツデータの再生を待機する。受信装置は、受信時刻から再生遅延時間経過した時にはじめて、コンテンツデータを再生開始する。従って、送信装置が各受信装置に同じコンテンツデータを送信する時刻が異なっている場合でも、各受信装置において、再生遅延時間を調整することによって、同じコンテンツをほぼ同じ時刻に再生開始することができる。
【０００７】
好ましい実施形態においては、前記送信装置が、送信するコンテンツデータに識別情報を付加する識別情報付加部と、所定条件を満足したときに、前記識別情報を変更する識別情報変更部とをさらに有し、前記受信装置が、受信したコンテンツデータに付加されている識別情報が、１つ前に受信したコンテンツデータに付加されている識別情報から変更されているか否かを判断する識別情報変更判断部をさらに有し、識別情報が変更されていると判断された場合、前記再生制御部が、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる。
【０００８】
全てのコンテンツデータ（例えばパケット）について、受信時刻から再生遅延時間経過するまでコンテンツデータの再生を待機し、再生遅延時間経過した時にコンテンツデータを再生開始する処理を実行すると、コンテンツデータの再生途切れが生じる可能性がある。本実施形態では、識別情報が変更されたときにだけ、受信時刻から再生遅延時間経過するまでコンテンツデータの再生を待機し、再生遅延時間経過した時にコンテンツデータを再生開始する処理を実行する。従って、例えば識別情報をコンテンツデータが音声の場合に無音部分に変更するようにすることで、コンテンツデータの再生とぎれの影響を無くすることができる。
【０００９】
好ましい実施形態においては、前記送信装置が、前記送信部が実際に前記受信装置にコンテンツデータを送信した実送信時刻と、前記送信時刻との差である送信時刻差を算出する送信時刻差算出部と、算出された送信時刻差を次のコンテンツデータに付加する送信時刻差付加部とをさらに有し、前記受信装置が、次のコンテンツデータに付加されている送信時刻差を使用して、前のコンテンツデータの前記再生遅延時間を補正する再生遅延時間補正部をさらに有する。
【００１０】
送信装置の処理の負荷に応じて、コンテンツデータに時刻差情報を付加した後に、送信部が実際に受信装置にコンテンツデータを送信するまでの時間に違いが生じる。この場合、各受信装置が、ほぼ同じ時刻にコンテンツデータを再生開始することが出来なくなる恐れがある。そこで、本実施形態では、送信装置は、送信部が実際に受信装置にコンテンツデータを送信した実送信時刻と、送信時刻との差である送信時刻差を算出し、次のコンテンツデータに付加する。受信装置は、次のコンテンツデータに付加されている送信時刻差を使用して、前のコンテンツデータの再生遅延時間を補正する。従って、各受信装置は、より確実に、同じコンテンツデータをほぼ同じ時刻に再生開始することができる。
【００１１】
本発明の好ましい実施形態による送信装置の動作プログラムは、前記各受信装置に対して、順番に、同じコンテンツの同じ再生位置のコンテンツデータを送信する送信ステップと、基準時刻と、前記受信装置にコンテンツデータを送信する送信時刻との差である時刻差情報を算出する時刻差情報算出ステップと、送信するコンテンツデータに、算出された時刻差情報を付加する時刻差情報付加ステップとを送信装置のコンピュータに実行させる。
【００１２】
本発明の好ましい実施形態による受信装置の動作プログラムは、前記送信装置からコンテンツデータを受信する受信ステップと、受信したコンテンツデータを再生する再生ステップと、コンテンツデータを受信した受信時刻を特定する受信時刻特定ステップと、所定の遅延時間から、受信したコンテンツデータに付加されている前記時刻差情報を減算し、再生遅延時間を算出する再生遅延時間算出ステップと、前記受信時刻から前記再生遅延時間経過するまで前記コンテンツデータの再生を待機し、前記受信時刻から前記再生遅延時間経過した時、前記再生部に前記コンテンツデータを再生させる再生制御ステップとを受信装置のコンピュータに実行させる。
【発明の効果】
【００１３】
複雑な処理を要することなく、各受信装置のコンテンツの再生開始時刻を同期させることができるコンテンツ再生システムを提供することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明のコンテンツ再生システムを示すブロック図である。
【図２】送信装置を示すブロック図である。
【図３】受信装置を示すブロック図である。
【図４】送信装置と受信装置との処理を示すシーケンス図のである。
【図５】送信装置の処理を示すフローチャートである。
【図６】送信装置の処理を示すフローチャートである。
【図７】受信装置の処理を示すフローチャートである。
【図８】受信装置の処理を示すフローチャートである。
【図９】送信装置の処理を示すフローチャートである。
【図１０】受信装置の処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。
【００１６】
図１は、コンテンツ再生システムを示すブロック図である。コンテンツ再生システムは、送信装置１００と、複数の受信装置２００（２００Ａ、２００Ｂ、２００Ｃ等）と、サーバ３００とを備え、これらはインターネット、ＬＡＮ等の任意のネットワークを介して相互に接続可能である。サーバ３００は、複数のコンテンツをＨＤＤ等の記憶媒体に格納している。コンテンツは、音楽（曲）データ、映像（画像）データ等の総称であるが、本例では曲データである。つまり、１つの曲のことを１つのコンテンツという。コンテンツデータとは、１つのコンテンツの各部分データのことをいい、代表的にはパケットのことである。
【００１７】
送信装置１００は、サーバ３００からコンテンツを受信し、受信したコンテンツをパケット化して、各受信装置２００に対して、ユニキャストを使用して順番に送信する。すなわち、送信装置１００は、パケットＡ１を受信装置２００Ａに送信し、次に、パケットＡ２を受信装置２００Ｂに送信し、次に、パケットＡ３を受信装置２００Ｃに送信し、次に、パケットＢ１を受信装置２００Ａに送信し、次に、パケットＢ２を受信装置２００Ｂに送信し、次に、パケットＢ３を受信装置２００Ｃに送信する。ここで、パケットＡ１、Ａ２、Ａ３はいずれも同じコンテンツデータを含むが、ヘッダの内容が異なっている。同じく、パケットＢ１、Ｂ２、Ｂ３はいずれも同じコンテンツデータを含むが、ヘッダの内容が異なっている。
【００１８】
パケットのヘッダには基準時刻Ｔｂａｓｅと、送信装置１００が各受信装置２００にパケットを送信する送信時刻Ｔｓｅｎｄとの時刻差情報Ｔｄｉｆが含まれている。各受信装置２００は、パケットを再生開始する時刻を決定するために、各受信装置２００に対して予め設定されている所定の遅延時間から時刻差情報Ｔｄｉｆを減算し、再生遅延時間Ｔｄｅｌａｙを算出する。各受信装置２００は、パケットを受信した受信時刻から再生遅延時間Ｔｄｅｌａｙ経過するまでの間は当該パケットの再生を待機し、受信時刻から再生遅延時間Ｔｄｅｌａｙ経過した時に、当該パケットの再生を開始する。これにより、各受信装置２００が同じパケットをほぼ同じ時刻に再生開始することができる。ここで、各受信装置２００に対して予め設定されている所定の遅延時間は、各受信装置２００において一般的には同じ値に設定されているが、受信装置２００の再生処理等にかかる時間が異なる場合には、その時間に基づいて適宜調整される必要がある。なお、所定の遅延時間は、送信装置１００から各受信装置２００に送信されてもよい。
【００１９】
なお、サーバ３００は、送信装置１００とネットワーク経由で接続されている必要はなく、音声ケーブル等で有線接続されていてもよい。また、サーバ３００の機能を送信装置１００が備えていても良い。
【００２０】
送信装置１００は、受信装置２００の機能を兼有していてもよい。つまり、送信装置１００は、各受信装置２００に加えて、送信装置１００自身にも同じコンテンツの同じ再生位置のコンテンツデータを送信する。送信装置１００も、受信装置２００と同じように、予め設定されている所定の遅延時間から時刻差情報Ｔｄｉｆを減算し、再生遅延時間Ｔｄｅｌａｙを算出する。送信装置１００は、パケットを受信した受信時刻から再生遅延時間Ｔｄｅｌａｙ経過するまでの間は当該パケットの再生を待機し、受信時刻から再生遅延時間Ｔｄｅｌａｙ経過した時に、当該パケットの再生を開始する。これにより、送信装置１００自身も、各受信装置２００と同様に、同じパケットをほぼ同じ時刻に再生開始することができる。
【００２１】
図２は、送信装置１００の構成を示す概略ブロック図である（なお、送信装置１００における受信装置２００としての機能の説明は図３で記載する）。送信装置１００は、制御部１１と、メモリ（ＲＯＭ、ＲＡＭ等）１２と、ネットワークインターフェース１３と、受信バッファ１４と、デコーダ１５と、パケット化部１６と、送信バッファ１７とを概略備える。
【００２２】
制御部１１は、メモリ１２に格納されている送信装置１００の動作プログラムに基づいて送信装置１００の各部を制御するものであり、マイコンやＣＰＵ等である。ネットワークインターフェース１３は、サーバ３００や、受信装置２００とネットワーク経由で通信し、データやコマンドを送受信する。受信バッファ１４は、ネットワークインターフェース１３を介してサーバ３００から受信した曲データを一時的に格納し、その後、デコーダ１５に供給する。デコーダ１５は、曲データをデコードし、ＰＣＭデータ列に変換し、パケット化部１６に供給する。パケット化部１６は、ひとかたまりのＰＣＭデータ列を例えばＵＤＰ等の任意のプロトコルを用いてパケットに変換する。パケット化部１６は、送信バッファ１７にパケットを一時的に格納する。制御部１１は、送信バッファ１７からパケットを取り出して、時刻差情報Ｔｄｉｆ及びセッションＩＤを含むヘッダを追加して、ネットワークインターフェース１３を介して、各受信装置２００にパケットを送信する。
【００２３】
図３は、各受信装置２００（及び送信装置１００の受信装置としての機能）の構成を示すブロック図である。受信装置２００は、制御部２１と、メモリ２２（ＲＯＭ、ＲＡＭ等）と、受信処理部２３と、キュー管理部２４と、再生処理部２５とを概略備える。制御部２１は、メモリ２２に格納されている受信装置２００の動作プログラムを実行することによって、受信装置２００の各部を制御するものであり、マイコンやＣＰＵ等である。
【００２４】
受信処理部２３は、送信装置１００からネットワーク経由で送信された曲データのパケットを受信し、チャンクを生成する。チャンクはひとかたまりのＰＣＭデータ列にヘッダを付加したものである。受信処理部２３は、パケット受信部２３Ａと、パケット解析部２３Ｂと、チャンク生成部２３Ｃと、キュー操作部２３Ｄとを有する。パケット受信部２３Ａは、ネットワーク経由で送信装置１００から送信されたパケットを受信し、パケット解析部２３Ｂに供給する。パケット受信部２３Ａは、パケットを受信した時刻を受信開始時刻として特定し、メモリ２２に保存する。パケット解析部２３Ｂは、パケットのヘッダに含まれている時刻差情報Ｔｄｉｆ及びセッションＩＤを取得する。また、パケット解析部２３Ｂは、受信したパケットに含まれているセッションＩＤが変更されたか否かを判断し、変更されているとき、所定の遅延時間から時刻差情報Ｔｄｉｆを減算し、再生遅延時間Ｔｄｅｌａｙを算出する。チャンク生成部２３Ｃは、パケットからチャンクを生成し、キュー管理部２４に供給する。キュー操作部２３Ｄは、キューの生成及び削除を制御する。
【００２５】
キュー管理部２４は、例えばセッションＩＤ単位でキューを作成し、キューにチャンクを格納する。キューに格納されたチャンクは再生処理部２５に出力される。
【００２６】
再生処理部２５は、キュー管理部２４から読み出したチャンクを再生し、音声信号を出力する。再生処理部２５は、チャンク処理部２５Ａと、音声出力部２５Ｂとを概略有する。チャンク処理部２５Ａは、キューからチャンクを読み出して、チャンクからＰＣＭデータ列を取り出す。音声出力部２５Ｂは、チャンク処理部２５ＡからのＰＣＭデータ列を自身が備えるバッファ（音声出力バッファ）に一時的に格納したあと、音声出力を実行する。
【００２７】
以上の構成を有するコンテンツ再生システムの動作を説明する。
図４は、送信装置１００、受信装置２００Ａ、２００Ｂ、２００Ｃのパケット送信及び再生開始時刻を説明するシーケンス図である。図５、図６は、送信装置１００の制御部１１等の処理を示すフローチャートであり、図７、図８は、受信装置２００の制御部２１等の処理を示すフローチャートである。
【００２８】
まず、図５を参照し、コンテンツデータのパケットＡを各受信装置２００に送信する際の処理を説明する。送信装置１００の制御部１１は、パケットＡの送信対象となる受信装置２００のインデックスｉを０に初期化する（Ｓ１）。制御部１１は、現在の時刻を基準時刻Ｔｂａｓｅとして測定し、メモリ１２に保存する（Ｓ２）。
【００２９】
ここで、基準時刻Ｔｂａｓｅは、パケットＡを最初に送信する受信装置２００Ａへの送信時刻Ｔｓｅｎｄであってもよい。この場合、受信装置２００Ａに送信する時刻差情報Ｔｄｉｆは０となる。
【００３０】
制御部１１は、インデックスｉがＮ未満であるか否かを判断する（Ｓ３）。Ｎは、パケットを送信すべき受信装置２００の数であり、本例の場合３である。つまり、全ての受信装置２００に対してパケットＡを送信し終えたか否かが判断される。全ての受信装置２００に対してパケットＡを送信し終えた場合（Ｓ３でＮＯ）、Ｓ１に戻って、次のパケットＢの送信処理に移る。
【００３１】
未だ全ての受信装置２００に対してパケットＡを送信し終えていない場合（Ｓ３でＹＥＳ）、制御部１１は、現在時刻を、インデックスｉの受信装置２００に対してパケットＡを送信する時刻である送信時刻Ｔｓｅｎｄとして計測し、メモリ１２に保存する（Ｓ４）。送信時刻Ｔｓｅｎｄは、詳細には、送信バッファ１７にヘッダを付加してネットワークインターフェース１３に送信する時刻である。
【００３２】
続いて、制御部１１は、基準時刻Ｔｂａｓｅから送信時刻Ｔｓｅｎｄを減算し、時刻差情報Ｔｄｉｆを算出する（Ｓ５）。制御部１１は、送信バッファ１７からパケットＡを読み出して、パケットＡのヘッダに時刻差情報Ｔｄｉｆと、セッションＩＤとを付加する（Ｓ６）。セッションＩＤは、ひとかたまりのパケットのグループを示す識別情報である。制御部１１は、ネットワークインターフェース１３を介してパケットＡをインデックスｉの受信装置２００に送信する（Ｓ７）。その後、インデックスｉをインクリメントし（Ｓ８）、処理はＳ３に戻る。従って、送信対象の全ての受信装置２００に対して上記の処理を繰返し、時刻差情報Ｔｄｉｆを含むパケットＡを送信する。
【００３３】
図４に示すように、受信装置２００ＡにパケットＡを送信する時刻はＴｓｅｎｄ１であり、受信装置２００Ａに送信されるパケットＡのヘッダに含まれる時刻差情報Ｔｄｉｆ１は、Ｔｂａｓｅ−Ｔｓｅｎｄ１である。受信装置２００ＢにパケットＡを送信する時刻はＴｓｅｎｄ２であり、受信装置２００Ｂに送信されるパケットＡのヘッダに含まれる時刻差情報Ｔｄｉｆ２は、Ｔｂａｓｅ−Ｔｓｅｎｄ２である。受信装置２００ＣにパケットＡを送信する時刻はＴｓｅｎｄ３であり、受信装置２００Ｃに送信されるパケットＡのヘッダに含まれる時刻差情報Ｔｄｉｆ３は、Ｔｂａｓｅ−Ｔｓｅｎｄ３である。
【００３４】
図６は、制御部１１のセッションＩＤの変更処理を示す。制御部１１は、送信対象のパケットに関して、次の曲に変更されるパケットであるか否かを判断する（Ｓ１１）。次の曲に変更されるパケットである場合（Ｓ１１でＹＥＳ）、制御部１１は、セッションＩＤを変更する（Ｓ１３）。次の曲のパケットではない場合（Ｓ１１でＮＯ）、制御部１１は、ユーザ操作によって曲データの再生を停止する指示が入力されたか、又は、シーク（曲データの再生位置を変更する）処理が実行されているかが判断される（Ｓ１２）。Ｓ１２でＹＥＳの場合、制御部１１は、セッションＩＤを変更する（Ｓ１３）。Ｓ１２でＮＯの場合、Ｓ１１に戻る。以上のように、曲データが無音となるような任意のタイミングにおいて、セッションＩＤが変更される。後述のように、セッションＩＤが変更されるときに、パケットの同期処理が実行されるので、セッションＩＤを無音期間に変更することで、音切れを防止できる。
【００３５】
図７に示すように、受信装置２００の制御部２１は、パケット解析部２３Ａによって、送信装置１００からパケットを受信したか否かを判断する（Ｓ２１）。受信した場合（Ｓ２１でＹＥＳ）、パケット受信部２３Ａは、現在時刻をパケット受信時刻として計測し、メモリ２２に保存する（Ｓ２２）。パケット解析部２３Ｂは、制御部２１の指示によって、パケットのヘッダからセッションＩＤを取得し（Ｓ２３）、前回受信したパケットのセッションＩＤと異なっているか（つまり、セッションＩＤが変更されたか）否かを判断する（Ｓ２４）。セッションＩＤが変更されていない場合（Ｓ２４でＮＯ）、同期処理を実行せずに、チャンク生成部２３Ｃがパケットからチャンクを生成し、キューにチャンクを供給する（Ｓ２５）。つまり、同期処理を行わずに、再生を継続する。
【００３６】
セッションＩＤが変更されている場合（Ｓ２４ででＹＥＳ）、チャンク生成部２３Ｃは、受信したパケットを直ぐにはキューに出力することなく、同期処理を実行する（Ｓ２６）。
【００３７】
同期処理を図８に示す。パケット解析部２３Ｂは、制御部２１の指示に応じて、パケットのヘッダから時刻差情報Ｔｄｉｆを取得する（Ｓ３１）。パケット解析部２３Ｂは、所定の遅延時間から時刻差情報Ｔｄｉｆを減算し、当該パケットの再生遅延時間Ｔｄｅｌａｙを算出し、メモリ２２に保存する（Ｓ３２）。チャンク生成部２３Ｃは、制御部２１の指示に応じて、パケット受信時刻から再生遅延間Ｔｄｅｌａｙ経過したか否かを判断し、パケット受信時刻から再生遅延間Ｔｄｅｌａｙ経過するまでの間待機する（Ｓ３３）。パケット受信時刻から再生遅延間Ｔｄｅｌａｙ経過したとき（Ｓ３３でＹＥＳ）、キュー操作部２３Ｄは、これまで使用していたキューを削除する（Ｓ３４）。もし、これまでのキューにチャンクが存在する場合には、同期を行うためにキューを削除し、削除されたキューに格納されているチャンクは削除され再生されない。キュー操作部２３Ｄは、新たなキューを作成し、チャンク生成部２３Ｃは、同期対象のパケットからチャンクを生成し、新たに生成したキューに格納する（Ｓ３５）。従って、パケット受信時刻から再生遅延時間Ｔｄｅｌａｙ経過したときに、当該パケットが再生開始される。
【００３８】
図４に示すように、送信装置１００から送信されたパケットが各受信装置２００に到達するまでに要する時間は全て同じであるとし、受信装置２００ＡがパケットＡを受信する時刻をＴｒｅｃｅ１とし、受信装置２００ＢがパケットＡを受信する時刻をＴｒｅｃｅ２とし、受信装置２００ＣがパケットＡを受信する時刻をＴｒｅｃｅ３とし、受信装置２００Ａの再生遅延時間をＴｄｅｌａｙ１とし、受信装置２００Ｂの再生遅延時間をＴｄｅｌａｙ２とし、受信装置２００Ｃの再生遅延時間をＴｄｅｌａｙ３とすると、Ｔｒｅｃｅ１＋Ｔｄｅｌａｙ１＝Ｔｒｅｃｅ２＋Ｔｄｅｌａｙ２＝Ｔｒｅｃｅ３＋Ｔｄｅｌａｙ３となり、受信装置２００Ａ、２００Ｂ、２００Ｃは、全て同じ時刻にパケットＡを再生開始する。
【００３９】
上記の実施形態においては、セッションＩＤが変更されるパケットのみにおいて同期処理を行っているが、全てのパケットにおいて同期処理を行うことも可能である。しかし、無音でない区間で同期処理を行うと、音切れが生じる可能性があるので、無音区間でセッションＩＤを変更し、セッションＩＤが変更されるパケットのみにおいて同期処理を行うことで、音切れを防止できる。
【００４０】
次に、本発明の別の実施形態を説明する。送信装置１００の処理の負荷に応じて、送信バッファ１７からネットワークインターフェース１３にパケットが送信されたときから、実際にネットワークインターフェース１３から受信装置２００にパケットが送信されるまでの時間が遅延することが想定される。この場合、送信時刻Ｔｓｅｎｄを測定し、時刻差情報Ｔｄｉｆをパケットに含めて受信装置２００に送信しても、各受信装置２００においてパケットの再生開始時刻にずれが生じる可能性がある。
【００４１】
そこで、本実施形態では、ネットワークインターフェース１３から受信装置２００にパケットＡが実際に送信された実送信時刻Ｔｒｓｅｎｄを測定し、実送信時刻Ｔｒｓｅｎｄと送信時刻Ｔｓｅｎｄとの差である送信時刻誤差（Ｔｒｓｅｎｄ−Ｔｓｅｎｄ）を算出し、次のパケットＢのヘッダに付加する。受信装置２００は、次のパケットＢを受信したときに、ヘッダから送信時刻誤差（Ｔｒｓｅｎｄ−Ｔｓｅｎｄ）を取得し、前のパケットＡの再生遅延時間Ｔｄｅｌａｙを補正する。詳細には、補正後の再生遅延時間Ｔｄｅｌａｙ’は、Ｔｄｅｌａｙ−（送信時刻誤差（Ｔｒｓｅｎｄ−Ｔｓｅｎｄ））によって求められる。これにより、各受信装置２００は、パケットの再生時刻を同期させることができる。
【００４２】
図９は、送信装置１００の処理を示すフローチャートであり、図５と同一処理には同一符号を付し説明を援用する。まず、例えば、パケットＡを受信装置２００Ａに送信する際の処理において、制御部１１は、パケットＡがネットワークインターフェース１３から実際に送信される実送信時刻Ｔｒｓｅｎｄ１を計測する（Ｓ４２）。制御部１１は、計測した実送信時刻Ｔｒｓｅｎｄ１から、送信時刻Ｔｓｅｎｄ１を減算し、送信時刻誤差を算出し、メモリ１２に保存する（Ｓ４３）。この処理は、他の受信装置２００Ｂ、２００ＣへのパケットＡの送信処理においても同様に実行される。
【００４３】
続いて、パケットＡの次のパケットＢを受信装置２００Ａに送信する際の処理において、制御部１１は、前のパケットＡの送信時刻誤差を、次のパケットＢのヘッダに付加する（Ｓ４１）。従って、次のパケットＢの送信の時に、前のパケットＡの送信時刻誤差が受信装置２００Ａに送信される。この処理は、他の受信装置２００Ｂ、２００ＣへのパケットＢの送信処理においても同様に実行される。
【００４４】
図１０は、受信装置２００の再生遅延時間補正処理を示すフローチャートである。パケット受信部２３ＡがパケットＢを受信すると（Ｓ５１でＹＥＳ）、パケット解析部２３Ｂは、パケットＢのヘッダから前のパケットＡの送信時刻誤差を取得する（Ｓ５２）。チャンク生成部２３Ｃは、メモリ２２に保存されているパケットＡの再生遅延時間ＴｄｅｌａｙからパケットＡの送信時刻誤差を減算し、パケットＡの再生遅延時間Ｔｄｅｌａｙを補正する。
【００４５】
以上の処理によって、送信バッファ１７からネットワークインターフェース１３にパケットが送信されたときから、実際にネットワークインターフェース１３から受信装置２００にパケットが送信されるまでの時間が、受信装置２００側においてのちに、再生遅延時間Ｔｄｅｌａｙから減算されることによって、各受信装置２００のパケットの再生開始時刻を一致させることができる。
【００４６】
以上、本発明の好ましい実施形態を説明したが、本発明はこれらの実施形態には限定されない。本発明の送信装置１００、受信装置２００を動作させるためのコンピュータプログラムまたはそのコンピュータプログラムを記録した記録媒体という形態で提供されてもよい。
【産業上の利用可能性】
【００４７】
本発明は送信装置と受信装置とを備えるコンテンツ再生システムに好適に適用され得る。
【符号の説明】
【００４８】
１００      送信装置
１１        制御部
１２        メモリ
１３        ネットワークインターフェース
１４        受信バッファ
１５        デコーダ
１６        パケット化部
１７        送信バッファ
２００      受信装置
２１        制御部
２２        メモリ
２３        受信処理部
２３Ａ      パケット受信部
２３Ｂ      パケット解析部
２３Ｃ      チャンク生成部
２３Ｄ      キュー操作部
２４        キュー管理部
２４Ａ      キュー
２５        再生処理部
２５Ａ      チャンク処理部
２５Ｂ      音声出力部
３００      サーバ
【図１】
2013121029.tif 000003
【図２】
2013121029.tif 000004
【図３】
2013121029.tif 000005
【図４】
2013121029.tif 000006
【図５】
2013121029.tif 000007
【図６】
2013121029.tif 000008
【図７】
2013121029.tif 000009
【図８】
2013121029.tif 000010
【図９】
2013121029.tif 000011
【図１０】
2013121029.tif 000012