APP下载

AV1 视频标准中Loop Restoration 滤波研究

2021-04-20罗瑜

电子设计工程 2021年6期
关键词:编码标准解码滤波器

罗瑜

(陕西中医药大学 基础学院,陕西咸阳 712046)

随着通信技术的发展,人们对视频和图像的要求也越来越高。目前图像的分辨率已从FHD 慢慢过渡到8K,帧率也从30 f/s 发展成目前主流的60 f/s。高分辨率和高帧率大大提升了视觉体验,但同时也给信息的传输带来了很大的技术挑战,即如何快速完成大量数据的传输。为解决该问题,新的视频编码技术不断被提出,比如H.265、AVS2 和VP9 等编码标准。目前,国际上最先进的视频编码标准为开放媒体联盟(Alliance for Open Media,AOM)提出的AV1标准,该编码标准主要针对8K 码流,与H.265、AVS2以及VP9 相比,它用近2 倍的压缩复杂度换来约30%压缩率的提升[1-2],大大降低了视频的传输带宽。

1 AV1标准解码流程

解码是编码的逆过程,根据AV1 的编码标准可以知道,AV1 的解码流程主要包含8 个模块,如图1所示[3-5]。

图1 中,每个模块的作用说明如下:

1)熵解码模块主要完成语法元素(Syntactic Element,SE)的解析。

2)反变换量化:本模块根据熵解码解析出的SE,计算出每个残差系数的值。

图1 AV1解码流程

3)计算MV:本模块根据熵解码解析出的SE,计算出每个残差系数对应的运动矢量(Motion Vector,MV)[6-7]。

4)像素重建:本模块主要根据残差系数和其对应的MV,计算出每个像素值[8]。

5)Loop Filter:本滤波模块主要减弱或者消除变换量化带来的块效应[9-10]。

6)CDEF:本滤波模块主要减弱变换量化带来的振铃效应[11]。

7)Up Scaling:本模块在水平方向进行上采样,以恢复图像的真实水平分辨率[12]。

8)Loop Restoration:本模块为有效的通用去噪滤波器,可消除DCT 噪声。

经过大城市的熏陶,丁柔的言谈举止都非常得体,与我闲聊了她这几年在北京的奋斗史,大多是一些比较心酸的往事。只是她的分贝却扬得有些高,大抵是故意想让周桥听见。

2 Loop Restoration滤波流程和ASIC实现

在进行Loop Restoration 处理前,AV1 在概念上首先把一帧图像在垂直方向上分为N个stripe,每个stripe 对 应 一 套 参 数,即stripeNum、stripeStartY 和startEndY,这些参数决定着滤波器在进行滤波时,是取CDEF 滤波后的数据还是取CDEF 滤波前的数据进行滤波[5,12]。这套参数说明如下:

1)stripeNum 为每个stripe 的索引号。当stripe Num 为0 时,stripe 的高度为56pixels;stripeNum 为N-1 时,stripe 的高度为(frame_height-56)%64;对于其它的stripeNum,stripe 的高度为64pixels,如图2 中的长条所示。

2)stripeStartY 为每个stripe 的起始行对应的Y坐标。

3)stripeY 为每个stripe 的结束行对应的Y坐标。

其次AV1 标准又把一帧图像在水平和垂直方向上分为若干个矩形方块,即restoration unit,如图2 中的虚线方块所示。每个restoration unit 的大小由熵解码模块解析得到,且都有其对应的坐标(unitRow,unitCol),根据此坐标可计算得到滤波过程用到的各个参数。

图2 stripe 和restoration unit示意图

Loop Restoration 滤波器的处理如图3 所示,它主要包含两种滤波器,即Winner滤波器和SelfGuided滤波器,其中Winner 滤波器采用两个一维的对称滤波器进行实现,SelfGuided 滤波器则采用两个重建信号的线性组合来模拟接近真实数据。通过AV1标准可知,通过rType 参数(通过unitRow 和unitCol计算得到)决定选择Winner 滤波器还是SelfGuided 滤波器[5,13]。

图3 Loop Restoration处理流程

2.1 Winner滤波器处理过程和ASIC实现

Winner 滤波器采用两个一维滤波器级联来实现滤波功能,即先进行7 阶水平对称滤波,然后再进行7 阶垂直对称滤波。7 阶水平滤波如图4 所示,由于后面有垂直7 阶滤波,因此在进行水平滤波时需要向上和下各扩展3 行,其中黑色部分表示当前要滤波的4×4 块,深灰色块表示当前正在滤波的位置,深灰色块左右各3 个数据表示滤波时需要用到的邻域数据。在获取邻域数据时,若正在进行水平滤波的位置和黑色4×4 块属于不同stripe(如图4(a)的上半部分所示),则采用CDEF 滤波前的数据进行水平一维滤波;若正在进行水平滤波的位置和黑色4×4 块属于同一个stripe(如图4(a)的下半部分所示),则采用CDEF 滤波后的数据进行水平一维滤波。

图4 Winner滤波器滤波原理示意图

在进行完水平滤波后,得到中间变量h_filter[10][4]的中间数据,然后对该数据进行7 阶对称的一维垂直滤波,从而得到最终的Winner 滤波结果,如图4(b)所示。

对于Winner 滤波器的处理过程,其ASIC 的实现如图5 所示,其中pixel_0 表示CDEF 滤波前的数据,pixel_1 表示CDEF 滤波后的数据,通过当前滤波行的坐标y和stripeStartY 的比较结果判断选择pixel_0还是pixel_1。interRound0 表示四舍五入的小数位数;hfilter[7]表示水平滤波的7 个抽头系数,可直接根据unitRow 和unitCol 对熵解码模块解析出的滤波系数LrWinner 进行查表得到。

图5 Winner滤波器中水平滤波器的ASIC实现

进行完水平滤波器后,需要对水平滤波的结果再进行垂直7 阶滤波。垂直滤波器的实现和水平滤波器的实现很类似,只是滤波用到的抽头系数vfilter[7]和四舍五入的位数interRound1 有所不同,因此其ASIC 的实现这里不再赘述。

2.2 selfGuided滤波器的处理和ASIC实现

根据AV1 标准可知,SelfGuided 滤波器首先采用两个box滤波器,以得到两个滤波结果flt0和flt1,然后再对flt0 和flt1 进行线性组合,从而得到SelfGuided滤波器的最终结果,处理流程如图6 所示[13-15]。

图6 selfGuided滤波器处理流程

每个box 滤波器是由两个滤波器级联而成。对于flt0 的box 滤波,第一级滤波首先把当前4×4 的数据块扩展成5×5 的数据块,以保证第二级的3×3 二维滤波器在对当前的4×4 块进行滤波时能取到邻区数据,如图7(a)所示,其中黑色块表示当前4×4 数据块,浅灰色块表示在4×4 数据块周围扩展的数据,最终和黑色块一起形成了5×5 的数据块;然后再对这5×5数据块上的每个数据进行5×5 的二维滤波,得到中间结果A[6][6]和B[6][6],如图7(b)所示,其中深灰色块表示当前正在滤波的位置,其周围的5×5 表示滤波用到的邻域数据[16]。

图7 box filter0内5×5二维滤波示意图

在计算得到A[6][6]和B[6][6]后,需要分别对A[6][6]和B[6][6]在原始4×4 数据块的位置上进行3×3 的二维滤波,得到数据a 和b,如图8 所示;然后根据公式(1),利用a 和b 对4×4 块上的数据进行线性缩放,从而得到box filter0 的最终滤波结果flt0[4][4]。式(1)中,curr_pixel 表示4×4 块上的每个位置的像素值,i和j的取值范围都是0~3。

对于flt1 的Box 滤波,其滤波过程和flt0 类似,不同的是把4×4 数据块扩展成5×5 的数据块后,然后对5×5 数据块的每个数据进行3×3 的二维滤波,而不是5×5 的二维滤波,因此这里不再赘述。

图8 A[6][6]和B[6][6]3×3二维滤波示意图

通过box filter 后得到滤波结果flt0[4][4]和flt1[4][4]后,然后通过线性组合得到最终的selfGuided 滤波器的滤波结果,即selfGuided[4][4]。根据AV1 标准可知,其ASIC实现如图9所示,其中的个参数说明如下:

1)LrSgrXqd 由前级的熵解码模块计算得到的一个数组数 据,w0 和w1 可通过unitRow 和unitCol 对LrSgrXqd 数组查表得到。

2)set 可 通 过unitRow 和unitCol 对LrSgrSet 数 组查表得到,且Sgr_Params 为各个元取值固定的一组数组,r0 和r1 可 通过参数set 对Sgr_Params 数组查表得到。

图9 flt0[4][4]和flt1[4][4]线性组合ASIC实现框图

3 结束语

AV1 是由AOM 组织提出的、目前国际上压缩效率最高的视频压缩标准。文中详细阐述和分析了Loop Restoration 滤波器中各个步骤的实现原理和物理意义,最终用加法器和移位操作代替乘法器,给出了Loop Restoration 滤波器的ASIC 最优实现,大大节省了ASIC 实现过程中的资源消耗,对工程实现有较大的参考意义,有较强的商业应用价值。

猜你喜欢

编码标准解码滤波器
《解码万吨站》
国家医保局发布《关于贯彻执行15项医疗保障信息业务编码标准的通知》
解码eUCP2.0
高校标准化主数据平台建设与应用
从滤波器理解卷积
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
开关电源EMI滤波器的应用方法探讨
高保真压缩技术的商用价值
基于Canny振荡抑制准则的改进匹配滤波器