一种jpeg编码方法和设备的制作方法

文档序号:7744266阅读:132来源:国知局
专利名称:一种jpeg编码方法和设备的制作方法
技术领域
本发明涉及一种JPEG编码方法和设备。
背景技术
JPEG(Joint Photographic Experts Group,联合图像专家组)编码标准自问世以来,迅速成为各种数字相机、手机、摄像头等图像获取装置首选的图像编码标准格式,现已被业界广泛接受。通常,JPEG编码一般都会基于离散余弦变换(DCT,Discrete Cosine Transform) 0DCT是一种空间变换,其最大的特点是对于一般的图像都能够将图像块的能量集中于少数低频DCT系数上。这样,就可能只编码和传输少数系数而不严重影响图像质量。 DCT不能直接对图像产生压缩作用,但对图像的能量具有很好的集中效果,为压缩打下了基础。例如一帧图像的内容以不同的亮度和色度像素分布体现出来,而这些像素的分布依图像内容而变,毫无规律可言。通过离散余弦变换(DCT),像素分布就有了规律。代表低频成份的量分布于左上角,而越高频率成份越向右下角分布。然后根据人眼对高频分量的失真不敏感的视觉特性,去掉一些不影响图像基本内容的细节(高频分量),从而达到压缩码率的目的。离散余弦变换与其他方式结合进行压缩编码,已广泛应用于各种图像压缩编码标准中。例如,基于DCT的JPEG编码可以采用这样的步骤将图像分为8x8像素大小的块; 对每个图像块进行DCT变换,得到每个像素的DCT系数;对DCT系数进行量化;对量化后的 DCT系数进行“之”字形扫描,再进行熵编码。然而,现有技术中的JPEG编码过程,对每个DCT 系数都需要计算,共计8x8 = 64个。而且在量化之后,其中一些相应于图像的高频分量的 DCT系数会变为零。例如,尤其对于图像中细节比较少的平坦区域,例如天空等,量化后变为零的DCT系数占的比例非常高。上述这类量化后为零的DCT系数在DCT变换阶段及量化阶段占用了很多运算单元,例如乘法器等,以及运算时间,并且增加了 JPEG编码器的功耗。

发明内容
本发明提供了一种能解决以上问题的JPEG编码方法和设备。在第一方面,提供了一种JPEG编码方法,包括下列步骤提取包含数个图像块的待编码图像中的边缘信号;将各个图像块中所述边缘信号与阈值进行比较,根据比较结果将所述图像块划分成多个类型;根据与所述多个类型相对应的DCT转换模板,对所述图像块中的一部分像素块进行DCT转换以得出其DCT系数,并且直接将所述图像块中的其他像素块的DCT系数置为零;以及对得出的DCT系数进行量化。优选地,所述边缘信号包括水平边缘信号和竖直边缘信号,所述阈值包括第一阈值T、第二阈值TO和第三阈值Tl,图像块类型划分包括下列一个或多个判断如果S小于或等于第一阈值T,则将所述图像块划分到图像平坦的类型;如果S大于第一阈值T并且SO 小于或等于第二阈值T0,则将所述图像块划分到水平边较弱的类型;如果S大于第一阈值T并且Sl小于或等于第三阈值Tl,则将所述图像块划分到竖直边较弱的类型;其中,SO是所述图像块中水平边缘信号的绝对值之和,Sl是所述图像块中竖直边缘信号的绝对值之和,S 是SO和Sl之和。优选地,如果S大于第一阈值T并且SO大于第二阈值TO并且Sl大于第三阈值 Tl,则将所述图像块划分到细节丰富的类型,并对其中所有的像素块进行DCT转换。优选地,所述图像块是8 X 8像素大小。优选地,通过对大量JPEG图像进行统计而得到所述阈值。优选地,采用Sobel算子来提取JPEG图像中的边缘信号。在第二方面,提供了一种JPEG编码设备,包括用于提取包含数个图像块的待编码图像中的边缘信号的模块;用于将各个图像块中所述边缘信号与阈值进行比较,根据比较结果将所述图像块划分成多个类型的模块;用于根据与所述多个类型相对应的DCT转换模板,对所述图像块中的一部分像素块进行DCT转换以得出其DCT系数,并且直接将所述图像块中的其他像素块的DCT系数置为零的模块;以及用于对得出的DCT系数进行量化的模块。本发明通过边缘统计信息来判断取样图像块是处于细节较多的区域还是细节较少的区域,从而在对当前图像进行JPEG编码的时候,选择适当位置、适当数量的像素进行 DCT系数计算,避免了不必要的DCT的计算和量化,降低了 JPEG编码器的复杂度和功耗。


下面将参照附图对本发明的具体实施方案进行更详细的说明,在附图中图1是根据本发明一个实施例的DCT转换量化的流程图;图2示出了常用的两种Sobel算子的示意图;图3示出了两种分别只包含水平和数值方向边缘的图像;图4是针对图像较为平坦的图像块的DCT转换模板的示意图;图5是针对水平边较弱的图像块的DCT转换模板的示意图;以及图6是针对竖直边较弱的图像块的DCT转换模板的示意图。
具体实施例方式图1是根据本发明一个实施例的DCT转换量化的流程图。在步骤101,提取待编码图像中的边缘信号,待编码图像中包括若干个图像块。在步骤102,将各个图像块中的边缘信号与阈值的进行比较,根据比较结果将图像块分成多个类型。在步骤103,根据上述几种类型的判断结果,选取不同的模板对图像块中的一部分像素块进行DCT转换,计算出它们的DCT系数。图像块中不进行DCT转换的像素块的DCT
系数直接置为零。在步骤104,对最终得出的所有DCT系数进行量化。下面,对根据本发明一个实施例的DCT转换量化的作一个详细的描述。首先,需要提取图像中的边缘信号。在图像处理流程中,一般都存在图像锐度增强的环节,用于适当提升图像的锐度(sharpness)。在这一环节中,一般采用各种高通(high-pass)滤波器来提取图像中的高频信号,以叠加到原图像中。高通滤波器有多种不同的形式,例如有各向同性的LoG滤波器, 也有专门针对某个方向的边缘而设计的滤波器,如Sobel算子图2示出了常用的两种Sobel算子的示意图,其中,左边的Sobel算子是专用来提取水平边的,右边的Sobel算子是用来提取竖直边的。图3示出了两种分别只包含水平和数值方向边缘的图像。在图3中,左侧图像只包含水平方向的边,而没有竖直方向的边,因此其水平方向的高频分量基本为O ;右侧图只包含竖直方向的边,而没有水平方向的边,因此其竖直方向的高频分量基本为O。当然,实际图像中的情况一般都会比图3更加复杂,但是在某些情况下仍然会存在与图3类似的图样。进而,在DCT变换系数中,同样也包含水平、竖直等不同方向的各种频率分量,这在一定程度上与图3的情况存在联系。因此,通过锐度增强处理,提取待编码图像中的边缘信号,边缘信号包括水平边缘信号和竖直边缘信号。然后,求取各个图像块中的水平边缘信号的绝对值之和S0,竖直边缘信号的绝对值之和Si,并将SO和Sl累加得到S。所述图像块通过对待编码图像进行取样得到,例如可以是4X4、8X8、8X16、 16X16等像素大小的图像块。这些图像块代表了图像帧各像素的灰度值,它们将依序进行 DCT转换,以便分别将其由时间域转换为频率域的DCT系数块。接下来,根据图像块边缘信号与阈值的关系,将图像块划分成多个不同的类型。例如,如果S小于或等于阈值T,则认为该图像块属于图像较为平坦的类型;如果S 大于阈值T并且SO小于或等于阈值T0,则认为该图像块属于水平边较弱的类型;如果S大于阈值T并且Sl小于或等于阈值Tl,则认为该图像块属于竖直边较弱的类型;如果S大于阈值T并且SO大于阈值TO并且Sl大于阈值Tl,则认为该图像块属于细节丰富的类型;其中,SO是所述图像块中水平边缘信号的绝对值之和,Sl是所述图像块中竖直边缘信号的绝对值之和,S是SO和Sl之和。阈值T、TO和Tl可以通过对大量图片进行统计而得到,也可以根据经验值直接设定。应当理解,上述的关于图像块划分仅仅是举例,而不是一定将其限制于上述判断顺序。例如,也可以先判断图像块是否属于水平边较弱的类型,或者先判断图像块是否属于竖直边较弱的类型,或者先判断图像块是否属于细节丰富的类型,如果不符合条件,再继续判断是否符合其中的任意一个条件,直至为其划分出类型为止。还应当理解,边缘信号与阈值相等的关系也可以划分到其他的判断条件中,而不应该限制于上述例子。在完成图像块类型划分之后,就可以选取不同的模板对其中的像素块进行DCT转换,从而计算出其DCT系数。对图像细节丰富的图像块,计算所有64个DCT系数;图4是针对图像较为平坦的图像块的DCT转换模板的例子。对图像较为平坦的图像块,按照事先设计的转换模板,只计算其中阴影部分的DCT 系数,非阴影区域的DCT系数直接置为零。
图5是针对水平边较弱的图像块的DCT转换模板的例子。对水平边较弱的图像块,按照事先设计的转换模板,只计算其中阴影部分的DCT 系数,非阴影区域的DCT系数直接置为零。图6是针对竖直边较弱的图像块的DCT转换模板的例子。对水平边较弱的图像块,按照事先设计的转换模板,只计算其中阴影部分DCT系数,非阴影区域的DCT系数直接置为零。最后,对得出的DCT系数进行量化,这样就完成了 DCT的转换和量化。综上所述,通过边缘统计信息来判断取样图像块是处于细节较多的区域还是细节较少的区域,可以辅助在对当前图像进行JPEG编码的时候,选择图像块中适当位置、适当数量的像素进行DCT系数计算,而不必计算每个取样图像块中的所有的DCT系数值。显而易见,在不偏离本发明的真实精神和范围的前提下,在此描述的本发明可以有许多变化。因此,所有对于本领域技术人员来说显而易见的改变,都应包括在本权利要求书所涵盖的范围之内。例如,随着所设定的阈值的不同,DCT系数的转换模板也可能发生变化,而不是限制于说明书中所枚举的模板。本发明所要求保护的范围仅由所述的权利要求书进行限定。
权利要求
1.一种JPEG编码方法,包括下列步骤提取包含数个图像块的待编码图像中的边缘信号;将各个图像块中所述边缘信号与阈值进行比较,根据比较结果将所述图像块划分成多个类型;根据与所述多个类型相对应的DCT转换模板,对所述图像块中的一部分像素块进行 DCT转换以得出其DCT系数,并且直接将所述图像块中的其他像素块的DCT系数置为零;以及对得出的DCT系数进行量化。
2.根据权利要求1所述的方法,其中,所述边缘信号包括水平边缘信号和竖直边缘信号,所述阈值包括第一阈值T、第二阈值TO和第三阈值Tl,图像块类型划分包括下列一个或多个判断如果S小于或等于第一阈值T,则将所述图像块划分到图像平坦的类型;如果S大于第一阈值T并且SO小于或等于第二阈值T0,则将所述图像块划分到水平边较弱的类型;如果S大于第一阈值T并且Sl小于或等于第三阈值Tl,则将所述图像块划分到竖直边较弱的类型;其中,SO是所述图像块中水平边缘信号的绝对值之和,Sl是所述图像块中竖直边缘信号的绝对值之和,S是SO和Sl之和。
3.根据权利要求2所述的方法,还包括如果S大于第一阈值T并且SO大于第二阈值TO并且Sl大于第三阈值Tl,则将所述图像块划分到细节丰富的类型,并对其中所有的像素块进行DCT转换。
4.根据权利要求1所述的方法,其中,所述图像块是8X8像素大小。
5.根据权利要求1的方法,其中,通过对大量JPEG图像进行统计而得到所述阈值。
6.根据权利要求1所述的方法,其中,采用Sobel算子来提取JPEG图像中的边缘信号。
7.—种JPEG编码设备,包括用于提取包含数个图像块的待编码图像中的边缘信号的模块;用于将各个图像块中所述边缘信号与阈值进行比较,根据比较结果将所述图像块划分成多个类型的模块;用于根据与所述多个类型相对应的DCT转换模板,对所述图像块中的一部分像素块进行DCT转换以得出其DCT系数,并且直接将所述图像块中的其他像素块的DCT系数置为零的模块;以及用于对得出的DCT系数进行量化的模块。
全文摘要
本发明涉及一种JPEG编码方法和设备,方法包括提取包含数个图像块的待编码图像中的边缘信号;将各个图像块中所述边缘信号与阈值进行比较,根据比较结果将所述图像块划分成多个类型;根据与所述多个类型相对应的DCT转换模板,对所述图像块中的一部分像素块进行DCT转换以得出其DCT系数,并且直接将所述图像块中的其他像素块的DCT系数置为零;以及对得出的DCT系数进行量化。本发明通过边缘统计信息来判断取样图像块是处于细节较多的区域还是细节较少的区域,从而在对图像进行JPEG编码的时候,选择图像块中适当位置、适当数量的像素进行DCT系数计算,避免了不必要的DCT的计算和量化,降低了JPEG编码器的复杂度和功耗。
文档编号H04N1/41GK102202217SQ20101013066
公开日2011年9月28日 申请日期2010年3月22日 优先权日2010年3月22日
发明者王浩 申请人:北京中星微电子有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1