CN104851119A - 一种动画可移植网络图形图片的生成方法和装置 - Google Patents

一种动画可移植网络图形图片的生成方法和装置 Download PDF

Info

Publication number
CN104851119A
CN104851119A CN201410049619.1A CN201410049619A CN104851119A CN 104851119 A CN104851119 A CN 104851119A CN 201410049619 A CN201410049619 A CN 201410049619A CN 104851119 A CN104851119 A CN 104851119A
Authority
CN
China
Prior art keywords
picture
png
variation
region
apng
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
CN201410049619.1A
Other languages
English (en)
Other versions
CN104851119B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201410049619.1A priority Critical patent/CN104851119B/zh
Publication of CN104851119A publication Critical patent/CN104851119A/zh
Application granted granted Critical
Publication of CN104851119B publication Critical patent/CN104851119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种APNG图片的生成方法和装置:当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张PNG图片进行排序,M为正整数;针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。应用本发明所述方案,能够提升压缩效果。

Description

一种动画可移植网络图形图片的生成方法和装置
技术领域
本发明涉及图像处理技术,特别涉及一种动画可移植网络图形(APNG,AnimatedPortable Network Graphics)图片的生成方法和装置。
背景技术
APNG是一种基于可移植网络图形(PNG,Portable Network Graphics)的位图动画格式,扩展方法类似于图形交换格式(GIF,Graphics Interchange Format)-89a,仍保留对传统PNG的向下兼容。
现有APNG图片的生成方式类似于GIF,即将一组大小相同的PNG图片合并为一张APNG图片,原来的每一张PNG图片均变为APNG图片的一帧。
图1为现有APNG图片的生成方式示意图。
如图1所示,假设利用3张PNG图片来生成一张APNG图片,为便于表述,按照由先到后的展示顺序,将3张PNG图片分别称为frame1、frame2和frame3;
首先,可确定出相比于frame1,frame2中存在的变化区域,并记录变化区域的图片数据和位置信息;
之后,可确定出相比于frame2,frame3中存在的变化区域,并记录变化区域的图片数据和位置信息;
最后,可根据frame1的图片数据的和图片信息、frame2中的变化区域的图片数据和位置信息,以及frame3中的变化区域的图片数据和位置信息,生成该APNG图片;其中,图片信息可包括图片大小等。
具体地,可生成该APNG图片的数据文件,其中按照预定格式保存有frame1的图片数据和图片信息、frame2中的变化区域的图片数据和位置信息,以及frame3中的变化区域的图片数据和位置信息;当解析时,针对除frame1以外的每张PNG图片,可根据每张PNG图片中的变化区域的位置信息,用变化区域的图片数据来替换与其相邻的前一张PNG图片中的对应位置的图片数据,从而依次还原出各张PNG图片,并呈现出该APNG图片的动画效果。
可以看出,采用上述方式后,可以复用相邻的前一张PNG图片中的相同区域的图片数据,从而达到了数据压缩的效果,进而减少了所保存的数据量,节省了存储空间。
但是,上述压缩效果有限,为了进一步节省存储空间,还需要通过其它方式来进一步提升压缩效果。
发明内容
有鉴于此,本发明提供了一种APNG图片的生成方法和装置,能够提升压缩效果。
为了达到上述目的,本发明的技术方案是这样实现的:
一种APNG图片的生成方法,包括:
当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张可移植网络图形PNG图片进行排序,M为正整数;
针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;
根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
一种APNG图片的生成装置,包括:
第一处理模块,用于当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张可移植网络图形PNG图片进行排序,M为正整数,并将排序结果通知给第二处理模块;
所述第二处理模块,用于针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
可见,采用本发明所述方案,在生成APNG图片时,不但可以复用相邻的前一张PNG图片中的相同区域的图片数据,而且可以对PNG图片进行有损压缩,从而进一步提升了压缩效果,进而进一步节省了存储空间等。
附图说明
图1为现有APNG图片的生成方式示意图。
图2为本发明APNG图片的生成方法实施例的流程图。
图3为本发明APNG图片的生成方式示意图。
图4为本发明APNG图片的生成装置实施例的组成结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明中提出一种改进后的APNG图片的生成方案,不但可以复用相邻的前一张PNG图片中的相同区域的图片数据,而且可以对PNG图片进行有损压缩。
有损压缩是利用了人类对于图片中的某些色彩不敏感的特性,允许压缩过程中损失一定的信息,虽然后续不能完全恢复原始数据,但是所损失的部分对于理解原图片并不会造成实质影响。
在实际应用中,对PNG图片进行有损压缩的时机选择非常重要,比如,如果先对各PNG图片进行有损压缩,然后再按照图1所示方式生成APNG图片,则会出现问题。
因为对于任意一张PNG图片来说,当对其进行有损压缩后,会对其中的图片数据进行重组,从而导致该PNG图片与相邻的前一张PNG图片中的相同区域发生变化,进而导致不能复用相邻的前一张PNG图片中的相同区域的图片数据。
基于上述介绍,图2为本发明APNG图片的生成方法实施例的流程图。如图2所示,包括以下步骤21~23。
步骤21:当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张PNG图片进行排序,M为正整数。
如前所述,一张APNG图片是由一组大小相同的PNG图片合并而成的,其中,各张PNG图片的展示顺序是有预定要求的。
本步骤中,当需要生成一张APNG图片时,即可按照由先到后的展示顺序,对生成该APNG图片所需的各张PNG图片进行排序。
步骤22:针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据。
变化区域即指不同区域,所述不同可包括任意不同,如图片内容不同或图片亮度不同等。
所述变化区域的位置信息可包括:变化区域的左上角坐标以及变化区域的长和宽,或者,变化区域的左上角坐标和右下角坐标,或者,变化区域的右上角坐标和左下角坐标,或者,变化区域的中心点坐标以及长和宽等;只要能够定义出变化区域在PNG图片的具体位置即可。
为便于表述,本实施例中,用PNG图片i来表示排序后处于第2~M位的任意一张PNG图片,用PNG图片j来表示与PNG图片i相邻的前一张PNG图片。
针对排序后处于第2~M位的各张PNG图片,可在分别确定出其变化区域并记录变化区域的位置信息之后,再分别对各张PNG图片进行有损压缩和裁剪等处理,如何确定变化区域和现有技术中相同。
可以看出,本发明所述方案中是在确定出变化区域之后,才对PNG图片进行有损压缩,从而避免了先进行有损压缩所导致的不能复用相邻的前一张PNG图片中的相同区域的图片数据的问题。
另外,具体采用何种有损压缩算法来对各张PNG图片进行有损压缩不作限制。
步骤23:根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
本步骤中,可采用以下两种实现方式:
1)方式一
根据排序后处于第一位的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片;
2)方式二
对排序后处于第一位的PNG图片进行有损压缩;根据排序后处于第一位且进行有损压缩后的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
也就是说,对于排序后处于第一位的PNG图片,可以对其进行有损压缩,也可以不对其进行有损压缩,具体采用上述哪种方式可根据实际需要而定。
所述图片信息可包括图片大小等。
另外,理论上来说,每张PNG图片中的变化区域的个数可能是一个,也可能是多个,但在实际应用中,通常只会涉及到一个的情况,无论是一个还是多个,本发明所述方案均适用。
以下通过具体示例,对本发明所述方案进行进一步说明。
图3为本发明APNG图片的生成方式示意图。
如图3所示,假设利用3张PNG图片来生成一张APNG图片,为便于表述,按照由先到后的展示顺序,将3张PNG图片分别称为frame1、frame2和frame3。
首先,确定出相比于frame1,frame2中存在的变化区域,并记录变化区域的位置信息;确定出相比于frame2,frame3中存在的变化区域,并记录变化区域的位置信息。
之后,对frame2进行有损压缩,得到压缩后的PNG图片frame2-loss;对frame3进行有损压缩,得到压缩后的PNG图片frame3-loss。
之后,根据frame2中的变化区域的位置信息,对frame2-loss进行裁剪,得到变化区域,并记录变化区域的图片数据;根据frame3中的变化区域的位置信息,对frame3-loss进行裁剪,得到变化区域,并记录变化区域的图片数据。
假设不需要对frame1进行有损压缩,那么则可根据frame1的图片数据和图片信息、frame2中的变化区域的图片数据和位置信息,以及frame3中的变化区域的图片数据和位置信息,生成该APNG图片。
如前所述,可生成该APNG图片的数据文件,其中按照预定格式保存有frame1的图片数据和图片信息、frame2中的变化区域的图片数据和位置信息,以及frame3中的变化区域的图片数据和位置信息。
并且,针对除frame1以外的每张PNG图片,可根据每张PNG图片中的变化区域的位置信息,用变化区域的图片数据来替换与其相邻的前一张PNG图片中的对应位置的图片数据(即相同区域使用相邻的前一张PNG图片中的图片数据,不同区域使用自身的图片数据),从而可依次还原出各张PNG图片,并呈现出该APNG图片的动画效果。
具体地,可解析该APNG图片的数据文件,并首先按照frame1的图片数据和图片信息展示frame1;之后,可根据frame2中的变化区域的位置信息,用frame2中的变化区域的图片数据替换frame1中的对应位置的图片数据,从而还原出frame2并展示,假设frame2中的变化区域的左上角坐标为(10,10)、长和宽分别为30和20,那么,所述替换即指将frame1中的左上角坐标为(10,10,)、长和宽分别为30和20的区域中的图片数据替换为frame2中的变化区域中的图片数据;之后,可根据frame3中的变化区域的位置信息,用frame3中的变化区域的图片数据替换frame2中的对应位置的图片数据,从而还原出frame3并展示,当按照上述方式对frame1、frame2和frame3依次进行展示后,即会呈现出该APNG图片的动画效果。
图4为本发明APNG图片的生成装置实施例的组成结构示意图。如图4所示,包括:
第一处理模块41,用于当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张PNG图片进行排序,M为正整数,并将排序结果通知给第二处理模块42;
第二处理模块42,用于针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
具体地,
第二处理模块42可根据排序后处于第一位的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片;
或者,
第二处理模块42可对排序后处于第一位的PNG图片进行有损压缩;根据排序后处于第一位且进行有损压缩后的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
较佳地,
所述位置信息可包括以下之一:左上角坐标以及长和宽、左上角坐标和右下角坐标、右上角坐标和左下角坐标、中心点坐标以及长和宽;
所述图片信息可包括:图片大小。
图4所示装置实施例的具体工作流程请参照前述方法实施例中的相应说明,此处不再赘述。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种动画可移植网络图形APNG图片的生成方法,其特征在于,包括:
当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张可移植网络图形PNG图片进行排序,M为正整数;
针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;
根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
2.根据权利要求1所述的方法,其特征在于,
所述根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片包括:
根据排序后处于第一位的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
3.根据权利要求1所述的方法,其特征在于,
所述根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片包括:
对排序后处于第一位的PNG图片进行有损压缩;
根据排序后处于第一位且进行有损压缩后的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
4.根据权利要求2或3所述的方法,其特征在于,
所述位置信息包括以下之一:左上角坐标以及长和宽、左上角坐标和右下角坐标、右上角坐标和左下角坐标、中心点坐标以及长和宽;
所述图片信息包括:图片大小。
5.一种动画可移植网络图形APNG图片的生成装置,其特征在于,包括:
第一处理模块,用于当需要生成一张APNG图片时,按照由先到后的展示顺序对生成该APNG图片所需的M张可移植网络图形PNG图片进行排序,M为正整数,并将排序结果通知给第二处理模块;
所述第二处理模块,用于针对排序后处于第i位的PNG图片i,1<i≤M,分别确定相比于进行有损压缩之前的PNG图片j,j=i-1,PNG图片i中存在的变化区域,并记录变化区域的位置信息;对PNG图片i进行有损压缩,根据所记录的PNG图片i中的变化区域的位置信息,从进行有损压缩后的PNG图片i中裁剪出变化区域,并记录裁剪出的变化区域的图片数据;根据排序后处于第一位的PNG图片以及所记录的信息,生成该APNG图片。
6.根据权利要求5所述的装置,其特征在于,
所述第二处理模块根据排序后处于第一位的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
7.根据权利要求5所述的装置,其特征在于,
所述第二处理模块对排序后处于第一位的PNG图片进行有损压缩;根据排序后处于第一位且进行有损压缩后的PNG图片的图片数据和图片信息,以及排序后处于第2~M位的各PNG图片中的变化区域的图片数据和位置信息,生成该APNG图片。
8.根据权利要求6或7所述的装置,其特征在于,
所述位置信息包括以下之一:左上角坐标以及长和宽、左上角坐标和右下角坐标、右上角坐标和左下角坐标、中心点坐标以及长和宽;
所述图片信息包括:图片大小。
CN201410049619.1A 2014-02-13 2014-02-13 一种动画可移植网络图形图片的生成方法和装置 Active CN104851119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410049619.1A CN104851119B (zh) 2014-02-13 2014-02-13 一种动画可移植网络图形图片的生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410049619.1A CN104851119B (zh) 2014-02-13 2014-02-13 一种动画可移植网络图形图片的生成方法和装置

Publications (2)

Publication Number Publication Date
CN104851119A true CN104851119A (zh) 2015-08-19
CN104851119B CN104851119B (zh) 2019-04-12

Family

ID=53850746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410049619.1A Active CN104851119B (zh) 2014-02-13 2014-02-13 一种动画可移植网络图形图片的生成方法和装置

Country Status (1)

Country Link
CN (1) CN104851119B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570968A (zh) * 2004-01-18 2005-01-26 马堃 复用电子相框的数字图像合成的方法
CN1946144A (zh) * 2006-11-01 2007-04-11 李博航 实时视频、图像传输技术
CN102804791A (zh) * 2010-01-22 2012-11-28 索尼公司 接收装置、发送装置、通信系统、接收装置控制方法和程序

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570968A (zh) * 2004-01-18 2005-01-26 马堃 复用电子相框的数字图像合成的方法
CN1946144A (zh) * 2006-11-01 2007-04-11 李博航 实时视频、图像传输技术
CN102804791A (zh) * 2010-01-22 2012-11-28 索尼公司 接收装置、发送装置、通信系统、接收装置控制方法和程序

Also Published As

Publication number Publication date
CN104851119B (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
US8924888B2 (en) Dynamic data object insertion
US10191890B2 (en) Persistent viewports
CN107015788B (zh) 在移动设备上动画展现图像的方法和装置
CN102129425B (zh) 数据仓库中大对象集合表的访问方法及装置
CN110692251B (zh) 组合数字视频内容的方法及系统
US20140164911A1 (en) Preserving layout of region of content during modification
CN110506267B (zh) 数字组件背景渲染
CN105787402A (zh) 一种信息展示方法及装置
CN106055294A (zh) 一种图层合成优化方法和装置
CN105096367A (zh) 优化Canvas绘制性能的方法及装置
CN103927780A (zh) 一种多显卡渲染的方法与三维显示系统
CN112714357A (zh) 视频播放方法、视频播放装置、电子设备和存储介质
CN111612004A (zh) 一种基于语义内容的图像裁剪方法及装置
CN112954391A (zh) 视频编辑方法、装置和电子设备
CN113204401B (zh) 浏览器渲染方法,终端及存储介质
CN107544989B (zh) 一种演示文档分层处理方法及装置
US20150242988A1 (en) Methods of eliminating redundant rendering of frames
CN107924574B (zh) 针对分组对象的智能翻转操作
CN104851119A (zh) 一种动画可移植网络图形图片的生成方法和装置
CN112541140A (zh) 一种列表加载方法、终端设备、电子设备及存储介质
EP3722949A1 (en) Image transmission method, apparatus and storage medium
KR20170023858A (ko) 비디오 장면을 프로세싱하기 위한 방법 및 대응 디바이스
CN102270179A (zh) 用于cad系统的基于片元的数据存储和处理方法及其系统
CN103440258A (zh) 地图显示方法及装置
CN102611906A (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
GR01 Patent grant
GR01 Patent grant