专利名称:一种流媒体传输自适应纠错方法
技术领域:
本发明涉及流媒体传输技术领域,具体涉及一种流媒体传输自适应纠错 方法。
背景技术:
随着网络技术和多媒体业务的不断发展,多媒体通信业务逐渐在
Internet应用中占据主导地位。由于多媒体业务如语音、视频传输对网络带 宽的要求比较高,同时由于IP网络容易产生拥塞导致媒体数据的丢失,因 此在网络环境动态变化的情况下,需要一种流媒体传输自适应纠错方法来 为用户提供可靠、流畅和实时的端对端的服务质量保证。
影响流媒体质量的因素有很多,如网络拥塞、分组超时丢失、传输损 伤等。对动态变化的网络带宽导致的丢包通常采取的办法是自动调整流媒 体编码码率,而对传输过程中发生的丢包一般采取的方法是差错和数据包 丢失控制。在有限的网络带宽动态变化时,要保证客户端流媒体播放的流 畅性, 一般都是采取检测网络带宽的状态,以此动态地自适应调整服务端 的流媒体编码发送码率的方法。目前,有很多办法可以用来检测网络带宽 的状况,例如接收端通过实时传输控制协议RTCP (Real-time Control Protocol)报告分组向发送端反馈网络状态信息。另外,我们也可以在发送 端运行网络测速软件(如TCP/IP和UDP/IP的性能测量工具Iperf)来准确 测量带宽。对传输过程中产生的差错和数据包丢失,进行控制的的基本方 法大致可分为4类重传反馈(ARQ)、前向纠错(FEC) 、 FEC/ARQ的混 合差错控制方式、信息反馈(IRQ , information repeat request)方式。其中 前向纠错(FEC)是一种比较先进的纠错方法,相对于重传反馈(ARQ)和信息 反馈(IRQ)方式实时性能好,但是发送FEC纠错包会占用额外的网络带宽。
3现有不可靠的IP网络以及有限的网络带宽都会影响流媒体传输的质 量,因此需要一种既能动态调整媒体编码码率也能够在接收端恢复丢失数
据的方法,来保证流媒体的质量。实时传输控制协议RTCP组合前向纠错 FEC是一种比较适用的方法,但是现有的方法FEC参数往往是固定的,设 以较小的编码率会导致接收端恢复性能差,较大的编码率则会浪费网络带 宽。
发明内容
本发明的目的在于提出一种流媒体传输自适应纠错方法,该方法不仅能 够动态调整流媒体编码码率,以自动适应网络带宽,接收端也能够恢复由 于网络拥塞丢失的数据,同时动态地调整前向纠错FEC的参数能够更加有 效的利用网络带宽。
一种流媒体传输自适应纠错方法,具体为
步骤(1)媒体接收端向媒体发送端反馈丢包信息;
步骤(2)媒体发送端接收丢包信息,计算丢包率P,依据丢包率P调
整编码码率B,使用调整后的编码码率B生成当前RTP媒体数据包;根据 关系式P< (N-K)/N < W/B - 1确定原始媒体数据包数量K以及编码后FEC 纠错包和媒体数据包数量和N, W为网络带宽,再采用前向纠错FEC技术 RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接 收端;
步骤(3)媒体接收端接收当前RTP媒体数据包和FEC纠错包,利用 FEC纠错包对当前RTP媒体数据包进行恢复。
媒体发送端按照下述方法调整编码码率B:若丢包率P〉丢包率上限值 K+,则降低编码码率B;若丢包率P〈丢包率下限值IC,则提高编码码率B; 若K^PSK+,则保持编码码率B不变。本发明利用RTCP协议中的接收反馈包(Receive Report, RR)使得发 送端能够掌握当前的网络状况,并在出现丢包时使用前向纠错技术FEC来 进行丢失数据包的恢复。如无丢包现象时,则可以不发送FEC包,但是IP 网络波动性比较大, 一旦网络状况变差,可以根据RR包中的丢包率统计信 息,进行编码码率的调整,在码率调整结束之后,可以选择恰当的RS参数 发送冗余的FEC包以便于接收端数据的恢复。本发明可以达到码率自适应 的目的,同时动态地调整FEC参数也能够更加有效的利用网络带宽,实用 性强。
图1为本发明媒体发送端和接收端交互示意图。
图2为本发明媒体发送端自适应调节流媒体质量详细流程图。
图3为本发明媒体接收端自适应调节流媒体质量详细流程图。
具体实施例方式
下面结合附图对实施例进行详细说明。
图l显示了本发明媒体发送端和接收端交互示意图,具体为媒体发送 端向接收端发送RTP (Real-time Transport Protocol,实时传送协议)媒体包 和FEC纠错包,媒体接收端接收数据,并发送包含丢包信息的RTCP协议 RR包给发送端,发送端根据反馈的丢包情况算出丢包率P,由丢包率P调 整编码码率B并根据关系式P< (N-K)/N < W/B - 1选择FEC技术RS (Reed Solomen)算法中的参数K和N, K表示原始媒体数据包数量,N表示编码 后FEC纠错包和媒体数据包数量和,RS算法中根据K个原始媒体数据包 生成N-K个FEC纠错包。
图2显示了本发明媒体发送端自适应调节流媒体质量详细流程图,具体
为
步骤201,发送进程开始,准备发送媒体数据;
5步骤202,初始化编码器,设定初始码率BQ,最低码率B.,最高码率 B+及码率调整步长Bs;
步骤203,初始化前向纠错FEC技术RS算法中的K和N参数;
步骤204,接收接收端反馈回来的RTCP协议RR包,得出网络丢包率P;
步骤205,判断P是否大于K+, K+为丢包率上限值, 一般(KK,l,若 大于,则进入步骤206;否则进入步骤208;
步骤206,判断当前编码码率B是否大于B.,若大于,则转到步骤207; 否则进入步骤211;
步骤207,令当前码率B-B-Bs,即将编码码率降低一个步长Bs,进入步 骤211;
步骤208,判断P是否在OSP〈IC范围内,K—为丢包率下限值, 一般 (^K^K+,若在则进入步骤209;否则进入步骤211;步骤209,判断当前编码码率B是否小于B+,若小于,则进入步骤210; 否则进入步骤211;
步骤210,令当前码率B-B+Bs,即将编码码率提高一个步长Bs,进入 步骤211;
步骤211,根据P和B选定FEC技术RS算法中参数K和N,并生成相 应的FEC纠错包;
步骤212,依据当前编码码率生成RTP媒体包,将其与FEC纠错包一 起传送给媒体接收端,转入步骤204,进行循环发送数据。
图3显示了本发明媒体接收端自适应调节流媒体质量详细流程图,具体
为
步骤301,接收进程开始,准备接收媒体数据; 步骤302,读取网络媒体RTP数据包和FEC纠错包; 步骤303,根据RTP数据包包头的PT字段,判断数据包的类型,若为 媒体包,则进入步骤304;若为FEC纠错包,则进入步骤305; 步骤304,将接收的数据包保存至媒体包队列; 步骤305,将接收的数据包保存至FEC纠错包队列;步骤306,根据媒体包队列判断是否有丢包,若有则进入步骤307;否 则进入步骤308;
步骤307,通过FEC技术恢复丢包;
步骤30S,对接收的媒体包和通过FEC恢复的数据包进行解码播放,然 后转到步骤302,进行循环接收。 实例
编码器的初始码率B『200Kbps,最低码率B.=50Kbps,最高码率 B+=500Kbps,码率调整步长Bs=50Kbps。丢包率上限值K+=0.2,丢包率下 限值K.=0.1 。前向纠错FEC编码器的初始参数,原始媒体数据包数量K=10, 编码后总的数据包数量N42。
初始化完成之后,在出口带宽W-500K的IP丢包网络中,发送端开始 发送媒体数据,接收端反馈回来的丢包率P=0.4,由于P>K+,调整码率 B=B。-Bs=200Kbps-50Kbps= 15OKbps。调整之后接收端反馈回来的丢包率 P=0.15, K^P^K+,不需要再调整码率B,根据关系式?<(>1《)/]^<\¥/3-1算得FEC编码器的编码率-1.33〈K/N0.85,又0<K/N且K<N,固定K=10, 则11.76〈N,又N为整数,取N42。接收端利用FEC包和媒体包恢复丢失 的数据,媒体质量大为改善,无明显延时和马赛克现象,说明利用本专利 描述的方法很好的提高了流媒体的质量。
权利要求
1、一种流媒体传输自适应纠错方法,具体为步骤(1)媒体接收端向媒体发送端反馈丢包信息;步骤(2)媒体发送端接收丢包信息,计算丢包率P,依据丢包率P调整编码码率B,使用调整后的编码码率B生成当前RTP媒体数据包;根据关系式P<(N-K)/N<W/B-1确定原始媒体数据包数量K以及编码后FEC纠错包和媒体数据包数量和N,W为网络带宽,再采用前向纠错FEC技术RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接收端;步骤(3)媒体接收端接收当前RTP媒体数据包和FEC纠错包,利用FEC纠错包对当前RTP媒体数据包进行恢复。
2、 根据权利要求1所述的一种流媒体传输自适应纠错方法,其特征在 于,媒体发送端按照下述方法调整编码码率B:若丢包率P〉丢包率上限值 K+,则降低编码码率B;若丢包率P〈丢包率下限值K.,则提高编码码率B; 若K^PSK+,则保持编码码率B不变,0SK_5K+<1。
全文摘要
本发明公开了一种流媒体传输自适应纠错方法,媒体接收端向媒体发送端反馈丢包信息,媒体发送端计算丢包率,依据丢包率调整编码码率,并生成当前RTP媒体数据包;根据与网络带宽、编码码率及丢包率相关的关系式确定原始媒体数据包数量以及编码后FEC纠错包和媒体数据包数量和,再采用前向纠错FEC技术RS算法生成FEC纠错包,将其与当前RTP媒体数据包一起传送给媒体接收端,媒体接收端使用FEC纠错包对当前RTP媒体数据包进行恢复。本发明不仅能够动态调整流媒体编码码率以适应网络带宽变化,接收端也能够恢复由于网络拥塞丢失的数据,同时动态地调整前向纠错FEC技术的参数能够更加有效的利用网络带宽。
文档编号H04L1/00GK101505202SQ20091006112
公开日2009年8月12日 申请日期2009年3月16日 优先权日2009年3月16日
发明者镧 何, 左冬红, 朱龙成, 李军亮, 旭 杜, 春 王 申请人:华中科技大学