【文献】
青木 秀一 Shuichi AOKI,次世代放送システムのメディアトランスポート技術 Media Transport Technologies for Next Generation Bro,NHK技研R&D No.140,日本,日本放送協会,2013年 7月15日,第22-31頁
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
(本発明の基礎となった知見)
本発明は、MPEG(Moving Picture Expert Group)で規格化中のMMT(MPEG Media Transport)方式を用いるハイブリッド配信システムにおいて、送信側から基準クロック情報を送信し、受信側で基準クロック情報を受信し、基準クロックを生成(再生)する方法及び装置に関する。
【0011】
MMT方式は、映像及び音声を多重化及びパケット化し、放送または通信などの一つ以上の伝送路で送信するための多重化方式である。
【0012】
MMT方式を放送システムに適用する場合、送信側の基準クロックをIETF RFC 5905 に規定されるNTP(Network Time Protocol)に同期させ、基準クロックを基に、PTS(Presentation Time Stamp)や、DTS(Decode Time Stamp)などのタイムスタンプをメディアに付与する。さらに、送信側の基準クロック情報を受信側に送信し、受信装置では基準クロック情報を基に受信装置における基準クロック(以下、システムクロックとも記載する)を生成する。
【0013】
放送システムでは、基準クロック情報として絶対時刻を示すことの可能な64ビットのロングフォーマットNTPが使用されることが望ましい。しかし、従来のMMT方式では、MMTパケットヘッダに32ビットのショートフォーマットNTPを格納して伝送することは規定されているが、ロングフォーマットNTPを伝送することは規定されておらず、受信機側で精度のよい基準クロック情報を取得することができない。
【0014】
これに対し、メッセージ、テーブル、または記述子などの制御情報としてロングフォーマットNTPを定義し、制御情報にMMTパケットヘッダを付加して伝送することが可能である。この場合、MMTパケットは、IPパケットに格納されるなどして放送伝送路または通信伝送路を通じて伝送される。
【0015】
MMTパケットをARIB規格で規定される高度BS伝送方式を用いて伝送する場合、MMTパケットをIPパケットへカプセル化し、IPパケットをTLV(Type Length Value)パケットへカプセル化した後、高度BS伝送方式で規定される伝送スロットへと格納する。
【0016】
しかし、送信側においてMMTパケットのレイヤに基準クロック情報を格納した場合、受信側で基準クロック情報を得るためには、伝送スロットからTLVパケットを抽出し、TLVパケットからIPパケットを抽出し、IPパケットからMMTパケットを抽出し、さらにMMTパケットのヘッダまたはペイロードから基準クロック情報を抽出する、といった複数の処理が必要であり、基準クロック情報を取得するための処理が多く、さらに取得までにより多くの時間を要する。
【0017】
また、IPレイヤ以上のレイヤにおける処理はソフトウェア処理であることが一般的であり、MMTパケットに基準クロック情報が格納されている場合、ソフトウェアプログラムによって基準クロック情報が抽出及び再生される。この場合、CPUの処理能力や、他のソフトウェアプログラムからの割り込みや優先度などによって、取得する基準クロック情報にジッタが生じることが課題である。
【0018】
そこで、本発明の一態様に係る送信方法は、放送を通じて行われるIP(Internet Protocol)パケットを用いたコンテンツの伝送における送信方法であって、前記IPパケットが格納される第1の伝送単位が1以上格納された第2の伝送単位を複数格納した伝送用のフレームを生成する生成ステップと、生成された前記フレームを送信する送信ステップとを含み、前記生成ステップにおいては、前記フレーム内の先頭の第2の伝送単位内で先頭に位置する第1の伝送単位に、受信側において前記コンテンツの再生のための時刻を示す基準クロック情報を含める。
【0019】
このように、伝送スロット内の先頭に位置するTLVパケットに基準クロック情報を含めることで、受信装置は、基準クロック情報の位置をあらかじめ特定することができる。したがって、受信装置は、基準クロック情報を取得する処理を軽減(簡素化)できる。なお、第1の伝送単位の一例は、TLVパケットであり、第2の伝送単位の一例は、スロットであり、伝送用のフレームの一例は、伝送スロットである。
【0020】
また、前記第1の伝送単位は、可変長の伝送単位であり、前記第2の伝送単位は、固定長の伝送単位であってもよい。
【0021】
また、前記先頭に位置する第1の伝送単位に格納されるIPパケットは、ヘッダ圧縮されていないIPパケットであってもよい。
【0022】
このように、送信側でIPパケットのヘッダ圧縮の有無を規定することにより、受信側で基準クロック情報の位置をさらに詳しく特定することができる。したがって、受信装置が基準クロック情報を取得する処理を簡素化できる。
【0023】
また、前記第1の伝送単位は、TLV(Type Length Value)パケットであり、前記第2の伝送単位は、高度BS伝送方式におけるスロットであり、前記フレームは、高度BS伝送方式における伝送スロットであってもよい。
【0024】
また、前記基準クロック情報は、NTP(Network Time Protocol)であってもよい。
【0025】
また、前記送信ステップにおいては、前記フレームを所定の送信周期で送信してもよい。
【0026】
本発明の一態様に係る受信方法は、放送を通じて行われるIPパケットを用いたコンテンツの伝送における受信方法であって、前記IPパケットが格納される第1の伝送単位が1以上含まれる第2の伝送単位を複数格納した伝送用のフレームであって、当該フレーム内の先頭の第2の伝送単位内で先頭に位置する第1の伝送単位に基準クロック情報が含まれるフレームを受信する受信ステップと、受信された前記フレームから前記基準クロック情報を抽出するステップと、抽出された前記基準クロック情報を用いて前記コンテンツを再生するためのクロックを生成する生成ステップとを含む。
【0027】
本発明の一態様に係る送信装置は、放送を通じて行われるIPパケットを用いたコンテンツの伝送に用いられる送信装置であって、前記IPパケットが格納される第1の伝送単位が1以上格納された第2の伝送単位を複数格納した伝送用のフレームを生成する生成部と、生成された前記フレームを送信する送信部とを備え、前記生成部は、前記フレーム内の先頭の第2の伝送単位内で先頭に位置する第1の伝送単位に、受信側において前記コンテンツの再生のための時刻を示す基準クロック情報を含める。
【0028】
本発明の一態様に係る受信装置は、放送を通じて行われるIPパケットを用いたコンテンツの伝送に用いられる受信装置であって、前記IPパケットが格納される第1の伝送単位が1以上含まれる第2の伝送単位を複数格納した伝送用のフレームであって、当該フレーム内の先頭の第2の伝送単位内で先頭に位置する第1の伝送単位に基準クロック情報が含まれるフレームを受信する受信部と、受信された前記フレームから前記基準クロック情報を抽出する抽出部と、抽出された前記基準クロック情報を用いて前記コンテンツを再生するためのクロックを生成する生成部とを備える。
【0029】
なお、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD−ROMなどの記録媒体で実現されてもよい。また、これらの包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【0030】
(実施の形態1)
[MMT方式の基本的な構成]
まず、MMT方式の基本的な構成について説明する。
図1は、MMT方式及び高度BS伝送方式を用いて伝送を行う場合のプロトコルスタック図を示す。
【0031】
MMT方式では、映像や音声などの情報を、複数のMPU(Media Presentation Unit)や複数のMFU(Media Fragment Unit)に格納し、MMTパケットヘッダを付与してMMTパケット化する。
【0032】
一方、MMT方式では、MMTメッセージなどの制御情報に対してもMMTパケットヘッダを付与し、MMTパケット化する。MMTパケットヘッダには、32ビットのショートフォーマットのNTPを格納するフィールドが設けられており、このフィールドは、通信回線のQoS制御等に用いることができる。
【0033】
MMTパケット化されたデータは、UDPヘッダまたはIPヘッダを有するIPパケットにカプセル化される。このとき、IPヘッダまたはUDPヘッダにおいて、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びプロトコル種別が同じパケットの集合をIPデータフローとした場合、1つのIPデータフローに含まれる複数のIPパケットは、ヘッダが冗長である。このため、1つのIPデータフローにおいては、一部のIPパケットは、ヘッダ圧縮される。
【0034】
次に、TLVパケットについて詳細に説明する。
図2は、TLVパケットのデータ構造を示す図である。
【0035】
TLVパケットには、
図2に示されるように、IPv4パケット、IPv6パケット、圧縮IPパケット、NULLパケット、及び、伝送制御信号が格納される。これらの情報は、8ビットのデータタイプを用いて識別される。伝送制御信号には、例えばAMT(Address Map Table)、及び、NIT(Network Information Table)などがある。また、TLVパケットにおいては、16ビットのフィールドを用いてデータ長(バイト単位)が示され、そのあとにデータの値が格納される。データタイプの前には1バイトのヘッダ情報がある(
図2において図示せず)ため、TLVパケットは、合計4バイトのヘッダ領域を有する。
【0036】
TLVパケットは、高度BS伝送方式における伝送スロットにマッピングされ、TMCC(Transmission and Multiplexing Configuration Control)制御情報に、スロットごとに包含される最初のパケットの先頭位置と最後のパケットの末尾の位置を示すポインタ/スロット情報が格納される。
【0037】
次に、MMTパケットを高度BS伝送方式を用いて伝送する場合の受信装置の構成について説明する。
図3は、受信装置の基本構成を示すブロック図である。なお、
図3の受信装置の構成は、簡略化されたものであり、より具体的な構成については、基準クロック情報が格納される態様に応じて個別に後述される。
【0038】
受信装置20は、受信部10と、復号部11と、TLVデマルチプレクサ(DEMUX)12と、IPデマルチプレクサ(DEMUX)13と、MMTデマルチプレクサ(DEMUX)14とを備える。
【0039】
受信部10は、伝送路符号化データを受信する。
【0040】
復号部11は、受信部10によって受信された伝送路符号化データを復号し、誤り訂正などを施し、TMCC制御信号、及び、TLVデータを抽出する。復号部11によって抽出されたTLVデータは、TLVデマルチプレクサ12によってDEMUX処理される。
【0041】
TLVデマルチプレクサ12のDEMUX処理は、データタイプに応じて異なる。例えば、データタイプが圧縮IPパケットである場合は、TLVデマルチプレクサ12は、圧縮されたヘッダを復元してIPレイヤに渡すなどの処理を行う。
【0042】
IPデマルチプレクサ13は、IPパケットまたはUDPパケットのヘッダ解析などの処理を行い、IPデータフローごとにMMTパケットを抽出する。
【0043】
MMTデマルチプレクサ14では、MMTパケットヘッダに格納されているパケットIDを基にフィルタリング処理(MMTパケットフィルタリング)を行う。
【0044】
[MMTパケットに基準クロック情報を格納する方法]
上記
図1〜
図3を用いて説明したMMT方式では、MMTパケットヘッダに32ビットのショートフォーマットNTPを格納して伝送することができるが、ロングフォーマットNTPを伝送する方法は存在しない。
【0045】
以下、MMTパケットに基準クロック情報を格納する方法について説明する。まず、MMTパケット内に基準クロック情報を格納する方法について説明する。
【0046】
基準クロック情報を格納するための記述子、テーブル、またはメッセージを定義し、制御情報としてMMTパケットに格納する場合、基準クロック情報を示す記述子やテーブル、またはメッセージであることを示す識別子が制御情報内に示される。そして、制御情報は、送信側においてMMTパケットに格納される。
【0047】
これにより、受信装置20は、識別子を基に基準クロック情報を識別することができる。なお、既存のディスクリプタ(例えば、CRI_descriptor()等)を用いることによって、基準クロック情報がMMTパケットに格納されてもよい。
【0048】
次に、MMTパケットヘッダに基準クロック情報を格納する方法について説明する。
【0049】
例えば、header_extensionフィールド(以下拡張フィールドと記載する。)を用いて格納する方法がある。拡張フィールドは、MMTパケットヘッダのextension_flagを’1’とすることで有効になる。
【0050】
拡張フィールドには、拡張フィールドに格納するデータのデータ種別を示す拡張フィールドタイプを格納し、拡張フィールドタイプに、基準クロック情報(例えば、64ビットのロングフォーマットNTP)であることを示す情報を格納し、拡張フィールドに基準クロック情報を格納する方法がある。
【0051】
この場合、受信装置20は、MMTパケットヘッダのheader_extension_flagが’1’となっている場合は、MMTパケットの拡張フィールドを参照する。拡張フィールドタイプに基準クロック情報であることが示されている場合には、基準クロック情報を抽出し、クロックを再生する。
【0052】
なお、基準クロック情報は、既存のヘッダフィールドに格納されてもよい。また、未使用のフィールドがある場合や、放送に必要のないフィールドがある場合、これらのフィールドに基準クロック情報が格納されてもよい。
【0053】
また、基準クロック情報は、既存のフィールドと拡張フィールドとを併用して格納されてもよい。例えば、既存の32bitショートフォーマットNTPフィールドと拡張フィールドとが併用されてもよい。
【0054】
既存フィールドと互換性を保つために、64bitロングフォーマットNTPのうち、ショートフォーマットのフォーマットに対応する32bit部分のみが既存フィールドに格納され、残りの32bitが拡張フィールドに格納されてもよい。
【0055】
なお、基準クロック情報は、例えば、基準クロック情報が格納されるMMTパケットの先頭のビットが所定の位置を通過するとき(例えば、送信装置の特定の構成要素から出力されるとき)の時刻であるが、他の位置のビットが所定の位置を通過するときの時刻であってもよい。
【0056】
基準クロック情報が制御情報としてMMTパケットに格納される場合、制御情報を含むMMTパケットは、所定の送信間隔で送信される。
【0057】
基準クロック情報がMMTパケットの拡張フィールドに格納される場合は、所定のMMTパケットのヘッダの拡張フィールドに格納される。具体的には、例えば、基準クロック情報は、100ms間隔で少なくとも1つ以上、MMTパケットのヘッダ拡張フィールドに格納される。
【0058】
なお、MMTパケットに基準クロック情報が格納される場合、プログラム情報には、基準クロック情報が格納されているMMTのパケットIDが格納される。受信装置20は、プログラム情報を解析し、基準クロック情報が格納されたMMTパケットを取得する。このとき、基準クロック情報が格納されたMMTパケットのパケットIDは、あらかじめ固定値として規定されてもよい。これにより、受信装置20は、プログラム情報を解析することなく基準クロック情報を取得できる。
【0059】
[MMTパケットに基準クロック情報を格納した場合の動作フロー]
次に、MMTパケットに基準クロック情報を格納した場合の動作フロー(基準クロック情報の取得フロー)について説明する。
【0060】
まず、MMTパケットヘッダの拡張フィールドに基準クロック情報が格納される場合の受信装置20の基準クロック情報の取得フローについて説明する。
図4は、MMTパケットヘッダの拡張フィールドに基準クロック情報が格納される場合の受信装置20の機能構成を示すブロック図である。
図5は、MMTパケットヘッダの拡張フィールドに基準クロック情報が格納される場合の受信装置20の基準クロック情報の取得フローを示す図である。
【0061】
図4に示されるように、MMTパケットヘッダの拡張フィールドに基準クロック情報が格納される場合、MMTデマルチプレクサ14内には、基準クロック情報抽出部15(抽出部の一例)が設けられ、MMTデマルチプレクサ14の後段には、基準クロック生成部16(生成部の一例)が設けられる。
【0062】
図5のフローにおいて、受信装置20の復号部11は、受信部10が受信した伝送路符号化データを復号し(S101)、伝送スロットからTLVパケットを抽出する(S102)。
【0063】
次に、TLVデマルチプレクサ12は、抽出されたTLVパケットをDEMUXし、IPパケットを抽出する(S103)。このとき、圧縮IPパケットのヘッダが再生される。
【0064】
次に、IPデマルチプレクサ13は、IPパケットをDEMUXし、指定されたIPデータフローを取得し、MMTパケットを抽出する(S104)。
【0065】
次に、MMTデマルチプレクサ14は、MMTパケットのヘッダを解析し、拡張フィールドが使用されているかどうか、拡張フィールドに基準クロック情報があるかどうかの判定を行う(S106)。拡張フィールドに基準クロック情報がない場合は(S106でNo)、処理を終了する。
【0066】
一方、拡張フィールドに基準クロック情報があると判定された場合(S106でYes)、基準クロック情報抽出部15は、拡張フィールドから基準クロック情報を抽出する(S107)。そして、基準クロック生成部16は、抽出された基準クロック情報を基にシステムクロックを生成する(S108)。システムクロックは、言い換えれば、コンテンツを再生するためのクロックである。
【0067】
次に、制御情報に基準クロック情報が格納される場合の受信装置20の基準クロック情報の取得フローについて説明する。
図6は、制御情報に基準クロック情報が格納される場合の受信装置20の機能構成を示すブロック図である。
図7は、制御情報に基準クロック情報が格納される場合の受信装置20の基準クロック情報の取得フローを示す図である。
【0068】
図6に示されるように、制御情報に基準クロック情報が格納される場合、基準クロック情報抽出部15は、MMTデマルチプレクサ14の後段に配置される。
【0069】
図7のフローにおいて、ステップS111〜ステップS114の処理は、
図5で説明したステップS101〜ステップS104のフローと同一である。
【0070】
ステップS114に続いて、MMTデマルチプレクサ14は、プログラム情報から基準クロック情報を含むパケットのパケットIDを取得し(S115)、当該パケットIDのMMTパケットを取得する(S116)。続いて、基準クロック情報抽出部15は、抽出したMMTパケットに含まれる制御信号から基準クロック情報を抽出し(S117)、基準クロック生成部16は、抽出された基準クロック情報を基にシステムクロックを生成する(S118)。
【0071】
[TLVパケットに基準クロック情報を格納する方法]
図5及び
図7で説明したように、MMTパケットに基準クロック情報が格納される場合、受信側で基準クロック情報を得るためには、受信装置20は、伝送スロットからTLVパケットを抽出し、TLVパケットからIPパケットを抽出する。さらに、受信装置20は、IPパケットからMMTパケットを抽出し、さらにMMTパケットのヘッダまたはペイロードから基準クロック情報を抽出する。このように、MMTパケットに基準クロック情報が格納される場合、基準クロック情報を取得するための処理が多く、さらに取得までに多くの時間を要することが課題である。
【0072】
そこで、基準クロックを基に映像や音声などのメディアにタイムスタンプを付与する処理及びメディアを伝送する処理は、MMT方式を用いて実現し、かつ、基準クロック情報の伝送を、MMTレイヤよりも下位のレイヤ、下位のプロトコル、または下位の多重化方式を用いて行う方法について説明する。
【0073】
まず、TLVパケットに基準クロック情報を格納して伝送する方法について説明する。
図8は、TLVパケットに基準クロック情報が格納される場合の受信装置20の構成を示すブロック図である。
【0074】
図8に示される受信装置20では、基準クロック情報抽出部15と、基準クロック生成部16との配置が
図4及び
図6と異なる。また、
図8では同期部17及び復号提示部18も図示されている。
【0075】
TLVパケットの構成は、上記
図2に示されるように、8ビットのデータタイプ、16ビットのデータ長、及び8*Nビットのデータから構成される。また、上述のようにデータタイプの前には、
図2において図示されない1バイトのヘッダが存在する。なお、データタイプは、具体的には、例えば、0x01:IPv4パケット、0x03:ヘッダ圧縮したIPパケットなどと規定される。
【0076】
新規のデータをTLVパケットに格納するために、データタイプの未定義領域を用いてデータタイプが規定される。TLVパケットに基準クロック情報が格納されていることを示すために、データタイプには、データが基準クロック情報であることを示す記述がなされる。
【0077】
なお、データタイプは、基準クロックの種類ごとに規定されてもよい。例えば、ショートフォーマットNTP、ロングフォーマットNTP、及びPCR(Program Clock Reference)を示すデータタイプがそれぞれ個別に規定されてもよい。
図9は、ロングフォーマットNTPがTLVパケットに格納される例を示す図であり、ロングフォーマットNTPは、データフィールドに格納されている。
【0078】
この場合、基準クロック情報抽出部15は、TLVパケットのデータタイプを解析し、基準クロック情報が格納されている場合には、データ長を解析し、データフィールドから基準クロック情報を抽出する。
【0079】
なお、データタイプによって、データ長が一意に決定されている場合、基準クロック情報抽出部15は、データ長フィールドを解析することなく基準クロック情報を取得してもよい。例えば、データタイプが64bitロングローマットNTPであることが示されている場合、基準クロック情報抽出部15は、4バイト+1ビット目から4バイト+64ビット目までを抽出してもよい。また、基準クロック情報抽出部15は、64bitのデータから、所望のビットだけを抽出してもよい。
【0080】
次に、TLVパケットに基準クロック情報が格納される場合の受信装置20の動作フロー(基準クロック情報の取得フロー)について、
図10を用いて説明する。
図10は、TLVパケットに基準クロック情報が格納される場合の受信装置20の基準クロック情報の取得フローを示す図である。
【0081】
図10のフローにおいては、まず、復号部11は、受信部10が受信した伝送路符号化データを復号し(S121)、伝送スロットからTLVパケットを抽出する(S122)。
【0082】
次に、TLVデマルチプレクサ12は、TLVパケットのデータタイプを解析し(S123)、データタイプが基準クロック情報であるかどうかの判定を行う(S124)。データタイプが基準クロックである場合は(S124でYes)、基準クロック情報抽出部15は、TLVパケットのデータフィールドから基準クロック情報を抽出する(S125)。そして、基準クロック生成部16は、基準クロック情報を基に、システムクロックを生成する(S126)。一方、データタイプが基準クロック情報でない場合は(S124でNo)、基準クロック情報の取得フローは終了する。
【0083】
また、図示されないフローにおいて、IPデマルチプレクサ13は、データタイプに応じてIPパケットを抽出する。そして、抽出されたIPパケットに対してIP DEMUX処理、及びMMT DEMUX処理が行われてMMTパケットが抽出される。さらに、同期部17は、抽出されたMMTパケットに含まれる映像データのタイムスタンプがステップS126で生成された基準クロックに一致するタイミングで復号提示部18に当該映像データを出力し、復号提示部18は、映像データを復号及び提示する。
【0084】
以上説明した送信方法では、TLVパケットのタイプデータにおいて基準クロック情報を格納していることが示され、TLVパケットのデータフィールドに基準クロック情報が格納される。このように、MMTレイヤよりも下位のレイヤまたは下位のプロトコルを用いて基準クロック情報を格納し、送信することにより、受信装置20における基準クロック情報を抽出するまでの処理や時間を削減することができる。
【0085】
また、IPレイヤにまたがって、より下位のレイヤで基準クロック情報が抽出・再生できるため、基準クロック情報の抽出をハードウェア実装により行うことができる。これにより、基準クロック情報の抽出をソフトウェア実装により行う場合よりもジッタなどの影響を軽減することができ、より高精度な基準クロックを生成することが可能となる。
【0086】
次に、基準クロック情報を格納するその他の方法について説明する。
【0087】
上記
図10のフローにおいて、データタイプによってデータ長が一意に決定される場合、データ長フィールドは、送信されなくてもよい。なお、データ長フィールドが送信されない場合は、データ長フィールドが送信されないデータであることを示す識別子が格納される。
【0088】
また、
図10の説明では、基準クロック情報は、TLVパケットのデータフィールドに格納されたが、基準クロック情報は、TLVパケットの直前や直後に付加されてもよい。また、基準クロック情報は、TLVパケットに格納されるデータの直前や直後に付加されてもよい。これらの場合、基準クロック情報が付加されている場所を特定できるようなデータタイプが付与される。
【0089】
例えば、
図11は、IPパケットのヘッダの直前に基準クロック情報が付加される構成を示す図である。この場合、データタイプは、基準クロック情報付IPパケットであることを示す。受信装置20(基準クロック情報抽出部15)は、データタイプが基準クロック情報付IPパケットであること示す場合、TLVパケットのデータフィールドの先頭から、あらかじめ定めされた所定の基準クロック情報の長さのビットを抽出することにより、基準クロック情報を取得できる。このとき、データ長は、基準クロック情報の長さを含むデータの長さを指定してもよいし、基準クロック情報の長さを含まない長さを指定してもよい。
【0090】
また、
図12は、TLVパケットの直前に基準クロック情報が付加される構成を示す図である。この場合、データタイプは従来通りのデータタイプとし、TLVパケットが基準クロック情報付TLVパケットであること示す識別子が、例えば、伝送スロットのスロットヘッダまたはTMCC制御情報に格納される。
図13は、伝送スロットの構成を示す図であり、
図14は、伝送スロットのスロットヘッダの構成を示す図である。
【0091】
図13に示されるように、伝送スロットは、複数のスロット(
図13の例では、Slot#1−Slot#120の120個のスロット)から構成される。各スロットに含まれるビット数は、誤り訂正の符号化率に基づいて一意に定められた固定ビット数であり、スロットヘッダを有し、1以上のTLVパケットが格納される。なお、
図13に示されるように、TLVパケットは、可変長である。
【0092】
図14に示されるように、スロットヘッダの先頭TLV指示フィールド(16bits)には、スロット中の最初のTLVパケットの先頭バイトの位置を、スロットヘッダを除いたスロット先頭からのバイト数で示したものが格納される。スロットヘッダの残りの160bitsは、未定義である。
【0093】
TLVパケットが基準クロック情報付TLVパケットであること示す識別子が、スロットヘッダに格納される場合、例えば、スロット内において基準クロック情報付TLVパケットの位置を特定できる情報、基準クロック情報の種類、及びデータ長などが、スロットヘッダの未定義フィールドを拡張(利用)して格納される。
【0094】
また、TLVパケットが基準クロック情報付TLVパケットであること示す識別子がTMCC制御情報に格納される場合、スロットに基準クロック情報が含まれるかどうかの情報は、TMCC制御情報に格納されてもよいし、スロット内に格納されるデータ種別として、基準クロック情報付TLVパケットであることを示すデータ種別が定義されてもよい。
【0095】
また、スロットヘッダの未定義フィールドに基準クロック情報が格納される領域が新たに定義されてもよい。
【0096】
また、あらかじめ定められたスロットに基準クロック情報が格納されてもよいし、スロットヘッダ内に基準クロック情報を含むことを示す情報が格納されてもよい。ここで、あらかじめ定められたスロットは、例えば、伝送スロットのうちの先頭のスロット(
図13の例ではSlot#1)であり、このスロット内の先頭のTLVパケットにIPパケットに格納された基準クロック情報が含まれてもよい。
【0097】
また、TMCC制御情報に基準クロック情報を含むことを示す情報が格納されてもよい。
図15は、TMCC制御情報に、スロットヘッダ内に基準クロック情報を含むことを示す情報が格納される場合の受信装置20の機能構成を示すブロック図である。
図16は、スロットヘッダに基準クロック情報を含むことを示す情報がTMCC制御情報に格納される場合の基準クロック情報の取得フローである。
【0098】
図15に示されるように、TMCC制御情報に、スロットヘッダ内に基準クロック情報を含むことを示す情報が格納される場合の受信装置20においては、基準クロック情報抽出部15は、復号部11から出力される伝送スロットから基準クロック信号を取得する。
【0099】
図16のフローでは、復号部11は、伝送路符号化データを復号し(S131)、TMCC制御信号を解析し(S132)、伝送スロット内のスロットヘッダに基準クロック情報があるかどうかを判定する(S133)。スロットヘッダに基準クロック情報がある場合は(S133でYes)、基準クロック情報抽出部15は、スロットヘッダから基準クロック情報を抽出し(S134)、基準クロック生成部16は、基準クロック情報を基にシステムの基準クロック(システムクロック)を生成する(S135)。一方、スロットヘッダに基準クロック情報がない場合は(S133でNo)、基準クロック情報の取得フローは終了する。
【0100】
このような受信装置20は、伝送スロットのレイヤで基準クロック情報を取得することができるため、TLVパケットに格納する場合よりもさらに早く基準クロック情報を取得できる。
【0101】
以上説明したように、TLVパケットや伝送スロットに基準クロック情報を格納することにより、受信装置20において、基準クロック情報を取得するまでの処理を軽減することができ、かつ、基準クロック情報の取得時間を短縮できる。
【0102】
また、このように、物理レイヤにおいて基準クロック情報が格納されることにより、ハードウェアによる基準クロック情報の取得及び再生が容易に実現でき、ソフトウェアによる基準クロック情報の取得及び再生よりも精度の高いクロック再生が可能である。
【0103】
また、上記実施の形態1に係る送信方法は、まとめると、IPレイヤを含む複数のレイヤ(プロトコル)が存在するシステムにおいて、IPレイヤより上位のレイヤで基準クロック情報を基にメディアのタイムスタンプを付与し、IPレイヤより下位のレイヤで基準クロック情報を送信する。このような構成によれば、受信装置20において基準クロック情報をハードウェアで処理することが容易となる。
【0104】
なお、同様の思想に基づき、IPパケット内にMMTパケットに格納されない状態で基準クロック情報を格納することも考えられる。このような場合であっても、MMTパケットに基準クロック情報が格納される場合よりも、基準クロック情報を取得するための処理を軽減することができる。
【0105】
[基準クロック情報の送出周期]
以下、基準クロック情報の送出周期について補足する。
【0106】
TLVパケットに基準クロック情報を格納する場合、例えば、送信側においてTLVパケットの先頭のビットが送出される時刻を基準クロック情報として格納する。また、先頭のビットの送出時刻ではなく、他に定められた所定の時刻が基準クロック情報として格納されてもよい。
【0107】
基準クロック情報を含むTLVパケットは、所定の間隔で送信される。言い換えれば、基準クロック情報を含むTLVパケットは、伝送スロットに含まれて所定の送信周期で送信される。例えば、基準クロック情報は、100ms間隔に少なくとも1つ以上、TLVパケットに格納されて伝送されてもよい。
【0108】
また、高度BS伝送方式の伝送スロットの所定の場所に、所定の間隔で基準クロック情報を含むTLVパケットが配置されてもよい。また、TLVパケットのスロット割り当て単位である5スロット単位ごとに一回、基準クロック情報を含むTLVパケットが格納され、5スロット単位のうち一番初めのスロットの先頭のTLVパケットに基準クロック情報が格納されてもよい。すなわち、伝送スロット内の先頭のスロット内の先頭(つまり、スロットヘッダの直後)に、基準クロック情報を含むTLVパケットが配置されてもよい。
【0109】
また、基準クロック情報の送出周期及び送出間隔は、伝送路符号化方式の変調方式または符号化率に応じて変更されてもよい。
【0110】
[上位レイヤの基準クロック情報を早く取得する方法]
次に、受信装置20において下位レイヤから上位レイヤまでのDEMUXを一括で処理することにより、基準クロック情報の取得までの時間を短縮する方法について説明する。
【0111】
ここでは、MMTパケットなどの上位レイヤに基準クロック情報を格納し、基準クロック情報が格納されたMMTパケットをIPパケットに格納する方法について説明する。以下で説明する方法では、基準クロック情報が格納されたIPパケットをTLVパケットに格納するためのプロトコルを定義することにより、TLVパケットのような下位レイヤから、上位レイヤであるMMTパケットを直接参照し、通常のDEMUX処理をすることなくMMTパケットに含まれる基準クロック情報を取得する。
【0112】
送信側において、基準クロック情報は、上述のMMTパケットに格納される制御情報に含まれる。基準クロック情報を含む制御情報には、あらかじめ定められたパケットIDが付与される。そして、送信側においては、基準クロック情報を含むMMTパケットは、専用のIPデータフローに格納され、あらかじめ定められた、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号、及びプロトコル種別が付与される。
【0113】
このように生成された伝送路符号化データを受信した受信装置20においては、TLVデマルチプレクサ12があらかじめ定められたIPデータフロー取得することにより、基準クロック情報を含むIPパケットを抽出することができる。
【0114】
なお、IPパケットがヘッダ圧縮される場合には、例えば、同一のIPデータフローであることを示すコンテクスト識別子に、基準クロック情報を含むIPパケットであることを示す識別子が付与される。コンテクスト識別子は、圧縮IPパケットヘッダに格納されている。この場合、受信装置20は、圧縮IPパケットヘッダのコンテクスト識別子を参照することにより、基準クロック情報を含むIPパケットを抽出できる。
【0115】
また、基準クロック情報を含むIPパケットは、ヘッダ圧縮されないと規定されてもよいし、必ずヘッダ圧縮されると規定されてもよい。基準クロック情報を含むIPパケットには、あらかじめ定めされたコンテクスト識別子が付与され、すべてのヘッダが圧縮されると規定されてもよい。
【0116】
また、TLVのデータタイプフィールドに、基準クロック情報を含むIPデータフローに属するIPパケットであることを示す識別子、または、基準クロック情報を含むIPデータフローに属する圧縮IPパケットであることを示す識別子などを定義する方法も考えられる。以下ではその方法について説明する。
【0117】
受信装置20は、TLVのデータタイプを判定し、基準クロック情報を含むと判定されれば、IPパケットからMMTパケット内に含まれる基準クロック情報を直接取得する。
【0118】
このように、受信装置20は、IPアドレスやポート番号、コンテクスト識別子を解析することなく、IPパケットや圧縮IPパケットから特定位置のビット列を抽出することで、MMTパケットに含まれる基準クロック情報を抽出してもよい。特定位置のビット列を抽出するとは、例えば、TLVパケットヘッダから、固定長バイトだけオフセットした位置から特定の長さ分の情報を抽出することを意味し、これにより、基準クロック情報が取得される。
【0119】
基準クロック情報を抽出するための固定長バイトのオフセットの長さは、IPパケットと圧縮IPパケットとのそれぞれにおいて一意に決まる。このため、受信装置20は、TLVのデータタイプを判定した後、直ちに固定長バイトだけオフセットした位置から特定の長さ分の情報を抽出することにより基準クロック情報を取得できる。
【0120】
なお、上記の方法は一例であり、他のプロトコルや識別子を定義することにより、下位レイヤから上位レイヤの基準クロック情報が取得されてもよい。例えば、IPパケットに基準クロック情報を含むかどうかの識別子がTLVデータタイプ以外のフィールドに格納されてもよい。
【0121】
また、例えば、IPアドレスやポート番号、コンテクスト識別子を解析することなく、IPパケットまたは圧縮IPパケットから特定位置のビット列を抽出することで、MMTパケットに含まれる基準時刻情報を抽出してもよい。
図17は、IPパケットまたは圧縮IPパケットから特定位置のビット列を抽出する場合のフローである。なお、この場合の受信装置20の構成は、
図8に示されるブロック図と同様である。
【0122】
図17のフローにおいては、まず、復号部11は、受信部10が受信した伝送路符号化データを復号し(S141)、伝送路スロットからTLVパケットを抽出する(S142)。
【0123】
次に、TLVデマルチプレクサ12は、TLVパケットのデータタイプを解析し、データタイプが基準クロック情報を含むIPであるかどうかの判定を行う(S144)。データタイプが基準クロック情報を含むIPパケットでないと判定された場合(S144でNo)、フローは終了する。データタイプが基準クロック情報を含むIPパケットであると判定された場合(S144でYes)、IPパケット及びMMTパケットを解析し、IPヘッダが圧縮されているかどうかの判定を行う(S145)。
【0124】
IPヘッダが圧縮されていない場合(S145でNo)、TLVヘッダから固定長Nバイトだけオフセットした位置のMMTパケットの中に含まれる基準クロック情報を取得する(S146)。IPヘッダが圧縮されている場合(S145でYes)、TLVヘッダから固定長Mバイトだけオフセットした位置のMMTパケットの中に含まれる基準クロック情報を取得する(S147)。
【0125】
最後に、基準クロック生成部16は、基準クロック情報を基に、システムクロックを生成する(S148)。
【0126】
なお、IPパケットがIPv4であるか、IPv6であるかによって、IPパケットヘッダのデータ構造が異なるため、固定長Nバイトや、Mバイトは異なる値となる。
【0127】
音声、映像、及び制御信号などを含む通常のMMTパケットは、通常のステップでDEMUX処理が行なわれるのに対し、基準クロック情報を含むMMTパケットは、下位レイヤから上位レイヤまでのDEMUX処理が一括で行われる。これにより、上位レイヤに基準クロック情報が格納されている場合であっても、下位レイヤにおいて基準クロック情報の取得ができる。つまり、基準クロック情報の取得のための処理を軽減し、かつ、基準クロック情報の取得までの時間を短縮することができ、ハードウェア実装も容易となる。
【0128】
(その他の実施の形態)
以上、実施の形態1について説明したが、本発明は、上記実施の形態に限定されるものではない。
【0129】
上記実施の形態では、基準クロック情報の格納方法について説明したが、1つ以上のレイヤで複数の基準クロック情報が送信されてもよい。複数の基準クロック情報が送信されている場合、受信装置20は、どちらか一方の基準クロック情報を選択して基準クロック(システムクロック)の生成に用いてもよいし、両方を用いて基準クロックを生成してもよい。このとき、受信装置20は、精度の高い基準クロック情報を選択してもよいし、より早く取得できる基準クロック情報を選択してもよい。
【0130】
また、例えば、従来のMMTパケットヘッダに含まれる32bitショートフォーマットNTPに加えて、より高精度な基準クロック情報を送信することが想定される。このような場合、送信側からは、受信装置20が高精度な基準クロック情報を用いて32bitショートフォーマットNTPを再生するための情報がさらに送信される。このような情報は、例えば、互いのクロックの相対関係を示す時刻情報であり、CRI_descriptor()等を用いて送信される構成などが考えられる。
【0131】
なお、受信装置20において32bitショートフォーマットNTPが再生できる場合には、従来のMMTパケットヘッダに含まれるNTPフィールドは不要である。このため、NTPフィールドには別の情報が格納されてもよいし、NTPフィールドを削減することによりヘッダ圧縮が行われてもよい。ヘッダ圧縮がされる場合には、NTPフィールドを削減したことを示す情報が送信される。受信装置20は、NTPフィールドが削減されている場合には、他の基準クロック情報を用いて基準クロックを生成するとともに、32bitショートフォーマットNTPを再生する。
【0132】
また、MMTパケットが通信伝送路を用いて伝送される場合、通信受信装置は、QoS制御のために32bitショートフォーマットNTPを使用し、基準クロック情報は使用しない可能性がある。そのため、通信伝送路では基準クロック情報が送信されなくてもよい。また、通信伝送路のEnd−to−End遅延が一定以内である場合は、基準クロック情報をクロック再生に用いてもよい。
【0133】
なお、上記実施の形態1では、MMT/IP/TLV方式を用いる場合を例に説明したが、多重化方式として、MMT方式以外の方式が用いられてもよい。例えば、MPEG2−TS方式、RTP方式、またはMPEG−DASH方式にも本発明を適用することができる。
【0134】
また、IPパケットのヘッダ圧縮の方法としては、RoHC(Robust Header Compression)、及びHCfB(Header Compression for Broadcasting)がある。
【0135】
IPパケットを放送に格納する方式としては、TLV方式以外にも、GSE(Generic Stream Encapsulation)方式、及びULE(Unidirectional Light−weight. Encapsulation)を用いたIPoverTS方式などがある。
【0136】
以上のようないずれの方式を用いる場合にも本発明は適用可能であり、本発明の適用により、受信装置20における基準クロック情報を取得までの時間の短縮や処理の軽減、ハードウェア化実装によるクロックの高精度化などを実現することができる。
【0137】
なお、上記実施の形態における基準クロック情報は、多重化方式がMMTである場合は、NTPであるが、例えば、多重化方式がMPEG2−TS方式である場合には、PCR(Program Clock Reference)である。また、多重化方式がMMTである場合においても、IEEE1588で規定されるPTPをNTP形式で伝送することもある。NTPの一部のビットのみが伝送されることもある。つまり、基準クロック情報は、送信側が設定する時刻を示す情報であればよい。なお、NTPは、必ずしもインターネットで一般的に使用される、NTPサーバにおけるNTP値を意味するわけではない。
【0138】
また、本発明は、上記のような方法で基準クロック情報を格納した伝送スロットを送信する送信装置(送信方法)として実現されてもよい。以下、このような送信装置の構成について補足する。
図18は、送信装置の機能構成を示すブロック図である。
図19は、送信装置の動作フローである。
【0139】
図18に示されるように、送信装置30は、生成部31と、送信部32とを備える。なお、送信装置30の構成要素は、具体的には、マイクロコンピュータ、プロセッサ、または専用回路などによって実現される。
【0140】
送信装置30は、具体的には、放送サーバであり、上記実施の形態1の「送信側」の一例である。
【0141】
生成部31は、例えば、IPパケットが格納されたTLVパケットが1以上格納されたスロットを複数格納した伝送スロットを生成する(
図19のS151)。また、生成部31は、伝送スロット内の先頭に位置するTLVパケットに、受信装置20においてコンテンツ(例えば、映像または音声などの放送コンテンツ)の再生のために用いられるNTPなどの基準クロック情報を含める。生成部31は、具体的には、放送コンテンツを符号化する符号化部、MMTマルチプレクサ、IPマルチプレクサ、及び、TLVマルチプレクサなどからなる。なお、TLVパケットは、第1の伝送単位の一例であり、スロットは、第2の伝送単位の一例であり、伝送スロットは、伝送用のフレームの一例である。
【0142】
送信部32は、生成部31によって生成された伝送スロット(伝送スロットを含む伝送路符号化データ)を、放送を通じて送信する(
図19のS152)。
【0143】
上記実施の形態1でも説明したように、このような送信装置30によれば、伝送スロット内の先頭に位置するTLVパケットに基準クロック情報を含めることで、受信装置20が基準クロック情報を取得する処理を簡素化できる。したがって、受信装置20が基準クロック情報を取得するまでの時間を短縮することができる。
【0144】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【0145】
また、各構成要素は、回路でもよい。これらの回路は、全体として1つの回路を構成してもよいし、それぞれ別々の回路でもよい。また、これらの回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。
【0146】
例えば、上記各実施の形態において、特定の処理部が実行する処理を別の処理部が実行してもよい。また、複数の処理の順序が変更されてもよいし、複数の処理が並行して実行されてもよい。
【0147】
以上、一つまたは複数の態様に係る受信装置(受信方法)及び送信装置(送信方法)について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。