(57)【要約】  本発明は、データ通信システムにおける符号化方法及び装置を提供する。その方法は、複数のソースペイロードを含むソースブロックを入力するステップと、複数の情報ブロック生成(ＩＢＧ)モードから選択されたＩＢＧモードによって、ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、ソースブロックに選択された符号化方式により情報ブロックを符号化して生成されたパリティブロックを加えることにより生成された配信ブロックを受信器に伝送するステップと、選択されたＩＢＧモードを指示する情報を受信器に伝送するステップとを有する。
2014532371.tif 000002
【特許請求の範囲】
【請求項１】
データ通信システムにおける符号化方法であって、
複数のソースペイロードを含むソースブロックを入力するステップと、
複数の情報ブロック生成(ＩＢＧ)モードから選択されたＩＢＧモードによって、前記ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、
前記ソースブロックに選択された符号化方式により前記情報ブロックを符号化して生成されたパリティブロックを加えることにより生成された配信ブロックを受信器に伝送するステップと、
前記選択されたＩＢＧモードを指示する情報を前記受信器に伝送するステップと、
を有することを特徴とする方法。
【請求項２】
前記複数のＩＢＧモードは、
前記ソースブロックが固定サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数の情報ペイロードを生成する第１のＩＢＧモード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数の情報ペイロードが同一のサイズＳを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数の情報ペイロードを生成する第２のＩＢＧモード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のソースペイロードのうち少なくとも一つを各々含む複数のサブブロックにソースブロックを分割し、各サブブロックの該当ソースペイロードを直列化し、前記直列化したソースペイロードの各Ｓバイトを一つの情報ペイロードとして構成し、前記直列化したソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後情報ペイロードを構成する第３のＩＢＧモードのうち少なくとも一つを含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化してペイロード長に対するパリティブロックを生成するステップと、
前記ペイロード長に対する前記パリティブロックを前記受信器に伝送するステップと、
をさらに有することを特徴とする請求項１に記載の方法。
【請求項４】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記情報ブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項３に記載の方法。
【請求項５】
前記配信ブロックの各ソース又はパリティペイロードは、所定のパケットフォーマットによりパケット化して伝送され、各パリティペイロードに対応するパケットのヘッダーは、前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化して生成されるペイロード長に対するパリティブロックの各パリティデータを含むことを特徴とする請求項３に記載の方法。
【請求項６】
データ通信システムにおける符号化装置であって、
複数のソースペイロードを含むソースブロックを受信し、複数の情報ブロック生成(ＩＢＧ)モードから選択されたＩＢＧモードに従って前記ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、
選択された符号化方式によって前記情報ブロックを符号化してパリティブロックを生成するエンコーダと、
前記ソースブロックに前記パリティブロックを追加して生成された配信ブロックを受信器に伝送し、前記選択されたＩＢＧモードを指示する情報を前記受信器に伝送する送信器と、
を含むことを特徴とする符号化装置。
【請求項７】
請求項１〜５のいずれか一項の方法を実行するように適合される請求項６に記載の符号化装置。
【請求項８】
データ通信システムにおける復号化方法であって、
複数のソースペイロードを含むソースブロックと、前記ソースブロックから生成されたパリティブロックを含む配信ブロックを送信器から受信するステップと、
選択された情報ブロック生成(ＩＢＧ)モードを指示する情報を前記送信器から受信するステップと、
複数のＩＢＧモードから選択されたＩＢＧモードに従って前記ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、
前記情報ブロックと前記パリティブロックを復号化して前記情報ブロックに含まれている損失されたソースペイロードを回復するステップと、
を有することを特徴とする方法。
【請求項９】
前記複数のＩＢＧモードは、
前記ソースブロックが固定サイズの前記複数のソースペイロードで構成される場合に前記複数のソースペイロードと同一に前記複数の情報ペイロードを生成する第１のＩＢＧモード、
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数の情報ペイロードが同一のサイズＳを有するようにするために、前記複数のソースペイロードのうち少なくとも一つにパディングデータを付加して前記複数の情報ペイロードを生成する第２のＩＢＧモード、及び
前記ソースブロックが可変サイズの前記複数のソースペイロードで構成される場合、前記複数のソースペイロードのうち少なくとも一つを各々含む複数のサブブロックにソースブロックを分割し、各サブブロックの該当ソースペイロードを直列化し、前記直列化したソースペイロードの各Ｓバイトを一つの情報ペイロードとして構成し、前記直列化したソースペイロードの残りにパディングデータを付加することにより該当サブブロックの最後情報ペイロードを構成する第３のＩＢＧモードのうち少なくとも一つを含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化して生成されたペイロード長に対するパリティブロックを前記送信器から受信するステップと、
前記ペイロード長に対するパリティブロックを復号化して前記ソースペイロードの長さを獲得するステップと、
前記複数のソースペイロードの長さを用いて、前記回復されたソースペイロードを含む前記情報ブロックを前記ソースブロックに変換するステップと、
をさらに有することを特徴とする請求項８に記載の方法。
【請求項１１】
前記ペイロード長に対するパリティブロックは、
奇数の長さフィールドを含む奇数のソースブロックを符号化して生成される奇数のパリティブロックと、偶数の長さフィールドを含む偶数のソースブロックを符号化して生成される偶数のパリティブロックとを含み、
前記奇数のソースブロックと前記偶数のソースブロックは、前記情報ブロックの符号化に使用されることと同一の符号化方式で符号化されることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記配信ブロックの各ソース又はパリティペイロードは、所定のパケットフォーマットによりパケット化して伝送され、各パリティペイロードに対応するパケットのヘッダーは、前記複数のソースペイロードの長さフィールドを含む長さソースブロックを符号化して生成されるペイロード長に対するパリティブロックの各パリティデータを含むことを特徴とする請求項１０に記載の方法。
【請求項１３】
データ通信システムにおける復号化装置であって、
送信器から、複数のソースペイロードを含むソースブロックと、前記ソースブロックから生成されたパリティブロックとを含む配信ブロックを受信し、選択された情報ブロック生成(ＩＢＧ)モードを指示する情報を受信する受信器と、
複数のＩＢＧモードから選択されたＩＢＧモードに従って前記ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、
前記情報ブロックと前記パリティブロックを復号化して前記情報ブロックに含まれている損失されたソースペイロードを回復するデコーダと、
を含むことを特徴とする復号化装置。
【請求項１４】
請求項８〜１２のいずれか一項の方法を実行するように適合される請求項１３に記載の復号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信システムに関するもので、特に可変サイズパケットの順方向誤り訂正(Forward  Error  Correction、以下、‘ＦＥＣ’と称する)符号化装置及び方法に関する。
【背景技術】
【０００２】
データ通信ネットワーク上でコンテンツの多様化と高画質(High  Definition：ＨＤ)コンテンツ、超高画質(Ultra  High  Definition：ＵＨＤ)コンテンツのような大容量コンテンツの増加により、データの混雑が益々進んでいる。このような状況によって、送信器により送信されたコンテンツが受信器に完全に伝送されず、一部がルータ上で損失される状況が発生する。
【０００３】
一般に、データはパケット単位で伝送され、それによってデータの損失は、転送パケット単位で発生するようになる。その結果、ネットワーク上で転送パケットが損失されると、受信器は、損失された転送パケットを受信できないので、損失された転送パケット内のデータを知ることができない。したがって、オーディオ信号の品質低下、ビデオの画質劣化、画面割れ、字幕欠落、ファイル損失のような多様な形態のユーザー不便さをもたらす。
【０００４】
ネットワーク上で損失されたデータを回復するための技術では、ＦＥＣ符号化によるパリティブロックは、所定個数のパケットを含むソースブロックに追加して伝送できる。一般に、パケット内に伝送されるデータ(すなわち、ソースペイロード）のサイズ(又は長さ）は、固定されたパケットサイズを有してもよく、可変パケットサイズを有してもよい。例えば、ＭＰＥＧ２(Moving  Picture  Experts  Group2)伝送ストリーム(Transport  Stream：ＴＳ)は、４バイトのヘッダーと１８４バイトのペイロードを含む固定したパケットサイズ１８８byteを有するが、リアルタイム転送プロトコル(ＲＴＰ)やＭＰＥＧメディア転送(以下、‘ＭＭＴ'と称する)のようなプロトコルで、転送パケットのサイズは、常に同一ではない。
【０００５】
可変パケットサイズが適用される場合、送信器は、実際に伝送されるパケットデータのサイズを同一にするためにパディングデータをデータに追加し、そのデータを符号化できる。しかしながら、この場合、パディングデータの追加によってアプリケーション階層(ＡＬ)のＦＥＣ(以下、‘ＡＬ-ＦＥＣ'と称する）の効率性が落ちる。さらに、パディングデータの量が大きいほど非効率性は増加するので、可変パケットサイズが適用されるデータ通信で効率的なソースブロックの構成方法及びそれによるＡＬ-ＦＥＣ符号化が必要になる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、本発明は、上記した従来技術による問題点に鑑みてなされたものであって、その目的は、可変パケットサイズのデータに対する効率的なＡＬ-ＦＥＣ符号化装置及び方法を提供することにある。
【０００７】
本発明の他の目的は、可変サイズのソースペイロードを２次元配列上に配置し、符号化される情報ブロックを構成する装置及び方法を提供することにある。
【０００８】
また、本発明の目的は、符号化される情報ブロック内に２次元配列されたソースペイロードの長さをシグナリングして回復する装置及び方法を提供することにある。
【０００９】
さらに、本発明の目的は、符号化される情報ブロック内で各パケットの位置を検出する符号化装置及び方法を提供することにある。
【課題を解決するための手段】
【００１０】
上記のような目的を達成するために、本発明の一態様によれば、データ通信システムにおける符号化方法が提供される。その方法は、複数のソースペイロードを含むソースブロックを入力するステップと、複数の情報ブロック生成(ＩＢＧ)モードから選択されたＩＢＧモードによって、ソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、ソースブロックに選択された符号化方式により情報ブロックを符号化して生成されたパリティブロックを加えることにより生成された配信ブロックを受信器に伝送するステップと、選択されたＩＢＧモードを指示する情報を受信器に伝送するステップとを有する。
【００１１】
本発明の他の態様によれば、データ通信システムにおける符号化装置が提供される。その装置は、複数のソースペイロードを含むソースブロックを受信し、複数の情報ブロック生成(ＩＢＧ)モードから選択されたＩＢＧモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、選択された符号化方式によって情報ブロックを符号化してパリティブロックを生成するエンコーダと、ソースブロックにパリティブロックを追加して生成された配信ブロックを受信器に伝送し、選択されたＩＢＧモードを指示する情報を受信器に伝送する送信器とを含む。
【００１２】
また、本発明の他の態様によれば、データ通信システムにおける復号化方法が提供される。その方法は、複数のソースペイロードを含むソースブロックと、ソースブロックから生成されたパリティブロックを含む配信ブロックを送信器から受信するステップと、選択された情報ブロック生成(ＩＢＧ)モードを指示する情報を送信器から受信するステップと、複数のＩＢＧモードから選択されたＩＢＧモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するステップと、情報ブロックとパリティブロックを復号化して情報ブロックに含まれている損失されたソースペイロードを回復するステップとを有する。
【００１３】
さらに、本発明の他の態様によれば、データ通信システムにおける復号化装置が提供される。その装置は、送信器から、複数のソースペイロードを含むソースブロックと、ソースブロックから生成されたパリティブロックとを含む配信ブロックを受信し、選択された情報ブロック生成(ＩＢＧ)モードを指示する情報を受信する受信器と、複数のＩＢＧモードから選択されたＩＢＧモードに従ってソースブロックを複数の情報ペイロードを含む情報ブロックに変換するコンバータと、情報ブロックとパリティブロックを復号化して情報ブロックに含まれている損失されたソースペイロードを回復するデコーダとを含む。
【発明の効果】
【００１４】
本発明は、可変パケットサイズのデータを送受信する環境でＡＬ-ＦＥＣを効率的に運用し、データ伝送効率を向上させることができる。
【００１５】
本発明の他の態様、利点、及び顕著な特徴は、下記の詳細な説明から当業者には公知であり、その詳細な説明は、添付の図面とともに本発明の実施形態で開示する。
【図面の簡単な説明】
【００１６】
【図１Ａ】本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
【図１Ｂ】本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
【図２】本発明の実施形態によるＡＬ-ＦＥＣ符号化のための情報ブロック生成を示す図である。
【図３】本発明の他の実施形態によるＡＬ-ＦＥＣ符号化のための２次元配列の情報ブロック生成を示す図である。
【図４】本発明の一実施形態によるＡＬ-ＦＥＣブロックのための２次元配列で各ペイロードのオフセットを示す図である。
【図５Ａ】本発明の一実施形態によるＡＬ-ＦＥＣ符号化プロセスを示す図である。
【図５Ｂ】本発明の一実施形態によるＡＬ-ＦＥＣ復号化プロセスを示す図である。
【図６Ａ】本発明の一実施形態により、ソースブロックから情報ブロックを生成するプロセスを示す図である。
【図６Ｂ】本発明の他の実施形態によるソースブロックから情報ブロックを生成するプロセスを示す図である。
【図６Ｃ】本発明の他の実施形態によるソースブロックから情報ブロックを生成するプロセスを示す図である。
【図７】本発明の一実施形態によるペイロード長のためのＦＥＣブロックの構成を示す図である。
【図８Ａ】本発明の一実施形態よる情報ＦＥＣブロックとＦＥＣ配信(delivery)ブロックの構成を示す図である。
【図８Ｂ】本発明の一実施形態よる情報ＦＥＣブロックとＦＥＣ配信ブロックの構成を示す図である。
【図８Ｃ】本発明の他の実施形態による情報ＦＥＣブロックとＦＥＣ配信ブロックの構成を示す図である。
【図８Ｄ】本発明の他の実施形態による情報ＦＥＣブロックとＦＥＣ配信ブロックの構成を示す図である。
【図９】本発明の一実施形態によるペイロード長のためのＦＥＣブロックを示す図である。
【図１０Ａ】本発明の一実施形態によるＭＭＴシステム構成と配信機能階層の構造を示す図である。
【図１０Ｂ】本発明の一実施形態によるＭＭＴシステム構成と配信機能階層の構造を示す図である。
【図１１】本発明の一実施形態によるＡＬ-ＦＥＣ符号化及び復号化構造を示す図である。
【図１２】本発明の一実施形態によるＦＥＣブロックの構成を示す図である。
【図１３】本発明の他の実施形態によるＦＥＣフレームの構成を示す図である。
【図１４】本発明のもう一つの実施形態によるＦＥＣフレームの構成を示す図である。
【図１５】本発明の一実施形態によるペイロード長に対するソースブロックの分割を示す図である。
【図１６】本発明の一実施形態により、分割された長さソースブロックに対するＦＥＣブロックの構成を示す図である。
【図１７】本発明の一実施形態によるペイロード長のための奇数ＦＥＣブロックの構成を示す図である。
【図１８】本発明の一実施形態によるペイロード長のためのＦＥＣブロックの構成を示す図である。
【図１９】本発明の一実施形態によるＦＥＣ配信ブロックの構成を示す図である。
【図２０】本発明の一実施形態によるＭＭＴペイロードフォーマットを示す図である。
【図２１】本発明の一実施形態によるＭＭＴペイロードフォーマットに含まれるペイロードヘッダーフォーマットを示す図である。
【図２２】本発明の他の実施形態によるペイロードヘッダーフォーマットを示す図である。
【図２３】本発明のもう一つの実施形態によるペイロードヘッダーフォーマットを示す図である。
【図２４】本発明の一実施形態によるＭＭＴペイロードの伝送のためのパケットのプロトコルスタックを示す図である。
【発明を実施するための形態】
【００１７】
以下、本発明の望ましい実施形態を添付の図面を参照して詳細に説明する。
【００１８】
したがって、本発明の実施形態では、理解を助けるために多様で詳細な説明を含む。しかしながら、これら詳細な説明は、ほとんど典型的な例として考えられる。また、本発明の範囲及び精神を逸脱することなく、以下に説明される本発明の様々な変形及び変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。なお、公知の機能または構成に関する具体的な説明は、明瞭性と簡潔性のために省略する。
【００１９】
次の説明及び請求項に使用される用語及び単語は、辞典的意味に限定されるものではなく、発明者によって本発明の理解を明確にかつ一貫性のあるようにするために使用される。したがって、特許請求範囲とそれと均等なものに基づいて定義されるもので、本発明の実施形態の説明が但し実例を提供するためのことで、本発明の目的を限定するものでないことは、本発明の技術分野で通常の知識を持つ者には明らかである。
【００２０】
本願明細書に記載の各要素は、文脈中に特に明示しない限り、複数形を含むことは、当業者には理解できるものである。したがって、例えば、コンポーネント表面（a component surface）との記載は、１つ又は複数の表面を含む。
【００２１】
図１Ａ及び図１Ｂは、本発明の一実施形態による通信システムにおけるネットワークトポロジーとデータフローを示す。
【００２２】
図１Ａを参照すると、ネットワークトポロジーは、送信器として動作するホストＡ１０２と受信器として動作するホストＢ１０８を含み、ホストＡ１０２及びホストＢ１０８は、一つ以上のルータ１０４，１０６を通じて接続される。ホストＡ１０２及びホストＢ１０８は、イーサネット（登録商標）１１８，１２２を通じてルータ１０４，１０６と接続され、ルータ１０４，１０６は光ファイバ、衛星通信、又は他の使用可能な手段１２０を通じて相互に接続することができる。ホストＡ１０２とホストＢ１０８との間のデータフローは、リンク階層１１６、インターネット階層１１４、転送階層１１２、及びアプリケーション階層１１０を通じて生成される。
【００２３】
図１Ｂを参照すると、アプリケーション階層１１０は、アプリケーション階層-順方向誤り訂正(ＡＬ-ＦＥＣ)を通じて、伝送しようとするデータ１３０を生成する。データ１３０は、オーディオ/ビデオ(ＡＶ)コーデック端により圧縮されたデータからリアルタイム転送プロトコル(ＲＴＰ)を用いて分割されたＲＴＰパケットデータ、又はＭＭＴによるＭＭＴパケットデータであり得る。データ１３０は、一実施形態として、転送階層１１２によりＵＤＰ(User  Datagram  Protocol)ヘッダーが挿入されるＵＤＰパケット１３２に変換される。インターネット階層１１４は、ＵＤＰパケット１３２にＩＰ(Internet  Protocol)ヘッダーを追加してＩＰパケット１３４を生成し、リンク階層１１６は、ＩＰパケット１３４にフレームヘッダー１３６及び必要な場合にフレームフッタ(frame  footer)１３８を追加して伝送しようとするフレーム１１６を構成する。
【００２４】
フレーム単位の圧縮がデータ通信システムに適用される場合、フレームは、同一の長さを有する複数のパケットに分けられ、最後のパケットのみがパディングに要求される。しかしながら、フレームがビデオパケットを含む複数のスライス(slice)に分けられ、スライスの単位で符号化される場合、各スライスは、相互に異なるサイズを有し、それによって相対的に多い量のパディングが発生される。特に、ビデオパケット、オーディオパケット、テキストパケットのような多様な種類のパケットが同一のストリームに伝送され、ＡＬ-ＦＥＣ符号化が適用される場合、異なる種類のパケットは、異なるサイズを有し、多量のパディングが発生することができる。また、拡張可能な(scalable)ビデオ符号化の場合、パケットのサイズは、各階層ごとに異なり、それによって多量のパディングが発生する。
【００２５】
後述される本発明の実施形態では、転送プロトコルを通じて伝送されるデータの量が可変的である場合、例えば、データが可変パケットサイズを有する場合、効率的なＡＬ-ＦＥＣ符号化が実行される。
【００２６】
図２は、本発明の実施形態によるＡＬ-ＦＥＣ符号化のための情報ブロック生成(ＩＢＧ)を示す。
【００２７】
図２を参照すると、可変パケットサイズのＫ個のソースペイロード２０２、すなわちソースＰＬ＃０〜ソースＰＬ＃Ｋ-１を含むソースブロック２００がＡＬ-ＦＥＣ符号化のために入力される場合、送信器は、ソースペイロードのサイズを所定長さＳ(例えば、Ｓ＝Ｓmax）と同一にするために少なくとも一部のソースペイロードにパディングデータ２１４を追加して同一のサイズを有する情報ペイロード２１２を構成する。ここで、Ｓmaxは、ソースペイロードの長さのうち最大長を意味する。情報ペイロード２１２は、情報ブロック２１０を構成する。送信器内のＦＥＣエンコーダは、所定のＦＥＣコードによって情報ブロック２１０を符号化し、情報ペイロード２１２に対応するパリティペイロード２２２、例えば、パリティＰＬ＃０〜パリティＰＬ＃Ｎ-Ｋ-１を生成する。Ｎ-Ｋ個のパリティペイロード２２２は、パリティブロック２２０を構成する。送信器は、ソースブロック２００とパリティブロック２２０をパケットの形態で伝送する。例えば、ソースブロック及びパリティブロック２００，２２０のペイロードは、各々パケットに乗せられて伝送できる。
【００２８】
図２のＩＢＧモードにおいて、例えばパディングデータ２１４の総量がパディング以後の情報ブロック２１０のサイズ、すなわちＳmax×Ｋの５０％である場合、パリティブロック２２０の５０％は、パディングデータのために付加され、それによって不必要な伝送が発生する。ＦＥＣ復号化以後に回復されるペイロードがパディングデータを含むので、受信器にソースペイロードの実際の長さを通知する必要がある。物理チャンネルと異なり、パケット損失がアプリケーションチャンネル環境で発生した場合、該当するペイロードが損失されるので、ペイロードに格納されているデータの長さがわからない。
【００２９】
以下の図３〜図４では、上記のような問題を解決するための２次元配列(2D  array）について説明する。
【００３０】
図３は、本発明の一実施形態によるＡＬ-ＦＥＣ符号化のための２次元配列の情報ブロック生成(ＩＢＧ）を示す。
【００３１】
図３を参照すると、ＳＰ１〜ＳＰ４を含むソースパケット３０２は、所定の横長さＳを有する２次元配列３００内に所定規則に従って順に配置される。具体的に、相対的に長い長さを有するＳＰ１は、２次元配列３００の最初行の全体と第２の行の前部の一部に配置され、ＳＰ２は、第２の行の後部分の一部と第３の行の前部分の一部に配置され、ＳＰ３は、第３の行の後部分の一部と第４の行の前部分の一部に配置され、相対的に短い長さを有するＳＰ４は、第４の行の中間に配置される。パディングデータ３０４は、２次元配列３００のうちソースパケット３０２が配列される部分以外の残り部分を満たす。
【００３２】
上記のような２次元配列３００を含む情報ブロックの各行は情報ペイロードであり、それによって情報ペイロードの個数Ｋは、ソースペイロードの個数Ｋ'より少なくなる。ＦＥＣエンコーダは、２次元配列３００を含む情報ブロックを符号化してパリティペイロードを生成する。このような２次元配列３００を使用するＩＢＧモードは、図２のＩＢＧモードに比べて情報ペイロードの個数を減少させることによって、パリティペイロードの量を縮小できる。
【００３３】
図４は、本発明の一実施形態によるＡＬ-ＦＥＣブロックのための２次元配列で各ペイロードのオフセットを示す。
【００３４】
図４を参照すると、直列化された２次元配列４００上で各ソースパケットの開始位置を表すオフセット情報がソースブロックと共に伝送される。図示した例で、オフセット情報は、オフセット０、オフセット１、オフセット２、及びオフセット３を含む。ＡＬ-ＦＥＣデコーダは、各ソースパケットのオフセットから２次元配列４００を再構成して復号化を実行することができる。
【００３５】
図３及び図４に示すＡＬ-ＦＥＣブロックのための２次元配列は、各パケットのオフセット情報を受信器に通知すべきであるので、追加的なシグナリングオーバーヘッドを生成する。したがって、可変パケットサイズ環境でシグナリングオーバーヘッドを最小化しつつ、ＡＬ-ＦＥＣの効率性を向上させるための技術が必要である。
【００３６】
符号率が５０％である場合、長さパリティデータの量は、パケット当たり１バイトである。
【００３７】
したがって、ＦＥＣエンコーダは、図３のＩＢＧモードによる各パケットの長さ情報を符号化して長さパリティデータを生成し、長さパリティデータをソースブロック及びパリティブロックと共に伝送する。
【００３８】
本発明の他の実施形態では、ＦＥＣエンコーダは、図２のＩＢＧモードと図３のＩＢＧモードのうちいずれか一つを選択して使用することができる。これは、図３によるＩＢＧモードが図２のＩＢＧモードに比べて常に高効率性を保証しないためである。以下に、これについて、より具体的に説明する。
【００３９】
図２のＩＢＧモードが適用される場合、ＡＬ-ＦＥＣデコーダは、回復された情報ペイロードのうちパディングデータを除外した実際のデータ(例えば、ソースペイロード)を上位階層に出力する。このために、ＡＬ-ＦＥＣは、各情報ペイロードの実際データサイズ(例えば、ソースペイロードサイズ)を知るべきである。ＡＬ-ＦＥＣデコーダは、各ペイロードの実際のデータサイズに対する長さパリティデータを送信器から受信し、長さパリティデータに基づいて各ペイロードの実際データサイズを獲得できる。一方、図３に示すようにソースペイロードが２次元配列で構成される場合、ＡＬ-ＦＥＣデコーダは、受信されたそれぞれのペイロードに関するオフセット情報を用いて、受信されたそれぞれのペイロードを２次元配列で配置することによってソースブロックを回復することができる。一般に、図２のモードで損失されるパケットの個数が図３の２次元配列で損失されるペイロードの個数より多いため、図２のＩＢＧモードに要求される長さパリティデータの比率は、２次元配列のための長さパリティデータの比率より高くなければならない。
【００４０】
図３のモードは図２のモードに比べて多い量の長さパリティデータが必要であるため、さらに必要なパリティデータの量が２次元配列の構成により縮小されるパディング量より少ない場合、図３のＩＢＧモードは、より効果的である。したがって、ＦＥＣエンコーダは、図３のＩＢＧモードによって縮小するパリティペイロードの量と図３のＩＢＧモードによって追加的に要求される長さパリティデータの量を考慮して、図２のＩＢＧモードと図３のＩＢＧモードのうちいずれか一つを選択することができる。
【００４１】
例えば、図３のような２次元配列で構成される情報ブロックが図２に示すように構成される情報ブロックより一つのパリティペイロードを少なく発生する場合、ＦＥＣエンコーダは、２次元配列による長さパリティデータの追加される量が一つのパリティペイロードのサイズより大きい場合には図２のＩＢＧモードを適用する。そうでないと、ＦＥＣエンコーダは、図３のＩＢＧモードを適用する。
【００４２】
他の実施形態において、ＦＥＣエンコーダは、単に図２のＩＢＧモードにより要求されるパディングデータの量により、図２のＩＢＧモード及び図３のＩＢＧモードのうち一つを選択できる。通常に、図２のＩＢＧモードと図３のＩＢＧモードに要求されるシグナリング情報の量は、ほぼ定められている。したがって、図２のＩＢＧモードによって要求されるパディングデータの量により、図２のＩＢＧモードと図３のＩＢＧモードのうちの一つはより効率的であると判定される。すなわち、パディングデータの量が小さければ小さいほど、図２のＩＢＧモードがより効率的であり、パディングデータの量が大きければ大きいほど、図３のＩＢＧモードがより効率的である。したがって、ＦＥＣエンコーダは、図２のＩＢＧモードにより追加的に要求されるパディングデータの量が所定のしきい値より多い場合、図３のＩＢＧモードを用いて情報ブロックを構成する。そうでないと、ＦＥＣエンコーダは、図２のＩＢＧモードを用いて情報ブロックを構成する。例えば、しきい値は、図２のＩＢＧモードと図３のＩＢＧモードに要求されるシグナリング情報の量の差に従って定められる。
【００４３】
図５Ａは、本発明の一実施形態によるＡＬ-ＦＥＣ符号化プロセスを示す。
【００４４】
図５Ａを参照すると、可変長を有するＫ’個のソースペイロード５０２を含むソースブロック５００は、ＡＬ-ＦＥＣ符号化のために入力される。ソースペイロード５０２は、同一の長さを有するＫ個の情報ペイロード５０６を含む２次元配列の情報ブロック５０４上に順次に配置される。最後の情報ペイロードは、直列化したソースペイロード以後にパディングデータを含むことができる。送信器は、ソースブロック５００内のソースペイロード５０２に対するペイロード長Ｓ０，Ｓ１，…，ＳＫ'-２，ＳＫ'-１を含むソースペイロード長に対するソースブロック(以下、‘長さソースブロック’と称する)５０８を構成する。ＦＥＣエンコーダ５１０は、情報ブロック５０４を符号化してＮ-Ｋ個の同一の長さを有するパリティペイロード５１４を含むパリティブロック５１２を生成し、また長さソースブロック５０８を符号化して、ｐ０，ｐ１，…，ｐＮ-Ｋ-１を含むパリティブロック５１６を生成する。長さパリティブロック５１６とパリティブロック５１２は、ソースブロック５００とＦＥＣ配信(delivery)ブロック５２０で構成され、送信器から受信器に伝送される。
【００４５】
図５Ｂは、本発明の一実施形態によるＡＬ-ＦＥＣ復号化プロセスを示す
【００４６】
図５Ｂを参照すると、ＦＥＣ配信ブロック５３０は、送信器から受信器により受信される。ＦＥＣ配信ブロック５３０は、ソースペイロード５３２、パリティペイロード５３４、及び長さパリティデータ５４０を含む。パケット損失チャンネル特性によって、受信されたＦＥＣ配信ブロック５３０内に一つ以上の損失されたペイロード５３６，５３８が存在することがある。
【００４７】
受信器は、まず成功的に受信されたソースペイロード５３２から該当長Ｓ０，Ｓ１，…，ＳＫ'-１  ５４２を計算する。ソースペイロード５３２がＩＰプロトコルに基づいたプロトコル階層を通じて伝送されるので、ＩＰプロトコルは、ＦＥＣ配信ブロック５２０の各ペイロードを搬送する各ＩＰパケットを区分できる。受信器は、受信されたＦＥＣ配信ブロック５３０の各ペイロードの境界をＩＰパケットの区分から識別し、成功的に受信した各ペイロードの長さを計算する。他の実施形態では、受信器は、ＭＭＴ又はＲＴＰのようなアプリケーションプロトコル、伝送制御プロトコル(ＴＣＰ)、又はユーザーデータグラムプロトコル(ＵＤＰ）のような転送プロトコルを通じて、受信された各ペイロードの長さを獲得できる。他の実施形態では、図示しないが、送信器は、ＦＥＣ配信ブロック５２０の各ペイロード(又は各ソースペイロード)に長さフィールドを含むヘッダーを追加して伝送し、受信器は、受信された各ペイロードのヘッダーからその長さがわかる。
【００４８】
受信器は、ソースペイロード５３２の長さを含む長さブロック５４２とＦＥＣ配信ブロック５２０から抽出された長さパリティデータ５４０とを含む、ペイロード長のためのＦＥＣブロック５４４を構成する。ＦＥＣブロック５４４内で損失されたソースペイロード５３６に対する長さ５３６ａと損失されたパリティペイロード５３８に対する長さパリティデータ５３８ａは、削除、例えば、所定値を取る。ＦＥＣデコーダ５５０は、ＦＥＣブロック５４４に対する削除復号化を実行し、損失されたペイロード５３６，５３８を含むすべてのペイロードの長さ５４４ａを回復させる。
【００４９】
受信器は、回復されたペイロード長５４４ａから２次元配列で構成される情報ブロック５５２上に各ペイロードの位置を知るので、受信されたペイロード５３２，５３４を２次元配列上に配置して損失されたペイロード５３６，５３８を削除してＦＥＣブロック５３０ａを構成する。ＦＥＣブロック５３０ａ内で損失されたペイロード５３６，５３８により占められる空間は、回復されたペイロード長５４４ａからわかる。ＦＥＣデコーダ５５０は、ＦＥＣブロック５３０ａを復号化して情報ブロック５５２を回復し、回復されたペイロード長５４４ａに基づいて回復された情報ブロック５５２からソースブロック５５４を出力する。
【００５０】
図６Ａは、本発明の一実施形態によりソースブロックから情報ブロックを生成するプロセスを示す。
【００５１】
図６Ａを参照すると、ソースブロック６０２は、Ｋ'個のソースペイロード６０４を含み、情報ブロック６０６は、ソースペイロード６０４を２次元配列上に配置することによって構成されるＫ個の情報ペイロード６０８と選択的にパディングデータ６０８ａを含む(ここで、Ｋ＜Ｋ')。ソースペイロード６０４のサイズＳ１，Ｓ２，…，ＳＫ−１，ＳＫ’は、ＭＴＵと伝送に使用される各種ヘッダーフィールドを考慮して決定することができる。ソースペイロードのうち最大サイズはＳmaxバイトであり、構成しようとする２次元配列のサイズがＳmax×Ｋである場合、まず、Ｋ'個のソースペイロードを含むソースブロック６０２は、入力される一連のソースペイロード６０４により構成される。構成されたソースブロック６０２内のソースペイロード６０４は、Ｓmax×Ｋサイズの２次元配列上に順次に配列され、パディングデータ６０８ａは、最後のＫ番目の情報ペイロードの後部に必要した場合に追加され、最終的に情報ブロック６０６が生成される。
【００５２】
異なる説明において、Ｋ'個のソースペイロードは、直列化され、直列化されたソースペイロードの端に残りのバイトがパディングされる。直列化されたソースペイロードの各Ｓmaxバイトは、各情報ペイロードとなり、最後の情報ペイロードは、直列化されたソースペイロードの残りにパディングデータを付加することによって生成される。このとき、パディングデータのサイズは、情報ブロックの全体サイズがＳmaxバイトの倍数となるように決定される。すなわち、情報ブロックは、全体情報ペイロードをＳmaxの単位で並列変換することにより生成され、上記したように生成された情報ペイロードの個数Ｋは、Ｋ'より小さいことがある。
【００５３】
図６Ｂ及び図６Ｃは、本発明の他の実施形態によりソースブロックから情報ブロックを生成するプロセスを示す。ここで、ソースブロック６１０は、複数のサブブロック６１２を含む。
【００５４】
図６Ｂを参照すると、ソースブロック６１０は、Ｍ個のサブブロック６１２に分割され、サブブロック６１２は、各々Ｋ１，Ｋ２，…，ＫＭ個のソースペイロード６１４を含む(Ｋ'＝Ｋ１＋Ｋ２＋…ＫＭ)。ここで、Ｋ１，Ｋ２，…，ＫＭは、１より大きいか、あるいは等しい正の整数である。各サブブロック６１２は、２次元配列上の所定の位置、例えばＳmax×Ｋ/Ｍバイトの位置で配置され始める。所定位置は、Ｓmax×Ｋ/Ｍの固定したサイズを有する情報サブブロック６１８の開始点であり、情報サブブロック６１８のうちサブブロック６１２が配置された後に、残り部分は、必要な場合にパディングデータ６１６により詰められる。各情報サブブロック６１８は、Ｓmaxを有するＫ/Ｍ個の情報ペイロード６２４に分割される。
【００５５】
図６Ｃを参照すると、情報ブロック６２０は、Ｓmax×Ｋサイズの２次元配列上に情報ペイロード６２４を順次に配列することで構成される。情報ブロック６２０に含まれるＫ個の情報ペイロード６２４は、Ｓmaxと同一のサイズを有する。図５Ａ及び図５Ｂの実施形態と異なり、パディングデータ６１６は、直列化された情報ブロック６２０内で表すことができる。
【００５６】
異なる説明において、ｉ番目のサブブロックのＫｉ個のソースペイロードは、直列化され、直列化されたソースペイロードのｊ番目のＳmaxバイトは、ｉ番目の情報サブブロック６２２のｊ番目の情報ペイロードとなる。ｉ番目の情報サブブロック６２２の最後情報ペイロードは、直列化されたＫｉ個のソースペイロードの残りにパディングデータを付加することによって生成される。このとき、パディングデータのサイズは、ｉ番目の情報サブブロック６２２の全体サイズがＳmax×Ｋ/Ｍとなるように定められる。すなわち、各情報サブブロック内で最後の情報ペイロードのみがパディングデータを含むことができる。
【００５７】
図７は、本発明の一実施形態によるペイロード長のためのＦＥＣブロックの構成を示す。
【００５８】
図7を参照すると、ＦＥＣエンコーダは、Ｋ'個のソースペイロードに対する長さＳｉ７０４(ｉ＝１，２，…，Ｋ'）を含むペイロード長に対するソースブロック７０２をＦＥＣ符号化することにより、ペイロード長に対するパリティブロック７０６を生成する。パリティブロック７０６は、Ｎ-Ｋ個のパリティデータ７０８を含む。ペイロード長に対するＦＥＣブロック７００は、ソースブロック７０２とパリティブロック７０６を含む。上記したように、ペイロード長に対するパリティデータは、ソースペイロードに対するパリティデータより高い(すなわち、強力な(robust))符号化率により生成されることが望ましい。
【００５９】
例えば、ＦＥＣエンコーダは、ペイロード長のうち奇数番目の長さからＮ-Ｋ個のパリティデータを生成し、別途に偶数番目の長さからＮ-Ｋ個のパリティデータを生成し、それによって２×(Ｎ-Ｋ)個のパリティデータを含むパリティブロックを生成できる。他の実施形態では、ＦＥＣエンコーダは、ペイロード長から２×(Ｎ-Ｋ)個のパリティデータを生成してペイロード長に対するパリティブロックを構成できる。その結果、ペイロード長に対するＦＥＣブロック(以下、‘長さＦＥＣブロック’と称する)は、ソースペイロードに対するＦＥＣブロック(以下、‘情報ＦＥＣブロック’と称する)より高い復号性能を保証できる。
【００６０】
図８Ａ及び図８Ｂは、本発明の一実施形態による情報ＦＥＣブロックとＦＥＣ配信ブロックの構成を示す。
【００６１】
図８Ａを参照すると、情報ＦＥＣブロック８００は、Ｋ個の情報ペイロードを含む情報ブロック８０２とＰ個のパリティペイロードを含むパリティブロック８０４を含む。各ペイロードは、Ｓバイト(例えば、Ｓ＝Ｓmax）のサイズを有する。ＦＥＣエンコーダは、情報ブロック８０２からパリティブロック８０４を生成してＦＥＣブロック８００を構成する。図８Ｂを参照すると、ＦＥＣ配信ブロック８２０は、Ｋ'個のソースペイロードを含むソースブロック８２２、Ｐ個のパリティペイロードを含むパリティブロック８２４、及びペイロード長に対するパリティブロック８３０を含む。
【００６２】
図８Ｃ及び図８Ｄは、本発明の他の実施形態によるＦＥＣブロックとＦＥＣ配信ブロックの構成を示す。ここで、２段階(stage)のＦＥＣが実行される場合に対する例を示す。
【００６３】
図８Ｃを参照すると、情報ＦＥＣブロック８３０は、第１のＦＥＣのために構成されたＭ個のＦＥＣ１ブロックと、第２のＦＥＣを通じて生成されたパリティ２ブロックを含む。各ＦＥＣ１ブロックは、複数の情報ペイロードを含むサブブロックと第１のＦＥＣを通じて生成されたパリティ１ブロックを含む。図８Ｄを参照すると、ＦＥＣ配信ブロック８４０は、第１のＦＥＣのために構成されたＭ個のＦＥＣ１配信ブロックと、第２のＦＥＣを通じて生成されたパリティ２ブロックを含む。各ＦＥＣ１配信ブロックは、複数のソースペイロードを含むサブブロックと第１のＦＥＣを通じて生成されたパリティ１ブロックを含む。各パリティブロックは、該当する長さパリティブロックを含む。
【００６４】
以上、長さパリティブロックを全体パリティブロックの前部に配置してＦＥＣ配信ブロックを構成する実施形態を示した。変形された実施形態で、長さパリティブロックは、パリティブロックのためのヘッダー又はソースブロックのためのヘッダーを通じて伝送され、この場合、ＦＥＣ配信ブロックは、ソースブロックとパリティブロックのみを含む。
【００６５】
後述する実施形態において、伝送に適用されるＡＬ-ＦＥＣ符号化方式を示すフラグは、図２のＩＢＧモードと図３のＩＢＧモードのうちいずれか一つを選択してＡＬ-ＦＥＣ符号化に適用するために使用される。 例えば、ＦＥＣエンコーダは、フラグが０である場合、図２のＩＢＧモードによるＡＬ-ＦＥＣ符号化を実行し、フラグが１である場合、図３のＩＢＧモードを適用してＡＬ-ＦＥＣ符号化を実行する。フラグは、ＦＥＣ配信ブロックと共にあるいは別のシグナリングを通じて送信器から受信器に伝送することができる。
【００６６】
図９は、本発明の一実施形態によるペイロード長のためのＦＥＣブロックを示す。
【００６７】
図９を参照すると、ペイロード長に対するＦＥＣブロック９００は、Ｋ'個のソースペイロードに対する長さ９０４を含むソースブロック９０２とＮ-Ｋ個の長さパリティデータ９０８を含むパリティブロック９０６(すなわち、長さパリティブロック)を含む。図２に示すように、情報ブロックが構成される場合、受信器に各ソースペイロードの長さを通知するために、送信器は、ペイロード長に対するソースブロック９０２からＦＥＣ符号化を通じて長さパリティブロック９０６を生成し、ペイロード長に対するパリティブロック９０６をソースブロック及び該当パリティブロックと共に伝送する。システム負担を最小化するために、ＦＥＣコードは、ソースブロックを符号化するために使用されるＦＥＣコードと同一に、長さパリティブロックを生成するために使用され得る。
【００６８】
与えられたパケット損失チャンネル環境でＡＬ-ＦＥＣ復号後に達成しようとするパケット誤り率(Packet  Error  Rate：ＰＥＲ)またはビット誤り率(Bit  Error  Rate：ＢＥＲ)が決定される場合、図２のＩＢＧモードは、ソースブロックに対するＫ'個のソースペイロードに対してＰ'個のパリティペイロードを発生させ、図３のＩＢＧモードは、Ｋ個の情報ペイロードを含む情報ブロックに対してＰ個のパリティペイロードを発生する。図２及び図３のＩＢＧモードを比較すると、図２のＩＢＧモードは、Ｐ'-Ｐ個のパリティペイロードをさらに必要として、図３のＩＢＧモードは、ペイロード長に対するパリティデータをさらに必要とする。
【００６９】
送信器は、２種類のＩＢＧモードによるパリティペイロードの個数Ｐ'及びＰを予測し、ペイロード長に対するパリティデータを計算し、ペイロード長に対するパリティデータの量がＰ'-Ｐ個のパリティペイロードより小さい場合、フラグを１に設定し、図３のＩＢＧモードによるＡＬ-ＦＥＣ符号化を適用する。一方、ペイロード長に対するパリティデータの量がＰ'-Ｐ個のパリティペイロードより小さくない場合、フラグを“０”に設定し、図２のＩＢＧモードによるＡＬ-ＦＥＣ符号化を適用する。
【００７０】
Ｐ'＝Ｐ＋ｐである場合、図２のＩＢＧモードに要求されるパリティデータの量は、(Ｓmax＋Ｌ)×(Ｐ＋ｐ）により計算され、図３のＩＢＧモードに要求されるパリティデータの量は(Ｓmax＋Ｌ×(１＋ｒ)) ×Ｐにより計算される。したがって、パリティデータの差は、(Ｓmax＋Ｌ)×ｐ-Ｌ×ｒ×Ｐ）により計算される。ここで、Ｌは、各ソースペイロードの長さを表現するために要求されるバイトを意味し、ｒは、長さソースブロックを分割した回数を意味する。すなわち、長さフィールドは、より強力な符号化のために一つ以上のサブブロックに分割されて個別的に符号化され得る。ｒ＝１である場合、長さフィールドが２個のサブブロックに分割されることを意味する。
【００７１】
ｒ＝１である場合、パリティデータ間の差は(Ｓmax＋Ｌ)×ｐ-Ｌ×Ｐである。ここで、ｐは、図３のＩＢＧモードのアプリケーションにより減少するパリティペイロードの個数を意味し、ＰＲ×(Ｋ'-Ｋ)より小さい。ここで、ＰＲは、パリティレートであり、パリティ長と情報長の割合で表す。ＰＲ＝Ｐ'/Ｋ'＝Ｐ/Ｋである場合、ｐ＝Ｐ'-Ｐ＝ＰＲ×(Ｋ'-Ｋ)である。同一のＰＲでは情報長が長いほど、性能がよいので、同一の性能のためにはｐはＰＲ×(Ｋ'-Ｋ)より小さくなければならない。すなわち、下記の＜数式１＞が成立すべきである。
【００７２】
【数１】
2014532371.tif 000003
【００７３】
Ｐ＝Ｐ'-ｐ＝ＰＲ×Ｋ'-ｐであるため、Ｌ×Ｐ＝Ｌ×(Ｐ'-ｐ)＝Ｌ×ＰＲ×Ｋ'-Ｌ×ｐである。したがって、＜数式１＞は、以下の＜数式２＞のように示す。
【００７４】
【数２】
2014532371.tif 000004
【００７５】
通常に、ＳmaxとＬが伝送途中で固定されるので、パリティレートが高いほど、(Ｋ-Ｋ’)が大きいほど、すなわち図２のＩＢＧモードによるパディングデータの量が多いほど、図３のＩＢＧモードを適用することがより望ましい。
【００７６】
下記の＜表１＞〜＜表３＞は、Ｓmax＝１０００バイト、Ｌ＝２バイト、ｒ＝１である場合、Ｋ'＝１００，２００，４００である場合、パリティレートとパディングレートの量による総パリティ量を比較して示す。
【００７７】
以下の＜表１＞は、Ｋ'＝１００である場合、図３のＩＢＧモードと図２のＩＢＧモードに必要な総パリティ量を示す。
【００７８】
【表１】
2014532371.tif 000005
【００７９】
下記の＜表２＞は、Ｋ'＝２００である場合、図３のＩＢＧモードと図２のＩＢＧモードに必要な総パリティ量を示す。
【００８０】
【表２】
2014532371.tif 000006
【００８１】
下記の＜表３＞は、Ｋ'＝４００である場合、図３のＩＢＧモードと図２のＩＢＧモードに必要な総パリティ量を示す。
【００８２】
【表３】
2014532371.tif 000007
【００８３】
＜表１＞〜＜表３＞で、横軸はパリティレートを意味し、縦軸は(Ｓmax×Ｋ)/(Ｓmax×Ｋ')、例えば、図２のＩＢＧモードを適用した場合のパディングデータの比率を意味する。＜表１＞〜＜表３＞で各セルのＡ/Ｂのうち、Ａは、図３のＩＢＧモードに最小限に要求されるパリティデータ量を表し、Ｂは、図２のＩＢＧモードに必要なパリティデータ量を表す。
【００８４】
図３のＩＢＧモードと図２のＩＢＧモードとの間で要求されるパリティデータ量差が０.５％(データ量の差/(Ｓmax×Ｋ'))より小さい場合には太字で表示される。上記の値は、ＦＥＣ配信に基づいて計算され、各ペイロードのヘッダー、アプリケーションプロトコルヘッダー、転送プロトコルヘッダー、及びインターネットプロトコルヘッダーの量に従って変わり得る。図３のＩＢＧモードによるペイロードの個数は図２のＩＢＧモードの個数以下であるため、ヘッダーを計算に考慮すれば、図３のＩＢＧモードによる効果は増加する可能性がある。
【００８５】
したがって、本発明の具体的な実施形態において、送信器は、(Ｋ'-Ｋ)とＰＲに基づいたＩＢＧモードを選択できる。例えば、パリティレートが非常に小さくて＜数式１＞の右側項が負の値を有する場合、図２のＩＢＧモードを適用すると決定する。
【００８６】
後述する本発明の実施形態では、図２のＩＢＧモードと図３〜図４のＩＢＧモードのうち一つを選択してＡＬ-ＦＥＣ符号化に適用することにおいて、伝送に適用されたＡＬ-ＦＥＣ符号化方式を表すフラグが使用され、２次元配列上のソースペイロードを区分するために、図４に示すオフセット情報が伝送される。例えば、ＦＥＣエンコーダは、フラグが“０”である場合、図２のＩＢＧモードを適用してＡＬ-ＦＥＣ符号化を実行し、フラグが“１”である場合、図３〜図４のＩＢＧモードを適用してＡＬ-ＦＥＣ符号化を実行する。フラグは、ＦＥＣ配信ブロックと共に、あるいは別のシグナリングを通じて送信器から受信器に伝送することができる。
【００８７】
所定のパケット損失チャンネル環境で、ＡＬ-ＦＥＣ復号化後に達成しようとするＰＥＲまたはＢＥＲが定められる場合、図２のＩＢＧモードは、ソースブロックのためのＫ'個のソースペイロードに対してＰ'個のパリティペイロードを発生させ、図３〜図４のＩＢＧモードは、Ｋ個の情報ペイロードを含む情報ブロックに対してＰ個のパリティペイロードを発生させる。図２、図３、及び図４のＩＢＧモードを比較すると、図２のＩＢＧモードは、Ｐ'-Ｐ個のパリティペイロードをさらに必要とし、図３〜図４のＩＢＧモードは、オフセット情報をさらに必要とする。
【００８８】
送信器は、２つのＩＢＧモードによるパリティペイロードの数Ｐ'及びＰを予測してオフセット情報の量を計算し、オフセット情報の量がＰ'-Ｐ個のパリティペイロードより小さい場合、フラグを“１”に設定して図３及び図４のＩＢＧモードによるＡＬ-ＦＥＣ符号化を適用し、オフセット情報の量がＰ'-Ｐ個のパリティペイロードより小さくない場合、フラグを“０”に設定して図２のＩＢＧモードによるＡＬ-ＦＥＣ符号化を適用する。
【００８９】
Ｐ'＝Ｐ＋ｐである場合、図２のＩＢＧモードにより要求されるパリティデータの量は、(Ｓmax＋Ｌ)×(Ｐ＋ｐ)で計算され、図３及び図４のＩＢＧモードに追加的に要求される情報の量は、Ｓmax×Ｐ＋Ｋ'×Ｏｆｆ_ｌｎｇ＝(Ｓmax×Ｌ)×ｐ＋Ｌ×Ｐ-Ｋ'×Ｏｆｆ_ｌｎｇである。ここで、Ｏｆｆ_ｌｎｇは、オフセット情報のために必要な情報量である。
【００９０】
ここで、ｐは、図３のＩＢＧモードのアプリケーションにより減少するパリティペイロードの個数であって、おおよそＰＲ×(Ｋ'-Ｋ)より少ない。ここで、パリティレートＰＲは、(パリティ長)/(情報長)で示される。ＰＲ＝Ｐ'/Ｋ'＝Ｐ/Ｋである場合、ｐ＝Ｐ'-Ｐ＝ＰＲ×(Ｋ'-Ｋ)である。同一のＰＲでは、情報長が長いほど性能が良いので、同一の性能のためにｐはＰＲ×(Ｋ'-Ｋ)より小さいはずである。すなわち、下記の＜数式３＞が成立される。
【００９１】
【数３】
2014532371.tif 000008
【００９２】
Ｐ＝Ｐ'-ｐ＝ＰＲ×Ｋ'-ｐであるので、Ｌ×Ｐ＝Ｌ×(Ｐ'-ｐ)であり、(Ｓmax＋Ｌ)×ｐ＋Ｌ×Ｐ＝(Ｓmax＋Ｌ) ×ｐ＋Ｌ×Ｐ'-Ｌ×ｐ＝Ｓmax×ｐ＋Ｌ×Ｐ'である。したがって、＜数式３＞は、＜数式４＞に定義されるように示され得る。
【００９３】
【数４】
2014532371.tif 000009
【００９４】
一般に、ＳmaxとＬは伝送途中で固定されるので、パリティレートが高いほど、(Ｋ'-Ｋ）が大きいほど、例えばパディングデータの量が多いほど、図３及び図４のＩＢＧモードがより効果的である。また、Ｋ’は、Ｓmaxが小さいほど大きくなるので、Ｓmaxが大きい値を有するほど図３及び図４のＩＢＧモードがより効果的である。
【００９５】
下記の＜表４＞〜＜表６＞は、Ｓmax＝１０００バイト、Ｌ＝２バイト、Ｏｆｆ_ｌｎｇ＝４バイトである場合、Ｋ'＝１００，２００，４００のケースで、パリティレートとパディングレートの比率によるパリティデータと追加情報の総データ量との比較を示す。
【００９６】
下記の＜表４＞は、Ｋ'＝１００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【００９７】
【表４】
2014532371.tif 000010
【００９８】
下記の＜表５＞は、Ｋ'＝２００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【００９９】
【表５】
2014532371.tif 000011
【０１００】
下記の＜表６＞は、Ｋ'＝４００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【０１０１】
【表６】
2014532371.tif 000012
【０１０２】
下記の＜表７＞〜＜表９＞は、Ｓmax＝５００バイト、Ｌ＝２バイト、Ｏｆｆ_ｌｎｇ＝４バイトである場合、Ｋ'＝１００，２００，４００のケースで、パリティレートとパディングレートの比率によるパリティデータと追加情報の総データ量との比較を示す。
【０１０３】
＜表７＞は、Ｋ'＝１００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【０１０４】
【表７】
2014532371.tif 000013
【０１０５】
下記の＜表８＞は、Ｋ'＝２００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【０１０６】
【表８】
2014532371.tif 000014
【０１０７】
次の＜表９＞は、Ｋ'＝４００である場合、図３及び図４のＩＢＧモードと図２のＩＢＧモードに必要な総データ量を示す。
【０１０８】
【表９】
2014532371.tif 000015
【０１０９】
＜表４＞〜＜表９＞において、横軸はパリティレートを意味し、縦軸は(Ｓmax×Ｋ)/(Ｓmax×Ｋ')、例えば、図２のＩＢＧモードが適用される場合のパディングデータの比率を意味する。＜表４＞〜＜表９＞の各セルでＡ/Ｂのうち、Ａは、図３及び図４の構成に最小限に要求されるデータ量を表し、Ｂは、図２のＩＢＧモードに必要なデータ量を表す。
【０１１０】
図３及び図４のＩＢＧモードと図２のＩＢＧモードに要求されるデータ量の差が０.５％(データ量の差/(Ｓmax×Ｋ'))より小さい場合、太字で表示した。上記値は、ＦＥＣ配信に基づいて計算され、各ペイロードのヘッダー、アプリケーションプロトコルヘッダー、転送プロトコルヘッダー、及びインターネットプロトコルヘッダーの量により変わり得る。図３及び図４のＩＢＧモードによるペイロードの個数は、図２のＩＢＧモードの個数以下であるので、ヘッダーを計算に考慮するとき、図３のＩＢＧモードによる効果はより大きくなることがある。
【０１１１】
＜表１＞〜＜表３＞及び＜表４＞〜＜表６＞に示すように、図３のＩＢＧモードに対して長さパリティブロックを使用する本発明の実施形態とオフセット情報を使用する実施形態において、パリティデータと追加情報の量は次のように比較される。
【０１１２】
ソースブロックとパリティブロックは、２つの実施形態に同様に適用されるので、その比較を省略する。長さパリティブロックを使用する本発明の実施形態は、(１＋ｒ)×Ｌ×Ｐの追加データを要求し、オフセット情報を使用する実施形態は、Ｏｆｆ_ｓｅｔ×Ｋ'の追加データを要求する。Ｌ＝２バイト、Ｏｆｆ_ｓｅｔ＝４バイトである場合、長さパリティブロックを使用する本発明の実施形態は、Ｐ＜Ｋ'である場合、オフセット情報を使用する実施形態より効率的である。チャンネルのパケット損失率が１０％であっても、Ｋ'の値は、Ｐの値より一層大きいので、長さパリティブロックを使用する実施形態がオフセット情報を使用する実施形態よりオーバーヘッド側面でより効率的であることがわかる。
【０１１３】
以下の＜表１０＞は、Ｓmax＝１０００byte、Ｌ＝２byte、ｒ＝１、及びＫ'＝２００である場合、長さパリティブロックを使用する実施形態とオフセット情報を使用する実施形態で要求されるデータ量、例えばバイト数を比較して示すものである。ここで、ソースブロック及びパリティブロックの量は、２つの本発明の実施形態で同一であるので、その量は考慮しない。
【０１１４】
【表１０】
2014532371.tif 000016
【０１１５】
以下、本発明の実施形態による送受信構造について説明する。
【０１１６】
図１０Ａ及び図１０Ｂは、本発明の一実施形態によるＭＭＴシステム構造と配信機能階層の構造を示す。
【０１１７】
図１０を参照すると、メディアコーディング階層により圧縮されたＡＶデータは、カプセル化(encapsulation)機能階層１００２を経てファイルフォーマットに類似した形態でパッケージ化されて出力される。配信機能階層１００４は、カプセル化機能階層１００２から出力されるＭＭＴパッケージをＭＭＴペイロードフォーマットに変換した後、ＭＭＴ転送パケットヘッダーを付加してＭＭＴ転送パケットで構成し、あるいは既存のＲＴＰプロトコルを用いてＲＴＰパケットを構成する。その後、構成されたパケットは、転送プロトコル階層１００６を経て最終的にインターネットプロトコル(ＩＰ)階層１００８によりＩＰパケット化されて伝送される。選択的に存在できる制御機能部１０００は、データの伝送に必要な制御情報あるいはシグナリング情報を生成してデータに付加した後、その情報を伝送し、あるいは別のシグナリング手段を通じて伝送する。
【０１１８】
図１０Ｂは、配信機能階層１００４の詳細構造を示す。配信機能階層１００４は、所定のＦＥＣコードによる符号化をサポートできる２個の位層であるＭＭＴ  Ｄ.１階層１０１０とＭＭＴ  Ｄ.２階層１０１２を含む。ＦＥＣコードは、例えば、リ―ドソロモン(ＲＳ）コード、ＬＤＰＣ(Low  Density  Parity  Check)コード、ラプター(raptor)コード、ラプターＱコードであり得る。
【０１１９】
図１１は、本発明の一実施形態によるＡＬ-ＦＥＣ符号化及び復号化の構造を示す。ここで、ＡＬ-ＦＥＣをサポートするＭＭＴ  Ｄ.１階層１０１０のフローを示し、ＭＭＴ  Ｄ.２階層１０１２でＡＬ-ＦＥＣがサポートされる場合にも類似した説明が適用可能であることはもちろんである。
【０１２０】
図１１を参照すると、ＭＭＴ  Ｄ.１階層１００４のペイロードフォーマット生成器１１０６は、カプセル化機能を担当するＭＭＴ  Ｅ.１階層１１０２からＭＭＴパッケージ１１２０(例えば、ＡＶデータ、ファイル、テキストなどを格納部に格納し、あるいは伝送するための目的で形成されたフォーマット)を受信して伝送のための所定単位、例えばソースペイロード１１２４に分けてソースブロック１１２２を構成する。ソースブロックは、ＡＬ-ＦＥＣブロック１１０８内のＡＬ-ＦＥＣモジュールコンバータ１１５０に入力される。
【０１２１】
ＡＬ-ＦＥＣモジュールコンバータ１１５０は、所定の複数の情報ブロック生成(ＩＢＧ)モードのうち一つ、例えば図２のＩＢＧモード又は図３のＩＢＧモードにより、ソースブロック１１２２を同一の長さを有する情報ペイロード１１３６を含む情報ブロック１１３４に変換する。ＦＥＣエンコーダ１１３８は、情報ブロック１１３４に対して、与えられたＦＥＣコードによりＦＥＣ符号化を実行してパリティブロック１１４０を生成してペイロードフォーマット生成器１１０６に伝送する。ペイロードフォーマット生成器１１０６は、ソースブロック１１２２にパリティブロック１１４０を追加してそれぞれのペイロードにペイロードヘッダー(ＰＬＨ)１１２６を付加してＦＥＣ配信ブロック１１２８を生成し、ＦＥＣ配信ブロック１１２８をＭＭＴペイロードフォーマット１１５２にパケット化して出力する。ＭＭＴペイロードフォーマット１１５２は、ＭＭＴ  Ｄ.２階層１１１０又はＩＥＴＦ(Internet  Engineering  Task  Force)アプリケーションプロトコル階層１１１０に伝送される。選択可能な実施形態としてパリティブロック１１４０又はペイロードヘッダー１１２６に長さパリティブロックあるいはソースペイロードの長さ情報が付加できる。ＭＭＴペイロードフォーマット１１５２は、以後の伝送階層でＵＤＰヘッダーが付加され、インターネット階層でＩＰヘッダーが付加された後に受信器に伝送される。
【０１２２】
ＭＭＴペイロードフォーマット１１５２がＭＭＴ  Ｄ.２階層１１１０に伝送される場合、ＭＭＴ  Ｄ.２階層１１１０は、ＭＭＴペイロードに対するＡＬ-ＦＥＣ符号化を実行してＭＭＴ転送パケットを構成でき、ＭＭＴ転送パケットは、伝送階層によりＩＰパケットに乗せて受信器に伝送される。
【０１２３】
復号化の際に、ペイロードフォーマット生成器１１０６は、ＭＭＴ  Ｄ.２階層/ＩＥＴＦアプリケーションプロトコル階層１１１０を通じて受信されたＭＭＴペイロードフォーマット１１５２をソースブロック１１２２とパリティブロック１１４０に区分し、ＭＭＴペイロードフォーマット１１５２あるいは別途のシグナリング手段を通じてソースブロック１１２２に含まれたソースペイロードに関する長さ情報を獲得する。ＡＬ-ＦＥＣブロック１１０８内のＦＥＣデコーダ１１３８は、長さ情報に基づいて回復された情報ブロック１１３４ａとパリティブロック１１４０を復号化し、損失されたソースペイロードを回復する。また、ＦＥＣデコーダ１１３８は、ソースペイロードに関する長さ情報を表す長さパリティブロックを復号化し、ソースペイロードの長さを獲得する。ソースペイロードの長さは、復号化を通じて回復された情報ブロックを元のソースペイロードに分割するために使用される。
【０１２４】
以下、図１２〜図１４を参照して、符号化方式によるＦＥＣブロックの生成について説明する。
【０１２５】
図１２は、本発明の実施形態によるＦＥＣブロックの構成を示す。
【０１２６】
図１２を参照すれば、ＳバイトのサイズであるＫ個の情報ペイロード１２０４を含む情報ブロック１２０２は、各々ｍ個の行を含むＳ個の情報シンボル部１２０６に行単位で分割することができ、各情報シンボル部１２０６は、ｍ×Ｋビットで構成される。情報ブロック１２０２から生成されたパリティブロック１２１２は、同一にＳ個のパリティシンボル部１２１４に分割される。ＦＥＣブロック１２１０は、情報ブロック１２０２及びパリティブロック１２１２を含む。具体的に、ＦＥＣエンコーダは、各情報シンボル部１２０６から、与えられたＦＥＣコードによってパリティシンボル部１２１４を生成し、情報シンボル部１２０６とパリティシンボル部１２１４を含むＦＥＣフレーム１２２０を構成する。ＦＥＣブロック１２１０は、各々ｍ×Ｎビットのサイズを有するＳ個のＦＥＣフレーム１２２０を含む。ここで、ｍは、８×Ｓの約数であり、例えば１又は８であり得る。
【０１２７】
図１３は、本発明の一実施形態によるリ―ドソロモン(ＲＳ)フレームの構成を示す。ＲＳフレームは、ＡＬ-ＦＥＣのためにＲＳコードが使用される場合のＦＥＣフレームを意味し、ここで、ｍ＝８である場合、ＲＳ２４０，２００  ｃｏｄｅ  ｏｖｅｒ  ＧＦ(２＾８)によるＲＳフレームを示す。
【０１２８】
図１３を参照すれば、Ｋ個のペイロードを含む情報ブロックのｐ番目のバイト行が第ｐの情報シンボル部(Ｋバイト)１３０４となり、送信器は、情報シンボル部１３０４に２００-Ｋバイトを００ｈでパディング(１３０２)した後、符号化して４０バイトのパリティバイト１３０６，１３０８を生成する。第ｐのＲＳフレーム１３００は、符号化入力に対応する短縮バイト(shortened  byte)１３０２、情報シンボル部１３０４、及び符号化出力に対応するパリティバイト１３０６，１３０８を含む。送信器は、ＲＳフレーム１３００のうち最初に(２００-Ｋ)のパディングバイト１３０２を短縮し、最後の４０-Ｐバイト１３０８をパンクチャリング(puncturing)することにより、Ｋバイトの情報シンボル部１３０４とＰバイトのパリティシンボル部１３０６のみを最終伝送する。Ｂ(ｐ，ｊ）は、第ｐのＲＳフレームのｊ番目のバイトを意味する。
【０１２９】
図１４は、本発明の一実施形態によるＬＤＰＣフレームの構成を示す。ＬＤＰＣフレームは、ＡＬ-ＦＥＣのためにＬＤＰＣコードが使用される場合のＦＥＣフレームを意味し、ここで、ＬＤＰＣ(ｍ×(Ｋ＋Ｐ)、ｍ×Ｋ)ｃｏｄｅ  ｏｖｅｒ  ＧＦ２によるＬＤＰＣフレームに対応する。
【０１３０】
図１４を参照すると、Ｋ個のペイロードを含む情報ブロックの第ｐのｍ個の行がｍ×Ｋビットの第ｐの情報シンボル部１４００であり、送信器は、情報シンボル部１４００とｍ×Ｐパリティビットを有するパリティシンボル部１４０２を接続して第ｐのＬＤＰＣフレーム１４０８を生成する。ここで、ｍは、正の整数を意味する。ｂ(ｐ，ｊ＊ｍ＋ｉ）は、第ｐのＬＤＰＣフレームで第ｊのペイロードの第ｍの行のうち、ｉ番目のビットを意味する。ｍが１より大きい場合、ｂ(ｐ，ｊ＊ｍ＋ｉ）は、最初のペイロードから上から下に(すなわち、ペイロード優先で)番号が割り当てられるが、他の実施形態では最初の行の左側から右側に(すなわち、行優先で)番号が割り当てられる。
【０１３１】
以下、図１５〜図１９を参照してペイロード長に対するパリティブロックの生成について説明する。
【０１３２】
ソースブロックに関するペイロード長情報は、ペイロードフォーマット生成器１１０６がソースペイロードを含むソースブロックを構成する場合、それぞれのソースペイロードに対する長さを受信して構成され、あるいはシステム制御器(図示せず)からＡＬ-ＦＥＣブロック１１０８に提供される。他の実施形態では、ペイロード長情報がペイロードヘッダー１１２６を通じて伝送される場合、ペイロードフォーマット生成器１１０６は、ソースペイロード１１２４とペイロード長情報を共にＡＬ-ＦＥＣモジュール１１０８に伝送することができる。
【０１３３】
ペイロード長に対するＦＥＣ性能は、上記したようにソースブロックに対するＦＥＣ性能より良くなければならない。ペイロード長のためのＦＥＣ性能を向上させるための本発明の一つの実施形態では、ペイロード長情報は、２つの長さソースブロックに分けられ、それぞれの長さソースブロックに対してＮ-Ｋ個の列(column)を有するパリティデータが生成され得る。Ｎ-Ｋは、ソースペイロードに対するソースブロックから生成されたパリティブロックに含まれるパリティペイロードの個数と同一である。上記のように、ペイロード長情報が分割される場合、各長さソースブロックに対して同一の量のパリティデータを確保できる一方、情報量は半分に減少することによって、より良いＦＥＣ性能を発揮できる。
【０１３４】
図１５は、本発明の一実施形態によるペイロード長に対するソースブロックの分割を示す。
【０１３５】
図１５を参照すると、Ｋ'個のソースペイロード各々に対するペイロード長フィールドにＬビットが割り当てられる場合、ペイロード長に対するソースブロック１５００(すなわち、長さソースブロック）は、Ｋ'個のＬビット長フィールドＳ１，Ｓ２，…，ＳＫ’を含む。ペイロード長に対するソースブロック１５００は、奇数番目の長さフィールドＳ１，Ｓ３，…，ＳＫ'-１を含む奇数のソースブロック１５０２と偶数番目の長さフィールドＳ２，Ｓ４，…，ＳＫ’を含む偶数のソースブロック１５０４に分けて符号化できる。Ｋ’が奇数である場合、奇数ソースブロック１５０２は、Ｓ１，Ｓ３，…，ＳＫ’を含み、偶数ソースブロック１５０４は、Ｓ２，Ｓ４，…，ＳＫ'-１を含むことができる。
【０１３６】
図１６は、本発明の一実施形態により分割された長さソースブロックに対するＦＥＣブロックの構成を示す。
【０１３７】
図１６を参照すれば、ペイロード長のための奇数/偶数パリティブロック１６０６，１６１４は、ペイロード長に対する奇数/偶数ソースブロック１６０４，１６１２から生成される。ペイロード長のための奇数/偶数ＦＥＣブロック１６０２，１６１０は、奇数/偶数ソースブロック１６０４，１６１２と奇数/偶数パリティブロック１６０６，１６１４を含む。奇数パリティブロック１６０６は、Ｎ-Ｋ個の奇数パリティデータｏｐ１，ｏｐ２，…，ｏｐＮ-Ｋを含み、偶数パリティブロック１６１４は、Ｎ-Ｋ個の偶数パリティデータｅｐ１，ｅｐ２，…，ｅｐＮ-Ｋを含む。
【０１３８】
本発明の他の実施形態では、ペイロード長のためのＦＥＣコードは、ソースペイロードに対するソースブロックが回復されるが、ペイロード長は、回復不可能な場合が確率的にほぼ発生しないように設計される。例えば、ソースペイロードに対するソースブロックの回復性能が１０＾(-７）のパケットエラー率(ＰＥＲ）を要求する場合、ペイロード長のための回復性能は１０＾(-７)以下、例えば、１０＾(-９）となるように設計することができる。
【０１３９】
ペイロード長のＦＥＣのための本発明のもう一つの実施形態では、ペイロード長のための全体ソースブロックに対する２×(Ｎ-Ｋ)列を有するパリティブロックが生成できる。
【０１４０】
もう一つの実施形態として、ペイロード長に対するパリティブロックは、ソースペイロードに対するソースブロックからパリティブロックを生成する場合に同一の方式及び同一のＦＥＣコードを使用して生成することができる。各長さソースブロックに関する情報サイズがソースペイロードに対するソースブロックより短いので、ＦＥＣエンコーダは、ペイロード長のためのソースブロックの各情報シンボルにパディングデータを追加してパリティデータを生成した後、パリティデータのうちパディングデータを短縮する。通常に、図２の情報ブロック生成に対するパディングデータは、５０％より非常に小さいので、Ｋは、Ｋ'/２よりはるかに大きくなる。例えば、パディングレートが１０％である場合、Ｋ'＝２００に対してＫ＝１８０であり、ペイロード長に対する奇数/偶数ソースブロック１５０２，１５０４，１６０４，１６１２は、Ｌ×１００列の配列(array)で構成される。したがって、より良いＦＥＣ性能が得られる。
【０１４１】
図１７は、本発明の一実施形態によるペイロード長のための奇数ＦＥＣブロックの構成を示す。ここで、奇数ＦＥＣブロックの構成のみを示すが、偶数ＦＥＣブロックも同様に構成されてもよいことはもちろんである。
【０１４２】
図１７を参照すると、ペイロード長に対する奇数ＦＥＣ１７００は、奇数ソースブロック１７０４と、それから生成された奇数パリティブロック１７０６で構成される。各ペイロード長が２バイトである場合、奇数ソースブロック１７０４は、２byte×Ｋ'/２列で構成される。Ｋ'/２が２００以下である場合、奇数ソースブロック１７０４は、各ペイロード長の最初及び２番目のバイトを各々含む２つのサブソースブロックに分けられた後、ＲＳ２４０，４０コードにより符号化できる。ＦＥＣエンコーダは、各Ｋ'/２バイトのサブソースブロックに２００-Ｋ'/２バイトを００ｈでパディング（１７０２）した後、パディングされたブロックから４０バイトのパリティデータを生成する。ＦＥＣエンコーダは、パディングされたブロックで２００-Ｋ'/２パディングバイト(１７０２)を短縮し、パリティデータのうち４０-Ｐバイトをパンクチャリング(１７０８)して、Ｎ-Ｋバイトを伝送する。
【０１４３】
奇数ソースブロック１７０４の最初のサブソースブロックはＳ１，１，Ｓ３，１，…，ＳＫ'-１，１を含み、それに対するパリティブロックはｏｐ１，１，ｏｐ２，１，…，ｏｐＮ-Ｋ，１を含む。第２のサブソースブロックは、Ｓ１，２，Ｓ３，２，…，ＳＫ'-３，２を含み、それに対するパリティブロックはｏｐ１，２，ｏｐ２，２，…，ｏｐＮ-Ｋ，２で構成される。ここで、Ｓｉ，ｊは、Ｓｉのｊ番目のバイトを表し、ｏｐｉ，ｊは、ｊ番目のパリティデータのｊ番目のバイトを表す。奇数ソースブロック１７０４に対して、ｉ＝１，３，…，Ｋ'であり、ｊは１又は２である。
【０１４４】
変形された本発明の実施形態として、２×(Ｎ-Ｋ)が４０より小さい場合、ペイロード長の最初のサブソースブロックとＲＳ２４０，４０コードを用いて２×(Ｎ-Ｋ)個のパリティバイトを生成した後、ペイロード長のためのパリティブロックを生成することができる。
【０１４５】
図１８は、本発明の一実施形態によるペイロード長に対するＦＥＣブロックの構成を示す。
【０１４６】
図１８を参照すると、ペイロード長に対するＦＥＣブロック１８００は、ペイロード長に対するソースブロック１８０２とペイロード長に対するパリティブロック１８０４を含む。ペイロード長に対するパリティブロック１８０４は、ペイロード長に対する奇数ソースブロックから生成されたパリティデータｏｐ１，ｏｐ２，…，ｏｐＮ-Ｋと偶数ソースブロックから生成されたパリティデータｅｐ１，ｅｐ２，…，ｅｐＮ-Ｋを含む。
【０１４７】
図１９は、本発明の一実施形態によるＦＥＣ配信ブロックの構成を示す。
【０１４８】
図１９を参照すると、ＦＥＣ配信ブロック１９００は、Ｋ'個のソースペイロード１９０４を含むソースブロック１９０２とＰ個のパリティペイロード１９１０を含むパリティブロック１９０６を含み、ペイロード長に対するパリティブロック１９０８をさらに含む。ここで、ペイロード長に対するパリティブロック１９０８の各列は、パリティブロック１９０６の各ペイロードの前部に配置される。本発明の他の実施形態では、パリティブロック１９０８は、ソースブロック１９０２の各ソースペイロードの前部または後部に配置することができる。もう一つの実施形態では、パリティブロック１９０８は、ソースペイロード１９０４に対するペイロードヘッダーに配置され、あるいはパリティペイロード１９１０に対するペイロードヘッダー内に配置される。もう一つの実施形態では、ペイロード長に対するパリティブロック１９０８は、ＦＥＣ配信ブロック１９００とは別途の制御シグナリングを通じて伝送することができる。
【０１４９】
他の実施形態では、ＬＤＰＣコードを用いてペイロード長に対するソースブロックを符号化する場合、送信器は、ペイロード長のためのソースブロックを２つのサブブロックに分け、それぞれのサブブロックにパディングデータを追加して符号化した後に、パディングデータを短縮することにより、図１８と同一の形態で、ペイロード長に対するＦＥＣブロックを構成できる。このとき、ソースペイロードに対するソースブロックが符号化される場合に使用されるように同一のＦＥＣコードを使用することによって、ＦＥＣ符号化の使用効率を高めてシステム負担を低減できる。すなわち、ＦＥＣエンコーダ５１０は、一つのＦＥＣコードのみをサポートするようにより簡単に構成され得る。
【０１５０】
本発明のもう一つの実施形態では、ＦＥＣエンコーダは、Ｌ×Ｋ'サイズの配列で配置されるペイロード長に対するソースブロックからＬ×２(Ｎ-Ｋ)サイズの配列で配置されるペイロード長に対するパリティブロックを生成し、Ｌ×２(Ｎ-Ｋ)配列のうち最初のＮ-Ｋ個の列、例えばＬ×(Ｎ-Ｋ)個の列は、ソースペイロードに対するソースブロックと同一のＦＥＣコードで生成され、残りのＬ×(Ｎ-Ｋ)個の列は、ＦＥＣコードから拡張されたコードを通じて生成することができる。２(Ｎ-Ｋ)×(Ｋ'＋２(Ｎ-Ｋ))サイズのＨマトリックスを仮定すると、ソースペイロードに対するソースブロックは、Ｈマトリックスのサブマトリックスである(Ｎ-Ｋ)×Ｎを使用して符号化され、ペイロード長に対するソースブロックは、Ｈマトリックスを直接に用いて符号化できる。ＦＥＣエンコーダは、一つのＨマトリックスを用いて２つの符号化を実行することによって、システム負担を減少させる。
【０１５１】
ＭＭＴシステム構造において、ＦＥＣ配信ブロックの各ペイロードは、ＭＭＴペイロードフォーマットあるいはＭＭＴ転送パケットに乗せて伝送される。
【０１５２】
図２０は、本発明の一実施形態によるＭＭＴペイロードフォーマットを示す。
【０１５３】
図２０を参照すると、ＭＭＴペイロードフォーマット２０００は、ペイロードヘッダー(ＰＬＨ)２００２とＭＭＴペイロード２００４を含む。ＭＭＴペイロード２００４は、本発明の実施形態により生成されるＦＥＣ配信ブロックのソースペイロード及びパリティペイロードのうちいずれか一つを含む。ペイロード長に対するパリティブロックがＭＭＴペイロードを通じて伝送される場合、ペイロードヘッダー２００２又は各パリティペイロードは、ペイロード長に対するパリティブロックの各列をさらに含むことができる。
【０１５４】
本発明の実施形態により選択されたＩＢＧモードを示す情報及びペイロード長に対するパリティデータのようなＦＥＣ信号は、ペイロードと共に、一例としてＭＭＴペイロード２００４あるいはペイロードヘッダー２００２を通じて伝送され、他の実施形態としてペイロードとは別のシグナリング手段を通じて伝送することができる。別途のシグナリング手段は、一例として図１０Ａの制御機能部１００００又は図１０ＢのＭＭＴ  Ｄ.３階層あるいは図示しない他の制御シグナリング手段を意味する。以下に、ＦＥＣ信号がペイロードヘッダーを通じて伝送される実施形態を説明する。
【０１５５】
図２１は、本発明の一実施形態によるＭＭＴペイロードフォーマットに含まれるペイロードヘッダーフォーマットを示す。
【０１５６】
図２１を参照すると、ペイロードヘッダー２１００で、￥ペイロードタイプ２１０２は、該当ＭＭＴペイロードフォーマットのペイロードがソースペイロードであるか、あるいはパリティペイロードであるかを表す。
【０１５７】
シーケンス番号(sequence  number)２１０４は、伝送されるペイロードの順序を表すために順次に増加又は減少しつつ各ペイロードに割り当てられる値であって、受信器は、シーケンス番号２１０４からパケット(すなわち、ペイロード）が損失されるか否かがわかる。シーケンス番号２１０４が転送プロトコルヘッダー、例えば、ＭＭＴパケットヘッダーまたはＲＴＰヘッダー内に含まれる場合、シーケンス番号２１０４は、ペイロードヘッダー２１００内で省略できる。
【０１５８】
ＦＥＣフラグ２１０６は、ＦＥＣが適用されるか否かを表す。例えば、ＦＥＣフラグ‘０’は、パリティペイロードなしにソースブロックのみが伝送されることを意味し、ＦＥＣフラグ‘１’は、ソースブロックにパリティブロックが追加され、例えばＦＥＣ方式が適用されて伝送されることを意味する。
【０１５９】
ブロック境界(boundary)情報２１０８は、ＦＥＣ配信ブロックの境界を示す。例えば、ＦＥＣ配信ブロックの最初のソースペイロードのシーケンス番号は、すべてのヘッダーのブロック境界情報２１０８に割り当てられることができる。ブロック境界情報２１０８は、ＦＥＣ配信ブロックの識別子(ＩＤ)の役割をし、ＦＥＣ配信ブロックのすべてのペイロードのヘッダーに設定される。
【０１６０】
ペイロードサイズフラグ２１１０は、ソースブロック内のすべてのソースペイロードの長さが一定であるか否かを表す。例えば、ペイロードサイズフラグ‘０’は、ソースブロック内のすべてのソースペイロードが同じ長さを有することを表し、この場合、ソースブロック＝情報ブロックであるので、ペイロード長に対するパリティブロックが生成される必要はない。ペイロードサイズフラグ‘１’は、ソースブロック内のソースペイロードの長さが一定でなく、ペイロード長のためのパリティブロックが生成されて伝送されること表す。
【０１６１】
ＦＥＣ配信ブロック長２１１２は、ＦＥＣ配信ブロックに含まれるペイロードの個数Ｋ'＋Ｐを表す。
【０１６２】
ソースブロック長２１１４は、ソースブロックに含まれているソースペイロードの個数Ｋ'を表す。
【０１６３】
ペイロードサイズフラグが‘１’であり、ペイロードタイプ２１０２がパリティペイロードを指示する場合、ペイロード長に対するパリティデータ２１１６は、ペイロードヘッダー２１００にさらに含まれ得る。
【０１６４】
受信器は、ＦＥＣ配信ブロックの境界とＦＥＣ配信ブロック内のソースペイロードの個数Ｋ’とパリティペイロードの個数Ｐをペイロードヘッダー２１００から把握する。ペイロードヘッダー２１００に各ペイロードの長さに関する情報が含まれていない場合、受信器は、受信されたソースペイロードからその長さを計算してペイロード長に対するソースブロックを生成し、受信されたパリティブロックの前部からペイロード長に対するパリティブロックを獲得し、ペイロード長に対するＦＥＣブロックを回復する。回復されたＦＥＣブロック内で、受信されないペイロードに該当する長さフィールドとパリティデータは、削除される。
【０１６５】
受信器は、回復されたＦＥＣブロックを予め配置されたＦＥＣコードで復号化することで、ペイロード長に対するソースブロックを回復し、回復したペイロード長に対するソースブロックからすべてのソースペイロードの長さを検出し、受信されたソースペイロードを２次元Ｓ×Ｋ配列上に配置する。さらに、受信されたパリティペイロードに対応するＳ×Ｐ配列上に配置することによって、ＦＥＣブロックを回復する。回復したＦＥＣブロック内で、受信されないペイロードに対する空間は、削除される。受信器は、予め配置されたＦＥＣコードを用いて回復されたＦＥＣブロックに対する復号化を実行して情報ブロックを回復する。回復された情報ブロックの最後のペイロードにパディングデータが存在する場合、受信器は、パディングデータを除去した後にソースブロックを出力する。システム上でデータがストリームで伝送される場合、パディングデータを除外した情報ブロックは、ソースブロックと同一である。データがペイロード単位で伝送される場合、受信器は、検出された長さに基づいて情報ブロックをソースブロックに変換できる。
【０１６６】
図２２は、本発明の他の実施形態によるペイロードヘッダーフォーマットを示す。
【０１６７】
図２２を参照すると、ペイロードタイプ２２０２、シーケンス番号２２０４、ＦＥＣフラグ２２０６、ブロック境界情報２２０８、ＦＥＣ配信ブロック長２２１２、及びソースブロック長２２１４の説明は、図２１と同様であり、ペイロードヘッダー２２００内のＩＢＧモード２２１０及びペイロード長に対するパリティデータ２２１６の説明は、以下のようである。
【０１６８】
ＩＢＧ_Ｍｏｄｅ＝０は、すべてのソースペイロードの長さが同一なのでソースブロック＝情報ブロックを示し、したがってペイロード長に対するパリティデータ２２１６の生成なしにＦＥＣ配信ブロックが構成されて伝送することを示す。ＩＢＧ_Ｍｏｄｅ＝１は、図２の情報ブロック生成モードにより、情報ブロックが生成され、ＡＬ-ＦＥＣ符号化されることを表し、ＩＢＧ_Ｍｏｄｅ＝２は、図３の情報ブロック生成モードにより情報ブロックが生成され、ＡＬ-ＦＥＣ符号化することを表す。ペイロード長に対するパリティデータ２２１６は、ＩＢＧ_Ｍｏｄｅ＝１又は２であり、ペイロードタイプ２２０２がパリティペイロードを指示する場合に含まれる。
【０１６９】
図２２は、図１９に示すようにペイロード長に対するパリティブロック１９０８がパリティブロックの前部１９０６に対するペイロードヘッダー内に格納して転送される場合のためのペイロードヘッダーフォーマットを示す。上記したように、ＩＢＧ_Ｍｏｄｅ＝２である場合、それぞれのペイロードヘッダーに格納されるパリティデータは、ＩＢＧ_Ｍｏｄｅ＝１である場合、それぞれのペイロードヘッダーに格納されるパリティデータより大きい。これは、ＩＢＧ_Ｍｏｄｅ＝１である場合、ペイロード長のためのＦＥＣ性能は、ソースブロックのためのＦＥＣ性能と同一であってもよく、ＩＢＧ_Ｍｏｄｅ＝２である場合にペイロード長のためのＦＥＣ性能は、ソースブロックのためのＦＥＣ性能より良くなければならないためである。例えば、ペイロード長のために２バイトが要求され、ＩＢＧ_Ｍｏｄｅ＝２のためにＩＢＧ_Ｍｏｄｅ＝１である場合より２倍のＦＥＣ性能でペイロード長に対するパリティデータを生成する場合、ＩＢＧ_Ｍｏｄｅ＝１に対する各ペイロードヘッダー内でペイロード長に対するパリティデータ２２１６は、２バイトを必要とし、ＩＢＧ_Ｍｏｄｅ＝２に対する各ペイロードヘッダー内でペイロード長に対するパリティデータ２２１６は、４バイトを必要とする。
【０１７０】
図２３は、本発明のもう一つの実施形態によるペイロードヘッダーフォーマットを示す。
【０１７１】
図２３を参照すると、ペイロードヘッダー２３００内のペイロードタイプ２３０２、シーケンス番号２３０４、ＦＥＣフラグ２３０６、ブロック境界情報２３０８、ＦＥＣ配信ブロック長２３１２、及びソースブロック長２３１４の説明は、図２１と同様であり、ＩＢＧ_Ｍｏｄｅ２３１０と最後のフィールド２３１６について、以下のように説明する。
【０１７２】
ＩＢＧ_Ｍｏｄｅ＝０は、ソースペイロードの長さがすべて同一なので、ソースブロック＝情報ブロックであり、したがってペイロード長のためのパリティデータ２３１６の生成なしにＦＥＣ配信ブロックが構成されて伝送されることを表す。ＩＢＧ_Ｍｏｄｅ＝１は、情報ブロックが図２の情報ブロック生成モードにより生成されてＡＬ-ＦＥＣ符号化されることを表し、ＩＢＧ_Ｍｏｄｅ＝２は、情報ブロックが図３の情報ブロック生成モードにより生成されてＡＬ-ＦＥＣ符号化されることを示す。ＩＢＧ_Ｍｏｄｅ＝１であり、ペイロードタイプ２３０２がパリティペイロードを指示する場合、ペイロード長に対するパリティデータは、最後のフィールド２３１６として含まれる。ＩＢＧ_Ｍｏｄｅ＝２であり、ペイロードタイプ２３０２がソースペイロードを指示する場合、該当ソースペイロードの開始位置を表すオフセットは、最後のフィールド２３１６として含まれる。
【０１７３】
ＩＢＧ_Ｍｏｄｅ＝２である場合、受信器は、ＦＥＣ配信ブロック長２３１２、ソースブロック長２３１４、ブロック境界情報、及びオフセットのようなヘッダー情報からＳ×Ｋ配列の情報ブロックを生成できる。
【０１７４】
２段階ＦＥＣ符号化構造が適用される場合、ペイロードヘッダーは、ペイロード長のためのサブブロックに対するパリティデータはペイロードタイプが最初のＦＥＣ符号化により生成されるパリティ１ペイロードのヘッダーに含まれ、ペイロード長のためのソースブロックに対するパリティデータはペイロードタイプが第２のＦＥＣ符号化により生成されるパリティ２ペイロードのヘッダーに含まれる。
【０１７５】
図２４は、本発明の一実施形態によるＭＭＴペイロードの伝送のためのパケットのプロトコルスタックを示す。
【０１７６】
図２４を参照すると、ＩＰパケット２４００は、ＩＰプロトコルヘッダー２４０２、ＵＤＰ/ＴＣＰヘッダー２４０４、ＭＭＴプロトコル/アプリケーションプロトコルヘッダー２４０６、ＭＭＴペイロードフォーマットヘッダー２４０８、及びＭＭＴペイロード２４１０を含む。ＭＭＴペイロード２４１０は、ソースペイロード又は本発明の実施形態のうちいずれか一つにより生成されるパリティペイロードを含み、ＭＭＴペイロードフォーマットヘッダー２４０８は、ＭＭＴペイロード２４１０に含まれるペイロードに関する情報を含む。特に、ＭＭＴペイロードフォーマットヘッダー２４０８は、情報ブロック構成のモードを表すＩＢＧ_Ｍｏｄｅと必要な場合、ペイロード長に対するパリティデータを含む。
【０１７７】
以上、本発明の詳細な説明においては具体的な実施形態に関して説明したが、特許請求の範囲を外れない限り、様々な変更が可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、前述の実施形態に限定されるものではなく、特許請求の範囲の記載及びこれと均等なものに基づいて定められるべきである。
【符号の説明】
【０１７８】
１０２  ホストＡ
１０４  ルータ
１０６  ルータ
１０８  ホストＢ
１１０  アプリケーション階層
１１２  転送階層
１１４  インターネット階層
１１６  リンク階層
１１８  イーサネット
１２０  光ファイバ、衛星通信、又は他の使用可能な手段
１２２  イーサネット
１３０  データ
１３２  ＵＤＰパケット
１３４  ＩＰパケット
１３６  フレームヘッダー
１３８  フレームフッタ
２００  ソースブロック
２０２  ソースペイロード
２１０  情報ブロック
２１２  情報ペイロード
２１４  パディングデータ
２２０  パリティブロック
２２２  パリティペイロード
３００  ２次元配列
３０２  ソースパケット
３０４  パディングデータ
４００  ２次元配列
５００  ソースブロック
５０２  ソースペイロード
５０４  情報ブロック
５０６  情報ペイロード
５０８  長さソースブロック
５１４  パリティペイロード
５１６  パリティブロック
【図１Ａ】
2014532371.tif 000017
【図１Ｂ】
2014532371.tif 000018
【図２】
2014532371.tif 000019
【図３】
2014532371.tif 000020
【図４】
2014532371.tif 000021
【図５Ａ】
2014532371.tif 000022
【図５Ｂ】
2014532371.tif 000023
【図６Ａ】
2014532371.tif 000024
【図６Ｂ】
2014532371.tif 000025
【図６Ｃ】
2014532371.tif 000026
【図７】
2014532371.tif 000027
【図８Ａ】
2014532371.tif 000028
【図８Ｂ】
2014532371.tif 000029
【図８Ｃ】
2014532371.tif 000030
【図８Ｄ】
2014532371.tif 000031
【図９】
2014532371.tif 000032
【図１０Ａ】
2014532371.tif 000033
【図１０Ｂ】
2014532371.tif 000034
【図１１】
2014532371.tif 000035
【図１２】
2014532371.tif 000036
【図１３】
2014532371.tif 000037
【図１４】
2014532371.tif 000038
【図１５】
2014532371.tif 000039
【図１６】
2014532371.tif 000040
【図１７】
2014532371.tif 000041
【図１８】
2014532371.tif 000042
【図１９】
2014532371.tif 000043
【図２０】
2014532371.tif 000044
【図２１】
2014532371.tif 000045
【図２２】
2014532371.tif 000046
【図２３】
2014532371.tif 000047
【図２４】
2014532371.tif 000048
【国際調査報告】
2014532371.tif 000049
2014532371.tif 000050