一种视频编码方法与流程

未命名 09-22 阅读:68 评论:0


1.本发明涉及视频编码技术领域,尤其涉及一种视频编码方法。


背景技术:

2.视频技术已经广泛地应用于移动终端、网络直播、家庭影院和远程监控等领域,视频分辨率也逐步从标清(standard defin it ion,sd)向高清(h igh defin it ion,hd)、超高清(u ltra high-defin it ion,uhd)进行转变,当前国际常用的视频编解码标准有h.264、h.265/hevc(high efficiency video cod ing,高效视频编码)以及国内的avs(aud iovideo cod ing standard,音视频编码标准)、avs+、avs2等。
3.hevc编码器将每帧图像划分为若干个相同尺寸的ctu(cod ing tree un it,编码树单元),每个ctu又根据各区域的纹理和运动等信息划分成64x64、32x32、16x16和8x8等不同尺寸的cu(cod ing un it,编码单元),这些不同尺寸的cu对应的cu深度分别为0、1、2、3。较大尺寸的cu通常能够节省较多的码率,但是编码失真较大,而较小的cu尺寸通常消耗较多的码率,但是编码失真较小。
4.为了兼顾码率和失真,hevc编码器采用四叉树形式对cu进行递归处理,如图1通过对比各尺寸cu的rdcost(rate di stort ion cost,率失真代价)来决定cu尺寸,选择出具有最小rdcost的cu尺寸作为最优cu尺寸,上述rdcost的计算为:rdcost=λ
·
r+ssd,其中λ为拉格朗日因子,r代表码率,ssd代表编码失真,该方法称之为基于拉格朗日率失真的cu尺寸选择方法,它能够选择出码率消耗少而且编码失真小的cu尺寸,如图2为某视频采用该方法的cu尺寸划分结果,其中黑色平坦的区域通常选择了大尺寸cu,而纹理复杂的区域则通常会选择较小尺寸的cu。
5.hevc编码采用了高效的预测编码和变换编码技术,预测编码为利用时、空域上有相关性的cu的像素来预测当前cu的像素,从而减少了当前cu所需要携带的数据信息;变换编码将cu预测像素和cu原始像素相减形成编码残差,并将编码残差进行dct(di scretecos ine transform,离散余弦变换)和量化进一步压缩残差信息。
6.dct将编码残差信息的能量大部分集中于频率域的一个小范围内,这样一来,描述不重要的分量只需要很少的比特数,另外,频率域分解映射了人类视觉系统的处理过程,并允许后继的量化过程满足其灵敏度的要求,dct变换公式为:
7.其中x为编码残差系数矩阵,y表示dct系数矩阵,c为变换矩阵,e为修正矩阵。
8.传统基于拉格朗日率失真的cu尺寸选择方法虽然选择出码率较小且客观编码失真较小的cu尺寸,但不能选择出最符合人眼主观感受的cu尺寸。对于一个同时包含平坦区域和纹理区域的cu,在hevc编码器的dct过程中高频信息分布不够集中,导致量化过程很难消除这些高频信息,在解码重建时高频信息会传递到平坦区域,使平坦区域看起来有明显的噪声,将其称为局部平坦块噪声。


技术实现要素:

9.为此,本发明提供一种视频编码方法,用以克服现有技术中编码复杂的问题。
10.为实现上述目的,本发明提供一种视频编码方法,包括:
11.步骤1,开始某一cu深度的cu划分判断;
12.步骤2,求取cu的亮度方差值var1,如果var1大于第一阈值th1,则执行步骤3,否则执行步骤4;
13.步骤3,对当前cu的编码残差进行dct和量化,并统计当前cu中量化系数大于0的个数标记为n1,如果n1大于第二阈值th2,则判定当前cu应该划分,否则执行步骤4;
14.步骤4,根据拉格朗日率失真的cu尺寸选择方法判断是否将当前cu划分,若是则判定当前cu应该划分;若否则判定当前cu不应该划分,执行步骤5;
15.步骤5,中控单元计算编码单元与相邻的t个编码单元的运动矢量,获得t个编码单元的运动矢量分别对应的最小率失真代价,中控单元对下一运动矢量是否符合标准进行判定,在判定下一运动矢量不符合标准时根据最小率失真代价与中控单元内设置的第一预设率失真代价的差值判定不符合标准的原因,中控单元根据判定结果确定下一编码单元,或,调整中控单元内设置的预测模型。
16.进一步地,第一阈值th l的取值范围在[1,1000]之间。
[0017]
进一步地,第一阈值th l的取值为600。
[0018]
进一步地,第二阈值th2的取值范围在[1,20]之间。
[0019]
进一步地,第二阈值th2的取值为8。
[0020]
进一步地,亮度方差值var1具体为:其中n表示当前cu中像素的个数,yt表示当前cu中第t个像素的亮度值,μ表示当前cu中所有像素的亮度值的平均值。
[0021]
进一步地,所述量化系数为:其中,y(i,j)表示在dct系数矩阵y中位置为(i,j)的dct系数,l(i,j)是位置为(i,j)的量化系数,qstep表示量化步长,f loor()为向下取整函数,f为舍入偏移量。
[0022]
进一步地,所述中控单元在第一预设条件下获得t个编码单元的运动矢量分别对应的最小率失真代价qmin,并根据最小率失真代价qmin判定下一运动矢量是否符合标准的判定方式,其中:
[0023]
第一判定方式为所述中控单元判定下一运动矢量符合标准,下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一判定方式满足所述最小率失真代价qmin小于等于所述第一预设率失真代价q1;
[0024]
第二判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据最小率失真代价qmin与所述第一预设率失真代价q1的差值二次判定下一运动矢量是否符合标准;所述第二判定方式满足所述最小率失真代价qmin大于第一预设率失真代价q1且小于等于所述中控单元内设置的第二预设率失真代价q2;
[0025]
第三判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据所述最小率失真代价qmin与所述第一预设率失真代价q1的差值重新建立中控单元内设置的预
测模型;所述第三判定方式满足所述最小率失真代价qmin大于所述第二预设率失真代价q2;
[0026]
所述第一预设条件为所述中控单元完成编码单元与相邻的t个编码单元的运动矢量的计算。
[0027]
进一步地,所述中控单元在所述第二判定方式下将最小率失真代价qmin与所述第一预设率失真代价q1的差值记为率失真代价差值

q,并根据率失真代价差值

q确定下一编码单元的矢量判定方式,其中:
[0028]
第一矢量判定方式为所述中控单元判定所述下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一矢量判定方式满足所述率失真代价差值

q小于等于所述中控单元内设置的预设率失真代价差值

q0;
[0029]
第二矢量判定方式为所述中控单元判定所述下一编码单元为率失真代价与最小率失真代价qmin相差最小的编码单元;所述第二矢量判定方式满足所述率失真代价差值

q大于所述中控单元内设置的预设率失真代价差值

q0。
[0030]
进一步地,所述中控单元在所述第三判定方式下根据所述率失真代价差值

q确定所述预测模型的模型调节方式,其中:
[0031]
第一模型调节方式为所述中控单元使用第一预设率失真代价系数α1将所述预测模型调节至对应值;所述第一模型调节方式满足所述率失真代价差值

q小于等于所述中控单元内设置的第一预设率失真代价差值

q1;
[0032]
第二模型调节方式为所述中控单元使用第二预设率失真代价系数α2将所述预测模型调节至对应值;所述第二模型调节方式满足所述率失真代价差值

q大于所述第一预设率失真代价差值

q1且小于等于所述中控单元内设置的第二预设率失真代价差值

q2;
[0033]
第三模型调节方式为所述中控单元使用第三预设率失真代价系数α3将所述预测模型调节至对应值;所述第三模型调节方式满足所述率失真代价差值

q大于所述第二预设率失真代价差值

q2。
[0034]
与现有技术相比,本发明的有益效果在于采用本发明具有如下:利用局部平坦块的亮度方差值,并判断如果亮度方差值偏大,则认为其易产生噪声,此时使cu倾向于选择较小尺寸;根据量化后非零系数的个数,并判断如果该数目偏大,则编码失真较大,此时使cu选择较小cu尺寸。通过本发明实施例提供的方法使局部平坦块的cu尺寸更加合理,可以减少局部平坦块噪声,提升视频主观质量。
附图说明
[0035]
图1为现有技术中ctu的四叉树分割结构示意图;
[0036]
图2为现有技术中基于拉格朗日率失真的cu尺寸划分示意图;
[0037]
图3为本发明实施例的视频编码方法的步骤流程图;
[0038]
图4为以开源x265视频编码器为实验平台和对比平台的图片示意图;
[0039]
图5为通过本发明实施例的方法进行视频编转码后的图片示意图。
具体实施方式
[0040]
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描
述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
[0041]
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
[0042]
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0043]
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
[0044]
请参阅参见图3,所示为本发明实施例的视频编码方法的步骤流程图,包括:
[0045]
步骤1,开始某一cu深度的cu划分判断;
[0046]
步骤2,求取cu的亮度方差值var1,如果var1大于第一阈值th1,则执行步骤3,否则执行步骤4;其中,阈值th1的取值范围在[1,1000]之间,典型值为600。
[0047]
步骤3,对当前cu的编码残差进行dct和量化,并统计当前cu中量化系数大于0的个数,标记为n1,如果n1大于第二阈值th2,则判定当前cu应该划分,否则执行步骤4;其中,阈值th2的取值范围在[1,20]之间,典型值为8。
[0048]
步骤4,根据拉格朗日率失真的cu尺寸选择方法判断是否将当前cu划分,若是则判定当前cu应该划分;若否则判定当前cu不应该划分。
[0049]
具体应用实例中,亮度方差值var1具体为:其中n表示当前cu中像素的个数,yt表示当前cu中第t个像素的亮度值,μ表示当前cu中所有像素的亮度值的平均值。
[0050]
量化过程实际上就是对dct系数的一个优化过程,它是利用了人眼对高频部分不敏感的特性来实现数据的大幅简化,量化过程实际上是简单地把频率领域上每个成份,除以一个对于该成份的常数,且接着四舍五入取最接近的整数。具体应用实例中,步骤3中,量化系数为:其中,y(i,j)表示在dct系数矩阵y中位置为(i,j)的dct系数,l(i,j)是位置为(i,j)的量化系数,qstep表示量化步长,f loor()为向下取整函数,f为舍入偏移量。
[0051]
以开源x265视频编码器为实验平台和对比平台,利用局部平坦块的亮度方差值和cu在量化后非零系数的个数,使易产生噪声的区域选择较小cu尺寸,从而减少局部平坦块噪声,提升主观质量。如下图4和图5分别为x265方法和本发明方法的编码输出图,可以看出,x265方法中在平坦和纹理交界区域的噪声非常明显,如图4中黑色方框部分,光线的旁边有很多条纹形状的噪声,而本发明方法在平坦和纹理交界区域则噪声很少,说明本发明方法对局部平坦块噪声的改善有明显效果,如图5黑色方框部分。本发明通过高效去除局部
平坦块噪声的方法来优化视频主观质量,可应用于h265/hevc、avs2等视频压缩标准。
[0052]
具体而言,所述中控单元在第一预设条件下获得t个编码单元的运动矢量分别对应的最小率失真代价qmin,并根据最小率失真代价qmin判定下一运动矢量是否符合标准的判定方式,其中:
[0053]
第一判定方式为所述中控单元判定下一运动矢量符合标准,下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一判定方式满足所述最小率失真代价qmin小于等于所述第一预设率失真代价q1;
[0054]
第二判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据最小率失真代价qmin与所述第一预设率失真代价q1的差值二次判定下一运动矢量是否符合标准;所述第二判定方式满足所述最小率失真代价qmin大于第一预设率失真代价q1且小于等于所述中控单元内设置的第二预设率失真代价q2;
[0055]
第三判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据所述最小率失真代价qmin与所述第一预设率失真代价q1的差值重新建立中控单元内设置的预测模型;所述第三判定方式满足所述最小率失真代价qmin大于所述第二预设率失真代价q2;
[0056]
所述第一预设条件为所述中控单元完成编码单元与相邻的t个编码单元的运动矢量的计算。
[0057]
具体而言,所述中控单元在所述第二判定方式下将最小率失真代价qmin与所述第一预设率失真代价q1的差值记为率失真代价差值

q,并根据率失真代价差值

q确定下一编码单元的矢量判定方式,其中:
[0058]
第一矢量判定方式为所述中控单元判定所述下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一矢量判定方式满足所述率失真代价差值

q小于等于所述中控单元内设置的预设率失真代价差值

q0;
[0059]
第二矢量判定方式为所述中控单元判定所述下一编码单元为率失真代价与最小率失真代价qmin相差最小的编码单元;所述第二矢量判定方式满足所述率失真代价差值

q大于所述中控单元内设置的预设率失真代价差值

q0。
[0060]
具体而言,所述中控单元在所述第三判定方式下根据所述率失真代价差值

q确定所述预测模型的模型调节方式,其中:
[0061]
第一模型调节方式为所述中控单元使用第一预设率失真代价系数α1将所述预测模型调节至对应值;所述第一模型调节方式满足所述率失真代价差值

q小于等于所述中控单元内设置的第一预设率失真代价差值

q1;
[0062]
第二模型调节方式为所述中控单元使用第二预设率失真代价系数α2将所述预测模型调节至对应值;所述第二模型调节方式满足所述率失真代价差值

q大于所述第一预设率失真代价差值

q1且小于等于所述中控单元内设置的第二预设率失真代价差值

q2;
[0063]
第三模型调节方式为所述中控单元使用第三预设率失真代价系数α3将所述预测模型调节至对应值;所述第三模型调节方式满足所述率失真代价差值

q大于所述第二预设率失真代价差值

q2。
[0064]
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利
要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
[0065]
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
[0066]
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种视频编码方法,其特征在于,包括:步骤1,开始某一cu深度的cu划分判断;步骤2,求取cu的亮度方差值var1,如果var1大于第一阈值th1,则执行步骤3,否则执行步骤4;步骤3,对当前cu的编码残差进行dct和量化,并统计当前cu中量化系数大于0的个数标记为n1,如果n1大于第二阈值th2,则判定当前cu应该划分,否则执行步骤4;步骤4,根据拉格朗日率失真的cu尺寸选择方法判断是否将当前cu划分,若是则判定当前cu应该划分;若否则判定当前cu不应该划分,执行步骤5;步骤5,中控单元计算编码单元与相邻的t个编码单元的运动矢量,获得t个编码单元的运动矢量分别对应的最小率失真代价,中控单元对下一运动矢量是否符合标准进行判定,在判定下一运动矢量不符合标准时根据最小率失真代价与中控单元内设置的第一预设率失真代价的差值判定不符合标准的原因,中控单元根据判定结果确定下一编码单元,或,调整中控单元内设置的预测模型。2.根据权利要求1所述的视频编码方法,其特征在于,第一阈值thl的取值范围在[1,1000]之间。3.根据权利要求1所述的视频编码方法,其特征在于,第一阈值thl的取值为600。4.根据权利要求1所述的视频编码方法,其特征在于,第二阈值th2的取值范围在[1,20]之间。5.根据权利要求1所述的视频编码方法,其特征在于,第二阈值th2的取值为8。6.根据权利要求1至5任一所述的视频编码方法,其特征在于,亮度方差值var1具体为:其中n表示当前cu中像素的个数,yt表示当前cu中第t个像素的亮度值,μ表示当前cu中所有像素的亮度值的平均值。7.根据权利要求1至5任一所述的视频编码方法,其特征在于,所述量化系数为:其中,y(i,j)表示在dct系数矩阵y中位置为(i,j)的dct系数,l(i,j)是位置为(i,j)的量化系数,qstep表示量化步长,floor()为向下取整函数,f为舍入偏移量。8.根据权利要求1所述的视频编码方法,其特征在于,所述中控单元在第一预设条件下获得t个编码单元的运动矢量分别对应的最小率失真代价qmin,并根据最小率失真代价qmin判定下一运动矢量是否符合标准的判定方式,其中:第一判定方式为所述中控单元判定下一运动矢量符合标准,下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一判定方式满足所述最小率失真代价qmin小于等于所述中控单元内设置的第一预设率失真代价q1;第二判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据最小率失真代价qmin与所述第一预设率失真代价q1的差值二次判定下一运动矢量是否符合标准;所述第二判定方式满足所述最小率失真代价qmin大于第一预设率失真代价q1且小于等于所述中控单元内设置的第二预设率失真代价q2;
第三判定方式为所述中控单元判定下一运动矢量不符合标准,中控单元根据所述最小率失真代价qmin与所述第一预设率失真代价q1的差值重新建立中控单元内设置的预测模型;所述第三判定方式满足所述最小率失真代价qmin大于所述第二预设率失真代价q2;所述第一预设条件为所述中控单元完成编码单元与相邻的t个编码单元的运动矢量的计算。9.根据权利要求8所述的视频编码方法,其特征在于,所述中控单元在所述第二判定方式下将最小率失真代价qmin与所述第一预设率失真代价q1的差值记为率失真代价差值

q,并根据率失真代价差值

q确定下一编码单元的矢量判定方式,其中:第一矢量判定方式为所述中控单元判定所述下一编码单元为与当前编码单元的最小率失真代价为qmin的编码单元;所述第一矢量判定方式满足所述率失真代价差值

q小于等于所述中控单元内设置的预设率失真代价差值

q0;第二矢量判定方式为所述中控单元判定所述下一编码单元为率失真代价与最小率失真代价qmin相差最小的编码单元;所述第二矢量判定方式满足所述率失真代价差值

q大于所述预设率失真代价差值

q0。10.根据权利要求8所述的视频编码方法,其特征在于,所述中控单元在所述第三判定方式下根据所述率失真代价差值

q确定所述预测模型的模型调节方式,其中:第一模型调节方式为所述中控单元使用第一预设率失真代价系数α1将所述预测模型调节至对应值;所述第一模型调节方式满足所述率失真代价差值

q小于等于所述中控单元内设置的第一预设率失真代价差值

q1;第二模型调节方式为所述中控单元使用第二预设率失真代价系数α2将所述预测模型调节至对应值;所述第二模型调节方式满足所述率失真代价差值

q大于所述第一预设率失真代价差值

q1且小于等于所述中控单元内设置的第二预设率失真代价差值

q2;第三模型调节方式为所述中控单元使用第三预设率失真代价系数α3将所述预测模型调节至对应值;所述第三模型调节方式满足所述率失真代价差值

q大于所述第二预设率失真代价差值

q2。

技术总结
本发明涉及视频编码技术领域,尤其涉及一种视频编码方法,包括:步骤1,开始某一CU深度的CU划分判断;步骤2,求取CU的亮度方差值var1,如果var1大于第一阈值TH1,则执行步骤3,否则执行步骤4;步骤3,对当前CU的编码残差进行DCT和量化,并统计当前CU中量化系数大于0的个数,标记为N1,如果N1大于第二阈值TH2,则判定当前CU应该划分,否则执行步骤4;步骤4,根据拉格朗日率失真的CU尺寸选择方法判断是否将当前CU划分,若是则判定当前CU应该划分;若否则判定当前CU不应该划分。通过本发明实施例提供的方法使局部平坦块的CU尺寸更加合理,可以减少局部平坦块噪声,提升视频主观质量。提升视频主观质量。提升视频主观质量。


技术研发人员:朱正辉 蔡文生 詹楚伟
受保护的技术使用者:广东保伦电子股份有限公司
技术研发日:2023.07.13
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐