CN106303540B - 一种图像压缩方法及其装置 - Google Patents
一种图像压缩方法及其装置 Download PDFInfo
- Publication number
- CN106303540B CN106303540B CN201510260093.6A CN201510260093A CN106303540B CN 106303540 B CN106303540 B CN 106303540B CN 201510260093 A CN201510260093 A CN 201510260093A CN 106303540 B CN106303540 B CN 106303540B
- Authority
- CN
- China
- Prior art keywords
- compression
- parameters
- parameter table
- group
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000007906 compression Methods 0.000 claims abstract description 422
- 230000006835 compression Effects 0.000 claims abstract description 420
- 238000012545 processing Methods 0.000 claims abstract description 12
- 239000004576 sand Substances 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 34
- 238000004364 calculation method Methods 0.000 description 22
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 10
- 238000009499 grossing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000001914 filtration Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种图像压缩方法及其装置,图像压缩方法包括:获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数;根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,进行压缩处理得到目标图像,用以降低硬件代价。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种图像压缩方法及其装置。
背景技术
目前,随着图像处理技术的发展,人们对图像的视觉效果要求越来越高,在某些应用场景下,图像需要进行压缩才能播放。例如,当摄像机的分辨率大于播放设备的分辨率时,就需要对摄像机采集到的图像进行压缩后方可通过播放设备播放。
现有压缩方法如图1所示,包括软件和硬件两部分。硬件部分包括平滑滤波器和插值滤波器两部分,分别对原始图像进行平滑滤波和插值,得到缩小后的图像。软件部分生成两组参数对硬件电路进行配置,一组根据压缩倍数动态生成,用于配置平滑滤波器,另一组为固定值,用于配置插值滤波器。其中,平滑滤波器用于平滑滤波,滤除原始图像中的高频信号,得到平滑图像,是一个五抽头的平滑滤波器,硬件代价为4条行缓存;插值滤波器用于将平滑图像插值得到缩小图像,是一个四抽头的滤波器,硬件代价为3条行缓存。
可以看出,现有压缩方法采用两组独立的滤波器进行压缩,硬件代价大。
发明内容
本发明提供一种图像压缩方法及其装置,用以通过一个滤波器实现图像压缩,以降低硬件代价。
本发明方法包括:一种图像压缩方法,该方法包括:获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;其中,若所述第一方向为水平方向,则一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,若所述第一方向为垂直方向,则一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素,K为所述滤波器的抽头数;根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数, N为大于1的整数;根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
基于与压缩方法相同的技术构思,本发明实施例还提供一种图像压缩装置,该装置包括:获取单元,用于获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;第一确定单元,用于根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;其中,若所述第一方向为水平方向,则一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,若所述第一方向为垂直方向,则一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素,K为所述滤波器抽头数;压缩参数表获取单元,用于根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数;第二确定单元,用于根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;压缩处理单元,用于根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
本发明实施例由于采用一个滤波器替代了现有技术的平滑滤波器和插值滤波器,通过将待压缩图像划分为M个像素集合,根据压缩倍数以及获取到的压缩参数表为每个像素集合确定一组参数,滤波器利用所述一组参数构成的配置参数对待压缩图像进行插值得到目标图像,由于采用一个滤波器替代了现有方案的两个滤波器,行缓存容量可以小于现有技术的两个滤波器的行缓存容量的总和,进而减小了计算量,硬件代价也随之变小。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有方案的压缩装置软硬件部分示意图;
图2为本发明实施例提供的水平方向压缩方法流程示意图;
图3为本发明实施例提供的压缩参数加权计算示意图;
图4为本发明实施例提供的图像的像素值水平方向压缩处理示意图;
图5为本发明实施例提供的垂直方向压缩方法流程示意图;
图6为本发明实施例提供的图像的像素值垂直方向压缩处理示意图;
图7为本发明实施例提供的压缩装置示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
滤波器按照处理的信号可划分为数字滤波器和模拟滤波器,在离散系统中广泛应用数字滤波器。它的作用是利用离散时间系统的特性对输入信号波形或频率进行加工处理。或者说,把输入信号变成一定的输出信号,从而达到改变信号频谱的目的。数字滤波器一般可以用两种方法来实现:一种方法是用硬件电路实现,比如用数字硬件装配成一台专门的设备,这种设备称为数字信号处理机;另一种方法是采用软件实现,比如直接利用通用计算机,将所需要的运算编成程序让通用计算机来完成,即利用计算机软件来实现。
本发明实施例由于采用一个滤波器替代了现有技术的平滑滤波器和插值滤波器,通过将待压缩图像划分为M个像素集合,根据压缩倍数以及获取到的压缩参数表为每个像素集合确定一组参数,滤波器利用所述一组参数构成的配置参数对待压缩图像进行插值得到目标图像。由于采用一个滤波器替代了现有方案的两个滤波器,行缓存容量可以小于现有技术的两个滤波器的行缓存容量的总和,进而减小了计算量,硬件代价也随之变小。进一步地,本发明实施例中的滤波器利用所述一组参数构成的配置参数对待压缩图像进行插值得到目标图像,使得压缩后的图像更加清晰。
本发明实施例中的滤波器是插值滤波器。插值滤波器是一种结构相对较为简单、整齐划一、占用存储量小的滤波器,广泛应用于数字示波器、数字通信和全数字收发机中。它不需要乘法器,因此占用硬件资源较少、实现简单且速度较高,是高分解速率的一种非常有效的结构,在高速抽取或插值系统中是非常有效的单元。在插值滤波器的具有实现中,人们大多使用DSP(数字信号处理器)来实现。
本发明实施例中使用的插值滤波器可以使用硬件电路实现,也可以采用软件实现。优选地,如果使用硬件电路实现上述插值滤波器,则插值滤波器的行缓存容量可以小于现有技术的两个滤波器的行缓存容量的总和,进而减小了计算量,硬件代价也随之变小,同时压缩后的图像也会更加清晰。
本发明实施例中的图像指定的是数字图像。数字图像又称数码图像或数位图像,是二维图像用有限数字数值像素的表示。由数组或矩阵表示,其光照位置和强度都是离散的。数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。
下面通过实施例一和实施例二对图像压缩过程进行详细描述。
实施例一
实施例一描述了在垂直方向上对图像进行压缩的过程。
参见图2所示,为实施例一提供的行压缩方法流程示意图,该流程可以由一种图像压缩装置来实现,具体地实现方法包括:
步骤S101,获取待压缩图像在垂直方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数。
步骤S102,根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M 个像素集合;其中,一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素。
步骤S103,根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数。
步骤S104,根据所述压缩倍数以及获取到的压缩参数表,为M个像素集合中的每个像素集合确定一组压缩参数。
步骤S105,根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
上述流程的步骤执行顺序仅为一种示例,本发明实施例并不限于上述执行顺序,比如,步骤S102和步骤S103可以交换顺序或者并行执行。
在步骤S101中,若待压缩图像共n行,目标图像共m(m<n)行,那么在垂直方向的压缩倍数λ由下式确定:
λ=n/m……………………(1)
在步骤S102中,所述M为目标图像中的像素行数。所确定出的一个像素集合中的所有行将被压缩为一个目标行,即该像素集合中的所有行为该目标行的参考行。一个像素集合中包含的参考行行数一般与滤波器的抽头数相等,但对于目标图像中的前若干行或后若干行来说,其所对应的像素集合中包含的参考行的行数有可能小于滤波器的抽头数。
例如,采用六抽头滤波器的情况下,可以利用目标图像的第i行倒推出是由待压缩图像的哪几个参考行压缩得到的。具体地,可将i与λ相乘后向下取整,确定出对应的待压缩图像的第k行,确定k的值公式如下:
其中,表示向下取整。
然后根据式(2)得到的第k行选择前后相近的六行作为目标图像的第i行的参考行,六个参考行可以分别是第k-2行、第k-1行、第k行、第k+1行、第 k+2行、第k+3行。
对于目标图像的前几行或后几行,其在待压缩图像中的参考行数可以小于 6,比如,对于目标图像的第1行来说,其在待压缩图像中的参考行可包括第1 行和第2行。
本发明实施例中可针对每种预设的压缩倍数分别设置对应一个压缩参数表。例如,通常应用中常见的压缩倍数有1.2倍、1.5倍、2倍、3倍、4倍,对于这5种常见压缩倍数可以根据信息理论、数值方法和实际的调试实验等原理确定出最优的参数作为既知的最佳压缩参数表。例如,其中1.2倍参数产生原理是基于样条插值方法;1.5倍参数产生原理是基于三次插值方法;2倍参数产生原理是基于线性插值方法;3倍参数产生原理是基于线性插值方法;4倍参数产生原理是基于线性插值和最近插值的混合插值方法;再结合利用实际的仿真实验结果对参数进行修正,就可以得到既知的最佳压缩参数表。
每个压缩参数表中包含N组压缩参数,每组压缩参数中的压缩参数数量与滤波器抽头数量相等。其中,N=2n,n为大于1的整数。N的取值大小主要影响的是计算的精度,N的取值越大图像效果越好,但当N大于32后对压缩效果影响较小。考虑到计算量等因素,故一般N取值等于32,即压缩参数表一般有32 组。
如前所述,在步骤S103中,若步骤S101中获取到的压缩倍数包含在5种常见压缩倍数,则直接使用既知的最佳压缩参数表;若获取到的压缩倍数与预设的压缩倍数不相同,则就没有既知的压缩参数表,这时需要通过加权计算得到新的压缩参数表。具体地,从所述预设的压缩倍数范围内选取第一压缩倍数和第二压缩倍数,所述第一压缩倍数小于且最接近于所述获取到的压缩倍数,所述第二压缩倍数是大于且最接近于所述获取到的压缩倍数;根据所述第一压缩倍数和所述第二压缩倍数,获取对应的第一压缩参数表和第二压缩参数表;按照第二公式将所述第一压缩参数表和第二压缩参数表得到第三压缩参数表,构建第三压缩参数表的第二公式如下:
Pzm(k)=Pzs(k)×Wzs+Pzl(k)×Wzl……………………(3)
其中,Pzm(k)为第三压缩参数表中的第k个的压缩参数,Pzs(k)为第一压缩参数表中的第k个压缩参数,Pzl(k)为第二压缩参数表中的第k个压缩参数,Wzs和Wzl是权重。
为了更清楚地理解式(3),下面通过举例解释第三压缩参数表通过第一压缩参数表和第二压缩参数表加权计算得到的过程。
假设当前的缩小倍数为zm,若zm不是常见缩小倍数里的一种,则按下述步骤进行:
1)、找出zm小的最大重点缩小倍数为zs,找出比zm大的最小重点缩小倍数为zl。
2)、如果zm/zs≤1.2,直接使用zs的压缩参数表。
3)、如果zm/zs>1.2,用zs和zl的压缩参数表加权求和获得。其中zs的压缩参数表的权重表达式为:
Wzs=log2α×((zl-1.2×zs)/(zm-1.2×zs))……………………(4)
zl的压缩参数表的权重表达式为:
Wzl=1-log2α×((zl-1.2×zs)/(zm-1.2×zs))………………………..(5)
其中α为大于0的可配置参数,缺省为1,增大α可更好的抑制赝像,减小α可获得更好的清晰度,因此可根据实际应用场景对α进行设置。
4)、按照式(3),根据所述zs的压缩参数表和所述zl的压缩参数表得到新的压缩参数表。
考虑到经过上述步骤得到的压缩参数表的实际数值为double(双精度浮点) 型,且均为小于1的小数,不能直接用于配置硬件中的参数表,需要再通过以下步骤进行参数定规化、直流校正和相位校正的处理。其中,参数定规化的步骤是:(1)、将组内的参数进行加和,得到W-all;(2)、组内所有的参数乘上系数256/W-all;(3)、所有参数进行4舍五入,转化为整数。经过以上三步后所有的参数的特点是均为小于256的整数,且任意一组的参数相加后的结果都非常接近于256。如果一组参数相加后的结果等于256,则无需直流校正和相位校正,否则再进行以下两步处理:第一步:组内的参数Wm进行加和,得到和Wm-all;第二步:选出组中最大的参数Wmax,将其修正为Wmax-(∑Wm-256)。在实际的计算中,没有出现最大参数Wmax同时有2个的情况。
在步骤S104中,根据所述压缩倍数以及获取到的压缩参数表,为所述M 个像素集合确定一组压缩参数,具体地,如果一个像素集合中的像素将被压缩为目标图像中的第i行,i满足第一表达式,则从获取到的压缩参数表中选择第一组压缩参数作为该像素集合对应的一组压缩参数;或者,如果一个像素集合中的像素将被压缩为目标图像中的第i行,i满足第二表达式,则从获取到的压缩参数表中选择最后一组压缩参数作为该像素集合对应的一组压缩参数;或者,如果一个像素集合中的像素将被压缩为目标图像中的第i行,i满足第三表达式,则从压缩参数表中选择第s组以及第s+1组压缩参数,s值的确定表达式为:
按照第一公式将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数;
所述第一表达式为:
所述第二表达式为:
所述第三表达式为:
所述第一公式为:
W(j)=Ws(j)×WPs+Ws+1(j)×WPs+1…………………(10)
其中,所述第一表达式、所述第二表达式和所述第三表达式中,λ为压缩倍数,θ为预设值,0<θ<1,表示向下取整;
式(10)中W(j)为进行加权处理后得到的一组压缩参数中的第j个压缩参数,
j为不大于M的整数,Ws(j)和Ws+1(j)分别是第s组和第s+1组中的压缩参数第j个压缩参数,WPs和WPs+1分别是第s组和第s+1组压缩参数的权重,其中,WPs可表达为:
WPs+1可表达为:
具体地,如图3所示进一步解释按照第一公式将所述第s组压缩参数以及第 s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数的计算过程。当压缩参数表有32组,每组6个,第s组包括6个参数分别是Ws(1)、Ws(2)、 Ws(3)、Ws(4)、Ws(5)、Ws(6);第s+1组包括6个参数分别是Ws+1(1)、Ws+1(2)、 Ws+1(3)、Ws+1(4)、Ws+1(5)、Ws+1(6),然后这12个参数根据第一公式加权计算得到新的一组参数W(1)、W(2)、W(3)、W(4)、W(5)、W(6),例如W(2) 的计算公式为:
W(2)=Ws(2)×WPs+Ws+1(2)×WPs+1…………………(13)
之所以从压缩参数表中选择两组参数进行线性加权求和的方式得到一种压缩参数,这样做的目的是,因为这样选出的两组参数和当下需要计算的压缩行最为相关,其它组参数相比较这两组而言相关性较低因此参与计算的作用也很小。从硬件实现的角度看,它只需要增加不多的寄存器和乘法器就可以实现,硬件代价较小,而且可以提高计算的精度,图像质量也有一定的提高。
在步骤S105中,根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
具体地,还是继续利用上述六个参考行的例子,如图4所示,进一步解释步骤S105的具体实现过程。
一个像素集合中的6行像素将被压缩为目标图像中的一行像素,6行像素分别是第k-2行、第k-1行、第k行、第k+1行、第k+2行、第k+3行。通过这六个参考行得到目标图像的第i行像素某个素点值的计算公式为:
其中,Lk-2(x)、Lk-1(x)、Lk(x)、Lk+1(x)、Lk+2(x)、Lk+3(x)为待压缩图像中的第k-2行、第k-1行、第k行、第k+1行、第k+2行、第k+3行的纵坐标x的像素点的RGB值,LNewi(x)为计算得到的目标图像第i行像素某个素点值,Wi为计算目标图像该行时各参考行权重,计算目标图像不同行对应的Wi会不相同,但计算同一行的不同纵坐标x位置的像素点值用到的Wi是不变的。
进一步地,例如要计算目标图像第i行的纵坐标为10的像素点的值, LNewi(10)的计算表达式为:
K为所述滤波器的抽头数,且K的取值应大于最大压缩倍数,因为压缩倍数越大,更多抽头的抽头滤波器才能压缩效果越好,虽然抽头越多即K越大,压缩效果越好但是同时硬件开销也越大,基于我们当下的最大缩小倍数为4倍,那么选择6抽头滤波器就可以获得较好的图像效果,如果选择小于6抽头的滤波器那么压缩效果会明显下降,所以K一般为6个,值得说明的是,K值的确定基本就是一个图像效果和硬件开销之间的折衷。
实施例二
实施例二描述了在水平方向上对图像进行压缩的过程。
参见图5所示,为实施例二提供的水平方向压缩方法流程示意图,该流程可以由一种图像压缩装置来实现,具体地实现方法包括:
步骤S201,获取待压缩图像在水平方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数。
步骤S202,根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M 个像素集合;其中,一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,K为所述滤波器的抽头数。
步骤S203,根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数。具体实现与上述步骤102方法相同。
步骤S204,根据所述压缩倍数以及获取到的压缩参数表,为M个像素集合中的每个像素集合确定一组压缩参数。
步骤S205,根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
上述流程的步骤执行顺序仅为一种示例,本发明实施例并不限于上述执行顺序,比如,步骤S202和步骤S203可以交换顺序或者并行执行。
在步骤S201中,若待压缩图像共u列,目标图像共v(v<u)列,那么在水平方向的压缩倍数λ由下式确定:
λ=u/v……………………(16)
在步骤S202中,所述M为目标图像中的像素列数。所确定出的一个像素集合中的所有列将被压缩为一个目标列,即该像素集合中的所有列为该目标列的参考列。一个像素集合中包含的参考列列数一般与滤波器的抽头数相等,但对于目标图像中的前若干列或后若干列来说,其所对应的像素集合中包含的参考列的列数有可能小于滤波器的抽头数。
例如,采用六抽头滤波器的情况下,可以利用目标图像的第i列倒推出是由待压缩图像的哪几个参考列压缩得到的。具体地,可将i与λ相乘后向下取整,确定出对应的待压缩图像的第L列,确定L的值公式如下:
其中,表示向下取整。
然后根据式(17)得到的第L列选择前后相近的六列作为目标图像的第i 列的参考列,六个参考列可以分别是第k-2列、第k-1列、第k列、第k+1列、第k+2列、第k+3列。
对于目标图像的前几列或后几列,其在待压缩图像中的参考列数可以小于 6,比如,对于目标图像的第1列来说,其在待压缩图像中的参考列可包括第1 列和第2列。
在步骤S204中,根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合确定一组压缩参数,具体地,如果一个像素集合中的像素将被压缩为目标图像中的第i列,i满足式(7),则从获取到的压缩参数表中选择第一组压缩参数作为该像素集合对应的一组压缩参数;或者,如果一个像素集合中的像素将被压缩为目标图像中的第i列,i满足式(8),则从获取到的压缩参数表中选择最后一组压缩参数作为该像素集合对应的一组压缩参数;或者,,如果一个像素集合中的像素将被压缩为目标图像中的第i列,i满足式(9),则从压缩参数表中选择第s组以及第s+1组压缩参数,s值同样由式(6)确定,按照式(10) 将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数。
具体地,按照式(10)将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数的计算过程与行压缩中的计算过程相同,不再赘述。
在步骤S205中根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
具体地,同样也继续利用上述六个参考列的例子,如图6所示,进一步解释步骤S205的具体实现过程。
一个像素集合中的6列像素将被压缩为目标图像中的一列像素,6列像素分别是第k-2列、第k-1列、第k列、第k+1列、第k+2列、第k+3列。通过这六个参考列得到目标图像的第i列像素某个素点值的计算公式具体如式(14)所示。
其中,Lk-2(x)、Lk-1(x)、Lk(x)、Lk+1(x)、Lk+2(x)、Lk+3(x)为待压缩图像中的第k-2列、第k-1列、第k列、第k+1列、第k+2列、第k+3列的横 x处的像素点的RGB值,LNewi(x)为计算得到的目标图像第i列像素某个素点值,Wi为计算目标图像该行时各参考列权重,计算目标图像不同列对应的Wi会不相同,但计算同一列的不同横坐标位置的像素点值用到的Wi是不变的。
值得说明的是,图像的压缩可以包括垂直方向和水平方向两个方向的压缩,如果采用软件实现的滤波器实现图像压缩,那么改变垂直方向和水平方向的压缩先后顺序都会得到相同的图像压缩效果;如果采用硬件电路实现的滤波器实现图像压缩,则需要考虑到数据流的传输方式,当图像数据以行的方式依次进行传输时,此时就需要采用垂直方向压缩;当图像数据以列的方式依次进行传输,此时就需要采用水平方向压缩,这时通常会采用两个同样的插值滤波器,当数据流经过垂直方向压缩之后再继续到下一个滤波器进行水平方向的压缩,当然反之亦可。
基于与压缩方法相同的技术构思,本发明实施例三还提供了一种图像压缩装置,该装置采用了实施例一和实施例二的图像压缩方法。
如图7所示,该装置可包括:压缩倍数获取单元S71,第一确定单元S72,压缩参数表获取单元S73,第二确定单元S74,压缩处理单元S75,其中:
压缩倍数获取单元S71,用于获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;
第一确定单元S72,用于根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;其中,若所述第一方向为水平方向,则一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,若所述第一方向为垂直方向,则一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素,K为所述滤波器抽头数;
压缩参数表获取单元S73,用于根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数;
本发明实施例中可针对每种预设的压缩倍数分别设置对应一个压缩参数表。例如,通常应用中常见的压缩倍数有1.2倍、1.5倍、2倍、3倍、4倍,对于这5种常见压缩倍数可以根据信息理论、数值方法和实际的调试实验等原理确定出最优的参数作为既知的最佳压缩参数表,例如其中1.2倍参数产生原理是基于样条插值方法;1.5倍参数产生原理是基于三次插值方法;2倍参数产生原理是基于线性插值方法;3倍参数产生原理是基于线性插值方法;4倍参数产生原理是基于线性插值和最近插值的混合插值方法;再结合利用实际的仿真实验结果对参数进行修正,就可以得到既知的最佳压缩参数表。
每个压缩参数表中包含N组压缩参数,每组压缩参数中的压缩参数数量与滤波器抽头数量相等。其中,N=2n,n为大于1的整数。N的取值大小主要影响的是计算的精度,N的取值越大图像效果越好,但当N大于32后对压缩效果影响较小。考虑到计算量等因素,故一般N取值等于32,即压缩参数表一般有32 组。
第二确定单元S74,用于根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;
压缩处理单元S75,用于根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像,具体实现与方法步骤S105或S205相同。
所述第二确定单元S74,具体用于:如果一个像素集合中的像素将被压缩为目标图像的中的第i行或第i列,i满足式(7),则从获取到的压缩参数表中选择第一组压缩参数作为该像素集合对应的一组压缩参数;或者,如果一个像素集合中的像素将被压缩为目标图像的中的第i行或第i列,i满足式(8),则从压缩参数表中选择最后一组压缩参数作为该像素集合对应的一组压缩参数;或者,如果一个像素集合中的像素将被压缩为目标图像的中第i行或第i列,i满足式(9),则从获取到的压缩参数表中选择第s组以及第s+1组压缩参数,s值的确定如公式(6)所示,按照式(10),将所述第s组压缩参数以及第s+1组压缩参数进行加权处理得到一组压缩参数,将得到该像素集合对应的一组压缩参数。
具体地,按照式(10)将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数的计算过程与压缩方法中的计算过程相同,不再赘述。
之所以从压缩参数表中选择两组参数进行线性加权求和的方式得到一种压缩参数,这样做的目的是,因为这样选出的两组参数和当下需要计算的压缩行最为相关,其它组参数相比较这两组而言相关性较低因此参与计算的作用也很小。从硬件实现的角度看,它只需要增加不多的寄存器和乘法器就可以实现,硬件代价较小,而且可以提高计算的精度,图像质量也有一定的提高。
所述压缩参数表获取单元S73,具体用于:若获取到的压缩倍数与预设的压缩倍数不相同,则从所述预设的压缩倍数中选取第一压缩倍数和第二压缩倍数,所述第一压缩倍数小于且最接近于所述获取到的压缩倍数,所述第二压缩倍数大于且最接近于所述获取到的压缩倍数;根据所述第一压缩倍数和所述第二压缩倍数获取对应的第一压缩参数表和第二压缩参数表;按照第二公式,根据所述第一压缩参数表和所述第二压缩参数表得到第三压缩参数表,构建第三压缩参数表的第二公式具体如公式(3)所示。
综上所述,根据本发明实施例提供的方法及装置,本发明实施例由于采用一个插值滤波器替代了现有技术的平滑滤波器和插值滤波器,通过将待压缩图像划分为M个像素集合,根据压缩倍数以及获取到的压缩参数表为每个像素集合确定一组参数,插值滤波器利用所述一组参数构成的配置参数对待压缩图像进行插值得到目标图像,由于采用一个插值滤波器替代了现有方案的两个滤波器,行缓存容量可以小于现有技术的两个滤波器的行缓存容量的总和,进而减小了计算量,硬件代价也随之变小,插值滤波器利用所述一组参数构成的配置参数对待压缩图像进行插值得到目标图像,使得压缩后的图像更加清晰。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/ 或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种图像压缩方法,其特征在于,该方法包括:
获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;
根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;其中,若所述第一方向为水平方向,则一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,若所述第一方向为垂直方向,则一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素,K为所述滤波器的抽头数;
根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数;
根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;
根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数,包括:
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第一表达式,则从获取到的压缩参数表中选择第一组压缩参数作为该像素集合对应的一组压缩参数;或者,
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第二表达式,则从获取到的压缩参数表中选择最后一组压缩参数作为该像素集合对应的一组压缩参数;或者,
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第三表达式,则从获取到的压缩参数表中选择第s组以及第s+1组压缩参数,按照第一公式将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数;
所述第一表达式为:
所述第二表达式为:
所述第三表达式为:
所述第一公式为:W(j)=Ws(j)×WPs+Ws+1(j)×WPs+1
其中,所述第一表达式、所述第二表达式和所述第三表达式中,λ为压缩倍数,θ为预设值,0<θ<1,表示向下取整;
所述第一公式中,W(j)为进行加权处理后得到的一组压缩参数中的第j个压缩参数,j为不大于M的整数,Ws(j)和Ws+1(j)分别是第s组和第s+1组压缩参数中的第j个压缩参数,WPs和WPs+1分别是第s组和第s+1组压缩参数的权重,表示向下取整。
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求1所述的方法,其特征在于,所述根据所述压缩倍数获取对应的压缩参数表,包括:
若获取到的压缩倍数与预设的压缩倍数不相同,则从预设的压缩倍数中选取第一压缩倍数和第二压缩倍数,所述第一压缩倍数小于且最接近于所述获取到的压缩倍数,所述第二压缩倍数大于且最接近于所述获取到的压缩倍数;
根据所述第一压缩倍数和所述第二压缩倍数,获取对应的第一压缩参数表和第二压缩参数表;
按照第二公式,根据所述第一压缩参数表和所述第二压缩参数表得到第三压缩参数表:
Pzm(k)=Pzs(k)×Wzs+Pzl(k)×Wzl
其中,zs为第一压缩倍数,zl为第二压缩倍数,zm为第三压缩倍数;Pzm(k)为第三压缩参数表中的第k个的压缩参数,Pzs(k)为第一压缩参数表中的第k个压缩参数,Pzl(k)为第二压缩参数表中的第k个压缩参数,Wzs和Wzl是权重。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述滤波器的抽头数大于所允许的最大压缩倍数。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述N的取值为2n,n为大于1的整数。
7.一种图像压缩装置,其特征在于,该装置包括:
获取单元,用于获取待压缩图像在第一方向上被压缩为目标图像的压缩倍数,以及用于进行图像压缩的滤波器的抽头数;
第一确定单元,用于根据所述压缩倍数和所述抽头数,确定所述待压缩图像中的M个像素集合;其中,若所述第一方向为水平方向,则一个像素集合中最多包含K列像素,每个像素集合中的所有像素将被压缩为目标图像中的一列像素,若所述第一方向为垂直方向,则一个像素集合中最多包含K行像素,每个像素集合中的所有像素将被压缩为目标图像中的一行像素,K为所述滤波器抽头数;
压缩参数表获取单元,用于根据所述压缩倍数获取对应的压缩参数表,每种预设的压缩倍数分别对应一个压缩参数表,每个压缩参数表中包含N组压缩参数,每组压缩参数中包含K个压缩参数,N为大于1的整数;
第二确定单元,用于根据所述压缩倍数以及获取到的压缩参数表,为所述M个像素集合中的每个像素集合确定一组压缩参数;
压缩处理单元,用于根据所述M个像素集合以及分别与所述M个像素集合对应的压缩参数,对所述待压缩图像进行压缩处理,得到目标图像。
8.根据权利要求7所述的装置,其特征在于,所述第二确定单元,具体用于:
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第一表达式,则从获取到的压缩参数表中选择第一组压缩参数作为该像素集合对应的一组压缩参数;或者,
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第二表达式,则从压缩参数表中选择最后一组压缩参数作为该像素集合对应的一组压缩参数;或者,
如果一个像素集合中的像素将被压缩为目标图像中的第i行或第i列,i满足第三表达式,则从获取到的压缩参数表中选择第s组以及第s+1组压缩参数,按照第一公式将所述第s组压缩参数以及第s+1组压缩参数进行加权处理,得到该像素集合对应的一组压缩参数;
所述第一表达式为:
所述第二表达式为:
所述第三表达式为:
所述第一公式为:W(j)=Ws(j)×WPs+Ws+1(j)×WPs+1
其中,所述第一表达式、所述第二表达式和所述第三表达式中,λ为压缩倍数,θ为预设值,0<θ<1,表示向下取整;
所述第一公式中,W(j)为进行加权处理后得到的一组压缩参数中的第j个压缩参数,j为不大于M的整数,Ws(j)和Ws+1(j)分别是第s组和第s+1组压缩参数中的第j个压缩参数,WPs和WPs+1分别是第s组和第s+1组压缩参数的权重,表示向下取整。
9.根据权利要求8所述的装置,其特征在于,
10.根据权利要求7所述的装置,其特征在于,所述压缩参数表获取单元,具体用于:
若获取到的压缩倍数与预设的压缩倍数不相同,则从预设的压缩倍数中,选取第一压缩倍数和第二压缩倍数,所述第一压缩倍数小于且最接近于所述获取到的压缩倍数,所述第二压缩倍数大于且最接近于所述获取到的压缩倍数;
根据所述第一压缩倍数和所述第二压缩倍数获取对应的第一压缩参数表和第二压缩参数表;
按照第二公式,根据所述第一压缩参数表和所述第二压缩参数表得到第三压缩参数表:
Pzm(k)=Pzs(k)×Wzs+Pzl(k)×Wzl
其中,zs为第一压缩倍数,zl为第二压缩倍数,zm为第三压缩倍数;Pzm(k)为第三压缩参数表中的第k个的压缩参数,Pzs(k)为第一压缩参数表中的第k个压缩参数,Pzl(k)为第二压缩参数表中的第k个压缩参数,Wzs和Wzl是权重。
11.根据权利要求7至10中任一项所述的装置,其特征在于,所述滤波器的抽头数大于所允许的最大压缩倍数。
12.根据权利要求7至10中任一项所述的装置,其特征在于,所述N的取值为2n,n为大于1的整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510260093.6A CN106303540B (zh) | 2015-05-20 | 2015-05-20 | 一种图像压缩方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510260093.6A CN106303540B (zh) | 2015-05-20 | 2015-05-20 | 一种图像压缩方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106303540A CN106303540A (zh) | 2017-01-04 |
CN106303540B true CN106303540B (zh) | 2019-02-12 |
Family
ID=57632586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510260093.6A Active CN106303540B (zh) | 2015-05-20 | 2015-05-20 | 一种图像压缩方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106303540B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309413A (zh) * | 2007-05-16 | 2008-11-19 | 奥林巴斯映像株式会社 | 图像数据压缩装置和图像数据压缩方法 |
CN101515994A (zh) * | 2008-02-22 | 2009-08-26 | 联发科技股份有限公司 | 图像处理装置及其方法 |
CN101520887A (zh) * | 2009-03-30 | 2009-09-02 | 北京中星微电子有限公司 | 一种图像缩放方法、装置及芯片 |
CN102129666A (zh) * | 2010-12-31 | 2011-07-20 | 华亚微电子(上海)有限公司 | 图像缩放方法及装置 |
CN102246223A (zh) * | 2009-03-17 | 2011-11-16 | 华为技术有限公司 | 一种图像的缩放方法和装置 |
CN104601995A (zh) * | 2009-08-26 | 2015-05-06 | 索尼公司 | 图像处理装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4816328B2 (ja) * | 2006-08-24 | 2011-11-16 | 富士ゼロックス株式会社 | 画像処理システム、画像圧縮システム、画像編集システム、画像処理プログラムおよび画像処理装置 |
-
2015
- 2015-05-20 CN CN201510260093.6A patent/CN106303540B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309413A (zh) * | 2007-05-16 | 2008-11-19 | 奥林巴斯映像株式会社 | 图像数据压缩装置和图像数据压缩方法 |
CN101515994A (zh) * | 2008-02-22 | 2009-08-26 | 联发科技股份有限公司 | 图像处理装置及其方法 |
CN102246223A (zh) * | 2009-03-17 | 2011-11-16 | 华为技术有限公司 | 一种图像的缩放方法和装置 |
CN101520887A (zh) * | 2009-03-30 | 2009-09-02 | 北京中星微电子有限公司 | 一种图像缩放方法、装置及芯片 |
CN104601995A (zh) * | 2009-08-26 | 2015-05-06 | 索尼公司 | 图像处理装置和方法 |
CN102129666A (zh) * | 2010-12-31 | 2011-07-20 | 华亚微电子(上海)有限公司 | 图像缩放方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106303540A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | A fast implementation of adaptive histogram equalization | |
CN105493497A (zh) | 用于流送环境中的高效视频处理的方法和处理器 | |
US9946688B2 (en) | Efficient interpolation | |
JP2004007337A5 (zh) | ||
CN107993189B (zh) | 一种基于局部分块的图像色调动态调节方法和装置 | |
JP2008226233A (ja) | カーネルフィルタを用いて入力データをフィルタリングするコンピュータ実装方法及び装置 | |
CN106780336B (zh) | 一种图像缩小方法及装置 | |
CN113556442B (zh) | 视频去噪方法、装置、电子设备及计算机可读存储介质 | |
CN107680028B (zh) | 用于缩放图像的处理器和方法 | |
KR20140107581A (ko) | 비디오 스케일러들에서의 링잉 억제 | |
US8499019B2 (en) | Electronic hardware resource management in video processing | |
CN105447830A (zh) | 动态视频图像清晰度强化方法及装置 | |
TW581978B (en) | Apparatus for processing digital image and method and computer readable medium therefor | |
CN104254872A (zh) | 图像处理方法和图像处理设备 | |
CN106303540B (zh) | 一种图像压缩方法及其装置 | |
JP3083995B2 (ja) | 画像処理方法および装置 | |
US9619864B2 (en) | Image processing apparatus and method for increasing sharpness of images | |
CN111985617A (zh) | 3d卷积神经网络在神经网络处理器上的处理方法和装置 | |
Gour et al. | Hardware accelerator for real-time image resizing | |
Dilip et al. | Bilinear interpolation image scaling processor for VLSI architecure | |
US20120050820A1 (en) | Image processing apparatus, control method of the same, and program | |
Kodek | Performance limit of finite wordlength FIR digital filters | |
US8666172B2 (en) | Providing multiple symmetrical filters | |
CN106791881B (zh) | 一种滤波方法及装置 | |
EP2924879B1 (en) | Sampling rate conversion device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |