br>[0056] 图1是本发明实施例提供的一种对图像进行压缩的方法流程图;
[0057]图2是本发明实施例提供的一种残差块的示意图;
[0058] 图3是本发明实施例提供的一种残差块的示意图;
[0059]图4是本发明实施例提供的一种对图像进行压缩的装置结构示意图;
[0060]图5是本发明实施例提供的一种对图像进行压缩的装置结构示意图;
[0061]图6是本发明实施例提供的一种终端的结构示意图。
【具体实施方式】
[0062] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0063] 实施例一
[0064] 本发明实施例提供了一种对图像进行压缩的方法,如图1所示,该方法的处理流 程可以包括如下的步骤:
[0065] 步骤101,获取目标图像的第一残差块,以及第一残差块对应的第一量化系数。
[0066] 步骤102,确定第一残差块包含的各像素点的残差值的绝对值的第一和值。
[0067] 步骤103,根据预先存储的全残差块阈值与量化系数、残差块包含的像素点数目的 对应关系,以及第一量化系数和第一残差块包含的像素点数目,确定第一残差块对应的第 一全残差块阈值。
[0068]步骤104,如果第一和值小于第一全残差块阈值,则将预设量化值作为第一残差块 包含的各像素点的量化值,并对第一残差块包含的各像素点的量化值进行压缩处理,如果 第一和值不小于第一全残差块阈值,则对第一残差块进行离散余弦变换DCT和量化处理, 得到第一残差块包含的各像素点的量化值,并对第一残差块包含的各像素点的量化值进行 压缩处理。
[0069]本发明实施例中,获取目标图像的第一残差块,以及第一残差块对应的第一量化 系数,确定第一残差块包含的各像素点的残差值的绝对值的第一和值,根据预先存储的全 残差块阈值与量化系数、残差块包含的像素点数目的对应关系,以及第一量化系数和第一 残差块包含的像素点数目,确定第一残差块对应的第一全残差块阈值,如果第一和值小于 第一全残差块阈值,则将预设量化值作为第一残差块包含的各像素点的量化值,并对第一 残差块包含的各像素点的量化值进行压缩处理,如果第一和值不小于第一全残差块阈值, 则对第一残差块进行离散余弦变换DCT和量化处理,得到第一残差块包含的各像素点的量 化值,并对第一残差块包含的各像素点的量化值进行压缩处理,这样,可以只对和值不小于 对应的全残差块阈值的残差块进行DCT变换和量化,无需对和值大于对应的全残差块阈值 的残差块进行DCT变换和量化,从而可以节约终端的处理资源。
[0070] 实施例二
[0071] 本发明实施例提供了一种对图像进行压缩的方法,该方法的执行主体为终端。其 中,终端可以是安装有用于压缩图像的应用程序的终端。该终端可以包括处理器和存储器, 处理器可以用于确定第一残差块包含的各像素点的残差值的绝对值的第一和值,进而可以 基于该和值确定第一残差块包含的各像素点的量化值,存储器可以用于存储第一残差块对 应的第一量化系数,也可以存储全残差块阈值与量化系数、残差块包含的像素点数目的对 应关系,还可以存储下述处理过程中需要的数据以及产生的数据。另外,该终端还可以包括 输入单元、传感器、音频电路、以及电源等部件。
[0072]下面将结合【具体实施方式】,对图1所示的处理流程进行详细的说明,内容可以如 下:
[0073]步骤101,获取目标图像的第一残差块,以及第一残差块对应的第一量化系数。
[0074] 在实施中,用户可以在终端安装具有图像压缩功能的应用程序,如HEVC(High Efficiency Video Coding,高效视频编码)编码器的应用程序,待压缩的图像可以是视频。 当用户需要对某个图像进行压缩时,用户可以在终端开启该应用程序,然后可以在该应用 程序中选择需要进行压缩的图像,点击压缩选项,终端则会接收到对应目标图像的压缩指 令,然后可以在目标图像中获取残差块(即第一残差块)。
[0075]可选的,终端获取残差块的过程可以如下:在目标图像中获取第一像素块;通过 预先存储的预测算法,确定第一像素块对应的第一预测块;确定第一像素块中每个像素点 的像素值与第一预测块中每个像素点的像素值的差值,得到第一残差块。
[0076]在实施中,终端可以在目标图像中,获取某个帧(可以称作目标帧)的数据,目标 帧可以包含多个像素点,如目标帧可以为1280*720,然后可以对目标帧包含的像素点进行 划分,得到多个原始像素块。终端可以在多个原始像素块中,获取一个像素块(即第一像素 块),然后可以根据第一像素块和预设的预测算法(如帧内预测和帧间预测),得到第一像 素块对应的第一预测块,再将第一预测块中每个像素点的像素值与第一预测块中每个像素 点的像素值进行对应的相减,得到第一像素块对应的第一残差块。对于划分的每个原始像 素块,终端都可以进行上述处理,得到每个原始像素块对应的残差块,以便进行后续处理。 其中,残差块的尺寸可以包括4*4、8*8、16*16、32*32。
[0077] 另外,终端还可以包括码率控制模块,码率控制模块可以根据原始像素块包含的 内容的复杂度,以及预设的码率,确定每个原始像素块对应量化系数,因此,同一尺寸的原 始像素块对应的量化系数可能不同。量化系数的范围可以是〇~51。终端可以将量化系数 与原始像素块对应的残差块进行对应的存储,建立残差块与量化系数的对应关系。终端获 取目标图像的第一残差块后,可以根据预先存储的残差块与量化系数的对应关系,确定第 一残差块对应的第一量化系数。
[0078] 步骤102,确定第一残差块包含的各像素点的残差值的绝对值的第一和值。
[0079] 在实施中,终端获取目标图像的第一残差块后,可以获取第一残差块包含的各像 素点的残差值,然后可以确定各残差值的绝对值,进而可以计算这些残差值的和值。终端在 计算这些和值时,可以按照像素点的位置顺序,先获取第一个像素点的残差值,再获取第二 个像素点的残差值,然后计算这两个像素点的和值(可称为a),然后再获取第三个像素点 的残差值,计算a与第三个像素点的残差值的和值,以此类推。终端也可以在计算和值时, 进行SIMD (Single Instruction Multiple Data,单指令多数据流)指令优化,这样终端可 以获取第一残差块包含的所有像素点的残差值,然后对获取到的残差值进行求和计算,从 而可以提高计算和值的效率。其中,上述和值的计算公式可以如下:
[0080]
[0081] 其中,(i,j)可以表示计算和值的残差块,例如,该残差块的尺寸为4*4,则i为4, j为4 ;(m,n)可以表示该残差块中的像素点,M可以表示该残差块中横向像素点的数目的 最大值,N可以表示该残差块中纵向像素点的数目的最大值。如图2所示,为4*4残差块, 该残差块包含的各像素点的残差值的绝对值的和值为:10+8+5+9+20+25+10+6+10+50+10+5 +12+13+12+15 = 220。
[0082] 可选的,可以只对量化系数大于第一预设阈值的残差块进行求和计算,相应的,步 骤102的处理过程可以如下:如果第一量化系数大于第一预设阈值,则确定第一残差块包 含的各像素点的残差值的第一和值。
[0083] 在实施中,终端获取目标图像的第一残差块,以及第一残差块对应的第一量化系 数后,可以将第一量化系数与第一预设阈值进行对比,如果第一量化系数大于或等于第一 预设阈值,则可以获取第一残差块包含的各像素点的残差值,然后可以确定各残差值的绝 对值,然后可以计算这些残差值的和值,如果第一量化系数小于第一预设阈值,则不进行求 和处理。其中,第一预设阈值可以是25。
[0084] 可选的,如果第一量化系数小于第一预设阈值,则对第一残差块进行DCT和量化 处理,得到第一残差块包含的各像素点的量化值,并对第一残差块包含的各像素点的量化 值进行压缩处理。
[0085] 步骤103,根据预先存储的全残差块阈值与量化系数、残差块包含的像素点数目的 对应关系,以及第一量化系数和第一残差块包含的像素点数目,确定第一残差块对应的第 一全残差块阈值。
[0086] 在实施中,终端在对目标帧中的像素点进行划分时,可以将目标帧中的原始像素 点划分成通尺寸的原始像素块,进而通过上述处理过程,得到不同尺寸的残差块。残差块的 尺寸可以包括4*4、8*8、16*16、32*32。对于任意尺寸的残差块,技术人员可以通过大量的 统计处理,得到每个尺寸的残差块在不同量化系数的情况下,对应的全残差块阈值。对每个 尺寸的残差块终端都可以进行上述处理,从而可以得到全残差块阈值与量化系数、残差块 包含的像素点数目的对应关系。例如,量化系数的范围是25~51,4*4残差块对应的全残 差块阈值依次为:23, 28, 28, 27, 28, 36,40,49,48, 55,69, 79,90,98,105,114,123,139,180, 189, 203, 219, 226, 270, 270, 270, 270,其中,23对应的量化系数为25, 270对应的量化系数 为51 ;8*8残差块对应的全残差块阈值依次为:41,59, 56, 72, 73, 74, 76, 78,102,139,156, 160,187,187,187,187,218,224,365,368,438,438,438,603,976,1194,1281,其中,41 对应 的量化系数为25,1281对应的量化系数为51 ; 16*16残差块对应的全残差块阈值依次为: 109,112,130,140,129,180,180,180,221,303,354,385,385,502,552,574,658,693,853, 913,913,1314,1314,1314,1793,1793, 2238,其中,109 对应的量化系数为 25, 2238 对应的 量化系数为51 ; 32*32残差块对应的全残差块阈值依次为:205,205,246,277,353,406, 406,491,520,651,694,694,776,992,1214,1372,1553,1710,1781,2097,2296,2691,2750, 3180,4109,4858, 5468,其中,205对应的量化系数为25, 5468对应的量化系数为51。
[0087] 终端确定第一残差块对应的第一和值后,还可以确定第一残差块包含的像素点的 数目,然后可以根据第一残差块包含的像素点的数目和第一量化系数,在上述对应关系中 查找第一残差块对应的第一全残差块阈值。
[0088] 步骤104,如果第一和值小于第一全残差块阈值,则将预设量化值作为第一残差块 包含的各像素点