【文献】
Youngkwon Lim,Review of w11792[online], JCTVC-E JCTVC-E360-v3,2011年 3月
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0019】
本発明の上述した及び他の様相、特徴、及び利点は、以下の添付図面が併用された後述の詳細な説明から、より一層明らかになるだろう。図面中、同一の図面参照符号は、同一の構成要素、特性、及び構造を意味することが分かるはずである。
【0020】
添付の図面を参照した下記の説明は、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるような本発明の実施形態の包括的な理解を助けるために提供されるものであり、この理解を助けるために様々な特定の詳細を含むが、単なる1つの実施形態に過ぎない。従って、本発明の範囲及び趣旨を逸脱することなく、ここに説明する実施形態の様々な変更及び修正が可能であるということは、当該技術分野における通常の知識を有する者には明らかである。また、明瞭性と簡潔性の観点から、当業者に良く知られている機能や構成に関する具体的な説明は、省略する。
【0021】
次の説明及び請求項に使用する用語及び単語は、辞典的意味に限定されるものではなく、発明者により本発明の理解を明確且つ一貫性があるようにするために使用する。従って、本発明の実施形態の説明が単に実例を提供するためのものであって、特許請求の範囲とこれと均等なものに基づいて定義される発明を限定する目的で提供するものでないことは、本発明の技術分野における通常の知識を持つ者には明らかである。
【0022】
英文明細書に記載の“a”、“an”、及び“the”、すなわち単数形は、コンテキスト中に特記で明示されない限り、複数形を含むことは、当業者には理解されることである。したがって、例えば、“コンポーネント表面(a component surface)”との記載は、1つ又は複数の表面を含む。
【0023】
下記では、順方向エラー訂正(FEC)符号化方法について説明するが、このような方法によって、リードソロモン(RS)コード、低密度パリティ検査(LDPC)コード、ターボコード、ラプターコード(Raptor code)、XOR、Pro−MPEG FECコードを使用する符号化方法が限定されるものではない。
【0024】
本発明の実施形態は、ネットワーク状況又はコンテンツのサービス品質(Quality of Service:QoS)に基づいて選択的にFECを適用することができる方法を提供する。一例として、ここで使用する用語‘ネットワーク状況’は、パケット損失が多いか又は少ないか(例えば、パケット損失率が高いか又は低いか)、又はパケット損失がランダムに発生するか又はバースト形態で発生するかを意味する。
【0025】
ファイルデータについて、送信の間にデータの一部が損失されてはいけない。例えば、オーディオ/ビデオ(Audio/Video:AV)データについて、送信の間にAVデータと関連したデータの一部が損失されるとしても、AVデータを再生することができる。ここで使用される用語‘QoS’は、ファイルデータ及びAVデータで要求される特性が相互に異なる場合を意味する。したがって、ファイルデータは、一般的にAVデータより高いFEC性能を要求する。
【0026】
図1は、本発明の実施形態によるネットワークトポロジー及びデータフローを示す図である。
【0027】
図1のネットワークトポロジーを参照すると、送信器(例えば、ホストA)105は、インターネットプロトコル(IP)パケットを幾つかのルータ120及び130を通して最終受信器(ホストB)110に送信する。この時に、送信器105により送信されたIPパケットは、送信器105が送信した順序で最終受信器110に常に到達するものではない。このために、AVコンテンツストリーミングの間に送信順序(例えば、 送信器105によりIPパケットが送信される順序)を示すことは重要である。また、このような送信順序は、データフローで表現される。
【0028】
図1のデータフローを参照すると、アプリケーションステージ140において、
図1のデータ150は、実時間プロトコル(Real Time Protocol:RTP)(IETF RFC3550及びRFC3984を参照)を使用してAVコーデックステージで圧縮されたデータをパケット化することにより生成されたRTPパケットデータとして見なされるか、又は
図9を参照して後述するMPEGメディアトランスポート(MPEG Media Transport:MMT)トランスポートパケットデータのようにアプリケーションステージ140でのトランスポートプロトコルによりパケット化されたデータを意味する。
【0029】
ここで使用される用語は、次のようにまとめられることができる。
− FEC:エラー又は消去シンボルを訂正するためのエラー訂正コード
− FECフレーム:保護されるFEC符号化情報により生成されたコードワードであり、FECフレームは、情報パート(information part)及びパリティ(リペア)パートを含む。
− シンボル:データの単位であり、複数のビットでのビットのサイズは、シンボルサイズと呼ばれる。
− ソースシンボル:FECフレームの情報パートに含まれる保護されないデータシンボル(Unprotected data Symbol)
− 符号化シンボル:ソースシンボルをFEC符号化することにより生成されるFECフレーム
− リペアシンボル:FEC符号化によりソースシンボルから生成されるFECフレームのパリティパートであり、例えば、FECにより符号化する間にソースシンボルがそのまま保持されるシステマティック符号化の場合に、符号化シンボル=ソースシンボル+リペアシンボルである。
− パケット:ヘッダ及びペイロードを含む送信単位
− ペイロード:送信器から送信されるユーザデータのピース(piece)であり、パケット内に置かれる。
− パケットヘッダ:ペイロードを含むパケットのためのヘッダ
− ソースブロック:1つ以上のソースシンボルを含むシンボルの集合
− リペアブロック:1つ以上のリペアシンボルを含むシンボルの集合
− FECブロック:FECフレームの集合
− FECパケット:FECブロックの送信のためのパケット
− ソースパケット:ソースブロックの送信のためのパケット − リペアパケット:リペアブロックの送信のためのパケット
− FEC制御パケット:FECパケットを制御するためのパケット
【0030】
図2A及び
図2Bは、M=1及びM=8の場合について本発明の実施形態によるFEC符号化方法を図式化する図である。特に、
図2Aは、M=1の場合の符号化構造を示し、
図2Bは、M=8の場合の符号化構造を示す。
【0031】
図2Bを参照すると、ネットワーク上で損失されたデータを復旧するためのFEC符号化方法及びそれによるイン−バンドシグナリング方法は、所定数のシンボルをM(ここで、Mは、1以上の整数)個の第1のソースシンボルに分割し、第1のソースシンボルのそれぞれに対して第1のFEC符号化を実行することにより生成される第1のリペアシンボルを含む第1の符号化シンボルを生成する。その後に、この方法は、M個の符号化シンボルを第2のソースシンボル202に分割し、第2のFEC符号化を実行することにより生成される第2のリペアシンボル201を含む第2の符号化シンボル203を生成する。
【0032】
本発明の実施形態によれば、第1のFEC及び第2のFECは、同一のエラー訂正コード又は異なるエラー訂正コードを使用することができる。これらの候補は、RSコード、LDPCコード、ターボコード、ラプターコード、及びXORのような特定のコードに限定されない。
【0033】
FECが適用されたコンテンツを送信器が受信器に送信する場合に、受信器は、FEC構成関連情報(例えば、送信器が適用したFECのタイプ及び構造のような)を有しなければならず、復号化を実行する場合に、送信器が適用したFEC符号化方式に基づいて復号化を実行することにより損失されたデータを復旧することができる。したがって、本発明の実施形態は、FEC構成関連情報を送信するための方法を含む。また、本発明の実施形態は、受信器が、受信されたパケットがソースシンボルのためのペイロードであるか、又はリペアシンボルのためのペイロードであるかを判定することができるようにするパケット識別方法を含む。
【0034】
このために、本発明の実施形態は、FEC構成関連情報、第1のFEC符号化構成、及び第2のFEC符号化構成を含むFEC制御情報を定義する。例えば、FEC制御情報は、パケット内に含まれることもあり、又はパケットを制御するためのFEC制御パケットに含まれることもある。アウト−バンドシグナリングの場合に、FECが適用されたコンテンツは、実時間トランスポートプロトコル(Real-time Transport Protocol:RTP)プロトコルを使用して送信され、この時に、FEC制御情報は、RTP制御プロトコル(RTP Control Protocol:RTCP)プロトコルを使用して送信されるためにコンテンツ配信のためのプロトコルとは異なる。しかしながら、イン−バンドシグナリングの場合に、FEC制御情報は、FECが適用されたコンテンツのためのRTPパケット内に記憶されて送信されることにより、異なるプロトコルを使用して送信されない。
【0035】
本発明の実施形態によるFEC構成関連情報については、次のように説明される。
【0036】
(1)符号化構造
− FEC構造:第1のFEC及び/又は第2のFECの適用/不適用
− FECブロック境界−関連情報(以下、“FECブロック境界情報”と呼ばれる):FECブロックの開始位置情報/終了位置情報を示す。
【0037】
アウト−バンドシグナリングの場合に、FECブロック境界情報は、FEC構成関連情報の送信の後に第1のFECブロックの開始位置情報/終了位置情報を意味する。ここで使用される用語‘位置’は、ネットワークでの位置を意味する。言い換えれば、ネットワーク上でパケット別に送信順序が番号で決定される場合に、その番号は、この位置に対応する。
【0038】
イン−バンドシグナリングの場合に、FECブロック境界情報は、FECブロックを運搬するパケットの中の少なくとも1つのパケットに記憶されるか、又はロバスト性(Robustness)のためにすべてのパケットに記憶される。具体的に、FECブロック境界情報は、
図10に示すように、下記に説明するパケットヘッダに送信されることが好ましい。
【0039】
(2)第1のFEC符号化(符号化シンボル1)構成
− FECタイプ関連情報(以下、FECタイプ情報と称する):GF(2^n)上のRS(N,K)コード、GF(2^n)上のLDPC(N,K)コード、GF(2^n)上のターボ(N,K)コード又はGF(2^n)上のラプター(N,K)コードのようなFECコード(ここで、Nは、コード長さを示し、Kは、情報長さを示し、2^nは、シンボルサイズを示す)を示すか、又は、XOR方法を示す。本発明の実施形態によれば、FECタイプ情報は、FECコードのタイプを示すID情報(例えば、0=RS、1=LDPC、及び2=ラプター)とN及びKに関する情報とを含むことができる。
【0040】
− 短縮関連情報:短縮されたシンボルの個数、短縮パターン(短縮されたシンボルの位置情報)に関する情報を示す。短縮パターンが固定される場合に、短縮パターンに関する情報は省略される。実際に送信される情報の長さがK−sである場合に、s個のパッディングシンボルを追加した後に符号化され、符号化されたN個のシンボルの中で、パッディングされたs個のシンボルは、送信される必要がないので、(N−s)個のシンボルだけが送信される。この場合に、s個のシンボルの短縮が発生する。本発明の実施形態によれば、受信器は、FECタイプ関連情報、FECタイプ関連情報に基づいて実際に送信される情報の長さに関する情報、及びコード内での短縮された位置に関する情報を有することができる。他方、本発明の実施形態によれば、短縮関連情報は、実際に送信される情報の長さK−s、及び短縮パターン(例えば、短縮されたシンボルの位置情報)に関する情報を示す。一例として、短縮パターンが固定される場合に、短縮パターンに関する情報は省略される。
【0041】
− パンクチャーリング関連情報:パンクチャーリングされたシンボルの個数、パンクチャーリングパターン(例えば、パンクチャーリングされたシンボルの位置情報)に関する情報を示す。パンクチャーリングパターンが固定される場合に、パンクチャーリングパターンに関する情報は省略される。符号化されたコードワードのN−Kパリティ内のp個のシンボルが送信の間に抜けている場合に、p個のシンボルのパンクチャーリングが発生した。本発明の実施形態によれば、受信器は、FECタイプ関連情報と、FECタイプ関連情報に基づいて実際に送信されるパリティ(例えば、リペア)シンボルの個数に関する情報と、コード内のパンクチャーリング位置に関する情報とを有することができる。他方、本発明の実施形態によれば、パンクチャーリング関連情報は、実際に送信されるパリティの長さN−K−p、パンクチャーリングパターン(パンクチャーリングされたシンボルの位置情報)に関する情報を示す。一例として、パンクチャーリングパターンが固定される場合に、パンクチャーリングパターンに関する情報は省略される。
【0042】
FECタイプ関連情報のコード長さ、情報長さ、及び短縮/パンクチャーリング関連情報から、実際に送信される符号化シンボル、ソースシンボル、及びリペアシンボルの個数をそれぞれ確認することができる。FECタイプ関連情報及び短縮/パンクチャーリング関連情報は、コードワードの見方から説明されたが、ここに限定されない。好ましくは、FECタイプ関連情報及び短縮/パンクチャーリング関連情報は、本発明の実施形態の趣旨に基づく情報として解釈されることができる。例えば、FECタイプ関連情報及び短縮/パンクチャーリング関連情報は、FECブロックのソースブロックを運搬するパケットの個数(=K−s)及びパリティブロックを運搬するパケットの個数(=N−K−p)として解釈されることができる。
【0043】
− リフティング関連情報:FECコードでの拡張又は縮小を示す値である。ここで使用される用語‘リフティング’は、QC−LDPCの置換ブロック(permutation block)のサイズを調節することによりコードの長さの拡張又は縮小を意味する。本発明の実施形態によれば、一般的なパリティチェックマトリックス(Parity Check Matrix)Hにおいて、各エントリー(entry)を置換ブロックに変更することによりマトリックスを拡張することもリフティングに含まれる。ここで、N個の符号化シンボル1のそれぞれに適用された第1のFECの符号化構成関連情報が異なる場合に、符号化シンボル1のそれぞれに対して第1のFEC符号化構成が必要とされる。
【0044】
この場合に、‘for(i=1;i<=N;i++){i番目の符号化シンボル1構成}’として示すことができる。
【0045】
(3)第2のFEC符号化(符号化シンボル2)構成
本発明の実施形態によれば、第2のFEC符号化構成は、第1のFEC符号化構成と同一である。
【0046】
下記では、本発明の実施形態によるパケット識別方法について説明する。
【0047】
RTPプロトコルのヘッダは、ペイロードタイプフィールド及びシーケンス番号フィールドを含む。ペイロードタイプフィールド及びシーケンス番号フィールドを有するRTPプロトコル又はこれと類似したトランスポートプロトコルを使用する場合に、このシーケンス番号が1ずつ増加することができるように連続的にかつ順次的に番号を各FECパケットに割り当てる。したがって、FEC構成関連情報及び受信されたパケットのシーケンス番号に基づいて、パケットがソースパケットであるか、リペア1パケットであるか、又はリペア2パケットであるかを確認することができるだけでなく、損失されたパケットがどんなパケットであるかを正確に確認することができる。他方、
図10のFECパケットヘッダ1010内のペイロードタイプ情報フィールド1012に基づいて、FECパケット内のペイロードがソースペイロードであるか、リペア1パケットであるか、又はリペア2パケットであるかを確認することができる。
【0048】
図10のFECパケットヘッダ1010のパケット長さフィールド1015は、パケットにより実際に運搬されるパケットデータのサイズを示すように構成されることができる。パケット長さフィールド1015を用いてパケット間の境界を確認することができるので、連続したパケットストリームを正確に受信することができる。また、パケットが損失されるとしても、FEC復号化により損失されたパケットのヘッダ情報をまず復旧することにより対応するパケットの長さを把握することができ、これにより、対応するパケットの長さを正確に把握することができる。
【0049】
下記では、本発明の実施形態によるアウト−バンドシグナリング方法について説明する。
【0050】
送信器と受信器間のコンテンツ配信において、コンテンツを配信するためのパケットとこれらのパケットを制御するための制御パケットとに区分される。アウト−バンドシグナリングは、FECブロックを送信するためのパケット(以下、FECパケットと称する)を制御するためのFEC制御パケットを用いてFECパケットに関するFEC構成関連情報を配信することを意味する。送信器がコンテンツを受信器に配信する前に、送信器は、コンテンツに適用されたFEC構成関連情報を受信器があらかじめ認識することができるようにするためにFEC構成関連情報を送信する。このような情報は、FEC構成関連情報の変更の時に送信されなければならない。また、マルチキャスティング(Multicasting)又はブロードキャスティング(Broadcasting)のような複数の受信器がある場合に、FEC構成関連情報は、FEC制御パケットを通して送信されるので、すべての受信器は、コンテンツに適用されたFEC構成関連情報を認識することによりFEC復号化を実行することができる。他方、FEC構成関連情報は、ロバスト性のために周期的に反復して送信されることができる。
【0051】
本発明の実施形態によるアウト−バンドシグナリングの主な目的は、受信器がFECブロックの復号化のための最小の情報である第1のFECの適用/不適用及び/又は第2のFECの適用/不適用をFEC制御情報(例えば、FEC構成関連情報又は符号化構成関連情報)に基づいて判定することができるようにする。したがって、送信器は、4つの場合、すなわち、FECの不適用、第1のFECだけの適用、第2のFECだけの適用、及び第1及び第2のFECの適用の中の1つを決定するか又は選択し、これをFEC制御情報を通して受信器に送信した後に、この決定されたFEC方法を適用することによりコンテンツを配信する。
【0052】
本発明の実施形態によれば、FEC制御情報は、FECブロックの開始/終了位置のようなブロック境界情報を追加で含むことができる。FEC方法が予め定められた場合に、受信器は、FECブロックのサイズ又は長さを分かるために、開始/終了位置情報だけでも十分に全FECブロック境界情報を把握することができる。
【0053】
本発明の実施形態によれば、様々なタイプの第1のFECが存在する場合又は様々なタイプの第2のFECが存在する場合に、FEC制御情報は、第1のFECタイプ情報及び第2のFECタイプ情報を含むことが好ましい。
【0054】
送信器が効率的な送信のために短縮又はパンクチャーリングを実行すべきである場合に、FEC制御情報は、短縮及び/又はパンクチャーリング関連情報を含むことが好ましい。
【0055】
また、FEC制御情報は、周期的に送信されることが好ましい。例えば、FEC制御情報は、周期的に反復して送信されることが好ましい。
【0056】
図3は、本発明の実施形態によるアウト−バンドシグナリングのためのFEC制御パケットの構造を示す図である。
【0057】
図3に示すように、FEC制御パケット300は、符号化構成関連情報のためのFEC制御パケット(例えば、ペイロード)及びこのためのヘッダ(図示せず)を含む。
【0058】
FEC制御情報は、セッションディスクリプションプロトコル(Session Description Protocol:SDP)に基づく送信器報告が受信器に送信される時に含まれるか、又はRTPを使用する場合にRTCPプロトコルに基づいてRTP制御情報を送信する時に含まれることができる。また、FEC制御情報は、電子サービスガイド(Electric Service Guide:ESG)の送信の間に含まれるか、又は送信の間に、ISO基盤メディアファイルフォーマット(ISO Base Media File Format)を使用する場合に“fpar”ボックス及び“fecr”ボックスに含まれることができ、配信されたコンテンツのタイプ、ネットワーク環境、及び使用中のトランスポートプロトコルにより可能なタイプが様々である。また、FEC制御情報は、
図3に示すように、FEC制御ペイロードに含まれることもあるが、これに限定されない。アウト−バンドシグナリングの場合に、FEC制御情報は、符号化構造フィールド310に含まれたFEC構成関連情報、第1のFEC符号化構成320、及び第2のFEC符号化構成330を含む。
【0059】
FEC構成関連情報は、第1のFEC及び/又は第2のFECの適用/不適用を示す情報310aを含む。FEC構成関連情報は、FEC構造=00(例えば、符号化なしの場合)、FEC構造=01(例えば、第1のFECだけ適用される場合)、FEC構造=10(例えば、第2のFECだけ適用される場合)、及びFEC構造=11(第1及び第2のFECの両方とも適用される場合)で示される。2つのFEC(第1及び第2のFEC)の中の1つのみ適用される場合は、1つのフィールド値で示されることもある。
【0060】
FEC構成関連情報は、FECブロック境界情報310bを含む。
【0061】
第1のFEC符号化構成320は、FECタイプ関連情報320a、リフティング関連情報320b、パンクチャーリング関連情報320c、及び短縮関連情報320dを含む。
【0062】
リフティング関連情報は、コードの拡張又は縮小を可能にし、短縮/パンクチャーリング関連情報は、与えられたコード内で様々な長さのソースシンボル及びパリティシンボルの対応を可能にする。
【0063】
第2のFEC符号化構成330は、第1のFEC符号化構成320と同一である。
【0064】
下記では、本発明の実施形態によるイン−バンドシグナリング方法について説明する。
【0065】
図4は、本発明の実施形態によるイン−バンドシグナリングのためのFEC制御パケットの構造を示す図である。
【0066】
FEC制御パケットは、FECペイロード400及びヘッダ410を含む。
図4には、リペアパケットが示されるが、FEC制御パケットは、これに限定されない。言い換えれば、
図4のFEC制御パケット構造は、ロバスト性のためにFECパケットに適用されることができる。
図4では、FEC制御情報がヘッダ410に含まれるが、FEC制御パケットは、これに限定されない。言い換えれば、イン−バンドシグナリングのためのFEC制御情報は、ロバスト性のために、送信の間にFECブロックの送信のためのすべてのパケットに記憶されることができる。また、FEC構造のために必要とされる情報だけが送信効率を向上させるように含まれることができる。
【0067】
コンテンツ配信のためのパケットとは識別可能な個別の制御パケット内にFEC構成関連情報を送信するアウト−バンドシグナリングとは異なり、イン−バンドシグナリングは、コンテンツ配信のためのパケット内にFEC構成関連情報を送信することにより、反復的なかつ周期的なFEC制御パケットによるオーバーヘッドを最小にすることができる。また、イン−バンドシグナリングは、受信器がFEC制御パケット送信期間の中間にもコンテンツに適用されたFEC構成関連情報を迅速に把握することができるという長所がある。
【0068】
本発明によるイン−バンドシグナリングの主な目的は、FECブロックの復号化のための最小情報である第1のFECの適用/不適用及び/又は第2のFECの適用/不適用を示すFEC構成関連情報を送信の間にFECパケット内に記憶させ、これにより、受信器がその情報を把握することができることにある。したがって、4つの場合、すなわち、FECの不適用、第1のFECだけの適用、第2のFECだけの適用、及び第1及び第2のFECの適用の中の1つを決定するか又は選択し、この決定されたFEC方法に基づいてコンテンツをFEC符号化した後に、FECパケットを送信する場合に、送信器は、
図4の例に示すように、送信されるFECパケット内にFEC構成関連情報を記憶する。
【0069】
本発明の実施形態によれば、FEC構成関連情報は、シーケンス番号411、符号化構造フィールド412、及びFEC符号化構成フィールド413を含む。
【0070】
FEC構成関連情報は、第1のFEC及び/又は第2のFECの適用/不適用を示す情報412aを含む。FEC構成関連情報は、FEC構造=00(例えば、符号化なしの場合)、FEC構造=01(例えば、第1のFECだけ適用される場合)、FEC構造=10(例えば、第2のFECだけ適用される場合)、及びFEC構造=11(第1及び第2のFECの両方とも適用される場合)で示される。具体的に、FEC構成関連情報は、送信の間に、FECブロックのためのFECパケットの中の少なくとも1つのパケットに記憶される。より具体的に、パケット損失に対するロバスト性のために、FEC構成関連情報は、送信の間に、すべてのパケットに記憶されるか、又はリペアパケット又はソースパケットに記憶されることができる。例えば、FEC構成関連情報は、送信の間に、パケットヘッダに記憶されるか、又は、もっと具体的に、リペアパケットヘッダに記憶されることができる。FEC構成関連情報が送信の間にリペアパケットヘッダに記憶される場合に、ソースパケットは、FECが適用されない場合と同一にソースシンボルを送信するための既存のパケット形態で送信されることができるので、FECが適用されないシステムとの互換性を保持することができる。
【0071】
好ましくは、FEC構成関連情報は、FECブロックの開始/終了位置のようなFECブロック境界情報412bを追加で含むことができる。FEC方法が予め定められる場合に、受信器は、FECブロックのサイズ又は長さを分かるために、FECブロックの開始/終了位置情報だけでも十分に全FECブロック境界情報を把握することができる。
【0072】
好ましくは、FEC構成関連情報は、符号化構造フィールド412に含まれ、次のFECブロックに関するFEC構成関連情報が現在のFECブロックに基づいて変更されるか否かを示すFEC構成連続フラグ412cを含むことができる。
【0073】
本発明の実施形態によれば、FEC符号化構成関連情報413は、FEC符号化構成フィールドに含まれ、幾つかの第1のFECタイプ又は幾つかの第2のFECタイプが存在する場合に、第1のFECタイプ情報及び第2のFECタイプ情報を含むFECタイプ情報413aを含むことができる。
【0074】
本発明の実施形態によれば、FEC符号化構成関連情報は、与えられたFECタイプ情報に対して、送信の間にコードを拡張するか又は縮小するためにリフティング関連情報413bを含むことができる。
【0075】
本発明の実施形態によれば、FEC符号化構成関連情報は、送信器が効率的な送信のために短縮又はパンクチャーリングを実行する場合に、短縮関連情報413c及び/又はパンクチャーリング関連情報413dを含むことができる。
【0076】
リフティング関連情報413bは、コードの拡張又は縮小を可能にし、短縮/パンクチャーリング関連情報は、与えられたコード内で様々な長さのソースシンボル及びパリティシンボルの対応を可能にする。
【0077】
図5は、本発明の実施形態によるアウト−バンドシグナリングのためのシステム構成を示す図である。
【0078】
ディジタルカメラを用いて撮影したロー(Raw)AVストリーム1は、ローAVコンテンツ501として有効に記憶される。ローAVコンテンツ501(例えば、ローAVストリーム1)は、AVコーデックエンコーダ503に送信される。
【0079】
AVコーデックエンコーダ503は、オーディオコーデックエンコーダ及びビデオコーデックエンコーダを使用して入力されるローAVストリーム1を圧縮することによりAVストリーム2を生成し、AVストリーム2をトランスポートプロトコルパケタイザ(Transport Protocol Packetizer)505に出力する。
【0080】
トランスポートプロトコルパケタイザ505は、圧縮されたAVストリーム2をペイロード単位に分け、パケットヘッダをペイロードのそれぞれに付加することによりパケット化されたストリームを作る。FECを適用する場合に、トランスポートプロトコルパケタイザ505は、関連する符号化構造及び/又は符号化構成関連情報によりパケットストリームを所定数のソースパケットに分ける。その後に、トランスポートプロトコルパケタイザ505は、ソースパケットのヘッダを除外したソースペイロードを含むソースブロック3をFECエンコーダ507に入力する。
【0081】
FECエンコーダ507は、符号化構造及び/又は符号化構成関連情報に合うようにソースブロック3を符号化し、FECブロック4をトランスポートプロトコルパケタイザ505に出力する。
【0082】
トランスポートプロトコルパケタイザ505は、入力されたFECブロック4内の各ペイロードにパケットヘッダを付加することによりFEC符号化されたパケットストリーム7を送信し、
図3で説明したように、FEC制御パケット(ペイロード又はヘッダ)内にアウト−バンドシグナリングのためのFEC構成関連情報を記憶する。
【0083】
コンテンツに適用された符号化構造及びFEC符号化構成関連情報は、FEC制御パケット5に記憶され、コンテンツの配信の前に受信器にあらかじめ送信され、したがって、受信器がコンテンツに適用されるFEC構造及び/又はFEC符号化構成関連情報を把握することができるようにする。
【0084】
本発明の実施形態によれば、FEC制御パケット内のFEC構造及びリペアパケットヘッダ内のFEC構造のための2ビットを割り当てることにより、b0は、第1のFECの適用/不適用を示し、b1は、第2のFECの適用/不適用を示す。言い換えれば、ビットは、符号化なしに対応するFEC構造=00、第1のFECだけの適用に対応するFEC構造=01、第2のFECだけの適用に対応するFEC構造=10、及び第1及び第2のFECの適用に対応するFEC構造=11で示す。
【0085】
送信の間に、FECブロック境界情報は、FEC制御パケットの送信の直後に送信されるFEC符号化ブロックの第1のペイロードのためのパケットのシーケンス番号を指定する。
【0086】
トランスポートプロトコルデパケタイザパケタイザ(Transport Protocol De-packetizer)509は、FEC制御パケット6を受信し、受信されるコンテンツのFEC構成関連情報に基づいてFEC復号化を準備する。コンテンツのサービスの間にサービングに参加した受信器は、受信されたパケットのリペアパケットヘッダからFEC構成関連情報を取得し、これに基づいてFEC復号化を実行する。
【0087】
トランスポートプロトコルデパケタイザ509は、受信されたパケットストリームからパケットを送信順序で再配列した後に、パケットからヘッダを除去することによりペイロードストリームを作る。FECが適用される場合に、トランスポートプロトコルデパケタイザ509は、コンテンツに適用されたFEC構成関連情報に基づいて受信されたFEC符号化されたパケットストリーム8から損失されたパケットの位置情報及びFECブロック境界情報を把握する。また、トランスポートプロトコルデパケタイザ509は、この損失されたパケットの位置情報及びFECブロック境界情報に基づいて、各FECブロックに対応する損失されたペイロードの位置情報及び受信されたFECブロック9をFECデコーダ511に入力する。
【0088】
また、パケット識別方法のように、シーケンス番号フィールドがトランスポートパケットのヘッダ内に構成され、パケット送信の間に、番号がパケット送信順序に合うように連続して割り当てられる場合に、トランスポートプロトコルデパケタイザ509は、受信の間に、シーケンス番号に基づいて送信パケットの順序に合うように再配列し、損失されたパケットの位置(例えば、番号)を把握することができる。
【0089】
FECデコーダ511は、FEC復号化を通して損失されたペイロードの位置情報及び受信されたFECブロックから損失されたペイロードを復旧することによりソースブロック10を復元し、これをトランスポートプロトコルデパケタイザ509に入力する。
【0090】
トランスポートプロトコルデパケタイザ509は、入力されたソースブロックをストリーム11に変換し、ストリーム11をAVコーデックデコーダ513に入力する。
【0091】
AVコーデックデコーダ513は、オーディオコーデックデコーダ及びビデオコーデックデコーダを用いてAVコンテンツを復号化し、この復号化されたAVコンテンツをストリーム12としてディスプレー515に入力する。
【0092】
ディスプレー515は、復号化されたAVコンテンツをディスプレーする。
【0093】
本発明の実施形態によれば、FECが適用されない(すなわち、FEC構造=“符号化なし”)場合に、トランスポートプロトコルパケタイザ505がソースブロック3をFECエンコーダ507に入力する過程1と、FECエンコーダ507が符号化構造及び/又は符号化構成関連情報に合うようにソースブロックを符号化し、FECブロック4をトランスポートプロトコルパケタイザ505に出力する過程2と、受信器での過程1及び過程2の逆過程が省略される。
【0094】
FEC制御パケット5及び6は、コンテンツ配信の間に周期的に反復して送信される。FECが適用される場合に、FEC構成関連情報に含まれたFECブロック境界情報は、FEC制御パケットの送信の直後に送信されるFEC符号化ブロックの第1のペイロードのためのパケットのシーケンス番号を指定する。
【0095】
パケットヘッダ7及び8内のFECブロック境界情報は、送信の間に、対応するFECブロックの第1のペイロードのためのパケットのシーケンス番号を指定する。
【0096】
FECブロック境界情報及びFEC符号化構成関連情報は、送信器と受信器間で相互に約束されている場合に(例えば、FECのFECタイプが送信器と受信器間で相互に約束されており、リフティング値、送信情報シンボルの長さ、及びリペアシンボルの長さが固定される場合に)、省略されて送信される。
【0097】
本発明の実施形態によれば、FECタイプ情報に基づく各コードがパリティチェックマトリックスを使用する場合に、そのマトリックスは予め約束されており、RSコードを使用する場合に、その生成多項式(Generator Polynomial)は、予め定められているものと仮定する。例えば、FECタイプ情報が“GF(2)上のLDPC(8000,6400)コード”を示す場合に、送信器及び受信器は、コードのマトリックスHを共有するものと仮定する。FECタイプ情報が“GF(2^8)上のRS(255,51)コード”を示す場合に、送信器及び受信器は、RSコードの生成多項式g(x)を共有するものと仮定する。このような仮定は、送信器と受信器間の約束又は仕様で定められることにより可能である。
【0098】
図6は、本発明の実施形態によるイン−バンドシグナリングのためのシステム構成を示す図である。
【0099】
本発明の実施形態によれば、
図6のイン−バンドシグナリングのためのシステムにおいて、過程5及び6は省略され、
図5の過程7乃至12は、
図6の過程5乃至10にそれぞれ対応し、この過程と同一である。しかしながら、
図6の過程5及び6において、提案されたFEC構成情報は、送信の間にFECパケットのパケットヘッダに記憶される。
【0100】
本発明の実施形態は、ソースパケットのペイロードがFEC保護されているという仮定に基づいて説明されたが、これに限定されず、ソースパケットに対するFEC符号化を実行した後にヘッダをリペアブロックに付加することによりFECパケットを生成し、FECパケットを送信することを含む。例えば、この場合に、トランスポートパケタイザは、ソースブロックのためのパケットヘッダにFEC制御情報を保存した後に符号化を実行し、リペアブロックのためのパケットのヘッダにも同一の情報を保存するか又は必要な情報を保存する。
【0101】
図5及び
図6を参照してAVデータが説明されたが、本発明の実施形態は、これに限定されない。本発明の実施形態は、ハイブリッドコンテンツ配信(Hybrid Content Delivery)のようにAVデータ及びファイルデータがともに送信される場合も適用されることができる。この場合に、ソースブロックは、AVデータ及びファイルデータを含む。
【0102】
図7は、本発明の実施形態による送信方法を示すフローチャートである。
【0103】
ステップ701において、送信器は、本発明の実施形態によるFEC制御情報を生成する。本発明の実施形態に従って、FEC制御情報は、FEC構成関連情報、第1のFEC符号化構成関連情報、及び第2のFEC符号化構成関連情報を含む。しかしながら、本発明の実施形態は、これに限定されない。アウト−バンドシグナリングの場合に、FEC構成関連情報、第1のFEC符号化構成関連情報、及び第2のFEC符号化構成関連情報は、
図3に示すように、FEC制御パケット300に含まれる。しかしながら、イン−バンドシグナリングの場合に、FEC構成関連情報、第1のFEC符号化構成関連情報、及び第2のFEC符号化構成関連情報は、
図4に示すように、リペアパケット(例えば、ヘッダ及びリペアペイロードのすべて)に含まれる。
【0104】
ステップ703において、送信器は、生成されたFEC構成関連情報、第1のFEC符号化構成関連情報、及び第2のFEC符号化構成関連情報を含むパケットを生成し、このパケットを受信器に送信する。
【0105】
図8は、本発明の実施形態による受信方法を示すフローチャートである。
【0106】
ステップ801において、受信器は、送信器からパケットを受信し、受信されたパケットを復調する。ステップ803において、受信器は、復調されたパケット(FEC制御パケット又はリペアパケット)からFEC構成関連情報、第1のFEC符号化構成関連情報、及び第2のFEC符号化構成関連情報を取得し、受信されたパケット関連情報を認識する。パケット関連情報は、それぞれのFECブロックに対応する損失されたペイロードの位置情報及び受信されたFECブロック情報を含む。したがって、受信器は、パケット情報に基づいて、受信されたパケットがソースシンボルのためのパケットであるか、又はリペアシンボルのためのパケットであるかを判定することができる。また、受信器は、送信器により適用されたFECのタイプ及び構造を把握することができる。ステップ805において、受信器は、このパケットを復号する。
【0107】
本発明の実施形態は、配信されるコンテンツ(AVデータ、ファイル、テキストなどを含む)に第1のFECの適用/不適用及び第2のFECの適用/不適用を示すFEC構成関連情報を含む。アウト−バンドシグナリングの場合に、FEC構成関連情報のためのプロトコルは、コンテンツ配信のためのプロトコルとは識別されることが好ましい。FECが適用されたコンテンツがRTPプロトコルを使用して配信される場合に、FEC制御情報は、RTCPプロトコルを使用して送信されるためにコンテンツ配信のためのRTPプロトコルとは異なる。しかしながら、イン−バンドシグナリングの場合に、FEC制御情報は、送信の間にFECが適用されたコンテンツのためのRTPパケット内に記憶され、これにより、異なるプロトコルを使用して送信されない。MMTトランスポートプロトコルを使用して送信される場合に、アウト−バンドシグナリングのためのFEC制御情報は、MMTトランスポート制御プロトコルにより送信される。
【0108】
本発明の実施形態によれば、FEC構成関連情報は、コンテンツをペイロードに分け、これをFEC符号化することにより得られたFECブロックのブロック境界情報を含むことができる。アウト−バンドシグナリングの場合に、ブロック境界情報は、FEC構成情報の送信の直後に1番目のFECブロックの開始パケット/終了パケットの番号を含む。FEC構成関連情報は、FECタイプ関連情報、リフティング関連情報、短縮関連情報、及びパンクチャーリング関連情報の中の少なくとも1つを含む。第1のFECのためのFECタイプ情報及び第2のFECのためのFECタイプ情報の中の1つは、GF(2^n)上のRS(N,K)コード、GF(2)上のLDPC(N,K)コード、GF(2)上のターボ(N,K)コード、GF(2)上のラプター(N,K)コード、及びGF(2^m)上のラプターQ(N,K)コードの中の少なくとも1つを含み、ここで、n及びmは、1より大きい整数である。
【0109】
イン−バンドシグナリングの場合に、FEC構成関連情報は、送信の間に、FEC保護(‘符号化なし’を含む)が行われたコンテンツの配信のためのパケット内に記憶される。第1のFECが配信されるコンテンツに適用されるか又は第2のFECがコンテンツに適用されるかを示すFEC構成関連情報のためのプロトコルがコンテンツに適用されるために、FECが適用されたコンテンツ(‘符号化なし’を含む)のためのプロトコルとは識別可能なプロトコルを使用するか又は同一のプロトコルを使用することができる。また、FEC構成関連情報は、FECが適用されたコンテンツの配信のためのパケット内に送信される。
【0110】
図9は、本発明の実施形態によるMMTシステム構造を示す図である。
【0111】
図9の左側は、MMTシステム構造を示し、
図9の右側は、配信機能の詳細構造を示す図である。
【0112】
メディアコーディングレイヤー905は、オーディオ及び/又はビデオデータを圧縮し、圧縮されたデータをカプセル化機能レイヤー910に送信する。
【0113】
カプセル化機能レイヤー910は、圧縮されたオーディオ/ビデオデータをファイルフォーマットと類似した形態でパッケージとして生成し、パケット化されたデータを配信機能920に出力する。
【0114】
配信機能920は、カプセル化機能レイヤー910の出力をMMTペイロードフォーマットに変換した後に、MMTトランスポートパケットヘッダを付加し、これをMMTトランスポートパケットの形態でトランスポートプロトコル930に出力するか、又は、カプセル化機能レイヤー910の出力を既存のRTPプロトコルを使用してRTPパケットの形態でトランスポートプロトコル930に出力する。その後に、トランスポートプロトコル930は、その入力をUDP及びTCPトランスポートプロトコルの中の1つに変換した後に、これをインターネットプロトコル940に送信する。
【0115】
最終的に、インターネットプロトコル940は、トランスポートプロトコル930の出力をIPパケットに変換する。
【0116】
提案されたFECパケットは、MMTペイロードフォーマット、MMTトランスポートパケット、及びRTPパケットの中の少なくとも1つの形態で送信されることができる。
【0117】
図10は、本発明の実施形態によるイン−バンドシグナリングのためのFEC制御パケットの構造を示す図である。
【0118】
イン−バンドシグナリングの場合に、FEC制御情報は、FECブロックを運搬するパケットの中の少なくとも1つのパケットに記憶されるか、又はロバスト性のためにすべてのパケットに記憶される。
図10に示すように、FEC制御情報は、パケットヘッダ1010を通して送信されることが好ましいが、これに限定されない。
【0119】
FEC制御パケットは、
図10に示すように、符号化構成関連情報の符号化のためのFEC制御ペイロード1000及びヘッダ1010を含む。
【0120】
パケットヘッダ1010は、ペイロードタイプ1012、シーケンス番号1014、パケット長さ1015、符号化構造フィールド1016、及びFEC符号化構成フィールド1018を含む。
【0121】
ペイロードタイプ1012は、FECパケット内のペイロードがソースペイロードであるか、リペア−1パケットであるか、又はリペア−2パケットであるかを示す。
【0122】
シーケンス番号1014は、1ずつ増加するように各FECパケットに連続的にかつ順次的に割り当てられる番号を示す。
【0123】
パケット長さ1015は、対応するパケットが実際に運搬するパケットデータのサイズを示す。イン−バンドシグナリングの場合に、アウト−バンドシグナリングの場合とは異なり、FECパケットヘッダのパケット長さフィールド1015が追加される。パケット長さ1015を使用してパケット間の境界を分かるために、連続したパケットストリームを正確に受信することができる。また、パケット長さ1015を使用してパケットが損失されるとしても、FEC復号化により損失されたパケットのヘッダ情報をまず復旧し、このヘッダ情報により対応するパケットの長さを把握した後に、対応するパケットの長さ情報を正しく得ることができる。
【0124】
符号化構造フィールド1016は、第1のFECの適用/不適用及び/又は第2のFECの適用/不適用を示すFEC構成関連情報1016a、FECブロック境界関連情報1016b、及びFEC構成連続フラグ1016cを含む。
【0125】
FEC符号化構成フィールド1018は、FECタイプ関連情報1018a、リフティング関連情報1018b、短縮関連情報1018c、及びパンクチャーリング関連情報1018dを含む。
【0126】
下記では、本発明の実施形態によるアプリケーションレイヤー順方向エラー訂正(AL−FEC)シグナリング方法について説明する。
【0127】
1.損失モデル
AL−FECのためのチャネルモデルについて、2種類の損失モデルは、下記のように仮定することができる。
【0128】
通常、ネットワークでの消去は、ランダムにだけでなくバースト方式でも発生するために、ランダム+バースト消去チャネルモデルを仮定することが好ましい。
【0129】
DVB AL−FECブルーブック(Bluebook)に明示されたREIN消去チャネルは、ランダム消去チャネルと結合されることができる。反復電気インパルス雑音(REIN)チャネルは、ディジタル加入者回線(Digital Subscriber Line:DSL)ラインで8msの固定されたタイムバースト消去(fixed time burst erasure)を引き起こすことがある。
【0130】
1.1 ランダム+REIN消去チャネルモデル
− 反復電気インパルス雑音(REIN):固定されたタイムバースト消去(8ms)
【0131】
図11は、本発明の実施形態による2状態ギルバート−エリオット消去チャネル(Gilbert-Elliot Erasure Channel:GEEC)モデルの一例を示す図である。
【0132】
2状態ギルバート−エリオット消去チャネルモデルは、
図11に示すように、良い状態1100及び悪い状態1200を含む。
図11において、良い状態1100は、低い損失状態を示し、悪い状態1200は、バースト消去を誘発させる高い損失状態を示す。
【0133】
1.2 2状態ギルバート−エリオット消去チャネル(GEEC)モデル
− 良い状態:ランダム消去チャネル(低い損失状態)
− 悪い状態:バースト消去チャネル(高い損失状態)
【0134】
2.2ステージFEC符号化構造でのシミュレーション
図12A及び
図12Bは、本発明の実施形態による1ステージ及び2ステージFEC符号化構造を示す図である。特に、
図12Aは、1ステージFEC符号化構造を示し、
図12Bは、2ステージFEC符号化構造を示す。
【0135】
1ステージFEC符号化構造は、P=P1+P2に対応するFECパリティを各サブブロックに付加する。
【0136】
他方、2ステージFEC符号化構造は、P1 FECパリティを各サブブロックに付加し、P2 FECパリティをM個のサブブロック全体を含むソースブロックに付加する。
【0137】
図13乃至
図18は、本発明の実施形態によるランダム+REINチャネル上で2ステージFEC符号化構造及び1ステージFEC符号化構造に対するシミュレーション結果を示す図である。
【0138】
ハイブリッド配信サービス、例えば、AVストリーミング及びファイル配信を同一のストリーム内で送信する場合に、図面に示すように、それぞれのAVデータ及びファイルデータが共に送信される。通常、P1に対応するFECパリティがAVデータのために必要とされる場合に、ファイルデータは、AVデータより高いFEC性能を要求するので、AVデータ及びファイルデータを同時にストリーミングする場合に、ファイルデータの要求性能に合うようにP=P1+P2に対応するFECパリティを要求する。しかしながら、これは、ランダム消去が発生するチャネル環境では有効であるが、バースト消去が発生するチャネル環境では有効でないために、さらに効率的な方法が要求される。通常に、バースト消去を訂正するための方法では、非常に長いコードを使用するか、又はインターリービングを通してバースト消去をランダム消去にスイッチングすることにより復号化性能を向上させることができる。しかしながら、上記の通りに、長いコードを使用するか又はインターリービングを通してバースト消去を訂正する場合には、AVデータの増加を引き起こすことがある。したがって、バースト消去が発生する環境でハイブリッド配信サービスが行われる場合には、効率的な方法が要求される。
【0139】
図13乃至
図18は、1ステージFEC符号化構造のためにP=P1+P2に対応するFECパリティを各サブブロックに付加し、2ステージFEC符号化構造のためにP1 FECパリティを各サブブロックに付加し、P2 FECパリティをM個のサブブロックを含むソースブロックに付加した後に、ランダム+REINチャネル環境の下で実行されたシミュレーションの結果を示す図である。
【0140】
以下は、シミュレーションパラメータを整理したものである。
2.1 シミュレーションパラメータ
− データレート:8Mbps
− ペイロードサイズ:1000バイト
− コード:アイデアルコード
− 全オーバーヘッド(Overall overhead):20%(P=P1+P2)
− 1ステージP:20%
− 2ステージP1−P2:15%−5%
− サブブロック長さ(K):200、400
− サブブロックの個数(M):K=200の場合に32であり、K=400の場合に16である。
− ブロック期間:サブブロック長さ200の場合に200msであり、サブブロック長さ400の場合に400msである。
− ランダム消去:パケット消去率(PER)=0〜20%
− バースト消去:パケット消去率(PER)を有するREIN(8ms)=0.0001、0.001、0.01
【0141】
ここで使用される‘サブブロック長さ’は、サブブロックを構成するペイロードの個数を意味する。ペイロードのサイズが1000バイトとして設定される場合に、サブブロック長さ200は、8Mbpsのデータレートを要求するサービスで約200msのFECブロック期間を有し、サブブロック長さ400は、400msのFECブロック期間を有する。これらの状況から、REIN(8ms)バースト消去が1回発生する時に、どれくらいのペイロードがFECブロックから消去されるかを計算することができる。このような方式でシミュレーションを実行する。
【0142】
図13乃至
図15は、本発明の実施形態によるK=200の場合に2ステージFEC符号化構造の効果を示す図である。
【0143】
図13は、P1=15%(P2=0)のバーストが割り当てられる時に1ステージFEC復号化構造のFEC復号化が行われた後にFEC−1ブロック(サブブロック200+P1 15%パリティブロック)のフレームエラーレート(FER)を示す。バースト消去がない場合に、略4.4%のランダム消去で略10^(−7)のFER性能が示される。しかしながら、バースト長さが8パケットであるバースト消去が10^(−4)、10^(−3)、10^(−2)のPERで付加されることにより、ランダム消去環境において、略P1=15%でよく動作するが、バースト消去の発生により急激な性能劣化が発生する。
【0144】
図14は、P2=5%が付加される時に、すなわち、P=P1+P2(20%)が1ステージFEC符号化構造に付加される時のFER性能を示す。図示するように、 バースト消去10^(-4)を除外した10^(−3)、10^(−2)バーストによるPERが追加される場合に性能劣化が発生することがある。これは、バースト消去が発生するチャネル環境で1ステージFEC符号化構造で目標性能を達成し難いことを示す。通常、AVデータのためのFER性能は、10^(−7)に設定される。この場合に、ファイルデータは、これよりさらに低いFER性能を要求する。これは、AVデータが一定の程度のパケット損失を許容するが、ファイルデータは、そのパケット損失の時に役に立たないためである。したがって、バースト消去が発生する場合に、ファイルデータの損失は、1ステージFEC符号化構造で防止されないことがある。
【0145】
図15は、2ステージFEC符号化構造のために、P1=15%のオーバーヘッドが各サブブロックに付加され、P2=5%のオーバーヘッドが32個のサブブロック(すなわち、ソースブロック)に付加される場合のFEC−1ブロックに対するFER性能を示す図である。図示するように、バースト消去10^(−4)、10^(−3)、及び10^−2)を有するすべての領域で優秀な性能を示す。
【0146】
これらの結果に基づいて、略P1=15%のバーストを各サブブロックに割り当てることによりサブブロック期間に対応する遅延(本実験の場合に200ms)でAVデータを再生し、AVデータをユーザに提供することが好ましい。遅延が相対的に大きい問題でないファイルデータの再生において、FEC−1ブロック復号化の失敗の時にFEC−2ブロックに基づく復号化を実行することが好ましい。このようにすることにより、バースト消去が発生する環境でもAVデータの再生だけでなくファイルデータの再生も保証することができる。通常、バースト消去は、予測不可能にかつまれに発生するために、ある程度パケット損失を許容するAVデータには致命的でない。しかしながら、バースト消去がまれに発生するとしても一旦バースト消去が発生すると、パケット損失を許容しないファイルデータは、再生されないことがある。これにより、ユーザに不便さを引き起こし、システム効率を低下させる。しかしながら、本発明の実施形態によれば、AVデータは、遅延に敏感であるためにサブブロックのように小さな遅延を誘発するように設計されることは好ましくない。例えば、全ソースブロックが1ステージFEC符号化構造でFEC符号化が行われる場合に、FER性能は、2ステージFEC符号化構造でFEC符号化が行われる場合に比べてよりよいこともある。しかしながら、1ステージFEC符号化構造でFEC符号化が行われる場合に、AVデータの遅延は、200ms x 32=6.4秒に達することがあるので、過度の遅延を引き起こす。したがって、特にライブストリームの場合に好ましくない。
【0147】
図16乃至
図18は、本発明の実施形態によるK=400の場合の2ステージFEC符号化構造及び1ステージFEC符号化構造の性能を示す図である。
図16乃至
図18は、K=200の場合と同一の傾向を示す。言い換えれば、
図18での2ステージFEC符号化構造は、バースト消去が発生する環境において、
図16及び
図17での1ステージFEC符号化構造に比べてFER性能に優れる。
【0148】
図19は、本発明の実施形態によるMMTシステムが適用されるAL−FEC符号化/復号化フローに対する概念を示す図である。
【0149】
図19を参照すると、MMTシステムは、MMT D.1レイヤー1900、MMT E.1レイヤー1930、及びMMT D.2レイヤー/IETFアプリケーションプロトコルレイヤー1920を含む。
【0150】
MMT D.1レイヤー1900は、ペイロードフォーマット生成器1901と、AL−FECモジュール変換器1903と、FECエンコーダ/デコーダ1905とを含む。
【0151】
符号化の間に、MMT D.1レイヤー1900は、MMTパッケージ(例えば、AVデータ、ファイル、テキストなどをストレージに保存するか又は送信を考慮する目的で作られたフォーマット)をMMT E.1レイヤー1930から受信し、ペイロードフォーマット生成器1901により送信のためのソースペイロードに分割することによりソースブロックを生成する。AL−FECモジュール変換器1903は、ソースブロックを同一の長さを有する情報ペイロードを含む2次元アレイである情報ブロックに変換する。FECエンコーダ1905は、与えられたFECコードで情報ブロックのFEC符号化を実行することによりパリティブロックを情報ブロックから生成し、パリティブロックをペイロードフォーマット生成器1901に送信する。ペイロードフォーマット生成器1910は、パケット化するために、パリティブロックをソースブロックに付加し、ペイロードヘッダ(PLH)を各ペイロードに付加することによりMMTペイロードフォーマットを生成し、MMTペイロードフォーマットをMMT D.2レイヤー/IETFアプリケーションプロトコルレイヤー1920に送信する。UDPヘッダは、送信の間に、UDPのようなトランスポートプロトコルにより付加され、さらにIPヘッダが付加される。
【0152】
次いで、RSコード及びLDPC(又はラプター/ラプターQ)コードのようなFECコードが使用される時の2ステージFEC符号化構造の一例について説明する。
【0153】
所定数のソースペイロードを含むソースブロックは、送信の間にその損失を復旧するために2ステージFEC符号化方式により次のような4つのケースで保護される。
− ケース0:符号化ない構造に対応する
− ケース1:FEC−1符号化構造に対応する(例えば、1ステージFEC符号化構造)
− ケース2:FEC−2符号化構造に対応する(例えば、1ステージFEC符号化構造)
− ケース3:FEC−1及びFEC−2符号化構造に対応する(例えば、2ステージFEC符号化構造)
RSコード及びLDPC(又はラプター/ラプターQ)は、FEC−1コード及びFEC−2コードのために使用される。
【0154】
ケース0のためには、FEC−1及びFEC−2符号化がスキップされ、1ステージFEC符号化構造の場合に、Mは、1に設定される。ケース1のためには、FEC−1符号化がスキップされ、ケース2のためには、FEC−2符号化がスキップされる。
【0155】
2ステージFEC符号化構造のために、ソースブロックは、M個のサブブロックを含み、各サブブロックは、FEC−1コードにより符号化され、ソースブロックは、FEC−2コードにより符号化される。
【0156】
下記の表1は、2ステージFEC符号化構造のためのRSコードとLDPCコードとの可能な組合せを示す。本発明の実施形態によれば、LDPCは、ラプター又はラプターQに置き換えられることができる。
【0158】
したがって、1ステージFEC符号化構造を含む2ステージFEC符号化方式で使用可能なFEC符号化構造の場合には、次のような6つのケースが可能である。本発明の実施形態によれば、LDPCは、ラプター又はラプターQに置き換えられることができる。
− 符号化なし
− RS符号化(1ステージ)
− LDPC符号化(1ステージ)
− RS−RS符号化(2ステージ)
− RS−LDPC符号化(2ステージ)
− LDPC−LDPC符号化(2ステージ)
【0159】
ケース1は、相対的に小さな個数のソースペイロードを含むソースブロックのためであり、ケース2は、相対的に大きな個数のソースペイロードを含むソースブロックのためであることに留意すべきである。ソース/サブブロックのためのソースペイロードの個数及びFECコードにより付加されるパリティペイロードの個数が255個より小さいか又は同一である場合に、RSコードが使用される。そうでない場合には、LDPCが使用される。単純に、ソース/サブブロックのためのソースペイロードの個数が200又はそれ以下、400、800、1600、3200、及び6400に分類され、これに対応する場合に、200又はそれ以下は、ソースペイロードがRSコードで符号化され、400又はそれ以上は、ソースペイロードがLDPCコード(又は、ラプター/ラプターQ)で符号化される。
【0160】
図20A及び
図20Bは、本発明の実施形態による1ステージ及び2ステージFEC符号化構造を示す図である。特に、
図20Aは、1ステージFEC符号化構造を示し、
図20Bは、2ステージFEC符号化構造を示す。
【0161】
図20Aを参照すると、1ステージFEC符号化構造は、P1に対応するFECパリティを1つのサブブロックに付加する。
【0162】
その一方、
図20Bを参照すると、2ステージFEC符号化構造は、P1 FECパリティを各サブブロックに付加し、P2 FECパリティをM個のサブブロックの全体を含むソースブロックに付加する。
【0163】
図21は、本発明の実施形態によるFEC配信ブロック及びFEC配信クラスターの構成を示す図である。
【0164】
図21を参照すると、
図21でのソースブロックのソースペイロードは、その長さがすべて同一であることもあり、又は
図21に示すように相互に異なることもある。相互に異なる場合に、同一の長さを有する2次元アレイ(例えば、情報ブロック)は、
図22に示すように、パディングデータを各ソースペイロードに付加することにより生成される。
【0165】
図22乃至
図24は、本発明の実施形態によるソースブロックを情報ブロックにマッピングする過程の例を示す図である。
【0166】
特に、
図22は、ソースブロックを情報ブロックにマッピングする過程を示す図である。
【0167】
Kが情報ブロックから200又はそれ以下である場合に、ソースブロックを情報ブロックにマッピングさせることにより、
図23に示すように、RS符号化のための情報シンボルを生成することもあり、
図24に示すように、LDPC符号化のための情報シンボルを生成することもある。
【0168】
図25は、本発明の実施形態によるRSフレームの構造を示す図である。
図26は、本発明の実施形態による低密度パリティ検査(LDPC)フレームの構造を示す図である。
【0169】
図25及び
図26にそれぞれ示すように、パリティシンボルは、情報シンボルのRS及びLDPC符号化を実行することにより生成される。
図26の場合には、短縮及びパンクチャーリングが図示されていないが、パリティシンボルは、様々なK及びPに対して、所定の長さを有するLDPCコードを用いて
図25の場合のように短縮及びパンクチャーリングを実行することにより生成されることができる。選択的に、短縮だけを実行することもあり、パンクチャーリングだけを実行することもある。
【0170】
図27は、本発明の実施形態によるリードソロモン(RS)パリティシンボルのためのパリティブロックマッピングを示す図である。
図28は、本発明の実施形態によるLDPCパリティシンボルのためのパリティブロックマッピングを示す図である。
【0171】
図27及び
図28に示すように、RSパリティブロック及びLDPCパリティブロックは、この生成されたパリティシンボルから生成される。
【0172】
次は、RSコード及びLDPCコードの説明を示す。
【0173】
有限フィールドGF(2^8)上のRS(N,K)コードの原始多項式は、p(x)=x^8+x^4+x^3+x^2+1で定義される。
【0174】
GF(2^8)でのシンボルは、(α^7、α^6、α^5、α^4、α^3、α^2、α、1)で示すことができ、ここで、α=00000010(2進)である。
【0175】
各RSコードワード(rsc)は、ベクトルで示す場合に、rsc=(e0、e1、...、e199、p200,...,p239)で示す200バイトの情報及び40バイトのパリティを有する有限フィールドGF(2^8)上のRS(240,40)コードである。
【0176】
有限フィールドGF(2)上のLDPC(K+P,K)コードは、K個の情報ビット及びP個のパリティビットを含むQC−LDPC構造を有する。ここで、K=Lx400及びP=Lx80、L=1、2、4、8又は16である。
【0177】
特に、LDPCコードのパリティパートは、
図29に示すように、ほぼ三角形のマトリックス(approximately triangular matrix)の形態を有する。
【0178】
図29は、本発明の実施形態によるHマトリックスの構造を示す図である。
図30は、本発明の実施形態によるFECパケットブロック及びFECパケットクラスターの構成を示す図である。
【0179】
図29を参照すると、K=400及びP=Lx80(L=1、2、4、8、又は16)である。
【0180】
下記は、FECパケットブロックを示す。
【0181】
図30を参照すると、FECパケットヘッダ(ペイロードヘッダ(PLH))は、ソース/サブブロック及びパリティブロックを含むFEC配信ブロック/クラスターの各ペイロードの先頭に割り当てられ、FECパケットを含むFECパケットブロック/クラスターで送信される。
【0182】
次いで、FEC構成情報を保存し運搬するFECパケットヘッダフォーマットについて説明する。
【0183】
特に、送信器によりAL−FECが適用される符号化構造のタイプを示す。
【0184】
すなわち、FECパケットヘッダフォーマットは、fec_structureフィールドを含み、その定義は、次のようである。
fec_structure:FECブロック(又はパリティブロック)を生成するために選択された符号化構造を示す。
fec_structureの1番目の場合は、次のようである。
b000:符号化ない構造
b001:RS符号化構造
b010:LDPC符号化構造
b011:RS−RS2ステージ符号化構造
b100:RS−LDPC2ステージ符号化構造
b101:LDPC−LDPC2ステージ符号化構造
その他:予備
fec__structureの2番目の場合は、次のようである。
b000:符号化ない構造
b001:RS符号化構造
b010:LDPC符号化構造
b101:RS−RS2ステージ符号化構造
b110:LDPC−LDPC2ステージ符号化構造
b111:RS−LDPC2ステージ符号化構造
その他:予備
【0185】
2番目の場合に、b2=1は、2ステージ符号化構造の適用を示し、b1=1は、LDPCコードの適用を示し、b0=1は、RSコードの適用を示す。LDPCは、ラプター又はラプターQに置き換えられることができる。
【0186】
fec_structureに対する信号は、送信の間に、FECパケットヘッダに記憶され、インーバンド信号として送信されることもあり、又は、FEC制御パケット又はRTCPのようなRTP制御パケットのヘッダ又はペイロードに記憶されることにより、受信器がfec_structure情報を分かるようにする。
【0187】
以上、本発明を具体的な実施形態を参照して詳細に説明してきたが、本発明の範囲及び趣旨を逸脱することなく様々な変更が可能であるということは、当業者には明らかであり、本発明の範囲は、上述の実施形態に限定されるべきではなく、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるべきものである。