一 AV1仿射运动总结与类比
|
特性 |
4参数仿射模型 |
H266/VVC |
|
技术名称 |
扭曲运动补偿 |
仿射运动补偿预测 |
|
核心模型 |
主要使用简化的6参数和4参数模型 |
明确支持4参数和6参数模型 |
|
参数信号 |
间接,基于推导。从邻居块MV推导,只传标志位 |
直接与间接结合。有AF_INTER 显式CPMV和AF_MERGE继承 模式,更灵活 |
|
粒度与粒度 |
应用于整个编码块 |
子块细化,将大块划分为4x4/8x8子块进行独立补偿,精度更高 |
|
工具集成 |
相对独立 |
深度集成,与BDOF,光照补偿等工具协同工作,效果叠加 |
|
复杂度与性能 |
实现相对简单,码率开销小,在复杂运动上提供良好增益 |
实现更复杂,计算量更大,但提供的压缩效率最高,是当前最先进的实现 |
|
设计哲学 |
在保证显著性能提升的同时,优先考虑解码复杂度的可控性和硬件友好性 |
味了追求极致的压缩效率,可以接受更高的编码和解码复杂度。 |
二 AV1中的仿射运动预测
AV1的实现称为扭曲运动补偿
1 模型与参数
AV1主要使用两种仿射模型,并通过运动向量来推导参数
仿射平移模型:这实际上是6参数模型的简化版本,使用3个运动向量来控制一个块的运动。这三个MV分别位于块的左上角,右上角和左下角。通过这三个点的位移,可以完全确定一个6参数仿射变换。
纯旋转/缩放模型:这是4参数模型,只使用2个运动向量来推导出旋转和缩放,而不包含错切分量。
2 参数推导与信号方式
AV1的仿射模式是基于邻居的。
它不直接编码仿射模型的参数
而是从已经编码的周边块的运动向量中,推断出当前块是否适合使用仿射模型,并推导出控制点运动向量。
编码块在比特流中只需要传递一个标志位,表示 请使用仿射模型,并按照某种规则从邻居块A,B,C中推导参数。
这种方式节省了码率,因为不需要传输大量的变换参数,但增加了解码端的复杂度和对邻居块的依赖性。
3 块划分
AV1 的仿射预测是应用于整个编码块的,本身不是一种独立的块划分方式,而是一种应用于现有块划分(如64x64,32x32等) 之上的预测工具。
4 特点总结
优势:算法相对简洁,与AV1的编码结构结合紧密,码率开销小
劣势:精度可能不如VVC, 因为参数是间接推导的,灵活性稍差。没有像VVC那样与更细粒度的工具深度结合。
三 H266/VVC中的仿射运动预测
H266的实现更为精细和强大,称为仿射运动补偿预测
1 模型与参数
H266明确支持两种模型:
4 参数仿射模型:需要2个控制点运动向量
6 参数仿射模型:需要3个控制点运动向量
控制点位于编码块的左上角,右上角和左下角
2 参数推导与信号方式
H266提供了两种方式来传递仿射信息,兼顾了高效和灵活:
AF_INTER模式
继承法:类似于AV1,从相邻已经编码块的运动信息中推导出当前块的仿射参数
构造法:编码器显示地为控制点制定运动向量。这些CPMV可以是来自邻居的平移MV,可以是基于这些MV进行缩放/调整得到的,这种方式比AV1的纯推导更灵活。
AF_MERGE模式:
直接从一个邻居仿射编码块继承其完整的仿射模型参数。这非常高效,因为只需要传一个指向哪个邻居的索引。
3 块划分与子块细化
这是H266仿射预测的一个关键优势
当对一个大的编码块如64x64应用仿射预测时,H266会将其自动划分为更小的子块(例如4x4或8x8)
为每个子块的中心点 计算一个独立的运动向量
然后对每个子块进行独立的运动补偿。
好处:这极大的提高了运动补偿的精度,尤其是在处理大块的旋转或缩放时,避免了整个块使用同一个模型可能产生的“不贴合”现象。
4 与高级工具的集成
仿射模型+解码端运动向量修正:即使使用了仿射模型,预测仍可能不完美。H266的BDOF技术可以在此基础上,在解码端对子块的运动向量进行微调,进一步提升预测精度。
仿射模型+光照补偿:可以同时处理复杂的运动和光照变换。
预测Refinement with optical flow:在仿射预测的基础上,利用光流思想进行进一步的精细调整
4万+

被折叠的 条评论
为什么被折叠?



