AVS3中的intra string copy(ISC)

Posted Dillon2015

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AVS3中的intra string copy(ISC)相关的知识,希望对你有一定的参考价值。

AVS3是AVS系列的最新标准,其中新增了一些SCC工具,intra string copy(ISC)就是其中之一。下图1是AVS3的编码框架,其中橙色部分是ISC,可见ISC分为两个子模式FPSP和EUSP。

图1 AVS3编码框架

ISP是AVS3中新增的技术,它作用于420格式。ISC是CU级工具用于宽和高小于等于32的CU,它有两种子模式:FPSP、EUSP。每个模式计算过程都包括两步:字符串搜索和字符串参数编码。

FPSP模式


FPSP模式中的字符串有两类:全匹配字符串(Fms)和部分匹配字符串(Pms)。Fms中每个字符都是匹配的,而Pms至少有一个字符不匹配通过pixel_match_type标志每个字符是否匹配。Fms和Pms都需要一个SV(string vector)来表示参考串的位置。Pms串的长度都是4,Fms的长度都是4的倍数。对于Pms中的不匹配像素直接编码其像素值。

图2左侧图像是FPSP是一个示例,8x8CU被分成两个字符串,数字1红色边框的属于字符串1,字符串1长度为60,SV为(-11,-1)。字符串1是Fms,解码端根据SV和长度到对应位置取60个字符即可重建字符串1。数字2绿色边框属于字符串2,字符串2是Pms,SV为(-2,1),pixel_match_type是(1,0,1,1),1表示和参考像素匹配0表示不匹配,对于不匹配的像素直接编码其像素值。

图2 ISC实例

EUSP模式


FPSP模式中的字符串有三类:Evs、Ubvs、Ups。Evs字符串中的所有字符都相同。Ubvs是匹配串,SV为(0,-1),且参考像素在当前CU内。Ups是不匹配串,直接编码像素值。Evs中所有像素都相同,像素值通过索引PV(Point Vector)从PvInfoList中获取,类似于HEVC palette中的palette table。

图2右侧部分是EUSP的示例,数字1蓝色边框的是字符串1,字符串1是Evs,它包含12个像素,每个像素都相同,像素值为PvInfoList中的第0个值。数字2黄色边框的是字符串2,它也是Evs,有11个像素,因为它的像素在PvInfoList中不存在,所以加入PvInfoList中。数字3橙色边框是字符串3,它是Ups,直接编码像素值。数字4紫色边框是字符串4,它是Ubvs包括40个像素,SV固定为(0,-1)。

实验结果


使用AVS3 CTC的12条420序列作为测试集,进行6组编码:

  1. HPM-SCCOff:HPM关闭SCC

  2. HPM-SCCOff+ISCOn:HPM SCC仅开ISC

  3. HPM-SCCOff+IBCOn:HPM SCC仅开IBC

  4. HPM-SCCOff+ISCOn+IBCOn:HPM SCC仅开ISC和IBC

  5. VTM-SCCOff:VTM关闭SCC

  6. VTM-SCCOff+IBCOn+PLTOn:VTM关闭SCC仅开IBC和PLT

实验配置为AI和LDB,HPM中QP=27,32,38,45,VTM中QP=22,27,32,37。结果如下表,

以上是关于AVS3中的intra string copy(ISC)的主要内容,如果未能解决你的问题,请参考以下文章

AVS3变换之IST和ISTS

AVS3变换之IST和ISTS

AVS3帧内预测

AVS3帧内预测

AVS3中的AMVR和EMVR

AVS3中的AMVR和EMVR