- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JPEG编码原理详解.pdf
【转】JPEG 编码原理
JPEG 是联合图象专家组(Joint Picture Expert Group)的英文缩写,是国际标准化组织(ISO)
和CCITT 联合制定的静态图象的压缩编码标准。和相同图象质量的其它常用文件格式(如
GIF,TIFF,PCX)相比,JPEG 是目前静态图象中压缩比最高的。我们给出具体的数据来对
比一下。例图采用Windows95 目录下的Clouds.bmp,原图大小为640*480,256 色。用
工具SEA(version1.3)将其分别转成24 位色BMP、24 位色JPEG、GIF(只能转成256 色)
压缩格式、24 位色TIFF 压缩格式、24 位色TGA 压缩格式。得到的文件大小(以字节为单
位)分别为:921,654,17,707,177,152,923,044,768,136。可见JPEG 比其它几种压缩
比要高得多,而图象质量都差不多(JPEG 处理的颜色只有真彩和灰度图)。
正是由于JPEG 的高压缩比,使得它广泛地应用于多媒体和网络程序中,例如HTML 语法
中选用的图象格式之一就是JPEG(另一种是GIF)。这是显然的,因为网络的带宽非常宝贵,
选用一种高压缩比的文件格式是十分必要的。
JPEG 有几种模式,其中最常用的是基于DCT变换的顺序型模式,又称为基线系统(Baseline),
以下将针对这种格式进行讨论。
1. JPEG 的压缩原理
JPEG 的压缩原理其实上面介绍的那些原理的综合,博采众家之长,这也正是JPEG 有高压
缩比的原因。其编码器的流程为:
图9.3 JPEG 编码器流程
解码器基本上为上述过程的逆过程:
图9.4 解码器流程
8 ×8 的图象经过DCT 变换后,其低频分量都集中在左上角,高频分量分布在右下角(DCT
变换实际上是空间域的低通滤波器)。由于该低频分量包含了图象的主要信息(如亮度),而高
频与之相比,就不那么重要了,所以我们可以忽略高频分量,从而达到压缩的目的。如何将
高频分量去掉,这就要用到量化,它是产生信息损失的根源。这里的量化操作,就是将某一
个值除以量化表中对应的值。由于量化表左上角的值较小,右上角的值较大,这样就起到了
保持低频分量,抑制高频分量的目的。JPEG 使用的颜色是YUV 格式。我们提到过,Y 分
量代表了亮度信息,UV 分量代表了色差信息。相比而言,Y 分量更重要一些。我们可以对
Y 采用细量化,对UV 采用粗量化,可进一步提高压缩比。所以上面所说的量化表通常有两
张,一张是针对Y 的;一张是针对UV 的。
上面讲了,经过DCT 变换后,低频分量集中在左上角,其中F(0,0)(即第一行第一列元素)
代表了直流(DC)系数,即8 ×8 子块的平均值,要对它单独编码。由于两个相邻的8 ×8 子
块的DC 系数相差很小,所以对它们采用差分编码DPCM,可以提高压缩比,也就是说对
相邻的子块DC 系数的差值进行编码。8 ×8 的其它63 个元素是交流(AC)系数,采用行程编
码。这里出现一个问题:这63 个系数应该按照怎么样的顺序排列?为了保证低频分量先出
现,高频分量后出现,以增加行程中连续“0”的个数,这63 个元素采用了“之”字型(Zig-Zag)
的排列方法,如图9.5 所示。
图9.5 Zig-Zag
这63 个AC 系数行程编码的码字用两个字节表示,如图9.6 所示。
图9.6 行程编码
上面,我们得到了DC 码字和AC 行程码字。为了进一步提高压缩比,需要对其再进行熵编
码,这里选用Huffman 编码,分成两步:
(1)熵编码的中间格式表示
对于AC 系数,有两个符号。符号1 为行程和尺寸,即上面的(RunLength,Size)。(0,0)
和(15,0)是两个比较特殊的情况。(0,0)表示块结束标志(EOB),(15,0)表示ZRL,当行
程长度超过15 时,用增加ZRL 的个数来解决,所以最多有三个ZRL(3 ×16+15=63)。符号
2 为幅度值(Amplitude)。
对于DC 系数,也有两个符号。符号1 为尺寸(Size);符号2 为幅度值(Amplitude)。
(2)熵编码
对于AC 系数,符号1 和符号2 分别进行编码。零行程长度超过15 个时,有一个符号(15,
0),块结束时只有一个符号(0
文档评论(0)