最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

突破视频编码模式级压缩瓶颈:一种基于长短期相关性建模的帧内模式编码方法

李俊儒,张莉

  • 2023-03-04
    北京
  • 本文字数:2215 字

    阅读完需:约 7 分钟

突破视频编码模式级压缩瓶颈:一种基于长短期相关性建模的帧内模式编码方法

视频压缩的核心在于去除视频信号中的冗余信息,而其中对于空域冗余的去除通常使用帧内预测的方式来实现。比如,大多数的自然场景的图像内容变化平缓,相邻像素间表现出较强的相似性,因此可以利用周边已编码的信息通过特定的映射和插值实现对当前编码单元的帧内预测。这种帧内预测方式已经在标准领域得到广泛的应用。


在 H.264/AVC  标准 [1] 中,帧内预测利用左侧或上侧邻近已重构像素组成参考像素组,根据特定的映射来预测当前编码单元。对于编码单元尺寸为 4×4 的编码单元,有 9 种预测模式可供选择,其中包括 8 种角度模式和 DC 模式;编码单元尺寸为 16×16 的编码单元,则仅支持 4 种预测模式。 H.265/HEVC 标准 [2] 中扩展了帧内预测的方向,支持多达 33 种角度预测模式,以及直流( DC )预测模式和平面( Planar )预测模式。


为了更精细地预测视频中可能出现的任意方向的结构或纹理,新一代视频编码标准 H.266/VVC AVS3 ,分别将帧内预测模式的数量扩充到 67 和 66 种。此外, VVC 采纳了多行预测( Multi Reference Line , MRL ),扩充帧内预测的参考像素区域。 MRL 支持使用更远处的重构像素预测当前编码单元,进一步利用像素间的相关性去除空域冗余。帧内预测的发展进程如下图所示。


图 1. 帧内预测演进示意图


如上所述,在视频编码标准发展中,为了适应多样的纹理内容,帧内预测技术基于多假设的理论支持了更多高效的帧内预测模式。最优的预测模式需要通过率失真优化( Rate Dirstion Optimization , RDO )代价决策,其二值化索引则传递到解码端用于视频的解码重建。虽然细粒度的帧内预测设计可以为帧内编码带来性能增益,但帧内模式的传递代价却随之增大。在相同码率下,更丰富的预测模式使得预测模式的表达位占用的带宽也越来越高。因此,帧内预测模式的编码方式至关重要。若以等长编码为例,每个编码块使用 4 比特则足以表达对于 H.264/AVC 中的 9 种编码模式。当编码模式扩展到 67 个时,则需要使用 7 比特来编码帧内预测模式的索引。实际中,帧内模式的编码会通过构建最可能模式列表( Most Probable Mode , MPM )的方式,为出现概率较高的模式分配较短的码字,提高帧内模式编码的效率。在 AVC 标准中,针对 9 个预测模式设计了 1 个 MPM 的编码方式。


HEVC 标准采用 MPM 列表可包含 3 个最可能的帧内模式,以便更高效地表示 35 种预测模式。 VVC 标准则进一步扩展了帧内预测模式的编码方式, MPM 列表中包含 6 个候选项。最可能模式列表通常基于邻近编码单元(如左上方、左侧、左下方、上方、右上方)的帧内预测模式来构建,并使用一个标志位来区分当前预测模式是否为最可能预测模式。然而,仅利用空域邻近编码单元的预测模式信息来消除模式间的冗余,一定程度上限制了最可能模式预测的准确性。


根据信息论——为概率较大的符号分配较短的码字,对概率较小的符号分配较长的码字——能降低整体信源符号编码的平均码长。为进一步提升帧内模式编码的性能,我们针对新一代视频编码标准 VVC 和 AVS3 提出一种基于长期与短期相关性建模的帧内模式编码方法 [3] 。所提出的方案可以充分利用长期帧内模式的统计特性并结合短期帧内预测模式,高效构建最可能模式列表,打破传统帧内模式编码时仅考虑空域邻近帧内模式的局限性。帧内预测的长期模式级相关性体现在非邻近的相似纹理结构倾向于选用相同的帧内模式进行编码,如图 2 所示。


图 2. 局部区域内的帧内预测模式。浅蓝色为模式 66,粉色为模式 34,红色为 Planar 模式


具体来说,在编码和解码的过程中动态维护长期模式列表 以及 短期模式列表


长期模式列表 的构建是基于已编码帧内模式编码的统计,长期模式列表的具体构建与更新过程如图 3 所示。首先,根据当前帧内预测模式 Mi 对模式的频率 FnMi 进行更新,模式 Mi 更新后的频率为 Fn+1Mi 。其次,根据更新后的频率表中的频率值对频率表重新排序,频率高的排在靠前的位置。最后,按照频率高低导出更新后的模式表,模式表中最前面的模式对应的频率是最高的,出现频率最高的帧内模式将优先选入长期模式列表中。


图 3. 长期模式列表构建与更新示意图


短期模式 列表则基于纹理方向的空域延续性,主要由空域邻近编码单元的帧内模式构成。最终 MPM 列表的构建将通过预先训练的条件随机场模型来决策长期模式以及短期模式的组合方式, MPM 的构建过程如图 4 所示。


图 4. MPM 列表构建示意图


所提出的帧内模式编码可为 VVC 带来 1.4% 的性能增益且编解码复杂度几乎不变。部分屏幕内容测试序列在全 I 帧配置下可实现超过 6% 的 BD-Rate 节省。所提出的方法也可为 AVS3 软件平台带来明显的压缩性能提升,已被 AVS3 标准采纳。


参考文献


[1] T. Wiegand, G. J. Sullivan, G. Bjontegaard, and A. Luthra, “Overview of the H.264/AVC video coding standard,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp. 560–576, July 2003.

[2] G. J. Sullivan, J. Ohm, W. Han, and T. Wiegand, “Overview of the high efficiency video coding (HEVC) standard,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, pp. 1649–1668, Dec 2012.

[3] J. Li, M. Wang, L. Zhang, K. Zhang, H. Liu, S. Wang, S. Ma and W. Gao, “Unified intra mode coding based on short and long range correlations,” IEEE Transactions on Image Processing, vol. 29, pp. 7245-7260, June 2020.

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-03-04 18:545546
用户头像
鲁冬雪 InfoQ 策划主编

发布了 337 篇内容, 共 195.5 次阅读, 收获喜欢 270 次。

关注

评论

发布
暂无评论
发现更多内容

Spring AOP 中的代理对象是怎么创建出来的?

江南一点雨

Java spring

Linux系统安装gcc详细教程。

百度搜索:蓝易云

云计算 Linux 运维 服务器 GCC

在 Go 语言单元测试中如何解决 MySQL 存储依赖问题

江湖十年

golang Web 后端 单元测试 测试 单元测试

直播平台源码开发,信息收发功能搭建

山东布谷科技

软件开发 直播 源码搭建 消息发送 直播平台源码

面试官:说出 Java 中的 7 种重试机制

java易二三

编程 程序员 面试 计算机

企业号 8 月 PK 榜,火热开启!

InfoQ写作社区官方

热门活动 企业号 8 月 PK 榜

特性快闪:使用 Databend 玩转 Iceberg

Databend

细数不懂Spring底层原理带来的伤与痛

java易二三

spring 程序员 Spring Boot 计算机 底层原理

分享一些常用的开源博客社区网站

兮动人

博客 开源社区

RLHF 技术:如何能更有效?又有何局限性?

Baihai IDP

人工智能 强化学习 白海科技 RLHF 大语言模型

飞桨AI Studio可以玩多模态了?MiniGPT4实战演练!

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

工赋开发者社区 | 面向CPS的制造执行系统(MES)实验平台验证

工赋开发者社区

Linux系统安装MySQL详细教程

百度搜索:蓝易云

MySQL 云计算 Linux 运维 服务器

如何为Spring和Mybatis增加可逆计算支持

canonical

Spring Boot mybatis 低代码 可逆计算 Nop平台

未来前端框架将持续推进组件化开发

没有用户名丶

Android 架构模式如何选择

vivo互联网技术

mvc Compose MVVM 解耦 MVI

Centos7系统中找不到yum及安装方法。

百度搜索:蓝易云

云计算 Linux centos 运维 yum

活动回顾|火山引擎DataLeap分享:DataOps、数据治理、指标体系最佳实践(文中领取PPT)

字节跳动数据平台

数据中台 数据治理 抖音 DataOps 企业号 7 月 PK 榜

Nodejs快速搭建简单的HTTP服务器详细教程。

百度搜索:蓝易云

node.js 云计算 Linux 运维 HTTP

7月征文活动结果出炉,快来看看有没有你

InfoQ写作社区官方

热门活动 年中技术盘点

合并k个已排序的链表

二哈侠

TypeScript 玩转类型操作之字符串处理能力

小乌龟快跑

typescript 面试 前端

【华秋干货铺】一文轻松搞定PCB叠层和阻抗设计

华秋电子

这次是运行在 Intel AIxBoard™ 开发板上的 TDengine 预测“未来”

爱倒腾的程序员

解析游戏陪练app源码的开发与意义

山东布谷网络科技

游戏 开源代码 APP软件开发

PoseiSwap:通过 RWA 的全新叙事,反哺 Nautilus Chain 生态

大瞿科技

零信任体系化能力建设(1):身份可信与访问管理

权说安全

工赋开发者社区 | 复杂电子装备制造数字化工厂实现逻辑与实施步骤

工赋开发者社区

探索Linux命名空间和控制组:实现资源隔离与管理的双重利器

柠檬汁Code(binbin0325)

Linux 容器 namespace 底层原理 Cgroups

火山引擎AB测试:广告实验深度打通巨量引擎,高效测试广告素材

字节跳动数据平台

大数据 A/B测试 对比试验 企业号 7 月 PK 榜 数字化增长

2023 云原生编程挑战赛火热报名中!导师解析 Serverless 冷启动赛题

阿里巴巴云原生

阿里云 Serverless 云原生

突破视频编码模式级压缩瓶颈:一种基于长短期相关性建模的帧内模式编码方法_语言 & 开发_InfoQ精选文章