CN109245850B - 基于媒体内容的自适应系统码fec编译码方法 - Google Patents
基于媒体内容的自适应系统码fec编译码方法 Download PDFInfo
- Publication number
- CN109245850B CN109245850B CN201710561850.2A CN201710561850A CN109245850B CN 109245850 B CN109245850 B CN 109245850B CN 201710561850 A CN201710561850 A CN 201710561850A CN 109245850 B CN109245850 B CN 109245850B
- Authority
- CN
- China
- Prior art keywords
- matrix
- enc
- rev
- priority
- source data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000011084 recovery Methods 0.000 claims abstract description 35
- 239000011159 matrix material Substances 0.000 claims description 141
- 230000008030 elimination Effects 0.000 claims description 9
- 238000003379 elimination reaction Methods 0.000 claims description 9
- 230000002441 reversible effect Effects 0.000 claims description 7
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 230000009897 systematic effect Effects 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 4
- 238000009825 accumulation Methods 0.000 claims description 3
- 230000006698 induction Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000012937 correction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0076—Distributed coding, e.g. network coding, involving channel coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
- H04L1/0043—Realisations of complexity reduction techniques, e.g. use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/70—Media network packetisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明提供了一种基于媒体内容的自适应系统码FEC编译码方法,包括:根据媒体内容的重要程度,将源数据按照优先级划分为N类源数据包;根据N类源数据包及其优先级,生成N类中间码;根据N类中间码,按照信道状况设定N类源数据的恢复数据,生成N类系统码的编码符号;接收所述编码符号,根据译码需要对编码符号整理排序;根据接收到的编码符号数量,分情况译出中间码字,并根据该中间码恢复出相应的源数据包。本发明最大限度保证媒体内容质量,减少FEC造成的数据冗余;不需要对源数据流进行分流,降低了发送端FEC编码的复杂度,提高了FEC编码的效率;可以根据当前网络状态的变化动态的调整编码方案,具有更强的适应性。
Description
技术领域
本发明涉及多媒体传输技术领域,具体地,涉及基于媒体内容的自适应系统码前向纠错(Forward Error Correction,FEC)编译码方法。
背景技术
在异构网络媒体服务系统中,内容通过因特网协议或广播协议分发到终端,因特网中使用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降低了非重要码流的抗噪声性能,但有利于系统抗误码总体性能的提升。
作为一种前向纠错编码技术,数字喷泉码(Digital Fountain Code)在传输过程中,不需要反馈及自动重发机制,避免了信号往返的延时以及广播应用中的反馈爆炸问题。数字喷泉的基本思想是:发端将原始数据分割成k个数据符号,对这些数据符号进行编码,输出一个任意长度的编码符号码流,接收端只需正确地接收n(n稍大于k)个编码符号就可以很大的概率恢复出所有的k个数据符号。数字喷泉码本身就具有UEP性能,可以实现对不同重要性的数据的保护。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于媒体内容的自适应系统码FEC编译码方法。
根据本发明提供的基于媒体内容的自适应系统码FEC编译码方法,包括:
根据媒体内容的重要程度,将源数据按照优先级划分为N类源数据包;N为大于1的整数;
根据源数据和N类源数据包的优先级,生成N类中间码;
根据所述N类中间码,按照信道状况设定N类源数据的恢复数据,生成N类系统码的编码符号;
接收所述编码符号,根据译码需要对所述编码符号进行整理排序,对所述编码符号进行译码处理;
根据接收到的编码符号情况,优先译出优先级高的中间码,并根据该中间码恢复出相应的源数据包。
可选地,所述根据源数据和N类源数据包的优先级,生成N类中间码,包括:
构建N类源数据包对应的编码矩阵,记为Ai,i=1,2,…N;其中:
式中:Ai表示第i类源数据包对应的编码矩阵,G_pi表示第i类源数据包对应的由LDPC矩阵和单位矩阵构成的联合矩阵,G_ENCi表示第i类源数据包对应的LT编码矩阵;
根据N类源数据包对应的编码矩阵构建源数据的编码矩阵A,所述源数据的编码矩阵如下:
则
式中:C1,C2,…,Ci…,CN分别对应N类源数据包的中间码,D1,D2,…,Di…,DN分别对应N类源数据包的数据,上标-1为逆矩阵运算符;i=1,2,…N。
可选地,所述根据所述N类中间码,按照信道状况设定N类源数据的恢复数据,包括:
式中:R1,R2,…,Ri…,RN分别对应N类源数据包的恢复数据,G_ENC1i表示与G_ENC1具有相同生成规则的LT编码矩阵;G_ENCi1表示与G_ENCi具有相同生成规则的LT编码矩阵;i=1,2,…N。
可选地,当N的值取2时,针对不同重要程度的数据可以产生相应的中间码如下:
改变LT编码矩阵的结构,得到G_ENC11、G_ENC12、G_ENC21,其中G_ENC12与G_ENC1的生成方式相同;G_ENC21与G_ENC2的生成方式相同;G_ENC11表示与G_ENC1具有相同生成方式的LT编码矩阵;G_ENC21表示与G_ENC2具有相同生成方式的LT编码矩阵;G_ENC12表示与G_ENC1具有相同生成方式的LT编码矩阵;
得到的恢复数据R1只与优先级为1的数据有关,而恢复数据R2与优先级1和2的数据均有关,则得到:
可选地,当N的值取2时,所述接收所述编码符号,对所述编码符号进行译码处理,包括:
在第一阶段解码时,根据恢复矩阵W以及接收到的源数据包得到中间码字;具体的:
式中:REV_G_ENC1表示根据接收到的编码符号的丢包情况,去除G_ENC1中丢失包所对应的行后的LT编码矩阵;REV_G_ENC11表示根据接收到的编码符号的丢包情况,去除G_ENC11中丢失包所对应的行后的LT编码矩阵;REV_G_ENC12表示根据接收到的编码符号的丢包情况,去除G_ENC12中丢失包所对应的行后的LT编码矩阵;REV_G_ENC2表示根据接收到的编码符号的丢包情况,去除G_ENC2中丢失包所对应的行后的LT编码矩阵;REV_G_ENC21表示根据接收到的编码符号的丢包情况,去除G_ENC21中丢失包所对应的行后的LT编码矩阵;
式中:REV_D1表示接收到的优先级为1的源数据,REV_R1表示接收到的优先级为1源数据的恢复数据;
接收到的编码符号总数大于等于源数据生成的编码符号的个数,且 的行数大于等于列数时;若的行数大于等于列数,则REV_A1可逆,对应的逆矩阵记为REV_A1 -1;若的行数大于等于列数,则REV_A2可逆,对应的逆矩阵记为REV_A2 -1;若REV_A1和REV_A2都可逆,则REV_A可逆,对应的逆矩阵记为REV_A-1,记则得到:
式中:REV_D2表示接收到的优先级为2的源数据,REV_R2表示接收到的优先级为1和2源数据的恢复数据;
使用高斯消元法直接对矩阵REV_A进行求解,即解下列线性方程组:
得到C1、C2。
可选地,由于部分数据发生丢失,需要根据接收到的编码符号,生成恢复矩阵,相当于擦除掉丢失的编码符号对应的矩阵行,形成相应的恢复矩阵,记为REV_G_ENC;根据接收的数据包的数目不同,分不同情况生成中间码字;具体的,包括如下步骤:
步骤A1:假设接收到l类优先级的数据包;则得到如下的恢复矩阵方程:
对恢复矩阵方程进行初等行变换,得到:
式中:REV_G_ENC1表示根据接收到的编码符号的丢包情况,去除G_ENC1中丢失包所对应的行后的LT编码矩阵;REV_G_ENC11表示根据接收到的编码符号的丢包情况,去除G_ENC11中丢失包所对应的行后的LT编码矩阵;REV_G_ENC12表示根据接收到的编码符号的丢包情况,去除G_ENC12中丢失包所对应的行后的LT编码矩阵;REV_G_ENC2表示根据接收到的编码符号的丢包情况,去除G_ENC2中丢失包所对应的行后的LT编码矩阵;REV_G_ENC21表示根据接收到的编码符号的丢包情况,去除G_ENC21中丢失包所对应的行后的LT编码矩阵;REV_D1表示接收到的优先级为1的源数据,REV_R1表示接收到的优先级为1源数据的恢复数据;REV_D2表示接收到的优先级为2的源数据,REV_R2表示接收到的优先级为1和2源数据的恢复数据;REV_G_ENC1l表示根据接收到的编码符号的丢包情况,去除G_ENC1l中丢失包所对应的行后的LT编码矩阵,REV_Dl表示表示接收到的优先级为l的源数据,REV_Rl表示接收到的优先级为1到l的源数据的恢复数据,Cl表示生成的第l类中间码;
计算每级生成矩阵的秩:
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:设置i初始值为l;
步骤A4:根据接收到的每级编码符号数,分情况分别求中间码C1、C2…Cl:
若满足cumFullRand(i)==1&&cumFullRank(1:i)>0,使用RFC 6330译码方法解出C1~Ci,其中:&&表示与运算,cumFullRank(1:i)表示从优先级为1到优先级为i各子矩阵所组成的矩阵满秩;C1表示优先级为1的数据所对应的中间码,Ci表示优先级为i的数据所对应的中间码;
式中:REV_AΔi表示到优先级为i时所有子矩阵组成的满秩矩阵,B1_2表示子矩阵X1_2表示对子矩阵B1_2求逆运算后的子矩阵,Xa_b表示子矩阵Ba_b求逆运算后得到的子矩阵,Ba_b表示子矩阵a的取值范围为1~i,b的取值范围为2~i,Ai -1表示子矩阵的逆矩阵;
C1=C1_temp
根据数学归纳法,得到:
求得C1、C2…Ci,其中,不能解出Ci+1…Cl;
若满足cumFullRand(i)==1,且不满足cumFullRank(1:i)>0,使用高斯消元译码方法解出C1~Ci
求得C1、C2…Ci,其中,不能解出Ci+1…Cl;
对于任一i值,若不满足cumFullRand(i)==1则相应Ci不能解出;直到i==1,也不满足cumFullRank(1:i)>0时,则C1、C2…Cl全部不能解出,译码失败;
步骤A5:令i的值自减1,返回执行步骤A4。
与现有技术相比,本发明具有如下的有益效果:
本发明提供的基于媒体内容的自适应系统码FEC编译码方法,对目前FEC系统中过度编码造成的数据拥塞,通过对媒体内容分级,赋予不同的重要性,采用不等差错保护(UEP),最大限度保证媒体内容质量的同时,减少FEC造成的数据冗余;提供了基于系统喷泉码的不等差错保护方案,使系统码的编译码更加灵活,可支持不等差错保护;不需要对源数据流进行分流,因此降低了发送端FEC编码的复杂度,提高了FEC编码的效率;同时,可以根据当前网络状态的变化动态的调整编码方案,因此对时变网络具有更强的适应性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为针对媒体资源数据的FEC两层结构示意图;
图2(a)、图2(b)为图像组中各帧依赖关系示意图;
图3为喷泉码的不等差错保护编码方案示意图;
图4为喷泉码不等差错保护的系统架构示意图;
图5为系统RaptorQ码编码矩阵结构示意图;
图6为系统RaptorQ码不等差错保护的编码矩阵结构示意图;
图7为LT编码矩阵不等差错保护结构示意图;
图8为多优先级不等差错保护系统喷泉码编码流程图;
图9为多优先级不等差错保护系统喷泉码译码流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1所示:针对媒体资源数据的FEC两层结构,第一层将源数据包块sourcepacket block分为较多的小块分别做FEC保护,第二层是一个整块做FEC保护。第一层划分较细致可以提供较小的时延,第二层保证了恢复性能和较小的冗余,但是这种方式需要进行两次FEC编码,降低了编码效率,同时缺乏灵活性。
在一个数据流中可以根据其内容分成不同类型的数据包,不同类型的数据包具有不同的重要程度。例如,数据包中的I、B、P帧的重要程度如图2a图2b所示。一个图像组中各帧依赖关系,说明一个图像组中不同帧的依赖程度和重要性不同,I帧是最重要的,B、P帧的重要程度较低。因此可以根据数据内容重要性进行不等差错保护。具体考虑传输信源数据具有两个重要等级的情况,将信源数据按上述标准进行划分,并将其按照重要程度重新进行排序,通过改变系统喷泉码编码矩阵的结构,达到对不同内容的不等差错保护。其系统的基本架构如图4所示。经过系统喷泉码的不等差错保护编码后产生的数据如图3所示。
实施例1
本实施例以RaptorQ系统码为例,系统RaptorQ码的编码矩阵的结构如图5所示。其中,D表示源数据,C表示中间码,G_LDPC表示LDPC矩阵,I_S、I_H表示单位矩阵,G_ENC表示LT编码矩阵,则编码矩阵可以如下表示。
在进行FEC编码时,由源数据和图5所示的编码矩阵产生中间码。
再根据编码矩阵中的LT矩阵和得到的中间码产生源数据和恢复数据。其中R表示编码后得到的恢复数据,G_ENC′是与G_ENC相同生成方式产生的LT矩阵。
采用上述方法对源数据进行编码,不能对源数据进行优先级划分并采用不等差错保护编码,因此需要重新设计编码矩阵A以及LT矩阵G_ENC的矩阵结构。以源数据中具有两种不同优先级的数据为例,设优先级分别为优先级1和2,将源数据中的不同优先级的数据区开,对其分配不同的冗余,已达到不等差错保护的效果。
编码过程:
其编码矩阵结构如图6所示。其编码矩阵如公式(6)所示,其中G_ENC1与G_ENC2是由不同规则产生的编码矩阵,为了保证对重要数据的保护可以提高G_ENC1矩阵的度分布。
这样,针对不同重要程度的数据可以产生相应的中间码。
为了达到对不同重要程度数据的不等差错保护,还需要改变LT编码矩阵的结构如图7所示,增加对重要数据保护的冗余数据。其中G_ENC1′是与G_ENC1具有生成方式相同,G_ENC2′与G_ENC2的生成方式相同。得到的恢复数据R1只与优先级为1的数据有关,而恢复数据R与优先级1和2的数据均有关。由此增加了重要数据的冗余,提高了其保护强度。其中若由于信道条件的限制,数据总的冗余度有限,生成R1和R2的比例由[G_ENC1′ 0]与[G_ENC1″ G_ENC2′]的行数比确定,可以增加[G_ENC1′ 0]的行数进一步提高优先级为1的数据的保护强度。
译码过程:
由于在经过有损信道后,部分数据包发生了丢失,根据接收到的符号ISI,生成恢复矩阵,需要擦除掉丢失符号ISI对应的矩阵行,例如,对于矩阵REV_G_ENC1,根据接收到的REV_D1和发送端的D1可以得到丢失数据的ISI,从而删除G_ENC1相应的行。与编码过程类似,进行第一阶段解码时,根据恢复矩阵以及接收到的数据包得到中间码字。
对上面矩阵方程进行初等行变换,得到以下形式:
但C2不能求出。
若的行数大于等于列数,则REV_A1可逆,其逆矩阵记为REV_A1 -1;若的行数大于等于列数,则REV_A2可逆,其逆矩阵记为REV_A2 -1。若REV_A1和REV_A2都可逆,则REV_A可逆,其逆矩阵记为REV_A-1,记易知则可得:
使用高斯消元法直接对矩阵REV_A进行求解,即解下列线性方程组:
易求得C1、C2。
由上述解码过程的第一阶段可以得到,任何情况下都首先保证C1的正确解出,由于中间码字C1和C2作为在解码第二阶段中恢复出源数据的重要数据,提高C1的解码成功率可以进一步提高源数据正确恢复的概率。
根据得到的中间码字,生成系统码编码符号
若第一阶段没有求出C1、C2,则译码失败,无法译出源符号;若只求出C1,则可以保证优先的源码数据D1可以正确译出;若C1、C2都求出,则利用上式可以得出最终的源码D1和D2。
同时,该方案不仅适用于两个优先级的场景,可扩展到多个优先级的源数据上,其具体过程如下。
编码过程:
首先根据源数据以及源数据的优先级,生成中间码。假设源数据划分成l个数据包,得到:
由式(16)可得到中间码字C1,C2,…,Cl。
根据得到的中间码字生成源数据和恢复数据。
整个编码流程如图8所示。将源数据和恢复数据由发送端发送给接收端,由于信道的衰减,部分数据可能会发生丢失,接收端接收到数据后,根据接收到的数据情况进行译码恢复出源数据。
译码过程:
由于部分数据发生丢失,需要根据接收到的符号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。以下根据接收到的每级符号数分情况分别求中间码C1、C2…Cl,设置i初始值为l:
若满足cumFullRand(i)==1&&cumFullRank(1:i)>0,使用RFC 6330译码方法解出C(1)~C(i)
C1=C1_temp
…(数学归纳法)
求得C1、C2…Ci,而其他Ci+1…Cl不能求得。
若满足cumFullRand(i)==1,但不满足cumFullRank(1:i)>0,使用高斯消元译码方法解出C(1)~C(i)
求得C1、C2…Ci,而其他Ci+1…Cl不能求得。
对于某i值,若不满足cumFullRand(i)==1则相应Ci不能解出。直到i==1,上述两个条件都不能满足,则C1、C2…Cl全部不能解出,译码失败。
令i=i-1继续循环,即i=l:-1:1,重复以上过程。
整个译码流程如图9所示。
本实施例中的方法,能够有效地节省资源,如果在接收端,人为的根据情况舍弃已经接收的数据(例如B帧)则造成了传输资源的浪费,上述方案从源端解决问题,让不想要的包在传输过程中更大概率丢掉,而更大程度的保护了重要的包。
本实施例中的方法,提供个性化的传输方案。可以根据信道状况、用户体验等设计不等差错保护的方案,使得视频传输更加灵活、细致。同时,尽管发送端的编码方式灵活,接收端都可以根据列表信息正确的恢复出原始的数据。
本实施例中的方法,提供更加灵活的编码矩阵的设计。可以根据实际媒体的应用场景,基于媒体内容进行数据的优先级划分,可以根据实际需求更加灵活的设计FEC编码矩阵,达到不等差错保护的效果。
本实施例中的方法,提供更加灵活的译码方式。根据接收到的各优先级数据的数目,可以采用不同的译码算法,在有限的带宽资源下,可以最大程度的恢复优先级高的数据,提高对对优先级较高的数据的保护强度。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (5)
1.一种基于媒体内容的自适应系统码FEC编译码方法,其特征在于,包括:
根据媒体内容的重要程度,将源数据按照优先级划分为N类源数据包;N为大于1的整数;
根据源数据和N类源数据包的优先级,生成N类中间码;
根据所述N类中间码,按照信道状况设定N类源数据的恢复数据,生成N类系统码的编码符号;
接收所述编码符号,根据译码需要对所述编码符号进行整理排序,对所述编码符号进行译码处理;
根据接收到的编码符号情况,优先译出优先级高的中间码,并根据该中间码恢复出相应的源数据包;
所述根据源数据和N类源数据包的优先级,生成N类中间码,包括:
构建N类源数据包对应的编码矩阵,记为Ai,i=1,2,…N;其中:
式中:Ai表示第i类源数据包对应的编码矩阵,G_pi表示第i类源数据包对应的由LDPC矩阵和单位矩阵构成的联合矩阵,G_ENCi表示第i类源数据包对应的LT编码矩阵;
根据N类源数据包对应的编码矩阵构建源数据的编码矩阵A,所述源数据的编码矩阵如下:
则
式中:C1,C2,…,Ci…,CN分别对应N类源数据包的中间码,D1,D2,…,Di…,DN分别对应N类源数据包的数据,上标-1为逆矩阵运算符;i=1,2,…N。
3.根据权利要求2所述的基于媒体内容的自适应系统码FEC编译码方法,其特征在于,当N的值取2时,针对不同重要程度的数据可以产生相应的中间码如下:
改变LT编码矩阵的结构,得到G_ENC11、G_ENC12、G_ENC21,其中G_ENC12与G_ENC1的生成方式相同;G_ENC21与G_ENC2的生成方式相同;G_ENC11表示与G_ENC1具有相同生成方式的LT编码矩阵;G_ENC21表示与G_ENC2具有相同生成方式的LT编码矩阵;G_ENC12表示与G_ENC1具有相同生成方式的LT编码矩阵;
得到的恢复数据R1只与优先级为1的数据有关,而恢复数据R2与优先级1和2的数据均有关,则得到:
4.根据权利要求3所述的基于媒体内容的自适应系统码FEC编译码方法,其特征在于,当N的值取2时,所述接收所述编码符号,对所述编码符号进行译码处理,包括:
在第一阶段解码时,根据恢复矩阵W以及接收到的源数据包得到中间码字;具体的:
式中:REV_G_ENC1表示根据接收到的编码符号的丢包情况,去除G_ENC1中丢失包所对应的行后的LT编码矩阵;REV_G_ENC11表示根据接收到的编码符号的丢包情况,去除G_ENC11中丢失包所对应的行后的LT编码矩阵;REV_G_ENC12表示根据接收到的编码符号的丢包情况,去除G_ENC12中丢失包所对应的行后的LT编码矩阵;REV_G_ENC2表示根据接收到的编码符号的丢包情况,去除G_ENC2中丢失包所对应的行后的LT编码矩阵;REV_G_ENC21表示根据接收到的编码符号的丢包情况,去除G_ENC21中丢失包所对应的行后的LT编码矩阵;
式中:REV_D1表示接收到的优先级为1的源数据,REV_R1表示接收到的优先级为1源数据的恢复数据;
接收到的编码符号总数大于等于源数据生成的编码符号的个数,且 的行数大于等于列数时;若的行数大于等于列数,则REV_A1可逆,对应的逆矩阵记为REV_A1 -1;若的行数大于等于列数,则REV_A2可逆,对应的逆矩阵记为REV_A2 -1;若REV_A1和REV_A2都可逆,则REV_A可逆,对应的逆矩阵记为REV_A-1,记则得到:
式中:REV_D2表示接收到的优先级为2的源数据,REV_R2表示接收到的优先级为1和2源数据的恢复数据;
使用高斯消元法直接对矩阵REV_A进行求解,即解下列线性方程组:
得到C1、C2。
5.根据权利要求2所述的基于媒体内容的自适应系统码FEC编译码方法,其特征在于,由于部分数据发生丢失,需要根据接收到的编码符号,生成恢复矩阵,相当于擦除掉丢失的编码符号对应的矩阵行,形成相应的恢复矩阵,记为REV_G_ENC;根据接收的数据包的数目不同,分不同情况生成中间码字;具体的,包括如下步骤:
步骤A1:假设接收到l类优先级的数据包;则得到如下的恢复矩阵方程:
对恢复矩阵方程进行初等行变换,得到:
式中:REV_G_ENC1表示根据接收到的编码符号的丢包情况,去除G_ENC1中丢失包所对应的行后的LT编码矩阵;REV_G_ENC11表示根据接收到的编码符号的丢包情况,去除G_ENC11中丢失包所对应的行后的LT编码矩阵;REV_G_ENC12表示根据接收到的编码符号的丢包情况,去除G_ENC12中丢失包所对应的行后的LT编码矩阵;REV_G_ENC2表示根据接收到的编码符号的丢包情况,去除G_ENC2中丢失包所对应的行后的LT编码矩阵;REV_G_ENC21表示根据接收到的编码符号的丢包情况,去除G_ENC21中丢失包所对应的行后的LT编码矩阵;REV_D1表示接收到的优先级为1的源数据,REV_R1表示接收到的优先级为1源数据的恢复数据;REV_D2表示接收到的优先级为2的源数据,REV_R2表示接收到的优先级为1和2源数据的恢复数据;REV_G_ENC1l表示根据接收到的编码符号的丢包情况,去除G_ENC1l中丢失包所对应的行后的LT编码矩阵,REV_Dl表示表示接收到的优先级为l的源数据,REV_Rl表示接收到的优先级为1到l的源数据的恢复数据,Cl表示生成的第l类中间码;
计算每级生成矩阵的秩:
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:设置i初始值为l;
步骤A4:根据接收到的每级编码符号数,分情况分别求中间码C1、C2…Cl:
若满足cumFullRand(i)==1&&cumFullRank(1:i)>0,使用RFC 6330译码方法解出C1~Ci,其中:&&表示与运算,cumFullRank(1:i)表示从优先级为1到优先级为i各子矩阵所组成的矩阵满秩;C1表示优先级为1的数据所对应的中间码,Ci表示优先级为i的数据所对应的中间码;
式中:REV_AΔi表示到优先级为i时所有子矩阵组成的满秩矩阵,B1_2表示子矩阵Xi_2表示对子矩阵B1_2求逆运算后的子矩阵,Xa_b表示子矩阵Ba_b求逆运算后得到的子矩阵,Ba_b表示子矩阵a的取值范围为1~i,b的取值范围为2~i,Ai -1表示子矩阵的逆矩阵;
C1=C1_temp
根据数学归纳法,得到:
求得C1、C2…Ci,其中,不能解出Ci+1…Cl;
若满足cumFullRand(i)==1,且不满足cumFullRank(1:i)>0,使用高斯消元译码方法解出C1~Ci
求得C1、C2…Ci,其中,不能解出Ci+1…Cl;
对于任一i值,若不满足cumFullRand(i)==1则相应Ci不能解出;直到i==1,也不满足cumFullRank(1:i)>0时,则C1、C2…Cl全部不能解出,译码失败;
步骤A5:令i的值自减1,返回执行步骤A4。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710561850.2A CN109245850B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编译码方法 |
CN202110441953.1A CN113114427B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编码方法、译码方法 |
KR1020207003904A KR102383892B1 (ko) | 2017-07-11 | 2018-07-09 | 미디어 콘텐츠 기반의 자가 적응 시스템 코드 fec의 코딩 및 디코딩 방법, 장치, 시스템 및 매체 |
EP18831697.0A EP3654556A4 (en) | 2017-07-11 | 2018-07-09 | ADAPTIVE METHOD, DEVICE AND SYSTEM FOR FEC CODING AND DECODING OF SYSTEMATIC CODES AND MEDIUM BASED ON MEDIA CONTENT |
JP2020500808A JP7408152B2 (ja) | 2017-07-11 | 2018-07-09 | メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体 |
PCT/CN2018/095051 WO2019011219A1 (zh) | 2017-07-11 | 2018-07-09 | 基于媒体内容的自适应系统码fec编译码方法、装置、系统及介质 |
CA3069594A CA3069594C (en) | 2017-07-11 | 2018-07-09 | Media content-based adaptive method, device and system for fec coding and decoding of systematic code, and medium |
US16/740,229 US11438097B2 (en) | 2017-07-11 | 2020-01-10 | Media content-based adaptive method, device and system for forward error correction (FEC) coding and decoding of systematic code, and medium |
JP2023128800A JP2023157921A (ja) | 2017-07-11 | 2023-08-07 | メディア内容に基づく自己適応システムコードfec符号化および復号化方法、装置、システムおよび媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710561850.2A CN109245850B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编译码方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110441953.1A Division CN113114427B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编码方法、译码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109245850A CN109245850A (zh) | 2019-01-18 |
CN109245850B true CN109245850B (zh) | 2021-04-02 |
Family
ID=65083383
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110441953.1A Active CN113114427B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编码方法、译码方法 |
CN201710561850.2A Active CN109245850B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编译码方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110441953.1A Active CN113114427B (zh) | 2017-07-11 | 2017-07-11 | 基于媒体内容的自适应系统码fec编码方法、译码方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN113114427B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115085872B (zh) * | 2022-03-09 | 2024-06-04 | 网易(杭州)网络有限公司 | 数据处理方法及装置、存储介质、电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007045141A1 (fr) * | 2005-10-17 | 2007-04-26 | Huawei Technologies Co., Ltd. | Procede de prise en charge de transmission de donnees multimedias avec tolerance aux erreurs |
CN103248897A (zh) * | 2013-05-15 | 2013-08-14 | 哈尔滨工业大学深圳研究生院 | 一种图像抗差错编码方法 |
WO2016110275A1 (zh) * | 2015-01-08 | 2016-07-14 | 上海交通大学 | 一种基于媒体内容的fec机制 |
CN106603192A (zh) * | 2015-10-16 | 2017-04-26 | 上海交通大学 | 一种基于媒体内容的自适应fec机制 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102131083B (zh) * | 2010-01-18 | 2013-08-14 | 西安电子科技大学 | 可分级视频优先级传输方法及装置 |
CN104320147B (zh) * | 2014-10-27 | 2017-08-08 | 中国传媒大学 | 一种系统不等差错保护的Raptor码方法 |
CN106603193B (zh) * | 2015-10-16 | 2019-11-15 | 上海交通大学 | 一种基于媒体内容的fec方法 |
-
2017
- 2017-07-11 CN CN202110441953.1A patent/CN113114427B/zh active Active
- 2017-07-11 CN CN201710561850.2A patent/CN109245850B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007045141A1 (fr) * | 2005-10-17 | 2007-04-26 | Huawei Technologies Co., Ltd. | Procede de prise en charge de transmission de donnees multimedias avec tolerance aux erreurs |
CN103248897A (zh) * | 2013-05-15 | 2013-08-14 | 哈尔滨工业大学深圳研究生院 | 一种图像抗差错编码方法 |
WO2016110275A1 (zh) * | 2015-01-08 | 2016-07-14 | 上海交通大学 | 一种基于媒体内容的fec机制 |
CN106603192A (zh) * | 2015-10-16 | 2017-04-26 | 上海交通大学 | 一种基于媒体内容的自适应fec机制 |
Also Published As
Publication number | Publication date |
---|---|
CN113114427B (zh) | 2023-01-10 |
CN109245850A (zh) | 2019-01-18 |
CN113114427A (zh) | 2021-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8429503B2 (en) | Encoding device and decoding device | |
US8037397B2 (en) | Method for recovering a lost data unit | |
KR102133930B1 (ko) | 데이터 패킷 송수신 장치 및 방법 | |
JP3349114B2 (ja) | 誤り訂正符号化装置及び復号装置 | |
KR20130057937A (ko) | 통신 시스템에서 패킷 송수신 장치 및 방법 | |
US11438097B2 (en) | Media content-based adaptive method, device and system for forward error correction (FEC) coding and decoding of systematic code, and medium | |
Xu et al. | Expanding-window BATS code for scalable video multicasting over erasure networks | |
KR20040071765A (ko) | Rs 코드들을 기초로 하여 포워드 에러 정정을 이용하는 비동등 에러 보호 | |
Hussain et al. | Adaptive video-aware forward error correction code allocation for reliable video transmission | |
CN108667557B (zh) | 一种基于媒体内容的自适应fec编码矩阵设计方法 | |
Fong et al. | Low-latency network-adaptive error control for interactive streaming | |
CN109245850B (zh) | 基于媒体内容的自适应系统码fec编译码方法 | |
JP5497917B2 (ja) | 直交多重記述符号化 | |
CN109687934B (zh) | 基于媒体内容的自适应系统码fec方法、装置及系统 | |
KR101259659B1 (ko) | 중요도에 따라 손실 복원율을 차별화하는 비균일 랩터 코딩방법 | |
US11706456B2 (en) | System and method for correcting network loss of data | |
KR102181553B1 (ko) | 전자장치에서 부호화 및 복호화를 위한 방법 및 장치 | |
CN113301387B (zh) | 数据编解码方法、相关设备及系统 | |
JPH07245600A (ja) | 誤り訂正方式 | |
Shih et al. | Small‐block interleaving for low‐delay cross‐packet forward error correction over burst‐loss channels | |
JP2005236739A (ja) | 送信装置、受信装置および映像配信システム | |
JP3730977B2 (ja) | データ伝送方法およびデータ処理方法 | |
KR20170075127A (ko) | 패킷손실 복구처리를 위한 경량화된 채널코딩 방법 | |
CN112769523A (zh) | 一种基于媒体内容的自适应fec方法及系统 | |
JP2008017330A (ja) | 映像音声配信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |