CN102881026A - 一种具有透明度信息的图像的调色板装置与生成方法 - Google Patents

一种具有透明度信息的图像的调色板装置与生成方法 Download PDF

Info

Publication number
CN102881026A
CN102881026A CN201210290041XA CN201210290041A CN102881026A CN 102881026 A CN102881026 A CN 102881026A CN 201210290041X A CN201210290041X A CN 201210290041XA CN 201210290041 A CN201210290041 A CN 201210290041A CN 102881026 A CN102881026 A CN 102881026A
Authority
CN
China
Prior art keywords
image
color
value
pixel
palette
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.)
Granted
Application number
CN201210290041XA
Other languages
English (en)
Other versions
CN102881026B (zh
Inventor
陈喆
殷福亮
李丹丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN201210290041.XA priority Critical patent/CN102881026B/zh
Publication of CN102881026A publication Critical patent/CN102881026A/zh
Application granted granted Critical
Publication of CN102881026B publication Critical patent/CN102881026B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种具有透明度信息的图像的调色板装置与生成方法,定义指定的调色板中独立条目的数目为K,对透明度信息的图像的RGB三基色和透明度值进行量化,生成K个带α透明度值的RGB调色板条目,然后求取图像中各像素索引值,最后保存成PNG8图片。本发明实现了RGB三基色和α透明度的量化;在量化过程中考虑了图片中α透明度对RGB三基色显示效果的影响,减少了α透明度值较小时的量化级数,在主观上更合理的分配了调色板条目;当调色板长度较小时,对根据像素频度得到的调色板初值,再进行LBG矢量量化,避免过多颜色由于出现频率小而丢失的现象,有效地减小量化后图像的失真;当调色板长度较大时,在图像量化过程中使用弗洛伊德抖动方法,有效改善图片的主观质量。

Description

一种具有透明度信息的图像的调色板装置与生成方法
技术领域
本发明涉及图像处理领域,特别涉及一种具有透明度信息的图像的调色板装置与生成方法。
背景技术
一幅常用的RGB888格式的彩色图像最多可包含224种颜色。随着计算机图形、图像技术的不断发展,在RGB三色基础上又增加了图像的透明/半透明特性,使图像显示更灵活。例如:20世纪90年代中期开发的PNG图像格式,其PNG32图像采用RGBα8888格式,即R、G、B、α各通道分别使用8bit量化。PNG存储的彩色图像的深度可多达48位,还可以存储多到16位的α通道数据。换句话说,带α通道PNG图像最多可包含的颜色数远远大于224
由于物理能力限制和经济成本等的原因,一方面,图像显示设备只能显示有限数目的颜色。所以,可在最小的视觉失真的前提下,减少将要显示的图像中的颜色数,即对图像进行色彩量化。另一方面,后续的图像处理、计算机运算效率应用和图像编码和传输方面,对图像的存储量也有要求,也需在最小的视觉失真的前提下,对图像进行色彩量化。例如,对带透明度PNG32的图像,直接存储每个像素的4个通道数据使图像对存储量要求较高。若使用RGB调色板和透明度(tRNS)字段来表示带α通道的PNG图像中的颜色,将其存储为PNG8索引图像,则每个像素点的存储量减少为原来的1/4,明显减少了图片存储量。
现有技术中几种比较常用的典型色彩量化算法如下:
(1)1994年,A. Kruger在文献“Median-cut color quantization”中[1],提出了中位切割(MCQ)算法。该算法试图选择一个色彩均衡的集合来表示图像, 其基本思想是:将图像的彩色空间用 RGB模型来表示, 彩色立方体的三个维度分别对应RGB三基色中一个颜色分量, 每一根轴的取值范围为为0~255,0对应于黑,255对应于亮度最大。MCQ(中位切割颜色量化)算法按照像素数目平均分布或量化误差最小等准则把RGB色彩空间立方体分成若干个长方体,每个长方体的中心就是一个调色板颜色的最佳位置。这种算法考虑到具体图像的色彩分布, 所得到的图像显示层次感丰富, 所以较为常用。
(2)1996年,D. Clark在文献“Color quantization using octree”中[2],提出了八叉树(OctreeCut)算法。该算法是利用八叉树数据结构来表示图像色彩空间的一种方法,颜色的RGB分量的二进制编码确定了颜色在八叉树或颜色立方体中的位置,量化过程是简化八叉树,通过将子节点颜色平均值赋予父结点的方式实现, 然后将子结点删除。八叉树量化算法对内存要求较低,且生产图像质量较好。
现有技术缺点:
(1)MCQ算法内存开销大,需要足够的内存作为源图像中每种颜色的计数器。另外,该方法重建的图像局部细节较为模糊,效果不够理想。
(2)八叉树算法中,简化八叉树的过程中,颜色的合并是以像素的频度为准,所以仍会出现某些颜色由于出现频率小而丢失的现象,导致图像显示失真。
(3)上述算法只支持RGB或其他无透明度颜色的量化。虽然中位分割算法作者提出可将算法扩展到更多通道,但是α通道值越小时,对图像颜色的视觉敏感度也相应降低,若只将α通道作为独立的通道加入中位分割量化,则计算量和系统时延都等比增大,使处理成本上升。
发明内容
发明目的:为解决上述现有技术中的技术问题,提供一种具有透明度信息的图像的调色板装置与生成方法。
采用的技术方案:提供了一种具有透明度信息的图像的调色板装置,包括:图像输入单元、图像颜色取值空间分割单元、图像调色板生成单元、图像颜色量化单元、图像输出单元;
所述图像输入单元用于输入一张PNG图片,并判断该图像是否包含透明度信息,只通过含有透明度信息的图像,具体步骤如下:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;判断该图像是否包含透明度信息:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
所述图像颜色取值空间分割单元用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4×256个计数器中;根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;由于R、G、B、α的取值范围均为[0, 255],以下以
Figure 704739DEST_PATH_IMAGE001
指代各颜色分量来表述它们的区间分割及颜色量化方法;定义k∈[0, 7]且k为整数,对于x∈[0, 255],将其量化为8个值
Figure 621879DEST_PATH_IMAGE002
,则定义第k个量化区间的量化代价函数
Figure 339299DEST_PATH_IMAGE003
为:
Figure 921459DEST_PATH_IMAGE004
其中,num(x)为像素取值为x的像素数目,在取值区间[
Figure 735832DEST_PATH_IMAGE005
]内的x量化为
Figure 495977DEST_PATH_IMAGE006
Figure 763011DEST_PATH_IMAGE007
为像素取值为x的像素透明度:;为求解使代价函数取到最小值的
Figure 259818DEST_PATH_IMAGE006
值,可另0,即时,得:
Figure 869157DEST_PATH_IMAGE011
此时,
Figure 392542DEST_PATH_IMAGE003
取最小值为:
本步骤的核心是搜索最佳量化区间,搜索过程如下:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大
Figure 752427DEST_PATH_IMAGE001
值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];分别计算几个代价函数:区间[xk_down xk_up ]代价函数
Figure 965234DEST_PATH_IMAGE013
、区间[xk +1_down xk +1_up ]的代价函数
Figure 608705DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数
Figure 130822DEST_PATH_IMAGE015
、区间[xk +1_down -1, xk +1_up ]的代价函数;区间[xk_down xk_up +1]代价函数、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure 59704DEST_PATH_IMAGE018
;比较步骤232得到的代价函数的几项和值:
Figure 831351DEST_PATH_IMAGE013
+
Figure 789129DEST_PATH_IMAGE015
+
Figure 141613DEST_PATH_IMAGE016
Figure 21844DEST_PATH_IMAGE017
+
Figure 459779DEST_PATH_IMAGE018
,将其中和值最小的取值点作新的区间划分; 重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即
Figure 568811DEST_PATH_IMAGE013
+
Figure 979064DEST_PATH_IMAGE014
>=
Figure 92513DEST_PATH_IMAGE015
+
Figure 204695DEST_PATH_IMAGE016
Figure 429003DEST_PATH_IMAGE013
+>=+
Figure 804687DEST_PATH_IMAGE018
为止;分别取k=0, 1, …, 7,进行步骤步骤232~步骤234,得到分量的8个量化区间;计算区间映射表map[256],即对于x∊[xk_down xk_up ],map(
Figure 951951DEST_PATH_IMAGE001
)=k;根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
所述图像调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出K个带透明度的图像调色板独立条目,具体步骤如下:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
所述图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值,具体步骤如下:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
所述图像输出单元用于根据图像调色板生成单元、图像颜色量化单元输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
一种具有透明度信息的图像的调色板生成方法,包括以下步骤:
步骤100:图像输入单元用于输入一张含透明度的PNG图片,具体步骤如下:
步骤110:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;
步骤120:判断该图像是否包含透明度信息:
步骤121:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;
步骤122:若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;
步骤123:若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
步骤200:图像颜色取值空间分割单元,用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:
步骤210:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:
步骤211:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;
步骤212:若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;
步骤220:遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4* 256个计数器中;
步骤230:根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;
由于R、G、B、α的取值范围均为[0,255],以下以
Figure 328575DEST_PATH_IMAGE001
指代各颜色分量来表述它们的区间分割及颜色量化方法;
定义
Figure 228398DEST_PATH_IMAGE019
,对于
Figure 732192DEST_PATH_IMAGE020
,将其量化为8个值
Figure 722275DEST_PATH_IMAGE002
,则定义第
Figure 82850DEST_PATH_IMAGE021
个量化区间的量化代价函数为:
Figure 777453DEST_PATH_IMAGE022
其中,num(x)为像素取值为x的像素数目,在取值区间[
Figure 854999DEST_PATH_IMAGE005
]内的x量化为
Figure 589737DEST_PATH_IMAGE006
Figure 198573DEST_PATH_IMAGE007
为像素取值为x的像素透明度:;为求解使代价函数取到最小值的
Figure 68233DEST_PATH_IMAGE006
值,可另
Figure 973872DEST_PATH_IMAGE009
0,即
Figure 70004DEST_PATH_IMAGE023
时,得:
Figure 968559DEST_PATH_IMAGE024
此时,
Figure 771429DEST_PATH_IMAGE003
取最小值为:
Figure 910287DEST_PATH_IMAGE025
本步骤的核心是搜索最佳量化区间,搜索过程如下:
步骤231:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大
Figure 182130DEST_PATH_IMAGE001
值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];
步骤232:分别计算几个代价函数:区间[xk_down xk_up ]代价函数、区间[xk +1_down xk +1_up ]的代价函数
Figure 354803DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数、区间[xk +1_down -1, xk +1_up ]的代价函数
Figure 922236DEST_PATH_IMAGE016
;区间[xk_down xk_up +1]代价函数
Figure 913326DEST_PATH_IMAGE017
、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure 753106DEST_PATH_IMAGE018
步骤233:比较步骤232得到的代价函数的几项和值:+
Figure 155235DEST_PATH_IMAGE014
+
Figure 893570DEST_PATH_IMAGE016
Figure 545131DEST_PATH_IMAGE017
+
Figure 528131DEST_PATH_IMAGE018
,将其中和值最小的取值点作新的区间划分;
步骤234:重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即
Figure 923340DEST_PATH_IMAGE013
+
Figure 160549DEST_PATH_IMAGE014
>=+
Figure 453307DEST_PATH_IMAGE016
Figure 839158DEST_PATH_IMAGE013
+
Figure 180140DEST_PATH_IMAGE014
>=
Figure 439083DEST_PATH_IMAGE017
+
Figure 878898DEST_PATH_IMAGE018
为止;
步骤235:分别取k=0, 1, …, 7,进行步骤232~步骤234,得到
Figure 615910DEST_PATH_IMAGE001
分量的8个量化区间;
步骤240:计算区间映射表map[256],即对于x∊[xk_down xk_up ],map()=k
步骤250:根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
步骤300:调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出带透明度的图像调色板;具体步骤如下:
步骤310:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;
步骤320:定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;
步骤330:若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
步骤400:图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值;具体步骤如下:
步骤410:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;
步骤420:若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
步骤500:图像输出单元用于根据步骤300、步骤400输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
有益效果:本发明考虑了具有透明度信息的PNG图像中α通道值,即透明度分量,对RGB三基色显示效果的影响,减少了α通道值较小时的量化级数,在主观上更合理的分配了调色板条目;其次,算法过程不需要记录每种颜色,所需内存较中位分割算法要小;另外,当K值较小时,对根据像素频度得到的调色板初值,再进行LBG矢量量化,避免过多颜色由于出现频率小而丢失的现象,有效地减小图像显示失真;最后,在K值较大时,在图像量化过程中使用弗洛伊德抖动方法,有效改善图片的主观质量。
附图说明
图1为具有透明的原始图片和它的两种量化结果。
图2为本发明一种具有透明度信息的图像的调色板生成方法流程图。
图3为本发明一种具有透明度信息的图像的调色板装置的结构图。
具体实施方式
本发明一种具有透明度信息的图像的调色板装置,包括:图像输入单元、图像颜色取值空间分割单元、图像调色板生成单元、图像颜色量化单元、图像输出单元;
所述图像输入单元用于输入一张PNG图片,并判断该图像是否包含透明度信息,只通过含有透明度信息的图像,具体步骤如下:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;判断该图像是否包含透明度信息:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
所述图像颜色取值空间分割单元用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4×256个计数器中;根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;由于R、G、B、α的取值范围均为[0, 255],以下以
Figure 506823DEST_PATH_IMAGE001
指代各颜色分量来表述它们的区间分割及颜色量化方法;定义k∈[0, 7]且k为整数,对于x∈[0, 255],将其量化为8个值
Figure 669820DEST_PATH_IMAGE002
,则定义第k个量化区间的量化代价函数
Figure 148206DEST_PATH_IMAGE003
为:
Figure 791677DEST_PATH_IMAGE004
其中,num(x)为像素取值为x的像素数目,在取值区间[
Figure 815259DEST_PATH_IMAGE005
]内的x量化为
Figure 544180DEST_PATH_IMAGE006
为像素取值为x的像素透明度:
Figure 58655DEST_PATH_IMAGE008
;为求解使代价函数取到最小值的值,可另
Figure 905574DEST_PATH_IMAGE009
0,即时,得:
Figure 843628DEST_PATH_IMAGE011
此时,
Figure 786176DEST_PATH_IMAGE003
取最小值为:
本步骤的核心是搜索最佳量化区间,搜索过程如下:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大
Figure 769361DEST_PATH_IMAGE001
值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];分别计算几个代价函数:区间[xk_down xk_up ]代价函数
Figure 241931DEST_PATH_IMAGE013
、区间[xk +1_down xk +1_up ]的代价函数
Figure 27484DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数
Figure 952715DEST_PATH_IMAGE015
、区间[xk +1_down -1, xk +1_up ]的代价函数
Figure 865438DEST_PATH_IMAGE016
;区间[xk_down xk_up +1]代价函数
Figure 192515DEST_PATH_IMAGE017
、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure 414549DEST_PATH_IMAGE018
;比较步骤232得到的代价函数的几项和值:
Figure 14026DEST_PATH_IMAGE013
+
Figure 776446DEST_PATH_IMAGE014
Figure 895711DEST_PATH_IMAGE015
+
Figure 350963DEST_PATH_IMAGE016
Figure 936272DEST_PATH_IMAGE017
+
Figure 440066DEST_PATH_IMAGE018
,将其中和值最小的取值点作新的区间划分; 重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即
Figure 476155DEST_PATH_IMAGE013
+
Figure 289259DEST_PATH_IMAGE014
>=
Figure 676378DEST_PATH_IMAGE015
+
Figure 718283DEST_PATH_IMAGE016
Figure 562874DEST_PATH_IMAGE013
+
Figure 359928DEST_PATH_IMAGE014
>=
Figure 906447DEST_PATH_IMAGE017
+
Figure 79940DEST_PATH_IMAGE018
为止;分别取k=0, 1, …, 7,进行步骤步骤232~步骤234,得到
Figure 277572DEST_PATH_IMAGE001
分量的8个量化区间;计算区间映射表map[256],即对于x∊[xk_down xk_up ],map(
Figure 245528DEST_PATH_IMAGE001
)=k;根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
所述图像调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出K个带透明度的图像调色板独立条目,具体步骤如下:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
所述图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值,具体步骤如下:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
所述图像输出单元用于根据图像调色板生成单元、图像颜色量化单元输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
一种具有透明度信息的图像的调色板生成方法,包括以下步骤:
步骤100:图像输入单元用于输入一张含透明度的PNG图片,具体步骤如下:
步骤110:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;
步骤120:判断该图像是否包含透明度信息:
步骤121:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;
步骤122:若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;
步骤123:若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
步骤200:图像颜色取值空间分割单元,用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:
步骤210:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:
步骤211:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;
步骤212:若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;
步骤220:遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4* 256个计数器中;
步骤230:根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;
由于R、G、B、α的取值范围均为[0,255],以下以
Figure 279343DEST_PATH_IMAGE001
指代各颜色分量来表述它们的区间分割及颜色量化方法;
定义
Figure 416713DEST_PATH_IMAGE019
,对于
Figure 547480DEST_PATH_IMAGE020
,将其量化为8个值
Figure 624020DEST_PATH_IMAGE002
,则定义第
Figure 394399DEST_PATH_IMAGE021
个量化区间的量化代价函数
Figure 644115DEST_PATH_IMAGE003
为:
Figure 567072DEST_PATH_IMAGE026
其中,num(x)为像素取值为x的像素数目,在取值区间[]内的x量化为
Figure 635970DEST_PATH_IMAGE006
Figure 689377DEST_PATH_IMAGE007
为像素取值为x的像素透明度:
Figure 466840DEST_PATH_IMAGE008
;为求解使代价函数取到最小值的
Figure 134450DEST_PATH_IMAGE006
值,可另
Figure 426891DEST_PATH_IMAGE009
0,即
Figure 221672DEST_PATH_IMAGE027
时,得:
Figure 915959DEST_PATH_IMAGE028
此时,
Figure 253006DEST_PATH_IMAGE003
取最小值为:
Figure 236005DEST_PATH_IMAGE029
本步骤的核心是搜索最佳量化区间,搜索过程如下:
步骤231:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大
Figure 631214DEST_PATH_IMAGE001
值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];
步骤232:分别计算几个代价函数:区间[xk_down xk_up ]代价函数
Figure 366958DEST_PATH_IMAGE013
、区间[xk +1_down xk +1_up ]的代价函数
Figure 455000DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数
Figure 659716DEST_PATH_IMAGE015
、区间[xk +1_down -1, xk +1_up ]的代价函数
Figure 281453DEST_PATH_IMAGE016
;区间[xk_down xk_up +1]代价函数
Figure 950331DEST_PATH_IMAGE017
、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure 146958DEST_PATH_IMAGE018
步骤233:比较步骤232得到的代价函数的几项和值:
Figure 635708DEST_PATH_IMAGE013
+
Figure 825249DEST_PATH_IMAGE014
Figure 348635DEST_PATH_IMAGE015
+
Figure 450583DEST_PATH_IMAGE016
Figure 371835DEST_PATH_IMAGE017
+
Figure 912538DEST_PATH_IMAGE018
,将其中和值最小的取值点作新的区间划分;
步骤234:重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即
Figure 228112DEST_PATH_IMAGE013
+
Figure 828858DEST_PATH_IMAGE014
>=
Figure 479151DEST_PATH_IMAGE015
+
Figure 761228DEST_PATH_IMAGE016
Figure 259205DEST_PATH_IMAGE013
+
Figure 453689DEST_PATH_IMAGE014
>=
Figure 669906DEST_PATH_IMAGE017
+
Figure 490095DEST_PATH_IMAGE018
为止;
步骤235:分别取k=0, 1, …, 7,进行步骤232~步骤234,得到
Figure 29529DEST_PATH_IMAGE001
分量的8个量化区间;
步骤240:计算区间映射表map[256],即对于x∊[xk_down xk_up ],map(
Figure 706498DEST_PATH_IMAGE001
)=k
步骤250:根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
步骤300:调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出带透明度的图像调色板;具体步骤如下:
步骤310:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;
步骤320:定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;
步骤330:若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
步骤400:图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值;具体步骤如下:
步骤410:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;
步骤420:若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
步骤500:图像输出单元用于根据步骤300、步骤400输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
下面结合附图和实施例对本发明进行详细说明。
参照图1,在本实施例中,输入具有透明度信息的PNG图像,从输入图像的数据块字段中提取每个像素的R、G、B、α颜色分量值;遍历图像,得到各颜色分量的像素分布直方图,按照量化代价最小准则,将各颜色分量取值区间分别分割为8个量化区间,量化过程中将α通道值转换为透明度值加权到量化代价计算中,再根据各颜色分量的量化区间,将图像的RGBα颜色取值空间分割为4096个子空间;遍历图像,得到图像RGBα颜色取值空间的像素分布直方图,根据各子空间像素分布情况和K值,取包含像素数目最多的K个颜色子空间颜色均值作为调色板初值,对于K<256的情况,对调色板进行LBG矢量量化,得到的最终的调色板值;量化图像各像素颜色,对每个像素点,取与其距离最小的调色板条目序号作为像素索引值,特别的,当K>16时,在量化过程中使用弗洛伊德-斯坦伯格抖动(Floyd-Steinberg dithering[4])。将调色板RGB三基色分量和α分量分别写入PNG8图像的PLET字段和tRNS字段,各像素索引值写入PNG8图像的IDAT字段,保存得到PNG8索引图像。
参照图2,展示的是本发明带来的主观性能标准(视觉效果),当调色板长度K=256时,使用弗洛伊德-斯坦伯格抖动(Dithering)和不使用弗洛伊德-斯坦伯格抖动(No Dithering)的量化结果,图2的每一行图像从左至右依次为具有透明的原始图像、由该图像经过不使用弗洛伊德-斯坦伯格抖动量化得到的结果和由该图像经过弗洛伊德抖动量化得到的结果。从以上图片可以看出,不使用弗洛伊德-斯坦伯格抖动时,在图像缓慢变化的平滑区域会出现一些块状颜色、条状颜色等问题,这些问题在量化级数越高时越严重,使用弗洛伊德-斯坦伯格抖动后可以克服了这些问题,使图像显示更平滑,视觉效果更好。
本发明的客观性能标准:因为具有透明度信息的图像的透明显示原理就是原图像的各像素点的颜色和背景图像相应像素点的颜色加权得到显示图像。也就是说,实际上,具有透明度信息图像的显示结果是图像本身与背景图像按一定规则相互叠加的结果。若以A代表要被显示的具有透明度信息的图像,B代表屏幕图像,图像A透明通道值为α且α∊[0, 255]时,令图像的显示结果为C,则α'=α/255,C=α'A+(1-α')B,进一步,若屏幕图像B为黑色背景,即B各颜色分量值为0,则
Figure 82116DEST_PATH_IMAGE030
为了客观考量本发明颜色和透明度量化的性能,可将原PNG图片和量化后的PNG图片都在黑色背景上的RG B情况下的显示结果来进行比较。具体使用:图像结构相似度(SSIM)和峰值信噪比(PSNR)来反映图像质量的好坏。其中,SSIM为一种衡量两幅图像相似度的新指标,其值越大越好(最大值为1),经常用到图像处理中。
参照表1,为若干张具有透明度图像量化结果各项性能,量化级,即调色板独立条目数K,为256。其中,colors为原图像颜色数(考虑透明度不同的情况);size为图像尺寸;Dithering为弗洛伊德抖动,yes为使用弗洛伊德-斯坦伯格抖动,no为不使用弗洛伊德-斯坦伯格抖动; T为图像处理时间,包含读写文件时间;M为文件大小。
表1-算法性能
Figure DEST_PATH_IMAGE032A
从表1可以看出,SSIM指标和PSNR指标都很好。由于使用弗洛伊德抖动后相邻像素索引趋向于交替变化,导致图像数据块数据压缩比下降,所以文件大小比不使用弗洛伊德抖动的结果大;且使用弗洛伊德抖动量化后得到的图像客观性能指标比不使用弗洛伊德抖动量化后得到的图像差。但是,考虑到使用弗洛伊德抖动量化后得到的图像主观视觉更好,所以本发明中在调色板数目较多情况下(K>128),量化时还是使用了弗洛伊德抖动。
以上内容是结合优选技术方案对本发明所做的进一步详细说明,不能认定发明的具体实施仅限于这些说明。对本发明所属技术领域的普通技术人员来说,在不脱离本发明的构思的前提下,还可以做出简单的推演及替换,都应当视为本发明的保护范围。

Claims (2)

1.一种具有透明度信息的图像的调色板装置,其特征在于,所述一种具有透明度信息的图像的调色板装置包括:图像输入单元、图像颜色取值空间分割单元、图像调色板生成单元、图像颜色量化单元、图像输出单元;
所述图像输入单元用于输入一张PNG图片,并判断该图像是否包含透明度信息,只通过含有透明度信息的图像,具体步骤如下:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;判断该图像是否包含透明度信息:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
所述图像颜色取值空间分割单元用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4×256个计数器中;根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;由于R、G、B、α的取值范围均为[0, 255],以下以 指代各颜色分量来表述它们的区间分割及颜色量化方法;定义k∈[0, 7]且k为整数,对于x∈[0, 255],将其量化为8个值
Figure DEST_PATH_IMAGE002
,则定义第k个量化区间的量化代价函数
Figure DEST_PATH_IMAGE003
为:
Figure DEST_PATH_IMAGE004
其中,num(x)为像素取值为x的像素数目,在取值区间[
Figure DEST_PATH_IMAGE005
]内的x量化为
Figure DEST_PATH_IMAGE006
为像素取值为x的像素透明度:
Figure DEST_PATH_IMAGE008
;为求解使代价函数取到最小值的
Figure 747769DEST_PATH_IMAGE006
值,可另
Figure DEST_PATH_IMAGE009
0,即
Figure DEST_PATH_IMAGE010
时,得:
Figure DEST_PATH_IMAGE011
此时,
Figure 477958DEST_PATH_IMAGE003
取最小值为:
Figure DEST_PATH_IMAGE012
本步骤的核心是搜索最佳量化区间,搜索过程如下:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];分别计算几个代价函数:区间[xk_down xk_up ]代价函数
Figure DEST_PATH_IMAGE013
、区间[xk +1_down xk +1_up ]的代价函数
Figure DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数
Figure DEST_PATH_IMAGE015
、区间[xk +1_down -1, xk +1_up ]的代价函数
Figure DEST_PATH_IMAGE016
;区间[xk_down xk_up +1]代价函数
Figure DEST_PATH_IMAGE017
、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure DEST_PATH_IMAGE018
;比较步骤232得到的代价函数的几项和值:+
Figure 108024DEST_PATH_IMAGE014
Figure 930487DEST_PATH_IMAGE015
+
Figure 135203DEST_PATH_IMAGE016
+ ,将其中和值最小的取值点作新的区间划分; 重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即+ >=
Figure 300736DEST_PATH_IMAGE015
+
Figure 761805DEST_PATH_IMAGE016
Figure 191649DEST_PATH_IMAGE013
+
Figure 368028DEST_PATH_IMAGE014
>=
Figure 580834DEST_PATH_IMAGE017
+
Figure 224305DEST_PATH_IMAGE018
为止;分别取k=0, 1, …, 7,进行步骤步骤232~步骤234,得到
Figure 497155DEST_PATH_IMAGE001
分量的8个量化区间;计算区间映射表map[256],即对于x∊[xk_down xk_up ],map(
Figure 163760DEST_PATH_IMAGE001
)=k;根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
所述图像调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出K个带透明度的图像调色板独立条目,具体步骤如下:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
所述图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值,具体步骤如下:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
所述图像输出单元用于根据图像调色板生成单元、图像颜色量化单元输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
2.根据权利要求1所述的一种具有透明度信息的图像的调色板生成方法,包括以下步骤:
步骤100:图像输入单元用于输入一张含透明度的PNG图片,具体步骤如下:
步骤110:提取PNG图像的IHDR字段信息,包括图片宽、图片高、图片色深、颜色类型,定义颜色类型为ColorType;
步骤120:判断该图像是否包含透明度信息:
步骤121:若ColorType=6,则该图像为带α通道的真彩色图片,满足要求;
步骤122:若ColorType=3,则该图像为真彩色索引图像,再在文件数据中搜索tRNS字段,若文件包含tRNS字段,则该图像包含透明度信息,满足要求;
步骤123:若图像不满足上述两种颜色类型中任何一种情况下,则该图像不包含透明度信息,不满足要求;
步骤200:图像颜色取值空间分割单元,用于统计R、G、B、α分量的像素分布直方图,并根据直方图信息分割R、G、B、α颜色取值空间,具体步骤如下:
步骤210:解析输入的PNG图片,得到每个像素点的透明度α和RGB三基色信息,即根据步骤100得到的信息,提取PNG图像IDAT字段信息,即图像颜色信息:
步骤211:若ColorType=6,直接从IDAT中每个像素数据中提取出R、G、B、α分量值;
步骤212:若ColorType=3,则从IDAT中每个像素点数据中提取颜色索引值,再根据颜色索引值到PLET字段中提取该像素的R、G、B分量值,最后在该像素的tRNS字段中提取α分量值;
步骤220:遍历图片,根据步骤210的方法,统计图像中各个颜色分量的像素分布直方图,即R、G、B、α分量不同取值对应的像素数目,分别存储在4×256个计数器中;
步骤230:根据步骤220的统计结果,将各颜色分量分割为8个量化区间,并取区间内所有像素的颜色平均值作为各分量的区间量化值;
由于R、G、B、α的取值范围均为[0, 255],以下以
Figure 242574DEST_PATH_IMAGE001
指代各颜色分量来表述它们的区间分割及颜色量化方法;
定义k∈[0, 7]且k为整数,对于x∈[0, 255],将其量化为8个值
Figure 678235DEST_PATH_IMAGE002
,则定义第k个量化区间的量化代价函数
Figure 387565DEST_PATH_IMAGE003
为:
Figure 338203DEST_PATH_IMAGE004
其中,num(x)为像素取值为x的像素数目,在取值区间[
Figure 158391DEST_PATH_IMAGE005
]内的x量化为
Figure 391107DEST_PATH_IMAGE007
为像素取值为x的像素透明度:
Figure 769654DEST_PATH_IMAGE008
;为求解使代价函数取到最小值的
Figure 190271DEST_PATH_IMAGE006
值,可另
Figure 600524DEST_PATH_IMAGE009
0,即
Figure 651657DEST_PATH_IMAGE010
时,得:
Figure 576887DEST_PATH_IMAGE011
此时,取最小值为:
Figure 800375DEST_PATH_IMAGE012
本步骤的核心是搜索最佳量化区间,搜索过程如下:
步骤231:设x∊[0, 255]且num(x)≠0时,对应的最小x值为xlow ,最大值为xup ,将区间[xlow xup ]等分8份,作为x最佳量化区间的初值,即[xk_down xk_up ]初值为[xlow +k(xup - xlow )/8,xlow +(k+1)(xup - xlow )/8];
步骤232:分别计算几个代价函数:区间[xk_down xk_up ]代价函数
Figure 372619DEST_PATH_IMAGE013
、区间[xk +1_down xk +1_up ]的代价函数
Figure 400618DEST_PATH_IMAGE014
;区间[xk_down xk_up -1]代价函数
Figure 519884DEST_PATH_IMAGE015
、区间[xk +1_down -1, xk +1_up ]的代价函数
Figure 709556DEST_PATH_IMAGE016
;区间[xk_down xk_up +1]代价函数
Figure 547062DEST_PATH_IMAGE017
、区间[xk +1_down +1, xk +1_up ]的代价函数
Figure 113173DEST_PATH_IMAGE018
步骤233:比较步骤232得到的代价函数的几项和值:
Figure 349595DEST_PATH_IMAGE013
+
Figure 647852DEST_PATH_IMAGE014
+
Figure 342456DEST_PATH_IMAGE016
Figure 233051DEST_PATH_IMAGE017
+
Figure 967789DEST_PATH_IMAGE018
,将其中和值最小的取值点作新的区间划分;
步骤234:重复步骤232和步骤233,调整各个区间的划分,直到区间的划分不再改变为止,即
Figure 514308DEST_PATH_IMAGE013
+
Figure 687800DEST_PATH_IMAGE014
>=+
Figure 604121DEST_PATH_IMAGE016
Figure 575619DEST_PATH_IMAGE013
+>=
Figure 81305DEST_PATH_IMAGE017
+
Figure 220162DEST_PATH_IMAGE018
为止;
步骤235:分别取k=0, 1, …, 7,进行步骤步骤232~步骤234,得到
Figure 741273DEST_PATH_IMAGE001
分量的8个量化区间;
步骤240:计算区间映射表map[256],即对于x∊[xk_down xk_up ],map(
Figure 990989DEST_PATH_IMAGE001
)=k
步骤250:根据各颜色分量的量化区间分布,将四维的图像颜色取值空间被分割为4096个子空间;
步骤300:调色板生成单元用于根据图像像素在图像颜色取值空间分布情况,计算并输出带透明度的图像调色板;具体步骤如下:
步骤310:遍历图片,根据步骤100得到的信息,提取图像各像素颜色信息,根据每个像素的R、G、B、α值,按照map映射表的规则,映射到4096个子空间中,统计得到每个子空间中像素数目,得到像素的颜色子空间分布直方图;
步骤320:定义指定的调色板长度为K,则将颜色子空间分布直方图按照其像素数目由大到小排列,取排在前面的K个子空间中像素颜色均值为调色板初值;
步骤330:若K≥256,则取步骤2得到的调色板初值为调色板终值;否则,以步骤200中得到的调色板初值为初始质心,以各子空间的像素颜色均值为量化点进行LBG矢量量化[3],得到的最终的调色板值;
步骤400:图像颜色量化单元用于量化图像各像素颜色,输出图像各像素索引值;具体步骤如下:
步骤410:遍历图片,计算像素点颜色与每个调色板颜色的空间距离;
步骤420:若调色板小于256,直接取距离最小的调色板条目序号作为像素索引值,否则,在直接取距离最小的调色板条目作为像素颜色的基础上,使用弗洛伊德-斯坦伯格抖动方法量化图像颜色;
步骤500:图像输出单元用于根据步骤300、步骤400输出的数据,生成并输出带透明度的PNG8索引图,即将调色板的RGB分量写入PNG8图像PLET字段,再将调色板的α分量相对应的写入PNG8图像tRNS字段,将像素索引值写入PNG8图像IDAT字段,再添加PNG8图像文件的文件头、文件尾,保存PNG8真彩色索引图,输出得到的图像。
CN201210290041.XA 2012-08-15 2012-08-15 一种具有透明度信息的图像的调色板装置与生成方法 Expired - Fee Related CN102881026B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210290041.XA CN102881026B (zh) 2012-08-15 2012-08-15 一种具有透明度信息的图像的调色板装置与生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210290041.XA CN102881026B (zh) 2012-08-15 2012-08-15 一种具有透明度信息的图像的调色板装置与生成方法

Publications (2)

Publication Number Publication Date
CN102881026A true CN102881026A (zh) 2013-01-16
CN102881026B CN102881026B (zh) 2015-01-07

Family

ID=47482339

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210290041.XA Expired - Fee Related CN102881026B (zh) 2012-08-15 2012-08-15 一种具有透明度信息的图像的调色板装置与生成方法

Country Status (1)

Country Link
CN (1) CN102881026B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104751823A (zh) * 2015-04-16 2015-07-01 曲阜师范大学 一种适用于移动终端显示屏幕的特征化方法
WO2015139176A1 (zh) * 2014-03-17 2015-09-24 富士通株式会社 基于调色板的编码装置、方法以及图像处理设备
CN105551069A (zh) * 2015-11-30 2016-05-04 中国农业科学院棉花研究所 一种索引图像的实时快速生成方法及系统
CN105578191A (zh) * 2015-12-15 2016-05-11 辽宁师范大学 基于直方图滑动窗口的索引图基色选择方法
CN105659577A (zh) * 2013-08-29 2016-06-08 快进影像有限公司 用于通过照相机获得包括α通道的图像文件的方法和装置
CN105992003A (zh) * 2015-03-01 2016-10-05 上海天荷电子信息有限公司 依据排序或频度对调色板颜色编号的图像压缩方法和装置
CN106296757A (zh) * 2015-06-09 2017-01-04 中兴通讯股份有限公司 一种图像处理方法和装置
CN107507125A (zh) * 2017-08-31 2017-12-22 郑州云海信息技术有限公司 一种WebP图像压缩中Alpha通道调色板生成方法、系统及主机端
CN110288670A (zh) * 2019-06-19 2019-09-27 杭州绝地科技股份有限公司 一种ui描边特效的高性能渲染方法
CN111131818A (zh) * 2014-10-01 2020-05-08 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111131824A (zh) * 2015-01-15 2020-05-08 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111124404A (zh) * 2019-11-29 2020-05-08 武汉虹信技术服务有限责任公司 一种自定义颜色的显示方法及系统
CN111563517A (zh) * 2020-04-20 2020-08-21 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质
CN112839225A (zh) * 2015-04-02 2021-05-25 株式会社Kt 对视频信号进行编解码的方法
CN113473150A (zh) * 2021-07-08 2021-10-01 浙江大华技术股份有限公司 一种图像处理方法、装置以及计算机可读存储装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302048A (zh) * 1999-12-27 2001-07-04 Lg电子株式会社 色空间量化描述符结构
US20050089222A1 (en) * 1999-11-19 2005-04-28 Lg Electronics Inc. Method for quantization of histogram bin value of image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050089222A1 (en) * 1999-11-19 2005-04-28 Lg Electronics Inc. Method for quantization of histogram bin value of image
CN1302048A (zh) * 1999-12-27 2001-07-04 Lg电子株式会社 色空间量化描述符结构

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MICHAEL T. ORCHARD等: "Color Quantization of Images", 《IEEE TRANSACTIONS ON SIGNAL PROCESSING》 *
袁雪庚等: "自动色彩均衡快速算法", 《计算机辅助设计与图形学学报》 *
马玉洁: "一种模糊核聚类的彩色图像量化算法", 《河南科技大学学报:自然科学版》 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105659577A (zh) * 2013-08-29 2016-06-08 快进影像有限公司 用于通过照相机获得包括α通道的图像文件的方法和装置
WO2015139176A1 (zh) * 2014-03-17 2015-09-24 富士通株式会社 基于调色板的编码装置、方法以及图像处理设备
CN111131818A (zh) * 2014-10-01 2020-05-08 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111131818B (zh) * 2014-10-01 2023-05-26 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111131824B (zh) * 2015-01-15 2023-10-03 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN111131824A (zh) * 2015-01-15 2020-05-08 株式会社Kt 对视频信号进行解码的方法和对视频信号进行编码的方法
CN105992003A (zh) * 2015-03-01 2016-10-05 上海天荷电子信息有限公司 依据排序或频度对调色板颜色编号的图像压缩方法和装置
CN112839225A (zh) * 2015-04-02 2021-05-25 株式会社Kt 对视频信号进行编解码的方法
CN112839225B (zh) * 2015-04-02 2024-03-29 株式会社Kt 对视频信号进行编解码的方法
CN104751823A (zh) * 2015-04-16 2015-07-01 曲阜师范大学 一种适用于移动终端显示屏幕的特征化方法
CN106296757A (zh) * 2015-06-09 2017-01-04 中兴通讯股份有限公司 一种图像处理方法和装置
CN105551069B (zh) * 2015-11-30 2018-08-14 中国农业科学院棉花研究所 一种索引图像的实时快速生成方法及系统
CN105551069A (zh) * 2015-11-30 2016-05-04 中国农业科学院棉花研究所 一种索引图像的实时快速生成方法及系统
CN105578191B (zh) * 2015-12-15 2018-12-07 辽宁师范大学 基于直方图滑动窗口的索引图基色选择方法
CN105578191A (zh) * 2015-12-15 2016-05-11 辽宁师范大学 基于直方图滑动窗口的索引图基色选择方法
CN107507125A (zh) * 2017-08-31 2017-12-22 郑州云海信息技术有限公司 一种WebP图像压缩中Alpha通道调色板生成方法、系统及主机端
CN110288670B (zh) * 2019-06-19 2023-06-23 杭州绝地科技股份有限公司 一种ui描边特效的高性能渲染方法
CN110288670A (zh) * 2019-06-19 2019-09-27 杭州绝地科技股份有限公司 一种ui描边特效的高性能渲染方法
CN111124404B (zh) * 2019-11-29 2023-06-20 武汉虹信技术服务有限责任公司 一种自定义颜色的显示方法及系统
CN111124404A (zh) * 2019-11-29 2020-05-08 武汉虹信技术服务有限责任公司 一种自定义颜色的显示方法及系统
CN111563517A (zh) * 2020-04-20 2020-08-21 腾讯科技(深圳)有限公司 图像处理方法、装置、电子设备及存储介质
CN113473150A (zh) * 2021-07-08 2021-10-01 浙江大华技术股份有限公司 一种图像处理方法、装置以及计算机可读存储装置

Also Published As

Publication number Publication date
CN102881026B (zh) 2015-01-07

Similar Documents

Publication Publication Date Title
CN102881026B (zh) 一种具有透明度信息的图像的调色板装置与生成方法
US11010955B2 (en) Point cloud mapping
US20220405533A1 (en) Trimming Search Space For Nearest Neighbor Determinations in Point Cloud Compression
CN1681330B (zh) 自适应2n叉树生成方法及3D体数据编码和解码方法和设备
US11212539B2 (en) Efficient lossless compression of captured raw image information systems and methods
US11595630B2 (en) Depth codec for real-time, high-quality light field reconstruction
US20060204086A1 (en) Compression of palettized images
CN103209326B (zh) 一种png图片的压缩方法
US8780996B2 (en) System and method for encoding and decoding video data
CN111260593B (zh) 图像处理方法、装置、电子设备及存储介质
JP2017520036A (ja) モザイク画像の生成方法および装置
US9058540B2 (en) Data clustering method and device, data processing apparatus and image processing apparatus
CN105933708B (zh) 一种数据压缩和解压缩的方法和装置
CN105828081B (zh) 编码方法及编码装置
CN106097252A (zh) 基于图Graph模型的高光谱图像超像素分割方法
CN101588509B (zh) 视频图像编码和解码方法
CN114222129A (zh) 图像压缩编码方法、装置、计算机设备和存储介质
US10045029B2 (en) Clustering and encoding for color compression
CN116156140A (zh) 视频显示处理方法、装置、计算机设备和存储介质
CN116630687A (zh) 级联带状混合的多层感知机模型图像识别方法及相关设备
CN108200433B (zh) 一种图像压缩和解压缩方法
CN107124613B (zh) 对多普勒天气雷达第二类产品数据进行重编码处理的方法
US7468733B2 (en) Method and system for improving color reduction
WO2022262546A1 (zh) 一种数据处理方法、装置、电子设备和存储介质
CN114554175B (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150107

Termination date: 20180815