码率控制方法及编码器技术

技术编号:31164797 阅读:14 留言:0更新日期:2021-12-04 10:39
本发明专利技术公开了一种码率控制方法及编码器,方法包括:S1,在预处理阶段,根据当前帧与前一帧的基于宏块的直方图差异的统计,对当前帧是否为场景切换帧进行判断,根据场景切换检测结果,在码率控制前调整帧处理顺序;S2,根据当前帧的当前帧或宏块的绝对误差和失真来估计当前帧的预测比特以及量化参数,当经过若干帧的编码之后,视频缓冲校验器状态在一个合理范围内;S3,一帧分成多个宏块,调整每个宏块的量化参数;S4,编码完整帧之后,根据该帧的实际编码量化参数以及实际编码比特更新帧级预测模型参数,根据预测比特以及实际比特对视频缓冲校验器状态进行相应的更新,使下一个未编码帧在帧级码控分配量化参数时得到最新的视频缓冲校验器状态。校验器状态。校验器状态。

【技术实现步骤摘要】
码率控制方法及编码器


[0001]本专利技术属于视频编码
,具体涉及一种码率控制方法及编码器。

技术介绍

[0002]AVS(Audio Video coding Standard,音视频编码标准)是《信息技术先进音视频编码》系列标准的简称,是我国具备自主知识产权的第二代信源编码标准,也是数字音视频产业的共性基础标准。可扩展视频技术

AVS3(Scalable Video Technology of AVS3,SVT

AVS3),通过结合Intel的可扩展视频技术(SVT),对AVS3编码器的各个流程模块化并充分解耦,在多核处理器中实现更好的帧级以及段级的高度并行编码,有效提升AVS3的编码速度。SVT

AVS3采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块。针对超高清视频的应用场景,SVT

AVS3的块划分包括四叉树划分(quad

tree,QT)、二叉树划分(binary tree,BT)以及增强型四叉树(extended quad_tree,EQT),不同的划分类型用于适应不同的纹理方向,以提升编码效率。同时,SVT

AVS3使用了编码单元(CU),预测单元(PU)和变换单元(TU),其中CU的尺寸支持从128x128递归划分到4x4,灵活的CU划分为了匹配图像本身的纹理复杂度。SVT

AVS3新增了许多关键技术,除了更加灵活的块划分之外,自适应运动矢量精度(Adaptive Motion Vector Resolution,AMVR)、基于历史信息的运动矢量预测(History

based Motion Vector Prediction,HMVP)、高级运动矢量表达(Ultimate Motion Vector Expression,UMVE)、仿射运动补偿(Affine Motion Compensation,AMC)以及基于位置的变换(Position Based Transform,PBT)等编码技术被用于提升编码效率。
[0003]通过将AVS3编码流程模块化,各个模块负责相应的编码任务并且相互独立,高度的并行化使SVT

AVS3的编码速度大大提升。SVT

AVS3将不同的编码任务分配给不同的内核(Kernel),每个Kernel可以被分配一个或者多个线程,并且Kemel之间的工作相互独立。包括图像分析内核(PictureAnalysisKernel)、码率控制内核(RateControlKernel)、图像决策内核(PictureDecisionKernel)、运动估计内核(MofionEstimationKernel)、编解码内核(EncDecKernel)、熵编码内核(EntropyCodingKernel)等,每个Kernel在接收到任务之后进行相应的处理,并将处理结果通过消息队列发送给下一个Kernel进行下一步的处理,这样每个Kernel之间分工明确并且提升了并行度。
[0004]SVT

AVS3的高度并行加速了AVS3的编码过程,使得SVT

AVS3被广泛应用于低延时编码场景中,例如8K赛事直播等。然而,SVT

AVS3编码器的码率控制模型对编码码率的精度以及码率波动的控制都不尽人意,使得其在低延时直播场景中的广泛应用受到限制。
[0005]SVT

AVS3原码率控制模型对当前编码帧向后看若干帧,根据目标码率以及帧率计算这些帧总的目标消耗比特bit,然后在一定量化参数(Quantitative Parameter,QP)范围内循环QP查找最优值使得以当前QP编码这些帧后bit消耗与目标bit尽量相近。这样的码率控制模型没有考虑单帧对码率波动的影响,容易导致码率波动较大,另外实际的码率控制精度也存在较大误差。每一帧的绝对误差和失真(Sum ofAbsolute Difference,SAD)表征
每一帧的编码复杂度,根据VBV状态为当前帧寻找最优QP并估计bit消耗,然后调整VBV状态用于下一帧的编码QP调整,达到控制码率波动的目的。在编码完一帧之后将编码bit作为反馈用于更新预测模型的参数以及VBV状态。由于SVT

AVS3编码器的多线程特点,码率控制处理的帧顺序存在一定乱序,增加了对码率控制的挑战。

技术实现思路

[0006]本专利技术要解决的技术问题是提供一种码率控制方法及编码器,用于基于VBV的码率控制模型,在提升码率控制精度的情况下,对码率波动进行严格控制,使码率波动在合理范围内,降低编码延时。
[0007]为解决上述技术问题,本专利技术采用如下的技术方案:
[0008]本专利技术实施例一方面提供一种码率控制方法,包括以下步骤:
[0009]S1,在预处理阶段,根据当前帧与前一帧的基于宏块的直方图差异的统计,对当前帧是否为场景切换帧进行判断,根据场景切换检测结果,在码率控制前调整帧处理顺序;
[0010]S2,根据当前帧的当前帧或宏块的绝对误差和失真来估计当前帧的预测比特以及量化参数,当经过若干帧的编码之后,视频缓冲校验器状态在一个合理范围内;
[0011]S3,一帧分成多个宏块,调整每个宏块的量化参数;
[0012]S4,编码完整帧之后,首先根据该帧的实际编码量化参数以及实际编码比特更新帧级预测模型参数,根据预测比特以及实际比特对视频缓冲校验器状态进行相应的更新,使下一个未编码帧在帧级码控分配量化参数时能够得到最新的视频缓冲校验器状态。
[0013]优选地,S2进一步具体包括:以当前帧的帧序号为起点,向后看若干帧,以初始与量化参数相关的编码参数值和对应帧的当前帧或宏块的绝对误差和失真通过帧级预测模型来预测这些帧的预测模型的预测比特,根据每一帧的预测比特,预测视频缓冲校验器状态在若干帧后的变化情况,每当视频缓冲校验器状态即将下溢或上溢,跳出当前与量化参数相关的编码参数并相应增大或减小与量化参数相关的编码参数值,并重新进行每一帧的预测比特的预测,当经过若干帧的编码之后,视频缓冲校验器状态在一个合理范围内。
[0014]优选地,S3进一步具体包括:在编码一帧过程中,首先根据已编码宏块的实际比特更新行级预测模型,然后根据未编码宏块的前帧或宏块的绝对误差和失真预测未编码宏块的比特,当编码至每行的对角线宏块时进行行级比特预测,根据视频缓冲校验器状态以及行级预测的帧比特判断是否存在上、下溢危险,并及时调整剩余未编码宏块的量化参数。
[0015]优选地,S1中,根据场景切换检测结果,在码率控制前调整帧处理顺序具体包括:若当前帧为场景切换帧则严格按照帧序号处理该帧;否则,以当前帧帧序号为起点,向前看若干帧,并判断该距离内是否存在场景切换帧,若该距离内存在场景切换帧,则本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种码率控制方法,其特征在于,包括以下步骤:S1,在预处理阶段,根据当前帧与前一帧的基于宏块的直方图差异的统计,对当前帧是否为场景切换帧进行判断,根据场景切换检测结果,在码率控制前调整帧处理顺序;S2,根据当前帧的当前帧或宏块的绝对误差和失真来估计当前帧的预测比特以及量化参数,当经过若干帧的编码之后,视频缓冲校验器状态在一个合理范围内;S3,一帧分成多个宏块,调整每个宏块的量化参数;S4,编码完整帧之后,首先根据该帧的实际编码量化参数以及实际编码比特更新帧级预测模型参数,根据预测比特以及实际比特对视频缓冲校验器状态进行相应的更新,使下一个未编码帧在帧级码控分配量化参数时能够得到最新的视频缓冲校验器状态。2.如权利要求1所述的码率控制方法,其特征在于,S2进一步具体包括:以当前帧的帧序号为起点,向后看若干帧,以初始与量化参数相关的编码参数值和对应帧的当前帧或宏块的绝对误差和失真通过帧级预测模型来预测这些帧的预测模型的预测比特,根据每一帧的预测比特,预测视频缓冲校验器状态在若干帧后的变化情况,每当视频缓冲校验器状态即将下溢或上溢,跳出当前与量化参数相关的编码参数并相应增大或减小与量化参数相关的编码参数值,并重新进行每一帧的预测比特的预测,当经过若干帧的编码之后,视频缓冲校验器状态在一个合理范围内。3.如权利要求1所述的码率控制方法,其特征在于,S3进一步具体包括:在编码一帧过程中,首先根据已编码宏块的实际比特更新行级预测模型,然后根据未编码宏块的前帧或宏块的绝对误差和失真预测未编码宏块的比特,当编码至每行的对角线宏块时进行行级比特预测,根据视频缓冲校验器状态以及行级预测的帧比特判断是否存在上、下溢危险,并及时调整剩余未编码宏块的量化参数。4.如权利要求1至3任一所述的码率控制方法,其特征在于,S1中,根据场景切换检测结果,在码率控制前调整帧处理顺序具体包括:若当前帧为场景切换帧则严格按照帧序号处理该帧;否则,以当前帧帧序号为起点,向前看若干帧,并判断该距离内是否存在场景切换帧,若该距离内存在场景切换帧,则当前帧暂时在消息队列里存放不发送至码率控制模块,直至上一个场景切换帧已被发送至码率控制处理模块;若该距离内不存在场景切换帧,则当前帧直接被发送至码率控制处理模块。5.一种编码器,其特征...

【专利技术属性】
技术研发人员:周瑜锋李日谢亚光陈勇
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:

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

1