HEVC中屏幕内容编码的码率控制方法技术

技术编号:10541315 阅读:188 留言:0更新日期:2014-10-15 16:57
本发明专利技术公开了一种HEVC中屏幕内容编码的码率控制方法,该方法包括以下步骤:初始化编码参数,并建立滑动窗口;为滑动窗口分配相应的比特,并且在滑动窗口内对于视频序列进行运动估计,得到视频序列中的每一帧图像相对于前一帧图像的复杂度变化;根据得到的每一帧的复杂度在滑动窗口内对于当前帧进行比特分配;判断当前帧是否为场景切换帧,如是,则对当前帧及其后续帧进行比特处理;判断当前帧是否为最后一帧,如否,则更新滑动窗口内的比特数目和编码参数,返回比特分配步骤,对于下一帧继续进行编码,如是,则结束当前视频的编码过程。本发明专利技术能够对于屏幕内容序列进行有针对性的码率控制,从而有效地降低了码率控制误差,提升了编码效率。

【技术实现步骤摘要】
HEVC中屏幕内容编码的码率控制方法
本专利技术涉及多媒体通信
,具体地,涉及一种HEVC(HighEfficiencyVideoCoding)屏幕内容编码的码率控制方法。
技术介绍
HEVC编码标准在H.264/AVChighprofile的基础上,压缩效率提高一倍,是一种先进的视频编解码标准。然而由于当前信道本身的有效网络带宽有限并且实时变化,高清视频在无线环境下的传输仍然充满挑战。因此,在有限的带宽内合理分配资源使得目前的视频质量达到最优是当前研究的一个热点和难点。码率控制是解决上述问题的一个关键手段。它能够将当前信道的状态反馈给编码器,使得编码器更加合理的分配码率,从而优化视频的质量。码率控制分为比特分配和比特控制。在比特分配部分中,采用分层架构,分为GOP层、帧层和基本单元层;在比特控制部分中,通过调整编码参数使得最后消耗的比特尽量接近预分配的比特。在目前HEVC标准中,采用的是R-λ模型来进行码率控制,该模型表示如下:λ=α·bppβ,其中,bpp是当前视频序列中每个像素能够分配到的比特,由当前视频的分辨率和当前信道的带宽以及视频的帧率决定,α和β是R-λ模型中的编码参数,在视频序列开始编码时进行初始化,它们的值由视频序列的内容决定并且在编码过程中进行迭代更新。由于自然序列变化比较平缓,因此利用该R-λ模型能够快速迭代并收敛,也就是说,该R-λ模型在自然序列中能够非常精准地控制码率。但在屏幕内容序列中,经常出现前后两帧完全一样或者差别巨大的情况,这与自然序列特性存在比较大的差别,屏幕内容序列与自然序列编码复杂度分析的比较情况如图1所示,从图1中可以看出,FourPeople这个序列是自然序列,每一帧相对于前一帧SAD值的变化比较平和,而SlideShow则是屏幕内容序列,SAD值的变化比较剧烈。屏幕内容序列变化比较剧烈的特性使得当前的码率分配和比特控制策略不再适用。
技术实现思路
本专利技术提出一种HEVC屏幕内容编码的码率控制方法,从而能够在充分利用带宽的前提下提高视频的质量。本专利技术提出的一种HEVC中屏幕内容编码的码率控制方法包括以下步骤:步骤1:初始化编码参数并建立滑动窗口;步骤2:为所述滑动窗口分配相应的比特,并且在所述滑动窗口内对于视频序列进行运动估计,得到视频序列中的每一帧图像相对于前一帧图像的复杂度变化;步骤3:根据得到的每一帧的复杂度在滑动窗口内对于当前帧进行比特分配;步骤4:判断当前帧是否为场景切换帧,如是,则对当前帧及其后续帧进行比特处理;步骤5:判断当前帧是否为最后一帧,如否,则更新所述滑动窗口内的比特数目和编码参数,然后返回步骤3,对于下一帧继续进行编码,如是,则结束当前视频的编码过程,编码完成。本专利技术能够对于屏幕内容序列进行有针对性的码率控制,从而有效地降低了码率控制误差,提升了编码效率。附图说明图1是HEVC中自然序列和屏幕内容序列编码复杂度分析的比较示意图;图2是本专利技术HEVC中屏幕内容编码的码率控制方法原理框图。图3是本专利技术HEVC中屏幕内容编码的码率控制方法的流程图。具体实施方式本专利技术提出一种HEVC屏幕内容编码的码率控制方法,在该方法中,首先初始化编码参数并建立滑动窗口,在滑动窗口内对视频序列进行菱形模板的快速运动估计,通过运动估计得到每一帧图像相对于前一帧的复杂度变化;根据每一帧的复杂度按照比例在滑动窗口内对当前帧进行比特分配;然后根据当前帧的不同类型,进行不同的编码处理。为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术进一步详细说明。图2是本专利技术HEVC中屏幕内容编码的码率控制方法原理框图,图3是本专利技术HEVC中屏幕内容编码的码率控制方法的流程图,如图2和图3所示,所述HEVC中屏幕内容编码的码率控制方法包括以下步骤:步骤1:初始化编码参数并建立滑动窗口;在本专利技术一实施例中,利用R-λ模型进行码率控制,所述编码参数至少包括R-λ模型所涉及的编码参数和本专利技术中增加的一些机制中的参数,比如滑动窗口的长度,补偿窗口的长度,补偿窗口中每一帧的补偿权重值以及用于场景切换帧的判断阈值等参数;另外,为了满足实时性的要求,在本专利技术一实施例中,当前滑动窗口的长度设置为8。步骤2:为所述滑动窗口分配相应的比特,并且在所述滑动窗口内对于视频序列进行运动估计,得到视频序列中的每一帧图像相对于前一帧图像的复杂度变化;该步骤中,在开始编码时,初始化相应的缓存,读入预定帧数的视频,然后开始运动估计。在本专利技术一实施例中,运动估计所采用的搜索窗口的大小是[-64,64]。在进行运动估计时,首先从当前帧的参考图像列表中找到与所述当前帧最相似的参考图像,然后基于当前帧和该参考图像进行运动估计,从而得到当前帧的绝对差值和(SAD)和每一个编码树单元(CTU)的SAD,最后求出当前帧相对于前一帧的SAD。在运动估计的过程中,可以在所述搜索窗口内进行全搜索或者模板搜索来寻找最佳匹配块,为了加快估计速度,可以使用模板搜索来减少匹配的时间,同时还可以设置SAD阈值,如果当前得到的SAD值小于该SAD阈值,则提前退出当前帧的运动估计并得到运动估计的结果。需要说明的是,在进行运动估计的过程中,配置文件不同,参考图像就不同。步骤3:根据得到的每一帧的复杂度在滑动窗口内对于当前帧进行比特分配;该步骤中,利用以下几何模型来进行比特分配:NSW=min(SW,Picleft),TSWRate=TSWRateleft+Rtar/F,其中,SW为滑动窗口的初始化长度,Picleft为当前编码的序列所剩余的帧数,NSW表示在编码过程中所使用的滑动窗口的大小,是滑动窗口的初始化长度与剩余帧数中的较小值;TSWRateleft代表当前帧编码完成后滑动窗口内剩余的比特数目,Rtar和F分别为目标码率和帧率,TSWRate表示在对当前帧进行编码时滑动窗口内的比特数目,在当前帧编码完成之后,要根据当前剩余的帧数和剩余的比特数目对滑动窗口内的比特数目进行更新;Ccur表示当前帧的复杂度,CSW表示滑动窗口内所有帧的复杂度的总和,TcurPic表示当前帧所分配的比特数目。在编码过程中,该实施例没有使用编码图像组(GOP)的概念,而是通过循环更新滑动窗口内的比特数目,来完成与GOP类似的功能。步骤4:判断当前帧是否为场景切换帧,如是,则对当前帧及其后续帧进行比特处理;该步骤中,利用下式来判断当前帧是否为场景切换帧:其中,APflag是表示当前帧是否为场景切换帧的标记变量,Cpre表示之前所有编码帧的SAD值总和,Npre表示之前所有已编码帧的数目,表示之前所有编码帧SAD均值的3倍,该值作为当前帧是否为场景切换帧的判断阈值,由于均值可以较好的反应已经编码的帧的平均复杂度,并且经过测试,该判断阈值能够准确地识别出场景切换帧。其中,所述比特处理包括:自适应调整编码过程中所使用的R-λ模型中的编码参数λ,从而控制当前场景切换帧消耗的比特达到目标比特;另外,在场景切换帧后建立补偿窗口,并在补偿窗口内提高当前帧分配比特的权重。在本专利技术一实施例中,对于所述编码参数λ进行调整的步骤包括以下步骤:首先,利用下式计算得到当前CTU预分配的目标比特数RCTU:其中,CcurCTU表示当前CTU的SAD值,本文档来自技高网
...
HEVC中屏幕内容编码的码率控制方法

【技术保护点】
一种HEVC中屏幕内容编码的码率控制方法,其特征在于,该方法包括以下步骤:步骤1:初始化编码参数并建立滑动窗口;步骤2:为所述滑动窗口分配相应的比特,并且在所述滑动窗口内对于视频序列进行运动估计,得到视频序列中的每一帧图像相对于前一帧图像的复杂度变化;步骤3:根据得到的每一帧的复杂度在滑动窗口内对于当前帧进行比特分配;步骤4:判断当前帧是否为场景切换帧,如是,则对当前帧及其后续帧进行比特处理;步骤5:判断当前帧是否为最后一帧,如否,则更新所述滑动窗口内的比特数目和编码参数,然后返回步骤3,对于下一帧继续进行编码,如是,则结束当前视频的编码过程,编码完成。

【技术特征摘要】
1.一种HEVC中屏幕内容编码的码率控制方法,其特征在于,该方法包括以下步骤:步骤1:初始化编码参数并建立滑动窗口;步骤2:为所述滑动窗口分配相应的比特,并且在所述滑动窗口内对于视频序列进行运动估计,得到视频序列中的每一帧图像相对于前一帧图像的复杂度变化;步骤3:根据得到的每一帧的复杂度在滑动窗口内对于当前帧进行比特分配;步骤4:判断当前帧是否为场景切换帧,如是,则对当前帧及其后续帧进行比特处理;步骤5:判断当前帧是否为最后一帧,如否,则更新所述滑动窗口内的比特数目和编码参数,然后返回步骤3,对于下一帧继续进行编码,如是,则结束当前视频的编码过程,编码完成;所述比特处理包括:自适应调整编码过程中所使用的编码参数λ,以控制当前场景切换帧消耗的比特达到目标比特;以及在场景切换帧后建立补偿窗口,并在补偿窗口内提高当前帧分配比特的权重;对于所述编码参数λ进行调整的步骤包括以下步骤:首先,利用下式计算得到当前CTU预分配的目标比特数RCTU:其中,CcurCTU表示当前CTU的SAD值,CleftCTU表示当前帧中没有编码的CTU的SAD值总和,RPicLeft表示当前帧剩余的比特数目;然后,依据当前CTU预分配的目标比特数RCTU,计算得到R-λ模型中的编码参数λold:其中,RCTU表示当前CTU预分配的目标比特数,NCTU表示当前CTU中像素的数目,则表示当前CTU的每个像素所分配的比特数,α和β为R-λ模型中计算λ的参数;然后,计算当前的调整参数γ:其中,函数clip3()表示对当前参数的限制,函数clip3()中第一个参数是允许γ的下限,第二个参数是上限,第三个参数是赋值给γ的值,表示当前帧中所有CTU预分配的比特数RLastTotalTar与实际消耗比特数目RLastTotalActual之间的比例,表示与当前CTU相邻的上一个CTU预分配的比特数RLaastCTUTar与实际消耗比特数目RLastCTUActual之间的比例;最后,利用当前的调整参数γ来调整编...

【专利技术属性】
技术研发人员:孙松林郭耀耀陈娜刘玮
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京;11

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

1