Print

发布时间: 2021-02-16
摘要点击次数:
全文下载次数:
DOI: 10.11834/jig.190570
2021 | Volume 26 | Number 2




    图像处理和编码    




  <<上一篇 




  下一篇>> 





帧内块复制中的位移矢量参数编码算法
expand article info 赵利平1, 林涛2, 杨玉芬2, 胡珂立1, 彭华1
1. 绍兴文理学院计算机科学与工程系, 绍兴 312000;
2. 同济大学超大规模集成电路研究所, 上海 200092

摘要

目的 随着云计算和移动互联网技术的飞速发展,屏幕图像编码已成为视频压缩领域新的研究热点。帧内块复制(intra block copy,IBC)算法是屏幕内容编码(screen content coding,SCC)中的核心算法,已经成为高效视频编码(high efficiency video coding,HEVC)等标准中屏幕内容编码的重要组成部分。为了进一步消除IBC算法中的位移矢量(displacement vector,DV)参数编码的冗余,根据DV参数具有的固有帧内块匹配特性和相关性,提出了一种DV参数编码算法。方法 首先,对待编码DV采用邻近块与最近块相结合的DV预测编码方案,进一步提高DV的预测编码效率;然后,对预测编码效率不高的DV,提出了一种基于区域划分与调整的高效DV直接编码方案。对SCC标准测试数据集合中的17个测试数据集合的3种编码配置从编码效率和复杂度两方面进行了评测。结果 实验结果表明,对于SCC标准测试数据集合中移动的文字和图形序列类别,在全帧内、随机接入和低延迟这3种有损编码配置下,提出的DV算法与HEVC SCC中的IBC算法相比,在编解码复杂度没有任何影响的前提下,Y分量的BD(Bjφntegaard Delta)-rate平均降低率分别为1.04%、0.87%和0.93%,全帧内配置下Y分量的BD-rate降低率可达2.99%。结论 本文方法优于HEVC-SCC中的IBC算法中的DV编码算法,能有效提升编码效率。

关键词

高效视频编码(HEVC); 数字音视频编解码; 屏幕内容编码; 位移矢量; 预测编码; 直接编码

Displacement vector coding algorithm for intra block copy
expand article info Zhao Liping1, Lin Tao2, Yang Yufen2, Hu Keli1, Peng Hua1
1. Department of Computer Science and Engineering, Shaoxing University, Shaoxing 312000, China;
2. Institute of Very Large Scale Integration Circuit, Tongji University, Shanghai 200092, China
Supported by: Natural Science Foundation of Zhejiang Province, China (LY19F020015, LY20F020011, LY20F030006); National Natural Science Foundation of China (61871289); Shanghai Municipal Natural Science Foundation (18ZR1440600, 19ZR1461100)

Abstract

Objective With the recent rapid development of technologies in cloud computing and mobile internet, screen content coding (SCC) has become a key technology in many popular applications, such as videoconferencing with document or slide sharing, remote desktop, screen sharing, mobile or external display interfacing, and cloud gaming. Typical computer screen content contains a mixture of camera-captured and screen contents. Screen content exhibits highly different characteristics and varied levels of human's visual sensitivity to distortion compared with traditional camera-captured content. Screen content videos are typically not noisy, with sharp edges and multiple repeated patterns. New coding tools for better utilizing the correlation characteristics of screen content are necessary. Accordingly, SCC has become a popular topic in multimedia applications in recent years and has elicited increasing research attention from academia and industry. Several international video coding standards include efficient SCC capability, such as high efficiency video coding (HEVC), versatile video coding (VVC), and second-generation and third-generation audio video coding standard (AVS2 and AVS3, respectively). Repeated identical patterns (i.e., matching patterns) are frequently observed on the same picture of screen content. Two major SCC tools in HEVC SCC were developed in recent years to utilize these repeated identical patterns with a variety of sizes and shapes. These tools are intra block copy (IBC) and palette coding. IBC, also called intra picture block compensation or current picture referencing, is a highly efficient technique for improving coding performance. It is effective for coding repeated identical patterns with a few fixed sizes and shapes. IBC is a direct extension of the traditional inter-prediction technique for the current picture, wherein a current prediction block is predicted from a reference block located in the already reconstrcted regions of the same picture. IBC has been adopted in the HEVC SCC extensions, VVC, and AVS3. In IBC, a displacement vector (DV) is used to signal the relative displacement from the position of the current block to that of the reference block. The coding efficiency of IBC primarily depends on the coding efficiency of DV. The existing DV coding algorithm used in HEVC SCC is the same as the motion vector coding algorithm used in the inter-prediction scheme. However, the existing DV coding algorithm only utilizes the correlations among the DVs of neighboring blocks. Moreover, intra block and inter block matching characteristics exhibit numerous differences. Thus, in accordance with the inherent intra block matching characteristics and different correlations of DV parameters in the IBC algorithm, we propose an improved DV algorithm for further increasing the coding efficiency of IBC. Method The DV to be coded has been proven to exhibit numerous correlations not only with neighboring blocks but also with recently coded blocks. To utilize the correlations of DVs with neighboring and recently coded blocks, we first apply an improved DV coding algorithm that adaptively uses DV predictions from either neighboring or recently coded blocks. Second, a direct DV coding scheme that uses a DV region division algorithm and a DV adjusting algorithm is proposed to eliminate redundancies further in the existing DV coding algorithm. Lastly, we evaluate coding performance and complexity on 17 test datasets from the SCC standard test dataset with three encoding configurations. In particular, 13 sequences are selected to represent the most common screen content videos, referred to as the "text and graphics with motion" (TGM) category, and 4 sequences are selected to represent a mixture of natural video and text/graphics, referred to as the "mixed content" category. Result Experimental results show that the proposed algorithm achieves average Y BD-rate reductions of up to 1.04%, 0.87%, and 0.93% for the TGM category of the SCC common test sequences with lossy all intra (AI), random access, and low-delay B configurations, respectively, compared with the latest HEVC SCC at the same encoding and decoding runtimes. The maximum Y Bjφntegaard Delta(BD)-rate reduction reaches 2.99% in the AI configuration. Conclusion The experiment results demonstrate that our algorithm outperforms the DV coding algorithm for IBC in HEVC SCC.

Key words

high efficiency video coding (HEVC); audio video coding standard (AVS); screen content coding (SCC); displacement vector (DV); prediction coding; direct coding

0 引言

在全球全社会“抗疫”期间,以大规模远程办公、线上教学和远程会议等为典型代表的远程在线互动活动发挥着不可替代的作用,并对社会活动形态产生了深刻影响。屏幕内容编码(screen content coding,SCC)(Peng等,2016)技术是解决这些远程活动中“屏幕共享和显示”等带来的应用客户端与服务器端大流量数据传输瓶颈问题的关键技术。

近年SCC技术的研究工作主要围绕各大标准展开,包括高效视频编码标准(high efficiency video coding,HEVC)的SCC扩展版(Peng等,2016)、最新的VVC(versatile video coding)标准(Chen等,2020)、我国第二代数字音视频编码技术标准(the second generation audio video coding standard,AVS2)(马思伟等,2017)的屏幕混合内容视频编码(screen and mixed content coding,SMCC)扩展版(赵利平等,2019b)和最新AVS3标准(李一鸣等,2019)等,SCC也称SMCC。

屏幕图像的一个显著特点是同一帧图像内通常会有很多相似甚至完全相同的像素图样。针对屏幕图像这一特点,HEVC SCC扩展版中采用基于重复样图匹配技术大幅提高编码效率,主要包括帧内块复制(intra block copy,IBC)算法(Pang等,2014Xu等,2015, 2016Miyazawa等,2014Tourapis等,2015)、调色板(palette,PLT)算法、帧内线条复制(intra line copy,ILC)算法和串匹配(string matching,SM)(Lin等,2013)算法等。串匹配算法主要包括仿2维串匹配算法(Zhao等, 2016), 通用串匹配算法(Zhao等, 2018),基于AVS2的像素串匹配算法(赵利平等, 2018)和通用串预测算法(赵利平等, 2019a, b)。其中,IBC算法(也称为CPR(current picture reference)算法)(Xu等,2016)是将传统的帧间预测算法扩展到当前帧,采用有限种固定大小的帧内块匹配方式(如大小为4×8,8×4,8×8,16×16,32×32,64×64的块)。IBC算法具有与HEVC的编码单元(coding unit,CU)兼容性好、能大幅提高屏幕内容编码效率的优势,因此被HEVC SCC采纳,目前也被VVC标准(Chen等,2020)和AVS3标准(李一鸣等,2019)采纳。

表示当前帧中当前块与参考块位置关系的位移矢量(displacement vector,DV)参数是IBC算法编码参数的重要组成部分,如何对DV参数进行有效编码成为IBC算法中提高屏幕图像编码效率的一个核心问题。帧间预测算法运动估计中的运动矢量(motion vector,MV)参数、串匹配算法的Offset参数(赵利平等,2017)与IBC算法的DV参数有相似之处,但是在参考范围、匹配形成机理、匹配特性和时空相关性方面等存在不同。因此,MV参数和Offset参数的优化算法,在DV参数的优化算法研究中具有一定的借鉴作用,但也不能简单地照搬。随着对IBC算法的研究,出现了一些DV参数的优化算法。Tourapis等人(2015)提出了采用与帧间预测算法的MV编码相统一的编码方案——基于邻近块预测的DV编码方案,具有编码效率进一步提高且修改语法元素较少的优势,被HEVC SCC采纳。

为了进一步提升IBC算法的编码效率,本文在最新HEVC SCC参考软件的基础上,根据IBC算法中位移矢量体现出的不同的相关性与匹配特性,提出了一种自适应邻近块或最近块DV预测方案和DV直接编码方案的DV编码算法。实验结果表明,对于HEVC SCC标准和AVS2 SMCC标准通用测试数据集合中的视频序列,提出的算法与DV算法相比,在编解码复杂度相同的前提下,进一步提升了SCC的编码效率。主要创新点包括:1)针对待编码DV的邻近相关性和最近相关性(当前编码DV与最近块DV重复率比较高),在IBC算法基于邻近块预测的DV编码方案的基础上,提出了一种邻近块与最近块相结合的DV预测编码方案,进一步提高DV的预测编码效率;2)针对帧内复制算法在搜索机制、匹配形成机理和DV的取值限制等方面具有的固有特性和统计特点,对预测编码效率不高的DV,提出了一种基于区域划分与调整的高效DV直接编码方案。通过对不同区域的DV采用不同的调整和编码方案,进一步提高DV的总体编码效率。

1 相关工作

IBC算法(或称CPR算法)是帧间运动估计和补偿算法在当前帧内的扩展。帧间运动估计和补偿的参考像素在当前帧编解码之前已经完成的编解码的重建图像帧中,而IBC的参考像素在当前帧内已经完成的帧内重建图像帧中。DV参数是IBC算法(Xu等,2016)的主要编码参数,IBC算法的位移矢量如图 1所示。

图 1 IBC算法位移矢量(DV)图示
Fig. 1 Displacement vector (DV) examples for IBC algorithm

图 1可以看出,DV由水平和垂直位移矢量DVxDVy组成,以整像素为单位(而MV通常以分像素为单位)来表示当前帧内的参考块与当前块之间的偏移量。其中,DVxDVy分别等于参考块在图像中的水平、垂直坐标值减去当前块的水平、垂直坐标值。根据HEVC中块的划分方式,块匹配的单元可以是最大编码单元(largest coding unit,LCU),也可以是由LCU再进一步划分的CU和CU进一步划分的预测单元(prediction unit,PU)。因此,一个CU可以由一个或两个DV组成。

现有DV参数的优化算法随着IBC算法研究而相继提出。早期典型的优化算法包括Pang等人(2014)Xu等人(2015)提出的采用两个最近块与邻近块相结合的预测方案、Miyazawa等人(2014)提出的自适应编码DV差值与直接编码DV的方案。这些方案(Pang等,2014Xu等,2015Miyazawa等,2014)都没有采用帧间预测算法中的Merge模式,总体编码效率比最新HEVC SCC参考软件SCM8.8(JCT-VC,2019)IBC算法的DV编码方案要低很多。

图 2所示,IBC算法中DV参数编码方案采用邻近块预测编码方案。该方案对待编码的DV首先从空间上邻近块的DV中选取若干个DV形成Merge候选列表,如果用Merge候选列表中的某个DV取得的率失真代价值(rate distortion cost,RDcost)最优,则采用Merge模式进行编码;否则,从邻近块的DV中选取若干个DV形成位移矢量预测(motion vector predictor,MVP)候选列表,采用高级运动矢量预测(advanced motion vector prediction,AMVP)模式进行编码。即首先编码位移矢量差(motion vector difference,MVD),再编码预测DV在MVP候选列表中的索引值(MVP index)。已有的DV参数编码算法没有考虑IBC算法DV参数具有的固有匹配特性和不同的相关性。图中RDM为RDcost for merge mode,RDA为RDcost for AMVP mode。

图 2 基于邻近块预测编码方案的DV编码算法流程
Fig. 2 DV coding algorithm flow based on neighboring block predictive coding scheme

2 DV编码算法

2.1 IBC中DV固有特性与相关性

实验数据集来自HEVC SCC标准测试数据集(Yu等,2017)和AVS2 SMCC标准测试数据(AVS工作组,2016)。测试数据的色彩格式采用YUV 4 :4 :4。数据统计采用的算法是HEVC SCC的参考软件SCM8.8(JCT-VC,2019)。采用HEVC SCC标准通用的测试环境,其中IBC的参考范围为全帧范围,有损编码QP(quantization parameter)为{22,27,32,37},测试配置为有损全帧内(all intra,AI)配置。选取的测试数据集合为AVS2 SMCC中12个序列的第1帧,统计对象为采用IBC算法的AMVP模式进行编码的所有DV,统计数据是对AI配置4个QP的所有数据进行累加后获得。图 3给出了采用IBC算法的AMVP模式编码的DV不同N元组(用来保存编解码顺序上的最近块N个DV,也称为最近块DV)不同序列的DV重复率,即当前编码DV在N元组中命中的概率。从图 3可以看出,当N取值为16时,cns数据的最近块DV重复率达到了51%,换言之,一半以上的待编码DV能在最近块16个DV组中找到。因此,仅需要较少的比特编码该DV在N元组的位置。随着N值增大,最近块DV重复率也增高,但是增长的幅度越来越小。采用实验尝试法,实验结果表明,N取值为8时,编码效率最好,因此本文中N取值为8。

图 3 不同序列中当前编码DV在不同的N元组情况命中率
Fig. 3 Hit ratio of DVs to be coded in the N DVs for the recently coded blocks with different sequences

图 4给出了DV区域划分示意图和不同DV区域频率分布情况。统计数据是对AI配置4个QP的所有数据进行累加后获得。

图 4 DV区域划分与区域频率分布
Fig. 4 DV region divisions and regional frequency distribution((a) DV region divisions; (b) regional frequency distribution)

根据IBC算法的搜索机制、计算机产生屏幕图像的机理、对CTU、CU和PU编码或解码的顺序、参考块范围、匹配的最小匹配单元、匹配形状与大小和统计特点,得出DV固有的特性与相关性如下:

DV的相关性主要表现为DVxDVy的取值范围是互相限制的(DVyDVx的取值范围确定后,DVxDVy存在不可能取值的范围,对这些范围不需要分配二值化的码,从而减少对DVxDVy进行二值化需要的比特数),主要体现在:

1) DVx=0时,DVy≠0;

2) DVx=0时,DVy<0成立;

3) DVx>0时,DVy<0成立;

4) DVx=0时,对于不划分的CU和划分成两个垂直PU的CU,DVy的绝对值大于等于宽度;

5) DVx=0时,对于划分成两个水平PU的CU,DVy的绝对值都大于等于宽度的一半。将DVx换成DVyDVy换成DVx,可以得到与上述类似的性质。

DV的统计特性主要包括:1)从图 3可以看出,DV不仅具有邻近块的相关性,同时也具有最近块的相关性(当前编码DV与最近块DV重复率比较高);2)从图 4可以看出,由于IBC算法对不同大小的CU采用不同的混合搜索策略(1维、2维和哈希搜索),但是对不同大小的块都会进行1维区域(DVx=0或DVy=0区域)搜索,因此DVy=0的区域占的比例高达49.19%,DVx=0的区域占的比例为15.27%,两个区域的频率总和占到64.46%;3)计算机产生屏幕图像的内在机理导致在垂直和水平方向的匹配样图出现的概率很高(例如文字横竖结构比较多)。因此,对于不划分的CU和划分成两个水平PU的CU,DVx取值为CU宽度值出现的频率比较高;对于划分成两个垂直PU的CU,DVx取值为宽度的一半的值出现的频率比较高。

本文提出的DV编码算法通过分析DV参数的相关性与固有的匹配特性,进一步去除DV参数编码的冗余,从而提高DV参数的编码效率。

2.2 基于自适应预测方案或直接编码方案的DV编码算法

2.2.1 算法描述

图 5给出了一种自适应邻近块或最近块DV预测方案和直接编码方案的DV编码算法流程。在编码器端,对于待编码的DV,用空间或时间上邻近块的DV进行预测,获得Merge模式的RDcost(记为RDM);同时用最近块DV进行预测,若在N元组中,则获得N元组模式的RDcost(记为RDN);否则进行AMVP预测,获得AMVP模式的RDcost(记为RDA)。当RDM<RDA(或RDN)时,则采用Merge模式编码;否则,待编码的DV在N元组中,则采用N元组模式编码,否则采用直接模式编码(具体见2.2.3节)。因此,待编码的DV最终选择预测方案(邻近块或最近块DV)或直接编码方案进行编码是根据各种编码方案产生的编码输出比特率和失真度反馈获得RDcost值,使当前编码单元的RDcost值达到最小化来自适应决定的。

图 5 自适应邻近块或最近块DV预测方案和直接编码方案的DV编码算法流程
Fig. 5 DV coding algorithm flow based on adaptively DV prediction scheme from neighboring block or recently coded blocks and direct coding scheme

基于自适应预测方案或直接编码方案的DV编码算法的具体步骤如下:

输入:待编码DV, 模式信息, 预测信息

输出:DV码流数据

编码Merge模式flag;

IF(当前CU采用Merge模式)//Merge模式编码

  编码Merge Index;

ELSE

  编码N元组flag;

  IF(当前DV在N元组中)//N元组模式编码

    编码DV在N元组中的位置;

  ELSE

    对DV采用直接模式编码;//直接模式编码

  END ELSE

  END IF

END ELSE

END IF

上述算法中,N元组的位置采用固定长度编码方案进行编码。

2.2.2 最近块DV预测中N元组的建立与更新过程

采用N元组保存最近的N个编码块的DV(N取值为8)。如果当前编码DV在N元组中,则只需要编码当前编码DV在N元组对应的索引值(3 bit),从而进一步提高编码效率。

R1R2,…,RN表示N元组中第1最近,第2最近,…,第N最近块的DV,在对一帧图像进行编码前对N元组所有的DV都初始化为值(0,0)。

为了保持N元组的最近性(总是保存N个不重复最近编码块的DV),设X是采用非Merge模式编码的当前待编码DV,按照下列方式进行N元组的更新:

1) X等于N元组中某一个DV值的情况。由于X已经在N元组中,则在X不是第1最近DV的前提下,将X调整为第1最近的DV,并相应调整其他DV的顺序。具体调整过程为:设该DV在N元组的位置为i,若i≠1(不是最近块的DV),则将N元组在i位置的DV移至第1最近块的位置,i位置之前的DV依次往后移动一个位置。

2) X不等于N元组任一个DV的值的情况。由于X不在N元组中,则将X设置为第1最近的DV,按照先进先出的原则替换原来N元组中的第N最近块的DV。具体调整过程为:依次将第N-1最近块放置在第N最近块的位置,将X放置在第1最近块的位置。

2.2.3 基于区域划分与调整的DV直接编码方案

在IBC算法中,若当前编码DV采用非Merge模式编码,则采用AMVP模式编码。由于帧内匹配的机理与帧间匹配完全不同,帧内匹配的各DV之间并不一定具有很强的空间相关性,因此部分DV采用AMVP编码方案消耗的比特数比直接编码方案消耗的比特数还要多。直接编码方案是指直接编码DV是否为零位、符号位(是否为零位和符号位称为前缀)以及绝对值(后缀)。为了进一步提高编码效率,对于采用非Merge模式编码且不在N元组的当前编码DV,提出了基于区域划分与调整的DV直接编码方案。

表 1给出了基于区域划分的DV前缀编码方案,对不同的区域,通过省略是否为零位和符号位的部分前缀信息,提高编码效率。其中区域1表示DVy为零(DVy=0)的区域;区域2表示DVx为零(DVx=0)的区域;区域3表示DVy不为零并且DVx不为零的区域,用DVy!=0且DVx!=0表示。

表 1 基于区域划分的DV前缀编码方案
Table 1 DV prefix coding scheme based on region divisions

下载CSV
区域分类 前缀二值化
DVy是否为0 DVx是否为0 DVy符号位 DVx符号位
区域1(DVy = 0) 0 省略 省略 省略
区域2( DV x = 0) 1 0 省略 省略
区域3( DV y != 0且 DV x != 0) 1 1 0或1 0或1或省略

对于DV后缀的编码,对DV绝对值进行调整后再采用指数哥伦布进行编码。由于调整后的DV绝对值比原来的DV绝对值更小,采用指数哥伦布编码消耗的比特数可能减少,从而提高编码效率。设$\mathit{\boldsymbol{DV}}_x^{{\rm{adj}}} $$\mathit{\boldsymbol{DV}}_y^{{\rm{adj}}} $${\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x}} $${\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y}} $的绝对值进行调整后的数值,调整方式如下:

1) 如果${\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y}} $= 0,对于不划分的CU($ partSize$为0)和划分成两个水平PU的CU($ partSize$为1),则调整方式为

$ \mathit{\boldsymbol{DV}}_x^{{\rm{adj}}} = {\rm{abs}}\left({D{V_x}} \right) - partSize?w:w/2 $ (1)

式中,$w $为CU的宽度,$partSize?w:w/2 $为三元运算符,表示如果$ partSize$为1,则结果为$w $, 否则结果为$w/2 $

2) 如果${\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x}} $= 0,对于不划分的CU($partSize $为0)和划分成垂直水平PU的CU($ partSize$为1),则调整方式为

$ \mathit{\boldsymbol{DV}}_y^{{\rm{adj}}} = {\rm{abs}}\left({\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y}} \right) - partSize?w:w/2 $ (2)

基于区域划分与调整的DV直接编码算法的具体步骤如下:

输入:$\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x}, \mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y}, \mathit{\boldsymbol{DV}}_x^{{\rm{adj}}}, \mathit{\boldsymbol{DV}}_y^{{\rm{adj}}} $

输出:DV码流数据

编码$\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y} $是否为零位

IF ($\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y} $为零)

  编码$\mathit{\boldsymbol{DV}}_x^{{\rm{adj}}} $是否为零位;

  IF ($ \mathit{\boldsymbol{DV}}_x^{{\rm{adj}}}$不为零)

    EG5(abs($\mathit{\boldsymbol{DV}}_x^{{\rm{adj}}} $));

  END IF

ELSE

  编码$\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x} $是否为零位

  IF ($ \mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x}$为零)

    编码$\mathit{\boldsymbol{DV}}_y^{{\rm{adj}}} $是否为零位;

    IF ($\mathit{\boldsymbol{DV}}_y^{{\rm{adj}}} $不为零)

      EG5(abs($ \mathit{\boldsymbol{DV}}_y^{{\rm{adj}}}$)-1);

    END IF

  ELSE

    EG1(abs($\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x} $)-1);

    编码$ \mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x}$的符号位;

    EG1(abs($\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y} $)-1);

    IF($\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_x} $ < 0)

      编码$\mathit{\boldsymbol{D}}{\mathit{\boldsymbol{V}}_y} $的符号位;

    END IF

  END ELSE

  END IF

END ELSE

END IF

上述算法中,EG5、EG1分别表示5阶和1阶指数哥伦布编码,abs函数表示求绝对值。

3 实验结果与分析

提出的DV编码算法在最新HM-16.20-SCM8.8参考软件(JCT-VC,2019)的基础上,采用C++语言实现。测试数据集来自HEVC SCC标准测试集合(Yu等,2017)和AVS2 SCC标准测试集合(AVS工作组,2016)中的17个测试序列。本文提出的DV编码算法记为IBC_DVR算法,最新HEVC SCC中IBC算法采用的DV编码算法(JCT-VC,2019),记为IBC_DV算法。

所有实验都使用全帧内(all intra,AI)、随机访问(random access,RA)和低延迟(low delay B,LB)3种编码配置。为了衡量算法的总体编码效率,采用与HEVC的核心实验同样标准的BD-rate降低率(Bjøntegaard,2001)衡量有损编码效率,按不同的序列内容类别分别进行总体衡量和比较,主要用每个分量YUV的平均BD-rate降低率衡量算法的增益(负值表示增益)。

表 2是IBC_DV算法和IBC_DVR算法编码效率的比较。每行数据代表一个序列或一类序列。从表 2可知,AI配置TGM序列类别的Y分量的平均BD-rate降低率为1.04%,意味着在相同的峰值信噪比(peak signal to noise ratio,PSNR)取值下平均比特率节省1.04%。

表 2 IBC_DV算法与IBC-DVR算法编码效率比较(BD-rate)
Table 2 Comparison of coding efficiency between IBC_DV algorithm and IBC_DVR algorithm 

下载CSV
/%
测试序列分组 序列名称(缩写) 有损编码配置(IBC_DVR VS IBC_DV)
AI RA LB
Y U V Y U V Y U V
TGM flyg -0.36 -0.33 -0.15 -0.19 0.34 0.49 -0.48 -0.01 -0.44
TGM dsk -1.59 -1.00 -1.36 -2.16 -2.29 -2.39 -1.98 -2.02 -2.28
TGM cns -1.86 -2.19 -2.11 -1.04 -1.40 -1.45 -0.99 -1.36 -1.20
TGM ce -0.64 -0.85 -0.71 -0.58 -0.50 -0.51 -0.56 -0.45 -0.61
TGM cde -0.65 -0.75 -0.46 -1.36 -1.10 -0.84 -0.68 -0.77 -0.65
TGM ede -1.37 -1.69 -1.35 -0.83 -1.28 -1.36 -0.56 0.58 -0.68
TGM sps -1.86 -1.74 -1.65 -1.59 -1.51 -1.48 -1.24 -1.04 -0.91
TGM bsa -2.99 -2.94 -2.82 -2.71 -2.60 -2.60 -2.34 -2.37 -2.55
TGM clp -1.42 -1.34 -1.33 0.34 0.08 -2.06 -0.66 -0.99 -1.08
TGM webb -0.19 -0.23 -0.64 -0.42 -0.58 -0.21 -1.06 -0.83 -0.60
TGM map 0.24 -0.24 -0.17 0.15 0.30 0.71 0.06 -0.04 0.18
TGM prg -0.92 -0.88 -0.78 -0.17 -1.66 -0.95 -1.19 -1.35 -1.80
TGM ss 0.15 -0.46 -0.18 -0.75 -0.33 -1.13 -0.43 -0.15 0.18
MC bbs -0.46 -0.31 0.01 -0.41 0.33 -0.31 -0.14 -0.25 0.64
MC mcc2 -0.58 -0.57 -0.62 -0.59 -0.75 -0.70 -0.26 0.08 -0.56
MC mcc3 -0.58 -0.35 -0.47 -0.35 -0.66 0.15 -0.38 0.16 0.06
MC pvs -0.97 -1.35 -0.48 -0.68 0.91 -0.85 -0.19 1.08 -0.19
TGM类别平均BD-rate -1.04 -1.13 -1.05 -0.87 -0.96 -1.06 -0.93 -0.83 -0.96
MC类别平均BD-rate -0.65 -0.65 -0.39 -0.50 -0.04 -0.43 -0.24 -0.27 -0.01
注:加粗字体表示各列最优结果。

表 3给出了IBC_DV算法和IBC_DVR算法的复杂度比较。算法复杂度分别用国际标准制定工作中通用的编码、解码运行时间的比值衡量。算法在CPU为Intel(R)@ 2.3 GHz 20核,内存为80 GB的服务器上运行,每次实验同时执行17个任务,操作系统为windows 7(64位)。

表 3 Comparison of complexity between IBC_DV
Table 3 Comparison of complexity between IBC_DV algorithm and IBC_DVR algorithm 

下载CSV
/%
衡量指标 有损编码配置
AI RA LB
编码运行时间比值 96.23 99.21 98.83
解码运行时间比值 97.63 99.31 99.84

从以上实验结果,可以得出以下结论:

1) 从TGM和MC序列类别的平均编码效率来看,IBC_DVR算法总体上均表现出更好的编码效率。从表 2可知,IBC_DVR与IBC_DV相比,从平均编码效率来看,对于TGM数据类别,AI配置的Y分量的BD-rate降低率为1.04%,RA配置为0.87%,LB配置为0.93%;对于MC数据类别,AI配置的Y分量的BD-rate降低率为0.65%,RA配置为0.50%,LB配置为0.24%。

2) 从典型的单个屏幕图像序列的编码效率来看,对于部分屏幕图像序列,IBC_DVR与IBC_DV算法的编码效率提升非常明显,Y分量的BD-rate降低率最高可达2.99%。从表 2可知,对于bsa数据,IBC_DVR与IBC_DV相比,YUV分量的BD-rate降低率AI配置分别为2.99%、2.94%、2.82%;RA配置分别为2.71%、2.60%、2.60%;LB配置分别为2.34%、2.37%、2.55%。对于dsk和sps数据都有近2%左右的提升。对于少数序列(如map数据),部分分量的BD-rate降低率为正数,出现了编码效率反而降低的情况(尤其是LB配置),主要原因包括:(1)少数数据选择IBC模式进行编码的CU并不多,并且增加了标志位的比特数(用来标识N元组模式还是直接编码模式);(2)本文算法主要根据DV参数的帧内特性而提出,对AI配置效果比较好;在LB配置中,AMVP编码模式可能对IBC算法的帧内帧间混合编码(部分PU的DV来自非当前帧的参考块,部分PU的DV来自当前帧的参考块)更有效,因此出现少数数据编码效率反而降低的情况;(3)在IBC算法中,为了达到编码速度与效率之间的均衡,DV的选择仅与亮度分量的预测失真相关,但是DV模式的选择与各分量的预测失真相关,因此可能出现YUV分量的BD-rate未同时降低的情况。

3) 从表 3可知,IBC_DVR与IBC_DV算法相比,编解码时间复杂度基本一致。从空间复杂度来看,IBC_DVR需要在编解码端增加N元组的数组,由于N取值为8,空间复杂度的增加微乎其微。

4) IBC_DVR算法与编码效率的提升程度与屏幕图像类别相关。表 2表明,IBC_DVR算法对于TGM类别提升较多,MC类别的提升较少一些。实际上,专门针对典型屏幕图像的算法都有这一性质。

算法所涉及的源代码和实验结果可以从链接https://pan.baidu.com/s/1F44NgqL9Yo4a0figNm76SA中获得。

4 结论

屏幕图像编码的一个关键问题是如何提高编码效率。为了进一步提高屏幕图像的编码效率,本文根据IBC算法中DV的帧内相关性和固有匹配特性,提出了自适应预测方案(基于邻近块与最近块相结合预测方案)或直接编码方案(基于区域划分与调整的直接编码方案)的DV编码算法。与其他DV编码方法相比,提出的算法充分考虑了屏幕图像的特征,包括重复样图形成的机理、DV的匹配特性和空间相关性(包括邻近DV相关性和最近DV相关性),因此总体编码效率进一步提升。对于HEVC SCC和AVS2 SCC中的标准测试数据集合中的TGM与MC序列类别,在没有增加编解码复杂度的情况下,实验结果充分验证了提出的DV算法的有效性。随着屏幕内容编码技术大规模应用,屏幕共享和显示的大流量数据内容日益体现出多样化(如多屏分享)和复杂化(如高动态变化)的新特征,以屏幕为界面的强互动和个性化操作的需求也日趋重要。下一步的主要工作将围绕最新的国际视频标准VVC和AVS3等,探索屏幕图像的新特征、各种屏幕图像编码工具的新特征(包括RDcost特征、编码参数帧内和帧间的特征等)及其屏幕图像的特征与各种屏幕图像编码工具特征之间的内在关联,从而进一步提高屏幕内容编码的性能,满足屏幕内容编码应用的新需求。

参考文献

  • AVS Group. 2016. AVS-N2282. Common test condition for screen and mixed content coding in AVS2-P2. Hangzhou: 1-4 (AVS工作组. 2016. AVS-N2282, AVS2-P2屏幕与混合内容视频编码(SMCVC)通用测试条件.杭州: 1-4)
  • Bjøntegaard G. 2001. ITU-T SG16 Q.6 Document VCEG-M33. Calculation of Average PSNR Differences Between RD-Curves. Austin: 1-3
  • Chen J, Ye Y and Kim S. 2020. JVET-Q2002. Algorithm description for versatile video coding and test model 8 (VTM 8). Brussels: 1-92
  • JCT-VC. 2019. HEVC SCC test software[EB/OL].[2019-03-22]. https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-16.20+SCM-8.8/
  • Li Y M, Xu X Z, Chen Z Z, Liu S, Zhou Q Y, Zhao L P, Lin T, Zhou K L, Ye Z G, Yang Y F and Jiao M C. 2019. AVS M4859. Block-matching based screen and mixed content coding technology combining M4766 (IBC) and M4815 (single-string mode in Universal String Prediction). Chengdu: 1-5 (李一鸣, 许晓中, 陈震中, 刘杉, 周青阳, 赵利平, 林涛, 周开伦, 叶子高, 杨玉芬, 焦孟草. 2019. AVS M4859.融合M4766(IBC)、M4815(USP的单串模式)的基于块匹配的屏幕与混合内容编码技术.成都: 1-5)
  • Lin T, Zhang P J, Wang S H, Zhou K L, Chen X Y. 2013. Mixed chroma sampling-rate high efficiency video coding for full-chroma screen content. IEEE Transactions on Circuits and Systems for Video Technology, 23(1): 173-185 [DOI:10.1109/TCSVT.2012.2223871]
  • Ma S W, Luo F L, Huang T J. 2017. Kernel technologies and applications of AVS2 video coding standard. Telecommunications Science, (8): 2017245 (马思伟, 罗法蕾, 黄铁军. 2017. AVS2视频编码标准技术特色及应用. 电信科学, (8): 2017245)
  • Miyazawa K Y, Akira M Z and Sekiguchi S I. 2014. JCTVC-R0074. Non-SCCE1: adaptive switching between differential and direct coding for intra block copy vectors. Sapporo: 1-3
  • Pang C, Sole J, Chen Y, Karczewicz M, Xu X Z, Liu S, Chuang T D, Lei S M, Zhu L H, Xu J Z and Sullivan G J. 2014. JCTVC-R0309. Non-SCCE1: combination of JCTVC-R0185 and JCTVC-R0203//Proceedings of the 18th JCT-VC Meeting. Sapporo, Japan: [s.n.]: 1-7
  • Peng W H, Walls F G, Cohen R A, Xu J Z, Ostermann J, MacInnis A, Lin T. 2016. Overview of screen content video coding: technologies, standards, and beyond. IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 6(4): 393-408 [DOI:10.1109/JETCAS.2016.2608971]
  • Tourapis A M, Su Y and Singer D. 2015. JCTVC-U0142. Inter/Intra block copy unification: comments and observations. Warsaw: 1-3
  • Xu X Z, Liu S, Chuang T D and Lei S M. 2015. Block vector prediction for intra block copying in HEVC screen content coding//Proceedings of 2015 Data Compression Conference. Snowbird: IEEE: 273-282[DOI: 10.1109/DCC.2015.22]
  • Xu X Z, Liu S, Chuang T D, Huang Y W, Lei S M, Rapaka K, Pang C, Seregin V, Wang Y K, Karczewicz M. 2016. Intra block copy in HEVC screen content coding extensions. IEEE Journal on Emerging and Selected Topics in Circuits and Systems, 6(4): 409-419 [DOI:10.1109/JETCAS.2016.2597645]
  • Yu H P, Cohen R, Rapaka K and Xu J Z. 2017. JCTVC-Z1015. Common test conditions for screen content coding. Geneva: 1-8
  • Zhao L P, Lin T, Guo J, Zhou K L. 2019a. Universal string prediction-based inter coding algorithm optimization in AVS2 mixed content coding. Chinese Journal of Computers, 42(10): 2190-2202 (赵利平, 林涛, 郭靖, 周开伦. 2019a. 基于通用串预测算法的AVS2屏幕混合内容帧间编码优化. 计算机学报, 42(10): 2190-2202) [DOI:10.11897/SP.J.1016.2019.02190]
  • Zhao L P, Lin T, Zhou K L. 2017. An efficient ISC offset parameter coding algorithm in screen content coding. Chinese Journal of Computers, 40(5): 1218-1228 (赵利平, 林涛, 周开伦. 2017. 屏幕图像压缩中串复制位移参数的高效编码算法. 计算机学报, 40(5): 1218-1228) [DOI:10.11897/SP.J.1016.2017.01218]
  • Zhao L P, Lin T, Zhou K L, Wang S H, Chen X Y. 2016. Pseudo 2D string matching technique for high efficiency screen content coding. IEEE Transactions on Multimedia, 18(3): 339-350 [DOI:10.1109/TMM.2015.2512539]
  • Zhao L P, Zhou K L, Guo J, Cai W T, Lin T, Zhu R. 2018. Pixel string matching for full-chroma screen and mixed content coding in AVS2. Chinese Journal of Computers, 41(11): 2482-2495 (赵利平, 周开伦, 郭靖, 蔡文婷, 林涛, 朱蓉. 2018. 融合像素串匹配的AVS2全色度屏幕与混合内容视频编码算法. 计算机学报, 41(11): 2482-2495) [DOI:10.11897/SP.J.1016.2018.02482]
  • Zhao L P, Zhou K L, Guo J, Wang S H, Lin T. 2018. A universal string matching approach to screen content coding. IEEE Transactions on Multimedia, 20(4): 796-809 [DOI:10.1109/TMM.2017.2758519]
  • Zhao L P, Zhou K L, Lin T, Guo J. 2019b. A universal string prediction approach and its application in AVS2 mixed content coding. Chinese Journal of Computers, 42(9): 2100-2113 (赵利平, 周开伦, 林涛, 郭靖. 2019b. 通用串预测算法及在AVS2屏幕与混合内容视频编码中的应用. 计算机学报, 42(9): 2100-2113) [DOI:10.11897/SP.J.1016.2019.02100]