(58)【調査した分野】(Int.Cl.,DB名)
MMT(MPEG Media Transport)方式を用いて送信装置から複数の受信端末へ映像信号を送信するシステムの下で、前記複数の受信端末が1台のマスタの受信端末及び1台または複数台のスレーブの受信端末からなる場合に、前記複数の受信端末の間で同期させた前記映像信号を提示して再生する前記マスタの受信端末において、
前記送信装置から送信された前記映像信号のMPU(Media Processing Unit)、及び当該映像信号のMPUの前記送信装置における送信時刻を基準に時刻を指定したPTS(Presentation Time Stamp)を受信する受信部と、
前記映像信号のMPUが実際に復号されて先頭フレームが提示された提示時刻を特定し、前記提示時刻から前記PTSの時刻を減算し、減算結果の時間をPTSオフセットに決定するPTSオフセット決定部と、
前記PTSオフセット決定部により決定された当該マスタの受信端末の前記PTSオフセット、及び前記スレーブの受信端末により決定され前記スレーブの受信端末から取得したPTSオフセットのうち、最大値を共通PTSオフセットに決定する共通オフセット決定部と、
前記共通オフセット決定部により決定された前記共通PTSオフセットを、前記スレーブの受信端末へ送信する送信部と、
前記PTSオフセット決定部により決定された当該マスタの受信端末の前記PTSオフセットと前記共通オフセット決定部により決定された前記共通PTSオフセットとが同じである場合、前記映像信号のMPUの符号データをバッファリングすることなく復号するための復号タイミング制御信号を出力し、前記PTSオフセットと前記共通PTSオフセットとが異なる場合、前記共通PTSオフセットから前記PTSオフセットを減算した結果をバッファリング時間として前記映像信号のMPUの符号データをバッファリングした後に復号するための復号タイミング制御信号を出力し、UTC(Coordinated Universal Time)に基づく前記複数の受信端末で共通したアプリ時計に従って、前記映像信号のMPUを提示するための提示タイミング制御信号を出力するタイミング制御部と、
を備えたことを特徴とする受信端末。
MMT(MPEG Media Transport)方式を用いて送信装置から複数の受信端末へ映像信号を送信するシステムの下で、前記複数の受信端末が1台のマスタの受信端末及び1台または複数台のスレーブの受信端末からなる場合に、前記複数の受信端末の間で同期させた前記映像信号を提示して再生する前記スレーブの受信端末において、
前記送信装置から送信された前記映像信号のMPU(Media Processing Unit)、及び当該映像信号のMPUの前記送信装置における送信時刻を基準に時刻を指定したPTS(Presentation Time Stamp)を受信する第1の受信部と、
前記映像信号のMPUが実際に復号されて先頭フレームが提示された提示時刻を特定し、前記提示時刻から前記PTSの時刻を減算し、減算結果の時間をPTSオフセットに決定するPTSオフセット決定部と、
前記PTSオフセット決定部により決定された当該スレーブの受信端末の前記PTSオフセットを、前記マスタの受信端末へ送信する送信部と、
前記マスタの受信端末のPTSオフセット及び前記スレーブの受信端末のPTSオフセットのうちの最大値を共通PTSオフセットとして、前記マスタの受信端末から受信する第2の受信部と、
前記PTSオフセット決定部により決定された当該スレーブの受信端末の前記PTSオフセットと前記第2の受信部により受信された前記共通PTSオフセットとが同じである場合、前記映像信号のMPUの符号データをバッファリングすることなく復号するための復号タイミング制御信号を出力し、前記PTSオフセットと前記共通PTSオフセットとが異なる場合、前記共通PTSオフセットから前記PTSオフセットを減算した結果をバッファリング時間として前記映像信号のMPUの符号データをバッファリングした後に復号するための復号タイミング制御信号を出力し、UTC(Coordinated Universal Time)に基づく前記複数の受信端末で共通したアプリ時計に従って、前記映像信号のMPUを提示するための提示タイミング制御信号を出力するタイミング制御部と、
を備えたことを特徴とする受信端末。
【発明を実施するための形態】
【0028】
以下、本発明を実施するための形態について図面を用いて詳細に説明する。
〔本発明の概要〕
まず、本発明の概要について説明する。
図1は、本発明の概要を説明するための全体システムを示す構成図である。このシステムは、送信装置1及び複数の受信端末2−1,2−2等を備えて構成される。送信装置1と受信端末2−1,2−2等とは、例えば放送波が伝送される放送伝送路、またはインターネットの通信伝送路(通信回線)である伝送路3−1,3−2等によりそれぞれ接続される。
【0029】
送信装置1は、映像信号及び音声信号のMPUを送信する時刻のUTCを基準に、そのMPUのPTSを指定する。そして、送信装置1は、映像信号及び音声信号のMPU、並びにそのPTSを、伝送路3−1,3−2等を介して受信端末2−1,2−2等へ送信する。
【0030】
受信端末2−1,2−2等は、送信装置1から送信された映像信号及び音声信号のMPU、並びにそのPTSを、伝送路3−1,3−2等を介して受信する。受信端末2−1,2−2等において、PTSが既に過去の時刻となった場合には、PTSにて指定された時刻に、映像信号及び音声信号のMPUを提示することができない。また、受信した瞬間にはPTSが未来の時刻であったとしても、復号処理時間を考慮すると、PTSにて指定された時刻までにMPUを復号し、提示を間に合わせることができない場合も起こり得る。
【0031】
このため、受信端末2−1,2−2等は、PTSで指定された時刻のUTCに対し、それぞれの受信環境に応じた伝送遅延時間及び処理遅延時間の和を考慮したオフセット(以下、PTSオフセットという。)を加算した時刻に、そのMPUを提示することとなる。伝送遅延時間は、伝送路3−1,3−2等による遅延時間である。
【0032】
図2は、受信端末2−1,2−2の間でPTSオフセットが異なる場合の提示タイミングを説明する図である。横軸はUTCを示す。送信装置1により指定されるPTSを時刻T
Sとする。また、伝送路3−1の伝送遅延時間をΔt
d1、受信端末2−1の処理遅延時間をΔt
p1とし、伝送路3−2の伝送遅延時間をΔt
d2、受信端末2−2の処理遅延時間をΔt
p2とする。
図2の送信装置1は、MPUの送信時刻をそのまま、そのMPUのPTSとして指定している。そうすると、受信端末2−1におけるPTSオフセットΔt1はΔt
d1+Δt
p1となり、受信端末2−2におけるPTSオフセットΔt2はΔt
d2+Δt
p2となる。
【0033】
受信端末2−1は、PTSで指定された時刻T
SにPTSオフセットΔt1を加算し、加算結果の時刻T
S+Δt1に、映像信号及び音声信号のMPUを提示する。また、受信端末2−2は、PTSで指定された時刻T
SにPTSオフセットΔt2を加算し、加算結果の時刻T
S+Δt2に、映像信号及び音声信号のMPUを提示する。
【0034】
図2に示したように、受信端末2−1,2−2の時計がUTCに同期していたとしても、受信端末2−1,2−2の間でPTSオフセットΔt1,Δt2が異なる場合には、MPUの提示処理は同期しない。
【0035】
そこで、本発明の実施形態では、受信端末2−1,2−2等の間でMPUの提示処理の同期を確立するために、受信端末2−1,2−2等の間で共通のPTSオフセット(以下、共通PTSオフセットという。)を用いる。
【0036】
図3は、共通PTSオフセットを用いた場合の提示タイミングを説明する図である。横軸はUTCを示す。
図2と同様に、送信装置1により指定されるPTSを時刻T
Sとする。また、受信端末2−2におけるPTSオフセットΔt2が、受信端末2−1におけるPTSオフセットΔt1よりも大きいものとする。
【0037】
この場合の共通PTSオフセットΔCTは、全てのPTSオフセットΔt1,Δt2のうち最大のオフセット値であるPTSオフセットΔt2が用いられる。
【0038】
受信端末2−1は、共通PTSオフセットΔCTから自らのPTSオフセットΔt1を減算し、減算結果の時間の間、映像信号及び音声信号のMPUをバッファリングし、その後に、映像信号及び音声信号のMPUを提示する。つまり、受信端末2−1は、PTSで指定された時刻T
Sに共通PTSオフセットΔCTを加算し、加算結果の時刻T
S+ΔCTに、映像信号及び音声信号のMPUを提示する。また、受信端末2−2は、PTSで指定された時刻T
SにPTSオフセットΔt2である共通PTSオフセットΔCTを加算し、加算結果の時刻T
S+ΔCTに、映像信号及び音声信号のMPUを提示する。受信端末2−2はバッファリングを行わない。
【0039】
図3に示したように、受信端末2−1,2−2間でPTSオフセットΔt1,Δt2が異なる場合であっても、PTSオフセットΔt1,Δt2のうちの最大値を共通PTSオフセットΔCTとして用いるようにした。これにより、受信端末2−1,2−2間でMPUの提示処理を同期させることができる。
【0040】
このように、受信端末2−1,2−2等の間で共通PTSオフセットΔCTを用いて、映像信号及び音声信号のMPUを提示する。この仕組みを放送及び通信連携サービスに適用することにより、放送及び通信連携サービスを実現するための同期を確立することが可能となる。
【0041】
〔全体システム〕
次に、本発明の実施形態による受信端末を含む全体システムについて説明する。
図4は、本発明の実施形態による受信端末を含む全体システムの例を示す構成図である。このシステムは、送信装置1及び受信端末2−1,2−2,2−3を備えて構成される例であり、送信装置1から送信された映像信号及び音声信号を、受信端末2−1,2−2,2−3にて同じUTCの時刻に再生する。つまり、送信装置1から送信された映像信号及び音声信号の再生処理(映像信号及び音声信号のMPUの提示処理)を、受信端末2−1,2−2,2−3間で同期させる。
【0042】
送信装置1と受信端末2−1,2−2,2−3とは、例えば放送波が伝送される放送伝送路、またはインターネットの通信伝送路である伝送路3−1,3−2,3−3によりそれぞれ接続される。伝送路3−1,3−2,3−3は、同じ種類の伝送路であってもよいし、異なる種類の伝送路であってもよい。また、受信端末2−1,2−2,2−3は互いに、例えばインターネットやLANの通信伝送路である伝送路3−4により接続される。
【0043】
送信装置1及び受信端末2−1,2−2,2−3は、図示しないNTPサーバからインターネットの通信伝送路を介して、UTCを含むNTPパケットを定期的に受信する。受信端末2−1,2−2,2−3については、OSの制御によるNTPパケットに基づいたシステム時計の補正が行われることがある。ただし、OSが管理するシステム時計は、参照先のNTPサーバの違いや、前回補正されてからの時間経過により、受信端末2−1,2−2,2−3間で精確に同期することは保証されない。
【0044】
送信装置1は、映像信号を例えばHEVC(High Efficiency Video Coding)にて符号化すると共に、音声信号を例えばAAC(Advanced Audio Coding)にて符号化し、映像信号及び音声信号の符号データを生成し、映像信号及び音声信号のMPUを生成する。
【0045】
送信装置1は、映像信号及び音声信号のMPUを送信する時刻のUTCを基準に、そのMPUのPTSを指定する。そして、送信装置1は、映像信号及び音声信号のMPUを、MFUを単位としてMMTPパケットに格納すると共に、PTS等の制御情報をMMTPパケットに格納し、IPパケットを生成する。送信装置1は、IPパケットを、伝送路3−1,3−2,3−3を介して受信端末2−1,2−2,2−3へそれぞれ送信する。
【0046】
ここで、受信端末2−1,2−2,2−3のうちの受信端末2−1がマスタの端末であり、他の受信端末2−2,2−3がスレーブの端末であるとする。このようなマスタ及びスレーブの種別は、ユーザにより予め設定されるか、または受信端末2−1,2−2,2−3間の通信により自動的に決定されるものとする。受信端末2−1は、自らがマスタであることが設定されマスタとして動作し、受信端末2−2,2−3は、自らがスレーブであること及び受信端末2−1がマスタであることが設定されスレーブとして動作する。
【0047】
受信端末2−1,2−2,2−3は、送信装置1から伝送路3−1,3−2,3−3を介してIPパケットを受信し、IPパケットに含まれるMMTPパケットから、映像信号及び音声信号のMPU並びにPTS等の制御情報を抽出する。
【0048】
受信端末2−1,2−2,2−3は、MPUを復号して提示可能となった時刻と、当該MPUに対応するPTSの時刻とを比較することにより、PTSオフセットΔt1,Δt2,Δt3をそれぞれ決定する。
【0049】
受信端末2−1は、PTSオフセットΔt2,Δt3をそれぞれ含む後述する同期パケットを、受信端末2−2,2−3から受信し、PTSオフセットΔt1,Δt2,Δt3のうちの最大値を共通PTSオフセットΔCTに決定する。
【0050】
受信端末2−1,2−2,2−3は、共通PTSオフセットΔCTから自らのPTSオフセットΔt1,Δt2,Δt3を減算し、減算結果の時間の間、映像信号及び音声信号のMPUをバッファリングし、その後、映像信号及び音声信号のMPUを復号して提示する。つまり、受信端末2−1,2−2,2−3は、PTSで指定された時刻T
Sに対し共通PTSオフセットΔCTを加算し、加算結果の時刻T
S+ΔCTのタイミングで、映像信号及び音声信号のMPUを提示する。加算結果の時刻T
S+ΔCTのタイミングは、後述するアプリ時計の時刻に従ったタイミングである。尚、自らのPTSオフセットΔt1,Δt2,Δt3と共通PTSオフセットΔCTとが同じ場合、バッファリング処理は不要である。
【0051】
また、受信端末2−1は、OSの制御によるシステム時計の時刻補正とは別に、NTPサーバから取得したUTCの時刻に基づいて、当該受信端末2−1のアプリケーションのソフトウェアが使用する時刻情報(以下、アプリ時計の時刻という。)を生成する。受信端末2−2,2−3は、受信端末2−1から同期パケットを受信し、同期パケットに含まれる受信端末2−1のアプリ時計の時刻に基づいて、自らのアプリケーションのソフトウェアが使用するアプリ時計の時刻を受信端末2−1のアプリ時計に合わせる。アプリ時計は、受信端末2−1,2−2,2−3のOSが管理するシステム時計とは別に、映像信号及び音声信号の再生処理等を行うアプリケーションのソフトウェアが自ら管理し、使用する時計である。受信端末2−1,2−2,2−3は、システム時計とアプリ時計の差分値を示す変数を保持し、システム時計にこの差分値を加算することで、アプリ時計の時刻を生成することができる。
【0052】
これにより、受信端末2−1,2−2,2−3は、UTCに基づいた同じアプリ時計の時刻を用いて、映像信号及び音声信号のMPUの提示処理を行うことができる。これにより、OSに管理されたシステム時計のみを用いる場合よりも、受信端末2−1,2−2,2−3間で、映像信号及び音声信号のMPUの提示処理をより精確に同期させることができる。
【0053】
〔同期パケットの送受信処理〕
次に、同期パケットの送受信処理について説明する。前述のとおり、同期パケットは、共通PTSオフセットΔCTを決定するために、及び受信端末2−1,2−2,2−3間でそれぞれのアプリ時計を合わせるために、受信端末2−1と受信端末2−2,2−3との間で送受信される。
【0054】
図5は、同期パケットの送受信シーケンス例を説明する図である。受信端末2−2は、PTSオフセットΔt2を決定し、PTSオフセットΔt2を含む同期パケットを受信端末2−1へ送信する(a)。同様に、受信端末2−3は、PTSオフセットΔt3を決定し、PTSオフセットΔt3を含む同期パケットを受信端末2−1へ送信する(b)。
【0055】
受信端末2−1は、受信端末2−2,2−3からPTSオフセットΔt2,Δt3を受信し、PTSオフセットΔt1,Δt2,Δt3のうちの最大値を共通PTSオフセットΔCTに決定する。そして、受信端末2−1は、共通PTSオフセットΔCTを含む同期パケットを受信端末2−2,2−3へ送信する(c,d)。受信端末2−2,2−3は、受信端末2−1から共通PTSオフセットΔCTを受信する。
【0056】
受信端末2−1,2−2,2−3は、共通PTSオフセットΔCTから自らのPTSオフセットΔt1,Δt2,Δt3を減算した結果に応じて、映像信号及び音声信号のMPUをバッファリングし、映像信号及び音声信号のMPUを提示する。
【0057】
(同期パケット)
図6は、同期パケットのデータ構成例を示す図である。この同期パケットは、ポーリング間隔PT、開始タイムスタンプT1、受信タイムスタンプT2、送信タイムスタンプT3、受信中のMMTパッケージID、PTSオフセットΔtまたは共通PTSオフセットΔCT、及び予備データから構成される。
図6に示す構造の同期パケットを用いることで、受信端末2−1,2−2,2−3間でのアプリ時計の時刻同期と、共通PTSオフセットΔCTの共有とを、一往復のパケット通信により同時に実現することができる。
【0058】
図6では、ポーリング間隔PTは8ビット長、開始タイムスタンプT1は64ビット長、受信タイムスタンプT2は64ビット長である。送信タイムスタンプT3は64ビット長、受信中のMMTパッケージIDは32ビット長、PTSオフセットΔtまたは共通PTSオフセットΔCTは64ビット長である。
図6に示す構造の同期パケットは、先頭から送信タイムスタンプT3までがNTPで規定されるNTPパケットの構造と同一である。
図6に示す構造の同期パケットは、先頭から送信タイムスタンプT3までがNTPで規定されるNTPパケットの構造と同一である。ただし、同期パケットでは用いない領域を予約領域(Reserved)として示している。
【0059】
ポーリング間隔PTには、スレーブが送信する同期パケットの送信周期が設定される。この送信周期は、NTPが規定する方式と同様に指定することができ、前記例では受信端末2−2,2−3により設定される。開始タイムスタンプT1は、スレーブが送信する同期パケットの送信時刻であり、前記例では受信端末2−2,2−3により設定される。受信タイムスタンプT2は、マスタが受信する同期パケットの受信時刻であり、前記例では受信端末2−1により設定される。
【0060】
送信タイムスタンプT3は、マスタが送信する同期パケットの送信時刻であり、前記例では受信端末2−1により設定される。受信中のMMTパッケージIDは、スレーブが受信中の映像信号及び音声信号に関する番組(チャンネル)を識別するためのIDであり、前記例では受信端末2−2,2−3により設定される。この受信中のMMTパッケージIDは、送信装置1から送信される制御情報に含まれる情報である。
【0061】
PTSオフセットΔtは、スレーブからマスタへ送信されるスレーブのPTSオフセットであり、前記例では受信端末2−2,2−3により設定される。共通PTSオフセットΔCTは、マスタからスレーブへ送信されるオフセットであり、前記例では受信端末2−1により設定される。
【0062】
〔受信端末2の構成〕
次に、受信端末2−1,2−2,2−3(総称して受信端末2という。)の構成について説明する。
図7は、受信端末2の構成例を示すブロック図である。この受信端末2は、ユーザインタフェース処理部10、無線LANインタフェース11、システム時計12、符号データバッファ13、復号器14、復号済データバッファ15、ディスプレイ16、スピーカ17、パケット受信部20、制御情報処理部21、符号データ結合部22、アプリ時計生成部23及び同期提示制御部24を備えている。
【0063】
受信端末2は、例えばタブレット端末、スマートフォン等のモバイル端末、またはスマートテレビである。無線LANインタフェース11からスピーカ17までの各構成部の処理は、当該受信端末2のOS及びハードウェアにより行われる。また、ユーザインタフェース処理部10及びパケット受信部20から同期提示制御部24までの各構成部の処理は、MMT受信機能を実装したアプリケーションにより行われる。
【0064】
ユーザインタフェース処理部10は、ユーザの操作に従い、同期パラメータの一つとしてマスタの端末のIPアドレスを同期提示制御部24に設定する。これにより、受信端末2−1は自らのIPアドレスが指定されることでマスタに設定され、受信端末2−2,2−3は他端末のIPアドレスが指定されることでスレーブに設定される。その他の同期パラメータとして、受信端末2−1には、NTPサーバに対する時刻参照の周期、受信端末2−2,2−3には、同期パケットのポーリング間隔が設定され得る。尚、
図7において、ユーザインタフェース処理部10から各部に入力される設定項目は、ユーザ操作に従う以外に、受信端末間の通信等によって設定され得る(図示せず)。
【0065】
ユーザインタフェース処理部10は、ユーザの操作に従って番組の選局を行い、受信パラメータを設定してパケット受信部20に出力する。また、ユーザインタフェース処理部10は、送信装置1から送信された制御情報に含まれるサービス情報を制御情報処理部21から入力してディスプレイ16に表示する。
【0066】
無線LANインタフェース11は、各種データを受信する受信部として機能すると共に、各種データを送信する送信部として機能する。無線LANインタフェース11は、送信装置1から、映像信号及び音声信号のMPU、並びにPTS等の制御情報を含むIPパケットを受信し、IPパケットからMMTPパケットを抽出し、MMTPパケットをパケット受信部20に出力する。MMTPパケットには、映像信号及び音声信号のMPU、並びにPTS等の制御情報が格納されている。
【0067】
無線LANインタフェース11は、受信端末2’(受信端末2−1,2−2,2−3のうち当該受信端末2以外の端末)から同期パケットを受信する。そして、無線LANインタフェース11は、同期パケットをアプリ時計生成部23及び同期提示制御部24に出力する。また、無線LANインタフェース11は、同期提示制御部24から同期パケットを入力し、同期パケットを受信端末2’へ送信する。
【0068】
無線LANインタフェース11は、OSの制御により、NTPサーバからUTCを含むNTPパケットを受信し、システム時計12に出力する(図示せず)。また、無線LANインタフェース11は、当該受信端末2がマスタである場合、アプリケーションの制御により、NTPサーバからUTCを含むNTPパケットを受信し、NTPパケットをアプリ時計生成部23に出力する。
【0069】
システム時計12は、当該受信端末2が保持する自らの時刻情報(OSの時刻)が格納されており、アプリ時計生成部23により、システム時計12の時刻が読み出される。システム時計12は、OSの制御により、無線LANインタフェース11を介してNTPサーバからUTCを含むNTPパケットが入力され、時刻情報が補正される(図示せず)。
【0070】
符号データバッファ13には、符号データ結合部22により結合された映像信号及び音声信号の符号データが格納される。また、図示しない符号データ読出部は、同期提示制御部24により出力される復号タイミング制御信号に従って、符号データバッファ13から映像信号及び音声信号の符号データを読み出して復号器14に出力する。
【0071】
復号器14は、符号データバッファ13から、同期提示制御部24からの復号タイミング制御信号に従って読み出された映像信号及び音声信号の符号データを入力する。そして、復号器14は、映像信号の符号データを復号すると共に、音声信号の符号データを復号し、復号済みデータを生成する。復号器14は、復号済みデータを復号済データバッファ15に格納する。
【0072】
復号済データバッファ15には、復号器14により復号された映像信号及び音声信号の復号済みデータが格納される。また、図示しない復号済みデータ読出部は、同期提示制御部24により出力される提示タイミング制御信号に従って、復号済データバッファ15に格納された映像信号の復号済みデータを読み出してディスプレイ16に出力する。また、復号済みデータ読出部は、音声信号の復号済みデータを読み出してスピーカ17に出力する。
【0073】
ディスプレイ16は、復号済データバッファ15から、同期提示制御部24からの提示タイミング制御信号に従って読み出された映像信号の復号済みデータを入力し、再生する。スピーカ17は、復号済データバッファ15から、同期提示制御部24からの提示タイミング制御信号に従って読み出された音声信号の復号済みデータを入力し、再生する。
【0074】
パケット受信部20は、ユーザインタフェース処理部10から受信パラメータを入力すると共に、無線LANインタフェース11からMMTPパケットを入力する。パケット受信部20は、受信パラメータに従ってMMTPパケットの受信処理を開始し、フィルタ処理、ヘッダ部の除去処理及びペイロード部のデータ抽出処理等を行う。
【0075】
パケット受信部20は、MMTPパケットから映像信号及び音声信号の符号データ、並びにPTS等の制御情報を抽出する。そして、パケット受信部20は、映像信号及び音声信号の符号データを符号データ結合部22に出力すると共に、PTS等の制御情報を制御情報処理部21に出力する。
【0076】
パケット受信部20は、制御情報処理部21からパケットIDを入力し、MMTPパケットから映像信号及び音声信号の符号データを抽出する際に、パケットIDに基づいて、所定の映像信号及び音声信号が格納されたMMTPパケットを特定する。尚、パケットIDは、映像信号及び音声信号が格納されているMMTPパケットを識別するためのIDである。
【0077】
制御情報処理部21は、パケット受信部20から制御情報のMMTPパケットが入力され、制御情報を解析してMMTパッケージテーブル、PTS等を抽出し、当該受信端末2による提示対象の映像信号及び音声信号のMPUに対応するPTSを特定する。そして、制御情報処理部21は、MMTパッケージテーブルを解析することで、所定の映像信号及び音声信号が格納されているMMTPパケットのパケットIDを抽出すると共に、当該受信端末2が受信中のMMTパッケージIDを抽出する。
【0078】
制御情報処理部21は、PTS及び受信中のMMTパッケージIDを同期提示制御部24に出力し、パケットIDをパケット受信部20に出力する。また、制御情報処理部21は、抽出した情報のうち、符号データを結合するために必要なパラメータを符号データ結合部22に出力し、サービス情報をユーザインタフェース処理部10に出力する。
【0079】
符号データ結合部22は、パケット受信部20から映像信号及び音声信号の符号データを入力すると共に、制御情報処理部21から符号データを結合するためのパラメータを入力する。そして、符号データ結合部22は、パラメータに基づいて、映像信号及び音声信号の符号データを結合し、復号器14にて復号可能な形式の符号データを生成して符号データバッファ13に格納する。符号データバッファ13に格納された符号データは、制御情報処理部21が出力するPTSに対応している。
【0080】
アプリ時計生成部23は、システム時計12からシステム時計の時刻を読み出す。また、アプリ時計生成部23は、当該受信端末2がマスタとして機能する場合、無線LANインタフェース11からNTPパケットを入力し、当該受信端末2がスレーブとして機能する場合、無線LANインタフェース11から同期パケットを入力する。そして、アプリ時計生成部23は、NTPパケットまたは同期パケットから時刻情報を抽出する。
【0081】
アプリ時計生成部23は、当該受信端末2がマスタとして機能する場合、システム時計の時刻とNTPパケットに含まれる時刻情報に基づいて差分値を算出し、これをUTCに対するシステム時計の差分値として保持する。そして、アプリ時計生成部23は、システム時計の時刻に、保持した差分値を加算することで、アプリ時計の時刻を生成する。そして、アプリ時計生成部23は、アプリ時計の時刻を同期提示制御部24に出力する。
【0082】
アプリ時計生成部23は、当該受信端末2がスレーブとして機能する場合、システム時計の時刻と同期パケットに含まれる時刻情報に基づいて差分値を算出し、これをマスタのアプリ時計に対するシステム時計の差分値として保持する。そして、アプリ時計生成部23は、システム時計の時刻に、保持した差分値を加算することで、アプリ時計の時刻を生成する。そして、アプリ時計生成部23は、アプリ時計の時刻を同期提示制御部24に出力する。アプリ時計生成部23の処理の詳細については後述する。
【0083】
これにより、スレーブのアプリ時計をマスタのアプリ時計に一致させることができ、マスタ及びスレーブ間で、アプリ時計をUTCの時刻に同期させることができる。
【0084】
同期提示制御部24は、ユーザインタフェース処理部10から同期パラメータを入力し、アプリ時計生成部23からアプリ時計の時刻を入力する。また、同期提示制御部24は、制御情報処理部21からPTS及び受信中のMTTパッケージIDを入力し、無線LANインタフェース11から同期パケットを入力する。さらに、同期提示制御部24は、同期パケットを無線LANインタフェース11に出力する。
【0085】
同期提示制御部24は、同期提示制御を行い、所定のタイミングで復号タイミング制御信号及び提示タイミング制御信号を出力する。同期提示制御部24の詳細については後述する。
【0086】
〔同期提示制御部24/マスタ〕
次に、
図7に示した同期提示制御部24について、受信端末2がマスタとして機能する場合及びスレーブとして機能する場合に分けて詳細に説明する。まず、受信端末2−1(マスタ)の同期提示制御部24について説明する。
図8は、受信端末2−1の同期提示制御部24の構成例を示すブロック図であり、
図10は、受信端末2−1の同期提示制御部24の処理例を示すフローチャートである。
【0087】
図8を参照して、この同期提示制御部24は、PTSオフセット決定部30、同期メンバ端末リスト31、同期パケット入力処理部32、共通オフセット決定部33、同期パケット出力処理部34、タイミング制御部35及び更新部36を備えている。
【0088】
以下、
図8及び
図10を参照して、マスタの同期提示制御部24の処理を詳細に説明する。まず、同期提示制御部24は、自らのPTSオフセットΔt1を決定する(ステップS1001)。
【0089】
具体的には、PTSオフセット決定部30は、所定の1つのMPUが
図7に示した復号器14により復号され、その先頭フレームが提示可能となった時刻を特定すると共に、
図7に示した制御情報処理部21から当該MPUのPTSを入力する。そして、PTSオフセット決定部30は、先頭フレームが提示可能となった時刻からPTSの時刻を減算し、減算結果をPTSオフセットΔt1に決定する。
【0090】
この減算結果の時間は、
図2に示したように、伝送路3−1の伝送遅延時間Δt
d1及び受信端末2−1の処理遅延時間Δt
p1の加算結果の時間に相当するPTSオフセットΔt1である。
【0091】
これにより、伝送遅延時間Δt
d1及び処理遅延時間Δt
p1を個別に測定することなく、PTSオフセットΔt1を直接決定することができるから、処理負荷を低減することができる。
【0092】
PTSオフセット決定部30は、当該受信端末2−1のIPアドレス及びPTSオフセットΔt1を同期メンバ端末リスト31に格納し、PTSオフセットΔt1をタイミング制御部35に出力する。PTSオフセット決定部30は、同期メンバ端末リスト31に同じ受信端末2−1のエントリが存在する場合、これらの情報を更新して格納する。
【0093】
同期提示制御部24は、ステップS1001から移行して、当該受信端末2−1が受信端末2−2,2−3から受信したPTSオフセットΔt2,Δt3等を含む同期パケットを入力する(ステップS1002)。
【0094】
以下、受信端末2−2から受信した同期パケットを入力した場合について説明する。受信端末2−3から受信した同期パケットについても同様である。同期パケット入力処理部32は、
図7に示した無線LANインタフェース11から、PTSオフセットΔt2等を含む同期パケットを入力する。そして、同期パケット入力処理部32は、同期パケットからMMTパッケージID(受信端末2−2が受信中の番組のMMTパッケージID)を抽出する。
【0095】
同期パケット入力処理部32は、
図7に示した制御情報処理部21からMMTパッケージID(受信端末2−1が受信中の番組のMMTパッケージID)を入力する。そして、同期パケット入力処理部32は、受信端末2−1のMMTパッケージIDと受信端末2−2のMMTパッケージIDとを比較する。
【0096】
同期パケット入力処理部32は、両MMTパッケージIDが一致すると判定した場合、同期パケットからPTSオフセットΔt2、ポーリング間隔PT及び開始タイムスタンプT1を抽出する。そして、同期パケット入力処理部32は、当該同期パケットの送信元である受信端末2−2のIPアドレス、PTSオフセットΔt2、ポーリング間隔PT及び開始タイムスタンプT1を同期メンバ端末リスト31に格納する。同期パケット入力処理部32は、同期メンバ端末リスト31に同じ受信端末2−2のエントリが存在する場合、これらの情報を更新して格納する。
【0097】
一方、同期パケット入力処理部32は、両MMTパッケージIDが一致しないと判定した場合、同期メンバ端末リスト31への格納処理を行わない。
【0098】
同期パケット入力処理部32は、両MMTパッケージIDの一致または不一致を示すフラグを設定し、入力した同期パケット及び設定したフラグを同期パケット出力処理部34に出力する。
【0099】
図12は、同期メンバ端末リスト31のデータ構成例を示す図である。この同期メンバ端末リスト31は、受信端末2−1,2−2,2−3のIPアドレス、PTSオフセットΔt1,Δt2,Δt3、ポーリング間隔PT及び開始タイムスタンプT1の各データにより構成される。
【0100】
受信端末2−1(マスタ)のエントリには、ポーリング間隔PT及び開始タイムスタンプT1は格納されない。
【0101】
図8及び
図10に戻って、同期提示制御部24は、ステップS1002から移行して、PTSオフセットΔt1,Δt2,Δt3のうちの最大値を共通PTSオフセットΔCTに決定する(ステップS1003)。
【0102】
具体的には、共通オフセット決定部33は、同期メンバ端末リスト31からPTSオフセットΔt1,Δt2,Δt3を読み出し、PTSオフセットΔt1,Δt2,Δt3のうちの最大値を共通PTSオフセットΔCTに決定する。そして、共通オフセット決定部33は、共通PTSオフセットΔCTを同期パケット出力処理部34及びタイミング制御部35に出力する。
【0103】
同期提示制御部24は、ステップS1003から移行して、共通PTSオフセットΔCT等を含む同期パケットを出力する(ステップS1004)。
【0104】
具体的には、同期パケット出力処理部34は、共通オフセット決定部33から共通PTSオフセットΔCTを入力すると共に、同期パケット入力処理部32から同期パケット及びフラグを入力する。また、同期パケット出力処理部34は、
図7に示したアプリ時計生成部23からアプリ時計の時刻を入力する。
【0105】
同期パケット出力処理部34は、フラグが一致を示している場合、同期パケット入力処理部32から入力した同期パケットに、共通PTSオフセットΔCT、並びにアプリ時計の時刻が反映された受信タイムスタンプT2及び送信タイムスタンプT3を設定する。そして、同期パケット出力処理部34は、同期パケットを
図7に示した無線LANインタフェース11に出力する。
【0106】
この場合、同期パケットに設定されていたPTSオフセットΔt2は、共通PTSオフセットΔCTに書き換えられる。
図6にて説明したとおり、受信タイムスタンプT2は、受信端末2−1が受信端末2−2から同期パケットを受信したときの受信時刻であり、送信タイムスタンプT3は、受信端末2−1が受信端末2−2へ同期パケットを送信するときの送信時刻を示す。これらの時刻は、アプリ時計の時刻が用いられる。
【0107】
これにより、受信端末2−2から受信した同期パケットに対する返信用のパケットとして、共通PTSオフセットΔCT、受信タイムスタンプT2及び送信タイムスタンプT3が当該同期パケットに上書きされる。そして、上書き後の同期パケットが、対応する同期パケットが送信されてきた受信端末2−2へ送信される。同様に、受信端末2−3から受信した同期パケットに対しても、返信用のパケットとして、共通PTSオフセットΔCT、受信タイムスタンプT2及び送信タイムスタンプT3が上書きされる。そして、上書き後の同期パケットが、対応する同期パケットが送信されてきた受信端末2−3へ送信される。
【0108】
一方、同期パケット出力処理部34は、フラグが不一致を示している場合、同期パケット入力処理部32から入力した同期パケットに共通PTSオフセットΔCTを設定せず、アプリ時計の時刻が反映された受信タイムスタンプT2及び送信タイムスタンプT3のみを設定する。そして、同期パケット出力処理部34は、同期パケットを
図7に示した無線LANインタフェース11に出力する。
【0109】
これにより、受信端末2−1のMMTパッケージIDと受信端末2−2のMMTパッケージIDとが異なる場合、すなわち両端末にて受信中の番組が異なる場合、受信端末2−2から受信した同期パケットに対する返信用のパケットとして、受信タイムスタンプT2及び送信タイムスタンプT3のみが上書きされた同期パケットが、受信端末2−2へ送信される。受信端末2−3についても同様である。
【0110】
同期提示制御部24は、ステップS1004から移行して、共通PTSオフセットΔCTに基づいたバッファリング処理を行い(ステップS1005)、バッファリング処理の後にMPUを提示する(ステップS1006)。
【0111】
具体的には、タイミング制御部35は、PTSオフセット決定部30からPTSオフセットΔt1を入力すると共に、共通オフセット決定部33から共通PTSオフセットΔCTを入力する。また、タイミング制御部35は、
図7に示した制御情報処理部21からPTSを入力すると共に、アプリ時計生成部23からアプリ時計の時刻を入力する。
【0112】
タイミング制御部35は、PTSの時刻(
図3ではT
S)に共通PTSオフセットΔCTを加算し、加算結果の時刻を提示時刻PTS+ΔCT(
図3ではT
S+ΔCT)として設定する。
【0113】
タイミング制御部35は、PTSオフセットΔt1と共通PTSオフセットΔCTとを比較し、両オフセットが同一である場合(ΔCT=Δt1)、バッファリング処理は不要であると判定する。一方、タイミング制御部35は、両オフセットが異なる場合(ΔCT>Δt1)、共通PTSオフセットΔCTからPTSオフセットΔt1を減算し、減算結果ΔCT−Δt1をバッファリング時間としたバッファリング処理が必要であると判定する。
【0114】
タイミング制御部35は、バッファリング処理が不要であると判定した場合、符号データバッファ13に符号データをバッファリングすることなく復号することを示す復号タイミング制御信号を、
図7に図示しない符号データ読出部に出力する。つまり、タイミング制御部35は、アプリ時計の時刻が提示時刻PTS+ΔCTのときに符号データの復号が完了してMPUを提示可能となるように、前述の復号タイミング制御信号を出力する。
【0115】
これにより、符号データは、
図7に示した符号データバッファ13にバッファリングされることなく、符号データバッファ13から読み出される。そして、
図7に示した復号器14は、符号データバッファ13から読み出された符号データを入力し、復号を行い、復号済みデータを復号済データバッファ15に格納する。
【0116】
一方、タイミング制御部35は、バッファリング処理が必要であると判定した場合、符号データバッファ13に符号データを時間ΔCT−Δt1だけバッファリングした後に復号することを示す復号タイミング制御信号を、
図7に図示しない符号データ読出部に出力する。この復号タイミング制御信号は、アプリ時計の時刻に基づいた提示時刻PTS+ΔCT(
図3ではT
S+ΔCT)のタイミングで復号器14による復号が完了して提示できるように、符号データバッファ13に符号データを時間ΔCT−Δt1だけバッファリングした後、符号データバッファ13から符号データを読み出すことを示す信号である。つまり、タイミング制御部35は、アプリ時計の時刻が提示時刻PTS+ΔCTのときに符号データの復号が完了してMPUを提示可能となるように、前述の復号タイミング制御信号を出力する。
【0117】
これにより、符号データは、
図7に示した符号データバッファ13に時間ΔCT−Δt1だけバッファリングされ、符号データバッファ13から読み出される。そして、
図7に示した復号器14は、符号データバッファ13から読み出された符号データを入力し、復号を行い、復号済みデータを復号済データバッファ15に格納する。
【0118】
このように、タイミング制御部35は、PTSオフセットΔt1及び共通PTSオフセットΔCTに基づいて、符号データの復号タイミングを制御する。尚、最終的な提示タイミングの制御は復号済データバッファ15の出力部において行うため、復号タイミングについて厳密な制御を行わなくてもよい。つまり、タイミング制御部35の制御にかかわらず、復号器14から符号データの入力を要求される場合には、バッファリング時間(ΔCT−Δt1)によらず復号器14に符号データを入力してもよい。ただし、復号済データバッファ15がオーバーフローしないことを考慮する必要がある。
【0119】
そして、タイミング制御部35は、MPUの提示処理を微調整し、アプリ時計の時刻が提示時刻PTS+ΔCTのときに、ディスプレイ16及びスピーカ17への復号済データの提示タイミングを制御するための提示タイミング制御信号を、
図7には図示しない復号済データ読出部に出力する。
【0120】
これにより、復号済データ読出部は、
図7に示した復号済データバッファ15から復号済みデータを読み出し、
図7に示したディスプレイ16は、復号済データバッファ15から読み出された映像信号の復号済みデータを入力して再生する。また、
図7に示したスピーカ17は、復号済データバッファ15から読み出された音声信号の復号済みデータを入力して再生する。
【0121】
一方で、同期提示制御部24の更新部36は、同期メンバ端末リスト31から受信端末2−2,2−3(スレーブ)毎に、開始タイムスタンプT1(前回受信した同期パケットから抽出された開始タイムスタンプT1)及びポーリング間隔PT(前回受信した同期パケットから抽出されたポーリング間隔PT)を読み出す。また、更新部36は、
図7に示したアプリ時計生成部23からアプリ時計の時刻を入力する。
【0122】
更新部36は、アプリ時計が示す現在時刻と開始タイムスタンプT1の時刻との間の差分値を算出し、ポーリング間隔PTに予め設定された時間を加えて加算時間を求める。そして、更新部36は、差分値が加算時間以上の場合に、当該開始タイムスタンプT1等に対応する受信端末2−2,2−3のエントリを同期メンバ端末リスト31から削除する。
【0123】
尚、同期メンバ端末リスト31に保持する開始タイムスタンプT1は、受信端末2−2,2−3から同期パケットを受信した受信端末2−1のアプリ時刻(受信タイムスタンプT2)に代えてもよい。具体的には、同期パケット出力処理部34は、受信タイムスタンプT2を同期メンバ端末リスト31に格納する。更新部36は、同期メンバ端末リスト31から受信タイムスタンプT2及びポーリング間隔PTを読み出し、アプリ時計が示す現在時刻と受信タイムスタンプT2の時刻との間の差分値を算出し、ポーリング間隔PTに予め設定された時間を加えて加算時間を求める。そして、更新部36は、差分値が加算時間以上の場合に、当該受信タイムスタンプT2等に対応する受信端末2−2,2−3のエントリを同期メンバ端末リスト31から削除する。
【0124】
そして、共通オフセット決定部33は、同期パケット入力処理部32が新たな同期パケットを入力して同期メンバ端末リスト31にPTSオフセット等を格納した後、同期メンバ端末リスト31に格納されたPTSオフセットを用いて、新たな共通PTSオフセットΔCTを決定する。
【0125】
このように、同期メンバ端末リスト31に残されたPTSオフセットから、共通PTSオフセットΔCTが更新され、タイミング制御部35にて、更新された共通PTSオフセットΔCTに基づく処理が行われる。また、更新された共通PTSオフセットΔCTは、受信端末2−2,2−3へ送信される。
【0126】
〔同期提示制御部24/スレーブ〕
次に、受信端末2−2(スレーブ)の同期提示制御部24について説明する。
図9は、受信端末2−2の同期提示制御部24の構成例を示すブロック図であり、
図11は、受信端末2−2の同期提示制御部24の処理例を示すフローチャートである。受信端末2−3(スレーブ)についても同様である。
【0127】
図9を参照して、この同期提示制御部24は、PTSオフセット決定部40、同期パケット出力処理部41、同期パケット入力処理部42及びタイミング制御部43を備えている。
【0128】
以下、
図9及び
図11を参照して、スレーブの同期提示制御部24の処理を詳細に説明する。まず、同期提示制御部24は、自らのPTSオフセットΔt2を決定する(ステップS1101)。
【0129】
具体的には、PTSオフセット決定部40は、
図8に示したPTSオフセット決定部30と同様に、所定の1つのMPUが
図7に示した復号器14により復号され、その先頭フレームが提示可能となった時刻を特定すると共に、
図7に示した制御情報処理部21から当該MPUのPTSを入力する。そして、PTSオフセット決定部40は、先頭フレームが提示可能となった時刻からPTSの時刻を減算し、減算結果をPTSオフセットΔt2に決定し、PTSオフセットΔt2を同期パケット出力処理部41及びタイミング制御部43に出力する。
【0130】
この減算結果の時間は、
図2に示したように、伝送路3−2の伝送遅延時間Δt
d2及び受信端末2−2の処理遅延時間Δt
p2の加算結果の時間に相当するPTSオフセットΔt2である。
【0131】
同期提示制御部24は、ステップS1101から移行して、当該受信端末2−2のPTSオフセットΔt2等を含む同期パケットを出力する(ステップS1102)。
【0132】
具体的には、同期パケット出力処理部41は、PTSオフセット決定部40からPTSオフセットΔt2を入力すると共に、
図7に示した制御情報処理部21からMMTパッケージID(受信端末2−2が受信中の番組のMMTパッケージID)を入力する。また、同期パケット出力処理部41は、
図7に示したアプリ時計生成部23からアプリ時計の時刻を入力する。
【0133】
同期パケット出力処理部41は、PTSオフセットΔt2、ポーリング間隔PT及び受信中のMMTパッケージID、並びに、システム時計12の現在時刻を開始タイムスタンプT1として同期パケットに設定する。そして、同期パケット出力処理部41は、PTSオフセットΔt2等を含む同期パケットを、
図7に示した無線LANインタフェース11に直ちに出力する。
【0134】
図6にて説明したとおり、ポーリング間隔PTは、受信端末2−2が受信端末2−1へ同期パケットを送信する送信周期であり、予めスレーブの受信端末2−2の同期提示制御部24に同期パラメータの一つとして設定された値が用いられる。受信中のMMTパッケージIDは、受信端末2−2が送信装置1から受信中の映像信号及び音声信号に関する番組のIDである。開始タイムスタンプT1は、受信端末2−2が受信端末2−1へ同期パケットを送信するときの送信時刻であり、システム時計12の時刻が用いられる。
【0135】
これにより、ポーリング間隔PT、開始タイムスタンプT1、受信中のMMTパッケージID及びPTSオフセットΔt2が設定された同期パケットが、受信端末2−2から受信端末2−1へ送信される。同様に、受信端末2−3からも、ポーリング間隔PT、開始タイムスタンプT1、受信中のMMTパッケージID及びPTSオフセットΔt3が設定された同期パケットが、受信端末2−1へ送信される。
【0136】
同期提示制御部24は、ステップS1102から移行して、共通PTSオフセットΔCT等を含む同期パケットを入力する(ステップS1103)。
【0137】
具体的には、同期パケット入力処理部42は、
図7に示した無線LANインタフェース11から、共通PTSオフセットΔCT等を含む同期パケットを入力する。そして、同期パケット入力処理部42は、同期パケットから共通PTSオフセットΔCTを抽出し、共通PTSオフセットΔCTをタイミング制御部43に出力する。
【0138】
同期提示制御部24は、ステップS1103から移行して、
図10のステップS1005と同様に、共通PTSオフセットΔCTに基づいたバッファリング処理を行う(ステップS1104)。そして、同期提示制御部24は、
図10のステップS1006と同様に、バッファリング処理の後にMPUを提示する(ステップS1105)。
【0139】
具体的には、タイミング制御部43は、PTSオフセット決定部40からPTSオフセットΔt2を入力すると共に、同期パケット入力処理部42から共通PTSオフセットΔCTを入力する。また、タイミング制御部43は、
図7に示した制御情報処理部21からPTSを入力すると共に、アプリ時計生成部23からアプリ時計の時刻を入力する。
【0140】
タイミング制御部43は、タイミング制御部35と同様の処理を行い、符号データの復号タイミングを制御すると共に、ディスプレイ16及びスピーカ17への復号済データの提示タイミングを制御する。
【0141】
このように、受信端末2−2において、映像信号及び音声信号のMPUは、送信装置1により指定された時刻をPTS(T
S)とすると、時刻PTS(T
S)+ΔCTに提示される。受信端末2−3も同様である。
【0142】
〔アプリ時計の同期処理〕
次に、
図7に示したアプリ時計生成部23の同期処理について説明する。この同期処理は、受信端末2−1,2−2,2−3のアプリ時計を一致させる処理である。受信端末2−1,2−2,2−3において、OSにより管理されるシステム時計12の時刻は、NTPサーバから取得したUTCとの間で誤差が生じる可能性がある。また、OSによっては、アプリケーションの権限でシステム時計12の時刻を補正することができない場合がある。
【0143】
そこで、前述のとおり、受信端末2−1(マスタ)のアプリ時計生成部23は、システム時計12の時刻とNTPパケットから取得したUTCの時刻との間の差分値(遅れ時間Δtda)を算出して保持する。この差分値(遅れ時間Δtda)は、UTCに対するシステム時計12の遅れ時間であり、マイナスの値のときは進みがあることを意味する。そして、アプリ時計生成部23は、システム時計12の時刻に対し、保持した差分値を加算することで、アプリ時計の時刻を生成する。
【0144】
また、受信端末2−2,2−3(スレーブ)のアプリ時計生成部23は、システム時計12の時刻と受信端末2−1から受信した同期パケットに含まれる時刻情報に基づいて、以下の数式(1)にて、差分値(遅れ時間Δtdb)を算出して保持する。
〔数1〕
遅れ時間Δtdb=(T2+T3)/2−(T1+T4)/2 ・・・(1)
T1,T2,T3は、受信端末2−2,2−3が受信端末2−1から受信した同期パケットに含まれる開始タイムスタンプT1、受信タイムスタンプT2及び送信タイムスタンプT3である。T4は、受信端末2−2,2−3が受信端末2−1から同期パケットを受信したときのシステム時計12の時刻である。
【0145】
この差分値(遅れ時間Δtdb)は、受信端末2−1のアプリ時計に対するシステム時計12の遅れ時間であり、マイナスの値のときは進みがあることを意味する。そして、アプリ時計生成部23は、システム時計12の時刻に、保持した差分値を加算することで、アプリ時計の時刻を生成する。
【0146】
図13は、アプリ時計生成部23の処理例を説明する図であり、NTPサーバが保持するUTC、受信端末2−1(マスタ)のシステム時計12及びアプリ時計、並びに受信端末2−2(スレーブ)のシステム時計12及びアプリ時計における時刻の相関関係の一例を示す。横軸は時間軸である。
【0147】
図13に示すように、受信端末2−1のシステム時計12は、NTPサーバから取得したUTCの時刻に対し、遅れ時間Δtdaの絶対値の時間だけ進んでいるものとする。遅れ時間Δtdaはマイナスの値である。また、受信端末2−2のシステム時計12は、受信端末2−1のアプリ時計に対し、遅れ時間Δtdbの絶対値の時間だけ遅れているものとする。遅れ時間Δtdbはプラスの値である。
【0148】
受信端末2−1のアプリ時計生成部23は、システム時計12の時刻とUTCの時刻との間の差分値である遅れ時間Δtda(マイナス値)を算出し、システム時計12の時刻に遅れ時間Δtdaを加算することで、アプリ時計の時刻を生成する。
【0149】
受信端末2−2のアプリ時計生成部23は、システム時計12の時刻と受信端末2−1のアプリ時計との間の差分値である遅れ時間Δtdb(プラス値)を算出し、システム時計12の時刻に遅れ時間Δtdbを加算することで、アプリ時計の時刻を生成する。
【0150】
これにより、受信端末2−2のアプリ時計を受信端末2−1のアプリ時計に一致させることができ、受信端末2−1,2−2間でアプリ時計を同期させることができる。受信端末2−3についても同様である。つまり、受信端末2−1,2−2,2−3のアプリ時計は、NTPサーバのUTCに同期することとなる。
【0151】
以上のように、本発明の実施形態の受信端末2−1(マスタ)によれば、同期提示制御部24は、MPUが復号されてその先頭フレームが提示可能となった時刻から、当該MPUに対応するPTSの時刻を減算し、減算結果をPTSオフセットΔt1に決定し、PTSオフセットΔt1、及び受信端末2−2,2−3(スレーブ)から取得したPTSオフセットΔt2,Δt3のうちの最大値を共通PTSオフセットΔCTに決定する。この共通PTSオフセットΔCTは、受信端末2−2,2−3へ送信される。
【0152】
そして、同期提示制御部24は、復号対象のMPUに対応するPTSの時刻に共通PTSオフセットΔCTを加算し、加算結果を提示時刻PTS+ΔCTに設定する。同期提示制御部24は、PTSオフセットΔt1と共通PTSオフセットΔCTとを比較し、両オフセットが同一である場合(ΔCT=Δt1)、バッファリング処理は不要であると判定し、符号データをバッファリングすることなく復号することを示す復号タイミング制御信号を出力する。一方、同期提示制御部24は、両オフセットが異なる場合(ΔCT>Δt1)、共通PTSオフセットΔCTからPTSオフセットΔt1を減算し、減算結果ΔCT−Δt1をバッファリング時間としたバッファリング処理が必要であると判定し、符号データを減算結果ΔCT−Δt1分バッファリングして復号することを示す復号タイミング制御信号を出力する。
【0153】
そして、同期提示制御部24は、MPUの提示処理を微調整し、アプリ時計の時刻が提示時刻PTS+ΔCTのときに、復号済データの提示タイミングを制御するための提示タイミング制御信号を出力する。
【0154】
ここで、受信端末2−1のアプリ時計生成部23は、システム時計12の時刻とUTCの時刻との間の差分値を算出して保持し、システム時計12の時刻に、保持した差分値を加算することで、アプリ時計の時刻を生成する。受信端末2−1の同期提示制御部24は、このアプリ時計の時刻を使用して処理を行う。
【0155】
また、本発明の実施形態の受信端末2−2,2−3(スレーブ)によれば、同期提示制御部24は、マスタの場合と同様にPTSオフセットΔt2,Δt3を決定し、受信端末2−1から共通PTSオフセットΔCTを取得する。
【0156】
そして、同期提示制御部24は、マスタの場合と同様に、提示時刻PTS+ΔCTを設定し、PTSオフセットΔt2,Δt3と共通PTSオフセットΔCTとを比較し、バッファリング処理の有無が反映された復号タイミング制御信号を出力する。同期提示制御部24は、マスタの場合と同様に、MPUの提示処理を微調整し、アプリ時計の時刻が提示時刻PTS+ΔCTのときに、提示タイミング制御信号を出力する。
【0157】
ここで、受信端末2−2,2−3のアプリ時計生成部23は、システム時計12の時刻と、受信端末2−1から受信した同期パケットに含まれる時刻情報に基づいて、前記数式(1)にて差分値を算出して保持し、システム時計12の時刻に対し、保持した差分値を加算することで、アプリ時計の時刻を生成する。受信端末2−2,2−3の同期提示制御部24は、このアプリ時計の時刻を使用して処理を行う。
【0158】
このように、受信端末2−1,2−2,2−3は、全端末で共通する共通PTSオフセットΔCTを用い、全端末で同一の時刻のアプリ時計に従って復号タイミング制御及び提示タイミング制御を行うようにした。これにより、受信端末2−1,2−2,2−3間でMPUの提示時刻を同一にすることができ、提示処理を同期させることができる。
【0159】
したがって、この仕組みを放送及び通信連携サービスに適用することにより、放送及び通信連携サービスを実現するための同期を確立することが可能となる。例えば、第1の受信端末が放送番組を表示し、当該第1の受信端末の近傍に設置されたデジタルサイネージ等の第2の受信端末が、当該放送番組に関連する付加映像や広告等を、インターネット等で配信を受けて表示する場合に、放送番組の表示処理と広告等の表示処理との間で同期を確立することができる。また、放送番組を用いずに、インターネット等で配信される複数の広告等の映像表示処理を、受信端末間で同期させることも可能である。
【0160】
〔実験結果〕
次に、本発明の実施形態の実験結果について説明する。
図15は、実験結果を説明する図である。この実験結果は、室内実験にて得られたものであり、送信装置1から2台の受信端末2−1,2−2へフレーム番号を重畳した同一内容の映像信号を送信したときの結果を示している。
【0161】
受信端末2−1(マスタ)の伝送路3−1の伝送遅延時間を3秒に固定し、受信端末2−2(スレーブ)の伝送路3−2の伝送遅延時間を1秒から5秒まで1秒単位に変化させ、各20回の測定を行い、フレーム番号のずれ及びその回数を測定した。
【0162】
まず、受信端末2−2の伝送路3−2の伝送遅延時間を5秒とし、本発明の同期機能を無効とした場合、
図15には図示してないが、両端末に同時に表示された映像信号のフレーム番号の差は120となる結果が得られた。このフレーム数120は、両端末の伝送遅延差である2秒に相当する数である。一方、本発明の同期機能を有効とした場合に、両端末に同時に表示された映像信号のフレーム番号の差は0となる結果が得られた。
【0163】
また、本発明の同期機能を有効とした場合の合計100(20×5)回の試行により、
図15に示す結果が得られた。
図15において、表示された映像信号のフレーム番号のずれは、受信端末2−1のフレーム番号に対して受信端末2−2のフレーム番号が遅れている場合に負数、進んでいる場合に正数としている。
【0164】
例えば、受信端末2−2の伝送路3−2の伝送遅延時間を1秒とした場合の20回の試行において、受信端末2−2では、−2フレームの回数(フレーム番号が2だけ遅れた回数)が4であり、−1フレームの回数(フレーム番号が1だけ遅れた回数)が5であり、・・・、2フレーム(フレーム番号が2だけ進んだ回数)が3である結果が得られた。
【0165】
図15から、両端末の伝送遅延差に関わらず、端末間のフレーム番号のずれの大きさは、最大3フレームに収まっていることがわかる。また、100回の試行によるフレーム番号のずれの平均は、−0.18であった。これにより、受信端末2−1,2−2間で、提示処理が平均で1フレームを下まわる高い精度で同期していることがわかる。
【0166】
以上、実施形態を挙げて本発明を説明したが、本発明は前記実施形態に限定されるものではなく、その技術思想を逸脱しない範囲で種々変形可能である。例えば、
図4及び
図5では、マスタの受信端末2−1に対して2台のスレーブの受信端末2−2,2−3を備えたシステムの例を示したが、本発明は、3台以上のスレーブの受信端末2−2,2−3等を備えたシステムにも適用がある。また、受信端末2の無線LANインタフェース11は、有線LANインタフェースやBluetooth(登録商標)など、規格を問わず各種の通信インタフェースにも適用がある。例えば、符号データのIPパケットの受信には無線LANインタフェースを用い、同期パケットの送受信にはBluetooth(登録商標)インタフェースを用いるなど、複数の通信インタフェースを組み合わせた構成も可能である。さらに、
図7においては、ユーザインタフェース処理部10から各処理部に対する設定項目を入力しているが、例えば無線通信タグや無線通信ビーコンなど、外部との通信によってこれらの設定を行う構成も可能である。
【0167】
尚、本発明の実施形態による受信端末2のハードウェア構成としては、通常のコンピュータを使用することができる。受信端末2は、CPU、RAM等の揮発性の記憶媒体、ROM等の不揮発性の記憶媒体、及びインタフェース等を備えたコンピュータによって構成される。受信端末2に備えたユーザインタフェース処理部10、無線LANインタフェース11、システム時計12、符号データバッファ13、復号器14、復号済データバッファ15、ディスプレイ16、スピーカ17、パケット受信部20、制御情報処理部21、符号データ結合部22、アプリ時計生成部23及び同期提示制御部24の各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現することができる。また、これらのうち一部の機能については、その機能を有する専用ハードウェアを受信端末2内に内蔵し、CPUにより実行されるプログラムから制御してもよい。これらのプログラムは、前記記憶媒体に格納されており、CPUに読み出されて実行される。また、これらのプログラムは、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記憶媒体に格納して頒布することもでき、ネットワークを介して送受信することもできる。