AVS2技术

article/2025/8/28 10:48:01

转自http://www.avs.org.cn/avs2/technology.asp

AVS2技术

AVS2采用了混合编码框架,整个编码过程包括帧内预测、帧间预测、变换量化、反量化反变换、环路滤波和熵编码等模块。具有如下技术特征:


图1 AVS2编码框架

1.灵活的编码结构划分

为了满足高清和超高清分辨率视频对压缩效率的要求,AVS2采用了基于四叉树的块划分结构,包括编码单元(Coding Unit,CU)、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU)。一幅图像被分割成固定大小的最大编码单元(LCU),最大编码单元按照四叉树的方式迭代划分为一系列的CU。每个CU包含一个亮度编码块和两个对应的色度编码块(下文中块单元的大小指亮度编码块)。与传统的宏块相比,基于四叉树的划分结构更加灵活,CU大小从8×8扩展到64×64。


图2  原始图像、LCU和CU之间的关系以及四叉树的划分结构。

预测单元PU规定了CU的所有预测模式,是进行预测的基本单元,包括帧内和帧间预测。PU的最大尺寸不能超过当前所属CU。在AVS1正方形帧内预测块的基础上,增加了非正方形的帧内预测块划分,同时,帧间预测也在对称预测块划分的基础上,增加了4种非对称的划分方式。


图3 帧内和帧间预测单元划分方式

除了CU和PU,AVS2还定义了用于预测残差变换和量化的变换单元TU。TU是变换和量化的基本单元,与PU一样,定义在CU之中。其尺寸的选择与对应的PU形状有关,如果当前CU被划分为非方形PU,那么对应的TU将使用非方形的划分;否则,使用方形的划分类型。需要注意的是TU的尺寸可以大于PU的尺寸,但不能超过所在的CU尺寸。

2.帧内预测编码

相比于AVS1和H.264/AVC,AVS2在亮度块的帧内预测编码上设计了33种模式,包括DC预测模式、Plane预测模式、Bilinear预测模式和30种角度预测模式。在色度块上有5种模式:DC模式、水平预测模式、垂直预测模式、双线性插值模式以及新增的亮度导出(Derived mode, DM)模式。


图4 亮度块帧内预测模式

3.帧间预测编码

AVS2的帧间预测技术在参考帧管理、帧间预测模式和插值方面进行了加强和创新。

3.1 参考帧管理

与AVS1相比,AVS2将候选参考帧的最大数量增加到了4个,以适应多层次的参考帧管理,同时也充分利用了缓存器的冗余空间。由于参考候选帧数量的限制,选出最相近的候选参考帧就显得至关重要。为了满足多种参考帧管理方式的要求,AVS2采用了一种多层次的参考帧管理模式。在这个模式中,根据帧与帧之间的参考关系和每个编码图像组(GOP)中的帧被分成了多个层次。图5展示了三种典型的参考关系和分类,每一层有独特的处理方式,如图6所示。Layer 1和layer 2的区别在于输出方式上。


图5 三种典型的参考关系和分类


图6 每层参考帧独特的处理方式

3.2帧间预测模式

在AVS1的I,P,B三种图像类型的基础上,根据应用需求,AVS2增加了前向多假设预测F图像。针对视频监控、情景剧等特定的应用,AVS2设计了场景帧(G图像和GB图像)和参考场景帧S帧。

对于B帧,除了传统的前向、后向、双向和skip/direct模式,新增了对称模式。在对称模式中,仅需对前向运动矢量进行编码,后向运动矢量通过前向运动矢量推导得到。为了充分发挥B帧skip/direct模式的性能,AVS2在保留原有B帧skip/direct模式的前提下,还采用了多方向skip/direct模式:双向skip/direct模式、对称skip/direct模式、后向skip/direct模式和前向skip/direct模式。对于这四种特殊模式,根据当前块的预测模式寻找相邻块中相同的预测模式块,将最先找到的具有相同预测模式的相邻块的运动矢量作为当前块的运动矢量。

对于F帧,编码块可以参考前向两个参考块,相当于P帧的双假设预测。AVS2将双假设预测分为两类,分别是时域双假设和空域双假设。时域双假设的当前编码块利用预测块加权平均作为当前块的预测值,但运动矢量差MVD和参考图像索引都只有一个,另外一个MVD和参考图像索引根据时域上的距离按线性缩放推导出来。而空域双假设预测也叫方向性多假设预测(Directional multi-hypothesis prediction,DMH),通过融合初始预测点周围的两个预测点得到,而且初始预测点位于这两个预测点的连线上。除了初始预测点外,一共有8个预测点,只将和初始预测点连成同一条直线的两个预测点进行融合。除了四种不同的方向外,还根据距离进行调整,对1/2像素距离和1/4像素距离位置的4种模式分别计算,在加上初始预测点,共9种模式进行比较,选择出最佳预测模式。

场景帧是AVS2基于背景建模的监控视频编码方法提出来的。未打开监控工具时,I帧只给下个随机访问点之前的图像做参考。打开监控工具后,AVS2会用视频中的某一帧做场景图像G帧,G帧对于后面的图像可以作为长期参考。此外,AVS2还可以用视频中的某几帧生成场景图像GB帧,GB帧也可以用作长期参考。


图7 时域的双假设预测



图8 空域的双假设预测(DMH)


 
图9 基于背景建模的场景帧

 

3.3 插值滤波

为了简化运动补偿,AVS2采用了8抽头基于DCT变换的插值滤波器,只需要进行一次滤波,而且支持生成比1/4像素更高的运动矢量精度。

4. 变换

AVS2中的变换编码主要使用整数DCT变换。对于4×4、8×8、16×16、32x32大小的变换块直接进行整数DCT变换。而对于64×64大小的变换块则采用一种逻辑变换LOT,先进行小波变换,再进行整数DCT变换。在DCT变换完成后,AVS2对低频系数的4×4块再进行二次4×4变换,从而进一步降低系数之间的相关性,是能量更集中。


图10 4×4二次变换

5.熵编码

AVS2的熵编码首先将变换系数分为4×4大小的系数组(Coefficient Group,CG),然后根据系数组进行编码和zig-zag扫描。系数编码先编码含有最后一个非零系数的CG位置,接着编码每一个CG,直到CG系数都编码完为止,这样可以使得0系数在编码过程中更集中。AVS2中仍使用基于上下文的二元算术编码和基于上下文的二维变长编码。

6.环路滤波

AVS2的环路滤波模块包含三个部分:去块滤波、自适应样点偏移和样本补偿滤波。去块滤波的滤波块尺寸为8×8,首先对垂直边界进行滤波,然后是水平边界。对每条边界根据滤波强度不同选择不同的滤波方式。在去块滤波之后,采用自适应样本偏移补偿进一步减小失真。AVS2在去块滤波和样本偏移补偿之后又添加了自适应滤波器,一种7×7十字加3×3方形中心对称的维纳滤波,利用原始无失真图像和编码重构图像计算最小二乘滤波器系数,并对解码重构图像进行滤波,降低解码图像中的压缩失真,提升参考图像质量。

7.编码性能

在数字电视广播(逐行)、实时通信和数字电影或静态图像领域,AVS2和HEVC的编码性能相似,但在数字电视广播(隔行)和视频监控的应用方面,AVS2的编码性能要明显高于HEVC。

AVS2 vs. HEVC
应用 格式 YBD-rate UBD-rate VBD-rate
数字电视广播(逐行) UHD-0.3%5.8%6.3%
1080p-2.3%5.6%4.0%
平均 -1.5%5.7%4.8%
数字电视广播(隔行) 1080i-11.0%5.3%3.5%
视频监控(非低延时存储) 标清 -44.1%-42.4%-42.5%
1200p-38.24%-49.13%-45.72%
平均 -41.77%-45.07%-43.80%
视频监控(低延时存储) 标清 -26.52%-56.43%-53.46%
1200p-38.53%-46.72%-42.22%
平均 -30.88%-52.55%-48.97%
实时通信 1080p0.6%-2.7%-1.1%
WVGA0.9%2.2%4.9%
720p1.9%-5.2%0.3%
平均 1.1%-1.6%1.2%
数字电影或静态图像 UHD-2.2%2.1%2.1%
1080p-0.7%2.1%1.2%
WVGA1.5%3.9%3.8%
720p-2.1%-5.2%-4.2%
平均 -0.8%0.7%0.5%

国家广播电影电视总局广播电视计量检测中心的检测报告(检测编号:20491501212989)显示:AVS2和HEVC相对于源图像质量下降分别为2.9%和3.0%。对于超高清4K视频,在相同码率条件下,AVS2比HEVC的平均主观质量略优。


图11 编解码图像质量相对于源图像的质量下降百分比

AVS2实时编码器uAVS2与x265、x264单线程编码速度的对比结果如下:


图12 uAVS2与x265、x264单线程编码速度的对比结果

AVS2实时编码器uAVS2与x265、x264多线程编码速度的对比结果如下:


图13 uAVS2与x265多线程编码速度的对比结果

类似preset和同一码率下,uAVS2与x265、x264的主观质量对比结果如下:


(a)x264

(b)x265

(c)AVS2
图14序列BasketballDrive在2Mbps码率下用uAVS2与x265、x264编码的主观质量对比


(a)x264

(b)x265

(c)AVS2
图15序列Cactus在2Mbps码率下用uAVS2与x265、x264编码的主观质量对比


http://chatgpt.dhexx.cn/article/M8wHugA3.shtml

相关文章

AVS2解码图像管理

前言 对于解码器来说,解码得到的重建图像可能需要参与参考帧选择过程和输出排序过程。硬件解码器大概率不会将解码图像的相关操作硬件化,从而将此部分内容保留在软件端实现。 驱动工程师需要明确解码图像的管理逻辑,才能开发出硬件解码器的驱…

AVS2技术概述

转自公众号“智媒之音”:https://mp.weixin.qq.com/s?__bizMzI5Nzc4OTkxOQ&mid2247483715&idx1&snbb28272fd9b2baad9d4cccbe7c8ddcea&chksmecaef1f3dbd978e56764beb9d8ac69c753f3635716e9c449362f34f3c9e738870b1ffa00df4e#rd AVS2采用了传统的混…

【金三银四】设计模式面试题(2021最新版)

目录 前言 1.什么是设计模式 2.为什么要学习设计模式 3.设计模式分类 4.设计模式的六大原则 5.单例模式 5.1 什么是单例 5.2 哪些地方用到了单例模式 5.3 单例优缺点 5.4 单例模式使用注意事项: 5.5 单例防止反射漏洞攻击 5.6 如何选择单例创建方式 5.…

【Java架构师面试题】设计模式面试专题(共35题含答案)

设计模式(DesignPattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。 本篇为设计模式面试专题,总共收…

一文整理总结常见Java后端面试题系列——设计模式篇(2022最新版)

关于作者 🐶 程序猿周周 ⌨️ 短视频小厂BUG攻城狮 🤺 如果文章对你有帮助,记得关注、点赞、收藏,一键三连哦,你的支持将成为我最大的动力 本文是《后端面试小册子》系列的第 1️⃣2️⃣ 篇文章,该系列将整…

C++面试题之设计模式及设计原则

六大设计原则 1)单一职责原则 类的职责单一,对外提供一个功能,函数也支持; 2)里氏替换原则 任何抽象类的出现都可以用他的实现类进行替换。 3)依赖倒置原则 依赖于抽象,不要依赖具体实现&#…

23种设计模式(常见面试题)

23种设计模式(常见面试题) 1.什么是设计模式? 答: 设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。是一套用来提高代码可复用性、可维护性、可读性、稳健…

设计模式面试题(总结最全面的面试题!!!)

文章目录 设计模式什么是设计模式为什么要学习设计模式设计模式分类设计模式的六大原则开放封闭原则(Open Close Principle)里氏代换原则(Liskov Substitution Principle)依赖倒转原则(Dependence Inversion Principle…

【2022最新Java面试宝典】—— 设计模式面试题(14道含答案)

目录 1.什么是设计模式2.为什么要学习设计模式3.设计模式分类4.设计模式的六大原则5.单例模式1.什么是单例2.那些地方用到了单例模式3.单例优缺点4.单例模式使用注意事项:5.单例防止反射漏洞攻击6.如何选择单例创建方式7.单例创建方式 6.工厂模式1.什么是工厂模式2.…

java高频面试题-设计模式

1 你所知道的设计模式有哪些? Java 中一般认为有 23 种设计模式,我们不需要所有的都会,但是其中常用的几种设计模式应该去掌握。下面列出了所有的设计模式。需要掌握的设计模式我单独列出来了,当然能掌握的越多越好。 总体来说设…

Java常见设计模式面试题及答案

文章目录 1.设计模式是什么?你是否在代码中使用过?2. JDK 中常用的设计模式有哪些?3.单例模式是什么?请用 Java 写出线程安全的单例模式4.在 Java 中,什么叫观察者模式(observer design pattern&#xff09…

JAVA常见设计模式面试题

一、单例模式 java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、双重检查锁定 1.单例模式有以下特点:   a、单例类只能有一个实例。   b、单例类必须自己创建自己的唯一…

设计模式面试题

设计模式 详解 设计模式 参考: https://www.jianshu.com/p/fc4b2e679a1e 单例模式 整个应用中保证只有一个类的实例存在 参考: https://mp.weixin.qq.com/s/dlVXW6aW4wLcLpey9NxPig 饿汉式单例类 懒汉式单例类 instance new SingletonClas…

设计模式面试题(设计模式速成版)

文章目录 说明名词解释UML基础面向对象编程中,都有哪些设计原则开闭原则里氏替换原则(Liskov Substitution Principle)依赖转置(依赖倒置)原则单一职责原则接口隔离原则迪米特法则合成复用原则 设计模式的分类创建型模…

【前端面试题】06—16道设计模式面试题(附答案)

设计模式不是针对某个框架的,而是针对某类问题或某类需求提出的,因此有广泛的适用性。 我们学习设计模式不仅要学习理论,还要学习如何解决实际工作中的问题,所以在面试中,设计模式通常是结合某类需求考察的。 1、什么是…

❤️设计模式肝完了,还挺全!腾讯和阿里的offer已拿!❤️

设计模式肝完了,还挺全!腾讯和阿里的offer已拿! 金九银十已经来了,挺近大厂最好的机会已经来了!如果你是要找工作的,一定要抓住这个机会! 前面已经整理了很多的面试资料: 1&#x…

「面试必背」设计模式面试题(收藏)

前言 设计模式在日常的工作中,是非常重要的一项技能,使用设计模式可以重构整体架构代码、提交代码复用性、扩展性、减少代码冗余问题。这是每个 Java 工程师必备的技能!今日小编主要讲的是设计模式之一的策略模式,小编会通过案例…

textRank杂谈

转自:这些文章 1. PageRank算法概述 PageRank,即网页排名,又称网页级别、Google左侧排名或佩奇排名。 是Google创始人拉里佩奇和谢尔盖布林于1997年构建早期的搜索系统原型时提出的链接分析算法,自从Google在商业上获得空前的成功后&#xff…

人工智能自然语言处理—PageRank算法和TextRank算法详解

人工智能自然语言处理—PageRank算法和TextRank算法详解 一、PageRank算法 PageRank算法最初被用作互联网页面重要性的计算方法。它由佩奇和布林于1996年提出,并被用于谷歌搜索引擎的页面排名。事实上,PageRank可以在任何有向图上定义,然后…

TextRank算法学习及使用

文章目录 一、算法思想二、python代码实现三、TextRank算法使用1、textrank4zh模块的安装2、实例介绍 总结 参考资料: 文本关键词抽取、文本摘要生成是自然语言处理(NLP)的应用之一,一定会对我们的生活产生巨大影响。随着数字媒体…