多媒体技术压缩与熵编码

上传人:千****8 文档编号:212379513 上传时间:2021-11-19 格式:DOC 页数:19 大小:295KB
返回 下载 相关 举报
多媒体技术压缩与熵编码_第1页
第1页 / 共19页
多媒体技术压缩与熵编码_第2页
第2页 / 共19页
多媒体技术压缩与熵编码_第3页
第3页 / 共19页
多媒体技术压缩与熵编码_第4页
第4页 / 共19页
多媒体技术压缩与熵编码_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《多媒体技术压缩与熵编码》由会员分享,可在线阅读,更多相关《多媒体技术压缩与熵编码(19页珍藏版)》请在金锄头文库上搜索。

1、多媒体技术压缩与熵编码 作者: 日期:第二篇 压缩与编码数字信号的压缩与编码是多媒体的核心技术和重要内容。在第3章所讲的,音频信号的自适应编码、差分编码和预测编码等,都是典型的压缩编码。本篇先介绍压缩的根本概念,再讲解可用于静态图像编码的假设干常用熵编码压缩算法,然后介绍DCT与JPEG编码、运动图像和伴音的MPEG编码压缩算法、新兴的H.264/AVC视频编码、以及可以用于JPEG 2000和MPEG-4编码的小波变换。本篇分为如下5章:n 第7章 压缩与熵编码n 第8章 DCT与JPEG编码n 第9章 MPEG编码方法n 第10章 n 第11章 小波变换与JPEG 2000编码第7章 压缩

2、与熵编码由于多媒体信号的数据量巨大,为了节省存储空间和传输带宽,需进展压缩编码。多媒体数据的压缩方法,可以分成三大类,其中的熵编码是根底,源编码是重点,而将它们二者相结合的混合编码那么是各种编码标准所采用的主要方法。本章先介绍压缩的根本概念,包括:压缩的需要与可能、算法的特点与分类和一般的编码过程。然后,在了解熵定义的根底上,讨论假设干常用的熵编码算法,包括:Shannon-Fano编码、Huffman编码、算术编码、RLE和可用于GIF和PNG图像编码LZW算法。7.1 压缩概论数据压缩(data compression) ,在电子与通信领域也常被称为信号编码(signal coding),

3、包括压缩compress和复原decompress,解压缩/重构即编码encode/code和解码decode,译码两个步骤。与压缩相关的学科有:信息论、数学、信号处理、数据压缩、编码理论和方法。 压缩的需要与可能由于多媒体信号的数据量巨大,所以需要压缩;同时,由于在多媒体数据中,存在着各种冗余,所以可以压缩。l 压缩的需要数据量巨大是多媒体信号的特点,例如:n 一幅1024*1024真彩图:1024行 * 1024列 * 3B彩色 = 3MBn 4分钟的CD音乐:44100样本/秒 * 2B(16b)/样 * 2声道 * 60秒 * 4分钟 = 40.37MBn 90分钟的PAL视频:625

4、行 * 864列 * 3B彩色 * 25帧/秒 * 60秒 * 90分为了节省存储空间和传输带宽、进展实时高质的多媒体通信如视频/音频点播、网络现场直播、可视 、视频会议等,必须对多媒体数据进展压缩编码。l 压缩的可能多媒体数据和人类感觉存在着各种冗余:n 空间冗余:图像的相邻像素相关;n 时间冗余:相邻音频样本相关、相邻视频帧相关;n 信道冗余:环绕立体声的声道之间相关、立体电影/电视的左右视觉信号之间相关;n 频率冗余:相邻的频谱值相关,人对高频信号不敏感或分辨率低;n 统计冗余:信号中有的字符出现的频率高,可以采用较短的编码;有的有的信号特征有标度不变性或统计自相似性如纹理和分形等;n

5、构造冗余:多媒体数据存在分布模式,相近的图区可分类用于矢量量化方法;n 听觉冗余:人耳的低音听阈高、强纯音的频率屏蔽、相邻声音的时域屏蔽;n 视觉冗余:人眼对亮度变化比对色彩的变化更敏感、对高亮区的量化误差不敏感、视网膜分频道。 压缩算法的特点与分类用于多媒体数据的压缩方法众多,可按主要特点将它们分成不同的类型。l 特点n 无损与有损u 无损压缩:能够无失真地从压缩后的数据重构,准确地复原原始数据。可用于对数据的准确性要求严格的场合,如可执行文件和普通文件的压缩、磁盘的压缩,也可用于多媒体数据的压缩。该方法的压缩比一般较小。如差分编码、RLE、Huffman编码、LZW编码、算术编码等。u 有

6、损压缩:有失真,不能完全准确地恢复原始数据,重构的数据只是原始数据的一个近似。可用于对数据的准确性要求不高的场合,如多媒体数据的压缩。该方法的压缩比一般较大。例如预测编码、音感编码、JPEG、MPEG等。n 对称性假设编解码算法的复杂性和所需时间差不多,那么为对称的编码方法,多数压缩算法都是对称的。但也有不对称的,一般是编码难而解码容易,如Huffman编码与分形编码。但用于密码学的编码方法那么相反,是编码容易,而解码那么非常非常难。n 帧间与帧内在视频编码中会同时用到帧内与帧间的编码方法,帧内编码是指在一帧图像内独立完成的编码方法,同静态图像的编码,如JPEG;而帧间编码那么需要参照前后帧才

7、能进展编解码,并在编码过程中考虑对帧之间的时间冗余的压缩,如MPEG。n 实时性在有些多媒体的应用场合,需要实时处理或传输数据如现场的数字录音和录影、播放MP3/RM/VCD/DVD、视频/音频点播、网络现场直播、可视 、视频会议,编解码一般要求延时50ms。这需要简单/快速/高效的算法和高速/复杂的CPU/DSP芯片。n 分级处理有些压缩算法可以同时处理不同分辨率、不同传输速率、不同质量水平的多媒体数据,如JPEG2000、MPEG-2/4。l 分类1. 熵编码熵编码(entropy encoding)是一类利用数据的统计信息进展压缩的无语义数据流的无损编码。信息熵为信源的平均信息量不确定性

8、的度量。常见的熵编码有:行程编码(RLE)、LZW编码、香农编码、哈夫曼编码和算术编码等。2. 信源编码信源编码(source coding)是一类利用信号原数据在时间域和频率域中的相关性和冗余进展压缩的用语义常有损的编码。种类繁多,可进一步分为:u 预测编码(predictive coding):利用先前和现在的数据对在时间或空间上相邻的下面或后来的数据进展预测,从而到达压缩的目的。如增量调制(DM)、差分和自适应编码(ADPCM)等;u 变换编码(transformation coding):采用各种数学变换方法,将原时间域或空间域的数据变换到频率域或其他域,利用数据在变换域中的冗余或人类

9、感觉的特征来进展压缩。常见的变换编码有:FFT快速富立叶变换、DCT离散余弦变换、DWT离散小波变换和IFS迭代函数系统等;u 分层编码(layered coding):将原数据在时空域或频率域上分成假设干子区域,利用人类感觉的特征进展压缩编码,然后再合并。如二值位(bit position)、子采样(subsampling)、子带编码(sub-band coding)等;u 其他编码:包括矢量量化(vector quantization)、运动补偿(motion compensation)、音感编码(perceptual audio coding)等。3. 混合编码混合编码(hybrid c

10、oding) = 熵编码 + 源编码。大多数压缩标准都采用混合编码的方法进展数据压缩,一般是先利用信源编码进展有损压缩,再利用熵编码做进一步的无损压缩。如H.263、JPEG、MPEG等。表7-1是常见编码方法的汇总。表7-1 常见编码算法PCM预测变换熵其他图像视频线性PCM非线性A/自适应量化APCM差分DM自适应ADPCMFFTDCTDWTW-HHaarK-LSlantRLELZWShannonFanoHuffman算术矢量量化子带轮廓二值音感对象方块渐显逐层内插比特平面抖动帧内预测帧间编码帧间预测运动估计运动补偿条件补偿内插其中,W-H = Walsh-Hadamard沃尔什-哈达马、

11、K-L = Karhumen-Loeve卡乎门-劳夫。 编码过程编码的主要过程是:压缩存储/传输解压缩,在进展编码之前一般还需要进展假设干准备工作。在各种编码的准备工作中,主要是模数转换(A/D)和预处理。n A/D转换Analog-to-Digital conversion:将在时空和取值上都连续的模拟数据,经过采样(sampling)和量化(quantization)变成离散的数字信号:n 预处理pretreatment:指对得到的初始数字信号进展必要的处理,包括过滤、去噪、增强、修复等;目的是除去数据中的不必要成分、提高信号的信噪比、修复数据的错误等。多媒体数据编解码的一般过程为:A/D

12、 预处理 压缩 存储多媒体信号 数字信号 处理过的数字信号 压缩数据 (子)采样/量化 过滤/去噪/增强/修复源编码/熵编码 传输存储 解码 D/A 压缩数据 重构的数字信号 显示/播放传输 复原/重构(插值)图7-1 多媒体数据的编解码过程7.2 熵编码熵编码(entropy encoding)是一类利用数据的统计信息进展压缩的无语义数据流之无损编码。本章先介绍熵的根本概念,然后介绍哈夫曼(Huffman)编码、算术编码(arithmetic coding)、行程编码(RLE)和LZW编码等常用的熵编码方法。 熵熵(entropy)本来是热力学中用来度量热力学系统无序性的一种物理量热力学第二

13、定律:孤立系统内的熵恒增:对可逆过程,孤立系统其中,S为熵、Q为热量、T为绝对温度。信息熵H的概念那么是美国数学家Claude Elwood Shannon香农/仙农/向农于1948年在他所创立的信息论中引进的,用来度量信息中所含的信息量:为自信息量的均值数学期望其中,H为信息熵单位为bit,S为信源,pi为符号si在S中出现的概率。例如,一幅用256级灰度表示的图像,假设每种灰度的象素点出现概率均为pi=1/256,那么即编码每一个象素点都需要8位(I ),平均每一个象素点也需要8位(H)。熵编码(entropy encoding)是一类利用数据的统计信息,对无语义的数据流进展压缩的无损型编

14、码。熵可用来度量数据中所包含的信息量,也可以用于刻画熵编码的下限。7.2.2 Huffman编码David Albert Huffman哈夫曼/赫夫曼/霍夫曼在MIT攻读博士学位期间于1952年提出了一种从下到上的编码方法,现在被称为Huffman编码,它是一种统计最优的变码长符号编码,让最频繁出现的符号具有最短的编码。Huffman编码被广泛用于多种压缩算法之中,如JPEG和MPEG等。l 编码过程与步骤Huffman编码的过程 = 自底向顶生成一棵二叉树H树,树中的叶节点为被编码符号及其概率、中间节点为两个概率最小符号串的并所构成的符号串及其概率所组成的父节点、根节点为所有符号之串及其概率1。具体编码步骤为:(1) 将符号按概率从小到大顺序从左至右排列叶节点;(2) 连接两个概率最小的顶层节点来组成一个父节点,并在到左右子节点的两条连线上分别标记0和1;(3) 重复步骤2,直到得到根节点,形成一棵二叉树;(4)从根节点开场到相应于每个符号的叶节点的0/1串,就是该符号的二进制编码。由于符号按概率大小的排列既可以从左至右、又可以从右至左,而且左右分枝哪个标记为0哪个标记为1是无关

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 工学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号