基于大尺度缓冲策略的音、视频编码流控方法

文档序号:7852519阅读:128来源:国知局
专利名称:基于大尺度缓冲策略的音、视频编码流控方法
技术领域
本发明涉及ー种音、视频编码方法,尤其是ー种基于大尺度缓冲策略的音、视频编码流控方法。
背景技术
视频是由一连串连续的图像所组成的,其中每ー个图像称为帧(frame),而视频中毎秒所包含图像的数量则称为帧率(fps)。码流控制就是要按照一定方法来决定各编码成分占用的比特数,然后控制各编码环节,最終调节编码器在単位时间内的输出比特数。目前的音视频流 控方法主要有CBR模式、VBR模式、ABR (MBR)模式。CBR模式主要适用于音频流通过广电网络进行传输,其特点任何时刻的码率均保持恒定。但互联网是基于IP的分组交换传输网络,具有拥塞控制、缓冲等机制,无须在任一时刻均要求音视频流均为固定带宽。且CBR编码模式下,带宽资源不能被很好的利用,简单的画面仍需花费较多带宽进行编码,而复杂画面又因为资源不够,导致编码质量降低,用户主观感觉差。VBR模式主要适用于本地文件保存,不用考虑传输的因素,所以对带宽没有任何限制。此模式下,一般根据文件时长和文件编码后的目标大小,估计出一个编码量化參数进行整个文件的编码。固定量化參数,虽然主观效果比较理想,但是存在实际输出大小与目标大小相差较大的情况,此外此类文件不适合进行网络实时传输,因为带宽的震荡幅度过大。ABR (MBR)模式是随着近几年网络视频的发展而产生的平均带宽流控的方法。该模式的基本原理根据计算出的平均带宽与目标带宽的差值,对编码器中量化器的量化步长进行调整,从而达到编码输出的平均码率始终趋近于目标带宽。ABR (MBR)模式的局限性在于,其控制机制是通过调节量化步长使得平均带宽趋向设定值,与传输与播放端的缓冲策略并不匹配。给定ー个缓冲区大小,此方法无法保证码流既肯定可以流畅播放,又充分利用了网络带宽及缓冲区。同时,为了保证编解码的兼容性,MPEG标准还提出了 Video BufferVerifier (VBV)的解码缓冲模型,H. 263 和 H. 264 标准中则提出了 Hypothetical ReferenceDecoder (HRD)假想參考解码的缓冲模型。VBV和HRD的解码缓冲模型中,缓冲指的是解码器内部的缓冲器,引入该解码缓冲模型的意义在于保证编码码流在解码器内不出现上溢和下溢的情况,保证编解码的兼容性。因为解码缓冲模型在具体的实现中限制了每帧的最大长度和一段长度的数据最多包含的帧数,所以它间接地影响到了编码的流控。但是VBV和HRD解码缓冲模型中的缓冲区其大小通常仅可保存几帧或十几帧视频数据量,而互联网音视频传输各环节的数据缓存,其大小通常可保存多个GOP的音视频数据,例如网页Flash播放时通常可缓存的5至10秒的数据量,Apple-HLS和Adobe-HDS中定义的至少缓存的一个切片文件的大小,或者RTMP协议中快启动过程推送的2个GOP长度的数据量。这样采用VBV和HRD模型来进行流控将无法有效利用互联网的大尺度缓冲区,进而使得编码质量无法充分提高。
进ー步地,VBV和HRD的缓冲模型,要求上溢和下溢均不能出现,同时这两种缓冲模型均只涉及编码和解码的协议层,不涉及网络传输协议。但是,在互联网的应用中,各种終端实际可承受的缓存上限,远远超过了 VBV和HRD缓冲模型中提及的概念,同时网络传输协议层也有相应的机制去控制实际数据的下发速率。

发明内容
针对现有技术的上述缺陷,本发明提供了ー种基于大尺度缓冲策略的音、视频编码流控方法,既可以避免CBR、VBR流控的固有问题,也可以解决ABR流控中控制机制与缓冲策略不匹配的缺点,还可解决VBV和HRD模式中流控粒度过小以及严格上溢控制等影响编码质量的因素。 为实现上述目的,本发明提供ー种基于大尺度缓冲策略的音、视频编码流控方法包括以下步骤101、操作者以互联网音视频传输、应用等环节中的大尺度缓存数据量为依据,人エ对流控參数进行设定;102、通过模拟网络缓存模拟器对编码输出的每ー帧数据进行网络缓冲的模拟计算,以得出缓冲数据量;103、根据模拟网络缓冲器计算的结果对编码流控进行修正,使得码流既可大幅波动,也保证在任意时间范围内均不超过给定的目标带宽的缓冲区上限104、将已编码数据输出,同时根据新的流控參数对未编码的数据继续进行编码。优选地,在步骤101中,流控设定參数包括目标带宽及缓冲数据量或目标带宽及缓冲时间。优选地,在步骤102中,在编码端构建网络缓存模拟器,并为每ー帧数据定义两个时间戳,两个时间戳分别为进网络缓存的时间戳(BITS, Buffer In TimeStamp)和出网络缓存进解码器的时间戳(BOTS, Buffer Out TimeStamp)0优选地,在步骤102中,根据流特性,为每ー帧数据计算出BITS和B0TS,在计算过程中,每ー帧的BITS和BOTS需要依赖于上ー帧的BITS和B0TS,和当前帧的数据量以及时长。优选地,在步骤103中,根据实时流式播放的网络缓存模拟器,每ー个数据块的B0TS-BITS代表着网络缓存模拟器中缓存的数据时长,结合网络带宽,可得出缓存的数据量,并依据该数据量对当前码流编码參数进行调整,使得任意时间范围内码流均不超过一个给定的基于目标带宽的缓冲区上限。优选地,在步骤103中,当B0TS-BITS的值越小时,表示缓存的数据就越少,当前编码的瞬时带宽就越有必要调低。根据此推断,进行流控修正。优选地,在步骤103中,当帧数据的B0TS-BITS的值小于或者等于O时,表示模拟的网络缓存已经出现了下溢,此时进行強制丢帧,已确保流在客户端的稳定播放不缓沖。优选地,在步骤103中,当帧数据的B0TS-BITS的值逐步变小时,逐步调低编码的瞬时输出带宽。例如差值小于目标缓冲时间的1/2时,调低编码瞬时输出带宽;当差值继续缩小,小于最大抖动时间的1/3时,进ー步调低编码瞬时输出带宽;依次类推。优选地,在步骤103中,当帧数据的B0TS-BITS的值恢复到目标缓冲时间时,可恢复编码瞬时输出带宽。优选地,在步骤103中,当帧数据的B0TS-BITS的值超过目标缓冲时间,且仍然在增大时,开始调高编码瞬时输出带宽;当差值继续扩大,进ー步调高编码瞬时输出带宽;依次类推。与现有技术相比,本发明具有以下优点本发明既可以避免CBR、VBR流 控的固有问题,也可以解决ABR流控中控制机制与缓冲策略不匹配的缺点,还可解决VBV和HRD模式中流控粒度过小以及严格上溢控制等影响编码质量的因素。另外,本方法利用了互联网网络视频传输与应用等各环节的缓存机制,既可以充分利用网络带宽和缓冲区以提高视频质量,又可以保证码流的流畅播放。本发明的应用背景为当前互联网的视频应用,涉及的协议包括但不限于HTTP(Flash、Apple-HLS、Adobe-HDS、MPEG-DASH)、RTMP, RTSP 等,以上协议均依赖缓存数据来实现多级分发和客户端播放。本发明不同于MPEG标准中提出的Video Buffer Verifier (VBV)的解码缓冲模型,也不同于 H. 263 和 H. 264 标准中提出的 Hypothetical Reference Decoder (HRD)假想參考解码的缓冲模型。VBV和HRD的解码缓冲模型中,缓冲指的是解码器内部的缓冲器,MPEG标准、H. 263和H. 264标准中引入该解码缓冲模型的意义在于保证编码码流在解码器内不出现上溢和下溢的情况,保证编解码的兼容性。本发明缓冲区的定义和大小不同于VBV和HRD的解码缓冲模型。VBV和HRD解码缓冲模型中的缓冲区指的是解码器内部的缓冲区,其大小通常仅可保存几帧或十几帧视频数据量。而本发明中流控方法中涉及的缓存是指互联网音视频传输各环节的数据缓存,其大小通常可保存多个GOP的音视频数据,例如网页Flash播放时通常可缓存的5至10秒的数据量,Apple-HLS和Adobe-HDS中定义的至少缓存的ー个切片文件的大小,或者RTMP协议中快启动过程推送的2个GOP长度的数据量。本发明对流控的影响目的也不同于VBV和HRD的解码缓冲模型。VBV和HRD的意义是为了保证各种编码器和解码器之间的码流兼容性,因为解码缓冲模型中的定义,限制了每帧的最大长度和一段长度的数据最多包含的帧数,从而间接的影响到了编码的流控。而本发明所提供的方法,是为了使流控方法与网络传输、应用等环节的缓冲区大小相适应。本发明中控制方式、处理机制和涉及的协议层不同于VBV和HRD的解码缓冲模型。在VBV和HRD的缓冲模型中,要求上溢和下溢均不能出现,同时VBV和HRD均只涉及编码和解码的协议层,不涉及网络传输协议。而本发明所提供的方法,涉及了编解码协议层和网络传输的应用层,同时控制方式和处理机制只需避免下溢的情况,因为在互联网的应用中,各种终端实际可承受的缓存上限,远远超过了本方法中提及的概念,同时网络传输协议层也有相应的机制去控制实际数据的下发速率。


图I为本发明的流程图;图2为图I中步骤102的流程图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合具体实施方式
并配合附图详予说明。本发明提供ー种基于缓冲策略的音、视频编码流控方法,如图I与图2所示,本发明提供的基于大尺度缓冲策略的音、视频编码流控方法,包括以下步骤101、流控设定步骤,操作者以互联网音视频传输、应用等环节中的大尺度缓存数据量为依据,人工对流控參数进行设定; 102、通过模拟网络缓冲器对已编码输出的每ー帧数据进行网络缓冲的模拟进行计算,得出缓冲数据量;103、根据步骤102中计算出来的缓冲数据量与用户设定的流控最大缓冲数据量进行比较,根据比较结果对当前流控參数进行修正,使得码流即可大幅波动,也可保证在任意时间范围内均不超过给定的基于目标传输带宽的缓冲区上限;104、将已编码数据输出,同时根据新的流控參数对未编码的数据继续进行编码。在步骤101中,由操作者人工设定流控參数。其流控设定參数包括目标带宽BR(单位kbps)及缓冲数据量S (单位kbytes)或目标带宽及目标缓冲时间,并据此初始化流控系统。其设定方法为(I)设定最大缓冲数据时长T (单位秒),S=TXBR ;(2)直接设定最大网络缓冲数据量S (单位kbytes)。具体參数设定之后,对流控模型进行初始化。根据BR和S,初始化两个变量第O帧进网络缓存的时间戳(BITS。,Buffer In TimeStamp),单位100ns ;第O帧出网络缓存进解码器的时间戳(BOTS。,Buffer Out TimeStamp),单位 100ns。其中 BITStl=O, BOTStl=T。编码帧率设定为FPS。在步骤102中,将编码输出的每帧数据大小输入至网络缓冲模拟器中,进行计算。定义当前帧编号为i帧时长为、当前帧的大小为Li (単位bytes)前一帧的网络缓冲模拟器的參数为BITS^和BOTS^1计算过程如下在步骤201中,计算BITSi,单位IOOns BITSi=BITSi-^Li X 8/BRX 10000在步骤202中,计算BOTSi,单位IOOns 如果当前帧为视频帧,BOTSi=BOTSi-Jti如果当前帧为音频帧,BOTSi=BOTS^1在步骤203中,得出当前帧的网络缓冲模拟数据时长BOTSi-BITSi在步骤103中,根据BOTSi-BITSi对编码模块进行反馈修正当BOTSi-BITSZO时,表示网络缓冲出现下溢情况,需要调节流控,強制降低编码瞬时输出带宽,同时采取丢帧不输出的措施。其中,降低编码瞬时输出带宽,可通过降低量化參数等手段实现。当连续FPS X 3/5帧BOTSi-BITSi满足(KBOTSi-BITSZT/^,表示网络缓冲的数据量低于正常水平,需要调节流控,适当降低编码瞬时输出带宽。当连续FPSX3/5 帧 BOTSi-BITSi 满足 Tz^aOTSi-BITSiCrX3/2 时,表示目前的网络缓冲处于稳定状态,不需要进行流控调节。当连续FPSX3/5帧BOTSi-BITSi满足BOTSi-BITSiXTX3/2,表示网络缓冲的数据量充足,可调节流控,适当増加编码瞬时输出带宽,可通过提高量化參数等手段实现。
当BOTSi-BITSi不满足上述任何ー种条件时,保持当前流控,不进行调节。以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
权利要求
1.ー种基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,以互联网音视频传输、应用环节中的大尺度缓存数据量为依据,人工对流控參数进行设定,之后编码系统自动对编码參数进行动态调整,使得音视频码流可在大幅度波动的前提下,任意时间范围内均不超过一个给定的基于特定传输带宽的缓冲区上限,以此保证在有限传输带宽的条件下音视频的平滑及高质量的播放。
2.根据权利要求I所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,流控设定參数包括目标带宽及缓冲数据量或目标带宽及缓冲时间。
3.根据权利要求I所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,在编码端构建网络缓存模拟器,并为每ー帧数据定义两个时间戳,两个时间戳分别为进网络缓存的时间戳(BITS,Buffer In TimeStamp)和出网络缓存进解码器的时间戳(BOTS,Buffer Out TimeStampX
4.根据权利要求3所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,根据流特性,为每ー帧数据计算出BITS和B0TS,在计算过程中,每ー帧的BITS和BOTS需要依赖于上ー帧的BITS和B0TS,和当前帧的数据量以及时长。
5.根据权利要求3所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,根据实时流式播放的网络缓存模拟器,每ー个数据块的B0TS-BITS代表着网络缓存模拟器中缓存的数据时长,结合网络带宽,以得出缓存的数据量,并依据该数据量对当前码流编码參数进行调整,使得任意时间范围内码流均不超过一个给定的基于目标带宽的缓冲区上限。
6.根据权利要求5所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,当B0TS-BITS的值越小时,表示缓存的数据就越少,当前编码的瞬时带宽就越有必要调低。
7.根据权利要求5所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,当帧数据的B0TS-BITS的值小于或者等于O时,表示模拟的网络缓存已经出现了下溢,此时进行强制丢帧,已确保流在客户端的稳定播放不缓沖。
8.根据权利要求5所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,当帧数据的B0TS-BITS的值逐步变小时,逐步调低编码的瞬时输出带宽。
9.根据权利要求5所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在干,包括以下步骤当帧数据的B0TS-BITS的值恢复到目标缓冲时间时,可恢复编码瞬时输出带宽。
10.根据权利要求5所述的基于大尺度缓冲策略的音、视频编码流控方法,其特征在于,当帧数据的B0TS-BITS的值超过目标缓冲时间,且仍然在增大时,开始调高编码瞬时输出带宽;当差值还在继续扩大时,进ー步调高编码瞬时输出带宽。
全文摘要
本发明提供了一种基于大尺度缓冲策略的音、视频编码流控方法,以互联网音视频传输、应用等环节中的大尺度缓存数据量为依据,人工对流控参数进行设定,之后编码系统自动对编码参数进行动态调整,使得音视频码流可在大幅度波动的前提下,任意时间范围内均不超过一个给定的基于特定传输带宽的缓冲区上限,以此保证在有限传输带宽的条件下音视频的平滑及高质量的播放。本发明根据互联网音、视频流传输及播放的特性,既可以避免CBR、VBR流控的固有问题,也可以解决ABR流控中控制机制与缓冲策略不匹配的缺点,还可解决VBV和HRD模式中流控粒度过小以及严格上溢控制等影响编码质量的因素。
文档编号H04N7/24GK102695058SQ20121017421
公开日2012年9月26日 申请日期2012年5月30日 优先权日2012年5月30日
发明者李毅, 罗翰, 要文涛 申请人:北京世纪鼎点软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1