AV1下一代编解码器:CDEF方向校正滤波器



由蒙蒂(monty@xiph.org,cmontgomery@mozilla.com)发布。 发布于2018年6月28日。

如果没有人读过前一篇文章 ... AV1是开放媒体联盟开发一种新的通用视频编解码器。 该联盟以Google的VPX编解码器,Cisco的Thor和Mozilla / Xiph.Org的Daala为基础。 AV1编解码器的性能优于VP9和HEVC,这使其不是明天,而是后天的编解码器。 AV1格式没有任何特许权使用费,并且只要获得许可许可,便会永久保留。

本文是系列文章中的第二篇,详细描述了AV1的功能以及作为其基础并在生产中首先使用的新技术。 Xiph.org上的前一篇文章解释了Luma色度(CfL)的亮度预测功能 今天,我们将讨论有限的方向校正滤波器(Constrained Directional Enhancement Filter)。 如果您一直想知道编写编码解码器需要什么,请系紧安全带并准备接受教育!

AV1中的过滤器


在几乎所有视频编解码器中,都使用校正滤波器来改善输出材料的主观质量。

“校正滤波器”是指不一定编码图像信息或提高客观编码效率的方法,但是它们以某种方式改善了结果。 校正过滤器应谨慎使用,因为它们通常会丢失一些信息,因此,有时将它们视为不可接受的作弊方法,以使结果看上去比实际情况更好。

但这不公平。 校正过滤器旨在规避或消除客观指标看不见但人眼可见的特定伪像。 即使我们将过滤器视为一种欺骗手段,一个好的视频编解码器仍然需要它可以使用的所有实用且有效的“秘籍”。

过滤器分为几类。 首先,它们可以是规范性的也可以是非规范性的 。 规范过滤器是编解码器的必需部分。 没有它,就无法正确解码视频。 非标准过滤器是可选的。

其次,过滤器的使用位置不同。 有在编码之前应用于输入数据的预处理过滤器(预处理),在解码完成后应用于输出数据的后处理过滤器(后处理),以及环路内过滤器,集成到编码过程中的环路过滤器。 预处理和后处理过滤器通常是非标准的,因此不会包含在编解码器中。 根据定义,环路滤波器是规范性的。 这是编解码器的一部分; 它们用于编码优化过程,并应用于参考帧或帧间编码。



AV1使用三个调节校正滤波器。 第一个是去块滤波器,用于消除“块”-沿编码块边缘的明显伪像。 尽管DCT相对非常适合于压缩自然图像中的能量,但DCT仍倾向于在块的边缘累积误差。 如果您还记得的话,消除这些伪像是Daala使用重叠变换的主要原因 。 但是AV1是具有更严格块边界的更传统的编解码器。 结果,这里需要传统的去块滤波器来平滑块边缘处的伪像。


传统DCT块编解码器中块边界处的伪影示例。 这些错误特别明显。

这三个过滤器中的最后一个是“回路还原”过滤器。 它由两个可配置和可替换的过滤器组成: 维纳过滤器和自引导过滤器。 这是两个卷积滤波器,它们尝试构建内核以部分恢复原始输入图像的丢失质量。 它们通常用于块边缘的降噪和/或校正。 对于AV1,它们执行一般的降噪任务,通过可调模糊消除基本DCT噪声。

在它们之间是一个有限的方向校正滤波器 (约束方向增强滤波器,CDEF),我们将对其进行讨论。 像回送滤波器一样,它可以消除关节处的伪影和基础噪声,但是与回送滤波器不同,它是定向滤波器。 与大多数过滤器不同,它不适用于连续的所有内容,而是专门查找块边界。 因此,CDEF特别有趣:它是在视频编码中使用的第一个实用且有用的定向滤波器。

漫长而曲折的道路


CDEF的历史发展并不轻松。 这是一条漫长的道路,有转弯,小路和死胡同。 CDEF汇集了几篇研究论文,每篇都为AV1中的最终滤波器提供了一个想法或灵感。

使用DCT和类似DCT的变换来变换像素数据块的全部要点是表示一个像素块,其编号应尽可能少。 DCT在大多数图像中都能很好地压缩能量,这意味着DCT倾向于仅在几个重要的输出因子中收集散乱的像素图案。

但是DCT压缩效率也有例外。 例如,DCT不能很好地转换方向边界或图案。 如果看一下尖锐的对角线边缘的DCT输出,那么输出系数也将形成……尖锐的对角线! 转换后它有所不同,但仍然存在于图像中,尽管通常形式比开始时复杂。 压缩降低了!


尖锐的边界是基于DCT的编解码器的传统问题,因为它们根本无法很好地压缩。 在这里,我们看到了一个尖锐的边界(左)和DCT变换系数(右)。 初始边界的能量通过DCT传播到方向性波纹模式中。

在过去的二十年中,视频编解码器研究越来越关注转换,滤波器和预测方法,这些转换,滤波器和预测方法本质上是定向的。 研究人员一直在寻找一种方法来更好地处理此类边界和图案,以纠正这种基本的DCT限制。

经典定向预测器


定向帧内预测可能是现代视频编解码器中定向动作最著名的方法之一。 每个人都熟悉h.264和VP9方向预测模式,其中编解码器根据来自已解码块的周围像素将特定模式的预测传输到新块。 目的是转换块之前消除(或显着减少)坚硬的定向边缘中的能量。 通过预测和删除无法压缩的功能,我们提高了编解码器的整体效率。


在AVC / H.264中针对4x4块的方向性预测模式说明。 预测器扩展相邻像素的单像素条带中的值,将其沿八个方向之一传输到预测的块,再加上用于简单DC预测的平均模式

一个更老的想法是运动补偿。 这也是定向预测的一种形式,尽管我们很少这样想。 此模式在特定方向上移动块,再次用于在DCT运行之前预测和提取能量。 该块偏移是定向的并已过滤。 像定向帧内预测一样,如果偏移量不是整数像素,则应用精心构造的过采样滤波器。

定向滤波器


如前所述,视频编解码器会主动应用过滤器以消除块伪像和噪声。 尽管将滤镜应用于2D平面,但滤镜本身通常以1D方式工作,也就是说,它们分别在水平和垂直方向上执行。

方向过滤触发水平和垂直方向以外的过滤器。 这种方法在处理静态图像时已经很普遍,其中降噪滤镜和特殊效果叠加通常会考虑边界和方向。 但是这些定向滤波器通常基于对定向变换输出的滤波。 例如, 我写的[过时] 降噪滤波器是基于复小波的双树

但是对于视频编码,我们最感兴趣的是定向滤波器,该滤波器直接应用于特定方向的像素,而不是在定向转换的输出处对频域进行滤波。 一旦尝试创建这种野兽,就会很快出现一个大问题:当滤镜的位置不再附加到网格上的像素时,如何确定除水平和垂直方向之外的某个方向?

一种选择是使用在高质量图像处理中使用的经典方法:转换滤镜核心并根据需要对像素空间重新采样(重新采样)。 您甚至可以说这是唯一的“正确”或“完整”答案。 它用于补偿子像素运动(如果没有良好的重新采样就不可能获得好的结果),还用于定向预测(通常使用快速逼近)。

但是,就算是普遍应用的话,就计算资源而言,即使是快速近似也很昂贵,因此,如果可能的话,建议避免重采样。 速度的昂贵价格是定向滤波器尚未在视频编码中应用的原因之一。

方向转换


定向转换尝试在转换本身的层次上解决块边界紧缩的DCT问题。

这方面的实验分为两类。 有些转换实质上使用了定向基,例如定向小波。 通常,它们易于过度转换/过度完成,也就是说,它们产生的输出多于输入时得到的输出:通常更多。 这就像在相反的方向上工作,因为我们要减少而不是增加数据量! 但是这些转换仍然会压缩能量,并且编码器仍会选择输出的一小部分进行编码,因此实际上与通常的有损DCT编码有一些区别。 但是,“过度”转换通常需要过多的内存和计算资源,因此在流行的视频编解码器中不使用。

第二类定向转换采用常规的无向转换,例如DCT-并对其进行修改,从而影响输入或输出。 可以以重复采样,矩阵乘法(可以将其视为重复采样的一种特殊形式)或按输入数据的顺序来进行更改。

最后一个想法是最强的,因为该方法工作迅速。 数字的简单排列不需要任何数学计算。


通过重新排列像素和系数,而不是重新过滤,可以在不同方向上进行变换的两个示例。 图像编码方向变换的调查中获得一个例子,徐继成,曾兵,吴峰

由于一些实际困难,实施变得复杂。 正方形的重新定向使对角线边缘具有主要是垂直或水平线,这导致将数字作为非正方形矩阵作为输入。 从概念上讲,这不是问题。 因为您可以开始彼此独立地转换行和列,所以我们只需为每个行和列使用不同大小的1D DCT,如上图所示。 但是实际上,这意味着对于每种可能的列长度,我们将需要不同的DCT分解-并且,一旦硬件开发部门理解了这一点,您就会被抛在窗外。

重新排列后,还有其他处理非正方形区域的方法,您可以想出重采样方案来保存输入正方形或仅在输出中工作。 下面列出的有关定向转换的大多数文章为此提供了不同的方案。

这就是定向转换的故事基本上结束的地方。 一旦您避免了方向转换的各种复杂情况并制作了真正的滤波器,由于意外的原因,它通常无法在现代编解码器中工作:由于与可变块大小的竞争。 就是说,在具有固定块大小的编解码器中,添加方向转换可显着提高效率。 可变的块大小本身提供了更大的好处。 但是,将可变的块大小和方向转换相结合所导致的结果比单独使用这些方法中的每一种方法都更糟糕。 可变块大小已经消除了定向转换所使用的那些冗余,甚至使其效率更高。

内森·艾格(Nathan Egge)和我在开发达阿拉(Daala)时进行了很多定向转换实验。 我使用稀疏矩阵乘法将对角线边界转换为输出的垂直/水平位置,从而检查了输入端和输出端的问题。 内森(Nathan)通过重建输入数据测试了定向转换的已知方法。 我们得出一个结论:额外的复杂性并不能带来客观或主观的好处。

在Daala(和其他编解码器)中使用方向转换可能是一个错误,但是研究提出了前面提到的一个问题:如何快速沿边界过滤而又不花费昂贵的重新采样? 答:无需重新采样。 通过沿最近的整个像素移动来放大。 通过字面上或概念上重新排列像素来放大变换后的内核。 这种方法会导致一些失真(混叠),但是效果很好足够快

定向预测器,第2部分:Daala编年史


达拉编解码器中CDEF的历史始于尝试做一些完全不同的事情:通常无聊的定向帧内预测。 或至少对于Daala编解码器来说是正常的。

当我们刚开始工作时,我就在频域中写过Daala帧内预测方案。 这里的数学很有效。 没有理由担心。 但是,幼稚的实现需要大量的矩阵乘法,这对于生产中的编解码器来说太昂贵了。 我们希望由于稀疏性可以将计算负荷减少一个数量级-消除对预测没有太大贡献的矩阵元素。

但是细化无法像我们所希望的那样工作。 至少当我们实现它时,它丢失了太多信息,使得该技术在实践中不合适。

当然,Daala仍需要某种形式的帧内预测,​​而Jean-Marc Valin想到了这一点:一种自主预测编解码器,该编解码器在与频域中的Daala编解码器平行的空间域中工作。 作为共生的一种共生体,但不依赖于Daala,它不限于Daala对频域的要求。 这就是Intra Paint产生的方式


悉尼港照片中的绘画内预测算法实例。 视觉输出具有明确的方向性,非常适合块的边界和原始图像的特征,从而在边界清晰的情况下产生了不错的效果(可能有些奇怪)

Intra Paint滤镜以一种新的方式工作:仅沿块的边界对一维矢量进行编码,然后在选定方向上运行模板。 这就像喷涂油漆,然后将其以不同方向散布在开放区域中。

Intra Paint看起来很有前途,并且其本身产生了惊人的美丽效果,但再次证明它不能有效地用作标准的帧内预测器。 它只是没有得到足够的比特来编码自己的信息。


悉尼港原始照片与Intra Paint结果的区别。 尽管客观上发出了Intra Paint视觉上令人愉悦的声音,但不能将其称为高度准确的预测器。 即使在许多看起来精心制作的边界上,差异也相当可观

Intra Paint的“失败”使我们想到了另一个想法。 尽管此“绘图”在客观上并不是一个很好的预测指标,但从主观上讲,它看起来很不错。 也许使用“油漆涂片”方法作为后期处理过滤器来提高主观视觉质量? Intra Paint沿着尖锐的边缘非常顺畅,因此有可能消除沿着最尖锐的边缘累积的噪声。 Paint-Dering Daala, CDEF.

, . / Edge-Directed Interpolation (EDI). ( VPx AV1) , . , EDI , . EDI . , .

,


, CDEF, . Intra Paint Daala Paint-Dering, Intra-Paint . .

Intra Paint . Daala CLPF Thor, - , (Deringing) Daala, Intra-Paint ( ), Conditional Replacement Filter , . CRF - , , .


7-tap ,

Daala CRF, 7-tap 5-tap. , . Daala , CDEF.

Daala AOM, AV1 daala_dering. Cisco , Constrained Low-Pass Filter (CLPF) Thor. - AV1: . , .

, CDEF : CLPF Cisco Daala .

CDEF


CDEF . ( , / ), . , CDEF « ? ?» CDEF — , , . — .


CDEF , . , Intra Paint Paint-Dering. .


CDEF. 'k'

, «» , , . , . d k, .


d, . k . k . , , . /

, — , . , : , . !

, . :



E— , p— , xp— , k— , Nd,k— ( ) kd。 . , d。 , AV1 CDEF 5,875 1,9375 , 8×8 DCT.

(filter taps)


CDEF . 方向 d, ( ) .

CDEF . , Daala. 45° , CLPF Thor.


d. , 45° .

, . , .

. , (constraint function), .


(taps) (w) . a = 2 b = 4, a = 3 b = 3.

, , .


CDEF , (constraint function) d, SD



, . ( SSD, . , D.


. (d) x. y. (S). (D)

, . , ( ) , . :



(p)(s).

. . CDEF, , CDEF .

结果


CDEF旨在消除或减少图像尖锐边缘的基本噪声和振铃伪影,而不会模糊或损坏。 现在,该滤镜已在AV1中使用,并产生了细微但稳定的效果。 也许将来有可能更多地依赖CDEF。


编码Fruits图像时的降噪和伪影示例。 第一个插图显示未经CDEF处理的区域,第二个插图显示CDEF处理后的区域

任何纠正性过滤器的定量值通过主观测试确定。 客观指标不应低估,但CDEF旨在提供超越原始客观测试工具(例如PSNR和SSIM)功能的结果。

因此,我们在CDEF的开发过程中(当Daala Dering和Thor CLPF在技术上仍是竞争对手时)进行了几轮主观测试,然后对组合的CDEF过滤器进行了更全面的测试。 由于这是上一代编解码器中完全不存在的新过滤器,因此测试主要包括启用CDEF的AV1和不具有CDEF的AV1。


具有高延迟配置的带有CDEF和没有CDEF的AV1的主观AV1 A / B测试结果

主观结果显示,六个片段中的三个片段具有统计学上的显着性改善(p <.05)。 通常,这对应于编码效率提高5-10%。 对于添加到完全成熟的编解码器中的一种工具而言,这是一个巨大的胜利。

不出所料,客观测试的结果略微增加了约1%,但是客观测试仅在与主观结果一致的程度上有用。 主观测试是黄金标准,主观结果非常明确。

测试还表明,如果在编码过程中禁用了其他编解码器工具,则CDEF的性能会更好。 与方向转换一样,CDEF与其他更复杂的AV1方法竞争优势。 由于CDEF是一种简单,小型且快速的滤波器,因此将来可能会用于降低AV1编码器的复杂性。 在解码器复杂度方面,取决于配置,CDEF占AV1解码器的3%至10%。

其他资源


  1. 在media.xiph.org上的Xiph.Org 标准derf测试套件
  2. 在Daala和AV1开发中使用的自动化测试系统和指标: “我们已经压缩了吗?”
  3. AV1中的约束方向增强滤波器(CDEF) 。 Steinar Midtskogen,Jean-Marc Valin,2017年10月
  4. CDEF ICASSP 2018演示幻灯片 ,Steinar Midtskogen,Jean-Marc Valin
  5. Daala的除灵过滤器及进一步开发 。 让·马克·瓦林(Jean-Marc Valin)。 以前的降噪滤波器是在开发Daala编解码器时创建的,用于在AV1中创建CDEF。
  6. 达拉(Daala):给图片着色很有趣 。 让·马克·瓦林(Jean-Marc Valin)。 甚至更早的针对Intra-Paint的校正滤镜,这导致在Daala中创建了降噪滤镜,进而导致了CDEF
  7. 涂料内去环滤网 。 尚·马克·瓦林(Jean-Marc Valin),2015年。关于在达阿拉市进行的Intra Paint实验产生的降噪校正滤波器的说明
  8. 引导图像过滤 。 蔡彩明,简三,唐小姑,2013年
  9. 方向自适应离散小波变换的图像压缩 。 Chang Chu-Ling Chang,Bernd Girod,IEEE Transactions on Image Processing,第16卷,第5期,2007年5月
  10. 方向自适应变换的图像共享 。 Chang Chu-Ling Chang,2009年,斯坦福大学博士学位论文。本论文很好地概述了截至2009年的方向转换领域。 不幸的是,网上没有可用的副本
  11. 定向自适应块转换编码彩色图像 。 Chang Chuing-Ling Chang,Mina Makar,Sam S.Tsai,Bernd Girod,IEEE Transactions on Image Processing,第19卷,第7号,2010年7月
  12. 基于DCT电路的DC预测和自适应编码 。 陈志波,徐晓钟。 IEEE背后的文章
  13. 方向自适应变换用于残差编码预测 。 Robert Cohen,Sven Klomp,Anthony Vetro,Sun Huifan。 2010 IEEE第17届图像处理国际会议论文集,2010年9月26-29日,香港
  14. 具有重叠的方向选择性正交变换 。 Dietmar Kunz,2008年。IEEE的文章
  15. 方向小波的速度失真分析 。 Arian Maleki,Boshra Rajay,Hamid Reza Purreza。 IEEE Transactions on Image Processing,Volume 21,Number 2,2012年2月
  16. 方向正交变换趋势趋势的理论分析 。 村松昌吾,丹丹·汗,小林智也,菊池久和。 IEEE付费专页背后的文章。 但是,可以免费获得简短版本。
  17. 图像编码中的方向变换概述 。 徐继成,曾冰,吴峰。
  18. 带有方向滤波的转换,用于图像压缩和帧间信息 。 彭旭莲,徐继成,吴峰,IEEE图像处理事务,第19卷,第11期,2010年11月。
  19. 利用稀疏正交变换进行逼近与压缩 。 O.G. Sezer,O.G.Guleruz,Yusel Altunbasak,2008年
  20. 下一代视频编解码器的二维共享变换的可靠研究 。 O. G. Cezer,R。Cohen,A。Vetro,2011年3月
  21. 基于稀疏度的一组正交正交共享块变换的联合优化 。 Joel Sole,Peng Yin,郑云飞,Christina Gomila,2009年。IEEE的文章
  22. 方向重叠变换用于图像编码 。 徐继成,吴峰,梁杰,张文俊,IEEE图像处理事务,2008年4月
  23. 方向离散余弦变换是一种新的图像编码框架 。 曾冰,傅晶晶,IEEE视频技术电路和系统交易,2008年4月
  24. 复小波变换的双树 。 Ivan Seleznik,Richard Baranyuk,Nick Kingsbury,IEEE信号处理杂志,2005年11月

Source: https://habr.com/ru/post/zh-CN416049/


All Articles