CN114584257A - 一种基于前向纠错编码的冗余分配方法及装置 - Google Patents
一种基于前向纠错编码的冗余分配方法及装置 Download PDFInfo
- Publication number
- CN114584257A CN114584257A CN202210094143.8A CN202210094143A CN114584257A CN 114584257 A CN114584257 A CN 114584257A CN 202210094143 A CN202210094143 A CN 202210094143A CN 114584257 A CN114584257 A CN 114584257A
- Authority
- CN
- China
- Prior art keywords
- data frame
- redundancy
- packet
- frame
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000011084 recovery Methods 0.000 claims abstract description 140
- 230000005540 biological transmission Effects 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本申请实施例公开了一种基于前向纠错编码的冗余分配方法及装置。本申请实施例提供的技术方案通过根据数据帧组中单个数据帧的原始包数量和丢包率,确定在不同冗余度限制条件和冗余分配方式下的原始包恢复期望值,并根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,进一步根据数据帧组的数据帧数量和恢复成功率确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,并将在各个冗余度限制条件下,最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式,更合理地对不同的数据帧分配冗余度,有效提高数据编码质量。
Description
技术领域
本申请实施例涉及编码技术领域,尤其涉及一种基于前向纠错编码的冗余分配方法及装置。
背景技术
在基于网络传输多媒体数据时,不可避免的会发生网络丢包的情况,有时候会造成视频出现马赛克、图像模糊、帧率下降、音频失真、音频中断等问题。为了保证在出现较大的数据往返时延(RTT,Round-Trip Time)时多媒体数据的传输质量,相关技术中会利用前向纠错编码(FEC,Forward Error Correction)技术对需要发送的多媒体数据进行编码,在原始包的基础上加上冗余包进行传输,减少数据重传导致的延迟。
但是目前前向纠错编码都是基于单个数据帧来进行基于前向纠错编码的冗余分配的,即所有数据帧所分配到的冗余度都是相同的,只关注到单个数据帧的恢复情况,数据编码质量较差。
发明内容
本申请实施例提供一种基于前向纠错编码的冗余分配方法及装置,以解决现有技术中目前前向纠错编码只关注到单个数据帧的恢复情况,数据编码质量较差的技术问题,考虑到数据帧组内不同数据帧之间的依赖关系,以数据帧组为单位从不同冗余分配方式中确定最优冗余分配方式,提高数据编码质量。
在第一方面,本申请实施例提供了一种基于前向纠错编码的冗余分配方法,根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,所述数据帧组包括多个数据帧;
根据所述原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率;
根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值;
根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
在第二方面,本申请实施例提供了一种基于前向纠错编码的冗余分配装置,包括恢复期望确定模块、成功率确定模块、解码期望确定模块和最优分配确定模块,其中:
所述恢复期望确定模块,用于根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,所述数据帧组包括多个数据帧;
所述成功率确定模块,用于根据所述原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率;
所述解码期望确定模块,用于根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值;
所述最优分配确定模块,用于根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
在第三方面,本申请实施例提供了一种基于前向纠错编码的冗余分配设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于前向纠错编码的冗余分配方法。
在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于前向纠错编码的冗余分配方法。
本申请实施例通过根据数据帧组中单个数据帧的原始包数量和丢包率,确定在不同冗余度限制条件和冗余分配方式下的原始包恢复期望值,并根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,进一步根据数据帧组的数据帧数量和恢复成功率确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,并将在各个冗余度限制条件下,最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式,考虑到数据帧组内不同数据帧之间的依赖关系,将数据帧组中解码成功的期望值最高的冗余分配方式作为最优冗余分配方式,更合理地对不同的数据帧分配冗余度,有效提高数据编码质量。
附图说明
图1是本申请实施例提供的一种基于前向纠错编码的冗余分配方法的流程图;
图2是本申请实施例提供的一种原始包恢复期望值的确定流程示意图;
图3是本申请实施例提供的一种单个数据帧的恢复成功率的确定流程示意图;
图4是本申请实施例提供的另一种基于前向纠错编码的冗余分配方法的流程图;
图5是本申请实施例提供的一种解码帧数期望值的计算流程示意图;
图6是本申请实施例提供的一种基于前向纠错编码的冗余分配装置的结构示意图;
图7是本申请实施例提供的一种基于前向纠错编码的冗余分配设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1给出了本申请实施例提供的一种基于前向纠错编码的冗余分配方法的流程图,本申请实施例提供的基于前向纠错编码的冗余分配方法可以由基于前向纠错编码的冗余分配装置来执行,该基于前向纠错编码的冗余分配装置可以通过硬件和/或软件的方式实现,并集成在基于前向纠错编码的冗余分配设备中。
下述以基于前向纠错编码的冗余分配装置执行基于前向纠错编码的冗余分配方法为例进行描述。参考图1,该基于前向纠错编码的冗余分配方法包括:
S101:根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,数据帧组包括多个数据帧。
其中,一个原始的数据帧组中包括多个数据帧,并且一个数据帧中包括有多个原始包。一般的,在数据往返时延较大时,需要在数据帧组中加入冗余包,并将最终的原始包和冗余包进行传输。接收端在接收到原始包和冗余包时,若出现原始包丢包的情况,可根据对应的冗余包对原始包进行纠错并恢复,得到与丢失的原始包一致的数据包,不需要重新请求上传丢失的原始包,提高数据传输效率。
示例性的,设定不同的单个数据帧所包含的原始包数量以及不同的丢包率的组合,针对不同的原始包数量和丢包率的组合,根据对应的单个数据帧的原始包数量和丢包率确定在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值。其中,原始包恢复期望值可理解为接收端接收到数据帧组后,根据冗余包进行纠错后,恢复后的原始包(包括接收成功的原始包和纠错恢复得到的原始包)的期望值。
其中,冗余度限制条件可理解为对数据帧组添加的冗余包的数量或相对于原始包的倍数的限制。可选的,在需要确定在给定的单个数据帧原始包数量和丢包率下对应的最优冗余分配方式时,对应的冗余度限制条件可根据对应数据传输链路的数据往返时延进行确定,并确数据往返时延越小,对应的冗余度限制条件对数据帧组添加的冗余包的数量或相对于原始包的倍数的限制越小。
其中,冗余分配方式可理解为在冗余度限制条件的约束下,对数据帧组中各个数据帧的冗余度的分配方式。
在一个实施例中,数据帧可以是视频帧、图像帧或音频帧,基于前向纠错编码技术对数据进行编码,对应的,一个数据帧组(例如GoP,Group of Pictures,图像组)中的数据帧包括关键帧(I帧)和前向预测编码帧(P帧),关键帧记录有完整的数据(完整的一帧视频或音频),前向预测编码帧的解码需要根据上一帧数据以及本帧声明的差别来进行解码,前向预测编码帧的解码依赖于在前的关键帧或前向预测编码帧,即一个数据帧组中的数据帧之间存在依赖关系。基于此,如图2提供的一种原始包恢复期望值的确定流程示意图所示,在根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值时,具体包括:
S1011:根据单个关键帧的第一原始包数量和丢包率,确定数据帧组中的关键帧在不同第一冗余度限制条件以及不同第一冗余分配方式下对应的关键帧原始包恢复期望值。
S1012:根据单个前向预测编码帧的第二原始包数量和丢包率,确定数据帧组中的前向预测编码帧在不同第二冗余度限制条件以及不同第二冗余分配方式下对应的预测帧原始包恢复期望值。
其中,在一个数据帧组中,一般包括一个关键帧和多个前向预测编码帧,单个关键帧包括多个关键帧原始包,前向预测编码帧均包括多个预测帧原始包,本方案将单个关键帧中关键帧原始包对应的数量定义为第一原始包数量,并将单个前向预测编码帧中预测帧原始包对应的数量定义为第二原始包数量,可以理解的是,关键帧记录有一个完整数据帧的数据,第一原始包数量大于第二原始包数量。
由于不同类型的数据帧所包含的原始包的数量存在区别,本方案分别针对关键帧和前向预测编码帧确定原始包恢复期望值(分别为关键帧原始包恢复期望值和预测帧原始包恢复期望值)。对应的,对关键帧和前向预测编码帧的冗余度限制条件分别为第一冗余度限制条件和第二冗余度限制条件,对关键帧和前向预测编码帧的冗余分配方式分别为第一冗余分配方式和第二冗余分配方式。可以理解的是,由于关键帧和前向预测编码帧都是在同一数据传输链路进行传输的,关键帧和前向预测编码帧对应的丢包率都是相同的。
示例性的,对于关键帧原始包恢复期望值的确定,设定不同的单个关键帧所包含的第一原始包数量以及不同的丢包率的组合,针对不同的第一原始包数量和丢包率的组合,根据对应的单个关键帧的第一原始包数量和丢包率确定在不同第一冗余度限制条件以及不同第一冗余分配方式下对应的关键帧原始包恢复期望值。其中,关键帧原始包恢复期望值可理解为接收端接收到数据帧组后,根据冗余包对关键帧进行纠错后,恢复后的关键帧原始包(包括接收成功的关键帧原始包和纠错恢复得到的关键帧原始包)的期望值。
而对于预测帧原始包恢复期望值的确定,设定不同的单个前向预测编码帧所包含的第二原始包数量以及不同的丢包率的组合,针对不同的第二原始包数量和丢包率的组合,根据对应的单个前向预测编码帧的第二原始包数量和丢包率确定在不同第二冗余度限制条件以及不同第二冗余分配方式下对应的预测帧原始包恢复期望值。其中,前向预测编码帧值可理解为接收端接收到数据帧组后,根据冗余包对前向预测编码帧进行纠错后,恢复后的预测帧原始包(包括接收成功的预测帧原始包和纠错恢复得到的预测帧原始包)的期望值。
S102:根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率。
示例性的,对于每一个不同原始包数量、不同丢包率、不同冗余度限制条件以及不同冗余分配方式的组合,根据对应的原始包恢复期望和单个数据帧的原始包数量,确定单个数据帧的恢复成功率。
其中,单个数据帧的恢复成功率可理解为接收端在接收到单个数据帧后,成功恢复得到原始包的概率(包括成功接收原始包和通过纠错恢复得到原始包的情况)。
在一个实施例中,数据帧组中的数据帧包括关键帧和前向预测编码帧,对应的原始包恢复期望值包括关键帧原始包恢复期望值和预测帧原始包恢复期望值,基于此,如图3提供的一种单个数据帧的恢复成功率的确定流程示意图所示,在根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率时,具体包括:
S1021:根据关键帧原始包恢复期望值和单个关键帧的第一原始包数量,确定单个关键帧的第一恢复成功率。
S1022:根据预测帧原始包恢复期望值和单个前向预测编码帧的第二原始包数量,确定单个前向预测编码帧的第二恢复成功率。
其中,关键帧和前向预测编码帧对应的恢复成功率分别为第一恢复成功率和第二恢复成功率。示例性的,对于第一恢复成功率的确定,针对每一个不同关键帧原始包数量、不同丢包率、不同第一冗余度限制条件以及不同第一冗余分配方式的组合,根据对应的关键帧原始包恢复期望值和单个关键帧的第一原始包数量,确定单个关键帧的第一恢复成功率。对于第二恢复成功率的确定,针对每一个不同预测帧原始包数量、不同丢包率、不同第二冗余度限制条件以及不同第二冗余分配方式的组合,根据对应的预测帧原始包恢复期望值和单个前向预测编码帧的第二原始包数量,确定单个前向预测编码帧的第二恢复成功率。
S103:根据数据帧组的数据帧数量和恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
示例性的,针对不同冗余度限制条件以及不同冗余分配方式的组合,根据不同原始包数量和不同丢包率的组合下对应的数据帧组的数据帧数量,以及数据帧组中单个数据帧的恢复成功率,计算数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
其中,解码帧数期望值可理解为对一个数据帧组解码成功的帧数期望值,即接收端接收到数据帧组后,基于冗余包对数据帧组中数据帧进行纠错恢复后,所对应的原始包(包括成功接收的原始包和通过纠错恢复得到的原始包)的期望值(得到完整的原始包后即可解码出对应的数据帧)。
在一个实施例中,数据帧组中的数据帧包括关键帧和前向预测编码帧,对应的恢复成功率包括单个关键帧的第一恢复成功率和单个前向预测编码帧的第二恢复成功率,基于此,在根据数据帧组的数据帧数量和恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值时,具体为:根据数据帧组的数据帧数量、单个关键帧的第一恢复成功率和单个前向预测编码帧的第二恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
示例性的,针对不同冗余度限制条件(包括第一冗余度限制条件和第二冗余度限制条件)以及不同冗余分配方式(包括第一冗余分配方式和第二冗余分配方式)的组合,根据不同原始包数量(包括第一原始包数量和第二原始包数量)和不同丢包率的组合下对应的数据帧组(包括关键帧和前向预测编码帧)的数据帧数量,以及数据帧组中单个数据帧的恢复成功率(包括第一恢复成功率和第二恢复成功率),计算数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
S104:根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
示例性的,针对各个不同原始包数量和不同丢包率的组合,根据不同的冗余度限制条件,将不同冗余分配方式对应的解码帧数期望值进行比较,确定最大的解码帧数期望值,并将最大的解码帧数期望值所对应的冗余分配方式确定为在最优冗余分配方式。
其中,不同原始包数量、不同丢包率的组合和不同的冗余度限制条件的组合,均对应有最优冗余分配方式。可以理解的是,不同原始包数量、不同丢包率和不同的冗余度限制条件的组合对应的最优冗余分配方式,可以是相同的冗余分配方式,也可以是不同的冗余分配方式。
在一个实施例中,可对不同原始包数量、丢包率和冗余度限制条件的组合所对应的最优冗余分配方式进行记录,以便于在后续数据传输过程中快速确定最优冗余分配方式。基于此,本方案提供的冗余分配方法还包括:
S105:根据不同原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录,形成冗余度匹配对照表。
示例性的,将不同原始包数量和丢包率的组合下,不同冗余度限制条件对应的最优冗余分配方式进行记录,并记录在冗余度匹配对照表中。可选的,冗余度匹配对照表可通过键值对的方式进行记录,例如,以原始包数量和丢包率为键,不同冗余度限制条件对应的最优冗余分配方式为值,记录在冗余度匹配对照表中,后续在需要确定所使用的冗余分配方式时,可以将所需要发送的数据帧的目标原始包数量和当前数据传输链路的实时丢包率为键,在冗余度匹配对照表中查找相同的原始包数量和丢包率,并根据设定的实时冗余度限制条件,确定对应的最优冗余分配方式。
在一个实施例中,在得到冗余度匹配对照表后,可将冗余度匹配对照表提供给数据发送方(例如数据发送端的应用程序),数据发送方在对需要发送的数据进行编码(例如基于前向纠错编码),往数据帧中添加冗余包以对抗网络丢包时(例如在多人房连麦、短视频、长视频等音视频流媒体应用场景),可确定当前网络环境下的实时冗余度限制条件(可根据当前数据传输链路下的数据往返时延进行确定),并根据所需要发送的数据帧所包含的目标原始包数量和当前数据传输链路的实时丢包率(实时丢包率可通过数据传输链路的实际传输情况或者是对数据传输链路的丢包检测得到),在冗余度匹配对照表中查找相同原始包数量和丢包率,并在对应冗余度限制条件下的最优冗余分配方式。在确定最优冗余分配方式后,可根据该最优冗余分配方式在数据帧中添加冗余包,并通过数据传输链路向数据接收端发送原始包和冗余包。此时按照最优冗余分配方式添加冗余包后的数据帧组,考虑到了不同冗余分配方式下同一数据帧组不同数据帧之间的依赖和影响关系,按照解码帧数期望值最大的冗余分配方式往不同数据帧添加对应数量的冗余包,够有效提高用户的网络抗性。
上述,通过根据数据帧组中单个数据帧的原始包数量和丢包率,确定在不同冗余度限制条件和冗余分配方式下的原始包恢复期望值,并根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,进一步根据数据帧组的数据帧数量和恢复成功率确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,并将在各个冗余度限制条件下,最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式,考虑到数据帧组内不同数据帧之间的依赖关系,将数据帧组中解码成功的期望值最高的冗余分配方式作为最优冗余分配方式,更合理地对不同的数据帧分配冗余度,有效提高数据编码质量。并且以数据帧组为单位进行前向纠错编码的冗余度分配,相对于相关技术中以数据帧为单位确定冗余度的方式,充分考虑到关键帧和前向预测编码帧之间的依赖关系,冗余度的分配更合理,通过基于网络质量指标(例如原始包数量、丢包率、数据往返时延等)的输入计算出最优的数据帧组中不同数据帧的冗余包的分配方式,有效提升音视频传输质量和观看质量,有效优化用户体验。
在上述实施例的基础上,图4给出了本申请实施例提供的另一种基于前向纠错编码的冗余分配方法的流程图,该基于前向纠错编码的冗余分配方法是对上述基于前向纠错编码的冗余分配方法的具体化。参考图4,该基于前向纠错编码的冗余分配方法包括:
S201:根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下不同数量的数据包被成功接收的接收成功概率,数据包包括原始包和冗余包。
示例性的,设定不同的单个数据帧所包含的原始包数量以及不同的丢包率的组合,针对不同的原始包数量和丢包率的组合,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下不同数量的数据包被成功接收的接收成功概率。其中,数据包包括原始包和冗余包,冗余包的数量根据对应的冗余度限制条件以及冗余分配方式进行确定。
假设单个数据帧的原始包数量为n,需要设置k个冗余包,并且每个数据包的丢包率为p,那么接收端在成功接收到i个数据包的接收成功概率Di为:
在一个实施例中,数据帧的类型包括关键帧和前向预测编码帧,对应的,接收成功概率包括关键帧接收成功概率和预测帧接收成功概率。同样的,关键帧接收成功概率和预测帧接收成功概率的计算方式可基于以上计算方式确定,本方案不再赘述。
S202:根据单个数据帧的原始包数量,以及被成功接收的不同数量的数据包中所包含原始包数量,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下的恢复后的原始包的期望值。
示例性的,在确定各个数量的数据包被成功接收的接收成功概率后,进一步设定被成功接收的不同数量的数据包中所包含的不同原始包数量,并针对每一个不同数量的数据包中所包含的不同原始包数量的情况,根据单个数据帧的原始包数量以及对应的原始包数量,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下的恢复后的原始包的期望值。
假设一个数据帧中被成功接收的数据包的数量为i,其中所包含的原始包数量为j,那么在根据冗余包恢复数据帧后的原始包的期望值为:
S203:根据接收成功概率和恢复后的原始包的期望值,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值。
示例性的,在确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下的恢复后的原始包的期望值后,综合各种不同数量的数据包中所包含的不同原始包数量的情况,根据对应的接收成功概率和恢复后的原始包的期望值,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值。
其中,原始包恢复期望值可基于以下公式进行确定:
在一个实施例中,在确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值时,冗余分配方式按照设定的冗余度分配步长进行迭代,并且关键帧对应的冗余度分配步长大于前向预测编码帧对应的冗余度分配步长。
例如,假设1个数据帧组中有1个关键帧和39个前向预测编码帧,其中关键帧中的关键帧原始包的第一原始包数量为100,前向预测编码帧中预测原始包的第二原始包数量为5,并且在计算原始包恢复期望值时,关键帧对应的冗余度在0.1倍到1.5倍之间变动,前向预测编码帧对应的冗余度限制在4倍以内。对不同类型的数据帧设置不同的冗余度分配步长,其中关键帧对应的冗余度分配步长为10(即按照0.1倍的冗余度进行迭代),前向预测编码帧对应的冗余度分配步长为5或1(即按照1倍或0.1倍的冗余度进行迭代),减少在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值的计算量,提高计算速度,减少机器性能损耗。
S204:根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率。
其中,单个数据帧的恢复成功率可基于以下公式确定:
S205:根据数据帧组的数据帧数量和恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
示例性的,假设在数据帧组中关键帧和前向预测编码帧的数据帧数量为m,那么,数据帧组在对应的解码帧数期望值可表示为:
E(Gop)=B0(I)·B0(P1)·B0(P2)·B0(P3)·...·B0(Pm-1)·m+B0(I)·B0(P1)·0(P2)·B0(P3)·...·B0(Pm-2)·(m-1)+B0(I)·B0(P1)·0(P2)·...·0(Pm-3)·(1-B0(Pm-2))·(m-2)+B0(I)·(1-B0(P1))
在一个实施例中,由于上述算法公式中涉及到大数阶乘,可以利用斯特林公式计算大数阶乘的近似值,例如对于原始包数量n对应的阶乘,可基于一下公式计算近似值:
其中,e为自然指数,可以理解的是,利用斯特林公式计算大数阶乘的近似值,n在很小的时候计算得到的近似值就非常接近准确结果了,并且n的值越大,近似值越接近正确结果。
在一个实施例中,由于上述提供的公式只能取到你在170以内的结果,即最大只能得到170的阶乘,为了减少计算结果溢出的情况出现,将计算结果(解码帧数期望值)的数据结构设置为d*10^i的格式,并且在计算过程中通过减少d,增加i的方式减少计算结果的溢出,并保持表示的值不变。
在一个实施例中,可通过将数据帧组划分成多个数据帧分组,分别计算各个数据帧分组对应的分组解码帧数期望值,再对各个分组解码帧数期望值进行整合的方式计算解码帧数期望值,以减少阶乘计算(例如中n+k的阶乘计算)。基于此,如图5提供的一种解码帧数期望值的计算流程示意图所示,在根据数据帧组的数据帧数量和恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值时,具体包括:
S2051:将数据帧组划分为多个数据帧分组。
示例性的,社招设定的划分步长将数据帧组划分成多个数据帧分组。例如,假设1个数据帧组中有1个关键帧和39个前向预测编码帧,划分步长为10个帧,则以10个帧为单位将10个数据帧分为4个数据帧分组。
S2052:根据各个数据帧分组的分组数据帧数量和恢复成功率,确定数据帧分组在不同冗余度限制条件以及不同冗余分配方式下对应的分组解码帧数期望值。
示例性的,对于每一个数据帧分组,根据对应的分组数据帧数量和恢复成功率,确定数据帧分组在不同冗余度限制条件以及不同冗余分配方式下对应的分组解码帧数期望值。
其中每个数据帧分组对应的分组解码帧数期望值可参考以上提供的解码帧数期望值的确定方式进行确定(即将数据分组对应的参数替换掉原先整个数据帧组对应的参数),本方案不再赘述。
S2053:根据各个数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
在计算得到各个数据帧分组在不同冗余度限制条件以及不同冗余分配方式下对应的分组解码帧数期望值后,考虑到在第一个数据帧分组之后的数据帧分组的解码成功要依赖于上一个数据帧分组中最后一个数据帧的恢复成功率,本方案对于各个不同冗余度限制条件以及不同冗余分配方式的组合,根据各个数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率确定数据帧组解码帧数期望值,即解码帧数期望值可表示为第一个数据帧分组对应的分组解码帧数期望值,和其他各个数据帧分组对应的分组解码帧数期望值与前一组数据帧分组最后一个数据帧对应的恢复成功率的积的和。
在一个实施例中,数据帧的类型包括关键帧和前向预测编码帧,数据帧分组包括第一数据帧分组和多个第二数据帧分组,其中,第一数据帧分组包括关键帧和前向预测编码帧(关键帧位于第一数据帧分组中的最前面),第二数据帧分组包括前向预测编码帧,并且第一数据帧分组位于第二数据帧分组之前。基于此,在根据各个数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,具体为:根据第一数据帧分组的分组解码帧数期望值,以及各个第二数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
可以理解的是,在一个数据帧在中只存在一个关键帧,那么对数据帧组进行分组后,第一数据帧分组有1个,第二数据帧分组有多个。
示例性的,在计算得到各个数据帧分组在不同冗余度限制条件以及不同冗余分配方式下对应的分组解码帧数期望值后,考虑到在第二数据帧分组的解码成功要依赖于上一个数据帧分组(第一数据帧分组或第二数据帧分组)中最后一个数据帧的恢复成功率,本方案对于各个不同冗余度限制条件以及不同冗余分配方式的组合,根据根据第一数据帧分组的分组解码帧数期望值,以及各个第二数据帧分组的分组解码帧数期望值以及前一组数据帧分组(第一数据帧分组或第二数据帧分组)中最后一个数据帧对应的恢复成功率确定数据帧组解码帧数期望值,即解码帧数期望值可表示为第一数据帧分组对应的分组解码帧数期望值,和各个第二数据帧分组对应的分组解码帧数期望值与前一组数据帧分组最后一个数据帧对应的恢复成功率的积的和。
例如,假设1个数据帧组中有1个关键帧和39个前向预测编码帧,划分步长为10个帧,则以10个帧为单位将10个数据帧分为1个第一数据帧分组和3个第二数据帧分组,将第一数据帧分组表示为mi,第二数据帧分组表示为mp(mp1、mp2、mp3),第二数据帧分组的前一组数据帧分组中最后一个数据帧对应的恢复成功率为B(B0、B1、B2),解码帧数期望值可基于以下公式进行确定:
E(Gop)=E(mi)+B0·E(mp1)+B1·E(mp2)+B2·E(mp3)
假设丢包率设定为20%,关键帧对应的冗余度在0.1倍到1.5倍之间变动,前向预测编码帧对应的冗余度限制在4倍以内,若以数据帧组整体来计算不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,则需要计算150×2038次才能得到最优解,可将数据帧组划分为4个数据帧分组,并将第一数据帧分组中关键帧对应的冗余度分配步长为10(即按照0.1倍的冗余度进行迭代),前向预测编码帧对应的冗余度分配步长为5(即按照1倍的冗余度进行迭代),将第二数据帧分组中前向预测编码帧对应的冗余度分配步长为1(即按照0.1倍的冗余度进行迭代),则需要计算15×48+209次就能得到最优解,有效减少计算量,提高计算速度,减少机器性能损耗。
S206:根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
针对各个不同原始包数量和不同丢包率的组合,根据不同的冗余度限制条件,将不同冗余分配方式对应的解码帧数期望值进行比较,确定最大的解码帧数期望值,并将最大的解码帧数期望值所对应的冗余分配方式确定为在最优冗余分配方式。
表1提供了一种最优冗余分配方式下,各个数据帧对应的冗余度分配方式(表中标示所分配的冗余包的数量),其中,1个数据帧组中有1个关键帧(K1)和39个前向预测编码帧(K2-40),K1-K10为第一数据帧分组中的10个数据帧,K11-K20、K21-K30、K31-K40分别为3个第二数据帧分组中的10个数据帧,其中关键帧中的关键帧原始包的第一原始包数量为100,前向预测编码帧中预测原始包的第二原始包数量为5,假设冗余度限制条件为1倍冗余度。根据表1中的冗余度分配方式,可计算出解码帧数期望值为38.46148163帧。
K1-K10 | 50 | 15 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
K11-K20 | 11 | 5 | 5 | 5 | 5 | 5 | 5 | 3 | 3 | 3 |
K21-K30 | 11 | 5 | 5 | 5 | 5 | 5 | 5 | 3 | 3 | 3 |
K31-K40 | 11 | 5 | 5 | 5 | 5 | 5 | 5 | 3 | 3 | 3 |
表2提供了一种现有技术中,在相同场景下各个数据帧按照1倍冗余度限制对应的冗余度分配方式,根据表2中的冗余度分配方式,可计算出解码帧数期望值为37.09170537帧,本方案相对于现有技术的冗余度分配方式,每个图像帧组在恢复后的帧数要多1.37帧,能够有效提高用户的网络抗性,从而提升用户体验。
K1-K10 | 100 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
K11-K20 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
K21-K30 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
K31-K40 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
S207:根据不同原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录,形成冗余度匹配对照表。
在一个实施例中,数据帧包括关键帧和前向预测编码帧,基于此,在根据不同原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录时,具体为:根据不同关键帧的第一原始包数量、前向预测编码帧的第二原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录。
对不同关键帧的第一原始包数量、前向预测编码帧的第二原始包数量和丢包率的组合下,不同冗余度限制条件对应的最优冗余分配方式进行记录,并记录在冗余度匹配对照表中。可选的,冗余度匹配对照表可通过键值对的方式进行记录,例如,以第一原始包数量、第二原始包数量和丢包率为键,不同冗余度限制条件对应的最优冗余分配方式为值,记录在冗余度匹配对照表中,后续在需要确定所使用的冗余分配方式时,可以将所需要发送的数据帧组中关键帧的关键帧原始包数量、前向预测编码帧的预测帧原始包数量和当前数据传输链路的实时丢包率为键,在冗余度匹配对照表中查找相同的第一原始包数量、第二原始包数量和丢包率,并根据设定的实时冗余度限制条件,确定对应的最优冗余分配方式。
在一个实施例中,在得到冗余度匹配对照表后,可将冗余度匹配对照表提供给数据发送方,数据发送方在对需要发送的数据进行编码,往数据帧中添加冗余包以对抗网络丢包时,可确定当前网络环境下的实时冗余度限制条件,并根据所需要发送的数据帧组中关键帧的关键帧原始包数量、前向预测编码帧的预测帧原始包数量和当前数据传输链路的实时丢包率,在冗余度匹配对照表中查找相同第一原始包数量、第二原始包数量和丢包率,并在对应冗余度限制条件下的最优冗余分配方式。在确定最优冗余分配方式后,可根据该最优冗余分配方式在关键帧和后续的各个前向预测编码帧中添加对应数量的冗余包,并通过数据传输链路向数据接收端发送原始包和冗余包。此时按照最优冗余分配方式添加冗余包后的数据帧组,考虑到了不同冗余分配方式下同一数据帧组不同数据帧(关键帧和前向预测编码帧)之间的依赖和影响关系,按照解码帧数期望值最大的冗余分配方式往不同数据帧添加对应数量的冗余包,够有效提高用户的网络抗性。
上述,通过根据数据帧组中单个数据帧的原始包数量和丢包率,确定在不同冗余度限制条件和冗余分配方式下的原始包恢复期望值,并根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,进一步根据数据帧组的数据帧数量和恢复成功率确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,并将在各个冗余度限制条件下,最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式,考虑到数据帧组内不同数据帧之间的依赖关系,将数据帧组中解码成功的期望值最高的冗余分配方式作为最优冗余分配方式,更合理地对不同的数据帧分配冗余度,有效提高数据编码质量。同时,对冗余度分配的计算方式进行优化,通过限制冗余度分配步长以及对数据帧组进行分组,进一步减少计算量,提高计算速度,减少机器性能损耗,基于最大解码帧数期望值确定的最优冗余分配方式进行前向纠错编码,实现数据帧组内关键帧和前向预测编码帧冗余度的最优分配,实现整个数据帧组的纠错解码成功率最优化,有效减少音视频卡顿的情况,提高用户的使用体验。
图6是本申请实施例提供的一种基于前向纠错编码的冗余分配装置的结构示意图。参考图6,该基于前向纠错编码的冗余分配装置包括恢复期望确定模块61、成功率确定模块62、解码期望确定模块63和最优分配确定模块64。
其中,恢复期望确定模块61,用于根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,数据帧组包括多个数据帧;成功率确定模块62,用于根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率;解码期望确定模块63,用于根据数据帧组的数据帧数量和恢复成功率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值;最优分配确定模块64,用于根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
上述,通过根据数据帧组中单个数据帧的原始包数量和丢包率,确定在不同冗余度限制条件和冗余分配方式下的原始包恢复期望值,并根据原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,进一步根据数据帧组的数据帧数量和恢复成功率确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,并将在各个冗余度限制条件下,最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式,考虑到数据帧组内不同数据帧之间的依赖关系,将数据帧组中解码成功的期望值最高的冗余分配方式作为最优冗余分配方式,更合理地对不同的数据帧分配冗余度,有效提高数据编码质量。
本申请实施例还提供了一种基于前向纠错编码的冗余分配设备,该基于前向纠错编码的冗余分配设备可集成本申请实施例提供的基于前向纠错编码的冗余分配装置。图7是本申请实施例提供的一种基于前向纠错编码的冗余分配设备的结构示意图。参考图7,该基于前向纠错编码的冗余分配设备包括:输入装置73、输出装置74、存储器72以及一个或多个处理器71;存储器72,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器71执行,使得一个或多个处理器71实现如上述实施例提供的基于前向纠错编码的冗余分配方法。上述提供的基于前向纠错编码的冗余分配装置、设备和计算机可用于执行上述任意实施例提供的基于前向纠错编码的冗余分配方法,具备相应的功能和有益效果。
本申请实施例还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的基于前向纠错编码的冗余分配方法。当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上提供的基于前向纠错编码的冗余分配方法,还可以执行本申请任意实施例所提供的基于前向纠错编码的冗余分配方法中的相关操作。上述实施例中提供的基于前向纠错编码的冗余分配装置、设备及存储介质可执行本申请任意实施例所提供的基于前向纠错编码的冗余分配方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于前向纠错编码的冗余分配方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里提供的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (13)
1.一种基于前向纠错编码的冗余分配方法,其特征在于,包括:
根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,所述数据帧组包括多个数据帧;
根据所述原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率;
根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值;
根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
2.根据权利要求1所述的基于前向纠错编码的冗余分配方法,其特征在于,所述数据帧包括关键帧和前向预测编码帧;
所述根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,包括:
根据单个关键帧的第一原始包数量和丢包率,确定数据帧组中的关键帧在不同第一冗余度限制条件以及不同第一冗余分配方式下对应的关键帧原始包恢复期望值;
根据单个前向预测编码帧的第二原始包数量和丢包率,确定数据帧组中的前向预测编码帧在不同第二冗余度限制条件以及不同第二冗余分配方式下对应的预测帧原始包恢复期望值。
3.根据权利要求2所述的基于前向纠错编码的冗余分配方法,其特征在于,所述根据所述原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率,包括:
根据关键帧原始包恢复期望值和单个关键帧的第一原始包数量,确定单个关键帧的第一恢复成功率;
根据预测帧原始包恢复期望值和单个前向预测编码帧的第二原始包数量,确定单个前向预测编码帧的第二恢复成功率。
4.根据权利要求3所述的基于前向纠错编码的冗余分配方法,其特征在于,所述根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,包括:
根据所述数据帧组的数据帧数量、单个关键帧的第一恢复成功率和单个前向预测编码帧的第二恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
5.根据权利要求1所述的基于前向纠错编码的冗余分配方法,其特征在于,所述根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,包括:
根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下不同数量的数据包被成功接收的接收成功概率,所述数据包包括原始包和冗余包;
根据单个数据帧的原始包数量,以及被成功接收的不同数量的数据包中所包含原始包数量,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下的恢复后的原始包的期望值;
根据所述接收成功概率和恢复后的原始包的期望值,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值。
6.根据权利要求1所述的基于前向纠错编码的冗余分配方法,其特征在于,所述根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,包括:
将所述数据帧组划分为多个数据帧分组;
根据各个所述数据帧分组的分组数据帧数量和所述恢复成功率,确定所述数据帧分组在不同冗余度限制条件以及不同冗余分配方式下对应的分组解码帧数期望值;
根据各个所述数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
7.根据权利要求6所述的基于前向纠错编码的冗余分配方法,其特征在于,所述数据帧分组包括第一数据帧分组和多个第二数据帧分组,所述第一数据帧分组包括关键帧和前向预测编码帧,所述第二数据帧分组包括前向预测编码帧,所述第一数据帧分组位于所述第二数据帧分组之前;
所述根据各个所述数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值,包括:
根据第一数据帧分组的分组解码帧数期望值,以及各个第二数据帧分组的分组解码帧数期望值以及前一组数据帧分组最后一个数据帧对应的恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值。
8.根据权利要求1-7任一项所述的基于前向纠错编码的冗余分配方法,其特征在于,所述冗余分配方式按照设定的冗余度分配步长进行迭代,关键帧对应的冗余度分配步长大于前向预测编码帧对应的冗余度分配步长。
9.根据权利要求1-7任一项所述的基于前向纠错编码的冗余分配方法,其特征在于,所述方法还包括:
根据不同原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录,形成冗余度匹配对照表。
10.根据权利要求9所述的基于前向纠错编码的冗余分配方法,其特征在于,所述数据帧包括关键帧和前向预测编码帧;
所述根据不同原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录,包括:
根据不同关键帧的第一原始包数量、前向预测编码帧的第二原始包数量和丢包率的组合,对不同冗余度限制条件对应的最优冗余分配方式进行记录。
11.一种基于前向纠错编码的冗余分配装置,其特征在于,包括恢复期望确定模块、成功率确定模块、解码期望确定模块和最优分配确定模块,其中:
所述恢复期望确定模块,用于根据单个数据帧的原始包数量和丢包率,确定数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的原始包恢复期望值,所述数据帧组包括多个数据帧;
所述成功率确定模块,用于根据所述原始包恢复期望值和单个数据帧的原始包数量确定单个数据帧的恢复成功率;
所述解码期望确定模块,用于根据所述数据帧组的数据帧数量和所述恢复成功率,确定所述数据帧组在不同冗余度限制条件以及不同冗余分配方式下对应的解码帧数期望值;
所述最优分配确定模块,用于根据不同冗余度限制条件,将最大的解码帧数期望值对应的冗余分配方式确定为最优冗余分配方式。
12.一种基于前向纠错编码的冗余分配设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10任一项所述的基于前向纠错编码的冗余分配方法。
13.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10任一项所述的基于前向纠错编码的冗余分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094143.8A CN114584257B (zh) | 2022-01-26 | 2022-01-26 | 一种基于前向纠错编码的冗余分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210094143.8A CN114584257B (zh) | 2022-01-26 | 2022-01-26 | 一种基于前向纠错编码的冗余分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584257A true CN114584257A (zh) | 2022-06-03 |
CN114584257B CN114584257B (zh) | 2024-02-13 |
Family
ID=81769939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210094143.8A Active CN114584257B (zh) | 2022-01-26 | 2022-01-26 | 一种基于前向纠错编码的冗余分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584257B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090138784A1 (en) * | 2007-11-13 | 2009-05-28 | Fujitsu Limited | Coding device and coding method |
CN101588597A (zh) * | 2009-07-01 | 2009-11-25 | 南京工业大学 | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 |
US20090327844A1 (en) * | 2008-06-27 | 2009-12-31 | Canon Kabushiki Kaisha | Transmission apparatus, receiving apparatus, and method |
US20100104025A1 (en) * | 2001-11-02 | 2010-04-29 | The Regents Of The University Of California | Technique to enable efficient adaptive streaming and transcoding of video and other signals |
JP2010119133A (ja) * | 2010-01-28 | 2010-05-27 | Sony Corp | パケット送信装置、通信システム及びプログラム |
CN102065289A (zh) * | 2010-09-09 | 2011-05-18 | 西安电子科技大学 | 基于网络编码的可靠性视频传输方法及装置 |
CN102231837A (zh) * | 2011-06-23 | 2011-11-02 | 西交利物浦大学 | 基于子画面群的前向纠错实时视频传输方法 |
US20120093017A1 (en) * | 2005-12-15 | 2012-04-19 | Zhengye Liu | Adaptive joint source and channel coding scheme for h.264 video multicasting over wireless networks |
CN103051981A (zh) * | 2012-11-16 | 2013-04-17 | 北京邮电大学 | 用于视频多跳传输的自适应帧长计算方法 |
US20140153637A1 (en) * | 2011-09-28 | 2014-06-05 | Panasonic Corporation | Data processing device and data processing method |
US20150189332A1 (en) * | 2007-07-31 | 2015-07-02 | Cisco Technology, Inc. | Mitigating Impairments in Redundant Streams |
CN106028033A (zh) * | 2016-05-10 | 2016-10-12 | 天津大学 | 一种适用于无线视频传输的自适应跨层前向纠错方法 |
CN106303539A (zh) * | 2015-05-22 | 2017-01-04 | 江苏惠纬讯信息科技有限公司 | 一种基于h.264视频报文类型的不等差错传输保护方法 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN107181968A (zh) * | 2016-03-11 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 一种视频数据的冗余控制方法和装置 |
WO2017157303A1 (zh) * | 2016-03-15 | 2017-09-21 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN111901601A (zh) * | 2019-05-06 | 2020-11-06 | 上海交通大学 | 动态点云数据传输中的不等差错保护的码率分配方法 |
CN113612580A (zh) * | 2021-08-03 | 2021-11-05 | 四川大学 | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 |
-
2022
- 2022-01-26 CN CN202210094143.8A patent/CN114584257B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100104025A1 (en) * | 2001-11-02 | 2010-04-29 | The Regents Of The University Of California | Technique to enable efficient adaptive streaming and transcoding of video and other signals |
US20120093017A1 (en) * | 2005-12-15 | 2012-04-19 | Zhengye Liu | Adaptive joint source and channel coding scheme for h.264 video multicasting over wireless networks |
US20150189332A1 (en) * | 2007-07-31 | 2015-07-02 | Cisco Technology, Inc. | Mitigating Impairments in Redundant Streams |
US20090138784A1 (en) * | 2007-11-13 | 2009-05-28 | Fujitsu Limited | Coding device and coding method |
US20090327844A1 (en) * | 2008-06-27 | 2009-12-31 | Canon Kabushiki Kaisha | Transmission apparatus, receiving apparatus, and method |
CN101588597A (zh) * | 2009-07-01 | 2009-11-25 | 南京工业大学 | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 |
JP2010119133A (ja) * | 2010-01-28 | 2010-05-27 | Sony Corp | パケット送信装置、通信システム及びプログラム |
CN102065289A (zh) * | 2010-09-09 | 2011-05-18 | 西安电子科技大学 | 基于网络编码的可靠性视频传输方法及装置 |
CN102231837A (zh) * | 2011-06-23 | 2011-11-02 | 西交利物浦大学 | 基于子画面群的前向纠错实时视频传输方法 |
US20140153637A1 (en) * | 2011-09-28 | 2014-06-05 | Panasonic Corporation | Data processing device and data processing method |
CN103051981A (zh) * | 2012-11-16 | 2013-04-17 | 北京邮电大学 | 用于视频多跳传输的自适应帧长计算方法 |
CN106303539A (zh) * | 2015-05-22 | 2017-01-04 | 江苏惠纬讯信息科技有限公司 | 一种基于h.264视频报文类型的不等差错传输保护方法 |
CN106937134A (zh) * | 2015-12-31 | 2017-07-07 | 深圳市潮流网络技术有限公司 | 一种数据传输的编码方法、编码发送装置及系统 |
CN107181968A (zh) * | 2016-03-11 | 2017-09-19 | 腾讯科技(深圳)有限公司 | 一种视频数据的冗余控制方法和装置 |
US20180234116A1 (en) * | 2016-03-11 | 2018-08-16 | Tencent Technology (Shenzhen) Company Limited | Video data redundancy control method and apparatus |
WO2017157303A1 (zh) * | 2016-03-15 | 2017-09-21 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN107196746A (zh) * | 2016-03-15 | 2017-09-22 | 中兴通讯股份有限公司 | 实时通信中的抗丢包方法、装置和系统 |
CN106028033A (zh) * | 2016-05-10 | 2016-10-12 | 天津大学 | 一种适用于无线视频传输的自适应跨层前向纠错方法 |
CN111901601A (zh) * | 2019-05-06 | 2020-11-06 | 上海交通大学 | 动态点云数据传输中的不等差错保护的码率分配方法 |
CN113612580A (zh) * | 2021-08-03 | 2021-11-05 | 四川大学 | 基于喷泉码编码策略和冗余自适应的屏幕更新传输方法 |
Non-Patent Citations (7)
Title |
---|
CÉSAR DIAZ; JULIAN CABRERA; FERNANDO JAUREGUIZAR; NARCISO GARCIA: ""Adaptive protection scheme for MVC-encoded stereoscopic video streaming in IP-based networks"", 《2012 VISUAL COMMUNICATIONS AND IMAGE PROCESSING》 * |
HAO CHEN; XU ZHANG; YILING XU; ZHAN MA; WENJUN ZHANG: ""Efficient Mobile Video Streaming via Context-Aware RaptorQ-Based Unequal Error Protection"", 《 IEEE TRANSACTIONS ON MULTIMEDIA 》 * |
XIN LIU; ZHI-CHENG LI; ZI-FEI CHEN; LEI WANG: ""Perceptual_quality_optimized_FEC_for_video_streami"", 《2010 INTERNATIONAL CONFERENCE ON AUDIO, LANGUAGE AND IMAGE PROCESSING》 * |
丁贵广: ""面向通信的视频编码技术研究"", 《中国博士学位论文全文数据库》 * |
梅峥, 李锦涛: "一种自适应的视频流化前向纠错算法", 软件学报, no. 09 * |
沈专;白光伟;沈航;: "云游戏中基于帧率控制的FEC补偿策略", 小型微型计算机系统, no. 05 * |
靳勇;白光伟;: "Kalman滤波的自适应链路层FEC控制策略", 计算机工程与应用, no. 07 * |
Also Published As
Publication number | Publication date |
---|---|
CN114584257B (zh) | 2024-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101272495B (zh) | 用于传输基于分组的图像帧的方法和装置 | |
Vukobratovic et al. | Scalable video multicast using expanding window fountain codes | |
US8553757B2 (en) | Forward error correction for media transmission | |
US20090110060A1 (en) | Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata | |
KR20050113665A (ko) | 멀티미디어 송신을 위한 사이드 정보를 인코딩 및디코딩하는 방법, 장치 및 시스템 | |
US8526505B2 (en) | System and method for transmitting digital video stream using SVC scheme | |
CN113114415B (zh) | 基于可调稀疏网络编码的密度选择方法 | |
KR102383892B1 (ko) | 미디어 콘텐츠 기반의 자가 적응 시스템 코드 fec의 코딩 및 디코딩 방법, 장치, 시스템 및 매체 | |
CN109587488B (zh) | 一种基于率失真优化和丢帧预测的长参考帧的选取方法 | |
Thomos et al. | Randomized network coding for UEP video delivery in overlay networks | |
CN103368586B (zh) | 面向深空探测多媒体业务的独立窗不等保护喷泉编码方法 | |
CN114584257B (zh) | 一种基于前向纠错编码的冗余分配方法及装置 | |
CN102263606B (zh) | 信道数据编码、解码方法及装置 | |
JPH07245600A (ja) | 誤り訂正方式 | |
CN112004084B (zh) | 一种利用量化参数排序的码率控制优化方法及系统 | |
KR20130114720A (ko) | 이종 네트워크를 통한 콘텐츠 전달을 위해 클리프 효과를 완화하기 위한 시스템 및 방법 | |
US9167279B2 (en) | Method for payload formatting and deformatting for burst loss recovery | |
WO2015101280A1 (zh) | 一种信道的码率分配方法及系统 | |
CN109245850B (zh) | 基于媒体内容的自适应系统码fec编译码方法 | |
CN112004087B (zh) | 一种以双帧作为控制单元的码率控制优化方法及存储介质 | |
US20230361914A1 (en) | Selection of pivot positions for linear network codes | |
Geng et al. | Unequal error protection for real-time video streaming using expanding window reed-solomon code | |
Vukobratovic et al. | Scalable data multicast using expanding window fountain codes | |
Hsiao et al. | An analysis modeling of frame-level forward error correction for H. 264/AVC over burst-loss channels | |
KR101333949B1 (ko) | 위치정보행렬을 활용한 네트워크 코딩된 데이터의 근사 복호화 방법 |
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 |