正式定档!QCon 北京站改期为2024年4月11-13日,地点:北京·国测国际会议会展中心 >>> 了解详情
写点什么

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

李俊儒,张莉

  • 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.

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

发布了 322 篇内容, 共 177.5 次阅读, 收获喜欢 264 次。

关注

评论

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

Niobe开发板:基于OpenHarmony操作系统进行多线程(多任务)开发

拓维信息

OpenHarmony

音视频开发进阶课程|第一期:音频要素

ZEGO即构

RTC 音视频开发 音视频课程 音视频基础入门

盲盒APP开发的六大功能模式基础设置

WDL22119

盲盒商城 盲盒 盲盒开发 盲盒小程序开发 小程序开发

飞书、钉钉和企微的三巨头之争下,其他厂商在移动平台赛道如何奋起直追?

WorkPlus

许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

OpenHarmony开发者

OpenHarmony 开发者故事

31点经验分享与吐槽

老白鹿

作为软件工程师,给年轻时的自己的建议(上)

禅道项目管理

程序员 工程师 职业成长

Seata 企业版正式开放公测

阿里巴巴云原生

阿里云 开源 云原生 seata

年薪80W,在大厂呆了10年的我,被裁得心服口服

博文视点Broadview

Google Guava中EventBus使用不当会导致什么故障?

BUG侦探

kafka Guava EventBus

使用 jMeter 对需要 User Authentication 的 Restful API 进行并发负载测试

Jerry Wang

Java Jmeter 性能测试 SAP 5月月更

2022年广州市等保测评公司新排名看这里!

行云管家

网络安全 等保 等保测评 广州 等保测评公司

【小知识】云管理平台与一般管理系统有什么区别?

行云管家

云计算 云管理平台 云管理

FinClip 前端之 VUE 核心原理总结

FinClip

【直播回顾】OpenHarmony知识赋能第五期第五课——多媒体子系统之视频解读

OpenHarmony开发者

OpenHarmony 多媒体

JavaScript类型转换

源字节1号

涛思数据与中天钢铁签署战略合作协议,加速钢铁行业的数字化发展

TDengine

数据库 tdengine

比渗透测试更有用,红队演练该如何开展?

青藤云安全

AI简报-Image Colorization调研

AIWeker

深度学习 5月月更 AI简报 Image Colorization

Tech Talk 活动预告丨云原生 DevOps 的 Kubernetes 技巧

亚马逊云科技 (Amazon Web Services)

云原生

代码重构,真的只有复杂化一条路吗?

华为云开发者联盟

代码 代码重构 过度设计 代码设计

数据分析软件有哪些分类?

清林情报分析师

数据分析 数据可视化 知识图谱 分析软件 分析工具

如何在30分钟完成表格增删改查的前后端框架搭建

葡萄城技术团队

前端 前后端 系统搭建 表格系统

解读分布式调度平台Airflow在华为云MRS中的实践

华为云开发者联盟

Python spark airflow 华为云MRS 大数据集群

520,解锁开发者的专属浪漫

葡萄城技术团队

情人节 520

520,用Python定制你的《本草纲目女孩》

华为云开发者联盟

Python 华为云 modelarts 本草纲目女孩 MoXing

架构实战营 第 6 期 模块六课后作业

火钳刘明

#架构实战营 「架构实战营」

如何在 Web 应用里消费 SAP Leonardo 的机器学习 API

Jerry Wang

机器学习 前端开发 前端框架 SAP 5月月更

业务逻辑的灵魂在哪里?

清林情报分析师

数据分析 数据建模 数据可视化 分析软件 分析思维

大数据培训在 Presto 中使用哈希改善动态集群缓存命中率

@零度

FlyFish|前端数据可视化开发避坑指南(一)

云智慧AIOps社区

JavaScript 前端 node,js 数据可视化工具

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