JP2023157921A - メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体 - Google Patents

メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体 Download PDF

Info

Publication number
JP2023157921A
JP2023157921A JP2023128800A JP2023128800A JP2023157921A JP 2023157921 A JP2023157921 A JP 2023157921A JP 2023128800 A JP2023128800 A JP 2023128800A JP 2023128800 A JP2023128800 A JP 2023128800A JP 2023157921 A JP2023157921 A JP 2023157921A
Authority
JP
Japan
Prior art keywords
data packet
intermediate data
types
subpackets
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2023128800A
Other languages
English (en)
Inventor
異凌 徐
Yiling Xu
文軍 張
Bungun Cho
寧 柳
Ning Liu
云峰 管
Yunfeng Guan
延峰 王
Yanfeng Wang
軍 孫
Jun Sun
志乾 姜
Zhiqian Jiang
浩 陳
Ho Jin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN201710561850.2A external-priority patent/CN109245850B/zh
Priority claimed from CN201710973473.3A external-priority patent/CN109687934B/zh
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Publication of JP2023157921A publication Critical patent/JP2023157921A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0043Realisations of complexity reduction techniques, e.g. use of look-up tables
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/118Parity check matrix structured for simplifying encoding, e.g. by having a triangular or an approximate triangular structure
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/356Unequal error protection [UEP]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Error Detection And Correction (AREA)
  • Communication Control (AREA)

Abstract

【課題】送信端前方誤り訂正(FEC)符号化の複雑さを低減し、FEC符号化の効率を向上し、より強い適応性を有するメディア内容に基づく自己適応システムコードFEC符号化及び復号化方法、装置、システム並びに媒体を提供する。【解決手段】方法は、メディア内容の重要度に応じてソースデータを優先順位に従ってN種類のソースデータパケットに分け、N種類のソースデータパケット及びその優先順位に基づいてN種類の中間コードを生成し、N種類の中間コードに基づいてチャンネル状况に応じてN種類のソースデータの復元データを設定してN種類のシステムコードの符号化シンボルを生成し、符号化シンボルを受信して復号化の必要に応じて符号化シンボルを整理して配列し、受信した符号化シンボルの数に応じて、ケースバイケースで中間コードワードを復号化して、中間コードに基づいて対応するソースデータパケットに復元する。【選択図】図5

Description

本発明は、中国特許出願CN201710973473.3(出願日:2017年10月18日、発明の名称:メディア内容に基づく自己適応システムコードFEC方法、装置およびシステム)および中国特許出願CN201710561850.2(出願日:2017年07月11日、発明の名称:メディア内容に基づく自己適応システムコードFEC符号化および復号化方法)の優先権を主張する。
本発明は、マルチメディア伝送技術分野に関し、具体的には、メディア内容に基づく自己適応システムコードFEC(Forward Error Correction、前方誤り訂正)符号化および復号化方法、装置、システムおよび媒体に関する。
ヘテロジニアスネットワークのメディアサービスシステムにおいて、内容は、インターネットプロトコルまたは放送プロトコルにより端末に送信される。インターネットでは、IP/TCPまたはUDPメッセージによりメディアデータを伝送し、放送では、MPEG2-TSにより内容を伝送する。UDPメッセージは、複数のネット機器を経過した後、ロスする恐れがある。放送TSストリームは、伝送環境の影響によりビットエラーが発生し、端末側の画面の破損または音声の中断をもたらす恐れがある。
FEC(Forward Error Correction、前方誤り訂正)技術は、通信システムにおいて幅広く応用されている符号化技術である。サーバー側は、メディアデータに対して誤り訂正の符号化を行い、さらに冗長情報を追加して送信し、端末側は、逆方向のFEC復号化を行い、紛失されたメッセージについて復元を行う。典型的なブロックシンボルを例にすれば、その基本原理は以下のとおりである。
送信端において、k bitの情報を一つのブロックとして符号化し、(n-k) bitの冗長校正情報を追加して、長さがn bitのコードワードを構成する。コードワードがチャネルを経て受信端に達した後、もし誤りが訂正可能な範囲内であれば、復号化によって誤りのbitを検査して訂正することができる。これにより、チャネルによりもたらした干渉に抵抗して、システムのビット誤り率を効果的に低減し、通信システムの信頼性を向上させる。しかしながら、FEC処理は冗長オーバーヘッドコストによりシステムのビット誤り率を低減するため、過剰なFEC符号化はシステムのリアルタイム性およびネットワークの状態に対してプレッシャーを与えることもある。
不均一誤り保護(Unequal Error Protection、UEP)は、ジョイントソースチャネルコーディングの一種である。その核心的な思想は、コードストリームの各部分のデータの異なる重要性に基づき、各部分のデータに対して異なるチャネル保護メカニズムを用い、即ち重要なコードストリームに対しては重点的に保護する。UEPは非重要なコードストリームのノイズに耐える性能を低下させるが、システムのビット誤りを防ぐ全体的な性能の向上には役立つ。
FEC(前方誤り訂正)符号化技術の一つとして、デジタルファウンテンコード(Digtial Fountain Code)は伝送過程において、フィードバックおよび自動再送信のメカニズムを必要としないため、信号送受信による時間遅延およびブロードキャスト応用におけるフィードバック爆発の問題を回避している。デジタルファウンテンの基本的な思想は、次のとおりである。送信端は、オリジナルデータをk個のデータシンボルに分割し、これらのデータシンボルについて符号化し、任意の長さの符号化シンボルのコードストリームを出力する。受信端は、n(nはkよりやや大きい)個の符号化シンボルを正確に受信するだけで全てのk個のデータシンボルを大きな確率で復元することができる。数字ファウンテンコードそれ自体は、UEP性能を有するので、重要性が異なるデータの保護を実現することができる。
従来技術の問題点に鑑みて、本発明は、メディア内容に基づく自己適応システムコードFEC符号化および復号化方法、装置、システムおよび媒体を提供することを目的とする。
(1)本発明に係るメディア内容に基づく自己適応システムコードFEC符号化および復号化方法は、
メディア内容の重要度に基づいて、ソースデータを優先順位に従ってN(1よりも大きい整数)種類のソースデータパケットに分けるステップと、
ソースデータおよびN種類のソースデータパケットの優先順位に基づいてN種類の中間コードを生成するステップと、
前記N種類の中間コードに基づいて、チャンネル状况に従ってN種類のソースデータの復元データを設定し、N種類の符号化シンボルを生成するステップと、
前記符号化シンボルを受信し、復号化の需要に応じて前記符号化シンボルを整理、配列し、前記符号化シンボルを復号化処理するステップと、
受信した符号化シンボルの状況に基づいて、先に優先順位が高い中間コードを復号化し、この中間コードに基づいて対応するソースデータパケットに復元するステップと、
を含む。
(2)好ましくは、前記ソースデータおよびN種類のソースデータパケットの優先順位に基づいてN種類の中間コードを生成するステップは、
N種類のソースデータパケットに対応するコーディング行列A(i=1,2,…N)を構成することを含み、
ここで、Aは、第iのソースデータパケットに対応するコーディング行列、G_pは、第iのソースデータパケットに対応するLDPC行列および単位行列からなる結合行列、G_ENCは、第iのソースデータパケットに対応するLTコーディング行列を示し、
N種類のソースデータパケットに対応するコーディング行列に基づいてソースデータのコーディング行列Aを構築し、前記ソースデータのコーディング行列は、以下の通りであり、
したがって、
であり、
ここで、C,C,…,C…,Cは、それぞれN種類のソースデータパケットの中間コードに対応し、D,D,…,D…,Dは、それぞれN種類のソースデータパケットのデータに対応し、上付き-1は、逆行列演算子である。
(3)好ましくは、前記N種類の中間コードに基づいて、チャンネル状况に応じて設定したN種類のソースデータの復元データは、
を含み、
ここで、R,R,…,R…,Rは、それぞれN個のソースデータパケットの復元データに対応し、G_ENC1iは、G_ENCと同じ生成ルールを有するLTコーディング行列を示し、G_ENCi1は、G_ENCと同じ生成ルールを有するLTコーディング行列を示す。i=1,2,…Nである。
(4)好ましくは、Nが2である場合、重要度が異なるデータに対して以下の対応する中間コードを生成することができ、
LTコーディング行列の構造を変更することでG_ENC11、G_ENC12、G_ENC21を得て、G_ENC12は、G_ENCの生成方式と同じであり、G_ENC21は、G_ENCの生成方式と同じであり、G_ENC11は、G_ENCと同じ生成方式を有するLTコーディング行列を示し、G_ENC21は、G_ENCと同じ生成方式を有するLTコーディング行列を示し、G_ENC12は、G_ENCと同じ生成方式を有するLTコーディング行列を示し、
得られた復元データRが優先順位1のデータにのみ関連し、復元データRが優先順位1および2のデータに関連する場合、
が得られる。
(5)好ましくは、Nが2である場合、前記符号化シンボルを受信し、前記符号化シンボルを復号化処理するステップは、
第1段階の復号化の時に、復元行列Wおよび受信したソースデータパケットに基づいて中間コードワードを得て、
ここで、
REV_G_ENCは、受信した符号化シンボルのパケットロス状況に応じてG_ENCにおけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC11は、受信した符号化シンボルのパケットロス状況に応じてG_ENC11におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC12は、受信した符号化シンボルのパケットロス状況に応じてG_ENC12におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENCは、受信した符号化シンボルのパケットロス状況に応じてG_ENCにおけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC21は、受信した符号化シンボルのパケットロス状況に応じてG_ENC21におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
にし、受信した対応優先順位でのソースデータパケットの数および受信したデータパケットの総数に基づいてデコードし、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
の行数が列数より少ない場合、C、Cはいずれも算出できず、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数よりも少なく、かつ、
の行数が列数以上である場合、
の行数が列数以上であると、REV_Aはリバーシブルであり、対応する逆行列はREV_A -1と記し、
が得られ、ここで、Cには解がなく、
ここで、REV_Dは、受信した優先順位1のソースデータ、REV_Rは、受信した優先順位1のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
の行数が列数以上である場合、
の行数が列数以上であると、REV_Aはリバーシブルであり、対応する逆行列はREV_A -1と記し、
の行数が列数以上であると、REV_Aはリバーシブルであり、対応する逆行列はREV_A -1と記し、REV_AおよびREV_Aがいずれもリバーシブルであると、REV_Aはリバーシブルであり、対応する逆行列はREV_A-1と記し、
であると、
であり、
が得られ、
の行数が列数よりも少ないと、REV_Aには逆行列が存在せず、
しか算出できず、
ここで、REV_Dは、受信した優先順位2のソースデータ、REV_Rは、受信した優先順位1および2のソースデータの復元データを示し、
受信した符号化シンボルの総数がソースデータで生成した符号化シンボルの数以上であり、かつ、
の行数が列数よりも少なく、
の行数が列数以上である場合、ガウスの消去法により行列REV_Aを直接解く、即ち、以下の線型方程式系を解くことにより、C、Cが得られる。
(6)好ましくは、一部のデータがロスしたので、受信した符号化シンボルに基づいて復元行列を生成する必要があり、つまり、ロスした符号化シンボルに対応する行列行を消去し、対応する復元行列(REV_G_ENCと記す)を生成し、受信したデータパケットの数に応じてケースバイケースで中間コードワードを生成し、具体的には、以下のステップA1~A4を含み、
(ステップA1)
l個の優先順位のデータパケットを受信した場合、以下の復元行列方程式が得られ、
復元行列方程式に対して一次行変換を行うことで、
が得られ、
ここで、
REV_G_ENCは、受信した符号化シンボルのパケットロス状況に応じてG_ENCにおけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC11は、受信した符号化シンボルのパケットロス状況に応じてG_ENC11におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC12は、受信した符号化シンボルのパケットロス状況に応じてG_ENC12におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENCは、受信した符号化シンボルのパケットロス状況に応じてG_ENCにおけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_G_ENC21は、受信した符号化シンボルのパケットロス状況に応じてG_ENC21におけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_Dは、受信した優先順位1のソースデータ、REV_Rは、受信した優先順位1のソースデータの復元データ、REV_Dは、受信した優先順位2のソースデータ、REV_Rは、受信した優先順位1および2ソースデータの復元データを示し、
REV_G_ENC1lは、受信した符号化シンボルのパケットロス状況に応じてG_ENC1lにおけるロスしたパケットに対応する行を除去した後のLTコーディング行列を示し、
REV_Dlは、受信した優先順位lのソースデータ、REV_Rは、受信した優先順位1からlのソースデータの復元データ、Cは、生成した第lの中間コードを示し、
(ステップA2)
とし、
R(i)を受信して拡張した後の第i(1≦i≦l)の符号化シンボルの数、L(i)を符号化端の各レベルのシンボルの長さとし、各レベルで生成した行列のランクを計算し、
eachRank(i)=min(Len(R(i)),sum(L(1:i))) 式中:eachRank(i)は、優先順位iのデータに対応するサブ行列のランクを示し、ここで、i=2である場合、対応するサブ行列は、
であり、Len(R(i))は、受信した優先順位iの符号化シンボルの数の長さを示し、sum(L(1:i))は、優先順位iのサブ行列の列数を示し、min()は、最小値演算を示し、
累積行列のランクを計算し、
cumRank(i)=min(cumRank(i-1)+eachRank(i),sum(L(1:i)))
ここで、cumRank(i)は、優先順位1から優先順位iに対応するサブ行列ランクの和を示す。cumRank(i-1)は、優先順位1から優先順位i-1に対応するサブ行列ランクの和を示し、
cumRank(1)=eachRank(1)
順にcumRank(i)>=sum(L(1:i))を判断し、成立した場合、cumFullRank(i)=1であり、成立しない場合、cumFullRank(i)=0であり、cumFullRank(i)は、優先順位1から優先順位iに対応するサブ行列からなる行列のフルランクを示し、
(ステップA3)
受信した各レベルの符号化シンボルの数に応じて、ケースバイケースでそれぞれ中間コードC、C…Cを求める。ここで、i初期値をlに設定し、
cumFullRand(i)==1&&cumFullRank(1:i)>0を満足した場合、RFC 6330復号化方法によりC~Cを解き、ここで、&&は、AND演算を示し、cumFullRank(1:i)は、優先順位1から優先順位iの各サブ行列からなる行列のフルランクを示し、Cは、優先順位1のデータに対応する中間コードワードを示し、Cは、優先順位iのデータに対応する中間コードを示し、
とし、
が得られ、
ここで、
であり、
ここで、REV_AΔiは、優先順位がiである場合の全てのサブ行列からなるフルランク行列を示し、B1_2は、サブ行列
を示し、X1_2は、サブ行列B1_2を逆演算した後のサブ行列を示し、Xa_bは、サブ行列Ba_bを逆演算して得られたサブ行列を示し、Ba_bは、サブ行列
を示し、aの範囲は1~iであり、bの範囲は2~iであり、A -1は、サブ行列
の逆行列を示し、
とし、ここで、
であり、REV_A -1は、REV_Aの逆行列である場合、
が得られ、
数学的帰納法により、
が得られ、C、C…Cが算出され、Ci+1…Cが算出できず、
cumFullRand(i)==1を満足し、cumFullRank(1:i)>0を満足しない場合、ガウス消去復号化法によりC~Cを解き、
とし、ガウスの消去法により解線型方程式系:
を解くことにより、C、C…Cを算出できるが、Ci+1…Cを算出できず、
任意のi値に対して、cumFullRand(i)==1を満足しない場合、対応するCiを算出できず、i==1までcumFullRank(1:i)>0も満足できない場合、C、C…Cはいずれも算出できず、復号化が失敗し、
(ステップA4)
iの値を1減らし、ステップA3に戻る。
(7)好ましくは、ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析し、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる優先順位にマッピングし、
サブパケットの優先順位に従って、サブパケットを再配列し、中間データパケットを得て、
前記中間データパケットを複数のシンボルsymbolに変換し、複数のシンボルsymbolに変換された中間データパケットに対して前方誤り訂正FEC符号化を行なった後、複数のシンボルsymbolを含む復元データパケットを得て、
前記復元データパケットにインデックスフィールドおよび/または優先順位指示フィールドを追加し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、前記中間データパケットにもインデックスフィールドおよび/または優先順位指示フィールドを追加し、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンスおよび/または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示し、
前記復元データパケットおよび中間データパケットに対応する指示情報を追加し、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信し、前記指示情報は、復元データパケットの各優先順位でのサブパケット、対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を示し、
端末側に指示情報を含む復元データパケット、中間データパケットを送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する、
ステップをさらに含む。
(8)好ましくは、ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析することは、
各サブパケットのヘッダにおけるpriorityフィールドを読み取り、前記priorityフィールドにおける情報に基づいて対応するサブパケットの優先順位を確定することを含む。
(9)好ましくは、重要な情報に基づいて前記ソースデータパケットにおけるサブパケットをそれぞれ異なる所定の優先順位にマッピングすることは、
前記ソースデータパケットで実際に使用される優先順位の数および各優先順位での前記priorityフィールドとのマッピング関係を確定すること、および
前記マッピング関係に基づいて、サブパケットを対応する所定の優先順位にマッピングすることを含む。
(10)好ましくは、前記中間データパケットを複数のシンボルsymbolに変換し、複数のシンボルsymbolに変換された中間データパケットに対して前方誤り訂正FEC符号化を行なった後、複数のsymbolを含む復元データパケットを得ることは、 前記中間データパケットに対して、RaptorQシステムコードの自己適応FEC符号化方式によりFEC符号化を行い、以下の中間コードワードを得ること、および
ここで、Aiは、第iのソースデータパケットに対応するコーディング行列を示し、C,C,…,C…,Cは、それぞれN種類のソースデータパケットの中間コードに対応し、D,D,…,D…,Dは、それぞれN種類のソースデータパケットのデータに対応し、上付き-1は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにFEC payload IDを追加することを含み、ここで、前記復元データパケットにおける復元データは以下の通りであり、
ここで、R,R,…,R…,Rは、それぞれ1~N個のソースデータパケットの復元データに対応し、G_ENCは、第iのソースデータパケットに対応するLTコーディング行列を示し、G_ENC1iは、G_ENC1と同じ生成ルールを有するLTコーディング行列を示し、G_ENCi1は、G_ENCiと同じ生成ルールを有するLTコーディング行列を示し、i=1,2,…Nである。
(11)本発明に係るメディア内容に基づく自己適応システムコードFEC符号化および復号化方法は、
サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報は、復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
前記コーディング行列に対して前方誤り訂正FEC復号化を行い、中間データパケットに復元し、
前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケット的シーケンスを再配列し、ソースデータパケットに復元する、
とのステップを含む。
(12)好ましくは、前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析することは、
以下の一般式によりソースデータに対応するコーディング行列の対応行インデックスフィールドを得ることを含み、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、indexは、ソースデータに対応するコーディング行列の対応行インデックを示し、FEC payload IDは、データパケットのヘッダのインデック情報を示し、number of packets of all priorities before this packetは、このデータパケットの前の全ての優先順位のデータパケット総数を示す。
(13)好ましくは、前記コーディング行列に対して前方誤り訂正FEC復号化を行い、中間データパケットに復元することは、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルsymbolを配列し、復元されたデータパケットのヘッダのインデック情報FECpayload_IDの値および対応優先順位でのシンボルsymbolの数に基づいてこのシンボルsymbolが属する優先順位および変換後の位置を確定すること、或いは 復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルsymbolが属する優先順位および変換後の位置を確定すること、
復元データパケットにおけるシンボルsymbolのシーケンスを調整し、ガウス消去デコーダおよびRFC6330デコーダにより復号化することにより、復元された複数のsymbolを含む中間データパケットを得ること、および
複数のsymbolを含む中間データパケットを中間データパケットに変換すること、 を含む。
(14)本発明に係るメディア内容に基づく自己適応システムコードFEC符号化および復号化装置は、
ソースデータパケットにおける各サブパケットのヘッダの重要な情報を解析する解析モジュールと、
前記重要な情報に基づいて、前記ソースデータパケットにおける各サブパケットをそれぞれ異なる所定優先順位にマッピングするマッピングモジュールと、
所定優先順位に基づいてサブパケットを再配置することにより中間データパケットを得る配列モジュールと、
前記中間データパケットを複数のシンボルsymbolに変換し、複数のsymbolに変換された中間データパケットに対して前方誤り訂正FEC符号化を行うことで、複数のsymbolを含む復元データパケットを得る符号化モジュールと、
前記復元データパケットにインデックスフィールドおよび/または優先順位指示フィールドを加え、前記インデックスフィールドは、復元データパケットにおけるサブパケットのシーケンスおよび/または復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであり、前記中間データパケットにインデックスフィールドおよび/または優先順位指示フィールドを加え、前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンス、および/または中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであるインデックモジュールと、
前記復元データパケットおよび中間データパケットに対応する指示情報を加え、または復元データパケットおよび中間データパケットを送信するときに対応する指示情報を送信する指示情報生成モジュールであって、前記指示情報は、復元データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記復元データパケットにおける割合を指示し、前記指示情報は、中間データパケットの各優先順位でのサブパケット、および対応する優先順位に属するサブパケットの数または前記サブパケットの前記中間データパケットにおける割合を指示する指示情報生成モジュールと、
端末側に前記復元データパケット、中間データパケットおよび対応するシグナリング情報を送信し、または端末側に復元データパケット、中間データパケットおよび対応する指示情報を送信する送信モジュールと、
を含む。
(15)好ましくは、前記符号化モジュールは、具体的には、
前記中間データパケットに対してRaptorQシステムコードの自己適応FEC符号化方式によりFEC符号化を行うことで、以下の中間コードワードを取得し、
ここで、Aは、第iのソースデータパケットに対応するコーディング行列を示し、C,C,…,C…,Cは、それぞれN種類のソースデータパケットの中間コードに対応し、D,D,…,D…,Dは、それぞれN種類のソースデータパケットのデータに対応し、上付き-1は、逆行列演算子であり、
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにFEC payload IDを追加し、ここで、前記復元データパケットにおける復元データは、次の通りであり、
ここで、R,R,…,R…,Rはそれぞれ1~N個のソースデータパケットの復元データに対応し、G_ENCは、第iのソースデータパケットに対応するLTコーディング行列を示し、G_ENC1iは、G_ENCと同じ生成ルールを有するLTコーディング行列を示し、G_ENCi1は、G_ENCと同じ生成ルールを有するLTコーディング行列を示し、i=1,2,…Nである。
(16)本発明に係るメディア内容に基づく自己適応システムコードFEC符号化および復号化装置は、受信モジュールと、コーディング行列生成モジュールと、復号化モジュールと、復元モジュールとを含み、
受信モジュールは、サーバーが送信した復元データパケット、中間データパケットを受信し、または復元データパケット、中間データおよび対応する指示情報を受信し、
コーディング行列生成モジュールは、前記復元データパケットおよび中間データパケットに含まれるインデックスフィールドを解析し、前記インデックスフィールドに基づいてコーディング行列を生成し、前記インデックスフィールドが復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、或いは
復元データパケットおよび中間データパケットの優先順位指示フィールドによりインデック情報を直接取得し、前記インデック情報に基づいてコーディング行列を生成し、前記インデック情報が復元データパケットにおけるサブパケットのシーケンス、および中間データパケットの各優先順位でのサブパケットを指示し、
復号化モジュールは、前記コーディング行列に対して前方誤り訂正FEC復号化を行い、中間データパケットに復元し、
復元モジュールは、前記中間データパケットのヘッダにおける情報を解析し、前記中間データパケットのサブパケットのシーケンスを再配列し、ソースデータパケットに復元する。
(17)好ましくは、前記コーディング行列生成モジュールは、具体的には、
以下の一般式によりソースデータに対応するコーディング行列の対応行のインデックスフィールドを得て、
index=FEC payload ID-
number of packets of all priorities before this packet
ここで、indexは、ソースデータに対応するコーディング行列の対応行インデックを示し、FEC payload IDは、データパケットのヘッダのインデック情報を示し、number of packets of all priorities before this packetは、このデータパケットの前の全ての優先順位のデータパケット総数を示す。
(18)好ましくは、前記復号化モジュールは、具体的には、
前記コーディング行列を一次行変換し、受信した対応復元データパケットにおけるシンボルsymbolを配列し、復元されたデータパケットのヘッダのインデック情報FECpayload_IDの値および対応優先順位でのシンボルsymbolの数に基づいてこのシンボルsymbolが属する優先順位および変換後の位置を確定し、或いは
復元データパケットのヘッダにおける優先順位フィールドおよびこの優先順位フィールドに対応する優先順位でのインデック情報に基づいて、シンボルsymbolが属する優先順位および変換後の位置を確定し、
復元データパケットにおけるシンボルsymbolのシーケンスを調整し、ガウス消去デコーダおよびRFC6330デコーダにより復号化することにより、復元された複数のsymbolを含む中間データパケットを取得し、
複数のsymbolを含む中間データパケットを中間データパケットに変換する。
(19)本発明に係るメディア内容に基づく自己適応システムコードFEC符号化および復号化システムは、サーバーおよび少なくとも1つの端末を含み、前記サーバーは、上記(7)~(10)のいずれか1つに記載のメディア内容に基づく自己適応システムコードFEC符号化および復号化方法を実行し、前記端末は、上記(11)~(13)のいずれか1つに記載のメディア内容に基づく自己適応システムコードFEC符号化および復号化方法を実行する。
(20)本発明は、コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体をさらに提供する。前記コンピュータプログラムは、プロセッサにより実行されることにより、上記(7)~(13)のいずれか1つに記載の画像に基づくストライプ生地の検出位置決めクロッピング方法のステップを実行する。
従来技術に比べて、本発明は、以下の有益な効果を有する。
本発明に係るメディア内容に基づく自己適応システムコードFEC方法は、メディア内容の重要度に応じて優先順位に従って配列し、不均一誤り保護(UEP)を採用することにより、メディア内容の品質が最大限に保証されるとともに、FECによるデータ冗長が減少される。また、システムコードの符号化および復号化がより柔軟になり、ソースデータストリームをマルチストリーム化する必要がないため、送信端FEC符号化の複雑さが低減され、FEC符号化の効率が向上される。さらに、現在のネットワーク状態の変化に基づいて符号化スキームを調整することができるため、時変ネットワークに対してより強い適応性を有する。
以下の図面により非制限的な実施例を詳しく説明することにより、本発明の他の特徴、目的および利点は、より明確になる。
メディアソースデータに対するFEC二層構造の模式図である。 画像群における各フレームの依存関係の模式図である。 画像群における各フレームの依存関係の模式図である。 ファウンテンコードの不均一誤り保護符号化スキームの模式図である。 ファウンテンコードの不均一誤り保護のシステム構成の模式図である。 システムRaptorQコードのコーディング行列の構造模式図である。 システムRaptorQコードの不均一誤り保護のコーディング行列の構造模式図である。 LTコーディング行列の不均一誤り保護構造の模式図である。 複数の優先順位の不均一誤り保護システムファウンテンコード符号化のフローチャートである。 複数の優先順位の不均一誤り保護システムファウンテンコード復号化のフローチャートである。 メディア内容に基づく自己適応システムコードFECシステムのフレーム図である。 各優先順位のマッピング関係の模式図である。 優先順位に従ってデータパケットストリームを再配列する模式図である。 FEC符号化後のソースデータパケットおよび復元データパケットに対する処理フローチャートである。 受信端がシグナリング情報およびデータパケット情報を解析する模式図である。 受信したデータパケットに基づいてコーディング行列を生成する模式図である。 受信したデータパケットを処理するフローチャートである。 復元データパケットストリームの初期シーケンスの結果の模式図である。 受信端がデータパケットのヘッダ情報を解析する模式図である。
以下、具体的な実施形態を例示しながら、本発明について詳細に説明する。以下の実施形態は、いわゆる当業者が本発明をより理解しやすくするための例示であり、いかなる形式で本発明を限定するものではない。また、いわゆる当業者であれば、本発明の要旨から逸脱しない範囲内において、様々な変形や改良を行うことができ、これらも本発明の保護範囲に属することには注意されたい。
以下、本明細書で用いられる用語を解釈する。
1)不均一誤り保護(Unequal Error Protection、UEP)、ジョイントソースチャネルコーディングの一種である。その核心的な思想は、コード
ストリームの各部分のデータの異なる重要性に基づき、各部分のデータに対して異なるチャネル保護メカニズムを用い、即ち重要なコードストリームに対しては重点的に保護する。UEPは非重要なコードストリームのノイズに耐える性能を低下させるが、システムのビット誤りを防ぐ全体的な性能の向上には役立つ。
2)デジタルファウンテンコード(Digtial Fountain Code)は、伝送過程において、フィードバックおよび自動再送信のメカニズムを必要としないため、信号送受信による時間遅延およびブロードキャスト応用におけるフィードバック爆発の問題を回避している。デジタルファウンテンの基本的な思想は、以下のとおりである。送信側は、オリジナルデータをk個のデータシンボルに分割し、これらのデータシンボルについて符号化し、任意の長さの符号化シンボルのコードストリームを出力する。受信側は、n(nはkよりやや大きい)個の符号化シンボルを正確に受信するだけで全てのk個のデータシンボルを大きな確率で復元することができる。
デジタルファウンテンコード自体はUEP特性を有しており、重要性の異なるデータに
対する保護を実現することができる。従来の固定ビットレートのチャネル符号化方法に比べ、デジタルファウンテンコードは明らかに以下の優位性を有する。
a、理想的な拡張可能性を有する。単方向ブロードキャストはフィードバックがないため、送信側はユーザー数の増加によっていかなる影響も受けない。したがって、送信側は任意の数のユーザーにサービスを提供することができる。
b、経時変化のチャネルに適し、チャネルの容量を効率的に利用する。ユーザーの復号化特性は、チャネルの削除確率および帯域幅に関連しない。チャネルのパケットロス率が高く、状況が悪い場合でも、受信側の復号化に影響を与えることなく、即ち受信側は十分な数の符号化データさえ受信すれば正常に復号化することができ、より高い適応性を有する。
c、符号化と復号化の複雑度が低い。理想的な状況において、ファウンテンコードにより生成される各符号化シンボルは、線形の符号化と復号化の複雑度を有している。したがって、送受信側のコーデックの設計の簡略化およびソフトウェア化の実現に役立つ。
d、ヘテロジニアスなユーザーに対する適用性が高い。ファウンテンコードのビットレートレス特性は、異なるパケットロス率または帯域幅を有するユーザー同士が互いに影響せず、高品質のユーザーが低品質のユーザーの影響を受けないようにする。この他、デジタルファウンテンコードは、中断後の伝送再開、非同期アクセス等の複数のサービスモードをサポートする。
図1は、メディアリソースデータのFEC二層構造である。図1に示すように、第一層ではsource packet blockを多くの小さいブロックに分割し、それぞれについてFEC保護を行い、第二層ではブロック全体に対してFEC保護を行う。第一層における分割が細かいため、小さい遅延を提供することができ、第二層では復元性および小さい冗長を保証している。しかしながら、この方法では、FEC符号化を2回行う必要があるので、符号化の効率が低下し、柔軟性が不十分である。
1つのデータストリームは、その内容に応じて異なるタイプのデータパケットに分けることができる。異なるタイプのデータパケットは、異なる重要度を有する。例えば、データパケットにおけるI、B、Pフレームの重要度を図2、3に示す。1つの画像群における各フレームの依存関係は、1つの画像群における異なるフレームの依存程度および重要度が異なることを示し、Iフレームは、最も重要であり、B、Pフレームの重要度が比較
的低い。そのため、データ内容の重要性に基づいて不均一誤り保護を行うことができる。具体的には、2つの重要レベルを有するソースデータを伝送する状況を考慮する場合、ソースデータを前記標準に従って区画し、重要度に従って再配列し、システムファウンテンコードコーディング行列の構造を変更することにより、異なる内容に対する不均一誤り保護を実現する。そのシステムの基本的な構成を図5に示す。システムファウンテンコードの不均一誤り保護符号化により生成したデータを図4に示す。
[実施例1]
本実施例では、RaptorQシステムコードを例とし、システムRaptorQコードのコーディング行列の構造を図6に示す。ここで、Dがソースデータ、Cが中間コード、G_LDPCがLDPC行列、I_S、I_Hが単位行列、G_ENCがLTコーディング行列を表示する場合、コーディング行列は、以下のように表され得る。
FEC符号化を行うときに、ソースデータおよび図6に示されるコーディング行列から中間コードを生成する。
さらに、コーディング行列におけるLT行列および得られた中間コードに基づいてソースデータおよび復元データを生成する。Rは符号化して得られた復元データを示し、G_ENC’はG_ENCと同じ生成方式により生成したLT行列である。
上記方法によりソースデータを符号化する場合には、ソースデータに対して優先順位付けを行い、不均一誤り保護符号化を採用することができないため、コーディング行列AおよびLT行列G_ENCの行列構造を改めて設計する必要がある。ソースデータに優先順位が異なる2つのデータがある場合を例とし、優先順位をそれぞれ優先順位1、優先順位2に設定し、ソースデータにおける優先順位が異なるデータを区分し、それぞれに異なる冗長度を割り当てることにより、不均一誤り保護の効果が達成される。
<符号化過程>
そのコーディング行列構造を図7に示す。そのコーディング行列を一般式(6)で表す。ここで、G_ENCとG_ENCは、異なるルールで生成したコーディング行列であり、重要なデータの保護を保証するために、G_ENC行列の度分布を高めることができる。
このようにして、重要度が異なるデータに対して対応する中間コードを生成することができる。
重要度が異なるデータに対する不均一誤り保護を達成するために、図8に示すようにLTコーディング行列の構造を変更することで、重要なデータを保護するための冗長データを増加させることができる。ここで、G_ENC’とG_ENCは、生成方式が同じであり、G_ENC’とG_ENCは、生成方式が同じである。得られた復元データR1は、優先順位が1のデータにのみ関連し、復元データRは、優先順位が1および2のデータに関連する。これによって、重要データの冗長度が高くなり、それに対する保護強度が高くなる。チャネル条件の制限により、データの総冗長度が限られ、生成されるR1とR2の比は、[G_ENC’ 0]と[G_ENC’’ G_ENC’]の行数比により確定されるので、[G_ENC’ 0]の行数を増加することにより優先順位が1のデータに対する保護強度を向上させることができる。
<復号化過程>
損失チャネル(Lossy channel)を経過した後、一部のデータパケットがロスするので、受信したシンボルISIに基づいて復元行列を生成するために、ロスシンボルISIに対応する行列の行を消去する必要がある。例えば、行列REV_G_ENCの場合、受信したREV_Dおよび送信端のDに基づいて、ロスデータのISIを得ることができ、これによって、G_ENCに対応する行を削除することができる。符号化過程と同様に、第1段階の復号化の際に、復元行列および受信したデータパケットに基づいて中間コードワードを得る。
上記行列方程式を一次行変換して以下の形式を得る。
ここで、
にし、受信した各優先順位でのデータパケットの数および受信したデータパケットの総数に基づいてケースバイケースで復号化する。
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも少なく、かつ、
行数は列数よりも少なく、C、Cはいずれも算出できない。
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも少ないが、
の行数は列数以上である。
の行数が列数以上である場合、REV_Aはリバーシブルであり、その逆行列はREV_A -1と記し、
は算出されるが、Cは算出できない。
受信した符号化シンボルの総数はソースデータ符号化シンボルの数よりも大きく、かつ
の行数は列数以上である。
の行数が列数以上である場合、REV_Aはリバーシブルであり、その逆行列はREV_A -1と記す。
の行数が列数以上である場合、REV_Aはリバーシブルであり、その逆行列はREV_A -1と記し、
であり、
であることが分かる。これによって、
となる。
しかし、
の行数が列数よりも小さい場合、REV_Aには逆行列がなく、
しか算出できない。
受信した符号化シンボルの総数がソースデータ符号化シンボルの数以上である場合、
の行数が列数よりも小さいが、
の行数が列数よりも大きい。
ガウスの消去法により行列REV_Aを直接解き、即ち、以下の線型方程式系を解くことにより、C、Cが求められる。
上記デコード過程の第1段階から分かるように、如何なる場合においてもまずCを正確に算出する必要がある。中間コードワードCおよびCは、デコードの第2段階でソースデータの重要なデータを復元するので、Cのデコード成功率を高めることにより、ソースデータの正確な復元の確率が高くなる。
得られた中間コードワードに基づいてシステムコード符号化シンボルを生成する。
第1段階でC、Cが算出できない場合、復号化が失敗し、ソースシンボルが復号化されない。Cのみが算出できる場合、優先順位が高いソースデータDが正確に復号化されることを保証することができる。C、Cがともに算出される場合、上式により最終的なソースコードDおよびDを得ることができる。
また、この実施形態は、2つの優先順位のシーンにのみ適用するだけではなく、複数の優先順位のソースデータにも適用される。具体的な過程は、以下の通りである。
<符号化過程>
まず、ソースデータおよびソースデータの優先順位に基づいて中間コードワードを生成する。ソースデータがl個のデータパケットに分けられる場合、
が得られる。式(16)により中間コードワードC,C,…,Cが得られる。
得られた中間コードワードに基づいてソースデータおよび復元データを生成する。
符号化過程全体を図9に示す。ソースデータおよび復元データを送信端より受信端に送信し、チャンネル減衰のため、一部のデータがロスする可能性があり、受信端がデータを受信した後、受信したデータの状況に基づいて復号化してソースデータを復元する。
<復号化過程>
一部のデータがロスしたので、受信したシンボルISIに基づいて復元行列を生成する必要がある。つまり、ロスしたシンボルISIに対応する行列行を消去し、対応する行列(REV_G_ENCと記す)を生成する。受信したデータの数に応じて、ケースバイケースで中間コードワードを生成する。
上の行列方程式を一次行変換して以下の形式が得られる。
とし、R(i)(1≦i≦l)を受信して拡張した後の第iレベルのシンボル数、L(i)を符号化端の各レベルのシンボルの長さとし、i=1:lに対して、各レベルで生成した行列のランクeachRank(i)=min(Len(R(i)),sum(L(1:i)))を計算し、さらに、累積行列のランクcumRank(i)=min(cumRank(i-1)+eachRank(i),sum(L(1:i)))を計算する。ここで、cumRank(1)=eachRank(1)である。順にcumRank(i)>=sum(L(1:i))を判断し、成立した場合、cumFullRank(i)=1であり、成立しない場合、cumFullRank(i)=0である。以下、受信した各レベルのシンボル数に応じて、ケースバイケースで中間コードC、C…Cを求める。ここで、i初期値をlに設定する。
cumFullRand(i)==1&&cumFullRank(1:i)>0を満足した場合、RFC 6330復号化方法によりC(1)~C(i)を解く。
とすると、
である。ここで、
である。さらに、中間コードは、下式により得られる。
さらに、数学的帰納法により
、C…Cが算出できるが、Ci+1…Cが算出できない。
cumFullRand(i)==1を満足し、cumFullRank(1:i)>0を満足しない場合、ガウス消去復号化法によりC(1)~C(i)を解く。
とすると、ガウスの消去法により線型方程式系:
を解くことにより、C、C…Cを算出できるが、Ci+1…Cを算出できない。
あるi値の場合、cumFullRand(i)==1を満足しない場合、対応するCを算出できない。i==1まで前記2つの条件のいずれも満足できない場合、C、C…Cはいずれも算出できず、復号化が失敗する。
i=i-1を引き続き循環させ、即ちi=l:-1:1にすることにより、上記過程を繰り返す。
復号化プロセス全体を図10に示す。
本実施例の方法によれば、資源が有効に節約される。受信端で、場合によって受信したデータ(例えば、Bフレーム)を人為的に捨てると、伝送資源の浪費をもたらす。上記実施形態によれば、ソース端から問題が解決され、望ましくないパケットを伝送過程でより大きな確率でロスさせることにより、重要なパケットがより大きな程度で保護される。
本実施例の方法によれば、個性的な伝送方式が提供される。チャンネル状況、ユーザ体験などに基づいて不均一誤り保護の態様を設計することにより、ビデオ伝送がより柔軟で緻密になる。また、送信端の符号化方式が柔軟になっても、受信端は、リスト情報に基づいてオリジナルデータを復元することができる。
本実施例の方法によれば、より柔軟なコーディング行列の設計が提供される。実際のメディアの応用シーンに応じて、メディア内容に基づいてデータの優先順位付けを行い、実際の必要に応じてFECコーディング行列をより柔軟に設計することができ、これによって、不均一誤り保護の効果が達成される。
本実施例の方法によれば、より柔軟な復号化方式が提供される。受信した各優先順位のデータの数に応じて、異なる復号化アルゴリズムを採用することにより、限られた帯域幅資源下で、優先順位が高いデータが最大限に復元され、優先順位が比較的高いデータに対する保護強度が高くなる。
[実施例2]
ソースデータパケットにおける各サブパケットをそれぞれ異なる所定優先順位にマッピングし、または実施例1と実施例2とを組み合わせることができる。具体的には、以下の通りである。
図11は、メディア内容に基づく自己適応システムコードFECシステムのフレーム図である。前記システムは、サーバーおよび少なくとも1つの端末を含む。まず、サーバー側は、実際の応用シーンおよびメディア内容に基づいて複数の優先順位を分け、データパケットのヘッダにおける前記データパケットに関連する重要な情報を解析し、各データパケットを異なる優先順位にマッピングする。さらに、優先順位状況およびマッピング関係に基づいて、前方誤り訂正符号化(FEC)を必要とするデータパケットを優先順位に従って高から低に再配列する。再配列されたソースデータに対して、実際のチャンネル状況に応じて、不均一誤り保護のFEC符号化方式により符号化を行い、復元データ(repair symbols)を生成する。FEC符号化終了後に、ソースデータパケットおよび復元データパケットに現在のデータパケットシーケンスを指示するインデックスフィールドを加える。各優先順位でのソースデータおよび復元データを統計し、対応するシグナリング情報を生成し、シグナリングにおいて各優先順位でのデータパケットの数または割合、および各優先順位で対応する復元データの数または割合を指示することにより、受信端がデータを受信した後にデータを正確に復元することができる。最後に、ソースデータパケット、復元データパケットおよびシグナリングを端末(クライアントまたは受信端)に送信する。
対応するように、端末側は、まずシグナリング情報および受信したデータパケットにおけるインデックスフィールドを解析し、各優先順位で受信したソースデータパケットおよび復元データパケットの数および対応するデータパケットインデックを得る。さらに、得られたデータパケットインデック情報に基づいて受信端でコーディング行列を生成する。最後に、生成したコーディング行列に基づいてケースバイケースでFEC復号化を行い、ソースデータパケットを復元する。復元したソースデータパケットのシーケンスが再配列されたシーケンスであるので、データパケットのヘッダにおけるソースデータパケットのシーケンスを解析し、ソースデータパケットを再配列することにより、ソースデータパケットの初期データが得られる。
以下、具体的な実施例により本発明の実施形態を詳しく説明する。以下の具体的な実施例は互いに組み合わせることができ、同じまたは類似の概念または過程は、いくつかの実施例は省略される。
(実施例2.1)
図12に示すように、以下のステップを含むことができる。
S1:符号化してパッケージされたデータパケットのヘッダを解析し、DU headerにおけるpriorityフィールドを読み取り、実際の応用に応じて実際に採用される優先順位の数および各優先順位でのpriorityフィールドとのマッピング関係を確定する。
S2:分けられた優先順位およびマッピング関係に基づいて、オリジナルのソースデータストリームを優先順位に従って高から低に再配列し、各優先順位でのデータパケットの数を統計する(図13)。
S3:再配列されたソースデータストリームに対して、システムRaptorQシステムコードの自己適応FEC符号化スキームを採用してFEC符号化を行い、復元データを生成する。
具体的には、前記中間データパケットに対して、RaptorQシステムコードの自己適応FEC符号化方式を採用してFEC符号化を行い、以下の中間コードワードを得る。
ここで、Aは、第iのソースデータパケットに対応するコーディング行列を示す。C,C,…,C…,Cは、それぞれN種類のソースデータパケットの中間コードに対応する。D,D,…,D…,Dは、それぞれN種類のソースデータパケットのデータに対応する。上付き-1は、逆行列の演算子である。
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにFEC payload IDを追加する。前記復元データパケットにおける復元データは、以下の通りである。
ここで、R,R,…,R…,Rは、それぞれ1~N個のソースデータパケットの復元データに対応する。G_ENCは、第iのソースデータパケットに対応するLTコーディング行列を示す。G_ENC1iは、G_ENCと同じ生成ルールを有するLTコーディング行列を示す。G_ENCi1は、G_ENCと同じ生成ルールを有するLTコーディング行列を示す。ここで、i=1,2,…Nである。
FECエンコーダーから出力されたデータストリーム(再配列された後のデータストリーム)に基づいてソースデータパケットおよび復元データパケットを生成し、FEC payload IDを追加する(図14)。
S4:AL-FEC messageを生成し、シグナリングにおいて各優先順位でのデータパケットの数および各優先順位での対応する復元データパケットの数を指し示すことにより、受信端がデータを受信した後にデータを正確に復元することができる。具体的なシグナリングを表1に示す。
表1において、number_of_priorityは優先順位の数を示す。feCpriority_value(8ビット)は、各優先順位に対応する値を示し、この値が多くともDU headerにおけるpriorityで定義された優先順位と同じであってもよく、複数のDU headerにおけるpriorityに対応してもよい。number_of_source_symbol(16ビット)は、優先順位がfeCpriority_valueで示される値でのソースシンボルの数を示す。number_of_repair_symbol(16位)は、優先順位がfeCpriority_valueで示される値での復元シンボルの数を示す。private_feCflagは、指示ビットであり、プライベートFEC符号化スキームを使用するか否かを明示する。private_flagは、指示ビットであり、使用されるプライベートFEC符号化スキームを記述する1つのprivate_fieldが存在するか否かを明示する。private_field_lengthは、プライベートFEC符号化スキームのフィールドの長さを記述する長さフィールドである。private_fieldは、プライベートFECスキームの詳細情報を記述する。priority_idは、MMTパケットの優先順位を指示する優先順位idである。feCcode_id_for_repair_flowは、使用されるFEC符号化スキームを記述する。repair_flow_id(8ビットの整数)は、生成したFEC repair flowとFEC repairパケットのヘッダにおけるpacket idとの間に対応関係を有することを示す。maximum_k_for_repair_flow(24ビットの整数)は、source sysmbolブロックにおけるsource symbolの最大数を示す。maximum_p_for_repair_flow(24ビットの整数)は、repair sysmbolブロックにおけるrepair symbolの最大数を示す。protection_window_timeは、FEC符号化において最初のsourceまたはrepairパケットの送信と、最後のsourceまたはrepairパケットの送信との間の最大時間差を示す保護ウィンドウ時間(単位:ミリ秒)である。protection_window_sizeは、FEC符号化ストリームにおいて最初のFECパケットを送信する負荷と最後のFECパケットを送信する負荷との間の最大カウント値を示す保護ウィンドウ値である。
図15に示すように、FEC各優先順位でのデータパケットの数に基づいて、下式によりソースデータに対応するコーディング行列の対応行のインデックを得る。
index=FEC payload ID-number of packets of all priorities before this packet。
式中、indexは、ソースデータのコーディング行列の対応行のインデックを示す。FEC payload IDは、データパケットのヘッダのインデック情報を示す。number of packets of all priorities before this packetは、前記データパケットの前のすべての優先順位のデータパケットの総数を示す。
ここで、各優先順位の数が100である4つの優先順位を例として説明する(図16)。source_FECpayload_IDは、再配列された後のソースデータパケットのシーケンスに従って配列したものである。優先順位が1である場合、現在のsource_FECpayload_IDに基づいてコーディング行列を生成するISI(インデック)を直接確定することができる。優先順位が1よりも大きい場合、ヘッダを解析する際に、そのsource_FECpayload_IDの値および各優先順位でのソースシンボルの数に基づいてどの優先順位に属するかを確定することができる。例えば、source_FECpayload_ID=108である場合、優先順位2に属することを確定することができ、上記一般式によりそのISI=8であることが分かる。復元データパケットについては、ヘッダにおけるrepair_FECpayload_IDに基づいて生成行列のISIを確定することができる。送信端と受信端は同じFEC符号化メカニズムを採用するので、前記2つのインデックに基づいて対応するコーディング行列を生成することができる。
生成したFECコーディング行列に基づいて、コーディング行列を一次行変換し、対応して受信したデータパケットを配列し、repair_FECpayload_IDの値および各優先順位での復元シンボルの数に基づいてどの優先順位に属するかを確定することにより、シンボルブロックにおける復元シンボルの位置を調整し、同じ変化を達成する(図17)。受信した異なる優先順位のデータパケットの数によって、ケースバイケースでデコードを行い、そのフローチャートを図10に示す。最終的に復元されたソースデータを取得し、さらにヘッダにおけるpacket_sequence_numberに基づいて得られたソースデータパケットを初期シーケンスに復元する(図18)。
(実施例2.2)
図12に示すように、以下のステップを含むことができる。
S1:符号化してパッケージされたデータパケットのヘッダを解析し、DU headerにおけるpriorityフィールドを読み取り、実際の応用に応じて実際に採用される優先順位の数および各優先順位でのpriorityフィールドとのマッピング関係を確定する。
S2:分けられた優先順位およびマッピング関係に基づいて、オリジナルのソースデータストリームを優先順位に従って高から低に再配列し、各優先順位でのデータパケットの数を統計する(図13)。
S3:再配列されたソースデータストリームに対して、システムRaptorQシステムコードの自己適応FEC符号化スキームを採用してFEC符号化を行い、復元データを生成する。
具体的には、前記中間データパケットに対して、RaptorQシステムコードの自己適応FEC符号化方式を採用してFEC符号化を行い、以下の中間コードワードを得る。
ここで、Aは、第iのソースデータパケットに対応するコーディング行列を示す。C,C,…,C…,Cは、それぞれN種類のソースデータパケットの中間コードに対応する。D,D,…,D…,Dは、それぞれN種類のソースデータパケットのデータに対応する。上付き-1は、逆行列の演算子である。
前記中間コードワードに基づいて復元データパケットを取得し、前記復元データパケットにFEC payload IDを追加する。前記復元データパケットにおける復元データは、以下の通りである。
ここで、R,R,…,R…,Rは、それぞれ1~N個のソースデータパケットの復元データに対応する。G_ENCは、第iのソースデータパケットに対応するLTコーディング行列を示す。G_ENC1iは、G_ENCと同じ生成ルールを有するLTコーディング行列を示す。G_ENCi1は、G_ENCと同じ生成ルールを有するLTコーディング行列を示す。ここで、i=1,2,…Nである。
S4:データパケットのヘッダ拡張において対応する指示情報を生成し、各優先順位でのデータパケットの数および各優先順位での対応する復元データパケットの数を指し示すことにより、受信端がデータを受信した後にデータを正確に復元することができる。詳細を表2に示す。
表2中、type(16ビット)は、現在のヘッダ拡張のタイプを示し、ここで、自己適応前方誤り訂正符号化に用いられる中間データパケットまたは復元データパケットを示す。length(16ビット)は、header_extensionの長さを示す。FECpriority(8ビット)は、現在のデータパケットが属する優先順位を指示する。sub_encoded_symbol_id(16ビット)は、この優先順位での中間データパケットまたは復元データパケットの数のインデックを示す。N(8ビット)は、優先順位の総数を示す。SSBL[i](24ビット)は、各優先順位のソースデータパケットの数を示し、ここで、iは第iの優先順位を指示する。RSBL[i](24ビット)は、i表示第iの優先順位,各優先順位の復元データパケットの数を示し、ここで、iは第iの優先順位を指示する。
図19に示すように、FEC各優先順位でのデータパケットの数に基づいて、下式によりソースデータに対応するコーディング行列の対応行のインデックを得る。
index=FEC payload ID-number of packets of all priorities before this packet。
ここで、indexは、ソースデータのコーディング行列の対応行のインデックを示す。FEC payload IDは、データパケットのヘッダのインデック情報を示す。number of packets of all priorities before this packetは、前記データパケットの前のすべての優先順位のデータパケットの総数を示す。
生成したFECコーディング行列に基づいて、コーディング行列を一次行変換し、対応して受信したデータパケットを配列し、repair_FECpayload_IDの値および各優先順位での復元シンボルの数に基づいてどの優先順位に属するかを確定することにより、シンボルブロックにおける復元シンボルの位置を調整し、同じ変化を達成する(図17)。受信した異なる優先順位のデータパケットの数によって、ケースバイケースでデコードを行い、そのフローチャートを図10に示す。最終的に復元されたソースデータを取得し、さらにヘッダにおけるpacket_sequence_numberに基づいて得られたソースデータパケットを初期シーケンスに復元する(図18)。
本実施例において、サーバー側は、データストリームにおける異なるデータを重要度に応じて分割することにより、重要度が異なるデータを異なる保護を与えることができる。送信したデータパケットのヘッダ情報およびシグナリング情報により標識する。システムコードの方式を採用し、チャンネル状况およびデータの重要度に応じてシステムファウンテンコードのコーディング行列を自己適応的に調整することにより、重要度が異なるデータに対する不均一誤り保護を達成する。端末側でシグナリング情報およびヘッダ情報を解析し、受信した異なる優先順位のデータの数に応じて柔軟な復号化アルゴリズムを採用することで柔軟な符号化および復号化を達成し、ヘッダ情報に基づいてソースデータストリームを最終的に復元する。従って、以下の有益な効果が得られる。
1)資源が節約される。例えば、端末側(受信端)において場合によって受信したデータ(例えば、Bフレーム)を人為的に捨てると、伝送資源の浪費をもたらす。本実施例の方法によれば、ソース端から問題が解決され、望ましくないパケットを伝送過程でより大きな確率でロスさせることにより、重要なデータパケットがより大きな程度で保護される。
2)個性的な伝送方式が達成される。例えば、チャンネル状況、ユーザ体験などに基づいて不均一誤り保護の態様を設計することにより、ビデオ伝送がより柔軟で緻密になる。また、送信端の符号化方式が柔軟になっても、受信端は、リスト情報に基づいてオリジナルデータを復元することができる。
3)より柔軟なコーディング行列の設計が達成される。例えば、実際のメディアの応用シーンに応じて、メディア内容に基づいてデータの優先順位付けを行い、実際の必要に応じてFECコーディング行列をより柔軟に設計することができ、これによって、不均一誤り保護の効果が達成される。
4)より柔軟な復号化方式が達成される。例えば、受信した各優先順位のデータの数に応じて、異なる復号化アルゴリズムを採用することにより、限られた帯域幅資源下で、優先順位が高いデータが最大限に復元され、優先順位が比較的高いデータに対する保護強度が高くなる。
なお、本発明で提供されるメディア内容に基づく自己適応システムコードFEC符号化および復号化方法のステップは、メディア内容に基づく自己適応システムコードFECシステムにおける対応するモジュール、装置、ユニットなどにより達成される。当業者であれば、前記システムの技術スキームに基づいて前記方法のステップを実現することができる。つまり、前記システムにおける実施例は、前記方法を実現するための好適例として理解され得るので、ここで説明を省略する。
また、本発明は、コンピュータ読み取り可能な記憶媒体に適用できる。コンピュータ読み取り可能な記憶媒体にコンピュータプログラムを記憶し、プロセッサによる実行により前記実施例に記載のメディア内容に基づく自己適応システムコードFEC符号化および復号化方法のステップを実現する。
当業者に知られているように、ピュアコンピュータ可読プログラムコードの方式により本発明で提供されるシステムおよびその各装置、モジュール、ユニットを実現することに加えて、方法のステップを論理プログラミングすることにより、本発明で提供されるシステムおよびその各装置、モジュール、ユニットは、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブルロジックコントローラおよび組み込みマイクロコントローラなどにより同じ機能を実現することができる。従って、本発明で提供されるシステムおよびその各装置、モジュール、ユニットは、ハードウェア部品と見なすことができ、それらの内部に含まれる各機能を達成するための装置、モジュール、ユニットは、ハードウェア部品内の構造と見なすことができる。さらに、各機能を達成するための装置、モジュール、ユニットは、方法を達成できるソフトウェアモジュールまたはハードウェア部品内の構造と見なすこともできる。
以上、本発明の具体的な実施例を説明した。需要理解的是,本発明は、前記特定の実施形態に限定されず、当業者は特許請求の範囲内において様々な変化または修正を行うことができ、これらの変化または修正は本発明の実質的な内容に提供を与えない。矛盾がない限り、本発明の実施例および実施例における特徴は、任意に組み合わせることができる。

Claims (31)

  1. FEC符号化コードワードの送信方法であって、
    ソースデータを優先順位に基づいてN種類のソースデータパケットに分け、Nは1より大きい整数であるステップと、
    優先順位に基づいてN種類の前記ソースデータパケットにおけるサブパケットを再配列し、N種類の中間データパケットを生成するステップと、
    N種類の前記中間データパケットをFEC符号化することで、N種類の中間コードワードを生成するステップと、
    N種類の前記中間コードワードに基づいてN種類の復元データパケットを生成するステップと、
    前記中間データパケット及び/又は前記復元データパケットにインデックスフィールド及び/又は優先順位指示フィールドを追加するステップと、
    前記中間データパケット、前記復元データパケット及び対応する指示情報を伝送するステップと、
    を含むことを特徴とする、FEC符号化コードワードの送信方法。
  2. ソースデータを優先順位に基づいてN種類のソースデータパケットに分けるステップ前に、
    前記ソースデータパケットにおける各サブパケットのヘッダの情報を解析し、前記サブパケットに対応する優先順位を確定するステップを含むことを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  3. N種類の中間データパケットをFEC符号化することでN種類の中間コードワードを生成するステップは、
    各前記中間データパケットに対応するコーディング行列を構築するステップと、
    各前記中間データパケットに対応するコーディング行列に基づいて、N種類の前記中間データパケットに対応するコーディング行列を構築するステップと、
    N種類の前記中間データパケット及びそれと対応するコーディング行列に基づいて、N種類の中間コードワードを生成するステップと、
    を含むことを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  4. 各前記中間データパケットに対応するコーディング行列は、それぞれ2つのサブ行列を含み、1つのサブ行列が前記中間データパケットに対応するLDPC行列及び単位行列からなる結合行列であり、もう1つのサブ行列が前記中間データパケットに対応するLTコーディング行列であることを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  5. N種類の中間コードワードに基づいてN種類の復元データパケットを生成するステップは、
    N種類の中間データパケットに対応するLTコーディング行列に基づいてN種類の中間データパケットに対応するLTコーディング行列の拡張行列を構築するステップと、
    N種類の中間データパケットに対応するLTコーディング行列の拡張行列及びN種類の中間コードワードに基づいて、N種類の復元データパケットを生成するステップと、
    を含むことを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  6. N種類の中間データパケットに対応するLTコーディング行列の拡張行列の構築は、追加された冗長情報に関連することを特徴とする、請求項5に記載のFEC符号化コードワードの送信方法。
  7. 前記復元データパケットに追加された前記インデックスフィールドは、前記復元データパケットにおけるサブパケットのシーケンス、前記優先順位指示フィールドに対応する優先順位での復元データパケットにおけるサブパケットのシーケンス、及び/又は対応する優先順位に属するサブパケットの数若しくは前記復元データパケットにおける前記サブパケットの割合を指示するものであることを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  8. 前記中間データパケットに追加された前記インデックスフィールドは、中間データパケットにおけるサブパケットのシーケンス、及び/又は前記優先順位指示フィールドに対応する優先順位での中間データパケットにおけるサブパケットのシーケンスを指示するものであることを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  9. 前記指示情報は、前記復元データパケットの各優先順位でのサブパケット、及び/又は前記中間データパケットの各優先順位でのサブパケットを指示するものであることを特徴とする、請求項1に記載のFEC符号化コードワードの送信方法。
  10. FEC符号化コードワードのデコード方法であって、
    送信された復元データパケット、中間データパケット及び対応する指示情報を受信するステップと、
    前記復元データパケット及び中間データパケットに含まれるインデックスフィールド及び/又は優先順位指示フィールド、並びに前記指示情報を解析し、復元データパケット及び中間データパケットのロス状況、復元データパケット及び中間データパケットの前記インデックスフィールド、並びに前記指示情報に基づいて復元行列を生成するステップと、
    前記復元行列及び受信された復元データパケット、中間データパケットに基づいて中間コードワードを生成するステップと、
    中間コードワードをFEC復号化することで、復号化された後の中間データパケットに復元するステップと、
    復号化された後の中間データパケットにおけるサブパケットのヘッダの総情報を解析し、復号化された後の前記中間データパケットにおけるサブパケットを再配列することで、
    ソースデータパケットに復元するステップと、
    を含むことを特徴とする、FEC符号化コードワードのデコード方法。
  11. 前記復元データパケットに含まれる前記インデックスフィールドは、前記復元データパケットにおけるサブパケットのシーケンス、前記優先順位指示フィールドに対応する優先順位での復元データパケットにおけるサブパケットのシーケンス、及び/又は対応する優先順位に属するサブパケットの数目若しくは前記復元データパケットにおける前記サブパケットの割合を指示するものであることを特徴とする、請求項10に記載のFEC符号化コードワードのデコード方法。
  12. 前記中間データパケットに含まれる前記インデックスフィールドは、前記中間データパケットにおけるサブパケットのシーケンス、及び/又は前記優先順位指示フィールドに対応する優先順位での中間データパケットにおけるサブパケットのシーケンスを指示するものであることを特徴とする、請求項10に記載のFEC符号化コードワードのデコード方法。
  13. 前記指示情報は、前記復元データパケットの各優先順位でのサブパケット、及び/又は前記中間データパケットの各優先順位でのサブパケットを指示するものであることを特徴とする、請求項10に記載のFEC符号化コードワードのデコード方法。
  14. 復元データパケット及び中間データパケットのロス状況、復元データパケット及び中間データパケットの前記インデックスフィールド、並びに前記指示情報に基づいて復元行列を生成するステップは、
    復元データパケット、中間データパケットに含まれるインデックスフィールド及び/又は優先順位指示フィールド並びに前記指示情報に基づいて、中間データパケットのコーディング行列を生成するステップと、
    中間データパケットのコーディング行列、復元データパケット、中間データパケットのロス状況に基づいて復元行列を生成するステップと、
    を含むことを特徴とする、請求項10に記載のFEC符号化コードワードのデコード方法。
  15. 中間コードワードをFEC復号化することで復号化された後の中間データパケットに復元するステップは、
    中間データパケットのLTコーディング行列及び中間コードワードに基づいて、復号化された後の中間データパケットを生成するステップを含むことを特徴とする、請求項14に記載のFEC符号化コードワードのデコード方法。
  16. ソースデータを優先順位に従ってN(1より大きい整数)種類のソースデータパケットに分けるマッピングモジュールと、
    優先順位に従ってN種類の前記ソースデータパケットにおけるサブパケットを再配列することでN種類の中間データパケットを生成する配列モジュールと、
    N種類の中間データパケットをFEC符号化することでN種類の中間コードワードを生成し、N種類の中間コードワードに基づいてN種類の復元データパケットを生成する符号化モジュールと、
    前記中間データパケット及び/又は前記復元データパケットにインデックスフィールド及び/又は優先順位指示フィールドを追加するインデックモジュールと、
    前記中間データパケット、前記復元データパケット及び対応する指示情報を送信する送信モジュールと、
    を含むことを特徴とする、FEC符号化コードワードの送信装置。
  17. 前記ソースデータパケットにおける各サブパケットのヘッダの情報を解析し、前記サブパケットに対応する優先順位を確定する解析モジュールをさらに含むことを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  18. 前記符号化モジュールがN種類の中間データパケットをFEC符号化することでN種類の中間コードワードを生成することは、
    各中間データパケットに対応するコーディング行列を構築すること、
    各中間データパケットに対応するコーディング行列に基づいて、前記N種類の中間データパケットに対応するコーディング行列を構築すること、及び
    N種類の中間データパケット及びそれと対応するコーディング行列に基づいて、N種類の中間コードワードを生成すること、
    を含むことを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  19. 各中間データパケットに対応するコーディング行列は、それぞれ2つのサブ行列を含み、
    1つのサブ行列は、前記中間データパケットに対応するLDPC行列及び単位行列からなる結合行列であり、
    もう1つのサブ行列は、前記中間データパケットに対応するLTコーディング行列であることを特徴とする、請求項18に記載のFEC符号化コードワードの送信装置。
  20. 前記符号化モジュールがN種類の中間コードワードに基づいてN種類の復元データパケットを生成することは、
    N種類の中間データパケットに対応するLTコーディング行列に基づいて、N種類の中間データパケットに対応するLTコーディング行列の拡張行列を構築すること、及び
    N種類の中間データパケットに対応するLTコーディング行列の拡張行列及びN種類の中間コードワードに基づいて、N種類の復元データパケットを生成すること、
    を含むことを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  21. N種類の中間データパケットに対応するLTコーディング行列の拡張行列の構築は、追加される冗長情報に関連することを特徴とする、請求項20に記載のFEC符号化コードワードの送信装置。
  22. 前記インデックモジュールが復元データパケットに前記インデックスフィールドを追加することにより、前記復元データパケットにおけるサブパケットのシーケンス、復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンス、及び/又は対応する優先順位に属するサブパケットの数若しくは前記サブパケットの前記復元データパケットにおける割合を指示することを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  23. 前記インデックモジュールが中間データパケットに前記インデックスフィールドを追加することで、中間データパケットにおけるサブパケットのシーケンス、及び/又は中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示することを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  24. 前記指示情報は、前記復元データパケットの各優先順位でのサブパケット、及び/又は前記中間データパケットの各優先順位でのサブパケットを指示するものであることを特徴とする、請求項16に記載のFEC符号化コードワードの送信装置。
  25. 送信された復元データパケット、中間データパケット及び対応する指示情報を受信する受信モジュールと、
    前記復元データパケット及び中間データパケットに含まれるインデックスフィールド及び/又は優先順位指示フィールド、並びに前記指示情報を解析し、復元データパケット及び中間データパケットのロス状況、復元データパケット及び中間データパケットの前記インデックスフィールド、並ぶに前記指示情報に基づいて復元行列を生成する復元行列生成モジュールと、
    前記復元行列及び受信した復元データパケット、中間データパケットに基づいて中間コードワードを生成し、中間コードワードをFEC復号化することで復号化された後の中間データパケットに復元する復号化モジュールと、
    復号化された後の中間データパケットにおけるサブパケットのヘッダの総情報を解析し、復号化された後の前記中間データパケットにおけるサブパケットを再配列することで、ソースデータパケットに復元する復元モジュールと、
    を含むことを特徴とする、FEC符号化コードワードのデコード装置。
  26. 前記復元データパケットに含まれる前記インデックスフィールドは、前記復元データパケットにおけるサブパケットのシーケンス、復元データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンス、及び/又は対応する優先順位に属するサブパケットの数若しくは前記サブパケットの前記復元データパケットにおける割合を指示するものであることを特徴とする、請求項25に記載のFEC符号化コードワードのデコード装置。
  27. 前記中間データパケットに含まれる前記インデックスフィールドは、前記中間データパケットにおけるサブパケットのシーケンス及び/又は中間データパケットにおけるサブパケットの前記優先順位指示フィールドに対応する優先順位でのシーケンスを指示するものであることを特徴とする、請求項25に記載のFEC符号化コードワードのデコード装置。
  28. 前記指示情報は、前記復元データパケットの各優先順位でのサブパケット、及び/又は前記中間データパケットの各優先順位でのサブパケットを指示するものであることを特徴とする、請求項25に記載のFEC符号化コードワードのデコード装置。
  29. 前記復元行列生成モジュールが復元データパケット及び中間データパケットのロス状況、復元データパケット及び中間データパケットの前記インデックスフィールド、並びに前記指示情報に基づいて復元行列を生成することは、
    復元データパケット、中間データパケットに含まれるインデックスフィールド及び/又は優先順位指示フィールド及び前記指示情報に基づいて中間データパケットのコーディング行列を生成すること、並ぶに
    中間データパケットのコーディング行列及び復元データパケット、中間データパケットのロス状況に基づいて復元行列を生成すること、
    を含むことを特徴とする、請求項25に記載のFEC符号化コードワードのデコード装置。
  30. 中間データパケットのLTコーディング行列及び中間コードワードに基づいて復号化された後の中間データパケットを生成する復号化モジュールを含むことを特徴とする、請求項29に記載のFEC符号化コードワードのデコード装置。
  31. コンピュータプログラムが記憶されたコンピュータ読み取り可能な記憶媒体であって、
    前記コンピュータプログラムは、プロセッサにより実行されることにより、請求項1から9のいずれか1項に記載のFEC符号化コードワードの送信方法及び/又は請求項10から15のいずれか1項に記載のFEC符号化コードワードのデコード方法を実現することを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2023128800A 2017-07-11 2023-08-07 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体 Pending JP2023157921A (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
CN201710561850.2 2017-07-11
CN201710561850.2A CN109245850B (zh) 2017-07-11 2017-07-11 基于媒体内容的自适应***码fec编译码方法
CN201710973473.3 2017-10-18
CN201710973473.3A CN109687934B (zh) 2017-10-18 2017-10-18 基于媒体内容的自适应***码fec方法、装置及***
JP2020500808A JP7408152B2 (ja) 2017-07-11 2018-07-09 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体
PCT/CN2018/095051 WO2019011219A1 (zh) 2017-07-11 2018-07-09 基于媒体内容的自适应***码fec编译码方法、装置、***及介质

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2020500808A Division JP7408152B2 (ja) 2017-07-11 2018-07-09 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体

Publications (1)

Publication Number Publication Date
JP2023157921A true JP2023157921A (ja) 2023-10-26

Family

ID=65002411

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2020500808A Active JP7408152B2 (ja) 2017-07-11 2018-07-09 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体
JP2023128800A Pending JP2023157921A (ja) 2017-07-11 2023-08-07 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2020500808A Active JP7408152B2 (ja) 2017-07-11 2018-07-09 メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体

Country Status (6)

Country Link
US (1) US11438097B2 (ja)
EP (1) EP3654556A4 (ja)
JP (2) JP7408152B2 (ja)
KR (1) KR102383892B1 (ja)
CA (1) CA3069594C (ja)
WO (1) WO2019011219A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112213578A (zh) * 2020-09-23 2021-01-12 青岛鼎信通讯股份有限公司 一种中压线变关系识别方法
CN113612580B (zh) * 2021-08-03 2022-05-17 四川大学 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法
CN114629596B (zh) * 2022-03-18 2023-09-22 浙江大学 前向纠错码Zigzag轮转解码方法
CN117640015B (zh) * 2024-01-25 2024-05-24 腾讯科技(深圳)有限公司 一种语音编码、解码方法、装置、电子设备及存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317462B1 (en) * 1998-10-22 2001-11-13 Lucent Technologies Inc. Method and apparatus for transmitting MPEG video over the internet
US6684367B1 (en) * 2000-10-13 2004-01-27 Agere Systems Inc. Channel coding based on hidden puncturing for partial-band interference channels
US9270414B2 (en) * 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
EP2091205A1 (en) * 2008-02-14 2009-08-19 NTT DoCoMo, Inc. Method and an apparatus for delivering a video stream
US9281847B2 (en) * 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9015564B2 (en) * 2009-08-19 2015-04-21 Qualcomm Incorporated Content delivery system with allocation of source data and repair data among HTTP servers
CN103248897B (zh) * 2013-05-15 2016-08-10 哈尔滨工业大学深圳研究生院 一种图像抗差错编码方法
US10469202B2 (en) * 2015-01-08 2019-11-05 Shanghai Jiao Tong University Fec mechanism based on media content
CN110224793B (zh) * 2015-10-16 2021-03-09 上海交通大学 一种基于媒体内容的自适应fec方法
US10469857B2 (en) * 2016-09-26 2019-11-05 Samsung Display Co., Ltd. System and method for electronic data communication

Also Published As

Publication number Publication date
EP3654556A4 (en) 2021-04-21
JP7408152B2 (ja) 2024-01-05
WO2019011219A1 (zh) 2019-01-17
US20200153545A1 (en) 2020-05-14
CA3069594C (en) 2022-07-05
US11438097B2 (en) 2022-09-06
CA3069594A1 (en) 2019-01-17
KR102383892B1 (ko) 2022-04-08
EP3654556A1 (en) 2020-05-20
JP2020526979A (ja) 2020-08-31
KR20200024319A (ko) 2020-03-06

Similar Documents

Publication Publication Date Title
JP7408152B2 (ja) メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体
US8429503B2 (en) Encoding device and decoding device
KR101159432B1 (ko) 스케일러블 정보 신호, 스케일러블 정보 내용를 인코딩하기 위한 장치와 방법 및 스케일러블 정보 신호의 에러를 정정하기 위한 장치 및 방법
JP5507813B2 (ja) 送信装置及び受信装置
CN101272495B (zh) 用于传输基于分组的图像帧的方法和装置
WO2016045391A1 (zh) 一种数据传输方法及装置
CN108737021B (zh) Polar码传输方法及装置
KR20080046227A (ko) 무선 통신 채널을 통해 비압축 영상 전송하기 위한 데이터분할, 부호화 방법 및 시스템
JP7343915B2 (ja) メディアコンテンツに基づくfecメカニズム
CN113541856A (zh) 数据恢复方法及装置
CN110710141A (zh) 针对基于滑动窗口网络编码的分组生成的***与技术
JP2015520990A (ja) 放送及び通信システムにおけるパケット送受信装置及び方法
KR101259659B1 (ko) 중요도에 따라 손실 복원율을 차별화하는 비균일 랩터 코딩방법
CN109245863B (zh) 用于传输和接收前向纠错分组的装置和方法
CN109687934B (zh) 基于媒体内容的自适应***码fec方法、装置及***
CN108667557B (zh) 一种基于媒体内容的自适应fec编码矩阵设计方法
US20130198582A1 (en) Supercharged codes
CN109245850B (zh) 基于媒体内容的自适应***码fec编译码方法
KR20080093923A (ko) 서브 블록별 순차적 업데이트 방식을 이용한 저지연 파운틴코딩 방법
Nazir et al. Application layer systematic network coding for sliced H. 264/AVC video streaming
Arslan et al. Optimization of generalized LT codes for progressive image transfer
Nazir et al. Rate adaptive selective segment assignment for reliable wireless video transmission
CN117769033A (zh) 信息处理方法、装置、电子设备及存储介质
TW201944739A (zh) 低密度奇偶檢查碼之編碼及解碼方法
KR20170075127A (ko) 패킷손실 복구처리를 위한 경량화된 채널코딩 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231113

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20231215