CN101588597A - 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 - Google Patents
一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 Download PDFInfo
- Publication number
- CN101588597A CN101588597A CNA2009100321270A CN200910032127A CN101588597A CN 101588597 A CN101588597 A CN 101588597A CN A2009100321270 A CNA2009100321270 A CN A2009100321270A CN 200910032127 A CN200910032127 A CN 200910032127A CN 101588597 A CN101588597 A CN 101588597A
- Authority
- CN
- China
- Prior art keywords
- link layer
- transmission unit
- fec
- frame
- nack
- 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 19
- 238000001914 filtration Methods 0.000 title claims abstract description 7
- 230000005540 biological transmission Effects 0.000 claims abstract description 75
- 230000003044 adaptive effect Effects 0.000 claims abstract description 23
- 230000007246 mechanism Effects 0.000 claims description 17
- 101000911390 Homo sapiens Coagulation factor VIII Proteins 0.000 claims description 6
- 102000057593 human F8 Human genes 0.000 claims description 6
- 229940047431 recombinate Drugs 0.000 claims description 6
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims description 5
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims description 5
- 230000009467 reduction Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 6
- 238000012937 correction Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 abstract description 4
- 239000011159 matrix material Substances 0.000 description 12
- 230000008859 change Effects 0.000 description 8
- 238000005259 measurement Methods 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000036962 time dependent Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008521 reorganization Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法,属于无线动态网络中多媒体通信自适应差错控制领域。该方法采用跨层设计,在数据链路层使用Kalman滤波器预测当前的网络状态(丢包率),自适应地调整链路层前向纠错(FEC)参数和链路层自动重传请求(ARQ)参数;另一方面,在应用层采用自适应FEC策略,根据当前网络状态,自适应地调整视频帧的发送速率,在视频源数据和冗余数据之间动态分配网络带宽。本发明方法能使接收方获得最大的可播放帧率,有效地提高流媒体传输的可靠性和实时性。
Description
技术领域
本发明涉及无线动态网络中多媒体通信自适应差错控制领域中的一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法。
背景技术
流媒体应用相对于传统的数据传输有其特殊的QoS(Quality of Service)要求:
1、流媒体传输具有很高的实时性要求,而Internet采用的是存储转发机制,在转发的路由器中有可能发生排队现象,数据分组经过的路由也可能不同,这样分组到达目的地的传输延迟也就可能不同。考虑到多媒体分组之间的同步性,若时延抖动过大时,则必然会对流媒体播放造成一定的影响,如对于视频会议系统,国际电信联盟ITU-T提出单向延时不大于150ms。
2、流媒体的传输对带宽有较高的要求,并且需要尽量平滑的吞吐量,而Internet是一个共享的网络,每一用户都在竞争网络资源,这样网络两点之间的链路带宽时刻都在变化。当网络的可用带宽小于流媒体正常播放所需占用的带宽时,就会造成网络的拥塞崩溃和过长的延迟,必然影响流媒体的播放质量。
3、流媒体传输可以允许一定程度上的丢包率,但当丢包率过大时,就会影响流媒体的播放质量。ITU-T制定的H.323标准规定,视频数据的丢包率要少于1%,而音频的丢包率要少于3%。在有线环境下网络拥塞是导致丢包的主要因素,在无线环境中则还要包括无线信道较高的误码率以及链路失效导致的丢包。
综上所述,流媒体传输需要克服时延抖动、网络的带宽波动和丢包率等因素,而目前大多数网络提供的是尽力而为(Best-effort)的服务,不能为流媒体传输提供可靠的服务质量保证。
为了提高数据传输的可靠性,可采用链路层前向纠错(ARQ)和链路层自动重传请求(FEC)两种差错控制技术,以减小数据丢失和差错造成的影响。采用ARQ方法时,发送端对待传数据按照一定的规则计算冗余码并与数据一起发出,使之具有一定的检错能力;接收方收到数据后按照同样的规则重新计算冗余码,然后与发送方发来的冗余码进行比较,以此来判断数据传输过程中是否出错,并将判断结果反馈给发送方;在传输出错的情况下,发送方启动重传机制,直到数据被正确接收或者超出预设最大重传次数为止。ARQ方法可以保证数据传输的正确性,但数据的重传导致了时延的增加,因此不适合于实时网络应用。采用FEC技术,发送方将数据信息按照一定的算法编成具有纠错能力的码,接收方收到这些码后,按照事先规定的规则进行译码,以确定接收码组中是否有错,如果有错,则确定其位置并纠正之。FEC技术不需要反馈信息给发送方,具有时延小、实时性好的特点,但译码机制复杂,且其复杂程度随纠错能力的提高而增加。
无线移动网络是一个动态的网络环境,带宽有限,误码率很高,信道质量很不稳定,此外无线结点的移动也会导致网络拓扑结构的动态变化,而且多个移动用户对共享信道会产生竞争,无线信号传输过程中衰减和失真情况比较严重,甚至随机干扰以及障碍物的阻挡等因素都会严重影响无线通信的质量和效率。显然在无线通信环境下为流媒体应用提供服务质量(QoS)保证比有线网络下要复杂得多。现有的TCP/IP体系结构和一些协议机制并没有充分考虑无线通信的一些固有特性,使得在动态无线通信环境下的网络系统性能大大降低。
发明内容
本发明针对在无线移动通信环境下的保证流媒体应用服务质量的复杂性而提出一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法。
本发明的基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法,包括如下步骤:
(1)在发送方,视频源数据帧首先由应用层的AFEC编码器采用自适应FEC算法编码;
(2)在数据链路层封装为链路层数据帧,丢包判别机制判断当前的链路层数据帧是否丢失过;
(3)当未丢失过,则将该链路层数据帧发送出去,当丢失过即收到一个NACK,则启动混合FEC/ARQ差错控制;
(4)由Kalman滤波器预测下一时刻无线网络的丢包率,然后启用自适应链路层FEC机制将该链路层数据帧分割为K个链路层传输单元并添加N1个冗余码编码成N个链路层传输单元,最后将这N个链路层传输单元发送;发送方收到NACK_u后判断其是否为0,当不为0时,则启用自适应链路层ARQ机制重传NACK_u个缺失的链路层传输单元,使接收方能正确解码并重组丢失的链路层数据帧,其中:N1=N-K,NACK_u是用于统计待重传链路层传输单元的个数,K、N1、N、NACK_u均为自然数;
(5)接收方收到的数据首先送至分流器,分流器判断收到的数据是链路层数据帧还是链路层传输单元;
(6)当是链路层数据帧时,则将该链路层数据帧直接送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;当是链路层传输单元时,则启动混合FEC/ARQ差错控制,混合FEC/ARQ差错控制判断收到的链路层传输单元个数N_LLu是否大于等于K:当大于等于K时,则对收到的N_LLu个链路层传输单元进行解码并重组链路层数据帧,然后将还原得到的链路层数据帧发送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;当小于K时,则求NACK_u=K-N_LLu,并将NACK_u发送至分流器,分流器把NACK_u反馈给发送方,其中:N_LLu表示接收方收到的属于同一个链路层数据帧的链路层传输单元的个数,N_LLu为自然数,K同步骤(4)中的K。
本发明深入研究自适应链路层差错控制技术,采用Kalman滤波器准确地预测网络状态(丢包率),并且进行速率平滑控制,根据当前的网络状态自适应地调整链路层FEC参数和链路层ARQ参数,选择最佳的发送模式发送数据和进行差错控制;本方法提出自适应链路层ARQ机制使得无线流媒体的传输能根据网络状态的变化动态地调整链路层ARQ机制的最大重传次数,从而减少无线流媒体传输的端到端时延;本发明控制方法模型由多个模块组成,各模块之间分工明确,模块内部设计功能划分准确,因此模块化程度较高,便于模型的升级和重新配置。本发明能使接收方获得最大的可播放帧率,有效地提高了流媒体传输的可靠性和实时性。
附图说明
图1是本发明中自适应链路层混合FEC/ARQ结构示意图。
图2是本发明中自适应链路层混合FEC/ARQ控制方法分层模型示意图。
图3是本发明的发送方混合FEC/ARQ差错控制流程图。
图4是本发明的接收方混合FEC/ARQ差错控制流程图。
图5(a)是K=6时GOP可用带宽随着FEC参数N的变化趋势示意图;图5(b)是K=30时GOP可用带宽随着FEC参数N的变化趋势示意图。
图6(a)是GOP可用带宽随着ARQ最大重传次数Nmax的变化趋势示意图;图6(b)是端到端往返时延随着ARQ最大重传次数Nmax的变化趋势示意图。
具体实施方式
一、Kalman滤波器预测网络状态
用Kalman滤波器预测发包数和丢包数,从而求得丢包率P。具体定义和算法描述如下:
首先,定义用于Kalman滤波器的状态向量。
公式(1)定义了用于预测发包数的状态向量。其中:q(t)表示发送方发送数据包的个数;q`(t)表示q(t)随时间变化的一阶变分,即发包速度;q``(t)表示q(t)随时间变化的二阶变分,即发包加速度。
公式(2)定义了用于预测丢包数的状态向量。其中:p(t)表示丢失数据包的个数;p`(t)表示p(t)随时间变化的一阶变分,即丢包速度;p``(t)表示p(t)随时间变化的二阶变分,即丢包加速度。
因为发包数和丢包数的变化不是线性的,状态向量的定义中包含了二阶变分(加速度),如公式(1)和(2)。因此,与只考虑一阶变分(速度)的状态向量相比,该定义可以更为准确地预测丢包率。
另一个非常重要的定义是状态转移矩阵。
其中:Δt表示测量时间间隔。
网络状态随时间根据状态转移矩阵进行变化。因此,在Δt间隔内,根据发包数和丢包数,可以计算t-Δt时刻的发包速度和发包加速度以及丢包速度和丢包加速度。根据t-Δt时刻的发包速度和发包加速度以及丢包速度和丢包加速度就可以求解t时刻发包状态和丢包状态的变化情况。用状态向量表示的多状态转移矩阵如公式(4)和(5)。
q(t)=q(t-Δt)+q`(t-Δt)·Δt+q``(t-Δt)·Δt2
q`(t)=q`(t-Δt)+q``(t-Δt)·Δt (4)
q``(t)=q``(t-Δt)
p(t)=p(t-Δt)+p`(t-Δt)·Δt+p``(t-Δt)·Δt2
p`(t)=p`(t-Δt)+p``(t-Δt)·Δt (5)
p``(t)=p``(t-Δt)
我们需要设计测量向量和观测矩阵用以设计状态测量模型。测量向量表示网络状态向量之间可能的测量值矩阵,发包数和丢包数作为测量向量的自变量。因此,测量向量可表示为公式(6)和(7)。
z(t)=(q) (6)
zL(t)=(p) (7)
观测矩阵用于从状态向量中求解测量向量,因此,根据状态向量和测量向量的定义,它可表示为公式(8)。
H(t)=(1,0,0) (8)
根据Kalman滤波器的定义,预测算法包括三个阶段,即初始化、状态预测和测量值更新。初始化阶段,设置Kalman滤波器的结构并赋初值;状态预测阶段,从更新至t-Δt时刻的状态向量预测出t时刻的状态向量,借此预测出状态转移。时间更新方程如下:
P-(t)=Φ(Δt)·P(t-Δt)Φ(Δt)t (10)
PL-(t)=Φ(Δt)·PL(t-Δt)Φ(Δt)t (12)
测量更新方程如下:
K(t)=P-(t)Ht[HP-(t)Ht+R(t)]-1 (13)
P(t)=[1-K(t)H(t)]P-(t-Δt) (15)
KL(t)=PL-(t)Ht[HPL-(t)Ht+RL(t)]-1 (16)
PL(t)=[1-KL(t)H(t)]PL-(t-Δt) (18)
其中:表示通过t时刻状态转移预测出的发包数的状态向量;表示通过t时刻状态转移预测出的丢包数的状态向量;s^(t-Δt)表示更新至t-Δt时刻发包数的优化状态向量;sL^(t-Δt)表示更新至t-Δt时刻丢包数的优化状态向量;P-(t)表示t时刻被预测的发包状态的协方差矩阵;PL-(t)表示t时刻被预测的丢包状态的协方差矩阵;P(t-Δt)表示t-Δt时刻被预测的发包状态的协方差矩阵;PL(t-Δt)表示t-Δt时刻被预测的丢包状态的协方差矩阵。测量阶段,通过计算实际测量向量与在状态预测阶段预测得到的测量向量之间的误差更新状态,公式(13)、(14)、(15)以及(16)、(17)、(18)表示该处理过程。K(t)表示t时刻发包状态的Kalman增益;KL(t)表示t-Δt时刻丢包状态的Kalman增益;R(t)表示t时刻发包状态测量误差的协方差矩阵;RL(t)表示t-Δt时刻丢包状态测量误差的协方差矩阵;s^(t)表示t时刻发包更新状态;sL^(t)表示t-Δt时刻丢包更新状态。
综上,得到KalmanPredict()函数,利用当前丢包率P_cur预测下一时刻丢包率的值P_pre,并作为返回值返回。
二、自适应链路层FEC算法
Reed-Solomon(RS)编码是前向纠错编码FEC中的一种,可用于有损信道的数据传输,它通过增加冗余数据来提高数据传输的可靠性。Reed-Solomon编码通过定义在有限域上的生成多项式进行纠错,定义为RS(N,K),其中N为编码后的链路层传输单元数,K为将链路层数据帧分割成链路层传输单元的个数,N-K表示编码后产生的冗余编码数量。RS编码最大可以纠正N-K个错误,当经过网络传输后,如果有任意K个或更多的数据包被正确接收,那么就可以从中恢复出原始的K个数据包。K/N称为编码率,表明了冗余数据量,很显然,K/N越小,则纠错能力越强。RS编码具有延迟短,纠错能力强的优点,已经被广泛地用于网络通信。
当N、K确定时,可由公式(19)计算出全部数据的正确接收概率P(N,K)。
其中:p为当前的平均丢包率。
在数据链路层使用FEC来提高数据传输的可靠性,会消耗一定的网络带宽,从而降低了传输视频源数据可获得的有效吞吐量。如果在传输过程中总是给冗余数据分配固定的带宽,当网络状态较好时,可能会因为FEC使用了过多的带宽而造成资源的浪费;而当网络状态较差时,又会因为提供的纠错能力不足降低了数据的可靠性。因此,在传输无线流媒体时,要能够根据网络状态的变化自适应的动态调整FEC冗余数据。
自适应链路层前向纠错FEC可以表述如下:对于不同的丢包率P,求解一个FEC参数N,使得该状态下GOP(Group of Pictures)可用带宽达到最大,在P与N之间建立一一对应关系(这里假定网络带宽资源充裕)。
图5给出了丢包率P为0.01、0.05、0.1和0.25时,MPEG视频序列GOP可用带宽随FEC参数N的变化情况(假设网络带宽资源充裕),图5(a)是K=6时的变化情况,图5(b)是K=30的变化情况,其中:坐标X轴表示FEC参数N,Y轴为GOP可用带宽(单位:Mbps),即一个GOP允许使用的网络带宽。
分析图5中GOP可用带宽与FEC参数N之间的依赖关系可以发现,对于不同的丢包率,FEC参数N都有一个对应的值,使得可用带宽达到最大。对于不同的网络状态,FEC通过自适应地调整参数N,使GOP可用带宽始终保持最大。另外,图5(b)表明,当K=30时,添加冗余码至60后,可用带宽才有明显增加,而且可用带宽最大值比K=6时要小:例如K=6,P=0.01时,可用带宽最大值为55.24Mbps;而K=30,P=0.01时,可用带宽最大值为48.17Mbps。因此,对于FEC而言,增加K值并不能有效的增加可用带宽,而且K值过大反而会增加FEC编码的运算量和计算复杂度,影响实时流媒体传输,所以在这里K取值为6。综上,得到FEC_adap()函数,该函数把Kalman滤波器预测得到的丢包率P_pre作为输入值,求出与之对应的FEC参数N值并作为返回值返回。
三、自适应链路层ARQ算法
传统的自动重传请求ARQ,不考虑媒体的实时播放要求,因为数据丢失或出错而造成的数据重传会超过视频帧的解码和播放时限要求而最终被接收方丢弃。因此,无线流媒体的传输要能够根据网络状态变化动态地调整链路层ARQ的最大重传次数Nmax。
自适应链路层自动重传请求ARQ可以表述如下:假设Rcur,表示GOP可用带宽(单位:Mbps),Te表示端到端时延(单位:秒),在不同的网络状态下,对于ARQ参数Nmax需要在Rcur和Te之间寻找一个最优点,使得无线流媒体性能最好。
图6(a)和图6(b)给出了当K=6,N=10时,ARQ参数最大重传次数Nmax在丢包率P为0.05、0.1和0.25时对GOP可用带宽的影响和对端到端时延的影响。图6(a)表明对不同的丢包率,可用带宽随着Nmax增加而线性减小,丢包率越大下降速度越快;图6(b)表明对不同的丢包率,端到端时延随着Nmax增加而增大,当Nmax增加到一定值时,端到端时延不再增加,例如,P=0.25,当Nmax=4时端到端时延为0.065085秒,此后不再变化,而且丢包率不同,对应的该值也不同。综上,可以把端到端时延达到最大时对应的Nmax值作为当前网络状态下最大重传次数。本节得到ARQ_adap()函数,该函数把Kalman滤波器预测得到的丢包率P_pre作为输入值,求出与之对应的ARQ参数值Nmax并作为返回值返回。
四、体系结构
如图2所示,发送方在应用层对视频源数据采用自适应FEC算法编码,视频源数据帧被封装成大小为S的数据包,数据包的最大长度设为1500字节。在数据链路层,一个链路层数据帧被进一步分割为K个链路层传输单元,这K个链路层传输单元经自适应FEC编码后生成N(N>K)个链路层传输单元。在网络传输过程中受传输错误的影响,接收方只能正确接收k个链路层传输单元,但只要k≥K,就可以恢复出K个链路层传输单元所属的链路层数据帧;若k<K,则启用自适应ARQ机制重传缺失的链路层传输单元。综上,可以把端到端时延达到最大时对应的Nmax值作为当前网络状态下自适应ARQ机制重传缺失的链路层传输单元,以确保k≥K,进而重组该数据链路层数据帧。
如图1所示本发明中自适应链路层混合FEC/ARQ结构示意图,其工作过程如下:
发送方:
(1)视频源数据帧首先由应用层的AFEC编码器采用自适应FEC算法编码;
(2)在数据链路层封装为链路层数据帧,丢包判别机制判断当前的链路层数据帧是否丢失过;
(3)如果未丢失过,则将该链路层数据帧发送出去,如果丢失过即收到一个NACK,则启动混合FEC/ARQ差错控制;
(4)由Kalman滤波器预测下一时刻无线网络的丢包率,然后启用自适应链路层FEC机制将该链路层数据帧分割为K个链路层传输单元并添加N1个冗余码编码成N个链路层传输单元,最后将这N个链路层传输单元发送;发送方收到NACK_u后判断其是否为0,若不为0则启用自适应链路层ARQ机制重传NACK_u个缺失的链路层传输单元,使接收方能正确解码并重组丢失的链路层数据帧,其中:N1=N-K,NACK_u是用于统计待重传链路层传输单元的个数,K、N1、N、NACK_u均为自然数;
接收方:
(5)接收方收到的数据首先送至分流器,分流器判断收到的数据是链路层数据帧还是链路层传输单元;
(6)如果是链路层数据帧,则将该链路层数据帧直接送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;如果是链路层传输单元,则启动混合FEC/ARQ差错控制,混合FEC/ARQ差错控制判断收到的链路层传输单元个数N_LLu是否大于等于K:如果大于等于K,则对收到的N_LLu个链路层传输单元进行解码并重组链路层数据帧,然后将还原得到的链路层数据帧发送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;如果小于K,则求NACK_u=K-N_LLu,并将NACK_u发送至分流器,分流器把NACK_u反馈给发送方,其中:N_LLu表示接收方收到的属于同一个链路层数据帧的链路层传输单元的个数,N_LLu为自然数,K同步骤(4)中的K。
以上各功能模块的算法描述为:
(1)发送方丢包判别机制(位于链路层)
Listen(NACK);//监听
If(NACK)
hybrid_s=1;//启动混合FEC/ARQ差错控制
Else
hybrid_s=0;
Send(链路层数据帧);//发送该链路层数据帧
(2)发送方混合FEC/ARQ差错控制(位于链路层)算法描述为:
Listen(hybrid_s);//监听
If(hybrid_s)
KalmanPredict(P_cur);//预测得到下一刻丢包率P_pre
If(NACK_u)//判断链路层传输单元是否丢失
ARQ_adap(P_pre);//求得Nmax
While(Ret_time<=Nmax)
Retransfer(链路层传输单元);
//重传NACK_u个链路层传输单元
Ret_time++;
//记录重传次数
Else//丢失链路层数据帧
FEC_adap(P_pre);//求得N
LL_u=1;//开始发送链路层传输单元
ReedSolomnCode(链路层数据帧);//进行RS编码
Send(发送链路层传输单元);//发送发送链路层传输单元
Else
No operation;
(3)接收方分流器(位于链路层)
Listen(LL_u);//监听
If(LL_u)
hybrid_r=1;//收到的数据是链路层传输单元
Else//收到的数据是链路层数据帧
hybrid_r=0;
Send(链路层数据帧);//把收到的链路层数据帧e送至上层
If(NACK_u)//丢失链路层传输单元
Send(NACK_u);//把NACK_u反馈给发送方
(4)接收方混合FEC/ARQ差错控制(位于链路层)算法描述为:
Listen(hybrid_r);//监听
If(hybrid_r)
If(N_LLu<K)
NACK_u=K-N_LLu;
//丢失的链路层传输单元个数
Send(NACK_u);
//把NACK_u发送给接收方的分流器
Else
NACK_u=0;
LL_u=0;
ReedSolomnDecode(链路层传输单元);
//RS解码并重组链路层数据帧
Send(链路层数据帧);//将重组的链路层数据帧送至上层
Else
No operation.
发送方和接收方混合FEC/ARQ差错控制流程图分别如图3和图4所示。
Claims (1)
1、一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法,其特征在于包括如下步骤:
(1)在发送方,视频源数据帧首先由应用层的AFEC编码器采用自适应FEC算法编码;
(2)在数据链路层封装为链路层数据帧,丢包判别机制判断当前的链路层数据帧是否丢失过;
(3)当未丢失过,则将该链路层数据帧发送出去,当丢失过即收到一个NACK,则启动混合FEC/ARQ差错控制;
(4)由Kalman滤波器预测下一时刻无线网络的丢包率,然后启用自适应链路层FEC机制将该链路层数据帧分割为K个链路层传输单元并添加N1个冗余码编码成N个链路层传输单元,最后将这N个链路层传输单元发送;发送方收到NACK_u后判断其是否为0,当不为0时,则启用自适应链路层ARQ机制重传NACK_u个缺失的链路层传输单元,使接收方能正确解码并重组丢失的链路层数据帧,其中:N1=N-K,NACK_u是用于统计待重传链路层传输单元的个数,K、N1、N、NACK_u均为自然数;
(5)接收方收到的数据首先送至分流器,分流器判断收到的数据是链路层数据帧还是链路层传输单元;
(6)当是链路层数据帧时,则将该链路层数据帧直接送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;当是链路层传输单元时,则启动混合FEC/ARQ差错控制,混合FEC/ARQ差错控制判断收到的链路层传输单元个数N_LLu是否大于等于K:当大于等于K时,则对收到的N_LLu个链路层传输单元进行解码并重组链路层数据帧,然后将还原得到的链路层数据帧发送至上层,由应用层的AFEC解码器进行解码得到可播放的视频源数据帧;当小于K时,则求NACK_u=K-N_LLu,并将NACK_u发送至分流器,分流器把NACK_u反馈给发送方,其中:N_LLu表示接收方收到的属于同一个链路层数据帧的链路层传输单元的个数,N_LLu为自然数,K同步骤(4)中的K。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100321270A CN101588597B (zh) | 2009-07-01 | 2009-07-01 | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100321270A CN101588597B (zh) | 2009-07-01 | 2009-07-01 | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101588597A true CN101588597A (zh) | 2009-11-25 |
CN101588597B CN101588597B (zh) | 2011-11-02 |
Family
ID=41372608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100321270A Expired - Fee Related CN101588597B (zh) | 2009-07-01 | 2009-07-01 | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101588597B (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826937A (zh) * | 2010-03-18 | 2010-09-08 | 常熟理工学院 | 适用于下一代移动互联网的链路层差错控制系统及其方法 |
CN102123273A (zh) * | 2011-03-01 | 2011-07-13 | 云浮南风数字科技有限公司 | 一种基于h.264的嵌入式无线视频监控系统 |
CN101807400B (zh) * | 2010-01-08 | 2012-04-25 | 中国科学院软件研究所 | 一种基于擦除编码的自适应语音多播传输方法 |
CN102469374A (zh) * | 2010-11-12 | 2012-05-23 | 北京信威通信技术股份有限公司 | 一种无线通信中视频业务跨层优化的方法 |
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信系统及其方法 |
CN102790666A (zh) * | 2011-05-17 | 2012-11-21 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
CN105553755A (zh) * | 2015-12-08 | 2016-05-04 | 北京飞讯数码科技有限公司 | 一种网络剩余带宽探测方法及其应用 |
CN106028033A (zh) * | 2016-05-10 | 2016-10-12 | 天津大学 | 一种适用于无线视频传输的自适应跨层前向纠错方法 |
CN106412478A (zh) * | 2015-07-30 | 2017-02-15 | 北京华纬讯电信技术有限公司 | 一种自适应未知网络环境的视频编码及传输方法 |
CN106850579A (zh) * | 2017-01-03 | 2017-06-13 | 北京飞讯数码科技有限公司 | 流媒体自适应流量调节方法和装置 |
CN108075859A (zh) * | 2016-11-17 | 2018-05-25 | 中国移动通信有限公司研究院 | 数据传输方法及装置 |
WO2018133638A1 (zh) * | 2017-01-17 | 2018-07-26 | 华为技术有限公司 | 一种获得前向纠错fec参数的方法、装置 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
WO2020258011A1 (zh) * | 2019-06-25 | 2020-12-30 | 深圳市大疆创新科技有限公司 | 数据自适应重传方法、遥控装置、飞行器和可移动平台 |
CN114337928A (zh) * | 2021-12-30 | 2022-04-12 | 福州大学 | 一种基于arq与fec自适应选择的实时视频传输方法 |
CN114584257A (zh) * | 2022-01-26 | 2022-06-03 | 百果园技术(新加坡)有限公司 | 一种基于前向纠错编码的冗余分配方法及装置 |
CN115189809A (zh) * | 2022-07-07 | 2022-10-14 | 福州大学 | 基于qoe的异构网络实时视频传输arq与fec模式选择方法 |
-
2009
- 2009-07-01 CN CN2009100321270A patent/CN101588597B/zh not_active Expired - Fee Related
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101807400B (zh) * | 2010-01-08 | 2012-04-25 | 中国科学院软件研究所 | 一种基于擦除编码的自适应语音多播传输方法 |
CN101826937B (zh) * | 2010-03-18 | 2014-03-26 | 常熟理工学院 | 适用于下一代移动互联网的链路层差错控制系统及其方法 |
CN101826937A (zh) * | 2010-03-18 | 2010-09-08 | 常熟理工学院 | 适用于下一代移动互联网的链路层差错控制系统及其方法 |
CN102469374A (zh) * | 2010-11-12 | 2012-05-23 | 北京信威通信技术股份有限公司 | 一种无线通信中视频业务跨层优化的方法 |
CN102123273A (zh) * | 2011-03-01 | 2011-07-13 | 云浮南风数字科技有限公司 | 一种基于h.264的嵌入式无线视频监控系统 |
CN102752184A (zh) * | 2011-04-20 | 2012-10-24 | 河海大学 | 用于实时多播业务的数据通信系统及其方法 |
CN102790666A (zh) * | 2011-05-17 | 2012-11-21 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
WO2012155821A1 (zh) * | 2011-05-17 | 2012-11-22 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
CN102790666B (zh) * | 2011-05-17 | 2015-04-08 | 华为终端有限公司 | 差错控制的方法、接收端、发送端和系统 |
CN106412478A (zh) * | 2015-07-30 | 2017-02-15 | 北京华纬讯电信技术有限公司 | 一种自适应未知网络环境的视频编码及传输方法 |
CN105553755A (zh) * | 2015-12-08 | 2016-05-04 | 北京飞讯数码科技有限公司 | 一种网络剩余带宽探测方法及其应用 |
CN106028033A (zh) * | 2016-05-10 | 2016-10-12 | 天津大学 | 一种适用于无线视频传输的自适应跨层前向纠错方法 |
CN106028033B (zh) * | 2016-05-10 | 2019-01-18 | 天津大学 | 一种适用于无线视频传输的自适应跨层前向纠错方法 |
CN108075859A (zh) * | 2016-11-17 | 2018-05-25 | 中国移动通信有限公司研究院 | 数据传输方法及装置 |
CN106850579A (zh) * | 2017-01-03 | 2017-06-13 | 北京飞讯数码科技有限公司 | 流媒体自适应流量调节方法和装置 |
WO2018133638A1 (zh) * | 2017-01-17 | 2018-07-26 | 华为技术有限公司 | 一种获得前向纠错fec参数的方法、装置 |
CN109412753A (zh) * | 2018-10-25 | 2019-03-01 | 网易(杭州)网络有限公司 | 数据传输方法及装置、电子设备以及存储介质 |
WO2020258011A1 (zh) * | 2019-06-25 | 2020-12-30 | 深圳市大疆创新科技有限公司 | 数据自适应重传方法、遥控装置、飞行器和可移动平台 |
CN114337928A (zh) * | 2021-12-30 | 2022-04-12 | 福州大学 | 一种基于arq与fec自适应选择的实时视频传输方法 |
CN114584257A (zh) * | 2022-01-26 | 2022-06-03 | 百果园技术(新加坡)有限公司 | 一种基于前向纠错编码的冗余分配方法及装置 |
CN114584257B (zh) * | 2022-01-26 | 2024-02-13 | 百果园技术(新加坡)有限公司 | 一种基于前向纠错编码的冗余分配方法及装置 |
CN115189809A (zh) * | 2022-07-07 | 2022-10-14 | 福州大学 | 基于qoe的异构网络实时视频传输arq与fec模式选择方法 |
CN115189809B (zh) * | 2022-07-07 | 2024-03-19 | 福州大学 | 基于qoe的异构网络实时视频传输arq与fec模式选择方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101588597B (zh) | 2011-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101588597B (zh) | 一种基于Kalman滤波的无线流媒体自适应混合FEC/ARQ控制方法 | |
US8826102B2 (en) | Method and system for adapting forward error correction in multicast over wireless networks | |
CN104159166B (zh) | 基于移动网络丢包状态的直播视频数据传输差错控制方法 | |
CN103312478B (zh) | 用于数据网络中的数据传输的方法和系统 | |
CN101826937B (zh) | 适用于下一代移动互联网的链路层差错控制系统及其方法 | |
CN106658223B (zh) | 一种长期演进lte网络下的视频上行传输方法及装置 | |
KR20010043472A (ko) | 송수신 장치 및 오류 제어 방법 | |
CN108075859A (zh) | 数据传输方法及装置 | |
CN102209079A (zh) | 一种基于tcp协议的自适应网络控制传输方法和系统 | |
Sarvi et al. | An adaptive cross-layer error control protocol for wireless multimedia sensor networks | |
CN114337928A (zh) | 一种基于arq与fec自适应选择的实时视频传输方法 | |
US7330902B1 (en) | Header compression | |
CN103338412A (zh) | 结合无线自适应调制与编码的自适应视频编码系统 | |
CN103354615A (zh) | 基于信号强度的直播视频数据传输差错控制方法 | |
KR100851918B1 (ko) | 네트워크 적응형 데이터 전송 방법, 이를 위한 데이터 전송시스템, 데이터 송신 장치, 및 데이터 수신 장치 | |
US20110206022A1 (en) | QoS WIRELESS NETWORKING FOR HOME ENTERTAINMENT | |
Cho et al. | An adaptive FEC with QoS provisioning for real-time traffic in LEO satellite networks | |
Ericsson et al. | Hybrid type-II ARQ/AMS supported by channel predictive scheduling in a multi-user scenario | |
KR102207467B1 (ko) | 패킷 도메인에서 음성 서비스를 스케줄링하는 방법 및 장치 | |
WO2009141012A1 (en) | Packet latency estimation | |
Sorour et al. | A network coded ARQ protocol for broadcast streaming over hybrid satellite systems | |
Lee et al. | Cross layer optimized video streaming based on IEEE 802.11 multi-rate over multi-hop mobile ad hoc networks | |
Fang et al. | RCP‐Planet: a rate control protocol for InterPlaNetary Internet | |
Chumchu et al. | Performance analysis of reliable multicast transport protocols for GEO satellite networks | |
Du et al. | Adaptive power and rate allocation for mobile multicast throughput optimization over fading channels in wireless networks |
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: 20111102 Termination date: 20150701 |
|
EXPY | Termination of patent right or utility model |