基于VBR视频编码的码率控制方法及系统技术方案

技术编号:10651297 阅读:223 留言:0更新日期:2014-11-19 14:21
本发明专利技术适用于流媒体技术领域,提供了一种基于VBR视频编码的码率控制方法及系统,所述方法包括步骤有:记录以往完成编码的每一帧的编码信息;根据编码信息以及视频编码的平均码率,初始化当前帧的编码参数;根据率失真优化算法设置当前帧的最大码率;根据编码参数和最大码率对当前帧进行编码,编码以多路方式进行;估算当前帧的当前一路编码产生的编码码率、判断编码码率是否将超过最大码率;若编码码率将超过最大码率,则调编码参数后进行下一路编码,直至当前帧的编码码率不超过最大码率。借此,本发明专利技术能够有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。

【技术实现步骤摘要】
基于VBR视频编码的码率控制方法及系统
本专利技术涉及流媒体
,尤其涉及一种基于VBR(VariableBitRate,动态码率)视频编码的码率控制方法及系统。
技术介绍
视频压缩编码旨在将视频业务中的图像序列转换成易于存储、易于传输(分发)、易于呈现的形式。在固定视频呈现质量的前提下,压缩率是衡量视频编码器的重要性能参数之一,因为压缩率越高,编码器输出的视频文件占用的存储空间越小。但是,压缩率并不是唯一的衡量指标。随着基于视频压缩技术的各项应用的层出不穷,视频编码器的设计需要兼顾越来越多的因素,以满足日益丰富多样的实际应用环境的需要。码率控制是在设计视频编码算法时需要考虑的关键技术之一。通过对编码过程进行码率(即比特率)控制,可约束视频码流在各个时刻的瞬时码率。随着网络带宽的提高,基于网络的视频分发和呈现已成为可能,但网络作为一种公共媒介,需要同时应对大量用户的各种请求,因此,网络服务提供商迫切地需要考虑这样一个问题:如何实现网络资源的高效利用?为解决这一现实难题,不仅需要对网络架构进行优化,还需要对运营在网络上的各项数据业务进行更有效的管理。以网络视频点播为例,为了应对同一时间来自成千上万用户的点播请求,即让每一个用户都能享受到相应品质的视频服务,除了需要部署足够多的通信线路和路由节点,还需要限制每个点播视频流的瞬时码率。如果不对视频流的瞬时码率加以限制,任由其增大,那么在网络数据承载能力给定的情况下,必然会出现某些视频段落的数据无法被及时传递到终端的情况。当终端因为没有数据而不得不暂停播放时,用户体验必然受到严重影响。码率控制的方式分为两种:VBR(VariableBitRate,动态码率)和CBR(ConstantBitRate,恒定码率)。CBR对码率控制的要求相比VBR更加严格,因为CBR要求瞬时码率保持恒定,而VBR允许瞬时码率在一定范围内浮动。对于相同的平均码率,采用VBR通常可获得比CBR更好的视频质量。长久以来,由于网络带宽资源的稀缺,CBR一直是主要的码率控制方式。然而,随着网络传输技术的发展,网络带宽不断提高,网络传输成本不断降低,基于网络的视频应用对视频编码的要求和限制也逐步放开,VBR正取代CBR成为主要的码率控制方式。一方面,2013年,中国电信发布了《IPTV业务视音频编解码规范V3.0》(简称IPTV3.0),该规范首次在中国电信IPTV业务中引入了VBR视频编码,并对这类视频编码的最大瞬时码率作了限制。另一方面,HLS(HttpLiveStreaming)、MPEG-DASH等协议正逐步成为主要的网络流媒体协议,在这类协议中,视频文件以切片为单位通过HTTP(HyperTextTransferProtocol,超文件传输协议)协议传递至终端,一个切片通常包含10秒钟的视频内容,对于这样一种视频分发方式,显然不需要采用像CBR那样苛刻的码率控制方式,事实上,在现有的许多基于HLS(HTTPLiveStreaming,超文本直播流)、MPEG-DASH的业务系统中,VBR是被普遍采用的码率控制方式。在设计基于VBR的编解码器时,需要采用与CBR不同的设计思路。因为,两者对码率控制有着不同的要求。尽管VBR允许码率浮动,仍然有必要对码率浮动的范围作严格的限定,因为网络资源是有限的,而终端播放要求良好的流畅性。通过对码率浮动范围的严格限定,可降低网络设计复杂度,提高网络带宽资源的利用率,同时可保障终端能持续流畅地进行播放。综上可知,现有技术在实际使用上显然存在不便与缺陷,所以有必要加以改进。
技术实现思路
针对上述的缺陷,本专利技术的目的在于提供一种基于VBR视频编码的码率控制方法及系统,其能够有效地兼顾了码率控制和视频质量两方面的要求,对最大码率进行限制可使播放器的内部时序更加平滑,有利于视频节目的流畅播放。为了实现上述目的,本专利技术提供一种基于VBR视频编码的码率控制方法,包括步骤有:编码信息记录步骤,记录以往完成编码的每一帧的编码信息;编码参数初始化步骤,根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;最大码率设置步骤,根据率失真优化算法设置所述当前帧的最大码率;编码步骤,根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;码率估算步骤,估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;编码参数调整步骤,若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。根据本专利技术所述的码率控制方法,所述码率控制方法编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。根据本专利技术所述的码率控制方法,所述编码参数初始化步骤包括:根据一阶模型初始化当前帧的编码参数。根据本专利技术所述的码率控制方法,所述最大码率设置步骤包括:通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。根据本专利技术所述的码率控制方法,所述当前帧的所述最大码率采用如下公式表示:其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率。根据本专利技术所述的码率控制方法,所述当前帧的所述最大码率采用如下公式表示:其中,RK代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,HK为限定的最大码率,为视频编码的平均码率,1≤n≤K。根据本专利技术所述的码率控制方法,所述编码信息记录步骤中所述编码信息包括RK、DK、QK,RK代表第k帧编码后的编码码率,DK代表第k帧的失真,QK代表第k帧的编码参数;所述编码参数初始化步骤进一步包括:根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率初始化第k帧的编码参数QK。根据本专利技术所述的码率控制方法,所述编码信息记录步骤进一步包括:记录先前已完成编码的每一帧的编码信息,记输入的第k帧为XK,对第k帧的编码比特解码得到的重构帧为且其中,M×N是XK的维度,XK(i,j)代表XK的第(i,j)个元素;所述编码参数初始化步骤进一步包括:根据{(Ri,Di,Qi)}1≤i≤k-1及视频编码的平均码率初始化第k帧的编码参数QK,平均码率的计算公式如下:其中,E[·]代表数学期望,根据一阶模型设定编码参数QK,即所述最大码率设置步骤进一步包括:根据{(Ri,Di,Qi)}1≤i≤k-1以及视频编码的平均码率设置第k帧的编码码率的最大码率HK;设k=tk+n,其中,1≤n≤K,则其中,K是码率统计的间隔,HK是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;所述编码步骤进一步包括:根据编码参数QK和最大码率HK对第k帧进行一轮编码,所述编码以多路方式进行;所述码率估算步骤进一步包括:对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率RK,判断编码码率RK是否将超过所述最大码率HK;编码参数调整步骤进一步包括:若所述编码码率RK将超过所述最大码率HK,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数QK后启动下一路编码,直至所述当前帧的编码码率RK不超过所述最大码率HK本文档来自技高网
...

【技术保护点】
一种基于VBR视频编码的码率控制方法,其特征在于,包括步骤有:编码信息记录步骤,记录以往完成编码的每一帧的编码信息;编码参数初始化步骤,根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;最大码率设置步骤,根据率失真优化算法设置所述当前帧的最大码率;编码步骤,根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;码率估算步骤,估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;编码参数调整步骤,若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。

【技术特征摘要】
1.一种基于VBR视频编码的码率控制方法,其特征在于,包括步骤有:编码信息记录步骤,记录以往完成编码的每一帧的编码信息;编码参数初始化步骤,根据所述编码信息以及视频编码的平均码率,初始化当前帧的编码参数;最大码率设置步骤,根据率失真优化算法设置所述当前帧的最大码率;编码步骤,根据所述编码参数和所述最大码率对所述当前帧进行编码,所述编码以多路方式进行;码率估算步骤,估算所述当前帧的当前一路编码产生的编码码率、判断所述编码码率是否将超过所述最大码率;编码参数调整步骤,若所述编码码率将超过所述最大码率,则调所述编码参数后进行下一路编码,直至所述当前帧的编码码率不超过所述最大码率。2.根据权利要求1所述的码率控制方法,其特征在于,所述码率控制方法编码出的视频文件符合中国电信的IPTV业务视音频编解码规范V3.0。3.根据权利要求1所述的码率控制方法,其特征在于,所述编码参数初始化步骤包括:根据一阶模型初始化当前帧的编码参数。4.根据权利要求1所述的码率控制方法,其特征在于,所述最大码率设置步骤包括:通过对每一帧设定最大比特数来实现对所述最大码率的控制,每一帧的所述最大码率不低于平均码率。5.根据权利要求1所述的码率控制方法,其特征在于,所述当前帧的所述最大码率采用如下公式表示:t≥1其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,Hk为限定的最大码率。6.根据权利要求1~4任一项所述的码率控制方法,其特征在于,所述当前帧的所述最大码率采用如下公式表示:其中,Rk代表第k帧编码后的大小,第k帧是当前帧,K代表码率的统计间隔,即每隔K帧统计一次码率,H为当前帧的码率,Hk为限定的最大码率,为视频编码的平均码率,1≤n≤K。7.根据权利要求6所述的码率控制方法,其特征在于,所述编码信息记录步骤中所述编码信息包括Rk、Dk、Qk,Rk代表第k帧编码后的编码码率,Dk代表第k帧的失真,Qk代表第k帧的编码参数;所述编码参数初始化步骤进一步包括:根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率初始化第k帧的编码参数Qk。8.根据权利要求7所述的码率控制方法,其特征在于,所述编码信息记录步骤进一步包括:记录先前已完成编码的每一帧的编码信息,记输入的第k帧为Xk,对第k帧的编码比特解码得到的重构帧为且其中,M×N是Xk的维度,Xk(i,j)代表Xk的第(i,j)个元素;所述编码参数初始化步骤进一步包括:根据{(Ri,Di,Qi)}1sisk-1及视频编码的平均码率初始化第k帧的编码参数Qk,平均码率的计算公式如下:其中,E[●]代表数学期望,根据一阶模型设定编码参数Qk,即所述最大码率设置步骤进一步包括:根据{(Ri,Di,Qi)}1sisk-1以及视频编码的平均码率设置第k帧的编码码率的最大码率Hk;设k=tK+n,其中,1≤n≤K,则其中,K是码率统计的间隔,H为当前帧的码率,Hk是限定的最大码率,Rk-i为已经编码的第k-i帧的编码码率,为期望的平均码率;所述编码步骤进一步包括:根据编码参数Qk和最大码率Hk对第k帧进行一轮编码,所述编码以多路方式进行;所述码率估算步骤进一步包括:对第k帧的编码过程进行监控,根据第k帧已编码部分所用的比特估算编码码率Rk,判断编码码率Rk是否将超过所述最大码率Hk;编码参数调整步骤进一步包括:若所述编码码率Rk将超过所述最大码率Hk,中断当前这路编码,更新Qk←Qk+δ,并调所述编码参数Qk后启动下一路编码,直至所述当前帧的编码码率Rk不超...

【专利技术属性】
技术研发人员:范钰华申青平顾炜陈永华王振兴
申请(专利权)人:百视通网络电视技术发展有限责任公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1