具有可变量化参数的图像压缩方法

文档序号:7751268阅读:87来源:国知局
专利名称:具有可变量化参数的图像压缩方法
技术领域
本发明关于一种具有可变量化参数的图像压缩方法,尤其是一种需要较少内存空间的具有可变量化参数的图像压缩方法。
背景技术
随着电子以及信息技术的进步,在计算机或各式各样的电子装置上处理以及显示图像的技术发展也越来越普遍。早期的电子信息技术只能储存或处理较低像素的数字图像,现今人们对高质量图像的需求越来越多。为了得到高质量图像,在进行图像压缩时常采用无失真的压缩方式。但是高质量的图像一般而言都具有很大的文件大小,而使其在保存上以及在传播上都不方便。对此图像处理的专家发展出了有损压缩(lossy compression, 亦称为破坏性压缩)的技术,其舍去图像的部分信息以减少文件大小。例如联合图像专家群(Jointphotographic experts group, JPEG)即为最著名的有损压缩格式。有损压缩常利用量化(quantization)的方法舍去部分数据,其中又分为使用单一量化参数(quantization parameter)或使用不均勻(non-uniform)量化参数的两种做法。其中单一量化参数的方法对于所有图像或是一个图像的所有区块都以相同的量化参数进行量化。因此传统使用单一量化参数的图像压缩方法有量化参数无法适用于所有图像, 或是无法适用于一个图像中所有区块的问题。而传统使用不均勻量化参数的图像压缩方法则偏重图像中低频的部分,以在编码时能用几乎全部的位来表示低频的部分。然而这种方法失去大多数人眼所能感觉到的中频以及高频图像,例如画面构成较为复杂的部分,而使得失真的图像看起来不自然。此外,部分传统的编码器(encoder)采用前文模式等预测方法,而需要至少暂存图像的一整排的像素才能够进行各种模式下的预测。因此传统的编码器需要大量的储存空间,而使得编码器所需的成本上升。再加上使用者对于图像的分辨率的要求越来越高,亦增加了图像压缩时的负担。 若使用现有的压缩方式,一旦图像的分辨率提高,编码器更得要耗费更大量的储存空间才能存放图像中一整排的像素以压缩图像。换句话说,现有的图像压缩方法具有单一量化参数不适合整个图像、不均勻量化参数过度遗弃图像的中频及高频信息,以及所需暂存空间庞大等问题。

发明内容
为了解决上述问题,本发明提供一种具有可变量化参数的图像压缩方法,其用以处理一图像的多个像素。具有可变量化参数的图像压缩方法包括接收连续的N个像素;以一差异脉冲码调制手段,依据此N个像素的值,得到与此N个像素对应的N个像素差值以及 N个映像差值;依据此N个像素差值,计算得到与此N个像素对应的一量化参考值;依据量化参考值得到与此N个像素对应的一量化参数;以及依据量化参数,编码此N个映像差值。为了压缩整张图像,具有可变量化参数的图像压缩方法另可包括以下步骤以N为单位,持续接收并编码图像的其余的像素,直到压缩完图像的所有像素。其中依据此N个像素差值,计算得到与此N个像素对应的一量化参考值的步骤可包括计算此N个像素差值的绝对值;以及总计此N个像素差值的绝对值的和作为量化参考值。根据本发明的一实施范例,量化参数可为log2(err_Sum/16),其中err_sum为量化参考值。而量化参考值表示此N个映射差值的总和。而差异脉冲码调制手段可包括依据此N个像素的值,得到分别对应于此N个像素的N个像素差值;以及分别对此N个像素差值执行一变换手段,以得到分别对应于N个像素差值的N个映射差值。其中依据此N个像素的值,得到分别对应于此N个像素的N个像素差值的步骤可包括将N个像素中的第一个像素的值P。作为第一个像素差值d。;以及分别计算此N个像素中的第i个像素的值Pi与其前一个像素的值Ph的差,作为其它N-I个像素差值,其中i 为正整数,且0 < i <N。而其中变换手段则可包括当此N个像素差值中的第i个像素差值Cli大于或等于零时,对应的第i个映射差值Iii为像素差值Cli乘以2,其中0 = < i < N ;以及当此N个像素差值中的第i个像素差值Cli小于零时,对应的第i个映射差值Ili为像素差值Cli乘以2再减1。较佳的是,N为大于或等于2的正整数,且N小于图像的一图像宽度。且具有可变量化参数的图像压缩方法可以藉由一微处理器执行。综上所述,具有可变量化参数的图像压缩方法接收图像中N个像素,并根据像素差值获得适合此N个像素的量化参数以进行编码。量化参数系依据此N个像素的图像的复杂度(亦可视为此N个像素的高低频特性),故图像中的每N个像素均可得到合适的量化参数。且在压缩时编码器的缓存器仅需保存此N个像素的值,而能够节省大量的暂存空间。


图1为根据本发明一实施范例的图像的示意图;图2为根据本发明一实施范例的编码器的示意图;图3为根据本发明一实施范例的具有可变量化参数的图像压缩方法的流程图;图4为根据本发明一实施范例的差异脉冲码调制手段的流程图;图5为根据本发明一实施范例的步骤S51的流程图;图6为根据本发明一实施范例的步骤S56的流程图;图7为根据本发明一实施范例的步骤S60的流程图;图8A为根据本发明一实施范例的量化参数的示意图;图8B为根据本发明另一实施范例的量化参数的示意图;以及图9为根据本发明另一实施范例的具有可变量化参数的图像压缩方法的流程图。其中,附图标记20 图像22 处理窗32 缓存器
34差异脉冲码调制模块36 参数产生模块38量化模块110输入输出曲线
具体实施例方式以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域的技术人员了解本发明的技术内容并据以实施,且根据本说明书所公开的内容、权利要求及附图,任何本领域的技术人员可轻易地理解本发明相关的目的及优点。本发明提供一种具有可变量化参数(variable quantization parameter)的图像压缩方法,其用以处理一图像的多个像素,以将图像压缩。具有可变量化参数的图像压缩方法能针对图像中的部分像素的特性,给予其合适的一量化参数,以适当地保存图像的特征。 具有可变量化参数的图像压缩方法可实作于一编码器(encoder),且具有可变量化参数的图像压缩方法可藉由一微处理器执行。请参照图1,其为根据本发明一实施范例的图像的示意图。图像20具有WXL个像素,其中W为图像20的一图像宽度,L为一图像长度。例如图像20可以具有640X480个像素,或是U8X 1 个像素的;则图像宽度W则会是640 (像素)或是128(像素)。由于处于图像20中同一排的像素彼此之间具有强大的关联性,因而可被利用于图像压缩。具有可变量化参数的图像压缩方法可一次选择N个像素并将其暂存以处理之。而选取连续N个像素的步骤可以以一处理窗22实作之。处理窗22的长度为N,被处理窗22 所框选的N个像素便是依具有可变量化参数的图像压缩方法被处理的N个像素。同时参照图2以及图3,其分别为根据本发明一实施范例的编码器的示意图,以及具有可变量化参数的图像压缩方法的流程图。如图2所示,编码器可包括一缓存器(buffer)32、一差异脉冲码调制 (Differential pulse code modulation,DPCM)模块 34、一参数产生模块 36 以及一量化模块38。具有可变量化参数的图像压缩方法首先接收连续的N个像素(步骤S40)。可自图像20中选择N个连续的像素存入缓存器32,处理时再由缓存器32接收此N个像素。更详细地说,图像20可以是被存放于一内存(图中未示)的文件,亦可以是由一图像撷取装置的一感光单元传送的图像数据。因此在由内存或是感光单元等收到的图像20中选取连续的此N个像素后,可以由缓存器32直接接收此N个像素的值Ptl PN_lt)因此具有可变量化参数的图像压缩方法压缩图像20时,仅需要用到处理窗22的 N个像素,而不需用到图像20中的其它像素。因此编码器的缓存器32中亦仅需要存有此N 个像素即可,而不需存放图像20中整排的W个像素。其中N为大于或等于2的正整数,且N小于图像宽度W。为了更有效率地执行具有可变量化参数的图像压缩方法,可以取能整除图像宽度W的数值作为N。换句话说,N能够整除图像20的图像宽度W。例如当图像宽度W为128(像素)时,可取N为16。接收此N个像素之后,以DPCM模块34对此N个像素执行一差异脉冲码调制手段;
差异脉冲码调制模块参数产生模块量化模块输入输出曲线以依据此N个像素的值Ptl Pim,得到对应此N个像素的N个映射差值Iitl Iv1 (步骤S50)。 其中像素的值例如可以是灰阶值、三原色值(RGB value)或是HSL色彩空间的色相(hue)、 饱和度(saturation)、与亮度(lightness)。具有可变量化参数的图像压缩方法并不对像素的值的内容有所限制。请参照图4,其为根据本发明一实施范例的差异脉冲码调制手段的流程图。具有可变量化参数的图像压缩方法利用差异脉冲码调制手段得到对应于处理窗22的N个映像差值Iitl Iv1,以进行压缩。差异脉冲码调制手段可以先依据此N个像素的值Ptl Ph,得到分别对应于此N个像素的N个像素差值Cltl (V1 (步骤S51)。接着再分别对此N个像素差值执行一变换(mapping)手段,以得到分别对应于此N个像素差值的N个映射差值nQ nN_!(步骤 S56)。请配合图4并参照图5以及图6,其分别为根据本发明一实施范例的步骤S51的流程图,以及步骤S56中的变换手段的流程图。于步骤S51中,可依据下述式1以及式2计算得到像素差值Cltl d^。d0 = P0式 1Cli = Pi-PifO < i < N,且 i 为正整数式 2其中Ptl为处理窗22中的N个像素中的第一个像素的值,Pi为处理窗22中的N个像素中的第i个像素的值。而Cltl为对应Ptl的像素差值,Cli为对应Pi的像素差值。式1将N个像素中的第一个像素的值Ptl作为第一个像素差值Cltl (步骤S5》。式2 分别计算此N个像素中的第i个像素的值Pi与其前一个像素的值Pp1的差,作为其它N-I 个像素差值Cl1 (V1,其中0 < i < N(步骤S53)。换句话说,像素差值Cl1 (V1系将相邻的像素的值Ptl Pim两两相减得到。根据本发明的另一实施范例,可保存有图像20中处理窗22的第一个像素的前一个像素的值Ρ-i。而第一个像素差值d。的值即为P。与的差值。在步骤S51得到处理窗22对应的像素差值(Itl C^1之后,变换手段可先逐一判断这些像素差值Cli是否大于或等于0 (步骤S57),再依下述式3以及式4计算得到映像差值
nO nN-I °叫=2Χφ,ifCli 彡 0式 3rij = 2X^-1, if Cli < 0式 4其中Iii为N个映射差值nQ I^1中的第i个像素的值,且0彡i < N。对于大于或等于0的像素差值Cli,式3将像素差值Cli乘以2作为映射差值IV也就是说映射差值Iii为像素差值Cli乘以2 (步骤S58)。而对于小于0的像素差值Cli,式4将像素差值Cli乘以2再减1的值作为映射差值ni。也就是说映射差值Ili为像素差值Cli乘以 2再减1 (步骤S59)。如此一来,便可在步骤S50中依据N个像素的值Ptl Pim,得到对应这N个像素的 N个映射差值Iitl !^。请回到图3。接着编码器的参数产生模块36可依据此N个像素差值dQ C^1,计算得到与此N个像素对应的一量化参考值并传送给量化模块38 (步骤S60)。请参照图7, 其分别为根据本发明一实施范例的步骤S60的流程图。具有可变量化参数的图像压缩方法可依据处理中的此N个像素中相邻的两个像素的差异程度得到量化参考值。换句话说,依据此N个像素的图像复杂度得到量化参考值。 因此可先计算此N个像素差值的绝对值I d01 I (V11 (步骤S6W,再总计此N个像素差值的绝对值IdtlI IcV1I的和作为量化参考值(步骤S64)。依据量化参考值,具有可变量化参数的图像压缩方法可得到与此N个像素对应的一量化参数(步骤S70)。根据本发明的一实施范例,量化参数为log2(err_Sum/16),其中err_sum为量化参考值。而量化参考值系表示此N个映射差值的总和。根据本发明的另一实施范例,量化参数则可为 log2 (err_sum/N)。由上述计算方式可以见悉,量化参考值可代表此N个像素的复杂度。量化参考值越高,表示此N个像素的部分图像具有较多变化。也就是说,此N个像素为转换为频率域的数值后具有较多的高频以及中频特性的部分图像。因此对于具有较高的量化参考值的N个像素,应给予能够保留较多高频与中频特性的量化参数。接着量化模块38便可依据量化参数,编码此N个映像差值(步骤S80)。请参照图8A与图8B,其分别为根据本发明不同实施范例的量化参数的示意图。输入输出曲线110表示为量化参数为0以及5时,输入值与输出值的状况。当量化参数为0时,表示量化参考值非常低。也就是说此N个像素的值很相近,此 N个像素差值的绝对值IdtlI IcV1I都很低。因此在量化时对于较低的输入值(也就是转换后低频的部分)给予高精度的表示空间,而对中高频的部分的变化则大幅省略。相对的, 当量化参数为5时,表示此N个像素中彼此相邻的像素间的差异很大,故此N个像素的图像复杂度较高。对此在进行量化时保留有对于低频、中频以及高频的表示空间,以记录接近实际的映像差值。经量化以及编码后,处理窗22内的N个像素的值Pci-Pim即可被压缩成无失真的编码Ctl Cm。而整个图像20能够被具有可变量化参数的图像压缩方法压缩。请参照图 9,其为根据本发明另一实施范例的具有可变量化参数的图像压缩方法的流程图。执行步骤S40到步骤S80将处理窗22的N个像素压缩后,另可判断是否压缩完图像20的所有像素(步骤S90)。若图像20尚未完全被压缩完成,则接续选取图像20的下N 个连续的像素(步骤S100),并以步骤S50、S60、S70以及S80处理于步骤SlOO中被选取的 N个像素。若图像20的所有像素都完成编码,也就是说图像20已被压缩完成为一压缩图像文件,则可结束。换言之,无失真的图像压缩方法在于步骤S40中被选取的N个像素之后接续选取另外N个像素,且可将另外选取的N个像素作为新的处理窗22在处理之。综上所述,根据本发明的具有可变量化参数的图像压缩方法接收图像中N个像素,并差异脉冲码调制手段得到对应于此N个像素的N个像素差值。根据此N个像素差值可获得适合此N个像素的量化参数,并用以进行编码。由于量化参数系依据此N个像素的图像的复杂度选取,故对于图像中每N个像素均可得到合适的量化参数。且由于在压缩时并不需要用到图像中的其它像素,因此编码器的缓存器仅需保存此N个像素的值,而能够节省大量的暂存空间。
权利要求
1.一种具有可变量化参数的图像压缩方法,用以处理一图像的多个像素,其特征在于, 该具有可变量化参数的图像压缩方法包括接收连续的N个该像素;以一差异脉冲码调制手段,依据该N个像素的值,得到与该N个像素对应的N个像素差值以及N个映像差值;依据该N个像素差值,计算得到与该N个像素对应的一量化参考值; 依据该量化参考值得到与该N个像素对应的一量化参数;以及依据该量化参数,编码该N个映像差值。
2.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,还包括 以N为单位,持续接收并编码该图像的其余的像素,直到压缩完该图像的所有像素。
3.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,N为大于或等于2的正整数,且N小于该图像的一图像宽度。
4.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,该依据该N个像素差值,计算得到与该N个像素对应的一量化参考值的步骤包括计算该N个像素差值的绝对值;以及总计该N个像素差值的绝对值的和作为该量化参考值。
5.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,该量化参数 为log2 ( 量化參考值/16)
6.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,该差异脉冲码调制手段包括依据该N个像素的值,得到分别对应于该N个像素的该N个像素差值;以及分别对该N个像素差值执行一变换手段,以得到分别对应于该N个像素差值的该N个映射差值。
7.如权利要求6所述的具有可变量化参数的图像压缩方法,其特征在于,该依据该N个像素的值,得到分别对应于该N个像素的该N个像素差值的步骤包括将该N个像素中的第一个该像素的值P。作为第一个该像素差值d。;以及分别计算该N个像素中的第i个该像素的值Pi与其前一个该像素的值P"的差,作为其它N-I个该些像素差值,其中i为正整数,且O < i < N。
8.如权利要求6所述的具有可变量化参数的图像压缩方法,其特征在于,该变换手段包括当该N个像素差值中的第i个该像素差值Cli大于或等于零时,对应的第i个该映射差值Iii为该像素差值Cli乘以2,其中0彡i <N;以及当该N个像素差值中的第i个该像素差值Cli小于零时,对应的第i个该映射差值Ili为该像素差值Cli乘以2再减1。
9.如权利要求1所述的具有可变量化参数的图像压缩方法,其特征在于,该方法藉由一微处理器执行。
全文摘要
本发明公开了一种具有可变量化参数的图像压缩方法,用以处理图像的多个像素。具有可变量化参数的图像压缩方法包括接收连续的N个像素;以差异脉冲码调制手段,依据N个像素的值,得到与N个像素对应的N个像素差值以及N个映像差值;依据N个像素差值,计算得到与N个像素对应的量化参考值;依据量化参考值得到与N个像素对应的量化参数;以及依据量化参数,编码N个映像差值。
文档编号H04N7/26GK102271252SQ20101019899
公开日2011年12月7日 申请日期2010年6月4日 优先权日2010年6月4日
发明者周宏隆, 詹振宏 申请人:华晶科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1