VVC中的熵编码-JVET提案Q2002

本文详细介绍了视频编码标准VVC(Versatile Video Coding)中CABAC(Context-Adaptive Binary Arithmetic Coding)熵编码的改进。与HEVC相比,VVC的CABAC引擎不再依赖查找表,而是采用线性表示概率,并引入多假设概率更新模型以提高编码准确性。在变换系数编码方面,VVC对变换跳过残差和非跳过残差采用了独立的编码结构,同时调整了编码策略以限制每个像素的上下文编码bins数量。此外,变换系数的残差编码过程分为多个阶段,使用Golomb-Rice编码和旁路编码。这些改变旨在提高编码效率和压缩性能。

3.6 熵编码
在VVC 中,与HEVC中的设计相比,CABAC包含以下主要变化:

  • CABAC 核心引擎
  • 将变换块和变换跳过块的残差编码结构分开
  • 变换系数的上下文建模

3.6.1 CABAC 核心引擎
   HEVC中的CABAC引擎在64个不同代表性概率状态之间使用基于表格的概率转换过程。在HEVC中,表示编码引擎状态的范围ivlCurrRange在计算新的间隔范围之前量化到一组4个值。 HEVC状态转换可以使用包含所有64x4x8 bit的预计算值的表格来实现,以近似于ivlCurrRange * pLPS(pStateIdx)的值,其中pLPS是最小概率符号(LPS)和pStateIdx是当前的状态的索引。
   在HEVC中,解码判决可以使用预先计算的LUT来实现。首先,使用LUT获取ivlLpsRange,如下所示。然后,ivlLpsRange用于更新ivlCurrRange并计算输出binVal。
在这里插入图片描述
  在VVC中,概率由概率索引pStateIdx线性表示。因此,所有的计算都可以用方程来完成,而不需要进行查找表操作。为了提高概率估计的准确性,采用了多假设概率更新模型。在二进制算术编码器的区间细分中使用的pStateIdx是两个概率pStateIdx0和pStateIdx1的组合。这两个概率与每个上下文模型相关联,并且以不同的adaptation rates独立地更新。每个上下文模型的pStateIdx0和pStateIdx1的adaptation rates基于相关联的bins的统计被预先训练。概率估计pStateIdx是来自这两个假设的估计的平均值。
  图45示出了用于在VVC中解码单个二进制决定的流程图。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值