基于主要边缘方向的HEVC快速样点自适应补偿方法与流程

文档序号:11880928阅读:399来源:国知局
基于主要边缘方向的HEVC快速样点自适应补偿方法与流程

本发明属于高清数字视频压缩编解码技术领域,尤其涉及一种基于主要边缘方向的HEVC(High Efficiency Video Coding,高效视频编码)快速样点自适应补偿方法。



背景技术:

在数字视频应用产业链的快速发展中,面对视频应用不断向高清晰度、高帧率、高压缩率方向发展的趋势,上一代视频压缩标准协议H.264/AVC的局限性不断突显。因此,由国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC提出了下一代视频编解码标准——H.265/HEVC。其目标是在相同的图像质量前提下,压缩率比H.264/AVC高档次提高一倍。

HEVC在编码原理和基本结构方面没有突破,和H.264/AVC基本一致,即预测加变换的分块编码方式;在编码细节上和H.264/AVC也很接近,包含帧内预测、帧间预测、运动估计与补偿、正交变换、量化、环路滤波、熵编码和重建等编解码模块。但是,和H.264/AVC相比较,HEVC几乎在每一个编码环节上都采取了重要的改进措施,如帧内预测支持35种模式、帧间预测引入Merge模式、变换量化支持高达32×32变换单元、熵编码采用CABAC(基于上下文的自适应二进制算术编码,Context Adaptive Binary Arithmetic Coder)算法等等,此外HEVC环路滤波技术不仅沿用H.264标准中的去块滤波器,而且加入样点自适应补偿(Sample Adaptive Offset,SAO)滤波,减少由运动估计和变换量化所产生振铃效应带来的视频主观质量损失。

H.265/HEVC标准中的SAO以CTU为基本单位,通过选择一个合适的分类器将重建像素划分类别,然后对不同类别像素使用不同的补偿值,可以有效提高视频的主客观质量。它包括两大补偿形式,分别是边界补偿(Edge Offset,EO)和边带补偿(Band Offset,BO),此外还引入了参数融合技术。

边界补偿模式使用一种3像素结构来对所处理的像素进行分类。在该像素所处边缘(一维)的方向上、以该像素为中心再加上最近邻的2个像素,形成水平(EO_0)、垂直(EO_1)、135°(EO_2)、45°(EO_3)四种3像素结构,如图1所示。按照3像素值的不同分布,该像素可被分为峰值像素(如果其值大于相邻的2个像素),谷值像素(如果其值小于相邻的2个像素),边缘像素(如果其值等于任何一个相邻像素)和其它像素(如果不符合前3种),共4类,如图2所示。对4类不同的像素所加的偏移值也不同。

边带补偿技术根据像素强度值进行归类,它将像素范围等分为32条边带,每个边带根据自身像素特点进行补偿,且同一边带使用相同的补偿值。HEVC标准规定一个CTB只能选择4条连续的边带,并只对属于这4个边带的像素进行补偿。

参数融合(Merge)是指对于一个CTB块,其SAO参数直接使用相邻块的SAO参数,这时只需要标识采用了哪个相邻块的SAO参数即可。

若要确定一个CTU块的SAO参数,需要遍历4种EO模式、BO模式、Merge模式和不补偿模式,计算量大。



技术实现要素:

本发明针对上述现有技术中存在的技术问题,利用图像的纹理信息,针对每个CTB,提出了一种基于主要边缘方向的HEVC快速样点自适应补偿方法,该方法包括如下步骤:

步骤1、提取每个CTU(树形编码单元,coding tree unit)的主要边缘方向。

为了利用图像的纹理信息,要计算每个CTU在不同向方上的像素差的绝对值之和,定义该绝对值之和为主要边缘方向一致性(Dominant Edge Assent,DEA),候选主要边缘方向包括0°、45°、90°、135°四个方向,且对应的四个方向的一致性分别表示为DEA1、DEA2、DEA3、DEA4,并取一致性最小值所对应的方向作为该CTU的主要边缘方向;提取每个CTU的主要边缘方向具体步骤如下:

1-1.将N×N(N一般为64)大小的CTU块划分为5个子块,并分别计算5个子块的像素平均值。将N×N大小的CTU块划分为a、b、c、d、e 5个子块,分别计算5个子块所有像素的平均值Pa、Pb、Pc、Pd、Pe如下:

<mrow> <msub> <mi>P</mi> <mi>a</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>b</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>d</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>e</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>4</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mrow> <mn>3</mn> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>4</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mrow> <mn>3</mn> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

其中,Pij为CTU在(i,j)位置处的像素值。

1-2.利用Pa、Pb、Pc、Pd、Pe分别计算4个候选主要边缘方向一致性DEA1、DEA2、DEA3、DEA4

DEA1=|Pb-Pa|+|Pd-Pc|

DEA2=|Pc-Pe|+|Pe-Pb|

DEA3=|Pc-Pa|+|Pd-Pb|

DEA4=|Pd-Pe|+|Pe-Pa|

1-3.将DEA1、DEA2、DEA3、DEA4中最小值所对应的候选主要边缘方向作为该CTU的主要边缘方向DE,DE即表示0°、45°、90°、135°中的一个方向。一致性的最小值定义如下:

DEAmin=min{DEA1,DEA2,DEA3,DEA4}

在对图像预处理时,若图像分辨率不是N的倍数(N一般为64),会用0像素点对图像边缘进行填充,本发明中,将填充过的CTU称为不完整CTU,对于不完整CTU,其按上述计算得出的主要边缘方向不能反映图像的纹理特点,根据图像空间相关性,令其主要边缘方向为最近的已编码CTU的主要边缘方向。

步骤2、确定CTU的最优边界补偿(EO)模式及其补偿值。

CTU的最优EO模式由步骤1计算得到的主要边缘方向确定,即DEA1、DEA2、DEA3、DEA4对应的EO模式分别为:EO_0、EO_1、EO_2、EO_3,然后根据模式类型计算其补偿值。

确定好模式后,CTU中的像素被分为5类,对于属于1~4类的,其像素需要进行补偿,每个种类又能够选择不同的补偿值,因此需要为每个种类选取最优补偿值M。每个种类最优补偿值的确定过程独立进行。

2-1.利用统计信息计算初始补偿值m=E/N,E是原始像素与重构像素(SAO补偿前)之间的差值之和,N为属于该种类的像素点个数,将m取整得到m′并将取整后的补偿值m′限制在[-7,7]之间;

2-2.根据边界补偿种类对补偿值进行进一步限制调整,对于种类1和种类2,补偿值必须大于等于0,种类3和种类4的补偿值必须小于等于0。

2-3.遍历所有的候选补偿值[0,m′]或[m′,0],选取相对率失真代价最小的补偿值作为最优补偿值M,此时编码比特数R=|M|+1。率失真代价Cost定义为

Cost=Distortion+λ×Bitrate

其中Distortion(失真)为某一EO模式下原始图像与重构图像(SAO补偿后)的失真,λ(拉姆达)为拉格朗日因子,Bitrate(比特率)为编码SAO参数信息所需的比特数。

步骤3、计算其他SAO补偿方式的相对率失真代价。

为了确定CTU的最优SAO模式,还需计算边带补偿(BO)模式和参数融合模式的相对率失真代价。

BO模式的确定过程:

首先,依次为0~31个边带选取最优补偿值;

然后,确定最优的连续4个边带,单个边带补偿值的确定过程如下:利用统计信息计算初始补偿值m1=E/N1,E是原始像素与重构像素(SAO补偿前)之间的差值之和,N1为属于该边带的像素点个数,将m1取整得到m1′,并将取整后的补偿值m1′限制在[-7,7]之间;得到限幅后的m1′值;

再然后,根据其符号确定候选补偿值范围为[0,m1′]或[m1′,0]。

最后,遍历所有候选补偿值,选取相对率失真代价最小的补偿值作为最优补偿值M1,此时编码比特数R=|M1|+2。选取使得率失真代价最小的4个连续边带即为最优的BO模式,4个边带对应的补偿值之和即为最优补偿值。

参数融合模式的率失真计算公式中,Distortion为所采用参数的邻块的相对率失真代价,Bitrate为标志位编码比特数。

步骤4、确定CTU的最优SAO模式。

SAO的补偿类型包括不补偿、EO模式、BO模式、左相邻块参数融合模式和上相邻块参数融合模式,SAO最终的补偿类型从5种模式中选择,选择率失真性能最优的一组SAO参数。

至此,整个基于主要边缘方向的HEVC快速样点自适应补偿方法结束。

本发明有益效果如下:

本方法实质利用图像的纹理信息降低SAO模式确定过程的复杂度,从而降低HEVC编码时间。具体来说,本方法通过提取每个CTU的主要边缘方向并将其作为该CTU的最优EO模式,然后遍历BO模式、参数融合模式、不补偿模式,通过式Cost=Distortion+λ×Bitrate判决出最优模式,相比于传统的遍历所有EO模式的方法,能在编码效果损失不大的情况大量节省HEVC的SAO编码时间。

附图说明

图1:SAO的4种边界补偿模式示意图。

图2:边界补偿的分类示意图。

图3:CTU主要边缘方向示意图。

图4:CTU划分示意图。

图5:基于主要边缘方向的HEVC快速样点自适应补偿方法流程图。

具体实施方式

以Basketball Drill等几个序列的编码过程为例,为降低振铃效应,需对其进行样点自适应补偿,本实施例据此对提出的发明方法进行详细说明。

基于主要边缘方向的HEVC快速样点自适应补偿方法的步骤如下:

步骤1、提取每个CTU(树形编码单元,coding tree unit)的主要边缘方向。

为了利用图像的纹理信息,要计算每个CTU在不同向方上的像素差的绝对值之和,定义该绝对值之和为主要边缘方向一致性(Dominant Edge Assent,DEA),候选主要边缘方向包括0°、45°、90°、135°四个方向,如图3所示,且对应的四个方向的一致性分别表示为DEA1、DEA2、DEA3、DEA4,并取一致性最小值所对应的方向作为该CTU的主要边缘方向;提取每个CTU的主要边缘方向具体步骤如下:

1-1.将N×N(N一般为64)大小的CTU块划分为5个子块,并分别计算5个子块的像素平均值。如图4所示将N×N大小的CTU块划分为a、b、c、d、e 5个子块,分别计算5个子块所有像素的平均值Pa、Pb、Pc、Pd、Pe如下:

<mrow> <msub> <mi>P</mi> <mi>a</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>b</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>c</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>0</mn> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>d</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>2</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mi>N</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>/</mo> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

<mrow> <msub> <mi>P</mi> <mi>e</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>4</mn> </mfrac> </mrow> <mrow> <mi>i</mi> <mo>=</mo> <mfrac> <mrow> <mn>3</mn> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mi>N</mi> <mn>4</mn> </mfrac> </mrow> <mrow> <mi>j</mi> <mo>=</mo> <mfrac> <mrow> <mn>3</mn> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mi>P</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mfrac> <mrow> <mi>N</mi> <mo>&times;</mo> <mi>N</mi> </mrow> <mn>4</mn> </mfrac> </mrow>

其中,Pij为CTU在(i,j)位置处的像素值。

1-2.利用Pa、Pb、Pc、Pd、Pe分别计算4个候选主要边缘方向一致性DEA1、DEA2、DEA3、DEA4

DEA1=|Pb-Pa|+|Pd-Pc|

DEA2=|Pc-Pe|+|Pe-Pb|

DEA3=|Pc-Pa|+|Pd-Pb|

DEA4=|Pd-Pe|+|Pe-Pa|

1-3.将DEA1、DEA2、DEA3、DEA4中最小值所对应的候选主要边缘方向作为该CTU的主要边缘方向DE,DE即表示0°、45°、90°、135°中的一个方向。一致性的最小值定义如下:

DEAmin=min{DEA1,DEA2,DEA3,DEA4}

在对图像预处理时,若图像分辨率不是N的倍数(N一般为64),会用0像素点对图像边缘进行填充,本发明中,将填充过的CTU称为不完整CTU,对于不完整CTU,其按上述计算得出的主要边缘方向不能反映图像的纹理特点,根据图像空间相关性,令其主要边缘方向为最近的已编码CTU的主要边缘方向。

步骤2、确定CTU的最优边界补偿(EO)模式及其补偿值。

CTU的最优EO模式由步骤1计算得到的主要边缘方向确定,即DEA1、DEA2、DEA3、DEA4对应的EO模式分别为:EO_0、EO_1、EO_2、EO_3,然后根据模式类型计算其补偿值。

确定好模式后,CTU中的像素被分为5类,即图2所示的4类和不属于这4类的第5类情况,对于属于1~4类的,其像素需要进行补偿,每个种类又能够选择不同的补偿值,因此需要为每个种类选取最优补偿值M。每个种类最优补偿值的确定过程独立进行。

2-1.利用统计信息计算初始补偿值m=E/N,E是原始像素与重构像素(SAO补偿前)之间的差值之和,N为属于该种类的像素点个数,将m取整得到m′并将取整后的补偿值m′限制在[-7,7]之间;

2-2.根据边界补偿种类对补偿值进行进一步限制调整,对于种类1和种类2,补偿值必须大于等于0,种类3和种类4的补偿值必须小于等于0。

2-3.遍历所有的候选补偿值[0,m′]或[m′,0],选取相对率失真代价最小的补偿值作为最优补偿值M,此时编码比特数R=|M|+1。率失真代价Cost定义为

Cost=Distortion+λ×Bitrate

其中Distortion(失真)为某一EO模式下原始图像与重构图像(SAO补偿后)的失真,λ(拉姆达)为拉格朗日因子,Bitrate(比特率)为编码SAO参数信息所需的比特数。

步骤3、计算其他SAO补偿方式的相对率失真代价。

为了确定CTU的最优SAO模式,还需计算边带补偿(BO)模式和参数融合模式的相对率失真代价。

BO模式的确定过程:

首先,依次为0~31个边带选取最优补偿值;

然后,确定最优的连续4个边带,单个边带补偿值的确定过程如下:利用统计信息计算初始补偿值m1=E/N1,E是原始像素与重构像素(SAO补偿前)之间的差值之和,N1为属于该边带的像素点个数,将m1取整得到m1′,并将取整后的补偿值m1′限制在[-7,7]之间;得到限幅后的m1′值;

再然后,根据其符号确定候选补偿值范围为[0,m1′]或[m1′,0]。

最后,遍历所有候选补偿值,选取相对率失真代价最小的补偿值作为最优补偿值M1,此时编码比特数R=|M1|+2。选取使得率失真代价最小的4个连续边带即为最优的BO模式,对应的补偿值即为最优补偿值。

参数融合模式的率失真计算公式中,Distortion为所采用参数的邻块的相对率失真代价,Bitrate为标志位编码比特数。

步骤4、确定CTU的最优SAO模式。

SAO的补偿类型包括不补偿、EO模式、BO模式、左相邻块参数融合模式和上相邻块参数融合模式,SAO最终的补偿类型从5种模式中选择,选择率失真性能最优的一组SAO参数。

至此,整个基于主要边缘方向的HEVC快速样点自适应补偿方法结束,方法流程图如图5所示。

本发明实验测试环境使用HEVC标准参考代码HM13.0在window8系统VS2010编译运行,对16个测试序列进行统计和测试。以全I帧(All Intra,AI)、随机存取(Random Access,RA)、低延迟-P帧(LP)、低延迟-B帧(LB)为编码环境,设置22、27、32、37作为QP值,利用亮度的Bjontegaard-Delta比特率(YBD-rate)将提出的边带补偿优化改进方法与HEVC原始SAO参数确定方法进行对比,并统计编解码时间,结果如表1所示。

由表1可以发现本发明提出快速方法与原始方法相比,节省了53.39%的SAO编码时间,而编码效果的损失很小。

表1基于主要边缘方向的HEVC快速样点自适应补偿方法与HEVC源码效果对比结果

当然,本技术领域中的普通技术人员应当认识到,以上实施例仅是用来说明本发明的,而并非作为对本发明的限定,只要在本发明的范围内,对以上实施例的变化、变型都将落入本发明的保护范围。

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