本发明属于视频图像压缩编码技术领域,具体涉及一种自适应图像压缩编码方法及存储介质。
背景技术:
随着视频服务的普及,各种分辨率的视频得到越来越多的应用,尤其是高清分辨率及超高清分辨率的视频逐渐开始进入网络视频服务,相应地,高清分辨率及超高清分辨率视频压缩编码技术成为提高视频服务质量的关键技术。目前,h.264或avs标准已经成为当前市场上应用的主流视频压缩编码标准。相对于mpeg2等以往的标准而言,h.264或avs标准由于运算复杂度的大幅提高,高清分辨率及超高清分辨率的视频实时压缩编码成为推广高清分辨率及超高清分辨率视频服务的瓶颈。
视频图像压缩主要由4个部分组成,包含:预测模块,量化模块,码控模块,熵编码模块。预测模块和量化模块作为视频图像压缩过程中重要的两个模块,其中,预测模块是利用图像相邻像素间存在的空间冗余度,根据邻近像素信息对当前像素值进行预测,预测差值的标准差要远小于原始图像数据的标准差,因此对预测差值进行编码,更有利于使图像数据的理论熵达到最小,从而达到提高压缩效率的目的。量化模块是根据码率控制得到的量化参数(quantizationparameter,简称qp),对预测残差进行量化。现有的压缩编码方法通常对于不同复杂度的原始图像通常采用相同的压缩流程,不能根据原始图像的复杂度进行调整采用对应的压缩编码方式进一步降低精确度和压缩损失。
因此,如何根据原始图像的复杂度设计合适的压缩编码算法,提高压缩编码的准确性同时降低压缩编码的损失,且能进一步减少压缩编码后的数据量是视频压缩编码领域至关重要的研究方向。
技术实现要素:
为了解决现有技术中存在的上述问题,本发明提供了一种自适应图像压缩编码方法及存储介质。本发明要解决的技术问题通过以下技术方案实现:
本发明实施例提供了一种自适应图像压缩编码方法,包括如下步骤:
(a)获取原始图像;
(b)计算所述原始图像的梯度分级,若所述梯度分级为第一梯度则采用基于搜索窗口的预测方法获得第一预测残差作为最终预测残差;否则,若所述梯度分级为第二梯度,则采用基于宏块分割的预测方法获得第二预测残差作为最终预测残差;
(c)根据所述最终预测残差获得最终量化残差以形成压缩码流。
在本发明的一个实施例中,所述基于搜索窗口的预测方法包括如下步骤:
(x1)确定预测搜索窗口和待预测像素;
(x2)在所述预测搜索窗口内确定所述待预测像素的参考像素;
(x3)根据所述参考像素计算所述待预测像素的预测残差以获得所述原始图像的第一预测残差。
在本发明的一个实施例中,所述预测搜索窗口为十字型窗口。
在本发明的一个实施例中,步骤(x2)包括:
(x21)获得所述待预测像素的预测像素分量;
(x22)计算所述预测像素分量的子权重获得所述待预测像素的权重;
(x23)根据所述权重获得所述待预测像素的参考像素。
在本发明的一个实施例中,所述基于宏块分割的预测方法包括如下步骤:
(y1)将所述原始图像分成若干待预测宏块;
(y2)将所述待预测宏块按照不同分割方式进行分割;
(y3)分别计算所述不同分割方式下所述待预测宏块的预测残差和比特数;
(y4)根据所述待预测宏块的预测残差和所述比特数计算分割加权值;
(y5)根据所述分割加权值获得所述待预测宏块的预测残差以获得所述原始图像的第二预测残差。
在本发明的一个实施例中,所述不同分割方式包括:水平分割、垂直分割、不分割。
在本发明的一个实施例中,步骤(d)包括:
(d1)采用对所述最终预测残差进行第一量化编码获得第一rdo和第一量化残差;
(d2)采用对所述最终预测残差进行第二量化编码获得第二rdo和第二量化残差;
(d3)比较所述第一rdo和所述第二rdo获得所述最终量化残差。
在本发明的一个实施例中,所述第一量化编码为对所述最终预测残差进行量化处理,所述第二量化编码为对所述最终预测残差依次进行补偿处理和量化处理。
在本发明的一个实施例中,步骤(d)包括:比较所述第一rdo和所述第二rdo,若所述第一rdo小于所述第二rdo,则采用第一量化残差作为所述最终量化残差;否则采用第二量化残差作为所述最终量化残差。
本发明的另一个实施例提供了一种存储介质,用于执行如上述实施例中任一实施例所述的自适应图像压缩编码方法。
与现有技术相比,本发明的有益效果:
1、本发明通对原始图像的复杂度梯度进行分级,设计不同复杂度对应的压缩编码方案,提高图像压缩编码的适应性和压缩性能;
2、本发明采用的用基于搜索窗口的预测方法在通过在十字型搜索窗口内定位参考像素,进一步提高预测准确性,且节约传输比特数;
3、本发明采用的基于基于宏块分割的预测方法通过不同分割方式进行预测比较获得预测残差,使原始宏块和预测宏块之间的差异度降到最小提高压缩效率。
4、本发明采用不同量化模式进行量化并比较量化损失进而使量化损失达到最小。
附图说明
图1为本发明实施例提供的一种自适应图像压缩编码方法的流程示意图;
图2为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口的像素索引示意图;
图3为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口的重建像素搜索编号示意图;
图4为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口中位置子权重的示意图;
图5(a)为本发明实施例提供的一种自适应图像压缩编码方法的水平分割方式的原理示意图;
图5(b)为本发明实施例提供的一种自适应图像压缩编码方法的垂直分割方式的原理示意图;
图5(c)为本发明实施例提供的一种自适应图像压缩编码方法的不分割方式的原理示意图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
实施例一
请参见图1,图1为本发明实施例提供的一种自适应图像压缩编码方法的流程示意图;该方法包括:
(a)获取原始图像;
(b)计算所述原始图像的梯度分级,若所述梯度分级为第一梯度则采用基于搜索窗口的预测方法获得第一预测残差作为最终预测残差;否则,若所述梯度分级为第二梯度,则采用基于宏块分割的预测方法获得第二预测残差作为最终预测残差;
(d)根据所述最终预测残差获得最终量化残差以形成压缩码流。
其中,所述基于搜索窗口的预测方法包括如下步骤:
(x1)确定预测搜索窗口和待预测像素;
(x2)在所述预测搜索窗口内确定所述待预测像素的参考像素;
(x3)根据所述参考像素计算所述待预测像素的预测残差以获得所述原始图像的第一预测残差。
其中,所述预测搜索窗口为十字型窗口。
其中,步骤(x3)包括:
(x31)获得所述待预测像素的预测像素分量;
(x32)计算各所述预测像素分量对应的子权重;
(x33)根据所述子权重获得所述待预测像素的参考像素。
其中,所述基于宏块分割的预测方法包括如下步骤:
(y1)将所述原始图像分成若干待预测宏块;
(y2)将所述待预测宏块按照不同分割方式进行分割;
(y3)分别计算所述不同分割方式下所述待预测宏块的预测残差和比特数;
(y4)根据所述待预测宏块的预测残差和所述比特数计算分割加权值;
(y5)根据所述分割加权值获得所述待预测宏块的预测残差以获得所述原始图像的第二预测残差。
其中,所述不同分割方式包括:水平分割、垂直分割、不分割。
其中,步骤(d)包括:
(d1)采用对所述最终预测残差进行第一量化编码获得第一rdo和第一量化残差;
(d2)采用对所述最终预测残差进行第二量化编码获得第二rdo和第二量化残差;
(d3)比较所述第一rdo和所述第二rdo获得所述最终量化残差。
其中,所述第一量化编码为对所述最终预测残差进行量化处理,所述第二量化编码为对所述最终预测残差依次进行补偿处理和量化处理。
其中,步骤(d)包括:比较所述第一rdo和所述第二rdo,若所述第一rdo小于所述第二rdo,则采用第一量化残差作为所述最终量化残差;否则采用第二量化残差作为所述最终量化残差。
本发明实施例具有如下有益效果:
1、本发明通对原始图像的复杂度梯度进行分级,设计不同复杂度对应的压缩编码方案,提高图像压缩编码的适应性和压缩性能;
2、本发明采用的用基于搜索窗口的预测方法在通过在十字型搜索窗口内定位参考像素,进一步提高预测准确性,且节约传输比特数;
3、本发明采用的基于基于宏块分割的预测方法通过不同分割方式进行预测比较获得预测残差,使原始宏块和预测宏块之间的差异度降到最小提高压缩效率。
4、本发明采用不同量化模式进行量化并比较量化损失进而使量化损失达到最小。
实施例二
请再次参见图1。本实施例在上述实施例的基础上,重点对自适应图像压缩编码方法进行详细描述。具体地,包括如下步骤:
(s1)获取原始图像;
获取视频中一帧图像作为原始图像的像素矩阵,设像素矩阵为m行n列,m≥0,n≥0。
(s2)计算所述原始图像的梯度分级,若所述梯度分级为第一梯度则采用基于搜索窗口的预测方法获得第一预测残差作为最终预测残差;否则,若所述梯度分级为第二梯度,则采用基于宏块分割的预测方法获得第二预测残差作为最终预测残差;
其中,本实施例中梯度级别设置为第一梯度和第二梯度;
第一梯度级别和第二梯度级别的跨度h满足:
h=(1<<bitdepth)/2
其中bitdepth为宏块任一像素的像素位宽。
则第一梯度中梯度的取值范围为[0,h),第二梯度的梯度取值范围(h,2h]。
其中,计算原始图像的梯度满足如下公式:
其中,m为所述原始图像像素矩阵的行数,n为所述原始图像像素矩阵的列数,pi,j为原始图像像素矩阵第i行第j列像素的像素值,num为pi-1,j、pi+1,j、pi,j-1、pi,j-1这四个像素有效的个数,其中,pi-1,j、pi+1,j、pi,j-1、pi,j-1任一像素所在的行数或者所在的列数小于0则表示该像素没有真实存在,即为无效,否则,为有效。
若grad∈[0,h),则原始图像为第一梯度,否则grad∈(h,2h],原始图像为第二梯度。
(s21)若所述梯度分级为第一梯度则采用基于搜索窗口的预测方法获得第一预测残差作为最终预测残差;包括如下步骤:
(x1)确定预测搜索窗口和待预测像素;
参见图2,图2为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口的像素索引示意图;在编码图像块的像素区域内,用cij代表待预测像素,pij代表已编码的重建像素。其中,ij为待预测像素或重建像素的位置索引。设定一个滑动窗口作为预测搜索窗口,预测搜索窗口的形状可以为水平条形、垂直条形、l形、十字形、丁字形、矩形等。预测搜索窗口的大小根据视频图像的纹理特征及预测精度的需求进行确定,对于纹理比较细或对预测精度需求较低的视频图像,可设置较小的预测搜索窗口,对于纹理比较粗或对预测精度需求较高的视频图像,可设置较大的预测搜索窗口。
本发明实施例中,预测搜索窗口的形状为十字形,大小为包含k个像素。该十字形预测搜索窗口的上部、下部、左边和右边包含的像素数目可以相等,也可以不相等。待预测像素cij可设定位于该十字形预测搜索窗口内,也可以设定位于该十字形预测搜索窗口外。待预测像素cij可设定位于该十字形预测搜索窗口水平方向的右端,也可以设定位于该十字形预测搜索窗口垂直方向的下端。优选地,待预测像素cij位于该十字形预测搜索窗口内的最下端位置。预测搜索窗口内的其他位置为已编码的k-1个重建像素pi,j-1、pi,j-2、pi,j-3、...pi-1,j-3、pi-2,j-3、...pi+1,j-3、pi+2,j-3、...。在对待预测像素cij进行编码时,根据k-1个重建像素的重建值newdata(p)来预测待预测像素cij的重建值newdata(cij)。
其中,已编码像素的重建像素值表示原始像素值根据预测参考像素进行预测后得到的预测像素值,再通过量化、码控等压缩编码流程后得到的最终压缩编码像素值再经过逆过程进行反解压还原后的像素值。本发明实施例已编码像素的重建像素值为例进行说明。
参见图3,图3为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口的重建像素搜索编号示意图。本发明实施例中,根据k-1个重建像素的重建值来预测待预测像素cij的重建值时,对十字形窗口内的k-1个重建像素进行顺序编号为0、1、2、...k...、k-2,按照编号对重建像素p0、p1、p2、...pk...、pk-2进行顺序搜索,先从左至右搜索水平方向的所有重建像素,再从上至下搜索竖直方向的所有重建像素。或者先搜索竖直方向的,再搜索水平方向的。例如,本发明实施例的十字形预测搜索窗口内包含12个重建像素,水平方向从左至右、竖直方向从上至下,对12个重建像素进行编号,从0编号至11,对该12个重建像素p0、p1、p2、...、p11从编号为0的重建像素p0开始搜索,直至搜索到编号为11的重建像素p11,寻找待预测像素cij的参考像素,计算预测残差。待预测像素cij的预测残差计算方法如下述步骤描述。
(x2)在所述预测搜索窗口内确定所述待预测像素的参考像素;
(x21)获得所述待预测像素的预测像素分量;
设定待预测像素cij包括n个像素分量分别为
(x22)在预测搜索窗口内计算待预测像素cij的权重wij。
对应k-1个已编码的重建像素p0、p1、p2、...pk...、pk-2,权重wij包括k-1个子权重,即
wij={wij、0,wij、1,wij、2,...wij、k...,wij、k-2}
其中,wij、k为待预测像素cij对应已编码的重建像素pk的子权重。子权重wij、k为待预测像素cij的n个像素分量
其中,
本发明实施例中,待预测像素cij的权重wij由待预测像素cij的差异度权重difij确定。对应k-1个已编码的重建像素p0、p1、p2、...pk...、pk-2,差异度权重difij有k-1个差异度子权重difij、k,即
difij={difij、0,difij、1,difij、2,...difij、k...,difij、k-2}
权重的确定方法包括如下步骤:
(x221)计算待预测像素cij的像素分量
其中,分量差异度子权重
优选地,本发明实施例中,分量差异度子权重
(x222)计算待预测像素cij相对每一个重建像素的子权重wij、k。待预测像素cij相对重建像素pk的子权重wij、k为待预测像素cij的n个像素分量
其中,
(x223)计算待预测像素cij的权重wij。则权重为
其中,步骤(x22)中的权重也可以通过下面的步骤进行计算:
在预测搜索窗口内计算待预测像素cij的权重wij时,权重wij由待预测像素的差异度权重difij和位置权重posij共同确定。对应k-1个已编码的重建像素p0、p1、p2、...pk...、pk-2,差异度权重difij有k-1个差异度子权重difij、k,位置权重posij有k-1个位置子权重posij、k,即
difij={difij、0,difij、1,difij、2,...difij、k...,difij、k-2}
posij={posij、0,posij、1,posij、2,...posij、k...,posij、k-2}
计算待预测像素的像素分量
其中,分量差异度子权重
优选地,本发明实施例中,分量差异度子权重
计算待预测像素的像素分量
其中,分量位置子权重
参见图4,图4为本发明实施例提供的一种自适应图像压缩编码方法的预测搜索窗口中位置子权重的示意图。本发明实施例中,以待预测像素cij与重建像素pk相间隔的像素数作为分量位置子权重
计算待预测像素的像素分量
其中,分量子权重为
计算待预测像素cij相对每一个重建像素pk的子权重wij、k。待预测像素cij相对重建像素pk的子权重wij、k为待预测像素cij的n个像素分量
其中,
计算待预测像素cij的权重,则权重为
(x23)、根据权重wij确定待预测像素cij的参考像素;
根据权重wij确定待预测像素cij的参考像素ps。具体地,根据最优值算法从权重wij的k-1个子权重wij、k中,选择出最优值,将最优值对应的重建像素ps作为待预测像素cij的参考像素。最优值确定算法比如是最小权重确定算法,即从权重wij={wij、0,wij、1,wij、2,...wij、k...,wij、k-2}的k-1个子权重中,选择出子权重最小值如wij、s对应的重建像素ps,将重建像素ps作为待预测像素cij的参考像素。
(x24)计算待预测像素cij的预测残差resij。具体地,根据参考像素即ps的重建值newdata(ps)与当前像素编码像素cij的原始值olddata(cij)计算待预测像素cij相对参考像素ps的预测残差resij,为
其中,
采用上述步骤可以获得编码图像块中所有像素分量的预测残差,将所有像素分量的预测残差按照像素顺序依次写入码流即可获得原始图像的第一预测残差作为最终预测残差。
(s22)若所述梯度分级为第二梯度,则采用基于宏块分割的预测方法获得第二预测残差作为最终预测残差;请参见图5(a)~图5(c),图5(a)为本发明实施例提供的一种自适应图像压缩编码方法的水平分割方式的原理示意图;图5(b)为本发明实施例提供的一种自适应图像压缩编码方法的垂直分割方式的原理示意图;图5(c)为本发明实施例提供的一种自适应图像压缩编码方法的不分割方式的原理示意图。
(y1)将所述原始图像分成若干带预测宏块;
将原始图像的像素矩阵划分为若干第一宏块,其中,第一宏块的大小为p×q个像素分量,其中m≥p≥1,n≥q≥1;
优选的,可以定义第一宏块的大小为8×1个像素,16×1个像素,32×1个像素,64×1个像素;本实施例以第一宏块的大小为16×1个像素为例说明,其它不同大小的第一宏块同理。第一宏块中的像素按照从0到15的序号从左至右依次排列,每一个序号位置对应一个像素。
(y2)将所述待预测宏块按照不同分割方式进行分割;
如图5a~图5c所示,将第一宏块按照不同分割方式进行分割,具体地,将所述待预测宏块按照水平分割方式进行分割,分割为上宏块(第一宏块)以及下宏块(第二宏块);将所述待预测宏块按照垂直分割方式进行分割,分割为左宏块(第三宏块)以及右宏块(第四宏块);将所述待预测宏块按照不分割方式进行分割。
(y3)分别计算所述不同分割方式下所述待预测宏块的预测残差和比特数;
分别计算不同分割方式下所述待预测宏块对应的不同预测残差。具体地,对于水平分割方式,将上宏块中所有的像素分量,减去上宏块像素分量的最小值,得到上宏块的所有像素分量的预测残差;下宏块同理计算,将下宏块中所有的像素分量,减去下宏块像素分量的最小值,得到下宏块的所有像素分量的预测残差,最终得到该待预测宏块的所有像素分量的第一预测残差;对于垂直分割方式,将左宏块中所有的像素分量,减去左宏块像素分量的最小值,得到左宏块的所有像素分量的预测残差;右宏块同理计算,将右宏块中所有的像素分量,减去右宏块像素分量的最小值,得到右宏块的所有像素分量的预测残差,最终得到该待预测宏块的所有像素分量的第二预测残差;对于不分割方式,将该待预测宏块中的像素分量,减去该待预测宏块中的像素分量的最小值,最终得到该待预测宏块的所有像素分量的预测残差。
分别计算不同分割方式下所述待预测宏块对应的不同比特数。具体地,对于水平分割方式,计算所述上宏块中像素分量最大值与所述上宏块中像素分量最小值的第一差值,得到表示所述第一差值的第一最少比特数,计算所述下宏块中像素分量最大值与所述下宏块中像素分量最小值的第二差值,得到表示所述第二差值的第二最少比特数,根据所述第一最少比特数、所述第二最少比特数以及所述待预测宏块的原始数据比特深度得到所述第一比特数,所述第一比特数满足如下公式:
mbit1=n1*bit_min1+n2*bit_min2+2*bitdepth
其中,mbit1为所述第一比特数,bit_min1为所述第一最少比特数,n*bit_min2为所述第二最少比特数,bitdepth为所述待预测宏块的原始数据比特深度,n1为所述上宏块中像素分量数量,n2为所述下宏块中像素分量数量。
对于垂直分割方式,计算所述左宏块中像素分量最大值与所述左宏块中像素分量最小值的第三差值,得到表示所述第三差值的第三最少比特数,计算所述右宏块中像素分量最大值与所述右宏块中像素分量最小值的第四差值,得到表示所述第四差值的第四最少比特数,根据所述第三最少比特数、第四最少比特数以及所述待预测宏块的原始数据比特深度得到所述第二比特数,所述第二比特数满足:
mbit2=n3*bit_min3+n4*bit_min4+2*bitdeth
其中,mbit2为所述第二比特数,bit_min3为所述第三最少比特数,bit_min4为所述第四最少比特数,bitdepth为所述待预测宏块的原始数据比特深度,n3为所述左宏块中像素分量数量,n4为所述右宏块中像素分量数量。
对于不分割方式,计算所述待预测宏块中像素分量最大值与所述待预测宏块中像素分量最小值之间的第五差值,得到表示所述第五差值的第五最少比特数,根据所述第五最少比特数以及所述待预测宏块的原始数据比特深度得到所述第三比特数,所述第三比特数满足:
mbit3=m*bit_min5+2*bitdeth
其中,mbit3为所述第三比特数,bit_min5为所述第五最少比特数,bitdepth为所述待预测宏块的原始数据比特深度,m为所述待预测宏块中像素分量数量。
(y4)根据所述待预测宏块的预测残差和所述比特数计算分割加权值;
根据所述不同预测残差以及所述不同比特数选取分割方式,具体地,对于水平分割方式,根据所述第一分割预测残差得到所述待预测宏块的第一重建值,将所述第一重建值与所述待预测宏块原始值求差的绝对值得到第一重建差值,将所述第一重建差值以及所述第一比特数进行加权得到水平分割方式下待预测宏块的第一加权值,其中,所述第一加权值满足如下公式:
rdo1=a*mbit1+b*res1
其中,rdo1为所述第一加权值,mbit1为所述第一比特数,res1为所述第一重建差值,a和b为加权系数。
a和b的取值可以是预先设定的固定值,进一步地,a+b=1,优选地,a可以选取为0.5,b可以选取为0.5,a和b也可以灵活调整大小。
对于垂直分割方式,根据所述第二分割预测残差得到所述待预测宏块的第二重建值,将所述第二重建值与所述待预测宏块原始值求差的绝对值得到第二重建差值,将所述第二重建差值以及所述第二比特数进行加权得到垂直分割方式下待预测宏块的第二加权值,其中,所述第二加权值满足如下公式:
rdo2=a*mbit2+b*res2
其中,rdo2为所述第二加权值,mbit2为所述第二比特数,res2为所述第二重建差值,a和b为加权系数。
a和b的取值可以是预先设定的固定值,进一步地,a+b=1,优选地,a可以选取为0.5,b可以选取为0.5,a和b也可以灵活调整大小。
对于不分割方式,根据所述第三分割预测残差得到所述待预测宏块的第三重建值,将所述第三重建值与所述待预测宏块原始值求差的绝对值得到第三重建差值,将所述第三重建差值以及所述第三比特数进行加权得到不分割方式下待预测宏块的第三加权值,其中,所述第三加权值满足如下公式;
rdo3=a*mbit3+b*res3
其中,rdo3为所述第三加权值,mbit3为所述第三比特数,res3为所述第三重建差值,a和b为加权系数。
a和b的取值可以是预先设定的固定值,进一步地,a+b=1,优选地,a可以选取为0.5,b可以选取为0.5,a和b也可以灵活调整大小。
(y5)根据所述分割加权值获得所述待预测宏块的预测残差以获得所述原始图像的第二预测残差。
选取所述第一加权值、第二加权值以及第三加权值中的最小值对应的分割方式为最终的分割方式。
输出所述待预测宏块的分割方式、该分割方式下所有的预测残差以及该分割方式下所有像素分量最小值对应的原始像素值。
根据所述待预测宏块的预测残差按照宏块顺序依次写入码流获得原始图像的第二预测残差作为最终预测残差。
(s03)根据所述最终预测残差获得最终量化残差以形成压缩码流。
将最终预测残差码流划分为若干量化单元;
其中,获取量化参数和补偿参数,所述若干量化单元取相同的量化参数和补偿参数;并且补偿参数和量化参数具有如下关系:
cp=(1<<qp)/2,
其中,qp表示量化参数,cp表示补偿参数,“<<”算式表示,若有表达式a<<m则表示将整型数a按二进制位向左移动m位,高位移出后,低位补0。
按照预测残差码流的顺序获取第一个量化单元;
(s031)采用对所述最终预测残差进行第一量化编码获得第一rdo和第一量化残差;第一量化编码为对量化单元依次进行量化处理;
其中,量化处理获得第一量化残差,满足公式:
qpres_1i=presi>>qp
其中,qpres_1i为量化单元第i位的第一量化残差,presi为量化单元第i位的预测残差,i的取值为[0,m-1],m为量化单元像素个数n;
其中,“>>”算式表示,若有表达式a>>m则表示将整型数a按二进制位向右移动m位,低位移出后,高位补0。
再对第一量化残差进行反量化处理和补偿处理得到第一反量化残差,满足公式:
iqpres_1i=qpres_1i<<qp+cp
计算第一量化损失,满足公式:
loss_1i=iqpres_1i-presi
计算第一率失真率:
其中,rdo_1为第一率失真率,pixnum为量化单元的像素个数;a1和a2为权重参数,优选地取a1=a2=1。
(s032)采用对所述最终预测残差进行第二量化编码获得第二rdo和第二量化残差;第二量化编码为对所述量化单元依次进行补偿处理、量化处理。
首先对量化单元依次进行补偿处理、量化处理,得到第二量化残差:
qpres_2i=(presi+cp)>>qp
其中,qpres_2i为量化单元第i位的第二量化残差;
然后,对量化单元的第二量化残差进行反量化处理得到第二反量化残差。
计算第二量化损失,满足公式:
loss_2i=iqpres_2i-presi
计算第二率失真率:
其中,rdo_2为第二率失真率,pixnum为量化单元的像素个数;a1和a2为权重参数,优选地取a1=a2=1。
(s033)比较所述第一rdo和所述第二rdo获得所述最终量化残差。
比较所述第一率失真率和所述第二率失真率,若所述第一率失真率小于所述第二率失真率,则将所述第一量化残差作为所述最优量化残差;否则将所述第二量化残差作为所述最优量化残差。
将该量化单元对应的最优量化残差和量化模式标识写入量化残差码流。
量化模式标识可设置每个最优量化残差之后一位,例如,将量化补偿模式设置为1,补偿量化模式设置为0。
获取所有量化单元对应的量化残差码流,按照量化单元的顺序写入传输码流获得最终的压缩码流。
本发明实施例主要通过对视频图像压缩编码过程中的预测和量化模块进行优化,本方法的有益效果为:
1、本发明通对原始图像的复杂度梯度进行分级,设计不同复杂度对应的压缩编码方案,提高图像压缩编码的适应性和压缩性能;
2、本发明采用的用基于搜索窗口的预测方法在通过在十字型搜索窗口内定位参考像素,利用符合纹理特征的十字形预测搜索窗口寻找参考像素,预测效果更优,降低了理论极限熵。此外十字形窗口内像素数少,节约了传输的比特数。
3、本发明采用的基于基于宏块分割的预测方法通过不同分割方式进行预测比较获得预测残差,使原始宏块和预测宏块之间的差异度降到最小提高压缩效率。
4、本发明采用不同量化模式进行量化并比较量化损失进而使量化损失达到最小。
实施例三
本实施例在上述实施例的基础上,重点对一种存储介质进行详细描述,该存储介质用于执行如实施一或者实施例二的自适应图像压缩编码方法。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。