System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及视频处理,特别是涉及一种视频帧编码方法、装置、设备、介质和计算机程序产品。
技术介绍
1、码率控制(rate control)是一种视频压缩技术,用于优化压缩率和质量的平衡。通过码率控制,可以提高压缩视频帧的效率,并在保持较高的压缩率和质量的同时最大限度地减少压缩失真,从而广泛应用于各种编码标准。
2、码率控制的基本原理是通过不断调整量化参数来控制码率的稳定,通过量化参数控制视频帧中每个宏块的压缩量,量化参数反映了空间细节压缩情况,取值较大,意味着将具有更高的量化、更多的压缩和更低的质量,取值较小则图像质量越高,产生的码流也越多。
3、目前,传统的x265(基于h.265/mpeg-hhevc的视频编码解码器)行级码率控制对于竖屏帧的码率控制能力较差,容易造成竖屏帧整体量化参数过大,码率控制不够精准,从而导致编码效果不佳。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种能够提高码率控制精准性,从而改善视频帧编码效果的视频帧编码方法、装置、设备、介质和计算机程序产品。
2、第一方面,本申请提供了一种视频帧编码方法。所述方法包括:
3、接收关于帧级峰值码率的容忍度控制参数;
4、获取竖屏帧的初始量化参数,所述竖屏帧是帧行数大于帧列数的视频帧;
5、当所述容忍度控制参数小于第一预设值时,则
6、将所述初始量化参数作为所述竖屏帧的首个行宏块对应的行级量化参数,所述行级量化参数用于对所述
7、针对所述竖屏帧中除所述首个行宏块以外的、存在单元级码控位置的其它行宏块,按行依次执行以下步骤:根据所述容忍度控制参数确定所述其它行宏块中的单元级码控位置,在编码至所述单元级码控位置处的编码单元时,根据所述竖屏帧中当前已编码单元的比特消耗量与当前未编码单元的预估比特消耗量,对所述单元级码控位置对应的参考位置处的已编码单元所使用的量化参数进行调整,得到所述单元级码控位置处的编码单元对应的单元级量化参数,所述单元级量化参数用于对所述单元级码控位置处的编码单元进行编码。
8、第二方面,本申请还提供了一种视频帧编码装置。所述装置包括:
9、容忍度控制参数接收模块,用于接收关于帧级峰值码率的容忍度控制参数;
10、量化参数获取模块,用于获取竖屏帧的初始量化参数,所述竖屏帧是帧行数大于帧列数的视频帧;
11、行级量化参数确定模块,用于当所述容忍度控制参数小于第一预设值时,则将所述初始量化参数作为所述竖屏帧的首个行宏块对应的行级量化参数,所述行级量化参数用于对所述首个行宏块中的每个编码单元进行编码;
12、量化参数调整模块,用于针对所述竖屏帧中除所述首个行宏块以外的、存在单元级码控位置的其它行宏块,按行依次执行以下步骤:根据所述容忍度控制参数确定所述其它行宏块中的单元级码控位置,在编码至所述单元级码控位置处的编码单元时,根据所述竖屏帧中当前已编码单元的比特消耗量与当前未编码单元的预估比特消耗量,对所述单元级码控位置对应的参考位置处的已编码单元所使用的量化参数进行调整,得到所述单元级码控位置处的编码单元对应的单元级量化参数,所述单元级量化参数用于对所述单元级码控位置处的编码单元进行编码。
13、在一些实施例中,除所述首个行宏块以外的其它行宏块中存在行级码控位置,所述单元级码控位置位于所述行级码控位置之后,所述量化参数调整模块,还用于在编码至所述行级码控位置处的编码单元时,根据所述竖屏帧中当前已编码单元的比特消耗量与当前未编码单元的预估比特消耗量,对所述行级码控位置对应的参考位置处的已编码单元所使用的量化参数进行调整,得到所述行级码控位置处的编码单元对应的行级量化参数,所述行级量化参数用于对所述行级码控位置处的编码单元进行编码。
14、在一些实施例中,对于除所述首个行宏块以外的其它行宏块:当所述其它行宏块的行序号小于所述竖屏帧的帧列数时,所述其它行宏块对应的行级码控位置,为所述其它行宏块中列序号等于所述行序号的编码单元所在位置;当所述其它行宏块的行序号等于或大于所述竖屏帧的帧列数时,所述其它行宏块对应的行级码控位置,为所述其它行宏块中末尾编码单元所在位置。
15、在一些实施例中,所述量化参数调整模块,用于在编码至所述单元级码控位置处的编码单元时,获取所述竖屏帧中当前已编码单元的比特消耗量,获取所述竖屏帧中当前未编码单元的预估比特消耗量;根据所述竖屏帧中当前已编码单元的比特消耗量与所述竖屏帧中当前未编码单元的预估比特消耗量,确定所述竖屏帧对应的当前帧级预估比特消耗量;在所述当前帧级预估比特消耗量多于或等于视频缓冲校验器中剩余资源量的情况下,则在所述参考位置处的已编码单元所使用的量化参数的基础上,进行调大处理,得到所述单元级码控位置处的编码单元对应的单元级量化参数;在所述当前帧级预估比特消耗量少于视频缓冲校验器中剩余资源量的情况下,则在所述参考位置处的已编码单元所使用的量化参数的基础上,进行调小处理,得到所述单元级码控位置处的编码单元对应的单元级量化参数。
16、在一些实施例中,所述装置还包括比特预估模块,所述比特预估模块,用于确定当次码控对应的比特偏移量与比特修正系数;统计所述竖屏帧中当前未编码单元的帧内估计比特;根据所述当次码控对应的比特偏移量与比特修正系数,以及所述帧内估计比特,确定所述竖屏帧中当前未编码单元的预估比特消耗量。
17、在一些实施例中,所述比特预估模块,还用于获取前次码控对应的比特修正系数;根据所述前次码控对应的比特修正系数、所述单元级码控位置对应的参考位置处的已编码单元所使用的量化参数、所述其它行宏块中已编码单元的比特消耗量和预估比特消耗量,确定当次码控对应的比特偏移量。
18、在一些实施例中,所述比特预估模块,还用于确定所述竖屏帧的运动场景;确定与所述运动场景对应的最小比特修正系数;获取前次码控对应的比特偏移量;根据所述最小比特修正系数、所述前次码控对应的比特偏移量以及所述其它行宏块中已编码单元的比特消耗量和预估比特消耗量,确定当次码控对应的比特修正系数。
19、在一些实施例中,所述装置还包括运动场景确定模块,所述运动场景确定模块,用于获取所述竖屏帧中各编码单元各自的帧内预测模式,所述帧内预测模式包括直流预测模式;根据所述竖屏帧中属于所述直流预测模式的编码单元的数量,获得关于所述竖屏帧的运动场景的第一判定结果,所述第一判定结果用于指示所述竖屏帧的运动场景是否为简单运动场景;确定所述竖屏帧的编码组所在预处理窗口,所述预处理窗口还包括其它编码组,根据所述竖屏帧的预估帧间比特和所述其它编码组的预估帧间比特均值,获得关于所述竖屏帧的运动场景的第二判定结果,所述第二判定结果用于指示所述竖屏帧的运动场景是否为复杂运动场景;根据所述第一判定结果和所述第二判定结果,确定所述竖屏帧的运动场景。
20、在一些实施例中,所述运动场景确定模块,用于当本文档来自技高网...
【技术保护点】
1.一种视频帧编码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,除所述首个行宏块以外的其它行宏块中存在行级码控位置,所述单元级码控位置位于所述行级码控位置之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,对于除所述首个行宏块以外的其它行宏块:
4.根据权利要求1所述的方法,其特征在于,所述在编码至所述单元级码控位置处的编码单元时,根据所述竖屏帧中当前已编码单元的比特消耗量与当前未编码单元的预估比特消耗量,对所述单元级码控位置对应的参考位置处的已编码单元所使用的量化参数进行调整,得到所述单元级码控位置处的编码单元对应的单元级量化参数,包括:
5.根据权利要求4所述的方法,其特征在于,所述获取所述竖屏帧中当前未编码单元的预估比特消耗量,包括:
6.根据权利要求5所述的方法,其特征在于,所述确定当次码控对应的比特偏移量,包括:
7.根据权利要求5所述的方法,其特征在于,确定当次码控对应的比特修正系数包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所
9.根据权利要求8所述的方法,其特征在于,所述根据所述竖屏帧中属于所述直流预测模式的编码单元的数量,获得关于所述竖屏帧的运动场景的第一判定结果,包括:
10.根据权利要求8所述的方法,其特征在于,所述根据所述竖屏帧的预估帧间比特和所述其它编码组的预估帧间比特均值,获得关于所述竖屏帧的运动场景的第二判定结果,包括:
11.根据权利要求1所述的方法,其特征在于,所述其它行宏块中还存在量化参数更新位置,所述量化参数更新位置对应的参考位置为所述单元级码控位置;
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述方法还包括:
13.一种视频帧编码装置,其特征在于,所述装置包括:
14.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
16.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
...【技术特征摘要】
1.一种视频帧编码方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,除所述首个行宏块以外的其它行宏块中存在行级码控位置,所述单元级码控位置位于所述行级码控位置之后,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,对于除所述首个行宏块以外的其它行宏块:
4.根据权利要求1所述的方法,其特征在于,所述在编码至所述单元级码控位置处的编码单元时,根据所述竖屏帧中当前已编码单元的比特消耗量与当前未编码单元的预估比特消耗量,对所述单元级码控位置对应的参考位置处的已编码单元所使用的量化参数进行调整,得到所述单元级码控位置处的编码单元对应的单元级量化参数,包括:
5.根据权利要求4所述的方法,其特征在于,所述获取所述竖屏帧中当前未编码单元的预估比特消耗量,包括:
6.根据权利要求5所述的方法,其特征在于,所述确定当次码控对应的比特偏移量,包括:
7.根据权利要求5所述的方法,其特征在于,确定当次码控对应的比特修正系数包括:
8.根据权利要求7所述的方法,其特征在于,所述确定所述竖屏帧的运动场景,包括:
9.根据权利要求8所述的方法,其...
【专利技术属性】
技术研发人员:郭耀耀,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。