Study - 基于霍夫曼图像压缩重建

简介: Study - 基于霍夫曼图像压缩重建

案例背景


  随着人们对图像压缩技术的重视,目前已经提出了多种压缩编码方法。如果以不同种类的媒体信息为处理对象,则每种压缩编码方法都有其自身的优势和特点,如编码复杂度和运行效率的改善、解码正确性的提高、图像恢复的质量提升等"。


特别是,随着互联网.信息量的不断增大,高效能信息检索的质量也与压缩编码方法存在越来越紧密的联系。从发展的现状来看,采用分形和小波混合图像编码方法能充分发挥小波和分形编码的优点,弥补相互的不足,因此成为图像压缩的一个重要研究方向,但是依然存在某些不足之处,有待进一步提高。



理论基础.


  压缩,根据编码前后数据损失的角度可分为无损压缩编码和有损压缩编码;根据已知编码方法分类的实用性角度可分为统计编码、预测编码和变换编码。所谓无损压缩,就是利用数据的统计冗余信息进行压缩,且能够在不引起任何失真的前提下完全恢复原始数据。无损压缩法广泛用于文本、程序和特殊应用场合的图像数据(如指纹图像、医学图像等)的压缩。常用的无损压缩编码方法有香农(Shannon-Fano) 编、霍夫曼(Huffman)编码、行程( Run-length)编码、LZW ( Lempel Ziv-Welch)编码和算术编码等”。


  霍夫曼编码完全依据字符出现的概率来构造异字头的平均长度最短的码字,有时称之为最佳编码。霍夫曼编码将使用次数较多的代码用长度较短的编码代替,将使用次数较少的代码用较长的编码代替,并且.确保编码的唯一可解性。其根本原则是压缩编码的长度(即字符的统计数字x字符的编码长度)最小,也就是权值和最小。


霍夫曼编码的步骤:霍夫曼编码是一种无损压缩方法,其一-般算法如下。


image.png

霍夫曼编码的特点


霍夫曼编码是最佳的变长编码,其特点如下:


1.可重复性:霍夫曼编码不唯一,具有可重复性。


2.效率差异性:霍夫曼编码对于不同的信源往往具有不同的编码效率,具有效率差异性。


3.不等长性:霍夫曼编码的输出内容不等长,因此给硬件实现带来一定的困难,也在一定程度上造成了误码传播的严重性。


4.信源依赖性:霍夫曼编码的运行效率往往要比其他编码算法高,是最佳的变长编码。但是,霍夫曼编码以信源的统计特性为基础,必须先统计信源的概率特性才能编码,因此具有对信源的依赖性,这也在一定程度上限制了霍夫曼编码的实际应用。


image.png



程序实现


  本案例采用基于霍夫曼压缩及解压缩的流程来执行拼接操作,实验载入图片文件夹作为待压缩对象,通过进行图片霍夫曼压缩、解压缩并显示对比来检验压缩效果,最后通过计算PSNR值来对比霍夫曼压缩的效果。


image.png

image.png

压缩结果表明,霍夫曼图像压缩可以在无损的前提下有效地进行图像的编解码,具有良好的压缩比,解压缩后的图像与原始图像相比也具有较高的PSNR值,可以有效地节省图像在传输、存储等过程中所需要的资源消耗,提高图像处理的效率。


  在无损压缩方面,霍夫曼编码具有最佳编码的美誉;在有损压缩方面,预测编码和变换编码也各有所长。因此,对于不同的应用场景可以根据所处理对象和系统要求选择不同的编码算法,提高算法的适用性。特别是,对于经典的JPEG编码包括基于DCT的JPEG编码和基于小波变换的JPEG编码,小波变换编码在性能上更加符合人们的要求,所以在JPEG压缩编码标准的基础.上提出了基于小波变换的JPEG 2000压缩编码标准。


  随着网络信息技术的飞速发展,信息高效快速地传输已经变得越来越重要,而传输信息就需要先经过编码,然后译码。因此,编码技术的提高对整个信息产业的发展具有举足轻重的作用。霍夫曼编码作为- -种可变长度的无损压缩方法,具有较高的压缩效率,在当今的网络传输中具有重要的应用价值。此外,霍夫曼树属于最优二叉树范畴,在不同的程序设计中已经选择它来降低程序运行的时间复杂度,提高编码的性能。



相关文章
|
7月前
|
传感器 移动开发 测试技术
通过卷积公式学习声速重建的成像模型
【1月更文挑战第1篇】通过卷积公式学习声速重建的成像模型
82 2
|
算法 计算机视觉
图像特征提取--ORB算法
图像特征提取--ORB算法
114 0
|
算法 Java
数学建模常用算法:变邻域搜索算法(VNS)求解tsp问题+att48算例测试【java实现--详细注释】
数学建模常用算法:变邻域搜索算法(VNS)求解tsp问题+att48算例测试【java实现--详细注释】
167 0
|
算法 Java
数学建模常用算法:禁忌搜索算法求解tsp问题+att48算例测试【java实现--详细注释】
数学建模常用算法:禁忌搜索算法求解tsp问题+att48算例测试【java实现--详细注释】
137 0
|
机器学习/深度学习 Dart 并行计算
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(二)
暴力涨点 | IC-Conv使用高效空洞搜索Inception卷积带来全领域涨点(文末附论文下载)(二)
130 0
|
机器学习/深度学习 存储 编解码
高效神经网络架构的正确打开方式 | EMO:结合 CNN 和 Transformer 的现代倒残差移动模块设计
高效神经网络架构的正确打开方式 | EMO:结合 CNN 和 Transformer 的现代倒残差移动模块设计
305 0
|
算法
m基于LOC-PCA算法的人脸重建算法matlab仿真,给定人物侧脸实现正脸重建
m基于LOC-PCA算法的人脸重建算法matlab仿真,给定人物侧脸实现正脸重建
141 0
|
算法
对滤波反投影重建算法的研究以phantom图进行matlab仿真,构建滤波器,重建图像
对滤波反投影重建算法的研究以phantom图进行matlab仿真,构建滤波器,重建图像
288 0
对滤波反投影重建算法的研究以phantom图进行matlab仿真,构建滤波器,重建图像
|
机器学习/深度学习 传感器 算法
【图像重建】基于SIDER算法实现图像的压缩重建附matlab代码
【图像重建】基于SIDER算法实现图像的压缩重建附matlab代码
|
机器学习/深度学习 算法 计算机视觉
【图像压缩】基于二叉树和优化截断(BTOT)实现遥感图像压缩附matlab代码
【图像压缩】基于二叉树和优化截断(BTOT)实现遥感图像压缩附matlab代码