以下、添付の図面を参照して本開示に係る技術の実施形態を詳細に説明する。なお、本明細書及び図面において、同様に説明されることが可能な要素については、同一の符号を付することにより重複説明が省略され得る。
説明は、以下の順序で行われる。
1.概要
2.第1の実施形態
2-1.放送信号処理ノードの構成例
2-2.受信ストリーム処理部の詳細な構成例
2-3.処理の流れ
3.第2の実施形態
3-1.放送信号処理ノードの構成例
3-2.変形例
4.第1の実施形態及び第2の実施形態のまとめ
5.第3の実施形態
5-1.既存のSDPオブジェクトの例
5-2.SDPオブジェクトの新たなフォーマット
5-3.放送局システムの構成例
5-4.送信ノードの構成例
5-5.制御ノードの構成例
6.第4の実施形態
6-1.送信ノードの構成例
6-2.制御ノードの構成例
7.第3の実施形態及び第4の実施形態のまとめ
<<1.概要>>
まず、図1を用いて、本開示のいくつかの実施形態が適用され得る放送局システムの概要について説明する。図1は、本開示の実施形態に係る放送局システム1の構成の一例を示す概略図である。図1を参照すると、放送局システム1は、1つ以上のネットワーク装置12、カメラ20a、モニタ20b、IPゲートウェイ20c、IPゲートウェイ20d、カメラ22、マイクロフォン24、データサーバ26、統合プレイアウト(Integrated Playout)32、モニタ34、APS(Automatic Program control System)40及び制御端末50を含む。ネットワーク装置12、カメラ20a、モニタ20b、IPゲートウェイ20c、IPゲートウェイ20d、APS40、及び制御端末50は、IPドメイン10に属する。
(1)様々な装置の説明
ネットワーク装置12は、IPネットワークにおけるストリームの転送を担当する装置である。ネットワーク装置12の各々は、例えばルータ、スイッチ、ブリッジ又はリピータなど、いかなる種類のネットワーク装置であってもよい。ネットワーク装置12の各々は、低コストで導入可能な汎用品(COTS(Commercial Off-The-Shelf)ともいう)であってもよい。図1には6つのネットワーク装置12が示されているが、かかる例に限定されず、放送局システム1はいくつのネットワーク装置12を含んでもよい。IPドメイン10は、単一のネットワークで構成されてもよく、又は複数のサブネットワークを含んでもよい。
カメラ20aは、放送素材を生成するキャプチャデバイスの一種である。例えば、カメラ20aは、何らかの対象を撮影して、映像データを生成する。カメラ20aは、内蔵されるマイクロフォンを通じて音声を取得して、音声データを生成してもよい。カメラ20aは、IPドメイン10に属し、映像データ及び音声データのデータストリームを一連のIPパケットへパケット化してIPネットワークへ送信することができる。
モニタ20bは、放送素材を受信してコンテンツを再生する再生デバイスの一種である。例えば、モニタ20bは、映像データを受信して映像を再生する。モニタ20bは、音声データを受信して音声を再生してもよい。モニタ20bは、追加的に伝送される補助データを受信して、補助データを処理(例えば、字幕を再生)してもよい。モニタ20bは、コンテンツを編集するための編集機能をユーザへ提供してもよい。モニタ20bは、IPドメイン10へ属し、IPネットワーク上で転送されて来る一連のIPパケットを受信することができる。
IPゲートウェイ20cは、IPドメイン10と他の信号ドメインとの境界に位置するゲートウェイデバイスである。IPゲートウェイ20cは、1つ又は複数のネットワーク装置12へ接続する。図1の例において、IPゲートウェイ20cには、カメラ22、マイクロフォン24及びデータサーバ26がさらに接続されている。例えば、IPゲートウェイ20cは、映像データを搬送するSDI信号をカメラ22から受信し得る。また、IPゲートウェイ20cは、音声データを搬送するSDI信号をマイクロフォン24から受信し得る。また、IPゲートウェイ20cは、映像データ、音声データ及び補助データのうちの1つ以上を搬送するSDI信号をデータサーバ26から受信し得る。なお、IPドメイン10の外部で伝送される信号の信号形式は、例えばSD-SDI、HD-SDI、3G-SDI、6G-SDI若しくは12G-SDIといったSDIの任意の派生であってもよく、又は、SDI以外の信号形式であってもよい。IPゲートウェイ20cは、上述したようにカメラ22、マイクロフォン24及びデータサーバ26から受信される放送素材を搬送する信号を、必要に応じて多重化し又は逆多重化した後、一連のIPパケットへパケット化してIPネットワークへ送信することができる。
IPゲートウェイ20dもまた、IPドメイン10と他の信号ドメインとの境界に位置するゲートウェイデバイスである。IPゲートウェイ20dは、1つ又は複数のネットワーク装置12へ接続する。図1の例では、IPゲートウェイ20dには、統合プレイアウト32及びモニタ34がさらに接続されている。例えば、IPゲートウェイ20dは、IPネットワーク上で転送されて来るIPパケットを受信し、それらIPパケットをSDI信号(又は他の信号形式の信号)へ変換して、統合プレイアウト32及びモニタ34の一方又は双方へ送信することができる。なお、当然ながら、IPゲートウェイ20cがIPゲートウェイ20dと同様にIPパケットをSDI信号へ変換する機能を有していてもよい。また、IPゲートウェイ20dがIPゲートウェイ20cと同様にSDI信号をIPパケットへ変換する機能を有していてもよい。
APS40は、予め決定されるスケジュールに従って、テレビジョン番組の放送を進行させるシステムである。例えば、APS40は、IPネットワークへ制御メッセージを送信して、所定の時刻に所与の送信元(例えば、カメラ及びマイクロフォン、又はデータサーバ)から出力されるデータストリームを統合プレイアウト32へ伝送させる。データストリームを受信した統合プレイアウト32は、放送局の回線を通じてアンテナへテレビジョン番組の放送信号を送出する。データストリームは、例えばモニタ20b又はモニタ34にも配信され、放送局内でも放送コンテンツが再生され得る。
制御端末50は、放送局システム1に含まれるノードの管理及び制御に関連するユーザインタフェースをユーザへ提供する端末装置である。制御端末50は、放送局システム1に専用のユーザ端末であってもよく、又はPC(Personal Computer)若しくはスマートフォンといった汎用的な端末であってもよい。制御端末50は、例えば、放送局内のネットワーク上でのストリームの伝送に関連する設定情報を、ユーザインタフェースを介して取得してシステム内のデータベースへ登録する。また、制御端末50は、例えば、ユーザインタフェースを介して所与のノード間のストリームの伝送を求めるリクエストを受け付ける。
(2)IPマルチキャスト
放送局システム1のIPドメイン10内の放送信号ストリームの伝送は、典型的には、マルチキャストで行われる。マルチキャストされるパケットの送信元IPアドレスは送信ノードのIPアドレスであり、宛て先IPアドレスは特定のアドレス範囲に属するマルチキャストアドレスである。個々のマルチキャストアドレスを宛て先とするマルチキャストパケットを受信するノードの集合をマルチキャストグループといい、マルチキャストアドレスをグループアドレスともいう。あるストリームを受信することを意図する受信ノードは、そのストリームに対応するマルチキャストグループへの加入(join)を通知するメッセージ(例えば、IGMP(Internet Group Management Protocol) JOIN)を近傍のルータへ送信する。すると、ルータ間でマルチキャストツリーを更新するためのメッセージ交換が行われ、特定の送信ノードから送信されるストリームがIPネットワークを介して受信ノードへ配信されるようになる。受信ノードは、マルチキャストストリームの受信を終了する際には、マルチキャストグループからの離脱(leave)を通知するメッセージを近傍のルータへ送信する。なお、上述した例に限定されず、本開示に係る技術は、ストリームがユニキャストで伝送されるケースにも適用可能である。
(3)IPドメインの論理的構成例
図2は、図1に示した放送局システム1のIPドメイン10の論理的な構成の一例を示している(簡明さのために、ここではAPS40及び制御端末50は省略されている)。図2を参照すると、カメラ20aに相当する第1ノードは、センダ(sender)60aを含む。「センダ」とは、ストリームを送信する能力を有する機能エンティティである。IPゲートウェイ20cに相当する第2ノードは、センダ60b、60c及び60dを含む。センダ60b、60c及び60dは、IPゲートウェイ20cにより収容される個々のストリームの送信元の装置に相当し得る。モニタ20bに相当する第3ノードは、レシーバ65aを含む。「レシーバ」とは、ストリームを受信する能力を有する機能エンティティである。IPゲートウェイ20dに相当する第4ノードは、レシーバ65b及び65cを含む。レシーバ65b及び65cは、IPゲートウェイ20dにより収容される個々のストリームの受信先の装置に相当し得る。
上の説明から理解されるように、1つのノード(「カード」と呼ばれてもよい)は、1つの物理エンティティを表現する。図1の例に限定されず、1つのノードは、機能エンティティとして、任意の数のセンダ及び/又は任意の数のレシーバを含んでよい。また、1つのノード内で複数の機能エンティティを包含する論理的な単位(例えば、図中の破線枠参照)が定義されてもよい(例えば、1つのIPゲートウェイに収容される1つのデバイスが複数のストリームを送信し又は受信するケース)。例えば、AMWAにより検討されているNMOSは、こうした論理的なシステムモデルを前提として、IPドメインでのストリームの伝送を管理し及び制御するためのアプリケーションプロトコルインタフェース(API)の仕様を規定している。
なお、本明細書において、ノード20a、20b、20c及び20dを互いに区別する必要が無い場合には、符号の末尾のアルファベットを省略することによりこれらをノード20と総称する。センダ60a、60b、60c、60d(センダ60)及びレシーバ65a、65b、65c(レシーバ65)、並びに他の構成要素の符号についても同様である。
(4)エッセンスとストリーム
上述したように、テレビジョン番組のコンテンツは、概して、映像データ、音声データ及び補助データという3種類の放送素材のデータから構成される。本明細書では、放送素材の種類を区別してこれらコンテンツの構成要素へ言及するために、「エッセンス」との語を用いる。言い換えると、エッセンスは、データとして表現された放送素材である。エッセンスをIPネットワーク上で伝送しようとする場合、エッセンスは、あるIPベースのプロトコルに従って、デジタル信号へ変換されパケット化される。エッセンスを搬送する一連のIPパケットには、ストリーム単位で共通するポート番号が付与される。即ち、ストリームは、IPアドレス及びポート番号が共通するIPパケットのシーケンスであり得る。IPベースのストリーム伝送プロトコルとして、後述するどのプロトコルが使用される場合にも、通常、パケットは、アプリケーションレイヤではRTP(Real-time Transport Protocol)、トランスポートレイヤではUDP(User Datagram Protocol)に従って伝送される。
(5)IPベースのストリーム伝送プロトコル
IPベースのストリーム伝送のための代表的なプロトコルの1つは、SMPTE ST2022-6である。SMPTE ST2022-6は、SDI信号をそのままIPパケットへマッピングする。そのため、単一のST2022-6ストリームが、異なる種類のエッセンスとブランキング期間に相当するデータとを含む。ST2022-6ストリームは、IPドメイン及びSDIドメインが混在する過渡期の放送局システムにおいて好適であり得る。
IPベースのストリーム伝送のための代表的なプロトコルの他の1つは、SMPTE ST2110である。SMPTE ST2110は、異なる種類のエッセンスをそれぞれ異なるストリームへマッピングする。そのため、単一のストリームは単一の種類のエッセンスのみを含み、どのストリームもブランキング期間に相当するデータを含まない。SMPTE ST2110-10は、PTPの仕組みに基づく、放送局システムに参加するノード間の高精度の同期のための手法を規定している。SMPTE ST2110-20は、非圧縮の映像エッセンスの伝送フォーマットを規定している。SMPTE ST2110-21は、映像エッセンスのトラフィックシェーピングのための手法を規定している。SMPTE ST2110-30は、非圧縮のPCM音声エッセンスの伝送フォーマットを規定している。SMPTE ST2110-31は、AES3音声エッセンスの伝送フォーマットを規定している。SMPTE ST2110-40は、補助データエッセンスの伝送フォーマットを規定している。なお、SMPTE ST2110シリーズでは、映像エッセンスの圧縮はサポートされておらず、誤り訂正符号化/復号も行われない。
(6)SMPTE ST2110-10での時刻同期
テレビジョン番組を正確なスケジュールに従って放送するためには、システム内のノードが正確な時刻を認識していることを要する。また、異なる複数のノードから受信されるストリームを多重化し、複数の映像を合成し、又は映像と音声とを同時に再生する場合にも、ノード間で時刻の精細な同期が確立されていることを要する。図3は、こうした時刻同期の目的のための、SMPTE ST2110-10により規定されたシステムタイミングモデルについて説明するための説明図である。
図3には、一例として、放送局システム1のノード20a及びノード20b、並びに共通基準クロック70が示されている。共通基準クロック70は、高精度の時刻源(例えば、GPS(Global Positioning System)衛星などのGNSS(Global Navigation Satellite System)衛星)に同期し、いわゆるPTPグランドマスタとして動作する。共通基準クロック70は、PTPの仕組みに従って、システム内のスレーブノードへ同期メッセージを配信する。
ノード20aは、PTPのスレーブノードである。ノード20aは、自身のデバイス内部クロック72aを共通基準クロック70に同期させ、共通基準クロック70から受信される同期メッセージに基づいてその同期を維持(例えば、遅延を調整)する。ノード20aの映像用メディアクロック73aは、デバイス内部クロック72aにロックされ、映像固有の周波数で進行する。音声用メディアクロック76aは、デバイス内部クロック72aにロックされ、音声固有の周波数で進行する。SMPTE ST2110-20により規定された映像固有の周波数は90kHzであり、SMPTE ST2110-30により規定された音声固有の周波数は48kHzである。
通常、RTPパケットにはメディアクロックに対してランダムに生成されるオフセットを有するタイムスタンプが付与されるが、SMPTE ST2110-10ではオフセットはゼロとされる。それにより、何らかの障害に起因してセンダがリスタートした場合のストリーム伝送の迅速な復旧が可能とされる(なぜなら、ランダムオフセットの決定のための処理が省略されるためである)。即ち、ノード20aの映像用RTPクロック74aは、映像用メディアクロック73aに対してオフセットを有さず、映像用メディアクロック73aと同一の時刻を示す。そして、ノード20aが送信する映像エッセンスのRTPストリームの各パケットのRTPヘッダには、映像用RTPクロック74aに従ってRTPタイムスタンプが付与される。同様に、ノード20aの音声用RTPクロック77aは、音声用メディアクロック76aに対してオフセットを有さず、音声用メディアクロック76aと同一の時刻を示す。そして、ノード20aが送信する音声エッセンスのRTPストリームの各パケットのRTPヘッダには、音声用RTPクロック77aに従ってRTPタイムスタンプが付与される。
概していうと、SMPTE ST2110-10において、映像又は音声をキャプチャするデバイスは、キャプチャ時刻をRTPタイムスタンプとして各パケットに付与する。コンテンツをストレージからプレイバックするデバイスは、通信インタフェースからのエッセンスの出力時刻をRTPタイムスタンプとして各パケットに付与する。SDI信号をIPパケットへ変換するデバイスは、アラインメント時点のSDI信号のクロック値をRTPタイムスタンプとして各パケットに付与する。
ノード20bもまた、PTPのスレーブノードである。ノード20bは、自身のデバイス内部クロック72bを共通基準クロック70に同期させ、共通基準クロック70から受信される同期メッセージに基づいてその同期を維持(例えば、遅延を調整)する。図には示していないものの、ノード20aと同様に、ノード20bも、デバイス内部クロック72bにロックされたメディアクロックと、メディアクロックに対しオフセットを有しないRTPクロックとを有する。ノード20bは、例えばノード20aから送信される映像エッセンスのRTPストリーム及び音声エッセンスのRTPストリームをそれぞれ異なるポート番号で受信する。そして、ノード20bは、自身のRTPクロックと、受信したRTPストリームの各パケットのRTPヘッダに付与されたRTPタイムスタンプとに基づいて、パケット間の時間合わせ(time alignment)を行う。PTPを活用するこうした仕組みにより、放送局のIPネットワークへ参加するノード間で、誤差10μ秒以下という高精度の時間同期が可能とされる。
図4は、図3を用いて説明したSMPTE ST2110-10のシステムタイミングモデルに基づく映像エッセンスと音声エッセンスとの間の時間合わせについて説明するための説明図である。図4を参照すると、ノード20aは、映像エッセンスのRTPストリーム81及び音声エッセンスのRTPストリーム82を並列的にネットワークへ送出する。RTPストリーム81に含まれるパケット(V1、V2、V3、…)の各々は、映像用RTPクロックに従って付与されたRTPタイムスタンプとシーケンス番号とをRTPヘッダ内に有する。RTPストリーム82に含まれるパケット(A1、A2、A3、…)の各々は、音声用RTPクロックに従って付与されたRTPタイムスタンプとシーケンス番号とをRTPヘッダ内に有する。ノード20bは、UDPポートPVにおいて、RTPストリーム81の一連のRTPパケットを受信し、受信したRTPパケットをシーケンス番号順に処理する。また、ノード20bは、UDPポートPAにおいて、RTPストリーム82の一連のRTPパケットを受信し、受信したRTPパケットをシーケンス番号順に処理する。例えば、ノード20bは、映像及び音声を同期的に再生しようする場合、RTPストリーム81の各パケットのRTPタイムスタンプとRTPストリーム82の各パケットのRTPタイムスタンプとを比較して、映像及び音声の再生時刻(例えば、フレームタイミング)を互いに同期させる。なお、複数の映像エッセンスの間、複数の音声エッセンスの間、及び映像エッセンス又は音声エッセンスと補助データエッセンスとの間の時間合わせも同様に行われ得る。
(7)ARIB STD-B73
相互に関連する映像、音声及び補助データをSMPTE ST2110のように別々のストリームで伝送すると、トランスポートレイヤでそれらストリームのポート番号が相違することから、受信側でもとのコンテンツを再構築する処理が複雑化する。ポート番号が相違すれば、IPネットワーク上での経路制御の結果として、個々のストリームが辿る伝送経路の違いからストリームごとに異なる遅延を受ける可能性もある。こうした不都合を解消するために、日本国内の標準化団体であるARIBは、映像、音声及び補助データを単一のストリームで伝送するためのデータ構造の規定として、ARIB STD-B73を規格化済みである。
図5は、ARIB STD-B73 1.0版の第2章に記述されているデータグラムの構成について説明するための説明図である。図5に太線の枠で示したデータグラムは、先行するネットワークヘッダ及び後続するFCS(Frame Check Sequence)と共に、1つのパケットを構成する。ネットワークヘッダは、例えば、MAC(Medium Access Control)ヘッダ(例えば、イーサネットヘッダ)、IPヘッダ及びUDPヘッダを含む。エッセンスデータのためのRTPデータグラムは、RTPヘッダ及び共通ヘッダを含むトランスポートヘッダと、エッセンスヘッダと、エッセンスペイロードとを含む。エッセンスデータグラムは、エッセンスヘッダと、エッセンスペイロードとを含む。共通ヘッダ、エッセンスヘッダ及びエッセンスペイロードを含む部分をRTPペイロードともいう。一方、図には示していないものの、FECデータのためのRTPデータグラムは、エッセンスヘッダ及びエッセンスペイロードの代わりにFECペイロードを含む。なお、本明細書において、パケット及びデータグラムという用語は、互換可能に使用される。これら用語の意味は、当業者により容易に理解されるであろう。
RTPヘッダは、例えば、データ項目として「ペイロードタイプ」、「シーケンス番号」及び「タイムスタンプ」を含む。「ペイロードタイプ」には固定的な値(例えば、110)が設定される。「シーケンス番号」の値は各伝送で1インクリメントされる。その初期値はランダムに設定され得る。「タイムスタンプ」の値は単調に線形的にインクリメントされるものの、ARIB STD-B73 1.0版は本フィールドを同期に使用しないことを規定している。
共通ヘッダは、例えば、データ項目として「フレームカウント」、「データグラムタイプ」及び「シーケンス番号」を含む。共通ヘッダの「フレームカウント」には、対応するエッセンスヘッダの「フレームカウント」と同じ値が設定される。「データグラムタイプ」には、対応するデータグラムがエッセンスデータグラムであるか又はFEC(Forward Error Correction)データグラムであるかを示す値が設定される。「シーケンス番号」の値は、映像エッセンス、音声エッセンス及び補助データエッセンス(並びにFEC)で別々に、伝送の都度1インクリメントされる。その初期値はランダムに設定され得る。
エッセンスヘッダは、例えば、データ項目として「ペイロードタイプ」及び「フレームカウント」を含む。「ペイロードタイプ」には、後続するエッセンスペイロードに含まれるエッセンスのタイプを示す値が設定される(0:映像、1:音声、2:補助データ、など)。エッセンスヘッダの「フレームカウント」には、受信側で各エッセンスのデータグラムの同期を取るための値が設定される。SMPTE ST2059-1で定義されているエポックの時刻が「フレームカウント」の初期値ゼロとして使用される。「フレームカウント」の値は新しい映像フレームの開始の都度1インクリメントされ、同じ映像フレームに属する全てのエッセンスデータグラムに同じ値が設定される。
図6は、ARIB STD-B73に従った単一ストリームでの映像エッセンス及び音声エッセンスの伝送について説明するための説明図である。図6を参照すると、ノード20cは、映像エッセンスのためのパケット及び音声エッセンスのためのパケットの双方を含むRTPストリーム83をネットワークへ送出する。RTPストリーム83に含まれるパケット(V1、A1、V2、A2、…)の各々は、フレームカウント値をエッセンスヘッダ内に有する。ノード20dは、単一のポートPMにおいて、RTPストリーム83の一連のRTPパケットを受信し、受信したRTPパケットをシーケンス番号順に処理する。上述したように、ARIB STD-B73によれば、RTPヘッダ内のシーケンス番号の順で前後に並ぶ一群のRTPパケットが同じ映像フレームに属し、同じフレームカウント値を有する。そのため、ノード20dは、映像エッセンス及び音声エッセンスを含む当該一群のRTPパケットを同期的に処理することができる。
しかし、ARIB STD-B73は、放送局システムに参加するノード間でどのように協調的に動作してストリームを処理すべきかを規定していない。
例えば、ストリームの伝送に関与するノード間で高精度の同期が確立されておらず、パケット間の時間合わせのために使用すべき時刻情報用のフィールドに合意が無ければ、放送局システム内でやり取りされる多様なエッセンスを柔軟に組み合わせて放送コンテンツを構成することができない。そこで、後述する第1の実施形態及び第2の実施形態において、放送局のIPネットワーク上で映像データ、音声データ又は補助データといったエッセンスデータを単一のストリームで伝送するプロトコル(例えば、ARIB STD-B73)を利用する際に、エッセンスデータの適切な時間合わせを行う仕組みを提案する。
加えて、SMPTE ST2110ストリームのために通常利用されるSDPオブジェクトのフォーマットは、フォーマット構造においても、記述される情報の内容においても、ARIB STD-B73ストリームの特性に必ずしも適していない。そこで、後述する第3の実施形態及び第4の実施形態において、放送局のIPネットワーク上で映像データ、音声データ又は補助データといったエッセンスデータを単一のストリームで伝送するプロトコルを利用する際に、当該ストリームの伝送を適切にセットアップすることを可能にする手法を説明する。
なお、本明細書において、異なる種類のエッセンスデータが単一のストリームで伝送されるようなストリームを、エッセンス混在型ストリームともいう。エッセンス混在型ストリームの例は、ARIB STD-B73ストリーム及びSMPTE ST2022-6ストリームを含む。また、本明細書において、異なる種類のエッセンスデータがそれぞれ異なるストリームで伝送されるようなストリームを、エッセンス分離型ストリームともいう。エッセンス分離型ストリームの例は、SMPTE ST2110ストリームを含む。
<<2.第1の実施形態>>
本章で説明する放送信号処理ノード100は、上述したセンダ60及びレシーバ65の双方の機能性を含む。しかしながら、当業者にとって明らかなように、放送信号処理ノード100において、センダ60及びレシーバ65のうちの一方の機能性が省略されてもよい。放送信号処理ノード100は、放送局システム1において、例えば、図1及び図2を用いて説明したノード20a~20dのいずれかに相当し得る。
<2-1.放送信号処理ノードの構成例>
図7は、第1の実施形態に係る放送信号処理ノード100の構成の一例を示すブロック図である。図7を参照すると、放送信号処理ノード100は、デバイス内部クロック110、メディアクロック112、RTPクロック114、PTP処理部116、通信部120、送信ストリーム処理部130、受信ストリーム処理部140、データ処理部180及び制御部190を備える。
(1)デバイス内部クロック
デバイス内部クロック(機器内部クロックともいう)110は、放送信号処理ノード100が保持する固有の内部的なクロックである。本実施形態において、デバイス内部クロック110は、PTPの時刻源に直接的に又は間接的に同期する。典型的には、放送信号処理ノード100がPTPスレーブである場合、デバイス内部クロック110は、PTPグランドマスタを介してPTPの時刻源に間接的に同期する。一方、放送信号処理ノード100がPTPマスタである場合、デバイス内部クロック110は、PTPの時刻源に直接的に同期する。例えば、後述する制御部190は、放送信号処理ノード100がPTPマスタにならないように自身を設定してもよい。
(2)メディアクロック
メディアクロック112は、デジタルメディア信号の処理(例えば、サンプリング及び再構成)のために使用されるクロックである。本実施形態において、メディアクロック112は、SMPTE ST2059-1で定義されているエポックの時刻を初期値ゼロとして使用し、デバイス内部クロック110に周波数ロックされて、正確なレートで進行する。放送信号処理ノード100が共通基準クロックを取得できず、ローカルタイムベース上で動作している場合には、SMPTE ST2059-1で定義されている上記エポックを前提として、利用可能な時刻源のうち最良のものがメディアクロック112及び後述するRTPクロック114のために用いられ得る。
本実施形態において、放送信号処理ノード100は、異なる種類のエッセンスデータを単一のストリームで伝送するための伝送プロトコルであるARIB STD-B73をサポートする。ARIB STD-B73では、映像エッセンス、音声エッセンス及び補助データエッセンスの各々のタイミングは、映像フレームに関連付けられる。この場合、RTPタイムスタンプの基礎となるメディアクロックはエッセンスデータの種類によらず単一であってよい。後述するRTPクロック114も同様である。
SMPTE ST2110-20では、映像エッセンスのためのメディアクロック周波数は、90kHzと規定されている。一方、既存の多くの放送用機器は、27.0MHzのクロックを有する。SDIイメージを伝送するSMPTE ST2022-6ストリームをSMPTE ST2110-10システムへ統合するために検討されているSMPTE ST2022-8では、27.0MHzのメディアクロック周波数が規定されている。メディアクロック周波数を90kHzとした場合、当該周波数は、映像フレームの周波数として利用されることの多い60/1.001Hzの整数倍にならない。一方、メディアクロック周波数を27.0MHzとした場合、当該周波数は60/1.001Hzの整数倍となる。この点を考慮し、本実施形態では、フレーム期間を正確に一定にして、クロック値を単調増加させる点において取り扱い上有利な27.0MHzを、メディアクロック112のクロック周波数として利用する。
(3)RTPクロック
RTPクロック114は、RTPパケットのRTPヘッダへ付与されるタイムスタンプの基礎となるクロックである。本実施形態において、RTPクロック114は、SMPTE ST2110-10の規定に従い、メディアクロック112に対しオフセットを有しないものとする。即ち、RTPクロック114は、関連付けられるメディアクロック112と同一の値を有する。したがって、本実施形態において、RTPクロック114のクロック周波数は、メディアクロック112のクロック周波数と同様に27.0MHzに等しい。
(4)PTP処理部
本実施形態において、放送信号処理ノード100は、例えばSMPTE ST2059-2のPTPプロファイルをサポートする。そして、PTP処理部116は、PTPマスタ(例えば、図3を用いて説明した共通基準クロック70)との間で通信部120を介して同期メッセージを交換することにより、デバイス内部クロック110のPTP時刻源との同期を維持する。それにより、放送信号処理ノード100は、同じくPTP時刻源と同期したクロックを有する他のノードとの間で、高精度で同期的に動作することが可能となる。
(5)通信部
通信部120は、放送信号処理ノード100による他のノードとの通信を仲介するインタフェースである。通信部120は、有線通信のための接続端子及び接続回路を含んでもよく、又は無線通信のためのアンテナ、RF(Radio Frequency)回路及びベースバンド回路を含んでもよい。本実施形態において、通信部120は、送信部122及び受信部124を含む。
送信部122には、後述する送信ストリーム処理部130により生成される、放送信号ストリームのための一連のRTPパケットが入力される。各RTPパケットは、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む。各RTPパケットのRTPヘッダには、デバイス内部クロック110にロックされたメディアクロック112に対しオフセットを有しないRTPクロック114に従ってRTPタイムスタンプが付与されている。送信部122は、入力される各RTPパケットにネットワークヘッダを追加して、各パケットを放送局システム1に参加する他のノードへ送信する。上記ストリームがARIB STD-B73ストリームである場合、ネットワークヘッダ内に記述されるポート番号は、映像データを搬送するパケット、音声データを搬送するパケット及び補助データを搬送するパケットで共通的である。
受信部124は、一連のRTPパケットからなる放送信号ストリームを、放送信号処理ノード100の送信ストリーム処理部130及び送信部122と同様のセンダ機能を有する他のノードから受信する。各RTPパケットは、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む。上記ストリームがARIB STD-B73ストリームである場合、一連のRTPパケットは、共通的なポート番号を介して、単一のストリームとして受信される。各RTPパケットのRTPヘッダは、送信側のノードのデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTPクロックに従って付与されたRTPタイムスタンプを含む。各RTPパケットのRTPペイロード内のヘッダは、同じRTPクロックに基づくフレームカウント情報を含む。放送信号処理ノード100及び送信側のノードは、上述したようにPTPの時刻源に直接的に又は間接的に同期している。したがって、それらノード間のクロックの誤差は、例えば10μ秒以下であり得る。
受信部124は、ARIB STD-B73ストリーム以外の放送信号ストリームを他のノードから受信してもよい。例えば、受信部124は、ARIB STD-B73ストリームと同様のエッセンス混在型ストリーム(例えば、SMPTE ST2022-6ストリーム)を受信してもよい。また、受信部124は、SMPTE ST2110ストリームのようなエッセンス分離型ストリームを受信してもよい。
受信部124は、受信した放送信号ストリームの各パケットからネットワークヘッダを除去して、RTPヘッダ及びRTPペイロードからなるRTPパケットを受信ストリーム処理部140へ出力する。
(6)送信ストリーム処理部
送信ストリーム処理部130は、データ処理部180から入力される映像データ、音声データ又は補助データのシーケンスを処理して、放送信号ストリームのための一連のRTPパケットを生成する。送信ストリーム処理部130は、例えば、入力されるデータシーケンスを1つ以上のエッセンスペイロードへセグメント化し、各ペイロードにエッセンスヘッダを追加する。エッセンスヘッダ内のペイロードタイプは、対応するエッセンスのタイプを示す値に設定され、フレームカウントの値は新しい映像フレームの開始の都度1インクリメントされる。送信ストリーム処理部130は、さらに、各パケットにトランスポートヘッダ(共通ヘッダ及びRTPヘッダ)を追加する。共通ヘッダ内のシーケンス番号の値は、映像エッセンス、音声エッセンス及び補助データエッセンスで別々に、伝送の都度1インクリメントされる。RTPヘッダ内のペイロードタイプは固定的な値に設定され、シーケンス番号の値はペイロードタイプによらず各伝送で1インクリメントされる。送信ストリーム処理部130は、さらに、RTPクロック114に従ってRTPヘッダへRTPタイムスタンプを付与する。送信ストリーム処理部130は、このように生成される一連のRTPパケットを送信部122へ出力する。
(7)受信ストリーム処理部
受信ストリーム処理部140は、他のノードから受信部124を介して受信される放送信号ストリームの一連のRTPパケットを処理して、映像データ、音声データ又は補助データを復元する。そして、受信ストリーム処理部140は、復元したデータのシーケンスをデータ処理部180へ出力する。とりわけ、本実施形態において、受信ストリーム処理部140は、受信されるRTPパケットのRTPヘッダから取得されるRTPタイムスタンプ、又は、受信されるRTPパケットのRTPペイロード内のヘッダ(例えば、エッセンスヘッダ又は共通ヘッダ)から取得されるフレームカウント情報に基づいて、当該RTPパケットと他のRTPパケットとの間でエッセンスデータの時間合わせを行う。こうした時間合わせのための受信ストリーム処理部140のより詳細な構成の一例について、後にさらに説明する。
(8)データ処理部
データ処理部180は、映像データ、音声データ又は補助データを生成して、生成したデータのシーケンスを送信ストリーム処理部130へ出力する。データ処理部180は、例えば、図示しないデータソースから入力される映像データを圧縮して、圧縮済みの映像データを生成してもよい。また、データ処理部180は、受信ストリーム処理部140により復元される映像データ、音声データ又は補助データを処理する。データ処理部180は、例えば、受信ストリーム処理部140により復元され、互いに時間合わせされたエッセンスデータに基づいて、複数のエッセンス(例えば、映像エッセンス、音声エッセンス及び補助データエッセンスのうちの2つ以上、又は複数の映像エッセンスなど)を同期的に再生してもよい。また、データ処理部180は、受信ストリーム処理部140により復元される映像データ、音声データ又は補助データを所定のファイルフォーマットで記録媒体(図示せず)に記録してもよい。また、データ処理部180は、受信ストリーム処理部140から入力される映像データが圧縮済みの映像データである場合には、当該圧縮済みの映像データを逆圧縮して、もとの映像データを復元してもよい。
(9)制御部
制御部190は、放送信号処理ノード100の上述した動作の全般を制御する。制御部190は、例えば、APS40又は制御端末50といった外部装置から受信される指示に応じて、放送信号ストリームを送信部122から送信させ、又は放送信号ストリームを受信部124により受信させる。放送信号処理ノード100が複数の伝送プロトコルをサポートする場合には、制御部190は、例えば外部装置からの指示において選択される伝送プロトコルのための動作を、各処理部に実行させる。制御部190は、通信部120を介して他のノードへ、放送信号処理ノード100の機能性(例えば、サポートするプロトコル、送信/受信可能なエッセンスのタイプ、クロック周波数及びその他の属性)を通知してもよい。
本明細書で説明するいくつかの実施形態において、RTPストリームである放送信号ストリームの属性は、SDPオブジェクトに記述される。SMPTE ST2110-10によれば、1つ以上のセンダを含むデバイスは、RTPストリームごとに1つのSDPオブジェクトを構築するものとされている。本実施形態においても、センダとしての役割を有する送信ストリーム処理部130及び送信部122により送信可能なストリームの属性を記述したSDPオブジェクトが、放送信号処理ノード100の記憶部(図示せず)に予め記憶され得る。そして、制御部190は、ストリームの送信の開始に先立って、予め定義される管理用のアプリケーションプロトコルインタフェース(例えば、NMOS API)を介して当該SDPオブジェクトを外部装置へ提供する。一方、制御部190は、受信部124及び受信ストリーム処理部140に他の送信ノードから放送信号ストリームを受信させる場合、当該送信ノードにより提供されるSDPオブジェクトの記述に従って、受信される放送信号ストリームを正しく処理できるように受信側の処理を構成する。なお、ARIB STD-B73ストリームの特性に適したSDPオブジェクトのフォーマットについて、後述する第3の実施形態及び第4の実施形態で詳しく説明する。
<2-2.受信ストリーム処理部の詳細な構成例>
図8は、図7に示した受信ストリーム処理部140の詳細な構成の一例を示すブロック図である。図8を参照すると、受信ストリーム処理部140は、トランスポート処理部142、エッセンスデータグラム処理部150及びFECデータグラム処理部170を含む。
(1)トランスポート処理部
トランスポート処理部142は、トランスポートヘッダ(TH)除去部144を含む。TH除去部144は、受信部124から入力される放送信号ストリームのRTPパケットの先頭のRTPヘッダ及び共通ヘッダ(即ち、トランスポートヘッダ)を除去する。そして、TH除去部144は、共通ヘッダ内の「データグラムタイプ」の値に依存して、当該RTPパケットのデータグラムを、エッセンスデータグラム処理部150又はFECデータグラム処理部170へ分配する。例えば、「データグラムタイプ」の値がエッセンスデータグラムを示す場合には、当該エッセンスデータグラムがエッセンスデータグラム処理部150へ出力される。一方、「データグラムタイプ」の値がFECデータグラムを示す場合には、当該FECデータグラムがFECデータグラム処理部170へ出力される。
トランスポート処理部142からエッセンスデータグラム処理部150又はFECデータグラム処理部170へのデータグラムの出力は、RTPヘッダ内の「シーケンス番号」の順に行われ得る。欠落したシーケンス番号に対応するデータグラムの処理は、スキップされてよい。トランスポート処理部142は、エッセンスデータグラムに対応するRTPヘッダ内のRTPタイムスタンプの値を、アラインメント部160へ出力する。
(2)エッセンスデータグラム処理部
エッセンスデータグラム処理部150は、エッセンスヘッダ(EH)除去部152、映像エッセンス処理部154、音声エッセンス処理部156、補助データエッセンス処理部158、及びアラインメント部160を含む。
EH除去部152は、トランスポート処理部142から入力されるエッセンスデータグラムの先頭のエッセンスヘッダを除去する。そして、EH除去部152は、エッセンスヘッダ内の「ペイロードタイプ」の値に依存して、当該エッセンスデータグラムのエッセンスペイロードを、映像エッセンス処理部154、音声エッセンス処理部156、又は補助データエッセンス処理部158へ分配する。例えば、「ペイロードタイプ」の値が映像エッセンスを示す場合には、当該映像エッセンスが映像エッセンス処理部154へ出力される。「ペイロードタイプ」の値が音声エッセンスを示す場合には、当該音声エッセンスが音声エッセンス処理部156へ出力される。「ペイロードタイプ」の値が補助データエッセンスを示す場合には、当該補助データエッセンスが補助データエッセンス処理部158へ出力される。また、EH除去部152は、エッセンスヘッダ内の「フレームカウント」の値をアラインメント部160へ出力する。
映像エッセンス処理部154は、EH除去部152から順次入力される映像エッセンスを処理して、映像データを復元する。例えば、映像エッセンス処理部154は、ARIB STD-B73ストリームが受信された場合には、ARIB STD-B73により規定された映像ペイロードのパッキング形式に従って映像エッセンスを逆パッキングして、映像データを復元し得る。映像エッセンスが圧縮済みの映像データを含む場合には、映像エッセンス処理部154は、映像エッセンスを逆圧縮して映像データを復元してもよい(逆圧縮は、上述したようにデータ処理部180により行われてもよい)。
音声エッセンス処理部156は、EH除去部152から順次入力される音声エッセンスを処理して、音声データを復元する。例えば、音声エッセンス処理部156は、ARIB STD-B73ストリームが受信された場合には、ARIB STD-B73により規定された音声ペイロードのパッキング形式に従って音声エッセンスを逆パッキングして、音声データを復元し得る。
補助データエッセンス処理部158は、EH除去部152から順次入力される補助データエッセンスを処理して、補助データを復元する。例えば、補助データエッセンス処理部158は、ARIB STD-B73ストリームが受信された場合には、ARIB STD-B73により規定された補助データペイロードのパッキング形式に従って補助データエッセンスを逆パッキングして、補助データを復元し得る。
アラインメント部160は、各RTPパケットのRTPヘッダからトランスポート処理部142において取得されるRTPタイムスタンプ、又は、各RTPパケットのRTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、エッセンスデータ間の時間合わせを行う。
本実施形態において、少なくとも第1のRTPパケットは、エッセンス混在型ストリームのためのプロトコルに従って生成されるパケットである。エッセンス混在型ストリームのためのプロトコルは、例えば、ARIB STD-B73であってよい。ARIB STD-B73が利用される場合、エッセンス混在型ストリームのRTPパケットの各々は、ブランキング期間に相当するデータを含まず、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む。
図9Aは、2つのRTPパケットの間のエッセンスデータの時間合わせのための手法の第1の例について説明するための説明図である。図9Aには、第1のRTPパケット161a及び第2のRTPパケット166aが示されている。第1のRTPパケット161a及び第2のRTPパケット166aは、共にARIB STD-B73に従って生成されたものとする。第1のRTPパケット161a及び第2のRTPパケット166aは、単一のポートPMを介して受信される。
第1のRTPパケット161aは、RTPヘッダ162a内に「タイムスタンプ」を含み、エッセンスヘッダ163a内に「ペイロードタイプ」及び「フレームカウント」を含む。エッセンスヘッダ163aの「ペイロードタイプ」の値は対応するエッセンスペイロードが映像エッセンスを含むことを示し、「フレームカウント」は値F1を示す。値F1は、例えば、SMPTE ST2059-1で定義されているエポックの時刻をゼロとした場合の、映像エッセンスが属する映像フレームのキャプチャ時刻に対応する。
第2のRTPパケット166aは、RTPヘッダ167a内に「タイムスタンプ」を含み、エッセンスヘッダ168a内に「ペイロードタイプ」及び「フレームカウント」を含む。エッセンスヘッダ168aの「ペイロードタイプ」の値は対応するエッセンスペイロードが音声エッセンスを含むことを示し、「フレームカウント」は値F1を示す。値F1は、例えば、SMPTE ST2059-1で定義されているエポックの時刻をゼロとした場合の、音声エッセンスが属する映像フレームのキャプチャ時刻に対応する。
図9Aに示した第1の例において、アラインメント部160は、これらRTPパケット161a、166aのエッセンスヘッダ163a、168aから取得されるフレームカウント情報に基づいて、RTPパケット161aとRTPパケット166aとの間でエッセンスデータの時間合わせを行う。このようにエッセンスヘッダ内のフレームカウント情報のみに基づいて時間合わせが行われる場合、トランスポート処理部142からアラインメント部160へタイムスタンプ情報を出力することが不要となり、プロトコルレイヤをまたいだ情報の参照が抑制されることから、受信ストリーム処理部140の構成を簡略化することができる。
図9Bは、2つのRTPパケットの間のエッセンスデータの時間合わせのための手法の第2の例について説明するための説明図である。図9Bには、第3のRTPパケット161b及び第4のRTPパケット166bが示されている。第3のRTPパケット161b及び第4のRTPパケット166bは、共にARIB STD-B73に従って生成されたものとする。第3のRTPパケット161b及び第4のRTPパケット166bは、単一のポートPMを介して受信される。
第3のRTPパケット161bは、RTPヘッダ162b内に「タイムスタンプ」を含み、エッセンスヘッダ163b内に「ペイロードタイプ」及び「フレームカウント」を含む。RTPヘッダ162bの「タイムスタンプ」は、値T2を示す。エッセンスヘッダ163bの「ペイロードタイプ」の値は、対応するエッセンスペイロードが映像エッセンスを含むことを示す。値T2は、例えば、映像エッセンスが属する映像フレームのキャプチャ時刻に対応する。
第4のRTPパケット166bは、RTPヘッダ167b内に「タイムスタンプ」を含み、エッセンスヘッダ168b内に「ペイロードタイプ」及び「フレームカウント」を含む。RTPヘッダ167bの「タイムスタンプ」は、値T2を示す。エッセンスヘッダ168bの「ペイロードタイプ」の値は、対応するエッセンスペイロードが音声エッセンスを含むことを示す。値T2は、例えば、音声エッセンスが属する映像フレームのキャプチャ時刻に対応する。
図9Bに示した第2の例において、アラインメント部160は、これらRTPパケット161b、166bのRTPヘッダ162b、167bから取得されるRTPタイムスタンプに基づいて、RTPパケット161bとRTPパケット166bとの間でエッセンスデータの時間合わせを行う。このようにRTPタイムスタンプに基づいて時間合わせが行われる場合、同じくRTPタイムスタンプを利用するSMPTE ST2110-10のシステムタイミングモデルのための実装を再利用して、アラインメント部160を簡易に構成することができる。
図9Cは、2つのRTPパケットの間のエッセンスデータの時間合わせのための手法の第3の例について説明するための説明図である。図9Cには、第5のRTPパケット161c及び第6のRTPパケット166cが示されている。第5のRTPパケット161cはARIB STD-B73に従って生成され、第6のRTPパケット166cはSMPTE ST2110-30に従って生成されたものとする。例えば、第5のRTPパケット161cはポートPMを介して受信され、第6のRTPパケット166cは音声エッセンスを含むエッセンス分離型ストリームのためのポートPAを介して受信される。
第5のRTPパケット161cは、RTPヘッダ162c内に「タイムスタンプ」を含み、エッセンスヘッダ163c内に「ペイロードタイプ」及び「フレームカウント」を含む。エッセンスヘッダ163cの「ペイロードタイプ」の値は対応するエッセンスペイロードが映像エッセンスを含むことを示し、「フレームカウント」は値F3を示す。値F3は、映像エッセンスが属する映像フレームのキャプチャ時刻に対応する。
第6のRTPパケット166cは、RTPヘッダ167c内に「タイムスタンプ」を含む。RTPヘッダ167cの「タイムスタンプ」は、値T3を示す。値T3は、例えば、音声エッセンス内の音声データの最も早いサンプリング時刻に対応する。
図9Cに示した第3の例において、アラインメント部160は、第5のRTPパケット161cのエッセンスヘッダ163cから取得されるフレームカウント情報、及び、第6のRTPパケット166cのRTPヘッダ167cから取得されるRTPタイムスタンプに基づいて、RTPパケット161cとRTPパケット166cとの間でエッセンスデータの時間合わせを行う。例えば、アラインメント部160は、値T3に対応するサンプリング時刻が値F3に対応する映像フレームのフレーム期間に含まれる場合には、第6のRTPパケット166cから復元される音声データが第5のRTPパケット161cから復元される映像データと同じ映像フレームへ同期されるべきであると判定し得る。このような手法によれば、ARIB STD-B73ストリームのRTPパケットのRTPタイムスタンプに実効的なタイムスタンプ値が設定されない場合にも、ARIB STD-B73ストリームとSMPTE ST2110ストリームとの間で適切に時間合わせを行うことができる。
図9Dは、2つのRTPパケットの間のエッセンスデータの時間合わせのための手法の第4の例について説明するための説明図である。図9Dには、第7のRTPパケット161d及び第8のRTPパケット166dが示されている。第7のRTPパケット161dはARIB STD-B73に従って生成され、第8のRTPパケット166dはSMPTE ST2110-20に従って生成されたものとする。例えば、第7のRTPパケット161dはポートPMを介して受信され、第8のRTPパケット166dは映像エッセンスを含むエッセンス分離型ストリームのためのポートPVを介して受信される。
第7のRTPパケット161dは、RTPヘッダ162d内に「タイムスタンプ」を含み、エッセンスヘッダ163d内に「ペイロードタイプ」及び「フレームカウント」を含む。RTPヘッダ162dの「タイムスタンプ」は、値T4を示す。エッセンスヘッダ163dの「ペイロードタイプ」の値は、対応するエッセンスペイロードが音声エッセンスを含むことを示す。値T4は、例えば、音声エッセンスが属する映像フレームのキャプチャ時刻に対応する。
第8のRTPパケット166dは、RTPヘッダ167d内に「タイムスタンプ」を含む。RTPヘッダ167dの「タイムスタンプ」は、値T4´を示す。値T4´は、例えば、映像エッセンスが属する映像フレームのキャプチャ時刻(インターレース方式の第2フィールドの場合には、フレーム期間の半分だけオフセットされた時刻)に対応する。
図9Dに示した第7の例において、アラインメント部160は、第7のRTPパケット161dのRTPヘッダ162dから取得されるRTPタイムスタンプ、及び、第8のRTPパケット166dのRTPヘッダ167dから取得されるRTPタイムスタンプに基づいて、RTPパケット161dとRTPパケット166dとの間でエッセンスデータの時間合わせを行う。このような手法によれば、RTPタイムスタンプを利用するSMPTE ST2110-10のシステムタイミングモデルのための実装をARIB STD-B73ストリームの処理のために再利用して、アラインメント部160を簡易に構成することができる。
(3)FECデータグラム処理部
上述したように、SMPTE ST2110シリーズでは、誤り訂正処理は行われない。一方、ARIB STD-B73は、RS(Reed-Solomon)ベースの手法又はXORベースの手法でのFECをサポートしている。FECデータグラム処理部170は、この誤り訂正処理を担当する。即ち、FECデータグラム処理部170は、トランスポート処理部142から入力されるFECデータグラムについて誤り訂正処理を実行する。
例えば、FECデータグラム処理部170は、誤り訂正方式としてRSベースの手法が選択される場合には、制御部190により設定されるデータグラム数(n,k)をRS復号の処理単位として、RS復号を実行する。ここで、nは、FEC演算の対象とされるエッセンスデータグラム数と、対応するFECデータグラム数との合計を表す。kは、当該エッセンスデータグラム数を表す。また、FECデータグラム処理部170は、誤り訂正方式としてXORベースの手法が選択される場合には、制御部190により設定されるサイズ(L,D)のFECブロックを処理単位として、XORベースの復号を実行する。ここで、Lは、行方向のエッセンスデータグラム数を表し、Dは列方向のエッセンスデータグラム数を表す。
<2-3.処理の流れ>
次に、図10及び図11を用いて、第1の実施形態において実行され得る主な処理の流れについて説明する。
(1)ストリーム送信処理
図10は、第1の実施形態に係るストリーム送信処理の流れの一例を示すフローチャートである。ここでは、ストリーム送信処理が放送信号処理ノード100により実行されるものとして説明するが、ストリーム送信処理は、上述したセンダ60の機能を有するいかなるノードにより実行されてもよい。
まず、PTP処理部116は、デバイス内部クロック110をPTPの時刻源に直接的に又は間接的に同期させる(ステップS101)。PTPの時刻源とのデバイス内部クロック110の同期は、この後も継続的に維持される。
送信ストリーム処理部130は、例えば制御部190による制御の下で、データ処理部180から入力されるエッセンスデータからエッセンスペイロードを生成する(ステップS103)。エッセンスデータは、映像データ、音声データ又は補助データのいずれかを含む。エッセンスペイロードは、例えば、ARIB STD-B73により規定された映像データ、音声データ又は補助データのパッキング形式に従ってエッセンスデータをパッキングすることにより生成され得る。
次いで、送信ストリーム処理部130は、デバイス内部クロック110にロックされたメディアクロック112に対しオフセットを有しないRTPクロック114に従って、フレームカウント値(及び/又はRTPタイムスタンプ)を算出する(ステップS105)。フレームカウント値は、同じ映像フレームに属するエッセンスデータが処理されている間は、同じ値に維持される。
次いで、送信ストリーム処理部130は、フレームカウント値を含むエッセンスヘッダをエッセンスペイロードの先頭に追加して、エッセンスデータグラムを生成する(ステップS107)。エッセンスヘッダは、エッセンスペイロードに含まれるエッセンスのタイプを示す「ペイロードタイプ」をも含む。
次いで、送信ストリーム処理部130は、RTPクロック114に従った値を有するRTPタイムスタンプを含むトランスポートヘッダをエッセンスデータグラムに追加して、RTPパケットを生成する(ステップS109)。送信ストリーム処理部130は、さらに誤り訂正符号化処理を実行して、FECデータグラムを含むRTPパケットを生成してもよい。
次いで、送信部122は、送信ストリーム処理部130により生成されたRTPパケットにネットワーク(NW)ヘッダを追加して、IPパケットを生成する(ステップS111)。IPパケットのUDPヘッダ内のポート番号は、包含されるエッセンスのタイプに関わらず、ARIB STD-B73ストリームに割り当てられる共通的な値を示す。IPヘッダ内の宛て先IPアドレスは、例えば、当該ストリームに割り当てられるマルチキャストアドレスを示す。
次いで、送信部122は、生成したIPパケットをネットワークへ送信する(ステップS113)。送信されたIPパケットは、対応するマルチキャストグループへ加入した受信側のノードにより受信される。
上述したステップS103~S113の処理は、未処理のエッセンスデータが残っている間、反復的に実行され得る(ステップS115)。全てのエッセンスデータが処理されると、図10に示したストリーム送信処理は終了する。
(2)ストリーム受信処理
図11は、第1の実施形態に係るストリーム受信処理の流れの一例を示すフローチャートである。
まず、放送信号処理ノード100のPTP処理部116は、デバイス内部クロック110をPTPの時刻源に直接的に又は間接的に同期させる(ステップS151)。PTPの時刻源とのデバイス内部クロック110の同期は、この後も継続的に維持される。
次いで、受信部124は、図10を用いて説明したストリーム送信処理と同様の処理を通じて他のノードから送信される放送信号ストリームのIPパケットを受信する(ステップS153)。放送信号処理ノード100のデバイス内部クロック110がPTPの時刻源と同期していることから、放送信号処理ノード100は、IPパケットの送信元の上記他のノードとも高い精度で同期している。
次いで、受信部124は、受信したIPパケットのネットワークヘッダを除去することにより、RTPデータグラムを抽出する(ステップS153)。そして、受信部124は、抽出したRTPデータグラムを受信ストリーム処理部140へ出力する。
次いで、受信ストリーム処理部140は、RTPデータグラムのトランスポートヘッダ及びエッセンスヘッダを除去することにより、エッセンスペイロードを抽出する(ステップS155)。
次いで、受信ストリーム処理部140は、エッセンスヘッダ内のペイロードタイプの値に応じて、ARIB STD-B73により規定された映像データ、音声データ又は補助データのパッキング形式に従ってエッセンスペイロードを逆パッキングすることにより、エッセンスデータを復元する(ステップS157)。なお、図11には示していないものの、受信ストリーム処理部140は、エッセンスデータグラムと共にFECデータグラムが受信される場合には、FECデータグラムに基づいて誤り訂正復号を実行して、受信データに含まれるビット誤りを検出してもよい。
次いで、受信ストリーム処理部140のアラインメント部160は、RTPヘッダ内のRTPタイムスタンプ、又はRTPペイロード内のフレームカウント情報に基づいて、異なるRTPパケットに由来するエッセンスデータ間の時間合わせを行う(ステップS159)。
次いで、データ処理部180は、アラインメント部160により時間合わせされたエッセンスデータに基づく処理を実行する(ステップS161)。ここで実行される処理は、例えば、複数のエッセンスの同期的な再生、又はエッセンスデータのSDI信号への変換などであってよい。
上述したステップS153~S161の処理は、同一のストリームのパケットが継続的に受信されている間、反復的に実行され得る(ステップS163)。パケットの受信が停止すると、図11に示したストリーム受信処理は終了する。
<<3.第2の実施形態>>
次いで、図12を用いて、第2の実施形態について説明する。上述した第1の実施形態は具体的な実施形態であり、一方で第2の実施形態はより一般化された実施形態である。
<3-1.放送信号処理ノードの構成例>
図12は、第2の実施形態に係る放送信号処理ノード200の構成の一例を示すブロック図である。放送信号処理ノード200は、放送信号ストリームを1つ以上の他のノードから受信するノードである。放送信号処理ノード200により受信されるストリームは、限定ではないものの、ARIB STD-B73ストリームなどのエッセンス混在型ストリームを含む。図12を参照すると、放送信号処理ノード200は、通信部210及びアラインメント部220を備える。
通信部210は、PTPの時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTPクロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケット(第1のRTPパケット)を受信する。通信部210は、さらに他のRTPパケット(第2のRTPパケット)をも受信する。第1のRTPパケットと第2のRTPパケットとは、同一の放送信号ストリームに含まれるパケットであってもよく、又は互いに異なる放送信号ストリームに含まれるパケットであってもよい。
アラインメント部220は、受信される上記RTPパケットの上記RTPヘッダから取得される上記タイムスタンプ、又は、受信される上記RTPパケットの上記RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、上記RTPパケットと上記他のRTPパケットとの間でエッセンスデータの時間合わせを行う。
エッセンスデータの時間合わせのための放送信号処理が、放送信号処理ノード200の上記動作ステップを含んでもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムが提供されてもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムを記憶した非一時的なコンピュータ読取可能な記憶媒体が提供されてもよい。加えて、第1の実施形態において説明した任意の機能又は処理が本実施形態に適用されてよい。
<3-2.変形例>
図13は、第2の実施形態の第1の変形例に係る放送信号処理ノード200の構成の一例を示すブロック図である。図13を参照すると、放送信号処理ノード200は、図12を用いて説明した通信部210及びアラインメント部220に加えて、再生部230を備える。
再生部230は、アラインメント部220により時間合わせされた上記RTPパケット(第1のRTPパケット)及び上記他のRTPパケット(第2のRTPパケット)の上記エッセンスデータに基づいて、エッセンスを同期的に再生する。例えば、複数のカメラから受信される映像が同時に再生されてもよく、映像及び音声が同期的に再生されてもよく、又は、映像及び/若しくは音声と共に補助データが再生されてもよい。
図14は、第2の実施形態の第2の変形例に係る放送信号処理ノード200の構成の一例を示すブロック図である。図14を参照すると、放送信号処理ノード200は、第1通信部215、アラインメント部220、変換部240及び第2通信部250を備える。
第1通信部215は、PTPの時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTPクロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケット(第1のRTPパケット)を受信する。第1通信部215は、さらに他のRTPパケット(第2のRTPパケット)をも受信する。第1のRTPパケットと第2のRTPパケットとは、同一の放送信号ストリームに含まれるパケットであってもよく、又は互いに異なる放送信号ストリームに含まれるパケットであってもよい。
変換部240は、アラインメント部220による上記RTPパケット(第1のRTPパケット)と上記他のRTPパケット(第2のRTPパケット)との間のエッセンスデータの時間合わせに基づいて、それらRTPパケットに由来するエッセンスデータをSDI信号へ変換する。変換部240により生成されるSDI信号の信号形式は、例えばSD-SDI、HD-SDI、3G-SDI、6G-SDI又は12G-SDIといった、SDIの任意の派生であってよい。
第2通信部250は、上述した時間合わせに基づいて変換部240により生成されるSDI信号を、SDIドメインに属する他のノードへ送信する。
<<4.第1の実施形態及び第2の実施形態のまとめ>>
ここまで、本開示の第1の実施形態及び第2の実施形態について詳細に説明した。上述した実施形態では、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含むRTPパケットと、他のRTPパケットとの間のエッセンスデータの時間合わせが、RTPヘッダ内のRTPタイムスタンプ、又は、RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて行われる。RTPタイムスタンプは、PTPの時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTPクロックに従って付与される。かかる構成によれば、放送局のIPネットワーク上で映像データ、音声データ又は補助データといったエッセンスデータを単一のストリームで伝送するプロトコルを利用する際に、エッセンスデータの適切な時間合わせを行うことが可能である。
ある例において、上記RTPパケットは、エッセンス混在型ストリームのためのプロトコルに従って生成されるパケットである。上記エッセンス混在型ストリームは、例えば、ARIB STD-B73ストリームであってよい。ARIB STD-B73ストリームは、ブランキング期間に相当するデータを含まない。こうした例によれば、受信側でもとのコンテンツを再構築する処理を複雑にすることなく、かつエッセンスタイプごとにネットワーク上で異なる遅延を受ける可能性を回避しつつ、エッセンスデータを容易に時間合わせすることができる。
ある例において、上記メディアクロックのクロック周波数は、27.0MHzに等しい。かかる構成によれば、メディアクロックのクロック周波数を映像フレーム周波数の整数倍にしてフレーム期間を正確に一定にしつつ、映像データ、音声データ及び補助データを含み得る単一のエッセンス混在型ストリームに、そのメディアクロックのクロック周波数に基づいて共通的なやり方で時間合わせのための情報を付与することができる。
<<5.第3の実施形態>>
上で既に述べたように、SMPTE ST2110ストリームのために通常利用されるSDPオブジェクトのフォーマットは、フォーマット構造においても、記述される情報の内容においても、ARIB STD-B73ストリームの特性に必ずしも適していない。ARIB STD-B73ストリームの伝送を適切にセットアップするためには、当該ストリームの特性に適したSDPオブジェクトのフォーマットを定義する必要がある。
<5-1.既存のSDPオブジェクトの例>
SDPは、ストリーミング(又はその他の何らかのセッション)に使用されるパラメータセットをテキスト形式で記述する際のフォーマットを規定するプロトコルである、典型的には、ストリーミングの開始に先立って、ストリームの送信側と受信側との間でSDPオブジェクト(例えば、SDP形式で記述されたデータファイル)を送受信することにより、どういったパラメータ値を実際に使用すべきかに関する交渉が行われ、合意が結ばれる。あるいは、ストリームのセットアップに制御ノードが一元的に関与する場合には、SDPオブジェクトは、当該制御ノードへ提供され得る。
図15は、エッセンス分離型ストリーム用のSDPオブジェクトの典型的なフォーマット構造について説明するための説明図である。図15に示したように、SDPオブジェクトは、セッションレベルの(セッションに属する個々のメディアよりもむしろセッションにとって固有の)属性を記述するためのセッションレベルセクションと、1つ以上のメディアのそれぞれの属性を記述するための1つ以上のメディアレベルセクションとを含む。図15のSDPオブジェクトは、映像エッセンス用、音声エッセンス用及び補助データエッセンス用のそれぞれのメディアレベルセクションを含んでいる。オプションとして、可用性向上のために映像エッセンスに冗長RTPストリーム方式が適用される場合には、プライマリの映像エッセンス用のメディアレベルセクションに加えて、セカンダリの映像エッセンス用のメディアレベルセクションがSDPオブジェクトに含められ得る。なお、かかる例に限定されず、冗長RTPストリーム方式は、映像エッセンス、音声エッセンス及び補助データエッセンスのうちの任意の1つ以上に適用されてよい。各メディアレベルセクションは、対応するエッセンスタイプのストリームの属性を記述する属性フィールド群を含む。即ち、映像エッセンス用のメディアレベルセクションは、映像関連属性フィールド群を、音声エッセンス用のメディアレベルセクションは、音声関連属性フィールド群を、補助データエッセンス用のメディアレベルセクションは、補助データ関連属性フィールド群を含み得る。
図16は、図15を用いて説明したフォーマット構造を有する、SMPTE ST2110ストリームの属性を記述したSDPオブジェクトの一例を示している。
図16を参照すると、SDPオブジェクト301は、セッションレベルセクション302と、4つのメディアレベルセクション303、304、305及び306とを含む。セッションレベルセクション302は、プロトコルバージョンフィールド(“v=…”)、送信元フィールド(“o=…”)及びセッション名フィールド(“s=…”)など、セッションに固有の情報を記述するためのフィールド群を有する。
個々のメディアレベルセクションの開始は、メディア記述フィールド(“m=…”)により識別される。メディアレベルセクション303及び304は、映像エッセンスのストリームのためのセクションである。図16の例では、メディアレベルセクション303にプライマリの映像エッセンスのストリームの属性が記述されており、メディアレベルセクション304にセカンダリの映像エッセンスのストリームの属性が記述されている。メディアレベルセクション305には、音声エッセンスのストリームの属性が記述されている。メディアレベルセクション306には、補助データエッセンスのストリームの属性が記述されている。
映像用のメディアレベルセクション303の冒頭のメディア記述フィールド(“m=…”)には、メディアタイプ(“video”)、送信ポート番号(“50000”)、トランスポートプロトコル(“RTP/AVP”)、及びフォーマット形式番号(“112”)が記述されている。このメディア記述フィールドに加えて、メディアレベルセクション303は、映像関連属性フィールド群307を含む。映像関連属性フィールド群307は、ソースフィルタ属性フィールド(“a=source-filter:…”)、RTPマップ属性フィールド(“a=rtpmap:…”)、フォーマット固有パラメータ属性フィールド(“a=fmtp:…”)、基準クロック属性フィールド(“a=ts-refclk:…”)、メディアクロック属性フィールド(“a=mediaclk:…”)、及びマップID属性フィールド(“a=mid:…”)を含む。これらのうち、RTPマップ属性フィールド(“a=rtpmap:…”)は、対応するメディア記述フィールドのフォーマット形式番号と同じ値を有するペイロードタイプ番号(“112”)、サブタイプ名(“raw”)及びメディアクロック周波数(“90000”)を示す。フォーマット固有パラメータ属性フィールド(“a=fmtp:…”)には、フォーマット形式番号(“112”)に続いて、フォーマット固有の1つ以上のパラメータのパラメータ名とパラメータ値のペアが列挙される。マップID属性フィールド(“a=mid:…”)は、冗長RTPストリームが使用される場合にプライマリストリームとセカンダリストリームとを区別するために使用される。メディアレベルセクション304の内容は、メディア記述フィールドの送信ポート番号及びマップID属性フィールドを除いてメディアレベルセクション303と同様であってよいため、図16では省略されている。
音声用のメディアレベルセクション305の冒頭のメディア記述フィールド(“m=…”)には、メディアタイプ(“audio”)、送信ポート番号(“51200”)、トランスポートプロトコル(“RTP/AVP”)、及びフォーマット形式番号(“97”)が記述されている。このメディア記述フィールドに加えて、メディアレベルセクション305は、音声関連属性フィールド群308を含む。音声関連属性フィールド群308は、RTPマップ属性フィールド(“a=rtpmap:…”)、パケット時間属性フィールド(“a=ptime:…”)、基準クロック属性フィールド(“a=ts-refclk:…”)、メディアクロック属性フィールド(“a=mediaclk:…”)、フォーマット固有パラメータ属性フィールド(“a=fmtp:…”)、及びマップID属性フィールド(“a=mid:…”)を含む。これらのうち、RTPマップ属性フィールド(“a=rtpmap:…”)は、対応するメディア記述フィールドのフォーマット形式番号と同じ値を有するペイロードタイプ番号(“97”)、サブタイプ名(“L24”)、メディアクロック周波数(“48000”)及び符号化パラメータ(“6”)を示す。なお、サブタイプ名“L24”は、音声エッセンスが24ビットのリニアエンコーディングで符号化されることを示す。符号化パラメータ“6”は、音声チャンネル数が6であることを示す。フォーマット固有パラメータ属性フィールド(“a=fmtp:…”)には、フォーマット形式番号(“97”)に続いて、フォーマット固有の1つ以上のパラメータのパラメータ名とパラメータ値のペアが列挙される。
補助データ用のメディアレベルセクション306の冒頭のメディア記述フィールド(“m=…”)には、メディアタイプ(“video”)、送信ポート番号(“51300”)、トランスポートプロトコル(“RTP/AVP”)、及びフォーマット形式番号(“98”)が記述されている。このメディア記述フィールドに加えて、メディアレベルセクション306は、補助データ関連属性フィールド群309を含む。補助データ関連属性フィールド群309は、RTPマップ属性フィールド(“a=rtpmap:…”)、基準クロック属性フィールド(“a=ts-refclk:…”)、メディアクロック属性フィールド(“a=mediaclk:…”)、及びマップID属性フィールド(“a=mid:…”)を含む。これらのうち、RTPマップ属性フィールド(“a=rtpmap:…”)は、対応するメディア記述フィールドのフォーマット形式番号と同じ値を有するペイロードタイプ番号(“98”)、サブタイプ名(“smpte291”)及びメディアクロック周波数(“90000”)を示す。
図16から理解されるように、SMPTE ST2110ストリーム向けのSDPオブジェクトは、複数のエッセンスタイプのそれぞれのメディアレベルセクションを含み、それらメディアレベルセクションが、対応するエッセンスタイプに依存して異なるフィールドのセットを有する。こうしたフォーマット構造は、SMPTE ST2110ストリームと同様のエッセンス分離型ストリームには再利用可能であるが、ARIB STD-B73ストリームのようなエッセンス混在型ストリームの属性を記述するためには適しない。なぜなら、エッセンス混在型ストリームは、単一のストリーム内に複数のエッセンスタイプのデータを含むためである。さらに、映像エッセンスの圧縮をサポートし、かつ誤り訂正符号化/復号も可能なARIB STD-B73ストリームをセットアップするために要する情報項目が、図16に例示したSDPオブジェクトのフォーマットには不足している。
<5-2.SDPオブジェクトの新たなフォーマット>
図17は、本実施形態においてエッセンス混在型ストリームのために定義されるSDPオブジェクトのフォーマット構造について説明するための説明図である。
図17に示したように、新たなフォーマットにおいて、SDPオブジェクトは、セッションレベルの属性を記述するセッションレベルセクションと、複数のエッセンスタイプにとって共通のメディアレベルセクションとを含む。そして、1つの共通的なメディアレベルセクションが、映像エッセンスに関連する属性、音声エッセンスに関連する属性、及び補助データエッセンスに関連する属性を記述するための属性フィールド群を含む。とりわけ、本実施形態では、SDPの規格において独立した属性フィールドを割り当てられていないパラメータは、フォーマット固有パラメータ属性フィールド内に記述される。このようにして、エッセンス混在型ストリーム(あるいはARIB STD-B73ストリーム)の特性にSDPオブジェクトの構造を適合させることで、ストリームに固有の情報を曖昧性無くSDPオブジェクトに記述することができる。
オプションとして、可用性向上のために冗長RTPストリーム方式が適用される場合には、SDPオブジェクトは、プライマリのエッセンス共通のメディアレベルセクションに加えて、セカンダリのエッセンス共通のメディアレベルセクションを含み得る。
図18は、図17を用いて説明したフォーマット構造を有する、ARIB STD-B73ストリームの属性を記述したSDPオブジェクトの一例を示している。
図18を参照すると、SDPオブジェクト311は、セッションレベルセクション312と、2つのメディアレベルセクション313及び318とを含む。セッションレベルセクション312は、プロトコルバージョンフィールド(“v=…”)、送信元フィールド(“o=…”)及びセッション名フィールド(“s=…”)など、セッションに固有の情報を記述するためのフィールド群を有する。
メディアレベルセクション313及び318の開始は、それぞれのメディア記述フィールド(“m=…”)により識別される。メディアレベルセクション313及び318は共に、複数のエッセンスタイプにとって共通のセクションである。図18の例では、メディアレベルセクション313にプライマリのエッセンス混在型ストリームの属性が記述されており、メディアレベルセクション318にセカンダリのエッセンス混在型ストリームの属性が記述されている。
メディアレベルセクション313の冒頭のメディア記述フィールド(“m=…”)には、メディアタイプ(“video”)、送信ポート番号(“50000”)、トランスポートプロトコル(“RTP/AVP”)、及びフォーマット形式番号(“110”)が記述される。メディアレベルセクション313は、上述したように複数のエッセンスタイプにとって共通のセクションであるものの、本開示に係る技術において、各エッセンスのタイミングは映像フレームに紐付けられることから、ここではメディアタイプの文字列として“video”が選択され得る。送信ポート番号は、例えば、プライベートポート番号の範囲から任意に選択されるUDPポート番号であってよい。フォーマット形式番号は、他の値(例えば、“111”)であってもよい。本実施形態において、フォーマット形式番号は、複数のエッセンスタイプに共通的に付与されるフォーマット識別値としての役割を有する。このメディア記述フィールドに加えて、メディアレベルセクション313は、属性フィールド群314を含む。とりわけ、図18の例において、属性フィールド群314は、RTPマップ属性フィールド(“a=rtpmap:…”)315、フォーマット固有パラメータ属性フィールド(“a=fmtp:…”)316及びパケット時間属性フィールド(“a=ptime:…”)317を含む。
RTPマップ属性フィールド315は、フォーマット形式番号と同じ値を有するペイロードタイプ番号(“110”)によって、メディアレベルセクション313の冒頭のメディア記述フィールドに関連付けられる。RTPマップ属性フィールド315のサブタイプ名には、例えばプロトコル名称“ARIB_STD-B73”が記述され、この名称から、SDPオブジェクト311を提供するセンダにより送信される放送信号ストリームがARIB STD-B73ストリームであることが特定される。RTPマップ属性フィールド315により示されるメディアクロック周波数は、ここでは27MHzである。
フォーマット固有パラメータ属性フィールド316は、フォーマット形式番号(“110”)によって、メディアレベルセクション313の冒頭のメディア記述フィールドに関連付けられる。フォーマット固有パラメータ属性フィールド316は、少なくとも、第1のエッセンスタイプのエッセンスデータに関連する第1の属性情報及び第2のエッセンスタイプのエッセンスデータに関連する第2の属性情報を含む。図18の例においては、フォーマット固有パラメータ属性フィールド316は、以下のように分類される情報を含む:
・映像関連属性-映像エッセンスのエッセンスデータに関連する属性情報
・音声関連属性-音声エッセンスのエッセンスデータに関連する属性情報
・補助データ関連属性-補助データエッセンスのエッセンスデータに関連する属性情報
・FEC関連属性-誤り訂正方式に関連する属性情報
・トラフィックシェーピング関連属性-トラフィックシェーピングに関連する属性情報
次の表1~表5は、本実施形態においてフォーマット固有パラメータ属性フィールド316に記述され得る映像関連属性、音声関連属性、補助データ関連属性、FEC関連属性及びトラフィックシェーピング関連属性のパラメータの一覧をそれぞれ示している。
本実施形態では、映像エッセンスデータが圧縮されるかを示す圧縮関連情報が新たに定義される。この圧縮関連情報を含む映像関連属性は、SDPオブジェクト311のメディアレベルセクション313のフォーマット固有パラメータ属性フィールド316に記述され得る。具体的には、例えば、表1に示したように、圧縮関連情報は、映像エッセンスデータが圧縮されるかを示す圧縮パラメータ“compression”を含む。さらに、映像エッセンスデータが圧縮されることを当該圧縮パラメータが示す場合には、圧縮関連情報は、映像エッセンスデータを圧縮する際に利用されるコーデック(圧縮方式)を示すコーデックパラメータ“codec”を含む。
既存のSDPのフォーマットによれば、音声エッセンスデータに関連する音声チャンネル数情報は、図16に例示したように、音声用のメディアレベルセクションのRTPマップ属性フィールド(“a=rtpmap:…”)に記述される。しかし、本実施形態のように、複数のエッセンスタイプにとって共通のメディアレベルセクションのみを設け、メディアタイプの文字列として“video”を選択した場合、RTPマップ属性フィールドに音声チャンネル数情報を記述することはSDPの規格に反する。そこで、本実施形態では、表2に示したように、フォーマット固有の音声関連属性として、音声チャンネル数情報を定義する。この音声チャンネル数情報を含む音声関連属性は、上述した映像関連属性と共に、SDPオブジェクト311のメディアレベルセクション313のフォーマット固有パラメータ属性フィールド316に記述され得る。具体的には、例えば、音声チャンネル数情報は、音声チャンネル数パラメータ“channel-number”を含む。SMPTE ST2110-30では音声チャンネル数は1からレベルに依存して異なる上限値までの範囲内の任意の整数であり得るが、ARIB STD-B73では音声チャンネル数は4、8、12又は16のいずれかに制約される。
本実施形態では、補助データ関連属性は、映像関連属性(及び音声関連属性)と共に、SDPオブジェクト311のメディアレベルセクション313のフォーマット固有パラメータ属性フィールド316に記述され得る。具体的には、例えば、表3に示したように、補助データ関連属性は、データID及びセカンダリデータID“DID_SDID”並びに映像ペイロードIDコード“VPID_Code”を含む。
本実施形態では、エッセンスデータへ適用される誤り訂正方式を示す誤り訂正情報が新たに定義される。この誤り訂正情報は、上述した他の属性と共に、SDPオブジェクト311のメディアレベルセクション313のフォーマット固有パラメータ属性フィールド316に記述され得る。具体的には、例えば、表4に示したように、誤り訂正情報は、エッセンスデータへ適用される誤り訂正方式を示すタイプパラメータ“FECtype”と、当該タイプパラメータにより示される誤り訂正方式の設定値を示す設定パラメータと、を含む。タイプパラメータがXOR符号化(“XOR”)を示す場合には、設定パラメータは、誤り訂正ブロックサイズを示すサイズパラメータ“XORsize”を含む。一方、タイプパラメータがリードソロモン符号化(“RS”)を示す場合には、設定パラメータは、リードソロモン符号化の処理単位に相当するデータグラム数を示すデータグラム数パラメータ“RSnum”を含む。
本実施形態では、トラフィックシェーピング関連属性は、上述した他の属性と共に、SDPオブジェクト311のメディアレベルセクション313のフォーマット固有パラメータ属性フィールド316に記述され得る。具体的には、例えば、表5に示したように、トラフィックシェーピング関連属性は、センダのバッファのタイプを示すバッファタイプパラメータ“TP”を含む。
本実施形態では、パケット時間属性フィールド317は、フォーマット固有パラメータ属性フィールド316と同一のメディアレベルセクション313内に含まれる。これは、図16の例においてパケット時間属性フィールド(“a=ptime:…”)が映像用のメディアレベルセクション303とは異なる音声用のメディアレベルセクション305内に含まれていたこととは対照的である。パケット時間属性フィールド317は、パケット内のメディアの時間長をミリ秒単位で示す。このフィールドにより示される時間長は、機器のバッファサイズを左右する。本実施形態では、パケット時間属性フィールド317により示される時間長は、音声エッセンスのみに適用され得る。
なお、表1~表5に列挙したフォーマット固有パラメータは、一例に過ぎない。複数のエッセンスタイプにとって共通のメディアレベルセクションは、他の追加的なパラメータを含んでもよく、又は表に示したパラメータのうちの1つ以上が省略されてもよい。
メディアレベルセクション318の内容は、マップID属性フィールドなど一部を除いて、メディアレベルセクション313と同様であってよい。冗長RTPストリーム方式が適用されない場合には、メディアレベルセクション318はSDPオブジェクト311に含まれない。
本項で説明したSDPオブジェクトのフォーマット構造を用いることで、ARIB STD-B73ストリームのようなエッセンス混在型ストリームの属性を、ストリームの構造に即して適切に記述することが可能となる。さらに、映像エッセンスの圧縮をサポートし、かつ誤り訂正符号化/復号も可能なARIB STD-B73ストリームを、当該ストリームの属性に関する情報をSDPオブジェクトの提供を通じて不足なく交換することによりセットアップすることが可能となる。
<5-3.放送局システムの構成例>
図19は、第3の実施形態に係る放送局システム3の概略的な構成の一例を示すブロック図である。図19を参照すると、放送局システム3は、1つ以上の送信ノード300a~300nと、制御ノード400と、1つ以上の受信ノード450a~450nとを含む。
送信ノード300a~300nの各々(以下、送信ノード300という)は、放送局システム3において放送信号ストリームを送信可能な放送信号処理ノードである。各送信ノード300は、少なくとも1つのセンダ60を有する。送信ノード300は、自らが送信可能なストリームの属性を記述したSDPオブジェクトを制御ノード400へ提供する。送信ノード300により提供されるSDPオブジェクトは、図17及び図18を用いて説明した、エッセンス混在型ストリームのための新たなフォーマットに従って記述され得る。
制御ノード400は、放送局のIPネットワークにおける、放送信号ストリームの送信ノードから受信ノードへの送信を制御するノードである。放送局システム3において送信される放送信号ストリームは、異なるタイプのエッセンスデータを単一のポート番号で伝送するエッセンス混在型ストリームを含む。制御ノード400は、例えば、図1に例示したAPS40又は制御端末50のような外部装置からのリクエストの受信に応じて、指定されるノード間のストリームの伝送をセットアップし、送信ノード300へ伝送開始を指示する。エッセンス混在型ストリームの伝送のセットアップは、送信元の送信ノード300から提供される上述したSDPオブジェクトの記述に従って行われ得る。
受信ノード450a~450nの各々(以下、受信ノード450という)は、放送局システム3において放送信号ストリームを受信可能な放送信号処理ノードである。各受信ノード450は、少なくとも1つのレシーバ65を有する。受信ノード450は、制御ノード400による制御の下で、放送信号ストリームを受信するための受信処理をSDPオブジェクトの記述に従って構成し、放送信号ストリームを送信ノード300から受信する。受信対象の放送信号ストリームがエッセンス混在型ストリームである場合には、受信ノード450は、異なるタイプのエッセンスデータを単一のポート番号で(即ち、単一のストリーム内で)受信する。受信ノード450の構成は、第1の実施形態において説明した放送信号処理ノード100、又は第2の実施形態において説明した放送信号処理ノード200の構成と同様であってよい。
<5-4.送信ノードの構成例>
図20は、本実施形態に係る送信ノード300の構成の一例を示すブロック図である。図20を参照すると、送信ノード300は、デバイス内部クロック110、メディアクロック112、RTPクロック114、PTP処理部116、通信部320、送信ストリーム処理部130、受信ストリーム処理部140、データ処理部180、制御部390及び記憶部395を備える。
(1)通信部
通信部320は、送信ノード300による他のノードとの通信を仲介するインタフェースである。通信部320は、有線通信のための接続端子及び接続回路を含んでもよく、又は無線通信のためのアンテナ、RF回路及びベースバンド回路を含んでもよい。本実施形態において、通信部320は、送信部322及び受信部324を含む。
送信部322は、センダ60としての役割を有し、エッセンス混在型ストリームを放送局システム3のIPネットワークへ送信する。当該放送信号ストリームは、例えば、ARIB STD-B73ストリームであってよい。具体的には、送信ストリーム処理部130により生成される、放送信号ストリームのための一連のRTPパケットが送信部322へ入力される。各RTPパケットは、第1の実施形態及び第2の実施形態と同様の時刻情報(RTPタイムスタンプ及び/又はフレームカウント情報)を含む。送信部322は、入力される各RTPパケットにネットワークヘッダを追加して、各パケットを他のノードへ送信する。
送信部322及び受信部324は、ストリームの伝送に関連する制御通信にも関与する。具体的には、例えば、受信部324は、制御ノード400(又は受信ノード450などの他のノード)からストリームの伝送に関連する様々な制御メッセージを受信する。送信部322は、制御ノード400(又は受信ノード450などの他のノード)へ制御メッセージに対する応答メッセージを送信する。
本実施形態において、受信部324は、レシーバ65としての役割を有していてもいなくてもよい。
(2)制御部
制御部390は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)又はマイクロコントローラといった1つ以上のプロセッサを含む。制御部390は、記憶部395により記憶されるコンピュータプログラムを実行することにより、送信ノード300の動作の全般を制御する。
例えば、制御部390は、送信ノード300が放送局システム3のIPネットワークへ接続されると、mDNS(multicast Domain Name System)クエリの発行とその応答の受信を通じて、制御ノード400を発見する。さらに、制御部390は、例えば、受信部324を介して、制御ノード400からSDPオブジェクトの提供を求める制御メッセージを受信する。当該制御メッセージの受信に応じて、制御部390は、エッセンス混在型ストリームのための上述した新たなフォーマットに従って放送信号ストリームの属性を記述したSDPオブジェクトを、記憶部395から取得する。そして、制御部390は、取得したSDPオブジェクトを送信部322を介して制御ノード400へ送信する。
送信ノード300により提供されるSDPオブジェクトに基づいてストリームの伝送がセットアップされた後、制御部390は、制御ノード400から、ストリームの送信の開始を指示する制御メッセージを受信部324を介して受信する。当該制御メッセージの受信に応じて、制御部390は、送信部322からの放送信号ストリームの送信を開始する。
例えば、送信ノード300は、ストリームの伝送を管理し及び制御するための制御インタフェース規格の集合であるNMOSをサポートしてもよい。この場合、上述した制御メッセージの交換は、例えば、NMOS IS-04及びNMOS IS-05において予め定義されるHTTP(Hypertext Transfer Protocol)ベースの制御APIを介して行われ得る。
(3)記憶部
記憶部395は、一時的な及び非一時的なコンピュータ読取可能なメモリを含む。一時的なメモリは、例えばRAM(Random Access Memory)を含み得る。非一時的なメモリは、例えばROM(Read Only Memory)、HDD(Hard Disk Drive)又はSSD(Solid State Drive)のうちの1つ以上を含み得る。記憶部395は、送信ノード300の機能性を実現するためのコンピュータプログラムを記憶する。さらに、本実施形態において、記憶部395は、送信ノード300により送信可能な放送信号ストリームの属性を記述したSDPオブジェクトを記憶する。
ある観点において、上記SDPオブジェクトは、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1のエッセンスタイプのエッセンスデータに関連する第1の属性情報及び第2のエッセンスタイプのエッセンスデータに関連する第2の属性情報を含む。一例として、第1のエッセンスタイプは、映像エッセンスであってよく、第2のエッセンスタイプは、音声エッセンスであってよい。この場合、SDPオブジェクトは、複数のエッセンスタイプに共通的な属性フィールド内に、表1に例示したような映像関連属性を第1の属性情報として、表2に例示したような音声関連属性を第2の属性情報として含み得る。他の例として、第1のエッセンスタイプは、映像エッセンスであってよく、第2のエッセンスタイプは、補助データエッセンスであってよい。この場合、SDPオブジェクトは、複数のエッセンスタイプに共通的な属性フィールド内に、表1に例示したような映像関連属性を第1の属性情報として、表3に例示したような補助データ関連属性を第2の属性情報として含み得る。なお、これらの例に限定されず、送信ノード300により提供されるSDPオブジェクトは、表1~表5に例示した情報のいかなる組合せを含んでもよい。
他の観点において、上記SDPオブジェクトは、映像エッセンスデータが圧縮されるかを示す圧縮関連情報、音声エッセンスデータに関連する音声チャンネル数情報、及びエッセンスデータへ適用される誤り訂正方式を示す誤り訂正情報、のうちの1つ以上を、放送信号ストリームのフォーマット固有のパラメータを記述する属性フィールド内に含む。表1を用いて説明したように、上記圧縮関連情報は、映像エッセンスデータが圧縮されるかを示す圧縮パラメータと、映像エッセンスデータが圧縮されることを当該圧縮パラメータが示す場合に、映像エッセンスデータを圧縮する際に利用されるコーデックを示すコーデックパラメータと、を含み得る。また、表4を用いて説明したように、上記誤り訂正情報は、エッセンスデータへ適用される誤り訂正方式を示すタイプパラメータと、当該タイプパラメータにより示される誤り訂正方式の設定値を示す設定パラメータとを含み得る。上記設定パラメータは、例えば、XOR符号化のための誤り訂正ブロックサイズを示すサイズパラメータ、又は、リードソロモン符号化のための処理単位に相当するデータグラム数を示すデータグラム数パラメータであり得る。
(4)送信制御処理の流れ-第1の例
図21は、送信ノード300により実行され得る送信制御処理の流れの第1の例を示すフローチャートである。
まず、制御部390は、送信ノード300のIPネットワークへの接続に応じて、制御ノード400を発見する(ステップS301)。
次いで、制御部390は、送信ノード300により送信可能な放送信号ストリームの属性を記述したSDPオブジェクトを記憶部395から取得し、取得したSDPオブジェクトを制御ノード400へ提供する(ステップS303)。ここで提供されるSDPオブジェクトは、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1及び第2のエッセンスタイプのエッセンスデータに関連する属性情報を含む。
その後、送信ノード300は、ストリームの送信の開始の指示を待ち受ける(ステップS305)。そして、制御ノード400(又は他のノード)からストリームの送信の開始を指示する制御メッセージが受信されると、送信部322は、制御部390による制御の下で、上記SDPオブジェクトにより示される属性を有する放送信号ストリームの送信を開始する(ステップS307)。
(5)送信制御処理の流れ-第2の例
図22は、送信ノード300により実行され得る送信制御処理の流れの第2の例を示すフローチャートである。
まず、制御部390は、送信ノード300のIPネットワークへの接続に応じて、制御ノード400を発見する(ステップS301)。
次いで、制御部390は、送信ノード300により送信可能な放送信号ストリームの属性を記述したSDPオブジェクトを記憶部395から取得し、取得したSDPオブジェクトを制御ノード400へ提供する(ステップS304)。ここで提供されるSDPオブジェクトは、圧縮関連情報、音声チャンネル数情報、及び誤り訂正情報のうちの1つ以上を、放送信号ストリームのフォーマット固有のパラメータを記述する属性フィールド内に含む。
その後、送信ノード300は、ストリームの送信の開始の指示を待ち受ける(ステップS305)。そして、制御ノード400(又は他のノード)からストリームの送信の開始を指示する制御メッセージが受信されると、送信部322は、制御部390による制御の下で、上記SDPオブジェクトにより示される属性を有する放送信号ストリームの送信を開始する(ステップS307)。
<5-5.制御ノードの構成例>
図23は、本実施形態に係る制御ノード400の構成の一例を示すブロック図である。図23を参照すると、制御ノード400は、通信部410、制御部420及び記憶部430を備える。
(1)通信部
通信部410は、制御ノード400による他のノードとの通信を仲介するインタフェースである。通信部410は、有線通信のための接続端子及び接続回路を含んでもよく、又は無線通信のためのアンテナ、RF回路及びベースバンド回路を含んでもよい。本実施形態において、通信部410は、送信部412及び受信部414を含む。
送信部412及び受信部414は、放送局システム3内のIPネットワーク上でのストリームの伝送に関連する制御通信に関与する。具体的には、例えば、送信部412は、送信ノード300へ、ストリームの伝送のセットアップ、送信の開始又は終了のための制御メッセージを送信し得る。同様に、送信部412は、受信ノード450へ、ストリームの伝送のセットアップ、受信の開始又は終了のための制御メッセージを送信し得る。受信部414は、送信ノード300及び受信ノード450から、制御メッセージに対する応答メッセージを受信し得る。
(2)制御部
制御部420は、例えば、CPU、MPU又はマイクロコントローラといった1つ以上のプロセッサを含む。制御部420は、記憶部430により記憶されるコンピュータプログラムを実行することにより、制御ノード400の動作の全般を制御する。本実施形態において、制御部420は、情報管理部422及びストリーム制御部424を含む。
情報管理部422は、放送局システム3内の放送信号処理ノードに関する情報のデータベースへの登録及び管理を行う。例えば、情報管理部422は、IPネットワークへ接続した送信ノード300を発見すると、発見した送信ノード300へ、SDPオブジェクトの提供を求める制御メッセージを送信部412を介して送信する。そして、情報管理部422は、送信ノード300からSDPオブジェクトを受信部414を介して受信する。送信ノード300から受信されるSDPオブジェクトは、送信ノード300により送信可能な放送信号ストリームの属性を記述している。情報管理部422は、受信されるSDPオブジェクトに記述されている情報を記憶部430のデータベースへ登録する。情報管理部422は、受信ノード450からも同様にSDPオブジェクトを取得し、受信ノード450により受信可能なストリームの属性などの情報を記憶部430のデータベースへ登録し得る。
ストリーム制御部424は、放送局システム3内の送信ノード300から受信ノード450へのストリームの伝送を制御する。例えば、ストリーム制御部424は、ストリームの伝送を求めるリクエストがAPS40又は制御端末50から受信された場合に、指定された送信ノード300からの放送信号ストリームの受信をセットアップするように受信ノード450に指示する。ストリーム制御部424は、例えば、記憶部430のデータベースに登録されているストリームの属性を参照することにより、受信処理がどのようにセットアップされるべきかを決定し得る。例えば、次のうちの1つ以上が、ストリームの属性に依存して決定され得る:
・受信される映像エッセンスデータについて逆圧縮を実行すべきか
・逆圧縮を実行する際に利用すべきコーデック
・いくつの音声チャンネルが音声エッセンスデータに含まれるか
・誤り訂正方式としてどの方式を使用すべきか(XOR又はRS)
・XOR復号により誤り訂正を実行する際のFECブロックサイズ
・RS復号により誤り訂正を実行する際の処理単位となるデータグラム数
受信ノード450は、ストリーム制御部424から受信される上記指示に従って、受信処理を構成し及び対応するマルチキャストグループへ加入することにより、放送信号ストリームの受信をセットアップする。そして、ストリーム制御部424は、送信ノード300へ放送信号ストリームの送信の開始を指示する。それに応じて、送信ノード300は、放送信号ストリームの送信を開始する。
(3)記憶部
記憶部430は、一時的な及び非一時的なコンピュータ読取可能なメモリを含む。一時的なメモリは、例えばRAMを含み得る。非一時的なメモリは、例えばROM、HDD又はSSDのうちの1つ以上を含み得る。記憶部430は、制御ノード400の機能性を実現するためのコンピュータプログラムを記憶する。さらに、本実施形態において、記憶部430は、情報管理部422により放送局システム3内のノードからそれぞれ収集されるSDPオブジェクトに記述されている情報をデータベース内に記憶する。
(4)送信制御処理の流れ-第1の例
図24は、制御ノード400により実行され得る送信制御処理の流れの第1の例を示すフローチャートである。
まず、情報管理部422は、IPネットワークへ接続した送信ノード300を発見する(ステップS401)。
次いで、情報管理部422は、発見した送信ノード300により送信可能な放送信号ストリームの属性を記述したSDPオブジェクトを、当該送信ノード300から受信することにより取得する(ステップS403)。ここで取得されるSDPオブジェクトは、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1及び第2のエッセンスタイプのエッセンスデータに関連する属性情報を含む。
ストリーム制御部424は、ストリームの伝送のセットアップを求めるリクエストを待ち受ける(ステップS405)。ストリームの伝送のセットアップを求めるリクエストは、例えば、APS40又は制御端末50といった外部装置から受信され得る。
ストリーム制御部424は、上記リクエストが受信されると、指定された受信ノード450に、上記SDPオブジェクトにより示される属性に従って受信処理を構成し及び対応するマルチキャストグループに加入するように指示する(ステップS407)。そして、ストリーム制御部424は、指定された送信ノード300に、放送信号ストリームの送信を開始するように指示する(ステップS409)。
(5)送信制御処理の流れ-第2の例
図25は、制御ノード400により実行され得る送信制御処理の流れの第2の例を示すフローチャートである。
まず、情報管理部422は、IPネットワークへ接続した送信ノード300を発見する(ステップS401)。
次いで、情報管理部422は、発見した送信ノード300により送信可能な放送信号ストリームの属性を記述したSDPオブジェクトを、当該送信ノード300から受信することにより取得する(ステップS404)。ここで取得されるSDPオブジェクトは、圧縮関連情報、音声チャンネル数情報、及び誤り訂正情報のうちの1つ以上を、放送信号ストリームのフォーマット固有のパラメータを記述する属性フィールド内に含む。
ストリーム制御部424は、ストリームの伝送のセットアップを求めるリクエストを待ち受ける(ステップS405)。ストリームの伝送のセットアップを求めるリクエストは、例えば、APS40又は制御端末50といった外部装置から受信され得る。
ストリーム制御部424は、上記リクエストが受信されると、指定された受信ノード450に、上記SDPオブジェクトにより示される属性に従って受信処理を構成し及び対応するマルチキャストグループに加入するように指示する(ステップS407)。そして、ストリーム制御部424は、指定された送信ノード300に、放送信号ストリームの送信を開始するように指示する(ステップS409)。
<<6.第4の実施形態>>
次いで、図26及び図27を用いて、第4の実施形態について説明する。上述した第3の実施形態は具体的な実施形態であり、一方で第4の実施形態はより一般化された実施形態である。
<6-1.送信ノードの構成例>
図26は、第4の実施形態に係る送信ノード500の構成の一例を示すブロック図である。図26を参照すると、送信ノード500は、送信部510及び制御部520を備える。
送信部510は、異なるタイプのエッセンスデータを単一のポート番号で伝送する放送信号ストリームを、放送局のIPネットワークへ送信する。
制御部520は、放送信号ストリームの属性を記述するSDPオブジェクトを他のノードへ提供する。
ある観点において、上記SDPオブジェクトは、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1のエッセンスタイプのエッセンスデータに関連する第1の属性情報及び第2のエッセンスタイプのエッセンスデータに関連する第2の属性情報を含む。
他の観点において、上記SDPオブジェクトは、映像エッセンスデータが圧縮されるかを示す圧縮関連情報、音声エッセンスデータに関連する音声チャンネル数情報、及びエッセンスデータへ適用される誤り訂正方式を示す誤り訂正情報、のうちの1つ以上を、上記放送信号ストリームのフォーマット固有のパラメータを記述する属性フィールド内に含む。
ストリームの伝送のセットアップのために実行される送信制御処理が、送信ノード500の上記動作ステップを含んでもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムが提供されてもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムを記憶した非一時的なコンピュータ読取可能な記憶媒体が提供されてもよい。加えて、第3の実施形態において説明した送信ノード300の任意の機能又は処理が本実施形態に適用されてよい。
<6-2.制御ノードの構成例>
図27は、第4の実施形態に係る制御ノード600の構成の一例を示すブロック図である。図27を参照すると、制御ノード600は、制御部610を備える。
制御ノード600は、放送局のIPネットワークにおける、異なるタイプのエッセンスデータを単一のポート番号で伝送する放送信号ストリームの送信ノードから受信ノードへの送信を制御するノードである。制御部610は、上記放送信号ストリームの属性を記述するSDPオブジェクトを上記送信ノードから取得する。そして、制御部610は、取得したSDPオブジェクトに従って、上記放送信号ストリームの伝送をセットアップする。
ある観点において、上記SDPオブジェクトは、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1のエッセンスタイプのエッセンスデータに関連する第1の属性情報及び第2のエッセンスタイプのエッセンスデータに関連する第2の属性情報を含む。
他の観点において、上記SDPオブジェクトは、映像エッセンスデータが圧縮されるかを示す圧縮関連情報、音声エッセンスデータに関連する音声チャンネル数情報、及びエッセンスデータへ適用される誤り訂正方式を示す誤り訂正情報、のうちの1つ以上を、上記放送信号ストリームのフォーマット固有のパラメータを記述する属性フィールド内に含む。
ストリームの伝送のセットアップのために実行される送信制御処理が、制御ノード600の上記動作ステップを含んでもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムが提供されてもよい。また、それら動作ステップをプロセッサに実行させるコンピュータプログラムを記憶した非一時的なコンピュータ読取可能な記憶媒体が提供されてもよい。加えて、第3の実施形態において説明した制御ノード400の任意の機能又は処理が本実施形態に適用されてよい。
<<7.第3の実施形態及び第4の実施形態のまとめ>>
ここまで、本開示の第3の実施形態及び第4の実施形態について詳細に説明した。これら実施形態では、異なるタイプのエッセンスデータを単一のポート番号で伝送するいわゆるエッセンス混在型ストリームの属性を記述するSDPオブジェクトが、複数のエッセンスタイプにとって共通のメディア記述フィールドに関連付けられる属性フィールド内に、第1のエッセンスタイプのエッセンスデータに関連する第1の属性情報及び第2のエッセンスタイプのエッセンスデータに関連する第2の属性情報を含む。したがって、例えばARIB STD-B73ストリームのようなエッセンス混在型ストリームの属性を、ストリームの構造に即してSDPオブジェクト内に適切に記述することができる。その結果、SDPベースの管理用APIを活用してSDPオブジェクトを交換することにより、エッセンス混在型ストリームの伝送を簡易な手続でセットアップすることが可能となる。
例えば、図15を用いて説明したように、SMPTE ST2110ストリームのために通常利用される既存のSDPオブジェクトのフォーマットは、映像関連属性が記述されるメディアレベルセクションとは別に、音声関連属性が記述されるメディアレベルセクション及び補助データ関連属性が記述されるメディアレベルセクションを有する。対照的に、第3の実施形態及び第4の実施形態のように、2つ以上のエッセンスタイプにとって共通のメディアレベルセクションにそれらエッセンスタイプのエッセンスデータに関連する属性を記述することで、1つのメディア(ストリーム)に対し1つのメディアレベルセクションというSDPの解釈の一貫性を保つことができる。
追加的に又は代替的に、エッセンス混在型ストリームの属性を記述する上記SDPオブジェクトが、映像エッセンスデータが圧縮されるかを示す圧縮関連情報、音声エッセンスデータに関連する音声チャンネル数情報、及びエッセンスデータへ適用される誤り訂正方式を示す誤り訂正情報、のうちの1つ以上をフォーマット固有のパラメータを記述する属性フィールド内に含む。したがって、例えばARIB STD-B73ストリームのような独自の仕様を有する放送信号ストリームの属性を、SDPオブジェクトに不足なく記述することができる。その結果、SDPベースの管理用APIを活用してSDPオブジェクトを交換することにより、ARIB STD-B73ストリームの伝送を簡易な手続でセットアップすることが可能となる。
例えば、図16を用いて説明したように、SMPTE ST2110ストリームのために通常利用される既存のSDPオブジェクトのフォーマットは、フォーマット固有パラメータ属性フィールド内に、圧縮関連情報、音声チャンネル数情報及び誤り訂正情報のいずれも有しない。対照的に、第3の実施形態及び第4の実施形態のように、フォーマット固有パラメータ属性フィールド内に、圧縮関連情報、音声チャンネル数情報及び/又は誤り訂正情報を含めることで、ARIB STD-B73ストリームの受信側で、SDPオブジェクトの記述に従って受信処理を適切に構成することができる。
なお、本開示に係る技術は、上述した実施形態に限定されるものではない。これらの実施形態は例示にすぎないということ、並びに、本開示のスコープ及び精神から逸脱することなく様々な変形が可能であるということが、当業者に理解されるであろう。
例えば、フローチャートに示した処理ステップは、必ずしも図示した順序通りに実行されなくてもよい。例えば、処理ステップは図示した順序とは異なる順序で実行されてもよく、2つ以上の処理ステップが並列的に実行されてもよい。また、一部の処理ステップが削除されてもよく、さらなる処理ステップが追加されてもよい。
また、本明細書において説明したノードの機能は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組み合わせのいずれで実現されてもよい。ソフトウェアを構成するコンピュータプログラムのプログラム命令は、例えば、ノードの内部又は外部の非一時的なコンピュータ読取可能な記憶媒体において記憶され、実行時にメモリへ読み込まれてプロセッサにより実行される。
また、本明細書において単一の装置又は単一のノードにより実現されるものとして説明した技術が、複数の装置又は複数のノードが相互に連携することによりシステムとして実現されてもよい。
上記実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
(付記1)
PTP(Precision Time Protocol)の時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTP(Real-time Transport Protocol)クロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケットを受信する通信部と、
受信される前記RTPパケットの前記RTPヘッダから取得される前記タイムスタンプ、又は、受信される前記RTPパケットの前記RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、前記RTPパケットと他のRTPパケットとの間でエッセンスデータの時間合わせを行うアラインメント部と、
を備える放送信号処理システム。
(付記2)
前記RTPパケットは、エッセンス混在型ストリームのためのプロトコルに従って生成されるパケットである、付記1に記載の放送信号処理システム。
(付記3)
前記エッセンス混在型ストリームは、ブランキング期間に相当するデータを含まない、付記2に記載の放送信号処理システム。
(付記4)
前記メディアクロックのクロック周波数は、27.0MHzに等しい、付記1~3のいずれか1項に記載の放送信号処理システム。
(付記5)
前記アラインメント部は、前記RTPペイロード内のヘッダから取得される前記フレームカウント情報に基づいて、前記RTPパケットと前記他のRTPパケットとの間でエッセンスデータの時間合わせを行う、付記1~4のいずれか1項に記載の放送信号処理システム。
(付記6)
前記アラインメント部は、第1の送信装置から受信される第1のRTPパケットのRTPペイロード内のヘッダから取得されるフレームカウント情報、及び第2の送信装置から受信される第2のRTPパケットのRTPヘッダから取得されるタイムスタンプに基づいて、前記第1のRTPパケットと前記第2のRTPパケットとの間でエッセンスデータの時間合わせを行う、付記1~4のいずれか1項に記載の放送信号処理システム。
(付記7)
前記第1のRTPパケットは、エッセンス分離型ストリームのための第1のプロトコルに従って生成されるパケットであり、前記第2のRTPパケットは、エッセンス混在型ストリームのための第2のプロトコルに従って生成されるパケットである、付記6に記載の放送信号処理システム。
(付記8)
前記放送信号処理システムは、前記アラインメント部により時間合わせされた前記RTPパケット及び前記他のRTPパケットの前記エッセンスデータに基づいて、エッセンスを同期的に再生する再生部、をさらに含む、付記1~7のいずれか1項に記載の放送信号処理システム。
(付記9)
前記放送信号処理システムは、前記アラインメント部による前記RTPパケットと前記他のRTPパケットとの間の前記エッセンスデータの時間合わせに基づいて、前記エッセンスデータをSDI(Serial Digital Interface)信号へ変換する変換部、をさらに含む、付記1~7のいずれか1項に記載の放送信号処理システム。
(付記10)
PTP(Precision Time Protocol)の時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTP(Real-time Transport Protocol)クロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケットを受信することと、
受信される前記RTPパケットの前記RTPヘッダから取得される前記タイムスタンプ、又は、受信される前記RTPパケットの前記RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、前記RTPパケットと他のRTPパケットとの間でエッセンスデータの時間合わせを行うことと、
を含む放送信号処理方法。
(付記11)
放送信号処理ノードのプロセッサに、
PTP(Precision Time Protocol)の時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTP(Real-time Transport Protocol)クロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケットを受信することと、
受信される前記RTPパケットの前記RTPヘッダから取得される前記タイムスタンプ、又は、受信される前記RTPパケットの前記RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、前記RTPパケットと他のRTPパケットとの間でエッセンスデータの時間合わせを行うことと、
を実行させるコンピュータプログラム。
(付記12)
放送信号処理ノードのプロセッサに、
PTP(Precision Time Protocol)の時刻源に直接的に又は間接的に同期したデバイス内部クロックにロックされたメディアクロックに対しオフセットを有しないRTP(Real-time Transport Protocol)クロックに従ってRTPヘッダへタイムスタンプを付与されたRTPパケットであって、映像データ、音声データ及び補助データのうちのいずれかに相当するエッセンスデータをRTPペイロードに含む当該RTPパケットを受信することと、
受信される前記RTPパケットの前記RTPヘッダから取得される前記タイムスタンプ、又は、受信される前記RTPパケットの前記RTPペイロード内のヘッダから取得されるフレームカウント情報に基づいて、前記RTPパケットと他のRTPパケットとの間でエッセンスデータの時間合わせを行うことと、
を実行させるコンピュータプログラム、を記憶した非一時的なコンピュータ読取可能な記憶媒体。