网站大量收购独家精品文档,联系QQ:2885784924

JPEG压缩编码算法的主要计算步骤如下正向离散余弦变换-Read.PPT

JPEG压缩编码算法的主要计算步骤如下正向离散余弦变换-Read.PPT

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JPEG压缩编码算法的主要计算步骤如下正向离散余弦变换-Read

* 4.3 静态图像的JPEG技术标准 JPEG 全名为 Joint Photographic Experts Group(联合摄影专家组),它是一个在国际标准组织(ISO)下从事静态图像压缩标准制定的委员会。 JPEG专家组开发了两种基本的压缩算法,一种是采用以离散余弦变换(Discrete Cosine Transform,DCT)为基础的有损压缩算法,另一种是采用以预测技术为基础的无损压缩算法。 为了在保证图像质量的前提下进一步提高压缩比,近年来JPEG专家组正在制定JPEG 2000(简称JP 2000)标准,这个标准中将采用小波变换(wavelet)算法 JPEG压缩是有损压缩,它利用了人的视角系统的特性,使用量化和无损压缩编码相结合来去掉视角的冗余信息和数据本身的冗余信息。JPEG算法框图如下图所示 JPEG压缩编码-解压缩算法框图 由于JPEG希望满足各种应用的需要,而实际上用一种算法是很难做到这一点.于是JPEG算法分成两类:基本算法和扩展算法。其中基本算法又包括:有失真算法和无失真算法。下面以基本算法为例加于说明。 有失真算法是基于DCT变换的。包括最简单的基本顺序过程和基于基本顺序的四种扩展顺序。 JPEG压缩编码算法的主要计算步骤如下: 正向离散余弦变换(FDCT)。 量化(quantization)。 Z字形编码(zigzag scan)。 使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码。 使用行程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码。 1. 正向离散余弦变换 下面对正向离散余弦变换(FDCT)变换作几点说明。 (1) 对每个单独的彩色图像分量,把整个分量图像分成8×8的图像块,如下图所示,并作为两维离散余弦变换DCT的输入。通过DCT变换,把能量集中在少数几个系数上。 (2) DCT变换使用下式计算 它的逆变换使用下式计算, 上面两式中, C(u), C(v) = 1/, 当u, v = 0; C(u), C(v) = 1, 其他。 f(i, j)经DCT变换之后,F(0,0)是直流系数,其他为交流系数。 (3) 在计算两维的DCT变换时,可使用下面的计算式把两维的DCT变换变成一维的DCT变换, 两维DCT变换方法 2. 量 化 量化是对经过FDCT变换后的频率系数进行量化。量化的目的是减小非“0”系数的幅度以及增加“0”值系数的数目。量化是图像质量下降的最主要原因。 对于有损压缩算法,JPEG算法使用均匀量化器进行量化,量化步距是按照系数所在的位置和每种颜色分量的色调值来确定。 均匀量化器 亮度量化值?????????? 色度量化值 3. Z字形编排 量化后的系数要重新编排,目的是为了增加连续的“0”系数的个数,就是“0”的游程长度,方法是按照Z字形的式样编排,如下图所示。这样就把一个8 * 8的矩阵变成一个1* 64的矢量,频率较低的系数放在矢量的顶部。 4. 直流系数的编码 8 *8图像块经过DCT变换之后得到的DC直流系数有两个特点,一是系数的数值比较大,二是相邻8 * 8图像块的DC系数值变化不大(具有一定的相关性)。根据这个特点,JPEG算法使用了差分脉冲调制编码(DPCM)技术,对相邻图像块之间量化DC系数的差值(Delta)进行编码, Delta=DC(0, 0)k-DC(0, 0)k-1 5. 交流系数的编码 量化AC系数的特点是1*64矢量中包含有许多“0”系数,并且许多“0”是连续的,因此使用非常简单和直观的游程长度编码(RLE)对它们进行编码。 6. 熵编码 使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩。 在JPEG有损压缩算法中,使用Huffman编码器来减少熵。使用霍夫曼编码器的理由是可以使用很简单的查表(lookup table)方法进行编码。压缩数据符号时,霍夫曼编码器对出现频度比较高的符号分配比较短的代码,而对出现频度较低的符号分配比较长的代码。这种可变长度的霍夫曼码表可以事先进行定义。 DC系数的编码分两步进行: 1:由分组ssss和DC系数构造中间码。(中间码=(ssss)(差分DC系数)) 2:利用中间码的分组大小查找亮度(或色度)DC系数的霍夫曼编码表, 得到该分组的编码,将此编码放在前面。 3:在查得分组编码的后面附加上DC系数的编码值(采用补码形式)。 即:DC系数的编码 =(分组ssss的编码)(

文档评论(0)

ailuojue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档