视频编码理论知识之熵编码

本文介绍了H.264编码中的两种熵编码方式——CAVLC和CABAC。CAVLC基于上下文自适应的可变长编码,适用于亮度和色度残差数据,利用相邻已编码符号的相关性进行编码。CABAC则采用自适应的二进制算术编码和上下文模型,动态调整概率模型以提高压缩效率。
摘要由CSDN通过智能技术生成

H.264使用了多种编码方式来对语法元素进行编码。其中CAVLC与CABAC是H.264/AVC标准中两种用来对残差系数进行熵编码的方式。

一、CAVLC

H.264标准中,CAVLC(基于上下文自适应的可变长编码)被用于亮度和色度的残差数据的编码。
1.相关原理
编码宏块的残差经过变换量化后的数据表现出如下特性:

  • 编码宏块的残差经过变换量化后,其非零系数主要集中在低频部分,高频系数大部分是零。
  • DC系数附近的非零系数值较大,而高频位置上的非零系数值有不少是+1和-1.
  • 非零系数的幅值变化有一定的规律性和相关性,非零系数的游程也具有一定特性。
  • 相邻的4×4块的非零系数的数目是相关的。CAVLC有效的利用了相邻已编码符号所提供的相关性为当前要编码符号选择合适的上下文模型,降低了编码符号间的信息冗杂度。

在CAVLC中,上下文模型的选择主要体现在:对各类非零量化系数的大小、位置给以独立编码;自适应更新编码非零系数所需码表与系数后缀长度。
编码过程:
1.对非零系数的数目(TotalCoeffs)以及拖尾系数(TrailingOnes)的数目进行编码。
2.对每个拖尾系数的符号进行编码。
3.对除了拖尾系数之外的非零系数的幅值(Level)进行编码。

二、CABAC

cabac是将自适应的二进制算术编码与一个设计精良的上下文模型结合起来得到的方法。与CAVLC相比较,它有如下特点:

  • CABCA提供了对当前编码的语法元素条件概率的估计。CABAC会为当前编码的语法元素选择合适的上下文模型。基于这个上下文的概率模型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值