精华内容
下载资源
问答
  • 常用的压缩编码方法
    万次阅读
    2016-12-18 12:57:55

    经典的数据压缩算法

    三大类:预测编码、变换编码、统计编码

    常用的解除相关性的措施是预测和变换,其实质都是进行序列的映射。

    一般,预测编码有可能完全解除序列的相关性,但须确知序列的概率特性;变换编码一般只解除矢量内部的相关性,但它可有许多可供选择的变换方法,以适应不同的信源特性。

    一、预测编码:

    若有一个离散信号序列,序列中各离散信号之间有一定的关联性,则利用这个序列中若干个信号作为依据,对下一个信号进行预测,然后将实际的值与预测的值的差进行编码。

    预测编码中典型的压缩算法有DPCM、ADPCM等,它们适合于声音、图像数据的压缩。

    (1)DPCM中文术语为差分脉冲编码调制(differentialpulse code modulation的缩写)

    利用样本与样本之间存在的信息冗余来进行编码的一种数据压缩技术

    基本思想:根据过去的样本去估算下一个样本信号的幅度大小,这个值称为预测值,然后对实际信号值与预测值之差进行量化编码,从而就减少了表示每个样本信号的位数

    它与脉冲编码调制(PCM)不同的是,PCM是直接对采样信号进行量化编码,而DPCM是对实际信号值与预测值之差进行量化编码,存储或者传送的是差值而不是幅度绝对值,这就降低了传送或存储的数据量。可适应大范围变化的输入信号。

    差分脉冲编码调制(DPCM)的基本出发点就是对相邻样值的差值进行量化编码。由于此差值比较小,可以为其分配较少的比特数,进而起到了压缩数码率的目的。

    (2)ADPCM的概念

    ADPCM的中文术语为自适应差分脉冲编码调制(adaptive difference pulse code modulation的缩写)

    综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能比较好的波形编码技术

    它的核心想法是:

    利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值。

    使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小。

    二、变换编码

    变换编码是指在发送端,先对信号进行映射变换,然后再针对变换后的信号进行量化和编码;在接受端,则先将收到的信号进行解码等操作,然后再进行反映射变换,以再现原始信号。变换编码是在变换域上解除相关性,以提高信息传输效率的。

    变换编码中系统压缩数据有三个步骤,即映射变换、映射变换域采样和量化编码。

    对于图像信源等相关性更强的信源,常采用基于正交变换的变换编码方法进行数据压缩。

    变换编码中的关键技术在于正交变换。与预测编码一样,正交变换是通过消除信源序列中的相关性来达到数据压缩的。它们之间的区别在于预测编码是在空间域(或时间域)内进行的,而变换编码则是在变换域(或频率域)内进行的。

    变换编码用到的算法:如离散傅里叶变换(DFT)、离散余弦变换(DCT)、沃尔什变换(WHT)等,其中性能较接近KL变换的是离散余弦变换(DCT),某些情况下,DCT能获得与KL变换相同的性能,因此DCT也被称为准最佳变换。

    三、子带编码

    子带编码是一种在频率域中进行数据压缩的算法。其指导思想是首先在发送端将图像信号在频率域分成若干子带,然后分别对这些子带信号进行频带搬移,将其转换成基带信号,再根据奈奎斯特定理对各基带信号进行取样、量化和编码,最后合并成为一个数据流进行传送。

    子带编码有几个突出的优点:

     对不同的子带分配不同的比特数可以很好控制各个子带的量化电平数及重建信号时的量化误差方差值,进而获得更好的主观听音质量。

     由于各个子带相互隔开,使各个子带的量化噪声也相互独立,互不影响,量化噪声被束缚在各自的子带内。这样,某些输入电平比较低的子带信号不会被其它子带的量化噪声所淹没。

     子带划分的结果,使各个子带的采样频率大大的降低。

    四、小波变换编码

    小波变换恰巧弥补了DCT变换未能满足宽带图像的高数据压缩要求的缺憾。小波变换是一种能够在频率上自由伸缩的变换,因此它是一种不受带宽约束的图像压缩方法。

    小波变换的一个重要性质是它在时域和频域均具有很好的局部化特征,它能够提供目标信号各个频率子段的频率信息。这种信息对于信号分类是非常有用的。

     小波变换一个信号为一个小波级数,这样一个信号可由小波系数来刻画。

    五、统计编码

    给已知统计信息的符号分配代码的数据无损压缩方法。

    编码方法:香农-范诺编码、霍夫曼编码、算术编码。

    哈夫曼编码方法:

    (1)将信源消息符号按其出现的概率大小依次排列,

    (2)取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相加作为一个新字母的概率,与未分配的二进符号的字母重新排队。

    (3)对重排后的两个概率最小符号重复步骤(2)的过程。

    (4)不断继续上述过程,直到最后两个符号配以0和1为止。

    (5)从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。

    费诺编码方法:

    费诺编码方法

    (1)将信源消息符号按其出现的概率大小依次排列。                                       。

    (2)将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近于相同,并对各组赋予一个二进制码元“0”和“1”。

    (3)将每一大组的信源符号进一步再分成两组,使划分后的两个组的概率之和近于相同,并又赋予两个组一个二进制符号“0”和“1”。

    (4)如此重复,直至每个组只剩下一个信源符号为止。

    (5)信源符号所对应的码字即为费诺码。

     

    更多相关内容
  • 数字图像压缩原理及常用压缩编码方法 概述了几种方法
  • 摘要:从语音编码技术中常用的三种编码方法入手,由浅入深地引出了IP网络电话中常用的几种语音压缩编码方法,并对之进行了性能分析和比较。 随着互联网的迅速发展,最近几年出现了一种在互联网上提供电话服务的新...
  • 系 信息与机电工程系 专业 电子信息工程 年级 2013 级 姓名 学号 136710093 实验课程 数字图像处理 实验室号_ 实验设备号 实验时间 2015.6.16 指导教师签字 成绩 ... 了解几种常用的图像压缩编码方式 5. 进一步熟悉 DCT
  • AE常用视频压缩编码格式.pdf 学习资料 复习资料 教学资源
  • 常用计算机程序进行压缩编码的matlab实现。包括:DM编码、变换编码(temp)、算术编码、行程编码、Huffman编码、线性预测编码和一个近似的JPEG编码过程,性能已经达到temp1算法。
  • m_ecfvth.zip_dct压缩编码

    2022-07-13 20:34:57
    常用的MATLAB图像压缩编码,通过matlab实现,其中包含了DM编码、变换编码(FFT和DCT)、算术编码、行程编码、fDhbrI编码、线性预测编码和一个近似的XaogJqY编码过程。本人通过MATLAB编码效率很高。
  • 图像压缩编码

    2016-07-24 19:36:24
    常用图像压缩编码码matlab实现。包括:DM编码、变换编码(FFT和DCT)、算术编码、行程编码、Huffman编码、线性预测编码和一个近似的JPEG编码过程。非常适合入门用户实践。
  • 介绍了在多媒体通信中常用的图像数据压缩编码方法,重点介绍JPEG和MPEG。
  • 图像压缩编码基础——笔记整理

    千次阅读 2022-02-18 17:03:29
    图像压缩基础 1)压缩的原因:数字视频码率高达216Mb/s。数据量之大,无论是网络传输,还是存储都构成巨大压力。在保持信号质量的前提,要...信源编码: 降低码率的过程,称为压缩编码,也叫信源编码。 4)压缩方法:.

     图像压缩基础

    1)压缩的原因:数字视频码率高达216Mb/s。数据量,无论是网络传输,还是存储都构成巨大压力。在保持信号质量的前提,要降低码率及数据量
    2)压缩的原理: 图像信息存在着大量的规律性相关性,在传输的前一个样值中包含了后一个样值或后一帧中相关位置的样值内容。

    3)压缩的目标:去除信息中的相关性,去除冗余码,使样值独立,降低信息码流。②可以采用一些特殊的编码方式,使平均比特数降低,从而可进一步降低信息流码流。信源编码: 降低码率的过程,称为压缩编码,也叫信源编码。

    4)压缩方法:编码方式是多种多样的,不同的算法其压缩率也不同,但都应本着无损的原则。在实际应用中往往是采用多种不同算法综合缩编码方式反复压缩,以取得较高的压缩率。

    压缩编码基础---莫尔斯码

    电报码:是采用“· ”和“”—”来表示26个英文字母的变字长编码。

    编码思想:(1) 常用字母用短码表示。(2) 不常用的字母用长码表示。
    编码方法:通过变字长编码方式。对常用英文单词进行的大量统计。找出各字母出现的概率,最后确定:12个字母(出现几率最小)用4bit数字表示;8个字母(出现几率较少的)用3bit数字表示;4个字母(出现几率较高的)用2bit字示数字表示;2个字母(出现几率最高的)用1bit数字表示,共26字母。

    出现几率最低的12个字母共需  12×4bit=48bit
    出现几率较低的8字共个字母共需   8×3bit=24bit
    出现几率较高的4字共个字母共需    4×2bit=8bit
    出现几率最高的2字共个字母共需    2×1bit=2bit
    结论:
    每个字母的平均码长为:
          平均码长=(48+24+8+2)÷26=3.15bit/字母

     讨论:
        (1)要用固定码长方式则需要25 =32,即5bit
    来表示。
        (2)莫尔斯码编码规律:先找出统计规律,然后对出现概率大的用短码,反之用长码。
        (3)压缩对信息质量的影响: 而这种压缩对信息无任何损坏,属无损压缩

    压缩编码基础—预测编码

    差值编码原理
          样值与前一个(相邻)样值的差值,则这些差值绝大多数是很小的或为零,可以用短
    码来表示,而对那些出现几率较少的较大差值,用长码来表示,则可使总体码数下降。
        采用对相邻样值差值进行变字长编码的方式称为差值编码,又称为差分脉码调制(PMDPCM)

     

     霍夫曼(Huffmun)码

    (1)变字长编码:对信源中出现概率大的“对象”用短码表示,对出现概率较小的“对象”用长码表示。其可获得较短的平均码长
    注:  “对象” 只是一个欲编码的数据、符号或元素。

    ①将信源对象按出现的概率由大到小排序。
    ②找出最小两个概率点,大为“”1”,小为“”0”,如概率相等,随意“”0”和“”1”分配。
    ③将这两个概率点的概率相加,生成一新概点的概率点。

    ④再在新生成概率点与余下概率点中再选两个最小比较,大为“”1”小,小为“”0”。
    ⑤再求和,生成一新的概率点,以此类推,直至新的概率点的概率为1为止。
    ⑥最后将对应各“对象”的数码,按结构顺序组合起来,即为各信源“对象”的霍夫曼码编码。

     压缩编码基础—变换编码

     (1)变换的原因:信号的相关性不仅表现在位置空间(空域)中,在其他的域(频域)中也具有很强的相关性,因此压缩编码的方法并不唯一。
     (2)不同域有不同特点静止图像的位置相关性较强,运动图像的频率相关性较强,因此在空域中解决不了的问题在频域中就可以解决。

    压缩编码基础—离散余弦变换(DCT)

    (1)图像的频率特征低频信号幅值大,高频信号幅值小信号能量主要集中于低频量分量,高频分量的能量较小。
    (2)相关性分析:将信号变换到频率域中,幅值大的低频分量集中在一个区域幅值小的高频分量分布在其他位置,表现出了较强的频率相关性DCT编码就是这种效率便于压缩的编码方法。

    ①分块:将每个分量图像分成许多8×8=64个样点组成的像块,得到在空域中的8×8的样值矩阵。
    ②变换:利用FDCT公式,将空域中的×8×8样值矩阵,正向变换频域中的8×8 DCT系数矩阵。

     F(0,0)对应直流分量,称为DC系数其它63个对应交流分量的系数,称为AC系数

     两个空间的同位置系数无对应关系。在频域中右下角对应高频部分,而在左上角对应低频部分(特点,相关性)。DC系数空域中64样值的平均值

    AC系数构成

     当u,v≠0,时,C(U)=C(V)=1,每个AC系数为空域中64个样值分别乘以对应的余弦量后求和,再取平均。

     DCT系数规律:低频系数值大,高频系数值小。
      对比两个数值矩阵观察相关性

     变换编码矩阵

     IDCT变换(逆变换):DCT系数并不能重构图像,因此需要利用IDCT公式将频域中的8×8
    DCT系数矩阵变换为空域中的8×8样值矩阵,使图像得以还原。

     逆向DCT变换(IDCT)

     DCT系数量化
    量化的原因:DCT之后其系数矩阵中相关性不够明显,为进一步降低DCT系数矩阵中非零系数的
    幅值,零系数的个数,使相关性表现的更明显,需要进一步量化。

    量化的依据 :①对失真的要求量化图像质量下降的重要原因,DCT系数量化是基于限失真编码理论进行的,容许有失真,但应在视觉容许的容限内
    视觉要求
          . a. 对亮度信号与色度信号的分辨能力不同;
          . b. 对低频图像信号和高频图像信号的分辨能力不同。
          结论:可以采用不同的量化方案。

    压缩编码基础—量化

    量化的方法

    区域滤波法
    对DCT系数矩阵中的每一个值逐一量化 。
    F(U,V)为DCT系数矩阵中位于(U,V)的DCT系数;
    W(U,V)为量化表中位于(U,V)点的量化步长,(不同位置可以采用不同的量化步长);
    Q(U,V)对应于U(U,V)位置的量化值。
    round()为取整函数。

     讨论:
        a.量化表的区域性:DCT系数矩阵中不同的区域采用不同的量化步长(高低频的区别)

      b.量化表的多样性:对不同的分量信号采用不同的量化表(不同分量信号的区别)

      c.量化表的可变性:是比较理想的,还可以改变。


    区域滤波法:属于均匀量化方式(对每点而言)。
    信号数字化中的量化与DCT系数量化的区别:前者为描述信号幅值,后者降低信号幅度。
    逆量化Q-1:接收端,一定要使用与发送端相同的量化表进行逆量化,方可使图像还原。

    视觉加权法:采用统一的量化步长,再配以8×8视觉加权矩阵,其中对应于DC的权值最高
    为1。而对应于AC的权值都小于1,
    对应于高频的权值为最小。
            视觉加权的量化方案采用下列公式:

     式中W为统一步长,K(U,V)加权系数。

    压缩编码基础—Zig-Zag扫描

     Zig-Zag扫描:一种将二维数组转变为一维数组的Z字形扫描方法。
       (1)采用扫描的原因:量化后的DCT系数仍然是二维系数矩阵,无法直接传输,还需将其变为一维据序列。对Q矩阵重新排列。
       (2)Zig-Zag扫描的依据:在量化后的DCT系数矩阵中,非0的数据主要都集中于矩阵的左上角。
       (3) Zig-Zag扫描的方法:Zig-Zag扫描采用的是Z字形扫描方式。从直流分量DC开始进行Z形描字形扫描。

    Zig-Zag扫描

    (4)Zig-Zag扫描序列:系数矩阵Q,进行Zig-Zag扫描所得到的数据序列。

     (5)Z扫描的特点
      ①可以增加连续0系数的个数,也就是增加0游程长度。
      ②在数据序列中,非零系数主要都集中于数据序列的首部,在数据序列的尾部,则都是连
    零(EOB)数据。这样对传输中的数据压缩十分利有利。

     

    压缩编码基础—游程编码  (RLC)

     游程编码 (RLC):消去一维数组序列尾部连续0数据的编码方法。

    1)游程:连续0的长度,或连续0的个数。
    2)游程编码的方法:将一维数组序列转化为一个由二元数组(run,level)组成的数组序列。
    其中:①run示续表示连续0的长度;
               ②level表示连续0后的一个非零值;
               ③用EOB表示后面所有剩余的连续0。

    3)游程编码实例10进制):对应以上的两个一维数组序列的游程编码为:
       (0,8), (0,-3),(0,3),(1,-4),(0,-2),(6,1),EOB 第n块
      (0,10), (0,5),(0,3),(0,1),(0,1),(1,1),(3,1),EOB 第n+1块 

     4)16进制的编码方法:每两个字节为一个字符对。

     注:①第一字节中:高4位表示一维数组序列中非零系数前零的个数。低4位则表示这个非零系
    数所需的比特数。
         ②第二字节:完全用于表示非零系数的数值。
         ③ EOB 用FFFF表示。
         ④负数在此用补码表示。

    (0,8), (0,-3),(0,3),(1,-4),(0,-2),(6,1),EOB 第n块
    (0,10), (0,5),(0,3),(0,1),(0,1),(1,1),(3,1),EOB 第n+1块  

    因此上数组序列又可表示为:04,08,08,FD, 02,03, 18,FC,08,FE,61,01,FFFF(H) 第n块字符对组
      04,0A,03,05,02,03,01,01,01,01,11,01,31,01,FFFF(H) 第n+1块字符对组
    5)解码:在解码时见到FFFF就自动补0一直补足64个数据为止。 

      压缩编码基础—熵编码   

    目录

     图像压缩基础

    压缩编码基础—预测编码

     霍夫曼(Huffmun)码

     压缩编码基础—变换编码

    压缩编码基础—量化

    压缩编码基础—Zig-Zag扫描

    压缩编码基础—游程编码  (RLC)

      压缩编码基础—熵编码   


     (1)游程编码后的熵编码:在变换编码中,经过游程编码后的字符对数组序列,并不直接用于数据传输,还对进其进行霍夫曼编码,以进一步提高数据压缩率.
     (2)熵编码:在发送端,根据字符对出现概率进行霍夫曼编码,形成一个码表(霍夫曼表)存储在编码器的ROM中,传输时,按码表把字符对“翻译”成对应的二进制数码(霍夫曼码)。
     (3)熵解码:在接收端,则必须采用同样的霍夫曼码表解码

     

    展开全文
  • 理解有损压缩和无损压缩的概念;了解几种常用的图像压缩编码方式。利用MATLAB程序进行图像压缩。
  • 常用图像压缩编码码matlab实现。包括:DM编码、变换编码(FFT和DCT)、算术编码、行程编码、Huffman编码、线性预测编码和一个近似的JPEG编码过程。非常适合入门用户实践。
  • 常用计算机程序进行压缩编码的matlab实现。包括:DM编码、变换编码(temp)、算术编码、行程编码、Huffman编码、线性预测编码和一个近似的JPEG编码过程,性能已经达到temp1算法。
  • //base64转码(压缩完成后的图片为base64编码,这个方法可以将base64编码转回file文件) function dataURLtoFile(dataurl) { var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1], bstr = ...
  • 在数据采集和数据传输系统中常运用数据压缩技术,数据压缩通常可分为无损压缩和有损...结合常用数据无损压缩算法原理,给出了实现流程图,并着重讨论各算法的优缺点,最后分析了在实现与优化算法过程中需要注意的问题。
  • 实验报告 课程名称 数字图像处理 实验名称 图像压缩编码技术 实验地点 明向校区 D001 机房 专业班级 测控 1401 班 学号 2014001796 学生姓名 郭佳鑫 ...了解几种常用的图像压缩编码方式 4.利用 MATLAB 程序进行图像压
  • 音频压缩分为两种,其基本的方法都是消除冗余信息,在这里的冗余信息指的是:人的听觉范围以外的音频信息: (1)有损压缩:消除冗余信息后,无法还原出原声。 (2)无损压缩:消除冗余信息后仍能够还原出原声。

    音频压缩技术

    音频压缩分为两种,其基本的方法都是消除冗余信息,在这里的冗余信息指的是:人的听觉范围以外的音频信息:
      (1)有损压缩:消除冗余信息后,无法还原出原声。

      (2)无损压缩:消除冗余信息后仍能够还原出原声。

    音频冗余信息:

    音频压缩技术是在保证信号在听觉方面不产生失真的前提下,对音频数据信号进行尽可能大的压缩。

    压缩的主要方法是去除采集到的音频冗余信息,所谓冗余信息包括人耳听觉范围外的音频信号以及被遮蔽掉的音频信号。

    信号的遮蔽可以分为频域信息和时域信息。

    音频无损技术

    熵编码:

      使用的熵编码进行无损编码,其基本原来是将短的编码替代高频的词汇,句子,用长的句子代表低频词。熵编码常用的三种方法:

      (1)哈夫曼编码:使用一串二进制数代替一串特别长的字符。特点是:频率越高的编码越少,频率越低的编码越长。

      (2)算术编码:通过二进制小数进行编码

      (3)香农编码

    音频编码过程:

      采集到原始的音频数据,经过时域转频域变换,并且通过心理声学模型(滤除人听觉范围以外的频率),将这两个数据汇总之后进行量化编码(有损,无损编码),编码后的得到比特流的数据就可以用在网络的传输上。

    常见的音频编码器

    常见的音频编码器包括OPUS,AAC,Ogg,Speex,iLBC,AMR,G.711等。其中,AAC在直播系统中应用的比较广泛;OPUS是最新的音编码器,WebRTC默认使用OPUS;固话一般用的G。711。

      (1)OPUS:目前比较新的音频编码器,WebRTC默认使用OPUS,延迟小,压缩率高。应用在线教育,视频会议。

      (2)AAC:在直播系统中应用比较广泛的编码器;(分软件和硬件)不适合实时性要求较高的场景

      (3)Ogg:软件收费,应用比较少。

      (4)Speex:显著的特点是支持回音消除,是七八年前应用非常广泛的编码器。

      (5)G.711:固话,电话使用的窄带音频编码器,但是音损非常严重,不适合实时通信。

      (6)其他:iLBC,AMR。

    不同音频编码器的音频编码质量比较OPUS对不同的网络质量(窄带、宽带、超宽带、全带)都有对应的码流选择

    不同音频编码器的音频编码码流不同编码器在不同的延时对码率的支持范围

    AAC编码器

    AAC编码器介绍:

    一,产生AAC全称为Advanced Audio Coding。研发目的:取代MP3格式。与MP3格式的比较:MP3的压缩率比较低,压缩后的文件大;AAC的压缩率比较高,保真性强,即使压缩成很小的数据,还原度仍然很高。最初是基于MPEG-2音频编码技术,在MPEG-4标准出现后,AAC加入了SBR技术和PS技术。

    二,常用的规格

      (1)AACLC:低复杂度规格,码流128k,音质好;

      (2)AAC HE V1

      (3)AAC HE V2

    三,AAC编码家族规格之间的关系

    四,AAC规格描述

     五,AAC格式

    AAC的格式:

      ADIF(Audio data interchange format ):可以确定找个这个数据的开始,就相当与在aac数据前面加了个Header,Header里面就会包含aac数据的一些信息,方便进行编解码。特点是只能从头开始解码,不能从音频数据中间开始,这种格式常用于磁盘文件中

      ADTS(Audio Data Transport Format):在每一帧的数据里面都会有一个同步字,所以他可以在任意的位置开始进行解码,就像流式数据;

    展开全文
  • 大数据与算法系列之字符压缩编码

    千次阅读 2018-06-04 10:53:57
    压缩的目的在于将出现频率较高的字符用短编码表示,而对于很少出现的字符用较长编码表示,从而提升字符在某些领域中的负荷,如网络传输过程中减少流量开销,常用的字符串压缩编码包括哈夫曼编码及香农-范诺编码。...

    字符压缩编码是常常用到的编码技术,压缩的目的在于将出现频率较高的字符用短编码表示,而对于很少出现的字符用较长编码表示,从而提升字符在某些领域中的负荷,如网络传输过程中减少流量开销,常用的字符串压缩编码包括哈夫曼编码及香农-范诺编码。

    哈夫曼编码

    通过哈夫曼编码(Huffman Coding)方式可以对词语进行数值化,根据词语可以进行哈夫曼编码处理,以减少词语集合的表示大小,哈夫曼编码是一种无损数据压缩的权编码算法,它的思想是通过变长编码的方式对原始数据进行编码,其中的变长编码表通过权值评估的方式获得,出现权值较高的词语具有较短的编码,反之权值较低的词语具有较长的编码,使整个数据再网络中的平均传输长度变短,从而达到无损压缩数据的目的。

    针对词语集合,可以通过权重的关系,将频繁出现的词语给予较短编码,词语的权重则以词频体现。

    例如,对表中的数据,将词频作为权重进行哈夫曼编码

    在计算哈夫曼编码之前需要建立哈夫曼树,哈夫曼树又称作最优二叉树,是一种带权路径长度最短的二叉树,带权路径长度是指所有叶节点的权重和叶节点到根节点长度的乘积,哈夫曼树编码根据权重编码后能够达到的效果的理论基础在于所有叶节点的带权路径长度相加得到的值是最小的,例如

    将上图的词语按照词频的高低形成下面的词语权值关系

    选择其中权值最低的两个词语组建一颗二叉树,并且将值较小的元素作为右子树,而值较大的元素作为左子树

    将新组成的二叉树当做整个词语权值关系列表中的一个新词语,词语权重为两个词的权重之和,再次重复上个步骤,选取两个权值最低的组建新的二叉树

    重复上面的迭代过程,直到所有的词语都成为二叉树的节点

    二叉树已经成功构建,只需要将上述二叉树中所有右子树的边设定为1,所有左子树的边设定为0,即构建为一颗完整的哈夫曼树

    获得每个词语的哈夫曼编码,只需要将根节点到各个词语之间的路径输出即可,获得如下表

    通过上面可以得到,词频较高的词语通过哈夫曼编码之后的长度较短,而词频较低的词语讲过哈夫曼编码之后的长度较长,且每个编码都能够在哈夫曼树种寻找到对应的值,因此,是一种无损压缩

    通过计算词语的哈希值和哈夫曼编码方式都可以达到词语压缩的目的,但是相对来说,哈夫曼达到的效果更好,压缩率更高,由于哈夫曼编码方式需要对词语提前进行离线计算,而计算哈希值不需要,所以在实际中会根据实际情况选择词语的哈希化或者哈夫曼编码进行词语数值化,但是计算哈希值的方式是不可逆的,不能通过词语的哈希值找到对应的原始词语,并且有一定的冲突率

    香农-范诺编码

    香农-范若编码(Shannon-Fan0 Coding)是通过前缀码的形式为数据进行编码处理,它将符号出现的频率或者概率由大到小进行排列,将排好的符号分为左右两组,使两组之间的频率之和或者概率之和尽可能相近,并约定左边一组标识为‘0’,右边一组标识为‘1’,再对已经分好的两组数据进行上述迭代,知道某个分组只剩下一个数据为止,它的编码构造过程也是香农-范若树的构造过程

    举个栗子

    根据词频,得到初始树

    对词语进行分组处理,由于“12+8“与“6+5+4”较为接近,两者之差为组合最小,因此,将上面划分为两个,分别对左右添加编码“0”和“1”

    第三步,由于“运动、体育”仅有两个数据,因此盒子为左右节点即可

    最终得到编码

    哈夫曼编码与香农-范若均属于数据压缩领域的应用,压缩的算法可以通过最终形成的编码可以看出,他们都有一个共同的特点:只有在数据的次数或者频率分布不均匀的时候,编码才能产生压缩的作用,若数据分布较为均匀,则压缩效果不明显

    此外,虽然基于香农-范若编码可以使数据得到一定压缩,但是它产生的并不是最优前缀码,正是这个原因,哈夫曼编码的优势相对比较明显!

    喜欢的话点个关注吧!争取每天有新文章推送哦!


    展开全文
  • 压缩是通过 特定的算法来减少机算机对文件的大小机制,可以减少 Bytes 对吧、 有很多的公司 对 存储的数据,都是用压缩包的形式,很少会用到数据库,的一个朋友 ,新跳了一家公司 分配好项目之后,没想到,发来的 ...
  • 有损压缩格式有哪些

    千次阅读 2021-08-01 08:27:43
    有损压缩格式有:1、mp3格式;2、AAC格式;3、AAL格式;4、Ogg格式;5、divX格式;6、Xvid格式;7、jpeg格式;8、rm格式;9、rmvb格式等等。本教程操作环境:Windows7系统、Dell G3电脑。有损压缩是利用了人类对图像...
  • matlab图像压缩编码

    千次阅读 2021-04-23 08:58:27
    基于DCT的图像压缩编码算法的MATLAB实现_数学_自然科学_专业资料。. I 摘要 随着科学技术的发展,图像压缩技术越来越引起人们的关注。为此从众 多的图像压缩编码标准......MATLAB 及其图像处理工具箱 ...4 第 2 章 ...
  • 图像变换是图像处理的基础, 是图像压缩的第一步b在图像压缩中, D CT 变换因其变换效果好而被广泛采用,成为目前最常用的图像压缩变换方法, 而W alsh 变换还未被广泛采用b通过对这两种变换的算法分析以及M at lab 仿真...
  • 这就需要我们进行压缩编码了,比如mp3或aac压缩编码格式。 MediaCodec编码AAC AAC压缩编码是一种高压缩比的音频压缩算法,AAC压缩比通常为18:1;采样率范围通常是8KHz~96KHz,这个范围比MP3更广一些(MP3的范围...
  • 本文介绍一下视频压缩编码和音频压缩编码的基本原理。其实有关视频和音频编码的原理的资料非常的多,但是自己一直也没有去归纳和总结一下,在这里简单总结一下,以作备忘。 1.视频编码基本原理 (1) 视频信号的...
  • 图像数据压缩方法

    千次阅读 2021-03-03 21:40:32
    数据压缩方法 数据能够进行压缩,是因为数据中存在或多或少的冗余信息,而对于视频和音频等多媒体信息,更可以利用人类自身的感知冗余(失真)特点来实现更高的压缩比例。衡量压缩算法的三个主要性能指标如下: ...
  • 图像常用压缩格式

    千次阅读 2021-10-25 00:29:53
    常用的图像数据冗余主要有,编码冗余、空间和时间冗余、无关信息。常用的图像压缩技可分为有损压缩和无损压缩。有损压缩会丢弃原数据中的信息,压缩率较高,但无法重建原始的图像,如:DFT(离散傅里叶变换)、DCT...
  • 经典数据压缩编码方式

    千次阅读 2016-12-28 23:13:45
    变换编码一般只解除矢量内部的相关性,但它可有许多可供选择的变换方法,以适应不同的信源特性。 一、预测编码: 若有一个离散信号序列,序列中各离散信号之间有一定的关联性,则利用这个序列中若干个信号
  • 实验报告 实验课名称数据结构实验 实验名称文件压缩问题 班级20132012 学号 姓名 时间2015-6-9 一问题描述 哈夫曼编码是一种常用的数据压缩技术对数据文件进行哈夫曼编码可 大大缩短文件的传输长度提高信道利用率及...
  • 基于哈夫曼编码的文件压缩

    千次阅读 多人点赞 2021-08-14 18:45:01
    使用Huffman编码来改写文件六、解压缩总结 前言 文件压缩的概念在生活中已经屡见不鲜,在这个信息化的时代,我们每天的生活基本上离不开手机电脑,在手机或电脑上下载软件,应用,基本上都能接触到文件压缩。对于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,629
精华内容 48,651
热门标签
关键字:

常用的压缩编码方法