CN103209326B - 一种png图片的压缩方法 - Google Patents
一种png图片的压缩方法 Download PDFInfo
- Publication number
- CN103209326B CN103209326B CN201310104683.0A CN201310104683A CN103209326B CN 103209326 B CN103209326 B CN 103209326B CN 201310104683 A CN201310104683 A CN 201310104683A CN 103209326 B CN103209326 B CN 103209326B
- Authority
- CN
- China
- Prior art keywords
- node
- image
- palette
- color
- color space
- 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.)
- Expired - Fee Related
Links
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Color Image Communication Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种PNG图片的压缩方法,包括以下步骤:(1)读取原始图像,获取原始图像的RGB颜色空间转换为HSV颜色空间;(2)利用步骤(1)中所获取的图像的像素数据,通过八叉树法设置调色板;(3)利用步骤(2)获得的调色板在步骤(1)所获取的图像上建立像素调色板索引,得到索引图像;(4)利用步骤(2)获得的调色板对步骤(3)所获取的索引图像中的像素数据进行数据压缩;(5)生成最终压缩的PNG格式图片。本发明通过将源图片转换为PNG格式图片,并删除不必要的数据块,得到较理想的PNG格式图片,同时具有较好的处理性能和较高的压缩率。
Description
技术领域
本发明涉及图像压缩领域,尤其涉及一种PNG图片的压缩方法。
背景技术
随着多媒体和通信技术的快速发展,多媒体信息的传输对数据的存储和传输提出了更高的要求,也给现有的有限带宽以严峻的考验,特别是具有庞大数据量的数字图像通信,更难以传输和存储,极大地制约了图像通信的发展。对于一个网站而言,页面的开启速度是至关重要的。它不仅直接影响到该网站在搜索引擎中的排名参数,更为重要的是,会减缓访客的页面开启速度。图像压缩的目的就是把原来较大的图像用尽量少的字节表示和传输,并且要求复原图像有较好的质量。利用图像压缩,可以减轻图像存储和传输的负担,使图像在网络上实现快速传输和实时处理。在开发手机游戏的过程中,PNG 图片可以说是最常用的图片格式,于是,如何让PNG格式图片的压缩发挥到极致就会显得尤为重要。PNG图片一般来说都比较小,但是它也会因为包含很多无谓的数据块而变大。本发明通过将源图片转换为PNG格式图片,并通过删除不必要的数据块来将PNG文件压缩到最完美的状态。
发明内容
为了实现PNG图片更好的的压缩率,本发明提供一种PNG图片的压缩方法的设计方案。
一种PNG图片的压缩方法,包括以下步骤:
(1)读取原始图像,获取的原始图像的RGB颜色空间转换为HSV颜色空间。
(2)利用步骤(1)中转换为HSV颜色空间后的图像,获取其像素数据,并通过八叉树法设置调色板。
(3)利用步骤(2)获得的调色板在步骤(1)所获取的图像上建立像素调色板索引,得到索引图像。
(4)利用步骤(2)获得的调色板对步骤(3)所获取的索引图像中的像素数据进行数据压缩。
(5)生成最终压缩的PNG格式图片。
步骤(2)所述八叉树法设置调色板的方法包括以下步骤:(a)建立一棵只有根节点node0的八叉树,并进行初始化;(b)将整个HSV颜色空间根据色调均匀等分成8个小颜色空间,分别顺序标记为node1,node2,…,node8,将其各个小颜色空间nodei(node1,node2,…,node8)作为根节点的叶子节点, 为每个节点nodei建立一个链表用以存储该颜色空间的颜色,并设置一个计数器counti记录该颜色空间中的颜色数;(c)从步骤(1)获得的图像文件中顺序读入每一个像素的颜色,在八叉树中查找该颜色所在的子颜色空间对应的叶子节点nodei,累加nodei的计数器counti,并将该颜色及对应像素位置加入nodei的链表中。如果counti大于设定阈值则分裂该节点,则将该节点对应的子颜色空间均匀分为8份作为其叶子节点,并为每个叶子节点建立用于存储该颜色空间的颜色的链表以及对应的计数器,并将该节点的链表中的颜色及其像素位置重新分配到叶子节点中;(d)将所有叶子节点按counti值进行排序,将前256个加入调色板;(e)依次对剩余的叶子节点在位于调色板中的节点里面选择一个与其颜色最相似的节点进行合并,整理得到最终调色板。
所述步骤(3)中建立像素调色板索引的方法为:依次处理步骤(2)中最终调色板中的节点,遍历节点的链表中的像素位置,将图像中对应像素位置的值改为调色板颜色索引。
所述步骤(4)中数据压缩方法采用Deflate压缩算法。
所述步骤(5)中最终得到的压缩的PNG格式图片包括5大数据块:文件头IHDR、调色板PLTE、透明度tRNS、像素数据IDAT、文件尾IEND。
综上所述,本发明通过将源图片转换为PNG格式图片,并删除不必要的数据块,得到较理想的PNG格式图片,同时具有较好的处理性能和较高的压缩率。
附图说明
图1为本发明所述一种PNG图片的压缩方法的流程示意图。
具体实施方式
为了让本领域的技术人员能够更好地了解本发明的技术方案,下面结合附图对本发明作进一步的阐述。
如图1所示,本发明揭示了一种PNG图片的压缩方法,包括以下步骤:
(1)读取原始图像,获取原始图像的RGB颜色空间转换为HSV颜色空间。
对图像的每一个像素点,设 (r, g, b) 分别是该像素点在RGB空间内的红、绿和蓝像素值,该值为 0 到 255 之间的实数。设max=max(r,g,b),min=min(r,g,b)。则相应在HSV空间中的 (h, s, v) 值分别为:
,
,
。
(2)利用步骤(1)中所获取的图像的像素数据,通过八叉树法设置调色板:(a)首先建立一棵只有根节点node0的八叉树,并进行初始化;(b)将整个HSV颜色空间根据色调均匀等分成8个小颜色空间,分别顺序标记为node1,node2,…,node8,将其各个小颜色空间nodei(node1,node2,…,node8)作为根节点的叶子节点, 为每个节点nodei建立一个链表用以存储该颜色空间的颜色,并设置一个计数器counti记录该颜色空间中的颜色数;(c)从步骤(1)获得的图像文件中顺序读入每一个像素的颜色,在八叉树中查找该颜色所在的子颜色空间对应的叶子节点nodei,累加nodei的计数器counti,并为每个叶子节点建立用于存储该颜色空间的颜色的链表以及对应的计数器,并将该颜色及对应像素位置加入nodei的链表中。如果counti大于设定阈值则分裂该节点,即将该节点对应的子颜色空间均匀分为8份作为其叶子节点,并将该节点的链表中的颜色及其像素位置重新分配到叶子节点中;(d)将所有叶子节点按counti值进行排序,将前256个加入调色板;(e)依次对剩余的叶子节点在位于调色板中的节点里面选择一个与其颜色最相似的节点进行合并,整理得到最终调色板。
(3)利用步骤(2)获得的调色板,依次处理步骤(2)中最终调色板中的节点,遍历节点的链表中的像素位置,将图像中对应像素位置的值改为调色板颜色索引,得到索引图像;
(4)利用步骤(2)获得的调色板对步骤(3)所获取的索引图像中的像素数据采用Deflate压缩算法进行数据压缩;
(5)进行的PNG图片结构化写,即将包括文件头IHDR、调色板PLTE、透明度tRNS、像素数据IDAT、文件尾IEND的5大数据块依次写入图片文件,得到最终压缩的PNG格式图片。
本实施例只是本发明的较优实施方式,需要说明的是,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种PNG图片的压缩方法,其特征在于,包括以下步骤:
(1)读取原始图像,获取原始图像的RGB颜色空间转换为HSV颜色空间;
(2)利用步骤(1)中转换为HSV颜色空间后的图像,获取其像素数据,并通过八叉树法设置调色板;
(3)利用步骤(2)获得的调色板在步骤(1)所获取的图像上建立像素调色板索引,得到索引图像;
(4)利用步骤(2)获得的调色板对步骤(3)所获取的索引图像中的像素数据进行数据压缩;
(5)生成最终压缩的PNG格式图片。
步骤(2)所述八叉树法设置调色板的方法包括以下步骤:
(a)建立一棵只有根节点node0的八叉树,并进行初始化;
(b)将整个HSV颜色空间根据色调均匀等分成8个子颜色空间,分别顺序标记为node1,node2,…,node8,将其各个子颜色空间nodei作为根节点的子节点,为每个子节点nodei建立一个链表用于存储该子颜色空间的颜色,并设置一个计数器counti记录该子颜色空间中的颜色数;
(c)从步骤(1)获得的图像文件中顺序读入每一个像素的颜色,在八叉树中查找该颜色所在的子颜色空间对应的子节点nodei,累加nodei的计数器counti,并将该颜色及对应像素位置加入nodei的链表中,如果counti大于设定阈值则分裂该节点,则将该原节点对应的子颜色空间均匀分为8份作为其新子节点,并为每个新子节点建立用于存储该颜色空间的颜色的链表以及对应的计数器,并将该原节点的链表中的颜色及其像素位置重新分配到新子节点中;
(d)将所有子节点按counti值进行排序,将前256个加入调色板;
(e)依次对剩余的子节点在位于调色板中的节点里面选择一个与其颜色最相似的节点进行合并,整理得到最终调色板;
所述步骤(3)中建立像素调色板索引的方法为:依次处理步骤(2)中最终调色板中的节点,遍历节点的链表中的像素位置,将图像中对应像素位置的值改为调色板颜色索引。
2.根据权利要求1所述一种PNG图片的压缩方法,其特征在于:所述步骤(4)中数据压缩方法采用Deflate压缩算法。
3.根据权利要求1所述一种PNG图片的压缩方法,其特征在于:所述步骤(5)中最终得到的压缩PNG格式图片包括5大数据块:文件头IHDR、调色板PLTE、透明度tRNS、像素数据IDAT、文件尾IEND。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310104683.0A CN103209326B (zh) | 2013-03-29 | 2013-03-29 | 一种png图片的压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310104683.0A CN103209326B (zh) | 2013-03-29 | 2013-03-29 | 一种png图片的压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103209326A CN103209326A (zh) | 2013-07-17 |
CN103209326B true CN103209326B (zh) | 2017-04-12 |
Family
ID=48756393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310104683.0A Expired - Fee Related CN103209326B (zh) | 2013-03-29 | 2013-03-29 | 一种png图片的压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103209326B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427341B (zh) * | 2013-08-28 | 2019-01-15 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置及终端 |
US10321141B2 (en) * | 2013-12-18 | 2019-06-11 | Hfi Innovation Inc. | Method and apparatus for palette initialization and management |
CN106031142B (zh) * | 2013-12-18 | 2019-07-26 | 寰发股份有限公司 | 在视频编码中用于调色板预测和共享的方法和装置 |
CN110225345B (zh) * | 2013-12-27 | 2022-07-19 | 寰发股份有限公司 | 用于主颜色索引图编码的方法及装置 |
WO2015096157A1 (en) * | 2013-12-27 | 2015-07-02 | Mediatek Inc. | Patterns of major color index map in palette coding |
US9906799B2 (en) * | 2014-06-20 | 2018-02-27 | Qualcomm Incorporated | Copy from previous rows for palette mode coding |
CN111800632B (zh) * | 2015-01-15 | 2024-03-29 | 株式会社Kt | 对编码视频信号解码的方法和对视频信号编码的方法 |
CN105828079B (zh) * | 2015-01-27 | 2020-06-16 | 同济大学 | 图像处理方法及装置 |
WO2016119667A1 (zh) * | 2015-01-27 | 2016-08-04 | 同济大学 | 图像处理方法及装置 |
CN105551069B (zh) * | 2015-11-30 | 2018-08-14 | 中国农业科学院棉花研究所 | 一种索引图像的实时快速生成方法及系统 |
CN108111858B (zh) * | 2016-11-24 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 一种图片压缩方法及装置 |
CN108776982A (zh) * | 2018-05-31 | 2018-11-09 | 苏州蜗牛数字科技股份有限公司 | 一种基于调色板压缩图片的显示方法 |
CN110851155A (zh) * | 2019-10-22 | 2020-02-28 | 北京四达时代软件技术股份有限公司 | 机顶盒界面主题颜色变更方法及装置 |
CN113068043B (zh) * | 2020-01-02 | 2024-04-30 | 武汉金山办公软件有限公司 | 一种png图像压缩方法、装置、电子设备及存储介质 |
CN111798366A (zh) * | 2020-06-18 | 2020-10-20 | 福州富昌维控电子科技有限公司 | 基于小内存嵌入式设备加快png显示速度的方法及终端 |
CN113223100B (zh) * | 2021-05-07 | 2024-09-13 | 深圳市中科世为科技有限公司 | 一种图片的压缩、解压缩处理方法 |
CN113473150B (zh) * | 2021-07-08 | 2022-11-22 | 浙江大华技术股份有限公司 | 一种图像处理方法、装置以及计算机可读存储装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1681330B (zh) * | 2004-03-08 | 2010-07-21 | 三星电子株式会社 | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 |
CN102510434A (zh) * | 2011-09-30 | 2012-06-20 | 深圳市融创天下科技股份有限公司 | 一种图像数据发送、恢复方法、装置及终端 |
CN102523367A (zh) * | 2011-12-29 | 2012-06-27 | 北京创想空间商务通信服务有限公司 | 基于多调色板的实时图像压缩和还原方法 |
CN102592293A (zh) * | 2011-01-07 | 2012-07-18 | 北京四维图新科技股份有限公司 | 一种真彩色图像的降色方法及装置 |
-
2013
- 2013-03-29 CN CN201310104683.0A patent/CN103209326B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1681330B (zh) * | 2004-03-08 | 2010-07-21 | 三星电子株式会社 | 自适应2n叉树生成方法及3D体数据编码和解码方法和设备 |
CN102592293A (zh) * | 2011-01-07 | 2012-07-18 | 北京四维图新科技股份有限公司 | 一种真彩色图像的降色方法及装置 |
CN102510434A (zh) * | 2011-09-30 | 2012-06-20 | 深圳市融创天下科技股份有限公司 | 一种图像数据发送、恢复方法、装置及终端 |
CN102523367A (zh) * | 2011-12-29 | 2012-06-27 | 北京创想空间商务通信服务有限公司 | 基于多调色板的实时图像压缩和还原方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103209326A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103209326B (zh) | 一种png图片的压缩方法 | |
CN102881026B (zh) | 一种具有透明度信息的图像的调色板装置与生成方法 | |
CN102523367B (zh) | 基于多调色板的实时图像压缩和还原方法 | |
CN112069339B (zh) | 背景图片处理及搜索结果展示方法、装置、设备和介质 | |
JP2017520036A (ja) | モザイク画像の生成方法および装置 | |
CN102821279A (zh) | 一种保留alpha通道的图片压缩方法 | |
CN105933708B (zh) | 一种数据压缩和解压缩的方法和装置 | |
AU2018233015B2 (en) | System and method for image processing | |
CN103702133B (zh) | 一种图像压缩展示方法及其装置 | |
CN110113615A (zh) | 图像编码方法、解码方法、装置、计算设备及存储介质 | |
CN108259908A (zh) | 用于编码和解码像素列表的方法和装置 | |
CN107148648B (zh) | 估计图像序列的两个不同颜色分级版本之间的颜色映射的方法和设备 | |
TWI426402B (zh) | 影片搜尋方法 | |
US8471925B2 (en) | Digital image processing apparatus and file managing method performed therein | |
CN104580804B (zh) | 一种图片压缩上传的方法和系统 | |
CN110751684B (zh) | 基于深度摄像模组的物体三维重建方法 | |
CN111406404B (zh) | 获得视频文件的压缩方法、解压缩方法、系统及存储介质 | |
CN102546899A (zh) | 手机及该手机的图片处理方法 | |
JP2015231125A (ja) | 画像伝送システム、画像処理装置、画像蓄積装置、及びそれらの制御方法 | |
CN107872441A (zh) | 生成设备属性配置文件的方法和装置 | |
CN108200433B (zh) | 一种图像压缩和解压缩方法 | |
CN114494467A (zh) | 图像色彩迁移方法、装置、电子设备和存储介质 | |
US7468733B2 (en) | Method and system for improving color reduction | |
CN109905715A (zh) | 插入sei数据的码流转换方法及系统 | |
KR100496734B1 (ko) | 네트워크를 통한 이미지 전송 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20171206 Address after: Community Service Building No. 10 North Road 516001 Guangdong Jiangbei new city in Huizhou Province, 3, 07, 08, 06, 10, 12, 13, 11 Patentee after: Guangdong Beidou Aerospace Technology Co., Ltd. Address before: 516007 Huizhou City, Guangdong Province Road, No. 46 Patentee before: Huizhou College |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170412 Termination date: 20210329 |
|
CF01 | Termination of patent right due to non-payment of annual fee |