一种基于tcp协议的流媒体无线自适应传输方法

文档序号:7811217阅读:357来源:国知局
一种基于tcp协议的流媒体无线自适应传输方法
【专利摘要】本发明涉及音视频数据传输【技术领域】,公开了一种基于TCP协议的流媒体无线自适应传输方法,该方法利用TCP协议传输数据可靠的特点,采用TCP协议把音视频数据用固定长度的数据包头进行封装,同时设置双缓冲区分别进行音视频数据包存储和发送,根据网络的实时状况,通过丢包和调节帧率,来自适应于无线信道带宽的变化,从而减少网络拥塞状况。利用这个原理,不仅保证了TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。
【专利说明】一种基于TCP协议的流媒体无线自适应传输方法

【技术领域】
[0001]本发明属于音视频数据传输【技术领域】,具体涉及一种基于TCP协议的流媒体无线自适应传输方法。

【背景技术】
[0002]在目前的各种应急通信系统方案中,应急音视频通信终端与指挥中心的音视频数据传输主要基于3G等无线网络实施,在这种应用场合下,网络环境的复杂性要远远超过传统的有线网络,比如无线网络的低带宽、高误码等特点,使得传统的基于有线网络设计的音视频通信终端效果总是不尽人意,表现为延时、抖动、花屏,甚至出现音视频传输中断等,而这在应急通信中是无法令人接受的。因此如何基于各类无线网络,尤其是电信、移动等公司的3G无线网络进行音视频数据的高质量传输是急需解决的一个现实问题。
[0003]目前应急通信采用的无线传输网络主要有两种:电信、联通的3G网络和移动的4G网络等公用无线宽带网络,以及专用无线电台。由于3G/4G等公用无线宽带网络无论是在网络覆盖面、无线网络应用成本等各个方面都存在非常明显的经济优势,这种网络也成为无线多媒体传输系统的主要网络。基于终端的标准化和应急通信系统的兼容性考虑,几乎所有应急通信平台均采用IP传输技术,因此目前的基于无线网络的多媒体通信传输技术也几乎全部是基于TCP/IP协议的,主要有以下两种:
[0004](I)基于 UDP 协议。
[0005]UDP协议的特点是面向无连接的不可靠传输,也即UDP协议对分组的超时或丢弃不敏感。在有线网络中,由于网络的低误码率、高吞吐量,以及接收终端的强计算能力和纠错能力,因而在有线网络中,基于UDP协议的多媒体传输可以得到较好的效果。然而,相对于有线网络,无线网络中存在大量计算能力受限的弱终端,它们的纠错能力和缓存能力都较弱,所以对于分组的缺失非常敏感。更为严重的是,传统的单纯基于UDP协议的流媒体传输方式由于没有拥塞控制机制,所以在网络发生拥塞时仍然会向网络中注入大量数据包,导致发生拥塞的路由将分组丢弃,进而造成终端恢复视频质量的急剧下降,严重时将导致接收终端(解码器)崩溃。
[0006](2)基于 TCP 协议。
[0007]最近的研究表明,越来越多的流式媒体采用TCP而非UDP作为传输协议。但是,目前TCP协议的实现(如TCP-Reno、TCP-NewReno, TCP-SACK)都把数据包的丢失作为网络拥塞的指示,进而将拥塞窗口减半,造成发送速率呈现较大的抖动性,影响了接收端的显示效果。尤其在无线高误码率网络下,丢包在很大程度上是由于链路错误而非拥塞。盲目进入拥塞控制,会导致网络利用率降低,影响接收效果。


【发明内容】

[0008]针对现有技术所存在的上述技术问题,本发明提供了一种基于TCP协议的流媒体无线自适应传输方法,该方法不仅保留了 TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。
[0009](I)以帧率初始值Vtl进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片;
[0010](2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片;
[0011](3)开辟内存为ki的存储缓冲区,将封装后的数据包存放到存储缓冲区内;
[0012](4)根据存储缓冲区存放情况,以丢包、调节帧率的方法来管理存储缓冲区。
[0013](5)设置TCP发送缓冲区大小为k2,根据TCP发送缓冲区存放情况,以把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区或者等待TCP发送缓冲区的数据包发送完毕。
[0014]进一步的,所述的数据包头内依次包含:帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度。
[0015]进一步的,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧是I帧,则丢弃最早I帧的下一个I帧之前的所有I帧、B帧、P帧数据包,并降低编码帧率至Vb ;如果存储缓冲区已满并且存储缓冲区最早帧不是I帧,则丢弃下一个I帧之前的所有B帧、P帧,并降低编码帧率至Vb ;减速后的编码帧率公式为:vb = (l-k)\,其中,vb为减速后的编码帧率,Vj为减速前的编码帧率,k为给定的帧率调节系数。
[0016]进一步的,所述步骤(4)中,如果存储缓冲区未满并且空余小于等于1/n,则继续保持原来帧率Vi ;如果存储缓冲区未满并且空余大于1/η,η是缓冲区的空余系数,则提高编码帧率至va,加速后的编码帧率计算公式为:va= (l+k)Vi,其中,va为加速后的编码帧率,Vi为加速前的编码帧率,k为给定的帧率调节系数。
[0017]进一步的,所述步骤(5)中,如果TCP发送缓冲区已满,则等待TCP发送缓冲区的数据包发送完毕;如果TCP发送缓冲区为空,则把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区。
[0018]另夕卜,上述V k2、η均为大于I的自然数。
[0019]本发明的有益效果是,本发明利用TCP协议传输数据可靠的特点,采用TCP协议把音视频数据用固定长度的数据包头进行封装,同时设置双缓冲区分别进行音视频数据包存储和发送,根据网络的实时状况,通过丢包和调节帧率,来自适应于无线信道带宽的变化,从而减少网络拥塞状况。利用这个原理,不仅保证了 TCP协议原有的传输可靠性,而且减少了视频传输的延迟,较好地实现了音视频数据基于无线网络的高质量传输。

【专利附图】

【附图说明】
[0020]图1为发送端数据存储线程的工作流程示意图;
[0021]图2为发送端数据发送线程的工作流程示意图。

【具体实施方式】
[0022]为了更为具体地描述本发明,下面结合附图及【具体实施方式】对本发明的技术方案进行详细说明。
[0023]如图1和图2所示,一种基于TCP协议的流媒体无线自适应传输方法,包括如下步骤:
[0024](I)以帧率初始值Vtl = 5帧/秒进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片;每个数据分片以600个字节为单位,I帧、P帧、B帧或音频流的最后一个数据分片,可以为不足600个字节的数据分片。
[0025]I帧表示视频流中的关键帧,P帧表示当前帧与前一帧的差别,B帧表示当前帧与前后两帧的差别。
[0026](2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片;
[0027]数据包包含数据包头和数据分片两部分,具体结构如表1所示;其中数据包头包含帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度,其结构如表2所示;数据分片则直接存放所要传输的视音频数据。
[0028]表1
[0029]

【权利要求】
1.一种基于TCP协议的流媒体无线自适应传输方法,其特征在于,包括如下步骤: (1)以帧率初始值Vo进行音视频的编码;对编码后音视频流中的I帧、P帧和B帧进行数据分割,得到多个数据分片; (2)对于任意一个数据分片,对其封装数据包头后形成数据包;依次遍历每个数据分片; (3)开辟内存为Ic1的存储缓冲区,将封装后的数据包存放到存储缓冲区内; (4)根据存储缓冲区存放情况,以丢包、调节帧率的方法来管理存储缓冲区; (5)设置TCP发送缓冲区大小为k2,根据TCP发送缓冲区存放情况,以把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区或者等待TCP发送缓冲区的数据包发送完毕。
2.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述的数据包头内依次包含:帧类型、帧尾标记、数据压缩格式、序列号、时间戳和分片长度。
3.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧是I帧,则丢弃最早I帧的下一个I帧之前的所有I帧、B帧、P帧数据包,并降低编码帧率,减速后的编码帧率为Vb。
4.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区已满并且存储缓冲区最早帧不是I帧,则丢弃下一个I帧之前的所有B帧、P帧,并降低编码帧率,减速后的编码帧率为vb。
5.根据权利要求3或4所述的流媒体无线自适应传输方法,其特征在于,减速后的编码中贞率计算公式为:vb = (l_k)Vj,其中,Vb为减速后的编码巾贞率,Vj为减速前的编码巾贞率,k为给定的帧率调节系数。
6.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区未满并且空余小于等于1/n,则继续保持原来帧率Vi,其中,η是缓冲区的空余系数。
7.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(4)中,如果存储缓冲区未满并且空余大于1/η,则提高编码帧率,加速后的编码帧率为Va,其中,η是缓冲区的空余系数。
8.根据权利要求7所述的流媒体无线自适应传输方法,其特征在于,加速后的编码帧率计算公式为:va = (l+k)Vi,其中,va为加速后的编码帧率,Vi为加速前的编码帧率,k为给定的帧率调节系数。
9.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(5)中,如果TCP发送缓冲区已满,则等待TCP发送缓冲区的数据包发送完毕。
10.根据权利要求1所述的流媒体无线自适应传输方法,其特征在于,所述步骤(5)中,如果TCP发送缓冲区为空,则把存储缓冲区最早一帧的数据包发送至TCP发送缓冲区。
【文档编号】H04L29/08GK104135486SQ201410394809
【公开日】2014年11月5日 申请日期:2014年8月8日 优先权日:2014年8月8日
【发明者】赵益民 申请人:浙江奇汇电子提花机有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1