(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0020】
本発明の上述した及び他の様相、特徴、及び利点は、以下の添付図面が併用された後述の詳細な説明から、より一層明らかになるだろう。図面中、同一の図面参照符号は、同一の構成要素、特性、及び構造を意味することが分かるはずである。
【0021】
添付の図面を参照した下記の説明は、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるような本発明の実施形態の包括的な理解を助けるために提供されるものであり、この理解を助けるために様々な特定の詳細を含むが、単なる1つの実施形態に過ぎない。従って、本発明の範囲及び趣旨を逸脱することなく、ここに説明する実施形態の様々な変更及び修正が可能であるということは、当該技術分野における通常の知識を有する者には明らかである。また、明瞭性と簡潔性の観点から、当業者に良く知られている機能や構成に関する具体的な説明は、省略する。
【0022】
次の説明及び請求項に使用する用語及び単語は、辞典的意味に限定されるものではなく、発明者により本発明の理解を明確且つ一貫性があるようにするために使用する。従って、本発明の実施形態の説明が単に実例を提供するためのものであって、特許請求の範囲とこれと均等なものに基づいて定義される発明を限定する目的で提供するものでないことは、本発明の技術分野における通常の知識を持つ者には明らかである。
【0023】
英文明細書に記載の単数形は、コンテキスト中に特記で明示されない限り、複数形を含むことは、当業者には理解されることである。したがって、例えば、“コンポーネント表面(a component surface)”との記載は、1つ又は複数の表面を含む。
【0024】
本発明の実施形態は、移動通信システムにおける順方向誤り訂正(Forward Error Correction:以下、‘FEC’と称する)パケットを送受信する装置及び方法を提案する。
【0025】
本発明の他の実施形態は、移動通信システムにおけるパディングデータが含まれる前のデータのサイズを通知するFECパケットを送受信する装置及び方法を提案する。
【0026】
本発明のさらに他の実施形態は、移動通信システムにおけるアプリケーションレイヤーFEC(Application Layer:以下、‘AL−FEC’と称する)シグナリング情報を通してパディングデータが含まれる前のデータのサイズを通知するFECパケットを送受信する装置及び方法を提案する。
【0027】
本発明のさらなる他の本発明の実施形態は、移動通信システムにおける情報ブロック生成(Information Block Generation:以下、‘IBG’と称する)モードに対応してソースブロックを生成するFECパケットを送受信する装置及び方法を提案する。
【0028】
本発明のさらにその他の本発明の実施形態は、移動通信システムにおけるIBGモードに対応して生成されたソースブロックのペイロードのサイズを通知するFECパケットを送受信する装置及び方法を提案する。
【0029】
一方、本発明の実施形態は、移動通信システム、例えば、進化したパケットシステム(Evolved Packet System:以下、‘EPS’と称する)を参照して説明する。しかしながら、移動通信システムは、EPSだけでなく、ロングタームエボルーション(Long-Term Evolution、LTE)移動通信システム、ロングタームエボルーションアドバンスド(Long-Term Evolution-Advanced、LTE−A)移動通信システム、IEEE(Institute of Electrical and Electronics Engineers)802.16m移動通信システムの内のいずれか1つであってよいことは、当該技術分野における通常の知識を有する者には明らかである。
【0030】
説明の便宜上、本発明で使用される用語を次のように定義する。
【0031】
(1) FEC符号
FEC符号は、誤りシンボルまたは削除シンボル(erasure symbol)を訂正するために使用される誤り訂正符号を示す。
【0032】
(2) FECフレーム
FECフレームは、情報語をFECエンコーディング方式を用いてエンコーディングすることにより生成される符号語を示す。FECフレームは、情報パート(information part)及びパリティパート(parity part)を含む。ここで、パリティパートは、“リペア(repair)パート”とも称する。
【0033】
(3) シンボル
シンボルは、データのユニットを示し、ビット又はバイトのシンボルサイズを有する。
【0034】
(4) ソースシンボル
ソースシンボルは、非保護データシンボル(unprotected data symbol)を示し、非保護データシンボルは、保護されない元来のデータシンボルを示す。
【0035】
(5) 情報シンボル
情報シンボルは、FECフレームに含まれる情報パートに含まれる非保護データシンボル及びパディングシンボルの内の1つを示す。
【0036】
(6) 符号語
符号語は、情報シンボルをFECエンコーディング方式を用いてエンコーディングすることにより生成されるFECフレームを示す。
【0037】
(7) パリティシンボル
パリティシンボルは、情報シンボルに基づいてFECエンコーディング方式を用いて生成される。このパリティシンボルは、FECフレームに含まれる。
【0038】
(8) パケット
パケットは、ヘッダ及びペイロードを含むデータの送信単位を示す。
【0039】
(9) ペイロード
ペイロードは、パケットに含まれ、送信器で送信されるユーザデータの一部を示す。
【0040】
(10) パケットヘッダ
パケットヘッダは、パケットに含まれるヘッダを示す。
【0041】
(11) ソースペイロード
ソースペイロードは、ソースシンボルを含むペイロードを示し、FEC方式により保護される基本単位を示す。
【0042】
D2ヘッダがFEC方式を用いて保護される場合には、ソースペイロードは、MMTトランスポートパケットである。D2ヘッダがFEC方式を用いて保護されない場合には、ソースペイロードは、MMTペイロードフォーマットである。以下、説明の便宜上、D2ヘッダを保護するFEC方式を“D2−FEC方式”と呼び、D2ヘッダを保護しないFEC方式を“D1−FEC方式”と称する。D2−FEC方式及びD1−FEC方式について説明する。
【0043】
まず、D2−FEC方式について説明する。
【0044】
D2−FEC方式では、MMTパケットが下位レイヤー(underlying layer)とのインターフェースのために使用される。
【0045】
D2−FEC方式では、ソースペイロードがMMTトランスポートパケットであり得、MMTトランスポートパケットは、D2ヘッダ及びMMTペイロードを含む(ソースペイロード=MMTトランスポートパケット(=D2ヘッダ+MMTペイロードフォーマット))。
【0046】
ここで、MMTトランスポートパケットに含まれるソースペイロード及びFECインバンド信号は、FEC保護の後に送信される。すなわち、MMTトランスポートパケットは、FECインバンド信号を含むために修正される。従って、FEC保護の後のMMTトランスポートパケットは、D2ヘッダ、FECインバンド信号、及びMMTペイロードフォーマットを含む(MMTトランスポートパケット=D2ヘッダ+FECインバンド信号+MMTペイロードフォーマット)。ここで、FECインバンド信号は、D2ヘッダまたはMMTペイロードフォーマットの後ろに位置する。
【0047】
また、MMTトランスポートパケットは、下記のように表される。
【0048】
MMTトランスポートパケット=D2ヘッダ+(D1ヘッダ)+FECインバンド信号+パリティペイロード
【0049】
2番目に、D1−FEC方式は、次のように説明される。
【0050】
D1−FEC方式では、MMTペイロードフォーマットがD2レイヤーとのインターフェースのために使用される。
【0051】
D1−FEC方式では、ソースペイロードがMMTペイロードフォーマットであり得、MMTペイロードフォーマットは、D1ヘッダ及びペイロードを含む(ソースペイロード=MMTペイロードフォーマット(=D1ヘッダ+ペイロード))。
【0052】
MMTペイロードフォーマットに含まれるソースペイロード及びFECインバンド信号は、FEC保護の後に、D2レイヤーまたはアプリケーションプロトコルレイヤー、すなわち、リアルタイムプロトコル(Real Time Protocol:以下、‘RTP’と称する)レイヤーに送信される。すなわち、MMTペイロードフォーマットは、FECインバンド信号を含むために修正される。従って、FEC保護の後に送信されるMMTペイロードフォーマットは、D1ヘッダと、FECインバンド信号と、ペイロードとを含む(MMTペイロードフォーマット=D1ヘッダ+FECインバンド信号+ペイロード)。FECインバンド信号は、D1ヘッダ又はペイロードの後ろに位置する。
【0053】
また、MMTペイロードフォーマットは、下記のように表される。
【0054】
MMTペイロードフォーマット=D1ヘッダ+FECインバンド信号+パリティペイロード
【0055】
(12) 情報ペイロード
情報ペイロードは、情報シンボルを含むペイロードを示す。
【0056】
(13) パリティペイロード
パリティペイロードは、パリティシンボルを含むペイロードを示す。
【0057】
(14) ソースブロック
ソースブロックは、少なくとも1個のソースペイロード、例えば、K個のソースペイロードを含む。また、ソースブロックは、FEC保護のために情報ブロックに変換される。
【0058】
(15) 情報ブロック
情報ブロックは、少なくとも1個の情報ペイロードを含む。
【0059】
情報ブロックは、ソースブロックを変換することにより生成された少なくとも1個の情報ペイロードを含む。ここで、情報ブロックに含まれる情報ペイロードの個数は、情報ブロック生成(Information Block Generation:以下、‘IBG’と称する)モードに従って変更され得る。例えば、IBGモードがIBG_mode0及びIBG_mode1の内の1つである場合に、情報ブロックに含まれる情報ペイロードの個数は、ソースブロックに含まれるソースペイロードの個数“K”と同一である。IBGモードがIBG_mode0及びIBG_mode1でない場合には、情報ブロックに含まれる情報ペイロードの個数がソースブロックに含まれるソースペイロードの個数“K”と同一でないこともある。
【0060】
IBG_mode0は、ソースペイロードの長さが同一である場合、すなわち、ソースペイロードの長さが固定され、ソースブロックが情報ブロックと同一である場合に適用されるIBGモードを示す。
【0061】
2番目に、IBG_mode1は、ソースペイロードの長さが可変である場合に適用するIBGモードを示す。IBG_mode1において、パディングデータをそれぞれソースペイロードに付加することにより同一のサイズを有する情報ブロックが生成される。IBG_mode1では、ソースブロックに含まれるソースペイロードの個数が情報ブロックに含まれる情報ペイロードの個数と同一である。IBG_mode1において、ソースペイロードの長さが可変であるので、ソースペイロードの各々に対する仮想長さ情報が必要とされる。下記では、IBG_mode1について説明する。
【0062】
3番目に、IBG_mode2は、ソースペイロードの長さが可変である場合に適用するIBGモードを示す。IBG_mode2において、パディングデータをそれぞれソースペイロードに付加することにより同一のサイズを有する情報ブロックが生成される。IBG_mode2では、ソースブロックに含まれるソースペイロードの個数が情報ブロックに含まれる情報ペイロードの個数と同一でないこともある。IBG_mode2において、ソースペイロードの長さが可変であるので、ソースペイロードの各々に対する仮想長さ情報が必要とされる。下記では、IBG_mode2について説明する。
【0063】
(16) リペアブロック
リペアブロックは、少なくとも1個のペイロード、例えば、P個のリペアペイロードを含む。リペアブロックは、“パリティブロック”とも呼ぶ。
【0064】
(17) FECブロック
FECブロックは、少なくとも1個の符号語又は情報ブロック及びパリティブロックを含む少なくとも1個のペイロードを含む。
【0065】
(18) FEC配信ブロック
FEC配信ブロックは、ソースブロック及びリペアブロックを含む少なくとも1個のペイロードを含む。
【0066】
(19) FECパケット
FECパケットは、FECブロックを送信するために使用されるパケットを示す。
【0067】
(20) ソースパケット
ソースパケットは、ソースブロックを送信するために使用されるパケットを示す。
【0068】
(21) パリティパケット
パリティパケットは、リペアブロックを送信するために使用されるパケットを示す。
【0069】
(22) FECパケットブロック
FECパケットブロックは、FEC配信ブロックを送信するために使用される少なくとも1個のパケットを含む。
【0070】
(23) MMTパッケージ
MMTパッケージは、少なくとも1個のMMTアセットを含む。様々なタイプのMMTアセット、例えば、ビデオアセット(Video Asset)、オーディオアセット(Audio Asset)、ウィジェットアセット(Widget Asset)などが存在する。
【0071】
(24) MMTアセット
MMTアセットは、少なくとも1個のメディアプロセッシングユニット(Media Processing Unit:以下、‘MPU’と称する)を含む。MPUは、MPUのサイズに従ってMPUをパケット化することにより、少なくとも1個のMMTペイロードフォーマットに変換される。すなわち、MPUは、最大トランスポートユニット(Maximum Transport Unit:以下、‘MTU’と称する)のサイズに従って、1個のMMTペイロード又はMPUを分割(fragmentation)することにより生成される複数のMMTペイロード、または複数のMPUをアグリゲーション(aggregation:集約)することにより生成される複数のMPUを含む1つのMMTペイロードに変換される。
【0072】
図1A及び
図1Bは、本発明の実施形態によるMMTシステムにおけるネットワークトポロジー及びデータフローを示す図である。
【0073】
図1Aを参照すると、ネットワークトポロジーは、信号送信装置として動作するホストA 102と信号受信装置として動作するホストB 108とを含む。ホストA 102及びホストB 108は、1つ以上のルータ104及び106を通して接続される。ホストA 102及びホストB 108は、イーサネット(登録商標)(Ethernet(登録商標))118及び122を通してルータ104及び106と接続され、ルータ104及び106は、光ファイバー、衛星通信(satellite communication)、又は他の使用可能な手段120を通して相互に接続される。ホストA 102とホストB 108間のデータフローは、リンクレイヤー116、インターネットレイヤー114、トランスポートレイヤー112、及びアプリケーションレイヤー110を通してなされる。
【0074】
図1Bを参照すると、アプリケーションレイヤー110は、AL−FECを通して送信されようとするデータ130を生成する。データ130は、RTPパケットデータ又はMMTに従うMMTパケットデータを使用してオーディオ/ビデオ(Audio/Video:AV)コーデックステージにより圧縮されたデータからフラグメントされたRTPパケットデータであり得る。データ130は、一例として、トランスポートレイヤー112によりユーザデータグラムプロトコル(User Datagram Protocol:以下、‘UDP’と称する)ヘッダが挿入されたUDPパケット132に変換される。インターネットレイヤー114は、インターネットプロトコル(Internet Protocol:以下、‘IP’と称する)ヘッダをUDPパケット132に付加することによりIPパケット134を生成し、リンクレイヤー116は、フレームヘッダ及び必要に応じてフレームフッタ(frame footer)を付加することにより送信されようとするフレーム136を構成する。
【0075】
フレーム単位の圧縮方式がMMTシステムに適用される場合に、フレームは、同一の長さを有する複数のパケットにフラグメントされ、最後のパケットのみに対してパディング動作が実行される必要がある。しかしながら、フレームがビデオパケットを含む複数のスライスにフラグメントされ、スライスの単位でエンコーディングされる場合に、各スライスが異なるサイズを有することにより、相対的に多くの量のパディングが生成される。特に、ビデオパケット、オーディオパケット、テキストパケットなどのような様々なタイプのパケットが同一のストリームを通して送信され、AL−FECエンコーディング方式が適用される場合に、異なるタイプのパケットが異なるサイズを有するので、多くの量のパディングが生成され得る。また、スケーラブル(Scalable)ビデオエンコーディングにおいて、パケットのサイズは、レイヤーごとに変わり得、これにより、多くの量のパディングが生成される。
【0076】
したがって、下記で説明される本発明の実施形態では、トランスポートプロトコルを通して送信されるデータの量が可変である場合、すなわち、可変パケットサイズを有するパケットが送受信される場合に、効率的なAL−FECエンコーディング方法を提案する。
【0077】
一方、FECパケット送信装置がFECエンコーディングのために使用されるソースブロックを生成するIBGモードは、IBG_mode0、IBG_mode1、及びIBG_mode2を含む。
【0078】
上述したように、IBG_mode0は、ソースペイロードの長さが同一である場合、すなわち、ソースペイロードの長さが固定される場合に適用されるIBGモードを示し、ソースブロックが情報ブロックと同一である場合に適用されるIBGモードを示す。
【0079】
IBG_mode1は、ソースペイロードの長さが可変である場合に適用するIBGモードを示す。IBG_mode1において、同一のサイズを有する情報ブロックは、パディングデータをソースペイロードにそれぞれ付加することにより生成される。IBG_mode1において、ソースブロックに含まれるソースペイロードの個数は、情報ブロックに含まれる情報ペイロードの個数と同一である。IBG_mode1において、ソースペイロードの長さが可変であるので、ソースペイロードの各々に対する仮想長さ情報が必要とされる。IBG_mode1については、
図2を参照して説明する。
【0080】
IBG_mode2は、ソースペイロードの長さが可変である場合に適用するIBGモードを示す。IBG_mode2において、同一のサイズを有する情報ブロックは、パディングデータをソースペイロードにそれぞれ付加することにより生成される。IBG_mode2において、ソースブロックに含まれるソースペイロードの個数は、情報ブロックに含まれる情報ペイロードの個数と同一でないこともある。IBG_mode2において、ソースペイロードの長さが可変であるので、ソースペイロードの各々に対する仮想長さ情報が必要とされる。IBG_mode2については、
図3及び
図4を参照して説明する。
【0081】
図2は、本発明の実施形態によるMMTシステムにおける順方向誤り訂正(FEC)パケット送信装置の動作モードが情報ブロック生成(IBG)_mode1である場合のFECパケット送信装置がソースブロックを生成する過程を示す図である。
【0082】
図2を参照すると、可変パケットサイズを有するK個のソースペイロード(ソースPL)202、すなわち、ソースPL#0乃至ソースPL#K−1を含むソースブロック200がAL−FECエンコーディングのために入力される場合に、FECパケット送信装置は、ソースペイロードが所定の長さS(例えば、S=Smax)を同一に有するようにするために、少なくとも一部のソースペイロードにパディングデータ214を付加することにより同一の長さを有する情報ペイロード212を構成する。ここで、Smaxは、ソースペイロードのサイズの中で最大長さを示す。情報ペイロード212は、情報ブロック210を構成する。
【0083】
FECパケット送信装置は、所定のFECコードに従って情報ブロック210をエンコーディングし、情報ペイロード212に対応するパリティペイロード(Payload:以下、‘PL’と称する)222、すなわち、パリティペイロード(パリティPL)#0乃至PL#N−K−1を生成する。N−K個のパリティペイロード222は、パリティブロック220を構成する。FECパケット送信装置は、ソースブロック200及びパリティブロック220をパケットの形態で送信する。例えば、ソースブロック200及びパリティブロック220のペイロードは、それぞれパケットに乗せた後に転送される。
【0084】
図2のIBG_mode1において、例えば、パディングデータ214の総量がパディング後の情報ブロック210のサイズ、すなわち、Smax×Kの50%に対応する場合に、パリティブロック220の50%がパディングデータのために付加されることにより、不必要な送信が発生する。したがって、FECデコーディングの後に復元されたペイロードがパディングデータを含むので、ソースPLの実際の長さをFECパケット受信装置に通知する必要がある。物理チャネルとは異なり、パケット損失がアプリケーションチャネル環境で発生する場合に、関連するペイロード自体が流失するのでペイロードに記憶されているデータの長さを認識できない。
【0085】
図3は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置の動作モードがIBG_mode2である場合のFECパケット送信装置がソースブロックを生成する過程を示す図である。
【0086】
図3を参照すると、SP1乃至SP4を含む入力されたソースパケット302は、所定の規則に従って所定の横長さSを有する2次元配列300内に順序通りに配置される。図示する例において、相対的に長い長さを有するSP1は、2次元配列300の1番目の行の全部及び2番目の行の前部の部分に配置される。SP2は、2番目の行の後部の部分及び3番目の行の前部の部分に配置される。SP3は、3番目の行の後部の部分及び4番目の行の前部の部分に配置される。最後に、相対的に短い長さを有するSP4は、4番目の行の中央に配置される。パディングデータ304は、ソースパケット302が配置される部分以外の2次元配列300の残りの部分を占める。
【0087】
上記のような2次元配列300を含む情報ブロックの各行は、情報ペイロードであるので、情報ペイロードの個数に対応するKは、ソースPLの個数に対応するK’より小さくなる。FECパケット送信装置は、2次元配列300を含む情報ブロックをエンコーディングすることにより、パリティPLを生成する。このような2次元配列300を使用するIBG_mode2は、
図2のIBG_mode1に比べて情報ペイロードの個数を減少させ、したがって、パリティPLの量を減少させる。
【0088】
図4は、本発明の実施形態による
図3に示した2次元配列に含まれる各ペイロードのオフセット情報を示す図である。
【0089】
図4を参照すると、直列化された2次元配列400上で各ソースパケットの開始位置を示すオフセット情報は、ソースブロックとともに送信される。
図4において、オフセット情報は、オフセット0、オフセット1、オフセット2、及びオフセット3を含む。FECパケット受信装置は、各ソースパケットのオフセットから2次元配列400を再構成することによりFECデコーディング動作を実行する。
【0090】
図3又は
図4において、FECパケット送信装置がIBG_mode2に対応してFECパケットを生成する場合に、FECデコーディングの後に復元されたペイロードがパディングデータを含むので、ソースPLの実際の長さをFECパケット受信装置に通知する必要がある。物理チャネルとは異なり、パケット損失がアプリケーションチャネル環境で発生する場合に、関連するペイロード自体が流失するのでペイロードに記憶されているデータの長さを認識できない。
【0091】
FECパケット送信装置がソースブロックに含まれるペイロードのサイズをFECパケット受信装置に通知する過程について説明する。
【0092】
図5は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置の動作を概略的に示す図である。
【0093】
図5を参照すると、FECパケット送信装置は、送信されようとするデータを長さSi(i=0,1,...,k−1)を有するk個のソースペイロードにフラグメントし、k個のソースペイロードを含むソースブロック501に基づいて、n−k個のパリティペイロードを含むパリティブロック503を生成する。FECパケット送信装置は、ソースブロック501とパリティブロック503とを含むFEC配信ブロック507をFECパケット受信装置に送信する。
【0094】
FECパケット送信装置は、関連するパディングバイトをソースブロック501に含まれるソースペイロードのそれぞれに付加することによりk個の情報ペイロードを生成し、k個の情報ペイロードを含む情報ブロック505を生成する。FECパケット送信装置は、それぞれのソースペイロードの長さSiを含む仮想長さ情報データを生成する。FECパケット送信装置に含まれるFECエンコーダ530は、情報ブロック505に基づく仮想長さ情報データと、n−k−1個のパリティペイロードを含むパリティブロック503と、所定のFECコードに対応する仮想長さ情報データに対するパリティデータとを生成する。
【0095】
パリティブロック503及びパリティデータは、ソースブロック501とともにFECパケット受信装置に送信される。制御器(
図5に図示せず)は、FECパケット送信装置に入力されるそれぞれのソースペイロードに含まれるデータのサイズをカウントすることにより仮想長さ情報データを生成することもでき、又はFECパケット送信装置がソースペイロードの長さを知り得るので、ソースペイロードの長さに関する情報を入力することにより仮想長さ情報データを生成することもできる。
【0096】
図6は、本発明の実施形態によるMMTシステムにおけるFECパケット受信装置の動作を概略的に示す図である。
【0097】
図6を参照すると、FECパケット受信装置は、損失されたパケットを含むFEC配信ブロックを受信する。FECパケット受信装置がソースペイロードのそれぞれの長さをカウントすることによりソースブロック601に含まれたソースペイロードのそれぞれに関する長さ情報を検出できるので、FECパケット受信装置は、長さ情報及びソースペイロードに関する仮想長さ情報を使用して、FECエンコーディングの時に生成されたパリティデータを受信されたパリティペイロードから取得する。ここで、FECパケット受信装置は、損失されたソースペイロードに関する長さ情報が分からないので、損失されたソースペイロードに関連した部分を削除する。FECパケット受信装置に含まれるFECデコーダ630は、この削除されたソースペイロードに対して削除訂正(erasure correction)動作を実行することにより、損失されたソースペイロードに関する長さ情報を復元する。
【0098】
また、FECパケット受信装置は、受信されたソースペイロードのそれぞれにパディングデータを付加することにより情報ブロックを生成する。この場合に、FECパケット受信装置は、損失されたソースペイロード対応する情報ペイロードを削除した後にFECデコーダ630を通して削除訂正動作を実行することにより情報ペイロードを含むFECブロック603を復元する。FECパケット受信装置が復元された長さ情報から復元された情報ペイロードに含まれるソースペイロードの長さを取得することができるので、FECパケット受信装置は、FECパケット送信装置から送信されたソースペイロードを含む復元されたソースブロック605を出力する。
【0099】
図7は、本発明の実施形態によるMMTシステムの構造及び配信機能レイヤーの構造を概略的に示す図である。
【0100】
図7を参照すると、メディアコーディングレイヤー(Media Coding Layer)711で圧縮されたオーディオ/ビデオデータは、カプセル化機能レイヤー(Encapsulation Function Layer:以下、‘Eレイヤー’と称する)713でファイルフォーマットと類似した形態でパッケージ化され出力される。
【0101】
配信機能レイヤー(Delivery Function Layer)715は、Eレイヤー713から出力されたデータをMMTペイロードフォーマットに変換し、MMTペイロードフォーマットにMMTトランスポートパケットヘッダを付加することによりMMTトランスポートパケットを生成した後に、このMMTトランスポートパケットを出力する。他方、配信機能レイヤー715は、RTPを用いてMMTペイロードフォーマットをRTPパケットに変換した後に、このRTPパケットを出力する。
【0102】
配信機能レイヤー715から出力されたMMTトランスポートパケット又はRTPパケットは、IPパケットに変換され、IPパケットは、ユーザデータグラムプロトコル(User Datagram Protocol:以下、‘UDP’と称する)/トランスポート制御プロトコル(Transport Control Protocol:以下、‘TCP’と称する)のプロトコルレイヤー717を通してIPレイヤー719で送信される。
【0103】
図8は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置が実行するAL−FECソースブロックエンコーディング過程を概略的に示す図である。
【0104】
図8を参照すると、MMT D.1レイヤー721は、MMT E.1レイヤーからMMTパッケージ(オーディオ/ビデオ(AV)データ、ファイル、テキストなどを保存ユニットに保存するか又は送信するために生成されたフォーマット)を受信し、所定の単位、例えば、ソースペイロード単位で受信されたMMTパッケージをフラグメントすることによりソースブロック501を生成する。上述したように、MMTパッケージは、少なくとも1個のMMTアセットを含む。例えば、オーディオアセットは、オーディオデータを送信するMMTアセットであり、ビデオアセットは、ビデオデータを送信するMMTアセットである。
【0105】
AL−FECモジュール803は、ソースブロック501に含まれたそれぞれのソースペイロードに関する長さ情報Si(i=0,1,...,k−1)をカウントするか、又はペイロードフォーマット生成器801及び制御器(
図8には図示せず)の内の1つからソースペイロードのそれぞれに関する長さ情報Si(i=0,1,...,k−1)を受信することにより仮想長さ情報を生成する。また、AL−FECモジュール803は、ソースブロック501に含まれるソースペイロードが同一の長さを有するようにするためにパディングデータを付加することにより情報ブロック505を生成する。
【0106】
FECエンコーダ530は、所定のFECコードに従って情報ブロック505及び仮想長さ情報に基づいてFECエンコーディング動作を実行することにより仮想長さ情報に対するパリティデータ及びソースブロック501に対するパリティブロック503を生成し、パリティデータ及びパリティブロック503をペイロードフォーマット生成器801に送信する。
【0107】
ペイロードフォーマット生成器801は、パリティデータ及びパリティブロック503をソースブロック501に付加し、ペイロードヘッダ(Payload Header:以下、‘PLH’と称する)をそれぞれのペイロードに付加することにより生成されたMMTペイロードフォーマットを、MMT D.2レイヤー又はインターネットエンジニアリングタスクフォース(Internet Engineering Task Force:以下、‘IETF’と称する)アプリケーションプロトコルレイヤー723に送信する。
図1で説明したように、MMT D.2レイヤー又はIETFアプリケーションプロトコルレイヤー723において、UDPヘッダ及びIPヘッダは、UDPのようなトランスポートプロトコルを通してMMTペイロードフォーマットに付加され、UDPヘッダ及びIPヘッダが付加されたMMTペイロードフォーマットが、FECパケット受信装置に送信される。
【0108】
一方、本発明の実施形態において、仮想長さ情報に対するパリティデータは、パリティブロックに含まれる。しかしながら、パリティデータがペイロードフォーマットヘッダを含むFEC配信ブロック内の所定の位置に含まれることは、当該技術分野における通常の知識を有する者には明らかである。ここで、所定の位置は、FECパケット送信装置及びFECパケット受信装置が相互に約束した位置である。
【0109】
例えば、パリティデータは、FEC配信ブロック内でソースブロック及びパリティブロックの内の1つの上の位置に割り当てられるか、又はFEC配信ブロック内でソースブロック及びパリティブロックの内の1つの下の位置に割り当てられ、ソースブロックのためのPLHに含まれることもあり、あるいは、パリティブロックのためのPLHに含まれることもある。一方、FECパケット受信装置は、
図8でのFECパケット送信装置と類似した構造を有し、
図6で説明した動作を実行する。
【0110】
説明の便宜上、仮想長さ情報データがPLHに含まれると仮定する。
【0111】
一方、MMTペイロードフォーマットは、下記の表1に示される。
【0113】
表1において、ソースペイロードは、MMTペイロードフォーマット又はMMTトランスポートパケットであり得る。
【0114】
また、パリティペイロードに対するペイロードヘッダフォーマットは、下記の表2に示される。
【0116】
また、ソースペイロードのためのペイロードヘッダフォーマットは、表3に示される。
【0118】
表2及び表3において、ペイロードタイプは、関連するMMTペイロードフォーマットのペイロードのタイプを示す。すなわち、表2に示すペイロードヘッダフォーマットは、パリティペイロードに対するペイロードヘッダフォーマットであり、これにより、ペイロードタイプは、パリティペイロードを示す。表3において、ペイロードヘッダフォーマットは、ソースペイロードに対するペイロードヘッダフォーマットであり、これにより、ペイロードタイプは、ソースペイロードを示す。
【0119】
表2及び表3において、シーケンス番号は、送信されるペイロードの順序を示すために昇順に又は降順に割り当てられ、したがって、シーケンス番号を使用してパケットが損失されたか否かを検出できる。
【0120】
表2及び表3において、FECフラグは、FEC方式が適用されたか否かを示す。例えば、FFCフラグの値が‘0’に設定される場合に、ソースブロックは、パリティペイロードなしに送信され、FEC方式は適用されなかった。FFCフラグの値が‘1’に設定される場合に、ソースブロックは、パリティブロックとともに送信され、FEC方式は適用された。
【0121】
表2及び表3において、ブロック境界情報は、FEC配信ブロックの境界を示す。FEC配信ブロックに含まれる1番目のソースペイロードのシーケンス番号は、すべてのヘッダに割り当てられる。
【0122】
表2において、ペイロードサイズフラグは、パリティブロックに含まれるすべてのパリティペイロードの長さが固定されるか又は可変するかを示すことができる。例えば、ペイロードサイズフラグが1ビットで具現され、ペイロードサイズフラグの値が0に設定される場合に、パリティブロックに含まれるすべてのパリティペイロードの長さは固定される。他方、ペイロードサイズフラグが1ビットで具現され、ペイロードサイズフラグの値が1に設定される場合には、パリティブロックに含まれるすべてのパリティペイロードの長さは可変的である。
【0123】
ペイロードサイズフラグの値が‘0’に設定される場合には、すべてのパリティペイロードの長さが固定されるので、FECパケット送信装置は、仮想長さ情報データ及び仮想長さ情報データに対応するパリティデータを生成する必要がない。他方、ペイロードサイズフラグの値が‘1’に設定される場合には、すべてのパリティペイロードの長さが可変であるので、FECパケット送信装置は、仮想長さ情報データ及び仮想長さ情報データに対応するパリティデータを生成する。
【0124】
上述したように、ペイロードサイズフラグがパリティブロックに含まれるすべてのパリティペイロードの長さが固定されるか又は可変するかを示すので、ペイロードサイズフラグは、MMTシステムが使用するIBGモードを示すことができる。例えば、ペイロードサイズフラグは、2ビットで具現されることができる。この場合に、ペイロードサイズフラグは、ペイロードサイズフラグの値が00である場合にMMTシステムがIBG_mode0を使用し、ペイロードサイズフラグの値が01である場合にMMTシステムがIBG_mode1を使用し、ペイロードサイズフラグの値が11である場合にMMTシステムがIBG_mode2を使用することを示す。
【0125】
表3において、ペイロードサイズフラグは、ソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示すことができる。例えば、ペイロードサイズフラグが1ビットで具現され、ペイロードサイズフラグの値が‘0’に設定される場合には、ソースブロックに含まれるすべてのソースペイロードの長さは固定される。他方、ペイロードサイズフラグが1ビットで具現され、ペイロードサイズフラグの値が‘1’に設定される場合には、ソースブロックに含まれるすべてのソースペイロードの長さは可変的である。
【0126】
ペイロードサイズフラグの値が‘0’に設定される場合には、すべてのソースペイロードの長さが固定されるので、FECパケット送信装置は、仮想長さ情報データ及び仮想長さ情報データに対応するパリティデータを生成する必要がない。他方、ペイロードサイズフラグの値が‘1’に設定される場合には、すべてのソースペイロードの長さが可変であるので、FECパケット送信装置は、仮想長さ情報データ及び仮想長さ情報データに対応するパリティデータを生成する。
【0127】
上述したように、ペイロードサイズフラグがソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示すので、ペイロードサイズフラグは、MMTシステムが使用するIBGモードを示すことができる。例えば、ペイロードサイズフラグは、2ビットで具現されることができる。この場合に、ペイロードサイズフラグは、ペイロードサイズフラグの値が00である場合には、MMTシステムがIBG_mode0を使用することを示し、ペイロードサイズフラグの値が01である場合には、MMTシステムがIBG_mode1を使用することを示し、ペイロードサイズフラグの値が11である場合には、MMTシステムがIBG_mode2を使用することを示す。
【0128】
表2及び表3において、FEC配信ブロック長さは、FEC配信ブロックに含まれているペイロードの個数を示し、ソースブロック長さは、ソースブロックに含まれているソースペイロードの個数を示す。
【0129】
表2において、パリティデータは、パリティデータを示す。パリティデータは、ペイロードサイズフラグの値が‘1’に設定される場合(ペイロードサイズフラグが1ビットで具現される場合)、及びペイロードサイズフラグの値が‘01’又は‘11’に設定される場合(ペイロードサイズフラグが2ビットで具現される場合)に表2に含まれる。
【0130】
本発明の実施形態では、仮想長さ情報データがペイロードヘッダフォーマットを通して送受信される過程について説明する。しかしながら、仮想長さ情報データが制御メッセージを通して送受信されてもよいことは、当該技術分野における通常の知識を有する者には明らかであろう。この制御メッセージは、MMTシステムが使用するメッセージを修正することにより具現されることもでき、新たなメッセージとして具現されることもできる。
【0131】
本発明の実施形態では、ペイロードサイズフラグがペイロードヘッダフォーマットを通して送受信される過程について説明する。しかしながら、ペイロードサイズフラグは、制御メッセージを通して送受信されてもよいことは、当該技術分野における通常の知識を有する者には明らかであろう。この制御メッセージは、MMTシステムが使用するメッセージを修正することにより具現されることもでき、新たなメッセージとして具現されることもできる。
【0132】
図9は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置が生成した仮想長さブロック及びパリティデータブロックの構造を概略的に示す図である。
【0133】
図9を参照すると、MMTシステムにおいて、長さ情報は、通常2バイトであれば、ヘッダ情報を除外しても65000バイトをカバーするのに十分であるので、2バイトであると仮定する。
【0134】
図9において、S(i,r)は、ソースブロックに含まれるi+1番目のソースペイロードの長さ情報の中のr番目のバイトを示し、p(j,r)は、パリティデータブロックがパリティブロックの上又は下で送信される場合に、パリティブロックに含まれるj+1番目のパリティペイロードの位置の上又は下からr番目のバイト(すなわち、2 × (n−k)ビットのサイズを有するパリティデータブロックがパリティブロックの上又は下に割り当てられる)を示す。
【0135】
本発明の実施形態において、パリティブロックがソースブロックに基づいて生成される場合に使用されるFECコードと同一のFECコードを使用してパリティデータブロックが仮想長さブロックに基づいて生成される場合について説明する。しかしながら、本発明がこのような場合に限定されないことは、当該技術分野における通常の知識を有する者には明らかであろう。例えば、20個のパリティペイロードを含むパリティブロックが200個のソースペイロードを含むソースブロックに基づいて生成される場合に、16×20ビットのサイズを有するパリティデータブロックは、同一のFEC構造を適用することにより16×200ビットのサイズを有する仮想長さブロックに基づいて生成されることができ、または、16×40ビットのサイズを有するパリティデータブロックは、パリティ生成比率を2倍に適用することにより生成されることができる。この場合、16×40ビットのサイズを有するパリティデータブロックを32×20ビットのサイズを有するパリティデータブロックに再配置することによりパリティブロックの上又は下に位置させることが好ましい。これは、ソースブロックが復旧されないとしても、FECパケット受信装置がソースペイロードの長さに関する情報を復旧した後に損失されたソースペロードの長さを上位レイヤーに通知することにより、安定した処理の保証を助けるためである。
【0136】
図10は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置が生成した情報ブロック及びパリティブロックの構造を概略的に示す図である。
【0137】
図10を参照すると、m=1であり、K=200である場合に、FEC(220,200)コードは、パリティブロックの生成のために使用され、FECパケット受信装置は、FEC(220,200)コードが理想的なコード(ideal code)であるとしても、最大20個のパケットまで復旧できる。
【0138】
しかしながら、パリティデータブロックがFEC(240,200)コードを用いて生成される場合に、FECパケット受信装置は、R個のパケットを復旧できるので、損失されたソースブロックが復旧されないとしても、ソースペイロードの長さを検出できる。ここで、Rは、20より大きいか又は同一である。
図10において、K個の情報ペイロードを含む情報ブロックに基づいて生成されたパリティブロックを含むFECブロックが図示されている。情報ブロックは、m個の行(row)を含む情報シンボルを含み、パリティシンボルは、所定のFECコードに従って情報シンボルの各々に基づいて生成され、情報シンボル及びパリティシンボルを含むFECフレームが生成される(mは、正の整数である)。
【0139】
仮想長さ情報データに基づいて生成されたパリティデータの場合に、パリティデータブロックは、情報ブロックに基づいてパリティブロックを生成するために使用される同一のFECコード及び同一の方式を用いて仮想長さブロックに基づいて生成されることができる。
【0140】
図11は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置が生成した、mが8である(m=8)場合に、GF(2^8)上のリードソロモン(RS)(240,200)コードを使用するRFフレームの構造を概略的に示す図である。
【0141】
図11を参照すると、K個のペイロードを含む情報ブロックのp番目のバイト列は、K個のバイトのp番目の情報シンボルとなり、p番目のRSフレームは、200−K個のバイトが00hでパディングされ、FECエンコーディング動作が実行された後に、40個のバイトのパリティバイトを生成することにより生成される。最終的に、1番目の200−K個のパディングバイトが短縮され、最後の40−P個のバイトがパンクチャーリング(puncturing)された後に、K個のバイトの情報シンボル及びP個のバイトのパリティシンボルが送信される。
【0142】
図12は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置が生成したGF(2^8)上の(m × (K+P),m × K)低密度パリティチェック(LDPC)コードを使用するLDPCフレームの構造を概略的に示す図である。
【0143】
図12を参照すると、K個のペイロードを含む情報ブロックのp番目のm列は、m × K個のビットのp番目の情報シンボルとなり、p番目のLDPCフレームは、m × P個のパリティビットを用いて生成され、m × P個のパリティビットは、パリティシンボルとして生成される(mは、正の整数である)。
【0144】
図12において、mが1より大きい場合に、インデックスは、上方から下方に割り当てられ、左側から右側に割り当てられる。しかしながら、インデックスが下方から上方に割り当てられ、右側から左側に割り当てられてもよいことは、当該技術分野における通常の知識を有する者には明らかであろう。
【0145】
図13は、本発明の実施形態によるMMTシステムにおけるFECパケット送信装置の内部構造を概略的に示すブロック図である。
【0146】
図13を参照すると、FECパケット送信装置1300は、受信器1311と、制御器1313と、保存ユニット1315と、送信器1317と、FECエンコーダ1319とを含む。
【0147】
制御器1313は、FECパケット送信装置1300の全般的な動作を制御する。特に、制御器1313は、ソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示し、MMTシステムが使用するIBGモードを示す情報を送信する動作を、FECパケット送信装置1300が実行するように制御する。FECパケット送信装置1300がソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示し、MMTシステムが使用するIBGモードを示す情報を送信する動作は、
図1乃至
図12及び表1乃至表3を参照して説明した方式で実行されるので、ここでは、その詳細な説明を省略する。
【0148】
受信器1311は、制御器1313の制御の下に各種メッセージを受信する。
【0149】
保存ユニット1315は、受信器1311が受信した各種メッセージ及びFECパケット送信装置1300の動作に必要な各種データを保存する。
【0150】
送信器1317は、制御器1313の制御の下に、各種メッセージ、FECパケットなどを送信する。
【0151】
FECエンコーダ1319は、制御器1313の制御の下に、所定のFECエンコーディング方式に対応するFECエンコーディング動作を実行する。
【0152】
一方、
図13には、受信器1311、制御器1313、保存ユニット1315、送信器1317、及びFECエンコーダ1319が個別のユニットとして示されているが、説明の便宜のための単なる例示にすぎないことを理解すべきである。言い換えれば、受信器1311、制御器1313、保存ユニット1315、送信器1317、及びFECエンコーダ1319は、1個のユニットに組み込まれて具現されてもよい。
【0153】
図14は、本発明の実施形態によるMMTシステムにおけるFECパケット受信装置の内部構造を概略的に示すブロック図である。
【0154】
図14を参照すると、FECパケット受信装置1400は、受信器1411、制御器1413、保存ユニット1415、送信器1417、及びFECデコーダ1419を含む。
【0155】
制御器1413は、FECパケット受信装置1400の全般的な動作を制御する。特に、制御器1413は、ソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示し、MMTシステムが使用するIBGモードを示す情報を受信する動作をFECパケット受信装置1400が実行するように制御する。FECパケット受信装置1400がソースブロックに含まれるすべてのソースペイロードの長さが固定されるか又は可変するかを示し、MMTシステムが使用するIBGモードを示す情報を受信する動作は、
図1乃至
図12及び表1乃至表3を参照して説明した方式で実行されるので、ここでは、その詳細な説明を省略する。
【0156】
受信器1411は、制御器1413の制御の下に各種メッセージ及びFECパケットを受信する。
【0157】
保存ユニット1415は、受信器1411が受信した各種メッセージ及びFECパケットとFECパケット受信装置1400の動作に必要な各種データとを保存する。
【0158】
送信器1417は、制御器1413の制御の下に各種メッセージを送信する。
【0159】
FECデコーダ1419は、制御器1413の制御の下に、FECパケット送信装置で使用した所定のFECエンコーディング方式に対応するFECデコーディング動作を実行する。
【0160】
一方、
図14には、受信器1411、制御器1413、保存ユニット1415、送信器1417、及びFECデコーダ1419が個別のユニットとして示されているが、説明の便宜のための単なる例示にすぎないことを理解すべきである。言い換えれば、受信器1411、制御器1413、保存ユニット1415、送信器1417、及びFECデコーダ1419は、1個のユニットに組み込まれて具現されてもよい。
【0161】
また、図示されていないが、本発明の実施形態によるMMTシステムにおいて、FECパケットの送信動作に参加するすべてのエンティティの各々は、本発明の実施形態による関連する動作を実行する送信器、受信器、保存ユニット、制御器、及びFECエンコーダを含む。しかしながら、送信器、受信器、保存ユニット、制御器、及びFECエンコーダが1個のユニットに組み込まれて具現されてもよいことは、当該技術分野における通常の知識を有する者には明らかである。
【0162】
また、図示されていないが、本発明の実施形態によるMMTシステムにおいて、FECパケットの受信動作に参加するすべてのエンティティの各々は、本発明の実施形態による関連する動作を実行する送信器、受信器、保存ユニット、制御器、及びFECデコーダを含む。しかしながら、送信器、受信器、保存ユニット、制御器、及びFECデコーダが1個のユニットに組み込まれて具現されてもよいことは、当該技術分野における通常の知識を有する者には明らかである。
【0163】
以上、本発明を具体的な実施形態を参照して詳細に説明してきたが、本発明の範囲及び趣旨を逸脱することなく様々な変更が可能であるということは、当業者には明らかであり、本発明の範囲は、上述の実施形態に限定されるべきではなく、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるべきである。