CN101686106A - 自适应前向纠错的方法、装置和*** - Google Patents
自适应前向纠错的方法、装置和*** Download PDFInfo
- Publication number
- CN101686106A CN101686106A CN200810223805A CN200810223805A CN101686106A CN 101686106 A CN101686106 A CN 101686106A CN 200810223805 A CN200810223805 A CN 200810223805A CN 200810223805 A CN200810223805 A CN 200810223805A CN 101686106 A CN101686106 A CN 101686106A
- Authority
- CN
- China
- Prior art keywords
- error correction
- forward error
- network
- transmission
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种自适应前向纠错的方法、装置和***,其中自适应前向纠错的方法包括:获取当前传输网络质量数据;根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。自适应前向纠错的装置包括:获取模块,用于获取当前传输网络质量数据;策略确定模块,用于根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。本发明实施例还提供了一种自适应前向纠错的***。本发明实施例提供的自适应前向纠错的方法、装置和***在选择前向纠错策略时考虑了影响网络传输内容质量的参数的影响,能够提高前向纠错的效果。
Description
技术领域
本发明实施例涉及数据传输技术领域,特别涉及一种自适应前向纠错的方法、装置和***。
背景技术
在基于数据包的通信网络中,尤其是不具有受保证的服务质量的互联网协议(Internet Protocol,IP)网络中,数据传输时经常会遭受不定数量的数据包丢失,数据包丢失的原因很多,例如可能是路由器或数据段过载、数据包中比特误差造成;在流媒体传输,特别是压缩的视频数据的传输中,受数据包丢失的影响很大。
在实施数据包恢复的技术方案中,可以利用重传、前向纠错(ForwardError Correction,以下简称FEC)或者重传与前向纠错结合的方法来恢复数据包,但对于流媒体业务而言,其对实时性的要求很高,尤其是在直播、组播、快进快退模式和视频通话的情况下,采用重传的方式来解决丢包问题存在很大的局限性。在现有技术中,FEC是通过发送冗余信息来恢复被损坏、被丢弃或丢失的数据包中所包含的数据,该冗余信息可以被接收器用来重构丢失的数据,因此,FEC可以提供比重传更快的数据恢复,并且不需要接收信道,FEC尤其适合于流媒体传输。
FEC技术可分为静态FEC技术和自适应前向纠错(Adapted Forward ErrorCorrection,以下简称AFEC)技术。在无线网络中使用FEC技术已经成为无线视频应用的活跃研究领域,FEC的一个特点就是适于组播,并且FEC不需要与视频编码器进行交互,因此,FEC可应用于任何视频编码技术以及点播和直播的视频。但是由于网络资源和静态FEC算法所添加的冗余量之间是不匹配的,并且冗余量要消耗无线网络的有限带宽,静态FEC算法有可能会降低性能等级。
相对于静态FEC技术,自适应前向纠错(Adapted Forward ErrorCorrection,以下简称AFEC)技术更有利于改善网络性能,所有AFEC技术都需要反馈来估计可用的网络带宽,然后基于该反馈来修改冗余量。反馈可以是显式的,如实时控制协议报告,或者是隐式的,如使用无线发生器底层报重传。一般而言,在网络条件差时增加要发送的冗余包数,在网络条件优时,只需要发送少量的冗余包;以上并没有考虑传输内容特性对FEC的影响,如数据包长度、码流速度和媒体编码技术对FEC的影响,从而使得对于同样的分组长度为k的不同传输内容,FEC采用的策略是相同的。
发明人在实现本发明的过程中发现,现有技术至少存在如下问题:现有的纠错方法都是源于链路层的自适应FEC算法,简单的说就是:条件好,减少冗余;条件不好,增加冗余。但是在应用层数据包的长度不同,其丢包率不能等同于链路层的位差错率,特别对视频来说,在不同的场景下,不同的包,不同的编码方式对视频质量都有不同的影响。综上所述,现有技术中在纠错过程中只针对网络参数调整,而没有考虑具体的传输内容特性。
发明内容
本发明实施例是针对现有前向纠错过程中只针对网络参数而没有考虑具体的传输内容特性的缺点,提供一种自适应前向纠错的方法、装置和***。
本发明实施例的一方面,提供了一种自适应前向纠错的方法,包括:
获取当前传输网络质量数据;
根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
本发明实施例的另一方面,提供了一种自适应前向纠错的装置,包括:
获取模块,用于获取当前传输网络质量数据;
策略确定模块,用于根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
本发明实施例的再一方面,提供了一种自适应前向纠错的***,包括:
自适应前向纠错装置,用于获取当前传输网络质量数据,并根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略;
自适应前向纠错编码器,用于根据所述自适应前向纠错装置确定的前向纠错策略对数据进行编码,生成冗余包。
本发明实施例提供的自适应前向纠错的方法、装置和***,通过在选择前向纠错方法时将影响网络传输内容质量的因素考虑进来,使得选择的前向纠错更加适应实际网络状况,能够提高前向纠错效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明自适应前向纠错的方法实施例一的流程示意图;
图2为本发明自适应前向纠错的方法实施例二的流程示意图;
图3为本发明一个具体实施例的***架构图;
图4为本发明一个具体实施例的流程示意图;
图5为本发明自适应前向纠错的方法实施例三的流程示意图;
图6为本发明自适应前向纠错的装置实施例一的结构示意图;
图7为本发明自适应前向纠错的装置实施例二的结构示意图;
图8为本发明自适应前向纠错的装置实施例三的结构示意图;
图9为本发明自适应前向纠错的***实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种把传输网络的服务质量参数和传输内容结合起来应用于自适应前向纠错的方法,图1为本发明自适应前向纠错的方法实施例一的流程示意图,如图1所示,包括如下步骤:
步骤101、获取当前传输网络质量数据;
步骤102、根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
本实施例中在选择前向纠错策略的过程中考虑影响网络传输内容质量的参数,使得选择的前向纠错策略更加合理,更加符合实际的网络传输情况,前向纠错的效果将更加明显。
上述实施例中的当前传输网络质量数据可以为当前服务质量(Qualityof Service,以下简称:QoS)参数,QoS参数可以由接收端反馈或由网络节点反馈;影响网络传输内容质量的参数包括但不限于传输协议、错误扩散、解码器错误隐藏、数据包的打包策略、画面组排列这些参数。
本发明实施例提供的自适应前向纠错的方法,在选择纠错策略时考虑网络传输内容的性质,在对传输质量的估计中考虑了传输协议、打包策略等参数,能够选择合适的前向纠错策略,提高前向纠错的效果,能够应用到网络数据传输的纠错技术中,尤其是视频数据流的传输技术领域。
图2为本发明自适应前向纠错的方法实施例二的流程示意图,如图2所示,该方法包括如下步骤:
步骤201、获取当前传输网络质量数据;
步骤202、在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略分别组合时的传输质量数据;
步骤203、根据当前传输网络质量数据、预期的传输质量数据和上述计算的传输质量数据确定前向纠错策略,该预期的传输质量数据是用户期望达到的网络传输质量,由用户设定。
本实施例中的是在获取到当前传输网络质量数据后,通过计算在选定的影响网络传输内容质量的参数、不同网络质量数据,采用不同的前向纠错策略所能达到的传输质量数据,然后根据当前传输网络质量数据、预期的传输质量数据从上述的计算结果(即传输质量数据)中选择前向纠错策略,该选择过程可以为:当网络传输质量数据一定时,前向纠错策略和传输质量数据是一一对应的关系,例如采用A、B、C三个纠错策略时的网络传输质量数据(可以是平均帧损坏率)分别为3%、2%、0.5%,若预期的传输质量数据为小于1%,则选择纠错策略C。
在上述实施过程中,也可以是先进行计算的步骤,预先建立网络质量数据、前向纠错策略和传输质量数据的映射关系,然后再获取当前传输网络质量数据进行策略选择。
图3为本发明一个具体实施例的***架构图,如图3所示,一个基于IPTV的***在发送端包括视频编码模块11、数据封装模块12、FEC编码器13以及FEC选择调整模块14,在IP网络的另一侧,即接收端,包括FEC解码器15、播放器16和网络QoS统计模块17。其中视频编码模块11对视频进行编码,数据封装模块12对视频编码后的码流数据进行封装,然后以数据包的形式作为传输协议的负载在网络上进行传输,IPTV主要由两种传输方式:TS over IP和Native RTP over IP;FEC选择调整模块14通过从媒体视频编码模块11和数据封装模块12获取影响视频质量的参数,计算在不同网络质量下,采用不同的FEC策略所能达到的视频质量;然后通过接收端反馈来的信息,预估网络质量的变化,调整FEC策略,FEC编码器13就是按照FEC选择调整模块14给出的策略进行编码,通过IP网络传输到接收端,接收端的FEC解码器15能够根据前向纠错策略恢复丢失的数据包,最后由播放器16进行视频播放,在接收端还设有网络QoS统计模块17,能够获取传输网络的QoS参数,特别是能够区分FEC编码前后的网络状态变化,该模块还可以设置在网络节点上。
图4为本发明一个具体实施例的流程示意图,如图4所示,包括:
步骤301、获取影响视频质量的参数,即上述实施例中提到的影响网络传输内容质量的参数,同时获取统计的网络QoS参数;
其中上述的影响视频质量的参数有多种组合,可以按照具体情况进行选择,在本实施例中不考虑错误隐藏,选择如下的参数:
A、画面组(GOP)排列和画面组(GOP)长度;
B、错误扩散,当视频序列按照GOP进行排列,每个GOP以I帧开始,之后连续包括若干个P帧、B帧。I帧数据包的丢失会扩散到整个GOP,P帧数据包的丢失带来的错误将会对后续帧产生影响,直到下一个GOP开始的时候抑制,B帧不存在错误扩散;
C、传输协议和打包策略,本实施例中可采用H.264编码、Native RTP传输协议和RFC3984中NALU到RTP的映射规则(不考虑AggregationPackets);
另外,本实施例中获取的网络QoS参数时只考虑平均丢包率,网络传输最大单元(Maximum Transmission Unit)MTU为1500B。
步骤302、预估在不同的网络质量数据下,采用不同的FEC策略对视频质量的影响,即多个网络质量数据与多个FEC策略分别组合时的传输质量数据;
在本实施例中就是,考虑在不同的平均丢包率,采用H.264编码和RTP协议,在考虑I、P、B帧的参考关系和GOP排列的情况下,不同的FEC策略对视频质量的影响。下面具体的说明如何建立这种映射关系:
A、测试序列:以Darwin提供的sample_h264_1mbit.mp4为测试序列,其中实测I帧平均长度13333B,P帧平均长度4367B,B帧平均长度1961B;RTP平均大小为1046B,RTP个数5964;GOP长度60,其内部排列为{I1,P1,B1,P2,B2,... ...P29,B29,P30};
B、由平均丢包率推导帧损坏率:
首先定义帧损坏率(Pf),在组成帧的数据包中,有一个或一个以上的数据包损坏:Pf=1-(1-PER)(packet number of frame),其中的paket number offrame表示平均帧长度,PER表示丢包率;然后通过I帧、P帧、B帧的平均帧长度和MTU,可以分别得到PI、Pp和PB;
C、计算平均帧损坏率:
定义平均损坏率等于总帧损坏期望值除以GOP长度,其中,总帧损坏期望值等于将每帧的损坏率与其影响帧数相乘;在得到该帧损坏期望值后将这些期望值相加,就得到整个GOP总帧损坏期望值,表1为GOP中各帧损坏期望值;
帧 | 帧损坏期望值 | 帧 | 帧损坏期望值 |
I1 | 60×PI | ||
P1 | 59×(1-PI)PPP | B1 | (1-PI)(1-PP)(1-PP)PB |
P2 | 58×(1-PI)(1-PP)PP | B2 | (1-PI)(1-PP)3PB |
P3 | 56×(1-PI)(1-PP)(1-PP)PP | B3 | (1-PI)(1-PP)4PB |
Pi | (62-2×i)(1-PI)(1-PP)(i-1)PP | Bi | (1-PI)(1-PP)(i+1)PB |
P30 | 2×(1-PI)(1-PP)29PP | B29 | (1-PI)(1-PP)30PB |
表1
D、考虑FEC对平均帧损坏率的影响:
FEC编码器在对封装好的数据包,每k个包中增加t个额外的包,在k+t个包中,只要丢包个数在t个以内,都能够恢复。k个包都正确的概率为每个包都正确的概率,加上恰好t个包丢失的概率。以概率计算来看,帧损坏率可以用整个分组正确的概率计算,后再以帧的包数除以k。
E、得出在不同网络质量数据,采用不同FEC策略达到的视频质量(平均帧损坏率),表2为不同网络状态下,不同FEC策略达到的视频质量,
表3 为不同网络下,不同FEC策略与视频质量映射关系。
PER | 1×10-1 | 5×10-2 | 3×10-2 | 1×10-2 | 5×10-3 | 3×10-3 |
平均帧损坏率 | 98.67% | 94.18% | 86.69% | 56.15% | 35.23% | 23.36% |
PER | 1×10-3 | 5×10-4 | 3×10-4 | 1×10-4 | 1×10-5 | |
平均帧损坏率 | 8.65% | 4.46% | 2.70% | 0.91% | 0.09% |
表2
表3
步骤303、监控、确定网络状态:
本实施例中,获取传输网络的网络QoS参数,该参数包括进行FEC前、后不同的平均丢包率,然后根据当前网络QoS参数和预期的传输质量数据从上述的计算结果中确定前向纠错策略,具体的是在平均丢包率确定的情况下,选择满足预期的传输质量数据对应的FEC策略。
步骤304、在网络状态不断变化情况下,需要根据网络状态实时的调整FEC策略,具体包括如下的步骤:
步骤3041、判断接收端是否达到预期的视频质量,如果达到预期期望,转到步骤3042,否则,转到步骤3043;
步骤3042、根据进行FEC前、后的丢包率,判断是否可以减少冗余,如果可以,则减少冗余,即选择具有较少冗余量的FEC策略,否则,结束调整过程;
步骤3043、判断发送端是否有冗余带宽,如果有,则增加冗余,即选择具有较大冗余量的FEC策略,否则转到步骤3044;
步骤3044、判断在不增加冗余的情况下,是否可以改变FEC编码的源块大小,如果可以,则增加源块大小;否则需要采取其他方法进行处理。
其中,步骤3044中提到的其他方法是指FEC以外的方法,如改变媒体帧数,改变媒体质量等级等。
一个具体的实施例:假设预期的视频质量为丢包率小于1×10-4,即平均帧损坏率小于1%,对应关系见表格2;通过反馈的网络QoS参数可得到FEC前丢包率为3×10-2,FEC后丢包率为6×10-3,目前采用的FEC策略为FEC(15,16),其中(15,16)表示在每15个数据包中增加一个额外的数据包,即冗余数据包;通过表格3中FEC策略与视频质量映射关系,得到在丢包率3×10-2情况下,如果要使得平均帧损坏率小于期望值1%,需要的FEC策略为FEC(13,16),具有3个冗余数据包。
在本实施例中,当选择前向纠错策略时考虑当前网络状况,该当前网络状况不仅包括接收端反馈的网络QoS参数,而且还包括判断是否具有冗余带宽,同时考虑网络传输内容的特性,能够选择更适合的前向纠错策略,提高纠错效果。
在上述的实施例中网络QoS参数是选择一段时间内的平均丢包率,而在实际IP网络中,有时用平均丢包率不能完全反映出网络的实际丢包特性,所以在本实施例中采用RFC3357中提出的连续丢包长度(lossdistance)和丢失事件的次数(loss period)来度量单路传输的数据包的丢失模式。
根据吉尔伯特(Gilbert)模型,能够得到
其中,π0表示为平均丢包率,π1表示为平均到达率,用p表示当前一个包已经达到时下一个包的丢失概率,而q表示当前一个包已经达到时下一个包的不丢失的概率,pk表示连续丢失长度为k的概率分布函数。
在具体应用中,可以根据实际的网络测量数据来获得p、q值,例如可以利用丢失长度分布统计的方法。用mi(i=1,2,...,n-1)表示连续丢包长度为i的丢失事件的次数,n-1是连续丢包长度的最大值,用m0表示没有丢失的包个数,则p和q分别表示为:
本实施例中,是利用丢失长度分布的统计方法,可以综合前一段时间的网络测量数据,进行网络状态的评估,接收端不仅需要反馈平均丢包率,而且还要反馈连续丢包事件的长度和次数。
另外,根据pk=(1-q)k-1·q中对连续丢失长度为k的概率分布函数,可以评估网络中连续丢包的数目和发生的概率,从而实现对FEC策略的调整。
上述实施例中在预估不同网络质量数据下采用不同FEC策略对视频质量的影响时,使用的是当前平均丢包率计算FEC对平均帧损坏率的影响,在具体实施过程中也可以首先估计在当前传输网络质量数据下使用不同FEC策略后的平均丢包率πv,再根据此丢包率计算FEC策略对平均帧损坏率的影响。在这种情况下,考虑在不同的平均丢包率,采用H.264编码和RTP协议,在考虑I、P、B帧的参考关系和GOP排列的情况下,不同的FEC策略对视频质量的影响的映射关系可按如下步骤建立:
A、选择一个测试序列:以Darwin提供的sample_h264_1mbit.mp4为测试序列,其中实测I帧平均长度13333B,P帧平均长度4367B,B帧平均长度1961B;RTP平均大小为1046B,RTP个数5964;GOP长度60,其内部排列为{I1,P1,B1,P2,B2,... ...P29,B29,P30};
B、根据吉尔伯特模型,通过RTCP反馈或某些网络测量数据获得当前的平均丢包率π和平均丢包长度α。在此基础上估计不同的FEC策略达到的恢复效果,即获得FEC之后的丢包率πv;
C、在新的丢包率πv下,通过I帧、P帧、B帧的平均长度和MTU计算各帧损坏率;
D、计算整个GOP的平均帧损坏率,其中,总帧损坏期望值等于将每帧的损坏率与其影响帧数相乘;在得到该帧损坏期望值后将这些期望值相加,就得到整个GOP总帧损坏期望值;
E、得出在不同网络状态下,不同FEC策略达到的视频质量(平均帧损坏率)。
上述步骤给出的实施例中是在计算丢包率时考虑FEC策略的影响。
在上述的实施例中,都预估出了在不同的网络质量数据下采用不同FEC策略达到的视频质量,在FEC策略调整之前建立了一种表格式的映射关系,每次调整根据当前网络状况查表即可。在具体的实施过程中也可以不建立此种关系,而是在需要调整的时候通过计算得出所需的FEC策略本实施例中使用上述实施例中的平均丢包率πv,并建立平均帧损坏率和FEC之后的丢包率πv的函数关系Pgop(k,n)=f(π(k,n)),通过迭代的方法在一定FEC策略范围内计算出能到达既定要求的平均帧损坏率的(k,n),(k,n)表示在k个数据包中增加t个冗余数据包,得到n个传输的数据报。
图5为本发明自适应前向纠错的方法实施例三的流程示意图,如图5所示包括如下的步骤:
步骤401、获取影响视频质量的相关参数和当前网络QoS参数,具体与步骤301相同;
然后,根据当前网络QoS参数择FEC策略,具体可分为:
步骤402、确定测试序列参数;
步骤403、确定可选择的FEC策略,并按冗余从大到小排列;
步骤404、判断接收端是否达到预期的视频质量,如果没有达到预期效果,转到步骤405,否则转到步骤406;
步骤405、获得接收端反馈的FEC前的平均丢包率,根据当前FEC策略,按照冗余从小到大的顺序选择下一种FEC策略,判断是否有足够冗余带宽,如果有,估计FEC之后的平均丢包率πv,计算平均帧损坏率,判断是否达到预期的视频质量,如果达到预期效果,结束选择本流程;如果没有达到预期的视频质量,则继续执行本步骤,若判断到没有足够的冗余带宽,则采用其它方法进行处理;其他方法是指FEC以外的方法,如改变媒体帧数,改变媒体质量等级等。
步骤406、获得接收端反馈的FEC前的平均丢包率,根据当前FEC策略,按照冗余从小到大的顺序选择下一种FEC策略,估计FEC之后的平均丢包率πv,计算平均帧损坏率,判断是否达到预期的视频质量,如果达到预期效果,继续执行本步骤,直到满足视频质量要求的最小冗余FEC策略,结束调整。
一个具体的实施例:采用Darwin提供的sample_h264_1mbit.mp4为测试序列,假定包长为500B,需要达到的视频质量为10%,通过反馈信息得到FEC前的丢包率为3×10-2,当前未使用FEC,选择下一种FEC策略(15,16),计算出的平均帧损坏率为78.2%,未达到要求,则继续下一种FEC策略(14,16),判断有冗余带宽,计算出平均帧损坏率为24.81%,仍未满足要求,继续下一种FEC策略(13,16),仍有冗余带宽,计算平均帧损坏率为2.4%,达到所需视频质量,结束计算。
本发明实施例还提供一种自适应前向纠错的装置,图6为本发明自适应前向纠错的装置实施例一的结构示意图,如图6所示,自适应前向纠错的装置包括获取模块21和策略确定模块22,其中获取模块21用于获取当前传输网络质量数据,该数据可以由接收端或网络节点反馈;策略确定模块22用于根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
本实施例中的自适应前向纠错的装置在确定纠错策略是考虑了影响网络传输内容质量的参数因素,更有利于选取合适的前向纠错策略。
上述的当前传输网络质量数据为当前服务质量参数,当前服务质量参数可以由接收端反馈或由网络节点反馈。上述实施例中选定的影响网络传输内容质量的参数包括以下任意一种或其组合:传输协议、错误扩散、解码器错误隐藏、数据包的打包策略、画面组排列。
本实施例中考虑了一系列的影响网络传输内容质量的参数,预先判断了在不同网络质量数据下,使用不同的前向纠错策略所能达到的效果。因此在获取了传输网络的服务质量参数后,易于选择合适的前向纠错策略。
图7为本发明自适应前向纠错的装置实施例二的结构示意图,如图7所示,如同上述实施例中,自适应前向纠错的装置包括:获取模块31和策略确定模块32、其中策略确定模块32可进一步分为第一计算单元321、存储单元322和第一策略选择单元323;获取模块31用于获取当前传输网络质量数据,该数据可以由接收端或网络节点反馈;第一计算单元321用于在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略分别组合时的传输质量数据,存储单元322用于将第一计算单元321得到网络质量数据、前向纠错策略与传输质量数据三者之间的映射关系;第一策略选择单元323用于根据当前传输网络质量数据、预期的传输质量数据从存储单元322中选择前向纠错策略。
本实施例中提供的自适应前向纠错的装置,在选择前向纠错策略时不仅仅考虑反映当前网络质量的网络质量数据,而且还考虑网络传输内容的不同带来的影响,能够选取更为适当的前向纠错策略,具体的选择过程是:当网络传输质量数据一定时,前向纠错策略和传输质量数据是一一对应的关系,例如采用A、B、C三个纠错策略时的网络传输质量(可以是平均帧损坏率)分别为3%、2%、0.5%,若用户的预期传输质量为小于1%,则选择纠错策略C。
在具体的实施过程中,可以是由先由计算单元计算获得网络质量数据、前向纠错策略和传输质量数据之间的映射关系,再获取当前传输网络质量数据并选择前向纠错策略,或者是先获取当前传输网络质量数据再由第一计算单元进行计算。
图8本发明自适应前向纠错的装置实施例三的结构示意图,如图8所示,自适应前向纠错的装置包括:获取模块41和策略确定模块42,其中获取模块31用于获取当前传输网络质量数据,该数据可以由接收端或者网络节点反馈;策略选择模块42包括判断单元421、第二计算单元422和第二策略选择单元423,判断单元421用于判断所述当前传输网络质量数据是否达到预期的传输质量数据;第二计算单元422一种情况是在当前传输网络质量数据没有达到预期的传输质量数据时,根据影响网络传输内容质量的参数和当前传输网络质量数据,按照多个前向纠错策略具有的冗余的从大到小顺序依次计算各个前向纠错策略所能达到的传输质量数据,另一种情况是在当前传输网络质量数据达到预期的传输质量数据时,根据影响网络传输内容质量的参数和当前传输网络质量数据,按照多个前向纠错策略具有的冗余的从小到大顺序依次计算各个前向纠错策略所能达到的传输质量数据;第二策略选择单元在第一种情况下选择满足预期的传输质量数据时对应的前向纠错策略;或者在第二种情况下选择满足预期的传输质量数据、且具有最小冗余的前向纠错策略。
与图7所示实施例不同的是,在上一个实施例中是预先计算出各种网络质量数据下采取不同的前向纠错策略所达到的传输质量数据,并建立一个映射表,然后根据实际的网络质量数据后,根据具体的预期达到的传输质量数据选择前向纠错策略即可,而本实施例中,是在得到网络质量数据后,依次计算不同的前向纠错策略所能实现的传输质量,直到传输质量符合预期后,便确定前向纠错策略。
本发明实施例还提供了一种自适应前向纠错的***,图9为本发明自适应前向纠错的***实施例的结构示意图,如图9所示,自适应前向纠错的***包括:自适应前向纠错装置5和自适应前向纠错编码器6,其中自适应前向纠错装置5用于获取当前传输网络质量数据,并根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略;自适应前向纠错编码器6用于根据所述自适应前向纠错装置确定的前向纠错策略对数据进行编码,生成冗余包。
本实施例中的自适应前向纠错的***还可以包括网络质量数据统计模块7,用于统计当前传输网络质量数据,其中,网络质量数据统计模块7设置在接收端或网络节点上。
本实施例中的自适应前向纠错的***,在选择纠错策略是考虑影响当前网络传输内容质量的参数,能够选择更加有效的前向纠错策略,更加适合当前网络状态的需要。
本发明实施例所提供的自适应前向纠错的方法、装置和***,在选择前向纠错策略时,不仅考虑当前网络状况,而且还将影响网络传输内容质量的参数考虑进来,使得选择的前向纠错策略更能适应当前网络状态,提高前向纠错的效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。
Claims (16)
1、一种自适应前向纠错的方法,其特征在于,包括:
获取当前传输网络质量数据;
根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
2、根据权利要求1所述的自适应前向纠错的方法,其特征在于,所述当前传输网络质量数据为当前服务质量参数,其中,所述当前服务质量参数由接收端反馈或由网络节点反馈。
3、根据权利要求1所述的自适应前向纠错的方法,其特征在于,所述选定的影响网络传输内容质量的参数包括以下任意一种或其组合:
传输协议、错误扩散、解码器错误隐藏、数据包的打包策略、画面组排列。
4、根据权利要求1所述的自适应前向纠错的方法,其特征在于,所述根据当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略的步骤包括:
在所述当前传输网络质量数据没有达到预期的传输质量数据时,根据影响网络传输内容质量的参数和当前传输网络质量数据,按照多个前向纠错策略所具有的冗余从小到大的顺序依次计算各个前向纠错策略所能达到的传输质量数据,选择满足预期的传输质量数据时对应的前向纠错策略;或
在所述当前传输网络质量数据达到预期的传输质量数据时,根据影响网络传输内容质量的参数和当前传输网络质量数据,按照多个前向纠错策略具有的冗余的从大到小顺序依次计算各个前向纠错策略所能达到的传输质量数据,选择满足预期的传输质量数据、且具有最小冗余的前向纠错策略。
5、根据权利要求1所述的自适应前向纠错的方法,其特征在于,所述根据当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略的步骤包括:
在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略分别组合时的传输质量数据;
根据所述当前传输网络质量数据、预期的传输质量数据以及所述计算的传输质量数据确定前向纠错策略。
6、根据权利要求5所述的自适应前向纠错的方法,其特征在于,所述多个网络质量数据为平均丢包率或由连续丢包事件的长度和连续丢包事件的次数计算得到的丢包概率分布函数。
7、根据权利要求5所述的自适应前向纠错的方法,其特征在于,所述在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略组合时的传输质量数据的步骤包括:
选定网络中传输序列的各个帧的帧长度值、画面组长度值;
根据所述各个帧的帧长度值、设定的平均丢包率计算各个帧的帧损坏率;
根据所述各个帧的帧损坏率和画面组长度计算平均帧损坏率;
计算在使用设定的前向纠错策略后的平均帧损坏率;
选择不同的平均丢包率和/或不同的前向纠错策略依次执行上述步骤。
8、根据权利要求5所述的自适应前向纠错的方法,其特征在于,所述在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略组合时的传输质量数据的步骤进一步包括:
选定网络中传输序列的各个帧的帧长度值、画面组长度值;
根据设定的平均丢包率计算在使用设定的前向纠错策略之后的平均丢包率;
根据各个帧的帧长度值、在使用设定的前向纠错策略之后的平均丢包率计算各个帧的帧损坏率;
根据各个帧的帧损坏率、画面组长度计算平均帧损坏率;
选择不同的平均丢包率和/或不同的前向纠错策略依次执行上述步骤。
9、根据权利要求7或8所述的自适应前向纠错的方法,其特征在于,所述根据当前传输网络质量数据、预期的传输质量数据及所述计算的传输质量数据确定前向纠错策略的步骤之后还包括:
当获取的当前传输网络质量数据达到所述预期的传输质量数据时,选择具有较少冗余量的前向纠错策略;
当获取的当前传输网络质量数据没有达到所述预期的传输质量数据时,选择具有较大冗余量的前向纠错策略或增加源块大小。
10、一种自适应前向纠错的装置,其特征在于,包括:
获取模块,用于获取当前传输网络质量数据;
策略确定模块,用于根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略。
11、根据权利要求10所述的自适应前向纠错的装置,其特征在于,所述当前传输网络质量数据为当前服务质量参数,其中,所述当前服务质量参数由接收端反馈或由网络节点反馈。
12、根据权利要求10所述的自适应前向纠错的装置,其特征在于,所述选定的影响网络传输内容质量的参数包括以下任意一种或其组合:
传输协议、错误扩散、解码器错误隐藏、数据包的打包策略、画面组排列。
13、根据权利要求10、11或12所述的自适应前向纠错的装置,其特征在于,所述策略选择模块进一步包括:
第一计算单元,用于在选定的影响网络传输内容质量的参数情况下,计算多个网络质量数据与多个前向纠错策略分别组合时的传输质量数据;
存储单元,用于存储网络质量数据、前向纠错策略与传输质量数据三者之间的映射关系;
第一策略选择单元,用于根据所述当前传输网络质量数据、预期的传输质量数据从所述存储单元中选择前向纠错策略。
14、根据权利要求10、11或12所述的自适应前向纠错的装置,其特征在于,所述策略确定模块进一步包括:
判断单元,用于判断所述当前传输网络质量数据是否达到预期的传输质量数据;
第二计算单元,用于在所述当前传输网络质量数据没有达到预期的传输质量数据时,根据影响网络传输内容质量的参数和所述当前传输网络质量数据,按照多个前向纠错策略所具有的冗余从大到小的顺序依次计算各个前向纠错策略所能达到的传输质量数据;或
在所述当前传输网络质量数据达到预期的传输质量数据时,根据影响网络传输内容质量的参数和所述当前网络质量数据,按照多个前向纠错策略具有的冗余的从小到大顺序依次计算各个前向纠错策略所能达到的传输质量数据;
第二策略选择单元,用于选择满足预期的传输质量数据时对应的前向纠错策略;或
选择满足预期的传输质量数据、且具有最小冗余的前向纠错策略。
15、一种自适应前向纠错的***,其特征在于,包括:
自适应前向纠错装置,用于获取当前传输网络质量数据,并根据所述当前传输网络质量数据、预期的传输质量数据和选定的影响网络传输内容质量的参数确定前向纠错策略;
自适应前向纠错编码器,用于根据所述自适应前向纠错装置确定的前向纠错策略对数据进行编码,生成冗余包。
16、根据权利要求15所述的自适应前向纠错的***,其特征在于,还包括:
网络质量数据统计模块,用于统计当前传输网络质量数据,其中,所述网络质量数据统计模块设置在接收端或网络节点上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810223805 CN101686106B (zh) | 2008-09-28 | 2008-09-28 | 自适应前向纠错的方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810223805 CN101686106B (zh) | 2008-09-28 | 2008-09-28 | 自适应前向纠错的方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101686106A true CN101686106A (zh) | 2010-03-31 |
CN101686106B CN101686106B (zh) | 2013-04-17 |
Family
ID=42049096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810223805 Expired - Fee Related CN101686106B (zh) | 2008-09-28 | 2008-09-28 | 自适应前向纠错的方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101686106B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信***及其方法 |
CN104081703A (zh) * | 2011-12-15 | 2014-10-01 | 高通股份有限公司 | 针对前fec度量和接收报告的***和方法 |
CN104221317A (zh) * | 2012-06-04 | 2014-12-17 | 松下知识产权经营株式会社 | 发送装置、接收装置、发送方法及接收方法 |
WO2015154590A1 (zh) * | 2014-07-01 | 2015-10-15 | 中兴通讯股份有限公司 | 一种视频会议的实现方法及多点控制单元 |
CN105992023A (zh) * | 2015-02-11 | 2016-10-05 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN106209118A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
WO2017140261A1 (en) * | 2016-02-19 | 2017-08-24 | Mediatek Inc. | Method and system of adaptive application layer fec for mpeg media transport |
WO2017173880A1 (zh) * | 2016-04-06 | 2017-10-12 | 华为技术有限公司 | 降低传输丢包率的方法和装置 |
WO2018064934A1 (zh) * | 2016-10-08 | 2018-04-12 | 华为技术有限公司 | 评估视频质量的方法和设备 |
CN108322286A (zh) * | 2017-01-17 | 2018-07-24 | 华为技术有限公司 | 一种获得前向纠错fec参数的方法、装置 |
WO2018196434A1 (zh) * | 2017-04-27 | 2018-11-01 | 华为技术有限公司 | 一种视频质量评估方法和设备 |
CN109428690A (zh) * | 2017-09-04 | 2019-03-05 | 瑞昱半导体股份有限公司 | 以太网络的连线方法及以太网络装置 |
CN110247736A (zh) * | 2019-06-27 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 一种数据传输方法及装置 |
CN110299963A (zh) * | 2019-06-05 | 2019-10-01 | 西安万像电子科技有限公司 | 数据处理方法及装置 |
CN110602452A (zh) * | 2019-09-05 | 2019-12-20 | 杭州米络星科技(集团)有限公司 | 一种保障全球udp音视频流远距离实时传输流畅的方法 |
CN115134307A (zh) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | 云计算中基于分组丢失率编码的负载均衡方法 |
WO2024001933A1 (zh) * | 2022-06-28 | 2024-01-04 | 中兴通讯股份有限公司 | 前向纠错码型切换方法、设备和存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115225209A (zh) * | 2022-09-20 | 2022-10-21 | 江苏为是科技有限公司 | 数据发送、传输方法、发送装置、传输***和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6772388B2 (en) * | 2000-12-06 | 2004-08-03 | Motorola, Inc | Apparatus and method for providing optimal adaptive forward error correction in data communications |
CN1845611A (zh) * | 2005-04-08 | 2006-10-11 | 华为技术有限公司 | 基于h.264的视频传输保护方法 |
-
2008
- 2008-09-28 CN CN 200810223805 patent/CN101686106B/zh not_active Expired - Fee Related
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信***及其方法 |
CN104081703A (zh) * | 2011-12-15 | 2014-10-01 | 高通股份有限公司 | 针对前fec度量和接收报告的***和方法 |
CN104081703B (zh) * | 2011-12-15 | 2020-04-28 | 高通股份有限公司 | 针对前fec度量和接收报告的***和方法 |
CN104221317A (zh) * | 2012-06-04 | 2014-12-17 | 松下知识产权经营株式会社 | 发送装置、接收装置、发送方法及接收方法 |
WO2015154590A1 (zh) * | 2014-07-01 | 2015-10-15 | 中兴通讯股份有限公司 | 一种视频会议的实现方法及多点控制单元 |
CN105992023B (zh) * | 2015-02-11 | 2019-06-04 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN105992023A (zh) * | 2015-02-11 | 2016-10-05 | 杭州海康威视数字技术股份有限公司 | 视频图像数据的处理方法及装置 |
CN108702245A (zh) * | 2016-02-19 | 2018-10-23 | 联发科技股份有限公司 | Mpeg媒体传送的自适应应用层前向纠错的方法和*** |
WO2017140261A1 (en) * | 2016-02-19 | 2017-08-24 | Mediatek Inc. | Method and system of adaptive application layer fec for mpeg media transport |
CN108702245B (zh) * | 2016-02-19 | 2021-01-15 | 联发科技股份有限公司 | Mpeg媒体传送的自适应应用层前向纠错的方法和*** |
US10404411B2 (en) | 2016-02-19 | 2019-09-03 | Mediatek Inc. | Method and system of adaptive application layer FEC for MPEG media transport |
WO2017173880A1 (zh) * | 2016-04-06 | 2017-10-12 | 华为技术有限公司 | 降低传输丢包率的方法和装置 |
CN106209118A (zh) * | 2016-06-29 | 2016-12-07 | 联想(北京)有限公司 | 一种信息处理方法及电子设备 |
CN106209118B (zh) * | 2016-06-29 | 2019-09-20 | 深圳忆联信息***有限公司 | 一种信息处理方法及电子设备 |
WO2018064934A1 (zh) * | 2016-10-08 | 2018-04-12 | 华为技术有限公司 | 评估视频质量的方法和设备 |
US11265601B2 (en) | 2016-10-08 | 2022-03-01 | Huawei Technologies Co., Ltd. | Video quality assessment method and device |
US10869088B2 (en) | 2016-10-08 | 2020-12-15 | Huawei Technologies Co., Ltd. | Video quality assessment method and device |
CN108322286A (zh) * | 2017-01-17 | 2018-07-24 | 华为技术有限公司 | 一种获得前向纠错fec参数的方法、装置 |
CN108809893A (zh) * | 2017-04-27 | 2018-11-13 | 华为技术有限公司 | 一种视频质量评估方法和设备 |
CN108809893B (zh) * | 2017-04-27 | 2020-03-27 | 华为技术有限公司 | 一种视频质量评估方法和设备 |
WO2018196434A1 (zh) * | 2017-04-27 | 2018-11-01 | 华为技术有限公司 | 一种视频质量评估方法和设备 |
US11374681B2 (en) | 2017-04-27 | 2022-06-28 | Huawei Technologies Co., Ltd. | Video quality assessment method and device |
CN109428690A (zh) * | 2017-09-04 | 2019-03-05 | 瑞昱半导体股份有限公司 | 以太网络的连线方法及以太网络装置 |
CN110299963A (zh) * | 2019-06-05 | 2019-10-01 | 西安万像电子科技有限公司 | 数据处理方法及装置 |
CN110247736A (zh) * | 2019-06-27 | 2019-09-17 | 北京奇艺世纪科技有限公司 | 一种数据传输方法及装置 |
CN110247736B (zh) * | 2019-06-27 | 2022-04-22 | 北京奇艺世纪科技有限公司 | 一种数据传输方法及装置 |
CN110602452A (zh) * | 2019-09-05 | 2019-12-20 | 杭州米络星科技(集团)有限公司 | 一种保障全球udp音视频流远距离实时传输流畅的方法 |
CN115134307A (zh) * | 2022-06-27 | 2022-09-30 | 长沙理工大学 | 云计算中基于分组丢失率编码的负载均衡方法 |
CN115134307B (zh) * | 2022-06-27 | 2024-01-26 | 长沙理工大学 | 云计算中基于分组丢失率编码的负载均衡方法 |
WO2024001933A1 (zh) * | 2022-06-28 | 2024-01-04 | 中兴通讯股份有限公司 | 前向纠错码型切换方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101686106B (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101686106B (zh) | 自适应前向纠错的方法、装置和*** | |
CN100592670C (zh) | 一种在iptv网络中动态自适应前向差错控制的***及方法 | |
Rubenstein | Real-time reliable multicast using proactive forward error correction | |
US8091011B2 (en) | Method and system for dynamically adjusting forward error correction (FEC) rate to adapt for time varying network impairments in video streaming applications over IP networks | |
CN1878049B (zh) | 通过使用纠错包控制传输速率的方法及其通信设备 | |
CN101061659B (zh) | 自适应前向纠错的方法和设备 | |
CN101383679B (zh) | Fec传输处理设备和方法 | |
CN106341738A (zh) | 流媒体网络传输的带宽计算方法、服务器端和*** | |
CN101505202A (zh) | 一种流媒体传输自适应纠错方法 | |
CN102017491A (zh) | 无线网络的组播中调节前向纠错的方法和*** | |
CN102239658B (zh) | 按需差错控制 | |
CN101826937B (zh) | 适用于下一代移动互联网的链路层差错控制***及其方法 | |
Chieochan et al. | Wireless fountain coding with IEEE 802.11 e block ACK for media streaming in wireline-cum-WiFi networks: a performance study | |
Yavatkar et al. | Optimistic strategies for large-scale dissemination of multimedia information | |
CN102752184A (zh) | 用于实时多播业务的数据通信***及其方法 | |
CN115037416A (zh) | 数据前向纠错处理方法、装置、电子设备和存储介质 | |
CN103607255A (zh) | 无线信道视频通信丢包率控制方法 | |
CN114422864A (zh) | 一种音视频抗弱网传输方法及*** | |
JP5592235B2 (ja) | マルチキャスト事前配信方法、システム、および装置 | |
Ding et al. | Packet permutation: a robust transmission technique for continuous media streaming over the Internet | |
Jin et al. | Performance evaluation of a hybrid FEC/ARQ for wireless media streaming | |
Tsai et al. | Burst-aware adaptive forward error correction in video streaming over wireless networks | |
Yu et al. | Adaptive Anti-packet Loss Strategy for Real-Time Video Streaming | |
Pasin et al. | Error resilient real-time multimedia streaming over vehicular networks | |
Matsuzono | Robust High-Performance Real-Time Streaming Control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130417 Termination date: 20150928 |
|
EXPY | Termination of patent right or utility model |