用于无线网络和无线手持式设备的动画压缩方法

文档序号:7619415阅读:102来源:国知局
专利名称:用于无线网络和无线手持式设备的动画压缩方法
技术领域
本发明涉及一种动画压缩方法,尤其是涉及一种适用于无线网络和PDA、手机、PDA手机等无线手持式设备的动画压缩方法。
背景技术
图像是多媒体中极其重要的媒体,图象在信息交流中发挥重要的作用,但图象数字化后的数据量非常大;如一幅640×480中分辨率的24bit彩色图象数据量达920k bits,相对于当前有限的无线通讯带宽,这个数据量十分惊人,所以必须对图象进行压缩。在现有的动画图象压缩法中,如GIF动画压缩方法,它在WEB页面上使用相当广泛,被认为是与浏览器最友好,最兼容的的图片格式;它主要通过全局优化、帧间优化、帧内优化三个过程进行压缩。在全局优化时,为整个动画寻求最佳的调色板并尽可能减少帧的数目;帧间优化主要是除去帧间冗余,只保存帧与帧之间不同的差异部分;最后在帧内进行优化。GIF动画压缩的优点是压缩、解压简单易于实现,基本无损失;但它的致命缺点是无速率控制、颜色数的最小化对动画的生成有限制,由于现有的无线网络宽带有限、较长的等待延时、连接的可靠性较低,所以GIF动画压缩技术难以被基于无线网的多媒体应用采用。
另外如MPEG-4动画压缩方法,在许多方面都取得了突破,也考虑到了无线网络通讯中的一些问题;它采用了基于对象(Objeet-Based)的编码、基于模型(Model-based)的编码等编码技术,对象是指在一个场景中能够访问和操纵的实体,可以根据不同的纹理、运动、形状、模型和高层语义来划分对象,所以这是一种基于内容的数据压缩方式,与以前的压缩方法只是去掉帧内和帧间的冗余相比,MPEG-4则要求对图像和视频作更多的分析,甚至是理解。如将图像分割为运动物体对象和静止不动的背景对象平面,并对这两个对象进行分别处理。背景对象采用压缩比较高、损失比较大的办法进行编码,运动物体对象采用压缩比较低、损失比较小的办法,这样就在压缩效率和解码图像质量间得到较好的平衡;MPEG-4动画压缩方法主要包括对象的提取、对象的合成、对象的管理。但MPEG-4标准庞大,对象提取本身难度较大、过程处理复杂,由于现有无线手持式设备的CPU处理能力较低、内存空间较少、耗电量不能太高,以现有的无线手持式设备资源是难以满足MPEG-4动画压缩方法的需求,所以MPEG-4动画压缩方法在无线手持式设备上并不实用。因此现有的无线网络和PDA、手机、PDA手机等手持式设备上只能传递声音、数字、静止图象等信息,无法传递诸如动画等连续媒体信息。

发明内容
本发明的目的在于提供一种动画压缩方法,使得其压缩后的动画图象数据能在无线通讯网络上传输,并能在无线手持式设备上显示接收的动画图象。
本发明的目的可通过以下的技术措施来实现依次包括以下步骤1、以Flash文件为数据源,从中提取原始帧,并以彩色BMP图象文件的格式保存这些原始帧;2、将步骤1中生成的彩色BMP图象转换成256灰度级的BMP图象;3、从已转换成256灰度级的BMP图象的原始帧中提取关键帧首先要对所有灰度级图象计算各个灰度级的像素点在该帧中所占有的比例;然后从第二帧开始将该帧的比例值与前一帧相应的比例值进行比较并得出该差异值,最后将该差异值与预先设定的限定值作比较,若大于等于限定值,则该帧为关键帧。
4、对关键帧进行差分处理获取差异图象,并以指定的命名方式存为BMP差异图象文件;5、将步骤4中所生成BMP差异图象文件转换成PNG图象文件;该PNG文件名为1_f_x_y.PNG,其中PNG表示文件类型,f由1开始,表示这个文件是属于第几帧,x、y分别表示这个差异图片在这一帧中的左上角的坐标;6、对PNG图象文件序列进行了重新拼装,生成一个大的PNG图象文件及其相关的图片数据列表;再将该大PNG图象文件、数据列表及动画播放器一并打包。
本发明中获取差异图象的步骤为根据两幅图象求出对应的差异矩阵,当第一幅图象中某个点与另一幅图象中的对应点的差异大于指定的限定值时,则差异矩阵中相应的元素值为1;反之,元素值为0;然后圈定差异矩阵中那些只包含元素值为1的最大区域,并记录这些区域的最大内接矩形的左上角坐标和右下角坐标;该内接矩形集合所圈定的图象即为差异图象。
本发明中PNG图象文件序列重新拼装的步骤为对生成的小矩形PNG图片按矩形长边的尺寸大小进行排序,先取出其中尺寸最大的矩形,将尺寸第二大的矩形按各种可能的情况与尺寸最大的矩形进行边贴边的组合,选取各种组合中面积最小的多边形;再将尺寸第三大的矩形在上述面积最小的多边形的基础上进行边贴边的组合,选取各种组合中面积最小的多边形;依次不断地组合,最终形成一个包含了所有的小矩形PNG图片且其外接矩形面积最小的多边形,该多边形所圈定的区域即为拼装生成的大PNG图象文件。
本发明具有以下的优点(1)Flash文件小、表达动画效果突出,通过对Flash文件的处理,容易获得一个彩色动画帧序列,以BMP文件的格式保存,并将彩色BMP文件转换成256灰度级的BMP文件,灰度级图象比彩色图象数据量小,达到压缩的效果,且灰度级图象适合现有PDA、手机、PDA手机等手持式设备的黑自液晶显示屏上显示。(2)关键帧的提取是对原始帧进行了筛选与取舍,达到了再次压缩的效果;在提取过程中综合了关键帧时间间隔与像素差异对比等因素,提高了采集的效果与逼真度,这样可根据用户要求实现数据采集定制;同时通过设定帧的间隔时间、总采集帧数、播放窗口大小等参数,也可方便地为不同用户定制各种多媒体数据。(3)在得到了关键帧序列之后,在不降低显示质量的同时,利用差分矩阵求取图象序列中的差异子图象,这样在传送前后两帧图象时只需传送前一帧及后一帧与前一帧的差异图象即可完整表达原来两帧图象的内容,又一次极大地压缩了动画的数据量,有效地减少了冗余数据传输的冗余数据量。(4)对PNG文件名格式作了规定,这样在文件打包时就自动附加了每个文件所属的帧号及显示的相对位置等信息,使在动画帧的播放序列与PNG文件名序列之间建立了对应关系,也就是说利用PNG文件名将播放的相对时间和相对位置信息引入到一个PNG文件包中,实现了动画,从而既利用PNG的存储图象方面的优势,也使PNG文件格式能实现动画效果。(5)对最终图象采用了PNG的图象文件格式保存,同时将各个小的PNG图片组装成一个大的PNG文件,并使其占用的矩形面积最小,实现了更进一步的压缩。
从具体的实验数据也能显示本发明在无线手持式设备中的应用是相当有效的。通常用于动画操作的初始Flash文件大小约100K字节,需要另外的Flash动画播放软件,约360K字节,才能在PC机上播放。经过本发明的处理后,可生成一个约25K字节的PNG文件,打包之后可生成约40K字节的Jar文件包,适合在现有无线网络上传输;下载到手持式设备中,经解压可生成约90K字节的文件,在不超过200K字节的内存空间内即可实现动画播放,现有PDA、手机、PDA手机等无线手持式设备足以满足它的需求,使PDA、手机、PDA手机能实现连续媒体信息的传递。


图1为本发明的动画压缩流程框图。
具体实施例方式
从图1的动画压缩流程框图可以看出,本发明以Flash文件为数据源,从中获取原始帧。在对原始帧进行色彩转换的基础上从中提取关键帧。之后对关键帧进行差分处理,将结果以PNG包格式保存,并将PNG文件及播放器一起打包。下面对本发明作进一步的详细说明,本实施例依次包括以下的步骤1、以Flash文件为数据源,从中提取原始帧,并以彩色BMP图象文件的格式保存这些原始帧。提取原始帧可调用截图模块,由用户选择一个需要转换的SWF文件,然后自动打开播放,并截获播放窗口里的播放内容,以指定的间隔将播放内容存为连续的图片文件。在该项操作中,将有四个参数/选项可以设定,分别为间隔时间(ms)、总截取帧数、设定播放大小和是否在打开文件后自动开始截图;涵义分别为每两次截取屏幕之间的间隔、自动停止截取的最大帧数、以及Flash Player窗口出现后的客户区的大小。如果设定打开文件后自动开始截图,则将在成功打开SWF播放窗口后立即自动开始截图。所设定的参数与选项,间隔时间将在打开文件后创建定时器时生效,总截取帧数在开始录制后即生效,是否在打开文件后自动开始录制选项在打开后生效。
2、将步骤1中生成的彩色BMP图象转换成256灰度级的BMP图象。灰度级图象比彩色图象数据量小,并能在当前主流的黑白液晶显示屏上表现出用户可以接受的图象效果。该步骤的最终结果是得到一些256灰度级的BMP图象,达到了压缩的效果。
3、根据帧中各个灰度级的象素点的比例差别,从已转换成256灰度级的BMP图象的原始帧中提取关键帧。由于受显示设备资源限制及人眼的视觉时延影响,在手持式设备上显示一个动画并不需要播放第一步中所提取中的所有帧,有些相邻帧之间由于差别不大,在资源有限的情况下可以将其忽略。衡量帧与帧之间差异大小的尺度是该帧中各个灰度级的点数在整个帧中所占有的比例。如果两个帧中各个灰度级的象素点构成比例差别很大,则这两帧的差别很大,当它们的差别超过某个限定值时,也就是当它们之间的差别有足够大时,就认为它们是关键帧。另外原始帧中的第一帧与最后一帧具有不可替代的作用,它们是理所当然的关键帧。其它帧能否入选关键帧则通过计算来判定,首先要对第二步中的所有灰度级图象计算各个灰度级的像素点在该帧中所占有的比例,然后从第二帧开始将该帧的比例值与前一帧相应的比例值进行比较并求出该差异值,最后将该差异值与预先设定的限定值作比较,若大于等于限定值,则该帧为关键帧,否则该帧不是关键帧。这样就可以得出所有的关键帧。通过该步操作就对原有帧进行了筛选与取舍,客观上也达到了压缩效果。
4、对关键帧进行差分处理获取差异图象,并以指定的命名方式存为BMP差异图象文件。动画播放时连续的两个前后帧之间差别很少有突变,即前后两帧中有较大一部分图象内容是相同的,重复的,变化的只是帧中的一小部分。采用计算差异图象的方法使压缩后文件中尽量减少上述重复的部分,这对增进压缩效果有重要的意义。调用差分矩形模块,首先根据两幅图象求出对应的差异矩阵,当第一幅图象中某个点与另一幅图象中的对应点的差异大于指定的限定值时,则差异矩阵中相应的元素值为1;反之,元素值为0。之后圈定差异矩阵中那些只包含元素值为1的最大区域,并记录这些区域的最大内接矩形的左上角坐标和右下角坐标,该内接矩形集合所圈定的图象就是所说的差异图象。这样在传送前后两帧图象时只需传送前一帧及后一帧与前一帧的差异图象即可完整表达原来两帧图象的内容,极大地压缩了动画的数据量。
5、将步骤4中所生成BMP差异图象文件转换成PNG图象文件。转换PNG文件可调用BMP2PNG图象格式转换模块,同时对转换成的PNG文件名格式作了特殊的规定,文件名规定为l_f_x_y.PNG,其中PNG表示文件类型,f由1开始,表示这个文件是属于第几帧,x、y分别表示这个图片在这一帧中的左上角的坐标。这样,在文件打包时就自动附加了每个文件所属的帧号及显示的相对位置等信息,在动画帧的播放序列与PNG文件名序列之间建立了对应关系,也就是说利用PNG文件名将播放的相对时间和相对位置信息引入到一个PNG文件包中,实现了动画,从而既利用PNG的存储图象方面的优势,也使PNG文件格式能实现动画效果。
6、对PNG图象文件序列进行了重新拼装,生成一个大的PNG图象文件及其相关的图片数据列表;再将该大PNG图象文件、数据列表及动画播放器一并打包。调用图片拼装模块,对步骤5中生成的小矩形图片按矩形长边的尺寸大小进行排序,取出其中尺寸最大的矩形(定名为矩形A),让尺寸次小的矩形(定名为矩形B)按各种可能的情况与矩形A进行边贴边的组合,不同的组合将产生不同多边形,计算并选择该多边形的外接矩形面积最小的组合方式并产生一个新的多边形(定名为多边形C);也就是说矩形A与矩形B进行边贴边组合,形成一个新的多边形C,多边形C的外接矩形在各种组合中面积最小。按尺寸递减的顺序对其余的矩形进行类似的操作,它们在多边形C的基础上不断地组合生成新的多边形,最终将形成一个多边形(定名为多边形P)。多边形P包含了第5步中生成的所有小图片,并且它的外接矩形面积最小。该外接矩形所圈定的区域就是最终生成的一个大的PNG文件,这样实现了更进一步的压缩,只需维护一个大图片就可以完成各种操作了。在拼装时还生成一个数据列表,它记录了每一个小PNG图片在大PNG图片中的位置及其文件名;最后可将该数据列表、大PNG文件及动画播放器一并打包传送。本实施例在KJava平台下,调用Jar包生成模块,将该大PNG文件、数据列表、动画解码播放工具打包生成Jar文件,这样动画压缩后打包生成的Jar文件放到指定网站供用户下载播放。
在播放器播放时,先将压缩的数据包解压,并利用数据列表将PNG文件分割成一系列小的PNG文件图片,其文件名也由数据列表指定。先根据PNG文件名找到动画第一帧;之后利用文件名找到第二帧的文件,这些文件是第二帧与第一帧的差异图象,所以将该差异图象覆盖到第一帧的指定坐标上,坐标值由PNG文件名给出,这样就得到了实际动画的第二帧。按同样的方法就可以显示动画包中的所有关键帧,还原各个图片的相对时间与相对位置信息,播放这些帧就产生了动画效果。将上述Jar文件下载到如Motorola6288这些基于KJava平台的手持式设备中,进行Jar解包,大图片文件分解,然后利用附带的播放工具即可播放该动画。
权利要求
1.一种用于无线网络和无线手持式设备的动画压缩方法,其特征在于依次包括以下步骤(1)以Flash文件为数据源,从中提取原始帧,并以彩色BMP图象文件的格式保存这些原始帧;(2)将步骤1中生成的彩色BMP图象转换成256灰度级的BMP图象;(3)从已转换成256灰度级的BMP图象的原始帧中提取关键帧首先要对所有灰度级图象计算各个灰度级的像素点在该帧中所占有的比例;然后从第二帧开始将该帧的比例值与前一帧相应的比例值进行比较并得出该差异值,最后将该差异值与预先设定的限定值作比较,若大于等于限定值,则该帧为关键帧;(4)对关键帧进行差分处理获取差异图象,并以指定的命名方式存为BMP差异图象文件;(5)将步骤4中所生成BMP差异图象文件转换成PNG图象文件;该PNG文件名为1_f_x_y.PNG,其中PNG表示文件类型,f由1开始,表示这个文件是属于第几帧,x、y分别表示这个差异图片在这一帧中的左上角的坐标;(6)对PNG图象文件序列进行了重新拼装,生成一个大的PNG图象文件及其相关的图片数据列表;再将该大PNG图象文件、数据列表及动画播放器一并打包。
2.根据权利要求1所述的用于无线网络和无线手持式设备的动画压缩方法,其特征在于获取差异图象的步骤为根据两幅图象求出对应的差异矩阵,当第一幅图象中某个点与另一幅图象中的对应点的差异大于指定的限定值时,则差异矩阵中相应的元素值为1;反之,元素值为0;然后圈定差异矩阵中那些只包含元素值为1的最大区域,并记录这些区域的最大内接矩形的左上角坐标和右下角坐标;该内接矩形集合所圈定的图象即为差异图象。
3.根据权利要求1所述的用于无线网络和无线手持式设备的动画压缩方法,其特征在于PNG图象文件序列重新拼装的步骤为对生成的小矩形PNG图片按矩形长边的尺寸大小进行排序,先取出其中尺寸最大的矩形,将尺寸第二大的矩形按各种可能的情况与尺寸最大的矩形进行边贴边的组合,选取各种组合中面积最小的多边形;再将尺寸第三大的矩形在上述面积最小的多边形的基础上进行边贴边的组合,选取各种组合中面积最小的多边形;依次不断地组合,最终形成一个包含了所有的小矩形PNG图片且其外接矩形面积最小的多边形,该多边形所圈定的区域即为拼装生成的大PNG图象文件。
全文摘要
本发明公开了一种用于无线网络和无线手持式设备的动画压缩方法,以Flash文件为数据源,从中获取原始帧。在对原始帧进行色彩转换的基础上从中提取关键帧;之后对关键帧进行差分处理,将结果以PNG包格式保存,并将PNG文件及播放器一起打包。本发明使得其压缩后的动画图象数据能在无线通讯网络上传输,并能在无线手持式设备上显示接收的动画图象,实现了在PDA、手机、PDA手机上连续媒体信息的传递。
文档编号H04N7/26GK1882084SQ20051007710
公开日2006年12月20日 申请日期2005年6月14日 优先权日2005年6月14日
发明者吕殿伟 申请人:吕殿伟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1