AVS3
文章平均质量分 68
Dillon2015
从事视频编码的相关研究。
邮箱:13141211944@163.com
展开
-
AVS3:双向梯度修正BGC
其中,BigFlag和BigIdx为码流中传输的两个语法元素。BigFlag表示是否进行修正,BigIdx表示修正的方向,k表示修正强度,固定为3。如果当前CU为skip或direct模式,则BigFlag和BigIdx与其他运动信息一起从相邻块中获取或者从历史信息运动矢量列表中获取,不需要在码流中传输。双向梯度修正(Bi-directional Gradient Correction,BGC)是利用双向参考块间的差值对预测值进行修正的技术。(2)仅对像素数大于等于256的CU使用;原创 2023-11-07 22:53:29 · 2842 阅读 · 0 评论 -
AVS3:双向光流BIO
为了降低复杂度,认为每个簇(cluster)内所有像素有相同的运动矢量,而使用比簇更大的窗(window)可以提高计算得到的运动矢量的准确度。在BIO中,簇的尺寸为4x4,窗的尺寸是6x6,即4x4的簇的运动矢量 是根据以簇为中心窗进行计算得到的。传统的双向预测对两个已重建的块进行加权平均得到当前块的预测值,其中两个已编码的块一个来自于前向参考帧,另一个来自于后向参考帧。通过补偿小的像素区域的位移,BIO可以使用更大的块来编码从而节省码率,达到像素级预测的效果。前向参考帧和后向参考帧分别在当前帧的两侧。原创 2023-10-24 21:40:20 · 3120 阅读 · 0 评论 -
AVS3:DMVR
在双向预测中根据mv0和mv1分别从L0和L1的参考帧中获取预测块,但是需要拷贝的预测块尺寸为(W+7)*(H+7)作为搜索区域,其中W和H分别是块的宽和高。亚像素位置的计算使用整数位置最优位置、其左侧、其右侧、其上方、其下方共五处的模板匹配失真值,估计整数位置最优位置附近的二次失真平面,计算得到失真平面中失真最小的位置作为亚像素位置。对于每个子块,以初始mv0和mv1所对应的位置为中心,开始寻找周围[-2,2]范围内21个位置中前向和后向预测块之间SAD最小的位置。当前块为双向预测块;原创 2023-10-10 22:31:58 · 3595 阅读 · 0 评论 -
AVS3变换:PBT、ST和SBT
AVS3中非0残差子块的大小和位置有8种选择(在码流中传输这些信息),非0残差子块的变换按照子块的位置自适应选择DCT8/DST7变换作为水平变换和垂直变换。每个子块使用不同的变换类型,下表是每个子块对应的水平和垂直变换,1) SBT-V-1型:子块的宽为残差块的宽的1/2,高为残差块的高。2) SBT-V-2型:子块的宽为残差块的宽的1/4,高为残差块的高。3) SBT-H-1型:子块的高为残差块的高的1/2,宽为残差块的宽。4) SBT-H-2型:子块的高为残差块的高的1/4,宽为残差块的宽。原创 2023-08-29 21:05:41 · 4375 阅读 · 0 评论 -
AVS3:跨多通道预测PMC
跨通道预测技术用于去除不同通道间的冗余信息,TSCPM可以去除Y-Cb、Y-Cr通道间的冗余,然而却忽略了Cb-Cr间的冗余,而Cb-Cr间有时却有很强的相关性,因此提出了PMC(Preiction with Multicross Component),PMC利用Y和Cb来预测Cr。首先,图像头传输一个标志位,如果图像头标志位等于0,那么本图像的k为1或2;然后每个使用PMC模式的CU再传输一个标志位,从本图像的两个k值中确定一个。PMC中Cb的预测和TSCPM中一样,Cr的预测需要使用Y和Cb,如图2。原创 2023-08-08 22:00:11 · 4711 阅读 · 0 评论 -
AVS3:角度加权预测AWP
最终预测块由2个预测块加权得到,其中Fp(i,j)是坐标(i,j)处的最终预测值,M(i,j)第一个预测块在坐标(i,j)处的预测值,N(i,j)第二个预测块在坐标(i,j)处的预测值,Pw(i,j)是坐标(i,j)处的权重值。角度加权模式支持的最小块尺寸为8,最大块尺寸为64,共支持8种角度,这8种角度的斜率绝对值共五种,分别是{水平,垂直,1,2,1/2},每个角度支持7种参考权重配置,因此对于每个块而言,角度加权模式的模式数共有56种模式。AWP共支持8种角度,如图4,这8种角度的斜率绝对值共五种,原创 2023-07-04 23:39:13 · 5827 阅读 · 0 评论 -
AVS3:跨分量预测TSCPM
1. 如果当前块的正上侧和正左侧像素均可用,则2个像素点从上侧选择,另外2个像素点从左侧选择(0,-1),(W-max(1,r),-1),(-1,0),(-1,H-max(1,r))。H、W是宽高,r是长宽比。AVS3的TSCPM仅用于intra模式中,类似于VVC中的CCLM。3. 如果当前块只有左侧像素可用,则4个像素点均从正左侧选择,选择的位置为高度的:0/4,1/4,2/4,3/4。2. 如果当前块只有上侧可用,则4个像素点均从正上侧选择,选择的位置宽度为:0/4,1/4,2/4,3/4。原创 2023-06-06 21:53:17 · 6269 阅读 · 0 评论 -
AVS3:对称运动矢量差SMVD
若当前编码块采用帧间双向预测,并且第一个前向参考帧(记为POC_list0)、第一个后向参考帧(记为POC_list1)和当前帧(记为POC_Cur)满足镜像关系(即满足公式:POC_Cur – POC_list0 = POC_list1 – POC_Cur),则通过传输一个标识符(symmetric mode flag)指示是否采用SMVD模式。对于帧间预测来说,当视频内容较简单时编码残差的比特数可能会较少而编码运动信息的比特数占比可能会变高,此时编码运动信息的码率成为了压缩率的瓶颈。原创 2023-05-09 21:34:29 · 6594 阅读 · 1 评论 -
AVS3:高级运动向量表达UMVE
如图1所示,UMVE首先在已生成的候选中选择起始点,然后选择一个偏移方向,在这个方向上按一定距离偏移。UMVE的可选的起始点有2个,偏移方向有4个(上下左右),偏移距离五选一或八选一,由图像头中标识位决定,如下表所示。所以有2x4x5=40或2x4x8=64个候选项。两个起始点从已生成的候选集中选取,候选集由空域相邻块MV块构成,若不足两个则添加时域MV,若还是不足两个则用零向量填充。其中空域候选MV按F、G、C、A、D的顺序获取,如图2所示。UMVE是在已生成的运动候选基础上做偏移从而得到更优的候选集。原创 2023-03-28 22:08:28 · 7253 阅读 · 0 评论 -
AVS3中的ESAO
ESAO是在整帧的层面是对所有像素进行分类,然后对每一类像素分别传输一个偏移量进行偏移补偿,偏移量在[-7,7]之间。若周围像素比较当前像素大则cl自加1,若周围像素比较当前像素小则cl自减1。若周围像素比较当前像素大则cl自加1,若周围像素比较当前像素小则cl不变。c2的分类方法类似于SAO的边带补偿的分类方法,将像素按像素值等间隔的分为c2类,c2的大小由编码器决定,c1类的分类方法是将当前像素和相邻8个像素分别比较,分类模板如图1,色度只采用上面c2的分类方法,然后通过查表得到最终类别,原创 2023-03-14 22:48:40 · 7723 阅读 · 0 评论 -
AVS3中ECCSAO
CCSAO的目的在于减少色度的失真,首先将色度像素根据其对应的亮度重建像素进行分类,然后对不同类别生成对应的offset,然后对每个类别的色度像素补偿对应的offset。Fig.6是主观效果对比,(a)(b)是原始图像的Cr分量,(c)(d)是不开ECCSAO,可以看见很多细节都模糊或者丢失了,(e)(f)是开启ECCSAO后的效果可以看见纹理保留的更多。,通过不同通道间的预测来去除通道间的冗余以提升编码效率。根据公式(1)对色度像素分类,其中rl是重建的亮度像素,M是总类别数最大为16,I是对应的分类。原创 2023-02-21 21:39:26 · 9259 阅读 · 0 评论 -
AVS3变换系数编码:SRCC
在基于块的预测变换混合编码框架里,当一个块完成预测、变换和量化后会获得相应的变换系数,在对系数进行熵编码前需要将二维的变换系数先转化为一维,HEVC和AVS2的做法是先将变换块(TU)分成4x4的块,每个4x4的块称为系数组CG,然后对TB内的CG按照反向zig-zag扫描或反向垂直(水平)扫描,CG内的4x4系数按照同样的扫描方式,最终得到一维的变换系数。TU的扫描区域的右下角坐标的x轴坐标(SRx)是最右侧非零系数的x坐标,y轴坐标(SRy)是最下方的非零系数的y坐标,如下图。原创 2023-01-31 22:14:24 · 9103 阅读 · 0 评论 -
AVS3变换之IST和ISTS
IST(Implicit Selected Transform)是AVS3中新增的针对intra块的变换工具,IST对intra块提供了两种可分离的变换核,编码器根据RDO选择最优的变换核,但是对于选中的变换核不在码流中传输其索引,而是将其索引隐藏在非零变换系数的奇偶性中(Parity of the Number of Non-zero Cofficients,PNNC)。解码端统计非零变换系数数量然后按下表得到对应的变换核,如果是偶数就使用DCT-II,如果是奇数则使用DST-VII。原创 2023-01-03 21:49:55 · 9545 阅读 · 2 评论 -
AVS3中的AMVR和EMVR
EMVR将MVR和HMVP的索引绑定,绑定的规则基于这样的假设,离当前越近的MVP和当前的运动越相关。因此,MVR小的索引和MVP大的索引绑定,也即对越近的MVP使用的MV精度越高。当M=N时,如上图(a),MVR的索引0对应MVP的索引(M-1),MVR的索引(N-1)对应MVP的索引(M-N),此时对于MVR的每项HMVP中都有对应的MVP。CU的索引CPMV使用相同的精度。原创 2022-12-27 21:52:19 · 10034 阅读 · 0 评论 -
AVS3中的intra string copy(ISC)
图2右侧部分是EUSP的示例,数字1蓝色边框的是字符串1,字符串1是Evs,它包含12个像素,每个像素都相同,像素值为PvInfoList中的第0个值。数字2黄色边框的是字符串2,它也是Evs,有11个像素,因为它的像素在PvInfoList中不存在,所以加入PvInfoList中。图2左侧图像是FPSP是一个示例,8x8CU被分成两个字符串,数字1红色边框的属于字符串1,字符串1长度为60,SV为(-11,-1)。是(1,0,1,1),1表示和参考像素匹配0表示不匹配,对于不匹配的像素直接编码其像素值。原创 2022-11-29 20:51:26 · 10753 阅读 · 0 评论 -
AVS3帧间预测
据观察,当MV离MVP越近时它是最优的可能性越大,因此对于距离MVP近的MV给予更高的精度,远离MVP的MV给予更低的精度。预测编码类型是指帧间预测的不同预测方式,在AVS1中根据时域预测关系有两种帧类型:P帧和B帧,P帧只能进行前向预测,参考帧的播放顺序必须在当前帧之前,B帧进行双向预测,两个参考帧的播放顺序分别在当前帧之前和之后。AMVR(Adaptive MV Resolution):AVS3支持CU级的AMVR,对于CU在传输MV时其精度可以从1/4,1/2,1,2,4像素精度中选择。原创 2022-11-16 22:05:13 · 11879 阅读 · 0 评论 -
AVS3帧内预测
30种角度模式的分布范围为[-157.5°,60°],模式3到11仅使用上方参考像素,模式25到32仅使用左侧参考像素,模式13到23同时使用上方和左侧参考像素。AVS1支持8种角度模式,如图1(a),对于不同尺寸块使用的角度模式不同,对于4x4的intra块支持所有角度模式,对于8x8的块只能使用水平、垂直和对角线模式,对于8x8的intra块的亮度和色度分量还分别额外支持DC模式和plane模式。对于帧内模式的编码,AVS1采用MPM,MPM内有2个候选项,来自上方和左侧相邻块。原创 2022-11-01 22:33:24 · 12443 阅读 · 0 评论 -
AVS3编码块划分
AVS3支持更加灵活的划分方式,支持最大CTU尺寸为128x128,最小为4x4,除了支持四叉树和二叉树划分,还支持增强四叉树划分(Extended quad-tree partition,EQT),如图2所示。对于AVS1来说,intra macroblock固定为8x8大小,而inter macroblock为16x16,还可以划分为2个8x16块或2个16x8块,也可以划分为4个8x8块。DT划分仅针对intra模式的亮度分量,它在四叉树的叶子节点上进一步划分,有6种划分模式,如图3所示。原创 2022-10-25 21:12:57 · 12420 阅读 · 0 评论