1绪
论
在过去的十年里,需要存储、传输和处理的信息量成指数级地增加。这主要要归因于两项技术的发展。一是多媒体系统在众多领域广泛应用,过去计算机只能处理数字和文本,现在却已代之以声音、图像、电影和虚拟现实;另一项是Internet的大发展,它使信息可以被许多人共享。这两项进展综合作用产生了所谓的Word Wild
Web,一个交互的、多媒体的、基于超文本的信息网络。
无论是从经济还是从技术的角度,现在的情况是光靠硬件的支持并不能满足人们的需要。在以下要讲的压缩技术,将提供一种解决的方案。信息压缩的动机是很明显的,如果我们能用一种压缩了形式来表示信息,我们能明显地体会如下好处:节省存储空间;节省CPU时间;节省传输时间;我们日常用到的大部分信息都具有高度的相关性,或者说,它们本身含有着冗余,因此,没有信息丢失的压缩是可能的。压缩中最关键的问题是能够在原始数据和压缩数据之间快速地切换。
JPEG是为静止的灰度(色彩)连续变化的图像编码压缩而制定的标准。JPEG定义了两种压缩算法,一种是离散余弦(DCT),另一种是空间预测。本文较为全面的论述和分析了怎样用VC++实现JPEG的编解码技术,得到了一种很好的静态图像处理技术,即采用DCT算法,量化器以及熵编码相结合的方法,达到低失真,高压缩比,并且能适应任何种类的连续色调的图像,从而加快了计算机的处理速度,压缩效率大大提高。
2JPEG编解码技术及实现
2.1 JPEG压缩标准
JPEG是联合专家小组(Joint Photographic Experts
Group)的缩写, 是一个由 ISO和IEC两个组织机构联合组成的一个专家组,联合图象专家小组多年来一直致力于标准花工作,他们开发研制出连续色调、多级灰度、静止图象的数字图象压缩编码方法,这种压缩编码方法就被称为JPEG算法。并且成为国际上色彩、灰度、静止图像的第一个国际标准,所以JPEG算法又称为JPEG国际标准。 它不仅适用于静止图像的压缩,也适用于电视图像序列的帧内图像的压缩。
JPEG的目的是为了给出一个适用于连续色图像的压缩方法,使之能满足以下要求:
(1)达到或接近当前压缩比与图像保真度的技术水平,能覆盖一个较宽的图像质量等级范围,能达到“很好”到“极好”的评估,与原始图像相比,人的视觉难以区分。
(2)能适用与任何种类的连续色调的图像,且长宽比都不受限制,同时也不受限于景物内容,图像的复杂程度和统计特性等。
(3)计算的复杂性是可以控制的。
(4)JPEG算法,具有以下4种操作方式:
◆
顺序编码
每个图像分量按从左到右,从上到下扫描,一次扫描完成编码。
◆
累进编码
图像编码在多次扫描中完成。累进编码传输时间长,接受端收到的图像是多次扫描由粗糙到清晰的累进过程。
◆
无失真编码
无失真编码方法能保证解码后,完全精确地恢复源图像的采样值,其压缩比低于有失真压缩编码方法。
◆
分层编码
图像在多个空间分辨率进行编码。在信道传送速率慢,接受端显示器分辨率不高的情况下,只需要做低分辨率图像编码。
正是由于JPEG的压缩比高,使得它广泛地应用于多媒体和网络程序中,例如HTML语法中选用的图像格式之一就是JPEG(另一种是GIF)。JPEG实际上定义了3种编码系统:
(1)基于DCT的有损编码基本系统,适用于绝大多数压缩应用场合。
(2)用于高压缩比、高精度或渐进重建应用的扩展编码系统。
(3)用于无失真应用场合的无损系统。
每个编码解码器必须实现一个必备的基本系统(也称为基本顺序编码器)。基本系统必须合理地解压缩彩色图像,保持高压缩率并能处理从4bit/像素到16bit/像素的图像。
扩展编码系统包括了各种的编码方式,如长度可变编码、渐进编码以及分层模式的编码。这些特殊用途的扩展可适用于各种应用。这些编码方法都是基本顺序编码方法的扩展。
特殊无损功能(也称为预测无损编码法)确保了图像在压缩的分辨率下,解压缩没有造成初始源图像(即图像的数字化形式)中任何细节的损失。
2.2 JPEG模型与算法流程
基本JPEG编码器和解码器(基于DCT)的结构如图2-1所示。如上所述,这种基本系统是有损的。他的算法流程大致如下:DCT函数通过把数据从空间域变换到频率域,从而去处数据的冗余度:量化器用加权函数来产生对人眼的量化DCT系数,同时熵编码器将量化DCT系数的炳最小化。简单地说,这种方法的目的在于:把大量的数据简化为较小的、真正有意义的数据,删除只带有极少视觉效果的信息,并且利用数据的空间特征性进一步压缩数据。