(57)【要約】本発明は、メディア内容の重要度に応じてソースデータを優先順位に従ってＮ種類のソースデータパケットに分けるステップと、Ｎ種類のソースデータパケットおよびその優先順位に基づいてＮ種類の中間コードを生成するステップと、Ｎ種類の中間コードに基づいてチャンネル状况に応じてＮ種類のソースデータの復元データを設定し、Ｎ種類のシステムコードの符号化シンボルを生成するステップと、前記符号化シンボルを受信し、復号化の必要に応じて符号化シンボルを整理して配列するステップと、受信した符号化シンボルの数に応じて、ケースバイケースで中間コードワードを復号化し、この中間コードに基づいて対応するソースデータパケットに復元するステップと、を含むメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法、装置、システムおよび媒体を提供する。本発明によれば、メディア内容の品質が最大限に保証されるとともに、ＦＥＣによるデータ冗長が減少され、ソースデータストリームをマルチストリーム化する必要がないため、送信端ＦＥＣ符号化の複雑さが低減され、ＦＥＣ符号化の効率が向上する。また、現在のネットワーク状態の変化に基づいて符号化スキームを調整することができるので、より強い適応性を有する。【選択図】図５
2020526979.tif 000002
【特許請求の範囲】
【請求項１】
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法であって、
メディア内容の重要度に基づいて、ソースデータを優先順位に従ってＮ（１よりも大きい整数）種類のソースデータパケットに分けるステップと、
ソースデータおよびＮ種類のソースデータパケットの優先順位に基づいてＮ種類の中間コードを生成するステップと、
前記Ｎ種類の中間コードに基づいて、チャンネル状况に従ってＮ種類のソースデータの復元データを設定し、Ｎ種類の符号化シンボルを生成するステップと、
前記符号化シンボルを受信し、復号化の需要に応じて前記符号化シンボルを整理、配列し、前記符号化シンボルを復号化処理するステップと、
受信した符号化シンボルの状況に基づいて、先に優先順位が高い中間コードを復号化し、この中間コードに基づいて対応するソースデータパケットに復元するステップと、
を含む、
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項２】
前記ソースデータおよびＮ種類のソースデータパケットの優先順位に基づいてＮ種類の中間コードを生成するステップは、
Ｎ種類のソースデータパケットに対応するコーディング行列Ａｉ（ｉ＝１，２，…Ｎ）を構成することを含み、
【数１】
2020526979.tif 000090
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列、Ｇ_ｐｉは、第ｉのソースデータパケットに対応するＬＤＰＣ行列および単位行列からなる結合行列、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、
Ｎ種類のソースデータパケットに対応するコーディング行列に基づいてソースデータのコーディング行列Ａを構築し、前記ソースデータのコーディング行列は、以下の通りであり、
【数２】
2020526979.tif 000091
したがって、
【数３】
2020526979.tif 000092
であり、
ここで、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子である、
ことを特徴とする、請求項１に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項３】
前記Ｎ種類の中間コードに基づいて、チャンネル状况に応じて設定したＮ種類のソースデータの復元データは、
【数４】
2020526979.tif 000093
を含み、
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれＮ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示し、ｉ＝１，２，…Ｎである、
ことを特徴とする、請求項２に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項４】
Ｎが２である場合、重要度が異なるデータに対して以下の対応する中間コードを生成することができ、
【数５】
2020526979.tif 000094
ＬＴコーディング行列の構造を変更することでＧ_ＥＮＣ１１、Ｇ_ＥＮＣ１２、Ｇ_ＥＮＣ２１を得て、Ｇ_ＥＮＣ１２は、Ｇ_ＥＮＣ１の生成方式と同じであり、Ｇ_ＥＮＣ２１は、Ｇ_ＥＮＣ２の生成方式と同じであり、Ｇ_ＥＮＣ１１は、Ｇ_ＥＮＣ１と同じ生成方式を有するＬＴコーディング行列を示し、Ｇ_ＥＮＣ２１は、Ｇ_ＥＮＣ２と同じ生成方式を有するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１２は、Ｇ_ＥＮＣ１と同じ生成方式を有するＬＴコーディング行列を示し、
得られた復元データＲ１が優先順位１のデータにのみ関連し、復元データＲ２が優先順位１および２のデータに関連する場合、
【数６】
2020526979.tif 000095
が得られる、
ことを特徴とする、請求項３に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項５】
Ｎが２である場合、前記符号化シンボルを受信し、前記符号化シンボルを復号化処理するステップは、
第１段階の復号化の時に、復元行列Ｗおよび受信したソースデータパケットに基づいて中間コードワードを得て、
【数７】
2020526979.tif 000096
ここで、
ＲＥＶ_Ｇ_ＥＮＣ１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
【数８】
2020526979.tif 000097
にし、受信した対応優先順位でのソースデータパケットの数および受信したデータパケットの総数に基づいてデコードし、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
【数９】
2020526979.tif 000098
の行数が列数より少ない場合、Ｃ１、Ｃ２はいずれも算出できず、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
【数１０】
2020526979.tif 000099
の行数が列数以上である場合、
【数１１】
2020526979.tif 000100
の行数が列数以上であると、ＲＥＶ_Ａ１はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ１−１と記し、
【数１２】
2020526979.tif 000101
が得られ、ここで、Ｃ２には解がなく、
ここで、ＲＥＶ_Ｄ１は、受信した優先順位１のソースデータ、ＲＥＶ_Ｒ１は、受信した優先順位１のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
【数１３】
2020526979.tif 000102
の行数が列数以上である場合、
【数１４】
2020526979.tif 000103
の行数が列数以上であると、ＲＥＶ_Ａ１はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ１−１と記し、
【数１５】
2020526979.tif 000104
の行数が列数以上であると、ＲＥＶ_Ａ２はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ２−１と記し、ＲＥＶ_Ａ１およびＲＥＶ_Ａ２がいずれもリバーシブルであると、ＲＥＶ_Ａはリバーシブルであり、対応する逆行列はＲＥＶ_Ａ−１と記し、
【数１６】
2020526979.tif 000105
であると、
【数１７】
2020526979.tif 000106
であり、
【数１８】
2020526979.tif 000107
が得られ、
【数１９】
2020526979.tif 000108
の行数が列数よりも少ないと、ＲＥＶ_Ａ２には逆行列が存在せず、
【数２０】
2020526979.tif 000109
しか算出できず、
ここで、ＲＥＶ_Ｄ２は、受信した優先順位２のソースデータ、ＲＥＶ_Ｒ２は、受信した優先順位１および２のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
【数２１】
2020526979.tif 000110
の行数が列数よりも少なく、
【数２２】
2020526979.tif 000111
の行数が列数以上である場合、ガウスの消去法により行列ＲＥＶ_Ａを直接解く、即ち、以下の線型方程式系を解くことにより、Ｃ１、Ｃ２が得られる、
【数２３】
2020526979.tif 000112
ことを特徴とする、請求項４に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項６】
一部のデータがロスしたので、受信した符号化シンボルに基づいて復元行列を生成する必要があり、つまり、ロスした符号化シンボルに対応する行列行を消去し、対応する復元行列（ＲＥＶ_Ｇ_ＥＮＣと記す）を生成し、受信したデータパケットの数に応じてケースバイケースで中間コードワードを生成し、具体的には、以下のステップＡ１〜Ａ４を含む、
（ステップＡ１）
ｌ個の優先順位のデータパケットを受信した場合、以下の復元行列方程式が得られ、
【数２４】
2020526979.tif 000113
復元行列方程式に対して一次行変換を行うことで、
【数２５】
2020526979.tif 000114
が得られ、
ここで、
ＲＥＶ_Ｇ_ＥＮＣ１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｄ１は、受信した優先順位１のソースデータ、ＲＥＶ_Ｒ１は、受信した優先順位１のソースデータの復元データ、ＲＥＶ_Ｄ２は、受信した優先順位２のソースデータ、ＲＥＶ_Ｒ２は、受信した優先順位１および２ソースデータの復元データを示し、
ＲＥＶ_Ｇ_ＥＮＣ１ｌは、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１ｌにおけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｄｌは、受信した優先順位ｌのソースデータ、ＲＥＶ_Ｒｌは、受信した優先順位１からｌのソースデータの復元データ、Ｃｌは、生成した第ｌの中間コードを示し、
（ステップＡ２）
【数２６】
2020526979.tif 000115
とし、
Ｒ（ｉ）を受信して拡張した後の第ｉ（１≦ｉ≦ｌ）の符号化シンボルの数、Ｌ（ｉ）を符号化端の各レベルのシンボルの長さとし、各レベルで生成した行列のランクを計算し、
ｅａｃｈＲａｎｋ（ｉ）＝ｍｉｎ（Ｌｅｎ（Ｒ（ｉ）），ｓｕｍ（Ｌ（１：ｉ）））
式中：ｅａｃｈＲａｎｋ（ｉ）は、優先順位ｉのデータに対応するサブ行列のランクを示し、ここで、ｉ＝２である場合、対応するサブ行列は、
【数２７】
2020526979.tif 000116
であり、Ｌｅｎ（Ｒ（ｉ））は、受信した優先順位ｉの符号化シンボルの数の長さを示し、ｓｕｍ（Ｌ（１：ｉ））は、優先順位ｉのサブ行列の列数を示し、ｍｉｎ（）は、最小値演算を示し、
累積行列のランクを計算し、
ｃｕｍＲａｎｋ（ｉ）＝ｍｉｎ（ｃｕｍＲａｎｋ（ｉ−１）＋ｅａｃｈＲａｎｋ（ｉ），ｓｕｍ（Ｌ（１：ｉ）））
式中：ｃｕｍＲａｎｋ（ｉ）は、優先順位１から優先順位ｉに対応するサブ行列ランクの和を示し、ｃｕｍＲａｎｋ（ｉ−１）は、優先順位１から優先順位ｉ−１に対応するサブ行列ランクの和を示し、
ｃｕｍＲａｎｋ（１）＝ｅａｃｈＲａｎｋ（１）
順にｃｕｍＲａｎｋ（ｉ）＞＝ｓｕｍ（Ｌ（１：ｉ））を判断し、成立した場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝１であり、成立しない場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝０であり、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）は、優先順位１から優先順位ｉに対応するサブ行列からなる行列のフルランクを示し、
（ステップＡ３）
受信した各レベルの符号化シンボルの数に応じて、ケースバイケースでそれぞれ中間コードＣ１、Ｃ２…Ｃｌを求め、ここで、ｉ初期値をｌに設定し、
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１＆＆ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足した場合、ＲＦＣ  ６３３０復号化方法によりＣ１〜Ｃｉを解き、ここで、＆＆は、ＡＮＤ演算を示し、ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）は、優先順位１から優先順位ｉの各サブ行列からなる行列のフルランクを示し、Ｃ１は、優先順位１のデータに対応する中間コードワードを示し、Ｃｉは、優先順位ｉのデータに対応する中間コードを示し、
【数２８】
2020526979.tif 000117
とし、
【数２９】
2020526979.tif 000118
が得られ、
ここで、
【数３０】
2020526979.tif 000119
であり、
ここで、ＲＥＶ_ＡΔｉは、優先順位がｉである場合の全てのサブ行列からなるフルランク行列を示し、Ｂ１_２は、サブ行列
【数３１】
2020526979.tif 000120
を示し、Ｘ１_２は、サブ行列Ｂ１_２を逆演算した後のサブ行列を示し、Ｘａ_ｂは、サブ行列Ｂａ_ｂを逆演算して得られたサブ行列を示し、Ｂａ_ｂは、サブ行列
【数３２】
2020526979.tif 000121
を示し、ａの範囲は１〜ｉであり、ｂの範囲は２〜ｉであり、Ａｉ−１は、サブ行列
【数３３】
2020526979.tif 000122
の逆行列を示し、
【数３４】
2020526979.tif 000123
とし、
【数３５】
2020526979.tif 000124
であり、ＲＥＶ_Ａｉ−１は、ＲＥＶ_Ａｉの逆行列である場合、
【数３６】
2020526979.tif 000125
が得られ、
数学的帰納法により、
【数３７】
2020526979.tif 000126
が得られ、Ｃ１、Ｃ２…Ｃｉが算出され、Ｃｉ＋１…Ｃｌが算出できず、
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足し、ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足しない場合、ガウス消去復号化法によりＣ１〜Ｃｉを解き、
【数３８】
2020526979.tif 000127
とし、ガウスの消去法により解線型方程式系：
【数３９】
2020526979.tif 000128
を解くことにより、Ｃ１、Ｃ２…Ｃｉを算出できるが、Ｃｉ＋１…Ｃｌを算出できず、
任意のｉ値に対して、ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足しない場合、対応するＣｉを算出できず、ｉ＝＝１までｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０も満足できない場合、Ｃ１、Ｃ２…Ｃｌはいずれも算出できず、復号化が失敗し、
（ステップＡ４）
ｉの値を１減らし、ステップＡ３に戻る、
ことを特徴とする、請求項３に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項７】
ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析し、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる優先順位にマッピングし、
サブパケットの優先順位に従って、サブパケットを再配列し、中間データパケットを得て、
前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のシンボルｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行なった後、複数のシンボルｓｙｍｂｏｌを含む復元データパケットを得て、
前記復元データパケットにインデックスフィールドおよび／または優先順位指示フィールドを追加し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、前記中間データパケットにもインデックスフィールドおよび／または優先順位指示フィールドを追加し、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンスおよび／または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、
前記復元データパケットおよび中間データパケットに対応する指示情報を追加し、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信し、前記指示情報は、復元データパケットの各優先順位でのサブパケット、対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を示し、
端末側に指示情報を含む復元データパケット、中間データパケットを送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する、
ステップをさらに含む、
ことを特徴とする、請求項１に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項８】
ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析することは、
各サブパケットのヘッダにおけるｐｒｉｏｒｉｔｙフィールドを読み取り、前記ｐｒｉｏｒｉｔｙフィールドにおける情報に基づいて対応するサブパケットの優先順位を確定することを含む、
ことを特徴とする、請求項７に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項９】
重要な情報に基づいて前記ソースデータパケットにおけるサブパケットをそれぞれ異なる所定の優先順位にマッピングすることは、
前記ソースデータパケットで実際に使用される優先順位の数および各優先順位での前記ｐｒｉｏｒｉｔｙフィールドとのマッピング関係を確定すること、および
前記マッピング関係に基づいて、サブパケットを対応する所定の優先順位にマッピングすることを含む、
ことを特徴とする、請求項８に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項１０】
前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のシンボルｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行なった後、複数のｓｙｍｂｏｌを含む復元データパケットを得ることは、
前記中間データパケットに対して、ＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式によりＦＥＣ符号化を行い、以下の中間コードワードを得ること、および
【数４０】
2020526979.tif 000129
式中：Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示し、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加することを含み、ここで、前記復元データパケットにおける復元データは以下の通りであり、
【数４１】
2020526979.tif 000130
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれ１〜Ｎ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示し、ｉ＝１，２，…Ｎである、
ことを特徴とする、請求項７に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項１１】
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法であって、
サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報は、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元し、
前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケット的シーケンスを再配列し、ソースデータパケットに復元する、
とのステップを含む、メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項１２】
前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析することは、
以下の一般式によりソースデータに対応するコーディング行列の対応行インデックスフィールドを得ることを含み、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、ｉｎｄｅｘは、ソースデータに対応するコーディング行列の対応行インデックを示し、ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示し、ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、このデータパケットの前の全ての優先順位のデータパケット総数を示す、
ことを特徴とする、請求項１１に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項１３】
前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元することは、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルｓｙｍｂｏｌを配列し、復元されたデータパケットのヘッダのインデック情報ＦＥＣｐａｙｌｏａｄ_ＩＤの値および対応優先順位でのシンボルｓｙｍｂｏｌの数に基づいてこのシンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定すること、或いは
復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定すること、
復元データパケットにおけるシンボルｓｙｍｂｏｌのシーケンスを調整し、ガウス消去デコーダおよびＲＦＣ６３３０デコーダにより復号化することにより、復元された複数のｓｙｍｂｏｌを含む中間データパケットを得ること、および
複数のｓｙｍｂｏｌを含む中間データパケットを中間データパケットに変換すること、
を含む、
ことを特徴とする、請求項１１に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法。
【請求項１４】
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置であって、
ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析する解析モジュールと、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる所定優先順位にマッピングするマッピングモジュールと、
所定優先順位に基づいてサブパケットを再配置することにより中間データパケットを得る配列モジュールと、
前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行うことで、複数のｓｙｍｂｏｌを含む復元データパケットを得る符号化モジュールと、
前記復元データパケットにインデックスフィールドおよび／または優先順位指示フィールドを加え、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンスおよび／または復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであり、前記中間データパケットにインデックスフィールドおよび／または優先順位指示フィールドを加え、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンス、および／または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであるインデックモジュールと、
前記復元データパケットおよび中間データパケットに対応する指示情報を加え、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信する指示情報生成モジュールであって、前記指示情報は、復元データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を指示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を指示する指示情報生成モジュールと、
端末側に前記復元データパケット、中間データパケットおよび対応するシグナリング情報を送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する送信モジュールと、
を含む、
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置。
【請求項１５】
前記符号化モジュールは、具体的には、
前記中間データパケットに対してＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式によりＦＥＣ符号化を行うことで、以下の中間コードワードを取得し、
【数４２】
2020526979.tif 000131
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示し、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加し、ここで、前記復元データパケットにおける復元データは、以下の通りであり、
【数４３】
2020526979.tif 000132
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮはそれぞれ１〜Ｎ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示し、ｉ＝１，２，…Ｎである、
ことを特徴とする、請求項１４に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置。
【請求項１６】
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置であって、受信モジュールと、コーディング行列生成モジュールと、復号化モジュールと、復元モジュールとを含み、
受信モジュールは、サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
コーディング行列生成モジュールは、前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドが復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、或いは
復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報が復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
復号化モジュールは、前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元し、
復元モジュールは、前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケットのシーケンスを再配列し、ソースデータパケットに復元する、
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置。
【請求項１７】
前記コーディング行列生成モジュールは、具体的には、
以下の一般式によりソースデータに対応するコーディング行列の対応行のインデックスフィールドを得て、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、ｉｎｄｅｘは、ソースデータに対応するコーディング行列の対応行インデックを示し、ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示し、ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、このデータパケットの前の全ての優先順位のデータパケット総数を示す、
ことを特徴とする、請求項１６に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置。
【請求項１８】
前記復号化モジュールは、具体的には、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルｓｙｍｂｏｌを配列し、復元されたデータパケットのヘッダのインデック情報ＦＥＣｐａｙｌｏａｄ_ＩＤの値および対応優先順位でのシンボルｓｙｍｂｏｌの数に基づいてこのシンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定し、或いは
復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定し、
復元データパケットにおけるシンボルｓｙｍｂｏｌのシーケンスを調整し、ガウス消去デコーダおよびＲＦＣ６３３０デコーダにより復号化することにより、復元された複数のｓｙｍｂｏｌを含む中間データパケットを取得し、
複数のｓｙｍｂｏｌを含む中間データパケットを中間データパケットに変換する、
ことを特徴とする、請求項１６に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置。
【請求項１９】
サーバーおよび少なくとも１つの端末を含み、前記サーバーは、請求項７〜１０のいずれか１項に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法を実行し、前記端末は、請求項１１〜１３のいずれか１項に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法を実行する、
メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化システム。
【請求項２０】
コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
前記コンピュータプログラムは、プロセッサにより実行されることにより、請求項７〜１３のいずれか１項に記載の画像に基づくストライプ生地の検出位置決めクロッピング方法のステップを実行する、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中国特許出願ＣＮ２０１７１０９７３４７３．３（出願日：２０１７年１０月１８日、発明の名称：メディア内容に基づく自己適応システムコードＦＥＣ方法、装置およびシステム）および中国特許出願ＣＮ２０１７１０５６１８５０．２（出願日：２０１７年０７月１１日、発明の名称：メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法）の優先権を主張する。
【０００２】
本発明は、マルチメディア伝送技術分野に関し、具体的には、メディア内容に基づく自己適応システムコードＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、前方誤り訂正）符号化および復号化方法、装置、システムおよび媒体に関する。
【背景技術】
【０００３】
ヘテロジニアスネットワークのメディアサービスシステムにおいて、内容は、インターネットプロトコルまたは放送プロトコルにより端末に送信される。インターネットでは、ＩＰ／ＴＣＰまたはＵＤＰメッセージによりメディアデータを伝送し、放送では、ＭＰＥＧ２−ＴＳにより内容を伝送する。ＵＤＰメッセージは、複数のネット機器を経過した後、ロスする恐れがある。放送ＴＳストリームは、伝送環境の影響によりビットエラーが発生し、端末側の画面の破損または音声の中断をもたらす恐れがある。
【０００４】
ＦＥＣ（Ｆｏｒｗａｒｄ  Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ、前方誤り訂正）技術は、通信システムにおいて幅広く応用されている符号化技術である。サーバー側は、メディアデータに対して誤り訂正の符号化を行い、さらに冗長情報を追加して送信し、端末側は、逆方向のＦＥＣ復号化を行い、紛失されたメッセージについて復元を行う。典型的なブロックシンボルを例にすれば、その基本原理は以下のとおりである。
送信端において、ｋ  ｂｉｔの情報を一つのブロックとして符号化し、（ｎ−ｋ）  ｂｉｔの冗長校正情報を追加して、長さがｎ  ｂｉｔのコードワードを構成する。コードワードがチャネルを経て受信端に達した後、もし誤りが訂正可能な範囲内であれば、復号化によって誤りのｂｉｔを検査して訂正することができる。これにより、チャネルによりもたらした干渉に抵抗して、システムのビット誤り率を効果的に低減し、通信システムの信頼性を向上させる。しかしながら、ＦＥＣ処理は冗長オーバーヘッドコストによりシステムのビット誤り率を低減するため、過剰なＦＥＣ符号化はシステムのリアルタイム性およびネットワークの状態に対してプレッシャーを与えることもある。
【０００５】
不均一誤り保護（Ｕｎｅｑｕａｌ  Ｅｒｒｏｒ  Ｐｒｏｔｅｃｔｉｏｎ、ＵＥＰ）は、ジョイントソースチャネルコーディングの一種である。その核心的な思想は、コードストリームの各部分のデータの異なる重要性に基づき、各部分のデータに対して異なるチャネル保護メカニズムを用い、即ち重要なコードストリームに対しては重点的に保護する。ＵＥＰは非重要なコードストリームのノイズに耐える性能を低下させるが、システムのビット誤りを防ぐ全体的な性能の向上には役立つ。
【０００６】
ＦＥＣ（前方誤り訂正）符号化技術の一つとして、デジタルファウンテンコード（Ｄｉｇｔｉａｌ  Ｆｏｕｎｔａｉｎ  Ｃｏｄｅ）は伝送過程において、フィードバックおよび自動再送信のメカニズムを必要としないため、信号送受信による時間遅延およびブロードキャスト応用におけるフィードバック爆発の問題を回避している。デジタルファウンテンの基本的な思想は、次のとおりである。送信端は、オリジナルデータをｋ個のデータシンボルに分割し、これらのデータシンボルについて符号化し、任意の長さの符号化シンボルのコードストリームを出力する。受信端は、ｎ（ｎはｋよりやや大きい）個の符号化シンボルを正確に受信するだけで全てのｋ個のデータシンボルを大きな確率で復元することができる。数字ファウンテンコードそれ自体は、ＵＥＰ性能を有するので、重要性が異なるデータの保護を実現することができる。
【発明の概要】
【０００７】
従来技術の問題点に鑑みて、本発明は、メディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法、装置、システムおよび媒体を提供することを目的とする。
【０００８】
（１）本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法は、
メディア内容の重要度に基づいて、ソースデータを優先順位に従ってＮ（１よりも大きい整数）種類のソースデータパケットに分けるステップと、
ソースデータおよびＮ種類のソースデータパケットの優先順位に基づいてＮ種類の中間コードを生成するステップと、
前記Ｎ種類の中間コードに基づいて、チャンネル状况に従ってＮ種類のソースデータの復元データを設定し、Ｎ種類の符号化シンボルを生成するステップと、
前記符号化シンボルを受信し、復号化の需要に応じて前記符号化シンボルを整理、配列し、前記符号化シンボルを復号化処理するステップと、
受信した符号化シンボルの状況に基づいて、先に優先順位が高い中間コードを復号化し、この中間コードに基づいて対応するソースデータパケットに復元するステップと、
を含む。
【０００９】
（２）好ましくは、前記ソースデータおよびＮ種類のソースデータパケットの優先順位に基づいてＮ種類の中間コードを生成するステップは、
Ｎ種類のソースデータパケットに対応するコーディング行列Ａｉ（ｉ＝１，２，…Ｎ）を構成することを含み、
【数１】
2020526979.tif 000003
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列、Ｇ_ｐｉは、第ｉのソースデータパケットに対応するＬＤＰＣ行列および単位行列からなる結合行列、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、
Ｎ種類のソースデータパケットに対応するコーディング行列に基づいてソースデータのコーディング行列Ａを構築し、前記ソースデータのコーディング行列は、以下の通りであり、
【数２】
2020526979.tif 000004
したがって、
【数３】
2020526979.tif 000005
であり、
ここで、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子である。
【００１０】
（３）好ましくは、前記Ｎ種類の中間コードに基づいて、チャンネル状况に応じて設定したＮ種類のソースデータの復元データは、
【数４】
2020526979.tif 000006
を含み、
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれＮ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示す。ｉ＝１，２，…Ｎである。
【００１１】
（４）好ましくは、Ｎが２である場合、重要度が異なるデータに対して以下の対応する中間コードを生成することができ、
【数５】
2020526979.tif 000007
ＬＴコーディング行列の構造を変更することでＧ_ＥＮＣ１１、Ｇ_ＥＮＣ１２、Ｇ_ＥＮＣ２１を得て、Ｇ_ＥＮＣ１２は、Ｇ_ＥＮＣ１の生成方式と同じであり、Ｇ_ＥＮＣ２１は、Ｇ_ＥＮＣ２の生成方式と同じであり、Ｇ_ＥＮＣ１１は、Ｇ_ＥＮＣ１と同じ生成方式を有するＬＴコーディング行列を示し、Ｇ_ＥＮＣ２１は、Ｇ_ＥＮＣ２と同じ生成方式を有するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１２は、Ｇ_ＥＮＣ１と同じ生成方式を有するＬＴコーディング行列を示し、
得られた復元データＲ１が優先順位１のデータにのみ関連し、復元データＲ２が優先順位１および２のデータに関連する場合、
【数６】
2020526979.tif 000008
が得られる。
【００１２】
（５）好ましくは、Ｎが２である場合、前記符号化シンボルを受信し、前記符号化シンボルを復号化処理するステップは、
第１段階の復号化の時に、復元行列Ｗおよび受信したソースデータパケットに基づいて中間コードワードを得て、
【数７】
2020526979.tif 000009
ここで、
ＲＥＶ_Ｇ_ＥＮＣ１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
【数８】
2020526979.tif 000010
にし、受信した対応優先順位でのソースデータパケットの数および受信したデータパケットの総数に基づいてデコードし、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
【数９】
2020526979.tif 000011
の行数が列数より少ない場合、Ｃ１、Ｃ２はいずれも算出できず、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
【数１０】
2020526979.tif 000012
の行数が列数以上である場合、
【数１１】
2020526979.tif 000013
の行数が列数以上であると、ＲＥＶ_Ａ１はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ１−１と記し、
【数１２】
2020526979.tif 000014
が得られ、ここで、Ｃ２には解がなく、
ここで、ＲＥＶ_Ｄ１は、受信した優先順位１のソースデータ、ＲＥＶ_Ｒ１は、受信した優先順位１のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
【数１３】
2020526979.tif 000015
の行数が列数以上である場合、
【数１４】
2020526979.tif 000016
の行数が列数以上であると、ＲＥＶ_Ａ１はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ１−１と記し、
【数１５】
2020526979.tif 000017
の行数が列数以上であると、ＲＥＶ_Ａ２はリバーシブルであり、対応する逆行列はＲＥＶ_Ａ２−１と記し、ＲＥＶ_Ａ１およびＲＥＶ_Ａ２がいずれもリバーシブルであると、ＲＥＶ_Ａはリバーシブルであり、対応する逆行列はＲＥＶ_Ａ−１と記し、
【数１６】
2020526979.tif 000018
であると、
【数１７】
2020526979.tif 000019
であり、
【数１８】
2020526979.tif 000020
が得られ、
【数１９】
2020526979.tif 000021
の行数が列数よりも少ないと、ＲＥＶ_Ａ２には逆行列が存在せず、
【数２０】
2020526979.tif 000022
しか算出できず、
ここで、ＲＥＶ_Ｄ２は、受信した優先順位２のソースデータ、ＲＥＶ_Ｒ２は、受信した優先順位１および２のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
【数２１】
2020526979.tif 000023
の行数が列数よりも少なく、
【数２２】
2020526979.tif 000024
の行数が列数以上である場合、ガウスの消去法により行列ＲＥＶ_Ａを直接解く、即ち、以下の線型方程式系を解くことにより、Ｃ１、Ｃ２が得られる。
【数２３】
2020526979.tif 000025
【００１３】
（６）好ましくは、一部のデータがロスしたので、受信した符号化シンボルに基づいて復元行列を生成する必要があり、つまり、ロスした符号化シンボルに対応する行列行を消去し、対応する復元行列（ＲＥＶ_Ｇ_ＥＮＣと記す）を生成し、受信したデータパケットの数に応じてケースバイケースで中間コードワードを生成し、具体的には、以下のステップＡ１〜Ａ４を含み、
（ステップＡ１）
ｌ個の優先順位のデータパケットを受信した場合、以下の復元行列方程式が得られ、
【数２４】
2020526979.tif 000026
復元行列方程式に対して一次行変換を行うことで、
【数２５】
2020526979.tif 000027
が得られ、
ここで、
ＲＥＶ_Ｇ_ＥＮＣ１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ１２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｇ_ＥＮＣ２１は、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ２１におけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｄ１は、受信した優先順位１のソースデータ、ＲＥＶ_Ｒ１は、受信した優先順位１のソースデータの復元データ、ＲＥＶ_Ｄ２は、受信した優先順位２のソースデータ、ＲＥＶ_Ｒ２は、受信した優先順位１および２ソースデータの復元データを示し、
ＲＥＶ_Ｇ_ＥＮＣ１ｌは、受信した符号化シンボルのパケットロス状況に応じてＧ_ＥＮＣ１ｌにおけるロスしたパケットに対応する行を除去した後のＬＴコーディング行列を示し、
ＲＥＶ_Ｄｌは、受信した優先順位ｌのソースデータ、ＲＥＶ_Ｒｌは、受信した優先順位１からｌのソースデータの復元データ、Ｃｌは、生成した第ｌの中間コードを示し、
（ステップＡ２）
【数２６】
2020526979.tif 000028
とし、
Ｒ（ｉ）を受信して拡張した後の第ｉ（１≦ｉ≦ｌ）の符号化シンボルの数、Ｌ（ｉ）を符号化端の各レベルのシンボルの長さとし、各レベルで生成した行列のランクを計算し、
ｅａｃｈＲａｎｋ（ｉ）＝ｍｉｎ（Ｌｅｎ（Ｒ（ｉ）），ｓｕｍ（Ｌ（１：ｉ）））
式中：ｅａｃｈＲａｎｋ（ｉ）は、優先順位ｉのデータに対応するサブ行列のランクを示し、ここで、ｉ＝２である場合、対応するサブ行列は、
【数２７】
2020526979.tif 000029
であり、Ｌｅｎ（Ｒ（ｉ））は、受信した優先順位ｉの符号化シンボルの数の長さを示し、ｓｕｍ（Ｌ（１：ｉ））は、優先順位ｉのサブ行列の列数を示し、ｍｉｎ（）は、最小値演算を示し、
累積行列のランクを計算し、
ｃｕｍＲａｎｋ（ｉ）＝ｍｉｎ（ｃｕｍＲａｎｋ（ｉ−１）＋ｅａｃｈＲａｎｋ（ｉ），ｓｕｍ（Ｌ（１：ｉ）））
ここで、ｃｕｍＲａｎｋ（ｉ）は、優先順位１から優先順位ｉに対応するサブ行列ランクの和を示す。ｃｕｍＲａｎｋ（ｉ−１）は、優先順位１から優先順位ｉ−１に対応するサブ行列ランクの和を示し、
ｃｕｍＲａｎｋ（１）＝ｅａｃｈＲａｎｋ（１）
順にｃｕｍＲａｎｋ（ｉ）＞＝ｓｕｍ（Ｌ（１：ｉ））を判断し、成立した場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝１であり、成立しない場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝０であり、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）は、優先順位１から優先順位ｉに対応するサブ行列からなる行列のフルランクを示し、
（ステップＡ３）
受信した各レベルの符号化シンボルの数に応じて、ケースバイケースでそれぞれ中間コードＣ１、Ｃ２…Ｃｌを求める。ここで、ｉ初期値をｌに設定し、
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１＆＆ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足した場合、ＲＦＣ  ６３３０復号化方法によりＣ１〜Ｃｉを解き、ここで、＆＆は、ＡＮＤ演算を示し、ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）は、優先順位１から優先順位ｉの各サブ行列からなる行列のフルランクを示し、Ｃ１は、優先順位１のデータに対応する中間コードワードを示し、Ｃｉは、優先順位ｉのデータに対応する中間コードを示し、
【数２８】
2020526979.tif 000030
とし、
【数２９】
2020526979.tif 000031
が得られ、
ここで、
【数３０】
2020526979.tif 000032
であり、
ここで、ＲＥＶ_ＡΔｉは、優先順位がｉである場合の全てのサブ行列からなるフルランク行列を示し、Ｂ１_２は、サブ行列
【数３１】
2020526979.tif 000033
を示し、Ｘ１_２は、サブ行列Ｂ１_２を逆演算した後のサブ行列を示し、Ｘａ_ｂは、サブ行列Ｂａ_ｂを逆演算して得られたサブ行列を示し、Ｂａ_ｂは、サブ行列
【数３２】
2020526979.tif 000034
を示し、ａの範囲は１〜ｉであり、ｂの範囲は２〜ｉであり、Ａｉ−１は、サブ行列
【数３３】
2020526979.tif 000035
の逆行列を示し、
【数３４】
2020526979.tif 000036
とし、ここで、
【数３５】
2020526979.tif 000037
であり、ＲＥＶ_Ａｉ−１は、ＲＥＶ_Ａｉの逆行列である場合、
【数３６】
2020526979.tif 000038
が得られ、
数学的帰納法により、
【数３７】
2020526979.tif 000039
が得られ、Ｃ１、Ｃ２…Ｃｉが算出され、Ｃｉ＋１…Ｃｌが算出できず、
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足し、ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足しない場合、ガウス消去復号化法によりＣ１〜Ｃｉを解き、
【数３８】
2020526979.tif 000040
とし、ガウスの消去法により解線型方程式系：
【数３９】
2020526979.tif 000041
を解くことにより、Ｃ１、Ｃ２…Ｃｉを算出できるが、Ｃｉ＋１…Ｃｌを算出できず、
任意のｉ値に対して、ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足しない場合、対応するＣｉを算出できず、ｉ＝＝１までｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０も満足できない場合、Ｃ１、Ｃ２…Ｃｌはいずれも算出できず、復号化が失敗し、
（ステップＡ４）
ｉの値を１減らし、ステップＡ３に戻る。
【００１４】
（７）好ましくは、ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析し、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる優先順位にマッピングし、
サブパケットの優先順位に従って、サブパケットを再配列し、中間データパケットを得て、
前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のシンボルｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行なった後、複数のシンボルｓｙｍｂｏｌを含む復元データパケットを得て、
前記復元データパケットにインデックスフィールドおよび／または優先順位指示フィールドを追加し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、前記中間データパケットにもインデックスフィールドおよび／または優先順位指示フィールドを追加し、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンスおよび／または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、
前記復元データパケットおよび中間データパケットに対応する指示情報を追加し、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信し、前記指示情報は、復元データパケットの各優先順位でのサブパケット、対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を示し、
端末側に指示情報を含む復元データパケット、中間データパケットを送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する、
ステップをさらに含む。
【００１５】
（８）好ましくは、ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析することは、
各サブパケットのヘッダにおけるｐｒｉｏｒｉｔｙフィールドを読み取り、前記ｐｒｉｏｒｉｔｙフィールドにおける情報に基づいて対応するサブパケットの優先順位を確定することを含む。
【００１６】
（９）好ましくは、重要な情報に基づいて前記ソースデータパケットにおけるサブパケットをそれぞれ異なる所定の優先順位にマッピングすることは、
前記ソースデータパケットで実際に使用される優先順位の数および各優先順位での前記ｐｒｉｏｒｉｔｙフィールドとのマッピング関係を確定すること、および
前記マッピング関係に基づいて、サブパケットを対応する所定の優先順位にマッピングすることを含む。
【００１７】
（１０）好ましくは、前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のシンボルｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行なった後、複数のｓｙｍｂｏｌを含む復元データパケットを得ることは、
前記中間データパケットに対して、ＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式によりＦＥＣ符号化を行い、以下の中間コードワードを得ること、および
【数４０】
2020526979.tif 000042
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示し、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加することを含み、ここで、前記復元データパケットにおける復元データは以下の通りであり、
【数４１】
2020526979.tif 000043
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれ１〜Ｎ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示し、ｉ＝１，２，…Ｎである。
【００１８】
（１１）本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法は、
サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報は、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元し、
前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケット的シーケンスを再配列し、ソースデータパケットに復元する、
とのステップを含む。
【００１９】
（１２）好ましくは、前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析することは、
以下の一般式によりソースデータに対応するコーディング行列の対応行インデックスフィールドを得ることを含み、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、ｉｎｄｅｘは、ソースデータに対応するコーディング行列の対応行インデックを示し、ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示し、ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、このデータパケットの前の全ての優先順位のデータパケット総数を示す。
【００２０】
（１３）好ましくは、前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元することは、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルｓｙｍｂｏｌを配列し、復元されたデータパケットのヘッダのインデック情報ＦＥＣｐａｙｌｏａｄ_ＩＤの値および対応優先順位でのシンボルｓｙｍｂｏｌの数に基づいてこのシンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定すること、或いは
復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定すること、
復元データパケットにおけるシンボルｓｙｍｂｏｌのシーケンスを調整し、ガウス消去デコーダおよびＲＦＣ６３３０デコーダにより復号化することにより、復元された複数のｓｙｍｂｏｌを含む中間データパケットを得ること、および
複数のｓｙｍｂｏｌを含む中間データパケットを中間データパケットに変換すること、
を含む。
【００２１】
（１４）本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置は、
ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析する解析モジュールと、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる所定優先順位にマッピングするマッピングモジュールと、
所定優先順位に基づいてサブパケットを再配置することにより中間データパケットを得る配列モジュールと、
前記中間データパケットを複数のシンボルｓｙｍｂｏｌに変換し、複数のｓｙｍｂｏｌに変換された中間データパケットに対して前方誤り訂正ＦＥＣ符号化を行うことで、複数のｓｙｍｂｏｌを含む復元データパケットを得る符号化モジュールと、
前記復元データパケットにインデックスフィールドおよび／または優先順位指示フィールドを加え、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンスおよび／または復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであり、前記中間データパケットにインデックスフィールドおよび／または優先順位指示フィールドを加え、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンス、および／または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであるインデックモジュールと、
前記復元データパケットおよび中間データパケットに対応する指示情報を加え、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信する指示情報生成モジュールであって、前記指示情報は、復元データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を指示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を指示する指示情報生成モジュールと、
端末側に前記復元データパケット、中間データパケットおよび対応するシグナリング情報を送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する送信モジュールと、
を含む。
【００２２】
（１５）好ましくは、前記符号化モジュールは、具体的には、
前記中間データパケットに対してＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式によりＦＥＣ符号化を行うことで、以下の中間コードワードを取得し、
【数４２】
2020526979.tif 000044
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示し、Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応し、Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応し、上付き−１は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加し、ここで、前記復元データパケットにおける復元データは、次の通りであり、
【数４３】
2020526979.tif 000045
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮはそれぞれ１〜Ｎ個のソースデータパケットの復元データに対応し、Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示し、Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示し、Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示し、ｉ＝１，２，…Ｎである。
【００２３】
（１６）本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化装置は、受信モジュールと、コーディング行列生成モジュールと、復号化モジュールと、復元モジュールとを含み、
受信モジュールは、サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
コーディング行列生成モジュールは、前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドが復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、或いは
復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報が復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
復号化モジュールは、前記コーディング行列に対して前方誤り訂正ＦＥＣ復号化を行い、中間データパケットに復元し、
復元モジュールは、前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケットのシーケンスを再配列し、ソースデータパケットに復元する。
【００２４】
（１７）好ましくは、前記コーディング行列生成モジュールは、具体的には、
以下の一般式によりソースデータに対応するコーディング行列の対応行のインデックスフィールドを得て、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、ｉｎｄｅｘは、ソースデータに対応するコーディング行列の対応行インデックを示し、ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示し、ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、このデータパケットの前の全ての優先順位のデータパケット総数を示す。
【００２５】
（１８）好ましくは、前記復号化モジュールは、具体的には、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルｓｙｍｂｏｌを配列し、復元されたデータパケットのヘッダのインデック情報ＦＥＣｐａｙｌｏａｄ_ＩＤの値および対応優先順位でのシンボルｓｙｍｂｏｌの数に基づいてこのシンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定し、或いは
復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルｓｙｍｂｏｌが属する優先順位および変換後の位置を確定し、
復元データパケットにおけるシンボルｓｙｍｂｏｌのシーケンスを調整し、ガウス消去デコーダおよびＲＦＣ６３３０デコーダにより復号化することにより、復元された複数のｓｙｍｂｏｌを含む中間データパケットを取得し、
複数のｓｙｍｂｏｌを含む中間データパケットを中間データパケットに変換する。
【００２６】
（１９）本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化システムは、サーバーおよび少なくとも１つの端末を含み、前記サーバーは、上記（７）〜（１０）のいずれか１つに記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法を実行し、前記端末は、上記（１１）〜（１３）のいずれか１つに記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法を実行する。
【００２７】
（２０）本発明は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体をさらに提供する。前記コンピュータプログラムは、プロセッサにより実行されることにより、上記（７）〜（１３）のいずれか１つに記載の画像に基づくストライプ生地の検出位置決めクロッピング方法のステップを実行する。
【００２８】
従来技術に比べて、本発明は、以下の有益な効果を有する。
本発明に係るメディア内容に基づく自己適応システムコードＦＥＣ方法は、メディア内容の重要度に応じて優先順位に従って配列し、不均一誤り保護（ＵＥＰ）を採用することにより、メディア内容の品質が最大限に保証されるとともに、ＦＥＣによるデータ冗長が減少される。また、システムコードの符号化および復号化がより柔軟になり、ソースデータストリームをマルチストリーム化する必要がないため、送信端ＦＥＣ符号化の複雑さが低減され、ＦＥＣ符号化の効率が向上される。さらに、現在のネットワーク状態の変化に基づいて符号化スキームを調整することができるため、時変ネットワークに対してより強い適応性を有する。
【図面の簡単な説明】
【００２９】
以下の図面により非制限的な実施例を詳しく説明することにより、本発明の他の特徴、目的および利点は、より明確になる。
【図１】メディアソースデータに対するＦＥＣ二層構造の模式図である。
【図２】画像群における各フレームの依存関係の模式図である。
【図３】画像群における各フレームの依存関係の模式図である。
【図４】ファウンテンコードの不均一誤り保護符号化スキームの模式図である。
【図５】ファウンテンコードの不均一誤り保護のシステム構成の模式図である。
【図６】システムＲａｐｔｏｒＱコードのコーディング行列の構造模式図である。
【図７】システムＲａｐｔｏｒＱコードの不均一誤り保護のコーディング行列の構造模式図である。
【図８】ＬＴコーディング行列の不均一誤り保護構造の模式図である。
【図９】複数の優先順位の不均一誤り保護システムファウンテンコード符号化のフローチャートである。
【図１０】複数の優先順位の不均一誤り保護システムファウンテンコード復号化のフローチャートである。
【図１１】メディア内容に基づく自己適応システムコードＦＥＣシステムのフレーム図である。
【図１２】各優先順位のマッピング関係の模式図である。
【図１３】優先順位に従ってデータパケットストリームを再配列する模式図である。
【図１４】ＦＥＣ符号化後のソースデータパケットおよび復元データパケットに対する処理フローチャートである。
【図１５】受信端がシグナリング情報およびデータパケット情報を解析する模式図である。
【図１６】受信したデータパケットに基づいてコーディング行列を生成する模式図である。
【図１７】受信したデータパケットを処理するフローチャートである。
【図１８】復元データパケットストリームの初期シーケンスの結果の模式図である。
【図１９】受信端がデータパケットのヘッダ情報を解析する模式図である。
【発明を実施するための形態】
【００３０】
以下、具体的な実施形態を例示しながら、本発明について詳細に説明する。以下の実施形態は、いわゆる当業者が本発明をより理解しやすくするための例示であり、いかなる形式で本発明を限定するものではない。また、いわゆる当業者であれば、本発明の要旨から逸脱しない範囲内において、様々な変形や改良を行うことができ、これらも本発明の保護範囲に属することには注意されたい。
【００３１】
以下、本明細書で用いられる用語を解釈する。
１）不均一誤り保護（Ｕｎｅｑｕａｌ  Ｅｒｒｏｒ  Ｐｒｏｔｅｃｔｉｏｎ、ＵＥＰ）は、ジョイントソースチャネルコーディングの一種である。その核心的な思想は、コードストリームの各部分のデータの異なる重要性に基づき、各部分のデータに対して異なるチャネル保護メカニズムを用い、即ち重要なコードストリームに対しては重点的に保護する。ＵＥＰは非重要なコードストリームのノイズに耐える性能を低下させるが、システムのビット誤りを防ぐ全体的な性能の向上には役立つ。
【００３２】
２）デジタルファウンテンコード（Ｄｉｇｔｉａｌ  Ｆｏｕｎｔａｉｎ  Ｃｏｄｅ）は、伝送過程において、フィードバックおよび自動再送信のメカニズムを必要としないため、信号送受信による時間遅延およびブロードキャスト応用におけるフィードバック爆発の問題を回避している。デジタルファウンテンの基本的な思想は、以下のとおりである。送信側は、オリジナルデータをｋ個のデータシンボルに分割し、これらのデータシンボルについて符号化し、任意の長さの符号化シンボルのコードストリームを出力する。受信側は、ｎ（ｎはｋよりやや大きい）個の符号化シンボルを正確に受信するだけで全てのｋ個のデータシンボルを大きな確率で復元することができる。
【００３３】
デジタルファウンテンコード自体はＵＥＰ特性を有しており、重要性の異なるデータに対する保護を実現することができる。従来の固定ビットレートのチャネル符号化方法に比べ、デジタルファウンテンコードは明らかに以下の優位性を有する。
【００３４】
ａ、理想的な拡張可能性を有する。単方向ブロードキャストはフィードバックがないため、送信側はユーザー数の増加によっていかなる影響も受けない。したがって、送信側は任意の数のユーザーにサービスを提供することができる。
【００３５】
ｂ、経時変化のチャネルに適し、チャネルの容量を効率的に利用する。ユーザーの復号化特性は、チャネルの削除確率および帯域幅に関連しない。チャネルのパケットロス率が高く、状況が悪い場合でも、受信側の復号化に影響を与えることなく、即ち受信側は十分な数の符号化データさえ受信すれば正常に復号化することができ、より高い適応性を有する。
【００３６】
ｃ、符号化と復号化の複雑度が低い。理想的な状況において、ファウンテンコードにより生成される各符号化シンボルは、線形の符号化と復号化の複雑度を有している。したがって、送受信側のコーデックの設計の簡略化およびソフトウェア化の実現に役立つ。
【００３７】
ｄ、ヘテロジニアスなユーザーに対する適用性が高い。ファウンテンコードのビットレートレス特性は、異なるパケットロス率または帯域幅を有するユーザー同士が互いに影響せず、高品質のユーザーが低品質のユーザーの影響を受けないようにする。この他、デジタルファウンテンコードは、中断後の伝送再開、非同期アクセス等の複数のサービスモードをサポートする。
【００３８】
図１は、メディアリソースデータのＦＥＣ二層構造である。図１に示すように、第一層ではｓｏｕｒｃｅ  ｐａｃｋｅｔ  ｂｌｏｃｋを多くの小さいブロックに分割し、それぞれについてＦＥＣ保護を行い、第二層ではブロック全体に対してＦＥＣ保護を行う。第一層における分割が細かいため、小さい遅延を提供することができ、第二層では復元性および小さい冗長を保証している。しかしながら、この方法では、ＦＥＣ符号化を２回行う必要があるので、符号化の効率が低下し、柔軟性が不十分である。
【００３９】
１つのデータストリームは、その内容に応じて異なるタイプのデータパケットに分けることができる。異なるタイプのデータパケットは、異なる重要度を有する。例えば、データパケットにおけるＩ、Ｂ、Ｐフレームの重要度を図２、３に示す。１つの画像群における各フレームの依存関係は、１つの画像群における異なるフレームの依存程度および重要度が異なることを示し、Ｉフレームは、最も重要であり、Ｂ、Ｐフレームの重要度が比較的低い。そのため、データ内容の重要性に基づいて不均一誤り保護を行うことができる。具体的には、２つの重要レベルを有するソースデータを伝送する状況を考慮する場合、ソースデータを前記標準に従って区画し、重要度に従って再配列し、システムファウンテンコードコーディング行列の構造を変更することにより、異なる内容に対する不均一誤り保護を実現する。そのシステムの基本的な構成を図５に示す。システムファウンテンコードの不均一誤り保護符号化により生成したデータを図４に示す。
【００４０】
［実施例１］
本実施例では、ＲａｐｔｏｒＱシステムコードを例とし、システムＲａｐｔｏｒＱコードのコーディング行列の構造を図６に示す。ここで、Ｄがソースデータ、Ｃが中間コード、Ｇ_ＬＤＰＣがＬＤＰＣ行列、Ｉ_Ｓ、Ｉ_Ｈが単位行列、Ｇ_ＥＮＣがＬＴコーディング行列を表示する場合、コーディング行列は、以下のように表され得る。
【数４４】
2020526979.tif 000046
【００４１】
ＦＥＣ符号化を行うときに、ソースデータおよび図６に示されるコーディング行列から中間コードを生成する。
【数４５】
2020526979.tif 000047
【００４２】
さらに、コーディング行列におけるＬＴ行列および得られた中間コードに基づいてソースデータおよび復元データを生成する。Ｒは符号化して得られた復元データを示し、Ｇ_ＥＮＣ’はＧ_ＥＮＣと同じ生成方式により生成したＬＴ行列である。
【数４６】
2020526979.tif 000048
【００４３】
上記方法によりソースデータを符号化する場合には、ソースデータに対して優先順位付けを行い、不均一誤り保護符号化を採用することができないため、コーディング行列ＡおよびＬＴ行列Ｇ_ＥＮＣの行列構造を改めて設計する必要がある。ソースデータに優先順位が異なる２つのデータがある場合を例とし、優先順位をそれぞれ優先順位１、優先順位２に設定し、ソースデータにおける優先順位が異なるデータを区分し、それぞれに異なる冗長度を割り当てることにより、不均一誤り保護の効果が達成される。
【００４４】
＜符号化過程＞
そのコーディング行列構造を図７に示す。そのコーディング行列を一般式（６）で表す。ここで、Ｇ_ＥＮＣ１とＧ_ＥＮＣ２は、異なるルールで生成したコーディング行列であり、重要なデータの保護を保証するために、Ｇ_ＥＮＣ１行列の度分布を高めることができる。
【数４７】
2020526979.tif 000049
このようにして、重要度が異なるデータに対して対応する中間コードを生成することができる。
【数４８】
2020526979.tif 000050
【００４５】
重要度が異なるデータに対する不均一誤り保護を達成するために、図８に示すようにＬＴコーディング行列の構造を変更することで、重要なデータを保護するための冗長データを増加させることができる。ここで、Ｇ_ＥＮＣ１’とＧ_ＥＮＣ１は、生成方式が同じであり、Ｇ_ＥＮＣ２’とＧ_ＥＮＣ２は、生成方式が同じである。得られた復元データＲ１は、優先順位が１のデータにのみ関連し、復元データＲは、優先順位が１および２のデータに関連する。これによって、重要データの冗長度が高くなり、それに対する保護強度が高くなる。チャネル条件の制限により、データの総冗長度が限られ、生成されるＲ１とＲ２の比は、［Ｇ_ＥＮＣ１’  ０］と［Ｇ_ＥＮＣ１’’  Ｇ_ＥＮＣ２’］の行数比により確定されるので、［Ｇ_ＥＮＣ１’  ０］の行数を増加することにより優先順位が１のデータに対する保護強度を向上させることができる。
【数４９】
2020526979.tif 000051
【００４６】
＜復号化過程＞
損失チャネル（Ｌｏｓｓｙ  ｃｈａｎｎｅｌ）を経過した後、一部のデータパケットがロスするので、受信したシンボルＩＳＩに基づいて復元行列を生成するために、ロスシンボルＩＳＩに対応する行列の行を消去する必要がある。例えば、行列ＲＥＶ_Ｇ_ＥＮＣ１の場合、受信したＲＥＶ_Ｄ１および送信端のＤ_１に基づいて、ロスデータのＩＳＩを得ることができ、これによって、Ｇ_ＥＮＣ１に対応する行を削除することができる。符号化過程と同様に、第１段階の復号化の際に、復元行列および受信したデータパケットに基づいて中間コードワードを得る。
【数５０】
2020526979.tif 000052
【００４７】
上記行列方程式を一次行変換して以下の形式を得る。
【数５１】
2020526979.tif 000053
ここで、
【数５２】
2020526979.tif 000054
にし、受信した各優先順位でのデータパケットの数および受信したデータパケットの総数に基づいてケースバイケースで復号化する。
【００４８】
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも少なく、かつ、
【数５３】
2020526979.tif 000055
行数は列数よりも少なく、Ｃ１、Ｃ２はいずれも算出できない。
【００４９】
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも少ないが、
【数５４】
2020526979.tif 000056
の行数は列数以上である。
【数５５】
2020526979.tif 000057
の行数が列数以上である場合、ＲＥＶ_Ａ１はリバーシブルであり、その逆行列はＲＥＶ_Ａ１−１と記し、
【数５６】
2020526979.tif 000058
は算出されるが、Ｃ２は算出できない。
【００５０】
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも大きく、かつ
【数５７】
2020526979.tif 000059
の行数は列数以上である。
【数５８】
2020526979.tif 000060
の行数が列数以上である場合、ＲＥＶ_Ａ１はリバーシブルであり、その逆行列はＲＥＶ_Ａ１−１と記す。
【数５９】
2020526979.tif 000061
の行数が列数以上である場合、ＲＥＶ_Ａ２はリバーシブルであり、その逆行列はＲＥＶ_Ａ２−１と記し、
【数６０】
2020526979.tif 000062
であり、
【数６１】
2020526979.tif 000063
であることが分かる。これによって、
【数６２】
2020526979.tif 000064
となる。
しかし、
【数６３】
2020526979.tif 000065
の行数が列数よりも小さい場合、ＲＥＶ_Ａ２には逆行列がなく、
【数６４】
2020526979.tif 000066
しか算出できない。
【００５１】
受信した符号化シンボルの総数がソースデータ符号化シンボルの数以上である場合、
【数６５】
2020526979.tif 000067
の行数が列数よりも小さいが、
【数６６】
2020526979.tif 000068
の行数が列数よりも大きい。
ガウスの消去法により行列ＲＥＶ_Ａを直接解き、即ち、以下の線型方程式系を解くことにより、Ｃ１、Ｃ２が求められる。
【数６７】
2020526979.tif 000069
【００５２】
上記デコード過程の第１段階から分かるように、如何なる場合においてもまずＣ１を正確に算出する必要がある。中間コードワードＣ１およびＣ２は、デコードの第２段階でソースデータの重要なデータを復元するので、Ｃ１のデコード成功率を高めることにより、ソースデータの正確な復元の確率が高くなる。
【００５３】
得られた中間コードワードに基づいてシステムコード符号化シンボルを生成する。
【数６８】
2020526979.tif 000070
第１段階でＣ１、Ｃ２が算出できない場合、復号化が失敗し、ソースシンボルが復号化されない。Ｃ１のみが算出できる場合、優先順位が高いソースデータＤ１が正確に復号化されることを保証することができる。Ｃ１、Ｃ２がともに算出される場合、上式により最終的なソースコードＤ１およびＤ２を得ることができる。
【００５４】
また、この実施形態は、２つの優先順位のシーンにのみ適用するだけではなく、複数の優先順位のソースデータにも適用される。具体的な過程は、以下の通りである。
【００５５】
＜符号化過程＞
まず、ソースデータおよびソースデータの優先順位に基づいて中間コードワードを生成する。ソースデータがｌ個のデータパケットに分けられる場合、
【数６９】
2020526979.tif 000071
が得られる。式（１６）により中間コードワードＣ１，Ｃ２，…，Ｃｌが得られる。
【数７０】
2020526979.tif 000072
得られた中間コードワードに基づいてソースデータおよび復元データを生成する。
【数７１】
2020526979.tif 000073
【００５６】
符号化過程全体を図９に示す。ソースデータおよび復元データを送信端より受信端に送信し、チャンネル減衰のため、一部のデータがロスする可能性があり、受信端がデータを受信した後、受信したデータの状況に基づいて復号化してソースデータを復元する。
【００５７】
＜復号化過程＞
一部のデータがロスしたので、受信したシンボルＩＳＩに基づいて復元行列を生成する必要がある。つまり、ロスしたシンボルＩＳＩに対応する行列行を消去し、対応する行列（ＲＥＶ_Ｇ_ＥＮＣと記す）を生成する。受信したデータの数に応じて、ケースバイケースで中間コードワードを生成する。
【００５８】
【数７２】
2020526979.tif 000074
上の行列方程式を一次行変換して以下の形式が得られる。
【数７３】
2020526979.tif 000075
【数７４】
2020526979.tif 000076
とし、Ｒ（ｉ）（１≦ｉ≦ｌ）を受信して拡張した後の第ｉレベルのシンボル数、Ｌ（ｉ）を符号化端の各レベルのシンボルの長さとし、ｉ＝１：ｌに対して、各レベルで生成した行列のランクｅａｃｈＲａｎｋ（ｉ）＝ｍｉｎ（Ｌｅｎ（Ｒ（ｉ）），ｓｕｍ（Ｌ（１：ｉ）））を計算し、さらに、累積行列のランクｃｕｍＲａｎｋ（ｉ）＝ｍｉｎ（ｃｕｍＲａｎｋ（ｉ−１）＋ｅａｃｈＲａｎｋ（ｉ），ｓｕｍ（Ｌ（１：ｉ）））を計算する。ここで、ｃｕｍＲａｎｋ（１）＝ｅａｃｈＲａｎｋ（１）である。順にｃｕｍＲａｎｋ（ｉ）＞＝ｓｕｍ（Ｌ（１：ｉ））を判断し、成立した場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝１であり、成立しない場合、ｃｕｍＦｕｌｌＲａｎｋ（ｉ）＝０である。以下、受信した各レベルのシンボル数に応じて、ケースバイケースで中間コードＣ１、Ｃ２…Ｃｌを求める。ここで、ｉ初期値をｌに設定する。
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１＆＆ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足した場合、ＲＦＣ  ６３３０復号化方法によりＣ（１）〜Ｃ（ｉ）を解く。
【数７５】
2020526979.tif 000077
とすると、
【数７６】
2020526979.tif 000078
である。ここで、
【数７７】
2020526979.tif 000079
である。さらに、中間コードは、下式により得られる。
【数７８】
2020526979.tif 000080
さらに、数学的帰納法により
【数７９】
2020526979.tif 000081
Ｃ１、Ｃ２…Ｃｉが算出できるが、Ｃｉ＋１…Ｃｌが算出できない。
ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足し、ｃｕｍＦｕｌｌＲａｎｋ（１：ｉ）＞０を満足しない場合、ガウス消去復号化法によりＣ（１）〜Ｃ（ｉ）を解く。
【数８０】
2020526979.tif 000082
とすると、ガウスの消去法により線型方程式系：
【数８１】
2020526979.tif 000083
を解くことにより、Ｃ１、Ｃ２…Ｃｉを算出できるが、Ｃｉ＋１…Ｃｌを算出できない。
【００５９】
あるｉ値の場合、ｃｕｍＦｕｌｌＲａｎｄ（ｉ）＝＝１を満足しない場合、対応するＣｉを算出できない。ｉ＝＝１まで前記２つの条件のいずれも満足できない場合、Ｃ１、Ｃ２…Ｃｌはいずれも算出できず、復号化が失敗する。
【００６０】
ｉ＝ｉ−１を引き続き循環させ、即ちｉ＝ｌ：−１：１にすることにより、上記過程を繰り返す。
【００６１】
復号化プロセス全体を図１０に示す。
本実施例の方法によれば、資源が有効に節約される。受信端で、場合によって受信したデータ（例えば、Ｂフレーム）を人為的に捨てると、伝送資源の浪費をもたらす。上記実施形態によれば、ソース端から問題が解決され、望ましくないパケットを伝送過程でより大きな確率でロスさせることにより、重要なパケットがより大きな程度で保護される。
【００６２】
本実施例の方法によれば、個性的な伝送方式が提供される。チャンネル状況、ユーザ体験などに基づいて不均一誤り保護の態様を設計することにより、ビデオ伝送がより柔軟で緻密になる。また、送信端の符号化方式が柔軟になっても、受信端は、リスト情報に基づいてオリジナルデータを復元することができる。
【００６３】
本実施例の方法によれば、より柔軟なコーディング行列の設計が提供される。実際のメディアの応用シーンに応じて、メディア内容に基づいてデータの優先順位付けを行い、実際の必要に応じてＦＥＣコーディング行列をより柔軟に設計することができ、これによって、不均一誤り保護の効果が達成される。
【００６４】
本実施例の方法によれば、より柔軟な復号化方式が提供される。受信した各優先順位のデータの数に応じて、異なる復号化アルゴリズムを採用することにより、限られた帯域幅資源下で、優先順位が高いデータが最大限に復元され、優先順位が比較的高いデータに対する保護強度が高くなる。
【００６５】
［実施例２］
ソースデータパケットにおける各サブパケットをそれぞれ異なる所定優先順位にマッピングし、または実施例１と実施例２とを組み合わせることができる。具体的には、以下の通りである。
【００６６】
図１１は、メディア内容に基づく自己適応システムコードＦＥＣシステムのフレーム図である。前記システムは、サーバーおよび少なくとも１つの端末を含む。まず、サーバー側は、実際の応用シーンおよびメディア内容に基づいて複数の優先順位を分け、データパケットのヘッダにおける前記データパケットに関連する重要な情報を解析し、各データパケットを異なる優先順位にマッピングする。さらに、優先順位状況およびマッピング関係に基づいて、前方誤り訂正符号化（ＦＥＣ）を必要とするデータパケットを優先順位に従って高から低に再配列する。再配列されたソースデータに対して、実際のチャンネル状況に応じて、不均一誤り保護のＦＥＣ符号化方式により符号化を行い、復元データ（ｒｅｐａｉｒ  ｓｙｍｂｏｌｓ）を生成する。ＦＥＣ符号化終了後に、ソースデータパケットおよび復元データパケットに現在のデータパケットシーケンスを指示するインデックスフィールドを加える。各優先順位でのソースデータおよび復元データを統計し、対応するシグナリング情報を生成し、シグナリングにおいて各優先順位でのデータパケットの数または割合、および各優先順位で対応する復元データの数または割合を指示することにより、受信端がデータを受信した後にデータを正確に復元することができる。最後に、ソースデータパケット、復元データパケットおよびシグナリングを端末（クライアントまたは受信端）に送信する。
【００６７】
対応するように、端末側は、まずシグナリング情報および受信したデータパケットにおけるインデックスフィールドを解析し、各優先順位で受信したソースデータパケットおよび復元データパケットの数および対応するデータパケットインデックを得る。さらに、得られたデータパケットインデック情報に基づいて受信端でコーディング行列を生成する。最後に、生成したコーディング行列に基づいてケースバイケースでＦＥＣ復号化を行い、ソースデータパケットを復元する。復元したソースデータパケットのシーケンスが再配列されたシーケンスであるので、データパケットのヘッダにおけるソースデータパケットのシーケンスを解析し、ソースデータパケットを再配列することにより、ソースデータパケットの初期データが得られる。
【００６８】
以下、具体的な実施例により本発明の実施形態を詳しく説明する。以下の具体的な実施例は互いに組み合わせることができ、同じまたは類似の概念または過程は、いくつかの実施例は省略される。
【００６９】
（実施例２．１）
図１２に示すように、以下のステップを含むことができる。
Ｓ１：符号化してパッケージされたデータパケットのヘッダを解析し、ＤＵ  ｈｅａｄｅｒにおけるｐｒｉｏｒｉｔｙフィールドを読み取り、実際の応用に応じて実際に採用される優先順位の数および各優先順位でのｐｒｉｏｒｉｔｙフィールドとのマッピング関係を確定する。
【００７０】
Ｓ２：分けられた優先順位およびマッピング関係に基づいて、オリジナルのソースデータストリームを優先順位に従って高から低に再配列し、各優先順位でのデータパケットの数を統計する（図１３）。
【００７１】
Ｓ３：再配列されたソースデータストリームに対して、システムＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化スキームを採用してＦＥＣ符号化を行い、復元データを生成する。
【００７２】
具体的には、前記中間データパケットに対して、ＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式を採用してＦＥＣ符号化を行い、以下の中間コードワードを得る。
【数８２】
2020526979.tif 000084
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示す。Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応する。Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応する。上付き−１は、逆行列の演算子である。
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加する。前記復元データパケットにおける復元データは、以下の通りである。
【数８３】
2020526979.tif 000085
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれ１〜Ｎ個のソースデータパケットの復元データに対応する。Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示す。Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示す。Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示す。ここで、ｉ＝１，２，…Ｎである。
【００７３】
ＦＥＣエンコーダーから出力されたデータストリーム（再配列された後のデータストリーム）に基づいてソースデータパケットおよび復元データパケットを生成し、ＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加する（図１４）。
【００７４】
Ｓ４：ＡＬ−ＦＥＣ  ｍｅｓｓａｇｅを生成し、シグナリングにおいて各優先順位でのデータパケットの数および各優先順位での対応する復元データパケットの数を指し示すことにより、受信端がデータを受信した後にデータを正確に復元することができる。具体的なシグナリングを表１に示す。
【００７５】
【表１】
2020526979.tif 000086
【００７６】
表１において、ｎｕｍｂｅｒ_ｏｆ_ｐｒｉｏｒｉｔｙは優先順位の数を示す。ｆｅＣｐｒｉｏｒｉｔｙ_ｖａｌｕｅ（８ビット）は、各優先順位に対応する値を示し、この値が多くともＤＵ  ｈｅａｄｅｒにおけるｐｒｉｏｒｉｔｙで定義された優先順位と同じであってもよく、複数のＤＵ  ｈｅａｄｅｒにおけるｐｒｉｏｒｉｔｙに対応してもよい。ｎｕｍｂｅｒ_ｏｆ_ｓｏｕｒｃｅ_ｓｙｍｂｏｌ（１６ビット）は、優先順位がｆｅＣｐｒｉｏｒｉｔｙ_ｖａｌｕｅで示される値でのソースシンボルの数を示す。ｎｕｍｂｅｒ_ｏｆ_ｒｅｐａｉｒ_ｓｙｍｂｏｌ（１６位）は、優先順位がｆｅＣｐｒｉｏｒｉｔｙ_ｖａｌｕｅで示される値での復元シンボルの数を示す。ｐｒｉｖａｔｅ_ｆｅＣｆｌａｇは、指示ビットであり、プライベートＦＥＣ符号化スキームを使用するか否かを明示する。ｐｒｉｖａｔｅ_ｆｌａｇは、指示ビットであり、使用されるプライベートＦＥＣ符号化スキームを記述する１つのｐｒｉｖａｔｅ_ｆｉｅｌｄが存在するか否かを明示する。ｐｒｉｖａｔｅ_ｆｉｅｌｄ_ｌｅｎｇｔｈは、プライベートＦＥＣ符号化スキームのフィールドの長さを記述する長さフィールドである。ｐｒｉｖａｔｅ_ｆｉｅｌｄは、プライベートＦＥＣスキームの詳細情報を記述する。ｐｒｉｏｒｉｔｙ_ｉｄは、ＭＭＴパケットの優先順位を指示する優先順位ｉｄである。ｆｅＣｃｏｄｅ_ｉｄ_ｆｏｒ_ｒｅｐａｉｒ_ｆｌｏｗは、使用されるＦＥＣ符号化スキームを記述する。ｒｅｐａｉｒ_ｆｌｏｗ_ｉｄ（８ビットの整数）は、生成したＦＥＣ  ｒｅｐａｉｒ  ｆｌｏｗとＦＥＣ  ｒｅｐａｉｒパケットのヘッダにおけるｐａｃｋｅｔ  ｉｄとの間に対応関係を有することを示す。ｍａｘｉｍｕｍ_ｋ_ｆｏｒ_ｒｅｐａｉｒ_ｆｌｏｗ（２４ビットの整数）は、ｓｏｕｒｃｅ  ｓｙｓｍｂｏｌブロックにおけるｓｏｕｒｃｅ  ｓｙｍｂｏｌの最大数を示す。ｍａｘｉｍｕｍ_ｐ_ｆｏｒ_ｒｅｐａｉｒ_ｆｌｏｗ（２４ビットの整数）は、ｒｅｐａｉｒ  ｓｙｓｍｂｏｌブロックにおけるｒｅｐａｉｒ  ｓｙｍｂｏｌの最大数を示す。ｐｒｏｔｅｃｔｉｏｎ_ｗｉｎｄｏｗ_ｔｉｍｅは、ＦＥＣ符号化において最初のｓｏｕｒｃｅまたはｒｅｐａｉｒパケットの送信と、最後のｓｏｕｒｃｅまたはｒｅｐａｉｒパケットの送信との間の最大時間差を示す保護ウィンドウ時間（単位：ミリ秒）である。ｐｒｏｔｅｃｔｉｏｎ_ｗｉｎｄｏｗ_ｓｉｚｅは、ＦＥＣ符号化ストリームにおいて最初のＦＥＣパケットを送信する負荷と最後のＦＥＣパケットを送信する負荷との間の最大カウント値を示す保護ウィンドウ値である。
【００７７】
図１５に示すように、ＦＥＣ各優先順位でのデータパケットの数に基づいて、下式によりソースデータに対応するコーディング行列の対応行のインデックを得る。
ｉｎｄｅｘ＝ＦＥＣ  ｐａｙｌｏａｄ  ＩＤ−ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔ。
【００７８】
式中、ｉｎｄｅｘは、ソースデータのコーディング行列の対応行のインデックを示す。ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示す。ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、前記データパケットの前のすべての優先順位のデータパケットの総数を示す。
【００７９】
ここで、各優先順位の数が１００である４つの優先順位を例として説明する（図１６）。ｓｏｕｒｃｅ_ＦＥＣｐａｙｌｏａｄ_ＩＤは、再配列された後のソースデータパケットのシーケンスに従って配列したものである。優先順位が１である場合、現在のｓｏｕｒｃｅ_ＦＥＣｐａｙｌｏａｄ_ＩＤに基づいてコーディング行列を生成するＩＳＩ（インデック）を直接確定することができる。優先順位が１よりも大きい場合、ヘッダを解析する際に、そのｓｏｕｒｃｅ_ＦＥＣｐａｙｌｏａｄ_ＩＤの値および各優先順位でのソースシンボルの数に基づいてどの優先順位に属するかを確定することができる。例えば、ｓｏｕｒｃｅ_ＦＥＣｐａｙｌｏａｄ_ＩＤ＝１０８である場合、優先順位２に属することを確定することができ、上記一般式によりそのＩＳＩ＝８であることが分かる。復元データパケットについては、ヘッダにおけるｒｅｐａｉｒ_ＦＥＣｐａｙｌｏａｄ_ＩＤに基づいて生成行列のＩＳＩを確定することができる。送信端と受信端は同じＦＥＣ符号化メカニズムを採用するので、前記２つのインデックに基づいて対応するコーディング行列を生成することができる。
【００８０】
生成したＦＥＣコーディング行列に基づいて、コーディング行列を一次行変換し、対応して受信したデータパケットを配列し、ｒｅｐａｉｒ_ＦＥＣｐａｙｌｏａｄ_ＩＤの値および各優先順位での復元シンボルの数に基づいてどの優先順位に属するかを確定することにより、シンボルブロックにおける復元シンボルの位置を調整し、同じ変化を達成する（図１７）。受信した異なる優先順位のデータパケットの数によって、ケースバイケースでデコードを行い、そのフローチャートを図１０に示す。最終的に復元されたソースデータを取得し、さらにヘッダにおけるｐａｃｋｅｔ_ｓｅｑｕｅｎｃｅ_ｎｕｍｂｅｒに基づいて得られたソースデータパケットを初期シーケンスに復元する（図１８）。
【００８１】
（実施例２．２）
図１２に示すように、以下のステップを含むことができる。
Ｓ１：符号化してパッケージされたデータパケットのヘッダを解析し、ＤＵ  ｈｅａｄｅｒにおけるｐｒｉｏｒｉｔｙフィールドを読み取り、実際の応用に応じて実際に採用される優先順位の数および各優先順位でのｐｒｉｏｒｉｔｙフィールドとのマッピング関係を確定する。
【００８２】
Ｓ２：分けられた優先順位およびマッピング関係に基づいて、オリジナルのソースデータストリームを優先順位に従って高から低に再配列し、各優先順位でのデータパケットの数を統計する（図１３）。
【００８３】
Ｓ３：再配列されたソースデータストリームに対して、システムＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化スキームを採用してＦＥＣ符号化を行い、復元データを生成する。
【００８４】
具体的には、前記中間データパケットに対して、ＲａｐｔｏｒＱシステムコードの自己適応ＦＥＣ符号化方式を採用してＦＥＣ符号化を行い、以下の中間コードワードを得る。
【数８４】
2020526979.tif 000087
ここで、Ａｉは、第ｉのソースデータパケットに対応するコーディング行列を示す。Ｃ１，Ｃ２，…，Ｃｉ…，ＣＮは、それぞれＮ種類のソースデータパケットの中間コードに対応する。Ｄ１，Ｄ２，…，Ｄｉ…，ＤＮは、それぞれＮ種類のソースデータパケットのデータに対応する。上付き−１は、逆行列の演算子である。
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにＦＥＣ  ｐａｙｌｏａｄ  ＩＤを追加する。前記復元データパケットにおける復元データは、以下の通りである。
【数８５】
2020526979.tif 000088
ここで、Ｒ１，Ｒ２，…，Ｒｉ…，ＲＮは、それぞれ１〜Ｎ個のソースデータパケットの復元データに対応する。Ｇ_ＥＮＣｉは、第ｉのソースデータパケットに対応するＬＴコーディング行列を示す。Ｇ_ＥＮＣ１ｉは、Ｇ_ＥＮＣ１と同じ生成ルールを有するＬＴコーディング行列を示す。Ｇ_ＥＮＣｉ１は、Ｇ_ＥＮＣｉと同じ生成ルールを有するＬＴコーディング行列を示す。ここで、ｉ＝１，２，…Ｎである。
【００８５】
Ｓ４：データパケットのヘッダ拡張において対応する指示情報を生成し、各優先順位でのデータパケットの数および各優先順位での対応する復元データパケットの数を指し示すことにより、受信端がデータを受信した後にデータを正確に復元することができる。詳細を表２に示す。
【００８６】
【表２】
2020526979.tif 000089
【００８７】
表２中、ｔｙｐｅ（１６ビット）は、現在のヘッダ拡張のタイプを示し、ここで、自己適応前方誤り訂正符号化に用いられる中間データパケットまたは復元データパケットを示す。ｌｅｎｇｔｈ（１６ビット）は、ｈｅａｄｅｒ_ｅｘｔｅｎｓｉｏｎの長さを示す。ＦＥＣｐｒｉｏｒｉｔｙ（８ビット）は、現在のデータパケットが属する優先順位を指示する。ｓｕｂ_ｅｎｃｏｄｅｄ_ｓｙｍｂｏｌ_ｉｄ（１６ビット）は、この優先順位での中間データパケットまたは復元データパケットの数のインデックを示す。Ｎ（８ビット）は、優先順位の総数を示す。ＳＳＢＬ［ｉ］（２４ビット）は、各優先順位のソースデータパケットの数を示し、ここで、ｉは第ｉの優先順位を指示する。ＲＳＢＬ［ｉ］（２４ビット）は、ｉ表示第ｉの優先順位，各優先順位の復元データパケットの数を示し、ここで、ｉは第ｉの優先順位を指示する。
【００８８】
図１９に示すように、ＦＥＣ各優先順位でのデータパケットの数に基づいて、下式によりソースデータに対応するコーディング行列の対応行のインデックを得る。
ｉｎｄｅｘ＝ＦＥＣ  ｐａｙｌｏａｄ  ＩＤ−ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔ。
【００８９】
ここで、ｉｎｄｅｘは、ソースデータのコーディング行列の対応行のインデックを示す。ＦＥＣ  ｐａｙｌｏａｄ  ＩＤは、データパケットのヘッダのインデック情報を示す。ｎｕｍｂｅｒ  ｏｆ  ｐａｃｋｅｔｓ  ｏｆ  ａｌｌ  ｐｒｉｏｒｉｔｉｅｓ  ｂｅｆｏｒｅ  ｔｈｉｓ  ｐａｃｋｅｔは、前記データパケットの前のすべての優先順位のデータパケットの総数を示す。
【００９０】
生成したＦＥＣコーディング行列に基づいて、コーディング行列を一次行変換し、対応して受信したデータパケットを配列し、ｒｅｐａｉｒ_ＦＥＣｐａｙｌｏａｄ_ＩＤの値および各優先順位での復元シンボルの数に基づいてどの優先順位に属するかを確定することにより、シンボルブロックにおける復元シンボルの位置を調整し、同じ変化を達成する（図１７）。受信した異なる優先順位のデータパケットの数によって、ケースバイケースでデコードを行い、そのフローチャートを図１０に示す。最終的に復元されたソースデータを取得し、さらにヘッダにおけるｐａｃｋｅｔ_ｓｅｑｕｅｎｃｅ_ｎｕｍｂｅｒに基づいて得られたソースデータパケットを初期シーケンスに復元する（図１８）。
【００９１】
本実施例において、サーバー側は、データストリームにおける異なるデータを重要度に応じて分割することにより、重要度が異なるデータを異なる保護を与えることができる。送信したデータパケットのヘッダ情報およびシグナリング情報により標識する。システムコードの方式を採用し、チャンネル状况およびデータの重要度に応じてシステムファウンテンコードのコーディング行列を自己適応的に調整することにより、重要度が異なるデータに対する不均一誤り保護を達成する。端末側でシグナリング情報およびヘッダ情報を解析し、受信した異なる優先順位のデータの数に応じて柔軟な復号化アルゴリズムを採用することで柔軟な符号化および復号化を達成し、ヘッダ情報に基づいてソースデータストリームを最終的に復元する。従って、以下の有益な効果が得られる。
【００９２】
１）資源が節約される。例えば、端末側（受信端）において場合によって受信したデータ（例えば、Ｂフレーム）を人為的に捨てると、伝送資源の浪費をもたらす。本実施例の方法によれば、ソース端から問題が解決され、望ましくないパケットを伝送過程でより大きな確率でロスさせることにより、重要なデータパケットがより大きな程度で保護される。
【００９３】
２）個性的な伝送方式が達成される。例えば、チャンネル状況、ユーザ体験などに基づいて不均一誤り保護の態様を設計することにより、ビデオ伝送がより柔軟で緻密になる。また、送信端の符号化方式が柔軟になっても、受信端は、リスト情報に基づいてオリジナルデータを復元することができる。
【００９４】
３）より柔軟なコーディング行列の設計が達成される。例えば、実際のメディアの応用シーンに応じて、メディア内容に基づいてデータの優先順位付けを行い、実際の必要に応じてＦＥＣコーディング行列をより柔軟に設計することができ、これによって、不均一誤り保護の効果が達成される。
【００９５】
４）より柔軟な復号化方式が達成される。例えば、受信した各優先順位のデータの数に応じて、異なる復号化アルゴリズムを採用することにより、限られた帯域幅資源下で、優先順位が高いデータが最大限に復元され、優先順位が比較的高いデータに対する保護強度が高くなる。
【００９６】
なお、本発明で提供されるメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法のステップは、メディア内容に基づく自己適応システムコードＦＥＣシステムにおける対応するモジュール、装置、ユニットなどにより達成される。当業者であれば、前記システムの技術スキームに基づいて前記方法のステップを実現することができる。つまり、前記システムにおける実施例は、前記方法を実現するための好適例として理解され得るので、ここで説明を省略する。
【００９７】
また、本発明は、コンピュータ読み取り可能な記憶媒体に適用できる。コンピュータ読み取り可能な記憶媒体にコンピュータプログラムを記憶し、プロセッサによる実行により前記実施例に記載のメディア内容に基づく自己適応システムコードＦＥＣ符号化および復号化方法のステップを実現する。
【００９８】
当業者に知られているように、ピュアコンピュータ可読プログラムコードの方式により本発明で提供されるシステムおよびその各装置、モジュール、ユニットを実現することに加えて、方法のステップを論理プログラミングすることにより、本発明で提供されるシステムおよびその各装置、モジュール、ユニットは、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび組み込みマイクロコントローラなどにより同じ機能を実現することができる。従って、本発明で提供されるシステムおよびその各装置、モジュール、ユニットは、ハードウェア部品と見なすことができ、それらの内部に含まれる各機能を達成するための装置、モジュール、ユニットは、ハードウェア部品内の構造と見なすことができる。さらに、各機能を達成するための装置、モジュール、ユニットは、方法を達成できるソフトウェアモジュールまたはハードウェア部品内の構造と見なすこともできる。
【００９９】
以上、本発明の具体的な実施例を説明した。需要理解的是，本発明は、前記特定の実施形態に限定されず、当業者は特許請求の範囲内において様々な変化または修正を行うことができ、これらの変化または修正は本発明の実質的な内容に提供を与えない。矛盾がない限り、本発明の実施例および実施例における特徴は、任意に組み合わせることができる。
【図１】
2020526979.tif 000133
【図２】
2020526979.tif 000134
【図３】
2020526979.tif 000135
【図４】
2020526979.tif 000136
【図５】
2020526979.tif 000137
【図６】
2020526979.tif 000138
【図７】
2020526979.tif 000139
【図８】
2020526979.tif 000140
【図９】
2020526979.tif 000141
【図１０】
2020526979.tif 000142
【図１１】
2020526979.tif 000143
【図１２】
2020526979.tif 000144
【図１３】
2020526979.tif 000145
【図１４】
2020526979.tif 000146
【図１５】
2020526979.tif 000147
【図１６】
2020526979.tif 000148
【図１７】
2020526979.tif 000149
【図１８】
2020526979.tif 000150
【図１９】
2020526979.tif 000151
【国際調査報告】
2020526979.tif 000152
2020526979.tif 000153
2020526979.tif 000154
2020526979.tif 000155