本発明の好ましい実施例について具体的に説明し、その例は添付の図面に示す。添付の図面を参照した以下の詳細な説明は、本発明の実施例によって具現可能な実施例のみを示すためのものではなく、本発明の好ましい実施例を説明するためのものである。以下の詳細な説明は、本発明に対する徹底した理解を提供するために詳細を含む。しかし、本発明がこのような詳細なしにも実行可能であるということは当業者に自明である。
本発明で使用されるほとんどの用語は、該当の分野で広く使用される一般的な用語から選択されるが、一部の用語は出願人によって任意に選択され、その意味は、必要に応じて以下の説明で詳細に記載する。したがって、本発明は、用語の単純な名称や意味ではなく、用語の意図された意味に基づいて理解されなければならない。
本明細書において、「シグナリング(signaling)」とは、放送システム、インターネット放送システム、及び/又は放送/インターネット融合システムで提供されるサービス情報(Service Information;SI)を送信/受信することを示す。サービス情報は、現在存在する各放送システムで提供される放送サービス情報(例えば、ATSCSI及び/又はDVBSI)を含む。
本明細書において、「放送信号」とは、地上波放送、ケーブル放送、衛星放送、及び/又はモバイル放送以外にも、インターネット放送、ブロードバンド放送、通信放送、データ放送及び/又はVOD(Video On Demand)などの両方向放送で提供される信号及び/又はデータを含む概念として定義する。
本明細書において、「PLP」とは、物理層に属するデータを伝送する一定のユニットを意味する。したがって、本明細書において、「PLP」と名付けられた内容は、「データユニット」又は「データパイプ(data pipe)」と呼ぶこともできる。
デジタル放送(DTV)サービスで活用される有力なアプリケーション(application)の一つとして、放送網とインターネット網との連動を通じたハイブリッド放送サービスを挙げることができる。ハイブリッド放送サービスは、地上波放送網を介して伝送される放送A/V(Audio/Video)コンテンツと関連するエンハンスメントデータ(enhancement data)あるいは放送A/Vコンテンツの一部をインターネット網を介してリアルタイムで伝送することによって、ユーザーが様々なコンテンツを経験できるようにする。
本発明は、次世代放送サービスに対する放送信号送信及び受信装置及び方法を提供する。本発明の一実施例に係る次世代放送サービスは、地上波放送サービス、モバイル放送サービス、UHDTVサービスなどを含む。本発明は、一実施例によって、非MIMO(nonMultiple Input Multiple Output)又はMIMO方式を用いて次世代放送サービスに対する放送信号を処理することができる。本発明の一実施例に係る非MIMO方式は、MISO(Multiple Input Single Output)方式、SISO(Single Input Single Output)方式などを含むことができる。
以下では、説明の便宜のため、MISO又はMIMO方式は2つのアンテナを使用するが、本発明は、2つ以上のアンテナを使用するシステムに適用できる。本発明は、特定の用途に要求される性能を達成すると共に、受信機の複雑度を最小化するために、最適化された3つのフィジカルプロファイル(PHY profile)(ベース(base)、ハンドヘルド(handheld)、アドバンスド(advanced)プロファイル)を定義することができる。フィジカルプロファイルは、該当する受信機が具現しなければならない全ての構造のサブセットである。
3つのフィジカルプロファイルは、ほとんどの機能ブロックを共有するが、特定のブロック及び/又はパラメーターでは少し異なる。後で追加的にフィジカルプロファイルを定義できる。システムの発展のために、フューチャープロファイルは、FEF(future extension frame)を介して単一のRF(radio frequency)チャネルに存在するプロファイルとマルチプレクシングされてもよい。各フィジカルプロファイルについての詳細は後述する。
1. ベースプロファイル
ベースプロファイルは、主にルーフトップ(rooftop)アンテナと接続される固定された受信装置の主な用途を示す。ベースプロファイルは、ある場所に移動できるが、比較的静止された受信範疇に属する携帯用装置も含むことができる。ベースプロファイルの用途は、若干の改善された実行によってハンドヘルド装置又は車両用に拡張できるが、このような使用用途は、ベースプロファイルの受信機動作では期待されない。
受信のターゲット信号対雑音比の範囲は約10〜20dBであり、これは、既存の放送システム(例えば、ATSC A/53)の15dBの信号対雑音比の受信能力を含む。受信機の複雑度及び消費電力は、ハンドヘルドプロファイルを使用するバッテリーで駆動されるハンドヘルド装置の場合ほど重要ではない。ベースプロファイルに対する重要なシステムパラメータが、下記の表1に記載されている。
2. ハンドヘルドプロファイル
ハンドヘルドプロファイルは、バッテリー電源で駆動されるハンドヘルド及び車両用装置での使用のために設計される。該当の装置は、歩行者又は車両の速度で移動することができる。受信機の複雑度だけでなく消費電力は、ハンドヘルドプロファイルの装置の具現のために非常に重要である。ハンドヘルドプロファイルのターゲット信号対雑音比の範囲は約0〜10dBであるが、さらに低い室内受信のために意図された場合、0dB未満に達するように設定できる。
低信号対雑音比能力だけでなく、受信機の移動性によって現れるドップラー効果に対する復元力は、ハンドヘルドプロファイルの最も重要な性能属性である。ハンドヘルドプロファイルに対する重要なシステムパラメータが、下記の表2に記載されている。
3. アドバンスドプロファイル
アドバンスドプロファイルは、さらに大きい実行複雑度に対する代価として、さらに高いチャネル能力を提供する。該当のプロファイルは、MIMO送信及び受信を使用することを要求し、UHDTVサービスはターゲット用途であり、そのために、該当のプロファイルが特別に設計される。向上した能力は、与えられた帯域幅でサービス数の増加、例えば、多数のSDTV又はHDTVサービスを許す際にも使用できる。
アドバンスドプロファイルのターゲット信号対雑音比の範囲は約20〜30dBである。MIMO伝送は、初期には既存の楕円分極伝送装備を使用し、後で全出力交差分極伝送に拡張できる。アドバンスドプロファイルに対する重要なシステムパラメータが、下記の表3に記載されている。
この場合、ベースプロファイルは、地上波放送サービス及びモバイル放送サービスの両方に対するプロファイルとして使用することができる。すなわち、ベースプロファイルは、モバイルプロファイルを含むプロファイルの概念を定義するために使用することができる。また、アドバンスドプロファイルは、MIMOを有するベースプロファイルに対するアドバンスドプロファイルと、MIMOを有するハンドヘルドプロファイルに対するアドバンスドプロファイルとに区分できる。そして、該当の3つのプロファイルは、設計者の意図によって変更されてもよい。
次の用語及び定義は本発明に適用できる。次の用語及び定義は、設計によって変更されてもよい。
補助ストリーム:フューチャーエクステンション(future extension、将来の拡張)又は放送社やネットワーク運営者によって要求されることによって使用され得るまだ定義されていない変調及びコーディングのデータを伝達するセルのシーケンス
ベースデータパイプ(base data pipe):サービスシグナリングデータを伝達するデータパイプ
ベースバンドフレーム(又はBBFRAME):一つのFECエンコーディング過程(BCH及びLDPCエンコーディング)に対する入力を形成するKbchビットの集合
セル(cell):OFDM伝送の一つのキャリアによって伝達される変調値
コーディングブロック(coded block):PLS1データのLDPCエンコードされたブロック又はPLS2データのLDPCエンコードされたブロックの一つ
データパイプ(data pipe):一つ又は多数のサービス又はサービスコンポーネントを伝達できる、サービスデータ又は関連するメーターデータを伝達する物理層(physical layer)でのロジカルチャネル
データパイプユニット(DPU、data pipe unit):データセルをフレームでのデータパイプに割り当てることができる基本ユニット
データシンボル(data symbol):プリアンブルシンボルではなく、フレームでのOFDMシンボル(フレームシグナリングシンボル及びフレームエッジ(edge)シンボルはデータシンボルに含まれる。)
DP_ID:該当の8ビットフィールドは、SYSTEM_IDによって識別されたシステム内でデータパイプを唯一に識別する。
ダミーセル(dummy cell):PLS(physical layer signalling)シグナリング、データパイプ、又は補助ストリームのために使用されていない残っている容量を埋めるのに使用される擬似ランダム値を伝達するセル
FAC(emergency alert channel、非常警報チャネル):EAS情報データを伝達するフレームの一部
フレーム(frame):プリアンブルで開始し、フレームエッジシンボルで終了する物理層(physical layer)タイムスロット
フレームレペティションユニット(frame repetition unit、フレーム繰り返し単位):スーパーフレーム(superframe)で8回繰り返されるFEFを含む同一又は異なるフィジカルプロファイルに属するフレームの集合
FIC(fast information channel、高速情報チャネル):サービスと該当のベースデータパイプとの間でのマッピング情報を伝達するフレームでロジカルチャネル
FECBLOCK:データパイプデータのLDPCエンコードされたビットの集合
FFTサイズ:基本周期Tのサイクルで表現されたアクティブシンボル周期Tsと同一の特定のモードに使用される名目上のFFTサイズ
フレームシグナリングシンボル(frame signaling symbol):PLSデータの一部を伝達する、FFTサイズ、ガードインターバル(guard interval)、及びスキャッタード(scattered)パイロットパターンの特定の組合せにおいてフレームの開始で使用されるさらに高いパイロット密度を有するOFDMシンボル
フレームエッジシンボル(frame edge symbol):FFTサイズ、ガードインターバル、及びスキャッタードパイロットパターンの特定の組合せにおいて、フレームの末尾で使用されるさらに高いパイロット密度を有するOFDMシンボル
フレームグループ(frame−group):スーパーフレームにおいて同一のフィジカルプロファイルタイプを有する全てのフレームの集合
フューチャーエクステンションフレーム(future extention frame、将来の拡張フレーム):プリアンブルで開始する、将来の拡張に使用できるスーパーフレーム内で物理層(physical layer)タイムスロット
フューチャーキャスト(futurecast)UTBシステム:入力が1つ以上のMPEG2TS又はIP(Internet protocol)又は一般のストリームであり、出力がRFシグナルである、提案された物理層(physical layer)放送システム
インプットストリーム(input stream、入力ストリーム):システムによって最終ユーザーに伝達されるサービスの調和(ensemble)のためのデータのストリーム
ノーマル(normal)データシンボル:フレームシグナリングシンボル及びフレームエッジシンボルを除いたデータシンボル
フィジカルプロファイル(PHY profile):該当する受信機が具現しなければならない全ての構造のサブセット
PLS:PLS1及びPLS2で構成された物理層(physical layer)シグナリングデータ
PLS1:PLS2をデコードするのに必要なパラメーターだけでなく、システムに関する基本情報を伝達する固定されたサイズ、コーディング、変調を有するFSS(frame signalling symbol)で伝達されるPLSデータの1番目の集合
NOTE:PLS1データは、フレームグループのデュレーション(duration)の間、一定である。
PLS2:データパイプ及びシステムに関するより詳細なPLSデータを伝達するFSSで伝送されるPLSデータの2番目の集合
PLS2ダイナミック(dynamic、動的)データ:フレーム毎にダイナミック(dynamic、動的)に変化するPLS2データ
PLS2スタティック(static、静的)データ:フレームグループのデュレーションの間、スタティック(static、静的)なPLS2データ
プリアンブルシグナリングデータ(preamble signaling data):プリアンブルシンボルによって伝達され、システムの基本モードを確認するのに使用されるシグナリングデータ
プリアンブルシンボル(preamble symbol):基本PLSデータを伝達し、フレームの先頭に位置する固定された長さのパイロットシンボル
NOTE:プリアンブルシンボルは、システム信号、そのタイミング、周波数オフセット、及びFFTサイズを検出するために高速の初期バンドスキャンに主に使用される。
将来の使用(future use)のためにリザーブド(reserved):現在の文書で定義されないが、将来に定義され得る
スーパーフレーム(superframe):8個のフレーム繰り返し単位の集合
タイムインターリービングブロック(time interleaving block,TI block):タイムインターリーバーメモリの一つの用途に該当する、タイムインターリービングが実行されるセルの集合
タイムインターリービンググループ(time interleaving group、TI group):整数、ダイナミック(dynamic、動的)に変化するXFECBLOCKの数からなる、特定のデータパイプに対するダイナミック(dynamic、動的)容量割当てが実行される単位
NOTE:タイムインターリービンググループは、一つのフレームに直接マッピングされるか、又は多数のフレームにマッピングされてもよい。タイムインターリービンググループは、1つ以上のタイムインターリービングブロックを含むことができる。
タイプ1のデータパイプ(Type 1 DP):全てのデータパイプがフレームにTDM(time division multiplexing)方式でマッピングされるフレームのデータパイプ
タイプ2のデータパイプ(Type 2 DP):全てのデータパイプがフレームにFDM方式でマッピングされるフレームのデータパイプ
XFECBLOCK:一つのLDPC FECBLOCKの全てのビットを伝達するNcellsセルの集合
図1は、本発明の一実施例に係る次世代放送サービスに対する放送信号送信装置の構造を示す。
本発明の一実施例に係る次世代放送サービスに対する放送信号送信装置は、インプットフォーマットブロック(Input Format block)1000、BICM(bit interleaved coding & modulation)ブロック1010、フレームビルディングブロック(Frame building block)1020、OFDM(orthogonal frequency division multiplexing)ジェネレーションブロック(OFDM generation block)1030、及びシグナリング生成ブロック1040を含むことができる。放送信号送信装置の各ブロックの動作について説明する。
IPストリーム/パケット及びMPEG2−TSは主要入力フォーマットであり、他のストリームタイプは一般のストリームとして扱われる。これらデータ入力に加えて、管理情報が入力されて、各入力ストリームに対する該当の帯域幅のスケジューリング及び割当てを制御する。1つ又は多数のTSストリーム、IPストリーム及び/又は一般のストリームの入力が同時に許容される。
インプットフォーマットブロック1000は、それぞれの入力ストリームを、独立したコーディング及び変調が適用される1つ又は多数のデータパイプに逆多重化することができる。データパイプは、ロバスト性(robustness)の制御のための基本単位であり、これは、QoS(Quality of Service)に影響を及ぼす。1つ又は多数のサービス又はサービスコンポーネントが一つのデータパイプによって伝達され得る。インプットフォーマットブロック1000の詳細な動作は後述する。
データパイプは、1つ又は多数のサービス又はサービスコンポーネントを伝達できる、サービスデータ又は関連メーターデータを伝達する物理層(physical layer)でのロジカルチャネルである。
また、データパイプユニットは、一つのフレームでデータセルをデータパイプに割り当てるための基本ユニットである。
インプットフォーマットブロック1000において、パリティ(parity)データはエラー訂正のために追加され、エンコードされたビットストリームは、複素数値のコンステレーションシンボルにマッピングされる。該当のシンボルは、該当のデータパイプに使用される特定のインターリービング深さにわたってインターリービングされる。アドバンスドプロファイルにおいて、BICMブロック1010でMIMOエンコーディングが実行され、追加データ経路がMIMO伝送のために出力に追加される。BICMブロック1010の詳細な動作は後述する。
フレームビルディングブロック1020は、1つのフレーム内で入力データパイプのデータセルをOFDMシンボルにマッピングすることができる。マッピングの後、周波数領域ダイバーシティのために、特に周波数選択的フェーディングチャネルを防止するために周波数インターリービングが用いられる。フレームビルディングブロック1020の詳細な動作は後述する。
プリアンブルを各フレームの先頭に挿入した後、OFDMジェネレーションブロック1030は、サイクリックプレフィックス(cyclic prefix)をガードインターバルとして有する既存のOFDM変調を適用することができる。アンテナスペースダイバーシティのために、分散された(distributed)MISO方式が送信機にわたって適用される。また、PAPR(peak−to−average power ratio)方式が時間領域で実行される。柔軟なネットワーク方式のために、該当の提案は、様々なFFTサイズ、ガードインターバルの長さ、該当のパイロットパターンの集合を提供する。OFDMジェネレーションブロック1030の詳細な動作は後述する。
シグナリング生成ブロック1040は、各機能ブロックの動作に使用される物理層(physical layer)シグナリング情報を生成することができる。該当のシグナリング情報はまた、関心のあるサービスが受信機側で適切に復旧されるように伝送される。シグナリング生成ブロック1040の詳細な動作は後述する。
図2、図3、図4は、本発明の実施例に係るインプットフォーマットブロック1000を示す。各図について説明する。
図2は、本発明の一実施例に係るインプットフォーマットブロックを示す。図2は、入力信号が単一の入力ストリーム(single input stream)であるときのインプットフォーマットブロックを示す。
図2に示されたインプットフォーマットブロックは、図1を参照して説明したインプットフォーマットブロック1000の一実施例に該当する。
物理層(physical layer)への入力は、1つ又は多数のデータストリームで構成されてもよい。それぞれのデータストリームは、1つのデータパイプによって伝達される。モードアダプテーション(mode adaptaion、モード適応)モジュールは、入力されるデータストリームをBBF(baseband frame)のデータフィールドにスライスする。該当のシステムは、3つの種類の入力データストリーム、すなわち、MPEG2−TS、IP、GS(generic stream)を支援する。MPEG2−TSは、最初のバイトが同期バイト(0x47)である固定された長さ(188バイト)のパケットを特徴とする。IPストリームは、IPパケットヘッダー内でシグナリングされる可変長のIPデータグラムパケットで構成される。該当のシステムは、IPストリームに対してIPv4とIPv6をいずれも支援する。GSは、カプセル化パケットヘッダー内でシグナリングされる可変長のパケット又は一定の長さのパケットで構成されてもよい。
(a)は、信号データパイプに対するモードアダプテーション(mode adaptaion、モード適応)ブロック2000及びストリームアダプテーション(stream adaptation、ストリーム適応)2010を示し、(b)は、PLSデータを生成及び処理するためのPLS生成ブロック2020及びPLSスクランブラ2030を示す。各ブロックの動作について説明する。
入力ストリームスプリッターは、入力されたTS、IP、GSストリームを多数のサービス又はサービスコンポーネント(オーディオ、ビデオなど)ストリームに分割する。モードアダプテーション(mode adaptaion、モード適応)モジュール2010は、CRCエンコーダー、BB(baseband)フレームスライサー、及びBBフレームヘッダー挿入ブロックで構成される。
CRCエンコーダーは、ユーザーパケット(user packet、UP)レベルでのエラー検出のための3種類のCRCエンコーディング、すなわち、CRC8、CRC16、CRC32を提供する。算出されたCRCバイトは、UPの後に添付される。CRC8はTSストリームに使用され、CRC32はIPストリームに使用される。GSストリームがCRCエンコーディングを提供しないと、提案されたCRCエンコーディングが適用されなければならない。
BBフレームスライサーは、入力を内部ロジカルビットフォーマットにマッピングする。最初の受信ビットはMSBと定義する。BBフレームスライサーは、可用データフィールド容量と同じ数のビットを割り当てる。BBFペイロードと同じ数の入力ビットを割り当てるために、UPストリームがBBFのデータフィールドに合うようにスライスされる。
BBフレームヘッダー挿入ブロックは、2バイトの固定された長さのBBFヘッダーをBBフレームの前に挿入することができる。BBFヘッダーは、STUFFI(1ビット)、SYNCD(13ビット)、及びRFU(2ビット)で構成される。固定された2バイトのBBFヘッダーだけでなく、BBFは、2バイトのBBFヘッダーの末尾に拡張フィールド(1又は3バイト)を有することができる。
ストリームアダプテーション(stream adaptation、ストリーム適応)2010は、スタッフィング(stuffing)挿入ブロック及びBBスクランブラで構成される。スタッフィング挿入ブロックは、スタッフィングフィールドをBBフレームのペイロードに挿入することができる。ストリームアダプテーション(stream adaptation、ストリーム適応)に対する入力データがBBフレームを埋めるのに十分であれば、STUFFIは「0」に設定され、BBFはスタッフィングフィールドを有さない。そうでなければ、STUFFIは「1」に設定され、スタッフィングフィールドはBBFヘッダーの直後に挿入される。スタッフィングフィールドは、2バイトのスタッフィングフィールドヘッダー及び可変サイズのスタッフィングデータを含む。
BBスクランブラは、エネルギー分散のために完全なBBFをスクランブリングする。スクランブリングシーケンスはBBFと同期化される。スクランブリングシーケンスは、フィードバックシフトレジスタによって生成される。
PLS生成ブロック2020はPLSデータを生成することができる。PLSは、受信機で物理層(physical layer)データパイプに接続できる手段を提供する。PLSデータはPLS1データ及びPLS2データで構成される。
PLS1データは、PLS2データをデコードするのに必要なパラメーターだけでなく、システムに関する基本情報を伝達する固定されたサイズ、コーディング、変調を有するフレームでFSSで伝達されるPLSデータの1番目の集合である。PLS1データは、PLS2データの受信及びデコーディングを可能にするために要求されるパラメーターを含む基本送信パラメーターを提供する。また、PLS1データは、フレームグループのデュレーションの間、一定である。
PLS2データは、データパイプ及びシステムに関するより詳細なPLSデータを伝達するFSSで伝送されるPLSデータの2番目の集合である。PLS2は、受信機が望むデータパイプをデコードするのに十分な情報を提供するパラメーターを含む。PLS2シグナリングは、PLS2スタティック(static、静的)データ(PLS2STATデータ)及びPLS2ダイナミック(dynamic、動的)データ(PLS2DYNデータ)の2種類のパラメーターで構成される。PLS2スタティックデータは、フレームグループのデュレーションの間、スタティックであるPLS2データであり、PLS2ダイナミックデータは、フレーム毎にダイナミック(dynamic、動的)に変化するPLS2データである。
PLSデータについての詳細は後述する。
PLSスクランブラ2030は、エネルギー分散のために生成されたPLSデータをスクランブリングすることができる。
前述したブロックは、省略されてもよく、類似又は同一の機能を有するブロックによって代替されてもよい。
図3は、本発明の他の一実施例に係るインプットフォーマットブロックを示す。
図3に示されたインプットフォーマットブロックは、図1を参照して説明したインプットフォーマットブロック1000の一実施例に該当する。
図3は、入力信号がマルチインプットストリーム(multi input stream、多数の入力ストリーム)に該当する場合、インプットフォーマットブロックのモードアダプテーション(mode adaptaion、モード適応)ブロックを示す。
マルチインプットストリーム(multi input stream、多数の入力ストリーム)を処理するためのインプットフォーマットブロックのモードアダプテーション(mode adaptaion、モード適応)ブロックは、多数の入力ストリームを独立して処理することができる。
図3を参照すると、マルチインプットストリーム(multi input stream、多数の入力ストリーム)をそれぞれ処理するためのモードアダプテーション(mode adaptaion、モード適応)ブロックは、インプットストリームスプリッター(input stream splitter)3000、インプットストリームシンクロナイザ(input stream synchronizer)3010、コンペンセーティングディレイ(compensating delay、補償遅延)ブロック3020、ヌルパケットディリーションブロック(null packet deletion block)3030、ヘッダーコンプレッションブロック(header compression block)3040、CRCエンコーダー(CRC encoder)3050、BBフレームスライサー(BB frame slicer)3060、及びBBヘッダー挿入ブロック(BB header insertion block)3070を含むことができる。モードアダプテーション(mode adaptaion、モード適応)ブロックの各ブロックについて説明する。
CRCエンコーダー3050、BBフレームスライサー3060、及びBBヘッダー挿入ブロック3070の動作は、図2を参照して説明したCRCエンコーダー、BBフレームスライサー、及びBBヘッダー挿入ブロックの動作に該当するので、その説明は省略する。
インプットストリームスプリッター3000は、入力されたTS、IP、GSストリームを多数のサービス又はサービスコンポーネント(オーディオ、ビデオなど)ストリームに分割する。
インプットストリームシンクロナイザ3010はISSYと呼ぶことができる。ISSYは、いかなる入力データフォーマットに対してもCBR(constant bit rate)及び一定の終端間伝送(endtoend transmission)遅延を保障する適した手段を提供することができる。ISSYは、TSを伝達する多数のデータパイプの場合に常に用いられ、GSストリームを伝達する多数のデータパイプに選択的に用いられる。
コンペンセーティングディレイ(compensatin delay、補償遅延)ブロック3020は、受信機で追加のメモリを必要とせず、TSパケット再結合メカニズムを許すために、ISSY情報の挿入に後続する分割されたTSパケットストリームを遅延させることができる。
ヌルパケットディリーションブロック3030は、TS入力ストリームの場合にのみ使用される。一部のTS入力ストリーム又は分割されたTSストリームは、VBR(variable bitrate)サービスをCBR TSストリームに収容するために存在する多くの数のヌルパケットを有することができる。この場合、不必要な伝送オーバーヘッドを避けるために、ヌルパケットは、確認されて伝送されなくてもよい。受信機で、除去されたヌルパケットは、伝送に挿入されたDNP(deleted nullpacket、削除されたヌルパケット)カウンターを参照して、元々存在していた正確な位置に再挿入することができるので、CBRが保障され、タイムスタンプ(PCR)更新の必要がなくなる。
ヘッダーコンプレッションブロック3040は、TS又はIP入力ストリームに対する伝送効率を増加させるためにパケットヘッダー圧縮を提供することができる。受信機は、ヘッダーの特定の部分に対する先験的な(a priori)情報を有することができるので、この既知情報(known information)は送信機で削除されてもよい。
TSに対して、受信機は、同期バイト構成(0x47)及びパケット長(188バイト)に関する先験的な情報を有することができる。入力されたTSが1つのPIDのみを有するコンテンツを伝達すると、すなわち、1つのサービスコンポーネント(ビデオ、オーディオなど)又はサービスサブコンポーネント(SVCベースレイヤ、SVCエンハンスメントレイヤ、MVCベースビュー、又はMVC依存ビュー)に対してのみ、TSパケットヘッダー圧縮がTSに(選択的に)適用され得る。TSパケットヘッダー圧縮は、入力ストリームがIPストリームである場合に選択的に使用される。前記ブロックは、省略されてもよく、類似又は同一の機能を有するブロックで代替されてもよい。
図4は、本発明の一実施例に係るBICMブロックを示す。
図4に示されたBICMブロックは、図1を参照して説明したBICMブロック1010の一実施例に該当する。
前述したように、本発明の一実施例に係る次世代放送サービスに対する放送信号送信装置は、地上波放送サービス、モバイル放送サービス、UHDTVサービスなどを提供することができる。
QoSが、本発明の一実施例に係る次世代放送サービスに対する放送信号送信装置によって提供されるサービスの特性に依存するので、それぞれのサービスに該当するデータは、互いに異なる方式を用いて処理されなければならない。したがって、本発明の一実施例に係るBICMブロックは、SISO、MISO、MIMO方式をそれぞれのデータ経路に該当するデータパイプに独立して適用することによって、各データパイプを独立して処理することができる。結果的に、本発明の一実施例に係る次世代放送サービスに対する放送信号送信装置は、それぞれのデータパイプを介して伝送される各サービス又はサービスコンポーネントに対するQoSを調節することができる。
(a)は、ベースプロファイル及びハンドヘルドプロファイルによって共有されるBICMブロックを示し、(b)は、アドバンスドプロファイルのBICMブロックを示す。
ベースプロファイル及びハンドヘルドプロファイルによって共有されるBICMブロック及びアドバンスドプロファイルのBICMブロックは、それぞれのデータパイプを処理するための複数の処理ブロックを含むことができる。
ベースプロファイル及びハンドヘルドプロファイルに対するBICMブロック、及びアドバンスドプロファイルに対するBICMブロックのそれぞれの処理ブロックについて説明する。
ベースプロファイル及びハンドヘルドプロファイルに対するBICMブロックの処理ブロック5000は、データFECエンコーダー5010、ビットインターリーバー5020、コンステレーションマッパー(mapper)5030、SSD(signal space diversity)エンコーディングブロック5040、タイムインターリーバー5050を含むことができる。
データFECエンコーダー5010は、外部コーディング(BCH)及び内部コーディング(LDPC)を用いてFECBLOCK手順を生成するために、入力BBFにFECエンコーディングを行う。外部コーディング(BCH)は選択的なコーディング方法である。データFECエンコーダー5010の具体的な動作については後述する。
ビットインターリーバー5020は、効率的に実現可能な構造を提供すると共に、データFECエンコーダー5010の出力をインターリービングしてLDPCコード及び変調方式の組合せで最適化された性能を達成することができる。ビットインターリーバー5020の具体的な動作については後述する。
コンステレーションマッパー5030は、QPSK、QAM16、不均一QAM(NUQ64、NUQ256、NUQ1024)又は不均一コンステレーション(NUC16、NUC64、NUC256、NUC1024)を用いて、ベース及びハンドヘルドプロファイルでビットインターリーバー5020からのそれぞれのセルワードを変調するか、又はアドバンスドプロファイルでセルワードデマルチプレクサ5010−1からのセルワードを変調してパワーが正規化されたコンステレーションポイントelを提供することができる。該当のコンステレーションマッピングは、データパイプに対してのみ適用される。NUQが任意の形状を有する一方、QAM16及びNUQは正方形の形状を有することが観察される。それぞれのコンステレーションが90度の倍数だけ回転すると、回転したコンステレーションは、元のものと正確に重なる。回転対称特性により、実数及び虚数コンポーネントの容量及び平均パワーが互いに同一になる。NUQ及びNUCは、いずれも、各コードレート(code rate)に対して特別に定義され、使用される特定の一つは、PLS2データに保管されたパラメーターDP_MODによってシグナリングされる。
タイムインターリーバー5050はデータパイプレベルで動作することができる。タイムインターリービングのパラメーターは、それぞれのデータパイプに対して異なって設定されてもよい。タイムインターリーバー5050の具体的な動作については後述する。
アドバンスドプロファイルに対するBICMブロックの処理ブロック5000−1は、データFECエンコーダー、ビットインターリーバー、コンステレーションマッパー、及びタイムインターリーバーを含むことができる。
ただし、処理ブロック5000−1は、セルワードデマルチプレクサ5010−1及びMIMOエンコーディングブロック5020−1をさらに含むという点で、処理ブロック5000と区別される。
また、処理ブロック5000−1でのデータFECエンコーダー、ビットインターリーバー、コンステレーションマッパー、タイムインターリーバーの動作は、前述したデータFECエンコーダー5010、ビットインターリーバー5020、コンステレーションマッパー5030、タイムインターリーバー5050の動作に該当するので、その説明は省略する。
セルワードデマルチプレクサ5010−1は、アドバンスドプロファイルのデータパイプが、MIMO処理のために単一のセルワードストリームを二重セルワードストリームに分離するのに使用される。セルワードデマルチプレクサ5010−1の具体的な動作については後述する。
MIMOエンコーディングブロック5020−1は、MIMOエンコーディング方式を用いてセルワードデマルチプレクサ5010−1の出力を処理することができる。MIMOエンコーディング方式は、放送信号送信のために最適化された。MIMO技術は、容量の増加を得るための有望な方式であるが、チャネル特性に依存する。特に放送に対して、互いに異なる信号伝搬特性による2つのアンテナ間の受信信号パワーの差又はチャネルの強いLOSコンポーネントは、MIMOから容量利得を得ることを難しくする。提案されたMIMOエンコーディング方式は、MIMO出力信号のうち1つの位相ランダム化及び回転ベースのプリコーディングを用いてこの問題を克服する。
MIMOエンコーディングは、送信機及び受信機の両方で少なくとも2つのアンテナを必要とする2x2MIMOシステムのために意図される。2つのMIMOエンコーディングモードは、本提案であるFRSM(fullrate spatial multiplexing)及びFRFDSM(fullrate fulldiversity spatial multiplexing)で定義される。FRSMエンコーディングは、受信機側での比較的小さい複雑度の増加で容量の増加を提供する一方、FRFDSMエンコーディングは、受信機側での大きい複雑度の増加で容量の増加及び追加のダイバーシティ利得を提供する。提案されたMIMOエンコーディング方式はアンテナ極性配置を制限しない。
MIMO処理は、アドバンスドプロファイルフレームに要求され、これは、アドバンスドプロファイルフレームでの全てのデータパイプがMIMOエンコーダーによって処理されることを意味する。MIMO処理はデータパイプレベルで適用される。コンステレーションマッパー出力のペア(pair、対)であるNUQ(e1,i及びe2,i)は、MIMOエンコーダーの入力に供給される。MIMOエンコーダー出力ペア(pair、対)(g1,i及びg2,i)は、それぞれの送信アンテナの同一のキャリアk及びOFDMシンボルlによって伝送される。
前述したブロックは、省略されてもよく、類似又は同一の機能を有するブロックで代替されてもよい。
図5は、本発明の他の実施例に係るBICMブロックを示す。
図5に示されたBICMブロックは、図1を参照して説明したBICMブロック1010の一実施例に該当する。
図5は、PLS、EAC、及びFICの保護のためのBICMブロックを示す。EACは、EAS情報データを伝達するフレームの一部であり、FICは、サービスと該当するベースデータパイプとの間でマッピング情報を伝達するフレームでのロジカルチャネルである。EAC及びFICについての詳細な説明は後述する。
図5を参照すると、PLS、EAC、及びFICの保護のためのBICMブロックは、PLS FECエンコーダー6000、ビットインターリーバー6010、及びコンステレーションマッパー6020を含むことができる。
また、PLS FECエンコーダー6000は、スクランブラ、BCHエンコーディング/ゼロ挿入ブロック、LDPCエンコーディングブロック、及びLDPCパリティパンクチャリング(puncturing)ブロックを含むことができる。BICMブロックの各ブロックについて説明する。
PLS FECエンコーダー6000は、スクランブルされたPLS 1/2データ、EAC及びFICセクションをエンコーディングすることができる。
スクランブラは、BCHエンコーディング及びショートニング(shortening)及びパンクチャリングされたLDPCエンコーディングの前に、PLS1データ及びPLS2データをスクランブルすることができる。
BCHエンコーディング/ゼロ挿入ブロックは、PLS保護のためのショートニングされたBCHコードを用いてスクランブルされたPLS 1/2データに外部エンコーディングを行い、BCHエンコーディングの後にゼロビットを挿入することができる。PLS1データに対してのみ、ゼロ挿入の出力ビットがLDPCエンコーディングの前にパーミュテーション(permutation)されてもよい。
LDPCエンコーディングブロックは、LDPCコードを用いてBCHエンコーディング/ゼロ挿入ブロックの出力をエンコーディングすることができる。完全なコーディングブロックを生成するために、C
ldpc及びパリティビットP
ldpcは、それぞれのゼロが挿入されたPLS情報ブロックI
ldpcから組織的にエンコードされ、その後に添付される。
PLS1及びPLS2に対するLDPCコードパラメータは、次の表4の通りである。
LDPCパリティパンクチャリングブロックは、PLS1データ及びPLS2データに対してパンクチャリングを行うことができる。
ショートニングがPLS1データの保護に適用される場合、一部のLDPCパリティビットは、LDPCエンコーディングの後にパンクチャリングされる。また、PLS2データの保護のために、PLS2のLDPCパリティビットがLDPCエンコーディングの後にパンクチャリングされる。これらパンクチャリングされたビットは伝送されない。
ビットインターリーバー6010は、それぞれのショートニング及びパンクチャリングされたPLS1データ及びPLS2データをインターリービングすることができる。
コンステレーションマッパー6020は、ビットインターリービングされたPLS1データ及びPLS2データをコンステレーションにマッピングすることができる。
前述したブロックは、省略されてもよく、類似又は同一の機能を有するブロックで代替されてもよい。
図6は、本発明の一実施例に係るフレームビルディングブロック(frame building block)を示す。
図7に示したフレームビルディングブロックは、図1を参照して説明したフレームビルディングブロック1020の一実施例に該当する。
図6を参照すると、フレームビルディングブロックは、ディレイコンペンセーション(delay compensation、遅延補償)ブロック7000、セルマッパー(cell mapper)7010、及び周波数インターリーバー(frequency interleaver)7020を含むことができる。フレームビルディングブロックの各ブロックについて説明する。
ディレイコンペンセーション(delay compensation、遅延補償)ブロック7000は、データパイプと該当するPLSデータとの間のタイミングを調節して、送信機側でデータパイプと該当するPLSデータとの間の同時性(cotime)を保障することができる。インプットフォーマットブロック及びBICMブロックによるデータパイプの遅延を扱うことによって、PLSデータはデータパイプだけ遅延される。BICMブロックの遅延は、主にタイムインターリーバー5050によるものである。インバンド(Inband)シグナリングデータは、次のタイムインターリービンググループの情報を、シグナリングされるデータパイプより1フレーム先に伝達されるようにすることができる。ディレイコンペンセーション(delay compensation、遅延補償)ブロックは、それに合わせてインバンド(Inband)シグナリングデータを遅延させる。
セルマッパー7010は、PLS、EAC、FIC、データパイプ、補助ストリーム、及びダミーセルをフレーム内でOFDMシンボルのアクティブ(active)キャリアにマッピングすることができる。セルマッパー7010の基本機能は、それぞれのデータパイプ、PLSセル、及びEAC/FICセルに対するタイムインターリービングによって生成されたデータセルを、もし存在すれば、1つのフレーム内でそれぞれのOFDMシンボルに該当するアクティブOFDMセルのアレイにマッピングすることである。(PSI(program specific information)/SIのような)サービスシグナリングデータは、個別的に収集されてデータパイプによって送られてもよい。セルマッパーは、フレーム構造の構成及びスケジューラによって生成されたダイナミックインフォメーション(dynamic information、動的情報)に従って動作する。フレームについての詳細は後述する。
周波数インターリーバー7020は、セルマッパー7010から受信されたデータセルをランダムにインターリービングして周波数ダイバーシティを提供することができる。また、周波数インターリーバー7020は、単一のフレームで最大のインターリービング利得を得るために、異なるインターリービングシード(seed)順序を用いて、2つの順次的なOFDMシンボルで構成されたOFDMシンボルペア(pair、対)で動作することができる。
前述したブロックは、省略されてもよく、類似又は同一の機能を有するブロックで代替されてもよい。
図7は、本発明の一実施例に係るOFDMジェネレーションブロックを示す。
図7に示されたOFDMジェネレーションブロックは、図1を参照して説明したOFDMジェネレーションブロック1030の一実施例に該当する。
OFDMジェネレーションブロックは、フレームビルディングブロックによって生成されたセルによってOFDMキャリアを変調し、パイロットを挿入し、伝送のための時間領域信号を生成する。また、該当のブロックは、順次にガードインターバルを挿入し、PAPR減少処理を適用して最終RF信号を生成する。
図8を参照すると、OFDMジェネレーションブロックは、パイロット及びリザーブドトーン挿入ブロック(pilot and revserved tone insertion block)8000、2D−eSFN(single frequency network)エンコーディングブロック8010、IFFT(inverse fast Fourier transform)ブロック8020、PAPR減少ブロック8030、ガードインターバル挿入ブロック(guard interval insertion block)8040、プリアンブル挿入ブロック(preamble insertion block)8050、その他のシステム挿入ブロック8060、及びDACブロック8070を含むことができる。
その他のシステム挿入ブロック8060は、放送サービスを提供する2つ以上の互いに異なる放送送信/受信システムのデータが、同じRF信号帯域で同時に伝送され得るように、時間領域で複数の放送送信/受信システムの信号をマルチプレクシングすることができる。この場合、2つ以上の互いに異なる放送送信/受信システムは、互いに異なる放送サービスを提供するシステムのことをいう。互いに異なる放送サービスは、地上波放送サービス、モバイル放送サービスなどを意味し得る。
図8は、本発明の一実施例に係る次世代放送サービスに対する放送信号受信装置の構造を示す。
本発明の一実施例に係る次世代放送サービスに対する放送信号受信装置は、図1を参照して説明した次世代放送サービスに対する放送信号送信装置に対応し得る。
本発明の一実施例に係る次世代放送サービスに対する放送信号受信装置は、同期及び復調モジュール(synchronization & demodulation module)9000、フレームパーシングモジュール(frame parsing module)9010、デマッピング及びデコーディングモジュール(demapping & decoding module)9020、出力プロセッサ(output processor)9030、及びシグナリングデコーディングモジュール(signaling decoding module)9040を含むことができる。放送信号受信装置の各モジュールの動作について説明する。
同期及び復調モジュール9000は、m個の受信アンテナを介して入力信号を受信し、放送信号受信装置に該当するシステムに対して信号検出及び同期化を行い、放送信号送信装置によって行われる手順の逆過程に該当する復調を行うことができる。
フレームパーシングモジュール9010は、入力信号フレームをパーシングし、ユーザーによって選択されたサービスが伝送されるデータを抽出することができる。放送信号送信装置がインターリービングを行うと、フレームパーシングモジュール9010は、インターリービングの逆過程に該当するデインターリービングを行うことができる。この場合、抽出されなければならない信号及びデータの位置が、シグナリングデコーディングモジュール9040から出力されたデータをデコードすることによって獲得されて、放送信号送信装置によって生成されたスケジューリング情報が復元され得る。
デマッピング及びデコーディングモジュール9020は、入力信号をビット領域データに変換した後、必要に応じて、ビット領域データをデインターリービングすることができる。デマッピング及びデコーディングモジュール9020は、伝送効率のために適用されたマッピングに対するデマッピングを行い、デコーディングを通じて、伝送チャネルで発生したエラーを訂正することができる。この場合、デマッピング及びデコーディングモジュール9020は、シグナリングデコーディングモジュール9040から出力されたデータをデコードすることによって、デマッピング及びデコーディングのために必要な伝送パラメーターを獲得することができる。
出力プロセッサ9030は、伝送効率を向上させるために放送信号送信装置によって適用される様々な圧縮/信号処理手順の逆過程を行うことができる。この場合、出力プロセッサ9030は、シグナリングデコーディングモジュール9040から出力されたデータから、必要な制御情報を獲得することができる。出力プロセッサ9030の出力は、放送信号送信装置に入力される信号に該当し、MPEG−TS、IPストリーム(v4又はv6)及びGSであってもよい。
シグナリングデコーディングモジュール9040は、同期及び復調モジュール9000によって復調された信号からPLS情報を獲得することができる。前述したように、フレームパーシングモジュール9010、デマッピング及びデコーディングモジュール9020、出力プロセッサ9030は、シグナリングデコーディングモジュール9040から出力されたデータを用いてその機能を行うことができる。
図9は、本発明の一実施例に係るフレーム構造を示す。
図9は、フレームタイプの構成例及びスーパーフレームでのFRU(frame repetition unit、フレーム繰り返し単位)を示す。(a)は、本発明の一実施例に係るスーパーフレームを示し、(b)は、本発明の一実施例に係るFRUを示し、(c)は、FRUでの様々なフィジカルプロファイル(PHY profile)のフレームを示し、(d)はフレームの構造を示す。
スーパーフレームは8個のFRUで構成されてもよい。FRUは、フレームのTDMに対する基本マルチプレクシング単位であり、スーパーフレームで8回繰り返される。
FRUにおける各フレームは、フィジカルプロファイル(ベース、ハンドヘルド、アドバンスドプロファイル)のうち1つ又はFEFに属する。FRUにおけるフレームの最大許容数は4であり、与えられたフィジカルプロファイルは、FRUにおいて0回〜4回のいずれかの回数だけ現れてもよい(例えば、ベース、ベース、ハンドヘルド、アドバンスド)。フィジカルプロファイルの定義は、必要に応じて、プリアンブルでのPHY_PROFILEのリザーブド値を用いて拡張されてもよい。
FEF部分は、含まれる場合、FRUの最後に挿入される。FEFがFRUに含まれる場合、FEFの最大数はスーパーフレームにおいて8である。FEF部分が互いに隣接することが推奨されない。
1つのフレームは、多数のOFDMシンボル及びプリアンブルにさらに分離される。(d)に示したように、フレームは、プリアンブル、1つ以上のFSS、ノーマルデータシンボル、及びFESを含む。
プリアンブルは、高速フューチャーキャストUTBシステム信号検出を可能にし、信号の効率的な送信及び受信のための基本伝送パラメーターの集合を提供する特別なシンボルである。プリアンブルについての詳細は後述する。
FSSの主な目的は、PLSデータを伝達することである。高速同期化及びチャネル推定のために、これによるPLSデータの高速デコーディングのために、FSSは、ノーマルデータシンボルよりも高密度のパイロットパターンを有する。FESは、FSSと完全に同じパイロットを有し、これは、FESの直前のシンボルに対して、外挿(extrapolation)なしに、FES内での周波数のみのインタポレーション(interpolation、補間)及び時間的補間(temporal interpolation)を可能にする。
図10は、本発明の一実施例に係るフレームのシグナリング階層構造(signaling hierarchy structure)を示す。
図10は、シグナリング階層構造を示し、これは、3つの主要部分であるプリアンブルシグナリングデータ11000、PLS1データ11010、及びPLS2データ11020に分割される。毎フレームごとにプリアンブル信号によって伝達されるプリアンブルの目的は、フレームの基本伝送パラメーター及び伝送タイプを示すことである。PLS1は、受信機が、関心のあるデータパイプに接続するためのパラメーターを含むPLS2データに接続してデコーディングできるようにする。PLS2は、毎フレームごとに伝達され、2つの主要部分であるPLS2STATデータとPLS2DYNデータとに分割される。PLS2データのスタティック(static、静的)及びダイナミック(dynamic、動的)部分には、必要に応じてパディングが後続する。
図11は、本発明の一実施例に係るプリアンブルシグナリングデータを示す。
プリアンブルシグナリングデータは、受信機がフレーム構造内でPLSデータに接続し、データパイプを追跡できるようにするために必要な21ビットの情報を伝達する。プリアンブルシグナリングデータについての詳細は、次の通りである。
PHY_PROFILE:該当の3ビットフィールドは、現フレームのフィジカルプロファイルタイプを示す。互いに異なるフィジカルプロファイルタイプのマッピングは、下記の表5に与えられる。
FFT_SIZE:該当の2ビットフィールドは、下記の表6で説明するように、フレームグループ内で現フレームのFFTサイズを示す。
GI_FRACTION:該当の3ビットフィールドは、下記の表7で説明するように、現スーパーフレームでのガードインターバルの一部(fraction)の値を示す。
EAC_FLAG:該当の1ビットフィールドは、EACが現フレームに提供されるか否かを示す。該当のフィールドが「1」に設定されると、EASが現フレームに提供される。該当のフィールドが「0」に設定されると、EASが現フレームで伝達されない。該当のフィールドは、スーパーフレーム内でダイナミック(dynamic、動的)に切り替わってもよい。
PILOT_MODE:該当の1ビットフィールドは、現フレームグループで現フレームに対してパイロットモードがモバイルモードであるか、又は固定モードであるかを示す。該当のフィールドが「0」に設定されると、モバイルパイロットモードが使用される。該当のフィールドが「1」に設定されると、固定パイロットモードが使用される。
PAPR_FLAG:該当の1ビットフィールドは、現フレームグループで現フレームに対してPAPR減少が使用されるか否かを示す。該当のフィールドが「1」に設定されると、トーン予約(tone reservation)がPAPR減少のために使用される。該当のフィールドが「0」に設定されると、PAPR減少が使用されない。
FRU_CONFIGURE:該当の3ビットフィールドは、現スーパーフレームで存在するFRUのフィジカルプロファイルタイプの構成を示す。現スーパーフレームで全てのプリアンブルでの該当のフィールドにおいて、現スーパーフレームで伝達される全てのプロファイルタイプが識別される。該当の3ビットフィールドは、下記の表8に示すように、それぞれのプロファイルに対して異なって定義される。
RESERVED:該当の7ビットフィールドは、将来の使用のために予約される(reserved)。
図12は、本発明の一実施例に係るPLS1データを示す。
PLS1データは、PLS2の受信及びデコーディングを可能にするために必要なパラメーターを含んだ基本伝送パラメーターを提供する。前述したように、PLS1データは、1つのフレームグループの全デュレーションの間変化しない。PLS1データのシグナリングフィールドの具体的な定義は、次の通りである。
PREAMBLE_DATA:該当の20ビットフィールドは、EAC_FLAGを除いたプリアンブルシグナリングデータのコピーである。
NUM_FRAME_FRU:該当の2ビットフィールドは、FRU当たりのフレーム数を示す。
PAYLOAD_TYPE:該当の3ビットフィールドは、フレームグループで伝達されるペイロードデータのフォーマットを示す。PAYLOAD_TYPEは、表9に示すようにシグナリングされる。
NUM_FSS:該当の2ビットフィールドは、現フレームでのFSSの数を示す。
SYSTEM_VERSION:該当の8ビットフィールドは、伝送される信号フォーマットのバージョンを示す。SYSTEM_VERSIONは、主バージョン及び副バージョンの2つの4ビットフィールドに分離される。
主バージョン:SYSTEM_VERSIONフィールドのMSBである4ビットは、主バージョン情報を示す。主バージョンフィールドでの変化は互換が不可能な変化を示す。デフォルト値は「0000」である。該当の標準で記述されたバージョンに対して、値が「0000」に設定される。
副バージョン:SYSTEM_VERSIONフィールドのLSBである4ビットは、副バージョン情報を示す。副バージョンフィールドでの変化は互換が可能である。
CELL_ID:これは、ATSCネットワークで地理的セルを唯一に識別する16ビットフィールドである。ATSCセルカバレッジは、フューチャーキャストUTBシステム当たり使用される周波数の数に応じて、1つ以上の周波数で構成されてもよい。CELL_IDの値が知られていないか、又は特定されていない場合、該当のフィールドは「0」に設定される。
NETWORK_ID:これは、現ATSCネットワークを唯一に識別する16ビットフィールドである。
SYSTEM_ID:該当の16ビットフィールドは、ATSCネットワーク内でフューチャーキャストUTBシステムを唯一に識別する。フューチャーキャストUTBシステムは、入力が1つ以上の入力ストリーム(TS、IP、GS)であり、出力がRF信号である、地上波放送システムである。フューチャーキャストUTBシステムは、もし存在すれば、FEF及び1つ以上のフィジカルプロファイルを伝達する。同一のフューチャーキャストUTBシステムは、互いに異なる入力ストリームを伝達し、互いに異なる地理的領域で互いに異なるRFを使用できるので、ローカルサービス挿入を許す。フレーム構造及びスケジューリングは、一つの場所で制御され、フューチャーキャストUTBシステム内で全ての伝送に対して同一である。1つ以上のフューチャーキャストUTBシステムは、全て同一のフィジカル構造及び構成を有するという同一のSYSTEM_IDの意味を有することができる。
次のループ(loop)は、各フレームタイプの長さ及びFRU構成を示すFRU_PHY_PROFILE、FRU_FRAME_LENGTH、FRU_GI_FRACTION、RESERVEDで構成される。ループのサイズは、FRU内で4個のフィジカルプロファイル(FEF含む)がシグナリングされるように固定される。NUM_FRAME_FRUが4より小さいと、使用されないフィールドはゼロで埋められる。
FRU_PHY_PROFILE:該当の3ビットフィールドは、関連するFRUの(i+1)番目のフレーム(iは、ループインデックス)のフィジカルプロファイルタイプを示す。該当のフィールドは、表8に示したものと同じシグナリングフォーマットを使用する。
FRU_FRAME_LENGTH:該当の2ビットフィールドは、関連するFRUの(i+1)番目のフレームの長さを示す。FRU_GI_FRACTIONと共にFRU_FRAME_LENGTHを使用すれば、フレームデュレーションの正確な値を得ることができる。
FRU_GI_FRACTION:該当の3ビットフィールドは、関連するFRUの(i+1)番目のフレームのガードインターバルの一部の値を示す。FRU_GI_FRACTIONは、表7に従ってシグナリングされる。
RESERVED:該当の4ビットフィールドは、将来の使用のために予約される(reserved)。
次のフィールドは、PLS2データをデコードするためのパラメーターを提供する。
PLS2_FEC_TYPE:該当の2ビットフィールドは、PLS2保護によって使用されるFECタイプを示す。FECタイプは、表10に従ってシグナリングされる。LDPCコードについての詳細は後述する。
PLS2_MOD:該当の3ビットフィールドは、PLS2によって使用される変調タイプを示す。変調タイプは、表11に従ってシグナリングされる。
PLS2_SIZE_CELL:該当の15ビットフィールドは、現フレームグループで伝達されるPLS2に対する全てのコーディングブロックのサイズ(QAMセルの数として特定される)であるCtotal_partial_blockを示す。該当の値は、現フレームグループの全デュレーションの間一定である。
PLS2_STAT_SIZE_BIT:該当の14ビットフィールドは、現フレームグループに対するPLS2STATのサイズをビット数で示す。該当の値は、現フレームグループの全デュレーションの間一定である。
PLS2_DYN_SIZE_BIT:該当の14ビットフィールドは、現フレームグループに対するPLS2DYNのサイズをビット数で示す。該当の値は、フレームグループの全デュレーションの間一定である。
PLS2_REP_FLAG:該当の1ビットフラグは、PLS2繰り返しモードが現フレームグループで使用されるか否かを示す。該当のフィールドの値が「1」に設定されると、PLS2繰り返しモードは活性化される。該当のフィールドの値が「0」に設定されると、PLS2繰り返しモードは非活性化される。
PLS2_REP_SIZE_CELL:該当の15ビットフィールドは、PLS2繰り返しが使用される場合、現フレームグループの毎フレームごとに伝達されるPLS2に対する部分コーディングブロックのサイズ(QAMセルの数として特定される)であるCtotal_partial_blockを示す。繰り返しが使用されない場合、該当のフィールドの値は0と同一である。該当の値は、現フレームグループの全デュレーションの間一定である。
PLS2_NEXT_FEC_TYPE:該当の2ビットフィールドは、次のフレームグループの毎フレームで伝達されるPLS2に使用されるFECタイプを示す。FECタイプは、表10に従ってシグナリングされる。
PLS2_NEXT_MOD:該当の3ビットフィールドは、次のフレームグループの毎フレームで伝達されるPLS2に使用される変調タイプを示す。変調タイプは、表11に従ってシグナリングされる。
PLS2_NEXT_REP_FLAG:該当の1ビットフラグは、PLS2繰り返しモードが次のフレームグループで使用されるか否かを示す。該当のフィールドの値が「1」に設定されると、PLS2繰り返しモードは活性化される。該当のフィールドの値が「0」に設定されると、PLS2繰り返しモードは非活性化される。
PLS2_NEXT_REP_SIZE_CELL:該当の15ビットフィールドは、PLS2繰り返しが使用される場合、次のフレームグループの毎フレームごとに伝達されるPLS2に対する全コーディングブロックのサイズ(QAMセルの数として特定される)であるCtotal_full_blockを示す。次のフレームグループで繰り返しが使用されない場合、該当のフィールドの値は0と同一である。該当の値は、現フレームグループの全デュレーションの間一定である。
PLS2_NEXT_REP_STAT_SIZE_BIT:該当の14ビットフィールドは、次のフレームグループに対するPLS2STATのサイズをビット数で示す。該当の値は、現フレームグループで一定である。
PLS2_NEXT_REP_DYN_SIZE_BIT:該当の14ビットフィールドは、次のフレームグループに対するPLS2DYNのサイズをビット数で示す。該当の値は、現フレームグループで一定である。
PLS2_AP_MODE:該当の2ビットフィールドは、現フレームグループでPLS2に対して追加パリティが提供されるか否かを示す。該当の値は、現フレームグループの全デュレーションの間一定である。下記の表12は、該当のフィールドの値を提供する。該当のフィールドの値が「00」に設定されると、現フレームグループで追加パリティがPLS2に対して使用されない。
PLS2_AP_SIZE_CELL:該当の15ビットフィールドは、PLS2の追加パリティビットのサイズ(QAMセルの数として特定される)を示す。該当の値は、現フレームグループの全デュレーションの間一定である。
PLS2_NEXT_AP_MODE:該当の2ビットフィールドは、次のフレームグループの毎フレームごとにPLS2シグナリングに対して追加パリティが提供されるか否かを示す。該当の値は、現フレームグループの全デュレーションの間一定である。表12は、該当のフィールドの値を定義する。
PLS2_NEXT_AP_SIZE_CELL:該当の15ビットフィールドは、次のフレームグループの毎フレームごとにPLS2の追加パリティビットのサイズ(QAMセルの数として特定される)を示す。該当の値は、現フレームグループの全デュレーションの間一定である。
RESERVED:該当の32ビットフィールドは、将来の使用のために予約される(reserved)。
CRC_32:全PLS1シグナリングに適用される32ビットのエラー検出コード
図13は、本発明の一実施例に係るPLS2データを示す。
図13は、PLS2データのPLS2STATデータを示す。PLS2STATデータは、フレームグループ内で同一である一方、PLS2DYNデータは、現フレームに対して特定の情報を提供する。
PLS2STATデータのフィールドについて、以下で具体的に説明する。
FIC_FLAG:該当の1ビットフィールドは、FICが現フレームグループで使用されるか否かを示す。該当のフィールドの値が「1」に設定されると、FICは現フレームで提供される。該当のフィールドの値が「0」に設定されると、FICは現フレームで伝達されない。該当の値は、現フレームグループの全デュレーションの間一定である。
AUX_FLAG:該当の1ビットフィールドは、補助ストリームが現フレームグループで使用されるか否かを示す。該当のフィールドの値が「1」に設定されると、補助ストリームは現フレームで提供される。該当のフィールドの値が「0」に設定されると、補助フレームは現フレームで伝達されない。該当の値は、現フレームグループの全デュレーションの間一定である。
*NUM_DP:該当の6ビットフィールドは、現フレーム内で伝達されるデータパイプの数を示す。該当のフィールドの値は1〜64の間であり、データパイプの数はNUM_DP+1である。
DP_ID:該当の6ビットフィールドは、フィジカルプロファイル内でデータパイプを唯一に識別する。
DP_TYPE:該当の3ビットフィールドは、データパイプのタイプを示す。これは、下記の表13に従ってシグナリングされる。
DP_GROUP_ID:該当の8ビットフィールドは、現データパイプが関連しているデータパイプグループを識別する。これは、受信機が同じDP_GROUP_IDを有するようになる特定のサービスと関連しているサービスコンポーネントのデータパイプに接続するのに使用することができる。
BASE_DP_ID:該当の6ビットフィールドは、管理層で使用される(PSI/SIのような)サービスシグナリングデータを伝達するデータパイプを示す。BASE_DP_IDによって示すデータパイプは、サービスデータと共にサービスシグナリングデータを伝達するノーマルデータパイプであるか、又はサービスシグナリングデータのみを伝達する専用データパイプであってもよい。
DP_FEC_TYPE:該当の2ビットフィールドは、関連するデータパイプによって使用されるFECタイプを示す。FECタイプは、下記の表14に従ってシグナリングされる。
DP_COD:該当の4ビットフィールドは、関連するデータパイプによって使用されるコードレート(code rate)を示す。コードレートは、下記の表15に従ってシグナリングされる。
DP_MOD:該当の4ビットフィールドは、関連するデータパイプによって使用される変調を示す。変調は、下記の表16に従ってシグナリングされる。
DP_SSD_FLAG:該当の1ビットフィールドは、SSDモードが、関連するデータパイプで使用されるか否かを示す。該当のフィールドの値が「1」に設定されると、SSDは使用される。該当のフィールドの値が「0」に設定されると、SSDは使用されない。
次のフィールドは、PHY_PROFILEがアドバンスドプロファイルを示す「010」と同一であるときにのみ現れる。
DP_MIMO:該当の3ビットフィールドは、どのタイプのMIMOエンコーディング処理が、関連するデータパイプに適用されるかを示す。MIMOエンコーディング処理のタイプは、下記の表17に従ってシグナリングされる。
DP_TI_TYPE:該当の1ビットフィールドは、タイムインターリービングのタイプを示す。「0」の値は、1つのタイムインターリービンググループが1つのフレームに該当し、1つ以上のタイムインターリービングブロックを含むことを示す。「1」の値は、1つのタイムインターリービンググループが1つより多いフレームで伝達され、1つのタイムインターリービングブロックのみを含むことを示す。
DP_TI_LENGTH:該当の2ビットフィールド(許容された値は1、2、4、8のみである)の使用は、次のようなDP_TI_TYPEフィールド内で設定される値によって決定される。
DP_TI_TYPEの値が「1」に設定されると、該当のフィールドは、それぞれのタイムインターリービンググループがマッピングされるフレームの数であるPIを示し、タイムインターリービンググループ当たり1つのタイムインターリービングブロックが存在する(NTI=1)。該当の2ビットフィールドで許容されるPIの値は、下記の表18に定義される。
DP_TI_TYPEの値が「0」に設定されると、該当のフィールドは、タイムインターリービンググループ当たりのタイムインターリービングブロックの数N
TIを示し、フレーム当たり1つのタイムインターリービンググループが存在する(P
I=1)。該当の2ビットフィールドで許容されるP
Iの値は、下記の表18に定義される。
DP_FRAME_INTERVAL:該当の2ビットフィールドは、関連するデータパイプに対するフレームグループ内でフレーム間隔(IJUMP)を示し、許容された値は1、2、4、8(該当する2ビットフィールドは、それぞれ00、01、10、11)である。フレームグループの全てのフレームに現れないデータパイプに対して、該当のフィールドの値は、順次的なフレーム間の間隔と同一である。例えば、データパイプが1、5、9、13などのフレームに現れる場合、該当のフィールドの値は「4」に設定される。全てのフレームに現れるデータパイプに対して、該当のフィールドの値は1に設定される。
DP_TI_BYPASS:該当の1ビットフィールドは、タイムインターリーバー5050の可用性を決定する。データパイプに対してタイムインターリービングが使用されない場合、該当のフィールドの値は「1」に設定される。一方、タイムインターリービングが使用される場合、該当のフィールドの値は「0」に設定される。
DP_FIRST_FRAME_IDX:該当の5ビットフィールドは、現データパイプが発生するスーパーフレームの最初のフレームのインデックスを示す。DP_FIRST_FRAME_IDXの値は0〜31の間である。
DP_NUM_BLOCK_MAX:該当の10ビットフィールドは、該当のデータパイプに対するDP_NUM_BLOCKSの最大値を示す。該当のフィールドの値は、DP_NUM_BLOCKSと同一の範囲を有する。
DP_PAYLOAD_TYPE:該当の2ビットフィールドは、与えられたデータパイプによって伝達されるペイロードデータのタイプを示す。DP_PAYLOAD_TYPEは、下記の表19に従ってシグナリングされる。
DP_INBAND_MODE:該当の2ビットフィールドは、現データパイプがインバンド(Inband)シグナリング情報を伝達するか否かを示す。インバンド(Inband)シグナリングタイプは、下記の表20に従ってシグナリングされる。
DP_PROTOCOL_TYPE:該当の2ビットフィールドは、与えられたデータパイプによって伝達されるペイロードのプロトコルタイプを示す。ペイロードのプロトコルタイプは、入力ペイロードタイプが選択されると、下記の表21に従ってシグナリングされる。
DP_CRC_MODE:該当の2ビットフィールドは、CRCエンコーディングがインプットフォーマットブロックで使用されるか否かを示す。CRCモードは、下記の表22に従ってシグナリングされる。
DNP_MODE:該当の2ビットフィールドは、DP_PAYLOAD_TYPEがTS(‘00’)に設定される場合に関連するデータパイプによって使用されるヌルパケット削除モードを示す。DNP_MODEは、下記の表23に従ってシグナリングされる。DP_PAYLOAD_TYPEがTS(‘00’)でなければ、DNP_MODEは「00」の値に設定される。
ISSY_MODE:該当の2ビットフィールドは、DP_PAYLOAD_TYPEがTS(‘00’)に設定される場合に関連するデータパイプによって使用されるISSYモードを示す。ISSY_MODEは、下記の表24に従ってシグナリングされる。DP_PAYLOAD_TYPEがTS(‘00’)でなければ、ISSY_MODEは「00」の値に設定される。
HC_MODE_TS:該当の2ビットフィールドは、DP_PAYLOAD_TYPEがTS(‘00’)に設定される場合に関連するデータパイプによって使用されるTSヘッダー圧縮モードを示す。HC_MODE_TSは、下記の表25に従ってシグナリングされる。
HC_MODE_IP:該当の2ビットフィールドは、DP_PAYLOAD_TYPEがIP(‘01’)に設定される場合にIPヘッダー圧縮モードを示す。HC_MODE_IPは、下記の表26に従ってシグナリングされる。
PID:該当の13ビットフィールドは、DP_PAYLOAD_TYPEがTS(‘00’)に設定され、HC_MODE_TSが「01」又は「10」に設定される場合にTSヘッダー圧縮のためのPIDの数を示す。
RESERVED:該当の8ビットフィールドは、将来の使用のために予約される(reserved)。
次のフィールドは、FIC_FLAGが1と同一であるときにのみ現れる。
FIC_VERSION:該当の8ビットフィールドは、FICのバージョンナンバーを示す。
FIC_LENGTH_BYTE:該当の13ビットフィールドは、FICの長さをバイト単位で示す。
RESERVED:該当の8ビットフィールドは、将来の使用のために予約される(reserved)。
次のフィールドは、AUX_FLAGが1と同一であるときにのみ現れる。
NUM_AUX:該当の4ビットフィールドは補助ストリームの数を示す。ゼロは、補助ストリームが使用されないことを示す。
AUX_CONFIG_RFU:該当の8ビットフィールドは、将来の使用のために予約される(reserved)。
AUX_STREAM_TYPE:該当の4ビットは、現在の補助ストリームのタイプを示すための将来の使用のために予約される(reserved)。
AUX_PRIVATE_CONFIG:該当の28ビットフィールドは、補助ストリームをシグナリングするための将来の使用のために予約される(reserved)。
図14は、本発明の他の一実施例に係るPLS2データを示す。
図14は、PLS2データのPLS2DYNを示す。PLS2DYNデータの値は1つのフレームグループのデュレーションの間変化できる一方、フィールドのサイズは一定である。
PLS2DYNデータのフィールドの具体的な内容は、次の通りである。
FRAME_INDEX:該当の5ビットフィールドは、スーパーフレーム内で現フレームのフレームインデックスを示す。スーパーフレームの最初のフレームのインデックスは0に設定される。
PLS_CHANGE_COUNTER:該当の4ビットフィールドは、構成が変化する前のスーパーフレームの数を示す。構成が変化する次のスーパーフレームは、該当のフィールド内でシグナリングされる値によって示す。該当のフィールドの値が「0000」に設定されると、これは、いかなる予定された変化も予測されないことを意味する。例えば、「1」の値は、次のスーパーフレームに変化があることを示す。
FIC_CHANGE_COUNTER:該当の4ビットフィールドは、構成(即ち、FICのコンテンツ)が変化する前のスーパーフレームの数を示す。構成が変化する次のスーパーフレームは、該当のフィールド内でシグナリングされる値によって示す。該当のフィールドの値が「0000」に設定されると、これは、いかなる予定された変化も予測されないことを意味する。例えば、「0001」の値は、次のスーパーフレームに変化があることを示す。
RESERVED:該当の16ビットフィールドは、将来の使用のために予約される(reserved)。
次のフィールドは、現フレームで伝達されるデータパイプと関連するパラメーターを説明するNUM_DPでのループ(loop)に現れる。
DP_ID:該当の6ビットフィールドは、フィジカルプロファイル内でデータパイプを唯一に示す。
DP_START:該当の15ビット(又は13ビット)フィールドは、DPUアドレッシング(addressing)技法を用いてデータパイプの最初の開始位置を示す。DP_STARTフィールドは、下記の表27に示したように、フィジカルプロファイル及びFFTサイズによって異なる長さを有する。
DP_NUM_BLOCK:該当の10ビットフィールドは、現データパイプに対する現タイムインターリービンググループでFECブロックの数を示す。DP_NUM_BLOCKの値は、0から1023の間にある。
RESERVED:該当の8ビットフィールドは、将来の使用のために予約される(reserved)。
次のフィールドは、EACと関連するFICパラメーターを示す。
EAC_FLAG:該当の1ビットフィールドは、現フレームでEACの存在を示す。該当のビットは、プリアンブルでEAC_FLAGと同じ値である。
EAS_WAKE_UP_VERSION_NUM:該当の8ビットフィールドは、自動活性化指示のバージョンナンバーを示す。
EAC_FLAGフィールドが1と同一であれば、次の12ビットがEAC_LENGTH_BYTEフィールドに割り当てられる。EAC_FLAGフィールドが0と同一であれば、次の12ビットがEAC_COUNTERに割り当てられる。
EAC_LENGTH_BYTE:該当の12ビットフィールドは、EACの長さをバイトで示す。
EAC_COUNTER:該当の12ビットフィールドは、EACが到達するフレームの前のフレームの数を示す。
次のフィールドは、AUX_FLAGフィールドが「1」と同一である場合にのみ現れる。
AUX_PRIVATE_DYN:該当の48ビットフィールドは、補助ストリームをシグナリングするための将来の使用のために予約される(reserved)。該当のフィールドの意味は、設定可能なPLS2STATでAUX_STREAM_TYPEの値に依存する。
CRC_32:全PLS2に適用される32ビットのエラー検出コード。
図15は、本発明の一実施例に係るフレームのロジカル(logical)構造を示す。
前述したように、PLS、EAC、FIC、データパイプ、補助ストリーム、ダミーセルは、フレームにおいてOFDMシンボルのアクティブ(active)キャリアにマッピングされる。PLS1及びPLS2は、初めに1つ以上のFSSにマッピングされる。その後、EACが存在すれば、EACセルは、後続するPLSフィールドにマッピングされる。次に、FICが存在すれば、FICセルがマッピングされる。データパイプは、PLSの次にマッピングされるか、又は、EAC又はFICが存在する場合、EAC又はFICの後にマッピングされる。タイプ1のデータパイプが初めにマッピングされ、タイプ2のデータパイプが次にマッピングされる。データパイプのタイプの具体的な内容は後述する。一部の場合、データパイプは、EASに対する一部の特殊データ又はサービスシグナリングデータを伝達することができる。補助ストリーム又はストリームは、存在すれば、データパイプの次にマッピングされ、これには順にダミーセルが後続する。前述した順序、すなわち、PLS、EAC、FIC、データパイプ、補助ストリーム、及びダミーセルの順序で全て共にマッピングすれば、フレームでセル容量を正確に埋める。
図16は、本発明の一実施例に係るPLSマッピングを示す。
PLSセルは、FSSのアクティブ(active)キャリアにマッピングされる。PLSが占めるセルの数によって、1つ以上のシンボルがFSSとして指定され、FSSの数NFSSは、PLS1でのNUM_FSSによってシグナリングされる。FSSは、PLSセルを伝達する特殊なシンボルである。ロバスト性及び遅延時間(latency)は、PLSで重大な事案であるので、FSSは、高いパイロット密度を有しており、高速同期化及びFSS内での周波数のみのインタポレーション(interpoloation、補間)を可能にする。
PLSセルは、図16の例に示したように、下向き式にFSSのアクティブ(active)キャリアにマッピングされる。PLS1セルは、初めに最初のFSSの最初のセルからセルインデックスの昇順にマッピングされる。PLS2セルは、PLS1の最後のセルの直後に後続し、マッピングは、最初のFSSの最後のセルインデックスまで下方向に続く。必要なPLSセルの総数が1つのFSSのアクティブ(active)キャリアの数を超えると、マッピングは、次のFSSに進行し、最初のFSSと完全に同じ方式で続く。
PLSマッピングが完了した後、データパイプが次に伝達される。EAC、FIC又は両方ともが現フレームに存在すれば、EAC及びFICはPLSとノーマルデータパイプとの間に配置される。
図17は、本発明の一実施例に係るEACマッピングを示す。
EACは、EASメッセージを伝達する専用チャネルであり、EASに対するデータパイプに接続される。EAS支援は提供されるが、EAC自体は、全てのフレームに存在してもよく、存在しなくてもよい。EACが存在する場合、EACは、PLS2セルの直後にマッピングされる。PLSセルを除いて、FIC、データパイプ、補助ストリーム又はダミーセルのいずれもEACの前に位置しない。EACセルのマッピング手順は、PLSと完全に同一である。
EACセルは、図17の例に示したように、PLS2の次のセルからセルインデックスの昇順にマッピングされる。EASメッセージの大きさによって、図17に示したように、EACセルは少ないシンボルを占めることができる。
EACセルは、PLS2の最後のセルの直後に後続し、マッピングは、最後のFSSの最後のセルインデックスまで下方向に続く。必要なEACセルの総数が最後のFSSの残っているアクティブ(active)キャリアの数を超えると、EACマッピングは、次のシンボルに進行し、FSSと完全に同じ方式で続く。この場合、EACのマッピングが行われる次のシンボルはノーマルデータシンボルであり、これは、FSSよりさらに多いアクティブ(active)キャリアを有する。
EACマッピングが完了した後、もし存在すれば、FICが次に伝達される。FICが伝送されないと(PLS2フィールドでシグナリングとして)、データパイプがEACの最後のセルの直後に後続する。
図18は、本発明の一実施例に係るFICマッピングを示す。
(a)は、EACなしにFICセルのマッピングの例を示し、(b)は、EACと共にFICセルのマッピングの例を示す。
FICは、高速サービス獲得及びチャネルスキャンを可能にするために階層間情報(crosslayer information)を伝達する専用チャネルである。該当の情報は、主にデータパイプ間のチャネルバインディング(channel binding)情報及び各放送社のサービスを含む。高速スキャンのために、受信機は、FICをデコーディングし、放送社ID、サービスの数、BASE_DP_IDのような情報を獲得することができる。高速サービス獲得のために、FICだけでなくベースデータパイプもBASE_DP_IDを用いてデコーディングされ得る。ベースデータパイプが伝送するコンテンツを除いて、ベースデータパイプは、ノーマルデータパイプと正確に同じ方式でエンコードされてフレームにマッピングされる。したがって、ベースデータパイプに関する追加説明が必要でない。FICデータが生成されて管理階層で消費される。FICデータのコンテンツは、管理階層仕様に説明された通りである。
FICデータは選択的であり、FICの使用は、PLS2のスタティック(static、静的)な部分でFIC_FLAGパラメーターによってシグナリングされる。FICが使用される場合、FIC_FLAGは「1」に設定され、FICに対するシグナリングフィールドは、PLS2のスタティック(静的)な部分で定義される。該当のフィールドでシグナリングされるものはFIC_VERSIONであり、FIC_LENGTH_BYTE.FICは、PLS2と同一の変調、コーディング、タイムインターリービングパラメータを使用する。FICは、PLS2_MOD及びPLS2_FECのような同一のシグナリングパラメータを共有する。FICデータは、もし存在すれば、PLS2の後にマッピングされるか、又はEACが存在する場合、EACの直後にマッピングされる。ノーマルデータパイプ、補助ストリーム、又はダミーセルのいずれもFICの前に位置しない。FICセルをマッピングする方法はEACと完全に同一であり、これはまたPLSと同一である。
PLSの後のEACが存在しない場合、FICセルは、(a)の例に示したように、PLS2の次のセルからセルインデックスの昇順にマッピングされる。FICデータのサイズによって、(b)に示したように、FICセルは、数個のシンボルに対してマッピングされる。
FICセルは、PLS2の最後のセルの直後に後続し、マッピングは、最後のFSSの最後のセルインデックスまで下方向に続く。必要なFICセルの総数が最後のFSSの残っているアクティブ(active)キャリアの数を超えると、残りのFICセルのマッピングは、次のシンボルに進行し、これは、FSSと完全に同じ方式で続く。この場合、FICがマッピングされる次のシンボルはノーマルデータシンボルであり、これは、FSSよりさらに多くのアクティブ(active)キャリアを有する。
EASメッセージが現フレームで伝送されると、EACは、FICより先にマッピングされ、(b)に示したように、EACの次のセルから、FICセルはセルインデックスの昇順にマッピングされる。
FICのマッピングが完了した後、1つ以上のデータパイプがマッピングされ、その後、もし存在すれば、補助ストリーム、ダミーセルが後続する。
図19は、本発明の一実施例に係るFEC構造を示す。
図19は、ビットインターリービングの前の本発明の一実施例に係るFEC構造を示す。前述したように、データFECエンコーダーは、外部コーディング(BCH)及び内部コーディング(LDPC)を用いてFECBLOCK手順を生成するために、入力BBFにFECエンコーディングを行うことができる。図示したFEC構造はFECBLOCKに該当する。また、FECBLOCK及びFEC構造は、LDPCコードワードの長さに該当する同一の値を有する。
図19に示したように、BCHエンコーディングがそれぞれのBBF(Kbchビット)に適用された後、LDPCエンコーディングが、BCHエンコードされたBBF(Kldpcビット=Nbchビット)に適用される。
Nldpcの値は、64800ビット(ロングFECBLOCK)又は16200ビット(ショートFECBLOCK)である。
下記の表28及び表29は、ロングFECBLOCK及びショートFECBLOCKのそれぞれに対するFECエンコーディングパラメータを示す。
BCHエンコーディング及びLDPCエンコーディングの具体的な動作は、次の通りである。
12エラー訂正BCHコードがBBFの外部エンコーディングに使用される。ショートFECBLOCK及びロングFECBLOCKに対するBBF生成多項式は、全ての多項式を乗算することによって得られる。
LDPCコードは、外部BCHエンコーディングの出力をエンコーディングするのに使用される。完成されたB
ldpc(FECBLOCK)を生成するために、P
ldpc(パリティビット)がそれぞれのI
ldpc(BCHエンコードされたBBF)から組織的にエンコードされ、I
ldpcに添付される。完成されたB
ldpc(FECBLOCK)は、次の数式で表現される。
ロングFECBLOCK及びショートFECBLOCKに対するパラメーターは、上記の表28及び表29にそれぞれ与えられる。
ロングFECBLOCKに対してNldpc Kldpcパリティビットを計算する具体的な手順は、次の通りである。
2)パリティチェックマトリクスのアドレスの1番目の行で特定されたパリティビットアドレスで1番目の情報ビットi
0の累算(accumulate)。パリティチェックマトリクスのアドレスの詳細な内容は後述する。例えば、比率13/15に対して、
3)次の359個の情報ビットi
s、s=1,2,…,359に対して、次の数式を用いてパリティビットアドレスでi
s累算(accumulate)。
ここで、xは、1番目のビットi
0に該当するパリティビット累算器のアドレスを示し、Q
ldpcは、パリティチェックマトリクスのアドレスで特定されたコードレート(code rate)依存定数である。前記例である、比率13/15に対する、したがって、情報ビットi
1に対するQ
ldpc=24に続けて、次の動作が行われる。
4)361番目の情報ビットi360に対して、パリティビット累算器のアドレスは、パリティチェックマトリクスのアドレスの2番目の行に与えられる。同様の方式で、次の359個の情報ビットis、s=361,362,…,719に対するパリティビット累算器のアドレスは、数式6を用いて得られる。ここで、xは、情報ビットi360に該当するパリティビット累算器のアドレス、すなわち、パリティチェックマトリクスの2番目の行のエントリーを示す。
5)同様の方式で、360個の新しい情報ビットの全てのグループに対して、パリティチェックマトリクスのアドレスからの新しい行は、パリティビット累算器のアドレスを求めるのに使用される。
全ての情報ビットが用いられた後、最終パリティビットが、次のように得られる。
ここで、p
i、i=0,1,...N
ldpc−K
ldpc−1の最終コンテンツは、パリティビットp
iと同一である。
表30を表31に代替し、ロングFECBLOCKに対するパリティチェックマトリクスのアドレスを、ショートFECBLOCKに対するパリティチェックマトリクスのアドレスに代替することを除いて、ショートFECBLOCKに対する該当のLDPCエンコーディング手順は、ロングFECBLOCKに対するt LDPCエンコーディング手順に従う。
図20は、本発明の一実施例に係るタイムインターリービングを示す。
(a)〜(c)は、タイムインターリービングモードの例を示す。
タイムインターリーバーはデータパイプレベルで動作する。タイムインターリービングのパラメーターは、それぞれのデータパイプに対して異なって設定されてもよい。
PLS2STATデータの一部に現れる次のパラメーターは、タイムインターリービングを構成する。
DP_TI_TYPE(許容された値:0又は1):タイムインターリービングモードを示す。0は、タイムインターリービンググループ当たり多数のタイムインターリービングブロック(1つ以上のタイムインターリービングブロック)を有するモードを示す。この場合、1つのタイムインターリービンググループは、1つのフレームに(フレーム間インターリービングなしに)直接マッピングされる。1は、タイムインターリービンググループ当たり1つのタイムインターリービングブロックのみを有するモードを示す。この場合、タイムインターリービングブロックは、1つ以上のフレームにわたって拡散する(フレーム間インターリービング)。
DP_TI_LENGTH:DP_TI_TYPE=‘0’であれば、該当のパラメーターは、タイムインターリービンググループ当たりタイムインターリービングブロックの数NTIである。DP_TI_TYPE=‘1’の場合、該当のパラメーターは、1つのタイムインターリービンググループから拡散するフレームの数PIである。
DP_NUM_BLOCK_MAX(許容された値:0〜1023):タイムインターリービンググループ当たりXFECBLOCKの最大数を示す。
DP_FRAME_INTERVAL(許容された値:1、2、4、8):与えられたフィジカルプロファイルの同一のデータパイプを伝達する2つの順次的なフレーム間のフレームの数IJUMPを示す。
DP_TI_BYPASS(許容された値:0又は1):タイムインターリービングがデータフレームに用いられない場合、該当のパラメーターは「1」に設定される。タイムインターリービングが用いられる場合、「0」に設定される。
さらに、PLS2DYNデータからのパラメーターDP_NUM_BLOCKは、データグループの1つのタイムインターリービンググループによって伝達されるXFECBLOCKの数を示す。
タイムインターリービングがデータフレームに用いられない場合、次のタイムインターリービンググループ、タイムインターリービング動作、タイムインターリービングモードは考慮されない。しかし、スケジューラからのダイナミック(dynamic、動的)構成情報のためのディレイコンペンセーション(delay compensation、遅延補償)ブロックは、依然として必要である。それぞれのデータパイプにおいて、SSD/MIMOエンコーディングから受信したXFECBLOCKはタイムインターリービンググループにグループ化される。すなわち、それぞれのタイムインターリービンググループは、整数個のXFECBLOCKの集合であり、ダイナミック(dynamic、動的)に変化する数のXFECBLOCKを含む。インデックスnのタイムインターリービンググループにあるXFECBLOCKの数は、NxBLOCK_Group(n)で示し、PLS2DYNデータでDP_NUM_BLOCKとしてシグナリングされる。このとき、NxBLOCK_Group(n)は、最小値0から、最も大きい値が1023である最大値NxBLOCK_Group_MAX(DP_NUM_BLOCK_MAXに該当)まで変化し得る。
それぞれのタイムインターリービンググループは、1つのフレームに直接マッピングされるか、又はP
I個のフレームにわたって拡散する。また、それぞれのタイムインターリービンググループは、1つ以上(N
TI個)のタイムインターリービングブロックに分離される。ここで、それぞれのタイムインターリービングブロックは、タイムインターリーバーメモリの1つの使用に該当する。タイムインターリービンググループ内のタイムインターリービングブロックは、若干の異なる数のXFECBLOCKを含むことができる。タイムインターリービンググループが多数のタイムインターリービングブロックに分離されると、タイムインターリービンググループは1つのフレームにのみ直接マッピングされる。下記の表32に示したように、タイムインターリービングには3つのオプションがある(タイムインターリービングを省略する追加オプション除外)。
一般に、タイムインターリーバーは、フレーム生成過程の前にデータパイプデータに対するバッファーとしても作用する。これは、それぞれのデータパイプに対して2つのメモリバンクによって達成される。1番目のタイムインターリービングブロックは1番目のバンクに書き込まれる。1番目のバンクで読み取られる間、2番目のタイムインターリービングブロックが2番目のバンクに書き込まれる。
タイムインターリービングは、ツイストされた行列ブロックインターリーバーである。n番目のタイムインターリービンググループのs番目のタイムインターリービングブロックに対して、列の数NcがNxBLOCK_TI(n,s)と同一である一方、タイムインターリービングメモリの行の数Nrは、セルの数Ncellsと同一である(即ち、Nr=Ncells)。
図21は、本発明の一実施例に係るツイストされた行列ブロックインターリーバーの基本動作を示す。
図21(a)は、タイムインターリーバーで書き込み動作を示し、図21(b)は、タイムインターリーバーで読み取り動作を示す。(a)に示したように、1番目のXFECBLOCKは、タイムインターリービングメモリの1番目の列に列方向に書き込まれ、2番目のXFECBLOCKは、次の列に書き込まれ、このような動作が続く。そして、インターリービングアレイにおいて、セルが対角線方向に読み取られる。
結果的に、読み取られるセル位置は、座標
によって算出される。
図22は、本発明の他の一実施例に係るツイストされた行列ブロックインターリーバーの動作を示す。
より具体的に、図22は、
であるとき、仮想XFECBLOCKを含む、それぞれのタイムインターリービンググループに対するタイムインターリービングメモリにおけるインターリービングアレイを示す。
タイムインターリービンググループの数は3に設定される。タイムインターリーバーのオプションは、DP_TI_TYPE=‘0’、DP_FRAME_INTERVAL=‘1’、DP_TI_LENGTH=‘1’、すなわち、NTI=1、IJUMP=1、PI=1によってPLS2STATデータでシグナリングされる。それぞれNcells=30であるXFECBLOCKのタイムインターリービンググループ当たりの数は、それぞれのNxBLOCK_TI(0,0)=3、NxBLOCK_TI(1,0)=6、NxBLOCK_TI(2,0)=5によってPLS2DYNデータでシグナリングされる。XFECBLOCKの最大数は、NxBLOCK_Group_MAXによってPLS2STATデータでシグナリングされ、これは、
につながる。
図23は、本発明の一実施例に係るツイストされた行列ブロックインターリーバーの対角線方向の読み取りパターンを示す。
図24は、本発明の一実施例に係るそれぞれのインターリービングアレイからのインターリービングされたXFECBLOCKを示す。
図24は、パラメーター
及びSshift=3を有するそれぞれのインターリービングアレイからインターリービングされたXFECBLOCKを示す。
図25は本発明の一実施例に係るハイブリッド(hybrid)放送受信機を示した図である。
本発明の一実施例に係るハイブリッド放送受信機は、既存の放送信号を受信することができる。また、ハイブリッド放送受信機は、IPパケット伝送データを受信することができるネットワークインターフェースを含む。
本発明の一実施例に係るハイブリッド放送受信機は、チューナー(Tuner)J25010、物理的階層制御部(Physical Layer Controller)J25020、物理的フレームパーサー(Physical Frame Parser)J25030、リンク階層フレームプロセッサ(Link Layer Frame Processor)J25040、IP/UDPデータグラムフィルター(IP/UDPDatagram Filter)J25050、タイミング制御部(Timing Control)J25060、システムクロック処理部(System Clock)J25070、ALC/LCT+クライアント(ALC/LCT+Client)J25080、ファイル処理部(Files)J25090、DTV制御エンジン(ATSC3.0 DTV Control Engine)J25100、シグナリングパーサー(Signaling Parser)J25110、チャネルマップ処理部(Channel Map)J25120、HTTPサーバー(HTTP Server)J25130、HTTPアクセスクライアント(HTTP Access Client)J25140、HTTPキャッシュ(HTTP Cache)J25150、DASHクライアント(DASH Client)J25160、ISO BMFFパーサー(ISO BMFF Parser)J25170及び/又はメディアデコーダー(Media Decoder)J25180を含む。
チューナー(Tuner)J25010は放送信号を受信する。チューナーは放送信号を特定の周波数にチューニングし、該当の周波数の放送信号を受信することができる。チューナーは放送信号に含まれた物理的フレーム(Physical Frame)を抽出することができる。
物理的階層制御部(Physical Layer Controller)J25020は物理的階層での放送信号の処理に係る制御を遂行する。物理的階層制御部は、伝送パラメーター又はシグナリングデータから獲得した情報に基づき、特定の放送サービスを獲得するためにチューニングしなければならない周波数についての情報をチューナーに伝達し、チューナーが該当の周波数にチューニングすることができるように制御することができる。物理的階層制御部は、伝送パラメーター又はシグナリングデータから獲得した情報に基づき、特定の放送サービス又は放送コンテンツを獲得するために接近/抽出しなければならないDP(Data Pipe)を識別する情報(DP ID)を物理的フレームパーサーに伝達し、物理的フレームパーサーが該当のDPを識別し、これをパーシングすることができるように制御する。
物理的フレームパーサー(Physical Frame Parser)J25030は放送信号内の物理的フレームをパーシングする。物理的フレームは物理的階層での処理のためのデータの単位を示す。物理的フレームパーサーは物理的フレームをパーシングしてリンク階層フレームを抽出することができる。物理的フレームパーサーは、物理的フレームをパーシングする過程で、特定のDPを含むリンク階層フレームを抽出するために、DP ID(Data pipe Identifier)を用いて、該当のDP IDを有するリンク階層フレームを抽出することができる。物理的フレームパーサーは、シグナリングデータを抽出することができる。物理的フレームパーサーは、シグナリングデータを含むDP(例えば、base DP)を抽出するか、あるいはシグナリングデータを送信するシグナリングチャネルを識別して、該当のチャネルから送信されるシグナリングデータを抽出することができる。
リンク階層フレームプロセッサ(Link Layer Frame Processor)J25040はリンク階層フレームを処理する。リンク階層フレームプロセッサはリンク階層フレームでIP/UDPデータグラムを抽出する。リンク階層プロセッサは、リンク階層から伝達されるシグナリングデータを抽出することができる。リンク階層から伝達されるシグナリングデータは、リンク階層より上位階層でのデータについての情報を含むことができる。例えば、リンク階層から伝達されるシグナリングデータは、IPパケットの形態、IPパケットのヘッダー内で共通する情報の内容、及び/又はIPヘッダーに対する圧縮が適用された場合、ヘッダー圧縮についての情報を含むことができる。
IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J25050は、特定のIP/UDPデータグラムを識別し、これを抽出することができる。IP/UDPデータグラムフィルターは、特定のIPパケットを抽出することができ、この過程で、IP/Port情報を使うことができる。IP/UDPデータグラムフィルターは、特定のパケットを含むIP/UDPデータグラムを抽出し、該当のデータグラム内のパケットを受信機の各装置に送信することができる。IP/UDPデータグラムフィルターは、IP/UDPデータグラムから放送データを送信するALC/LCT+(Asynchronous Layered Coding/Layered Coding Transport+)パケット、放送システム、放送受信機、及び/又は放送サービス/コンテンツの間の同期のためのデータを含むタイムラインパケット(Timeline Packet)、及び/又はシグナリングデータを送信するシグナリングパケット(Signaling Packet)を抽出することができる。
タイミング制御部(Timing Control)J25060は一つ以上のソース(source)から送信される伝送ストリームの間の同期を取る役目を果たす。一つ以上のソースから送信される伝送ストリームの間の同期を取るために必要な情報はタイプラインパケットの形態で送信されることができる。タイミング制御部は受信したパケット又はパケット内のデータを放送システムクロック(System Clock)に同期を取る役目を果たすことができる。タイミング制御部は、放送受信機のクロックと放送システムのクロックを同期化する役目を果たすことができる。
システムクロック処理部(System Clock)J25070はwall−clock timeについての情報を受信してシステムのクロックを制御する。
ALC/LCT+クライアント(ALC/LCT+Client)J25080はアプリケーション階層のプロトコルによるパケットを処理する。よって、ALC/LCT+クライアント(ALC/LCT+Client)J25080はアプリケーション階層伝送プロトコルクライアントと名付けられることもできる。アプリケーション階層のプロトコルパケットは該当の階層に適用されるプロトコルによって多様な名称を有することができるが、本願ではアプリケーション階層伝送プロトコルパケット又はパケットと名付けることにする。アプリケーション階層伝送プロトコルパケットにはALC/LCTパケット、ALC/LCT+パケット、ROUTEパケット、及び/又はMMTパケットが含まれることができる。
アプリケーション階層伝送プロトコルパケットをパーシング又はデコードする。ALC/LCT+クライアントはアプリケーション階層伝送プロトコルパケットから一般的なデータを送信するファイル(file)を抽出するか、あるいはISO BMFF(ISO base media file format)objectデータを抽出することができる。ALC/LCT+クライアントはISO BMFF objectデータを抽出する過程で、timingについての情報をさらに獲得することができる。ALC/LCT+クライアントは一般的なファイル及び/又はISO BMFF objectデータを抽出する過程で、伝送モード(delivery mode)及び/又はTSI(Transport Session Identifier)情報を用いることができる。
ファイル処理部(Files)J25090はファイルを保存するか、ファイルに対する処理を遂行する。
DTV制御エンジン(ATSC3.0 DTV Control Engine)J25100は各放送チャネルについての情報を含むチャネルマップについての情報を用いて、放送データを処理する一連の動作を制御する。DTV制御エンジンは、UI(User Interface)によるユーザー入力又はシステム上のイベント(event)を受信し、これを処理する。DTV制御エンジンは、伝送パラメーターを用いて、物理的階層制御部を制御し、物理的階層制御部が物理的階層で放送信号に対する処理を制御するようにする役目を果たす。DTV制御エンジンは、MPEG−DASH(Moving Picture Expert Group−Dynamic Adaptive Streaming over HTTP)に係るデータを放送受信機が処理する場合、MPD(Media Presentation Description)を抽出するか、MPDを獲得することができる位置情報(例えば、URL−Uniform Resource Locator情報)を抽出し、MPEG−DASHに係るデータを処理する装置に伝達する。
シグナリングパーサー(Signaling Parser)J25110はシグナリングパケット又はシグナリングビットストリームを受信してシグナリング情報をパーシングする。シグナリング情報にはチャネルマップを生成するために必要な情報が含まれることができる。
チャネルマップ処理部(Channel Map)J25120はシグナリング情報を用いてチャネルマップを生成し、これを格納する。
HTTPサーバー(HTTP Server)J25130はHTTP(HyperText Transfer Protocol)を用いてデータ又はパケットを伝達する。HTTPサーバーは放送受信機の要求(request)を受信し、これに対する応答(response)を放送受信機に伝達する。HTTPサーバーは放送受信機の外部に設けられることも、放送受信機の設けられることもできる。
HTTPアクセスクライアント(HTTP Access Client)J25140はHTTPサーバーとの通信を処理する。HTTPアクセスクライアントはDASH clientの要求をHTTPサーバーに伝達するか、HTTPサーバーの応答をDASH clientに伝達する役目を果たす。
HTTPキャッシュ(HTTP Cache)J25150はHTTPに送信されるデータの一部又は全部をキャッシュ(Cache)する役目を果たす。
DASHクライアント(DASH Client)J25160はMPEG−DASHに係るデータを処理する一連の動作を遂行する。DASHクライアントは、MPDをHTTPサーバーに要請するか、これに対する応答として受信するか、他の経路を介してMPDを受信する。DASHクライアントは、MPDを用いて、特定の放送サービス又はコンテンツのためのDASHセグメントを抽出する。DASHクライアントで抽出されるDASHセグメントはISO BMFFファイルの形態であってもよい。DASHクライアントはUIによる入力、又はシステムイベントによる入力を受信し、これに係るデータを処理する。
ISO BMFFパーサー(ISO BMFF Parser)J25170はISO BMFF objectデータ及び/又はISO BMFFファイルをパーシングする。ISO BMFFパーサーはISO BMFF objectデータ及び/又はISO BMFFファイルをパーシングして、アクセスユニット(Access Unit)、タイミング情報、及び/又はデコーディングに必要な情報を抽出することができる。アクセスユニットはメディアのためのデータを含むことができる。
メディアデコーダー(Media Decoder)J25180は、Access Unit、タイミング情報、及び/又はデコーディングに必要な情報を用いて、メディア(放送サービス、放送コンテンツ又はイベント)をデコードする。
図26は本発明の一実施例に係るハイブリッド放送受信機でサービススキャニング(scanning)を行う動作を示した図である。
本発明の一実施例に係る放送受信機のサービススキャニングは、物理的階層制御部J25020がチューナーJ25010を制御し、それぞれの周波数のチャネルに対してチューナーがスキャニングを遂行する。
チューナーJ25010はそれぞれのチャネルでの放送信号を受信する。チューナーJ25010は放送信号から物理的フレームを抽出することもできる。チューナーJ25010は放送信号又は物理的フレームを物理的フレームパーサーJ25030に送信する。
物理的フレームパーサーJ25030はシグナリング情報を送信するシグナリングビットストリームを抽出する。物理的フレームパーサーJ25030はシグナリングビットストリームをシグナリングパーサーJ250110に送信する。
シグナリングパーサーJ25110はシグナリングビットストリームからシグナリング情報を抽出する。シグナリングパーサーJ25110はシグナリング情報をチャネルマップ処理部J25120に伝達する。
図27は本発明の一実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
DTV制御エンジンJ25100はユーザー又は放送イベントによるサービスを選択する制御信号を受信する。DTV制御エンジンJ25100はチャネルマップ処理部などに格納されたチャネルマップ又はシグナリング情報から、選択されたサービスを送信するチャネルの周波数、DP識別情報、コンポーネント識別情報及び/又はデータグラム識別情報を抽出して物理的階層制御部J25020及び/又はIP/UDPデータグラムフィルターJ25050に伝達する。
物理的階層制御部J25020は周波数情報を用いて、チューナーJ25010が選択されたサービスを送信するチャネルへのチューニングを遂行するように制御し、DP識別情報を用いて、物理的フレームパーサーJ25030が選択されたサービスを送信するDPを抽出するように制御する。
抽出されたDPはリンク階層フレームプロセッサJ25040で処理して、IP/UDPデータグラムを抽出する。
IP/UDPデータグラムフィルターJ25050はIP/Port情報を用いて、シグナリングパケットを送信する特定のIP/UDPデータグラム又は特定のIPパケットフィルタリングし、該当のデータグラムでシグナリングパケットを抽出してシグナリングパーサーJ25110に伝達する。
図28は本発明の一実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
この図は、前述した放送受信機でサービス選択を行う動作に続いて行われる放送受信機の動作を示す。
DTV制御エンジンは、チャネルマップの情報によって、ユーザーが選択した放送サービス又は放送コンテンツに対するパケットを送信するDPを識別する情報、該当のパケットを送信する伝送モードを識別する情報、該当のパケットに対するTSI情報及び/又は該当のパケットのIP/Port情報を獲得する。
DTV制御エンジンはDPを識別する情報を物理的階層制御部に送信することができる。DTV制御エンジンは該当のパケットのIP/Port情報をIP/UDPデータグラムフィルターに送信することができる。DTV制御エンジンは該当のパケットに対するTSI情報及び/又は該当のパケットを送信する伝送モードを識別する情報をALC/LCT+クライアントに送信することができる。
物理的階層制御部はDP ID(Data pipe Identifier)を物理的フレームパーサーに伝達する。
物理的フレームパーサーは、DP IDを用いて、ユーザーが選択した放送サービス又は放送コンテンツに対するパケットを送信するDPを識別し、該当のDPをパーシングする。物理的フレームパーサーはDPからリンク階層フレームを抽出することができる。
リンク階層フレームプロセッサはリンク階層フレームでIP/UDPデータグラムをパーシングする。リンク階層フレームプロセッサはユーザーが選択した放送サービス又は放送コンテンツに係るIP/UDPデータグラム及び/又はIPパケットを抽出することができる。
IP/UDPデータグラムフィルターはユーザーが選択した放送サービス又は放送コンテンツに係るデータを含むパケット(例えば、アプリケーション階層伝送プロトコルパケット)を抽出する。IP/UDPデータグラムフィルターは放送サービス及び/又は放送コンテンツの放送システムとの同期のための情報を含むタイムラインパケットを抽出することができる。
ALC/LCT+クライアントは受信したパケットからISO BMFF objectデータ及び/又はタイミング関連情報を抽出し、ISO BMFFパーサーに送信することができる。
以後のデータの処理は前述した各装置についての説明に取り替える。
図29は本発明の他の実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
この図では、図27で説明した放送受信機でのサービス選択を行う動作に続いて行われる放送受信機の動作を示す。
DTV制御エンジンは、チャネルマップ又はシグナリング情報を介して、ユーザーが選択した放送サービス又は放送コンテンツについての情報を含むMPDを獲得するか、該当のMPDを提供するサーバー又は格納部の位置を獲得する。DTV制御エンジンはMPD又はMPDの位置をDASHクライアントに伝達する。
DASHクライアントはMPDを獲得し、MPD内で、ユーザーが選択したメディア(放送サービス又は放送コンテンツ)に含まれるデータであるセグメントを提供する位置についての情報(例えば、segment URL)を抽出する。DASHクライアントはセグメントに対する要請をHTTPアクセスクライアントに送信する。
HTTPアクセスクライアントは、セグメントの位置についての情報を用いて、該当のセグメントを提供するサーバーに接続して該当のセグメントを獲得し、これをDASHクライアントに伝達する。
DASHクライアントは受信したセグメントからファイル(例えば、ISO BMFFファイル)を抽出し、ISO BMFFパーサーに伝達する。
以後のデータの処理は前述した各装置についての説明に取り替える。
この図に示した実施例によると、放送網ではないHTTPを用いる通信網を介してメディアを受信することができる。
図30は本発明の一実施例に係るハイブリッド放送受信機のブロック図を示した図である。
ハイブリッド放送受信機は次世代放送システムのDTVサービスで地上波放送とブロードバンドの連動によるハイブリッド放送サービスを受信することができる。ハイブリッド放送受信機は、地上波放送を介して送信される放送オーディオ/ビデオ(Audio/Video、A/V)コンテンツを受信し、これに連関したenhancement data又は放送A/Vコンテンツの一部をブロードバンドを介して実時間で受信することができる。本明細書で、放送オーディオ/ビデオ(Audio/Video、A/V)コンテンツはメディアコンテンツということができる。
ハイブリッド放送受信機は物理階層コントローラー(Physical Layer Controller)D25010、チューナー(Tuner)D25020、物理的フレームパーサー(Physical Frame Parser)D25030、リンク階層パーサー(Link Layer Frame Parser)D25040、IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)D25050、ATSC3.0デジタルテレビジョンコントロールエンジン(ATSC3.0 DTV Control Engine)D25060、ALC/LCT+クライアント(ALC/LCT+Client)D25070、タイミング制御部(Timing Control)D25080、シグナリングパーサー(Signaling Parser)D25090、DASHクライアント(Dynamic Adaptive Streaming over HTTP Client、DASH client)D25100、HTTP接続クライアント(HTTP Access Client)D25110、ISO BMFFパーサー(ISO base media file format Parser、ISO BMFF Parser)D25120及び/又はメディアデコーダー(Media Decoder)D25130を含むことができる。
物理階層コントローラーD25010は、ハイブリッド放送受信機が受信しようとする地上波放送チャネルのラジオ周波数(Radio Frequency、RF)情報などを用いてチューナーD25020、物理的フレームパーサーD25030などの動作を制御することができる。
チューナーD25020は、地上波放送チャネルを介して放送関連信号を受信及び処理し、これを適切な形態に変換することができる。例えば、チューナーD25020は、受信された地上波放送信号を物理的フレーム(Physical Frame)に変換することができる。
物理的フレームパーサーD25030は、受信された物理的フレームをパーシングし、これに係るプロセッシングによって連結階層フレーム(Link Layer Frame)を獲得することができる。
リンク階層パーサーD25040は、リンク階層フレームからリンク階層シグナリング(Link Layer signaling)などを獲得するかIP/UDPデータグラムを獲得するための関連演算を遂行することができる。リンク階層パーサーD25040は少なくとも一つのIP/UDPデータグラムを出力することができる。
IP/UDPデータグラムフィルターD25050は、受信された少なくとも一つのIP/UDPデータグラムから特定のIP/UDPデータグラムをフィルタリングすることができる。すなわち、IP/UDPデータグラムフィルターD25050は、リンク階層パーサーD25040から出力された少なくとも一つのIP/UDPデータグラムの中でATSC3.0デジタルテレビジョンコントロールエンジンD30060によって選択されたIP/UDPデータグラムを選択的にフィルタリングすることができる。IP/UDPデータグラムフィルターD25050はアプリケーション階層伝送プロトコルパケットを出力することができる。
ATSC3.0デジタルテレビジョンコントロールエンジンD25060は各ハイブリッド放送受信機に含まれたモジュール間のインターフェースを担当することができる。また、ATSC3.0デジタルテレビジョンコントロールエンジンD25060は各モジュールに必要なパラメーターなどを各モジュールに伝達し、これによって各モジュールの動作を制御することができる。本発明において、ATSC3.0デジタルテレビジョンコントロールエンジンD25060はメディアプレゼンテーションディスクリプション(Media Presentation Description、MPD)及び/又はMPD URLをDASHクライアントD25100に伝達することができる。また、本発明において、ATSC3.0デジタルテレビジョンコントロールエンジンD25060は、伝送モード(Delivery mode)及び/又は伝送セッション識別子(Transport Session Identifier、TSI)をALC/LCT+クライアントD25070に伝達することができる。ここで、TSIはMPD又はMPD URL関連シグナリングなどのシグナリングメッセージを含む伝送パケットを送信するセッション、例えばALC/LCTセッション又はFLUTEセッションの識別子を示すことができる。
ALC/LCT+クライアントD25070は、アプリケーション階層伝送プロトコルパケットを処理し、複数のアプリケーション階層伝送プロトコルパケットを収集及び処理して一つ以上のISO base media file format(ISO BMFF)オブジェクトを生成することができる。
タイミング制御部D25080は、システムタイム情報を含むパケットを処理し、これによってシステムクロックを制御することができる。
シグナリングパーサーD25090は、DTV放送サービス関連シグナリングを獲得及びパーシングし、パーシングされたシグナリングに基づいてチャネルマップなどを生成して管理することができる。本発明において、シグナリングパーサーはシグナリング情報から拡張されたMPD又はMPD関連情報をパーシングすることができる。
DASHクライアントD25100は、実時間ストリーミング(Real−time Streaming)あるいは適応的ストリーミング(Adaptive Streaming)に係る演算を遂行することができる。DASHクライアントD25100は、HTTP接続クライアントD25110を介してHTTPサーバーからDASHコンテンツを受信することができる。DASHクライアントD25100は、受信されたDASH Segmentなどを処理してISO base media file formatオブジェクトを出力することができる。本発明において、DASHクライアントD25100はATSC3.0デジタルテレビジョンコントロールエンジンD25060に全てのRepresentation ID(Fully qualified Representation ID)又はセグメントURLを伝達することができる。ここで、全てのRepresentation IDは、例えばMPD URL、period@id及びrepresentation@idを結合したIDを意味することができる。また、DASHクライアントD25100はATSC3.0デジタルテレビジョンコントロールエンジンD25060からMPD又はMPD URLを受信することができる。DASHクライアントD25100は、受信されたMPD又はMPD URLを用いて所望のメディアストリーム又はDASH SegmentをHTTPサーバーから受信することができる。本明細書において、DASHクライアントD25100はプロセッサということができる。
HTTP接続クライアントD25110は、HTTPサーバーに対して特定の情報を要請し、HTTPサーバーからこれに対する応答を受信して処理することができる。ここで、HTTPサーバーはHTTP接続クライアントから受信した要請を処理し、これに対する応答を提供することができる。
ISO BMFFパーサーD25120は、ISO base media file formatオブジェクトからオーディオ/ビデオのデータ抽出することができる。
メディアデコーダーD25130は受信されたオーディオ及び/又はビデオデータをデコードし、デコードされたオーディオ/ビデオデータをプレゼンテーションするためのプロセッシングを遂行することができる。
本発明のハイブリッド放送受信機が地上波放送網とブロードバンドの連動によるハイブリッド放送サービスを提供するためにはMPDに対する拡張又は修正が要求される。前述した地上波放送システムは拡張又は修正されたMPDを送信することができ、ハイブリッド放送受信機は拡張又は修正されたMPDを用いて、放送又はブロードバンドを介してコンテンツを受信することができる。すなわち、ハイブリッド放送受信機は拡張又は修正されたMPDは地上波放送を介して受信し、MPDに基づいて地上波放送又はブロードバンドを介してコンテンツを受信することができる。以下では、既存のMPDと比較して拡張又は修正されたMPDにさらに含まれなければならないエレメント及び属性(attribute)について記述する。以下で、拡張又は修正されたMPDはMPDと記述することができる。
MPDはATSC3.0サービスを表現するために拡張されるか修正されることができる。拡張又は修正されたMPDは、MPD@anchorPresentationTime、Common@presentable、Common.Targeting、Common.TargetDevice及び/又はCommon@associatedToをさらに含むことができる。
MPD@anchorPresentationTimeはMPDに含まれたセグメントのプレゼンテーションタイムのアンカー、つまり基礎となる時間を示すことができる。以下で、MPD@anchorPresentationTimeはMPDの有効時間(effective time)として使われることができる。MPD@anchorPresentationTimeはMPDに含まれたセグメントの中で最も早い再生時点を示すことができる。
MPDは共通属性及び要素(common attributes and elements)をさらに含むことができる。Common@presentableはMPDが記述しているメディアがプレゼンテーション可能なコンポーネントであることを示すことができる。
Common.TargetingはMPDが記述しているメディアのターゲッティング特徴(targeting properties)及び/又は個別化特徴(personalization properties)を示すことができる。
Common.TargetDeviceはMPDが記述しているメディアのターゲットデバイス又はターゲットデバイスを示すことができる。
Common@associatedToはMPDが記述しているメディアに係るadaptationSet及び/又はrepresentationを示すことができる。
また、MPDに含まれたMPD@id、Period@id及びAdaptationSet@idはMPDが記述しているメディアコンテンツを特定するために要求されることができる。すなわち、DASHクライアントは、MPDに基づいて受信しようとするコンテンツをMPD@id、Period@id及びAdaptationSet@idに特定してATSC3.0デジタルテレビジョンコントロールエンジンに伝達することができる。また、ATSC3.0デジタルテレビジョンコントロールエンジンは、該当のコンテンツを受信してDASHクライアントに伝達することができる。
図31は本発明の他の実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
本発明の他の実施例に係る放送受信機のサービススキャニングは、物理的階層制御部D25010がチューナーD25020を制御して、それぞれの周波数のチャネルに対し、チューナーがスキャニングを遂行する。
チューナーD25020はそれぞれのチャネルでの放送信号を受信する。チューナーD25020は放送信号から物理的フレームを抽出することもできる。チューナーD25020は放送信号又は物理的フレームを物理的フレームパーサーD25030に送信する。
物理的フレームパーサーD25030はシグナリング情報を送信するシグナリングビットストリームを抽出する。物理的フレームパーサーD25030はシグナリングビットストリームをシグナリングパーサーD25090に送信する。
シグナリングパーサーD25090はシグナリングビットストリームからシグナリング情報を抽出する。シグナリングパーサーD25090は、シグナリング情報をチャネルマップ処理部(Channel Map又はChannel Map Processor)に伝達する。
図32は本発明の他の実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
DTV制御エンジンD25060は、ユーザー又は放送イベントによるサービスを選択する制御信号を受信する。DTV制御エンジンD25060は、チャネルマップ処理部などに格納されたチャネルマップ又はシグナリング情報から、選択されたサービスを送信するチャネルの周波数、DP識別情報、コンポーネント識別情報及び/又はデータグラム識別情報を抽出して、物理的階層制御部D25010及び/又はIP/UDPデータグラムフィルターD25050に伝達する。
物理的階層制御部D25010は、周波数情報を用いて、チューナーD25020が選択されたサービスを送信するチャネルへのチューニングを遂行するように制御し、DP識別情報を用いて、物理的フレームパーサーD25030が選択されたサービスを送信するDPを抽出するように制御する。
抽出されたDPはリンク階層フレームプロセッサD25040で処理して、IP/UDPデータグラムを抽出する。
IP/UDPデータグラムフィルターD25050は、IP/Port情報を用いて、シグナリングパケットを送信する特定のIP/UDPデータグラム又は特定のIPパケットをフィルタリングし、該当のデータグラムからシグナリングパケットを抽出してシグナリングパーサーD25090に伝達する。
一方、IP/UDPデータグラムフィルターD25050は、放送サービス又は放送コンテンツに関連したデータを送信するアプリケーション階層伝送プロトコルパケットを抽出することができる。アプリケーション階層伝送プロトコルパケットの一部のパケットはシグナリング情報を含むことができる。ALC/LCT+クライアントD25070はシグナリング情報を含むパケットをパーシングし、シグナリングパーサーD25090に伝達することができる。シグナリングパーサーは該当のシグナリング情報を含むパケットをパーシングしてシグナリング情報を獲得し、これをチャネルマップ処理部に伝達するか、あるいはチャネルマップに格納する。
図33は本発明の他の実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
この図は、前述した放送受信機でのサービス選択を行う動作に続いて行われる放送受信機の動作を示す。
DTV制御エンジンD25060は、チャネルマップ処理部でMPD又はMPDを獲得することができる位置のURL情報を獲得することができる。
DTV制御エンジンD25060は、特定の放送サービス又は放送コンテンツなどのメディアについての情報を含むMPD又は該当のMPDを獲得することができる位置のURL情報をDASHクライアントD25100に伝達する。
DASHクライアントD25100はMPDをパーシングすることができる。DASHクライアントD25100は、MPDを獲得することができる位置のURL情報を用いて、該当の位置にあるMPDに対する要請をHTTPアクセスクライアントに伝達することができる。HTTPアクセスクライアントは、MPDを獲得することができる位置のURL情報が示す位置のHTTPサーバーに接続し、MPDを要請して、これに対する応答としてMPDを受信してDASHクライアントに伝達する。DASHクライアントD25100は、MPDに含まれたRepresentationを識別する情報であるRepresentation ID及び/又は特定のセグメントを獲得することができる位置を識別するSegment URL情報を抽出する。DASHクライアントD25100はMPDから抽出した情報をDTV制御エンジンD25060に伝達する。
DTV制御エンジンD25060は、MPDから抽出された情報が示す、特定のメディア(特定の放送サービス、コンテンツ及び/又はイベント)を送信するDPを識別する情報(例えば、DP ID、component ID、IP/Port情報及び/又はTSI情報)を獲得して物理的階層制御部D25010及び/又はIP/UDPデータグラムフィルターD25050に伝達する。DPを識別する情報はチャネルマップ処理部に格納されているか、あるいはチャネルマップ形式で放送受信機に格納されている情報から抽出されることができる。
物理的階層制御部D25010は、物理的フレームパーサーD25030が物理的フレームから特定のDPを抽出するように物理的フレームパーサーD25030を制御することができる。物理的階層制御部D25010は、DP IDを物理的フレームパーサーD25030に伝達し、該当のDP IDが識別するDPが物理的フレームパーサーD25030によって抽出されることができるようにする。
物理的フレームパーサーD25030はDPに含まれたリンク階層フレームを抽出する。
リンク階層フレーム処理部D25040は、リンク階層フレームをパーシングし、一つ以上のIP/UDPデータグラムを抽出する。
IP/UDPデータグラムフィルターD25050は、IP/Port情報を用いて、放送受信機が抽出しようとするメディアに対するデータを含むIP/UDPデータグラム及び/又はIPパケット抽出する。IP/UDPデータグラムフィルターD25050はIP/UDPデータグラム及び/又はIPパケットをパーシングし、特定のメディアに対するデータを送信するアプリケーション階層伝送プロトコルパケットを抽出する。
ALC/LCT+クライアントD25070は、放送受信機が消費しようとするメディアに対するデータを含むアプリケーション階層伝送プロトコルパケットをデコードし、ISO BMFF objectデータを獲得する。ISO BMFF objectデータはHTTP entityを含むことができる。HTTP entityは特定のデータを受信することができるHTTP関連情報を含むことができる。
HTTPアクセスクライアントD25110は、ISO BMFF objectデータをデコードするか、ISO BMFF objectデータに含まれた情報を用いて特定のメディアのためのデータを外部から受信することができる。
DASHクライアントD25100は、受信したデータからDASHセグメントをパーシングする。DASHセグメントはISO BMFFファイルの形態を有することができる。
以後の手順は前述した放送受信機の各装置の動作についての説明に取り替える。
図34は本発明の他の実施例に係るハイブリッド放送受信機でサービス選択(selection)を行う動作を示した図である。
この図は、図32についての説明で開示した放送受信機でのサービス選択を行う動作に続いて行われる放送受信機の動作を示す。
DTV制御エンジンD25060は、チャネルマップ又はシグナリング情報を介して、ユーザーが選択した放送サービス又は放送コンテンツについての情報を含むMPDを獲得するか、該当のMPDを提供するサーバー又は格納部の位置を獲得する。DTV制御エンジンD25060はMPD又はMPDの位置をDASHクライアントに伝達する。
DASHクライアントD25100は、MPDを提供するサーバー又は格納部の位置についての情報を受信する場合、該当のMPDに対する要請をHTTPアクセスクライアントD25110に伝達する。HTTPアクセスクライアントD25110は、MPDの位置に相当するサーバー又は格納部に接続してMPDを獲得し、MPDをDASHクライアントD25100に伝達することができる。
DASHクライアントD25100は、MPDを獲得し、MPD内で、ユーザーが選択したメディア(放送サービス又は放送コンテンツ)に含まれるデータであるセグメントを提供する位置についての情報(例えば、Segment URL)を抽出する。DASHクライアントD25100はセグメントに対する要請をHTTPアクセスクライアントD25110に送信する。
HTTPアクセスクライアントD25110は、セグメントの位置についての情報を用いて、該当のセグメントを提供するサーバーに接続して該当のセグメントを獲得し、これをDASHクライアントD25100に伝達する。
DASHクライアントD25100は、受信したセグメントからファイル(例えば、ISO BMFFファイル)を抽出し、ISO BMFFパーサーに伝達する。
以後のデータの処理は前述した各装置についての説明に取り替える。
この図に示した実施例によると、放送網ではなくてHTTPを用いる通信網を介してメディアを受信することができる。
図35は本発明の一実施例に係るALC/LCT+クライアントの動作を示した図である。
(a)を参照すると、ALC/LCT+クライアントは一つ以上のプロトコルによるデータを処理することができる。ALC/LCT+クライアントはFLUTE(file delivery over unidirectional transport)及び/又はALC/LCT+プロトコルによるデータを処理することができる。ALC/LCT+クライアントは、TSI情報を受信し、TSI情報にあたる伝送セッションを介して送信されるデータを獲得することができる。ALC/LCT+クライアントはFLUTEデータ及び/又はALC/LCT+データを受信することができる。ALC/LCT+クライアントは受信したデータからgenericファイル及び/又はISO BMFF objectデータをデコーディング又はパーシングすることができる。
(b)を参照すると、本発明の一実施例に係る非実時間伝送を支援する場合のALC/LCT+クライアントの動作が示されている。非実時間(non−real−time)伝送は、放送網を介して、メディアが実際に消費される以前に該当のメディアのデータを受信する伝送方式である。メディアに含まれることができる放送サービスは一つ以上の放送コンテンツを含むことができる。放送コンテンツは一つ以上のファイルで構成されることができる。それぞれのファイルは不連続的に送信されて受信機に格納されることができる。非実時間で送信されるデータは放送サービス及び/又は放送コンテンツのデータに相当することができる。非実時間で送信されるデータは、実時間で送信される放送データ又はインターネット網を介して受信されるメディアデータに付け加えられて使われるデータに相当することができる。
本発明の一実施例によると、非実時間伝送が行われる場合、非実時間伝送で送信されるデータはFLUTEプロトコルを用いて送信されることができる。FLUTEを介して送信されるこのファイルはgenericファイルを含むか、あるいはISO BMFF objectデータを含むことができる。ALC/LCT+クライアントは、FLUTEを介して送信されるデータからgenericファイル及び/又はISO BMFF objectデータを抽出することができる。
ALC/LCT+クライアントは、非実時間伝送によるデータを獲得するために、FDT(file delivery table)のために、特定のTOI(Transmission Object Identifier)情報及び/又はTSI情報を有するALC/LCTパケットを集めることができる。ALC/LCT+クライアントは該当のALC/LCTパケットからFDTをパーシングすることができる。ALC/LCT+クライアントは、特定のメディア又は放送コンテンツに含まれるファイルを集めるために、特定のTOI情報及び/又はTSI情報を有するALC/LCTパケットを集めることができる。特定のメディア又は放送コンテンツに相当するファイルに対するTOI情報及び/又はTSI情報は前述したFDTに含まれることができる。実時間ストリーミングがなされる場合には、FDTを獲得するための動作は遂行されないことがあり得る。この場合、ALC/LCT+クライアントは、FDTに係るTOI情報及びTSI情報は無視するように動作することができる。
(c)を参照すると、本発明の一実施例に係る実時間伝送において、ALC/LCT+クライアントの動作が示されている。
実時間伝送はALC/LCT+プロトコルを用いてデータを送信することができる。ALC/LCT+プロトコルはROUTE(Real−Time Object Delivery over Unidirectional Transport)と名付けられることもできる。ALC/LCT+クライアントはアプリケーション階層伝送プロトコルパケットからISO BMFF objectデータを抽出することができる。
ALC/LCT+クライアントは、特定のメディア又は放送コンテンツを構成するデータを獲得するために、特定のTSI情報及び/又はTOI情報を有するAL:C/LCT+パケットを集めることができる。
図36は本発明の一実施例に係るISO BMFFファイルを示した図である。
一つのISO BMFFファイルは、一つのDASHセグメントと同一の概念で使われることができる。ISO BMFF objectデータはISO BMFFファイルの一部のデータに相当することができる。ISO BMFFファイルは一つ以上のchunkに分離されることができ、それぞれのChunkはISO BMFF objectデータに相当することができる。
ISO BMFFファイルは一つ以上のボックス(box)を含むことができる。ISO BMFFファイルはftypボックス、moovボックス、moofボックス、及び/又はmdatボックスを含むことができる。
ISO BMFFファイルが一つ以上のchunkに分離される場合、chunkには相異なる2種以上のボックスが含まれることができる。あるいは、chunkには1種のボックスのみ含まれることもできる。あるいは、chunkには一つのボックスの一部が含まれることもできる。あるいは、chunkには一つのボックスに含まれるデータと他種のボックスに含まれるデータの一部が含まれることもできる。
ftypボックスはISO BMFFファイルの種類を示すことができる。ftypボックスはISO BMFFファイルが互換される技術標準を識別することができる。
moovボックスはメーターデータのためのコンテナー(container)である。メーターデータはシグナリング情報に相当することができる。メーターデータはメディアに含まれるデータを説明する情報を含むことができる。
moofボックスはmovie fragmentボックスに相当し、movie fragmentはプレゼンテーション時間を確張する。
mdatボックスはプレゼンテーションのための実際メディアデータを含む。
図37は本発明の一実施例に係るアプリケーション階層伝送プロトコルパケットを示した図である。
本発明の一実施例に係るTSI(Transport Session Identifier)は単一トラックにマッピングされることができる。単一トラックは、ビデオ、オーディオ又はDASH representationに相当することができる。
DASH representationは一つ以上のメディアストリームの集合又はエンカプセレーション(encapsulation)を示す。DASH representationはメディアの要素を送信するようにエンコードされており、DASH representationごとに異なるエンコード特性を有することができる。例えば、DASH representationは同じメディアのコンテンツ要素に対して、互いに異なるビット率、解像度、及び/又はコーデックを使ってエンコードされた単位を示すことができる。DASH representationは一つ以上のDASHセグメントを含むことができる。DASHセグメントは時間単位で連続的に分けられたファイルに相当する。DASHセグメントはMPEG2−TS又はISO BMFF形式のデータを含むことができる。
本発明の一実施例に係るTOI(Transmission Object Identifier)は一つのISO BMFF objectデータにマッピングされることができる。一つのISO BMFF objectデータは一つのISO BMFFファイル又は一つのchunkに相当することができる。
この図は、TSIが一つのトラックにマッピングされ、TOIが一つのISO BMFFファイルにマッピングされる場合のアプリケーション階層伝送プロトコルパケットを示した図である。
例えば、一つのビデオトラック(track)は一つ以上のセグメント(DASHセグメント)を含むことができる。
それぞれのセグメントはISO BMFFファイルに相当することができる。ISO BMFFファイルは一つ以上のES(elementary stream又はelementary segment)に分けられることができる。図面で、一つのISO BMFFファイルは5個のESに分けられている。
アプリケーション階層伝送プロトコルパケットは、それぞれALC/LCT+ヘッダー(ALC/LCT+H)及びESを含む。
例えば、セグメント1のデータは5個のアプリケーション階層伝送プロトコルパケットを介して送信されることができ、それぞれのアプリケーション階層伝送プロトコルパケットはTOI値として「1」を有することにより、セグメント1のデータを送信していることを示すことができる。ビデオトラックは「1」の値を有するTSIとして識別され、該当のビデオトラックに含まれる他のセグメントはTOIの値として識別されることができる。ビデオトラックがN個のセグメントを含む場合、TOIは1からNの値を有することができる。
受信機はファイルの開始を識別することができなければならない。セグメント1によって送信されるISO BMFFファイルは、該当のファイルが該当のTSIによって識別されるデータユニットの最初ファイルであることを示すことができる情報を含むことができる。
図38は本発明の一実施例に係るTSIが一つのトラックにマッピングされ、TOIが一つのchunkにマッピングされる場合のアプリケーション階層伝送プロトコルパケットを示した図である。
本発明の一実施例によると、一つのトラック(例えば、ビデオトラック)は一つ以上のセグメントを含むことができる。一つのセグメントはISO BMFFファイルに相当することができる。一つのセグメントは一つ以上のchunk(チャンク)に分けられることができる。一つのchunkは一つ以上のESに分けられることができる。それぞれのアプリケーション階層伝送プロトコルパケットはALC/LCT+ヘッダー及び一つのESを含むことができる。この場合、それぞれのchunkは一つ以上のアプリケーション階層伝送プロトコルパケットによって送信されることができる。
図面を参照すると、ビデオトラックに対して「1」のTSI値が設定され、該当のビデオトラックに含まれるセグメントは「1」のTSI値を有する。セグメント1に含まれるchunkのそれぞれに対してそれぞれのTOI値が設定されることができる。
受信機はISO BMFFパーサーが正常動作を制御するために、ISO BMFFファイルの始めから、それぞれのchunkまでのオフセット(offset)を識別することができなければならない。例えば、それぞれのchunkはオフセットを示すオフセット情報を含むことができ、ISO BMFFファイルの開始のデータを含むchunkは「0」の値を有するオフセット情報を含むことができる。
図39は本発明の一実施例に係るTSIが一つのトラックにマッピングされ、TOIが一つのchunkにマッピングされる場合のアプリケーション階層伝送プロトコルパケット内のISO BMFFファイル内の各ボックスの特性を設定することを示した図である。
TSIが一つのトラックにマッピングされ、TOIが一つのchunkにマッピングされる場合、セグメントに相当するISO BMFFファイル内に含まれるそれぞれのボックスに対して互いに異なる重要度が設定されることができる。このような重要度は送信機で設定されることができる。例えば、moovボックスに対しては最も重要(highest)を示す重要度が設定されることができ、moofボックスに対してはより重要(higher)を示す重要度が設定されることができる。
RAP(random access point)に相当するデータを含むmdatボックスは、RAPを含んでいない他のmdatボックスより高い重要度を有するものに設定されることができる。RAPは、ビデオトラックの場合、I−frameのデータを送信するデータユニットに相当することができる。
mdatボックスの間で重要度によって優先順位を決定する情報がそれぞれのmdatボックスに含まれることができる。あるいは、mdatボックスの間で重要度によって優先順位を決定する情報はmoovボックスに含まれることもできる。この場合、mdatボックスを識別する情報に連携して、特定のmdatボックスの優先順位を決定するのに該当の情報が使われることができる。
図面を参照すると、mdatボックスはmoofボックスなしには処理できないので、mdatボックスに比べ、moofボックスがもっと重要であるように設定されることができる。また、moofボックスはmoovボックスなしには処理できないので、moofボックスに比べ、moovボックスがもっと重要であるように設定されることができる。
一つ又はそれ以上のボックスが相異なるアプリケーション階層伝送プロトコルパケットによって送信される場合、それぞれのアプリケーション階層伝送プロトコルパケットに含まれるボックスを考慮して、優先順位についての情報がアプリケーション階層伝送プロトコルパケットのそれぞれに含まれることができる。本発明において、情報の設定又はデータの設定は送信機又は受信機で遂行されることができる。
図40は本発明の一実施例に係るアプリケーション階層伝送プロトコルパケットの送信及び受信を示した図である。
前述したアプリケーション階層伝送プロトコルパケットは送信機で生成されて受信機に送信される。
一つのTSIが一つのトラックにマッピングされ、一つのTOIが一つのchunkにマッピングされる場合において、各セグメントのデータを送信するためのアプリケーション階層伝送プロトコルパケットの生成は前述した。この場合、送信側で生成されて送信されるALC.LCT+パケットを受信機で受信する場合、どのアプリケーション階層伝送プロトコルパケットがどのセグメントに属するものであるかを受信機が分からない問題が発生することができる。それぞれのchunkに対してそれぞれのTOIが設定され、それぞれのchunkは一つ以上のESに分割され、それぞれのESがアプリケーション階層伝送プロトコルパケットに送信されるので、アプリケーション階層伝送プロトコルパケットを受信した受信機にとっては、該当のアプリケーション階層伝送プロトコルパケット又はアプリケーション階層伝送プロトコルパケットに含まれるESがどのセグメントに属するものであるかが分からない。よって、それぞれのchunkがどのセグメント(又はファイル)に属するものであるかが受信機が分かるようにする方案が用意されなければならない。
図面を参照すると、ビデオトラックはセグメント1とセグメント2を含む。セグメント1はchunk1〜chunk 3を含む。セグメント2はchunk1及びchunk 2を含む。この例示では、それぞれのchunkはそれぞれのESに送信されることを仮定する。この場合、セグメント1に対して生成されたアプリケーション階層伝送プロトコルパケットは3個が存在することができ、セグメント1の最初のデータを含むchunkを送信するESは、TSIが「1」に設定され、TOIが「1」に設定され、オフセット情報が「0」に設定されたアプリケーション階層伝送プロトコルパケットを介して送信されることができる。セグメント1に含まれるchunk 2を送信するES 2は、TSIが「1」に設定され、TOIが「2」に設定され、オフセット情報が「200」に設定されたアプリケーション階層伝送プロトコルパケットを介して送信されることができる。セグメント1に含まれるchunk 3を送信するES 3は、TSIが「1」に設定され、TOIが「3」に設定され、オフセット情報が「1000」に設定されたアプリケーション階層伝送プロトコルパケットを介して送信されることができる。セグメント2に含まれるchunk1を送信するES 4は、TSIが「1」に設定され、TOIが「4」に設定され、オフセット情報が「0」に設定されたアプリケーション階層伝送プロトコルパケットを介して送信されることができる。セグメント2に含まれるchunk 2を送信するES 5は、TSIが「1」に設定され、TOIが「5」に設定され、オフセット情報が「1000」に設定されたアプリケーション階層伝送プロトコルパケットを介して送信されることができる。
アプリケーション階層伝送プロトコルパケットが順次送信機から受信機に送信される場合、受信機は「1」の値を有するTSIに相当するアプリケーション階層伝送プロトコルパケットを同じトラックに対するデータを送信するパケットとして認識することができる。よって、受信機が同じTSIを有するアプリケーション階層伝送プロトコルパケットを集める過程で、TOIの値の順にアプリケーション階層伝送プロトコルパケットを集めることができる。しかし、ES 3、及び/又はES 4を送信するアプリケーション階層伝送プロトコルパケットが損失された場合、受信機は、TSIが「1」に設定され、TOIが「5」に設定され、オフセット情報が「1000」に設定されたアプリケーション階層伝送プロトコルパケットが送信するES(又はchunk)がセグメント1に属するものであるか、あるいはセグメント2に属するものであるかを判断することができない問題が発生し得る。
本発明の一実施例においては、前述した問題点を解決するために、TSIに対してトラックのID値を使うことができる。ここで、トラックはMPEG−DASHのrepresentationに対応する概念で使われることができる。また、TOIに対しては、ISO BMFFファイルのID(identifier)とchunkのID(identifier)が結合された値を使うことができる。一つのISO BMFF objectデータが一つのISO BMFFファイルと同一に設定された場合、ISO BMFF objectデータは一つのchunkで構成されていると仮定することもできる。本発明の一実施例においては、それぞれのISO BMFF objectデータ(又はchunk)に対する優先順位を示す情報を設定するために、reserved bitの中で2ビットを使うことができる。
本発明の一実施例においては、それぞれのファイルの開始から、アプリケーション階層伝送プロトコルパケットまでのオフセット情報が設定されることができる。このような情報はシグナリング情報及び/又はアプリケーション階層伝送プロトコルパケットに含まれることができる。オフセット情報の値が「0」の場合、該当の値が適用されるアプリケーション階層伝送プロトコルパケットは、ISO BMFFファイルの開始のデータを送信するアプリケーション階層伝送プロトコルパケットであることを示す。アプリケーション階層伝送プロトコルパケットはメディアのプレゼンテーションタイミングを示す情報(例えば、プレゼンテーションの開始時間、持続時間、及び/又は他のコンテンツとの同期のための情報)及び/又は該当のファイル又はアプリケーション階層伝送プロトコルパケットに関連して必要なデータに対する位置情報(例えば、URL情報)を含むことができる。
図41は本発明の一実施例に係るアプリケーション階層伝送プロトコルパケットの構造を示した図である。
アプリケーション階層伝送プロトコルパケットは、vエレメント、cエレメント、PSIエレメント、Sエレメント、Oエレメント、Hエレメント、優先エレメント、Aエレメント、Bエレメント、HDR_LENエレメント、Codepointエレメント、Congestion Control Informationエレメント、Transport Session Identifier(TSI)エレメント、Transport Object Identifier(TOI)エレメント、EXT_FTIエレメント、EXT_SCTエレメント、EXT_OBJ_OFFSETエレメント、EXT_OBJ_PTSエレメント、EXT_OBJ_LOCATIONエレメント、FEC payload IDエレメント、及び/又はEncoding Symbolsエレメントを含むことができる。
PSIエレメントはXエレメント及び/又はYエレメントを含むことができる。
vエレメントはパケットのバージョンナンバーを示す。vエレメントはALC/LCTのバージョンを示すことができる。vエレメントは本パケットがALC/LCT+によるパケットであることを示すことができる。
cエレメントはCongestion control flagに相当する。cエレメントはCongestion Control Information(CCI)エレメントの長さを示すことができる。例えば、cエレメントは、cエレメントの値が0の場合、CCIの長さは32ビット、cエレメントの値が1の場合、CCIの長さは64ビット、cエレメントの値が2の場合、CCIの長さは96ビット、cエレメントの値が3の場合、CCIの長さは128ビットであることを示すことができる。
PSIエレメントはProtocol−Specific Indication(PSI)に相当することができる。PSIエレメントはALC/LCT+の上位プロトコルに対する特定目的の指示子として使われることができる。PSIエレメントは、現在パケットがsource packetに相当するかあるいはFEC repair packetに相当するかを示すことができる。
Xエレメントはsource packetを示す情報に相当することができる。Sourceとrepair dataのために互いに異なるFEC payload IDフォーマットが使われる場合、このエレメントの値が「1」であれば、source dataのためのFEC payload IDフォーマットであることを示し、このエレメントの値が「0」であれば、repair dataのためのFEC payload IDフォーマットであることを示す。あるいは、このエレメントの値が送信機で「0」にセットされた場合、受信機はこのエレメント又はこのパケットを無視して処理しないこともできる。
SエレメントはTransport Session Identifierflagに相当することができる。SエレメントはTransport Session Identifierエレメントの長さを示す。
OエレメントはTransport Object Identifier flagに相当することができる。OエレメントはTransport Object Identifierエレメントの長さを示すことができる。オブジェクトは一つのファイルを意味することができ、前記TOIは、各オブジェクトの識別情報として、前記TOIが0であるファイルはファイルに係るシグナリング情報を含むことができる。
HエレメントはHalf−word flagに相当することができる。HエレメントはTSI及びTOIフィールドの長さにhalf−word(16bits)を付け加えるか否かを指示する。
優先エレメントはこのパケットに含まれたデータの優先順位を示す。優先エレメントに係って、各オブジェクト、chunk、又はchunkに含まれるボックスの間の優先順位についての説明は前述した説明に取り替える。
AエレメントはClose Session flagに相当することができる。Aエレメントはセッションが終了したかあるいは終了に近くなったことを示すことができる。
BエレメントはClose Object flagに相当することができる。Bエレメントは伝送中のオブジェクトが終了したかあるいは終了に近くなったことを示すことができる。
HDR_LENエレメントはパケットのヘッダーの長さを示す。
Codepointエレメントはこのパケットによって送信されるペイロード(payload)のタイプを示す。ペイロードのタイプによって、更なるペイロードヘッダーがペイロードデータのプレフィックス(prefix)に挿入されることができる。
Congestion Control Information(CCI)エレメントはlayer numbers、logical channel numbers、sequence numbersなどのCongestion Control情報を含むことができる。Congestion Control Information(CCI)エレメントは必要なCongestion Control関連情報を含むことができる。
Transport Session Identifier(TSI)エレメントはTransport Session Identifier field(TSI)はセッションの固有識別子である。TSIエレメントは特定の伝送者(sender)からの全てのセッション(session)のいずれか一セッションを示す。TSIエレメントはtransport sessionを識別する役目を果たす。TSIエレメントの値は一つのトラックのために使われることができる。
Transport Object Identifier(TOI)エレメントはオブジェクトの固有識別子である。TOIエレメントはセッション内でどのオブジェクトにこのパケットが属するかを示す。TOIエレメントの値は一つのISO BMFF objectデータのために使われることができる。TOIエレメントはISO BMFFファイルのIDとchunkのIDを含むことができる。TOIエレメントはISO BMFFファイルのIDとchunkのIDの組合せをその値として有することができる。
EXT_FTIエレメントはFEC Transport Informationについての情報を含む。
EXT_SCTエレメントはSender Current Timeの拡張情報に相当することができる。EXT_SCTエレメントは送信側の時間情報を含む。
EXT_OBJ_OFFSETエレメントはオブジェクトのオフセットを示す。EXT_OBJ_OFFSETエレメントはセグメント(例えば、ISO BMFFファイル又はファイル)の始部から、このパケットに含まれたオブジェクト(例えば、ISO BMFF objectデータ又はchunk)がセグメント内で位置する位置のオフセットを示す。EXT_OBJ_OFFSETエレメントに対する詳細な実施例は前述した説明に取り替える。オフセットを示す情報はアプリケーション階層伝送プロトコルパケットのペイロードに含まれることもできる。
EXT_OBJ_PTSエレメントはオブジェクトのPTS(Presentation Timestamp)を示す。
EXT_OBJ_LOCATIONエレメントはオブジェクトの位置を識別する。EXT_OBJ_LOCATIONエレメントはパケットのペイロードに含まれたオブジェクトのURIなどを含むオブジェクトの位置を識別する。この位置はURLなどで表示されることができる。
FEC payload IDエレメントはFEC Payload識別子である。FEC payload IDエレメントはTransmission Block又はencoding symbolの識別情報を含む。FEC payload IDは前記ファイルがFECエンコードされた場合の識別子を示す。例えば、FEC payload IDは、前記FLUTEプロトコルファイルがFECエンコードされた場合、放送局又は放送サーバーがこれを区分するために割り当てることができる。
Encoding Symbolsエレメントは、Transmission Block又はencoding symbolのデータを含むことができる。
図42は本発明の一実施例に係るアプリケーション階層伝送プロトコルパケットの処理を示した図である。
本発明の一実施例によると、一つのTSIの値は一つのトラックのために割り当てられ、一つのTOIの値は、ISO BMFFファイルのIDとchunkのIDを識別する値を含む。
図面を参照すると、一つのビデオトラックはN個のセグメントを含む。セグメント1は一つのISO BMFFファイルに対応することができる。セグメントは一つ以上のchunkに分けられることができる。それぞれのchunkは一つ以上のESを介して送信されることができる。それぞれのESはアプリケーション階層伝送プロトコルパケットのペイロードを介して送信される。
セグメント1に含まれるES 1を送信するアプリケーション階層伝送プロトコルパケットはISO BMFFファイルの開始に相当するデータを含み、moovボックスを含む。したがって、このアプリケーション階層伝送プロトコルパケットは「highest」(最も重要)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント1を識別する「1」と該当のセグメント内で最初のchunkに含まれるデータであることを示す「1」の値を一緒に有する。また、セグメントの始部のデータを送信するので、アプリケーション階層伝送プロトコルパケットのオフセットエレメントは0に相当する。
セグメント1に含まれるES 2を送信するアプリケーション階層伝送プロトコルパケットは、moofボックス、mdatボックスの一部を含むchunk 2の一部を含む。よって、このアプリケーション階層伝送プロトコルパケットは「higher」(より重要)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント1を識別する「1」と該当のセグメント内で二番目のchunkに含まれるデータであることを示す「2」の値を一緒に有する。また、アプリケーション階層伝送プロトコルパケットによって送信されるデータは、セグメントの始部から100のオフセットを有する位置に位置するデータであることをoffsetエレメントが示す。セグメント1に含まれるES 3を送信するアプリケーション階層伝送プロトコルパケットはchunk 2に含まれるデータを送信するので、優先エレメント、TSIエレメント及びTOIエレメントは、ES 2を送信するアプリケーション階層伝送プロトコルパケットと同一の値を有する。ただ、ES 3を送信するアプリケーション階層伝送プロトコルパケットは、ES 2を送信するアプリケーション階層伝送プロトコルパケットのオフセットエレメントの値とは違うオフセットエレメント値を有する。
セグメント1に含まれるES 4を送信するアプリケーション階層伝送プロトコルパケットは、mdatボックスの一部を含むchunk 3の一部を含む。よって、このアプリケーション階層伝送プロトコルパケットは「low」(底い)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント1を識別する「1」と該当のセグメント内で三番目のchunkに含まれるデータであることを示す「3」の値を一緒に有する。また、アプリケーション階層伝送プロトコルパケットによって送信されるデータは、セグメントの始部から400のオフセットを有する位置に位置するデータであることをoffsetエレメントが示す。セグメント1に含まれるES 5を送信するアプリケーション階層伝送プロトコルパケットはchunk 3に含まれるデータを送信するので、優先エレメント、TSIエレメント及びTOIエレメントは、ES 4を送信するアプリケーション階層伝送プロトコルパケットと同一の値を有する。ただ、ES 5を送信するアプリケーション階層伝送プロトコルパケットは、ES 4を送信するアプリケーション階層伝送プロトコルパケットのオフセットエレメントの値とは違うオフセットエレメント値を有する。
セグメント2に含まれるES 1を送信するアプリケーション階層伝送プロトコルパケットはISO BMFFファイルの開始に相当するデータを含み、moovボックスを含む。したがって、このアプリケーション階層伝送プロトコルパケットは「highest」(最も重要)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント2を識別する「2」と該当のセグメント内で最初のchunkに含まれるデータであることを示す「1」の値を一緒に有する。また、セグメントの始部のデータを送信するので、アプリケーション階層伝送プロトコルパケットのオフセットエレメントは0に相当する。
セグメント2に含まれるES 2を送信するアプリケーション階層伝送プロトコルパケットは、moofボックス、mdatボックスの一部を含むchunk 2の一部を含む。したがって、このアプリケーション階層伝送プロトコルパケットは「higher」(より重要)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント2を識別する「2」と該当のセグメント内で二番目のchunkに含まれるデータであることを示す「2」の値を一緒に有する。また、アプリケーション階層伝送プロトコルパケットによって送信されるデータは、セグメントの始部から100のオフセットを有する位置に位置するデータであることをoffsetエレメントが示す。
セグメント2に含まれるES 3を送信するアプリケーション階層伝送プロトコルパケットは、mdatボックスの一部を含むchunk 3の一部を含む。該当のmdatボックスのデータは他のmdatボックスのデータより重要なデータが含まれることができる。よって、このアプリケーション階層伝送プロトコルパケットは「medium」(中間)の優先エレメントの値を有し、TSIエレメントは該当のビデオトラックを示す値(例えば、1)を有し、TOIエレメントは、該当のビデオトラック内のセグメント2を識別する「2」と該当のセグメント内で三番目のchunkに含まれるデータであることを示す「3」の値を一緒に有する。また、アプリケーション階層伝送プロトコルパケットによって送信されるデータは、セグメントの始部から400のオフセットを有する位置に位置するデータであることをoffsetエレメントが示す。
セグメント1とセグメント2にそれぞれ含まれるアプリケーション階層伝送プロトコルパケットはPTSエレメント値を含むことができる。セグメント1に含まれるアプリケーション階層伝送プロトコルパケットのPTSエレメント値がxを有する場合、セグメント2に含まれるアプリケーション階層伝送プロトコルパケットのPTSエレメントの値はx+1を有することができる。
このように、アプリケーション階層伝送プロトコルパケットを構成する場合、受信機は特定のアプリケーション階層伝送プロトコルパケットがどのセグメント(又はISO BMFFファイル)に属するかが分かるので、伝送過程でアプリケーション階層伝送プロトコルパケットの一部が損失される場合にも、受信したアプリケーション階層伝送プロトコルパケットを正確な位置でデコードすることができる。
図43は本発明の一実施例に係る放送システムを示した図である。
前述したように、本発明の一実施例に係る放送受信機は、MPEG−DASHのMPDを用いて放送ストリーミングを提供することができる。本発明の一実施例に係る放送受信機は、ブロードバンド及び/又はブロードキャストを介して放送信号及び/又は放送データを受信して処理することができる。よって、MPDはブロードバンド及びブロードキャストの両方で使われることができる。あるいは、MPDはブロードバンドでのみ使われることができる。
この図は、MPDをブロードキャストとブロードバンドの両方で使う場合、本発明の一実施例に係る放送システムの動作を示す。
本発明の一実施例に係る放送システムは送信システムと受信機を含む。
送信システム(送信機)は、ウォールクロック処理部(Wall Clock−T)J42010、NTPサーバー(NTP server)J42020、DASHエンコーダー(DASH Encoder)J42030、放送送信機(Broadcast Transmitter)J42040及び/又はHTTPサーバー(external HTTP Server)J42050)を含む。
受信機は、IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J42110、FLUTE+クライアント(FLUTE+client)J42120、DASHクライアント(DASH client)J42130、HTTPサーバー(Internal HTTP Server)J42140、NTPクライアント(NTP client)J42150及び/又はウォールクロック処理部(Wall Clock−R)J42160を含むことができる。
ウォールクロック処理部(Wall Clock−T)J42010は放送送信機の基準時間についての情報を処理して提供する。
NTPサーバー(NTP server)J42020は放送送信機の基準時間についての情報を用いて、NTP(network time protocol)情報を生成し、NTP情報を含むNTPパケットを生成する。
DASHエンコーダー(DASH Encoder)J42030は、放送送信機の基準時間についての情報に合わせ、放送データを含むセグメントをエンコードする。DASHエンコーダー(DASH Encoder)J42030は、放送送信機の基準時間についての情報に合わせ、メディア(放送サービス、放送コンテンツ、及び/又は放送イベント)に対するデータ及び/又は説明情報を含むMPDをエンコードする。
放送送信機(Broadcast Transmitter)J42040は、NTPパケット、セグメント及び/又はMPDを含む放送ストリームを送信する。
HTTPサーバー(external HTTP Server)J42050は、MPDの要請に対する応答を処理するか、あるいはセグメントなどのメディアのデータに対する要請に対する応答を処理する。HTTPサーバー(external HTTP Server)J42050は放送送信機の内部に位置することができ、外部に位置することもできる。
IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J42110は、放送信号から分離されたIP/UDPデータグラム又はIPパケットをフィルタリングする。IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J42110はメディアに対するデータを含むパケット(アプリケーション階層伝送プロトコルパケット又はLCTパケット)とNTPパケットをフィルタリングすることができる。
FLUTE+クライアント(FLUTE+client)J42120は受信したパケットからMPDを抽出する。FLUTE+クライアント(FLUTE+client)J42120はメディアについての情報を含むHTTP entityを抽出する。
DASHクライアント(DASH client)J42130は、MPDパーサー(MPD parser)、HTTPアクセスエンジン(HTTP access engine)、セグメントバッファー制御部(Seg. Buffer control)、セグメントバッファー(Seg. Buffer)、セグメントインデックス処理部(Seg. Index)、DASHクライアント制御部(DASH client Control)及び/又はメディアエンジン(Media Engine)を含むことができる。DASHクライアント(DASH client)J42130は、MPDを処理し、MPDによってセグメントに対する要請を遂行するか、あるいはセグメントを受信して処理する役目を果たす。MPDパーサー(MPD parser)はMPDをパーシングする。HTTPアクセスエンジン(HTTP access engine)は、HTTPを介して、サーバーと通信を行って必要なデータを要請するかあるいは受信する。セグメントバッファー制御部(Seg. Buffer control)はセグメントバッファーを制御する。セグメントバッファー(Seg. Buffer)はセグメントをバッファリングする。セグメントインデックス処理部(Seg. Index)は、セグメントを順に処理するように、セグメントのインデックスを管理及び処理する。セグメントのインデックスについての情報はMPDに含まれる。セグメントインデックス処理部は、セグメントのタイミングについての情報を獲得し、タイミングによってセグメントがデコードされるようにする処理を遂行する。DASHクライアント制御部(DASH client Control)はDASHクライアントを制御する。DASHクライアント制御部は、放送システムの基準時間に合わせられてDASHクライアントが動作するように制御する。メディアエンジン(Media Engine)はセグメントをデコードしてメディアを生成する。
HTTPサーバー(Internal HTTP Server)J42140は、DASHクライアントの特定のセグメントに対する要請を受信し、これに対する応答として該当のセグメントをDASHクライアントに伝達する。DASHクライアントは、特定のセグメントを要請するために、該当のセグメントのURL情報をHTTPサーバーに伝達することができる。HTTPサーバー(Internal HTTP Server)J42140は受信機の内部に存在することも、受信機の外部に存在することもできる。
NTPクライアント(NTP client)J42150はNTPパケットを受信してパーシングする。
ウォールクロック処理部(Wall Clock−R)J42160は、NTP情報を用いて、受信機の基準時間とネットワークシステムの基準時間の間の同期を維持するように処理する。
本発明の一実施例において、セグメントは、放送送信機でエンコードされるとすぐに放送ストリームに入力される。送信機から受信機への伝送過程で一定の遅延が発生し得る。送信機と受信機のウォールクロック(基準時間)の間に一定の遅延が発生し得る。セグメントは内部HTTPサーバーからDASHクライアントに送信される。
図44は本発明の一実施例に係る放送システムにおけるセグメントの処理タイミングを示した図である。
この図では、図43の各装置に表示されたTiming(1)、Timing(2)、Timing(4)、Timing(5)でのそれぞれのタイムラインが示されており、該当のタイムラインでセグメントのタイミングが示されている。
セグメント(A1)はオーディオ1のデータを送信する。
セグメント(V1)はビデオ1のデータを送信する。
セグメント(A2)はオーディオ2のデータを送信する。
セグメント(V2)はビデオ2のデータを送信する。
セグメント(A3)はオーディオ3のデータを送信する。
セグメント(V3)はビデオ3のデータを送信する。
タイムライン1は送信機のエンコーダーでのタイムラインである。
タイムライン2は放送ストリーム上でのタイムラインである。
タイムライン4は受信機の内部サーバーでのタイムラインである。
タイムライン5は受信機のDASHクライアントでのタイムラインである。
タイムライン1で、セグメント(A1)及びセグメント(V1)が同一時間の間にエンコードされる。セグメント(A1)及びセグメント(V1)のエンコードが終了すれば、セグメント(A2)及びセグメント(V2)が同一時間の間にエンコードされる。セグメント(A2)及びセグメント(V2)のエンコードが終了すれば、セグメント(A3)及びセグメント(V3)が同一時間の間にエンコードされる。
タイムライン2で、それぞれのセグメントに対するエンコードが終了すれば、送信機は該当のセグメントを送信する。
タイムライン4で、MPDで描写されたセグメントが可用な時間を示す可用性タイムラインが示されている。セグメントの実際持続時間(duration)とtime shift buffer depthによるそれぞれのセグメントの時間が結合されて該当のセグメントの長さに設定されることができる。
タイムライン4で、実際にそれぞれのセグメントが受信される時間は、伝送時間と比較して一定の遅延(constant delay)があり得る。
タイムライン5を参照すると、チャネル変更(channel change)が発生する時点ではセグメント(A3)、セグメント(V3)が可能であり、前記セグメントが他のクライアントの処理結果と同期する時間を考慮して、セグメント(A3)、セグメント(V3)の表出のために提示される遅延(suggested presentation delay)が設定されることができる。受信機では、period start情報、セグメント(A3)及びセグメント(V3)のstart time情報、及びsuggested presentation delay情報が示す時間を加えることで、periodが始まった後のセグメント(A3)及びセグメント(V3)を表出する時間を決定することができる。
図45は本発明の一実施例に係るMPDをブロードバンド及びブロードキャストの両方で使用する場合の放送システムの動作を示す。
本発明の一実施例に係る放送システムは送信システムと受信機を含む。
送信システム(送信機)はウォールクロック処理部(Wall Clock−T)J44010、タイムラインパケットエンコーダー(Timeline Packet encoder)J44020、DASHエンコーダー(DASH Encoder)J44030、放送送信機(Broadcaster)J44040及び/又はHTTPサーバー(external HTTP Server)J44050を含む。
受信機はIP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J44110、ALC/LCT+クライアント(ALC/LCT+client)J44120、受信機バッファー制御部(receiver buffer control)J44130、セグメントバッファー(Seg. Buffer)J44140、メディアエンジン(Media Engine)J44150、タイムラインパケットパーサー(Timeline Packet parser)J44160、ウォールクロック処理部(Wall Clock−R)J44170、及び/又はDASHクライアント(DASH client)J44180を含むことができる。
ウォールクロック処理部(Wall Clock−T)J44010は放送送信機の基準時間についての情報を処理して提供する。
タイムラインパケットエンコーダー(Timeline Packet encoder)J44020は、メディアの同期、又は放送システムと放送受信機の間の基準時間の同期のための情報を含むタイムラインパケットを生成する。
DASHエンコーダー(DASH Encoder)J44030は、放送送信機の基準時間についての情報に合わせて、放送データを含むセグメントをエンコードする。DASHエンコーダー(DASH Encoder)J44030は、放送送信機の基準時間についての情報に合わせて、メディア(放送サービス、放送コンテンツ、及び/又は放送イベント)に対するデータ及び/又は説明情報を含むMPDをエンコードする。
放送送信機(Broadcaster)J44040は、タイムラインパケット、セグメント及び/又はMPDを含む放送ストリームを送信する。
HTTPサーバー(HTTP Server)J44050はMPDの要請に対する応答を処理するか、あるいはセグメントなどのメディアのデータに対する要請に対する応答を処理する。HTTPサーバー(HTTP Server)J44050は放送送信機の内部に位置することができ、外部に位置することもできる。HTTPサーバー(HTTP Server)J44050はDASHクライアントから特定のセグメント(例えば、Seg.(A))に対する要請を受信する。この要請には特定のセグメントの位置情報(例えば、URL情報)が含まれることができる。HTTPサーバー(HTTP Server)J44050はDASHエンコーダーから、該当のセグメントを受信されて、DASHクライアントに伝達することができる。
IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J44110は放送信号から分離されたIP/UDPデータグラム又はIPパケットをフィルタリングする。IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J44110は、メディアに対するデータを含むパケット(アプリケーション階層伝送プロトコルパケット又はLCTパケット)とタイムラインパケットをフィルタリングすることができる。
ALC/LCT+クライアント(ALC/LCT+client)J44120は受信したパケットからMPDを抽出する。ALC/LCT+クライアント(ALC/LCT+client)J44120はメディアに対するデータを含むセグメント(例えば、Seg.(V))を抽出する。
受信機バッファー制御部(receiver buffer control)J44130は受信機内のセグメントバッファーの動作を制御する。受信機バッファー制御部(receiver buffer control)J44130は、アプリケーション階層伝送プロトコルパケットに送信されるセグメントを伝達される。受信機バッファー制御部(receiver buffer control)J44130は、バッファリングが必要な場合、該当のセグメントをセグメントバッファーに伝達することができる。受信機バッファー制御部(receiver buffer control)J44130はブロードバンドタイムライン基準(Broadband timeline reference;Wall Clock)を受信し、セグメントについてのタイミング情報を受信する。受信機バッファー制御部(receiver buffer control)J44130は、セグメントのタイミングとウォールクロックに合わせてセグメントをメディアエンジンなどに伝達することにより、該当のセグメントが消費されるように制御する。
セグメントバッファー(Seg. Buffer)J44140はセグメントをバッファリングする。
メディアエンジン(Media Engine)J44150はセグメントをデコードし、セグメントに相当するメディアを表出する。
タイムラインパケットパーサー(Timeline Packet parser)J44160はタイムラインパケットをパーシングする。
ウォールクロック処理部(Wall Clock−R)J44170は、タイムラインパケット内の情報を用いて、受信機の基準時間とシステムの基準時間の間の同期を維持するように処理する。
DASHクライアント(DASH client)J44180は、MPDパーサー(MPD parser)、HTTPアクセスエンジン(HTTP access engine)、セグメントバッファー制御部(Seg. Buffer control)、セグメントバッファー(Seg. Buffer)、セグメントインデックス処理部(Seg. Index)、DASHクライアント制御部(DASH client Control)及び/又はメディアエンジン(Media Engine)を含むことができる。DASHクライアント(DASH client)J44180はMPDを処理し、MPDによってセグメントに対する要請を遂行するか、あるいはセグメントを受信して処理する役目を果たす。MPDパーサー(MPD parser)はMPDをパーシングする。MPDパーサー(MPD parser)は、MPDからセグメント(A)に対する既存の放送システムでのタイミング情報(例えば、PTSなど)、セグメントのURL情報、及び/又はセグメントの可用タイミング情報を抽出することができる。HTTPアクセスエンジン(HTTP access engine)は、HTTPを介して、サーバーと通信を行って、必要なデータを要請するか受信する。セグメントバッファー制御部(Seg. Buffer control)はセグメントバッファーを制御する。セグメントバッファー(Seg. Buffer)はセグメントをバッファリングする。セグメントインデックス処理部(Seg. Index)は、セグメントが順に処理するように、セグメントのインデックスを管理及び処理する。セグメントのインデックスについての情報はMPDに含まれる。セグメントインデックス処理部は、セグメントのタイミングについての情報を獲得し、タイミングによってセグメントがデコードされるようにする処理を遂行する。DASHクライアント制御部(DASH client Control)はDASHクライアントを制御する。DASHクライアント制御部は、放送システムの基準時間に合わせてDASHクライアントが動作するように制御する。メディアエンジン(Media Engine)はセグメントをデコードし、メディアを生成する。
本発明によると、ビデオデータを送信するセグメント(Seg.(V))とオーディオデータを送信するセグメント(Seg.(A))が互いに異なる伝送方式で送信され、互いに異なる処理過程によって一つのメディアの一部を構成することができる。
本発明の一実施例で、セグメントは、放送送信機でエンコードされるとすぐに放送ストリームに入力される。セグメントは、放送送信機でエンコードされるとすぐに外部サーバーで使用可能である。送信機から受信機への伝送過程で一定の遅延が発生し得る。送信機と受信機のウォールクロック(基準時間)の間に一定の遅延が発生し得る。セグメントは内部サーバーからDASHクライアントに直ちに送信されることができる。
図46は本発明の他の実施例に係る放送システムにおけるセグメントの処理タイミングを示した図である。
この図では、図45の各装置に表示されたTiming(1)、Timing(2)、Timing(3)、Timing(4)、Timing(5)でのそれぞれのタイムラインが示されており、該当のタイムラインでセグメントのタイミングが示されている。
セグメント(A1)はオーディオ1のデータを送信する。
セグメント(V1)はビデオ1のデータを送信する。
セグメント(A2)はオーディオ2のデータを送信する。
セグメント(V2)はビデオ2のデータを送信する。
セグメント(A3)はオーディオ3のデータを送信する。
セグメント(V3)はビデオ3のデータを送信する。
タイムライン1は送信機のエンコーダーでのタイムラインである。
タイムライン2は放送ストリーム上でのタイムラインである。
タイムライン3は外部サーバー上でのタイムラインである。
タイムライン4は受信機の内部サーバーでのタイムラインである。
タイムライン5は受信機のDASHクライアントでのタイムラインである。
タイムライン1で、セグメント(A1)及びセグメント(V1)が同一の時間の間にエンコードされる。セグメント(A1)及びセグメント(V1)のエンコードが終了すれば、セグメント(A2)及びセグメント(V2)が同一の時間の間にエンコードされる。セグメント(A2)及びセグメント(V2)のエンコードが終了すれば、セグメント(A3)及びセグメント(V3)が同一の時間の間にエンコードされる。
タイムライン2で、それぞれのセグメントに対するエンコードが終了すれば、送信機は該当のセグメントを送信する。ここで、放送網を介しては、ビデオデータを含むセグメントが送信されることができる。すなわち、放送網を介しては、セグメント(V1)、セグメント(V2)、セグメント(V3)が送信される。
タイムライン3で、ビデオデータを送信するセグメントに対応するオーディオデータを送信するセグメント(A1)、セグメント(A2)、セグメント(A3)が外部サーバーで可用な時間が表現されている。
タイムライン4で、MPDで描写されたセグメントが可用な時間を示す可用性タイムラインが示されている。セグメントの実際持続時間(duration)とtime shift buffer depthによるそれぞれのセグメントの時間が結合されて該当のセグメントの長さに設定されることができる。
タイムライン4で、実際にそれぞれのセグメントが受信される時間は、伝送時間と比較して一定の遅延(constant delay)があり得る。
タイムライン5を参照すると、チャネル変更(channel change)が発生する時点ではセグメント(A2)、セグメント(A3)、セグメント(V3)が可用であり、前記セグメントが他のクライアントの処理結果と同期する時間を考慮して、セグメント(A2)、セグメント(A3)、セグメント(V3)の表出のために提示される遅延(suggested presentation delay)が設定されることができる。受信機では、period start情報、セグメント(A2)、セグメント(A3)、セグメント(V3)のそれぞれのstart time情報、及びsuggested presentation delay情報が示す時間を加えることで、periodが始まった後のセグメント(A2)、セグメント(A3)、及びセグメント(V3)を表出する時間を決定することができる。受信機によって、コンテンツが表出される時間の差があり得るが、suggested presentation delayを用いて受信機間のコンテンツが表出される時間差を無くすことができる。
MPDがブロードバンド及びブロードキャストの両方で使われる場合、ブロードキャストチャネルに送信されるセグメントより、ブロードバンドに送信されるセグメントを受信機は先に受信することができる。
既存の(外部サーバーのための)DASH可用性タイムラインは、(内部サーバーから)放送ストリームに送信されるセグメントのためには使われることができないであろう。内部サーバーでのセグメントavailability timeはチャネル変更時間によって影響されることができる。さらに、セグメント受信時間(segment reception time)が考慮されなければならなく、受信機はセグメント受信時間を考慮してセグメントavailability timeを測定することができる。前述した実施例で、一定の遅延(constant delay)が受信機ごとに異なる場合、DASH presentation timeはsuggested presentation delay情報を用いて正確に同期化しにくいことがあり得る。
図47は本発明の他の実施例に係るMPDをブロードバンドでのみ使用する場合の放送システムを示した図である。
本発明の一実施例に係る放送システムは送信システムと受信機を含む。
送信システム(送信機)は、ウォールクロック処理部(Wall Clock−T)J46010、タイムラインパケットエンコーダー(Timeline Packet encoder)J46020、DASHエンコーダー(DASH Encoder)J46030、及び/又は放送送信機(Broadcaster)J46040を含む。
受信機は、IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J46110、ALC/LCT+クライアント(ALC/LCT+client)J46120、受信機バッファー制御部(receiver buffer control)J46130、セグメントバッファー(Seg. Buffer)J46140、メディアエンジン(Media Engine)J46150、タイムラインパケットパーサー(Timeline Packet parser)J46160、及び/又はウォールクロック処理部(Wall Clock−R)J46170を含むことができる。
ウォールクロック処理部(Wall Clock−T)J46010は放送送信機の基準時間についての情報を処理して提供する。
タイムラインパケットエンコーダー(Timeline Packet encoder)J46020は、メディアの同期、又は放送システムと放送受信機の間の基準時間の同期のための情報を含むタイムラインパケットを生成する。
DASHエンコーダー(DASH Encoder)J46030は、放送送信機の基準時間についての情報に合わせて、放送データを含むセグメントをエンコードする。DASHエンコーダー(DASH Encoder)J46030は、放送送信機の基準時間についての情報に合わせて、メディア(放送サービス、放送コンテンツ、及び/又は放送イベント)に対するデータ及び/又は説明情報を含むMPDをエンコードする。
放送送信機(Broadcaster)J46040は、タイムラインパケット、セグメント及び/又はMPDを含む放送ストリームを送信する。
IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J46110は、放送信号から分離されたIP/UDPデータグラム又はIPパケットをフィルタリングする。IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J46110は、メディアに対するデータを含むパケット(アプリケーション階層伝送プロトコルパケット又はLCTパケット)とタイムラインパケットをフィルタリングすることができる。
ALC/LCT+クライアント(ALC/LCT+client)J46120は、メディアに対するデータを含むセグメント(例えば、Seg.(V)、Seg.(A))を抽出する。ALC/LCT+クライアント(ALC/LCT+client)J46120は、MPDの代わりに、既存のタイミングのための情報(例えば、MPEG2 TSで使われたタイミング情報)を抽出することができる。このようなタイミングのための情報は各セグメントに含まれていることもできる。
バッファー制御部(buffer control)J46130は受信機内のセグメントバッファーの動作を制御する。バッファー制御部(buffer control)J46130はアプリケーション階層伝送プロトコルパケットに送信されるセグメントを伝達される。バッファー制御部(buffer control)J46130は、バッファリングが必要な場合、該当のセグメントをセグメントバッファーに伝達することができる。バッファー制御部(buffer control)J46130はブロードバンドタイムライン基準(Broadband timeline reference;Wall Clock)を受信し、セグメントに対するタイミング情報を受信する。バッファー制御部(buffer control)J46130は、セグメントのタイミングとウォールクロックに合わせてセグメントをメディアエンジンなどに伝達して、該当のセグメントが消費されるように制御する。
セグメントバッファー(Seg. Buffer)J46140はセグメントをバッファリングする。
メディアエンジン(Media Engine)J46150はセグメントをデコードし、セグメントに相当するメディアを表出する。
タイムラインパケットパーサー(Timeline Packet parser)J46160はタイムラインパケットをパーシングする。
ウォールクロック処理部(Wall Clock−R)J46170はタイムラインパケット内の情報を用いて、受信機の基準時間とシステムの基準時間の間の同期を維持するように処理する。
本発明の一実施例で、セグメントは、放送送信機でエンコードされるとすぐに放送ストリームに入力される。ウォールクロック(Wall Clock)はブロードキャストタイムラインレファレンス(Boradcast timeline reference)の形態で送信機から受信機に送信される。送信機から受信機への伝送過程で一定の遅延が発生し得る。送信機と受信機のウォールクロック(基準時間)の間に一定の遅延が発生し得る。
図48は本発明の他の実施例に係る放送システムにおけるセグメントの処理タイミングを示した図である。
この図では、図47の各装置に表示されたTiming(1)、Timing(2)、Timing(4)、Timing(5)でのそれぞれのタイムラインが示されており、該当のタイムラインでセグメントのタイミングが示されている。
セグメント(A1)はオーディオ1のデータを送信する。
セグメント(V1)はビデオ1のデータを送信する。
セグメント(A2)はオーディオ2のデータを送信する。
セグメント(V2)はビデオ2のデータを送信する。
セグメント(A3)はオーディオ3のデータを送信する。
セグメント(V3)はビデオ3のデータを送信する。
タイムライン1は送信機のエンコーダーでのタイムラインである。
タイムライン2は放送ストリーム上でのタイムラインである。
タイムライン4は受信機のバッファーに適用されるタイムラインである。
タイムライン5は受信機のDASHクライアントでのタイムラインである。
タイムライン1で、セグメント(A1)及びセグメント(V1)が同一の時間の間にエンコードされる。セグメント(A1)及びセグメント(V1)のエンコードが終了すれば、セグメント(A2)及びセグメント(V2)が同一の時間の間にエンコードされる。セグメント(A2)及びセグメント(V2)のエンコードが終了すれば、セグメント(A3)及びセグメント(V3)が同一の時間の間にエンコードされる。それぞれのセグメントにはPTSが含まれることができる。
タイムライン2で、それぞれのセグメントに対するエンコードが終了すれば、送信機は該当のセグメントを送信する。
タイムライン4を参照すると、一定の遅延(constant delay)とそれぞれのセグメントの受信に必要な時間が経った後、それぞれのセグメントが使用可能になる。
タイムライン5を参照すると、チャネル変更(channel change)が発生する時点では、セグメント(A2)及びセグメント(V2)の一部のデータは受信することができないことがあり得る。チャネル変更(channel change)が発生する時点の後、セグメント(A3)、及びセグメント(V3)は全て受信することができる。前記セグメントが他のクライアントの処理結果と同期する時間を考慮して、セグメント(A3)、セグメント(V3)の表出のために提示される遅延(suggested presentation delay)が設定されることができる。
図49は本発明の他の実施例に係るMPDをブロードバンドでのみ使用する場合の放送システムを示した図である。
本発明の一実施例に係る放送システムは送信システムと受信機を含む。
送信システム(送信機)は、ウォールクロック処理部(Wall Clock−T)J48010、タイムラインパケットエンコーダー(Timeline Packet encoder)J48020、DASHエンコーダー(DASH Encoder)J48030、放送送信機(Broadcaster)J48040及び/又はHTTPサーバー(HTTP Server)J48050を含む。
受信機は、IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J48110、ALC/LCT+クライアント(ALC/LCT+client)J48120、受信機バッファー制御部(receiver buffer control)J48130、セグメントバッファー(Seg. Buffer)J48140、メディアエンジン(Media Engine)J48150、タイムラインパケットパーサー(Timeline Packet parser)J48160、ウォールクロック処理部(Wall Clock−R)J48170、及び/又はDASHクライアント(DASH client)J48180を含むことができる。
ウォールクロック処理部(Wall Clock−T)J48010は放送送信機の基準時間についての情報を処理して提供する。
タイムラインパケットエンコーダー(Timeline Packet encoder)J48020は、メディアの同期、又は放送システムと放送受信機の間の基準時間の同期のための情報を含むタイムラインパケットを生成する。
DASHエンコーダー(DASH Encoder)J48030は、放送送信機の基準時間についての情報に合わせて、放送データを含むセグメントをエンコードする。DASHエンコーダー(DASH Encoder)J44030は、放送送信機の基準時間についての情報に合わせて、メディア(放送サービス、放送コンテンツ、及び/又は放送イベント)に対するデータ及び/又は説明情報を含むMPDをエンコードする。
放送送信機(Broadcaster)J48040は、タイムラインパケット、セグメント及び/又はMPDを含む放送ストリームを送信する。
HTTPサーバー(HTTP Server)J48050は、MPDの要請に対する応答を処理するか、セグメントなどのようなメディアのデータに対する要請に対する応答を処理する。HTTPサーバー(HTTP Server)J48050は放送送信機の内部に位置することができ、外部に位置することもできる。HTTPサーバー(HTTP Server)J48050はDASHクライアントから特定のセグメント(例えば、Seg.(A))に対する要請を受信する。この要請には特定のセグメントの位置情報(例えば、URL情報)が含まれることができる。HTTPサーバー(HTTP Server)J48050は、DASHエンコーダーから、該当のセグメントを受信して、DASHクライアントに伝達することができる。
IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J48110は、放送信号から分離されたIP/UDPデータグラム又はIPパケットをフィルタリングする。IP/UDPデータグラムフィルター(IP/UDP Datagram Filter)J48110はメディアに対するデータを含むパケット(アプリケーション階層伝送プロトコルパケット又はLCTパケット)とタイムラインパケットをフィルタリングすることができる。
ALC/LCT+クライアント(ALC/LCT+client)J48120は受信したパケットからMPDを抽出する。ALC/LCT+クライアント(ALC/LCT+client)J48120はメディアに対するデータを含むセグメント(例えば、Seg.(V))を抽出する。ALC/LCT+クライアント(ALC/LCT+client)J48120は既存の放送システムで使われるタイミングについての情報(例えば、MPEG2−TSの伝送で使われたタイミング関連情報)を抽出することができる。あるいは、既存の放送システムで使われるタイミングについての情報がセグメント(V)に含まれていることができる。
受信機バッファー制御部(receiver buffer control)J48130は受信機内のセグメントバッファーの動作を制御する。受信機バッファー制御部(receiver buffer control)J48130はアプリケーション階層伝送プロトコルパケットに送信されるセグメントを伝達される。受信機バッファー制御部(receiver buffer control)J48130は、バッファリングが必要な場合、該当のセグメントをセグメントバッファーに伝達することができる。受信機バッファー制御部(receiver buffer control)J48130はブロードバンドタイムライン基準(Broadband timeline reference;Wall Clock)を受信し、セグメントに対するタイミング情報を受信する。受信機バッファー制御部(receiver buffer control)J48130はセグメントのタイミングとウォールクロックに合わせてセグメントをメディアエンジンなどに伝達して、該当のセグメントが消費されるように制御する。
セグメントバッファー(Seg. Buffer)J48140はセグメントをバッファリングする。
メディアエンジン(Media Engine)J48150はセグメントをデコードし、セグメントに相当するメディアを表出する。
タイムラインパケットパーサー(Timeline Packet parser)J48160はタイムラインパケットをパーシングする。
ウォールクロック処理部(Wall Clock−R)J48170はタイムラインパケット内の情報を用いて、受信機の基準時間とシステムの基準時間の間の同期を維持するように処理する。
DASHクライアント(DASH client)J48180は、MPDパーサー(MPD parser)、HTTPアクセスエンジン(HTTP access engine)、セグメントバッファー制御部(Seg. Buffer control)、セグメントバッファー(Seg. Buffer)、セグメントインデックス処理部(Seg. Index)、DASHクライアント制御部(DASH client Control)及び/又はメディアエンジン(Media Engine)を含むことができる。DASHクライアント(DASH client)J44180はMPDを処理して、MPDによってセグメントに対する要請を遂行するか、あるいはセグメントを受信して処理する役目を果たす。MPDパーサー(MPD parser)はMPDをパーシングする。MPDパーサー(MPD parser)はMPDからセグメント(A)に対する既存の放送システムでのタイミング情報(例えば、PTSなど)、セグメントのURL情報、及び/又はセグメントの可用タイミング情報を抽出することができる。HTTPアクセスエンジン(HTTP access engine)は、HTTPを介して、サーバーと通信を行って、必要なデータを要請するかあるいは受信する。セグメントバッファー制御部(Seg. Buffer control)はセグメントバッファーを制御する。セグメントバッファー(Seg. Buffer)はセグメントをバッファリングする。セグメントインデックス処理部(Seg. Index)はセグメントを順に処理するようにセグメントのインデックスを管理及び処理する。セグメントのインデックスについての情報はMPDに含まれる。セグメントインデックス処理部は、セグメントのタイミングについての情報を獲得して、タイミングによってセグメントがデコードされるようにする処理を遂行する。DASHクライアント制御部(DASH client Control)はDASHクライアントを制御する。DASHクライアント制御部は、放送システムの基準時間に合わせてDASHクライアントが動作するように制御する。メディアエンジン(Media Engine)はセグメントをデコードしてメディアを生成する。
本発明によると、ビデオデータを送信するセグメント(Seg.(V))とオーディオデータを送信するセグメント(Seg.(A))が互いに異なる伝送方式で送信され、互いに異なる処理過程によって一つのメディアの一部を構成することができる。
本発明の一実施例で、セグメントは、放送送信機でエンコードされるとすぐに放送ストリームに入力される。ウォールクロック(Wall Clock)はブロードキャストタイムラインレファレンス(Boradcast timeline reference)の形態で送信機から受信機に送信される。送信機から受信機への伝送過程で一定の遅延が発生し得る。送信機と受信機のウォールクロック(基準時間)の間に一定の遅延が発生し得る。
図50は本発明の他の実施例に係る放送システムにおけるセグメントの処理タイミングを示した図である。
この図では、図49の各装置に表示されたTiming(1)、Timing(2)、Timing(3)、Timing(4)、Timing(5)でのそれぞれのタイムラインが示されており、該当のタイムラインでセグメントのタイミングが示されている。
セグメント(A1)はオーディオ1のデータを送信する。
セグメント(V1)はビデオ1のデータを送信する。
セグメント(A2)はオーディオ2のデータを送信する。
セグメント(V2)はビデオ2のデータを送信する。
セグメント(A3)はオーディオ3のデータを送信する。
セグメント(V3)はビデオ3のデータを送信する。
タイムライン1は送信機のエンコーダーでのタイムラインである。
タイムライン2は放送ストリーム上でのタイムラインである。
タイムライン3はサーバー上でのタイムラインである。
タイムライン4は受信機の内部バッファーでのタイムラインである。
タイムライン5は受信機のDASHクライアントでのタイムラインである。
タイムライン1で、セグメント(A1)及びセグメント(V1)が同一の時間の間にエンコードされる。セグメント(A1)及びセグメント(V1)のエンコードが終了すれば、セグメント(A2)及びセグメント(V2)が同一の時間の間にエンコードされる。セグメント(A2)及びセグメント(V2)のエンコードが終了すれば、セグメント(A3)及びセグメント(V3)が同一の時間の間にエンコードされる。それぞれのビデオデータを含むセグメントはPTS(Presentation Timestamp)情報を含むことができる。
タイムライン2で、それぞれのセグメントに対するエンコードが終了すれば、送信機は該当のセグメントを送信する。ここで、放送網を介しては、ビデオデータを含むセグメントが送信されることができる。すなわち、放送網を介しては、セグメント(V1)、セグメント(V2)、セグメント(V3)が送信される。
タイムライン3で、ビデオデータを送信するセグメントに対応するオーディオデータを送信するセグメント(A1)、セグメント(A2)、セグメント(A3)が外部サーバーで可用な時間が表現されている。オーディオデータを含むセグメントの持続時間にtime shift buffer depthを加えて、該当のセグメントが可用な期間が分かる。
タイムライン4を参照すると、一定の遅延(constant delay)とそれぞれのセグメントの受信に必要な時間が経った後、それぞれのセグメントが使用可能になる。
タイムライン5を参照すると、チャネル変更(channel change)が発生する時点で、受信機はセグメント(V1)は受信することができなかったし、セグメント(V2)に含まれる一部のデータは受信することができなかった。受信機は、チャネル変更時点の後、セグメント(V3)を全く受信することができる。一方、受信機は、MPDを用いて、セグメント(A2)を受信することができる。各セグメントが可用であり、前記セグメントが他のクライアントの処理結果と同期する時間を考慮して、セグメント(A2)、セグメント(A3)、セグメント(V3)の表出のために提示される遅延(suggested presentation delay)が設定されることができる。受信機では、period start情報、セグメント(A2)、セグメント(A3)のそれぞれのstart time情報、及び/又はsuggested presentation delay情報が示す時間を加えて、periodが始まった後のセグメント(A2)、及びセグメント(A3)を表出する時間を決定することができる。受信機によって、コンテンツが表出される時間の差があり得るが、suggested presentation delayを用いて受信機間のコンテンツが表出される時間差を無くすことができる。
MPDがブロードバンドでのみ使われる場合、ブロードバンドに送信されるコンテンツに対するavailability timelineを処理するためにウォールクロック(Wall Clock)が必要である。この場合、「Broadband timeline reference」がウォールクロックの値と同期することができる。
MPDは、メディアの表出時間をシグナリングするために、Media presentation time clock情報を含むことができる。Media presentation time clock情報を「broadcast timeline reference」として使うために、ウォールクロックとMedia presentation time clock情報間の変換のための更なるモジュール又は装置が必要なことがあり得る。本発明の一実施例によると、「MPD@suggestedpresentationdelay」情報がPTSと一緒に送信されるか、PTSが「suggested presentation delay」を考慮した値を有するように設定されることができる。
ブロードキャスト網とブロードバンド網にそれぞれ送信されるメディア(放送サービス、コンテンツ、及び/又はイベント)の間の同期のために、DASH media presentation timelineがブロードキャストとブロードバンドのために使われることができる。例えば、「MPD@suggestedpresentationdelay」を用いて、ブロードキャストストリームとブロードバンドストリームを一致(align)させる。「SegmentBase@availabilitytimeOffset」を用いて、シグナリングされたavailability start time以前に、クライアントがセグメントに近付くことができるように許すことができる。MPDにpresentation timeのanchor情報を付け加えることができる。このようなanchor情報は「MPD@anchorPresentationTime」に表現されることができる。受信機は、anchorの値からセグメントの開始のpresentation timeを測定することができる。例えば、受信機は、「MPD@anchorPresentationTime」+「Period@start」+「Segment@presentationTimeOffset/Segment@timescale」で、セグメントの開始のpresentation timeを測定することができる。
ブロードバンドネットワークとブロードキャストネットワーク上で互いに異なる長さの遅延が発生し得る。この場合、受信機はブロードバンドに送信されるデータ(セグメント又はコンテンツ)を該当のデータが実際に消費される時間前に要請することが好ましい。よって、ブロードキャストに送信されるデータが受信される場合、このデータとブロードバンドに送信されたデータを一緒に消費することができる。このために、MPDにブロードバンドに送信されるセグメントに対して一定したオフセットを設定する情報である「SegmentBase@availabilitytimeOffset」を付け加えることができる。
図51は本発明の一実施例に係る放送信号を送信処理する手順及び放送信号を受信処理する手順を示したフローチャートである。
(a)を参照すると、送信機ではメディアに含まれるデータの一部を送信するセグメントを生成する(JS51010)。
送信機では、前記セグメントを一つ以上のデータユニットに分割し、ヘッダー(header)と前記データユニットの全部又は一部のデータを含むペイロード(payload)を含むパケットを生成する(JS51020)。
送信機では、前記パケットを含む放送信号を生成し、前記放送信号を送信する(JS51030)。
前記過程で、送信機は、前記ヘッダーがTOI(Transport Object Identifier)エレメントを含むとともに前記TOIエレメントが前記ペイロードを送信するデータに含まれる前記セグメントを識別するセグメント識別エレメント及び前記データユニットを識別するデータユニット識別エレメントを含むように処理することができる。
(b)を参照すると、受信機は一つ以上のパケットを含む放送信号を受信する(JS51110)。
受信機は前記一つ以上のパケットをパーシングする(JS51120)。ここで、前記パケットは、ヘッダー(header)とデータユニットの全部又は一部のデータを含むペイロード(payload)を含むことができる。
受信機は、前記一つ以上のパケットから一つ以上のデータユニットを抽出し、メディアに含まれるデータの一部を送信するセグメントを生成する(JS51130)。
受信機は前記セグメントを用いてメディアをデコードする(JS51140)。
ここで、前記ヘッダーはTOI(Transport Object Identifier)エレメントを含み、前記TOIエレメントは前記ペイロードが送信するデータが含まれる前記セグメントを識別するセグメント識別エレメントと前記データユニットを識別するデータユニット識別エレメントを含むことができる。
説明された放送信号の送信及び/又は受信処理過程は、一つの実施例として、各処理過程で、本明細書で前述した一つ以上のデータ処理動作が付け加えられることができる。あるいは、この図面で説明した過程の一部処理過程は省略することができる。
図52は本発明の一実施例に係る送信機及び受信機を示した図である。
(a)を参照すると、送信機J52010は、データエンコーダーJ52020、パケットエンコーダーJ52030、放送信号送信部J52040及び/又はシグナリングエンコーダーJ52050を含むことができる。
データエンコーダーJ52020はメディアに含まれるデータの一部を送信するセグメントを生成する。
パケットエンコーダーJ52030は前記セグメントを一つ以上のデータユニットに分割し、ヘッダー(header)と前記データユニットの全部又は一部のデータを含むペイロード(payload)を含むパケットを生成する。
放送信号送信部J52040は前記パケットを含む放送信号を生成し、前記放送信号を送信する。
ここで、前記ヘッダーはTOI(Transport Object Identifier)エレメントを含み、前記TOIエレメントは前記ペイロードが送信するデータが含まれる前記セグメントを識別するセグメント識別エレメントと前記データユニットを識別するデータユニット識別エレメントを含むことができる。
シグナリングエンコーダーJ52050はシグナリング情報を生成する。シグナリングエンコーダーJ52050は送信機に含まれた一つ以上の装置に生成されたシグナリング情報を伝達することができる。
この図の送信機には、本明細書で前述した送信機の各装置のいずれか一つ以上の装置が付け加えられることができる。
(b)を参照すると、受信機J52110は、チューナーJ52120、ALC/LCT+クライアントJ52130、DASHクライアントJ52140及び/又はメディアデコーダーJ52150を含むことができる。
チューナーJ52120は一つ以上のパケットを含む放送信号を受信する。
ALC/LCT+クライアントJ52130は前記一つ以上のパケットをパーシングする。ここで、前記パケットはヘッダー(header)とデータユニットの全部又は一部のデータを含むペイロード(payload)を含むことができる。
DASHクライアントJ52140は前記一つ以上のパケットから一つ以上のデータユニットを抽出し、メディアに含まれるデータの一部を送信するセグメントを生成する。
メディアデコーダーJ52150は前記セグメントを用いてメディアをデコードする。
ここで、前記ヘッダーはTOI(Transport Object Identifier)エレメントを含み、前記TOIエレメントは前記ペイロードが送信するデータが含まれる前記セグメントを識別するセグメント識別エレメントと前記データユニットを識別するデータユニット識別エレメントを含むことができる。
この図の受信機には、本明細書で前述した受信機の各装置のいずれか一つ以上の装置が付け加えられることができる。
モジュール、処理部、デバイス又はユニットはメモリ(又は格納ユニット)に格納された連続した遂行過程を行うプロセッサであってもよい。前述した実施例に記述された各段階はハードウェア/プロセッサによって遂行されることができる。前述した実施例に記述された各モジュール/ブロック/ユニットはハードウェア/プロセッサとして動作することができる。また、本発明が提示する方法はコードとして実行されることができる。このコードはプロセッサが読める記録媒体に書き込まれることができ、よって装置(apparatus)が提供するプロセッサによって読み込まれることができる。
本発明による方法発明はいずれも多様なコンピュータ手段によって遂行可能なプログラム命令の形態に具現されてコンピュータ可読の媒体に記録されることができる。
前記コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを単独で又は組合せで含むことができる。前記媒体に記録されるプログラム命令は本発明のために特別に設計されて構成されたものであるか、あるいはコンピュータソフトウェアの当業者に知られて使用可能なものであることができる。コンピュータ可読記録媒体の例には、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体(magnetic media)、CD−ROM、DVDのような光記録媒体(optical media)、フロプチカルディスク(floptical disk)のような磁気−光媒体(magneto−optical media)、及びロム(ROM)、ラム(RAM)、フラッシュメモリなどのプログラム命令を記憶して遂行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラーによって作われるもののような機械語コードだけではなくインタープリターなどを用いてコンピュータによって実行可能な高級言語コードを含む。前記ハードウェア装置は、本発明の動作を遂行するために、一つ以上のソフトウェアモジュールとして作動するように構成されることができ、その逆もまた同様である。
以上のように、本発明をたとえ限定された実施例及び図面に基づいて説明したが、本発明は前記実施例に限定されるものではなくて、本発明が属する分野で通常の知識を持った者であれば、このような記載から多様な修正及び変形が可能である。したがって、本発明の範囲は説明された実施例に限って決定されてはいけなく、後述する特許請求範囲だけではなくこの特許請求範囲と均等なものなどによって決定されなければならない。
したがって、本発明は添付の請求項及びその同等な範囲内で提供される本発明の変更及び変形を含むものに意図される。
本明細書で装置及び方法発明が共に言及され、装置及び方法発明の説明は互いに補って適用されることができる。
発明の実施のための形態は、前述したように、発明の実施のための最善の形態に詳述された。