特許第6181654号(P6181654)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ サムスン エレクトロニクス カンパニー リミテッドの特許一覧

特許6181654データ通信システムにおける符号化装置及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6181654
(24)【登録日】2017年7月28日
(45)【発行日】2017年8月16日
(54)【発明の名称】データ通信システムにおける符号化装置及び方法
(51)【国際特許分類】
   H04L 1/00 20060101AFI20170807BHJP
【FI】
   H04L1/00 B
【請求項の数】24
【全頁数】39
(21)【出願番号】特願2014-535655(P2014-535655)
(86)(22)【出願日】2012年10月15日
(65)【公表番号】特表2014-532371(P2014-532371A)
(43)【公表日】2014年12月4日
(86)【国際出願番号】KR2012008385
(87)【国際公開番号】WO2013055180
(87)【国際公開日】20130418
【審査請求日】2015年10月15日
(31)【優先権主張番号】10-2011-0104870
(32)【優先日】2011年10月13日
(33)【優先権主張国】KR
(73)【特許権者】
【識別番号】503447036
【氏名又は名称】サムスン エレクトロニクス カンパニー リミテッド
(74)【代理人】
【識別番号】100110364
【弁理士】
【氏名又は名称】実広 信哉
(72)【発明者】
【氏名】スン−ヘ・ファン
(72)【発明者】
【氏名】キュン−モ・パク
(72)【発明者】
【氏名】ヒュン−コ・ヤン
【審査官】 谷岡 佳彦
(56)【参考文献】
【文献】 特開2011−199647(JP,A)
【文献】 米国特許出願公開第2006/0077890(US,A1)
【文献】 特表2005−525032(JP,A)
【文献】 特開2003−264590(JP,A)
【文献】 特開2003−199075(JP,A)
【文献】 特表2009−545228(JP,A)
【文献】 特開2002−074862(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 1/00
(57)【特許請求の範囲】
【請求項1】
データ通信システムにおける符号化方法であって、
複数のソースペイロードで構成されたソースブロックを識別するステップと、
複数の生成モードのうち一つの生成モードによって、前記ソースブロックから、複数のシンボルペイロードを含むシンボルブロックを生成するステップと、
指定された符号化方式により前記シンボルブロックを符号化して、前記符号化されたシンボルブロックの一部データをペイロード内に含む少なくとも一つのパケットを生成するステップと、
前記少なくとも一つのパケットを受信器に伝送するステップと、
前記シンボルブロックの生成に適用された生成モードを指示する情報フィールドを含むシグナリングメッセージを前記受信器に伝送するステップと、
を有し、
ここで、前記複数の生成モードの各々は、前記シンボルブロックが前記ソースブロックに含まれる複数のソースペイロードにより構成される方式を指示し、
前記複数の生成モードのうち少なくとも一つの生成モードで、前記ソースブロックは、各々前記複数のソースペイロードのうち少なくとも一つを含む複数のサブブロックに分割され、一つのサブブロックの少なくとも一部は、一つのシンボルペイロードに含まれ、一つのソースペイロードは、前記シンボルブロックの少なくとも一つのシンボルペイロード内に配置されることを特徴とする方法。
【請求項2】
前記複数の生成モードは、
前記ソースブロックが同一サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数のシンボルペイロードを生成する第1の生成モード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のシンボルペイロードが同一のサイズを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数のシンボルペイロードを生成する第2の生成モード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、少なくとも一つのソースペイロードを各々含む複数のサブブロックに前記ソースブロックを分割し、各サブブロック該当複数のソースペイロードを直列化し、前記直列化した複数のソースペイロードのうち各Sバイトを一つのシンボルペイロードとして構成し、前記直列化した複数のソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後シンボルペイロードを構成することを特徴とする請求項1に記載の方法。
【請求項3】
前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化してペイロード長に対するパリティブロックを生成するステップと、
前記ペイロード長に対する前記パリティブロックを前記受信器に伝送するステップと、
をさらに有することを特徴とする請求項1に記載の方法。
【請求項4】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記シンボルブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項に記載の方法。
【請求項5】
前記少なくとも一つのパケットは、所定のパケットフォーマットにより生成され、各パケットは一つのソースペイロードのペイロード長に対する情報を有するヘッダーを含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記情報フィールドは、前記少なくとも一つのパケットと区別される制御シグナリングを使用して伝送されることを特徴とする請求項1に記載の方法。
【請求項7】
データ通信システムにおける符号化装置であって、
複数の生成モードのうち一つの選択モードに従って複数のソースペイロードで構成されたソースブロックを複数のシンボルペイロードを含むシンボルブロックに変換するコンバータと、
指定された符号化方式によって前記シンボルブロックを符号化して、前記符号化されたシンボルブロックの一部データをペイロード内に含む少なくとも一つのパケットを生成するエンコーダと、
前記少なくとも一つのパケットを受信器に伝送し、前記シンボルブロックの生成に適用された生成モードを指示する情報フィールドを含むシグナリングメッセージを前記受信器に伝送する送信器と、
を含み、
ここで、前記複数の生成モードの各々は、前記シンボルブロックが前記ソースブロックに含まれる複数のソースペイロードにより構成される方式を指示し、
前記複数の生成モードのうち少なくとも一つの生成モードで、前記ソースブロックは、各々前記複数のソースペイロードのうち少なくとも一つを含む複数のサブブロックに分割され、一つのサブブロックの少なくとも一部は、一つのシンボルペイロードに含まれ、一つのソースペイロードは、前記シンボルブロックの少なくとも一つのシンボルペイロード内に配置されることを特徴とする符号化装置。
【請求項8】
前記複数の生成モードは、
前記ソースブロックが同一サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数のシンボルペイロードを生成する第1の生成モード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のシンボルペイロードが同一のサイズを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数のシンボルペイロードを生成する第2の生成モード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、少なくとも一つのソースペイロードを各々含む複数のサブブロックに前記ソースブロックを分割し、各サブブロック該当複数のソースペイロードを直列化し、前記直列化した複数のソースペイロードのうち各Sバイトを一つのシンボルペイロードとして構成し、前記直列化した複数のソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後シンボルペイロードを構成する第3のモードのうち少なくとも一つを含むことを特徴とする請求項に記載の符号化装置。
【請求項9】
前記エンコーダは、前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化してペイロード長に対するパリティブロックを生成し、
前記送信器は、前記ペイロード長に対するパリティブロックを前記受信器に伝送することを特徴とする請求項に記載の符号化装置。
【請求項10】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記シンボルブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項に記載の符号化装置。
【請求項11】
前記少なくとも一つのパケットは、所定のパケットフォーマットにより生成され、各パケットは一つのソースペイロードのペイロード長に対する情報を有するヘッダーを含むことを特徴とする請求項に記載の符号化装置。
【請求項12】
前記情報フィールドは、前記少なくとも一つのパケットと区別される制御シグナリングを使用して伝送されることを特徴とする請求項に記載の符号化装置。
【請求項13】
データ通信システムにおける復号化方法であって、
送信器から少なくとも一つのパケットを受信するステップと、
複数の生成モードのうち前記少なくとも一つのパケットの生成に適用された生成モードを指示する情報フィールドを含むシグナリングメッセージを前記送信器から受信するステップと、
前記少なくとも一つのパケットを復号して複数のシンボルペイロードで構成されたシンボルブロックを生成するステップと、
前記情報フィールドに基づいて、前記シンボルブロックから複数のソースペイロードで構成されたソースブロックを生成するステップと、を有し、
前記複数の生成モードの各々は、前記シンボルブロックが前記ソースブロックに含まれる複数のソースペイロードにより構成される方式を指示し、
前記複数の生成モードのうち少なくとも一つの生成モードで、前記ソースブロックは、各々前記複数のソースペイロードのうち少なくとも一つを含む複数のサブブロックに分割され、一つのサブブロックの少なくとも一部は、一つのシンボルペイロードに含まれ、一つのソースペイロードは、前記シンボルブロックの少なくとも一つのシンボルペイロード内に配置されることを特徴とする方法。
【請求項14】
前記複数の生成モードは、
前記ソースブロックが同一サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数のシンボルペイロードを生成する第1の生成モード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のシンボルペイロードが同一のサイズを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数のシンボルペイロードを生成する第2の生成モード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、少なくとも一つのソースペイロードを各々含む複数のサブブロックに前記ソースブロックを分割し、各サブブロックの該当複数のソースペイロードを直列化し、前記直列化した複数のソースペイロードのうち各Sバイトを一つのシンボルペイロードとして構成し、前記直列化した複数のソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後シンボルペイロードを構成することを特徴とする請求項13に記載の方法。
【請求項15】
前記送信器から、前記複数のソースペイロードに対する長さフィールドを含む長さソースブロックを符号化することにより生成されたペイロード長に対するパリティブロックを受信するステップと、
前記ペイロード長に対する前記パリティブロックを復号して前記複数のソースペイロードに対する長さを獲得するステップと、
前記複数のソースペイロードに対する長さを用いて前記複数のシンボルペイロードを含む前記シンボルブロックを前記ソースブロックに変換するステップと、
をさらに有することを特徴とする請求項13に記載の方法。
【請求項16】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記シンボルブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項15に記載の方法。
【請求項17】
前記少なくとも一つのパケットは、所定のパケットフォーマットにより生成され、各パケットは一つのソースペイロードのペイロード長に対する情報を有するヘッダーを含むことを特徴とする請求項13に記載の方法。
【請求項18】
前記情報フィールドは、前記少なくとも一つのパケットと区別される制御シグナリングを使用して伝送されることを特徴とする請求項13に記載の方法。
【請求項19】
データ通信システムにおける復号化装置であって、
送信器から少なくとも一つのパケットを受信し、
複数の生成モードのうち前記少なくとも一つのパケットの生成に適用された生成モードを指示する情報フィールドを含むシグナリングメッセージを前記送信器から受信する受信器と、
前記少なくとも一つのパケットを復号して複数のシンボルペイロードで構成されたシンボルブロックを生成する復号器と、
前記情報フィールドに基づいて、前記シンボルブロックから複数のソースペイロードで構成されたソースブロックを生成するコンバータと、を有し、
前記複数の生成モードの各々は、前記シンボルブロックが前記ソースブロックに含まれる複数のソースペイロードにより構成される方式を指示し、
前記複数の生成モードのうち少なくとも一つの生成モードで、前記ソースブロックは、各々前記複数のソースペイロードのうち少なくとも一つを含む複数のサブブロックに分割され、一つのサブブロックの少なくとも一部は、一つのシンボルペイロードに含まれ、一つのソースペイロードは、前記シンボルブロックの少なくとも一つのシンボルペイロード内に配置されることを特徴とする装置。
【請求項20】
前記複数の生成モードは、
前記ソースブロックが同一サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数のシンボルペイロードを生成する第1の生成モード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のシンボルペイロードが同一のサイズを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数のシンボルペイロードを生成する第2の生成モード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、少なくとも一つのソースペイロードを各々含む複数のサブブロックに前記ソースブロックを分割し、各サブブロックの該当複数のソースペイロードを直列化し、前記直列化した複数のソースペイロードのうち各Sバイトを一つのシンボルペイロードとして構成し、前記直列化した複数のソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後シンボルペイロードを構成することを特徴とする請求項19に記載の装置。
【請求項21】
前記受信器は、
前記送信器から、前記複数のソースペイロードに対する長さフィールドを含む長さソースブロックを符号化することにより生成されたペイロード長に対するパリティブロックを受信し、
前記復号器は、前記ペイロード長に対する前記パリティブロックを復号して前記複数のソースペイロードに対する長さを獲得し、
前記コンバータは、前記複数のソースペイロードに対する長さを用いて前記シンボルペイロードを含む前記シンボルブロックを前記ソースブロックに変換することを特徴とする請求項19に記載の装置。
【請求項22】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記シンボルブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項21に記載の装置。
【請求項23】
前記少なくとも一つのパケットは、所定のパケットフォーマットにより生成され、各パケットは一つのソースペイロードのペイロード長に対する情報を有するヘッダーを含むことを特徴とする請求項19に記載の装置。
【請求項24】
前記情報フィールドは、前記少なくとも一つのパケットと区別される制御シグナリングを使用して伝送されることを特徴とする請求項19に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はデータ通信システムに関するもので、特に可変サイズパケットの順方向誤り訂正(Forward Error Correction、以下、‘FEC’と称する)符号化装置及び方法に関する。
【背景技術】
【0002】
データ通信ネットワーク上でコンテンツの多様化と高画質(High Definition:HD)コンテンツ、超高画質(Ultra High Definition:UHD)コンテンツのような大容量コンテンツの増加により、データの混雑が益々進んでいる。このような状況によって、送信器により送信されたコンテンツが受信器に完全に伝送されず、一部がルータ上で損失される状況が発生する。
【0003】
一般に、データはパケット単位で伝送され、それによってデータの損失は、転送パケット単位で発生するようになる。その結果、ネットワーク上で転送パケットが損失されると、受信器は、損失された転送パケットを受信できないので、損失された転送パケット内のデータを知ることができない。したがって、オーディオ信号の品質低下、ビデオの画質劣化、画面割れ、字幕欠落、ファイル損失のような多様な形態のユーザー不便さをもたらす。
【0004】
ネットワーク上で損失されたデータを回復するための技術では、FEC符号化によるパリティブロックは、所定個数のパケットを含むソースブロックに追加して伝送できる。一般に、パケット内に伝送されるデータ(すなわち、ソースペイロード)のサイズ(又は長さ)は、固定されたパケットサイズを有してもよく、可変パケットサイズを有してもよい。例えば、MPEG2(Moving Picture Experts Group2)伝送ストリーム(Transport Stream:TS)は、4バイトのヘッダーと184バイトのペイロードを含む固定したパケットサイズ188byteを有するが、リアルタイム転送プロトコル(RTP)やMPEGメディア転送(以下、‘MMT'と称する)のようなプロトコルで、転送パケットのサイズは、常に同一ではない。
【0005】
可変パケットサイズが適用される場合、送信器は、実際に伝送されるパケットデータのサイズを同一にするためにパディングデータをデータに追加し、そのデータを符号化できる。しかしながら、この場合、パディングデータの追加によってアプリケーション階層(AL)のFEC(以下、‘AL-FEC'と称する)の効率性が落ちる。さらに、パディングデータの量が大きいほど非効率性は増加するので、可変パケットサイズが適用されるデータ通信で効率的なソースブロックの構成方法及びそれによるAL-FEC符号化が必要になる。
【発明の概要】
【発明が解決しようとする課題】
【0006】
したがって、本発明は、上記した従来技術による問題点に鑑みてなされたものであって、その目的は、可変パケットサイズのデータに対する効率的なAL-FEC符号化装置及び方法を提供することにある。
【0007】
本発明の他の目的は、可変サイズのソースペイロードを2次元配列上に配置し、符号化される情報ブロックを構成する装置及び方法を提供することにある。
【0008】
また、本発明の目的は、符号化される情報ブロック内に2次元配列されたソースペイロードの長さをシグナリングして回復する装置及び方法を提供することにある。
【0009】
さらに、本発明の目的は、符号化される情報ブロック内で各パケットの位置を検出する符号化装置及び方法を提供することにある。
【課題を解決するための手段】
【0010】
上記のような目的を達成するために、本発明の一態様によれば、データ通信システムにおける符号化方法が提供される。その方法は、複数のソースペイロードを含むソースブロックを入力するステップと、複数の情報ブロック生成(IBG)モードから選択されたIBGモードによって、ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、ソースブロックに選択された符号化方式により情報ブロックを符号化して生成されたパリティブロックを加えることにより生成された配信ブロックを受信器に伝送するステップと、選択されたIBGモードを指示する情報を受信器に伝送するステップとを有する。
【0011】
本発明の他の態様によれば、データ通信システムにおける符号化装置が提供される。その装置は、複数のソースペイロードを含むソースブロックを受信し、複数の情報ブロック生成(IBG)モードから選択されたIBGモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、選択された符号化方式によって情報ブロックを符号化してパリティブロックを生成するエンコーダと、ソースブロックにパリティブロックを追加して生成された配信ブロックを受信器に伝送し、選択されたIBGモードを指示する情報を受信器に伝送する送信器とを含む。
【0012】
また、本発明の他の態様によれば、データ通信システムにおける復号化方法が提供される。その方法は、複数のソースペイロードを含むソースブロックと、ソースブロックから生成されたパリティブロックを含む配信ブロックを送信器から受信するステップと、選択された情報ブロック生成(IBG)モードを指示する情報を送信器から受信するステップと、複数のIBGモードから選択されたIBGモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、情報ブロックとパリティブロックを復号化して情報ブロックに含まれている損失されたソースペイロードを回復するステップとを有する。
【0013】
さらに、本発明の他の態様によれば、データ通信システムにおける復号化装置が提供される。その装置は、送信器から、複数のソースペイロードを含むソースブロックと、ソースブロックから生成されたパリティブロックとを含む配信ブロックを受信し、選択された情報ブロック生成(IBG)モードを指示する情報を受信する受信器と、複数のIBGモードから選択されたIBGモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、情報ブロックとパリティブロックを復号化して情報ブロックに含まれている損失されたソースペイロードを回復するデコーダとを含む。
【発明の効果】
【0014】
本発明は、可変パケットサイズのデータを送受信する環境でAL-FECを効率的に運用し、データ伝送効率を向上させることができる。
【0015】
本発明の他の態様、利点、及び顕著な特徴は、下記の詳細な説明から当業者には公知であり、その詳細な説明は、添付の図面とともに本発明の実施形態で開示する。
【図面の簡単な説明】
【0016】
図1A】本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
図1B】本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
図2】本発明の実施形態によるAL-FEC符号化のための情報ブロック生成を示す図である。
図3】本発明の他の実施形態によるAL-FEC符号化のための2次元配列の情報ブロック生成を示す図である。
図4】本発明の一実施形態によるAL-FECブロックのための2次元配列で各ペイロードのオフセットを示す図である。
図5A】本発明の一実施形態によるAL-FEC符号化プロセスを示す図である。
図5B】本発明の一実施形態によるAL-FEC復号化プロセスを示す図である。
図6A】本発明の一実施形態により、ソースブロックから情報ブロックを生成するプロセスを示す図である。
図6B】本発明の他の実施形態によるソースブロックから情報ブロックを生成するプロセスを示す図である。
図6C】本発明の他の実施形態によるソースブロックから情報ブロックを生成するプロセスを示す図である。
図7】本発明の一実施形態によるペイロード長のためのFECブロックの構成を示す図である。
図8A】本発明の一実施形態よる情報FECブロックとFEC配信(delivery)ブロックの構成を示す図である。
図8B】本発明の一実施形態よる情報FECブロックとFEC配信ブロックの構成を示す図である。
図8C】本発明の他の実施形態による情報FECブロックとFEC配信ブロックの構成を示す図である。
図8D】本発明の他の実施形態による情報FECブロックとFEC配信ブロックの構成を示す図である。
図9】本発明の一実施形態によるペイロード長のためのFECブロックを示す図である。
図10A】本発明の一実施形態によるMMTシステム構成と配信機能階層の構造を示す図である。
図10B】本発明の一実施形態によるMMTシステム構成と配信機能階層の構造を示す図である。
図11】本発明の一実施形態によるAL-FEC符号化及び復号化構造を示す図である。
図12】本発明の一実施形態によるFECブロックの構成を示す図である。
図13】本発明の他の実施形態によるFECフレームの構成を示す図である。
図14】本発明のもう一つの実施形態によるFECフレームの構成を示す図である。
図15】本発明の一実施形態によるペイロード長に対するソースブロックの分割を示す図である。
図16】本発明の一実施形態により、分割された長さソースブロックに対するFECブロックの構成を示す図である。
図17】本発明の一実施形態によるペイロード長のための奇数FECブロックの構成を示す図である。
図18】本発明の一実施形態によるペイロード長のためのFECブロックの構成を示す図である。
図19】本発明の一実施形態によるFEC配信ブロックの構成を示す図である。
図20】本発明の一実施形態によるMMTペイロードフォーマットを示す図である。
図21】本発明の一実施形態によるMMTペイロードフォーマットに含まれるペイロードヘッダーフォーマットを示す図である。
図22】本発明の他の実施形態によるペイロードヘッダーフォーマットを示す図である。
図23】本発明のもう一つの実施形態によるペイロードヘッダーフォーマットを示す図である。
図24】本発明の一実施形態によるMMTペイロードの伝送のためのパケットのプロトコルスタックを示す図である。
【発明を実施するための形態】
【0017】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
【0018】
したがって、本発明の実施形態では、理解を助けるために多様で詳細な説明を含む。しかしながら、これら詳細な説明は、ほとんど典型的な例として考えられる。また、本発明の範囲及び精神を逸脱することなく、以下に説明される本発明の様々な変形及び変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。なお、公知の機能または構成に関する具体的な説明は、明瞭性と簡潔性のために省略する。
【0019】
次の説明及び請求項に使用される用語及び単語は、辞典的意味に限定されるものではなく、発明者によって本発明の理解を明確にかつ一貫性のあるようにするために使用される。したがって、特許請求範囲とそれと均等なものに基づいて定義されるもので、本発明の実施形態の説明が但し実例を提供するためのことで、本発明の目的を限定するものでないことは、本発明の技術分野で通常の知識を持つ者には明らかである。
【0020】
本願明細書に記載の各要素は、文脈中に特に明示しない限り、複数形を含むことは、当業者には理解できるものである。したがって、例えば、コンポーネント表面(a component surface)との記載は、1つ又は複数の表面を含む。
【0021】
図1A及び図1Bは、本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
【0022】
図1Aを参照すると、ネットワークトポロジーは、送信器として動作するホストA102と受信器として動作するホストB108を含み、ホストA102及びホストB108は、一つ以上のルータ104,106を通じて接続される。ホストA102及びホストB108は、イーサネット(登録商標)118,122を通じてルータ104,106と接続され、ルータ104,106は光ファイバ、衛星通信、又は他の使用可能な手段120を通じて相互に接続することができる。ホストA102とホストB108との間のデータフローは、リンク階層116、インターネット階層114、転送階層112、及びアプリケーション階層110を通じて生成される。
【0023】
図1Bを参照すると、アプリケーション階層110は、アプリケーション階層-順方向誤り訂正(AL-FEC)を通じて、伝送しようとするデータ130を生成する。データ130は、オーディオ/ビデオ(AV)コーデック端により圧縮されたデータからリアルタイム転送プロトコル(RTP)を用いて分割されたRTPパケットデータ、又はMMTによるMMTパケットデータであり得る。データ130は、一実施形態として、転送階層112によりUDP(User Datagram Protocol)ヘッダーが挿入されるUDPパケット132に変換される。インターネット階層114は、UDPパケット132にIP(Internet Protocol)ヘッダーを追加してIPパケット134を生成し、リンク階層116は、IPパケット134にフレームヘッダー136及び必要な場合にフレームフッタ(frame footer)138を追加して伝送しようとするフレーム116を構成する。
【0024】
フレーム単位の圧縮がデータ通信システムに適用される場合、フレームは、同一の長さを有する複数のパケットに分けられ、最後のパケットのみがパディングに要求される。しかしながら、フレームがビデオパケットを含む複数のスライス(slice)に分けられ、スライスの単位で符号化される場合、各スライスは、相互に異なるサイズを有し、それによって相対的に多い量のパディングが発生される。特に、ビデオパケット、オーディオパケット、テキストパケットのような多様な種類のパケットが同一のストリームに伝送され、AL-FEC符号化が適用される場合、異なる種類のパケットは、異なるサイズを有し、多量のパディングが発生することができる。また、拡張可能な(scalable)ビデオ符号化の場合、パケットのサイズは、各階層ごとに異なり、それによって多量のパディングが発生する。
【0025】
後述される本発明の実施形態では、転送プロトコルを通じて伝送されるデータの量が可変的である場合、例えば、データが可変パケットサイズを有する場合、効率的なAL-FEC符号化が実行される。
【0026】
図2は、本発明の実施形態によるAL-FEC符号化のための情報ブロック生成(IBG)を示す。
【0027】
図2を参照すると、可変パケットサイズのK個のソースペイロード202、すなわちソースPL#0〜ソースPL#K-1を含むソースブロック200がAL-FEC符号化のために入力される場合、送信器は、ソースペイロードのサイズを所定長さS(例えば、S=Smax)と同一にするために少なくとも一部のソースペイロードにパディングデータ214を追加して同一のサイズを有する情報ペイロード212を構成する。ここで、Smaxは、ソースペイロードの長さのうち最大長を意味する。情報ペイロード212は、情報ブロック210を構成する。送信器内のFECエンコーダは、所定のFECコードによって情報ブロック210を符号化し、情報ペイロード212に対応するパリティペイロード222、例えば、パリティPL#0〜パリティPL#N-K-1を生成する。N-K個のパリティペイロード222は、パリティブロック220を構成する。送信器は、ソースブロック200とパリティブロック220をパケットの形態で伝送する。例えば、ソースブロック及びパリティブロック200,220のペイロードは、各々パケットに乗せられて伝送できる。
【0028】
図2のIBGモードにおいて、例えばパディングデータ214の総量がパディング以後の情報ブロック210のサイズ、すなわちSmax×Kの50%である場合、パリティブロック220の50%は、パディングデータのために付加され、それによって不必要な伝送が発生する。FEC復号化以後に回復されるペイロードがパディングデータを含むので、受信器にソースペイロードの実際の長さを通知する必要がある。物理チャンネルと異なり、パケット損失がアプリケーションチャンネル環境で発生した場合、該当するペイロードが損失されるので、ペイロードに格納されているデータの長さがわからない。
【0029】
以下の図3図4では、上記のような問題を解決するための2次元配列(2D array)について説明する。
【0030】
図3は、本発明の一実施形態によるAL-FEC符号化のための2次元配列の情報ブロック生成(IBG)を示す。
【0031】
図3を参照すると、SP1〜SP4を含むソースパケット302は、所定の横長さSを有する2次元配列300内に所定規則に従って順に配置される。具体的に、相対的に長い長さを有するSP1は、2次元配列300の最初行の全体と第2の行の前部の一部に配置され、SP2は、第2の行の後部分の一部と第3の行の前部分の一部に配置され、SP3は、第3の行の後部分の一部と第4の行の前部分の一部に配置され、相対的に短い長さを有するSP4は、第4の行の中間に配置される。パディングデータ304は、2次元配列300のうちソースパケット302が配列される部分以外の残り部分を満たす。
【0032】
上記のような2次元配列300を含む情報ブロックの各行は情報ペイロードであり、それによって情報ペイロードの個数Kは、ソースペイロードの個数K'より少なくなる。FECエンコーダは、2次元配列300を含む情報ブロックを符号化してパリティペイロードを生成する。このような2次元配列300を使用するIBGモードは、図2のIBGモードに比べて情報ペイロードの個数を減少させることによって、パリティペイロードの量を縮小できる。
【0033】
図4は、本発明の一実施形態によるAL-FECブロックのための2次元配列で各ペイロードのオフセットを示す。
【0034】
図4を参照すると、直列化された2次元配列400上で各ソースパケットの開始位置を表すオフセット情報がソースブロックと共に伝送される。図示した例で、オフセット情報は、オフセット0、オフセット1、オフセット2、及びオフセット3を含む。AL-FECデコーダは、各ソースパケットのオフセットから2次元配列400を再構成して復号化を実行することができる。
【0035】
図3及び図4に示すAL-FECブロックのための2次元配列は、各パケットのオフセット情報を受信器に通知すべきであるので、追加的なシグナリングオーバーヘッドを生成する。したがって、可変パケットサイズ環境でシグナリングオーバーヘッドを最小化しつつ、AL-FECの効率性を向上させるための技術が必要である。
【0036】
符号率が50%である場合、長さパリティデータの量は、パケット当たり1バイトである。
【0037】
したがって、FECエンコーダは、図3のIBGモードによる各パケットの長さ情報を符号化して長さパリティデータを生成し、長さパリティデータをソースブロック及びパリティブロックと共に伝送する。
【0038】
本発明の他の実施形態では、FECエンコーダは、図2のIBGモードと図3のIBGモードのうちいずれか一つを選択して使用することができる。これは、図3によるIBGモードが図2のIBGモードに比べて常に高効率性を保証しないためである。以下に、これについて、より具体的に説明する。
【0039】
図2のIBGモードが適用される場合、AL-FECデコーダは、回復された情報ペイロードのうちパディングデータを除外した実際のデータ(例えば、ソースペイロード)を上位階層に出力する。このために、AL-FECは、各情報ペイロードの実際データサイズ(例えば、ソースペイロードサイズ)を知るべきである。AL-FECデコーダは、各ペイロードの実際のデータサイズに対する長さパリティデータを送信器から受信し、長さパリティデータに基づいて各ペイロードの実際データサイズを獲得できる。一方、図3に示すようにソースペイロードが2次元配列で構成される場合、AL-FECデコーダは、受信されたそれぞれのペイロードに関するオフセット情報を用いて、受信されたそれぞれのペイロードを2次元配列で配置することによってソースブロックを回復することができる。一般に、図2のモードで損失されるパケットの個数が図3の2次元配列で損失されるペイロードの個数より多いため、図2のIBGモードに要求される長さパリティデータの比率は、2次元配列のための長さパリティデータの比率より高くなければならない。
【0040】
図3のモードは図2のモードに比べて多い量の長さパリティデータが必要であるため、さらに必要なパリティデータの量が2次元配列の構成により縮小されるパディング量より少ない場合、図3のIBGモードは、より効果的である。したがって、FECエンコーダは、図3のIBGモードによって縮小するパリティペイロードの量と図3のIBGモードによって追加的に要求される長さパリティデータの量を考慮して、図2のIBGモードと図3のIBGモードのうちいずれか一つを選択することができる。
【0041】
例えば、図3のような2次元配列で構成される情報ブロックが図2に示すように構成される情報ブロックより一つのパリティペイロードを少なく発生する場合、FECエンコーダは、2次元配列による長さパリティデータの追加される量が一つのパリティペイロードのサイズより大きい場合には図2のIBGモードを適用する。そうでないと、FECエンコーダは、図3のIBGモードを適用する。
【0042】
他の実施形態において、FECエンコーダは、単に図2のIBGモードにより要求されるパディングデータの量により、図2のIBGモード及び図3のIBGモードのうち一つを選択できる。通常に、図2のIBGモードと図3のIBGモードに要求されるシグナリング情報の量は、ほぼ定められている。したがって、図2のIBGモードによって要求されるパディングデータの量により、図2のIBGモードと図3のIBGモードのうちの一つはより効率的であると判定される。すなわち、パディングデータの量が小さければ小さいほど、図2のIBGモードがより効率的であり、パディングデータの量が大きければ大きいほど、図3のIBGモードがより効率的である。したがって、FECエンコーダは、図2のIBGモードにより追加的に要求されるパディングデータの量が所定のしきい値より多い場合、図3のIBGモードを用いて情報ブロックを構成する。そうでないと、FECエンコーダは、図2のIBGモードを用いて情報ブロックを構成する。例えば、しきい値は、図2のIBGモードと図3のIBGモードに要求されるシグナリング情報の量の差に従って定められる。
【0043】
図5Aは、本発明の一実施形態によるAL-FEC符号化プロセスを示す。
【0044】
図5Aを参照すると、可変長を有するK’個のソースペイロード502を含むソースブロック500は、AL-FEC符号化のために入力される。ソースペイロード502は、同一の長さを有するK個の情報ペイロード506を含む2次元配列の情報ブロック504上に順次に配置される。最後の情報ペイロードは、直列化したソースペイロード以後にパディングデータを含むことができる。送信器は、ソースブロック500内のソースペイロード502に対するペイロード長S0,S1,…,SK'-2,SK'-1を含むソースペイロード長に対するソースブロック(以下、‘長さソースブロック’と称する)508を構成する。FECエンコーダ510は、情報ブロック504を符号化してN-K個の同一の長さを有するパリティペイロード514を含むパリティブロック512を生成し、また長さソースブロック508を符号化して、p0,p1,…,pN-K-1を含むパリティブロック516を生成する。長さパリティブロック516とパリティブロック512は、ソースブロック500とFEC配信(delivery)ブロック520で構成され、送信器から受信器に伝送される。
【0045】
図5Bは、本発明の一実施形態によるAL-FEC復号化プロセスを示す
【0046】
図5Bを参照すると、FEC配信ブロック530は、送信器から受信器により受信される。FEC配信ブロック530は、ソースペイロード532、パリティペイロード534、及び長さパリティデータ540を含む。パケット損失チャンネル特性によって、受信されたFEC配信ブロック530内に一つ以上の損失されたペイロード536,538が存在することがある。
【0047】
受信器は、まず成功的に受信されたソースペイロード532から該当長S0,S1,…,SK'-1 542を計算する。ソースペイロード532がIPプロトコルに基づいたプロトコル階層を通じて伝送されるので、IPプロトコルは、FEC配信ブロック520の各ペイロードを搬送する各IPパケットを区分できる。受信器は、受信されたFEC配信ブロック530の各ペイロードの境界をIPパケットの区分から識別し、成功的に受信した各ペイロードの長さを計算する。他の実施形態では、受信器は、MMT又はRTPのようなアプリケーションプロトコル、伝送制御プロトコル(TCP)、又はユーザーデータグラムプロトコル(UDP)のような転送プロトコルを通じて、受信された各ペイロードの長さを獲得できる。他の実施形態では、図示しないが、送信器は、FEC配信ブロック520の各ペイロード(又は各ソースペイロード)に長さフィールドを含むヘッダーを追加して伝送し、受信器は、受信された各ペイロードのヘッダーからその長さがわかる。
【0048】
受信器は、ソースペイロード532の長さを含む長さブロック542とFEC配信ブロック520から抽出された長さパリティデータ540とを含む、ペイロード長のためのFECブロック544を構成する。FECブロック544内で損失されたソースペイロード536に対する長さ536aと損失されたパリティペイロード538に対する長さパリティデータ538aは、削除、例えば、所定値を取る。FECデコーダ550は、FECブロック544に対する削除復号化を実行し、損失されたペイロード536,538を含むすべてのペイロードの長さ544aを回復させる。
【0049】
受信器は、回復されたペイロード長544aから2次元配列で構成される情報ブロック552上に各ペイロードの位置を知るので、受信されたペイロード532,534を2次元配列上に配置して損失されたペイロード536,538を削除してFECブロック530aを構成する。FECブロック530a内で損失されたペイロード536,538により占められる空間は、回復されたペイロード長544aからわかる。FECデコーダ550は、FECブロック530aを復号化して情報ブロック552を回復し、回復されたペイロード長544aに基づいて回復された情報ブロック552からソースブロック554を出力する。
【0050】
図6Aは、本発明の一実施形態によりソースブロックから情報ブロックを生成するプロセスを示す。
【0051】
図6Aを参照すると、ソースブロック602は、K'個のソースペイロード604を含み、情報ブロック606は、ソースペイロード604を2次元配列上に配置することによって構成されるK個の情報ペイロード608と選択的にパディングデータ608aを含む(ここで、K<K')。ソースペイロード604のサイズS1,S2,…,SK−1,SK’は、MTUと伝送に使用される各種ヘッダーフィールドを考慮して決定することができる。ソースペイロードのうち最大サイズはSmaxバイトであり、構成しようとする2次元配列のサイズがSmax×Kである場合、まず、K'個のソースペイロードを含むソースブロック602は、入力される一連のソースペイロード604により構成される。構成されたソースブロック602内のソースペイロード604は、Smax×Kサイズの2次元配列上に順次に配列され、パディングデータ608aは、最後のK番目の情報ペイロードの後部に必要した場合に追加され、最終的に情報ブロック606が生成される。
【0052】
異なる説明において、K'個のソースペイロードは、直列化され、直列化されたソースペイロードの端に残りのバイトがパディングされる。直列化されたソースペイロードの各Smaxバイトは、各情報ペイロードとなり、最後の情報ペイロードは、直列化されたソースペイロードの残りにパディングデータを付加することによって生成される。このとき、パディングデータのサイズは、情報ブロックの全体サイズがSmaxバイトの倍数となるように決定される。すなわち、情報ブロックは、全体情報ペイロードをSmaxの単位で並列変換することにより生成され、上記したように生成された情報ペイロードの個数Kは、K'より小さいことがある。
【0053】
図6B及び図6Cは、本発明の他の実施形態によりソースブロックから情報ブロックを生成するプロセスを示す。ここで、ソースブロック610は、複数のサブブロック612を含む。
【0054】
図6Bを参照すると、ソースブロック610は、M個のサブブロック612に分割され、サブブロック612は、各々K,K,…,K個のソースペイロード614を含む(K'=K+K+…K)。ここで、K,K,…,Kは、1より大きいか、あるいは等しい正の整数である。各サブブロック612は、2次元配列上の所定の位置、例えばSmax×K/Mバイトの位置で配置され始める。所定位置は、Smax×K/Mの固定したサイズを有する情報サブブロック618の開始点であり、情報サブブロック618のうちサブブロック612が配置された後に、残り部分は、必要な場合にパディングデータ616により詰められる。各情報サブブロック618は、Smaxを有するK/M個の情報ペイロード624に分割される。
【0055】
図6Cを参照すると、情報ブロック620は、Smax×Kサイズの2次元配列上に情報ペイロード624を順次に配列することで構成される。情報ブロック620に含まれるK個の情報ペイロード624は、Smaxと同一のサイズを有する。図5A及び図5Bの実施形態と異なり、パディングデータ616は、直列化された情報ブロック620内で表すことができる。
【0056】
異なる説明において、i番目のサブブロックのK個のソースペイロードは、直列化され、直列化されたソースペイロードのj番目のSmaxバイトは、i番目の情報サブブロック622のj番目の情報ペイロードとなる。i番目の情報サブブロック622の最後情報ペイロードは、直列化されたK個のソースペイロードの残りにパディングデータを付加することによって生成される。このとき、パディングデータのサイズは、i番目の情報サブブロック622の全体サイズがSmax×K/Mとなるように定められる。すなわち、各情報サブブロック内で最後の情報ペイロードのみがパディングデータを含むことができる。
【0057】
図7は、本発明の一実施形態によるペイロード長のためのFECブロックの構成を示す。
【0058】
図7を参照すると、FECエンコーダは、K'個のソースペイロードに対する長さSi704(i=1,2,…,K')を含むペイロード長に対するソースブロック702をFEC符号化することにより、ペイロード長に対するパリティブロック706を生成する。パリティブロック706は、N-K個のパリティデータ708を含む。ペイロード長に対するFECブロック700は、ソースブロック702とパリティブロック706を含む。上記したように、ペイロード長に対するパリティデータは、ソースペイロードに対するパリティデータより高い(すなわち、強力な(robust))符号化率により生成されることが望ましい。
【0059】
例えば、FECエンコーダは、ペイロード長のうち奇数番目の長さからN-K個のパリティデータを生成し、別途に偶数番目の長さからN-K個のパリティデータを生成し、それによって2×(N-K)個のパリティデータを含むパリティブロックを生成できる。他の実施形態では、FECエンコーダは、ペイロード長から2×(N-K)個のパリティデータを生成してペイロード長に対するパリティブロックを構成できる。その結果、ペイロード長に対するFECブロック(以下、‘長さFECブロック’と称する)は、ソースペイロードに対するFECブロック(以下、‘情報FECブロック’と称する)より高い復号性能を保証できる。
【0060】
図8A及び図8Bは、本発明の一実施形態による情報FECブロックとFEC配信ブロックの構成を示す。
【0061】
図8Aを参照すると、情報FECブロック800は、K個の情報ペイロードを含む情報ブロック802とP個のパリティペイロードを含むパリティブロック804を含む。各ペイロードは、Sバイト(例えば、S=Smax)のサイズを有する。FECエンコーダは、情報ブロック802からパリティブロック804を生成してFECブロック800を構成する。図8Bを参照すると、FEC配信ブロック820は、K'個のソースペイロードを含むソースブロック822、P個のパリティペイロードを含むパリティブロック824、及びペイロード長に対するパリティブロック830を含む。
【0062】
図8C及び図8Dは、本発明の他の実施形態によるFECブロックとFEC配信ブロックの構成を示す。ここで、2段階(stage)のFECが実行される場合に対する例を示す。
【0063】
図8Cを参照すると、情報FECブロック830は、第1のFECのために構成されたM個のFEC1ブロックと、第2のFECを通じて生成されたパリティ2ブロックを含む。各FEC1ブロックは、複数の情報ペイロードを含むサブブロックと第1のFECを通じて生成されたパリティ1ブロックを含む。図8Dを参照すると、FEC配信ブロック840は、第1のFECのために構成されたM個のFEC1配信ブロックと、第2のFECを通じて生成されたパリティ2ブロックを含む。各FEC1配信ブロックは、複数のソースペイロードを含むサブブロックと第1のFECを通じて生成されたパリティ1ブロックを含む。各パリティブロックは、該当する長さパリティブロックを含む。
【0064】
以上、長さパリティブロックを全体パリティブロックの前部に配置してFEC配信ブロックを構成する実施形態を示した。変形された実施形態で、長さパリティブロックは、パリティブロックのためのヘッダー又はソースブロックのためのヘッダーを通じて伝送され、この場合、FEC配信ブロックは、ソースブロックとパリティブロックのみを含む。
【0065】
後述する実施形態において、伝送に適用されるAL-FEC符号化方式を示すフラグは、図2のIBGモードと図3のIBGモードのうちいずれか一つを選択してAL-FEC符号化に適用するために使用される。 例えば、FECエンコーダは、フラグが0である場合、図2のIBGモードによるAL-FEC符号化を実行し、フラグが1である場合、図3のIBGモードを適用してAL-FEC符号化を実行する。フラグは、FEC配信ブロックと共にあるいは別のシグナリングを通じて送信器から受信器に伝送することができる。
【0066】
図9は、本発明の一実施形態によるペイロード長のためのFECブロックを示す。
【0067】
図9を参照すると、ペイロード長に対するFECブロック900は、K'個のソースペイロードに対する長さ904を含むソースブロック902とN-K個の長さパリティデータ908を含むパリティブロック906(すなわち、長さパリティブロック)を含む。図2に示すように、情報ブロックが構成される場合、受信器に各ソースペイロードの長さを通知するために、送信器は、ペイロード長に対するソースブロック902からFEC符号化を通じて長さパリティブロック906を生成し、ペイロード長に対するパリティブロック906をソースブロック及び該当パリティブロックと共に伝送する。システム負担を最小化するために、FECコードは、ソースブロックを符号化するために使用されるFECコードと同一に、長さパリティブロックを生成するために使用され得る。
【0068】
与えられたパケット損失チャンネル環境でAL-FEC復号後に達成しようとするパケット誤り率(Packet Error Rate:PER)またはビット誤り率(Bit Error Rate:BER)が決定される場合、図2のIBGモードは、ソースブロックに対するK'個のソースペイロードに対してP'個のパリティペイロードを発生させ、図3のIBGモードは、K個の情報ペイロードを含む情報ブロックに対してP個のパリティペイロードを発生する。図2及び図3のIBGモードを比較すると、図2のIBGモードは、P'-P個のパリティペイロードをさらに必要として、図3のIBGモードは、ペイロード長に対するパリティデータをさらに必要とする。
【0069】
送信器は、2種類のIBGモードによるパリティペイロードの個数P'及びPを予測し、ペイロード長に対するパリティデータを計算し、ペイロード長に対するパリティデータの量がP'-P個のパリティペイロードより小さい場合、フラグを1に設定し、図3のIBGモードによるAL-FEC符号化を適用する。一方、ペイロード長に対するパリティデータの量がP'-P個のパリティペイロードより小さくない場合、フラグを“0”に設定し、図2のIBGモードによるAL-FEC符号化を適用する。
【0070】
P'=P+pである場合、図2のIBGモードに要求されるパリティデータの量は、(Smax+L)×(P+p)により計算され、図3のIBGモードに要求されるパリティデータの量は(Smax+L×(1+r)) ×Pにより計算される。したがって、パリティデータの差は、(Smax+L)×p-L×r×P)により計算される。ここで、Lは、各ソースペイロードの長さを表現するために要求されるバイトを意味し、rは、長さソースブロックを分割した回数を意味する。すなわち、長さフィールドは、より強力な符号化のために一つ以上のサブブロックに分割されて個別的に符号化され得る。r=1である場合、長さフィールドが2個のサブブロックに分割されることを意味する。
【0071】
r=1である場合、パリティデータ間の差は(Smax+L)×p-L×Pである。ここで、pは、図3のIBGモードのアプリケーションにより減少するパリティペイロードの個数を意味し、PR×(K'-K)より小さい。ここで、PRは、パリティレートであり、パリティ長と情報長の割合で表す。PR=P'/K'=P/Kである場合、p=P'-P=PR×(K'-K)である。同一のPRでは情報長が長いほど、性能がよいので、同一の性能のためにはpはPR×(K'-K)より小さくなければならない。すなわち、下記の<数式1>が成立すべきである。
【0072】
【数1】
【0073】
P=P'-p=PR×K'-pであるため、L×P=L×(P'-p)=L×PR×K'-L×pである。したがって、<数式1>は、以下の<数式2>のように示す。
【0074】
【数2】
【0075】
通常に、SmaxとLが伝送途中で固定されるので、パリティレートが高いほど、(K-K’)が大きいほど、すなわち図2のIBGモードによるパディングデータの量が多いほど、図3のIBGモードを適用することがより望ましい。
【0076】
下記の<表1>〜<表3>は、Smax=1000バイト、L=2バイト、r=1である場合、K'=100,200,400である場合、パリティレートとパディングレートの量による総パリティ量を比較して示す。
【0077】
以下の<表1>は、K'=100である場合、図3のIBGモードと図2のIBGモードに必要な総パリティ量を示す。
【0078】
【表1】
【0079】
下記の<表2>は、K'=200である場合、図3のIBGモードと図2のIBGモードに必要な総パリティ量を示す。
【0080】
【表2】
【0081】
下記の<表3>は、K'=400である場合、図3のIBGモードと図2のIBGモードに必要な総パリティ量を示す。
【0082】
【表3】
【0083】
<表1>〜<表3>で、横軸はパリティレートを意味し、縦軸は(Smax×K)/(Smax×K')、例えば、図2のIBGモードを適用した場合のパディングデータの比率を意味する。<表1>〜<表3>で各セルのA/Bのうち、Aは、図3のIBGモードに最小限に要求されるパリティデータ量を表し、Bは、図2のIBGモードに必要なパリティデータ量を表す。
【0084】
図3のIBGモードと図2のIBGモードとの間で要求されるパリティデータ量差が0.5%(データ量の差/(Smax×K'))より小さい場合には太字で表示される。上記の値は、FEC配信に基づいて計算され、各ペイロードのヘッダー、アプリケーションプロトコルヘッダー、転送プロトコルヘッダー、及びインターネットプロトコルヘッダーの量に従って変わり得る。図3のIBGモードによるペイロードの個数は図2のIBGモードの個数以下であるため、ヘッダーを計算に考慮すれば、図3のIBGモードによる効果は増加する可能性がある。
【0085】
したがって、本発明の具体的な実施形態において、送信器は、(K'-K)とPRに基づいたIBGモードを選択できる。例えば、パリティレートが非常に小さくて<数式1>の右側項が負の値を有する場合、図2のIBGモードを適用すると決定する。
【0086】
後述する本発明の実施形態では、図2のIBGモードと図3図4のIBGモードのうち一つを選択してAL-FEC符号化に適用することにおいて、伝送に適用されたAL-FEC符号化方式を表すフラグが使用され、2次元配列上のソースペイロードを区分するために、図4に示すオフセット情報が伝送される。例えば、FECエンコーダは、フラグが“0”である場合、図2のIBGモードを適用してAL-FEC符号化を実行し、フラグが“1”である場合、図3図4のIBGモードを適用してAL-FEC符号化を実行する。フラグは、FEC配信ブロックと共に、あるいは別のシグナリングを通じて送信器から受信器に伝送することができる。
【0087】
所定のパケット損失チャンネル環境で、AL-FEC復号化後に達成しようとするPERまたはBERが定められる場合、図2のIBGモードは、ソースブロックのためのK'個のソースペイロードに対してP'個のパリティペイロードを発生させ、図3図4のIBGモードは、K個の情報ペイロードを含む情報ブロックに対してP個のパリティペイロードを発生させる。図2図3、及び図4のIBGモードを比較すると、図2のIBGモードは、P'-P個のパリティペイロードをさらに必要とし、図3図4のIBGモードは、オフセット情報をさらに必要とする。
【0088】
送信器は、2つのIBGモードによるパリティペイロードの数P'及びPを予測してオフセット情報の量を計算し、オフセット情報の量がP'-P個のパリティペイロードより小さい場合、フラグを“1”に設定して図3及び図4のIBGモードによるAL-FEC符号化を適用し、オフセット情報の量がP'-P個のパリティペイロードより小さくない場合、フラグを“0”に設定して図2のIBGモードによるAL-FEC符号化を適用する。
【0089】
P'=P+pである場合、図2のIBGモードにより要求されるパリティデータの量は、(Smax+L)×(P+p)で計算され、図3及び図4のIBGモードに追加的に要求される情報の量は、Smax×P+K'×Off_lng=(Smax×L)×p+L×P-K'×Off_lngである。ここで、Off_lngは、オフセット情報のために必要な情報量である。
【0090】
ここで、pは、図3のIBGモードのアプリケーションにより減少するパリティペイロードの個数であって、おおよそPR×(K'-K)より少ない。ここで、パリティレートPRは、(パリティ長)/(情報長)で示される。PR=P'/K'=P/Kである場合、p=P'-P=PR×(K'-K)である。同一のPRでは、情報長が長いほど性能が良いので、同一の性能のためにpはPR×(K'-K)より小さいはずである。すなわち、下記の<数式3>が成立される。
【0091】
【数3】
【0092】
P=P'-p=PR×K'-pであるので、L×P=L×(P'-p)であり、(Smax+L)×p+L×P=(Smax+L) ×p+L×P'-L×p=Smax×p+L×P'である。したがって、<数式3>は、<数式4>に定義されるように示され得る。
【0093】
【数4】
【0094】
一般に、SmaxとLは伝送途中で固定されるので、パリティレートが高いほど、(K'-K)が大きいほど、例えばパディングデータの量が多いほど、図3及び図4のIBGモードがより効果的である。また、K’は、Smaxが小さいほど大きくなるので、Smaxが大きい値を有するほど図3及び図4のIBGモードがより効果的である。
【0095】
下記の<表4>〜<表6>は、Smax=1000バイト、L=2バイト、Off_lng=4バイトである場合、K'=100,200,400のケースで、パリティレートとパディングレートの比率によるパリティデータと追加情報の総データ量との比較を示す。
【0096】
下記の<表4>は、K'=100である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0097】
【表4】
【0098】
下記の<表5>は、K'=200である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0099】
【表5】
【0100】
下記の<表6>は、K'=400である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0101】
【表6】
【0102】
下記の<表7>〜<表9>は、Smax=500バイト、L=2バイト、Off_lng=4バイトである場合、K'=100,200,400のケースで、パリティレートとパディングレートの比率によるパリティデータと追加情報の総データ量との比較を示す。
【0103】
<表7>は、K'=100である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0104】
【表7】
【0105】
下記の<表8>は、K'=200である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0106】
【表8】
【0107】
次の<表9>は、K'=400である場合、図3及び図4のIBGモードと図2のIBGモードに必要な総データ量を示す。
【0108】
【表9】
【0109】
<表4>〜<表9>において、横軸はパリティレートを意味し、縦軸は(Smax×K)/(Smax×K')、例えば、図2のIBGモードが適用される場合のパディングデータの比率を意味する。<表4>〜<表9>の各セルでA/Bのうち、Aは、図3及び図4の構成に最小限に要求されるデータ量を表し、Bは、図2のIBGモードに必要なデータ量を表す。
【0110】
図3及び図4のIBGモードと図2のIBGモードに要求されるデータ量の差が0.5%(データ量の差/(Smax×K'))より小さい場合、太字で表示した。上記値は、FEC配信に基づいて計算され、各ペイロードのヘッダー、アプリケーションプロトコルヘッダー、転送プロトコルヘッダー、及びインターネットプロトコルヘッダーの量により変わり得る。図3及び図4のIBGモードによるペイロードの個数は、図2のIBGモードの個数以下であるので、ヘッダーを計算に考慮するとき、図3のIBGモードによる効果はより大きくなることがある。
【0111】
<表1>〜<表3>及び<表4>〜<表6>に示すように、図3のIBGモードに対して長さパリティブロックを使用する本発明の実施形態とオフセット情報を使用する実施形態において、パリティデータと追加情報の量は次のように比較される。
【0112】
ソースブロックとパリティブロックは、2つの実施形態に同様に適用されるので、その比較を省略する。長さパリティブロックを使用する本発明の実施形態は、(1+r)×L×Pの追加データを要求し、オフセット情報を使用する実施形態は、Off_set×K'の追加データを要求する。L=2バイト、Off_set=4バイトである場合、長さパリティブロックを使用する本発明の実施形態は、P<K'である場合、オフセット情報を使用する実施形態より効率的である。チャンネルのパケット損失率が10%であっても、K'の値は、Pの値より一層大きいので、長さパリティブロックを使用する実施形態がオフセット情報を使用する実施形態よりオーバーヘッド側面でより効率的であることがわかる。
【0113】
以下の<表10>は、Smax=1000byte、L=2byte、r=1、及びK'=200である場合、長さパリティブロックを使用する実施形態とオフセット情報を使用する実施形態で要求されるデータ量、例えばバイト数を比較して示すものである。ここで、ソースブロック及びパリティブロックの量は、2つの本発明の実施形態で同一であるので、その量は考慮しない。
【0114】
【表10】
【0115】
以下、本発明の実施形態による送受信構造について説明する。
【0116】
図10A及び図10Bは、本発明の一実施形態によるMMTシステム構造と配信機能階層の構造を示す。
【0117】
図10を参照すると、メディアコーディング階層により圧縮されたAVデータは、カプセル化(encapsulation)機能階層1002を経てファイルフォーマットに類似した形態でパッケージ化されて出力される。配信機能階層1004は、カプセル化機能階層1002から出力されるMMTパッケージをMMTペイロードフォーマットに変換した後、MMT転送パケットヘッダーを付加してMMT転送パケットで構成し、あるいは既存のRTPプロトコルを用いてRTPパケットを構成する。その後、構成されたパケットは、転送プロトコル階層1006を経て最終的にインターネットプロトコル(IP)階層1008によりIPパケット化されて伝送される。選択的に存在できる制御機能部1000は、データの伝送に必要な制御情報あるいはシグナリング情報を生成してデータに付加した後、その情報を伝送し、あるいは別のシグナリング手段を通じて伝送する。
【0118】
図10Bは、配信機能階層1004の詳細構造を示す。配信機能階層1004は、所定のFECコードによる符号化をサポートできる2個の位層であるMMT D.1階層1010とMMT D.2階層1012を含む。FECコードは、例えば、リ―ドソロモン(RS)コード、LDPC(Low Density Parity Check)コード、ラプター(raptor)コード、ラプターQコードであり得る。
【0119】
図11は、本発明の一実施形態によるAL-FEC符号化及び復号化の構造を示す。ここで、AL-FECをサポートするMMT D.1階層1010のフローを示し、MMT D.2階層1012でAL-FECがサポートされる場合にも類似した説明が適用可能であることはもちろんである。
【0120】
図11を参照すると、MMT D.1階層1004のペイロードフォーマット生成器1106は、カプセル化機能を担当するMMT E.1階層1102からMMTパッケージ1120(例えば、AVデータ、ファイル、テキストなどを格納部に格納し、あるいは伝送するための目的で形成されたフォーマット)を受信して伝送のための所定単位、例えばソースペイロード1124に分けてソースブロック1122を構成する。ソースブロックは、AL-FECブロック1108内のAL-FECモジュールコンバータ1150に入力される。
【0121】
AL-FECモジュールコンバータ1150は、所定の複数の情報ブロック生成(IBG)モードのうち一つ、例えば図2のIBGモード又は図3のIBGモードにより、ソースブロック1122を同一の長さを有する情報ペイロード1136を含む情報ブロック1134に変換する。FECエンコーダ1138は、情報ブロック1134に対して、与えられたFECコードによりFEC符号化を実行してパリティブロック1140を生成してペイロードフォーマット生成器1106に伝送する。ペイロードフォーマット生成器1106は、ソースブロック1122にパリティブロック1140を追加してそれぞれのペイロードにペイロードヘッダー(PLH)1126を付加してFEC配信ブロック1128を生成し、FEC配信ブロック1128をMMTペイロードフォーマット1152にパケット化して出力する。MMTペイロードフォーマット1152は、MMT D.2階層1110又はIETF(Internet Engineering Task Force)アプリケーションプロトコル階層1110に伝送される。選択可能な実施形態としてパリティブロック1140又はペイロードヘッダー1126に長さパリティブロックあるいはソースペイロードの長さ情報が付加できる。MMTペイロードフォーマット1152は、以後の伝送階層でUDPヘッダーが付加され、インターネット階層でIPヘッダーが付加された後に受信器に伝送される。
【0122】
MMTペイロードフォーマット1152がMMT D.2階層1110に伝送される場合、MMT D.2階層1110は、MMTペイロードに対するAL-FEC符号化を実行してMMT転送パケットを構成でき、MMT転送パケットは、伝送階層によりIPパケットに乗せて受信器に伝送される。
【0123】
復号化の際に、ペイロードフォーマット生成器1106は、MMT D.2階層/IETFアプリケーションプロトコル階層1110を通じて受信されたMMTペイロードフォーマット1152をソースブロック1122とパリティブロック1140に区分し、MMTペイロードフォーマット1152あるいは別途のシグナリング手段を通じてソースブロック1122に含まれたソースペイロードに関する長さ情報を獲得する。AL-FECブロック1108内のFECデコーダ1138は、長さ情報に基づいて回復された情報ブロック1134aとパリティブロック1140を復号化し、損失されたソースペイロードを回復する。また、FECデコーダ1138は、ソースペイロードに関する長さ情報を表す長さパリティブロックを復号化し、ソースペイロードの長さを獲得する。ソースペイロードの長さは、復号化を通じて回復された情報ブロックを元のソースペイロードに分割するために使用される。
【0124】
以下、図12図14を参照して、符号化方式によるFECブロックの生成について説明する。
【0125】
図12は、本発明の実施形態によるFECブロックの構成を示す。
【0126】
図12を参照すれば、SバイトのサイズであるK個の情報ペイロード1204を含む情報ブロック1202は、各々m個の行を含むS個の情報シンボル部1206に行単位で分割することができ、各情報シンボル部1206は、m×Kビットで構成される。情報ブロック1202から生成されたパリティブロック1212は、同一にS個のパリティシンボル部1214に分割される。FECブロック1210は、情報ブロック1202及びパリティブロック1212を含む。具体的に、FECエンコーダは、各情報シンボル部1206から、与えられたFECコードによってパリティシンボル部1214を生成し、情報シンボル部1206とパリティシンボル部1214を含むFECフレーム1220を構成する。FECブロック1210は、各々m×Nビットのサイズを有するS個のFECフレーム1220を含む。ここで、mは、8×Sの約数であり、例えば1又は8であり得る。
【0127】
図13は、本発明の一実施形態によるリ―ドソロモン(RS)フレームの構成を示す。RSフレームは、AL-FECのためにRSコードが使用される場合のFECフレームを意味し、ここで、m=8である場合、RS240,200 code over GF(2^8)によるRSフレームを示す。
【0128】
図13を参照すれば、K個のペイロードを含む情報ブロックのp番目のバイト行が第pの情報シンボル部(Kバイト)1304となり、送信器は、情報シンボル部1304に200-Kバイトを00hでパディング(1302)した後、符号化して40バイトのパリティバイト1306,1308を生成する。第pのRSフレーム1300は、符号化入力に対応する短縮バイト(shortened byte)1302、情報シンボル部1304、及び符号化出力に対応するパリティバイト1306,1308を含む。送信器は、RSフレーム1300のうち最初に(200-K)のパディングバイト1302を短縮し、最後の40-Pバイト1308をパンクチャリング(puncturing)することにより、Kバイトの情報シンボル部1304とPバイトのパリティシンボル部1306のみを最終伝送する。B(p,j)は、第pのRSフレームのj番目のバイトを意味する。
【0129】
図14は、本発明の一実施形態によるLDPCフレームの構成を示す。LDPCフレームは、AL-FECのためにLDPCコードが使用される場合のFECフレームを意味し、ここで、LDPC(m×(K+P)、m×K)code over GF2によるLDPCフレームに対応する。
【0130】
図14を参照すると、K個のペイロードを含む情報ブロックの第pのm個の行がm×Kビットの第pの情報シンボル部1400であり、送信器は、情報シンボル部1400とm×Pパリティビットを有するパリティシンボル部1402を接続して第pのLDPCフレーム1408を生成する。ここで、mは、正の整数を意味する。b(p,j*m+i)は、第pのLDPCフレームで第jのペイロードの第mの行のうち、i番目のビットを意味する。mが1より大きい場合、b(p,j*m+i)は、最初のペイロードから上から下に(すなわち、ペイロード優先で)番号が割り当てられるが、他の実施形態では最初の行の左側から右側に(すなわち、行優先で)番号が割り当てられる。
【0131】
以下、図15図19を参照してペイロード長に対するパリティブロックの生成について説明する。
【0132】
ソースブロックに関するペイロード長情報は、ペイロードフォーマット生成器1106がソースペイロードを含むソースブロックを構成する場合、それぞれのソースペイロードに対する長さを受信して構成され、あるいはシステム制御器(図示せず)からAL-FECブロック1108に提供される。他の実施形態では、ペイロード長情報がペイロードヘッダー1126を通じて伝送される場合、ペイロードフォーマット生成器1106は、ソースペイロード1124とペイロード長情報を共にAL-FECモジュール1108に伝送することができる。
【0133】
ペイロード長に対するFEC性能は、上記したようにソースブロックに対するFEC性能より良くなければならない。ペイロード長のためのFEC性能を向上させるための本発明の一つの実施形態では、ペイロード長情報は、2つの長さソースブロックに分けられ、それぞれの長さソースブロックに対してN-K個の列(column)を有するパリティデータが生成され得る。N-Kは、ソースペイロードに対するソースブロックから生成されたパリティブロックに含まれるパリティペイロードの個数と同一である。上記のように、ペイロード長情報が分割される場合、各長さソースブロックに対して同一の量のパリティデータを確保できる一方、情報量は半分に減少することによって、より良いFEC性能を発揮できる。
【0134】
図15は、本発明の一実施形態によるペイロード長に対するソースブロックの分割を示す。
【0135】
図15を参照すると、K'個のソースペイロード各々に対するペイロード長フィールドにLビットが割り当てられる場合、ペイロード長に対するソースブロック1500(すなわち、長さソースブロック)は、K'個のLビット長フィールドS1,S2,…,SK’を含む。ペイロード長に対するソースブロック1500は、奇数番目の長さフィールドS1,S3,…,SK'-1を含む奇数のソースブロック1502と偶数番目の長さフィールドS2,S4,…,SK’を含む偶数のソースブロック1504に分けて符号化できる。K’が奇数である場合、奇数ソースブロック1502は、S1,S3,…,SK’を含み、偶数ソースブロック1504は、S2,S4,…,SK'-1を含むことができる。
【0136】
図16は、本発明の一実施形態により分割された長さソースブロックに対するFECブロックの構成を示す。
【0137】
図16を参照すれば、ペイロード長のための奇数/偶数パリティブロック1606,1614は、ペイロード長に対する奇数/偶数ソースブロック1604,1612から生成される。ペイロード長のための奇数/偶数FECブロック1602,1610は、奇数/偶数ソースブロック1604,1612と奇数/偶数パリティブロック1606,1614を含む。奇数パリティブロック1606は、N-K個の奇数パリティデータop1,op2,…,opN-Kを含み、偶数パリティブロック1614は、N-K個の偶数パリティデータep1,ep2,…,epN-Kを含む。
【0138】
本発明の他の実施形態では、ペイロード長のためのFECコードは、ソースペイロードに対するソースブロックが回復されるが、ペイロード長は、回復不可能な場合が確率的にほぼ発生しないように設計される。例えば、ソースペイロードに対するソースブロックの回復性能が10^(-7)のパケットエラー率(PER)を要求する場合、ペイロード長のための回復性能は10^(-7)以下、例えば、10^(-9)となるように設計することができる。
【0139】
ペイロード長のFECのための本発明のもう一つの実施形態では、ペイロード長のための全体ソースブロックに対する2×(N-K)列を有するパリティブロックが生成できる。
【0140】
もう一つの実施形態として、ペイロード長に対するパリティブロックは、ソースペイロードに対するソースブロックからパリティブロックを生成する場合に同一の方式及び同一のFECコードを使用して生成することができる。各長さソースブロックに関する情報サイズがソースペイロードに対するソースブロックより短いので、FECエンコーダは、ペイロード長のためのソースブロックの各情報シンボルにパディングデータを追加してパリティデータを生成した後、パリティデータのうちパディングデータを短縮する。通常に、図2の情報ブロック生成に対するパディングデータは、50%より非常に小さいので、Kは、K'/2よりはるかに大きくなる。例えば、パディングレートが10%である場合、K'=200に対してK=180であり、ペイロード長に対する奇数/偶数ソースブロック1502,1504,1604,1612は、L×100列の配列(array)で構成される。したがって、より良いFEC性能が得られる。
【0141】
図17は、本発明の一実施形態によるペイロード長のための奇数FECブロックの構成を示す。ここで、奇数FECブロックの構成のみを示すが、偶数FECブロックも同様に構成されてもよいことはもちろんである。
【0142】
図17を参照すると、ペイロード長に対する奇数FEC1700は、奇数ソースブロック1704と、それから生成された奇数パリティブロック1706で構成される。各ペイロード長が2バイトである場合、奇数ソースブロック1704は、2byte×K'/2列で構成される。K'/2が200以下である場合、奇数ソースブロック1704は、各ペイロード長の最初及び2番目のバイトを各々含む2つのサブソースブロックに分けられた後、RS240,40コードにより符号化できる。FECエンコーダは、各K'/2バイトのサブソースブロックに200-K'/2バイトを00hでパディング(1702)した後、パディングされたブロックから40バイトのパリティデータを生成する。FECエンコーダは、パディングされたブロックで200-K'/2パディングバイト(1702)を短縮し、パリティデータのうち40-Pバイトをパンクチャリング(1708)して、N-Kバイトを伝送する。
【0143】
奇数ソースブロック1704の最初のサブソースブロックはS1,1,S3,1,…,SK'-1,1を含み、それに対するパリティブロックはop1,1,op2,1,…,opN-K,1を含む。第2のサブソースブロックは、S1,2,S3,2,…,SK'-3,2を含み、それに対するパリティブロックはop1,2,op2,2,…,opN-K,2で構成される。ここで、Si,jは、Siのj番目のバイトを表し、opi,jは、j番目のパリティデータのj番目のバイトを表す。奇数ソースブロック1704に対して、i=1,3,…,K'であり、jは1又は2である。
【0144】
変形された本発明の実施形態として、2×(N-K)が40より小さい場合、ペイロード長の最初のサブソースブロックとRS240,40コードを用いて2×(N-K)個のパリティバイトを生成した後、ペイロード長のためのパリティブロックを生成することができる。
【0145】
図18は、本発明の一実施形態によるペイロード長に対するFECブロックの構成を示す。
【0146】
図18を参照すると、ペイロード長に対するFECブロック1800は、ペイロード長に対するソースブロック1802とペイロード長に対するパリティブロック1804を含む。ペイロード長に対するパリティブロック1804は、ペイロード長に対する奇数ソースブロックから生成されたパリティデータop1,op2,…,opN-Kと偶数ソースブロックから生成されたパリティデータep1,ep2,…,epN-Kを含む。
【0147】
図19は、本発明の一実施形態によるFEC配信ブロックの構成を示す。
【0148】
図19を参照すると、FEC配信ブロック1900は、K'個のソースペイロード1904を含むソースブロック1902とP個のパリティペイロード1910を含むパリティブロック1906を含み、ペイロード長に対するパリティブロック1908をさらに含む。ここで、ペイロード長に対するパリティブロック1908の各列は、パリティブロック1906の各ペイロードの前部に配置される。本発明の他の実施形態では、パリティブロック1908は、ソースブロック1902の各ソースペイロードの前部または後部に配置することができる。もう一つの実施形態では、パリティブロック1908は、ソースペイロード1904に対するペイロードヘッダーに配置され、あるいはパリティペイロード1910に対するペイロードヘッダー内に配置される。もう一つの実施形態では、ペイロード長に対するパリティブロック1908は、FEC配信ブロック1900とは別途の制御シグナリングを通じて伝送することができる。
【0149】
他の実施形態では、LDPCコードを用いてペイロード長に対するソースブロックを符号化する場合、送信器は、ペイロード長のためのソースブロックを2つのサブブロックに分け、それぞれのサブブロックにパディングデータを追加して符号化した後に、パディングデータを短縮することにより、図18と同一の形態で、ペイロード長に対するFECブロックを構成できる。このとき、ソースペイロードに対するソースブロックが符号化される場合に使用されるように同一のFECコードを使用することによって、FEC符号化の使用効率を高めてシステム負担を低減できる。すなわち、FECエンコーダ510は、一つのFECコードのみをサポートするようにより簡単に構成され得る。
【0150】
本発明のもう一つの実施形態では、FECエンコーダは、L×K'サイズの配列で配置されるペイロード長に対するソースブロックからL×2(N-K)サイズの配列で配置されるペイロード長に対するパリティブロックを生成し、L×2(N-K)配列のうち最初のN-K個の列、例えばL×(N-K)個の列は、ソースペイロードに対するソースブロックと同一のFECコードで生成され、残りのL×(N-K)個の列は、FECコードから拡張されたコードを通じて生成することができる。2(N-K)×(K'+2(N-K))サイズのHマトリックスを仮定すると、ソースペイロードに対するソースブロックは、Hマトリックスのサブマトリックスである(N-K)×Nを使用して符号化され、ペイロード長に対するソースブロックは、Hマトリックスを直接に用いて符号化できる。FECエンコーダは、一つのHマトリックスを用いて2つの符号化を実行することによって、システム負担を減少させる。
【0151】
MMTシステム構造において、FEC配信ブロックの各ペイロードは、MMTペイロードフォーマットあるいはMMT転送パケットに乗せて伝送される。
【0152】
図20は、本発明の一実施形態によるMMTペイロードフォーマットを示す。
【0153】
図20を参照すると、MMTペイロードフォーマット2000は、ペイロードヘッダー(PLH)2002とMMTペイロード2004を含む。MMTペイロード2004は、本発明の実施形態により生成されるFEC配信ブロックのソースペイロード及びパリティペイロードのうちいずれか一つを含む。ペイロード長に対するパリティブロックがMMTペイロードを通じて伝送される場合、ペイロードヘッダー2002又は各パリティペイロードは、ペイロード長に対するパリティブロックの各列をさらに含むことができる。
【0154】
本発明の実施形態により選択されたIBGモードを示す情報及びペイロード長に対するパリティデータのようなFEC信号は、ペイロードと共に、一例としてMMTペイロード2004あるいはペイロードヘッダー2002を通じて伝送され、他の実施形態としてペイロードとは別のシグナリング手段を通じて伝送することができる。別途のシグナリング手段は、一例として図10Aの制御機能部10000又は図10BのMMT D.3階層あるいは図示しない他の制御シグナリング手段を意味する。以下に、FEC信号がペイロードヘッダーを通じて伝送される実施形態を説明する。
【0155】
図21は、本発明の一実施形態によるMMTペイロードフォーマットに含まれるペイロードヘッダーフォーマットを示す。
【0156】
図21を参照すると、ペイロードヘッダー2100で、¥ペイロードタイプ2102は、該当MMTペイロードフォーマットのペイロードがソースペイロードであるか、あるいはパリティペイロードであるかを表す。
【0157】
シーケンス番号(sequence number)2104は、伝送されるペイロードの順序を表すために順次に増加又は減少しつつ各ペイロードに割り当てられる値であって、受信器は、シーケンス番号2104からパケット(すなわち、ペイロード)が損失されるか否かがわかる。シーケンス番号2104が転送プロトコルヘッダー、例えば、MMTパケットヘッダーまたはRTPヘッダー内に含まれる場合、シーケンス番号2104は、ペイロードヘッダー2100内で省略できる。
【0158】
FECフラグ2106は、FECが適用されるか否かを表す。例えば、FECフラグ‘0’は、パリティペイロードなしにソースブロックのみが伝送されることを意味し、FECフラグ‘1’は、ソースブロックにパリティブロックが追加され、例えばFEC方式が適用されて伝送されることを意味する。
【0159】
ブロック境界(boundary)情報2108は、FEC配信ブロックの境界を示す。例えば、FEC配信ブロックの最初のソースペイロードのシーケンス番号は、すべてのヘッダーのブロック境界情報2108に割り当てられることができる。ブロック境界情報2108は、FEC配信ブロックの識別子(ID)の役割をし、FEC配信ブロックのすべてのペイロードのヘッダーに設定される。
【0160】
ペイロードサイズフラグ2110は、ソースブロック内のすべてのソースペイロードの長さが一定であるか否かを表す。例えば、ペイロードサイズフラグ‘0’は、ソースブロック内のすべてのソースペイロードが同じ長さを有することを表し、この場合、ソースブロック=情報ブロックであるので、ペイロード長に対するパリティブロックが生成される必要はない。ペイロードサイズフラグ‘1’は、ソースブロック内のソースペイロードの長さが一定でなく、ペイロード長のためのパリティブロックが生成されて伝送されること表す。
【0161】
FEC配信ブロック長2112は、FEC配信ブロックに含まれるペイロードの個数K'+Pを表す。
【0162】
ソースブロック長2114は、ソースブロックに含まれているソースペイロードの個数K'を表す。
【0163】
ペイロードサイズフラグが‘1’であり、ペイロードタイプ2102がパリティペイロードを指示する場合、ペイロード長に対するパリティデータ2116は、ペイロードヘッダー2100にさらに含まれ得る。
【0164】
受信器は、FEC配信ブロックの境界とFEC配信ブロック内のソースペイロードの個数K’とパリティペイロードの個数Pをペイロードヘッダー2100から把握する。ペイロードヘッダー2100に各ペイロードの長さに関する情報が含まれていない場合、受信器は、受信されたソースペイロードからその長さを計算してペイロード長に対するソースブロックを生成し、受信されたパリティブロックの前部からペイロード長に対するパリティブロックを獲得し、ペイロード長に対するFECブロックを回復する。回復されたFECブロック内で、受信されないペイロードに該当する長さフィールドとパリティデータは、削除される。
【0165】
受信器は、回復されたFECブロックを予め配置されたFECコードで復号化することで、ペイロード長に対するソースブロックを回復し、回復したペイロード長に対するソースブロックからすべてのソースペイロードの長さを検出し、受信されたソースペイロードを2次元S×K配列上に配置する。さらに、受信されたパリティペイロードに対応するS×P配列上に配置することによって、FECブロックを回復する。回復したFECブロック内で、受信されないペイロードに対する空間は、削除される。受信器は、予め配置されたFECコードを用いて回復されたFECブロックに対する復号化を実行して情報ブロックを回復する。回復された情報ブロックの最後のペイロードにパディングデータが存在する場合、受信器は、パディングデータを除去した後にソースブロックを出力する。システム上でデータがストリームで伝送される場合、パディングデータを除外した情報ブロックは、ソースブロックと同一である。データがペイロード単位で伝送される場合、受信器は、検出された長さに基づいて情報ブロックをソースブロックに変換できる。
【0166】
図22は、本発明の他の実施形態によるペイロードヘッダーフォーマットを示す。
【0167】
図22を参照すると、ペイロードタイプ2202、シーケンス番号2204、FECフラグ2206、ブロック境界情報2208、FEC配信ブロック長2212、及びソースブロック長2214の説明は、図21と同様であり、ペイロードヘッダー2200内のIBGモード2210及びペイロード長に対するパリティデータ2216の説明は、以下のようである。
【0168】
IBG_Mode=0は、すべてのソースペイロードの長さが同一なのでソースブロック=情報ブロックを示し、したがってペイロード長に対するパリティデータ2216の生成なしにFEC配信ブロックが構成されて伝送することを示す。IBG_Mode=1は、図2の情報ブロック生成モードにより、情報ブロックが生成され、AL-FEC符号化されることを表し、IBG_Mode=2は、図3の情報ブロック生成モードにより情報ブロックが生成され、AL-FEC符号化することを表す。ペイロード長に対するパリティデータ2216は、IBG_Mode=1又は2であり、ペイロードタイプ2202がパリティペイロードを指示する場合に含まれる。
【0169】
図22は、図19に示すようにペイロード長に対するパリティブロック1908がパリティブロックの前部1906に対するペイロードヘッダー内に格納して転送される場合のためのペイロードヘッダーフォーマットを示す。上記したように、IBG_Mode=2である場合、それぞれのペイロードヘッダーに格納されるパリティデータは、IBG_Mode=1である場合、それぞれのペイロードヘッダーに格納されるパリティデータより大きい。これは、IBG_Mode=1である場合、ペイロード長のためのFEC性能は、ソースブロックのためのFEC性能と同一であってもよく、IBG_Mode=2である場合にペイロード長のためのFEC性能は、ソースブロックのためのFEC性能より良くなければならないためである。例えば、ペイロード長のために2バイトが要求され、IBG_Mode=2のためにIBG_Mode=1である場合より2倍のFEC性能でペイロード長に対するパリティデータを生成する場合、IBG_Mode=1に対する各ペイロードヘッダー内でペイロード長に対するパリティデータ2216は、2バイトを必要とし、IBG_Mode=2に対する各ペイロードヘッダー内でペイロード長に対するパリティデータ2216は、4バイトを必要とする。
【0170】
図23は、本発明のもう一つの実施形態によるペイロードヘッダーフォーマットを示す。
【0171】
図23を参照すると、ペイロードヘッダー2300内のペイロードタイプ2302、シーケンス番号2304、FECフラグ2306、ブロック境界情報2308、FEC配信ブロック長2312、及びソースブロック長2314の説明は、図21と同様であり、IBG_Mode2310と最後のフィールド2316について、以下のように説明する。
【0172】
IBG_Mode=0は、ソースペイロードの長さがすべて同一なので、ソースブロック=情報ブロックであり、したがってペイロード長のためのパリティデータ2316の生成なしにFEC配信ブロックが構成されて伝送されることを表す。IBG_Mode=1は、情報ブロックが図2の情報ブロック生成モードにより生成されてAL-FEC符号化されることを表し、IBG_Mode=2は、情報ブロックが図3の情報ブロック生成モードにより生成されてAL-FEC符号化されることを示す。IBG_Mode=1であり、ペイロードタイプ2302がパリティペイロードを指示する場合、ペイロード長に対するパリティデータは、最後のフィールド2316として含まれる。IBG_Mode=2であり、ペイロードタイプ2302がソースペイロードを指示する場合、該当ソースペイロードの開始位置を表すオフセットは、最後のフィールド2316として含まれる。
【0173】
IBG_Mode=2である場合、受信器は、FEC配信ブロック長2312、ソースブロック長2314、ブロック境界情報、及びオフセットのようなヘッダー情報からS×K配列の情報ブロックを生成できる。
【0174】
2段階FEC符号化構造が適用される場合、ペイロードヘッダーは、ペイロード長のためのサブブロックに対するパリティデータはペイロードタイプが最初のFEC符号化により生成されるパリティ1ペイロードのヘッダーに含まれ、ペイロード長のためのソースブロックに対するパリティデータはペイロードタイプが第2のFEC符号化により生成されるパリティ2ペイロードのヘッダーに含まれる。
【0175】
図24は、本発明の一実施形態によるMMTペイロードの伝送のためのパケットのプロトコルスタックを示す。
【0176】
図24を参照すると、IPパケット2400は、IPプロトコルヘッダー2402、UDP/TCPヘッダー2404、MMTプロトコル/アプリケーションプロトコルヘッダー2406、MMTペイロードフォーマットヘッダー2408、及びMMTペイロード2410を含む。MMTペイロード2410は、ソースペイロード又は本発明の実施形態のうちいずれか一つにより生成されるパリティペイロードを含み、MMTペイロードフォーマットヘッダー2408は、MMTペイロード2410に含まれるペイロードに関する情報を含む。特に、MMTペイロードフォーマットヘッダー2408は、情報ブロック構成のモードを表すIBG_Modeと必要な場合、ペイロード長に対するパリティデータを含む。
【0177】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲を外れない限り、様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
【符号の説明】
【0178】
102 ホストA
104 ルータ
106 ルータ
108 ホストB
110 アプリケーション階層
112 転送階層
114 インターネット階層
116 リンク階層
118 イーサネット
120 光ファイバ、衛星通信、又は他の使用可能な手段
122 イーサネット
130 データ
132 UDPパケット
134 IPパケット
136 フレームヘッダー
138 フレームフッタ
200 ソースブロック
202 ソースペイロード
210 情報ブロック
212 情報ペイロード
214 パディングデータ
220 パリティブロック
222 パリティペイロード
300 2次元配列
302 ソースパケット
304 パディングデータ
400 2次元配列
500 ソースブロック
502 ソースペイロード
504 情報ブロック
506 情報ペイロード
508 長さソースブロック
514 パリティペイロード
516 パリティブロック
図1A
図1B
図2
図3
図4
図5A
図5B
図6A
図6B
図6C
図7
図8A
図8B
図8C
図8D
図9
図10A
図10B
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24