浙江大学学报(工学版), 2022, 56(7): 1285-1293, 1319 doi: 10.3785/j.issn.1008-973X.2022.07.003

计算机技术、信息技术

H.266/VVC分步全零块判决快速算法

牛伟宏,, 黄晓峰, 祁伟, 殷海兵,, 颜成钢

1. 杭州电子科技大学 通信工程学院,浙江 杭州 310018

2. 杭州电子科技大学 自动化学院,浙江 杭州 310018

3. 北京大学信息技术高等研究院,浙江 杭州 311215

Fast stepwise all zero block detection algorithm for H.266/VVC

NIU Wei-hong,, HUANG Xiao-feng, QI Wei, YIN Hai-bing,, YAN Cheng-gang

1. College of Communication Engineering, Hangzhou Dianzi University, Hangzhou 310018, China

2. College of Automation, Hangzhou Dianzi University, Hangzhou 310018, China

3. Advanced Institute of Information Technology, Peking University, Hangzhou 311215, China

通讯作者: 殷海兵,男,教授. orcid.org/0000-0002-3025-0938. E-mail: yhb@hdu.edu.cn

收稿日期: 2021-07-7  

基金资助: 国家自然科学基金资助项目(61901150,61572449,61972123);浙江省自然科学基金资助项目(LQ19F010011)

Received: 2021-07-7  

Fund supported: 国家自然科学基金资助项目(61901150,61572449,61972123);浙江省自然科学基金资助项目(LQ19F010011)

作者简介 About authors

牛伟宏(1998—),男,硕士生,从事视频编解码的研究.orcid.org/0000-0002-7233-0768.E-mail:wh_niu@hdu.edu.cn , E-mail:wh_niu@hdu.edu.cn

摘要

为了减少编码计算复杂度,提出分步全零块判决快速算法. 基于硬决策量化公式推导固定阈值,判决出真全零块. 通过与变换块尺寸和量化参数(QP)相关的自适应阈值,判决出伪全零块. 通过提取出8个与量化结果密切相关的特征,基于全连接神经网络(FCNN)对剩余未判决的块进行最后判决. 实验结果表明,提出的分步全零块判决快速算法在Low Delay B和Random Access配置下,在性能平均损失分别仅为0.458%和0.575%的情况下,分别平均减少了7.382%和7.237%的编码复杂度.

关键词: 全零块 ; 硬决策量化 ; 量化参数 ; 全连接神经网络(FCNN)

Abstract

A fast algorithm for all zero block detection was proposed in order to reduce the computational complexity. A fixed threshold was derived based on the hard decision quantization formula in order to detect genuine all zero blocks. Pseudo all zero blocks were further detected by the adaptive threshold related to the transform block size and quantization parameter (QP). The decision was made based on the fully connected neural network (FCNN) for the remaining blocks by extracting eight features that were closely related to the result of quantization. The experimental results showed that the proposed fast algorithm achieved up to 7.382% and 7.237% coding complexity saving under Low Delay B and Random Access configurations with only 0.458% and 0.575% performance loss on average, respectively.

Keywords: all zero block ; hard decision quantization ; quantization parameter ; fully connected neural network (FCNN)

PDF (1177KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

牛伟宏, 黄晓峰, 祁伟, 殷海兵, 颜成钢. H.266/VVC分步全零块判决快速算法. 浙江大学学报(工学版)[J], 2022, 56(7): 1285-1293, 1319 doi:10.3785/j.issn.1008-973X.2022.07.003

NIU Wei-hong, HUANG Xiao-feng, QI Wei, YIN Hai-bing, YAN Cheng-gang. Fast stepwise all zero block detection algorithm for H.266/VVC. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(7): 1285-1293, 1319 doi:10.3785/j.issn.1008-973X.2022.07.003

随着时代的发展,新一代通用视频编码(versatile video coding, VVC)[1]应运而生. 相比上一代高效视频编码(high efficiency video coding, HEVC)[2],VVC的压缩效率提高了将近50%. 性能提升是由于VVC标准采用诸多新技术,包括帧内预测模式从HEVC使用的35个扩展到67个,多变换核选择[3]、低频不可分离变换[4]及多种划分模式[5]等. 在量化方面,从硬决策量化(hard decision quantization, HDQ)[6],到基于软决策量化(soft decision quantization, SDQ)[7]的率失真优化量化(rate distortion optimized quantization, RDOQ)[8],再到依赖性量化(dependent quantization, DQ)[9],这些新技术为VVC编码效率带来了显著提升,但编码复杂度急剧增加.

量化作为视频编码模块中较耗时的一个步骤,除了复杂的乘除法操作外,在RDOQ中还有更复杂的率失真优化(rate-distortion optimization, RDO)遍历操作,即每个预量化系数会有几个可选的量化值,通过RDO遍历过程得到最优的量化值. 乘除法和RDO遍历操作的计算复杂度非常高,许多变换单元(transform unit, TU)经常会被RDOQ量化为零系数块,即全零块(all zero block, AZB),且最终仅需传输一个全零编码标志位. 若能够在量化前将这些AZB提前判决出来,则可以省去RDOQ中复杂的乘除法、RDO代价计算比较和相关上下文模型更新等繁琐的步骤,达到减少编码复杂度的目的.

近年来,针对视频编码器中AZB的预判决已被广泛探索. 在H.264/AVC[10]上的研究,如Wang等[11]在H.264上应用高斯分布研究变换系数,提出利用绝对变换误差和检测AZB的方法. Zhao等[12]在H.264上,基于AZB的统计特征建立阈值查找表,通过阈值对AZB进行判决. Yang等[13]将软决策量化应用到H.264中. 在HEVC中的研究,如Lee等[14]通过对变换后的哈达玛系数再次进行哈达玛变换,通过比较系数与固定阈值来检测AZB. Cui等[15]提出混合的AZB检测方法,通过单个系数阈值和拉普拉斯分布建模,得到2个AZB检测阈值,取2个阈值中较小的作为最终阈值. Yin等[16]提出多阶段AZB检测方法,分多个阶段对AZB进行检测,通过阈值和机器学习对AZB进行判决.

已有的算法均是在H.264和HEVC上实现的,但在新一代视频编码标准VVC中,由于新的划分模式,导致多种不规则的非方形TU的存在而不再适用. 本文针对VVC,提出全新的VVC分步AZB判决快速算法,以加速量化的方式来减少编码器复杂度.

1. 算法简介

提出的分步AZB判决快速算法流程如图1所示. 图1中的缩略词定义如下.

图 1

图 1   分步全零块检测框架图

Fig.1   Frame diagram of stepwise all zero block detection


1)G-AZB:若TU在经过HDQ后,所有变换系数都被量化为零,则称为真全零块(genuine all zero block, G-AZB).

2) P-AZB:若TU中的所有非零系数被RDOQ进一步量化为零,则称为伪全零块(pseudo all zero block, P-AZB).

3) NAZB:若TU中的所有非零系数经过RDOQ后存在非零系数,则称为非全零块(non-all zero block, NAZB).

图1可以看出本文算法的流程. 1)比较变换系数最大值与阈值 $ {\zeta _1} $,判决出G-AZB. 2)对于第一步不是G-AZB的TU来说,判断变换系数最大值是否满足不等式(9). 若满足,则比较满足不等式(10)的变换系数的位置最大值与阈值 $ {\zeta _2} $,判决出P-AZB. 3)对于2)步中变换系数最大值不满足不等式(9)或者在2)步判决后不是P-AZB的TU来说,提取特征并输入到全连接神经网络,根据输出值判决为P-AZB或NAZB.

G-AZB、P-AZB和NAZB在2个量化参数(quantization parameter, QP)下的不同M(TU中系数个数)的比例如图2所示,用P表示对应元素所占的百分比. 仅列出较具有代表性的M为64、128、256和512的3种AZB的占比情况,对于没有列出的M,即16、32、1 024、2 048和4 096的情况,AZB的占比情况类似.

图 2

图 2   真全零块、伪全零块和非全零块的分布

Fig.2   Distribution of G-AZB、P-AZB and NAZB


图2可以看出,G-AZB的比例与QP呈正相关,与M呈负相关;NAZB的比例与QP呈负相关,与M呈正相关. G-AZB和P-AZB的比例相对较大,尤其是在QP较大的情况下,因此对这些AZB进行检测是非常有意义的.

2. G-AZB检测阈值模型

为了推导G-AZB检测阈值,从HDQ入手,带有死区的HDQ定义[6]

$ \begin{split} \left| {{l_{ij}}} \right| &= \left\lfloor {\frac{{\left| {c{}_{ij}} \right|}}{{{Q_{{\text{step}}}}}}+f} \right\rfloor = \left\lfloor {\frac{{\left| {{d_{ij}}} \right| \cdot {\rm{MF}}}}{{{2^{{Q_{{\text{bits}}}}}}}}+f} \right\rfloor = \\ & \left| {{d_{ij}}} \right| \cdot {\rm{MF}}+f' \gg {Q_{{\text{bits}}}}{\text{.}} \end{split} $

式中: $ f' = f \ll {Q_{{\text{bits}}}} $$ {c_{ij}} $$ {d_{ij}} $分别为缩放前和缩放后的变换系数; $ {l_{ij}} $为量化系数; $ {Q_{{\text{step}}}} $为量化步长,与QP的取值有关; $ f $为HDQ中的死区偏移量,与帧类型有关; $ {\rm{MF}} $$ {Q_{{\text{bits}}}} $分别定义为

$ {\rm{MF}} = \left\{ {26\,214,23\,302,20\,560,18\,396,16\,384,} \right.\left. {14\,564} \right\}, $

$ {Q_{{\text{bits}}}} = q_{\rm{bits}}+T_{\rm{s}}. $

式中: $q_{\rm{bits}} = 14+{\rm{floor}}({{{\rm{QP}}} \left/\right. 6})$$T_{\rm{s}}$为缩放因子.

G-AZB是TU经过死区HDQ后为全零的块,因此从提到的死区HDQ公式入手,考虑到向下取整,即只要是小于1的数,都会被向下取整为0. 对于G-AZB,每个量化系数一定小于1,即

$ \max \,\left| {{l_{ij}}} \right| < 1. $

$ {l_{ij}} $代入式(4),有

$ \max \,\left(\left(\left| {{d_{ij}}} \right| \cdot {\rm{MF}}+f'\right) \gg {Q_{{\text{bits}}}}\right) < 1. $

进一步化简,可得

$ \max\, \left| {{d_{ij}}} \right| < \frac{{1 \ll {Q_{{\text{bits}}}} - f'}}{{{\rm{MF}}}}. $

将式(6)的右端作为G-AZB的检测阈值,即

$ {\zeta _1} = \frac{{1 \ll {Q_{{\text{bits}}}} - f'}}{{{\rm{MF}}}}. $

只要 $\max\, \left| {{d_{ij}}} \right| < {\zeta _1}$,就认定该TU是G-AZB,无需经过量化.

由于 $ {\zeta _{\text{1}}} $为基于HDQ的“向下取整”的特点反向推导得到,这部分G-AZB检测阈值模型的正确率是100%,即对于最终量化结果是G-AZB的TU来说,采用 $ {\zeta _{\text{1}}} $来检测的判决错误率为0%.

3. P-AZB检测阈值模型

通过阈值 $ {\zeta _1} $已经实现了G-AZB的检测,对于采用死区HDQ后仍存在非零系数的TU来说,有可能被RDOQ进一步量化为AZB. 考虑到RDOQ的计算复杂度,本文将这样的变换块检测出来,以便跳过RDOQ.

若TU满足

$ \max \,\left(\left| {{d_{ij}}} \right|\right) \cdot {\rm{MF}} \gg {Q_{{\text{bits}}}} < 1 - f, $

则TU经过死区HDQ一定会被量化为G-AZB. 相应地,若变换块满足

$ 1 - f \leqslant \max\, \left(\left| {{d_{ij}}} \right| \right)\cdot {\rm{MF}} \gg {Q_{{\text{bits}}}} < 1, $

则这样的TU虽然被死区HDQ量化为非零,但是有可能会被RDOQ进一步量化为AZB,即P-AZB.

对于变换系数最大值满足式(9)的TU,考虑满足下式的变换系数:

$ 1 - f \leqslant \left| {{d_{ij}}} \right| \cdot {\rm{MF}} \gg {Q_{{\text{bits}}}} < 1. $

假设满足式(10)的变换系数位置分别为 ${\rho _1},\; {\rho _2},\; \;{\rho _3},\cdots \cdots\;$,则 $\; {\rho _{\rm{m}}} = \max\, \left\{{\;\rho _1},\;{\rho _2},\;{\rho _3},\cdots \cdots\right\} $. 对于 $ \;{\rho_{\rm{m}}} < {\zeta _2} $的TU,判决为P-AZB. TU SIZE越大,满足式(10)的变换系数个数会增加, $\; {\rho _{\rm{m}}} $也随之增加,因此 $ {\zeta _2} $与TU SIZE呈正相关. QP正相关于 $ {Q_{{\text{step}}}} $,即更大的QP会使量化系数更小,因此 $ {\zeta _2} $与QP呈负相关. 基于经验和统计分析,使用如下的阈值公式进行P-AZB判决:

$ {\zeta }_{2}=\left\{ {\begin{array}{l}{\rm{round}}\;\left(\dfrac{P+1}{P}\cdot (M\gg 2)-(Q\ll 2)-\dfrac{{M}_{\mathrm{max}}}{{M}_{\mathrm{min}}}\cdot \dfrac{1}{{\rm{QP}}}\right)\text{,}\\ \quad \;\;\; {{M}}\in \{\text{16}\text{,}\text{32}\text{,}\text{64}\text{,}\text{128}\text{,}\text{256}\text{,}\text{512}\text{,}\text{1 024}\};\\ \text{1 024}\text{,}M\in \{\text{2 048},\text{4 096}\}.\end{array} } \right.$

式中: $ {M_{\min }} $$ {M_{\max }} $分别为16和4 096; $Q = {M}/{{{M_{\max }}}}$,在VTM10.0中 $ \max \;({\rm{QP}}) $为51; $P = {{{\rm{QP}}}}/\max \; ({\rm{QP}})$.

4. 基于机器学习的P-AZB检测

尽管检测了部分P-AZB,但是剩余一些难以检测的P-AZB无法通过2)步的自适应阈值公式检测出来. 通过分析这些P-AZB,找寻8个影响TU量化为全零与否的影响因子. 这些影响因子涉及系数级、TU级和上下文级特征,基于机器学习对这些特征进行离线训练,训练的网络能够较好地检测出这些P-AZB.

4.1. 网络结构

考虑到这是“二分类”的问题,一般采用支持向量机(support vector machine, SVM)或全连接神经网络(fully connected neural network, FCNN)[17]算法. 如表1所示为2种算法在视频序列BasketballPass的部分TU下的检测精度和时间复杂度对比. 表中, $ \varepsilon $为检测精度,是判决正确的样本与总样本的比值; $ \eta $为FCNN较SVM平均增加的复杂度.

表 1   支持向量机与全连接神经网络算法的对比

Tab.1  Comparison of support vector machine and fully connected neural network algorithm

M $ \varepsilon $/% $ \eta $/%
SVM FCNN
64 87.17 95.43 3.535
128 83.79 91.65 3.535
256 82.97 93.28 3.535
512 80.62 93.43 3.535

新窗口打开| 下载CSV


表1可以看出,2种算法在判决AZB的时间复杂度方面基本无差异,但是FCNN的检测精度优于SVM. 由于在实际判决过程中,不同序列在不同QP下的样本存在一定差异,FCNN能够比SVM更好地应对所带来的差异. 一段视频序列的样本数据较大,FCNN更适合对较大样本进行训练. 综合以上几点原因,使用FCNN算法进行第3步的AZB判决.

采用的FCNN的网络结构图如图3所示. 在网络层数及每层的节点数量方面,共设2层隐藏层、1层输入层和1层输出层. 输入层和第1层隐藏层设8个节点,第2层隐藏层设4个节点,输出层设1个节点. 输入层的8个节点为8个影响因子,2层隐藏层均采用ReLU函数作为激活函数,输出层将sigmoid函数作为激活函数,损失函数采用交叉熵损失函数. 网络输出值表示该“二分类”的概率,即通过是否大于0.5来进行判决,梯度下降优化方面采用Adam算法[18]优化.

图 3

图 3   全连接神经网络的结构

Fig.3   Structure of fully connected neural network


4.2. 相关特征

4.2.1. 系数级特征

经过大量统计发现,若某个TU的预量化系数s大于或等于2,则这个TU极大概率是NAZB.

图4(a)给出AZB在QP = 37的情况下,预量化系数等于0、1和大于1的占比情况;图4 (b)给出NAZB在QP = 37的情况下,预量化系数等于0、1、2和大于2的占比情况. 由于几乎没有预量化系数≥2的AZB,使用预量化系数≥2的个数作为线索来判决AZB毫无意义. 对预量化系数等于0和等于1的个数进行统计,分别用 $ \;{\mu _{\text{0}}} $$\; {\mu _{\text{1}}} $表示预量化系数等于0和等于1的个数,对这2个参数进行归一化处理,如下:

图 4

图 4   预量化系数的分布图

Fig.4   Distribution diagram of pre-quantization coefficients


$ \left. \begin{gathered} {n_0} = {{{\mu _0}}}\left/ \right.{\varOmega }, \\ {n_1} = {{{\mu _1}}}\left/ \right.{\varOmega }. \\ \end{gathered} \right\} $

式中: $ \varOmega $为TU中实际进行量化的系数个数, $ \varOmega \in \{\text{16},\text{32},\text{64},\text{128},\text{256},\text{512},\text{1 024}\} $n0n1分别为对 $ \;{\mu _{\text{0}}} $$ \;{\mu _{\text{1}}} $进行归一化的结果.

由于VVC新加入了“高频置零”操作,即对采用DCT-II变换且宽或高为64的TU,仅保留左上角宽或高为32的部分,对其他系数进行“置零”操作.

$ \varOmega =\left\{ {\begin{array}{l}\varOmega {'}/2\text{,}W=64且H\ne 64或H\text{=64}且W\ne 64;\\ \varOmega {'}/4\text{,}W=64且H=64;\\ \varOmega {'}\text{,}其他.\end{array} } \right.$

式中:WH分别为TU的宽和高; $ \varOmega ' $为“高频置零”前的实际TU大小, $ \varOmega ' = W \times H $,即 $\varOmega {'}\in \{\text{16},\text{32}, \text{64},\text{128}, \text{256}, \text{512}, \text{1 024, 2 048, 4 096}\}$.

图5所示分别为M = 64的P-AZB和NAZB在不同QP下对 $ {n_0} $$ {n_1} $取均值后的对比情况. 图中, $ {M_{{\text{Pre}}}} $为最终的归一化均值. 从图5可以看出,P-AZB的预量化系数等于0的比例大于NAZB. 相应地,NAZB的预量化系数等于1的比例大于P-AZB,即存在一定的可区分度.

图 5

图 5   预量化系数占比的均值

Fig.5   Mean of pre-quantization coefficients ratio


预量化系数等于0或1的数量可以作为区分P-AZB和NAZB的有用特征.

4.2.2. TU级特征

残差块经过变换后,能量会集中在TU的左上角低频区域. 考虑绝对变换系数和:

$ \varPhi = \sum\limits_{i,j \in \left[ {1,2,4,8,16,32,64} \right],ij \geqslant 16} {\left| {c(i,j)} \right|} . $

式中: $ c(i,j) $为变换系数.

对于量化结果是非零的残差块来说,变换后集中在左上角低频区域的能量较大;对于量化结果是全零的残差块来说,变换后集中在左上角低频区域的能量较小.

图6所示,对各种大小的TU中的系数位置进行标注. 为了更加准确地表示低频区域的能量,对于4×4、2×8、1×16这样较小的TU,取低频区域 $ {P_1}\sim {P_3} $处的3个变换系数和作为该TU的部分能量. 根据M的大小,依次递加变换系数,如M是32的TU取左上角4个变换系数 $ ({P_1}\sim {P_4}) $M是64的TU取左上角5个变换系数 $ ({P_1}\sim {P_5}) $,以此类推.

图 6

图 6   变换系数的位置标注

Fig.6   Position annotation of transformed coefficients


不同M的部分能量表示为

$ \varPsi = \sum\limits_{k = 1}^n {\left| {c({P_k})} \right|} . $

式中: $ c({P_k}) $为在 $ {P_k} $位置的变换系数; $ n = {\log _2}M - 1 $.$ \varPsi $进行归一化处理,如下:

$ \beta = {\varPsi }\left/ \right.{\varPhi }. $

通过该方式,可以较准确地得到TU的低频区域能量占比. 通过离线模拟,收集了不同QP下M为64的AZB和NAZB的均值,如图7所示. 图中, $ {M_{{\text{SATD}}}} $为最终的归一化均值. 从图7可以看出,NAZB在低频区域的能量占比 $\; \beta $大于P-AZB. $\; \beta $可以作为区分P-AZB和NAZB的特征.

图 7

图 7   低频区域能量占比的均值

Fig.7   Mean of energy ratio in low frequency domain


4.2.3. 上下文级特征

在上一代的视频编码标准HEVC中,上下文自适应二进制算术编码(context-based adaptive binary arithmetic coding, CABAC)[19]基于概率转换表,在64种不同的概率状态之间进行转换. 在VVC中,涉及上下文的所有计算都通过公式完成,无须查表运算. 采用多假设概率更新模型[5],使用2个与上下文模型相关联的概率,这2个概率分别以不同的自适应速率独立更新. 在更新过程中,某一语法元素在较小可能出现的符号(least probability symbol, LPS)和较大可能出现的符号(most probability symbol, MPS)之间进行切换.

为了推导出LPS和MPS的概率与码率之间的关系,从信息论出发,基于香农信源编码定理,可以得到概率为 $\; \rho ({s_i}) $的符号 $ {s_i} $的自信息量为

$ R({s_i}) = - {\log _2}\;\rho({s_i}) , $

$ \rho ({s_i}) = {{{2^{-R({s_i})}}}}. $

对这一组MPS和LPS的概率进行归一化,有

$ \left.\begin{gathered} {\rho _{\rm{M}}} = \dfrac{{1/({2^{{R_{\min }}/32\;768}})}}{{1/({2^{{R_{\min }}/32\;768}})+1/({2^{{R_{\max }}/32\;768}})}}, \\ {\rho _{\rm{L}}} = \dfrac{{1/({2^{{R_{\max }}/32\;768}})}}{{1/({2^{{R_{\min }}/32\;768}})+1/({2^{{R_{\max }}/32\;768}})}}. \\ \end{gathered} \right\} $

式中: $ \;{\rho _{\rm{M}}} $$ \;{\rho _{\rm{L}}} $分别为MPS和LPS的概率; $ {R_{\min }} $$ {R_{\max }} $分别表示进行编码时,从一组码率表中选取的较小和较大的一个.

在RDOQ中涉及众多的语法元素,只利用部分语法元素来区分P-AZB和NAZB.

当前TU内的某个系数采用LPS符号或者MPS符号进行编码,与周围系数有很大关系. 考虑语法元素量化系数标识(significant coefficient flag, SIG)所对应的概率.

由于低频区域的变换系数经过RDOQ很难量化为0,SIG = 1的情况在低频区域有着非常大的概率作为MPS符号进行编码. 相应地,SIG = 0的情况在低频区域有着非常大的概率作为LPS符号进行编码. 取图6$ {P}_{1}、{P}_{2}、{P}_{3} $位置的SIG所对应的概率,开展研究.

图8所示为M = 64的P-AZB和NAZB在 $ {P}_{1}、{P}_{2}、{P}_{3} $ 3个位置的SIG所对应概率的对比情况. 图中, $ {M_{{\text{SIG}}}} $为最终的归一化均值. 从图8可以看出,P-AZB与NAZB在低频区域中 $ {P}_{1}、{P}_{2}、{P}_{3} $ 3个位置的SIG对应的概率存在一些差异. 将低频区域 $ {P}_{1}、{P}_{2}、{P}_{3} $ 3个位置的语法元素SIG所对应的概率作为3个上下文级特征.

图 8

图 8   语法元素(量化系数标识)的均值

Fig.8   Mean value of syntax element (SIG)


TU中当前系数组(coefficient group, CG)是否为全零CG,与周围CG有关. 考虑语法元素整个CG的编码标识(coded sub-block flag, CSBF)所对应的概率.

类似上文提到的量化系数标识SIG,语法元素CSBF=1的情况在低频区域有很大概率作为MPS符号进行编码. 选取TU左上角第1个CG的语法元素CSBF进行研究.

由于VVC的划分模式会产生很多类型的不规则TU,所选取的CG不都是规则的4×4的CG,如下所示:

$ L=\left\{ {\begin{array}{l}1\times 16,\;M=1\times N,N\geqslant 16;\\[1.5pt] 16\times 1,\;M=N\times 1,N\geqslant 16;\\[1.5pt] 2\times 8,\;M=2\times N,N\geqslant 8;\\[1.5pt] 8\times 2,\;M=N\times 2,N\geqslant 8;\\[1.5pt] 4\times 4,\;其他.\end{array}} \right. $

式中:L为CG的尺寸.

当前TU是否被量化为全零,与周围TU有关,即考虑语法元素整个TU的编码标识(coded block flag, CBF)所对应的概率.

P-AZB和NAZB在不同QP下的CSBF和CBF所对应概率的对比情况与系数级特征、TU级特征和SIG的分布均类似,即AZB与NAZB均存在一定的可区分度. 将语法元素CSBF和语法元素CBF所对应的概率分别作为第4个和第5个上下文级特征.

所选取的8个可用于区分P-AZB与NAZB的特征如表2所示. 表2中数据为这8个特征在QP为22、27、32和37的情况下的平均值. 通过对比P-AZB和NAZB的各个特征数据可以看出,这8个特征可以较好地区分P-AZB与NAZB.

表 2   全零块和非全零块的不同特征比较

Tab.2  Comparison of different features between AZB and NAZB

量化块 M 系数级特征 TU级特征 上下文级特征
$ {n_0} $ $ {n_1} $ $ \;\beta $ SIG( $ {P_1} $) SIG( $ {P_2} $) SIG( $ {P_3} $) CSBF CBF
AZB 64 0.9258 0.0742 0.1537 0.3725 0.3323 0.3546 0.0789 0.2932
AZB 128 0.9383 0.0617 0.1051 0.3729 0.3516 0.3621 0.0826 0.3922
AZB 256 0.9488 0.0512 0.0677 0.3870 0.3586 0.3783 0.0939 0.4193
AZB 512 0.9530 0.0470 0.0426 0.3946 0.3622 0.3825 0.0948 0.4244
NAZB 64 0.8350 0.1337 0.2734 0.5499 0.4958 0.5371 0.1340 0.6625
NAZB 128 0.8602 0.1141 0.2046 0.5467 0.4944 0.5284 0.1267 0.6523
NAZB 256 0.8696 0.1088 0.1473 0.5334 0.4891 0.5209 0.1235 0.6200
NAZB 512 0.8725 0.1061 0.1006 0.5323 0.4879 0.5155 0.1200 0.5648

新窗口打开| 下载CSV


5. 实验结果与分析

5.1. 实验结果

5.1.1. 性能评估

介绍提出的VVC分步AZB判决快速算法在RD性能和编码复杂度方面的表现. 所有实验均是在关闭DQ且打开RDOQ的条件下,在VVC测试平台VTM-10.0上实现的. 仿真是根据联合视频探索小组(joint video exploration team, JVET)通用测试条件(common test conditions,CTC)[20]来进行的,通过每个阶段对AZB的判决,以此来加速量化进程,减少计算复杂度. QP值设定为 $ \left\{ {22,27,32,37} \right\} $,使用BD-Rate[21]评估编码性能,BD-Rate为负值表示性能提升. 在计算复杂度方面,使用总编码时间节省 $\vartriangle {T_{{\text{Enc}}}}$来计算,计算如下:

$ \vartriangle {T_{{\text{Enc}}}} = \frac{{{T_{{\text{Anc}}}} - {T_{{\text{Pro}}}}}}{{{T_{{\text{Anc}}}}}} \times 100 {\text{%}} . $

式中: $ {T_{{\text{Pro}}}} $$ {T_{{\text{Anc}}}} $分别为提出的快速算法的总编码时间和原始的总编码时间.

表34所示分别为本文提出的分步AZB判决快速算法和将文献[14~16]方法用于VTM10.0的前提下,编码器在LDB(Low Delay B)配置和RA(random access)配置下的实验结果对比情况. 表中,数据包括每个类别中所有视频序列的平均节省时间和编码性能.

表 3   LDB配置下的编码性能对比

Tab.3  Coding performance comparison in LDB configuration

类别 文献[14]方法 文献[15]方法 文献[16]方法 本文算法
$ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/%
B 5.02 1.86 4.76 1.56 5.82 1.45 9.15 0.62
C 4.91 1.75 4.06 1.59 4.37 1.64 7.06 0.51
D 4.82 1.82 4.47 1.62 4.42 1.31 6.91 0.40
E 4.89 1.82 3.64 1.52 4.26 1.33 6.66 0.41
F 4.81 1.80 4.37 1.54 4.91 1.22 7.13 0.35
平均值 4.890 1.810 4.260 1.566 4.756 1.390 7.382 0.458

新窗口打开| 下载CSV


表 4   RA配置下的编码性能对比

Tab.4  Coding performance comparison in RA configuration

类别 文献[14]方法 文献[15]方法 文献[16]方法 本文算法
$ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/% $ \vartriangle {T_{{\text{Enc}}}} $/% BD-Rate/%
A1 5.92 1.98 6.18 1.34 6.90 1.37 8.90 0.59
A2 5.67 1.82 5.45 1.45 6.21 1.37 9.15 0.53
B 4.48 1.89 4.17 1.53 4.33 1.43 6.54 0.58
C 4.33 1.73 3.93 1.56 4.19 1.75 6.97 0.61
D 4.36 1.82 4.36 1.55 4.09 1.59 6.14 0.52
F 3.13 1.87 2.90 1.53 3.08 1.51 5.72 0.62
平均值 4.648 1.852 4.498 1.493 4.800 1.503 7.237 0.575

新窗口打开| 下载CSV


在LDB配置下,提出的方案在性能平均损失仅为0.458%的前提下,节省了7.382%的编码时间;将文献[14~16]方法用于VTM10.0的方案,平均分别节省了4.890%、4.260%、4.756%的编码时间,性能平均分别损失了1.810%、1.566%、1.390%. 在RA配置下,本文方案的编码时间平均节省了7.237%,性能仅平均损失0.575%. 将文献[14~16]方法用于VTM10.0的方案在编码时间可以分别减少4.648%、4.498%、4.800%的情况下,性能分别损失了1.852%、1.493%、1.503%. 与将文献[14~16]的部分方法用于VTM10.0的实验结果进行比较. 可以看出,提出的方案在LDB和RA 2个配置下,总编码节省时间和编码性能方面均有较大的优势,在性能损失几乎可以忽略的情况下时间复杂度有了较大的降低, 这对编码器优化有着重要的意义.

5.1.2. AZB检测精度

在提出的AZB判决快速算法中,对于AZB的检测存在一定的误差,即有可能会将AZB判决为NAZB,或者将NAZB判决为AZB.

AZB检测精度一般使用2个参数进行评估,即FNR(false negative rate)和FPR(false positive rate). 通常,这2个参数定义如下:

$ {\rm{FNR}} = \frac{{{\rm{FN}}}}{{{\rm{TP}}+{\rm{FN}}}}, $

$ {\rm{FPR}} = \frac{{{\rm{FP}}}}{{{\rm{FP}}+{\rm{TN}}}}. $

式中:TP为AZB被检测为AZB的数量,FN为AZB被检测为NAZB的数量,FP为NAZB被检测为AZB的数量,TN为NAZB被检测为NAZB的数量.

表56所示分别为将本文算法和文献[14~16]方法用于VTM10.0在LDB配置和RA配置下的AZB检测精度的对比情况. 表中数据为几种M下的平均检测精度,即AZB被3个步骤中的某一步骤进行判决的精度. 可以看出,与将文献[14~16]方法用在VTM10.0上的结果相比,本文提出的快速算法对FNR和FPR都有着更低的检错率,这说明本文算法在测试平台VTM10.0上对AZB有着更精确的判决.

表 5   LDB配置下的检测精度对比

Tab.5  Detection accuracy comparison in LDB configuration

类别 文献[14]方法 文献[15]方法 文献[16]方法 本文算法
FNR FPR FNR FPR FNR FPR FNR FPR
B 0.333 0.101 0.081 0.090 0.082 0.076 0.043 0.040
C 0.388 0.111 0.089 0.087 0.102 0.090 0.060 0.051
D 0.426 0.116 0.084 0.092 0.080 0.110 0.040 0.078
E 0.481 0.096 0.098 0.084 0.101 0.109 0.066 0.073
F 0.469 0.099 0.097 0.089 0.087 0.087 0.074 0.061
平均值 0.419 0.105 0.090 0.088 0.090 0.094 0.057 0.061

新窗口打开| 下载CSV


表 6   RA配置下的检测精度对比

Tab.6  Detection accuracy comparison in RA configuration

类别 文献[14]方法 文献[15]方法 文献[16]方法 本文算法
FNR FPR FNR FPR FNR FPR FNR FPR
A1 0.457 0.108 0.093 0.109 0.105 0.094 0.071 0.076
A2 0.355 0.105 0.096 0.110 0.098 0.104 0.074 0.078
B 0.508 0.115 0.107 0.100 0.087 0.089 0.053 0.071
C 0.456 0.124 0.108 0.103 0.086 0.077 0.067 0.052
D 0.536 0.099 0.090 0.105 0.083 0.086 0.048 0.063
F 0.655 0.105 0.088 0.087 0.095 0.097 0.057 0.067
平均值 0.495 0.109 0.097 0.102 0.092 0.091 0.062 0.068

新窗口打开| 下载CSV


5.2. 结果分析

为了在HEVC中更好地检测较大尺寸16×16和32×32的AZB,对这2种大尺寸TU的低频分量再次进行哈达玛变换,比较变换结果与阈值[14]. 在HEVC中针对P-AZB统计4种TU的量化系数分布,基于统计的分布结果,给出可以确定低频区域的自适应QP公式[15]. 在进行P-AZB检测时,尽管基于统计分析得到的自适应QP阈值可以在HEVC中较好地检测部分P-AZB,但是忽略了TU中系数的位置信息[16].

由于VVC在HEVC使用的四叉树划分结构的基础上,新增了二叉树和三叉树划分结构,文献[14~16]的方法对于非方形的TU来说不再适用. 本文从满足一定条件的变换系数位置入手,通过分析这些变换系数的位置,得到更合理的自适应阈值. 在上下文语法元素级特征方面,从系数级的SIG,到CG级的CSBF,再到整个TU级的CBF,更全面地分析TU,从而达到更高的检测精度.

在第1步的G-AZB判决模型中,对于G-AZB的判决正确率是100%,主要是因为HDQ公式是向下取整,小于1的数都将被向下取整为0,所以基于该理论反向推导的G-AZB阈值具有100%的正确率(即FNR = 0). 在第2步的P-AZB检测模型中,对于满足 $ 1-f \leqslant \max \left(\left|d_{ij}\right|\right) \cdot {\rm{M F}}= Q_{{\rm{bits}} }<1 $的TU,HDQ不可能将其量化为AZB. 尽管RDOQ可能将等于0、1、2的预量化系数量化为0,但还是有可能存在一些没有被RDOQ量化为0的非零系数,即NAZB. 在这些NAZB中,存在极少部分与AZB有着相似的分布,这导致判决存在一定的误差. 在第3步的基于机器学习的P-AZB判决中,离线训练好的FCNN网络本身存在一定的判决误差,且存在极个别的P-AZB和NAZB可区分度较低,这使得FCNN网络存在判决误差.

总的来说,提出的分步AZB判决算法凭借较低的判决错误率在性能损失可以忽略的情况下,节省了一定的编码时间,降低了编码器复杂度.

6. 结 语

本文提出VVC分步AZB判决快速算法,从固定阈值到自适应阈值,再到机器学习,对AZB进行周密的检测. 实验结果表明,在LDB和RA配置下,提出的方案在性能基本不变的情况下分别平均节省了7.382%和7.237%的编码时间. VVC作为最新一代的视频编码标准,压缩效率得到极大的提升,但是存在许多值得改进的地方. 随着机器学习的兴起,可以考虑在视频编码的其他模块中引入机器学习,采取更加智能化的方式来减少计算复杂度.

参考文献

BROSS B, WANG Y K, YE Y, et al

Overview of the versatile video coding (VVC) standard and its applications

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2021, 31 (10): 3736- 3764

DOI:10.1109/TCSVT.2021.3101953      [本文引用: 1]

SULLIVAN G J, OHM J R, HAN W J, et al

Overview of the high efficiency video coding (HEVC) standard

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2012, 22 (12): 1649- 1668

DOI:10.1109/TCSVT.2012.2221191      [本文引用: 1]

ZHANG Z B, ZHAO X, LI X, et al. Fast adaptive multiple transform for versatile video coding [C]// 2019 Data Compression Conference. Utah: IEEE, 2019: 63-72.

[本文引用: 1]

HONG Z, LIN J C, JIANG D, et al. Improve the efficiency of low frequency non-separable secondary transform based on implicit multiple transform selection [C]// 2019 International Conference on Artificial Intelligence and Advanced Manufacturing. Dublin: IEEE, 2019: 148-151.

[本文引用: 1]

CHEN J, YE Y, KIM S. Algorithm description for versatile video coding and test model 10 (VTM 10.0) [EB/OL]. (2020-10-10) [2021-07-03]. http://phenix.it-sudparis.eu/jvet/index.php/JVET-S2002.doc.

[本文引用: 2]

SULLIVAN G. Adaptive quantization encoding technique using an equal expected-value rule [EB/OL]. (2005-01-13) [2021-07-03]. https://www.itu.int/wftp3/av-arch/jvt-site/2005_01_HongKong/JVT-N011.doc.

[本文引用: 2]

WEN J T, LUTTRELL M, VILLASENOR J

Trellis-based RD optimal quantization in H.263+

[J]. IEEE Transactions on Image Processing, 2000, 9 (8): 1431- 1434

DOI:10.1109/83.855437      [本文引用: 1]

KARCZEWICZ M, YE Y, CHONG I. Rate distortion optimized quantization [EB/OL]. (2008-01-09) [2021-07-03]. https://www.itu.int/wftp3/av-arch/video-site/0801_Ant/VCEG-AH21.doc.

[本文引用: 1]

WANG M, WANG S Q, LI J R, et al

Low complexity trellis-coded quantization in versatile video coding

[J]. IEEE Transactions on Image Processing, 2021, 30: 2378- 2393

DOI:10.1109/TIP.2021.3051460      [本文引用: 1]

WIEGAND T, SULLIVAN G J, BJONTEGAARD G, et al

Overview of the H. 264/AVC video coding standard

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13 (7): 560- 576

DOI:10.1109/TCSVT.2003.815165      [本文引用: 1]

WANG H L, KWONG S

Prediction of zero quantized DCT coefficients in H. 264/AVC using Hadamard transformed information

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2008, 18 (4): 510- 515

DOI:10.1109/TCSVT.2008.918553      [本文引用: 1]

ZHAO Y, YUAN Y L. All-zero block detecting algorithm based on look-up threshold tables in H. 264 [C]// 6th International Conference on Digital Content, Multimedia Technology and its Applications. Seoul: IEEE, 2010: 183-187.

[本文引用: 1]

YANG E H, YU X

Soft decision quantization for H. 264 with main profile compatibility

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2008, 19 (1): 122- 127

[本文引用: 1]

LEE K, LEE H J, KIM J, et al

A novel algorithm for zero block detection in high efficiency video coding

[J]. IEEE Journal of Selected Topics in Signal Processing, 2013, 7 (6): 1124- 1134

DOI:10.1109/JSTSP.2013.2272772      [本文引用: 13]

CUI J, XIONG R Q, ZHANG X F, et al

Hybrid all zero soft quantized block detection for HEVC

[J]. IEEE Transactions on Image Processing, 2018, 27 (10): 4987- 5001

DOI:10.1109/TIP.2018.2837351      [本文引用: 6]

YIN H B, YANG H Y, HUANG X F, et al

Multi-stage all-zero block detection for HEVC coding using machine learning

[J]. Journal of Visual Communication and Image Representation, 2020, 73: 102945

DOI:10.1016/j.jvcir.2020.102945      [本文引用: 13]

QI Y, YU C, DAI X. Research on radar plot classification based on fully connected neural network [C]// 2019 3rd International Conference on Electronic Information Technology and Computer Engineering. Xiamen: IEEE, 2019: 698-703.

[本文引用: 1]

ZHANG Z. Improved adam optimizer for deep neural networks[C]// 2018 IEEE/ACM 26th International Symposium on Quality of Service. Arizona: IEEE, 2018: 1-2.

[本文引用: 1]

MARPE D, SCHWARZ H, WIEGAND T

Context-based adaptive binary arithmetic coding in the H. 264/AVC video compression standard

[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2003, 13 (7): 620- 636

DOI:10.1109/TCSVT.2003.815173      [本文引用: 1]

BOSSEN F, BOYCE J, SUEHRING K, et al. JVET common test conditions and software reference configurations for SDR video [EB/OL]. (2019-05-08) [2021-07-03]. http://phenix.it-sudparis.eu/jvet/index.php/JVET-N1010-v1.doc.

[本文引用: 1]

BJONTEGAARD G. Calculation of average PSNR differences between RD-curves [EB/OL]. [2021-07-03]. https://www.itu.int/wftp3.itu.int/av-arch/video-site/0104_Aus/VCEG-M33.doc.

[本文引用: 1]

/