图像压缩方法、图像压缩装置和移动终端的制作方法

文档序号:8002119阅读:214来源:国知局
专利名称:图像压缩方法、图像压缩装置和移动终端的制作方法
技术领域
本发明涉及图像处理技术领域,更为具体地,涉及一种通过划分相似颜色区域调整用于图像压缩的颜色数来进行图像压缩的方法和装置,以及具有该装置的移动终端。
背景技术
随着信息技术的发展,人们越来越多地使用图像甚至视频等更加生动、直观的形式替代传统的文字来记录和传递信息,并且信息量也越来越大,由于图像和视频本身的数据量非常大,给存储和传输带来了很多不便,因此,无论传输或存储都需要对数据进行有效的压缩。
图像压缩是数据压缩技术在数字图像上的应用,它的目的是减少图像数据中的冗余信息,从而利用更加高效的格式存储和传输数据,这对于数字图像信息在网络上实现快速传输和实时处理具有重要的意义。
图像数据之所以能被压缩,就是因为数据中存在着冗余。图像数据的冗余主要表现为图像中相邻像素间的相关性引起的空间冗余;图像序列中不同帧之间存在相关性引起的时间冗余;不同彩色平面或频谱带的相关性引起的频谱冗余。数据压缩的目的就是通过去除这些数据冗余来减少表示数据所需的比特数。
在图像压缩的应用中,最理想的是图像容量小、质量高(清晰)压缩,这需要根据不同图像的性质选择不同的输出格式。互联网上使用的图像格式主要有GIF、PNG和JPG三种。其中,JPG是一种有损压缩格式,容易造成图像数据的损伤,适用于色彩复杂、风景类大图的压缩存储。GIF和PNG是基于调色板技术的图像压缩格式,进行图像压缩时所采用的颜色数是一个很重要的压缩参数。对于GIF和PNG格式的图像来说,适当地调整图像颜色数, 可以在图像效果大致不变的情况下有效减少图像文件的大小。
目前,在计算机图像转换中一般都是根据预先设置的颜色数参数来压缩图像,而不是根据图像自身特点来选择合适的颜色数参数。在这种图像压缩方式下,由于不考虑图像本身的颜色数,而是以一个预置的统一压缩参数来压缩颜色数不同甚至相差很大的图像,从而容易造成要么颜色数设置过高而压缩效率不高、要么颜色数太低而显示效果不好, 因此不能在文件大小和现实效果之间达到很好的平衡。发明内容
鉴于上述问题,本发明的目的是提供一种通过划分相似颜色区域来调整用于图像压缩的颜色数来进行图像压缩的图像压缩方法和图像压缩装置。
此外,本发明的另一目的是提供一种具有上述图像压缩装置的移动终端。
根据本发明的一个方面,提供了一种图像压缩方法,包括通过对待压缩图像进行图像边缘检测,确定所述待压缩图像的非边缘部分;基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成;将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色;基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色;以及利用合并后的颜色,对所述待压缩图像进行压缩。
在上述方面的一个或多个示例中,基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域可以包括从该非边缘部分的像素中选择一个像素;从所选择的像素开始,搜索与该像素的颜色相似且连续相邻的像素;将所搜索出的像素和所选中的像素组成为像素连通区域;以及在剩余的未被组成像素连通区域的像素中选择另一像素,重复上述像素连通区域组成过程,直到该非边缘部分中的像素都被划分到像素连通区域中为止。
在上述方面的一个或多个示例中,对所述待压缩图像进行的图像边缘检测可以采用Sobel边缘检测算法。
在上述方面的一个或多个示例中,基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并的步骤可以包括从所述多个像素连通区域中选择一个像素连通区域;在所述多个像素连通区域中的其它像素连通区域中,确定与所选中的像素连通区域的颜色相似的像素连通区域;将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色;以及在剩余的未被合并的像素连通区域中选择另一像素连通区域,重复上述过程,直到完成对所有像素连通区域的颜色合并处理。
在上述方面的一个或多个示例中,所述颜色的相似性可以通过计算两个颜色之间的差值来确定。
在上述方面的一个或多个示例中,如果两个颜色之间的差值小于预设阈值,则该两个颜色是相似的。
根据本发明的另一方面,提供了一种图像压缩装置,包括非边缘部分确定单元, 用于通过对待压缩图像进行图像边缘检测,确定所述待压缩图像的非边缘部分;划分单元, 用于基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成;颜色设置单元,用于将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色;颜色合并单元,用于基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色;以及压缩单元,用于利用合并后的颜色,对所述待压缩图像进行压缩。
在上述方面的一个或多个示例中,所述像素连通区域划分单元可以包括第一选择模块,用于从该非边缘部分的像素中选择一个像素;搜索模块,用于从所选择的像素开始,搜索与该像素的颜色相似且连续相邻的像素;组成模块,用于将所搜索出的像素和所选中的像素组成为像素连通区域;以及第一判断模块,用于判断是否该非边缘部分中的所有像素都被划分,其中,在所述第一判断模块判断为还存在剩余像素未被划分时,针对剩余像素,重复执行所述第一选择模块、搜索模块以及组成模块的处理。
在上述方面的一个或多个示例中,所述颜色合并单元可以包括第二选择模块,用于从所述多个像素连通区域中选择一个像素连通区域;确定模块,用于在所述多个像素连通区域中的其它像素连通区域中,确定与所选中的像素连通区域的颜色相似的像素连通区域;颜色修改模块,用于将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色;以及第二判断模块,用于判断是否所有像素连通区域都经过颜色合并处理,其中,在所述第二判断模块判断为还存在剩余的未经过颜色合并处理的像素连通区域时,针对所述剩余的像素连通区域,重复执行所述第二选择模块、确定模块和颜色修改模块的处理。
在上述方面的一个或多个示例中,所述颜色的相似性可以通过计算两个颜色之间的差值来确定。
在上述方面的一个或多个示例中,如果两个颜色之间的差值小于预设阈值,则该两个颜色是相似的。
根据本发明的另一方面,提供了一种移动终端,包括如上所述的图像压缩装置。
利用上述根据本发明的图像压缩方法及图像压缩装置,通过划分具有相似颜色的像素连通区域并合并具有像素颜色的像素连通区域的颜色来自动调整用于图像压缩的颜色数,并利用调整后的颜色数进行压缩,能够结合待压缩图像的本身特点,有针对性的确定图像颜色数,从而在图像效果基本不变的情况下有效减少图像文件大小,在图像文件大小和展现效果之间达到较好的平衡。上述方法和装置尤其适用于海量图像存储或低速网络等对图像压缩率要求比较高的应用环境。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。 然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。


根据下述参照附图进行的详细描述,本发明的上述和其他目的、特征和优点将变得更加显而易见。在附图中
图1为根据本发明的第一实施例的图像压缩方法的流程图2示出了像素连通区域划分的过程的一个示例的流程图3示出了像素连通区域颜色合并的过程的一个示例的流程图4a、图仙、图如、图4d和图如为应用本发明的第一实施例的图像压缩方法进行 GIF图像压缩的一个示例的示意图5a、图恥和图5c为应用本发明的第一实施例的图像压缩方法进行GIF图像压缩的另一示例的示意图6为根据本发明的第一实施例的图像压缩装置的方框示意图7示出了图6中的划分单元的一个示例的方框示意图8示出了图6中的颜色合并单元的一个示例的方框示意图9示出了根据本发明的第二实施例的图像压缩方法的流程图10示出了根据本发明的第二实施例的图像压缩装置的方框示意图;和
图11示出了根据本发明的具有图6或图10中的图像压缩装置的移动终端的方框示意图。
在所有附图中相同的标号指示相似或相应的特征或功能。
具体实施方式
以下将结合附图对本发明的具体实施例进行详细描述。
(第一实施例)
图1示出了根据本发明的第一实施例的图像压缩方法的流程图。
如图1所示,在对图像进行压缩的过程中,为了根据图像自身的颜色数设置合适的压缩颜色参数,首先需要对待压缩图像进行图像边缘检测来检测待压缩图像的边缘,从而确定待压缩图像的非边缘部分(步骤S110)。
边缘是图像最基本的特征,指的是图像周围像素灰度有阶跃变化或屋顶状变化的像素集合,它存在于目标与背景、目标与目标、区域与区域、基元与基元之间,是图像分割、 识别的重要依据。
由于GIF和PNG的图像格式适合压缩线条型的简单图像,互联网上的GIF和PNG 格式图像一般都用来存储卡通、标志、按钮等简单图像,而很少会用来存储风景、人物等照片图像。从人眼观看效果来看,GIF和PNG格式图像颜色数一般都不会太多,如新浪标志只有红、黑、白三色,百度标志只有红、蓝、白三色。但是从计算机图像处理的角度看,这种GIF 和PNG格式的图像的边缘部分需要一些过渡颜色使边缘过渡平滑(即边缘抗锯齿),这种过度颜色会导致图像颜色总数比较大。如果在图像边缘部分不使用过渡颜色,会使图像边缘部分比较生硬,但图像效果基本上保持不变。因此,需要对图像边缘进行检测以找出图像的边缘部分,并对图像的边缘部分和非边缘部分采用不同的处理方法,在压缩过程中忽略这种边缘的过渡颜色,从而确定图像压缩所需要的最佳的图像颜色数。
图像边缘检测是一种定位二维或三维图像中的对象的边缘的技术,一般包括滤波、增强、检测和定位四个步骤。现有图像处理技术中有很多图像边缘检测算法可供选择, 在本发明的一个优选实施方式中,采用Sobel(索贝尔)边缘检测算法,Sobel边缘检测算法的优点在于检测速度快,对噪声具有平滑作用和一定的抑制能力,能够实现比较好的边缘检测效果。
在确定了待压缩图像的边缘部分和非边缘部分之后,对于其中的非边缘部分,基于所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,其中每个像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色像素且连续相邻的像素组成(步骤S120)。这里,术语“连续相邻”的含义是指假设第一像素与第二像素相邻,第二像素又与第三像素相邻,则第二像素和第三像素被认为是与第一像素连续相邻的像素。关于如何在非边缘部分中进行像素连通区域划分,将在下面参照图 2进行描述。
此外,对于相似颜色的判断可以通过计算两个颜色之间的差值来实现,如果两个颜色之间的差值小于一预设阈值,则可以认为这两个颜色是相似的。预设阈值的取值范围可以根据具体的图像压缩要求灵活设定。在本发明的一个优选实施方式中,采用abs函数确定两个颜色之间的相似性,abs是取绝对值的函数。具体地,作为示例,计算机中通常使用 32位二进制数表示一个像素,分别用8位表示红、蓝、绿和透明度。假设像素1为(rl,gl,bl,al),像素 2 为(r2,g2,b2, a2),两个颜色的差值为 abs (rl_r2) +abs (gl_g2) +abs (bl_b2 )+abS(al-a2)。如果预设阈值为32,则当两个颜色的差值小于32认为是相似颜色。对于待压缩图像的边缘部分而言,由于边缘部分主要由过渡色组成,因此在确定相似颜色区域时不考虑边缘部分。
在将所确定出的非边缘部分划分为多个像素连通区域后,将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色(步骤S130)。
然后,基于所划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色。关于像素连通区域的颜色合并处理过程将在下面参照图3进行说明。
在进行颜色合并处理后,利用合并处理后所得到的各个像素连通区域的颜色,对所述待压缩图像进行压缩(步骤S150)。具体地,利用各个像素连通区域的颜色,针对所述待压缩图像中的对应像素连通区域进行图像压缩,由此实现图像压缩过程。
图2示出了像素连通区域划分的过程的一个示例的流程图。
如图2所示,首先,在步骤S121中,从所确定的非边缘部分中的未被划分的像素中选择一个像素,该像素可以是任意选择的,例如,任意选定基础像素A。此外,在第一次选择时,所述未被划分的像素是该非边缘部分中的所有像素。
然后,在步骤S123中,从所选择的像素(像素A)开始,在所述未被划分的像素中搜索与该选中的像素颜色相似且连续相邻的像素。关于颜色相似以及连续相邻的定义以及确定过程,如同上面针对步骤S120中的描述。
在搜索出颜色像素且连续相邻的像素后,在步骤S125,将所搜索出的像素和所选中的像素组成为像素连通区域。
然后,在步骤S127中,判断是否该非边缘部分中的所有像素都被划分。如果都被划分,则流程结束,并返回到步骤S130。否则,流程将返回到步骤S121,在剩余的未被划分的像素中选择另一像素(例如,像素B)作为基础像素,重复上述过程,直到所有像素都被划分为止。
图3示出了像素连通区域颜色合并的过程的一个示例的流程图。
如图3所示,首先,在步骤S131中,从所述多个像素连通区域中的未被合并的像素连通区域中选择一个像素连通区域,例如选择像素连通区域1。
然后,在步骤S133,确定与所选中的像素连通区域颜色相似的像素连通区域。具体地,将所选择的像素连通区域的颜色与所有其它像素连通区域的颜色进行比较,也就是,将所选择的像素连通区域所基于的基础像素的颜色(例如,像素连通区域1的基础像素的颜色)与其它像素连通区域所基于的基础像素的颜色进行比较,如果相似,则认为两个像素连通区域的颜色相似。否则,则认为两个像素连通区域的颜色不相似。
在确定出颜色相似的像素连通区域后,在步骤S135,将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色。
然后,在步骤S137中,确定所述像素连通区域的颜色是否都经过颜色合并处理。 如果都经过颜色合并处理,则流程结束,并返回到步骤S150。否则,在剩余的未被合并的像素连通区域中选择另一像素连通区域,重复上述过程,直到完成对所有像素连通区域的颜色合并处理。
图如、图4b、图如、图4d和图如为应用本发明的第一实施例的图像压缩方法进行 GIF图像压缩的一个示例的示意图。
图如是一个图标的GIF图像效果、颜色数和文件大小的比较列表,如图如所示, 随着图像颜色数的逐渐减少,图像文件大小逐渐减小,并且图像的边缘逐渐生硬,但是在4 色以上的图像效果基本不变。图4b为对图如所示的图像的原图(该原图并无固定颜色数, 但GIF格式只支持最多256色,PNG和JPG可支持更多颜色)进行Sobel边缘检测所得到的效果示意图,其中的镂空的部分表示边缘部分,颜色填充部分为非边缘部分。在确定了该图像的边缘部分和非边缘部分之后,对非边缘部分进行相似颜色的区域连通之后,可以得到如图如所示的图像,其中一个颜色表示一个相似颜色的连通区域,不表示实际的颜色, 其中每一个连通区域的颜色作为第一压缩列表中的一项。对所有连通区域中的颜色(即第一压缩列表)进行相似颜色的合并,就可以得到最终的图像压缩颜色列表,其中直观的颜色数如图4d所示;在图4d所示的实施方式中,最终得到的适合颜色数为5,其中不包括边缘部分,图4d中的颜色只表示适合颜色数的一种,不表示实际的颜色。最终,使用这5种颜色来压缩该图像,就可以得到文件大小为793字节的压缩图像,其显示效果如图如所示。
图5a、图恥和图5c为应用本发明的第一实施例的图像压缩方法进行GIF图像压缩的另一示例的示意图。
图如示出了另外一个GIF图片的图像效果、颜色数和文件大小的比较列表,如图 5a所示,随着图像颜色数的逐渐减少,图像文件大小逐渐减小,并且图像的显示效果逐渐变差,但是在16色以上的图像效果差别不是很明显。
对图fe中的图像进行边缘检测(对原图进行分析,该原图并无固定颜色数)、划分相似颜色的连通区域、合并相似颜色之后,会得到如图恥所示的分析结果,其中得到的适合颜色数为11,根据该适合颜色数对图像进行压缩,可以得到文件大小为1956字节的压缩图像,其显示效果如图5c所示。
在本实施例中,利用这种针对具体的图像颜色特征确定压缩用的图像颜色数的方法,能够结合待压缩图像的本身特点,有针对性的确定图像颜色数。在海量图像存储或低速网络等对图像压缩率要求比较高的场合,如果能针对每个图像选择合适的颜色数来压缩, 可以在图像效果基本不变的情况下有效减少图像文件大小,在图像文件大小和展现效果之间达到较好的平衡。
如上参照图1到图5c描述了根据本发明的第一实施例的图像压缩方法。根据本发明的上述实施例的图像压缩方法,可以采用软件实现,也可以采用硬件实现,或者采用软件和硬件组合的方式实现。
图6示出了根据本发明的第一实施例的图像压缩装置600的方框示意图。如图6 所示,图像压缩装置600包括非边缘部分确定单元610、像素连通区域划分单元620、颜色设置单元630、颜色合并单元640以及压缩单元650。
在对图像进行图像颜压缩时,非边缘部分确定单元610通过对待压缩图像进行图像边缘检测,确定所述待压缩图像的非边缘部分。像素连通区域划分单元620基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域, 所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成。然后,颜色设置单元630将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色。颜色合并单元640基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色。压缩单元650利用合并后的颜色,对所述待压缩图像进行压缩。
在本实施例的一个示例中,如图7所示,所述像素连通区域划分单元620还可以包括第一判断模块621、第一选择模块623、搜索模块625以及组成模块627。
第一判断模块621用于判断是否该非边缘部分中的所有像素都被划分。在被判断为未被划分时,所述第一选择模块623从该非边缘部分中的剩余未被划分的像素中选择一个像素。然后,搜索模块625从所选择的像素开始,搜索与该像素的颜色相似且连续相邻的像素。组成模块627将所搜索出的像素和所选中的像素组成为像素连通区域。这里,在所述第一判断模块判断为还存在剩余像素未被划分时,针对剩余像素,重复执行所述第一选择模块、搜索模块以及组成模块的处理。
此外,在本实施例的另一示例中,所述像素连通区域划分单元620还可以包括相似颜色判断模块(未示出),用于对像素连通区域的颜色进行相似性判断。关于如何判断颜色相似,在上面针对方法的描述中已经详细描述。
在本实施例的一个示例中,如图8所示,所述颜色合并单元640还可以包括第二判断模块641、第二选择模块643、确定模块645以及颜色修改模块647。
第二判断模块,用于判断是否所有像素连通区域都经过颜色合并处理。在判断为没有都经过颜色合并处理后,第二选择模块643从所述多个像素连通区域中的剩余未被处理的像素连通区域中选择一个像素连通区域。确定模块645在所述多个像素连通区域中的其它像素连通区域中,确定与所选中的像素连通区域的颜色相似的像素连通区域。然后,颜色修改模块647将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色。其中,在所述第二判断模块判断为还存在剩余的未经过颜色合并处理的像素连通区域时,针对所述剩余的像素连通区域,重复执行所述第二选择模块、 确定模块和颜色修改模块的处理。
(第二实施例)
图9示出了根据本发明的第二实施例的图像压缩方法的流程图。
如图9所示,首先,在步骤S910中,对待压缩图像进行图像边缘检测,确定该待压缩图像的非边缘部分。
然后,在步骤S920中,对于所确定出的非边缘部分,基于该非边缘部分中的各像素的像素颜色,将该非边缘部分中的像素成组为多个相似颜色像素集合,每个相似颜色像素集合的颜色是从该集合中的像素颜色中选出的一种颜色。在本实施例的一个示例中,在每个非边缘部分的所述成组的多个相似颜色像素集合中,任意两个相似颜色像素集合中的任意两个像素的像素颜色差都大于或等于所述预定阈值,并且任意相似颜色像素集合中的任意两个像素的像素颜色的差异都小于所述预定阈值。这可以通过对图像中的所有像素两两比较,如果都小于阈值,则认为是颜色相似的像素,成组在同一像素集合中。
此外,在进行像素集合成组时,还可以包括对于所述多个相似颜色像素集合中的每个,如果该集合中的两个或更多个像素相邻,则将该两个或更多个像素连通为一个像素区域;以及从该两个或更多个像素的像素颜色中选择出一个像素颜色,作为该像素区域的颜色。在如上成组为多个相似颜色像素集合后,在步骤S930中,对于每个相似颜色集合,从该集合中选择一个像素的颜色,作为该像素集合的颜色。然后,在步骤S940中,利用所设置的颜色,对图像进行压缩。图10示出了根据本发明的第二实施例的图像压缩装置1000的方框示意图。如图10所示,图像压缩装置1000包括非边缘部分确定单元1010、像素集合划分单元1020、颜色设置单元1030以及压缩单元1040。在进行图像压缩时,非边缘部分确定单元1010对待压缩图像进行图像边缘检测, 确定该待压缩图像的非边缘部分。对于所确定出的非边缘部分,像素集合划分单元基于该非边缘部分中的各像素的像素颜色,将该非边缘部分中的像素成组为多个相似颜色像素集合,每个相似颜色像素集合的颜色是从该集合中的像素颜色中选出的一种颜色。对于每个相似颜色集合,颜色设置单元1030从该集合中选择一个像素的颜色,作为该像素集合的颜色。然后,压缩单元1040利用所设置的颜色,对图像进行压缩。在本实施例的一个示例中,像素集合划分单元1020还可以包括计算模块,用于计算图像中的所有像素两两之间的颜色差;以及相似颜色判断模块,用于基于两个颜色之间的颜色差,判断该两个颜色是否是相似颜色,其中,在所述颜色差小于预定阈值时,所述相似颜色判断模块判断该两个颜色是相似颜色。在本实施例的另一示例中,所述像素集合成组单元1020还可以包括像素区域连通模块,用于对于所述多个相似颜色像素集合中的每个,如果该集合中的两个或更多个像素相邻,则将该两个或更多个像素连通为一个像素区域;以及像素区域颜色生成模块,用于从该两个或更多个像素的像素颜色中选择出一个像素颜色,作为该像素区域的颜色。图11示出了根据本发明的具有图6或图10中的图像压缩装置600/1000的移动终端10的方框示意图。此外,典型地,本发明所述的移动终端可为各种手持终端设备,例如手机、个人数字助理(PDA)等,因此本发明的保护范围不应限定为某种特定类型的移动终端。此外,根据本发明的方法还可以被实现为由CPU执行的计算机程序。在该计算机程序被CPU执行时,执行本发明的方法中限定的上述功能。此外,上述方法步骤以及系统单元也可以利用控制器(例如,处理器)以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。此外,应该明白的是,本文所述的计算机可读存储设备(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM (DRAM)、动态RAM (DRAM)、同步DRAM (SDRAM)、 双数据速率SDRAM (DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接 RambusRAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模
1块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、 分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP核、或任何其它这种配置。结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质, 该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路 (DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件, 则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外先、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘 (DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。如上参照附图以示例的方式描述根据本发明的图像压缩方法、图像压缩装置以及具有该图像压缩装置的移动终端。但是,本领域技术人员应当理解,对于上述本发明所提出的图像压缩方法、图像压缩装置以及移动终端,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。
权利要求
1.一种图像压缩方法,包括通过对待压缩图像进行图像边缘检测,确定所述待压缩图像的非边缘部分; 基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成;将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色; 基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色;以及利用合并后的颜色,对所述待压缩图像进行压缩。
2.如权利要求1所述的图像压缩方法,其中,基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域包括从该非边缘部分的像素中选择一个像素;从所选择的像素开始,搜索与该像素的颜色相似且连续相邻的像素; 将所搜索出的像素和所选中的像素组成为像素连通区域;以及在剩余的未被组成像素连通区域的像素中选择另一像素,重复上述像素连通区域组成过程,直到该非边缘部分中的像素都被划分到像素连通区域中为止。
3.如权利要求1所述的图像压缩方法,其中,对所述待压缩图像进行图像边缘检测是采用Sobel边缘检测算法进行的。
4.如权利要求1所述的图像压缩方法,其中,基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并的步骤包括从所述多个像素连通区域中选择一个像素连通区域;在所述多个像素连通区域中的其它像素连通区域中,确定与所选中的像素连通区域的颜色相似的像素连通区域;将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色;以及在剩余的未被合并的像素连通区域中选择另一像素连通区域,重复上述过程,直到完成对所有像素连通区域的颜色合并处理。
5.如前述任何一个权利要求所述的图像压缩方法,其中,所述颜色的相似性是通过计算两个颜色之间的差值来确定的。
6.如权利要求5所述的图像压缩方法,其中,如果两个颜色之间的差值小于预设阈值, 则该两个颜色是相似的。
7.一种图像压缩装置,包括非边缘部分确定单元,用于通过对待压缩图像进行图像边缘检测,确定所述待压缩图像的非边缘部分;像素连通区域划分单元,用于基于每个所确定出的非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成;颜色设置单元,用于将每个像素连通区域划分时所选中的像素的颜色设置为该像素连通区域的颜色;颜色合并单元,用于基于所述划分出的多个像素连通区域的颜色的相似性,对所述多个像素连通区域的颜色进行合并,其中具有相似颜色的像素连通区域被合并为相同颜色; 以及压缩单元,用于利用合并后的颜色,对所述待压缩图像进行压缩。
8.如权利要求7所述的图像压缩装置,其中,所述像素连通区域划分单元包括 第一选择模块,用于从该非边缘部分的像素中选择一个像素;搜索模块,用于从所选择的像素开始,搜索与该像素的颜色相似且连续相邻的像素; 组成模块,用于将所搜索出的像素和所选中的像素组成为像素连通区域; 第一判断模块,用于判断是否该非边缘部分中的所有像素都被划分, 其中,在所述第一判断模块判断为还存在剩余像素未被划分时,针对剩余像素,重复执行所述第一选择模块、搜索模块以及组成模块的处理。
9.如权利要求7所述的图像压缩装置,其中,所述颜色合并单元包括 第二选择模块,用于从所述多个像素连通区域中选择一个像素连通区域;确定模块,用于在所述多个像素连通区域中的其它像素连通区域中,确定与所选中的像素连通区域的颜色相似的像素连通区域;颜色修改模块,用于将与所选中的像素连通区域的颜色相似的像素连通区域的颜色修改为所选中的像素连通区域的颜色;以及第二判断模块,用于判断是否所有像素连通区域都经过颜色合并处理, 其中,在所述第二判断模块判断为还存在剩余的未经过颜色合并处理的像素连通区域时,针对所述剩余的像素连通区域,重复执行所述第二选择模块、确定模块和颜色修改模块的处理。
10.如权利要求7到9中任何一个所述的图像压缩装置,其中,所述颜色的相似性是通过计算两个颜色之间的差值来确定的。
11.如权利要求11所述的图像压缩装置,其中,如果两个颜色之间的差值小于预设阈值,则该两个颜色是相似的。
12.—种移动终端,包括如权利要求7到11中任何一个所述的图像压缩装置。
全文摘要
本发明提供了一种图像压缩方法,包括通过对待压缩图像进行图像边缘检测,确定待压缩图像的非边缘部分;基于非边缘部分中的像素颜色的相似性,将该非边缘部分划分为多个像素连通区域,所述像素连通区域由划分像素连通区域时选中的像素以及与该选中的像素的颜色相似且连续相邻的像素组成;将每个像素连通区域的颜色设置为所选中的像素的颜色;基于多个像素连通区域的颜色的相似性,对多个像素连通区域的颜色进行合并;以及利用合并后的颜色对待压缩图像进行压缩。利用该方法,能够结合待压缩图像的本身特点确定图像压缩所需的图像颜色数,从而在图像效果基本不变的情况下有效减少图像文件大小。
文档编号H04N1/64GK102497489SQ20111040010
公开日2012年6月13日 申请日期2011年12月5日 优先权日2011年12月5日
发明者周志明, 梁捷 申请人:优视科技有限公司, 广州市动景计算机科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1