几种图像压缩算法ppt课件.ppt_第1页
几种图像压缩算法ppt课件.ppt_第2页
几种图像压缩算法ppt课件.ppt_第3页
几种图像压缩算法ppt课件.ppt_第4页
几种图像压缩算法ppt课件.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

补充 几种图像压缩算法 1 图像数据压缩方法的分类 数据压缩的任务在不影响或少影响图像质量的前提下 尽量设法减少图像数据中的数据量 其首要任务是设法去掉各种冗余的数据 2 数据压缩实际是一个编码的过程 即将原始数据进行编码压缩 数据解压缩是数据压缩的逆过程 即将经过压缩的数据还原成原始数据 因此数据压缩方法也称编码方法 评价压缩方法的优劣主要从以下3个方面来衡量 3 1 压缩比 压缩比指原始图像经A D转换后未经压缩所产生的数据量与经压缩所产生的数据量之比 2 图像质量 还原出来的图像质量比原始图像有多大失真 一般采用人的视觉效果和信噪比两个方法 前者是通过人在两米内观察所作的评价 后者通过仪器测量 4 3 实现难度 即实现压缩及还原算法的难易程度 亦即完成压缩所需要的时间与空间开销或硬件实现的复杂性 压缩的方法主要有以下几种 见图3 3 5 6 无损编码可以完全恢复原始图像而不引入失真 它利用数据的统计特性来进行数据压缩 解压缩后的还原图像与原始图像完全一致 有损编码不能完全恢复原始数据 而是利用人的视觉特性使解压缩后的图像和原来一样 把上述方法结合起来即为混合方法 下面介绍几种常用的压缩方法 7 2霍夫曼编码 霍夫曼编码是无损编码的一种 是一种基于统计特性的可变字长的编码方法 属于无损编码的还有行程编码 算术编码等 下面来看霍夫曼编码 8 设被编码的符号如下 s1 s2 s3 sn它们出现的概率分别为 p1 p2 p3 pn假设采用不等字长编码 每个符号的码长分别为 m1 m2 m3 mn 9 10 数学上可以证明 符号序列 si 的任何一种编码方案 其平均码长必定大于或等于H 也就是说 H是该符号序列的理想最小平均码长 平均码长越接近H 我们说该编码方案越好 11 数学上还可以证明 在可变字长编码中 对于出现概率大的符号编码成短字长的编码 对于概率小的符号 编以较长的字长编码 如果码字长严格按照所对应符号的出现概率的大小逆序列排列 则平均码长一定小于其他任何符号顺序方式 即这是一种最接近于熵值的 最佳编码 霍夫曼编码是实现上述最佳编码的一种算法 下面看一个示例 12 大部分数字信息的编码都是采用定长编码 意即采用相同的位数对数据进行编码 如常用的ASCII就是定长编码 它用7位二进制数来表示每一个字符 但是实际上在文章中每个字符出现的概率并不相等 我们现在假设有a b c d e5个字符 其出现概率分别为0 12 0 40 0 15 0 08 0 25 用以下方法来求得其霍夫曼编码 13 将5个字符按其概率大小排序 然后把最小的两项的概率值相加 归并成新的一项 然后再选最小的两项合并 一直重复作到只剩最后一项为止 本例实现过程参见图3 4 下面再来构造霍夫曼编码树 这是一棵二叉树 我们从图3 5中的右方开始向左取值 根结点概率为1 0 以下左分枝取概率小的项 右分枝取概率大的项 对于归并项 按此规则一直分解到最右方为止 如图3 5所示为构造好的霍夫曼编码树 14 15 16 如图3 5所示 我们给每个左分枝标以0 给每个右分枝标以1 则从根结点至每个叶结点的路径即为该叶结点代表字符的编码 如图3 5右方所示 本例中熵的值为2 09 编码的平均码长为2 15 非常接近 霍夫曼编码的优点是简单易行 缺点是解码时必须知道所使用的码表 这给存储和通信带来不便 另一个缺点是它依赖于原始数据的概率 这在实际应用中受到许多限制 17 编码实例 16色bmp数据 第一行 2424243060400922 46 46第二行 64656788888888 90780000 表示该行图像数据已结束0001 表示整个图像结束0002 用来转义后面两个字节 即表示其后的两个字节分别表示下一个像素从当前位置开始的水平与垂直位移00N 表示从当前位置起 图像数据存在连续N个不同的值 存放于N 2个字节中 3 行程长度编码 5个 18 行程编码原理 在给定的图像数据中寻找连续重复的数值 然后用两个字符值取代这些连续值 aaabbbbccccddd 3a4b4c3d 处理包含大量重复信息时可以得到很好的压缩效率 但在连续重复数据少时效果差PCX图像文件的RLE压缩算法 19 4预测编码 预测编码用于图像编码时与声音的压缩编码很类似 它也是根据过去已编码的像素 也称为参考像素 来预测当前的像素值 称为预测值 然后对当前的像素值与预测值之差进行编码 这就是差分编码 DPCM 这种编码是利用图像本身的相关性及视觉的差值灵敏度特性 差值大时 可以粗量化 图像编码用地较多的是二维预测 如图3 6所示 20 21 LZW压缩算法 LZW压缩算法是一种新颖的压缩方法 由Lemple Ziv Welch三人共同创造 用他们的名字命名 它采用了一种先进的串表压缩 将每个第一次出现的串放在一个串表中 用一个数字来表示串 压缩文件只存贮数字 则不存贮串 从而使图象文件的压缩效率得到较大的提高 奇妙的是 不管是在压缩还是在解压缩的过程中都能正确的建立这个串表 压缩或解压缩完成后 这个串表又被丢弃 22 LZW算法中 首先建立一个字符串表 把每一个第一次出现的字符串放入串表中 并用一个数字来表示 这个数字与此字符串在串表中的位置有关 并将这个数字存入压缩文件中 如果这个字符串再次出现时 即可用表示它的数字来代替 并将这个数字存入文件中 压缩完成后将串表丢弃 如 print 字符串 如果在压缩时用266表示 只要再次出现 均用266表示 并将 print 字符串存入串表中 在图象解码时遇到数字266 即可从串表中查出266所代表的字符串 print 在解压缩时 串表可以根据压缩数据重新生成 23 压缩算法的简单示例 对原始数据ABCCAABCDDAACCDB进行LZW压缩原始数据中 只包括4个字符 Character A B C D 四个字符可以用一个2bit的数表示 0 A 1 B 2 C 3 D 从最直观的角度看 原始字符串存在重复字符 ABCCAABCDDAACCDB 用4代表AB 5代表CC 上面的字符串可以替代表示为 45A4CDDAA5DB 24 JPEG编码 二 JPEG算法的主要计算步骤JPEG压缩编码算法的主要计算步骤如下 1 正向离散余弦变换 FDCT 2 量化 Quantization 3 Z字形编码 ZigzagScan 4 使用差分脉冲编码调制 DifferentialPulseCodeModulation DPCM 对直流系数 DC 进行编码 5 使用行程长度编码 Run LengthEncoding RLE 对交流系数 AC 进行编码 6 熵编码 EntropyEoding 25 1 正向离散余弦变换 1 对每个单独的彩色图像分量 把整个分量图像分成若干个8 8的图像块 如图所示 并作为两维离散余弦变换DCT的输入 通过DCT变换 把能量集中在少数几个系数上 2 DCT变换使用下式计算 它的逆变换使用下式计算 上面两式中 C u C v 2 1 2 当u v 0 C u C v 1 其他 f i j 经DCT变换之后 F 0 0 是直流系数 其他为交流系数 3 在计算两维的DCT变换时 可使用下面的计算式把两维的DCT变换变成一维的DCT变换 26 2 量化 量化是对经过FDCT变换后的频率系数进行量化 量化的目的是减小非 0 系数的幅度以及增加 0 值系数的数目 量化是图像质量下降的最主要原因 对于有损压缩算法 JPEG算法使用如下图所示的均匀量化器进行量化 量化步距是按照系数所在的位置和每种颜色分量的色调值来确定 因为人眼对亮度信号比对色差信号更敏感 因此使用了两种量化表 亮度量化值和色差量化值 此外 由于人眼对低频分量的图像比对高频分量的图像更敏感 因此图中的左上角的量化步距要比右下角的量化步距小 下面2个表中的数值对CCIR601标准电视图像已经是最佳的 如果不使用这两种表 你也可以把自己的量化表替换它们 亮度量化值表和色度量化值表 27 3 Z字形编排 量化后的系数要重新编排 目的是为了增加连续的 0 系数的个数 就是 0 的游程长度 方法是按照Z字形的式样编排 如下图所示 这样就把一个8 8的矩阵变成一个1 64的矢量 频率较低的系数放在矢量的顶部 量化DCT系数序号0156141527252471316262942381217253041439111824314044531019233239455254202233384651556021343747505659613536484957586263 28 4 直流系数的编码 8 8图像块经过DCT变换之后得到的DC直流系数有两个特点 一是系数的数值比较大 二是相邻8 8图像块的DC系数值变化不大 根据这个特点 JPEG算法使用了差分脉冲调制编码 DPCM 技术 对相邻图像块之间量化DC系数的差值 Delta 进行编码 Delta DC 0 0 k DC 0 0 k 1 29 5 交流系数的编码 量化AC系数的特点是1 64矢量中包含有许多 0 系数 并且许多 0 是连续的 因此使用非常简单和直观的游程长度编码 RLE 对它们进行编码 JPEG使用了1个字节的高4位来表示连续 0 的个数 而使用它的低4位来表示编码下一个非 0 系数所需要的位数 跟在它后面的是量化AC系数的数值 30 6 熵编码 使用熵编码还可以对DPCM编码后的直流DC系数和RLE编码后的交流AC系数作进一步的压缩 在JPEG有损压缩算法中 使用霍夫曼编码器来减少熵 使用霍夫曼编码器的理由是可以使用很简单的查表 LookupTable 方法进行编码 压缩数据符号时 霍夫曼编码器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论