图像压缩奥秘.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图像压缩的奥秘2013-02-07小编: 等待宿命?计算机?暂无评论?字号:?大?小?热度:?45°本文所有文字的HTML文件大约有25000个字节。这小于你从这个网页上下载的任何一个图像文件。因为图像文件通常比文字文件大得多,并由于网页包含许多常被传送因而传速变慢的图像,将图像以一种压缩快送方式传送变得非常重要。在这篇文章中我们将看到一个JPEG文件怎样利用尽量小的计算机存储来表示图像。我们也将讨论一些JPEG背后的数学。被更广泛地称为数据压缩的论题问的是:“我们怎样以紧凑、有效的方式表示信息?”除了图像文件外,通常要压缩数据、影像、音乐文件。例如,如何压缩8个GB的iPod Nano的2000首歌曲?问题的关键是通过某种方式组织信息,揭示出可被消除的固有的多余之处。在这篇文章中,我们将用下图作为例子,探讨JPEG基线压缩算法(JPEG为“联合图像专家组”的英文单词第一个字母组成的缩写)。一些压缩算法是无损的,它们保留所有的原始信息。其他的一些,如JPEG基线算法,是有损的,某些信息会被丢失,但仅仅是那些被判断为不重要的信息。在着手之前,我们先天真地确定这张图需要多少计算机存储。首先,图像被布置在一个矩形的像素网格,其尺寸为250×375,总共有93750像素。各像素的颜色通过指定多少比例的红、绿和蓝色的颜色混合在一起来确定。每个颜色分量被表示为0和255之间的一个整数,因此需要一个字节的计算机存储。因此,每个像素需要3个字节的存储空间,这意味着整个图像应该要求93750×3=281250字节。然而,这里显示的JPEG图只有32414个字节,换言之,它已被压缩了大约9倍。我们将描述怎样用压缩过的小文件表示图像,并怎样从被压缩的文件重构图像。压缩算法首先,图像被分成8×8的块状像素。因为每一块都与其他块无关地被处理,我们集中讨论单独一块。特别,我们考察下图中划出阴影的那一块。这里是同一小块放大后的样子,其中每个像素看上去更明显。注意所有8×8像素之间没有太大的变化(但其他块则不一定)。记得数据压缩的目的是以揭示一些多余性的方式表达数据。我们可以想到把每个像素的颜色表示为由红、绿、蓝分量组成的一个三维向量(R,G,B)。在典型的图像中,这些分量之间有巨大的相关性。由于这个理由,我们将使用一个颜色空间变换,它产生一个新的向量,其分量代表亮度Y及蓝色和红色的色度,分别记为Cb和Cr:??YCbCr??=??0.29900?0.168740.500000.58700?0.33126?0.418690.114000.50000?0.08131????RGB??.亮度描述了像素的光亮性,而色度则携带有关色调的信息。这三个量通常比(R,G,B)的分量的相关性低。此外,心理视觉实验表明,人的眼睛对亮度比色度更加敏感,这意味着我们可以忽视色度较大的变化,而不会影响我们对图像的感知。由于这种转变是可逆的,我们将能够从向量(Y,Cb,Cr)恢复向量(R,G,B)。当我们希望重建图像时,这是很重要的。(确切地说,我们通常会让色度分量加上128,使得它们表示为0和255之间的数。)当我们将这种变换用到我们的块中的每个像素后,我们得到对应于每个分量的三个新块。这些由下图所示,较亮的像素对应较大的值。如通常所见的,亮度比色度具有较多的变化。由此缘故,通过假设色度在2×2小块上为常数,有时可以得到较大的压缩比,因此记录较少的值。例如,图像编辑软件Gimp当将一个图像存为JPEG文件时,提供了以下的菜单:“Subsampling”选项允许抽取色度值不同方式的选择。这里同样值得注意的是“Quality”参数,它的重要性在下面将变得很清楚。离散余弦变换现在我们到达压缩算法的核心。我们的期望是,这块8×8像素上向量(Y,Cb,Cr)分量的变化相当温和,如上例所示。我们不记录各个分量的值,而是记录比方说平均值以及每个像素值与平均值相差多少。在许多情况下,我们能期待与这些平均值的差相当小,因此可以安全地忽略。这是现在将要解释的离散余弦变换(DCT)的本质。我们先集中于这块中某一行的三个分量当中的一个,想象这8个值由f0,f1,…,f7代表。我们想以某种方式表示这些值使得它们的变化变得更明显。为此,我们把这些值视为由一个函数fx给出,其中x从0到7之间取值,并把该函数写出余弦函数的一个线性组合:fx=12∑w=07CwFwcos[π(2x+1)w16].不要担心Cw(除了C0=1/2√外,对所有w都有Cw=1)前面的因子1/2。这个表达式的重要之处在于它把fx用具有变化的频率、带有系数Fw的余弦函数的一个线性组合来表示。下图显示的是对应于频率w的其中4个余弦函数的图像:当然,具有较高频率的余弦函数显示了更快的变化。因此,如果值fx相对慢地改变,较大频率的系数Fw将相对小。

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档