CN102592293A - 一种真彩色图像的降色方法及装置 - Google Patents
一种真彩色图像的降色方法及装置 Download PDFInfo
- Publication number
- CN102592293A CN102592293A CN2011100028658A CN201110002865A CN102592293A CN 102592293 A CN102592293 A CN 102592293A CN 2011100028658 A CN2011100028658 A CN 2011100028658A CN 201110002865 A CN201110002865 A CN 201110002865A CN 102592293 A CN102592293 A CN 102592293A
- Authority
- CN
- China
- Prior art keywords
- color
- value
- node
- octree
- component value
- 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.)
- Pending
Links
Images
Abstract
本发明提供一种真彩色图像的降色方法及装置,方法包括:获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值;根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半;根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。本发明实现了对真彩色图像快速、高效的转换,并且,能够尽量保证原栅格图的显示效果。
Description
技术领域
本发明属于图像处理技术领域,特别涉及一种真彩色图像的降色方法及装置。
背景技术
万维网地理信息系统(WebGIS)是互联网与地理信息系统(GIS)技术的结合,近几年成为技术热点。WebGIS技术使用户能够通过网页浏览器获得大量实用的个人位置服务,通过网络可以将空间信息传至千家万户。而WebGIS技术的基础核心功能为地图的浏览和展示。
在线地图服务中通常采用256×256或300×300像素的瓦片式栅格图片,常用发布的栅格图片采用PNG、JPG或GIF格式。栅格图片数据从0~n级(n通常为17或23,即地图为18或24个比例尺级别),每级按四叉树金字塔模式分目录存储。
以18个比例尺等级为例,每个比例尺下存储的图片数量和大小如下表所示:
采用24位真彩色,中国大陆范围内0至17级比例尺所需栅格地图数据存储空间约为800GB。为了节省存储空间和网络传输空间,特别是当栅格地图数据用于手机等便携式设备时,通常需要将上面的真彩色栅格图在不失真的情况下进行压缩或特殊编码,以减小图片数据大小。现有技术通常是将栅格位图转换为JPG格式并采用有损压缩来解决此问题。
联合图像专家小组(Joint Photographic Experts Group,JPEG)是一个由ISO和IEC两个组织机构联合组成的一个专家组,负责制定静态的数字图像数据压缩编码标准,这个专家组开发的算法称为JPEG算法,并且成为国际上通用的标准,因此又称为JPEG标准。JPEG是一个适用范围很广的静态图像数据压缩标准,既可用于灰度图像又可用于彩色图像。
JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。
JPEG算法框图如图1、2所示,其压缩编码大致分成如下三个步骤:
步骤S1:使用正向离散余弦变换(Forward Discrete Cosine Transform,FDCT)把空间域表示的图变换成频率域表示的图;
步骤S2:使用加权函数对DCT系数进行量化,这个加权函数对于人的视觉系统是最佳的;
步骤S3:使用霍夫曼可变字长编码器对量化系数进行编码。
译码或者叫做解压缩的过程与压缩编码过程正好相反。
JPEG算法与彩色空间无关,因此“RGB到YUV变换”和“YUV到RGB变换”不包含在JPEG算法中。JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据,如RGB、YCbCr和CMYK。
上述基于DCT的JPEG压缩是有损压缩,虽然它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。但不可否认的是,采用JPEG算法压缩编码会出现较大数量颜色的缺失和颜色色值(RGB)变更,往往产生地图上的同一地物显示颜色和风格不同,影响用户终端上地图的显示效果。
发明内容
本发明的目的是提供一种真彩色图像的降色方法及装置,实现对真彩色图像快速、高效的转换,并且,能够尽量保证原栅格图的显示效果。
为实现上述目的,本发明提供技术方案如下:
一种真彩色图像的降色方法,包括:
获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值;
根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半;
根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;
将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。
上述的降色方法,其中,所述根据所述颜色值中各分量值所属的范围构建层状的八叉树是指,对每一所述颜色值均执行如下过程:
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果;
根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置;
当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
当树深未达到第二预定值时,将所述第一位置处新创建的或者已存在的子节点设置为母节点,并针对当前颜色值重新执行上述过程;
当树深达到所述第二预定值时,将所述第一位置处新创建的子节点设置为叶节点,并将当前颜色值存储在叶节点中,或者,将所述第一位置处已存在的叶节点的被采用次数增加1。
上述的降色方法,其中,还包括:将根节点设置为初始的母节点,且所述根节点存储的各分量值范围均为[0,255]。
上述的降色方法,其中,所述根据所述被采用次数对所述八叉树进行裁剪,包括:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
上述的降色方法,其中,在被采用次数相同的情况下,优先删除层次较低的叶节点。
上述的降色方法,其中,所述为每个像素建立一个在所述颜色表中的索引包括:
求取所述颜色表中与待建立索引的像素的颜色值最接近的颜色值;
将求取到的颜色值在所述颜色表中的位置设置为所述像素的索引。
一种真彩色图像的降色装置,包括:
颜色值获取模块,用于获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值;
八叉树构建模块,用于根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半;
八叉树裁减模块,用于根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;
颜色表构造模块,用于将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。
上述的降色装置,其中,所述八叉树构建模块进一步用于,对每一所述颜色值均执行如下过程:
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果;
根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置;
当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
当树深未达到第二预定值时,将所述第一位置处新创建的或者已存在的子节点设置为母节点,并针对当前颜色值重新执行上述过程;
当树深达到所述第二预定值时,将所述第一位置处新创建的子节点设置为叶节点,并将当前颜色值存储在叶节点中,或者,将所述第一位置处已存在的叶节点的被采用次数增加1。
上述的降色装置,其中,所述八叉树构建模块进一步用于:将根节点设置为初始的母节点,且所述根节点存储的各分量值范围均为[0,255]。
上述的降色装置,其中,所述八叉树裁减模块进一步用于:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
上述的降色装置,其中,所述八叉树裁减模块进一步用于:在被采用次数相同的情况下,优先删除层次较低的叶节点。
上述的降色装置,其中,所述颜色表构造模块进一步用于:
求取所述颜色表中与待建立索引的像素的颜色值最接近的颜色值;
将求取到的颜色值在所述颜色表中的位置设置为所述像素的索引。
与现有技术相比,本发明的有益效果是:
本发明提出一种高效的真彩色图像的降色方法及装置,通过对八叉树结构的节点裁剪,可以在尽量保证原栅格图显示效果情况下,将真彩色(24位色深或32位色深)栅格图快速转换为8位色深栅格图,从而达到降低图片存储成本和减少传输数据量的目的。
附图说明
图1为现有技术中JPEG算法的DCT基压缩编码示意图;
图2为现有技术中JPEG算法的DCT基解压缩编码示意图;
图3为根据本发明实施例的真彩色图像的降色方法流程图;
图4为本发明实施例中构建的八叉树示意图;
图5为本发明实施例中构建八叉树的具体流程图;
图6为本发明实施例中子节点位置的判断示意图;
图7为根据本发明实施例的真彩色图像的降色装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明实施例所称“降色”为对16位色深以上栅格图像颜色色深的降低操作(即,使图像中唯一颜色数量减少)。本发明实施例所称“原始图”或“原图”为24位色或32位色真彩色位图,“目标图”为8位色深即256色位图。本发明实施例所称“瓦片图”为经过预定方法切割的统一大小和格式的小图片,瓦片图的宽高一般均为256像素。
参照图3,本发明实施例的真彩色图像的降色方法,主要包括如下步骤:
步骤301:获取真彩色图像的每个像素的颜色值;
对原始图进行扫描,获得每个像素的颜色值。每种颜色可由红色分量值(Red,R)、绿色分量值(Green,G)和蓝色分量值(Blue,B)来表达,R、G、B分量的取值范围均为[0,255]。
步骤302:根据所述颜色值的各分量值所属的范围构建层状的八叉树;
图4为本发明实施例中构建的八叉树示意图,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半。图4中示意的八叉树的层数(树深)为3,实际上,可以根据对目标图显示效果的需求来设置树深,例如,将所述树深设置为6、7或者8。
子节点存储的颜色值范围包括R分量值范围、G分量值范围和B分量值范围,R分量值范围是母节点的R分量值范围的一半,G分量值范围是母节点的G分量值范围的一半,B分量值范围是母节点的B分量值范围的一半,这样,子节点三种分量值范围相对于母节点的分量值范围存在2^3共8种组合,所以可以采用八叉树表达这种颜色组合关系。
具体地,将母节点的R分量值范围根据其中值平均分成两个子范围,小于等于中值的为第一子范围,大于中值的为第二子范围;将当前颜色值的R分量值与所述中值进行比较,若当前颜色值的R分量值小于等于所述中值,则子节点存储的R分量值范围为所述第一子范围,若当前颜色值的R分量值大于所述中值,则子节点存储的R分量值范围为所述第二子范围。
将母节点的G分量值范围根据其中值平均分成两个子范围,小于等于中值的为第一子范围,大于中值的为第二子范围;将当前颜色值的G分量值与所述中值进行比较,若当前颜色值的G分量值小于等于所述中值,则子节点存储的G分量值范围为所述第一子范围,若当前颜色值的G分量值大于所述中值,则子节点存储的G分量值范围为所述第二子范围。
将母节点的B分量值范围根据其中值平均分成两个子范围,小于等于中值的为第一子范围,大于中值的为第二子范围;将当前颜色值的B分量值与所述中值进行比较,若当前颜色值的B分量值小于等于所述中值,则子节点存储的B分量值范围为所述第一子范围,若当前颜色值的B分量值大于所述中值,则子节点存储的B分量值范围为所述第二子范围。
另外,根据上述的3个比较结果,可以确定子节点相对于母节点的位置(8个位置之一)。
这里,对图4所示的八叉树中几种节点进行说明如下:
根节点(ROOT):树的根,所有节点的最上层管理节点(即所有节点的出发点),一棵树只有也只能有一个根节点。
母节点:相对下层子节点的上层节点,根节点肯定是母节点。
子节点:相对上层节点的下层节点,子节点必然从属某一母节点,每一子节点(除叶节点外)均表示一定的颜色范围。
叶节点:树最末端的节点(即最下端的节点),叶节点不存在下层节点,每一叶节点均代表某一确定的颜色。
步骤303:根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;
所述第一预定值即目标颜色数,一般地,目标颜色数应小于或等于256。当树中唯一颜色数(即叶节点数目)大于目标颜色数时,从树最底层节点开始,减少叶节点数量,具体为:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
另外,在裁减过程中,如果不同层次的叶节点的被采用次数相同,则优先删除层次较低的叶节点,即,首先删除的是层次最低、被采用次数最少的叶节点。
在整个处理过程中可以采用批量内存分配(内存池)及垃圾回收机制,这样能够极大地提高对八叉树的各种操作性能。
步骤304:将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。
将树中所有叶节点所代表的颜色,转变为颜色表(一般称为调色板)。然后,重新扫描整幅图像,确定每一像素颜色对应该颜色表的颜色的位置(索引号,即数组下标)。确定像素颜色索引时首先判断颜色表是否存在相同颜色,如果存在相同颜色,则使用该颜色索引,如果不存在相同颜色,则采用颜色表中最接近颜色的索引。
通过上述处理,便得到了目标图像。假设所述第一预定值为256,则得到的目标图像可以为PNG-8图像。
本发明实施例的降色方法使用八叉树数据结构来产生目标图像的256色调色板,以较大的内存空间换来快速的处理性能。通过对八叉树结构的节点裁剪和颜色被采用次数统计的加权平均,可在保证原栅格图显示效果情况下,将真彩色(24位色深或32位色深)栅格图快速转换为8位色深栅格图,从而达到降低图片存储成本和减少传输数据量的目的。
需要说明的是,使用8层深的八叉树即可满足绝大部分图像的转换需求,可以预见,随着层深的增加算法所需内存将剧增。因此,本发明实施例仅构建八叉树有效的元素(节点)以节约内存空间。
以下给出步骤302中构建八叉树的一个具体流程。
参照图5,本发明实施例中构建八叉树的方法,具体包括如下步骤:
步骤501:从原始图中取出一个像素的颜色值;
像素的颜色值可由红色分量值(Red,R)、绿色分量值(Green,G)和蓝色分量值(Blue,B)来表达,R、G、B分量的取值范围均为[0,255]。
步骤502:设置根节点为母节点;
所述根节点存储的各分量值范围均为[0,255]。
步骤503:确定子节点相对于母节点的位置,得到第一位置;
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果,根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置。
步骤504:判断所述第一位置处是否存在子节点,若是,进入步骤507,否则,进入步骤505;
步骤505:当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
步骤506:判断当前树深是否等于8,若是,进入步骤510,否则,进入步骤509;
步骤507:判断子节点是否为叶节点,若是,进入步骤508,否则,进入步骤509;
步骤508:将叶节点的被采用次数增加1后进入步骤511;
步骤509:设置当前子节点为母节点后返回步骤503;
步骤510:设置子节点为叶节点,并在该叶节点记录像素颜色值;
步骤511~512:判断是否所有像素均处理结束,若是,结束本流程,否则,取得下一个像素的颜色值后返回步骤502。
以下给出步骤503中判断子节点位置的一个具体方法。
图6为本发明实施例中子节点位置的判断示意图,图中,Ro表示母节点颜色值的R分量值范围,Go表示母节点颜色值的G分量值范围,Bo表示母节点颜色值的B分量值范围,Ra表示分量值范围Ro对应的中值,Ga表示分量值范围Go对应的中值,Ba表示分量值范围Bo对应的中值。
例如,假设母节点为根节点,则母节点的各分量值范围为:Ro=[0,255],Go=[0,255],Bo=[0,255],相应的中值为:Ra=127,Ga=127,Ba=127。
又例如,假设母节点为第1层节点,且该母节点的各分量值范围为:Ro=[0,127],Go=[0,127],Bo=[128,255],则相应的中值为:Ra=63,Ga=63,Ba=191。
可以看出,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半,这样,子节点三种分量值范围相对于母节点的分量值范围存在2^3共8种组合,因此,一个母节点最多拥有8个子节点。
构建八叉树时,根据当前颜色各分量值与母节点相应分量值范围的中值的关系,可决定当前颜色在八叉树中相对于母节点的位置(即存储路径)。每个子节点在树中的存放位置可以采用三维数组NodeIndex[2][2][2]来表达,数组下标分别对应母节点R、G、B值的左子节点和右子节点。下标0表示位于母节点分量值范围的左子节点位置,下标1表示位于母节点分量值范围的右子节点位置。每一子节点创建和销毁时应维护其与母节点的关联关系。
参照图6,本发明实施例中子节点位置的判断流程为:
首先,判断当前颜色的R分量值是否大于母节点R分量值范围的中值Ra,若是,放入R右子节点,否则,放入R左子节点;
然后,判断当前颜色的G分量值是否大于母节点G分量值范围的中值Ga,若是,放入G右子节点,否则,放入G左子节点;
最后,判断当前颜色的B分量值是否大于母节点B分量值范围的中值Ba,若是,放入B右子节点,否则,放入B左子节点。
经过上述判断和处理后,就得到了当前颜色的子节点相对于母节点的位置(8个位置之一)。并且,根据判断结果,可以得到子节点应当存储的各分量值范围。
举例如下:
假设当前颜色的各分量值分别为:R=40,G=68,B=180,并假设母节点为第1层节点,且该母节点的各分量值范围为:Ro=[0,127],Go=[0,127],Bo=[128,255],相应的中值为:Ra=63,Ga=63,Ba=191。
此时,需要创建当前颜色对应的第2层子节点。
首先,将R与Ra进行比较得到R<Ra,于是,R分量应当放入母节点的R分量值范围的左子节点;
然后,将G与Ga进行比较得到G>Ga,于是,G分量应当放入母节点的G分量值范围的右子节点;
最后,将B与Ba进行比较得到B<Ba,于是,B分量应当放入母节点的B分量值范围的左子节点。
经过上述判断和处理后,就得到了当前颜色的子节点的位置为:母节点的第3个子节点,用前述的三维数组表示为:NodeIndex[0][1][0]。并且,根据判断结果,可以得到该子节点应当存储的各分量值范围为:
红色分量值范围:[0,63];
绿色分量值范围:[64,127];
蓝色分量值范围:[128,191]。
以下介绍实现上述方法的装置。
参照图7,本发明实施例的真彩色图像的降色装置,包括,颜色值获取模块10、八叉树构建模块20、八叉树裁减模块30和颜色表构造模块40,其中:
颜色值获取模块10,用于获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值。
八叉树构建模块20,用于根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半。
具体地,八叉树构建模块20对每一所述颜色值均执行如下过程:
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果;
根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置;
当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
当树深未达到第二预定值时,将所述第一位置处新创建的或者已存在的子节点设置为母节点,并针对当前颜色值重新执行上述过程;
当树深达到所述第二预定值时,将所述第一位置处新创建的子节点设置为叶节点,并将当前颜色值存储在叶节点中,或者,将所述第一位置处已存在的叶节点的被采用次数增加1。
其中,所述八叉树构建模块20将根节点设置为初始的母节点,且所述根节点存储的各分量值范围均为[0,255]。
八叉树裁减模块30,用于根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值,具体为:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
其中,在被采用次数相同的情况下,优先删除层次较低的叶节点。
颜色表构造模块40,用于将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引,具体为:
求取所述颜色表中与待建立索引的像素的颜色值最接近的颜色值;
将求取到的颜色值在所述颜色表中的位置设置为所述像素的索引。
利用本发明实施例的降色方法及装置,在尽量保证原栅格图显示效果的前提下,可在56小时内完成对中国大陆范围内约3亿张真彩色瓦片图的降色转换。处理完成并保存为PNG-8格式图片后,可节约存储空间约500GB,节约空间超过60%。
经实验可知,经过本发明实施例的算法降色压缩后的图像,其显示效果和原图几乎没有区别,而大小却减少了92.6%,比JPEG 60%有损压缩的图像大小减少了18.4%。
注:上述计算的硬件环境为2.83GHz 8核CPU、8GB内存、1TB RAID-5高速硬盘。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非限制,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神范围,其均应涵盖在本发明的权利要求范围当中。
Claims (12)
1.一种真彩色图像的降色方法,其特征在于,包括:
获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值;
根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半;
根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;
将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。
2.如权利要求1所述的降色方法,其特征在于,所述根据所述颜色值中各分量值所属的范围构建层状的八叉树是指,对每一所述颜色值均执行如下过程:
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果;
根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置;
当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
当树深未达到第二预定值时,将所述第一位置处新创建的或者已存在的子节点设置为母节点,并针对当前颜色值重新执行上述过程;
当树深达到所述第二预定值时,将所述第一位置处新创建的子节点设置为叶节点,并将当前颜色值存储在叶节点中,或者,将所述第一位置处已存在的叶节点的被采用次数增加1。
3.如权利要求2所述的降色方法,其特征在于,还包括:
将根节点设置为初始的母节点,且所述根节点存储的各分量值范围均为[0,255]。
4.如权利要求1所述的降色方法,其特征在于,所述根据所述被采用次数对所述八叉树进行裁剪,包括:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
5.如权利要求4所述的降色方法,其特征在于:
在被采用次数相同的情况下,优先删除层次较低的叶节点。
6.如权利要求1所述的降色方法,其特征在于,所述为每个像素建立一个在所述颜色表中的索引包括:
求取所述颜色表中与待建立索引的像素的颜色值最接近的颜色值;
将求取到的颜色值在所述颜色表中的位置设置为所述像素的索引。
7.一种真彩色图像的降色装置,其特征在于,包括:
颜色值获取模块,用于获取所述真彩色图像的每个像素的颜色值,每一所述颜色值包括红色分量值、绿色分量值和蓝色分量值;
八叉树构建模块,用于根据所述颜色值的各分量值所属的范围构建层状的八叉树,在所述八叉树中,叶节点存储颜色值和被采用次数,其他节点存储包括各分量值范围的颜色值范围,并且,子节点存储的各分量值范围是母节点存储的相应分量值范围的一半;
八叉树裁减模块,用于根据所述被采用次数对所述八叉树进行裁剪,使得叶节点的数目为第一预定值;
颜色表构造模块,用于将裁剪后的八叉树的所有叶节点的颜色值构造为一个颜色表,并为每个像素建立一个在所述颜色表中的索引。
8.如权利要求7所述的降色装置,其特征在于,所述八叉树构建模块进一步用于,对每一所述颜色值均执行如下过程:
分别将当前颜色值的各分量值与母节点的相应分量值范围的中值进行比较,得到比较结果;
根据所述比较结果确定当前颜色值相对于母节点的位置,得到第一位置;
当所述第一位置处不存在子节点时,在所述第一位置处创建一子节点,并在所述子节点存储根据所述比较结果确定的各分量值范围;
当树深未达到第二预定值时,将所述第一位置处新创建的或者已存在的子节点设置为母节点,并针对当前颜色值重新执行上述过程;
当树深达到所述第二预定值时,将所述第一位置处新创建的子节点设置为叶节点,并将当前颜色值存储在叶节点中,或者,将所述第一位置处已存在的叶节点的被采用次数增加1。
9.如权利要求8所述的降色装置,其特征在于,所述八叉树构建模块进一步用于:
将根节点设置为初始的母节点,且所述根节点存储的各分量值范围均为[0,255]。
10.如权利要求7所述的降色装置,其特征在于,所述八叉树裁减模块进一步用于:
按照被采用次数从小到大的顺序将相应的叶节点删除,直到剩余的叶节点数目等于所述第一预定值;
如果母节点的所有叶节点均被删除,则将该母节点设置为叶节点,并在该母节点中存储被删除的叶节点的被采用次数之和以及被删除的叶节点的颜色值的加权平均值。
11.如权利要求10所述的降色装置,其特征在于,所述八叉树裁减模块进一步用于:
在被采用次数相同的情况下,优先删除层次较低的叶节点。
12.如权利要求7所述的降色装置,其特征在于,所述颜色表构造模块进一步用于:
求取所述颜色表中与待建立索引的像素的颜色值最接近的颜色值;
将求取到的颜色值在所述颜色表中的位置设置为所述像素的索引。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100028658A CN102592293A (zh) | 2011-01-07 | 2011-01-07 | 一种真彩色图像的降色方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100028658A CN102592293A (zh) | 2011-01-07 | 2011-01-07 | 一种真彩色图像的降色方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102592293A true CN102592293A (zh) | 2012-07-18 |
Family
ID=46480883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100028658A Pending CN102592293A (zh) | 2011-01-07 | 2011-01-07 | 一种真彩色图像的降色方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102592293A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209326A (zh) * | 2013-03-29 | 2013-07-17 | 惠州学院 | 一种png图片的压缩方法 |
US10097857B2 (en) | 2013-04-08 | 2018-10-09 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
CN109783776A (zh) * | 2019-01-22 | 2019-05-21 | 北京数科网维技术有限责任公司 | 一种适用于文本文档的生成式图像压缩方法及装置 |
CN112689139A (zh) * | 2021-03-11 | 2021-04-20 | 北京小鸟科技股份有限公司 | 视频图像色深变换方法、系统及设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0395394B1 (en) * | 1989-04-26 | 1995-06-28 | Canon Kabushiki Kaisha | Image encoding method |
CN1681330A (zh) * | 2004-03-08 | 2005-10-12 | 三星电子株式会社 | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 |
-
2011
- 2011-01-07 CN CN2011100028658A patent/CN102592293A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0395394B1 (en) * | 1989-04-26 | 1995-06-28 | Canon Kabushiki Kaisha | Image encoding method |
CN1681330A (zh) * | 2004-03-08 | 2005-10-12 | 三星电子株式会社 | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 |
Non-Patent Citations (2)
Title |
---|
刘青等: "一种八叉树色彩量化算法的改进", 《电子技术》 * |
贾秋菊等: "一种动态切分的颜色量化算法", 《华南师范大学学报(自然科学版)》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103209326A (zh) * | 2013-03-29 | 2013-07-17 | 惠州学院 | 一种png图片的压缩方法 |
CN103209326B (zh) * | 2013-03-29 | 2017-04-12 | 惠州学院 | 一种png图片的压缩方法 |
US10097857B2 (en) | 2013-04-08 | 2018-10-09 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
US10694209B2 (en) | 2013-04-08 | 2020-06-23 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
US11153605B2 (en) | 2013-04-08 | 2021-10-19 | Dolby Laboratories Licensing Corporation | Method for encoding and method for decoding a LUT and corresponding devices |
CN109783776A (zh) * | 2019-01-22 | 2019-05-21 | 北京数科网维技术有限责任公司 | 一种适用于文本文档的生成式图像压缩方法及装置 |
CN109783776B (zh) * | 2019-01-22 | 2023-04-07 | 北京数科网维技术有限责任公司 | 一种适用于文本文档的生成式图像压缩方法及装置 |
CN112689139A (zh) * | 2021-03-11 | 2021-04-20 | 北京小鸟科技股份有限公司 | 视频图像色深变换方法、系统及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101018336B (zh) | 基于质量的图像压缩 | |
US9462279B2 (en) | Image encoding/decoding method and device | |
CN107301194B (zh) | 瓦片式栅格地图的压缩存储及发布方法 | |
JP3356663B2 (ja) | 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体 | |
WO2015120818A1 (zh) | 图像编码、解码方法及装置 | |
KR20050027442A (ko) | 모바일 디바이스용 정지영상 압축 방법 | |
CN112995662B (zh) | 一种点云的属性熵编码和熵解码的方法及设备 | |
CN104780379A (zh) | 一种屏幕图像集合的压缩方法 | |
CN105100814A (zh) | 图像编码、解码方法及装置 | |
CN102592293A (zh) | 一种真彩色图像的降色方法及装置 | |
CN103957426A (zh) | 一种rgb565真彩色图像有损压缩及解压方法 | |
CN1937748A (zh) | 图像压缩的方法 | |
CN102256126A (zh) | 混合图像的编码方法 | |
CN1696977A (zh) | 一种图像压缩方法 | |
JP4649237B2 (ja) | 画像圧縮装置、画像圧縮方法及び画像圧縮プログラム | |
CN103299638B (zh) | 自适应扫描装置及其扫描方法 | |
CN107682699A (zh) | 一种近无损图像压缩方法 | |
CN115102934B (zh) | 点云数据的解码方法、编码方法、装置、设备及存储介质 | |
CN113489980B (zh) | 一种点云属性变换系数的熵编码和熵解码的方法及设备 | |
JP2008042683A (ja) | 画像処理装置及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
CN102495878B (zh) | 一种机器视觉检测结果的存储文件及方法 | |
CN115278269A (zh) | 一种点云属性编码方法、点云属性解码方法及存储介质 | |
JP2017530578A (ja) | 画像のタイプに応じて圧縮アルゴリズムを選択する方法 | |
Poolakkachalil et al. | Comparative analysis of lossless compression techniques in efficient DCT-based image compression system based on Laplacian Transparent Composite Model and An Innovative Lossless Compression Method for Discrete-Color Images | |
CN115396670B (zh) | 一种局域处理的图像数据压缩方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120718 |