【文献】
Gerard Fernando, et al.,Technologies under Consideration(TuC)for MMT,ISO/IEC JTC1/SC29/WG11 N12335,2011年12月 1日
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0014】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
【0015】
添付の図面を参照した下記の説明は、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるような本発明の実施形態の包括的な理解を助けるために提供するものである。この理解を助けるための様々な特定の詳細を含むが、唯一つの実施形態に過ぎない。従って、本発明の範囲及び趣旨を逸脱することなく、ここに説明する実施形態の様々な変更及び修正が可能であるということは、当該技術分野における通常の知識を有する者には明らかである。また、明瞭性と簡潔性の観点から、当業者に良く知られている機能や構成に関する具体的な説明は、省略する。
【0016】
次の説明及び請求項に使用する用語及び単語は、辞典的意味に限定されるものではなく、発明者により本発明の理解を明確且つ一貫性があるようにするために使用する。従って、特許請求の範囲とこれと均等なものに基づいて定義されるものであり、本発明の実施形態の説明が単に実例を提供するためのものであって、本発明の目的を限定するものでないことは、本発明の技術分野における通常の知識を持つ者には明らかである。
【0017】
本願明細書に記載の各要素は、文脈中に特に明示しない限り、複数形を含むことは、当業者には理解できるものである。したがって、例えば、コンポーネント表面(a component surface)”との記載は、1つ又は複数の表面を含む。
【0018】
まず、本発明で使われる用語は、次のように定義される。
【0019】
−順方向エラー訂正(FEC:Forward Error Correction)符号:エラー又は消去シンボル(erasure symbol)を訂正するためのエラー訂正符号
−FECフレーム:保護しようとするデータをFEC符号化により生成される符号語であり、情報部分とパリティ部分又はリペア部分で構成される。
【0020】
−シンボル:FEC符号により処理されるデータ単位
−情報シンボル:FECフレームの情報部分である保護されないデータ及び/又はパディングシンボル
−符号語(codeword):情報シンボルをFEC符号化して生成されるFECフレーム
−パリティシンボル:情報シンボルをFEC符号化して生成されるFECフレームのパリティシンボル
−パケット:ヘッダーとペイロードで構成される伝送単位
−ペイロード:送信器により伝送され、パケット内に位置するユーザーデータの一部。
【0021】
−パケットヘッダー:ペイロードを含むパケットのためのヘッダー
−ソースペイロード:少なくとも1のソースシンボルで構成されるペイロード
−情報ペイロード:少なくとも1の情報シンボルで構成されるペイロード
−パリティペイロード:少なくとも1のパリティシンボルで構成されるペイロード
−ソースブロック:各々一つ以上のソースペイロードで構成されるペイロードの集合。
【0022】
−情報ブロック:各々一つ以上の情報ペイロードで構成されるペイロードの集合。
【0023】
−パリティブロック:各々一つ以上のパリティペイロードで構成されるペイロードの集合。
【0024】
−FECブロック:符号語の集合、及び/又は各々情報ブロックとパリティブロックで構成されるペイロードの集合。
【0025】
−FEC配信ブロック:各々ソースブロックとパリティブロックで構成されるペイロードの集合
−FECパケット:FECブロックを搬送するパケット。
−ソースパケット:ソースブロックを搬送するパケット。
−リペアパケット:リペアブロックを伝送するパケット。
【0026】
−FECパケットブロック:FEC配信ブロックを伝送するためのパケットの集合。
−MMT(MPEG Media Transport):MPEGデータを效率的に伝送するために設定される国際標準。
【0027】
−ソースフロー:ソースフローは、一つのMMTサーバから一つ以上のMMTクライアントへ一つ以上のMMTアセット(asset)を配信するために、同一のソースフロー識別子により識別されるソースペイロードのシーケンスである。
【0028】
−パリティフロー:パリティフローは、同一のパリティフロー識別子により識別され、ソースフローを保護するためのFEC符号化により生成されるパリティペイロードのシーケンスである。
【0029】
−FECフロー:FECフローは、ソースフロー及びそれに関連した一つ以上のパリティフローで構成される。
【0030】
−FECペイロード識別子(ID:IDentifier):FECソースパケットにより搬送される情報ペイロード及び/又はサブペイロード、及び/又はFECパリティパケットにより搬送されるパリティペイロードを識別する情報。
−FECソースペイロードID:ソースパケットに対するFECペイロードID。
−FECパリティペイロードID:パリティパケットに対するFECペイロードID。
−アクセスユニット(AU:Access Unit):アクセスユニットは、時間情報が属性化されることが可能な最小データエンティティであり、ノンタイム(non−timed)データの場合、時間情報が関連しておらず、AUは定義されない。
【0031】
−メディアフラグメントユニット(MFU:Media Fragment Unit):MFUは、一般的なコンテナであり、特定メディアコーデックから独立的であり、メディアデコーダにより独立的に消費可能な符号化したメディアデータを含む。MFUは、AU以下であり、階層を伝達して活用されることが可能な情報を含む。
【0032】
−MMTプロセッシングユニット(MMT processing unit):一般的なコンテナであり、特定メディアコーデックから独立的であり、一つ以上のAU、及び追加的な伝達及び消費関連情報を含む。ノンタイムデータの場合、MPUは、識別されたAU境界なしにデータの一部分を含み、MMTで完全に及び独立的に処理されることが可能な符号化されたメディアデータユニットを定義する。このようなコンテキスト処理は、伝達のためにMMTパッケージ及び/又はパケット化(packetization)へのカプセル化(encapsulation)をすることを意味する。
【0033】
−MMTアセット:MMTアセットは、一つ以上のMPUで構成される論理データエンティティである。MMTアセットは、同一の構成情報と転送特性が適用される最大データユニットである。MMTアセットは、パッケージ及び/又は多重化データ、例えばオーディオES(Elementary Stream)の一部分、ビデオESの一部分、MPEG−Uウィゼットパッケージ(MPEG-U Widget Package)、MPEG−2TSの一部分、MPEG4(MP4)ファイルの一部分、及びMMTパッケージの一部分を含むデータタイプの一つの種類のみを含む。
【0034】
−MMT構成情報(MMT−CI:MMT-Composition Information):MMT−CIは、MMTアセットの空間及び時間の構成に関して記述される。
【0035】
−伝送のためのMMTメディア特性(MMT−MCTMMT-Medeia Characteristics for Transmission):MMT−MCTは、MMTアセットの伝送のために要求されるQoS(Quality of Service)に対する記述である。MMT−MCTは、特定伝送環境に対する慣用的なパラメータにより表現される。
【0036】
−MMTパッケージ:MMPパッケージは、データの論理的に構造化されたコレクション(collection)であり、一つ以上のMMTアセット、MMT−CI、及びMMT−MCTで構成される。MMTパッケージは、識別子のような記述的情報(descriptive information)が割り当てられてもよい。
【0037】
−MMTペイロードフォーマット(MMT−PF:MMT-Payload Format):MMT−PFは、MMTプロトコル及び/又はインターネットアプリケーション階層プロトコル、例えばRTP(Real Time Protocol)により搬送されるMMTパッケージ及び/又はMMTシグナリングメッセージのペイロードのフォーマットである。
【0038】
−MMT転送パケット(MMTP:MMT Transport Packet):MMTPは、IPネットワークを介してMMT−PFを配信するアプリケーション階層プロトコルである。
【0039】
ここで使用される用語‘パリティ’と‘リペア’は同一の意味であり、相互に代替使用が可能である。
【0040】
図1A及び
図1Bは、本発明の一実施形態によるネットワークトポロジー及びデータフローを示す。
【0041】
図1Aを参照すると、ネットワークトポロジーは、送信器として動作するホストA102と受信器として動作するホストB108を含む。ホストA102は、一つ以上のルータ104及び106を介してホストB108に接続される。ホストA102及びホストB108は、イーサネット(登録商標)118,122を介してルータ104,106に接続され、ルータ104,106は、光ファイバ、衛星通信及び/又はイーサネット(登録商標)120のような可能な他の物理的ネットワークを介して相互に接続され得る。ホストA102とホストB108との間のデータフローは、リンク階層116、インターネット階層114、トランスポート階層112、及びアプリケーション階層110によりなされる。
【0042】
図1Bを参照すると、アプリケーション階層110は、AL−FEC(Application Layer-FEC)により、伝送しようとするデータ130を生成する。データ130は、オーディオ/ビデオ(AV)コーデックで圧縮されたデータをRTP(Real Time Protocol)を用いて分割して生成されたRTPパケットデータ、及び/又はMMTにより生成されたMMTパケットデータであり得る。データ130は、トランスポート階層112により、例えばUDP(User Datagram Protocol)ヘッダーが挿入され及びUDPデータを含むUDPパケット132に変換される。インターネット階層114は、UDPパケット132にIPヘッダーを取り付けてIPパケット134を生成する。リンク階層116は、IPパケット134にフレームヘッダー及び必要な場合にフレームフッター(frame footer)138を添付して伝送されるフレーム136を構成する。
【0043】
図2は、本発明の実施形態によるMMTシステムを示す構成図である。
【0044】
図2を参照すると、左側はMMTシステムの構成を示し、右側は配信機能(Delivery Function)の細部構成を示す。メディア符号化階層205は、オーディオ又は/及びビデオデータを圧縮し、カプセル化機能階層(E.Layerとも称される:encapsulation function layer)210に伝送する。カプセル化機能階層210は、圧縮されたオーディオ及び/又はビデオデータをファイルフォーマットと類似した形態でパケット化及び/又はカプセル化して配信機能階層(D.Layerとも称される:delivery function layer)220に配信する。
【0045】
配信機能階層220は、カプセル化機能階層210の出力をMMTペイロードにフォーマット化した後、MMT転送パケットヘッダーを付加してMMT伝送パケットの形態で転送プロトコル階層230に伝達する。あるいは、転送機能階層220は、カプセル化機能階層210の出力を既存RTPプロトコルを用いてRTPパケット形態で転送プロトコル階層230に伝達する。その後、転送プロトコル階層230は、入力されるRTPパケットをUDP及びTCP(Transmission Control Protocol)パケットのうちいずれか一つに変換した後に、IP階層240に伝送する。最後に、IP階層240は、転送プロトコル階層230の出力をIPパケットに変換してIPプロトコルを用いて伝送する。
【0046】
本発明の実施形態によるFECパケットは、MMTペイロードフォーマット、MMT伝送パケット、及びRTPパケットのうち少なくとも一つの形態で使用可能である。制御機能階層(C.Layerとも称される)200は、プレゼンテーションセッションと配信セッションを管理する。
【0047】
図3は、本発明の一実施形態によるMMTパッケージの構成を示す。
【0048】
図3に示すように、MMTパッケージ310は、ネットワークの伝送機能階層330−1,330−2を通じてクライアント350と送受信され、MMTアセット303−1〜303−3、構成情報301、及び転送特性305−1,305−2を含む。MMTパッケージ310は、設定(configuration)情報を活用できる。この設定情報は、MMTアセット303−1〜303−3のリスト、構成情報301、及び転送特性305−1,305−2で構成される。
【0049】
記述情報(description information)は、MMTパッケージ310とMMTアセット303−1〜303−3を記述する。構成情報301は、MMTアセット303−1〜303−3の消費を助ける。転送特性305−1,305−2は、MMTアセット303−1〜303−3の配信に関する情報を提供する。MMTパッケージ310は、各MMTアセット別転送特性を記述する。転送特性305−1,305−2は、エラー耐性(Error Resiliency)情報を含み、少なくとも一つのMMTアセットのための単純転送特性(Simple Transport Characteristic)情報は、損失され、あるいは損失されないことがある。また、転送特性305−1,305−2は、各MMTアセットのQoS(Quality of Service)情報と許容損失及び許容遅延情報を含むことができる。
【0050】
図4は、本発明の一実施形態により、MMTパッケージに含まれた設定情報及びそのサブ情報の構成を示す。
【0051】
図4に示すように、設定情報310は、パッケージの識別情報312、パッケージの構成要素であるアセットリスト情報314、構成情報316、転送特性318、及びコンテンツと共である付加情報を含み、これら構成要素がパッケージに含まれる方法と場所を示す構成的情報を提供する。
【0052】
図5は、本発明の一実施形態によるFECパケットフォーマットを示す。
【0053】
ソースペイロード520は、共通ヘッダー522、オプショナルヘッダー524、及びデータ528を含む。ソースペイロード520に対するFECパケットであるFECソースパケット510は、共通ヘッダー512、オプショナルヘッダー514、ソースペイロード520に対するFECペイロードID516、及びデータ518で構成される。FECソースパケット510は、共通ヘッダー512、オプショナルヘッダー514、及びデータ518で構成されたソースペイロード520に、それに対するFECペイロードID516を追加することにより生成される。
【0054】
パリティペイロード540に対するFECパケットであるFECパリティパケット530は、共通ヘッダー532、パリティペイロードのためのFECペイロードID536、及びパリティペイロード538で構成される。FECパリティパケット530は、FEC符号化により生成されたパリティペイロード538に共通ヘッダー532、パリティペイロードのためのFECペイロードID536を追加することにより生成される。
【0055】
図5で、FECペイロードID516がデータ518及び/又はパリティペイロード538の前に配置されていると仮定するが、本発明はこれに限定されるものではない。FECペイロードID516は、データ518及び/又はパリティペイロード538の後に配置してもよいし、及び/又は任意の類似及び/又は適切な位置に配置してもよい。
【0056】
共通ヘッダー512又は共通ヘッダー532又は共通ヘッダー522のような他の共通ヘッダーであり得る上記の共通ヘッダーは、FECパケット内に同一の位置に配置することが望ましい。上記の共通ヘッダーは、共通ヘッダー512,522,又は532を含む。また、上記共通ヘッダーは、FECパケット受信器で受信されたFECパケットがFECソースパケットであるか、あるいはFECパリティパケットであるかを容易に判定可能なようにタイプ情報フィールドを含む。さらに、共通ヘッダーは、共通ヘッダー512,522,又は532を含むが、FECが適用されるか否かを表す情報フィールドを含むことができる。この場合、FECが適用されるか否かを表す情報フィールドは、FECパケットとは異なる制御情報を伝送するための別のパケットに格納されて転送される。FECソースパケットのデータは、様々なデータタイプを有し、様々なデータは、例えばオーディオデータ、ビデオデータ、ファイルデータ、タイムデータ、ノンタイムデータ、MPU、MFUなどであり得る。これら多様なデータタイプは、共通ヘッダー(共通ヘッダー512,522,又は532)のタイプフィールドの値で区分できる。特に、FECパリティパケット530の場合に、パリティパケットは、共通ヘッダー532のタイプフィールドの値をパリティを表す情報として設定することにより、ソースパケットと区別され得る。複数のパリティがある場合には、それらは別々に区別される。例えば、2段階の符号化構成である場合、パリティ1とパリティ2は、追加的に区分される。
【0057】
ここで、使用される用語‘共通ヘッダー情報’は、データペイロードに関するヘッダー情報のうち、パリティペイロードに共通に適用される情報フィールドを有するヘッダーを意味する。共通ヘッダー情報は、受信されたパケットがデータペイロードのためのパケットであるか、あるいはパリティペイロードのためのパケットであるかを判定可能にする情報を含む。加えて、FECが、受信されたFECパケットに適用されるか否かを表す情報は、FECパケット内で搬送されるか、又はFECパケットと異なる別途の制御情報のためのパケットにより搬送される。FECが適用されるか否かを表す共通ヘッダー情報は、ソースペイロードが生成される場合、すなわちFEC符号化前に、共通ヘッダーにFECが適用されることを表し、その後に、FEC符号化が遂行される。あるいは、FECが適用されるか否かを示す共通ヘッダー情報は、ソースペイロードが生成される場合に共通ヘッダーでFECが適用されないことを表し、FECの符号化後に、ソースペイロードにそれに対するFECペイロードIDを追加してソースペイロードのためのFECパケットが生成される場合、FECが適用されることを表すことができる。後者の場合、受信器は、ソースペイロードのための受信されたFECパケットが、FECが適用されたパケットであることを認識し(例えば判定し)、共通ヘッダーのFEC適用可否情報を、再び適用されないことに変更し、その後にソースペイロードのためのFECパケットを生成してFEC復号化を遂行する。それによって、共通ヘッダーがFECパケットの前又は後のように固定位置に配置されることにより、受信器は、受信されたFECパケットがデータペイロードのためのパケットであるか、あるいはパリティペイロードのためのパケットであるかを判定する。
【0058】
下記の<表1>は、本発明による共通ヘッダーの一実施形態のように、FECが適用されるか、受信されたパケットがFECソースパケットであるか、及び受信されたパケットがFECリペアパケットであるかを示すMMTパケットのFECタイプ情報を示す。
【0059】
【表1】
<表1>において、FECタイプ=0は、FECが適用されないMMTパケットを示す。FECタイプ=1は、FECが適用されるMMTパケットを表す。FECタイプ=2は、FEC符号化後に生成されるパリティペイロードに対するMMTパケットを表す。
【0060】
送信器は、送信機がFECを適用して伝送するデータに対して、FECタイプが‘1’に設定されるMMTパケット、すなわちソースペイロードを生成し、その後に、情報ペイロードを生成してから、パリティペイロードを生成するためにFEC符号化を遂行する。
FEC符号化により生成されたパリティペイロードでは、FECタイプが‘2’に設定されるMMTヘッダー、MMTペイロードヘッダー、及びパリティペイロードに対するFECペイロードIDを追加してパリティペイロードのためのFECパケットを生成し、その後に、FECパリティパケット530のようにパリティペイロードのためのFECパケットが、FECソースパケット510のようにソースペイロードのためのFECパケットと共に伝送される。受信器は、受信されたMMTパケットのMMTパケットヘッダーのFECタイプ情報に基づき、FECが受信されたパケットに適用されるか否か及びこの受信されたパケットがFECソースパケットであるか、あるいはFECリペアパケットであるかを判定し、FECが適用されたFECソースパケットとFECリペアパケットを用いてFEC復号化を遂行し、それによってパケットの伝送中に損失されたパケットを回復する。
【0061】
あるいは、送信器は、FECを適用して伝送しようとするデータに対して、FECタイプが‘0’に設定されるMMTパケットを生成し、その後に情報ペイロードを生成し、パリティペイロードを生成するためにFEC符号化を遂行する。FEC符号化の遂行後にMMTパケットにFECペイロードIDを追加してソースペイロードのためのFECソースパケットを生成する場合、送信器は、MMTパケットヘッダーのFECタイプを‘1’に変更する。言い換えれば、FECが適用されるMMTパケットの場合に、MMTパケットは、FECタイプが‘0’に設定されてFECモジュールに入力され、FEC符号化後にソースペイロードのためのFECパケットの場合には、FECタイプが‘1’に設定される。FEC符号化により生成されたパリティペイロードに対して、送信器は、FECタイプ=2であるMMTヘッダー、MMTペイロードヘッダー、及びパリティペイロードに対するFECペイロードIDを追加してパリティペイロードのためのFECパケットを生成し、その後にソースペイロードのためのFECパケットと共に伝送する。受信器は、受信されたMMTパケットのMMTパケットヘッダーのFECタイプ情報に基づき、FECが受信されたパケットに適用されるか及び受信されたパケットがFECソースパケットであるか、あるいはFECリペアパケットであるかを判定し、その後にFECが適用されたFECソースパケット(FECタイプ=1)とFECリペアパケット(FECタイプ=1)を有するFECソースパケットを用いてFECソースパケットからFECペイロードIDを除去し、FECタイプ=0にFECタイプを変更してソースペイロードのためのMMTパケットに変換し、FECリペアパケットのパリティペイロードでFEC復号化を遂行し、それによってパケットの伝送中に損失されたパケットを回復する。
【0062】
FECソースパケット510のオプショナルヘッダー514は、ソースパケットのみに適用される情報であり、MPU及び/又はMFUのフラグメンテーション状態情報、ヘッダー長情報、及び該当パケットのデータに関連したアセットの識別を表す情報のうち少なくとも一つを含む。本発明の実施形態でこの情報がアセットIDであるが、アセットIDにマッピングされる圧縮されたアセットID(例えばパケットID)情報を伝送して伝送効率を高めることが好ましい。この場合、アセットIDとそれにマッピングされる圧縮されたアセットID情報は、帯域外信号を通じて、帯域外方式で送信される。
【0063】
上記パケットのデータに関連したアセットの識別を表す情報、例えばパケットIDは、共通ヘッダーに含まれてもよい。この場合、同一の値又は異なる値を有するパケットIDは、FECリペアパケットの共通ヘッダーにも格納され、これら間の関係は、帯域外信号で表される。例えば、ソースパケットのためのパケットID値を有するパケットをFEC適用することにより生成されるFECリペアパケットのパケットID値が知られ、それによって受信器は、該当ソースパケットを復旧するためのFECリペアパケットを、FECリペアパケットの共通ヘッダーのパケットIDに基づいて決定することができる。
【0064】
FECヘッダーの場合、情報ブロック生成方法、FEC制御情報、FEC関連制御情報配置方法に基づき、ソースパケットのためにFECペイロードIDとパリティパケットに対するFECペイロードIDが相互に同一であり、あるいは異なることができる。FECペイロードID情報は、FECフロー情報、FEC符号化構成情報、ソースパケットカウント(count)情報又はソースパケットの個数、情報ペイロードカウント情報、パリティパケットカウント情報、FECブロック内で情報ペイロードとパリティペイロードのインデックスを表す情報であるソース/パリティパケットシーケンス番号又は情報/パリティペイロードIDのようなパケットシーケンス番号、及びブロック境界情報又はソースブロック番号のうち少なくとも一つを含む。
【0065】
下記の<表2>は、本発明による共通ヘッダーの他の実施形態として、MMTパケットにFECソースペイロードIDが付着されているか否か、MMTパケットがFECリペアパケットであるか、あるいはFECパリティパケットであるかを示すFECタイプ及び/又はMMTパケットタイプ情報を示す。
【0066】
【表2】
FECタイプ=0は、FEC適用されないMMTパケットを表す。あるいは、FECタイプ=0は、FEC適用され、別のFECソースペイロードIDのないMMTパケットを表す。FECが適用される場合に、FECが全体MMTパケットフローに適用されるように、MMTパケットヘッダーに格納されているシーケンス番号として機能するpacket_counterは、FECソースペイロードIDを代替することができる。FECが適用される場合のもう一つの実施形態では、一つのアセットがFEC保護される場合、アセットのためのパケットシーケンス番号は、MMTパケットヘッダーに格納されて配信され、パケットシーケンスカウンタは、FECソースペイロードIDに代替できる。MMTパケットフロー全体をFEC保護するか、あるいは一つのアセットをFEC保護するかに関して、帯域外信号は、MMTパケットフロー全体がFEC保護することを示し、あるいは一つのアセットに該当するAsset_ID、又は圧縮されたアセットID、例えばpacket_IDがFEC保護されることを示すために使用され、あるいはMMTパケットフロー全体がFEC保護されることを示すフラグ情報はMMTパケットヘッダーに格納され、あるいは一つのアセットがFEC保護される場合、一つのみのアセットが保護されることを示すフラグ情報は、アセットのためのMMTパケットヘッダーに格納され、帯域内信号を用いて伝送され得る。あるいは、MMTパケットフロー全体がFEC保護されるかあるいは一つのアセットがFEC保護さあれるか、あるいは該当FECリペアパケットにより保護されるアセットのアセットID情報を表すフラグ情報は、FECリペアパケットのMMTパケットヘッダー又はFECリペアペイロードIDに格納及び配信される。
【0067】
FECタイプ=0は、FEC適用されないMMTパケットを表し、あるいはFEC適用され、別のFECソースペイロードIDなしのMMTパケットを表す。
【0068】
FECタイプ=1は、FEC適用され、FECソースペイロードIDを有するMMTパケットを表す。
【0069】
FECタイプ=2は、FEC符号化以後に生成されるパリティペイロードのためのMMTパケットを表す。
【0070】
下記の<表3>は、もう一つのFECタイプの実施形態を示す。
【0071】
【表3】
FECタイプ=0は、FEC保護されないMMTパケットを表す。
【0072】
FECタイプ=1は、FEC保護され、別のFECソースペイロードIDを有しないMMTパケットを表す。<表3>のFECタイプ=1は、FECが適用されるFECタイプ=0と同一である。
【0073】
FECタイプ=2は、FEC保護され、FECソースペイロードIDを有するMMTパケットを表す。
【0074】
FECタイプ=3は、FEC符号化以後に生成されるパリティペイロードのためのMMTパケットを表す。
【0075】
図2に示すMMTシステムにおいて、FECパケットは、FECが適用される場合に、MMT D.1階層の出力として、MMT D.2階層又はRTPのようなアプリケーションプロトコルで入力される。しかしながら、FECが適用されない場合、FECパケットは、FECペイロードIDが不要であるため、ソースペイロードとなり、MMT D.1階層の出力である。
図2に示されていないが、本発明の実施形態によるFECパケットは、FECが適用される場合にFECペイロードIDを含み、FECが適用されない場合、FECパケットはFECペイロードIDなしでありソースペイロードその自身である。
【0076】
MMTサーバは、MMTクライアントに一つ又は複数のMMTアセットを伝送する。各アセットは、一つ又は複数のMPUで構成され、各MPUは、D.1階層で一つ又は複数のMMTペイロードフォーマット(MMT−PFs)にパケット化される。MMT転送パケット(MMT−TP)は、D.2ヘッダーを付加して生成され、下位階層に転送される。複数のMMTアセット伝送を有する場合、各アセットのためのMMT−TPのD.2ヘッダーは、それぞれのアセットを識別するための情報、例えばAsset_IDを格納して転送される。これは、転送されるそれぞれのMMT−TPが搬送されるアセットのデータを表す。転送される複数のMMTアセットは、個別的なMMTアセットに対して1つのソースフローを構成し、FECにより一つのパリティフローが生成されて保護される。あるいは、2つ以上のアセットが一つのソースフローを構成し、FECにより一つのパリティフローが生成されて保護される。一部のアセットはFECにより保護され、他のアセットはFECにより保護されないことができる。例えば、2段階のFEC符号化構成又は階層−アウェア(Layer−aware:LA−)FEC符号化構成において、一つのソースフローに2つ以上のパリティフローが生成され、保護され得る。
【0077】
FECにより保護される場合、一つ又は複数のMMTアセットで構成される一つのソースフローは、FECにより生成されるパリティフロー内のパリティペイロードをMMTアセットのようにMMT−TPに変換した後に伝送され、それぞれのD.2ヘッダーは、パリティペイロードを識別するための情報、例えばアセットIDを格納して転送される。例えば、2段階のFEC又はLA(Layer−Aware)−FEC符号化構成において、2つ以上のパリティフローが生成される場合、それぞれのパリティフローは、パリティフローIDで区分できる。この場合、伝送されるFECフローの個数に対応するFECフローIDは、FEC帯域外信号として定義され、それぞれのFECフローIDに該当するソースフローとパリティフローに関するマッピング情報は提供される。
【0078】
例えば、ビデオアセット、オーディオアセット、ウィジェットアセット、及びファイルアセットが伝送される場合、ビデオ、オーディオ、及びウィジェットアセットが一つのソースフローで構成され、2段階のFEC符号化構成で保護され、ファイルアセットがもう一つのソースフローで構成され、1段階のFEC符号化構成で保護される場合、FEC帯域外信号は、次のような情報を伝送する。
【0079】
−ビデオアセット:Asset_ID=1
−オーディオアセット:Asset ID=2
−ウィジェットアセット:Asset ID=3
−ファイルアセット:Asset ID=4
−FECフローの個数=2
■FECフローID=1
FEC符号化構成:2段階のFEC符号化構成
ソースフロー:Asset ID1,2,3
パリティフロー1:Asset ID101
パリティフロー2:Asset ID102
■FECフローID=2
FEC符号化構成:1段階のFEC符号化構成
ソースフロー:Asset ID4
パリティフロー:Asset ID103、さらに
−ビデオアセットを伝送するMMT TPヘッダーのAsset ID=1
−オーディオアセットを伝送するMMT TPヘッダーのAsset ID=2
−ウィジェットアセットを伝送するMMT TPヘッダーのAsset ID=3
−パリティフロー1を伝送するMMT TPヘッダーのAsset ID=101
−パリティフロー2を伝送するMMT TPヘッダーのAsset ID=102
−ファイルアセットを伝送するMMT TPヘッダーのAsset ID=4
−ファイルアセットのためのパリティフローを伝送するMMT TPヘッダーのAsset ID=103に設定される。
【0080】
受信器は、FEC帯域外信号とMMT TPヘッダー内のアセットID情報に基づき、1,2,3,101,102の値を有するアセットIDフィールドは、一つのFECフローを構成し、4,103の値を有するアセットIDフィールドは、もう一つのFECフローを構成するように決定することによって、FEC復号化を円滑に実行できる。
【0081】
図6は、本発明の一実施形態により、ソースペイロードがMMT転送パケットである場合のFECパケットフォーマットの構成を示す。
【0082】
図6を参照すると、ソースペイロード620のFECソースパケット610は、共通ヘッダー612及びオプショナルヘッダー614、D1ペイロードフォーマット616、及びFECペイロードID618で構成されるD2ヘッダー613を含む。FECパリティパケット630は、共通ヘッダー632、FECペイロードID636、及びパリティペイロード638で構成される。共通ヘッダー632には、アセットを区分するためのIDフィールドが構成され、パリティパケットの場合には、該当パリティフローを識別するためのID値が設定される。また、共通ヘッダー632は、グローバルシーケンス番号フィールド、配信時間スタンプフィールドを含むことができる。図示されていないが、
図6の場合、FECパリティパケット630に対して、共通ヘッダー632は、その次にオプショナルヘッダーが続く。すなわち、FECソースパケットのD2ヘッダー613は、共通ヘッダー632及びオプショナルヘッダーを含むFECパリティパケットのD2ヘッダ(図示せず)と同一であり得る。これについて、MMT TPヘッダーがプロトコル機能を遂行するため、ネットワークエンティティは、ネットワークの混雑状況に従ってパケットを廃棄(drop)させる場合、FECパリティパケットを廃棄させることもできる。したがって、FECパリティパケットは、FECソースパケットと同一のヘッダー構成を有することができる。
【0083】
図7は、本発明の一実施形態により、ソースペイロードがMMTペイロードフォーマットであるFECパケットフォーマットの構成を示す。
【0084】
ソースペイロード720のFECソースパケット710は、MMT TPヘッダー712と、共通ヘッダー714及びオプショナルヘッダー716で構成されるD1ヘッダー713と、D1ペイロード718と、及びFECペイロードID720とで構成される。FECパリティパケット730は、MMT TPヘッダー732と、共通ヘッダー736と、FECペイロードID738と、及びパリティペイロード740とで構成される。この場合、MMT TPヘッダー732のアセットIDフィールドが具備される。FECソースパケット710のためのアセットIDフィールドにおいて、それぞれのアセットを識別するためのID値が設定される。FECパリティパケット730のためのアセットIDフィールドにおいて、パリティフローを識別するためのID値が設定される。共通ヘッダー714,736は、
図5と同一の情報を格納する。
【0085】
図8は、本発明の一実施形態による送信装置を示すブロック構成図である。
【0086】
図8を参照すると、FEC制御情報生成部601は、FECが適用されるか否かを判定し、FECが適用される場合にはFEC関連制御情報を生成する。ソースペイロード生成部603は、上位カプセル化階層からMMTアセットの伝送のためのデータストリームを受信し、これを所定サイズのデータペイロードに分け、これに共通ヘッダーとオプショナルヘッダーを付加してソースペイロードを生成する。FEC制御情報生成部601からのFEC制御情報に基づき、ソースペイロード生成部603は、同一のFECフローを有するソースペイロードのシーケンスから所定個数のソースペイロードで構成されるソースブロックを情報ブロック生成部605に伝送する。
【0087】
情報ブロック生成部605は、FEC制御情報に基づき、ソースペイロード生成部603から受信したソースブロックから情報ブロックを生成し、FECエンコーダ607に情報ブロックを出力する。FECエンコーダ607は、入力された情報ブロックとFEC制御情報に基づいて、所定のパリティデータを生成し、これをソースペイロード生成部603に入力する。ソースペイロード生成部603は、FEC制御情報に基づき、入力されたパリティデータでパリティペイロードを生成する。
【0088】
FECパケット生成部609は、パリティペイロードに共通ヘッダーとFECヘッダーを追加してFECパリティパケットを生成し、生成されたソースペイロードにFECヘッダーを追加してFECソースパケットを生成して最終FECパケットを送信部611に出力する。送信部611は、FECパケットを下位階層に伝送する。FECが適用されない場合、ソースペイロード生成部603及びFECパケット生成部609は、データストリームとFEC制御情報に従ってソースペイロードを生成し、これをFECパケットとして送信部611に伝送する。
図2に示したMMTシステムの場合に、FECパケットは、MMT D.2階層又はRTPのようなアプリケーションプロトコルで転送される。
【0089】
図示されていないが、制御部は、データストリームを所定サイズのデータペイロードに分け、各データペイロードにヘッダーを追加してソースペイロードを生成する。制御部は、ソースペイロードに第1のFECペイロードIDを追加し、FEC符号化を適用してソースペイロードのためのFECソースパケットを生成する。制御部は、少なくとも一つのパリティペイロードに第2のFECペイロードIDを追加し、FEC符号化を適用して少なくとも一つのパリティペイロードのためのFECパリティパケットを生成する。送信部611は、FECソースパケット及びFECパリティパケットを伝送する。
【0090】
図9は、本発明の一実施形態による受信装置を示すブロック構成図である。
【0091】
FECパケット受信部701は、パケットストリームを受信してから、該当パケットの共通ヘッダーに従って、FECがパケットに適用されるか、及び該当パケットがソースパケットであるかあるいはパリティパケットであるかを判定し、FECがパケットに適用される場合に、ソースパケットのFECヘッダーとパリティパケットのFECヘッダーからFEC関連制御情報を獲得してFEC制御部709に伝送する。複数のFECフローがある場合、FEC制御部709は、フロー別制御情報を区分して各フローに対してFEC復号化を遂行する。
【0092】
ソースペイロード再構成部703は、受信したFECパケットからFECが適用されないパケット、すなわちソースペイロードのデータをデータストリームの形態で伝送する。FECが適用される場合、ソースペイロード再構成部703は、同一のFECフローを有するパケットに受信されたソースペイロードとして受信されないソースペイロードを区分する。ソースペイロード再構成部703がFEC制御情報に基づいてすべてのソースペイロードを受信した場合、ソースペイロード再構成部703は該当するデータを出力する。
【0093】
そうでない場合、ソースペイロード再構成部703は、FECパリティパケットから受信したパリティペイロードを、受信したソースペイロードと共にFECブロック再構成部705に出力する。FECブロック再構成部705は、受信したソースペイロードとパリティペイロードから、FEC制御情報に基づいて情報ブロックとパリティブロックで構成されるFECブロックを、損失したペイロードを除去して再構成し、この再構成されたFECブロックをFECデコーダ707に出力する。
【0094】
FECデコーダ707は、FEC制御部709から受信したFEC制御情報に基づき、FEC復号化を遂行して損失された情報ペイロードを回復し、回復した情報ペイロードFECブロック再構成部705に出力する。FECブロック再構成部705は、FEC制御情報に基づき、必要時に、例えば受信されるソースペイロードから再構成された情報ペイロードを用いて、回復された情報ペイロードからソースペイロードを回復して、回復したソースペイロードをソースペイロード再構成部703に出力する。ソースペイロード再構成部703は、回復されたソースペイロードと受信したソースペイロードのデータを上位階層に伝送する。
【0095】
図9の実施形態において、FEC制御部709は、FEC関連制御情報の生成において、帯域内信号(In−band signal)を帯域外信号(Out−band signal)と区分する。FEC制御部709は、FECヘッダーとしてFECパケットで帯域内信号を伝送する。FEC制御部709は、
図2に示したMMTシステムの場合に、帯域外信号をC.Layer又はセッション記述プロトコル(SDP)を通じて受信器に伝送する。
【0096】
図示せず、IC(Integrated Circuit)のように適切なタイプのハードウェアであり得る制御部は、送信器から受信したパケットがFECソースパケットであるか、FECパリティパケットであるかを判定し、FECソースパケットからソースペイロードを獲得し、FECパリティパケットからパリティペイロードを獲得する。ソースペイロードは、データストリームを所定サイズのデータペイロードに分け、分けられたそれぞれのデータペイロードにヘッダーを付加して生成される。FECソースパケットは、ソースペイロードに第1のFECペイロードIDを追加し、FEC符号を適用して生成される。FECパリティパケットは、パリティペイロードに第2のFECペイロードIDが追加され、FEC符号を適用することにより生成される。
【0097】
図10は、本発明の一実施形態によるFECブロック生成部で情報ブロックを構成する一実施形態を示す。
【0098】
図10を参照すると、可変パケットサイズを有する8個のソースペイロードSPL#0〜SPL7を受信すると、FECブロック生成部は、それぞれのペイロードサイズを最大長さ、例えばS_maxを有するペイロードと同一にするためにパディングデータを追加した後に、8個の情報ペイロードIPL#0〜IPL#7で構成された情報ブロックを生成する。
図10の実施形態では、ソースペイロードの最大長S_maxと情報ペイロード長を同一に設定したが、本発明はこれに限定されるものでなく、情報ペイロードの長さは、システムの複雑度及びメモリ要求事項及び他の同様の適切な理由に従って、S_maxより小さい値を有することができる。
【0099】
図11は、本発明の他の実施形態による情報ブロックを構成する動作を示す。
【0100】
図11を参照すると、可変パケットサイズを有する6個のソースペイロードSPL#0〜SPL#5を受信すると、FECパケット生成部は、異なるサイズを有するペイロードを一列で配列し、情報ペイロードの最大長、例えばS_maxを単位として分割し、5個の情報ペイロードIPL#0〜IPL#4で構成される情報ブロックを生成する。最後の情報ペイロードIPL#4は、パディングデータを含んでもよい。
図11の実施形態において、ソースブロックの境界が情報ペイロードの境界と一致しないので、各ソースペイロードの長さのような情報ブロックからソースペイロードを抽出するために必要な情報は、情報ブロックに含め、あるいは別途の方式で受信器に伝送する。また、
図11の実施形態では、ソースペイロードの最大長S_maxと情報ペイロードの長さを同一に設定したが、情報ペイロードの長さは、システム複雑度及びメモリ要求事項に基づいてS_maxより小さく設定することができる。
【0101】
図8を参照すると、FECエンコーダ607は、所定のFEC符号化アルゴリズムを用いて入力情報ブロックからパリティシンボルを計算し、パリティシンボルで構成されるパリティペイロードを生成した後に、パリティペイロードをパリティブロックの形態で出力する。
【0102】
図12は、本発明の実施形態により、リードソロモン(RS)符号が使用される場合に情報ブロックの情報シンボルをマッピングするプロセスを示す。
【0103】
図13は、本発明の一実施形態によりLDPC符号が使用される場合に情報ブロックの情報シンボルをマッピングするプロセスを示す。
【0104】
図12及び
図13を参照すると、情報ブロックから情報ビットの個数Kが200以下である場合、FECエンコーダは、ソースブロックを情報ブロックにマッピングさせることにより、
図12に示すようにRS符号化のための情報シンボルを生成し、あるいはFECエンコーダは、
図13に示すようにLDPC符号化のための情報シンボルを生成することができる。
【0105】
図14は、本発明の一実施形態によるRSフレームの構成を示す。
【0106】
図15は、本発明の一実施形態によるLDPCフレームの構成を示す。
【0107】
図14及び
図15を参照すると、パリティシンボルは、
図14及び
図15に示すようにそれぞれの情報シンボルを、RSとLDPC符号化を遂行して生成される。
図15の場合に、短縮(shortening)及びパンクチャリング(puncturing)を図示していないが、パリティシンボルは、所定の長さを有するLDPC符号を用いて多様なK個の情報ビットとP個のパリティビットに対して短縮及びパンクチャリングを遂行して生成される。このとき、選択的に短縮のみを遂行してもよく、パンクチャリングのみを遂行してもよいことは、当業者には容易に理解できることである。
【0108】
図16は、本発明の実施形態により、RSパリティシンボルに対してマッピングするパリティブロックを示す。
【0109】
図17は、本発明の実施形態により、LDPCパリティシンボルに対してマッピングするパリティブロックを示す。
【0110】
図16及び
図17を参照すると、RSパリティブロックとLDPCパリティブロックは、
図16及び
図17に示すように、生成されたパリティシンボルから生成される。次に、RS及びLDPC符号詳細(specification)を示す。有限フィールドGF(2^8)上のRS(N,K)符号のプリミティブ多項式は、p(x)=x^8+x^4+x^3+x^2+1に定義される。GF(2^8)のシンボルは、(a^7,a^6,a^5,a^4,a^3,a^2,a,1)として表すことができる。ここで、2進法ではa=00000010である。
【0111】
各RS符号語rscは、ベクトルで表現する場合、rsc=(e0,e1,…,e199,p200,…p239)で表現される有限フィールドGF(2^8)上のRS(240,40)符号であり、その情報は200バイトであり、パリティは40バイトである。有限フィールドGF(2)上のLDPC(K+P,K)符号は、K個の情報ビットとP個のパリティビットで構成されるQC(Quasi Cyclic)−LDPC構成を有する。ここで、K=Lx400、P=Lx80、L=1,2,4,8,又は16である。特に、LDPCのパリティ部分は、
図18に示すように、近似的に三角形マトリックスの形態を有する。
【0112】
図18は、本発明の一実施形態によるHマトリックスの構成を示す。
【0113】
図18に示すように、K=400、P=L×80(L=1,2,4,8,又は16)である。
図18では、RS符号とLDPC符号について説明したが、この詳細な説明に限定される符号のみが使用されるものでなく、ラプター(Raptor)、ラプターQ、XOR符号、又は他の類似及び/又は適切な符号のように、他の任意の符号も適用可能である。次に、本発明の実施形態によるFECパケット生成方法について説明する。
【0114】
各パケットの共通ヘッダーのペイロードタイプは、その伝送中に獲得されたペイロードに対応するように設定される。言い換えれば、ソースペイロードのためのパケットのペイロードタイプは、ソースペイロードを示し、リペアペイロードのためのパケットのペイロードタイプはリペアペイロードを示す。ソースパケットに対するシーケンス番号は、連続して付与される。同様に、リペアパケットに対するシーケンス番号も連続して付与されるが、その開始シーケンス番号は、該当FECブロック内のリペアブロックの境界が決定されるように、例えばソースパケットの開始シーケンス番号で開始するように設定される。すなわち、FECブロック内のソースパケットとリペアパケットに対するシーケンス番号が相関関係を有するように設定することによって、リペアブロックの境界が決定される。該当FECブロックの開始シーケンス番号は、各パケットのヘッダーにFECブロック境界情報として格納される。また、FECが選択的に適用される場合、FECフラグ情報がまたヘッダーに格納される。FECブロックのソースパケット又はリペアパケット個数が変わる場合、FECブロックのパケット個数又はソースパケットの個数に関する情報とソースパケットの個数又はリペアパケットの個数に関する情報がヘッダーに格納される。
【0115】
本発明の一実施形態によると、送信器は、FEC構成関連情報及び/又は他の符号化構成関連情報をシグナリングして受信器に伝送することで、選択的にFECが適用されるコンテンツを伝送できる。また、送信器は、ネットワーク状態及び/又はコンテンツのQoSに従って選択的にFECを適用できる。さらに、FEC構成関連情報及び/又は他の符号化構成関連情報を含むFEC制御情報の全部又は一部を周期的に反復伝送し、あるいは提案された帯域内のシグナリング方法によりFEC構成関連情報の全部又は一部を伝送することによって、送信器は、既にサービスが進行中である状況で新たな受信器にもFEC構成関連情報を提供し、それによって新たな受信器は、FEC復号化を遂行して損失されたデータを回復して、ユーザーに高品質のサービスを提供可能にする。
【0116】
アプリケーション階層から出力される複数のデータストリーム、すなわちソースフローが存在する場合、伝送システムは、複数のストリームを区分する情報をFECパケットに、例えばFECフローID情報に格納して伝送し、該当ストリームをFEC保護のために生成されるパリティペイロードで構成されるストリーム及び/又はパリティフローのためのFECパケットにも同一の情報を格納し、それによって複数のストリームの各々に対して関連したパリティペイロードのストリームを受信器が判断可能にすることが望ましい。
【0117】
あるいは、アプリケーション階層から出力される複数のデータストリームが存在する場合、それぞれのデータストリーム、それぞれのパリティペイロードストリーム、及び/又はパリティフローを区分するための情報をFECパケット、例えばソースフローID及びパリティフローIDに格納して伝送し、それぞれのデータストリームのFEC保護のために生成されたパリティストリームに対するマッピング情報、例えばFECフローID1=ソースフローID1+パリティフローID1を、FECパケットとは異なる別の制御情報として伝送することが望ましい。
【0118】
その結果、受信装置は、FECパケット内のストリーム識別情報及び/又はFECパケットと異なる別の制御情報に基づいて各データストリームを区分し、各データストリームのFEC保護のために生成されるパリティストリームを判断することによって、FEC復号化をスムーズに遂行することができる。
【0119】
本発明の実施形態によるトポロジ処理方法は、ハードウェア、ソフトウェア、又はそれらの組み合わせの形態で実現可能であることがわかる。このようなソフトウェアは、例えば、揮発性又は不揮発性格納装置(例えば、削除可能/再書き込み可能なROM(Read Only Memory)、メモリ(例えば、RAM(Random Access Memory)、メモリチップ、及び集積回路(IC)チップ)、又は光学的に又は磁気的に記録可能な機械(例えば、コンピュータ)-読み取り可能な記録媒体(例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、磁気ディスク、及び磁気テープ)に格納することができる。トポロジ処理方法は、制御部及びメモリを含むコンピュータ又は移動端末により実現され得る。このメモリは、本発明の実施形態を実現するための命令を含むプログラムを格納するのに適合した機械読み取り可能な格納媒体であり得る。したがって、本発明の様々な実施形態は、本請求項により定められた装置又は方法を実現するための符号を含むプログラム、及びこのようなプログラムを格納する持続性機械読み取り可能な格納媒体を含む。
【0120】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲の記載及びこれと均等なものに基づいて定められる本発明の範囲及び精神を逸脱することなく、形式や細部の様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。