H.264/AVC视频编解码技术详解
课时介绍
各位观众朋友们大家好!今天,我们继续研究与H.264视频编码技术相关的知识。在上一集中,我们对熵编码等概念的基本原理进行了简单介绍,还介绍了一个比较著名的编码方法——哈佛编码。但是,由于种种问题,哈佛编码并没有被作为视频编码算法中的实际应用技术。因此,今天我们将了解到H.264中实际使用的熵编码算法。其中,最简单的一种是指数格伦布编码。通过前面的内容,我们已知熵编码的功能是消除数据之间的统一冗余,在绝大多数视频压缩标准中,熵编码都是作为编码端的最后一道工序,用来将我们前面得到的语法元素写入到输出码流中。如果我们想要对其进行解码,我们必须对得到的码流进行熵编码的方式解析,以得到我们在编码端生成的语法元素,然后重建前面的我们想要看到的图像。
在H.264标准协议中,不同的语法元素指定了不同的熵编码的方法。文档中指定了十种语法元素的描述符,它们表达了码流解析为语法元素值的方法,其中包含了H.264标准支持的所有熵编码的方法。例如,B8表示二进制比特位串,在整个文档中只出现了一次,用于表示还没有经过解析的H.264压缩格式的裸流。像FN这样的描述符表示N位的固定模式的比特位串,它从码流的最左边的比特开始算起,通常不表示实际数值,更多地用于填充位和标志位。描述符像UN和UNU表示unsigned表示无符号N,表示该数据使用的是N位无符号整数来表示。相对地,I表示signed,U表示无符号,它们都使用一串二进制比特位来表示数字,使用直接二进制向实进制的方式,没有其他计算步骤。
接下来的四种UE、SE、TE和ME表示四种指数格伦布编码。其中,最常用的UE是无符号的指数格伦布编码,也是其他三种的基础。这三种通常由这个无符号的指数格伦布编码换算而来,这也是今天最主要研究的内容。后两种是整个H.264中最重要的两种编码方法之一。其中,SE表示上下文字式的变长编码,通常称为CAVLC。另一种方法在语法元素描述符中表示为AE,表示上下文字式的二进制算术编码,通常称为CABAC。这两种算法比指数格伦布编码复杂得多,但可以提供更好的压缩效率。在以后的学习中,我们将对这两种算法分别进行详细的研究和学习。
课程介绍
H.264/AVC是目前业界应用为广泛的视频压缩编码标准,包含了先进而且较为成熟的视频编码技术。本课程将从原理、标准和实现等多个角度,详细讲述了H.264/AVC视频编码标准的整体架构与技术细节,不但讲解了H.264/AVC标准协议文档中的内容,还通过实际的H.264码流分析/解码程序的开发来帮助观众更深入地理解H.264编码标准的原理。
推荐课程

H.264/AVC视频编解码技术详解
殷汶杰 · 81237人在学

FFmpeg系列之33:庖丁解牛之H.264/H.265视频编码
梅会东 · 451人在学

Windows之5:DirectShow+H.264+AAC采集编码
梅会东 · 87人在学

FFmpeg4.3开发系列之15:同步录音录屏并存储或直播实战
梅会东 · 437人在学

rtp协议实战视频教程
杨炳坤 · 371人在学

FFmpeg4.3开发系列之二:音视频基础理论
梅会东 · 1057人在学

JavaCV系列之2:JavaCV音视频基础及麦克风摄像头直播实战
梅会东 · 489人在学

Android视频编码和直播推流教程
杨万里 · 7436人在学

C#零基础入门到精通教程
徐杨 · 6906人在学