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组编码:
-
HPM-SCCOff:HPM关闭SCC
-
HPM-SCCOff+ISCOn:HPM SCC仅开ISC
-
HPM-SCCOff+IBCOn:HPM SCC仅开IBC
-
HPM-SCCOff+ISCOn+IBCOn:HPM SCC仅开ISC和IBC
-
VTM-SCCOff:VTM关闭SCC
-
VTM-SCCOff+IBCOn+PLTOn:VTM关闭SCC仅开IBC和PLT
实验配置为AI和LDB,HPM中QP={27,32,38,45},VTM中QP={22,27,32,37}。结果如下表,