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编码标准的原理。
推荐课程
信息系统项目管理师自考笔记
李明 · 512人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 20581人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 4047人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 731人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 785人在学
java项目实战之购物商城(java毕业设计)
Long · 5073人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1458人在学
Python Django 深度学习 小程序
钟翔 · 2234人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 496人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3843人在学