Kunt提出了第一代数据压缩编码的概念。他把20世纪40年代中研究的以去除冗余为基础的编码方法称为第一代编码[2]。如PCM(pulse code modulation,脉冲编码调制),DPCM (differential pulse code modulation,差分脉冲编码调制)、亚取样编码法、变换编码中的DFT(discrete Fourier transform,离散傅里叶变换),DCT(discrete cosine transform,离散余弦变换)等方法以及以此为基础的混合编码法属于经典的第一代编码方法。直至五十年代和六十年代的图像压缩技术由于受到电路技术等的制约,仅仅停留在预测编码、亚采样以及内插复原等技术的研究上,而且还很不成熟。A. Huffman于1952年第一次发表了他的论文"最小冗余度代码的构造方法",从此,数据压缩开始在商业程序中实现并被应用在许多技术领域。
第二代数据压缩编码从20世纪90年代开始,数学家们因为不满足于Huffman编码中的某些致命弱点,设计出另一种更为精确,更能接近信息论中"熵"极限的编码方法--算术编码。在算术编码的基础上又发展了变换编码,如金字塔编码法、Fractal编码。其中最具有代表性的是LZ77和LZ78,将基于这一思路的编码方法称作"字典"式编码。字典式编码不但在压缩效果上大大超过了Huffman,而且易于实现,其压缩和解压缩的速度也异常惊人。1984年,LZ78算法的一个变种--LZW(Lewpel-Ziv&Welch,无损压缩算法)产生。LZW继承了LZ77和LZ78压缩效果好、速度快的优点,而且在算法描述上更容易被人们接受。70年代末80年代初,人们逐渐意识对于多数灰度或是彩色图像乃至声音文件,没有必要忠实地保留其所有信息,在允许一定的精度损失的情况下,可以实现更为有效的压缩方法。到80年代末,许多人己经在这一领域取得了不小的收获,设计出了一批在压缩效果上让人惊讶不已的声音和图像压缩算法。
第三代数据压缩编码技术主要从90年代至今,图像压缩技术的主要成果体现在小波编码、分形编码等,矢量量化编码技术也有较大发展。由于小波变换理论,分形理论,人工神经网络理论,视觉仿真理论的建立,人们开始突破传统的信源编码理论,例如不再假设图像是平稳的随机场。有关于图像编码技术的科技成果和科技论文也与日俱增,图像编码技术开始走向繁荣。现代编码技术的特点是:充分考虑人的视觉特性,在恰当地考虑对图像信号的分解与表达时,采用图像的合成与识别方案压缩数据。压缩编码方法包括像素编码、预测编码、变换编码等其它方法。
在数据压缩编码技术的发展过程中,获得最大成功的,并被广泛应用在各个领域的就是压缩技术第二代中的JPEG(Joint Photographic Experts Group)压缩算法[3]。JPEG是1952年ISO国际质量认证组织和国际通信联盟联合组成的。JPEG组织提出和制定的一种压缩标准,主要适用于静态图像信号的压缩和编码,JPEG标准结合采用了预测、不定长等多种压缩编码方法,压缩比可以达到10:1-100:1,而且压缩比可以在一定范围内由用户进行选择。当压缩比小于40:1时,可以被认为压缩结果是无失真的。但是采用JPEG标准制定的压缩算法的计算量比较大,如对一幅较高精度的真彩色图像使用JPEG压缩时,大约要进行上亿次运算操作,这对实现JPEG压缩、编码的软件、硬件设备产品提出了较高的要求。早期的JPEG压缩多数做成专用的压缩卡,以专用的高速CPU芯片实现压缩处理,现在通用的计算机CPU速度不断提高的情况下,JPEG压缩也可以用软件来实现。为了解决JPEG中存在计算复杂,块效应的问题,近些年来出现了很多新的压缩编码方法,如使用人工神经元网络(Artificial Neural Network,ANN)的压缩编码算法:分形(Fractal);小波(Wavelet);基于对象(Object-Based)的压缩编码算法;基于模型(Model-Based)的压缩编码算法(应用在MPEG4及未来的视频压缩编码标准中)。
1.1.1图像压缩的几种方法
1统计和字典的压缩方法
常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图像的作用并不很好。
这些程序的主要问题产生于这样的一个事实:照片图像的象素广泛地分布在整个范围。如果将图像中的彩色用频率分布画出,那么频率分布图中,没有我们在统计压缩的成功的情况下所看到的"尖峰"状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图像源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。
基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图像决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图像,类似房子墙边的垂直部分,在图片的许多连续的行中可能可以给出相似的字符串。但不幸的是,由于真实世界是变化多端的,每行中的相同的性能将彼此地略有不同,对于20个象素的一个字符串,其中的一两个象素会因扫描而彼此出现一步长的变化,虽然这些不同点小到人眼不能探测或对人眼不起作用,但他们毕竟妨碍了基于字典压缩的工作,对于这类压缩方法来说,字符串必须严格匹配,由于小的变化,而使匹配的字符串长度趋于很小,这就限制了压缩的效率。
2有损压缩
类似于音频数据,图形图像也同样有一个比常规计算机数据文件优越的地方:在压缩/扩展的循环中,他们可以被略微改动,而不会影响用户的立即质量。如果仔细修改,那么各处象素的精确灰度可以完全不被注意地进行小的改变。由于计算机栅的图形图像通常来自对真实世界源的扫描,所有他们通常表达一个已经不完美的照片的表达或是不完美的其他打印接着的表达。没有改变图像基本性能的有损压缩程序应该是可行的。
假设图形图像的有损压缩是可能的,那么它是如何实现的呢?研究人员最初试验了用于语音信号的同样的技术,如差分编码和自适应编码,虽然这些技术对图像有帮助,但并没有达到所希望的那么好,原因之一是音频数据和视频数据根本不同。
用常规格式采样的音频数据是趋于反复的,声音,包括讲话,是由每次几秒的重复的正弦波组成的。虽然计算机上DAC的输入流可能由许多不同的频率叠加在一起而成,但是正弦波通常产生反复的波形。音频反复的本性自然使他利于压缩,线性预言编码和自适应差分脉冲编码调制等技术就利于了这一点,因此将音频数据流压缩了50%到95%。但开始研究图形压缩时,人们也试图用相似的技术压缩数字化的图像,取得了一些成功。最初,研究人员进行栅格化数据流的压缩,如显示在电视机栅的数据。
图形数据栅格化时,图形显示成一个象素流,每次一行地显示在屏幕上,从左到右,从上到下。这样,当完成一行时,图片的一个细片就画出了,直到整个屏幕填满。数字化时,象素可以使用从1位到24位,如今的琢磨图形常常使用8位来定义一个象素。
3自适应编码
自适应编码(常常于差分编码一同使用)根据前面看到的一些象素而对将要到来的一些象素的信息做预言。例如,如果一幅灰度级照片中的最新的十个象素的值都在45到50之间,那么自适应压缩系统可能预言,下一个象素很大可能也在这个范围中,之后,类似于霍夫曼或算术编码那样的基于熵的编码方案可能给将来到来的各种代码赋以概率值。可以代替地使用压缩-扩展方法,将最细的粒度赋给最接近预言猜测的范围。
1.2 JPEG图像压缩的国际标准
JPEG
上一篇:
房屋租赁管理系统(word文档)
下一篇:
基于JSP邮件收发系统论文