从HEVC到VVC:帧内预测技术的演进(1) —方向预测(Angular intra prediction)

本文主要是介绍从HEVC到VVC:帧内预测技术的演进(1) —方向预测(Angular intra prediction),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载自腾讯音视频实验室,原文链接:https://cloud.tencent.com/developer/article/1430270
在视频压缩标准过去三十多年的发展历程中,方向预测(angular intra prediction)因其较低的实现复杂度以及相对高效的编码增益,成为多项国际视频标准(如H.264/AVC,VP9,AVS1,HEVC等)中的关键编码技术。然而,随着设备终端计算能力的不断提高以及市场对视频压缩性能需求的持续增强,更高性能更精细的方向预测技术逐渐成为研究热点,并被成功推向多项视频编码标准。

本文分别以国际视频编码标准HEVC(High-Efficiency Video Coding)和正在制定过程中的VVC(Versatile Video Coding)标准为例,阐述了方向预测技术在这两代国际视频压缩标准之间的技术演进。

一、HEVC中的帧内预测技术

HEVC标准制定的一个重要应用场景是高分辨率视频的编码,例如1080P和4K视频。已有的研究成果表明,在传统基于块的混合编码框架下,采用更大块的预测和变换对高分辨图像和视频的压缩性能有非常显著的提高。因此,在HEVC编码标准中,预测单元的大小可以从4x4到64x64。同时,对于较大的预测单元,8个帧内预测方向已不能很好地预测视频图像中的方向性纹理。因此,HEVC将预测方向的个数从H.264/AVC的8个增加到33个 [1]。

下图是HEVC的33个方向预测模式,分别被标记为模式2~模式34,其中每个1/8象限中包含8个预测方向,它们所对应的位移参数分别是 [2, 5, 9, 13, 17, 21, 26, 32]。这些位移参数的物理含义是预测角度的正切值,即 [2/32, 5/32, 9/32, 13/32, 17/32, 21/32, 26/32, 32/32],以32/32为例,其代表45°预测方向(正切值为1)。同时根据角度的正切值可以看出, HEVC采用的是1/32像素精度的预测精度。H 和V分别代表水平和垂直方向,标记符号中的数字部分代表着该模式的位移参数,例如V+2表示垂直方向具有+2位移参数的预测方向。从这些位移参数可以看出,靠近水平和垂直方向的角度分布更加密集一些,而靠近对角线方向的角度的分布相对稀疏一些。这个设计准则是因为在传统的视频和图像中,接近水平和垂直方向的图案的出现概率相对较高,而对角线附近方向的图案的出现概率相对较低。
在这里插入图片描述

在HEVC的帧内预测过程中,当前块内的所有像素根据指定的预测方向被映射到左侧或者上侧参考像素。具体来讲,对于模式18 ~ 模式34,当前块的像素被映射到上侧参考像素,对于模式2~模式17,当前块的像素被映射到左侧参考像素。当映射后的像素的位置的坐标出现负数,左侧的参考列会映射到上侧参考列的左侧来对其进行扩展或者上侧的参考行会映射到左侧参考列的上方来对其进行扩展。下图是将左侧参考像素映射到上侧参考像素的例子,图中的粗线条代表着预测方向,细线条代表着参考像素的映射过程。
在这里插入图片描述

在当前块内的像素被映射到参考像素之后,用最邻近的两个参考像素通过线性插值来生成预测像素值,公式如下所示:

其中,wy表示最邻近的两个参考像素Ri,0和Ri,1的权重因子。
在这里插入图片描述

由于当前块的预测方向和其周围块的预测方向有很强的相关性,为了编码这些预测方向的索引信息,HEVC需要建立一个长度是3的Most Probable Mode (MPM) 列表,该列表中的候选项依赖于当前块左侧和上侧的参考块的预测模式 [2]。对于每个预测单元,首先编码一个标识符MPM Flag,用来表示当前的预测方向是否属于MPM列表,如果当前预测方向属于MPM列表,则使用truncated unary codeword来编码MPM 索引。否则,使用5-bit fixed length codeword来对编码剩下的预测模式。由于编码端和解码端使用同样的方法建立MPM列表,该列表不需要传递到解码端。

二、 VVC中的方向预测技术

VVC的技术框架沿用HEVC,帧内预测单元的大小仍然是从4x4到64x64,但是VVC采纳了更加精细的帧内预测方向来更好的预测视频和图像中的结构信息,其中包括65个传统的帧内预测方向以及28个Wide Angular Intra Prediction Mode (简称为WAIP) [3-5] [9]。WAIP预测模式是指超过45度对角线方向的预测模式。如下图所示,其中模式2 ~ 66表示传统的帧内预测模式,模式 -1 ~ -14以及模式67 ~ 80表示WAIP预测模式。
在这里插入图片描述

WAIP模式由腾讯音视频实验室,法国Technicolor公司和华为联合提出,该提案JVET-K0500 [4] 针对矩形预测单元中方向预测的不对称性分布问题作了进一步优化。在VVC中,不仅有四叉树划分,还有二叉树和三叉树划分,因此VVC中不仅有正方形的预测单元,还有矩形的预测单元。对于正方形的预测单元来说,模式2 ~ 模式66的使用概率是均匀分布的,但是对于矩形的预测单元来说,这些模式的使用概率是不均匀的。具体来讲,对于水平的矩形预测单元(宽大于高的预测单元),左下方的预测模式(比如模式2 ~ 模式7)的使用概率要低于右上方的预测模式(比如模式61~模式66)。对于垂直的矩形预测单元(高大于宽的预测单元),左下方的预测模式(比如模式2 ~ 模式7)的使用概率要高于右上方的预测模式(比如模式61~模式66)。下图统计了BasketBallDrill 测试序列在量化参数设定为22的情况下,16x8 块中各个预测模式的使用概率(该表是基于33个方向预测进行统计的),其中水平坐标代表着不同的预测模式,垂直坐标代表着各个模式的使用概率。从表中可以看出 模式32 ~ 34的使用概率要明显高于模式2 ~ 4的使用概率。
在这里插入图片描述

针对这个非对称问题,对于水平的预测单元,模式67~ 80被用来替换模式2~ 15;而对于垂直的预测单元,模式-1 ~ -14被用来替换模式53 ~ 66。不同宽高比的矩形预测单元使用到的WAIP模式数量是不同的,具体如下表所示:
在这里插入图片描述

在WAIP模式被采纳之后,对于不同的编码单元,其帧内预测方向的范围都是从该预测单元左下角的对角线到右上角的对角线。下图中是水平的矩形预测单元的帧内预测方向范围的示意图。
在这里插入图片描述

对于帧内预测过程,VVC沿用了HEVC中预测像素向参考像素的映射过程,但是VVC采用了两组不同的插值滤波器来更好的拟合不同块大小和不同的预测方向下数据的统计特性。对于靠近水平和垂直方向的方向预测,采用4-tap Cubic 插值滤波器来更好的保留图像的边缘信息,对于靠近对角线方向的方向预测,采用4-tap Gaussian 插值滤波器来生成更加平滑的预测图像 [6]。

与HEVC一样,VVC中所有的预测单元都采用统一的编码方式对帧内预测模式进行编码。但是由于VVC需要编码67个预测模式,如果当前的预测模式不在MPM列表中,则需要使用6个比特位来对其进行编码。为了能够使用较少的比特数来对预测模式进行编码,需要提高MPM 列表中编码模式的选中概率,因此,VVC将MPM 列表的大小从3扩展到6 [7]。考虑到Planar 预测模式具有很高的选中概率,腾讯音视频实验室提出将Planar预测模式作为优先模式放置于MPM列表首位,该方法经过多家公司的相关提案验证,进一步提高了帧内预测模式编码的性能 [8],最终该技术在今年3月份的日内瓦会议被VVC所采纳 [8]。

三、 总结

本文总结了HEVC和VVC标准中帧内方向预测的设计方案。与HEVC相比,新一代VVC标准采纳了65 个帧内预测方向,WAIP预测模式,4-tap Cubic and Gaussian滤波器,以及6 个MPM。音视频实验室深度参与了方向预测技术在VVC标准中的研制工作,在这个过程中贡献了多项技术提案,其中两项被VVC标准采纳并且定义了VVC的全部帧内预测方向。

参考文献

[1] J. Lainema, F. Bossen, W-J Han, J. Min, and K. Ugur, “Intra Coding of the HEVC Standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 22, no. 12, pp. 1792–1801, Dec. 2012.

[2] X. Zhang, S. Liu, M. Guo, X. Guo, and S. Lei, “Non-CE6: Intra mode coding with fixed length binarization,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVTVC-H0435, San Jose, 1-10 Feb, 2012.

[3] L. Zhao, S. Liu, X. Zhao, and X. Li, “CE3-related: Wide angular intra prediction for non-square blocks,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0289, Ljubljana, SL, Jul. 2018.

[4] F. Racapé, G. Rath, F. Urban, L. Zhao, S. Liu, X. Zhao, X. Li, A. Filippov, V. Rufitskiy, and J. Chen, “CE3-related: Wide-angle intra prediction for non-square blocks”, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-K0500, Ljubljana, SL, Jul. 2018.

[5] L. Zhao, X. Zhao, S. Liu, and X. Li, “CE3-related: Unification of angular intra prediction for square and non-square blocks,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0279, Macau, CN, Oct. 2018.

[6] A. Filippov, V. Rufitskiy, J. Chen, G. Van der Auwera, A. K. Ramasubramonian, V. Seregin, T. Hsieh and M. Karczewicz, “CE3: A combination of tests 3.1.2 and 3.1.4 for intra reference sample interpolation filter,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0628, Macao, CN, Oct. 2018.

[7] L. Li, J. Heo, J. Choi, J. Choi, S. Yoo, S. Kim, and J. Lim, “CE3-6.2.1: Extended MPM list,” Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-L0165, Macao, CN, Oct. 2018.

[8] L. Zhao, X. Zhao, S. Liu, and X. Li, “CE3-3.3: MPM list harmonization,” JVET-N0393, Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, Geneva, CH, Mar. 2019.

[9] L. Zhao, X. Zhao, S. Liu, X. Li, J. Lainema, G. Rath, F. Racapé, and F. Urban, “Wide Angular Intra Prediction for Versatile Video Coding”, IEEE Data Compression Conference, Snowbird, Utah, USA, pp. 1–10, Mar. 2019.

———— / END / ————

最新资讯 丨 技术干货

就在腾讯音视频实验室

这篇关于从HEVC到VVC:帧内预测技术的演进(1) —方向预测(Angular intra prediction)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/586356

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

这15个Vue指令,让你的项目开发爽到爆

1. V-Hotkey 仓库地址: github.com/Dafrok/v-ho… Demo: 戳这里 https://dafrok.github.io/v-hotkey 安装: npm install --save v-hotkey 这个指令可以给组件绑定一个或多个快捷键。你想要通过按下 Escape 键后隐藏某个组件,按住 Control 和回车键再显示它吗?小菜一碟: <template

【 html+css 绚丽Loading 】000046 三才归元阵

前言:哈喽,大家好,今天给大家分享html+css 绚丽Loading!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦 💕 目录 📚一、效果📚二、信息💡1.简介:💡2.外观描述:💡3.使用方式:💡4.战斗方式:💡5.提升:💡6.传说: 📚三、源代码,上代码,可以直接复制使用🎥效果🗂️目录✍️

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时