1、文献综述题 目 JPEG 标准研究及算法实现 学生姓名 高 帅 杰 专业班级 电子信息科学与技术 07-1 学 号 200707020107 院 (系) 计算机与通信工程学院 指导教师(职称) 黄敏(副教授) 完成时间 2011 年 3 月 15 日 综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007070201070图象压缩( JPEG)编码算法及压缩过程的实现摘 要JPEG 压缩方法由于其较高的压缩比和理想的压缩效果,是目前应用最广泛的图像压缩方法。它采用一种特殊的有损压缩算法,将不易被人眼察觉的图像颜色删除,从而能够将图像压缩在很小的
2、储存空间。JPEG 压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,换句话说,就是可以用最少的磁盘空间得到较好的图像品质。本文首先介绍了静态图像压缩(JPEG)编码算法的基本原理、压缩的实现过程及其重要过程的离散余弦变换(DCT)算法的实现原理及软件实现的例程,其次着重介绍了压缩过程中的 DCT、量化和编码三个重要步骤的实现原理。关键词:图像压缩;有损压缩;JPEG;DCT;量化 综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:20070702010711 图像压缩编码的综述1.1 研究的背
3、景随着多媒体技术的快速发展,静止图像的应用越来越广泛。它的应用主要集中在图像的存储和图像的传输两方面,从具体应用中我们可以发现静止图像占用了越来越多的资源。在这样的背景条件下,静止图像的压缩成为了一个研究的热点。目前静止图像的压缩算法以 JPEG(Joint Photographic Experts Group)和JPEG2000 为主。JPEG 是第一个被广泛接受的单色和彩色静止图像压缩标准,它的名字源于“Joint Photographic Experts Group(联合图像专家组)”,它是由 ISO/和 CCITT 协同工作的机构,这个机构的工作成果是 ISO 的国际标准 ISO/IE
4、C10918-1(连续色调静止图像的数字压缩和编码,digital compression and coding of continuous tone still images)和 ITU-T 的建议 T.81。JPEG 标准草案于 1991 年公布,1992 年正式批准为国际标准,以后这个工作组的进一步增强和扩展形成了 ISO 10918-3 和 ITU-T 建议T.81。JPEG 是一种采用预测编码(DPCM)、离散余弦变换(DCT)以及熵编码,以去除冗余的图像和彩色数据的有损压缩格式,能够将图像压缩在很小的储存空间,图像中重复或不重要的资料会被丢失,因此容易造成图像数据的损伤。尤其是使用
5、过高的压缩比例,将使最终解压缩后恢复的图像质量明显降低,如果追求高品质图像,不宜采用过高压缩比例。但是 JPEG 压缩技术十分先进,它用有损压缩方式去除冗余的图像数据,在获得极高的压缩率的同时能展现十分丰富生动的图像,也即可以用最少的磁盘空间得到较好的图像品质。而且 JPEG 是一种很灵活的格式,具有调节图像质量的功能,允许用不同的压缩比例对文件进行压缩,支持多种压缩级别,压缩比率通常在 10:1 到 40:1 之间,压缩比越大,品质就越低;相反地,压缩比越小,品质就越好。比如可以把 137Mb 的 BMP 位图文件压缩至 203KB 。当然也可以在图像质量和文件尺寸之间找到平衡点。JPEG
6、格式压缩的主要是高频信息,对色彩的信息保留较好,适合应用于互联网,可减少图像的传输时间,可以支持 24bit真彩色,也普遍应用于需要连续色调的图像。 JPEG 的核心算法是 DCT 变换编码,其压缩性能基本反映了 20 世纪 80 年代末图像压缩的技术水平。但自从 JPEG 制定后的近 10 年,许多更有效的图像压缩技术综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007070201072已经得到发展,如小波变换方法、分形方法、区域划分方法等。其中,发展最成熟和性能及通用性最好的静止图像压缩方法是小波变换方法。正因如此,制定了第二代静止图像压
7、缩标准,即 JPEG2000,它的核心技术正是小波变换编码。其核心编解码器采用小波变换、算术编码及嵌入式分层组织,较以往的静止图像压缩标准复杂,它在同一个码流中实现了无损和有损压缩、分辨率和信噪比的累进性以及随机访问等优良特性。JPEG2000 作为 JPEG 的升级版,其压缩率比 JPEG 高约 30左右,同时支持有损和无损压缩。JPEG2000 格式有一个极其重要的特征在于它能实现渐进传输,即先传输图像的轮廓,然后逐步传输数据,不断提高图像质量,让图像由朦胧到清晰显示。此外,JPEG2000 还支持所谓的“ 感兴趣区域“ 特性,可以任意指定影像上感兴趣区域的压缩质量,还可以选择指定的部分先
8、解压缩。 1.2 图象压缩的目的和方法图象的数字化表示使得图象信号可以高质量地传输,并便于图像的检索、分析、处理和存储。但是数字图像的表示需要大量的数据,必须进行数据的压缩。即使采用多种方法对数据进行了压缩,其数据量仍然巨大,对传输介质、传输方法和存储介质的要求较高。因此图象压缩编码技术的研究显得特别有意义,也正是由于图象压缩编码技术及传输技术的不断发展、更新,推动了现代多媒体技术应用的迅速发展。1.2.1 图象压缩的目的图象采样后,如果对之进行简单的 8bit 量化和 PCM 编码,其数据量是巨大的。以 CIF(Common Intermediate Format)格式的彩色视频信号为例,若
9、采样速率为 25帧/ 秒,采样样点的 Y、U、V 分量均为 8bit 量化,则一秒钟的数据量为:352288382560.83Mbit要传输或存储这样大的数据量是非常困难的,必需对其进行压缩编码,在满足实际需要的前提下,尽量减少要传输或存储的数据量。虽然数字图象的数据量巨大,但图象数据是高度相关的。一幅图象的内部相邻象素之间,相邻行之间的视频序列中相邻图象之间有大量冗余信息空间相关性和时间相关性,可以使用各种方法尽量去除这些冗余信息,减少图象的数据量。除了时间冗余和空间冗余外,在一般的图象数据中还存在信息熵冗余、结构冗余、知识冗余和视觉冗余。各种冗余就是压缩图象数据的出发点。图象编码的目的综述
10、题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007070201073就在于采用各种方法去除冗余,以尽量少的数据量来表示个重建图象。1.2.2 图象压缩的几种方法1.统计和字典的压缩方法常规程序和计算机熵的数据对于那些基于利用统计变种的压缩,效果很好,这些统计变种表现在单个符号的频率以及符号或短语字符串的频率等方面,而基于字典的系统实际山就是假扮统计程序。可是遗憾的是,这类压缩对于连续色调图象的作用并不很好。这些程序的主要问题产生于这样的一个事实:照片图象的象素广泛地分布在整个范围。如果将图象中的彩色用频率分布画出,那么频率分布图中,没有我们在统
11、计压缩的成功的情况下所看到的“尖峰”状,实际上,如果延长这个分布图,那么从类似于电视那样的生活图象源中得出的分布图会趋于平展。这意味着,每个象素代码彼此是大约相同的出现机会,决定不存在挖掘熵差的任何机会。基于字典的压缩程序的运行也有类似的问题,基于扫描照片的图象决定没有任何类型的数据特征以产生相同的短语的多次出现。例如,一个栅格化的图象,类似房子墙边的垂直部分,在图片的许多连续的行中可能可以给出相似的字符串。但不幸的是,由于真实世界是变化多端的,每行中的相同的性能将彼此地略有不同,对于 20 个象素的一个字符串,其中的一两个象素会因扫描而彼此出现一步长的变化,虽然这些不同点小到人眼不能探测或对
12、人眼不起作用,但他们毕竟妨碍了基于字典压缩的工作,对于这类压缩方法来说,字符串必须严格匹配,由于小的变化,而使匹配的字符串长度趋于很小,这就限制了压缩的效率。2.有损压缩类似于音频数据,图形图象也同样有一个比常规计算机数据文件优越的地方:在压缩/扩展的循环中,他们可以被略微改动,而不会影响用户的立即质量。如果仔细修改,那么各处象素的精确灰度可以完全不被注意地进行小的改变。由于计算机栅的图形图象通常来自对真实世界源的扫描,所有他们通常表达一个已经不完美的照片的表达或是不完美的其他打印接着的表达。没有改变图象基本性能的有损压缩程序应该是可行的。假设图形图象的有损压缩是可能的,那么它是如何实现的呢?
13、研究人员最初试综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007070201074验了用于语音信号的同样的技术,如差分编码和自适应编码,虽然这些技术对图象有帮助,但并没有达到所希望的那么好,原因之一是音频数据和视频数据根本不同。用常规格式采样的音频数据是趋于反复的,声音,包括讲话,是由每次几秒的重复的正弦波组成的。虽然计算机上 DAC 的输入流可能由许多不同的频率叠加在一起而成,但是正弦波通常产生反复的波形。音频反复的本性自然使他利于压缩,线性预言编码和自适应差分脉冲编码调制等技术就利于了这一点,因此将音频数据流压缩了 50到 95。但开始
14、研究图形压缩时,人们也试图用相似的技术压缩数字化的图象,取得了一些成功。最初,研究人员进行栅格化数据流的压缩,如显示在电视机栅的数据。图形数据栅格化时,图形显示成一个象素流,每次一行地显示在屏幕上,从左到右,从上到下。这样,当完成一行时,图片的一个细片就画出了,直到整个屏幕填满。数字化时,象素可以使用从 1 位到 24 位,如今的琢磨图形常常使用 8 位来定义一个象素。3.差分调制差分调制依赖余模拟数据趋于“平缓”的变化,信号幅度撒谎那个的大的跳变是例外,而不是常规。在音频数据中,只要信号的采样率一定程度地高于信息本身的最大的频率分量,那么大的跳变就不会产生。音频信号的差分调制通过编码一个样点
15、与前一个样点的不同来利用这一个特点。例如,如果单频样点位 8 位,差分编码系统可能用 4 位来编码样点之差,这就将输入数据压缩了 50。这种压缩方法中所产生的损失是来自于:使用标准的差分方法不可能总是精确地编码。信号的增长可能快于比编码的允许,或者,编码可能太粗而不能容纳下的差别,差分编码的有损性可以很好的处理,以产生出好的信号。当压缩图形数据时,差分调制有很多问题。首先,图形中的象素依赖于平缓的增加或减少时不可靠的,一幅图中不同的分量间的明显界限时常有的事情。这意味着,使用差分编码的系统需要接受样点间的大的不同和小的不同。这就限制了压缩的效率。带有数据长结构的许多图象可以压缩的很好。长结构中
16、的象素,彼此之间没有什么差别或差别很少;但时,带有突变部分的那些图象不可能压缩的很好。通常,图形图象的差分的编码似乎不产生非常强于最好的无损算法的压缩结果,他当然也不会产生所需要的、对压缩的数量级上的改进。综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:20070702010754.自适应编码自适应编码(常常于差分编码一同使用)根据前面看到的一些象素而对将要到来的一些象素的信息做预言。例如,如果一幅灰度级照片中的最新的十个象素的值都在45 到 50 之间,那么自适应压缩系统可能预言,下一个象素很大可能也在这个范围中,之后,类似于霍夫曼或算术编码那
17、样的基于熵的编码方案可能给将来到来的各种代码赋以概率值。可以代替地使用压缩扩展方法,将最细的粒度赋给最接近预言猜测的范围。2 JPEG 编码算法2.1 JPEG 压缩编码基础七十年代末八十年代初,研究工作开始着眼于新的图像压缩类型,希望能够大大地优于前面所讨论过的那些非常一般的压缩技术。到八十年代末,开始可为桌面系统的图像处理而寻找应用的工作,大多是是为 UNIX 和 Macintosh 工作站加入的协处理器卡的形式,这些卡的图象质量没有任何可见退化的情况下,可以以 95的比率执行图像的有损压缩。同时,另一部分人开始发展一个国际标准,它能够包括这些新的压缩的种类。如果标准允许方便的图形格式的互
18、换,那么,显然,对于各方面都是有利的,关于标准化工作,早期的担心是:它会限制进一步革新的可能性。两个标准化组织,CCITT 和 ISO,分别从涉及图像压缩的工业和学术两个入手,并且,似乎已经潜在的阻止了工作的负结果。2.2.1 JPEG 算法简介JPEG(Joint Photographic Experts Group)是由 ISO/IEC JTC1/SC2/WG8 和CCITT VIII/NIC 于 1986 年底联合组成的专家小组。JPEG 小组的工组事研究具有连续色调的图像(包括灰度及彩色图像)的压缩算法,并将其制定为适用于大多数图像存储及通信局设备的标准算法,JPEG 小组于 1990
19、 年提出 JPEG 算法的建议,并决定对建议中的算法不再修改,除非发现了危害压缩算法标准的问题。作为静态图像压缩的标准算法,JPEG 算法必须满足以下要求:算法独立于图像的分辨率;具有低于 1bit/象素的编码率,并且能够在五秒钟内建立图像,以满足实时要求;在压缩比大约是 2 的情况下能够无失真地恢复原图像;支持顺序编解码和渐进编解码;以及对各种图像成分及数据精度的自适应能力;最后,要求编解码设综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007070201076备简单易实现。JPEG 小组指定了一系列实现静态图像压缩编码的方法,这些方法的选
20、择决定于具体应用的要求及性能价格比的考虑。这些方法基本上可以分为两类:基于离散余弦变换的编码和基于空间域预测编码的方法。前者,即离散余弦变化的方法压缩倍率较高但算法复杂,较难实现;后者,即预测编码的方法虽然压缩倍率较低,但是可以实现无损压缩。JPEG 中允许四种编解码模式:(1)基于 DCT 的顺序模式(sequential DCT-based)(2)基于 DCT 的渐进模式(progressive DCT-based)(3)无失真模式(Lossless)(4)层次模式(hierarchical).其中, (1)和(2)是基于 DCT 的有损压缩;(3)是基于线性预测的无损压缩;(4)可以是
21、DCT 与线性预测的分层混合。JPEG 算法可分为基本 JPEG 和扩展,即 Baseline System 与 Extended System。在Baseline System 中生成的编码文件,在 Extended System 中一定可以正确解码。2.1.2 JPEG 压缩JPEG 有损压缩算法在三个成功的阶段中操作,见图DCT Coefficient LosslessTransformation Quantization Compression 这三个步骤形成了一个强有力的压缩器。 ,可以将连续色调图像压缩到少于原大小的 10,同时丢失很少的原始逼真度。2.2 JPEG 中的二维 DC
22、T本文所讨论的压缩过程的关键是被称为离散余弦变换(Discrete Cosine Transform,DCT )的数学变换。 Baseline System 中的 DCT 要求输入数据是一个88 的矩阵,且每个矩阵元素具有 8bit 精度,分为从128 到 127,故 DCT 变换前,象素值先要减去 128。所谓 88 的二维 DCT 是指将 88 的象素值矩阵变换成88 系数矩阵。88 象素值矩阵是由输入图像分块得到的,若图像的高或宽不是 8的整数倍,必须扩展其下边或右边到 8 的整数倍。综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:2007
23、070201077下面(式 21)给出了二维 DCT 的实用公式。式 22 是反离散余弦变化(IDCT )公式。式中表示的是 88 个象素值的矩阵进行计算的,产生出 88 频率系数的矩阵。88 的 DCT 及 IDCT 公式如下: 16)2(cos16)2(cos),()(41),( ,7070 vjuivuFCjif jijifvuvFvuji 其 中 : 01)(uu2vC0v1)(vC0 :),(jif 127),(18-jif像 素 值 , 3,3-:, vuFDTuF系 数 值 ,这个公式初看起来让人害怕,但它可以用相当直接的代码段来表示。for ( i = 0 ; i 8 ; i
24、+ + )for ( j = 0 ;j 8 : j + + )temp 0.0;for ( x = 0 ; x 8 ; x + )for ( y = 0 ; y 8 ; y + )temp += Cosines x i *Cosines y j *pixel x y ;temp * = sqrt ( 2 * 8 ) * Coefficient i j ;DCT i j = INT_ROUND (temp); 综述题目:图象压缩编码算法及压缩过程的实现 专业班级:电子 07-1 班 姓名: 高帅杰 学号:20070702010783 压缩过程3.1 色彩空间转换自然界中所有的颜色都可以用红(Re
25、d)、绿(Green)和蓝(Blue)三种颜色波长的不同强度组合而得,这就是人们常说的三基色原理。RGB 是比较常见的彩色图像记录格式,颜色=R(红色的百分比)+G(绿色的百分比 )+B(蓝色的百分比),RGB 颜色空间的优点在于直接采集于人颜色色彩的感应,表述直观,容易理解。但是研究表明,人眼对色度信号的敏感程度远远小于对亮度信号的敏感程度,这时我们考虑将 RGB色彩空间转变到亮度/色度空间,如 YUV、YCrCb,可以对色度信号进行二次取样,去掉一些不必要的色度信号量从而提高数据压缩率。在 JPEG 标准中规定,信源图像可以为彩色也可以为黑白,如果是彩色图像,应由亮度分量 Y 和色度分量
26、Cr 和 Cb 构成,所以在处理之前,应先进行色彩空间的转换,即将 RGB 色彩空间转换到 YUV 或 YCrCb 色彩空间。 YUV 用于彩色电视制式,与 YUV 颜色空间类似的一种称为 YCrCb 色彩空间,主要适用于计算机用的显示器。本文选用更适合图形压缩的 YCrCb 颜色模型。YCrCb 与 RGB 信号的转换关系如下:因为 JPEG 里的数据都是无符号 8 比特数据,因此色度信号在这里都被加上128。在通过对色度分量进行二次采样来减少色度分量后,肉眼将察觉不到图像质量的变化。3.2 DCT 离散余弦变换离散余弦变换(DCT,Discrete Cosine Transform)是一种经典谱分析方法。它属于离散傅立叶变换的一种特殊情况,即在变换后的傅立叶级数中只包括余弦项。由不同的正交基向量,可以得到不同的正交变换,各种正交变换都能在不同的程度上减少随机向量的相关性,而且信号经过大多数的正交变换后,能量会相对集中在少数变换系数上。当信号的统计特性符合一阶平稳马尔柯夫过程,而且相关系数接近 1时,DCT 十分接近信号的最佳变换,变换后的系数分布比较集中。DCT 将一组空间