[数据压缩作业] 实验四

本文介绍了一次实验,旨在掌握DPCM编解码系统原理,使用Python等语言实现。实验内容包括DPCM编码系统设计,固定预测器和均匀量化器的应用,以及PSNR和Huffman编码在压缩效率上的比较。通过对不同图像的处理,分析了DPCM+熵编码与仅熵编码的压缩效果,并探讨了图像质量和压缩比的关系。
摘要由CSDN通过智能技术生成

实验名称:DPCM压缩系统的实现和分析


实验目的

掌握DPCM编解码系统的基本原理。初步掌握实验用C/C++/Python等语言编程实现DPCM编码器,并分析其压缩效率。


一、实验内容

1.DPCM编解码原理

DPCM是差分预测编码调制的缩写,是比较典型的预测编码系统。在DPCM系统中,需要注意的是预测器的输入是已经解码以后的样本。之所以不用原始样本来做预测,是因为在解码端无法得到原始样本,只能得到存在误差的样本。因此,在DPCM编码器中实际内嵌了一个解码器 

在一个DPCM系统中,有两个因素需要设计:预测器和量化器。理想情况下,预测器和量化器应进行联合优化。实际中,采用一种次优的设计方法:分别进行线性预测器和量化器的优化设计

2.DPCM编码系统的设计

在本次实验中,采用固定预测器和均匀量化器。预测器采用左侧预测。量化器采用8比特均匀量化。本实验的目标是验证DPCM编码的编码效率。

首先读取一个256级的灰度图像,采用自己设定的预测方法计算预测误差,并对预测误差进行8比特均匀量化

在DPCM编码器实现的过程中可同时输出预测误差图像和重建图像。

将预测误差图像写入文件并将该文件输入Huffman编码器,得到输出码流、给出概率分布图并计算压缩比。

将原始图像文件输入Huffman编码器,得到输出码流、给出概率分布图并计算压缩比。

最后比较两种系统(1.DPCM+熵编码和2.仅进行熵编码)之间的编码效率(压缩比和图像质量)。压缩质量以PSNR进行计算。

3.PSNR峰值信噪比

计算量化误差时需要计算其均方误差MSE。若图像大小为m×n,I与K分别为原始图像和重建噪声图像,则其均方误差计算公式为:

 峰值信噪比(单位为dB)的计算公式为:

 其中MAX_{I}表示图像点颜色的最大数值,如果每个样点用8位表示MAX_{I}=255

图像高度m-1 图像宽度 n-1

 PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点间的误差,即基于误差敏感的图像质量评价。由于并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

  • PSNR\geqslant40dB说明图像质量极好(即非常接近原始图像)
  • 30\leqslantPSNR\leqslant40dB通常表示图像质量是好的(即失真可以察觉但可以接受)
  • 20\leqslantPSNR\leqslant30dB说明图像质量差
  • PSNR\leqslant20dB图像质量已无法接受 

4. Huffman编码


Huffman是一种无失真信源编码算法,主要目的是根据使用频率来最大化节省字符(编码)的存储空间,编码后可以得到即时的最佳码。

5. 编码效率与压缩量分析


压缩量依据PSNR分析
编码效率(压缩比和图像质量)
压缩比计算公式:
(1)原图像大小/DPCM+熵编码生成的预测误差图像大小
(2)原图像大小/仅进行熵编码生成的预测误差图像大小

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值