按位处理实现最佳化数据损失编码的压缩方法技术

技术编号:2951289 阅读:211 留言:0更新日期:2012-04-11 18:40
一种动画、图像数据压缩方法,先设定阀值对隔行图像数据进行数据损失预处理,使该行的重复像素串增多、单个像素串增长,并进行按位处理,在图像质量可以允许范围内使后续的压缩率大大提高;而此等预处理过程只在编码过程中体现,其在解码过程中与解码速度无关或使解码速度更快。(*该技术在2017年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种数据压缩方法,特别是一种对动画、图像进行预处理,以实现最佳化数据损失(DATALOSS)编码的数据压缩方法。动画与电影一样,是连续播放的一组图片,每一幅画面称为一帧(FRAME)。电影的画面速度为24帧/秒,而电视的画面速度为30帧/秒,也就是说一秒钟的动作是由三十张图片所组成的。对计算机来说,理想的情况也是与电视一样,每秒钟连续将30幅图像显示到屏幕上。但是由于计算机存储器储存的限制(一帧如果是640×480大小的话,就有300K的点,可以想像显示一秒钟的画面需要多少存储器存储的容量),而且计算机处理速度的限制(一秒钟要将若干的300K数据显示到屏幕上),往往达不到电影或电视的速度。因此计算机的速度与储存量一直是计算机图形的关键问题。在现有的动画、图像数据压缩方法中大致分为两类,一类是解码速度高,而压缩率低的方法,另一类是压缩率高,但解码速度慢的方法。因为现有的动画、图像数据压缩方法的解码过程基本上是其编码的逆过程,解码速度快的,其编码简单,压缩效率低;而编码复杂则解码复杂,虽效率高但解码慢。前者如PCX档格式(图像)、GIF档格式(图像),FLT、FLC档格式(动画),其编码、解码算法非常简单,虽解码速度很快,但数据压缩率低,每帧图像的数据量很大,而使得数据读取速率很慢,播放效果不理想,即使其中压缩率较高的如GIF档格式,也远不足以在CD上流畅播放。后者如JPEG、MPEG压缩方法,虽数据压缩率很高,但编码、解码算法过于复杂,解码速度很慢,需要硬件的配合才可以流畅播放。本专利技术针对上述已知动画、图像数据压缩方法的缺点,研究出一种,在图像质量可以允许范围内使压缩率大大提高,并使解码速度更快。本专利技术的目的是提供一种可提高图像数据压缩率,并达到较高速度的动画播放效果的方法。本专利技术的,包含步骤为按设定的阀值(VALVE用于控制压缩率,即图像数据损失率)对每隔一行的数据进行数据损失预处理,使该行的图像数据中重复像素串增多、单个像素串增长;以位为单位进行数据压缩,对于重复像素串字节,置其重复次数,即索引(INDEX)位(BIT)6为1,位(BIT)0-5为像素重复次数,而对非重复像素点,置其INDEX位6为0,位0-5为该像素值。在本专利技术的中,所说对每帧图像的行数据进行数据损失预处理,包括如下步骤(a)设定优化阀值;(b)隔行读入一行图像数据;(c)判断该行中是否有重复字节(BYTE),若有,则定位到下一个重复字节末;否则至步骤(e)判断是否已整行结束(d)判断下一字节的对色彩描述格式(YUV)值与此重复字节的对色彩描述格式值的差是否小于设定阀值;若是,则将该字节置为重复字节值,若否,则重回步骤(c)判断该行中是否有重复字节;(e)判断是否已整行结束,若是,则至步骤(f)取得下一个重复字节串的重复次数(INDEX),否则重回步骤(c)判断该行中是否有重复字节;以及所说以位为单位进行数据压缩,包括如下步骤(f)取得下一个重复字节串的重复次数(INDEX);(g)判断该INDEX是否大于1,若不大于1,则将该7位(BIT)写入到数据文件;若大于1,则将位6置为1,并将位0-5记入该INDEX次数,然后将该6位(BIT)写入到数据文件;(h)判断是否已整行结束,若不是,则回至步骤(f)取得下一个重复字节串的重复次数(INDEX);(i)判断是否整帧图像结束(所馀行数<2),若不是,则回至步骤(b)隔行读入一行图像数据;(j)结束。在本专利技术的方法中,所说的隔行读入一行图像数据可为隔一行读入一行图像数据,也可为隔复数行读入一行图像数据。下面将参照附图详细说明本专利技术的较佳实施例。附图中,附图说明图1为用本专利技术的压缩方法处理原来以FLIC挡储存的路径动画文件,再以XPX档进行储存、播放的过程方块图;图2是显示XPX档文件结构;图3A及图3B为用本专利技术的压缩方法以XPX档编码一帧图像实施例的流程图;图4为用本专利技术的压缩方法以XPX档解码一帧图像其中一行实施例的流程图。本专利技术的动画、图像数据压缩方法中,是先以设定的阀值对每行图像数据进行数据损失处理同时进行隔行扫描,在图像质量可允许范围内使后续的压缩率大大提高,而此过程为预处理过程,即只在编码过程中体现,而在解码过程中解码速度与此无关或使解码速度更快。本专利技术的有关动画、图像数据压缩方法,可先以原来的以FLIC档储存的路径动画文件,它是以3D Studio形成的,进行每帧图像的数据损失预处理而后进行压缩处理,再以XPX档储存、播放该动画文件。其实施的流程图如图1所示,首先,在步骤S1,采用3D Studio形成的FLIC档动画档文件;而在步骤S2,对每帧图像进行数据损失处理,以使其更适合于本专利技术的压缩方法,而得到较高的压缩率;然后在步骤S3,对经预处理的图像进行压缩处理,并以XPX档格式将其存于硬盘、光盘等媒体中;最后在步骤S4,将以XPX档储存的路径动画文件解码、播放。使用本专利技术的动画、图像数据压缩方法,对于原始存档格式(FLIC)的数量很大的,经按本专利技术的压缩方法处理后,可得到仅为原来30%左右的数据量。XPX档文件结构,如图2所示,其中关于文件头结构和帧头结构,定义如下。文件头结构偏移 长度 含义0 8字节 XPX档标记及版本信息8 1字XPX档帧数101字每帧图像宽度121字每帧图像高度1418字节 保留字节帧头结构偏移长度含义0 1字该帧数据长度(含帧头长)4 768字节该帧调色盘信息772 8字节 保留字节本专利技术在实际的编码过程中,在保留同值编码、解码的高速的基础上按位处理方式来实现,以提高其压缩率,且同时避免了冗馀数据(负压缩,譬如一幅图画中,一个红色的点,应只用1个字节来表示即可,若用了2个字节来表示,即比原来多用了1个字节,由对局部易造成负压缩)的出现,故以此方式压缩后数据压缩率非常高。本压缩方法其算法的复杂度只影响编码过程的处理速度,而与解码处理过程无关,其处理原则是使图像数据更利于后续的按位处理的同值编码处理,且可以通过调整处理阀值来控制图像数据压缩的损失率,调节图像数据的压缩率。本专利技术的的实施例如图3A及图3B流程图所示,其中图3A为数据损失预处理过程的流程图,图3B为按位为单位进行处理的流程图。在该实施例中,以7位编码处理为例来作说明,因为7位是本方法中认为最有效的编码单位,当然,本专利技术中所使用的字节的位数并不限定要用7位。在该实施例的方法中包括如下步骤(1)对每帧图像的行数据进行数据损失预处理,其包括在步骤S11,设定优化阀值(可调整选用);在步骤S12,隔行读入一行图像数据;在步骤S13,判断该行中是否有重复字节,若有,则定位到下一个重复字节末;否则至步骤S15判断是否已整行结束;在步骤S14,判断下一字节的对色彩描述格式YUV(本方法是采用Y(量度)=3,4或5;U.V(色度)=8或10)值与此重复字节的对色彩描述格式值的差是否小于设定阀值,若是,则将该字节置为重复字节值,若否,则重回步骤S13判断该行中是否有重复字节;在步骤S15,判断是否已整行结束,若是,则至步骤S16取得下一个重复字节串的重复次数(INDEX),否则重回步骤S13判断该行中是否有重复字节;以及(2)以位为单位进行数据压缩,本文档来自技高网...

【技术保护点】
一种用于动画显示的按位处理实现最佳化数据损失编码的压缩方法,包括如下步骤: 按设定的阀值,对隔行之一行数据进行数据损失预处理,使该行的图像数据中重复像素串增多、单个像素串增长; 以位为单位进行数据压缩,对于重复像素串字节,置其重复次数(INDEX)位6为1,位0-5为像素重复次数,而对非重复像素点,置其INDEX位6为0,位0-5为该像素值。

【技术特征摘要】

【专利技术属性】
技术研发人员:张景嵩林光信梁玉英魏永杰
申请(专利权)人:英业达股份有限公司
类型:发明
国别省市:71[中国|台湾]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1