3.5 熵编码
熵编码把一系列用来表示视频序列的元素符号转变为一个用来传输或是存储的压缩码流.输入的符号可能包括量化的变换系数(像上面所说的运行级或零树),运动向量(对于每个运动补偿块的向量值x和y),标记(在序列中用来表示重同步位的点),头(宏块头,图象头,序列的头等)以及附加信息(对于正确解码来说不重要的信息).在这一节中,我们将介绍一些预测性的预编码的方法(用来表示编码帧中的区域关系)在之后接着介绍两种被广泛使用的熵编码技术----修改后的哈夫曼编码和算术编码.
3.5.1 预测编码
在图象的某些区域中,某些符号是高度相关的.比如说,相邻的intra编码块的平均值或DC值是非常相近的,相邻的运动向量可能会有相似的x和y值,等等.编码效率可以由从前面编码的数据预测当前块或宏块的元素,并编码它们之间的差异值来进行提高.一个块或宏块的运动向量指明了在之前编码的帧的预测参考值的编移量.相邻块或宏块的向量经常是相关的因为物体的运动可能会经过帧的一个很大的区域.这对于很小的块或有大量运动物体的运动来说尤其是如此的.运动向量的压缩可以由从之前的编码向量来预测每个运动向量来改进.一个对于当前宏块X的向量的简单的预测是水平相邻的宏块A,三个或更多的之前编码的向量可以被用来预测宏块X的向量(比如A,B和C).预测的和实际运动向量的差值被编码并传输.
量化参数或量化器步长控制了压缩效率和图象质量的平衡量.在实时的视频编解码中,在一个编码帧中修改量化是必要的(例如改变压缩率来使编码码率与传输信道码率相适应).在相邻的宏块中很小的改变参数值就是足够的了.修改了的量化参数必须告诉解码器,而我们不把新的量化参数值传输走,而是传输一个差异值(比如+1,-1或+2,-2)来表示这个参数值变化了多少.因为用来编码差异值要比编码整个量化参数来说要使用更少的位.
3.5.2 变长编码
一个变长的编码器把输入符号映射到一系列的码字(VLC).每个符号映射到一个码字,而码字有变化的长度但是必须包括整数个位.经常出现的符号用短的VLC来表示,而不常出来的符号用长的VLC来表示.对于大量压缩符号来说,这样的操作会让压缩率提高.
3.5.2.1 哈夫曼编码
哈夫曼编码向每个VLC进行赋值的方法是基于对于不同的符号的出现机率的不同来定的.根据Huffman在1952年提出的原始设想,计算每个符号的出现机率是必要的,用这个结果来构造一系列的变长的码字.
如果分布机率值是准确的,那么哈夫曼编码提供了一种对于原始数据来说很有效的压缩方法.然而,为了达到最优化的压缩,对于不同序列的不同的码表是需要的.
3.5.2.2 预计算的哈夫曼编码
哈夫曼编码过程对于视频的编解码有两个不利的地方.首先,解码器必须使用在编码器设置的相同的码字来进行解码.传输这些信息到解码端会加大传输内容,并降低压缩效率,尤其对于短的视频序列来说.第二,对于大的视频序列的可能性值表在视频数据编码之前是不能得到的,这就会造成一些在编码过程的延时.由于这些原因,近来的图形和视频编码标准基于通常的视频序列的统计模型进行编码,用来解决这个问题.
变换系数(TCOEF)
MPEG-4视频部分使用量化系数的3D编码,它们使用每个码字来表示一个(run,level,last)的组合.总共102个特定的(run,level,last)组合有VLC值.在每个码字的last位是's',用来指明符号的解码系数符号(0表示正,1表示负).
一个包含超过八个0的run值的码字是无效的,这样任何以000000000开始的码字都表示码流中有错误.所有的其他序列都可以被用有效的编码值来进行解码.注意最小的码被赋给小的run和小的level值中,因为它们发生的机率比较大.
运动向量差(MVD)
差值编码的运动向量被编码为一对VLC,一个是对于x值的,一个是对于y值的.注意最短的码表示小的运动向量差值(比如MVD=0表示简单的码值1).这些码表与哈夫曼值是非常相似的,因为每个符号都被赋给了唯一个码字.通常用的符号被赋了短码字,在单独的一个表中,没有码字的前缀是同其他码字相同的.
3.5.2.3 其他的变长编码
与哈夫曼和基于哈夫曼的编码一样,一些其他的VLC方法被用在了视频编码的程序中.基于哈夫曼编码的一个很大的不利是它们对于传输错误是敏感的.在VLC序列的错误会导致解码器损失同步信息,并不能正确地进行解码,这样就导致了使解码处于混乱状态.一个预定义的编码表的缺点在于解码端和编码端必须保存同样的码表.一个可代替它的方式是用如果输入的符号已知时可自生成码的方法,比如说指数Golomb编码法.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jasonme/archive/2005/04/10/341902.aspx
分享到:
相关推荐
MPEG4和H.264在编码技术上都采用了先进的压缩算法,如块运动估计和补偿、熵编码、预测编码等,以减少冗余信息并提高压缩效率。H.264在编码效率上通常优于MPEG4,能提供更高画质的视频流,特别是在较低的比特率下。 ...
《H264 规范(2017版)》是国际电信联盟(ITU)在2017年发布的一份重要的视频编码标准,全称为“Recommendation ITU-T H.264”。这份规范详细定义了高效高级视频编码(Advanced Video Coding, AVC),也被称为H.264或...
本书的重点无疑是视频编码的基本原理和技术细节,包括预测编码、变换编码、量化、熵编码等基本步骤,以及这些技术如何在H.264和MPEG-4中实现。此外,书中可能还讨论了这两者如何适应不同的带宽条件,如何优化编码...
《H.264 和 MPEG-4 视频压缩:下一代多媒体的视频编码》是一本由罗伯特戈登大学的作者编写的书籍,由John Wiley & Sons出版社发行。本书详细探讨了两种主流的视频压缩标准——H.264(也称为AVC)和MPEG-4,它们在...
总之,《H.264_and_MPEG-4_Video_Compression.pdf》不仅是一本关于视频压缩技术的教材,更是学习和理解现代视频编码标准不可或缺的参考资料。无论是对于初学者还是专业人士来说,都具有极高的参考价值。
《H.264_and_MPEG-4_Video_Compression》是一本专注于视频编码技术的专业书籍,主要探讨了H.264与MPEG-4这两种广泛使用的视频压缩标准。对于那些热衷于深入理解视频处理和编解码技术的人来说,这本书无疑是一个宝贵...
《T-REC-H.264建议书》是关于国际电联电信标准部门(ITU-T)制定的H.264视频编码标准的中文版文档。这个标准,也被称为Advanced Video Coding (AVC),是目前广泛应用的视频压缩技术,尤其在高清视频、网络流媒体、...
H.264采用了多种先进的压缩技术,包括帧内预测、帧间预测、运动补偿、变换编码和熵编码等,这些技术共同作用,使得H.264能够在保持高画质的同时大幅减少数据量。 - **帧内预测**:利用当前帧内的像素信息进行预测,...
《H.264学习笔记-JM源代码笔记》是一份深入探讨H.264编码标准和基于JM(JVT-Matrix)源代码的学习资料。H.264,全称为Advanced Video Coding(高级视频编码),是国际电信联盟(ITU-T)的VCEG(视频编码专家组)和...
H.264(MPEG-4 Part 10)是一种视频压缩编码标准,它是由国际电信联盟(ITU-T)与国际标准化组织(ISO)共同参与制定的,正式名称为高级视频编码(Advanced Video Coding, AVC)。H.264是MPEG-4 Part 10的官方标准,...
MPEG-4分为多个部分,其中第10部分即H.264/AVC是其核心组成部分之一。MPEG-4的特点包括: 1. **广泛的应用范围**:涵盖了从低比特率到高比特率的各种应用场合,如移动通信、互联网视频流、DVD视频等。 2. **自定义...
本项目“video-coding_mini-project_H.264”提供了一个基于MATLAB的H.264编码实现,旨在帮助开发者和学习者深入了解H.264编码的核心概念和技术。MATLAB作为一种强大的数学计算和可视化工具,被广泛用于科学研究和...
《基于H.264的运动补偿与残差编码学习资源》 在信息技术领域,视频编码技术是不可或缺的一部分,尤其是在信息论中,它涉及到数据压缩、传输效率等关键概念。H.264,全称High Efficiency Video Coding(高效率视频...
《H.264官方中文版.pdf》是一个详细介绍H.264编码标准的文档,其主要内容涵盖了视频编码技术的基础知识、H.264标准的架构与原理,以及在实际应用中的各种策略和优化方法。H.264,全称AVC(Advanced Video Coding),...
《h.264和mpeg-4视频压缩--欧阳合译》这本书作为学习H.264的经典之作,不仅深入浅出地介绍了H.264和MPEG-4这两种视频压缩标准的核心技术和原理,还提供了丰富的案例分析和技术细节。无论是对于初学者还是专业人士来...
### H.264_MPEG-4 Part 10 白皮书:视频编码技术的革新 #### 引言:数字时代的视频压缩革命 自数字电视与DVD视频的出现以来,广播电视及家庭娱乐领域经历了翻天覆地的变化。这一切变革的背后,是视频压缩技术标准...
本文档《ITU-T H.264.2 Reference software for ITU-T H.264 advanced video coding》是关于国际电联电信标准化部门(ITU-T)H.264高级视频编码标准的参考软件。这个标准,也被称为H.264或MPEG-4 Part 10,是视频...
《H.264 和 MPEG-4 视频压缩:面向下一代多媒体的视频编码》是一本详细介绍了H.264和MPEG-4视频压缩标准的经典著作。本书作者Iain E. G. Richardson是该领域的专家,通过对这些标准的深入分析,为读者提供了宝贵的...
H.264熵编码是其核心部分,用于将编码后的宏块数据进行二进制编码,进一步降低数据量。本篇将深入探讨H.264熵编码中的指数编码、Context-Adaptive Variable Length Coding (CAVLC) 和 Context-Adaptive Binary ...