AVS视频压缩编码方法及编码器与流程

文档序号:14869569发布日期:2018-07-06 20:20阅读:357来源:国知局

本申请涉及数据处理领域,尤其涉及一种AVS视频压缩编码方法及编码器。



背景技术:

随着视频服务的普及,新一代音视频编码标准(Audio Video coding Standard,AVS)已经得到了广泛的应用。AVS视频压缩编码主要涉及帧间及帧内预测、变换、量化、熵编码等一系列过程,最后输出码流。而在量化过程中,需要采用量化矩阵对变换所得不同频点的变换系数进行不同步长的量化。AVS标准中提供了一个固定的量化矩阵,该量化矩阵的频带划分如图1所示,其包括6个频带,每个频带对应一个加权量化系数,图1中标号0至5标识对应的频带。采用该固定的量化矩阵进行量化处理后,并不能很好地去除视觉冗余,从而不能有效地降低编码码率。



技术实现要素:

本申请提供一种AVS视频压缩编码方法及编码器,以在保证视频编码质量的同时,有效降低编码码率。

根据本申请的第一方面,本申请提供一种AVS视频压缩编码方法,包括:

获得待编码图像;

由待编码图像中每个像素的像素亮度值,计算待编码图像的平均亮度值;

将待编码图像划分成若干块,对块进行变换得到块中各频点的变换系数,并由频点的变换系数,计算每一频点在所有所属块中的第一平均变换系数;基于量化矩阵中的初始频带划分,由频带中所有频点的第一平均变换系数,计算频带的第二平均变换系数;

采用待编码图像的平均亮度值及每一频带的第二平均变换系数,对应调整量化矩阵中每一频带的初始加权量化系数,得到最终加权量化系数。

根据本申请的第二方面,本申请提供一种AVS视频编码器,包括:

获取模块,用于获得待编码图像;

亮度值计算模块,用于由待编码图像中每个像素的第一亮度值,计算待编码图像的平均亮度值;

划分模块,用于将待编码图像划分成若干块;

变换模块,用于对块进行变换得到块中各频点的变换系数;

平均变换系数计算模块,用于由频点的变换系数,计算每一频点在所有所属块中的第一平均变换系数;基于量化矩阵中的初始频带划分,由频带中所有频点的第一平均变换系数,计算频带的第二平均变换系数;

调整模块,用于采用待编码图像的平均亮度值及每一频带的第二平均变换系数,对应调整量化矩阵中每一频带的初始加权量化系数,得到最终加权量化系数。

本申请的有益效果是:

通过提供一种AVS视频压缩编码方法及编码器,主要采用计算所得待编码图像的平均亮度值以及每一频带的平均变换系数,对量化矩阵中每一频带的初始加权量化系数进行调整,得到用于量化的最终加权量化系数,从而可采用最终加权量化系数组成的量化矩阵,对变换所得不同频点的变换系数进行不同步长的量化。这样,量化过程能充分考虑到待编码图像本身的属性,自适应地进行量化矩阵中加权量化系数的调整,在保证视频编码质量的同时,有效降低了编码码率。

附图说明

图1为现有技术的量化矩阵中频带划分的示意图;

图2为本申请实施例一的AVS视频压缩编码方法的流程图;

图3为本申请实施例一中步骤202的具体流程图;

图4为本申请实施例一的量化矩阵中初始加权量化系数的示意图;

图5为本申请实施例一的AVS视频编码器的结构图;

图6为本申请实施例一中亮度值计算单元502的结构图;

图7为本申请实施例一中调整模块506的结构图;

图8为本申请实施例二中步骤202的具体流程图;

图9为本申请实施例二中亮度值计算单元502的结构图;

图10为本申请实施例三中步骤204的具体流程图;

图11为本申请实施例三中调整模块506的结构图。

具体实施方式

下面通过具体实施方式结合附图对本申请作进一步详细说明。

实施例一:

本实施例的AVS视频压缩编码方法主要包括:首先,对待编码图像进行帧内或帧间预测,得到残差块。其次,对残差块进行变换、量化过程后,再经熵编码即可得到码流。其中,量化过程中主要利用到本实施例中的最终加权量化系数,而最终加权量化系数由如图2所示的流程获得:

步骤201,获得待编码图像。

步骤202,由待编码图像中每个像素的像素亮度值,计算待编码图像的平均亮度值。具体地,步骤202可包括如图3所示的步骤:

步骤301,由待编码图像中每个像素的像素亮度值l(m),计算待编码图像的图像亮度值L。其中,待编码图像包括M个像素,m∈{1,2,...,M},那么,待编码图像的图像亮度值可通过下式(1)来计算:

步骤302,由待编码图像的图像亮度值L及像素数量M,计算待编码图像的平均亮度值待编码图像的平均亮度值可通过下式(2)来计算:

步骤203,对待编码图像提取属性分量,并将属性分量划分成若干属性块,对属性块进行变换得到属性块中各频点的变换系数,并由频点的变换系数,计算每一频点在所有所属属性块中的第一平均变换系数;基于量化矩阵中的初始频带划分,由频带中所有频点的第一平均变换系数,计算频带的第二平均变换系数。具体地,可对待编码图像提取亮度分量,并将亮度分量划分成若干亮度块,对亮度块进行变换得到亮度块中各频点的亮度变换系数,并由频点的亮度变换系数,计算每一频点在所有所属亮度块中的亮度平均变换系数作为第一平均变换系数,变换可采用离散余弦变换(Discrete Cosine Transform,DCT)、近似DCT或正交变换等,各频点的亮度变换系数可以表示为Cy(k,i,j),其中,待编码图像的亮度分量被划分成K个亮度块,k∈{1,2,...,K},K取正整数,亮度块大小一般取值为8像素×8像素的规格,i,j表示频点在亮度块中的位置,那么每一频点在所有所属亮度块中的亮度平均变换系数也就是第一平均变换系数可通过下式(3)和(4)来计算:

而频带的第二平均变换系数C(q)可通过下式(5)来计算:

其中,S(q)表示第q个频带所包含的频点。

步骤204,采用待编码图像的平均亮度值及每一频带的第二平均变换系数,对应调整量化矩阵中每一频带的初始加权量化系数,得到最终加权量化系数。具体地,量化矩阵的初始频带划分是将整个频率域划分成6个频带,6个频带的初始加权量化系数为{w1,w2,w3,w4,w5,w6},其中,wq为第q个频带的初始加权量化系数,q∈{1,2,3,4,5,6},w1<w5<w4<w3<w6<w2。如图4所示,优选取值为,6个频带的初始加权量化系数为{75,225,135,120,90,150}。在本实施例中,可对待编码图像的平均亮度值、每一频带的第二平均变换系数及每一频带的初始加权量化系数求积,得到最终加权量化系数。得到最终加权量化系数WB(q)的方法如下式(6):

得到最终加权量化系数之后,即可进行后续的帧内或帧间预测、变换、采用最终加权量化系数进行量化、熵编码过程,最后得到码流。

相应地,本实施例的AVS视频编码器可包括如图5所示的结构,当然,AVS视频编码器中还可以相应包括进行帧内或帧间预测、变换、熵编码处理的模块。

获取模块501,用于获得待编码图像;

亮度值计算模块502,用于由待编码图像中每个像素的第一亮度值,计算待编码图像的平均亮度值;

划分模块503,用于对待编码图像提取属性分量,并将属性分量划分成若干属性块;

变换模块504,用于对属性块进行变换得到属性块中各频点的变换系数;

平均变换系数计算模块505,用于由频点的变换系数,计算每一频点在所有所属属性块中的第一平均变换系数;基于量化矩阵中的初始频带划分,由频带中所有频点的第一平均变换系数,计算频带的第二平均变换系数;初始频带划分是将整个频率域划分成6个频带,6个频带的初始加权量化系数为{w1,w2,w3,w4,w5,w6},其中,wq为第q个频带的初始加权量化系数,q∈{1,2,3,4,5,6},w1<w5<w4<w3<w6<w2。优选地,6个频带的初始加权量化系数为{75,225,135,120,90,150}。

上述属性分量为亮度分量,属性块为亮度块,变换模块504可用于对亮度块进行变换得到亮度块中各频点的亮度变换系数,平均变换系数计算模块505则可用于由频点的亮度变换系数,计算每一频点在所有所属亮度子块中的亮度平均变换系数作为第一平均变换系数。

调整模块506,用于采用待编码图像的平均亮度值及每一频带的第二平均变换系数,对应调整量化矩阵中每一频带的初始加权量化系数,得到最终加权量化系数。

其中,亮度值计算模块502具体包括如图6所示的结构:

图像亮度值计算单元601,用于由待编码图像中每个像素的像素亮度值,计算待编码图像的图像亮度值;

第一平均亮度值计算单元602,用于由待编码图像的图像亮度值及像素数量,计算待编码图像的平均亮度值。

调整模块506包括如图7所示的结构:

调用单元701,用于获得量化矩阵中每一频带的初始加权量化系数;

第一乘积计算单元702,用于对待编码图像的平均亮度值、每一频带的第二平均变换系数及每一频带的初始加权量化系数求积,得到最终加权量化系数。

本实施例通过提供一种AVS视频压缩编码方法及编码器,主要采用计算所得待编码图像的平均亮度值以及每一频带的平均变换系数,对量化矩阵中每一频带的初始加权量化系数进行调整,得到用于量化的最终加权量化系数,从而可采用最终加权量化系数组成的量化矩阵,对变换所得不同频点的变换系数进行不同步长的量化。这样,量化过程能充分考虑到待编码图像本身的属性,如亮度及色度等,自适应地进行量化矩阵中加权量化系数的调整,在保证视频编码质量的同时,有效降低了编码码率。另外,由于采用了符合人类视觉特性的初始加权量化系数,量化矩阵中6个频带的初始加权量化系数为{w1,w2,w3,w4,w5,w6},其中,wq为第q个频带的初始加权量化系数,q∈{1,2,3,4,5,6},w1<w5<w4<w3<w6<w2,并且6个频带的初始加权量化系数优选为{75,225,135,120,90,150},使得视频压缩编码能进一步去除视频序列的视觉冗余,在保证视频编码质量的同时,进一步有效降低了编码码率。

实施例二:

本实施例与实施例一区别主要在于:

在AVS视频压缩编码方法中,步骤202具体可通过如图8所示的流程实现,其中,可沿用步骤203的块划分方法:

步骤801,在将待编码图像划分成若干块后,由每个块中所有像素的像素亮度值,计算每个块的块亮度值。具体地,块亮度值可通过如下式(7)进行计算:

其中,l(m)表示第k个块中第m个像素的像素亮度值,m∈{1,2,...,N},N为第k个块中的像素数量。

步骤802,由所有块的块亮度值及块数量,计算待编码图像的平均亮度值。具体地,待编码图像的平均亮度值可通过下式(8)来计算:

相应地,亮度值计算模块502可用如图9所示的结构进行替换:

块亮度值计算单元901,用于在划分模块503将待编码图像划分成若干块后,由每个块中所有像素的像素亮度值,计算每个块的块亮度值;

第二平均亮度值计算单元902,用于由所有块的块亮度值及块数量,计算待编码图像的平均亮度值。

实施例三:

本实施例与实施例一或实施例二区别主要在于:

在AVS视频压缩编码方法中,步骤204可通过如图10所示的流程实现:

步骤1001,设定用于表征待编码图像的平均亮度值对量化矩阵中加权量化系数的影响程度的第一变换关系,以及用于表征每一频带的第二平均变换系数对量化矩阵中加权量化系数的影响程度的第二变换关系。具体地,第一变换关系可如下式(9):

其中,为后续的待编码图像的次级平均亮度值,a,b均为可设定的常数,通过调整常数a,b,即可调节待编码图像的平均亮度值对量化矩阵中加权量化系数的影响程度。

而第二变换关系可如下式(10):

其中,C′(q)为后续的每一频带的次级第二平均变换系数,e,f均为可设定的常数,通过调整常数e,f,即可调节每一频带的第二平均变换系数对量化矩阵中加权量化系数的影响程度。

步骤1002,将待编码图像的平均亮度值采用第一变换关系进行变换,得到待编码图像的次级平均亮度值,并将每一频带的第二平均变换系数采用第二变换关系进行变换,得到每一频带的次级第二平均变换系数。具体地,即可采用上述式(9)及(10),得到待编码图像的次级平均亮度值及每一频带的次级第二平均变换系数C′(q)。

步骤1003,对待编码图像的次级平均亮度值、每一频带的次级第二平均变换系数及每一频带的初始加权量化系数求积,得到最终加权量化系数。具体地,第q个频带的最终加权量化系数WB(q)可通过下式(11)计算:

相应地,调整模块506可用如图11所示的结构进行替换:

调用单元1101,用于获得量化矩阵中每一频带的初始加权量化系数;

变换单元1102,用于根据预先设定的用于表征待编码图像的平均亮度值对量化矩阵中加权量化系数的影响程度的第一变换关系,以及用于表征每一频带的第二平均变换系数对量化矩阵中加权量化系数的影响程度的第二变换关系,将待编码图像的平均亮度值采用第一变换关系进行变换,得到待编码图像的次级平均亮度值,并将每一频带的第二平均变换系数采用第二变换关系进行变换,得到每一频带的次级第二平均变换系数;

第二乘积计算单元1103,用于对待编码图像的次级平均亮度值、每一频带的次级第二平均变换系数及每一频带的初始加权量化系数求积,得到最终加权量化系数。

实施例四:

本实施例与实施例一至三中任一实施例区别主要在于:

在AVS视频压缩编码方法中,步骤203中,对待编码图像提取属性分量,并将属性分量划分成若干属性块,对属性块进行变换得到属性块中各频点的变换系数,并由频点的变换系数,计算每一频点在所有所属属性块中的第一平均变换系数还可以通过如下方式实现:对待编码图像分别提取亮度分量和色度分量,并将亮度分量划分成若干亮度块,将色度分量划分成若干色度块,对亮度块进行变换得到亮度块中各频点的亮度变换系数,对色度块进行变换得到色度块中各频点的色度变换系数,并由频点的亮度变换系数及色度变换系数,计算每一频点在所有所属亮度块及色度块中的合并平均变换系数作为第一平均变换系数。具体地,变换可采用DCT、近似DCT或正交变换等,各频点的亮度变换系数可以表示为Cy(k,i,j),由于色度包括两类Cr和Cb,那么,色度分量也相应包括Cr色度分量及Cb色度分量,色度变换系数也相应包括两个子色度变换系数Cv(k,i,j)及Cu(k,i,j),其中,待编码图像的亮度分量被划分成K个亮度块,k∈{1,2,...,K},K取正整数,而待编码图像的色度分量被划分成G个Cr亮度块和G个Cb亮度块,g∈(1,2,...,G),G取正整数且一般为K取值的四分之一,亮度块、Cr亮度块及Cb亮度块大小一般取值为8像素×8像素的规格,i,j表示频点在亮度块、Cr亮度块及Cb亮度块中的位置,那么每一频点在所有所属亮度块、Cr亮度块及Cb亮度块中的合并平均变换系数也就是第一平均变换系数可通过下式(12)来计算:

相应地,在本实施例的AVS视频编码器中,上述属性分量包括亮度分量和色度分量,属性块包括亮度块及色度块,变换模块504可用于对亮度块进行变换得到亮度块中各频点的亮度变换系数,对色度块进行变换得到色度块中各频点的色度变换系数,平均变换系数计算模块505则可用于由频点的亮度变换系数及色度变换系数,计算每一频点在所有所属亮度块及色度块中的合并平均变换系数作为第一平均变换系数。

需要进一步说明的有如下几点:

1、6个频带的初始加权量化系数还可以选择其他数值,例如,6个频带的初始加权量化系数为{70,220,135,115,85,140},或者,{80,220,140,125,90,155},等等。

3、上述各实施例中,块一般为宏块。

以上内容是结合具体的实施方式对本申请所作的进一步详细说明,不能认定本申请的具体实施只局限于这些说明。对于本申请所属技术领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干简单推演或替换。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1