一种快速实现预览h.264编码帧的传输方法

文档序号:7896616阅读:339来源:国知局
专利名称:一种快速实现预览h.264编码帧的传输方法
技术领域
本发明涉及通信技术领域,尤其是视频帧传输系统,具体地,涉及一种快速实现预览H. 264编码帧的传输方法。
背景技术
今天处于信息时代的人们,每天都可以用自己的手机等客户终端通过3G网络获取视频观看,目前的技术中,当在3G网络中传送视频数据时,为了减少数据量,需要编码技术提供压缩处理,经处理后的视频流由一系列的编码帧组成,主要是I帧,其为不要基准图像编码作为基准所产生的图像,称为ICP (Intra Coded Pictures,内部编码帧);P帧,是以最近的上一个I图或P图为基准进行运动补偿预测所产生的图像,称为PCP(PrediCtive Coded Pictures,预测编码帧)。视频流一个图像组包括一个I帧和若干个P帧,其中I帧, P帧的数据量可能相差数十倍。以CIF格式H. 264为例,I帧数据在IOK字节以上,P帧数据平均在IK字节左右。参考附图1,目前的H. 264视频实时传输过程中,由于3G通信网络能提供的上行带宽有限,当发送方生成I帧时,会产生较大的数据流量;即使在P帧的传输过程中,如果视频源发生较大的变化(如色彩、亮度等),也会产生较大的数据量(P帧的大小由几Kbyte急剧上升到几十Kbyte)。由于网络带宽较小,面对这种突发的数据量变化,如果不做任何处理, 直接发送出去,很有可能会丢包,这样接收端播放出来的视频就会出现马赛克,大大降低客户的满意度。对此,由于我国的3G网络建设不像发达国家那样有着较深厚的基础,进一步地, 我国广阔的地域也决定了我国不能像日韩等国家那样建立高速的3G网络,也就是说,只能从传输方法上进行改进。因此,提供一种能够有效利用现有网络带宽,保证传输流畅,减少客户端等待时间,尽可能消除马赛克现象的视频传输方法就显得十分重要。

发明内容
本发明的目的是提供一种能够在现有网络带宽中将较大编码帧多次分包发送的传输方法。针对现有技术中的缺陷,本发明提供一种快速实现预览H. 264编码帧的传输方法,将视频流采样编码,生成编码帧,所述编码帧包括若干I帧以及每个I帧各自对应的若干P帧,其特征在于,优先生成I帧并发送,在第1个I帧数据开始发送后,间隔固定时间T, 开始发送下个I帧数据,间隔固定时间T,再发送下一个I帧数据,不断重复,直至视频流所有的I帧数据传输完毕。上述的传输方法,其中,所述固定时间T为一个画面组所占用的时间
上述的传输方法,其中,在发送两I帧之间的网络带宽空闲时间段发送所述若干P帧。上述的传输方法,其中,在发送所述编码帧前,还包括判断所述编码帧的大小值是否大于网络传输带宽容量的步骤,若判断结果为是,则执行将所述编码帧分割为多个数据
包的步骤,其中,所述多个数据包的大小值均小于所述网络传输带宽容量;若判断结果为
否,则执行直接发送所述编码帧的步骤。 上述的传输方法,其中,所述多个数据包大小都相同。 上述的传输方法,其中,所述多个数据包大小不相同。通过上述方法步骤,将视频流编码整形成如图3所示的数据包进行传输。本发明通过把不同画面组的I帧优选发送,使得每个画面组的I帧传输的时间得到保证,避免出现I帧传输的滞后现象,保证I帧传输的实时性,使客户端能够最快的产生预览画面;进一步地,将流量较大的编码帧分割成多个数据包发送,控制网络传输中的数据突发现象,以减少终端模块丢包,保证视频质量,大大提高了 3G网络视频传输的稳定性;在网络传输带宽容量小的环境下,也能有较好的视频观看效果。


通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、 目的和优点将会变得更明显
图1示出了现有技术中,未经过优化处理的H. 264视频帧的传输示意图; 图2示出根据本发明的,一种快速实现预览H. 264编码帧的传输方法的流程图; 图3示出根据本发明的,经过整形平滑处理的H. 264编码帧的传输示意图;以及图4示出根据本发明将一个编码帧分割为多个数据包发送的时序图。
具体实施例方式以下结合附图及具体实施方式
对本发明进行进一步详细说明。此处所描述的具体实施方式
仅用于解释本发明,并不用于限定本发明的保护范围。图2示出根据本发明的,一种快速实现预览H.沈4编码帧的传输方法的流程图。具体地,包括步骤S201 视频流采样编码,和步骤S202 以固定间隔时间发送I帧。现有技术中,采用H. 264格式进行编码将生产若干I帧和若干P帧,其中,一个I帧和若干个P帧共同组成一个画面组(英文缩写为G0P),由于为了能使客户终端尽快的接受I帧,本领域技术人员理解,服务器的视频采集装置先将视频流采样编码,通过编码器生成编码帧,所述编码帧包括若干I帧以及每个I帧各自对应的若干P帧,在本实施例中,优先生成I帧并发送, 具体地,步骤S202的执行时,先发送第一个I帧,在第1个I帧数据开始发送后,间隔固定时间T,开始发送下个I帧数据,不断重复直至视频流所有的I帧数据传输完毕。其中,I帧的间隔由GOP决定,就是一个画面组所占用的时间,例如当GOP为100时,则两个I帧之间的间隔为100帧。在一个实施例中,如果H. 264每秒编码25帧,则从上一个I帧生成到下一个I帧生成需要100帧/25帧每秒=4秒,因此,时间T就是4秒,前后两I帧的发送时间为4秒。在这4秒中,网络带宽用于传输所述若干P帧,由于在一个画面组中,I帧为关键帧,因此,对于I帧的传输优先级别较高,为了保证每4秒有一个I帧发送,所述若干P帧的发送可以延后。本领域技术人员理解,I帧的发送得到保证,在第一时间发送,并能持续的间隔固定时间发送I帧,接收端就能够最快的接收I帧,从而进行解码工作来播放视频, 使得用户能够尽早的开始预览。
进一步地,由于I帧较大,在3G网络中传输时,网络堵塞现象时常发生,为了保证每一个I帧的顺利传输,不影响后续I帧的发送,还需要进一步对这种较大的编码帧进行分害I],使其适应3G网络环境的传输,以下可参考图3。图3示出根据本发明的,经过整形平滑处理的H. 264编码帧的传输示意图。其中,对比图1,通过对H. 264的码流统计分析,只有在生成I帧和巨大的P帧时,会产生较大的数据源,在其他时候传输的P帧都比较小。而当数据量大时,3G网络的上传带宽不够,出现丢包;当数据量较小时,3G网络的上传带宽绰绰有余,出现网络带宽的浪费。在进行传输前,首先判断要发送的编码帧的大小值是否大于网络传输带宽容量。 若所述编码帧数据大小小于或等于所述网络传输带宽容量,就直接发送所述编码帧;若所述编码帧数据大小大于所述网络传输带宽容量,就将所述编码帧分割为多个数据包,使得所述多个数据包的大小值均小于或等于所述网络传输带宽容量。例如,对于带宽为十多 Kbyte的网络环境而言,几十Kbyte大小的编码帧在发送时就非常容易丢包,进而影响网络传输的稳定性。因此,若要发送的编码帧较大为数十Kbyte,则对于十多Kbyte的带宽而言, 可以将所述编码帧分割为多个数据包,每个数据包的大小为十Kbyte。优选地,例如,对于17Kbyte的网络带宽,可以将一个60Kbyte的编码帧平均分成 4个数据包,每个数据包的大小为15Kbyte,使得每个数据包能够顺利在所述17Kbyte的网络带宽中传输。在一个变化例中,所述60Kbyte的编码帧也可以分割为3个17Kbyte的数据包和一个9Kbyte的数据包,所述编码帧仍然分为4个数据包,所需发送时间没有太大不同。本领域及人员理解,所述变化并不影响本实施例的实施,在此不予赘述。图4示出根据本发明将一个编码帧分割为多个数据包发送的时序图。如图所示, 设备端1作为编码帧发送端,客户端2作为接收端接收设备端1所发送的编码帧。对于图1 所示的未经过优化处理进行平滑整形的较大的编码帧,数据量较大,3G网络的上传带宽不够,这就会出现丢包现象。在本实施例中,将所述数据量大的编码帧如图3所示的分割为多个数据包进行发送。具体地,图4中所示出3次数据包的发送就是将原本一个较大的编码帧分割为3个数据包,其中,设备端1首先发送第一个数据包,客户端2在接收所述第一个数据包后进行缓冲,在发送完第一个数据包后,等待一小段时间,设备端1继续发送第二个数据包,此时,客户端2接收第二个数据包,继续缓冲,直至设备端1发送最后个数据包后, 客户端2完成最后个数据包的接收,从而完成了整个编码帧的传输过程。这个过程就是平滑处理的过程,最大程度的减小接收端丢包的情况。本领域技术人员理解,所述画面组GOP值可根据需要采用不同值,本领域技术人员结合现有技术可实现所述变化例,这样的变化例并不影响本发明的实质内容,在此不予赘述。以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的方法和处理过程应该理解为用本领域中的普通方式予以实施;本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
权利要求
1.一种快速实现预览H. 264编码帧的传输方法,将视频流采样编码,生成编码帧,所述编码帧包括若干I帧以及每个I帧各自对应的若干P帧,其特征在于,优先生成I帧并发送, 在第1个I帧数据开始发送后,间隔固定时间T,开始发送下个I帧数据,间隔固定时间T, 再发送下一个I帧数据,不断重复,直至视频流所有的I帧数据传输完毕。
2.根据权利要求1所述的传输方法,其特征在于,所述固定时间T为一个画面组所占用的时间。
3.根据权利要求1所述的传输方法,其特征在于,在发送两I帧之间的网络带宽空闲时间段发送所述若干P帧。
4.根据权利要求1至3中任一项所述的传输方法,其特征在于,在发送所述编码帧前, 还包括判断所述编码帧的大小值是否大于网络传输带宽容量的步骤,若判断结果为是,则执行将所述编码帧分割为多个数据包的步骤,其中,所述多个数据包的大小值都小于所述网络传输带宽容量;若判断结果为否,则执行直接发送所述编码帧的步骤。
5.根据权利要求4所述的传输方法,其特征在于,所述多个数据包大小都相同。
6.根据权利要求4所述的传输方法,其特征在于,所述多个数据包大小不相同。
全文摘要
本发明公开了一种快速实现预览H.264编码帧的传输方法,将视频流采样编码,生成编码帧,所述编码帧包括若干I帧以及每个I帧各自对应的若干P帧,其中,优先生成I帧并发送,在第1个I帧数据开始发送后,间隔固定时间T,开始发送下个I帧数据,间隔固定时间T,再发送下一个I帧数据,不断重复,直至视频流所有的I帧数据传输完毕,在发送两I帧之间的网络带宽空闲时间段发送所述若干P帧,还将较大的编码帧分割为多个数据包发送;避免出现I帧传输的滞后现象,保证I帧传输的实时性,使客户端能够最快的产生预览画面。
文档编号H04N21/2381GK102547375SQ20101060205
公开日2012年7月4日 申请日期2010年12月23日 优先权日2010年12月23日
发明者沈方凯, 王伟君, 王洪波 申请人:上海讯垒网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1