
图像压缩是为了减少表示数字图像所需的数据量. 指的是用更少的有损或无损位表示原始像素矩阵的技术,也称为图像编码. 在我们的生活中,无论是普通百姓还是从事科学研究领域的某些科技工作者都将与数据信息的传输和存储联系. 随着数字时代的到来,图像的生产,处理和存储已与传统媒体(纸张,胶片等)分离. 与传统方法相比,数字图像具有传统方法无法比拟的优势. 但是,在每种技术出现的同时,有些方面限制了它的发展. 例如数字电视,遥感照片,雷达,飞机等提供的军事侦察图像,视频电话,会议电视和传真照片,教育,商业,管理等领域的图形材料,CT机,X射线机和其他设备无论使用哪种传输介质传输信息,例如医学图像,天气云图等,都将遇到传输和存储大量图像数据的问题. 大量图像数据的传输应确保传输的质量和速度,并且还应存储图像数据的大小和容量. 因此,为了解决大量图像数据的传输和存储问题,在当前的传输介质中,传输带宽受到限制,因此如何在一定的限制条件下传输尽可能多的运动图像,图像数据又如何呢?最大程度地压缩图像,诸如确保压缩后的重建图像能够被用户接受等问题已成为研究图像压缩技术的问题根源. 可以压缩图像数据的原因主要是因为原始图像数据通常高度相关并且包含许多冗余信息. 图像压缩编码的目的是消除各种冗余,并在给定的失真下以尽可能少的比特来表征和重建图像,从而满足预期应用的要求.
由于图像数据之间存在一定量的冗余,因此可以进行数据压缩. 信息理论的创始人Shannon建议将数据视为信息和冗余的结合. 所谓冗余是因为图像的像素之间有很大的相关性,可以使用一些编码方法将其删除,以达到减少冗余压缩数据的目的. 为了消除数据中的冗余,通常必须考虑信号源的统计特性,或建立信号源的统计模型. 图像的冗余包括以下内容:
压缩数字图像通常使用两个基本原理:
一个是数字图像的相关性. 在图像的同一行中的相邻像素之间,相邻像素之间以及运动图像的相邻帧中的对应像素之间通常存在很强的相关性. 消除或减少这些相关性,即消除或减少图像信息中的冗余度也压缩了数字图像. 帧内像素的相关性称为空间相关性. 相邻帧之间的对应像素之间的相关性被称为时域相关性. 第二是人类视觉心理特征. 人的视觉对锐利的边缘变化(视觉掩盖效果)不敏感,并且颜色分辨率较弱. 使用这些功能会适当降低相应部分的编码精度,使人们无法从视觉上感知到图像质量的下降,从而达到正确的数字图像压缩的目的.
(1)图像压缩编码技术的分类
用于图像编码和压缩的方法很多,其分类方法根据起点而有所不同. 根据解压缩和重建的图像与原始图像之间是否存在错误,将图像编码压缩分为无错误编码和错误编码. 以无损编码方式仅删除图像数据中的冗余数据. 解码后的重建图像和原始图像没有任何失真,经常用于复制和保存非常珍贵的历史,文物等;有损编码是指解码和重建与原始图像相比,图像失真,无法准确还原,但视觉效果基本相同. 这是一种实现高压缩率的编码方法. 数字电视,图像传输和多媒体通常使用这种类型的编码方法. 图像压缩技术: A: 无损压缩a. 霍夫曼编码b. 行程编码c. 算术编码B: 有损压缩a. 预测编码b. 变换编码c. 其他编码

(2)霍夫曼编码
在无损压缩编码方法中,霍夫曼编码是一种有效的编码方法. 它是霍夫曼博士在1952年基于可变长度最佳编码定理提出的. 根据源数据中每个信号出现的频率分配不同长度的代码. 基本思想是,在编码过程中,出现频率越高,分配的编码长度越短,出现频率越低,分配的编码长度越长. 这是一种无损编码方法. 采用霍夫曼编码方法的实质是根据统计结果对字符本身进行重新编码,而不是对重复的字符或重复的子字符串进行编码. 所获得的单位像素的位数最接近图像的实际熵. 例如,在英语中,e的出现概率很高,而z的出现概率最低. 当使用霍夫曼编码来压缩一段英语时,e很可能用一位表示,而z可能需要25位(而不是26位). 使用通用表示方法时,每个英文字母占用一个字节(byte),即8位. 与两者相比,e使用普通编码长度的1/8,z使用大于3倍. 如果我们可以更准确地估计每个字母在英语中出现的可能性,则可以大大提高无损压缩的比率. 例如: 假设源符号为[a,b,c,d,e,f,g],并且其出现的概率分别为[0.25、0.025、0.025、0.05、0.35、0.25、0.05],总计对于7个字符,霍夫曼对其进行编码,算法如下: 首先,根据每个字符从左到右的频率: 0.35、0.25、0.25、0.05、0.05、0.025、0.025;选择最小的两个值作为叶节点在二叉树中,具有较大值的叶节点在左侧,并将与两个叶节点相对应的频率之和作为根节点. 删除原始排列中的两个最小节点,然后将新的根节点插入到排列中,以保持排列顺序从左到右;重复2),直到最终获得值为1的根节点. 获取霍夫曼树,如下图所示: 在获得的霍夫曼树上,左侧分支标记为1,右侧分支标记为0. 所有字符均根据其频率和从其开始的路径标记在相应的叶节点上. 遇到叶节点的根节点. 所获得的0和1字符串是相应叶节点的字符的编码. a,b,c,d,e,f和g的七个字符的霍夫曼编码是: 10、0001、0000、0011、11、01、0010. 可以看出该符号只能出现在叶子上,任何一个字符的路径都不会是另一个字符路径的前缀路径.
(3)行程编码
游程长度编码也称为RLE压缩方法. RLE是Run-Length-Encoding的缩写. 该缩写方法广泛用于各种图像格式的数据压缩处理中,并且是最简单的图像压缩方法之一. 行程编码技术是在给定的图像数据中找到连续的重复值,然后用两个字符值替换这些连续的值. 例如,由字母字符串表示的数据是“ aaabbbbccccdddedddaa”,并且在笔画编码过程之后可以表示为“ 3a4b4c3d1e3d2a”. 处理包含大量重复信息的数据时,该方法可以实现良好的压缩效率. 但是,如果连续的重复数据很少,则难以获得更好的压缩率. 此外,压缩之后的编码字节数可以大于处理之前的图像字节数. 因此,行程编码的压缩效率与图像数据的分布密切相关.
(四)算术编码
算术编码类似于霍夫曼编码方法,该算法使用较短的代码替换图像数据中更频繁的数据,并使用较长的代码替换图像数据中不经常使用的数据以实现数据压缩. 目标. 基本思想是将编码数据序列表示为0到1之间的间隔(即十进制范围),并且间隔的位置与输入数据的概率分布有关. 信息越长,间隔越小,因此表示此间隔所需的二进制数字也更多(因为间隔以小数表示). 算术压缩算法的两个基本要素是源数据的频率及其对应的编码间隔. 其中,源数据的出现频率和编码间隔决定了算术编码算法的最终输出数据.

(5)预测编码
预测编码是更广泛使用的编码技术之一. 预测编码中的典型压缩方法包括脉冲编码调制(PCM,脉冲编码调制),差分脉冲编码调制(DPCM,差分脉冲编码调制),自适应差分脉冲编码调制(ADPCM,自适应差分脉冲编码调制)等. 更适合于声音和图像数据的压缩,因为这些数据是通过采样获得的,相邻采样之间的差异不会有很大的不同,并且可以用更少的位表示. 通常,图像的相邻像素值具有很强的相关性. 观察像素的相邻像素可以获得有关该像素的很多信息. 这种性质导致了预测编码技术. 当使用预测编码时,传输的不是图像的实际像素值(色度值或亮度值),而是实际像素与预测像素值之差,即预测误差. 预测编码分为无失真预测编码和失真预测编码. 无失真的预测编码意味着预测误差不会被量化,因此不会丢失任何信息. 失真编码需要量化预测误差,量化必须产生一定的误差.
(6)变换编码
预测编码认为冗余是数据固有的. 通过对源建模,可以尽可能准确地预测源数据,并消除图像的时间冗余. 但是,冗余有时与不同的表达方法密切相关. 变换编码是将原始数据“变换”为另一个更紧凑的表示空间,并删除图像的空间冗余,该冗余可以高于预测编码. 数据压缩. 变换编码是一种将图像时域信号变换到系数空间(频域)中进行处理的方法. 它在时域空间中具有很强的相关性信息,在频域中反映出能量通常集中在某些特定区域,或者系数矩阵的分布具有某些定律,因此这些定律可用于分配频率. domain量化位数以达到压缩目的. 变换编码的目的是消除帧内和帧间图像内容之间的相关性. 它对变换后的系数进行编码,而不是对图像的原始像素进行编码. 首先对信号执行某种功能转换,然后从一个信号(空间)转换为另一信号(空间),然后对转换后的信号进行编码. 例如,当将时间城市信号转换到频域时,这是因为大多数声音和图像信号都是低频信号. 在频域中,信号可以更集中. 频域信号转换后,可以进行采样编码,以达到压缩数据的效果. 可以看出,将预测编码与变换编码进行了比较: 预测编码主要在空时域中进行,而变换编码主要在变换时域中进行. 有使用变换编码的DEF(傅里叶变换),DTC(离散余弦变换等).
(七个)其他代码
LZW编码: LZW(Lempel-Ziv-Welch编码)编码的原理是将每个字节值与下一个字节值匹配为一个字符对,并为每个字符对设置一个代码. 当同一字符对再次出现时,该字符对将替换为一个代码,然后该代码与下一个字符配对. LZW编码原理的一个重要特征是该代码不仅可以替换具有相同值的数据字符串,而且可以替换具有不同值的数据字符串. 如果图像数据中有一些具有不同值的数据经常重复出现,那么也可以找到一条代码来替换这些数据字符串. 在这方面,LZW压缩的原理优于RLE. 向量量化编码: 使用相邻图像数据之间的高相关性对输入图像数据序列进行分组. 每组m数据构成一个m维向量并一起编码,即一次量化多个点. 向量量化编码是有损压缩编码. 其缺点是复杂度随向量维数呈指数增长,并且数据量和计算量非常大. 子带编码的基本思想是使用一组带通滤波器将输入图像的傅立叶频谱划分为几个连续的频带,每个频带称为一个子频带. 使用单独的编码方案对每个子带中的图像信号进行编码. 分别对每个子带进行编码的优点是: 首先,对每个子带信号分别进行自适应控制,并且可以根据每个子带的能量水平来调整量化步长的大小. 具有较大能量级的子带将通过较大的量化步长进行反量化,以减少总的量化噪声. 其次图像处理技术手册,可以根据每个子带的信号的重要性来为每个子带分配不同数量的比特,以表示每个采样值. 例如,在低频子带中,为了保护图像的边缘轮廓结构,需要使用更小的量化级和更多的量化级,即,分配更多的比特来表示样本值. 图像中的噪声和图像的细节通常出现在高频子带中,并且分配给它的位更少. 第三,每个子带的量化噪声限于该子带. 即使某个子带中的信号能量很小,也不会被其他子带的量化噪声所掩盖.

(1)基于傅立叶变换的图像压缩算法
在此定义连续信号作为函数;在这里,离散信号是一个函数. 另的连续信号. 这是信号的一个例子. 在屏幕是灰度像素的情况下,该信号与每个点的强度值有关. 当颜色由三种基本颜色元素(RGB)或四种基本颜色(CMYK)表示时,我们在R3或R4上获得信号图. 通常通过间隔采样连续信号来获得离散信号. 离散信号用于例如生物工程,地震学,声学,声纳和雷达图像,语音通信,数据通信,电视卫星通信,卫星图像等. 已经应用了更多领域. 语音和电话信号仅是一维域信号的示例. 但是,雷达图像和卫星图像是二维域处理的示例. 当对更复杂的问题(例如地震学中出现的问题)进行建模时,所使用的域可能具有多个维度. 对信号执行某些操作很重要. 这些操作从信号中提取相关信息或转换信号,以使从信号中获取的信息更易于使用. 我们采用适当的类比将傅里叶变换与玻璃棱镜进行比较. 棱镜是一种物理仪器,可以将光分解为不同的颜色. 每个组件的颜色由波长(或频率)确定. 傅里叶变换可以看作是一个数学棱镜,它根据频率将函数分解为不同的分量.
当我们考虑光时,讨论其频谱或频谱. 类似地,傅立叶变换使我们能够通过频率分量来分析函数. 图像的傅立叶变换的物理含义: 图像的频率是表征图像灰度变化强度的指标,并且是平面空间中灰度的梯度. 例如,大面积沙漠是图像中灰度变化缓慢且相应的频率值非常低的区域;而对于表面属性急剧变化的边缘区域,它是图像中急剧变化的区域. 更高. 在实践中,傅立叶变换具有非常明显的物理意义. 如果f是能量有限的模拟信号,则傅立叶变换代表f的频谱. 从纯粹的数学意义上讲,傅里叶变换将一个函数转换为一系列周期函数. 从物理效应的角度来看,傅里叶变换是将图像从空间域转换到频域,而其逆变换是将图像从频率域转换到空间域. 换句话说,傅里叶变换的物理意义是将图像的灰度分布函数转换为图像的频率分布函数,而傅里叶逆变换是将图像的频率分布函数转换为灰度分布函数. 在傅立叶变换之前,图像(未压缩位图)是通过在连续空间(真实空间)中采样而获得的一组点. 我们习惯用二维矩阵表示空间中的点,那么图像可以是z = f(x,y). 由于空间是三维的,图像是二维的,因此空间中物体在另一维度上的关系用梯度表示,这样我们就可以通过观察图像来了解三维空间中物体的对应关系.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-216435-1.html
严重警告
每个企业应主动送检