H.264/AVC视频编解码技术详解
课时介绍
在了解了H.264编码标准所采用的熵编码方法之后,现在我们来看一下指数格伦布编码的概念和实现过程。与Halfman编码一样,指数格伦布编码也是一种变长编码,即在不同的码源下,每个码子的长度都不同。与Halfman编码不同的是,它们在信源相关性上有很大的差异。构建Halfman编码的编码表需要依赖于信源的概率分布,对于不同的信源,构建出来的编码表是不同的;而指数格伦布编码与信源无关,所有信源的编码规则都是一致的。这也意味着,在数据传递过程中,Halfman编码必须携带与信源相关的码表或其他相关信息。而指数格伦布编码不需要携带任何额外的信息,可以直接对编码后的码流进行解码。在H.264的编码标准中,指数格伦布编码分为四类:无符号指数格伦布编码(UE)、有符号指数格伦布编码(SE)、截断指数格伦布编码和映射指数格伦布编码。前两种是最常用的,而后两种用得较少。此外,后三种算法的结果都是由UE编码得到,并对解码结果进行进一步映射或换算得到的。
接下来,我们来具体了解UE编码的实现方法。指数格伦布编码可以分为多阶段,其中0阶段最常用。UE码字包含三个部分:前缀、一个比特1和后缀。前缀部分是连续的n个0,可能一个都没有,或仅有1个或2个0,但中间不会有其他比特数值。后缀部分表示实际数值的信息,其长度与前面的n个0一致。例如,如果前面有3个0,后缀部分就只有3位表示。前缀部分的0个数由其表示的数值范围决定。若要编码0,则前缀无0,后缀也为空,整个指数格伦布编码的码字只有一个1。若要编码1到2的数值,则前缀有一个0,后缀用1个比特表示。依此类推,若要表示的数字在31到62之间,则前缀有5个0,后缀有5个比特来表示实际数值。UE编码的计算方式是统计前面有多少个0,即前缀部分的0有几个,并用公式2^n-1+x(x为后缀部分用2进制换算成10进制的结果)来表示实际的数值。
课程介绍
H.264/AVC是目前业界应用为广泛的视频压缩编码标准,包含了先进而且较为成熟的视频编码技术。本课程将从原理、标准和实现等多个角度,详细讲述了H.264/AVC视频编码标准的整体架构与技术细节,不但讲解了H.264/AVC标准协议文档中的内容,还通过实际的H.264码流分析/解码程序的开发来帮助观众更深入地理解H.264编码标准的原理。
推荐课程
信息系统项目管理师自考笔记
李明 · 512人在学
python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据
王先生 · 20580人在学
手把手搭建Java超市管理系统【附源码】(毕设)
汤小洋 · 4047人在学
Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教
黄菊华 · 731人在学
基于SSM酒店管理系统(毕设)
小尼老师 · 785人在学
java项目实战之购物商城(java毕业设计)
Long · 5073人在学
手把手搭建Java求职招聘系统【附源码】(毕设)
汤小洋 · 1458人在学
Python Django 深度学习 小程序
钟翔 · 2234人在学
城管局门前三包管理系统+微信小程序(vue+springboot)
赖国荣 · 496人在学
Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序
李杰 · 3843人在学